memory-eternal 0.30.4 → 0.30.5

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/web/app.js CHANGED
@@ -1,22 +1,22 @@
1
- (()=>{var ug=Object.create;var Pd=Object.defineProperty;var mg=Object.getOwnPropertyDescriptor;var fg=Object.getOwnPropertyNames;var gg=Object.getPrototypeOf,hg=Object.prototype.hasOwnProperty;var Xn=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var yg=(e,t,n,a)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of fg(t))!hg.call(e,o)&&o!==n&&Pd(e,o,{get:()=>t[o],enumerable:!(a=mg(t,o))||a.enumerable});return e};var ur=(e,t,n)=>(n=e!=null?ug(gg(e)):{},yg(t||!e||!e.__esModule?Pd(n,"default",{value:e,enumerable:!0}):n,e));var $d=Xn(Be=>{"use strict";var Ua=Symbol.for("react.element"),vg=Symbol.for("react.portal"),bg=Symbol.for("react.fragment"),xg=Symbol.for("react.strict_mode"),wg=Symbol.for("react.profiler"),kg=Symbol.for("react.provider"),Sg=Symbol.for("react.context"),Cg=Symbol.for("react.forward_ref"),Ng=Symbol.for("react.suspense"),Tg=Symbol.for("react.memo"),Mg=Symbol.for("react.lazy"),Dd=Symbol.iterator;function Eg(e){return e===null||typeof e!="object"?null:(e=Dd&&e[Dd]||e["@@iterator"],typeof e=="function"?e:null)}var Id={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},_d=Object.assign,Od={};function ia(e,t,n){this.props=e,this.context=t,this.refs=Od,this.updater=n||Id}ia.prototype.isReactComponent={};ia.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")};ia.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function jd(){}jd.prototype=ia.prototype;function Fl(e,t,n){this.props=e,this.context=t,this.refs=Od,this.updater=n||Id}var Il=Fl.prototype=new jd;Il.constructor=Fl;_d(Il,ia.prototype);Il.isPureReactComponent=!0;var Ad=Array.isArray,Bd=Object.prototype.hasOwnProperty,_l={current:null},Hd={key:!0,ref:!0,__self:!0,__source:!0};function Wd(e,t,n){var a,o={},i=null,l=null;if(t!=null)for(a in t.ref!==void 0&&(l=t.ref),t.key!==void 0&&(i=""+t.key),t)Bd.call(t,a)&&!Hd.hasOwnProperty(a)&&(o[a]=t[a]);var s=arguments.length-2;if(s===1)o.children=n;else if(1<s){for(var c=Array(s),p=0;p<s;p++)c[p]=arguments[p+2];o.children=c}if(e&&e.defaultProps)for(a in s=e.defaultProps,s)o[a]===void 0&&(o[a]=s[a]);return{$$typeof:Ua,type:e,key:i,ref:l,props:o,_owner:_l.current}}function zg(e,t){return{$$typeof:Ua,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}function Ol(e){return typeof e=="object"&&e!==null&&e.$$typeof===Ua}function Rg(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(n){return t[n]})}var Fd=/\/+/g;function Al(e,t){return typeof e=="object"&&e!==null&&e.key!=null?Rg(""+e.key):t.toString(36)}function Go(e,t,n,a,o){var i=typeof e;(i==="undefined"||i==="boolean")&&(e=null);var l=!1;if(e===null)l=!0;else switch(i){case"string":case"number":l=!0;break;case"object":switch(e.$$typeof){case Ua:case vg:l=!0}}if(l)return l=e,o=o(l),e=a===""?"."+Al(l,0):a,Ad(o)?(n="",e!=null&&(n=e.replace(Fd,"$&/")+"/"),Go(o,t,n,"",function(p){return p})):o!=null&&(Ol(o)&&(o=zg(o,n+(!o.key||l&&l.key===o.key?"":(""+o.key).replace(Fd,"$&/")+"/")+e)),t.push(o)),1;if(l=0,a=a===""?".":a+":",Ad(e))for(var s=0;s<e.length;s++){i=e[s];var c=a+Al(i,s);l+=Go(i,t,n,c,o)}else if(c=Eg(e),typeof c=="function")for(e=c.call(e),s=0;!(i=e.next()).done;)i=i.value,c=a+Al(i,s++),l+=Go(i,t,n,c,o);else if(i==="object")throw t=String(e),Error("Objects are not valid as a React child (found: "+(t==="[object Object]"?"object with keys {"+Object.keys(e).join(", ")+"}":t)+"). If you meant to render a collection of children, use an array instead.");return l}function Vo(e,t,n){if(e==null)return e;var a=[],o=0;return Go(e,a,"","",function(i){return t.call(n,i,o++)}),a}function Lg(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(n){(e._status===0||e._status===-1)&&(e._status=1,e._result=n)},function(n){(e._status===0||e._status===-1)&&(e._status=2,e._result=n)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}var Ut={current:null},Ko={transition:null},Pg={ReactCurrentDispatcher:Ut,ReactCurrentBatchConfig:Ko,ReactCurrentOwner:_l};function Ud(){throw Error("act(...) is not supported in production builds of React.")}Be.Children={map:Vo,forEach:function(e,t,n){Vo(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return Vo(e,function(){t++}),t},toArray:function(e){return Vo(e,function(t){return t})||[]},only:function(e){if(!Ol(e))throw Error("React.Children.only expected to receive a single React element child.");return e}};Be.Component=ia;Be.Fragment=bg;Be.Profiler=wg;Be.PureComponent=Fl;Be.StrictMode=xg;Be.Suspense=Ng;Be.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=Pg;Be.act=Ud;Be.cloneElement=function(e,t,n){if(e==null)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+e+".");var a=_d({},e.props),o=e.key,i=e.ref,l=e._owner;if(t!=null){if(t.ref!==void 0&&(i=t.ref,l=_l.current),t.key!==void 0&&(o=""+t.key),e.type&&e.type.defaultProps)var s=e.type.defaultProps;for(c in t)Bd.call(t,c)&&!Hd.hasOwnProperty(c)&&(a[c]=t[c]===void 0&&s!==void 0?s[c]:t[c])}var c=arguments.length-2;if(c===1)a.children=n;else if(1<c){s=Array(c);for(var p=0;p<c;p++)s[p]=arguments[p+2];a.children=s}return{$$typeof:Ua,type:e.type,key:o,ref:i,props:a,_owner:l}};Be.createContext=function(e){return e={$$typeof:Sg,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null},e.Provider={$$typeof:kg,_context:e},e.Consumer=e};Be.createElement=Wd;Be.createFactory=function(e){var t=Wd.bind(null,e);return t.type=e,t};Be.createRef=function(){return{current:null}};Be.forwardRef=function(e){return{$$typeof:Cg,render:e}};Be.isValidElement=Ol;Be.lazy=function(e){return{$$typeof:Mg,_payload:{_status:-1,_result:e},_init:Lg}};Be.memo=function(e,t){return{$$typeof:Tg,type:e,compare:t===void 0?null:t}};Be.startTransition=function(e){var t=Ko.transition;Ko.transition={};try{e()}finally{Ko.transition=t}};Be.unstable_act=Ud;Be.useCallback=function(e,t){return Ut.current.useCallback(e,t)};Be.useContext=function(e){return Ut.current.useContext(e)};Be.useDebugValue=function(){};Be.useDeferredValue=function(e){return Ut.current.useDeferredValue(e)};Be.useEffect=function(e,t){return Ut.current.useEffect(e,t)};Be.useId=function(){return Ut.current.useId()};Be.useImperativeHandle=function(e,t,n){return Ut.current.useImperativeHandle(e,t,n)};Be.useInsertionEffect=function(e,t){return Ut.current.useInsertionEffect(e,t)};Be.useLayoutEffect=function(e,t){return Ut.current.useLayoutEffect(e,t)};Be.useMemo=function(e,t){return Ut.current.useMemo(e,t)};Be.useReducer=function(e,t,n){return Ut.current.useReducer(e,t,n)};Be.useRef=function(e){return Ut.current.useRef(e)};Be.useState=function(e){return Ut.current.useState(e)};Be.useSyncExternalStore=function(e,t,n){return Ut.current.useSyncExternalStore(e,t,n)};Be.useTransition=function(){return Ut.current.useTransition()};Be.version="18.3.1"});var $a=Xn((K0,Vd)=>{"use strict";Vd.exports=$d()});var tp=Xn(et=>{"use strict";function Wl(e,t){var n=e.length;e.push(t);e:for(;0<n;){var a=n-1>>>1,o=e[a];if(0<qo(o,t))e[a]=t,e[n]=o,n=a;else break e}}function Nn(e){return e.length===0?null:e[0]}function Qo(e){if(e.length===0)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;e:for(var a=0,o=e.length,i=o>>>1;a<i;){var l=2*(a+1)-1,s=e[l],c=l+1,p=e[c];if(0>qo(s,n))c<o&&0>qo(p,s)?(e[a]=p,e[c]=n,a=c):(e[a]=s,e[l]=n,a=l);else if(c<o&&0>qo(p,n))e[a]=p,e[c]=n,a=c;else break e}}return t}function qo(e,t){var n=e.sortIndex-t.sortIndex;return n!==0?n:e.id-t.id}typeof performance=="object"&&typeof performance.now=="function"?(Gd=performance,et.unstable_now=function(){return Gd.now()}):(jl=Date,Kd=jl.now(),et.unstable_now=function(){return jl.now()-Kd});var Gd,jl,Kd,Un=[],mr=[],Dg=1,un=null,Ft=3,Xo=!1,Hr=!1,Ga=!1,Qd=typeof setTimeout=="function"?setTimeout:null,Xd=typeof clearTimeout=="function"?clearTimeout:null,qd=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function Ul(e){for(var t=Nn(mr);t!==null;){if(t.callback===null)Qo(mr);else if(t.startTime<=e)Qo(mr),t.sortIndex=t.expirationTime,Wl(Un,t);else break;t=Nn(mr)}}function $l(e){if(Ga=!1,Ul(e),!Hr)if(Nn(Un)!==null)Hr=!0,Gl(Vl);else{var t=Nn(mr);t!==null&&Kl($l,t.startTime-e)}}function Vl(e,t){Hr=!1,Ga&&(Ga=!1,Xd(Ka),Ka=-1),Xo=!0;var n=Ft;try{for(Ul(t),un=Nn(Un);un!==null&&(!(un.expirationTime>t)||e&&!ep());){var a=un.callback;if(typeof a=="function"){un.callback=null,Ft=un.priorityLevel;var o=a(un.expirationTime<=t);t=et.unstable_now(),typeof o=="function"?un.callback=o:un===Nn(Un)&&Qo(Un),Ul(t)}else Qo(Un);un=Nn(Un)}if(un!==null)var i=!0;else{var l=Nn(mr);l!==null&&Kl($l,l.startTime-t),i=!1}return i}finally{un=null,Ft=n,Xo=!1}}var Jo=!1,Yo=null,Ka=-1,Jd=5,Zd=-1;function ep(){return!(et.unstable_now()-Zd<Jd)}function Bl(){if(Yo!==null){var e=et.unstable_now();Zd=e;var t=!0;try{t=Yo(!0,e)}finally{t?Va():(Jo=!1,Yo=null)}}else Jo=!1}var Va;typeof qd=="function"?Va=function(){qd(Bl)}:typeof MessageChannel<"u"?(Hl=new MessageChannel,Yd=Hl.port2,Hl.port1.onmessage=Bl,Va=function(){Yd.postMessage(null)}):Va=function(){Qd(Bl,0)};var Hl,Yd;function Gl(e){Yo=e,Jo||(Jo=!0,Va())}function Kl(e,t){Ka=Qd(function(){e(et.unstable_now())},t)}et.unstable_IdlePriority=5;et.unstable_ImmediatePriority=1;et.unstable_LowPriority=4;et.unstable_NormalPriority=3;et.unstable_Profiling=null;et.unstable_UserBlockingPriority=2;et.unstable_cancelCallback=function(e){e.callback=null};et.unstable_continueExecution=function(){Hr||Xo||(Hr=!0,Gl(Vl))};et.unstable_forceFrameRate=function(e){0>e||125<e?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):Jd=0<e?Math.floor(1e3/e):5};et.unstable_getCurrentPriorityLevel=function(){return Ft};et.unstable_getFirstCallbackNode=function(){return Nn(Un)};et.unstable_next=function(e){switch(Ft){case 1:case 2:case 3:var t=3;break;default:t=Ft}var n=Ft;Ft=t;try{return e()}finally{Ft=n}};et.unstable_pauseExecution=function(){};et.unstable_requestPaint=function(){};et.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=Ft;Ft=e;try{return t()}finally{Ft=n}};et.unstable_scheduleCallback=function(e,t,n){var a=et.unstable_now();switch(typeof n=="object"&&n!==null?(n=n.delay,n=typeof n=="number"&&0<n?a+n:a):n=a,e){case 1:var o=-1;break;case 2:o=250;break;case 5:o=1073741823;break;case 4:o=1e4;break;default:o=5e3}return o=n+o,e={id:Dg++,callback:t,priorityLevel:e,startTime:n,expirationTime:o,sortIndex:-1},n>a?(e.sortIndex=n,Wl(mr,e),Nn(Un)===null&&e===Nn(mr)&&(Ga?(Xd(Ka),Ka=-1):Ga=!0,Kl($l,n-a))):(e.sortIndex=o,Wl(Un,e),Hr||Xo||(Hr=!0,Gl(Vl))),e};et.unstable_shouldYield=ep;et.unstable_wrapCallback=function(e){var t=Ft;return function(){var n=Ft;Ft=t;try{return e.apply(this,arguments)}finally{Ft=n}}}});var rp=Xn((Y0,np)=>{"use strict";np.exports=tp()});var sf=Xn(on=>{"use strict";var Ag=$a(),rn=rp();function Y(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var du=new Set,ho={};function ea(e,t){Ma(e,t),Ma(e+"Capture",t)}function Ma(e,t){for(ho[e]=t,e=0;e<t.length;e++)du.add(t[e])}var rr=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),hs=Object.prototype.hasOwnProperty,Fg=/^[: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]*$/,ap={},op={};function Ig(e){return hs.call(op,e)?!0:hs.call(ap,e)?!1:Fg.test(e)?op[e]=!0:(ap[e]=!0,!1)}function _g(e,t,n,a){if(n!==null&&n.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return a?!1:n!==null?!n.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function Og(e,t,n,a){if(t===null||typeof t>"u"||_g(e,t,n,a))return!0;if(a)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function Gt(e,t,n,a,o,i,l){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=a,this.attributeNamespace=o,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=i,this.removeEmptyString=l}var Rt={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){Rt[e]=new Gt(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];Rt[t]=new Gt(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){Rt[e]=new Gt(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){Rt[e]=new Gt(e,2,!1,e,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){Rt[e]=new Gt(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){Rt[e]=new Gt(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){Rt[e]=new Gt(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){Rt[e]=new Gt(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){Rt[e]=new Gt(e,5,!1,e.toLowerCase(),null,!1,!1)});var sc=/[\-:]([a-z])/g;function cc(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(sc,cc);Rt[t]=new Gt(t,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(sc,cc);Rt[t]=new Gt(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(sc,cc);Rt[t]=new Gt(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){Rt[e]=new Gt(e,1,!1,e.toLowerCase(),null,!1,!1)});Rt.xlinkHref=new Gt("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){Rt[e]=new Gt(e,1,!1,e.toLowerCase(),null,!0,!0)});function dc(e,t,n,a){var o=Rt.hasOwnProperty(t)?Rt[t]:null;(o!==null?o.type!==0:a||!(2<t.length)||t[0]!=="o"&&t[0]!=="O"||t[1]!=="n"&&t[1]!=="N")&&(Og(t,n,o,a)&&(n=null),a||o===null?Ig(t)&&(n===null?e.removeAttribute(t):e.setAttribute(t,""+n)):o.mustUseProperty?e[o.propertyName]=n===null?o.type===3?!1:"":n:(t=o.attributeName,a=o.attributeNamespace,n===null?e.removeAttribute(t):(o=o.type,n=o===3||o===4&&n===!0?"":""+n,a?e.setAttributeNS(a,t,n):e.setAttribute(t,n))))}var lr=Ag.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,Zo=Symbol.for("react.element"),ca=Symbol.for("react.portal"),da=Symbol.for("react.fragment"),pc=Symbol.for("react.strict_mode"),ys=Symbol.for("react.profiler"),pu=Symbol.for("react.provider"),uu=Symbol.for("react.context"),uc=Symbol.for("react.forward_ref"),vs=Symbol.for("react.suspense"),bs=Symbol.for("react.suspense_list"),mc=Symbol.for("react.memo"),gr=Symbol.for("react.lazy");Symbol.for("react.scope");Symbol.for("react.debug_trace_mode");var mu=Symbol.for("react.offscreen");Symbol.for("react.legacy_hidden");Symbol.for("react.cache");Symbol.for("react.tracing_marker");var ip=Symbol.iterator;function qa(e){return e===null||typeof e!="object"?null:(e=ip&&e[ip]||e["@@iterator"],typeof e=="function"?e:null)}var dt=Object.assign,ql;function no(e){if(ql===void 0)try{throw Error()}catch(n){var t=n.stack.trim().match(/\n( *(at )?)/);ql=t&&t[1]||""}return`
1
+ (()=>{var ug=Object.create;var Pd=Object.defineProperty;var mg=Object.getOwnPropertyDescriptor;var fg=Object.getOwnPropertyNames;var gg=Object.getPrototypeOf,hg=Object.prototype.hasOwnProperty;var Yn=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var yg=(e,t,n,a)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of fg(t))!hg.call(e,o)&&o!==n&&Pd(e,o,{get:()=>t[o],enumerable:!(a=mg(t,o))||a.enumerable});return e};var ur=(e,t,n)=>(n=e!=null?ug(gg(e)):{},yg(t||!e||!e.__esModule?Pd(n,"default",{value:e,enumerable:!0}):n,e));var $d=Yn(Fe=>{"use strict";var Ua=Symbol.for("react.element"),vg=Symbol.for("react.portal"),bg=Symbol.for("react.fragment"),xg=Symbol.for("react.strict_mode"),wg=Symbol.for("react.profiler"),kg=Symbol.for("react.provider"),Sg=Symbol.for("react.context"),Cg=Symbol.for("react.forward_ref"),Ng=Symbol.for("react.suspense"),Tg=Symbol.for("react.memo"),Mg=Symbol.for("react.lazy"),Dd=Symbol.iterator;function Eg(e){return e===null||typeof e!="object"?null:(e=Dd&&e[Dd]||e["@@iterator"],typeof e=="function"?e:null)}var Id={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},_d=Object.assign,Od={};function ia(e,t,n){this.props=e,this.context=t,this.refs=Od,this.updater=n||Id}ia.prototype.isReactComponent={};ia.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")};ia.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function jd(){}jd.prototype=ia.prototype;function Fl(e,t,n){this.props=e,this.context=t,this.refs=Od,this.updater=n||Id}var Il=Fl.prototype=new jd;Il.constructor=Fl;_d(Il,ia.prototype);Il.isPureReactComponent=!0;var Ad=Array.isArray,Bd=Object.prototype.hasOwnProperty,_l={current:null},Hd={key:!0,ref:!0,__self:!0,__source:!0};function Wd(e,t,n){var a,o={},i=null,l=null;if(t!=null)for(a in t.ref!==void 0&&(l=t.ref),t.key!==void 0&&(i=""+t.key),t)Bd.call(t,a)&&!Hd.hasOwnProperty(a)&&(o[a]=t[a]);var s=arguments.length-2;if(s===1)o.children=n;else if(1<s){for(var c=Array(s),p=0;p<s;p++)c[p]=arguments[p+2];o.children=c}if(e&&e.defaultProps)for(a in s=e.defaultProps,s)o[a]===void 0&&(o[a]=s[a]);return{$$typeof:Ua,type:e,key:i,ref:l,props:o,_owner:_l.current}}function zg(e,t){return{$$typeof:Ua,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}function Ol(e){return typeof e=="object"&&e!==null&&e.$$typeof===Ua}function Rg(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(n){return t[n]})}var Fd=/\/+/g;function Al(e,t){return typeof e=="object"&&e!==null&&e.key!=null?Rg(""+e.key):t.toString(36)}function Go(e,t,n,a,o){var i=typeof e;(i==="undefined"||i==="boolean")&&(e=null);var l=!1;if(e===null)l=!0;else switch(i){case"string":case"number":l=!0;break;case"object":switch(e.$$typeof){case Ua:case vg:l=!0}}if(l)return l=e,o=o(l),e=a===""?"."+Al(l,0):a,Ad(o)?(n="",e!=null&&(n=e.replace(Fd,"$&/")+"/"),Go(o,t,n,"",function(p){return p})):o!=null&&(Ol(o)&&(o=zg(o,n+(!o.key||l&&l.key===o.key?"":(""+o.key).replace(Fd,"$&/")+"/")+e)),t.push(o)),1;if(l=0,a=a===""?".":a+":",Ad(e))for(var s=0;s<e.length;s++){i=e[s];var c=a+Al(i,s);l+=Go(i,t,n,c,o)}else if(c=Eg(e),typeof c=="function")for(e=c.call(e),s=0;!(i=e.next()).done;)i=i.value,c=a+Al(i,s++),l+=Go(i,t,n,c,o);else if(i==="object")throw t=String(e),Error("Objects are not valid as a React child (found: "+(t==="[object Object]"?"object with keys {"+Object.keys(e).join(", ")+"}":t)+"). If you meant to render a collection of children, use an array instead.");return l}function Vo(e,t,n){if(e==null)return e;var a=[],o=0;return Go(e,a,"","",function(i){return t.call(n,i,o++)}),a}function Lg(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(n){(e._status===0||e._status===-1)&&(e._status=1,e._result=n)},function(n){(e._status===0||e._status===-1)&&(e._status=2,e._result=n)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}var Ut={current:null},Ko={transition:null},Pg={ReactCurrentDispatcher:Ut,ReactCurrentBatchConfig:Ko,ReactCurrentOwner:_l};function Ud(){throw Error("act(...) is not supported in production builds of React.")}Fe.Children={map:Vo,forEach:function(e,t,n){Vo(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return Vo(e,function(){t++}),t},toArray:function(e){return Vo(e,function(t){return t})||[]},only:function(e){if(!Ol(e))throw Error("React.Children.only expected to receive a single React element child.");return e}};Fe.Component=ia;Fe.Fragment=bg;Fe.Profiler=wg;Fe.PureComponent=Fl;Fe.StrictMode=xg;Fe.Suspense=Ng;Fe.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=Pg;Fe.act=Ud;Fe.cloneElement=function(e,t,n){if(e==null)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+e+".");var a=_d({},e.props),o=e.key,i=e.ref,l=e._owner;if(t!=null){if(t.ref!==void 0&&(i=t.ref,l=_l.current),t.key!==void 0&&(o=""+t.key),e.type&&e.type.defaultProps)var s=e.type.defaultProps;for(c in t)Bd.call(t,c)&&!Hd.hasOwnProperty(c)&&(a[c]=t[c]===void 0&&s!==void 0?s[c]:t[c])}var c=arguments.length-2;if(c===1)a.children=n;else if(1<c){s=Array(c);for(var p=0;p<c;p++)s[p]=arguments[p+2];a.children=s}return{$$typeof:Ua,type:e.type,key:o,ref:i,props:a,_owner:l}};Fe.createContext=function(e){return e={$$typeof:Sg,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null},e.Provider={$$typeof:kg,_context:e},e.Consumer=e};Fe.createElement=Wd;Fe.createFactory=function(e){var t=Wd.bind(null,e);return t.type=e,t};Fe.createRef=function(){return{current:null}};Fe.forwardRef=function(e){return{$$typeof:Cg,render:e}};Fe.isValidElement=Ol;Fe.lazy=function(e){return{$$typeof:Mg,_payload:{_status:-1,_result:e},_init:Lg}};Fe.memo=function(e,t){return{$$typeof:Tg,type:e,compare:t===void 0?null:t}};Fe.startTransition=function(e){var t=Ko.transition;Ko.transition={};try{e()}finally{Ko.transition=t}};Fe.unstable_act=Ud;Fe.useCallback=function(e,t){return Ut.current.useCallback(e,t)};Fe.useContext=function(e){return Ut.current.useContext(e)};Fe.useDebugValue=function(){};Fe.useDeferredValue=function(e){return Ut.current.useDeferredValue(e)};Fe.useEffect=function(e,t){return Ut.current.useEffect(e,t)};Fe.useId=function(){return Ut.current.useId()};Fe.useImperativeHandle=function(e,t,n){return Ut.current.useImperativeHandle(e,t,n)};Fe.useInsertionEffect=function(e,t){return Ut.current.useInsertionEffect(e,t)};Fe.useLayoutEffect=function(e,t){return Ut.current.useLayoutEffect(e,t)};Fe.useMemo=function(e,t){return Ut.current.useMemo(e,t)};Fe.useReducer=function(e,t,n){return Ut.current.useReducer(e,t,n)};Fe.useRef=function(e){return Ut.current.useRef(e)};Fe.useState=function(e){return Ut.current.useState(e)};Fe.useSyncExternalStore=function(e,t,n){return Ut.current.useSyncExternalStore(e,t,n)};Fe.useTransition=function(){return Ut.current.useTransition()};Fe.version="18.3.1"});var $a=Yn((K0,Vd)=>{"use strict";Vd.exports=$d()});var tp=Yn(Ze=>{"use strict";function Wl(e,t){var n=e.length;e.push(t);e:for(;0<n;){var a=n-1>>>1,o=e[a];if(0<qo(o,t))e[a]=t,e[n]=o,n=a;else break e}}function Tn(e){return e.length===0?null:e[0]}function Qo(e){if(e.length===0)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;e:for(var a=0,o=e.length,i=o>>>1;a<i;){var l=2*(a+1)-1,s=e[l],c=l+1,p=e[c];if(0>qo(s,n))c<o&&0>qo(p,s)?(e[a]=p,e[c]=n,a=c):(e[a]=s,e[l]=n,a=l);else if(c<o&&0>qo(p,n))e[a]=p,e[c]=n,a=c;else break e}}return t}function qo(e,t){var n=e.sortIndex-t.sortIndex;return n!==0?n:e.id-t.id}typeof performance=="object"&&typeof performance.now=="function"?(Gd=performance,Ze.unstable_now=function(){return Gd.now()}):(jl=Date,Kd=jl.now(),Ze.unstable_now=function(){return jl.now()-Kd});var Gd,jl,Kd,Wn=[],mr=[],Dg=1,fn=null,It=3,Xo=!1,Hr=!1,Ga=!1,Qd=typeof setTimeout=="function"?setTimeout:null,Xd=typeof clearTimeout=="function"?clearTimeout:null,qd=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function Ul(e){for(var t=Tn(mr);t!==null;){if(t.callback===null)Qo(mr);else if(t.startTime<=e)Qo(mr),t.sortIndex=t.expirationTime,Wl(Wn,t);else break;t=Tn(mr)}}function $l(e){if(Ga=!1,Ul(e),!Hr)if(Tn(Wn)!==null)Hr=!0,Gl(Vl);else{var t=Tn(mr);t!==null&&Kl($l,t.startTime-e)}}function Vl(e,t){Hr=!1,Ga&&(Ga=!1,Xd(Ka),Ka=-1),Xo=!0;var n=It;try{for(Ul(t),fn=Tn(Wn);fn!==null&&(!(fn.expirationTime>t)||e&&!ep());){var a=fn.callback;if(typeof a=="function"){fn.callback=null,It=fn.priorityLevel;var o=a(fn.expirationTime<=t);t=Ze.unstable_now(),typeof o=="function"?fn.callback=o:fn===Tn(Wn)&&Qo(Wn),Ul(t)}else Qo(Wn);fn=Tn(Wn)}if(fn!==null)var i=!0;else{var l=Tn(mr);l!==null&&Kl($l,l.startTime-t),i=!1}return i}finally{fn=null,It=n,Xo=!1}}var Jo=!1,Yo=null,Ka=-1,Jd=5,Zd=-1;function ep(){return!(Ze.unstable_now()-Zd<Jd)}function Bl(){if(Yo!==null){var e=Ze.unstable_now();Zd=e;var t=!0;try{t=Yo(!0,e)}finally{t?Va():(Jo=!1,Yo=null)}}else Jo=!1}var Va;typeof qd=="function"?Va=function(){qd(Bl)}:typeof MessageChannel<"u"?(Hl=new MessageChannel,Yd=Hl.port2,Hl.port1.onmessage=Bl,Va=function(){Yd.postMessage(null)}):Va=function(){Qd(Bl,0)};var Hl,Yd;function Gl(e){Yo=e,Jo||(Jo=!0,Va())}function Kl(e,t){Ka=Qd(function(){e(Ze.unstable_now())},t)}Ze.unstable_IdlePriority=5;Ze.unstable_ImmediatePriority=1;Ze.unstable_LowPriority=4;Ze.unstable_NormalPriority=3;Ze.unstable_Profiling=null;Ze.unstable_UserBlockingPriority=2;Ze.unstable_cancelCallback=function(e){e.callback=null};Ze.unstable_continueExecution=function(){Hr||Xo||(Hr=!0,Gl(Vl))};Ze.unstable_forceFrameRate=function(e){0>e||125<e?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):Jd=0<e?Math.floor(1e3/e):5};Ze.unstable_getCurrentPriorityLevel=function(){return It};Ze.unstable_getFirstCallbackNode=function(){return Tn(Wn)};Ze.unstable_next=function(e){switch(It){case 1:case 2:case 3:var t=3;break;default:t=It}var n=It;It=t;try{return e()}finally{It=n}};Ze.unstable_pauseExecution=function(){};Ze.unstable_requestPaint=function(){};Ze.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=It;It=e;try{return t()}finally{It=n}};Ze.unstable_scheduleCallback=function(e,t,n){var a=Ze.unstable_now();switch(typeof n=="object"&&n!==null?(n=n.delay,n=typeof n=="number"&&0<n?a+n:a):n=a,e){case 1:var o=-1;break;case 2:o=250;break;case 5:o=1073741823;break;case 4:o=1e4;break;default:o=5e3}return o=n+o,e={id:Dg++,callback:t,priorityLevel:e,startTime:n,expirationTime:o,sortIndex:-1},n>a?(e.sortIndex=n,Wl(mr,e),Tn(Wn)===null&&e===Tn(mr)&&(Ga?(Xd(Ka),Ka=-1):Ga=!0,Kl($l,n-a))):(e.sortIndex=o,Wl(Wn,e),Hr||Xo||(Hr=!0,Gl(Vl))),e};Ze.unstable_shouldYield=ep;Ze.unstable_wrapCallback=function(e){var t=It;return function(){var n=It;It=t;try{return e.apply(this,arguments)}finally{It=n}}}});var rp=Yn((Y0,np)=>{"use strict";np.exports=tp()});var sf=Yn(cn=>{"use strict";var Ag=$a(),ln=rp();function Q(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var du=new Set,ho={};function ea(e,t){Ma(e,t),Ma(e+"Capture",t)}function Ma(e,t){for(ho[e]=t,e=0;e<t.length;e++)du.add(t[e])}var tr=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),hs=Object.prototype.hasOwnProperty,Fg=/^[: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]*$/,ap={},op={};function Ig(e){return hs.call(op,e)?!0:hs.call(ap,e)?!1:Fg.test(e)?op[e]=!0:(ap[e]=!0,!1)}function _g(e,t,n,a){if(n!==null&&n.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return a?!1:n!==null?!n.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function Og(e,t,n,a){if(t===null||typeof t>"u"||_g(e,t,n,a))return!0;if(a)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function Gt(e,t,n,a,o,i,l){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=a,this.attributeNamespace=o,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=i,this.removeEmptyString=l}var Dt={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){Dt[e]=new Gt(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];Dt[t]=new Gt(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){Dt[e]=new Gt(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){Dt[e]=new Gt(e,2,!1,e,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){Dt[e]=new Gt(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){Dt[e]=new Gt(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){Dt[e]=new Gt(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){Dt[e]=new Gt(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){Dt[e]=new Gt(e,5,!1,e.toLowerCase(),null,!1,!1)});var sc=/[\-:]([a-z])/g;function cc(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(sc,cc);Dt[t]=new Gt(t,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(sc,cc);Dt[t]=new Gt(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(sc,cc);Dt[t]=new Gt(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){Dt[e]=new Gt(e,1,!1,e.toLowerCase(),null,!1,!1)});Dt.xlinkHref=new Gt("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){Dt[e]=new Gt(e,1,!1,e.toLowerCase(),null,!0,!0)});function dc(e,t,n,a){var o=Dt.hasOwnProperty(t)?Dt[t]:null;(o!==null?o.type!==0:a||!(2<t.length)||t[0]!=="o"&&t[0]!=="O"||t[1]!=="n"&&t[1]!=="N")&&(Og(t,n,o,a)&&(n=null),a||o===null?Ig(t)&&(n===null?e.removeAttribute(t):e.setAttribute(t,""+n)):o.mustUseProperty?e[o.propertyName]=n===null?o.type===3?!1:"":n:(t=o.attributeName,a=o.attributeNamespace,n===null?e.removeAttribute(t):(o=o.type,n=o===3||o===4&&n===!0?"":""+n,a?e.setAttributeNS(a,t,n):e.setAttribute(t,n))))}var or=Ag.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,Zo=Symbol.for("react.element"),ca=Symbol.for("react.portal"),da=Symbol.for("react.fragment"),pc=Symbol.for("react.strict_mode"),ys=Symbol.for("react.profiler"),pu=Symbol.for("react.provider"),uu=Symbol.for("react.context"),uc=Symbol.for("react.forward_ref"),vs=Symbol.for("react.suspense"),bs=Symbol.for("react.suspense_list"),mc=Symbol.for("react.memo"),gr=Symbol.for("react.lazy");Symbol.for("react.scope");Symbol.for("react.debug_trace_mode");var mu=Symbol.for("react.offscreen");Symbol.for("react.legacy_hidden");Symbol.for("react.cache");Symbol.for("react.tracing_marker");var ip=Symbol.iterator;function qa(e){return e===null||typeof e!="object"?null:(e=ip&&e[ip]||e["@@iterator"],typeof e=="function"?e:null)}var ct=Object.assign,ql;function no(e){if(ql===void 0)try{throw Error()}catch(n){var t=n.stack.trim().match(/\n( *(at )?)/);ql=t&&t[1]||""}return`
2
2
  `+ql+e}var Yl=!1;function Ql(e,t){if(!e||Yl)return"";Yl=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(t)if(t=function(){throw Error()},Object.defineProperty(t.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(t,[])}catch(p){var a=p}Reflect.construct(e,[],t)}else{try{t.call()}catch(p){a=p}e.call(t.prototype)}else{try{throw Error()}catch(p){a=p}e()}}catch(p){if(p&&a&&typeof p.stack=="string"){for(var o=p.stack.split(`
3
3
  `),i=a.stack.split(`
4
4
  `),l=o.length-1,s=i.length-1;1<=l&&0<=s&&o[l]!==i[s];)s--;for(;1<=l&&0<=s;l--,s--)if(o[l]!==i[s]){if(l!==1||s!==1)do if(l--,s--,0>s||o[l]!==i[s]){var c=`
5
- `+o[l].replace(" at new "," at ");return e.displayName&&c.includes("<anonymous>")&&(c=c.replace("<anonymous>",e.displayName)),c}while(1<=l&&0<=s);break}}}finally{Yl=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?no(e):""}function jg(e){switch(e.tag){case 5:return no(e.type);case 16:return no("Lazy");case 13:return no("Suspense");case 19:return no("SuspenseList");case 0:case 2:case 15:return e=Ql(e.type,!1),e;case 11:return e=Ql(e.type.render,!1),e;case 1:return e=Ql(e.type,!0),e;default:return""}}function xs(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case da:return"Fragment";case ca:return"Portal";case ys:return"Profiler";case pc:return"StrictMode";case vs:return"Suspense";case bs:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case uu:return(e.displayName||"Context")+".Consumer";case pu:return(e._context.displayName||"Context")+".Provider";case uc:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case mc:return t=e.displayName||null,t!==null?t:xs(e.type)||"Memo";case gr:t=e._payload,e=e._init;try{return xs(e(t))}catch{}}return null}function Bg(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return xs(t);case 8:return t===pc?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function zr(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function fu(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function Hg(e){var t=fu(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),a=""+e[t];if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var o=n.get,i=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return o.call(this)},set:function(l){a=""+l,i.call(this,l)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return a},setValue:function(l){a=""+l},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function ei(e){e._valueTracker||(e._valueTracker=Hg(e))}function gu(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),a="";return e&&(a=fu(e)?e.checked?"true":"false":e.value),e=a,e!==n?(t.setValue(e),!0):!1}function Ei(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function ws(e,t){var n=t.checked;return dt({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function lp(e,t){var n=t.defaultValue==null?"":t.defaultValue,a=t.checked!=null?t.checked:t.defaultChecked;n=zr(t.value!=null?t.value:n),e._wrapperState={initialChecked:a,initialValue:n,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function hu(e,t){t=t.checked,t!=null&&dc(e,"checked",t,!1)}function ks(e,t){hu(e,t);var n=zr(t.value),a=t.type;if(n!=null)a==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if(a==="submit"||a==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?Ss(e,t.type,n):t.hasOwnProperty("defaultValue")&&Ss(e,t.type,zr(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function sp(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var a=t.type;if(!(a!=="submit"&&a!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,n!==""&&(e.name=n)}function Ss(e,t,n){(t!=="number"||Ei(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var ro=Array.isArray;function wa(e,t,n,a){if(e=e.options,t){t={};for(var o=0;o<n.length;o++)t["$"+n[o]]=!0;for(n=0;n<e.length;n++)o=t.hasOwnProperty("$"+e[n].value),e[n].selected!==o&&(e[n].selected=o),o&&a&&(e[n].defaultSelected=!0)}else{for(n=""+zr(n),t=null,o=0;o<e.length;o++){if(e[o].value===n){e[o].selected=!0,a&&(e[o].defaultSelected=!0);return}t!==null||e[o].disabled||(t=e[o])}t!==null&&(t.selected=!0)}}function Cs(e,t){if(t.dangerouslySetInnerHTML!=null)throw Error(Y(91));return dt({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function cp(e,t){var n=t.value;if(n==null){if(n=t.children,t=t.defaultValue,n!=null){if(t!=null)throw Error(Y(92));if(ro(n)){if(1<n.length)throw Error(Y(93));n=n[0]}t=n}t==null&&(t=""),n=t}e._wrapperState={initialValue:zr(n)}}function yu(e,t){var n=zr(t.value),a=zr(t.defaultValue);n!=null&&(n=""+n,n!==e.value&&(e.value=n),t.defaultValue==null&&e.defaultValue!==n&&(e.defaultValue=n)),a!=null&&(e.defaultValue=""+a)}function dp(e){var t=e.textContent;t===e._wrapperState.initialValue&&t!==""&&t!==null&&(e.value=t)}function vu(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function Ns(e,t){return e==null||e==="http://www.w3.org/1999/xhtml"?vu(t):e==="http://www.w3.org/2000/svg"&&t==="foreignObject"?"http://www.w3.org/1999/xhtml":e}var ti,bu=function(e){return typeof MSApp<"u"&&MSApp.execUnsafeLocalFunction?function(t,n,a,o){MSApp.execUnsafeLocalFunction(function(){return e(t,n,a,o)})}:e}(function(e,t){if(e.namespaceURI!=="http://www.w3.org/2000/svg"||"innerHTML"in e)e.innerHTML=t;else{for(ti=ti||document.createElement("div"),ti.innerHTML="<svg>"+t.valueOf().toString()+"</svg>",t=ti.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function yo(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var io={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},Wg=["Webkit","ms","Moz","O"];Object.keys(io).forEach(function(e){Wg.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),io[t]=io[e]})});function xu(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||io.hasOwnProperty(e)&&io[e]?(""+t).trim():t+"px"}function wu(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var a=n.indexOf("--")===0,o=xu(n,t[n],a);n==="float"&&(n="cssFloat"),a?e.setProperty(n,o):e[n]=o}}var Ug=dt({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function Ts(e,t){if(t){if(Ug[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(Y(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(Y(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(Y(61))}if(t.style!=null&&typeof t.style!="object")throw Error(Y(62))}}function Ms(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var Es=null;function fc(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var zs=null,ka=null,Sa=null;function pp(e){if(e=Fo(e)){if(typeof zs!="function")throw Error(Y(280));var t=e.stateNode;t&&(t=nl(t),zs(e.stateNode,e.type,t))}}function ku(e){ka?Sa?Sa.push(e):Sa=[e]:ka=e}function Su(){if(ka){var e=ka,t=Sa;if(Sa=ka=null,pp(e),t)for(e=0;e<t.length;e++)pp(t[e])}}function Cu(e,t){return e(t)}function Nu(){}var Xl=!1;function Tu(e,t,n){if(Xl)return e(t,n);Xl=!0;try{return Cu(e,t,n)}finally{Xl=!1,(ka!==null||Sa!==null)&&(Nu(),Su())}}function vo(e,t){var n=e.stateNode;if(n===null)return null;var a=nl(n);if(a===null)return null;n=a[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(a=!a.disabled)||(e=e.type,a=!(e==="button"||e==="input"||e==="select"||e==="textarea")),e=!a;break e;default:e=!1}if(e)return null;if(n&&typeof n!="function")throw Error(Y(231,t,typeof n));return n}var Rs=!1;if(rr)try{la={},Object.defineProperty(la,"passive",{get:function(){Rs=!0}}),window.addEventListener("test",la,la),window.removeEventListener("test",la,la)}catch{Rs=!1}var la;function $g(e,t,n,a,o,i,l,s,c){var p=Array.prototype.slice.call(arguments,3);try{t.apply(n,p)}catch(f){this.onError(f)}}var lo=!1,zi=null,Ri=!1,Ls=null,Vg={onError:function(e){lo=!0,zi=e}};function Gg(e,t,n,a,o,i,l,s,c){lo=!1,zi=null,$g.apply(Vg,arguments)}function Kg(e,t,n,a,o,i,l,s,c){if(Gg.apply(this,arguments),lo){if(lo){var p=zi;lo=!1,zi=null}else throw Error(Y(198));Ri||(Ri=!0,Ls=p)}}function ta(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,t.flags&4098&&(n=t.return),e=t.return;while(e)}return t.tag===3?n:null}function Mu(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function up(e){if(ta(e)!==e)throw Error(Y(188))}function qg(e){var t=e.alternate;if(!t){if(t=ta(e),t===null)throw Error(Y(188));return t!==e?null:e}for(var n=e,a=t;;){var o=n.return;if(o===null)break;var i=o.alternate;if(i===null){if(a=o.return,a!==null){n=a;continue}break}if(o.child===i.child){for(i=o.child;i;){if(i===n)return up(o),e;if(i===a)return up(o),t;i=i.sibling}throw Error(Y(188))}if(n.return!==a.return)n=o,a=i;else{for(var l=!1,s=o.child;s;){if(s===n){l=!0,n=o,a=i;break}if(s===a){l=!0,a=o,n=i;break}s=s.sibling}if(!l){for(s=i.child;s;){if(s===n){l=!0,n=i,a=o;break}if(s===a){l=!0,a=i,n=o;break}s=s.sibling}if(!l)throw Error(Y(189))}}if(n.alternate!==a)throw Error(Y(190))}if(n.tag!==3)throw Error(Y(188));return n.stateNode.current===n?e:t}function Eu(e){return e=qg(e),e!==null?zu(e):null}function zu(e){if(e.tag===5||e.tag===6)return e;for(e=e.child;e!==null;){var t=zu(e);if(t!==null)return t;e=e.sibling}return null}var Ru=rn.unstable_scheduleCallback,mp=rn.unstable_cancelCallback,Yg=rn.unstable_shouldYield,Qg=rn.unstable_requestPaint,gt=rn.unstable_now,Xg=rn.unstable_getCurrentPriorityLevel,gc=rn.unstable_ImmediatePriority,Lu=rn.unstable_UserBlockingPriority,Li=rn.unstable_NormalPriority,Jg=rn.unstable_LowPriority,Pu=rn.unstable_IdlePriority,Ji=null,Kn=null;function Zg(e){if(Kn&&typeof Kn.onCommitFiberRoot=="function")try{Kn.onCommitFiberRoot(Ji,e,void 0,(e.current.flags&128)===128)}catch{}}var Rn=Math.clz32?Math.clz32:nh,eh=Math.log,th=Math.LN2;function nh(e){return e>>>=0,e===0?32:31-(eh(e)/th|0)|0}var ni=64,ri=4194304;function ao(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function Pi(e,t){var n=e.pendingLanes;if(n===0)return 0;var a=0,o=e.suspendedLanes,i=e.pingedLanes,l=n&268435455;if(l!==0){var s=l&~o;s!==0?a=ao(s):(i&=l,i!==0&&(a=ao(i)))}else l=n&~o,l!==0?a=ao(l):i!==0&&(a=ao(i));if(a===0)return 0;if(t!==0&&t!==a&&!(t&o)&&(o=a&-a,i=t&-t,o>=i||o===16&&(i&4194240)!==0))return t;if(a&4&&(a|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=a;0<t;)n=31-Rn(t),o=1<<n,a|=e[n],t&=~o;return a}function rh(e,t){switch(e){case 1:case 2:case 4:return t+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return-1;case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function ah(e,t){for(var n=e.suspendedLanes,a=e.pingedLanes,o=e.expirationTimes,i=e.pendingLanes;0<i;){var l=31-Rn(i),s=1<<l,c=o[l];c===-1?(!(s&n)||s&a)&&(o[l]=rh(s,t)):c<=t&&(e.expiredLanes|=s),i&=~s}}function Ps(e){return e=e.pendingLanes&-1073741825,e!==0?e:e&1073741824?1073741824:0}function Du(){var e=ni;return ni<<=1,!(ni&4194240)&&(ni=64),e}function Jl(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function Do(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-Rn(t),e[t]=n}function oh(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var a=e.eventTimes;for(e=e.expirationTimes;0<n;){var o=31-Rn(n),i=1<<o;t[o]=0,a[o]=-1,e[o]=-1,n&=~i}}function hc(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var a=31-Rn(n),o=1<<a;o&t|e[a]&t&&(e[a]|=t),n&=~o}}var Qe=0;function Au(e){return e&=-e,1<e?4<e?e&268435455?16:536870912:4:1}var Fu,yc,Iu,_u,Ou,Ds=!1,ai=[],wr=null,kr=null,Sr=null,bo=new Map,xo=new Map,yr=[],ih="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" ");function fp(e,t){switch(e){case"focusin":case"focusout":wr=null;break;case"dragenter":case"dragleave":kr=null;break;case"mouseover":case"mouseout":Sr=null;break;case"pointerover":case"pointerout":bo.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":xo.delete(t.pointerId)}}function Ya(e,t,n,a,o,i){return e===null||e.nativeEvent!==i?(e={blockedOn:t,domEventName:n,eventSystemFlags:a,nativeEvent:i,targetContainers:[o]},t!==null&&(t=Fo(t),t!==null&&yc(t)),e):(e.eventSystemFlags|=a,t=e.targetContainers,o!==null&&t.indexOf(o)===-1&&t.push(o),e)}function lh(e,t,n,a,o){switch(t){case"focusin":return wr=Ya(wr,e,t,n,a,o),!0;case"dragenter":return kr=Ya(kr,e,t,n,a,o),!0;case"mouseover":return Sr=Ya(Sr,e,t,n,a,o),!0;case"pointerover":var i=o.pointerId;return bo.set(i,Ya(bo.get(i)||null,e,t,n,a,o)),!0;case"gotpointercapture":return i=o.pointerId,xo.set(i,Ya(xo.get(i)||null,e,t,n,a,o)),!0}return!1}function ju(e){var t=$r(e.target);if(t!==null){var n=ta(t);if(n!==null){if(t=n.tag,t===13){if(t=Mu(n),t!==null){e.blockedOn=t,Ou(e.priority,function(){Iu(n)});return}}else if(t===3&&n.stateNode.current.memoizedState.isDehydrated){e.blockedOn=n.tag===3?n.stateNode.containerInfo:null;return}}}e.blockedOn=null}function vi(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var n=As(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(n===null){n=e.nativeEvent;var a=new n.constructor(n.type,n);Es=a,n.target.dispatchEvent(a),Es=null}else return t=Fo(n),t!==null&&yc(t),e.blockedOn=n,!1;t.shift()}return!0}function gp(e,t,n){vi(e)&&n.delete(t)}function sh(){Ds=!1,wr!==null&&vi(wr)&&(wr=null),kr!==null&&vi(kr)&&(kr=null),Sr!==null&&vi(Sr)&&(Sr=null),bo.forEach(gp),xo.forEach(gp)}function Qa(e,t){e.blockedOn===t&&(e.blockedOn=null,Ds||(Ds=!0,rn.unstable_scheduleCallback(rn.unstable_NormalPriority,sh)))}function wo(e){function t(o){return Qa(o,e)}if(0<ai.length){Qa(ai[0],e);for(var n=1;n<ai.length;n++){var a=ai[n];a.blockedOn===e&&(a.blockedOn=null)}}for(wr!==null&&Qa(wr,e),kr!==null&&Qa(kr,e),Sr!==null&&Qa(Sr,e),bo.forEach(t),xo.forEach(t),n=0;n<yr.length;n++)a=yr[n],a.blockedOn===e&&(a.blockedOn=null);for(;0<yr.length&&(n=yr[0],n.blockedOn===null);)ju(n),n.blockedOn===null&&yr.shift()}var Ca=lr.ReactCurrentBatchConfig,Di=!0;function ch(e,t,n,a){var o=Qe,i=Ca.transition;Ca.transition=null;try{Qe=1,vc(e,t,n,a)}finally{Qe=o,Ca.transition=i}}function dh(e,t,n,a){var o=Qe,i=Ca.transition;Ca.transition=null;try{Qe=4,vc(e,t,n,a)}finally{Qe=o,Ca.transition=i}}function vc(e,t,n,a){if(Di){var o=As(e,t,n,a);if(o===null)os(e,t,a,Ai,n),fp(e,a);else if(lh(o,e,t,n,a))a.stopPropagation();else if(fp(e,a),t&4&&-1<ih.indexOf(e)){for(;o!==null;){var i=Fo(o);if(i!==null&&Fu(i),i=As(e,t,n,a),i===null&&os(e,t,a,Ai,n),i===o)break;o=i}o!==null&&a.stopPropagation()}else os(e,t,a,null,n)}}var Ai=null;function As(e,t,n,a){if(Ai=null,e=fc(a),e=$r(e),e!==null)if(t=ta(e),t===null)e=null;else if(n=t.tag,n===13){if(e=Mu(t),e!==null)return e;e=null}else if(n===3){if(t.stateNode.current.memoizedState.isDehydrated)return t.tag===3?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null);return Ai=e,null}function Bu(e){switch(e){case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 1;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"toggle":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 4;case"message":switch(Xg()){case gc:return 1;case Lu:return 4;case Li:case Jg:return 16;case Pu:return 536870912;default:return 16}default:return 16}}var br=null,bc=null,bi=null;function Hu(){if(bi)return bi;var e,t=bc,n=t.length,a,o="value"in br?br.value:br.textContent,i=o.length;for(e=0;e<n&&t[e]===o[e];e++);var l=n-e;for(a=1;a<=l&&t[n-a]===o[i-a];a++);return bi=o.slice(e,1<a?1-a:void 0)}function xi(e){var t=e.keyCode;return"charCode"in e?(e=e.charCode,e===0&&t===13&&(e=13)):e=t,e===10&&(e=13),32<=e||e===13?e:0}function oi(){return!0}function hp(){return!1}function an(e){function t(n,a,o,i,l){this._reactName=n,this._targetInst=o,this.type=a,this.nativeEvent=i,this.target=l,this.currentTarget=null;for(var s in e)e.hasOwnProperty(s)&&(n=e[s],this[s]=n?n(i):i[s]);return this.isDefaultPrevented=(i.defaultPrevented!=null?i.defaultPrevented:i.returnValue===!1)?oi:hp,this.isPropagationStopped=hp,this}return dt(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var n=this.nativeEvent;n&&(n.preventDefault?n.preventDefault():typeof n.returnValue!="unknown"&&(n.returnValue=!1),this.isDefaultPrevented=oi)},stopPropagation:function(){var n=this.nativeEvent;n&&(n.stopPropagation?n.stopPropagation():typeof n.cancelBubble!="unknown"&&(n.cancelBubble=!0),this.isPropagationStopped=oi)},persist:function(){},isPersistent:oi}),t}var Aa={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},xc=an(Aa),Ao=dt({},Aa,{view:0,detail:0}),ph=an(Ao),Zl,es,Xa,Zi=dt({},Ao,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:wc,button:0,buttons:0,relatedTarget:function(e){return e.relatedTarget===void 0?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==Xa&&(Xa&&e.type==="mousemove"?(Zl=e.screenX-Xa.screenX,es=e.screenY-Xa.screenY):es=Zl=0,Xa=e),Zl)},movementY:function(e){return"movementY"in e?e.movementY:es}}),yp=an(Zi),uh=dt({},Zi,{dataTransfer:0}),mh=an(uh),fh=dt({},Ao,{relatedTarget:0}),ts=an(fh),gh=dt({},Aa,{animationName:0,elapsedTime:0,pseudoElement:0}),hh=an(gh),yh=dt({},Aa,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),vh=an(yh),bh=dt({},Aa,{data:0}),vp=an(bh),xh={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},wh={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"},kh={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function Sh(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=kh[e])?!!t[e]:!1}function wc(){return Sh}var Ch=dt({},Ao,{key:function(e){if(e.key){var t=xh[e.key]||e.key;if(t!=="Unidentified")return t}return e.type==="keypress"?(e=xi(e),e===13?"Enter":String.fromCharCode(e)):e.type==="keydown"||e.type==="keyup"?wh[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:wc,charCode:function(e){return e.type==="keypress"?xi(e):0},keyCode:function(e){return e.type==="keydown"||e.type==="keyup"?e.keyCode:0},which:function(e){return e.type==="keypress"?xi(e):e.type==="keydown"||e.type==="keyup"?e.keyCode:0}}),Nh=an(Ch),Th=dt({},Zi,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),bp=an(Th),Mh=dt({},Ao,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:wc}),Eh=an(Mh),zh=dt({},Aa,{propertyName:0,elapsedTime:0,pseudoElement:0}),Rh=an(zh),Lh=dt({},Zi,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),Ph=an(Lh),Dh=[9,13,27,32],kc=rr&&"CompositionEvent"in window,so=null;rr&&"documentMode"in document&&(so=document.documentMode);var Ah=rr&&"TextEvent"in window&&!so,Wu=rr&&(!kc||so&&8<so&&11>=so),xp=" ",wp=!1;function Uu(e,t){switch(e){case"keyup":return Dh.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function $u(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var pa=!1;function Fh(e,t){switch(e){case"compositionend":return $u(t);case"keypress":return t.which!==32?null:(wp=!0,xp);case"textInput":return e=t.data,e===xp&&wp?null:e;default:return null}}function Ih(e,t){if(pa)return e==="compositionend"||!kc&&Uu(e,t)?(e=Hu(),bi=bc=br=null,pa=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return Wu&&t.locale!=="ko"?null:t.data;default:return null}}var _h={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 kp(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t==="input"?!!_h[e.type]:t==="textarea"}function Vu(e,t,n,a){ku(a),t=Fi(t,"onChange"),0<t.length&&(n=new xc("onChange","change",null,n,a),e.push({event:n,listeners:t}))}var co=null,ko=null;function Oh(e){nm(e,0)}function el(e){var t=fa(e);if(gu(t))return e}function jh(e,t){if(e==="change")return t}var Gu=!1;rr&&(rr?(li="oninput"in document,li||(ns=document.createElement("div"),ns.setAttribute("oninput","return;"),li=typeof ns.oninput=="function"),ii=li):ii=!1,Gu=ii&&(!document.documentMode||9<document.documentMode));var ii,li,ns;function Sp(){co&&(co.detachEvent("onpropertychange",Ku),ko=co=null)}function Ku(e){if(e.propertyName==="value"&&el(ko)){var t=[];Vu(t,ko,e,fc(e)),Tu(Oh,t)}}function Bh(e,t,n){e==="focusin"?(Sp(),co=t,ko=n,co.attachEvent("onpropertychange",Ku)):e==="focusout"&&Sp()}function Hh(e){if(e==="selectionchange"||e==="keyup"||e==="keydown")return el(ko)}function Wh(e,t){if(e==="click")return el(t)}function Uh(e,t){if(e==="input"||e==="change")return el(t)}function $h(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var Pn=typeof Object.is=="function"?Object.is:$h;function So(e,t){if(Pn(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;var n=Object.keys(e),a=Object.keys(t);if(n.length!==a.length)return!1;for(a=0;a<n.length;a++){var o=n[a];if(!hs.call(t,o)||!Pn(e[o],t[o]))return!1}return!0}function Cp(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function Np(e,t){var n=Cp(e);e=0;for(var a;n;){if(n.nodeType===3){if(a=e+n.textContent.length,e<=t&&a>=t)return{node:n,offset:t-e};e=a}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=Cp(n)}}function qu(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?qu(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Yu(){for(var e=window,t=Ei();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=Ei(e.document)}return t}function Sc(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function Vh(e){var t=Yu(),n=e.focusedElem,a=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&qu(n.ownerDocument.documentElement,n)){if(a!==null&&Sc(n)){if(t=a.start,e=a.end,e===void 0&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if(e=(t=n.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var o=n.textContent.length,i=Math.min(a.start,o);a=a.end===void 0?i:Math.min(a.end,o),!e.extend&&i>a&&(o=a,a=i,i=o),o=Np(n,i);var l=Np(n,a);o&&l&&(e.rangeCount!==1||e.anchorNode!==o.node||e.anchorOffset!==o.offset||e.focusNode!==l.node||e.focusOffset!==l.offset)&&(t=t.createRange(),t.setStart(o.node,o.offset),e.removeAllRanges(),i>a?(e.addRange(t),e.extend(l.node,l.offset)):(t.setEnd(l.node,l.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n<t.length;n++)e=t[n],e.element.scrollLeft=e.left,e.element.scrollTop=e.top}}var Gh=rr&&"documentMode"in document&&11>=document.documentMode,ua=null,Fs=null,po=null,Is=!1;function Tp(e,t,n){var a=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Is||ua==null||ua!==Ei(a)||(a=ua,"selectionStart"in a&&Sc(a)?a={start:a.selectionStart,end:a.selectionEnd}:(a=(a.ownerDocument&&a.ownerDocument.defaultView||window).getSelection(),a={anchorNode:a.anchorNode,anchorOffset:a.anchorOffset,focusNode:a.focusNode,focusOffset:a.focusOffset}),po&&So(po,a)||(po=a,a=Fi(Fs,"onSelect"),0<a.length&&(t=new xc("onSelect","select",null,t,n),e.push({event:t,listeners:a}),t.target=ua)))}function si(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var ma={animationend:si("Animation","AnimationEnd"),animationiteration:si("Animation","AnimationIteration"),animationstart:si("Animation","AnimationStart"),transitionend:si("Transition","TransitionEnd")},rs={},Qu={};rr&&(Qu=document.createElement("div").style,"AnimationEvent"in window||(delete ma.animationend.animation,delete ma.animationiteration.animation,delete ma.animationstart.animation),"TransitionEvent"in window||delete ma.transitionend.transition);function tl(e){if(rs[e])return rs[e];if(!ma[e])return e;var t=ma[e],n;for(n in t)if(t.hasOwnProperty(n)&&n in Qu)return rs[e]=t[n];return e}var Xu=tl("animationend"),Ju=tl("animationiteration"),Zu=tl("animationstart"),em=tl("transitionend"),tm=new Map,Mp="abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");function Lr(e,t){tm.set(e,t),ea(t,[e])}for(ci=0;ci<Mp.length;ci++)di=Mp[ci],Ep=di.toLowerCase(),zp=di[0].toUpperCase()+di.slice(1),Lr(Ep,"on"+zp);var di,Ep,zp,ci;Lr(Xu,"onAnimationEnd");Lr(Ju,"onAnimationIteration");Lr(Zu,"onAnimationStart");Lr("dblclick","onDoubleClick");Lr("focusin","onFocus");Lr("focusout","onBlur");Lr(em,"onTransitionEnd");Ma("onMouseEnter",["mouseout","mouseover"]);Ma("onMouseLeave",["mouseout","mouseover"]);Ma("onPointerEnter",["pointerout","pointerover"]);Ma("onPointerLeave",["pointerout","pointerover"]);ea("onChange","change click focusin focusout input keydown keyup selectionchange".split(" "));ea("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" "));ea("onBeforeInput",["compositionend","keypress","textInput","paste"]);ea("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" "));ea("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" "));ea("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var oo="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(" "),Kh=new Set("cancel close invalid load scroll toggle".split(" ").concat(oo));function Rp(e,t,n){var a=e.type||"unknown-event";e.currentTarget=n,Kg(a,t,void 0,e),e.currentTarget=null}function nm(e,t){t=(t&4)!==0;for(var n=0;n<e.length;n++){var a=e[n],o=a.event;a=a.listeners;e:{var i=void 0;if(t)for(var l=a.length-1;0<=l;l--){var s=a[l],c=s.instance,p=s.currentTarget;if(s=s.listener,c!==i&&o.isPropagationStopped())break e;Rp(o,s,p),i=c}else for(l=0;l<a.length;l++){if(s=a[l],c=s.instance,p=s.currentTarget,s=s.listener,c!==i&&o.isPropagationStopped())break e;Rp(o,s,p),i=c}}}if(Ri)throw e=Ls,Ri=!1,Ls=null,e}function rt(e,t){var n=t[Hs];n===void 0&&(n=t[Hs]=new Set);var a=e+"__bubble";n.has(a)||(rm(t,e,2,!1),n.add(a))}function as(e,t,n){var a=0;t&&(a|=4),rm(n,e,a,t)}var pi="_reactListening"+Math.random().toString(36).slice(2);function Co(e){if(!e[pi]){e[pi]=!0,du.forEach(function(n){n!=="selectionchange"&&(Kh.has(n)||as(n,!1,e),as(n,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[pi]||(t[pi]=!0,as("selectionchange",!1,t))}}function rm(e,t,n,a){switch(Bu(t)){case 1:var o=ch;break;case 4:o=dh;break;default:o=vc}n=o.bind(null,t,n,e),o=void 0,!Rs||t!=="touchstart"&&t!=="touchmove"&&t!=="wheel"||(o=!0),a?o!==void 0?e.addEventListener(t,n,{capture:!0,passive:o}):e.addEventListener(t,n,!0):o!==void 0?e.addEventListener(t,n,{passive:o}):e.addEventListener(t,n,!1)}function os(e,t,n,a,o){var i=a;if(!(t&1)&&!(t&2)&&a!==null)e:for(;;){if(a===null)return;var l=a.tag;if(l===3||l===4){var s=a.stateNode.containerInfo;if(s===o||s.nodeType===8&&s.parentNode===o)break;if(l===4)for(l=a.return;l!==null;){var c=l.tag;if((c===3||c===4)&&(c=l.stateNode.containerInfo,c===o||c.nodeType===8&&c.parentNode===o))return;l=l.return}for(;s!==null;){if(l=$r(s),l===null)return;if(c=l.tag,c===5||c===6){a=i=l;continue e}s=s.parentNode}}a=a.return}Tu(function(){var p=i,f=fc(n),b=[];e:{var h=tm.get(e);if(h!==void 0){var S=xc,L=e;switch(e){case"keypress":if(xi(n)===0)break e;case"keydown":case"keyup":S=Nh;break;case"focusin":L="focus",S=ts;break;case"focusout":L="blur",S=ts;break;case"beforeblur":case"afterblur":S=ts;break;case"click":if(n.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":S=yp;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":S=mh;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":S=Eh;break;case Xu:case Ju:case Zu:S=hh;break;case em:S=Rh;break;case"scroll":S=ph;break;case"wheel":S=Ph;break;case"copy":case"cut":case"paste":S=vh;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":S=bp}var M=(t&4)!==0,_=!M&&e==="scroll",x=M?h!==null?h+"Capture":null:h;M=[];for(var m=p,y;m!==null;){y=m;var R=y.stateNode;if(y.tag===5&&R!==null&&(y=R,x!==null&&(R=vo(m,x),R!=null&&M.push(No(m,R,y)))),_)break;m=m.return}0<M.length&&(h=new S(h,L,null,n,f),b.push({event:h,listeners:M}))}}if(!(t&7)){e:{if(h=e==="mouseover"||e==="pointerover",S=e==="mouseout"||e==="pointerout",h&&n!==Es&&(L=n.relatedTarget||n.fromElement)&&($r(L)||L[ar]))break e;if((S||h)&&(h=f.window===f?f:(h=f.ownerDocument)?h.defaultView||h.parentWindow:window,S?(L=n.relatedTarget||n.toElement,S=p,L=L?$r(L):null,L!==null&&(_=ta(L),L!==_||L.tag!==5&&L.tag!==6)&&(L=null)):(S=null,L=p),S!==L)){if(M=yp,R="onMouseLeave",x="onMouseEnter",m="mouse",(e==="pointerout"||e==="pointerover")&&(M=bp,R="onPointerLeave",x="onPointerEnter",m="pointer"),_=S==null?h:fa(S),y=L==null?h:fa(L),h=new M(R,m+"leave",S,n,f),h.target=_,h.relatedTarget=y,R=null,$r(f)===p&&(M=new M(x,m+"enter",L,n,f),M.target=y,M.relatedTarget=_,R=M),_=R,S&&L)t:{for(M=S,x=L,m=0,y=M;y;y=sa(y))m++;for(y=0,R=x;R;R=sa(R))y++;for(;0<m-y;)M=sa(M),m--;for(;0<y-m;)x=sa(x),y--;for(;m--;){if(M===x||x!==null&&M===x.alternate)break t;M=sa(M),x=sa(x)}M=null}else M=null;S!==null&&Lp(b,h,S,M,!1),L!==null&&_!==null&&Lp(b,_,L,M,!0)}}e:{if(h=p?fa(p):window,S=h.nodeName&&h.nodeName.toLowerCase(),S==="select"||S==="input"&&h.type==="file")var F=jh;else if(kp(h))if(Gu)F=Uh;else{F=Hh;var P=Bh}else(S=h.nodeName)&&S.toLowerCase()==="input"&&(h.type==="checkbox"||h.type==="radio")&&(F=Wh);if(F&&(F=F(e,p))){Vu(b,F,n,f);break e}P&&P(e,h,p),e==="focusout"&&(P=h._wrapperState)&&P.controlled&&h.type==="number"&&Ss(h,"number",h.value)}switch(P=p?fa(p):window,e){case"focusin":(kp(P)||P.contentEditable==="true")&&(ua=P,Fs=p,po=null);break;case"focusout":po=Fs=ua=null;break;case"mousedown":Is=!0;break;case"contextmenu":case"mouseup":case"dragend":Is=!1,Tp(b,n,f);break;case"selectionchange":if(Gh)break;case"keydown":case"keyup":Tp(b,n,f)}var D;if(kc)e:{switch(e){case"compositionstart":var I="onCompositionStart";break e;case"compositionend":I="onCompositionEnd";break e;case"compositionupdate":I="onCompositionUpdate";break e}I=void 0}else pa?Uu(e,n)&&(I="onCompositionEnd"):e==="keydown"&&n.keyCode===229&&(I="onCompositionStart");I&&(Wu&&n.locale!=="ko"&&(pa||I!=="onCompositionStart"?I==="onCompositionEnd"&&pa&&(D=Hu()):(br=f,bc="value"in br?br.value:br.textContent,pa=!0)),P=Fi(p,I),0<P.length&&(I=new vp(I,e,null,n,f),b.push({event:I,listeners:P}),D?I.data=D:(D=$u(n),D!==null&&(I.data=D)))),(D=Ah?Fh(e,n):Ih(e,n))&&(p=Fi(p,"onBeforeInput"),0<p.length&&(f=new vp("onBeforeInput","beforeinput",null,n,f),b.push({event:f,listeners:p}),f.data=D))}nm(b,t)})}function No(e,t,n){return{instance:e,listener:t,currentTarget:n}}function Fi(e,t){for(var n=t+"Capture",a=[];e!==null;){var o=e,i=o.stateNode;o.tag===5&&i!==null&&(o=i,i=vo(e,n),i!=null&&a.unshift(No(e,i,o)),i=vo(e,t),i!=null&&a.push(No(e,i,o))),e=e.return}return a}function sa(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5);return e||null}function Lp(e,t,n,a,o){for(var i=t._reactName,l=[];n!==null&&n!==a;){var s=n,c=s.alternate,p=s.stateNode;if(c!==null&&c===a)break;s.tag===5&&p!==null&&(s=p,o?(c=vo(n,i),c!=null&&l.unshift(No(n,c,s))):o||(c=vo(n,i),c!=null&&l.push(No(n,c,s)))),n=n.return}l.length!==0&&e.push({event:t,listeners:l})}var qh=/\r\n?/g,Yh=/\u0000|\uFFFD/g;function Pp(e){return(typeof e=="string"?e:""+e).replace(qh,`
6
- `).replace(Yh,"")}function ui(e,t,n){if(t=Pp(t),Pp(e)!==t&&n)throw Error(Y(425))}function Ii(){}var _s=null,Os=null;function js(e,t){return e==="textarea"||e==="noscript"||typeof t.children=="string"||typeof t.children=="number"||typeof t.dangerouslySetInnerHTML=="object"&&t.dangerouslySetInnerHTML!==null&&t.dangerouslySetInnerHTML.__html!=null}var Bs=typeof setTimeout=="function"?setTimeout:void 0,Qh=typeof clearTimeout=="function"?clearTimeout:void 0,Dp=typeof Promise=="function"?Promise:void 0,Xh=typeof queueMicrotask=="function"?queueMicrotask:typeof Dp<"u"?function(e){return Dp.resolve(null).then(e).catch(Jh)}:Bs;function Jh(e){setTimeout(function(){throw e})}function is(e,t){var n=t,a=0;do{var o=n.nextSibling;if(e.removeChild(n),o&&o.nodeType===8)if(n=o.data,n==="/$"){if(a===0){e.removeChild(o),wo(t);return}a--}else n!=="$"&&n!=="$?"&&n!=="$!"||a++;n=o}while(n);wo(t)}function Cr(e){for(;e!=null;e=e.nextSibling){var t=e.nodeType;if(t===1||t===3)break;if(t===8){if(t=e.data,t==="$"||t==="$!"||t==="$?")break;if(t==="/$")return null}}return e}function Ap(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n==="$"||n==="$!"||n==="$?"){if(t===0)return e;t--}else n==="/$"&&t++}e=e.previousSibling}return null}var Fa=Math.random().toString(36).slice(2),Gn="__reactFiber$"+Fa,To="__reactProps$"+Fa,ar="__reactContainer$"+Fa,Hs="__reactEvents$"+Fa,Zh="__reactListeners$"+Fa,ey="__reactHandles$"+Fa;function $r(e){var t=e[Gn];if(t)return t;for(var n=e.parentNode;n;){if(t=n[ar]||n[Gn]){if(n=t.alternate,t.child!==null||n!==null&&n.child!==null)for(e=Ap(e);e!==null;){if(n=e[Gn])return n;e=Ap(e)}return t}e=n,n=e.parentNode}return null}function Fo(e){return e=e[Gn]||e[ar],!e||e.tag!==5&&e.tag!==6&&e.tag!==13&&e.tag!==3?null:e}function fa(e){if(e.tag===5||e.tag===6)return e.stateNode;throw Error(Y(33))}function nl(e){return e[To]||null}var Ws=[],ga=-1;function Pr(e){return{current:e}}function at(e){0>ga||(e.current=Ws[ga],Ws[ga]=null,ga--)}function tt(e,t){ga++,Ws[ga]=e.current,e.current=t}var Rr={},jt=Pr(Rr),Xt=Pr(!1),Yr=Rr;function Ea(e,t){var n=e.type.contextTypes;if(!n)return Rr;var a=e.stateNode;if(a&&a.__reactInternalMemoizedUnmaskedChildContext===t)return a.__reactInternalMemoizedMaskedChildContext;var o={},i;for(i in n)o[i]=t[i];return a&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=o),o}function Jt(e){return e=e.childContextTypes,e!=null}function _i(){at(Xt),at(jt)}function Fp(e,t,n){if(jt.current!==Rr)throw Error(Y(168));tt(jt,t),tt(Xt,n)}function am(e,t,n){var a=e.stateNode;if(t=t.childContextTypes,typeof a.getChildContext!="function")return n;a=a.getChildContext();for(var o in a)if(!(o in t))throw Error(Y(108,Bg(e)||"Unknown",o));return dt({},n,a)}function Oi(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Rr,Yr=jt.current,tt(jt,e),tt(Xt,Xt.current),!0}function Ip(e,t,n){var a=e.stateNode;if(!a)throw Error(Y(169));n?(e=am(e,t,Yr),a.__reactInternalMemoizedMergedChildContext=e,at(Xt),at(jt),tt(jt,e)):at(Xt),tt(Xt,n)}var Zn=null,rl=!1,ls=!1;function om(e){Zn===null?Zn=[e]:Zn.push(e)}function ty(e){rl=!0,om(e)}function Dr(){if(!ls&&Zn!==null){ls=!0;var e=0,t=Qe;try{var n=Zn;for(Qe=1;e<n.length;e++){var a=n[e];do a=a(!0);while(a!==null)}Zn=null,rl=!1}catch(o){throw Zn!==null&&(Zn=Zn.slice(e+1)),Ru(gc,Dr),o}finally{Qe=t,ls=!1}}return null}var ha=[],ya=0,ji=null,Bi=0,mn=[],fn=0,Qr=null,er=1,tr="";function Wr(e,t){ha[ya++]=Bi,ha[ya++]=ji,ji=e,Bi=t}function im(e,t,n){mn[fn++]=er,mn[fn++]=tr,mn[fn++]=Qr,Qr=e;var a=er;e=tr;var o=32-Rn(a)-1;a&=~(1<<o),n+=1;var i=32-Rn(t)+o;if(30<i){var l=o-o%5;i=(a&(1<<l)-1).toString(32),a>>=l,o-=l,er=1<<32-Rn(t)+o|n<<o|a,tr=i+e}else er=1<<i|n<<o|a,tr=e}function Cc(e){e.return!==null&&(Wr(e,1),im(e,1,0))}function Nc(e){for(;e===ji;)ji=ha[--ya],ha[ya]=null,Bi=ha[--ya],ha[ya]=null;for(;e===Qr;)Qr=mn[--fn],mn[fn]=null,tr=mn[--fn],mn[fn]=null,er=mn[--fn],mn[fn]=null}var nn=null,tn=null,ot=!1,zn=null;function lm(e,t){var n=gn(5,null,null,0);n.elementType="DELETED",n.stateNode=t,n.return=e,t=e.deletions,t===null?(e.deletions=[n],e.flags|=16):t.push(n)}function _p(e,t){switch(e.tag){case 5:var n=e.type;return t=t.nodeType!==1||n.toLowerCase()!==t.nodeName.toLowerCase()?null:t,t!==null?(e.stateNode=t,nn=e,tn=Cr(t.firstChild),!0):!1;case 6:return t=e.pendingProps===""||t.nodeType!==3?null:t,t!==null?(e.stateNode=t,nn=e,tn=null,!0):!1;case 13:return t=t.nodeType!==8?null:t,t!==null?(n=Qr!==null?{id:er,overflow:tr}:null,e.memoizedState={dehydrated:t,treeContext:n,retryLane:1073741824},n=gn(18,null,null,0),n.stateNode=t,n.return=e,e.child=n,nn=e,tn=null,!0):!1;default:return!1}}function Us(e){return(e.mode&1)!==0&&(e.flags&128)===0}function $s(e){if(ot){var t=tn;if(t){var n=t;if(!_p(e,t)){if(Us(e))throw Error(Y(418));t=Cr(n.nextSibling);var a=nn;t&&_p(e,t)?lm(a,n):(e.flags=e.flags&-4097|2,ot=!1,nn=e)}}else{if(Us(e))throw Error(Y(418));e.flags=e.flags&-4097|2,ot=!1,nn=e}}}function Op(e){for(e=e.return;e!==null&&e.tag!==5&&e.tag!==3&&e.tag!==13;)e=e.return;nn=e}function mi(e){if(e!==nn)return!1;if(!ot)return Op(e),ot=!0,!1;var t;if((t=e.tag!==3)&&!(t=e.tag!==5)&&(t=e.type,t=t!=="head"&&t!=="body"&&!js(e.type,e.memoizedProps)),t&&(t=tn)){if(Us(e))throw sm(),Error(Y(418));for(;t;)lm(e,t),t=Cr(t.nextSibling)}if(Op(e),e.tag===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(Y(317));e:{for(e=e.nextSibling,t=0;e;){if(e.nodeType===8){var n=e.data;if(n==="/$"){if(t===0){tn=Cr(e.nextSibling);break e}t--}else n!=="$"&&n!=="$!"&&n!=="$?"||t++}e=e.nextSibling}tn=null}}else tn=nn?Cr(e.stateNode.nextSibling):null;return!0}function sm(){for(var e=tn;e;)e=Cr(e.nextSibling)}function za(){tn=nn=null,ot=!1}function Tc(e){zn===null?zn=[e]:zn.push(e)}var ny=lr.ReactCurrentBatchConfig;function Ja(e,t,n){if(e=n.ref,e!==null&&typeof e!="function"&&typeof e!="object"){if(n._owner){if(n=n._owner,n){if(n.tag!==1)throw Error(Y(309));var a=n.stateNode}if(!a)throw Error(Y(147,e));var o=a,i=""+e;return t!==null&&t.ref!==null&&typeof t.ref=="function"&&t.ref._stringRef===i?t.ref:(t=function(l){var s=o.refs;l===null?delete s[i]:s[i]=l},t._stringRef=i,t)}if(typeof e!="string")throw Error(Y(284));if(!n._owner)throw Error(Y(290,e))}return e}function fi(e,t){throw e=Object.prototype.toString.call(t),Error(Y(31,e==="[object Object]"?"object with keys {"+Object.keys(t).join(", ")+"}":e))}function jp(e){var t=e._init;return t(e._payload)}function cm(e){function t(x,m){if(e){var y=x.deletions;y===null?(x.deletions=[m],x.flags|=16):y.push(m)}}function n(x,m){if(!e)return null;for(;m!==null;)t(x,m),m=m.sibling;return null}function a(x,m){for(x=new Map;m!==null;)m.key!==null?x.set(m.key,m):x.set(m.index,m),m=m.sibling;return x}function o(x,m){return x=Er(x,m),x.index=0,x.sibling=null,x}function i(x,m,y){return x.index=y,e?(y=x.alternate,y!==null?(y=y.index,y<m?(x.flags|=2,m):y):(x.flags|=2,m)):(x.flags|=1048576,m)}function l(x){return e&&x.alternate===null&&(x.flags|=2),x}function s(x,m,y,R){return m===null||m.tag!==6?(m=fs(y,x.mode,R),m.return=x,m):(m=o(m,y),m.return=x,m)}function c(x,m,y,R){var F=y.type;return F===da?f(x,m,y.props.children,R,y.key):m!==null&&(m.elementType===F||typeof F=="object"&&F!==null&&F.$$typeof===gr&&jp(F)===m.type)?(R=o(m,y.props),R.ref=Ja(x,m,y),R.return=x,R):(R=Mi(y.type,y.key,y.props,null,x.mode,R),R.ref=Ja(x,m,y),R.return=x,R)}function p(x,m,y,R){return m===null||m.tag!==4||m.stateNode.containerInfo!==y.containerInfo||m.stateNode.implementation!==y.implementation?(m=gs(y,x.mode,R),m.return=x,m):(m=o(m,y.children||[]),m.return=x,m)}function f(x,m,y,R,F){return m===null||m.tag!==7?(m=qr(y,x.mode,R,F),m.return=x,m):(m=o(m,y),m.return=x,m)}function b(x,m,y){if(typeof m=="string"&&m!==""||typeof m=="number")return m=fs(""+m,x.mode,y),m.return=x,m;if(typeof m=="object"&&m!==null){switch(m.$$typeof){case Zo:return y=Mi(m.type,m.key,m.props,null,x.mode,y),y.ref=Ja(x,null,m),y.return=x,y;case ca:return m=gs(m,x.mode,y),m.return=x,m;case gr:var R=m._init;return b(x,R(m._payload),y)}if(ro(m)||qa(m))return m=qr(m,x.mode,y,null),m.return=x,m;fi(x,m)}return null}function h(x,m,y,R){var F=m!==null?m.key:null;if(typeof y=="string"&&y!==""||typeof y=="number")return F!==null?null:s(x,m,""+y,R);if(typeof y=="object"&&y!==null){switch(y.$$typeof){case Zo:return y.key===F?c(x,m,y,R):null;case ca:return y.key===F?p(x,m,y,R):null;case gr:return F=y._init,h(x,m,F(y._payload),R)}if(ro(y)||qa(y))return F!==null?null:f(x,m,y,R,null);fi(x,y)}return null}function S(x,m,y,R,F){if(typeof R=="string"&&R!==""||typeof R=="number")return x=x.get(y)||null,s(m,x,""+R,F);if(typeof R=="object"&&R!==null){switch(R.$$typeof){case Zo:return x=x.get(R.key===null?y:R.key)||null,c(m,x,R,F);case ca:return x=x.get(R.key===null?y:R.key)||null,p(m,x,R,F);case gr:var P=R._init;return S(x,m,y,P(R._payload),F)}if(ro(R)||qa(R))return x=x.get(y)||null,f(m,x,R,F,null);fi(m,R)}return null}function L(x,m,y,R){for(var F=null,P=null,D=m,I=m=0,W=null;D!==null&&I<y.length;I++){D.index>I?(W=D,D=null):W=D.sibling;var $=h(x,D,y[I],R);if($===null){D===null&&(D=W);break}e&&D&&$.alternate===null&&t(x,D),m=i($,m,I),P===null?F=$:P.sibling=$,P=$,D=W}if(I===y.length)return n(x,D),ot&&Wr(x,I),F;if(D===null){for(;I<y.length;I++)D=b(x,y[I],R),D!==null&&(m=i(D,m,I),P===null?F=D:P.sibling=D,P=D);return ot&&Wr(x,I),F}for(D=a(x,D);I<y.length;I++)W=S(D,x,I,y[I],R),W!==null&&(e&&W.alternate!==null&&D.delete(W.key===null?I:W.key),m=i(W,m,I),P===null?F=W:P.sibling=W,P=W);return e&&D.forEach(function(le){return t(x,le)}),ot&&Wr(x,I),F}function M(x,m,y,R){var F=qa(y);if(typeof F!="function")throw Error(Y(150));if(y=F.call(y),y==null)throw Error(Y(151));for(var P=F=null,D=m,I=m=0,W=null,$=y.next();D!==null&&!$.done;I++,$=y.next()){D.index>I?(W=D,D=null):W=D.sibling;var le=h(x,D,$.value,R);if(le===null){D===null&&(D=W);break}e&&D&&le.alternate===null&&t(x,D),m=i(le,m,I),P===null?F=le:P.sibling=le,P=le,D=W}if($.done)return n(x,D),ot&&Wr(x,I),F;if(D===null){for(;!$.done;I++,$=y.next())$=b(x,$.value,R),$!==null&&(m=i($,m,I),P===null?F=$:P.sibling=$,P=$);return ot&&Wr(x,I),F}for(D=a(x,D);!$.done;I++,$=y.next())$=S(D,x,I,$.value,R),$!==null&&(e&&$.alternate!==null&&D.delete($.key===null?I:$.key),m=i($,m,I),P===null?F=$:P.sibling=$,P=$);return e&&D.forEach(function(he){return t(x,he)}),ot&&Wr(x,I),F}function _(x,m,y,R){if(typeof y=="object"&&y!==null&&y.type===da&&y.key===null&&(y=y.props.children),typeof y=="object"&&y!==null){switch(y.$$typeof){case Zo:e:{for(var F=y.key,P=m;P!==null;){if(P.key===F){if(F=y.type,F===da){if(P.tag===7){n(x,P.sibling),m=o(P,y.props.children),m.return=x,x=m;break e}}else if(P.elementType===F||typeof F=="object"&&F!==null&&F.$$typeof===gr&&jp(F)===P.type){n(x,P.sibling),m=o(P,y.props),m.ref=Ja(x,P,y),m.return=x,x=m;break e}n(x,P);break}else t(x,P);P=P.sibling}y.type===da?(m=qr(y.props.children,x.mode,R,y.key),m.return=x,x=m):(R=Mi(y.type,y.key,y.props,null,x.mode,R),R.ref=Ja(x,m,y),R.return=x,x=R)}return l(x);case ca:e:{for(P=y.key;m!==null;){if(m.key===P)if(m.tag===4&&m.stateNode.containerInfo===y.containerInfo&&m.stateNode.implementation===y.implementation){n(x,m.sibling),m=o(m,y.children||[]),m.return=x,x=m;break e}else{n(x,m);break}else t(x,m);m=m.sibling}m=gs(y,x.mode,R),m.return=x,x=m}return l(x);case gr:return P=y._init,_(x,m,P(y._payload),R)}if(ro(y))return L(x,m,y,R);if(qa(y))return M(x,m,y,R);fi(x,y)}return typeof y=="string"&&y!==""||typeof y=="number"?(y=""+y,m!==null&&m.tag===6?(n(x,m.sibling),m=o(m,y),m.return=x,x=m):(n(x,m),m=fs(y,x.mode,R),m.return=x,x=m),l(x)):n(x,m)}return _}var Ra=cm(!0),dm=cm(!1),Hi=Pr(null),Wi=null,va=null,Mc=null;function Ec(){Mc=va=Wi=null}function zc(e){var t=Hi.current;at(Hi),e._currentValue=t}function Vs(e,t,n){for(;e!==null;){var a=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,a!==null&&(a.childLanes|=t)):a!==null&&(a.childLanes&t)!==t&&(a.childLanes|=t),e===n)break;e=e.return}}function Na(e,t){Wi=e,Mc=va=null,e=e.dependencies,e!==null&&e.firstContext!==null&&(e.lanes&t&&(Qt=!0),e.firstContext=null)}function yn(e){var t=e._currentValue;if(Mc!==e)if(e={context:e,memoizedValue:t,next:null},va===null){if(Wi===null)throw Error(Y(308));va=e,Wi.dependencies={lanes:0,firstContext:e}}else va=va.next=e;return t}var Vr=null;function Rc(e){Vr===null?Vr=[e]:Vr.push(e)}function pm(e,t,n,a){var o=t.interleaved;return o===null?(n.next=n,Rc(t)):(n.next=o.next,o.next=n),t.interleaved=n,or(e,a)}function or(e,t){e.lanes|=t;var n=e.alternate;for(n!==null&&(n.lanes|=t),n=e,e=e.return;e!==null;)e.childLanes|=t,n=e.alternate,n!==null&&(n.childLanes|=t),n=e,e=e.return;return n.tag===3?n.stateNode:null}var hr=!1;function Lc(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function um(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function nr(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function Nr(e,t,n){var a=e.updateQueue;if(a===null)return null;if(a=a.shared,Ge&2){var o=a.pending;return o===null?t.next=t:(t.next=o.next,o.next=t),a.pending=t,or(e,n)}return o=a.interleaved,o===null?(t.next=t,Rc(a)):(t.next=o.next,o.next=t),a.interleaved=t,or(e,n)}function wi(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,(n&4194240)!==0)){var a=t.lanes;a&=e.pendingLanes,n|=a,t.lanes=n,hc(e,n)}}function Bp(e,t){var n=e.updateQueue,a=e.alternate;if(a!==null&&(a=a.updateQueue,n===a)){var o=null,i=null;if(n=n.firstBaseUpdate,n!==null){do{var l={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};i===null?o=i=l:i=i.next=l,n=n.next}while(n!==null);i===null?o=i=t:i=i.next=t}else o=i=t;n={baseState:a.baseState,firstBaseUpdate:o,lastBaseUpdate:i,shared:a.shared,effects:a.effects},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function Ui(e,t,n,a){var o=e.updateQueue;hr=!1;var i=o.firstBaseUpdate,l=o.lastBaseUpdate,s=o.shared.pending;if(s!==null){o.shared.pending=null;var c=s,p=c.next;c.next=null,l===null?i=p:l.next=p,l=c;var f=e.alternate;f!==null&&(f=f.updateQueue,s=f.lastBaseUpdate,s!==l&&(s===null?f.firstBaseUpdate=p:s.next=p,f.lastBaseUpdate=c))}if(i!==null){var b=o.baseState;l=0,f=p=c=null,s=i;do{var h=s.lane,S=s.eventTime;if((a&h)===h){f!==null&&(f=f.next={eventTime:S,lane:0,tag:s.tag,payload:s.payload,callback:s.callback,next:null});e:{var L=e,M=s;switch(h=t,S=n,M.tag){case 1:if(L=M.payload,typeof L=="function"){b=L.call(S,b,h);break e}b=L;break e;case 3:L.flags=L.flags&-65537|128;case 0:if(L=M.payload,h=typeof L=="function"?L.call(S,b,h):L,h==null)break e;b=dt({},b,h);break e;case 2:hr=!0}}s.callback!==null&&s.lane!==0&&(e.flags|=64,h=o.effects,h===null?o.effects=[s]:h.push(s))}else S={eventTime:S,lane:h,tag:s.tag,payload:s.payload,callback:s.callback,next:null},f===null?(p=f=S,c=b):f=f.next=S,l|=h;if(s=s.next,s===null){if(s=o.shared.pending,s===null)break;h=s,s=h.next,h.next=null,o.lastBaseUpdate=h,o.shared.pending=null}}while(!0);if(f===null&&(c=b),o.baseState=c,o.firstBaseUpdate=p,o.lastBaseUpdate=f,t=o.shared.interleaved,t!==null){o=t;do l|=o.lane,o=o.next;while(o!==t)}else i===null&&(o.shared.lanes=0);Jr|=l,e.lanes=l,e.memoizedState=b}}function Hp(e,t,n){if(e=t.effects,t.effects=null,e!==null)for(t=0;t<e.length;t++){var a=e[t],o=a.callback;if(o!==null){if(a.callback=null,a=n,typeof o!="function")throw Error(Y(191,o));o.call(a)}}}var Io={},qn=Pr(Io),Mo=Pr(Io),Eo=Pr(Io);function Gr(e){if(e===Io)throw Error(Y(174));return e}function Pc(e,t){switch(tt(Eo,t),tt(Mo,e),tt(qn,Io),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:Ns(null,"");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=Ns(t,e)}at(qn),tt(qn,t)}function La(){at(qn),at(Mo),at(Eo)}function mm(e){Gr(Eo.current);var t=Gr(qn.current),n=Ns(t,e.type);t!==n&&(tt(Mo,e),tt(qn,n))}function Dc(e){Mo.current===e&&(at(qn),at(Mo))}var st=Pr(0);function $i(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||n.data==="$?"||n.data==="$!"))return t}else if(t.tag===19&&t.memoizedProps.revealOrder!==void 0){if(t.flags&128)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var ss=[];function Ac(){for(var e=0;e<ss.length;e++)ss[e]._workInProgressVersionPrimary=null;ss.length=0}var ki=lr.ReactCurrentDispatcher,cs=lr.ReactCurrentBatchConfig,Xr=0,ct=null,bt=null,St=null,Vi=!1,uo=!1,zo=0,ry=0;function It(){throw Error(Y(321))}function Fc(e,t){if(t===null)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!Pn(e[n],t[n]))return!1;return!0}function Ic(e,t,n,a,o,i){if(Xr=i,ct=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,ki.current=e===null||e.memoizedState===null?ly:sy,e=n(a,o),uo){i=0;do{if(uo=!1,zo=0,25<=i)throw Error(Y(301));i+=1,St=bt=null,t.updateQueue=null,ki.current=cy,e=n(a,o)}while(uo)}if(ki.current=Gi,t=bt!==null&&bt.next!==null,Xr=0,St=bt=ct=null,Vi=!1,t)throw Error(Y(300));return e}function _c(){var e=zo!==0;return zo=0,e}function Vn(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return St===null?ct.memoizedState=St=e:St=St.next=e,St}function vn(){if(bt===null){var e=ct.alternate;e=e!==null?e.memoizedState:null}else e=bt.next;var t=St===null?ct.memoizedState:St.next;if(t!==null)St=t,bt=e;else{if(e===null)throw Error(Y(310));bt=e,e={memoizedState:bt.memoizedState,baseState:bt.baseState,baseQueue:bt.baseQueue,queue:bt.queue,next:null},St===null?ct.memoizedState=St=e:St=St.next=e}return St}function Ro(e,t){return typeof t=="function"?t(e):t}function ds(e){var t=vn(),n=t.queue;if(n===null)throw Error(Y(311));n.lastRenderedReducer=e;var a=bt,o=a.baseQueue,i=n.pending;if(i!==null){if(o!==null){var l=o.next;o.next=i.next,i.next=l}a.baseQueue=o=i,n.pending=null}if(o!==null){i=o.next,a=a.baseState;var s=l=null,c=null,p=i;do{var f=p.lane;if((Xr&f)===f)c!==null&&(c=c.next={lane:0,action:p.action,hasEagerState:p.hasEagerState,eagerState:p.eagerState,next:null}),a=p.hasEagerState?p.eagerState:e(a,p.action);else{var b={lane:f,action:p.action,hasEagerState:p.hasEagerState,eagerState:p.eagerState,next:null};c===null?(s=c=b,l=a):c=c.next=b,ct.lanes|=f,Jr|=f}p=p.next}while(p!==null&&p!==i);c===null?l=a:c.next=s,Pn(a,t.memoizedState)||(Qt=!0),t.memoizedState=a,t.baseState=l,t.baseQueue=c,n.lastRenderedState=a}if(e=n.interleaved,e!==null){o=e;do i=o.lane,ct.lanes|=i,Jr|=i,o=o.next;while(o!==e)}else o===null&&(n.lanes=0);return[t.memoizedState,n.dispatch]}function ps(e){var t=vn(),n=t.queue;if(n===null)throw Error(Y(311));n.lastRenderedReducer=e;var a=n.dispatch,o=n.pending,i=t.memoizedState;if(o!==null){n.pending=null;var l=o=o.next;do i=e(i,l.action),l=l.next;while(l!==o);Pn(i,t.memoizedState)||(Qt=!0),t.memoizedState=i,t.baseQueue===null&&(t.baseState=i),n.lastRenderedState=i}return[i,a]}function fm(){}function gm(e,t){var n=ct,a=vn(),o=t(),i=!Pn(a.memoizedState,o);if(i&&(a.memoizedState=o,Qt=!0),a=a.queue,Oc(vm.bind(null,n,a,e),[e]),a.getSnapshot!==t||i||St!==null&&St.memoizedState.tag&1){if(n.flags|=2048,Lo(9,ym.bind(null,n,a,o,t),void 0,null),Ct===null)throw Error(Y(349));Xr&30||hm(n,t,o)}return o}function hm(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},t=ct.updateQueue,t===null?(t={lastEffect:null,stores:null},ct.updateQueue=t,t.stores=[e]):(n=t.stores,n===null?t.stores=[e]:n.push(e))}function ym(e,t,n,a){t.value=n,t.getSnapshot=a,bm(t)&&xm(e)}function vm(e,t,n){return n(function(){bm(t)&&xm(e)})}function bm(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!Pn(e,n)}catch{return!0}}function xm(e){var t=or(e,1);t!==null&&Ln(t,e,1,-1)}function Wp(e){var t=Vn();return typeof e=="function"&&(e=e()),t.memoizedState=t.baseState=e,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:Ro,lastRenderedState:e},t.queue=e,e=e.dispatch=iy.bind(null,ct,e),[t.memoizedState,e]}function Lo(e,t,n,a){return e={tag:e,create:t,destroy:n,deps:a,next:null},t=ct.updateQueue,t===null?(t={lastEffect:null,stores:null},ct.updateQueue=t,t.lastEffect=e.next=e):(n=t.lastEffect,n===null?t.lastEffect=e.next=e:(a=n.next,n.next=e,e.next=a,t.lastEffect=e)),e}function wm(){return vn().memoizedState}function Si(e,t,n,a){var o=Vn();ct.flags|=e,o.memoizedState=Lo(1|t,n,void 0,a===void 0?null:a)}function al(e,t,n,a){var o=vn();a=a===void 0?null:a;var i=void 0;if(bt!==null){var l=bt.memoizedState;if(i=l.destroy,a!==null&&Fc(a,l.deps)){o.memoizedState=Lo(t,n,i,a);return}}ct.flags|=e,o.memoizedState=Lo(1|t,n,i,a)}function Up(e,t){return Si(8390656,8,e,t)}function Oc(e,t){return al(2048,8,e,t)}function km(e,t){return al(4,2,e,t)}function Sm(e,t){return al(4,4,e,t)}function Cm(e,t){if(typeof t=="function")return e=e(),t(e),function(){t(null)};if(t!=null)return e=e(),t.current=e,function(){t.current=null}}function Nm(e,t,n){return n=n!=null?n.concat([e]):null,al(4,4,Cm.bind(null,t,e),n)}function jc(){}function Tm(e,t){var n=vn();t=t===void 0?null:t;var a=n.memoizedState;return a!==null&&t!==null&&Fc(t,a[1])?a[0]:(n.memoizedState=[e,t],e)}function Mm(e,t){var n=vn();t=t===void 0?null:t;var a=n.memoizedState;return a!==null&&t!==null&&Fc(t,a[1])?a[0]:(e=e(),n.memoizedState=[e,t],e)}function Em(e,t,n){return Xr&21?(Pn(n,t)||(n=Du(),ct.lanes|=n,Jr|=n,e.baseState=!0),t):(e.baseState&&(e.baseState=!1,Qt=!0),e.memoizedState=n)}function ay(e,t){var n=Qe;Qe=n!==0&&4>n?n:4,e(!0);var a=cs.transition;cs.transition={};try{e(!1),t()}finally{Qe=n,cs.transition=a}}function zm(){return vn().memoizedState}function oy(e,t,n){var a=Mr(e);if(n={lane:a,action:n,hasEagerState:!1,eagerState:null,next:null},Rm(e))Lm(t,n);else if(n=pm(e,t,n,a),n!==null){var o=Vt();Ln(n,e,a,o),Pm(n,t,a)}}function iy(e,t,n){var a=Mr(e),o={lane:a,action:n,hasEagerState:!1,eagerState:null,next:null};if(Rm(e))Lm(t,o);else{var i=e.alternate;if(e.lanes===0&&(i===null||i.lanes===0)&&(i=t.lastRenderedReducer,i!==null))try{var l=t.lastRenderedState,s=i(l,n);if(o.hasEagerState=!0,o.eagerState=s,Pn(s,l)){var c=t.interleaved;c===null?(o.next=o,Rc(t)):(o.next=c.next,c.next=o),t.interleaved=o;return}}catch{}finally{}n=pm(e,t,o,a),n!==null&&(o=Vt(),Ln(n,e,a,o),Pm(n,t,a))}}function Rm(e){var t=e.alternate;return e===ct||t!==null&&t===ct}function Lm(e,t){uo=Vi=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function Pm(e,t,n){if(n&4194240){var a=t.lanes;a&=e.pendingLanes,n|=a,t.lanes=n,hc(e,n)}}var Gi={readContext:yn,useCallback:It,useContext:It,useEffect:It,useImperativeHandle:It,useInsertionEffect:It,useLayoutEffect:It,useMemo:It,useReducer:It,useRef:It,useState:It,useDebugValue:It,useDeferredValue:It,useTransition:It,useMutableSource:It,useSyncExternalStore:It,useId:It,unstable_isNewReconciler:!1},ly={readContext:yn,useCallback:function(e,t){return Vn().memoizedState=[e,t===void 0?null:t],e},useContext:yn,useEffect:Up,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,Si(4194308,4,Cm.bind(null,t,e),n)},useLayoutEffect:function(e,t){return Si(4194308,4,e,t)},useInsertionEffect:function(e,t){return Si(4,2,e,t)},useMemo:function(e,t){var n=Vn();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var a=Vn();return t=n!==void 0?n(t):t,a.memoizedState=a.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},a.queue=e,e=e.dispatch=oy.bind(null,ct,e),[a.memoizedState,e]},useRef:function(e){var t=Vn();return e={current:e},t.memoizedState=e},useState:Wp,useDebugValue:jc,useDeferredValue:function(e){return Vn().memoizedState=e},useTransition:function(){var e=Wp(!1),t=e[0];return e=ay.bind(null,e[1]),Vn().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var a=ct,o=Vn();if(ot){if(n===void 0)throw Error(Y(407));n=n()}else{if(n=t(),Ct===null)throw Error(Y(349));Xr&30||hm(a,t,n)}o.memoizedState=n;var i={value:n,getSnapshot:t};return o.queue=i,Up(vm.bind(null,a,i,e),[e]),a.flags|=2048,Lo(9,ym.bind(null,a,i,n,t),void 0,null),n},useId:function(){var e=Vn(),t=Ct.identifierPrefix;if(ot){var n=tr,a=er;n=(a&~(1<<32-Rn(a)-1)).toString(32)+n,t=":"+t+"R"+n,n=zo++,0<n&&(t+="H"+n.toString(32)),t+=":"}else n=ry++,t=":"+t+"r"+n.toString(32)+":";return e.memoizedState=t},unstable_isNewReconciler:!1},sy={readContext:yn,useCallback:Tm,useContext:yn,useEffect:Oc,useImperativeHandle:Nm,useInsertionEffect:km,useLayoutEffect:Sm,useMemo:Mm,useReducer:ds,useRef:wm,useState:function(){return ds(Ro)},useDebugValue:jc,useDeferredValue:function(e){var t=vn();return Em(t,bt.memoizedState,e)},useTransition:function(){var e=ds(Ro)[0],t=vn().memoizedState;return[e,t]},useMutableSource:fm,useSyncExternalStore:gm,useId:zm,unstable_isNewReconciler:!1},cy={readContext:yn,useCallback:Tm,useContext:yn,useEffect:Oc,useImperativeHandle:Nm,useInsertionEffect:km,useLayoutEffect:Sm,useMemo:Mm,useReducer:ps,useRef:wm,useState:function(){return ps(Ro)},useDebugValue:jc,useDeferredValue:function(e){var t=vn();return bt===null?t.memoizedState=e:Em(t,bt.memoizedState,e)},useTransition:function(){var e=ps(Ro)[0],t=vn().memoizedState;return[e,t]},useMutableSource:fm,useSyncExternalStore:gm,useId:zm,unstable_isNewReconciler:!1};function Mn(e,t){if(e&&e.defaultProps){t=dt({},t),e=e.defaultProps;for(var n in e)t[n]===void 0&&(t[n]=e[n]);return t}return t}function Gs(e,t,n,a){t=e.memoizedState,n=n(a,t),n=n==null?t:dt({},t,n),e.memoizedState=n,e.lanes===0&&(e.updateQueue.baseState=n)}var ol={isMounted:function(e){return(e=e._reactInternals)?ta(e)===e:!1},enqueueSetState:function(e,t,n){e=e._reactInternals;var a=Vt(),o=Mr(e),i=nr(a,o);i.payload=t,n!=null&&(i.callback=n),t=Nr(e,i,o),t!==null&&(Ln(t,e,o,a),wi(t,e,o))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var a=Vt(),o=Mr(e),i=nr(a,o);i.tag=1,i.payload=t,n!=null&&(i.callback=n),t=Nr(e,i,o),t!==null&&(Ln(t,e,o,a),wi(t,e,o))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=Vt(),a=Mr(e),o=nr(n,a);o.tag=2,t!=null&&(o.callback=t),t=Nr(e,o,a),t!==null&&(Ln(t,e,a,n),wi(t,e,a))}};function $p(e,t,n,a,o,i,l){return e=e.stateNode,typeof e.shouldComponentUpdate=="function"?e.shouldComponentUpdate(a,i,l):t.prototype&&t.prototype.isPureReactComponent?!So(n,a)||!So(o,i):!0}function Dm(e,t,n){var a=!1,o=Rr,i=t.contextType;return typeof i=="object"&&i!==null?i=yn(i):(o=Jt(t)?Yr:jt.current,a=t.contextTypes,i=(a=a!=null)?Ea(e,o):Rr),t=new t(n,i),e.memoizedState=t.state!==null&&t.state!==void 0?t.state:null,t.updater=ol,e.stateNode=t,t._reactInternals=e,a&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=o,e.__reactInternalMemoizedMaskedChildContext=i),t}function Vp(e,t,n,a){e=t.state,typeof t.componentWillReceiveProps=="function"&&t.componentWillReceiveProps(n,a),typeof t.UNSAFE_componentWillReceiveProps=="function"&&t.UNSAFE_componentWillReceiveProps(n,a),t.state!==e&&ol.enqueueReplaceState(t,t.state,null)}function Ks(e,t,n,a){var o=e.stateNode;o.props=n,o.state=e.memoizedState,o.refs={},Lc(e);var i=t.contextType;typeof i=="object"&&i!==null?o.context=yn(i):(i=Jt(t)?Yr:jt.current,o.context=Ea(e,i)),o.state=e.memoizedState,i=t.getDerivedStateFromProps,typeof i=="function"&&(Gs(e,t,i,n),o.state=e.memoizedState),typeof t.getDerivedStateFromProps=="function"||typeof o.getSnapshotBeforeUpdate=="function"||typeof o.UNSAFE_componentWillMount!="function"&&typeof o.componentWillMount!="function"||(t=o.state,typeof o.componentWillMount=="function"&&o.componentWillMount(),typeof o.UNSAFE_componentWillMount=="function"&&o.UNSAFE_componentWillMount(),t!==o.state&&ol.enqueueReplaceState(o,o.state,null),Ui(e,n,o,a),o.state=e.memoizedState),typeof o.componentDidMount=="function"&&(e.flags|=4194308)}function Pa(e,t){try{var n="",a=t;do n+=jg(a),a=a.return;while(a);var o=n}catch(i){o=`
5
+ `+o[l].replace(" at new "," at ");return e.displayName&&c.includes("<anonymous>")&&(c=c.replace("<anonymous>",e.displayName)),c}while(1<=l&&0<=s);break}}}finally{Yl=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?no(e):""}function jg(e){switch(e.tag){case 5:return no(e.type);case 16:return no("Lazy");case 13:return no("Suspense");case 19:return no("SuspenseList");case 0:case 2:case 15:return e=Ql(e.type,!1),e;case 11:return e=Ql(e.type.render,!1),e;case 1:return e=Ql(e.type,!0),e;default:return""}}function xs(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case da:return"Fragment";case ca:return"Portal";case ys:return"Profiler";case pc:return"StrictMode";case vs:return"Suspense";case bs:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case uu:return(e.displayName||"Context")+".Consumer";case pu:return(e._context.displayName||"Context")+".Provider";case uc:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case mc:return t=e.displayName||null,t!==null?t:xs(e.type)||"Memo";case gr:t=e._payload,e=e._init;try{return xs(e(t))}catch{}}return null}function Bg(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return xs(t);case 8:return t===pc?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function zr(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function fu(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function Hg(e){var t=fu(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),a=""+e[t];if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var o=n.get,i=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return o.call(this)},set:function(l){a=""+l,i.call(this,l)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return a},setValue:function(l){a=""+l},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function ei(e){e._valueTracker||(e._valueTracker=Hg(e))}function gu(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),a="";return e&&(a=fu(e)?e.checked?"true":"false":e.value),e=a,e!==n?(t.setValue(e),!0):!1}function Ei(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function ws(e,t){var n=t.checked;return ct({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function lp(e,t){var n=t.defaultValue==null?"":t.defaultValue,a=t.checked!=null?t.checked:t.defaultChecked;n=zr(t.value!=null?t.value:n),e._wrapperState={initialChecked:a,initialValue:n,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function hu(e,t){t=t.checked,t!=null&&dc(e,"checked",t,!1)}function ks(e,t){hu(e,t);var n=zr(t.value),a=t.type;if(n!=null)a==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if(a==="submit"||a==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?Ss(e,t.type,n):t.hasOwnProperty("defaultValue")&&Ss(e,t.type,zr(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function sp(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var a=t.type;if(!(a!=="submit"&&a!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,n!==""&&(e.name=n)}function Ss(e,t,n){(t!=="number"||Ei(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var ro=Array.isArray;function wa(e,t,n,a){if(e=e.options,t){t={};for(var o=0;o<n.length;o++)t["$"+n[o]]=!0;for(n=0;n<e.length;n++)o=t.hasOwnProperty("$"+e[n].value),e[n].selected!==o&&(e[n].selected=o),o&&a&&(e[n].defaultSelected=!0)}else{for(n=""+zr(n),t=null,o=0;o<e.length;o++){if(e[o].value===n){e[o].selected=!0,a&&(e[o].defaultSelected=!0);return}t!==null||e[o].disabled||(t=e[o])}t!==null&&(t.selected=!0)}}function Cs(e,t){if(t.dangerouslySetInnerHTML!=null)throw Error(Q(91));return ct({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function cp(e,t){var n=t.value;if(n==null){if(n=t.children,t=t.defaultValue,n!=null){if(t!=null)throw Error(Q(92));if(ro(n)){if(1<n.length)throw Error(Q(93));n=n[0]}t=n}t==null&&(t=""),n=t}e._wrapperState={initialValue:zr(n)}}function yu(e,t){var n=zr(t.value),a=zr(t.defaultValue);n!=null&&(n=""+n,n!==e.value&&(e.value=n),t.defaultValue==null&&e.defaultValue!==n&&(e.defaultValue=n)),a!=null&&(e.defaultValue=""+a)}function dp(e){var t=e.textContent;t===e._wrapperState.initialValue&&t!==""&&t!==null&&(e.value=t)}function vu(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function Ns(e,t){return e==null||e==="http://www.w3.org/1999/xhtml"?vu(t):e==="http://www.w3.org/2000/svg"&&t==="foreignObject"?"http://www.w3.org/1999/xhtml":e}var ti,bu=function(e){return typeof MSApp<"u"&&MSApp.execUnsafeLocalFunction?function(t,n,a,o){MSApp.execUnsafeLocalFunction(function(){return e(t,n,a,o)})}:e}(function(e,t){if(e.namespaceURI!=="http://www.w3.org/2000/svg"||"innerHTML"in e)e.innerHTML=t;else{for(ti=ti||document.createElement("div"),ti.innerHTML="<svg>"+t.valueOf().toString()+"</svg>",t=ti.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function yo(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var io={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},Wg=["Webkit","ms","Moz","O"];Object.keys(io).forEach(function(e){Wg.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),io[t]=io[e]})});function xu(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||io.hasOwnProperty(e)&&io[e]?(""+t).trim():t+"px"}function wu(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var a=n.indexOf("--")===0,o=xu(n,t[n],a);n==="float"&&(n="cssFloat"),a?e.setProperty(n,o):e[n]=o}}var Ug=ct({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function Ts(e,t){if(t){if(Ug[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(Q(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(Q(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(Q(61))}if(t.style!=null&&typeof t.style!="object")throw Error(Q(62))}}function Ms(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var Es=null;function fc(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var zs=null,ka=null,Sa=null;function pp(e){if(e=Fo(e)){if(typeof zs!="function")throw Error(Q(280));var t=e.stateNode;t&&(t=nl(t),zs(e.stateNode,e.type,t))}}function ku(e){ka?Sa?Sa.push(e):Sa=[e]:ka=e}function Su(){if(ka){var e=ka,t=Sa;if(Sa=ka=null,pp(e),t)for(e=0;e<t.length;e++)pp(t[e])}}function Cu(e,t){return e(t)}function Nu(){}var Xl=!1;function Tu(e,t,n){if(Xl)return e(t,n);Xl=!0;try{return Cu(e,t,n)}finally{Xl=!1,(ka!==null||Sa!==null)&&(Nu(),Su())}}function vo(e,t){var n=e.stateNode;if(n===null)return null;var a=nl(n);if(a===null)return null;n=a[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(a=!a.disabled)||(e=e.type,a=!(e==="button"||e==="input"||e==="select"||e==="textarea")),e=!a;break e;default:e=!1}if(e)return null;if(n&&typeof n!="function")throw Error(Q(231,t,typeof n));return n}var Rs=!1;if(tr)try{la={},Object.defineProperty(la,"passive",{get:function(){Rs=!0}}),window.addEventListener("test",la,la),window.removeEventListener("test",la,la)}catch{Rs=!1}var la;function $g(e,t,n,a,o,i,l,s,c){var p=Array.prototype.slice.call(arguments,3);try{t.apply(n,p)}catch(f){this.onError(f)}}var lo=!1,zi=null,Ri=!1,Ls=null,Vg={onError:function(e){lo=!0,zi=e}};function Gg(e,t,n,a,o,i,l,s,c){lo=!1,zi=null,$g.apply(Vg,arguments)}function Kg(e,t,n,a,o,i,l,s,c){if(Gg.apply(this,arguments),lo){if(lo){var p=zi;lo=!1,zi=null}else throw Error(Q(198));Ri||(Ri=!0,Ls=p)}}function ta(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,t.flags&4098&&(n=t.return),e=t.return;while(e)}return t.tag===3?n:null}function Mu(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function up(e){if(ta(e)!==e)throw Error(Q(188))}function qg(e){var t=e.alternate;if(!t){if(t=ta(e),t===null)throw Error(Q(188));return t!==e?null:e}for(var n=e,a=t;;){var o=n.return;if(o===null)break;var i=o.alternate;if(i===null){if(a=o.return,a!==null){n=a;continue}break}if(o.child===i.child){for(i=o.child;i;){if(i===n)return up(o),e;if(i===a)return up(o),t;i=i.sibling}throw Error(Q(188))}if(n.return!==a.return)n=o,a=i;else{for(var l=!1,s=o.child;s;){if(s===n){l=!0,n=o,a=i;break}if(s===a){l=!0,a=o,n=i;break}s=s.sibling}if(!l){for(s=i.child;s;){if(s===n){l=!0,n=i,a=o;break}if(s===a){l=!0,a=i,n=o;break}s=s.sibling}if(!l)throw Error(Q(189))}}if(n.alternate!==a)throw Error(Q(190))}if(n.tag!==3)throw Error(Q(188));return n.stateNode.current===n?e:t}function Eu(e){return e=qg(e),e!==null?zu(e):null}function zu(e){if(e.tag===5||e.tag===6)return e;for(e=e.child;e!==null;){var t=zu(e);if(t!==null)return t;e=e.sibling}return null}var Ru=ln.unstable_scheduleCallback,mp=ln.unstable_cancelCallback,Yg=ln.unstable_shouldYield,Qg=ln.unstable_requestPaint,ft=ln.unstable_now,Xg=ln.unstable_getCurrentPriorityLevel,gc=ln.unstable_ImmediatePriority,Lu=ln.unstable_UserBlockingPriority,Li=ln.unstable_NormalPriority,Jg=ln.unstable_LowPriority,Pu=ln.unstable_IdlePriority,Ji=null,Gn=null;function Zg(e){if(Gn&&typeof Gn.onCommitFiberRoot=="function")try{Gn.onCommitFiberRoot(Ji,e,void 0,(e.current.flags&128)===128)}catch{}}var Ln=Math.clz32?Math.clz32:nh,eh=Math.log,th=Math.LN2;function nh(e){return e>>>=0,e===0?32:31-(eh(e)/th|0)|0}var ni=64,ri=4194304;function ao(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function Pi(e,t){var n=e.pendingLanes;if(n===0)return 0;var a=0,o=e.suspendedLanes,i=e.pingedLanes,l=n&268435455;if(l!==0){var s=l&~o;s!==0?a=ao(s):(i&=l,i!==0&&(a=ao(i)))}else l=n&~o,l!==0?a=ao(l):i!==0&&(a=ao(i));if(a===0)return 0;if(t!==0&&t!==a&&!(t&o)&&(o=a&-a,i=t&-t,o>=i||o===16&&(i&4194240)!==0))return t;if(a&4&&(a|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=a;0<t;)n=31-Ln(t),o=1<<n,a|=e[n],t&=~o;return a}function rh(e,t){switch(e){case 1:case 2:case 4:return t+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return-1;case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function ah(e,t){for(var n=e.suspendedLanes,a=e.pingedLanes,o=e.expirationTimes,i=e.pendingLanes;0<i;){var l=31-Ln(i),s=1<<l,c=o[l];c===-1?(!(s&n)||s&a)&&(o[l]=rh(s,t)):c<=t&&(e.expiredLanes|=s),i&=~s}}function Ps(e){return e=e.pendingLanes&-1073741825,e!==0?e:e&1073741824?1073741824:0}function Du(){var e=ni;return ni<<=1,!(ni&4194240)&&(ni=64),e}function Jl(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function Do(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-Ln(t),e[t]=n}function oh(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var a=e.eventTimes;for(e=e.expirationTimes;0<n;){var o=31-Ln(n),i=1<<o;t[o]=0,a[o]=-1,e[o]=-1,n&=~i}}function hc(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var a=31-Ln(n),o=1<<a;o&t|e[a]&t&&(e[a]|=t),n&=~o}}var Ke=0;function Au(e){return e&=-e,1<e?4<e?e&268435455?16:536870912:4:1}var Fu,yc,Iu,_u,Ou,Ds=!1,ai=[],wr=null,kr=null,Sr=null,bo=new Map,xo=new Map,yr=[],ih="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" ");function fp(e,t){switch(e){case"focusin":case"focusout":wr=null;break;case"dragenter":case"dragleave":kr=null;break;case"mouseover":case"mouseout":Sr=null;break;case"pointerover":case"pointerout":bo.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":xo.delete(t.pointerId)}}function Ya(e,t,n,a,o,i){return e===null||e.nativeEvent!==i?(e={blockedOn:t,domEventName:n,eventSystemFlags:a,nativeEvent:i,targetContainers:[o]},t!==null&&(t=Fo(t),t!==null&&yc(t)),e):(e.eventSystemFlags|=a,t=e.targetContainers,o!==null&&t.indexOf(o)===-1&&t.push(o),e)}function lh(e,t,n,a,o){switch(t){case"focusin":return wr=Ya(wr,e,t,n,a,o),!0;case"dragenter":return kr=Ya(kr,e,t,n,a,o),!0;case"mouseover":return Sr=Ya(Sr,e,t,n,a,o),!0;case"pointerover":var i=o.pointerId;return bo.set(i,Ya(bo.get(i)||null,e,t,n,a,o)),!0;case"gotpointercapture":return i=o.pointerId,xo.set(i,Ya(xo.get(i)||null,e,t,n,a,o)),!0}return!1}function ju(e){var t=$r(e.target);if(t!==null){var n=ta(t);if(n!==null){if(t=n.tag,t===13){if(t=Mu(n),t!==null){e.blockedOn=t,Ou(e.priority,function(){Iu(n)});return}}else if(t===3&&n.stateNode.current.memoizedState.isDehydrated){e.blockedOn=n.tag===3?n.stateNode.containerInfo:null;return}}}e.blockedOn=null}function vi(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var n=As(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(n===null){n=e.nativeEvent;var a=new n.constructor(n.type,n);Es=a,n.target.dispatchEvent(a),Es=null}else return t=Fo(n),t!==null&&yc(t),e.blockedOn=n,!1;t.shift()}return!0}function gp(e,t,n){vi(e)&&n.delete(t)}function sh(){Ds=!1,wr!==null&&vi(wr)&&(wr=null),kr!==null&&vi(kr)&&(kr=null),Sr!==null&&vi(Sr)&&(Sr=null),bo.forEach(gp),xo.forEach(gp)}function Qa(e,t){e.blockedOn===t&&(e.blockedOn=null,Ds||(Ds=!0,ln.unstable_scheduleCallback(ln.unstable_NormalPriority,sh)))}function wo(e){function t(o){return Qa(o,e)}if(0<ai.length){Qa(ai[0],e);for(var n=1;n<ai.length;n++){var a=ai[n];a.blockedOn===e&&(a.blockedOn=null)}}for(wr!==null&&Qa(wr,e),kr!==null&&Qa(kr,e),Sr!==null&&Qa(Sr,e),bo.forEach(t),xo.forEach(t),n=0;n<yr.length;n++)a=yr[n],a.blockedOn===e&&(a.blockedOn=null);for(;0<yr.length&&(n=yr[0],n.blockedOn===null);)ju(n),n.blockedOn===null&&yr.shift()}var Ca=or.ReactCurrentBatchConfig,Di=!0;function ch(e,t,n,a){var o=Ke,i=Ca.transition;Ca.transition=null;try{Ke=1,vc(e,t,n,a)}finally{Ke=o,Ca.transition=i}}function dh(e,t,n,a){var o=Ke,i=Ca.transition;Ca.transition=null;try{Ke=4,vc(e,t,n,a)}finally{Ke=o,Ca.transition=i}}function vc(e,t,n,a){if(Di){var o=As(e,t,n,a);if(o===null)os(e,t,a,Ai,n),fp(e,a);else if(lh(o,e,t,n,a))a.stopPropagation();else if(fp(e,a),t&4&&-1<ih.indexOf(e)){for(;o!==null;){var i=Fo(o);if(i!==null&&Fu(i),i=As(e,t,n,a),i===null&&os(e,t,a,Ai,n),i===o)break;o=i}o!==null&&a.stopPropagation()}else os(e,t,a,null,n)}}var Ai=null;function As(e,t,n,a){if(Ai=null,e=fc(a),e=$r(e),e!==null)if(t=ta(e),t===null)e=null;else if(n=t.tag,n===13){if(e=Mu(t),e!==null)return e;e=null}else if(n===3){if(t.stateNode.current.memoizedState.isDehydrated)return t.tag===3?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null);return Ai=e,null}function Bu(e){switch(e){case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 1;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"toggle":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 4;case"message":switch(Xg()){case gc:return 1;case Lu:return 4;case Li:case Jg:return 16;case Pu:return 536870912;default:return 16}default:return 16}}var br=null,bc=null,bi=null;function Hu(){if(bi)return bi;var e,t=bc,n=t.length,a,o="value"in br?br.value:br.textContent,i=o.length;for(e=0;e<n&&t[e]===o[e];e++);var l=n-e;for(a=1;a<=l&&t[n-a]===o[i-a];a++);return bi=o.slice(e,1<a?1-a:void 0)}function xi(e){var t=e.keyCode;return"charCode"in e?(e=e.charCode,e===0&&t===13&&(e=13)):e=t,e===10&&(e=13),32<=e||e===13?e:0}function oi(){return!0}function hp(){return!1}function sn(e){function t(n,a,o,i,l){this._reactName=n,this._targetInst=o,this.type=a,this.nativeEvent=i,this.target=l,this.currentTarget=null;for(var s in e)e.hasOwnProperty(s)&&(n=e[s],this[s]=n?n(i):i[s]);return this.isDefaultPrevented=(i.defaultPrevented!=null?i.defaultPrevented:i.returnValue===!1)?oi:hp,this.isPropagationStopped=hp,this}return ct(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var n=this.nativeEvent;n&&(n.preventDefault?n.preventDefault():typeof n.returnValue!="unknown"&&(n.returnValue=!1),this.isDefaultPrevented=oi)},stopPropagation:function(){var n=this.nativeEvent;n&&(n.stopPropagation?n.stopPropagation():typeof n.cancelBubble!="unknown"&&(n.cancelBubble=!0),this.isPropagationStopped=oi)},persist:function(){},isPersistent:oi}),t}var Aa={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},xc=sn(Aa),Ao=ct({},Aa,{view:0,detail:0}),ph=sn(Ao),Zl,es,Xa,Zi=ct({},Ao,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:wc,button:0,buttons:0,relatedTarget:function(e){return e.relatedTarget===void 0?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==Xa&&(Xa&&e.type==="mousemove"?(Zl=e.screenX-Xa.screenX,es=e.screenY-Xa.screenY):es=Zl=0,Xa=e),Zl)},movementY:function(e){return"movementY"in e?e.movementY:es}}),yp=sn(Zi),uh=ct({},Zi,{dataTransfer:0}),mh=sn(uh),fh=ct({},Ao,{relatedTarget:0}),ts=sn(fh),gh=ct({},Aa,{animationName:0,elapsedTime:0,pseudoElement:0}),hh=sn(gh),yh=ct({},Aa,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),vh=sn(yh),bh=ct({},Aa,{data:0}),vp=sn(bh),xh={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},wh={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"},kh={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function Sh(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=kh[e])?!!t[e]:!1}function wc(){return Sh}var Ch=ct({},Ao,{key:function(e){if(e.key){var t=xh[e.key]||e.key;if(t!=="Unidentified")return t}return e.type==="keypress"?(e=xi(e),e===13?"Enter":String.fromCharCode(e)):e.type==="keydown"||e.type==="keyup"?wh[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:wc,charCode:function(e){return e.type==="keypress"?xi(e):0},keyCode:function(e){return e.type==="keydown"||e.type==="keyup"?e.keyCode:0},which:function(e){return e.type==="keypress"?xi(e):e.type==="keydown"||e.type==="keyup"?e.keyCode:0}}),Nh=sn(Ch),Th=ct({},Zi,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),bp=sn(Th),Mh=ct({},Ao,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:wc}),Eh=sn(Mh),zh=ct({},Aa,{propertyName:0,elapsedTime:0,pseudoElement:0}),Rh=sn(zh),Lh=ct({},Zi,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),Ph=sn(Lh),Dh=[9,13,27,32],kc=tr&&"CompositionEvent"in window,so=null;tr&&"documentMode"in document&&(so=document.documentMode);var Ah=tr&&"TextEvent"in window&&!so,Wu=tr&&(!kc||so&&8<so&&11>=so),xp=" ",wp=!1;function Uu(e,t){switch(e){case"keyup":return Dh.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function $u(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var pa=!1;function Fh(e,t){switch(e){case"compositionend":return $u(t);case"keypress":return t.which!==32?null:(wp=!0,xp);case"textInput":return e=t.data,e===xp&&wp?null:e;default:return null}}function Ih(e,t){if(pa)return e==="compositionend"||!kc&&Uu(e,t)?(e=Hu(),bi=bc=br=null,pa=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return Wu&&t.locale!=="ko"?null:t.data;default:return null}}var _h={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 kp(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t==="input"?!!_h[e.type]:t==="textarea"}function Vu(e,t,n,a){ku(a),t=Fi(t,"onChange"),0<t.length&&(n=new xc("onChange","change",null,n,a),e.push({event:n,listeners:t}))}var co=null,ko=null;function Oh(e){nm(e,0)}function el(e){var t=fa(e);if(gu(t))return e}function jh(e,t){if(e==="change")return t}var Gu=!1;tr&&(tr?(li="oninput"in document,li||(ns=document.createElement("div"),ns.setAttribute("oninput","return;"),li=typeof ns.oninput=="function"),ii=li):ii=!1,Gu=ii&&(!document.documentMode||9<document.documentMode));var ii,li,ns;function Sp(){co&&(co.detachEvent("onpropertychange",Ku),ko=co=null)}function Ku(e){if(e.propertyName==="value"&&el(ko)){var t=[];Vu(t,ko,e,fc(e)),Tu(Oh,t)}}function Bh(e,t,n){e==="focusin"?(Sp(),co=t,ko=n,co.attachEvent("onpropertychange",Ku)):e==="focusout"&&Sp()}function Hh(e){if(e==="selectionchange"||e==="keyup"||e==="keydown")return el(ko)}function Wh(e,t){if(e==="click")return el(t)}function Uh(e,t){if(e==="input"||e==="change")return el(t)}function $h(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var Dn=typeof Object.is=="function"?Object.is:$h;function So(e,t){if(Dn(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;var n=Object.keys(e),a=Object.keys(t);if(n.length!==a.length)return!1;for(a=0;a<n.length;a++){var o=n[a];if(!hs.call(t,o)||!Dn(e[o],t[o]))return!1}return!0}function Cp(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function Np(e,t){var n=Cp(e);e=0;for(var a;n;){if(n.nodeType===3){if(a=e+n.textContent.length,e<=t&&a>=t)return{node:n,offset:t-e};e=a}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=Cp(n)}}function qu(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?qu(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Yu(){for(var e=window,t=Ei();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=Ei(e.document)}return t}function Sc(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function Vh(e){var t=Yu(),n=e.focusedElem,a=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&qu(n.ownerDocument.documentElement,n)){if(a!==null&&Sc(n)){if(t=a.start,e=a.end,e===void 0&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if(e=(t=n.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var o=n.textContent.length,i=Math.min(a.start,o);a=a.end===void 0?i:Math.min(a.end,o),!e.extend&&i>a&&(o=a,a=i,i=o),o=Np(n,i);var l=Np(n,a);o&&l&&(e.rangeCount!==1||e.anchorNode!==o.node||e.anchorOffset!==o.offset||e.focusNode!==l.node||e.focusOffset!==l.offset)&&(t=t.createRange(),t.setStart(o.node,o.offset),e.removeAllRanges(),i>a?(e.addRange(t),e.extend(l.node,l.offset)):(t.setEnd(l.node,l.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n<t.length;n++)e=t[n],e.element.scrollLeft=e.left,e.element.scrollTop=e.top}}var Gh=tr&&"documentMode"in document&&11>=document.documentMode,ua=null,Fs=null,po=null,Is=!1;function Tp(e,t,n){var a=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Is||ua==null||ua!==Ei(a)||(a=ua,"selectionStart"in a&&Sc(a)?a={start:a.selectionStart,end:a.selectionEnd}:(a=(a.ownerDocument&&a.ownerDocument.defaultView||window).getSelection(),a={anchorNode:a.anchorNode,anchorOffset:a.anchorOffset,focusNode:a.focusNode,focusOffset:a.focusOffset}),po&&So(po,a)||(po=a,a=Fi(Fs,"onSelect"),0<a.length&&(t=new xc("onSelect","select",null,t,n),e.push({event:t,listeners:a}),t.target=ua)))}function si(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var ma={animationend:si("Animation","AnimationEnd"),animationiteration:si("Animation","AnimationIteration"),animationstart:si("Animation","AnimationStart"),transitionend:si("Transition","TransitionEnd")},rs={},Qu={};tr&&(Qu=document.createElement("div").style,"AnimationEvent"in window||(delete ma.animationend.animation,delete ma.animationiteration.animation,delete ma.animationstart.animation),"TransitionEvent"in window||delete ma.transitionend.transition);function tl(e){if(rs[e])return rs[e];if(!ma[e])return e;var t=ma[e],n;for(n in t)if(t.hasOwnProperty(n)&&n in Qu)return rs[e]=t[n];return e}var Xu=tl("animationend"),Ju=tl("animationiteration"),Zu=tl("animationstart"),em=tl("transitionend"),tm=new Map,Mp="abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");function Lr(e,t){tm.set(e,t),ea(t,[e])}for(ci=0;ci<Mp.length;ci++)di=Mp[ci],Ep=di.toLowerCase(),zp=di[0].toUpperCase()+di.slice(1),Lr(Ep,"on"+zp);var di,Ep,zp,ci;Lr(Xu,"onAnimationEnd");Lr(Ju,"onAnimationIteration");Lr(Zu,"onAnimationStart");Lr("dblclick","onDoubleClick");Lr("focusin","onFocus");Lr("focusout","onBlur");Lr(em,"onTransitionEnd");Ma("onMouseEnter",["mouseout","mouseover"]);Ma("onMouseLeave",["mouseout","mouseover"]);Ma("onPointerEnter",["pointerout","pointerover"]);Ma("onPointerLeave",["pointerout","pointerover"]);ea("onChange","change click focusin focusout input keydown keyup selectionchange".split(" "));ea("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" "));ea("onBeforeInput",["compositionend","keypress","textInput","paste"]);ea("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" "));ea("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" "));ea("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var oo="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(" "),Kh=new Set("cancel close invalid load scroll toggle".split(" ").concat(oo));function Rp(e,t,n){var a=e.type||"unknown-event";e.currentTarget=n,Kg(a,t,void 0,e),e.currentTarget=null}function nm(e,t){t=(t&4)!==0;for(var n=0;n<e.length;n++){var a=e[n],o=a.event;a=a.listeners;e:{var i=void 0;if(t)for(var l=a.length-1;0<=l;l--){var s=a[l],c=s.instance,p=s.currentTarget;if(s=s.listener,c!==i&&o.isPropagationStopped())break e;Rp(o,s,p),i=c}else for(l=0;l<a.length;l++){if(s=a[l],c=s.instance,p=s.currentTarget,s=s.listener,c!==i&&o.isPropagationStopped())break e;Rp(o,s,p),i=c}}}if(Ri)throw e=Ls,Ri=!1,Ls=null,e}function nt(e,t){var n=t[Hs];n===void 0&&(n=t[Hs]=new Set);var a=e+"__bubble";n.has(a)||(rm(t,e,2,!1),n.add(a))}function as(e,t,n){var a=0;t&&(a|=4),rm(n,e,a,t)}var pi="_reactListening"+Math.random().toString(36).slice(2);function Co(e){if(!e[pi]){e[pi]=!0,du.forEach(function(n){n!=="selectionchange"&&(Kh.has(n)||as(n,!1,e),as(n,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[pi]||(t[pi]=!0,as("selectionchange",!1,t))}}function rm(e,t,n,a){switch(Bu(t)){case 1:var o=ch;break;case 4:o=dh;break;default:o=vc}n=o.bind(null,t,n,e),o=void 0,!Rs||t!=="touchstart"&&t!=="touchmove"&&t!=="wheel"||(o=!0),a?o!==void 0?e.addEventListener(t,n,{capture:!0,passive:o}):e.addEventListener(t,n,!0):o!==void 0?e.addEventListener(t,n,{passive:o}):e.addEventListener(t,n,!1)}function os(e,t,n,a,o){var i=a;if(!(t&1)&&!(t&2)&&a!==null)e:for(;;){if(a===null)return;var l=a.tag;if(l===3||l===4){var s=a.stateNode.containerInfo;if(s===o||s.nodeType===8&&s.parentNode===o)break;if(l===4)for(l=a.return;l!==null;){var c=l.tag;if((c===3||c===4)&&(c=l.stateNode.containerInfo,c===o||c.nodeType===8&&c.parentNode===o))return;l=l.return}for(;s!==null;){if(l=$r(s),l===null)return;if(c=l.tag,c===5||c===6){a=i=l;continue e}s=s.parentNode}}a=a.return}Tu(function(){var p=i,f=fc(n),g=[];e:{var y=tm.get(e);if(y!==void 0){var S=xc,R=e;switch(e){case"keypress":if(xi(n)===0)break e;case"keydown":case"keyup":S=Nh;break;case"focusin":R="focus",S=ts;break;case"focusout":R="blur",S=ts;break;case"beforeblur":case"afterblur":S=ts;break;case"click":if(n.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":S=yp;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":S=mh;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":S=Eh;break;case Xu:case Ju:case Zu:S=hh;break;case em:S=Rh;break;case"scroll":S=ph;break;case"wheel":S=Ph;break;case"copy":case"cut":case"paste":S=vh;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":S=bp}var M=(t&4)!==0,O=!M&&e==="scroll",h=M?y!==null?y+"Capture":null:y;M=[];for(var m=p,b;m!==null;){b=m;var P=b.stateNode;if(b.tag===5&&P!==null&&(b=P,h!==null&&(P=vo(m,h),P!=null&&M.push(No(m,P,b)))),O)break;m=m.return}0<M.length&&(y=new S(y,R,null,n,f),g.push({event:y,listeners:M}))}}if(!(t&7)){e:{if(y=e==="mouseover"||e==="pointerover",S=e==="mouseout"||e==="pointerout",y&&n!==Es&&(R=n.relatedTarget||n.fromElement)&&($r(R)||R[nr]))break e;if((S||y)&&(y=f.window===f?f:(y=f.ownerDocument)?y.defaultView||y.parentWindow:window,S?(R=n.relatedTarget||n.toElement,S=p,R=R?$r(R):null,R!==null&&(O=ta(R),R!==O||R.tag!==5&&R.tag!==6)&&(R=null)):(S=null,R=p),S!==R)){if(M=yp,P="onMouseLeave",h="onMouseEnter",m="mouse",(e==="pointerout"||e==="pointerover")&&(M=bp,P="onPointerLeave",h="onPointerEnter",m="pointer"),O=S==null?y:fa(S),b=R==null?y:fa(R),y=new M(P,m+"leave",S,n,f),y.target=O,y.relatedTarget=b,P=null,$r(f)===p&&(M=new M(h,m+"enter",R,n,f),M.target=b,M.relatedTarget=O,P=M),O=P,S&&R)t:{for(M=S,h=R,m=0,b=M;b;b=sa(b))m++;for(b=0,P=h;P;P=sa(P))b++;for(;0<m-b;)M=sa(M),m--;for(;0<b-m;)h=sa(h),b--;for(;m--;){if(M===h||h!==null&&M===h.alternate)break t;M=sa(M),h=sa(h)}M=null}else M=null;S!==null&&Lp(g,y,S,M,!1),R!==null&&O!==null&&Lp(g,O,R,M,!0)}}e:{if(y=p?fa(p):window,S=y.nodeName&&y.nodeName.toLowerCase(),S==="select"||S==="input"&&y.type==="file")var j=jh;else if(kp(y))if(Gu)j=Uh;else{j=Hh;var D=Bh}else(S=y.nodeName)&&S.toLowerCase()==="input"&&(y.type==="checkbox"||y.type==="radio")&&(j=Wh);if(j&&(j=j(e,p))){Vu(g,j,n,f);break e}D&&D(e,y,p),e==="focusout"&&(D=y._wrapperState)&&D.controlled&&y.type==="number"&&Ss(y,"number",y.value)}switch(D=p?fa(p):window,e){case"focusin":(kp(D)||D.contentEditable==="true")&&(ua=D,Fs=p,po=null);break;case"focusout":po=Fs=ua=null;break;case"mousedown":Is=!0;break;case"contextmenu":case"mouseup":case"dragend":Is=!1,Tp(g,n,f);break;case"selectionchange":if(Gh)break;case"keydown":case"keyup":Tp(g,n,f)}var L;if(kc)e:{switch(e){case"compositionstart":var _="onCompositionStart";break e;case"compositionend":_="onCompositionEnd";break e;case"compositionupdate":_="onCompositionUpdate";break e}_=void 0}else pa?Uu(e,n)&&(_="onCompositionEnd"):e==="keydown"&&n.keyCode===229&&(_="onCompositionStart");_&&(Wu&&n.locale!=="ko"&&(pa||_!=="onCompositionStart"?_==="onCompositionEnd"&&pa&&(L=Hu()):(br=f,bc="value"in br?br.value:br.textContent,pa=!0)),D=Fi(p,_),0<D.length&&(_=new vp(_,e,null,n,f),g.push({event:_,listeners:D}),L?_.data=L:(L=$u(n),L!==null&&(_.data=L)))),(L=Ah?Fh(e,n):Ih(e,n))&&(p=Fi(p,"onBeforeInput"),0<p.length&&(f=new vp("onBeforeInput","beforeinput",null,n,f),g.push({event:f,listeners:p}),f.data=L))}nm(g,t)})}function No(e,t,n){return{instance:e,listener:t,currentTarget:n}}function Fi(e,t){for(var n=t+"Capture",a=[];e!==null;){var o=e,i=o.stateNode;o.tag===5&&i!==null&&(o=i,i=vo(e,n),i!=null&&a.unshift(No(e,i,o)),i=vo(e,t),i!=null&&a.push(No(e,i,o))),e=e.return}return a}function sa(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5);return e||null}function Lp(e,t,n,a,o){for(var i=t._reactName,l=[];n!==null&&n!==a;){var s=n,c=s.alternate,p=s.stateNode;if(c!==null&&c===a)break;s.tag===5&&p!==null&&(s=p,o?(c=vo(n,i),c!=null&&l.unshift(No(n,c,s))):o||(c=vo(n,i),c!=null&&l.push(No(n,c,s)))),n=n.return}l.length!==0&&e.push({event:t,listeners:l})}var qh=/\r\n?/g,Yh=/\u0000|\uFFFD/g;function Pp(e){return(typeof e=="string"?e:""+e).replace(qh,`
6
+ `).replace(Yh,"")}function ui(e,t,n){if(t=Pp(t),Pp(e)!==t&&n)throw Error(Q(425))}function Ii(){}var _s=null,Os=null;function js(e,t){return e==="textarea"||e==="noscript"||typeof t.children=="string"||typeof t.children=="number"||typeof t.dangerouslySetInnerHTML=="object"&&t.dangerouslySetInnerHTML!==null&&t.dangerouslySetInnerHTML.__html!=null}var Bs=typeof setTimeout=="function"?setTimeout:void 0,Qh=typeof clearTimeout=="function"?clearTimeout:void 0,Dp=typeof Promise=="function"?Promise:void 0,Xh=typeof queueMicrotask=="function"?queueMicrotask:typeof Dp<"u"?function(e){return Dp.resolve(null).then(e).catch(Jh)}:Bs;function Jh(e){setTimeout(function(){throw e})}function is(e,t){var n=t,a=0;do{var o=n.nextSibling;if(e.removeChild(n),o&&o.nodeType===8)if(n=o.data,n==="/$"){if(a===0){e.removeChild(o),wo(t);return}a--}else n!=="$"&&n!=="$?"&&n!=="$!"||a++;n=o}while(n);wo(t)}function Cr(e){for(;e!=null;e=e.nextSibling){var t=e.nodeType;if(t===1||t===3)break;if(t===8){if(t=e.data,t==="$"||t==="$!"||t==="$?")break;if(t==="/$")return null}}return e}function Ap(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n==="$"||n==="$!"||n==="$?"){if(t===0)return e;t--}else n==="/$"&&t++}e=e.previousSibling}return null}var Fa=Math.random().toString(36).slice(2),Vn="__reactFiber$"+Fa,To="__reactProps$"+Fa,nr="__reactContainer$"+Fa,Hs="__reactEvents$"+Fa,Zh="__reactListeners$"+Fa,ey="__reactHandles$"+Fa;function $r(e){var t=e[Vn];if(t)return t;for(var n=e.parentNode;n;){if(t=n[nr]||n[Vn]){if(n=t.alternate,t.child!==null||n!==null&&n.child!==null)for(e=Ap(e);e!==null;){if(n=e[Vn])return n;e=Ap(e)}return t}e=n,n=e.parentNode}return null}function Fo(e){return e=e[Vn]||e[nr],!e||e.tag!==5&&e.tag!==6&&e.tag!==13&&e.tag!==3?null:e}function fa(e){if(e.tag===5||e.tag===6)return e.stateNode;throw Error(Q(33))}function nl(e){return e[To]||null}var Ws=[],ga=-1;function Pr(e){return{current:e}}function rt(e){0>ga||(e.current=Ws[ga],Ws[ga]=null,ga--)}function et(e,t){ga++,Ws[ga]=e.current,e.current=t}var Rr={},Bt=Pr(Rr),Xt=Pr(!1),Yr=Rr;function Ea(e,t){var n=e.type.contextTypes;if(!n)return Rr;var a=e.stateNode;if(a&&a.__reactInternalMemoizedUnmaskedChildContext===t)return a.__reactInternalMemoizedMaskedChildContext;var o={},i;for(i in n)o[i]=t[i];return a&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=o),o}function Jt(e){return e=e.childContextTypes,e!=null}function _i(){rt(Xt),rt(Bt)}function Fp(e,t,n){if(Bt.current!==Rr)throw Error(Q(168));et(Bt,t),et(Xt,n)}function am(e,t,n){var a=e.stateNode;if(t=t.childContextTypes,typeof a.getChildContext!="function")return n;a=a.getChildContext();for(var o in a)if(!(o in t))throw Error(Q(108,Bg(e)||"Unknown",o));return ct({},n,a)}function Oi(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Rr,Yr=Bt.current,et(Bt,e),et(Xt,Xt.current),!0}function Ip(e,t,n){var a=e.stateNode;if(!a)throw Error(Q(169));n?(e=am(e,t,Yr),a.__reactInternalMemoizedMergedChildContext=e,rt(Xt),rt(Bt),et(Bt,e)):rt(Xt),et(Xt,n)}var Xn=null,rl=!1,ls=!1;function om(e){Xn===null?Xn=[e]:Xn.push(e)}function ty(e){rl=!0,om(e)}function Dr(){if(!ls&&Xn!==null){ls=!0;var e=0,t=Ke;try{var n=Xn;for(Ke=1;e<n.length;e++){var a=n[e];do a=a(!0);while(a!==null)}Xn=null,rl=!1}catch(o){throw Xn!==null&&(Xn=Xn.slice(e+1)),Ru(gc,Dr),o}finally{Ke=t,ls=!1}}return null}var ha=[],ya=0,ji=null,Bi=0,gn=[],hn=0,Qr=null,Jn=1,Zn="";function Wr(e,t){ha[ya++]=Bi,ha[ya++]=ji,ji=e,Bi=t}function im(e,t,n){gn[hn++]=Jn,gn[hn++]=Zn,gn[hn++]=Qr,Qr=e;var a=Jn;e=Zn;var o=32-Ln(a)-1;a&=~(1<<o),n+=1;var i=32-Ln(t)+o;if(30<i){var l=o-o%5;i=(a&(1<<l)-1).toString(32),a>>=l,o-=l,Jn=1<<32-Ln(t)+o|n<<o|a,Zn=i+e}else Jn=1<<i|n<<o|a,Zn=e}function Cc(e){e.return!==null&&(Wr(e,1),im(e,1,0))}function Nc(e){for(;e===ji;)ji=ha[--ya],ha[ya]=null,Bi=ha[--ya],ha[ya]=null;for(;e===Qr;)Qr=gn[--hn],gn[hn]=null,Zn=gn[--hn],gn[hn]=null,Jn=gn[--hn],gn[hn]=null}var on=null,an=null,at=!1,Rn=null;function lm(e,t){var n=yn(5,null,null,0);n.elementType="DELETED",n.stateNode=t,n.return=e,t=e.deletions,t===null?(e.deletions=[n],e.flags|=16):t.push(n)}function _p(e,t){switch(e.tag){case 5:var n=e.type;return t=t.nodeType!==1||n.toLowerCase()!==t.nodeName.toLowerCase()?null:t,t!==null?(e.stateNode=t,on=e,an=Cr(t.firstChild),!0):!1;case 6:return t=e.pendingProps===""||t.nodeType!==3?null:t,t!==null?(e.stateNode=t,on=e,an=null,!0):!1;case 13:return t=t.nodeType!==8?null:t,t!==null?(n=Qr!==null?{id:Jn,overflow:Zn}:null,e.memoizedState={dehydrated:t,treeContext:n,retryLane:1073741824},n=yn(18,null,null,0),n.stateNode=t,n.return=e,e.child=n,on=e,an=null,!0):!1;default:return!1}}function Us(e){return(e.mode&1)!==0&&(e.flags&128)===0}function $s(e){if(at){var t=an;if(t){var n=t;if(!_p(e,t)){if(Us(e))throw Error(Q(418));t=Cr(n.nextSibling);var a=on;t&&_p(e,t)?lm(a,n):(e.flags=e.flags&-4097|2,at=!1,on=e)}}else{if(Us(e))throw Error(Q(418));e.flags=e.flags&-4097|2,at=!1,on=e}}}function Op(e){for(e=e.return;e!==null&&e.tag!==5&&e.tag!==3&&e.tag!==13;)e=e.return;on=e}function mi(e){if(e!==on)return!1;if(!at)return Op(e),at=!0,!1;var t;if((t=e.tag!==3)&&!(t=e.tag!==5)&&(t=e.type,t=t!=="head"&&t!=="body"&&!js(e.type,e.memoizedProps)),t&&(t=an)){if(Us(e))throw sm(),Error(Q(418));for(;t;)lm(e,t),t=Cr(t.nextSibling)}if(Op(e),e.tag===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(Q(317));e:{for(e=e.nextSibling,t=0;e;){if(e.nodeType===8){var n=e.data;if(n==="/$"){if(t===0){an=Cr(e.nextSibling);break e}t--}else n!=="$"&&n!=="$!"&&n!=="$?"||t++}e=e.nextSibling}an=null}}else an=on?Cr(e.stateNode.nextSibling):null;return!0}function sm(){for(var e=an;e;)e=Cr(e.nextSibling)}function za(){an=on=null,at=!1}function Tc(e){Rn===null?Rn=[e]:Rn.push(e)}var ny=or.ReactCurrentBatchConfig;function Ja(e,t,n){if(e=n.ref,e!==null&&typeof e!="function"&&typeof e!="object"){if(n._owner){if(n=n._owner,n){if(n.tag!==1)throw Error(Q(309));var a=n.stateNode}if(!a)throw Error(Q(147,e));var o=a,i=""+e;return t!==null&&t.ref!==null&&typeof t.ref=="function"&&t.ref._stringRef===i?t.ref:(t=function(l){var s=o.refs;l===null?delete s[i]:s[i]=l},t._stringRef=i,t)}if(typeof e!="string")throw Error(Q(284));if(!n._owner)throw Error(Q(290,e))}return e}function fi(e,t){throw e=Object.prototype.toString.call(t),Error(Q(31,e==="[object Object]"?"object with keys {"+Object.keys(t).join(", ")+"}":e))}function jp(e){var t=e._init;return t(e._payload)}function cm(e){function t(h,m){if(e){var b=h.deletions;b===null?(h.deletions=[m],h.flags|=16):b.push(m)}}function n(h,m){if(!e)return null;for(;m!==null;)t(h,m),m=m.sibling;return null}function a(h,m){for(h=new Map;m!==null;)m.key!==null?h.set(m.key,m):h.set(m.index,m),m=m.sibling;return h}function o(h,m){return h=Er(h,m),h.index=0,h.sibling=null,h}function i(h,m,b){return h.index=b,e?(b=h.alternate,b!==null?(b=b.index,b<m?(h.flags|=2,m):b):(h.flags|=2,m)):(h.flags|=1048576,m)}function l(h){return e&&h.alternate===null&&(h.flags|=2),h}function s(h,m,b,P){return m===null||m.tag!==6?(m=fs(b,h.mode,P),m.return=h,m):(m=o(m,b),m.return=h,m)}function c(h,m,b,P){var j=b.type;return j===da?f(h,m,b.props.children,P,b.key):m!==null&&(m.elementType===j||typeof j=="object"&&j!==null&&j.$$typeof===gr&&jp(j)===m.type)?(P=o(m,b.props),P.ref=Ja(h,m,b),P.return=h,P):(P=Mi(b.type,b.key,b.props,null,h.mode,P),P.ref=Ja(h,m,b),P.return=h,P)}function p(h,m,b,P){return m===null||m.tag!==4||m.stateNode.containerInfo!==b.containerInfo||m.stateNode.implementation!==b.implementation?(m=gs(b,h.mode,P),m.return=h,m):(m=o(m,b.children||[]),m.return=h,m)}function f(h,m,b,P,j){return m===null||m.tag!==7?(m=qr(b,h.mode,P,j),m.return=h,m):(m=o(m,b),m.return=h,m)}function g(h,m,b){if(typeof m=="string"&&m!==""||typeof m=="number")return m=fs(""+m,h.mode,b),m.return=h,m;if(typeof m=="object"&&m!==null){switch(m.$$typeof){case Zo:return b=Mi(m.type,m.key,m.props,null,h.mode,b),b.ref=Ja(h,null,m),b.return=h,b;case ca:return m=gs(m,h.mode,b),m.return=h,m;case gr:var P=m._init;return g(h,P(m._payload),b)}if(ro(m)||qa(m))return m=qr(m,h.mode,b,null),m.return=h,m;fi(h,m)}return null}function y(h,m,b,P){var j=m!==null?m.key:null;if(typeof b=="string"&&b!==""||typeof b=="number")return j!==null?null:s(h,m,""+b,P);if(typeof b=="object"&&b!==null){switch(b.$$typeof){case Zo:return b.key===j?c(h,m,b,P):null;case ca:return b.key===j?p(h,m,b,P):null;case gr:return j=b._init,y(h,m,j(b._payload),P)}if(ro(b)||qa(b))return j!==null?null:f(h,m,b,P,null);fi(h,b)}return null}function S(h,m,b,P,j){if(typeof P=="string"&&P!==""||typeof P=="number")return h=h.get(b)||null,s(m,h,""+P,j);if(typeof P=="object"&&P!==null){switch(P.$$typeof){case Zo:return h=h.get(P.key===null?b:P.key)||null,c(m,h,P,j);case ca:return h=h.get(P.key===null?b:P.key)||null,p(m,h,P,j);case gr:var D=P._init;return S(h,m,b,D(P._payload),j)}if(ro(P)||qa(P))return h=h.get(b)||null,f(m,h,P,j,null);fi(m,P)}return null}function R(h,m,b,P){for(var j=null,D=null,L=m,_=m=0,U=null;L!==null&&_<b.length;_++){L.index>_?(U=L,L=null):U=L.sibling;var $=y(h,L,b[_],P);if($===null){L===null&&(L=U);break}e&&L&&$.alternate===null&&t(h,L),m=i($,m,_),D===null?j=$:D.sibling=$,D=$,L=U}if(_===b.length)return n(h,L),at&&Wr(h,_),j;if(L===null){for(;_<b.length;_++)L=g(h,b[_],P),L!==null&&(m=i(L,m,_),D===null?j=L:D.sibling=L,D=L);return at&&Wr(h,_),j}for(L=a(h,L);_<b.length;_++)U=S(L,h,_,b[_],P),U!==null&&(e&&U.alternate!==null&&L.delete(U.key===null?_:U.key),m=i(U,m,_),D===null?j=U:D.sibling=U,D=U);return e&&L.forEach(function(ce){return t(h,ce)}),at&&Wr(h,_),j}function M(h,m,b,P){var j=qa(b);if(typeof j!="function")throw Error(Q(150));if(b=j.call(b),b==null)throw Error(Q(151));for(var D=j=null,L=m,_=m=0,U=null,$=b.next();L!==null&&!$.done;_++,$=b.next()){L.index>_?(U=L,L=null):U=L.sibling;var ce=y(h,L,$.value,P);if(ce===null){L===null&&(L=U);break}e&&L&&ce.alternate===null&&t(h,L),m=i(ce,m,_),D===null?j=ce:D.sibling=ce,D=ce,L=U}if($.done)return n(h,L),at&&Wr(h,_),j;if(L===null){for(;!$.done;_++,$=b.next())$=g(h,$.value,P),$!==null&&(m=i($,m,_),D===null?j=$:D.sibling=$,D=$);return at&&Wr(h,_),j}for(L=a(h,L);!$.done;_++,$=b.next())$=S(L,h,_,$.value,P),$!==null&&(e&&$.alternate!==null&&L.delete($.key===null?_:$.key),m=i($,m,_),D===null?j=$:D.sibling=$,D=$);return e&&L.forEach(function(ge){return t(h,ge)}),at&&Wr(h,_),j}function O(h,m,b,P){if(typeof b=="object"&&b!==null&&b.type===da&&b.key===null&&(b=b.props.children),typeof b=="object"&&b!==null){switch(b.$$typeof){case Zo:e:{for(var j=b.key,D=m;D!==null;){if(D.key===j){if(j=b.type,j===da){if(D.tag===7){n(h,D.sibling),m=o(D,b.props.children),m.return=h,h=m;break e}}else if(D.elementType===j||typeof j=="object"&&j!==null&&j.$$typeof===gr&&jp(j)===D.type){n(h,D.sibling),m=o(D,b.props),m.ref=Ja(h,D,b),m.return=h,h=m;break e}n(h,D);break}else t(h,D);D=D.sibling}b.type===da?(m=qr(b.props.children,h.mode,P,b.key),m.return=h,h=m):(P=Mi(b.type,b.key,b.props,null,h.mode,P),P.ref=Ja(h,m,b),P.return=h,h=P)}return l(h);case ca:e:{for(D=b.key;m!==null;){if(m.key===D)if(m.tag===4&&m.stateNode.containerInfo===b.containerInfo&&m.stateNode.implementation===b.implementation){n(h,m.sibling),m=o(m,b.children||[]),m.return=h,h=m;break e}else{n(h,m);break}else t(h,m);m=m.sibling}m=gs(b,h.mode,P),m.return=h,h=m}return l(h);case gr:return D=b._init,O(h,m,D(b._payload),P)}if(ro(b))return R(h,m,b,P);if(qa(b))return M(h,m,b,P);fi(h,b)}return typeof b=="string"&&b!==""||typeof b=="number"?(b=""+b,m!==null&&m.tag===6?(n(h,m.sibling),m=o(m,b),m.return=h,h=m):(n(h,m),m=fs(b,h.mode,P),m.return=h,h=m),l(h)):n(h,m)}return O}var Ra=cm(!0),dm=cm(!1),Hi=Pr(null),Wi=null,va=null,Mc=null;function Ec(){Mc=va=Wi=null}function zc(e){var t=Hi.current;rt(Hi),e._currentValue=t}function Vs(e,t,n){for(;e!==null;){var a=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,a!==null&&(a.childLanes|=t)):a!==null&&(a.childLanes&t)!==t&&(a.childLanes|=t),e===n)break;e=e.return}}function Na(e,t){Wi=e,Mc=va=null,e=e.dependencies,e!==null&&e.firstContext!==null&&(e.lanes&t&&(Qt=!0),e.firstContext=null)}function bn(e){var t=e._currentValue;if(Mc!==e)if(e={context:e,memoizedValue:t,next:null},va===null){if(Wi===null)throw Error(Q(308));va=e,Wi.dependencies={lanes:0,firstContext:e}}else va=va.next=e;return t}var Vr=null;function Rc(e){Vr===null?Vr=[e]:Vr.push(e)}function pm(e,t,n,a){var o=t.interleaved;return o===null?(n.next=n,Rc(t)):(n.next=o.next,o.next=n),t.interleaved=n,rr(e,a)}function rr(e,t){e.lanes|=t;var n=e.alternate;for(n!==null&&(n.lanes|=t),n=e,e=e.return;e!==null;)e.childLanes|=t,n=e.alternate,n!==null&&(n.childLanes|=t),n=e,e=e.return;return n.tag===3?n.stateNode:null}var hr=!1;function Lc(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function um(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function er(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function Nr(e,t,n){var a=e.updateQueue;if(a===null)return null;if(a=a.shared,Ve&2){var o=a.pending;return o===null?t.next=t:(t.next=o.next,o.next=t),a.pending=t,rr(e,n)}return o=a.interleaved,o===null?(t.next=t,Rc(a)):(t.next=o.next,o.next=t),a.interleaved=t,rr(e,n)}function wi(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,(n&4194240)!==0)){var a=t.lanes;a&=e.pendingLanes,n|=a,t.lanes=n,hc(e,n)}}function Bp(e,t){var n=e.updateQueue,a=e.alternate;if(a!==null&&(a=a.updateQueue,n===a)){var o=null,i=null;if(n=n.firstBaseUpdate,n!==null){do{var l={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};i===null?o=i=l:i=i.next=l,n=n.next}while(n!==null);i===null?o=i=t:i=i.next=t}else o=i=t;n={baseState:a.baseState,firstBaseUpdate:o,lastBaseUpdate:i,shared:a.shared,effects:a.effects},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function Ui(e,t,n,a){var o=e.updateQueue;hr=!1;var i=o.firstBaseUpdate,l=o.lastBaseUpdate,s=o.shared.pending;if(s!==null){o.shared.pending=null;var c=s,p=c.next;c.next=null,l===null?i=p:l.next=p,l=c;var f=e.alternate;f!==null&&(f=f.updateQueue,s=f.lastBaseUpdate,s!==l&&(s===null?f.firstBaseUpdate=p:s.next=p,f.lastBaseUpdate=c))}if(i!==null){var g=o.baseState;l=0,f=p=c=null,s=i;do{var y=s.lane,S=s.eventTime;if((a&y)===y){f!==null&&(f=f.next={eventTime:S,lane:0,tag:s.tag,payload:s.payload,callback:s.callback,next:null});e:{var R=e,M=s;switch(y=t,S=n,M.tag){case 1:if(R=M.payload,typeof R=="function"){g=R.call(S,g,y);break e}g=R;break e;case 3:R.flags=R.flags&-65537|128;case 0:if(R=M.payload,y=typeof R=="function"?R.call(S,g,y):R,y==null)break e;g=ct({},g,y);break e;case 2:hr=!0}}s.callback!==null&&s.lane!==0&&(e.flags|=64,y=o.effects,y===null?o.effects=[s]:y.push(s))}else S={eventTime:S,lane:y,tag:s.tag,payload:s.payload,callback:s.callback,next:null},f===null?(p=f=S,c=g):f=f.next=S,l|=y;if(s=s.next,s===null){if(s=o.shared.pending,s===null)break;y=s,s=y.next,y.next=null,o.lastBaseUpdate=y,o.shared.pending=null}}while(!0);if(f===null&&(c=g),o.baseState=c,o.firstBaseUpdate=p,o.lastBaseUpdate=f,t=o.shared.interleaved,t!==null){o=t;do l|=o.lane,o=o.next;while(o!==t)}else i===null&&(o.shared.lanes=0);Jr|=l,e.lanes=l,e.memoizedState=g}}function Hp(e,t,n){if(e=t.effects,t.effects=null,e!==null)for(t=0;t<e.length;t++){var a=e[t],o=a.callback;if(o!==null){if(a.callback=null,a=n,typeof o!="function")throw Error(Q(191,o));o.call(a)}}}var Io={},Kn=Pr(Io),Mo=Pr(Io),Eo=Pr(Io);function Gr(e){if(e===Io)throw Error(Q(174));return e}function Pc(e,t){switch(et(Eo,t),et(Mo,e),et(Kn,Io),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:Ns(null,"");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=Ns(t,e)}rt(Kn),et(Kn,t)}function La(){rt(Kn),rt(Mo),rt(Eo)}function mm(e){Gr(Eo.current);var t=Gr(Kn.current),n=Ns(t,e.type);t!==n&&(et(Mo,e),et(Kn,n))}function Dc(e){Mo.current===e&&(rt(Kn),rt(Mo))}var lt=Pr(0);function $i(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||n.data==="$?"||n.data==="$!"))return t}else if(t.tag===19&&t.memoizedProps.revealOrder!==void 0){if(t.flags&128)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var ss=[];function Ac(){for(var e=0;e<ss.length;e++)ss[e]._workInProgressVersionPrimary=null;ss.length=0}var ki=or.ReactCurrentDispatcher,cs=or.ReactCurrentBatchConfig,Xr=0,st=null,xt=null,Ct=null,Vi=!1,uo=!1,zo=0,ry=0;function _t(){throw Error(Q(321))}function Fc(e,t){if(t===null)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!Dn(e[n],t[n]))return!1;return!0}function Ic(e,t,n,a,o,i){if(Xr=i,st=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,ki.current=e===null||e.memoizedState===null?ly:sy,e=n(a,o),uo){i=0;do{if(uo=!1,zo=0,25<=i)throw Error(Q(301));i+=1,Ct=xt=null,t.updateQueue=null,ki.current=cy,e=n(a,o)}while(uo)}if(ki.current=Gi,t=xt!==null&&xt.next!==null,Xr=0,Ct=xt=st=null,Vi=!1,t)throw Error(Q(300));return e}function _c(){var e=zo!==0;return zo=0,e}function $n(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return Ct===null?st.memoizedState=Ct=e:Ct=Ct.next=e,Ct}function xn(){if(xt===null){var e=st.alternate;e=e!==null?e.memoizedState:null}else e=xt.next;var t=Ct===null?st.memoizedState:Ct.next;if(t!==null)Ct=t,xt=e;else{if(e===null)throw Error(Q(310));xt=e,e={memoizedState:xt.memoizedState,baseState:xt.baseState,baseQueue:xt.baseQueue,queue:xt.queue,next:null},Ct===null?st.memoizedState=Ct=e:Ct=Ct.next=e}return Ct}function Ro(e,t){return typeof t=="function"?t(e):t}function ds(e){var t=xn(),n=t.queue;if(n===null)throw Error(Q(311));n.lastRenderedReducer=e;var a=xt,o=a.baseQueue,i=n.pending;if(i!==null){if(o!==null){var l=o.next;o.next=i.next,i.next=l}a.baseQueue=o=i,n.pending=null}if(o!==null){i=o.next,a=a.baseState;var s=l=null,c=null,p=i;do{var f=p.lane;if((Xr&f)===f)c!==null&&(c=c.next={lane:0,action:p.action,hasEagerState:p.hasEagerState,eagerState:p.eagerState,next:null}),a=p.hasEagerState?p.eagerState:e(a,p.action);else{var g={lane:f,action:p.action,hasEagerState:p.hasEagerState,eagerState:p.eagerState,next:null};c===null?(s=c=g,l=a):c=c.next=g,st.lanes|=f,Jr|=f}p=p.next}while(p!==null&&p!==i);c===null?l=a:c.next=s,Dn(a,t.memoizedState)||(Qt=!0),t.memoizedState=a,t.baseState=l,t.baseQueue=c,n.lastRenderedState=a}if(e=n.interleaved,e!==null){o=e;do i=o.lane,st.lanes|=i,Jr|=i,o=o.next;while(o!==e)}else o===null&&(n.lanes=0);return[t.memoizedState,n.dispatch]}function ps(e){var t=xn(),n=t.queue;if(n===null)throw Error(Q(311));n.lastRenderedReducer=e;var a=n.dispatch,o=n.pending,i=t.memoizedState;if(o!==null){n.pending=null;var l=o=o.next;do i=e(i,l.action),l=l.next;while(l!==o);Dn(i,t.memoizedState)||(Qt=!0),t.memoizedState=i,t.baseQueue===null&&(t.baseState=i),n.lastRenderedState=i}return[i,a]}function fm(){}function gm(e,t){var n=st,a=xn(),o=t(),i=!Dn(a.memoizedState,o);if(i&&(a.memoizedState=o,Qt=!0),a=a.queue,Oc(vm.bind(null,n,a,e),[e]),a.getSnapshot!==t||i||Ct!==null&&Ct.memoizedState.tag&1){if(n.flags|=2048,Lo(9,ym.bind(null,n,a,o,t),void 0,null),Nt===null)throw Error(Q(349));Xr&30||hm(n,t,o)}return o}function hm(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},t=st.updateQueue,t===null?(t={lastEffect:null,stores:null},st.updateQueue=t,t.stores=[e]):(n=t.stores,n===null?t.stores=[e]:n.push(e))}function ym(e,t,n,a){t.value=n,t.getSnapshot=a,bm(t)&&xm(e)}function vm(e,t,n){return n(function(){bm(t)&&xm(e)})}function bm(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!Dn(e,n)}catch{return!0}}function xm(e){var t=rr(e,1);t!==null&&Pn(t,e,1,-1)}function Wp(e){var t=$n();return typeof e=="function"&&(e=e()),t.memoizedState=t.baseState=e,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:Ro,lastRenderedState:e},t.queue=e,e=e.dispatch=iy.bind(null,st,e),[t.memoizedState,e]}function Lo(e,t,n,a){return e={tag:e,create:t,destroy:n,deps:a,next:null},t=st.updateQueue,t===null?(t={lastEffect:null,stores:null},st.updateQueue=t,t.lastEffect=e.next=e):(n=t.lastEffect,n===null?t.lastEffect=e.next=e:(a=n.next,n.next=e,e.next=a,t.lastEffect=e)),e}function wm(){return xn().memoizedState}function Si(e,t,n,a){var o=$n();st.flags|=e,o.memoizedState=Lo(1|t,n,void 0,a===void 0?null:a)}function al(e,t,n,a){var o=xn();a=a===void 0?null:a;var i=void 0;if(xt!==null){var l=xt.memoizedState;if(i=l.destroy,a!==null&&Fc(a,l.deps)){o.memoizedState=Lo(t,n,i,a);return}}st.flags|=e,o.memoizedState=Lo(1|t,n,i,a)}function Up(e,t){return Si(8390656,8,e,t)}function Oc(e,t){return al(2048,8,e,t)}function km(e,t){return al(4,2,e,t)}function Sm(e,t){return al(4,4,e,t)}function Cm(e,t){if(typeof t=="function")return e=e(),t(e),function(){t(null)};if(t!=null)return e=e(),t.current=e,function(){t.current=null}}function Nm(e,t,n){return n=n!=null?n.concat([e]):null,al(4,4,Cm.bind(null,t,e),n)}function jc(){}function Tm(e,t){var n=xn();t=t===void 0?null:t;var a=n.memoizedState;return a!==null&&t!==null&&Fc(t,a[1])?a[0]:(n.memoizedState=[e,t],e)}function Mm(e,t){var n=xn();t=t===void 0?null:t;var a=n.memoizedState;return a!==null&&t!==null&&Fc(t,a[1])?a[0]:(e=e(),n.memoizedState=[e,t],e)}function Em(e,t,n){return Xr&21?(Dn(n,t)||(n=Du(),st.lanes|=n,Jr|=n,e.baseState=!0),t):(e.baseState&&(e.baseState=!1,Qt=!0),e.memoizedState=n)}function ay(e,t){var n=Ke;Ke=n!==0&&4>n?n:4,e(!0);var a=cs.transition;cs.transition={};try{e(!1),t()}finally{Ke=n,cs.transition=a}}function zm(){return xn().memoizedState}function oy(e,t,n){var a=Mr(e);if(n={lane:a,action:n,hasEagerState:!1,eagerState:null,next:null},Rm(e))Lm(t,n);else if(n=pm(e,t,n,a),n!==null){var o=Vt();Pn(n,e,a,o),Pm(n,t,a)}}function iy(e,t,n){var a=Mr(e),o={lane:a,action:n,hasEagerState:!1,eagerState:null,next:null};if(Rm(e))Lm(t,o);else{var i=e.alternate;if(e.lanes===0&&(i===null||i.lanes===0)&&(i=t.lastRenderedReducer,i!==null))try{var l=t.lastRenderedState,s=i(l,n);if(o.hasEagerState=!0,o.eagerState=s,Dn(s,l)){var c=t.interleaved;c===null?(o.next=o,Rc(t)):(o.next=c.next,c.next=o),t.interleaved=o;return}}catch{}finally{}n=pm(e,t,o,a),n!==null&&(o=Vt(),Pn(n,e,a,o),Pm(n,t,a))}}function Rm(e){var t=e.alternate;return e===st||t!==null&&t===st}function Lm(e,t){uo=Vi=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function Pm(e,t,n){if(n&4194240){var a=t.lanes;a&=e.pendingLanes,n|=a,t.lanes=n,hc(e,n)}}var Gi={readContext:bn,useCallback:_t,useContext:_t,useEffect:_t,useImperativeHandle:_t,useInsertionEffect:_t,useLayoutEffect:_t,useMemo:_t,useReducer:_t,useRef:_t,useState:_t,useDebugValue:_t,useDeferredValue:_t,useTransition:_t,useMutableSource:_t,useSyncExternalStore:_t,useId:_t,unstable_isNewReconciler:!1},ly={readContext:bn,useCallback:function(e,t){return $n().memoizedState=[e,t===void 0?null:t],e},useContext:bn,useEffect:Up,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,Si(4194308,4,Cm.bind(null,t,e),n)},useLayoutEffect:function(e,t){return Si(4194308,4,e,t)},useInsertionEffect:function(e,t){return Si(4,2,e,t)},useMemo:function(e,t){var n=$n();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var a=$n();return t=n!==void 0?n(t):t,a.memoizedState=a.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},a.queue=e,e=e.dispatch=oy.bind(null,st,e),[a.memoizedState,e]},useRef:function(e){var t=$n();return e={current:e},t.memoizedState=e},useState:Wp,useDebugValue:jc,useDeferredValue:function(e){return $n().memoizedState=e},useTransition:function(){var e=Wp(!1),t=e[0];return e=ay.bind(null,e[1]),$n().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var a=st,o=$n();if(at){if(n===void 0)throw Error(Q(407));n=n()}else{if(n=t(),Nt===null)throw Error(Q(349));Xr&30||hm(a,t,n)}o.memoizedState=n;var i={value:n,getSnapshot:t};return o.queue=i,Up(vm.bind(null,a,i,e),[e]),a.flags|=2048,Lo(9,ym.bind(null,a,i,n,t),void 0,null),n},useId:function(){var e=$n(),t=Nt.identifierPrefix;if(at){var n=Zn,a=Jn;n=(a&~(1<<32-Ln(a)-1)).toString(32)+n,t=":"+t+"R"+n,n=zo++,0<n&&(t+="H"+n.toString(32)),t+=":"}else n=ry++,t=":"+t+"r"+n.toString(32)+":";return e.memoizedState=t},unstable_isNewReconciler:!1},sy={readContext:bn,useCallback:Tm,useContext:bn,useEffect:Oc,useImperativeHandle:Nm,useInsertionEffect:km,useLayoutEffect:Sm,useMemo:Mm,useReducer:ds,useRef:wm,useState:function(){return ds(Ro)},useDebugValue:jc,useDeferredValue:function(e){var t=xn();return Em(t,xt.memoizedState,e)},useTransition:function(){var e=ds(Ro)[0],t=xn().memoizedState;return[e,t]},useMutableSource:fm,useSyncExternalStore:gm,useId:zm,unstable_isNewReconciler:!1},cy={readContext:bn,useCallback:Tm,useContext:bn,useEffect:Oc,useImperativeHandle:Nm,useInsertionEffect:km,useLayoutEffect:Sm,useMemo:Mm,useReducer:ps,useRef:wm,useState:function(){return ps(Ro)},useDebugValue:jc,useDeferredValue:function(e){var t=xn();return xt===null?t.memoizedState=e:Em(t,xt.memoizedState,e)},useTransition:function(){var e=ps(Ro)[0],t=xn().memoizedState;return[e,t]},useMutableSource:fm,useSyncExternalStore:gm,useId:zm,unstable_isNewReconciler:!1};function En(e,t){if(e&&e.defaultProps){t=ct({},t),e=e.defaultProps;for(var n in e)t[n]===void 0&&(t[n]=e[n]);return t}return t}function Gs(e,t,n,a){t=e.memoizedState,n=n(a,t),n=n==null?t:ct({},t,n),e.memoizedState=n,e.lanes===0&&(e.updateQueue.baseState=n)}var ol={isMounted:function(e){return(e=e._reactInternals)?ta(e)===e:!1},enqueueSetState:function(e,t,n){e=e._reactInternals;var a=Vt(),o=Mr(e),i=er(a,o);i.payload=t,n!=null&&(i.callback=n),t=Nr(e,i,o),t!==null&&(Pn(t,e,o,a),wi(t,e,o))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var a=Vt(),o=Mr(e),i=er(a,o);i.tag=1,i.payload=t,n!=null&&(i.callback=n),t=Nr(e,i,o),t!==null&&(Pn(t,e,o,a),wi(t,e,o))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=Vt(),a=Mr(e),o=er(n,a);o.tag=2,t!=null&&(o.callback=t),t=Nr(e,o,a),t!==null&&(Pn(t,e,a,n),wi(t,e,a))}};function $p(e,t,n,a,o,i,l){return e=e.stateNode,typeof e.shouldComponentUpdate=="function"?e.shouldComponentUpdate(a,i,l):t.prototype&&t.prototype.isPureReactComponent?!So(n,a)||!So(o,i):!0}function Dm(e,t,n){var a=!1,o=Rr,i=t.contextType;return typeof i=="object"&&i!==null?i=bn(i):(o=Jt(t)?Yr:Bt.current,a=t.contextTypes,i=(a=a!=null)?Ea(e,o):Rr),t=new t(n,i),e.memoizedState=t.state!==null&&t.state!==void 0?t.state:null,t.updater=ol,e.stateNode=t,t._reactInternals=e,a&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=o,e.__reactInternalMemoizedMaskedChildContext=i),t}function Vp(e,t,n,a){e=t.state,typeof t.componentWillReceiveProps=="function"&&t.componentWillReceiveProps(n,a),typeof t.UNSAFE_componentWillReceiveProps=="function"&&t.UNSAFE_componentWillReceiveProps(n,a),t.state!==e&&ol.enqueueReplaceState(t,t.state,null)}function Ks(e,t,n,a){var o=e.stateNode;o.props=n,o.state=e.memoizedState,o.refs={},Lc(e);var i=t.contextType;typeof i=="object"&&i!==null?o.context=bn(i):(i=Jt(t)?Yr:Bt.current,o.context=Ea(e,i)),o.state=e.memoizedState,i=t.getDerivedStateFromProps,typeof i=="function"&&(Gs(e,t,i,n),o.state=e.memoizedState),typeof t.getDerivedStateFromProps=="function"||typeof o.getSnapshotBeforeUpdate=="function"||typeof o.UNSAFE_componentWillMount!="function"&&typeof o.componentWillMount!="function"||(t=o.state,typeof o.componentWillMount=="function"&&o.componentWillMount(),typeof o.UNSAFE_componentWillMount=="function"&&o.UNSAFE_componentWillMount(),t!==o.state&&ol.enqueueReplaceState(o,o.state,null),Ui(e,n,o,a),o.state=e.memoizedState),typeof o.componentDidMount=="function"&&(e.flags|=4194308)}function Pa(e,t){try{var n="",a=t;do n+=jg(a),a=a.return;while(a);var o=n}catch(i){o=`
7
7
  Error generating stack: `+i.message+`
8
- `+i.stack}return{value:e,source:t,stack:o,digest:null}}function us(e,t,n){return{value:e,source:null,stack:n??null,digest:t??null}}function qs(e,t){try{console.error(t.value)}catch(n){setTimeout(function(){throw n})}}var dy=typeof WeakMap=="function"?WeakMap:Map;function Am(e,t,n){n=nr(-1,n),n.tag=3,n.payload={element:null};var a=t.value;return n.callback=function(){qi||(qi=!0,ac=a),qs(e,t)},n}function Fm(e,t,n){n=nr(-1,n),n.tag=3;var a=e.type.getDerivedStateFromError;if(typeof a=="function"){var o=t.value;n.payload=function(){return a(o)},n.callback=function(){qs(e,t)}}var i=e.stateNode;return i!==null&&typeof i.componentDidCatch=="function"&&(n.callback=function(){qs(e,t),typeof a!="function"&&(Tr===null?Tr=new Set([this]):Tr.add(this));var l=t.stack;this.componentDidCatch(t.value,{componentStack:l!==null?l:""})}),n}function Gp(e,t,n){var a=e.pingCache;if(a===null){a=e.pingCache=new dy;var o=new Set;a.set(t,o)}else o=a.get(t),o===void 0&&(o=new Set,a.set(t,o));o.has(n)||(o.add(n),e=Cy.bind(null,e,t,n),t.then(e,e))}function Kp(e){do{var t;if((t=e.tag===13)&&(t=e.memoizedState,t=t!==null?t.dehydrated!==null:!0),t)return e;e=e.return}while(e!==null);return null}function qp(e,t,n,a,o){return e.mode&1?(e.flags|=65536,e.lanes=o,e):(e===t?e.flags|=65536:(e.flags|=128,n.flags|=131072,n.flags&=-52805,n.tag===1&&(n.alternate===null?n.tag=17:(t=nr(-1,1),t.tag=2,Nr(n,t,1))),n.lanes|=1),e)}var py=lr.ReactCurrentOwner,Qt=!1;function $t(e,t,n,a){t.child=e===null?dm(t,null,n,a):Ra(t,e.child,n,a)}function Yp(e,t,n,a,o){n=n.render;var i=t.ref;return Na(t,o),a=Ic(e,t,n,a,i,o),n=_c(),e!==null&&!Qt?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~o,ir(e,t,o)):(ot&&n&&Cc(t),t.flags|=1,$t(e,t,a,o),t.child)}function Qp(e,t,n,a,o){if(e===null){var i=n.type;return typeof i=="function"&&!Kc(i)&&i.defaultProps===void 0&&n.compare===null&&n.defaultProps===void 0?(t.tag=15,t.type=i,Im(e,t,i,a,o)):(e=Mi(n.type,null,a,t,t.mode,o),e.ref=t.ref,e.return=t,t.child=e)}if(i=e.child,!(e.lanes&o)){var l=i.memoizedProps;if(n=n.compare,n=n!==null?n:So,n(l,a)&&e.ref===t.ref)return ir(e,t,o)}return t.flags|=1,e=Er(i,a),e.ref=t.ref,e.return=t,t.child=e}function Im(e,t,n,a,o){if(e!==null){var i=e.memoizedProps;if(So(i,a)&&e.ref===t.ref)if(Qt=!1,t.pendingProps=a=i,(e.lanes&o)!==0)e.flags&131072&&(Qt=!0);else return t.lanes=e.lanes,ir(e,t,o)}return Ys(e,t,n,a,o)}function _m(e,t,n){var a=t.pendingProps,o=a.children,i=e!==null?e.memoizedState:null;if(a.mode==="hidden")if(!(t.mode&1))t.memoizedState={baseLanes:0,cachePool:null,transitions:null},tt(xa,en),en|=n;else{if(!(n&1073741824))return e=i!==null?i.baseLanes|n:n,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,tt(xa,en),en|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},a=i!==null?i.baseLanes:n,tt(xa,en),en|=a}else i!==null?(a=i.baseLanes|n,t.memoizedState=null):a=n,tt(xa,en),en|=a;return $t(e,t,o,n),t.child}function Om(e,t){var n=t.ref;(e===null&&n!==null||e!==null&&e.ref!==n)&&(t.flags|=512,t.flags|=2097152)}function Ys(e,t,n,a,o){var i=Jt(n)?Yr:jt.current;return i=Ea(t,i),Na(t,o),n=Ic(e,t,n,a,i,o),a=_c(),e!==null&&!Qt?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~o,ir(e,t,o)):(ot&&a&&Cc(t),t.flags|=1,$t(e,t,n,o),t.child)}function Xp(e,t,n,a,o){if(Jt(n)){var i=!0;Oi(t)}else i=!1;if(Na(t,o),t.stateNode===null)Ci(e,t),Dm(t,n,a),Ks(t,n,a,o),a=!0;else if(e===null){var l=t.stateNode,s=t.memoizedProps;l.props=s;var c=l.context,p=n.contextType;typeof p=="object"&&p!==null?p=yn(p):(p=Jt(n)?Yr:jt.current,p=Ea(t,p));var f=n.getDerivedStateFromProps,b=typeof f=="function"||typeof l.getSnapshotBeforeUpdate=="function";b||typeof l.UNSAFE_componentWillReceiveProps!="function"&&typeof l.componentWillReceiveProps!="function"||(s!==a||c!==p)&&Vp(t,l,a,p),hr=!1;var h=t.memoizedState;l.state=h,Ui(t,a,l,o),c=t.memoizedState,s!==a||h!==c||Xt.current||hr?(typeof f=="function"&&(Gs(t,n,f,a),c=t.memoizedState),(s=hr||$p(t,n,s,a,h,c,p))?(b||typeof l.UNSAFE_componentWillMount!="function"&&typeof l.componentWillMount!="function"||(typeof l.componentWillMount=="function"&&l.componentWillMount(),typeof l.UNSAFE_componentWillMount=="function"&&l.UNSAFE_componentWillMount()),typeof l.componentDidMount=="function"&&(t.flags|=4194308)):(typeof l.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=a,t.memoizedState=c),l.props=a,l.state=c,l.context=p,a=s):(typeof l.componentDidMount=="function"&&(t.flags|=4194308),a=!1)}else{l=t.stateNode,um(e,t),s=t.memoizedProps,p=t.type===t.elementType?s:Mn(t.type,s),l.props=p,b=t.pendingProps,h=l.context,c=n.contextType,typeof c=="object"&&c!==null?c=yn(c):(c=Jt(n)?Yr:jt.current,c=Ea(t,c));var S=n.getDerivedStateFromProps;(f=typeof S=="function"||typeof l.getSnapshotBeforeUpdate=="function")||typeof l.UNSAFE_componentWillReceiveProps!="function"&&typeof l.componentWillReceiveProps!="function"||(s!==b||h!==c)&&Vp(t,l,a,c),hr=!1,h=t.memoizedState,l.state=h,Ui(t,a,l,o);var L=t.memoizedState;s!==b||h!==L||Xt.current||hr?(typeof S=="function"&&(Gs(t,n,S,a),L=t.memoizedState),(p=hr||$p(t,n,p,a,h,L,c)||!1)?(f||typeof l.UNSAFE_componentWillUpdate!="function"&&typeof l.componentWillUpdate!="function"||(typeof l.componentWillUpdate=="function"&&l.componentWillUpdate(a,L,c),typeof l.UNSAFE_componentWillUpdate=="function"&&l.UNSAFE_componentWillUpdate(a,L,c)),typeof l.componentDidUpdate=="function"&&(t.flags|=4),typeof l.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof l.componentDidUpdate!="function"||s===e.memoizedProps&&h===e.memoizedState||(t.flags|=4),typeof l.getSnapshotBeforeUpdate!="function"||s===e.memoizedProps&&h===e.memoizedState||(t.flags|=1024),t.memoizedProps=a,t.memoizedState=L),l.props=a,l.state=L,l.context=c,a=p):(typeof l.componentDidUpdate!="function"||s===e.memoizedProps&&h===e.memoizedState||(t.flags|=4),typeof l.getSnapshotBeforeUpdate!="function"||s===e.memoizedProps&&h===e.memoizedState||(t.flags|=1024),a=!1)}return Qs(e,t,n,a,i,o)}function Qs(e,t,n,a,o,i){Om(e,t);var l=(t.flags&128)!==0;if(!a&&!l)return o&&Ip(t,n,!1),ir(e,t,i);a=t.stateNode,py.current=t;var s=l&&typeof n.getDerivedStateFromError!="function"?null:a.render();return t.flags|=1,e!==null&&l?(t.child=Ra(t,e.child,null,i),t.child=Ra(t,null,s,i)):$t(e,t,s,i),t.memoizedState=a.state,o&&Ip(t,n,!0),t.child}function jm(e){var t=e.stateNode;t.pendingContext?Fp(e,t.pendingContext,t.pendingContext!==t.context):t.context&&Fp(e,t.context,!1),Pc(e,t.containerInfo)}function Jp(e,t,n,a,o){return za(),Tc(o),t.flags|=256,$t(e,t,n,a),t.child}var Xs={dehydrated:null,treeContext:null,retryLane:0};function Js(e){return{baseLanes:e,cachePool:null,transitions:null}}function Bm(e,t,n){var a=t.pendingProps,o=st.current,i=!1,l=(t.flags&128)!==0,s;if((s=l)||(s=e!==null&&e.memoizedState===null?!1:(o&2)!==0),s?(i=!0,t.flags&=-129):(e===null||e.memoizedState!==null)&&(o|=1),tt(st,o&1),e===null)return $s(t),e=t.memoizedState,e!==null&&(e=e.dehydrated,e!==null)?(t.mode&1?e.data==="$!"?t.lanes=8:t.lanes=1073741824:t.lanes=1,null):(l=a.children,e=a.fallback,i?(a=t.mode,i=t.child,l={mode:"hidden",children:l},!(a&1)&&i!==null?(i.childLanes=0,i.pendingProps=l):i=sl(l,a,0,null),e=qr(e,a,n,null),i.return=t,e.return=t,i.sibling=e,t.child=i,t.child.memoizedState=Js(n),t.memoizedState=Xs,e):Bc(t,l));if(o=e.memoizedState,o!==null&&(s=o.dehydrated,s!==null))return uy(e,t,l,a,s,o,n);if(i){i=a.fallback,l=t.mode,o=e.child,s=o.sibling;var c={mode:"hidden",children:a.children};return!(l&1)&&t.child!==o?(a=t.child,a.childLanes=0,a.pendingProps=c,t.deletions=null):(a=Er(o,c),a.subtreeFlags=o.subtreeFlags&14680064),s!==null?i=Er(s,i):(i=qr(i,l,n,null),i.flags|=2),i.return=t,a.return=t,a.sibling=i,t.child=a,a=i,i=t.child,l=e.child.memoizedState,l=l===null?Js(n):{baseLanes:l.baseLanes|n,cachePool:null,transitions:l.transitions},i.memoizedState=l,i.childLanes=e.childLanes&~n,t.memoizedState=Xs,a}return i=e.child,e=i.sibling,a=Er(i,{mode:"visible",children:a.children}),!(t.mode&1)&&(a.lanes=n),a.return=t,a.sibling=null,e!==null&&(n=t.deletions,n===null?(t.deletions=[e],t.flags|=16):n.push(e)),t.child=a,t.memoizedState=null,a}function Bc(e,t){return t=sl({mode:"visible",children:t},e.mode,0,null),t.return=e,e.child=t}function gi(e,t,n,a){return a!==null&&Tc(a),Ra(t,e.child,null,n),e=Bc(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function uy(e,t,n,a,o,i,l){if(n)return t.flags&256?(t.flags&=-257,a=us(Error(Y(422))),gi(e,t,l,a)):t.memoizedState!==null?(t.child=e.child,t.flags|=128,null):(i=a.fallback,o=t.mode,a=sl({mode:"visible",children:a.children},o,0,null),i=qr(i,o,l,null),i.flags|=2,a.return=t,i.return=t,a.sibling=i,t.child=a,t.mode&1&&Ra(t,e.child,null,l),t.child.memoizedState=Js(l),t.memoizedState=Xs,i);if(!(t.mode&1))return gi(e,t,l,null);if(o.data==="$!"){if(a=o.nextSibling&&o.nextSibling.dataset,a)var s=a.dgst;return a=s,i=Error(Y(419)),a=us(i,a,void 0),gi(e,t,l,a)}if(s=(l&e.childLanes)!==0,Qt||s){if(a=Ct,a!==null){switch(l&-l){case 4:o=2;break;case 16:o=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:o=32;break;case 536870912:o=268435456;break;default:o=0}o=o&(a.suspendedLanes|l)?0:o,o!==0&&o!==i.retryLane&&(i.retryLane=o,or(e,o),Ln(a,e,o,-1))}return Gc(),a=us(Error(Y(421))),gi(e,t,l,a)}return o.data==="$?"?(t.flags|=128,t.child=e.child,t=Ny.bind(null,e),o._reactRetry=t,null):(e=i.treeContext,tn=Cr(o.nextSibling),nn=t,ot=!0,zn=null,e!==null&&(mn[fn++]=er,mn[fn++]=tr,mn[fn++]=Qr,er=e.id,tr=e.overflow,Qr=t),t=Bc(t,a.children),t.flags|=4096,t)}function Zp(e,t,n){e.lanes|=t;var a=e.alternate;a!==null&&(a.lanes|=t),Vs(e.return,t,n)}function ms(e,t,n,a,o){var i=e.memoizedState;i===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:a,tail:n,tailMode:o}:(i.isBackwards=t,i.rendering=null,i.renderingStartTime=0,i.last=a,i.tail=n,i.tailMode=o)}function Hm(e,t,n){var a=t.pendingProps,o=a.revealOrder,i=a.tail;if($t(e,t,a.children,n),a=st.current,a&2)a=a&1|2,t.flags|=128;else{if(e!==null&&e.flags&128)e:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&Zp(e,n,t);else if(e.tag===19)Zp(e,n,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;e.sibling===null;){if(e.return===null||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}a&=1}if(tt(st,a),!(t.mode&1))t.memoizedState=null;else switch(o){case"forwards":for(n=t.child,o=null;n!==null;)e=n.alternate,e!==null&&$i(e)===null&&(o=n),n=n.sibling;n=o,n===null?(o=t.child,t.child=null):(o=n.sibling,n.sibling=null),ms(t,!1,o,n,i);break;case"backwards":for(n=null,o=t.child,t.child=null;o!==null;){if(e=o.alternate,e!==null&&$i(e)===null){t.child=o;break}e=o.sibling,o.sibling=n,n=o,o=e}ms(t,!0,n,null,i);break;case"together":ms(t,!1,null,null,void 0);break;default:t.memoizedState=null}return t.child}function Ci(e,t){!(t.mode&1)&&e!==null&&(e.alternate=null,t.alternate=null,t.flags|=2)}function ir(e,t,n){if(e!==null&&(t.dependencies=e.dependencies),Jr|=t.lanes,!(n&t.childLanes))return null;if(e!==null&&t.child!==e.child)throw Error(Y(153));if(t.child!==null){for(e=t.child,n=Er(e,e.pendingProps),t.child=n,n.return=t;e.sibling!==null;)e=e.sibling,n=n.sibling=Er(e,e.pendingProps),n.return=t;n.sibling=null}return t.child}function my(e,t,n){switch(t.tag){case 3:jm(t),za();break;case 5:mm(t);break;case 1:Jt(t.type)&&Oi(t);break;case 4:Pc(t,t.stateNode.containerInfo);break;case 10:var a=t.type._context,o=t.memoizedProps.value;tt(Hi,a._currentValue),a._currentValue=o;break;case 13:if(a=t.memoizedState,a!==null)return a.dehydrated!==null?(tt(st,st.current&1),t.flags|=128,null):n&t.child.childLanes?Bm(e,t,n):(tt(st,st.current&1),e=ir(e,t,n),e!==null?e.sibling:null);tt(st,st.current&1);break;case 19:if(a=(n&t.childLanes)!==0,e.flags&128){if(a)return Hm(e,t,n);t.flags|=128}if(o=t.memoizedState,o!==null&&(o.rendering=null,o.tail=null,o.lastEffect=null),tt(st,st.current),a)break;return null;case 22:case 23:return t.lanes=0,_m(e,t,n)}return ir(e,t,n)}var Wm,Zs,Um,$m;Wm=function(e,t){for(var n=t.child;n!==null;){if(n.tag===5||n.tag===6)e.appendChild(n.stateNode);else if(n.tag!==4&&n.child!==null){n.child.return=n,n=n.child;continue}if(n===t)break;for(;n.sibling===null;){if(n.return===null||n.return===t)return;n=n.return}n.sibling.return=n.return,n=n.sibling}};Zs=function(){};Um=function(e,t,n,a){var o=e.memoizedProps;if(o!==a){e=t.stateNode,Gr(qn.current);var i=null;switch(n){case"input":o=ws(e,o),a=ws(e,a),i=[];break;case"select":o=dt({},o,{value:void 0}),a=dt({},a,{value:void 0}),i=[];break;case"textarea":o=Cs(e,o),a=Cs(e,a),i=[];break;default:typeof o.onClick!="function"&&typeof a.onClick=="function"&&(e.onclick=Ii)}Ts(n,a);var l;n=null;for(p in o)if(!a.hasOwnProperty(p)&&o.hasOwnProperty(p)&&o[p]!=null)if(p==="style"){var s=o[p];for(l in s)s.hasOwnProperty(l)&&(n||(n={}),n[l]="")}else p!=="dangerouslySetInnerHTML"&&p!=="children"&&p!=="suppressContentEditableWarning"&&p!=="suppressHydrationWarning"&&p!=="autoFocus"&&(ho.hasOwnProperty(p)?i||(i=[]):(i=i||[]).push(p,null));for(p in a){var c=a[p];if(s=o?.[p],a.hasOwnProperty(p)&&c!==s&&(c!=null||s!=null))if(p==="style")if(s){for(l in s)!s.hasOwnProperty(l)||c&&c.hasOwnProperty(l)||(n||(n={}),n[l]="");for(l in c)c.hasOwnProperty(l)&&s[l]!==c[l]&&(n||(n={}),n[l]=c[l])}else n||(i||(i=[]),i.push(p,n)),n=c;else p==="dangerouslySetInnerHTML"?(c=c?c.__html:void 0,s=s?s.__html:void 0,c!=null&&s!==c&&(i=i||[]).push(p,c)):p==="children"?typeof c!="string"&&typeof c!="number"||(i=i||[]).push(p,""+c):p!=="suppressContentEditableWarning"&&p!=="suppressHydrationWarning"&&(ho.hasOwnProperty(p)?(c!=null&&p==="onScroll"&&rt("scroll",e),i||s===c||(i=[])):(i=i||[]).push(p,c))}n&&(i=i||[]).push("style",n);var p=i;(t.updateQueue=p)&&(t.flags|=4)}};$m=function(e,t,n,a){n!==a&&(t.flags|=4)};function Za(e,t){if(!ot)switch(e.tailMode){case"hidden":t=e.tail;for(var n=null;t!==null;)t.alternate!==null&&(n=t),t=t.sibling;n===null?e.tail=null:n.sibling=null;break;case"collapsed":n=e.tail;for(var a=null;n!==null;)n.alternate!==null&&(a=n),n=n.sibling;a===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:a.sibling=null}}function _t(e){var t=e.alternate!==null&&e.alternate.child===e.child,n=0,a=0;if(t)for(var o=e.child;o!==null;)n|=o.lanes|o.childLanes,a|=o.subtreeFlags&14680064,a|=o.flags&14680064,o.return=e,o=o.sibling;else for(o=e.child;o!==null;)n|=o.lanes|o.childLanes,a|=o.subtreeFlags,a|=o.flags,o.return=e,o=o.sibling;return e.subtreeFlags|=a,e.childLanes=n,t}function fy(e,t,n){var a=t.pendingProps;switch(Nc(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return _t(t),null;case 1:return Jt(t.type)&&_i(),_t(t),null;case 3:return a=t.stateNode,La(),at(Xt),at(jt),Ac(),a.pendingContext&&(a.context=a.pendingContext,a.pendingContext=null),(e===null||e.child===null)&&(mi(t)?t.flags|=4:e===null||e.memoizedState.isDehydrated&&!(t.flags&256)||(t.flags|=1024,zn!==null&&(lc(zn),zn=null))),Zs(e,t),_t(t),null;case 5:Dc(t);var o=Gr(Eo.current);if(n=t.type,e!==null&&t.stateNode!=null)Um(e,t,n,a,o),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!a){if(t.stateNode===null)throw Error(Y(166));return _t(t),null}if(e=Gr(qn.current),mi(t)){a=t.stateNode,n=t.type;var i=t.memoizedProps;switch(a[Gn]=t,a[To]=i,e=(t.mode&1)!==0,n){case"dialog":rt("cancel",a),rt("close",a);break;case"iframe":case"object":case"embed":rt("load",a);break;case"video":case"audio":for(o=0;o<oo.length;o++)rt(oo[o],a);break;case"source":rt("error",a);break;case"img":case"image":case"link":rt("error",a),rt("load",a);break;case"details":rt("toggle",a);break;case"input":lp(a,i),rt("invalid",a);break;case"select":a._wrapperState={wasMultiple:!!i.multiple},rt("invalid",a);break;case"textarea":cp(a,i),rt("invalid",a)}Ts(n,i),o=null;for(var l in i)if(i.hasOwnProperty(l)){var s=i[l];l==="children"?typeof s=="string"?a.textContent!==s&&(i.suppressHydrationWarning!==!0&&ui(a.textContent,s,e),o=["children",s]):typeof s=="number"&&a.textContent!==""+s&&(i.suppressHydrationWarning!==!0&&ui(a.textContent,s,e),o=["children",""+s]):ho.hasOwnProperty(l)&&s!=null&&l==="onScroll"&&rt("scroll",a)}switch(n){case"input":ei(a),sp(a,i,!0);break;case"textarea":ei(a),dp(a);break;case"select":case"option":break;default:typeof i.onClick=="function"&&(a.onclick=Ii)}a=o,t.updateQueue=a,a!==null&&(t.flags|=4)}else{l=o.nodeType===9?o:o.ownerDocument,e==="http://www.w3.org/1999/xhtml"&&(e=vu(n)),e==="http://www.w3.org/1999/xhtml"?n==="script"?(e=l.createElement("div"),e.innerHTML="<script><\/script>",e=e.removeChild(e.firstChild)):typeof a.is=="string"?e=l.createElement(n,{is:a.is}):(e=l.createElement(n),n==="select"&&(l=e,a.multiple?l.multiple=!0:a.size&&(l.size=a.size))):e=l.createElementNS(e,n),e[Gn]=t,e[To]=a,Wm(e,t,!1,!1),t.stateNode=e;e:{switch(l=Ms(n,a),n){case"dialog":rt("cancel",e),rt("close",e),o=a;break;case"iframe":case"object":case"embed":rt("load",e),o=a;break;case"video":case"audio":for(o=0;o<oo.length;o++)rt(oo[o],e);o=a;break;case"source":rt("error",e),o=a;break;case"img":case"image":case"link":rt("error",e),rt("load",e),o=a;break;case"details":rt("toggle",e),o=a;break;case"input":lp(e,a),o=ws(e,a),rt("invalid",e);break;case"option":o=a;break;case"select":e._wrapperState={wasMultiple:!!a.multiple},o=dt({},a,{value:void 0}),rt("invalid",e);break;case"textarea":cp(e,a),o=Cs(e,a),rt("invalid",e);break;default:o=a}Ts(n,o),s=o;for(i in s)if(s.hasOwnProperty(i)){var c=s[i];i==="style"?wu(e,c):i==="dangerouslySetInnerHTML"?(c=c?c.__html:void 0,c!=null&&bu(e,c)):i==="children"?typeof c=="string"?(n!=="textarea"||c!=="")&&yo(e,c):typeof c=="number"&&yo(e,""+c):i!=="suppressContentEditableWarning"&&i!=="suppressHydrationWarning"&&i!=="autoFocus"&&(ho.hasOwnProperty(i)?c!=null&&i==="onScroll"&&rt("scroll",e):c!=null&&dc(e,i,c,l))}switch(n){case"input":ei(e),sp(e,a,!1);break;case"textarea":ei(e),dp(e);break;case"option":a.value!=null&&e.setAttribute("value",""+zr(a.value));break;case"select":e.multiple=!!a.multiple,i=a.value,i!=null?wa(e,!!a.multiple,i,!1):a.defaultValue!=null&&wa(e,!!a.multiple,a.defaultValue,!0);break;default:typeof o.onClick=="function"&&(e.onclick=Ii)}switch(n){case"button":case"input":case"select":case"textarea":a=!!a.autoFocus;break e;case"img":a=!0;break e;default:a=!1}}a&&(t.flags|=4)}t.ref!==null&&(t.flags|=512,t.flags|=2097152)}return _t(t),null;case 6:if(e&&t.stateNode!=null)$m(e,t,e.memoizedProps,a);else{if(typeof a!="string"&&t.stateNode===null)throw Error(Y(166));if(n=Gr(Eo.current),Gr(qn.current),mi(t)){if(a=t.stateNode,n=t.memoizedProps,a[Gn]=t,(i=a.nodeValue!==n)&&(e=nn,e!==null))switch(e.tag){case 3:ui(a.nodeValue,n,(e.mode&1)!==0);break;case 5:e.memoizedProps.suppressHydrationWarning!==!0&&ui(a.nodeValue,n,(e.mode&1)!==0)}i&&(t.flags|=4)}else a=(n.nodeType===9?n:n.ownerDocument).createTextNode(a),a[Gn]=t,t.stateNode=a}return _t(t),null;case 13:if(at(st),a=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(ot&&tn!==null&&t.mode&1&&!(t.flags&128))sm(),za(),t.flags|=98560,i=!1;else if(i=mi(t),a!==null&&a.dehydrated!==null){if(e===null){if(!i)throw Error(Y(318));if(i=t.memoizedState,i=i!==null?i.dehydrated:null,!i)throw Error(Y(317));i[Gn]=t}else za(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;_t(t),i=!1}else zn!==null&&(lc(zn),zn=null),i=!0;if(!i)return t.flags&65536?t:null}return t.flags&128?(t.lanes=n,t):(a=a!==null,a!==(e!==null&&e.memoizedState!==null)&&a&&(t.child.flags|=8192,t.mode&1&&(e===null||st.current&1?xt===0&&(xt=3):Gc())),t.updateQueue!==null&&(t.flags|=4),_t(t),null);case 4:return La(),Zs(e,t),e===null&&Co(t.stateNode.containerInfo),_t(t),null;case 10:return zc(t.type._context),_t(t),null;case 17:return Jt(t.type)&&_i(),_t(t),null;case 19:if(at(st),i=t.memoizedState,i===null)return _t(t),null;if(a=(t.flags&128)!==0,l=i.rendering,l===null)if(a)Za(i,!1);else{if(xt!==0||e!==null&&e.flags&128)for(e=t.child;e!==null;){if(l=$i(e),l!==null){for(t.flags|=128,Za(i,!1),a=l.updateQueue,a!==null&&(t.updateQueue=a,t.flags|=4),t.subtreeFlags=0,a=n,n=t.child;n!==null;)i=n,e=a,i.flags&=14680066,l=i.alternate,l===null?(i.childLanes=0,i.lanes=e,i.child=null,i.subtreeFlags=0,i.memoizedProps=null,i.memoizedState=null,i.updateQueue=null,i.dependencies=null,i.stateNode=null):(i.childLanes=l.childLanes,i.lanes=l.lanes,i.child=l.child,i.subtreeFlags=0,i.deletions=null,i.memoizedProps=l.memoizedProps,i.memoizedState=l.memoizedState,i.updateQueue=l.updateQueue,i.type=l.type,e=l.dependencies,i.dependencies=e===null?null:{lanes:e.lanes,firstContext:e.firstContext}),n=n.sibling;return tt(st,st.current&1|2),t.child}e=e.sibling}i.tail!==null&&gt()>Da&&(t.flags|=128,a=!0,Za(i,!1),t.lanes=4194304)}else{if(!a)if(e=$i(l),e!==null){if(t.flags|=128,a=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),Za(i,!0),i.tail===null&&i.tailMode==="hidden"&&!l.alternate&&!ot)return _t(t),null}else 2*gt()-i.renderingStartTime>Da&&n!==1073741824&&(t.flags|=128,a=!0,Za(i,!1),t.lanes=4194304);i.isBackwards?(l.sibling=t.child,t.child=l):(n=i.last,n!==null?n.sibling=l:t.child=l,i.last=l)}return i.tail!==null?(t=i.tail,i.rendering=t,i.tail=t.sibling,i.renderingStartTime=gt(),t.sibling=null,n=st.current,tt(st,a?n&1|2:n&1),t):(_t(t),null);case 22:case 23:return Vc(),a=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==a&&(t.flags|=8192),a&&t.mode&1?en&1073741824&&(_t(t),t.subtreeFlags&6&&(t.flags|=8192)):_t(t),null;case 24:return null;case 25:return null}throw Error(Y(156,t.tag))}function gy(e,t){switch(Nc(t),t.tag){case 1:return Jt(t.type)&&_i(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return La(),at(Xt),at(jt),Ac(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return Dc(t),null;case 13:if(at(st),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(Y(340));za()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return at(st),null;case 4:return La(),null;case 10:return zc(t.type._context),null;case 22:case 23:return Vc(),null;case 24:return null;default:return null}}var hi=!1,Ot=!1,hy=typeof WeakSet=="function"?WeakSet:Set,ce=null;function ba(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(a){ut(e,t,a)}else n.current=null}function ec(e,t,n){try{n()}catch(a){ut(e,t,a)}}var eu=!1;function yy(e,t){if(_s=Di,e=Yu(),Sc(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var a=n.getSelection&&n.getSelection();if(a&&a.rangeCount!==0){n=a.anchorNode;var o=a.anchorOffset,i=a.focusNode;a=a.focusOffset;try{n.nodeType,i.nodeType}catch{n=null;break e}var l=0,s=-1,c=-1,p=0,f=0,b=e,h=null;t:for(;;){for(var S;b!==n||o!==0&&b.nodeType!==3||(s=l+o),b!==i||a!==0&&b.nodeType!==3||(c=l+a),b.nodeType===3&&(l+=b.nodeValue.length),(S=b.firstChild)!==null;)h=b,b=S;for(;;){if(b===e)break t;if(h===n&&++p===o&&(s=l),h===i&&++f===a&&(c=l),(S=b.nextSibling)!==null)break;b=h,h=b.parentNode}b=S}n=s===-1||c===-1?null:{start:s,end:c}}else n=null}n=n||{start:0,end:0}}else n=null;for(Os={focusedElem:e,selectionRange:n},Di=!1,ce=t;ce!==null;)if(t=ce,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,ce=e;else for(;ce!==null;){t=ce;try{var L=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(L!==null){var M=L.memoizedProps,_=L.memoizedState,x=t.stateNode,m=x.getSnapshotBeforeUpdate(t.elementType===t.type?M:Mn(t.type,M),_);x.__reactInternalSnapshotBeforeUpdate=m}break;case 3:var y=t.stateNode.containerInfo;y.nodeType===1?y.textContent="":y.nodeType===9&&y.documentElement&&y.removeChild(y.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(Y(163))}}catch(R){ut(t,t.return,R)}if(e=t.sibling,e!==null){e.return=t.return,ce=e;break}ce=t.return}return L=eu,eu=!1,L}function mo(e,t,n){var a=t.updateQueue;if(a=a!==null?a.lastEffect:null,a!==null){var o=a=a.next;do{if((o.tag&e)===e){var i=o.destroy;o.destroy=void 0,i!==void 0&&ec(t,n,i)}o=o.next}while(o!==a)}}function il(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var n=t=t.next;do{if((n.tag&e)===e){var a=n.create;n.destroy=a()}n=n.next}while(n!==t)}}function tc(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t=="function"?t(e):t.current=e}}function Vm(e){var t=e.alternate;t!==null&&(e.alternate=null,Vm(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[Gn],delete t[To],delete t[Hs],delete t[Zh],delete t[ey])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function Gm(e){return e.tag===5||e.tag===3||e.tag===4}function tu(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||Gm(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function nc(e,t,n){var a=e.tag;if(a===5||a===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=Ii));else if(a!==4&&(e=e.child,e!==null))for(nc(e,t,n),e=e.sibling;e!==null;)nc(e,t,n),e=e.sibling}function rc(e,t,n){var a=e.tag;if(a===5||a===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(a!==4&&(e=e.child,e!==null))for(rc(e,t,n),e=e.sibling;e!==null;)rc(e,t,n),e=e.sibling}var Et=null,En=!1;function fr(e,t,n){for(n=n.child;n!==null;)Km(e,t,n),n=n.sibling}function Km(e,t,n){if(Kn&&typeof Kn.onCommitFiberUnmount=="function")try{Kn.onCommitFiberUnmount(Ji,n)}catch{}switch(n.tag){case 5:Ot||ba(n,t);case 6:var a=Et,o=En;Et=null,fr(e,t,n),Et=a,En=o,Et!==null&&(En?(e=Et,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):Et.removeChild(n.stateNode));break;case 18:Et!==null&&(En?(e=Et,n=n.stateNode,e.nodeType===8?is(e.parentNode,n):e.nodeType===1&&is(e,n),wo(e)):is(Et,n.stateNode));break;case 4:a=Et,o=En,Et=n.stateNode.containerInfo,En=!0,fr(e,t,n),Et=a,En=o;break;case 0:case 11:case 14:case 15:if(!Ot&&(a=n.updateQueue,a!==null&&(a=a.lastEffect,a!==null))){o=a=a.next;do{var i=o,l=i.destroy;i=i.tag,l!==void 0&&(i&2||i&4)&&ec(n,t,l),o=o.next}while(o!==a)}fr(e,t,n);break;case 1:if(!Ot&&(ba(n,t),a=n.stateNode,typeof a.componentWillUnmount=="function"))try{a.props=n.memoizedProps,a.state=n.memoizedState,a.componentWillUnmount()}catch(s){ut(n,t,s)}fr(e,t,n);break;case 21:fr(e,t,n);break;case 22:n.mode&1?(Ot=(a=Ot)||n.memoizedState!==null,fr(e,t,n),Ot=a):fr(e,t,n);break;default:fr(e,t,n)}}function nu(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new hy),t.forEach(function(a){var o=Ty.bind(null,e,a);n.has(a)||(n.add(a),a.then(o,o))})}}function Tn(e,t){var n=t.deletions;if(n!==null)for(var a=0;a<n.length;a++){var o=n[a];try{var i=e,l=t,s=l;e:for(;s!==null;){switch(s.tag){case 5:Et=s.stateNode,En=!1;break e;case 3:Et=s.stateNode.containerInfo,En=!0;break e;case 4:Et=s.stateNode.containerInfo,En=!0;break e}s=s.return}if(Et===null)throw Error(Y(160));Km(i,l,o),Et=null,En=!1;var c=o.alternate;c!==null&&(c.return=null),o.return=null}catch(p){ut(o,t,p)}}if(t.subtreeFlags&12854)for(t=t.child;t!==null;)qm(t,e),t=t.sibling}function qm(e,t){var n=e.alternate,a=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:if(Tn(t,e),$n(e),a&4){try{mo(3,e,e.return),il(3,e)}catch(M){ut(e,e.return,M)}try{mo(5,e,e.return)}catch(M){ut(e,e.return,M)}}break;case 1:Tn(t,e),$n(e),a&512&&n!==null&&ba(n,n.return);break;case 5:if(Tn(t,e),$n(e),a&512&&n!==null&&ba(n,n.return),e.flags&32){var o=e.stateNode;try{yo(o,"")}catch(M){ut(e,e.return,M)}}if(a&4&&(o=e.stateNode,o!=null)){var i=e.memoizedProps,l=n!==null?n.memoizedProps:i,s=e.type,c=e.updateQueue;if(e.updateQueue=null,c!==null)try{s==="input"&&i.type==="radio"&&i.name!=null&&hu(o,i),Ms(s,l);var p=Ms(s,i);for(l=0;l<c.length;l+=2){var f=c[l],b=c[l+1];f==="style"?wu(o,b):f==="dangerouslySetInnerHTML"?bu(o,b):f==="children"?yo(o,b):dc(o,f,b,p)}switch(s){case"input":ks(o,i);break;case"textarea":yu(o,i);break;case"select":var h=o._wrapperState.wasMultiple;o._wrapperState.wasMultiple=!!i.multiple;var S=i.value;S!=null?wa(o,!!i.multiple,S,!1):h!==!!i.multiple&&(i.defaultValue!=null?wa(o,!!i.multiple,i.defaultValue,!0):wa(o,!!i.multiple,i.multiple?[]:"",!1))}o[To]=i}catch(M){ut(e,e.return,M)}}break;case 6:if(Tn(t,e),$n(e),a&4){if(e.stateNode===null)throw Error(Y(162));o=e.stateNode,i=e.memoizedProps;try{o.nodeValue=i}catch(M){ut(e,e.return,M)}}break;case 3:if(Tn(t,e),$n(e),a&4&&n!==null&&n.memoizedState.isDehydrated)try{wo(t.containerInfo)}catch(M){ut(e,e.return,M)}break;case 4:Tn(t,e),$n(e);break;case 13:Tn(t,e),$n(e),o=e.child,o.flags&8192&&(i=o.memoizedState!==null,o.stateNode.isHidden=i,!i||o.alternate!==null&&o.alternate.memoizedState!==null||(Uc=gt())),a&4&&nu(e);break;case 22:if(f=n!==null&&n.memoizedState!==null,e.mode&1?(Ot=(p=Ot)||f,Tn(t,e),Ot=p):Tn(t,e),$n(e),a&8192){if(p=e.memoizedState!==null,(e.stateNode.isHidden=p)&&!f&&e.mode&1)for(ce=e,f=e.child;f!==null;){for(b=ce=f;ce!==null;){switch(h=ce,S=h.child,h.tag){case 0:case 11:case 14:case 15:mo(4,h,h.return);break;case 1:ba(h,h.return);var L=h.stateNode;if(typeof L.componentWillUnmount=="function"){a=h,n=h.return;try{t=a,L.props=t.memoizedProps,L.state=t.memoizedState,L.componentWillUnmount()}catch(M){ut(a,n,M)}}break;case 5:ba(h,h.return);break;case 22:if(h.memoizedState!==null){au(b);continue}}S!==null?(S.return=h,ce=S):au(b)}f=f.sibling}e:for(f=null,b=e;;){if(b.tag===5){if(f===null){f=b;try{o=b.stateNode,p?(i=o.style,typeof i.setProperty=="function"?i.setProperty("display","none","important"):i.display="none"):(s=b.stateNode,c=b.memoizedProps.style,l=c!=null&&c.hasOwnProperty("display")?c.display:null,s.style.display=xu("display",l))}catch(M){ut(e,e.return,M)}}}else if(b.tag===6){if(f===null)try{b.stateNode.nodeValue=p?"":b.memoizedProps}catch(M){ut(e,e.return,M)}}else if((b.tag!==22&&b.tag!==23||b.memoizedState===null||b===e)&&b.child!==null){b.child.return=b,b=b.child;continue}if(b===e)break e;for(;b.sibling===null;){if(b.return===null||b.return===e)break e;f===b&&(f=null),b=b.return}f===b&&(f=null),b.sibling.return=b.return,b=b.sibling}}break;case 19:Tn(t,e),$n(e),a&4&&nu(e);break;case 21:break;default:Tn(t,e),$n(e)}}function $n(e){var t=e.flags;if(t&2){try{e:{for(var n=e.return;n!==null;){if(Gm(n)){var a=n;break e}n=n.return}throw Error(Y(160))}switch(a.tag){case 5:var o=a.stateNode;a.flags&32&&(yo(o,""),a.flags&=-33);var i=tu(e);rc(e,i,o);break;case 3:case 4:var l=a.stateNode.containerInfo,s=tu(e);nc(e,s,l);break;default:throw Error(Y(161))}}catch(c){ut(e,e.return,c)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function vy(e,t,n){ce=e,Ym(e,t,n)}function Ym(e,t,n){for(var a=(e.mode&1)!==0;ce!==null;){var o=ce,i=o.child;if(o.tag===22&&a){var l=o.memoizedState!==null||hi;if(!l){var s=o.alternate,c=s!==null&&s.memoizedState!==null||Ot;s=hi;var p=Ot;if(hi=l,(Ot=c)&&!p)for(ce=o;ce!==null;)l=ce,c=l.child,l.tag===22&&l.memoizedState!==null?ou(o):c!==null?(c.return=l,ce=c):ou(o);for(;i!==null;)ce=i,Ym(i,t,n),i=i.sibling;ce=o,hi=s,Ot=p}ru(e,t,n)}else o.subtreeFlags&8772&&i!==null?(i.return=o,ce=i):ru(e,t,n)}}function ru(e){for(;ce!==null;){var t=ce;if(t.flags&8772){var n=t.alternate;try{if(t.flags&8772)switch(t.tag){case 0:case 11:case 15:Ot||il(5,t);break;case 1:var a=t.stateNode;if(t.flags&4&&!Ot)if(n===null)a.componentDidMount();else{var o=t.elementType===t.type?n.memoizedProps:Mn(t.type,n.memoizedProps);a.componentDidUpdate(o,n.memoizedState,a.__reactInternalSnapshotBeforeUpdate)}var i=t.updateQueue;i!==null&&Hp(t,i,a);break;case 3:var l=t.updateQueue;if(l!==null){if(n=null,t.child!==null)switch(t.child.tag){case 5:n=t.child.stateNode;break;case 1:n=t.child.stateNode}Hp(t,l,n)}break;case 5:var s=t.stateNode;if(n===null&&t.flags&4){n=s;var c=t.memoizedProps;switch(t.type){case"button":case"input":case"select":case"textarea":c.autoFocus&&n.focus();break;case"img":c.src&&(n.src=c.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(t.memoizedState===null){var p=t.alternate;if(p!==null){var f=p.memoizedState;if(f!==null){var b=f.dehydrated;b!==null&&wo(b)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;default:throw Error(Y(163))}Ot||t.flags&512&&tc(t)}catch(h){ut(t,t.return,h)}}if(t===e){ce=null;break}if(n=t.sibling,n!==null){n.return=t.return,ce=n;break}ce=t.return}}function au(e){for(;ce!==null;){var t=ce;if(t===e){ce=null;break}var n=t.sibling;if(n!==null){n.return=t.return,ce=n;break}ce=t.return}}function ou(e){for(;ce!==null;){var t=ce;try{switch(t.tag){case 0:case 11:case 15:var n=t.return;try{il(4,t)}catch(c){ut(t,n,c)}break;case 1:var a=t.stateNode;if(typeof a.componentDidMount=="function"){var o=t.return;try{a.componentDidMount()}catch(c){ut(t,o,c)}}var i=t.return;try{tc(t)}catch(c){ut(t,i,c)}break;case 5:var l=t.return;try{tc(t)}catch(c){ut(t,l,c)}}}catch(c){ut(t,t.return,c)}if(t===e){ce=null;break}var s=t.sibling;if(s!==null){s.return=t.return,ce=s;break}ce=t.return}}var by=Math.ceil,Ki=lr.ReactCurrentDispatcher,Hc=lr.ReactCurrentOwner,hn=lr.ReactCurrentBatchConfig,Ge=0,Ct=null,ht=null,zt=0,en=0,xa=Pr(0),xt=0,Po=null,Jr=0,ll=0,Wc=0,fo=null,Yt=null,Uc=0,Da=1/0,Jn=null,qi=!1,ac=null,Tr=null,yi=!1,xr=null,Yi=0,go=0,oc=null,Ni=-1,Ti=0;function Vt(){return Ge&6?gt():Ni!==-1?Ni:Ni=gt()}function Mr(e){return e.mode&1?Ge&2&&zt!==0?zt&-zt:ny.transition!==null?(Ti===0&&(Ti=Du()),Ti):(e=Qe,e!==0||(e=window.event,e=e===void 0?16:Bu(e.type)),e):1}function Ln(e,t,n,a){if(50<go)throw go=0,oc=null,Error(Y(185));Do(e,n,a),(!(Ge&2)||e!==Ct)&&(e===Ct&&(!(Ge&2)&&(ll|=n),xt===4&&vr(e,zt)),Zt(e,a),n===1&&Ge===0&&!(t.mode&1)&&(Da=gt()+500,rl&&Dr()))}function Zt(e,t){var n=e.callbackNode;ah(e,t);var a=Pi(e,e===Ct?zt:0);if(a===0)n!==null&&mp(n),e.callbackNode=null,e.callbackPriority=0;else if(t=a&-a,e.callbackPriority!==t){if(n!=null&&mp(n),t===1)e.tag===0?ty(iu.bind(null,e)):om(iu.bind(null,e)),Xh(function(){!(Ge&6)&&Dr()}),n=null;else{switch(Au(a)){case 1:n=gc;break;case 4:n=Lu;break;case 16:n=Li;break;case 536870912:n=Pu;break;default:n=Li}n=rf(n,Qm.bind(null,e))}e.callbackPriority=t,e.callbackNode=n}}function Qm(e,t){if(Ni=-1,Ti=0,Ge&6)throw Error(Y(327));var n=e.callbackNode;if(Ta()&&e.callbackNode!==n)return null;var a=Pi(e,e===Ct?zt:0);if(a===0)return null;if(a&30||a&e.expiredLanes||t)t=Qi(e,a);else{t=a;var o=Ge;Ge|=2;var i=Jm();(Ct!==e||zt!==t)&&(Jn=null,Da=gt()+500,Kr(e,t));do try{ky();break}catch(s){Xm(e,s)}while(!0);Ec(),Ki.current=i,Ge=o,ht!==null?t=0:(Ct=null,zt=0,t=xt)}if(t!==0){if(t===2&&(o=Ps(e),o!==0&&(a=o,t=ic(e,o))),t===1)throw n=Po,Kr(e,0),vr(e,a),Zt(e,gt()),n;if(t===6)vr(e,a);else{if(o=e.current.alternate,!(a&30)&&!xy(o)&&(t=Qi(e,a),t===2&&(i=Ps(e),i!==0&&(a=i,t=ic(e,i))),t===1))throw n=Po,Kr(e,0),vr(e,a),Zt(e,gt()),n;switch(e.finishedWork=o,e.finishedLanes=a,t){case 0:case 1:throw Error(Y(345));case 2:Ur(e,Yt,Jn);break;case 3:if(vr(e,a),(a&130023424)===a&&(t=Uc+500-gt(),10<t)){if(Pi(e,0)!==0)break;if(o=e.suspendedLanes,(o&a)!==a){Vt(),e.pingedLanes|=e.suspendedLanes&o;break}e.timeoutHandle=Bs(Ur.bind(null,e,Yt,Jn),t);break}Ur(e,Yt,Jn);break;case 4:if(vr(e,a),(a&4194240)===a)break;for(t=e.eventTimes,o=-1;0<a;){var l=31-Rn(a);i=1<<l,l=t[l],l>o&&(o=l),a&=~i}if(a=o,a=gt()-a,a=(120>a?120:480>a?480:1080>a?1080:1920>a?1920:3e3>a?3e3:4320>a?4320:1960*by(a/1960))-a,10<a){e.timeoutHandle=Bs(Ur.bind(null,e,Yt,Jn),a);break}Ur(e,Yt,Jn);break;case 5:Ur(e,Yt,Jn);break;default:throw Error(Y(329))}}}return Zt(e,gt()),e.callbackNode===n?Qm.bind(null,e):null}function ic(e,t){var n=fo;return e.current.memoizedState.isDehydrated&&(Kr(e,t).flags|=256),e=Qi(e,t),e!==2&&(t=Yt,Yt=n,t!==null&&lc(t)),e}function lc(e){Yt===null?Yt=e:Yt.push.apply(Yt,e)}function xy(e){for(var t=e;;){if(t.flags&16384){var n=t.updateQueue;if(n!==null&&(n=n.stores,n!==null))for(var a=0;a<n.length;a++){var o=n[a],i=o.getSnapshot;o=o.value;try{if(!Pn(i(),o))return!1}catch{return!1}}}if(n=t.child,t.subtreeFlags&16384&&n!==null)n.return=t,t=n;else{if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}function vr(e,t){for(t&=~Wc,t&=~ll,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0<t;){var n=31-Rn(t),a=1<<n;e[n]=-1,t&=~a}}function iu(e){if(Ge&6)throw Error(Y(327));Ta();var t=Pi(e,0);if(!(t&1))return Zt(e,gt()),null;var n=Qi(e,t);if(e.tag!==0&&n===2){var a=Ps(e);a!==0&&(t=a,n=ic(e,a))}if(n===1)throw n=Po,Kr(e,0),vr(e,t),Zt(e,gt()),n;if(n===6)throw Error(Y(345));return e.finishedWork=e.current.alternate,e.finishedLanes=t,Ur(e,Yt,Jn),Zt(e,gt()),null}function $c(e,t){var n=Ge;Ge|=1;try{return e(t)}finally{Ge=n,Ge===0&&(Da=gt()+500,rl&&Dr())}}function Zr(e){xr!==null&&xr.tag===0&&!(Ge&6)&&Ta();var t=Ge;Ge|=1;var n=hn.transition,a=Qe;try{if(hn.transition=null,Qe=1,e)return e()}finally{Qe=a,hn.transition=n,Ge=t,!(Ge&6)&&Dr()}}function Vc(){en=xa.current,at(xa)}function Kr(e,t){e.finishedWork=null,e.finishedLanes=0;var n=e.timeoutHandle;if(n!==-1&&(e.timeoutHandle=-1,Qh(n)),ht!==null)for(n=ht.return;n!==null;){var a=n;switch(Nc(a),a.tag){case 1:a=a.type.childContextTypes,a!=null&&_i();break;case 3:La(),at(Xt),at(jt),Ac();break;case 5:Dc(a);break;case 4:La();break;case 13:at(st);break;case 19:at(st);break;case 10:zc(a.type._context);break;case 22:case 23:Vc()}n=n.return}if(Ct=e,ht=e=Er(e.current,null),zt=en=t,xt=0,Po=null,Wc=ll=Jr=0,Yt=fo=null,Vr!==null){for(t=0;t<Vr.length;t++)if(n=Vr[t],a=n.interleaved,a!==null){n.interleaved=null;var o=a.next,i=n.pending;if(i!==null){var l=i.next;i.next=o,a.next=l}n.pending=a}Vr=null}return e}function Xm(e,t){do{var n=ht;try{if(Ec(),ki.current=Gi,Vi){for(var a=ct.memoizedState;a!==null;){var o=a.queue;o!==null&&(o.pending=null),a=a.next}Vi=!1}if(Xr=0,St=bt=ct=null,uo=!1,zo=0,Hc.current=null,n===null||n.return===null){xt=1,Po=t,ht=null;break}e:{var i=e,l=n.return,s=n,c=t;if(t=zt,s.flags|=32768,c!==null&&typeof c=="object"&&typeof c.then=="function"){var p=c,f=s,b=f.tag;if(!(f.mode&1)&&(b===0||b===11||b===15)){var h=f.alternate;h?(f.updateQueue=h.updateQueue,f.memoizedState=h.memoizedState,f.lanes=h.lanes):(f.updateQueue=null,f.memoizedState=null)}var S=Kp(l);if(S!==null){S.flags&=-257,qp(S,l,s,i,t),S.mode&1&&Gp(i,p,t),t=S,c=p;var L=t.updateQueue;if(L===null){var M=new Set;M.add(c),t.updateQueue=M}else L.add(c);break e}else{if(!(t&1)){Gp(i,p,t),Gc();break e}c=Error(Y(426))}}else if(ot&&s.mode&1){var _=Kp(l);if(_!==null){!(_.flags&65536)&&(_.flags|=256),qp(_,l,s,i,t),Tc(Pa(c,s));break e}}i=c=Pa(c,s),xt!==4&&(xt=2),fo===null?fo=[i]:fo.push(i),i=l;do{switch(i.tag){case 3:i.flags|=65536,t&=-t,i.lanes|=t;var x=Am(i,c,t);Bp(i,x);break e;case 1:s=c;var m=i.type,y=i.stateNode;if(!(i.flags&128)&&(typeof m.getDerivedStateFromError=="function"||y!==null&&typeof y.componentDidCatch=="function"&&(Tr===null||!Tr.has(y)))){i.flags|=65536,t&=-t,i.lanes|=t;var R=Fm(i,s,t);Bp(i,R);break e}}i=i.return}while(i!==null)}ef(n)}catch(F){t=F,ht===n&&n!==null&&(ht=n=n.return);continue}break}while(!0)}function Jm(){var e=Ki.current;return Ki.current=Gi,e===null?Gi:e}function Gc(){(xt===0||xt===3||xt===2)&&(xt=4),Ct===null||!(Jr&268435455)&&!(ll&268435455)||vr(Ct,zt)}function Qi(e,t){var n=Ge;Ge|=2;var a=Jm();(Ct!==e||zt!==t)&&(Jn=null,Kr(e,t));do try{wy();break}catch(o){Xm(e,o)}while(!0);if(Ec(),Ge=n,Ki.current=a,ht!==null)throw Error(Y(261));return Ct=null,zt=0,xt}function wy(){for(;ht!==null;)Zm(ht)}function ky(){for(;ht!==null&&!Yg();)Zm(ht)}function Zm(e){var t=nf(e.alternate,e,en);e.memoizedProps=e.pendingProps,t===null?ef(e):ht=t,Hc.current=null}function ef(e){var t=e;do{var n=t.alternate;if(e=t.return,t.flags&32768){if(n=gy(n,t),n!==null){n.flags&=32767,ht=n;return}if(e!==null)e.flags|=32768,e.subtreeFlags=0,e.deletions=null;else{xt=6,ht=null;return}}else if(n=fy(n,t,en),n!==null){ht=n;return}if(t=t.sibling,t!==null){ht=t;return}ht=t=e}while(t!==null);xt===0&&(xt=5)}function Ur(e,t,n){var a=Qe,o=hn.transition;try{hn.transition=null,Qe=1,Sy(e,t,n,a)}finally{hn.transition=o,Qe=a}return null}function Sy(e,t,n,a){do Ta();while(xr!==null);if(Ge&6)throw Error(Y(327));n=e.finishedWork;var o=e.finishedLanes;if(n===null)return null;if(e.finishedWork=null,e.finishedLanes=0,n===e.current)throw Error(Y(177));e.callbackNode=null,e.callbackPriority=0;var i=n.lanes|n.childLanes;if(oh(e,i),e===Ct&&(ht=Ct=null,zt=0),!(n.subtreeFlags&2064)&&!(n.flags&2064)||yi||(yi=!0,rf(Li,function(){return Ta(),null})),i=(n.flags&15990)!==0,n.subtreeFlags&15990||i){i=hn.transition,hn.transition=null;var l=Qe;Qe=1;var s=Ge;Ge|=4,Hc.current=null,yy(e,n),qm(n,e),Vh(Os),Di=!!_s,Os=_s=null,e.current=n,vy(n,e,o),Qg(),Ge=s,Qe=l,hn.transition=i}else e.current=n;if(yi&&(yi=!1,xr=e,Yi=o),i=e.pendingLanes,i===0&&(Tr=null),Zg(n.stateNode,a),Zt(e,gt()),t!==null)for(a=e.onRecoverableError,n=0;n<t.length;n++)o=t[n],a(o.value,{componentStack:o.stack,digest:o.digest});if(qi)throw qi=!1,e=ac,ac=null,e;return Yi&1&&e.tag!==0&&Ta(),i=e.pendingLanes,i&1?e===oc?go++:(go=0,oc=e):go=0,Dr(),null}function Ta(){if(xr!==null){var e=Au(Yi),t=hn.transition,n=Qe;try{if(hn.transition=null,Qe=16>e?16:e,xr===null)var a=!1;else{if(e=xr,xr=null,Yi=0,Ge&6)throw Error(Y(331));var o=Ge;for(Ge|=4,ce=e.current;ce!==null;){var i=ce,l=i.child;if(ce.flags&16){var s=i.deletions;if(s!==null){for(var c=0;c<s.length;c++){var p=s[c];for(ce=p;ce!==null;){var f=ce;switch(f.tag){case 0:case 11:case 15:mo(8,f,i)}var b=f.child;if(b!==null)b.return=f,ce=b;else for(;ce!==null;){f=ce;var h=f.sibling,S=f.return;if(Vm(f),f===p){ce=null;break}if(h!==null){h.return=S,ce=h;break}ce=S}}}var L=i.alternate;if(L!==null){var M=L.child;if(M!==null){L.child=null;do{var _=M.sibling;M.sibling=null,M=_}while(M!==null)}}ce=i}}if(i.subtreeFlags&2064&&l!==null)l.return=i,ce=l;else e:for(;ce!==null;){if(i=ce,i.flags&2048)switch(i.tag){case 0:case 11:case 15:mo(9,i,i.return)}var x=i.sibling;if(x!==null){x.return=i.return,ce=x;break e}ce=i.return}}var m=e.current;for(ce=m;ce!==null;){l=ce;var y=l.child;if(l.subtreeFlags&2064&&y!==null)y.return=l,ce=y;else e:for(l=m;ce!==null;){if(s=ce,s.flags&2048)try{switch(s.tag){case 0:case 11:case 15:il(9,s)}}catch(F){ut(s,s.return,F)}if(s===l){ce=null;break e}var R=s.sibling;if(R!==null){R.return=s.return,ce=R;break e}ce=s.return}}if(Ge=o,Dr(),Kn&&typeof Kn.onPostCommitFiberRoot=="function")try{Kn.onPostCommitFiberRoot(Ji,e)}catch{}a=!0}return a}finally{Qe=n,hn.transition=t}}return!1}function lu(e,t,n){t=Pa(n,t),t=Am(e,t,1),e=Nr(e,t,1),t=Vt(),e!==null&&(Do(e,1,t),Zt(e,t))}function ut(e,t,n){if(e.tag===3)lu(e,e,n);else for(;t!==null;){if(t.tag===3){lu(t,e,n);break}else if(t.tag===1){var a=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof a.componentDidCatch=="function"&&(Tr===null||!Tr.has(a))){e=Pa(n,e),e=Fm(t,e,1),t=Nr(t,e,1),e=Vt(),t!==null&&(Do(t,1,e),Zt(t,e));break}}t=t.return}}function Cy(e,t,n){var a=e.pingCache;a!==null&&a.delete(t),t=Vt(),e.pingedLanes|=e.suspendedLanes&n,Ct===e&&(zt&n)===n&&(xt===4||xt===3&&(zt&130023424)===zt&&500>gt()-Uc?Kr(e,0):Wc|=n),Zt(e,t)}function tf(e,t){t===0&&(e.mode&1?(t=ri,ri<<=1,!(ri&130023424)&&(ri=4194304)):t=1);var n=Vt();e=or(e,t),e!==null&&(Do(e,t,n),Zt(e,n))}function Ny(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),tf(e,n)}function Ty(e,t){var n=0;switch(e.tag){case 13:var a=e.stateNode,o=e.memoizedState;o!==null&&(n=o.retryLane);break;case 19:a=e.stateNode;break;default:throw Error(Y(314))}a!==null&&a.delete(t),tf(e,n)}var nf;nf=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||Xt.current)Qt=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return Qt=!1,my(e,t,n);Qt=!!(e.flags&131072)}else Qt=!1,ot&&t.flags&1048576&&im(t,Bi,t.index);switch(t.lanes=0,t.tag){case 2:var a=t.type;Ci(e,t),e=t.pendingProps;var o=Ea(t,jt.current);Na(t,n),o=Ic(null,t,a,e,o,n);var i=_c();return t.flags|=1,typeof o=="object"&&o!==null&&typeof o.render=="function"&&o.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,Jt(a)?(i=!0,Oi(t)):i=!1,t.memoizedState=o.state!==null&&o.state!==void 0?o.state:null,Lc(t),o.updater=ol,t.stateNode=o,o._reactInternals=t,Ks(t,a,e,n),t=Qs(null,t,a,!0,i,n)):(t.tag=0,ot&&i&&Cc(t),$t(null,t,o,n),t=t.child),t;case 16:a=t.elementType;e:{switch(Ci(e,t),e=t.pendingProps,o=a._init,a=o(a._payload),t.type=a,o=t.tag=Ey(a),e=Mn(a,e),o){case 0:t=Ys(null,t,a,e,n);break e;case 1:t=Xp(null,t,a,e,n);break e;case 11:t=Yp(null,t,a,e,n);break e;case 14:t=Qp(null,t,a,Mn(a.type,e),n);break e}throw Error(Y(306,a,""))}return t;case 0:return a=t.type,o=t.pendingProps,o=t.elementType===a?o:Mn(a,o),Ys(e,t,a,o,n);case 1:return a=t.type,o=t.pendingProps,o=t.elementType===a?o:Mn(a,o),Xp(e,t,a,o,n);case 3:e:{if(jm(t),e===null)throw Error(Y(387));a=t.pendingProps,i=t.memoizedState,o=i.element,um(e,t),Ui(t,a,null,n);var l=t.memoizedState;if(a=l.element,i.isDehydrated)if(i={element:a,isDehydrated:!1,cache:l.cache,pendingSuspenseBoundaries:l.pendingSuspenseBoundaries,transitions:l.transitions},t.updateQueue.baseState=i,t.memoizedState=i,t.flags&256){o=Pa(Error(Y(423)),t),t=Jp(e,t,a,n,o);break e}else if(a!==o){o=Pa(Error(Y(424)),t),t=Jp(e,t,a,n,o);break e}else for(tn=Cr(t.stateNode.containerInfo.firstChild),nn=t,ot=!0,zn=null,n=dm(t,null,a,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(za(),a===o){t=ir(e,t,n);break e}$t(e,t,a,n)}t=t.child}return t;case 5:return mm(t),e===null&&$s(t),a=t.type,o=t.pendingProps,i=e!==null?e.memoizedProps:null,l=o.children,js(a,o)?l=null:i!==null&&js(a,i)&&(t.flags|=32),Om(e,t),$t(e,t,l,n),t.child;case 6:return e===null&&$s(t),null;case 13:return Bm(e,t,n);case 4:return Pc(t,t.stateNode.containerInfo),a=t.pendingProps,e===null?t.child=Ra(t,null,a,n):$t(e,t,a,n),t.child;case 11:return a=t.type,o=t.pendingProps,o=t.elementType===a?o:Mn(a,o),Yp(e,t,a,o,n);case 7:return $t(e,t,t.pendingProps,n),t.child;case 8:return $t(e,t,t.pendingProps.children,n),t.child;case 12:return $t(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(a=t.type._context,o=t.pendingProps,i=t.memoizedProps,l=o.value,tt(Hi,a._currentValue),a._currentValue=l,i!==null)if(Pn(i.value,l)){if(i.children===o.children&&!Xt.current){t=ir(e,t,n);break e}}else for(i=t.child,i!==null&&(i.return=t);i!==null;){var s=i.dependencies;if(s!==null){l=i.child;for(var c=s.firstContext;c!==null;){if(c.context===a){if(i.tag===1){c=nr(-1,n&-n),c.tag=2;var p=i.updateQueue;if(p!==null){p=p.shared;var f=p.pending;f===null?c.next=c:(c.next=f.next,f.next=c),p.pending=c}}i.lanes|=n,c=i.alternate,c!==null&&(c.lanes|=n),Vs(i.return,n,t),s.lanes|=n;break}c=c.next}}else if(i.tag===10)l=i.type===t.type?null:i.child;else if(i.tag===18){if(l=i.return,l===null)throw Error(Y(341));l.lanes|=n,s=l.alternate,s!==null&&(s.lanes|=n),Vs(l,n,t),l=i.sibling}else l=i.child;if(l!==null)l.return=i;else for(l=i;l!==null;){if(l===t){l=null;break}if(i=l.sibling,i!==null){i.return=l.return,l=i;break}l=l.return}i=l}$t(e,t,o.children,n),t=t.child}return t;case 9:return o=t.type,a=t.pendingProps.children,Na(t,n),o=yn(o),a=a(o),t.flags|=1,$t(e,t,a,n),t.child;case 14:return a=t.type,o=Mn(a,t.pendingProps),o=Mn(a.type,o),Qp(e,t,a,o,n);case 15:return Im(e,t,t.type,t.pendingProps,n);case 17:return a=t.type,o=t.pendingProps,o=t.elementType===a?o:Mn(a,o),Ci(e,t),t.tag=1,Jt(a)?(e=!0,Oi(t)):e=!1,Na(t,n),Dm(t,a,o),Ks(t,a,o,n),Qs(null,t,a,!0,e,n);case 19:return Hm(e,t,n);case 22:return _m(e,t,n)}throw Error(Y(156,t.tag))};function rf(e,t){return Ru(e,t)}function My(e,t,n,a){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=a,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function gn(e,t,n,a){return new My(e,t,n,a)}function Kc(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Ey(e){if(typeof e=="function")return Kc(e)?1:0;if(e!=null){if(e=e.$$typeof,e===uc)return 11;if(e===mc)return 14}return 2}function Er(e,t){var n=e.alternate;return n===null?(n=gn(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&14680064,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function Mi(e,t,n,a,o,i){var l=2;if(a=e,typeof e=="function")Kc(e)&&(l=1);else if(typeof e=="string")l=5;else e:switch(e){case da:return qr(n.children,o,i,t);case pc:l=8,o|=8;break;case ys:return e=gn(12,n,t,o|2),e.elementType=ys,e.lanes=i,e;case vs:return e=gn(13,n,t,o),e.elementType=vs,e.lanes=i,e;case bs:return e=gn(19,n,t,o),e.elementType=bs,e.lanes=i,e;case mu:return sl(n,o,i,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case pu:l=10;break e;case uu:l=9;break e;case uc:l=11;break e;case mc:l=14;break e;case gr:l=16,a=null;break e}throw Error(Y(130,e==null?e:typeof e,""))}return t=gn(l,n,t,o),t.elementType=e,t.type=a,t.lanes=i,t}function qr(e,t,n,a){return e=gn(7,e,a,t),e.lanes=n,e}function sl(e,t,n,a){return e=gn(22,e,a,t),e.elementType=mu,e.lanes=n,e.stateNode={isHidden:!1},e}function fs(e,t,n){return e=gn(6,e,null,t),e.lanes=n,e}function gs(e,t,n){return t=gn(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function zy(e,t,n,a,o){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Jl(0),this.expirationTimes=Jl(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Jl(0),this.identifierPrefix=a,this.onRecoverableError=o,this.mutableSourceEagerHydrationData=null}function qc(e,t,n,a,o,i,l,s,c){return e=new zy(e,t,n,s,c),t===1?(t=1,i===!0&&(t|=8)):t=0,i=gn(3,null,null,t),e.current=i,i.stateNode=e,i.memoizedState={element:a,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},Lc(i),e}function Ry(e,t,n){var a=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:ca,key:a==null?null:""+a,children:e,containerInfo:t,implementation:n}}function af(e){if(!e)return Rr;e=e._reactInternals;e:{if(ta(e)!==e||e.tag!==1)throw Error(Y(170));var t=e;do{switch(t.tag){case 3:t=t.stateNode.context;break e;case 1:if(Jt(t.type)){t=t.stateNode.__reactInternalMemoizedMergedChildContext;break e}}t=t.return}while(t!==null);throw Error(Y(171))}if(e.tag===1){var n=e.type;if(Jt(n))return am(e,n,t)}return t}function of(e,t,n,a,o,i,l,s,c){return e=qc(n,a,!0,e,o,i,l,s,c),e.context=af(null),n=e.current,a=Vt(),o=Mr(n),i=nr(a,o),i.callback=t??null,Nr(n,i,o),e.current.lanes=o,Do(e,o,a),Zt(e,a),e}function cl(e,t,n,a){var o=t.current,i=Vt(),l=Mr(o);return n=af(n),t.context===null?t.context=n:t.pendingContext=n,t=nr(i,l),t.payload={element:e},a=a===void 0?null:a,a!==null&&(t.callback=a),e=Nr(o,t,l),e!==null&&(Ln(e,o,l,i),wi(e,o,l)),l}function Xi(e){if(e=e.current,!e.child)return null;switch(e.child.tag){case 5:return e.child.stateNode;default:return e.child.stateNode}}function su(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var n=e.retryLane;e.retryLane=n!==0&&n<t?n:t}}function Yc(e,t){su(e,t),(e=e.alternate)&&su(e,t)}function Ly(){return null}var lf=typeof reportError=="function"?reportError:function(e){console.error(e)};function Qc(e){this._internalRoot=e}dl.prototype.render=Qc.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(Y(409));cl(e,t,null,null)};dl.prototype.unmount=Qc.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;Zr(function(){cl(null,e,null,null)}),t[ar]=null}};function dl(e){this._internalRoot=e}dl.prototype.unstable_scheduleHydration=function(e){if(e){var t=_u();e={blockedOn:null,target:e,priority:t};for(var n=0;n<yr.length&&t!==0&&t<yr[n].priority;n++);yr.splice(n,0,e),n===0&&ju(e)}};function Xc(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function pl(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11&&(e.nodeType!==8||e.nodeValue!==" react-mount-point-unstable "))}function cu(){}function Py(e,t,n,a,o){if(o){if(typeof a=="function"){var i=a;a=function(){var p=Xi(l);i.call(p)}}var l=of(t,a,e,0,null,!1,!1,"",cu);return e._reactRootContainer=l,e[ar]=l.current,Co(e.nodeType===8?e.parentNode:e),Zr(),l}for(;o=e.lastChild;)e.removeChild(o);if(typeof a=="function"){var s=a;a=function(){var p=Xi(c);s.call(p)}}var c=qc(e,0,!1,null,null,!1,!1,"",cu);return e._reactRootContainer=c,e[ar]=c.current,Co(e.nodeType===8?e.parentNode:e),Zr(function(){cl(t,c,n,a)}),c}function ul(e,t,n,a,o){var i=n._reactRootContainer;if(i){var l=i;if(typeof o=="function"){var s=o;o=function(){var c=Xi(l);s.call(c)}}cl(t,l,e,o)}else l=Py(n,t,e,o,a);return Xi(l)}Fu=function(e){switch(e.tag){case 3:var t=e.stateNode;if(t.current.memoizedState.isDehydrated){var n=ao(t.pendingLanes);n!==0&&(hc(t,n|1),Zt(t,gt()),!(Ge&6)&&(Da=gt()+500,Dr()))}break;case 13:Zr(function(){var a=or(e,1);if(a!==null){var o=Vt();Ln(a,e,1,o)}}),Yc(e,1)}};yc=function(e){if(e.tag===13){var t=or(e,134217728);if(t!==null){var n=Vt();Ln(t,e,134217728,n)}Yc(e,134217728)}};Iu=function(e){if(e.tag===13){var t=Mr(e),n=or(e,t);if(n!==null){var a=Vt();Ln(n,e,t,a)}Yc(e,t)}};_u=function(){return Qe};Ou=function(e,t){var n=Qe;try{return Qe=e,t()}finally{Qe=n}};zs=function(e,t,n){switch(t){case"input":if(ks(e,n),t=n.name,n.type==="radio"&&t!=null){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll("input[name="+JSON.stringify(""+t)+'][type="radio"]'),t=0;t<n.length;t++){var a=n[t];if(a!==e&&a.form===e.form){var o=nl(a);if(!o)throw Error(Y(90));gu(a),ks(a,o)}}}break;case"textarea":yu(e,n);break;case"select":t=n.value,t!=null&&wa(e,!!n.multiple,t,!1)}};Cu=$c;Nu=Zr;var Dy={usingClientEntryPoint:!1,Events:[Fo,fa,nl,ku,Su,$c]},eo={findFiberByHostInstance:$r,bundleType:0,version:"18.3.1",rendererPackageName:"react-dom"},Ay={bundleType:eo.bundleType,version:eo.version,rendererPackageName:eo.rendererPackageName,rendererConfig:eo.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:lr.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return e=Eu(e),e===null?null:e.stateNode},findFiberByHostInstance:eo.findFiberByHostInstance||Ly,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.3.1-next-f1338f8080-20240426"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&(to=__REACT_DEVTOOLS_GLOBAL_HOOK__,!to.isDisabled&&to.supportsFiber))try{Ji=to.inject(Ay),Kn=to}catch{}var to;on.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=Dy;on.createPortal=function(e,t){var n=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!Xc(t))throw Error(Y(200));return Ry(e,t,null,n)};on.createRoot=function(e,t){if(!Xc(e))throw Error(Y(299));var n=!1,a="",o=lf;return t!=null&&(t.unstable_strictMode===!0&&(n=!0),t.identifierPrefix!==void 0&&(a=t.identifierPrefix),t.onRecoverableError!==void 0&&(o=t.onRecoverableError)),t=qc(e,1,!1,null,null,n,!1,a,o),e[ar]=t.current,Co(e.nodeType===8?e.parentNode:e),new Qc(t)};on.findDOMNode=function(e){if(e==null)return null;if(e.nodeType===1)return e;var t=e._reactInternals;if(t===void 0)throw typeof e.render=="function"?Error(Y(188)):(e=Object.keys(e).join(","),Error(Y(268,e)));return e=Eu(t),e=e===null?null:e.stateNode,e};on.flushSync=function(e){return Zr(e)};on.hydrate=function(e,t,n){if(!pl(t))throw Error(Y(200));return ul(null,e,t,!0,n)};on.hydrateRoot=function(e,t,n){if(!Xc(e))throw Error(Y(405));var a=n!=null&&n.hydratedSources||null,o=!1,i="",l=lf;if(n!=null&&(n.unstable_strictMode===!0&&(o=!0),n.identifierPrefix!==void 0&&(i=n.identifierPrefix),n.onRecoverableError!==void 0&&(l=n.onRecoverableError)),t=of(t,null,e,1,n??null,o,!1,i,l),e[ar]=t.current,Co(e),a)for(e=0;e<a.length;e++)n=a[e],o=n._getVersion,o=o(n._source),t.mutableSourceEagerHydrationData==null?t.mutableSourceEagerHydrationData=[n,o]:t.mutableSourceEagerHydrationData.push(n,o);return new dl(t)};on.render=function(e,t,n){if(!pl(t))throw Error(Y(200));return ul(null,e,t,!1,n)};on.unmountComponentAtNode=function(e){if(!pl(e))throw Error(Y(40));return e._reactRootContainer?(Zr(function(){ul(null,null,e,!1,function(){e._reactRootContainer=null,e[ar]=null})}),!0):!1};on.unstable_batchedUpdates=$c;on.unstable_renderSubtreeIntoContainer=function(e,t,n,a){if(!pl(n))throw Error(Y(200));if(e==null||e._reactInternals===void 0)throw Error(Y(38));return ul(e,t,n,!1,a)};on.version="18.3.1-next-f1338f8080-20240426"});var Jc=Xn((X0,df)=>{"use strict";function cf(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(cf)}catch(e){console.error(e)}}cf(),df.exports=sf()});var uf=Xn(Zc=>{"use strict";var pf=Jc();Zc.createRoot=pf.createRoot,Zc.hydrateRoot=pf.hydrateRoot;var J0});var Of=Xn(bl=>{"use strict";var Yy=$a(),Qy=Symbol.for("react.element"),Xy=Symbol.for("react.fragment"),Jy=Object.prototype.hasOwnProperty,Zy=Yy.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,e0={key:!0,ref:!0,__self:!0,__source:!0};function _f(e,t,n){var a,o={},i=null,l=null;n!==void 0&&(i=""+n),t.key!==void 0&&(i=""+t.key),t.ref!==void 0&&(l=t.ref);for(a in t)Jy.call(t,a)&&!e0.hasOwnProperty(a)&&(o[a]=t[a]);if(e&&e.defaultProps)for(a in t=e.defaultProps,t)o[a]===void 0&&(o[a]=t[a]);return{$$typeof:Qy,type:e,key:i,ref:l,props:o,_owner:Zy.current}}bl.Fragment=Xy;bl.jsx=_f;bl.jsxs=_f});var jo=Xn((mv,jf)=>{"use strict";jf.exports=Of()});var Oa=ur($a(),1),ng=ur(uf(),1);var u=ur($a(),1),n0=ur(Jc(),1);var Fy={"&":"&amp;","<":"&lt;",">":"&gt;"},ed=e=>String(e).replace(/[&<>]/g,t=>Fy[t]),Iy=[[/结论|总结|tl;?dr|summary|takeaway/i,"\u2705","ok"],[/风险|注意|警告|禁止|坑|踩坑|务必/i,"\u26A0\uFE0F","warn"],[/根因|原因|为什么|定位|复现/i,"\u{1F50D}","info"],[/修复|解决|变更|fix/i,"\u{1F527}","ok"],[/验证|测试|实测|回归/i,"\u{1F9EA}","ok"],[/方案|做法|实现|设计|思路|架构/i,"\u{1F6E0}\uFE0F","plan"],[/步骤|流程|操作|用法|命令/i,"\u{1F9E9}","plan"],[/背景|由来|context/i,"\u{1F9ED}","info"],[/目标|需求|要解决/i,"\u{1F3AF}","plan"],[/环境|依赖|前置|安装/i,"\u{1F4E6}","info"],[/收益|效果|性能|指标|数据|统计/i,"\u{1F4C8}","ok"],[/示例|例子|样例|demo/i,"\u{1F4A1}","idea"],[/参考|链接|相关/i,"\u{1F517}","info"]],_y=["\u2728","info"],Oy=[[/风险|注意|警告|禁止|坑|务必/i,"\u26A0\uFE0F","warn"],[/提示|建议|tip|best practice/i,"\u{1F4A1}","idea"],[/结论|总结/i,"\u2705","ok"],[/错误|失败|报错/i,"\u2757","bad"]],jy=e=>{let t=String(e);for(let[n,a,o]of Iy)if(n.test(t))return[a,o];return _y},By=e=>{let t=e.join(" ");for(let[n,a,o]of Oy)if(n.test(t))return[a,o];return["\u{1F4CC}","info"]};function Ia(e){let t=String(e),n=/^([^::\s]{1,8})[::]\s*(.+)$/.exec(t);if(n&&!/[是为有了吗呢着过把被和与或于]/.test(n[1]))return'<span class="md-kv"><span class="md-k">'+ed(n[1])+'</span><span class="md-v">'+Ia(n[2])+"</span></span>";let a=ed(t);return a=a.replace(/^\[([ xX])\](?=\s|$)\s*/,(o,i)=>'<span class="md-task">'+(i.toLowerCase()==="x"?"\u2611":"\u2610")+"</span> "),a=a.replace(/`([^`\n]+)`/g,'<code class="md-code">$1</code>'),a=a.replace(/\*\*([^*]+)\*\*/g,'<strong class="md-b">$1</strong>'),a=a.replace(/(^|[^*])\*([^*\n]+)\*/g,"$1<em>$2</em>"),a=a.replace(/\[([^\]]+)\]\(([^)\s]+)\)/g,(o,i,l)=>/^(https?:|\/|#)/i.test(l)?'<a class="md-link" href="'+l+'" target="_blank" rel="noopener noreferrer">'+i+"</a>":i),a}function ml(e){let t=String(e||"").replace(/\r\n?/g,`
8
+ `+i.stack}return{value:e,source:t,stack:o,digest:null}}function us(e,t,n){return{value:e,source:null,stack:n??null,digest:t??null}}function qs(e,t){try{console.error(t.value)}catch(n){setTimeout(function(){throw n})}}var dy=typeof WeakMap=="function"?WeakMap:Map;function Am(e,t,n){n=er(-1,n),n.tag=3,n.payload={element:null};var a=t.value;return n.callback=function(){qi||(qi=!0,ac=a),qs(e,t)},n}function Fm(e,t,n){n=er(-1,n),n.tag=3;var a=e.type.getDerivedStateFromError;if(typeof a=="function"){var o=t.value;n.payload=function(){return a(o)},n.callback=function(){qs(e,t)}}var i=e.stateNode;return i!==null&&typeof i.componentDidCatch=="function"&&(n.callback=function(){qs(e,t),typeof a!="function"&&(Tr===null?Tr=new Set([this]):Tr.add(this));var l=t.stack;this.componentDidCatch(t.value,{componentStack:l!==null?l:""})}),n}function Gp(e,t,n){var a=e.pingCache;if(a===null){a=e.pingCache=new dy;var o=new Set;a.set(t,o)}else o=a.get(t),o===void 0&&(o=new Set,a.set(t,o));o.has(n)||(o.add(n),e=Cy.bind(null,e,t,n),t.then(e,e))}function Kp(e){do{var t;if((t=e.tag===13)&&(t=e.memoizedState,t=t!==null?t.dehydrated!==null:!0),t)return e;e=e.return}while(e!==null);return null}function qp(e,t,n,a,o){return e.mode&1?(e.flags|=65536,e.lanes=o,e):(e===t?e.flags|=65536:(e.flags|=128,n.flags|=131072,n.flags&=-52805,n.tag===1&&(n.alternate===null?n.tag=17:(t=er(-1,1),t.tag=2,Nr(n,t,1))),n.lanes|=1),e)}var py=or.ReactCurrentOwner,Qt=!1;function $t(e,t,n,a){t.child=e===null?dm(t,null,n,a):Ra(t,e.child,n,a)}function Yp(e,t,n,a,o){n=n.render;var i=t.ref;return Na(t,o),a=Ic(e,t,n,a,i,o),n=_c(),e!==null&&!Qt?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~o,ar(e,t,o)):(at&&n&&Cc(t),t.flags|=1,$t(e,t,a,o),t.child)}function Qp(e,t,n,a,o){if(e===null){var i=n.type;return typeof i=="function"&&!Kc(i)&&i.defaultProps===void 0&&n.compare===null&&n.defaultProps===void 0?(t.tag=15,t.type=i,Im(e,t,i,a,o)):(e=Mi(n.type,null,a,t,t.mode,o),e.ref=t.ref,e.return=t,t.child=e)}if(i=e.child,!(e.lanes&o)){var l=i.memoizedProps;if(n=n.compare,n=n!==null?n:So,n(l,a)&&e.ref===t.ref)return ar(e,t,o)}return t.flags|=1,e=Er(i,a),e.ref=t.ref,e.return=t,t.child=e}function Im(e,t,n,a,o){if(e!==null){var i=e.memoizedProps;if(So(i,a)&&e.ref===t.ref)if(Qt=!1,t.pendingProps=a=i,(e.lanes&o)!==0)e.flags&131072&&(Qt=!0);else return t.lanes=e.lanes,ar(e,t,o)}return Ys(e,t,n,a,o)}function _m(e,t,n){var a=t.pendingProps,o=a.children,i=e!==null?e.memoizedState:null;if(a.mode==="hidden")if(!(t.mode&1))t.memoizedState={baseLanes:0,cachePool:null,transitions:null},et(xa,rn),rn|=n;else{if(!(n&1073741824))return e=i!==null?i.baseLanes|n:n,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,et(xa,rn),rn|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},a=i!==null?i.baseLanes:n,et(xa,rn),rn|=a}else i!==null?(a=i.baseLanes|n,t.memoizedState=null):a=n,et(xa,rn),rn|=a;return $t(e,t,o,n),t.child}function Om(e,t){var n=t.ref;(e===null&&n!==null||e!==null&&e.ref!==n)&&(t.flags|=512,t.flags|=2097152)}function Ys(e,t,n,a,o){var i=Jt(n)?Yr:Bt.current;return i=Ea(t,i),Na(t,o),n=Ic(e,t,n,a,i,o),a=_c(),e!==null&&!Qt?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~o,ar(e,t,o)):(at&&a&&Cc(t),t.flags|=1,$t(e,t,n,o),t.child)}function Xp(e,t,n,a,o){if(Jt(n)){var i=!0;Oi(t)}else i=!1;if(Na(t,o),t.stateNode===null)Ci(e,t),Dm(t,n,a),Ks(t,n,a,o),a=!0;else if(e===null){var l=t.stateNode,s=t.memoizedProps;l.props=s;var c=l.context,p=n.contextType;typeof p=="object"&&p!==null?p=bn(p):(p=Jt(n)?Yr:Bt.current,p=Ea(t,p));var f=n.getDerivedStateFromProps,g=typeof f=="function"||typeof l.getSnapshotBeforeUpdate=="function";g||typeof l.UNSAFE_componentWillReceiveProps!="function"&&typeof l.componentWillReceiveProps!="function"||(s!==a||c!==p)&&Vp(t,l,a,p),hr=!1;var y=t.memoizedState;l.state=y,Ui(t,a,l,o),c=t.memoizedState,s!==a||y!==c||Xt.current||hr?(typeof f=="function"&&(Gs(t,n,f,a),c=t.memoizedState),(s=hr||$p(t,n,s,a,y,c,p))?(g||typeof l.UNSAFE_componentWillMount!="function"&&typeof l.componentWillMount!="function"||(typeof l.componentWillMount=="function"&&l.componentWillMount(),typeof l.UNSAFE_componentWillMount=="function"&&l.UNSAFE_componentWillMount()),typeof l.componentDidMount=="function"&&(t.flags|=4194308)):(typeof l.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=a,t.memoizedState=c),l.props=a,l.state=c,l.context=p,a=s):(typeof l.componentDidMount=="function"&&(t.flags|=4194308),a=!1)}else{l=t.stateNode,um(e,t),s=t.memoizedProps,p=t.type===t.elementType?s:En(t.type,s),l.props=p,g=t.pendingProps,y=l.context,c=n.contextType,typeof c=="object"&&c!==null?c=bn(c):(c=Jt(n)?Yr:Bt.current,c=Ea(t,c));var S=n.getDerivedStateFromProps;(f=typeof S=="function"||typeof l.getSnapshotBeforeUpdate=="function")||typeof l.UNSAFE_componentWillReceiveProps!="function"&&typeof l.componentWillReceiveProps!="function"||(s!==g||y!==c)&&Vp(t,l,a,c),hr=!1,y=t.memoizedState,l.state=y,Ui(t,a,l,o);var R=t.memoizedState;s!==g||y!==R||Xt.current||hr?(typeof S=="function"&&(Gs(t,n,S,a),R=t.memoizedState),(p=hr||$p(t,n,p,a,y,R,c)||!1)?(f||typeof l.UNSAFE_componentWillUpdate!="function"&&typeof l.componentWillUpdate!="function"||(typeof l.componentWillUpdate=="function"&&l.componentWillUpdate(a,R,c),typeof l.UNSAFE_componentWillUpdate=="function"&&l.UNSAFE_componentWillUpdate(a,R,c)),typeof l.componentDidUpdate=="function"&&(t.flags|=4),typeof l.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof l.componentDidUpdate!="function"||s===e.memoizedProps&&y===e.memoizedState||(t.flags|=4),typeof l.getSnapshotBeforeUpdate!="function"||s===e.memoizedProps&&y===e.memoizedState||(t.flags|=1024),t.memoizedProps=a,t.memoizedState=R),l.props=a,l.state=R,l.context=c,a=p):(typeof l.componentDidUpdate!="function"||s===e.memoizedProps&&y===e.memoizedState||(t.flags|=4),typeof l.getSnapshotBeforeUpdate!="function"||s===e.memoizedProps&&y===e.memoizedState||(t.flags|=1024),a=!1)}return Qs(e,t,n,a,i,o)}function Qs(e,t,n,a,o,i){Om(e,t);var l=(t.flags&128)!==0;if(!a&&!l)return o&&Ip(t,n,!1),ar(e,t,i);a=t.stateNode,py.current=t;var s=l&&typeof n.getDerivedStateFromError!="function"?null:a.render();return t.flags|=1,e!==null&&l?(t.child=Ra(t,e.child,null,i),t.child=Ra(t,null,s,i)):$t(e,t,s,i),t.memoizedState=a.state,o&&Ip(t,n,!0),t.child}function jm(e){var t=e.stateNode;t.pendingContext?Fp(e,t.pendingContext,t.pendingContext!==t.context):t.context&&Fp(e,t.context,!1),Pc(e,t.containerInfo)}function Jp(e,t,n,a,o){return za(),Tc(o),t.flags|=256,$t(e,t,n,a),t.child}var Xs={dehydrated:null,treeContext:null,retryLane:0};function Js(e){return{baseLanes:e,cachePool:null,transitions:null}}function Bm(e,t,n){var a=t.pendingProps,o=lt.current,i=!1,l=(t.flags&128)!==0,s;if((s=l)||(s=e!==null&&e.memoizedState===null?!1:(o&2)!==0),s?(i=!0,t.flags&=-129):(e===null||e.memoizedState!==null)&&(o|=1),et(lt,o&1),e===null)return $s(t),e=t.memoizedState,e!==null&&(e=e.dehydrated,e!==null)?(t.mode&1?e.data==="$!"?t.lanes=8:t.lanes=1073741824:t.lanes=1,null):(l=a.children,e=a.fallback,i?(a=t.mode,i=t.child,l={mode:"hidden",children:l},!(a&1)&&i!==null?(i.childLanes=0,i.pendingProps=l):i=sl(l,a,0,null),e=qr(e,a,n,null),i.return=t,e.return=t,i.sibling=e,t.child=i,t.child.memoizedState=Js(n),t.memoizedState=Xs,e):Bc(t,l));if(o=e.memoizedState,o!==null&&(s=o.dehydrated,s!==null))return uy(e,t,l,a,s,o,n);if(i){i=a.fallback,l=t.mode,o=e.child,s=o.sibling;var c={mode:"hidden",children:a.children};return!(l&1)&&t.child!==o?(a=t.child,a.childLanes=0,a.pendingProps=c,t.deletions=null):(a=Er(o,c),a.subtreeFlags=o.subtreeFlags&14680064),s!==null?i=Er(s,i):(i=qr(i,l,n,null),i.flags|=2),i.return=t,a.return=t,a.sibling=i,t.child=a,a=i,i=t.child,l=e.child.memoizedState,l=l===null?Js(n):{baseLanes:l.baseLanes|n,cachePool:null,transitions:l.transitions},i.memoizedState=l,i.childLanes=e.childLanes&~n,t.memoizedState=Xs,a}return i=e.child,e=i.sibling,a=Er(i,{mode:"visible",children:a.children}),!(t.mode&1)&&(a.lanes=n),a.return=t,a.sibling=null,e!==null&&(n=t.deletions,n===null?(t.deletions=[e],t.flags|=16):n.push(e)),t.child=a,t.memoizedState=null,a}function Bc(e,t){return t=sl({mode:"visible",children:t},e.mode,0,null),t.return=e,e.child=t}function gi(e,t,n,a){return a!==null&&Tc(a),Ra(t,e.child,null,n),e=Bc(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function uy(e,t,n,a,o,i,l){if(n)return t.flags&256?(t.flags&=-257,a=us(Error(Q(422))),gi(e,t,l,a)):t.memoizedState!==null?(t.child=e.child,t.flags|=128,null):(i=a.fallback,o=t.mode,a=sl({mode:"visible",children:a.children},o,0,null),i=qr(i,o,l,null),i.flags|=2,a.return=t,i.return=t,a.sibling=i,t.child=a,t.mode&1&&Ra(t,e.child,null,l),t.child.memoizedState=Js(l),t.memoizedState=Xs,i);if(!(t.mode&1))return gi(e,t,l,null);if(o.data==="$!"){if(a=o.nextSibling&&o.nextSibling.dataset,a)var s=a.dgst;return a=s,i=Error(Q(419)),a=us(i,a,void 0),gi(e,t,l,a)}if(s=(l&e.childLanes)!==0,Qt||s){if(a=Nt,a!==null){switch(l&-l){case 4:o=2;break;case 16:o=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:o=32;break;case 536870912:o=268435456;break;default:o=0}o=o&(a.suspendedLanes|l)?0:o,o!==0&&o!==i.retryLane&&(i.retryLane=o,rr(e,o),Pn(a,e,o,-1))}return Gc(),a=us(Error(Q(421))),gi(e,t,l,a)}return o.data==="$?"?(t.flags|=128,t.child=e.child,t=Ny.bind(null,e),o._reactRetry=t,null):(e=i.treeContext,an=Cr(o.nextSibling),on=t,at=!0,Rn=null,e!==null&&(gn[hn++]=Jn,gn[hn++]=Zn,gn[hn++]=Qr,Jn=e.id,Zn=e.overflow,Qr=t),t=Bc(t,a.children),t.flags|=4096,t)}function Zp(e,t,n){e.lanes|=t;var a=e.alternate;a!==null&&(a.lanes|=t),Vs(e.return,t,n)}function ms(e,t,n,a,o){var i=e.memoizedState;i===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:a,tail:n,tailMode:o}:(i.isBackwards=t,i.rendering=null,i.renderingStartTime=0,i.last=a,i.tail=n,i.tailMode=o)}function Hm(e,t,n){var a=t.pendingProps,o=a.revealOrder,i=a.tail;if($t(e,t,a.children,n),a=lt.current,a&2)a=a&1|2,t.flags|=128;else{if(e!==null&&e.flags&128)e:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&Zp(e,n,t);else if(e.tag===19)Zp(e,n,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;e.sibling===null;){if(e.return===null||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}a&=1}if(et(lt,a),!(t.mode&1))t.memoizedState=null;else switch(o){case"forwards":for(n=t.child,o=null;n!==null;)e=n.alternate,e!==null&&$i(e)===null&&(o=n),n=n.sibling;n=o,n===null?(o=t.child,t.child=null):(o=n.sibling,n.sibling=null),ms(t,!1,o,n,i);break;case"backwards":for(n=null,o=t.child,t.child=null;o!==null;){if(e=o.alternate,e!==null&&$i(e)===null){t.child=o;break}e=o.sibling,o.sibling=n,n=o,o=e}ms(t,!0,n,null,i);break;case"together":ms(t,!1,null,null,void 0);break;default:t.memoizedState=null}return t.child}function Ci(e,t){!(t.mode&1)&&e!==null&&(e.alternate=null,t.alternate=null,t.flags|=2)}function ar(e,t,n){if(e!==null&&(t.dependencies=e.dependencies),Jr|=t.lanes,!(n&t.childLanes))return null;if(e!==null&&t.child!==e.child)throw Error(Q(153));if(t.child!==null){for(e=t.child,n=Er(e,e.pendingProps),t.child=n,n.return=t;e.sibling!==null;)e=e.sibling,n=n.sibling=Er(e,e.pendingProps),n.return=t;n.sibling=null}return t.child}function my(e,t,n){switch(t.tag){case 3:jm(t),za();break;case 5:mm(t);break;case 1:Jt(t.type)&&Oi(t);break;case 4:Pc(t,t.stateNode.containerInfo);break;case 10:var a=t.type._context,o=t.memoizedProps.value;et(Hi,a._currentValue),a._currentValue=o;break;case 13:if(a=t.memoizedState,a!==null)return a.dehydrated!==null?(et(lt,lt.current&1),t.flags|=128,null):n&t.child.childLanes?Bm(e,t,n):(et(lt,lt.current&1),e=ar(e,t,n),e!==null?e.sibling:null);et(lt,lt.current&1);break;case 19:if(a=(n&t.childLanes)!==0,e.flags&128){if(a)return Hm(e,t,n);t.flags|=128}if(o=t.memoizedState,o!==null&&(o.rendering=null,o.tail=null,o.lastEffect=null),et(lt,lt.current),a)break;return null;case 22:case 23:return t.lanes=0,_m(e,t,n)}return ar(e,t,n)}var Wm,Zs,Um,$m;Wm=function(e,t){for(var n=t.child;n!==null;){if(n.tag===5||n.tag===6)e.appendChild(n.stateNode);else if(n.tag!==4&&n.child!==null){n.child.return=n,n=n.child;continue}if(n===t)break;for(;n.sibling===null;){if(n.return===null||n.return===t)return;n=n.return}n.sibling.return=n.return,n=n.sibling}};Zs=function(){};Um=function(e,t,n,a){var o=e.memoizedProps;if(o!==a){e=t.stateNode,Gr(Kn.current);var i=null;switch(n){case"input":o=ws(e,o),a=ws(e,a),i=[];break;case"select":o=ct({},o,{value:void 0}),a=ct({},a,{value:void 0}),i=[];break;case"textarea":o=Cs(e,o),a=Cs(e,a),i=[];break;default:typeof o.onClick!="function"&&typeof a.onClick=="function"&&(e.onclick=Ii)}Ts(n,a);var l;n=null;for(p in o)if(!a.hasOwnProperty(p)&&o.hasOwnProperty(p)&&o[p]!=null)if(p==="style"){var s=o[p];for(l in s)s.hasOwnProperty(l)&&(n||(n={}),n[l]="")}else p!=="dangerouslySetInnerHTML"&&p!=="children"&&p!=="suppressContentEditableWarning"&&p!=="suppressHydrationWarning"&&p!=="autoFocus"&&(ho.hasOwnProperty(p)?i||(i=[]):(i=i||[]).push(p,null));for(p in a){var c=a[p];if(s=o?.[p],a.hasOwnProperty(p)&&c!==s&&(c!=null||s!=null))if(p==="style")if(s){for(l in s)!s.hasOwnProperty(l)||c&&c.hasOwnProperty(l)||(n||(n={}),n[l]="");for(l in c)c.hasOwnProperty(l)&&s[l]!==c[l]&&(n||(n={}),n[l]=c[l])}else n||(i||(i=[]),i.push(p,n)),n=c;else p==="dangerouslySetInnerHTML"?(c=c?c.__html:void 0,s=s?s.__html:void 0,c!=null&&s!==c&&(i=i||[]).push(p,c)):p==="children"?typeof c!="string"&&typeof c!="number"||(i=i||[]).push(p,""+c):p!=="suppressContentEditableWarning"&&p!=="suppressHydrationWarning"&&(ho.hasOwnProperty(p)?(c!=null&&p==="onScroll"&&nt("scroll",e),i||s===c||(i=[])):(i=i||[]).push(p,c))}n&&(i=i||[]).push("style",n);var p=i;(t.updateQueue=p)&&(t.flags|=4)}};$m=function(e,t,n,a){n!==a&&(t.flags|=4)};function Za(e,t){if(!at)switch(e.tailMode){case"hidden":t=e.tail;for(var n=null;t!==null;)t.alternate!==null&&(n=t),t=t.sibling;n===null?e.tail=null:n.sibling=null;break;case"collapsed":n=e.tail;for(var a=null;n!==null;)n.alternate!==null&&(a=n),n=n.sibling;a===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:a.sibling=null}}function Ot(e){var t=e.alternate!==null&&e.alternate.child===e.child,n=0,a=0;if(t)for(var o=e.child;o!==null;)n|=o.lanes|o.childLanes,a|=o.subtreeFlags&14680064,a|=o.flags&14680064,o.return=e,o=o.sibling;else for(o=e.child;o!==null;)n|=o.lanes|o.childLanes,a|=o.subtreeFlags,a|=o.flags,o.return=e,o=o.sibling;return e.subtreeFlags|=a,e.childLanes=n,t}function fy(e,t,n){var a=t.pendingProps;switch(Nc(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Ot(t),null;case 1:return Jt(t.type)&&_i(),Ot(t),null;case 3:return a=t.stateNode,La(),rt(Xt),rt(Bt),Ac(),a.pendingContext&&(a.context=a.pendingContext,a.pendingContext=null),(e===null||e.child===null)&&(mi(t)?t.flags|=4:e===null||e.memoizedState.isDehydrated&&!(t.flags&256)||(t.flags|=1024,Rn!==null&&(lc(Rn),Rn=null))),Zs(e,t),Ot(t),null;case 5:Dc(t);var o=Gr(Eo.current);if(n=t.type,e!==null&&t.stateNode!=null)Um(e,t,n,a,o),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!a){if(t.stateNode===null)throw Error(Q(166));return Ot(t),null}if(e=Gr(Kn.current),mi(t)){a=t.stateNode,n=t.type;var i=t.memoizedProps;switch(a[Vn]=t,a[To]=i,e=(t.mode&1)!==0,n){case"dialog":nt("cancel",a),nt("close",a);break;case"iframe":case"object":case"embed":nt("load",a);break;case"video":case"audio":for(o=0;o<oo.length;o++)nt(oo[o],a);break;case"source":nt("error",a);break;case"img":case"image":case"link":nt("error",a),nt("load",a);break;case"details":nt("toggle",a);break;case"input":lp(a,i),nt("invalid",a);break;case"select":a._wrapperState={wasMultiple:!!i.multiple},nt("invalid",a);break;case"textarea":cp(a,i),nt("invalid",a)}Ts(n,i),o=null;for(var l in i)if(i.hasOwnProperty(l)){var s=i[l];l==="children"?typeof s=="string"?a.textContent!==s&&(i.suppressHydrationWarning!==!0&&ui(a.textContent,s,e),o=["children",s]):typeof s=="number"&&a.textContent!==""+s&&(i.suppressHydrationWarning!==!0&&ui(a.textContent,s,e),o=["children",""+s]):ho.hasOwnProperty(l)&&s!=null&&l==="onScroll"&&nt("scroll",a)}switch(n){case"input":ei(a),sp(a,i,!0);break;case"textarea":ei(a),dp(a);break;case"select":case"option":break;default:typeof i.onClick=="function"&&(a.onclick=Ii)}a=o,t.updateQueue=a,a!==null&&(t.flags|=4)}else{l=o.nodeType===9?o:o.ownerDocument,e==="http://www.w3.org/1999/xhtml"&&(e=vu(n)),e==="http://www.w3.org/1999/xhtml"?n==="script"?(e=l.createElement("div"),e.innerHTML="<script><\/script>",e=e.removeChild(e.firstChild)):typeof a.is=="string"?e=l.createElement(n,{is:a.is}):(e=l.createElement(n),n==="select"&&(l=e,a.multiple?l.multiple=!0:a.size&&(l.size=a.size))):e=l.createElementNS(e,n),e[Vn]=t,e[To]=a,Wm(e,t,!1,!1),t.stateNode=e;e:{switch(l=Ms(n,a),n){case"dialog":nt("cancel",e),nt("close",e),o=a;break;case"iframe":case"object":case"embed":nt("load",e),o=a;break;case"video":case"audio":for(o=0;o<oo.length;o++)nt(oo[o],e);o=a;break;case"source":nt("error",e),o=a;break;case"img":case"image":case"link":nt("error",e),nt("load",e),o=a;break;case"details":nt("toggle",e),o=a;break;case"input":lp(e,a),o=ws(e,a),nt("invalid",e);break;case"option":o=a;break;case"select":e._wrapperState={wasMultiple:!!a.multiple},o=ct({},a,{value:void 0}),nt("invalid",e);break;case"textarea":cp(e,a),o=Cs(e,a),nt("invalid",e);break;default:o=a}Ts(n,o),s=o;for(i in s)if(s.hasOwnProperty(i)){var c=s[i];i==="style"?wu(e,c):i==="dangerouslySetInnerHTML"?(c=c?c.__html:void 0,c!=null&&bu(e,c)):i==="children"?typeof c=="string"?(n!=="textarea"||c!=="")&&yo(e,c):typeof c=="number"&&yo(e,""+c):i!=="suppressContentEditableWarning"&&i!=="suppressHydrationWarning"&&i!=="autoFocus"&&(ho.hasOwnProperty(i)?c!=null&&i==="onScroll"&&nt("scroll",e):c!=null&&dc(e,i,c,l))}switch(n){case"input":ei(e),sp(e,a,!1);break;case"textarea":ei(e),dp(e);break;case"option":a.value!=null&&e.setAttribute("value",""+zr(a.value));break;case"select":e.multiple=!!a.multiple,i=a.value,i!=null?wa(e,!!a.multiple,i,!1):a.defaultValue!=null&&wa(e,!!a.multiple,a.defaultValue,!0);break;default:typeof o.onClick=="function"&&(e.onclick=Ii)}switch(n){case"button":case"input":case"select":case"textarea":a=!!a.autoFocus;break e;case"img":a=!0;break e;default:a=!1}}a&&(t.flags|=4)}t.ref!==null&&(t.flags|=512,t.flags|=2097152)}return Ot(t),null;case 6:if(e&&t.stateNode!=null)$m(e,t,e.memoizedProps,a);else{if(typeof a!="string"&&t.stateNode===null)throw Error(Q(166));if(n=Gr(Eo.current),Gr(Kn.current),mi(t)){if(a=t.stateNode,n=t.memoizedProps,a[Vn]=t,(i=a.nodeValue!==n)&&(e=on,e!==null))switch(e.tag){case 3:ui(a.nodeValue,n,(e.mode&1)!==0);break;case 5:e.memoizedProps.suppressHydrationWarning!==!0&&ui(a.nodeValue,n,(e.mode&1)!==0)}i&&(t.flags|=4)}else a=(n.nodeType===9?n:n.ownerDocument).createTextNode(a),a[Vn]=t,t.stateNode=a}return Ot(t),null;case 13:if(rt(lt),a=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(at&&an!==null&&t.mode&1&&!(t.flags&128))sm(),za(),t.flags|=98560,i=!1;else if(i=mi(t),a!==null&&a.dehydrated!==null){if(e===null){if(!i)throw Error(Q(318));if(i=t.memoizedState,i=i!==null?i.dehydrated:null,!i)throw Error(Q(317));i[Vn]=t}else za(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;Ot(t),i=!1}else Rn!==null&&(lc(Rn),Rn=null),i=!0;if(!i)return t.flags&65536?t:null}return t.flags&128?(t.lanes=n,t):(a=a!==null,a!==(e!==null&&e.memoizedState!==null)&&a&&(t.child.flags|=8192,t.mode&1&&(e===null||lt.current&1?wt===0&&(wt=3):Gc())),t.updateQueue!==null&&(t.flags|=4),Ot(t),null);case 4:return La(),Zs(e,t),e===null&&Co(t.stateNode.containerInfo),Ot(t),null;case 10:return zc(t.type._context),Ot(t),null;case 17:return Jt(t.type)&&_i(),Ot(t),null;case 19:if(rt(lt),i=t.memoizedState,i===null)return Ot(t),null;if(a=(t.flags&128)!==0,l=i.rendering,l===null)if(a)Za(i,!1);else{if(wt!==0||e!==null&&e.flags&128)for(e=t.child;e!==null;){if(l=$i(e),l!==null){for(t.flags|=128,Za(i,!1),a=l.updateQueue,a!==null&&(t.updateQueue=a,t.flags|=4),t.subtreeFlags=0,a=n,n=t.child;n!==null;)i=n,e=a,i.flags&=14680066,l=i.alternate,l===null?(i.childLanes=0,i.lanes=e,i.child=null,i.subtreeFlags=0,i.memoizedProps=null,i.memoizedState=null,i.updateQueue=null,i.dependencies=null,i.stateNode=null):(i.childLanes=l.childLanes,i.lanes=l.lanes,i.child=l.child,i.subtreeFlags=0,i.deletions=null,i.memoizedProps=l.memoizedProps,i.memoizedState=l.memoizedState,i.updateQueue=l.updateQueue,i.type=l.type,e=l.dependencies,i.dependencies=e===null?null:{lanes:e.lanes,firstContext:e.firstContext}),n=n.sibling;return et(lt,lt.current&1|2),t.child}e=e.sibling}i.tail!==null&&ft()>Da&&(t.flags|=128,a=!0,Za(i,!1),t.lanes=4194304)}else{if(!a)if(e=$i(l),e!==null){if(t.flags|=128,a=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),Za(i,!0),i.tail===null&&i.tailMode==="hidden"&&!l.alternate&&!at)return Ot(t),null}else 2*ft()-i.renderingStartTime>Da&&n!==1073741824&&(t.flags|=128,a=!0,Za(i,!1),t.lanes=4194304);i.isBackwards?(l.sibling=t.child,t.child=l):(n=i.last,n!==null?n.sibling=l:t.child=l,i.last=l)}return i.tail!==null?(t=i.tail,i.rendering=t,i.tail=t.sibling,i.renderingStartTime=ft(),t.sibling=null,n=lt.current,et(lt,a?n&1|2:n&1),t):(Ot(t),null);case 22:case 23:return Vc(),a=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==a&&(t.flags|=8192),a&&t.mode&1?rn&1073741824&&(Ot(t),t.subtreeFlags&6&&(t.flags|=8192)):Ot(t),null;case 24:return null;case 25:return null}throw Error(Q(156,t.tag))}function gy(e,t){switch(Nc(t),t.tag){case 1:return Jt(t.type)&&_i(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return La(),rt(Xt),rt(Bt),Ac(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return Dc(t),null;case 13:if(rt(lt),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(Q(340));za()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return rt(lt),null;case 4:return La(),null;case 10:return zc(t.type._context),null;case 22:case 23:return Vc(),null;case 24:return null;default:return null}}var hi=!1,jt=!1,hy=typeof WeakSet=="function"?WeakSet:Set,le=null;function ba(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(a){pt(e,t,a)}else n.current=null}function ec(e,t,n){try{n()}catch(a){pt(e,t,a)}}var eu=!1;function yy(e,t){if(_s=Di,e=Yu(),Sc(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var a=n.getSelection&&n.getSelection();if(a&&a.rangeCount!==0){n=a.anchorNode;var o=a.anchorOffset,i=a.focusNode;a=a.focusOffset;try{n.nodeType,i.nodeType}catch{n=null;break e}var l=0,s=-1,c=-1,p=0,f=0,g=e,y=null;t:for(;;){for(var S;g!==n||o!==0&&g.nodeType!==3||(s=l+o),g!==i||a!==0&&g.nodeType!==3||(c=l+a),g.nodeType===3&&(l+=g.nodeValue.length),(S=g.firstChild)!==null;)y=g,g=S;for(;;){if(g===e)break t;if(y===n&&++p===o&&(s=l),y===i&&++f===a&&(c=l),(S=g.nextSibling)!==null)break;g=y,y=g.parentNode}g=S}n=s===-1||c===-1?null:{start:s,end:c}}else n=null}n=n||{start:0,end:0}}else n=null;for(Os={focusedElem:e,selectionRange:n},Di=!1,le=t;le!==null;)if(t=le,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,le=e;else for(;le!==null;){t=le;try{var R=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(R!==null){var M=R.memoizedProps,O=R.memoizedState,h=t.stateNode,m=h.getSnapshotBeforeUpdate(t.elementType===t.type?M:En(t.type,M),O);h.__reactInternalSnapshotBeforeUpdate=m}break;case 3:var b=t.stateNode.containerInfo;b.nodeType===1?b.textContent="":b.nodeType===9&&b.documentElement&&b.removeChild(b.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(Q(163))}}catch(P){pt(t,t.return,P)}if(e=t.sibling,e!==null){e.return=t.return,le=e;break}le=t.return}return R=eu,eu=!1,R}function mo(e,t,n){var a=t.updateQueue;if(a=a!==null?a.lastEffect:null,a!==null){var o=a=a.next;do{if((o.tag&e)===e){var i=o.destroy;o.destroy=void 0,i!==void 0&&ec(t,n,i)}o=o.next}while(o!==a)}}function il(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var n=t=t.next;do{if((n.tag&e)===e){var a=n.create;n.destroy=a()}n=n.next}while(n!==t)}}function tc(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t=="function"?t(e):t.current=e}}function Vm(e){var t=e.alternate;t!==null&&(e.alternate=null,Vm(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[Vn],delete t[To],delete t[Hs],delete t[Zh],delete t[ey])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function Gm(e){return e.tag===5||e.tag===3||e.tag===4}function tu(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||Gm(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function nc(e,t,n){var a=e.tag;if(a===5||a===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=Ii));else if(a!==4&&(e=e.child,e!==null))for(nc(e,t,n),e=e.sibling;e!==null;)nc(e,t,n),e=e.sibling}function rc(e,t,n){var a=e.tag;if(a===5||a===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(a!==4&&(e=e.child,e!==null))for(rc(e,t,n),e=e.sibling;e!==null;)rc(e,t,n),e=e.sibling}var Lt=null,zn=!1;function fr(e,t,n){for(n=n.child;n!==null;)Km(e,t,n),n=n.sibling}function Km(e,t,n){if(Gn&&typeof Gn.onCommitFiberUnmount=="function")try{Gn.onCommitFiberUnmount(Ji,n)}catch{}switch(n.tag){case 5:jt||ba(n,t);case 6:var a=Lt,o=zn;Lt=null,fr(e,t,n),Lt=a,zn=o,Lt!==null&&(zn?(e=Lt,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):Lt.removeChild(n.stateNode));break;case 18:Lt!==null&&(zn?(e=Lt,n=n.stateNode,e.nodeType===8?is(e.parentNode,n):e.nodeType===1&&is(e,n),wo(e)):is(Lt,n.stateNode));break;case 4:a=Lt,o=zn,Lt=n.stateNode.containerInfo,zn=!0,fr(e,t,n),Lt=a,zn=o;break;case 0:case 11:case 14:case 15:if(!jt&&(a=n.updateQueue,a!==null&&(a=a.lastEffect,a!==null))){o=a=a.next;do{var i=o,l=i.destroy;i=i.tag,l!==void 0&&(i&2||i&4)&&ec(n,t,l),o=o.next}while(o!==a)}fr(e,t,n);break;case 1:if(!jt&&(ba(n,t),a=n.stateNode,typeof a.componentWillUnmount=="function"))try{a.props=n.memoizedProps,a.state=n.memoizedState,a.componentWillUnmount()}catch(s){pt(n,t,s)}fr(e,t,n);break;case 21:fr(e,t,n);break;case 22:n.mode&1?(jt=(a=jt)||n.memoizedState!==null,fr(e,t,n),jt=a):fr(e,t,n);break;default:fr(e,t,n)}}function nu(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new hy),t.forEach(function(a){var o=Ty.bind(null,e,a);n.has(a)||(n.add(a),a.then(o,o))})}}function Mn(e,t){var n=t.deletions;if(n!==null)for(var a=0;a<n.length;a++){var o=n[a];try{var i=e,l=t,s=l;e:for(;s!==null;){switch(s.tag){case 5:Lt=s.stateNode,zn=!1;break e;case 3:Lt=s.stateNode.containerInfo,zn=!0;break e;case 4:Lt=s.stateNode.containerInfo,zn=!0;break e}s=s.return}if(Lt===null)throw Error(Q(160));Km(i,l,o),Lt=null,zn=!1;var c=o.alternate;c!==null&&(c.return=null),o.return=null}catch(p){pt(o,t,p)}}if(t.subtreeFlags&12854)for(t=t.child;t!==null;)qm(t,e),t=t.sibling}function qm(e,t){var n=e.alternate,a=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:if(Mn(t,e),Un(e),a&4){try{mo(3,e,e.return),il(3,e)}catch(M){pt(e,e.return,M)}try{mo(5,e,e.return)}catch(M){pt(e,e.return,M)}}break;case 1:Mn(t,e),Un(e),a&512&&n!==null&&ba(n,n.return);break;case 5:if(Mn(t,e),Un(e),a&512&&n!==null&&ba(n,n.return),e.flags&32){var o=e.stateNode;try{yo(o,"")}catch(M){pt(e,e.return,M)}}if(a&4&&(o=e.stateNode,o!=null)){var i=e.memoizedProps,l=n!==null?n.memoizedProps:i,s=e.type,c=e.updateQueue;if(e.updateQueue=null,c!==null)try{s==="input"&&i.type==="radio"&&i.name!=null&&hu(o,i),Ms(s,l);var p=Ms(s,i);for(l=0;l<c.length;l+=2){var f=c[l],g=c[l+1];f==="style"?wu(o,g):f==="dangerouslySetInnerHTML"?bu(o,g):f==="children"?yo(o,g):dc(o,f,g,p)}switch(s){case"input":ks(o,i);break;case"textarea":yu(o,i);break;case"select":var y=o._wrapperState.wasMultiple;o._wrapperState.wasMultiple=!!i.multiple;var S=i.value;S!=null?wa(o,!!i.multiple,S,!1):y!==!!i.multiple&&(i.defaultValue!=null?wa(o,!!i.multiple,i.defaultValue,!0):wa(o,!!i.multiple,i.multiple?[]:"",!1))}o[To]=i}catch(M){pt(e,e.return,M)}}break;case 6:if(Mn(t,e),Un(e),a&4){if(e.stateNode===null)throw Error(Q(162));o=e.stateNode,i=e.memoizedProps;try{o.nodeValue=i}catch(M){pt(e,e.return,M)}}break;case 3:if(Mn(t,e),Un(e),a&4&&n!==null&&n.memoizedState.isDehydrated)try{wo(t.containerInfo)}catch(M){pt(e,e.return,M)}break;case 4:Mn(t,e),Un(e);break;case 13:Mn(t,e),Un(e),o=e.child,o.flags&8192&&(i=o.memoizedState!==null,o.stateNode.isHidden=i,!i||o.alternate!==null&&o.alternate.memoizedState!==null||(Uc=ft())),a&4&&nu(e);break;case 22:if(f=n!==null&&n.memoizedState!==null,e.mode&1?(jt=(p=jt)||f,Mn(t,e),jt=p):Mn(t,e),Un(e),a&8192){if(p=e.memoizedState!==null,(e.stateNode.isHidden=p)&&!f&&e.mode&1)for(le=e,f=e.child;f!==null;){for(g=le=f;le!==null;){switch(y=le,S=y.child,y.tag){case 0:case 11:case 14:case 15:mo(4,y,y.return);break;case 1:ba(y,y.return);var R=y.stateNode;if(typeof R.componentWillUnmount=="function"){a=y,n=y.return;try{t=a,R.props=t.memoizedProps,R.state=t.memoizedState,R.componentWillUnmount()}catch(M){pt(a,n,M)}}break;case 5:ba(y,y.return);break;case 22:if(y.memoizedState!==null){au(g);continue}}S!==null?(S.return=y,le=S):au(g)}f=f.sibling}e:for(f=null,g=e;;){if(g.tag===5){if(f===null){f=g;try{o=g.stateNode,p?(i=o.style,typeof i.setProperty=="function"?i.setProperty("display","none","important"):i.display="none"):(s=g.stateNode,c=g.memoizedProps.style,l=c!=null&&c.hasOwnProperty("display")?c.display:null,s.style.display=xu("display",l))}catch(M){pt(e,e.return,M)}}}else if(g.tag===6){if(f===null)try{g.stateNode.nodeValue=p?"":g.memoizedProps}catch(M){pt(e,e.return,M)}}else if((g.tag!==22&&g.tag!==23||g.memoizedState===null||g===e)&&g.child!==null){g.child.return=g,g=g.child;continue}if(g===e)break e;for(;g.sibling===null;){if(g.return===null||g.return===e)break e;f===g&&(f=null),g=g.return}f===g&&(f=null),g.sibling.return=g.return,g=g.sibling}}break;case 19:Mn(t,e),Un(e),a&4&&nu(e);break;case 21:break;default:Mn(t,e),Un(e)}}function Un(e){var t=e.flags;if(t&2){try{e:{for(var n=e.return;n!==null;){if(Gm(n)){var a=n;break e}n=n.return}throw Error(Q(160))}switch(a.tag){case 5:var o=a.stateNode;a.flags&32&&(yo(o,""),a.flags&=-33);var i=tu(e);rc(e,i,o);break;case 3:case 4:var l=a.stateNode.containerInfo,s=tu(e);nc(e,s,l);break;default:throw Error(Q(161))}}catch(c){pt(e,e.return,c)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function vy(e,t,n){le=e,Ym(e,t,n)}function Ym(e,t,n){for(var a=(e.mode&1)!==0;le!==null;){var o=le,i=o.child;if(o.tag===22&&a){var l=o.memoizedState!==null||hi;if(!l){var s=o.alternate,c=s!==null&&s.memoizedState!==null||jt;s=hi;var p=jt;if(hi=l,(jt=c)&&!p)for(le=o;le!==null;)l=le,c=l.child,l.tag===22&&l.memoizedState!==null?ou(o):c!==null?(c.return=l,le=c):ou(o);for(;i!==null;)le=i,Ym(i,t,n),i=i.sibling;le=o,hi=s,jt=p}ru(e,t,n)}else o.subtreeFlags&8772&&i!==null?(i.return=o,le=i):ru(e,t,n)}}function ru(e){for(;le!==null;){var t=le;if(t.flags&8772){var n=t.alternate;try{if(t.flags&8772)switch(t.tag){case 0:case 11:case 15:jt||il(5,t);break;case 1:var a=t.stateNode;if(t.flags&4&&!jt)if(n===null)a.componentDidMount();else{var o=t.elementType===t.type?n.memoizedProps:En(t.type,n.memoizedProps);a.componentDidUpdate(o,n.memoizedState,a.__reactInternalSnapshotBeforeUpdate)}var i=t.updateQueue;i!==null&&Hp(t,i,a);break;case 3:var l=t.updateQueue;if(l!==null){if(n=null,t.child!==null)switch(t.child.tag){case 5:n=t.child.stateNode;break;case 1:n=t.child.stateNode}Hp(t,l,n)}break;case 5:var s=t.stateNode;if(n===null&&t.flags&4){n=s;var c=t.memoizedProps;switch(t.type){case"button":case"input":case"select":case"textarea":c.autoFocus&&n.focus();break;case"img":c.src&&(n.src=c.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(t.memoizedState===null){var p=t.alternate;if(p!==null){var f=p.memoizedState;if(f!==null){var g=f.dehydrated;g!==null&&wo(g)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;default:throw Error(Q(163))}jt||t.flags&512&&tc(t)}catch(y){pt(t,t.return,y)}}if(t===e){le=null;break}if(n=t.sibling,n!==null){n.return=t.return,le=n;break}le=t.return}}function au(e){for(;le!==null;){var t=le;if(t===e){le=null;break}var n=t.sibling;if(n!==null){n.return=t.return,le=n;break}le=t.return}}function ou(e){for(;le!==null;){var t=le;try{switch(t.tag){case 0:case 11:case 15:var n=t.return;try{il(4,t)}catch(c){pt(t,n,c)}break;case 1:var a=t.stateNode;if(typeof a.componentDidMount=="function"){var o=t.return;try{a.componentDidMount()}catch(c){pt(t,o,c)}}var i=t.return;try{tc(t)}catch(c){pt(t,i,c)}break;case 5:var l=t.return;try{tc(t)}catch(c){pt(t,l,c)}}}catch(c){pt(t,t.return,c)}if(t===e){le=null;break}var s=t.sibling;if(s!==null){s.return=t.return,le=s;break}le=t.return}}var by=Math.ceil,Ki=or.ReactCurrentDispatcher,Hc=or.ReactCurrentOwner,vn=or.ReactCurrentBatchConfig,Ve=0,Nt=null,ht=null,Pt=0,rn=0,xa=Pr(0),wt=0,Po=null,Jr=0,ll=0,Wc=0,fo=null,Yt=null,Uc=0,Da=1/0,Qn=null,qi=!1,ac=null,Tr=null,yi=!1,xr=null,Yi=0,go=0,oc=null,Ni=-1,Ti=0;function Vt(){return Ve&6?ft():Ni!==-1?Ni:Ni=ft()}function Mr(e){return e.mode&1?Ve&2&&Pt!==0?Pt&-Pt:ny.transition!==null?(Ti===0&&(Ti=Du()),Ti):(e=Ke,e!==0||(e=window.event,e=e===void 0?16:Bu(e.type)),e):1}function Pn(e,t,n,a){if(50<go)throw go=0,oc=null,Error(Q(185));Do(e,n,a),(!(Ve&2)||e!==Nt)&&(e===Nt&&(!(Ve&2)&&(ll|=n),wt===4&&vr(e,Pt)),Zt(e,a),n===1&&Ve===0&&!(t.mode&1)&&(Da=ft()+500,rl&&Dr()))}function Zt(e,t){var n=e.callbackNode;ah(e,t);var a=Pi(e,e===Nt?Pt:0);if(a===0)n!==null&&mp(n),e.callbackNode=null,e.callbackPriority=0;else if(t=a&-a,e.callbackPriority!==t){if(n!=null&&mp(n),t===1)e.tag===0?ty(iu.bind(null,e)):om(iu.bind(null,e)),Xh(function(){!(Ve&6)&&Dr()}),n=null;else{switch(Au(a)){case 1:n=gc;break;case 4:n=Lu;break;case 16:n=Li;break;case 536870912:n=Pu;break;default:n=Li}n=rf(n,Qm.bind(null,e))}e.callbackPriority=t,e.callbackNode=n}}function Qm(e,t){if(Ni=-1,Ti=0,Ve&6)throw Error(Q(327));var n=e.callbackNode;if(Ta()&&e.callbackNode!==n)return null;var a=Pi(e,e===Nt?Pt:0);if(a===0)return null;if(a&30||a&e.expiredLanes||t)t=Qi(e,a);else{t=a;var o=Ve;Ve|=2;var i=Jm();(Nt!==e||Pt!==t)&&(Qn=null,Da=ft()+500,Kr(e,t));do try{ky();break}catch(s){Xm(e,s)}while(!0);Ec(),Ki.current=i,Ve=o,ht!==null?t=0:(Nt=null,Pt=0,t=wt)}if(t!==0){if(t===2&&(o=Ps(e),o!==0&&(a=o,t=ic(e,o))),t===1)throw n=Po,Kr(e,0),vr(e,a),Zt(e,ft()),n;if(t===6)vr(e,a);else{if(o=e.current.alternate,!(a&30)&&!xy(o)&&(t=Qi(e,a),t===2&&(i=Ps(e),i!==0&&(a=i,t=ic(e,i))),t===1))throw n=Po,Kr(e,0),vr(e,a),Zt(e,ft()),n;switch(e.finishedWork=o,e.finishedLanes=a,t){case 0:case 1:throw Error(Q(345));case 2:Ur(e,Yt,Qn);break;case 3:if(vr(e,a),(a&130023424)===a&&(t=Uc+500-ft(),10<t)){if(Pi(e,0)!==0)break;if(o=e.suspendedLanes,(o&a)!==a){Vt(),e.pingedLanes|=e.suspendedLanes&o;break}e.timeoutHandle=Bs(Ur.bind(null,e,Yt,Qn),t);break}Ur(e,Yt,Qn);break;case 4:if(vr(e,a),(a&4194240)===a)break;for(t=e.eventTimes,o=-1;0<a;){var l=31-Ln(a);i=1<<l,l=t[l],l>o&&(o=l),a&=~i}if(a=o,a=ft()-a,a=(120>a?120:480>a?480:1080>a?1080:1920>a?1920:3e3>a?3e3:4320>a?4320:1960*by(a/1960))-a,10<a){e.timeoutHandle=Bs(Ur.bind(null,e,Yt,Qn),a);break}Ur(e,Yt,Qn);break;case 5:Ur(e,Yt,Qn);break;default:throw Error(Q(329))}}}return Zt(e,ft()),e.callbackNode===n?Qm.bind(null,e):null}function ic(e,t){var n=fo;return e.current.memoizedState.isDehydrated&&(Kr(e,t).flags|=256),e=Qi(e,t),e!==2&&(t=Yt,Yt=n,t!==null&&lc(t)),e}function lc(e){Yt===null?Yt=e:Yt.push.apply(Yt,e)}function xy(e){for(var t=e;;){if(t.flags&16384){var n=t.updateQueue;if(n!==null&&(n=n.stores,n!==null))for(var a=0;a<n.length;a++){var o=n[a],i=o.getSnapshot;o=o.value;try{if(!Dn(i(),o))return!1}catch{return!1}}}if(n=t.child,t.subtreeFlags&16384&&n!==null)n.return=t,t=n;else{if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}function vr(e,t){for(t&=~Wc,t&=~ll,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0<t;){var n=31-Ln(t),a=1<<n;e[n]=-1,t&=~a}}function iu(e){if(Ve&6)throw Error(Q(327));Ta();var t=Pi(e,0);if(!(t&1))return Zt(e,ft()),null;var n=Qi(e,t);if(e.tag!==0&&n===2){var a=Ps(e);a!==0&&(t=a,n=ic(e,a))}if(n===1)throw n=Po,Kr(e,0),vr(e,t),Zt(e,ft()),n;if(n===6)throw Error(Q(345));return e.finishedWork=e.current.alternate,e.finishedLanes=t,Ur(e,Yt,Qn),Zt(e,ft()),null}function $c(e,t){var n=Ve;Ve|=1;try{return e(t)}finally{Ve=n,Ve===0&&(Da=ft()+500,rl&&Dr())}}function Zr(e){xr!==null&&xr.tag===0&&!(Ve&6)&&Ta();var t=Ve;Ve|=1;var n=vn.transition,a=Ke;try{if(vn.transition=null,Ke=1,e)return e()}finally{Ke=a,vn.transition=n,Ve=t,!(Ve&6)&&Dr()}}function Vc(){rn=xa.current,rt(xa)}function Kr(e,t){e.finishedWork=null,e.finishedLanes=0;var n=e.timeoutHandle;if(n!==-1&&(e.timeoutHandle=-1,Qh(n)),ht!==null)for(n=ht.return;n!==null;){var a=n;switch(Nc(a),a.tag){case 1:a=a.type.childContextTypes,a!=null&&_i();break;case 3:La(),rt(Xt),rt(Bt),Ac();break;case 5:Dc(a);break;case 4:La();break;case 13:rt(lt);break;case 19:rt(lt);break;case 10:zc(a.type._context);break;case 22:case 23:Vc()}n=n.return}if(Nt=e,ht=e=Er(e.current,null),Pt=rn=t,wt=0,Po=null,Wc=ll=Jr=0,Yt=fo=null,Vr!==null){for(t=0;t<Vr.length;t++)if(n=Vr[t],a=n.interleaved,a!==null){n.interleaved=null;var o=a.next,i=n.pending;if(i!==null){var l=i.next;i.next=o,a.next=l}n.pending=a}Vr=null}return e}function Xm(e,t){do{var n=ht;try{if(Ec(),ki.current=Gi,Vi){for(var a=st.memoizedState;a!==null;){var o=a.queue;o!==null&&(o.pending=null),a=a.next}Vi=!1}if(Xr=0,Ct=xt=st=null,uo=!1,zo=0,Hc.current=null,n===null||n.return===null){wt=1,Po=t,ht=null;break}e:{var i=e,l=n.return,s=n,c=t;if(t=Pt,s.flags|=32768,c!==null&&typeof c=="object"&&typeof c.then=="function"){var p=c,f=s,g=f.tag;if(!(f.mode&1)&&(g===0||g===11||g===15)){var y=f.alternate;y?(f.updateQueue=y.updateQueue,f.memoizedState=y.memoizedState,f.lanes=y.lanes):(f.updateQueue=null,f.memoizedState=null)}var S=Kp(l);if(S!==null){S.flags&=-257,qp(S,l,s,i,t),S.mode&1&&Gp(i,p,t),t=S,c=p;var R=t.updateQueue;if(R===null){var M=new Set;M.add(c),t.updateQueue=M}else R.add(c);break e}else{if(!(t&1)){Gp(i,p,t),Gc();break e}c=Error(Q(426))}}else if(at&&s.mode&1){var O=Kp(l);if(O!==null){!(O.flags&65536)&&(O.flags|=256),qp(O,l,s,i,t),Tc(Pa(c,s));break e}}i=c=Pa(c,s),wt!==4&&(wt=2),fo===null?fo=[i]:fo.push(i),i=l;do{switch(i.tag){case 3:i.flags|=65536,t&=-t,i.lanes|=t;var h=Am(i,c,t);Bp(i,h);break e;case 1:s=c;var m=i.type,b=i.stateNode;if(!(i.flags&128)&&(typeof m.getDerivedStateFromError=="function"||b!==null&&typeof b.componentDidCatch=="function"&&(Tr===null||!Tr.has(b)))){i.flags|=65536,t&=-t,i.lanes|=t;var P=Fm(i,s,t);Bp(i,P);break e}}i=i.return}while(i!==null)}ef(n)}catch(j){t=j,ht===n&&n!==null&&(ht=n=n.return);continue}break}while(!0)}function Jm(){var e=Ki.current;return Ki.current=Gi,e===null?Gi:e}function Gc(){(wt===0||wt===3||wt===2)&&(wt=4),Nt===null||!(Jr&268435455)&&!(ll&268435455)||vr(Nt,Pt)}function Qi(e,t){var n=Ve;Ve|=2;var a=Jm();(Nt!==e||Pt!==t)&&(Qn=null,Kr(e,t));do try{wy();break}catch(o){Xm(e,o)}while(!0);if(Ec(),Ve=n,Ki.current=a,ht!==null)throw Error(Q(261));return Nt=null,Pt=0,wt}function wy(){for(;ht!==null;)Zm(ht)}function ky(){for(;ht!==null&&!Yg();)Zm(ht)}function Zm(e){var t=nf(e.alternate,e,rn);e.memoizedProps=e.pendingProps,t===null?ef(e):ht=t,Hc.current=null}function ef(e){var t=e;do{var n=t.alternate;if(e=t.return,t.flags&32768){if(n=gy(n,t),n!==null){n.flags&=32767,ht=n;return}if(e!==null)e.flags|=32768,e.subtreeFlags=0,e.deletions=null;else{wt=6,ht=null;return}}else if(n=fy(n,t,rn),n!==null){ht=n;return}if(t=t.sibling,t!==null){ht=t;return}ht=t=e}while(t!==null);wt===0&&(wt=5)}function Ur(e,t,n){var a=Ke,o=vn.transition;try{vn.transition=null,Ke=1,Sy(e,t,n,a)}finally{vn.transition=o,Ke=a}return null}function Sy(e,t,n,a){do Ta();while(xr!==null);if(Ve&6)throw Error(Q(327));n=e.finishedWork;var o=e.finishedLanes;if(n===null)return null;if(e.finishedWork=null,e.finishedLanes=0,n===e.current)throw Error(Q(177));e.callbackNode=null,e.callbackPriority=0;var i=n.lanes|n.childLanes;if(oh(e,i),e===Nt&&(ht=Nt=null,Pt=0),!(n.subtreeFlags&2064)&&!(n.flags&2064)||yi||(yi=!0,rf(Li,function(){return Ta(),null})),i=(n.flags&15990)!==0,n.subtreeFlags&15990||i){i=vn.transition,vn.transition=null;var l=Ke;Ke=1;var s=Ve;Ve|=4,Hc.current=null,yy(e,n),qm(n,e),Vh(Os),Di=!!_s,Os=_s=null,e.current=n,vy(n,e,o),Qg(),Ve=s,Ke=l,vn.transition=i}else e.current=n;if(yi&&(yi=!1,xr=e,Yi=o),i=e.pendingLanes,i===0&&(Tr=null),Zg(n.stateNode,a),Zt(e,ft()),t!==null)for(a=e.onRecoverableError,n=0;n<t.length;n++)o=t[n],a(o.value,{componentStack:o.stack,digest:o.digest});if(qi)throw qi=!1,e=ac,ac=null,e;return Yi&1&&e.tag!==0&&Ta(),i=e.pendingLanes,i&1?e===oc?go++:(go=0,oc=e):go=0,Dr(),null}function Ta(){if(xr!==null){var e=Au(Yi),t=vn.transition,n=Ke;try{if(vn.transition=null,Ke=16>e?16:e,xr===null)var a=!1;else{if(e=xr,xr=null,Yi=0,Ve&6)throw Error(Q(331));var o=Ve;for(Ve|=4,le=e.current;le!==null;){var i=le,l=i.child;if(le.flags&16){var s=i.deletions;if(s!==null){for(var c=0;c<s.length;c++){var p=s[c];for(le=p;le!==null;){var f=le;switch(f.tag){case 0:case 11:case 15:mo(8,f,i)}var g=f.child;if(g!==null)g.return=f,le=g;else for(;le!==null;){f=le;var y=f.sibling,S=f.return;if(Vm(f),f===p){le=null;break}if(y!==null){y.return=S,le=y;break}le=S}}}var R=i.alternate;if(R!==null){var M=R.child;if(M!==null){R.child=null;do{var O=M.sibling;M.sibling=null,M=O}while(M!==null)}}le=i}}if(i.subtreeFlags&2064&&l!==null)l.return=i,le=l;else e:for(;le!==null;){if(i=le,i.flags&2048)switch(i.tag){case 0:case 11:case 15:mo(9,i,i.return)}var h=i.sibling;if(h!==null){h.return=i.return,le=h;break e}le=i.return}}var m=e.current;for(le=m;le!==null;){l=le;var b=l.child;if(l.subtreeFlags&2064&&b!==null)b.return=l,le=b;else e:for(l=m;le!==null;){if(s=le,s.flags&2048)try{switch(s.tag){case 0:case 11:case 15:il(9,s)}}catch(j){pt(s,s.return,j)}if(s===l){le=null;break e}var P=s.sibling;if(P!==null){P.return=s.return,le=P;break e}le=s.return}}if(Ve=o,Dr(),Gn&&typeof Gn.onPostCommitFiberRoot=="function")try{Gn.onPostCommitFiberRoot(Ji,e)}catch{}a=!0}return a}finally{Ke=n,vn.transition=t}}return!1}function lu(e,t,n){t=Pa(n,t),t=Am(e,t,1),e=Nr(e,t,1),t=Vt(),e!==null&&(Do(e,1,t),Zt(e,t))}function pt(e,t,n){if(e.tag===3)lu(e,e,n);else for(;t!==null;){if(t.tag===3){lu(t,e,n);break}else if(t.tag===1){var a=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof a.componentDidCatch=="function"&&(Tr===null||!Tr.has(a))){e=Pa(n,e),e=Fm(t,e,1),t=Nr(t,e,1),e=Vt(),t!==null&&(Do(t,1,e),Zt(t,e));break}}t=t.return}}function Cy(e,t,n){var a=e.pingCache;a!==null&&a.delete(t),t=Vt(),e.pingedLanes|=e.suspendedLanes&n,Nt===e&&(Pt&n)===n&&(wt===4||wt===3&&(Pt&130023424)===Pt&&500>ft()-Uc?Kr(e,0):Wc|=n),Zt(e,t)}function tf(e,t){t===0&&(e.mode&1?(t=ri,ri<<=1,!(ri&130023424)&&(ri=4194304)):t=1);var n=Vt();e=rr(e,t),e!==null&&(Do(e,t,n),Zt(e,n))}function Ny(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),tf(e,n)}function Ty(e,t){var n=0;switch(e.tag){case 13:var a=e.stateNode,o=e.memoizedState;o!==null&&(n=o.retryLane);break;case 19:a=e.stateNode;break;default:throw Error(Q(314))}a!==null&&a.delete(t),tf(e,n)}var nf;nf=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||Xt.current)Qt=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return Qt=!1,my(e,t,n);Qt=!!(e.flags&131072)}else Qt=!1,at&&t.flags&1048576&&im(t,Bi,t.index);switch(t.lanes=0,t.tag){case 2:var a=t.type;Ci(e,t),e=t.pendingProps;var o=Ea(t,Bt.current);Na(t,n),o=Ic(null,t,a,e,o,n);var i=_c();return t.flags|=1,typeof o=="object"&&o!==null&&typeof o.render=="function"&&o.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,Jt(a)?(i=!0,Oi(t)):i=!1,t.memoizedState=o.state!==null&&o.state!==void 0?o.state:null,Lc(t),o.updater=ol,t.stateNode=o,o._reactInternals=t,Ks(t,a,e,n),t=Qs(null,t,a,!0,i,n)):(t.tag=0,at&&i&&Cc(t),$t(null,t,o,n),t=t.child),t;case 16:a=t.elementType;e:{switch(Ci(e,t),e=t.pendingProps,o=a._init,a=o(a._payload),t.type=a,o=t.tag=Ey(a),e=En(a,e),o){case 0:t=Ys(null,t,a,e,n);break e;case 1:t=Xp(null,t,a,e,n);break e;case 11:t=Yp(null,t,a,e,n);break e;case 14:t=Qp(null,t,a,En(a.type,e),n);break e}throw Error(Q(306,a,""))}return t;case 0:return a=t.type,o=t.pendingProps,o=t.elementType===a?o:En(a,o),Ys(e,t,a,o,n);case 1:return a=t.type,o=t.pendingProps,o=t.elementType===a?o:En(a,o),Xp(e,t,a,o,n);case 3:e:{if(jm(t),e===null)throw Error(Q(387));a=t.pendingProps,i=t.memoizedState,o=i.element,um(e,t),Ui(t,a,null,n);var l=t.memoizedState;if(a=l.element,i.isDehydrated)if(i={element:a,isDehydrated:!1,cache:l.cache,pendingSuspenseBoundaries:l.pendingSuspenseBoundaries,transitions:l.transitions},t.updateQueue.baseState=i,t.memoizedState=i,t.flags&256){o=Pa(Error(Q(423)),t),t=Jp(e,t,a,n,o);break e}else if(a!==o){o=Pa(Error(Q(424)),t),t=Jp(e,t,a,n,o);break e}else for(an=Cr(t.stateNode.containerInfo.firstChild),on=t,at=!0,Rn=null,n=dm(t,null,a,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(za(),a===o){t=ar(e,t,n);break e}$t(e,t,a,n)}t=t.child}return t;case 5:return mm(t),e===null&&$s(t),a=t.type,o=t.pendingProps,i=e!==null?e.memoizedProps:null,l=o.children,js(a,o)?l=null:i!==null&&js(a,i)&&(t.flags|=32),Om(e,t),$t(e,t,l,n),t.child;case 6:return e===null&&$s(t),null;case 13:return Bm(e,t,n);case 4:return Pc(t,t.stateNode.containerInfo),a=t.pendingProps,e===null?t.child=Ra(t,null,a,n):$t(e,t,a,n),t.child;case 11:return a=t.type,o=t.pendingProps,o=t.elementType===a?o:En(a,o),Yp(e,t,a,o,n);case 7:return $t(e,t,t.pendingProps,n),t.child;case 8:return $t(e,t,t.pendingProps.children,n),t.child;case 12:return $t(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(a=t.type._context,o=t.pendingProps,i=t.memoizedProps,l=o.value,et(Hi,a._currentValue),a._currentValue=l,i!==null)if(Dn(i.value,l)){if(i.children===o.children&&!Xt.current){t=ar(e,t,n);break e}}else for(i=t.child,i!==null&&(i.return=t);i!==null;){var s=i.dependencies;if(s!==null){l=i.child;for(var c=s.firstContext;c!==null;){if(c.context===a){if(i.tag===1){c=er(-1,n&-n),c.tag=2;var p=i.updateQueue;if(p!==null){p=p.shared;var f=p.pending;f===null?c.next=c:(c.next=f.next,f.next=c),p.pending=c}}i.lanes|=n,c=i.alternate,c!==null&&(c.lanes|=n),Vs(i.return,n,t),s.lanes|=n;break}c=c.next}}else if(i.tag===10)l=i.type===t.type?null:i.child;else if(i.tag===18){if(l=i.return,l===null)throw Error(Q(341));l.lanes|=n,s=l.alternate,s!==null&&(s.lanes|=n),Vs(l,n,t),l=i.sibling}else l=i.child;if(l!==null)l.return=i;else for(l=i;l!==null;){if(l===t){l=null;break}if(i=l.sibling,i!==null){i.return=l.return,l=i;break}l=l.return}i=l}$t(e,t,o.children,n),t=t.child}return t;case 9:return o=t.type,a=t.pendingProps.children,Na(t,n),o=bn(o),a=a(o),t.flags|=1,$t(e,t,a,n),t.child;case 14:return a=t.type,o=En(a,t.pendingProps),o=En(a.type,o),Qp(e,t,a,o,n);case 15:return Im(e,t,t.type,t.pendingProps,n);case 17:return a=t.type,o=t.pendingProps,o=t.elementType===a?o:En(a,o),Ci(e,t),t.tag=1,Jt(a)?(e=!0,Oi(t)):e=!1,Na(t,n),Dm(t,a,o),Ks(t,a,o,n),Qs(null,t,a,!0,e,n);case 19:return Hm(e,t,n);case 22:return _m(e,t,n)}throw Error(Q(156,t.tag))};function rf(e,t){return Ru(e,t)}function My(e,t,n,a){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=a,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function yn(e,t,n,a){return new My(e,t,n,a)}function Kc(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Ey(e){if(typeof e=="function")return Kc(e)?1:0;if(e!=null){if(e=e.$$typeof,e===uc)return 11;if(e===mc)return 14}return 2}function Er(e,t){var n=e.alternate;return n===null?(n=yn(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&14680064,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function Mi(e,t,n,a,o,i){var l=2;if(a=e,typeof e=="function")Kc(e)&&(l=1);else if(typeof e=="string")l=5;else e:switch(e){case da:return qr(n.children,o,i,t);case pc:l=8,o|=8;break;case ys:return e=yn(12,n,t,o|2),e.elementType=ys,e.lanes=i,e;case vs:return e=yn(13,n,t,o),e.elementType=vs,e.lanes=i,e;case bs:return e=yn(19,n,t,o),e.elementType=bs,e.lanes=i,e;case mu:return sl(n,o,i,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case pu:l=10;break e;case uu:l=9;break e;case uc:l=11;break e;case mc:l=14;break e;case gr:l=16,a=null;break e}throw Error(Q(130,e==null?e:typeof e,""))}return t=yn(l,n,t,o),t.elementType=e,t.type=a,t.lanes=i,t}function qr(e,t,n,a){return e=yn(7,e,a,t),e.lanes=n,e}function sl(e,t,n,a){return e=yn(22,e,a,t),e.elementType=mu,e.lanes=n,e.stateNode={isHidden:!1},e}function fs(e,t,n){return e=yn(6,e,null,t),e.lanes=n,e}function gs(e,t,n){return t=yn(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function zy(e,t,n,a,o){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Jl(0),this.expirationTimes=Jl(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Jl(0),this.identifierPrefix=a,this.onRecoverableError=o,this.mutableSourceEagerHydrationData=null}function qc(e,t,n,a,o,i,l,s,c){return e=new zy(e,t,n,s,c),t===1?(t=1,i===!0&&(t|=8)):t=0,i=yn(3,null,null,t),e.current=i,i.stateNode=e,i.memoizedState={element:a,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},Lc(i),e}function Ry(e,t,n){var a=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:ca,key:a==null?null:""+a,children:e,containerInfo:t,implementation:n}}function af(e){if(!e)return Rr;e=e._reactInternals;e:{if(ta(e)!==e||e.tag!==1)throw Error(Q(170));var t=e;do{switch(t.tag){case 3:t=t.stateNode.context;break e;case 1:if(Jt(t.type)){t=t.stateNode.__reactInternalMemoizedMergedChildContext;break e}}t=t.return}while(t!==null);throw Error(Q(171))}if(e.tag===1){var n=e.type;if(Jt(n))return am(e,n,t)}return t}function of(e,t,n,a,o,i,l,s,c){return e=qc(n,a,!0,e,o,i,l,s,c),e.context=af(null),n=e.current,a=Vt(),o=Mr(n),i=er(a,o),i.callback=t??null,Nr(n,i,o),e.current.lanes=o,Do(e,o,a),Zt(e,a),e}function cl(e,t,n,a){var o=t.current,i=Vt(),l=Mr(o);return n=af(n),t.context===null?t.context=n:t.pendingContext=n,t=er(i,l),t.payload={element:e},a=a===void 0?null:a,a!==null&&(t.callback=a),e=Nr(o,t,l),e!==null&&(Pn(e,o,l,i),wi(e,o,l)),l}function Xi(e){if(e=e.current,!e.child)return null;switch(e.child.tag){case 5:return e.child.stateNode;default:return e.child.stateNode}}function su(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var n=e.retryLane;e.retryLane=n!==0&&n<t?n:t}}function Yc(e,t){su(e,t),(e=e.alternate)&&su(e,t)}function Ly(){return null}var lf=typeof reportError=="function"?reportError:function(e){console.error(e)};function Qc(e){this._internalRoot=e}dl.prototype.render=Qc.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(Q(409));cl(e,t,null,null)};dl.prototype.unmount=Qc.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;Zr(function(){cl(null,e,null,null)}),t[nr]=null}};function dl(e){this._internalRoot=e}dl.prototype.unstable_scheduleHydration=function(e){if(e){var t=_u();e={blockedOn:null,target:e,priority:t};for(var n=0;n<yr.length&&t!==0&&t<yr[n].priority;n++);yr.splice(n,0,e),n===0&&ju(e)}};function Xc(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function pl(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11&&(e.nodeType!==8||e.nodeValue!==" react-mount-point-unstable "))}function cu(){}function Py(e,t,n,a,o){if(o){if(typeof a=="function"){var i=a;a=function(){var p=Xi(l);i.call(p)}}var l=of(t,a,e,0,null,!1,!1,"",cu);return e._reactRootContainer=l,e[nr]=l.current,Co(e.nodeType===8?e.parentNode:e),Zr(),l}for(;o=e.lastChild;)e.removeChild(o);if(typeof a=="function"){var s=a;a=function(){var p=Xi(c);s.call(p)}}var c=qc(e,0,!1,null,null,!1,!1,"",cu);return e._reactRootContainer=c,e[nr]=c.current,Co(e.nodeType===8?e.parentNode:e),Zr(function(){cl(t,c,n,a)}),c}function ul(e,t,n,a,o){var i=n._reactRootContainer;if(i){var l=i;if(typeof o=="function"){var s=o;o=function(){var c=Xi(l);s.call(c)}}cl(t,l,e,o)}else l=Py(n,t,e,o,a);return Xi(l)}Fu=function(e){switch(e.tag){case 3:var t=e.stateNode;if(t.current.memoizedState.isDehydrated){var n=ao(t.pendingLanes);n!==0&&(hc(t,n|1),Zt(t,ft()),!(Ve&6)&&(Da=ft()+500,Dr()))}break;case 13:Zr(function(){var a=rr(e,1);if(a!==null){var o=Vt();Pn(a,e,1,o)}}),Yc(e,1)}};yc=function(e){if(e.tag===13){var t=rr(e,134217728);if(t!==null){var n=Vt();Pn(t,e,134217728,n)}Yc(e,134217728)}};Iu=function(e){if(e.tag===13){var t=Mr(e),n=rr(e,t);if(n!==null){var a=Vt();Pn(n,e,t,a)}Yc(e,t)}};_u=function(){return Ke};Ou=function(e,t){var n=Ke;try{return Ke=e,t()}finally{Ke=n}};zs=function(e,t,n){switch(t){case"input":if(ks(e,n),t=n.name,n.type==="radio"&&t!=null){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll("input[name="+JSON.stringify(""+t)+'][type="radio"]'),t=0;t<n.length;t++){var a=n[t];if(a!==e&&a.form===e.form){var o=nl(a);if(!o)throw Error(Q(90));gu(a),ks(a,o)}}}break;case"textarea":yu(e,n);break;case"select":t=n.value,t!=null&&wa(e,!!n.multiple,t,!1)}};Cu=$c;Nu=Zr;var Dy={usingClientEntryPoint:!1,Events:[Fo,fa,nl,ku,Su,$c]},eo={findFiberByHostInstance:$r,bundleType:0,version:"18.3.1",rendererPackageName:"react-dom"},Ay={bundleType:eo.bundleType,version:eo.version,rendererPackageName:eo.rendererPackageName,rendererConfig:eo.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:or.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return e=Eu(e),e===null?null:e.stateNode},findFiberByHostInstance:eo.findFiberByHostInstance||Ly,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.3.1-next-f1338f8080-20240426"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&(to=__REACT_DEVTOOLS_GLOBAL_HOOK__,!to.isDisabled&&to.supportsFiber))try{Ji=to.inject(Ay),Gn=to}catch{}var to;cn.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=Dy;cn.createPortal=function(e,t){var n=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!Xc(t))throw Error(Q(200));return Ry(e,t,null,n)};cn.createRoot=function(e,t){if(!Xc(e))throw Error(Q(299));var n=!1,a="",o=lf;return t!=null&&(t.unstable_strictMode===!0&&(n=!0),t.identifierPrefix!==void 0&&(a=t.identifierPrefix),t.onRecoverableError!==void 0&&(o=t.onRecoverableError)),t=qc(e,1,!1,null,null,n,!1,a,o),e[nr]=t.current,Co(e.nodeType===8?e.parentNode:e),new Qc(t)};cn.findDOMNode=function(e){if(e==null)return null;if(e.nodeType===1)return e;var t=e._reactInternals;if(t===void 0)throw typeof e.render=="function"?Error(Q(188)):(e=Object.keys(e).join(","),Error(Q(268,e)));return e=Eu(t),e=e===null?null:e.stateNode,e};cn.flushSync=function(e){return Zr(e)};cn.hydrate=function(e,t,n){if(!pl(t))throw Error(Q(200));return ul(null,e,t,!0,n)};cn.hydrateRoot=function(e,t,n){if(!Xc(e))throw Error(Q(405));var a=n!=null&&n.hydratedSources||null,o=!1,i="",l=lf;if(n!=null&&(n.unstable_strictMode===!0&&(o=!0),n.identifierPrefix!==void 0&&(i=n.identifierPrefix),n.onRecoverableError!==void 0&&(l=n.onRecoverableError)),t=of(t,null,e,1,n??null,o,!1,i,l),e[nr]=t.current,Co(e),a)for(e=0;e<a.length;e++)n=a[e],o=n._getVersion,o=o(n._source),t.mutableSourceEagerHydrationData==null?t.mutableSourceEagerHydrationData=[n,o]:t.mutableSourceEagerHydrationData.push(n,o);return new dl(t)};cn.render=function(e,t,n){if(!pl(t))throw Error(Q(200));return ul(null,e,t,!1,n)};cn.unmountComponentAtNode=function(e){if(!pl(e))throw Error(Q(40));return e._reactRootContainer?(Zr(function(){ul(null,null,e,!1,function(){e._reactRootContainer=null,e[nr]=null})}),!0):!1};cn.unstable_batchedUpdates=$c;cn.unstable_renderSubtreeIntoContainer=function(e,t,n,a){if(!pl(n))throw Error(Q(200));if(e==null||e._reactInternals===void 0)throw Error(Q(38));return ul(e,t,n,!1,a)};cn.version="18.3.1-next-f1338f8080-20240426"});var Jc=Yn((X0,df)=>{"use strict";function cf(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(cf)}catch(e){console.error(e)}}cf(),df.exports=sf()});var uf=Yn(Zc=>{"use strict";var pf=Jc();Zc.createRoot=pf.createRoot,Zc.hydrateRoot=pf.hydrateRoot;var J0});var Of=Yn(bl=>{"use strict";var Yy=$a(),Qy=Symbol.for("react.element"),Xy=Symbol.for("react.fragment"),Jy=Object.prototype.hasOwnProperty,Zy=Yy.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,e0={key:!0,ref:!0,__self:!0,__source:!0};function _f(e,t,n){var a,o={},i=null,l=null;n!==void 0&&(i=""+n),t.key!==void 0&&(i=""+t.key),t.ref!==void 0&&(l=t.ref);for(a in t)Jy.call(t,a)&&!e0.hasOwnProperty(a)&&(o[a]=t[a]);if(e&&e.defaultProps)for(a in t=e.defaultProps,t)o[a]===void 0&&(o[a]=t[a]);return{$$typeof:Qy,type:e,key:i,ref:l,props:o,_owner:Zy.current}}bl.Fragment=Xy;bl.jsx=_f;bl.jsxs=_f});var jo=Yn((mv,jf)=>{"use strict";jf.exports=Of()});var Oa=ur($a(),1),ng=ur(uf(),1);var u=ur($a(),1),n0=ur(Jc(),1);var Fy={"&":"&amp;","<":"&lt;",">":"&gt;"},ed=e=>String(e).replace(/[&<>]/g,t=>Fy[t]),Iy=[[/结论|总结|tl;?dr|summary|takeaway/i,"\u2705","ok"],[/风险|注意|警告|禁止|坑|踩坑|务必/i,"\u26A0\uFE0F","warn"],[/根因|原因|为什么|定位|复现/i,"\u{1F50D}","info"],[/修复|解决|变更|fix/i,"\u{1F527}","ok"],[/验证|测试|实测|回归/i,"\u{1F9EA}","ok"],[/方案|做法|实现|设计|思路|架构/i,"\u{1F6E0}\uFE0F","plan"],[/步骤|流程|操作|用法|命令/i,"\u{1F9E9}","plan"],[/背景|由来|context/i,"\u{1F9ED}","info"],[/目标|需求|要解决/i,"\u{1F3AF}","plan"],[/环境|依赖|前置|安装/i,"\u{1F4E6}","info"],[/收益|效果|性能|指标|数据|统计/i,"\u{1F4C8}","ok"],[/示例|例子|样例|demo/i,"\u{1F4A1}","idea"],[/参考|链接|相关/i,"\u{1F517}","info"]],_y=["\u2728","info"],Oy=[[/风险|注意|警告|禁止|坑|务必/i,"\u26A0\uFE0F","warn"],[/提示|建议|tip|best practice/i,"\u{1F4A1}","idea"],[/结论|总结/i,"\u2705","ok"],[/错误|失败|报错/i,"\u2757","bad"]],jy=e=>{let t=String(e);for(let[n,a,o]of Iy)if(n.test(t))return[a,o];return _y},By=e=>{let t=e.join(" ");for(let[n,a,o]of Oy)if(n.test(t))return[a,o];return["\u{1F4CC}","info"]};function Ia(e){let t=String(e),n=/^([^::\s]{1,8})[::]\s*(.+)$/.exec(t);if(n&&!/[是为有了吗呢着过把被和与或于]/.test(n[1]))return'<span class="md-kv"><span class="md-k">'+ed(n[1])+'</span><span class="md-v">'+Ia(n[2])+"</span></span>";let a=ed(t);return a=a.replace(/^\[([ xX])\](?=\s|$)\s*/,(o,i)=>'<span class="md-task">'+(i.toLowerCase()==="x"?"\u2611":"\u2610")+"</span> "),a=a.replace(/`([^`\n]+)`/g,'<code class="md-code">$1</code>'),a=a.replace(/\*\*([^*]+)\*\*/g,'<strong class="md-b">$1</strong>'),a=a.replace(/(^|[^*])\*([^*\n]+)\*/g,"$1<em>$2</em>"),a=a.replace(/\[([^\]]+)\]\(([^)\s]+)\)/g,(o,i,l)=>/^(https?:|\/|#)/i.test(l)?'<a class="md-link" href="'+l+'" target="_blank" rel="noopener noreferrer">'+i+"</a>":i),a}function ml(e){let t=String(e||"").replace(/\r\n?/g,`
9
9
  `),n=/^---\n([\s\S]*?)\n---\n?/.exec(t);if(!n)return{meta:[],body:t};let a=[];for(let o of n[1].split(`
10
10
  `)){let i=o.indexOf(":");if(i<=0)continue;let l=o.slice(0,i).trim(),s=o.slice(i+1).trim().replace(/^["']|["']$/g,"");l&&a.push([l,s])}return{meta:a,body:t.slice(n[0].length)}}function mf(e){let t=String(e||"").trim().replace(/^\[|\]$/g,"");return t?t.split(",").map(n=>n.trim().replace(/^["']|["']$/g,"")).filter(Boolean):[]}function _o(e){let t=ml(String(e||"").replace(/\r\n?/g,`
11
- `)).body;if(!t.trim())return"";let n=[],a=t.replace(/```([\w+#.-]*)\n([\s\S]*?)```/g,(S,L,M)=>(n.push('<pre class="md-pre"><code>'+ed(M.replace(/\n$/,""))+"</code></pre>"),"\0F"+(n.length-1)+"\0")),o=[],i=0,l=[],s=null,c=null,p=()=>{l.length&&(o.push('<p class="md-p">'+l.join("<br/>")+"</p>"),l=[])},f=()=>{if(!s)return;let S=s.type;o.push("<"+S+' class="md-'+S+'">'+s.items.map(L=>"<li>"+L+"</li>").join("")+"</"+S+">"),s=null},b=()=>{if(!c)return;let[S,L]=By(c);o.push('<div class="md-callout md-c-'+L+'"><span class="md-ico">'+S+"</span>"+c.join("<br/>")+"</div>"),c=null},h=()=>{p(),f(),b()};for(let S of a.split(`
12
- `)){let L=S.trim();if(!L){h();continue}let M=/^\u0000F(\d+)\u0000$/.exec(L);if(M){h(),o.push(n[Number(M[1])]);continue}let _;if(_=/^(#{1,6})\s+(.+)$/.exec(L)){h();let[x,m]=jy(_[2]);i++,o.push('<div id="md-h-'+i+'" class="md-h md-h-'+(_[1].length<=2?"h1":"h2")+" md-c-"+m+'"><span class="md-ico">'+x+'</span><span class="md-hx">'+Ia(_[2])+"</span></div>");continue}if(/^(-{3,}|\*{3,}|_{3,})$/.test(L)){h(),o.push('<hr class="md-hr"/>');continue}if(_=/^>\s?(.*)$/.exec(L)){p(),f(),c=c||[],c.push(Ia(_[1]));continue}if(_=/^[-*+]\s+(.+)$/.exec(L)){p(),b(),(!s||s.type!=="ul")&&(f(),s={type:"ul",items:[]}),s.items.push(Ia(_[1]));continue}if(_=/^\d+[.)]\s+(.+)$/.exec(L)){p(),b(),(!s||s.type!=="ol")&&(f(),s={type:"ol",items:[]}),s.items.push(Ia(_[1]));continue}f(),b(),l.push(Ia(L))}return h(),o.join(`
11
+ `)).body;if(!t.trim())return"";let n=[],a=t.replace(/```([\w+#.-]*)\n([\s\S]*?)```/g,(S,R,M)=>(n.push('<pre class="md-pre"><code>'+ed(M.replace(/\n$/,""))+"</code></pre>"),"\0F"+(n.length-1)+"\0")),o=[],i=0,l=[],s=null,c=null,p=()=>{l.length&&(o.push('<p class="md-p">'+l.join("<br/>")+"</p>"),l=[])},f=()=>{if(!s)return;let S=s.type;o.push("<"+S+' class="md-'+S+'">'+s.items.map(R=>"<li>"+R+"</li>").join("")+"</"+S+">"),s=null},g=()=>{if(!c)return;let[S,R]=By(c);o.push('<div class="md-callout md-c-'+R+'"><span class="md-ico">'+S+"</span>"+c.join("<br/>")+"</div>"),c=null},y=()=>{p(),f(),g()};for(let S of a.split(`
12
+ `)){let R=S.trim();if(!R){y();continue}let M=/^\u0000F(\d+)\u0000$/.exec(R);if(M){y(),o.push(n[Number(M[1])]);continue}let O;if(O=/^(#{1,6})\s+(.+)$/.exec(R)){y();let[h,m]=jy(O[2]);i++,o.push('<div id="md-h-'+i+'" class="md-h md-h-'+(O[1].length<=2?"h1":"h2")+" md-c-"+m+'"><span class="md-ico">'+h+'</span><span class="md-hx">'+Ia(O[2])+"</span></div>");continue}if(/^(-{3,}|\*{3,}|_{3,})$/.test(R)){y(),o.push('<hr class="md-hr"/>');continue}if(O=/^>\s?(.*)$/.exec(R)){p(),f(),c=c||[],c.push(Ia(O[1]));continue}if(O=/^[-*+]\s+(.+)$/.exec(R)){p(),g(),(!s||s.type!=="ul")&&(f(),s={type:"ul",items:[]}),s.items.push(Ia(O[1]));continue}if(O=/^\d+[.)]\s+(.+)$/.exec(R)){p(),g(),(!s||s.type!=="ol")&&(f(),s={type:"ol",items:[]}),s.items.push(Ia(O[1]));continue}f(),g(),l.push(Ia(R))}return y(),o.join(`
13
13
  `)}var fl="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAYAAABccqhmAABccElEQVR4nO19B3hcxdX2e+buriR3cAndFIPtXbmq7cpFphhMTUiQvzTSCSEkBMiXAAFiTAgtDUghBL4vyUcC/BaEhGowxXLRSrJkY1taGzDVtLiAu6TdvXP+59xdOStZsnW3S7vv8zjE17szd2fec2bmzClAHnnkkUceeeSRRx555JFHHnnkkUceeeSRRx555JFHHnnkkUceeeSRRx555JFHHnnkkUceeeSRRx555NGfQJl+gTySi5erqhzO0LaxHFSczHbJpSnkHPXOqbW14WS2m0dm4chw/3kkGYM7ts9QCs9op05quwqAq2P7OQBqk9pwHhlFXgEMIDBAryg6vZ25iJK8uzMZXKjodAaWkdVVHgMBotjzGChYAApBVyVb+AXSprQtfSS77Twyh7wCGEBYunTKMK0xPVXtS9vSR6razyP9yCuAAYTC9o4yJgxOVfvStvSRqvbzSD/yCmAAwUnGrIHQRx7pQ14BDByQSfCl4vy/v4NoH/nr44GDvAIYIHjX6y0kQsq359KH9JXqfvJID/IKYIDgQ9pZqRkpN9BJH9JXqvvJIz3IK4AE8HLV2MInSkoGIQvu/4loTpq25lZfnJ6+DgoZe5mDTL9Hf0ZeAcQBIX+Db9LsocGhS8cUtP2jpco9JAte6vQB2VcvkDGXsZc5kLnIBoXUH5EfNBsQkq2YOekEV1gvZPDnQWR5UhLw7PatHRees2lTBzKAOq/7cIPoDQZGpKM/AnaYzCdV1gc+RgbwzLhxBSNHFzzOwNnWA+YwgR4JOtSCmSvWv5X3VOw78juAvoFWVI4fuqrSc53LNNdpwpc6hV/AwLzRYwrvX+R2u5ABpcTE04DUn/9jMEz6zMSqK2MsYy1jvv8hkUPmROZG5kjmKr+49Q15BXAINJWUOBsrPBc62LlGM25h0OAertrIZP7yCSPUAy3V6VcCCmq2TqMwSl/SJ9IMGVsZYxnr7gIucyJzI3MkcyVzJnOX7nfsb8grgF4gq5t/ZvFk7Wx/Vis8CvBJh1hVLCXQ9r56IN07AQLPlm0vp+mP9CV9pvM3ypjK2PYk/N0gr3eSzJnMncxh3j7QO/LRgD3AX1H8qQZD/8TQfIkmFKHvsJTA2GG0i4Hvp+ssagC/DzE/gDRBfpSTkDZ7hwhw4zD6dR+EPxakCacbmusbKt33+011q6+h5d8pftV+h7wRMAbPzBtXMGa361ta0wINjEpgfLQmutk3t+VntFB2zOnHAatedWS3t3RLlXPonj097vx2Dxmi54ypDVl/qen63pkyrPECKP+S4hsV808T2LGyArYpxQu3DA0+cM7izBhrsxF5BSBRtAug5r1QLKvFbRpWNF3C40ISQk9887tHB34+vwYmUiTgNy0AzVk61jVo3+ARcOIIMulEJj3GUOp4kzGCgSMJXAiiozgi0ocD3MuuhtoAfEwiZswfMKidgA8Nwg5T67eJ1RY2+E2E8NG+QXt3LJ3zTvCmhRHFkAoFsagaxnHvu68npp+ytdFJGKIIVpuKrlt8RsuLCzOknLMJOa0ARIhWzZx0Aml9m8n4XGQ3nVRoxbTw6fqWWxZatrPEV3O/132Yg+gkYppOhCkmeBKDxzJwBMG6mdgviHJgB4n3blxzbX0dDO5sIApiyLUbPiLQOwZoPTPWMvHqMPMbvvrAJ/s/mIBSWACoc73FN2jiBSmwVZkG4TFW6rqyHL82zEkFIAL1QsmJw4a4iq42CFdoTun9uSbiKyvqAr+LFc6+vCOqq9Wq9zeO02zKrkSMbqUKNI6IhpnMFJHvzM5h1CgIg4iZeZcGb5LLEwDLFBmry46esAk1NdqmkFFDpft7zHRXKg3VSnY2jHv2BNt+fUbzm7tyURFQTm73lxR/0WC+WQPHp2UMCCHF/L0yf+D+g5FMhH5p1SkjB4ecpxtMp4eZzwTxUQxyZIOw21UKBA6D6QMH0fMm8Yt7naEX59S+tv1QY7DK575EE/0OjHRc47EC3jaJfrp4bstDuXYs6BeESiaaSkqGm672txg4LI3dmg7Coi1bOr4e6y0oZK+prlbHbll3rCNknM+szmNwJcNK6jHQ5kaUwl4C1RHpp8JO88nNYyZvru62OxAvvzFjCv4cZsxPwZGsVxDwiREsPKG0uXkncggDjWR98+P3up9gonNTvaKSbP/BqxnGteX+9S9F7+qtPpeVeo4ZXKA+Z2r9OQaVM9jZX1b45OwQKETgRkOpx/Z26MdmN7W+J//WOUaNvkmnEczbGTSdU+yvwvI+zE9X1AcuyLVjQE4Q7sAtpucyDfw2VedLIZQC3tfENzs7iv5S2twcshRP+bihyuGaw5q+SQpnaLZ8DHJuDrqBFaGNNV4gxf+jw8GlFY2bdosgiidfqKDta4rppxo4OoUKUivg+2X+1nvzCiAHsNJXPMFgbgEld4sZPft2KMJdHUrdOXPF+h3yfNUszzE6TJcC/DUAR1rhu3nB72nsZPX9EKC/KAffV7Y8sitYMXPSiAKtf6wZVzJQkPSxY5gmUfEMf8tG5BhycvXh6mqjYXPgFRCKk9coTKXweIjpxsq6lldlZOt8Hp8DuFKBzjbBA/FcnyqwAdqrwc+Ggbsq/a1+UQ11lcXjncQ/0xoXJlV5M1oqjnVPpZqapPtrZDtykpByx3xeZbG4ll6RhDFgg/CKQc5rpq185cWlVVVqSGj7mQz+oWaeJRb8/Gof58BGYg7Cimg5gX61xzny+Tm1tXrNjKmnmxy6w2RMTc780T1P1bVcnYivRn9FTioAQZ23uMqh+GXNcY+BkPMDBm47fHjwgV1bh2su6JjLzNdpYGaSXzePiMFmBRHdRh0FS4aN3qk+3un6FgHXMeioeLmsRMNoOrWyviUnS57lbDSgK1SwioAtcXxVzqr7FHAXBukpz/oD9+7YUeg1Xe3LTOYnNTADWY7eovyQ5ZCxlTGWsZYxl7GXOZC5kDmx42jVCQK2CBeQo8jZHUDkqsn9KIM+29fvKEAq4z6tDf5JxemBjfWLPeMNAz8H43ydPZGVutNpSAHi/h8GWBwHd4DYVIw93IviI2CMJgwBkzj2jQDIUIBD4v87nXuyZdGw5oLwpGnieu+81lcbXnRPUCbdCuBcO3NB4H+U+wMX5Zr1vxM5rQAafO5LAPpjH8ZBrvXWOwlXTp17Ue3Spf8cNjgUvoEZl2bKaScqkNKv/DesgNcM0EaT8VaBg15vC/NW7cAbFKSPiUNthh7cNnLIEL1q61ZdHQhEIv66ocbtdpaNHq2279mjTLW3iMlZxC4+XIVxUpGDRneE+WSDcIIJnqCBUzgiaJ3KgTLmXES4b6/TccucOZ/Z9cqSR6tCjLs0MKkv8wrwdyoO4aE5kJGzCkDQMHPCKTCN9Qz0lsBDHO63GkQ/L9yp/xjwBMzj3/NUM3AHA8emefysazIG9hH4NWZqhoEGB/jVcCi4rmLstL3icy8fTBWZ9wclVVerhnfWDHY4XZPDoPEwUUHEJQw6hYBB0c+le2w2E3DN28e01rhb3Ub7cPUdk/l6Jozu7V0ICMIwJ1Ws2PgachQ5rQCiTkGrNSxrcuxzsey3A7jfoZy3TFvxyraGWZOPp7D5ewbOStM22NpyK0K7ZqwH8KLJvMwVCjeVNFv+9NFXzQpYgUnNJaeMDDodpQaRBC6drgiTNKOQ08c1cSt+jh3G5RXL1729ZubUUWEdugHAJSajsPsuRQGvlPlbp+fq6o9cVwCCpkrPbWHGtZ1/J+YwiJaYrK7x1a9vaS4pcYRdbV8n0B2pzrob9SBkZuwi8FIGPaWceL58eevmqPMQx5UzAKCbogrlUA10fqbzO9FntvuV7zTO8hyrQziTwOcxaA4Rhok9IQ0u2DsYfI0jWPTnkubmsN87qdggfQeY53JMMlcH4fbSutbrkMPIeQVQX+45FQZejETOo0WR+nHZUROel+30ihL3sU4n/kREc1Ppj24JPqGNgKeZVQ3CoZfKV238uK/C1z37T51v8mjDNI8kA0eA+QgGjgLRKCIUMGMwM4+NLtqxrUjBj3eIsJcZHWDeRsAHIPqITXxkGsaHlf51W2O/YefdGssmHA6H8zQiLUeoc8UNOsV1DDUzLwmF8O2ZzYHNVmj1BxvP1KzvBFsOYAwTp3sbW19GDiPnFUCd11tk0O41AP3hSB5y/3H19e3C6sYZxdWK+Z4wY0wqiBo1nMmZvdkgfiTIjr93ClhfBeuFkpJhI5xt401gmsNQ403NkxxEHpN5GCMiYNJQd++W3n5M907Vf3YE8q5tBtGuMHOroWh92NSvGsCaHaGiV89obt5lRxmIgnJR+Esm0+cBlIhyTdUYOwhbNNEV5StbaqQDqWv4Ie25BODvmjx0WmV9vWRBylnkvAIQNJWUDCptbhYi8GvzxhXs3FV4h9Z8OVNqrvbkzpqAmhDwp6BrVOOc2lrzEAJEL1dVGcNCu8aYZnCWJp5NRHJ2dcstRHR3ku65tBSYWOEZCDDzasW0zDBcy3c5h205tbZW3GoPkfugynAFt5U7gW8zIDuDlJRZI0ZYKfr98GHt15wSyQdITSUlRaXNzeI7kNPIK4AYQq72uk8KKzzETKmosivC8G8Q/uowzLtLl2/8qDcB6Vwpm0tKioLOtuJChzpba5xjMktorCOD1269ovOd5ErSIFqtFJ5pD+tnXaGilpKIcj3YzoaaZk04ImwaPwDjqwA+lQpuEvEqh8YXp9cH3shlw18ssopEGa0B4HWfZRA9yMDIJI8LK9C/GfqufS7nfXNq1+7sjXzyHq/Pm+f6eOe7MwgkCTHOluvGqHBlhQNOX8GR3YEohM0AnmXwosOHH7fy5MWLgwf7/UurpgwfFAxdSlBXanCyFYGM43aT+WJffeC5vBLIK4CIR2CF+yooup2RvBRUlmGPeSspurtDqXslNLgXwlnn9OVlE04udDi+wuAvMHBCf0oB1vcUYXiLQA+3h8P/N2vVxtd7u8qM1mCUEODLWPMPNNHoZI4FASFovra8IfCbXFcCA4Jg8aLF7XbtG073MPhbDEpaeCkBkk77XlPTHd6Gli29kezlqipHYWjbp5XmS4lolgYKcmBO5Kqzg5mXa0X3tTtH/evU2tpwjx8EqL6ieIyh+BoGLmMgaaXACWwS6IFBO/mK4kAgiBzFQCdbr5ACki44Fmm2HHuSNQ6mAp5zGM4fTVvxyobeBH/NlCkjwkPML4P5apNx/EBa7e1nE8bbIPq1Y4/xt2lr1+7o5bO0ZubUiWEz9AsdccRKlrJmRXguiPD8mXWv7kYOIqdI1wn/acWfMtr4XxooT9IYyDn/DU3mfz9bt+HJnuLKo3aGw5yKLtPM39eglFwv9kdEHKB4iyL6bUjzvVJboCflKXkczq6ceL5i45f60LUa+9y9AhrNIvq076XcKx2WcwRcXTHx5LBSi0xgSjIEUFKAMfN90MEbO3PZ9XhfX9D+Pa35imSfZwcSOu0mStE9OzoKf9eTf0FnbkUo18+ISIKxCpLRrwGsdWg9f3rDhteRQ8gpIvorPBOV4ucYJIE8iYLBeE2BLi2rb1nWw4pFi9xu59gR+KKUtkpbDYKBAStXv5RWe2cHHpofiV48QBGs8hbP1uD7QDglOeXceLPWdJavoXUDcgQ5Q0j/bM9EFUqO8MsVlxP0v2Gz/Yfexk27eyJn0wxPFZjvNJlKc2mckww2iJtA9OPSla21PSnZ+vJxQx1G4a9C4G8k46qURAk46SzfstxQApQTDj4VnglhhcUMHJd4g/wJKXz/mbrAwz2d9aW0uKHwc4C/mkVJQvo1IolY6K+mxvU9lfgW28A5le4vsMZvQZRwwRcC3nVozJve0LpxoF8TUrZk6X3yzTcLzm9uloAY61Gy2l49e+LJ4ZB6QScu/GK1XqM1vuxraN3Y/R0XVVcbJ7zXeqEG3S0VebNlbAcQZPw/VOAfvHWM5/H5B2bwJX+FZ4JS+BsD0xIdfyVKwKnPmL4sqTYBy+fjyZKSovNPPLEjG7IQU3ZU6vFcTIRbCVgaZl7iCNNLZede9D4WLuzMFR8X1lUUf6pDYbEJ7hLvHwe0Unh4KIcvm3jgdREtmzl1VKEZkiw0EtzSrzz2+iGkiMcj7YbzytkrXtnWXRFvqBw/dDc57tUaX0h0LgzQKwUa8yb3sOvoKyy37gULaNXTjx4ddvBpjkhk6Rxm/KSivvXBTO8wMq4AlpRNGDncaazVjKOjCR1kREIAtzqYng4b5jPvfqJWd6ax6uuAWff87FhiAuUJWd2ZwwbhhtIzA7+gboUjrbN+RfEZ2uD7NeO4vHU/PYiGT7+rTLqktKHlhQNuChZANT3v/pHJuAUx8f/x9GMAjUEKz+2rn0BnHIekVzvuMD3dYRrnhInPBchDgDP6okoR3t8ZMqfMXbVxOzKITJeWpnqf+xYFuraXePtIggzCZmi8qAlLgg6zdvbyjR8d7KjQUu127XsfT2imMxP8jXtA6ssVdeuf6E6yRW63a+xwXAPQDQdJKZZHCmGl9ALf8s5O3DG/mzeftbOsnHQBWP8NwJAEumFF/Pygo3FBcU2vHoPW1n7ZrAlHuMJGlWLMhcLpxDhWEqD0xEGJpNTg273+wA2Z3AVQ5q/l0NSXMNCYktP7CNQComfA/Oygnbw21pVTFMkqn+cPGvh2Ir+PQB+bzBdU1reu7NnQxw9q4IxMj2Ee1iLxgqnp4p4MhHVezwyD6AkGH55gH38q87d+N5rDIdaVfAqIzgbzOQwuZtCgvnp2Sli41ijN5LUjZdLw1/RB4B+mxgWJNKOAwEfBwvILmpv3WZ5i3kk/INK/4ATcRQ3gzb0a583pZuyzAocq3VOI6R8aOCGB984jyVDAW0z82fK6wNpuKyotrfBMGKzwlAmcGG/7BJjM6kfP1q+/W25/nigpGXSEq71RA+5E5MhQeKL0KPdnM2UQzJTBipre3XCWqXF+Io3ILCvCQxc0N7eJcJ7v88wl0nfEK/zRM99bIJw5J6KVuwh/84ziz7DGS3nhzz7InMjcWHPUVSDZmkvCmTK38RZAYQlbIH2HcEzaF84J9xLdu4sMiCxkajHOiAKo8x5TyErfmuiPNoDXdzv5Hpmf+tkTx5mwroCccaePggSmYG5ZXesb3f6N6n2eK8KaH07GPXMeKQLRYTJHMlfd8yRac0qYK3OcgBJwCseEa/JX4Z5wMNG3FlkQmUCuKIACddh3NGhygs1oKFw3pzaw9+WqsYUUpL/rSDKPuOAE3goxn1lW1/pm9/v9Jl/xLQr4pbx6gu+cR+pRIHMlcyZzF/sPMrcyxzLX8TaugZHCNeGccE842EPaRZtt0mSRCeSCAmiaNeFIk/VPElz9xSD44l7HqCfkL0NCQ28HUVm813By5g8yn+WrD7zRZdtfXW2c+H7gLhN8XbQKTh79ADJXMmcydzKHsf8kcyxzLXOOOGBxjKjM4hwA4aBwMUHnNRKZENnAQFYAsi3TYXVzIiu1QIp2mKyulWSafm9xtSTwjLctRfiYQOdW1gc2xRqPJFlH8/uBu8IMaTtv6e9/IJk7mUOZy/0PAY7MNZ0rcx9v48I54Z5wULgYLSQTN0QmRDa6H10GkgKQKjylAF2cqECZjL/66tevWTHDfaxL4e74s/fyXinsWepvEWv/fghhhoa2/cbMC3+/hmhzU/NlMpexSkBgzTmLEZr3xtU2wSHcEw4KF4WTCb6ubC4ujshI+pRA2joSx5njR9ASzZCyUXGDCFsQ4imGLtoedrY9CYrP2Uey1zoUPluysvWp2O3bos5tP+O7qSwGkkfKIXUd/0WgDxk8z1B4+s2j3Vd2iyGg5hme88Ia/4jziMdgft4RKjrfVG0j4aS1zBiTyEsrwrK3d/Dc7o5NqUJaCC7bmuNHqPmaMTPRpgzm35SvCvzbKtdFNDdOJaYBvmH6ytanu1/1nfDehptl65gX/v4LBoIKdKsRKpxfVt9yOStIodDvnPjehoXdrwinWxzgG+I05Ek1pbnCReGkcDPRQDaREZGVdB0F0tLJkpKS4UOc7WuJMDaRdhRow17XyOmH6U+ODIbDzRpxXcnJXf9Dbx3T+tX5NTC7X/UR8Ksk5pzLI+3gEBG+Xl4XeKjTprPSN3GsASXXdYqBH3r9rffE2nsWVcM44T3PX03gi/HIhAJ/4nI4Sj5Rh304OLh9tQZPTOgXMN7ZEyqcMre5eSf6+w5ABOuwgo4fKLLKaSMRTywi87o5Y8aEgmHzd2Z8wi8/eLVpdny3u/CLA4kC7sgLf78Fg3gZkaqsqAv8PVbAww6WWgQSOWjIHHd3FppfA1M4IdyIp2PhonBSuCkcFa4m8kNEVkRm0rELSHkHqyo9J2lgPTOK4m0jGgewuM016oLBwW0XaeDv8SgvYnyiGTO6+143VE6Zyjr0Un9x8unNkSWHoxHlSHdfyDCun7Vi/Sc9faDB5/4Ng66ILNiS1MV5WkXd2lcOiE0hrGTCYXGGKX9pr2vUo0XBbU8wMC+R+SBCmwImdXdK61c7AGaQ1vgVc2L53CWPvFOrG7FjxxAG3xnne0tg1vejyTy6BPYQh/+R7cIfU0z0QwDPEfifAK4C9FUAS1z5YjBviRwjB3YWm/1gK3x8HWt8sc01+orehD8SQxZT8YnoMJlzf0WxVB7ajwg36Ptx2gOUxc0dO4YIV4WzSAAiM1HZSXUp9dSh3uc+jZieS7DIppD5dxVnXnRlw/OP/gLA1XE0wE5F/1OysuXbXc5+brfrhOH0tBmJ6stmmERcw6A/O1m/Ot2/4d2ePrRi5qQTClnPZMb5WvNZIBqKAQrJy6iAu/Uhiq8IGmd5juUwbWJwl7BtA3jhrZ18bqzFPXoc/FNI8zfjXMF/XXHmRT9qeP7RuwB8L6GIVEaYic/y+gMvxdvGIftIVcPiKjk4OKRJA55E2iHwv51GcFJHqGCUUmjkOGK7ibCRwx0V3sZNu7pE9vncNwB0U5ot/txjfbBu5uMo+ZiZm0nxLRV1Gw7ISdBj49E5bfR5zgTT1Zp47kA6GrAY+RgvMdOfvA2tj/dlTJp8nrPCjKdBXY27FDk63FTuD9wS2059+bhh5ChoYMYEu+9HwB6tUV7g7NgWMl3rGdRll2EXCmjd69pTemrtOwk5Gh2k/dRg6NBRShO/l2AzrLW6ddqR0z52KLpFSmHHk7dfES6TnP1dLP4zis8g0PUZuO572LC27l3/OID7nKAn5I8L9IRBqCWie52hokpv3YZ/9TVphHxO/lT4W58bvEufr4CfKSDl1uQ0IKiAZoNw0bP1gXN8Da3/6KtC1IyJTAfOM1v2NrpeuBBrcBOuCGeEO3ZfUjgqXBXOCncTvhYkfk9kCSlCSleGlir3kL1BWiQGkXj6MoDAHteeksEdQytALIk9bR8liPnu8vrAVbFkWT1z6uiwGWqM5upPcwUc/N7k4O2++tc/OOBdu/kkdH8WJ6ip5JSRpsv5lFRC6me7AVFmIWZsI8Kl5f7Wp+2OR533mCInDX8kDJzf229XwNsOw1k+fcUrW7vsEL3u3zDRD+LKYsx0xt6C3Q1DgkOazUjOALuwDN+DXTy/uDawBylCSlc/efHtwzsuNIgkLZNdIpsg/aOhe0aZTHx7PMKvCJtYB3/a/c43bIZ+YyIxn4R4IARk4HIDridX+yZKDsH9K3Z3Yvf0LE5wafNr2wxX6DwpgZXMjMuphGzPiclvaGO2I9TmrvC3PhXPeBAPnawPIvwC4YJwQrgRO/7CHeEQbEK4KpwV7gqHI13YAovMiOykUvgFKd/+nrN4U0fRDv0tm0qACfxM6dz5i8OujjOZrRp+dmFq6P+O3foLjnvPfaEGvpDBlZCYMC0MtaGh0vOd7iGrqUJpbUQJUEQJZCuEH0HFWMZKzRi8S59a2rCusbT5zbiOMGJBV0r95FCkIzkmAF8QbsQ+F+4Ih+IQYOm7XLgrHBYu2+G+yIrIjMgOUoy0CYHkT2sfoe4PMx8yGEjKa4PYt885umVQcNvLDMyw+64OwtNP1rVeEFu8Q659lOLVDByF7IAoukUhoutnpvi+txMNZRNGksOoTdQ4m2SIT/1WIvqj1qHHnOGhG0qbm60s0AlA/PwvDJn8QF+veAn4QGuaHptbUNLMnV/peSLMONdm/7KDW7nPNerUQaGtxWDy96G8OTuIHizcoS9JV8nytBnA5Ae9uUNfImfgQ9yzskH40zNzA+sGhz+ey2TFD9hVVO1K8Y9jhV/OdFKxR0eKdmQLSIPmO5gfb/QVfyN2C5oqVKzauJ2ZbwUj0+WwpbZiOzP+CeYrHKOKTnjG37rQ1/DauiQIP5pKShxBU1/ORCP6+h0NHCkciTUICoeES8KpOHZ6M4XDwmXh9CF2AXKt+fs30yj81ksizYj43E8UxXpjT7XciHlLATkmTfGv29pU6VliMk632T47gd+U+Fv/O+bMKFVjqpTCC4kkC00pmMNE6iGTjZ9U1q99P5VdiaIZu9nzoCZ8Pp1HoYiDEocdpD5g5ufDTH/31bcsk39LZmrsziteDbpJdpMK2KuBUX3hO8nRUeMMX0NrbafAWr4BPs8vQ8BVdsfLILxYWtc6d61v8ugODq9nojE9+TQA+mde/4aF6U4RnvZwV/mBi/0bbiamm3vYCTCUWvC4f922Op/HZ8YROizlpU0X/yJ2IFvcbqfDoDuzVvgFRAYzf8lQocfFhyKVXYnvu+E0f6iAzUgDROrl/l4xL1GEy4t26FPK/K2XivAn0di5Hysrxx/JoK8R+EUYavYgF59IwKN9fFdDuCKc6Xwm7yecEm7ZfRfhsHBZOC3c7mEXIMbOmy2ZyICBNiPx7rKtqjir5WdgWhirBAyidabe8debIgk6r4yk6rMFJkV3l9cG9p/hRHvvHYEvauYSZB/kt4sAvAtQrUPhXlLG51Pl9BGLkuUbP1IKfxFXi1T2I45cBmgJs/buKxh9bnld4AHZ4qZC8DtRSK65msOfqXCNPse7Yv1qsaSbbN4ukYJ9+b5mLhHOxB4FhFPCrThuUZzCZeG0cFs4HtuVyIDIQk+FZtOBjN4JW2GYm92XaaJfW+WSFJ1dtrLlhcZZnmMoTAETbNfr7yPN7KmsD+xP9dRUUjKcXe2rE8kJn4ptsAF63SC6rZ3N5QXBQVvfPLG5o7rG8m1P1ypgHYsMhcU6FclOrSMNHjEGF33vzcOa98RGX6YaIrjdx/HlKveQoiD+DdAhi9AIJGcgBQunl8aE5NZ53YcrolYAR8AGDNAedrC7fHnre6tmFJ+hNT9rnfmZr37r2MC96Ryb7shookv54YzA75sr3R0mq3mlK1vkjI6GMF8aRzknTeC7nqsP7OhSu6+g/XsmZ0sRD15JjAdNcqz0ug7bSLW14f3/1Jz+l/HOa13W8LznzwxcmixbQLRu3yNs6F+Vr9i4JraSTrrQkxItagsqGH2v4GYCJxgF7d9jWEVrrfaEW+f43Hcx6FY7u2drIQvzpQzcCFngfMX/MkgvLvEHHiirz6xfRsZTXsngltYF7jeCBRfL/19ZOX4Igb4WR1NbXC7nfbFbqcbTJxxuMsSTK1u83z7WMOqeP3NdALW1ZroTQHYHLQTDxKJkvQRHXGd/us856iveFRubMyH8vUE5nTMYZCcknYQ7wqHOB8It4ZhwzW7/wukIt8HCdeF8pisDZ4UC6ERpc/M+EQgH1Gkcx1Udgf5vau3a/ds1S7jaDMm1nlAG4uSCzlfQdec8565v9Hl+5fdOrF4+c9JhGVQETGyuI/DGJDTVrpT+ymJ/662nxu5ssgALFkCZWl0Sxy5npHAodn6EY8I1u+8gnI5ym4TryBJkjQLoBGn1DbsCIUUWEda/idWoK2ZOGgHm72fdbyQMYaIyDfzAIPWw0zRrG7zubzdWThqfCUVQvmrjx8xYm2AOgQ7W9LXylRtqMmXMOhjOem68RxHOi+OrSjhkcSkKi2MRru2zbZfQ6hvIMmSVcDSUTzqaCGfY0dQWcYkerVgV+Cj2uZPNLzEOvHPNFogPRCQSkSaB6F5mbmr2Ff+z3uf+QrrfhZlqEtiOSrTlV70NrYuyYUvbHXVeb5FBxsWa47N3MWiMcCn2mcU1okftKE3htHBbOI4sQjYpADIcZrWG7dRhTMxyLtsPyQFvaLo6i87+hwIxeEgYfAGBfi43F2nrWOR/sKPBcr+2CWZ0MOGrZXXZKfwWp2j36Qz6YQJGThIuda8rEOWcrd8s3BaOZxMvs0YBcHW10kwSjGF3+9+01zUqNsCFCkPbPm2mOdQ3WWDgeO1qe3xN1ZQ+u7AmCt9Laz8ght/m11gR3bO4rjWR3UNKUT/TLdl5/5ooz03geOFULDeFc8I9m02RcFy4jixB1rxI/buvHctAhW23X1KPnFpbG5vhV/bWl2aTlo0jPmBORzB0G6chNsDq0MqljbvsbGkNwscm69uz8cwvWOmbPIbD+CsD+634CYCEU7GDI5wT7tm1nQjHhevIEmSNAlBknm+3tLcC2oImPxS7FauvmDiOgFno35Ad67cb3yu+OV3hwkzhWgLe6dNnrVh53OKrD/SWhDOjqC+fdIwD5jNElDTvTwJmCbdiHrFwTzhopx3huHAdWYKsUACWhZRwnn3jH56RhJCx1z2GMr6aEs+29EOyzF47dnPgwXRUjZ1Z9+oeBf5lX7bzBN5uMqUsUWUiaPIVT1CGfoWB6cncBWqgQLglHOt8ZnGP8EwcxsDzMu0DklUKoLnqlJEMrrTzHWWFk6pFsc88z3kLGCxW9KwY3CRAMeG/OKTSsWXkDsN4iFniEg7+OTA94G1oWZ+NZ38zHN7KwJcU49PghMt2dzfUfkE41uUpq0UWF21AuC6cRxYgGxQA6ZDzdLvZfhnYhXDopU4SikY9jnb50E+Nf73CMmpYCVFSDsmrz0wXUKT2QI+kVoy1YRXe7x6bbZB8B5IQtay+9Sko3GlXOA+B44VjXfI1hkMvWVy0AeG6cD4bFqqMK4AFkQKLtmL+o+mya8WJpetjqs5KViYAJtlx0/B0kcXX0LKOTZwNRqDH0FXCYzPrXs10MpE+gU2dVPsJW/9Lco3XzZGK9+cO6CuE88J95LoCmFNVpbTJUuK7z7CSaZJ6IvZZc0lJETOfmw2/KfmJRLmqpcptOyV6vPA2tq7V4NmK8IyY+/afcZm3hZgfQT+BQxkzzR6rMMQNJRwTrsU+FC7alWThvHAfGUbGX8AV3D6OyV6OPkVoDyn9Quw2NOhsK1ZEWeVllSxoYMaujrhSS8cNCal+++jWT5OJo6H5vxXhJQfRL3z1gbTkLkwUa+dOHqShzyKipHJcER0tXOtyhar0C8JJO+0I54X7yGUFEDlL6Wl2w5KZsW7mykCXbDYFBp0z0Lb//wE5HYSfvZXiTEE9hWuL26u3IfCbsrrWuSVntv46W8/+3XnVsdf8NYOmpaBtCNdinwkXhZM2m3II9zN9G5DxHYATmGWTUbKpe+mmmIETN01mnJ0NvydVEOegT4LDMnJ9FM3eo2lhdjr9xCJS28/9FQAXp4gPSrgW6xosXBRO2rEDcJT7yDAyLjB2q9VY+dmYl8V6oDlDH40x2br3HchwhaDvbaxyJ1RrbiBDhHKVz3NZSOMPiZSjPxSEa8K5zr8LF4WTdnZH0VoE8dS7GDgKwO91H6ZAJ9n5DjP2dRSEu/hgG6Zjls7mhJ9JA6eM1P0dL5ecMqqoY+t3mPlu6mPar3ghXBPOxT4TTgo37bQj3BcZQK4qACcgbrvD7HyHCK/NqX1te5dnBtvOHtzfELHE0zOxCU/zEO/PBWpF5cRZg1yONSC6h4nSkuaOunFOOCnctNUGMExkALmoACJnWTXNtO/+23SAGzHT9H5W9NI2FLMJ1n1KbZ0raKgsLj37+UefcrB6gUHHpMtXgqKcO8AeQ2iy4xYc4b7KqCEwozsAIkyxYwC0RkljVexZ64WSE2UHkdYrskyAgXcL9jltV8cdyAiS3sIadxL4uQQzGsUDd5R7Fqx5iXCzz+CoDCCDSJsCEC3X+cd6sECMIFxsd+XWRtf8dUMcBRPsuhEnAR+DsT/7cDrAhI+nrluXNbnksgGzVgbelQo+DNyVZJffQ0I4J9w7GDf7ZgjkYpGFHmUkDUjZeanzRyytGlswKDS0uEHzTAKqNPOf0RB4wv+ct0DRruNt/tYwhYLrYvtoIGNq5JYqXeCQZvVZB3EIhCc0W/Hmqe+fsVRcRxfmdwAHjoxJnAETMBEZUxmQxCCW8rG4aRRIQtQ+h7Vr8PEiC0B9W32F+3xF9HUGahsUrdjn3N0yp/Ydq0JwqnZ+yVYA9HJVlTE4uGVSI4zTlOLZg4NcocGjJW2vjtzhW+dYw9w1XCscacdPSwGv7S06eh+iJdvl/vXTBsYHdXo0pmwzDaZ7KupblstfX6l0nxFkXK1BXyJK6W5KG0RvSXUZKaWURxeQ4WSPKSVV0gtyGRgf9UexhLOt6Oh9g4PbXrNTeZk1jjT0Lon1aGPCUE2QYKxPS7DL4ODgrU0zPA1a07JGmC/tdY1ZH01+wxlXALL6yo+fU+Ue5AzxNCcbMxTpGRzaWqahRomsmNZNfc8TE3bwkQaUrf4V0atzYrL/yP3reZonIU0g8FsOh+uO/fnu6wKv1Hm9lxq06yMwXcGUmjwEBDYB9ufP/wfCX1E8Rmu+JBP2LFPzpFh/FOFmc2Xxq1Kdqq9tkCJHWGnJ9/BRbKhLNDPUp6BxAcAXMJQ5OLR126pK9yrNamWIzJUhJ61ZWhvYJwtDvNxwxONsUdCxdfoaQ512Lus5OogKhhqurRLvUpGpb1BanQBlDV5fJ06CUt48wOtLkdv6l/SUs/7NtBWvbIt9WFlf38bANfUVnnoi3ANYcQ1JXo7I0KbtMmkDHvXl44aR0v/HoMmZ6J8UubuXIYty1BavLVkA1hzic4ZmEiew8xh8rsEKjiDvPLfS3bCG1NI6U7/UUTB6td2aDLa1pjO0baxL0dIOzbdqprMAGmFdi9gkvSIaw3Z9sBW9HjvYdb4TR2vNacmgq4i3Qg/5v540rTzzNrQ+ToZ5WrQKbVI1kgF+QavhdhNQDmRQQ9mEkYZR8BiDbEWSJhNa83Dh4P6XAlg4apfXIgt2+v2PvNEIkUGRRZFJkU1bPyAeBcBBJfGhsuWIe5WLaE22lbhD+tsT7lqe2VBFR7L9NOLxQIe1mu9tbOw18YNMfsWKja/tGGJ8nRh/kFQRyeqciPbKTgO5jU4LuWrwTvgMOYxXTcBuHomkgiXNtyrqkq5NOGpXNkQWErH8W7cJsgEPSqmJ/uIHQBhuZ52Uax5ivNG10opVpTXl1h8CXhx2rO5T2uyzlqzbe9iIjh+yUp8jxp5Uv1suQOZ6pW/iaVJObZXP4weMGh0p+ZZp5y8SDsYKr3DU1pWk5QyAtNWByJrqwFrOypLtpu+fDwdd3CULrdZ8pFKp5YBV7Rb4p6cm0Kfa8oJTFm+Sq5snVvqKy5zQj2imYlAuxCokF8/MG1dw+A7XDQ1EZypgggaGWqtrpsW+Gwdj/y4cLQhbu7++lSKO3I7ZyoeRTGRsB0DMhfbmkc2RId7b+Te5gSDCkTrFwk/M/m1bO/4nHivrDH/LxjJ/YJoi3K/iqLyT6zh78aagQxnPEzBB/Oazzd1bRzz5jowNTY9wVG5t+gbL3M+c1jwPmVcA1ZJbkmxZyxm0oz1UtF+I5OoDRKNS9o5Wp2waSj12zqZNwXibEMVR7m+9TJM+E4SPM+Cy2m8hY/dBh6vZbu79tIJolMXFKISjwlU7LViyUJ0ZWczcDsD2N9gcOWTI/gU/kpY1tZpTEW2mjoI/JsOqX1G3YQWBzlPAhmTfEgxUyNn6COe+Sm0zYjStoK472QhH+74DsJpA5pARBVCz2SvnI1slm8Sgtmrr1q47fk5p3LfW4D+XNDcnZfWxbgnqWvwul2MGA7fnlcDBwQugGnzuzzGpx9J00xMfunFQOBqH8ffwqEzkhgI4MRSSTLd9ntTotnlLdeA/hjh5wMxjU6U9CXjDGSy6Pdned9Nq1+7YfIz7Rs30OQI+QI4jNgBmUTWM5TMnHdYww/3Fpuc9DQD9P87i1Z+iHIwlSJSjW+wc9UQWRCaQS7cAyYHwJiXQpPCnkubmpN3lx2J+TY1sER9vKJvQCofxJwCSXKJXApiMI58ZN67gnE3W7cKAgQh9k9d9OROVaIDGvoejmM2pTDTKTp6IAcrB3MgJmKXYF9L6xVT73les2vjaEBefR+BfHuzcqIGKw8c4M54/LhUwQT8xga8y8BUNnAEi8azrJ8Lf/5FXAAdCvBzrK11j1qdjAoprA3vKj/FcZ5D6HgHiRtqj0mFgKAYgOn1a43EnzyNx5BVAN0RL4LxANoMqEgHV1JildS33EfR/KWBFD0pA6tPPXDDA5qu+YoqcnzPmBZdHvydUahKBMFQL0oyIv8CGNYOP4TMMwjWRlHEx78Sqy33zQABBj8xqC3+fkM5kNANEAbzpdErNyz5fr0W3hmNq3G5n1/qA9E6yJSLSl/7GSl/xhGjxh7ROcHFNIFhW1/pLgj6NGB/8ZzfAPlRX93OFPbDAUQ7GEiTK0TH2al1Qm8gEMoCMEKr62HrxrOtW2ffgYMKQstGju74vcUpy5DHoQgO6uSi4dWmDt/gzXF1tpDNPm+Uz4N+wzCgITTGI/zfySnRiwzsbu/id92dYwVyGntfvDX7UlYPCUeGqzVY+jspETqUFtwkytu/Zo7p8nykl/vVRu9QgBlVq4sfq32ttXuXz/Fe6FUFp7WvbVEfRZVC4hMBvMJlnZLqWXDLBGqf2+yxHTO2xPyDCUbIV+JXJAciMAqiBJrA4wdgopcQjCp1t+11/rQAM5i7ZeZKN/1inaQozHmx4v9Xv93ouTqsSaG4OVaxs/V+t6b9cDto1UKR/aZV7MBGd0u93AMzbYoOBhKPCVTstWLJQk5m6ixlzBGKKaM6+zz4Z250Y3Hl0EINYPeNDiQZOhwZlggNMZYrwv02Vnm82AQ8Sws+U1L2acm8+6yc2tEoMgfwZEBhkOo4imIf35+VfRfLUfRibrHW7kwYXhPse+h1JJ5yanWxWHwGUuMFKlr2+f97hClKXOmpK0YdIPwyTMTvE+FOIHYGGGcU3Ns1wHydurBl4l34J2UHpULiy/98A4AAOCkeFq31ugK18ExlzCc+cVZmx087mT1xFmXBS7KrIysqkmpFFJGrlHa41LwxrbDzpPc+Ny8s9U1rcbtdAOqenAq1ut5MIlwyAcWLhYJekoISThKt9biGSVHwn+osCIJcmRZYDdNyCZwkv6G0735H+hjgsN9H9MHXbh5ThWPGowbAoyHyjy0D93uG0Tgo8NFS5u6SKyuM/2D2KxzKRt7+f/wloEw7GPhOO2pUNkYVETrJW1ioCiWymXAGEnKPeCWqeU6DoJ4r4OYB3yAvY/dGaeYudt5XPdmg+OVaoKv1vblWKMqY9Y0EkznooZGA8KXqcO+i1Rl/x/XXeKUcPNA++hK//guob/V34BcI94WDsbxOO2uW1yIJdgY/IG+8QGRRZFJkU2USqjYDRvOONDKy6CbgzUhhE/6cwCFCm2crUc9AzsVb6LQPKjmCIve/E2AeiNVdpDkRz8WcTFAhDGfxNB4W/cK7X/dK5hMXbhgcfkDRX/f7qKwGsrPScWAB83ZQ6z/0crDnQfS6jHLXFa5GFPnzOVMTbCMhsYZBORDvkhbUBSX6wPPpnf2kwjpYGYy2lwfZHeO1/SUeYPtSKw1IZpa99aubxS6uqDET99GVlNRStNzWfgSyFBgYx0bkEnHP4Ttd1q3yex1dC/7LSv+Fd+fdcUgZW+C/zRSbs5cHPVhiK1gsHO6sDCTcHB7eNt9MGaw47dBdDYicfWIG3kiKrNBhJaTBnz6XBFmbRNSBHdwhrGHgFwK87i4Oy5pnKKg6K3fJB0xi2U9Eu+eHH9rVxDZxS1Pa+ZGCx8vOL5msw8ap4BGTzljJqMJT/HG0ClxtM85t8xf8Kg19qCPPSd473bI3mCBjQaPC5T1Wg72TzXNkAB028GnsFKNzURoH4NvQZpPChScOsYywxdivgCSkOSopW7HXu6VYcNPm3wGmbiC650+UMswBq1fOepRqYZacZVjzbtzKwovOBv2JiBSlV198Cm1iSjljOTNgK4n+wwX9xtg1aLUlIBuKuQOZ/lc/zmAY+M0AUgGatK30NGxo6H/hnuGeSpmV2fp8Clped2TqHFloF7rrISCpeuof+0wP5QZ1/rAcLZYtDLXaNh8qkLjXZ94Q7NhL6XwEOioy95Lgfw6BLDVOtREH7Sw1ez8V1Xvc4DCBYZdx97u9q8HkDRPghnBPuHYybfas5QS0iCz3KSBqQ0VWTGWvtsMEaFYWyWE15RvObchwQQ2C/hVXaCTDCjJlM+Isiamn0ef7W4POcVef1FvXz60RaMcMzmZhuA2h/NOcAQCDKPQvWHEW4aTOnINYig8hkWnDZBa8xbMUDWFvm0u7tMPHqgZJvP2ovKNDAlzT4WYN2vyGGwzqvu7yppGRQVBn0J4XARYcVvg6yiD4g5oijnDtgpWaU2gkDjnBfr8nkkS+jO4AQsImjBr2+ghmnLK06ZWSXZ6Z17hpwEN8OBo40gQsM0Mqws/31Rq/7Hw0z3F+J5iroFyh5qrmNwQ8OFAXQE+eEk8JN2IBwX2QAGURGFYCvPvCJBu8v+NkXEGFQQYejyy7ANMLLVbcMOgMJsqpYwUiEozTRp7WmPw8Obvt1f1ECVn6DYzz/wwxJ893vlYACTOFc7DPhpHDTTjvCfZEBZBAZt5yriFORjRzqIINodqx3Xch5xBaDsBo5gM4QZQ1cPqhj28P1MzxT+sORQPIeDgV/TxFa0c9hEFYL5zr/bvmjEM22Y6uJFp1tRIaRcQUQApbbZK8IwGmx+fHE94AIz0brNeYKJPPMRaTxQqNv0iWvzRtXkHEnn8qJs5pmTeg1a1FxfeBjg3EvSyqQ/gstXIv6u1iIeuKdZkcRU5T7yGUFEDF+qDWAVU65798jTF4xw93FgajD5GeyfhlMARgYpaH/+PHOgpY6r+d8KamdzlsD6Wulb/KYBp/nl2FWi0NB49KDxj4EC+8nxpL+ehSgKNdinwkXhZM2mwoL9zPt85HxHUDQNXKTJL+08x3NKHRq1SU9litU1KKZ30duQsZhHBH+NXJHwVqJRnyrqqowlYpA2l5ROf6oRm9xtQPhtxm4SvJ8KMLV82YWFx8sw1FYGT+Qysvoh9DM7wvXYsdBuCictNOOcF64jwwj4wpgaW2tVgY9b+c7kbqA+oLYZ1LEk4iezrFjQE/GwvFK0T/+3bFtVYPXfde6mZMOS9bVYWcNv8ZSz7ENPs8fHNoRIOKHGVTUef2lCUOMMC+U/Im9tfPB0es3gfB4P9wFaOFY94KxwkW7P0Q4L9xHhpENu2ZqrPTM14xHbH5vB4XNcRWrNm6P8TY7lUCyvcy4YssSyNl0OzHWMqExqPiPHx7leX9+TY24nXbBwbaiDWXuI7TCOEPhqwDKGTiJYVXF7Zk/zGFmvsDXsEHsMj1ijXfK0R0U8gPU51iQTIOszSfPrfAHXu4cr4ayCSPZYchKbicPoIS2fr68rnVRpq9Gs0EBoKnqlFFm0PkWo+/plGUyAPX5cv/6RzsnY5HXWzSWdot7cZew4TwiHicGENTMb0dz0H0IRkCy14i2dCrXr0rq1nzQcwFPz8VMdL8JdvbZ0YX5jYICZ6lUQ+5tCpt8nitCwG/6S0kwAt58h4cWz6+vt3YA1m7IN+kiQD9iZ9ERN2LDFTpBsj4jw8iKlbKk9rXtBJKAnj7DSrtEen7ss9az6jsI9HCmtWq2xh5ooBBk+atPBXA2E64mwlVMuCqoQqN6+R6HGausvDV2rrmITgwHw3ceZJHhYWbHnwnYjP4BFm4Jx7o8JT3fVgqwiINXnXAeWYCsUACWOy/jKbbvFnxOfUXx/tjyhQuhTW3+VQEDqox2qhBblNMw+Vu9fa69cNRbYNharaRNE/ylhpmTT+7tM6c0btrl0Ho+OPvnS4nxX5t/FY51PrO4xzjHlmKMcj3T1v+sUgACzcaTZF2N2vgOUOQy6Iuxq4y3YYO4F2f8frU/IUrK43q7NRi9davWxHGkXqNBbJoPSwxDb58oadjQSMDKbN+1MbBcuBXziIR7wkE77QjHhevIEmSNAvAed8pmAvbHVvcFonlDrD8vWYhinokl+r5sJ1Q2IboLqLKyLfUATyAQIqLWeKz2zDxVO9sv7025yEqoma5ijkfBpA0snIr9AcI54Z5d+4VwXLiOLEHWKACqqdGK+HG7gstA6eDgtvLYR+3OUf8yAFtZh3MdmjBsaPtWydTbs5CaeITYvgefJEvVhJ+u9k08rrfP+Bpa1juBK8HZeYVrAG8Lp2K5KZwT7tlsioXjwnVkCVRWBViFjRplP803MdGlsQ/ETdNU/Ov8LsAWlElKkqv2uKKpQl7JRHsRBxgYHGb1k4MEL7FyuJ4BeEkWzhkLl2Jdf62HEc7ZWv2F28LxbPqN2aQAUNG4/n1mvGDfGMgXyV117PMQGX8n2Eu3nOvQpEt7G/jy2sC/ifnDBByUvjU4tP3zvX1m2opXtpnEtxKQkorP8YLAW4RLsc8srjFfFIfx7wXhOLIIWaUABKz0/9q1kDIwCA51Vew5c+aK9TtA9Ntc9gy0CwI+v37mpIM5tCRSik2B+fsLFizokXMy55V1G5ZD47YsWiG1cMjiUhQWxyJcsxX6G6lkpaXUe1YhaxSAWIqtO2folygOojH4K69UTRne+XdLiRSZf5R6jUl/2QEKAo3ZbYaO7unfpAIuM69PxH1XM0rnLa75Zq8GQQKHlXG/yp4cj9uFQ7ELknBMuGa3IeF0lNt8sFuRnFMAkTBS9yWmq+NB+f8z6l7dw+C/xNHUmGAw1CUSrfzFjR8bhLuzaEXJdjgdrCb3JKAS8mo4jceUzavaLiAoIrq+obx8aG8fqfSv28qEO7IgToCFO8KhzgfCLeGYcM12Y+C/RLgNEq4L57Mh12NGFYBU1G3yui83mX4P8KebZhSfISOiHHSfAbK7CigGXXmW171/C2tlWO0o/J0B9KXySs5DW+WaqaqngZCxHPSx9hO4SyZcu2DCcaT23tVbyLD0Y3QU3hnPLjCZMIC3hDuxq79wSzhmV26Ey8Jp4bZwXLgunBfuZ7qqdMYUgNQFOG5z8fUm0d0MOFnGifGLOu8xhWXLW9+ThJhxNPsph6LvxGrWkubmXZr4Z5HYgTwODiIilK6sHN9jTEZxxB+gN9/+PsEynBG+NK/i4CHDxHRVBis/a+GMcKfzmXBKuCUcs9uecFk4LdwWjgvXhfPCfZEBkQVkCBnpWLR/w3PFN4J4Qew7mMyTDTXiq3LeDAN3RZKm2AKx5h80Vrn3T5Jo8ME78JAiak7qjxiAiFq1pxqm6nKjEgMpSrmKZaOQABhwEfFfX64a22sMvYkhTxLz0kwcBRRRs3AmdvUXTgm34gigCwmXhdPCbeF4bFciAyILmSogm/ZORZPO8038KRP/tIf+CVovvNA3eVSlv9VvEGxn+9VEo40g/Sh2FyArV9jkH9MAThyaLEhgiwE1vdfzKaMpGeNIhEmDOgb/V2/9VNbXt2mmy8HpNQgSYApXhDNd8lAG6UfCLbvtCYeFy8Jp4XYPCkSJLFgykQGbQFoVwCK327XK57mHoG6MVsY5AEw0Okzm9TctkLtj9Su7QyKrWBj47pqZ7omxzXobWmsJ9JcsMC5lPbTBvW7Pwzz0XyB7qdx7grUNJrq3vsLTazUdb0PrRoPw93TNGUci/v4iXIk9fgiXhFO2w5YtI5T6lXBZOC3c7uVjSmRCZENkBANRAbS43a4TR6j7JZvtIfolk/Htc5a4J+91HL6EGFIH0C4BCrWmO2O3VTIXpsb1KsPGpf4A0jRNtqw9/VtRQVsBg5Ply14E4l+8XOUe0nsosvqDYsTlgWgXCvhQOBK79RcOCZeEUzabY+GucFi4LJw+xPFBwrUvFxkRWcFAUgDyg9pGqAfCzBf35QzFQAEYN8+ZM0cz6HbLOG0TYca8sysnnh+7rfI1tPybYZ3j8gbBXmCtcgpTz/RN7DFTz9TatTsV6LVkrcpEdPagDszsnRefbDIoLccALdwQjnQ+EO4Ih4RLtltjsZfQ7cJh4bLF6UODREZEVtKlBFKuACRLrfwgk/nLNgwoxKBzmpYsmucIFjxPFFf+dENB/bKhfFyXO+d3jwk8roCH80eBg4BxpJON43ucGIAdSqriiD0wKVAE+uWyqVNH9f46qQVHcvQ/LNyIfS7cEQ5FbgXtQTgr3BUOC5ftcF9kRWRGZAf9WQG0VLmHjNxZ8LhN4e+EAVa/2D1km0FM1yqbqcMFmjGOlEu07/6+59fAdBjOqwzgHbvt5QpEtIm0t7c5C4YdzymOLzCoJ5gEt6sw9PWeLOEOGjpB20gVFw8M4B3hhHCj85k1BMp1s3DIbnvCVeGscFc4HIcCsZSAyI7IEPqjAmg6r2TQnhAeZeDseHMPmsDEwvah3y47duIKAj0R12JA9J2mGZ6qWCVgBZ4o+nY+c1DPkEEmqF699Zyu9j0guJKaj4Bw9VmzJkyN3olbWYwbTp8wUoNktzYkpZl+FH1bONHFO3WGp0q4E0eTYkh8Qjgr3BUOx/lqkoH5bJEhkaU42zh0J6lqWO54BweHNGnAk0g7BP630whO6ggVjFLKKiNmmwxE2Mjhjgpv46Yujh2NPvcNAN2UzyLcw5gxlr9zbOupsatil7Hzeh5g4GuWxSBZYOwG+FUGrZNGmfg0gHo8iiQDZNmC+KZyf+CWWMNfffm4YeQoaGDGhDja3KM1ygucHdtCpms9g2w7DsVCAa17XXtKT619RxK59p8dgLywBl9BbH/rHgsGjQmaBTd65130KgN/iqcNzRjvcBb+KnYXIBP+zk7coYCXEnm/gQoGVx71/vhet79ECCa9U8JQEJWC8HVN+HoqhV+ggJeEA7HCb3n8OQt/JZyJp03hqHBVOCvcTeT9RHZEhlIl/FYfSCHEDNro8zzOhAsS6YuAdodWM3e1qzcGDQqt4/hyyWti+kpFfctDsUcJf0XxpwzFfg2cEO/7DUQQOBQ0jE/NWrH+gOq10d3TNQz6eabjSeKFAt4yNflirf7WscNb/EUm/r94fheBN+/b55w8rFCfFFZ6Bdu/Oux+jfhEub/1QomSRIqQ0smTF1cKPyRCQhpMAwUhpX+GESP2EOjHcV7jKYB/6+/meGJdDZLjs2DOaJnmbIOWhVDry3r9AOtXMx7KFi+YP5E593UVfkS4wb+NUy60xc0RI/YIV4WzibyiyExUdlJ6CZJy7V1a1/qmAbo9kWCcaNLKM4eEtpxbdoxb0oYtjmdUmHCYofCgnPFin5fXrV3rMNQ3KZ9OvOu4M/daYIUMo1/Kv8yxzLXMOWIgnBBuCEfstilcFE4KN4WjwtVEip2IrIjMiOwgxUi5ApDz1ScdBXdrTqwAhOU6ysZtS7dscbocxvcMxLdia2C6YRT8ITYMU96xZGXLPzVwTeTyIY9IqjW6oL5q0jHdR6PV7XaySZfaLYiRBTBljmWuY8/9i6phCCeEG/E0KlwUTgo3haNWZGsCEFkRmUlH7YC0nN/OaG7eZSi6IVEPPA2eMDS49copy9e9rYFr49xVkAl8Yex77v+Otf7LYHv9rfcYoDvyCUQiYMIo6tC/XVE5fmhngVG5q98zXKz/LLkb+pMCYJlbmeNuRj8lXBBOxGOnskKHgWuFk8JN4WiC76lFVkRmkAakbQIlyOH4EbREM2Yn0g4RtiDEUwxdtD3sbHsSRGfGOXFhh8JnS1a2PhUr8Iuqq40T3w/cZTK+m78etMAE/sAA/T+wCmnSJ2jmuSCyvVXOFKwtNeEPbx7tvnJ+TU3sDo+aZ3jOC2v8g4HeMhYfyuH3eUeo6HxTtY2Ek9Yy288WFAtFWPb2Dp47PxBI/i1LD0inBpcbAcmjvjxRAwmAP1b4W7+7Yob72CJWDWHm3uLXDwHeq0Bnlvtbu9QllPTVQ0PbfmMyei1okWvgzpoAVs6Q/jMmVoYhwu93O0dd1T21d6PPU6nBzwM0OJ62HUQftZGumLkysFnKpQOIx3FoP6KOabPK/a1N6dqFpvMKh8usH8YPJvrjDMJX/d5J02Tggxo/iN/XgAaD8GSTr7jLtk2IIoQR4uSPA9GRIpJ8fqo/CT8OIvzWnBOejFf4hXPCPeGgcFE4mei7imxEZCR9Iesq3dpYOfRPVYKZek1GoUH6dill5atvqVFKcgrGB804nMFP13nd42JXeyFMydHuKx15JdBfwTJ3Moexwi9zHJlrflrmPt7GhXPCPeGgcFE4mcjLikyIbKS7aGjanThKl2/80CB1a4JaTvykTx8c3iYORtjj3H0tmFfFG+FnAie6iJ7ze90nxR6LqKbGlHOjAbpNbAYJvG8eaYTMlcyZzJ3MYew/yRzLXMucIw5YHGNeZXFOSoSFt10gXEzwOM0iEyIbSDMysp2r8x5T5KBhfg2akkg7Cnhtr4tLTq0N7PHPnniyCqk6BnoNKz3UxDqkniBhblld6xvd/o3qfZ4rCJAbgpSHaOaREDoYuKa7tV+wqtJzEhhLwsDx8R5lCNimnbrSt2zD65LIZHCQmjVwSiIvrMBrw7zLV1n/nt2yeAkjI26clfXvtZNWP0n0rGMCJw8N0RUyL95lGzYZwJftlhjvlkrseCGIRZSu/2ZdEToUfSHvMZjFYP5E5iiFwh8SjgnX5K/CPeFgom8tsiAygQwgU37cXHrcxOcMJUaY+GGVAmd88YmSkiKZ8Cf9rUuY1TXxJq0UYpgSE8B4fmmFR8I4uwQPWQ4kCqeJH3ki751H8iFzInPT3clHps6aS8bzMrcJCL8p3BKOSfvCOeFeoltokQGRhQymQM8c/BWeiUqhqS911iIJGy33tH0EagHRM2B+dtBOXlscc2cqd/erfB7x6jpUDraDgkAfm8wXVNa3rjzwva0Aogc1cEamxzAPK5vPC6ami7v79gvqvJ4ZBtETDD48oZKVwJ/K/K3fjXU+k7Rd+4bTFBCdDeZzGFzMoEGRfAqH5oUUQtUapb6G1g2ZmseMkjdytnbfokDX9uJ0IwPPTNgMjRc1YUnQYdbOXr7xo+iL96g1W6rdrn3v4wnN8TkJxWAPSH25om79E923lOLYNHa4uA7TDZLnPoE+8ogTBAlJ5lskpLe744xwq6Fy0gVg/TckllCEFfHzg47GBcU1vTrniFEay2ZNOMIVNqoUYy4UTifGsVF3aerZg5Bv9/oDN6Tb8t/tPTKLJWUTRg53Gms1Q4pSankhts7x3OpgejpsmM+8+4laXR3N097XwRL3VRc7lphAeUJ318xhg3BD6ZmBX9DCrq7HVuaYiuIztMH3a8Zx/eyOvN/CyuFHeFeZdElpQ8sL3TkhWYWannf/yGTcAiJHIv0YQGOQwnNn1r26u4/fsThQ43Y7jztMT3eYxjlh4nMB8lCkApZAKcL7O0PmlLmrNma0eG3GCWtpaq/nYiJIbfilYeYljjC9VHbuRe9j4UJORDuuqyj+VIfCYhM8NcHX1Erh4aEcvmzigUSgZTOnjio0Q3dp4PP9NT6+H0Er4JF2w3nl7Egary782FA5fuhuctyrteXbn9BcGKBXCjTmTe7haNFXWAphwQJa9fSjR4cdfJqDaC4Dc5jxk4r61gczufpnhQIQcHW18eSbbxac39zcdrCtfTxYPXviyeGQekEDxyXYlCijNVrjy76GVimQ2fVIUF1tnPBe64UaVq3DI7NlbAcQZPw/VOAfvHWM5/FuPv0Cknh+pfA3BqYlOv4KeNfh1GdMX7bhdSQP1lHhyZKSovNPPLGjm49CRjDgSSoaeHWFZ0JYWTkEjkvGVRMpfP+ZusDDC3uIRowYCPFzgL+q4wswyaMbIhmh6a9StKMnQ59EKJ5T6f4Ca/w2GUFKJMKvMW96Q+vGTK/QqcaAVwCd8M/2TFQhfi7OdGJdwIB2gv43bLb/0Nu4SY4EXc+gnVllme80mUpzaZyTDDaIm0D049KVUtrtAGGk+vJxQx1G4a9C4G/0Vm7Oblov7aSzfMsyZ5lPJ3KKmJFrx+QogUgoKF5ToEvL6luW9UTORW63c+wIfJGYfqrFySjHxjsByO3P20x88zs78ND8iAH4ACW7yls8W4PvA1meeJQU4dd0Viav5dKNnCPk6oqJJ4eVWmQCU5JhtZcUU8x8H3TwxorGTbsPsEgD9EJJybARBe3f05qvkAqz+duCg1j3mbcqRffs6Cj8nSTF6Gk8rWpPyvUzIrq0jyW3+mLtX+vQev70hqSe+bMeOacABP7Tij9ltPG/NFCepDFgBXpDk/nfz9ZteLIn24AQ1+91H+ZUdJlm/r4Gjckrgv1jwwq8RRH9NqT5Xl994JOezt5y1pdafYqNX2rwScmbOzSaRfRp30vxW/v7K3JSAez3E4BjkWaclcRxMBXwnMNw/mjailc29GZAWjNlyojwEPPLYL7aZBzfV8+xgYROz06DJACLfu3YY/xt2tq1O3r5LK2ZOXVi2Az9QsOar4Ry7sU2rQjPBRGe39d7/oGGnCJdd0RdOe9h8LcYlCxSWXUMCLjX1HSHt6FlS2+KQDIPFYa2fVppvpSIZkUzJQ30OZEVV45Ny7Wi+9qdo/7VPVnH/g+Kka+ieIyh+BoGLkswz34XENgk0AODdvIVsa7kuYaBTrZDwipyUeG+CopuZ8CZ7PMsKbq7Q6l7Z65Yv6MXRWDdDS8vm3ByocPxFQZ/gYETBtKu4D9xHHiLQA+3h8P/N2vVxtd78/mQOVkxc9KIAq0vY80/SLbdxIoY1XxteUPgNwP9mu9QGBAESxTR8/lZBtGDDIxM8riIfeDfDH3XPpfzvjm1a3f2Rjp5j9fnzXN9vPPdGQSaD+BsBo6NClC/8jCUq9JoPQdJB/8sgxcdPvy4lScvXhw82O9fWjVl+KBg6FKCkgy7n0r2XBCw3WS+2FcfeC7XhV+QVwCxDkNe90lhhYeYqSwFYy1k+zcIf3UY5t2lyzd+1JvHY6c/eXNJSVHQ2VZc6FBna41zTObpkr02qhCyau4638nKxkO0Wik80x7Wz7pCRS0lzc1WoouDCBw1zZpwRNg0fgC2cuslW/AjnRCvcmh8cXp94I288EeQVSTKFJpKSgaVRkjKr80bV7BzV+EdWvPlTKnx5JMwUAJqQsCfgq5RjXNqa81DEJJerqoyhoV2jTHN4CxNPJuIphPgZmBwNJIy3XMpAi+r/F4GAsy8WjEtMwzX8l3OYVtOra0VN9def1Nkta8yXMFt5U7g2wxU9yUsPN4EnpLDb/iw9mtOWbxJMu9SU0lJUWlz8z7kOHJeAdR5vUUG7V4D0B+O5CH3H1df3y6sbZxRXK2Y7wkzUnJdF10x5bqw2SB+JMiOv1f6122NTsoht6b7/QucbeNNYJrDUONNzZMcRB6TeRgDkiTFsi90v5Ps7cd077RTq0Tftc0g2hVmbjUUrQ+b+lUDWLMjVPRqT/f1vb2z/LfON3m0i8JfMpkkeKpEFFiqxthB2KKJrihf2VIjHbzr9RZ+SHsuAfi7Jg+dVllfn/Y0XNmEnFcA9eWeU2HgxUgOELQoUj8uO2rC86ip0StK3Mc6nfgTRSK4VIrDWyUQ6mlmVYNw6KXyVRs/jk5QnwWrEyJghmkeSQaOAPMRDBwFolFEKGDGYGYeG9UNsa1Ixv93iLCXGR1g3kbAByD6iE18ZBrGh50KqhN23q2xbMLhcDhPI9Ky0p+rOaKgkCKIcmXmJaEQvj2zObAZ1dVq1Qcbz9Ss7wSj2Ho1E6d7G1tfRg4j5xVAU6XntjDj2v0DwhwG0RKT1TW++vUtzSUljrCr7esEuoOBEal3iJEaHNhF4KUMeko58Xz58tbNIkh2z62dwncTQDdFLfGHaqDzM53fiT6z3a98p3GW51gdkkKZfB6D5hBhmCTISLX9goAdDL7GESz6c0lzc9jvnVRskL4DzHM5Jj+AgyAFOK9DDiOnFYDlT+7zrNbA1ANcQyMlze93KOct01a8sq1h1uTjKWz+niOOKOmwyFsCqwjtmrEewIsm8zJXKNxU0vza9mSHTScIazvRXHLKyKDTUWoQSfm30xVhkmYUcvq4JjaJ59hhXF6xfN3ba2ZOHRXWIalJeYnk7e+ueBTwSpm/VWwp2TKOaUdOK4CGmRNOgWmsP0hKLybGVoPo54U79R8DnoB5/Hse2cLKbuDYNI+flRyFLQMiv8ZMzTDQ4AC/Gg4F11WMnbZXji3ywVQRev9Ro7paNbyzZrDD6ZocBo2HiQoiLmHQKQRITrwe02CleGw2E3DN28e01rhb3Ub7cPUdk/l6Jozu7V1IUooZ5qSKFRtfQ44iZxWAFVTic18C0B/7MA6yNV/vJFw5de5FtUuX/nPY4FD4BmZIMMrgTIxjzFWg/DcsNRIM0EaT8VaBg15vC/NW7cAbFKSPiUNthh7cNnLIEL1q61bdmV6tOySNVdno0Wr7nj3KVHuLmJxF7OLDVRgnFTlodEeYTzYIJ5jgCZILP1pQkzJ4LSn97iXCfXudjlvmzPnMrleWPFoVYkh2pkl9mVeAv1PhD9yfq7uAnFYAjT73owz6rL3EFHhaG/yTitMDG+sXe8YbBn4OxvlZlPxDd3oRij1BW+/MJjPtALGpGHsY2NLTFwkYowlDwGQQ8QiADAU45Nze6c2XLSnPrLkgPGmauN47r/XVhhfdE5RJUnHqXDtzQeB/lPsDF+UVQA7e/XNB+5smW04ndmBdiRFwHw8yf/7Mixs/OddbPIuJxZW4M7owqxVrbyXUss25qAdwdPwbienap+tblp9z+oTDaJ9xPcPajRXZHXuD8G/qKDwxV30CskKbZwJBZ0cZI65a7rIaDtLAldin1p7tc182YkR7vREsnG0Qna+AA+oIZBuiHnsH/EGWQ8ZWxljGWsZcxl7mQOYi6kRk+zcwMEa4gBxFTioAiSt3Klxo7ZXjBzHoaIB+u3NXgV8VmnNK61oW73WNOtUgOlcRXgI4FG/B0jw6dyockrGUMZWxlTGWsZYxl7GPzEH8yktLBJjChcKJXBzzrNf6qcpC3LA58ArIcghJUqMwlcLjIaYbK+taXpWRrfN5fA7gSgU62wRnxFjYT8EGaK8GPxsG7qr0t/pFFdRVFo93Ev9Ma1wISlpOAIDRUnGse2o2ZOlNN3KSkCt9xRMM5pakkug/lvkORbirQ6k7JQRYnq+a5TlGh+lSgL8G4Mioo0xOjv0hxk52Sx8C9Bfl4PvKlre+J/8WDQ3+sWZrq1+Q9LFjmCZR8Qx/i6R7zylQjjr/XKaB36bqCBT16HtfE9/s7Cj6S2lzc6gzl51yuOawpm+SwhniDpuLc9ANlhs0a7xAiv9Hh4NLO3MrNpWUOEMFbV9TkaSqR6dQaWoFfL/M33pvrt0G5Bz5IpWI3E8w0blpcEnVBF7NMK4t969/KerIY/W5rNRzzOAC9TlT688xqJzBzlzZFURWewoRuNFQ6rG9Hfqx2U2R1b5zjBp9k04jmLczSEKgVcrfh/npivrABXkFMMDRVFIy3HS1v8VAwgUkbMB0EBZt2dLx9XM2WeGoFoToNdXV6tgt6451hIzzmdV5DK7MlHNRWpx2QHVE+qmw03xy85jJm6tranTsqvvMuHEFY8YU/DnMkIQoST2iHQwEfGIEC08obW7eiRzCQCPZIbFgAdS8JcVfNJhvTluufkJIMX+v7BAeZ5EY+VNGDg45TzeYTg8znwnioxgkSUD6wz1991LuYTB94CB63iR+ca8z9OKcWiuO4aBjsMrnvkQT/Q6cvBRth6pBYBL9dPHclocWdisAO9DRLwiVbERi6U8cNsRVdLVBuEJzSqP8NBFfWVEX+J2d4B3rqCAhrO9vHKfZnA5AAmxKFWgcEQ0T175sUAr/ye5LzMy7NHiTbLTklKPIWF129IRNEqNgc2tNDZXu7zHTXam8qlaEHSbjnj3Btl+f0fxmn3IaDDTkpALostrMnHQCaX2byfhcCracWjEtfLq+5ZaeagX0FbHx/lJbwEF0EjFNJ8IUEzyJwWMZOIJghbruJ7EcpiXLAcU319bXpf5RZwNREIPDBHxEoHcM0HpmrGXi1WHmNySn//4PJiBQci9/rrf4Bk28IAVKwDQIj7FS15WtWP9WLgp+J3JaAXQ5FrxQfLqh+TYNyGqbjIpBppS2evfowM/n1yDp98v7Y/0XgOYsHesatG/wCDhxBJl0IpMeYyh1vMkYIZWKCVwIoqMkMADA4QAX9fLWkh3nYwkiAPMHDJL05h8aslJq/Tax2sIGv4kQPto3aO+OpXPeCd60ML6cAX3BomoYx73vvl5Kq3FylLNs91ebiq5bfEbLi7m23e8JeQUQg2fmjSsYs9v1La1pgQZGJTA+WhPd7Jvb8jPKEMm6ZwlCdWQVXbqlyjl0z54eV9TdQ4boOWNqI5GCNV3fO1OrJC+A8i8pvlEx/zSBnYAI/jaleOGWocEHzonkBcwjrwB6hpT4JkP/RIEuid7V24Eczv9QXt/6/XQIjVWJ2Of+XIgTr5FnB05CR6k/8Fi6fmOj1/NbJnzXLmfFx0CD72dT3dpTafFcR7aEsGYVhCgMXFk/s/h/jDD/WhNO6yPx2CD621s79dUVaVwxTeByRTT7gFU/RRChN8HLADyWrv4W7eKrTxihxPj55b7OhWK8ZBp0tXdF6/pcPucfDDkZANEXCGF8K1rWqVDh2UrjIoDeOIQV3xL+oqP1t+anudQUg5Z1uhen44/0JX2m8zfKmMrYyhgfah5krmTOZO5kDvPC3zvyCuAQEDfe8obWx8MUmqYINxBY8uBzjyv/Dv2t4pr015nT0Msk+Ue6+oskGtFpVQACGVsZ456UQOQ6kvfKHMlcyZzJ3KX7Hfsb8kZAG4jWrDvBFdYLGfx5RDPMEvDs9q0dF8Z6+aUTdV734QbRG6nOWhybdddkPqmyPmClLk83xFtw5OiCxxk423rAci1JjwQdasHMHL/Ws4u8AogDUV/1WQb4zjDpHUOcuKi4NrAHGULUe26lBvnS0Z8C+8v8gRmZFLSWKveQPSE86mA1wgT9uNy/fnle8O0jfwSIA0K0Cv/6Zbtdu+ds6Sj6bCaFP+alXhyQffUCGXMZe5kDmYu88MeH/A5ggKDBN/F0hlqShjllgp5b4d+QcSWQR+LI7wAGCI7k4XWKsCvV/Ugf0leq+8kjPcgrgAECq6gpY1Wq+5E+pK9U95NHepBXAAMHbDD8qUxCapVMY/izqCRZHgkirwAGEEJsLh8IfeSRPuQVwABCe2HBKmLsTVX70rb0kar280g/8gpgAGHOnLW7lMLqVLUvbUsfqWo/j/QjrwAGEhaCnVC1qbADSJvStvSR7LbzyBzy0YADCOIM06j5RafCDxOsenQAFAEhzS/mHW4GFvIKYIBhb8HIlc7QtskcUklVAeTSFCoY+U4y28wjjzzyyCOPPPLII4888sgjjzzyyCOPPPLII4888sgjjzzyyCOPPPLII4888sgjjzzyyCOPPPLII4888sgDtvD/AXvCXhuljgbyAAAAAElFTkSuQmCC";function ff(e,t,n=48){if(!t||!e)return"";let a=String(e),o=a.toLowerCase(),i=String(t).toLowerCase();if(!i)return"";let l=o.indexOf(i);if(l<0)return"";let s=Math.max(0,l-n),c=Math.min(a.length,l+i.length+n),p=a.slice(s,c).replace(/\s+/g," ").trim();return(s>0?"\u2026":"")+p+(c<a.length?"\u2026":"")}function td(e,t){let n=String(t||"").trim().toLowerCase();if(!n)return!0;let a=e||{},o=Array.isArray(a.tags)?a.tags.map(l=>String(l)):[],i=[a.title,a.summary,a.reason,a.path,a.submittedBy,...o].map(l=>String(l||"")).join(`
14
- `).toLowerCase();return n.split(/\s+/).filter(Boolean).every(l=>i.includes(l))}function gf({hasVersion:e=!1,hostVersion:t="",onDisk:n="",residentServed:a="",residentPresent:o=!1,residentManaged:i=null,residentManagedKnown:l=null,residentManagedBy:s="",replaceBlocked:c=null}={}){let p=String(n||""),f=String(t||""),b=String(a||""),h=!!(e&&o&&!b),S=!!(p&&b&&b!==p),L=i===!1&&l===!1,M=s==="host",_=i===!1&&!L&&!M,x=!!(f&&p&&f!==p),m=!!(c&&c.fresh),y=S||h||_||L,R=null;x?R="hostProcessStale":h?R="residentDown":m?R="residentReplaceBlocked":L?R="residentLockUnknown":_&&(R="residentUnmanaged");let F;return h?F="restartStart":S?F="restartFixes":_||L?F="restartRepair":x?F="restartHostOnly":F="restartAnyway",{showButton:!!e,emphasis:y,warn:R,hint:F,hostStale:x,residentDown:h,residentStale:S,residentUnmanaged:_,residentLockUnknown:L,residentHostManaged:M,needsRestart:y}}var Wy=/^\d{4}-\d{2}-\d{2}$/,gl=e=>String(e).padStart(2,"0");function Oo(e){if(e==null||e==="")return null;if(e instanceof Date)return Number.isNaN(e.getTime())?null:e;let t=String(e).trim();if(!t)return null;if(Wy.test(t)){let[a,o,i]=t.split("-").map(Number),l=new Date(a,o-1,i);return Number.isNaN(l.getTime())?null:l}let n=new Date(t);return Number.isNaN(n.getTime())?null:n}var hf=e=>`${e.getFullYear()}-${gl(e.getMonth()+1)}-${gl(e.getDate())}`,yf=e=>`${gl(e.getHours())}:${gl(e.getMinutes())}`;function hl(e){let t=Oo(e);return t?hf(t):""}function nd(e){let t=Oo(e);return t?hf(t)+" "+yf(t):""}function vf(e){let t=Oo(e);return t?yf(t):""}function bf(e={}){let t=e.repo||"EternalNight996/memory-eternal",n=String(e.title||"[Bug] ").slice(0,120),a=Array.isArray(e.labels)?e.labels:["bug"],o=Number(e.maxLength)>500?Number(e.maxLength):7e3,i=c=>{let p=new URLSearchParams;return p.set("title",n),p.set("body",c),a.length&&p.set("labels",a.join(",")),"https://github.com/"+t+"/issues/new?"+p.toString()},l=String(e.body||""),s=i(l);if(s.length>o){let c=`
14
+ `).toLowerCase();return n.split(/\s+/).filter(Boolean).every(l=>i.includes(l))}function gf({hasVersion:e=!1,hostVersion:t="",onDisk:n="",residentServed:a="",residentPresent:o=!1,residentManaged:i=null,residentManagedKnown:l=null,residentManagedBy:s="",replaceBlocked:c=null}={}){let p=String(n||""),f=String(t||""),g=String(a||""),y=!!(e&&o&&!g),S=!!(p&&g&&g!==p),R=i===!1&&l===!1,M=s==="host",O=i===!1&&!R&&!M,h=!!(f&&p&&f!==p),m=!!(c&&c.fresh),b=S||y||O||R,P=null;h?P="hostProcessStale":y?P="residentDown":m?P="residentReplaceBlocked":R?P="residentLockUnknown":O&&(P="residentUnmanaged");let j;return y?j="restartStart":S?j="restartFixes":O||R?j="restartRepair":h?j="restartHostOnly":j="restartAnyway",{showButton:!!e,emphasis:b,warn:P,hint:j,hostStale:h,residentDown:y,residentStale:S,residentUnmanaged:O,residentLockUnknown:R,residentHostManaged:M,needsRestart:b}}var Wy=/^\d{4}-\d{2}-\d{2}$/,gl=e=>String(e).padStart(2,"0");function Oo(e){if(e==null||e==="")return null;if(e instanceof Date)return Number.isNaN(e.getTime())?null:e;let t=String(e).trim();if(!t)return null;if(Wy.test(t)){let[a,o,i]=t.split("-").map(Number),l=new Date(a,o-1,i);return Number.isNaN(l.getTime())?null:l}let n=new Date(t);return Number.isNaN(n.getTime())?null:n}var hf=e=>`${e.getFullYear()}-${gl(e.getMonth()+1)}-${gl(e.getDate())}`,yf=e=>`${gl(e.getHours())}:${gl(e.getMinutes())}`;function hl(e){let t=Oo(e);return t?hf(t):""}function nd(e){let t=Oo(e);return t?hf(t)+" "+yf(t):""}function vf(e){let t=Oo(e);return t?yf(t):""}function bf(e={}){let t=e.repo||"EternalNight996/memory-eternal",n=String(e.title||"[Bug] ").slice(0,120),a=Array.isArray(e.labels)?e.labels:["bug"],o=Number(e.maxLength)>500?Number(e.maxLength):7e3,i=c=>{let p=new URLSearchParams;return p.set("title",n),p.set("body",c),a.length&&p.set("labels",a.join(",")),"https://github.com/"+t+"/issues/new?"+p.toString()},l=String(e.body||""),s=i(l);if(s.length>o){let c=`
15
15
 
16
- > \u5185\u5BB9\u8FC7\u957F\u5DF2\u622A\u65AD\uFF1A\u5B8C\u6574\u8BCA\u65AD\u8BF7\u5728\u63D2\u4EF6\u91CC\u70B9\u300C\u590D\u5236\u8BCA\u65AD\u4FE1\u606F\u300D\uFF0C\u518D\u8865\u5230 issue \u8BC4\u8BBA\u91CC\u3002`,p=f=>i(l.slice(0,f)+c);if(p(0).length>o)l=c;else{let f=0,b=l.length;for(;f<b;){let h=Math.ceil((f+b)/2);p(h).length<=o?f=h:b=h-1}l=l.slice(0,f)+c}s=i(l)}return s}function xf(e={}){return["## \u73B0\u8C61",String(e.description||"").trim()||"\uFF08\u8BF7\u63CF\u8FF0\u4F60\u9047\u5230\u7684\u95EE\u9898\uFF09","","## \u590D\u73B0\u6B65\u9AA4","1. ","2. ","","## \u671F\u671B\u884C\u4E3A","","## \u5B9E\u9645\u884C\u4E3A","","## \u73AF\u5883","- \u63D2\u4EF6\u7248\u672C: "+(e.version||"\uFF08\u89C1\u8BCA\u65AD\u4FE1\u606F\uFF09"),"",e.diagnostics||"","","---","> \u7531 memory-eternal \u63D2\u4EF6\u5185\u300C\u53CD\u9988\u5F02\u5E38\u300D\u751F\u6210\uFF08\u8BCA\u65AD\u4FE1\u606F\u5DF2\u81EA\u52A8\u8131\u654F\uFF1Ahome \u76EE\u5F55\u4E0E\u5404\u7C7B key/token \u5DF2\u66FF\u6362\uFF09\u3002"].join(`
16
+ > \u5185\u5BB9\u8FC7\u957F\u5DF2\u622A\u65AD\uFF1A\u5B8C\u6574\u8BCA\u65AD\u8BF7\u5728\u63D2\u4EF6\u91CC\u70B9\u300C\u590D\u5236\u8BCA\u65AD\u4FE1\u606F\u300D\uFF0C\u518D\u8865\u5230 issue \u8BC4\u8BBA\u91CC\u3002`,p=f=>i(l.slice(0,f)+c);if(p(0).length>o)l=c;else{let f=0,g=l.length;for(;f<g;){let y=Math.ceil((f+g)/2);p(y).length<=o?f=y:g=y-1}l=l.slice(0,f)+c}s=i(l)}return s}function xf(e={}){return["## \u73B0\u8C61",String(e.description||"").trim()||"\uFF08\u8BF7\u63CF\u8FF0\u4F60\u9047\u5230\u7684\u95EE\u9898\uFF09","","## \u590D\u73B0\u6B65\u9AA4","1. ","2. ","","## \u671F\u671B\u884C\u4E3A","","## \u5B9E\u9645\u884C\u4E3A","","## \u73AF\u5883","- \u63D2\u4EF6\u7248\u672C: "+(e.version||"\uFF08\u89C1\u8BCA\u65AD\u4FE1\u606F\uFF09"),"",e.diagnostics||"","","---","> \u7531 memory-eternal \u63D2\u4EF6\u5185\u300C\u53CD\u9988\u5F02\u5E38\u300D\u751F\u6210\uFF08\u8BCA\u65AD\u4FE1\u606F\u5DF2\u81EA\u52A8\u8131\u654F\uFF1Ahome \u76EE\u5F55\u4E0E\u5404\u7C7B key/token \u5DF2\u66FF\u6362\uFF09\u3002"].join(`
17
17
  `)}var rd="https://github.com/EternalNight996/memory-eternal",Uy=["\u6211\u5728\u4F7F\u7528 memory-eternal\uFF08DeepSeek Harness \u7684\u8BB0\u5FC6\u63D2\u4EF6\uFF09\u65F6\u9047\u5230\u4E86\u95EE\u9898\uFF0C\u8BF7\u4F60\u5E2E\u6211\u628A\u8FD9\u4E2A\u95EE\u9898\u63D0\u4EA4\u5230 GitHub\u3002","","\u4ED3\u5E93\uFF1A"+rd,"","\u8BF7\u6309\u8FD9\u4E2A\u6D41\u7A0B\u505A\uFF1A","","1. \u5148\u8DD1 `gh issue list --repo EternalNight996/memory-eternal --state open --limit 50`\uFF0C\u770B\u662F\u5426\u5DF2\u6709\u76F8\u540C\u95EE\u9898\uFF1A"," - \u5DF2\u6709 \u2192 \u7528 `gh issue comment <\u7F16\u53F7> --body-file <\u6587\u4EF6>` \u8865\u5145\u73B0\u8C61\uFF0C\u4E0D\u8981\u91CD\u590D\u5F00\u65B0 issue\uFF1B"," - \u6CA1\u6709 \u2192 \u7EE7\u7EED\u7B2C 2 \u6B65\u3002",'2. \u628A\u6B63\u6587\u5199\u6210\u6587\u4EF6\uFF0C\u7136\u540E `gh issue create --repo EternalNight996/memory-eternal --title "[Bug] <\u4E00\u53E5\u8BDD\u6982\u62EC>" --body-file <\u6587\u4EF6>`\uFF1B\u6B63\u6587\u7528\u8FD9\u4E2A\u7ED3\u6784\uFF1A'," \u73B0\u8C61 / \u590D\u73B0\u6B65\u9AA4 / \u671F\u671B\u884C\u4E3A / \u5B9E\u9645\u884C\u4E3A / \u73AF\u5883\uFF08\u63D2\u4EF6\u7248\u672C / DSH \u7248\u672C / \u64CD\u4F5C\u7CFB\u7EDF / Node\uFF09/ \u8BCA\u65AD\u4FE1\u606F\u3002","3. \u5982\u679C `gh` \u6CA1\u767B\u5F55\u6216\u4E0D\u53EF\u7528\uFF0C\u4E0D\u8981\u5C1D\u8BD5\u63D0\u4EA4\uFF0C\u6539\u4E3A\u8F93\u51FA\u4E00\u6761\u300C\u6807\u9898\u4E0E\u6B63\u6587\u90FD\u5DF2\u9884\u586B\u300D\u7684 GitHub \u65B0\u5EFA issue \u94FE\u63A5\u7ED9\u6211\uFF0C\u6211\u81EA\u5DF1\u70B9\u63D0\u4EA4\u3002","4. \u63D0\u4EA4\u6210\u529F\u540E\uFF0C\u628A issue \u94FE\u63A5\u53D1\u7ED9\u6211\u3002","","\u6CE8\u610F\uFF1A\u6211\u7684\u95EE\u9898\u63CF\u8FF0\u8BF7\u539F\u6837\u7167\u5F55\uFF0C\u4E0D\u8981\u66FF\u6211\u7F8E\u5316\u6216\u7701\u7565\u7EC6\u8282\uFF1B\u8BCA\u65AD\u4FE1\u606F\u539F\u6837\u653E\u8FDB\u300C\u8BCA\u65AD\u4FE1\u606F\u300D\u4E00\u8282\u3002","","\u6211\u7684\u95EE\u9898\u63CF\u8FF0\uFF1A","<\u5728\u8FD9\u91CC\u5199\u4F60\u7684\u95EE\u9898>","","\u8BCA\u65AD\u4FE1\u606F\uFF1A","<\u628A\u300C\u53CD\u9988\u5F02\u5E38\u300D\u5F39\u7A97\u91CC\u590D\u5236\u7684\u8BCA\u65AD\u4FE1\u606F\u7C98\u5230\u8FD9\u91CC>"].join(`
18
18
  `),$y=["I hit a problem while using memory-eternal (a DeepSeek Harness memory plugin). Please file it on GitHub for me.","","Repo: "+rd,"","Workflow:","","1. Run `gh issue list --repo EternalNight996/memory-eternal --state open --limit 50` first: if a matching issue exists, add a comment with `gh issue comment <n> --body-file <file>` instead of opening a duplicate.",'2. Otherwise create it with `gh issue create --repo EternalNight996/memory-eternal --title "[Bug] <one-line summary>" --body-file <file>`, using sections: Symptoms / Steps to reproduce / Expected / Actual / Environment (plugin, DSH, OS, Node) / Diagnostics.',"3. If `gh` is not authenticated or unavailable, do NOT try to submit: output a GitHub new-issue link with the title and body pre-filled instead, and I will click submit myself.","4. Report the resulting issue URL back to me.","","Keep my description verbatim - do not rewrite or summarise it. Put the diagnostics under the Diagnostics section as-is.","","My description:","<write your problem here>","","Diagnostics:","<paste the diagnostics copied from the in-app Report-a-bug dialog>"].join(`
19
- `);function wf(e={}){let t=e.lang==="en"?"en":"zh",n=t==="en"?$y:Uy,a=e.repo||"EternalNight996/memory-eternal";return n=n.split(rd).join("https://github.com/"+a),e.description&&(n=n.replace(t==="en"?"<write your problem here>":"<\u5728\u8FD9\u91CC\u5199\u4F60\u7684\u95EE\u9898>",String(e.description).trim())),e.diagnostics&&(n=n.replace(t==="en"?"<paste the diagnostics copied from the in-app Report-a-bug dialog>":"<\u628A\u300C\u53CD\u9988\u5F02\u5E38\u300D\u5F39\u7A97\u91CC\u590D\u5236\u7684\u8BCA\u65AD\u4FE1\u606F\u7C98\u5230\u8FD9\u91CC>",String(e.diagnostics).trim())),n}function kf({panX:e=0,panY:t=0,zoom:n=1,w:a=0,h:o=0,margin:i=60}={}){let l=n||1;return{x0:(0-e)/l-i,y0:(0-t)/l-i,x1:(a-e)/l+i,y1:(o-t)/l+i}}function yl(e,t,n,a){return a?e+n>=a.x0&&e-n<=a.x1&&t+n>=a.y0&&t-n<=a.y1:!0}function Sf(e,t=0){let n=Number(e)||0,a=Number(t)||0;if(n<=60)return 1/0;let o=n<=600?64:48;return a>=3?Math.min(o,32):o}function Cf(e,t={}){let n=Number.isFinite(t.limit)?t.limit:1/0,a=new Set,o=p=>{p&&a.size<n&&a.add(p)};if(o(t.focusId),o(t.hoverId),t.searchHits)for(let p of t.searchHits){if(a.size>=n)break;a.add(p)}let i=t.degree||{},l=p=>Number(i[p])||0,s=new Set;for(let p of Array.isArray(e)?e:[])p&&p.id&&s.add(p.id);let c=Array.isArray(t.order)&&t.order.length?t.order:(Array.isArray(e)?e:[]).slice().sort((p,f)=>l(f.id)-l(p.id)).map(p=>p.id);for(let p of c){if(a.size>=n)break;p&&s.has(p)&&!a.has(p)&&a.add(p)}return a}function Nf(e){let t=Math.floor(Number(e)||0);return t<=0?0:t>1200?48:t>700?60:t>300?110:200}function vl(e){let t=Math.floor(Number(e)||0),n=t>1e3?3e3:t>100?2e3:t>50?1200:800,a=t>100?.002:.005,o=t>1e3?.012:t>100?.005:.01,i=t>1e3?6:t>200?12:24;return{repulsion:n,attraction:a,centerGravity:o,velCap:i,theta:.8}}var Vy=.05,id=30;function ad(e,t,n,a){return(n>=e?1:0)+(a>=t?2:0)}var od=class e{constructor(t){let n=Math.max(16,Math.floor(Number(t)||0)*6+16);this.capacity=Math.max(0,Math.floor(Number(t)||0)),this.cap=n,this.cx=new Float64Array(n),this.cy=new Float64Array(n),this.half=new Float64Array(n),this.mass=new Float64Array(n),this.mx=new Float64Array(n),this.my=new Float64Array(n),this.child=new Int32Array(n*4),this.point=new Int32Array(n),this.fx=new Float64Array(this.capacity),this.fy=new Float64Array(this.capacity),this.count=0,this.lastVisits=0}ensureCapacity(t){if(t<=this.capacity)return;let n=new e(t);this.capacity=n.capacity,this.cap=n.cap,this.cx=n.cx,this.cy=n.cy,this.half=n.half,this.mass=n.mass,this.mx=n.mx,this.my=n.my,this.child=n.child,this.point=n.point,this.fx=n.fx,this.fy=n.fy,this.count=0}newNode(t,n,a){if(this.count>=this.cap)return-1;let o=this.count++;this.cx[o]=t,this.cy[o]=n,this.half[o]=a,this.mass[o]=0,this.mx[o]=0,this.my[o]=0,this.point[o]=-1;let i=o*4;return this.child[i]=-1,this.child[i+1]=-1,this.child[i+2]=-1,this.child[i+3]=-1,o}insert(t,n,a){let o=t[a];if(!o)return;let i=Number(o.x)||0,l=Number(o.y)||0;this.mass[n]+=1,this.mx[n]+=i,this.my[n]+=l;let s=n*4;if(this.child[s]===-1&&this.child[s+1]===-1&&this.child[s+2]===-1&&this.child[s+3]===-1){if(this.point[n]===-1){this.point[n]=a;return}let c=this.half[n]/2;if(c<.001||this.count+4>this.cap){this.point[n]=-2;return}let p=this.cx[n],f=this.cy[n];for(let h=0;h<4;h+=1)this.child[s+h]=this.newNode(p+(h&1?c:-c),f+(h&2?c:-c),c);let b=this.point[n];if(this.point[n]=-2,b>=0){let h=t[b];this.insert(t,this.child[s+ad(p,f,Number(h.x)||0,Number(h.y)||0)],b)}this.insert(t,this.child[s+ad(p,f,i,l)],a);return}this.insert(t,this.child[s+ad(this.cx[n],this.cy[n],i,l)],a)}build(t){let n=t.length;if(this.count=0,this.lastVisits=0,n===0)return-1;let a=1/0,o=-1/0,i=1/0,l=-1/0;for(let b=0;b<n;b+=1){let h=Number(t[b].x)||0,S=Number(t[b].y)||0;h<a&&(a=h),h>o&&(o=h),S<i&&(i=S),S>l&&(l=S)}let s=(a+o)/2,c=(i+l)/2,p=Math.max(1,Math.max(o-a,l-i)/2)*1.001,f=this.newNode(s,c,p);if(f<0)return-1;for(let b=0;b<n;b+=1)this.insert(t,f,b);return f}accumulate(t,n,a,o,i,l){let s=this.mass[t];if(s<=0)return;let c=this.mx[t]/s,p=this.my[t]/s,f=a-c,b=o-p,h=f*f+b*b;if(h<1e-9)return;let S=this.child[t*4]===-1;if(S&&this.point[t]===n)return;let L=Math.sqrt(h);if(this.lastVisits+=1,S||2*this.half[t]/L<l){let _=i*s/h;this.fx[n]+=f/L*_,this.fy[n]+=b/L*_;return}let M=t*4;for(let _=0;_<4;_+=1){let x=this.child[M+_];x>=0&&this.accumulate(x,n,a,o,i,l)}}compute(t,n){let a=t.length;this.ensureCapacity(a);let o=this.fx,i=this.fy;o.fill(0),i.fill(0),this.lastVisits=0;let l=this.build(t);if(l<0)return{fx:o,fy:i,visits:0};let s=n.repulsion,c=n.theta===void 0?.8:n.theta,p=n.skipIndex===void 0?-1:n.skipIndex;for(let f=0;f<a;f+=1){if(f===p)continue;let b=t[f];this.accumulate(l,f,Number(b.x)||0,Number(b.y)||0,s,c)}return{fx:o,fy:i,visits:this.lastVisits}}};function Tf(e,t={}){let n=e.nodes,a=n.length,o=t.params||vl(a),i=t.theta===void 0?o.theta:t.theta;e.tickCount=(e.tickCount||0)+1;let l=t.settleTicks===void 0?460:t.settleTicks,s=t.alphaDecay===void 0?.08:t.alphaDecay;e.alpha===void 0&&(e.alpha=1),e.tickCount<=l?e.alpha=1:e.alpha+=((e.dragNode?.35:0)-e.alpha)*s,e.alpha<1e-4&&(e.alpha=0);let c=Math.max(0,Math.min(1,Number(t.alphaFloor)||0));e.alpha<c&&(e.alpha=c);let p=t.alpha===void 0?e.alpha:t.alpha,f=Math.min(.4,e.tickCount/1500),b=t.damping===void 0?.9-f:Math.max(.1,Math.min(.95,Number(t.damping)||.5)),h=e.dragNode?n.indexOf(e.dragNode):-1;(!e.forceEngine||e.forceEngine.capacity<a)&&(e.forceEngine=new od(a));let S=e.forceEngine.compute(n,{repulsion:o.repulsion*p,theta:i,skipIndex:h}),L=S.fx,M=S.fy;for(let P=0;P<a;P+=1){if(P===h)continue;let D=n[P],I=L[P],W=M[P];if(Number.isFinite(I)||(I=0),Number.isFinite(W)||(W=0),e.clustered&&e.typeCenters&&e.typeCenters[D.type]){let he=e.typeCenters[D.type];I+=(he.x-D.x)*.006*p,W+=(he.y-D.y)*.006*p}else I-=D.x*o.centerGravity*p,W-=D.y*o.centerGravity*p;let $=((Number(D.vx)||0)+I)*b,le=((Number(D.vy)||0)+W)*b;$>o.velCap?$=o.velCap:$<-o.velCap&&($=-o.velCap),le>o.velCap?le=o.velCap:le<-o.velCap&&(le=-o.velCap),D.vx=$,D.vy=le}let _=e.edges||[],x=e.edgePairs||null,m=e.nodeById||null,y=x?x.length/2:_.length;for(let P=0;P<y;P+=1){let D,I;if(x)D=n[x[P*2]],I=n[x[P*2+1]];else{let G=_[P];D=m?m.get(G.sourceNodeId):null,I=m?m.get(G.targetNodeId):null}if(!D||!I)continue;let W=I.x-D.x,$=I.y-D.y,le=Math.sqrt(W*W+$*$)||1,he=(le-100)*o.attraction*p,ye=W/le*he,Re=$/le*he;e.dragNode!==D&&(D.vx+=ye,D.vy+=Re),e.dragNode!==I&&(I.vx-=ye,I.vy-=Re)}let R=0;for(let P=0;P<a;P+=1){let D=n[P];P!==h&&(D.x+=D.vx,D.y+=D.vy,R+=D.vx*D.vx+D.vy*D.vy)}let F=a?Math.sqrt(R/a):0;return F<Vy&&e.tickCount>60&&!e.dragNode?e.quietTicks=(e.quietTicks|0)+1:e.quietTicks=0,{rms:F,tickCount:e.tickCount,quietTicks:e.quietTicks,params:o,visits:S.visits,alpha:p}}function na(e){return(Array.isArray(e)?e:[]).filter(Boolean).join("/")}function Mf(e){return String(e??"").split("/").filter(Boolean)}function Ef(e,t,n={}){let a=na(t);return`${e}/graph/level?path=${encodeURIComponent(a)}${n.all?"&all=1":""}`}function Gy(e){let t=Math.max(0,Math.floor(Number(e)||0)),n=24+38*Math.log10(Math.max(1,t));return Math.max(34,Math.min(240,Math.round(n)))}function Ky({kind:e="other",degree:t=0,maxDegree:n=1}={}){let a=Math.max(0,Number(t)||0),o=Math.max(1,Number(n)||1);return 9+Math.min(10,a/o*8)+(e==="core"?3:0)}function zf(e,t={}){let n=Math.max(0,Math.floor(Number(e)||0));if(n<1e4)return String(n);let a=t.unit||"\u4E07",o=t.locale||"zh-CN";if(t.intl!==!1)try{return new Intl.NumberFormat(o,{notation:"compact",maximumFractionDigits:1}).format(n)}catch{}return a==="\u4E07"?Math.round(n/1e3)/10+"\u4E07":n>=1e6?Math.round(n/1e5)/10+"M":Math.round(n/100)/10+"K"}function Rf(e,t={}){let n=e||{},a=n.type==="planet",o=n.kind||"other",i=String(n.label||n.title||n.name||n.id||"");return{id:String(n.id||""),title:i,name:i,type:o,planet:a,count:a?Math.max(0,Math.floor(Number(n.count)||0)):0,tags:Array.isArray(n.tags)?n.tags.slice():[],updated:n.updated||"",r:a?Gy(n.count):Ky({kind:o,degree:t.degree,maxDegree:t.maxDegree})}}function Lf(e){return{...e||{},repulsion:1600,centerGravity:.004}}function Pf(e,t={}){let n=Math.max(1,Number(t.timeoutMs)||1600),a=Math.max(0,Number(t.elapsedMs)||0),o=String(e&&e.name||""),i=String(e&&e.message||e||""),s=o==="AbortError"||/abort/i.test(i)||a>=n;return{timeout:s,message:s?`\u5C42\u7EA7\u52A0\u8F7D\u8D85\u65F6\uFF08${n}ms\uFF09`:i||"\u672A\u77E5\u9519\u8BEF"}}function Df(e=96){let t=Math.max(1,Math.floor(Number(e)||96)),n=new Map;return{get size(){return n.size},has(a){return n.has(a)},get(a){if(!n.has(a))return null;let o=n.get(a);return n.delete(a),n.set(a,o),o},set(a,o){for(n.has(a)&&n.delete(a),n.set(a,o);n.size>t;)n.delete(n.keys().next().value);return o},clear(){n.clear()},keys(){return[...n.keys()]}}}function Af(e={}){let t=e.raf||(c=>requestAnimationFrame(c)),n=e.cancelRaf||(c=>cancelAnimationFrame(c)),a=e.setTimeout||((c,p)=>setTimeout(c,p)),o=e.clearTimeout||(c=>clearTimeout(c)),i=new Set,l=new Set,s=[];return{raf(c){let p=t(()=>{i.delete(p),c()});return i.add(p),p},cancelRaf(c){c!=null&&(i.delete(c),n(c))},setTimeout(c,p){let f=a(()=>{l.delete(f),c()},p);return l.add(f),f},clearTimeout(c){c!=null&&(l.delete(c),o(c))},listen(c,p,f,b){c.addEventListener(p,f,b),s.push({target:c,type:p,fn:f,opts:b})},snapshot(){return{rafs:i.size,timers:l.size,listeners:s.length}},releaseAll(){for(let c of[...i]){i.delete(c);try{n(c)}catch{}}for(let c of[...l]){l.delete(c);try{o(c)}catch{}}for(let c of s.splice(0))try{c.target.removeEventListener(c.type,c.fn,c.opts)}catch{}}}}function Ff(e,t={}){let n=Math.max(1,Number(t.maxItems)||1e3),a=Math.max(1,Number(t.payloadLimit)||1048576),o=e&&e.level&&Array.isArray(e.level.items)?e.level.items.length:0,i=Number(e&&e.stats&&e.stats.bytes)||0,l=[];return o>n&&l.push(`\u5355\u5C42\u56FE\u5143 ${o} > ${n}`),i>a&&l.push(`\u5C42 payload ${i} > ${a}`),{ok:l.length===0,items:o,bytes:i,problems:l}}function qy(e,t){if(e===t)return!0;if(e===null||t===null||e===void 0||t===void 0||typeof e!="object"&&typeof t!="object")return e===t;try{return JSON.stringify(e)===JSON.stringify(t)}catch{return!1}}function If(e,t){let n={...e||{}},a={};for(let[o,i]of Object.entries(t||{}))qy(e?e[o]:void 0,i)||(n[o]=i,a[o]=i);return{values:n,overlay:a}}var r=ur(jo(),1);var Z="/memory-eternal/api",xl=["\u843D\u9B44\u8C37\u4E2D\u5BD2\u98CE\u5439\uFF0C\u6625\u79CB\u8749\u9E23\u5C11\u5E74\u5F52\u3002\u8361\u9B42\u5C71\u5904\u77F3\u4EBA\u6CEA\uFF0C\u5B9A\u4ED9\u6E38\u8D70\u9B54\u5411\u5317\u3002\u9006\u6D41\u6CB3\u4E0A\u4E07\u4ED9\u9000\uFF0C\u7231\u60C5\u4E0D\u654C\u575A\u6301\u6CEA\u3002\u5BBF\u547D\u5929\u6210\u547D\u4E2D\u8D25\uFF0C\u4ED9\u5C0A\u6094\u800C\u6211\u4E0D\u6094\u3002","\u65E9\u5C81\u5DF2\u77E5\u4E16\u4E8B\u8270\uFF0C\u4ECD\u8BB8\u98DE\u9E3F\u8361\u4E91\u95F4\u3002","\u7537\u513F\u4E0D\u5C55\u51CC\u4E91\u5FD7\uFF0C\u7A7A\u8D1F\u5929\u751F\u516B\u5C3A\u8EAF\u3002","\u5343\u53E4\u5730\u4ED9\u968F\u98CE\u901D\uFF0C\u6614\u65E5\u4E09\u738B\u5F52\u9752\u51A2\u3002\u9633\u83BD\u608D\u9668\u8C01\u65E0\u8D25\uFF1F\u5377\u571F\u91CD\u6765\u518D\u79F0\u738B\u3002","\u5929\u6CB3\u4E00\u6302\u6DD8\u9F99\u9C7C\uFF0C\u9006\u5929\u72EC\u884C\u987E\u516B\u8352\u3002\u4ECA\u671D\u6682\u4E14\u5C55\u7FFC\u53BB\uFF0C\u660E\u671D\u98DE\u4ED9\u7B1E\u51E4\u51F0\uFF01","\u72EC\u5E1C\u5165\u6E0A\u6DF1\u672A\u77E5\uFF0C\u8EAB\u4F3C\u6D6E\u840D\u547D\u96BE\u6301\u3002\u5343\u821F\u7686\u671D\u5F52\u6D77\u5904\uFF0C\u4E00\u82C7\u9752\u62E8\u620F\u6D6A\u5DC5\u3002\u60CA\u9E3F\u56DB\u6563\u9C7C\u9003\u5C3D\uFF0C\u552F\u6709\u6B8B\u5E06\u50B2\u6B64\u95F4\u3002\u5F85\u5230\u5929\u5F00\u4E91\u96FE\u6563\uFF0C\u8D1F\u624B\u76F4\u671B\u7B11\u82CD\u5929\u3002"],Bf="\u300A\u86CA\u771F\u4EBA\u300B\xB7 \u5927\u7231\u4ED9\u5C0A";async function kl(e){try{let t=await fetch(`${Z}/open-external?url=${encodeURIComponent(e)}`,{method:"POST"}),n=await t.json().catch(()=>null);if(t.ok&&n&&n.ok)return!0}catch{}try{if(window.open(e,"_blank","noopener,noreferrer"))return!0}catch{}try{let t=document.createElement("a");return t.href=e,t.target="_blank",t.rel="noopener noreferrer",t.click(),!0}catch{}return!1}var r0=100;var hd={nav:"\u8BB0\u5FC6",loading:"\u52A0\u8F7D\u4E2D\u2026",loadingGraph:"\u6B63\u5728\u52A0\u8F7D\u77E5\u8BC6\u661F\u56FE\u2026",refresh:"\u5237\u65B0",overview:"\u8BB0\u5FC6\u5E93\u6982\u89C8",total:"\u77E5\u8BC6\u5361",recent:"\u8FD1 7 \u5929\u65B0\u589E",tags:"\u6807\u7B7E",searchPlaceholder:"\u641C\u7D22\u8BB0\u5FC6\uFF08\u652F\u6301\u4E2D\u6587\u7247\u6BB5\uFF09\u2026",search:"\u641C\u7D22",all:"\u5168\u90E8",kindProject:"\u9879\u76EE",kindKnowledge:"\u77E5\u8BC6",kindOther:"\u5176\u4ED6",kindContent:"\u5185\u5BB9",kindPrompt:"\u63D0\u793A\u8BCD",kindBusiness:"\u4E1A\u52A1",kindTool:"\u5DE5\u5177",kindMistake:"\u6559\u8BAD",kindCore:"\u6838\u5FC3\u8BB0\u5FC6",kindSkill:"\u6280\u80FD",newsTab:"\u65B0\u95FB",newsTitle:"\u65B0\u95FB",newsHint:"\u6BCF\u65E5 AI \u65B0\u95FB\u3001\u672C\u6708\u699C\u5355\uFF0C\u4EE5\u53CA\u4F60\u81EA\u5DF1\u7684\u53D1\u5E03\u3002",newsNew:"\u5199\u4E00\u6761",newsSearch:"\u641C\u7D22\u6807\u9898 / \u6B63\u6587 / \u6807\u7B7E\u2026",newsUnreadOnly:"\u53EA\u770B\u672A\u8BFB",newsEmpty:"\u8FD8\u6CA1\u6709\u65B0\u95FB\u3002\u5199\u7B2C\u4E00\u6761\u53D1\u5E03\u3001\u51B3\u7B56\u6216\u56E2\u961F\u7B80\u62A5\u3002",newsNoMatch:"\u6CA1\u6709\u5339\u914D\u7684\u65B0\u95FB",newsPinned:"\u7F6E\u9876",newsRead:"\u5DF2\u8BFB",newsUnread:"\u672A\u8BFB",newsMarkRead:"\u6807\u8BB0\u5DF2\u8BFB",newsMarkUnread:"\u6807\u8BB0\u672A\u8BFB",newsEdit:"\u7F16\u8F91",newsDeleteConfirm:"\u5220\u9664\u8FD9\u6761\u65B0\u95FB\uFF1F",newsDeleted:"\u5DF2\u5220\u9664",newsSave:"\u4FDD\u5B58",newsSaving:"\u4FDD\u5B58\u4E2D\u2026",newsSaved:"\u5DF2\u4FDD\u5B58",newsSaveFail:"\u4FDD\u5B58\u5931\u8D25",newsTitleField:"\u6807\u9898",newsBodyField:"\u6B63\u6587\uFF08Markdown\uFF09",newsCategoryField:"\u5206\u7C7B",newsSourceField:"\u6765\u6E90",newsUrlField:"\u94FE\u63A5",newsTagsField:"\u6807\u7B7E\uFF08\u9017\u53F7\u5206\u9694\uFF09",newsDateField:"\u65E5\u671F",newsPinField:"\u7F6E\u9876",newsPreview:"\u9884\u89C8",newsEditBody:"\u7F16\u8F91\u6B63\u6587",newsOpenLink:"\u6253\u5F00\u94FE\u63A5",newsToday:"\u4ECA\u5929",newsYesterday:"\u6628\u5929",newsEarlier:"\u66F4\u65E9",newsTitlePlaceholder:"\u4F8B\u5982\uFF1Av0.20.0 \u53D1\u5E03\u8BF4\u660E",newsBodyPlaceholder:"\u5199\u70B9\u503C\u5F97\u7559\u4E0B\u7684\u5185\u5BB9\u2026\u652F\u6301 Markdown",newsCountUnit:"\u6761",cancel:"\u53D6\u6D88",newsDaily:"\u4ECA\u65E5\u65B0\u95FB",newsMonthly:"\u672C\u6708",newsMine:"\u6211\u7684\u65B0\u95FB",newsDailySub:"\u6BCF\u65E5\u6700\u65B0\u7684 AI \u65B0\u95FB\uFF0C\u4E2D\u6587\u4F18\u5148",newsMonthlySub:"\u672C\u6708 AI \u65B0\u95FB\uFF1A\u4E2D\u6587\u6309\u65F6\u95F4\u5F52\u6863\uFF0C\u82F1\u6587\u6309 Hacker News \u70ED\u5EA6",newsMineSub:"\u4F60\u81EA\u5B9A\u4E49\u7684\u53D1\u5E03\u3001\u51B3\u7B56\u548C\u56E2\u961F\u7B80\u62A5",newsLoading:"\u6B63\u5728\u62C9\u53D6\u8D44\u8BAF\u2026",newsFeedError:"\u8D44\u8BAF\u6E90\u6682\u65F6\u4E0D\u53EF\u7528",newsHeat:"\u70ED\u5EA6",newsComments:"\u8BC4\u8BBA",newsOriginal:"\u9605\u8BFB\u539F\u6587",newsUpdatedAt:"\u66F4\u65B0\u4E8E",newsPartialFail:"\u90E8\u5206\u6765\u6E90\u5931\u8D25",newsFeedEmpty:"\u4ECA\u5929\u8FD8\u6CA1\u6709\u6293\u5230\u8D44\u8BAF\uFF0C\u70B9\u5237\u65B0\u518D\u8BD5\u3002",newsFeedRefresh:"\u5237\u65B0\u8D44\u8BAF",newsLoadingHint:"\u9996\u6B21\u52A0\u8F7D\u4F1A\u6293\u53D6\u591A\u4E2A\u4E2D\u6587\u8D44\u8BAF\u6E90\uFF0C\u53EF\u80FD\u9700\u8981\u51E0\u79D2\u2026",newsRetry:"\u91CD\u8BD5",newsSearchGo:"\u641C\u7D22",newsFollow:"\u5173\u6CE8",newsFollowPreview:"\u6211\u8FD9\u6837\u7406\u89E3\uFF0C\u8981\u5173\u6CE8\u5417\uFF1F",newsFollowConfirm:"\u5F00\u59CB\u5173\u6CE8",newsFollowAdded:"\u5DF2\u5173\u6CE8",newsFollowExists:"\u5DF2\u7ECF\u5728\u5173\u6CE8\u4E86",newsFollowRemoved:"\u5DF2\u53D6\u6D88\u5173\u6CE8",newsFollowFail:"\u5173\u6CE8\u5931\u8D25",newsFollowNoQuery:"\u5148\u8F93\u5165\u4E00\u4E2A\u4E3B\u9898\u8BCD",newsFollowDomains:"\u5728\u8FD9\u4E9B\u6765\u6E90\u91CC\u627E",newsFollowEmpty:"\u8FD8\u6CA1\u6709\u5173\u6CE8\u4EFB\u4F55\u4E3B\u9898\u3002\u641C\u4E00\u4E2A\u8BCD\u540E\u70B9\u300C\u5173\u6CE8\u300D\uFF0C\u4EE5\u540E\u5B83\u81EA\u5DF1\u4F1A\u66F4\u65B0\u3002",newsIntentHint:"\u8FD9\u770B\u8D77\u6765\u662F\u4E00\u53E5\u6307\u4EE4 \u2014\u2014 \u70B9\u300C\uFF0B \u5173\u6CE8\u300D\u8BA9\u5B83\u6301\u7EED\u53BB\u5BF9\u5E94\u6765\u6E90\u91CC\u627E\uFF1B\u4E0B\u9762\u7684\u5217\u8868\u4E0D\u518D\u6309\u5B57\u9762\u8FC7\u6EE4\u3002",newsFollowing:"\u5173\u6CE8\u52A8\u6001",newsDigest:"\u5173\u6CE8\u6458\u8981\u63A8\u9001",newsDigestHint:"\u5F00\u542F\u540E\uFF0C\u5BBF\u4E3B\u6309\u95F4\u9694\u6293\u53D6\u300C\u65B0\u95FB\u5173\u6CE8\u300D\uFF0C\u53EA\u6709\u51FA\u73B0\u300C\u65B0\u300D\u5185\u5BB9\u65F6\u624D\u4F1A\u8BA9 Agent \u5728\u4E0B\u4E00\u8F6E\u63D0\u4E00\u53E5\u3002\u9ED8\u8BA4\u5173\u95ED\uFF1B\u5173\u6389\u5C31\u4E0D\u6253\u6270\u3002",newsDigestEnabled:"\u542F\u7528\u63A8\u9001",newsDigestInterval:"\u6293\u53D6\u95F4\u9694\uFF08\u5206\u949F\uFF09",newsDigestMaxItems:"\u6BCF\u6761\u6458\u8981\u6700\u591A\u51E0\u6761",newsDigestNow:"\u7ACB\u5373\u751F\u6210\u5E76\u9884\u89C8",newsDigestNowHint:"\u5F00\u542F\u524D\u53EF\u4EE5\u5148\u70B9\u5B83\uFF0C\u770B\u770B\u5230\u5E95\u4F1A\u63A8\u9001\u4EC0\u4E48\u3002",newsDigestBuilding:"\u751F\u6210\u4E2D\u2026",newsDigestDone:"\u6458\u8981\u5DF2\u751F\u6210",newsDigestEmpty:"\u5F53\u524D\u6CA1\u6709\u65B0\u7684\u5173\u6CE8\u5185\u5BB9",newsDigestFail:"\u751F\u6210\u6458\u8981\u5931\u8D25",newsSortRec:"\u4E3A\u4F60\u63A8\u8350",newsSortTime:"\u6700\u65B0",newsPersonalized:"\u5DF2\u6309\u4F60\u7684\u559C\u7231\u5B9A\u5236\u6392\u5E8F",newsLastQuery:"\u4E0A\u6B21\u641C\u7D22",newsResetPrefs:"\u91CD\u7F6E\u504F\u597D",newsHeroEye:"NEWSROOM \xB7 AI \u60C5\u62A5\u7AD9",newsHeroHint:"\u641C\u7D22\u4E00\u6B21\u5C31\u4F1A\u88AB\u8BB0\u4F4F\uFF0C\u4E0B\u6B21\u6253\u5F00\u81EA\u52A8\u6309\u4F60\u7684\u53E3\u5473\u6392\u5E8F\uFF1B\u53EA\u5728\u672C\u9875\u9996\u6B21\u6253\u5F00\u65F6\u62C9\u53D6\u4E00\u6B21\u6570\u636E\u3002",newsMatched:"\u6761\u547D\u4E2D",newsNoMatch:"\u6CA1\u6709\u5339\u914D\u7684\u8D44\u8BAF",newsNoMatchHint:"\u8FD9\u6279\u6570\u636E\u91CC\u6CA1\u6709\u547D\u4E2D\u5F53\u524D\u5173\u952E\u8BCD + \u5206\u7C7B + \u8BED\u8A00\u7684\u6761\u76EE\uFF0C\u6E05\u9664\u7B5B\u9009\u5C31\u80FD\u770B\u56DE\u5168\u90E8\u3002",newsClearFilters:"\u6E05\u9664\u7B5B\u9009",newsJustNow:"\u521A\u521A",newsMinutesAgo:"\u5206\u949F\u524D",newsHoursAgo:"\u5C0F\u65F6\u524D",newsDaysAgo:"\u5929\u524D",newsLangZh:"\u4E2D\u6587",newsLangEn:"\u82F1\u6587",newsLangAll:"\u4E0D\u9650",newsZhArchive:"\u4E2D\u6587\u6708\u699C\u6309\u65F6\u95F4\u5F52\u6863\uFF08\u4E2D\u6587\u6E90\u6682\u65E0\u516C\u5F00\u70ED\u5EA6\u5206\u6570\uFF09",newsEnRanking:"\u82F1\u6587\u6708\u699C\u6309 Hacker News \u5206\u6570\u6392\u540D",skillCards:"\u6280\u80FD\u5361",skillCardsHint:"\u4ECE\u672C\u673A\u5B9E\u9645\u5B89\u88C5/\u53EF\u7528\u7684\u6280\u80FD\u751F\u6210\u5361\u7247\uFF0C\u5F3A\u5236\u8FDB\u5165\u5BA1\u6838\uFF1B\u4E0D\u7531 Agent \u5BF9\u8BDD\u6C89\u6DC0\u3002",skillAutoSync:"\u81EA\u52A8\u540C\u6B65\u6280\u80FD\u5361",syncSkills:"\u540C\u6B65\u6280\u80FD",syncingSkills:"\u6B63\u5728\u540C\u6B65\u6280\u80FD\u2026",skillsSyncDone:"\u6280\u80FD\u5361\u540C\u6B65\u5B8C\u6210",skillsScanned:"\u626B\u63CF",skillsCreated:"\u65B0\u589E",skillsUpdated:"\u66F4\u65B0",skillsPendingUpdates:"\u5F85\u5BA1\u66F4\u65B0",skillsSyncFail:"\u6280\u80FD\u5361\u540C\u6B65\u5931\u8D25",cardsTab:"\u77E5\u8BC6\u5361",webTab:"Web \u7248",webOpening:"\u6B63\u5728\u7528\u9ED8\u8BA4\u6D4F\u89C8\u5668\u6253\u5F00 Web \u7248\u2026",webOpened:"\u5DF2\u7528\u9ED8\u8BA4\u6D4F\u89C8\u5668\u6253\u5F00 Web \u7248",webOpenFail:"\u6253\u5F00\u6D4F\u89C8\u5668\u5931\u8D25\uFF0C\u53EF\u624B\u52A8\u8BBF\u95EE",terminalTab:"\u7EC8\u7AEF\u7248",terminalTitle:"\u7EC8\u7AEF\u5B8C\u6574\u7248",terminalIntro:"Web UI \u4E0D\u6E32\u67D3\u7EC8\u7AEF\u539F\u751F TUI\u3002\u8981\u5B8C\u6574\u6279\u5361\u3001\u957F\u6587\u6EDA\u52A8\u548C\u5168\u9009\uFF0C\u8BF7\u6253\u5F00\u672C\u673A\u7EC8\u7AEF\uFF1B\u6216\u8005\u76F4\u63A5\u5728 dsh-tui \u91CC\u7528 /audit\u3002",terminalRun:"\u53EA\u8BFB\u4F53\u9A8C\uFF08\u771F\u5B9E\u961F\u5217\uFF09",terminalTui:"\u5199\u5165\u6A21\u5F0F\uFF08\u771F\u5B9E\u6279\u9A73\uFF09",terminalWhy:"\u4E3A\u4EC0\u4E48\u4E0D\u76F4\u63A5\u5D4C\u8FDB\u7F51\u9875",terminalWhyBody:"\u7EC8\u7AEF TUI \u4F9D\u8D56 alternate screen\u3001\u539F\u59CB\u952E\u76D8\u4E8B\u4EF6\u548C\u5B57\u7B26\u7F51\u683C\uFF0C\u65E0\u6CD5\u7528 iframe \u5FE0\u5B9E\u5D4C\u5165\u3002\u8FD9\u91CC\u7ED9\u51FA\u771F\u5B9E\u547D\u4EE4\uFF0C\u6253\u5F00\u540E\u5C31\u662F\u540C\u4E00\u5957\u754C\u9762\u3002",terminalCopy:"\u590D\u5236\u547D\u4EE4",terminalCopied:"\u5DF2\u590D\u5236",terminalPreview:"\u7EC8\u7AEF\u9884\u89C8",graphTab:"\u77E5\u8BC6\u661F\u56FE",graph:"\u77E5\u8BC6\u56FE\u8C31",graphHint:"\u8282\u70B9=\u77E5\u8BC6\u5361\uFF1B\u8FDE\u7EBF=[[\u94FE\u63A5]] \u6216\u5171\u4EAB\u6807\u7B7E\u3002\u70B9\u51FB\u8282\u70B9\u9605\u8BFB\u5361\u7247\u3002",graphLegendTitle:"\u5361\u7247\u5206\u5E03",graphTip:"\u5DE6\u952E\u51F8\u663E \xB7 Shift+\u62D6\u62FD\u6846\u9009 \xB7 \u53F3\u952E\u83DC\u5355 \xB7 \u6EDA\u8F6E\u7F29\u653E \xB7 \u62D6\u62FD\u5E73\u79FB",rebuild:"\u91CD\u5EFA",reset:"\u91CD\u7F6E",expandAll:"\u5168\u90E8\u5C55\u5F00",capped:"\u5DF2\u5C55\u793A\u6700\u6838\u5FC3\u7684",clearFocus:"\u53D6\u6D88\u9AD8\u4EAE",empty:"\u8BB0\u5FC6\u5E93\u8FD8\u662F\u7A7A\u7684\u3002\u591A\u804A\u51E0\u8F6E\u540E\uFF0C\u503C\u5F97\u4FDD\u5B58\u7684\u5185\u5BB9\u4F1A\u81EA\u52A8\u6C89\u6DC0\u6210\u77E5\u8BC6\u5361\u3002",emptyGraph:"\u56FE\u8C31\u6682\u65E0\u6570\u636E\u3002",open:"\u9605\u8BFB",updated:"\u66F4\u65B0\u4E8E",created:"\u521B\u5EFA\u4E8E",source:"\u6765\u6E90",contents:"\u76EE\u5F55",related:"\u76F8\u5173\u8BB0\u5FC6",file:"\u6587\u4EF6",close:"\u5173\u95ED",vaultDir:"\u8BB0\u5FC6\u5E93\u76EE\u5F55",capture:"\u81EA\u52A8\u6C89\u6DC0",recall:"\u81EA\u52A8\u53EC\u56DE",enabled:"\u5DF2\u542F\u7528",disabled:"\u5DF2\u7981\u7528",error:"\u52A0\u8F7D\u5931\u8D25",back:"\u8FD4\u56DE\u5217\u8868",cardCount:"\u5F20\u5361",nodes:"\u8282\u70B9",edges:"\u8FDE\u7EBF",memoryTitle:"\u8BB0\u5FC6\u5E93",memoryHint:"\u4F60\u7684\u672C\u5730\u7B2C\u4E8C\u5927\u8111",zoomIn:"\u653E\u5927",zoomOut:"\u7F29\u5C0F",fit:"\u9002\u5E94",enterFullscreen:"\u5168\u5C4F",exitFullscreen:"\u9000\u51FA\u5168\u5C4F",exportGraph:"\u5BFC\u51FA",openCard:"\u6253\u5F00\u5361\u7247",focusNeighbors:"\u51F8\u663E\u5173\u8054",copyName:"\u590D\u5236\u540D\u79F0",noMatch:"\u6CA1\u6709\u5339\u914D\u7684\u8BB0\u5FC6",clearFilter:"\u6E05\u9664\u8FC7\u6EE4",filterLabel:"\u7B5B\u9009",sortRecent:"\u6700\u8FD1",sortTitle:"\u6807\u9898",sortHot:"\u70ED\u70B9",exportSel:"\u5BFC\u51FA\u9009\u4E2D",clearSelection:"\u6E05\u7A7A\u9009\u62E9",download:"\u4E0B\u8F7D",openNewTab:"\u65B0\u6807\u7B7E\u6253\u5F00",copyImage:"\u590D\u5236\u56FE\u7247",done:"\u5B8C\u6210",downloaded:"\u5DF2\u5F00\u59CB\u4E0B\u8F7D",openedTab:"\u5DF2\u5728\u65B0\u6807\u7B7E\u6253\u5F00",copied:"\u5DF2\u590D\u5236",exportedSel:"\u4E2A\u8282\u70B9\u5DF2\u5BFC\u51FA",fullscreen:"\u5168\u5C4F",exitFull:"\u9000\u51FA\u5168\u5C4F",copyFail:"\u590D\u5236\u5931\u8D25",timeDim:"\u65F6\u95F4\u7EF4",graphWarming:"\u6B63\u5728\u5E03\u5C40 {n} \u4E2A\u8282\u70B9\u2026",graphAllCrumb:"\u5168\u90E8",graphOther:"\u5176\u4ED6",graphItems:"\u56FE\u5143",graphCardsUnit:"\u5361",graphPlanetCards:"{n} \u5F20\u5361",graphToFlat:"\u5E73\u94FA\u5361\u7247\u56FE",graphToPlanet:"\u661F\u7403\u5206\u5C42\u89C6\u56FE",graphFlatAll:"\u663E\u793A\u5168\u90E8",graphFlatOnly:"\u53EA\u770B\u4E3B\u8981",graphEnter:"\u8FDB\u5165\u8BE5\u5C42",graphLevelLoading:"\u6B63\u5728\u52A0\u8F7D\u5C42\u7EA7\u2026",graphLevelTimeout:"\u5C42\u52A0\u8F7D\u8D85\u65F6\uFF08{ms}ms\uFF09\xB7 \u5DF2\u4FDD\u7559\u5F53\u524D\u5C42",graphLevelError:"\u5C42\u52A0\u8F7D\u5931\u8D25 \xB7 \u5DF2\u4FDD\u7559\u5F53\u524D\u5C42",graphRetry:"\u91CD\u8BD5",graphEmptyLevel:"\u8FD9\u4E00\u5C42\u6CA1\u6709\u5361\u7247\u3002",graphLevelHint:"\u70B9\u5927\u661F\u7403\u8FDB\u5165\u8BE5\u5C42 \xB7 Shift+\u70B9\u51FB\u9009\u4E2D \xB7 \u62D6\u62FD\u79FB\u52A8 \xB7 \u6EDA\u8F6E\u7F29\u653E",graphBreadcrumbAria:"\u5C42\u7EA7\u9762\u5305\u5C51",graphCountWan:"\u4E07",graphCountLocale:"zh-CN",timeNew:"3 \u5929\u5185",timeRecent:"2 \u5468\u5185",timeMonth:"1 \u6708\u5185",timeOld:"\u66F4\u65E9",newBadge:"\u65B0",expand:"\u5C55\u5F00\u5168\u90E8",collapse:"\u6536\u8D77",copyBody:"\u590D\u5236\u6B63\u6587",clearFilter:"\u6E05\u9664\u6807\u7B7E\u7B5B\u9009",copyPath:"\u590D\u5236\u8DEF\u5F84",copied:"\u5DF2\u590D\u5236",copyFail:"\u590D\u5236\u5931\u8D25",readWidth:"\u9605\u8BFB\u5BBD\u5EA6",widthNarrow:"\u7A84",widthMid:"\u4E2D",widthWide:"\u5BBD",exportVault:"\u5BFC\u51FAMD",exportJson:"\u5BFC\u51FAJSON",exporting:"\u5BFC\u51FA\u4E2D\u2026",exportedVault:"\u8BB0\u5FC6\u5E93\u5DF2\u5BFC\u51FA",exportFail:"\u5BFC\u51FA\u5931\u8D25",importVault:"\u5BFC\u5165",importedVault:"\u5BFC\u5165\u5B8C\u6210",importedTotal:" \u5F20 / \u6587\u4EF6\u5171 ",importedTotalTail:" \u5F20",importedQuarantine:" \xB7 \u5F85\u5BA1\u6838 ",importedQuarantineTail:" \u5F20\uFF08\u9694\u79BB\u533A\uFF0C\u6279\u51C6\u540E\u624D\u53C2\u4E0E\u53EC\u56DE\uFF09",importedSkipped:" \xB7 \u8DF3\u8FC7 ",importedSkippedTail:" \u5F20\uFF08\u91CD\u590D\u6216\u7A7A\uFF09",importFail:"\u5BFC\u5165\u5931\u8D25",location:"\u81EA\u9009\u4F4D\u7F6E",saveAs:"\u53E6\u5B58\u4E3A",saveAsUnsupported:"\u5F53\u524D\u73AF\u5883\u4E0D\u652F\u6301\u9009\u62E9\u4FDD\u5B58\u4F4D\u7F6E",exportedTo:"\u5DF2\u5BFC\u51FA\u5230",defaultDownloads:"\u9ED8\u8BA4\u4E0B\u8F7D\u6587\u4EF6\u5939",exportCancel:"\u5DF2\u53D6\u6D88\u5BFC\u51FA",manage:"\u7BA1\u7406",tabUsage:"\u8FD0\u884C\u72B6\u6001",tabOptimize:"\u6574\u7406\u5EFA\u8BAE",adminLoadFail:"\u6570\u636E\u52A0\u8F7D\u5931\u8D25\uFF1A\u8BF7\u5F7B\u5E95\u91CD\u542F dsh-desktop\uFF08host \u9700\u52A0\u8F7D\u65B0\u7248 /memory-eternal \u8DEF\u7531\uFF09",retry:"\u91CD\u8BD5",mergeSimilar:"\u4E00\u952E\u5408\u5E76\u76F8\u4F3C",trendLabel:"\u8FD1 30 \u5929\u8D8B\u52BF",cleanStale:"\u{1F5D1}\uFE0F \u4E00\u952E\u6E05\u7406\u9648\u65E7",deletedStale:"\u4E2A\u9648\u65E7\u5361\u5DF2\u6E05\u7406",newCard:"\u65B0\u5EFA",tplDecision:"\u{1F4DD} \u6280\u672F\u51B3\u7B56",tplBug:"\u{1F41B} \u8E29\u5751",tplMeeting:"\u{1F4CB} \u4F1A\u8BAE\u7EAA\u8981",tplWeekly:"\u{1F4CA} \u5468\u62A5",createCard:"\u521B\u5EFA",cardTitle:"\u6807\u9898",cardBody:"\u6B63\u6587",fbUseful:"\u6709\u7528",fbIrr:"\u65E0\u5173",todayAdd:"\u4ECA\u65E5\u65B0\u589E",weekAdd:"\u8FD1 7 \u5929",byKind:"\u5206\u7C7B\u7EDF\u8BA1",todayList:"\u4ECA\u65E5\u6C89\u6DC0",budgetLabel:"\u4F1A\u8BDD\u9884\u7B97",budgetChars:"\u9884\u7B97\u5B57\u7B26",recallLimitLabel:"\u53EC\u56DE\u6761\u6570",embeddingLabel:"\u8BED\u4E49\u53EC\u56DE",mergePairs:"\u76F8\u4F3C\u5361\u5BF9\uFF08\u53EF\u5408\u5E76\uFF09",staleCards:"\u9648\u65E7\u5361\uFF08>90 \u5929\u672A\u66F4\u65B0\uFF09",noOptimize:"\u6682\u65E0\u53EF\u6574\u7406\u9879\uFF0C\u5F88\u5065\u5EB7 \u{1F389}",refineTitle:"\u77DB\u76FE\u626B\u63CF",refineScan:"\u5F00\u59CB\u626B\u63CF",refineHint:"\u76F8\u4F3C\u53EF\u4EE5\u5408\u5E76\uFF0C\u77DB\u76FE\u5FC5\u987B\u4EBA\u5224\u65AD \u2014\u2014 \u626B\u63CF\u53EA\u8BFB\uFF0C\u9009\u62E9\u540E\u624D\u52A8\u6570\u636E\uFF08\u4FDD\u7559\u4E00\u5F20\u4F1A\u628A\u53E6\u4E00\u5F20\u653E\u8FDB\u56DE\u6536\u7AD9\uFF0C\u53EF\u8FD8\u539F\uFF09",refineIdle:"\u70B9\u300C\u5F00\u59CB\u626B\u63CF\u300D\uFF1A\u5148\u5BBD\u53EC\u56DE\u53EF\u80FD\u6709\u5173\u7CFB\u7684\u5361\u7247\u5BF9\uFF0C\u518D\u8BA9\u6A21\u578B\u5224\u65AD\u662F\u91CD\u590D / \u8865\u5145 / \u77DB\u76FE / \u65E0\u5173",refineNone:"\u8FD9\u4E00\u8F6E\u6CA1\u6709\u53D1\u73B0\u9700\u8981\u4F60\u88C1\u51B3\u7684\u5361\u7247\u5BF9 \u{1F389}",refineFail:"\u77DB\u76FE\u626B\u63CF\u5931\u8D25",refineApplied:"\u5DF2\u8BB0\u5F55\u4F60\u7684\u88C1\u51B3\uFF08\u4E0D\u4F1A\u91CD\u590D\u6253\u6270\uFF09",refineRel_duplicate:"\u91CD\u590D\uFF08\u53EF\u5408\u5E76\uFF09",refineRel_complement:"\u8865\u5145\uFF08\u90FD\u7559\u7740\uFF09",refineRel_conflict:"\u77DB\u76FE\uFF08\u9700\u4F60\u88C1\u51B3\uFF09",refineRel_unrelated:"\u65E0\u5173",refineKeepA:"\u4FDD\u7559 A",refineKeepB:"\u4FDD\u7559 B",refineKeepBoth:"\u90FD\u4FDD\u7559",refineMerge:"\u5408\u5E76",junkTitle:"\u6CE8\u5165\u5783\u573E\u5361",junkScan:"\u626B\u63CF\u5B58\u91CF",junkHint:"\u6000\u7591\u662F\u8FD0\u884C\u65F6\u6CE8\u5165\u6587\u672C\uFF08\u6280\u80FD\u76EE\u5F55 / system-reminder\uFF09\u6C89\u6DC0\u6210\u7684\u5361 \u2014\u2014 \u626B\u63CF\u53EA\u8BFB\uFF0C\u56DE\u6536\u8D70\u56DE\u6536\u7AD9\u53EF\u8FD8\u539F",junkIdle:"\u70B9\u300C\u626B\u63CF\u5B58\u91CF\u300D\uFF1A\u627E\u51FA\u6B63\u6587\u5176\u5B9E\u662F\u88AB\u6CE8\u5165\u7684\u8FD0\u884C\u65F6\u6587\u672C\u3001\u5265\u6389\u540E\u51E0\u4E4E\u4E0D\u5269\u4EBA\u8BDD\u7684\u5361",junkNone:"\u6CA1\u53D1\u73B0\u8FD9\u7C7B\u5361 \u{1F389}",junkRecycle:"\u56DE\u6536",junkRecycleAll:"\u5168\u90E8\u56DE\u6536",junkRecycleAllConfirm:"\u786E\u8BA4\u628A\u8FD9\u4E9B\u5361\u9001\u8FDB\u56DE\u6536\u7AD9\uFF1F\uFF08\u4E0D\u662F\u6C38\u4E45\u5220\u9664\uFF0C\u53EF\u5728\u56DE\u6536\u4E2D\u5FC3\u8FD8\u539F\uFF09",junkDone:"\u5DF2\u9001\u56DE\u6536\u7AD9",junkFail:"\u626B\u63CF / \u56DE\u6536\u5931\u8D25",dbReadonlyTitle:"\u8BB0\u5FC6\u5E93\u5F53\u524D\u4E0D\u53EF\u5199",dbReadonlyBody:"\u5361\u7247\u8BFB\u5199 / \u5BA1\u6838 / \u56FE\u8C31\u4F1A\u5931\u8D25\uFF0C\u4F46**\u914D\u7F6E\u4ECD\u53EF\u4FDD\u5B58**\uFF08\u914D\u7F6E\u4E0D\u7ECF\u8FC7\u6570\u636E\u5E93\uFF09",dbReadonlyFix:"\u6392\u67E5\uFF1Adsh-memory doctor\uFF08\u770B journal \u6A21\u5F0F\u3001\u5199\u63A2\u9488\u3001\u5907\u4EFD\u6E05\u5355\u4E0E\u6062\u590D\u6B65\u9AA4\uFF09",goalTitle:"\u540C\u76EE\u6807\u4E0D\u540C\u505A\u6CD5",goalScan:"\u626B\u63CF\u76EE\u6807",goalHint:"\u6309\u300C\u8FD9\u5F20\u5361\u89E3\u51B3\u4EC0\u4E48\u95EE\u9898\u300D\u805A\u7C7B \u2014\u2014 \u6B63\u6587\u76F8\u4F3C\u5EA6\u6293\u4E0D\u5230\u7684\u505A\u6CD5\u5DEE\u5F02\uFF087z \u538B\u7F29 / tar \u5206\u53D1 / npm \u7626\u8EAB\uFF09\u4E5F\u80FD\u5F52\u5230\u4E00\u8D77",goalIdle:"\u70B9\u300C\u626B\u63CF\u76EE\u6807\u300D\uFF1A\u6A21\u578B\u5148\u7ED9\u6BCF\u5F20\u5361\u62BD\u4E00\u53E5\u76EE\u6807\uFF08\u9996\u6B21\u4F1A\u8C03\u6A21\u578B\uFF0C\u4E4B\u540E\u8D70\u7F13\u5B58\uFF09\uFF0C\u518D\u6309\u76EE\u6807\u805A\u7C7B",goalNone:"\u6CA1\u6709\u53D1\u73B0\u300C\u540C\u4E00\u76EE\u6807\u3001\u591A\u5F20\u5361\u300D\u7684\u7C07 \u{1F389}",goalStats:"\u5DF2\u7D22\u5F15 / \u672C\u6B21\u8C03\u7528",goalCards:"\u5F20\u5361",goalKeep:"\u90FD\u4FDD\u7559",goalMerge:"\u5408\u5E76\u8FD9\u4E00\u7EC4",goalMerged:"\u5DF2\u63D0\u4EA4\u5408\u5E76\uFF08\u65B0\u5361\u8FDB\u5BA1\u6838\u961F\u5217\uFF09",goalDone:"\u5DF2\u8BB0\u5F55\u300C\u90FD\u4FDD\u7559\u300D",goalFail:"\u76EE\u6807\u805A\u7C7B\u5931\u8D25",oneClickOptimize:"\u4E00\u952E\u4F18\u5316",oneClickOptimizeConfirm:"\u786E\u8BA4\u4E00\u952E\u4F18\u5316\uFF1F\u5C06\u5408\u5E76\u6240\u6709\u76F8\u4F3C\u5361\u5BF9\uFF08\u9ED8\u8BA4\u4E0D\u6E05\u7406\u9648\u65E7\u5361\uFF09\u3002",oneClickAlsoStale:"\u540C\u65F6\u6E05\u7406\u9648\u65E7\u5361",oneClickOptimizeDone:"\u4E00\u952E\u4F18\u5316\u5B8C\u6210",optimizedMerged:"\u5BF9\u5DF2\u5408\u5E76",optimizedStaleDeleted:"\u5F20\u9648\u65E7\u5361\u5DF2\u6E05\u7406",mcpSetupStatus:"Agent MCP \u6302\u8F7D\u72B6\u6001",rerunSetup:"\u8865\u5168 MCP",notInstalled:"\u672A\u5B89\u88C5",noMcpEntry:"\u914D\u7F6E\u7F3A\u5931",nodePathMismatch:"node \u8DEF\u5F84\u4E0D\u4E00\u81F4\uFF0C\u5EFA\u8BAE\u91CD\u8DD1 setup",nodePathNote:"node \u73AF\u5883\u4E0D\u540C\uFF08\u53EF\u7528\uFF09",mcpNeedsRepair:"\u26A0 \u9700\u4FEE\u590D\uFF08\u65E7\u914D\u7F6E\u4F1A\u62C9\u8D77 GUI\uFF09",repairMcp:"\u4FEE\u590D\u914D\u7F6E",healthy:"\u914D\u7F6E\u6B63\u5E38",mcpSetupHint:"\u300C\u81EA\u52A8\u6302\u8F7D MCP\u300D= \u8BA9 Claude Code / Codex / Cursor \u8FD9\u4E9B\u5DE5\u5177\u80FD\u8C03\u7528\u8BB0\u5FC6\u5E93\u3002\u5F00\u542F\u540E\u81EA\u52A8\u628A\u5B83\u4EEC\u914D\u7F6E\u597D\uFF1B\u5173\u6389\u5C31\u4E0D\u52A8\u4F60\u7535\u8111\u4E0A\u4EFB\u4F55\u914D\u7F6E\u6587\u4EF6\uFF0C\u9700\u8981\u65F6\u624B\u52A8\u8DD1 dsh-memory setup\u3002",mcpManageHint:"\u6BCF\u4E2A agent \u7528\u4E0B\u65B9\u6309\u94AE\u5355\u72EC\u5B89\u88C5/\u5378\u8F7D MCP",workTitle:"\u672C\u4F1A\u8BDD\u5DE5\u4F5C\u533A",workHint:"\u4E34\u65F6\u8349\u7A3F \xB7 \u4E0D\u8FDB\u5165\u77E5\u8BC6\u5E93 \xB7 \u4E0D\u53C2\u4E0E\u53EC\u56DE",workLines:"\u884C",workExpand:"\u5C55\u5F00",workCollapse:"\u6536\u8D77",workPlaceholder:"\u8BB0\u4E0B\u8FD9\u4E2A\u4EFB\u52A1\u73B0\u5728\u505A\u5230\u54EA\u3001\u4E0B\u4E00\u6B65\u505A\u4EC0\u4E48\u2026\uFF08\u4F1A\u8BDD\u7ED3\u675F\u81EA\u52A8\u5F52\u6863\uFF09",workSave:"\u4FDD\u5B58\u8349\u7A3F",workPromote:"\u5B58\u4E3A\u5F85\u5BA1\u5361",workClear:"\u6E05\u7A7A",workClearConfirm:"\u6E05\u7A7A\u672C\u4F1A\u8BDD\u5DE5\u4F5C\u533A\uFF1F\u6B64\u64CD\u4F5C\u4E0D\u53EF\u6062\u590D\u3002",workSaved:"\u5DF2\u4FDD\u5B58\u4F1A\u8BDD\u5DE5\u4F5C\u533A",workCleared:"\u5DF2\u6E05\u7A7A\u4F1A\u8BDD\u5DE5\u4F5C\u533A",workPromoted:"\u5DF2\u63D0\u4EA4\u5BA1\u6838\uFF0C\u8BF7\u5728\u300C\u5F85\u5BA1\u300D\u91CC\u5904\u7406",workLimitHint:"\u4E0A\u9650 200 \u884C / 24KB\uFF0C\u8D85\u51FA\u622A\u65AD",workPromoteHint:"\u9009\u4E2D\u4E00\u6BB5\u65F6\u53EA\u664B\u5347\u9009\u4E2D\u90E8\u5206",workPromoteEmpty:"\u6CA1\u6709\u53EF\u664B\u5347\u7684\u5185\u5BB9",starAskTitle:"\u8BB0\u5FC6\u5DF2\u7ECF\u7528\u8D77\u6765\u4E86",starAskBody:"\u5DF2\u53EC\u56DE {recalls} \u6B21 \xB7 \u6C89\u6DC0 {cards} \u5F20\u5361\u3002\u5982\u679C\u5B83\u5E2E\u4F60\u7701\u8FC7\u65F6\u95F4\uFF0C\u7ED9\u4E2A Star \u4F1A\u8BA9\u66F4\u591A\u4EBA\u627E\u5230\u5B83\u3002",starAskGo:"\u53BB Star",starAskLater:"\u665A\u70B9\u518D\u8BF4",starAskNever:"\u4E0D\u518D\u63D0\u793A",tabConfig:"\u8BB0\u5FC6\u914D\u7F6E",configPageSub:"\u5199\u5165\u3001\u8DEF\u7531\u3001\u5BA1\u6838\u4E0E\u670D\u52A1\u7684\u672C\u5730\u914D\u7F6E",paneGeneral:"\u901A\u7528",paneMemory:"\u8BB0\u5FC6",paneAdvanced:"\u9AD8\u7EA7",paneService:"\u670D\u52A1",paneGeneralSub:"\u4E00\u952E\u65B9\u6848\u3001\u57FA\u7840\u5F00\u5173\u4E0E\u65E5\u5E38\u504F\u597D",paneMemorySub:"\u5E93\u76EE\u5F55\u3001\u53EC\u56DE\u4E0E\u6838\u5FC3\u8BB0\u5FC6",paneAdvancedSub:"\u6210\u672C\u63A7\u5236\u4E0E\u81EA\u52A8\u5BA1\u6838",paneServiceSub:"\u670D\u52A1\u5B88\u62A4\u3001\u7248\u672C\u4E0E MCP \u6302\u8F7D",basicSwitches:"\u57FA\u7840\u5F00\u5173",basicSwitchesHint:"\u8BB0\u5FC6\u6838\u5FC3\u7684\u603B\u5F00\u5173\u4E0E\u81EA\u52A8\u6C89\u6DC0 / \u53EC\u56DE",tabAudit:"\u5F85\u5BA1",statusApproved:"\u5DF2\u5BA1\u6838",statusPending:"\u5F85\u5BA1\u6838",statusRejected:"\u5DF2\u9A73\u56DE",allStatus:"\u5168\u90E8\u72B6\u6001",tabRecycle:"\u56DE\u6536\u4E2D\u5FC3",recyclePageSub:"\u5DF2\u5220\u9664\u7684\u5361\u4FDD\u7559 30 \u5929\uFF0C\u53EF\u6062\u590D\u6216\u6C38\u4E45\u5220\u9664",pending:"\u5F85\u5BA1\u6838",rejected:"\u5DF2\u9A73\u56DE",selectAll:"\u5168\u9009",approve:"\u6279\u51C6",approveAndCore:"\u6279\u51C6\u5E76\u8BBE\u4E3A\u6838\u5FC3",approveCore:"\u6279\u51C6\u4E3A\u6838\u5FC3\u8BB0\u5FC6",approveAsNormal:"\u6279\u51C6\u4E3A\u666E\u901A\u5361",coreSuggested:"\u6838\u5FC3\u8BB0\u5FC6\uFF08\u5F85\u5BA1\u6838\uFF09",reclassify:"\u91CD\u65B0\u8BC6\u522B\u7C7B\u578B",reject:"\u9A73\u56DE",allAgents:"\u5168\u90E8\u667A\u80FD\u4F53",noAuditItems:"\u6682\u65E0\u5BA1\u6838\u9879\u76EE",auditBodyFail:"\u6B63\u6587\u8BFB\u53D6\u5931\u8D25",deletedAt:"\u5220\u9664\u4E8E",restore:"\u6062\u590D",restoreDelete:"\u5220\u9664\u8FDB\u56DE\u6536\u7AD9",purge:"\u6C38\u4E45\u5220\u9664",emptyRecycle:"\u56DE\u6536\u7AD9\u4E3A\u7A7A",recycleHint:"\u5220\u9664\u7684\u5361\u7247\u5148\u8FDB\u56DE\u6536\u7AD9\uFF0C30 \u5929\u5185\u53EF\u6062\u590D\uFF0C\u8D85\u671F\u81EA\u52A8\u6C38\u4E45\u5220\u9664",purgeConfirm:"\u786E\u5B9A\u6C38\u4E45\u5220\u9664\uFF1F\u4E0D\u53EF\u6062\u590D\u3002",recycleDeleteConfirm:"\u786E\u5B9A\u5220\u9664\u8FDB\u56DE\u6536\u7AD9\uFF1F30 \u5929\u5185\u53EF\u6062\u590D\u3002",modeInit:"\u542F\u52A8\u65F6\u62C9\u4E00\u6B21",modeInterval:"\u5468\u671F\u4FDD\u6D3B",modeManual:"\u4EC5\u624B\u52A8",serviceConfig:"\u670D\u52A1\u81EA\u7BA1\u7406\u914D\u7F6E",auditConfig:"\u81EA\u52A8\u5BA1\u6838\u914D\u7F6E",auditHint:"\u547D\u4E2D\u514D\u5BA1\u7684\u65B0\u5361\u76F4\u63A5\u5165\u5E93\uFF0C\u5176\u4F59\u8FDB\u5F85\u5BA1\u6838",auditMode:"\u5BA1\u6838\u6A21\u5F0F",auditAll:"\u5168\u90E8\u8981\u5BA1\u6838",auditNone:"\u5168\u90E8\u514D\u5BA1",auditExemptAgents:"\u514D\u5BA1\u667A\u80FD\u4F53",auditExemptKinds:"\u514D\u5BA1\u7C7B\u578B",allExempt:"\u5168\u90E8\u514D\u5BA1",recycleDays:"\u56DE\u6536\u4FDD\u7559\u5929\u6570",editInSetting:"\u7F16\u8F91\u8BF7\u5230 DSH \u8BBE\u7F6E \u2192 \u8BB0\u5FC6",pendingSyncNote:"\u6B64\u9875\u662F\u72EC\u7ACB Web \u9875\uFF1A\u4FDD\u5B58\u540E\u7531 DSH \u5BBF\u4E3B\u5E94\u7528\uFF08\u65B0\u7248\u5BBF\u4E3B\u4F1A\u88AB\u76F4\u63A5\u53EB\u9192\u3001\u5728\u8BF7\u6C42\u4E0A\u4E0B\u6587\u91CC\u5E94\u7528\uFF0C\u70B9\u4FDD\u5B58\u5373\u751F\u6548\uFF09\uFF1B\u82E5\u672C\u673A\u6CA1\u6709 DSH \u5BBF\u4E3B\u5728\u8FD0\u884C\uFF0C\u5219\u76F4\u63A5\u5199\u5165\u5171\u4EAB\u914D\u7F6E\u3001\u7ACB\u5373\u751F\u6548\u3002\u53EA\u6709\u5728\u5BF9\u63A5\u65E7\u7248\u5BBF\u4E3B\u65F6\u624D\u4F1A\u9000\u56DE\u300C\u6392\u961F\u7B49\u5B83\u81EA\u5DF1\u540C\u6B65\u300D\uFF0C\u90A3\u65F6\u53EF\u5728 DSH \u8BBE\u7F6E \u2192 \u8BB0\u5FC6\u91CC\u6539\u540C\u4E00\u9879\u3002",readonlyTitle:"\u5F53\u524D\u9875\u9762\u53EA\u8BFB\uFF0C\u65E0\u6CD5\u4FDD\u5B58\u914D\u7F6E",readonlyBody:"\u8FD9\u4E2A\u8FDB\u7A0B\u6CA1\u6709 DSH \u7684\u8BBE\u7F6E\u670D\u52A1\uFF08settings.update \u4E0D\u5B58\u5728\uFF09\uFF0C\u914D\u7F6E\u53EA\u80FD\u5728\u672C\u673A DSH \u91CC\u4FEE\u6539\uFF1A\u684C\u9762\u7248 \u2192 \u8BBE\u7F6E \u2192 \u8BB0\u5FC6\u3002",readonlyBtn:"\u53EA\u8BFB",setupRunInTerminal:"\u8BF7\u590D\u5236\u4EE5\u4E0B\u547D\u4EE4\u5230\u7EC8\u7AEF\u6267\u884C\uFF1A",dshMemoryConfig:"DSH \u8BB0\u5FC6\u914D\u7F6E",coreMemory:"\u6838\u5FC3\u8BB0\u5FC6\uFF08\u524D\u7F6E\u5F3A\u5236\uFF09",coreMemoryHint:"\u6BCF\u6B21\u4F1A\u8BDD\u81EA\u52A8\u6CE8\u5165\uFF0C\u4E0D\u4F9D\u8D56\u6A21\u578B\u4E3B\u52A8\u53EC\u56DE\uFF1B\u53EA\u8BFB\u53D6\u5DF2\u6279\u51C6\u7684\u6838\u5FC3\u5361",coreMemoryEnabled:"\u542F\u7528\u6838\u5FC3\u8BB0\u5FC6\u6CE8\u5165",workingMemoryEnabled:"\u542F\u7528\u4F1A\u8BDD\u5DE5\u4F5C\u533A\uFF08\u8349\u7A3F\u672C\uFF09",coreMemoryLimit:"\u6838\u5FC3\u8BB0\u5FC6\u4E0A\u9650\uFF08\u5F20\uFF09",coreMemoryMaxChars:"\u6838\u5FC3\u8BB0\u5FC6\u603B\u5B57\u7B26\u4E0A\u9650",setCore:"\u8BBE\u4E3A\u6838\u5FC3\u8BB0\u5FC6",unsetCore:"\u53D6\u6D88\u6838\u5FC3\u8BB0\u5FC6",coreSetOk:"\u5DF2\u8BBE\u4E3A\u6838\u5FC3\u8BB0\u5FC6",coreUnsetOk:"\u5DF2\u53D6\u6D88\u6838\u5FC3\u8BB0\u5FC6",coreSetFail:"\u8BBE\u7F6E\u5931\u8D25",coreActiveHint:"\u8FD9\u5F20\u5361\u6BCF\u6B21\u4F1A\u8BDD\u90FD\u4F1A\u5F3A\u5236\u6CE8\u5165\uFF1B\u4E0E\u666E\u901A\u8BB0\u5FC6\u51B2\u7A81\u65F6\u4EE5\u5B83\u4E3A\u51C6\u3002",coreInactiveHint:"\u666E\u901A\u77E5\u8BC6\u5361\u53EF\u4EE5\u63D0\u5347\u4E3A\u6838\u5FC3\u8BB0\u5FC6\uFF1B\u63D0\u5347\u540E\u6BCF\u6B21\u4F1A\u8BDD\u81EA\u52A8\u751F\u6548\u3002",coreNeedApproval:"\u5148\u6279\u51C6\u8FD9\u5F20\u5361\uFF0C\u624D\u80FD\u8BBE\u4E3A\u6838\u5FC3\u8BB0\u5FC6\u3002",coreShort:"\u6838\u5FC3",setCoreShort:"\u8BBE\u6838\u5FC3",uiLayout:"\u5E03\u5C40\u5927\u5C0F",uiLayoutHint:"\u8C03\u6574\u8BB0\u5FC6\u754C\u9762\u6574\u4F53\u5927\u5C0F\uFF08\u53EA\u5F71\u54CD\u663E\u793A\uFF0C\u4E0D\u5F71\u54CD\u8BB0\u5FC6\u6570\u636E\uFF09",uiCompact:"\u7D27\u51D1",uiNormal:"\u6807\u51C6",uiLarge:"\u5927",autoCapture:"\u81EA\u52A8\u6C89\u6DC0",autoRecall:"\u81EA\u52A8\u53EC\u56DE",captureMinChars:"\u6355\u83B7\u6700\u5C0F\u957F\u5EA6",maxCardsPerDay:"\u65E5\u914D\u989D",dedupThreshold:"\u53BB\u91CD\u9608\u503C",recallLimit:"\u53EC\u56DE\u6761\u6570",vaultMulti:"\u591A\u5E93\uFF08\u6309\u9879\u76EE\u9694\u79BB\uFF09",vaultMultiHint:"\u7559\u7A7A\u5373\u5355\u5E93\uFF0C\u8001\u914D\u7F6E\u4E0D\u53D7\u5F71\u54CD",vaultNow:"\u5F53\u524D\u751F\u6548",vaultSource:"\u6765\u6E90",vaultWorkspace:"\u5F53\u524D workspace",vaultNamePh:"\u5E93\u540D\uFF0C\u5982 work",vaultPathPh:"\u76EE\u5F55\uFF0C\u5982 D:/vaults/work",vaultMatchPh:"\u9879\u76EE\u76EE\u5F55\uFF08\u53EF\u9009\uFF0C\u6309 workspace \u81EA\u52A8\u9009\u5E93\uFF09",vaultAdd:"\u6DFB\u52A0\u4E00\u4E2A\u5E93",vaultActive:"\u6FC0\u6D3B\u5E93",vaultActiveNone:"\u9ED8\u8BA4\u5E93\uFF08\u4E0D\u6307\u5B9A\uFF09",vaultSrcEnv:"\u73AF\u5883\u53D8\u91CF MEMORY_VAULT_DIR",vaultSrcProfile:"\u6FC0\u6D3B\u5E93\u914D\u7F6E",vaultSrcWorkspace:"\u6309\u9879\u76EE\u76EE\u5F55\u81EA\u52A8\u547D\u4E2D",vaultSrcVaultDir:"\u5355\u5E93\u914D\u7F6E vaultDir",vaultSrcDefault:"\u9ED8\u8BA4\u76EE\u5F55",fbNav:"\u53CD\u9988\u5F02\u5E38",fbTitle:"\u53CD\u9988\u5F02\u5E38\uFF08\u63D0\u4EA4\u5230 GitHub\uFF09",fbDesc:"\u63CF\u8FF0\u4F60\u9047\u5230\u7684\u95EE\u9898\uFF08\u73B0\u8C61 / \u590D\u73B0\u6B65\u9AA4 / \u671F\u671B\u884C\u4E3A\uFF09",fbDiag:"\u8BCA\u65AD\u4FE1\u606F\uFF08\u5DF2\u81EA\u52A8\u8131\u654F\uFF1Ahome \u76EE\u5F55\u4E0E key/token \u5DF2\u66FF\u6362\uFF09",fbCopyDiag:"\u590D\u5236\u8BCA\u65AD\u4FE1\u606F",fbOpenIssue:"\u5728 GitHub \u63D0\u4EA4\uFF08\u5DF2\u9884\u586B\uFF09",fbCopyPrompt:"\u590D\u5236\u7ED9 AI \u7684\u63D0\u793A\u8BCD",fbCopiedDiag:"\u8BCA\u65AD\u4FE1\u606F\u5DF2\u590D\u5236",fbCopiedPrompt:"\u63D0\u793A\u8BCD\u5DF2\u590D\u5236\uFF0C\u7C98\u8FDB AI \u5BF9\u8BDD\u6846\u5373\u53EF",fbCopyFail:"\u590D\u5236\u5931\u8D25\uFF0C\u8BF7\u624B\u52A8\u9009\u4E2D\u590D\u5236",fbWhy:"GitHub \u4E0D\u5141\u8BB8\u533F\u540D\u521B\u5EFA issue\uFF0C\u63D2\u4EF6\u91CC\u4E5F\u4E0D\u5E94\u5185\u7F6E token\uFF1A\u6240\u4EE5\u8FD9\u91CC\u628A\u6807\u9898 / \u6B63\u6587 / \u8BCA\u65AD\u90FD\u9884\u586B\u597D\uFF0C\u4F60\u53EA\u9700\u518D\u70B9\u4E00\u6B21 Submit\u3002",fbNeedDesc:"\u8BF7\u5148\u63CF\u8FF0\u4F60\u9047\u5230\u7684\u95EE\u9898",fbLoading:"\u6B63\u5728\u6536\u96C6\u8BCA\u65AD\u4FE1\u606F\u2026",fbDiagFail:"\u8BCA\u65AD\u63A5\u53E3\u4E0D\u53EF\u7528\uFF08\u72EC\u7ACB web \u6216\u65E7\u7248\u5BBF\u4E3B\uFF09\uFF0C\u8BF7\u624B\u52A8\u8865\u5145\u73AF\u5883\u4FE1\u606F",fbOr:"\u6216\u8005",fbSelectAll:"\u5168\u9009",auditTypeLabel:"\u7C7B\u578B",auditInboxSub:"\u81EA\u52A8\u6C89\u6DC0\u7684\u5361\u5148\u5230\u8FD9\u91CC \xB7 \u6279\u51C6\u540E\u8FDB\u5165\u8BB0\u5FC6\u5E93",auditSearchPlaceholder:"\u641C\u7D22\u6807\u9898 / \u6807\u7B7E / \u8DEF\u5F84\u2026",auditNoMatch:"\u6CA1\u6709\u5339\u914D\u7684\u5BA1\u6838\u5361",auditUndo:"\u6279\u51C6\u4E0E\u9A73\u56DE\u90FD\u53EF\u64A4\u9500",auditSelected:"\u5DF2\u9009",auditRevision:"\u4FEE\u6539",auditRevisionFrom:"\u4FEE\u6539\u539F\u5361",auditClearSelection:"\u6E05\u7A7A",preview:"\u9884\u89C8",supportGroup:"\u4EA4\u6D41\u7FA4",supportGroupQQ:"QQ \u4EA4\u6D41\u7FA4",supportGroupWechat:"\u5FAE\u4FE1\u4EA4\u6D41\u7FA4",supportSponsor:"\u8D5E\u52A9",supportLegacy:"\u65E7\u7A0B\u5E8F",supportTitle:"\u652F\u6301\u4E0E\u4EA4\u6D41",clickToZoom:"\u70B9\u51FB\u653E\u5927",supportGroupHint:"\u626B\u7801\u8FDB\u4EA4\u6D41\u7FA4\uFF08QQ / \u5FAE\u4FE1\uFF09\uFF0C\u9047\u5230\u95EE\u9898\u53EF\u4EE5\u76F4\u63A5\u95EE\u3002",supportSponsorHint:"\u5982\u679C\u8FD9\u4E2A\u63D2\u4EF6\u5E2E\u4F60\u7701\u4E86\u65F6\u95F4\uFF0C\u53EF\u4EE5\u8BF7\u4F5C\u8005\u559D\u676F\u5496\u5561\u3002\u5B8C\u5168\u81EA\u613F\uFF0C\u4E0D\u5F71\u54CD\u4EFB\u4F55\u529F\u80FD\u3002",supportAlipay:"\u652F\u4ED8\u5B9D",supportLegacyTitle:"\u65E7\u7A0B\u5E8F\uFF08dsh-desktop\uFF09\u5DF2\u505C\u6B62\u7EF4\u62A4",supportLegacyBody:"\u4F5C\u8005\u81EA\u7814\u7684 dsh-desktop \u5DF2\u505C\u6B62\u7EF4\u62A4\uFF0C\u5B98\u65B9 DeepSeek Harness \u684C\u9762\u7248\u5DF2\u8986\u76D6\u540C\u6837\u80FD\u529B\uFF0C\u5EFA\u8BAE\u8FC1\u79FB\u3002\u65E7 profile \u91CC\u5982\u679C\u8FD8\u9489\u7740\u5DF2\u64A4\u4E0B\u7684 dsh-desktop-shell@0.3.0\uFF0C\u5148\u5220\u6389\u90A3\u5957\u4F9D\u8D56\uFF0C\u5426\u5219 pnpm install \u4F1A\u5931\u8D25\u3002",supportReadme:"\u6253\u5F00 README",supportReleases:"\u5386\u53F2\u7248\u672C",supportFeedback:"\u5F02\u5E38\u53CD\u9988",supportReplay:"\u91CD\u65B0\u67E5\u770B\u5F15\u5BFC",onboardTitle:"30 \u79D2\u8BA4\u8BC6\u8BB0\u5FC6\u6838\u5FC3",onboardSub:"\u4F60\u7684 AI \u4F1A\u5728\u6BCF\u8F6E\u5BF9\u8BDD\u540E\u81EA\u52A8\u6C89\u6DC0\u77E5\u8BC6\u5361\uFF0C\u5148\u5BA1\u540E\u5165\u3002",onboardSkip:"\u8DF3\u8FC7",onboardBack:"\u4E0A\u4E00\u6B65",onboardNext:"\u4E0B\u4E00\u6B65",onboardStart:"\u5F00\u59CB\u4F7F\u7528",onboardStep0Title:"\u5148\u53BB GitHub \u70B9\u4E2A Star",onboardStep0Body:"Star \u662F\u4F5C\u8005\u7EE7\u7EED\u7EF4\u62A4\u6700\u76F4\u63A5\u7684\u53CD\u9988\uFF1B\u60F3\u81EA\u5DF1\u6539\u4EE3\u7801\u6216\u90E8\u7F72\uFF0C\u5C31\u987A\u624B Fork \u4E00\u4EFD\u3002",onboardStar:"Star / \u70B9\u8D5E",onboardFork:"Fork",onboardStarred:"\u5DF2 Star\uFF0C\u7EE7\u7EED",onboardStarHint:"\u4E4B\u540E\u53EF\u4EE5\u968F\u65F6\u70B9\u9876\u680F\u7684 \u2605 Star \u56DE\u6765\u3002",onboardStep1Title:"\u81EA\u52A8\u6C89\u6DC0\uFF0C\u4E0D\u7528\u624B\u52A8\u8BB0",onboardStep1Body:"\u6BCF\u8F6E\u5BF9\u8BDD\u7ED3\u675F\uFF0C\u503C\u5F97\u7559\u4E0B\u7684\u51B3\u7B56\u3001\u6839\u56E0\u548C\u6559\u8BAD\u4F1A\u88AB\u5199\u6210\u4E00\u5F20\u5361\u3002\u5148\u751F\u6210\uFF0C\u518D\u5BA1\u6838\u3002",onboardStep2Title:"\u8BFB\u5230\u6709\u7528\u7684\u5361\uFF0C\u70B9\u4E2A \u{1F44D}",onboardStep2Body:"\u6253\u5F00\u4EFB\u610F\u5361\u7247\uFF0C\u70B9 \u{1F44D} \u6709\u7528 / \u{1F44E} \u6CA1\u7528\u3002\u4E0D\u7528\u5148\u641C\u7D22\uFF0C\u6309\u94AE\u73B0\u5728\u4E00\u76F4\u90FD\u5728\u3002\u5B83\u4F1A\u5E2E\u52A9\u53EC\u56DE\u6392\u5E8F\u3002",onboardStep3Title:"\u5DE6\u4FA7\u65B0\u589E\u652F\u6301\u5165\u53E3",onboardStep3Body:"\u4EA4\u6D41\u7FA4\u3001\u8D5E\u52A9\u3001\u65E7\u7A0B\u5E8F\u3001\u5F02\u5E38\u53CD\u9988\u90FD\u5728\u5DE6\u680F\u5E95\u90E8\uFF1B\u9700\u8981\u5E2E\u52A9\u65F6\u4E0D\u7528\u7FFB README\u3002",onboardTip:"\u63D0\u793A\uFF1A\u8FD9\u4E2A\u5F15\u5BFC\u53EF\u4EE5\u5728\u300C\u652F\u6301\u4E0E\u4EA4\u6D41\u300D\u91CC\u91CD\u65B0\u6253\u5F00\u3002",navWorkspace:"\u5DE5\u4F5C\u533A",navSystem:"\u7CFB\u7EDF",navSupport:"\u652F\u6301",navQuotes:"\u4F5C\u8005\u8BED\u5F55",quoteHint:"\u70B9\u51FB\u6362\u4E00\u53E5",v5Local:"\u672C\u5730\u8FD0\u884C",v5Star:"\u53BB GitHub \u70B9 Star",runtimeTitle:"\u8FD0\u884C\u72B6\u6001",runtimeSub:"\u77E5\u8BC6\u5E93\u3001\u5907\u4EFD\u3001\u81EA\u52A8\u6C89\u6DC0\u4E0E\u7248\u672C",dbTitle:"\u77E5\u8BC6\u5E93",backupTitle:"\u5907\u4EFD",captureTitle:"\u81EA\u52A8\u6C89\u6DC0",versionTitle:"\u7248\u672C",cardsUnit:"\u5F20\u5361",links:"\u8FDE\u63A5",todayReview:"\u4ECA\u65E5\u56DE\u770B",openArrow:"\u6253\u5F00 \u2192",reshuffle:"\u6362\u4E00\u5F20",insightDecision:"\u51B3\u7B56",insightRoot:"\u6839\u56E0",insightLesson:"\u6559\u8BAD",insightSummary:"\u6458\u8981",pinCard:"\u56FA\u5B9A\u8FD9\u5F20\u5361",unpinCard:"\u53D6\u6D88\u56FA\u5B9A",pinnedOnly:"\u5DF2\u56FA\u5B9A",toastApproved:"\u5DF2\u6279\u51C6",toastRejected:"\u5DF2\u9A73\u56DE",toastCardDeleted:"\u5DF2\u5220\u9664",toastRestored:"\u5DF2\u6062\u590D",toastPurged:"\u5DF2\u5F7B\u5E95\u5220\u9664",toastPurgedExpired:"\u5DF2\u6E05\u7406\u8FC7\u671F\u56DE\u6536\u7AD9",toastFailed:"\u64CD\u4F5C\u5931\u8D25",noSelection:"\u8BF7\u5148\u9009\u62E9\u8981\u5904\u7406\u7684\u5361\u7247",enabledLabel:"\u542F\u7528\u8BB0\u5FC6\u6838\u5FC3",vaultDirLabel:"\u8BB0\u5FC6\u5E93\u76EE\u5F55\uFF08\u5355\u5E93\uFF09",captureCooldownMs:"\u6C89\u6DC0\u51B7\u5374 (ms)",captureProvider:"\u84B8\u998F provider\uFF08\u7559\u7A7A\u81EA\u52A8\uFF09",routeAuto:"\u81EA\u52A8\uFF08\u6309\u6CE8\u518C\u987A\u5E8F\uFF09",routeListFail:"\u53D6\u4E0D\u5230\u6A21\u578B\u5217\u8868\uFF08{err}\uFF09\u2192 \u4E0B\u9762\u53EF\u76F4\u63A5\u624B\u586B provider / model\uFF1B\u684C\u9762\u7248\u5F39\u7A97\u4F1A\u81EA\u52A8\u5411\u5BBF\u4E3B\u4EE3\u7406\uFF0C\u82E5\u4ECD\u5931\u8D25\u8BF7\u4ECE DSH \u8BBE\u7F6E\u9875\u6253\u5F00",captureFollowSession:"\u8DDF\u968F\u5F53\u524D\u4F1A\u8BDD\uFF08\u84B8\u998F\u7528\u4F1A\u8BDD\u7684 provider/model\uFF09",captureFirstOnly:"\u4EC5\u8BD5\u9996\u9009\uFF08\u5931\u8D25\u5373\u505C\uFF0C\u4E0D\u8F6E\u6362\u515C\u5E95\uFF09",llmTest:"\u6D4B\u8BD5\u84B8\u998F\u8DEF\u7531",llmTestOk:"\u2713 \u8C03\u7528\u6210\u529F",llmTestFail:"\u2717 \u8C03\u7528\u5931\u8D25",llmCandidates:"\u5019\u9009\u6570",captureModel:"\u84B8\u998F model\uFF08\u7559\u7A7A\u81EA\u52A8\uFF09",recallEmbedding:"\u8BED\u4E49\u53EC\u56DE provider\uFF08\u53EF\u9009\uFF09",sessionBudgetChars:"\u4F1A\u8BDD\u9884\u7B97 (\u5B57\u7B26)",saving:"\u4FDD\u5B58\u4E2D\u2026",savePending:"\u5DF2\u5199\u5165\u914D\u7F6E\u6587\u4EF6\uFF1B\u5BBF\u4E3B\u4ECD\u662F\u65E7\u7248\uFF0C\u91CD\u542F DSH \u540E\u5373\u4EE5\u65B0\u503C\u4E3A\u51C6\uFF08\u672C\u9762\u677F\u5DF2\u751F\u6548\uFF09",actionRunning:"\u5904\u7406\u4E2D\u2026",recycleEmptyHint:"\u56DE\u6536\u7AD9\u4E3A\u7A7A\uFF1A\u5220\u6389\u7684\u5361\u7247\u4F1A\u5148\u653E\u5230\u8FD9\u91CC\uFF0C\u4FDD\u7559 {days} \u5929\u540E\u81EA\u52A8\u6E05\u7406\u3002",recyclePurgeAll:"\u6E05\u7A7A\u56DE\u6536\u7AD9",recyclePurgeAllConfirm:"\u6C38\u4E45\u5220\u9664\u56DE\u6536\u7AD9\u91CC\u7684\u5168\u90E8 {n} \u5F20\u5361\u7247\uFF1F\u6B64\u64CD\u4F5C\u4E0D\u53EF\u6062\u590D\u3002",toastPurgeAll:"\u5DF2\u6C38\u4E45\u5220\u9664 {n} \u5F20",bucketDeleted:"\u5DF2\u5220\u9664",restoreToQueue:"\u9000\u56DE\u5BA1\u6838",fbCopyManual:"\u81EA\u52A8\u590D\u5236\u88AB\u6D4F\u89C8\u5668\u62E6\u622A\uFF0C\u5DF2\u628A\u5185\u5BB9\u653E\u5728\u4E0B\u9762\uFF1A\u70B9\u300C\u5168\u9009\u300D\u518D\u6309 Ctrl+C",vcPage:"\u9875\u9762\u811A\u672C",vcPageStale:"\u26A0 \u5F53\u524D\u9875\u9762\u4ECD\u5728\u8FD0\u884C\u65E7\u7248\u811A\u672C\uFF08\u9875\u9762 v{page} / \u78C1\u76D8 v{disk}\uFF09\uFF1A\u6309 Ctrl+F5 \u5237\u65B0\u9875\u9762\u5373\u751F\u6548\uFF1B\u82E5\u300C\u8FD0\u884C\u4E2D\u300D\u4ECD\u662F\u65E7\u7248\u53F7\uFF0C\u5219\u8FD8\u9700\u91CD\u542F\u684C\u9762\u7248 / DSH",vcLoaded:"\u8FD0\u884C\u4E2D\uFF08\u670D\u52A1\u672C\u9875\u7684\u8FDB\u7A0B\uFF09",vcResident:"\u5E38\u9A7B\u5B9E\u4F8B",vcOnDisk:"\u78C1\u76D8\u5B89\u88C5",vcLatest:"npm \u6700\u65B0",vcStale:"\u78C1\u76D8\u5DF2\u5B89\u88C5 v{disk}\uFF0C\u4F46\u670D\u52A1\u672C\u9875\u7684\u8FDB\u7A0B\u4ECD\u52A0\u8F7D v{loaded} \u2014\u2014 \u70B9\u300C\u91CD\u542F\u5E38\u9A7B\u5B9E\u4F8B\u300D\u5373\u53EF\u7528\u65B0\u4EE3\u7801\u91CD\u542F\u5B83\uFF08\u4E0D\u7528\u91CD\u542F DSH\uFF09",vcRestart:"\u91CD\u542F\u5E38\u9A7B\u5B9E\u4F8B",vcRestarting:"\u91CD\u542F\u4E2D\u2026",vcRestartSent:"\u5DF2\u8C03\u5EA6\u91CD\u542F\u5E38\u9A7B\u5B9E\u4F8B\uFF1A\u7EA6 3-8 \u79D2\u540E\u65B0\u8FDB\u7A0B\u63A5\u7BA1\uFF0C\u8BF7\u7A0D\u7B49\u518D\u5237\u65B0\u9875\u9762\uFF08Ctrl+F5\uFF09",vcRestartCurrent:"\u5E38\u9A7B\u5B9E\u4F8B\u5DF2\u7ECF\u662F\u6700\u65B0\u7248\uFF0C\u65E0\u9700\u91CD\u542F",vcRestartAnyway:"\u5E38\u9A7B\u5B9E\u4F8B\u5DF2\u662F v{ver}\uFF1B\u901A\u5E38\u65E0\u9700\u91CD\u542F\uFF0C\u5361\u4F4F/\u884C\u4E3A\u5F02\u5E38\u65F6\u53EF\u5F3A\u5236\u91CD\u542F",vcHostProcessStale:"\u78C1\u76D8\u5DF2\u5B89\u88C5 v{disk}\uFF0C\u4F46**\u670D\u52A1\u672C\u9875\u7684\u8FDB\u7A0B**\uFF08DSH \u5BBF\u4E3B\uFF09\u52A0\u8F7D\u7684\u4ECD\u662F v{loaded} \u2014\u2014 \u5B83\u6765\u81EA\u5BBF\u4E3B\u542F\u52A8\u65F6\u7684\u90A3\u4EFD\u4EE3\u7801\uFF1A**\u91CD\u542F\u5E38\u9A7B\u5B9E\u4F8B\u4E0D\u4F1A\u6539\u53D8\u672C\u9875**\uFF0C\u9700\u5B8C\u5168\u9000\u51FA\u5E76\u91CD\u5F00 DSH\u3002",vcRestartFixes:"\u70B9\u51FB\u4F1A\u628A\u5E38\u9A7B\u5B9E\u4F8B\uFF08\u7AEF\u53E3\u4E0A\u90A3\u4E2A\uFF09\u6362\u6210 v{disk}\uFF08\u5F53\u524D v{served}\uFF09\uFF0C\u4E0D\u7528\u91CD\u542F DSH",vcRestartStart:"\u70B9\u51FB\u4F1A\u7528\u5F53\u524D\u78C1\u76D8\u7248\u672C v{disk} \u628A\u5E38\u9A7B\u5B9E\u4F8B\u62C9\u8D77\u6765\uFF08\u4E0D\u7528\u91CD\u542F DSH\uFF09",vcRestartRepair:"\u70B9\u51FB\u4F1A\u628A\u5B83\u91CD\u65B0\u6258\u7BA1\u5E76\u4FDD\u6D3B\uFF08\u7248\u672C\u5DF2\u662F v{disk}\uFF0C\u4E0D\u7528\u91CD\u542F DSH\uFF09",vcRestartHostOnly:"\u5E38\u9A7B\u5B9E\u4F8B\u5DF2\u662F v{disk}\uFF1B\u672C\u9875\u663E\u793A v{loaded} \u6765\u81EA DSH \u5BBF\u4E3B \u2014\u2014 \u91CD\u542F\u5E38\u9A7B\u5B9E\u4F8B\u4E0D\u5F71\u54CD\u672C\u9875\uFF0C\u8BF7\u91CD\u542F DSH",vcRestartFail:"\u91CD\u542F\u8BF7\u6C42\u5931\u8D25",vcRestartNoRoute:"\u5F53\u524D\u9875\u9762\u5BF9\u63A5\u7684\u8FDB\u7A0B\u8FD8\u662F\u65E7\u7248\uFF08\u6CA1\u6709\u8FD9\u4E2A\u63A5\u53E3\uFF09\uFF1A\u8BF7\u91CD\u542F\u684C\u9762\u7248 / DSH \u540E\u518D\u8BD5\uFF0C\u6216\u6267\u884C {cmd}",vcHostStale:"\u4E0A\u65B9\u7684\u300C\u8FD0\u884C\u4E2D\u300D\u6765\u81EA\u670D\u52A1\u672C\u9875\u7684\u8FDB\u7A0B\uFF1B\u5E38\u9A7B\u5B9E\u4F8B\u5DF2\u662F\u65B0\u7248 \u2014\u2014 \u8981\u8BA9\u5B83\u4E5F\u53D8\u6210\u65B0\u7248\u53F7\uFF0C\u9700\u91CD\u542F\u684C\u9762\u7248 / DSH",vcResidentDownShort:"\u672A\u8FD0\u884C",vcResidentDown:"\u5E38\u9A7B\u5B9E\u4F8B\u6CA1\u5728\u8FD0\u884C\uFF08\u7AEF\u53E3 {port} \u65E0\u54CD\u5E94\uFF09\u2014\u2014 \u70B9\u4E0B\u9762\u7684\u6309\u94AE\u7528\u65B0\u4EE3\u7801\u628A\u5B83\u62C9\u8D77\u6765\uFF1B\u62C9\u4E0D\u8D77\u6765\u65F6\u6267\u884C {cmd}\uFF0C\u5E76\u8D34\u4E00\u4E0B dsh-memory status \u7684\u8F93\u51FA",vcResidentUnmanagedShort:"\u672A\u6258\u7BA1",vcResidentUnmanaged:"\u5E38\u9A7B\u5B9E\u4F8B\u5728\u670D\u52A1 v{served}\uFF0C\u4F46**\u6CA1\u6709\u770B\u95E8\u72D7\u4FDD\u6D3B**\uFF08\u505C\u6B62 / \u786C\u6740\u540E\u6B8B\u7559\u7684\u5B64\u513F\uFF09\u2014\u2014 \u70B9\u4E0B\u9762\u7684\u6309\u94AE\u628A\u5B83\u91CD\u65B0\u6258\u7BA1\uFF08\u91CD\u65B0\u62C9\u4E00\u4E2A\u770B\u95E8\u72D7 + \u65B0\u5B9E\u4F8B\uFF09\uFF1B\u4E5F\u53EF\u4EE5\u6267\u884C {cmd}",vcResidentLockUnknownShort:"\u6258\u7BA1\u72B6\u6001\u672A\u77E5",vcResidentReplaceBlockedShort:"\u4E0D\u53EF\u66FF\u6362",vcResidentHostManagedShort:"\u5BBF\u4E3B\u6258\u7BA1",vcResidentReplaceBlocked:"\u5E38\u9A7B\u5B9E\u4F8B**\u4E0D\u53EF\u66FF\u6362**\uFF08\u73AF\u5883\u9650\u5236\uFF09\uFF1A\u770B\u95E8\u72D7\u9501\u76EE\u5F55\u4E0D\u53EF\u5199\uFF08{err}\uFF1B{path}\uFF09\u2192 \u7AEF\u53E3\u4E0A\u4F1A**\u957F\u671F**\u505C\u5728 v{served}\u3002\u8FD9\u4E0D\u662F\u300C\u6682\u65F6\u843D\u540E\u300D\uFF1A\u81EA\u52A8\u66FF\u6362\u88AB\u6B63\u786E\u5730\u62D2\u7EDD\uFF08\u907F\u514D\u7559\u4E0B\u5B64\u513F\uFF09\u3002\u51FA\u8DEF\uFF1A\u4FEE\u590D\u8BE5\u76EE\u5F55\u6743\u9650\u540E\u6267\u884C {cmd}\uFF0C\u6216\u524D\u53F0\u89C2\u5BDF dsh-memory watchdog --port 7999",vcResidentLockUnknown:"\u5E38\u9A7B\u5B9E\u4F8B\u5728\u670D\u52A1 v{served}\uFF0C\u4F46**\u770B\u95E8\u72D7\u9501\u6587\u4EF6\u5199\u4E0D\u8FDB\u53BB**\uFF08\u53D7\u9650\u73AF\u5883\uFF1A\u6C99\u7BB1\u7981\u5199 / ACL / \u975E\u7CFB\u7EDF\u76D8\uFF09\u2192 \u65E0\u6CD5\u5224\u65AD\u5B83\u6709\u6CA1\u6709\u88AB\u6258\u7BA1\uFF08\u4E0D\u662F\u300C\u672A\u6258\u7BA1\u300D\uFF09\u3002\u539F\u56E0\uFF1A{err}\uFF08{path}\uFF09\u3002\u4FDD\u6D3B\u901A\u5E38\u4ECD\u7136\u6709\u6548\uFF1B\u70B9\u4E0B\u9762\u7684\u6309\u94AE\u53EF\u7528\u65B0\u4EE3\u7801\u91CD\u65B0\u6258\u7BA1\u4E00\u6B21\u3002",vcOutdated:"\u6709\u65B0\u7248\u672C",vcUpToDate:"\u5DF2\u662F\u6700\u65B0",vcCheck:"\u68C0\u67E5\u66F4\u65B0",checking:"\u68C0\u67E5\u4E2D\u2026",vcCheckFail:"\u68C0\u67E5\u66F4\u65B0\u5931\u8D25",recallSummaryLen:"\u53EC\u56DE\u6458\u8981\u957F\u5EA6",recallBody:"\u53EC\u56DE\u542B\u6B63\u6587",secretHint:"\u51ED\u8BC1\u53D6\u7528\u63D0\u793A\uFF08\u6CE8\u5165\u6BCF\u4E2A\u4F1A\u8BDD\uFF09",autoWeb:"Web server",autoWebMode:"\u4FDD\u6D3B\u6A21\u5F0F",webPort:"Web \u7AEF\u53E3",webCheckIntervalMs:"\u63A2\u6D3B\u95F4\u9694(ms)",webMaxRestart:"\u6700\u5927\u91CD\u542F\u6B21\u6570",watchdogAutoSpawn:"\u770B\u95E8\u72D7\u8FDB\u7A0B",autoRestartOnDrift:"\u7248\u672C\u6F02\u79FB\u81EA\u52A8\u91CD\u542F\u5E38\u9A7B\u5B9E\u4F8B",autoMcpSetup:"\u81EA\u52A8\u6302\u8F7D MCP",saveConfig:"\u4FDD\u5B58\u914D\u7F6E",saveFail:"\u4FDD\u5B58\u5931\u8D25",savedOk:"\u5DF2\u4FDD\u5B58",savedDirect:"\u672C\u673A\u6CA1\u6709 DSH \u5BBF\u4E3B\u5728\u8FD0\u884C\uFF0C\u5DF2\u76F4\u63A5\u5199\u5165\u5171\u4EAB\u914D\u7F6E\uFF08hooks / MCP / \u72EC\u7ACB\u9875\u7ACB\u5373\u751F\u6548\uFF09",savedApplied:"\u5DF2\u4FDD\u5B58\u5E76\u751F\u6548\uFF08\u5BBF\u4E3B\u5DF2\u5728\u8BF7\u6C42\u4E0A\u4E0B\u6587\u91CC\u5E94\u7528\uFF09",saveQueued:"\u5DF2\u4EA4\u7ED9 DSH \u5BBF\u4E3B\u540C\u6B65\uFF0C\u5C1A\u672A\u786E\u8BA4\u751F\u6548",saveHostGuard:"\u8BE5\u5BBF\u4E3B\u4E0D\u5141\u8BB8\u63D2\u4EF6\u4ECE\u81EA\u5DF1\u7684\u56DE\u8C03\u4E0A\u4E0B\u6587\u91CC\u5199\u914D\u7F6E\uFF1B\u8BF7\u5728\u300CDSH \u8BBE\u7F6E \u2192 \u8BB0\u5FC6\u300D\u91CC\u6539\u540C\u4E00\u9879\uFF0C\u6216\u7F16\u8F91 profile \u7684\u914D\u7F6E\u8865\u4E01\u5C42",saveFailHint:"\u5BBF\u4E3B\u4FA7\u672A\u5E94\u7528\uFF0C\u8BE6\u89C1\u300C\u53CD\u9988\u5F02\u5E38\u300D\u91CC\u7684\u8BCA\u65AD\u4FE1\u606F",recallTool:"recall \u5DE5\u5177",costControl:"\u6210\u672C\u63A7\u5236",costHint:"\u7701 token\u3001\u63A7 LLM \u6D88\u8017",distillEnabled:"\u84B8\u998F\u77E5\u8BC6\u5361(\u5F00=LLM \u538B\u7F29, \u5173=\u539F\u6587\u5361\u96F6 LLM)",dedupByLLM:"\u8BED\u4E49\u53BB\u91CD\u5582 LLM(\u5173=\u7EAF\u8BCD\u6CD5\u66F4\u7701)",captureMaxTokens:"\u84B8\u998F\u8F93\u51FA\u4E0A\u9650(token)",captureTimeoutMs:"\u84B8\u998F\u8D85\u65F6(\u6BEB\u79D2\uFF1B\u672C\u5730\u5927\u6A21\u578B\u51B7\u542F\u52A8\u5EFA\u8BAE 120000+)",recallMinScore:"\u53EC\u56DE\u76F8\u5173\u6027\u9608\u503C(\u8D8A\u9AD8\u8D8A\u7701)",configNeedsDsh:"\u914D\u7F6E\u7F16\u8F91\u9700\u5728 DSH \u5185\u6253\u5F00\uFF08\u672C\u9875\u53EF\u80FD\u53EA\u8BFB\u6216\u6709\u90E8\u5206\u7F3A\u5931\uFF09",installMcp:"\u5B89\u88C5 MCP",uninstallMcp:"\u5378\u8F7D MCP",uninstallConfirm:"\u786E\u8BA4\u5378\u8F7D\u8BE5\u667A\u80FD\u4F53\u7684 MCP\uFF1FClaude Code/Codex \u5C06\u65E0\u6CD5\u518D\u8C03\u7528\u8BB0\u5FC6\u5E93\u3002",presetConfig:"\u4E00\u952E\u63A8\u8350\u914D\u7F6E",presetHint:"\u70B9\u51FB\u586B\u5145\u5BF9\u5E94\u65B9\u6848\uFF0C\u70B9\u4FDD\u5B58\u751F\u6548",planApplied:"\u5DF2\u586B\u5165\u300C{plan}\u300D\xB7 \u70B9\u300C\u4FDD\u5B58\u914D\u7F6E\u300D\u751F\u6548",planDescA:"\u4E2A\u4EBA\u5F00\u53D1\u63A8\u8350 \xB7 \u84B8\u998F 4000 \xB7 \u5173\u770B\u95E8\u72D7",planDescB:"\u9884\u7B97\u654F\u611F \xB7 \u5173\u84B8\u998F \xB7 \u8FD1 0 \u6210\u672C",planDescC:"\u957F\u9879\u76EE \xB7 \u5F00\u770B\u95E8\u72D7 \xB7 \u9AD8\u8D28\u91CF",cfgSubCore:"\u81EA\u52A8\u6C89\u6DC0 / \u53EC\u56DE / \u5E93\u76EE\u5F55\u4E0E\u53BB\u91CD\u7B56\u7565",cfgSubMulti:"\u6309\u9879\u76EE\u9694\u79BB\u8BB0\u5FC6\u5E93\uFF0C\u5207\u6362\u540E CLI / MCP / hooks \u540C\u6B65\u751F\u6548",cfgSubCost:"\u63A7\u5236 LLM \u8C03\u7528\u4E0E\u53EC\u56DE\u89C4\u6A21\uFF0C\u76F4\u63A5\u51B3\u5B9A\u82B1\u591A\u5C11\u94B1",cfgSubAudit:"\u4EC0\u4E48\u5185\u5BB9\u9700\u8981\u4F60\u4EBA\u5DE5\u786E\u8BA4\u540E\u624D\u8FDB\u4E3B\u5E93",cfgSubService:"\u4FDD\u6D3B\u3001\u770B\u95E8\u72D7\u4E0E\u7248\u672C\u81EA\u6108\uFF0C\u4E00\u822C\u4FDD\u6301\u9ED8\u8BA4\u5373\u53EF",cfgDirty:"\u6709\u672A\u4FDD\u5B58\u7684\u66F4\u6539",cfgClean:"\u5DF2\u540C\u6B65",unitChars:"\u5B57",unitPerDay:"\u5F20 / \u5929",unitTokens:"tokens",unitMs:"\u6BEB\u79D2",unitTimes:"\u6B21",unitDays:"\u5929",mcpAutoHint:"\u81EA\u52A8\u8BC6\u522B\u5DF2\u5B89\u88C5\u7684 Agent \u4E0E\u5176 MCP \u914D\u7F6E\uFF08\u53EA\u8BFB\u63A2\u6D4B\uFF0C\u4E0D\u6539\u4EFB\u4F55\u6587\u4EF6\uFF09",mcpRefresh:"\u91CD\u65B0\u68C0\u6D4B",mcpSummary:"\u8BC6\u522B\u5230 {agents} \u4E2A Agent \xB7 {servers} \u4E2A MCP \xB7 {mounted} \u4E2A\u5DF2\u6302\u8F7D\u672C\u63D2\u4EF6",mcpNoServers:"\u672A\u914D\u7F6E MCP",mcpDetectedOnly:"\u4EC5\u8BC6\u522B",planA:"A \u8F7B\u91CF\u7701\u5FC3",planB:"B \u6781\u81F4\u7701\u94B1",planC:"C \u9AD8\u8D28\u91CF",pluginInfo:"\u63D2\u4EF6\u4FE1\u606F",organizeTitle:"\u6574\u7406\u5EFA\u8BAE",scanAndOrganize:"\u4E00\u952E\u641C\u7D22\u548C\u6574\u7406",scanHint:"\u70B9\u300C\u{1F50D} \u4E00\u952E\u641C\u7D22\u548C\u6574\u7406\u300D\u626B\u63CF\u76F8\u4F3C\u5361/\u9648\u65E7\u5361\uFF0C\u518D\u7528\u300C\u26A1 \u4E00\u952E\u4F18\u5316\u300D\u6267\u884C\u3002",mergeNow:"\u5408\u5E76",delete:"\u5220\u9664",captureAlert:"\u81EA\u52A8\u6C89\u6DC0\u5F02\u5E38",captureAlertHint:"\u6253\u5F00\u5DE6\u680F\u300C\u7528\u91CF/\u4ECA\u65E5\u300D\u770B\u81EA\u52A8\u6C89\u6DC0\u65E5\u5FD7\uFF1B\u82E5\u662F\u63A5\u53E3/\u7248\u672C\u4E0D\u5339\u914D\uFF0C\u9700\u66F4\u65B0 memory-eternal \u63D2\u4EF6\u3002",captureLog:"\u81EA\u52A8\u6C89\u6DC0\u65E5\u5FD7",captureLogHint:"\u6BCF\u8F6E\u5BF9\u8BDD\u7ED3\u675F\u540E\u81EA\u52A8\u8DD1\uFF1A\u76D1\u542C \u2192 \u5224\u5B9A \u2192 \u5199\u5361\u3002\u8FD9\u91CC\u663E\u793A\u6700\u8FD1 100 \u6761\uFF0C\u7528\u6765\u6392\u67E5\u300C\u4E3A\u4EC0\u4E48\u6CA1\u5199\u5361\u300D\u3002",captureLogEmpty:"\u8FD8\u6CA1\u6709\u8BB0\u5F55\u3002\u8DDF Agent \u804A\u4E00\u8F6E\uFF08> \u6355\u83B7\u6700\u5C0F\u957F\u5EA6\uFF09\u540E\u518D\u56DE\u6765\u770B\u3002",healthTitle:"\u5065\u5EB7\u6982\u89C8",healthHint:"\u5E93 / \u5907\u4EFD / \u6C89\u6DC0 / \u7248\u672C \u2014\u2014 \u4E00\u773C\u770B\u6E05\u6709\u6CA1\u6709\u9759\u9ED8\u574F\u6389\u7684\u4E1C\u897F",healthDb:"\u77E5\u8BC6\u5E93",healthDbBad:"\u5E93\u4E0D\u53EF\u5199\u6216\u635F\u574F",healthBackups:"\u5907\u4EFD",healthNoBackups:"\u6CA1\u6709\u5907\u4EFD\uFF08\u6267\u884C dsh-memory doctor \u53EF\u5EFA\uFF0C\u5BBF\u4E3B\u4E5F\u4F1A\u6BCF\u65E5\u5907\u4EFD\uFF09",healthBackupAge:"{n} \u4E2A \xB7 \u6700\u8FD1 {d} \u5929\u524D",healthBackupToday:"{n} \u4E2A \xB7 \u4ECA\u5929",healthCapture:"\u81EA\u52A8\u6C89\u6DC0",healthNoRecords:"\u6682\u65E0\u8BB0\u5F55\uFF08\u8FD8\u6CA1\u89E6\u53D1\u8FC7\u6C89\u6DC0\uFF09",healthCapOk:"\u6700\u8FD1\u4E00\u6B21\u6210\u529F\u5199\u5361",healthCapFail:"\u6700\u8FD1\u4E00\u6B21\u5931\u8D25",healthRunAlign:"\u8FD0\u884C\u300C\u7248\u672C\u5BF9\u9F50\u68C0\u67E5\u300D\u540E\u663E\u793A",healthVersion:"\u7248\u672C",ledgerTitle:"\u8BB0\u5FC6\u8D26\u672C\uFF08\u8FD1 7 \u5929\uFF09",ledgerHint:"\u53EC\u56DE\u6CE8\u5165\u4E86\u591A\u5C11\u3001\u84B8\u998F\u8C03\u7528\u4E86\u591A\u5C11\u6B21 \u2014\u2014 \u5224\u65AD\u300C\u5230\u5E95\u7701\u4E0D\u7701 token\u300D\u7684\u7B2C\u4E00\u5757\u6570\u636E",ledgerRecalls:"\u53EC\u56DE\u6B21\u6570",ledgerInjected:"\u6CE8\u5165",ledgerChars:"\u5B57\u7B26",ledgerCaptures:"\u6C89\u6DC0\u6B21\u6570",ledgerLlmCalls:"LLM \u8C03\u7528",ledgerEstimate:"\u4F30\u7B97 token",ledgerEstimateHint:"\u6309\u7EA6 2 \u5B57\u7B26 \u2248 1 token \u7C97\u4F30\uFF0C\u53EA\u770B\u91CF\u7EA7",ledgerUseful:"\u53EC\u56DE\u6709\u7528\u7387",ledgerUsefulHint:"\u6765\u81EA\u300C\u6709\u7528 / \u6CA1\u7528\u300D\u53CD\u9988\uFF1B\u4F4E\u4E8E 60% \u8BF4\u660E\u6CE8\u5165\u53EF\u80FD\u51C0\u4E8F",ledgerFormula:"\u51C0\u6536\u76CA \u2248 \u88AB\u907F\u514D\u7684\u4E0A\u4E0B\u6587\u5F00\u9500 \u2212\uFF08\u6CE8\u5165\u5B57\u7B26 + \u84B8\u998F\u8C03\u7528 \xD7 \u5355\u4EF7\uFF09\u3002\u8D26\u672C\u53EA\u8BB0\u300C\u82B1\u4E86\u591A\u5C11\u300D\uFF0C\u6536\u76CA\u4FA7\u8BF7\u7ED3\u5408\u4F60\u5B9E\u9645\u7701\u4E0B\u7684\u91CD\u8BFB / \u8FD4\u5DE5\u6765\u5224\u65AD\u3002",ledgerNoData:"\u8FD1 7 \u5929\u8FD8\u6CA1\u6709\u8BB0\u5F55\uFF1A\u804A\u51E0\u8F6E\u6216\u8BA9 agent recall \u4E00\u6B21\u540E\u518D\u770B\u3002",ledgerNeedRestart:"\u5BBF\u4E3B\u4ECD\u5728\u8DD1\u65E7\u7248 API\uFF08/ledger \u4E0D\u5B58\u5728\uFF09\uFF1A\u5B8C\u5168\u9000\u51FA\u5E76\u91CD\u5F00 DSH \u540E\uFF0C\u8D26\u672C\u624D\u4F1A\u5F00\u59CB\u8BB0\u5F55\u3002",alignTitle:"\u7248\u672C\u5BF9\u9F50\u68C0\u67E5",alignRun:"\u5F00\u59CB\u68C0\u67E5",alignFix:"\u91CD\u5199\u63A5\u7EBF",alignFixConfirm:"\u91CD\u5199 MCP / hooks \u63A5\u7EBF\uFF1F\uFF08\u53EA\u78B0\u63D2\u4EF6\u81EA\u5DF1\u7684\u952E\uFF0C\u4E0D\u52A8\u4F60\u7684\u6570\u636E\u4E0E\u914D\u7F6E\uFF09",alignFixed:"\u63A5\u7EBF\u5DF2\u91CD\u5199\uFF1B\u82E5\u4E0A\u9762\u63D0\u793A\u300C\u5BBF\u4E3B\u8FDB\u7A0B\u65E7\u300D\uFF0C\u4ECD\u9700\u5B8C\u5168\u9000\u51FA\u5E76\u91CD\u5F00 DSH",alignFail:"\u5BF9\u9F50\u68C0\u67E5\u5931\u8D25",alignHint:"\u63D2\u4EF6\u5347\u7EA7\u53EA\u6362\u78C1\u76D8\u6587\u4EF6 \u2014\u2014 \u5BBF\u4E3B\u5185\u5B58\u91CC\u7684\u4E8B\u4EF6\u8BA2\u9605\u4E0E MCP / hooks \u91CC\u7684\u65E7\u8DEF\u5F84\u4E0D\u4F1A\u81EA\u5DF1\u66F4\u65B0\uFF0C\u8FD9\u91CC\u4E00\u6B21\u67E5\u6E05",alignIdle:"\u70B9\u300C\u5F00\u59CB\u68C0\u67E5\u300D\uFF1A\u5BF9\u6BD4\u5BBF\u4E3B / \u5E38\u9A7B\u5B9E\u4F8B / npm \u7684\u7248\u672C\uFF0C\u5E76\u68C0\u67E5 MCP\u3001hooks \u91CC\u662F\u5426\u6709\u65E7\u8DEF\u5F84\u4E0E\u65E7\u53C2\u6570",alignDisk:"\u78C1\u76D8",alignResident:"\u5E38\u9A7B\u5B9E\u4F8B",alignHost:"\u5BBF\u4E3B\u8FDB\u7A0B",captureLogUnavailable:"\u65E5\u5FD7\u4EC5\u5728 DSH \u5BBF\u4E3B\u5185\u53EF\u7528\uFF08\u72EC\u7ACB Web \u9875\u6CA1\u6709 host \u8FD0\u884C\u65F6\uFF09\u3002",captureAgentCards:"Agent \u81EA\u52A8\u6C89\u6DC0\u7684\u5361",noCards:"\u6682\u65E0",loadMore:"\u52A0\u8F7D\u66F4\u591A",batchMerge:"\u4E00\u952E\u667A\u80FD\u5408\u5E76",mergeAllConfirm:"\u5C06\u6309\u76F8\u4F3C\u5EA6\u5206\u7EC4\u7684\u5361\u7247\u5404\u5408\u5E76\u4E3A\u4E00\u5F20\uFF08\u4FDD\u7559\u5404\u81EA kind\uFF09\uFF0C\u539F\u5361\u5220\u9664\uFF1F",crossVault:"\u8DE8\u5E93\u805A\u5408",deleteConfirm:"\u786E\u5B9A\u5220\u9664\u8BE5\u8BB0\u5FC6\u5361\uFF1F\u6B64\u64CD\u4F5C\u4E0D\u53EF\u64A4\u9500\u3002",editCard:"\u7F16\u8F91",editHint:"\u53EA\u6539\u6807\u9898 / \u6807\u7B7E / \u6B63\u6587\uFF1B\u72B6\u6001\u4E0E\u7C7B\u578B\u4ECD\u7531\u5BA1\u6838\u4E0E\u7CFB\u7EDF\u6D41\u8F6C\u51B3\u5B9A\uFF0C\u624B\u52A8\u7F16\u8F91\u4E0D\u4F1A\u7ED5\u8FC7\u5BA1\u6838\u3002",editTitle:"\u6807\u9898",editTags:"\u6807\u7B7E\uFF08\u9017\u53F7\u5206\u9694\uFF09",editTagsHint:"\u4F8B\u5982\uFF1A\u8BB0\u5FC6, \u68C0\u7D22, \u6027\u80FD",editBody:"\u6B63\u6587\uFF08Markdown\uFF09",editSave:"\u4FDD\u5B58",editSaving:"\u4FDD\u5B58\u4E2D\u2026",editCancel:"\u53D6\u6D88",editSaved:"\u5DF2\u4FDD\u5B58",editFail:"\u4FDD\u5B58\u5931\u8D25",editTitleEmpty:"\u6807\u9898\u4E0D\u80FD\u4E3A\u7A7A",editBodyEmpty:"\u6B63\u6587\u4E0D\u80FD\u4E3A\u7A7A",deleted:"\u5DF2\u5220\u9664",deleteFail:"\u5220\u9664\u5931\u8D25",deleteSelected:"\u5220\u9664\u9009\u4E2D",deletedSelected:"\u5F20\u5361\u5DF2\u5220\u9664",merge:"\u5408\u5E76",mergeNeed:"\u81F3\u5C11\u9009 2 \u5F20\u5361",mergeConfirm:"\u5C06\u6240\u9009\u5361\u7247\u5408\u5E76\u4E3A\u4E00\u5F20\u5E76\u5220\u9664\u539F\u5361\uFF1F",merged:"\u5DF2\u5408\u5E76",mergeFail:"\u5408\u5E76\u5931\u8D25",mcpInstalled:"\u2705 {agent} MCP \u5DF2\u5B89\u88C5",mcpUninstalled:"\u2705 {agent} MCP \u5DF2\u5378\u8F7D",mcpActionFail:"\u274C {agent} MCP \u64CD\u4F5C\u5931\u8D25\uFF1A{error}",dshHostLabel:"DeepSeek Harness\uFF08\u5F53\u524D\u5BBF\u4E3B\uFF09",restartHint:"\u5DF2\u4FDD\u5B58\u3002autoWebMode/watchdogAutoSpawn \u7B49\u9700\u91CD\u542F DSH \u751F\u6548\uFF1B\u5DF2\u6709\u5E38\u9A7B watchdog \u4E0D\u4F1A\u88AB\u81EA\u52A8\u505C\u6389\uFF0C\u9700 dsh-memory stop / restart\uFF08#19\uFF09",conflictRefresh:"\u914D\u7F6E\u5DF2\u88AB\u5916\u90E8\u4FEE\u6539\uFF0C\u8BF7\u5237\u65B0\u540E\u91CD\u8BD5",untitled:"\u65E0\u6807\u9898",tplBlank:"\u{1F4C4} \u7A7A\u767D",tagsHint:"\u6807\u7B7E\uFF08\u9017\u53F7\u5206\u9694\uFF09",connCount:"{n} \u8FDE\u63A5",tplDecisionTags:"\u51B3\u7B56, \u65B9\u6848",tplBugTags:"\u8E29\u5751, \u6559\u8BAD",tplMeetingTags:"\u4F1A\u8BAE, \u7EAA\u8981",tplWeeklyTags:"\u5468\u62A5",tplDecisionBody:`# \u6280\u672F\u51B3\u7B56\uFF1A[\u6807\u9898]
19
+ `);function wf(e={}){let t=e.lang==="en"?"en":"zh",n=t==="en"?$y:Uy,a=e.repo||"EternalNight996/memory-eternal";return n=n.split(rd).join("https://github.com/"+a),e.description&&(n=n.replace(t==="en"?"<write your problem here>":"<\u5728\u8FD9\u91CC\u5199\u4F60\u7684\u95EE\u9898>",String(e.description).trim())),e.diagnostics&&(n=n.replace(t==="en"?"<paste the diagnostics copied from the in-app Report-a-bug dialog>":"<\u628A\u300C\u53CD\u9988\u5F02\u5E38\u300D\u5F39\u7A97\u91CC\u590D\u5236\u7684\u8BCA\u65AD\u4FE1\u606F\u7C98\u5230\u8FD9\u91CC>",String(e.diagnostics).trim())),n}function kf({panX:e=0,panY:t=0,zoom:n=1,w:a=0,h:o=0,margin:i=60}={}){let l=n||1;return{x0:(0-e)/l-i,y0:(0-t)/l-i,x1:(a-e)/l+i,y1:(o-t)/l+i}}function yl(e,t,n,a){return a?e+n>=a.x0&&e-n<=a.x1&&t+n>=a.y0&&t-n<=a.y1:!0}function Sf(e,t=0){let n=Number(e)||0,a=Number(t)||0;if(n<=60)return 1/0;let o=n<=600?64:48;return a>=3?Math.min(o,32):o}function Cf(e,t={}){let n=Number.isFinite(t.limit)?t.limit:1/0,a=new Set,o=p=>{p&&a.size<n&&a.add(p)};if(o(t.focusId),o(t.hoverId),t.searchHits)for(let p of t.searchHits){if(a.size>=n)break;a.add(p)}let i=t.degree||{},l=p=>Number(i[p])||0,s=new Set;for(let p of Array.isArray(e)?e:[])p&&p.id&&s.add(p.id);let c=Array.isArray(t.order)&&t.order.length?t.order:(Array.isArray(e)?e:[]).slice().sort((p,f)=>l(f.id)-l(p.id)).map(p=>p.id);for(let p of c){if(a.size>=n)break;p&&s.has(p)&&!a.has(p)&&a.add(p)}return a}function Nf(e){let t=Math.floor(Number(e)||0);return t<=0?0:t>1200?48:t>700?60:t>300?110:200}function vl(e){let t=Math.floor(Number(e)||0),n=t>1e3?3e3:t>100?2e3:t>50?1200:800,a=t>100?.002:.005,o=t>1e3?.012:t>100?.005:.01,i=t>1e3?6:t>200?12:24;return{repulsion:n,attraction:a,centerGravity:o,velCap:i,theta:.8}}var Vy=.05,id=30;function ad(e,t,n,a){return(n>=e?1:0)+(a>=t?2:0)}var od=class e{constructor(t){let n=Math.max(16,Math.floor(Number(t)||0)*6+16);this.capacity=Math.max(0,Math.floor(Number(t)||0)),this.cap=n,this.cx=new Float64Array(n),this.cy=new Float64Array(n),this.half=new Float64Array(n),this.mass=new Float64Array(n),this.mx=new Float64Array(n),this.my=new Float64Array(n),this.child=new Int32Array(n*4),this.point=new Int32Array(n),this.fx=new Float64Array(this.capacity),this.fy=new Float64Array(this.capacity),this.count=0,this.lastVisits=0}ensureCapacity(t){if(t<=this.capacity)return;let n=new e(t);this.capacity=n.capacity,this.cap=n.cap,this.cx=n.cx,this.cy=n.cy,this.half=n.half,this.mass=n.mass,this.mx=n.mx,this.my=n.my,this.child=n.child,this.point=n.point,this.fx=n.fx,this.fy=n.fy,this.count=0}newNode(t,n,a){if(this.count>=this.cap)return-1;let o=this.count++;this.cx[o]=t,this.cy[o]=n,this.half[o]=a,this.mass[o]=0,this.mx[o]=0,this.my[o]=0,this.point[o]=-1;let i=o*4;return this.child[i]=-1,this.child[i+1]=-1,this.child[i+2]=-1,this.child[i+3]=-1,o}insert(t,n,a){let o=t[a];if(!o)return;let i=Number(o.x)||0,l=Number(o.y)||0;this.mass[n]+=1,this.mx[n]+=i,this.my[n]+=l;let s=n*4;if(this.child[s]===-1&&this.child[s+1]===-1&&this.child[s+2]===-1&&this.child[s+3]===-1){if(this.point[n]===-1){this.point[n]=a;return}let c=this.half[n]/2;if(c<.001||this.count+4>this.cap){this.point[n]=-2;return}let p=this.cx[n],f=this.cy[n];for(let y=0;y<4;y+=1)this.child[s+y]=this.newNode(p+(y&1?c:-c),f+(y&2?c:-c),c);let g=this.point[n];if(this.point[n]=-2,g>=0){let y=t[g];this.insert(t,this.child[s+ad(p,f,Number(y.x)||0,Number(y.y)||0)],g)}this.insert(t,this.child[s+ad(p,f,i,l)],a);return}this.insert(t,this.child[s+ad(this.cx[n],this.cy[n],i,l)],a)}build(t){let n=t.length;if(this.count=0,this.lastVisits=0,n===0)return-1;let a=1/0,o=-1/0,i=1/0,l=-1/0;for(let g=0;g<n;g+=1){let y=Number(t[g].x)||0,S=Number(t[g].y)||0;y<a&&(a=y),y>o&&(o=y),S<i&&(i=S),S>l&&(l=S)}let s=(a+o)/2,c=(i+l)/2,p=Math.max(1,Math.max(o-a,l-i)/2)*1.001,f=this.newNode(s,c,p);if(f<0)return-1;for(let g=0;g<n;g+=1)this.insert(t,f,g);return f}accumulate(t,n,a,o,i,l){let s=this.mass[t];if(s<=0)return;let c=this.mx[t]/s,p=this.my[t]/s,f=a-c,g=o-p,y=f*f+g*g;if(y<1e-9)return;let S=this.child[t*4]===-1;if(S&&this.point[t]===n)return;let R=Math.sqrt(y);if(this.lastVisits+=1,S||2*this.half[t]/R<l){let O=i*s/y;this.fx[n]+=f/R*O,this.fy[n]+=g/R*O;return}let M=t*4;for(let O=0;O<4;O+=1){let h=this.child[M+O];h>=0&&this.accumulate(h,n,a,o,i,l)}}compute(t,n){let a=t.length;this.ensureCapacity(a);let o=this.fx,i=this.fy;o.fill(0),i.fill(0),this.lastVisits=0;let l=this.build(t);if(l<0)return{fx:o,fy:i,visits:0};let s=n.repulsion,c=n.theta===void 0?.8:n.theta,p=n.skipIndex===void 0?-1:n.skipIndex;for(let f=0;f<a;f+=1){if(f===p)continue;let g=t[f];this.accumulate(l,f,Number(g.x)||0,Number(g.y)||0,s,c)}return{fx:o,fy:i,visits:this.lastVisits}}};function Tf(e,t={}){let n=e.nodes,a=n.length,o=t.params||vl(a),i=t.theta===void 0?o.theta:t.theta;e.tickCount=(e.tickCount||0)+1;let l=t.settleTicks===void 0?460:t.settleTicks,s=t.alphaDecay===void 0?.08:t.alphaDecay;e.alpha===void 0&&(e.alpha=1),e.tickCount<=l?e.alpha=1:e.alpha+=((e.dragNode?.35:0)-e.alpha)*s,e.alpha<1e-4&&(e.alpha=0);let c=Math.max(0,Math.min(1,Number(t.alphaFloor)||0));e.alpha<c&&(e.alpha=c);let p=t.alpha===void 0?e.alpha:t.alpha,f=Math.min(.4,e.tickCount/1500),g=t.damping===void 0?.9-f:Math.max(.1,Math.min(.95,Number(t.damping)||.5)),y=e.dragNode?n.indexOf(e.dragNode):-1;(!e.forceEngine||e.forceEngine.capacity<a)&&(e.forceEngine=new od(a));let S=e.forceEngine.compute(n,{repulsion:o.repulsion*p,theta:i,skipIndex:y}),R=S.fx,M=S.fy;for(let D=0;D<a;D+=1){if(D===y)continue;let L=n[D],_=R[D],U=M[D];if(Number.isFinite(_)||(_=0),Number.isFinite(U)||(U=0),e.clustered&&e.typeCenters&&e.typeCenters[L.type]){let ge=e.typeCenters[L.type];_+=(ge.x-L.x)*.006*p,U+=(ge.y-L.y)*.006*p}else _-=L.x*o.centerGravity*p,U-=L.y*o.centerGravity*p;let $=((Number(L.vx)||0)+_)*g,ce=((Number(L.vy)||0)+U)*g;$>o.velCap?$=o.velCap:$<-o.velCap&&($=-o.velCap),ce>o.velCap?ce=o.velCap:ce<-o.velCap&&(ce=-o.velCap),L.vx=$,L.vy=ce}let O=e.edges||[],h=e.edgePairs||null,m=e.nodeById||null,b=h?h.length/2:O.length;for(let D=0;D<b;D+=1){let L,_;if(h)L=n[h[D*2]],_=n[h[D*2+1]];else{let V=O[D];L=m?m.get(V.sourceNodeId):null,_=m?m.get(V.targetNodeId):null}if(!L||!_)continue;let U=_.x-L.x,$=_.y-L.y,ce=Math.sqrt(U*U+$*$)||1,ge=(ce-100)*o.attraction*p,fe=U/ce*ge,Pe=$/ce*ge;e.dragNode!==L&&(L.vx+=fe,L.vy+=Pe),e.dragNode!==_&&(_.vx-=fe,_.vy-=Pe)}let P=0;for(let D=0;D<a;D+=1){let L=n[D];D!==y&&(L.x+=L.vx,L.y+=L.vy,P+=L.vx*L.vx+L.vy*L.vy)}let j=a?Math.sqrt(P/a):0;return j<Vy&&e.tickCount>60&&!e.dragNode?e.quietTicks=(e.quietTicks|0)+1:e.quietTicks=0,{rms:j,tickCount:e.tickCount,quietTicks:e.quietTicks,params:o,visits:S.visits,alpha:p}}function na(e){return(Array.isArray(e)?e:[]).filter(Boolean).join("/")}function Mf(e){return String(e??"").split("/").filter(Boolean)}function Ef(e,t,n={}){let a=na(t);return`${e}/graph/level?path=${encodeURIComponent(a)}${n.all?"&all=1":""}`}function Gy(e){let t=Math.max(0,Math.floor(Number(e)||0)),n=24+38*Math.log10(Math.max(1,t));return Math.max(34,Math.min(240,Math.round(n)))}function Ky({kind:e="other",degree:t=0,maxDegree:n=1}={}){let a=Math.max(0,Number(t)||0),o=Math.max(1,Number(n)||1);return 9+Math.min(10,a/o*8)+(e==="core"?3:0)}function zf(e,t={}){let n=Math.max(0,Math.floor(Number(e)||0));if(n<1e4)return String(n);let a=t.unit||"\u4E07",o=t.locale||"zh-CN";if(t.intl!==!1)try{return new Intl.NumberFormat(o,{notation:"compact",maximumFractionDigits:1}).format(n)}catch{}return a==="\u4E07"?Math.round(n/1e3)/10+"\u4E07":n>=1e6?Math.round(n/1e5)/10+"M":Math.round(n/100)/10+"K"}function Rf(e,t={}){let n=e||{},a=n.type==="planet",o=n.kind||"other",i=String(n.label||n.title||n.name||n.id||"");return{id:String(n.id||""),title:i,name:i,type:o,planet:a,count:a?Math.max(0,Math.floor(Number(n.count)||0)):0,tags:Array.isArray(n.tags)?n.tags.slice():[],updated:n.updated||"",r:a?Gy(n.count):Ky({kind:o,degree:t.degree,maxDegree:t.maxDegree})}}function Lf(e){return{...e||{},repulsion:1600,centerGravity:.004}}function Pf(e,t={}){let n=Math.max(1,Number(t.timeoutMs)||1600),a=Math.max(0,Number(t.elapsedMs)||0),o=String(e&&e.name||""),i=String(e&&e.message||e||""),s=o==="AbortError"||/abort/i.test(i)||a>=n;return{timeout:s,message:s?`\u5C42\u7EA7\u52A0\u8F7D\u8D85\u65F6\uFF08${n}ms\uFF09`:i||"\u672A\u77E5\u9519\u8BEF"}}function Df(e=96){let t=Math.max(1,Math.floor(Number(e)||96)),n=new Map;return{get size(){return n.size},has(a){return n.has(a)},get(a){if(!n.has(a))return null;let o=n.get(a);return n.delete(a),n.set(a,o),o},set(a,o){for(n.has(a)&&n.delete(a),n.set(a,o);n.size>t;)n.delete(n.keys().next().value);return o},clear(){n.clear()},keys(){return[...n.keys()]}}}function Af(e={}){let t=e.raf||(c=>requestAnimationFrame(c)),n=e.cancelRaf||(c=>cancelAnimationFrame(c)),a=e.setTimeout||((c,p)=>setTimeout(c,p)),o=e.clearTimeout||(c=>clearTimeout(c)),i=new Set,l=new Set,s=[];return{raf(c){let p=t(()=>{i.delete(p),c()});return i.add(p),p},cancelRaf(c){c!=null&&(i.delete(c),n(c))},setTimeout(c,p){let f=a(()=>{l.delete(f),c()},p);return l.add(f),f},clearTimeout(c){c!=null&&(l.delete(c),o(c))},listen(c,p,f,g){c.addEventListener(p,f,g),s.push({target:c,type:p,fn:f,opts:g})},snapshot(){return{rafs:i.size,timers:l.size,listeners:s.length}},releaseAll(){for(let c of[...i]){i.delete(c);try{n(c)}catch{}}for(let c of[...l]){l.delete(c);try{o(c)}catch{}}for(let c of s.splice(0))try{c.target.removeEventListener(c.type,c.fn,c.opts)}catch{}}}}function Ff(e,t={}){let n=Math.max(1,Number(t.maxItems)||1e3),a=Math.max(1,Number(t.payloadLimit)||1048576),o=e&&e.level&&Array.isArray(e.level.items)?e.level.items.length:0,i=Number(e&&e.stats&&e.stats.bytes)||0,l=[];return o>n&&l.push(`\u5355\u5C42\u56FE\u5143 ${o} > ${n}`),i>a&&l.push(`\u5C42 payload ${i} > ${a}`),{ok:l.length===0,items:o,bytes:i,problems:l}}function qy(e,t){if(e===t)return!0;if(e===null||t===null||e===void 0||t===void 0||typeof e!="object"&&typeof t!="object")return e===t;try{return JSON.stringify(e)===JSON.stringify(t)}catch{return!1}}function If(e,t){let n={...e||{}},a={};for(let[o,i]of Object.entries(t||{}))qy(e?e[o]:void 0,i)||(n[o]=i,a[o]=i);return{values:n,overlay:a}}var r=ur(jo(),1);var J="/memory-eternal/api",xl=["\u843D\u9B44\u8C37\u4E2D\u5BD2\u98CE\u5439\uFF0C\u6625\u79CB\u8749\u9E23\u5C11\u5E74\u5F52\u3002\u8361\u9B42\u5C71\u5904\u77F3\u4EBA\u6CEA\uFF0C\u5B9A\u4ED9\u6E38\u8D70\u9B54\u5411\u5317\u3002\u9006\u6D41\u6CB3\u4E0A\u4E07\u4ED9\u9000\uFF0C\u7231\u60C5\u4E0D\u654C\u575A\u6301\u6CEA\u3002\u5BBF\u547D\u5929\u6210\u547D\u4E2D\u8D25\uFF0C\u4ED9\u5C0A\u6094\u800C\u6211\u4E0D\u6094\u3002","\u65E9\u5C81\u5DF2\u77E5\u4E16\u4E8B\u8270\uFF0C\u4ECD\u8BB8\u98DE\u9E3F\u8361\u4E91\u95F4\u3002","\u7537\u513F\u4E0D\u5C55\u51CC\u4E91\u5FD7\uFF0C\u7A7A\u8D1F\u5929\u751F\u516B\u5C3A\u8EAF\u3002","\u5343\u53E4\u5730\u4ED9\u968F\u98CE\u901D\uFF0C\u6614\u65E5\u4E09\u738B\u5F52\u9752\u51A2\u3002\u9633\u83BD\u608D\u9668\u8C01\u65E0\u8D25\uFF1F\u5377\u571F\u91CD\u6765\u518D\u79F0\u738B\u3002","\u5929\u6CB3\u4E00\u6302\u6DD8\u9F99\u9C7C\uFF0C\u9006\u5929\u72EC\u884C\u987E\u516B\u8352\u3002\u4ECA\u671D\u6682\u4E14\u5C55\u7FFC\u53BB\uFF0C\u660E\u671D\u98DE\u4ED9\u7B1E\u51E4\u51F0\uFF01","\u72EC\u5E1C\u5165\u6E0A\u6DF1\u672A\u77E5\uFF0C\u8EAB\u4F3C\u6D6E\u840D\u547D\u96BE\u6301\u3002\u5343\u821F\u7686\u671D\u5F52\u6D77\u5904\uFF0C\u4E00\u82C7\u9752\u62E8\u620F\u6D6A\u5DC5\u3002\u60CA\u9E3F\u56DB\u6563\u9C7C\u9003\u5C3D\uFF0C\u552F\u6709\u6B8B\u5E06\u50B2\u6B64\u95F4\u3002\u5F85\u5230\u5929\u5F00\u4E91\u96FE\u6563\uFF0C\u8D1F\u624B\u76F4\u671B\u7B11\u82CD\u5929\u3002"],Bf="\u300A\u86CA\u771F\u4EBA\u300B\xB7 \u5927\u7231\u4ED9\u5C0A";async function kl(e){try{let t=await fetch(`${J}/open-external?url=${encodeURIComponent(e)}`,{method:"POST"}),n=await t.json().catch(()=>null);if(t.ok&&n&&n.ok)return!0}catch{}try{if(window.open(e,"_blank","noopener,noreferrer"))return!0}catch{}try{let t=document.createElement("a");return t.href=e,t.target="_blank",t.rel="noopener noreferrer",t.click(),!0}catch{}return!1}var r0=100;var hd={nav:"\u8BB0\u5FC6",loading:"\u52A0\u8F7D\u4E2D\u2026",loadingGraph:"\u6B63\u5728\u52A0\u8F7D\u77E5\u8BC6\u661F\u56FE\u2026",refresh:"\u5237\u65B0",overview:"\u8BB0\u5FC6\u5E93\u6982\u89C8",total:"\u77E5\u8BC6\u5361",recent:"\u8FD1 7 \u5929\u65B0\u589E",tags:"\u6807\u7B7E",searchPlaceholder:"\u641C\u7D22\u8BB0\u5FC6\uFF08\u652F\u6301\u4E2D\u6587\u7247\u6BB5\uFF09\u2026",search:"\u641C\u7D22",all:"\u5168\u90E8",kindProject:"\u9879\u76EE",kindKnowledge:"\u77E5\u8BC6",kindOther:"\u5176\u4ED6",kindContent:"\u5185\u5BB9",kindPrompt:"\u63D0\u793A\u8BCD",kindBusiness:"\u4E1A\u52A1",kindTool:"\u5DE5\u5177",kindMistake:"\u6559\u8BAD",kindCore:"\u6838\u5FC3\u8BB0\u5FC6",kindSkill:"\u6280\u80FD",newsTab:"\u65B0\u95FB",newsTitle:"\u65B0\u95FB",newsHint:"\u6BCF\u65E5 AI \u65B0\u95FB\u3001\u672C\u6708\u699C\u5355\uFF0C\u4EE5\u53CA\u4F60\u81EA\u5DF1\u7684\u53D1\u5E03\u3002",newsNew:"\u5199\u4E00\u6761",newsSearch:"\u641C\u7D22\u6807\u9898 / \u6B63\u6587 / \u6807\u7B7E\u2026",newsUnreadOnly:"\u53EA\u770B\u672A\u8BFB",newsEmpty:"\u8FD8\u6CA1\u6709\u65B0\u95FB\u3002\u5199\u7B2C\u4E00\u6761\u53D1\u5E03\u3001\u51B3\u7B56\u6216\u56E2\u961F\u7B80\u62A5\u3002",newsNoMatch:"\u6CA1\u6709\u5339\u914D\u7684\u65B0\u95FB",newsPinned:"\u7F6E\u9876",newsRead:"\u5DF2\u8BFB",newsUnread:"\u672A\u8BFB",newsMarkRead:"\u6807\u8BB0\u5DF2\u8BFB",newsMarkUnread:"\u6807\u8BB0\u672A\u8BFB",newsEdit:"\u7F16\u8F91",newsDeleteConfirm:"\u5220\u9664\u8FD9\u6761\u65B0\u95FB\uFF1F",newsDeleted:"\u5DF2\u5220\u9664",newsSave:"\u4FDD\u5B58",newsSaving:"\u4FDD\u5B58\u4E2D\u2026",newsSaved:"\u5DF2\u4FDD\u5B58",newsSaveFail:"\u4FDD\u5B58\u5931\u8D25",newsTitleField:"\u6807\u9898",newsBodyField:"\u6B63\u6587\uFF08Markdown\uFF09",newsCategoryField:"\u5206\u7C7B",newsSourceField:"\u6765\u6E90",newsUrlField:"\u94FE\u63A5",newsTagsField:"\u6807\u7B7E\uFF08\u9017\u53F7\u5206\u9694\uFF09",newsDateField:"\u65E5\u671F",newsPinField:"\u7F6E\u9876",newsPreview:"\u9884\u89C8",newsEditBody:"\u7F16\u8F91\u6B63\u6587",newsOpenLink:"\u6253\u5F00\u94FE\u63A5",newsToday:"\u4ECA\u5929",newsYesterday:"\u6628\u5929",newsEarlier:"\u66F4\u65E9",newsTitlePlaceholder:"\u4F8B\u5982\uFF1Av0.20.0 \u53D1\u5E03\u8BF4\u660E",newsBodyPlaceholder:"\u5199\u70B9\u503C\u5F97\u7559\u4E0B\u7684\u5185\u5BB9\u2026\u652F\u6301 Markdown",newsCountUnit:"\u6761",cancel:"\u53D6\u6D88",newsDaily:"\u4ECA\u65E5\u65B0\u95FB",newsMonthly:"\u672C\u6708",newsMine:"\u6211\u7684\u65B0\u95FB",newsDailySub:"\u6BCF\u65E5\u6700\u65B0\u7684 AI \u65B0\u95FB\uFF0C\u4E2D\u6587\u4F18\u5148",newsMonthlySub:"\u672C\u6708 AI \u65B0\u95FB\uFF1A\u4E2D\u6587\u6309\u65F6\u95F4\u5F52\u6863\uFF0C\u82F1\u6587\u6309 Hacker News \u70ED\u5EA6",newsMineSub:"\u4F60\u81EA\u5B9A\u4E49\u7684\u53D1\u5E03\u3001\u51B3\u7B56\u548C\u56E2\u961F\u7B80\u62A5",newsLoading:"\u6B63\u5728\u62C9\u53D6\u8D44\u8BAF\u2026",newsFeedError:"\u8D44\u8BAF\u6E90\u6682\u65F6\u4E0D\u53EF\u7528",newsHeat:"\u70ED\u5EA6",newsComments:"\u8BC4\u8BBA",newsOriginal:"\u9605\u8BFB\u539F\u6587",newsUpdatedAt:"\u66F4\u65B0\u4E8E",newsPartialFail:"\u90E8\u5206\u6765\u6E90\u5931\u8D25",newsFeedEmpty:"\u4ECA\u5929\u8FD8\u6CA1\u6709\u6293\u5230\u8D44\u8BAF\uFF0C\u70B9\u5237\u65B0\u518D\u8BD5\u3002",newsFeedRefresh:"\u5237\u65B0\u8D44\u8BAF",newsLoadingHint:"\u9996\u6B21\u52A0\u8F7D\u4F1A\u6293\u53D6\u591A\u4E2A\u4E2D\u6587\u8D44\u8BAF\u6E90\uFF0C\u53EF\u80FD\u9700\u8981\u51E0\u79D2\u2026",newsRetry:"\u91CD\u8BD5",newsSearchGo:"\u641C\u7D22",newsFollow:"\u5173\u6CE8",newsFollowPreview:"\u6211\u8FD9\u6837\u7406\u89E3\uFF0C\u8981\u5173\u6CE8\u5417\uFF1F",newsFollowConfirm:"\u5F00\u59CB\u5173\u6CE8",newsFollowAdded:"\u5DF2\u5173\u6CE8",newsFollowExists:"\u5DF2\u7ECF\u5728\u5173\u6CE8\u4E86",newsFollowRemoved:"\u5DF2\u53D6\u6D88\u5173\u6CE8",newsFollowFail:"\u5173\u6CE8\u5931\u8D25",newsFollowNoQuery:"\u5148\u8F93\u5165\u4E00\u4E2A\u4E3B\u9898\u8BCD",newsFollowDomains:"\u5728\u8FD9\u4E9B\u6765\u6E90\u91CC\u627E",newsFollowEmpty:"\u8FD8\u6CA1\u6709\u5173\u6CE8\u4EFB\u4F55\u4E3B\u9898\u3002\u641C\u4E00\u4E2A\u8BCD\u540E\u70B9\u300C\u5173\u6CE8\u300D\uFF0C\u4EE5\u540E\u5B83\u81EA\u5DF1\u4F1A\u66F4\u65B0\u3002",newsIntentHint:"\u8FD9\u770B\u8D77\u6765\u662F\u4E00\u53E5\u6307\u4EE4 \u2014\u2014 \u70B9\u300C\uFF0B \u5173\u6CE8\u300D\u8BA9\u5B83\u6301\u7EED\u53BB\u5BF9\u5E94\u6765\u6E90\u91CC\u627E\uFF1B\u4E0B\u9762\u7684\u5217\u8868\u4E0D\u518D\u6309\u5B57\u9762\u8FC7\u6EE4\u3002",newsFollowing:"\u5173\u6CE8\u52A8\u6001",newsDigest:"\u5173\u6CE8\u6458\u8981\u63A8\u9001",newsDigestHint:"\u5F00\u542F\u540E\uFF0C\u5BBF\u4E3B\u6309\u95F4\u9694\u6293\u53D6\u300C\u65B0\u95FB\u5173\u6CE8\u300D\uFF0C\u53EA\u6709\u51FA\u73B0\u300C\u65B0\u300D\u5185\u5BB9\u65F6\u624D\u4F1A\u8BA9 Agent \u5728\u4E0B\u4E00\u8F6E\u63D0\u4E00\u53E5\u3002\u9ED8\u8BA4\u5173\u95ED\uFF1B\u5173\u6389\u5C31\u4E0D\u6253\u6270\u3002",newsDigestEnabled:"\u542F\u7528\u63A8\u9001",newsDigestInterval:"\u6293\u53D6\u95F4\u9694\uFF08\u5206\u949F\uFF09",newsDigestMaxItems:"\u6BCF\u6761\u6458\u8981\u6700\u591A\u51E0\u6761",newsDigestNow:"\u7ACB\u5373\u751F\u6210\u5E76\u9884\u89C8",newsDigestNowHint:"\u5F00\u542F\u524D\u53EF\u4EE5\u5148\u70B9\u5B83\uFF0C\u770B\u770B\u5230\u5E95\u4F1A\u63A8\u9001\u4EC0\u4E48\u3002",newsDigestBuilding:"\u751F\u6210\u4E2D\u2026",newsDigestDone:"\u6458\u8981\u5DF2\u751F\u6210",newsDigestEmpty:"\u5F53\u524D\u6CA1\u6709\u65B0\u7684\u5173\u6CE8\u5185\u5BB9",newsDigestFail:"\u751F\u6210\u6458\u8981\u5931\u8D25",newsSortRec:"\u4E3A\u4F60\u63A8\u8350",newsSortTime:"\u6700\u65B0",newsPersonalized:"\u5DF2\u6309\u4F60\u7684\u559C\u7231\u5B9A\u5236\u6392\u5E8F",newsLastQuery:"\u4E0A\u6B21\u641C\u7D22",newsResetPrefs:"\u91CD\u7F6E\u504F\u597D",newsHeroEye:"NEWSROOM \xB7 AI \u60C5\u62A5\u7AD9",newsHeroHint:"\u641C\u7D22\u4E00\u6B21\u5C31\u4F1A\u88AB\u8BB0\u4F4F\uFF0C\u4E0B\u6B21\u6253\u5F00\u81EA\u52A8\u6309\u4F60\u7684\u53E3\u5473\u6392\u5E8F\uFF1B\u53EA\u5728\u672C\u9875\u9996\u6B21\u6253\u5F00\u65F6\u62C9\u53D6\u4E00\u6B21\u6570\u636E\u3002",newsMatched:"\u6761\u547D\u4E2D",newsNoMatch:"\u6CA1\u6709\u5339\u914D\u7684\u8D44\u8BAF",newsNoMatchHint:"\u8FD9\u6279\u6570\u636E\u91CC\u6CA1\u6709\u547D\u4E2D\u5F53\u524D\u5173\u952E\u8BCD + \u5206\u7C7B + \u8BED\u8A00\u7684\u6761\u76EE\uFF0C\u6E05\u9664\u7B5B\u9009\u5C31\u80FD\u770B\u56DE\u5168\u90E8\u3002",newsClearFilters:"\u6E05\u9664\u7B5B\u9009",newsJustNow:"\u521A\u521A",newsMinutesAgo:"\u5206\u949F\u524D",newsHoursAgo:"\u5C0F\u65F6\u524D",newsDaysAgo:"\u5929\u524D",newsLangZh:"\u4E2D\u6587",newsLangEn:"\u82F1\u6587",newsLangAll:"\u4E0D\u9650",newsZhArchive:"\u4E2D\u6587\u6708\u699C\u6309\u65F6\u95F4\u5F52\u6863\uFF08\u4E2D\u6587\u6E90\u6682\u65E0\u516C\u5F00\u70ED\u5EA6\u5206\u6570\uFF09",newsEnRanking:"\u82F1\u6587\u6708\u699C\u6309 Hacker News \u5206\u6570\u6392\u540D",skillCards:"\u6280\u80FD\u5361",skillCardsHint:"\u4ECE\u672C\u673A\u5B9E\u9645\u5B89\u88C5/\u53EF\u7528\u7684\u6280\u80FD\u751F\u6210\u5361\u7247\uFF0C\u5F3A\u5236\u8FDB\u5165\u5BA1\u6838\uFF1B\u4E0D\u7531 Agent \u5BF9\u8BDD\u6C89\u6DC0\u3002",skillAutoSync:"\u81EA\u52A8\u540C\u6B65\u6280\u80FD\u5361",syncSkills:"\u540C\u6B65\u6280\u80FD",syncingSkills:"\u6B63\u5728\u540C\u6B65\u6280\u80FD\u2026",skillsSyncDone:"\u6280\u80FD\u5361\u540C\u6B65\u5B8C\u6210",skillsScanned:"\u626B\u63CF",skillsCreated:"\u65B0\u589E",skillsUpdated:"\u66F4\u65B0",skillsPendingUpdates:"\u5F85\u5BA1\u66F4\u65B0",skillsSyncFail:"\u6280\u80FD\u5361\u540C\u6B65\u5931\u8D25",cardsTab:"\u77E5\u8BC6\u5361",webTab:"Web \u7248",webOpening:"\u6B63\u5728\u7528\u9ED8\u8BA4\u6D4F\u89C8\u5668\u6253\u5F00 Web \u7248\u2026",webOpened:"\u5DF2\u7528\u9ED8\u8BA4\u6D4F\u89C8\u5668\u6253\u5F00 Web \u7248",webOpenFail:"\u6253\u5F00\u6D4F\u89C8\u5668\u5931\u8D25\uFF0C\u53EF\u624B\u52A8\u8BBF\u95EE",terminalTab:"\u7EC8\u7AEF\u7248",terminalTitle:"\u7EC8\u7AEF\u5B8C\u6574\u7248",terminalIntro:"Web UI \u4E0D\u6E32\u67D3\u7EC8\u7AEF\u539F\u751F TUI\u3002\u8981\u5B8C\u6574\u6279\u5361\u3001\u957F\u6587\u6EDA\u52A8\u548C\u5168\u9009\uFF0C\u8BF7\u6253\u5F00\u672C\u673A\u7EC8\u7AEF\uFF1B\u6216\u8005\u76F4\u63A5\u5728 dsh-tui \u91CC\u7528 /audit\u3002",terminalRun:"\u53EA\u8BFB\u4F53\u9A8C\uFF08\u771F\u5B9E\u961F\u5217\uFF09",terminalTui:"\u5199\u5165\u6A21\u5F0F\uFF08\u771F\u5B9E\u6279\u9A73\uFF09",terminalWhy:"\u4E3A\u4EC0\u4E48\u4E0D\u76F4\u63A5\u5D4C\u8FDB\u7F51\u9875",terminalWhyBody:"\u7EC8\u7AEF TUI \u4F9D\u8D56 alternate screen\u3001\u539F\u59CB\u952E\u76D8\u4E8B\u4EF6\u548C\u5B57\u7B26\u7F51\u683C\uFF0C\u65E0\u6CD5\u7528 iframe \u5FE0\u5B9E\u5D4C\u5165\u3002\u8FD9\u91CC\u7ED9\u51FA\u771F\u5B9E\u547D\u4EE4\uFF0C\u6253\u5F00\u540E\u5C31\u662F\u540C\u4E00\u5957\u754C\u9762\u3002",terminalCopy:"\u590D\u5236\u547D\u4EE4",terminalCopied:"\u5DF2\u590D\u5236",terminalPreview:"\u7EC8\u7AEF\u9884\u89C8",graphTab:"\u77E5\u8BC6\u661F\u56FE",graph:"\u77E5\u8BC6\u56FE\u8C31",graphHint:"\u8282\u70B9=\u77E5\u8BC6\u5361\uFF1B\u8FDE\u7EBF=[[\u94FE\u63A5]] \u6216\u5171\u4EAB\u6807\u7B7E\u3002\u70B9\u51FB\u8282\u70B9\u9605\u8BFB\u5361\u7247\u3002",graphLegendTitle:"\u5361\u7247\u5206\u5E03",graphTip:"\u5DE6\u952E\u51F8\u663E \xB7 Shift+\u62D6\u62FD\u6846\u9009 \xB7 \u53F3\u952E\u83DC\u5355 \xB7 \u6EDA\u8F6E\u7F29\u653E \xB7 \u62D6\u62FD\u5E73\u79FB",rebuild:"\u91CD\u5EFA",reset:"\u91CD\u7F6E",expandAll:"\u5168\u90E8\u5C55\u5F00",capped:"\u5DF2\u5C55\u793A\u6700\u6838\u5FC3\u7684",clearFocus:"\u53D6\u6D88\u9AD8\u4EAE",empty:"\u8BB0\u5FC6\u5E93\u8FD8\u662F\u7A7A\u7684\u3002\u591A\u804A\u51E0\u8F6E\u540E\uFF0C\u503C\u5F97\u4FDD\u5B58\u7684\u5185\u5BB9\u4F1A\u81EA\u52A8\u6C89\u6DC0\u6210\u77E5\u8BC6\u5361\u3002",emptyGraph:"\u56FE\u8C31\u6682\u65E0\u6570\u636E\u3002",open:"\u9605\u8BFB",updated:"\u66F4\u65B0\u4E8E",created:"\u521B\u5EFA\u4E8E",source:"\u6765\u6E90",contents:"\u76EE\u5F55",related:"\u76F8\u5173\u8BB0\u5FC6",file:"\u6587\u4EF6",close:"\u5173\u95ED",vaultDir:"\u8BB0\u5FC6\u5E93\u76EE\u5F55",capture:"\u81EA\u52A8\u6C89\u6DC0",recall:"\u81EA\u52A8\u53EC\u56DE",enabled:"\u5DF2\u542F\u7528",disabled:"\u5DF2\u7981\u7528",error:"\u52A0\u8F7D\u5931\u8D25",back:"\u8FD4\u56DE\u5217\u8868",cardCount:"\u5F20\u5361",nodes:"\u8282\u70B9",edges:"\u8FDE\u7EBF",memoryTitle:"\u8BB0\u5FC6\u5E93",memoryHint:"\u4F60\u7684\u672C\u5730\u7B2C\u4E8C\u5927\u8111",zoomIn:"\u653E\u5927",zoomOut:"\u7F29\u5C0F",fit:"\u9002\u5E94",enterFullscreen:"\u5168\u5C4F",exitFullscreen:"\u9000\u51FA\u5168\u5C4F",exportGraph:"\u5BFC\u51FA",openCard:"\u6253\u5F00\u5361\u7247",focusNeighbors:"\u51F8\u663E\u5173\u8054",copyName:"\u590D\u5236\u540D\u79F0",noMatch:"\u6CA1\u6709\u5339\u914D\u7684\u8BB0\u5FC6",clearFilter:"\u6E05\u9664\u8FC7\u6EE4",filterLabel:"\u7B5B\u9009",sortRecent:"\u6700\u8FD1",sortTitle:"\u6807\u9898",sortHot:"\u70ED\u70B9",exportSel:"\u5BFC\u51FA\u9009\u4E2D",clearSelection:"\u6E05\u7A7A\u9009\u62E9",download:"\u4E0B\u8F7D",openNewTab:"\u65B0\u6807\u7B7E\u6253\u5F00",copyImage:"\u590D\u5236\u56FE\u7247",done:"\u5B8C\u6210",downloaded:"\u5DF2\u5F00\u59CB\u4E0B\u8F7D",openedTab:"\u5DF2\u5728\u65B0\u6807\u7B7E\u6253\u5F00",copied:"\u5DF2\u590D\u5236",exportedSel:"\u4E2A\u8282\u70B9\u5DF2\u5BFC\u51FA",fullscreen:"\u5168\u5C4F",exitFull:"\u9000\u51FA\u5168\u5C4F",copyFail:"\u590D\u5236\u5931\u8D25",timeDim:"\u65F6\u95F4\u7EF4",graphWarming:"\u6B63\u5728\u5E03\u5C40 {n} \u4E2A\u8282\u70B9\u2026",graphAllCrumb:"\u5168\u90E8",graphOther:"\u5176\u4ED6",graphItems:"\u56FE\u5143",graphCardsUnit:"\u5361",graphPlanetCards:"{n} \u5F20\u5361",graphToFlat:"\u5E73\u94FA\u5361\u7247\u56FE",graphToPlanet:"\u661F\u7403\u5206\u5C42\u89C6\u56FE",graphFlatAll:"\u663E\u793A\u5168\u90E8",graphFlatOnly:"\u53EA\u770B\u4E3B\u8981",graphEnter:"\u8FDB\u5165\u8BE5\u5C42",graphLevelLoading:"\u6B63\u5728\u52A0\u8F7D\u5C42\u7EA7\u2026",graphLevelTimeout:"\u5C42\u52A0\u8F7D\u8D85\u65F6\uFF08{ms}ms\uFF09\xB7 \u5DF2\u4FDD\u7559\u5F53\u524D\u5C42",graphLevelError:"\u5C42\u52A0\u8F7D\u5931\u8D25 \xB7 \u5DF2\u4FDD\u7559\u5F53\u524D\u5C42",graphRetry:"\u91CD\u8BD5",graphEmptyLevel:"\u8FD9\u4E00\u5C42\u6CA1\u6709\u5361\u7247\u3002",graphLevelHint:"\u70B9\u5927\u661F\u7403\u8FDB\u5165\u8BE5\u5C42 \xB7 Shift+\u70B9\u51FB\u9009\u4E2D \xB7 \u62D6\u62FD\u79FB\u52A8 \xB7 \u6EDA\u8F6E\u7F29\u653E",graphBreadcrumbAria:"\u5C42\u7EA7\u9762\u5305\u5C51",graphCountWan:"\u4E07",graphCountLocale:"zh-CN",timeNew:"3 \u5929\u5185",timeRecent:"2 \u5468\u5185",timeMonth:"1 \u6708\u5185",timeOld:"\u66F4\u65E9",newBadge:"\u65B0",expand:"\u5C55\u5F00\u5168\u90E8",collapse:"\u6536\u8D77",copyBody:"\u590D\u5236\u6B63\u6587",clearFilter:"\u6E05\u9664\u6807\u7B7E\u7B5B\u9009",copyPath:"\u590D\u5236\u8DEF\u5F84",copied:"\u5DF2\u590D\u5236",copyFail:"\u590D\u5236\u5931\u8D25",readWidth:"\u9605\u8BFB\u5BBD\u5EA6",widthNarrow:"\u7A84",widthMid:"\u4E2D",widthWide:"\u5BBD",exportVault:"\u5BFC\u51FAMD",exportJson:"\u5BFC\u51FAJSON",exporting:"\u5BFC\u51FA\u4E2D\u2026",exportedVault:"\u8BB0\u5FC6\u5E93\u5DF2\u5BFC\u51FA",exportFail:"\u5BFC\u51FA\u5931\u8D25",importVault:"\u5BFC\u5165",importedVault:"\u5BFC\u5165\u5B8C\u6210",importedTotal:" \u5F20 / \u6587\u4EF6\u5171 ",importedTotalTail:" \u5F20",importedQuarantine:" \xB7 \u5F85\u5BA1\u6838 ",importedQuarantineTail:" \u5F20\uFF08\u9694\u79BB\u533A\uFF0C\u6279\u51C6\u540E\u624D\u53C2\u4E0E\u53EC\u56DE\uFF09",importedSkipped:" \xB7 \u8DF3\u8FC7 ",importedSkippedTail:" \u5F20\uFF08\u91CD\u590D\u6216\u7A7A\uFF09",importFail:"\u5BFC\u5165\u5931\u8D25",location:"\u81EA\u9009\u4F4D\u7F6E",saveAs:"\u53E6\u5B58\u4E3A",saveAsUnsupported:"\u5F53\u524D\u73AF\u5883\u4E0D\u652F\u6301\u9009\u62E9\u4FDD\u5B58\u4F4D\u7F6E",exportedTo:"\u5DF2\u5BFC\u51FA\u5230",defaultDownloads:"\u9ED8\u8BA4\u4E0B\u8F7D\u6587\u4EF6\u5939",exportCancel:"\u5DF2\u53D6\u6D88\u5BFC\u51FA",manage:"\u7BA1\u7406",tabUsage:"\u8FD0\u884C\u72B6\u6001",tabOptimize:"\u6574\u7406\u5EFA\u8BAE",adminLoadFail:"\u6570\u636E\u52A0\u8F7D\u5931\u8D25\uFF1A\u8BF7\u5F7B\u5E95\u91CD\u542F dsh-desktop\uFF08host \u9700\u52A0\u8F7D\u65B0\u7248 /memory-eternal \u8DEF\u7531\uFF09",retry:"\u91CD\u8BD5",mergeSimilar:"\u4E00\u952E\u5408\u5E76\u76F8\u4F3C",trendLabel:"\u8FD1 30 \u5929\u8D8B\u52BF",cleanStale:"\u{1F5D1}\uFE0F \u4E00\u952E\u6E05\u7406\u9648\u65E7",deletedStale:"\u4E2A\u9648\u65E7\u5361\u5DF2\u6E05\u7406",newCard:"\u65B0\u5EFA",tplDecision:"\u{1F4DD} \u6280\u672F\u51B3\u7B56",tplBug:"\u{1F41B} \u8E29\u5751",tplMeeting:"\u{1F4CB} \u4F1A\u8BAE\u7EAA\u8981",tplWeekly:"\u{1F4CA} \u5468\u62A5",createCard:"\u521B\u5EFA",cardTitle:"\u6807\u9898",cardBody:"\u6B63\u6587",fbUseful:"\u6709\u7528",fbIrr:"\u65E0\u5173",todayAdd:"\u4ECA\u65E5\u65B0\u589E",weekAdd:"\u8FD1 7 \u5929",byKind:"\u5206\u7C7B\u7EDF\u8BA1",todayList:"\u4ECA\u65E5\u6C89\u6DC0",budgetLabel:"\u4F1A\u8BDD\u9884\u7B97",budgetChars:"\u9884\u7B97\u5B57\u7B26",recallLimitLabel:"\u53EC\u56DE\u6761\u6570",embeddingLabel:"\u8BED\u4E49\u53EC\u56DE",mergePairs:"\u76F8\u4F3C\u5361\u5BF9\uFF08\u53EF\u5408\u5E76\uFF09",staleCards:"\u9648\u65E7\u5361\uFF08>90 \u5929\u672A\u66F4\u65B0\uFF09",noOptimize:"\u6682\u65E0\u53EF\u6574\u7406\u9879\uFF0C\u5F88\u5065\u5EB7 \u{1F389}",refineTitle:"\u77DB\u76FE\u626B\u63CF",refineScan:"\u5F00\u59CB\u626B\u63CF",refineHint:"\u76F8\u4F3C\u53EF\u4EE5\u5408\u5E76\uFF0C\u77DB\u76FE\u5FC5\u987B\u4EBA\u5224\u65AD \u2014\u2014 \u626B\u63CF\u53EA\u8BFB\uFF0C\u9009\u62E9\u540E\u624D\u52A8\u6570\u636E\uFF08\u4FDD\u7559\u4E00\u5F20\u4F1A\u628A\u53E6\u4E00\u5F20\u653E\u8FDB\u56DE\u6536\u7AD9\uFF0C\u53EF\u8FD8\u539F\uFF09",refineIdle:"\u70B9\u300C\u5F00\u59CB\u626B\u63CF\u300D\uFF1A\u5148\u5BBD\u53EC\u56DE\u53EF\u80FD\u6709\u5173\u7CFB\u7684\u5361\u7247\u5BF9\uFF0C\u518D\u8BA9\u6A21\u578B\u5224\u65AD\u662F\u91CD\u590D / \u8865\u5145 / \u77DB\u76FE / \u65E0\u5173",refineNone:"\u8FD9\u4E00\u8F6E\u6CA1\u6709\u53D1\u73B0\u9700\u8981\u4F60\u88C1\u51B3\u7684\u5361\u7247\u5BF9 \u{1F389}",refineFail:"\u77DB\u76FE\u626B\u63CF\u5931\u8D25",refineApplied:"\u5DF2\u8BB0\u5F55\u4F60\u7684\u88C1\u51B3\uFF08\u4E0D\u4F1A\u91CD\u590D\u6253\u6270\uFF09",refineRel_duplicate:"\u91CD\u590D\uFF08\u53EF\u5408\u5E76\uFF09",refineRel_complement:"\u8865\u5145\uFF08\u90FD\u7559\u7740\uFF09",refineRel_conflict:"\u77DB\u76FE\uFF08\u9700\u4F60\u88C1\u51B3\uFF09",refineRel_unrelated:"\u65E0\u5173",refineKeepA:"\u4FDD\u7559 A",refineKeepB:"\u4FDD\u7559 B",refineKeepBoth:"\u90FD\u4FDD\u7559",refineMerge:"\u5408\u5E76",junkTitle:"\u6CE8\u5165\u5783\u573E\u5361",junkScan:"\u626B\u63CF\u5B58\u91CF",junkHint:"\u6000\u7591\u662F\u8FD0\u884C\u65F6\u6CE8\u5165\u6587\u672C\uFF08\u6280\u80FD\u76EE\u5F55 / system-reminder\uFF09\u6C89\u6DC0\u6210\u7684\u5361 \u2014\u2014 \u626B\u63CF\u53EA\u8BFB\uFF0C\u56DE\u6536\u8D70\u56DE\u6536\u7AD9\u53EF\u8FD8\u539F",junkIdle:"\u70B9\u300C\u626B\u63CF\u5B58\u91CF\u300D\uFF1A\u627E\u51FA\u6B63\u6587\u5176\u5B9E\u662F\u88AB\u6CE8\u5165\u7684\u8FD0\u884C\u65F6\u6587\u672C\u3001\u5265\u6389\u540E\u51E0\u4E4E\u4E0D\u5269\u4EBA\u8BDD\u7684\u5361",junkNone:"\u6CA1\u53D1\u73B0\u8FD9\u7C7B\u5361 \u{1F389}",junkRecycle:"\u56DE\u6536",junkRecycleAll:"\u5168\u90E8\u56DE\u6536",junkRecycleAllConfirm:"\u786E\u8BA4\u628A\u8FD9\u4E9B\u5361\u9001\u8FDB\u56DE\u6536\u7AD9\uFF1F\uFF08\u4E0D\u662F\u6C38\u4E45\u5220\u9664\uFF0C\u53EF\u5728\u56DE\u6536\u4E2D\u5FC3\u8FD8\u539F\uFF09",junkDone:"\u5DF2\u9001\u56DE\u6536\u7AD9",junkFail:"\u626B\u63CF / \u56DE\u6536\u5931\u8D25",dbReadonlyTitle:"\u8BB0\u5FC6\u5E93\u5F53\u524D\u4E0D\u53EF\u5199",dbReadonlyBody:"\u5361\u7247\u8BFB\u5199 / \u5BA1\u6838 / \u56FE\u8C31\u4F1A\u5931\u8D25\uFF0C\u4F46**\u914D\u7F6E\u4ECD\u53EF\u4FDD\u5B58**\uFF08\u914D\u7F6E\u4E0D\u7ECF\u8FC7\u6570\u636E\u5E93\uFF09",dbReadonlyFix:"\u6392\u67E5\uFF1Adsh-memory doctor\uFF08\u770B journal \u6A21\u5F0F\u3001\u5199\u63A2\u9488\u3001\u5907\u4EFD\u6E05\u5355\u4E0E\u6062\u590D\u6B65\u9AA4\uFF09",goalTitle:"\u540C\u76EE\u6807\u4E0D\u540C\u505A\u6CD5",goalScan:"\u626B\u63CF\u76EE\u6807",goalHint:"\u6309\u300C\u8FD9\u5F20\u5361\u89E3\u51B3\u4EC0\u4E48\u95EE\u9898\u300D\u805A\u7C7B \u2014\u2014 \u6B63\u6587\u76F8\u4F3C\u5EA6\u6293\u4E0D\u5230\u7684\u505A\u6CD5\u5DEE\u5F02\uFF087z \u538B\u7F29 / tar \u5206\u53D1 / npm \u7626\u8EAB\uFF09\u4E5F\u80FD\u5F52\u5230\u4E00\u8D77",goalIdle:"\u70B9\u300C\u626B\u63CF\u76EE\u6807\u300D\uFF1A\u6A21\u578B\u5148\u7ED9\u6BCF\u5F20\u5361\u62BD\u4E00\u53E5\u76EE\u6807\uFF08\u9996\u6B21\u4F1A\u8C03\u6A21\u578B\uFF0C\u4E4B\u540E\u8D70\u7F13\u5B58\uFF09\uFF0C\u518D\u6309\u76EE\u6807\u805A\u7C7B",goalNone:"\u6CA1\u6709\u53D1\u73B0\u300C\u540C\u4E00\u76EE\u6807\u3001\u591A\u5F20\u5361\u300D\u7684\u7C07 \u{1F389}",goalStats:"\u5DF2\u7D22\u5F15 / \u672C\u6B21\u8C03\u7528",goalCards:"\u5F20\u5361",goalKeep:"\u90FD\u4FDD\u7559",goalMerge:"\u5408\u5E76\u8FD9\u4E00\u7EC4",goalMerged:"\u5DF2\u63D0\u4EA4\u5408\u5E76\uFF08\u65B0\u5361\u8FDB\u5BA1\u6838\u961F\u5217\uFF09",goalDone:"\u5DF2\u8BB0\u5F55\u300C\u90FD\u4FDD\u7559\u300D",goalFail:"\u76EE\u6807\u805A\u7C7B\u5931\u8D25",oneClickOptimize:"\u4E00\u952E\u4F18\u5316",oneClickOptimizeConfirm:"\u786E\u8BA4\u4E00\u952E\u4F18\u5316\uFF1F\u5C06\u5408\u5E76\u6240\u6709\u76F8\u4F3C\u5361\u5BF9\uFF08\u9ED8\u8BA4\u4E0D\u6E05\u7406\u9648\u65E7\u5361\uFF09\u3002",oneClickAlsoStale:"\u540C\u65F6\u6E05\u7406\u9648\u65E7\u5361",oneClickOptimizeDone:"\u4E00\u952E\u4F18\u5316\u5B8C\u6210",optimizedMerged:"\u5BF9\u5DF2\u5408\u5E76",optimizedStaleDeleted:"\u5F20\u9648\u65E7\u5361\u5DF2\u6E05\u7406",mcpSetupStatus:"Agent MCP \u6302\u8F7D\u72B6\u6001",rerunSetup:"\u8865\u5168 MCP",notInstalled:"\u672A\u5B89\u88C5",noMcpEntry:"\u914D\u7F6E\u7F3A\u5931",nodePathMismatch:"node \u8DEF\u5F84\u4E0D\u4E00\u81F4\uFF0C\u5EFA\u8BAE\u91CD\u8DD1 setup",nodePathNote:"node \u73AF\u5883\u4E0D\u540C\uFF08\u53EF\u7528\uFF09",mcpNeedsRepair:"\u26A0 \u9700\u4FEE\u590D\uFF08\u65E7\u914D\u7F6E\u4F1A\u62C9\u8D77 GUI\uFF09",repairMcp:"\u4FEE\u590D\u914D\u7F6E",healthy:"\u914D\u7F6E\u6B63\u5E38",mcpSetupHint:"\u300C\u81EA\u52A8\u6302\u8F7D MCP\u300D= \u8BA9 Claude Code / Codex / Cursor \u8FD9\u4E9B\u5DE5\u5177\u80FD\u8C03\u7528\u8BB0\u5FC6\u5E93\u3002\u5F00\u542F\u540E\u81EA\u52A8\u628A\u5B83\u4EEC\u914D\u7F6E\u597D\uFF1B\u5173\u6389\u5C31\u4E0D\u52A8\u4F60\u7535\u8111\u4E0A\u4EFB\u4F55\u914D\u7F6E\u6587\u4EF6\uFF0C\u9700\u8981\u65F6\u624B\u52A8\u8DD1 dsh-memory setup\u3002",mcpManageHint:"\u6BCF\u4E2A agent \u7528\u4E0B\u65B9\u6309\u94AE\u5355\u72EC\u5B89\u88C5/\u5378\u8F7D MCP",workTitle:"\u672C\u4F1A\u8BDD\u5DE5\u4F5C\u533A",workHint:"\u4E34\u65F6\u8349\u7A3F \xB7 \u4E0D\u8FDB\u5165\u77E5\u8BC6\u5E93 \xB7 \u4E0D\u53C2\u4E0E\u53EC\u56DE",workLines:"\u884C",workExpand:"\u5C55\u5F00",workCollapse:"\u6536\u8D77",workPlaceholder:"\u8BB0\u4E0B\u8FD9\u4E2A\u4EFB\u52A1\u73B0\u5728\u505A\u5230\u54EA\u3001\u4E0B\u4E00\u6B65\u505A\u4EC0\u4E48\u2026\uFF08\u4F1A\u8BDD\u7ED3\u675F\u81EA\u52A8\u5F52\u6863\uFF09",workSave:"\u4FDD\u5B58\u8349\u7A3F",workPromote:"\u5B58\u4E3A\u5F85\u5BA1\u5361",workClear:"\u6E05\u7A7A",workClearConfirm:"\u6E05\u7A7A\u672C\u4F1A\u8BDD\u5DE5\u4F5C\u533A\uFF1F\u6B64\u64CD\u4F5C\u4E0D\u53EF\u6062\u590D\u3002",workSaved:"\u5DF2\u4FDD\u5B58\u4F1A\u8BDD\u5DE5\u4F5C\u533A",workCleared:"\u5DF2\u6E05\u7A7A\u4F1A\u8BDD\u5DE5\u4F5C\u533A",workPromoted:"\u5DF2\u63D0\u4EA4\u5BA1\u6838\uFF0C\u8BF7\u5728\u300C\u5F85\u5BA1\u300D\u91CC\u5904\u7406",workLimitHint:"\u4E0A\u9650 200 \u884C / 24KB\uFF0C\u8D85\u51FA\u622A\u65AD",workPromoteHint:"\u9009\u4E2D\u4E00\u6BB5\u65F6\u53EA\u664B\u5347\u9009\u4E2D\u90E8\u5206",workPromoteEmpty:"\u6CA1\u6709\u53EF\u664B\u5347\u7684\u5185\u5BB9",starAskTitle:"\u8BB0\u5FC6\u5DF2\u7ECF\u7528\u8D77\u6765\u4E86",starAskBody:"\u5DF2\u53EC\u56DE {recalls} \u6B21 \xB7 \u6C89\u6DC0 {cards} \u5F20\u5361\u3002\u5982\u679C\u5B83\u5E2E\u4F60\u7701\u8FC7\u65F6\u95F4\uFF0C\u7ED9\u4E2A Star \u4F1A\u8BA9\u66F4\u591A\u4EBA\u627E\u5230\u5B83\u3002",starAskGo:"\u53BB Star",starAskLater:"\u665A\u70B9\u518D\u8BF4",starAskNever:"\u4E0D\u518D\u63D0\u793A",tabConfig:"\u8BB0\u5FC6\u914D\u7F6E",configPageSub:"\u5199\u5165\u3001\u8DEF\u7531\u3001\u5BA1\u6838\u4E0E\u670D\u52A1\u7684\u672C\u5730\u914D\u7F6E",paneGeneral:"\u901A\u7528",paneMemory:"\u8BB0\u5FC6",paneAdvanced:"\u9AD8\u7EA7",paneService:"\u670D\u52A1",paneGeneralSub:"\u4E00\u952E\u65B9\u6848\u3001\u57FA\u7840\u5F00\u5173\u4E0E\u65E5\u5E38\u504F\u597D",paneMemorySub:"\u5E93\u76EE\u5F55\u3001\u53EC\u56DE\u4E0E\u6838\u5FC3\u8BB0\u5FC6",paneAdvancedSub:"\u6210\u672C\u63A7\u5236\u4E0E\u81EA\u52A8\u5BA1\u6838",paneServiceSub:"\u670D\u52A1\u5B88\u62A4\u3001\u7248\u672C\u4E0E MCP \u6302\u8F7D",basicSwitches:"\u57FA\u7840\u5F00\u5173",basicSwitchesHint:"\u8BB0\u5FC6\u6838\u5FC3\u7684\u603B\u5F00\u5173\u4E0E\u81EA\u52A8\u6C89\u6DC0 / \u53EC\u56DE",tabAudit:"\u5F85\u5BA1",statusApproved:"\u5DF2\u5BA1\u6838",statusPending:"\u5F85\u5BA1\u6838",statusRejected:"\u5DF2\u9A73\u56DE",allStatus:"\u5168\u90E8\u72B6\u6001",tabRecycle:"\u56DE\u6536\u4E2D\u5FC3",recyclePageSub:"\u5DF2\u5220\u9664\u7684\u5361\u4FDD\u7559 30 \u5929\uFF0C\u53EF\u6062\u590D\u6216\u6C38\u4E45\u5220\u9664",pending:"\u5F85\u5BA1\u6838",rejected:"\u5DF2\u9A73\u56DE",selectAll:"\u5168\u9009",approve:"\u6279\u51C6",approveAndCore:"\u6279\u51C6\u5E76\u8BBE\u4E3A\u6838\u5FC3",approveCore:"\u6279\u51C6\u4E3A\u6838\u5FC3\u8BB0\u5FC6",approveAsNormal:"\u6279\u51C6\u4E3A\u666E\u901A\u5361",coreSuggested:"\u6838\u5FC3\u8BB0\u5FC6\uFF08\u5F85\u5BA1\u6838\uFF09",reclassify:"\u91CD\u65B0\u8BC6\u522B\u7C7B\u578B",reject:"\u9A73\u56DE",allAgents:"\u5168\u90E8\u667A\u80FD\u4F53",noAuditItems:"\u6682\u65E0\u5BA1\u6838\u9879\u76EE",auditBodyFail:"\u6B63\u6587\u8BFB\u53D6\u5931\u8D25",deletedAt:"\u5220\u9664\u4E8E",restore:"\u6062\u590D",restoreDelete:"\u5220\u9664\u8FDB\u56DE\u6536\u7AD9",purge:"\u6C38\u4E45\u5220\u9664",emptyRecycle:"\u56DE\u6536\u7AD9\u4E3A\u7A7A",recycleHint:"\u5220\u9664\u7684\u5361\u7247\u5148\u8FDB\u56DE\u6536\u7AD9\uFF0C30 \u5929\u5185\u53EF\u6062\u590D\uFF0C\u8D85\u671F\u81EA\u52A8\u6C38\u4E45\u5220\u9664",purgeConfirm:"\u786E\u5B9A\u6C38\u4E45\u5220\u9664\uFF1F\u4E0D\u53EF\u6062\u590D\u3002",recycleDeleteConfirm:"\u786E\u5B9A\u5220\u9664\u8FDB\u56DE\u6536\u7AD9\uFF1F30 \u5929\u5185\u53EF\u6062\u590D\u3002",modeInit:"\u542F\u52A8\u65F6\u62C9\u4E00\u6B21",modeInterval:"\u5468\u671F\u4FDD\u6D3B",modeManual:"\u4EC5\u624B\u52A8",serviceConfig:"\u670D\u52A1\u81EA\u7BA1\u7406\u914D\u7F6E",auditConfig:"\u81EA\u52A8\u5BA1\u6838\u914D\u7F6E",auditHint:"\u547D\u4E2D\u514D\u5BA1\u7684\u65B0\u5361\u76F4\u63A5\u5165\u5E93\uFF0C\u5176\u4F59\u8FDB\u5F85\u5BA1\u6838",auditMode:"\u5BA1\u6838\u6A21\u5F0F",auditAll:"\u5168\u90E8\u8981\u5BA1\u6838",auditNone:"\u5168\u90E8\u514D\u5BA1",auditExemptAgents:"\u514D\u5BA1\u667A\u80FD\u4F53",auditExemptKinds:"\u514D\u5BA1\u7C7B\u578B",allExempt:"\u5168\u90E8\u514D\u5BA1",recycleDays:"\u56DE\u6536\u4FDD\u7559\u5929\u6570",editInSetting:"\u7F16\u8F91\u8BF7\u5230 DSH \u8BBE\u7F6E \u2192 \u8BB0\u5FC6",pendingSyncNote:"\u6B64\u9875\u662F\u72EC\u7ACB Web \u9875\uFF1A\u4FDD\u5B58\u540E\u7531 DSH \u5BBF\u4E3B\u5E94\u7528\uFF08\u65B0\u7248\u5BBF\u4E3B\u4F1A\u88AB\u76F4\u63A5\u53EB\u9192\u3001\u5728\u8BF7\u6C42\u4E0A\u4E0B\u6587\u91CC\u5E94\u7528\uFF0C\u70B9\u4FDD\u5B58\u5373\u751F\u6548\uFF09\uFF1B\u82E5\u672C\u673A\u6CA1\u6709 DSH \u5BBF\u4E3B\u5728\u8FD0\u884C\uFF0C\u5219\u76F4\u63A5\u5199\u5165\u5171\u4EAB\u914D\u7F6E\u3001\u7ACB\u5373\u751F\u6548\u3002\u53EA\u6709\u5728\u5BF9\u63A5\u65E7\u7248\u5BBF\u4E3B\u65F6\u624D\u4F1A\u9000\u56DE\u300C\u6392\u961F\u7B49\u5B83\u81EA\u5DF1\u540C\u6B65\u300D\uFF0C\u90A3\u65F6\u53EF\u5728 DSH \u8BBE\u7F6E \u2192 \u8BB0\u5FC6\u91CC\u6539\u540C\u4E00\u9879\u3002",readonlyTitle:"\u5F53\u524D\u9875\u9762\u53EA\u8BFB\uFF0C\u65E0\u6CD5\u4FDD\u5B58\u914D\u7F6E",readonlyBody:"\u8FD9\u4E2A\u8FDB\u7A0B\u6CA1\u6709 DSH \u7684\u8BBE\u7F6E\u670D\u52A1\uFF08settings.update \u4E0D\u5B58\u5728\uFF09\uFF0C\u914D\u7F6E\u53EA\u80FD\u5728\u672C\u673A DSH \u91CC\u4FEE\u6539\uFF1A\u684C\u9762\u7248 \u2192 \u8BBE\u7F6E \u2192 \u8BB0\u5FC6\u3002",readonlyBtn:"\u53EA\u8BFB",setupRunInTerminal:"\u8BF7\u590D\u5236\u4EE5\u4E0B\u547D\u4EE4\u5230\u7EC8\u7AEF\u6267\u884C\uFF1A",dshMemoryConfig:"DSH \u8BB0\u5FC6\u914D\u7F6E",coreMemory:"\u6838\u5FC3\u8BB0\u5FC6\uFF08\u524D\u7F6E\u5F3A\u5236\uFF09",coreMemoryHint:"\u6BCF\u6B21\u4F1A\u8BDD\u81EA\u52A8\u6CE8\u5165\uFF0C\u4E0D\u4F9D\u8D56\u6A21\u578B\u4E3B\u52A8\u53EC\u56DE\uFF1B\u53EA\u8BFB\u53D6\u5DF2\u6279\u51C6\u7684\u6838\u5FC3\u5361",coreMemoryEnabled:"\u542F\u7528\u6838\u5FC3\u8BB0\u5FC6\u6CE8\u5165",workingMemoryEnabled:"\u542F\u7528\u4F1A\u8BDD\u5DE5\u4F5C\u533A\uFF08\u8349\u7A3F\u672C\uFF09",coreMemoryLimit:"\u6838\u5FC3\u8BB0\u5FC6\u4E0A\u9650\uFF08\u5F20\uFF09",coreMemoryMaxChars:"\u6838\u5FC3\u8BB0\u5FC6\u603B\u5B57\u7B26\u4E0A\u9650",setCore:"\u8BBE\u4E3A\u6838\u5FC3\u8BB0\u5FC6",unsetCore:"\u53D6\u6D88\u6838\u5FC3\u8BB0\u5FC6",coreSetOk:"\u5DF2\u8BBE\u4E3A\u6838\u5FC3\u8BB0\u5FC6",coreUnsetOk:"\u5DF2\u53D6\u6D88\u6838\u5FC3\u8BB0\u5FC6",coreSetFail:"\u8BBE\u7F6E\u5931\u8D25",coreActiveHint:"\u8FD9\u5F20\u5361\u6BCF\u6B21\u4F1A\u8BDD\u90FD\u4F1A\u5F3A\u5236\u6CE8\u5165\uFF1B\u4E0E\u666E\u901A\u8BB0\u5FC6\u51B2\u7A81\u65F6\u4EE5\u5B83\u4E3A\u51C6\u3002",coreInactiveHint:"\u666E\u901A\u77E5\u8BC6\u5361\u53EF\u4EE5\u63D0\u5347\u4E3A\u6838\u5FC3\u8BB0\u5FC6\uFF1B\u63D0\u5347\u540E\u6BCF\u6B21\u4F1A\u8BDD\u81EA\u52A8\u751F\u6548\u3002",coreNeedApproval:"\u5148\u6279\u51C6\u8FD9\u5F20\u5361\uFF0C\u624D\u80FD\u8BBE\u4E3A\u6838\u5FC3\u8BB0\u5FC6\u3002",coreShort:"\u6838\u5FC3",setCoreShort:"\u8BBE\u6838\u5FC3",uiLayout:"\u5E03\u5C40\u5927\u5C0F",uiLayoutHint:"\u8C03\u6574\u8BB0\u5FC6\u754C\u9762\u6574\u4F53\u5927\u5C0F\uFF08\u53EA\u5F71\u54CD\u663E\u793A\uFF0C\u4E0D\u5F71\u54CD\u8BB0\u5FC6\u6570\u636E\uFF09",uiCompact:"\u7D27\u51D1",uiNormal:"\u6807\u51C6",uiLarge:"\u5927",autoCapture:"\u81EA\u52A8\u6C89\u6DC0",autoRecall:"\u81EA\u52A8\u53EC\u56DE",captureMinChars:"\u6355\u83B7\u6700\u5C0F\u957F\u5EA6",maxCardsPerDay:"\u65E5\u914D\u989D",dedupThreshold:"\u53BB\u91CD\u9608\u503C",recallLimit:"\u53EC\u56DE\u6761\u6570",vaultMulti:"\u591A\u5E93\uFF08\u6309\u9879\u76EE\u9694\u79BB\uFF09",vaultMultiHint:"\u7559\u7A7A\u5373\u5355\u5E93\uFF0C\u8001\u914D\u7F6E\u4E0D\u53D7\u5F71\u54CD",vaultNow:"\u5F53\u524D\u751F\u6548",vaultSource:"\u6765\u6E90",vaultWorkspace:"\u5F53\u524D workspace",vaultNamePh:"\u5E93\u540D\uFF0C\u5982 work",vaultPathPh:"\u76EE\u5F55\uFF0C\u5982 D:/vaults/work",vaultMatchPh:"\u9879\u76EE\u76EE\u5F55\uFF08\u53EF\u9009\uFF0C\u6309 workspace \u81EA\u52A8\u9009\u5E93\uFF09",vaultAdd:"\u6DFB\u52A0\u4E00\u4E2A\u5E93",vaultActive:"\u6FC0\u6D3B\u5E93",vaultActiveNone:"\u9ED8\u8BA4\u5E93\uFF08\u4E0D\u6307\u5B9A\uFF09",vaultSrcEnv:"\u73AF\u5883\u53D8\u91CF MEMORY_VAULT_DIR",vaultSrcProfile:"\u6FC0\u6D3B\u5E93\u914D\u7F6E",vaultSrcWorkspace:"\u6309\u9879\u76EE\u76EE\u5F55\u81EA\u52A8\u547D\u4E2D",vaultSrcVaultDir:"\u5355\u5E93\u914D\u7F6E vaultDir",vaultSrcDefault:"\u9ED8\u8BA4\u76EE\u5F55",fbNav:"\u53CD\u9988\u5F02\u5E38",fbTitle:"\u53CD\u9988\u5F02\u5E38\uFF08\u63D0\u4EA4\u5230 GitHub\uFF09",fbDesc:"\u63CF\u8FF0\u4F60\u9047\u5230\u7684\u95EE\u9898\uFF08\u73B0\u8C61 / \u590D\u73B0\u6B65\u9AA4 / \u671F\u671B\u884C\u4E3A\uFF09",fbDiag:"\u8BCA\u65AD\u4FE1\u606F\uFF08\u5DF2\u81EA\u52A8\u8131\u654F\uFF1Ahome \u76EE\u5F55\u4E0E key/token \u5DF2\u66FF\u6362\uFF09",fbCopyDiag:"\u590D\u5236\u8BCA\u65AD\u4FE1\u606F",fbOpenIssue:"\u5728 GitHub \u63D0\u4EA4\uFF08\u5DF2\u9884\u586B\uFF09",fbCopyPrompt:"\u590D\u5236\u7ED9 AI \u7684\u63D0\u793A\u8BCD",fbCopiedDiag:"\u8BCA\u65AD\u4FE1\u606F\u5DF2\u590D\u5236",fbCopiedPrompt:"\u63D0\u793A\u8BCD\u5DF2\u590D\u5236\uFF0C\u7C98\u8FDB AI \u5BF9\u8BDD\u6846\u5373\u53EF",fbCopyFail:"\u590D\u5236\u5931\u8D25\uFF0C\u8BF7\u624B\u52A8\u9009\u4E2D\u590D\u5236",fbWhy:"GitHub \u4E0D\u5141\u8BB8\u533F\u540D\u521B\u5EFA issue\uFF0C\u63D2\u4EF6\u91CC\u4E5F\u4E0D\u5E94\u5185\u7F6E token\uFF1A\u6240\u4EE5\u8FD9\u91CC\u628A\u6807\u9898 / \u6B63\u6587 / \u8BCA\u65AD\u90FD\u9884\u586B\u597D\uFF0C\u4F60\u53EA\u9700\u518D\u70B9\u4E00\u6B21 Submit\u3002",fbNeedDesc:"\u8BF7\u5148\u63CF\u8FF0\u4F60\u9047\u5230\u7684\u95EE\u9898",fbLoading:"\u6B63\u5728\u6536\u96C6\u8BCA\u65AD\u4FE1\u606F\u2026",fbDiagFail:"\u8BCA\u65AD\u63A5\u53E3\u4E0D\u53EF\u7528\uFF08\u72EC\u7ACB web \u6216\u65E7\u7248\u5BBF\u4E3B\uFF09\uFF0C\u8BF7\u624B\u52A8\u8865\u5145\u73AF\u5883\u4FE1\u606F",fbOr:"\u6216\u8005",fbSelectAll:"\u5168\u9009",auditTypeLabel:"\u7C7B\u578B",auditInboxSub:"\u81EA\u52A8\u6C89\u6DC0\u7684\u5361\u5148\u5230\u8FD9\u91CC \xB7 \u6279\u51C6\u540E\u8FDB\u5165\u8BB0\u5FC6\u5E93",auditSearchPlaceholder:"\u641C\u7D22\u6807\u9898 / \u6807\u7B7E / \u8DEF\u5F84\u2026",auditNoMatch:"\u6CA1\u6709\u5339\u914D\u7684\u5BA1\u6838\u5361",auditUndo:"\u6279\u51C6\u4E0E\u9A73\u56DE\u90FD\u53EF\u64A4\u9500",auditSelected:"\u5DF2\u9009",auditRevision:"\u4FEE\u6539",auditRevisionFrom:"\u4FEE\u6539\u539F\u5361",auditClearSelection:"\u6E05\u7A7A",preview:"\u9884\u89C8",supportGroup:"\u4EA4\u6D41\u7FA4",supportGroupQQ:"QQ \u4EA4\u6D41\u7FA4",supportGroupWechat:"\u5FAE\u4FE1\u4EA4\u6D41\u7FA4",supportSponsor:"\u8D5E\u52A9",supportLegacy:"\u65E7\u7A0B\u5E8F",supportTitle:"\u652F\u6301\u4E0E\u4EA4\u6D41",clickToZoom:"\u70B9\u51FB\u653E\u5927",supportGroupHint:"\u626B\u7801\u8FDB\u4EA4\u6D41\u7FA4\uFF08QQ / \u5FAE\u4FE1\uFF09\uFF0C\u9047\u5230\u95EE\u9898\u53EF\u4EE5\u76F4\u63A5\u95EE\u3002",supportSponsorHint:"\u5982\u679C\u8FD9\u4E2A\u63D2\u4EF6\u5E2E\u4F60\u7701\u4E86\u65F6\u95F4\uFF0C\u53EF\u4EE5\u8BF7\u4F5C\u8005\u559D\u676F\u5496\u5561\u3002\u5B8C\u5168\u81EA\u613F\uFF0C\u4E0D\u5F71\u54CD\u4EFB\u4F55\u529F\u80FD\u3002",supportAlipay:"\u652F\u4ED8\u5B9D",supportLegacyTitle:"\u65E7\u7A0B\u5E8F\uFF08dsh-desktop\uFF09\u5DF2\u505C\u6B62\u7EF4\u62A4",supportLegacyBody:"\u4F5C\u8005\u81EA\u7814\u7684 dsh-desktop \u5DF2\u505C\u6B62\u7EF4\u62A4\uFF0C\u5B98\u65B9 DeepSeek Harness \u684C\u9762\u7248\u5DF2\u8986\u76D6\u540C\u6837\u80FD\u529B\uFF0C\u5EFA\u8BAE\u8FC1\u79FB\u3002\u65E7 profile \u91CC\u5982\u679C\u8FD8\u9489\u7740\u5DF2\u64A4\u4E0B\u7684 dsh-desktop-shell@0.3.0\uFF0C\u5148\u5220\u6389\u90A3\u5957\u4F9D\u8D56\uFF0C\u5426\u5219 pnpm install \u4F1A\u5931\u8D25\u3002",supportReadme:"\u6253\u5F00 README",supportReleases:"\u5386\u53F2\u7248\u672C",supportFeedback:"\u5F02\u5E38\u53CD\u9988",supportReplay:"\u91CD\u65B0\u67E5\u770B\u5F15\u5BFC",onboardTitle:"30 \u79D2\u8BA4\u8BC6\u8BB0\u5FC6\u6838\u5FC3",onboardSub:"\u4F60\u7684 AI \u4F1A\u5728\u6BCF\u8F6E\u5BF9\u8BDD\u540E\u81EA\u52A8\u6C89\u6DC0\u77E5\u8BC6\u5361\uFF0C\u5148\u5BA1\u540E\u5165\u3002",onboardSkip:"\u8DF3\u8FC7",onboardBack:"\u4E0A\u4E00\u6B65",onboardNext:"\u4E0B\u4E00\u6B65",onboardStart:"\u5F00\u59CB\u4F7F\u7528",onboardStep0Title:"\u5148\u53BB GitHub \u70B9\u4E2A Star",onboardStep0Body:"Star \u662F\u4F5C\u8005\u7EE7\u7EED\u7EF4\u62A4\u6700\u76F4\u63A5\u7684\u53CD\u9988\uFF1B\u60F3\u81EA\u5DF1\u6539\u4EE3\u7801\u6216\u90E8\u7F72\uFF0C\u5C31\u987A\u624B Fork \u4E00\u4EFD\u3002",onboardStar:"Star / \u70B9\u8D5E",onboardFork:"Fork",onboardStarred:"\u5DF2 Star\uFF0C\u7EE7\u7EED",onboardStarHint:"\u4E4B\u540E\u53EF\u4EE5\u968F\u65F6\u70B9\u9876\u680F\u7684 \u2605 Star \u56DE\u6765\u3002",onboardStep1Title:"\u81EA\u52A8\u6C89\u6DC0\uFF0C\u4E0D\u7528\u624B\u52A8\u8BB0",onboardStep1Body:"\u6BCF\u8F6E\u5BF9\u8BDD\u7ED3\u675F\uFF0C\u503C\u5F97\u7559\u4E0B\u7684\u51B3\u7B56\u3001\u6839\u56E0\u548C\u6559\u8BAD\u4F1A\u88AB\u5199\u6210\u4E00\u5F20\u5361\u3002\u5148\u751F\u6210\uFF0C\u518D\u5BA1\u6838\u3002",onboardStep2Title:"\u8BFB\u5230\u6709\u7528\u7684\u5361\uFF0C\u70B9\u4E2A \u{1F44D}",onboardStep2Body:"\u6253\u5F00\u4EFB\u610F\u5361\u7247\uFF0C\u70B9 \u{1F44D} \u6709\u7528 / \u{1F44E} \u6CA1\u7528\u3002\u4E0D\u7528\u5148\u641C\u7D22\uFF0C\u6309\u94AE\u73B0\u5728\u4E00\u76F4\u90FD\u5728\u3002\u5B83\u4F1A\u5E2E\u52A9\u53EC\u56DE\u6392\u5E8F\u3002",onboardStep3Title:"\u5DE6\u4FA7\u65B0\u589E\u652F\u6301\u5165\u53E3",onboardStep3Body:"\u4EA4\u6D41\u7FA4\u3001\u8D5E\u52A9\u3001\u65E7\u7A0B\u5E8F\u3001\u5F02\u5E38\u53CD\u9988\u90FD\u5728\u5DE6\u680F\u5E95\u90E8\uFF1B\u9700\u8981\u5E2E\u52A9\u65F6\u4E0D\u7528\u7FFB README\u3002",onboardTip:"\u63D0\u793A\uFF1A\u8FD9\u4E2A\u5F15\u5BFC\u53EF\u4EE5\u5728\u300C\u652F\u6301\u4E0E\u4EA4\u6D41\u300D\u91CC\u91CD\u65B0\u6253\u5F00\u3002",navWorkspace:"\u5DE5\u4F5C\u533A",navSystem:"\u7CFB\u7EDF",navSupport:"\u652F\u6301",navQuotes:"\u4F5C\u8005\u8BED\u5F55",quoteHint:"\u70B9\u51FB\u6362\u4E00\u53E5",v5Local:"\u672C\u5730\u8FD0\u884C",v5Star:"\u53BB GitHub \u70B9 Star",runtimeTitle:"\u8FD0\u884C\u72B6\u6001",runtimeSub:"\u77E5\u8BC6\u5E93\u3001\u5907\u4EFD\u3001\u81EA\u52A8\u6C89\u6DC0\u4E0E\u7248\u672C",dbTitle:"\u77E5\u8BC6\u5E93",backupTitle:"\u5907\u4EFD",captureTitle:"\u81EA\u52A8\u6C89\u6DC0",versionTitle:"\u7248\u672C",cardsUnit:"\u5F20\u5361",links:"\u8FDE\u63A5",todayReview:"\u4ECA\u65E5\u56DE\u770B",openArrow:"\u6253\u5F00 \u2192",reshuffle:"\u6362\u4E00\u5F20",insightDecision:"\u51B3\u7B56",insightRoot:"\u6839\u56E0",insightLesson:"\u6559\u8BAD",insightSummary:"\u6458\u8981",pinCard:"\u56FA\u5B9A\u8FD9\u5F20\u5361",unpinCard:"\u53D6\u6D88\u56FA\u5B9A",pinnedOnly:"\u5DF2\u56FA\u5B9A",toastApproved:"\u5DF2\u6279\u51C6",toastRejected:"\u5DF2\u9A73\u56DE",toastCardDeleted:"\u5DF2\u5220\u9664",toastRestored:"\u5DF2\u6062\u590D",toastPurged:"\u5DF2\u5F7B\u5E95\u5220\u9664",toastPurgedExpired:"\u5DF2\u6E05\u7406\u8FC7\u671F\u56DE\u6536\u7AD9",toastFailed:"\u64CD\u4F5C\u5931\u8D25",noSelection:"\u8BF7\u5148\u9009\u62E9\u8981\u5904\u7406\u7684\u5361\u7247",enabledLabel:"\u542F\u7528\u8BB0\u5FC6\u6838\u5FC3",vaultDirLabel:"\u8BB0\u5FC6\u5E93\u76EE\u5F55\uFF08\u5355\u5E93\uFF09",captureCooldownMs:"\u6C89\u6DC0\u51B7\u5374 (ms)",captureProvider:"\u84B8\u998F provider\uFF08\u7559\u7A7A\u81EA\u52A8\uFF09",routeAuto:"\u81EA\u52A8\uFF08\u6309\u6CE8\u518C\u987A\u5E8F\uFF09",routeListFail:"\u53D6\u4E0D\u5230\u6A21\u578B\u5217\u8868\uFF08{err}\uFF09\u2192 \u4E0B\u9762\u53EF\u76F4\u63A5\u624B\u586B provider / model\uFF1B\u684C\u9762\u7248\u5F39\u7A97\u4F1A\u81EA\u52A8\u5411\u5BBF\u4E3B\u4EE3\u7406\uFF0C\u82E5\u4ECD\u5931\u8D25\u8BF7\u4ECE DSH \u8BBE\u7F6E\u9875\u6253\u5F00",captureFollowSession:"\u8DDF\u968F\u5F53\u524D\u4F1A\u8BDD\uFF08\u84B8\u998F\u7528\u4F1A\u8BDD\u7684 provider/model\uFF09",captureFirstOnly:"\u4EC5\u8BD5\u9996\u9009\uFF08\u5931\u8D25\u5373\u505C\uFF0C\u4E0D\u8F6E\u6362\u515C\u5E95\uFF09",llmTest:"\u6D4B\u8BD5\u84B8\u998F\u8DEF\u7531",llmTestOk:"\u2713 \u8C03\u7528\u6210\u529F",llmTestFail:"\u2717 \u8C03\u7528\u5931\u8D25",llmCandidates:"\u5019\u9009\u6570",captureModel:"\u84B8\u998F model\uFF08\u7559\u7A7A\u81EA\u52A8\uFF09",recallEmbedding:"\u8BED\u4E49\u53EC\u56DE provider\uFF08\u53EF\u9009\uFF09",sessionBudgetChars:"\u4F1A\u8BDD\u9884\u7B97 (\u5B57\u7B26)",saving:"\u4FDD\u5B58\u4E2D\u2026",savePending:"\u5DF2\u5199\u5165\u914D\u7F6E\u6587\u4EF6\uFF1B\u5BBF\u4E3B\u4ECD\u662F\u65E7\u7248\uFF0C\u91CD\u542F DSH \u540E\u5373\u4EE5\u65B0\u503C\u4E3A\u51C6\uFF08\u672C\u9762\u677F\u5DF2\u751F\u6548\uFF09",actionRunning:"\u5904\u7406\u4E2D\u2026",recycleEmptyHint:"\u56DE\u6536\u7AD9\u4E3A\u7A7A\uFF1A\u5220\u6389\u7684\u5361\u7247\u4F1A\u5148\u653E\u5230\u8FD9\u91CC\uFF0C\u4FDD\u7559 {days} \u5929\u540E\u81EA\u52A8\u6E05\u7406\u3002",recyclePurgeAll:"\u6E05\u7A7A\u56DE\u6536\u7AD9",recyclePurgeAllConfirm:"\u6C38\u4E45\u5220\u9664\u56DE\u6536\u7AD9\u91CC\u7684\u5168\u90E8 {n} \u5F20\u5361\u7247\uFF1F\u6B64\u64CD\u4F5C\u4E0D\u53EF\u6062\u590D\u3002",toastPurgeAll:"\u5DF2\u6C38\u4E45\u5220\u9664 {n} \u5F20",bucketDeleted:"\u5DF2\u5220\u9664",restoreToQueue:"\u9000\u56DE\u5BA1\u6838",fbCopyManual:"\u81EA\u52A8\u590D\u5236\u88AB\u6D4F\u89C8\u5668\u62E6\u622A\uFF0C\u5DF2\u628A\u5185\u5BB9\u653E\u5728\u4E0B\u9762\uFF1A\u70B9\u300C\u5168\u9009\u300D\u518D\u6309 Ctrl+C",vcPage:"\u9875\u9762\u811A\u672C",vcPageStale:"\u26A0 \u5F53\u524D\u9875\u9762\u4ECD\u5728\u8FD0\u884C\u65E7\u7248\u811A\u672C\uFF08\u9875\u9762 v{page} / \u78C1\u76D8 v{disk}\uFF09\uFF1A\u6309 Ctrl+F5 \u5237\u65B0\u9875\u9762\u5373\u751F\u6548\uFF1B\u82E5\u300C\u8FD0\u884C\u4E2D\u300D\u4ECD\u662F\u65E7\u7248\u53F7\uFF0C\u5219\u8FD8\u9700\u91CD\u542F\u684C\u9762\u7248 / DSH",vcLoaded:"\u8FD0\u884C\u4E2D\uFF08\u670D\u52A1\u672C\u9875\u7684\u8FDB\u7A0B\uFF09",vcResident:"\u5E38\u9A7B\u5B9E\u4F8B",vcOnDisk:"\u78C1\u76D8\u5B89\u88C5",vcLatest:"npm \u6700\u65B0",vcStale:"\u78C1\u76D8\u5DF2\u5B89\u88C5 v{disk}\uFF0C\u4F46\u670D\u52A1\u672C\u9875\u7684\u8FDB\u7A0B\u4ECD\u52A0\u8F7D v{loaded} \u2014\u2014 \u70B9\u300C\u91CD\u542F\u5E38\u9A7B\u5B9E\u4F8B\u300D\u5373\u53EF\u7528\u65B0\u4EE3\u7801\u91CD\u542F\u5B83\uFF08\u4E0D\u7528\u91CD\u542F DSH\uFF09",vcRestart:"\u91CD\u542F\u5E38\u9A7B\u5B9E\u4F8B",vcRestarting:"\u91CD\u542F\u4E2D\u2026",vcRestartSent:"\u5DF2\u8C03\u5EA6\u91CD\u542F\u5E38\u9A7B\u5B9E\u4F8B\uFF1A\u7EA6 3-8 \u79D2\u540E\u65B0\u8FDB\u7A0B\u63A5\u7BA1\uFF0C\u8BF7\u7A0D\u7B49\u518D\u5237\u65B0\u9875\u9762\uFF08Ctrl+F5\uFF09",vcRestartCurrent:"\u5E38\u9A7B\u5B9E\u4F8B\u5DF2\u7ECF\u662F\u6700\u65B0\u7248\uFF0C\u65E0\u9700\u91CD\u542F",vcRestartAnyway:"\u5E38\u9A7B\u5B9E\u4F8B\u5DF2\u662F v{ver}\uFF1B\u901A\u5E38\u65E0\u9700\u91CD\u542F\uFF0C\u5361\u4F4F/\u884C\u4E3A\u5F02\u5E38\u65F6\u53EF\u5F3A\u5236\u91CD\u542F",vcHostProcessStale:"\u78C1\u76D8\u5DF2\u5B89\u88C5 v{disk}\uFF0C\u4F46**\u670D\u52A1\u672C\u9875\u7684\u8FDB\u7A0B**\uFF08DSH \u5BBF\u4E3B\uFF09\u52A0\u8F7D\u7684\u4ECD\u662F v{loaded} \u2014\u2014 \u5B83\u6765\u81EA\u5BBF\u4E3B\u542F\u52A8\u65F6\u7684\u90A3\u4EFD\u4EE3\u7801\uFF1A**\u91CD\u542F\u5E38\u9A7B\u5B9E\u4F8B\u4E0D\u4F1A\u6539\u53D8\u672C\u9875**\uFF0C\u9700\u5B8C\u5168\u9000\u51FA\u5E76\u91CD\u5F00 DSH\u3002",vcRestartFixes:"\u70B9\u51FB\u4F1A\u628A\u5E38\u9A7B\u5B9E\u4F8B\uFF08\u7AEF\u53E3\u4E0A\u90A3\u4E2A\uFF09\u6362\u6210 v{disk}\uFF08\u5F53\u524D v{served}\uFF09\uFF0C\u4E0D\u7528\u91CD\u542F DSH",vcRestartStart:"\u70B9\u51FB\u4F1A\u7528\u5F53\u524D\u78C1\u76D8\u7248\u672C v{disk} \u628A\u5E38\u9A7B\u5B9E\u4F8B\u62C9\u8D77\u6765\uFF08\u4E0D\u7528\u91CD\u542F DSH\uFF09",vcRestartRepair:"\u70B9\u51FB\u4F1A\u628A\u5B83\u91CD\u65B0\u6258\u7BA1\u5E76\u4FDD\u6D3B\uFF08\u7248\u672C\u5DF2\u662F v{disk}\uFF0C\u4E0D\u7528\u91CD\u542F DSH\uFF09",vcRestartHostOnly:"\u5E38\u9A7B\u5B9E\u4F8B\u5DF2\u662F v{disk}\uFF1B\u672C\u9875\u663E\u793A v{loaded} \u6765\u81EA DSH \u5BBF\u4E3B \u2014\u2014 \u91CD\u542F\u5E38\u9A7B\u5B9E\u4F8B\u4E0D\u5F71\u54CD\u672C\u9875\uFF0C\u8BF7\u91CD\u542F DSH",vcRestartFail:"\u91CD\u542F\u8BF7\u6C42\u5931\u8D25",vcRestartNoRoute:"\u5F53\u524D\u9875\u9762\u5BF9\u63A5\u7684\u8FDB\u7A0B\u8FD8\u662F\u65E7\u7248\uFF08\u6CA1\u6709\u8FD9\u4E2A\u63A5\u53E3\uFF09\uFF1A\u8BF7\u91CD\u542F\u684C\u9762\u7248 / DSH \u540E\u518D\u8BD5\uFF0C\u6216\u6267\u884C {cmd}",vcHostStale:"\u4E0A\u65B9\u7684\u300C\u8FD0\u884C\u4E2D\u300D\u6765\u81EA\u670D\u52A1\u672C\u9875\u7684\u8FDB\u7A0B\uFF1B\u5E38\u9A7B\u5B9E\u4F8B\u5DF2\u662F\u65B0\u7248 \u2014\u2014 \u8981\u8BA9\u5B83\u4E5F\u53D8\u6210\u65B0\u7248\u53F7\uFF0C\u9700\u91CD\u542F\u684C\u9762\u7248 / DSH",vcResidentDownShort:"\u672A\u8FD0\u884C",vcResidentDown:"\u5E38\u9A7B\u5B9E\u4F8B\u6CA1\u5728\u8FD0\u884C\uFF08\u7AEF\u53E3 {port} \u65E0\u54CD\u5E94\uFF09\u2014\u2014 \u70B9\u4E0B\u9762\u7684\u6309\u94AE\u7528\u65B0\u4EE3\u7801\u628A\u5B83\u62C9\u8D77\u6765\uFF1B\u62C9\u4E0D\u8D77\u6765\u65F6\u6267\u884C {cmd}\uFF0C\u5E76\u8D34\u4E00\u4E0B dsh-memory status \u7684\u8F93\u51FA",vcResidentUnmanagedShort:"\u672A\u6258\u7BA1",vcResidentUnmanaged:"\u5E38\u9A7B\u5B9E\u4F8B\u5728\u670D\u52A1 v{served}\uFF0C\u4F46**\u6CA1\u6709\u770B\u95E8\u72D7\u4FDD\u6D3B**\uFF08\u505C\u6B62 / \u786C\u6740\u540E\u6B8B\u7559\u7684\u5B64\u513F\uFF09\u2014\u2014 \u70B9\u4E0B\u9762\u7684\u6309\u94AE\u628A\u5B83\u91CD\u65B0\u6258\u7BA1\uFF08\u91CD\u65B0\u62C9\u4E00\u4E2A\u770B\u95E8\u72D7 + \u65B0\u5B9E\u4F8B\uFF09\uFF1B\u4E5F\u53EF\u4EE5\u6267\u884C {cmd}",vcResidentLockUnknownShort:"\u6258\u7BA1\u72B6\u6001\u672A\u77E5",vcResidentReplaceBlockedShort:"\u4E0D\u53EF\u66FF\u6362",vcResidentHostManagedShort:"\u5BBF\u4E3B\u6258\u7BA1",vcResidentReplaceBlocked:"\u5E38\u9A7B\u5B9E\u4F8B**\u4E0D\u53EF\u66FF\u6362**\uFF08\u73AF\u5883\u9650\u5236\uFF09\uFF1A\u770B\u95E8\u72D7\u9501\u76EE\u5F55\u4E0D\u53EF\u5199\uFF08{err}\uFF1B{path}\uFF09\u2192 \u7AEF\u53E3\u4E0A\u4F1A**\u957F\u671F**\u505C\u5728 v{served}\u3002\u8FD9\u4E0D\u662F\u300C\u6682\u65F6\u843D\u540E\u300D\uFF1A\u81EA\u52A8\u66FF\u6362\u88AB\u6B63\u786E\u5730\u62D2\u7EDD\uFF08\u907F\u514D\u7559\u4E0B\u5B64\u513F\uFF09\u3002\u51FA\u8DEF\uFF1A\u4FEE\u590D\u8BE5\u76EE\u5F55\u6743\u9650\u540E\u6267\u884C {cmd}\uFF0C\u6216\u524D\u53F0\u89C2\u5BDF dsh-memory watchdog --port 7999",vcResidentLockUnknown:"\u5E38\u9A7B\u5B9E\u4F8B\u5728\u670D\u52A1 v{served}\uFF0C\u4F46**\u770B\u95E8\u72D7\u9501\u6587\u4EF6\u5199\u4E0D\u8FDB\u53BB**\uFF08\u53D7\u9650\u73AF\u5883\uFF1A\u6C99\u7BB1\u7981\u5199 / ACL / \u975E\u7CFB\u7EDF\u76D8\uFF09\u2192 \u65E0\u6CD5\u5224\u65AD\u5B83\u6709\u6CA1\u6709\u88AB\u6258\u7BA1\uFF08\u4E0D\u662F\u300C\u672A\u6258\u7BA1\u300D\uFF09\u3002\u539F\u56E0\uFF1A{err}\uFF08{path}\uFF09\u3002\u4FDD\u6D3B\u901A\u5E38\u4ECD\u7136\u6709\u6548\uFF1B\u70B9\u4E0B\u9762\u7684\u6309\u94AE\u53EF\u7528\u65B0\u4EE3\u7801\u91CD\u65B0\u6258\u7BA1\u4E00\u6B21\u3002",vcOutdated:"\u6709\u65B0\u7248\u672C",vcUpToDate:"\u5DF2\u662F\u6700\u65B0",vcCheck:"\u68C0\u67E5\u66F4\u65B0",checking:"\u68C0\u67E5\u4E2D\u2026",vcCheckFail:"\u68C0\u67E5\u66F4\u65B0\u5931\u8D25",recallSummaryLen:"\u53EC\u56DE\u6458\u8981\u957F\u5EA6",recallBody:"\u53EC\u56DE\u542B\u6B63\u6587",secretHint:"\u51ED\u8BC1\u53D6\u7528\u63D0\u793A\uFF08\u6CE8\u5165\u6BCF\u4E2A\u4F1A\u8BDD\uFF09",autoWeb:"Web server",autoWebMode:"\u4FDD\u6D3B\u6A21\u5F0F",webPort:"Web \u7AEF\u53E3",webCheckIntervalMs:"\u63A2\u6D3B\u95F4\u9694(ms)",webMaxRestart:"\u6700\u5927\u91CD\u542F\u6B21\u6570",watchdogAutoSpawn:"\u770B\u95E8\u72D7\u8FDB\u7A0B",autoRestartOnDrift:"\u7248\u672C\u6F02\u79FB\u81EA\u52A8\u91CD\u542F\u5E38\u9A7B\u5B9E\u4F8B",autoMcpSetup:"\u81EA\u52A8\u6302\u8F7D MCP",saveConfig:"\u4FDD\u5B58\u914D\u7F6E",saveFail:"\u4FDD\u5B58\u5931\u8D25",savedOk:"\u5DF2\u4FDD\u5B58",savedDirect:"\u672C\u673A\u6CA1\u6709 DSH \u5BBF\u4E3B\u5728\u8FD0\u884C\uFF0C\u5DF2\u76F4\u63A5\u5199\u5165\u5171\u4EAB\u914D\u7F6E\uFF08hooks / MCP / \u72EC\u7ACB\u9875\u7ACB\u5373\u751F\u6548\uFF09",savedApplied:"\u5DF2\u4FDD\u5B58\u5E76\u751F\u6548\uFF08\u5BBF\u4E3B\u5DF2\u5728\u8BF7\u6C42\u4E0A\u4E0B\u6587\u91CC\u5E94\u7528\uFF09",saveQueued:"\u5DF2\u4EA4\u7ED9 DSH \u5BBF\u4E3B\u540C\u6B65\uFF0C\u5C1A\u672A\u786E\u8BA4\u751F\u6548",saveHostGuard:"\u8BE5\u5BBF\u4E3B\u4E0D\u5141\u8BB8\u63D2\u4EF6\u4ECE\u81EA\u5DF1\u7684\u56DE\u8C03\u4E0A\u4E0B\u6587\u91CC\u5199\u914D\u7F6E\uFF1B\u8BF7\u5728\u300CDSH \u8BBE\u7F6E \u2192 \u8BB0\u5FC6\u300D\u91CC\u6539\u540C\u4E00\u9879\uFF0C\u6216\u7F16\u8F91 profile \u7684\u914D\u7F6E\u8865\u4E01\u5C42",saveFailHint:"\u5BBF\u4E3B\u4FA7\u672A\u5E94\u7528\uFF0C\u8BE6\u89C1\u300C\u53CD\u9988\u5F02\u5E38\u300D\u91CC\u7684\u8BCA\u65AD\u4FE1\u606F",recallTool:"recall \u5DE5\u5177",costControl:"\u6210\u672C\u63A7\u5236",costHint:"\u7701 token\u3001\u63A7 LLM \u6D88\u8017",distillEnabled:"\u84B8\u998F\u77E5\u8BC6\u5361(\u5F00=LLM \u538B\u7F29, \u5173=\u539F\u6587\u5361\u96F6 LLM)",dedupByLLM:"\u8BED\u4E49\u53BB\u91CD\u5582 LLM(\u5173=\u7EAF\u8BCD\u6CD5\u66F4\u7701)",captureMaxTokens:"\u84B8\u998F\u8F93\u51FA\u4E0A\u9650(token)",captureTimeoutMs:"\u84B8\u998F\u8D85\u65F6(\u6BEB\u79D2\uFF1B\u672C\u5730\u5927\u6A21\u578B\u51B7\u542F\u52A8\u5EFA\u8BAE 120000+)",recallMinScore:"\u53EC\u56DE\u76F8\u5173\u6027\u9608\u503C(\u8D8A\u9AD8\u8D8A\u7701)",configNeedsDsh:"\u914D\u7F6E\u7F16\u8F91\u9700\u5728 DSH \u5185\u6253\u5F00\uFF08\u672C\u9875\u53EF\u80FD\u53EA\u8BFB\u6216\u6709\u90E8\u5206\u7F3A\u5931\uFF09",installMcp:"\u5B89\u88C5 MCP",uninstallMcp:"\u5378\u8F7D MCP",uninstallConfirm:"\u786E\u8BA4\u5378\u8F7D\u8BE5\u667A\u80FD\u4F53\u7684 MCP\uFF1FClaude Code/Codex \u5C06\u65E0\u6CD5\u518D\u8C03\u7528\u8BB0\u5FC6\u5E93\u3002",presetConfig:"\u4E00\u952E\u63A8\u8350\u914D\u7F6E",presetHint:"\u70B9\u51FB\u586B\u5145\u5BF9\u5E94\u65B9\u6848\uFF0C\u70B9\u4FDD\u5B58\u751F\u6548",planApplied:"\u5DF2\u586B\u5165\u300C{plan}\u300D\xB7 \u70B9\u300C\u4FDD\u5B58\u914D\u7F6E\u300D\u751F\u6548",planDescA:"\u4E2A\u4EBA\u5F00\u53D1\u63A8\u8350 \xB7 \u84B8\u998F 4000 \xB7 \u5173\u770B\u95E8\u72D7",planDescB:"\u9884\u7B97\u654F\u611F \xB7 \u5173\u84B8\u998F \xB7 \u8FD1 0 \u6210\u672C",planDescC:"\u957F\u9879\u76EE \xB7 \u5F00\u770B\u95E8\u72D7 \xB7 \u9AD8\u8D28\u91CF",cfgSubCore:"\u81EA\u52A8\u6C89\u6DC0 / \u53EC\u56DE / \u5E93\u76EE\u5F55\u4E0E\u53BB\u91CD\u7B56\u7565",cfgSubMulti:"\u6309\u9879\u76EE\u9694\u79BB\u8BB0\u5FC6\u5E93\uFF0C\u5207\u6362\u540E CLI / MCP / hooks \u540C\u6B65\u751F\u6548",cfgSubCost:"\u63A7\u5236 LLM \u8C03\u7528\u4E0E\u53EC\u56DE\u89C4\u6A21\uFF0C\u76F4\u63A5\u51B3\u5B9A\u82B1\u591A\u5C11\u94B1",cfgSubAudit:"\u4EC0\u4E48\u5185\u5BB9\u9700\u8981\u4F60\u4EBA\u5DE5\u786E\u8BA4\u540E\u624D\u8FDB\u4E3B\u5E93",cfgSubService:"\u4FDD\u6D3B\u3001\u770B\u95E8\u72D7\u4E0E\u7248\u672C\u81EA\u6108\uFF0C\u4E00\u822C\u4FDD\u6301\u9ED8\u8BA4\u5373\u53EF",cfgDirty:"\u6709\u672A\u4FDD\u5B58\u7684\u66F4\u6539",cfgClean:"\u5DF2\u540C\u6B65",unitChars:"\u5B57",unitPerDay:"\u5F20 / \u5929",unitTokens:"tokens",unitMs:"\u6BEB\u79D2",unitTimes:"\u6B21",unitDays:"\u5929",mcpAutoHint:"\u81EA\u52A8\u8BC6\u522B\u5DF2\u5B89\u88C5\u7684 Agent \u4E0E\u5176 MCP \u914D\u7F6E\uFF08\u53EA\u8BFB\u63A2\u6D4B\uFF0C\u4E0D\u6539\u4EFB\u4F55\u6587\u4EF6\uFF09",mcpRefresh:"\u91CD\u65B0\u68C0\u6D4B",mcpSummary:"\u8BC6\u522B\u5230 {agents} \u4E2A Agent \xB7 {servers} \u4E2A MCP \xB7 {mounted} \u4E2A\u5DF2\u6302\u8F7D\u672C\u63D2\u4EF6",mcpNoServers:"\u672A\u914D\u7F6E MCP",mcpDetectedOnly:"\u4EC5\u8BC6\u522B",planA:"A \u8F7B\u91CF\u7701\u5FC3",planB:"B \u6781\u81F4\u7701\u94B1",planC:"C \u9AD8\u8D28\u91CF",pluginInfo:"\u63D2\u4EF6\u4FE1\u606F",organizeTitle:"\u6574\u7406\u5EFA\u8BAE",scanAndOrganize:"\u4E00\u952E\u641C\u7D22\u548C\u6574\u7406",scanHint:"\u70B9\u300C\u{1F50D} \u4E00\u952E\u641C\u7D22\u548C\u6574\u7406\u300D\u626B\u63CF\u76F8\u4F3C\u5361/\u9648\u65E7\u5361\uFF0C\u518D\u7528\u300C\u26A1 \u4E00\u952E\u4F18\u5316\u300D\u6267\u884C\u3002",mergeNow:"\u5408\u5E76",delete:"\u5220\u9664",captureAlert:"\u81EA\u52A8\u6C89\u6DC0\u5F02\u5E38",captureAlertHint:"\u6253\u5F00\u5DE6\u680F\u300C\u7528\u91CF/\u4ECA\u65E5\u300D\u770B\u81EA\u52A8\u6C89\u6DC0\u65E5\u5FD7\uFF1BAUTH/401 \u7B49\u9274\u6743\u5931\u8D25 \u2192 \u66F4\u65B0\u5BF9\u5E94 provider \u7684 Key \u6216\u6362\u84B8\u998F\u6A21\u578B\uFF1B\u786E\u8BA4\u662F\u63A5\u53E3/\u7248\u672C\u4E0D\u5339\u914D\uFF0C\u518D\u66F4\u65B0 memory-eternal\u3002",captureLog:"\u81EA\u52A8\u6C89\u6DC0\u65E5\u5FD7",captureLogHint:"\u6BCF\u8F6E\u5BF9\u8BDD\u7ED3\u675F\u540E\u81EA\u52A8\u8DD1\uFF1A\u76D1\u542C \u2192 \u5224\u5B9A \u2192 \u5199\u5361\u3002\u8FD9\u91CC\u663E\u793A\u6700\u8FD1 100 \u6761\uFF0C\u7528\u6765\u6392\u67E5\u300C\u4E3A\u4EC0\u4E48\u6CA1\u5199\u5361\u300D\u3002",captureLogEmpty:"\u8FD8\u6CA1\u6709\u8BB0\u5F55\u3002\u8DDF Agent \u804A\u4E00\u8F6E\uFF08> \u6355\u83B7\u6700\u5C0F\u957F\u5EA6\uFF09\u540E\u518D\u56DE\u6765\u770B\u3002",healthTitle:"\u5065\u5EB7\u6982\u89C8",healthHint:"\u5E93 / \u5907\u4EFD / \u6C89\u6DC0 / \u7248\u672C \u2014\u2014 \u4E00\u773C\u770B\u6E05\u6709\u6CA1\u6709\u9759\u9ED8\u574F\u6389\u7684\u4E1C\u897F",healthDb:"\u77E5\u8BC6\u5E93",healthDbBad:"\u5E93\u4E0D\u53EF\u5199\u6216\u635F\u574F",healthBackups:"\u5907\u4EFD",healthNoBackups:"\u6CA1\u6709\u5907\u4EFD\uFF08\u6267\u884C dsh-memory doctor \u53EF\u5EFA\uFF0C\u5BBF\u4E3B\u4E5F\u4F1A\u6BCF\u65E5\u5907\u4EFD\uFF09",healthBackupAge:"{n} \u4E2A \xB7 \u6700\u8FD1 {d} \u5929\u524D",healthBackupToday:"{n} \u4E2A \xB7 \u4ECA\u5929",healthCapture:"\u81EA\u52A8\u6C89\u6DC0",healthNoRecords:"\u6682\u65E0\u8BB0\u5F55\uFF08\u8FD8\u6CA1\u89E6\u53D1\u8FC7\u6C89\u6DC0\uFF09",healthCapOk:"\u6700\u8FD1\u4E00\u6B21\u6210\u529F\u5199\u5361",healthCapFail:"\u6700\u8FD1\u4E00\u6B21\u5931\u8D25",healthRunAlign:"\u8FD0\u884C\u300C\u7248\u672C\u5BF9\u9F50\u68C0\u67E5\u300D\u540E\u663E\u793A",healthVersion:"\u7248\u672C",ledgerTitle:"\u8BB0\u5FC6\u8D26\u672C\uFF08\u8FD1 7 \u5929\uFF09",ledgerHint:"\u53EC\u56DE\u6CE8\u5165\u4E86\u591A\u5C11\u3001\u84B8\u998F\u8C03\u7528\u4E86\u591A\u5C11\u6B21 \u2014\u2014 \u5224\u65AD\u300C\u5230\u5E95\u7701\u4E0D\u7701 token\u300D\u7684\u7B2C\u4E00\u5757\u6570\u636E",ledgerRecalls:"\u53EC\u56DE\u6B21\u6570",ledgerInjected:"\u6CE8\u5165",ledgerChars:"\u5B57\u7B26",ledgerCaptures:"\u6C89\u6DC0\u6B21\u6570",ledgerLlmCalls:"LLM \u8C03\u7528",ledgerEstimate:"\u4F30\u7B97 token",ledgerEstimateHint:"\u6309\u7EA6 2 \u5B57\u7B26 \u2248 1 token \u7C97\u4F30\uFF0C\u53EA\u770B\u91CF\u7EA7",ledgerUseful:"\u53EC\u56DE\u6709\u7528\u7387",ledgerUsefulHint:"\u6765\u81EA\u300C\u6709\u7528 / \u6CA1\u7528\u300D\u53CD\u9988\uFF1B\u4F4E\u4E8E 60% \u8BF4\u660E\u6CE8\u5165\u53EF\u80FD\u51C0\u4E8F",ledgerFormula:"\u51C0\u6536\u76CA \u2248 \u88AB\u907F\u514D\u7684\u4E0A\u4E0B\u6587\u5F00\u9500 \u2212\uFF08\u6CE8\u5165\u5B57\u7B26 + \u84B8\u998F\u8C03\u7528 \xD7 \u5355\u4EF7\uFF09\u3002\u8D26\u672C\u53EA\u8BB0\u300C\u82B1\u4E86\u591A\u5C11\u300D\uFF0C\u6536\u76CA\u4FA7\u8BF7\u7ED3\u5408\u4F60\u5B9E\u9645\u7701\u4E0B\u7684\u91CD\u8BFB / \u8FD4\u5DE5\u6765\u5224\u65AD\u3002",ledgerNoData:"\u8FD1 7 \u5929\u8FD8\u6CA1\u6709\u8BB0\u5F55\uFF1A\u804A\u51E0\u8F6E\u6216\u8BA9 agent recall \u4E00\u6B21\u540E\u518D\u770B\u3002",ledgerNeedRestart:"\u5BBF\u4E3B\u4ECD\u5728\u8DD1\u65E7\u7248 API\uFF08/ledger \u4E0D\u5B58\u5728\uFF09\uFF1A\u5B8C\u5168\u9000\u51FA\u5E76\u91CD\u5F00 DSH \u540E\uFF0C\u8D26\u672C\u624D\u4F1A\u5F00\u59CB\u8BB0\u5F55\u3002",alignTitle:"\u7248\u672C\u5BF9\u9F50\u68C0\u67E5",alignRun:"\u5F00\u59CB\u68C0\u67E5",alignFix:"\u91CD\u5199\u63A5\u7EBF",alignFixConfirm:"\u91CD\u5199 MCP / hooks \u63A5\u7EBF\uFF1F\uFF08\u53EA\u78B0\u63D2\u4EF6\u81EA\u5DF1\u7684\u952E\uFF0C\u4E0D\u52A8\u4F60\u7684\u6570\u636E\u4E0E\u914D\u7F6E\uFF09",alignFixed:"\u63A5\u7EBF\u5DF2\u91CD\u5199\uFF1B\u82E5\u4E0A\u9762\u63D0\u793A\u300C\u5BBF\u4E3B\u8FDB\u7A0B\u65E7\u300D\uFF0C\u4ECD\u9700\u5B8C\u5168\u9000\u51FA\u5E76\u91CD\u5F00 DSH",alignFail:"\u5BF9\u9F50\u68C0\u67E5\u5931\u8D25",alignHint:"\u63D2\u4EF6\u5347\u7EA7\u53EA\u6362\u78C1\u76D8\u6587\u4EF6 \u2014\u2014 \u5BBF\u4E3B\u5185\u5B58\u91CC\u7684\u4E8B\u4EF6\u8BA2\u9605\u4E0E MCP / hooks \u91CC\u7684\u65E7\u8DEF\u5F84\u4E0D\u4F1A\u81EA\u5DF1\u66F4\u65B0\uFF0C\u8FD9\u91CC\u4E00\u6B21\u67E5\u6E05",alignIdle:"\u70B9\u300C\u5F00\u59CB\u68C0\u67E5\u300D\uFF1A\u5BF9\u6BD4\u5BBF\u4E3B / \u5E38\u9A7B\u5B9E\u4F8B / npm \u7684\u7248\u672C\uFF0C\u5E76\u68C0\u67E5 MCP\u3001hooks \u91CC\u662F\u5426\u6709\u65E7\u8DEF\u5F84\u4E0E\u65E7\u53C2\u6570",alignDisk:"\u78C1\u76D8",alignResident:"\u5E38\u9A7B\u5B9E\u4F8B",alignHost:"\u5BBF\u4E3B\u8FDB\u7A0B",captureLogUnavailable:"\u65E5\u5FD7\u4EC5\u5728 DSH \u5BBF\u4E3B\u5185\u53EF\u7528\uFF08\u72EC\u7ACB Web \u9875\u6CA1\u6709 host \u8FD0\u884C\u65F6\uFF09\u3002",captureAgentCards:"Agent \u81EA\u52A8\u6C89\u6DC0\u7684\u5361",noCards:"\u6682\u65E0",loadMore:"\u52A0\u8F7D\u66F4\u591A",batchMerge:"\u4E00\u952E\u667A\u80FD\u5408\u5E76",mergeAllConfirm:"\u5C06\u6309\u76F8\u4F3C\u5EA6\u5206\u7EC4\u7684\u5361\u7247\u5404\u5408\u5E76\u4E3A\u4E00\u5F20\uFF08\u4FDD\u7559\u5404\u81EA kind\uFF09\uFF0C\u539F\u5361\u5220\u9664\uFF1F",crossVault:"\u8DE8\u5E93\u805A\u5408",deleteConfirm:"\u786E\u5B9A\u5220\u9664\u8BE5\u8BB0\u5FC6\u5361\uFF1F\u6B64\u64CD\u4F5C\u4E0D\u53EF\u64A4\u9500\u3002",editCard:"\u7F16\u8F91",editHint:"\u53EA\u6539\u6807\u9898 / \u6807\u7B7E / \u6B63\u6587\uFF1B\u72B6\u6001\u4E0E\u7C7B\u578B\u4ECD\u7531\u5BA1\u6838\u4E0E\u7CFB\u7EDF\u6D41\u8F6C\u51B3\u5B9A\uFF0C\u624B\u52A8\u7F16\u8F91\u4E0D\u4F1A\u7ED5\u8FC7\u5BA1\u6838\u3002",editTitle:"\u6807\u9898",editTags:"\u6807\u7B7E\uFF08\u9017\u53F7\u5206\u9694\uFF09",editTagsHint:"\u4F8B\u5982\uFF1A\u8BB0\u5FC6, \u68C0\u7D22, \u6027\u80FD",editBody:"\u6B63\u6587\uFF08Markdown\uFF09",editSave:"\u4FDD\u5B58",editSaving:"\u4FDD\u5B58\u4E2D\u2026",editCancel:"\u53D6\u6D88",editSaved:"\u5DF2\u4FDD\u5B58",editFail:"\u4FDD\u5B58\u5931\u8D25",editTitleEmpty:"\u6807\u9898\u4E0D\u80FD\u4E3A\u7A7A",editBodyEmpty:"\u6B63\u6587\u4E0D\u80FD\u4E3A\u7A7A",deleted:"\u5DF2\u5220\u9664",deleteFail:"\u5220\u9664\u5931\u8D25",deleteSelected:"\u5220\u9664\u9009\u4E2D",deletedSelected:"\u5F20\u5361\u5DF2\u5220\u9664",merge:"\u5408\u5E76",mergeNeed:"\u81F3\u5C11\u9009 2 \u5F20\u5361",mergeConfirm:"\u5C06\u6240\u9009\u5361\u7247\u5408\u5E76\u4E3A\u4E00\u5F20\u5E76\u5220\u9664\u539F\u5361\uFF1F",merged:"\u5DF2\u5408\u5E76",mergeFail:"\u5408\u5E76\u5931\u8D25",mcpInstalled:"\u2705 {agent} MCP \u5DF2\u5B89\u88C5",mcpUninstalled:"\u2705 {agent} MCP \u5DF2\u5378\u8F7D",mcpActionFail:"\u274C {agent} MCP \u64CD\u4F5C\u5931\u8D25\uFF1A{error}",dshHostLabel:"DeepSeek Harness\uFF08\u5F53\u524D\u5BBF\u4E3B\uFF09",restartHint:"\u5DF2\u4FDD\u5B58\u3002autoWebMode/watchdogAutoSpawn \u7B49\u9700\u91CD\u542F DSH \u751F\u6548\uFF1B\u5DF2\u6709\u5E38\u9A7B watchdog \u4E0D\u4F1A\u88AB\u81EA\u52A8\u505C\u6389\uFF0C\u9700 dsh-memory stop / restart\uFF08#19\uFF09",conflictRefresh:"\u914D\u7F6E\u5DF2\u88AB\u5916\u90E8\u4FEE\u6539\uFF0C\u8BF7\u5237\u65B0\u540E\u91CD\u8BD5",untitled:"\u65E0\u6807\u9898",tplBlank:"\u{1F4C4} \u7A7A\u767D",tagsHint:"\u6807\u7B7E\uFF08\u9017\u53F7\u5206\u9694\uFF09",connCount:"{n} \u8FDE\u63A5",tplDecisionTags:"\u51B3\u7B56, \u65B9\u6848",tplBugTags:"\u8E29\u5751, \u6559\u8BAD",tplMeetingTags:"\u4F1A\u8BAE, \u7EAA\u8981",tplWeeklyTags:"\u5468\u62A5",tplDecisionBody:`# \u6280\u672F\u51B3\u7B56\uFF1A[\u6807\u9898]
20
20
 
21
21
  ## \u80CC\u666F
22
22
  - \u95EE\u9898\u63CF\u8FF0
@@ -61,7 +61,7 @@ Error generating stack: `+i.message+`
61
61
  -
62
62
 
63
63
  ## \u98CE\u9669/\u963B\u585E
64
- - `},Kf={nav:"Memory",loading:"Loading\u2026",loadingGraph:"Loading knowledge graph\u2026",refresh:"Refresh",overview:"Memory Overview",total:"Cards",recent:"Added (7d)",tags:"Tags",searchPlaceholder:"Search memory\u2026",search:"Search",all:"All",kindProject:"Projects",kindKnowledge:"Knowledge",kindOther:"Other",kindContent:"Content",kindPrompt:"Prompts",kindBusiness:"Business",kindTool:"Tools",kindMistake:"Mistakes",kindCore:"Core memory",kindSkill:"Skills",newsTab:"News",newsTitle:"News",newsHint:"Your own updates, decisions and team briefs, kept separate from memory cards.",newsNew:"Write one",newsSearch:"Search title / body / tags\u2026",newsUnreadOnly:"Unread only",newsEmpty:"No news yet. Write the first update, decision or team brief here.",newsNoMatch:"No matching news",newsPinned:"Pinned",newsRead:"Read",newsUnread:"Unread",newsMarkRead:"Mark read",newsMarkUnread:"Mark unread",newsEdit:"Edit",newsDeleteConfirm:"Delete this news item?",newsDeleted:"Deleted",newsSave:"Save",newsSaving:"Saving\u2026",newsSaved:"Saved",newsSaveFail:"Save failed",newsTitleField:"Title",newsBodyField:"Body (Markdown)",newsCategoryField:"Category",newsSourceField:"Source",newsUrlField:"URL",newsTagsField:"Tags (comma separated)",newsDateField:"Date",newsPinField:"Pin to top",newsPreview:"Preview",newsEditBody:"Edit body",newsOpenLink:"Open link",newsToday:"Today",newsYesterday:"Yesterday",newsEarlier:"Earlier",newsTitlePlaceholder:"e.g. v0.20.0 release notes",newsBodyPlaceholder:"Write something worth keeping\u2026 Markdown supported",newsCountUnit:"items",cancel:"Cancel",newsDaily:"Daily AI",newsMonthly:"Monthly top",newsMine:"My updates",newsDailySub:"Latest AI news, aggregated by source",newsMonthlySub:"This month's AI discussion ranking (Hacker News points)",newsMineSub:"Your own releases, decisions and team briefs",newsLoading:"Fetching news\u2026",newsFeedError:"News sources are unavailable",newsHeat:"heat",newsComments:"comments",newsOriginal:"Read original",newsUpdatedAt:"Updated",newsPartialFail:"Some sources failed",newsFeedEmpty:"No news fetched today. Try refresh.",newsFeedRefresh:"Refresh news",newsLoadingHint:"First load fetches several Chinese sources; this can take a few seconds.",newsRetry:"Retry",newsSearchGo:"Search",newsFollow:"Follow",newsFollowPreview:"Here is what I understood \u2014 follow it?",newsFollowConfirm:"Start following",newsFollowAdded:"Following",newsFollowExists:"Already following",newsFollowRemoved:"Unfollowed",newsFollowFail:"Follow failed",newsFollowNoQuery:"Type a topic first",newsFollowDomains:"Search in these sources",newsFollowEmpty:'No topics followed yet. Search for something, then hit "Follow".',newsIntentHint:'That looks like an instruction \u2014 hit "\uFF0B Follow" to keep pulling it from the right sources; the list below is no longer filtered literally.',newsFollowing:"From your follows",newsDigest:"Follow digest push",newsDigestHint:"When on, the host refreshes your news follows on an interval and lets the agent surface NEW items on the next turn. Off by default.",newsDigestEnabled:"Enable push",newsDigestInterval:"Interval (minutes)",newsDigestMaxItems:"Max items per digest",newsDigestNow:"Generate & preview now",newsDigestNowHint:"Try it before enabling \u2014 see exactly what would be pushed.",newsDigestBuilding:"Generating\u2026",newsDigestDone:"Digest generated",newsDigestEmpty:"No new items from your follows",newsDigestFail:"Failed to generate digest",newsSortRec:"For you",newsSortTime:"Latest",newsPersonalized:"Ordered by your taste",newsLastQuery:"Last search",newsResetPrefs:"Reset taste",newsHeroEye:"NEWSROOM \xB7 AI FEED",newsHeroHint:"One search is remembered \u2014 the next visit is ordered by your taste. Data is fetched once per page open.",newsMatched:"hits",newsNoMatch:"No matching news",newsNoMatchHint:"Nothing in this dataset matches the current keyword, category and language. Clear the filters to see everything.",newsClearFilters:"Clear filters",newsJustNow:"just now",newsMinutesAgo:"min ago",newsHoursAgo:"h ago",newsDaysAgo:"d ago",newsLangZh:"\u4E2D\u6587",newsLangEn:"English",newsLangAll:"All",newsZhArchive:"Chinese monthly archive by date (no public heat score)",newsEnRanking:"English monthly ranking by Hacker News points",skillCards:"Skill cards",skillCardsHint:"Generated from the skills actually installed/available on this machine; always reviewed. Never deposited by agent chat.",skillAutoSync:"Auto-sync skill cards",syncSkills:"Sync skills",syncingSkills:"Syncing skills\u2026",skillsSyncDone:"Skill cards synced",skillsScanned:"scanned",skillsCreated:"created",skillsUpdated:"updated",skillsPendingUpdates:"pending updates",skillsSyncFail:"Skill sync failed",cardsTab:"Cards",webTab:"Web version",webOpening:"Opening the web version in your browser\u2026",webOpened:"Opened the web version in your browser",webOpenFail:"Could not open a browser; visit this URL manually",terminalTab:"Terminal",terminalTitle:"Full terminal UI",terminalIntro:"The Web UI does not render the native terminal TUI. For select-all, batch review and long-form scrolling, open a local terminal or use /audit inside dsh-tui.",terminalRun:"Read-only live queue",terminalTui:"Write mode (real review)",terminalWhy:"Why not embed it in the page",terminalWhyBody:"The terminal TUI relies on the alternate screen, raw key events and a character grid; an iframe cannot reproduce it faithfully. These are the real commands.",terminalCopy:"Copy command",terminalCopied:"Copied",terminalPreview:"Terminal preview",graphTab:"Star map",graph:"Knowledge Graph",graphHint:"Nodes = cards; edges = [[links]] or shared tags. Click a node to read.",graphLegendTitle:"Card types",graphTip:"Left-click highlights \xB7 Shift+drag box-select \xB7 right-click menu \xB7 scroll zoom \xB7 drag to pan",graphWarming:"Laying out {n} nodes\u2026",graphAllCrumb:"All",graphOther:"Other",graphItems:"items",graphCardsUnit:"cards",graphPlanetCards:"{n} cards",graphToFlat:"Flat cards",graphToPlanet:"Planet layers",graphFlatAll:"Show all",graphFlatOnly:"Top only",graphEnter:"Open this level",graphLevelLoading:"Loading level\u2026",graphLevelTimeout:"Level load timed out ({ms}ms) \xB7 current level kept",graphLevelError:"Level load failed \xB7 current level kept",graphRetry:"Retry",graphEmptyLevel:"No cards in this level.",graphLevelHint:"Click a planet to enter \xB7 Shift+click to select \xB7 drag to move \xB7 scroll to zoom",graphBreadcrumbAria:"Level breadcrumb",graphCountWan:"K",graphCountLocale:"en-US",rebuild:"Rebuild",reset:"Reset",expandAll:"Expand all",capped:"Showing the",clearFocus:"Clear highlight",empty:"Memory is empty. After a few conversations, valuable content is auto-captured.",emptyGraph:"No graph data yet.",open:"Read",updated:"Updated",created:"Created",source:"Source",contents:"Contents",related:"Related",file:"File",close:"Close",vaultDir:"Vault directory",capture:"Auto capture",recall:"Auto recall",enabled:"on",disabled:"off",error:"Load failed",back:"Back to list",cardCount:"cards",nodes:"nodes",edges:"edges",memoryTitle:"Memory Library",memoryHint:"Your local second brain",zoomIn:"Zoom in",zoomOut:"Zoom out",fit:"Fit",enterFullscreen:"Fullscreen",exitFullscreen:"Exit fullscreen",exportGraph:"Export",openCard:"Open card",focusNeighbors:"Highlight links",copyName:"Copy name",noMatch:"No matching memory",clearFilter:"Clear filter",filterLabel:"Filter",sortRecent:"Recent",sortTitle:"Title",sortHot:"Hot",exportSel:"Export selected",clearSelection:"Clear selection",download:"Download",openNewTab:"Open in new tab",copyImage:"Copy image",done:"Done",downloaded:"Download started",openedTab:"Opened in new tab",copied:"Copied",exportedSel:" nodes exported",fullscreen:"Fullscreen",exitFull:"Exit fullscreen",copyFail:"Copy failed",timeDim:"Time",timeNew:"\u22643 days",timeRecent:"\u22642 weeks",timeMonth:"\u22641 month",timeOld:"Older",newBadge:"NEW",expand:"Expand",collapse:"Collapse",copyBody:"Copy body",clearFilter:"Clear tag filter",copyPath:"Copy path",copied:"Copied",copyFail:"Copy failed",readWidth:"Reading width",widthNarrow:"Narrow",widthMid:"Medium",widthWide:"Wide",exportVault:"Export MD",exportJson:"Export JSON",exporting:"Exporting\u2026",exportedVault:"Vault exported",exportFail:"Export failed",importVault:"Import",importedVault:"Import complete",importedTotal:" / of ",importedTotalTail:"",importedQuarantine:" \xB7 pending review ",importedQuarantineTail:" (quarantined until approved)",importedSkipped:" \xB7 skipped ",importedSkippedTail:" (duplicate or empty)",importFail:"Import failed",location:"Choose location",saveAs:"Save as",saveAsUnsupported:"Choose-save-location not supported here",exportedTo:"Exported to",defaultDownloads:"default Downloads folder",exportCancel:"Export cancelled",manage:"Manage",tabUsage:"Runtime",tabOptimize:"Optimize",adminLoadFail:"Load failed: fully restart dsh-desktop so the host picks up the new /memory-eternal routes",retry:"Retry",mergeSimilar:"Merge similar",trendLabel:"Last 30 days trend",cleanStale:"\u{1F5D1}\uFE0F Clean stale",deletedStale:" stale cards cleaned",newCard:"New",tplDecision:"\u{1F4DD} Decision",tplBug:"\u{1F41B} Bug",tplMeeting:"\u{1F4CB} Meeting",tplWeekly:"\u{1F4CA} Weekly",createCard:"Create",cardTitle:"Title",cardBody:"Body",fbUseful:"Useful",fbIrr:"Irrelevant",todayAdd:"Added today",weekAdd:"Last 7d",byKind:"By kind",todayList:"Captured today",budgetLabel:"Session budget",budgetChars:"Budget chars",recallLimitLabel:"Recall limit",embeddingLabel:"Semantic recall",mergePairs:"Similar pairs (mergeable)",staleCards:"Stale (>90d)",noOptimize:"Nothing to organize, healthy \u{1F389}",refineTitle:"Conflict scan",refineScan:"Scan now",refineHint:"Similar cards can be merged; conflicts must be judged by a human \u2014 the scan is read-only, and data only moves after you choose (keeping one moves the other to the recycle bin, recoverable)",refineIdle:'Hit "Scan now": recall possibly-related card pairs, then let the model classify each as duplicate / complement / conflict / unrelated',refineNone:"No card pairs need your ruling this round \u{1F389}",refineFail:"Conflict scan failed",refineApplied:"Your ruling was recorded (it will not ask again)",refineRel_duplicate:"Duplicate (mergeable)",refineRel_complement:"Complement (keep both)",refineRel_conflict:"Conflict (needs your ruling)",refineRel_unrelated:"Unrelated",refineKeepA:"Keep A",refineKeepB:"Keep B",refineKeepBoth:"Keep both",refineMerge:"Merge",junkTitle:"Injected junk cards",junkScan:"Scan existing",junkHint:"Cards suspected to be captured runtime injections (skill catalogs / system-reminders) \u2014 the scan is read-only and recycling goes to the recycle bin (recoverable)",junkIdle:'Hit "Scan existing": find cards whose body is really injected runtime text with almost no human content left after stripping',junkNone:"No such cards found \u{1F389}",junkRecycle:"Recycle",junkRecycleAll:"Recycle all",junkRecycleAllConfirm:"Send these cards to the recycle bin? (Not a permanent delete \u2014 recoverable from the recycle center)",junkDone:"Sent to recycle bin",junkFail:"Scan / recycle failed",dbReadonlyTitle:"The memory database is currently not writable",dbReadonlyBody:"Card reads/writes, auditing and the graph will fail, but **settings can still be saved** (they do not go through the database)",dbReadonlyFix:"Diagnose with: dsh-memory doctor (journal mode, write probe, backups and recovery steps)",goalTitle:"Same goal, different approach",goalScan:"Scan goals",goalHint:'Clusters by "what problem does this card solve" \u2014 approaches that differ in wording (7z vs tar vs npm slimming) still land together',goalIdle:'Hit "Scan goals": the model first writes a one-line goal per card (first run calls the model, later runs use the cache), then clusters by goal',goalNone:'No clusters of "one goal, several cards" found \u{1F389}',goalStats:"indexed / calls this run",goalCards:"cards",goalKeep:"Keep all",goalMerge:"Merge this group",goalMerged:"Merge submitted (the new card goes to the audit queue)",goalDone:'Recorded as "keep all"',goalFail:"Goal clustering failed",oneClickOptimize:"One-click optimize",oneClickOptimizeConfirm:"Confirm one-click optimize? This will merge all similar pairs (stale cards are NOT deleted by default).",oneClickAlsoStale:"Also clean stale cards",oneClickOptimizeDone:"One-click optimize done",optimizedMerged:"pairs merged",optimizedStaleDeleted:"stale cards cleaned",mcpSetupStatus:"Agent MCP mount status",rerunSetup:"Re-run setup",notInstalled:"not installed",noMcpEntry:"no MCP entry",nodePathMismatch:"node path mismatch, consider re-running setup",nodePathNote:"different node env (usable)",mcpNeedsRepair:"\u26A0 Needs repair (old config launches GUI)",repairMcp:"Repair",healthy:"healthy",mcpSetupHint:'"Auto-mount MCP" = lets Claude Code / Codex / Cursor use the memory vault. On = auto-configures them; Off = never touches your machine config, run dsh-memory setup manually when needed.',mcpManageHint:"Use each agent row to install/uninstall MCP individually",workTitle:"This session's workspace",workHint:"scratch note \xB7 not knowledge \xB7 never recalled",workLines:"lines",workExpand:"Expand",workCollapse:"Collapse",workPlaceholder:"Where this task stands, what is next\u2026 (archived when the session ends)",workSave:"Save draft",workPromote:"Save as pending card",workClear:"Clear",workClearConfirm:"Clear this session workspace? This cannot be undone.",workSaved:"Session workspace saved",workCleared:"Session workspace cleared",workPromoted:"Submitted for review",workLimitHint:"capped at 200 lines / 24KB, truncated",workPromoteHint:"select a passage to promote only that",workPromoteEmpty:"Nothing to promote",starAskTitle:"Memory is being used",starAskBody:"Recalled {recalls} times \xB7 {cards} cards captured. If it saved you time, a Star helps others find it.",starAskGo:"Star on GitHub",starAskLater:"Later",starAskNever:"Don't ask again",tabConfig:"Memory Config",configPageSub:"Local write, routing, audit and service settings",paneGeneral:"General",paneMemory:"Memory",paneAdvanced:"Advanced",paneService:"Service",paneGeneralSub:"Presets, core switches and daily preferences",paneMemorySub:"Vault, recall and core memory",paneAdvancedSub:"Cost control and auto-audit",paneServiceSub:"Service watchdog, version and MCP status",basicSwitches:"Core switches",basicSwitchesHint:"Master switch plus auto-capture / auto-recall",tabAudit:"Review",statusApproved:"Approved",statusPending:"Pending",statusRejected:"Rejected",allStatus:"All statuses",tabRecycle:"Recycle Bin",recyclePageSub:"Deleted cards stay for 30 days; restore or purge",pending:"Pending",rejected:"Rejected",selectAll:"Select all",approve:"Approve",approveAndCore:"Approve as core",approveCore:"Approve as core memory",approveAsNormal:"Approve as normal card",coreSuggested:"Core memory (pending review)",reclassify:"Reclassify types",reject:"Reject",allAgents:"All agents",noAuditItems:"No items to review",auditBodyFail:"Failed to load the card body",deletedAt:"deleted",restore:"Restore",restoreDelete:"Delete to recycle",purge:"Purge",emptyRecycle:"Recycle bin is empty",recycleHint:"Deleted cards go to the recycle bin \u2014 recover within 30 days, else auto-purged",purgeConfirm:"Permanently delete? This cannot be undone.",recycleDeleteConfirm:"Delete to recycle? Recoverable within 30 days.",modeInit:"Init once",modeInterval:"Interval keep-alive",modeManual:"Manual only",serviceConfig:"Service self-hosting config",auditConfig:"Auto-audit config",auditHint:"Cards matching an exemption go straight in; others await audit",auditMode:"Audit mode",auditAll:"Audit all",auditNone:"Skip all",auditExemptAgents:"Exempt agents",auditExemptKinds:"Exempt kinds",allExempt:"Exempt all",recycleDays:"Recycle retention days",editInSetting:"Edit in DSH Settings \u2192 Memory",pendingSyncNote:'This is the standalone web page: the DSH host applies a save (a current host is woken up and applies it in a request context, so saving takes effect immediately); when no DSH host is running here the change goes straight into the shared config. Only an older host falls back to "queued until it syncs on its own" \u2014 in that case change the same option under DSH Settings \u2192 Memory.',readonlyTitle:"This page is read-only; config cannot be saved here",readonlyBody:"This process has no DSH settings service (settings.update is unavailable). Edit the config in DSH: desktop app \u2192 Settings \u2192 Memory.",readonlyBtn:"Read-only",setupRunInTerminal:"Copy this command to your terminal:",dshMemoryConfig:"DSH Memory Config",coreMemory:"Core memory (always-on)",coreMemoryHint:"Injected into every session; only approved core cards are used",coreMemoryEnabled:"Enable core-memory injection",workingMemoryEnabled:"Enable session workspace (scratchpad)",coreMemoryLimit:"Core-memory limit (cards)",coreMemoryMaxChars:"Core-memory total character limit",setCore:"Set as core memory",unsetCore:"Remove from core memory",coreSetOk:"Set as core memory",coreUnsetOk:"Removed from core memory",coreSetFail:"Failed to update",coreActiveHint:"This card is injected into every session; it wins conflicts with normal memory.",coreInactiveHint:"Any approved knowledge card can be promoted to core memory and applies to every session.",coreNeedApproval:"Approve this card before making it core memory.",coreShort:"Core",setCoreShort:"Set core",uiLayout:"Layout size",uiLayoutHint:"Scale the memory UI only; memory data is unchanged",uiCompact:"Compact",uiNormal:"Normal",uiLarge:"Large",autoCapture:"Auto capture",autoRecall:"Auto recall",captureMinChars:"Min capture chars",maxCardsPerDay:"Daily quota",dedupThreshold:"Dedup threshold",recallLimit:"Recall limit",vaultMulti:"Multiple vaults (per project)",vaultMultiHint:"Empty = single vault; existing setups unaffected",vaultNow:"Active now",vaultSource:"Source",vaultWorkspace:"Current workspace",vaultNamePh:"Name, e.g. work",vaultPathPh:"Directory, e.g. D:/vaults/work",vaultMatchPh:"Project dir (optional, auto-select by workspace)",vaultAdd:"Add a vault",vaultActive:"Active vault",vaultActiveNone:"Default vault (unset)",vaultSrcEnv:"env MEMORY_VAULT_DIR",vaultSrcProfile:"activeVault profile",vaultSrcWorkspace:"matched by project dir",vaultSrcVaultDir:"vaultDir setting",vaultSrcDefault:"default directory",fbNav:"Report a bug",fbTitle:"Report a bug (files on GitHub)",fbDesc:"Describe the problem (symptoms / steps / expected)",fbDiag:"Diagnostics (auto-redacted: home dir and keys/tokens replaced)",fbCopyDiag:"Copy diagnostics",fbOpenIssue:"Open prefilled issue on GitHub",fbCopyPrompt:"Copy AI prompt",fbCopiedDiag:"Diagnostics copied",fbCopiedPrompt:"Prompt copied \u2014 paste it into your AI chat",fbCopyFail:"Copy failed; please select and copy manually",fbWhy:"GitHub does not allow anonymous issue creation and the plugin must not ship a token: so the title, body and diagnostics are pre-filled \u2014 you just click Submit.",fbNeedDesc:"Please describe the problem first",fbLoading:"Collecting diagnostics\u2026",fbDiagFail:"Diagnostics endpoint unavailable (standalone web or older host); please add environment info manually",fbOr:"or",fbSelectAll:"Select all",auditTypeLabel:"Type",auditInboxSub:"Captured cards land here \xB7 approve to publish",auditSearchPlaceholder:"Search title, tag or path\u2026",auditNoMatch:"No matching review cards",auditUndo:"Approve and reject are both undoable",auditSelected:"Selected",auditRevision:"Revision",auditRevisionFrom:"Revises",auditClearSelection:"Clear",preview:"Preview",supportGroup:"Community",supportGroupQQ:"QQ group",supportGroupWechat:"WeChat group",supportSponsor:"Sponsor",supportLegacy:"Legacy app",supportTitle:"Support & community",clickToZoom:"Click to enlarge",supportGroupHint:"Scan to join the QQ or WeChat community; ask questions directly.",supportSponsorHint:"If this plugin saved you time, you can buy the author a coffee. Completely optional.",supportAlipay:"Alipay",supportLegacyTitle:"Legacy app (dsh-desktop) is discontinued",supportLegacyBody:"The author\u2019s dsh-desktop is discontinued; the official DeepSeek Harness desktop build covers the same capabilities. If an old profile still pins the withdrawn dsh-desktop-shell@0.3.0, remove that dependency or pnpm install will fail.",supportReadme:"Open README",supportReleases:"Releases",supportFeedback:"Report a bug",supportReplay:"Replay onboarding",onboardTitle:"30 seconds with memory-eternal",onboardSub:"After every conversation, the AI distills knowledge cards. Review first, keep the good ones.",onboardSkip:"Skip",onboardBack:"Back",onboardNext:"Next",onboardStart:"Start using",onboardStep0Title:"Star the project on GitHub first",onboardStep0Body:"A Star is the most direct signal to keep maintaining it; Fork it if you want to modify or self-host.",onboardStar:"Star",onboardFork:"Fork",onboardStarred:"Starred, continue",onboardStarHint:"You can always come back via \u2605 Star in the top bar.",onboardStep1Title:"Auto-capture, no manual notes",onboardStep1Body:"When a session ends, decisions, root causes and lessons become a card. Capture first, review second.",onboardStep2Title:"Found a useful card? Tap \u{1F44D}",onboardStep2Body:"Open any card and tap \u{1F44D} useful / \u{1F44E} not useful. No search needed: the buttons are always there. It helps recall ranking.",onboardStep3Title:"New support entries",onboardStep3Body:"Community, sponsor, legacy app and bug report live at the bottom of the left rail. No need to dig through the README.",onboardTip:"Tip: reopen this guide from Support & community.",navWorkspace:"Workspace",navSystem:"System",navSupport:"Support",navQuotes:"Author's Quotes",quoteHint:"Click for the next verse",v5Local:"Local",v5Star:"Star on GitHub",runtimeTitle:"Runtime status",runtimeSub:"Vault, backups, capture and version",dbTitle:"Vault",backupTitle:"Backups",captureTitle:"Auto capture",versionTitle:"Version",cardsUnit:"cards",links:"links",todayReview:"Today's resurface",openArrow:"Open \u2192",reshuffle:"Another",insightDecision:"Decision",insightRoot:"Root cause",insightLesson:"Lesson",insightSummary:"Summary",pinCard:"Pin this card",unpinCard:"Unpin",pinnedOnly:"Pinned",toastApproved:"approved",toastRejected:"rejected",toastCardDeleted:"deleted",toastRestored:"restored",toastPurged:"permanently deleted",toastPurgedExpired:"expired recycle entries purged",toastFailed:"Action failed",noSelection:"Select the cards to act on first",enabledLabel:"Enable memory core",vaultDirLabel:"Vault directory (single)",captureCooldownMs:"Capture cooldown (ms)",captureProvider:"Distill provider (auto if empty)",routeAuto:"Auto (registration order)",routeListFail:"Could not load the model list ({err}) \u2014 you can type provider / model below; the desktop popup proxies this to the host, so if it still fails open the settings from DSH",captureFollowSession:"Follow current session (distill with the session provider/model)",captureFirstOnly:"First candidate only (stop on failure, no fallback)",llmTest:"Test distill route",llmTestOk:"\u2713 Call succeeded",llmTestFail:"\u2717 Call failed",llmCandidates:"candidates",captureModel:"Distill model (auto if empty)",recallEmbedding:"Semantic recall provider (optional)",sessionBudgetChars:"Session budget (chars)",saving:"Saving\u2026",savePending:"Saved to the config file; the host half is still the old build, so restart DSH to make it effective (already applied in this panel)",saveInvalid:"Some field values are invalid; nothing was submitted",invalidField:'"{field}" must be a number between {min} and {max} (now: {value})',actionRunning:"Working\u2026",recycleEmptyHint:"Recycle bin is empty: deleted cards land here first and are purged automatically after {days} days.",recyclePurgeAll:"Empty recycle bin",recyclePurgeAllConfirm:"Permanently delete all {n} cards in the recycle bin? This cannot be undone.",toastPurgeAll:"Permanently deleted {n}",bucketDeleted:"Deleted",restoreToQueue:"Back to review",fbCopyManual:"Auto-copy was blocked by the browser \u2014 the text is below: click Select all, then Ctrl+C",vcLoaded:"running (process serving this page)",vcResident:"resident instance",vcOnDisk:"on disk",vcLatest:"npm latest",vcStale:'v{disk} is installed on disk but the process serving this page still has v{loaded} loaded \u2014 click "Restart resident instance" to restart it on the new code (no DSH restart needed)',vcRestart:"Restart resident instance",vcRestarting:"Restarting\u2026",vcRestartSent:"Resident restart scheduled: the new process takes over in ~3-8s \u2014 refresh the page (Ctrl+F5) shortly",vcRestartCurrent:"The resident instance is already up to date \u2014 no restart needed",vcRestartAnyway:"Resident is already v{ver}; usually no restart needed \u2014 use this if it looks stuck",vcHostProcessStale:"Disk has v{disk}, but **the process serving this page** (the DSH host) still loads v{loaded} \u2014 that code was loaded when the host started, so **restarting the resident instance does not change this page**: fully quit and reopen DSH.",vcRestartFixes:"Restarts the resident instance (the process on the port) onto v{disk} (currently v{served}) without restarting DSH",vcRestartStart:"Starts the resident instance on the current disk version v{disk} (no DSH restart needed)",vcRestartRepair:"Re-registers it under a watchdog and keeps it alive (already v{disk}; no DSH restart needed)",vcRestartHostOnly:"The resident instance is already v{disk}; this page shows v{loaded} from the DSH host \u2014 restarting the resident does not affect it, please restart DSH",vcRestartFail:"Restart request failed",vcRestartNoRoute:"The process serving this page is still the old build (no such endpoint): restart the desktop app / DSH and retry, or run {cmd}",vcHostStale:'The "running" chip above comes from the process serving this page; the resident instance is already current \u2014 restart the desktop app / DSH to refresh that chip',vcResidentDownShort:"not running",vcResidentDown:"The resident instance is not running (no response on port {port}) \u2014 use the button below to bring it up on the new code; if that fails run {cmd} and share the output of dsh-memory status",vcResidentUnmanagedShort:"unmanaged",vcResidentUnmanaged:"The resident instance serves v{served} but has **no watchdog keeping it alive** (an orphan left by a stop or a hard kill) \u2014 use the button below to put it back under management (a fresh watchdog plus a new instance), or run {cmd}",vcResidentLockUnknownShort:"management unknown",vcResidentReplaceBlockedShort:"cannot replace",vcResidentHostManagedShort:"host-managed",vcResidentReplaceBlocked:'The resident instance **cannot be replaced** (environment limit): the watchdog lock directory is not writable ({err}; {path}) \u2192 the port will stay on v{served} **long-term**. This is not "temporarily behind": automatic replacement is refused on purpose to avoid leaving an orphan. Way out: fix that directory permissions and run {cmd}, or run dsh-memory watchdog --port 7999 in the foreground',vcResidentLockUnknown:'The resident instance serves v{served}, but the **watchdog lock file cannot be written** (restricted environment: sandbox, ACLs, non-system drive) \u2192 whether it is managed cannot be determined (this is not "unmanaged"). Cause: {err} ({path}). Keep-alive usually still works; the button below can put it back under management on the new code.',vcPage:"Page script",vcPageStale:"\u26A0 This page is still running an older script (page v{page} / disk v{disk}): press Ctrl+F5 to refresh. If the running version is still old, restart the desktop app / DSH as well",vcOutdated:"update available",vcUpToDate:"up to date",vcCheck:"Check for updates",checking:"Checking\u2026",vcCheckFail:"Update check failed",recallSummaryLen:"Recall summary len",recallBody:"Recall with body",secretHint:"Credential hint (injected into every session)",autoWeb:"Web server",autoWebMode:"Keep-alive mode",webPort:"Web port",webCheckIntervalMs:"Probe interval (ms)",webMaxRestart:"Max restart",watchdogAutoSpawn:"Watchdog process",autoRestartOnDrift:"Auto-restart resident on version drift",autoMcpSetup:"Auto-mount MCP",saveConfig:"Save config",saveFail:"Save failed",savedOk:"Saved",savedDirect:"No DSH host is running here, so the change went straight into the shared config (hooks / MCP / the standalone page pick it up immediately)",savedApplied:"Saved and applied (the host applied it in a request context)",saveQueued:"Handed to the DSH host for sync \u2014 not confirmed applied yet",saveHostGuard:"This host does not let a plugin write config from its own callback context; change the same option under DSH Settings \u2192 Memory, or edit the profile patch layer",saveFailHint:"the host did not apply it \u2014 see Diagnostics under Report a bug",recallTool:"recall tool",costControl:"Cost control",costHint:"save tokens, control LLM usage",distillEnabled:"Distill cards (on=LLM compress, off=raw cards zero LLM)",dedupByLLM:"Dedup feeds LLM (off=pure lexical, cheaper)",captureMaxTokens:"Distill output cap (tokens)",captureTimeoutMs:"Distill timeout (ms; use 120000+ for cold local models)",recallMinScore:"Recall min score (higher = cheaper)",configNeedsDsh:"Edit config inside DSH (this page may be read-only or partially missing)",installMcp:"Install MCP",uninstallMcp:"Uninstall MCP",uninstallConfirm:"Confirm uninstall MCP for this agent? Claude Code/Codex will lose access to the memory vault.",presetConfig:"One-click preset config",presetHint:"Click to fill a plan, then hit Save",planApplied:'Filled "{plan}" \u2014 hit "Save config" to apply',planDescA:"Personal dev \xB7 distill 4000 \xB7 watchdog off",planDescB:"Budget \xB7 no distill \xB7 ~zero cost",planDescC:"Long projects \xB7 watchdog on \xB7 high quality",cfgSubCore:"Capture / recall / vault dir and dedup strategy",cfgSubMulti:"Per-project vaults; CLI / MCP / hooks follow the active one",cfgSubCost:"Control LLM calls and recall size \u2014 this is your bill",cfgSubAudit:"What must be reviewed before entering the main vault",cfgSubService:"Keep-alive, watchdog and version self-heal \u2014 defaults are fine",cfgDirty:"Unsaved changes",cfgClean:"Synced",unitChars:"chars",unitPerDay:"cards / day",unitTokens:"tokens",unitMs:"ms",unitTimes:"times",unitDays:"days",mcpAutoHint:"Auto-detects installed agents and their MCP configs (read-only probe)",mcpRefresh:"Re-scan",mcpSummary:"{agents} agents \xB7 {servers} MCP servers \xB7 {mounted} mounting this plugin",mcpNoServers:"No MCP configured",mcpDetectedOnly:"detected only",planA:"A Light",planB:"B Budget",planC:"C Premium",pluginInfo:"Plugin info",organizeTitle:"Organize",scanAndOrganize:"Scan & organize",scanHint:'Click "\u{1F50D} Scan & organize" to find similar/stale cards, then "\u26A1 One-click optimize" to run.',mergeNow:"Merge",delete:"Delete",captureAlert:"Auto-capture failed",captureAlertHint:'Open "Usage / Today" for the capture log; if the cause is an API/version mismatch, update the memory-eternal plugin.',captureLog:"Auto-capture log",captureLogHint:"Runs after every turn: listen \u2192 judge \u2192 write. Last 100 entries, so you can see why a card was not written.",captureLogEmpty:"No entries yet. Chat one turn (> min capture chars) and come back.",healthTitle:"Health",healthHint:"Database / backups / capture / versions \u2014 spot anything that broke silently",healthDb:"Database",healthDbBad:"database is unwritable or corrupt",healthBackups:"Backups",healthNoBackups:"no backups yet (run dsh-memory doctor; the host also backs up daily)",healthBackupAge:"{n} files \xB7 newest {d} day(s) ago",healthBackupToday:"{n} files \xB7 newest today",healthCapture:"Auto capture",healthNoRecords:"no records yet (capture has not run)",healthCapOk:"last capture wrote a card",healthCapFail:"last capture failed",healthRunAlign:"run Version alignment check to show",healthVersion:"Versions",ledgerTitle:"Memory ledger (last 7 days)",ledgerHint:'How much recall injected and how many distillation calls ran \u2014 the first data point for the "does it save tokens?" question',ledgerRecalls:"Recalls",ledgerInjected:"injected",ledgerChars:"chars",ledgerCaptures:"Captures",ledgerLlmCalls:"LLM calls",ledgerEstimate:"Est. tokens",ledgerEstimateHint:"rough estimate at ~2 chars per token; order of magnitude only",ledgerUseful:"Recall usefulness",ledgerUsefulHint:"from useful / not-useful feedback; below 60% means injection may cost more than it saves",ledgerFormula:"Net benefit \u2248 avoided context cost \u2212 (injected chars + distillation calls \xD7 price). The ledger only records what we spent; weigh it against the re-reads and rework you actually avoided.",ledgerNoData:"No entries in the last 7 days: chat a few turns or let the agent recall once, then come back.",ledgerNeedRestart:"The host is still running the old API (/ledger missing): fully quit and reopen DSH to start recording.",alignTitle:"Version alignment check",alignRun:"Check now",alignFix:"Rewrite wiring",alignFixConfirm:"Rewrite the MCP / hooks wiring? (Only the plugin's own keys are touched; your data and config stay as they are)",alignFixed:"Wiring rewritten; if it still reports an old host process, you must fully quit and reopen DSH",alignFail:"Alignment check failed",alignHint:"Upgrading the plugin only replaces files on disk \u2014 the host's in-memory event subscriptions and stale paths inside MCP / hooks do not update themselves; this checks all of it at once",alignIdle:'Hit "Check now": compare the host / resident / npm versions and look for stale paths and arguments in MCP and hooks',alignDisk:"disk",alignResident:"resident",alignHost:"host process",captureLogUnavailable:"Log is available only inside the DSH host (the standalone web page has no host runtime).",captureAgentCards:"Cards auto-captured by the agent",noCards:"none",loadMore:"Load more",batchMerge:"Smart batch merge",mergeAllConfirm:"Merge similar-grouped cards into one each (keep kind), delete originals?",crossVault:"All vaults",deleteConfirm:"Delete this memory card? This cannot be undone.",editCard:"Edit",editHint:"Only title / tags / body are editable. Status and kind still flow through audit and system rules \u2014 manual edits never bypass review.",editTitle:"Title",editTags:"Tags (comma separated)",editTagsHint:"e.g. memory, recall, performance",editBody:"Body (Markdown)",editSave:"Save",editSaving:"Saving\u2026",editCancel:"Cancel",editSaved:"Saved",editFail:"Save failed",editTitleEmpty:"Title cannot be empty",editBodyEmpty:"Body cannot be empty",deleted:"Deleted",deleteFail:"Delete failed",deleteSelected:"Delete selected",deletedSelected:" cards deleted",merge:"Merge",mergeNeed:"Select at least 2 cards",mergeConfirm:"Merge the selected cards into one and delete the originals?",merged:"Merged",mergeFail:"Merge failed",mcpInstalled:"\u2705 {agent} MCP installed",mcpUninstalled:"\u2705 {agent} MCP uninstalled",mcpActionFail:"\u274C {agent} MCP action failed: {error}",dshHostLabel:"DeepSeek Harness (current host)",restartHint:"Saved. autoWebMode/watchdogAutoSpawn take effect after restarting DSH; a resident watchdog is never stopped automatically \u2014 use dsh-memory stop / restart (#19)",conflictRefresh:"Config changed elsewhere \u2014 refresh and retry",untitled:"Untitled",tplBlank:"\u{1F4C4} Blank",tagsHint:"Tags (comma-separated)",connCount:"{n} connections",tplDecisionTags:"decision, plan",tplBugTags:"pitfall, lesson",tplMeetingTags:"meeting, minutes",tplWeeklyTags:"weekly report",tplDecisionBody:`# Tech decision: [title]
64
+ - `},Kf={nav:"Memory",loading:"Loading\u2026",loadingGraph:"Loading knowledge graph\u2026",refresh:"Refresh",overview:"Memory Overview",total:"Cards",recent:"Added (7d)",tags:"Tags",searchPlaceholder:"Search memory\u2026",search:"Search",all:"All",kindProject:"Projects",kindKnowledge:"Knowledge",kindOther:"Other",kindContent:"Content",kindPrompt:"Prompts",kindBusiness:"Business",kindTool:"Tools",kindMistake:"Mistakes",kindCore:"Core memory",kindSkill:"Skills",newsTab:"News",newsTitle:"News",newsHint:"Your own updates, decisions and team briefs, kept separate from memory cards.",newsNew:"Write one",newsSearch:"Search title / body / tags\u2026",newsUnreadOnly:"Unread only",newsEmpty:"No news yet. Write the first update, decision or team brief here.",newsNoMatch:"No matching news",newsPinned:"Pinned",newsRead:"Read",newsUnread:"Unread",newsMarkRead:"Mark read",newsMarkUnread:"Mark unread",newsEdit:"Edit",newsDeleteConfirm:"Delete this news item?",newsDeleted:"Deleted",newsSave:"Save",newsSaving:"Saving\u2026",newsSaved:"Saved",newsSaveFail:"Save failed",newsTitleField:"Title",newsBodyField:"Body (Markdown)",newsCategoryField:"Category",newsSourceField:"Source",newsUrlField:"URL",newsTagsField:"Tags (comma separated)",newsDateField:"Date",newsPinField:"Pin to top",newsPreview:"Preview",newsEditBody:"Edit body",newsOpenLink:"Open link",newsToday:"Today",newsYesterday:"Yesterday",newsEarlier:"Earlier",newsTitlePlaceholder:"e.g. v0.20.0 release notes",newsBodyPlaceholder:"Write something worth keeping\u2026 Markdown supported",newsCountUnit:"items",cancel:"Cancel",newsDaily:"Daily AI",newsMonthly:"Monthly top",newsMine:"My updates",newsDailySub:"Latest AI news, aggregated by source",newsMonthlySub:"This month's AI discussion ranking (Hacker News points)",newsMineSub:"Your own releases, decisions and team briefs",newsLoading:"Fetching news\u2026",newsFeedError:"News sources are unavailable",newsHeat:"heat",newsComments:"comments",newsOriginal:"Read original",newsUpdatedAt:"Updated",newsPartialFail:"Some sources failed",newsFeedEmpty:"No news fetched today. Try refresh.",newsFeedRefresh:"Refresh news",newsLoadingHint:"First load fetches several Chinese sources; this can take a few seconds.",newsRetry:"Retry",newsSearchGo:"Search",newsFollow:"Follow",newsFollowPreview:"Here is what I understood \u2014 follow it?",newsFollowConfirm:"Start following",newsFollowAdded:"Following",newsFollowExists:"Already following",newsFollowRemoved:"Unfollowed",newsFollowFail:"Follow failed",newsFollowNoQuery:"Type a topic first",newsFollowDomains:"Search in these sources",newsFollowEmpty:'No topics followed yet. Search for something, then hit "Follow".',newsIntentHint:'That looks like an instruction \u2014 hit "\uFF0B Follow" to keep pulling it from the right sources; the list below is no longer filtered literally.',newsFollowing:"From your follows",newsDigest:"Follow digest push",newsDigestHint:"When on, the host refreshes your news follows on an interval and lets the agent surface NEW items on the next turn. Off by default.",newsDigestEnabled:"Enable push",newsDigestInterval:"Interval (minutes)",newsDigestMaxItems:"Max items per digest",newsDigestNow:"Generate & preview now",newsDigestNowHint:"Try it before enabling \u2014 see exactly what would be pushed.",newsDigestBuilding:"Generating\u2026",newsDigestDone:"Digest generated",newsDigestEmpty:"No new items from your follows",newsDigestFail:"Failed to generate digest",newsSortRec:"For you",newsSortTime:"Latest",newsPersonalized:"Ordered by your taste",newsLastQuery:"Last search",newsResetPrefs:"Reset taste",newsHeroEye:"NEWSROOM \xB7 AI FEED",newsHeroHint:"One search is remembered \u2014 the next visit is ordered by your taste. Data is fetched once per page open.",newsMatched:"hits",newsNoMatch:"No matching news",newsNoMatchHint:"Nothing in this dataset matches the current keyword, category and language. Clear the filters to see everything.",newsClearFilters:"Clear filters",newsJustNow:"just now",newsMinutesAgo:"min ago",newsHoursAgo:"h ago",newsDaysAgo:"d ago",newsLangZh:"\u4E2D\u6587",newsLangEn:"English",newsLangAll:"All",newsZhArchive:"Chinese monthly archive by date (no public heat score)",newsEnRanking:"English monthly ranking by Hacker News points",skillCards:"Skill cards",skillCardsHint:"Generated from the skills actually installed/available on this machine; always reviewed. Never deposited by agent chat.",skillAutoSync:"Auto-sync skill cards",syncSkills:"Sync skills",syncingSkills:"Syncing skills\u2026",skillsSyncDone:"Skill cards synced",skillsScanned:"scanned",skillsCreated:"created",skillsUpdated:"updated",skillsPendingUpdates:"pending updates",skillsSyncFail:"Skill sync failed",cardsTab:"Cards",webTab:"Web version",webOpening:"Opening the web version in your browser\u2026",webOpened:"Opened the web version in your browser",webOpenFail:"Could not open a browser; visit this URL manually",terminalTab:"Terminal",terminalTitle:"Full terminal UI",terminalIntro:"The Web UI does not render the native terminal TUI. For select-all, batch review and long-form scrolling, open a local terminal or use /audit inside dsh-tui.",terminalRun:"Read-only live queue",terminalTui:"Write mode (real review)",terminalWhy:"Why not embed it in the page",terminalWhyBody:"The terminal TUI relies on the alternate screen, raw key events and a character grid; an iframe cannot reproduce it faithfully. These are the real commands.",terminalCopy:"Copy command",terminalCopied:"Copied",terminalPreview:"Terminal preview",graphTab:"Star map",graph:"Knowledge Graph",graphHint:"Nodes = cards; edges = [[links]] or shared tags. Click a node to read.",graphLegendTitle:"Card types",graphTip:"Left-click highlights \xB7 Shift+drag box-select \xB7 right-click menu \xB7 scroll zoom \xB7 drag to pan",graphWarming:"Laying out {n} nodes\u2026",graphAllCrumb:"All",graphOther:"Other",graphItems:"items",graphCardsUnit:"cards",graphPlanetCards:"{n} cards",graphToFlat:"Flat cards",graphToPlanet:"Planet layers",graphFlatAll:"Show all",graphFlatOnly:"Top only",graphEnter:"Open this level",graphLevelLoading:"Loading level\u2026",graphLevelTimeout:"Level load timed out ({ms}ms) \xB7 current level kept",graphLevelError:"Level load failed \xB7 current level kept",graphRetry:"Retry",graphEmptyLevel:"No cards in this level.",graphLevelHint:"Click a planet to enter \xB7 Shift+click to select \xB7 drag to move \xB7 scroll to zoom",graphBreadcrumbAria:"Level breadcrumb",graphCountWan:"K",graphCountLocale:"en-US",rebuild:"Rebuild",reset:"Reset",expandAll:"Expand all",capped:"Showing the",clearFocus:"Clear highlight",empty:"Memory is empty. After a few conversations, valuable content is auto-captured.",emptyGraph:"No graph data yet.",open:"Read",updated:"Updated",created:"Created",source:"Source",contents:"Contents",related:"Related",file:"File",close:"Close",vaultDir:"Vault directory",capture:"Auto capture",recall:"Auto recall",enabled:"on",disabled:"off",error:"Load failed",back:"Back to list",cardCount:"cards",nodes:"nodes",edges:"edges",memoryTitle:"Memory Library",memoryHint:"Your local second brain",zoomIn:"Zoom in",zoomOut:"Zoom out",fit:"Fit",enterFullscreen:"Fullscreen",exitFullscreen:"Exit fullscreen",exportGraph:"Export",openCard:"Open card",focusNeighbors:"Highlight links",copyName:"Copy name",noMatch:"No matching memory",clearFilter:"Clear filter",filterLabel:"Filter",sortRecent:"Recent",sortTitle:"Title",sortHot:"Hot",exportSel:"Export selected",clearSelection:"Clear selection",download:"Download",openNewTab:"Open in new tab",copyImage:"Copy image",done:"Done",downloaded:"Download started",openedTab:"Opened in new tab",copied:"Copied",exportedSel:" nodes exported",fullscreen:"Fullscreen",exitFull:"Exit fullscreen",copyFail:"Copy failed",timeDim:"Time",timeNew:"\u22643 days",timeRecent:"\u22642 weeks",timeMonth:"\u22641 month",timeOld:"Older",newBadge:"NEW",expand:"Expand",collapse:"Collapse",copyBody:"Copy body",clearFilter:"Clear tag filter",copyPath:"Copy path",copied:"Copied",copyFail:"Copy failed",readWidth:"Reading width",widthNarrow:"Narrow",widthMid:"Medium",widthWide:"Wide",exportVault:"Export MD",exportJson:"Export JSON",exporting:"Exporting\u2026",exportedVault:"Vault exported",exportFail:"Export failed",importVault:"Import",importedVault:"Import complete",importedTotal:" / of ",importedTotalTail:"",importedQuarantine:" \xB7 pending review ",importedQuarantineTail:" (quarantined until approved)",importedSkipped:" \xB7 skipped ",importedSkippedTail:" (duplicate or empty)",importFail:"Import failed",location:"Choose location",saveAs:"Save as",saveAsUnsupported:"Choose-save-location not supported here",exportedTo:"Exported to",defaultDownloads:"default Downloads folder",exportCancel:"Export cancelled",manage:"Manage",tabUsage:"Runtime",tabOptimize:"Optimize",adminLoadFail:"Load failed: fully restart dsh-desktop so the host picks up the new /memory-eternal routes",retry:"Retry",mergeSimilar:"Merge similar",trendLabel:"Last 30 days trend",cleanStale:"\u{1F5D1}\uFE0F Clean stale",deletedStale:" stale cards cleaned",newCard:"New",tplDecision:"\u{1F4DD} Decision",tplBug:"\u{1F41B} Bug",tplMeeting:"\u{1F4CB} Meeting",tplWeekly:"\u{1F4CA} Weekly",createCard:"Create",cardTitle:"Title",cardBody:"Body",fbUseful:"Useful",fbIrr:"Irrelevant",todayAdd:"Added today",weekAdd:"Last 7d",byKind:"By kind",todayList:"Captured today",budgetLabel:"Session budget",budgetChars:"Budget chars",recallLimitLabel:"Recall limit",embeddingLabel:"Semantic recall",mergePairs:"Similar pairs (mergeable)",staleCards:"Stale (>90d)",noOptimize:"Nothing to organize, healthy \u{1F389}",refineTitle:"Conflict scan",refineScan:"Scan now",refineHint:"Similar cards can be merged; conflicts must be judged by a human \u2014 the scan is read-only, and data only moves after you choose (keeping one moves the other to the recycle bin, recoverable)",refineIdle:'Hit "Scan now": recall possibly-related card pairs, then let the model classify each as duplicate / complement / conflict / unrelated',refineNone:"No card pairs need your ruling this round \u{1F389}",refineFail:"Conflict scan failed",refineApplied:"Your ruling was recorded (it will not ask again)",refineRel_duplicate:"Duplicate (mergeable)",refineRel_complement:"Complement (keep both)",refineRel_conflict:"Conflict (needs your ruling)",refineRel_unrelated:"Unrelated",refineKeepA:"Keep A",refineKeepB:"Keep B",refineKeepBoth:"Keep both",refineMerge:"Merge",junkTitle:"Injected junk cards",junkScan:"Scan existing",junkHint:"Cards suspected to be captured runtime injections (skill catalogs / system-reminders) \u2014 the scan is read-only and recycling goes to the recycle bin (recoverable)",junkIdle:'Hit "Scan existing": find cards whose body is really injected runtime text with almost no human content left after stripping',junkNone:"No such cards found \u{1F389}",junkRecycle:"Recycle",junkRecycleAll:"Recycle all",junkRecycleAllConfirm:"Send these cards to the recycle bin? (Not a permanent delete \u2014 recoverable from the recycle center)",junkDone:"Sent to recycle bin",junkFail:"Scan / recycle failed",dbReadonlyTitle:"The memory database is currently not writable",dbReadonlyBody:"Card reads/writes, auditing and the graph will fail, but **settings can still be saved** (they do not go through the database)",dbReadonlyFix:"Diagnose with: dsh-memory doctor (journal mode, write probe, backups and recovery steps)",goalTitle:"Same goal, different approach",goalScan:"Scan goals",goalHint:'Clusters by "what problem does this card solve" \u2014 approaches that differ in wording (7z vs tar vs npm slimming) still land together',goalIdle:'Hit "Scan goals": the model first writes a one-line goal per card (first run calls the model, later runs use the cache), then clusters by goal',goalNone:'No clusters of "one goal, several cards" found \u{1F389}',goalStats:"indexed / calls this run",goalCards:"cards",goalKeep:"Keep all",goalMerge:"Merge this group",goalMerged:"Merge submitted (the new card goes to the audit queue)",goalDone:'Recorded as "keep all"',goalFail:"Goal clustering failed",oneClickOptimize:"One-click optimize",oneClickOptimizeConfirm:"Confirm one-click optimize? This will merge all similar pairs (stale cards are NOT deleted by default).",oneClickAlsoStale:"Also clean stale cards",oneClickOptimizeDone:"One-click optimize done",optimizedMerged:"pairs merged",optimizedStaleDeleted:"stale cards cleaned",mcpSetupStatus:"Agent MCP mount status",rerunSetup:"Re-run setup",notInstalled:"not installed",noMcpEntry:"no MCP entry",nodePathMismatch:"node path mismatch, consider re-running setup",nodePathNote:"different node env (usable)",mcpNeedsRepair:"\u26A0 Needs repair (old config launches GUI)",repairMcp:"Repair",healthy:"healthy",mcpSetupHint:'"Auto-mount MCP" = lets Claude Code / Codex / Cursor use the memory vault. On = auto-configures them; Off = never touches your machine config, run dsh-memory setup manually when needed.',mcpManageHint:"Use each agent row to install/uninstall MCP individually",workTitle:"This session's workspace",workHint:"scratch note \xB7 not knowledge \xB7 never recalled",workLines:"lines",workExpand:"Expand",workCollapse:"Collapse",workPlaceholder:"Where this task stands, what is next\u2026 (archived when the session ends)",workSave:"Save draft",workPromote:"Save as pending card",workClear:"Clear",workClearConfirm:"Clear this session workspace? This cannot be undone.",workSaved:"Session workspace saved",workCleared:"Session workspace cleared",workPromoted:"Submitted for review",workLimitHint:"capped at 200 lines / 24KB, truncated",workPromoteHint:"select a passage to promote only that",workPromoteEmpty:"Nothing to promote",starAskTitle:"Memory is being used",starAskBody:"Recalled {recalls} times \xB7 {cards} cards captured. If it saved you time, a Star helps others find it.",starAskGo:"Star on GitHub",starAskLater:"Later",starAskNever:"Don't ask again",tabConfig:"Memory Config",configPageSub:"Local write, routing, audit and service settings",paneGeneral:"General",paneMemory:"Memory",paneAdvanced:"Advanced",paneService:"Service",paneGeneralSub:"Presets, core switches and daily preferences",paneMemorySub:"Vault, recall and core memory",paneAdvancedSub:"Cost control and auto-audit",paneServiceSub:"Service watchdog, version and MCP status",basicSwitches:"Core switches",basicSwitchesHint:"Master switch plus auto-capture / auto-recall",tabAudit:"Review",statusApproved:"Approved",statusPending:"Pending",statusRejected:"Rejected",allStatus:"All statuses",tabRecycle:"Recycle Bin",recyclePageSub:"Deleted cards stay for 30 days; restore or purge",pending:"Pending",rejected:"Rejected",selectAll:"Select all",approve:"Approve",approveAndCore:"Approve as core",approveCore:"Approve as core memory",approveAsNormal:"Approve as normal card",coreSuggested:"Core memory (pending review)",reclassify:"Reclassify types",reject:"Reject",allAgents:"All agents",noAuditItems:"No items to review",auditBodyFail:"Failed to load the card body",deletedAt:"deleted",restore:"Restore",restoreDelete:"Delete to recycle",purge:"Purge",emptyRecycle:"Recycle bin is empty",recycleHint:"Deleted cards go to the recycle bin \u2014 recover within 30 days, else auto-purged",purgeConfirm:"Permanently delete? This cannot be undone.",recycleDeleteConfirm:"Delete to recycle? Recoverable within 30 days.",modeInit:"Init once",modeInterval:"Interval keep-alive",modeManual:"Manual only",serviceConfig:"Service self-hosting config",auditConfig:"Auto-audit config",auditHint:"Cards matching an exemption go straight in; others await audit",auditMode:"Audit mode",auditAll:"Audit all",auditNone:"Skip all",auditExemptAgents:"Exempt agents",auditExemptKinds:"Exempt kinds",allExempt:"Exempt all",recycleDays:"Recycle retention days",editInSetting:"Edit in DSH Settings \u2192 Memory",pendingSyncNote:'This is the standalone web page: the DSH host applies a save (a current host is woken up and applies it in a request context, so saving takes effect immediately); when no DSH host is running here the change goes straight into the shared config. Only an older host falls back to "queued until it syncs on its own" \u2014 in that case change the same option under DSH Settings \u2192 Memory.',readonlyTitle:"This page is read-only; config cannot be saved here",readonlyBody:"This process has no DSH settings service (settings.update is unavailable). Edit the config in DSH: desktop app \u2192 Settings \u2192 Memory.",readonlyBtn:"Read-only",setupRunInTerminal:"Copy this command to your terminal:",dshMemoryConfig:"DSH Memory Config",coreMemory:"Core memory (always-on)",coreMemoryHint:"Injected into every session; only approved core cards are used",coreMemoryEnabled:"Enable core-memory injection",workingMemoryEnabled:"Enable session workspace (scratchpad)",coreMemoryLimit:"Core-memory limit (cards)",coreMemoryMaxChars:"Core-memory total character limit",setCore:"Set as core memory",unsetCore:"Remove from core memory",coreSetOk:"Set as core memory",coreUnsetOk:"Removed from core memory",coreSetFail:"Failed to update",coreActiveHint:"This card is injected into every session; it wins conflicts with normal memory.",coreInactiveHint:"Any approved knowledge card can be promoted to core memory and applies to every session.",coreNeedApproval:"Approve this card before making it core memory.",coreShort:"Core",setCoreShort:"Set core",uiLayout:"Layout size",uiLayoutHint:"Scale the memory UI only; memory data is unchanged",uiCompact:"Compact",uiNormal:"Normal",uiLarge:"Large",autoCapture:"Auto capture",autoRecall:"Auto recall",captureMinChars:"Min capture chars",maxCardsPerDay:"Daily quota",dedupThreshold:"Dedup threshold",recallLimit:"Recall limit",vaultMulti:"Multiple vaults (per project)",vaultMultiHint:"Empty = single vault; existing setups unaffected",vaultNow:"Active now",vaultSource:"Source",vaultWorkspace:"Current workspace",vaultNamePh:"Name, e.g. work",vaultPathPh:"Directory, e.g. D:/vaults/work",vaultMatchPh:"Project dir (optional, auto-select by workspace)",vaultAdd:"Add a vault",vaultActive:"Active vault",vaultActiveNone:"Default vault (unset)",vaultSrcEnv:"env MEMORY_VAULT_DIR",vaultSrcProfile:"activeVault profile",vaultSrcWorkspace:"matched by project dir",vaultSrcVaultDir:"vaultDir setting",vaultSrcDefault:"default directory",fbNav:"Report a bug",fbTitle:"Report a bug (files on GitHub)",fbDesc:"Describe the problem (symptoms / steps / expected)",fbDiag:"Diagnostics (auto-redacted: home dir and keys/tokens replaced)",fbCopyDiag:"Copy diagnostics",fbOpenIssue:"Open prefilled issue on GitHub",fbCopyPrompt:"Copy AI prompt",fbCopiedDiag:"Diagnostics copied",fbCopiedPrompt:"Prompt copied \u2014 paste it into your AI chat",fbCopyFail:"Copy failed; please select and copy manually",fbWhy:"GitHub does not allow anonymous issue creation and the plugin must not ship a token: so the title, body and diagnostics are pre-filled \u2014 you just click Submit.",fbNeedDesc:"Please describe the problem first",fbLoading:"Collecting diagnostics\u2026",fbDiagFail:"Diagnostics endpoint unavailable (standalone web or older host); please add environment info manually",fbOr:"or",fbSelectAll:"Select all",auditTypeLabel:"Type",auditInboxSub:"Captured cards land here \xB7 approve to publish",auditSearchPlaceholder:"Search title, tag or path\u2026",auditNoMatch:"No matching review cards",auditUndo:"Approve and reject are both undoable",auditSelected:"Selected",auditRevision:"Revision",auditRevisionFrom:"Revises",auditClearSelection:"Clear",preview:"Preview",supportGroup:"Community",supportGroupQQ:"QQ group",supportGroupWechat:"WeChat group",supportSponsor:"Sponsor",supportLegacy:"Legacy app",supportTitle:"Support & community",clickToZoom:"Click to enlarge",supportGroupHint:"Scan to join the QQ or WeChat community; ask questions directly.",supportSponsorHint:"If this plugin saved you time, you can buy the author a coffee. Completely optional.",supportAlipay:"Alipay",supportLegacyTitle:"Legacy app (dsh-desktop) is discontinued",supportLegacyBody:"The author\u2019s dsh-desktop is discontinued; the official DeepSeek Harness desktop build covers the same capabilities. If an old profile still pins the withdrawn dsh-desktop-shell@0.3.0, remove that dependency or pnpm install will fail.",supportReadme:"Open README",supportReleases:"Releases",supportFeedback:"Report a bug",supportReplay:"Replay onboarding",onboardTitle:"30 seconds with memory-eternal",onboardSub:"After every conversation, the AI distills knowledge cards. Review first, keep the good ones.",onboardSkip:"Skip",onboardBack:"Back",onboardNext:"Next",onboardStart:"Start using",onboardStep0Title:"Star the project on GitHub first",onboardStep0Body:"A Star is the most direct signal to keep maintaining it; Fork it if you want to modify or self-host.",onboardStar:"Star",onboardFork:"Fork",onboardStarred:"Starred, continue",onboardStarHint:"You can always come back via \u2605 Star in the top bar.",onboardStep1Title:"Auto-capture, no manual notes",onboardStep1Body:"When a session ends, decisions, root causes and lessons become a card. Capture first, review second.",onboardStep2Title:"Found a useful card? Tap \u{1F44D}",onboardStep2Body:"Open any card and tap \u{1F44D} useful / \u{1F44E} not useful. No search needed: the buttons are always there. It helps recall ranking.",onboardStep3Title:"New support entries",onboardStep3Body:"Community, sponsor, legacy app and bug report live at the bottom of the left rail. No need to dig through the README.",onboardTip:"Tip: reopen this guide from Support & community.",navWorkspace:"Workspace",navSystem:"System",navSupport:"Support",navQuotes:"Author's Quotes",quoteHint:"Click for the next verse",v5Local:"Local",v5Star:"Star on GitHub",runtimeTitle:"Runtime status",runtimeSub:"Vault, backups, capture and version",dbTitle:"Vault",backupTitle:"Backups",captureTitle:"Auto capture",versionTitle:"Version",cardsUnit:"cards",links:"links",todayReview:"Today's resurface",openArrow:"Open \u2192",reshuffle:"Another",insightDecision:"Decision",insightRoot:"Root cause",insightLesson:"Lesson",insightSummary:"Summary",pinCard:"Pin this card",unpinCard:"Unpin",pinnedOnly:"Pinned",toastApproved:"approved",toastRejected:"rejected",toastCardDeleted:"deleted",toastRestored:"restored",toastPurged:"permanently deleted",toastPurgedExpired:"expired recycle entries purged",toastFailed:"Action failed",noSelection:"Select the cards to act on first",enabledLabel:"Enable memory core",vaultDirLabel:"Vault directory (single)",captureCooldownMs:"Capture cooldown (ms)",captureProvider:"Distill provider (auto if empty)",routeAuto:"Auto (registration order)",routeListFail:"Could not load the model list ({err}) \u2014 you can type provider / model below; the desktop popup proxies this to the host, so if it still fails open the settings from DSH",captureFollowSession:"Follow current session (distill with the session provider/model)",captureFirstOnly:"First candidate only (stop on failure, no fallback)",llmTest:"Test distill route",llmTestOk:"\u2713 Call succeeded",llmTestFail:"\u2717 Call failed",llmCandidates:"candidates",captureModel:"Distill model (auto if empty)",recallEmbedding:"Semantic recall provider (optional)",sessionBudgetChars:"Session budget (chars)",saving:"Saving\u2026",savePending:"Saved to the config file; the host half is still the old build, so restart DSH to make it effective (already applied in this panel)",saveInvalid:"Some field values are invalid; nothing was submitted",invalidField:'"{field}" must be a number between {min} and {max} (now: {value})',actionRunning:"Working\u2026",recycleEmptyHint:"Recycle bin is empty: deleted cards land here first and are purged automatically after {days} days.",recyclePurgeAll:"Empty recycle bin",recyclePurgeAllConfirm:"Permanently delete all {n} cards in the recycle bin? This cannot be undone.",toastPurgeAll:"Permanently deleted {n}",bucketDeleted:"Deleted",restoreToQueue:"Back to review",fbCopyManual:"Auto-copy was blocked by the browser \u2014 the text is below: click Select all, then Ctrl+C",vcLoaded:"running (process serving this page)",vcResident:"resident instance",vcOnDisk:"on disk",vcLatest:"npm latest",vcStale:'v{disk} is installed on disk but the process serving this page still has v{loaded} loaded \u2014 click "Restart resident instance" to restart it on the new code (no DSH restart needed)',vcRestart:"Restart resident instance",vcRestarting:"Restarting\u2026",vcRestartSent:"Resident restart scheduled: the new process takes over in ~3-8s \u2014 refresh the page (Ctrl+F5) shortly",vcRestartCurrent:"The resident instance is already up to date \u2014 no restart needed",vcRestartAnyway:"Resident is already v{ver}; usually no restart needed \u2014 use this if it looks stuck",vcHostProcessStale:"Disk has v{disk}, but **the process serving this page** (the DSH host) still loads v{loaded} \u2014 that code was loaded when the host started, so **restarting the resident instance does not change this page**: fully quit and reopen DSH.",vcRestartFixes:"Restarts the resident instance (the process on the port) onto v{disk} (currently v{served}) without restarting DSH",vcRestartStart:"Starts the resident instance on the current disk version v{disk} (no DSH restart needed)",vcRestartRepair:"Re-registers it under a watchdog and keeps it alive (already v{disk}; no DSH restart needed)",vcRestartHostOnly:"The resident instance is already v{disk}; this page shows v{loaded} from the DSH host \u2014 restarting the resident does not affect it, please restart DSH",vcRestartFail:"Restart request failed",vcRestartNoRoute:"The process serving this page is still the old build (no such endpoint): restart the desktop app / DSH and retry, or run {cmd}",vcHostStale:'The "running" chip above comes from the process serving this page; the resident instance is already current \u2014 restart the desktop app / DSH to refresh that chip',vcResidentDownShort:"not running",vcResidentDown:"The resident instance is not running (no response on port {port}) \u2014 use the button below to bring it up on the new code; if that fails run {cmd} and share the output of dsh-memory status",vcResidentUnmanagedShort:"unmanaged",vcResidentUnmanaged:"The resident instance serves v{served} but has **no watchdog keeping it alive** (an orphan left by a stop or a hard kill) \u2014 use the button below to put it back under management (a fresh watchdog plus a new instance), or run {cmd}",vcResidentLockUnknownShort:"management unknown",vcResidentReplaceBlockedShort:"cannot replace",vcResidentHostManagedShort:"host-managed",vcResidentReplaceBlocked:'The resident instance **cannot be replaced** (environment limit): the watchdog lock directory is not writable ({err}; {path}) \u2192 the port will stay on v{served} **long-term**. This is not "temporarily behind": automatic replacement is refused on purpose to avoid leaving an orphan. Way out: fix that directory permissions and run {cmd}, or run dsh-memory watchdog --port 7999 in the foreground',vcResidentLockUnknown:'The resident instance serves v{served}, but the **watchdog lock file cannot be written** (restricted environment: sandbox, ACLs, non-system drive) \u2192 whether it is managed cannot be determined (this is not "unmanaged"). Cause: {err} ({path}). Keep-alive usually still works; the button below can put it back under management on the new code.',vcPage:"Page script",vcPageStale:"\u26A0 This page is still running an older script (page v{page} / disk v{disk}): press Ctrl+F5 to refresh. If the running version is still old, restart the desktop app / DSH as well",vcOutdated:"update available",vcUpToDate:"up to date",vcCheck:"Check for updates",checking:"Checking\u2026",vcCheckFail:"Update check failed",recallSummaryLen:"Recall summary len",recallBody:"Recall with body",secretHint:"Credential hint (injected into every session)",autoWeb:"Web server",autoWebMode:"Keep-alive mode",webPort:"Web port",webCheckIntervalMs:"Probe interval (ms)",webMaxRestart:"Max restart",watchdogAutoSpawn:"Watchdog process",autoRestartOnDrift:"Auto-restart resident on version drift",autoMcpSetup:"Auto-mount MCP",saveConfig:"Save config",saveFail:"Save failed",savedOk:"Saved",savedDirect:"No DSH host is running here, so the change went straight into the shared config (hooks / MCP / the standalone page pick it up immediately)",savedApplied:"Saved and applied (the host applied it in a request context)",saveQueued:"Handed to the DSH host for sync \u2014 not confirmed applied yet",saveHostGuard:"This host does not let a plugin write config from its own callback context; change the same option under DSH Settings \u2192 Memory, or edit the profile patch layer",saveFailHint:"the host did not apply it \u2014 see Diagnostics under Report a bug",recallTool:"recall tool",costControl:"Cost control",costHint:"save tokens, control LLM usage",distillEnabled:"Distill cards (on=LLM compress, off=raw cards zero LLM)",dedupByLLM:"Dedup feeds LLM (off=pure lexical, cheaper)",captureMaxTokens:"Distill output cap (tokens)",captureTimeoutMs:"Distill timeout (ms; use 120000+ for cold local models)",recallMinScore:"Recall min score (higher = cheaper)",configNeedsDsh:"Edit config inside DSH (this page may be read-only or partially missing)",installMcp:"Install MCP",uninstallMcp:"Uninstall MCP",uninstallConfirm:"Confirm uninstall MCP for this agent? Claude Code/Codex will lose access to the memory vault.",presetConfig:"One-click preset config",presetHint:"Click to fill a plan, then hit Save",planApplied:'Filled "{plan}" \u2014 hit "Save config" to apply',planDescA:"Personal dev \xB7 distill 4000 \xB7 watchdog off",planDescB:"Budget \xB7 no distill \xB7 ~zero cost",planDescC:"Long projects \xB7 watchdog on \xB7 high quality",cfgSubCore:"Capture / recall / vault dir and dedup strategy",cfgSubMulti:"Per-project vaults; CLI / MCP / hooks follow the active one",cfgSubCost:"Control LLM calls and recall size \u2014 this is your bill",cfgSubAudit:"What must be reviewed before entering the main vault",cfgSubService:"Keep-alive, watchdog and version self-heal \u2014 defaults are fine",cfgDirty:"Unsaved changes",cfgClean:"Synced",unitChars:"chars",unitPerDay:"cards / day",unitTokens:"tokens",unitMs:"ms",unitTimes:"times",unitDays:"days",mcpAutoHint:"Auto-detects installed agents and their MCP configs (read-only probe)",mcpRefresh:"Re-scan",mcpSummary:"{agents} agents \xB7 {servers} MCP servers \xB7 {mounted} mounting this plugin",mcpNoServers:"No MCP configured",mcpDetectedOnly:"detected only",planA:"A Light",planB:"B Budget",planC:"C Premium",pluginInfo:"Plugin info",organizeTitle:"Organize",scanAndOrganize:"Scan & organize",scanHint:'Click "\u{1F50D} Scan & organize" to find similar/stale cards, then "\u26A1 One-click optimize" to run.',mergeNow:"Merge",delete:"Delete",captureAlert:"Auto-capture failed",captureAlertHint:`Open "Usage / Today" for the capture log; on AUTH/401 (bad key) update that provider's key or switch the distillation model; only update memory-eternal on a confirmed API/version mismatch.`,captureLog:"Auto-capture log",captureLogHint:"Runs after every turn: listen \u2192 judge \u2192 write. Last 100 entries, so you can see why a card was not written.",captureLogEmpty:"No entries yet. Chat one turn (> min capture chars) and come back.",healthTitle:"Health",healthHint:"Database / backups / capture / versions \u2014 spot anything that broke silently",healthDb:"Database",healthDbBad:"database is unwritable or corrupt",healthBackups:"Backups",healthNoBackups:"no backups yet (run dsh-memory doctor; the host also backs up daily)",healthBackupAge:"{n} files \xB7 newest {d} day(s) ago",healthBackupToday:"{n} files \xB7 newest today",healthCapture:"Auto capture",healthNoRecords:"no records yet (capture has not run)",healthCapOk:"last capture wrote a card",healthCapFail:"last capture failed",healthRunAlign:"run Version alignment check to show",healthVersion:"Versions",ledgerTitle:"Memory ledger (last 7 days)",ledgerHint:'How much recall injected and how many distillation calls ran \u2014 the first data point for the "does it save tokens?" question',ledgerRecalls:"Recalls",ledgerInjected:"injected",ledgerChars:"chars",ledgerCaptures:"Captures",ledgerLlmCalls:"LLM calls",ledgerEstimate:"Est. tokens",ledgerEstimateHint:"rough estimate at ~2 chars per token; order of magnitude only",ledgerUseful:"Recall usefulness",ledgerUsefulHint:"from useful / not-useful feedback; below 60% means injection may cost more than it saves",ledgerFormula:"Net benefit \u2248 avoided context cost \u2212 (injected chars + distillation calls \xD7 price). The ledger only records what we spent; weigh it against the re-reads and rework you actually avoided.",ledgerNoData:"No entries in the last 7 days: chat a few turns or let the agent recall once, then come back.",ledgerNeedRestart:"The host is still running the old API (/ledger missing): fully quit and reopen DSH to start recording.",alignTitle:"Version alignment check",alignRun:"Check now",alignFix:"Rewrite wiring",alignFixConfirm:"Rewrite the MCP / hooks wiring? (Only the plugin's own keys are touched; your data and config stay as they are)",alignFixed:"Wiring rewritten; if it still reports an old host process, you must fully quit and reopen DSH",alignFail:"Alignment check failed",alignHint:"Upgrading the plugin only replaces files on disk \u2014 the host's in-memory event subscriptions and stale paths inside MCP / hooks do not update themselves; this checks all of it at once",alignIdle:'Hit "Check now": compare the host / resident / npm versions and look for stale paths and arguments in MCP and hooks',alignDisk:"disk",alignResident:"resident",alignHost:"host process",captureLogUnavailable:"Log is available only inside the DSH host (the standalone web page has no host runtime).",captureAgentCards:"Cards auto-captured by the agent",noCards:"none",loadMore:"Load more",batchMerge:"Smart batch merge",mergeAllConfirm:"Merge similar-grouped cards into one each (keep kind), delete originals?",crossVault:"All vaults",deleteConfirm:"Delete this memory card? This cannot be undone.",editCard:"Edit",editHint:"Only title / tags / body are editable. Status and kind still flow through audit and system rules \u2014 manual edits never bypass review.",editTitle:"Title",editTags:"Tags (comma separated)",editTagsHint:"e.g. memory, recall, performance",editBody:"Body (Markdown)",editSave:"Save",editSaving:"Saving\u2026",editCancel:"Cancel",editSaved:"Saved",editFail:"Save failed",editTitleEmpty:"Title cannot be empty",editBodyEmpty:"Body cannot be empty",deleted:"Deleted",deleteFail:"Delete failed",deleteSelected:"Delete selected",deletedSelected:" cards deleted",merge:"Merge",mergeNeed:"Select at least 2 cards",mergeConfirm:"Merge the selected cards into one and delete the originals?",merged:"Merged",mergeFail:"Merge failed",mcpInstalled:"\u2705 {agent} MCP installed",mcpUninstalled:"\u2705 {agent} MCP uninstalled",mcpActionFail:"\u274C {agent} MCP action failed: {error}",dshHostLabel:"DeepSeek Harness (current host)",restartHint:"Saved. autoWebMode/watchdogAutoSpawn take effect after restarting DSH; a resident watchdog is never stopped automatically \u2014 use dsh-memory stop / restart (#19)",conflictRefresh:"Config changed elsewhere \u2014 refresh and retry",untitled:"Untitled",tplBlank:"\u{1F4C4} Blank",tagsHint:"Tags (comma-separated)",connCount:"{n} connections",tplDecisionTags:"decision, plan",tplBugTags:"pitfall, lesson",tplMeetingTags:"meeting, minutes",tplWeeklyTags:"weekly report",tplDecisionBody:`# Tech decision: [title]
65
65
 
66
66
  ## Background
67
67
  - Problem
@@ -106,7 +106,7 @@ Option A, because:
106
106
  -
107
107
 
108
108
  ## Risks/blockers
109
- - `},Cl=["all","core","project","knowledge","skill","content","prompt","business","tool","mistake"],qf=Cl.filter(e=>e!=="all"&&e!=="core"),Kt={core:"#FF7A45",skill:"#8B5CF6",project:"#3B82F6",knowledge:"#10B981",content:"#F59E0B",prompt:"#A855F7",business:"#EC4899",tool:"#06B6D4",mistake:"#EF4444",other:"#6B7280"},ld=e=>Array.isArray(e&&e.tags)?e.tags:[],Ir={core:"\u2B50",skill:"\u{1F9E9}",project:"\u{1F4C1}",knowledge:"\u{1F4DA}",content:"\u{1F4DD}",prompt:"\u{1F4AC}",business:"\u{1F4BC}",tool:"\u{1F527}",mistake:"\u26A0\uFE0F",other:"\u{1F4CE}"},Nt={core:"kindCore",skill:"kindSkill",project:"kindProject",knowledge:"kindKnowledge",content:"kindContent",prompt:"kindPrompt",business:"kindBusiness",tool:"kindTool",mistake:"kindMistake",other:"kindOther"},Wo="deepseek-harness",Fr=e=>{let t=String(e||""),n=t.toLowerCase();return!t||t==="agent"||t==="unknown"||t.startsWith("session:")||n.startsWith("claude-code")?n.startsWith("claude-code")?"claude":Wo:n==="deepseek harness"?Wo:t.split(":")[0]||Wo},a0=[Wo,"claude","codex","cursor","codex-desktop"],Yf=(e=[])=>[...new Set([...a0,...(e||[]).map(Fr)])],o0={boot:["\u{1F680}","#8b5cf6"],listen:["\u{1F442}","inherit"],created:["\u2705","#10b981"],appended:["\u2795","#3b82f6"],skip:["\u23ED","#f59e0b"],warn:["\u26A0\uFE0F","#f59e0b"],fail:["\u274C","#ef4444"]},xn=`
109
+ - `},Cl=["all","core","project","knowledge","skill","content","prompt","business","tool","mistake"],qf=Cl.filter(e=>e!=="all"&&e!=="core"),Kt={core:"#FF7A45",skill:"#8B5CF6",project:"#3B82F6",knowledge:"#10B981",content:"#F59E0B",prompt:"#A855F7",business:"#EC4899",tool:"#06B6D4",mistake:"#EF4444",other:"#6B7280"},ld=e=>Array.isArray(e&&e.tags)?e.tags:[],Ir={core:"\u2B50",skill:"\u{1F9E9}",project:"\u{1F4C1}",knowledge:"\u{1F4DA}",content:"\u{1F4DD}",prompt:"\u{1F4AC}",business:"\u{1F4BC}",tool:"\u{1F527}",mistake:"\u26A0\uFE0F",other:"\u{1F4CE}"},Tt={core:"kindCore",skill:"kindSkill",project:"kindProject",knowledge:"kindKnowledge",content:"kindContent",prompt:"kindPrompt",business:"kindBusiness",tool:"kindTool",mistake:"kindMistake",other:"kindOther"},Wo="deepseek-harness",Fr=e=>{let t=String(e||""),n=t.toLowerCase();return!t||t==="agent"||t==="unknown"||t.startsWith("session:")||n.startsWith("claude-code")?n.startsWith("claude-code")?"claude":Wo:n==="deepseek harness"?Wo:t.split(":")[0]||Wo},a0=[Wo,"claude","codex","cursor","codex-desktop"],Yf=(e=[])=>[...new Set([...a0,...(e||[]).map(Fr)])],o0={boot:["\u{1F680}","#8b5cf6"],listen:["\u{1F442}","inherit"],created:["\u2705","#10b981"],appended:["\u2795","#3b82f6"],skip:["\u23ED","#f59e0b"],warn:["\u26A0\uFE0F","#f59e0b"],fail:["\u274C","#ef4444"]},kn=`
110
110
  .memory-eternal-root { font-family: inherit; color: var(--dsw-alias-label-primary, #1f2937); }
111
111
  .mc-card { background: var(--dsw-alias-bg-layer-1, #fff); border: 1px solid var(--dsw-alias-border-l1, #e5e7eb); border-radius: 12px; padding: 14px 16px; }
112
112
  .mc-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(110px, 1fr)); gap: 10px; margin-bottom: 14px; }
@@ -278,6 +278,97 @@ Option A, because:
278
278
  .mc-vault-head { display: none; }
279
279
  .mc-vault-row { grid-template-columns: 1fr auto; }
280
280
  }
281
+ /* ===== \u8BB0\u5FC6\u914D\u7F6E\uFF1AH5 / PC / DSH \u5F39\u7A97\u4E09\u7AEF\u54CD\u5E94\u5F0F\uFF08\u9875\u9762\u5BFC\u822A + \u5361\u7247 + \u7C98\u6027\u4FDD\u5B58\uFF09 ===== */
282
+ .mc-cfg-page { width: 100%; max-width: 820px; margin: 0 auto; padding: 4px 2px 0; box-sizing: border-box; }
283
+ .mc-cfg-layout { display: block; width: 100%; }
284
+ .mc-cfg-main { min-width: 0; }
285
+ .mc-pagenav { position: sticky; top: 0; z-index: 23; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 4px; padding: 4px; margin: 0 0 12px; border-radius: 12px; border: 1px solid var(--dsw-alias-border-l1, #e5e7eb); background: rgba(127,127,127,.06); }
286
+ .mc-pagebtn { display: flex; align-items: center; justify-content: center; gap: 6px; min-width: 0; padding: 8px 4px; border: 0; border-radius: 9px; background: transparent; color: inherit; font: inherit; font-size: 12px; cursor: pointer; opacity: .66; white-space: nowrap; }
287
+ .mc-pagebtn:hover { opacity: 1; background: rgba(127,127,127,.10); }
288
+ .mc-pagebtn.on { opacity: 1; font-weight: 650; color: #fff; background: linear-gradient(135deg, #ff8a4d, #ff6a2b); box-shadow: 0 4px 14px rgba(255,106,43,.35); }
289
+ .mc-pagebtn.on:hover { background: linear-gradient(135deg, #ff8a4d, #ff6a2b); }
290
+ .mc-pagebtn:focus-visible { outline: 2px solid var(--dsw-alias-brand-primary, #3b82f6); outline-offset: 1px; }
291
+ .mc-pagebtn-ico { font-size: 13px; flex: none; }
292
+ .mc-pagebtn-txt { display: inline-flex; align-items: center; gap: 6px; min-width: 0; }
293
+ .mc-pagebtn-sub { display: none; }
294
+ .mc-panehead { display: flex; align-items: center; gap: 12px; padding: 2px 4px 14px; }
295
+ .mc-panehead-ico { flex: none; width: 42px; height: 42px; border-radius: 13px; display: flex; align-items: center; justify-content: center; font-size: 20px; background: linear-gradient(135deg, rgba(255,122,69,.30), rgba(255,122,69,.07)); border: 1px solid rgba(255,122,69,.24); }
296
+ .mc-panehead-title { font-size: 15.5px; font-weight: 700; letter-spacing: .2px; }
297
+ .mc-panehead-sub { font-size: 11.5px; opacity: .55; margin-top: 3px; line-height: 1.5; }
298
+ .mc-cfg-sec { border: 1px solid var(--dsw-alias-border-l1, #e5e7eb); border-radius: 14px; background: rgba(127,127,127,.045); padding: 14px 16px !important; margin: 0 0 12px !important; }
299
+ .me-v5 .mc-cfg-sec { background: rgba(255,255,255,.035); border-color: rgba(255,255,255,.09); }
300
+ .mc-cfg-sec-head { padding: 0; margin-bottom: 12px; }
301
+ .mc-cfg-sec-body { padding: 0; }
302
+ .mc-cfg-switches { grid-template-columns: minmax(0, 1fr); gap: 0; }
303
+ .mc-cfg-switches .mc-switch { flex-direction: row-reverse; justify-content: space-between; align-items: center; gap: 12px; border: 0; border-bottom: 1px solid rgba(127,127,127,.10); border-radius: 0; background: transparent; padding: 10px 2px; }
304
+ .mc-cfg-switches .mc-switch:last-child { border-bottom: 0; }
305
+ .mc-cfg-grid { grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 12px 16px; }
306
+ .mc-env, .mc-env-fold { border: 1px solid var(--dsw-alias-border-l1, #e5e7eb); border-radius: 14px; background: rgba(127,127,127,.045); padding: 12px 16px !important; margin-bottom: 12px !important; }
307
+ .mc-fold { border: 1px solid var(--dsw-alias-border-l1, #e5e7eb); border-radius: 14px; background: rgba(127,127,127,.045); margin-bottom: 12px !important; }
308
+ .me-v5 .mc-env, .me-v5 .mc-env-fold, .me-v5 .mc-fold { background: rgba(255,255,255,.035); border-color: rgba(255,255,255,.09); }
309
+ .mc-fold > summary { padding: 13px 16px; }
310
+ .mc-fold-body { padding: 0 16px 14px; }
311
+ .mc-cfg-actions { position: sticky; bottom: 0; z-index: 24; margin: 2px 0 0; border-radius: 12px; }
312
+ .mc-plan-grid { grid-template-columns: minmax(0, 1fr); gap: 8px; }
313
+ .mc-plan { flex-direction: row; align-items: center; gap: 10px; padding: 10px 12px; }
314
+ .mc-plan b { flex: none; }
315
+ .mc-plan span { flex: 1; min-width: 0; text-align: left; }
316
+ /* PC\uFF1A\u5DE6\u4FA7\u9875\u9762\u5BFC\u822A + \u66F4\u5BBD\u5185\u5BB9 */
317
+ @media (min-width: 1100px) {
318
+ .mc-cfg-page { max-width: 1200px; padding-top: 6px; }
319
+ .mc-cfg-layout { display: grid; grid-template-columns: 224px minmax(0, 1fr); gap: 24px; align-items: start; }
320
+ .mc-pagenav { position: sticky; top: 8px; display: flex; flex-direction: column; gap: 2px; padding: 8px; margin: 0; background: var(--dsw-alias-bg-layer-1, #fff); }
321
+ .me-v5 .mc-pagenav { background: #21252c; border-color: #333943; }
322
+ .mc-pagebtn { justify-content: flex-start; padding: 10px 12px; gap: 10px; text-align: left; }
323
+ .mc-pagebtn.on { background: rgba(255,122,69,.14); color: inherit; box-shadow: none; }
324
+ .me-v5 .mc-pagebtn.on { background: rgba(255,122,69,.18); }
325
+ .mc-pagebtn-txt { flex-direction: column; align-items: flex-start; gap: 2px; }
326
+ .mc-pagebtn-sub { display: block; font-size: 10.5px; opacity: .55; line-height: 1.4; white-space: normal; }
327
+ .mc-cfg-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
328
+ .mc-cfg-actions { margin-top: 4px; }
329
+ }
330
+ /* H5\uFF1A\u7D27\u51D1\u5185\u8FB9\u8DDD + \u89E6\u63A7\u5C3A\u5BF8 + \u5E95\u90E8\u5B89\u5168\u533A */
331
+ @media (max-width: 720px) {
332
+ .mc-cfg-page { max-width: 100%; padding: 2px 2px 0; }
333
+ .mc-pagenav { margin-bottom: 10px; }
334
+ .mc-pagebtn { padding: 10px 2px; font-size: 12px; }
335
+ .mc-panehead { padding: 4px 2px 12px; }
336
+ .mc-panehead-ico { width: 38px; height: 38px; font-size: 18px; border-radius: 11px; }
337
+ .mc-panehead-title { font-size: 15px; }
338
+ .mc-cfg-sec { padding: 12px 12px !important; border-radius: 12px; margin-bottom: 10px !important; }
339
+ .mc-field input:not([type="checkbox"]):not([type="radio"]), .mc-field select { height: 42px; font-size: 13px; }
340
+ .mc-cfg-switches .mc-switch { padding: 12px 2px; font-size: 12.5px; }
341
+ .mc-cfg-switches .mc-switch input { width: 40px; height: 24px; }
342
+ .mc-cfg-switches .mc-switch input::after { width: 20px; height: 20px; }
343
+ .mc-cfg-switches .mc-switch input:checked::after { transform: translateX(16px); }
344
+ .mc-cfg-actions { padding-bottom: calc(10px + env(safe-area-inset-bottom)); }
345
+ .mc-cfg-actions { flex-wrap: wrap; row-gap: 8px; padding: 10px 12px calc(10px + env(safe-area-inset-bottom)); }
346
+ .mc-cfg-actions > .mc-cfg-clean, .mc-cfg-actions > .mc-cfg-dirty { flex: 0 1 auto; width: 100%; }
347
+ .mc-cfg-actions .mc-cfg-spacer { display: none; }
348
+ .mc-cfg-actions .mc-btn { flex: 1 1 0; justify-content: center; white-space: nowrap; padding: 9px 10px; }
349
+ .mc-cfg-actions > span { font-size: 11px; }
350
+ .mc-plan { padding: 11px 12px; }
351
+ .mc-vault-head { display: none; }
352
+ .mc-vault-row { grid-template-columns: 1fr auto; }
353
+ }
354
+ @media (max-width: 900px) {
355
+ .me-audit-main { flex-direction: column; }
356
+ .me-audit-preview:not(.drawer-open) { display: none; }
357
+ .me-audit-bulk { flex-wrap: wrap; }
358
+ }
359
+ @media (max-width: 520px) {
360
+ .mc-audit-batchcard { grid-template-columns: minmax(0, 1fr) !important; }
361
+ .mc-audit-batchcard > .mc-btn { width: 100%; }
362
+ }
363
+ @media (max-width: 720px) {
364
+ .me-v5 .mc-v5-pagehead { flex-wrap: wrap; align-items: flex-start; }
365
+ .me-health-row { flex-wrap: wrap; }
366
+ .me-health-row > b { min-width: 56px; }
367
+ .me-health-row > div:last-child, .me-health-row > span:last-of-type { flex: 0 1 auto; width: 100%; padding-left: 22px; }
368
+ .mc-term-grid { grid-template-columns: minmax(0, 1fr) !important; }
369
+ .mc-term-guide { padding: 14px 12px 24px !important; }
370
+ .me-v5 .mc-rail, .me-v5 .mc-rail.open { width: 50px; padding: 8px 5px; }
371
+ }
281
372
  .mc-tabs { display: inline-flex; gap: 4px; padding: 3px; background: var(--dsw-alias-bg-base, #f3f4f6); border-radius: 999px; }
282
373
  .mc-tab { border: 0; background: transparent; color: inherit; border-radius: 999px; padding: 5px 14px; font-size: 12px; cursor: pointer; opacity: 0.7; }
283
374
  .mc-viewbar { display: flex; gap: 8px; align-items: center; margin-bottom: 12px; }
@@ -1134,7 +1225,7 @@ Option A, because:
1134
1225
  .mc-audit-batchcard > .mc-btn { width: 100%; }
1135
1226
  .mc-audit-batchcard > div[style*="flex: 1"] { display: none; }
1136
1227
  }
1137
- `;var _a="0.30.4";function i0({t:e}){let[t,n]=(0,u.useState)(""),a="dsh-memory tui",o="dsh-memory tui --write",i=async(p,f)=>{try{await navigator.clipboard.writeText(p),n(f),setTimeout(()=>n(""),1600)}catch{}},l={border:"1px solid #3a404a",borderRadius:14,background:"#22262d",padding:"16px 18px"},s={margin:"10px 0 0",padding:"12px 14px",borderRadius:10,background:"#171a1f",border:"1px solid #333943",color:"#f3f5f8",fontSize:12.5,lineHeight:1.7,overflowX:"auto",fontFamily:"ui-monospace, Consolas, monospace"},c={marginTop:10,border:"1px solid #4a515c",background:"transparent",color:"#ffb08a",borderRadius:9,padding:"7px 12px",fontSize:12,cursor:"pointer"};return(0,r.jsxs)("div",{style:{padding:"22px 26px 34px",maxWidth:1040,color:"#f3f5f8"},children:[(0,r.jsxs)("div",{style:{display:"flex",alignItems:"baseline",gap:12,flexWrap:"wrap"},children:[(0,r.jsx)("h2",{style:{margin:0,fontSize:24,letterSpacing:"-.02em"},children:e("terminalTitle")}),(0,r.jsx)("span",{style:{color:"#99a1ac",fontSize:12},children:"TUI \xB7 LIVE \xB7 dsh-tui"})]}),(0,r.jsx)("p",{style:{margin:"9px 0 20px",color:"#aeb5bf",fontSize:13.5,lineHeight:1.8},children:e("terminalIntro")}),(0,r.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"minmax(0, 1.1fr) minmax(0, .9fr)",gap:14},children:[(0,r.jsxs)("div",{style:l,children:[(0,r.jsxs)("div",{style:{fontSize:13,fontWeight:700},children:["\u25B8 ",e("terminalRun")]}),(0,r.jsx)("pre",{style:s,children:a}),(0,r.jsx)("button",{type:"button",style:c,onClick:()=>i(a,"run"),children:t==="run"?"\u2713 "+e("terminalCopied"):"\u29C9 "+e("terminalCopy")}),(0,r.jsxs)("div",{style:{marginTop:12,color:"#99a1ac",fontSize:12,lineHeight:1.7},children:["\u9ED8\u8BA4\u8BFB\u53D6\u771F\u5B9E\u8BB0\u5FC6\u5E93\u4E0E\u5F85\u5BA1\u961F\u5217\uFF1B\u53EA\u8BFB\uFF0C\u786E\u8BA4\u540E\u624D\u7528 `--write`\u3002\u793A\u4F8B\u6570\u636E\u7528 `--demo`\u3002",(0,r.jsx)("br",{}),"\u6CA1\u6709 `dsh-memory` \u547D\u4EE4\u65F6\uFF1A`npx -p memory-eternal dsh-memory tui`"]})]}),(0,r.jsxs)("div",{style:l,children:[(0,r.jsxs)("div",{style:{fontSize:13,fontWeight:700},children:["\u25B8 ",e("terminalTui")]}),(0,r.jsx)("pre",{style:s,children:o}),(0,r.jsx)("button",{type:"button",style:c,onClick:()=>i(o,"tui"),children:t==="tui"?"\u2713 "+e("terminalCopied"):"\u29C9 "+e("terminalCopy")}),(0,r.jsx)("div",{style:{marginTop:12,color:"#99a1ac",fontSize:12,lineHeight:1.7},children:"\u771F\u5B9E\u6279\u51C6/\u9A73\u56DE\uFF1B\u4E0D\u786E\u5B9A\u65F6\u5148\u7528\u53EA\u8BFB\u6A21\u5F0F\u3002"})]})]}),(0,r.jsxs)("div",{style:{...l,marginTop:14},children:[(0,r.jsxs)("div",{style:{fontSize:13,fontWeight:700},children:["\u25B8 ",e("terminalPreview")]}),(0,r.jsx)("pre",{style:{...s,marginTop:10,color:"#d7dce3",fontSize:12,lineHeight:1.5},children:`\u256D\u2500 MEMORY ATLAS / \u5F85\u5BA1 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256E
1228
+ `;var _a="0.30.5";function i0({t:e}){let[t,n]=(0,u.useState)(""),a="dsh-memory tui",o="dsh-memory tui --write",i=async(p,f)=>{try{await navigator.clipboard.writeText(p),n(f),setTimeout(()=>n(""),1600)}catch{}},l={border:"1px solid #3a404a",borderRadius:14,background:"#22262d",padding:"16px 18px"},s={margin:"10px 0 0",padding:"12px 14px",borderRadius:10,background:"#171a1f",border:"1px solid #333943",color:"#f3f5f8",fontSize:12.5,lineHeight:1.7,overflowX:"auto",fontFamily:"ui-monospace, Consolas, monospace"},c={marginTop:10,border:"1px solid #4a515c",background:"transparent",color:"#ffb08a",borderRadius:9,padding:"7px 12px",fontSize:12,cursor:"pointer"};return(0,r.jsxs)("div",{className:"mc-term-guide",style:{padding:"22px 26px 34px",maxWidth:1040,color:"#f3f5f8"},children:[(0,r.jsxs)("div",{style:{display:"flex",alignItems:"baseline",gap:12,flexWrap:"wrap"},children:[(0,r.jsx)("h2",{style:{margin:0,fontSize:24,letterSpacing:"-.02em"},children:e("terminalTitle")}),(0,r.jsx)("span",{style:{color:"#99a1ac",fontSize:12},children:"TUI \xB7 LIVE \xB7 dsh-tui"})]}),(0,r.jsx)("p",{style:{margin:"9px 0 20px",color:"#aeb5bf",fontSize:13.5,lineHeight:1.8},children:e("terminalIntro")}),(0,r.jsxs)("div",{className:"mc-term-grid",style:{display:"grid",gridTemplateColumns:"minmax(0, 1.1fr) minmax(0, .9fr)",gap:14},children:[(0,r.jsxs)("div",{style:l,children:[(0,r.jsxs)("div",{style:{fontSize:13,fontWeight:700},children:["\u25B8 ",e("terminalRun")]}),(0,r.jsx)("pre",{style:s,children:a}),(0,r.jsx)("button",{type:"button",style:c,onClick:()=>i(a,"run"),children:t==="run"?"\u2713 "+e("terminalCopied"):"\u29C9 "+e("terminalCopy")}),(0,r.jsxs)("div",{style:{marginTop:12,color:"#99a1ac",fontSize:12,lineHeight:1.7},children:["\u9ED8\u8BA4\u8BFB\u53D6\u771F\u5B9E\u8BB0\u5FC6\u5E93\u4E0E\u5F85\u5BA1\u961F\u5217\uFF1B\u53EA\u8BFB\uFF0C\u786E\u8BA4\u540E\u624D\u7528 `--write`\u3002\u793A\u4F8B\u6570\u636E\u7528 `--demo`\u3002",(0,r.jsx)("br",{}),"\u6CA1\u6709 `dsh-memory` \u547D\u4EE4\u65F6\uFF1A`npx -p memory-eternal dsh-memory tui`"]})]}),(0,r.jsxs)("div",{style:l,children:[(0,r.jsxs)("div",{style:{fontSize:13,fontWeight:700},children:["\u25B8 ",e("terminalTui")]}),(0,r.jsx)("pre",{style:s,children:o}),(0,r.jsx)("button",{type:"button",style:c,onClick:()=>i(o,"tui"),children:t==="tui"?"\u2713 "+e("terminalCopied"):"\u29C9 "+e("terminalCopy")}),(0,r.jsx)("div",{style:{marginTop:12,color:"#99a1ac",fontSize:12,lineHeight:1.7},children:"\u771F\u5B9E\u6279\u51C6/\u9A73\u56DE\uFF1B\u4E0D\u786E\u5B9A\u65F6\u5148\u7528\u53EA\u8BFB\u6A21\u5F0F\u3002"})]})]}),(0,r.jsxs)("div",{style:{...l,marginTop:14},children:[(0,r.jsxs)("div",{style:{fontSize:13,fontWeight:700},children:["\u25B8 ",e("terminalPreview")]}),(0,r.jsx)("pre",{style:{...s,marginTop:10,color:"#d7dce3",fontSize:12,lineHeight:1.5},children:`\u256D\u2500 MEMORY ATLAS / \u5F85\u5BA1 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256E
1138
1229
  \u2502 \u7C7B\u578B \u25CF \u5168\u90E8 7 \u25CB \u9879\u76EE 3 \u25CB \u77E5\u8BC6 1 \u25CB \u6559\u8BAD 1 \u2502
1139
1230
  \u2502 \u2502
1140
1231
  \u2502 \u25A3 \u5168\u9009 7 \u5DF2\u9009 3 s \u5168\u9009 \u2502
@@ -1143,17 +1234,17 @@ Option A, because:
1143
1234
  \u2502 \u25C9 [\u6559\u8BAD] shj-web \u7AEF\u53E3\u83DC\u5355\u9519\u4F4D \u2502
1144
1235
  \u2502 \u2502
1145
1236
  \u2502 [a] \u6279\u51C6 3 [r] \u9A73\u56DE [s] \u53CD\u9009 [Esc] \u6E05\u7A7A \u2502
1146
- \u2570\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256F`})]}),(0,r.jsxs)("div",{style:{marginTop:16,color:"#99a1ac",fontSize:12.5,lineHeight:1.8},children:[(0,r.jsx)("b",{style:{color:"#f3f5f8"},children:e("terminalWhy")}),(0,r.jsx)("br",{}),e("terminalWhyBody")]})]})}var pd=class extends u.default.Component{constructor(t){super(t),this.state={error:null}}static getDerivedStateFromError(t){return{error:t||new Error("unknown")}}componentDidCatch(t,n){try{console.warn("[memory-eternal] \u8BB0\u5FC6\u9762\u677F\u6E32\u67D3\u5F02\u5E38\uFF08\u5DF2\u515C\u5E95\uFF0C\u4E0D\u518D\u6574\u9875\u767D\u5C4F\uFF09",t,n&&n.componentStack)}catch{}}render(){if(!this.state.error)return this.props.children;let t=String(this.state.error&&this.state.error.message||this.state.error||"unknown");return(0,r.jsxs)("div",{style:{padding:"22px 24px",fontFamily:'system-ui, "Segoe UI", "Microsoft YaHei", sans-serif',color:"var(--dsw-alias-label-primary, #1f2937)"},children:[(0,r.jsx)("div",{style:{fontSize:15,fontWeight:700,marginBottom:6},children:"\u8BB0\u5FC6\u9762\u677F\u6E32\u67D3\u51FA\u9519"}),(0,r.jsx)("div",{style:{fontSize:12.5,opacity:.75,lineHeight:1.7,marginBottom:14,wordBreak:"break-all"},children:t}),(0,r.jsx)("div",{style:{fontSize:12,opacity:.6,marginBottom:14,lineHeight:1.7},children:"\u5DF2\u7ECF\u515C\u5E95\u4F4F\uFF0C\u4E0D\u4F1A\u518D\u6574\u9875\u767D\u5C4F\u3002\u70B9\u300C\u91CD\u65B0\u52A0\u8F7D\u300D\u53EF\u6062\u590D\uFF1B\u53CD\u590D\u51FA\u73B0\u8BF7\u7528\u5DE6\u680F\u300C\u53CD\u9988\u5F02\u5E38\u300D\u5E26\u4E0A\u8FD9\u6BB5\u62A5\u9519\u3002"}),(0,r.jsx)("button",{type:"button",className:"mc-btn",onClick:()=>{try{window.location.reload()}catch{}},children:"\u91CD\u65B0\u52A0\u8F7D"})]})}};function l0({t:e,notify:t,onPromoted:n}){let[a,o]=(0,u.useState)(!1),[i,l]=(0,u.useState)(""),[s,c]=(0,u.useState)(null),[p,f]=(0,u.useState)(""),b=(0,u.useRef)(null),h=(0,u.useCallback)(async()=>{try{let y=await(await fetch(`${Z}/working`)).json().catch(()=>null);y&&y.ok&&(c(y),l(y.text||""))}catch{}},[]);(0,u.useEffect)(()=>{h()},[h]);let S=async(m,y)=>(await fetch(`${Z}${m}`,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify(y||{})})).json().catch(()=>null),L=async()=>{f("save");let m=await S("/working",{text:i,mode:"replace"});f(""),m&&m.ok?(t(!0,e("workSaved")),await h()):t(!1,m&&m.error||"save failed")},M=async()=>{if(!window.confirm(e("workClearConfirm")))return;f("clear");let m=await S("/working/clear",{});f(""),m&&m.ok?(l(""),t(!0,e("workCleared")),await h()):t(!1,m&&m.error||"clear failed")},_=async()=>{let m=b.current,y=m&&m.selectionEnd>m.selectionStart?m.value.slice(m.selectionStart,m.selectionEnd):i;if(!String(y||"").trim()){t(!1,e("workPromoteEmpty"));return}f("promote");let R=await S("/working/promote",{text:y});f(""),R&&R.ok?(t(!0,e("workPromoted")),n&&n()):t(!1,R&&R.error||"promote failed")},x=i?i.split(`
1147
- `).length:0;return(0,r.jsxs)("div",{className:"mc-card",style:{margin:"0 0 10px",padding:"10px 12px"},children:[(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,flexWrap:"wrap"},children:[(0,r.jsxs)("b",{style:{fontSize:12.5},children:["\u{1F4DD} ",e("workTitle")]}),(0,r.jsx)("span",{style:{fontSize:11,opacity:.65},children:e("workHint")}),(0,r.jsxs)("span",{style:{fontSize:11,opacity:.5},children:[x," ",e("workLines")]}),(0,r.jsx)("div",{style:{flex:1}}),(0,r.jsx)("button",{type:"button",className:"mc-btn",onClick:()=>o(m=>!m),children:e(a?"workCollapse":"workExpand")})]}),a&&(0,r.jsxs)("div",{style:{marginTop:8},children:[(0,r.jsx)("textarea",{ref:b,value:i,onChange:m=>l(m.target.value),rows:7,placeholder:e("workPlaceholder"),style:{width:"100%",boxSizing:"border-box",borderRadius:8,padding:"8px 10px",fontSize:12.5,lineHeight:1.6,background:"rgba(0,0,0,0.18)",color:"inherit",border:"1px solid rgba(140,148,160,0.35)",resize:"vertical"}}),(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,marginTop:8,flexWrap:"wrap"},children:[(0,r.jsx)("button",{type:"button",className:"mc-btn me-on",disabled:!!p,onClick:L,children:p==="save"?"\u2026":e("workSave")}),(0,r.jsx)("button",{type:"button",className:"mc-btn",disabled:!!p,onClick:_,children:p==="promote"?"\u2026":e("workPromote")}),(0,r.jsx)("button",{type:"button",className:"mc-btn mc-danger",disabled:!!p||!i.trim(),onClick:M,children:e("workClear")}),(0,r.jsxs)("span",{style:{fontSize:11,opacity:.55},children:[s&&s.maxLines?s.maxLines+" \u884C / "+Math.round((s.maxBytes||0)/1024)+"KB ":"",e("workLimitHint")," \xB7 ",e("workPromoteHint")]})]})]})]})}function Qf(e){return(0,r.jsx)(pd,{children:(0,r.jsx)(s0,{...e})})}function s0({t:e,inModal:t,onClose:n}){let a=typeof window<"u"&&(!!window.__DSH_BOOT__||String(location.pathname||"").includes("/memory-eternal/api/ui/app")),[o,i]=(0,u.useState)(null),[l,s]=(0,u.useState)(()=>{try{let N=localStorage.getItem("me-ui-scale");return["compact","normal","large"].includes(N)?N:"normal"}catch{return"normal"}}),[c,p]=(0,u.useState)([]),[f,b]=(0,u.useState)(!0),[h,S]=(0,u.useState)(null),[L,M]=(0,u.useState)(""),[_,x]=(0,u.useState)("all"),[m,y]=(0,u.useState)(""),[R,F]=(0,u.useState)("all"),[P,D]=(0,u.useState)("all"),[I,W]=(0,u.useState)(()=>{try{return new Set(JSON.parse(localStorage.getItem("me-pinned-v5")||"[]"))}catch{return new Set}}),[$,le]=(0,u.useState)(!1),he=(0,u.useCallback)(N=>{W(q=>{let oe=new Set(q);oe.has(N)?oe.delete(N):oe.add(N);try{localStorage.setItem("me-pinned-v5",JSON.stringify([...oe]))}catch{}return oe})},[]),[ye,Re]=(0,u.useState)(""),[G,He]=(0,u.useState)(()=>{try{let N=new URLSearchParams(typeof location<"u"?location.search:"").get("tab"),q={cards:"cards",graph:"graph",news:"news",usage:"stats",stats:"stats",audit:"audit",recycle:"optimize",optimize:"optimize",config:"config",terminal:"terminal"};if(N&&q[N])return q[N]}catch{}return"cards"}),[Pe,Ne]=(0,u.useState)(()=>new Set([G])),ie=(0,u.useCallback)(N=>{Ne(q=>q.has(N)?q:new Set(q).add(N)),He(N)},[]),[ne,qe]=(0,u.useState)("recent"),[Ye,ae]=(0,u.useState)(null),[H,U]=(0,u.useState)(null),v=(0,u.useCallback)(N=>{U(null);try{fetch(`${Z}/star/action`,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({action:N})}).catch(()=>{})}catch{}},[]);(0,u.useEffect)(()=>{let N=!0;return fetch(`${Z}/star/status`).then(q=>q.json()).then(q=>{!N||!q||!q.shouldAsk||(U(q),fetch(`${Z}/star/action`,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({action:"shown"})}).catch(()=>{}))}).catch(()=>{}),()=>{N=!1}},[]);let Q=(0,u.useRef)(null),pe=(0,u.useRef)(null),[Ie,se]=(0,u.useState)(!1),[te,k]=(0,u.useState)(!1),[K,V]=(0,u.useState)(0),[ge,xe]=(0,u.useState)(null),[ve,me]=(0,u.useState)(!1),[j,ue]=(0,u.useState)(!1),[de,Ce]=(0,u.useState)(!1),[wt,Fe]=(0,u.useState)("group"),[ln,Lt]=(0,u.useState)(!1);(0,u.useEffect)(()=>{let N=q=>{let oe=q&&q.detail;if(["compact","normal","large"].includes(oe)){s(oe);try{localStorage.setItem("me-ui-scale",oe)}catch{}}};return window.addEventListener("me-ui-scale",N),()=>window.removeEventListener("me-ui-scale",N)},[]);let wn=(0,u.useCallback)(()=>{Lt(!1);try{localStorage.setItem("me-onboard-v2","1")}catch{}},[]),Pt=(0,u.useCallback)((N="group")=>{Fe(N),Ce(!0)},[]),Ke=(0,u.useRef)(!1),An=(0,u.useCallback)(async()=>{if(Ke.current)return;Ke.current=!0;let N=(q,oe=!0)=>{Q.current&&clearTimeout(Q.current),ae({ok:oe,msg:q}),Q.current=setTimeout(()=>ae(null),3e3)};N(e("webOpening"));try{let q=await fetch(`${Z}/open-web`,{method:"POST"}).then(ke=>ke.json()).catch(()=>null);if(q&&q.ok&&q.url){N(e("webOpened")+" \xB7 "+q.url);return}let oe=await fetch(`${Z}/web-info`).then(ke=>ke.json()).catch(()=>null),Te=oe&&oe.ok&&oe.url||"http://127.0.0.1:7999/",Ee=window.open(Te,"_blank","noopener,noreferrer");N(Ee?e("webOpened")+" \xB7 "+Te:e("webOpenFail")+" \xB7 "+Te,!!Ee)}catch{N(e("webOpenFail"),!1)}finally{Ke.current=!1}},[e]);(0,u.useEffect)(()=>{try{if(localStorage.getItem("me-onboard-v2")||G!=="cards")return;let N=setTimeout(()=>Lt(!0),900);return()=>clearTimeout(N)}catch{}},[G]);let[Me,T]=(0,u.useState)(!0),[w,fe]=(0,u.useState)(0),[Oe,C]=(0,u.useState)(null),[z,_e]=(0,u.useState)(0),We=(0,u.useCallback)(()=>_e(N=>N+1),[]),d=o?.quarantine?.pending??0,qt=(o?.quarantine?.deleted??0)+(o?.quarantine?.rejected??0),sn=(0,u.useRef)(null),[cn,Fn]=(0,u.useState)(0),[Dt,Yn]=(0,u.useState)(!1),_r=(0,u.useRef)(null),Or=(0,u.useRef)(null),Tt=(0,u.useCallback)(async(N=_,q=m,oe=P,Te={})=>{let Ee=Te.append===!0;try{Ee?Yn(!0):(b(!0),M(""));let ke=new URLSearchParams;N&&N!=="all"&&ke.set("kind",N),q.trim()&&ke.set("q",q.trim());let mt=Te.tag!==void 0?Te.tag:ye;mt&&ke.set("tag",mt),ke.set("status",oe||"all"),ke.set("limit",String(r0)),ke.set("offset",String(Te.offset||0)),ne==="title"&&ke.set("sort","title");let Sn=await(await fetch(`${Z}/cards?${ke.toString()}`)).json();if(Sn.ok){let jn=Sn.cards||[];p(Cn=>Ee?[...Cn,...jn.filter(Tl=>!Cn.some(Ml=>Ml.path===Tl.path))]:jn),Fn(Number(Sn.total)||jn.length)}}catch(ke){M(String(ke&&ke.message?ke.message:ke))}finally{Ee?Yn(!1):b(!1)}},[_,m,P,ne,ye]),Xe=(0,u.useCallback)(async()=>{try{let[N,q,oe,Te]=await Promise.all([fetch(`${Z}/overview`).then(ke=>ke.json()),fetch(`${Z}/capture-log`).then(ke=>ke.json()).catch(()=>null),fetch(`${Z}/config`).then(ke=>ke.json()).catch(()=>null),fetch(`${Z}/news?unread=1&limit=1`).then(ke=>ke.json()).catch(()=>null)]);N.ok&&i(N),Te&&Te.ok&&V(Number((Te.counts||{}).unread)||0);let Ee=oe&&oe.ok&&oe.config&&oe.config.uiScale;if(["compact","normal","large"].includes(Ee)){s(Ee);try{localStorage.setItem("me-ui-scale",Ee)}catch{}}S(q&&q.ok&&q.available&&q.health||null)}catch(N){M(String(N&&N.message?N.message:N))}finally{b(!1)}},[]),Qn=async N=>{try{let oe=await(await fetch(`${Z}/delete?path=${encodeURIComponent(N)}`)).json();oe.ok?(ae({ok:!0,msg:e("deleted")}),await Xe(),We()):ae({ok:!1,msg:oe.error||e("deleteFail")})}catch{ae({ok:!1,msg:e("deleteFail")})}Q.current&&clearTimeout(Q.current),Q.current=setTimeout(()=>ae(null),2e3)};(0,u.useEffect)(()=>(Xe(),()=>{sn.current&&clearTimeout(sn.current)}),[Xe]);let ja=N=>{y(N),sn.current&&clearTimeout(sn.current),sn.current=setTimeout(()=>Tt(_,N,P),280)},In=N=>{x(N),Tt(N,m,P)},_n=N=>{let q=String(N||"");Re(q),xe(null),Tt(_,m,P,{tag:q})};(0,u.useEffect)(()=>{G==="cards"&&Tt(_,m,P)},[P,G,z,ne,ye]),(0,u.useEffect)(()=>{if(G!=="cards"||f||Dt||c.length>=cn)return;let N=_r.current,q=Or.current;if(!N)return;let oe=new IntersectionObserver(Te=>{Te[0]&&Te[0].isIntersecting&&Tt(_,m,P,{append:!0,offset:c.length})},{root:q||null,rootMargin:"400px"});return oe.observe(N),()=>oe.disconnect()},[G,c,cn,f,Dt,_,m,P,Tt]);let On=async(N,q)=>{try{let oe=await fetch(`${Z}/card-kind`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:N,kind:q})}).then(Te=>Te.json());!oe||!oe.ok?ae({ok:!1,msg:oe&&oe.error||e("coreSetFail")}):(xe(Te=>Te&&Te.path===N?{...Te,kind:oe.kind}:Te),await Xe(),We(),ae({ok:!0,msg:e(q==="core"?"coreSetOk":"coreUnsetOk")}))}catch(oe){ae({ok:!1,msg:String(oe&&oe.message||oe)})}Q.current&&clearTimeout(Q.current),Q.current=setTimeout(()=>ae(null),2e3)},kn=async N=>{try{let q=N.status;if(!q&&N.path)try{let mt=((await fetch(`${Z}/cards?status=all&q=${encodeURIComponent(N.title||"")}&limit=50`).then(dn=>dn.json())).cards||[]).find(dn=>dn.path===N.path);mt&&(q=mt.status)}catch{}let oe=q&&q!=="approved"?`&status=${encodeURIComponent(q)}`:"",Te=await fetch(`${Z}/card?path=${encodeURIComponent(N.path||N.id)}${oe}`),Ee=await Te.json();Ee.ok?xe({path:Ee.path,title:N.title,text:Ee.text,kind:N.kind||"knowledge",status:q||"approved"}):M(Ee.error||`HTTP ${Te.status}`)}catch(q){M(String(q&&q.message?q.message:q))}},jr=async(N,q)=>{se(!0);try{let oe=await fetch(`${Z}/export`);if(!oe.ok)throw new Error("HTTP "+oe.status);let Te=await oe.json();if(!Te.ok)throw new Error(Te.error||"export failed");let Ee,ke,mt;if(N==="json"){ke="memory-vault.json",mt="application/json";let jn=Te.cards.map(Cn=>({path:Cn.path,title:Cn.title,kind:Cn.kind,status:Cn.status,store:Cn.store,text:Cn.text}));Ee=JSON.stringify({format:Te.format||"memory-eternal-vault",formatVersion:Te.formatVersion||1,exportedAt:Te.exportedAt||new Date().toISOString(),count:jn.length,cards:jn},null,2)}else ke="memory-vault.md",mt="text/markdown;charset=utf-8",Ee=Te.cards.map(jn=>jn.text.trim()).filter(Boolean).join(`
1237
+ \u2570\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256F`})]}),(0,r.jsxs)("div",{style:{marginTop:16,color:"#99a1ac",fontSize:12.5,lineHeight:1.8},children:[(0,r.jsx)("b",{style:{color:"#f3f5f8"},children:e("terminalWhy")}),(0,r.jsx)("br",{}),e("terminalWhyBody")]})]})}var pd=class extends u.default.Component{constructor(t){super(t),this.state={error:null}}static getDerivedStateFromError(t){return{error:t||new Error("unknown")}}componentDidCatch(t,n){try{console.warn("[memory-eternal] \u8BB0\u5FC6\u9762\u677F\u6E32\u67D3\u5F02\u5E38\uFF08\u5DF2\u515C\u5E95\uFF0C\u4E0D\u518D\u6574\u9875\u767D\u5C4F\uFF09",t,n&&n.componentStack)}catch{}}render(){if(!this.state.error)return this.props.children;let t=String(this.state.error&&this.state.error.message||this.state.error||"unknown");return(0,r.jsxs)("div",{style:{padding:"22px 24px",fontFamily:'system-ui, "Segoe UI", "Microsoft YaHei", sans-serif',color:"var(--dsw-alias-label-primary, #1f2937)"},children:[(0,r.jsx)("div",{style:{fontSize:15,fontWeight:700,marginBottom:6},children:"\u8BB0\u5FC6\u9762\u677F\u6E32\u67D3\u51FA\u9519"}),(0,r.jsx)("div",{style:{fontSize:12.5,opacity:.75,lineHeight:1.7,marginBottom:14,wordBreak:"break-all"},children:t}),(0,r.jsx)("div",{style:{fontSize:12,opacity:.6,marginBottom:14,lineHeight:1.7},children:"\u5DF2\u7ECF\u515C\u5E95\u4F4F\uFF0C\u4E0D\u4F1A\u518D\u6574\u9875\u767D\u5C4F\u3002\u70B9\u300C\u91CD\u65B0\u52A0\u8F7D\u300D\u53EF\u6062\u590D\uFF1B\u53CD\u590D\u51FA\u73B0\u8BF7\u7528\u5DE6\u680F\u300C\u53CD\u9988\u5F02\u5E38\u300D\u5E26\u4E0A\u8FD9\u6BB5\u62A5\u9519\u3002"}),(0,r.jsx)("button",{type:"button",className:"mc-btn",onClick:()=>{try{window.location.reload()}catch{}},children:"\u91CD\u65B0\u52A0\u8F7D"})]})}};function l0({t:e,notify:t,onPromoted:n}){let[a,o]=(0,u.useState)(!1),[i,l]=(0,u.useState)(""),[s,c]=(0,u.useState)(null),[p,f]=(0,u.useState)(""),g=(0,u.useRef)(null),y=(0,u.useCallback)(async()=>{try{let b=await(await fetch(`${J}/working`)).json().catch(()=>null);b&&b.ok&&(c(b),l(b.text||""))}catch{}},[]);(0,u.useEffect)(()=>{y()},[y]);let S=async(m,b)=>(await fetch(`${J}${m}`,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify(b||{})})).json().catch(()=>null),R=async()=>{f("save");let m=await S("/working",{text:i,mode:"replace"});f(""),m&&m.ok?(t(!0,e("workSaved")),await y()):t(!1,m&&m.error||"save failed")},M=async()=>{if(!window.confirm(e("workClearConfirm")))return;f("clear");let m=await S("/working/clear",{});f(""),m&&m.ok?(l(""),t(!0,e("workCleared")),await y()):t(!1,m&&m.error||"clear failed")},O=async()=>{let m=g.current,b=m&&m.selectionEnd>m.selectionStart?m.value.slice(m.selectionStart,m.selectionEnd):i;if(!String(b||"").trim()){t(!1,e("workPromoteEmpty"));return}f("promote");let P=await S("/working/promote",{text:b});f(""),P&&P.ok?(t(!0,e("workPromoted")),n&&n()):t(!1,P&&P.error||"promote failed")},h=i?i.split(`
1238
+ `).length:0;return(0,r.jsxs)("div",{className:"mc-card",style:{margin:"0 0 10px",padding:"10px 12px"},children:[(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,flexWrap:"wrap"},children:[(0,r.jsxs)("b",{style:{fontSize:12.5},children:["\u{1F4DD} ",e("workTitle")]}),(0,r.jsx)("span",{style:{fontSize:11,opacity:.65},children:e("workHint")}),(0,r.jsxs)("span",{style:{fontSize:11,opacity:.5},children:[h," ",e("workLines")]}),(0,r.jsx)("div",{style:{flex:1}}),(0,r.jsx)("button",{type:"button",className:"mc-btn",onClick:()=>o(m=>!m),children:e(a?"workCollapse":"workExpand")})]}),a&&(0,r.jsxs)("div",{style:{marginTop:8},children:[(0,r.jsx)("textarea",{ref:g,value:i,onChange:m=>l(m.target.value),rows:7,placeholder:e("workPlaceholder"),style:{width:"100%",boxSizing:"border-box",borderRadius:8,padding:"8px 10px",fontSize:12.5,lineHeight:1.6,background:"rgba(0,0,0,0.18)",color:"inherit",border:"1px solid rgba(140,148,160,0.35)",resize:"vertical"}}),(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,marginTop:8,flexWrap:"wrap"},children:[(0,r.jsx)("button",{type:"button",className:"mc-btn me-on",disabled:!!p,onClick:R,children:p==="save"?"\u2026":e("workSave")}),(0,r.jsx)("button",{type:"button",className:"mc-btn",disabled:!!p,onClick:O,children:p==="promote"?"\u2026":e("workPromote")}),(0,r.jsx)("button",{type:"button",className:"mc-btn mc-danger",disabled:!!p||!i.trim(),onClick:M,children:e("workClear")}),(0,r.jsxs)("span",{style:{fontSize:11,opacity:.55},children:[s&&s.maxLines?s.maxLines+" \u884C / "+Math.round((s.maxBytes||0)/1024)+"KB ":"",e("workLimitHint")," \xB7 ",e("workPromoteHint")]})]})]})]})}function Qf(e){return(0,r.jsx)(pd,{children:(0,r.jsx)(s0,{...e})})}function s0({t:e,inModal:t,onClose:n}){let a=typeof window<"u"&&(!!window.__DSH_BOOT__||String(location.pathname||"").includes("/memory-eternal/api/ui/app")),[o,i]=(0,u.useState)(null),[l,s]=(0,u.useState)(()=>{try{let T=localStorage.getItem("me-ui-scale");return["compact","normal","large"].includes(T)?T:"normal"}catch{return"normal"}}),[c,p]=(0,u.useState)([]),[f,g]=(0,u.useState)(!0),[y,S]=(0,u.useState)(null),[R,M]=(0,u.useState)(""),[O,h]=(0,u.useState)("all"),[m,b]=(0,u.useState)(""),[P,j]=(0,u.useState)("all"),[D,L]=(0,u.useState)("all"),[_,U]=(0,u.useState)(()=>{try{return new Set(JSON.parse(localStorage.getItem("me-pinned-v5")||"[]"))}catch{return new Set}}),[$,ce]=(0,u.useState)(!1),ge=(0,u.useCallback)(T=>{U(K=>{let oe=new Set(K);oe.has(T)?oe.delete(T):oe.add(T);try{localStorage.setItem("me-pinned-v5",JSON.stringify([...oe]))}catch{}return oe})},[]),[fe,Pe]=(0,u.useState)(""),[V,ve]=(0,u.useState)(()=>{try{let T=new URLSearchParams(typeof location<"u"?location.search:"").get("tab"),K={cards:"cards",graph:"graph",news:"news",usage:"stats",stats:"stats",audit:"audit",recycle:"optimize",optimize:"optimize",config:"config",terminal:"terminal"};if(T&&K[T])return K[T]}catch{}return"cards"}),[we,qe]=(0,u.useState)(()=>new Set([V])),me=(0,u.useCallback)(T=>{qe(K=>K.has(T)?K:new Set(K).add(T)),ve(T)},[]),[ne,Ge]=(0,u.useState)("recent"),[Ie,re]=(0,u.useState)(null),[k,G]=(0,u.useState)(null),z=(0,u.useCallback)(T=>{G(null);try{fetch(`${J}/star/action`,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({action:T})}).catch(()=>{})}catch{}},[]);(0,u.useEffect)(()=>{let T=!0;return fetch(`${J}/star/status`).then(K=>K.json()).then(K=>{!T||!K||!K.shouldAsk||(G(K),fetch(`${J}/star/action`,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({action:"shown"})}).catch(()=>{}))}).catch(()=>{}),()=>{T=!1}},[]);let Y=(0,u.useRef)(null),he=(0,u.useRef)(null),[Le,ie]=(0,u.useState)(!1),[ee,w]=(0,u.useState)(!1),[q,W]=(0,u.useState)(0),[de,Re]=(0,u.useState)(null),[Ce,ue]=(0,u.useState)(!1),[A,pe]=(0,u.useState)(!1),[ae,Ne]=(0,u.useState)(!1),[kt,Mt]=(0,u.useState)("group"),[en,Fn]=(0,u.useState)(!1);(0,u.useEffect)(()=>{let T=K=>{let oe=K&&K.detail;if(["compact","normal","large"].includes(oe)){s(oe);try{localStorage.setItem("me-ui-scale",oe)}catch{}}};return window.addEventListener("me-ui-scale",T),()=>window.removeEventListener("me-ui-scale",T)},[]);let Sn=(0,u.useCallback)(()=>{Fn(!1);try{localStorage.setItem("me-onboard-v2","1")}catch{}},[]),tn=(0,u.useCallback)((T="group")=>{Mt(T),Ne(!0)},[]),He=(0,u.useRef)(!1),In=(0,u.useCallback)(async()=>{if(He.current)return;He.current=!0;let T=(K,oe=!0)=>{Y.current&&clearTimeout(Y.current),re({ok:oe,msg:K}),Y.current=setTimeout(()=>re(null),3e3)};T(e("webOpening"));try{let K=await fetch(`${J}/open-web`,{method:"POST"}).then(ke=>ke.json()).catch(()=>null);if(K&&K.ok&&K.url){T(e("webOpened")+" \xB7 "+K.url);return}let oe=await fetch(`${J}/web-info`).then(ke=>ke.json()).catch(()=>null),Me=oe&&oe.ok&&oe.url||"http://127.0.0.1:7999/",Ee=window.open(Me,"_blank","noopener,noreferrer");T(Ee?e("webOpened")+" \xB7 "+Me:e("webOpenFail")+" \xB7 "+Me,!!Ee)}catch{T(e("webOpenFail"),!1)}finally{He.current=!1}},[e]);(0,u.useEffect)(()=>{try{if(localStorage.getItem("me-onboard-v2")||V!=="cards")return;let T=setTimeout(()=>Fn(!0),900);return()=>clearTimeout(T)}catch{}},[V]);let[Te,C]=(0,u.useState)(!0),[x,se]=(0,u.useState)(0),[Ae,N]=(0,u.useState)(null),[F,We]=(0,u.useState)(0),Ye=(0,u.useCallback)(()=>We(T=>T+1),[]),d=o?.quarantine?.pending??0,Et=(o?.quarantine?.deleted??0)+(o?.quarantine?.rejected??0),dn=(0,u.useRef)(null),[pn,At]=(0,u.useState)(0),[qt,qn]=(0,u.useState)(!1),_r=(0,u.useRef)(null),Or=(0,u.useRef)(null),nn=(0,u.useCallback)(async(T=O,K=m,oe=D,Me={})=>{let Ee=Me.append===!0;try{Ee?qn(!0):(g(!0),M(""));let ke=new URLSearchParams;T&&T!=="all"&&ke.set("kind",T),K.trim()&&ke.set("q",K.trim());let ut=Me.tag!==void 0?Me.tag:fe;ut&&ke.set("tag",ut),ke.set("status",oe||"all"),ke.set("limit",String(r0)),ke.set("offset",String(Me.offset||0)),ne==="title"&&ke.set("sort","title");let Cn=await(await fetch(`${J}/cards?${ke.toString()}`)).json();if(Cn.ok){let On=Cn.cards||[];p(Nn=>Ee?[...Nn,...On.filter(Tl=>!Nn.some(Ml=>Ml.path===Tl.path))]:On),At(Number(Cn.total)||On.length)}}catch(ke){M(String(ke&&ke.message?ke.message:ke))}finally{Ee?qn(!1):g(!1)}},[O,m,D,ne,fe]),Qe=(0,u.useCallback)(async()=>{try{let[T,K,oe,Me]=await Promise.all([fetch(`${J}/overview`).then(ke=>ke.json()),fetch(`${J}/capture-log`).then(ke=>ke.json()).catch(()=>null),fetch(`${J}/config`).then(ke=>ke.json()).catch(()=>null),fetch(`${J}/news?unread=1&limit=1`).then(ke=>ke.json()).catch(()=>null)]);T.ok&&i(T),Me&&Me.ok&&W(Number((Me.counts||{}).unread)||0);let Ee=oe&&oe.ok&&oe.config&&oe.config.uiScale;if(["compact","normal","large"].includes(Ee)){s(Ee);try{localStorage.setItem("me-ui-scale",Ee)}catch{}}S(K&&K.ok&&K.available&&K.health||null)}catch(T){M(String(T&&T.message?T.message:T))}finally{g(!1)}},[]),sr=async T=>{try{let oe=await(await fetch(`${J}/delete?path=${encodeURIComponent(T)}`)).json();oe.ok?(re({ok:!0,msg:e("deleted")}),await Qe(),Ye()):re({ok:!1,msg:oe.error||e("deleteFail")})}catch{re({ok:!1,msg:e("deleteFail")})}Y.current&&clearTimeout(Y.current),Y.current=setTimeout(()=>re(null),2e3)};(0,u.useEffect)(()=>(Qe(),()=>{dn.current&&clearTimeout(dn.current)}),[Qe]);let ja=T=>{b(T),dn.current&&clearTimeout(dn.current),dn.current=setTimeout(()=>nn(O,T,D),280)},_n=T=>{h(T),nn(T,m,D)},cr=T=>{let K=String(T||"");Pe(K),Re(null),nn(O,m,D,{tag:K})};(0,u.useEffect)(()=>{V==="cards"&&nn(O,m,D)},[D,V,F,ne,fe]),(0,u.useEffect)(()=>{if(V!=="cards"||f||qt||c.length>=pn)return;let T=_r.current,K=Or.current;if(!T)return;let oe=new IntersectionObserver(Me=>{Me[0]&&Me[0].isIntersecting&&nn(O,m,D,{append:!0,offset:c.length})},{root:K||null,rootMargin:"400px"});return oe.observe(T),()=>oe.disconnect()},[V,c,pn,f,qt,O,m,D,nn]);let v=async(T,K)=>{try{let oe=await fetch(`${J}/card-kind`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:T,kind:K})}).then(Me=>Me.json());!oe||!oe.ok?re({ok:!1,msg:oe&&oe.error||e("coreSetFail")}):(Re(Me=>Me&&Me.path===T?{...Me,kind:oe.kind}:Me),await Qe(),Ye(),re({ok:!0,msg:e(K==="core"?"coreSetOk":"coreUnsetOk")}))}catch(oe){re({ok:!1,msg:String(oe&&oe.message||oe)})}Y.current&&clearTimeout(Y.current),Y.current=setTimeout(()=>re(null),2e3)},te=async T=>{try{let K=T.status;if(!K&&T.path)try{let ut=((await fetch(`${J}/cards?status=all&q=${encodeURIComponent(T.title||"")}&limit=50`).then(un=>un.json())).cards||[]).find(un=>un.path===T.path);ut&&(K=ut.status)}catch{}let oe=K&&K!=="approved"?`&status=${encodeURIComponent(K)}`:"",Me=await fetch(`${J}/card?path=${encodeURIComponent(T.path||T.id)}${oe}`),Ee=await Me.json();Ee.ok?Re({path:Ee.path,title:T.title,text:Ee.text,kind:T.kind||"knowledge",status:K||"approved"}):M(Ee.error||`HTTP ${Me.status}`)}catch(K){M(String(K&&K.message?K.message:K))}},ye=async(T,K)=>{ie(!0);try{let oe=await fetch(`${J}/export`);if(!oe.ok)throw new Error("HTTP "+oe.status);let Me=await oe.json();if(!Me.ok)throw new Error(Me.error||"export failed");let Ee,ke,ut;if(T==="json"){ke="memory-vault.json",ut="application/json";let On=Me.cards.map(Nn=>({path:Nn.path,title:Nn.title,kind:Nn.kind,status:Nn.status,store:Nn.store,text:Nn.text}));Ee=JSON.stringify({format:Me.format||"memory-eternal-vault",formatVersion:Me.formatVersion||1,exportedAt:Me.exportedAt||new Date().toISOString(),count:On.length,cards:On},null,2)}else ke="memory-vault.md",ut="text/markdown;charset=utf-8",Ee=Me.cards.map(On=>On.text.trim()).filter(Boolean).join(`
1148
1239
 
1149
1240
  ---
1150
1241
 
1151
- `);let dn=new Blob([Ee],{type:mt}),Sn=await B0(dn,ke,!1);if(!Sn.ok){ae({ok:!1,msg:e("exportFail")}),se(!1);return}ae({ok:!0,msg:e("exportedTo")+"\uFF1A"+e("defaultDownloads")+" \xB7 "+Sn.name})}catch(oe){ae({ok:!1,msg:e("exportFail")+" \xB7 "+(oe.message||"")})}finally{se(!1)}Q.current&&clearTimeout(Q.current),Q.current=setTimeout(()=>ae(null),2600)},dr=async N=>{let q=N.target.files&&N.target.files[0];if(N.target.value="",!!q){try{let oe=await q.text(),Ee=await(await fetch(`${Z}/import`,{method:"POST",headers:{"Content-Type":"application/json"},body:oe})).json();if(Ee.ok){await Xe();let ke=Ee.imported||0,mt=e("importedVault")+"\uFF1A"+ke;Ee.total&&(mt+=e("importedTotal")+Ee.total+e("importedTotalTail")),Ee.quarantined&&(mt+=e("importedQuarantine")+Ee.quarantined+e("importedQuarantineTail")),Ee.skipped&&(mt+=e("importedSkipped")+Ee.skipped+e("importedSkippedTail")),Ee.warning&&(mt+=" \xB7 "+Ee.warning),ae({ok:ke>0||!Ee.total,msg:mt})}else ae({ok:!1,msg:Ee.error||e("importFail")})}catch{ae({ok:!1,msg:e("importFail")})}Q.current&&clearTimeout(Q.current),Q.current=setTimeout(()=>ae(null),2400)}},aa=async()=>{if(!te){k(!0);try{let N=await fetch(`${Z}/skills/sync`,{method:"POST"}).then(q=>q.json()).catch(()=>null);if(N&&N.ok){let q=e("skillsSyncDone")+" \xB7 "+e("skillsScanned")+" "+(N.total||0)+" \xB7 "+e("skillsCreated")+" "+(N.created||0)+" \xB7 "+e("skillsUpdated")+" "+(N.updated||0)+" \xB7 "+e("skillsPendingUpdates")+" "+(N.pendingUpdates||0);ae({ok:!0,msg:q}),await Xe(),We()}else ae({ok:!1,msg:N&&N.error||e("skillsSyncFail")})}catch{ae({ok:!1,msg:e("skillsSyncFail")})}finally{k(!1)}Q.current&&clearTimeout(Q.current),Q.current=setTimeout(()=>ae(null),3600)}},yt=(0,u.useMemo)(()=>{let N=c.slice();return R!=="all"&&(N=N.filter(q=>Fr(q.submittedBy)===R)),P!=="all"&&(N=N.filter(q=>(q.status||"approved")===P)),$&&(N=N.filter(q=>I.has(q.path))),ne==="title"?N.sort((q,oe)=>String(q.title||"").localeCompare(String(oe.title||""))):ne==="hot"?N.sort((q,oe)=>(oe.weight||oe.links||0)-(q.weight||q.links||0)):N.sort((q,oe)=>new Date(oe.updated||0).getTime()-new Date(q.updated||0).getTime()),N},[c,ne,R,P,$,I]),g=(0,u.useMemo)(()=>[...new Set(c.map(N=>Fr(N.submittedBy)))],[c]),J=(0,u.useMemo)(()=>{let N={};for(let q of c){let oe=new Set(q.tags||[]),Te=0;for(let Ee of c)Ee.path!==q.path&&(Ee.tags||[]).some(ke=>oe.has(ke))&&Te++;N[q.path]=Te}return N},[c]),[re,je]=(0,u.useState)(null),be=(0,u.useMemo)(()=>{if(!yt.length)return null;let N=re?yt.find(oe=>oe.path===re):null;return N||yt.find(oe=>Date.now()-new Date(oe.updated||0).getTime()>21*864e5)||yt[0]},[yt,re]),Le=()=>{if(!yt.length)return;let N=yt.findIndex(q=>q.path===(be&&be.path));je(yt[(N+1+yt.length)%yt.length].path)},De=!m&&_==="all"&&!ye&&P==="all"&&!!be;return(0,r.jsxs)("div",{className:"memory-eternal-root me-v5","data-ui-scale":l,style:{height:"100%",width:"100%",zoom:l==="large"?1.15:l==="compact"?.92:1.06,overflow:"hidden",display:"flex",flexDirection:"column"},children:[(0,r.jsx)("style",{children:xn}),!t&&(0,r.jsxs)("div",{className:`mc-v5-top${a?" in-host":""}`,children:[(0,r.jsx)("img",{className:"mc-v5-logo",src:fl,alt:""}),(0,r.jsxs)("span",{className:"mc-v5-crumb",children:[(0,r.jsx)("b",{children:e("memoryTitle")}),(0,r.jsx)("i",{children:"/"}),(0,r.jsx)("span",{children:e(G==="cards"?"cardsTab":G==="graph"?"graphTab":G==="news"?"newsTab":G==="stats"?"tabUsage":G==="audit"?"tabAudit":G==="optimize"?"tabRecycle":G==="terminal"?"terminalTab":"tabConfig")})]}),(0,r.jsx)("div",{className:"spacer"}),(0,r.jsxs)("div",{className:"mc-v5-top-actions",children:[(0,r.jsxs)("span",{className:"mc-v5-sys",children:[(0,r.jsx)("i",{}),e("v5Local")]}),(0,r.jsxs)("span",{className:"mc-v5-ver",children:["v",_a]}),(0,r.jsxs)("button",{type:"button",className:"mc-v5-star",onClick:()=>kl("https://github.com/EternalNight996/memory-eternal"),title:e("v5Star"),children:["\u2605 ",(0,r.jsx)("span",{className:"mc-v5-star-label",children:"Star"})]}),(0,r.jsx)("button",{type:"button",className:"mc-v5-help",onClick:()=>Pt("group"),title:e("supportTitle"),"aria-label":e("supportTitle"),children:"?"})]})]}),H&&(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,margin:"8px 14px 0",padding:"10px 14px",borderRadius:10,background:"linear-gradient(90deg, rgba(255,122,69,0.14), rgba(255,122,69,0.03))",border:"1px solid rgba(255,122,69,0.32)",color:"var(--dsw-alias-label-primary, #e5e7eb)",fontSize:12.5,lineHeight:1.55},children:[(0,r.jsx)("span",{style:{fontSize:15,color:"#FF7A45"},children:"\u2605"}),(0,r.jsxs)("span",{style:{flex:1},children:[(0,r.jsx)("b",{children:e("starAskTitle")}),(0,r.jsx)("span",{style:{opacity:.82,marginLeft:8},children:e("starAskBody").replace("{recalls}",String(H.evidence?.recalls??0)).replace("{cards}",String(H.evidence?.cards??0))})]}),(0,r.jsxs)("button",{type:"button",className:"mc-btn me-on",onClick:()=>{kl("https://github.com/EternalNight996/memory-eternal"),v("never")},children:["\u2605 ",e("starAskGo")]}),(0,r.jsx)("button",{type:"button",className:"mc-btn",onClick:()=>v("later"),children:e("starAskLater")}),(0,r.jsx)("button",{type:"button",className:"mc-btn",onClick:()=>v("never"),children:e("starAskNever")})]}),Ye&&(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,position:"fixed",left:"50%",transform:"translateX(-50%)",top:22,zIndex:70,background:"rgba(20,22,26,0.97)",backdropFilter:"blur(12px)",WebkitBackdropFilter:"blur(12px)",color:"#f5f5f5",borderRadius:12,padding:"10px 20px",fontSize:13.5,fontWeight:600,boxShadow:"0 14px 44px rgba(0,0,0,.5)",pointerEvents:"none",animation:"me-pop .22s ease",borderLeft:"4px solid "+(Ye.ok?"#22c55e":"#ef4444"),maxWidth:"90vw"},children:[(0,r.jsx)("span",{style:{color:Ye.ok?"#34d399":"#f87171",fontWeight:800,fontSize:15},children:Ye.ok?"\u2713":"\u2715"}),(0,r.jsx)("span",{children:Ye.msg})]}),t&&(0,r.jsxs)("div",{className:"me-modal-head",children:[(0,r.jsxs)("div",{className:"me-modal-title",children:[(0,r.jsx)("span",{className:"me-wicon",children:(0,r.jsx)("img",{src:fl,alt:""})}),(0,r.jsx)("h2",{children:e("memoryTitle")}),(0,r.jsx)("span",{children:e("memoryHint")})]}),(0,r.jsx)("div",{className:"spacer"}),(0,r.jsx)("button",{type:"button",className:"me-modal-close me-modal-x",onClick:n,"aria-label":e("close"),title:e("close"),children:(0,r.jsx)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round","aria-hidden":"true",children:(0,r.jsx)("path",{d:"M6 6l12 12M18 6L6 18"})})})]}),h&&h.ok===!1&&(0,r.jsxs)("div",{style:{display:"flex",alignItems:"flex-start",gap:8,margin:"0 0 8px",padding:"9px 14px",borderRadius:10,background:"rgba(239,68,68,0.10)",border:"1px solid rgba(239,68,68,0.45)",borderLeft:"4px solid #ef4444",color:"var(--dsw-alias-label-primary, #e5e7eb)",fontSize:12.5,lineHeight:1.6},children:[(0,r.jsxs)("span",{style:{fontWeight:800},children:["\u26A0 ",e("captureAlert")]}),(0,r.jsxs)("span",{style:{flex:1},children:[h.reason,(0,r.jsx)("div",{style:{opacity:.68,fontSize:11.5,marginTop:2},children:e("captureAlertHint")})]}),(0,r.jsx)("span",{style:{opacity:.7},children:h.since?cr(new Date(h.since).toISOString()):""})]}),(0,r.jsxs)("div",{className:"me-modal-body",children:[(0,r.jsxs)("div",{className:`mc-rail${Me?" open":""}`,children:[(0,r.jsxs)("div",{className:"mc-v5-rail-top",children:[Me&&(0,r.jsxs)("div",{className:"mc-v5-railbrand",children:[(0,r.jsx)("img",{className:"mark",src:fl,alt:""}),(0,r.jsxs)("div",{children:[(0,r.jsx)("b",{children:e("memoryTitle")}),(0,r.jsx)("span",{children:"MEMORY ATLAS"})]})]}),(0,r.jsx)("button",{type:"button",className:"mc-rail-collapse",onClick:()=>T(N=>!N),"aria-label":e(Me?"collapse":"expand"),title:e(Me?"collapse":"expand"),children:Me?"\xAB":"\xBB"})]}),Me&&(0,r.jsx)("div",{className:"mc-rail-sec",children:e("navWorkspace")}),(0,r.jsxs)("button",{type:"button",className:`mc-railbtn${G==="cards"?" active":""}`,onClick:()=>ie("cards"),title:e("cardsTab"),children:[(0,r.jsx)("span",{className:"mc-rail-ico",children:"\u{1F9E0}"}),Me&&(0,r.jsx)("span",{className:"mc-rail-label",children:e("cardsTab")})]}),(0,r.jsxs)("button",{type:"button",className:`mc-railbtn${G==="graph"?" active":""}`,onClick:()=>ie("graph"),title:e("graphTab"),children:[(0,r.jsx)("span",{className:"mc-rail-ico",children:"\u{1F52E}"}),Me&&(0,r.jsx)("span",{className:"mc-rail-label",children:e("graphTab")})]}),(0,r.jsxs)("button",{type:"button",className:`mc-railbtn${G==="news"?" active":""}`,onClick:()=>ie("news"),title:e("newsTab"),children:[(0,r.jsx)("span",{className:"mc-rail-ico",children:"\u{1F4F0}"}),Me&&(0,r.jsx)("span",{className:"mc-rail-label",children:e("newsTab")}),K>0&&(0,r.jsx)("span",{className:"mc-dot",children:K>99?"99+":K})]}),(0,r.jsxs)("button",{type:"button",className:`mc-railbtn${G==="stats"?" active":""}`,onClick:()=>ie("stats"),title:e("tabUsage"),children:[(0,r.jsx)("span",{className:"mc-rail-ico",children:"\u{1F4C8}"}),Me&&(0,r.jsx)("span",{className:"mc-rail-label",children:e("tabUsage")})]}),(0,r.jsxs)("button",{type:"button",className:`mc-railbtn${G==="audit"?" active":""}`,onClick:()=>ie("audit"),title:e("tabAudit"),children:[(0,r.jsx)("span",{className:"mc-rail-ico",children:"\u{1F50D}"}),Me&&(0,r.jsx)("span",{className:"mc-rail-label",children:e("tabAudit")}),d>0&&(0,r.jsx)("span",{className:"mc-dot",children:d>99?"99+":d})]}),Me&&(0,r.jsx)("div",{className:"mc-rail-sec",children:e("navSystem")}),(0,r.jsxs)("button",{type:"button",className:`mc-railbtn${G==="optimize"?" active":""}`,onClick:()=>ie("optimize"),title:e("tabRecycle"),children:[(0,r.jsx)("span",{className:"mc-rail-ico",children:"\u267B\uFE0F"}),Me&&(0,r.jsx)("span",{className:"mc-rail-label",children:e("tabRecycle")}),qt>0&&(0,r.jsx)("span",{className:"mc-dot",style:{background:"#6b7280"},children:qt>99?"99+":qt})]}),(0,r.jsxs)("button",{type:"button",className:`mc-railbtn${G==="terminal"?" active":""}`,onClick:()=>ie("terminal"),title:e("terminalTab"),children:[(0,r.jsx)("span",{className:"mc-rail-ico",children:"\u25B8_"}),Me&&(0,r.jsx)("span",{className:"mc-rail-label",children:e("terminalTab")})]}),(0,r.jsxs)("button",{type:"button",className:"mc-railbtn",onClick:An,title:e("webTab"),"aria-label":e("webTab"),children:[(0,r.jsx)("span",{className:"mc-rail-ico",children:"\u{1F310}"}),Me&&(0,r.jsx)("span",{className:"mc-rail-label",children:e("webTab")})]}),(0,r.jsxs)("button",{type:"button",className:`mc-railbtn${G==="config"?" active":""}`,onClick:()=>ie("config"),title:e("tabConfig"),children:[(0,r.jsx)("span",{className:"mc-rail-ico",children:"\u2699\uFE0F"}),Me&&(0,r.jsx)("span",{className:"mc-rail-label",children:e("tabConfig")})]}),Me&&(0,r.jsx)("div",{className:"mc-rail-sec",children:e("navSupport")}),(0,r.jsxs)("button",{type:"button",className:"mc-railbtn",onClick:()=>Pt("group"),title:e("supportGroup"),children:[(0,r.jsx)("span",{className:"mc-rail-ico",children:"\u{1F4AC}"}),Me&&(0,r.jsx)("span",{className:"mc-rail-label",children:e("supportGroup")})]}),(0,r.jsxs)("button",{type:"button",className:"mc-railbtn",onClick:()=>Pt("sponsor"),title:e("supportSponsor"),children:[(0,r.jsx)("span",{className:"mc-rail-ico",children:"\u2615"}),Me&&(0,r.jsx)("span",{className:"mc-rail-label",children:e("supportSponsor")})]}),(0,r.jsxs)("button",{type:"button",className:"mc-railbtn",onClick:()=>Pt("legacy"),title:e("supportLegacy"),children:[(0,r.jsx)("span",{className:"mc-rail-ico",children:"\u{1F9E9}"}),Me&&(0,r.jsx)("span",{className:"mc-rail-label",children:e("supportLegacy")})]}),(0,r.jsxs)("button",{type:"button",className:"mc-railbtn",onClick:()=>ue(!0),title:e("fbNav"),children:[(0,r.jsx)("span",{className:"mc-rail-ico",children:"\u{1F41E}"}),Me&&(0,r.jsx)("span",{className:"mc-rail-label",children:e("fbNav")})]}),Me&&(0,r.jsxs)("button",{type:"button",className:"mc-quote",onClick:()=>fe(N=>(N+1)%xl.length),title:`${xl[w]}
1242
+ `);let un=new Blob([Ee],{type:ut}),Cn=await B0(un,ke,!1);if(!Cn.ok){re({ok:!1,msg:e("exportFail")}),ie(!1);return}re({ok:!0,msg:e("exportedTo")+"\uFF1A"+e("defaultDownloads")+" \xB7 "+Cn.name})}catch(oe){re({ok:!1,msg:e("exportFail")+" \xB7 "+(oe.message||"")})}finally{ie(!1)}Y.current&&clearTimeout(Y.current),Y.current=setTimeout(()=>re(null),2600)},je=async T=>{let K=T.target.files&&T.target.files[0];if(T.target.value="",!!K){try{let oe=await K.text(),Ee=await(await fetch(`${J}/import`,{method:"POST",headers:{"Content-Type":"application/json"},body:oe})).json();if(Ee.ok){await Qe();let ke=Ee.imported||0,ut=e("importedVault")+"\uFF1A"+ke;Ee.total&&(ut+=e("importedTotal")+Ee.total+e("importedTotalTail")),Ee.quarantined&&(ut+=e("importedQuarantine")+Ee.quarantined+e("importedQuarantineTail")),Ee.skipped&&(ut+=e("importedSkipped")+Ee.skipped+e("importedSkippedTail")),Ee.warning&&(ut+=" \xB7 "+Ee.warning),re({ok:ke>0||!Ee.total,msg:ut})}else re({ok:!1,msg:Ee.error||e("importFail")})}catch{re({ok:!1,msg:e("importFail")})}Y.current&&clearTimeout(Y.current),Y.current=setTimeout(()=>re(null),2400)}},Be=async()=>{if(!ee){w(!0);try{let T=await fetch(`${J}/skills/sync`,{method:"POST"}).then(K=>K.json()).catch(()=>null);if(T&&T.ok){let K=e("skillsSyncDone")+" \xB7 "+e("skillsScanned")+" "+(T.total||0)+" \xB7 "+e("skillsCreated")+" "+(T.created||0)+" \xB7 "+e("skillsUpdated")+" "+(T.updated||0)+" \xB7 "+e("skillsPendingUpdates")+" "+(T.pendingUpdates||0);re({ok:!0,msg:K}),await Qe(),Ye()}else re({ok:!1,msg:T&&T.error||e("skillsSyncFail")})}catch{re({ok:!1,msg:e("skillsSyncFail")})}finally{w(!1)}Y.current&&clearTimeout(Y.current),Y.current=setTimeout(()=>re(null),3600)}},be=(0,u.useMemo)(()=>{let T=c.slice();return P!=="all"&&(T=T.filter(K=>Fr(K.submittedBy)===P)),D!=="all"&&(T=T.filter(K=>(K.status||"approved")===D)),$&&(T=T.filter(K=>_.has(K.path))),ne==="title"?T.sort((K,oe)=>String(K.title||"").localeCompare(String(oe.title||""))):ne==="hot"?T.sort((K,oe)=>(oe.weight||oe.links||0)-(K.weight||K.links||0)):T.sort((K,oe)=>new Date(oe.updated||0).getTime()-new Date(K.updated||0).getTime()),T},[c,ne,P,D,$,_]),_e=(0,u.useMemo)(()=>[...new Set(c.map(T=>Fr(T.submittedBy)))],[c]),yt=(0,u.useMemo)(()=>{let T={};for(let K of c){let oe=new Set(K.tags||[]),Me=0;for(let Ee of c)Ee.path!==K.path&&(Ee.tags||[]).some(ke=>oe.has(ke))&&Me++;T[K.path]=Me}return T},[c]),[gt,jr]=(0,u.useState)(null),vt=(0,u.useMemo)(()=>{if(!be.length)return null;let T=gt?be.find(oe=>oe.path===gt):null;return T||be.find(oe=>Date.now()-new Date(oe.updated||0).getTime()>21*864e5)||be[0]},[be,gt]),dr=()=>{if(!be.length)return;let T=be.findIndex(K=>K.path===(vt&&vt.path));jr(be[(T+1+be.length)%be.length].path)},zt=!m&&O==="all"&&!fe&&D==="all"&&!!vt;return(0,r.jsxs)("div",{className:"memory-eternal-root me-v5","data-ui-scale":l,style:{height:"100%",width:"100%",zoom:l==="large"?1.15:l==="compact"?.92:1.06,overflow:"hidden",display:"flex",flexDirection:"column"},children:[(0,r.jsx)("style",{children:kn}),!t&&(0,r.jsxs)("div",{className:`mc-v5-top${a?" in-host":""}`,children:[(0,r.jsx)("img",{className:"mc-v5-logo",src:fl,alt:""}),(0,r.jsxs)("span",{className:"mc-v5-crumb",children:[(0,r.jsx)("b",{children:e("memoryTitle")}),(0,r.jsx)("i",{children:"/"}),(0,r.jsx)("span",{children:e(V==="cards"?"cardsTab":V==="graph"?"graphTab":V==="news"?"newsTab":V==="stats"?"tabUsage":V==="audit"?"tabAudit":V==="optimize"?"tabRecycle":V==="terminal"?"terminalTab":"tabConfig")})]}),(0,r.jsx)("div",{className:"spacer"}),(0,r.jsxs)("div",{className:"mc-v5-top-actions",children:[(0,r.jsxs)("span",{className:"mc-v5-sys",children:[(0,r.jsx)("i",{}),e("v5Local")]}),(0,r.jsxs)("span",{className:"mc-v5-ver",children:["v",_a]}),(0,r.jsxs)("button",{type:"button",className:"mc-v5-star",onClick:()=>kl("https://github.com/EternalNight996/memory-eternal"),title:e("v5Star"),children:["\u2605 ",(0,r.jsx)("span",{className:"mc-v5-star-label",children:"Star"})]}),(0,r.jsx)("button",{type:"button",className:"mc-v5-help",onClick:()=>tn("group"),title:e("supportTitle"),"aria-label":e("supportTitle"),children:"?"})]})]}),k&&(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,margin:"8px 14px 0",padding:"10px 14px",borderRadius:10,background:"linear-gradient(90deg, rgba(255,122,69,0.14), rgba(255,122,69,0.03))",border:"1px solid rgba(255,122,69,0.32)",color:"var(--dsw-alias-label-primary, #e5e7eb)",fontSize:12.5,lineHeight:1.55},children:[(0,r.jsx)("span",{style:{fontSize:15,color:"#FF7A45"},children:"\u2605"}),(0,r.jsxs)("span",{style:{flex:1},children:[(0,r.jsx)("b",{children:e("starAskTitle")}),(0,r.jsx)("span",{style:{opacity:.82,marginLeft:8},children:e("starAskBody").replace("{recalls}",String(k.evidence?.recalls??0)).replace("{cards}",String(k.evidence?.cards??0))})]}),(0,r.jsxs)("button",{type:"button",className:"mc-btn me-on",onClick:()=>{kl("https://github.com/EternalNight996/memory-eternal"),z("never")},children:["\u2605 ",e("starAskGo")]}),(0,r.jsx)("button",{type:"button",className:"mc-btn",onClick:()=>z("later"),children:e("starAskLater")}),(0,r.jsx)("button",{type:"button",className:"mc-btn",onClick:()=>z("never"),children:e("starAskNever")})]}),Ie&&(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,position:"fixed",left:"50%",transform:"translateX(-50%)",top:22,zIndex:70,background:"rgba(20,22,26,0.97)",backdropFilter:"blur(12px)",WebkitBackdropFilter:"blur(12px)",color:"#f5f5f5",borderRadius:12,padding:"10px 20px",fontSize:13.5,fontWeight:600,boxShadow:"0 14px 44px rgba(0,0,0,.5)",pointerEvents:"none",animation:"me-pop .22s ease",borderLeft:"4px solid "+(Ie.ok?"#22c55e":"#ef4444"),maxWidth:"90vw"},children:[(0,r.jsx)("span",{style:{color:Ie.ok?"#34d399":"#f87171",fontWeight:800,fontSize:15},children:Ie.ok?"\u2713":"\u2715"}),(0,r.jsx)("span",{children:Ie.msg})]}),t&&(0,r.jsxs)("div",{className:"me-modal-head",children:[(0,r.jsxs)("div",{className:"me-modal-title",children:[(0,r.jsx)("span",{className:"me-wicon",children:(0,r.jsx)("img",{src:fl,alt:""})}),(0,r.jsx)("h2",{children:e("memoryTitle")}),(0,r.jsx)("span",{children:e("memoryHint")})]}),(0,r.jsx)("div",{className:"spacer"}),(0,r.jsx)("button",{type:"button",className:"me-modal-close me-modal-x",onClick:n,"aria-label":e("close"),title:e("close"),children:(0,r.jsx)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round","aria-hidden":"true",children:(0,r.jsx)("path",{d:"M6 6l12 12M18 6L6 18"})})})]}),y&&y.ok===!1&&(0,r.jsxs)("div",{style:{display:"flex",alignItems:"flex-start",gap:8,margin:"0 0 8px",padding:"9px 14px",borderRadius:10,background:"rgba(239,68,68,0.10)",border:"1px solid rgba(239,68,68,0.45)",borderLeft:"4px solid #ef4444",color:"var(--dsw-alias-label-primary, #e5e7eb)",fontSize:12.5,lineHeight:1.6},children:[(0,r.jsxs)("span",{style:{fontWeight:800},children:["\u26A0 ",e("captureAlert")]}),(0,r.jsxs)("span",{style:{flex:1},children:[y.reason,(0,r.jsx)("div",{style:{opacity:.68,fontSize:11.5,marginTop:2},children:e("captureAlertHint")})]}),(0,r.jsx)("span",{style:{opacity:.7},children:y.since?lr(new Date(y.since).toISOString()):""})]}),(0,r.jsxs)("div",{className:"me-modal-body",children:[(0,r.jsxs)("div",{className:`mc-rail${Te?" open":""}`,children:[(0,r.jsxs)("div",{className:"mc-v5-rail-top",children:[Te&&(0,r.jsxs)("div",{className:"mc-v5-railbrand",children:[(0,r.jsx)("img",{className:"mark",src:fl,alt:""}),(0,r.jsxs)("div",{children:[(0,r.jsx)("b",{children:e("memoryTitle")}),(0,r.jsx)("span",{children:"MEMORY ATLAS"})]})]}),(0,r.jsx)("button",{type:"button",className:"mc-rail-collapse",onClick:()=>C(T=>!T),"aria-label":e(Te?"collapse":"expand"),title:e(Te?"collapse":"expand"),children:Te?"\xAB":"\xBB"})]}),Te&&(0,r.jsx)("div",{className:"mc-rail-sec",children:e("navWorkspace")}),(0,r.jsxs)("button",{type:"button",className:`mc-railbtn${V==="cards"?" active":""}`,onClick:()=>me("cards"),title:e("cardsTab"),children:[(0,r.jsx)("span",{className:"mc-rail-ico",children:"\u{1F9E0}"}),Te&&(0,r.jsx)("span",{className:"mc-rail-label",children:e("cardsTab")})]}),(0,r.jsxs)("button",{type:"button",className:`mc-railbtn${V==="graph"?" active":""}`,onClick:()=>me("graph"),title:e("graphTab"),children:[(0,r.jsx)("span",{className:"mc-rail-ico",children:"\u{1F52E}"}),Te&&(0,r.jsx)("span",{className:"mc-rail-label",children:e("graphTab")})]}),(0,r.jsxs)("button",{type:"button",className:`mc-railbtn${V==="news"?" active":""}`,onClick:()=>me("news"),title:e("newsTab"),children:[(0,r.jsx)("span",{className:"mc-rail-ico",children:"\u{1F4F0}"}),Te&&(0,r.jsx)("span",{className:"mc-rail-label",children:e("newsTab")}),q>0&&(0,r.jsx)("span",{className:"mc-dot",children:q>99?"99+":q})]}),(0,r.jsxs)("button",{type:"button",className:`mc-railbtn${V==="stats"?" active":""}`,onClick:()=>me("stats"),title:e("tabUsage"),children:[(0,r.jsx)("span",{className:"mc-rail-ico",children:"\u{1F4C8}"}),Te&&(0,r.jsx)("span",{className:"mc-rail-label",children:e("tabUsage")})]}),(0,r.jsxs)("button",{type:"button",className:`mc-railbtn${V==="audit"?" active":""}`,onClick:()=>me("audit"),title:e("tabAudit"),children:[(0,r.jsx)("span",{className:"mc-rail-ico",children:"\u{1F50D}"}),Te&&(0,r.jsx)("span",{className:"mc-rail-label",children:e("tabAudit")}),d>0&&(0,r.jsx)("span",{className:"mc-dot",children:d>99?"99+":d})]}),Te&&(0,r.jsx)("div",{className:"mc-rail-sec",children:e("navSystem")}),(0,r.jsxs)("button",{type:"button",className:`mc-railbtn${V==="optimize"?" active":""}`,onClick:()=>me("optimize"),title:e("tabRecycle"),children:[(0,r.jsx)("span",{className:"mc-rail-ico",children:"\u267B\uFE0F"}),Te&&(0,r.jsx)("span",{className:"mc-rail-label",children:e("tabRecycle")}),Et>0&&(0,r.jsx)("span",{className:"mc-dot",style:{background:"#6b7280"},children:Et>99?"99+":Et})]}),(0,r.jsxs)("button",{type:"button",className:`mc-railbtn${V==="terminal"?" active":""}`,onClick:()=>me("terminal"),title:e("terminalTab"),children:[(0,r.jsx)("span",{className:"mc-rail-ico",children:"\u25B8_"}),Te&&(0,r.jsx)("span",{className:"mc-rail-label",children:e("terminalTab")})]}),(0,r.jsxs)("button",{type:"button",className:"mc-railbtn",onClick:In,title:e("webTab"),"aria-label":e("webTab"),children:[(0,r.jsx)("span",{className:"mc-rail-ico",children:"\u{1F310}"}),Te&&(0,r.jsx)("span",{className:"mc-rail-label",children:e("webTab")})]}),(0,r.jsxs)("button",{type:"button",className:`mc-railbtn${V==="config"?" active":""}`,onClick:()=>me("config"),title:e("tabConfig"),children:[(0,r.jsx)("span",{className:"mc-rail-ico",children:"\u2699\uFE0F"}),Te&&(0,r.jsx)("span",{className:"mc-rail-label",children:e("tabConfig")})]}),Te&&(0,r.jsx)("div",{className:"mc-rail-sec",children:e("navSupport")}),(0,r.jsxs)("button",{type:"button",className:"mc-railbtn",onClick:()=>tn("group"),title:e("supportGroup"),children:[(0,r.jsx)("span",{className:"mc-rail-ico",children:"\u{1F4AC}"}),Te&&(0,r.jsx)("span",{className:"mc-rail-label",children:e("supportGroup")})]}),(0,r.jsxs)("button",{type:"button",className:"mc-railbtn",onClick:()=>tn("sponsor"),title:e("supportSponsor"),children:[(0,r.jsx)("span",{className:"mc-rail-ico",children:"\u2615"}),Te&&(0,r.jsx)("span",{className:"mc-rail-label",children:e("supportSponsor")})]}),(0,r.jsxs)("button",{type:"button",className:"mc-railbtn",onClick:()=>tn("legacy"),title:e("supportLegacy"),children:[(0,r.jsx)("span",{className:"mc-rail-ico",children:"\u{1F9E9}"}),Te&&(0,r.jsx)("span",{className:"mc-rail-label",children:e("supportLegacy")})]}),(0,r.jsxs)("button",{type:"button",className:"mc-railbtn",onClick:()=>pe(!0),title:e("fbNav"),children:[(0,r.jsx)("span",{className:"mc-rail-ico",children:"\u{1F41E}"}),Te&&(0,r.jsx)("span",{className:"mc-rail-label",children:e("fbNav")})]}),Te&&(0,r.jsxs)("button",{type:"button",className:"mc-quote",onClick:()=>se(T=>(T+1)%xl.length),title:`${xl[x]}
1152
1243
  ${Bf}
1153
- ${e("quoteHint")}`,children:[(0,r.jsxs)("span",{className:"mc-quote-tag",children:[e("navQuotes")," \xB7 ",w+1,"/",xl.length]}),(0,r.jsx)("span",{className:"mc-quote-text",children:xl[w]},w),(0,r.jsx)("span",{className:"mc-quote-src",children:Bf})]})]}),(0,r.jsxs)("div",{className:"mc-main",ref:Or,children:[o&&o.db&&o.db.writable===!1?(0,r.jsxs)("div",{style:{margin:"8px 10px 0",padding:"8px 12px",borderRadius:8,fontSize:12,lineHeight:1.7,background:"rgba(239,68,68,0.10)",border:"1px solid rgba(239,68,68,0.35)",color:"#b91c1c"},children:["\u26A0\uFE0F ",e("dbReadonlyTitle"),"\uFF1A",o.db.error||"\u2014"," \u2014\u2014 ",e("dbReadonlyBody"),(0,r.jsx)("div",{style:{opacity:.85,marginTop:2},children:e("dbReadonlyFix")})]}):null,G==="cards"&&(0,r.jsxs)("div",{className:"mc-v5-pagehead",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("div",{className:"mc-v5-eyebrow",children:"MEMORY LIBRARY"}),(0,r.jsx)("h1",{children:e("memoryTitle")}),(0,r.jsx)("p",{children:e("memoryHint")}),(0,r.jsxs)("div",{className:"mc-v5-pagehead-stats",children:[(0,r.jsxs)("span",{children:[(0,r.jsx)("b",{children:o?.total??"\u2014"})," ",e("cardsUnit")]}),(0,r.jsxs)("span",{children:[e("recent")," +",o?.recent??0]}),(0,r.jsxs)("span",{children:[e("pending")," ",o?.quarantine?.pending??o?.status?.pending??0]}),(0,r.jsxs)("span",{children:[e("rejected")," ",o?.quarantine?.rejected??o?.status?.rejected??0]})]})]}),(0,r.jsxs)("span",{className:"mc-v5-pagecount",children:[c.length," / ",cn]})]}),G==="cards"&&(0,r.jsx)(l0,{t:e,notify:(N,q)=>ae({ok:N,msg:q}),onPromoted:()=>{Xe(),We()}}),G==="cards"&&(0,r.jsxs)("div",{className:"mc-toolbar",children:[(0,r.jsx)("input",{type:"text",placeholder:e("searchPlaceholder"),value:m,onChange:N=>ja(N.target.value)}),ye&&(0,r.jsxs)("button",{type:"button",className:"mc-chip active",title:e("clearFilter"),onClick:()=>_n(""),children:["\u{1F3F7} ",ye," ",(0,r.jsx)("span",{style:{opacity:.7},children:"\u2715"})]}),(0,r.jsx)("input",{ref:pe,type:"file",accept:".json,application/json",style:{display:"none"},onChange:dr}),(0,r.jsx)("button",{type:"button",className:"mc-btn",onClick:()=>pe.current&&pe.current.click(),children:e("importVault")}),(0,r.jsxs)("button",{type:"button",className:"mc-btn me-on",onClick:()=>C({kind:"knowledge",title:"",body:"",tags:"",template:""}),children:["+ ",e("newCard")]}),(0,r.jsx)("button",{type:"button",className:"mc-btn",disabled:te,onClick:aa,title:e("skillCardsHint"),children:te?"\u23F3 "+e("syncingSkills"):"\u{1F9E9} "+e("syncSkills")}),(0,r.jsx)("button",{type:"button",className:"mc-btn",disabled:Ie,onClick:()=>jr("md"),children:e(Ie?"exporting":"exportVault")}),(0,r.jsx)("button",{type:"button",className:"mc-btn",disabled:Ie,onClick:()=>jr("json"),children:e(Ie?"exporting":"exportJson")}),(0,r.jsx)("button",{type:"button",className:"mc-btn",onClick:()=>Xe(),children:e("refresh")})]}),G==="cards"&&(0,r.jsxs)("div",{className:"mc-chips",children:[Cl.map(N=>(0,r.jsxs)("button",{type:"button",className:`mc-chip${_===N?" active":""}`,onClick:()=>In(N),children:[e(N==="all"?"all":Nt[N]),(0,r.jsx)("span",{className:"mc-chip-n",children:N==="all"?o?.total??0:o?.byKind?.[N]??0})]},N)),(0,r.jsxs)("button",{type:"button",className:`mc-chip${$?" active":""}`,onClick:()=>le(N=>!N),children:["\u{1F4CC} ",e("pinnedOnly"),(0,r.jsx)("span",{className:"mc-chip-n",children:I.size})]}),(0,r.jsxs)("select",{value:R,onChange:N=>F(N.target.value),style:{fontSize:12,padding:"4px 8px",borderRadius:8,background:"var(--dsw-alias-bg-layer-1, #fff)",color:"inherit",border:"1px solid var(--dsw-alias-border-l2, #d1d5db)"},children:[(0,r.jsxs)("option",{value:"all",children:["\u{1F916} ",e("allAgents")]}),Yf(g).map(N=>(0,r.jsx)("option",{value:N,children:N},N))]}),(0,r.jsxs)("select",{value:P,onChange:N=>D(N.target.value),style:{fontSize:12,padding:"4px 8px",borderRadius:8,background:"var(--dsw-alias-bg-layer-1, #fff)",color:"inherit",border:"1px solid var(--dsw-alias-border-l2, #d1d5db)"},children:[(0,r.jsx)("option",{value:"all",children:e("allStatus")}),(0,r.jsx)("option",{value:"approved",children:e("statusApproved")}),(0,r.jsx)("option",{value:"pending",children:e("statusPending")}),(0,r.jsx)("option",{value:"rejected",children:e("statusRejected")})]}),(0,r.jsx)("span",{className:"spacer",style:{flex:1}}),[{key:"recent",label:e("sortRecent")},{key:"title",label:e("sortTitle")},{key:"hot",label:e("sortHot")}].map(N=>(0,r.jsx)("button",{type:"button",className:`mc-chip${ne===N.key?" active":""}`,onClick:()=>qe(N.key),children:N.label},N.key))]}),L&&(0,r.jsxs)("div",{className:"mc-empty",children:[e("error"),"\uFF1A",L]}),(0,r.jsx)("div",{style:{display:G==="cards"?"contents":"none"},children:f?(0,r.jsx)(tg,{text:e("loading")}):L?(0,r.jsxs)("div",{className:"mc-empty",children:[e("error"),"\uFF1A",L," ",(0,r.jsx)("button",{type:"button",className:"mc-btn",onClick:()=>Xe(),children:e("retry")})]}):c.length===0?(0,r.jsx)("div",{className:"mc-empty",children:e("empty")}):(0,r.jsxs)(r.Fragment,{children:[De&&(0,r.jsxs)("div",{className:"mc-v5-feature",onClick:()=>kn(be),children:[(0,r.jsxs)("div",{className:"mc-v5-feature-copy",children:[(0,r.jsx)("div",{className:"mc-v5-eyebrow",children:e("todayReview")}),(0,r.jsx)("h3",{children:be.title}),(0,r.jsx)("p",{children:xd(be)}),(0,r.jsxs)("div",{className:"mc-v5-feature-meta",children:[(0,r.jsxs)("span",{children:[Ir[be.kind]||"\u{1F4CE}"," ",e(Nt[be.kind]||"kindKnowledge")]}),(0,r.jsxs)("span",{children:["\u{1F552} ",cr(be.updated)]}),(be.tags||[]).slice(0,3).map(N=>(0,r.jsxs)("span",{children:["#",N]},N))]})]}),(0,r.jsxs)("div",{className:"mc-v5-feature-side",children:[(0,r.jsx)(eg,{n:J[be.path]||0,color:Kt[be.kind]||Kt.other,size:58}),(0,r.jsx)("b",{children:J[be.path]||0}),(0,r.jsx)("span",{children:e("links")}),(0,r.jsx)("button",{type:"button",className:"mc-v5-feature-shuffle",onClick:N=>{N.stopPropagation(),Le()},children:e("reshuffle")}),(0,r.jsx)("span",{className:"mc-v5-feature-open",children:e("openArrow")})]})]}),(0,r.jsx)("div",{className:"mc-grid",children:yt.filter(N=>!De||N.path!==be.path).map(N=>(0,r.jsx)(E0,{card:N,t:e,query:m.trim(),onOpen:kn,onDelete:Qn,onTagClick:_n,pinned:I.has(N.path),onPin:he,onCore:On,links:J[N.path]||0},N.path))}),c.length<cn&&(0,r.jsx)("div",{ref:_r,style:{height:1}}),Dt&&(0,r.jsxs)("div",{className:"mc-empty",style:{padding:"10px 0"},children:[e("loading"),"\uFF08",c.length," / ",cn,"\uFF09"]})]})}),(0,r.jsx)("div",{style:{display:G==="graph"?"flex":"none",flex:1,minHeight:0},children:Pe.has("graph")&&(0,r.jsx)(F0,{t:e,onOpen:kn,all:ve,onAllChange:me,onMutate:We,active:G==="graph",visible:G==="graph"})}),(0,r.jsx)("div",{style:{display:G==="news"?"contents":"none"},children:Pe.has("news")&&(0,r.jsx)(C0,{t:e,version:z,onUnreadChange:V})}),(0,r.jsx)("div",{style:{display:G==="terminal"?"contents":"none"},children:Pe.has("terminal")&&(0,r.jsx)(i0,{t:e})}),(0,r.jsx)("div",{style:{display:G==="config"?"contents":"none"},children:Pe.has("config")&&(0,r.jsx)(d0,{t:e,onReload:()=>Xe(),version:z,embedded:typeof location<"u"&&new URLSearchParams(location.search).get("embed")==="1"})}),(0,r.jsx)("div",{style:{display:G==="stats"?"contents":"none"},children:Pe.has("stats")&&(0,r.jsx)(z0,{t:e,tab:"stats",onReload:()=>Xe(),version:z})}),(0,r.jsx)("div",{style:{display:G==="audit"?"contents":"none"},children:Pe.has("audit")&&(0,r.jsx)(p0,{t:e,onReload:()=>{Xe(),We()},version:z})}),(0,r.jsx)("div",{style:{display:G==="optimize"?"contents":"none"},children:Pe.has("optimize")&&(0,r.jsx)(T0,{t:e,onReload:()=>{Xe(),We()},version:z})}),j&&(0,r.jsx)(L0,{t:e,onClose:()=>ue(!1)}),de&&(0,r.jsx)(P0,{t:e,tab:wt,onTab:Fe,onClose:()=>Ce(!1),onFeedback:()=>{Ce(!1),ue(!0)},onReplay:()=>{Ce(!1),Lt(!0)}}),ln&&(0,r.jsx)(D0,{t:e,onDone:wn}),ge&&(0,r.jsx)(A0,{t:e,card:ge,query:m.trim(),onNavigate:N=>{let q=yt.findIndex(Te=>Te.path===ge.path),oe=yt[q+N];oe&&kn(oe)},onTagClick:_n,onClose:()=>xe(null),onDelete:N=>{xe(null),Qn(N)},onFeedback:N=>{let q=ge.path;fetch(`${Z}/feedback`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({query:m.trim(),path:q,useful:N})}).then(()=>ae({ok:!0,msg:e(N?"fbUseful":"fbIrr")})).catch(()=>{}),Q.current&&clearTimeout(Q.current),Q.current=setTimeout(()=>ae(null),2e3)},allCards:yt,onOpenRelated:N=>kn(N),onKindChange:On,onSaved:async({path:N,status:q,title:oe})=>{try{let Te=q&&q!=="approved"?`&status=${encodeURIComponent(q)}`:"",Ee=await fetch(`${Z}/card?path=${encodeURIComponent(N)}${Te}`).then(ke=>ke.json());Ee&&Ee.ok&&xe(ke=>ke&&ke.path===N?{...ke,title:oe||Ee.title||ke.title,text:Ee.text}:ke)}catch{}await Xe(),We(),ae({ok:!0,msg:e("editSaved")}),Q.current&&clearTimeout(Q.current),Q.current=setTimeout(()=>ae(null),2e3)}}),(0,r.jsx)(R0,{t:e,newCard:Oe,setNewCard:C,onCreated:()=>{Xe(),We(),ae({ok:!0,msg:e("created")}),Q.current&&clearTimeout(Q.current),Q.current=setTimeout(()=>ae(null),2e3)}})]})]})]})}var Nl=({toast:e})=>e?(0,r.jsxs)("div",{className:"mc-card",style:{marginBottom:10,padding:"8px 12px",fontSize:12,borderLeft:"4px solid "+(e.ok?"#10b981":"#ef4444"),background:e.ok?"rgba(16,185,129,0.08)":"rgba(239,68,68,0.08)"},children:[e.ok?"\u2705":"\u26A0"," ",e.msg]}):null;var yd=(0,u.createContext)({form:null,set:()=>{}}),c0=new Set(["autoRestartOnDrift","coreMemoryEnabled","skillCardsAutoSync","workingMemoryEnabled"]);function pt({k:e,label:t,hint:n,type:a="text",step:o,min:i,max:l,wide:s}){let{form:c,set:p}=(0,u.useContext)(yd);return(0,r.jsxs)("label",{className:"mc-field"+(s?" mc-field-wide":""),children:[(0,r.jsx)("span",{className:"mc-field-label",children:t||e}),(0,r.jsx)("input",{type:a,step:o,min:i,max:l,value:c?c[e]??"":"",onChange:f=>{let b=f.target.value;p(e,a==="number"?b===""?"":Number(b):b)}}),n?(0,r.jsx)("span",{className:"mc-field-hint",children:n}):null]})}function Bt({k:e,label:t}){let{form:n,set:a}=(0,u.useContext)(yd),o=n?n[e]:void 0,i=o===void 0?c0.has(e):!!o;return(0,r.jsxs)("label",{className:"mc-switch",children:[(0,r.jsx)("input",{type:"checkbox",checked:i,onChange:l=>a(e,l.target.checked)}),(0,r.jsx)("span",{children:t||e})]})}function Dn({icon:e,title:t,sub:n,id:a,children:o,hidden:i}){return(0,r.jsxs)("section",{className:"mc-card mc-cfg-sec",id:a,"data-cfg-sec":a||"",hidden:i||void 0,children:[(0,r.jsxs)("div",{className:"mc-cfg-sec-head",children:[(0,r.jsx)("div",{className:"mc-cfg-sec-ico",children:e}),(0,r.jsxs)("div",{style:{minWidth:0},children:[(0,r.jsx)("div",{className:"mc-cfg-sec-title",children:t}),n?(0,r.jsx)("div",{className:"mc-cfg-sec-sub",children:n}):null]})]}),(0,r.jsx)("div",{className:"mc-cfg-sec-body",children:o})]})}function d0({t:e,onReload:t,version:n,compact:a,embedded:o}){let i=o===!0,[l,s]=(0,u.useState)("general"),c={"sec-preset":"general","sec-basic":"general","sec-skills":"general","sec-digest":"general","sec-ui":"general","sec-memory":"memory","sec-core":"memory","sec-vault":"memory","sec-cost":"advanced","sec-audit":"advanced","sec-service":"service"},p=[["general",e("paneGeneral"),e("paneGeneralSub"),"\u2699\uFE0F"],["memory",e("paneMemory"),e("paneMemorySub"),"\u{1F9E0}"],["advanced",e("paneAdvanced"),e("paneAdvancedSub"),"\u2728"],["service",e("paneService"),e("paneServiceSub"),"\u{1F6E0}"]],f=p.find(g=>g[0]===l)||p[0],b=g=>{s(g),ve.current&&(ve.current.scrollTop=0);let J=typeof document<"u"?document.querySelector('.mc-pagebtn[data-page="'+g+'"]'):null;J&&J.scrollIntoView({inline:"center",block:"nearest"})},h=g=>i?{hidden:c[g]!==l}:{},[S,L]=(0,u.useState)(null),[M,_]=(0,u.useState)(0),[x,m]=(0,u.useState)(null),[y,R]=(0,u.useState)(null),[F,P]=(0,u.useState)(!1),[D,I]=(0,u.useState)(!1),W=(0,u.useRef)(!1),$=(0,u.useRef)(null),le=(0,u.useRef)({}),[he,ye]=(0,u.useState)(null),[Re,G]=(0,u.useState)(null),[He,Pe]=(0,u.useState)(""),[Ne,ie]=(0,u.useState)(""),[ne,qe]=(0,u.useState)(""),[Ye,ae]=(0,u.useState)(null),[H,U]=(0,u.useState)(null),[v,Q]=(0,u.useState)(null),pe=(0,u.useCallback)(async(g,J=!1)=>{J||ie("version");try{let re=await fetch(Z+"/version-check"+(g?"?force=1":"")).then(je=>je.json());re&&re.ok?(Q(re),g&&Fe(re.updateAvailable?e("vcLatest")+" v"+re.latest:e("vcUpToDate"))):g&&Fe(e("vcCheckFail"),!1)}catch{g&&Fe(e("vcCheckFail"),!1)}finally{J||ie("")}},[e]);(0,u.useEffect)(()=>{pe(!1);let g=setInterval(()=>{pe(!1,!0)},6e4),J=()=>{typeof document<"u"&&!document.hidden&&pe(!1,!0)};return document.addEventListener("visibilitychange",J),()=>{clearInterval(g),document.removeEventListener("visibilitychange",J)}},[n,pe]);let[Ie,se]=(0,u.useState)(""),[te,k]=(0,u.useState)(null),[K,V]=(0,u.useState)(""),[ge,xe]=(0,u.useState)(!1),ve=(0,u.useRef)(null),me=(0,u.useRef)(0),[j,ue]=(0,u.useState)(""),de=g=>{me.current=g.currentTarget.scrollTop;let J=g.currentTarget,re="";for(let je of J.querySelectorAll("[data-cfg-sec]"))je.offsetTop-J.offsetTop<=J.scrollTop+90&&(re=je.getAttribute("data-cfg-sec"));re&&ue(je=>je===re?je:re)},Ce=g=>{let J=ve.current&&ve.current.querySelector("#"+g);J&&J.scrollIntoView({behavior:"smooth",block:"start"})};(0,u.useLayoutEffect)(()=>{let g=ve.current;g&&Math.abs(g.scrollTop-me.current)>1&&(g.scrollTop=me.current)});let wt=(0,u.useRef)(null),Fe=(g,J=!0)=>{wt.current&&clearTimeout(wt.current),k({msg:g,ok:J}),wt.current=setTimeout(()=>k(null),1900)},ln=async()=>{if(!Ne){ie("restart");try{let g=await fetch(Z+"/restart-self",{method:"POST"});if(g.status===404||g.status===405){Fe(z("vcRestartNoRoute",{cmd:v&&v.restartCommand||"dsh-memory restart --port 7999"}),!1);return}let J=await g.json().catch(()=>null);if(!J){Fe(e("vcRestartFail")+"\uFF08HTTP "+g.status+"\uFF09",!1);return}if(!J.ok){Fe(J.error||e("vcRestartFail"),!1);return}if(J.alreadyCurrent){Fe(J.note||e("vcRestartCurrent"));return}Fe(J.note||e("vcRestartSent")),J.alreadyRunning||setTimeout(()=>{pe(!0)},6e3)}catch(g){Fe(e("vcRestartFail")+"\uFF1A"+String(g&&g.message||g),!1)}finally{ie("")}}},Lt=v&&v.resident?String(v.resident.served||""):"",wn=!!(v&&v.onDisk&&Lt&&Lt!==v.onDisk),Pt=!!(v&&v.resident&&v.resident.managed===!1&&v.resident.managedKnown===!1),Ke=v&&v.resident&&v.resident.replaceBlocked&&v.resident.replaceBlocked.fresh||null,An=!!(v&&v.resident&&v.resident.managedBy==="host"),Me=!!(v&&v.resident&&v.resident.managed===!1&&!Pt&&!An),T=!!(v&&v.resident&&!Lt),w=wn||T||Me||Pt,fe=gf({hasVersion:!!v,hostVersion:v?v.loaded:"",onDisk:v?v.onDisk:"",residentServed:v&&v.resident?v.resident.served:"",residentPresent:!!(v&&v.resident),residentManaged:v&&v.resident?v.resident.managed:null,residentManagedKnown:v&&v.resident?v.resident.managedKnown:null,residentManagedBy:v&&v.resident?v.resident.managedBy:"",replaceBlocked:v&&v.resident?v.resident.replaceBlocked:null}),Oe={hostProcessStale:()=>z("vcHostProcessStale",{disk:v.onDisk,loaded:v.loaded}),residentDown:()=>z("vcResidentDown",{port:v.resident&&v.resident.port||"",cmd:v.restartCommand||"dsh-memory restart --port 7999"}),residentReplaceBlocked:()=>z("vcResidentReplaceBlocked",{served:Lt,err:Ke&&Ke.error||"",path:Ke&&Ke.lockPath||"",cmd:v.restartCommand||"dsh-memory restart --port "+(v.resident&&v.resident.port||7999)}),residentLockUnknown:()=>z("vcResidentLockUnknown",{served:Lt,path:v.resident&&v.resident.lock&&v.resident.lock.path||"",err:v.resident&&v.resident.lock&&v.resident.lock.error||""}),residentUnmanaged:()=>z("vcResidentUnmanaged",{served:Lt,cmd:v.restartCommand||"dsh-memory restart --port 7999"})},C={restartStart:()=>z("vcRestartStart",{disk:v&&v.onDisk||""}),restartRepair:()=>z("vcRestartRepair",{disk:v&&v.onDisk||""}),restartFixes:()=>z("vcRestartFixes",{served:Lt||"",disk:v&&v.onDisk||""}),restartHostOnly:()=>z("vcRestartHostOnly",{loaded:v&&v.loaded||"",disk:v&&v.onDisk||""}),restartAnyway:()=>z("vcRestartAnyway",{ver:v&&v.onDisk||""})},z=(g,J)=>Object.keys(J).reduce((re,je)=>re.split("{"+je+"}").join(J[je]),e(g)),_e=(0,u.useCallback)(async()=>{try{let[g,J,re,je]=await Promise.all([fetch(`${Z}/config`).then(be=>be.json()).catch(()=>null),fetch(`${Z}/setup-status`).then(be=>be.json()).catch(()=>null),fetch(`${Z}/budget`).then(be=>be.json()).catch(()=>null),fetch(`${Z}/llm-routes`).then(be=>be.json()).catch(()=>null)]);if(je&&je.ok&&U(je),g&&g.ok){L(g),_(g.revision??0),m(g.schema??null);let be=If(g.config??{},le.current);le.current=be.overlay,R({...be.values}),xe(!1),ye(g.dsh??null),P(g.writable===!1),I(g.viaPending===!0),Pe(""),W.current=!1}else re&&re.ok?(R({...re}),xe(!1),P(!0),Pe(e("configNeedsDsh"))):Pe(e("adminLoadFail"));J&&J.ok&&G(J),qe("")}catch{Pe(e("adminLoadFail"))}},[e]);(0,u.useEffect)(()=>{_e()},[n,_e]);let We=(g,J)=>{W.current=!0,xe(!0),V(""),R(re=>({...re??{},[g]:J}))};(0,u.useEffect)(()=>{$.current=_e},[_e]),(0,u.useEffect)(()=>{if(typeof EventSource>"u")return;let g=null;try{g=new EventSource(Z+"/events")}catch{return}let J=()=>{!W.current&&typeof $.current=="function"&&$.current()};try{g.addEventListener("config",J)}catch{}return()=>{try{g.close()}catch{}}},[]);let d=new Set(["dedupThreshold","captureMinChars","captureCooldownMs","maxCardsPerDay","captureMaxTokens","recallMinScore","recallLimit","recallSummaryLen","recycleRetentionDays","webPort","webCheckIntervalMs","webMaxRestart","sessionBudgetChars","coreMemoryLimit","coreMemoryMaxChars"]),qt=g=>({init:e("modeInit"),interval:e("modeInterval"),manual:e("modeManual")})[g]||g,sn=async()=>{if(!y)return;if(F){Fe(e("editInSetting"),!1);return}let g={dedupThreshold:[0,1],captureMinChars:[0,1e6],captureCooldownMs:[0,1e9],maxCardsPerDay:[0,1e6],captureMaxTokens:[100,4e3],recallMinScore:[0,50],recallLimit:[1,20],recallSummaryLen:[40,400],recycleRetentionDays:[1,3650],webPort:[1,65535],webCheckIntervalMs:[1e3,6e5],webMaxRestart:[1,1e3],sessionBudgetChars:[0,1e9],coreMemoryLimit:[1,20],coreMemoryMaxChars:[200,1e4]},J=[];for(let[re,[je,be]]of Object.entries(g)){if(!(re in y))continue;let Le=y[re],De=typeof Le=="number"?Le:Number(Le);(Le===""||Le===null||Le===void 0||!Number.isFinite(De)||De<je||De>be)&&J.push(e("invalidField",{field:re,min:je,max:be,value:String(Le===""?"\u7A7A":Le)}))}if(J.length){let re=e("saveInvalid")+"\uFF1A"+J.join("\uFF1B");Pe(re),Fe(re,!1);return}ie("save");try{let re={...y};for(let De of Object.keys(y))De in re&&typeof re[De]=="string"&&re[De].trim()!==""&&d.has(De)&&(re[De]=Number(re[De]));Array.isArray(re.vaultProfiles)&&(re.vaultProfiles=re.vaultProfiles.filter(De=>De&&(String(De.name||"").trim()||String(De.path||"").trim())));let je=await fetch(`${Z}/config`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({patch:re,expectedRevision:M})}),be=await je.text(),Le=null;try{Le=be?JSON.parse(be):null}catch{Le=null}if(Le||(Le={error:"HTTP "+je.status+(be?"\uFF1A"+be.slice(0,200):"\uFF08\u5BBF\u4E3B\u672A\u8FD4\u56DE\u539F\u56E0\uFF0C\u8BF7\u68C0\u67E5\u662F\u5426\u6709\u6570\u5B57\u5B57\u6BB5\u4E3A\u7A7A\u6216\u8D85\u51FA\u8303\u56F4\uFF09")}),Le&&Le.ok){let De=typeof Le.pendingOutcome=="string"?Le.pendingOutcome:"",Ht,N=!0;if(De==="applied")Ht=e("savedApplied")+(Array.isArray(Le.applied)&&Le.applied.length?" \xB7 "+Le.applied.join("\u3001"):"");else if(De==="queued")N=!1,Ht=e("saveQueued");else if(De==="failed")N=!1,Ht=e("saveFail")+" \xB7 "+(Le.hostGuard?e("saveHostGuard"):e("saveFailHint"));else if(De==="applied-direct")Ht=e("savedOk")+" \xB7 "+e("savedDirect");else{let q=Array.isArray(Le.pending)&&Le.pending.length?" \xB7 "+e("savePending"):Le.note?" \xB7 "+e("restartHint"):"";Ht=(Le.retried?"\u267B ":"")+e("savedOk")+q}le.current={...le.current,...re},N?(V(""),xe(!1),qe(Ht)):Pe(Ht),Fe(Ht,N),await _e()}else{let De=je.status===409?e("conflictRefresh"):Le?.error||e("saveFail");Pe(De),Fe(De,!1)}}catch{Pe(e("saveFail")),Fe(e("saveFail"),!1)}finally{ie("")}},cn=()=>{le.current={},R({...S?.config??{}}),V(""),xe(!1),qe("")},Fn={env:"vaultSrcEnv",profile:"vaultSrcProfile",workspace:"vaultSrcWorkspace",vaultDir:"vaultSrcVaultDir",default:"vaultSrcDefault"},Dt=g=>Array.isArray(g?.vaultProfiles)?g.vaultProfiles:[],Yn=(g,J,re)=>{W.current=!0,xe(!0),R(je=>{let be=Dt(je).map(De=>({...De||{}})),Le={...be[g]||{}};return J==="match"?String(re).trim()?Le.match={...Le.match||{},workspace:re}:delete Le.match:Le[J]=re,be[g]=Le,{...je??{},vaultProfiles:be}})},_r=()=>{W.current=!0,xe(!0),R(g=>({...g??{},vaultProfiles:[...Dt(g),{name:"",path:""}]}))},Or=g=>{W.current=!0,xe(!0),R(J=>({...J??{},vaultProfiles:Dt(J).filter((re,je)=>je!==g)}))},Tt={fontSize:11,padding:"2px 8px",background:"var(--dsw-alias-bg-layer-2, #f3f4f6)",borderRadius:6},Xe={padding:"6px 8px",borderRadius:8,border:"1px solid var(--dsw-alias-border-l2, #d1d5db)",background:"transparent",color:"inherit",font:"inherit",fontSize:12,minWidth:0},Qn={A:{label:e("planA"),autoWebMode:"init",watchdogAutoSpawn:!1,distillEnabled:!0,dedupByLLM:!0,captureMaxTokens:4e3,recallMinScore:2,recallLimit:5,recallSummaryLen:130,recallIncludeBody:!1,captureCooldownMs:3e5},B:{label:e("planB"),autoWebMode:"init",watchdogAutoSpawn:!1,distillEnabled:!1,dedupByLLM:!1,captureMaxTokens:500,recallMinScore:3,recallLimit:3,recallSummaryLen:80,recallIncludeBody:!1,captureMinChars:300,maxCardsPerDay:40,captureCooldownMs:3e5},C:{label:e("planC"),autoWebMode:"interval",watchdogAutoSpawn:!0,distillEnabled:!0,dedupByLLM:!0,captureMaxTokens:1200,recallMinScore:1,recallLimit:8,recallSummaryLen:200,recallIncludeBody:!0,captureCooldownMs:12e4}},ja=g=>{let J=Qn[g];J&&(R(re=>({...re??{},...J})),W.current=!0,xe(!0),V(g),Fe(z("planApplied",{plan:J.label})))},In=async()=>{try{let g=await fetch(Z+"/setup-status").then(J=>J.json());g&&g.ok&&G(g)}catch{}},_n=async(g,J)=>{ie(g+J);try{let je=await(await fetch(`${Z}/mcp/action`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({agent:g,action:J})})).json();je&&je.ok?Fe(z(J==="install"?"mcpInstalled":"mcpUninstalled",{agent:g})):Fe(z("mcpActionFail",{agent:g,error:je?.error||""}),!1);try{let be=await fetch(`${Z}/setup-status`).then(Le=>Le.json());be&&be.ok&&G(be)}catch{}}catch{Fe(e("mergeFail"),!1)}finally{ie("")}},On=Re&&Array.isArray(Re.agents)?Re.agents:[],kn=On.filter(g=>g.installed),jr=[...new Set(kn.flatMap(g=>Array.isArray(g.servers)?g.servers:[]))],dr=On.filter(g=>g.mcpConfigured&&!g.isDsh).length,aa=On.some(g=>Array.isArray(g.servers)),yt=[["sec-preset","\u{1F3AF}",e("presetConfig")],["sec-memory","\u{1F9E0}",e("dshMemoryConfig")],["sec-core","\u2B50",e("coreMemory")],["sec-skills","\u{1F9E9}",e("skillCards")],["sec-digest","\u{1F4EC}",e("newsDigest")],["sec-ui","\u{1F520}",e("uiLayout")],["sec-vault","\u{1F5C2}\uFE0F",e("vaultMulti")],["sec-cost","\u{1F4B0}",e("costControl")],["sec-audit","\u{1F6E1}\uFE0F",e("auditConfig")],["sec-service","\u{1F6E0}",e("serviceConfig")]];return(0,r.jsx)(yd.Provider,{value:{form:y,set:We},children:(0,r.jsxs)("div",{className:"mc-admin"+(i?" mc-embed":""),style:{display:"flex",flexDirection:"column",overflow:"hidden",flex:a?"0 0 auto":1,minHeight:0,maxHeight:a?"52vh":void 0},children:[(0,r.jsx)("style",{children:xn}),te&&(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,position:"fixed",left:"50%",transform:"translateX(-50%)",top:22,zIndex:70,background:"rgba(20,22,26,0.97)",backdropFilter:"blur(12px)",WebkitBackdropFilter:"blur(12px)",color:"#f5f5f5",borderRadius:12,padding:"10px 20px",fontSize:13.5,fontWeight:600,boxShadow:"0 14px 44px rgba(0,0,0,.5)",pointerEvents:"none",animation:"me-pop .22s ease",borderLeft:"4px solid "+(te.ok?"#22c55e":"#ef4444"),maxWidth:"90vw"},children:[(0,r.jsx)("span",{style:{color:te.ok?"#34d399":"#f87171",fontWeight:800,fontSize:15},children:te.ok?"\u2713":"\u2715"}),(0,r.jsx)("span",{style:{wordBreak:"break-all"},children:te.msg})]}),(0,r.jsx)("div",{ref:ve,onScroll:de,style:{flex:1,minHeight:0,overflow:"auto",overscrollBehavior:"contain",scrollbarGutter:"stable",padding:4},children:(0,r.jsx)("div",{className:"mc-cfg-page",children:(0,r.jsxs)("div",{className:"mc-cfg-layout"+(a||i?" compact":""),children:[!a&&!i&&(0,r.jsxs)("aside",{className:"mc-cfg-toc","aria-label":e("tabConfig"),children:[(0,r.jsx)("div",{className:"mc-cfg-toc-title",children:e("tabConfig")}),yt.map(([g,J,re])=>(0,r.jsxs)("button",{type:"button",className:j===g?"on":"",onClick:()=>Ce(g),children:[(0,r.jsx)("span",{className:"mc-cfg-toc-ico",children:J}),(0,r.jsx)("span",{children:re})]},g))]}),(0,r.jsxs)("div",{className:"mc-cfg-main",children:[i&&(0,r.jsx)("div",{className:"mc-pagenav",role:"tablist","aria-label":e("tabConfig"),children:p.map(([g,J,,re])=>(0,r.jsxs)("button",{type:"button",role:"tab","data-page":g,"aria-selected":l===g,className:"mc-pagebtn"+(l===g?" on":""),onClick:()=>b(g),children:[(0,r.jsx)("span",{className:"mc-pagebtn-ico","aria-hidden":"true",children:re}),(0,r.jsx)("span",{children:J})]},g))}),i&&(0,r.jsxs)("div",{className:"mc-panehead",children:[(0,r.jsx)("div",{className:"mc-panehead-ico","aria-hidden":"true",children:f[3]}),(0,r.jsxs)("div",{style:{minWidth:0},children:[(0,r.jsx)("div",{className:"mc-panehead-title",children:f[1]}),(0,r.jsx)("div",{className:"mc-panehead-sub",children:f[2]})]})]}),!a&&!i&&(0,r.jsxs)("div",{className:"mc-v5-pagehead",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("div",{className:"mc-v5-eyebrow",children:"MEMORY CONFIG"}),(0,r.jsx)("h1",{children:e("tabConfig")}),(0,r.jsx)("p",{children:e("configPageSub")})]}),(0,r.jsxs)("span",{className:"mc-v5-audit-trust",children:["\u{1F6E1} ",e("v5Local")]})]}),He&&(0,r.jsxs)("div",{className:"mc-card",style:{borderLeft:"4px solid #ef4444",background:"rgba(239,68,68,0.08)",padding:"12px 14px",marginBottom:10},children:[(0,r.jsxs)("div",{style:{fontSize:13,color:"#b91c1c",fontWeight:600,marginBottom:6},children:["\u26A0 ",He]}),(0,r.jsxs)("button",{type:"button",className:"mc-btn",onClick:_e,children:["\u21BB ",e("retry")]})]}),D&&(0,r.jsxs)("div",{className:"mc-card",style:{borderLeft:"4px solid #3b82f6",background:"rgba(59,130,246,0.08)",padding:"10px 14px",marginBottom:10,fontSize:12,color:"#1d4ed8",lineHeight:1.7},children:["\u2139 ",e("pendingSyncNote")]}),F&&(0,r.jsxs)("div",{className:"mc-card",style:{borderLeft:"4px solid #f59e0b",background:"rgba(245,158,11,0.08)",padding:"10px 14px",marginBottom:10,fontSize:12,color:"#b45309"},children:["\u2139\uFE0F ",e("configNeedsDsh")," \u2014\u2014 ",e("editInSetting")]}),ne&&(0,r.jsxs)("div",{className:"mc-card",style:{borderLeft:"4px solid #10b981",background:"rgba(16,185,129,0.08)",padding:"10px 14px",marginBottom:10,fontSize:12,color:"#059669"},children:["\u2713 ",ne]}),(!i||l==="service")&&S&&(S.version||S.dsh?.vaultDir)&&(0,r.jsxs)("details",{className:"mc-card mc-env mc-env-fold",open:!i,children:[(0,r.jsxs)("summary",{className:"mc-env-top",children:[(0,r.jsxs)("b",{style:{fontSize:12},children:["\u{1F4E6} ",e("pluginInfo")]}),(0,r.jsx)("span",{style:{fontSize:12,opacity:.7},children:e("dshHostLabel")}),S.version&&(0,r.jsxs)("code",{style:Tt,children:[e("vcLoaded")," v",S.version]}),v&&v.resident&&v.resident.served&&v.resident.served!==S.version&&(0,r.jsxs)("code",{style:Tt,children:[e("vcResident")," v",v.resident.served]}),v&&v.resident&&!v.resident.served&&(0,r.jsxs)("code",{style:{...Tt,color:"#b45309",fontWeight:600},children:[e("vcResident")," ",e("vcResidentDownShort")]}),v&&v.resident&&v.resident.served&&v.resident.managed===!1&&(0,r.jsxs)("code",{style:{...Tt,color:"#b45309",fontWeight:600},children:[e("vcResident")," v",v.resident.served," \xB7 ",e(Ke?"vcResidentReplaceBlockedShort":An?"vcResidentHostManagedShort":Pt?"vcResidentLockUnknownShort":"vcResidentUnmanagedShort")]}),_a&&(0,r.jsxs)("code",{style:Tt,children:[e("vcPage")," v",_a]}),v&&v.onDisk&&(0,r.jsxs)("code",{style:Tt,children:[e("vcOnDisk")," v",v.onDisk]}),v&&v.latest&&(0,r.jsxs)("code",{style:Tt,children:[e("vcLatest")," v",v.latest]}),S.dsh?.vaultDir&&(0,r.jsxs)("span",{style:{fontSize:11,opacity:.6},children:["\u{1F4C1} ",S.dsh.vaultDir]}),(0,r.jsx)("div",{style:{flex:1}}),(0,r.jsx)("span",{className:"mc-fold-caret",children:"\u25BE"})]}),(0,r.jsxs)("div",{className:"mc-env-rest",children:[(0,r.jsx)("div",{style:{display:"flex",justifyContent:"flex-end",marginTop:8},children:(0,r.jsx)("button",{type:"button",className:"mc-btn",disabled:Ne==="version",onClick:()=>pe(!0),children:Ne==="version"?e("checking"):"\u{1F504} "+e("vcCheck")})}),v&&fe.warn&&(0,r.jsx)("div",{style:{marginTop:8,fontSize:11.5,color:"#b45309",background:"rgba(245,158,11,0.12)",border:"1px solid rgba(245,158,11,0.35)",borderRadius:8,padding:"6px 10px"},children:(0,r.jsxs)("div",{children:["\u26A0\uFE0F ",Oe[fe.warn]?Oe[fe.warn]():""]})}),fe.showButton&&(0,r.jsxs)("div",{style:{display:"flex",gap:8,alignItems:"center",marginTop:6,flexWrap:"wrap"},children:[(0,r.jsx)("button",{type:"button",className:"mc-btn"+(fe.emphasis?" me-on":""),disabled:!!Ne,onClick:ln,children:Ne==="restart"?"\u23F3 "+e("vcRestarting"):"\u{1F504} "+e("vcRestart")}),v.restartCommand&&(0,r.jsx)("code",{style:{fontSize:11,opacity:.75},children:v.restartCommand}),(0,r.jsx)("span",{style:{fontSize:11,opacity:.65},children:C[fe.hint]?C[fe.hint]():""})]}),_a&&v&&v.onDisk&&_a!==v.onDisk&&(0,r.jsx)("div",{style:{marginTop:8,fontSize:11.5,color:"#b45309",background:"rgba(245,158,11,0.12)",border:"1px solid rgba(245,158,11,0.35)",borderRadius:8,padding:"6px 10px",lineHeight:1.7},children:e("vcPageStale",{page:_a,disk:v.onDisk})}),v&&v.updateAvailable&&(0,r.jsxs)("div",{style:{marginTop:8,fontSize:11.5,opacity:.88},children:["\u2B06 ",e("vcOutdated")," \u2192 ",(0,r.jsx)("code",{children:v.updateCommand})]}),v&&v.checkError&&(0,r.jsxs)("div",{style:{marginTop:8,fontSize:11.5,color:"#b91c1c"},children:[e("vcCheckFail"),"\uFF1A",v.checkError]})]})]}),(!i||l==="service")&&Re&&Re.agents&&(0,r.jsxs)("details",{className:"mc-card mc-cfg-sec mc-fold",style:{marginBottom:10},children:[(0,r.jsxs)("summary",{className:"mc-cfg-sec-head",children:[(0,r.jsx)("div",{className:"mc-cfg-sec-ico",children:"\u{1F50C}"}),(0,r.jsxs)("div",{style:{minWidth:0},children:[(0,r.jsx)("div",{className:"mc-cfg-sec-title",children:e("mcpSetupStatus")}),(0,r.jsxs)("div",{className:"mc-cfg-sec-sub",children:[aa?z("mcpSummary",{agents:kn.length,servers:jr.length,mounted:dr})+" \xB7 ":"",e("mcpAutoHint")]})]}),(0,r.jsx)("span",{className:"mc-cfg-spacer"}),(0,r.jsx)("span",{className:"mc-fold-caret",children:"\u25BE"})]}),(0,r.jsxs)("div",{className:"mc-fold-body",children:[(0,r.jsxs)("div",{className:"mc-cfg-tools",children:[(0,r.jsx)("button",{type:"button",className:"mc-btn",style:{padding:"2px 8px",flex:"none"},onClick:In,children:e("mcpRefresh")}),Ie&&(0,r.jsx)("code",{style:{padding:"2px 6px",background:"var(--dsw-alias-bg-layer-2, #f3f4f6)",borderRadius:4,fontSize:11},children:Ie})]}),On.map(g=>{let J=Array.isArray(g.servers),re=J?g.servers:[],je=g.isDsh?e("dshHostLabel"):g.label||g.name;return(0,r.jsxs)("div",{className:"mc-mcp-row",style:{opacity:g.installed?1:.55},children:[(0,r.jsxs)("div",{className:"mc-mcp-main",children:[(0,r.jsxs)("div",{className:"mc-mcp-title",children:[(0,r.jsx)("b",{children:je}),g.isDsh&&g.version&&(0,r.jsxs)("span",{className:"mc-mcp-badge",children:["v",g.version]}),!g.installed&&(0,r.jsx)("span",{className:"mc-mcp-badge",children:e("notInstalled")}),g.installed&&g.mcpConfigured===!1&&(0,r.jsx)("span",{className:"mc-mcp-badge",style:{color:"#f59e0b"},children:e("noMcpEntry")}),g.mcpConfigured===!0&&(0,r.jsxs)("span",{className:"mc-mcp-badge",style:{color:"#10b981"},children:["\u2713 ",e("healthy")]}),g.mcpConfigured===!0&&g.mcpMatchesCurrentNode===!1&&(0,r.jsx)("span",{className:"mc-mcp-badge",children:e("nodePathNote")}),(g.needsRepair||g.mcpNeedsRepair)&&(0,r.jsx)("span",{className:"mc-mcp-badge",style:{color:"#f59e0b"},children:e("mcpNeedsRepair")}),g.isDsh&&(0,r.jsxs)("span",{className:"mc-mcp-badge",children:[e("recallTool"),": ",g.recallTool?e("enabled"):e("disabled")]}),g.detectedOnly&&(0,r.jsx)("span",{className:"mc-mcp-badge",children:e("mcpDetectedOnly")}),g.reason&&(0,r.jsx)("span",{className:"mc-mcp-badge",style:{color:"#f59e0b"},children:g.reason})]}),J?re.length?(0,r.jsx)("div",{className:"mc-mcp-servers",children:re.map(be=>(0,r.jsx)("code",{className:be==="memory"?"on":"",children:be},be))}):g.installed?(0,r.jsx)("div",{className:"mc-mcp-servers",children:(0,r.jsx)("span",{style:{fontSize:10.5,opacity:.45},children:e("mcpNoServers")})}):null:null,g.mcpPath&&(0,r.jsx)("div",{className:"mc-mcp-path",title:g.mcpPath,children:g.mcpPath})]}),(0,r.jsxs)("div",{className:"mc-mcp-actions",children:[g.hook&&(0,r.jsxs)("span",{style:{fontSize:10.5,opacity:.55},children:["hook: ",g.hook]}),!g.isDsh&&!g.detectedOnly&&g.installed&&g.mcpConfigured===!1&&(0,r.jsx)("button",{type:"button",className:"mc-btn",style:{padding:"2px 8px"},disabled:!!Ne,onClick:()=>_n(g.name,"install"),children:e("installMcp")}),!g.isDsh&&!g.detectedOnly&&g.installed&&(g.needsRepair||g.mcpNeedsRepair||g.mcpMatchesCurrentNode===!1)&&(0,r.jsx)("button",{type:"button",className:"mc-btn me-on",style:{padding:"2px 8px"},disabled:!!Ne,onClick:()=>_n(g.name,"install"),children:e("repairMcp")}),!g.isDsh&&!g.detectedOnly&&g.installed&&g.mcpConfigured===!0&&(0,r.jsx)("button",{type:"button",className:"mc-btn",style:{padding:"2px 8px",color:"#f87171"},disabled:!!Ne,onClick:()=>{window.confirm(e("uninstallConfirm"))&&_n(g.name,"uninstall")},children:e("uninstallMcp")})]})]},g.name+(g.mcpPath||""))}),(0,r.jsx)("div",{style:{fontSize:11,opacity:.55},children:e("mcpSetupHint")})]})]}),y?(0,r.jsxs)("div",{className:"mc-cfg",children:[(0,r.jsxs)(Dn,{...h("sec-preset"),id:"sec-preset",icon:"\u{1F3AF}",title:e("presetConfig"),sub:e("presetHint"),children:[(0,r.jsx)("div",{className:"mc-plan-grid",children:["A","B","C"].map(g=>(0,r.jsxs)("button",{type:"button",className:"mc-plan"+(K===g?" on":""),"aria-pressed":K===g,onClick:()=>ja(g),disabled:!!Ne,children:[(0,r.jsxs)("b",{children:[K===g?"\u2705 ":g==="A"?"\u{1F7E2} ":g==="B"?"\u{1F4B0} ":"\u2B50 ",Qn[g].label]}),(0,r.jsx)("span",{children:e("planDesc"+g)})]},g))}),K?(0,r.jsxs)("div",{style:{fontSize:11,color:"#10b981"},children:["\u2705 ",z("planApplied",{plan:Qn[K].label})]}):null]}),(0,r.jsx)(Dn,{...h("sec-basic"),id:"sec-basic",icon:"\u26A1",title:e("basicSwitches"),sub:e("basicSwitchesHint"),children:(0,r.jsxs)("div",{className:"mc-cfg-switches",children:[(0,r.jsx)(Bt,{k:"enabled",label:e("enabledLabel")}),(0,r.jsx)(Bt,{k:"autoCapture",label:e("autoCapture")}),(0,r.jsx)(Bt,{k:"autoRecall",label:e("autoRecall")})]})}),(0,r.jsxs)(Dn,{...h("sec-memory"),id:"sec-memory",icon:"\u{1F9E0}",title:e("dshMemoryConfig"),sub:e("cfgSubCore"),children:[(0,r.jsx)("div",{className:"mc-cfg-switches is-single",children:(0,r.jsx)(Bt,{k:"recallIncludeBody",label:e("recallBody")})}),(0,r.jsxs)("div",{className:"mc-cfg-grid",children:[(0,r.jsx)(pt,{k:"vaultDir",label:e("vaultDirLabel"),wide:!0}),(0,r.jsx)(pt,{k:"recallLimit",label:e("recallLimit"),type:"number"}),(0,r.jsx)(pt,{k:"recallSummaryLen",label:e("recallSummaryLen"),hint:e("unitChars"),type:"number"}),(0,r.jsx)(pt,{k:"captureMinChars",label:e("captureMinChars"),hint:e("unitChars"),type:"number"}),(0,r.jsx)(pt,{k:"maxCardsPerDay",label:e("maxCardsPerDay"),hint:e("unitPerDay"),type:"number"}),(0,r.jsx)(pt,{k:"dedupThreshold",label:e("dedupThreshold"),type:"number",step:"0.01",min:"0",max:"1"}),(0,r.jsx)(pt,{k:"secretHint",label:e("secretHint"),wide:!0}),(0,r.jsx)(pt,{k:"recallEmbedding",label:e("recallEmbedding"),wide:!0})]})]}),(0,r.jsxs)(Dn,{...h("sec-core"),id:"sec-core",icon:"\u2B50",title:e("coreMemory"),sub:e("coreMemoryHint"),children:[(0,r.jsxs)("div",{className:"mc-cfg-switches",children:[(0,r.jsx)(Bt,{k:"coreMemoryEnabled",label:e("coreMemoryEnabled")}),(0,r.jsx)(Bt,{k:"workingMemoryEnabled",label:e("workingMemoryEnabled")})]}),(0,r.jsxs)("div",{className:"mc-cfg-grid",children:[(0,r.jsx)(pt,{k:"coreMemoryLimit",label:e("coreMemoryLimit"),type:"number"}),(0,r.jsx)(pt,{k:"coreMemoryMaxChars",label:e("coreMemoryMaxChars"),type:"number"})]})]}),(0,r.jsxs)(Dn,{...h("sec-skills"),id:"sec-skills",icon:"\u{1F9E9}",title:e("skillCards"),sub:e("skillCardsHint"),children:[(0,r.jsx)("div",{className:"mc-cfg-switches is-single",children:(0,r.jsx)(Bt,{k:"skillCardsAutoSync",label:e("skillAutoSync")})}),(0,r.jsx)("div",{className:"mc-cfg-tools",children:(0,r.jsx)("button",{type:"button",className:"mc-btn",disabled:!!Ne,onClick:async()=>{ie("skills");try{let g=await fetch(Z+"/skills/sync",{method:"POST"}).then(J=>J.json()).catch(()=>null);g&&g.ok?Fe(e("skillsSyncDone")+"\uFF1A"+e("skillsScanned")+" "+(g.total||0)+" \xB7 "+e("skillsCreated")+" "+(g.created||0)+" \xB7 "+e("skillsUpdated")+" "+(g.updated||0)+" \xB7 "+e("skillsPendingUpdates")+" "+(g.pendingUpdates||0)):Fe(g&&g.error||e("skillsSyncFail"),!1)}catch{Fe(e("skillsSyncFail"),!1)}finally{ie("")}},children:Ne==="skills"?"\u23F3 "+e("syncingSkills"):"\u{1F9E9} "+e("syncSkills")})})]}),(0,r.jsxs)(Dn,{...h("sec-digest"),id:"sec-digest",icon:"\u{1F4EC}",title:e("newsDigest"),sub:e("newsDigestHint"),children:[(0,r.jsx)("div",{className:"mc-cfg-switches is-single",children:(0,r.jsx)(Bt,{k:"newsDigestEnabled",label:e("newsDigestEnabled")})}),(0,r.jsxs)("div",{className:"mc-cfg-grid",children:[(0,r.jsx)(pt,{k:"newsDigestIntervalMinutes",label:e("newsDigestInterval"),type:"number"}),(0,r.jsx)(pt,{k:"newsDigestMaxItems",label:e("newsDigestMaxItems"),type:"number"})]}),(0,r.jsxs)("div",{className:"mc-cfg-tools",children:[(0,r.jsx)("button",{type:"button",className:"mc-btn",disabled:!!Ne,onClick:async()=>{ie("digest");try{let g=await fetch(Z+"/news/digest",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({})}).then(J=>J.json()).catch(()=>null);g&&g.ok?(ae(g.text||""),Fe(g.digest&&g.digest.items&&g.digest.items.length?e("newsDigestDone"):e("newsDigestEmpty"),!0)):Fe(g&&g.error||e("newsDigestFail"),!1)}catch{Fe(e("newsDigestFail"),!1)}finally{ie("")}},children:Ne==="digest"?"\u23F3 "+e("newsDigestBuilding"):"\u{1F4EC} "+e("newsDigestNow")}),(0,r.jsx)("span",{className:"mc-field-hint",children:e("newsDigestNowHint")})]}),Ye!==null?(0,r.jsx)("pre",{className:"mc-digest-preview",children:Ye||e("newsDigestEmpty")}):null]}),(0,r.jsx)(Dn,{...h("sec-ui"),id:"sec-ui",icon:"\u{1F520}",title:e("uiLayout"),sub:e("uiLayoutHint"),children:(0,r.jsx)("div",{className:"mc-field",children:(0,r.jsx)("div",{className:"mc-seg",children:[["compact",e("uiCompact")],["normal",e("uiNormal")],["large",e("uiLarge")]].map(([g,J])=>(0,r.jsx)("button",{type:"button",className:(y&&y.uiScale||"normal")===g?"on":"",onClick:()=>{We("uiScale",g);try{window.dispatchEvent(new CustomEvent("me-ui-scale",{detail:g}))}catch{}},children:J},g))})})}),(0,r.jsxs)(Dn,{...h("sec-vault"),id:"sec-vault",icon:"\u{1F5C2}\uFE0F",title:e("vaultMulti"),sub:e("cfgSubMulti"),children:[(0,r.jsxs)("div",{style:{fontSize:11.5,opacity:.85,marginBottom:8,lineHeight:1.7},children:[e("vaultNow"),"\uFF1A",(0,r.jsx)("code",{children:he?.vaultDir||"\u2014"}),he?.vaultName?`\uFF08${he.vaultName}\uFF09`:""," \xB7 ",e("vaultSource"),"\uFF1A",e(Fn[he?.vaultSource]||"vaultSrcDefault"),he?.workspace?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("br",{}),e("vaultWorkspace"),"\uFF1A",(0,r.jsx)("code",{children:he.workspace})]}):null]}),Dt(y).length?(0,r.jsxs)("div",{className:"mc-vault-head",children:[(0,r.jsx)("span",{children:e("vaultNamePh")}),(0,r.jsx)("span",{children:e("vaultPathPh")}),(0,r.jsx)("span",{children:e("vaultMatchPh")}),(0,r.jsx)("span",{})]}):null,Dt(y).map((g,J)=>(0,r.jsxs)("div",{className:"mc-vault-row",children:[(0,r.jsx)("input",{value:g.name||"",placeholder:e("vaultNamePh"),onChange:re=>Yn(J,"name",re.target.value),style:Xe,disabled:F}),(0,r.jsx)("input",{value:g.path||"",placeholder:e("vaultPathPh"),onChange:re=>Yn(J,"path",re.target.value),style:Xe,disabled:F}),(0,r.jsx)("input",{value:g.match&&g.match.workspace||"",placeholder:e("vaultMatchPh"),onChange:re=>Yn(J,"match",re.target.value),style:Xe,disabled:F}),(0,r.jsx)("button",{type:"button",className:"mc-btn",onClick:()=>Or(J),disabled:F,title:e("delete"),children:"\u2715"})]},J)),(0,r.jsxs)("div",{className:"mc-cfg-tools",style:{marginTop:4},children:[(0,r.jsxs)("button",{type:"button",className:"mc-btn",onClick:_r,disabled:F,children:["\uFF0B ",e("vaultAdd")]}),(0,r.jsxs)("label",{style:{display:"flex",alignItems:"center",gap:6,fontSize:12},children:[(0,r.jsx)("span",{style:{opacity:.6},children:e("vaultActive")}),(0,r.jsxs)("select",{value:y.activeVault||"",onChange:g=>We("activeVault",g.target.value),disabled:F,style:Xe,children:[(0,r.jsx)("option",{value:"",children:e("vaultActiveNone")}),Dt(y).filter(g=>g&&g.name).map(g=>(0,r.jsx)("option",{value:g.name,children:g.name},g.name))]})]})]})]}),(0,r.jsxs)(Dn,{...h("sec-cost"),id:"sec-cost",icon:"\u{1F4B0}",title:e("costControl"),sub:e("costHint"),children:[(0,r.jsxs)("div",{className:"mc-cfg-switches",children:[(0,r.jsx)(Bt,{k:"distillEnabled",label:e("distillEnabled")}),(0,r.jsx)(Bt,{k:"dedupByLLM",label:e("dedupByLLM")}),(0,r.jsx)(Bt,{k:"captureFollowSession",label:e("captureFollowSession")}),(0,r.jsx)(Bt,{k:"captureFirstOnly",label:e("captureFirstOnly")})]}),(0,r.jsxs)("div",{className:"mc-cfg-grid",children:[(0,r.jsx)(pt,{k:"captureMaxTokens",label:e("captureMaxTokens"),type:"number"}),(0,r.jsx)(pt,{k:"captureTimeoutMs",label:e("captureTimeoutMs"),type:"number"}),(0,r.jsx)(pt,{k:"recallMinScore",label:e("recallMinScore"),type:"number"}),(0,r.jsx)(pt,{k:"captureCooldownMs",label:e("captureCooldownMs"),type:"number"}),H&&H.ok===!1&&(0,r.jsxs)("div",{style:{gridColumn:"1 / -1",fontSize:11.5,color:"#b45309",background:"rgba(245,158,11,0.12)",border:"1px solid rgba(245,158,11,0.35)",borderRadius:8,padding:"6px 10px",lineHeight:1.6},children:["\u26A0 ",z("routeListFail",{err:H.error||"\u672A\u77E5\u539F\u56E0"})]}),H&&H.providers&&H.providers.length?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("label",{className:"mc-field",children:[(0,r.jsx)("span",{className:"mc-field-label",children:e("captureProvider")}),(0,r.jsxs)("select",{value:y.captureProvider||"",onChange:g=>{We("captureProvider",g.target.value),We("captureModel","")},children:[(0,r.jsx)("option",{value:"",children:e("routeAuto")}),H.providers.map(g=>(0,r.jsx)("option",{value:g.id,children:g.label},g.id))]})]}),(0,r.jsxs)("label",{className:"mc-field",children:[(0,r.jsx)("span",{className:"mc-field-label",children:e("captureModel")}),(0,r.jsxs)("select",{value:y.captureModel||"",onChange:g=>We("captureModel",g.target.value),children:[(0,r.jsx)("option",{value:"",children:e("routeAuto")}),((H.providers.find(g=>g.id===y.captureProvider)||{}).models||[]).map(g=>(0,r.jsx)("option",{value:g.id,children:g.label||g.id},g.id))]})]})]}):(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(pt,{k:"captureProvider",label:e("captureProvider")}),(0,r.jsx)(pt,{k:"captureModel",label:e("captureModel")})]}),(0,r.jsx)(pt,{k:"sessionBudgetChars",label:e("sessionBudgetChars"),type:"number"})]}),(0,r.jsx)("div",{className:"mc-cfg-tools",children:(0,r.jsx)("button",{type:"button",className:"mc-btn",disabled:!!Ne,onClick:async()=>{ie("llmtest");try{let g=await fetch(Z+"/llm-test",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({provider:y.captureProvider||"",model:y.captureModel||"",firstOnly:y.captureFirstOnly===!0})}).then(J=>J.json());g&&g.ok?Fe(e("llmTestOk")+"\uFF1A"+g.route.provider+(g.route.model?"/"+g.route.model:"")+" \xB7 "+g.ms+"ms \xB7 "+e("llmCandidates")+" "+g.candidates):Fe(e("llmTestFail")+"\uFF1A"+(g&&(g.failure?g.failure.code+" "+g.failure.message:g.error)||"?"),!1)}catch(g){Fe(e("llmTestFail")+"\uFF1A"+String(g&&g.message||g),!1)}finally{ie("")}},children:Ne==="llmtest"?e("exporting"):"\u{1F50C} "+e("llmTest")})})]}),(0,r.jsx)(Dn,{...h("sec-audit"),id:"sec-audit",icon:"\u{1F6E1}\uFE0F",title:e("auditConfig"),sub:e("auditHint"),children:(0,r.jsxs)("div",{className:"mc-cfg-grid",children:[(0,r.jsxs)("label",{className:"mc-field",children:[(0,r.jsx)("span",{className:"mc-field-label",children:e("auditMode")}),(0,r.jsxs)("select",{value:y.auditMode??"all",onChange:g=>We("auditMode",g.target.value),children:[(0,r.jsx)("option",{value:"all",children:e("auditAll")}),(0,r.jsx)("option",{value:"none",children:e("auditNone")})]})]}),(0,r.jsx)(Gf,{label:e("auditExemptAgents"),value:y.auditExemptAgents||[],options:[{value:"__all__",label:e("allExempt")},...(Re?.agents||[]).filter(g=>!g.isDsh).map(g=>({value:g.name,label:g.name}))],onChange:g=>We("auditExemptAgents",g)}),(0,r.jsx)(Gf,{label:e("auditExemptKinds"),value:y.auditExemptKinds||[],options:[{value:"__all__",label:e("allExempt")},...Cl.filter(g=>g!=="all"&&g!=="core"&&g!=="skill").map(g=>({value:g,label:e(Nt[g])}))],onChange:g=>We("auditExemptKinds",g)}),(0,r.jsx)(pt,{k:"recycleRetentionDays",label:e("recycleDays"),hint:e("unitDays"),type:"number"})]})}),(0,r.jsxs)(Dn,{...h("sec-service"),id:"sec-service",icon:"\u{1F6E0}",title:e("serviceConfig"),sub:e("cfgSubService"),children:[(0,r.jsxs)("div",{className:"mc-cfg-switches",children:[(0,r.jsx)(Bt,{k:"autoWeb",label:e("autoWeb")}),(0,r.jsx)(Bt,{k:"watchdogAutoSpawn",label:e("watchdogAutoSpawn")}),(0,r.jsx)(Bt,{k:"autoRestartOnDrift",label:e("autoRestartOnDrift")}),(0,r.jsx)(Bt,{k:"autoMcpSetup",label:e("autoMcpSetup")})]}),(0,r.jsxs)("div",{className:"mc-cfg-grid",children:[(0,r.jsxs)("label",{className:"mc-field",children:[(0,r.jsx)("span",{className:"mc-field-label",children:e("autoWebMode")}),(0,r.jsxs)("select",{value:y.autoWebMode??"init",onChange:g=>We("autoWebMode",g.target.value),children:[(0,r.jsx)("option",{value:"init",children:e("modeInit")}),(0,r.jsx)("option",{value:"interval",children:e("modeInterval")}),(0,r.jsx)("option",{value:"manual",children:e("modeManual")})]})]}),(0,r.jsx)(pt,{k:"webPort",label:e("webPort"),type:"number"}),(0,r.jsx)(pt,{k:"webCheckIntervalMs",label:e("webCheckIntervalMs"),type:"number"}),(0,r.jsx)(pt,{k:"webMaxRestart",label:e("webMaxRestart"),hint:e("unitTimes"),type:"number"})]})]}),(0,r.jsxs)("div",{className:"mc-cfg-actions",children:[ge?(0,r.jsx)("span",{className:"mc-cfg-dirty",children:e("cfgDirty")}):(0,r.jsxs)("span",{className:"mc-cfg-clean",children:["\u2713 ",e("cfgClean")]}),(0,r.jsx)("span",{className:"mc-cfg-spacer"}),Ne==="save"&&(0,r.jsxs)("span",{style:{fontSize:11.5,opacity:.75},children:["\u23F3 ",e("saving")]}),ne&&Ne!=="save"&&(0,r.jsxs)("span",{style:{fontSize:11.5,color:"#10b981"},children:["\u2705 ",ne]}),He&&Ne!=="save"&&(0,r.jsxs)("span",{style:{fontSize:11.5,color:"#b91c1c"},children:["\u26A0 ",He]}),(0,r.jsx)("button",{type:"button",className:"mc-btn",onClick:cn,disabled:!!Ne,children:e("reset")}),(0,r.jsx)("button",{type:"button",className:"mc-btn me-on",onClick:F?()=>Fe(e("readonlyTitle")+"\uFF1A"+e("readonlyBody"),!1):sn,disabled:Ne==="save",title:e(F?"readonlyBody":"saveConfig"),children:Ne==="save"?"\u23F3 "+e("saving"):F?"\u{1F512} "+e("readonlyBtn"):"\u{1F4BE} "+e("saveConfig")})]})]}):(0,r.jsx)("div",{style:{fontSize:12,opacity:.6},children:e("loading")})]})]})})})]})})}function p0({t:e,onReload:t,version:n}){let[a,o]=(0,u.useState)([]),[i,l]=(0,u.useState)([]),[s,c]=(0,u.useState)("all"),[p,f]=(0,u.useState)("all"),[b,h]=(0,u.useState)(""),[S,L]=(0,u.useState)(""),[M,_]=(0,u.useState)(new Set),[x,m]=(0,u.useState)(null),[y,R]=(0,u.useState)(""),[F,P]=(0,u.useState)(null),[D,I]=(0,u.useState)("pending"),W=(v,Q=!0)=>{P({msg:v,ok:Q}),setTimeout(()=>P(null),3e3)},$=[...new Set([...a,...i].map(v=>v.submittedBy).filter(Boolean))],le=(0,u.useCallback)(async()=>{try{let v=await fetch(`${Z}/audit/list`).then(Q=>Q.json());v.ok&&(o(v.pending||[]),l(v.rejected||[]),_(new Set),Pe({}))}catch{}},[]);(0,u.useEffect)(()=>{le()},[n,le]);let he=(D==="pending"?a:i).filter(v=>{if(!td(v,S)||s!=="all"&&v.kind!==s||p!=="all"&&Fr(v.submittedBy)!==p)return!1;if(b){let Q=hl(v.created);if(Q&&Q!==b)return!1}return!0}),ye=(0,u.useMemo)(()=>{let v=D==="pending"?a:i,Q={all:0};return v.forEach(pe=>{if(td(pe,S)&&!(p!=="all"&&Fr(pe.submittedBy)!==p)){if(b){let Ie=hl(pe.created);if(Ie&&Ie!==b)return}Q.all++,Q[pe.kind||"other"]=(Q[pe.kind||"other"]||0)+1}}),Q},[a,i,D,p,b,S]),Re=v=>_(Q=>{let pe=new Set(Q);return pe.has(v)?pe.delete(v):pe.add(v),pe}),G=async(v,Q,pe={})=>{let Ie=Q||[...M];if(!Ie.length){W(e("noSelection"),!1);return}R("apply");let se=v==="approved"?pe.kind==="core"?e("approveCore"):e("toastApproved"):e(v==="rejected"?"toastRejected":"toastCardDeleted");try{let te=0;for(let k of Ie){let K=v==="approved"?"audit/approve":v==="rejected"?"audit/reject":"delete";try{let V=v==="approved"&&pe.kind?{path:k,kind:pe.kind}:null;(await fetch(Z+"/"+K+(V?"":"?path="+encodeURIComponent(k)+(v==="delete"?"&permanent=0":"")),V?{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(V)}:void 0)).ok||te++}catch{te++}}await le(),t&&t(),te?W(e("toastFailed")+"\uFF08"+te+"/"+Ie.length+"\uFF09",!1):W(se+" "+Ie.length+" \u5F20")}catch(te){W(e("toastFailed")+": "+String(te&&te.message||te),!1)}finally{R("")}},[He,Pe]=(0,u.useState)({}),Ne=v=>He[v]||{},ie=[...M],ne=he.find(v=>v.path===x)||he[0]||null,qe=ne?Ne(ne.path):{};(0,u.useEffect)(()=>{let v=ne;if(!v||He[v.path])return;let Q=!0,pe=v.path;Pe(se=>({...se,[pe]:{loading:!0}}));let Ie=v.status||(D==="pending"?"pending":"rejected");return fetch(`${Z}/card?path=${encodeURIComponent(pe)}&status=${Ie}`).then(se=>se.json()).then(se=>{Q&&(se&&se.ok?Pe(te=>({...te,[pe]:{text:se.text||""}})):Pe(te=>({...te,[pe]:{error:se&&se.error||"HTTP"}})))}).catch(se=>{Q&&Pe(te=>({...te,[pe]:{error:String(se&&se.message||se)}}))}),()=>{Q=!1}},[ne&&ne.path,D]);let Ye=async()=>{if(window.confirm(e("reclassify")+"\uFF1F\u53EA\u5904\u7406\u81EA\u52A8\u6C89\u6DC0\u7684\u5F85\u5BA1\u539F\u6587\u5361\uFF0C\u4E0D\u6539\u4EBA\u5DE5\u5361\u3002")){R("reclassify");try{let v=await fetch(Z+"/reclassify").then(Q=>Q.json());v&&v.ok?W(e("reclassify")+"\uFF1A"+v.changed+" / "+v.scanned):W(e("toastFailed")+": "+(v&&v.error||"HTTP"),!1),await le(),t&&t()}catch(v){W(e("toastFailed")+": "+String(v&&v.message||v),!1)}finally{R("")}}},ae=()=>_(new Set),H=v=>{I(v),ae()},U=["all",...Cl.filter(v=>v!=="all")];return(0,r.jsxs)("div",{className:"mc-admin",style:{display:"flex",flexDirection:"column",overflow:"auto",flex:1,minHeight:0},children:[(0,r.jsx)("style",{children:xn}),(0,r.jsxs)("div",{style:{overflow:"auto",padding:4},children:[(0,r.jsx)(Nl,{toast:F}),(0,r.jsxs)("div",{className:"mc-v5-pagehead mc-v5-audithead",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("div",{className:"mc-v5-eyebrow",children:"REVIEW INBOX"}),(0,r.jsx)("h1",{children:e("tabAudit")}),(0,r.jsx)("p",{children:e("auditInboxSub")})]}),(0,r.jsxs)("span",{className:"mc-v5-pagecount",children:[a.length," \u5F20"]}),(0,r.jsxs)("span",{className:"mc-v5-audit-trust",children:["\u{1F6E1} ",e("auditUndo")]})]}),(0,r.jsxs)("div",{className:"me-audit",children:[(0,r.jsxs)("div",{className:"mc-card mc-audit-filtercard",style:{marginBottom:10,display:"flex",flexDirection:"column",gap:8},children:[(0,r.jsxs)("div",{className:"me-audit-filter-row",children:[(0,r.jsxs)("b",{style:{fontSize:12},children:["\u{1F6E1}\uFE0F ",e("tabAudit")]}),(0,r.jsx)("input",{type:"text",value:S,onChange:v=>{L(v.target.value),ae(),m(null)},placeholder:e("auditSearchPlaceholder"),"aria-label":e("auditSearchPlaceholder"),style:{flex:"1 1 220px",minWidth:160,padding:"5px 9px",borderRadius:8,background:"var(--dsw-alias-bg-layer-1, #fff)",color:"inherit",border:"1px solid var(--dsw-alias-border-l2, #d1d5db)",fontSize:12}}),S&&(0,r.jsx)("button",{type:"button",className:"mc-btn",style:{padding:"2px 8px"},onClick:()=>{L(""),ae(),m(null)},title:e("clearFilter"),children:"\u2715"}),(0,r.jsxs)("select",{value:p,onChange:v=>{f(v.target.value),ae()},style:{fontSize:12,padding:"4px 8px",borderRadius:8,background:"var(--dsw-alias-bg-layer-1, #fff)",color:"inherit",border:"1px solid var(--dsw-alias-border-l2, #d1d5db)"},children:[(0,r.jsx)("option",{value:"all",children:e("allAgents")}),Yf($).map(v=>(0,r.jsx)("option",{value:v,children:v},v))]}),(0,r.jsx)("input",{type:"date",value:b,onChange:v=>{h(v.target.value),ae()},style:{fontSize:12,padding:"4px 8px",borderRadius:8,background:"var(--dsw-alias-bg-layer-1, #fff)",color:"inherit",border:"1px solid var(--dsw-alias-border-l2, #d1d5db)"}})]}),(0,r.jsxs)("div",{className:"me-audit-types-top",children:[(0,r.jsx)("span",{className:"me-audit-types-label",children:e("auditTypeLabel")}),U.map(v=>{let Q=v==="all"?"var(--dsw-alias-label-secondary, #9ca3af)":Kt[v]||"#6B7280";return(0,r.jsxs)("button",{type:"button",className:`me-audit-kind${s===v?" active":""}`,onClick:()=>{c(v),ae()},children:[(0,r.jsx)("span",{className:"me-audit-kind-dot",style:{background:Q}}),(0,r.jsx)("span",{className:"me-audit-kind-name",children:e(v==="all"?"all":Nt[v])}),(0,r.jsx)("span",{className:"me-audit-kind-count",children:ye[v]||0})]},v)})]})]}),(0,r.jsxs)("div",{className:"me-audit-main",children:[(0,r.jsxs)("div",{className:"me-audit-queue",children:[(0,r.jsxs)("div",{className:"mc-card mc-audit-batchcard",style:{marginBottom:10,display:"flex",gap:10,alignItems:"center",flexWrap:"wrap"},children:[(0,r.jsxs)("button",{type:"button",className:`mc-btn${D==="pending"?" me-on":""}`,onClick:()=>H("pending"),children:[e("pending"),"\uFF08",a.length,"\uFF09"]}),(0,r.jsxs)("button",{type:"button",className:`mc-btn${D==="rejected"?" me-on":""}`,onClick:()=>H("rejected"),children:[e("rejected"),"\uFF08",i.length,"\uFF09"]}),(0,r.jsx)("div",{style:{flex:1}}),(0,r.jsxs)("label",{style:{fontSize:12},children:[(0,r.jsx)("input",{type:"checkbox",checked:he.length>0&&ie.length===he.length,onChange:v=>{v.target.checked?_(new Set(he.map(Q=>Q.path))):_(new Set)}})," ",e("selectAll"),"\uFF08",he.length,"\uFF09"]}),(0,r.jsxs)("span",{style:{fontSize:11,opacity:.65},children:[e("auditSelected")," ",ie.length]}),D==="pending"&&(0,r.jsxs)("button",{type:"button",className:"mc-btn",disabled:!!y,onClick:Ye,children:["\u{1F527} ",e("reclassify")]}),(0,r.jsxs)("button",{type:"button",className:"mc-btn me-on",disabled:!ie.length||!!y,onClick:()=>G("approved"),children:["\u2713 ",e(D==="rejected"?"restore":"approve")]}),D==="pending"?(0,r.jsxs)("button",{type:"button",className:"mc-btn",style:{color:"#f87171"},disabled:!ie.length||!!y,onClick:()=>G("rejected"),children:["\u2715 ",e("reject")]}):(0,r.jsxs)("button",{type:"button",className:"mc-btn",style:{color:"#f87171"},disabled:!ie.length||!!y,onClick:()=>{window.confirm(e("recycleDeleteConfirm"))&&G("delete")},children:["\u{1F5D1} ",e("restoreDelete")]}),ie.length>0&&(0,r.jsx)("button",{type:"button",className:"mc-btn",onClick:ae,children:e("auditClearSelection")})]}),he.length?(0,r.jsx)("div",{className:"mc-card",style:{display:"flex",flexDirection:"column"},children:he.map(v=>{let Q=Kt[v.kind]||"#6B7280";return(0,r.jsx)("div",{className:`me-audit-row${v.kind==="core"?" core":""}${ne&&ne.path===v.path?" active":""}`,children:(0,r.jsxs)("div",{className:"me-audit-row-main",onClick:()=>m(v.path),children:[(0,r.jsx)("input",{type:"checkbox",checked:M.has(v.path),onClick:pe=>pe.stopPropagation(),onChange:()=>Re(v.path)}),(0,r.jsx)("span",{className:"me-audit-row-tile",style:{color:Q,borderColor:Q+"38",background:Q+"18"},children:Ir[v.kind]||"\u{1F4CE}"}),(0,r.jsxs)("div",{className:"me-audit-row-copy",children:[(0,r.jsxs)("div",{className:"me-audit-row-top",children:[(0,r.jsx)("span",{className:`me-audit-row-kind${v.kind==="core"?" core":""}`,children:v.kind==="core"?"\u2B50 "+e("kindCore"):e(Nt[v.kind]||"kindKnowledge")}),v.revision&&(0,r.jsxs)("span",{className:"me-audit-row-state",style:{color:"#a78bfa",filter:"saturate(1.2)"},children:["\u270F\uFE0F ",e("auditRevision")]}),(0,r.jsx)("span",{className:`me-audit-row-state ${D==="pending"?"pending":"rejected"}`,children:D==="pending"?"\u23F3 "+e("statusPending"):"\u26D4 "+e("statusRejected")}),(0,r.jsx)("span",{className:"me-audit-row-time",children:nd(v.created)||"-"})]}),(0,r.jsx)("button",{type:"button",className:"me-audit-row-title",title:v.title,onClick:()=>m(v.path),children:v.title}),v.revision&&(0,r.jsxs)("p",{className:"me-audit-row-reason",style:{color:"#a78bfa"},children:["\u270F\uFE0F ",e("auditRevisionFrom"),"\uFF1A",v.revision.targetTitle||v.revision.targetPath]}),(v.reason||v.summary)&&(0,r.jsx)("p",{className:"me-audit-row-reason",children:v.reason||v.summary}),(0,r.jsxs)("div",{className:"me-audit-row-meta",children:[(0,r.jsxs)("span",{children:["\u{1F916} ",Fr(v.submittedBy)]}),(Array.isArray(v.tags)?v.tags:[]).slice(0,3).map(pe=>(0,r.jsxs)("span",{children:["#",pe]},pe))]})]}),(0,r.jsx)("div",{className:"me-audit-row-actions",onClick:pe=>pe.stopPropagation(),children:D==="pending"?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("button",{type:"button",className:"mc-btn",style:{padding:"2px 8px"},onClick:()=>G("approved",[v.path]),children:"\u2713"}),(0,r.jsx)("button",{type:"button",className:"mc-btn",style:{padding:"2px 8px",color:"#f87171"},onClick:()=>G("rejected",[v.path]),children:"\u2715"})]}):(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("button",{type:"button",className:"mc-btn",style:{padding:"2px 8px"},title:e("restore"),onClick:()=>G("approved",[v.path]),children:"\u2713"}),(0,r.jsx)("button",{type:"button",className:"mc-btn",style:{padding:"2px 8px",color:"#f87171"},title:e("restoreDelete"),onClick:()=>{window.confirm(e("recycleDeleteConfirm"))&&G("delete",[v.path])},children:"\u{1F5D1}"})]})})]})},v.path)})}):(0,r.jsx)("div",{style:{opacity:.6,fontSize:12,padding:20,textAlign:"center"},children:e(S?"auditNoMatch":"noAuditItems")})]}),(0,r.jsx)("aside",{className:"me-audit-preview",children:ne?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("div",{className:"me-audit-preview-head",children:[(0,r.jsxs)("div",{className:"me-audit-preview-top",children:[(0,r.jsxs)("span",{className:"me-audit-kind-badge",style:{color:Kt[ne.kind]||"#6B7280",borderColor:(Kt[ne.kind]||"#6B7280")+"59",background:(Kt[ne.kind]||"#6B7280")+"1a"},children:[Ir[ne.kind]||"\u{1F4CE}"," ",e(Nt[ne.kind]||"kindKnowledge")]}),(0,r.jsx)("span",{className:`md-chip ${D==="pending"?"md-chip-st-warn":"md-chip-st-bad"}`,children:D==="pending"?ne.kind==="core"?"\u2B50 "+e("coreSuggested"):"\u23F3 "+e("statusPending"):"\u26D4 "+e("statusRejected")}),(0,r.jsx)("span",{className:"spacer",style:{flex:1}}),(0,r.jsx)("span",{style:{fontSize:10,opacity:.55},children:nd(ne.created)})]}),(0,r.jsx)("h3",{children:ne.title}),ne.revision&&(0,r.jsxs)("div",{className:"me-audit-preview-reason",style:{color:"#a78bfa",marginBottom:6},children:["\u270F\uFE0F ",e("auditRevisionFrom"),"\uFF1A",ne.revision.targetTitle||ne.revision.targetPath]}),(0,r.jsxs)("div",{className:"me-audit-preview-meta",children:[(0,r.jsxs)("span",{children:["\u{1F916} ",Fr(ne.submittedBy)]}),!!ne.reason&&(0,r.jsxs)("span",{className:"me-audit-preview-reason",children:["\u2691 ",ne.reason]}),(Array.isArray(ne.tags)?ne.tags:[]).slice(0,5).map(v=>(0,r.jsxs)("span",{children:["#",v]},v))]})]}),(0,r.jsxs)("div",{className:"me-audit-preview-body",children:[qe.loading&&(0,r.jsx)("div",{className:"me-audit-preview-empty",children:e("loading")}),qe.error&&(0,r.jsxs)("div",{className:"me-audit-preview-empty",style:{color:"#f87171"},children:["\u26A0 ",e("auditBodyFail"),"\uFF1A",qe.error]}),qe.text!=null?(0,r.jsx)("div",{className:"md-doc",dangerouslySetInnerHTML:{__html:_o(bd(ml(qe.text).body,ne.title))}}):!qe.loading&&(0,r.jsx)("p",{className:"me-audit-preview-summary",children:ne.summary||""})]}),(0,r.jsxs)("div",{className:"me-audit-preview-actions",children:[(0,r.jsxs)("button",{type:"button",className:"mc-btn me-on",disabled:!!y,onClick:()=>G("approved",[ne.path]),children:["\u2713 ",D==="rejected"?e("restore"):ne.kind==="core"?e("approveCore"):e("approve")]}),D==="pending"&&ne.kind!=="core"&&!ne.revision&&(0,r.jsxs)("button",{type:"button",className:"mc-btn me-core-btn",disabled:!!y,onClick:()=>G("approved",[ne.path],{kind:"core"}),children:["\u2B50 ",e("approveAndCore")]}),D==="pending"&&ne.kind==="core"&&(0,r.jsx)("button",{type:"button",className:"mc-btn",disabled:!!y,onClick:()=>G("approved",[ne.path],{kind:"knowledge"}),children:e("approveAsNormal")}),D==="pending"?(0,r.jsxs)("button",{type:"button",className:"mc-btn",style:{color:"#f87171"},disabled:!!y,onClick:()=>G("rejected",[ne.path]),children:["\u2715 ",e("reject")]}):(0,r.jsxs)("button",{type:"button",className:"mc-btn",style:{color:"#f87171"},disabled:!!y,onClick:()=>{window.confirm(e("recycleDeleteConfirm"))&&G("delete",[ne.path])},children:["\u{1F5D1} ",e("restoreDelete")]})]})]}):(0,r.jsx)("div",{className:"me-audit-preview-empty",children:e(S?"auditNoMatch":"noAuditItems")})})]})]})]})]})}var u0={title:"",date:"",category:"",source:"",url:"",tags:"",pinned:!1,body:""};function ud(){let e=new Date;return e.getFullYear()+"-"+String(e.getMonth()+1).padStart(2,"0")+"-"+String(e.getDate()).padStart(2,"0")}function md(e){try{let t=new URL(String(e||""));return t.protocol==="http:"||t.protocol==="https:"?t.href:""}catch{return""}}function m0(e,t){let n=String(e||"").slice(0,10);if(!n)return t("newsEarlier");if(n===ud())return t("newsToday");let a=new Date;a.setDate(a.getDate()-1);let o=a.getFullYear()+"-"+String(a.getMonth()+1).padStart(2,"0")+"-"+String(a.getDate()).padStart(2,"0");return n===o?t("newsYesterday"):n}function Hf({item:e,t,active:n,onOpen:a,onEdit:o,onToggleRead:i,onDelete:l}){return(0,r.jsxs)("article",{className:"mc-news-card"+(e.pinned?" pinned":"")+(e.read?"":" unread")+(n?" active":""),onClick:()=>a(e),children:[(0,r.jsxs)("div",{className:"mc-news-top",children:[!e.read&&(0,r.jsx)("span",{className:"mc-news-dot",title:t("newsUnread")}),(0,r.jsx)("span",{className:"mc-news-cat",children:e.category||t("newsCategoryField")}),e.pinned&&(0,r.jsxs)("span",{className:"mc-news-pin",children:["\u{1F4CC} ",t("newsPinned")]}),(0,r.jsx)("span",{className:"mc-news-time",children:e.date||(e.updated||"").slice(0,10)})]}),(0,r.jsx)("h3",{className:"mc-news-title",children:e.title}),e.excerpt&&(0,r.jsx)("p",{className:"mc-news-excerpt",children:e.excerpt}),(0,r.jsxs)("div",{className:"mc-news-meta",children:[e.source&&(0,r.jsx)("span",{children:e.source}),(e.tags||[]).slice(0,3).map(s=>(0,r.jsxs)("span",{children:["#",s]},s)),(0,r.jsx)("span",{style:{marginLeft:"auto",opacity:.72},children:e.read?t("newsRead"):t("newsUnread")}),(0,r.jsxs)("span",{className:"mc-news-actions",onClick:s=>s.stopPropagation(),children:[(0,r.jsx)("button",{type:"button",className:"mc-btn",onClick:()=>i(e),children:e.read?t("newsMarkUnread"):t("newsMarkRead")}),(0,r.jsx)("button",{type:"button",className:"mc-btn",onClick:()=>o(e),children:t("newsEdit")}),(0,r.jsx)("button",{type:"button",className:"mc-btn",style:{color:"#f87171"},onClick:()=>l(e),title:t("delete"),children:"\u2715"})]})]})]})}function f0(e,t){let n=Date.now()-Number(e||0);if(!Number.isFinite(n)||n<0)return"";let a=Math.floor(n/6e4);if(a<1)return t("newsJustNow");if(a<60)return a+" "+t("newsMinutesAgo");let o=Math.floor(a/60);if(o<24)return o+" "+t("newsHoursAgo");let i=Math.floor(o/24);return i<7?i+" "+t("newsDaysAgo"):new Date(Number(e)).toISOString().slice(0,10)}var ra="me.news.lastQuery",Ho="me.news.prefs",Xf="me.news.view",g0={model:"\u6A21",product:"\u54C1",research:"\u7814",opensource:"\u6E90",industry:"\u4E1A",policy:"\u7B56",other:"\u8BAF"},h0=new Set(["the","a","an","of","to","for","and","in","on","is","are","with","how","why","new","its","it","as","at","by","from"]);function vd(e,t){try{let n=localStorage.getItem(e);if(n===null)return t;try{return JSON.parse(n)}catch{return n}}catch{return t}}function sr(e,t){try{localStorage.setItem(e,JSON.stringify(t))}catch{}}function sd(e,t=""){let n=vd(e,t);return typeof n=="string"?n:t}function Wf(){let e=vd(Xf,null);return e&&typeof e=="object"?e:{}}function fd(){return{types:{},sources:{},terms:{},opens:0,updatedAt:0}}function y0(){let e=vd(Ho,null);return!e||typeof e!="object"?fd():{...fd(),...e,types:e.types||{},sources:e.sources||{},terms:e.terms||{}}}function Jf(e){let t=[];for(let n of String(e||"").toLowerCase().split(/[^0-9a-z\u4e00-\u9fff]+/))!n||n.length<2||h0.has(n)||t.push(n);return t}function wl(e,t,n){t&&(e[t]=Math.min(60,(Number(e[t])||0)+n))}function v0(e,t,n){let a={...n,types:{...n.types},sources:{...n.sources},terms:{...n.terms}};return e&&(wl(a.types,e.type,t),wl(a.sources,e.sourceId,t),Jf(e.title).slice(0,6).forEach(o=>wl(a.terms,o,1)),a.opens=(Number(n.opens)||0)+1),a.updatedAt=Date.now(),a}function Uf(e,t){let n={...e,terms:{...e.terms}};return Jf(t).forEach(a=>wl(n.terms,a,3)),n.updatedAt=Date.now(),n}function b0(e){let t=0;for(let n of String(e||""))t=(t*31+n.charCodeAt(0))%360;return t}function x0(e){let t=String(e||"\u65B0\u95FB");if(/^[A-Za-z]/.test(t)){let n=t.split(/\s+/);return(n.length>1?n[0][0]+n[1][0]:t.slice(0,2)).toUpperCase()}return t.slice(0,1)}var w0=/(帮我|请|麻烦|推送|订阅|关注|跟踪|每天|每日|定时|最新|热门|看看|给我|关于|相关)/;function k0(e){let t=String(e||"").trim();return t?w0.test(t)||t.split(/\s+/).length>=4:!1}function $f(e,t,n){let a=Math.max(0,(Date.now()-Number(e.publishedAt||0))/36e5),o=100-Math.min(60,a*.28);o+=(Number(t.types[e.type])||0)*1.6,o+=(Number(t.sources[e.sourceId])||0)*1.1;let i=(e.title+" "+(e.summary||"")).toLowerCase();for(let[s,c]of Object.entries(t.terms))i.includes(s)&&(o+=Math.min(8,Number(c)||0)*.9);let l=String(n||"").trim().toLowerCase();if(l)for(let s of l.split(/\s+/).filter(Boolean))String(e.title||"").toLowerCase().includes(s)?o+=16:i.includes(s)&&(o+=8);return e.followId&&(o+=10),o}function S0({t:e,mode:t,version:n}){let[a,o]=(0,u.useState)([]),[i,l]=(0,u.useState)([]),[s,c]=(0,u.useState)(!0),[p,f]=(0,u.useState)(0),[b,h]=(0,u.useState)([]),[S,L]=(0,u.useState)(""),[M,_]=(0,u.useState)(null),[x,m]=(0,u.useState)(()=>sd(ra)),[y,R]=(0,u.useState)(()=>sd(ra).trim()),[F,P]=(0,u.useState)(""),[D,I]=(0,u.useState)(()=>{let C=Wf();return typeof C.lang=="string"?C.lang:"zh"}),[W,$]=(0,u.useState)(()=>Wf().sort==="time"?"time":"rec"),[le,he]=(0,u.useState)(y0),[ye,Re]=(0,u.useState)(!1),[G,He]=(0,u.useState)([]),[Pe,Ne]=(0,u.useState)([]),[ie,ne]=(0,u.useState)(null),[qe,Ye]=(0,u.useState)(!1),[ae,H]=(0,u.useState)(""),U=(C,z=!0)=>{_({msg:C,ok:z}),setTimeout(()=>_(null),3200)},v=(0,u.useRef)(!1),Q=(0,u.useRef)(sd(ra).trim());(0,u.useEffect)(()=>{let C=setTimeout(()=>{let z=x.trim();R(z),v.current&&(sr(ra,z),!(!z||z===Q.current)&&(Q.current=z,he(_e=>{let We=Uf(_e,z);return sr(Ho,We),We})))},260);return()=>clearTimeout(C)},[x]),(0,u.useEffect)(()=>{sr(Xf,{lang:D,sort:W})},[D,W]),(0,u.useEffect)(()=>{Re(!0);let C=setTimeout(()=>Re(!1),170);return()=>clearTimeout(C)},[F,D,y,W]);let pe=(0,u.useCallback)(async()=>{c(!0),L("");try{let C=new URLSearchParams({period:t==="month"?"month":"today",lang:"all"});C.set("follows","1");let z=await fetch(Z+"/news/feed?"+C.toString()).then(_e=>_e.json());if(!z||!z.ok)throw new Error(z&&z.error||e("newsFeedError"));o(z.items||[]),Array.isArray(z.follows)&&He(z.follows),l(z.types||[]),f(Number(z.fetchedAt)||0),h(z.errors||[])}catch(C){let z=C&&C.message||e("newsFeedError");L(z),U(z,!1)}finally{c(!1)}},[t,e]);(0,u.useEffect)(()=>{pe()},[n,pe]);let Ie=(0,u.useCallback)(async()=>{try{let C=await fetch(Z+"/news/follows").then(z=>z.json());C&&C.ok&&(He(C.follows||[]),Ne(C.domains||[]))}catch{}},[]);(0,u.useEffect)(()=>{Ie()},[n,Ie]);let se=async()=>{c(!0);try{let C=await fetch(Z+"/news/feed/refresh",{method:"POST"}).then(z=>z.json());if(!C||!C.ok)throw new Error(C&&C.error||e("newsFeedError"));await pe(),U(e("newsUpdatedAt")+" "+new Date().toLocaleTimeString())}catch(C){let z=C&&C.message||e("newsFeedError");L(z),U(z,!1),c(!1)}},te=C=>(i.find(z=>z.id===C)||{}).label||e("all"),k=(a||[]).filter(C=>!D||C.lang===D||C.followId),K={};for(let C of k)K[C.type]=(K[C.type]||0)+1;let V=F?k.filter(C=>C.type===F):k,ge=k0(y);if(y&&!ge){let C=y.toLowerCase().split(/\s+/).filter(Boolean);V=V.filter(z=>{let _e=[z.title,z.summary,z.source,te(z.type)].join(" ").toLowerCase();return C.every(We=>_e.includes(We))})}ae&&(V=V.filter(C=>C.followId===ae));let xe=C=>(Number(C.points)||0)+(Number(C.comments)||0)*2,ve=t==="month",me=ve?V.filter(C=>(C.points||0)>0):[],j=ve&&me.length>0,ue=new Map;j&&me.slice().sort((C,z)=>(z.points||0)-(C.points||0)||(z.comments||0)-(C.comments||0)).forEach((C,z)=>ue.set(C.id||C.url||C.title,z+1)),V=V.slice().sort((C,z)=>W==="time"?(z.publishedAt||0)-(C.publishedAt||0):ve&&j?(z.points||0)-(C.points||0)||(z.comments||0)-(C.comments||0)||(z.publishedAt||0)-(C.publishedAt||0):$f(z,le,y)-$f(C,le,y));let de=Object.keys(le.types||{}).sort((C,z)=>(le.types[z]||0)-(le.types[C]||0)).slice(0,3),Ce=Object.keys(le.terms||{}).sort((C,z)=>(le.terms[z]||0)-(le.terms[C]||0)).slice(0,4),wt=!!y||de.length>0||Ce.length>0,Fe=C=>{v.current=!0;let z=String(C??"").trim();R(z),sr(ra,z),!(!z||z===Q.current)&&(Q.current=z,he(_e=>{let We=Uf(_e,z);return sr(Ho,We),We}))},ln=()=>{v.current=!1,Q.current="",P(""),I(""),m(""),R(""),sr(ra,"")},Lt=C=>he(z=>{let _e=v0(C,4,z);return sr(Ho,_e),_e}),wn=()=>{let C=fd();sr(Ho,C),sr(ra,""),Q.current="",v.current=!1,he(C),m(""),R("")},Pt=async()=>{let C=x.trim();if(!C){U(e("newsFollowNoQuery"),!1);return}Ye(!0);try{let z=await fetch(Z+"/news/follows/preview",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({text:C})}).then(_e=>_e.json());if(!z||!z.ok)throw new Error(z&&z.error||e("newsFollowFail"));Ne(z.domainsEnum||Pe),ne({text:C,query:z.parsed.query,label:z.parsed.label,domains:z.parsed.domains,sourceIds:z.parsed.sourceIds||[],notes:z.parsed.notes||[]})}catch(z){U(String(z&&z.message||z),!1)}finally{Ye(!1)}},Ke=(C,z)=>ne(_e=>{if(!_e)return _e;let We=new Set(_e.domains);return z?We.add(C):We.delete(C),{..._e,domains:[...We]}}),An=async()=>{if(ie){Ye(!0);try{let C=await fetch(Z+"/news/follows",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({query:ie.query,domains:ie.domains,label:ie.label,sourceIds:ie.sourceIds||[]})}).then(_e=>_e.json());if(!C||!C.ok)throw new Error(C&&C.error||e("newsFollowFail"));let z=ie.label;ne(null),U((C.duplicate?e("newsFollowExists"):e("newsFollowAdded"))+"\uFF1A"+z),await Ie(),await pe()}catch(C){U(String(C&&C.message||C),!1)}finally{Ye(!1)}}},Me=async C=>{try{let z=await fetch(Z+"/news/follows?id="+encodeURIComponent(C),{method:"DELETE"}).then(_e=>_e.json());if(!z||!z.ok)throw new Error(z&&z.error||e("newsFollowFail"));ae===C&&H(""),U(e("newsFollowRemoved")),await Ie(),await pe()}catch(z){U(String(z&&z.message||z),!1)}},T=(C,z)=>{let _e=md(C.url),We=te(C.type),d=md(C.image),qt=j&&ue.get(C.id||C.url||C.title)||0,sn=j&&qt>0&&qt<=3;return(0,r.jsxs)("a",{className:"mc-news-tile",style:{"--i":Math.min(z,14)},href:_e||void 0,target:_e?"_blank":void 0,rel:"noopener noreferrer",onClick:()=>Lt(C),children:[(0,r.jsxs)("span",{className:"mc-news-tile-cover",children:[d?(0,r.jsx)("img",{className:"mc-news-tile-img",src:d,alt:"",loading:"lazy",referrerPolicy:"no-referrer",onError:cn=>{let Fn=cn.currentTarget;Fn.style.display="none",Fn.nextElementSibling&&(Fn.nextElementSibling.style.display="grid")}}):null,(0,r.jsxs)("span",{className:"mc-news-tile-gen",style:{"--hue":b0(C.title),display:d?"none":"grid"},children:[(0,r.jsx)("b",{children:g0[C.type]||"\u8BAF"}),(0,r.jsx)("small",{children:We}),(0,r.jsxs)("em",{children:[(0,r.jsx)("i",{children:x0(C.source)}),C.source]})]}),(0,r.jsx)("span",{className:"mc-news-tile-badge"+(sn?" hot":""),children:qt?"#"+qt:We}),(0,r.jsx)("span",{className:"mc-news-tile-time",children:f0(C.publishedAt,e)})]}),(0,r.jsxs)("span",{className:"mc-news-tile-body",children:[(0,r.jsx)("span",{className:"mc-news-tile-title",children:C.title}),C.summary?(0,r.jsx)("span",{className:"mc-news-tile-summary",children:C.summary}):null,(0,r.jsxs)("span",{className:"mc-news-tile-foot",children:[(0,r.jsx)("i",{className:"mc-news-tile-dot"}),(0,r.jsx)("span",{children:C.source}),C.followLabel?(0,r.jsxs)("span",{className:"mc-news-tile-follow",children:["\u{1F514} ",C.followLabel]}):null,qt?(0,r.jsxs)("span",{children:["\xB7 \u{1F525} ",e("newsHeat")," ",xe(C)]}):null,(0,r.jsxs)("span",{className:"mc-news-tile-open",children:[e("newsOriginal")," \u2197"]})]})]})]},C.id||C.url||C.title)},w=V.filter(C=>C.followId),fe=w.slice(0,4),Oe=ae?V:fe.length?V.filter(C=>!C.followId):V;return(0,r.jsxs)("div",{className:"mc-news",children:[(0,r.jsx)(Nl,{toast:M}),(0,r.jsxs)("div",{className:"mc-news-hero",children:[(0,r.jsx)("div",{className:"mc-news-hero-eye",children:e("newsHeroEye")}),(0,r.jsxs)("div",{className:"mc-news-hero-search",children:[(0,r.jsx)("span",{"aria-hidden":"true",style:{fontSize:15,opacity:.75},children:"\u{1F50E}"}),(0,r.jsx)("input",{type:"text",value:x,onChange:C=>{v.current=!0,m(C.target.value)},onKeyDown:C=>{C.key==="Enter"&&Fe(x)},placeholder:e("newsSearch"),"aria-label":e("newsSearch")}),x?(0,r.jsx)("button",{type:"button",className:"mc-news-hero-clear",title:e("cancel"),onClick:()=>{m(""),Fe("")},children:"\u2715"}):null,(0,r.jsx)("button",{type:"button",className:"mc-news-hero-go",onClick:()=>Fe(x),children:e("newsSearchGo")}),x.trim()?(0,r.jsxs)("button",{type:"button",className:"mc-news-hero-follow",disabled:qe,onClick:Pt,title:e("newsFollowPreview"),children:["\uFF0B ",e("newsFollow")]}):null]}),(0,r.jsx)("div",{className:"mc-news-hero-hint",children:e(ge?"newsIntentHint":"newsHeroHint")})]}),ie?(0,r.jsxs)("div",{className:"mc-news-follow-draft",children:[(0,r.jsxs)("div",{className:"draft-head",children:["\u{1F514} ",e("newsFollowPreview")]}),(0,r.jsxs)("div",{className:"draft-body",children:[(0,r.jsx)("b",{children:ie.label}),ie.query?(0,r.jsxs)("span",{className:"draft-q",children:["\xB7 \u300C",ie.query,"\u300D"]}):null,(0,r.jsxs)("div",{className:"draft-doms",children:[(0,r.jsx)("span",{className:"draft-lbl",children:e("newsFollowDomains")}),Pe.map(C=>(0,r.jsxs)("label",{className:"draft-opt",title:C.hint||"",children:[(0,r.jsx)("input",{type:"checkbox",checked:ie.domains.includes(C.id),onChange:z=>Ke(C.id,z.target.checked)}),(0,r.jsx)("span",{children:C.label})]},C.id))]}),ie.notes.map((C,z)=>(0,r.jsxs)("div",{className:"draft-note",children:["\xB7 ",C]},z))]}),(0,r.jsxs)("div",{className:"draft-actions",children:[(0,r.jsx)("button",{type:"button",className:"mc-btn",onClick:()=>ne(null),children:e("cancel")}),(0,r.jsx)("button",{type:"button",className:"mc-btn me-on",disabled:qe||!ie.domains.length,onClick:An,children:e("newsFollowConfirm")})]})]}):null,G.length>0?(0,r.jsx)("div",{className:"mc-news-follows",children:G.map(C=>(0,r.jsxs)("span",{className:"mc-news-follow-chip"+(ae===C.id?" on":""),children:[(0,r.jsxs)("button",{type:"button",className:"chip-main",onClick:()=>H(z=>z===C.id?"":C.id),title:(C.domains||[]).join(" / "),children:["\u{1F514} ",C.label,(0,r.jsx)("i",{children:C.count||0})]}),(0,r.jsx)("button",{type:"button",className:"chip-x",title:e("delete"),"aria-label":e("delete"),onClick:()=>Me(C.id),children:"\u2715"})]},C.id))}):null,wt?(0,r.jsxs)("div",{className:"mc-news-pref",children:[(0,r.jsxs)("span",{children:["\u{1F3AF} ",e("newsPersonalized")]}),y?(0,r.jsxs)("span",{children:["\xB7 ",e("newsLastQuery")," ",(0,r.jsx)("b",{children:y})]}):null,Ce.length>0?(0,r.jsxs)("span",{children:["\xB7 ",Ce.join(" / ")]}):null,de.length>0?(0,r.jsxs)("span",{children:["\xB7 ",de.map(te).join(" / ")]}):null,(0,r.jsx)("span",{className:"mc-news-pref-actions",children:(0,r.jsx)("button",{type:"button",className:"mc-btn",onClick:wn,children:e("newsResetPrefs")})})]}):null,(0,r.jsxs)("div",{className:"mc-news-feed-toolbar",children:[(0,r.jsxs)("div",{className:"mc-news-pills",children:[(0,r.jsxs)("button",{type:"button",className:"mc-news-pill"+(F===""?" on":""),onClick:()=>P(""),children:[e("all"),(0,r.jsx)("span",{className:"mc-news-pill-count",children:k.length})]}),i.map(C=>K[C.id]?(0,r.jsxs)("button",{type:"button",className:"mc-news-pill"+(F===C.id?" on":""),onClick:()=>P(F===C.id?"":C.id),children:[C.label,(0,r.jsx)("span",{className:"mc-news-pill-count",children:K[C.id]})]},C.id):null)]}),(0,r.jsxs)("span",{style:{marginLeft:"auto",display:"flex",alignItems:"center",gap:6,flexWrap:"wrap"},children:[(0,r.jsx)("button",{type:"button",className:"mc-chip"+(D==="zh"?" active":""),onClick:()=>I("zh"),children:e("newsLangZh")}),(0,r.jsx)("button",{type:"button",className:"mc-chip"+(D==="en"?" active":""),onClick:()=>I("en"),children:e("newsLangEn")}),(0,r.jsx)("button",{type:"button",className:"mc-chip"+(D===""?" active":""),onClick:()=>I(""),children:e("newsLangAll")}),(0,r.jsx)("button",{type:"button",className:"mc-chip"+(W==="rec"?" active":""),onClick:()=>$("rec"),children:e("newsSortRec")}),(0,r.jsx)("button",{type:"button",className:"mc-chip"+(W==="time"?" active":""),onClick:()=>$("time"),children:e("newsSortTime")}),(0,r.jsx)("button",{type:"button",className:"mc-btn",disabled:s,onClick:se,children:e(s?"newsLoading":"newsFeedRefresh")})]})]}),(0,r.jsxs)("div",{className:"mc-news-feed-meta",style:{margin:"0 0 8px"},children:[p?e("newsUpdatedAt")+" "+new Date(p).toLocaleTimeString():"",s?"":" \xB7 "+V.length+" "+e("newsMatched")]}),t==="month"&&(0,r.jsx)("div",{className:"mc-news-feed-warn",style:{color:"var(--dsw-alias-label-secondary, #6b7280)",background:"transparent",borderColor:"var(--dsw-alias-border-l1, #e5e7eb)"},children:e(j?"newsEnRanking":"newsZhArchive")}),S&&!s&&(0,r.jsxs)("div",{className:"mc-news-feed-warn",style:{display:"flex",alignItems:"center",gap:10,flexWrap:"wrap"},children:[(0,r.jsxs)("span",{children:["\u26A0 ",S]}),(0,r.jsx)("button",{type:"button",className:"mc-btn",onClick:se,children:e("newsRetry")})]}),b.length>0&&(0,r.jsxs)("div",{className:"mc-news-feed-warn",children:["\u26A0 ",e("newsPartialFail"),"\uFF1A",b.slice(0,2).join("\uFF1B")]}),s?(0,r.jsxs)("div",{className:"mc-card mc-news-feed-empty mc-news-loading-card",role:"status","aria-live":"polite",children:[(0,r.jsx)(Sl,{}),(0,r.jsx)("span",{children:e("newsLoading")}),(0,r.jsx)("small",{children:e("newsLoadingHint")})]}):a.length===0?(0,r.jsxs)("div",{className:"mc-card mc-news-feed-empty",children:[(0,r.jsx)("div",{children:e("newsFeedEmpty")}),(0,r.jsx)("button",{type:"button",className:"mc-btn me-on",style:{marginTop:10},onClick:se,children:e("newsFeedRefresh")})]}):V.length===0?(0,r.jsxs)("div",{className:"mc-card mc-news-feed-empty mc-news-nomatch",children:[(0,r.jsx)("div",{children:e("newsNoMatch")}),(0,r.jsx)("p",{style:{margin:"6px 0 0",fontSize:11.5,lineHeight:1.6,opacity:.75},children:e("newsNoMatchHint")}),(0,r.jsx)("button",{type:"button",className:"mc-btn me-on",style:{marginTop:10},onClick:ln,children:e("newsClearFilters")})]}):(0,r.jsxs)(r.Fragment,{children:[!ae&&fe.length>0?(0,r.jsxs)("div",{className:"mc-news-follow-sec",children:[(0,r.jsxs)("div",{className:"mc-news-follow-sec-head",children:[(0,r.jsxs)("span",{children:["\u{1F514} ",e("newsFollowing")]}),(0,r.jsx)("em",{children:w.length})]}),(0,r.jsx)("div",{className:"mc-news-grid"+(ye?" is-swapping":""),children:fe.map((C,z)=>T(C,z))})]}):null,(0,r.jsx)("div",{className:"mc-news-grid"+(ye?" is-swapping":""),children:Oe.map((C,z)=>T(C,z))})]})]})}function C0({t:e,version:t,onUnreadChange:n}){let[a,o]=(0,u.useState)("daily"),i=a==="month"?"newsMonthlySub":a==="mine"?"newsMineSub":"newsDailySub";return(0,r.jsxs)("div",{className:"mc-news",children:[(0,r.jsx)("div",{className:"mc-v5-pagehead",children:(0,r.jsxs)("div",{children:[(0,r.jsx)("div",{className:"mc-v5-eyebrow",children:"NEWSROOM"}),(0,r.jsx)("h1",{children:e("newsTitle")}),(0,r.jsx)("p",{children:e(i)})]})}),(0,r.jsxs)("div",{className:"mc-news-modes",children:[(0,r.jsx)("button",{type:"button",className:"mc-news-mode"+(a==="daily"?" active":""),onClick:()=>o("daily"),children:e("newsDaily")}),(0,r.jsx)("button",{type:"button",className:"mc-news-mode"+(a==="month"?" active":""),onClick:()=>o("month"),children:e("newsMonthly")}),(0,r.jsx)("button",{type:"button",className:"mc-news-mode"+(a==="mine"?" active":""),onClick:()=>o("mine"),children:e("newsMine")})]}),a==="mine"?(0,r.jsx)(N0,{t:e,version:t,onUnreadChange:n}):(0,r.jsx)(S0,{t:e,mode:a,version:t})]})}function N0({t:e,version:t,onUnreadChange:n}){let[a,o]=(0,u.useState)([]),[i,l]=(0,u.useState)([]),[s,c]=(0,u.useState)({all:0,unread:0}),[p,f]=(0,u.useState)(""),[b,h]=(0,u.useState)(""),[S,L]=(0,u.useState)(""),[M,_]=(0,u.useState)(!1),[x,m]=(0,u.useState)(""),[y,R]=(0,u.useState)(null),[F,P]=(0,u.useState)(null),[D,I]=(0,u.useState)(!1),[W,$]=(0,u.useState)(""),[le,he]=(0,u.useState)(null),ye=(H,U=!0)=>{he({msg:H,ok:U}),setTimeout(()=>he(null),2600)};(0,u.useEffect)(()=>{let H=setTimeout(()=>h(p.trim()),220);return()=>clearTimeout(H)},[p]);let Re=(0,u.useCallback)(async()=>{let H=new URLSearchParams;b&&H.set("q",b),S&&H.set("category",S),M&&H.set("unread","1");try{let U=await fetch(Z+"/news?"+H.toString()).then(v=>v.json());if(!U||!U.ok)throw new Error(U&&U.error||"load failed");o(U.items||[]),l(U.categories||[]),c(U.counts||{all:0,unread:0}),n&&n(Number((U.counts||{}).unread)||0)}catch{ye(e("newsSaveFail"),!1)}},[b,S,M,n,e]);(0,u.useEffect)(()=>{Re()},[t,Re]);let G=async H=>{m(H.id);try{let U=await fetch(Z+"/news/item?id="+encodeURIComponent(H.id)).then(v=>v.json());if(!U||!U.ok)throw new Error(U&&U.error||"load failed");R(U.item),U.item.read||await He(H.id,!0)}catch{ye(e("newsSaveFail"),!1)}},He=async(H,U)=>{try{let v=await fetch(Z+"/news/read",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:H,read:U})}).then(Q=>Q.json());if(!v||!v.ok)throw new Error(v&&v.error||"read failed");R(Q=>Q&&Q.id===H?{...Q,read:!!U}:Q),await Re()}catch{ye(e("newsSaveFail"),!1)}},Pe=async H=>{if(I(!1),H){let U=H;if(!U.body)try{let v=await fetch(Z+"/news/item?id="+encodeURIComponent(U.id)).then(Q=>Q.json());v&&v.ok&&(U=v.item)}catch{}P({id:U.id,title:U.title||"",date:U.date||ud(),category:U.category||"",source:U.source||"",url:U.url||"",tags:(U.tags||[]).join(", "),pinned:!!U.pinned,body:U.body||"",created:U.created||""})}else P({...u0,date:ud()})},Ne=async()=>{if(F){if(!String(F.title||"").trim()||!String(F.body||"").trim()){ye(e("newsSaveFail"),!1);return}$("save");try{let H={id:F.id||void 0,title:F.title,date:F.date,category:F.category,source:F.source,url:F.url,tags:String(F.tags||"").split(",").map(v=>v.trim()).filter(Boolean),pinned:!!F.pinned,body:F.body,created:F.created},U=await fetch(Z+"/news/save",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(H)}).then(v=>v.json());if(!U||!U.ok)throw new Error(U&&U.error||"save failed");P(null),m(U.item.id),R(U.item),await Re(),ye(e("newsSaved"))}catch(H){ye(H&&H.message||e("newsSaveFail"),!1)}finally{$("")}}},ie=async H=>{if(window.confirm(e("newsDeleteConfirm"))){$("delete");try{let U=await fetch(Z+"/news/delete",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:H.id})}).then(v=>v.json());if(!U||!U.ok)throw new Error(U&&U.error||"delete failed");x===H.id&&(m(""),R(null)),await Re(),ye(e("newsDeleted"))}catch{ye(e("newsSaveFail"),!1)}finally{$("")}}},ne=a.filter(H=>H.pinned),qe=a.filter(H=>!H.pinned),Ye=y?md(y.url):"",ae="";return(0,r.jsxs)("div",{className:"mc-news",children:[(0,r.jsx)(Nl,{toast:le}),(0,r.jsxs)("div",{className:"mc-news-toolbar",children:[(0,r.jsxs)("span",{className:"mc-news-feed-meta",style:{marginLeft:0},children:[s.all," ",e("newsCountUnit")," \xB7 ",s.unread," ",e("newsUnread")]}),(0,r.jsxs)("button",{type:"button",className:"mc-btn me-on",onClick:()=>Pe(null),children:["\uFF0B ",e("newsNew")]}),(0,r.jsx)("input",{className:"mc-news-search",type:"text",value:p,onChange:H=>f(H.target.value),placeholder:e("newsSearch"),"aria-label":e("newsSearch")}),(0,r.jsx)("button",{type:"button",className:"mc-chip"+(S===""?" active":""),onClick:()=>L(""),children:e("all")}),i.map(H=>(0,r.jsx)("button",{type:"button",className:"mc-chip"+(S===H?" active":""),onClick:()=>L(U=>U===H?"":H),children:H},H)),(0,r.jsx)("button",{type:"button",className:"mc-chip"+(M?" active":""),onClick:()=>_(H=>!H),children:e("newsUnreadOnly")}),(0,r.jsx)("button",{type:"button",className:"mc-btn",onClick:()=>Re(),children:e("refresh")})]}),(0,r.jsxs)("div",{className:"mc-news-main",children:[(0,r.jsx)("div",{className:"mc-news-list",children:a.length===0?(0,r.jsxs)("div",{className:"mc-card mc-news-empty",children:[e(p||S||M?"newsNoMatch":"newsEmpty"),!p&&!S&&!M&&(0,r.jsx)("div",{style:{marginTop:10},children:(0,r.jsxs)("button",{type:"button",className:"mc-btn me-on",onClick:()=>Pe(null),children:["\uFF0B ",e("newsNew")]})})]}):(0,r.jsxs)(r.Fragment,{children:[ne.length>0&&(0,r.jsxs)("div",{className:"mc-news-group",children:[(0,r.jsxs)("div",{className:"mc-news-group-label",children:["\u{1F4CC} ",e("newsPinned")]}),ne.map(H=>(0,r.jsx)(Hf,{item:H,t:e,active:x===H.id,onOpen:G,onEdit:U=>Pe(U),onToggleRead:U=>He(U.id,!U.read),onDelete:ie},H.id))]}),(0,r.jsx)("div",{className:"mc-news-group",children:qe.map(H=>{let U=m0(H.date,e),v=U!==ae;return ae=U,(0,r.jsxs)(u.default.Fragment,{children:[v&&(0,r.jsx)("div",{className:"mc-news-group-label",children:U}),(0,r.jsx)(Hf,{item:H,t:e,active:x===H.id,onOpen:G,onEdit:Q=>Pe(Q),onToggleRead:Q=>He(Q.id,!Q.read),onDelete:ie})]},H.id)})})]})}),y&&(0,r.jsxs)("aside",{className:"mc-news-reader",children:[(0,r.jsxs)("div",{className:"mc-news-reader-head",children:[(0,r.jsx)("span",{className:"mc-news-cat",children:y.category||e("newsCategoryField")}),y.pinned&&(0,r.jsxs)("span",{className:"mc-news-pin",children:["\u{1F4CC} ",e("newsPinned")]}),(0,r.jsx)("div",{style:{flex:1}}),(0,r.jsx)("button",{type:"button",className:"mc-btn",style:{padding:"2px 8px"},onClick:()=>{R(null),m("")},title:e("close"),children:"\u2715"})]}),(0,r.jsx)("h2",{children:y.title}),(0,r.jsxs)("div",{className:"mc-news-reader-meta",children:[(0,r.jsx)("span",{children:y.date||""}),y.source&&(0,r.jsxs)("span",{children:["\xB7 ",y.source]}),(0,r.jsxs)("span",{children:["\xB7 ",y.read?e("newsRead"):e("newsUnread")]}),(y.tags||[]).map(H=>(0,r.jsxs)("span",{children:["#",H]},H))]}),Ye&&(0,r.jsx)("div",{style:{marginTop:8},children:(0,r.jsxs)("a",{className:"mc-btn",style:{textDecoration:"none"},href:Ye,target:"_blank",rel:"noopener noreferrer",children:["\u2197 ",e("newsOpenLink")]})}),(0,r.jsx)("div",{className:"md-doc",style:{marginTop:12},dangerouslySetInnerHTML:{__html:_o(bd(y.body||"",y.title))}}),(0,r.jsxs)("div",{className:"mc-news-reader-actions",children:[(0,r.jsx)("button",{type:"button",className:"mc-btn",onClick:()=>Pe(y),children:e("newsEdit")}),(0,r.jsx)("button",{type:"button",className:"mc-btn",onClick:()=>He(y.id,!y.read),children:y.read?e("newsMarkUnread"):e("newsMarkRead")}),(0,r.jsx)("button",{type:"button",className:"mc-btn",style:{color:"#f87171"},disabled:W==="delete",onClick:()=>ie(y),children:e("delete")})]})]})]}),F&&(0,r.jsx)("div",{className:"me-overlay",onClick:()=>P(null),children:(0,r.jsxs)("div",{className:"me-dialog",style:{maxWidth:860,width:"94vw",maxHeight:"90vh"},onClick:H=>H.stopPropagation(),children:[(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,padding:"14px 18px",borderBottom:"1px solid var(--dsw-alias-border-l1, #e5e7eb)"},children:[(0,r.jsx)("b",{children:F.id?e("newsEdit"):e("newsNew")}),(0,r.jsx)("div",{style:{flex:1}}),(0,r.jsx)("button",{type:"button",className:"mc-btn",onClick:()=>P(null),children:e("close")})]}),(0,r.jsxs)("div",{style:{padding:16,overflow:"auto",maxHeight:"calc(90vh - 60px)"},children:[(0,r.jsxs)("div",{className:"mc-news-form",children:[(0,r.jsxs)("label",{className:"full",children:[(0,r.jsx)("span",{children:e("newsTitleField")}),(0,r.jsx)("input",{className:"mc-news-input",value:F.title,onChange:H=>P(U=>({...U,title:H.target.value})),placeholder:e("newsTitlePlaceholder")})]}),(0,r.jsxs)("label",{children:[(0,r.jsx)("span",{children:e("newsDateField")}),(0,r.jsx)("input",{className:"mc-news-input",type:"date",value:F.date||"",onChange:H=>P(U=>({...U,date:H.target.value}))})]}),(0,r.jsxs)("label",{children:[(0,r.jsx)("span",{children:e("newsCategoryField")}),(0,r.jsx)("input",{className:"mc-news-input",list:"me-news-categories",value:F.category||"",onChange:H=>P(U=>({...U,category:H.target.value}))})]}),(0,r.jsx)("datalist",{id:"me-news-categories",children:i.map(H=>(0,r.jsx)("option",{value:H},H))}),(0,r.jsxs)("label",{children:[(0,r.jsx)("span",{children:e("newsSourceField")}),(0,r.jsx)("input",{className:"mc-news-input",value:F.source||"",onChange:H=>P(U=>({...U,source:H.target.value}))})]}),(0,r.jsxs)("label",{children:[(0,r.jsx)("span",{children:e("newsUrlField")}),(0,r.jsx)("input",{className:"mc-news-input",value:F.url||"",onChange:H=>P(U=>({...U,url:H.target.value})),placeholder:"https://\u2026"})]}),(0,r.jsxs)("label",{children:[(0,r.jsx)("span",{children:e("newsTagsField")}),(0,r.jsx)("input",{className:"mc-news-input",value:F.tags||"",onChange:H=>P(U=>({...U,tags:H.target.value}))})]}),(0,r.jsxs)("label",{style:{flexDirection:"row",alignItems:"center",gap:8,paddingTop:18},children:[(0,r.jsx)("input",{type:"checkbox",checked:!!F.pinned,onChange:H=>P(U=>({...U,pinned:H.target.checked}))}),(0,r.jsx)("span",{children:e("newsPinField")})]}),(0,r.jsxs)("label",{className:"full",children:[(0,r.jsx)("span",{children:e("newsBodyField")}),(0,r.jsx)("textarea",{className:"mc-news-textarea",value:F.body||"",onChange:H=>P(U=>({...U,body:H.target.value})),placeholder:e("newsBodyPlaceholder")})]}),D&&(0,r.jsx)("div",{className:"full mc-news-preview",children:(0,r.jsx)("div",{className:"md-doc",dangerouslySetInnerHTML:{__html:_o(F.body||"")}})})]}),(0,r.jsxs)("div",{style:{display:"flex",gap:8,justifyContent:"flex-end",marginTop:14},children:[(0,r.jsx)("button",{type:"button",className:"mc-btn",onClick:()=>I(H=>!H),children:e(D?"newsEditBody":"newsPreview")}),(0,r.jsx)("button",{type:"button",className:"mc-btn",onClick:()=>P(null),children:e("cancel")}),(0,r.jsx)("button",{type:"button",className:"mc-btn me-on",disabled:W==="save",onClick:Ne,children:e(W==="save"?"newsSaving":"newsSave")})]})]})]})})]})}function T0({t:e,onReload:t,version:n}){let[a,o]=(0,u.useState)([]),[i,l]=(0,u.useState)(""),[s,c]=(0,u.useState)(null),p=(h,S=!0)=>{c({msg:h,ok:S}),setTimeout(()=>c(null),3200)},f=(0,u.useCallback)(async()=>{try{let h=await fetch(`${Z}/recycle/list`).then(S=>S.json());h.ok&&o(h.items||[])}catch{}},[]);(0,u.useEffect)(()=>{f()},[n,f]);let b=async(h,S)=>{let L=(a.find(M=>M.path===S)||{}).title||S;l(h+S);try{let _=await fetch(Z+(h==="restore"?"/recycle/restore":"/recycle/purge")+"?path="+encodeURIComponent(S)),x=await _.json().catch(()=>null);await f(),t&&t(),_.ok&&(!x||x.ok!==!1)?p(e(h==="restore"?"toastRestored":"toastPurged")+"\uFF1A"+L):p(e("toastFailed")+"\uFF1A"+(x&&x.error||"HTTP "+_.status),!1)}catch(M){p(e("toastFailed")+"\uFF1A"+String(M&&M.message||M),!1)}finally{l("")}};return(0,r.jsxs)("div",{className:"mc-admin",style:{display:"flex",flexDirection:"column",overflow:"auto",flex:1,minHeight:0},children:[(0,r.jsx)("style",{children:xn}),(0,r.jsxs)("div",{style:{overflow:"auto",padding:4},children:[(0,r.jsx)(Nl,{toast:s}),(0,r.jsxs)("div",{className:"mc-v5-pagehead",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("div",{className:"mc-v5-eyebrow",children:"RECYCLE CENTER"}),(0,r.jsx)("h1",{children:e("tabRecycle")}),(0,r.jsx)("p",{children:e("recyclePageSub")})]}),(0,r.jsx)("span",{className:"mc-v5-pagecount",children:a.length}),(0,r.jsxs)("button",{type:"button",className:"mc-btn mc-danger",disabled:!!i||a.length===0,title:a.length?e("recyclePurgeAllConfirm").split("{n}").join(String(a.length)):e("emptyRecycle"),onClick:async()=>{if(a.length&&window.confirm(e("recyclePurgeAllConfirm").split("{n}").join(String(a.length)))){l("purgeAll");try{let h=await fetch(Z+"/recycle/purge-all",{method:"POST"}),S=await h.json().catch(()=>null);await f(),t&&t(),h.ok&&(!S||S.ok!==!1)?p(e("toastPurgeAll").split("{n}").join(String(S&&S.purged!=null?S.purged:a.length)),!0):p(e("toastFailed")+"\uFF1A"+(S&&S.error||"HTTP "+h.status),!1)}catch(h){p(e("toastFailed")+"\uFF1A"+String(h&&h.message||h),!1)}finally{l("")}}},children:["\u{1F5D1} ",e("recyclePurgeAll"),a.length?"\uFF08"+a.length+"\uFF09":""]})]}),(0,r.jsx)("div",{className:"mc-v5-recycle-hint",children:e("recycleHint")}),a.length?(0,r.jsx)("div",{className:"mc-card mc-v5-recycle",children:a.map(h=>{let S=Kt[h.kind]||"#6B7280";return(0,r.jsxs)("div",{className:"mc-v5-recycle-row",children:[(0,r.jsx)("span",{className:"mc-v5-recycle-tile",style:{color:S,background:S+"18",borderColor:S+"38"},children:Ir[h.kind]||"\u{1F4CE}"}),(0,r.jsxs)("div",{className:"mc-v5-recycle-copy",children:[(0,r.jsx)("b",{children:h.title}),(0,r.jsxs)("span",{children:[e(Nt[h.kind]||"kindKnowledge")," \xB7 ",h.status==="rejected"?e("rejected"):e("bucketDeleted")," \xB7 ",hl(h.deletedAt||h.updated)||"-"]})]}),(0,r.jsxs)("div",{className:"mc-v5-recycle-actions",children:[(0,r.jsx)("button",{type:"button",className:"mc-btn",disabled:!!i,title:h.status==="rejected"?e("restoreToQueue"):e("restore"),onClick:()=>b("restore",h.path),children:h.status==="rejected"?e("restoreToQueue"):e("restore")}),(0,r.jsx)("button",{type:"button",className:"mc-btn mc-danger",disabled:!!i,onClick:()=>{window.confirm(e("purgeConfirm"))&&b("purge",h.path)},children:e("purge")})]})]},h.path)})}):(0,r.jsxs)("div",{className:"mc-card mc-v5-empty-state",children:["\u{1F5D1}\uFE0F ",(0,r.jsx)("b",{children:e("emptyRecycle")}),(0,r.jsx)("span",{children:e("recycleEmptyHint").split("{days}").join("30")})]})]})]})}var bd=(e,t)=>{let n=String(e||"").split(/\r?\n/),a=i=>String(i||"").replace(/[#*_`]/g,"").replace(/[\s::\-–—·]/g,"").trim(),o=a(t);for(;;){let i=0;for(;i<n.length&&!n[i].trim();)i++;let l=/^#{1,2}\s+(.+?)\s*$/.exec(n[i]||"");if(!l||a(l[1])!==o)break;for(n.splice(i,1);i<n.length&&!n[i].trim();)n.splice(i,1)}return n.join(`
1154
- `)},M0=e=>{let t=[],n=!1,a=0;for(let o of String(e||"").split(/\r?\n/)){let i=o.trim();if(/^```/.test(i)){n=!n;continue}if(n)continue;let l=/^(#{1,6})\s+(.+)$/.exec(i);if(!l)continue;a++;let s=l[1].length;s<=3&&t.push({id:"md-h-"+a,level:s,text:l[2].replace(/[#*_`>\[\]()]/g,"").replace(/\s+/g," ").trim()})}return t},xd=e=>{let t=String(e.summary||"").replace(/[#>*_`]/g," ").replace(/\s+/g," ").trim();return t.length>150?t.slice(0,148)+"\u2026":t},Zf=e=>{let t=String(e.summary||"").toLowerCase();return/决策|结论|决定|decision/.test(t)?"insightDecision":/根因|原因|root cause/.test(t)?"insightRoot":/教训|避免|lesson/.test(t)?"insightLesson":"insightSummary"},eg=({n:e=0,color:t="#ff9a72",size:n=30})=>{let a=Math.max(2,Math.min(6,Number(e)||2)),o=Array.from({length:a},(i,l)=>{let s=-Math.PI/2+l*Math.PI*2/a,c=l%2?13:16;return[20+Math.cos(s)*c,20+Math.sin(s)*c]});return(0,r.jsxs)("svg",{className:"mc-v5-mini",width:n,height:n,viewBox:"0 0 40 40","aria-hidden":"true",children:[o.map(([i,l],s)=>(0,r.jsx)("line",{x1:"20",y1:"20",x2:i,y2:l,stroke:t,strokeOpacity:".35"},"l"+s)),o.map(([i,l],s)=>(0,r.jsx)("circle",{cx:i,cy:l,r:s%2?2.2:1.8,fill:t,fillOpacity:s%2?.8:.55},"c"+s)),(0,r.jsx)("circle",{cx:"20",cy:"20",r:"2.6",fill:t})]})},E0=({card:e,t,onOpen:n,query:a,onDelete:o,onTagClick:i,pinned:l,onPin:s,onCore:c,links:p})=>{let f=Kt[e.kind]||Kt.other,b=Number(p??e.links??e.weight??0),h=ld(e);return(0,r.jsxs)("article",{className:`mc-cardrow mc-card mc-v5-card${l?" pinned":""}${e.kind==="core"?" core":""}`,onClick:()=>n(e),children:[(0,r.jsxs)("div",{className:"mc-v5-card-top",children:[(0,r.jsx)("span",{className:"mc-v5-card-tile",style:{color:f,background:f+"18",borderColor:f+"38"},children:Ir[e.kind]||"\u{1F4CE}"}),(0,r.jsx)("span",{className:"mc-v5-card-kind-name",children:e.kind==="core"?"\u2B50 "+t("kindCore"):t(Nt[e.kind]||"kindKnowledge")}),e.kind==="core"&&(0,r.jsxs)("span",{className:"mc-v5-core-badge",children:["\u2B50 ",t("kindCore")]}),e.status==="pending"&&(0,r.jsxs)("span",{className:"mc-v5-card-status pending",children:["\u23F3 ",t("statusPending")]}),e.status==="rejected"&&(0,r.jsxs)("span",{className:"mc-v5-card-status rejected",children:["\u26D4 ",t("statusRejected")]}),j0(e.updated)&&(0,r.jsx)("span",{className:"mc-new",children:t("newBadge")}),(0,r.jsx)("span",{className:"spacer",style:{flex:1}}),(0,r.jsx)("span",{className:"mc-v5-card-time",children:cr(e.updated)}),c&&e.status!=="pending"&&e.status!=="rejected"&&(0,r.jsx)("button",{type:"button",className:`mc-v5-core${e.kind==="core"?" on":""}`,title:t(e.kind==="core"?"unsetCore":"setCore"),onClick:S=>{S.stopPropagation(),c(e.path,e.kind==="core"?"knowledge":"core")},children:e.kind==="core"?"\u2B50 "+t("coreShort"):"\u2606 "+t("setCoreShort")}),s&&(0,r.jsx)("button",{type:"button",className:`mc-v5-pin${l?" on":""}`,title:t(l?"unpinCard":"pinCard"),"aria-label":t(l?"unpinCard":"pinCard"),onClick:S=>{S.stopPropagation(),s(e.path)},children:"\u{1F4CC}"})]}),(0,r.jsx)("h4",{className:"mc-v5-card-title",children:a?dd(e.title,a):e.title}),(0,r.jsxs)("div",{className:"mc-v5-card-insight",children:[(0,r.jsx)("span",{className:"mc-v5-insight-k",children:t(Zf(e))}),(0,r.jsx)("span",{className:"mc-v5-card-lead",children:a?dd(e.summary||"",a):xd(e)})]}),a&&(()=>{let S=ff(e.body||"",a);return S?(0,r.jsx)("p",{className:"mc-snippet",children:dd(S,a)}):null})(),ld(e).length>0&&(0,r.jsxs)("div",{className:"mc-tags mc-v5-card-tags",children:[ld(e).slice(0,2).map(S=>(0,r.jsxs)("button",{type:"button",className:"mc-tag mc-tag-click",title:S,onClick:L=>{L.stopPropagation(),i&&i(S)},children:["#",S]},S)),h.length>2&&(0,r.jsxs)("span",{className:"mc-tag more",children:["+",h.length-2]})]}),(0,r.jsxs)("footer",{className:"mc-v5-card-foot",children:[b>0&&(0,r.jsxs)("span",{className:"mc-v5-conn",children:[(0,r.jsx)(eg,{n:b,color:f})," ",(0,r.jsx)("b",{children:b})," ",t("links")]}),(0,r.jsxs)("span",{className:"mc-v5-author",children:["\u{1F916} ",Fr(e.submittedBy)]}),(0,r.jsx)("span",{className:"spacer",style:{flex:1}}),(0,r.jsx)("button",{type:"button",className:"mc-card-del",title:t("delete"),onClick:S=>{S.stopPropagation(),window.confirm(t("deleteConfirm"))&&o&&o(e.path)},children:"\u{1F5D1}"})]})]})};function z0({t:e,tab:t,onReload:n,version:a}){let[o,i]=(0,u.useState)(null),[l,s]=(0,u.useState)(""),[c,p]=(0,u.useState)(null),[f,b]=(0,u.useState)(null),[h,S]=(0,u.useState)(null),[L,M]=(0,u.useState)(null),[_,x]=(0,u.useState)(null),[m,y]=(0,u.useState)(null),R=(0,u.useCallback)(async()=>{W("align");try{let k=await fetch(Z+"/align").then(K=>K.json());k&&k.findings?y(k):notify(e("alignFail"),!1)}catch{notify(e("alignFail"),!1)}finally{W("")}},[e]),F=async()=>{if(window.confirm(e("alignFixConfirm"))){W("alignfix");try{let k=await fetch(Z+"/setup-run",{method:"POST",headers:{"Content-Type":"application/json"},body:"{}"}).then(K=>K.json());k&&k.ok?(notify(e("alignFixed")),await R()):notify(e("alignFail"),!1)}catch{notify(e("alignFail"),!1)}finally{W("")}}},[P,D]=(0,u.useState)([]),[I,W]=(0,u.useState)(""),[$,le]=(0,u.useState)(!1),he=(0,u.useCallback)(async()=>{if(!(!c||!c.merge||!c.merge.length)&&window.confirm(e("mergeAllConfirm"))){W("merge");try{let k={},K=me=>k[me]===void 0?me:k[me]=K(k[me]),V=(me,j)=>{k[K(me)]=K(j)},ge=new Set;for(let me of c.merge)ge.add(me.a.path),ge.add(me.b.path),V(me.a.path,me.b.path);let xe={};for(let me of ge){let j=K(me);(xe[j]=xe[j]||[]).push(me)}let ve=0;for(let me of Object.values(xe)){if(me.length<2)continue;(await fetch(`${Z}/merge?paths=${encodeURIComponent(me.join(","))}`).then(ue=>ue.json())).ok&&ve++}await ye(),n&&n()}catch{}W("")}},[c,ye,n,e]);async function ye(){try{let k=await Promise.all([fetch(`${Z}/stats`),fetch(`${Z}/budget`),fetch(`${Z}/capture-log`),fetch(`${Z}/cards?status=all&limit=30&agent=${Wo}`),fetch(`${Z}/overview`),fetch(`${Z}/ledger?days=7`)]),[K,V,ge,xe,ve,me]=await Promise.all(k.map(j=>j.json()));K&&K.ok&&i(K),V&&V.ok&&b(V),ge&&ge.ok&&S(ge),xe&&xe.ok&&D(xe.cards||[]),ve&&ve.ok&&M({db:ve.db,backups:ve.backups,total:ve.total,version:ve.version,degraded:ve.degraded===!0}),x(me&&me.ok?me:{ok:!1,error:me&&me.error||""}),s(!K||!K.ok?e("adminLoadFail"):"")}catch{s(e("adminLoadFail"))}}let Re=(0,u.useCallback)(async()=>{W("scan");try{let k=await fetch(`${Z}/optimize`).then(K=>K.json());k.ok&&p(k)}catch{s(e("adminLoadFail"))}finally{W("")}},[e]),[G,He]=(0,u.useState)(null),Pe=(0,u.useCallback)(async()=>{W("refine");try{let k=await fetch(`${Z}/refine-scan`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({limit:8})}).then(K=>K.json());k&&k.ok?He(k):notify(k&&k.error||e("refineFail"),!1)}catch{notify(e("refineFail"),!1)}finally{W("")}},[e]),Ne=async(k,K)=>{if(!(K==="merge"&&!window.confirm(e("mergeConfirm")))){W("refineapply");try{let V=await fetch(`${Z}/refine-apply`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({a:k.a.path,b:k.b.path,action:K,relation:k.relation})}).then(ge=>ge.json());V&&V.ok?(notify(e("refineApplied")),He(ge=>ge&&{...ge,findings:(ge.findings||[]).filter(xe=>!(xe.a.path===k.a.path&&xe.b.path===k.b.path))}),await ye(),n&&n()):notify(V&&V.error||e("refineFail"),!1)}catch{notify(e("refineFail"),!1)}finally{W("")}}},[ie,ne]=(0,u.useState)(null),qe=(0,u.useCallback)(async()=>{W("junk");try{let k=await fetch(`${Z}/refine-junk`).then(K=>K.json());k&&k.ok?ne(k.items||[]):notify(e("junkFail"),!1)}catch{notify(e("junkFail"),!1)}finally{W("")}},[e]),Ye=async k=>{if(k.length&&window.confirm(e("junkRecycleAllConfirm"))){W("junkpurge");try{let K=await fetch(`${Z}/refine-junk-purge`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({paths:k})}).then(V=>V.json());K&&K.removed?(notify(e("junkDone")+"\uFF1A"+K.removed.length+(K.failed?.length?"\uFF08\u5931\u8D25 "+K.failed.length+"\uFF09":"")),ne(V=>V&&V.filter(ge=>!K.removed.includes(ge.path))),await ye(),n&&n()):notify(e("junkFail"),!1)}catch{notify(e("junkFail"),!1)}finally{W("")}}},[ae,H]=(0,u.useState)(null),U=(0,u.useCallback)(async()=>{W("goals");try{let k=await fetch(Z+"/refine-goals",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({limit:30})}).then(K=>K.json());k&&k.ok?H(k):notify(k&&k.error||e("goalFail"),!1)}catch{notify(e("goalFail"),!1)}finally{W("")}},[e]),v=async k=>{W("goalskeep");try{let K=await fetch(Z+"/refine-goals-keep",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({paths:k.members.map(V=>V.path)})}).then(V=>V.json());K&&K.ok?(notify(e("goalDone")),H(V=>V&&{...V,clusters:(V.clusters||[]).filter(ge=>ge.goal!==k.goal)})):notify(e("goalFail"),!1)}catch{notify(e("goalFail"),!1)}finally{W("")}},Q=async k=>{if(window.confirm(e("mergeConfirm"))){W("goalsmerge");try{let K=await fetch(Z+"/merge?paths="+encodeURIComponent(k.members.map(V=>V.path).join(","))).then(V=>V.json());K&&K.ok?(notify(e("goalMerged")),H(V=>V&&{...V,clusters:(V.clusters||[]).filter(ge=>ge.goal!==k.goal)}),await ye(),n&&n()):notify(e("mergeFail"),!1)}catch{notify(e("mergeFail"),!1)}finally{W("")}}};(0,u.useEffect)(()=>{ye()},[a]);let pe=async(k,K)=>{if(window.confirm(e("mergeConfirm")))try{(await fetch(`${Z}/merge?paths=${encodeURIComponent(k+","+K)}`).then(ge=>ge.json())).ok&&(await ye(),n&&n())}catch{}},Ie=async k=>{if(window.confirm(e("deleteConfirm")))try{(await fetch(`${Z}/delete?path=${encodeURIComponent(k)}`).then(V=>V.json())).ok&&(await ye(),n&&n())}catch{}},se=qf,te=({title:k,kind:K,updated:V,path:ge})=>(0,r.jsxs)("li",{style:{display:"flex",alignItems:"center",gap:8,padding:"3px 4px",borderBottom:"1px solid rgba(127,127,127,0.12)"},children:[(0,r.jsx)("span",{className:"mc-kind",style:{background:bn.colors[K]||"#666"}}),(0,r.jsx)("span",{style:{flex:1,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:k}),(0,r.jsx)("span",{style:{opacity:.55,fontSize:11},children:cr(V)}),(0,r.jsxs)("button",{type:"button",className:"mc-btn",style:{padding:"2px 8px"},onClick:()=>Ie(ge),children:[e("delete")," \u2715"]})]});return(0,r.jsxs)("div",{className:"mc-admin",style:{display:"flex",flexDirection:"column",overflow:"auto",flex:1,minHeight:0},children:[(0,r.jsx)("style",{children:xn}),(0,r.jsxs)("div",{style:{overflow:"auto"},children:[l&&(0,r.jsxs)("div",{className:"mc-card",style:{borderLeft:"4px solid #ef4444",background:"rgba(239,68,68,0.08)",padding:"12px 14px",marginBottom:10},children:[(0,r.jsxs)("div",{style:{fontSize:13,color:"#b91c1c",fontWeight:600,marginBottom:6},children:["\u26A0 ",l]}),(0,r.jsxs)("button",{type:"button",className:"mc-btn",onClick:ye,children:["\u21BB ",e("retry")]})]}),t==="stats"&&(0,r.jsxs)("div",{children:[(0,r.jsxs)("div",{className:"mc-v5-pagehead",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("div",{className:"mc-v5-eyebrow",children:"SYSTEM STATUS"}),(0,r.jsx)("h1",{children:e("runtimeTitle")}),(0,r.jsx)("p",{children:e("runtimeSub")})]}),(0,r.jsx)("span",{className:"mc-v5-pagecount",children:L?`${L.total||0} ${e("cardsUnit")}`:""}),(0,r.jsxs)("button",{type:"button",className:"mc-btn",onClick:()=>ye(),children:["\u21BB ",e("refresh")]})]}),(0,r.jsxs)("div",{className:"mc-v5-statusgrid",children:[(0,r.jsxs)("div",{className:"mc-v5-statuscard",children:[(0,r.jsx)("span",{className:"mc-v5-status-ico",children:"\u{1F5C4}\uFE0F"}),(0,r.jsx)("b",{children:L?L.total||0:"\u2014"}),(0,r.jsx)("span",{children:e("dbTitle")}),(0,r.jsx)("small",{children:L?.db?.journalMode||L?.db?.journal_mode||"SQLite"})]}),(0,r.jsxs)("div",{className:"mc-v5-statuscard",children:[(0,r.jsx)("span",{className:"mc-v5-status-ico",children:"\u{1F4BE}"}),(0,r.jsx)("b",{children:L?.backups?.count??"\u2014"}),(0,r.jsx)("span",{children:e("backupTitle")}),(0,r.jsx)("small",{children:L?.backups?.newestAt?`${Math.max(0,Math.floor((Date.now()-Number(L.backups.newestAt))/864e5))} \u5929\u524D`:"\u2014"})]}),(0,r.jsxs)("div",{className:"mc-v5-statuscard",children:[(0,r.jsx)("span",{className:"mc-v5-status-ico",children:"\u2728"}),(0,r.jsx)("b",{children:h?.available?h.health?.ok?"\u6B63\u5E38":"\u5F02\u5E38":"\u2014"}),(0,r.jsx)("span",{children:e("captureTitle")}),(0,r.jsx)("small",{children:h?.health?.lastAt?cr(new Date(h.health.lastAt).toISOString()):"\u2014"})]}),(0,r.jsxs)("div",{className:"mc-v5-statuscard",children:[(0,r.jsx)("span",{className:"mc-v5-status-ico",children:"\u{1F3F7}\uFE0F"}),(0,r.jsx)("b",{children:L?.version||"\u2014"}),(0,r.jsx)("span",{children:e("versionTitle")}),(0,r.jsx)("small",{children:e("v5Local")})]})]}),(0,r.jsxs)("div",{className:"mc-card",style:{marginBottom:10},children:[(0,r.jsxs)("div",{style:{display:"flex",gap:10,alignItems:"center",flexWrap:"wrap"},children:[(0,r.jsxs)("b",{style:{fontSize:12},children:["\u{1FA7A} ",e("healthTitle")]}),(0,r.jsx)("span",{style:{fontSize:11,opacity:.6},children:e("healthHint")}),(0,r.jsx)("div",{style:{flex:1}}),(0,r.jsxs)("button",{type:"button",className:"mc-btn",onClick:()=>ye(),children:["\u21BB ",e("refresh")]})]}),L?(()=>{let k=L.db||{},K=k.writable!==!1&&!k.corrupt,V=L.backups||{count:0,newestAt:0},ge=V.newestAt?Math.floor((Date.now()-Number(V.newestAt))/864e5):-1,xe=V.count?ge>7?"warn":"ok":"bad",ve=h&&h.available?h.health:null,me=ve?ve.ok?"ok":"warn":"none",j=m&&m.findings?m.onDisk&&m.residentServed===m.onDisk&&m.hostVersion===m.onDisk?"ok":"warn":"none",ue={ok:["\u2705","#10b981"],warn:["\u26A0","#f59e0b"],bad:["\u2717","#ef4444"],none:["\u2022","inherit"]},de=[{label:e("healthDb"),level:K?"ok":"bad",text:K?"journal="+(k.journalMode||"?")+(k.checkedAt?" \xB7 "+new Date(k.checkedAt).toLocaleString():""):(k.error||e("healthDbBad"))+" \u2192 dsh-memory doctor"},{label:e("healthBackups"),level:xe,text:V.count?(ge<=0?e("healthBackupToday").replace("{n}",String(V.count)):e("healthBackupAge").replace("{n}",String(V.count)).replace("{d}",String(ge)))+(V.files&&V.files.length?" \xB7 "+V.files[V.files.length-1]:""):e("healthNoBackups")},{label:e("healthCapture"),level:me,text:ve?ve.ok?e("healthCapOk"):e("healthCapFail")+"\uFF1A"+(ve.reason||""):e("healthNoRecords")},{label:e("healthVersion"),level:j,text:j==="none"?e("healthRunAlign"):e("vcOnDisk")+" v"+(m.onDisk||"?")+" \xB7 "+e("vcResident")+" v"+(m.residentServed||"?")+" \xB7 "+e("vcLoaded")+" v"+(m.hostVersion||"?"),action:j==="none"?{label:e("alignRun"),run:R}:null}];return(0,r.jsx)("div",{style:{marginTop:6},children:de.map(Ce=>(0,r.jsxs)("div",{style:{display:"flex",gap:8,alignItems:"baseline",fontSize:12,padding:"3px 0",borderTop:"1px solid rgba(127,127,127,0.10)"},children:[(0,r.jsx)("span",{style:{width:14,flex:"0 0 auto",color:ue[Ce.level][1]},children:ue[Ce.level][0]}),(0,r.jsx)("b",{style:{minWidth:62,flex:"0 0 auto",opacity:.85},children:Ce.label}),(0,r.jsx)("span",{style:{opacity:.82,wordBreak:"break-word"},children:Ce.text}),Ce.action&&(0,r.jsx)("button",{type:"button",className:"mc-btn",style:{marginLeft:6,padding:"0 6px",fontSize:11},disabled:!!I,onClick:Ce.action.run,children:Ce.action.label})]},Ce.label))})})():(0,r.jsx)("div",{style:{opacity:.6,fontSize:12,padding:"8px 0"},children:e("loading")})]}),(0,r.jsxs)("div",{className:"mc-card",style:{marginBottom:10},children:[(0,r.jsxs)("div",{style:{display:"flex",gap:10,alignItems:"center",flexWrap:"wrap"},children:[(0,r.jsxs)("b",{style:{fontSize:12},children:["\u{1F9FE} ",e("ledgerTitle")]}),(0,r.jsx)("span",{style:{fontSize:11,opacity:.6},children:e("ledgerHint")}),(0,r.jsx)("div",{style:{flex:1}}),(0,r.jsxs)("button",{type:"button",className:"mc-btn",onClick:()=>ye(),children:["\u21BB ",e("refresh")]})]}),_?_.ok===!1?(0,r.jsxs)("div",{style:{color:"#f59e0b",fontSize:12,padding:"8px 0",lineHeight:1.7},children:["\u26A0 ",/未知接口|404|not found/i.test(String(_.error||""))?e("ledgerNeedRestart"):_.error||e("adminLoadFail")]}):_.totals.recalls+_.totals.captures===0?(0,r.jsx)("div",{style:{opacity:.6,fontSize:12,padding:"8px 0"},children:e("ledgerNoData")}):(0,r.jsxs)("div",{style:{marginTop:8},children:[(0,r.jsx)("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(160px, 1fr))",gap:8},children:[{k:e("ledgerRecalls"),v:String(_.totals.recalls),s:e("ledgerInjected")+" "+Number(_.totals.injectedChars||0).toLocaleString()+" "+e("ledgerChars")},{k:e("ledgerCaptures"),v:String(_.totals.captures),s:e("ledgerLlmCalls")+" "+_.totals.llmCalls+(_.totals.captureFail?" \xB7 \u2717 "+_.totals.captureFail:"")},{k:e("ledgerEstimate"),v:"\u2248 "+Number(_.totals.estTokens||0).toLocaleString(),s:e("ledgerEstimateHint")},{k:e("ledgerUseful"),v:_.feedback.rate==null?"\u2014":Math.round(_.feedback.rate*100)+"%",s:e("ledgerUsefulHint")}].map(k=>(0,r.jsxs)("div",{style:{border:"1px solid rgba(127,127,127,.16)",borderRadius:10,padding:"8px 10px"},children:[(0,r.jsx)("div",{style:{fontSize:11,opacity:.6},children:k.k}),(0,r.jsx)("div",{style:{fontSize:18,fontWeight:700,lineHeight:1.35},children:k.v}),(0,r.jsx)("div",{style:{fontSize:10.5,opacity:.55,lineHeight:1.5},children:k.s})]},k.k))}),(0,r.jsx)("div",{style:{fontSize:11,opacity:.55,marginTop:8,lineHeight:1.7},children:e("ledgerFormula")})]}):(0,r.jsx)("div",{style:{opacity:.6,fontSize:12,padding:"8px 0"},children:e("loading")})]}),(0,r.jsxs)("div",{className:"mc-card",style:{marginBottom:10},children:[(0,r.jsxs)("div",{style:{display:"flex",gap:10,alignItems:"center",flexWrap:"wrap"},children:[(0,r.jsxs)("b",{style:{fontSize:12},children:["\u{1F527} ",e("alignTitle")]}),(0,r.jsx)("button",{type:"button",className:"mc-btn",disabled:!!I,onClick:R,children:e(I==="align"?"exporting":"alignRun")}),m&&m.counts&&m.counts.fix>0&&(0,r.jsx)("button",{type:"button",className:"mc-btn me-on",disabled:!!I,onClick:F,children:e(I==="alignfix"?"exporting":"alignFix")}),(0,r.jsx)("span",{style:{fontSize:11,opacity:.6},children:e("alignHint")})]}),m&&m.findings?(0,r.jsxs)("div",{style:{marginTop:6},children:[(0,r.jsxs)("div",{style:{fontSize:12,opacity:.75,marginBottom:4},children:[e("alignDisk")," v",m.onDisk||"?",m.residentServed?" \xB7 "+e("alignResident")+" v"+m.residentServed:"",m.hostVersion?" \xB7 "+e("alignHost")+" v"+m.hostVersion:""]}),(0,r.jsx)("ul",{style:{margin:0,padding:0,listStyle:"none"},children:m.findings.map((k,K)=>(0,r.jsxs)("li",{style:{padding:"4px 2px",borderTop:K?"1px solid rgba(127,127,127,0.12)":"none",fontSize:12},children:[(0,r.jsx)("span",{style:{fontWeight:700,color:k.level==="fix"?"#ef4444":k.level==="warn"?"#f59e0b":"#10b981"},children:k.level==="fix"?"\u2717":k.level==="warn"?"\u26A0":"\u2713"})," ",(0,r.jsx)("span",{children:k.title}),k.detail?(0,r.jsx)("div",{style:{opacity:.75,marginLeft:14},children:k.detail}):null,k.command?(0,r.jsxs)("div",{style:{marginLeft:14,opacity:.9},children:["\u2192 ",(0,r.jsx)("code",{children:k.command})]}):null]},K))})]}):(0,r.jsx)("div",{style:{opacity:.6,fontSize:12,marginTop:4},children:e("alignIdle")})]}),(0,r.jsxs)("div",{className:"mc-card",style:{marginBottom:10},children:[(0,r.jsxs)("div",{style:{display:"flex",gap:10,alignItems:"center",flexWrap:"wrap"},children:[(0,r.jsxs)("b",{style:{fontSize:12},children:["\u{1FAB5} ",e("captureLog")]}),(0,r.jsx)("span",{style:{fontSize:11,opacity:.6},children:e("captureLogHint")}),(0,r.jsx)("div",{style:{flex:1}}),(0,r.jsxs)("button",{type:"button",className:"mc-btn",onClick:()=>ye(),children:["\u21BB ",e("refresh")]})]}),h?h.available===!1?(0,r.jsx)("div",{style:{opacity:.6,fontSize:12,padding:"8px 0"},children:e("captureLogUnavailable")}):(h.entries||[]).length===0?(0,r.jsx)("div",{style:{opacity:.6,fontSize:12,padding:"8px 0"},children:e("captureLogEmpty")}):(0,r.jsx)("div",{style:{maxHeight:260,overflow:"auto",marginTop:8},children:(0,r.jsx)("table",{style:{width:"100%",borderCollapse:"collapse",fontSize:12},children:(0,r.jsx)("tbody",{children:(h.entries||[]).map((k,K)=>{let V=o0[k.action]||["\u2022","inherit"];return(0,r.jsxs)("tr",{style:{borderBottom:"1px solid rgba(127,127,127,0.12)"},children:[(0,r.jsx)("td",{style:{padding:"4px 6px",opacity:.55,whiteSpace:"nowrap",fontVariantNumeric:"tabular-nums"},children:cr(k.time?new Date(k.time).toISOString():"")}),(0,r.jsxs)("td",{style:{padding:"4px 6px",whiteSpace:"nowrap",color:V[1],fontWeight:600},children:[V[0]," ",k.action]}),(0,r.jsx)("td",{style:{padding:"4px 6px"},children:k.reason||""}),(0,r.jsx)("td",{style:{padding:"4px 6px",opacity:.55,maxWidth:220,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},title:k.preview||"",children:k.preview||""})]},K)})})})}):(0,r.jsx)("div",{style:{opacity:.6,fontSize:12,padding:"8px 0"},children:e("loading")})]}),(0,r.jsxs)("div",{className:"mc-card",style:{marginBottom:10},children:[(0,r.jsxs)("div",{style:{fontSize:12,fontWeight:700,marginBottom:6},children:["\u{1F916} ",e("captureAgentCards"),"\uFF08",P.length,"\uFF09"]}),P.length?(0,r.jsx)("ul",{style:{margin:0,padding:0,listStyle:"none"},children:P.map(k=>(0,r.jsxs)("li",{style:{display:"flex",alignItems:"center",gap:8,padding:"3px 4px",borderBottom:"1px solid rgba(127,127,127,0.12)",fontSize:12},children:[(0,r.jsx)("span",{className:"mc-kind",style:{background:Kt[k.kind]||Kt.other}}),(0,r.jsx)("span",{style:{flex:1,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:k.title}),k.status==="pending"&&(0,r.jsxs)("span",{className:"mc-status",style:{background:"#f59e0b"},children:["\u23F3 ",e("statusPending")]}),(0,r.jsx)("span",{style:{opacity:.55,fontSize:11},children:cr(k.updated)})]},k.path))}):(0,r.jsx)("div",{style:{opacity:.6,fontSize:12},children:e("noCards")})]}),o&&(0,r.jsxs)(r.Fragment,{children:[o.trend&&o.trend.length>0&&(()=>{let k=o.trend,K=Math.max(...k.map(ve=>ve.count),1),V=260,ge=50,xe=V/k.length;return(0,r.jsxs)("div",{className:"mc-card",style:{marginBottom:10,padding:"10px 14px"},children:[(0,r.jsxs)("div",{style:{fontSize:11,opacity:.6,marginBottom:4},children:["\u{1F4C8} ",e("trendLabel")]}),(0,r.jsx)("svg",{width:V,height:ge,style:{display:"block",width:"100%",height:50},children:k.map((ve,me)=>{let j=Math.round(ve.count/K*(ge-4));return(0,r.jsx)("rect",{x:me*xe+1,y:ge-j,width:Math.max(xe-2,2),height:j,rx:1.5,fill:ve.count>0?"var(--dsw-alias-accent, #3b82f6)":"var(--dsw-alias-border-l1, #e5e7eb)",opacity:ve.count>0?.85:.35},ve.date)})})]})})(),(0,r.jsxs)("div",{className:"mc-stats",children:[(0,r.jsxs)("div",{className:"mc-stat mc-card",children:[(0,r.jsx)("b",{children:o.total}),(0,r.jsx)("span",{children:e("total")})]}),(0,r.jsxs)("div",{className:"mc-stat mc-card",children:[(0,r.jsx)("b",{children:o.today}),(0,r.jsx)("span",{children:e("todayAdd")})]}),(0,r.jsxs)("div",{className:"mc-stat mc-card",children:[(0,r.jsx)("b",{children:o.week}),(0,r.jsx)("span",{children:e("weekAdd")})]}),(0,r.jsxs)("div",{className:"mc-stat mc-card",children:[(0,r.jsx)("b",{children:o.tags}),(0,r.jsx)("span",{children:e("tags")})]})]}),(0,r.jsxs)("div",{className:"mc-card",style:{marginBottom:10},children:[(0,r.jsx)("div",{style:{fontSize:12,fontWeight:700,marginBottom:6},children:e("byKind")}),(0,r.jsx)("div",{style:{display:"flex",gap:10,flexWrap:"wrap"},children:se.map(k=>(0,r.jsxs)("span",{style:{fontSize:12},children:[(0,r.jsx)("span",{className:"mc-kind",style:{background:bn.colors[k]||"#666"}}),e(Nt[k]),": ",o.byKind?.[k]||0]},k))})]}),f&&(f.budgetChars||f.recallLimit||f.embedding)&&(0,r.jsxs)("div",{className:"mc-card",style:{marginBottom:10,fontSize:12},children:[(0,r.jsx)("b",{children:e("budgetLabel")}),"\uFF1A",e("budgetChars")," ",(0,r.jsx)("b",{children:f.budgetChars||8e4})," \xB7 ",e("recallLimitLabel")," ",(0,r.jsx)("b",{children:f.recallLimit||5})," \xB7 ",e("embeddingLabel")," ",f.embedding?"ON":"OFF"]}),(0,r.jsxs)("div",{className:"mc-card",children:[(0,r.jsxs)("div",{style:{fontSize:12,fontWeight:700,marginBottom:6},children:[e("todayList"),"\uFF08",o.todayCards?.length||0,"\uFF09"]}),o.todayCards?.length?(0,r.jsx)("ul",{style:{margin:0,padding:0,listStyle:"none"},children:o.todayCards.map(k=>(0,r.jsx)(te,{title:k.title,kind:k.kind,updated:k.updated,path:k.path},k.path))}):(0,r.jsx)("div",{style:{opacity:.6,fontSize:12},children:e("noOptimize")})]})]})]}),t==="optimize"&&(0,r.jsxs)("div",{children:[(0,r.jsxs)("div",{className:"mc-card mc-audit-batchcard",style:{marginBottom:10,display:"flex",gap:10,alignItems:"center",flexWrap:"wrap"},children:[(0,r.jsx)("b",{style:{fontSize:12},children:e("organizeTitle")}),(0,r.jsx)("div",{style:{flex:1}}),(0,r.jsx)("button",{type:"button",className:"mc-btn",disabled:!!I,onClick:Re,children:I==="scan"?e("exporting"):"\u{1F50D} "+e("scanAndOrganize")}),c&&c.merge?.length>0&&(0,r.jsx)("button",{type:"button",className:"mc-btn me-on",disabled:!!I,onClick:async()=>{if(window.confirm(e("oneClickOptimizeConfirm"))){W("oneclick");try{let k=JSON.stringify({cleanupStale:$}),V=await(await fetch(`${Z}/optimize-execute`,{method:"POST",headers:{"Content-Type":"application/json"},body:k})).json();V&&V.ok?(notify(`${e("oneClickOptimizeDone")}\uFF1A${V.plan.merged} ${e("optimizedMerged")}${$?` \xB7 ${V.plan.staleDeleted} ${e("optimizedStaleDeleted")}`:""}`),await ye(),n&&n(),p(null)):notify(e("mergeFail"),!1)}catch{notify(e("mergeFail"),!1)}finally{W("")}}},children:I==="oneclick"?e("exporting"):"\u26A1 "+e("oneClickOptimize")}),c&&c.merge?.length>0&&(0,r.jsxs)("label",{style:{fontSize:11,opacity:.7,display:"flex",alignItems:"center",gap:4},children:[(0,r.jsx)("input",{type:"checkbox",checked:$,onChange:k=>le(k.target.checked)}),e("oneClickAlsoStale")]})]}),!c&&(0,r.jsx)("div",{style:{opacity:.6,fontSize:12,marginBottom:10},children:e("scanHint")}),c&&(0,r.jsx)(r.Fragment,{children:(0,r.jsxs)("div",{className:"mc-card",style:{marginBottom:10,display:"flex",flexDirection:"column",gap:8},children:[(0,r.jsxs)("div",{style:{display:"flex",gap:10,alignItems:"center"},children:[(0,r.jsx)("b",{style:{fontSize:12},children:e("mergePairs")}),(0,r.jsx)("div",{className:"spacer",style:{flex:1}}),c.merge?.length>0&&(0,r.jsx)("button",{type:"button",className:"mc-btn me-on",disabled:!!I,onClick:he,children:e(I==="merge"?"exporting":"batchMerge")})]}),(0,r.jsx)("div",{style:{fontSize:12,fontWeight:700,marginBottom:6},children:e("mergePairs")}),c.merge?.length?(0,r.jsx)("ul",{style:{margin:"0 0 12px",padding:0,listStyle:"none"},children:c.merge.map((k,K)=>(0,r.jsxs)("li",{style:{display:"flex",alignItems:"center",gap:8,padding:"4px 4px",borderBottom:"1px solid rgba(127,127,127,0.12)",fontSize:12},children:[(0,r.jsxs)("span",{style:{flex:1,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:[k.a.title," \u21C4 ",k.b.title]}),(0,r.jsxs)("span",{style:{opacity:.6},children:[Math.round(k.sim*100),"%"]}),(0,r.jsx)("button",{type:"button",className:"mc-btn",style:{padding:"2px 8px"},onClick:()=>pe(k.a.path,k.b.path),children:e("mergeNow")})]},K))}):(0,r.jsx)("div",{style:{opacity:.6,fontSize:12,marginBottom:12},children:e("noOptimize")}),(0,r.jsxs)("div",{style:{fontSize:12,fontWeight:700,marginBottom:6},children:[e("staleCards"),"\uFF08",c.stale?.length||0,"\uFF09"]}),c.stale?.length>0&&(0,r.jsx)("div",{style:{marginBottom:6},children:(0,r.jsx)("button",{type:"button",className:"mc-btn",style:{color:"#f87171"},disabled:!!I,onClick:async()=>{if(!window.confirm(e("deleteConfirm")))return;W("clean");let k=0;for(let K of c.stale)try{await fetch(`${Z}/delete?path=${encodeURIComponent(K.path)}`),k++}catch{}W(""),notify(`${k} ${e("deletedStale")}`),await ye(),n&&n()},children:e("cleanStale")})}),c.stale?.length?(0,r.jsx)("ul",{style:{margin:0,padding:0,listStyle:"none"},children:c.stale.map(k=>(0,r.jsx)(te,{title:k.title,kind:"other",updated:k.updated,path:k.path},k.path))}):(0,r.jsx)("div",{style:{opacity:.6,fontSize:12},children:e("noOptimize")})]})}),(0,r.jsxs)("div",{className:"mc-card",style:{marginBottom:10},children:[(0,r.jsxs)("div",{style:{display:"flex",gap:10,alignItems:"center",flexWrap:"wrap",marginBottom:6},children:[(0,r.jsxs)("b",{style:{fontSize:12},children:["\u{1F9ED} ",e("refineTitle")]}),(0,r.jsx)("button",{type:"button",className:"mc-btn",disabled:!!I,onClick:Pe,children:e(I==="refine"?"exporting":"refineScan")}),(0,r.jsx)("span",{style:{opacity:.6,fontSize:11},children:e("refineHint")})]}),G?.findings?.length?G.findings.map((k,K)=>(0,r.jsxs)("div",{style:{borderTop:K?"1px solid rgba(127,127,127,0.14)":"none",padding:"7px 2px"},children:[(0,r.jsxs)("div",{style:{fontSize:12,marginBottom:3},children:[(0,r.jsx)("span",{style:{fontWeight:700,color:k.relation==="conflict"?"#ef4444":k.relation==="duplicate"?"#f59e0b":"#10b981"},children:e("refineRel_"+k.relation)}),(0,r.jsxs)("span",{style:{opacity:.55},children:[" \xB7 sim ",k.sim," \xB7 ",k.useModel||""]}),k.conflict?(0,r.jsx)("span",{style:{marginLeft:6},children:k.conflict}):null]}),(0,r.jsxs)("div",{style:{fontSize:12,opacity:.85,marginBottom:5},children:["A\uFF1A",k.a.title,(0,r.jsx)("br",{}),"B\uFF1A",k.b.title]}),(0,r.jsxs)("div",{style:{display:"flex",gap:6,flexWrap:"wrap"},children:[(0,r.jsx)("button",{type:"button",className:"mc-btn",style:{padding:"2px 8px"},disabled:!!I,onClick:()=>Ne(k,"keepA"),children:e("refineKeepA")}),(0,r.jsx)("button",{type:"button",className:"mc-btn",style:{padding:"2px 8px"},disabled:!!I,onClick:()=>Ne(k,"keepB"),children:e("refineKeepB")}),(0,r.jsx)("button",{type:"button",className:"mc-btn",style:{padding:"2px 8px"},disabled:!!I,onClick:()=>Ne(k,"keepBoth"),children:e("refineKeepBoth")}),(0,r.jsx)("button",{type:"button",className:"mc-btn",style:{padding:"2px 8px"},disabled:!!I,onClick:()=>Ne(k,"merge"),children:e("refineMerge")})]})]},K)):(0,r.jsx)("div",{style:{opacity:.6,fontSize:12},children:e(G?"refineNone":"refineIdle")})]}),(0,r.jsxs)("div",{className:"mc-card",style:{marginBottom:10},children:[(0,r.jsxs)("div",{style:{display:"flex",gap:10,alignItems:"center",flexWrap:"wrap",marginBottom:6},children:[(0,r.jsxs)("b",{style:{fontSize:12},children:["\u{1F9F9} ",e("junkTitle")]}),(0,r.jsx)("button",{type:"button",className:"mc-btn",disabled:!!I,onClick:qe,children:e(I==="junk"?"exporting":"junkScan")}),ie?.length?(0,r.jsx)("button",{type:"button",className:"mc-btn",disabled:!!I,onClick:()=>Ye(ie.map(k=>k.path)),children:e(I==="junkpurge"?"exporting":"junkRecycleAll")}):null,(0,r.jsx)("span",{style:{opacity:.6,fontSize:11},children:e("junkHint")})]}),ie?.length?(0,r.jsx)("ul",{style:{margin:0,padding:0,listStyle:"none"},children:ie.map((k,K)=>(0,r.jsxs)("li",{style:{display:"flex",alignItems:"center",gap:8,padding:"4px 2px",borderTop:K?"1px solid rgba(127,127,127,0.14)":"none",fontSize:12},children:[(0,r.jsx)("span",{style:{flex:1,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},title:k.reasons.join("\uFF1B"),children:k.title||k.path}),(0,r.jsx)("span",{style:{opacity:.55,fontSize:11},children:k.reasons[0]}),(0,r.jsx)("button",{type:"button",className:"mc-btn",style:{padding:"2px 8px"},disabled:!!I,onClick:()=>Ye([k.path]),children:e("junkRecycle")})]},K))}):(0,r.jsx)("div",{style:{opacity:.6,fontSize:12},children:e(ie?"junkNone":"junkIdle")})]}),(0,r.jsxs)("div",{className:"mc-card",style:{marginBottom:10},children:[(0,r.jsxs)("div",{style:{display:"flex",gap:10,alignItems:"center",flexWrap:"wrap",marginBottom:6},children:[(0,r.jsxs)("b",{style:{fontSize:12},children:["\u{1F3AF} ",e("goalTitle")]}),(0,r.jsx)("button",{type:"button",className:"mc-btn",disabled:!!I,onClick:U,children:e(I==="goals"?"exporting":"goalScan")}),ae?(0,r.jsxs)("span",{style:{opacity:.6,fontSize:11},children:[e("goalStats"),"\uFF1A",ae.cached," / ",ae.calls]}):null,(0,r.jsx)("span",{style:{opacity:.6,fontSize:11},children:e("goalHint")})]}),ae?.clusters?.length?ae.clusters.map((k,K)=>(0,r.jsxs)("div",{style:{borderTop:K?"1px solid rgba(127,127,127,0.14)":"none",padding:"7px 2px"},children:[(0,r.jsxs)("div",{style:{fontSize:12,marginBottom:4},children:[(0,r.jsx)("b",{children:k.goal})," ",(0,r.jsxs)("span",{style:{opacity:.55},children:["\xB7 ",k.members.length," ",e("goalCards")]})]}),(0,r.jsx)("ul",{style:{margin:"0 0 5px",padding:"0 0 0 16px",fontSize:12,opacity:.85},children:k.members.map((V,ge)=>(0,r.jsx)("li",{children:V.title},ge))}),(0,r.jsxs)("div",{style:{display:"flex",gap:6,flexWrap:"wrap"},children:[(0,r.jsx)("button",{type:"button",className:"mc-btn",style:{padding:"2px 8px"},disabled:!!I,onClick:()=>v(k),children:e("goalKeep")}),(0,r.jsx)("button",{type:"button",className:"mc-btn",style:{padding:"2px 8px"},disabled:!!I,onClick:()=>Q(k),children:e("goalMerge")})]})]},K)):(0,r.jsx)("div",{style:{opacity:.6,fontSize:12},children:e(ae?"goalNone":"goalIdle")})]})]})]})]})}var cd=[{key:"decision",label:"tplDecision",kind:"knowledge",tagKey:"tplDecisionTags",bodyKey:"tplDecisionBody"},{key:"bug",label:"tplBug",kind:"mistake",tagKey:"tplBugTags",bodyKey:"tplBugBody"},{key:"meeting",label:"tplMeeting",kind:"content",tagKey:"tplMeetingTags",bodyKey:"tplMeetingBody"},{key:"weekly",label:"tplWeekly",kind:"content",tagKey:"tplWeeklyTags",bodyKey:"tplWeeklyBody"}];function R0({t:e,newCard:t,setNewCard:n,onCreated:a}){if(!t)return null;let o=cd.find(b=>b.key===t.template),i=t.body||(o?e(o.bodyKey):""),l=t.kind||(o?o.kind:"knowledge"),s=t.tags||(o?e(o.tagKey):""),c=t._creating,p=b=>{let h=cd.find(S=>S.key===b);n(S=>({...S,template:b,kind:h?h.kind:S.kind,body:h?e(h.bodyKey):S.body,tags:h?e(h.tagKey):S.tags}))},f=async()=>{if(!(!t.title&&!i)){n(b=>({...b,_creating:!0}));try{(await fetch(`${Z}/write`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({title:t.title||e("untitled"),kind:l,tags:s.split(",").map(h=>h.trim()).filter(Boolean),body:i,source:"manual"})}).then(h=>h.json())).ok?(n(null),a&&a()):n(h=>({...h,_creating:!1}))}catch{n(h=>({...h,_creating:!1}))}}};return(0,r.jsxs)("div",{className:"me-overlay",onClick:()=>n(null),children:[(0,r.jsx)("style",{children:xn}),(0,r.jsxs)("div",{className:"me-dialog",style:{maxWidth:600,width:"92vw",maxHeight:"85vh"},onClick:b=>b.stopPropagation(),children:[(0,r.jsxs)("div",{className:"me-dialog-head",children:[(0,r.jsx)("h3",{children:e("newCard")}),(0,r.jsx)("button",{type:"button",className:"mc-btn",onClick:()=>n(null),children:e("close")})]}),(0,r.jsxs)("div",{className:"me-dialog-body",style:{display:"flex",flexDirection:"column",gap:10,overflow:"auto"},children:[(0,r.jsxs)("div",{style:{display:"flex",gap:6,flexWrap:"wrap"},children:[cd.map(b=>(0,r.jsx)("button",{type:"button",className:`mc-btn${t.template===b.key?" me-on":""}`,onClick:()=>p(b.key),children:e(b.label)},b.key)),(0,r.jsx)("button",{type:"button",className:`mc-btn${t.template===""?" me-on":""}`,onClick:()=>n(b=>({...b,template:"",body:"",tags:"",kind:"knowledge"})),children:e("tplBlank")})]}),(0,r.jsx)("select",{className:"mc-btn",value:l,onChange:b=>n(h=>({...h,kind:b.target.value})),style:{maxWidth:180,background:"var(--dsw-alias-bg-layer-1, #fff)",color:"var(--dsw-alias-label-primary, #111)"},children:qf.map(b=>(0,r.jsx)("option",{value:b,style:{background:"var(--dsw-alias-bg-layer-1, #fff)",color:"var(--dsw-alias-label-primary, #111)"},children:e(Nt[b])||b},b))}),(0,r.jsx)("input",{type:"text",className:"mc-btn",placeholder:e("cardTitle"),value:t.title||"",onChange:b=>n(h=>({...h,title:b.target.value}))}),(0,r.jsx)("input",{type:"text",className:"mc-btn",placeholder:e("tagsHint"),value:s,onChange:b=>n(h=>({...h,tags:b.target.value}))}),(0,r.jsx)("textarea",{className:"mc-btn",placeholder:e("cardBody"),value:i,onChange:b=>n(h=>({...h,body:b.target.value})),style:{minHeight:180,resize:"vertical",fontFamily:"inherit"}}),(0,r.jsx)("div",{style:{display:"flex",justifyContent:"flex-end",gap:8},children:(0,r.jsx)("button",{type:"button",className:"mc-btn me-on",disabled:c,onClick:f,children:e(c?"exporting":"createCard")})})]})]})]})}async function gd(e){let t=String(e||"");if(!t)return!1;try{if(navigator.clipboard&&navigator.clipboard.writeText)return await navigator.clipboard.writeText(t),!0}catch{}try{let n=document.createElement("textarea");n.value=t,n.setAttribute("readonly",""),n.style.position="fixed",n.style.left="-9999px",n.style.top="0",document.body.appendChild(n),n.focus(),n.select();let a=!!(document.execCommand&&document.execCommand("copy"));return document.body.removeChild(n),a}catch{return!1}}function L0({t:e,onClose:t}){let[n,a]=(0,u.useState)(""),[o,i]=(0,u.useState)(""),[l,s]=(0,u.useState)(""),[c,p]=(0,u.useState)(!0),[f,b]=(0,u.useState)(!1),[h,S]=(0,u.useState)(""),[L,M]=(0,u.useState)(""),_=(0,u.useRef)(null),x=(0,u.useRef)(null),m=()=>{let $=_.current;if($)try{$.focus(),$.select()}catch{}},y=$=>{S($),x.current&&clearTimeout(x.current),x.current=setTimeout(()=>S(""),2400)};(0,u.useEffect)(()=>{let $=!0;return fetch(Z+"/diagnostics").then(le=>le.json()).then(le=>{$&&(le&&le.ok?(i(String(le.diagnostics||"")),s(String(le.version||""))):b(!0))}).catch(()=>{$&&b(!0)}).finally(()=>{$&&p(!1)}),()=>{$=!1}},[]),(0,u.useEffect)(()=>{let $=le=>{le.key==="Escape"&&t()};return window.addEventListener("keydown",$),()=>{window.removeEventListener("keydown",$),x.current&&clearTimeout(x.current)}},[t]);let R=(()=>{try{return String(navigator.language||"").toLowerCase().startsWith("en")?"en":"zh"}catch{return"zh"}})(),F=()=>{let $=n.trim().split(`
1155
- `)[0]||"",le=bf({title:"[Bug] "+($.slice(0,60)||"memory-eternal \u95EE\u9898"),body:xf({description:n,diagnostics:o,version:l})});try{window.open(le,"_blank","noopener")}catch{y(e("fbCopyFail"))}},P=async()=>{await gd(o)?(M(""),y(e("fbCopiedDiag"))):(M(o),y(e("fbCopyManual")))},D=async()=>{let $=wf({lang:R,description:n,diagnostics:o});await gd($)?(M(""),y(e("fbCopiedPrompt"))):(M($),y(e("fbCopyManual")))},I={width:"100%",resize:"vertical",padding:"8px 10px",borderRadius:10,border:"1px solid var(--dsw-alias-border-l2, #d1d5db)",background:"transparent",color:"inherit",font:"inherit",fontSize:13},W={margin:0,maxHeight:170,overflow:"auto",fontSize:11.5,lineHeight:1.55,padding:"8px 10px",borderRadius:10,background:"var(--dsw-alias-bg-layer-1, rgba(127,127,127,0.08))",whiteSpace:"pre-wrap",wordBreak:"break-word",overflowX:"hidden"};return(0,r.jsxs)("div",{className:"me-overlay",onClick:t,children:[(0,r.jsx)("style",{children:xn}),(0,r.jsxs)("div",{className:"me-dialog",style:{maxWidth:720},onClick:$=>$.stopPropagation(),children:[(0,r.jsxs)("div",{className:"me-dialog-head",children:[(0,r.jsxs)("h3",{children:["\u{1F41E} ",e("fbTitle")]}),(0,r.jsx)("button",{type:"button",className:"mc-btn",onClick:t,children:e("close")})]}),(0,r.jsxs)("div",{className:"me-dialog-body",style:{display:"flex",flexDirection:"column",gap:10},children:[(0,r.jsx)("div",{style:{fontSize:12,opacity:.72,lineHeight:1.6},children:e("fbWhy")}),(0,r.jsx)("textarea",{value:n,onChange:$=>a($.target.value),placeholder:e("fbDesc"),rows:5,style:I}),(0,r.jsxs)("div",{children:[(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,marginBottom:4},children:[(0,r.jsx)("b",{style:{fontSize:12},children:e("fbDiag")}),(0,r.jsx)("div",{style:{flex:1}}),(0,r.jsx)("button",{type:"button",className:"mc-btn",onClick:P,disabled:!o,children:e("fbCopyDiag")})]}),(0,r.jsx)("pre",{style:W,children:c?e("fbLoading"):f?e("fbDiagFail"):o})]}),(0,r.jsxs)("div",{style:{display:"flex",gap:8,alignItems:"center",flexWrap:"wrap",justifyContent:"flex-end"},children:[(0,r.jsxs)("button",{type:"button",className:"mc-btn",onClick:()=>{if(!n.trim()){y(e("fbNeedDesc"));return}F()},style:{borderColor:"var(--dsw-alias-brand-primary, #3b82f6)",color:"var(--dsw-alias-brand-primary, #3b82f6)",fontWeight:600},children:["\u{1F680} ",e("fbOpenIssue")]}),(0,r.jsx)("span",{style:{opacity:.5,fontSize:12},children:e("fbOr")}),(0,r.jsxs)("button",{type:"button",className:"mc-btn",onClick:D,children:["\u{1F916} ",e("fbCopyPrompt")]})]}),h&&(0,r.jsx)("div",{style:{fontSize:12,color:"var(--dsw-alias-brand-primary, #3b82f6)"},children:h}),L&&(0,r.jsxs)("div",{children:[(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,marginBottom:4},children:[(0,r.jsxs)("b",{style:{fontSize:12,color:"#b45309"},children:["\u26A0 ",e("fbCopyFail")]}),(0,r.jsx)("span",{style:{fontSize:11.5,opacity:.75},children:e("fbCopyManual")}),(0,r.jsx)("div",{style:{flex:1}}),(0,r.jsx)("button",{type:"button",className:"mc-btn",onClick:m,children:e("fbSelectAll")})]}),(0,r.jsx)("textarea",{ref:_,readOnly:!0,value:L,rows:7,style:I})]})]})]})]})}function P0({t:e,tab:t,onTab:n,onClose:a,onFeedback:o,onReplay:i}){let[l,s]=(0,u.useState)(null);(0,u.useEffect)(()=>{if(!l)return;let b=h=>{h.key==="Escape"&&s(null)};return window.addEventListener("keydown",b),()=>window.removeEventListener("keydown",b)},[l]);let c=[{id:"group",label:e("supportGroup")},{id:"sponsor",label:e("supportSponsor")},{id:"legacy",label:e("supportLegacy")}],p="https://github.com/EternalNight996/memory-eternal/blob/main/README.md",f=(b,h)=>(0,r.jsxs)("figure",{children:[(0,r.jsx)("img",{src:b,alt:h,loading:"lazy",title:e("clickToZoom"),onClick:S=>s(S.currentTarget.currentSrc||b),onError:S=>{let L=S.currentTarget;L.dataset.fb||(L.dataset.fb="1",L.src="https://raw.githubusercontent.com/EternalNight996/memory-eternal/main/assets/support/"+String(b).split("/").pop())}}),(0,r.jsx)("figcaption",{children:h})]});return(0,r.jsxs)("div",{className:"me-overlay",onClick:a,children:[(0,r.jsx)("style",{children:xn}),(0,r.jsxs)("div",{className:"me-dialog me-support",onClick:b=>b.stopPropagation(),children:[(0,r.jsxs)("div",{className:"me-dialog-head",children:[(0,r.jsxs)("h3",{children:["\u{1F4AC} ",e("supportTitle")]}),(0,r.jsx)("div",{className:"me-head-actions",children:(0,r.jsx)("button",{type:"button",className:"mc-btn",onClick:a,children:e("close")})})]}),(0,r.jsx)("div",{className:"me-support-tabs",children:c.map(b=>(0,r.jsx)("button",{type:"button",className:`me-support-tab${t===b.id?" active":""}`,onClick:()=>n(b.id),children:b.label},b.id))}),(0,r.jsxs)("div",{className:"me-support-body",children:[t==="group"&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("p",{className:"me-support-note",children:e("supportGroupHint")}),(0,r.jsxs)("div",{className:"me-support-qr",children:[f("support/group-qr.jpg",e("supportGroupQQ")),f("support/group-wechat.jpg",e("supportGroupWechat"))]}),(0,r.jsx)("p",{className:"me-support-note",style:{marginTop:12},children:(0,r.jsxs)("a",{className:"me-support-link",href:p,target:"_blank",rel:"noreferrer",children:[e("supportReadme")," \u2197"]})})]}),t==="sponsor"&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("p",{className:"me-support-note",children:e("supportSponsorHint")}),(0,r.jsxs)("div",{className:"me-support-qr",children:[f("support/wechat-pay.jpg","\u5FAE\u4FE1\u6536\u6B3E\u7801"),f("support/wechat-reward.jpg","\u5FAE\u4FE1\u8D5E\u8D4F\u7801"),f("support/alipay.jpg",e("supportAlipay"))]}),(0,r.jsxs)("p",{className:"me-support-note",style:{marginTop:12},children:["\u6253\u8D4F\u5B8C\u5168\u81EA\u613F\uFF0C\u4E0D\u5F71\u54CD\u4EFB\u4F55\u529F\u80FD\uFF1B\u63D2\u4EF6\u672C\u4F53\u59CB\u7EC8\u5F00\u6E90\u514D\u8D39\uFF08MIT\uFF09\u3002",(0,r.jsx)("br",{}),(0,r.jsx)("a",{className:"me-support-link",href:"https://github.com/EternalNight996/memory-eternal/blob/main/SPONSOR.md",target:"_blank",rel:"noreferrer",children:"SPONSOR.md \u2197"})]})]}),t==="legacy"&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("h3",{style:{margin:"0 0 8px",fontSize:14},children:e("supportLegacyTitle")}),(0,r.jsx)("p",{className:"me-support-note",children:e("supportLegacyBody")}),(0,r.jsxs)("div",{className:"me-support-actions",children:[(0,r.jsxs)("a",{className:"mc-btn",href:p,target:"_blank",rel:"noreferrer",children:["\u{1F4D6} ",e("supportReadme")," \u2197"]}),(0,r.jsxs)("a",{className:"mc-btn",href:"https://github.com/EternalNight996/memory-eternal/releases",target:"_blank",rel:"noreferrer",children:["\u{1F3F7} ",e("supportReleases")," \u2197"]})]})]})]}),(0,r.jsxs)("div",{className:"me-support-actions",style:{padding:"0 18px 16px",marginTop:0},children:[(0,r.jsxs)("button",{type:"button",className:"mc-btn",onClick:o,children:["\u{1F41E} ",e("supportFeedback")]}),(0,r.jsxs)("button",{type:"button",className:"mc-btn",onClick:i,children:["\u2728 ",e("supportReplay")]})]})]}),l&&(0,r.jsxs)("div",{className:"me-lightbox",role:"dialog","aria-modal":"true","aria-label":e("close"),onClick:b=>{b.stopPropagation(),s(null)},children:[(0,r.jsx)("button",{type:"button",className:"me-lightbox-close",onClick:b=>{b.stopPropagation(),s(null)},"aria-label":e("close"),children:"\u2715"}),(0,r.jsx)("img",{src:l,alt:"",onClick:b=>b.stopPropagation()})]})]})}function D0({t:e,onDone:t}){let[n,a]=(0,u.useState)(0),o="https://github.com/EternalNight996/memory-eternal",i=[{title:e("onboardStep0Title"),body:e("onboardStep0Body")},{title:e("onboardStep1Title"),body:e("onboardStep1Body")},{title:e("onboardStep2Title"),body:e("onboardStep2Body")},{title:e("onboardStep3Title"),body:e("onboardStep3Body")}],l=n===i.length-1;return(0,u.useEffect)(()=>{let s=c=>{c.key==="Escape"&&t()};return window.addEventListener("keydown",s),()=>window.removeEventListener("keydown",s)},[t]),(0,r.jsxs)("div",{className:"me-overlay",style:{zIndex:1006},children:[(0,r.jsx)("style",{children:xn}),(0,r.jsxs)("div",{className:"me-dialog me-guide",children:[(0,r.jsxs)("div",{className:"me-guide-head",children:[(0,r.jsxs)("b",{children:["\u2728 ",e("onboardTitle")]}),(0,r.jsx)("div",{className:"spacer"}),(0,r.jsx)("span",{style:{fontSize:11,opacity:.55},children:e("onboardSub")})]}),(0,r.jsx)("div",{className:"me-guide-dots",children:i.map((s,c)=>(0,r.jsx)("span",{className:`me-guide-dot${c<=n?" on":""}`},c))}),(0,r.jsxs)("div",{className:"me-guide-body",children:[(0,r.jsx)("h3",{children:i[n].title}),(0,r.jsx)("p",{children:i[n].body}),n===0&&(0,r.jsxs)("div",{className:"me-guide-github",children:[(0,r.jsxs)("button",{type:"button",className:"mc-btn me-on",onClick:()=>kl(o),children:["\u2605 ",e("onboardStar")]}),(0,r.jsxs)("button",{type:"button",className:"mc-btn",onClick:()=>kl(o+"/fork"),children:["\u2442 ",e("onboardFork")]}),(0,r.jsx)("span",{className:"me-guide-github-hint",children:e("onboardStarHint")})]}),n===1&&(0,r.jsxs)("div",{className:"me-guide-chips",children:[(0,r.jsx)("span",{children:"\u81EA\u52A8\u6C89\u6DC0"}),(0,r.jsx)("span",{children:"\u5148\u5BA1\u540E\u5165"}),(0,r.jsx)("span",{children:"\u53EA\u53EC\u56DE\u76F8\u5173\u5C0F\u5757"})]}),n===2&&(0,r.jsxs)("div",{className:"me-guide-like",children:[(0,r.jsx)("span",{className:"me-guide-thumb",children:"\u{1F44D}"})," \u6709\u7528"]}),n===3&&(0,r.jsxs)("div",{className:"me-guide-chips",children:[(0,r.jsxs)("span",{children:["\u{1F4AC} ",e("supportGroup")]}),(0,r.jsxs)("span",{children:["\u2615 ",e("supportSponsor")]}),(0,r.jsxs)("span",{children:["\u{1F9E9} ",e("supportLegacy")]}),(0,r.jsxs)("span",{children:["\u{1F41E} ",e("supportFeedback")]})]})]}),(0,r.jsxs)("div",{className:"me-guide-actions",children:[(0,r.jsx)("button",{type:"button",className:"mc-btn",onClick:t,children:e("onboardSkip")}),(0,r.jsx)("div",{className:"spacer"}),(0,r.jsx)("span",{className:"me-guide-tip",children:e("onboardTip")}),n>0&&(0,r.jsx)("button",{type:"button",className:"mc-btn",onClick:()=>a(s=>s-1),children:e("onboardBack")}),l?(0,r.jsx)("button",{type:"button",className:"mc-btn me-on",onClick:t,children:e("onboardStart")}):(0,r.jsx)("button",{type:"button",className:"mc-btn me-on",onClick:()=>a(s=>s+1),children:e(n===0?"onboardStarred":"onboardNext")})]})]})]})}function A0({t:e,card:t,query:n,onClose:a,onDelete:o,onFeedback:i,onNavigate:l,onTagClick:s,allCards:c,onOpenRelated:p,onKindChange:f,onSaved:b}){let[h,S]=(0,u.useState)(0),[L,M]=(0,u.useState)(""),[_,x]=(0,u.useState)(()=>{try{let j=localStorage.getItem("me-read-width");return["narrow","mid","wide"].includes(j)?j:"mid"}catch{return"mid"}}),m={narrow:720,mid:900,wide:1180};(0,u.useEffect)(()=>{let j=ue=>{if(ue.key==="Escape"){a();return}let de=String(ue.target&&ue.target.tagName||"").toLowerCase();de==="input"||de==="textarea"||de==="select"||ue.target&&ue.target.isContentEditable||(ue.key==="j"&&l?(ue.preventDefault(),l(1)):ue.key==="k"&&l&&(ue.preventDefault(),l(-1)))};return window.addEventListener("keydown",j),()=>window.removeEventListener("keydown",j)},[a,l]);let y=async(j,ue)=>{let de=await gd(String(j||""));M(de?e("copied")+" \xB7 "+ue:e("copyFail")),setTimeout(()=>M(""),1500)},{meta:R,body:F}=(0,u.useMemo)(()=>ml(t.text||""),[t.text]),P=j=>{let ue=R.find(([de])=>String(de).toLowerCase()===j);return ue?ue[1]:""},D=mf(P("tags")),I=t.kind||P("kind")||"knowledge",W=String(t.status||P("status")||"approved").toLowerCase(),$=Kt[I]||"#6B7280",le=(F||"").length>460,he=(0,u.useMemo)(()=>bd(F,t.title),[F,t.title]),ye=(0,u.useMemo)(()=>{let j=xd(t);if(j)return j;let de=(he.split(/\r?\n/).map(Ce=>Ce.trim()).find(Ce=>Ce&&!/^#{1,2}\s/.test(Ce))||"").replace(/[#>*_`]/g,"").replace(/\s+/g," ").trim();return de.length>150?de.slice(0,148)+"\u2026":de},[t,he]),Re=(0,u.useMemo)(()=>M0(he),[he]),G=(0,u.useMemo)(()=>{let j=new Set(D);return(c||[]).filter(ue=>ue.path!==t.path&&(ue.tags||[]).some(de=>j.has(de))).slice(0,3)},[c,t.path,D.join("|")]),He=()=>{H(String(t.title||"")),v((Array.isArray(D)?D:[]).join(", ")),pe(String(F||"")),k(""),Ye(!0)},Pe=()=>{Ye(!1),k("")},Ne=async()=>{let j=String(ae||"").trim(),ue=String(Q||"").trim();if(!j){k(e("editTitleEmpty"));return}if(!ue){k(e("editBodyEmpty"));return}let de=String(U||"").split(/[,,\n]+/).map(Ce=>Ce.trim()).filter(Boolean);se(!0),k("");try{let Ce=await fetch(`${Z}/card/update`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:t.path,title:j,tags:de,body:ue})}).then(wt=>wt.json());if(!Ce||!Ce.ok){k(Ce&&Ce.error||e("editFail"));return}Ye(!1),b&&await b({path:t.path,status:W,title:j})}catch(Ce){k(String(Ce&&Ce.message||Ce))}finally{se(!1)}},[ie,ne]=(0,u.useState)(!0),[qe,Ye]=(0,u.useState)(!1),[ae,H]=(0,u.useState)(""),[U,v]=(0,u.useState)(""),[Q,pe]=(0,u.useState)(""),[Ie,se]=(0,u.useState)(!1),[te,k]=(0,u.useState)(""),K=(0,u.useRef)(null),[V,ge]=(0,u.useState)(""),xe=j=>{let ue=K.current;if(!ue)return;let de=document.getElementById(j);if(!de||!ue.contains(de))return;let Ce=de.getBoundingClientRect().top-ue.getBoundingClientRect().top+ue.scrollTop-12;ue.scrollTo({top:Math.max(0,Ce),behavior:"smooth"})},ve=j=>{if(!ie){ne(!0),setTimeout(()=>xe(j),80);return}xe(j)},me=j=>{let ue=j.currentTarget,de=ue.scrollHeight-ue.clientHeight;S(de<=0?100:Math.min(100,Math.max(0,ue.scrollTop/de*100)));let Ce=ue.querySelectorAll(".md-doc .md-h"),wt="",Fe=ue.getBoundingClientRect().top+28;for(let ln of Ce)if(ln.getBoundingClientRect().top<=Fe)wt=ln.id;else break;ge(wt)};return(0,r.jsxs)("div",{className:"me-overlay",onClick:a,children:[(0,r.jsx)("style",{children:xn}),(0,r.jsxs)("div",{className:"me-dialog me-reader-dialog",onClick:j=>j.stopPropagation(),children:[(0,r.jsxs)("div",{className:"me-dialog-head",children:[(0,r.jsxs)("h3",{title:t.title,children:[(0,r.jsx)("span",{style:{marginRight:6,flex:"none"},children:Ir[I]||"\u{1F4CE}"}),t.title]}),(0,r.jsxs)("div",{className:"me-head-actions",children:[L&&(0,r.jsx)("span",{style:{fontSize:11.5,color:"#10b981",whiteSpace:"nowrap"},children:L}),(0,r.jsxs)("button",{type:"button",className:"mc-btn",title:e("copyBody"),onClick:()=>y(F,e("copyBody")),children:["\u{1F4CB} ",e("copyBody")]}),(0,r.jsxs)("button",{type:"button",className:"mc-btn",title:e("copyPath"),onClick:()=>y(t.path,e("copyPath")),children:["\u{1F517} ",e("copyPath")]}),(0,r.jsx)("button",{type:"button",className:"mc-btn",title:e("editCard"),onClick:qe?Pe:He,children:qe?"\u2716 "+e("editCancel"):"\u270F\uFE0F "+e("editCard")}),(0,r.jsxs)("button",{type:"button",className:"mc-btn",title:e("readWidth"),onClick:()=>{let j=["narrow","mid","wide"],ue=j[(j.indexOf(_)+1)%j.length];x(ue);try{localStorage.setItem("me-read-width",ue)}catch{}},children:[e("readWidth")," \xB7 ",e(_==="narrow"?"widthNarrow":_==="wide"?"widthWide":"widthMid")]}),(0,r.jsxs)("button",{type:"button",className:"mc-btn",onClick:()=>i&&i(!0),children:["\u{1F44D} ",e("fbUseful")]}),(0,r.jsxs)("button",{type:"button",className:"mc-btn",onClick:()=>i&&i(!1),children:["\u{1F44E} ",e("fbIrr")]}),le&&(0,r.jsx)("button",{type:"button",className:"mc-btn","aria-expanded":ie,onClick:()=>ne(j=>!j),children:e(ie?"collapse":"expand")}),(0,r.jsx)("button",{type:"button",className:"mc-btn",style:{color:"#f87171"},onClick:()=>{window.confirm(e("deleteConfirm"))&&o&&o(t.path)},children:e("delete")}),f&&W==="approved"&&(I==="core"?(0,r.jsx)("button",{type:"button",className:"mc-btn",onClick:()=>f(t.path,"knowledge"),children:e("unsetCore")}):(0,r.jsxs)("button",{type:"button",className:"mc-btn",onClick:()=>f(t.path,"core"),children:["\u2B50 ",e("setCore")]})),(0,r.jsx)("button",{type:"button",className:"mc-btn",onClick:a,children:e("close")})]})]}),f&&(0,r.jsxs)("div",{className:"me-core-banner"+(I==="core"?" on":""),children:[(0,r.jsxs)("div",{className:"me-core-banner-k",children:["\u2B50 ",e("kindCore")]}),(0,r.jsx)("div",{className:"me-core-banner-desc",children:e(I==="core"?"coreActiveHint":"coreInactiveHint")}),W==="approved"?(0,r.jsx)("button",{type:"button",className:"mc-btn me-core-btn",onClick:()=>f(t.path,I==="core"?"knowledge":"core"),children:I==="core"?e("unsetCore"):"\u2B50 "+e("setCore")}):(0,r.jsx)("span",{className:"me-core-banner-desc",style:{flex:"none",opacity:.6},children:e("coreNeedApproval")})]}),(0,r.jsxs)("div",{className:"md-meta",children:[(0,r.jsxs)("span",{className:"md-chip md-chip-kind",style:{color:$,borderColor:$+"59",background:$+"1a"},children:[Ir[I]||"\u{1F4CE}"," ",e(Nt[I]||"kindKnowledge")]}),(0,r.jsxs)("span",{className:"md-chip "+(W==="approved"?"md-chip-st-ok":W==="pending"?"md-chip-st-warn":"md-chip-st-bad"),children:[W==="approved"?"\u2705":W==="pending"?"\u23F3":"\u26D4"," ",e(W==="approved"?"statusApproved":W==="pending"?"statusPending":"statusRejected")]}),(Array.isArray(D)?D:[]).slice(0,8).map(j=>(0,r.jsxs)("button",{type:"button",className:"md-chip md-chip-tag mc-tag-click",title:j,onClick:()=>s&&s(j),children:["\u{1F3F7} ",j]},j)),!!P("updated")&&(0,r.jsxs)("span",{className:"md-chip md-date",children:["\u{1F552} ",e("updated")," ",cr(P("updated"))]}),!!P("source")&&(0,r.jsxs)("span",{className:"md-chip md-date",children:["\u{1F4E5} ",P("source")]})]}),(0,r.jsx)("div",{className:"me-read-progress","aria-hidden":"true",children:(0,r.jsx)("i",{style:{width:h+"%"}})}),(0,r.jsxs)("div",{className:"me-reader-body",children:[(0,r.jsxs)("div",{className:"me-dialog-body me-reader-main",style:{maxWidth:m[_],margin:"0 auto",width:"100%",boxSizing:"border-box",...ie?{}:{maxHeight:300,overflow:"hidden"}},ref:K,onScroll:me,onClick:ie?void 0:j=>{j.stopPropagation(),ne(!0)},children:[!qe&&!!ye&&(0,r.jsxs)("div",{className:"me-reader-callout",children:[(0,r.jsx)("span",{className:"me-reader-callout-k",children:e(Zf(t))}),(0,r.jsx)("p",{children:ye})]}),qe?(0,r.jsxs)("div",{className:"me-edit-form",style:{display:"flex",flexDirection:"column",gap:8,padding:"2px 0 14px"},children:[(0,r.jsx)("div",{style:{fontSize:11.5,opacity:.62,lineHeight:1.6},children:e("editHint")}),(0,r.jsx)("label",{style:{fontSize:12,fontWeight:600,opacity:.8},htmlFor:"me-edit-title",children:e("editTitle")}),(0,r.jsx)("input",{id:"me-edit-title",value:ae,onChange:j=>H(j.target.value),maxLength:200,style:{width:"100%",padding:"8px 10px",borderRadius:10,border:"1px solid var(--dsw-alias-border-l2, #d1d5db)",background:"transparent",color:"inherit",font:"inherit",fontSize:13,boxSizing:"border-box"}}),(0,r.jsx)("label",{style:{fontSize:12,fontWeight:600,opacity:.8},htmlFor:"me-edit-tags",children:e("editTags")}),(0,r.jsx)("input",{id:"me-edit-tags",value:U,onChange:j=>v(j.target.value),placeholder:e("editTagsHint"),style:{width:"100%",padding:"8px 10px",borderRadius:10,border:"1px solid var(--dsw-alias-border-l2, #d1d5db)",background:"transparent",color:"inherit",font:"inherit",fontSize:13,boxSizing:"border-box"}}),(0,r.jsx)("label",{style:{fontSize:12,fontWeight:600,opacity:.8},htmlFor:"me-edit-body",children:e("editBody")}),(0,r.jsx)("textarea",{id:"me-edit-body",value:Q,onChange:j=>pe(j.target.value),spellCheck:!1,rows:18,style:{width:"100%",padding:"8px 10px",borderRadius:10,border:"1px solid var(--dsw-alias-border-l2, #d1d5db)",background:"transparent",color:"inherit",font:"inherit",fontSize:13,boxSizing:"border-box",resize:"vertical",minHeight:260,lineHeight:1.7,fontFamily:"ui-monospace, SFMono-Regular, Menlo, monospace"}}),te&&(0,r.jsx)("div",{style:{color:"#f87171",fontSize:12},children:te}),(0,r.jsxs)("div",{style:{display:"flex",gap:8,justifyContent:"flex-end",alignItems:"center"},children:[(0,r.jsx)("span",{style:{marginRight:"auto",fontSize:11.5,opacity:.55},children:t.path}),(0,r.jsx)("button",{type:"button",className:"mc-btn",onClick:Pe,disabled:Ie,children:e("editCancel")}),(0,r.jsx)("button",{type:"button",className:"mc-btn",onClick:Ne,disabled:Ie,style:{borderColor:"var(--dsw-alias-brand-primary, #3b82f6)",color:"var(--dsw-alias-brand-primary, #3b82f6)",fontWeight:600},children:e(Ie?"editSaving":"editSave")})]})]}):(0,r.jsx)("div",{className:"md-doc",dangerouslySetInnerHTML:{__html:_o(he)}})]}),(0,r.jsxs)("aside",{className:"me-reader-side",children:[Re.length>0&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("div",{className:"side-label",children:e("contents")}),(0,r.jsx)("div",{className:"me-reader-toc",children:Re.map((j,ue)=>(0,r.jsxs)("button",{type:"button",className:`lv${j.level}${V===j.id?" active":""}`,onClick:()=>ve(j.id),children:[(0,r.jsx)("span",{children:String(ue+1).padStart(2,"0")}),j.text]},j.id))})]}),(0,r.jsx)("div",{className:"side-label",children:e("source")}),(0,r.jsx)("div",{className:"me-reader-side-val",children:P("source")||t.submittedBy||"\u2014"}),(0,r.jsx)("div",{className:"side-label",children:e("updated")}),(0,r.jsx)("div",{className:"me-reader-side-val",children:cr(P("updated")||t.updated)}),(0,r.jsx)("div",{className:"side-label",children:e("file")}),(0,r.jsx)("div",{className:"me-reader-side-val mono",children:t.path}),D.length>0&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("div",{className:"side-label",children:e("tags")}),(0,r.jsx)("div",{className:"me-reader-tags",children:D.slice(0,8).map(j=>(0,r.jsxs)("button",{type:"button",className:"mc-chip",onClick:()=>s&&s(j),children:["#",j]},j))})]}),G.length>0&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("div",{className:"side-label",children:e("related")}),(0,r.jsx)("div",{className:"me-reader-related",children:G.map(j=>(0,r.jsxs)("button",{type:"button",onClick:()=>p&&p(j),children:[(0,r.jsx)("span",{children:Ir[j.kind]||"\u{1F4CE}"}),(0,r.jsx)("b",{children:j.title})]},j.path))})]})]})]}),!ie&&(0,r.jsxs)("div",{className:"md-collapsed-hint",onClick:j=>{j.stopPropagation(),ne(!0)},children:[e("expand")," \u2304"]})]})]})}function F0({t:e,onOpen:t,all:n,onAllChange:a,onMutate:o,active:i,visible:l}){let[s,c]=(0,u.useState)([]),[p,f]=(0,u.useState)(null),[b,h]=(0,u.useState)(null),[S,L]=(0,u.useState)(!1),M=!0,[_,x]=(0,u.useState)(null),[m,y]=(0,u.useState)(!1),[R,F]=(0,u.useState)(!1),[P,D]=(0,u.useState)(null),I=(0,u.useRef)(0),W=(0,u.useRef)(null);W.current||(W.current=Df(96));let $=(0,u.useRef)(0),le=(0,u.useRef)(0),he=(0,u.useRef)(s);he.current=s;let ye=(0,u.useRef)(n),Re=(0,u.useRef)({requests:0,cacheHits:0,errors:0,timeouts:0,lastMs:0,lastBytes:0}),G=(0,u.useCallback)(async(se,te={})=>{let k=Array.isArray(se)?se.filter(Boolean):[],K=(n?"all|":"")+na(k);if(!te.force){let me=W.current.get(K);if(me)return Re.current.cacheHits+=1,f(me),c(k),h(null),L(!1),me}let V=++$.current;L(!0),h(null);let ge=new AbortController,xe=setTimeout(()=>{try{ge.abort()}catch{}},1600),ve=performance.now();Re.current.requests+=1;try{let me=await fetch(Ef(Z,k,{all:n}),{signal:ge.signal}),j=await me.json().catch(()=>null);if(V!==$.current)return null;if(!me.ok||!j||!j.ok)throw new Error(j&&j.error||"HTTP "+me.status);let ue=Ff(j);if(!ue.ok)try{console.warn("[memory-eternal] \u5206\u5C42\u54CD\u5E94\u8D8A\u754C\uFF1A"+ue.problems.join("\uFF1B"))}catch{}return W.current.set(K,j),Re.current.lastMs=Math.round(performance.now()-ve),Re.current.lastBytes=ue.bytes,le.current||(le.current=Math.round(performance.now())),f(j),c(k),h(null),j}catch(me){if(V!==$.current)return null;let j=Pf(me,{timeoutMs:1600,elapsedMs:performance.now()-ve});j.timeout&&(Re.current.timeouts+=1),Re.current.errors+=1;try{console.warn("[memory-eternal] \u5C42\u7EA7\u52A0\u8F7D\u5931\u8D25 @ "+K+"\uFF1A"+j.message)}catch{}return h({...j,target:na(k),segments:k.slice()}),null}finally{clearTimeout(xe),V===$.current&&L(!1)}},[n]);(0,u.useEffect)(()=>{ye.current!==n&&(ye.current=n,W.current.clear(),i&&G([],{force:!0}))},[n,i,G]),(0,u.useEffect)(()=>{!i||p||S||G([])},[i,p,S,G]),(0,u.useEffect)(()=>{l&&p&&I.current++},[l,p]);let He=(0,u.useCallback)(se=>{let te=Array.isArray(se)?se:Mf(se&&se.path!==void 0?se.path:se);na(te)!==na(he.current)&&G(te)},[G]),Pe=(0,u.useCallback)(se=>{se&&G(he.current.concat(String(se)))},[G]),Ne=(0,u.useCallback)(()=>{W.current.clear();let se=b&&Array.isArray(b.segments)?b.segments:he.current;G(se,{force:!0})},[G,b]),ie=(0,u.useCallback)(async()=>(W.current.clear(),G(he.current,{force:!0})),[G]),ne=(0,u.useCallback)(async()=>{F(!0),D(null);try{let se=await fetch(`${Z}/graph?${n?"all=1&":""}limit=${m?0:800}`),te=await se.json().catch(()=>null);if(!se.ok||!te||!te.ok)throw new Error(te&&te.error||"HTTP "+se.status);let k=Array.isArray(te.nodes)?te.nodes:[],K=Array.isArray(te.edges)?te.edges:[],V=typeof te.shown=="number",ge=new Map;for(let de of K)ge.set(de.source,(ge.get(de.source)||0)+1),ge.set(de.target,(ge.get(de.target)||0)+1);let ve=m||V?k:k.slice().sort((de,Ce)=>(ge.get(Ce.id)||0)-(ge.get(de.id)||0)).slice(0,800),me=new Set(ve.map(de=>de.id)),j=ve.map(de=>({id:de.id,label:de.label||de.title||de.id,kind:de.kind||"other",tags:Array.isArray(de.tags)?de.tags:[],updated:de.updated||de.updated_at||"",count:0,type:"card"})),ue=m?K:K.filter(de=>me.has(de.source)&&me.has(de.target));x({id:"flat",mode:"flat",total:Number(te.total)||k.length,shown:Number(te.shown)||j.length,items:j,edges:ue})}catch(se){D({message:String(se&&se.message||se)})}finally{F(!1)}},[n,m]);(0,u.useEffect)(()=>{ne()},[ne]);let qe=(0,u.useCallback)(async se=>{try{let k=await(await fetch(`${Z}/delete?path=${encodeURIComponent(se)}`)).json();return k&&k.ok?(await ie(),o&&o(),!0):!1}catch{return!1}},[ie,o]),Ye=(0,u.useCallback)(async se=>{if(!se||se.length<2)return!1;try{let te=await fetch(`${Z}/merge?paths=${encodeURIComponent(se.join(","))}`).then(k=>k.json());return te&&te.ok?(await ie(),o&&o(),!0):!1}catch{return!1}},[ie,o]);(0,u.useEffect)(()=>{let se=()=>{let te=typeof globalThis.__meGraphRuntime=="function"?globalThis.__meGraphRuntime():null;return{path:na(he.current),crumbs:p&&Array.isArray(p.crumbs)?p.crumbs.map(k=>({path:k.path,label:k.label,labelKey:k.labelKey,count:k.count})):[],level:p&&p.level?{mode:p.level.mode,total:p.level.total,items:p.level.items.length,edges:p.level.edges.length}:null,loading:!!S,error:b?{timeout:!!b.timeout,message:b.message,target:b.target||""}:null,requests:Re.current.requests,cacheHits:Re.current.cacheHits,errors:Re.current.errors,timeouts:Re.current.timeouts,lastMs:Re.current.lastMs,lastBytes:Re.current.lastBytes,firstLevelMs:le.current,cacheSize:W.current.size,timeoutMs:1600,runtime:te}};return globalThis.__meGraphProbe=se,()=>{if(globalThis.__meGraphProbe===se)try{delete globalThis.__meGraphProbe}catch{globalThis.__meGraphProbe=void 0}}},[p,S,b]);let ae=M?_:p&&p.level?p.level:null,H=ae?ae.items.length:0,U=ae?ae.total:0,v=ae?ae.edges.length:0,Q=M?R:!p&&!b,pe=M?P:!p&&b,Ie=M?P:p?b:null;return(0,r.jsxs)("div",{className:"me-graph me-v5-graph",children:[(0,r.jsx)("style",{children:xn}),(0,r.jsxs)("div",{className:"mc-v5-pagehead mc-v5-graphhead",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("div",{className:"mc-v5-eyebrow",children:"KNOWLEDGE GRAPH"}),(0,r.jsx)("h1",{children:e("graphTab")}),(0,r.jsx)("p",{children:e("graphHint")})]}),(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8},children:[(0,r.jsx)("button",{type:"button",className:"mc-btn",onClick:()=>y(se=>!se),children:e(m?"graphFlatOnly":"graphFlatAll")}),(0,r.jsx)("span",{className:"mc-v5-pagecount",children:(M?_:p)?`${H} ${e("graphItems")} \xB7 ${U} ${e("graphCardsUnit")} \xB7 ${v} ${e("edges")}`:""})]})]}),Q&&(0,r.jsx)(tg,{text:e("loadingGraph")}),pe&&(0,r.jsxs)("div",{className:"mc-empty",style:{display:"flex",flexDirection:"column",gap:10,alignItems:"center"},children:[(0,r.jsxs)("span",{children:[Ie&&Ie.timeout?e("graphLevelTimeout").replace("{ms}",String(1600)):e("graphLevelError"),"\uFF1A",Ie&&Ie.message]}),(0,r.jsx)("button",{type:"button",className:"mc-btn",onClick:M?ne:Ne,children:e("graphRetry")})]}),(M?_:p)&&H===0&&(0,r.jsx)("div",{className:"mc-empty",children:e("graphEmptyLevel")}),ae&&H>0&&(0,r.jsx)(_0,{level:ae,crumbs:M?[]:p&&p.crumbs?p.crumbs:[],onOpen:t,onDelete:qe,onMerge:Ye,onDrill:M?()=>{}:Pe,onNavigate:He,onRetry:M?ne:Ne,error:Ie,loading:M?R:S,t:e,all:n,onAllChange:a,fitTrigger:I.current})]})}var bn={colors:{core:"#FF7A45",skill:"#A78BFA",project:"#60A5FA",knowledge:"#34D399",content:"#FBBF24",prompt:"#C084FC",business:"#F472B6",tool:"#22B8CF",mistake:"#FB7185",other:"#8CA0B3"},deep:{core:"#E8590C",skill:"#7C3AED",project:"#2563EB",knowledge:"#059669",content:"#D97706",prompt:"#9333EA",business:"#DB2777",tool:"#0891B2",mistake:"#E11D48",other:"#64748B"},shapes:{core:"diamond",skill:"hexagon",project:"circle",knowledge:"circle",content:"rect",prompt:"diamond",business:"hexagon",tool:"circle",mistake:"diamond",other:"circle"}};function Ar(e,t){try{let n=globalThis;if(n.__meGraphDrawWarned)return;n.__meGraphDrawWarned=!0,console.warn("[memory-eternal] \u77E5\u8BC6\u56FE\u8C31\u7ED8\u5236\u5F02\u5E38\uFF08\u5DF2\u515C\u5E95\uFF0C\u4E0D\u518D\u6574\u9875\u767D\u5C4F\uFF09"+(t?" @ "+t:""),e)}catch{}}function Sl({value:e,small:t}){let n=typeof e=="number"&&Number.isFinite(e),a=n?Math.max(0,Math.min(100,e)):0;return(0,r.jsx)("div",{className:"me-progress"+(t?" me-progress-sm":"")+(n?" is-determinate":""),role:"progressbar","aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":n?Math.round(a):void 0,"aria-label":"\u52A0\u8F7D\u8FDB\u5EA6",children:(0,r.jsx)("span",{className:"me-progress-fill",style:n?{width:Math.max(3,a)+"%"}:void 0})})}function tg({text:e,value:t}){return(0,r.jsxs)("div",{className:"me-loading",role:"status","aria-live":"polite",children:[(0,r.jsx)(Sl,{value:t}),(0,r.jsx)("span",{className:"me-loading-text",children:e})]})}var Vf=[];function I0({crumbs:e,t,onPick:n,busy:a}){let o=Array.isArray(e)&&e.length?e:[{path:"",labelKey:"graphAllCrumb",label:"\u5168\u90E8"}];return(0,r.jsx)("nav",{className:"me-graph-crumbs","aria-label":t("graphBreadcrumbAria"),"data-level-depth":o.length,children:o.map((i,l)=>{let s=i.labelKey?t(i.labelKey):"",c=s&&s!==i.labelKey?s:i.label||i.path||"\u2014",p=l===o.length-1;return(0,r.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:2},children:[l>0&&(0,r.jsx)("span",{className:"sep","aria-hidden":"true",children:"\u203A"}),(0,r.jsx)("button",{type:"button",className:(l===0?"home":"")+(p?" current":""),"aria-current":p?"page":void 0,title:c,disabled:p||a,onClick:()=>{p||n(i)},children:c})]},i.path||"root")})})}function _0({level:e,crumbs:t,onOpen:n,onDelete:a,onMerge:o,onDrill:i,onNavigate:l,onRetry:s,error:c,loading:p,t:f,all:b,onAllChange:h,fitTrigger:S}){let L=(0,u.useRef)(null),M=(0,u.useRef)(null),_=(0,u.useRef)(null),x=(0,u.useRef)(null),m=(0,u.useRef)(null),y=e&&Array.isArray(e.items)?e.items:Vf,R=e&&Array.isArray(e.edges)?e.edges:Vf,F=e&&e.id||"",P=(0,u.useMemo)(()=>y.map(T=>({id:T.id,title:T.label||T.id,name:T.label||T.id,kind:T.kind||"other",tags:Array.isArray(T.tags)?T.tags:[],updated:T.updated||"",count:Number(T.count)||0,type:T.type||"card"})),[y]),D=(0,u.useMemo)(()=>R.map(T=>({source:T.source,target:T.target,type:T.type||"tag",weight:Number(T.weight)||1})),[R]),I=(0,u.useRef)(f);I.current=f;let W=(0,u.useRef)(n);(0,u.useEffect)(()=>{W.current=n},[n]);let $=(0,u.useRef)(a);(0,u.useEffect)(()=>{$.current=a},[a]);let le=(0,u.useRef)(o);(0,u.useEffect)(()=>{le.current=o},[o]);let he=(0,u.useRef)(i);(0,u.useEffect)(()=>{he.current=i},[i]);let[ye,Re]=(0,u.useState)(""),[G,He]=(0,u.useState)(null),[Pe,Ne]=(0,u.useState)(null),ie=(0,u.useRef)("");(0,u.useEffect)(()=>{ie.current=ye.trim().toLowerCase()},[ye]),(0,u.useEffect)(()=>{let T=_.current;if(!T)return;let w=ye.trim().toLowerCase();if(!w)return;let fe=T.nodes.find(Oe=>(Oe.name||"").toLowerCase().includes(w));if(fe){_.current.selectedId=fe.id,He(fe.id),T.panX=T.w/2-fe.x*T.zoom,T.panY=T.h/2-fe.y*T.zoom;try{T.render&&T.render()}catch(Oe){Ar(Oe,"search-center")}}},[ye]);let[ne,qe]=(0,u.useState)("all"),[Ye,ae]=(0,u.useState)(!1),H=(0,u.useRef)("all"),[U,v]=(0,u.useState)(""),Q=(0,u.useRef)(""),[pe,Ie]=(0,u.useState)(!1),se=(0,u.useRef)(!1),[te,k]=(0,u.useState)(null);(0,u.useEffect)(()=>{H.current=ne},[ne]),(0,u.useEffect)(()=>{Q.current=U},[U]),(0,u.useEffect)(()=>{se.current=pe},[pe]);let K=(0,u.useMemo)(()=>{let T=new Map;for(let w of P)for(let fe of w.tags||[]){let Oe=String(fe).trim();Oe&&T.set(Oe,(T.get(Oe)||0)+1)}return[...T.entries()].sort((w,fe)=>fe[1]-w[1]).slice(0,24).map(([w,fe])=>({tag:w,n:fe}))},[P]),V=(0,u.useMemo)(()=>{let T={};for(let w of P)T[w.kind||"other"]=(T[w.kind||"other"]||0)+(w.type==="planet"?Math.max(1,w.count||0):1);return T},[P]),ge=(()=>{let T=ye.trim().toLowerCase();return!!T&&!P.some(w=>(w.title||w.name||"").toLowerCase().includes(T)||String(w.kind||"").toLowerCase().includes(T)||String(Nt[w.kind]||"").toLowerCase().includes(T))})();(0,u.useEffect)(()=>{let T=_.current;T&&T.requestRender&&T.requestRender()},[ye]),(0,u.useEffect)(()=>{let T=_.current;if(!(!T||!T.render))try{T.render()}catch(w){Ar(w,"filter/timeDim")}},[ne,U,pe]);let xe=(0,u.useRef)(null),[ve,me]=(0,u.useState)([]),[j,ue]=(0,u.useState)(null),[de,Ce]=(0,u.useState)(!1),[wt,Fe]=(0,u.useState)(null),[ln,Lt]=(0,u.useState)(""),wn=(0,u.useRef)(null),Pt=(0,u.useRef)(null),Ke=(T,w=!0)=>{wn.current&&clearTimeout(wn.current),Fe({msg:T,ok:w}),wn.current=setTimeout(()=>Fe(null),1900)},An=T=>{Lt(T),Pt.current&&clearTimeout(Pt.current),Pt.current=setTimeout(()=>Lt(""),1600)};(0,u.useEffect)(()=>()=>{wn.current&&clearTimeout(wn.current),Pt.current&&clearTimeout(Pt.current)},[]);let Me=(0,u.useMemo)(()=>P.reduce((T,w)=>(T[w.id]=w,T),{}),[P]);return(0,u.useEffect)(()=>{let T=L.current;if(!T||P.length===0)return;let w=T.getContext("2d");if(!w)return;let fe=Math.min(1.5,Math.max(1,window.devicePixelRatio||1)),Oe={};D.forEach(E=>{Oe[E.source]=(Oe[E.source]||0)+1,Oe[E.target]=(Oe[E.target]||0)+1});let C=Math.max(1,...Object.values(Oe)),z=Af(),_e=y.some(E=>E&&E.type==="planet"),d={nodes:y.filter(E=>E&&E.type!=="planet").concat(y.filter(E=>E&&E.type==="planet")).map(E=>Rf(E,{degree:Oe[E.id]||0,maxDegree:C})),edges:D.map(E=>({sourceNodeId:E.source,targetNodeId:E.target,weight:Math.max(1,Number(E.weight)||1)})),panX:0,panY:0,zoom:1,running:!0,raf:0,tickCount:0,quietTicks:0,dragNode:null,selectedId:null,mouseX:0,mouseY:0,w:0,h:0,dpr:fe,ctx:w,multi:[],marquee:null,planetLayer:_e,levelId:F};d.domain=P,d.domainById=P.reduce((E,B)=>(E[B.id]=B,E),{}),d.nodeById=new Map(d.nodes.map(E=>[E.id,E])),d.edgePairs=(()=>{let E=new Map(d.nodes.map((O,ee)=>[O.id,ee])),B=new Int32Array(d.edges.length*2),X=0;for(let O of d.edges){let ee=E.get(O.sourceNodeId),we=E.get(O.targetNodeId);ee===void 0||we===void 0||(B[X]=ee,B[X+1]=we,X+=2)}return B.subarray(0,X)})(),d.alpha=1,d.forceParams=_e?Lf(vl(d.nodes.length)):vl(d.nodes.length),d.lastTickMs=0,d.lastRenderMs=0,d.nodes.forEach((E,B)=>{let X=B*2.399963229728653,O=12*Math.sqrt(B);E.x=Math.cos(X)*O,E.y=Math.sin(X)*O});let qt=[...new Set(d.nodes.map(E=>E.type))];d.clustered=!_e&&qt.length>1,d.typeCenters=d.typeCenters||{};let sn=_e?0:160;qt.forEach((E,B)=>{if(d.typeCenters[E])return;let X=B/qt.length*Math.PI*2-Math.PI/2;d.typeCenters[E]={x:Math.cos(X)*sn,y:Math.sin(X)*sn}}),_.current=d;let cn=0,Fn=0,Dt=null,Yn="",_r=()=>{let E=T.clientWidth,B=T.clientHeight;d.w=E,d.h=B,T.width=E*fe,T.height=B*fe,w.setTransform(fe,0,0,fe,0,0),(cn===0||Fn===0)&&E>0&&B>0&&d.tickCount>0&&z.raf(()=>g()),cn=E,Fn=B};_r();let Or=new ResizeObserver(_r);Or.observe(T.parentElement);let Tt=(E,B)=>E&&E.length>B?E.slice(0,B)+"\u2026":E,Xe=(E,B,X,O)=>{if(w.beginPath(),O==="rect")w.rect(E-X,B-X*.75,X*2,X*1.5);else if(O==="diamond")w.moveTo(E,B-X),w.lineTo(E+X,B),w.lineTo(E,B+X),w.lineTo(E-X,B),w.closePath();else if(O==="hexagon"){for(let ee=0;ee<6;ee++){let we=Math.PI/3*ee-Math.PI/2,Ae=E+X*Math.cos(we),Ue=B+X*Math.sin(we);ee===0?w.moveTo(Ae,Ue):w.lineTo(Ae,Ue)}w.closePath()}else w.arc(E,B,X,0,Math.PI*2)},Qn=new Map,ja=(E,B)=>{let X=E+"|"+Math.round(B),O=Qn.get(X);return O||(O=w.createRadialGradient(-B*.32,-B*.38,0,0,0,B*1.15),O.addColorStop(0,_n(E,"#ffffff",.2)),O.addColorStop(.62,E),O.addColorStop(1,_n(E,"#000000",.22)),Qn.set(X,O)),O},In=(E,B)=>{let X=parseInt(E.slice(1,3),16),O=parseInt(E.slice(3,5),16),ee=parseInt(E.slice(5,7),16);return"rgba("+X+","+O+","+ee+","+B+")"},_n=(E,B,X)=>{let O=Ue=>[parseInt(Ue.slice(1,3),16),parseInt(Ue.slice(3,5),16),parseInt(Ue.slice(5,7),16)],ee=O(E),we=O(B),Ae=Math.max(0,Math.min(1,Number(X)||0));return"rgb("+ee.map((Ue,Je)=>Math.round(Ue+(we[Je]-Ue)*Ae)).join(",")+")"},On=new Map,kn=new Map,jr=(E,B,X,O)=>{let ee=Je=>[parseInt(Je.slice(1,3),16),parseInt(Je.slice(3,5),16),parseInt(Je.slice(5,7),16)],we=ee(E),Ae=ee(B),Ue=Math.max(0,Math.min(1,Number(X)||0));return"rgba("+we.map((Je,Ze)=>Math.round(Je+(Ae[Ze]-Je)*Ue)).join(",")+","+O+")"},dr=1.1,aa=.3,yt=3,g=()=>{if(!d.nodes.length)return;let E=1/0,B=-1/0,X=1/0,O=-1/0;d.nodes.forEach(it=>{let kt=Number(it.r)||0,nt=it.planet?kt*1.32:kt;it.x-nt<E&&(E=it.x-nt),it.x+nt>B&&(B=it.x+nt),it.y-nt<X&&(X=it.y-nt),it.y+nt>O&&(O=it.y+nt)});let ee=28,we=B-E+ee*2,Ae=O-X+ee*2,Ue=Math.min(d.w/we,d.h/Ae),Je=Math.pow(1/dr,yt);d.zoom=Math.max(.35,Math.min(1.8,Ue*Je));let Ze=!(Array.isArray(t)&&t.length>1);d.planetLayer&&Ze?d.zoom=Math.max(.12,Math.min(aa,Ue)):d.planetLayer&&(d.zoom=Math.max(.12,Ue*Math.pow(1/dr,yt-2))),d.panX=d.w/2-(E+B)/2*d.zoom,d.panY=d.h/2-(X+O)/2*d.zoom};x.current=g;let J=()=>{d.renderFrames=(d.renderFrames|0)+1;let E=d.zoom>=1.2?"in":"out";M.current&&M.current.dataset.zoom!==E&&(M.current.dataset.zoom=E),w.clearRect(0,0,d.w,d.h),d.searchTerm=ie.current,d.kindFilter=H.current,d.timeMode=se.current,d.tagFilter=Q.current;let B=d.tagFilter,X=d.kindFilter,O=A=>String(A||"").replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;");w.save();let ee=d.w+"x"+d.h;if(!Dt||Yn!==ee){Dt=new Path2D;let A=26;for(let ze=A/2;ze<d.w;ze+=A)for(let $e=A/2;$e<d.h;$e+=A)Dt.moveTo(ze+1,$e),Dt.arc(ze,$e,1,0,Math.PI*2);Yn=ee}w.fillStyle="rgba(255,255,255,0.055)",w.fill(Dt),w.restore(),w.save(),w.translate(d.panX,d.panY),w.scale(d.zoom,d.zoom);let we={};d.nodes.forEach(A=>we[A.id]=A);let Ae=performance.now()<(d.motionUntil||0),Ue=d.nodes.length>40,Je=Ue?1.5:.55,Ze=d.selectedId||d.hoverId,it=kf({panX:d.panX,panY:d.panY,zoom:d.zoom,w:d.w,h:d.h,margin:80}),kt=(()=>{let A=(d.searchTerm||"").toLowerCase();if(!A)return null;let ze=[];for(let $e of d.nodes){let Ve=(d.domainById[$e.id]||{}).kind||"other";if((($e.name||"").toLowerCase().includes(A)||String(Nt[Ve]||"").toLowerCase().includes(A)||String(Ve).toLowerCase().includes(A))&&ze.push($e.id),ze.length>200)break}return ze})(),nt=d.quality|0;(!d.labelOrder||d.labelOrder.src!==d.nodes)&&(d.labelOrder={src:d.nodes,ids:d.nodes.slice().sort((A,ze)=>(Number(Oe[ze.id])||0)-(Number(Oe[A.id])||0)).map(A=>A.id)});let Bn=Cf(d.nodes,{limit:Sf(d.nodes.length,nt),focusId:Ze,hoverId:d.hoverId,searchHits:kt,degree:Oe,order:d.labelOrder.ids}),pr=d.zoom<=Je?new Set((d.labelOrder&&d.labelOrder.ids?d.labelOrder.ids:[]).slice(0,12)):null,pn=new Map,Uo=(A,ze)=>{let $e=A+"|"+ze,Se=pn.get($e);return Se===void 0&&(w.font=A,Se=w.measureText(ze).width,pn.set($e,Se)),Se},$o=d.nodes.length<=250,Rl=new Map,sg=d.nodes.length>1200&&d.zoom<.3,kd=d.zoom>=.6,Ll=nt>=3,Sd=nt<=0?1:nt===1?2:nt===2?4:8;d.edges.forEach((A,ze)=>{if(sg)return;let $e=Ze&&(A.sourceNodeId===Ze||A.targetNodeId===Ze);if(Ze){if(!$e)return}else if(Sd>1&&ze%Sd!==0)return;let Se=we[A.sourceNodeId],Ve=we[A.targetNodeId];if(!Se||!Ve||!yl(Se.x,Se.y,10,it)&&!yl(Ve.x,Ve.y,10,it))return;if(X!=="all"){let Pl=d.domainById[A.sourceNodeId]&&d.domainById[A.sourceNodeId].kind,Dl=d.domainById[A.targetNodeId]&&d.domainById[A.targetNodeId].kind;if(Pl!==X&&Dl!==X)return}if(B){let Pl=d.domainById[A.sourceNodeId]&&(d.domainById[A.sourceNodeId].tags||[]).includes(B),Dl=d.domainById[A.targetNodeId]&&(d.domainById[A.targetNodeId].tags||[]).includes(B);if(!Pl&&!Dl)return}let vt=Ve.x-Se.x,lt=Ve.y-Se.y,ft=Math.sqrt(vt*vt+lt*lt)||1,Wt=Ae||kd||nt>=2?0:Ue?10:16,At=-lt/ft*Wt,Mt=vt/ft*Wt,Br=(Se.x+Ve.x)/2+At,Hn=(Se.y+Ve.y)/2+Mt,Wn=bn.colors[d.domainById[Se.id]&&d.domainById[Se.id].kind||"other"]||bn.colors.other,oa=Ze?$e?.72:.06:d.planetLayer?.22:Ue?.16:.2,Td=parseInt(Wn.slice(1,3),16),Md=parseInt(Wn.slice(3,5),16),Ed=parseInt(Wn.slice(5,7),16),zd=Math.max(1,Number(A.weight)||1),pg=$e?1.6+Math.min(3.2,zd*.8):.7+Math.min(2.4,(zd-1)*.35),Rd=Math.min(kd||nt>=1?1.2:1/0,Math.round(pg*2)/2),Ld=Td+","+Md+","+Ed+","+oa+","+Rd,Wa=Rl.get(Ld);Wa||(Wa={path:new Path2D,stroke:"rgba("+Td+","+Md+","+Ed+","+oa+")",width:Rd},Rl.set(Ld,Wa)),Wa.path.moveTo(Se.x,Se.y),Wa.path.quadraticCurveTo(Br,Hn,Ve.x,Ve.y)}),Rl.forEach(A=>{w.strokeStyle=A.stroke,w.lineWidth=A.width,w.stroke(A.path)});let Ha=null;Ze&&(Ha=new Set,d.edges.forEach(A=>{A.sourceNodeId===Ze?Ha.add(A.targetNodeId):A.targetNodeId===Ze&&Ha.add(A.sourceNodeId)}));let cg=(A,ze={})=>{let $e=Tt(A.name,ze.maxChars||16),Se=1/d.zoom,Ve="500 "+(11.5*Se).toFixed(1)+"px -apple-system,Segoe UI,sans-serif";w.font=Ve;let lt=Uo(Ve,$e)+14*Se,ft=17*Se,Wt=A.y+A.r+(ze.gap===void 0?8:ze.gap)*Se,At=!0;for(let Mt of Cd)if(A.x-lt/2<Mt.x+Mt.w&&A.x+lt/2>Mt.x&&Wt<Mt.y+Mt.h&&Wt+ft>Mt.y){At=!1;break}return!At&&!ze.force?!1:(Cd.push({x:A.x-lt/2,y:Wt,w:lt,h:ft}),w.fillStyle="rgba(20,24,30,0.78)",w.beginPath(),w.roundRect?w.roundRect(A.x-lt/2,Wt,lt,ft,4*Se):w.rect(A.x-lt/2,Wt,lt,ft),w.fill(),w.strokeStyle="rgba(255,255,255,0.07)",w.lineWidth=1*Se,w.stroke(),w.fillStyle=ze.strong?"#f2f5f8":"#aeb6c2",w.textAlign="center",w.textBaseline="top",w.fillText($e,A.x,Wt+4.6*Se),!0)},dg=(A,ze,$e)=>{let Se=1/d.zoom,{isSel:Ve,isHov:vt,dimmed:lt}=$e,ft=A.r*d.zoom;w.save(),w.globalAlpha=lt?.16:1;let Wt="g|"+ze+"|"+Math.round(A.r),At=On.get(Wt);At||(At=w.createRadialGradient(0,0,A.r*.8,0,0,A.r*1.24),At.addColorStop(0,In(ze,.18)),At.addColorStop(.58,In(ze,.06)),At.addColorStop(1,In(ze,0)),On.set(Wt,At)),w.save(),w.translate(A.x,A.y),!Ll&&(d.quality|0)<2&&(w.fillStyle=At,w.beginPath(),w.arc(0,0,A.r*1.24,0,Math.PI*2),w.fill());let Mt=d.timeMode?ze:bn.deep[A.type]||ze,Br="b|"+Mt+"|"+Math.round(A.r),Hn=kn.get(Br);if(Hn||(Hn=w.createRadialGradient(-A.r*.26,-A.r*.32,A.r*.12,0,0,A.r*1.1),Hn.addColorStop(0,jr(Mt,"#ffffff",.24,.9)),Hn.addColorStop(.58,In(Mt,.86)),Hn.addColorStop(1,jr(Mt,"#000000",.34,.9)),kn.set(Br,Hn)),w.beginPath(),w.arc(0,0,A.r,0,Math.PI*2),w.fillStyle="rgba(13,16,21,0.92)",w.fill(),w.beginPath(),w.arc(0,0,A.r,0,Math.PI*2),w.fillStyle=Hn,w.fill(),w.beginPath(),w.arc(0,0,A.r-Math.max(.6,1.1*Se),Math.PI*1.06,Math.PI*1.94),w.strokeStyle="rgba(255,255,255,0.14)",w.lineWidth=Math.max(.7,1.2*Se),w.stroke(),w.beginPath(),w.arc(0,0,A.r,0,Math.PI*2),w.strokeStyle=In(ze,Ve||vt?.95:.58),w.lineWidth=Math.max(.8,1.1*Se),w.stroke(),w.restore(),(Ve||vt)&&(w.save(),w.beginPath(),w.arc(A.x,A.y,A.r+(Ve?7:5)*Se,0,Math.PI*2),w.strokeStyle=Ve?"rgba(255,122,69,0.9)":In(ze,.7),w.lineWidth=Math.max(1,1.2*Se),Ve&&w.setLineDash([5*Se,4*Se]),w.stroke(),w.restore()),w.restore(),Ve||vt||ft>=11){let Wn=Math.max(9,Math.min(21,ft*.42))*Se,oa=ft>=30;w.save(),w.textAlign="center",w.textBaseline="middle",w.shadowColor="rgba(0,0,0,0.5)",w.shadowBlur=(d.quality|0)>=2?0:5*Se,oa&&(w.font="600 "+(Wn*.48).toFixed(1)+"px -apple-system,Segoe UI,sans-serif",w.fillStyle="rgba(255,255,255,0.72)",w.fillText(Tt(A.name,12),A.x,A.y-Wn*1.02)),w.font="700 "+Wn.toFixed(1)+"px -apple-system,Segoe UI,sans-serif",w.fillStyle="rgba(255,255,255,0.96)",w.fillText(zf(A.count,{unit:I.current("graphCountWan"),locale:I.current("graphCountLocale")}),A.x,A.y+(oa?Wn*.06:0)),oa&&(w.font="500 "+(Wn*.38).toFixed(1)+"px -apple-system,Segoe UI,sans-serif",w.fillStyle="rgba(255,255,255,0.5)",w.fillText(I.current("graphCardsUnit"),A.x,A.y+Wn*.92)),w.restore()}},Cd=[],Nd=[];if(d.nodes.forEach(A=>{if(!yl(A.x,A.y,A.r+2,it))return;let ze=d.domainById[A.id]||{},$e=ze.kind||"other",Se=d.timeMode&&ze.updated?O0(ze.updated):bn.colors[$e]||bn.colors.other,Ve=bn.shapes[$e]||"circle",vt=d.selectedId===A.id,lt=d.hoverId===A.id,ft=d.searchTerm||"",Wt=!ft||(A.name||"").toLowerCase().includes(ft)||String(Nt[$e]||"").toLowerCase().includes(ft)||String($e).toLowerCase().includes(ft),At=X==="all"||$e===X,Mt=!B||(ze.tags||[]).includes(B),Br=Ze&&A.id!==Ze&&!(Ha&&Ha.has(A.id))||ft&&!Wt||!At||!Mt;if(A.planet){Nd.push({n:A,color:Se,isSel:vt,isHov:lt,dimmed:Br,ok:At&&Mt});return}w.save(),w.globalAlpha=Br?.08:1,(vt||lt)&&$o&&(w.shadowColor=Se,w.shadowBlur=vt?16:11),w.translate(A.x,A.y),Xe(0,0,A.r,Ve),w.fillStyle=Ll?Se:ja(Se,A.r),w.fill(),(!Ll||vt||lt)&&(w.strokeStyle="rgba(255,255,255,0.16)",w.lineWidth=Math.max(.6,.8*(1/d.zoom)),w.stroke()),$e==="core"&&(w.fillStyle="#1b120e",w.font="700 "+Math.max(10,Math.round(A.r*.95))+"px sans-serif",w.textAlign="center",w.textBaseline="middle",w.fillText("\u2605",0,0)),w.restore(),vt?(w.save(),Xe(A.x,A.y,A.r+3,Ve),w.strokeStyle=Se,w.lineWidth=3,w.shadowColor=Se,w.shadowBlur=12,w.stroke(),w.restore()):lt?(w.save(),Xe(A.x,A.y,A.r+2,Ve),w.strokeStyle=Se,w.lineWidth=2,w.stroke(),w.restore()):ft&&Wt?(w.save(),Xe(A.x,A.y,A.r+2,Ve),w.strokeStyle="#ffa06b",w.lineWidth=2,w.stroke(),w.restore()):d.multi.indexOf(A.id)>=0&&(w.save(),Xe(A.x,A.y,A.r+2,Ve),w.strokeStyle="#60a5fa",w.lineWidth=2,w.shadowColor="#60a5fa",w.shadowBlur=8,w.stroke(),w.restore()),(vt||lt||!Ae&&(Bn.has(A.id)&&d.zoom>Je||!Ue&&d.zoom>.6||pr&&pr.has(A.id)))&&At&&Mt&&cg(A,{force:vt||lt})}),Nd.forEach(A=>dg(A.n,A.color,A)),w.restore(),d.marquee){let A=d.marquee,ze=Math.min(A.sx,A.ex),$e=Math.min(A.sy,A.ey),Se=Math.abs(A.ex-A.sx),Ve=Math.abs(A.ey-A.sy);w.save(),w.setLineDash([4,4]),w.strokeStyle="rgba(96,165,250,0.9)",w.lineWidth=1,w.fillStyle="rgba(96,165,250,0.12)",w.fillRect(ze,$e,Se,Ve),w.strokeRect(ze,$e,Se,Ve),w.restore()}if(d.hoverId&&xe.current){let A=d.domainById[d.hoverId],ze=d.nodes.find(function($e){return $e.id===d.hoverId});if(A&&ze){let $e=d.edges.filter(function(ft){return ft.sourceNodeId===A.id||ft.targetNodeId===A.id}).length,Se=ze.x*d.zoom+d.panX,Ve=ze.y*d.zoom+d.panY;xe.current.style.display="block",xe.current.style.left=Se+14+"px",xe.current.style.top=Ve-6+"px";let vt=ze.planet?I.current("graphPlanetCards").replace("{n}",String(ze.count))+" \xB7 "+I.current("graphEnter"):I.current("connCount").replace("{n}",$e),lt=I.current(Nt[A.kind]||"kindKnowledge");xe.current.innerHTML="<b>"+O(A.title||A.name||"")+'</b><br/><span style="opacity:.8">'+O(lt)+" \xB7 "+O(vt)+"</span>"}}else xe.current&&(xe.current.style.display="none")},re=0,je=0,be=0,Le=()=>{d.lastInputAt=performance.now(),d.motionUntil=performance.now()+140,be&&z.clearTimeout(be),be=z.setTimeout(()=>{be=0,De()},160)},De=()=>{je||(je=z.raf(()=>{je=0;let E=performance.now();try{J()}catch(B){Ar(B,"render")}d.lastRenderMs=performance.now()-E}))};d.requestRender=De;let Ht=()=>{re>0||(d.alpha=Math.max(d.alpha||0,.35),d.running=!0,d.raf||(d.raf=z.raf(oe)))};d.wake=Ht,d.render=J;let N=()=>{if(!_e)return;d.planetsSrc!==d.nodes&&(d.planets=d.nodes.filter(B=>B.planet),d.planetsSrc=d.nodes);let E=d.planets;if(!(!E||!E.length)){for(let B=0;B<E.length;B++)for(let X=B+1;X<E.length;X++){let O=E[B],ee=E[X],we=ee.x-O.x,Ae=ee.y-O.y,Ue=Math.sqrt(we*we+Ae*Ae)||1,Je=24+Math.min(O.r,ee.r)*.18,Ze=O.r+ee.r+Je;if(Ue>=Ze)continue;let it=Ze-Ue,kt=we/Ue,nt=Ae/Ue,Bn=O.r*O.r,pr=ee.r*ee.r,pn=Bn+pr,Uo=it*(pr/pn),$o=it*(Bn/pn);O.x-=kt*Uo,O.y-=nt*Uo,ee.x+=kt*$o,ee.y+=nt*$o,O.vx*=.55,O.vy*=.55,ee.vx*=.55,ee.vy*=.55}for(let B of E)for(let O of d.nodes){if(O.planet||O===d.dragNode)continue;let ee=O.x-B.x,we=O.y-B.y,Ae=Math.sqrt(ee*ee+we*we)||1,Ue=ee/Ae,Je=we/Ae,Ze=B.r+O.r+30,it=Ze+12;if(Ae>=it)continue;let kt=Ae;if(Ae<Ze){O.x=B.x+Ue*Ze,O.y=B.y+Je*Ze;let pn=O.vx*Ue+O.vy*Je;pn<0&&(O.vx-=Ue*pn,O.vy-=Je*pn),kt=Ze}let nt=Math.min(1,(it-kt)/12),Bn=(.28+B.r*.009)*nt*nt,pr=O.vx*Ue+O.vy*Je;if(pr<Bn){let pn=(Bn-pr)*.5;O.vx+=Ue*pn,O.vy+=Je*pn}}}},q=()=>{let E=performance.now(),B=Tf(d,{params:d.forceParams,alphaFloor:d.drift?1:0,damping:d.drift?.8:void 0});N(),d.lastTickMs=performance.now()-E,d.lastRms=B.rms,d.autoFitPending&&d.tickCount>45&&(d.autoFitPending=!1,g())},oe=()=>{if(!d.running)return;let E=performance.now(),B=0;d.lastStepAt&&E-d.lastStepAt>0&&E-d.lastStepAt<120&&(B=E-d.lastStepAt,d.frameEma=d.frameEma?d.frameEma*.8+B*.2:B),d.lastStepAt=E,d.tickCount>30&&B>0&&(d.frameEma>17.8?d.perfBad=(d.perfBad||0)+B:d.perfBad=Math.max(0,(d.perfBad||0)-B*.5),d.perfBad>500&&(d.quality|0)<3&&(d.quality=(d.quality|0)+1,d.perfBad=0,d.frameEma=16.7),d.frameEma&&d.frameEma<13.5?d.goodMs=(d.goodMs||0)+B:d.goodMs=0,(d.goodMs||0)>4e3&&(d.quality|0)>0&&(d.quality=(d.quality|0)-1,d.goodMs=0));let X=performance.now()-(d.lastInputAt||0);if(d.drift&&(X>4e3||(d.quality|0)>=1&&X>1200)){d.drift=!1,d.running=!1,d.raf=0;return}!d.drift&&(d.quietTicks>id||d.alpha===0&&d.tickCount>120)&&(d.quietTicks=0,d.drift=!0,d.alpha=Math.max(d.alpha||0,1),d.motionUntil=0,d.userTouched||g());try{let O=performance.now(),ee=d.dragNode||d.drift?1:6,we=0;do q(),we+=1;while(!d.dragNode&&!d.drift&&we<ee&&performance.now()-O<18&&d.quietTicks<=id);d.drift||(d.motionUntil=performance.now()+60);let Ae=performance.now();J(),d.lastRenderMs=performance.now()-Ae}catch(O){Ar(O,"step")}d.raf=z.raf(oe)},Te=()=>({nodes:d.nodes.length,edges:d.edges.length,planets:d.nodes.filter(E=>E.planet).length,level:d.levelId||"",tickCount:d.tickCount,quietTicks:d.quietTicks,running:!!d.running,dragging:!!d.dragNode,lastTickMs:Math.round((d.lastTickMs||0)*100)/100,lastRenderMs:Math.round((d.lastRenderMs||0)*100)/100,rms:Math.round((d.lastRms||0)*1e3)/1e3,alpha:Math.round((d.alpha||0)*1e3)/1e3,drift:!!d.drift,frames:d.renderFrames|0,quality:d.quality|0,frameEma:Math.round((d.frameEma||0)*10)/10});d.stats=Te,globalThis.__meGraphStats=Te;let Ee=()=>{let E=T.getBoundingClientRect(),B=E.width?T.clientWidth/E.width:1,X=E.height?T.clientHeight/E.height:1;return{level:d.levelId||"",planetLayer:!!d.planetLayer,nodes:d.nodes.length,planets:d.nodes.filter(O=>O.planet).length,edges:d.edges.length,running:!!d.running,quietTicks:d.quietTicks,zoom:Math.round(d.zoom*1e3)/1e3,panX:Math.round(d.panX),panY:Math.round(d.panY),selected:d.selectedId||null,multi:Array.isArray(d.multi)?d.multi.length:0,drift:!!d.drift,frames:d.renderFrames|0,resources:z.snapshot(),screen:d.nodes.map(O=>({id:O.id,label:O.name,planet:!!O.planet,count:O.count||0,dir:O.orbitDir||0,scale:O.orbitScale?Math.round(O.orbitScale*100)/100:0,x:E.left+(O.x*d.zoom+d.panX)/B,y:E.top+(O.y*d.zoom+d.panY)/X,r:Math.max(4,O.r*d.zoom/B)}))}};d.runtime=Ee,globalThis.__meGraphRuntime=Ee;let ke=(E,B)=>{let X=T.getBoundingClientRect(),O=X.width?T.clientWidth/X.width:1,ee=X.height?T.clientHeight/X.height:1;return{x:(E-X.left)*O,y:(B-X.top)*ee}},mt=(E,B)=>{let X=ke(E,B);return{x:(X.x-d.panX)/d.zoom,y:(X.y-d.panY)/d.zoom}},dn=E=>{let B=d.domainById[E];return!(!B||H.current!=="all"&&B.kind!==H.current||Q.current&&!(B.tags||[]).includes(Q.current))},Sn=(E,B,X)=>Math.max(B,Math.min(X,E)),jn=E=>{d.mouseX=E.clientX,d.mouseY=E.clientY;let B=mt(E.clientX,E.clientY),X=null;for(let O=d.nodes.length-1;O>=0;O--){let ee=d.nodes[O];if(!dn(ee.id))continue;let we=ee.x-B.x,Ae=ee.y-B.y;if(we*we+Ae*Ae<ee.r*ee.r+36){X=ee.id;break}}X!==d.hoverId&&(d.hoverId=X,d.motionUntil=performance.now()+140,De())},Cn=E=>{if(E.button!==0)return;let B=mt(E.clientX,E.clientY),X=null;for(let O=d.nodes.length-1;O>=0;O--){let ee=d.nodes[O];if(!dn(ee.id))continue;let we=ee.x-B.x,Ae=ee.y-B.y;if(we*we+Ae*Ae<ee.r*ee.r+25){X=ee;break}}if(E.shiftKey){if(X){d.shiftClick=X.id;return}d.marquee={sx:E.clientX,sy:E.clientY,ex:E.clientX,ey:E.clientY};return}d.userTouched=!0,d.dragStart={x:E.clientX,y:E.clientY,px:d.panX,py:d.panY},d.dragging=!1,d.dragNode=X||null,X&&(d.dragOffset={dx:X.x-B.x,dy:X.y-B.y})},Tl=E=>{if(d.marquee){d.marquee.ex=E.clientX,d.marquee.ey=E.clientY,Le(),De();return}if(!d.dragStart)return;let B=E.clientX-d.dragStart.x,X=E.clientY-d.dragStart.y;if(Math.abs(B)+Math.abs(X)>3&&!d.dragging&&(d.dragging=!0,d.dragNode&&(d.alpha=Math.max(d.alpha||0,.35))),d.dragNode){let O=mt(E.clientX,E.clientY);d.dragNode.x=O.x+d.dragOffset.dx,d.dragNode.y=O.y+d.dragOffset.dy,Le(),Ht()}else d.dragging&&(d.panX=Sn(d.dragStart.px+B,-1e5,1e5),d.panY=Sn(d.dragStart.py+X,-1e5,1e5),Le(),De())},Ml=E=>{if(d.marquee){let O=d.marquee;d.marquee=null;let ee=ke(O.sx,O.sy),we=ke(O.ex,O.ey),Ae=Math.min(ee.x,we.x),Ue=Math.max(ee.x,we.x),Je=Math.min(ee.y,we.y),Ze=Math.max(ee.y,we.y),it=d.nodes.filter(kt=>!kt.planet&&dn(kt.id)).filter(kt=>{let nt=kt.x*d.zoom+d.panX,Bn=kt.y*d.zoom+d.panY;return nt>=Ae&&nt<=Ue&&Bn>=Je&&Bn<=Ze}).map(kt=>kt.id);d.multi=it,me(it),Le(),De();return}let B=d.dragStart&&!d.dragging,X=!!d.dragNode&&!!d.dragging;if(d.shiftClick){let O=d.shiftClick;d.shiftClick=null;let ee=d.nodeById.get(O);if(ee&&ee.planet){d.selectedId=O,He(O),De();return}let we=Array.isArray(d.multi)?d.multi.slice():[];we.includes(O)||we.push(O),d.multi=we,me(we),De();return}if(B){let O=mt(E.clientX,E.clientY),ee=null;for(let we=d.nodes.length-1;we>=0;we--){let Ae=d.nodes[we];if(!dn(Ae.id))continue;let Ue=Ae.x-O.x,Je=Ae.y-O.y;if(Ue*Ue+Je*Je<Ae.r*Ae.r+20){ee=Ae;break}}if(ee&&ee.planet){d.selectedId=null,He(null),De(),d.dragStart=null,d.dragging=!1,d.dragNode=null,he.current&&he.current(ee.id);return}ee?d.selectedId===ee.id?(d.selectedId=null,He(null),De()):(d.selectedId=ee.id,He(ee.id),De()):(d.selectedId=null,d.hoverId=null,E.shiftKey||(d.multi=[],me([])),He(null),De())}d.dragStart=null,d.dragging=!1,d.dragNode=null,X&&Ht()},ag=E=>{E.preventDefault();let B=mt(E.clientX,E.clientY),X=null;for(let O=d.nodes.length-1;O>=0;O--){let ee=d.nodes[O];if(!dn(ee.id))continue;let we=ee.x-B.x,Ae=ee.y-B.y;if(we*we+Ae*Ae<ee.r*ee.r+25){X=ee;break}}if(X){let O=d.domainById[X.id];O&&k({x:E.clientX,y:E.clientY,id:X.id,path:O.id,title:O.title,planet:!!X.planet,count:X.count||0})}else k(null)},og=E=>{E.preventDefault();let B=ke(E.clientX,E.clientY),X=(B.x-d.panX)/d.zoom,O=(B.y-d.panY)/d.zoom,ee=Math.max(aa,Math.min(3,d.zoom*(E.deltaY<0?dr:1/dr)));d.panX=Sn(d.panX+X*(d.zoom-ee),-1e5,1e5),d.panY=Sn(d.panY+O*(d.zoom-ee),-1e5,1e5),d.zoom=ee,d.userTouched=!0,Le(),De()};z.listen(T,"mousemove",jn),z.listen(T,"mousedown",Cn),z.listen(window,"mousemove",Tl),z.listen(window,"mouseup",Ml),z.listen(T,"wheel",og,{passive:!1}),z.listen(T,"contextmenu",ag),m.current=()=>{d.selectedId=null,d.hoverId=null,d.multi=[],me([]),d.userTouched=!1,g(),Le(),De()},re=Nf(d.nodes.length);let Ba=re,ig=()=>Ba>0?Math.round((Ba-re)/Ba*100):100;re>0&&Ne(0);let El=Ba>0?[.75,.5,.25].map(E=>Math.round(Ba*E)):[],zl=()=>{if(!d.running)return;let E=performance.now();for(;re>0&&performance.now()-E<12;)q(),re--;if(Ne(re>0?Math.min(99,ig()):100),El.length&&re<=El[0]){El.shift(),d.userTouched||g();try{J()}catch(B){Ar(B,"warm-frame")}}if(re>0){d.userTouched||g(),d.warmRaf=z.raf(zl);return}d.warmRaf=0,d.userTouched||g();try{J()}catch(B){Ar(B,"warm-final")}Ne(null),Ht()};d.warmStep=zl,g();try{J()}catch(E){Ar(E,"first-frame")}re>0?d.warmRaf=z.raf(zl):(Ne(0),Ht());let lg=()=>ae(!1);return z.listen(window,"mousedown",lg),()=>{if(d.running=!1,z.releaseAll(),globalThis.__meGraphStats===Te)try{delete globalThis.__meGraphStats}catch{globalThis.__meGraphStats=void 0}if(globalThis.__meGraphRuntime===Ee)try{delete globalThis.__meGraphRuntime}catch{globalThis.__meGraphRuntime=void 0}try{Or.disconnect()}catch{}}},[y,D,F]),(0,u.useEffect)(()=>{He(null),me([]),k(null);let T=_.current;T&&(T.selectedId=null,T.multi=[])},[F]),(0,u.useEffect)(()=>{S!==void 0&&x.current&&requestAnimationFrame(()=>{try{x.current()}catch(T){Ar(T,"fit")}})},[S]),(0,r.jsxs)("div",{className:"me-graph",ref:M,children:[(0,r.jsxs)("div",{className:"me-graph-toolbar",children:[(0,r.jsxs)("label",{className:"me-graph-search",children:[(0,r.jsxs)("svg",{className:"ico",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"1.6","aria-hidden":"true",children:[(0,r.jsx)("circle",{cx:"7",cy:"7",r:"4.4"}),(0,r.jsx)("path",{d:"m10.4 10.4 3.2 3.2",strokeLinecap:"round"})]}),(0,r.jsx)("input",{type:"text",placeholder:f("search"),value:ye,onChange:T=>Re(T.target.value),"aria-label":f("search")})]}),(0,r.jsxs)("span",{style:{position:"relative",display:"inline-flex"},children:[(0,r.jsxs)("button",{type:"button",className:"me-gtool"+(ne!=="all"||pe||U?" on":""),onClick:()=>ae(T=>!T),"aria-expanded":Ye,title:f("filterLabel"),children:[f("filterLabel"),ne!=="all"||pe||U?(0,r.jsx)("span",{className:"badge","aria-hidden":"true"}):(0,r.jsx)("span",{className:"caret","aria-hidden":"true",children:"\u25BE"})]}),Ye&&(0,r.jsx)("div",{className:"me-graph-legend-pop",onMouseDown:T=>T.stopPropagation(),style:{position:"absolute",top:"calc(100% + 8px)",left:0,zIndex:50,background:"rgba(24,28,34,0.97)",backdropFilter:"blur(16px)",WebkitBackdropFilter:"blur(16px)",color:"#e5e9ef",border:"1px solid rgba(255,255,255,0.08)",borderRadius:11,padding:8,minWidth:236,boxShadow:"0 18px 44px rgba(0,0,0,.5)"},children:(0,r.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:2},children:[(0,r.jsx)("button",{type:"button",className:`lg${ne==="all"&&!pe?" active":""}`,onClick:()=>{qe("all"),Ie(!1)},children:f("all")}),Object.keys(Kt).map(T=>(0,r.jsxs)("button",{type:"button",className:`lg${ne===T?" active":""}`,onClick:()=>qe(w=>w===T?"all":T),children:[(0,r.jsx)("span",{className:"mc-kind",style:{background:bn.colors[T]||Kt[T]}}),f(Nt[T])]},T)),(0,r.jsx)("div",{style:{height:1,background:"rgba(255,255,255,0.07)",margin:"5px 0"}}),(0,r.jsxs)("button",{type:"button",className:`lg${pe?" active":""}`,onClick:()=>Ie(T=>!T),children:["\u23F1 ",f("timeDim")]}),K.length>0&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("div",{style:{height:1,background:"rgba(255,255,255,0.07)",margin:"5px 0"}}),(0,r.jsx)("div",{style:{maxHeight:130,overflow:"auto",display:"flex",flexWrap:"wrap",gap:4,padding:"1px 1px 2px"},children:K.map(T=>(0,r.jsxs)("button",{type:"button",className:`lg${U===T.tag?" active":""}`,style:{width:"auto",color:"#b9c0ca",padding:"2px 7px",fontSize:10.5,border:"1px solid rgba(255,255,255,.07)"},onClick:()=>v(w=>w===T.tag?"":T.tag),title:T.tag,children:["#",T.tag," ",(0,r.jsx)("span",{style:{opacity:.55},children:T.n})]},T.tag))})]}),(ne!=="all"||pe||U)&&(0,r.jsxs)("button",{type:"button",className:"lg lg-clear",style:{color:"#f87171"},onClick:()=>{qe("all"),Ie(!1),v("")},children:[f("clearFilter")," \u2715"]})]})})]}),(0,r.jsxs)("label",{className:"me-gswitch"+(b?" on":""),title:f("crossVault"),children:[(0,r.jsx)("input",{type:"checkbox",checked:!!b,onChange:T=>h&&h(T.target.checked)}),(0,r.jsx)("span",{className:"track","aria-hidden":"true"}),(0,r.jsx)("span",{children:f("crossVault")})]}),(0,r.jsx)("button",{type:"button",className:"me-gtool"+(pe?" on":""),"aria-pressed":pe,onClick:()=>Ie(T=>!T),children:f("timeDim")}),(0,r.jsx)("span",{className:"me-gdiv","aria-hidden":"true"}),(0,r.jsx)("button",{type:"button",className:"me-gtool",onClick:()=>{let T=L.current;if(T)try{T.toBlob(w=>{w&&ue({url:URL.createObjectURL(w),blob:w})},"image/png")}catch{}},children:f("exportGraph")}),(0,r.jsx)("button",{type:"button",className:"me-gtool",onClick:()=>x.current&&x.current(),children:f("fit")}),(0,r.jsx)("button",{type:"button",className:"me-gtool",onClick:()=>{He(null),qe("all"),m.current&&m.current()},children:f("reset")})]}),(0,r.jsxs)("div",{className:"me-graph-canvas",style:{position:"relative",overflow:"hidden"},children:[(0,r.jsx)("canvas",{ref:L,style:{width:"100%",height:"100%",display:"block",cursor:"grab"}}),(0,r.jsx)(I0,{crumbs:t,t:f,onPick:l,busy:p}),c&&(0,r.jsxs)("div",{className:"me-graph-levelerr",role:"alert",children:[(0,r.jsx)("span",{style:{flex:"none",fontWeight:800},children:c.timeout?"\u23F1":"\u2715"}),(0,r.jsx)("span",{className:"msg",children:(c.timeout?f("graphLevelTimeout").replace("{ms}",String(1600)):f("graphLevelError"))+"\uFF1A"+c.message}),(0,r.jsx)("button",{type:"button",onClick:()=>s&&s(),children:f("graphRetry")})]}),!c&&p&&(0,r.jsxs)("div",{className:"me-graph-levelbusy",role:"status","aria-live":"polite",children:[(0,r.jsx)(Sl,{small:!0}),f("graphLevelLoading")]}),Pe!==null&&(0,r.jsxs)("div",{role:"status","aria-live":"polite",style:{position:"absolute",left:"50%",top:14,transform:"translateX(-50%)",zIndex:3,display:"flex",alignItems:"center",gap:9,padding:"6px 12px",borderRadius:999,background:"rgba(23,27,33,0.9)",backdropFilter:"blur(14px)",WebkitBackdropFilter:"blur(14px)",color:"#e8ebf0",fontSize:11,fontWeight:500,letterSpacing:".01em",pointerEvents:"none",border:"1px solid rgba(255,255,255,0.07)",boxShadow:"0 10px 26px rgba(0,0,0,.3)"},children:[(0,r.jsx)(Sl,{value:Pe,small:!0}),(0,r.jsxs)("span",{children:[f("graphWarming").replace("{n}",P.length)," \xB7 ",Math.round(Pe),"%"]})]}),(0,r.jsxs)("div",{className:"mc-v5-graph-legend",children:[(0,r.jsx)("div",{className:"mc-v5-graph-legend-title",children:f("graphLegendTitle")}),Object.keys(bn.colors).filter(T=>V[T]).map(T=>(0,r.jsxs)("div",{className:"mc-v5-graph-legend-row",children:[(0,r.jsx)("i",{style:{background:bn.colors[T],boxShadow:"0 0 0 3px "+bn.colors[T]+"24"}}),(0,r.jsx)("span",{children:f(Nt[T]||"kindKnowledge")}),(0,r.jsx)("b",{children:V[T]})]},T))]}),(0,r.jsx)("div",{className:"me-graph-tooltip",ref:xe,style:{display:"none",position:"absolute",zIndex:4,pointerEvents:"none",background:"rgba(24,28,34,0.94)",backdropFilter:"blur(14px)",WebkitBackdropFilter:"blur(14px)",color:"#e6eaf0",border:"1px solid rgba(255,255,255,0.08)",borderRadius:9,padding:"8px 10px",fontSize:11.5,maxWidth:220,boxShadow:"0 12px 30px rgba(0,0,0,.34)"}}),ge&&(0,r.jsx)("div",{className:"mc-empty",style:{position:"absolute",inset:0,zIndex:2,display:"flex",alignItems:"center",justifyContent:"center",backdropFilter:"blur(2px)",WebkitBackdropFilter:"blur(2px)"},children:f("noMatch")}),te&&(0,r.jsx)("div",{className:"me-graph-ctx-back",style:{position:"fixed",inset:0,zIndex:30},onMouseDown:()=>k(null)}),te&&(0,r.jsxs)("div",{className:"me-graph-ctxmenu",style:{position:"fixed",left:te.x,top:te.y,zIndex:31},onMouseDown:T=>T.stopPropagation(),children:[te.planet&&(0,r.jsxs)("button",{type:"button",onClick:()=>{let T=te.id;k(null),he.current&&he.current(T)},children:[f("graphEnter")," \u203A"]}),te.planet&&(0,r.jsx)("div",{style:{padding:"4px 10px 6px",fontSize:11,opacity:.7},children:f("graphPlanetCards").replace("{n}",String(te.count||0))}),!te.planet&&(0,r.jsx)("button",{type:"button",onClick:()=>{W.current({path:te.path,title:te.title}),k(null)},children:f("openCard")}),!te.planet&&(0,r.jsx)("button",{type:"button",onClick:()=>{te.id&&(_.current.selectedId=te.id,He(te.id)),k(null);let T=_.current;T&&T.requestRender&&T.requestRender()},children:f("focusNeighbors")}),(0,r.jsx)("button",{type:"button",onClick:()=>{try{navigator.clipboard&&navigator.clipboard.writeText(te.title||"")}catch{}k(null),Ke(f("copied"))},children:f("copyName")}),!te.planet&&(0,r.jsx)("button",{type:"button",onClick:()=>{let T=_.current,w=T&&Array.isArray(T.multi)?T.multi.slice():[],fe=te.id;if(fe&&!w.includes(fe)&&w.push(fe),k(null),w.length<2){Ke(f("mergeNeed"),!1);return}if(!window.confirm(f("mergeConfirm")))return;let Oe=le.current&&le.current(w);Oe&&Oe.then?Oe.then(C=>C?Ke(f("merged")):Ke(f("mergeFail"),!1)).catch(()=>Ke(f("mergeFail"),!1)):Oe&&Ke(f("merged"))},children:f("merge")}),!te.planet&&(0,r.jsx)("button",{type:"button",style:{color:"#f87171"},onClick:()=>{let T=te.path;k(null),window.confirm(f("deleteConfirm"))&&(async()=>{try{($.current?await $.current(T):!1)?Ke(f("deleted")):Ke(f("deleteFail"),!1)}catch{Ke(f("deleteFail"),!1)}})()},children:f("delete")})]}),ve.length>0&&(0,r.jsxs)("div",{style:{position:"absolute",left:"50%",bottom:52,transform:"translateX(-50%)",zIndex:3,display:"flex",gap:8,alignItems:"center",background:"rgba(24,28,34,0.94)",backdropFilter:"blur(14px)",WebkitBackdropFilter:"blur(14px)",color:"#e6eaf0",border:"1px solid rgba(255,255,255,0.08)",borderRadius:11,padding:"7px 11px",fontSize:11.5,boxShadow:"0 14px 34px rgba(0,0,0,.4)"},children:[(0,r.jsxs)("span",{style:{fontWeight:700},children:[ve.length," ",f("nodes")]}),(0,r.jsx)("button",{type:"button",className:"mc-btn",onClick:()=>{let w=ve.map(z=>Me[z]).filter(Boolean).map(z=>z.title||z.name).join(`
1156
- `),fe=new Blob([w],{type:"text/plain;charset=utf-8"}),Oe=URL.createObjectURL(fe),C=document.createElement("a");C.href=Oe,C.download="memory-selected.txt",document.body.appendChild(C),C.click(),document.body.removeChild(C),setTimeout(()=>URL.revokeObjectURL(Oe),1e3),Ke(ve.length+f("exportedSel"))},children:f("exportSel")}),(0,r.jsx)("button",{type:"button",className:"mc-btn",onClick:()=>{if(ve.length<2){Ke(f("mergeNeed"),!1);return}let T=ve.map(fe=>Me[fe]?Me[fe].id:fe);if(!window.confirm(f("mergeConfirm")))return;me([]);let w=_.current;w&&(w.multi=[]),fetch(`${Z}/merge?paths=${encodeURIComponent(T.join(","))}`).then(fe=>fe.json()).then(fe=>{fe&&fe.ok?Ke(f("merged")):Ke(f("mergeFail"),!1)}).catch(()=>Ke(f("mergeFail"),!1))},children:f("merge")}),(0,r.jsx)("button",{type:"button",className:"mc-btn",style:{color:"#f87171"},onClick:()=>{if(!window.confirm(f("deleteConfirm")))return;let T=ve.map(fe=>Me[fe]?Me[fe].id:fe);me([]);let w=_.current;w&&(w.multi=[]),(async()=>{let fe=0;for(let Oe of T)try{($.current?await $.current(Oe):!1)&&fe++}catch{}Ke(fe+f("deletedSelected"),fe>0)})()},children:f("deleteSelected")}),(0,r.jsx)("button",{type:"button",className:"mc-btn",onClick:()=>{let T=_.current;T&&(T.multi=[]),me([]);let w=_.current;w&&w.render&&w.render()},children:f("clearSelection")})]}),G&&Me[G]&&(0,r.jsxs)("div",{className:"me-graph-sidebar",style:{position:"absolute",right:14,top:14,zIndex:3,maxWidth:248,background:"rgba(24,28,34,0.94)",backdropFilter:"blur(14px)",WebkitBackdropFilter:"blur(14px)",color:"#e6eaf0",border:"1px solid rgba(255,255,255,0.08)",borderRadius:11,padding:13,fontSize:11.5,boxShadow:"0 14px 34px rgba(0,0,0,.38)"},children:[(0,r.jsx)("div",{style:{fontWeight:700,fontSize:13,marginBottom:4},children:Me[G]?Me[G].title||Me[G].name:G}),(0,r.jsxs)("div",{style:{opacity:.8,marginBottom:8},children:[Me[G]?f(Nt[Me[G].kind]||"kindKnowledge"):"\u2014",Me[G]&&Me[G].type==="planet"?" \xB7 "+f("graphPlanetCards").replace("{n}",String(Me[G].count||0)):""]}),Me[G]&&Me[G].type==="planet"&&(0,r.jsxs)("button",{type:"button",className:"mc-btn",style:{width:"100%",marginBottom:8},onClick:()=>{let T=G;He(null),he.current&&he.current(T)},children:[f("graphEnter")," \u203A"]}),(0,r.jsx)("div",{style:{fontSize:11,opacity:.65,letterSpacing:".04em",marginBottom:6},children:f("graphLevelHint")}),(D.filter(T=>T.source===G||T.target===G)||[]).slice(0,8).map((T,w)=>{let fe=T.source===G?T.target:T.source,Oe=Me[fe];return(0,r.jsx)("div",{style:{padding:"4px 6px",cursor:"pointer",borderRadius:6},onMouseDown:C=>{C.preventDefault();let z=_.current;z&&(z.selectedId=fe,z.hoverId=fe,z.requestRender&&z.requestRender()),He(fe)},children:Oe?(Oe.title||Oe.name).slice(0,28):fe},w)})]})]}),(0,r.jsx)("div",{className:"me-graph-tip",children:f("graphTip")}),wt&&(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,position:"fixed",left:"50%",transform:"translateX(-50%)",top:22,zIndex:70,background:"rgba(20,22,26,0.97)",backdropFilter:"blur(12px)",WebkitBackdropFilter:"blur(12px)",color:"#f5f5f5",borderRadius:12,padding:"10px 20px",fontSize:13.5,fontWeight:600,boxShadow:"0 14px 44px rgba(0,0,0,.5)",pointerEvents:"none",animation:"me-pop .22s ease",borderLeft:"4px solid "+(wt.ok?"#22c55e":"#ef4444"),maxWidth:"90vw"},children:[(0,r.jsx)("span",{style:{color:wt.ok?"#34d399":"#f87171",fontWeight:800,fontSize:15},children:wt.ok?"\u2713":"\u2715"}),(0,r.jsx)("span",{style:{wordBreak:"break-all"},children:wt.msg})]}),j&&(0,r.jsxs)("div",{className:"me-overlay",onClick:()=>{j.url&&URL.revokeObjectURL(j.url),ue(null),Ce(!1)},children:[(0,r.jsx)("style",{children:xn}),(0,r.jsxs)("div",{className:"me-dialog",style:{maxWidth:de?"100vw":900,width:de?"100vw":"92vw",maxHeight:de?"100%":"90vh",height:de?"100%":void 0,borderRadius:de?0:14},onClick:T=>T.stopPropagation(),children:[(0,r.jsxs)("div",{className:"me-dialog-head",children:[(0,r.jsx)("h3",{children:f("exportGraph")}),(0,r.jsxs)("div",{className:"me-head-actions",children:[(0,r.jsx)("a",{className:"mc-btn",href:j.url,download:"memory-graph.png",onClick:()=>{An("download"),Ke(f("downloaded")+" \xB7 "+f("defaultDownloads"))},style:{textDecoration:"none",display:"inline-flex",alignItems:"center"},children:f(ln==="download"?"done":"download")}),(0,r.jsx)("button",{type:"button",className:"mc-btn",onClick:()=>{An("full"),Ce(T=>!T),Ke(f("fullscreen"))},children:f(ln==="full"?"done":de?"exitFull":"fullscreen")}),(0,r.jsx)("button",{type:"button",className:"mc-btn",onClick:()=>{let T=j.blob;T&&window.ClipboardItem&&navigator.clipboard?navigator.clipboard.write([new window.ClipboardItem({"image/png":T})]).then(()=>{An("copy"),Ke(f("copied"))}).catch(()=>{Ke(f("copyFail"),!1)}):Ke(f("copyFail"),!1)},children:f(ln==="copy"?"done":"copyImage")}),(0,r.jsx)("button",{type:"button",className:"mc-btn",onClick:()=>{j.url&&URL.revokeObjectURL(j.url),ue(null),Ce(!1)},children:f("close")})]})]}),(0,r.jsx)("div",{className:"me-dialog-body",style:{display:"flex",justifyContent:"center",background:de?"var(--dsw-alias-bg-base, #0b0d10)":"var(--dsw-alias-bg-base, #f3f4f6)"},children:(0,r.jsx)("img",{src:j.url,alt:f("exportGraph"),style:{maxWidth:"100%",maxHeight:de?"calc(100% - 64px)":"70vh",borderRadius:de?0:8,cursor:"zoom-in"},onClick:()=>Ce(T=>!T)})})]})]})]})}function O0(e){let t=new Date(e||0).getTime();if(!t)return"#94a3b8";let n=(Date.now()-t)/864e5;return n<3?"#34D399":n<14?"#FBBF24":n<30?"#FF7A45":"#8CA0B3"}function Gf({label:e,value:t=[],options:n,onChange:a,placeholder:o,z:i=20}){let[l,s]=(0,u.useState)(!1),c=(0,u.useRef)(null);(0,u.useEffect)(()=>{if(!l)return;let M=_=>{c.current&&!c.current.contains(_.target)&&s(!1)};return document.addEventListener("mousedown",M),()=>document.removeEventListener("mousedown",M)},[l]);let p=Array.isArray(t)?t:[],f=p.includes("__all__"),b=f?n.find(M=>M.value==="__all__")?.label||"":p.length?p.map(M=>n.find(_=>_.value===M)?.label||M).join("\u3001"):"",h=(M,_)=>{if(M.value==="__all__"){a(_?["__all__"]:[]);return}let x=new Set(p);x.has("__all__")&&x.delete("__all__"),_?x.add(M.value):x.delete(M.value),a([...x])},S=n.find(M=>M.value==="__all__"),L=n.filter(M=>M.value!=="__all__");return(0,r.jsxs)("div",{className:"mc-field",children:[(0,r.jsx)("span",{className:"mc-field-label",children:e}),(0,r.jsxs)("div",{ref:c,style:{position:"relative",minWidth:0},children:[(0,r.jsxs)("button",{type:"button",onClick:()=>s(M=>!M),style:{width:"100%",textAlign:"left",padding:"6px 8px",borderRadius:8,border:"1px solid var(--dsw-alias-border-l2, #d1d5db)",background:"var(--dsw-alias-bg-layer-1, #fff)",color:"inherit",fontSize:12,cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"space-between",gap:6},children:[(0,r.jsx)("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:b||o||"\u2014"}),(0,r.jsx)("span",{style:{fontSize:10,opacity:.7},children:"\u25BE"})]}),l&&(0,r.jsxs)("div",{style:{position:"absolute",top:"100%",left:0,right:0,zIndex:i,marginTop:2,borderRadius:8,border:"1px solid var(--dsw-alias-border-l2, #d1d5db)",background:"var(--dsw-alias-bg-layer-1, #fff)",color:"inherit",boxShadow:"0 6px 20px rgba(0,0,0,0.14)",maxHeight:180,overflow:"auto"},children:[S&&(0,r.jsxs)("label",{onClick:M=>M.stopPropagation(),className:"mc-dd-opt",style:{borderBottom:"1px solid rgba(127,127,127,0.12)"},children:[(0,r.jsx)("input",{type:"checkbox",checked:f,onChange:M=>h(S,M.target.checked)}),(0,r.jsx)("span",{children:S.label})]}),L.map(M=>(0,r.jsxs)("label",{onClick:_=>_.stopPropagation(),className:"mc-dd-opt",children:[(0,r.jsx)("input",{type:"checkbox",checked:p.includes(M.value),onChange:_=>h(M,_.target.checked)}),(0,r.jsx)("span",{children:M.label})]},M.value))]})]})]})}function j0(e){let t=new Date(e||0).getTime();return!!t&&(Date.now()-t)/864e5<3}async function B0(e,t,n){if(n&&typeof window.showSaveFilePicker=="function")try{let i=await window.showSaveFilePicker({suggestedName:t}),l=await i.createWritable();return await l.write(e),await l.close(),{ok:!0,picked:!0,name:i.name}}catch(i){return i&&i.name==="AbortError"?{ok:!1,aborted:!0}:{ok:!1,err:String(i.message||i)}}let a=URL.createObjectURL(e),o=document.createElement("a");return o.href=a,o.download=t,document.body.appendChild(o),o.click(),document.body.removeChild(o),setTimeout(()=>URL.revokeObjectURL(a),1e3),{ok:!0,picked:!1,name:t}}function dd(e,t){if(!t||!e)return e;let n=e.toLowerCase(),a=t.toLowerCase(),o=[],i=0;for(;i<e.length;){let l=n.indexOf(a,i);if(l<0){o.push(e.slice(i));break}l>i&&o.push(e.slice(i,l)),o.push((0,r.jsx)("mark",{className:"mc-hl",children:e.slice(l,l+a.length)},l)),i=l+a.length}return o}function cr(e){let t=Oo(e);if(!t)return"";let n=t.toDateString()===new Date().toDateString(),a=vf(t);return n?a:`${t.getMonth()+1}-${t.getDate()} ${a}`}var wd=ur(jo(),1);function H0(){try{let e=new URLSearchParams(window.location.search).get("lang");if(e==="zh"||e==="en")return e}catch{}return typeof navigator<"u"&&String(navigator.language||"").toLowerCase().startsWith("zh")?"zh":"en"}function W0(){let[e,t]=(0,Oa.useState)(H0);(0,Oa.useEffect)(()=>{let a=o=>{let i=o&&o.data;i&&i.source==="memory-eternal"&&i.type==="locale"&&(i.lang==="zh"||i.lang==="en")&&t(i.lang)};return window.addEventListener("message",a),()=>window.removeEventListener("message",a)},[]);let n=(0,Oa.useMemo)(()=>a=>(e==="zh"?hd:Kf)[a]??hd[a]??a,[e]);return document.documentElement.lang=e==="zh"?"zh-CN":"en",(0,wd.jsx)(Qf,{t:n,inModal:!1})}var U0=(0,ng.createRoot)(document.getElementById("root"));U0.render((0,wd.jsx)(W0,{}));var $0=0,rg=()=>{let e=document.getElementById("root");if(e&&e.childElementCount>0){let t=document.getElementById("boot");t&&t.remove();return}++$0<900&&requestAnimationFrame(rg)};requestAnimationFrame(rg);})();
1244
+ ${e("quoteHint")}`,children:[(0,r.jsxs)("span",{className:"mc-quote-tag",children:[e("navQuotes")," \xB7 ",x+1,"/",xl.length]}),(0,r.jsx)("span",{className:"mc-quote-text",children:xl[x]},x),(0,r.jsx)("span",{className:"mc-quote-src",children:Bf})]})]}),(0,r.jsxs)("div",{className:"mc-main",ref:Or,children:[o&&o.db&&o.db.writable===!1?(0,r.jsxs)("div",{style:{margin:"8px 10px 0",padding:"8px 12px",borderRadius:8,fontSize:12,lineHeight:1.7,background:"rgba(239,68,68,0.10)",border:"1px solid rgba(239,68,68,0.35)",color:"#b91c1c"},children:["\u26A0\uFE0F ",e("dbReadonlyTitle"),"\uFF1A",o.db.error||"\u2014"," \u2014\u2014 ",e("dbReadonlyBody"),(0,r.jsx)("div",{style:{opacity:.85,marginTop:2},children:e("dbReadonlyFix")})]}):null,V==="cards"&&(0,r.jsxs)("div",{className:"mc-v5-pagehead",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("div",{className:"mc-v5-eyebrow",children:"MEMORY LIBRARY"}),(0,r.jsx)("h1",{children:e("memoryTitle")}),(0,r.jsx)("p",{children:e("memoryHint")}),(0,r.jsxs)("div",{className:"mc-v5-pagehead-stats",children:[(0,r.jsxs)("span",{children:[(0,r.jsx)("b",{children:o?.total??"\u2014"})," ",e("cardsUnit")]}),(0,r.jsxs)("span",{children:[e("recent")," +",o?.recent??0]}),(0,r.jsxs)("span",{children:[e("pending")," ",o?.quarantine?.pending??o?.status?.pending??0]}),(0,r.jsxs)("span",{children:[e("rejected")," ",o?.quarantine?.rejected??o?.status?.rejected??0]})]})]}),(0,r.jsxs)("span",{className:"mc-v5-pagecount",children:[c.length," / ",pn]})]}),V==="cards"&&(0,r.jsx)(l0,{t:e,notify:(T,K)=>re({ok:T,msg:K}),onPromoted:()=>{Qe(),Ye()}}),V==="cards"&&(0,r.jsxs)("div",{className:"mc-toolbar",children:[(0,r.jsx)("input",{type:"text",placeholder:e("searchPlaceholder"),value:m,onChange:T=>ja(T.target.value)}),fe&&(0,r.jsxs)("button",{type:"button",className:"mc-chip active",title:e("clearFilter"),onClick:()=>cr(""),children:["\u{1F3F7} ",fe," ",(0,r.jsx)("span",{style:{opacity:.7},children:"\u2715"})]}),(0,r.jsx)("input",{ref:he,type:"file",accept:".json,application/json",style:{display:"none"},onChange:je}),(0,r.jsx)("button",{type:"button",className:"mc-btn",onClick:()=>he.current&&he.current.click(),children:e("importVault")}),(0,r.jsxs)("button",{type:"button",className:"mc-btn me-on",onClick:()=>N({kind:"knowledge",title:"",body:"",tags:"",template:""}),children:["+ ",e("newCard")]}),(0,r.jsx)("button",{type:"button",className:"mc-btn",disabled:ee,onClick:Be,title:e("skillCardsHint"),children:ee?"\u23F3 "+e("syncingSkills"):"\u{1F9E9} "+e("syncSkills")}),(0,r.jsx)("button",{type:"button",className:"mc-btn",disabled:Le,onClick:()=>ye("md"),children:e(Le?"exporting":"exportVault")}),(0,r.jsx)("button",{type:"button",className:"mc-btn",disabled:Le,onClick:()=>ye("json"),children:e(Le?"exporting":"exportJson")}),(0,r.jsx)("button",{type:"button",className:"mc-btn",onClick:()=>Qe(),children:e("refresh")})]}),V==="cards"&&(0,r.jsxs)("div",{className:"mc-chips",children:[Cl.map(T=>(0,r.jsxs)("button",{type:"button",className:`mc-chip${O===T?" active":""}`,onClick:()=>_n(T),children:[e(T==="all"?"all":Tt[T]),(0,r.jsx)("span",{className:"mc-chip-n",children:T==="all"?o?.total??0:o?.byKind?.[T]??0})]},T)),(0,r.jsxs)("button",{type:"button",className:`mc-chip${$?" active":""}`,onClick:()=>ce(T=>!T),children:["\u{1F4CC} ",e("pinnedOnly"),(0,r.jsx)("span",{className:"mc-chip-n",children:_.size})]}),(0,r.jsxs)("select",{value:P,onChange:T=>j(T.target.value),style:{fontSize:12,padding:"4px 8px",borderRadius:8,background:"var(--dsw-alias-bg-layer-1, #fff)",color:"inherit",border:"1px solid var(--dsw-alias-border-l2, #d1d5db)"},children:[(0,r.jsxs)("option",{value:"all",children:["\u{1F916} ",e("allAgents")]}),Yf(_e).map(T=>(0,r.jsx)("option",{value:T,children:T},T))]}),(0,r.jsxs)("select",{value:D,onChange:T=>L(T.target.value),style:{fontSize:12,padding:"4px 8px",borderRadius:8,background:"var(--dsw-alias-bg-layer-1, #fff)",color:"inherit",border:"1px solid var(--dsw-alias-border-l2, #d1d5db)"},children:[(0,r.jsx)("option",{value:"all",children:e("allStatus")}),(0,r.jsx)("option",{value:"approved",children:e("statusApproved")}),(0,r.jsx)("option",{value:"pending",children:e("statusPending")}),(0,r.jsx)("option",{value:"rejected",children:e("statusRejected")})]}),(0,r.jsx)("span",{className:"spacer",style:{flex:1}}),[{key:"recent",label:e("sortRecent")},{key:"title",label:e("sortTitle")},{key:"hot",label:e("sortHot")}].map(T=>(0,r.jsx)("button",{type:"button",className:`mc-chip${ne===T.key?" active":""}`,onClick:()=>Ge(T.key),children:T.label},T.key))]}),R&&(0,r.jsxs)("div",{className:"mc-empty",children:[e("error"),"\uFF1A",R]}),(0,r.jsx)("div",{style:{display:V==="cards"?"contents":"none"},children:f?(0,r.jsx)(tg,{text:e("loading")}):R?(0,r.jsxs)("div",{className:"mc-empty",children:[e("error"),"\uFF1A",R," ",(0,r.jsx)("button",{type:"button",className:"mc-btn",onClick:()=>Qe(),children:e("retry")})]}):c.length===0?(0,r.jsx)("div",{className:"mc-empty",children:e("empty")}):(0,r.jsxs)(r.Fragment,{children:[zt&&(0,r.jsxs)("div",{className:"mc-v5-feature",onClick:()=>te(vt),children:[(0,r.jsxs)("div",{className:"mc-v5-feature-copy",children:[(0,r.jsx)("div",{className:"mc-v5-eyebrow",children:e("todayReview")}),(0,r.jsx)("h3",{children:vt.title}),(0,r.jsx)("p",{children:xd(vt)}),(0,r.jsxs)("div",{className:"mc-v5-feature-meta",children:[(0,r.jsxs)("span",{children:[Ir[vt.kind]||"\u{1F4CE}"," ",e(Tt[vt.kind]||"kindKnowledge")]}),(0,r.jsxs)("span",{children:["\u{1F552} ",lr(vt.updated)]}),(vt.tags||[]).slice(0,3).map(T=>(0,r.jsxs)("span",{children:["#",T]},T))]})]}),(0,r.jsxs)("div",{className:"mc-v5-feature-side",children:[(0,r.jsx)(eg,{n:yt[vt.path]||0,color:Kt[vt.kind]||Kt.other,size:58}),(0,r.jsx)("b",{children:yt[vt.path]||0}),(0,r.jsx)("span",{children:e("links")}),(0,r.jsx)("button",{type:"button",className:"mc-v5-feature-shuffle",onClick:T=>{T.stopPropagation(),dr()},children:e("reshuffle")}),(0,r.jsx)("span",{className:"mc-v5-feature-open",children:e("openArrow")})]})]}),(0,r.jsx)("div",{className:"mc-grid",children:be.filter(T=>!zt||T.path!==vt.path).map(T=>(0,r.jsx)(E0,{card:T,t:e,query:m.trim(),onOpen:te,onDelete:sr,onTagClick:cr,pinned:_.has(T.path),onPin:ge,onCore:v,links:yt[T.path]||0},T.path))}),c.length<pn&&(0,r.jsx)("div",{ref:_r,style:{height:1}}),qt&&(0,r.jsxs)("div",{className:"mc-empty",style:{padding:"10px 0"},children:[e("loading"),"\uFF08",c.length," / ",pn,"\uFF09"]})]})}),(0,r.jsx)("div",{style:{display:V==="graph"?"flex":"none",flex:1,minHeight:0},children:we.has("graph")&&(0,r.jsx)(F0,{t:e,onOpen:te,all:Ce,onAllChange:ue,onMutate:Ye,active:V==="graph",visible:V==="graph"})}),(0,r.jsx)("div",{style:{display:V==="news"?"contents":"none"},children:we.has("news")&&(0,r.jsx)(C0,{t:e,version:F,onUnreadChange:W})}),(0,r.jsx)("div",{style:{display:V==="terminal"?"contents":"none"},children:we.has("terminal")&&(0,r.jsx)(i0,{t:e})}),(0,r.jsx)("div",{style:{display:V==="config"?"contents":"none"},children:we.has("config")&&(0,r.jsx)(d0,{t:e,onReload:()=>Qe(),version:F})}),(0,r.jsx)("div",{style:{display:V==="stats"?"contents":"none"},children:we.has("stats")&&(0,r.jsx)(z0,{t:e,tab:"stats",onReload:()=>Qe(),version:F})}),(0,r.jsx)("div",{style:{display:V==="audit"?"contents":"none"},children:we.has("audit")&&(0,r.jsx)(p0,{t:e,onReload:()=>{Qe(),Ye()},version:F})}),(0,r.jsx)("div",{style:{display:V==="optimize"?"contents":"none"},children:we.has("optimize")&&(0,r.jsx)(T0,{t:e,onReload:()=>{Qe(),Ye()},version:F})}),A&&(0,r.jsx)(L0,{t:e,onClose:()=>pe(!1)}),ae&&(0,r.jsx)(P0,{t:e,tab:kt,onTab:Mt,onClose:()=>Ne(!1),onFeedback:()=>{Ne(!1),pe(!0)},onReplay:()=>{Ne(!1),Fn(!0)}}),en&&(0,r.jsx)(D0,{t:e,onDone:Sn}),de&&(0,r.jsx)(A0,{t:e,card:de,query:m.trim(),onNavigate:T=>{let K=be.findIndex(Me=>Me.path===de.path),oe=be[K+T];oe&&te(oe)},onTagClick:cr,onClose:()=>Re(null),onDelete:T=>{Re(null),sr(T)},onFeedback:T=>{let K=de.path;fetch(`${J}/feedback`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({query:m.trim(),path:K,useful:T})}).then(()=>re({ok:!0,msg:e(T?"fbUseful":"fbIrr")})).catch(()=>{}),Y.current&&clearTimeout(Y.current),Y.current=setTimeout(()=>re(null),2e3)},allCards:be,onOpenRelated:T=>te(T),onKindChange:v,onSaved:async({path:T,status:K,title:oe})=>{try{let Me=K&&K!=="approved"?`&status=${encodeURIComponent(K)}`:"",Ee=await fetch(`${J}/card?path=${encodeURIComponent(T)}${Me}`).then(ke=>ke.json());Ee&&Ee.ok&&Re(ke=>ke&&ke.path===T?{...ke,title:oe||Ee.title||ke.title,text:Ee.text}:ke)}catch{}await Qe(),Ye(),re({ok:!0,msg:e("editSaved")}),Y.current&&clearTimeout(Y.current),Y.current=setTimeout(()=>re(null),2e3)}}),(0,r.jsx)(R0,{t:e,newCard:Ae,setNewCard:N,onCreated:()=>{Qe(),Ye(),re({ok:!0,msg:e("created")}),Y.current&&clearTimeout(Y.current),Y.current=setTimeout(()=>re(null),2e3)}})]})]})]})}var Nl=({toast:e})=>e?(0,r.jsxs)("div",{className:"mc-card",style:{marginBottom:10,padding:"8px 12px",fontSize:12,borderLeft:"4px solid "+(e.ok?"#10b981":"#ef4444"),background:e.ok?"rgba(16,185,129,0.08)":"rgba(239,68,68,0.08)"},children:[e.ok?"\u2705":"\u26A0"," ",e.msg]}):null;var yd=(0,u.createContext)({form:null,set:()=>{}}),c0=new Set(["autoRestartOnDrift","coreMemoryEnabled","skillCardsAutoSync","workingMemoryEnabled"]);function dt({k:e,label:t,hint:n,type:a="text",step:o,min:i,max:l,wide:s}){let{form:c,set:p}=(0,u.useContext)(yd);return(0,r.jsxs)("label",{className:"mc-field"+(s?" mc-field-wide":""),children:[(0,r.jsx)("span",{className:"mc-field-label",children:t||e}),(0,r.jsx)("input",{type:a,step:o,min:i,max:l,value:c?c[e]??"":"",onChange:f=>{let g=f.target.value;p(e,a==="number"?g===""?"":Number(g):g)}}),n?(0,r.jsx)("span",{className:"mc-field-hint",children:n}):null]})}function Ht({k:e,label:t}){let{form:n,set:a}=(0,u.useContext)(yd),o=n?n[e]:void 0,i=o===void 0?c0.has(e):!!o;return(0,r.jsxs)("label",{className:"mc-switch",children:[(0,r.jsx)("input",{type:"checkbox",checked:i,onChange:l=>a(e,l.target.checked)}),(0,r.jsx)("span",{children:t||e})]})}function An({icon:e,title:t,sub:n,id:a,children:o,hidden:i}){return(0,r.jsxs)("section",{className:"mc-card mc-cfg-sec",id:a,"data-cfg-sec":a||"",hidden:i||void 0,children:[(0,r.jsxs)("div",{className:"mc-cfg-sec-head",children:[(0,r.jsx)("div",{className:"mc-cfg-sec-ico",children:e}),(0,r.jsxs)("div",{style:{minWidth:0},children:[(0,r.jsx)("div",{className:"mc-cfg-sec-title",children:t}),n?(0,r.jsx)("div",{className:"mc-cfg-sec-sub",children:n}):null]})]}),(0,r.jsx)("div",{className:"mc-cfg-sec-body",children:o})]})}function d0({t:e,onReload:t,version:n,compact:a}){let[o,i]=(0,u.useState)("general"),l={"sec-preset":"general","sec-basic":"general","sec-skills":"general","sec-digest":"general","sec-ui":"general","sec-memory":"memory","sec-core":"memory","sec-vault":"memory","sec-cost":"advanced","sec-audit":"advanced","sec-service":"service"},s=[["general",e("paneGeneral"),e("paneGeneralSub"),"\u2699\uFE0F"],["memory",e("paneMemory"),e("paneMemorySub"),"\u{1F9E0}"],["advanced",e("paneAdvanced"),e("paneAdvancedSub"),"\u2728"],["service",e("paneService"),e("paneServiceSub"),"\u{1F6E0}"]],c=s.find(v=>v[0]===o)||s[0],p=v=>{i(v),de.current&&(de.current.scrollTop=0);let te=typeof document<"u"?document.querySelector('.mc-pagebtn[data-page="'+v+'"]'):null;te&&te.scrollIntoView({inline:"center",block:"nearest"})},f=v=>({hidden:l[v]!==o}),[g,y]=(0,u.useState)(null),[S,R]=(0,u.useState)(0),[M,O]=(0,u.useState)(null),[h,m]=(0,u.useState)(null),[b,P]=(0,u.useState)(!1),[j,D]=(0,u.useState)(!1),L=(0,u.useRef)(!1),_=(0,u.useRef)(null),U=(0,u.useRef)({}),[$,ce]=(0,u.useState)(null),[ge,fe]=(0,u.useState)(null),[Pe,V]=(0,u.useState)(""),[ve,we]=(0,u.useState)(""),[qe,me]=(0,u.useState)(""),[ne,Ge]=(0,u.useState)(null),[Ie,re]=(0,u.useState)(null),[k,G]=(0,u.useState)(null),z=(0,u.useCallback)(async(v,te=!1)=>{te||we("version");try{let ye=await fetch(J+"/version-check"+(v?"?force=1":"")).then(je=>je.json());ye&&ye.ok?(G(ye),v&&A(ye.updateAvailable?e("vcLatest")+" v"+ye.latest:e("vcUpToDate"))):v&&A(e("vcCheckFail"),!1)}catch{v&&A(e("vcCheckFail"),!1)}finally{te||we("")}},[e]);(0,u.useEffect)(()=>{z(!1);let v=setInterval(()=>{z(!1,!0)},6e4),te=()=>{typeof document<"u"&&!document.hidden&&z(!1,!0)};return document.addEventListener("visibilitychange",te),()=>{clearInterval(v),document.removeEventListener("visibilitychange",te)}},[n,z]);let[Y,he]=(0,u.useState)(""),[Le,ie]=(0,u.useState)(null),[ee,w]=(0,u.useState)(""),[q,W]=(0,u.useState)(!1),de=(0,u.useRef)(null),Re=(0,u.useRef)(0),Ce=v=>{Re.current=v.currentTarget.scrollTop};(0,u.useLayoutEffect)(()=>{let v=de.current;v&&Math.abs(v.scrollTop-Re.current)>1&&(v.scrollTop=Re.current)});let ue=(0,u.useRef)(null),A=(v,te=!0)=>{ue.current&&clearTimeout(ue.current),ie({msg:v,ok:te}),ue.current=setTimeout(()=>ie(null),1900)},pe=async()=>{if(!ve){we("restart");try{let v=await fetch(J+"/restart-self",{method:"POST"});if(v.status===404||v.status===405){A(C("vcRestartNoRoute",{cmd:k&&k.restartCommand||"dsh-memory restart --port 7999"}),!1);return}let te=await v.json().catch(()=>null);if(!te){A(e("vcRestartFail")+"\uFF08HTTP "+v.status+"\uFF09",!1);return}if(!te.ok){A(te.error||e("vcRestartFail"),!1);return}if(te.alreadyCurrent){A(te.note||e("vcRestartCurrent"));return}A(te.note||e("vcRestartSent")),te.alreadyRunning||setTimeout(()=>{z(!0)},6e3)}catch(v){A(e("vcRestartFail")+"\uFF1A"+String(v&&v.message||v),!1)}finally{we("")}}},ae=k&&k.resident?String(k.resident.served||""):"",Ne=!!(k&&k.onDisk&&ae&&ae!==k.onDisk),kt=!!(k&&k.resident&&k.resident.managed===!1&&k.resident.managedKnown===!1),Mt=k&&k.resident&&k.resident.replaceBlocked&&k.resident.replaceBlocked.fresh||null,en=!!(k&&k.resident&&k.resident.managedBy==="host"),Fn=!!(k&&k.resident&&k.resident.managed===!1&&!kt&&!en),Sn=!!(k&&k.resident&&!ae),tn=Ne||Sn||Fn||kt,He=gf({hasVersion:!!k,hostVersion:k?k.loaded:"",onDisk:k?k.onDisk:"",residentServed:k&&k.resident?k.resident.served:"",residentPresent:!!(k&&k.resident),residentManaged:k&&k.resident?k.resident.managed:null,residentManagedKnown:k&&k.resident?k.resident.managedKnown:null,residentManagedBy:k&&k.resident?k.resident.managedBy:"",replaceBlocked:k&&k.resident?k.resident.replaceBlocked:null}),In={hostProcessStale:()=>C("vcHostProcessStale",{disk:k.onDisk,loaded:k.loaded}),residentDown:()=>C("vcResidentDown",{port:k.resident&&k.resident.port||"",cmd:k.restartCommand||"dsh-memory restart --port 7999"}),residentReplaceBlocked:()=>C("vcResidentReplaceBlocked",{served:ae,err:Mt&&Mt.error||"",path:Mt&&Mt.lockPath||"",cmd:k.restartCommand||"dsh-memory restart --port "+(k.resident&&k.resident.port||7999)}),residentLockUnknown:()=>C("vcResidentLockUnknown",{served:ae,path:k.resident&&k.resident.lock&&k.resident.lock.path||"",err:k.resident&&k.resident.lock&&k.resident.lock.error||""}),residentUnmanaged:()=>C("vcResidentUnmanaged",{served:ae,cmd:k.restartCommand||"dsh-memory restart --port 7999"})},Te={restartStart:()=>C("vcRestartStart",{disk:k&&k.onDisk||""}),restartRepair:()=>C("vcRestartRepair",{disk:k&&k.onDisk||""}),restartFixes:()=>C("vcRestartFixes",{served:ae||"",disk:k&&k.onDisk||""}),restartHostOnly:()=>C("vcRestartHostOnly",{loaded:k&&k.loaded||"",disk:k&&k.onDisk||""}),restartAnyway:()=>C("vcRestartAnyway",{ver:k&&k.onDisk||""})},C=(v,te)=>Object.keys(te).reduce((ye,je)=>ye.split("{"+je+"}").join(te[je]),e(v)),x=(0,u.useCallback)(async()=>{try{let[v,te,ye,je]=await Promise.all([fetch(`${J}/config`).then(Be=>Be.json()).catch(()=>null),fetch(`${J}/setup-status`).then(Be=>Be.json()).catch(()=>null),fetch(`${J}/budget`).then(Be=>Be.json()).catch(()=>null),fetch(`${J}/llm-routes`).then(Be=>Be.json()).catch(()=>null)]);if(je&&je.ok&&re(je),v&&v.ok){y(v),R(v.revision??0),O(v.schema??null);let Be=If(v.config??{},U.current);U.current=Be.overlay,m({...Be.values}),W(!1),ce(v.dsh??null),P(v.writable===!1),D(v.viaPending===!0),V(""),L.current=!1}else ye&&ye.ok?(m({...ye}),W(!1),P(!0),V(e("configNeedsDsh"))):V(e("adminLoadFail"));te&&te.ok&&fe(te),me("")}catch{V(e("adminLoadFail"))}},[e]);(0,u.useEffect)(()=>{x()},[n,x]);let se=(v,te)=>{L.current=!0,W(!0),w(""),m(ye=>({...ye??{},[v]:te}))};(0,u.useEffect)(()=>{_.current=x},[x]),(0,u.useEffect)(()=>{if(typeof EventSource>"u")return;let v=null;try{v=new EventSource(J+"/events")}catch{return}let te=()=>{!L.current&&typeof _.current=="function"&&_.current()};try{v.addEventListener("config",te)}catch{}return()=>{try{v.close()}catch{}}},[]);let Ae=new Set(["dedupThreshold","captureMinChars","captureCooldownMs","maxCardsPerDay","captureMaxTokens","recallMinScore","recallLimit","recallSummaryLen","recycleRetentionDays","webPort","webCheckIntervalMs","webMaxRestart","sessionBudgetChars","coreMemoryLimit","coreMemoryMaxChars"]),N=v=>({init:e("modeInit"),interval:e("modeInterval"),manual:e("modeManual")})[v]||v,F=async()=>{if(!h)return;if(b){A(e("editInSetting"),!1);return}let v={dedupThreshold:[0,1],captureMinChars:[0,1e6],captureCooldownMs:[0,1e9],maxCardsPerDay:[0,1e6],captureMaxTokens:[100,4e3],recallMinScore:[0,50],recallLimit:[1,20],recallSummaryLen:[40,400],recycleRetentionDays:[1,3650],webPort:[1,65535],webCheckIntervalMs:[1e3,6e5],webMaxRestart:[1,1e3],sessionBudgetChars:[0,1e9],coreMemoryLimit:[1,20],coreMemoryMaxChars:[200,1e4]},te=[];for(let[ye,[je,Be]]of Object.entries(v)){if(!(ye in h))continue;let be=h[ye],_e=typeof be=="number"?be:Number(be);(be===""||be===null||be===void 0||!Number.isFinite(_e)||_e<je||_e>Be)&&te.push(e("invalidField",{field:ye,min:je,max:Be,value:String(be===""?"\u7A7A":be)}))}if(te.length){let ye=e("saveInvalid")+"\uFF1A"+te.join("\uFF1B");V(ye),A(ye,!1);return}we("save");try{let ye={...h};for(let _e of Object.keys(h))_e in ye&&typeof ye[_e]=="string"&&ye[_e].trim()!==""&&Ae.has(_e)&&(ye[_e]=Number(ye[_e]));Array.isArray(ye.vaultProfiles)&&(ye.vaultProfiles=ye.vaultProfiles.filter(_e=>_e&&(String(_e.name||"").trim()||String(_e.path||"").trim())));let je=await fetch(`${J}/config`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({patch:ye,expectedRevision:S})}),Be=await je.text(),be=null;try{be=Be?JSON.parse(Be):null}catch{be=null}if(be||(be={error:"HTTP "+je.status+(Be?"\uFF1A"+Be.slice(0,200):"\uFF08\u5BBF\u4E3B\u672A\u8FD4\u56DE\u539F\u56E0\uFF0C\u8BF7\u68C0\u67E5\u662F\u5426\u6709\u6570\u5B57\u5B57\u6BB5\u4E3A\u7A7A\u6216\u8D85\u51FA\u8303\u56F4\uFF09")}),be&&be.ok){let _e=typeof be.pendingOutcome=="string"?be.pendingOutcome:"",yt,gt=!0;if(_e==="applied")yt=e("savedApplied")+(Array.isArray(be.applied)&&be.applied.length?" \xB7 "+be.applied.join("\u3001"):"");else if(_e==="queued")gt=!1,yt=e("saveQueued");else if(_e==="failed")gt=!1,yt=e("saveFail")+" \xB7 "+(be.hostGuard?e("saveHostGuard"):e("saveFailHint"));else if(_e==="applied-direct")yt=e("savedOk")+" \xB7 "+e("savedDirect");else{let jr=Array.isArray(be.pending)&&be.pending.length?" \xB7 "+e("savePending"):be.note?" \xB7 "+e("restartHint"):"";yt=(be.retried?"\u267B ":"")+e("savedOk")+jr}U.current={...U.current,...ye},gt?(w(""),W(!1),me(yt)):V(yt),A(yt,gt),await x()}else{let _e=je.status===409?e("conflictRefresh"):be?.error||e("saveFail");V(_e),A(_e,!1)}}catch{V(e("saveFail")),A(e("saveFail"),!1)}finally{we("")}},We=()=>{U.current={},m({...g?.config??{}}),w(""),W(!1),me("")},Ye={env:"vaultSrcEnv",profile:"vaultSrcProfile",workspace:"vaultSrcWorkspace",vaultDir:"vaultSrcVaultDir",default:"vaultSrcDefault"},d=v=>Array.isArray(v?.vaultProfiles)?v.vaultProfiles:[],Et=(v,te,ye)=>{L.current=!0,W(!0),m(je=>{let Be=d(je).map(_e=>({..._e||{}})),be={...Be[v]||{}};return te==="match"?String(ye).trim()?be.match={...be.match||{},workspace:ye}:delete be.match:be[te]=ye,Be[v]=be,{...je??{},vaultProfiles:Be}})},dn=()=>{L.current=!0,W(!0),m(v=>({...v??{},vaultProfiles:[...d(v),{name:"",path:""}]}))},pn=v=>{L.current=!0,W(!0),m(te=>({...te??{},vaultProfiles:d(te).filter((ye,je)=>je!==v)}))},At={fontSize:11,padding:"2px 8px",background:"var(--dsw-alias-bg-layer-2, #f3f4f6)",borderRadius:6},qt={padding:"6px 8px",borderRadius:8,border:"1px solid var(--dsw-alias-border-l2, #d1d5db)",background:"transparent",color:"inherit",font:"inherit",fontSize:12,minWidth:0},qn={A:{label:e("planA"),autoWebMode:"init",watchdogAutoSpawn:!1,distillEnabled:!0,dedupByLLM:!0,captureMaxTokens:4e3,recallMinScore:2,recallLimit:5,recallSummaryLen:130,recallIncludeBody:!1,captureCooldownMs:3e5},B:{label:e("planB"),autoWebMode:"init",watchdogAutoSpawn:!1,distillEnabled:!1,dedupByLLM:!1,captureMaxTokens:500,recallMinScore:3,recallLimit:3,recallSummaryLen:80,recallIncludeBody:!1,captureMinChars:300,maxCardsPerDay:40,captureCooldownMs:3e5},C:{label:e("planC"),autoWebMode:"interval",watchdogAutoSpawn:!0,distillEnabled:!0,dedupByLLM:!0,captureMaxTokens:1200,recallMinScore:1,recallLimit:8,recallSummaryLen:200,recallIncludeBody:!0,captureCooldownMs:12e4}},_r=v=>{let te=qn[v];te&&(m(ye=>({...ye??{},...te})),L.current=!0,W(!0),w(v),A(C("planApplied",{plan:te.label})))},Or=async()=>{try{let v=await fetch(J+"/setup-status").then(te=>te.json());v&&v.ok&&fe(v)}catch{}},nn=async(v,te)=>{we(v+te);try{let je=await(await fetch(`${J}/mcp/action`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({agent:v,action:te})})).json();je&&je.ok?A(C(te==="install"?"mcpInstalled":"mcpUninstalled",{agent:v})):A(C("mcpActionFail",{agent:v,error:je?.error||""}),!1);try{let Be=await fetch(`${J}/setup-status`).then(be=>be.json());Be&&Be.ok&&fe(Be)}catch{}}catch{A(e("mergeFail"),!1)}finally{we("")}},Qe=ge&&Array.isArray(ge.agents)?ge.agents:[],sr=Qe.filter(v=>v.installed),ja=[...new Set(sr.flatMap(v=>Array.isArray(v.servers)?v.servers:[]))],_n=Qe.filter(v=>v.mcpConfigured&&!v.isDsh).length,cr=Qe.some(v=>Array.isArray(v.servers));return(0,r.jsx)(yd.Provider,{value:{form:h,set:se},children:(0,r.jsxs)("div",{className:"mc-admin",style:{display:"flex",flexDirection:"column",overflow:"hidden",flex:a?"0 0 auto":1,minHeight:0,maxHeight:a?"52vh":void 0},children:[(0,r.jsx)("style",{children:kn}),Le&&(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,position:"fixed",left:"50%",transform:"translateX(-50%)",top:22,zIndex:70,background:"rgba(20,22,26,0.97)",backdropFilter:"blur(12px)",WebkitBackdropFilter:"blur(12px)",color:"#f5f5f5",borderRadius:12,padding:"10px 20px",fontSize:13.5,fontWeight:600,boxShadow:"0 14px 44px rgba(0,0,0,.5)",pointerEvents:"none",animation:"me-pop .22s ease",borderLeft:"4px solid "+(Le.ok?"#22c55e":"#ef4444"),maxWidth:"90vw"},children:[(0,r.jsx)("span",{style:{color:Le.ok?"#34d399":"#f87171",fontWeight:800,fontSize:15},children:Le.ok?"\u2713":"\u2715"}),(0,r.jsx)("span",{style:{wordBreak:"break-all"},children:Le.msg})]}),(0,r.jsx)("div",{ref:de,onScroll:Ce,style:{flex:1,minHeight:0,overflow:"auto",overscrollBehavior:"contain",scrollbarGutter:"stable",padding:4},children:(0,r.jsx)("div",{className:"mc-cfg-page",children:(0,r.jsxs)("div",{className:"mc-cfg-layout"+(a?" compact":""),children:[(0,r.jsx)("nav",{className:"mc-pagenav",role:"tablist","aria-label":e("tabConfig"),children:s.map(([v,te,ye,je])=>(0,r.jsxs)("button",{type:"button",role:"tab","data-page":v,"aria-selected":o===v,className:"mc-pagebtn"+(o===v?" on":""),onClick:()=>p(v),children:[(0,r.jsx)("span",{className:"mc-pagebtn-ico","aria-hidden":"true",children:je}),(0,r.jsxs)("span",{className:"mc-pagebtn-txt",children:[(0,r.jsx)("span",{children:te}),(0,r.jsx)("span",{className:"mc-pagebtn-sub",children:ye})]})]},v))}),(0,r.jsxs)("div",{className:"mc-cfg-main",children:[(0,r.jsxs)("div",{className:"mc-panehead",children:[(0,r.jsx)("div",{className:"mc-panehead-ico","aria-hidden":"true",children:c[3]}),(0,r.jsxs)("div",{style:{minWidth:0},children:[(0,r.jsx)("div",{className:"mc-panehead-title",children:c[1]}),(0,r.jsx)("div",{className:"mc-panehead-sub",children:c[2]})]})]}),Pe&&(0,r.jsxs)("div",{className:"mc-card",style:{borderLeft:"4px solid #ef4444",background:"rgba(239,68,68,0.08)",padding:"12px 14px",marginBottom:10},children:[(0,r.jsxs)("div",{style:{fontSize:13,color:"#b91c1c",fontWeight:600,marginBottom:6},children:["\u26A0 ",Pe]}),(0,r.jsxs)("button",{type:"button",className:"mc-btn",onClick:x,children:["\u21BB ",e("retry")]})]}),b&&(0,r.jsxs)("div",{className:"mc-card",style:{borderLeft:"4px solid #f59e0b",background:"rgba(245,158,11,0.08)",padding:"10px 14px",marginBottom:10,fontSize:12,color:"#b45309"},children:["\u2139\uFE0F ",e("configNeedsDsh")," \u2014\u2014 ",e("editInSetting")]}),qe&&(0,r.jsxs)("div",{className:"mc-card",style:{borderLeft:"4px solid #10b981",background:"rgba(16,185,129,0.08)",padding:"10px 14px",marginBottom:10,fontSize:12,color:"#059669"},children:["\u2713 ",qe]}),o==="service"&&g&&(g.version||g.dsh?.vaultDir)&&(0,r.jsxs)("details",{className:"mc-card mc-env mc-env-fold",open:!sheet,children:[(0,r.jsxs)("summary",{className:"mc-env-top",children:[(0,r.jsxs)("b",{style:{fontSize:12},children:["\u{1F4E6} ",e("pluginInfo")]}),(0,r.jsx)("span",{style:{fontSize:12,opacity:.7},children:e("dshHostLabel")}),g.version&&(0,r.jsxs)("code",{style:At,children:[e("vcLoaded")," v",g.version]}),k&&k.resident&&k.resident.served&&k.resident.served!==g.version&&(0,r.jsxs)("code",{style:At,children:[e("vcResident")," v",k.resident.served]}),k&&k.resident&&!k.resident.served&&(0,r.jsxs)("code",{style:{...At,color:"#b45309",fontWeight:600},children:[e("vcResident")," ",e("vcResidentDownShort")]}),k&&k.resident&&k.resident.served&&k.resident.managed===!1&&(0,r.jsxs)("code",{style:{...At,color:"#b45309",fontWeight:600},children:[e("vcResident")," v",k.resident.served," \xB7 ",e(Mt?"vcResidentReplaceBlockedShort":en?"vcResidentHostManagedShort":kt?"vcResidentLockUnknownShort":"vcResidentUnmanagedShort")]}),_a&&(0,r.jsxs)("code",{style:At,children:[e("vcPage")," v",_a]}),k&&k.onDisk&&(0,r.jsxs)("code",{style:At,children:[e("vcOnDisk")," v",k.onDisk]}),k&&k.latest&&(0,r.jsxs)("code",{style:At,children:[e("vcLatest")," v",k.latest]}),g.dsh?.vaultDir&&(0,r.jsxs)("span",{style:{fontSize:11,opacity:.6},children:["\u{1F4C1} ",g.dsh.vaultDir]}),(0,r.jsx)("div",{style:{flex:1}}),(0,r.jsx)("span",{className:"mc-fold-caret",children:"\u25BE"})]}),(0,r.jsxs)("div",{className:"mc-env-rest",children:[(0,r.jsx)("div",{style:{display:"flex",justifyContent:"flex-end",marginTop:8},children:(0,r.jsx)("button",{type:"button",className:"mc-btn",disabled:ve==="version",onClick:()=>z(!0),children:ve==="version"?e("checking"):"\u{1F504} "+e("vcCheck")})}),k&&He.warn&&(0,r.jsx)("div",{style:{marginTop:8,fontSize:11.5,color:"#b45309",background:"rgba(245,158,11,0.12)",border:"1px solid rgba(245,158,11,0.35)",borderRadius:8,padding:"6px 10px"},children:(0,r.jsxs)("div",{children:["\u26A0\uFE0F ",In[He.warn]?In[He.warn]():""]})}),He.showButton&&(0,r.jsxs)("div",{style:{display:"flex",gap:8,alignItems:"center",marginTop:6,flexWrap:"wrap"},children:[(0,r.jsx)("button",{type:"button",className:"mc-btn"+(He.emphasis?" me-on":""),disabled:!!ve,onClick:pe,children:ve==="restart"?"\u23F3 "+e("vcRestarting"):"\u{1F504} "+e("vcRestart")}),k.restartCommand&&(0,r.jsx)("code",{style:{fontSize:11,opacity:.75},children:k.restartCommand}),(0,r.jsx)("span",{style:{fontSize:11,opacity:.65},children:Te[He.hint]?Te[He.hint]():""})]}),_a&&k&&k.onDisk&&_a!==k.onDisk&&(0,r.jsx)("div",{style:{marginTop:8,fontSize:11.5,color:"#b45309",background:"rgba(245,158,11,0.12)",border:"1px solid rgba(245,158,11,0.35)",borderRadius:8,padding:"6px 10px",lineHeight:1.7},children:e("vcPageStale",{page:_a,disk:k.onDisk})}),k&&k.updateAvailable&&(0,r.jsxs)("div",{style:{marginTop:8,fontSize:11.5,opacity:.88},children:["\u2B06 ",e("vcOutdated")," \u2192 ",(0,r.jsx)("code",{children:k.updateCommand})]}),k&&k.checkError&&(0,r.jsxs)("div",{style:{marginTop:8,fontSize:11.5,color:"#b91c1c"},children:[e("vcCheckFail"),"\uFF1A",k.checkError]})]})]}),o==="service"&&ge&&ge.agents&&(0,r.jsxs)("details",{className:"mc-card mc-cfg-sec mc-fold",style:{marginBottom:10},children:[(0,r.jsxs)("summary",{className:"mc-cfg-sec-head",children:[(0,r.jsx)("div",{className:"mc-cfg-sec-ico",children:"\u{1F50C}"}),(0,r.jsxs)("div",{style:{minWidth:0},children:[(0,r.jsx)("div",{className:"mc-cfg-sec-title",children:e("mcpSetupStatus")}),(0,r.jsxs)("div",{className:"mc-cfg-sec-sub",children:[cr?C("mcpSummary",{agents:sr.length,servers:ja.length,mounted:_n})+" \xB7 ":"",e("mcpAutoHint")]})]}),(0,r.jsx)("span",{className:"mc-cfg-spacer"}),(0,r.jsx)("span",{className:"mc-fold-caret",children:"\u25BE"})]}),(0,r.jsxs)("div",{className:"mc-fold-body",children:[(0,r.jsxs)("div",{className:"mc-cfg-tools",children:[(0,r.jsx)("button",{type:"button",className:"mc-btn",style:{padding:"2px 8px",flex:"none"},onClick:Or,children:e("mcpRefresh")}),Y&&(0,r.jsx)("code",{style:{padding:"2px 6px",background:"var(--dsw-alias-bg-layer-2, #f3f4f6)",borderRadius:4,fontSize:11},children:Y})]}),Qe.map(v=>{let te=Array.isArray(v.servers),ye=te?v.servers:[],je=v.isDsh?e("dshHostLabel"):v.label||v.name;return(0,r.jsxs)("div",{className:"mc-mcp-row",style:{opacity:v.installed?1:.55},children:[(0,r.jsxs)("div",{className:"mc-mcp-main",children:[(0,r.jsxs)("div",{className:"mc-mcp-title",children:[(0,r.jsx)("b",{children:je}),v.isDsh&&v.version&&(0,r.jsxs)("span",{className:"mc-mcp-badge",children:["v",v.version]}),!v.installed&&(0,r.jsx)("span",{className:"mc-mcp-badge",children:e("notInstalled")}),v.installed&&v.mcpConfigured===!1&&(0,r.jsx)("span",{className:"mc-mcp-badge",style:{color:"#f59e0b"},children:e("noMcpEntry")}),v.mcpConfigured===!0&&(0,r.jsxs)("span",{className:"mc-mcp-badge",style:{color:"#10b981"},children:["\u2713 ",e("healthy")]}),v.mcpConfigured===!0&&v.mcpMatchesCurrentNode===!1&&(0,r.jsx)("span",{className:"mc-mcp-badge",children:e("nodePathNote")}),(v.needsRepair||v.mcpNeedsRepair)&&(0,r.jsx)("span",{className:"mc-mcp-badge",style:{color:"#f59e0b"},children:e("mcpNeedsRepair")}),v.isDsh&&(0,r.jsxs)("span",{className:"mc-mcp-badge",children:[e("recallTool"),": ",v.recallTool?e("enabled"):e("disabled")]}),v.detectedOnly&&(0,r.jsx)("span",{className:"mc-mcp-badge",children:e("mcpDetectedOnly")}),v.reason&&(0,r.jsx)("span",{className:"mc-mcp-badge",style:{color:"#f59e0b"},children:v.reason})]}),te?ye.length?(0,r.jsx)("div",{className:"mc-mcp-servers",children:ye.map(Be=>(0,r.jsx)("code",{className:Be==="memory"?"on":"",children:Be},Be))}):v.installed?(0,r.jsx)("div",{className:"mc-mcp-servers",children:(0,r.jsx)("span",{style:{fontSize:10.5,opacity:.45},children:e("mcpNoServers")})}):null:null,v.mcpPath&&(0,r.jsx)("div",{className:"mc-mcp-path",title:v.mcpPath,children:v.mcpPath})]}),(0,r.jsxs)("div",{className:"mc-mcp-actions",children:[v.hook&&(0,r.jsxs)("span",{style:{fontSize:10.5,opacity:.55},children:["hook: ",v.hook]}),!v.isDsh&&!v.detectedOnly&&v.installed&&v.mcpConfigured===!1&&(0,r.jsx)("button",{type:"button",className:"mc-btn",style:{padding:"2px 8px"},disabled:!!ve,onClick:()=>nn(v.name,"install"),children:e("installMcp")}),!v.isDsh&&!v.detectedOnly&&v.installed&&(v.needsRepair||v.mcpNeedsRepair||v.mcpMatchesCurrentNode===!1)&&(0,r.jsx)("button",{type:"button",className:"mc-btn me-on",style:{padding:"2px 8px"},disabled:!!ve,onClick:()=>nn(v.name,"install"),children:e("repairMcp")}),!v.isDsh&&!v.detectedOnly&&v.installed&&v.mcpConfigured===!0&&(0,r.jsx)("button",{type:"button",className:"mc-btn",style:{padding:"2px 8px",color:"#f87171"},disabled:!!ve,onClick:()=>{window.confirm(e("uninstallConfirm"))&&nn(v.name,"uninstall")},children:e("uninstallMcp")})]})]},v.name+(v.mcpPath||""))}),(0,r.jsx)("div",{style:{fontSize:11,opacity:.55},children:e("mcpSetupHint")})]})]}),h?(0,r.jsxs)("div",{className:"mc-cfg",children:[(0,r.jsxs)(An,{...f("sec-preset"),id:"sec-preset",icon:"\u{1F3AF}",title:e("presetConfig"),sub:e("presetHint"),children:[(0,r.jsx)("div",{className:"mc-plan-grid",children:["A","B","C"].map(v=>(0,r.jsxs)("button",{type:"button",className:"mc-plan"+(ee===v?" on":""),"aria-pressed":ee===v,onClick:()=>_r(v),disabled:!!ve,children:[(0,r.jsxs)("b",{children:[ee===v?"\u2705 ":v==="A"?"\u{1F7E2} ":v==="B"?"\u{1F4B0} ":"\u2B50 ",qn[v].label]}),(0,r.jsx)("span",{children:e("planDesc"+v)})]},v))}),ee?(0,r.jsxs)("div",{style:{fontSize:11,color:"#10b981"},children:["\u2705 ",C("planApplied",{plan:qn[ee].label})]}):null]}),(0,r.jsx)(An,{...f("sec-basic"),id:"sec-basic",icon:"\u26A1",title:e("basicSwitches"),sub:e("basicSwitchesHint"),children:(0,r.jsxs)("div",{className:"mc-cfg-switches",children:[(0,r.jsx)(Ht,{k:"enabled",label:e("enabledLabel")}),(0,r.jsx)(Ht,{k:"autoCapture",label:e("autoCapture")}),(0,r.jsx)(Ht,{k:"autoRecall",label:e("autoRecall")})]})}),(0,r.jsxs)(An,{...f("sec-memory"),id:"sec-memory",icon:"\u{1F9E0}",title:e("dshMemoryConfig"),sub:e("cfgSubCore"),children:[(0,r.jsx)("div",{className:"mc-cfg-switches is-single",children:(0,r.jsx)(Ht,{k:"recallIncludeBody",label:e("recallBody")})}),(0,r.jsxs)("div",{className:"mc-cfg-grid",children:[(0,r.jsx)(dt,{k:"vaultDir",label:e("vaultDirLabel"),wide:!0}),(0,r.jsx)(dt,{k:"recallLimit",label:e("recallLimit"),type:"number"}),(0,r.jsx)(dt,{k:"recallSummaryLen",label:e("recallSummaryLen"),hint:e("unitChars"),type:"number"}),(0,r.jsx)(dt,{k:"captureMinChars",label:e("captureMinChars"),hint:e("unitChars"),type:"number"}),(0,r.jsx)(dt,{k:"maxCardsPerDay",label:e("maxCardsPerDay"),hint:e("unitPerDay"),type:"number"}),(0,r.jsx)(dt,{k:"dedupThreshold",label:e("dedupThreshold"),type:"number",step:"0.01",min:"0",max:"1"}),(0,r.jsx)(dt,{k:"secretHint",label:e("secretHint"),wide:!0}),(0,r.jsx)(dt,{k:"recallEmbedding",label:e("recallEmbedding"),wide:!0})]})]}),(0,r.jsxs)(An,{...f("sec-core"),id:"sec-core",icon:"\u2B50",title:e("coreMemory"),sub:e("coreMemoryHint"),children:[(0,r.jsxs)("div",{className:"mc-cfg-switches",children:[(0,r.jsx)(Ht,{k:"coreMemoryEnabled",label:e("coreMemoryEnabled")}),(0,r.jsx)(Ht,{k:"workingMemoryEnabled",label:e("workingMemoryEnabled")})]}),(0,r.jsxs)("div",{className:"mc-cfg-grid",children:[(0,r.jsx)(dt,{k:"coreMemoryLimit",label:e("coreMemoryLimit"),type:"number"}),(0,r.jsx)(dt,{k:"coreMemoryMaxChars",label:e("coreMemoryMaxChars"),type:"number"})]})]}),(0,r.jsxs)(An,{...f("sec-skills"),id:"sec-skills",icon:"\u{1F9E9}",title:e("skillCards"),sub:e("skillCardsHint"),children:[(0,r.jsx)("div",{className:"mc-cfg-switches is-single",children:(0,r.jsx)(Ht,{k:"skillCardsAutoSync",label:e("skillAutoSync")})}),(0,r.jsx)("div",{className:"mc-cfg-tools",children:(0,r.jsx)("button",{type:"button",className:"mc-btn",disabled:!!ve,onClick:async()=>{we("skills");try{let v=await fetch(J+"/skills/sync",{method:"POST"}).then(te=>te.json()).catch(()=>null);v&&v.ok?A(e("skillsSyncDone")+"\uFF1A"+e("skillsScanned")+" "+(v.total||0)+" \xB7 "+e("skillsCreated")+" "+(v.created||0)+" \xB7 "+e("skillsUpdated")+" "+(v.updated||0)+" \xB7 "+e("skillsPendingUpdates")+" "+(v.pendingUpdates||0)):A(v&&v.error||e("skillsSyncFail"),!1)}catch{A(e("skillsSyncFail"),!1)}finally{we("")}},children:ve==="skills"?"\u23F3 "+e("syncingSkills"):"\u{1F9E9} "+e("syncSkills")})})]}),(0,r.jsxs)(An,{...f("sec-digest"),id:"sec-digest",icon:"\u{1F4EC}",title:e("newsDigest"),sub:e("newsDigestHint"),children:[(0,r.jsx)("div",{className:"mc-cfg-switches is-single",children:(0,r.jsx)(Ht,{k:"newsDigestEnabled",label:e("newsDigestEnabled")})}),(0,r.jsxs)("div",{className:"mc-cfg-grid",children:[(0,r.jsx)(dt,{k:"newsDigestIntervalMinutes",label:e("newsDigestInterval"),type:"number"}),(0,r.jsx)(dt,{k:"newsDigestMaxItems",label:e("newsDigestMaxItems"),type:"number"})]}),(0,r.jsxs)("div",{className:"mc-cfg-tools",children:[(0,r.jsx)("button",{type:"button",className:"mc-btn",disabled:!!ve,onClick:async()=>{we("digest");try{let v=await fetch(J+"/news/digest",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({})}).then(te=>te.json()).catch(()=>null);v&&v.ok?(Ge(v.text||""),A(v.digest&&v.digest.items&&v.digest.items.length?e("newsDigestDone"):e("newsDigestEmpty"),!0)):A(v&&v.error||e("newsDigestFail"),!1)}catch{A(e("newsDigestFail"),!1)}finally{we("")}},children:ve==="digest"?"\u23F3 "+e("newsDigestBuilding"):"\u{1F4EC} "+e("newsDigestNow")}),(0,r.jsx)("span",{className:"mc-field-hint",children:e("newsDigestNowHint")})]}),ne!==null?(0,r.jsx)("pre",{className:"mc-digest-preview",children:ne||e("newsDigestEmpty")}):null]}),(0,r.jsx)(An,{...f("sec-ui"),id:"sec-ui",icon:"\u{1F520}",title:e("uiLayout"),sub:e("uiLayoutHint"),children:(0,r.jsx)("div",{className:"mc-field",children:(0,r.jsx)("div",{className:"mc-seg",children:[["compact",e("uiCompact")],["normal",e("uiNormal")],["large",e("uiLarge")]].map(([v,te])=>(0,r.jsx)("button",{type:"button",className:(h&&h.uiScale||"normal")===v?"on":"",onClick:()=>{se("uiScale",v);try{window.dispatchEvent(new CustomEvent("me-ui-scale",{detail:v}))}catch{}},children:te},v))})})}),(0,r.jsxs)(An,{...f("sec-vault"),id:"sec-vault",icon:"\u{1F5C2}\uFE0F",title:e("vaultMulti"),sub:e("cfgSubMulti"),children:[(0,r.jsxs)("div",{style:{fontSize:11.5,opacity:.85,marginBottom:8,lineHeight:1.7},children:[e("vaultNow"),"\uFF1A",(0,r.jsx)("code",{children:$?.vaultDir||"\u2014"}),$?.vaultName?`\uFF08${$.vaultName}\uFF09`:""," \xB7 ",e("vaultSource"),"\uFF1A",e(Ye[$?.vaultSource]||"vaultSrcDefault"),$?.workspace?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("br",{}),e("vaultWorkspace"),"\uFF1A",(0,r.jsx)("code",{children:$.workspace})]}):null]}),d(h).length?(0,r.jsxs)("div",{className:"mc-vault-head",children:[(0,r.jsx)("span",{children:e("vaultNamePh")}),(0,r.jsx)("span",{children:e("vaultPathPh")}),(0,r.jsx)("span",{children:e("vaultMatchPh")}),(0,r.jsx)("span",{})]}):null,d(h).map((v,te)=>(0,r.jsxs)("div",{className:"mc-vault-row",children:[(0,r.jsx)("input",{value:v.name||"",placeholder:e("vaultNamePh"),onChange:ye=>Et(te,"name",ye.target.value),style:qt,disabled:b}),(0,r.jsx)("input",{value:v.path||"",placeholder:e("vaultPathPh"),onChange:ye=>Et(te,"path",ye.target.value),style:qt,disabled:b}),(0,r.jsx)("input",{value:v.match&&v.match.workspace||"",placeholder:e("vaultMatchPh"),onChange:ye=>Et(te,"match",ye.target.value),style:qt,disabled:b}),(0,r.jsx)("button",{type:"button",className:"mc-btn",onClick:()=>pn(te),disabled:b,title:e("delete"),children:"\u2715"})]},te)),(0,r.jsxs)("div",{className:"mc-cfg-tools",style:{marginTop:4},children:[(0,r.jsxs)("button",{type:"button",className:"mc-btn",onClick:dn,disabled:b,children:["\uFF0B ",e("vaultAdd")]}),(0,r.jsxs)("label",{style:{display:"flex",alignItems:"center",gap:6,fontSize:12},children:[(0,r.jsx)("span",{style:{opacity:.6},children:e("vaultActive")}),(0,r.jsxs)("select",{value:h.activeVault||"",onChange:v=>se("activeVault",v.target.value),disabled:b,style:qt,children:[(0,r.jsx)("option",{value:"",children:e("vaultActiveNone")}),d(h).filter(v=>v&&v.name).map(v=>(0,r.jsx)("option",{value:v.name,children:v.name},v.name))]})]})]})]}),(0,r.jsxs)(An,{...f("sec-cost"),id:"sec-cost",icon:"\u{1F4B0}",title:e("costControl"),sub:e("costHint"),children:[(0,r.jsxs)("div",{className:"mc-cfg-switches",children:[(0,r.jsx)(Ht,{k:"distillEnabled",label:e("distillEnabled")}),(0,r.jsx)(Ht,{k:"dedupByLLM",label:e("dedupByLLM")}),(0,r.jsx)(Ht,{k:"captureFollowSession",label:e("captureFollowSession")}),(0,r.jsx)(Ht,{k:"captureFirstOnly",label:e("captureFirstOnly")})]}),(0,r.jsxs)("div",{className:"mc-cfg-grid",children:[(0,r.jsx)(dt,{k:"captureMaxTokens",label:e("captureMaxTokens"),type:"number"}),(0,r.jsx)(dt,{k:"captureTimeoutMs",label:e("captureTimeoutMs"),type:"number"}),(0,r.jsx)(dt,{k:"recallMinScore",label:e("recallMinScore"),type:"number"}),(0,r.jsx)(dt,{k:"captureCooldownMs",label:e("captureCooldownMs"),type:"number"}),Ie&&Ie.ok===!1&&(0,r.jsxs)("div",{style:{gridColumn:"1 / -1",fontSize:11.5,color:"#b45309",background:"rgba(245,158,11,0.12)",border:"1px solid rgba(245,158,11,0.35)",borderRadius:8,padding:"6px 10px",lineHeight:1.6},children:["\u26A0 ",C("routeListFail",{err:Ie.error||"\u672A\u77E5\u539F\u56E0"})]}),Ie&&Ie.providers&&Ie.providers.length?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("label",{className:"mc-field",children:[(0,r.jsx)("span",{className:"mc-field-label",children:e("captureProvider")}),(0,r.jsxs)("select",{value:h.captureProvider||"",onChange:v=>{se("captureProvider",v.target.value),se("captureModel","")},children:[(0,r.jsx)("option",{value:"",children:e("routeAuto")}),Ie.providers.map(v=>(0,r.jsx)("option",{value:v.id,children:v.label},v.id))]})]}),(0,r.jsxs)("label",{className:"mc-field",children:[(0,r.jsx)("span",{className:"mc-field-label",children:e("captureModel")}),(0,r.jsxs)("select",{value:h.captureModel||"",onChange:v=>se("captureModel",v.target.value),children:[(0,r.jsx)("option",{value:"",children:e("routeAuto")}),((Ie.providers.find(v=>v.id===h.captureProvider)||{}).models||[]).map(v=>(0,r.jsx)("option",{value:v.id,children:v.label||v.id},v.id))]})]})]}):(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(dt,{k:"captureProvider",label:e("captureProvider")}),(0,r.jsx)(dt,{k:"captureModel",label:e("captureModel")})]}),(0,r.jsx)(dt,{k:"sessionBudgetChars",label:e("sessionBudgetChars"),type:"number"})]}),(0,r.jsx)("div",{className:"mc-cfg-tools",children:(0,r.jsx)("button",{type:"button",className:"mc-btn",disabled:!!ve,onClick:async()=>{we("llmtest");try{let v=await fetch(J+"/llm-test",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({provider:h.captureProvider||"",model:h.captureModel||"",firstOnly:h.captureFirstOnly===!0})}).then(te=>te.json());v&&v.ok?A(e("llmTestOk")+"\uFF1A"+v.route.provider+(v.route.model?"/"+v.route.model:"")+" \xB7 "+v.ms+"ms \xB7 "+e("llmCandidates")+" "+v.candidates):A(e("llmTestFail")+"\uFF1A"+(v&&(v.failure?v.failure.code+" "+v.failure.message:v.error)||"?"),!1)}catch(v){A(e("llmTestFail")+"\uFF1A"+String(v&&v.message||v),!1)}finally{we("")}},children:ve==="llmtest"?e("exporting"):"\u{1F50C} "+e("llmTest")})})]}),(0,r.jsx)(An,{...f("sec-audit"),id:"sec-audit",icon:"\u{1F6E1}\uFE0F",title:e("auditConfig"),sub:e("auditHint"),children:(0,r.jsxs)("div",{className:"mc-cfg-grid",children:[(0,r.jsxs)("label",{className:"mc-field",children:[(0,r.jsx)("span",{className:"mc-field-label",children:e("auditMode")}),(0,r.jsxs)("select",{value:h.auditMode??"all",onChange:v=>se("auditMode",v.target.value),children:[(0,r.jsx)("option",{value:"all",children:e("auditAll")}),(0,r.jsx)("option",{value:"none",children:e("auditNone")})]})]}),(0,r.jsx)(Gf,{label:e("auditExemptAgents"),value:h.auditExemptAgents||[],options:[{value:"__all__",label:e("allExempt")},...(ge?.agents||[]).filter(v=>!v.isDsh).map(v=>({value:v.name,label:v.name}))],onChange:v=>se("auditExemptAgents",v)}),(0,r.jsx)(Gf,{label:e("auditExemptKinds"),value:h.auditExemptKinds||[],options:[{value:"__all__",label:e("allExempt")},...Cl.filter(v=>v!=="all"&&v!=="core"&&v!=="skill").map(v=>({value:v,label:e(Tt[v])}))],onChange:v=>se("auditExemptKinds",v)}),(0,r.jsx)(dt,{k:"recycleRetentionDays",label:e("recycleDays"),hint:e("unitDays"),type:"number"})]})}),(0,r.jsxs)(An,{...f("sec-service"),id:"sec-service",icon:"\u{1F6E0}",title:e("serviceConfig"),sub:e("cfgSubService"),children:[(0,r.jsxs)("div",{className:"mc-cfg-switches",children:[(0,r.jsx)(Ht,{k:"autoWeb",label:e("autoWeb")}),(0,r.jsx)(Ht,{k:"watchdogAutoSpawn",label:e("watchdogAutoSpawn")}),(0,r.jsx)(Ht,{k:"autoRestartOnDrift",label:e("autoRestartOnDrift")}),(0,r.jsx)(Ht,{k:"autoMcpSetup",label:e("autoMcpSetup")})]}),(0,r.jsxs)("div",{className:"mc-cfg-grid",children:[(0,r.jsxs)("label",{className:"mc-field",children:[(0,r.jsx)("span",{className:"mc-field-label",children:e("autoWebMode")}),(0,r.jsxs)("select",{value:h.autoWebMode??"init",onChange:v=>se("autoWebMode",v.target.value),children:[(0,r.jsx)("option",{value:"init",children:e("modeInit")}),(0,r.jsx)("option",{value:"interval",children:e("modeInterval")}),(0,r.jsx)("option",{value:"manual",children:e("modeManual")})]})]}),(0,r.jsx)(dt,{k:"webPort",label:e("webPort"),type:"number"}),(0,r.jsx)(dt,{k:"webCheckIntervalMs",label:e("webCheckIntervalMs"),type:"number"}),(0,r.jsx)(dt,{k:"webMaxRestart",label:e("webMaxRestart"),hint:e("unitTimes"),type:"number"})]})]}),(0,r.jsxs)("div",{className:"mc-cfg-actions",children:[q?(0,r.jsx)("span",{className:"mc-cfg-dirty",children:e("cfgDirty")}):(0,r.jsxs)("span",{className:"mc-cfg-clean",children:["\u2713 ",e("cfgClean")]}),(0,r.jsx)("span",{className:"mc-cfg-spacer"}),ve==="save"&&(0,r.jsxs)("span",{style:{fontSize:11.5,opacity:.75},children:["\u23F3 ",e("saving")]}),qe&&ve!=="save"&&(0,r.jsxs)("span",{style:{fontSize:11.5,color:"#10b981"},children:["\u2705 ",qe]}),Pe&&ve!=="save"&&(0,r.jsxs)("span",{style:{fontSize:11.5,color:"#b91c1c"},children:["\u26A0 ",Pe]}),(0,r.jsx)("button",{type:"button",className:"mc-btn",onClick:We,disabled:!!ve,children:e("reset")}),(0,r.jsx)("button",{type:"button",className:"mc-btn me-on",onClick:b?()=>A(e("readonlyTitle")+"\uFF1A"+e("readonlyBody"),!1):F,disabled:ve==="save",title:e(b?"readonlyBody":"saveConfig"),children:ve==="save"?"\u23F3 "+e("saving"):b?"\u{1F512} "+e("readonlyBtn"):"\u{1F4BE} "+e("saveConfig")})]})]}):(0,r.jsx)("div",{style:{fontSize:12,opacity:.6},children:e("loading")})]})]})})})]})})}function p0({t:e,onReload:t,version:n}){let[a,o]=(0,u.useState)([]),[i,l]=(0,u.useState)([]),[s,c]=(0,u.useState)("all"),[p,f]=(0,u.useState)("all"),[g,y]=(0,u.useState)(""),[S,R]=(0,u.useState)(""),[M,O]=(0,u.useState)(new Set),[h,m]=(0,u.useState)(null),[b,P]=(0,u.useState)(""),[j,D]=(0,u.useState)(null),[L,_]=(0,u.useState)("pending"),U=(z,Y=!0)=>{D({msg:z,ok:Y}),setTimeout(()=>D(null),3e3)},$=[...new Set([...a,...i].map(z=>z.submittedBy).filter(Boolean))],ce=(0,u.useCallback)(async()=>{try{let z=await fetch(`${J}/audit/list`).then(Y=>Y.json());z.ok&&(o(z.pending||[]),l(z.rejected||[]),O(new Set),we({}))}catch{}},[]);(0,u.useEffect)(()=>{ce()},[n,ce]);let ge=(L==="pending"?a:i).filter(z=>{if(!td(z,S)||s!=="all"&&z.kind!==s||p!=="all"&&Fr(z.submittedBy)!==p)return!1;if(g){let Y=hl(z.created);if(Y&&Y!==g)return!1}return!0}),fe=(0,u.useMemo)(()=>{let z=L==="pending"?a:i,Y={all:0};return z.forEach(he=>{if(td(he,S)&&!(p!=="all"&&Fr(he.submittedBy)!==p)){if(g){let Le=hl(he.created);if(Le&&Le!==g)return}Y.all++,Y[he.kind||"other"]=(Y[he.kind||"other"]||0)+1}}),Y},[a,i,L,p,g,S]),Pe=z=>O(Y=>{let he=new Set(Y);return he.has(z)?he.delete(z):he.add(z),he}),V=async(z,Y,he={})=>{let Le=Y||[...M];if(!Le.length){U(e("noSelection"),!1);return}P("apply");let ie=z==="approved"?he.kind==="core"?e("approveCore"):e("toastApproved"):e(z==="rejected"?"toastRejected":"toastCardDeleted");try{let ee=0;for(let w of Le){let q=z==="approved"?"audit/approve":z==="rejected"?"audit/reject":"delete";try{let W=z==="approved"&&he.kind?{path:w,kind:he.kind}:null;(await fetch(J+"/"+q+(W?"":"?path="+encodeURIComponent(w)+(z==="delete"?"&permanent=0":"")),W?{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(W)}:void 0)).ok||ee++}catch{ee++}}await ce(),t&&t(),ee?U(e("toastFailed")+"\uFF08"+ee+"/"+Le.length+"\uFF09",!1):U(ie+" "+Le.length+" \u5F20")}catch(ee){U(e("toastFailed")+": "+String(ee&&ee.message||ee),!1)}finally{P("")}},[ve,we]=(0,u.useState)({}),qe=z=>ve[z]||{},me=[...M],ne=ge.find(z=>z.path===h)||ge[0]||null,Ge=ne?qe(ne.path):{};(0,u.useEffect)(()=>{let z=ne;if(!z||ve[z.path])return;let Y=!0,he=z.path;we(ie=>({...ie,[he]:{loading:!0}}));let Le=z.status||(L==="pending"?"pending":"rejected");return fetch(`${J}/card?path=${encodeURIComponent(he)}&status=${Le}`).then(ie=>ie.json()).then(ie=>{Y&&(ie&&ie.ok?we(ee=>({...ee,[he]:{text:ie.text||""}})):we(ee=>({...ee,[he]:{error:ie&&ie.error||"HTTP"}})))}).catch(ie=>{Y&&we(ee=>({...ee,[he]:{error:String(ie&&ie.message||ie)}}))}),()=>{Y=!1}},[ne&&ne.path,L]);let Ie=async()=>{if(window.confirm(e("reclassify")+"\uFF1F\u53EA\u5904\u7406\u81EA\u52A8\u6C89\u6DC0\u7684\u5F85\u5BA1\u539F\u6587\u5361\uFF0C\u4E0D\u6539\u4EBA\u5DE5\u5361\u3002")){P("reclassify");try{let z=await fetch(J+"/reclassify").then(Y=>Y.json());z&&z.ok?U(e("reclassify")+"\uFF1A"+z.changed+" / "+z.scanned):U(e("toastFailed")+": "+(z&&z.error||"HTTP"),!1),await ce(),t&&t()}catch(z){U(e("toastFailed")+": "+String(z&&z.message||z),!1)}finally{P("")}}},re=()=>O(new Set),k=z=>{_(z),re()},G=["all",...Cl.filter(z=>z!=="all")];return(0,r.jsxs)("div",{className:"mc-admin",style:{display:"flex",flexDirection:"column",overflow:"auto",flex:1,minHeight:0},children:[(0,r.jsx)("style",{children:kn}),(0,r.jsxs)("div",{style:{overflow:"auto",padding:4},children:[(0,r.jsx)(Nl,{toast:j}),(0,r.jsxs)("div",{className:"mc-v5-pagehead mc-v5-audithead",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("div",{className:"mc-v5-eyebrow",children:"REVIEW INBOX"}),(0,r.jsx)("h1",{children:e("tabAudit")}),(0,r.jsx)("p",{children:e("auditInboxSub")})]}),(0,r.jsxs)("span",{className:"mc-v5-pagecount",children:[a.length," \u5F20"]}),(0,r.jsxs)("span",{className:"mc-v5-audit-trust",children:["\u{1F6E1} ",e("auditUndo")]})]}),(0,r.jsxs)("div",{className:"me-audit",children:[(0,r.jsxs)("div",{className:"mc-card mc-audit-filtercard",style:{marginBottom:10,display:"flex",flexDirection:"column",gap:8},children:[(0,r.jsxs)("div",{className:"me-audit-filter-row",children:[(0,r.jsxs)("b",{style:{fontSize:12},children:["\u{1F6E1}\uFE0F ",e("tabAudit")]}),(0,r.jsx)("input",{type:"text",value:S,onChange:z=>{R(z.target.value),re(),m(null)},placeholder:e("auditSearchPlaceholder"),"aria-label":e("auditSearchPlaceholder"),style:{flex:"1 1 220px",minWidth:160,padding:"5px 9px",borderRadius:8,background:"var(--dsw-alias-bg-layer-1, #fff)",color:"inherit",border:"1px solid var(--dsw-alias-border-l2, #d1d5db)",fontSize:12}}),S&&(0,r.jsx)("button",{type:"button",className:"mc-btn",style:{padding:"2px 8px"},onClick:()=>{R(""),re(),m(null)},title:e("clearFilter"),children:"\u2715"}),(0,r.jsxs)("select",{value:p,onChange:z=>{f(z.target.value),re()},style:{fontSize:12,padding:"4px 8px",borderRadius:8,background:"var(--dsw-alias-bg-layer-1, #fff)",color:"inherit",border:"1px solid var(--dsw-alias-border-l2, #d1d5db)"},children:[(0,r.jsx)("option",{value:"all",children:e("allAgents")}),Yf($).map(z=>(0,r.jsx)("option",{value:z,children:z},z))]}),(0,r.jsx)("input",{type:"date",value:g,onChange:z=>{y(z.target.value),re()},style:{fontSize:12,padding:"4px 8px",borderRadius:8,background:"var(--dsw-alias-bg-layer-1, #fff)",color:"inherit",border:"1px solid var(--dsw-alias-border-l2, #d1d5db)"}})]}),(0,r.jsxs)("div",{className:"me-audit-types-top",children:[(0,r.jsx)("span",{className:"me-audit-types-label",children:e("auditTypeLabel")}),G.map(z=>{let Y=z==="all"?"var(--dsw-alias-label-secondary, #9ca3af)":Kt[z]||"#6B7280";return(0,r.jsxs)("button",{type:"button",className:`me-audit-kind${s===z?" active":""}`,onClick:()=>{c(z),re()},children:[(0,r.jsx)("span",{className:"me-audit-kind-dot",style:{background:Y}}),(0,r.jsx)("span",{className:"me-audit-kind-name",children:e(z==="all"?"all":Tt[z])}),(0,r.jsx)("span",{className:"me-audit-kind-count",children:fe[z]||0})]},z)})]})]}),(0,r.jsxs)("div",{className:"me-audit-main",children:[(0,r.jsxs)("div",{className:"me-audit-queue",children:[(0,r.jsxs)("div",{className:"mc-card mc-audit-batchcard",style:{marginBottom:10,display:"flex",gap:10,alignItems:"center",flexWrap:"wrap"},children:[(0,r.jsxs)("button",{type:"button",className:`mc-btn${L==="pending"?" me-on":""}`,onClick:()=>k("pending"),children:[e("pending"),"\uFF08",a.length,"\uFF09"]}),(0,r.jsxs)("button",{type:"button",className:`mc-btn${L==="rejected"?" me-on":""}`,onClick:()=>k("rejected"),children:[e("rejected"),"\uFF08",i.length,"\uFF09"]}),(0,r.jsx)("div",{style:{flex:1}}),(0,r.jsxs)("label",{style:{fontSize:12},children:[(0,r.jsx)("input",{type:"checkbox",checked:ge.length>0&&me.length===ge.length,onChange:z=>{z.target.checked?O(new Set(ge.map(Y=>Y.path))):O(new Set)}})," ",e("selectAll"),"\uFF08",ge.length,"\uFF09"]}),(0,r.jsxs)("span",{style:{fontSize:11,opacity:.65},children:[e("auditSelected")," ",me.length]}),L==="pending"&&(0,r.jsxs)("button",{type:"button",className:"mc-btn",disabled:!!b,onClick:Ie,children:["\u{1F527} ",e("reclassify")]}),(0,r.jsxs)("button",{type:"button",className:"mc-btn me-on",disabled:!me.length||!!b,onClick:()=>V("approved"),children:["\u2713 ",e(L==="rejected"?"restore":"approve")]}),L==="pending"?(0,r.jsxs)("button",{type:"button",className:"mc-btn",style:{color:"#f87171"},disabled:!me.length||!!b,onClick:()=>V("rejected"),children:["\u2715 ",e("reject")]}):(0,r.jsxs)("button",{type:"button",className:"mc-btn",style:{color:"#f87171"},disabled:!me.length||!!b,onClick:()=>{window.confirm(e("recycleDeleteConfirm"))&&V("delete")},children:["\u{1F5D1} ",e("restoreDelete")]}),me.length>0&&(0,r.jsx)("button",{type:"button",className:"mc-btn",onClick:re,children:e("auditClearSelection")})]}),ge.length?(0,r.jsx)("div",{className:"mc-card",style:{display:"flex",flexDirection:"column"},children:ge.map(z=>{let Y=Kt[z.kind]||"#6B7280";return(0,r.jsx)("div",{className:`me-audit-row${z.kind==="core"?" core":""}${ne&&ne.path===z.path?" active":""}`,children:(0,r.jsxs)("div",{className:"me-audit-row-main",onClick:()=>m(z.path),children:[(0,r.jsx)("input",{type:"checkbox",checked:M.has(z.path),onClick:he=>he.stopPropagation(),onChange:()=>Pe(z.path)}),(0,r.jsx)("span",{className:"me-audit-row-tile",style:{color:Y,borderColor:Y+"38",background:Y+"18"},children:Ir[z.kind]||"\u{1F4CE}"}),(0,r.jsxs)("div",{className:"me-audit-row-copy",children:[(0,r.jsxs)("div",{className:"me-audit-row-top",children:[(0,r.jsx)("span",{className:`me-audit-row-kind${z.kind==="core"?" core":""}`,children:z.kind==="core"?"\u2B50 "+e("kindCore"):e(Tt[z.kind]||"kindKnowledge")}),z.revision&&(0,r.jsxs)("span",{className:"me-audit-row-state",style:{color:"#a78bfa",filter:"saturate(1.2)"},children:["\u270F\uFE0F ",e("auditRevision")]}),(0,r.jsx)("span",{className:`me-audit-row-state ${L==="pending"?"pending":"rejected"}`,children:L==="pending"?"\u23F3 "+e("statusPending"):"\u26D4 "+e("statusRejected")}),(0,r.jsx)("span",{className:"me-audit-row-time",children:nd(z.created)||"-"})]}),(0,r.jsx)("button",{type:"button",className:"me-audit-row-title",title:z.title,onClick:()=>m(z.path),children:z.title}),z.revision&&(0,r.jsxs)("p",{className:"me-audit-row-reason",style:{color:"#a78bfa"},children:["\u270F\uFE0F ",e("auditRevisionFrom"),"\uFF1A",z.revision.targetTitle||z.revision.targetPath]}),(z.reason||z.summary)&&(0,r.jsx)("p",{className:"me-audit-row-reason",children:z.reason||z.summary}),(0,r.jsxs)("div",{className:"me-audit-row-meta",children:[(0,r.jsxs)("span",{children:["\u{1F916} ",Fr(z.submittedBy)]}),(Array.isArray(z.tags)?z.tags:[]).slice(0,3).map(he=>(0,r.jsxs)("span",{children:["#",he]},he))]})]}),(0,r.jsx)("div",{className:"me-audit-row-actions",onClick:he=>he.stopPropagation(),children:L==="pending"?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("button",{type:"button",className:"mc-btn",style:{padding:"2px 8px"},onClick:()=>V("approved",[z.path]),children:"\u2713"}),(0,r.jsx)("button",{type:"button",className:"mc-btn",style:{padding:"2px 8px",color:"#f87171"},onClick:()=>V("rejected",[z.path]),children:"\u2715"})]}):(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("button",{type:"button",className:"mc-btn",style:{padding:"2px 8px"},title:e("restore"),onClick:()=>V("approved",[z.path]),children:"\u2713"}),(0,r.jsx)("button",{type:"button",className:"mc-btn",style:{padding:"2px 8px",color:"#f87171"},title:e("restoreDelete"),onClick:()=>{window.confirm(e("recycleDeleteConfirm"))&&V("delete",[z.path])},children:"\u{1F5D1}"})]})})]})},z.path)})}):(0,r.jsx)("div",{style:{opacity:.6,fontSize:12,padding:20,textAlign:"center"},children:e(S?"auditNoMatch":"noAuditItems")})]}),(0,r.jsx)("aside",{className:"me-audit-preview",children:ne?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("div",{className:"me-audit-preview-head",children:[(0,r.jsxs)("div",{className:"me-audit-preview-top",children:[(0,r.jsxs)("span",{className:"me-audit-kind-badge",style:{color:Kt[ne.kind]||"#6B7280",borderColor:(Kt[ne.kind]||"#6B7280")+"59",background:(Kt[ne.kind]||"#6B7280")+"1a"},children:[Ir[ne.kind]||"\u{1F4CE}"," ",e(Tt[ne.kind]||"kindKnowledge")]}),(0,r.jsx)("span",{className:`md-chip ${L==="pending"?"md-chip-st-warn":"md-chip-st-bad"}`,children:L==="pending"?ne.kind==="core"?"\u2B50 "+e("coreSuggested"):"\u23F3 "+e("statusPending"):"\u26D4 "+e("statusRejected")}),(0,r.jsx)("span",{className:"spacer",style:{flex:1}}),(0,r.jsx)("span",{style:{fontSize:10,opacity:.55},children:nd(ne.created)})]}),(0,r.jsx)("h3",{children:ne.title}),ne.revision&&(0,r.jsxs)("div",{className:"me-audit-preview-reason",style:{color:"#a78bfa",marginBottom:6},children:["\u270F\uFE0F ",e("auditRevisionFrom"),"\uFF1A",ne.revision.targetTitle||ne.revision.targetPath]}),(0,r.jsxs)("div",{className:"me-audit-preview-meta",children:[(0,r.jsxs)("span",{children:["\u{1F916} ",Fr(ne.submittedBy)]}),!!ne.reason&&(0,r.jsxs)("span",{className:"me-audit-preview-reason",children:["\u2691 ",ne.reason]}),(Array.isArray(ne.tags)?ne.tags:[]).slice(0,5).map(z=>(0,r.jsxs)("span",{children:["#",z]},z))]})]}),(0,r.jsxs)("div",{className:"me-audit-preview-body",children:[Ge.loading&&(0,r.jsx)("div",{className:"me-audit-preview-empty",children:e("loading")}),Ge.error&&(0,r.jsxs)("div",{className:"me-audit-preview-empty",style:{color:"#f87171"},children:["\u26A0 ",e("auditBodyFail"),"\uFF1A",Ge.error]}),Ge.text!=null?(0,r.jsx)("div",{className:"md-doc",dangerouslySetInnerHTML:{__html:_o(bd(ml(Ge.text).body,ne.title))}}):!Ge.loading&&(0,r.jsx)("p",{className:"me-audit-preview-summary",children:ne.summary||""})]}),(0,r.jsxs)("div",{className:"me-audit-preview-actions",children:[(0,r.jsxs)("button",{type:"button",className:"mc-btn me-on",disabled:!!b,onClick:()=>V("approved",[ne.path]),children:["\u2713 ",L==="rejected"?e("restore"):ne.kind==="core"?e("approveCore"):e("approve")]}),L==="pending"&&ne.kind!=="core"&&!ne.revision&&(0,r.jsxs)("button",{type:"button",className:"mc-btn me-core-btn",disabled:!!b,onClick:()=>V("approved",[ne.path],{kind:"core"}),children:["\u2B50 ",e("approveAndCore")]}),L==="pending"&&ne.kind==="core"&&(0,r.jsx)("button",{type:"button",className:"mc-btn",disabled:!!b,onClick:()=>V("approved",[ne.path],{kind:"knowledge"}),children:e("approveAsNormal")}),L==="pending"?(0,r.jsxs)("button",{type:"button",className:"mc-btn",style:{color:"#f87171"},disabled:!!b,onClick:()=>V("rejected",[ne.path]),children:["\u2715 ",e("reject")]}):(0,r.jsxs)("button",{type:"button",className:"mc-btn",style:{color:"#f87171"},disabled:!!b,onClick:()=>{window.confirm(e("recycleDeleteConfirm"))&&V("delete",[ne.path])},children:["\u{1F5D1} ",e("restoreDelete")]})]})]}):(0,r.jsx)("div",{className:"me-audit-preview-empty",children:e(S?"auditNoMatch":"noAuditItems")})})]})]})]})]})}var u0={title:"",date:"",category:"",source:"",url:"",tags:"",pinned:!1,body:""};function ud(){let e=new Date;return e.getFullYear()+"-"+String(e.getMonth()+1).padStart(2,"0")+"-"+String(e.getDate()).padStart(2,"0")}function md(e){try{let t=new URL(String(e||""));return t.protocol==="http:"||t.protocol==="https:"?t.href:""}catch{return""}}function m0(e,t){let n=String(e||"").slice(0,10);if(!n)return t("newsEarlier");if(n===ud())return t("newsToday");let a=new Date;a.setDate(a.getDate()-1);let o=a.getFullYear()+"-"+String(a.getMonth()+1).padStart(2,"0")+"-"+String(a.getDate()).padStart(2,"0");return n===o?t("newsYesterday"):n}function Hf({item:e,t,active:n,onOpen:a,onEdit:o,onToggleRead:i,onDelete:l}){return(0,r.jsxs)("article",{className:"mc-news-card"+(e.pinned?" pinned":"")+(e.read?"":" unread")+(n?" active":""),onClick:()=>a(e),children:[(0,r.jsxs)("div",{className:"mc-news-top",children:[!e.read&&(0,r.jsx)("span",{className:"mc-news-dot",title:t("newsUnread")}),(0,r.jsx)("span",{className:"mc-news-cat",children:e.category||t("newsCategoryField")}),e.pinned&&(0,r.jsxs)("span",{className:"mc-news-pin",children:["\u{1F4CC} ",t("newsPinned")]}),(0,r.jsx)("span",{className:"mc-news-time",children:e.date||(e.updated||"").slice(0,10)})]}),(0,r.jsx)("h3",{className:"mc-news-title",children:e.title}),e.excerpt&&(0,r.jsx)("p",{className:"mc-news-excerpt",children:e.excerpt}),(0,r.jsxs)("div",{className:"mc-news-meta",children:[e.source&&(0,r.jsx)("span",{children:e.source}),(e.tags||[]).slice(0,3).map(s=>(0,r.jsxs)("span",{children:["#",s]},s)),(0,r.jsx)("span",{style:{marginLeft:"auto",opacity:.72},children:e.read?t("newsRead"):t("newsUnread")}),(0,r.jsxs)("span",{className:"mc-news-actions",onClick:s=>s.stopPropagation(),children:[(0,r.jsx)("button",{type:"button",className:"mc-btn",onClick:()=>i(e),children:e.read?t("newsMarkUnread"):t("newsMarkRead")}),(0,r.jsx)("button",{type:"button",className:"mc-btn",onClick:()=>o(e),children:t("newsEdit")}),(0,r.jsx)("button",{type:"button",className:"mc-btn",style:{color:"#f87171"},onClick:()=>l(e),title:t("delete"),children:"\u2715"})]})]})]})}function f0(e,t){let n=Date.now()-Number(e||0);if(!Number.isFinite(n)||n<0)return"";let a=Math.floor(n/6e4);if(a<1)return t("newsJustNow");if(a<60)return a+" "+t("newsMinutesAgo");let o=Math.floor(a/60);if(o<24)return o+" "+t("newsHoursAgo");let i=Math.floor(o/24);return i<7?i+" "+t("newsDaysAgo"):new Date(Number(e)).toISOString().slice(0,10)}var ra="me.news.lastQuery",Ho="me.news.prefs",Xf="me.news.view",g0={model:"\u6A21",product:"\u54C1",research:"\u7814",opensource:"\u6E90",industry:"\u4E1A",policy:"\u7B56",other:"\u8BAF"},h0=new Set(["the","a","an","of","to","for","and","in","on","is","are","with","how","why","new","its","it","as","at","by","from"]);function vd(e,t){try{let n=localStorage.getItem(e);if(n===null)return t;try{return JSON.parse(n)}catch{return n}}catch{return t}}function ir(e,t){try{localStorage.setItem(e,JSON.stringify(t))}catch{}}function sd(e,t=""){let n=vd(e,t);return typeof n=="string"?n:t}function Wf(){let e=vd(Xf,null);return e&&typeof e=="object"?e:{}}function fd(){return{types:{},sources:{},terms:{},opens:0,updatedAt:0}}function y0(){let e=vd(Ho,null);return!e||typeof e!="object"?fd():{...fd(),...e,types:e.types||{},sources:e.sources||{},terms:e.terms||{}}}function Jf(e){let t=[];for(let n of String(e||"").toLowerCase().split(/[^0-9a-z\u4e00-\u9fff]+/))!n||n.length<2||h0.has(n)||t.push(n);return t}function wl(e,t,n){t&&(e[t]=Math.min(60,(Number(e[t])||0)+n))}function v0(e,t,n){let a={...n,types:{...n.types},sources:{...n.sources},terms:{...n.terms}};return e&&(wl(a.types,e.type,t),wl(a.sources,e.sourceId,t),Jf(e.title).slice(0,6).forEach(o=>wl(a.terms,o,1)),a.opens=(Number(n.opens)||0)+1),a.updatedAt=Date.now(),a}function Uf(e,t){let n={...e,terms:{...e.terms}};return Jf(t).forEach(a=>wl(n.terms,a,3)),n.updatedAt=Date.now(),n}function b0(e){let t=0;for(let n of String(e||""))t=(t*31+n.charCodeAt(0))%360;return t}function x0(e){let t=String(e||"\u65B0\u95FB");if(/^[A-Za-z]/.test(t)){let n=t.split(/\s+/);return(n.length>1?n[0][0]+n[1][0]:t.slice(0,2)).toUpperCase()}return t.slice(0,1)}var w0=/(帮我|请|麻烦|推送|订阅|关注|跟踪|每天|每日|定时|最新|热门|看看|给我|关于|相关)/;function k0(e){let t=String(e||"").trim();return t?w0.test(t)||t.split(/\s+/).length>=4:!1}function $f(e,t,n){let a=Math.max(0,(Date.now()-Number(e.publishedAt||0))/36e5),o=100-Math.min(60,a*.28);o+=(Number(t.types[e.type])||0)*1.6,o+=(Number(t.sources[e.sourceId])||0)*1.1;let i=(e.title+" "+(e.summary||"")).toLowerCase();for(let[s,c]of Object.entries(t.terms))i.includes(s)&&(o+=Math.min(8,Number(c)||0)*.9);let l=String(n||"").trim().toLowerCase();if(l)for(let s of l.split(/\s+/).filter(Boolean))String(e.title||"").toLowerCase().includes(s)?o+=16:i.includes(s)&&(o+=8);return e.followId&&(o+=10),o}function S0({t:e,mode:t,version:n}){let[a,o]=(0,u.useState)([]),[i,l]=(0,u.useState)([]),[s,c]=(0,u.useState)(!0),[p,f]=(0,u.useState)(0),[g,y]=(0,u.useState)([]),[S,R]=(0,u.useState)(""),[M,O]=(0,u.useState)(null),[h,m]=(0,u.useState)(()=>sd(ra)),[b,P]=(0,u.useState)(()=>sd(ra).trim()),[j,D]=(0,u.useState)(""),[L,_]=(0,u.useState)(()=>{let N=Wf();return typeof N.lang=="string"?N.lang:"zh"}),[U,$]=(0,u.useState)(()=>Wf().sort==="time"?"time":"rec"),[ce,ge]=(0,u.useState)(y0),[fe,Pe]=(0,u.useState)(!1),[V,ve]=(0,u.useState)([]),[we,qe]=(0,u.useState)([]),[me,ne]=(0,u.useState)(null),[Ge,Ie]=(0,u.useState)(!1),[re,k]=(0,u.useState)(""),G=(N,F=!0)=>{O({msg:N,ok:F}),setTimeout(()=>O(null),3200)},z=(0,u.useRef)(!1),Y=(0,u.useRef)(sd(ra).trim());(0,u.useEffect)(()=>{let N=setTimeout(()=>{let F=h.trim();P(F),z.current&&(ir(ra,F),!(!F||F===Y.current)&&(Y.current=F,ge(We=>{let Ye=Uf(We,F);return ir(Ho,Ye),Ye})))},260);return()=>clearTimeout(N)},[h]),(0,u.useEffect)(()=>{ir(Xf,{lang:L,sort:U})},[L,U]),(0,u.useEffect)(()=>{Pe(!0);let N=setTimeout(()=>Pe(!1),170);return()=>clearTimeout(N)},[j,L,b,U]);let he=(0,u.useCallback)(async()=>{c(!0),R("");try{let N=new URLSearchParams({period:t==="month"?"month":"today",lang:"all"});N.set("follows","1");let F=await fetch(J+"/news/feed?"+N.toString()).then(We=>We.json());if(!F||!F.ok)throw new Error(F&&F.error||e("newsFeedError"));o(F.items||[]),Array.isArray(F.follows)&&ve(F.follows),l(F.types||[]),f(Number(F.fetchedAt)||0),y(F.errors||[])}catch(N){let F=N&&N.message||e("newsFeedError");R(F),G(F,!1)}finally{c(!1)}},[t,e]);(0,u.useEffect)(()=>{he()},[n,he]);let Le=(0,u.useCallback)(async()=>{try{let N=await fetch(J+"/news/follows").then(F=>F.json());N&&N.ok&&(ve(N.follows||[]),qe(N.domains||[]))}catch{}},[]);(0,u.useEffect)(()=>{Le()},[n,Le]);let ie=async()=>{c(!0);try{let N=await fetch(J+"/news/feed/refresh",{method:"POST"}).then(F=>F.json());if(!N||!N.ok)throw new Error(N&&N.error||e("newsFeedError"));await he(),G(e("newsUpdatedAt")+" "+new Date().toLocaleTimeString())}catch(N){let F=N&&N.message||e("newsFeedError");R(F),G(F,!1),c(!1)}},ee=N=>(i.find(F=>F.id===N)||{}).label||e("all"),w=(a||[]).filter(N=>!L||N.lang===L||N.followId),q={};for(let N of w)q[N.type]=(q[N.type]||0)+1;let W=j?w.filter(N=>N.type===j):w,de=k0(b);if(b&&!de){let N=b.toLowerCase().split(/\s+/).filter(Boolean);W=W.filter(F=>{let We=[F.title,F.summary,F.source,ee(F.type)].join(" ").toLowerCase();return N.every(Ye=>We.includes(Ye))})}re&&(W=W.filter(N=>N.followId===re));let Re=N=>(Number(N.points)||0)+(Number(N.comments)||0)*2,Ce=t==="month",ue=Ce?W.filter(N=>(N.points||0)>0):[],A=Ce&&ue.length>0,pe=new Map;A&&ue.slice().sort((N,F)=>(F.points||0)-(N.points||0)||(F.comments||0)-(N.comments||0)).forEach((N,F)=>pe.set(N.id||N.url||N.title,F+1)),W=W.slice().sort((N,F)=>U==="time"?(F.publishedAt||0)-(N.publishedAt||0):Ce&&A?(F.points||0)-(N.points||0)||(F.comments||0)-(N.comments||0)||(F.publishedAt||0)-(N.publishedAt||0):$f(F,ce,b)-$f(N,ce,b));let ae=Object.keys(ce.types||{}).sort((N,F)=>(ce.types[F]||0)-(ce.types[N]||0)).slice(0,3),Ne=Object.keys(ce.terms||{}).sort((N,F)=>(ce.terms[F]||0)-(ce.terms[N]||0)).slice(0,4),kt=!!b||ae.length>0||Ne.length>0,Mt=N=>{z.current=!0;let F=String(N??"").trim();P(F),ir(ra,F),!(!F||F===Y.current)&&(Y.current=F,ge(We=>{let Ye=Uf(We,F);return ir(Ho,Ye),Ye}))},en=()=>{z.current=!1,Y.current="",D(""),_(""),m(""),P(""),ir(ra,"")},Fn=N=>ge(F=>{let We=v0(N,4,F);return ir(Ho,We),We}),Sn=()=>{let N=fd();ir(Ho,N),ir(ra,""),Y.current="",z.current=!1,ge(N),m(""),P("")},tn=async()=>{let N=h.trim();if(!N){G(e("newsFollowNoQuery"),!1);return}Ie(!0);try{let F=await fetch(J+"/news/follows/preview",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({text:N})}).then(We=>We.json());if(!F||!F.ok)throw new Error(F&&F.error||e("newsFollowFail"));qe(F.domainsEnum||we),ne({text:N,query:F.parsed.query,label:F.parsed.label,domains:F.parsed.domains,sourceIds:F.parsed.sourceIds||[],notes:F.parsed.notes||[]})}catch(F){G(String(F&&F.message||F),!1)}finally{Ie(!1)}},He=(N,F)=>ne(We=>{if(!We)return We;let Ye=new Set(We.domains);return F?Ye.add(N):Ye.delete(N),{...We,domains:[...Ye]}}),In=async()=>{if(me){Ie(!0);try{let N=await fetch(J+"/news/follows",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({query:me.query,domains:me.domains,label:me.label,sourceIds:me.sourceIds||[]})}).then(We=>We.json());if(!N||!N.ok)throw new Error(N&&N.error||e("newsFollowFail"));let F=me.label;ne(null),G((N.duplicate?e("newsFollowExists"):e("newsFollowAdded"))+"\uFF1A"+F),await Le(),await he()}catch(N){G(String(N&&N.message||N),!1)}finally{Ie(!1)}}},Te=async N=>{try{let F=await fetch(J+"/news/follows?id="+encodeURIComponent(N),{method:"DELETE"}).then(We=>We.json());if(!F||!F.ok)throw new Error(F&&F.error||e("newsFollowFail"));re===N&&k(""),G(e("newsFollowRemoved")),await Le(),await he()}catch(F){G(String(F&&F.message||F),!1)}},C=(N,F)=>{let We=md(N.url),Ye=ee(N.type),d=md(N.image),Et=A&&pe.get(N.id||N.url||N.title)||0,dn=A&&Et>0&&Et<=3;return(0,r.jsxs)("a",{className:"mc-news-tile",style:{"--i":Math.min(F,14)},href:We||void 0,target:We?"_blank":void 0,rel:"noopener noreferrer",onClick:()=>Fn(N),children:[(0,r.jsxs)("span",{className:"mc-news-tile-cover",children:[d?(0,r.jsx)("img",{className:"mc-news-tile-img",src:d,alt:"",loading:"lazy",referrerPolicy:"no-referrer",onError:pn=>{let At=pn.currentTarget;At.style.display="none",At.nextElementSibling&&(At.nextElementSibling.style.display="grid")}}):null,(0,r.jsxs)("span",{className:"mc-news-tile-gen",style:{"--hue":b0(N.title),display:d?"none":"grid"},children:[(0,r.jsx)("b",{children:g0[N.type]||"\u8BAF"}),(0,r.jsx)("small",{children:Ye}),(0,r.jsxs)("em",{children:[(0,r.jsx)("i",{children:x0(N.source)}),N.source]})]}),(0,r.jsx)("span",{className:"mc-news-tile-badge"+(dn?" hot":""),children:Et?"#"+Et:Ye}),(0,r.jsx)("span",{className:"mc-news-tile-time",children:f0(N.publishedAt,e)})]}),(0,r.jsxs)("span",{className:"mc-news-tile-body",children:[(0,r.jsx)("span",{className:"mc-news-tile-title",children:N.title}),N.summary?(0,r.jsx)("span",{className:"mc-news-tile-summary",children:N.summary}):null,(0,r.jsxs)("span",{className:"mc-news-tile-foot",children:[(0,r.jsx)("i",{className:"mc-news-tile-dot"}),(0,r.jsx)("span",{children:N.source}),N.followLabel?(0,r.jsxs)("span",{className:"mc-news-tile-follow",children:["\u{1F514} ",N.followLabel]}):null,Et?(0,r.jsxs)("span",{children:["\xB7 \u{1F525} ",e("newsHeat")," ",Re(N)]}):null,(0,r.jsxs)("span",{className:"mc-news-tile-open",children:[e("newsOriginal")," \u2197"]})]})]})]},N.id||N.url||N.title)},x=W.filter(N=>N.followId),se=x.slice(0,4),Ae=re?W:se.length?W.filter(N=>!N.followId):W;return(0,r.jsxs)("div",{className:"mc-news",children:[(0,r.jsx)(Nl,{toast:M}),(0,r.jsxs)("div",{className:"mc-news-hero",children:[(0,r.jsx)("div",{className:"mc-news-hero-eye",children:e("newsHeroEye")}),(0,r.jsxs)("div",{className:"mc-news-hero-search",children:[(0,r.jsx)("span",{"aria-hidden":"true",style:{fontSize:15,opacity:.75},children:"\u{1F50E}"}),(0,r.jsx)("input",{type:"text",value:h,onChange:N=>{z.current=!0,m(N.target.value)},onKeyDown:N=>{N.key==="Enter"&&Mt(h)},placeholder:e("newsSearch"),"aria-label":e("newsSearch")}),h?(0,r.jsx)("button",{type:"button",className:"mc-news-hero-clear",title:e("cancel"),onClick:()=>{m(""),Mt("")},children:"\u2715"}):null,(0,r.jsx)("button",{type:"button",className:"mc-news-hero-go",onClick:()=>Mt(h),children:e("newsSearchGo")}),h.trim()?(0,r.jsxs)("button",{type:"button",className:"mc-news-hero-follow",disabled:Ge,onClick:tn,title:e("newsFollowPreview"),children:["\uFF0B ",e("newsFollow")]}):null]}),(0,r.jsx)("div",{className:"mc-news-hero-hint",children:e(de?"newsIntentHint":"newsHeroHint")})]}),me?(0,r.jsxs)("div",{className:"mc-news-follow-draft",children:[(0,r.jsxs)("div",{className:"draft-head",children:["\u{1F514} ",e("newsFollowPreview")]}),(0,r.jsxs)("div",{className:"draft-body",children:[(0,r.jsx)("b",{children:me.label}),me.query?(0,r.jsxs)("span",{className:"draft-q",children:["\xB7 \u300C",me.query,"\u300D"]}):null,(0,r.jsxs)("div",{className:"draft-doms",children:[(0,r.jsx)("span",{className:"draft-lbl",children:e("newsFollowDomains")}),we.map(N=>(0,r.jsxs)("label",{className:"draft-opt",title:N.hint||"",children:[(0,r.jsx)("input",{type:"checkbox",checked:me.domains.includes(N.id),onChange:F=>He(N.id,F.target.checked)}),(0,r.jsx)("span",{children:N.label})]},N.id))]}),me.notes.map((N,F)=>(0,r.jsxs)("div",{className:"draft-note",children:["\xB7 ",N]},F))]}),(0,r.jsxs)("div",{className:"draft-actions",children:[(0,r.jsx)("button",{type:"button",className:"mc-btn",onClick:()=>ne(null),children:e("cancel")}),(0,r.jsx)("button",{type:"button",className:"mc-btn me-on",disabled:Ge||!me.domains.length,onClick:In,children:e("newsFollowConfirm")})]})]}):null,V.length>0?(0,r.jsx)("div",{className:"mc-news-follows",children:V.map(N=>(0,r.jsxs)("span",{className:"mc-news-follow-chip"+(re===N.id?" on":""),children:[(0,r.jsxs)("button",{type:"button",className:"chip-main",onClick:()=>k(F=>F===N.id?"":N.id),title:(N.domains||[]).join(" / "),children:["\u{1F514} ",N.label,(0,r.jsx)("i",{children:N.count||0})]}),(0,r.jsx)("button",{type:"button",className:"chip-x",title:e("delete"),"aria-label":e("delete"),onClick:()=>Te(N.id),children:"\u2715"})]},N.id))}):null,kt?(0,r.jsxs)("div",{className:"mc-news-pref",children:[(0,r.jsxs)("span",{children:["\u{1F3AF} ",e("newsPersonalized")]}),b?(0,r.jsxs)("span",{children:["\xB7 ",e("newsLastQuery")," ",(0,r.jsx)("b",{children:b})]}):null,Ne.length>0?(0,r.jsxs)("span",{children:["\xB7 ",Ne.join(" / ")]}):null,ae.length>0?(0,r.jsxs)("span",{children:["\xB7 ",ae.map(ee).join(" / ")]}):null,(0,r.jsx)("span",{className:"mc-news-pref-actions",children:(0,r.jsx)("button",{type:"button",className:"mc-btn",onClick:Sn,children:e("newsResetPrefs")})})]}):null,(0,r.jsxs)("div",{className:"mc-news-feed-toolbar",children:[(0,r.jsxs)("div",{className:"mc-news-pills",children:[(0,r.jsxs)("button",{type:"button",className:"mc-news-pill"+(j===""?" on":""),onClick:()=>D(""),children:[e("all"),(0,r.jsx)("span",{className:"mc-news-pill-count",children:w.length})]}),i.map(N=>q[N.id]?(0,r.jsxs)("button",{type:"button",className:"mc-news-pill"+(j===N.id?" on":""),onClick:()=>D(j===N.id?"":N.id),children:[N.label,(0,r.jsx)("span",{className:"mc-news-pill-count",children:q[N.id]})]},N.id):null)]}),(0,r.jsxs)("span",{style:{marginLeft:"auto",display:"flex",alignItems:"center",gap:6,flexWrap:"wrap"},children:[(0,r.jsx)("button",{type:"button",className:"mc-chip"+(L==="zh"?" active":""),onClick:()=>_("zh"),children:e("newsLangZh")}),(0,r.jsx)("button",{type:"button",className:"mc-chip"+(L==="en"?" active":""),onClick:()=>_("en"),children:e("newsLangEn")}),(0,r.jsx)("button",{type:"button",className:"mc-chip"+(L===""?" active":""),onClick:()=>_(""),children:e("newsLangAll")}),(0,r.jsx)("button",{type:"button",className:"mc-chip"+(U==="rec"?" active":""),onClick:()=>$("rec"),children:e("newsSortRec")}),(0,r.jsx)("button",{type:"button",className:"mc-chip"+(U==="time"?" active":""),onClick:()=>$("time"),children:e("newsSortTime")}),(0,r.jsx)("button",{type:"button",className:"mc-btn",disabled:s,onClick:ie,children:e(s?"newsLoading":"newsFeedRefresh")})]})]}),(0,r.jsxs)("div",{className:"mc-news-feed-meta",style:{margin:"0 0 8px"},children:[p?e("newsUpdatedAt")+" "+new Date(p).toLocaleTimeString():"",s?"":" \xB7 "+W.length+" "+e("newsMatched")]}),t==="month"&&(0,r.jsx)("div",{className:"mc-news-feed-warn",style:{color:"var(--dsw-alias-label-secondary, #6b7280)",background:"transparent",borderColor:"var(--dsw-alias-border-l1, #e5e7eb)"},children:e(A?"newsEnRanking":"newsZhArchive")}),S&&!s&&(0,r.jsxs)("div",{className:"mc-news-feed-warn",style:{display:"flex",alignItems:"center",gap:10,flexWrap:"wrap"},children:[(0,r.jsxs)("span",{children:["\u26A0 ",S]}),(0,r.jsx)("button",{type:"button",className:"mc-btn",onClick:ie,children:e("newsRetry")})]}),g.length>0&&(0,r.jsxs)("div",{className:"mc-news-feed-warn",children:["\u26A0 ",e("newsPartialFail"),"\uFF1A",g.slice(0,2).join("\uFF1B")]}),s?(0,r.jsxs)("div",{className:"mc-card mc-news-feed-empty mc-news-loading-card",role:"status","aria-live":"polite",children:[(0,r.jsx)(Sl,{}),(0,r.jsx)("span",{children:e("newsLoading")}),(0,r.jsx)("small",{children:e("newsLoadingHint")})]}):a.length===0?(0,r.jsxs)("div",{className:"mc-card mc-news-feed-empty",children:[(0,r.jsx)("div",{children:e("newsFeedEmpty")}),(0,r.jsx)("button",{type:"button",className:"mc-btn me-on",style:{marginTop:10},onClick:ie,children:e("newsFeedRefresh")})]}):W.length===0?(0,r.jsxs)("div",{className:"mc-card mc-news-feed-empty mc-news-nomatch",children:[(0,r.jsx)("div",{children:e("newsNoMatch")}),(0,r.jsx)("p",{style:{margin:"6px 0 0",fontSize:11.5,lineHeight:1.6,opacity:.75},children:e("newsNoMatchHint")}),(0,r.jsx)("button",{type:"button",className:"mc-btn me-on",style:{marginTop:10},onClick:en,children:e("newsClearFilters")})]}):(0,r.jsxs)(r.Fragment,{children:[!re&&se.length>0?(0,r.jsxs)("div",{className:"mc-news-follow-sec",children:[(0,r.jsxs)("div",{className:"mc-news-follow-sec-head",children:[(0,r.jsxs)("span",{children:["\u{1F514} ",e("newsFollowing")]}),(0,r.jsx)("em",{children:x.length})]}),(0,r.jsx)("div",{className:"mc-news-grid"+(fe?" is-swapping":""),children:se.map((N,F)=>C(N,F))})]}):null,(0,r.jsx)("div",{className:"mc-news-grid"+(fe?" is-swapping":""),children:Ae.map((N,F)=>C(N,F))})]})]})}function C0({t:e,version:t,onUnreadChange:n}){let[a,o]=(0,u.useState)("daily"),i=a==="month"?"newsMonthlySub":a==="mine"?"newsMineSub":"newsDailySub";return(0,r.jsxs)("div",{className:"mc-news",children:[(0,r.jsx)("div",{className:"mc-v5-pagehead",children:(0,r.jsxs)("div",{children:[(0,r.jsx)("div",{className:"mc-v5-eyebrow",children:"NEWSROOM"}),(0,r.jsx)("h1",{children:e("newsTitle")}),(0,r.jsx)("p",{children:e(i)})]})}),(0,r.jsxs)("div",{className:"mc-news-modes",children:[(0,r.jsx)("button",{type:"button",className:"mc-news-mode"+(a==="daily"?" active":""),onClick:()=>o("daily"),children:e("newsDaily")}),(0,r.jsx)("button",{type:"button",className:"mc-news-mode"+(a==="month"?" active":""),onClick:()=>o("month"),children:e("newsMonthly")}),(0,r.jsx)("button",{type:"button",className:"mc-news-mode"+(a==="mine"?" active":""),onClick:()=>o("mine"),children:e("newsMine")})]}),a==="mine"?(0,r.jsx)(N0,{t:e,version:t,onUnreadChange:n}):(0,r.jsx)(S0,{t:e,mode:a,version:t})]})}function N0({t:e,version:t,onUnreadChange:n}){let[a,o]=(0,u.useState)([]),[i,l]=(0,u.useState)([]),[s,c]=(0,u.useState)({all:0,unread:0}),[p,f]=(0,u.useState)(""),[g,y]=(0,u.useState)(""),[S,R]=(0,u.useState)(""),[M,O]=(0,u.useState)(!1),[h,m]=(0,u.useState)(""),[b,P]=(0,u.useState)(null),[j,D]=(0,u.useState)(null),[L,_]=(0,u.useState)(!1),[U,$]=(0,u.useState)(""),[ce,ge]=(0,u.useState)(null),fe=(k,G=!0)=>{ge({msg:k,ok:G}),setTimeout(()=>ge(null),2600)};(0,u.useEffect)(()=>{let k=setTimeout(()=>y(p.trim()),220);return()=>clearTimeout(k)},[p]);let Pe=(0,u.useCallback)(async()=>{let k=new URLSearchParams;g&&k.set("q",g),S&&k.set("category",S),M&&k.set("unread","1");try{let G=await fetch(J+"/news?"+k.toString()).then(z=>z.json());if(!G||!G.ok)throw new Error(G&&G.error||"load failed");o(G.items||[]),l(G.categories||[]),c(G.counts||{all:0,unread:0}),n&&n(Number((G.counts||{}).unread)||0)}catch{fe(e("newsSaveFail"),!1)}},[g,S,M,n,e]);(0,u.useEffect)(()=>{Pe()},[t,Pe]);let V=async k=>{m(k.id);try{let G=await fetch(J+"/news/item?id="+encodeURIComponent(k.id)).then(z=>z.json());if(!G||!G.ok)throw new Error(G&&G.error||"load failed");P(G.item),G.item.read||await ve(k.id,!0)}catch{fe(e("newsSaveFail"),!1)}},ve=async(k,G)=>{try{let z=await fetch(J+"/news/read",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:k,read:G})}).then(Y=>Y.json());if(!z||!z.ok)throw new Error(z&&z.error||"read failed");P(Y=>Y&&Y.id===k?{...Y,read:!!G}:Y),await Pe()}catch{fe(e("newsSaveFail"),!1)}},we=async k=>{if(_(!1),k){let G=k;if(!G.body)try{let z=await fetch(J+"/news/item?id="+encodeURIComponent(G.id)).then(Y=>Y.json());z&&z.ok&&(G=z.item)}catch{}D({id:G.id,title:G.title||"",date:G.date||ud(),category:G.category||"",source:G.source||"",url:G.url||"",tags:(G.tags||[]).join(", "),pinned:!!G.pinned,body:G.body||"",created:G.created||""})}else D({...u0,date:ud()})},qe=async()=>{if(j){if(!String(j.title||"").trim()||!String(j.body||"").trim()){fe(e("newsSaveFail"),!1);return}$("save");try{let k={id:j.id||void 0,title:j.title,date:j.date,category:j.category,source:j.source,url:j.url,tags:String(j.tags||"").split(",").map(z=>z.trim()).filter(Boolean),pinned:!!j.pinned,body:j.body,created:j.created},G=await fetch(J+"/news/save",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(k)}).then(z=>z.json());if(!G||!G.ok)throw new Error(G&&G.error||"save failed");D(null),m(G.item.id),P(G.item),await Pe(),fe(e("newsSaved"))}catch(k){fe(k&&k.message||e("newsSaveFail"),!1)}finally{$("")}}},me=async k=>{if(window.confirm(e("newsDeleteConfirm"))){$("delete");try{let G=await fetch(J+"/news/delete",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:k.id})}).then(z=>z.json());if(!G||!G.ok)throw new Error(G&&G.error||"delete failed");h===k.id&&(m(""),P(null)),await Pe(),fe(e("newsDeleted"))}catch{fe(e("newsSaveFail"),!1)}finally{$("")}}},ne=a.filter(k=>k.pinned),Ge=a.filter(k=>!k.pinned),Ie=b?md(b.url):"",re="";return(0,r.jsxs)("div",{className:"mc-news",children:[(0,r.jsx)(Nl,{toast:ce}),(0,r.jsxs)("div",{className:"mc-news-toolbar",children:[(0,r.jsxs)("span",{className:"mc-news-feed-meta",style:{marginLeft:0},children:[s.all," ",e("newsCountUnit")," \xB7 ",s.unread," ",e("newsUnread")]}),(0,r.jsxs)("button",{type:"button",className:"mc-btn me-on",onClick:()=>we(null),children:["\uFF0B ",e("newsNew")]}),(0,r.jsx)("input",{className:"mc-news-search",type:"text",value:p,onChange:k=>f(k.target.value),placeholder:e("newsSearch"),"aria-label":e("newsSearch")}),(0,r.jsx)("button",{type:"button",className:"mc-chip"+(S===""?" active":""),onClick:()=>R(""),children:e("all")}),i.map(k=>(0,r.jsx)("button",{type:"button",className:"mc-chip"+(S===k?" active":""),onClick:()=>R(G=>G===k?"":k),children:k},k)),(0,r.jsx)("button",{type:"button",className:"mc-chip"+(M?" active":""),onClick:()=>O(k=>!k),children:e("newsUnreadOnly")}),(0,r.jsx)("button",{type:"button",className:"mc-btn",onClick:()=>Pe(),children:e("refresh")})]}),(0,r.jsxs)("div",{className:"mc-news-main",children:[(0,r.jsx)("div",{className:"mc-news-list",children:a.length===0?(0,r.jsxs)("div",{className:"mc-card mc-news-empty",children:[e(p||S||M?"newsNoMatch":"newsEmpty"),!p&&!S&&!M&&(0,r.jsx)("div",{style:{marginTop:10},children:(0,r.jsxs)("button",{type:"button",className:"mc-btn me-on",onClick:()=>we(null),children:["\uFF0B ",e("newsNew")]})})]}):(0,r.jsxs)(r.Fragment,{children:[ne.length>0&&(0,r.jsxs)("div",{className:"mc-news-group",children:[(0,r.jsxs)("div",{className:"mc-news-group-label",children:["\u{1F4CC} ",e("newsPinned")]}),ne.map(k=>(0,r.jsx)(Hf,{item:k,t:e,active:h===k.id,onOpen:V,onEdit:G=>we(G),onToggleRead:G=>ve(G.id,!G.read),onDelete:me},k.id))]}),(0,r.jsx)("div",{className:"mc-news-group",children:Ge.map(k=>{let G=m0(k.date,e),z=G!==re;return re=G,(0,r.jsxs)(u.default.Fragment,{children:[z&&(0,r.jsx)("div",{className:"mc-news-group-label",children:G}),(0,r.jsx)(Hf,{item:k,t:e,active:h===k.id,onOpen:V,onEdit:Y=>we(Y),onToggleRead:Y=>ve(Y.id,!Y.read),onDelete:me})]},k.id)})})]})}),b&&(0,r.jsxs)("aside",{className:"mc-news-reader",children:[(0,r.jsxs)("div",{className:"mc-news-reader-head",children:[(0,r.jsx)("span",{className:"mc-news-cat",children:b.category||e("newsCategoryField")}),b.pinned&&(0,r.jsxs)("span",{className:"mc-news-pin",children:["\u{1F4CC} ",e("newsPinned")]}),(0,r.jsx)("div",{style:{flex:1}}),(0,r.jsx)("button",{type:"button",className:"mc-btn",style:{padding:"2px 8px"},onClick:()=>{P(null),m("")},title:e("close"),children:"\u2715"})]}),(0,r.jsx)("h2",{children:b.title}),(0,r.jsxs)("div",{className:"mc-news-reader-meta",children:[(0,r.jsx)("span",{children:b.date||""}),b.source&&(0,r.jsxs)("span",{children:["\xB7 ",b.source]}),(0,r.jsxs)("span",{children:["\xB7 ",b.read?e("newsRead"):e("newsUnread")]}),(b.tags||[]).map(k=>(0,r.jsxs)("span",{children:["#",k]},k))]}),Ie&&(0,r.jsx)("div",{style:{marginTop:8},children:(0,r.jsxs)("a",{className:"mc-btn",style:{textDecoration:"none"},href:Ie,target:"_blank",rel:"noopener noreferrer",children:["\u2197 ",e("newsOpenLink")]})}),(0,r.jsx)("div",{className:"md-doc",style:{marginTop:12},dangerouslySetInnerHTML:{__html:_o(bd(b.body||"",b.title))}}),(0,r.jsxs)("div",{className:"mc-news-reader-actions",children:[(0,r.jsx)("button",{type:"button",className:"mc-btn",onClick:()=>we(b),children:e("newsEdit")}),(0,r.jsx)("button",{type:"button",className:"mc-btn",onClick:()=>ve(b.id,!b.read),children:b.read?e("newsMarkUnread"):e("newsMarkRead")}),(0,r.jsx)("button",{type:"button",className:"mc-btn",style:{color:"#f87171"},disabled:U==="delete",onClick:()=>me(b),children:e("delete")})]})]})]}),j&&(0,r.jsx)("div",{className:"me-overlay",onClick:()=>D(null),children:(0,r.jsxs)("div",{className:"me-dialog",style:{maxWidth:860,width:"94vw",maxHeight:"90vh"},onClick:k=>k.stopPropagation(),children:[(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,padding:"14px 18px",borderBottom:"1px solid var(--dsw-alias-border-l1, #e5e7eb)"},children:[(0,r.jsx)("b",{children:j.id?e("newsEdit"):e("newsNew")}),(0,r.jsx)("div",{style:{flex:1}}),(0,r.jsx)("button",{type:"button",className:"mc-btn",onClick:()=>D(null),children:e("close")})]}),(0,r.jsxs)("div",{style:{padding:16,overflow:"auto",maxHeight:"calc(90vh - 60px)"},children:[(0,r.jsxs)("div",{className:"mc-news-form",children:[(0,r.jsxs)("label",{className:"full",children:[(0,r.jsx)("span",{children:e("newsTitleField")}),(0,r.jsx)("input",{className:"mc-news-input",value:j.title,onChange:k=>D(G=>({...G,title:k.target.value})),placeholder:e("newsTitlePlaceholder")})]}),(0,r.jsxs)("label",{children:[(0,r.jsx)("span",{children:e("newsDateField")}),(0,r.jsx)("input",{className:"mc-news-input",type:"date",value:j.date||"",onChange:k=>D(G=>({...G,date:k.target.value}))})]}),(0,r.jsxs)("label",{children:[(0,r.jsx)("span",{children:e("newsCategoryField")}),(0,r.jsx)("input",{className:"mc-news-input",list:"me-news-categories",value:j.category||"",onChange:k=>D(G=>({...G,category:k.target.value}))})]}),(0,r.jsx)("datalist",{id:"me-news-categories",children:i.map(k=>(0,r.jsx)("option",{value:k},k))}),(0,r.jsxs)("label",{children:[(0,r.jsx)("span",{children:e("newsSourceField")}),(0,r.jsx)("input",{className:"mc-news-input",value:j.source||"",onChange:k=>D(G=>({...G,source:k.target.value}))})]}),(0,r.jsxs)("label",{children:[(0,r.jsx)("span",{children:e("newsUrlField")}),(0,r.jsx)("input",{className:"mc-news-input",value:j.url||"",onChange:k=>D(G=>({...G,url:k.target.value})),placeholder:"https://\u2026"})]}),(0,r.jsxs)("label",{children:[(0,r.jsx)("span",{children:e("newsTagsField")}),(0,r.jsx)("input",{className:"mc-news-input",value:j.tags||"",onChange:k=>D(G=>({...G,tags:k.target.value}))})]}),(0,r.jsxs)("label",{style:{flexDirection:"row",alignItems:"center",gap:8,paddingTop:18},children:[(0,r.jsx)("input",{type:"checkbox",checked:!!j.pinned,onChange:k=>D(G=>({...G,pinned:k.target.checked}))}),(0,r.jsx)("span",{children:e("newsPinField")})]}),(0,r.jsxs)("label",{className:"full",children:[(0,r.jsx)("span",{children:e("newsBodyField")}),(0,r.jsx)("textarea",{className:"mc-news-textarea",value:j.body||"",onChange:k=>D(G=>({...G,body:k.target.value})),placeholder:e("newsBodyPlaceholder")})]}),L&&(0,r.jsx)("div",{className:"full mc-news-preview",children:(0,r.jsx)("div",{className:"md-doc",dangerouslySetInnerHTML:{__html:_o(j.body||"")}})})]}),(0,r.jsxs)("div",{style:{display:"flex",gap:8,justifyContent:"flex-end",marginTop:14},children:[(0,r.jsx)("button",{type:"button",className:"mc-btn",onClick:()=>_(k=>!k),children:e(L?"newsEditBody":"newsPreview")}),(0,r.jsx)("button",{type:"button",className:"mc-btn",onClick:()=>D(null),children:e("cancel")}),(0,r.jsx)("button",{type:"button",className:"mc-btn me-on",disabled:U==="save",onClick:qe,children:e(U==="save"?"newsSaving":"newsSave")})]})]})]})})]})}function T0({t:e,onReload:t,version:n}){let[a,o]=(0,u.useState)([]),[i,l]=(0,u.useState)(""),[s,c]=(0,u.useState)(null),p=(y,S=!0)=>{c({msg:y,ok:S}),setTimeout(()=>c(null),3200)},f=(0,u.useCallback)(async()=>{try{let y=await fetch(`${J}/recycle/list`).then(S=>S.json());y.ok&&o(y.items||[])}catch{}},[]);(0,u.useEffect)(()=>{f()},[n,f]);let g=async(y,S)=>{let R=(a.find(M=>M.path===S)||{}).title||S;l(y+S);try{let O=await fetch(J+(y==="restore"?"/recycle/restore":"/recycle/purge")+"?path="+encodeURIComponent(S)),h=await O.json().catch(()=>null);await f(),t&&t(),O.ok&&(!h||h.ok!==!1)?p(e(y==="restore"?"toastRestored":"toastPurged")+"\uFF1A"+R):p(e("toastFailed")+"\uFF1A"+(h&&h.error||"HTTP "+O.status),!1)}catch(M){p(e("toastFailed")+"\uFF1A"+String(M&&M.message||M),!1)}finally{l("")}};return(0,r.jsxs)("div",{className:"mc-admin",style:{display:"flex",flexDirection:"column",overflow:"auto",flex:1,minHeight:0},children:[(0,r.jsx)("style",{children:kn}),(0,r.jsxs)("div",{style:{overflow:"auto",padding:4},children:[(0,r.jsx)(Nl,{toast:s}),(0,r.jsxs)("div",{className:"mc-v5-pagehead",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("div",{className:"mc-v5-eyebrow",children:"RECYCLE CENTER"}),(0,r.jsx)("h1",{children:e("tabRecycle")}),(0,r.jsx)("p",{children:e("recyclePageSub")})]}),(0,r.jsx)("span",{className:"mc-v5-pagecount",children:a.length}),(0,r.jsxs)("button",{type:"button",className:"mc-btn mc-danger",disabled:!!i||a.length===0,title:a.length?e("recyclePurgeAllConfirm").split("{n}").join(String(a.length)):e("emptyRecycle"),onClick:async()=>{if(a.length&&window.confirm(e("recyclePurgeAllConfirm").split("{n}").join(String(a.length)))){l("purgeAll");try{let y=await fetch(J+"/recycle/purge-all",{method:"POST"}),S=await y.json().catch(()=>null);await f(),t&&t(),y.ok&&(!S||S.ok!==!1)?p(e("toastPurgeAll").split("{n}").join(String(S&&S.purged!=null?S.purged:a.length)),!0):p(e("toastFailed")+"\uFF1A"+(S&&S.error||"HTTP "+y.status),!1)}catch(y){p(e("toastFailed")+"\uFF1A"+String(y&&y.message||y),!1)}finally{l("")}}},children:["\u{1F5D1} ",e("recyclePurgeAll"),a.length?"\uFF08"+a.length+"\uFF09":""]})]}),(0,r.jsx)("div",{className:"mc-v5-recycle-hint",children:e("recycleHint")}),a.length?(0,r.jsx)("div",{className:"mc-card mc-v5-recycle",children:a.map(y=>{let S=Kt[y.kind]||"#6B7280";return(0,r.jsxs)("div",{className:"mc-v5-recycle-row",children:[(0,r.jsx)("span",{className:"mc-v5-recycle-tile",style:{color:S,background:S+"18",borderColor:S+"38"},children:Ir[y.kind]||"\u{1F4CE}"}),(0,r.jsxs)("div",{className:"mc-v5-recycle-copy",children:[(0,r.jsx)("b",{children:y.title}),(0,r.jsxs)("span",{children:[e(Tt[y.kind]||"kindKnowledge")," \xB7 ",y.status==="rejected"?e("rejected"):e("bucketDeleted")," \xB7 ",hl(y.deletedAt||y.updated)||"-"]})]}),(0,r.jsxs)("div",{className:"mc-v5-recycle-actions",children:[(0,r.jsx)("button",{type:"button",className:"mc-btn",disabled:!!i,title:y.status==="rejected"?e("restoreToQueue"):e("restore"),onClick:()=>g("restore",y.path),children:y.status==="rejected"?e("restoreToQueue"):e("restore")}),(0,r.jsx)("button",{type:"button",className:"mc-btn mc-danger",disabled:!!i,onClick:()=>{window.confirm(e("purgeConfirm"))&&g("purge",y.path)},children:e("purge")})]})]},y.path)})}):(0,r.jsxs)("div",{className:"mc-card mc-v5-empty-state",children:["\u{1F5D1}\uFE0F ",(0,r.jsx)("b",{children:e("emptyRecycle")}),(0,r.jsx)("span",{children:e("recycleEmptyHint").split("{days}").join("30")})]})]})]})}var bd=(e,t)=>{let n=String(e||"").split(/\r?\n/),a=i=>String(i||"").replace(/[#*_`]/g,"").replace(/[\s::\-–—·]/g,"").trim(),o=a(t);for(;;){let i=0;for(;i<n.length&&!n[i].trim();)i++;let l=/^#{1,2}\s+(.+?)\s*$/.exec(n[i]||"");if(!l||a(l[1])!==o)break;for(n.splice(i,1);i<n.length&&!n[i].trim();)n.splice(i,1)}return n.join(`
1245
+ `)},M0=e=>{let t=[],n=!1,a=0;for(let o of String(e||"").split(/\r?\n/)){let i=o.trim();if(/^```/.test(i)){n=!n;continue}if(n)continue;let l=/^(#{1,6})\s+(.+)$/.exec(i);if(!l)continue;a++;let s=l[1].length;s<=3&&t.push({id:"md-h-"+a,level:s,text:l[2].replace(/[#*_`>\[\]()]/g,"").replace(/\s+/g," ").trim()})}return t},xd=e=>{let t=String(e.summary||"").replace(/[#>*_`]/g," ").replace(/\s+/g," ").trim();return t.length>150?t.slice(0,148)+"\u2026":t},Zf=e=>{let t=String(e.summary||"").toLowerCase();return/决策|结论|决定|decision/.test(t)?"insightDecision":/根因|原因|root cause/.test(t)?"insightRoot":/教训|避免|lesson/.test(t)?"insightLesson":"insightSummary"},eg=({n:e=0,color:t="#ff9a72",size:n=30})=>{let a=Math.max(2,Math.min(6,Number(e)||2)),o=Array.from({length:a},(i,l)=>{let s=-Math.PI/2+l*Math.PI*2/a,c=l%2?13:16;return[20+Math.cos(s)*c,20+Math.sin(s)*c]});return(0,r.jsxs)("svg",{className:"mc-v5-mini",width:n,height:n,viewBox:"0 0 40 40","aria-hidden":"true",children:[o.map(([i,l],s)=>(0,r.jsx)("line",{x1:"20",y1:"20",x2:i,y2:l,stroke:t,strokeOpacity:".35"},"l"+s)),o.map(([i,l],s)=>(0,r.jsx)("circle",{cx:i,cy:l,r:s%2?2.2:1.8,fill:t,fillOpacity:s%2?.8:.55},"c"+s)),(0,r.jsx)("circle",{cx:"20",cy:"20",r:"2.6",fill:t})]})},E0=({card:e,t,onOpen:n,query:a,onDelete:o,onTagClick:i,pinned:l,onPin:s,onCore:c,links:p})=>{let f=Kt[e.kind]||Kt.other,g=Number(p??e.links??e.weight??0),y=ld(e);return(0,r.jsxs)("article",{className:`mc-cardrow mc-card mc-v5-card${l?" pinned":""}${e.kind==="core"?" core":""}`,onClick:()=>n(e),children:[(0,r.jsxs)("div",{className:"mc-v5-card-top",children:[(0,r.jsx)("span",{className:"mc-v5-card-tile",style:{color:f,background:f+"18",borderColor:f+"38"},children:Ir[e.kind]||"\u{1F4CE}"}),(0,r.jsx)("span",{className:"mc-v5-card-kind-name",children:e.kind==="core"?"\u2B50 "+t("kindCore"):t(Tt[e.kind]||"kindKnowledge")}),e.kind==="core"&&(0,r.jsxs)("span",{className:"mc-v5-core-badge",children:["\u2B50 ",t("kindCore")]}),e.status==="pending"&&(0,r.jsxs)("span",{className:"mc-v5-card-status pending",children:["\u23F3 ",t("statusPending")]}),e.status==="rejected"&&(0,r.jsxs)("span",{className:"mc-v5-card-status rejected",children:["\u26D4 ",t("statusRejected")]}),j0(e.updated)&&(0,r.jsx)("span",{className:"mc-new",children:t("newBadge")}),(0,r.jsx)("span",{className:"spacer",style:{flex:1}}),(0,r.jsx)("span",{className:"mc-v5-card-time",children:lr(e.updated)}),c&&e.status!=="pending"&&e.status!=="rejected"&&(0,r.jsx)("button",{type:"button",className:`mc-v5-core${e.kind==="core"?" on":""}`,title:t(e.kind==="core"?"unsetCore":"setCore"),onClick:S=>{S.stopPropagation(),c(e.path,e.kind==="core"?"knowledge":"core")},children:e.kind==="core"?"\u2B50 "+t("coreShort"):"\u2606 "+t("setCoreShort")}),s&&(0,r.jsx)("button",{type:"button",className:`mc-v5-pin${l?" on":""}`,title:t(l?"unpinCard":"pinCard"),"aria-label":t(l?"unpinCard":"pinCard"),onClick:S=>{S.stopPropagation(),s(e.path)},children:"\u{1F4CC}"})]}),(0,r.jsx)("h4",{className:"mc-v5-card-title",children:a?dd(e.title,a):e.title}),(0,r.jsxs)("div",{className:"mc-v5-card-insight",children:[(0,r.jsx)("span",{className:"mc-v5-insight-k",children:t(Zf(e))}),(0,r.jsx)("span",{className:"mc-v5-card-lead",children:a?dd(e.summary||"",a):xd(e)})]}),a&&(()=>{let S=ff(e.body||"",a);return S?(0,r.jsx)("p",{className:"mc-snippet",children:dd(S,a)}):null})(),ld(e).length>0&&(0,r.jsxs)("div",{className:"mc-tags mc-v5-card-tags",children:[ld(e).slice(0,2).map(S=>(0,r.jsxs)("button",{type:"button",className:"mc-tag mc-tag-click",title:S,onClick:R=>{R.stopPropagation(),i&&i(S)},children:["#",S]},S)),y.length>2&&(0,r.jsxs)("span",{className:"mc-tag more",children:["+",y.length-2]})]}),(0,r.jsxs)("footer",{className:"mc-v5-card-foot",children:[g>0&&(0,r.jsxs)("span",{className:"mc-v5-conn",children:[(0,r.jsx)(eg,{n:g,color:f})," ",(0,r.jsx)("b",{children:g})," ",t("links")]}),(0,r.jsxs)("span",{className:"mc-v5-author",children:["\u{1F916} ",Fr(e.submittedBy)]}),(0,r.jsx)("span",{className:"spacer",style:{flex:1}}),(0,r.jsx)("button",{type:"button",className:"mc-card-del",title:t("delete"),onClick:S=>{S.stopPropagation(),window.confirm(t("deleteConfirm"))&&o&&o(e.path)},children:"\u{1F5D1}"})]})]})};function z0({t:e,tab:t,onReload:n,version:a}){let[o,i]=(0,u.useState)(null),[l,s]=(0,u.useState)(""),[c,p]=(0,u.useState)(null),[f,g]=(0,u.useState)(null),[y,S]=(0,u.useState)(null),[R,M]=(0,u.useState)(null),[O,h]=(0,u.useState)(null),[m,b]=(0,u.useState)(null),P=(0,u.useCallback)(async()=>{U("align");try{let w=await fetch(J+"/align").then(q=>q.json());w&&w.findings?b(w):notify(e("alignFail"),!1)}catch{notify(e("alignFail"),!1)}finally{U("")}},[e]),j=async()=>{if(window.confirm(e("alignFixConfirm"))){U("alignfix");try{let w=await fetch(J+"/setup-run",{method:"POST",headers:{"Content-Type":"application/json"},body:"{}"}).then(q=>q.json());w&&w.ok?(notify(e("alignFixed")),await P()):notify(e("alignFail"),!1)}catch{notify(e("alignFail"),!1)}finally{U("")}}},[D,L]=(0,u.useState)([]),[_,U]=(0,u.useState)(""),[$,ce]=(0,u.useState)(!1),ge=(0,u.useCallback)(async()=>{if(!(!c||!c.merge||!c.merge.length)&&window.confirm(e("mergeAllConfirm"))){U("merge");try{let w={},q=ue=>w[ue]===void 0?ue:w[ue]=q(w[ue]),W=(ue,A)=>{w[q(ue)]=q(A)},de=new Set;for(let ue of c.merge)de.add(ue.a.path),de.add(ue.b.path),W(ue.a.path,ue.b.path);let Re={};for(let ue of de){let A=q(ue);(Re[A]=Re[A]||[]).push(ue)}let Ce=0;for(let ue of Object.values(Re)){if(ue.length<2)continue;(await fetch(`${J}/merge?paths=${encodeURIComponent(ue.join(","))}`).then(pe=>pe.json())).ok&&Ce++}await fe(),n&&n()}catch{}U("")}},[c,fe,n,e]);async function fe(){try{let w=await Promise.all([fetch(`${J}/stats`),fetch(`${J}/budget`),fetch(`${J}/capture-log`),fetch(`${J}/cards?status=all&limit=30&agent=${Wo}`),fetch(`${J}/overview`),fetch(`${J}/ledger?days=7`)]),[q,W,de,Re,Ce,ue]=await Promise.all(w.map(A=>A.json()));q&&q.ok&&i(q),W&&W.ok&&g(W),de&&de.ok&&S(de),Re&&Re.ok&&L(Re.cards||[]),Ce&&Ce.ok&&M({db:Ce.db,backups:Ce.backups,total:Ce.total,version:Ce.version,degraded:Ce.degraded===!0}),h(ue&&ue.ok?ue:{ok:!1,error:ue&&ue.error||""}),s(!q||!q.ok?e("adminLoadFail"):"")}catch{s(e("adminLoadFail"))}}let Pe=(0,u.useCallback)(async()=>{U("scan");try{let w=await fetch(`${J}/optimize`).then(q=>q.json());w.ok&&p(w)}catch{s(e("adminLoadFail"))}finally{U("")}},[e]),[V,ve]=(0,u.useState)(null),we=(0,u.useCallback)(async()=>{U("refine");try{let w=await fetch(`${J}/refine-scan`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({limit:8})}).then(q=>q.json());w&&w.ok?ve(w):notify(w&&w.error||e("refineFail"),!1)}catch{notify(e("refineFail"),!1)}finally{U("")}},[e]),qe=async(w,q)=>{if(!(q==="merge"&&!window.confirm(e("mergeConfirm")))){U("refineapply");try{let W=await fetch(`${J}/refine-apply`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({a:w.a.path,b:w.b.path,action:q,relation:w.relation})}).then(de=>de.json());W&&W.ok?(notify(e("refineApplied")),ve(de=>de&&{...de,findings:(de.findings||[]).filter(Re=>!(Re.a.path===w.a.path&&Re.b.path===w.b.path))}),await fe(),n&&n()):notify(W&&W.error||e("refineFail"),!1)}catch{notify(e("refineFail"),!1)}finally{U("")}}},[me,ne]=(0,u.useState)(null),Ge=(0,u.useCallback)(async()=>{U("junk");try{let w=await fetch(`${J}/refine-junk`).then(q=>q.json());w&&w.ok?ne(w.items||[]):notify(e("junkFail"),!1)}catch{notify(e("junkFail"),!1)}finally{U("")}},[e]),Ie=async w=>{if(w.length&&window.confirm(e("junkRecycleAllConfirm"))){U("junkpurge");try{let q=await fetch(`${J}/refine-junk-purge`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({paths:w})}).then(W=>W.json());q&&q.removed?(notify(e("junkDone")+"\uFF1A"+q.removed.length+(q.failed?.length?"\uFF08\u5931\u8D25 "+q.failed.length+"\uFF09":"")),ne(W=>W&&W.filter(de=>!q.removed.includes(de.path))),await fe(),n&&n()):notify(e("junkFail"),!1)}catch{notify(e("junkFail"),!1)}finally{U("")}}},[re,k]=(0,u.useState)(null),G=(0,u.useCallback)(async()=>{U("goals");try{let w=await fetch(J+"/refine-goals",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({limit:30})}).then(q=>q.json());w&&w.ok?k(w):notify(w&&w.error||e("goalFail"),!1)}catch{notify(e("goalFail"),!1)}finally{U("")}},[e]),z=async w=>{U("goalskeep");try{let q=await fetch(J+"/refine-goals-keep",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({paths:w.members.map(W=>W.path)})}).then(W=>W.json());q&&q.ok?(notify(e("goalDone")),k(W=>W&&{...W,clusters:(W.clusters||[]).filter(de=>de.goal!==w.goal)})):notify(e("goalFail"),!1)}catch{notify(e("goalFail"),!1)}finally{U("")}},Y=async w=>{if(window.confirm(e("mergeConfirm"))){U("goalsmerge");try{let q=await fetch(J+"/merge?paths="+encodeURIComponent(w.members.map(W=>W.path).join(","))).then(W=>W.json());q&&q.ok?(notify(e("goalMerged")),k(W=>W&&{...W,clusters:(W.clusters||[]).filter(de=>de.goal!==w.goal)}),await fe(),n&&n()):notify(e("mergeFail"),!1)}catch{notify(e("mergeFail"),!1)}finally{U("")}}};(0,u.useEffect)(()=>{fe()},[a]);let he=async(w,q)=>{if(window.confirm(e("mergeConfirm")))try{(await fetch(`${J}/merge?paths=${encodeURIComponent(w+","+q)}`).then(de=>de.json())).ok&&(await fe(),n&&n())}catch{}},Le=async w=>{if(window.confirm(e("deleteConfirm")))try{(await fetch(`${J}/delete?path=${encodeURIComponent(w)}`).then(W=>W.json())).ok&&(await fe(),n&&n())}catch{}},ie=qf,ee=({title:w,kind:q,updated:W,path:de})=>(0,r.jsxs)("li",{style:{display:"flex",alignItems:"center",gap:8,padding:"3px 4px",borderBottom:"1px solid rgba(127,127,127,0.12)"},children:[(0,r.jsx)("span",{className:"mc-kind",style:{background:wn.colors[q]||"#666"}}),(0,r.jsx)("span",{style:{flex:1,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:w}),(0,r.jsx)("span",{style:{opacity:.55,fontSize:11},children:lr(W)}),(0,r.jsxs)("button",{type:"button",className:"mc-btn",style:{padding:"2px 8px"},onClick:()=>Le(de),children:[e("delete")," \u2715"]})]});return(0,r.jsxs)("div",{className:"mc-admin",style:{display:"flex",flexDirection:"column",overflow:"auto",flex:1,minHeight:0},children:[(0,r.jsx)("style",{children:kn}),(0,r.jsxs)("div",{style:{overflow:"auto"},children:[l&&(0,r.jsxs)("div",{className:"mc-card",style:{borderLeft:"4px solid #ef4444",background:"rgba(239,68,68,0.08)",padding:"12px 14px",marginBottom:10},children:[(0,r.jsxs)("div",{style:{fontSize:13,color:"#b91c1c",fontWeight:600,marginBottom:6},children:["\u26A0 ",l]}),(0,r.jsxs)("button",{type:"button",className:"mc-btn",onClick:fe,children:["\u21BB ",e("retry")]})]}),t==="stats"&&(0,r.jsxs)("div",{children:[(0,r.jsxs)("div",{className:"mc-v5-pagehead",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("div",{className:"mc-v5-eyebrow",children:"SYSTEM STATUS"}),(0,r.jsx)("h1",{children:e("runtimeTitle")}),(0,r.jsx)("p",{children:e("runtimeSub")})]}),(0,r.jsx)("span",{className:"mc-v5-pagecount",children:R?`${R.total||0} ${e("cardsUnit")}`:""}),(0,r.jsxs)("button",{type:"button",className:"mc-btn",onClick:()=>fe(),children:["\u21BB ",e("refresh")]})]}),(0,r.jsxs)("div",{className:"mc-v5-statusgrid",children:[(0,r.jsxs)("div",{className:"mc-v5-statuscard",children:[(0,r.jsx)("span",{className:"mc-v5-status-ico",children:"\u{1F5C4}\uFE0F"}),(0,r.jsx)("b",{children:R?R.total||0:"\u2014"}),(0,r.jsx)("span",{children:e("dbTitle")}),(0,r.jsx)("small",{children:R?.db?.journalMode||R?.db?.journal_mode||"SQLite"})]}),(0,r.jsxs)("div",{className:"mc-v5-statuscard",children:[(0,r.jsx)("span",{className:"mc-v5-status-ico",children:"\u{1F4BE}"}),(0,r.jsx)("b",{children:R?.backups?.count??"\u2014"}),(0,r.jsx)("span",{children:e("backupTitle")}),(0,r.jsx)("small",{children:R?.backups?.newestAt?`${Math.max(0,Math.floor((Date.now()-Number(R.backups.newestAt))/864e5))} \u5929\u524D`:"\u2014"})]}),(0,r.jsxs)("div",{className:"mc-v5-statuscard",children:[(0,r.jsx)("span",{className:"mc-v5-status-ico",children:"\u2728"}),(0,r.jsx)("b",{children:y?.available?y.health?.ok?"\u6B63\u5E38":"\u5F02\u5E38":"\u2014"}),(0,r.jsx)("span",{children:e("captureTitle")}),(0,r.jsx)("small",{children:y?.health?.lastAt?lr(new Date(y.health.lastAt).toISOString()):"\u2014"})]}),(0,r.jsxs)("div",{className:"mc-v5-statuscard",children:[(0,r.jsx)("span",{className:"mc-v5-status-ico",children:"\u{1F3F7}\uFE0F"}),(0,r.jsx)("b",{children:R?.version||"\u2014"}),(0,r.jsx)("span",{children:e("versionTitle")}),(0,r.jsx)("small",{children:e("v5Local")})]})]}),(0,r.jsxs)("div",{className:"mc-card",style:{marginBottom:10},children:[(0,r.jsxs)("div",{style:{display:"flex",gap:10,alignItems:"center",flexWrap:"wrap"},children:[(0,r.jsxs)("b",{style:{fontSize:12},children:["\u{1FA7A} ",e("healthTitle")]}),(0,r.jsx)("span",{style:{fontSize:11,opacity:.6},children:e("healthHint")}),(0,r.jsx)("div",{style:{flex:1}}),(0,r.jsxs)("button",{type:"button",className:"mc-btn",onClick:()=>fe(),children:["\u21BB ",e("refresh")]})]}),R?(()=>{let w=R.db||{},q=w.writable!==!1&&!w.corrupt,W=R.backups||{count:0,newestAt:0},de=W.newestAt?Math.floor((Date.now()-Number(W.newestAt))/864e5):-1,Re=W.count?de>7?"warn":"ok":"bad",Ce=y&&y.available?y.health:null,ue=Ce?Ce.ok?"ok":"warn":"none",A=m&&m.findings?m.onDisk&&m.residentServed===m.onDisk&&m.hostVersion===m.onDisk?"ok":"warn":"none",pe={ok:["\u2705","#10b981"],warn:["\u26A0","#f59e0b"],bad:["\u2717","#ef4444"],none:["\u2022","inherit"]},ae=[{label:e("healthDb"),level:q?"ok":"bad",text:q?"journal="+(w.journalMode||"?")+(w.checkedAt?" \xB7 "+new Date(w.checkedAt).toLocaleString():""):(w.error||e("healthDbBad"))+" \u2192 dsh-memory doctor"},{label:e("healthBackups"),level:Re,text:W.count?(de<=0?e("healthBackupToday").replace("{n}",String(W.count)):e("healthBackupAge").replace("{n}",String(W.count)).replace("{d}",String(de)))+(W.files&&W.files.length?" \xB7 "+W.files[W.files.length-1]:""):e("healthNoBackups")},{label:e("healthCapture"),level:ue,text:Ce?Ce.ok?e("healthCapOk"):e("healthCapFail")+"\uFF1A"+(Ce.reason||""):e("healthNoRecords")},{label:e("healthVersion"),level:A,text:A==="none"?e("healthRunAlign"):e("vcOnDisk")+" v"+(m.onDisk||"?")+" \xB7 "+e("vcResident")+" v"+(m.residentServed||"?")+" \xB7 "+e("vcLoaded")+" v"+(m.hostVersion||"?"),action:A==="none"?{label:e("alignRun"),run:P}:null}];return(0,r.jsx)("div",{style:{marginTop:6},children:ae.map(Ne=>(0,r.jsxs)("div",{className:"me-health-row",style:{display:"flex",gap:8,alignItems:"baseline",fontSize:12,padding:"3px 0",borderTop:"1px solid rgba(127,127,127,0.10)"},children:[(0,r.jsx)("span",{style:{width:14,flex:"0 0 auto",color:pe[Ne.level][1]},children:pe[Ne.level][0]}),(0,r.jsx)("b",{style:{minWidth:62,flex:"0 0 auto",opacity:.85},children:Ne.label}),(0,r.jsx)("span",{style:{opacity:.82,wordBreak:"break-word"},children:Ne.text}),Ne.action&&(0,r.jsx)("button",{type:"button",className:"mc-btn",style:{marginLeft:6,padding:"0 6px",fontSize:11},disabled:!!_,onClick:Ne.action.run,children:Ne.action.label})]},Ne.label))})})():(0,r.jsx)("div",{style:{opacity:.6,fontSize:12,padding:"8px 0"},children:e("loading")})]}),(0,r.jsxs)("div",{className:"mc-card",style:{marginBottom:10},children:[(0,r.jsxs)("div",{style:{display:"flex",gap:10,alignItems:"center",flexWrap:"wrap"},children:[(0,r.jsxs)("b",{style:{fontSize:12},children:["\u{1F9FE} ",e("ledgerTitle")]}),(0,r.jsx)("span",{style:{fontSize:11,opacity:.6},children:e("ledgerHint")}),(0,r.jsx)("div",{style:{flex:1}}),(0,r.jsxs)("button",{type:"button",className:"mc-btn",onClick:()=>fe(),children:["\u21BB ",e("refresh")]})]}),O?O.ok===!1?(0,r.jsxs)("div",{style:{color:"#f59e0b",fontSize:12,padding:"8px 0",lineHeight:1.7},children:["\u26A0 ",/未知接口|404|not found/i.test(String(O.error||""))?e("ledgerNeedRestart"):O.error||e("adminLoadFail")]}):O.totals.recalls+O.totals.captures===0?(0,r.jsx)("div",{style:{opacity:.6,fontSize:12,padding:"8px 0"},children:e("ledgerNoData")}):(0,r.jsxs)("div",{style:{marginTop:8},children:[(0,r.jsx)("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(160px, 1fr))",gap:8},children:[{k:e("ledgerRecalls"),v:String(O.totals.recalls),s:e("ledgerInjected")+" "+Number(O.totals.injectedChars||0).toLocaleString()+" "+e("ledgerChars")},{k:e("ledgerCaptures"),v:String(O.totals.captures),s:e("ledgerLlmCalls")+" "+O.totals.llmCalls+(O.totals.captureFail?" \xB7 \u2717 "+O.totals.captureFail:"")},{k:e("ledgerEstimate"),v:"\u2248 "+Number(O.totals.estTokens||0).toLocaleString(),s:e("ledgerEstimateHint")},{k:e("ledgerUseful"),v:O.feedback.rate==null?"\u2014":Math.round(O.feedback.rate*100)+"%",s:e("ledgerUsefulHint")}].map(w=>(0,r.jsxs)("div",{style:{border:"1px solid rgba(127,127,127,.16)",borderRadius:10,padding:"8px 10px"},children:[(0,r.jsx)("div",{style:{fontSize:11,opacity:.6},children:w.k}),(0,r.jsx)("div",{style:{fontSize:18,fontWeight:700,lineHeight:1.35},children:w.v}),(0,r.jsx)("div",{style:{fontSize:10.5,opacity:.55,lineHeight:1.5},children:w.s})]},w.k))}),(0,r.jsx)("div",{style:{fontSize:11,opacity:.55,marginTop:8,lineHeight:1.7},children:e("ledgerFormula")})]}):(0,r.jsx)("div",{style:{opacity:.6,fontSize:12,padding:"8px 0"},children:e("loading")})]}),(0,r.jsxs)("div",{className:"mc-card",style:{marginBottom:10},children:[(0,r.jsxs)("div",{style:{display:"flex",gap:10,alignItems:"center",flexWrap:"wrap"},children:[(0,r.jsxs)("b",{style:{fontSize:12},children:["\u{1F527} ",e("alignTitle")]}),(0,r.jsx)("button",{type:"button",className:"mc-btn",disabled:!!_,onClick:P,children:e(_==="align"?"exporting":"alignRun")}),m&&m.counts&&m.counts.fix>0&&(0,r.jsx)("button",{type:"button",className:"mc-btn me-on",disabled:!!_,onClick:j,children:e(_==="alignfix"?"exporting":"alignFix")}),(0,r.jsx)("span",{style:{fontSize:11,opacity:.6},children:e("alignHint")})]}),m&&m.findings?(0,r.jsxs)("div",{style:{marginTop:6},children:[(0,r.jsxs)("div",{style:{fontSize:12,opacity:.75,marginBottom:4},children:[e("alignDisk")," v",m.onDisk||"?",m.residentServed?" \xB7 "+e("alignResident")+" v"+m.residentServed:"",m.hostVersion?" \xB7 "+e("alignHost")+" v"+m.hostVersion:""]}),(0,r.jsx)("ul",{style:{margin:0,padding:0,listStyle:"none"},children:m.findings.map((w,q)=>(0,r.jsxs)("li",{style:{padding:"4px 2px",borderTop:q?"1px solid rgba(127,127,127,0.12)":"none",fontSize:12},children:[(0,r.jsx)("span",{style:{fontWeight:700,color:w.level==="fix"?"#ef4444":w.level==="warn"?"#f59e0b":"#10b981"},children:w.level==="fix"?"\u2717":w.level==="warn"?"\u26A0":"\u2713"})," ",(0,r.jsx)("span",{children:w.title}),w.detail?(0,r.jsx)("div",{style:{opacity:.75,marginLeft:14},children:w.detail}):null,w.command?(0,r.jsxs)("div",{style:{marginLeft:14,opacity:.9},children:["\u2192 ",(0,r.jsx)("code",{children:w.command})]}):null]},q))})]}):(0,r.jsx)("div",{style:{opacity:.6,fontSize:12,marginTop:4},children:e("alignIdle")})]}),(0,r.jsxs)("div",{className:"mc-card",style:{marginBottom:10},children:[(0,r.jsxs)("div",{style:{display:"flex",gap:10,alignItems:"center",flexWrap:"wrap"},children:[(0,r.jsxs)("b",{style:{fontSize:12},children:["\u{1FAB5} ",e("captureLog")]}),(0,r.jsx)("span",{style:{fontSize:11,opacity:.6},children:e("captureLogHint")}),(0,r.jsx)("div",{style:{flex:1}}),(0,r.jsxs)("button",{type:"button",className:"mc-btn",onClick:()=>fe(),children:["\u21BB ",e("refresh")]})]}),y?y.available===!1?(0,r.jsx)("div",{style:{opacity:.6,fontSize:12,padding:"8px 0"},children:e("captureLogUnavailable")}):(y.entries||[]).length===0?(0,r.jsx)("div",{style:{opacity:.6,fontSize:12,padding:"8px 0"},children:e("captureLogEmpty")}):(0,r.jsx)("div",{style:{maxHeight:260,overflow:"auto",marginTop:8},children:(0,r.jsx)("table",{style:{width:"100%",borderCollapse:"collapse",fontSize:12},children:(0,r.jsx)("tbody",{children:(y.entries||[]).map((w,q)=>{let W=o0[w.action]||["\u2022","inherit"];return(0,r.jsxs)("tr",{style:{borderBottom:"1px solid rgba(127,127,127,0.12)"},children:[(0,r.jsx)("td",{style:{padding:"4px 6px",opacity:.55,whiteSpace:"nowrap",fontVariantNumeric:"tabular-nums"},children:lr(w.time?new Date(w.time).toISOString():"")}),(0,r.jsxs)("td",{style:{padding:"4px 6px",whiteSpace:"nowrap",color:W[1],fontWeight:600},children:[W[0]," ",w.action]}),(0,r.jsx)("td",{style:{padding:"4px 6px"},children:w.reason||""}),(0,r.jsx)("td",{style:{padding:"4px 6px",opacity:.55,maxWidth:220,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},title:w.preview||"",children:w.preview||""})]},q)})})})}):(0,r.jsx)("div",{style:{opacity:.6,fontSize:12,padding:"8px 0"},children:e("loading")})]}),(0,r.jsxs)("div",{className:"mc-card",style:{marginBottom:10},children:[(0,r.jsxs)("div",{style:{fontSize:12,fontWeight:700,marginBottom:6},children:["\u{1F916} ",e("captureAgentCards"),"\uFF08",D.length,"\uFF09"]}),D.length?(0,r.jsx)("ul",{style:{margin:0,padding:0,listStyle:"none"},children:D.map(w=>(0,r.jsxs)("li",{style:{display:"flex",alignItems:"center",gap:8,padding:"3px 4px",borderBottom:"1px solid rgba(127,127,127,0.12)",fontSize:12},children:[(0,r.jsx)("span",{className:"mc-kind",style:{background:Kt[w.kind]||Kt.other}}),(0,r.jsx)("span",{style:{flex:1,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:w.title}),w.status==="pending"&&(0,r.jsxs)("span",{className:"mc-status",style:{background:"#f59e0b"},children:["\u23F3 ",e("statusPending")]}),(0,r.jsx)("span",{style:{opacity:.55,fontSize:11},children:lr(w.updated)})]},w.path))}):(0,r.jsx)("div",{style:{opacity:.6,fontSize:12},children:e("noCards")})]}),o&&(0,r.jsxs)(r.Fragment,{children:[o.trend&&o.trend.length>0&&(()=>{let w=o.trend,q=Math.max(...w.map(Ce=>Ce.count),1),W=260,de=50,Re=W/w.length;return(0,r.jsxs)("div",{className:"mc-card",style:{marginBottom:10,padding:"10px 14px"},children:[(0,r.jsxs)("div",{style:{fontSize:11,opacity:.6,marginBottom:4},children:["\u{1F4C8} ",e("trendLabel")]}),(0,r.jsx)("svg",{width:W,height:de,style:{display:"block",width:"100%",height:50},children:w.map((Ce,ue)=>{let A=Math.round(Ce.count/q*(de-4));return(0,r.jsx)("rect",{x:ue*Re+1,y:de-A,width:Math.max(Re-2,2),height:A,rx:1.5,fill:Ce.count>0?"var(--dsw-alias-accent, #3b82f6)":"var(--dsw-alias-border-l1, #e5e7eb)",opacity:Ce.count>0?.85:.35},Ce.date)})})]})})(),(0,r.jsxs)("div",{className:"mc-stats",children:[(0,r.jsxs)("div",{className:"mc-stat mc-card",children:[(0,r.jsx)("b",{children:o.total}),(0,r.jsx)("span",{children:e("total")})]}),(0,r.jsxs)("div",{className:"mc-stat mc-card",children:[(0,r.jsx)("b",{children:o.today}),(0,r.jsx)("span",{children:e("todayAdd")})]}),(0,r.jsxs)("div",{className:"mc-stat mc-card",children:[(0,r.jsx)("b",{children:o.week}),(0,r.jsx)("span",{children:e("weekAdd")})]}),(0,r.jsxs)("div",{className:"mc-stat mc-card",children:[(0,r.jsx)("b",{children:o.tags}),(0,r.jsx)("span",{children:e("tags")})]})]}),(0,r.jsxs)("div",{className:"mc-card",style:{marginBottom:10},children:[(0,r.jsx)("div",{style:{fontSize:12,fontWeight:700,marginBottom:6},children:e("byKind")}),(0,r.jsx)("div",{style:{display:"flex",gap:10,flexWrap:"wrap"},children:ie.map(w=>(0,r.jsxs)("span",{style:{fontSize:12},children:[(0,r.jsx)("span",{className:"mc-kind",style:{background:wn.colors[w]||"#666"}}),e(Tt[w]),": ",o.byKind?.[w]||0]},w))})]}),f&&(f.budgetChars||f.recallLimit||f.embedding)&&(0,r.jsxs)("div",{className:"mc-card",style:{marginBottom:10,fontSize:12},children:[(0,r.jsx)("b",{children:e("budgetLabel")}),"\uFF1A",e("budgetChars")," ",(0,r.jsx)("b",{children:f.budgetChars||8e4})," \xB7 ",e("recallLimitLabel")," ",(0,r.jsx)("b",{children:f.recallLimit||5})," \xB7 ",e("embeddingLabel")," ",f.embedding?"ON":"OFF"]}),(0,r.jsxs)("div",{className:"mc-card",children:[(0,r.jsxs)("div",{style:{fontSize:12,fontWeight:700,marginBottom:6},children:[e("todayList"),"\uFF08",o.todayCards?.length||0,"\uFF09"]}),o.todayCards?.length?(0,r.jsx)("ul",{style:{margin:0,padding:0,listStyle:"none"},children:o.todayCards.map(w=>(0,r.jsx)(ee,{title:w.title,kind:w.kind,updated:w.updated,path:w.path},w.path))}):(0,r.jsx)("div",{style:{opacity:.6,fontSize:12},children:e("noOptimize")})]})]})]}),t==="optimize"&&(0,r.jsxs)("div",{children:[(0,r.jsxs)("div",{className:"mc-card mc-audit-batchcard",style:{marginBottom:10,display:"flex",gap:10,alignItems:"center",flexWrap:"wrap"},children:[(0,r.jsx)("b",{style:{fontSize:12},children:e("organizeTitle")}),(0,r.jsx)("div",{style:{flex:1}}),(0,r.jsx)("button",{type:"button",className:"mc-btn",disabled:!!_,onClick:Pe,children:_==="scan"?e("exporting"):"\u{1F50D} "+e("scanAndOrganize")}),c&&c.merge?.length>0&&(0,r.jsx)("button",{type:"button",className:"mc-btn me-on",disabled:!!_,onClick:async()=>{if(window.confirm(e("oneClickOptimizeConfirm"))){U("oneclick");try{let w=JSON.stringify({cleanupStale:$}),W=await(await fetch(`${J}/optimize-execute`,{method:"POST",headers:{"Content-Type":"application/json"},body:w})).json();W&&W.ok?(notify(`${e("oneClickOptimizeDone")}\uFF1A${W.plan.merged} ${e("optimizedMerged")}${$?` \xB7 ${W.plan.staleDeleted} ${e("optimizedStaleDeleted")}`:""}`),await fe(),n&&n(),p(null)):notify(e("mergeFail"),!1)}catch{notify(e("mergeFail"),!1)}finally{U("")}}},children:_==="oneclick"?e("exporting"):"\u26A1 "+e("oneClickOptimize")}),c&&c.merge?.length>0&&(0,r.jsxs)("label",{style:{fontSize:11,opacity:.7,display:"flex",alignItems:"center",gap:4},children:[(0,r.jsx)("input",{type:"checkbox",checked:$,onChange:w=>ce(w.target.checked)}),e("oneClickAlsoStale")]})]}),!c&&(0,r.jsx)("div",{style:{opacity:.6,fontSize:12,marginBottom:10},children:e("scanHint")}),c&&(0,r.jsx)(r.Fragment,{children:(0,r.jsxs)("div",{className:"mc-card",style:{marginBottom:10,display:"flex",flexDirection:"column",gap:8},children:[(0,r.jsxs)("div",{style:{display:"flex",gap:10,alignItems:"center"},children:[(0,r.jsx)("b",{style:{fontSize:12},children:e("mergePairs")}),(0,r.jsx)("div",{className:"spacer",style:{flex:1}}),c.merge?.length>0&&(0,r.jsx)("button",{type:"button",className:"mc-btn me-on",disabled:!!_,onClick:ge,children:e(_==="merge"?"exporting":"batchMerge")})]}),(0,r.jsx)("div",{style:{fontSize:12,fontWeight:700,marginBottom:6},children:e("mergePairs")}),c.merge?.length?(0,r.jsx)("ul",{style:{margin:"0 0 12px",padding:0,listStyle:"none"},children:c.merge.map((w,q)=>(0,r.jsxs)("li",{style:{display:"flex",alignItems:"center",gap:8,padding:"4px 4px",borderBottom:"1px solid rgba(127,127,127,0.12)",fontSize:12},children:[(0,r.jsxs)("span",{style:{flex:1,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:[w.a.title," \u21C4 ",w.b.title]}),(0,r.jsxs)("span",{style:{opacity:.6},children:[Math.round(w.sim*100),"%"]}),(0,r.jsx)("button",{type:"button",className:"mc-btn",style:{padding:"2px 8px"},onClick:()=>he(w.a.path,w.b.path),children:e("mergeNow")})]},q))}):(0,r.jsx)("div",{style:{opacity:.6,fontSize:12,marginBottom:12},children:e("noOptimize")}),(0,r.jsxs)("div",{style:{fontSize:12,fontWeight:700,marginBottom:6},children:[e("staleCards"),"\uFF08",c.stale?.length||0,"\uFF09"]}),c.stale?.length>0&&(0,r.jsx)("div",{style:{marginBottom:6},children:(0,r.jsx)("button",{type:"button",className:"mc-btn",style:{color:"#f87171"},disabled:!!_,onClick:async()=>{if(!window.confirm(e("deleteConfirm")))return;U("clean");let w=0;for(let q of c.stale)try{await fetch(`${J}/delete?path=${encodeURIComponent(q.path)}`),w++}catch{}U(""),notify(`${w} ${e("deletedStale")}`),await fe(),n&&n()},children:e("cleanStale")})}),c.stale?.length?(0,r.jsx)("ul",{style:{margin:0,padding:0,listStyle:"none"},children:c.stale.map(w=>(0,r.jsx)(ee,{title:w.title,kind:"other",updated:w.updated,path:w.path},w.path))}):(0,r.jsx)("div",{style:{opacity:.6,fontSize:12},children:e("noOptimize")})]})}),(0,r.jsxs)("div",{className:"mc-card",style:{marginBottom:10},children:[(0,r.jsxs)("div",{style:{display:"flex",gap:10,alignItems:"center",flexWrap:"wrap",marginBottom:6},children:[(0,r.jsxs)("b",{style:{fontSize:12},children:["\u{1F9ED} ",e("refineTitle")]}),(0,r.jsx)("button",{type:"button",className:"mc-btn",disabled:!!_,onClick:we,children:e(_==="refine"?"exporting":"refineScan")}),(0,r.jsx)("span",{style:{opacity:.6,fontSize:11},children:e("refineHint")})]}),V?.findings?.length?V.findings.map((w,q)=>(0,r.jsxs)("div",{style:{borderTop:q?"1px solid rgba(127,127,127,0.14)":"none",padding:"7px 2px"},children:[(0,r.jsxs)("div",{style:{fontSize:12,marginBottom:3},children:[(0,r.jsx)("span",{style:{fontWeight:700,color:w.relation==="conflict"?"#ef4444":w.relation==="duplicate"?"#f59e0b":"#10b981"},children:e("refineRel_"+w.relation)}),(0,r.jsxs)("span",{style:{opacity:.55},children:[" \xB7 sim ",w.sim," \xB7 ",w.useModel||""]}),w.conflict?(0,r.jsx)("span",{style:{marginLeft:6},children:w.conflict}):null]}),(0,r.jsxs)("div",{style:{fontSize:12,opacity:.85,marginBottom:5},children:["A\uFF1A",w.a.title,(0,r.jsx)("br",{}),"B\uFF1A",w.b.title]}),(0,r.jsxs)("div",{style:{display:"flex",gap:6,flexWrap:"wrap"},children:[(0,r.jsx)("button",{type:"button",className:"mc-btn",style:{padding:"2px 8px"},disabled:!!_,onClick:()=>qe(w,"keepA"),children:e("refineKeepA")}),(0,r.jsx)("button",{type:"button",className:"mc-btn",style:{padding:"2px 8px"},disabled:!!_,onClick:()=>qe(w,"keepB"),children:e("refineKeepB")}),(0,r.jsx)("button",{type:"button",className:"mc-btn",style:{padding:"2px 8px"},disabled:!!_,onClick:()=>qe(w,"keepBoth"),children:e("refineKeepBoth")}),(0,r.jsx)("button",{type:"button",className:"mc-btn",style:{padding:"2px 8px"},disabled:!!_,onClick:()=>qe(w,"merge"),children:e("refineMerge")})]})]},q)):(0,r.jsx)("div",{style:{opacity:.6,fontSize:12},children:e(V?"refineNone":"refineIdle")})]}),(0,r.jsxs)("div",{className:"mc-card",style:{marginBottom:10},children:[(0,r.jsxs)("div",{style:{display:"flex",gap:10,alignItems:"center",flexWrap:"wrap",marginBottom:6},children:[(0,r.jsxs)("b",{style:{fontSize:12},children:["\u{1F9F9} ",e("junkTitle")]}),(0,r.jsx)("button",{type:"button",className:"mc-btn",disabled:!!_,onClick:Ge,children:e(_==="junk"?"exporting":"junkScan")}),me?.length?(0,r.jsx)("button",{type:"button",className:"mc-btn",disabled:!!_,onClick:()=>Ie(me.map(w=>w.path)),children:e(_==="junkpurge"?"exporting":"junkRecycleAll")}):null,(0,r.jsx)("span",{style:{opacity:.6,fontSize:11},children:e("junkHint")})]}),me?.length?(0,r.jsx)("ul",{style:{margin:0,padding:0,listStyle:"none"},children:me.map((w,q)=>(0,r.jsxs)("li",{style:{display:"flex",alignItems:"center",gap:8,padding:"4px 2px",borderTop:q?"1px solid rgba(127,127,127,0.14)":"none",fontSize:12},children:[(0,r.jsx)("span",{style:{flex:1,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},title:w.reasons.join("\uFF1B"),children:w.title||w.path}),(0,r.jsx)("span",{style:{opacity:.55,fontSize:11},children:w.reasons[0]}),(0,r.jsx)("button",{type:"button",className:"mc-btn",style:{padding:"2px 8px"},disabled:!!_,onClick:()=>Ie([w.path]),children:e("junkRecycle")})]},q))}):(0,r.jsx)("div",{style:{opacity:.6,fontSize:12},children:e(me?"junkNone":"junkIdle")})]}),(0,r.jsxs)("div",{className:"mc-card",style:{marginBottom:10},children:[(0,r.jsxs)("div",{style:{display:"flex",gap:10,alignItems:"center",flexWrap:"wrap",marginBottom:6},children:[(0,r.jsxs)("b",{style:{fontSize:12},children:["\u{1F3AF} ",e("goalTitle")]}),(0,r.jsx)("button",{type:"button",className:"mc-btn",disabled:!!_,onClick:G,children:e(_==="goals"?"exporting":"goalScan")}),re?(0,r.jsxs)("span",{style:{opacity:.6,fontSize:11},children:[e("goalStats"),"\uFF1A",re.cached," / ",re.calls]}):null,(0,r.jsx)("span",{style:{opacity:.6,fontSize:11},children:e("goalHint")})]}),re?.clusters?.length?re.clusters.map((w,q)=>(0,r.jsxs)("div",{style:{borderTop:q?"1px solid rgba(127,127,127,0.14)":"none",padding:"7px 2px"},children:[(0,r.jsxs)("div",{style:{fontSize:12,marginBottom:4},children:[(0,r.jsx)("b",{children:w.goal})," ",(0,r.jsxs)("span",{style:{opacity:.55},children:["\xB7 ",w.members.length," ",e("goalCards")]})]}),(0,r.jsx)("ul",{style:{margin:"0 0 5px",padding:"0 0 0 16px",fontSize:12,opacity:.85},children:w.members.map((W,de)=>(0,r.jsx)("li",{children:W.title},de))}),(0,r.jsxs)("div",{style:{display:"flex",gap:6,flexWrap:"wrap"},children:[(0,r.jsx)("button",{type:"button",className:"mc-btn",style:{padding:"2px 8px"},disabled:!!_,onClick:()=>z(w),children:e("goalKeep")}),(0,r.jsx)("button",{type:"button",className:"mc-btn",style:{padding:"2px 8px"},disabled:!!_,onClick:()=>Y(w),children:e("goalMerge")})]})]},q)):(0,r.jsx)("div",{style:{opacity:.6,fontSize:12},children:e(re?"goalNone":"goalIdle")})]})]})]})]})}var cd=[{key:"decision",label:"tplDecision",kind:"knowledge",tagKey:"tplDecisionTags",bodyKey:"tplDecisionBody"},{key:"bug",label:"tplBug",kind:"mistake",tagKey:"tplBugTags",bodyKey:"tplBugBody"},{key:"meeting",label:"tplMeeting",kind:"content",tagKey:"tplMeetingTags",bodyKey:"tplMeetingBody"},{key:"weekly",label:"tplWeekly",kind:"content",tagKey:"tplWeeklyTags",bodyKey:"tplWeeklyBody"}];function R0({t:e,newCard:t,setNewCard:n,onCreated:a}){if(!t)return null;let o=cd.find(g=>g.key===t.template),i=t.body||(o?e(o.bodyKey):""),l=t.kind||(o?o.kind:"knowledge"),s=t.tags||(o?e(o.tagKey):""),c=t._creating,p=g=>{let y=cd.find(S=>S.key===g);n(S=>({...S,template:g,kind:y?y.kind:S.kind,body:y?e(y.bodyKey):S.body,tags:y?e(y.tagKey):S.tags}))},f=async()=>{if(!(!t.title&&!i)){n(g=>({...g,_creating:!0}));try{(await fetch(`${J}/write`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({title:t.title||e("untitled"),kind:l,tags:s.split(",").map(y=>y.trim()).filter(Boolean),body:i,source:"manual"})}).then(y=>y.json())).ok?(n(null),a&&a()):n(y=>({...y,_creating:!1}))}catch{n(y=>({...y,_creating:!1}))}}};return(0,r.jsxs)("div",{className:"me-overlay",onClick:()=>n(null),children:[(0,r.jsx)("style",{children:kn}),(0,r.jsxs)("div",{className:"me-dialog",style:{maxWidth:600,width:"92vw",maxHeight:"85vh"},onClick:g=>g.stopPropagation(),children:[(0,r.jsxs)("div",{className:"me-dialog-head",children:[(0,r.jsx)("h3",{children:e("newCard")}),(0,r.jsx)("button",{type:"button",className:"mc-btn",onClick:()=>n(null),children:e("close")})]}),(0,r.jsxs)("div",{className:"me-dialog-body",style:{display:"flex",flexDirection:"column",gap:10,overflow:"auto"},children:[(0,r.jsxs)("div",{style:{display:"flex",gap:6,flexWrap:"wrap"},children:[cd.map(g=>(0,r.jsx)("button",{type:"button",className:`mc-btn${t.template===g.key?" me-on":""}`,onClick:()=>p(g.key),children:e(g.label)},g.key)),(0,r.jsx)("button",{type:"button",className:`mc-btn${t.template===""?" me-on":""}`,onClick:()=>n(g=>({...g,template:"",body:"",tags:"",kind:"knowledge"})),children:e("tplBlank")})]}),(0,r.jsx)("select",{className:"mc-btn",value:l,onChange:g=>n(y=>({...y,kind:g.target.value})),style:{maxWidth:180,background:"var(--dsw-alias-bg-layer-1, #fff)",color:"var(--dsw-alias-label-primary, #111)"},children:qf.map(g=>(0,r.jsx)("option",{value:g,style:{background:"var(--dsw-alias-bg-layer-1, #fff)",color:"var(--dsw-alias-label-primary, #111)"},children:e(Tt[g])||g},g))}),(0,r.jsx)("input",{type:"text",className:"mc-btn",placeholder:e("cardTitle"),value:t.title||"",onChange:g=>n(y=>({...y,title:g.target.value}))}),(0,r.jsx)("input",{type:"text",className:"mc-btn",placeholder:e("tagsHint"),value:s,onChange:g=>n(y=>({...y,tags:g.target.value}))}),(0,r.jsx)("textarea",{className:"mc-btn",placeholder:e("cardBody"),value:i,onChange:g=>n(y=>({...y,body:g.target.value})),style:{minHeight:180,resize:"vertical",fontFamily:"inherit"}}),(0,r.jsx)("div",{style:{display:"flex",justifyContent:"flex-end",gap:8},children:(0,r.jsx)("button",{type:"button",className:"mc-btn me-on",disabled:c,onClick:f,children:e(c?"exporting":"createCard")})})]})]})]})}async function gd(e){let t=String(e||"");if(!t)return!1;try{if(navigator.clipboard&&navigator.clipboard.writeText)return await navigator.clipboard.writeText(t),!0}catch{}try{let n=document.createElement("textarea");n.value=t,n.setAttribute("readonly",""),n.style.position="fixed",n.style.left="-9999px",n.style.top="0",document.body.appendChild(n),n.focus(),n.select();let a=!!(document.execCommand&&document.execCommand("copy"));return document.body.removeChild(n),a}catch{return!1}}function L0({t:e,onClose:t}){let[n,a]=(0,u.useState)(""),[o,i]=(0,u.useState)(""),[l,s]=(0,u.useState)(""),[c,p]=(0,u.useState)(!0),[f,g]=(0,u.useState)(!1),[y,S]=(0,u.useState)(""),[R,M]=(0,u.useState)(""),O=(0,u.useRef)(null),h=(0,u.useRef)(null),m=()=>{let $=O.current;if($)try{$.focus(),$.select()}catch{}},b=$=>{S($),h.current&&clearTimeout(h.current),h.current=setTimeout(()=>S(""),2400)};(0,u.useEffect)(()=>{let $=!0;return fetch(J+"/diagnostics").then(ce=>ce.json()).then(ce=>{$&&(ce&&ce.ok?(i(String(ce.diagnostics||"")),s(String(ce.version||""))):g(!0))}).catch(()=>{$&&g(!0)}).finally(()=>{$&&p(!1)}),()=>{$=!1}},[]),(0,u.useEffect)(()=>{let $=ce=>{ce.key==="Escape"&&t()};return window.addEventListener("keydown",$),()=>{window.removeEventListener("keydown",$),h.current&&clearTimeout(h.current)}},[t]);let P=(()=>{try{return String(navigator.language||"").toLowerCase().startsWith("en")?"en":"zh"}catch{return"zh"}})(),j=()=>{let $=n.trim().split(`
1246
+ `)[0]||"",ce=bf({title:"[Bug] "+($.slice(0,60)||"memory-eternal \u95EE\u9898"),body:xf({description:n,diagnostics:o,version:l})});try{window.open(ce,"_blank","noopener")}catch{b(e("fbCopyFail"))}},D=async()=>{await gd(o)?(M(""),b(e("fbCopiedDiag"))):(M(o),b(e("fbCopyManual")))},L=async()=>{let $=wf({lang:P,description:n,diagnostics:o});await gd($)?(M(""),b(e("fbCopiedPrompt"))):(M($),b(e("fbCopyManual")))},_={width:"100%",resize:"vertical",padding:"8px 10px",borderRadius:10,border:"1px solid var(--dsw-alias-border-l2, #d1d5db)",background:"transparent",color:"inherit",font:"inherit",fontSize:13},U={margin:0,maxHeight:170,overflow:"auto",fontSize:11.5,lineHeight:1.55,padding:"8px 10px",borderRadius:10,background:"var(--dsw-alias-bg-layer-1, rgba(127,127,127,0.08))",whiteSpace:"pre-wrap",wordBreak:"break-word",overflowX:"hidden"};return(0,r.jsxs)("div",{className:"me-overlay",onClick:t,children:[(0,r.jsx)("style",{children:kn}),(0,r.jsxs)("div",{className:"me-dialog",style:{maxWidth:720},onClick:$=>$.stopPropagation(),children:[(0,r.jsxs)("div",{className:"me-dialog-head",children:[(0,r.jsxs)("h3",{children:["\u{1F41E} ",e("fbTitle")]}),(0,r.jsx)("button",{type:"button",className:"mc-btn",onClick:t,children:e("close")})]}),(0,r.jsxs)("div",{className:"me-dialog-body",style:{display:"flex",flexDirection:"column",gap:10},children:[(0,r.jsx)("div",{style:{fontSize:12,opacity:.72,lineHeight:1.6},children:e("fbWhy")}),(0,r.jsx)("textarea",{value:n,onChange:$=>a($.target.value),placeholder:e("fbDesc"),rows:5,style:_}),(0,r.jsxs)("div",{children:[(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,marginBottom:4},children:[(0,r.jsx)("b",{style:{fontSize:12},children:e("fbDiag")}),(0,r.jsx)("div",{style:{flex:1}}),(0,r.jsx)("button",{type:"button",className:"mc-btn",onClick:D,disabled:!o,children:e("fbCopyDiag")})]}),(0,r.jsx)("pre",{style:U,children:c?e("fbLoading"):f?e("fbDiagFail"):o})]}),(0,r.jsxs)("div",{style:{display:"flex",gap:8,alignItems:"center",flexWrap:"wrap",justifyContent:"flex-end"},children:[(0,r.jsxs)("button",{type:"button",className:"mc-btn",onClick:()=>{if(!n.trim()){b(e("fbNeedDesc"));return}j()},style:{borderColor:"var(--dsw-alias-brand-primary, #3b82f6)",color:"var(--dsw-alias-brand-primary, #3b82f6)",fontWeight:600},children:["\u{1F680} ",e("fbOpenIssue")]}),(0,r.jsx)("span",{style:{opacity:.5,fontSize:12},children:e("fbOr")}),(0,r.jsxs)("button",{type:"button",className:"mc-btn",onClick:L,children:["\u{1F916} ",e("fbCopyPrompt")]})]}),y&&(0,r.jsx)("div",{style:{fontSize:12,color:"var(--dsw-alias-brand-primary, #3b82f6)"},children:y}),R&&(0,r.jsxs)("div",{children:[(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,marginBottom:4},children:[(0,r.jsxs)("b",{style:{fontSize:12,color:"#b45309"},children:["\u26A0 ",e("fbCopyFail")]}),(0,r.jsx)("span",{style:{fontSize:11.5,opacity:.75},children:e("fbCopyManual")}),(0,r.jsx)("div",{style:{flex:1}}),(0,r.jsx)("button",{type:"button",className:"mc-btn",onClick:m,children:e("fbSelectAll")})]}),(0,r.jsx)("textarea",{ref:O,readOnly:!0,value:R,rows:7,style:_})]})]})]})]})}function P0({t:e,tab:t,onTab:n,onClose:a,onFeedback:o,onReplay:i}){let[l,s]=(0,u.useState)(null);(0,u.useEffect)(()=>{if(!l)return;let g=y=>{y.key==="Escape"&&s(null)};return window.addEventListener("keydown",g),()=>window.removeEventListener("keydown",g)},[l]);let c=[{id:"group",label:e("supportGroup")},{id:"sponsor",label:e("supportSponsor")},{id:"legacy",label:e("supportLegacy")}],p="https://github.com/EternalNight996/memory-eternal/blob/main/README.md",f=(g,y)=>(0,r.jsxs)("figure",{children:[(0,r.jsx)("img",{src:g,alt:y,loading:"lazy",title:e("clickToZoom"),onClick:S=>s(S.currentTarget.currentSrc||g),onError:S=>{let R=S.currentTarget;R.dataset.fb||(R.dataset.fb="1",R.src="https://raw.githubusercontent.com/EternalNight996/memory-eternal/main/assets/support/"+String(g).split("/").pop())}}),(0,r.jsx)("figcaption",{children:y})]});return(0,r.jsxs)("div",{className:"me-overlay",onClick:a,children:[(0,r.jsx)("style",{children:kn}),(0,r.jsxs)("div",{className:"me-dialog me-support",onClick:g=>g.stopPropagation(),children:[(0,r.jsxs)("div",{className:"me-dialog-head",children:[(0,r.jsxs)("h3",{children:["\u{1F4AC} ",e("supportTitle")]}),(0,r.jsx)("div",{className:"me-head-actions",children:(0,r.jsx)("button",{type:"button",className:"mc-btn",onClick:a,children:e("close")})})]}),(0,r.jsx)("div",{className:"me-support-tabs",children:c.map(g=>(0,r.jsx)("button",{type:"button",className:`me-support-tab${t===g.id?" active":""}`,onClick:()=>n(g.id),children:g.label},g.id))}),(0,r.jsxs)("div",{className:"me-support-body",children:[t==="group"&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("p",{className:"me-support-note",children:e("supportGroupHint")}),(0,r.jsxs)("div",{className:"me-support-qr",children:[f("support/group-qr.jpg",e("supportGroupQQ")),f("support/group-wechat.jpg",e("supportGroupWechat"))]}),(0,r.jsx)("p",{className:"me-support-note",style:{marginTop:12},children:(0,r.jsxs)("a",{className:"me-support-link",href:p,target:"_blank",rel:"noreferrer",children:[e("supportReadme")," \u2197"]})})]}),t==="sponsor"&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("p",{className:"me-support-note",children:e("supportSponsorHint")}),(0,r.jsxs)("div",{className:"me-support-qr",children:[f("support/wechat-pay.jpg","\u5FAE\u4FE1\u6536\u6B3E\u7801"),f("support/wechat-reward.jpg","\u5FAE\u4FE1\u8D5E\u8D4F\u7801"),f("support/alipay.jpg",e("supportAlipay"))]}),(0,r.jsxs)("p",{className:"me-support-note",style:{marginTop:12},children:["\u6253\u8D4F\u5B8C\u5168\u81EA\u613F\uFF0C\u4E0D\u5F71\u54CD\u4EFB\u4F55\u529F\u80FD\uFF1B\u63D2\u4EF6\u672C\u4F53\u59CB\u7EC8\u5F00\u6E90\u514D\u8D39\uFF08MIT\uFF09\u3002",(0,r.jsx)("br",{}),(0,r.jsx)("a",{className:"me-support-link",href:"https://github.com/EternalNight996/memory-eternal/blob/main/SPONSOR.md",target:"_blank",rel:"noreferrer",children:"SPONSOR.md \u2197"})]})]}),t==="legacy"&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("h3",{style:{margin:"0 0 8px",fontSize:14},children:e("supportLegacyTitle")}),(0,r.jsx)("p",{className:"me-support-note",children:e("supportLegacyBody")}),(0,r.jsxs)("div",{className:"me-support-actions",children:[(0,r.jsxs)("a",{className:"mc-btn",href:p,target:"_blank",rel:"noreferrer",children:["\u{1F4D6} ",e("supportReadme")," \u2197"]}),(0,r.jsxs)("a",{className:"mc-btn",href:"https://github.com/EternalNight996/memory-eternal/releases",target:"_blank",rel:"noreferrer",children:["\u{1F3F7} ",e("supportReleases")," \u2197"]})]})]})]}),(0,r.jsxs)("div",{className:"me-support-actions",style:{padding:"0 18px 16px",marginTop:0},children:[(0,r.jsxs)("button",{type:"button",className:"mc-btn",onClick:o,children:["\u{1F41E} ",e("supportFeedback")]}),(0,r.jsxs)("button",{type:"button",className:"mc-btn",onClick:i,children:["\u2728 ",e("supportReplay")]})]})]}),l&&(0,r.jsxs)("div",{className:"me-lightbox",role:"dialog","aria-modal":"true","aria-label":e("close"),onClick:g=>{g.stopPropagation(),s(null)},children:[(0,r.jsx)("button",{type:"button",className:"me-lightbox-close",onClick:g=>{g.stopPropagation(),s(null)},"aria-label":e("close"),children:"\u2715"}),(0,r.jsx)("img",{src:l,alt:"",onClick:g=>g.stopPropagation()})]})]})}function D0({t:e,onDone:t}){let[n,a]=(0,u.useState)(0),o="https://github.com/EternalNight996/memory-eternal",i=[{title:e("onboardStep0Title"),body:e("onboardStep0Body")},{title:e("onboardStep1Title"),body:e("onboardStep1Body")},{title:e("onboardStep2Title"),body:e("onboardStep2Body")},{title:e("onboardStep3Title"),body:e("onboardStep3Body")}],l=n===i.length-1;return(0,u.useEffect)(()=>{let s=c=>{c.key==="Escape"&&t()};return window.addEventListener("keydown",s),()=>window.removeEventListener("keydown",s)},[t]),(0,r.jsxs)("div",{className:"me-overlay",style:{zIndex:1006},children:[(0,r.jsx)("style",{children:kn}),(0,r.jsxs)("div",{className:"me-dialog me-guide",children:[(0,r.jsxs)("div",{className:"me-guide-head",children:[(0,r.jsxs)("b",{children:["\u2728 ",e("onboardTitle")]}),(0,r.jsx)("div",{className:"spacer"}),(0,r.jsx)("span",{style:{fontSize:11,opacity:.55},children:e("onboardSub")})]}),(0,r.jsx)("div",{className:"me-guide-dots",children:i.map((s,c)=>(0,r.jsx)("span",{className:`me-guide-dot${c<=n?" on":""}`},c))}),(0,r.jsxs)("div",{className:"me-guide-body",children:[(0,r.jsx)("h3",{children:i[n].title}),(0,r.jsx)("p",{children:i[n].body}),n===0&&(0,r.jsxs)("div",{className:"me-guide-github",children:[(0,r.jsxs)("button",{type:"button",className:"mc-btn me-on",onClick:()=>kl(o),children:["\u2605 ",e("onboardStar")]}),(0,r.jsxs)("button",{type:"button",className:"mc-btn",onClick:()=>kl(o+"/fork"),children:["\u2442 ",e("onboardFork")]}),(0,r.jsx)("span",{className:"me-guide-github-hint",children:e("onboardStarHint")})]}),n===1&&(0,r.jsxs)("div",{className:"me-guide-chips",children:[(0,r.jsx)("span",{children:"\u81EA\u52A8\u6C89\u6DC0"}),(0,r.jsx)("span",{children:"\u5148\u5BA1\u540E\u5165"}),(0,r.jsx)("span",{children:"\u53EA\u53EC\u56DE\u76F8\u5173\u5C0F\u5757"})]}),n===2&&(0,r.jsxs)("div",{className:"me-guide-like",children:[(0,r.jsx)("span",{className:"me-guide-thumb",children:"\u{1F44D}"})," \u6709\u7528"]}),n===3&&(0,r.jsxs)("div",{className:"me-guide-chips",children:[(0,r.jsxs)("span",{children:["\u{1F4AC} ",e("supportGroup")]}),(0,r.jsxs)("span",{children:["\u2615 ",e("supportSponsor")]}),(0,r.jsxs)("span",{children:["\u{1F9E9} ",e("supportLegacy")]}),(0,r.jsxs)("span",{children:["\u{1F41E} ",e("supportFeedback")]})]})]}),(0,r.jsxs)("div",{className:"me-guide-actions",children:[(0,r.jsx)("button",{type:"button",className:"mc-btn",onClick:t,children:e("onboardSkip")}),(0,r.jsx)("div",{className:"spacer"}),(0,r.jsx)("span",{className:"me-guide-tip",children:e("onboardTip")}),n>0&&(0,r.jsx)("button",{type:"button",className:"mc-btn",onClick:()=>a(s=>s-1),children:e("onboardBack")}),l?(0,r.jsx)("button",{type:"button",className:"mc-btn me-on",onClick:t,children:e("onboardStart")}):(0,r.jsx)("button",{type:"button",className:"mc-btn me-on",onClick:()=>a(s=>s+1),children:e(n===0?"onboardStarred":"onboardNext")})]})]})]})}function A0({t:e,card:t,query:n,onClose:a,onDelete:o,onFeedback:i,onNavigate:l,onTagClick:s,allCards:c,onOpenRelated:p,onKindChange:f,onSaved:g}){let[y,S]=(0,u.useState)(0),[R,M]=(0,u.useState)(""),[O,h]=(0,u.useState)(()=>{try{let A=localStorage.getItem("me-read-width");return["narrow","mid","wide"].includes(A)?A:"mid"}catch{return"mid"}}),m={narrow:720,mid:900,wide:1180};(0,u.useEffect)(()=>{let A=pe=>{if(pe.key==="Escape"){a();return}let ae=String(pe.target&&pe.target.tagName||"").toLowerCase();ae==="input"||ae==="textarea"||ae==="select"||pe.target&&pe.target.isContentEditable||(pe.key==="j"&&l?(pe.preventDefault(),l(1)):pe.key==="k"&&l&&(pe.preventDefault(),l(-1)))};return window.addEventListener("keydown",A),()=>window.removeEventListener("keydown",A)},[a,l]);let b=async(A,pe)=>{let ae=await gd(String(A||""));M(ae?e("copied")+" \xB7 "+pe:e("copyFail")),setTimeout(()=>M(""),1500)},{meta:P,body:j}=(0,u.useMemo)(()=>ml(t.text||""),[t.text]),D=A=>{let pe=P.find(([ae])=>String(ae).toLowerCase()===A);return pe?pe[1]:""},L=mf(D("tags")),_=t.kind||D("kind")||"knowledge",U=String(t.status||D("status")||"approved").toLowerCase(),$=Kt[_]||"#6B7280",ce=(j||"").length>460,ge=(0,u.useMemo)(()=>bd(j,t.title),[j,t.title]),fe=(0,u.useMemo)(()=>{let A=xd(t);if(A)return A;let ae=(ge.split(/\r?\n/).map(Ne=>Ne.trim()).find(Ne=>Ne&&!/^#{1,2}\s/.test(Ne))||"").replace(/[#>*_`]/g,"").replace(/\s+/g," ").trim();return ae.length>150?ae.slice(0,148)+"\u2026":ae},[t,ge]),Pe=(0,u.useMemo)(()=>M0(ge),[ge]),V=(0,u.useMemo)(()=>{let A=new Set(L);return(c||[]).filter(pe=>pe.path!==t.path&&(pe.tags||[]).some(ae=>A.has(ae))).slice(0,3)},[c,t.path,L.join("|")]),ve=()=>{k(String(t.title||"")),z((Array.isArray(L)?L:[]).join(", ")),he(String(j||"")),w(""),Ie(!0)},we=()=>{Ie(!1),w("")},qe=async()=>{let A=String(re||"").trim(),pe=String(Y||"").trim();if(!A){w(e("editTitleEmpty"));return}if(!pe){w(e("editBodyEmpty"));return}let ae=String(G||"").split(/[,,\n]+/).map(Ne=>Ne.trim()).filter(Boolean);ie(!0),w("");try{let Ne=await fetch(`${J}/card/update`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:t.path,title:A,tags:ae,body:pe})}).then(kt=>kt.json());if(!Ne||!Ne.ok){w(Ne&&Ne.error||e("editFail"));return}Ie(!1),g&&await g({path:t.path,status:U,title:A})}catch(Ne){w(String(Ne&&Ne.message||Ne))}finally{ie(!1)}},[me,ne]=(0,u.useState)(!0),[Ge,Ie]=(0,u.useState)(!1),[re,k]=(0,u.useState)(""),[G,z]=(0,u.useState)(""),[Y,he]=(0,u.useState)(""),[Le,ie]=(0,u.useState)(!1),[ee,w]=(0,u.useState)(""),q=(0,u.useRef)(null),[W,de]=(0,u.useState)(""),Re=A=>{let pe=q.current;if(!pe)return;let ae=document.getElementById(A);if(!ae||!pe.contains(ae))return;let Ne=ae.getBoundingClientRect().top-pe.getBoundingClientRect().top+pe.scrollTop-12;pe.scrollTo({top:Math.max(0,Ne),behavior:"smooth"})},Ce=A=>{if(!me){ne(!0),setTimeout(()=>Re(A),80);return}Re(A)},ue=A=>{let pe=A.currentTarget,ae=pe.scrollHeight-pe.clientHeight;S(ae<=0?100:Math.min(100,Math.max(0,pe.scrollTop/ae*100)));let Ne=pe.querySelectorAll(".md-doc .md-h"),kt="",Mt=pe.getBoundingClientRect().top+28;for(let en of Ne)if(en.getBoundingClientRect().top<=Mt)kt=en.id;else break;de(kt)};return(0,r.jsxs)("div",{className:"me-overlay",onClick:a,children:[(0,r.jsx)("style",{children:kn}),(0,r.jsxs)("div",{className:"me-dialog me-reader-dialog",onClick:A=>A.stopPropagation(),children:[(0,r.jsxs)("div",{className:"me-dialog-head",children:[(0,r.jsxs)("h3",{title:t.title,children:[(0,r.jsx)("span",{style:{marginRight:6,flex:"none"},children:Ir[_]||"\u{1F4CE}"}),t.title]}),(0,r.jsxs)("div",{className:"me-head-actions",children:[R&&(0,r.jsx)("span",{style:{fontSize:11.5,color:"#10b981",whiteSpace:"nowrap"},children:R}),(0,r.jsxs)("button",{type:"button",className:"mc-btn",title:e("copyBody"),onClick:()=>b(j,e("copyBody")),children:["\u{1F4CB} ",e("copyBody")]}),(0,r.jsxs)("button",{type:"button",className:"mc-btn",title:e("copyPath"),onClick:()=>b(t.path,e("copyPath")),children:["\u{1F517} ",e("copyPath")]}),(0,r.jsx)("button",{type:"button",className:"mc-btn",title:e("editCard"),onClick:Ge?we:ve,children:Ge?"\u2716 "+e("editCancel"):"\u270F\uFE0F "+e("editCard")}),(0,r.jsxs)("button",{type:"button",className:"mc-btn",title:e("readWidth"),onClick:()=>{let A=["narrow","mid","wide"],pe=A[(A.indexOf(O)+1)%A.length];h(pe);try{localStorage.setItem("me-read-width",pe)}catch{}},children:[e("readWidth")," \xB7 ",e(O==="narrow"?"widthNarrow":O==="wide"?"widthWide":"widthMid")]}),(0,r.jsxs)("button",{type:"button",className:"mc-btn",onClick:()=>i&&i(!0),children:["\u{1F44D} ",e("fbUseful")]}),(0,r.jsxs)("button",{type:"button",className:"mc-btn",onClick:()=>i&&i(!1),children:["\u{1F44E} ",e("fbIrr")]}),ce&&(0,r.jsx)("button",{type:"button",className:"mc-btn","aria-expanded":me,onClick:()=>ne(A=>!A),children:e(me?"collapse":"expand")}),(0,r.jsx)("button",{type:"button",className:"mc-btn",style:{color:"#f87171"},onClick:()=>{window.confirm(e("deleteConfirm"))&&o&&o(t.path)},children:e("delete")}),f&&U==="approved"&&(_==="core"?(0,r.jsx)("button",{type:"button",className:"mc-btn",onClick:()=>f(t.path,"knowledge"),children:e("unsetCore")}):(0,r.jsxs)("button",{type:"button",className:"mc-btn",onClick:()=>f(t.path,"core"),children:["\u2B50 ",e("setCore")]})),(0,r.jsx)("button",{type:"button",className:"mc-btn",onClick:a,children:e("close")})]})]}),f&&(0,r.jsxs)("div",{className:"me-core-banner"+(_==="core"?" on":""),children:[(0,r.jsxs)("div",{className:"me-core-banner-k",children:["\u2B50 ",e("kindCore")]}),(0,r.jsx)("div",{className:"me-core-banner-desc",children:e(_==="core"?"coreActiveHint":"coreInactiveHint")}),U==="approved"?(0,r.jsx)("button",{type:"button",className:"mc-btn me-core-btn",onClick:()=>f(t.path,_==="core"?"knowledge":"core"),children:_==="core"?e("unsetCore"):"\u2B50 "+e("setCore")}):(0,r.jsx)("span",{className:"me-core-banner-desc",style:{flex:"none",opacity:.6},children:e("coreNeedApproval")})]}),(0,r.jsxs)("div",{className:"md-meta",children:[(0,r.jsxs)("span",{className:"md-chip md-chip-kind",style:{color:$,borderColor:$+"59",background:$+"1a"},children:[Ir[_]||"\u{1F4CE}"," ",e(Tt[_]||"kindKnowledge")]}),(0,r.jsxs)("span",{className:"md-chip "+(U==="approved"?"md-chip-st-ok":U==="pending"?"md-chip-st-warn":"md-chip-st-bad"),children:[U==="approved"?"\u2705":U==="pending"?"\u23F3":"\u26D4"," ",e(U==="approved"?"statusApproved":U==="pending"?"statusPending":"statusRejected")]}),(Array.isArray(L)?L:[]).slice(0,8).map(A=>(0,r.jsxs)("button",{type:"button",className:"md-chip md-chip-tag mc-tag-click",title:A,onClick:()=>s&&s(A),children:["\u{1F3F7} ",A]},A)),!!D("updated")&&(0,r.jsxs)("span",{className:"md-chip md-date",children:["\u{1F552} ",e("updated")," ",lr(D("updated"))]}),!!D("source")&&(0,r.jsxs)("span",{className:"md-chip md-date",children:["\u{1F4E5} ",D("source")]})]}),(0,r.jsx)("div",{className:"me-read-progress","aria-hidden":"true",children:(0,r.jsx)("i",{style:{width:y+"%"}})}),(0,r.jsxs)("div",{className:"me-reader-body",children:[(0,r.jsxs)("div",{className:"me-dialog-body me-reader-main",style:{maxWidth:m[O],margin:"0 auto",width:"100%",boxSizing:"border-box",...me?{}:{maxHeight:300,overflow:"hidden"}},ref:q,onScroll:ue,onClick:me?void 0:A=>{A.stopPropagation(),ne(!0)},children:[!Ge&&!!fe&&(0,r.jsxs)("div",{className:"me-reader-callout",children:[(0,r.jsx)("span",{className:"me-reader-callout-k",children:e(Zf(t))}),(0,r.jsx)("p",{children:fe})]}),Ge?(0,r.jsxs)("div",{className:"me-edit-form",style:{display:"flex",flexDirection:"column",gap:8,padding:"2px 0 14px"},children:[(0,r.jsx)("div",{style:{fontSize:11.5,opacity:.62,lineHeight:1.6},children:e("editHint")}),(0,r.jsx)("label",{style:{fontSize:12,fontWeight:600,opacity:.8},htmlFor:"me-edit-title",children:e("editTitle")}),(0,r.jsx)("input",{id:"me-edit-title",value:re,onChange:A=>k(A.target.value),maxLength:200,style:{width:"100%",padding:"8px 10px",borderRadius:10,border:"1px solid var(--dsw-alias-border-l2, #d1d5db)",background:"transparent",color:"inherit",font:"inherit",fontSize:13,boxSizing:"border-box"}}),(0,r.jsx)("label",{style:{fontSize:12,fontWeight:600,opacity:.8},htmlFor:"me-edit-tags",children:e("editTags")}),(0,r.jsx)("input",{id:"me-edit-tags",value:G,onChange:A=>z(A.target.value),placeholder:e("editTagsHint"),style:{width:"100%",padding:"8px 10px",borderRadius:10,border:"1px solid var(--dsw-alias-border-l2, #d1d5db)",background:"transparent",color:"inherit",font:"inherit",fontSize:13,boxSizing:"border-box"}}),(0,r.jsx)("label",{style:{fontSize:12,fontWeight:600,opacity:.8},htmlFor:"me-edit-body",children:e("editBody")}),(0,r.jsx)("textarea",{id:"me-edit-body",value:Y,onChange:A=>he(A.target.value),spellCheck:!1,rows:18,style:{width:"100%",padding:"8px 10px",borderRadius:10,border:"1px solid var(--dsw-alias-border-l2, #d1d5db)",background:"transparent",color:"inherit",font:"inherit",fontSize:13,boxSizing:"border-box",resize:"vertical",minHeight:260,lineHeight:1.7,fontFamily:"ui-monospace, SFMono-Regular, Menlo, monospace"}}),ee&&(0,r.jsx)("div",{style:{color:"#f87171",fontSize:12},children:ee}),(0,r.jsxs)("div",{style:{display:"flex",gap:8,justifyContent:"flex-end",alignItems:"center"},children:[(0,r.jsx)("span",{style:{marginRight:"auto",fontSize:11.5,opacity:.55},children:t.path}),(0,r.jsx)("button",{type:"button",className:"mc-btn",onClick:we,disabled:Le,children:e("editCancel")}),(0,r.jsx)("button",{type:"button",className:"mc-btn",onClick:qe,disabled:Le,style:{borderColor:"var(--dsw-alias-brand-primary, #3b82f6)",color:"var(--dsw-alias-brand-primary, #3b82f6)",fontWeight:600},children:e(Le?"editSaving":"editSave")})]})]}):(0,r.jsx)("div",{className:"md-doc",dangerouslySetInnerHTML:{__html:_o(ge)}})]}),(0,r.jsxs)("aside",{className:"me-reader-side",children:[Pe.length>0&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("div",{className:"side-label",children:e("contents")}),(0,r.jsx)("div",{className:"me-reader-toc",children:Pe.map((A,pe)=>(0,r.jsxs)("button",{type:"button",className:`lv${A.level}${W===A.id?" active":""}`,onClick:()=>Ce(A.id),children:[(0,r.jsx)("span",{children:String(pe+1).padStart(2,"0")}),A.text]},A.id))})]}),(0,r.jsx)("div",{className:"side-label",children:e("source")}),(0,r.jsx)("div",{className:"me-reader-side-val",children:D("source")||t.submittedBy||"\u2014"}),(0,r.jsx)("div",{className:"side-label",children:e("updated")}),(0,r.jsx)("div",{className:"me-reader-side-val",children:lr(D("updated")||t.updated)}),(0,r.jsx)("div",{className:"side-label",children:e("file")}),(0,r.jsx)("div",{className:"me-reader-side-val mono",children:t.path}),L.length>0&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("div",{className:"side-label",children:e("tags")}),(0,r.jsx)("div",{className:"me-reader-tags",children:L.slice(0,8).map(A=>(0,r.jsxs)("button",{type:"button",className:"mc-chip",onClick:()=>s&&s(A),children:["#",A]},A))})]}),V.length>0&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("div",{className:"side-label",children:e("related")}),(0,r.jsx)("div",{className:"me-reader-related",children:V.map(A=>(0,r.jsxs)("button",{type:"button",onClick:()=>p&&p(A),children:[(0,r.jsx)("span",{children:Ir[A.kind]||"\u{1F4CE}"}),(0,r.jsx)("b",{children:A.title})]},A.path))})]})]})]}),!me&&(0,r.jsxs)("div",{className:"md-collapsed-hint",onClick:A=>{A.stopPropagation(),ne(!0)},children:[e("expand")," \u2304"]})]})]})}function F0({t:e,onOpen:t,all:n,onAllChange:a,onMutate:o,active:i,visible:l}){let[s,c]=(0,u.useState)([]),[p,f]=(0,u.useState)(null),[g,y]=(0,u.useState)(null),[S,R]=(0,u.useState)(!1),M=!0,[O,h]=(0,u.useState)(null),[m,b]=(0,u.useState)(!1),[P,j]=(0,u.useState)(!1),[D,L]=(0,u.useState)(null),_=(0,u.useRef)(0),U=(0,u.useRef)(null);U.current||(U.current=Df(96));let $=(0,u.useRef)(0),ce=(0,u.useRef)(0),ge=(0,u.useRef)(s);ge.current=s;let fe=(0,u.useRef)(n),Pe=(0,u.useRef)({requests:0,cacheHits:0,errors:0,timeouts:0,lastMs:0,lastBytes:0}),V=(0,u.useCallback)(async(ie,ee={})=>{let w=Array.isArray(ie)?ie.filter(Boolean):[],q=(n?"all|":"")+na(w);if(!ee.force){let ue=U.current.get(q);if(ue)return Pe.current.cacheHits+=1,f(ue),c(w),y(null),R(!1),ue}let W=++$.current;R(!0),y(null);let de=new AbortController,Re=setTimeout(()=>{try{de.abort()}catch{}},1600),Ce=performance.now();Pe.current.requests+=1;try{let ue=await fetch(Ef(J,w,{all:n}),{signal:de.signal}),A=await ue.json().catch(()=>null);if(W!==$.current)return null;if(!ue.ok||!A||!A.ok)throw new Error(A&&A.error||"HTTP "+ue.status);let pe=Ff(A);if(!pe.ok)try{console.warn("[memory-eternal] \u5206\u5C42\u54CD\u5E94\u8D8A\u754C\uFF1A"+pe.problems.join("\uFF1B"))}catch{}return U.current.set(q,A),Pe.current.lastMs=Math.round(performance.now()-Ce),Pe.current.lastBytes=pe.bytes,ce.current||(ce.current=Math.round(performance.now())),f(A),c(w),y(null),A}catch(ue){if(W!==$.current)return null;let A=Pf(ue,{timeoutMs:1600,elapsedMs:performance.now()-Ce});A.timeout&&(Pe.current.timeouts+=1),Pe.current.errors+=1;try{console.warn("[memory-eternal] \u5C42\u7EA7\u52A0\u8F7D\u5931\u8D25 @ "+q+"\uFF1A"+A.message)}catch{}return y({...A,target:na(w),segments:w.slice()}),null}finally{clearTimeout(Re),W===$.current&&R(!1)}},[n]);(0,u.useEffect)(()=>{fe.current!==n&&(fe.current=n,U.current.clear(),i&&V([],{force:!0}))},[n,i,V]),(0,u.useEffect)(()=>{!i||p||S||V([])},[i,p,S,V]),(0,u.useEffect)(()=>{l&&p&&_.current++},[l,p]);let ve=(0,u.useCallback)(ie=>{let ee=Array.isArray(ie)?ie:Mf(ie&&ie.path!==void 0?ie.path:ie);na(ee)!==na(ge.current)&&V(ee)},[V]),we=(0,u.useCallback)(ie=>{ie&&V(ge.current.concat(String(ie)))},[V]),qe=(0,u.useCallback)(()=>{U.current.clear();let ie=g&&Array.isArray(g.segments)?g.segments:ge.current;V(ie,{force:!0})},[V,g]),me=(0,u.useCallback)(async()=>(U.current.clear(),V(ge.current,{force:!0})),[V]),ne=(0,u.useCallback)(async()=>{j(!0),L(null);try{let ie=await fetch(`${J}/graph?${n?"all=1&":""}limit=${m?0:800}`),ee=await ie.json().catch(()=>null);if(!ie.ok||!ee||!ee.ok)throw new Error(ee&&ee.error||"HTTP "+ie.status);let w=Array.isArray(ee.nodes)?ee.nodes:[],q=Array.isArray(ee.edges)?ee.edges:[],W=typeof ee.shown=="number",de=new Map;for(let ae of q)de.set(ae.source,(de.get(ae.source)||0)+1),de.set(ae.target,(de.get(ae.target)||0)+1);let Ce=m||W?w:w.slice().sort((ae,Ne)=>(de.get(Ne.id)||0)-(de.get(ae.id)||0)).slice(0,800),ue=new Set(Ce.map(ae=>ae.id)),A=Ce.map(ae=>({id:ae.id,label:ae.label||ae.title||ae.id,kind:ae.kind||"other",tags:Array.isArray(ae.tags)?ae.tags:[],updated:ae.updated||ae.updated_at||"",count:0,type:"card"})),pe=m?q:q.filter(ae=>ue.has(ae.source)&&ue.has(ae.target));h({id:"flat",mode:"flat",total:Number(ee.total)||w.length,shown:Number(ee.shown)||A.length,items:A,edges:pe})}catch(ie){L({message:String(ie&&ie.message||ie)})}finally{j(!1)}},[n,m]);(0,u.useEffect)(()=>{ne()},[ne]);let Ge=(0,u.useCallback)(async ie=>{try{let w=await(await fetch(`${J}/delete?path=${encodeURIComponent(ie)}`)).json();return w&&w.ok?(await me(),o&&o(),!0):!1}catch{return!1}},[me,o]),Ie=(0,u.useCallback)(async ie=>{if(!ie||ie.length<2)return!1;try{let ee=await fetch(`${J}/merge?paths=${encodeURIComponent(ie.join(","))}`).then(w=>w.json());return ee&&ee.ok?(await me(),o&&o(),!0):!1}catch{return!1}},[me,o]);(0,u.useEffect)(()=>{let ie=()=>{let ee=typeof globalThis.__meGraphRuntime=="function"?globalThis.__meGraphRuntime():null;return{path:na(ge.current),crumbs:p&&Array.isArray(p.crumbs)?p.crumbs.map(w=>({path:w.path,label:w.label,labelKey:w.labelKey,count:w.count})):[],level:p&&p.level?{mode:p.level.mode,total:p.level.total,items:p.level.items.length,edges:p.level.edges.length}:null,loading:!!S,error:g?{timeout:!!g.timeout,message:g.message,target:g.target||""}:null,requests:Pe.current.requests,cacheHits:Pe.current.cacheHits,errors:Pe.current.errors,timeouts:Pe.current.timeouts,lastMs:Pe.current.lastMs,lastBytes:Pe.current.lastBytes,firstLevelMs:ce.current,cacheSize:U.current.size,timeoutMs:1600,runtime:ee}};return globalThis.__meGraphProbe=ie,()=>{if(globalThis.__meGraphProbe===ie)try{delete globalThis.__meGraphProbe}catch{globalThis.__meGraphProbe=void 0}}},[p,S,g]);let re=M?O:p&&p.level?p.level:null,k=re?re.items.length:0,G=re?re.total:0,z=re?re.edges.length:0,Y=M?P:!p&&!g,he=M?D:!p&&g,Le=M?D:p?g:null;return(0,r.jsxs)("div",{className:"me-graph me-v5-graph",children:[(0,r.jsx)("style",{children:kn}),(0,r.jsxs)("div",{className:"mc-v5-pagehead mc-v5-graphhead",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("div",{className:"mc-v5-eyebrow",children:"KNOWLEDGE GRAPH"}),(0,r.jsx)("h1",{children:e("graphTab")}),(0,r.jsx)("p",{children:e("graphHint")})]}),(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8},children:[(0,r.jsx)("button",{type:"button",className:"mc-btn",onClick:()=>b(ie=>!ie),children:e(m?"graphFlatOnly":"graphFlatAll")}),(0,r.jsx)("span",{className:"mc-v5-pagecount",children:(M?O:p)?`${k} ${e("graphItems")} \xB7 ${G} ${e("graphCardsUnit")} \xB7 ${z} ${e("edges")}`:""})]})]}),Y&&(0,r.jsx)(tg,{text:e("loadingGraph")}),he&&(0,r.jsxs)("div",{className:"mc-empty",style:{display:"flex",flexDirection:"column",gap:10,alignItems:"center"},children:[(0,r.jsxs)("span",{children:[Le&&Le.timeout?e("graphLevelTimeout").replace("{ms}",String(1600)):e("graphLevelError"),"\uFF1A",Le&&Le.message]}),(0,r.jsx)("button",{type:"button",className:"mc-btn",onClick:M?ne:qe,children:e("graphRetry")})]}),(M?O:p)&&k===0&&(0,r.jsx)("div",{className:"mc-empty",children:e("graphEmptyLevel")}),re&&k>0&&(0,r.jsx)(_0,{level:re,crumbs:M?[]:p&&p.crumbs?p.crumbs:[],onOpen:t,onDelete:Ge,onMerge:Ie,onDrill:M?()=>{}:we,onNavigate:ve,onRetry:M?ne:qe,error:Le,loading:M?P:S,t:e,all:n,onAllChange:a,fitTrigger:_.current})]})}var wn={colors:{core:"#FF7A45",skill:"#A78BFA",project:"#60A5FA",knowledge:"#34D399",content:"#FBBF24",prompt:"#C084FC",business:"#F472B6",tool:"#22B8CF",mistake:"#FB7185",other:"#8CA0B3"},deep:{core:"#E8590C",skill:"#7C3AED",project:"#2563EB",knowledge:"#059669",content:"#D97706",prompt:"#9333EA",business:"#DB2777",tool:"#0891B2",mistake:"#E11D48",other:"#64748B"},shapes:{core:"diamond",skill:"hexagon",project:"circle",knowledge:"circle",content:"rect",prompt:"diamond",business:"hexagon",tool:"circle",mistake:"diamond",other:"circle"}};function Ar(e,t){try{let n=globalThis;if(n.__meGraphDrawWarned)return;n.__meGraphDrawWarned=!0,console.warn("[memory-eternal] \u77E5\u8BC6\u56FE\u8C31\u7ED8\u5236\u5F02\u5E38\uFF08\u5DF2\u515C\u5E95\uFF0C\u4E0D\u518D\u6574\u9875\u767D\u5C4F\uFF09"+(t?" @ "+t:""),e)}catch{}}function Sl({value:e,small:t}){let n=typeof e=="number"&&Number.isFinite(e),a=n?Math.max(0,Math.min(100,e)):0;return(0,r.jsx)("div",{className:"me-progress"+(t?" me-progress-sm":"")+(n?" is-determinate":""),role:"progressbar","aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":n?Math.round(a):void 0,"aria-label":"\u52A0\u8F7D\u8FDB\u5EA6",children:(0,r.jsx)("span",{className:"me-progress-fill",style:n?{width:Math.max(3,a)+"%"}:void 0})})}function tg({text:e,value:t}){return(0,r.jsxs)("div",{className:"me-loading",role:"status","aria-live":"polite",children:[(0,r.jsx)(Sl,{value:t}),(0,r.jsx)("span",{className:"me-loading-text",children:e})]})}var Vf=[];function I0({crumbs:e,t,onPick:n,busy:a}){let o=Array.isArray(e)&&e.length?e:[{path:"",labelKey:"graphAllCrumb",label:"\u5168\u90E8"}];return(0,r.jsx)("nav",{className:"me-graph-crumbs","aria-label":t("graphBreadcrumbAria"),"data-level-depth":o.length,children:o.map((i,l)=>{let s=i.labelKey?t(i.labelKey):"",c=s&&s!==i.labelKey?s:i.label||i.path||"\u2014",p=l===o.length-1;return(0,r.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:2},children:[l>0&&(0,r.jsx)("span",{className:"sep","aria-hidden":"true",children:"\u203A"}),(0,r.jsx)("button",{type:"button",className:(l===0?"home":"")+(p?" current":""),"aria-current":p?"page":void 0,title:c,disabled:p||a,onClick:()=>{p||n(i)},children:c})]},i.path||"root")})})}function _0({level:e,crumbs:t,onOpen:n,onDelete:a,onMerge:o,onDrill:i,onNavigate:l,onRetry:s,error:c,loading:p,t:f,all:g,onAllChange:y,fitTrigger:S}){let R=(0,u.useRef)(null),M=(0,u.useRef)(null),O=(0,u.useRef)(null),h=(0,u.useRef)(null),m=(0,u.useRef)(null),b=e&&Array.isArray(e.items)?e.items:Vf,P=e&&Array.isArray(e.edges)?e.edges:Vf,j=e&&e.id||"",D=(0,u.useMemo)(()=>b.map(C=>({id:C.id,title:C.label||C.id,name:C.label||C.id,kind:C.kind||"other",tags:Array.isArray(C.tags)?C.tags:[],updated:C.updated||"",count:Number(C.count)||0,type:C.type||"card"})),[b]),L=(0,u.useMemo)(()=>P.map(C=>({source:C.source,target:C.target,type:C.type||"tag",weight:Number(C.weight)||1})),[P]),_=(0,u.useRef)(f);_.current=f;let U=(0,u.useRef)(n);(0,u.useEffect)(()=>{U.current=n},[n]);let $=(0,u.useRef)(a);(0,u.useEffect)(()=>{$.current=a},[a]);let ce=(0,u.useRef)(o);(0,u.useEffect)(()=>{ce.current=o},[o]);let ge=(0,u.useRef)(i);(0,u.useEffect)(()=>{ge.current=i},[i]);let[fe,Pe]=(0,u.useState)(""),[V,ve]=(0,u.useState)(null),[we,qe]=(0,u.useState)(null),me=(0,u.useRef)("");(0,u.useEffect)(()=>{me.current=fe.trim().toLowerCase()},[fe]),(0,u.useEffect)(()=>{let C=O.current;if(!C)return;let x=fe.trim().toLowerCase();if(!x)return;let se=C.nodes.find(Ae=>(Ae.name||"").toLowerCase().includes(x));if(se){O.current.selectedId=se.id,ve(se.id),C.panX=C.w/2-se.x*C.zoom,C.panY=C.h/2-se.y*C.zoom;try{C.render&&C.render()}catch(Ae){Ar(Ae,"search-center")}}},[fe]);let[ne,Ge]=(0,u.useState)("all"),[Ie,re]=(0,u.useState)(!1),k=(0,u.useRef)("all"),[G,z]=(0,u.useState)(""),Y=(0,u.useRef)(""),[he,Le]=(0,u.useState)(!1),ie=(0,u.useRef)(!1),[ee,w]=(0,u.useState)(null);(0,u.useEffect)(()=>{k.current=ne},[ne]),(0,u.useEffect)(()=>{Y.current=G},[G]),(0,u.useEffect)(()=>{ie.current=he},[he]);let q=(0,u.useMemo)(()=>{let C=new Map;for(let x of D)for(let se of x.tags||[]){let Ae=String(se).trim();Ae&&C.set(Ae,(C.get(Ae)||0)+1)}return[...C.entries()].sort((x,se)=>se[1]-x[1]).slice(0,24).map(([x,se])=>({tag:x,n:se}))},[D]),W=(0,u.useMemo)(()=>{let C={};for(let x of D)C[x.kind||"other"]=(C[x.kind||"other"]||0)+(x.type==="planet"?Math.max(1,x.count||0):1);return C},[D]),de=(()=>{let C=fe.trim().toLowerCase();return!!C&&!D.some(x=>(x.title||x.name||"").toLowerCase().includes(C)||String(x.kind||"").toLowerCase().includes(C)||String(Tt[x.kind]||"").toLowerCase().includes(C))})();(0,u.useEffect)(()=>{let C=O.current;C&&C.requestRender&&C.requestRender()},[fe]),(0,u.useEffect)(()=>{let C=O.current;if(!(!C||!C.render))try{C.render()}catch(x){Ar(x,"filter/timeDim")}},[ne,G,he]);let Re=(0,u.useRef)(null),[Ce,ue]=(0,u.useState)([]),[A,pe]=(0,u.useState)(null),[ae,Ne]=(0,u.useState)(!1),[kt,Mt]=(0,u.useState)(null),[en,Fn]=(0,u.useState)(""),Sn=(0,u.useRef)(null),tn=(0,u.useRef)(null),He=(C,x=!0)=>{Sn.current&&clearTimeout(Sn.current),Mt({msg:C,ok:x}),Sn.current=setTimeout(()=>Mt(null),1900)},In=C=>{Fn(C),tn.current&&clearTimeout(tn.current),tn.current=setTimeout(()=>Fn(""),1600)};(0,u.useEffect)(()=>()=>{Sn.current&&clearTimeout(Sn.current),tn.current&&clearTimeout(tn.current)},[]);let Te=(0,u.useMemo)(()=>D.reduce((C,x)=>(C[x.id]=x,C),{}),[D]);return(0,u.useEffect)(()=>{let C=R.current;if(!C||D.length===0)return;let x=C.getContext("2d");if(!x)return;let se=Math.min(1.5,Math.max(1,window.devicePixelRatio||1)),Ae={};L.forEach(E=>{Ae[E.source]=(Ae[E.source]||0)+1,Ae[E.target]=(Ae[E.target]||0)+1});let N=Math.max(1,...Object.values(Ae)),F=Af(),We=b.some(E=>E&&E.type==="planet"),d={nodes:b.filter(E=>E&&E.type!=="planet").concat(b.filter(E=>E&&E.type==="planet")).map(E=>Rf(E,{degree:Ae[E.id]||0,maxDegree:N})),edges:L.map(E=>({sourceNodeId:E.source,targetNodeId:E.target,weight:Math.max(1,Number(E.weight)||1)})),panX:0,panY:0,zoom:1,running:!0,raf:0,tickCount:0,quietTicks:0,dragNode:null,selectedId:null,mouseX:0,mouseY:0,w:0,h:0,dpr:se,ctx:x,multi:[],marquee:null,planetLayer:We,levelId:j};d.domain=D,d.domainById=D.reduce((E,H)=>(E[H.id]=H,E),{}),d.nodeById=new Map(d.nodes.map(E=>[E.id,E])),d.edgePairs=(()=>{let E=new Map(d.nodes.map((B,Z)=>[B.id,Z])),H=new Int32Array(d.edges.length*2),X=0;for(let B of d.edges){let Z=E.get(B.sourceNodeId),xe=E.get(B.targetNodeId);Z===void 0||xe===void 0||(H[X]=Z,H[X+1]=xe,X+=2)}return H.subarray(0,X)})(),d.alpha=1,d.forceParams=We?Lf(vl(d.nodes.length)):vl(d.nodes.length),d.lastTickMs=0,d.lastRenderMs=0,d.nodes.forEach((E,H)=>{let X=H*2.399963229728653,B=12*Math.sqrt(H);E.x=Math.cos(X)*B,E.y=Math.sin(X)*B});let Et=[...new Set(d.nodes.map(E=>E.type))];d.clustered=!We&&Et.length>1,d.typeCenters=d.typeCenters||{};let dn=We?0:160;Et.forEach((E,H)=>{if(d.typeCenters[E])return;let X=H/Et.length*Math.PI*2-Math.PI/2;d.typeCenters[E]={x:Math.cos(X)*dn,y:Math.sin(X)*dn}}),O.current=d;let pn=0,At=0,qt=null,qn="",_r=()=>{let E=C.clientWidth,H=C.clientHeight;d.w=E,d.h=H,C.width=E*se,C.height=H*se,x.setTransform(se,0,0,se,0,0),(pn===0||At===0)&&E>0&&H>0&&d.tickCount>0&&F.raf(()=>_e()),pn=E,At=H};_r();let Or=new ResizeObserver(_r);Or.observe(C.parentElement);let nn=(E,H)=>E&&E.length>H?E.slice(0,H)+"\u2026":E,Qe=(E,H,X,B)=>{if(x.beginPath(),B==="rect")x.rect(E-X,H-X*.75,X*2,X*1.5);else if(B==="diamond")x.moveTo(E,H-X),x.lineTo(E+X,H),x.lineTo(E,H+X),x.lineTo(E-X,H),x.closePath();else if(B==="hexagon"){for(let Z=0;Z<6;Z++){let xe=Math.PI/3*Z-Math.PI/2,De=E+X*Math.cos(xe),Oe=H+X*Math.sin(xe);Z===0?x.moveTo(De,Oe):x.lineTo(De,Oe)}x.closePath()}else x.arc(E,H,X,0,Math.PI*2)},sr=new Map,ja=(E,H)=>{let X=E+"|"+Math.round(H),B=sr.get(X);return B||(B=x.createRadialGradient(-H*.32,-H*.38,0,0,0,H*1.15),B.addColorStop(0,cr(E,"#ffffff",.2)),B.addColorStop(.62,E),B.addColorStop(1,cr(E,"#000000",.22)),sr.set(X,B)),B},_n=(E,H)=>{let X=parseInt(E.slice(1,3),16),B=parseInt(E.slice(3,5),16),Z=parseInt(E.slice(5,7),16);return"rgba("+X+","+B+","+Z+","+H+")"},cr=(E,H,X)=>{let B=Oe=>[parseInt(Oe.slice(1,3),16),parseInt(Oe.slice(3,5),16),parseInt(Oe.slice(5,7),16)],Z=B(E),xe=B(H),De=Math.max(0,Math.min(1,Number(X)||0));return"rgb("+Z.map((Oe,Xe)=>Math.round(Oe+(xe[Xe]-Oe)*De)).join(",")+")"},v=new Map,te=new Map,ye=(E,H,X,B)=>{let Z=Xe=>[parseInt(Xe.slice(1,3),16),parseInt(Xe.slice(3,5),16),parseInt(Xe.slice(5,7),16)],xe=Z(E),De=Z(H),Oe=Math.max(0,Math.min(1,Number(X)||0));return"rgba("+xe.map((Xe,Je)=>Math.round(Xe+(De[Je]-Xe)*Oe)).join(",")+","+B+")"},je=1.1,Be=.3,be=3,_e=()=>{if(!d.nodes.length)return;let E=1/0,H=-1/0,X=1/0,B=-1/0;d.nodes.forEach(ot=>{let St=Number(ot.r)||0,tt=ot.planet?St*1.32:St;ot.x-tt<E&&(E=ot.x-tt),ot.x+tt>H&&(H=ot.x+tt),ot.y-tt<X&&(X=ot.y-tt),ot.y+tt>B&&(B=ot.y+tt)});let Z=28,xe=H-E+Z*2,De=B-X+Z*2,Oe=Math.min(d.w/xe,d.h/De),Xe=Math.pow(1/je,be);d.zoom=Math.max(.35,Math.min(1.8,Oe*Xe));let Je=!(Array.isArray(t)&&t.length>1);d.planetLayer&&Je?d.zoom=Math.max(.12,Math.min(Be,Oe)):d.planetLayer&&(d.zoom=Math.max(.12,Oe*Math.pow(1/je,be-2))),d.panX=d.w/2-(E+H)/2*d.zoom,d.panY=d.h/2-(X+B)/2*d.zoom};h.current=_e;let yt=()=>{d.renderFrames=(d.renderFrames|0)+1;let E=d.zoom>=1.2?"in":"out";M.current&&M.current.dataset.zoom!==E&&(M.current.dataset.zoom=E),x.clearRect(0,0,d.w,d.h),d.searchTerm=me.current,d.kindFilter=k.current,d.timeMode=ie.current,d.tagFilter=Y.current;let H=d.tagFilter,X=d.kindFilter,B=I=>String(I||"").replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;");x.save();let Z=d.w+"x"+d.h;if(!qt||qn!==Z){qt=new Path2D;let I=26;for(let ze=I/2;ze<d.w;ze+=I)for(let Ue=I/2;Ue<d.h;Ue+=I)qt.moveTo(ze+1,Ue),qt.arc(ze,Ue,1,0,Math.PI*2);qn=Z}x.fillStyle="rgba(255,255,255,0.055)",x.fill(qt),x.restore(),x.save(),x.translate(d.panX,d.panY),x.scale(d.zoom,d.zoom);let xe={};d.nodes.forEach(I=>xe[I.id]=I);let De=performance.now()<(d.motionUntil||0),Oe=d.nodes.length>40,Xe=Oe?1.5:.55,Je=d.selectedId||d.hoverId,ot=kf({panX:d.panX,panY:d.panY,zoom:d.zoom,w:d.w,h:d.h,margin:80}),St=(()=>{let I=(d.searchTerm||"").toLowerCase();if(!I)return null;let ze=[];for(let Ue of d.nodes){let $e=(d.domainById[Ue.id]||{}).kind||"other";if(((Ue.name||"").toLowerCase().includes(I)||String(Tt[$e]||"").toLowerCase().includes(I)||String($e).toLowerCase().includes(I))&&ze.push(Ue.id),ze.length>200)break}return ze})(),tt=d.quality|0;(!d.labelOrder||d.labelOrder.src!==d.nodes)&&(d.labelOrder={src:d.nodes,ids:d.nodes.slice().sort((I,ze)=>(Number(Ae[ze.id])||0)-(Number(Ae[I.id])||0)).map(I=>I.id)});let jn=Cf(d.nodes,{limit:Sf(d.nodes.length,tt),focusId:Je,hoverId:d.hoverId,searchHits:St,degree:Ae,order:d.labelOrder.ids}),pr=d.zoom<=Xe?new Set((d.labelOrder&&d.labelOrder.ids?d.labelOrder.ids:[]).slice(0,12)):null,mn=new Map,Uo=(I,ze)=>{let Ue=I+"|"+ze,Se=mn.get(Ue);return Se===void 0&&(x.font=I,Se=x.measureText(ze).width,mn.set(Ue,Se)),Se},$o=d.nodes.length<=250,Rl=new Map,sg=d.nodes.length>1200&&d.zoom<.3,kd=d.zoom>=.6,Ll=tt>=3,Sd=tt<=0?1:tt===1?2:tt===2?4:8;d.edges.forEach((I,ze)=>{if(sg)return;let Ue=Je&&(I.sourceNodeId===Je||I.targetNodeId===Je);if(Je){if(!Ue)return}else if(Sd>1&&ze%Sd!==0)return;let Se=xe[I.sourceNodeId],$e=xe[I.targetNodeId];if(!Se||!$e||!yl(Se.x,Se.y,10,ot)&&!yl($e.x,$e.y,10,ot))return;if(X!=="all"){let Pl=d.domainById[I.sourceNodeId]&&d.domainById[I.sourceNodeId].kind,Dl=d.domainById[I.targetNodeId]&&d.domainById[I.targetNodeId].kind;if(Pl!==X&&Dl!==X)return}if(H){let Pl=d.domainById[I.sourceNodeId]&&(d.domainById[I.sourceNodeId].tags||[]).includes(H),Dl=d.domainById[I.targetNodeId]&&(d.domainById[I.targetNodeId].tags||[]).includes(H);if(!Pl&&!Dl)return}let bt=$e.x-Se.x,it=$e.y-Se.y,mt=Math.sqrt(bt*bt+it*it)||1,Wt=De||kd||tt>=2?0:Oe?10:16,Ft=-it/mt*Wt,Rt=bt/mt*Wt,Br=(Se.x+$e.x)/2+Ft,Bn=(Se.y+$e.y)/2+Rt,Hn=wn.colors[d.domainById[Se.id]&&d.domainById[Se.id].kind||"other"]||wn.colors.other,oa=Je?Ue?.72:.06:d.planetLayer?.22:Oe?.16:.2,Td=parseInt(Hn.slice(1,3),16),Md=parseInt(Hn.slice(3,5),16),Ed=parseInt(Hn.slice(5,7),16),zd=Math.max(1,Number(I.weight)||1),pg=Ue?1.6+Math.min(3.2,zd*.8):.7+Math.min(2.4,(zd-1)*.35),Rd=Math.min(kd||tt>=1?1.2:1/0,Math.round(pg*2)/2),Ld=Td+","+Md+","+Ed+","+oa+","+Rd,Wa=Rl.get(Ld);Wa||(Wa={path:new Path2D,stroke:"rgba("+Td+","+Md+","+Ed+","+oa+")",width:Rd},Rl.set(Ld,Wa)),Wa.path.moveTo(Se.x,Se.y),Wa.path.quadraticCurveTo(Br,Bn,$e.x,$e.y)}),Rl.forEach(I=>{x.strokeStyle=I.stroke,x.lineWidth=I.width,x.stroke(I.path)});let Ha=null;Je&&(Ha=new Set,d.edges.forEach(I=>{I.sourceNodeId===Je?Ha.add(I.targetNodeId):I.targetNodeId===Je&&Ha.add(I.sourceNodeId)}));let cg=(I,ze={})=>{let Ue=nn(I.name,ze.maxChars||16),Se=1/d.zoom,$e="500 "+(11.5*Se).toFixed(1)+"px -apple-system,Segoe UI,sans-serif";x.font=$e;let it=Uo($e,Ue)+14*Se,mt=17*Se,Wt=I.y+I.r+(ze.gap===void 0?8:ze.gap)*Se,Ft=!0;for(let Rt of Cd)if(I.x-it/2<Rt.x+Rt.w&&I.x+it/2>Rt.x&&Wt<Rt.y+Rt.h&&Wt+mt>Rt.y){Ft=!1;break}return!Ft&&!ze.force?!1:(Cd.push({x:I.x-it/2,y:Wt,w:it,h:mt}),x.fillStyle="rgba(20,24,30,0.78)",x.beginPath(),x.roundRect?x.roundRect(I.x-it/2,Wt,it,mt,4*Se):x.rect(I.x-it/2,Wt,it,mt),x.fill(),x.strokeStyle="rgba(255,255,255,0.07)",x.lineWidth=1*Se,x.stroke(),x.fillStyle=ze.strong?"#f2f5f8":"#aeb6c2",x.textAlign="center",x.textBaseline="top",x.fillText(Ue,I.x,Wt+4.6*Se),!0)},dg=(I,ze,Ue)=>{let Se=1/d.zoom,{isSel:$e,isHov:bt,dimmed:it}=Ue,mt=I.r*d.zoom;x.save(),x.globalAlpha=it?.16:1;let Wt="g|"+ze+"|"+Math.round(I.r),Ft=v.get(Wt);Ft||(Ft=x.createRadialGradient(0,0,I.r*.8,0,0,I.r*1.24),Ft.addColorStop(0,_n(ze,.18)),Ft.addColorStop(.58,_n(ze,.06)),Ft.addColorStop(1,_n(ze,0)),v.set(Wt,Ft)),x.save(),x.translate(I.x,I.y),!Ll&&(d.quality|0)<2&&(x.fillStyle=Ft,x.beginPath(),x.arc(0,0,I.r*1.24,0,Math.PI*2),x.fill());let Rt=d.timeMode?ze:wn.deep[I.type]||ze,Br="b|"+Rt+"|"+Math.round(I.r),Bn=te.get(Br);if(Bn||(Bn=x.createRadialGradient(-I.r*.26,-I.r*.32,I.r*.12,0,0,I.r*1.1),Bn.addColorStop(0,ye(Rt,"#ffffff",.24,.9)),Bn.addColorStop(.58,_n(Rt,.86)),Bn.addColorStop(1,ye(Rt,"#000000",.34,.9)),te.set(Br,Bn)),x.beginPath(),x.arc(0,0,I.r,0,Math.PI*2),x.fillStyle="rgba(13,16,21,0.92)",x.fill(),x.beginPath(),x.arc(0,0,I.r,0,Math.PI*2),x.fillStyle=Bn,x.fill(),x.beginPath(),x.arc(0,0,I.r-Math.max(.6,1.1*Se),Math.PI*1.06,Math.PI*1.94),x.strokeStyle="rgba(255,255,255,0.14)",x.lineWidth=Math.max(.7,1.2*Se),x.stroke(),x.beginPath(),x.arc(0,0,I.r,0,Math.PI*2),x.strokeStyle=_n(ze,$e||bt?.95:.58),x.lineWidth=Math.max(.8,1.1*Se),x.stroke(),x.restore(),($e||bt)&&(x.save(),x.beginPath(),x.arc(I.x,I.y,I.r+($e?7:5)*Se,0,Math.PI*2),x.strokeStyle=$e?"rgba(255,122,69,0.9)":_n(ze,.7),x.lineWidth=Math.max(1,1.2*Se),$e&&x.setLineDash([5*Se,4*Se]),x.stroke(),x.restore()),x.restore(),$e||bt||mt>=11){let Hn=Math.max(9,Math.min(21,mt*.42))*Se,oa=mt>=30;x.save(),x.textAlign="center",x.textBaseline="middle",x.shadowColor="rgba(0,0,0,0.5)",x.shadowBlur=(d.quality|0)>=2?0:5*Se,oa&&(x.font="600 "+(Hn*.48).toFixed(1)+"px -apple-system,Segoe UI,sans-serif",x.fillStyle="rgba(255,255,255,0.72)",x.fillText(nn(I.name,12),I.x,I.y-Hn*1.02)),x.font="700 "+Hn.toFixed(1)+"px -apple-system,Segoe UI,sans-serif",x.fillStyle="rgba(255,255,255,0.96)",x.fillText(zf(I.count,{unit:_.current("graphCountWan"),locale:_.current("graphCountLocale")}),I.x,I.y+(oa?Hn*.06:0)),oa&&(x.font="500 "+(Hn*.38).toFixed(1)+"px -apple-system,Segoe UI,sans-serif",x.fillStyle="rgba(255,255,255,0.5)",x.fillText(_.current("graphCardsUnit"),I.x,I.y+Hn*.92)),x.restore()}},Cd=[],Nd=[];if(d.nodes.forEach(I=>{if(!yl(I.x,I.y,I.r+2,ot))return;let ze=d.domainById[I.id]||{},Ue=ze.kind||"other",Se=d.timeMode&&ze.updated?O0(ze.updated):wn.colors[Ue]||wn.colors.other,$e=wn.shapes[Ue]||"circle",bt=d.selectedId===I.id,it=d.hoverId===I.id,mt=d.searchTerm||"",Wt=!mt||(I.name||"").toLowerCase().includes(mt)||String(Tt[Ue]||"").toLowerCase().includes(mt)||String(Ue).toLowerCase().includes(mt),Ft=X==="all"||Ue===X,Rt=!H||(ze.tags||[]).includes(H),Br=Je&&I.id!==Je&&!(Ha&&Ha.has(I.id))||mt&&!Wt||!Ft||!Rt;if(I.planet){Nd.push({n:I,color:Se,isSel:bt,isHov:it,dimmed:Br,ok:Ft&&Rt});return}x.save(),x.globalAlpha=Br?.08:1,(bt||it)&&$o&&(x.shadowColor=Se,x.shadowBlur=bt?16:11),x.translate(I.x,I.y),Qe(0,0,I.r,$e),x.fillStyle=Ll?Se:ja(Se,I.r),x.fill(),(!Ll||bt||it)&&(x.strokeStyle="rgba(255,255,255,0.16)",x.lineWidth=Math.max(.6,.8*(1/d.zoom)),x.stroke()),Ue==="core"&&(x.fillStyle="#1b120e",x.font="700 "+Math.max(10,Math.round(I.r*.95))+"px sans-serif",x.textAlign="center",x.textBaseline="middle",x.fillText("\u2605",0,0)),x.restore(),bt?(x.save(),Qe(I.x,I.y,I.r+3,$e),x.strokeStyle=Se,x.lineWidth=3,x.shadowColor=Se,x.shadowBlur=12,x.stroke(),x.restore()):it?(x.save(),Qe(I.x,I.y,I.r+2,$e),x.strokeStyle=Se,x.lineWidth=2,x.stroke(),x.restore()):mt&&Wt?(x.save(),Qe(I.x,I.y,I.r+2,$e),x.strokeStyle="#ffa06b",x.lineWidth=2,x.stroke(),x.restore()):d.multi.indexOf(I.id)>=0&&(x.save(),Qe(I.x,I.y,I.r+2,$e),x.strokeStyle="#60a5fa",x.lineWidth=2,x.shadowColor="#60a5fa",x.shadowBlur=8,x.stroke(),x.restore()),(bt||it||!De&&(jn.has(I.id)&&d.zoom>Xe||!Oe&&d.zoom>.6||pr&&pr.has(I.id)))&&Ft&&Rt&&cg(I,{force:bt||it})}),Nd.forEach(I=>dg(I.n,I.color,I)),x.restore(),d.marquee){let I=d.marquee,ze=Math.min(I.sx,I.ex),Ue=Math.min(I.sy,I.ey),Se=Math.abs(I.ex-I.sx),$e=Math.abs(I.ey-I.sy);x.save(),x.setLineDash([4,4]),x.strokeStyle="rgba(96,165,250,0.9)",x.lineWidth=1,x.fillStyle="rgba(96,165,250,0.12)",x.fillRect(ze,Ue,Se,$e),x.strokeRect(ze,Ue,Se,$e),x.restore()}if(d.hoverId&&Re.current){let I=d.domainById[d.hoverId],ze=d.nodes.find(function(Ue){return Ue.id===d.hoverId});if(I&&ze){let Ue=d.edges.filter(function(mt){return mt.sourceNodeId===I.id||mt.targetNodeId===I.id}).length,Se=ze.x*d.zoom+d.panX,$e=ze.y*d.zoom+d.panY;Re.current.style.display="block",Re.current.style.left=Se+14+"px",Re.current.style.top=$e-6+"px";let bt=ze.planet?_.current("graphPlanetCards").replace("{n}",String(ze.count))+" \xB7 "+_.current("graphEnter"):_.current("connCount").replace("{n}",Ue),it=_.current(Tt[I.kind]||"kindKnowledge");Re.current.innerHTML="<b>"+B(I.title||I.name||"")+'</b><br/><span style="opacity:.8">'+B(it)+" \xB7 "+B(bt)+"</span>"}}else Re.current&&(Re.current.style.display="none")},gt=0,jr=0,vt=0,dr=()=>{d.lastInputAt=performance.now(),d.motionUntil=performance.now()+140,vt&&F.clearTimeout(vt),vt=F.setTimeout(()=>{vt=0,zt()},160)},zt=()=>{jr||(jr=F.raf(()=>{jr=0;let E=performance.now();try{yt()}catch(H){Ar(H,"render")}d.lastRenderMs=performance.now()-E}))};d.requestRender=zt;let aa=()=>{gt>0||(d.alpha=Math.max(d.alpha||0,.35),d.running=!0,d.raf||(d.raf=F.raf(oe)))};d.wake=aa,d.render=yt;let T=()=>{if(!We)return;d.planetsSrc!==d.nodes&&(d.planets=d.nodes.filter(H=>H.planet),d.planetsSrc=d.nodes);let E=d.planets;if(!(!E||!E.length)){for(let H=0;H<E.length;H++)for(let X=H+1;X<E.length;X++){let B=E[H],Z=E[X],xe=Z.x-B.x,De=Z.y-B.y,Oe=Math.sqrt(xe*xe+De*De)||1,Xe=24+Math.min(B.r,Z.r)*.18,Je=B.r+Z.r+Xe;if(Oe>=Je)continue;let ot=Je-Oe,St=xe/Oe,tt=De/Oe,jn=B.r*B.r,pr=Z.r*Z.r,mn=jn+pr,Uo=ot*(pr/mn),$o=ot*(jn/mn);B.x-=St*Uo,B.y-=tt*Uo,Z.x+=St*$o,Z.y+=tt*$o,B.vx*=.55,B.vy*=.55,Z.vx*=.55,Z.vy*=.55}for(let H of E)for(let B of d.nodes){if(B.planet||B===d.dragNode)continue;let Z=B.x-H.x,xe=B.y-H.y,De=Math.sqrt(Z*Z+xe*xe)||1,Oe=Z/De,Xe=xe/De,Je=H.r+B.r+30,ot=Je+12;if(De>=ot)continue;let St=De;if(De<Je){B.x=H.x+Oe*Je,B.y=H.y+Xe*Je;let mn=B.vx*Oe+B.vy*Xe;mn<0&&(B.vx-=Oe*mn,B.vy-=Xe*mn),St=Je}let tt=Math.min(1,(ot-St)/12),jn=(.28+H.r*.009)*tt*tt,pr=B.vx*Oe+B.vy*Xe;if(pr<jn){let mn=(jn-pr)*.5;B.vx+=Oe*mn,B.vy+=Xe*mn}}}},K=()=>{let E=performance.now(),H=Tf(d,{params:d.forceParams,alphaFloor:d.drift?1:0,damping:d.drift?.8:void 0});T(),d.lastTickMs=performance.now()-E,d.lastRms=H.rms,d.autoFitPending&&d.tickCount>45&&(d.autoFitPending=!1,_e())},oe=()=>{if(!d.running)return;let E=performance.now(),H=0;d.lastStepAt&&E-d.lastStepAt>0&&E-d.lastStepAt<120&&(H=E-d.lastStepAt,d.frameEma=d.frameEma?d.frameEma*.8+H*.2:H),d.lastStepAt=E,d.tickCount>30&&H>0&&(d.frameEma>17.8?d.perfBad=(d.perfBad||0)+H:d.perfBad=Math.max(0,(d.perfBad||0)-H*.5),d.perfBad>500&&(d.quality|0)<3&&(d.quality=(d.quality|0)+1,d.perfBad=0,d.frameEma=16.7),d.frameEma&&d.frameEma<13.5?d.goodMs=(d.goodMs||0)+H:d.goodMs=0,(d.goodMs||0)>4e3&&(d.quality|0)>0&&(d.quality=(d.quality|0)-1,d.goodMs=0));let X=performance.now()-(d.lastInputAt||0);if(d.drift&&(X>4e3||(d.quality|0)>=1&&X>1200)){d.drift=!1,d.running=!1,d.raf=0;return}!d.drift&&(d.quietTicks>id||d.alpha===0&&d.tickCount>120)&&(d.quietTicks=0,d.drift=!0,d.alpha=Math.max(d.alpha||0,1),d.motionUntil=0,d.userTouched||_e());try{let B=performance.now(),Z=d.dragNode||d.drift?1:6,xe=0;do K(),xe+=1;while(!d.dragNode&&!d.drift&&xe<Z&&performance.now()-B<18&&d.quietTicks<=id);d.drift||(d.motionUntil=performance.now()+60);let De=performance.now();yt(),d.lastRenderMs=performance.now()-De}catch(B){Ar(B,"step")}d.raf=F.raf(oe)},Me=()=>({nodes:d.nodes.length,edges:d.edges.length,planets:d.nodes.filter(E=>E.planet).length,level:d.levelId||"",tickCount:d.tickCount,quietTicks:d.quietTicks,running:!!d.running,dragging:!!d.dragNode,lastTickMs:Math.round((d.lastTickMs||0)*100)/100,lastRenderMs:Math.round((d.lastRenderMs||0)*100)/100,rms:Math.round((d.lastRms||0)*1e3)/1e3,alpha:Math.round((d.alpha||0)*1e3)/1e3,drift:!!d.drift,frames:d.renderFrames|0,quality:d.quality|0,frameEma:Math.round((d.frameEma||0)*10)/10});d.stats=Me,globalThis.__meGraphStats=Me;let Ee=()=>{let E=C.getBoundingClientRect(),H=E.width?C.clientWidth/E.width:1,X=E.height?C.clientHeight/E.height:1;return{level:d.levelId||"",planetLayer:!!d.planetLayer,nodes:d.nodes.length,planets:d.nodes.filter(B=>B.planet).length,edges:d.edges.length,running:!!d.running,quietTicks:d.quietTicks,zoom:Math.round(d.zoom*1e3)/1e3,panX:Math.round(d.panX),panY:Math.round(d.panY),selected:d.selectedId||null,multi:Array.isArray(d.multi)?d.multi.length:0,drift:!!d.drift,frames:d.renderFrames|0,resources:F.snapshot(),screen:d.nodes.map(B=>({id:B.id,label:B.name,planet:!!B.planet,count:B.count||0,dir:B.orbitDir||0,scale:B.orbitScale?Math.round(B.orbitScale*100)/100:0,x:E.left+(B.x*d.zoom+d.panX)/H,y:E.top+(B.y*d.zoom+d.panY)/X,r:Math.max(4,B.r*d.zoom/H)}))}};d.runtime=Ee,globalThis.__meGraphRuntime=Ee;let ke=(E,H)=>{let X=C.getBoundingClientRect(),B=X.width?C.clientWidth/X.width:1,Z=X.height?C.clientHeight/X.height:1;return{x:(E-X.left)*B,y:(H-X.top)*Z}},ut=(E,H)=>{let X=ke(E,H);return{x:(X.x-d.panX)/d.zoom,y:(X.y-d.panY)/d.zoom}},un=E=>{let H=d.domainById[E];return!(!H||k.current!=="all"&&H.kind!==k.current||Y.current&&!(H.tags||[]).includes(Y.current))},Cn=(E,H,X)=>Math.max(H,Math.min(X,E)),On=E=>{d.mouseX=E.clientX,d.mouseY=E.clientY;let H=ut(E.clientX,E.clientY),X=null;for(let B=d.nodes.length-1;B>=0;B--){let Z=d.nodes[B];if(!un(Z.id))continue;let xe=Z.x-H.x,De=Z.y-H.y;if(xe*xe+De*De<Z.r*Z.r+36){X=Z.id;break}}X!==d.hoverId&&(d.hoverId=X,d.motionUntil=performance.now()+140,zt())},Nn=E=>{if(E.button!==0)return;let H=ut(E.clientX,E.clientY),X=null;for(let B=d.nodes.length-1;B>=0;B--){let Z=d.nodes[B];if(!un(Z.id))continue;let xe=Z.x-H.x,De=Z.y-H.y;if(xe*xe+De*De<Z.r*Z.r+25){X=Z;break}}if(E.shiftKey){if(X){d.shiftClick=X.id;return}d.marquee={sx:E.clientX,sy:E.clientY,ex:E.clientX,ey:E.clientY};return}d.userTouched=!0,d.dragStart={x:E.clientX,y:E.clientY,px:d.panX,py:d.panY},d.dragging=!1,d.dragNode=X||null,X&&(d.dragOffset={dx:X.x-H.x,dy:X.y-H.y})},Tl=E=>{if(d.marquee){d.marquee.ex=E.clientX,d.marquee.ey=E.clientY,dr(),zt();return}if(!d.dragStart)return;let H=E.clientX-d.dragStart.x,X=E.clientY-d.dragStart.y;if(Math.abs(H)+Math.abs(X)>3&&!d.dragging&&(d.dragging=!0,d.dragNode&&(d.alpha=Math.max(d.alpha||0,.35))),d.dragNode){let B=ut(E.clientX,E.clientY);d.dragNode.x=B.x+d.dragOffset.dx,d.dragNode.y=B.y+d.dragOffset.dy,dr(),aa()}else d.dragging&&(d.panX=Cn(d.dragStart.px+H,-1e5,1e5),d.panY=Cn(d.dragStart.py+X,-1e5,1e5),dr(),zt())},Ml=E=>{if(d.marquee){let B=d.marquee;d.marquee=null;let Z=ke(B.sx,B.sy),xe=ke(B.ex,B.ey),De=Math.min(Z.x,xe.x),Oe=Math.max(Z.x,xe.x),Xe=Math.min(Z.y,xe.y),Je=Math.max(Z.y,xe.y),ot=d.nodes.filter(St=>!St.planet&&un(St.id)).filter(St=>{let tt=St.x*d.zoom+d.panX,jn=St.y*d.zoom+d.panY;return tt>=De&&tt<=Oe&&jn>=Xe&&jn<=Je}).map(St=>St.id);d.multi=ot,ue(ot),dr(),zt();return}let H=d.dragStart&&!d.dragging,X=!!d.dragNode&&!!d.dragging;if(d.shiftClick){let B=d.shiftClick;d.shiftClick=null;let Z=d.nodeById.get(B);if(Z&&Z.planet){d.selectedId=B,ve(B),zt();return}let xe=Array.isArray(d.multi)?d.multi.slice():[];xe.includes(B)||xe.push(B),d.multi=xe,ue(xe),zt();return}if(H){let B=ut(E.clientX,E.clientY),Z=null;for(let xe=d.nodes.length-1;xe>=0;xe--){let De=d.nodes[xe];if(!un(De.id))continue;let Oe=De.x-B.x,Xe=De.y-B.y;if(Oe*Oe+Xe*Xe<De.r*De.r+20){Z=De;break}}if(Z&&Z.planet){d.selectedId=null,ve(null),zt(),d.dragStart=null,d.dragging=!1,d.dragNode=null,ge.current&&ge.current(Z.id);return}Z?d.selectedId===Z.id?(d.selectedId=null,ve(null),zt()):(d.selectedId=Z.id,ve(Z.id),zt()):(d.selectedId=null,d.hoverId=null,E.shiftKey||(d.multi=[],ue([])),ve(null),zt())}d.dragStart=null,d.dragging=!1,d.dragNode=null,X&&aa()},ag=E=>{E.preventDefault();let H=ut(E.clientX,E.clientY),X=null;for(let B=d.nodes.length-1;B>=0;B--){let Z=d.nodes[B];if(!un(Z.id))continue;let xe=Z.x-H.x,De=Z.y-H.y;if(xe*xe+De*De<Z.r*Z.r+25){X=Z;break}}if(X){let B=d.domainById[X.id];B&&w({x:E.clientX,y:E.clientY,id:X.id,path:B.id,title:B.title,planet:!!X.planet,count:X.count||0})}else w(null)},og=E=>{E.preventDefault();let H=ke(E.clientX,E.clientY),X=(H.x-d.panX)/d.zoom,B=(H.y-d.panY)/d.zoom,Z=Math.max(Be,Math.min(3,d.zoom*(E.deltaY<0?je:1/je)));d.panX=Cn(d.panX+X*(d.zoom-Z),-1e5,1e5),d.panY=Cn(d.panY+B*(d.zoom-Z),-1e5,1e5),d.zoom=Z,d.userTouched=!0,dr(),zt()};F.listen(C,"mousemove",On),F.listen(C,"mousedown",Nn),F.listen(window,"mousemove",Tl),F.listen(window,"mouseup",Ml),F.listen(C,"wheel",og,{passive:!1}),F.listen(C,"contextmenu",ag),m.current=()=>{d.selectedId=null,d.hoverId=null,d.multi=[],ue([]),d.userTouched=!1,_e(),dr(),zt()},gt=Nf(d.nodes.length);let Ba=gt,ig=()=>Ba>0?Math.round((Ba-gt)/Ba*100):100;gt>0&&qe(0);let El=Ba>0?[.75,.5,.25].map(E=>Math.round(Ba*E)):[],zl=()=>{if(!d.running)return;let E=performance.now();for(;gt>0&&performance.now()-E<12;)K(),gt--;if(qe(gt>0?Math.min(99,ig()):100),El.length&&gt<=El[0]){El.shift(),d.userTouched||_e();try{yt()}catch(H){Ar(H,"warm-frame")}}if(gt>0){d.userTouched||_e(),d.warmRaf=F.raf(zl);return}d.warmRaf=0,d.userTouched||_e();try{yt()}catch(H){Ar(H,"warm-final")}qe(null),aa()};d.warmStep=zl,_e();try{yt()}catch(E){Ar(E,"first-frame")}gt>0?d.warmRaf=F.raf(zl):(qe(0),aa());let lg=()=>re(!1);return F.listen(window,"mousedown",lg),()=>{if(d.running=!1,F.releaseAll(),globalThis.__meGraphStats===Me)try{delete globalThis.__meGraphStats}catch{globalThis.__meGraphStats=void 0}if(globalThis.__meGraphRuntime===Ee)try{delete globalThis.__meGraphRuntime}catch{globalThis.__meGraphRuntime=void 0}try{Or.disconnect()}catch{}}},[b,L,j]),(0,u.useEffect)(()=>{ve(null),ue([]),w(null);let C=O.current;C&&(C.selectedId=null,C.multi=[])},[j]),(0,u.useEffect)(()=>{S!==void 0&&h.current&&requestAnimationFrame(()=>{try{h.current()}catch(C){Ar(C,"fit")}})},[S]),(0,r.jsxs)("div",{className:"me-graph",ref:M,children:[(0,r.jsxs)("div",{className:"me-graph-toolbar",children:[(0,r.jsxs)("label",{className:"me-graph-search",children:[(0,r.jsxs)("svg",{className:"ico",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"1.6","aria-hidden":"true",children:[(0,r.jsx)("circle",{cx:"7",cy:"7",r:"4.4"}),(0,r.jsx)("path",{d:"m10.4 10.4 3.2 3.2",strokeLinecap:"round"})]}),(0,r.jsx)("input",{type:"text",placeholder:f("search"),value:fe,onChange:C=>Pe(C.target.value),"aria-label":f("search")})]}),(0,r.jsxs)("span",{style:{position:"relative",display:"inline-flex"},children:[(0,r.jsxs)("button",{type:"button",className:"me-gtool"+(ne!=="all"||he||G?" on":""),onClick:()=>re(C=>!C),"aria-expanded":Ie,title:f("filterLabel"),children:[f("filterLabel"),ne!=="all"||he||G?(0,r.jsx)("span",{className:"badge","aria-hidden":"true"}):(0,r.jsx)("span",{className:"caret","aria-hidden":"true",children:"\u25BE"})]}),Ie&&(0,r.jsx)("div",{className:"me-graph-legend-pop",onMouseDown:C=>C.stopPropagation(),style:{position:"absolute",top:"calc(100% + 8px)",left:0,zIndex:50,background:"rgba(24,28,34,0.97)",backdropFilter:"blur(16px)",WebkitBackdropFilter:"blur(16px)",color:"#e5e9ef",border:"1px solid rgba(255,255,255,0.08)",borderRadius:11,padding:8,minWidth:236,boxShadow:"0 18px 44px rgba(0,0,0,.5)"},children:(0,r.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:2},children:[(0,r.jsx)("button",{type:"button",className:`lg${ne==="all"&&!he?" active":""}`,onClick:()=>{Ge("all"),Le(!1)},children:f("all")}),Object.keys(Kt).map(C=>(0,r.jsxs)("button",{type:"button",className:`lg${ne===C?" active":""}`,onClick:()=>Ge(x=>x===C?"all":C),children:[(0,r.jsx)("span",{className:"mc-kind",style:{background:wn.colors[C]||Kt[C]}}),f(Tt[C])]},C)),(0,r.jsx)("div",{style:{height:1,background:"rgba(255,255,255,0.07)",margin:"5px 0"}}),(0,r.jsxs)("button",{type:"button",className:`lg${he?" active":""}`,onClick:()=>Le(C=>!C),children:["\u23F1 ",f("timeDim")]}),q.length>0&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("div",{style:{height:1,background:"rgba(255,255,255,0.07)",margin:"5px 0"}}),(0,r.jsx)("div",{style:{maxHeight:130,overflow:"auto",display:"flex",flexWrap:"wrap",gap:4,padding:"1px 1px 2px"},children:q.map(C=>(0,r.jsxs)("button",{type:"button",className:`lg${G===C.tag?" active":""}`,style:{width:"auto",color:"#b9c0ca",padding:"2px 7px",fontSize:10.5,border:"1px solid rgba(255,255,255,.07)"},onClick:()=>z(x=>x===C.tag?"":C.tag),title:C.tag,children:["#",C.tag," ",(0,r.jsx)("span",{style:{opacity:.55},children:C.n})]},C.tag))})]}),(ne!=="all"||he||G)&&(0,r.jsxs)("button",{type:"button",className:"lg lg-clear",style:{color:"#f87171"},onClick:()=>{Ge("all"),Le(!1),z("")},children:[f("clearFilter")," \u2715"]})]})})]}),(0,r.jsxs)("label",{className:"me-gswitch"+(g?" on":""),title:f("crossVault"),children:[(0,r.jsx)("input",{type:"checkbox",checked:!!g,onChange:C=>y&&y(C.target.checked)}),(0,r.jsx)("span",{className:"track","aria-hidden":"true"}),(0,r.jsx)("span",{children:f("crossVault")})]}),(0,r.jsx)("button",{type:"button",className:"me-gtool"+(he?" on":""),"aria-pressed":he,onClick:()=>Le(C=>!C),children:f("timeDim")}),(0,r.jsx)("span",{className:"me-gdiv","aria-hidden":"true"}),(0,r.jsx)("button",{type:"button",className:"me-gtool",onClick:()=>{let C=R.current;if(C)try{C.toBlob(x=>{x&&pe({url:URL.createObjectURL(x),blob:x})},"image/png")}catch{}},children:f("exportGraph")}),(0,r.jsx)("button",{type:"button",className:"me-gtool",onClick:()=>h.current&&h.current(),children:f("fit")}),(0,r.jsx)("button",{type:"button",className:"me-gtool",onClick:()=>{ve(null),Ge("all"),m.current&&m.current()},children:f("reset")})]}),(0,r.jsxs)("div",{className:"me-graph-canvas",style:{position:"relative",overflow:"hidden"},children:[(0,r.jsx)("canvas",{ref:R,style:{width:"100%",height:"100%",display:"block",cursor:"grab"}}),(0,r.jsx)(I0,{crumbs:t,t:f,onPick:l,busy:p}),c&&(0,r.jsxs)("div",{className:"me-graph-levelerr",role:"alert",children:[(0,r.jsx)("span",{style:{flex:"none",fontWeight:800},children:c.timeout?"\u23F1":"\u2715"}),(0,r.jsx)("span",{className:"msg",children:(c.timeout?f("graphLevelTimeout").replace("{ms}",String(1600)):f("graphLevelError"))+"\uFF1A"+c.message}),(0,r.jsx)("button",{type:"button",onClick:()=>s&&s(),children:f("graphRetry")})]}),!c&&p&&(0,r.jsxs)("div",{className:"me-graph-levelbusy",role:"status","aria-live":"polite",children:[(0,r.jsx)(Sl,{small:!0}),f("graphLevelLoading")]}),we!==null&&(0,r.jsxs)("div",{role:"status","aria-live":"polite",style:{position:"absolute",left:"50%",top:14,transform:"translateX(-50%)",zIndex:3,display:"flex",alignItems:"center",gap:9,padding:"6px 12px",borderRadius:999,background:"rgba(23,27,33,0.9)",backdropFilter:"blur(14px)",WebkitBackdropFilter:"blur(14px)",color:"#e8ebf0",fontSize:11,fontWeight:500,letterSpacing:".01em",pointerEvents:"none",border:"1px solid rgba(255,255,255,0.07)",boxShadow:"0 10px 26px rgba(0,0,0,.3)"},children:[(0,r.jsx)(Sl,{value:we,small:!0}),(0,r.jsxs)("span",{children:[f("graphWarming").replace("{n}",D.length)," \xB7 ",Math.round(we),"%"]})]}),(0,r.jsxs)("div",{className:"mc-v5-graph-legend",children:[(0,r.jsx)("div",{className:"mc-v5-graph-legend-title",children:f("graphLegendTitle")}),Object.keys(wn.colors).filter(C=>W[C]).map(C=>(0,r.jsxs)("div",{className:"mc-v5-graph-legend-row",children:[(0,r.jsx)("i",{style:{background:wn.colors[C],boxShadow:"0 0 0 3px "+wn.colors[C]+"24"}}),(0,r.jsx)("span",{children:f(Tt[C]||"kindKnowledge")}),(0,r.jsx)("b",{children:W[C]})]},C))]}),(0,r.jsx)("div",{className:"me-graph-tooltip",ref:Re,style:{display:"none",position:"absolute",zIndex:4,pointerEvents:"none",background:"rgba(24,28,34,0.94)",backdropFilter:"blur(14px)",WebkitBackdropFilter:"blur(14px)",color:"#e6eaf0",border:"1px solid rgba(255,255,255,0.08)",borderRadius:9,padding:"8px 10px",fontSize:11.5,maxWidth:220,boxShadow:"0 12px 30px rgba(0,0,0,.34)"}}),de&&(0,r.jsx)("div",{className:"mc-empty",style:{position:"absolute",inset:0,zIndex:2,display:"flex",alignItems:"center",justifyContent:"center",backdropFilter:"blur(2px)",WebkitBackdropFilter:"blur(2px)"},children:f("noMatch")}),ee&&(0,r.jsx)("div",{className:"me-graph-ctx-back",style:{position:"fixed",inset:0,zIndex:30},onMouseDown:()=>w(null)}),ee&&(0,r.jsxs)("div",{className:"me-graph-ctxmenu",style:{position:"fixed",left:ee.x,top:ee.y,zIndex:31},onMouseDown:C=>C.stopPropagation(),children:[ee.planet&&(0,r.jsxs)("button",{type:"button",onClick:()=>{let C=ee.id;w(null),ge.current&&ge.current(C)},children:[f("graphEnter")," \u203A"]}),ee.planet&&(0,r.jsx)("div",{style:{padding:"4px 10px 6px",fontSize:11,opacity:.7},children:f("graphPlanetCards").replace("{n}",String(ee.count||0))}),!ee.planet&&(0,r.jsx)("button",{type:"button",onClick:()=>{U.current({path:ee.path,title:ee.title}),w(null)},children:f("openCard")}),!ee.planet&&(0,r.jsx)("button",{type:"button",onClick:()=>{ee.id&&(O.current.selectedId=ee.id,ve(ee.id)),w(null);let C=O.current;C&&C.requestRender&&C.requestRender()},children:f("focusNeighbors")}),(0,r.jsx)("button",{type:"button",onClick:()=>{try{navigator.clipboard&&navigator.clipboard.writeText(ee.title||"")}catch{}w(null),He(f("copied"))},children:f("copyName")}),!ee.planet&&(0,r.jsx)("button",{type:"button",onClick:()=>{let C=O.current,x=C&&Array.isArray(C.multi)?C.multi.slice():[],se=ee.id;if(se&&!x.includes(se)&&x.push(se),w(null),x.length<2){He(f("mergeNeed"),!1);return}if(!window.confirm(f("mergeConfirm")))return;let Ae=ce.current&&ce.current(x);Ae&&Ae.then?Ae.then(N=>N?He(f("merged")):He(f("mergeFail"),!1)).catch(()=>He(f("mergeFail"),!1)):Ae&&He(f("merged"))},children:f("merge")}),!ee.planet&&(0,r.jsx)("button",{type:"button",style:{color:"#f87171"},onClick:()=>{let C=ee.path;w(null),window.confirm(f("deleteConfirm"))&&(async()=>{try{($.current?await $.current(C):!1)?He(f("deleted")):He(f("deleteFail"),!1)}catch{He(f("deleteFail"),!1)}})()},children:f("delete")})]}),Ce.length>0&&(0,r.jsxs)("div",{style:{position:"absolute",left:"50%",bottom:52,transform:"translateX(-50%)",zIndex:3,display:"flex",gap:8,alignItems:"center",background:"rgba(24,28,34,0.94)",backdropFilter:"blur(14px)",WebkitBackdropFilter:"blur(14px)",color:"#e6eaf0",border:"1px solid rgba(255,255,255,0.08)",borderRadius:11,padding:"7px 11px",fontSize:11.5,boxShadow:"0 14px 34px rgba(0,0,0,.4)"},children:[(0,r.jsxs)("span",{style:{fontWeight:700},children:[Ce.length," ",f("nodes")]}),(0,r.jsx)("button",{type:"button",className:"mc-btn",onClick:()=>{let x=Ce.map(F=>Te[F]).filter(Boolean).map(F=>F.title||F.name).join(`
1247
+ `),se=new Blob([x],{type:"text/plain;charset=utf-8"}),Ae=URL.createObjectURL(se),N=document.createElement("a");N.href=Ae,N.download="memory-selected.txt",document.body.appendChild(N),N.click(),document.body.removeChild(N),setTimeout(()=>URL.revokeObjectURL(Ae),1e3),He(Ce.length+f("exportedSel"))},children:f("exportSel")}),(0,r.jsx)("button",{type:"button",className:"mc-btn",onClick:()=>{if(Ce.length<2){He(f("mergeNeed"),!1);return}let C=Ce.map(se=>Te[se]?Te[se].id:se);if(!window.confirm(f("mergeConfirm")))return;ue([]);let x=O.current;x&&(x.multi=[]),fetch(`${J}/merge?paths=${encodeURIComponent(C.join(","))}`).then(se=>se.json()).then(se=>{se&&se.ok?He(f("merged")):He(f("mergeFail"),!1)}).catch(()=>He(f("mergeFail"),!1))},children:f("merge")}),(0,r.jsx)("button",{type:"button",className:"mc-btn",style:{color:"#f87171"},onClick:()=>{if(!window.confirm(f("deleteConfirm")))return;let C=Ce.map(se=>Te[se]?Te[se].id:se);ue([]);let x=O.current;x&&(x.multi=[]),(async()=>{let se=0;for(let Ae of C)try{($.current?await $.current(Ae):!1)&&se++}catch{}He(se+f("deletedSelected"),se>0)})()},children:f("deleteSelected")}),(0,r.jsx)("button",{type:"button",className:"mc-btn",onClick:()=>{let C=O.current;C&&(C.multi=[]),ue([]);let x=O.current;x&&x.render&&x.render()},children:f("clearSelection")})]}),V&&Te[V]&&(0,r.jsxs)("div",{className:"me-graph-sidebar",style:{position:"absolute",right:14,top:14,zIndex:3,maxWidth:248,background:"rgba(24,28,34,0.94)",backdropFilter:"blur(14px)",WebkitBackdropFilter:"blur(14px)",color:"#e6eaf0",border:"1px solid rgba(255,255,255,0.08)",borderRadius:11,padding:13,fontSize:11.5,boxShadow:"0 14px 34px rgba(0,0,0,.38)"},children:[(0,r.jsx)("div",{style:{fontWeight:700,fontSize:13,marginBottom:4},children:Te[V]?Te[V].title||Te[V].name:V}),(0,r.jsxs)("div",{style:{opacity:.8,marginBottom:8},children:[Te[V]?f(Tt[Te[V].kind]||"kindKnowledge"):"\u2014",Te[V]&&Te[V].type==="planet"?" \xB7 "+f("graphPlanetCards").replace("{n}",String(Te[V].count||0)):""]}),Te[V]&&Te[V].type==="planet"&&(0,r.jsxs)("button",{type:"button",className:"mc-btn",style:{width:"100%",marginBottom:8},onClick:()=>{let C=V;ve(null),ge.current&&ge.current(C)},children:[f("graphEnter")," \u203A"]}),(0,r.jsx)("div",{style:{fontSize:11,opacity:.65,letterSpacing:".04em",marginBottom:6},children:f("graphLevelHint")}),(L.filter(C=>C.source===V||C.target===V)||[]).slice(0,8).map((C,x)=>{let se=C.source===V?C.target:C.source,Ae=Te[se];return(0,r.jsx)("div",{style:{padding:"4px 6px",cursor:"pointer",borderRadius:6},onMouseDown:N=>{N.preventDefault();let F=O.current;F&&(F.selectedId=se,F.hoverId=se,F.requestRender&&F.requestRender()),ve(se)},children:Ae?(Ae.title||Ae.name).slice(0,28):se},x)})]})]}),(0,r.jsx)("div",{className:"me-graph-tip",children:f("graphTip")}),kt&&(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,position:"fixed",left:"50%",transform:"translateX(-50%)",top:22,zIndex:70,background:"rgba(20,22,26,0.97)",backdropFilter:"blur(12px)",WebkitBackdropFilter:"blur(12px)",color:"#f5f5f5",borderRadius:12,padding:"10px 20px",fontSize:13.5,fontWeight:600,boxShadow:"0 14px 44px rgba(0,0,0,.5)",pointerEvents:"none",animation:"me-pop .22s ease",borderLeft:"4px solid "+(kt.ok?"#22c55e":"#ef4444"),maxWidth:"90vw"},children:[(0,r.jsx)("span",{style:{color:kt.ok?"#34d399":"#f87171",fontWeight:800,fontSize:15},children:kt.ok?"\u2713":"\u2715"}),(0,r.jsx)("span",{style:{wordBreak:"break-all"},children:kt.msg})]}),A&&(0,r.jsxs)("div",{className:"me-overlay",onClick:()=>{A.url&&URL.revokeObjectURL(A.url),pe(null),Ne(!1)},children:[(0,r.jsx)("style",{children:kn}),(0,r.jsxs)("div",{className:"me-dialog",style:{maxWidth:ae?"100vw":900,width:ae?"100vw":"92vw",maxHeight:ae?"100%":"90vh",height:ae?"100%":void 0,borderRadius:ae?0:14},onClick:C=>C.stopPropagation(),children:[(0,r.jsxs)("div",{className:"me-dialog-head",children:[(0,r.jsx)("h3",{children:f("exportGraph")}),(0,r.jsxs)("div",{className:"me-head-actions",children:[(0,r.jsx)("a",{className:"mc-btn",href:A.url,download:"memory-graph.png",onClick:()=>{In("download"),He(f("downloaded")+" \xB7 "+f("defaultDownloads"))},style:{textDecoration:"none",display:"inline-flex",alignItems:"center"},children:f(en==="download"?"done":"download")}),(0,r.jsx)("button",{type:"button",className:"mc-btn",onClick:()=>{In("full"),Ne(C=>!C),He(f("fullscreen"))},children:f(en==="full"?"done":ae?"exitFull":"fullscreen")}),(0,r.jsx)("button",{type:"button",className:"mc-btn",onClick:()=>{let C=A.blob;C&&window.ClipboardItem&&navigator.clipboard?navigator.clipboard.write([new window.ClipboardItem({"image/png":C})]).then(()=>{In("copy"),He(f("copied"))}).catch(()=>{He(f("copyFail"),!1)}):He(f("copyFail"),!1)},children:f(en==="copy"?"done":"copyImage")}),(0,r.jsx)("button",{type:"button",className:"mc-btn",onClick:()=>{A.url&&URL.revokeObjectURL(A.url),pe(null),Ne(!1)},children:f("close")})]})]}),(0,r.jsx)("div",{className:"me-dialog-body",style:{display:"flex",justifyContent:"center",background:ae?"var(--dsw-alias-bg-base, #0b0d10)":"var(--dsw-alias-bg-base, #f3f4f6)"},children:(0,r.jsx)("img",{src:A.url,alt:f("exportGraph"),style:{maxWidth:"100%",maxHeight:ae?"calc(100% - 64px)":"70vh",borderRadius:ae?0:8,cursor:"zoom-in"},onClick:()=>Ne(C=>!C)})})]})]})]})}function O0(e){let t=new Date(e||0).getTime();if(!t)return"#94a3b8";let n=(Date.now()-t)/864e5;return n<3?"#34D399":n<14?"#FBBF24":n<30?"#FF7A45":"#8CA0B3"}function Gf({label:e,value:t=[],options:n,onChange:a,placeholder:o,z:i=20}){let[l,s]=(0,u.useState)(!1),c=(0,u.useRef)(null);(0,u.useEffect)(()=>{if(!l)return;let M=O=>{c.current&&!c.current.contains(O.target)&&s(!1)};return document.addEventListener("mousedown",M),()=>document.removeEventListener("mousedown",M)},[l]);let p=Array.isArray(t)?t:[],f=p.includes("__all__"),g=f?n.find(M=>M.value==="__all__")?.label||"":p.length?p.map(M=>n.find(O=>O.value===M)?.label||M).join("\u3001"):"",y=(M,O)=>{if(M.value==="__all__"){a(O?["__all__"]:[]);return}let h=new Set(p);h.has("__all__")&&h.delete("__all__"),O?h.add(M.value):h.delete(M.value),a([...h])},S=n.find(M=>M.value==="__all__"),R=n.filter(M=>M.value!=="__all__");return(0,r.jsxs)("div",{className:"mc-field",children:[(0,r.jsx)("span",{className:"mc-field-label",children:e}),(0,r.jsxs)("div",{ref:c,style:{position:"relative",minWidth:0},children:[(0,r.jsxs)("button",{type:"button",onClick:()=>s(M=>!M),style:{width:"100%",textAlign:"left",padding:"6px 8px",borderRadius:8,border:"1px solid var(--dsw-alias-border-l2, #d1d5db)",background:"var(--dsw-alias-bg-layer-1, #fff)",color:"inherit",fontSize:12,cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"space-between",gap:6},children:[(0,r.jsx)("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:g||o||"\u2014"}),(0,r.jsx)("span",{style:{fontSize:10,opacity:.7},children:"\u25BE"})]}),l&&(0,r.jsxs)("div",{style:{position:"absolute",top:"100%",left:0,right:0,zIndex:i,marginTop:2,borderRadius:8,border:"1px solid var(--dsw-alias-border-l2, #d1d5db)",background:"var(--dsw-alias-bg-layer-1, #fff)",color:"inherit",boxShadow:"0 6px 20px rgba(0,0,0,0.14)",maxHeight:180,overflow:"auto"},children:[S&&(0,r.jsxs)("label",{onClick:M=>M.stopPropagation(),className:"mc-dd-opt",style:{borderBottom:"1px solid rgba(127,127,127,0.12)"},children:[(0,r.jsx)("input",{type:"checkbox",checked:f,onChange:M=>y(S,M.target.checked)}),(0,r.jsx)("span",{children:S.label})]}),R.map(M=>(0,r.jsxs)("label",{onClick:O=>O.stopPropagation(),className:"mc-dd-opt",children:[(0,r.jsx)("input",{type:"checkbox",checked:p.includes(M.value),onChange:O=>y(M,O.target.checked)}),(0,r.jsx)("span",{children:M.label})]},M.value))]})]})]})}function j0(e){let t=new Date(e||0).getTime();return!!t&&(Date.now()-t)/864e5<3}async function B0(e,t,n){if(n&&typeof window.showSaveFilePicker=="function")try{let i=await window.showSaveFilePicker({suggestedName:t}),l=await i.createWritable();return await l.write(e),await l.close(),{ok:!0,picked:!0,name:i.name}}catch(i){return i&&i.name==="AbortError"?{ok:!1,aborted:!0}:{ok:!1,err:String(i.message||i)}}let a=URL.createObjectURL(e),o=document.createElement("a");return o.href=a,o.download=t,document.body.appendChild(o),o.click(),document.body.removeChild(o),setTimeout(()=>URL.revokeObjectURL(a),1e3),{ok:!0,picked:!1,name:t}}function dd(e,t){if(!t||!e)return e;let n=e.toLowerCase(),a=t.toLowerCase(),o=[],i=0;for(;i<e.length;){let l=n.indexOf(a,i);if(l<0){o.push(e.slice(i));break}l>i&&o.push(e.slice(i,l)),o.push((0,r.jsx)("mark",{className:"mc-hl",children:e.slice(l,l+a.length)},l)),i=l+a.length}return o}function lr(e){let t=Oo(e);if(!t)return"";let n=t.toDateString()===new Date().toDateString(),a=vf(t);return n?a:`${t.getMonth()+1}-${t.getDate()} ${a}`}var wd=ur(jo(),1);function H0(){try{let e=new URLSearchParams(window.location.search).get("lang");if(e==="zh"||e==="en")return e}catch{}return typeof navigator<"u"&&String(navigator.language||"").toLowerCase().startsWith("zh")?"zh":"en"}function W0(){let[e,t]=(0,Oa.useState)(H0);(0,Oa.useEffect)(()=>{let a=o=>{let i=o&&o.data;i&&i.source==="memory-eternal"&&i.type==="locale"&&(i.lang==="zh"||i.lang==="en")&&t(i.lang)};return window.addEventListener("message",a),()=>window.removeEventListener("message",a)},[]);let n=(0,Oa.useMemo)(()=>a=>(e==="zh"?hd:Kf)[a]??hd[a]??a,[e]);return document.documentElement.lang=e==="zh"?"zh-CN":"en",(0,wd.jsx)(Qf,{t:n,inModal:!1})}var U0=(0,ng.createRoot)(document.getElementById("root"));U0.render((0,wd.jsx)(W0,{}));var $0=0,rg=()=>{let e=document.getElementById("root");if(e&&e.childElementCount>0){let t=document.getElementById("boot");t&&t.remove();return}++$0<900&&requestAnimationFrame(rg)};requestAnimationFrame(rg);})();
1157
1248
  /*! Bundled license information:
1158
1249
 
1159
1250
  react/cjs/react.production.min.js: