diff --git a/data/web/index.html b/data/web/index.html
index a7f8f8b..4ce72ed 100644
--- a/data/web/index.html
+++ b/data/web/index.html
@@ -9,7 +9,7 @@
* @vue/shared v3.5.30
* (c) 2018-present Yuxi (Evan) You and Vue contributors
* @license MIT
-**/function fYe(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const Sl={},nU=[],ty=()=>{},yvn=()=>!1,$Ae=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),gYe=e=>e.startsWith("onUpdate:"),fh=Object.assign,mYe=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},Vni=Object.prototype.hasOwnProperty,Wl=(e,t)=>Vni.call(e,t),io=Array.isArray,iU=e=>mne(e)==="[object Map]",XAe=e=>mne(e)==="[object Set]",klt=e=>mne(e)==="[object Date]",es=e=>typeof e=="function",Vd=e=>typeof e=="string",d3=e=>typeof e=="symbol",Ql=e=>e!==null&&typeof e=="object",Cvn=e=>(Ql(e)||es(e))&&es(e.then)&&es(e.catch),_vn=Object.prototype.toString,mne=e=>_vn.call(e),zni=e=>mne(e).slice(8,-1),Svn=e=>mne(e)==="[object Object]",GAe=e=>Vd(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,gY=fYe(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),YAe=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},Hni=/-\w/g,c1=YAe(e=>e.replace(Hni,t=>t.slice(1).toUpperCase())),$ni=/\B([A-Z])/g,eL=YAe(e=>e.replace($ni,"-$1").toLowerCase()),ZAe=YAe(e=>e.charAt(0).toUpperCase()+e.slice(1)),SCe=YAe(e=>e?`on${ZAe(e)}`:""),Kg=(e,t)=>!Object.is(e,t),Nde=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:r,value:n})},qAe=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Xni=e=>{const t=Vd(e)?Number(e):NaN;return isNaN(t)?e:t};let vlt;const KAe=()=>vlt||(vlt=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function no(e){if(io(e)){const t={};for(let n=0;n{if(n){const r=n.split(Yni);r.length>1&&(t[r[0].trim()]=r[1].trim())}}),t}function xo(e){let t="";if(Vd(e))t=e;else if(io(e))for(let n=0;nkne(n,t))}const Evn=e=>!!(e&&e.__v_isRef===!0),Me=e=>Vd(e)?e:e==null?"":io(e)||Ql(e)&&(e.toString===_vn||!es(e.toString))?Evn(e)?Me(e.value):JSON.stringify(e,Tvn,2):String(e),Tvn=(e,t)=>Evn(t)?Tvn(e,t.value):iU(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[r,o],s)=>(n[LCe(r,s)+" =>"]=o,n),{})}:XAe(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>LCe(n))}:d3(t)?LCe(t):Ql(t)&&!io(t)&&!Svn(t)?String(t):t,LCe=(e,t="")=>{var n;return d3(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/**
+**/function fYe(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const Sl={},nU=[],ty=()=>{},yvn=()=>!1,$Ae=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),gYe=e=>e.startsWith("onUpdate:"),fh=Object.assign,mYe=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},Vni=Object.prototype.hasOwnProperty,Wl=(e,t)=>Vni.call(e,t),io=Array.isArray,iU=e=>mne(e)==="[object Map]",XAe=e=>mne(e)==="[object Set]",klt=e=>mne(e)==="[object Date]",es=e=>typeof e=="function",Vd=e=>typeof e=="string",d3=e=>typeof e=="symbol",Ql=e=>e!==null&&typeof e=="object",Cvn=e=>(Ql(e)||es(e))&&es(e.then)&&es(e.catch),_vn=Object.prototype.toString,mne=e=>_vn.call(e),zni=e=>mne(e).slice(8,-1),Svn=e=>mne(e)==="[object Object]",GAe=e=>Vd(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,gY=fYe(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),YAe=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},Hni=/-\w/g,d1=YAe(e=>e.replace(Hni,t=>t.slice(1).toUpperCase())),$ni=/\B([A-Z])/g,eL=YAe(e=>e.replace($ni,"-$1").toLowerCase()),ZAe=YAe(e=>e.charAt(0).toUpperCase()+e.slice(1)),SCe=YAe(e=>e?`on${ZAe(e)}`:""),Kg=(e,t)=>!Object.is(e,t),Nde=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:r,value:n})},qAe=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Xni=e=>{const t=Vd(e)?Number(e):NaN;return isNaN(t)?e:t};let vlt;const KAe=()=>vlt||(vlt=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function no(e){if(io(e)){const t={};for(let n=0;n{if(n){const r=n.split(Yni);r.length>1&&(t[r[0].trim()]=r[1].trim())}}),t}function xo(e){let t="";if(Vd(e))t=e;else if(io(e))for(let n=0;nkne(n,t))}const Evn=e=>!!(e&&e.__v_isRef===!0),Me=e=>Vd(e)?e:e==null?"":io(e)||Ql(e)&&(e.toString===_vn||!es(e.toString))?Evn(e)?Me(e.value):JSON.stringify(e,Tvn,2):String(e),Tvn=(e,t)=>Evn(t)?Tvn(e,t.value):iU(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[r,o],s)=>(n[LCe(r,s)+" =>"]=o,n),{})}:XAe(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>LCe(n))}:d3(t)?LCe(t):Ql(t)&&!io(t)&&!Svn(t)?String(t):t,LCe=(e,t="")=>{var n;return d3(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/**
* @vue/reactivity v3.5.30
* (c) 2018-present Yuxi (Evan) You and Vue contributors
* @license MIT
@@ -17,15 +17,15 @@
* @vue/runtime-core v3.5.30
* (c) 2018-present Yuxi (Evan) You and Vue contributors
* @license MIT
-**/function Ane(e,t,n,r){try{return r?e(...r):e()}catch(o){n4e(o,t,n)}}function h3(e,t,n,r){if(es(e)){const o=Ane(e,t,n,r);return o&&Cvn(o)&&o.catch(s=>{n4e(s,t,n)}),o}if(io(e)){const o=[];for(let s=0;s>>1,o=d0[r],s=Dq(o);s=Dq(n)?d0.push(e):d0.splice(Qii(t),0,e),e.flags|=1,qvn()}}function qvn(){_fe||(_fe=Zvn.then(Jvn))}function Dii(e){io(e)?rU.push(...e):X5&&e.id===-1?X5.splice(lF+1,0,e):e.flags&1||(rU.push(e),e.flags|=1),qvn()}function blt(e,t,n=Nw+1){for(;nDq(n)-Dq(r));if(rU.length=0,X5){X5.push(...t);return}for(X5=t,lF=0;lFe.id==null?e.flags&2?-1:1/0:e.id;function Jvn(e){try{for(Nw=0;Nw{r._d&&Tfe(-1);const s=Sfe(t);let a;try{a=e(...o)}finally{Sfe(s),r._d&&Tfe(1)}return a};return r._n=!0,r._c=!0,r._d=!0,r}function hu(e,t){if(am===null)return e;const n=l4e(am),r=e.dirs||(e.dirs=[]);for(let o=0;o1)return n&&es(t)?t.call(r&&r.proxy):t}}function Bii(){return!!(ps()||ZQ)}const Rii=Symbol.for("v-scx"),Iii=()=>bt(Rii);function l6(e,t){return i4e(e,null,t)}function Mii(e,t){return i4e(e,null,{flush:"sync"})}function pt(e,t,n){return i4e(e,t,n)}function i4e(e,t,n=Sl){const{immediate:r,deep:o,flush:s,once:a}=n,l=fh({},n),d=t&&r||!t&&s!=="post";let u;if(Rq){if(s==="sync"){const v=Iii();u=v.__watcherHandles||(v.__watcherHandles=[])}else if(!d){const v=()=>{};return v.stop=ty,v.resume=ty,v.pause=ty,v}}const h=t1;l.call=(v,f,k)=>h3(v,h,f,k);let g=!1;s==="post"?l.scheduler=v=>{Vm(v,h&&h.suspense)}:s!=="sync"&&(g=!0,l.scheduler=(v,f)=>{f?v():OYe(v)}),l.augmentJob=v=>{t&&(v.flags|=4),g&&(v.flags|=2,h&&(v.id=h.uid,v.i=h))};const m=Eii(e,t,l);return Rq&&(u?u.push(m):d&&m()),m}function Pii(e,t,n){const r=this.proxy,o=Vd(e)?e.includes(".")?tAn(r,e):()=>r[e]:e.bind(r,r);let s;es(t)?s=t:(s=t.handler,n=t);const a=pne(this),l=i4e(o,s.bind(r),n);return a(),l}function tAn(e,t){const n=t.split(".");return()=>{let r=e;for(let o=0;oe.__isTeleport,vY=e=>e&&(e.disabled||e.disabled===""),wlt=e=>e&&(e.defer||e.defer===""),Olt=e=>typeof SVGElement<"u"&&e instanceof SVGElement,ylt=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,NRe=(e,t)=>{const n=e&&e.to;return Vd(n)?t?t(n):null:n},rAn={name:"Teleport",__isTeleport:!0,process(e,t,n,r,o,s,a,l,d,u){const{mc:h,pc:g,pbc:m,o:{insert:v,querySelector:f,createText:k,createComment:A}}=u,p=vY(t.props);let{shapeFlag:b,children:w,dynamicChildren:O}=t;if(e==null){const y=t.el=k(""),C=t.anchor=k("");v(y,n,r),v(C,n,r);const _=(L,E)=>{b&16&&h(w,L,E,o,s,a,l,d)},S=()=>{const L=t.target=NRe(t.props,f),E=URe(L,t,k,v);L&&(a!=="svg"&&Olt(L)?a="svg":a!=="mathml"&&ylt(L)&&(a="mathml"),o&&o.isCE&&(o.ce._teleportTargets||(o.ce._teleportTargets=new Set)).add(L),p||(_(L,E),Ude(t,!1)))};p&&(_(n,C),Ude(t,!0)),wlt(t.props)?(t.el.__isMounted=!1,Vm(()=>{S(),delete t.el.__isMounted},s)):S()}else{if(wlt(t.props)&&e.el.__isMounted===!1){Vm(()=>{rAn.process(e,t,n,r,o,s,a,l,d,u)},s);return}t.el=e.el,t.targetStart=e.targetStart;const y=t.anchor=e.anchor,C=t.target=e.target,_=t.targetAnchor=e.targetAnchor,S=vY(e.props),L=S?n:C,E=S?y:_;if(a==="svg"||Olt(C)?a="svg":(a==="mathml"||ylt(C))&&(a="mathml"),O?(m(e.dynamicChildren,O,L,o,s,a,l),xYe(e,t,!0)):d||g(e,t,L,E,o,s,a,l,!1),p)S?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):cse(t,n,y,u,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const Q=t.target=NRe(t.props,f);Q&&cse(t,Q,null,u,0)}else S&&cse(t,C,_,u,1);Ude(t,p)}},remove(e,t,n,{um:r,o:{remove:o}},s){const{shapeFlag:a,children:l,anchor:d,targetStart:u,targetAnchor:h,target:g,props:m}=e;if(g&&(o(u),o(h)),s&&o(d),a&16){const v=s||!vY(m);for(let f=0;f{e.isMounted=!0}),qs(()=>{e.isUnmounting=!0}),e}const UA=[Function,Array],sAn={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:UA,onEnter:UA,onAfterEnter:UA,onEnterCancelled:UA,onBeforeLeave:UA,onLeave:UA,onAfterLeave:UA,onLeaveCancelled:UA,onBeforeAppear:UA,onAppear:UA,onAfterAppear:UA,onAppearCancelled:UA},aAn=e=>{const t=e.subTree;return t.component?aAn(t.component):t},Nii={name:"BaseTransition",props:sAn,setup(e,{slots:t}){const n=ps(),r=oAn();return()=>{const o=t.default&&yYe(t.default(),!0);if(!o||!o.length)return;const s=lAn(o),a=ha(e),{mode:l}=a;if(r.isLeaving)return QCe(s);const d=Clt(s);if(!d)return QCe(s);let u=Bq(d,a,r,n,g=>u=g);d.type!==ah&&LB(d,u);let h=n.subTree&&Clt(n.subTree);if(h&&h.type!==ah&&!lT(h,d)&&aAn(n).type!==ah){let g=Bq(h,a,r,n);if(LB(h,g),l==="out-in"&&d.type!==ah)return r.isLeaving=!0,g.afterLeave=()=>{r.isLeaving=!1,n.job.flags&8||n.update(),delete g.afterLeave,h=void 0},QCe(s);l==="in-out"&&d.type!==ah?g.delayLeave=(m,v,f)=>{const k=cAn(r,h);k[String(h.key)]=h,m[Yw]=()=>{v(),m[Yw]=void 0,delete u.delayedLeave,h=void 0},u.delayedLeave=()=>{f(),delete u.delayedLeave,h=void 0}}:h=void 0}else h&&(h=void 0);return s}}};function lAn(e){let t=e[0];if(e.length>1){for(const n of e)if(n.type!==ah){t=n;break}}return t}const Uii=Nii;function cAn(e,t){const{leavingVNodes:n}=e;let r=n.get(t.type);return r||(r=Object.create(null),n.set(t.type,r)),r}function Bq(e,t,n,r,o){const{appear:s,mode:a,persisted:l=!1,onBeforeEnter:d,onEnter:u,onAfterEnter:h,onEnterCancelled:g,onBeforeLeave:m,onLeave:v,onAfterLeave:f,onLeaveCancelled:k,onBeforeAppear:A,onAppear:p,onAfterAppear:b,onAppearCancelled:w}=t,O=String(e.key),y=cAn(n,e),C=(L,E)=>{L&&h3(L,r,9,E)},_=(L,E)=>{const Q=E[1];C(L,E),io(L)?L.every(D=>D.length<=1)&&Q():L.length<=1&&Q()},S={mode:a,persisted:l,beforeEnter(L){let E=d;if(!n.isMounted)if(s)E=A||d;else return;L[Yw]&&L[Yw](!0);const Q=y[O];Q&&lT(e,Q)&&Q.el[Yw]&&Q.el[Yw](),C(E,[L])},enter(L){if(y[O]===e)return;let E=u,Q=h,D=g;if(!n.isMounted)if(s)E=p||u,Q=b||h,D=w||g;else return;let P=!1;L[k$]=M=>{P||(P=!0,M?C(D,[L]):C(Q,[L]),S.delayedLeave&&S.delayedLeave(),L[k$]=void 0)};const T=L[k$].bind(null,!1);E?_(E,[L,T]):T()},leave(L,E){const Q=String(e.key);if(L[k$]&&L[k$](!0),n.isUnmounting)return E();C(m,[L]);let D=!1;L[Yw]=T=>{D||(D=!0,E(),T?C(k,[L]):C(f,[L]),L[Yw]=void 0,y[Q]===e&&delete y[Q])};const P=L[Yw].bind(null,!1);y[Q]=e,v?_(v,[L,P]):P()},clone(L){const E=Bq(L,t,n,r,o);return o&&o(E),E}};return S}function QCe(e){if(r4e(e))return e=Jv(e),e.children=null,e}function Clt(e){if(!r4e(e))return iAn(e.type)&&e.children?lAn(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&es(n.default))return n.default()}}function LB(e,t){e.shapeFlag&6&&e.component?(e.transition=t,LB(e.component.subTree,t)):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function yYe(e,t=!1,n){let r=[],o=0;for(let s=0;s1)for(let s=0;sAY(k,t&&(io(t)?t[A]:t),n,r,o));return}if(oU(r)&&!o){r.shapeFlag&512&&r.type.__asyncResolved&&r.component.subTree.component&&AY(e,t,n,r.component.subTree);return}const s=r.shapeFlag&4?l4e(r.component):r.el,a=o?null:s,{i:l,r:d}=e,u=t&&t.r,h=l.refs===Sl?l.refs={}:l.refs,g=l.setupState,m=ha(g),v=g===Sl?yvn:k=>_lt(h,k)?!1:Wl(m,k),f=(k,A)=>!(A&&_lt(h,A));if(u!=null&&u!==d){if(Slt(t),Vd(u))h[u]=null,v(u)&&(g[u]=null);else if(Nn(u)){const k=t;f(u,k.k)&&(u.value=null),k.k&&(h[k.k]=null)}}if(es(d))Ane(d,l,12,[a,h]);else{const k=Vd(d),A=Nn(d);if(k||A){const p=()=>{if(e.f){const b=k?v(d)?g[d]:h[d]:f()||!e.k?d.value:h[e.k];if(o)io(b)&&mYe(b,s);else if(io(b))b.includes(s)||b.push(s);else if(k)h[d]=[s],v(d)&&(g[d]=h[d]);else{const w=[s];f(d,e.k)&&(d.value=w),e.k&&(h[e.k]=w)}}else k?(h[d]=a,v(d)&&(g[d]=a)):A&&(f(d,e.k)&&(d.value=a),e.k&&(h[e.k]=a))};if(a){const b=()=>{p(),Lfe.delete(e)};b.id=-1,Lfe.set(e,b),Vm(b,n)}else Slt(e),p()}}}function Slt(e){const t=Lfe.get(e);t&&(t.flags|=8,Lfe.delete(e))}KAe().requestIdleCallback;KAe().cancelIdleCallback;const oU=e=>!!e.type.__asyncLoader,r4e=e=>e.type.__isKeepAlive;function uAn(e,t){fAn(e,"a",t)}function hAn(e,t){fAn(e,"da",t)}function fAn(e,t,n=t1){const r=e.__wdc||(e.__wdc=()=>{let o=n;for(;o;){if(o.isDeactivated)return;o=o.parent}return e()});if(o4e(t,r,n),n){let o=n.parent;for(;o&&o.parent;)r4e(o.parent.vnode)&&Wii(r,t,n,o),o=o.parent}}function Wii(e,t,n,r){const o=o4e(t,e,r,!0);fl(()=>{mYe(r[t],o)},n)}function o4e(e,t,n=t1,r=!1){if(n){const o=n[e]||(n[e]=[]),s=t.__weh||(t.__weh=(...a)=>{f8();const l=pne(n),d=h3(t,n,e,a);return l(),g8(),d});return r?o.unshift(s):o.push(s),s}}const tL=e=>(t,n=t1)=>{(!Rq||e==="sp")&&o4e(e,(...r)=>t(...r),n)},eW=tL("bm"),vn=tL("m"),Vii=tL("bu"),nL=tL("u"),qs=tL("bum"),fl=tL("um"),zii=tL("sp"),Hii=tL("rtg"),$ii=tL("rtc");function Xii(e,t=t1){o4e("ec",e,t)}const CYe="components",Gii="directives";function Ln(e,t){return _Ye(CYe,e,!0,t)||e}const gAn=Symbol.for("v-ndc");function Rd(e){return Vd(e)?_Ye(CYe,e,!1)||e:e||gAn}function s4e(e){return _Ye(Gii,e)}function _Ye(e,t,n=!0,r=!1){const o=am||t1;if(o){const s=o.type;if(e===CYe){const l=Tri(s,!1);if(l&&(l===t||l===c1(t)||l===ZAe(c1(t))))return s}const a=Llt(o[e]||s[e],t)||Llt(o.appContext[e],t);return!a&&r?s:a}}function Llt(e,t){return e&&(e[t]||e[c1(t)]||e[ZAe(c1(t))])}function Di(e,t,n,r){let o;const s=n&&n[r],a=io(e);if(a||Vd(e)){const l=a&&H4(e);let d=!1,u=!1;l&&(d=!Hv(e),u=m8(e),e=e4e(e)),o=new Array(e.length);for(let h=0,g=e.length;ht(l,d,void 0,s&&s[d]));else{const l=Object.keys(e);o=new Array(l.length);for(let d=0,u=l.length;d{const s=r.fn(...o);return s&&(s.key=r.key),s}:r.fn)}return e}function Zr(e,t,n={},r,o){if(am.ce||am.parent&&oU(am.parent)&&am.parent.ce){const u=Object.keys(n).length>0;return t!=="default"&&(n.name=t),xe(),Nt(rn,null,[c("slot",n,r&&r())],u?-2:64)}let s=e[t];s&&s._c&&(s._d=!1),xe();const a=s&&mAn(s(n)),l=n.key||a&&a.key,d=Nt(rn,{key:(l&&!d3(l)?l:`_${t}`)+(!a&&r?"_fb":"")},a||(r?r():[]),a&&e._===1?64:-2);return!o&&d.scopeId&&(d.slotScopeIds=[d.scopeId+"-s"]),s&&s._c&&(s._d=!0),d}function mAn(e){return e.some(t=>js(t)?!(t.type===ah||t.type===rn&&!mAn(t.children)):!0)?e:null}const jRe=e=>e?PAn(e)?l4e(e):jRe(e.parent):null,bY=fh(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>jRe(e.parent),$root:e=>jRe(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>pAn(e),$forceUpdate:e=>e.f||(e.f=()=>{OYe(e.update)}),$nextTick:e=>e.n||(e.n=li.bind(e.proxy)),$watch:e=>Pii.bind(e)}),DCe=(e,t)=>e!==Sl&&!e.__isScriptSetup&&Wl(e,t),Yii={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:r,data:o,props:s,accessCache:a,type:l,appContext:d}=e;if(t[0]!=="$"){const m=a[t];if(m!==void 0)switch(m){case 1:return r[t];case 2:return o[t];case 4:return n[t];case 3:return s[t]}else{if(DCe(r,t))return a[t]=1,r[t];if(o!==Sl&&Wl(o,t))return a[t]=2,o[t];if(Wl(s,t))return a[t]=3,s[t];if(n!==Sl&&Wl(n,t))return a[t]=4,n[t];WRe&&(a[t]=0)}}const u=bY[t];let h,g;if(u)return t==="$attrs"&&Jm(e.attrs,"get",""),u(e);if((h=l.__cssModules)&&(h=h[t]))return h;if(n!==Sl&&Wl(n,t))return a[t]=4,n[t];if(g=d.config.globalProperties,Wl(g,t))return g[t]},set({_:e},t,n){const{data:r,setupState:o,ctx:s}=e;return DCe(o,t)?(o[t]=n,!0):r!==Sl&&Wl(r,t)?(r[t]=n,!0):Wl(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(s[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:r,appContext:o,props:s,type:a}},l){let d;return!!(n[l]||e!==Sl&&l[0]!=="$"&&Wl(e,l)||DCe(t,l)||Wl(s,l)||Wl(r,l)||Wl(bY,l)||Wl(o.config.globalProperties,l)||(d=a.__cssModules)&&d[l])},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:Wl(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function kAn(){return vAn().slots}function Zii(){return vAn().attrs}function vAn(e){const t=ps();return t.setupContext||(t.setupContext=NAn(t))}function xfe(e){return io(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}function Nc(e,t){return!e||!t?e||t:io(e)&&io(t)?e.concat(t):fh({},xfe(e),xfe(t))}function qii(e,t){const n={};for(const r in e)t.includes(r)||Object.defineProperty(n,r,{enumerable:!0,get:()=>e[r]});return n}let WRe=!0;function Kii(e){const t=pAn(e),n=e.proxy,r=e.ctx;WRe=!1,t.beforeCreate&&xlt(t.beforeCreate,e,"bc");const{data:o,computed:s,methods:a,watch:l,provide:d,inject:u,created:h,beforeMount:g,mounted:m,beforeUpdate:v,updated:f,activated:k,deactivated:A,beforeDestroy:p,beforeUnmount:b,destroyed:w,unmounted:O,render:y,renderTracked:C,renderTriggered:_,errorCaptured:S,serverPrefetch:L,expose:E,inheritAttrs:Q,components:D,directives:P,filters:T}=t;if(u&&Jii(u,r,null),a)for(const I in a){const R=a[I];es(R)&&(r[I]=R.bind(n))}if(o){const I=o.call(n,n);Ql(I)&&(e.data=hs(I))}if(WRe=!0,s)for(const I in s){const R=s[I],F=es(R)?R.bind(n,n):es(R.get)?R.get.bind(n,n):ty,W=!es(R)&&es(R.set)?R.set.bind(n):ty,j=G({get:F,set:W});Object.defineProperty(r,I,{enumerable:!0,configurable:!0,get:()=>j.value,set:z=>j.value=z})}if(l)for(const I in l)AAn(l[I],r,n,I);if(d){const I=es(d)?d.call(n):d;Reflect.ownKeys(I).forEach(R=>{Yi(R,I[R])})}h&&xlt(h,e,"c");function B(I,R){io(R)?R.forEach(F=>I(F.bind(n))):R&&I(R.bind(n))}if(B(eW,g),B(vn,m),B(Vii,v),B(nL,f),B(uAn,k),B(hAn,A),B(Xii,S),B($ii,C),B(Hii,_),B(qs,b),B(fl,O),B(zii,L),io(E))if(E.length){const I=e.exposed||(e.exposed={});E.forEach(R=>{Object.defineProperty(I,R,{get:()=>n[R],set:F=>n[R]=F,enumerable:!0})})}else e.exposed||(e.exposed={});y&&e.render===ty&&(e.render=y),Q!=null&&(e.inheritAttrs=Q),D&&(e.components=D),P&&(e.directives=P),L&&dAn(e)}function Jii(e,t,n=ty){io(e)&&(e=VRe(e));for(const r in e){const o=e[r];let s;Ql(o)?"default"in o?s=bt(o.from||r,o.default,!0):s=bt(o.from||r):s=bt(o),Nn(s)?Object.defineProperty(t,r,{enumerable:!0,configurable:!0,get:()=>s.value,set:a=>s.value=a}):t[r]=s}}function xlt(e,t,n){h3(io(e)?e.map(r=>r.bind(t.proxy)):e.bind(t.proxy),t,n)}function AAn(e,t,n,r){let o=r.includes(".")?tAn(n,r):()=>n[r];if(Vd(e)){const s=t[e];es(s)&&pt(o,s)}else if(es(e))pt(o,e.bind(n));else if(Ql(e))if(io(e))e.forEach(s=>AAn(s,t,n,r));else{const s=es(e.handler)?e.handler.bind(n):t[e.handler];es(s)&&pt(o,s,e)}}function pAn(e){const t=e.type,{mixins:n,extends:r}=t,{mixins:o,optionsCache:s,config:{optionMergeStrategies:a}}=e.appContext,l=s.get(t);let d;return l?d=l:!o.length&&!n&&!r?d=t:(d={},o.length&&o.forEach(u=>Efe(d,u,a,!0)),Efe(d,t,a)),Ql(t)&&s.set(t,d),d}function Efe(e,t,n,r=!1){const{mixins:o,extends:s}=t;s&&Efe(e,s,n,!0),o&&o.forEach(a=>Efe(e,a,n,!0));for(const a in t)if(!(r&&a==="expose")){const l=eri[a]||n&&n[a];e[a]=l?l(e[a],t[a]):t[a]}return e}const eri={data:Elt,props:Tlt,emits:Tlt,methods:oG,computed:oG,beforeCreate:j1,created:j1,beforeMount:j1,mounted:j1,beforeUpdate:j1,updated:j1,beforeDestroy:j1,beforeUnmount:j1,destroyed:j1,unmounted:j1,activated:j1,deactivated:j1,errorCaptured:j1,serverPrefetch:j1,components:oG,directives:oG,watch:nri,provide:Elt,inject:tri};function Elt(e,t){return t?e?function(){return fh(es(e)?e.call(this,this):e,es(t)?t.call(this,this):t)}:t:e}function tri(e,t){return oG(VRe(e),VRe(t))}function VRe(e){if(io(e)){const t={};for(let n=0;n{let h,g=Sl,m;return Mii(()=>{const v=e[o];Kg(h,v)&&(h=v,u())}),{get(){return d(),n.get?n.get(h):h},set(v){const f=n.set?n.set(v):v;if(!Kg(f,h)&&!(g!==Sl&&Kg(v,g)))return;const k=r.vnode.props;k&&(t in k||o in k||s in k)&&(`onUpdate:${t}`in k||`onUpdate:${o}`in k||`onUpdate:${s}`in k)||(h=v,u()),r.emit(`update:${t}`,f),Kg(v,f)&&Kg(v,g)&&!Kg(f,m)&&u(),g=v,m=f}}});return l[Symbol.iterator]=()=>{let d=0;return{next(){return d<2?{value:d++?a||Sl:l,done:!1}:{done:!0}}}},l}const wAn=(e,t)=>t==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${c1(t)}Modifiers`]||e[`${eL(t)}Modifiers`];function ori(e,t,...n){if(e.isUnmounted)return;const r=e.vnode.props||Sl;let o=n;const s=t.startsWith("update:"),a=s&&wAn(r,t.slice(7));a&&(a.trim&&(o=n.map(h=>Vd(h)?h.trim():h)),a.number&&(o=n.map(qAe)));let l,d=r[l=SCe(t)]||r[l=SCe(c1(t))];!d&&s&&(d=r[l=SCe(eL(t))]),d&&h3(d,e,6,o);const u=r[l+"Once"];if(u){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,h3(u,e,6,o)}}const sri=new WeakMap;function OAn(e,t,n=!1){const r=n?sri:t.emitsCache,o=r.get(e);if(o!==void 0)return o;const s=e.emits;let a={},l=!1;if(!es(e)){const d=u=>{const h=OAn(u,t,!0);h&&(l=!0,fh(a,h))};!n&&t.mixins.length&&t.mixins.forEach(d),e.extends&&d(e.extends),e.mixins&&e.mixins.forEach(d)}return!s&&!l?(Ql(e)&&r.set(e,null),null):(io(s)?s.forEach(d=>a[d]=null):fh(a,s),Ql(e)&&r.set(e,a),a)}function a4e(e,t){return!e||!$Ae(t)?!1:(t=t.slice(2).replace(/Once$/,""),Wl(e,t[0].toLowerCase()+t.slice(1))||Wl(e,eL(t))||Wl(e,t))}function Qlt(e){const{type:t,vnode:n,proxy:r,withProxy:o,propsOptions:[s],slots:a,attrs:l,emit:d,render:u,renderCache:h,props:g,data:m,setupState:v,ctx:f,inheritAttrs:k}=e,A=Sfe(e);let p,b;try{if(n.shapeFlag&4){const O=o||r,y=O;p=lO(u.call(y,O,h,g,v,m,f)),b=l}else{const O=t;p=lO(O.length>1?O(g,{attrs:l,slots:a,emit:d}):O(g,null)),b=t.props?l:ari(l)}}catch(O){wY.length=0,n4e(O,e,1),p=c(ah)}let w=p;if(b&&k!==!1){const O=Object.keys(b),{shapeFlag:y}=w;O.length&&y&7&&(s&&O.some(gYe)&&(b=lri(b,s)),w=Jv(w,b,!1,!0))}return n.dirs&&(w=Jv(w,null,!1,!0),w.dirs=w.dirs?w.dirs.concat(n.dirs):n.dirs),n.transition&&LB(w,n.transition),p=w,Sfe(A),p}const ari=e=>{let t;for(const n in e)(n==="class"||n==="style"||$Ae(n))&&((t||(t={}))[n]=e[n]);return t},lri=(e,t)=>{const n={};for(const r in e)(!gYe(r)||!(r.slice(9)in t))&&(n[r]=e[r]);return n};function cri(e,t,n){const{props:r,children:o,component:s}=e,{props:a,children:l,patchFlag:d}=t,u=s.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&d>=0){if(d&1024)return!0;if(d&16)return r?Dlt(r,a,u):!!a;if(d&8){const h=t.dynamicProps;for(let g=0;gObject.create(CAn),SAn=e=>Object.getPrototypeOf(e)===CAn;function uri(e,t,n,r=!1){const o={},s=_An();e.propsDefaults=Object.create(null),LAn(e,t,o,s);for(const a in e.propsOptions[0])a in o||(o[a]=void 0);n?e.props=r?o:$vn(o):e.type.props?e.props=o:e.props=s,e.attrs=s}function hri(e,t,n,r){const{props:o,attrs:s,vnode:{patchFlag:a}}=e,l=ha(o),[d]=e.propsOptions;let u=!1;if((r||a>0)&&!(a&16)){if(a&8){const h=e.vnode.dynamicProps;for(let g=0;g{d=!0;const[m,v]=xAn(g,t,!0);fh(a,m),v&&l.push(...v)};!n&&t.mixins.length&&t.mixins.forEach(h),e.extends&&h(e.extends),e.mixins&&e.mixins.forEach(h)}if(!s&&!d)return Ql(e)&&r.set(e,nU),nU;if(io(s))for(let h=0;he==="_"||e==="_ctx"||e==="$stable",LYe=e=>io(e)?e.map(lO):[lO(e)],gri=(e,t,n)=>{if(t._n)return t;const r=ye((...o)=>LYe(t(...o)),n);return r._c=!1,r},EAn=(e,t,n)=>{const r=e._ctx;for(const o in e){if(SYe(o))continue;const s=e[o];if(es(s))t[o]=gri(o,s,r);else if(s!=null){const a=LYe(s);t[o]=()=>a}}},TAn=(e,t)=>{const n=LYe(t);e.slots.default=()=>n},QAn=(e,t,n)=>{for(const r in t)(n||!SYe(r))&&(e[r]=t[r])},mri=(e,t,n)=>{const r=e.slots=_An();if(e.vnode.shapeFlag&32){const o=t._;o?(QAn(r,t,n),n&&Lvn(r,"_",o,!0)):EAn(t,r)}else t&&TAn(e,t)},kri=(e,t,n)=>{const{vnode:r,slots:o}=e;let s=!0,a=Sl;if(r.shapeFlag&32){const l=t._;l?n&&l===1?s=!1:QAn(o,t,n):(s=!t.$stable,EAn(t,o)),a=t}else t&&(TAn(e,t),a={default:1});if(s)for(const l in o)!SYe(l)&&a[l]==null&&delete o[l]},Vm=wri;function vri(e){return Ari(e)}function Ari(e,t){const n=KAe();n.__VUE__=!0;const{insert:r,remove:o,patchProp:s,createElement:a,createText:l,createComment:d,setText:u,setElementText:h,parentNode:g,nextSibling:m,setScopeId:v=ty,insertStaticContent:f}=e,k=(ee,de,V,q=null,ne=null,te=null,Y=void 0,fe=null,be=!!de.dynamicChildren)=>{if(ee===de)return;ee&&!lT(ee,de)&&(q=J(ee),z(ee,ne,te,!0),ee=null),de.patchFlag===-2&&(be=!1,de.dynamicChildren=null);const{type:_e,ref:Qe,shapeFlag:ke}=de;switch(_e){case JR:A(ee,de,V,q);break;case ah:p(ee,de,V,q);break;case RCe:ee==null&&b(de,V,q,Y);break;case rn:D(ee,de,V,q,ne,te,Y,fe,be);break;default:ke&1?y(ee,de,V,q,ne,te,Y,fe,be):ke&6?P(ee,de,V,q,ne,te,Y,fe,be):(ke&64||ke&128)&&_e.process(ee,de,V,q,ne,te,Y,fe,be,re)}Qe!=null&&ne?AY(Qe,ee&&ee.ref,te,de||ee,!de):Qe==null&&ee&&ee.ref!=null&&AY(ee.ref,null,te,ee,!0)},A=(ee,de,V,q)=>{if(ee==null)r(de.el=l(de.children),V,q);else{const ne=de.el=ee.el;de.children!==ee.children&&u(ne,de.children)}},p=(ee,de,V,q)=>{ee==null?r(de.el=d(de.children||""),V,q):de.el=ee.el},b=(ee,de,V,q)=>{[ee.el,ee.anchor]=f(ee.children,de,V,q,ee.el,ee.anchor)},w=({el:ee,anchor:de},V,q)=>{let ne;for(;ee&&ee!==de;)ne=m(ee),r(ee,V,q),ee=ne;r(de,V,q)},O=({el:ee,anchor:de})=>{let V;for(;ee&&ee!==de;)V=m(ee),o(ee),ee=V;o(de)},y=(ee,de,V,q,ne,te,Y,fe,be)=>{if(de.type==="svg"?Y="svg":de.type==="math"&&(Y="mathml"),ee==null)C(de,V,q,ne,te,Y,fe,be);else{const _e=ee.el&&ee.el._isVueCE?ee.el:null;try{_e&&_e._beginPatch(),L(ee,de,ne,te,Y,fe,be)}finally{_e&&_e._endPatch()}}},C=(ee,de,V,q,ne,te,Y,fe)=>{let be,_e;const{props:Qe,shapeFlag:ke,transition:me,dirs:Ce}=ee;if(be=ee.el=a(ee.type,te,Qe&&Qe.is,Qe),ke&8?h(be,ee.children):ke&16&&S(ee.children,be,null,q,ne,BCe(ee,te),Y,fe),Ce&&ZE(ee,null,q,"created"),_(be,ee,ee.scopeId,Y,q),Qe){for(const De in Qe)De!=="value"&&!gY(De)&&s(be,De,null,Qe[De],te,q);"value"in Qe&&s(be,"value",null,Qe.value,te),(_e=Qe.onVnodeBeforeMount)&&ow(_e,q,ee)}Ce&&ZE(ee,null,q,"beforeMount");const Te=pri(ne,me);Te&&me.beforeEnter(be),r(be,de,V),((_e=Qe&&Qe.onVnodeMounted)||Te||Ce)&&Vm(()=>{_e&&ow(_e,q,ee),Te&&me.enter(be),Ce&&ZE(ee,null,q,"mounted")},ne)},_=(ee,de,V,q,ne)=>{if(V&&v(ee,V),q)for(let te=0;te{for(let _e=be;_e{const fe=de.el=ee.el;let{patchFlag:be,dynamicChildren:_e,dirs:Qe}=de;be|=ee.patchFlag&16;const ke=ee.props||Sl,me=de.props||Sl;let Ce;if(V&&qE(V,!1),(Ce=me.onVnodeBeforeUpdate)&&ow(Ce,V,de,ee),Qe&&ZE(de,ee,V,"beforeUpdate"),V&&qE(V,!0),(ke.innerHTML&&me.innerHTML==null||ke.textContent&&me.textContent==null)&&h(fe,""),_e?E(ee.dynamicChildren,_e,fe,V,q,BCe(de,ne),te):Y||R(ee,de,fe,null,V,q,BCe(de,ne),te,!1),be>0){if(be&16)Q(fe,ke,me,V,ne);else if(be&2&&ke.class!==me.class&&s(fe,"class",null,me.class,ne),be&4&&s(fe,"style",ke.style,me.style,ne),be&8){const Te=de.dynamicProps;for(let De=0;De{Ce&&ow(Ce,V,de,ee),Qe&&ZE(de,ee,V,"updated")},q)},E=(ee,de,V,q,ne,te,Y)=>{for(let fe=0;fe{if(de!==V){if(de!==Sl)for(const te in de)!gY(te)&&!(te in V)&&s(ee,te,de[te],null,ne,q);for(const te in V){if(gY(te))continue;const Y=V[te],fe=de[te];Y!==fe&&te!=="value"&&s(ee,te,fe,Y,ne,q)}"value"in V&&s(ee,"value",de.value,V.value,ne)}},D=(ee,de,V,q,ne,te,Y,fe,be)=>{const _e=de.el=ee?ee.el:l(""),Qe=de.anchor=ee?ee.anchor:l("");let{patchFlag:ke,dynamicChildren:me,slotScopeIds:Ce}=de;Ce&&(fe=fe?fe.concat(Ce):Ce),ee==null?(r(_e,V,q),r(Qe,V,q),S(de.children||[],V,Qe,ne,te,Y,fe,be)):ke>0&&ke&64&&me&&ee.dynamicChildren&&ee.dynamicChildren.length===me.length?(E(ee.dynamicChildren,me,V,ne,te,Y,fe),(de.key!=null||ne&&de===ne.subTree)&&xYe(ee,de,!0)):R(ee,de,V,Qe,ne,te,Y,fe,be)},P=(ee,de,V,q,ne,te,Y,fe,be)=>{de.slotScopeIds=fe,ee==null?de.shapeFlag&512?ne.ctx.activate(de,V,q,Y,be):T(de,V,q,ne,te,Y,be):M(ee,de,be)},T=(ee,de,V,q,ne,te,Y)=>{const fe=ee.component=Sri(ee,q,ne);if(r4e(ee)&&(fe.ctx.renderer=re),Lri(fe,!1,Y),fe.asyncDep){if(ne&&ne.registerDep(fe,B,Y),!ee.el){const be=fe.subTree=c(ah);p(null,be,de,V),ee.placeholder=be.el}}else B(fe,ee,de,V,ne,te,Y)},M=(ee,de,V)=>{const q=de.component=ee.component;if(cri(ee,de,V))if(q.asyncDep&&!q.asyncResolved){I(q,de,V);return}else q.next=de,q.update();else de.el=ee.el,q.vnode=de},B=(ee,de,V,q,ne,te,Y)=>{const fe=()=>{if(ee.isMounted){let{next:ke,bu:me,u:Ce,parent:Te,vnode:De}=ee;{const Re=DAn(ee);if(Re){ke&&(ke.el=De.el,I(ee,ke,Y)),Re.asyncDep.then(()=>{Vm(()=>{ee.isUnmounted||_e()},ne)});return}}let qe=ke,Ye;qE(ee,!1),ke?(ke.el=De.el,I(ee,ke,Y)):ke=De,me&&Nde(me),(Ye=ke.props&&ke.props.onVnodeBeforeUpdate)&&ow(Ye,Te,ke,De),qE(ee,!0);const Ze=Qlt(ee),rt=ee.subTree;ee.subTree=Ze,k(rt,Ze,g(rt.el),J(rt),ee,ne,te),ke.el=Ze.el,qe===null&&dri(ee,Ze.el),Ce&&Vm(Ce,ne),(Ye=ke.props&&ke.props.onVnodeUpdated)&&Vm(()=>ow(Ye,Te,ke,De),ne)}else{let ke;const{el:me,props:Ce}=de,{bm:Te,m:De,parent:qe,root:Ye,type:Ze}=ee,rt=oU(de);qE(ee,!1),Te&&Nde(Te),!rt&&(ke=Ce&&Ce.onVnodeBeforeMount)&&ow(ke,qe,de),qE(ee,!0);{Ye.ce&&Ye.ce._hasShadowRoot()&&Ye.ce._injectChildStyle(Ze,ee.parent?ee.parent.type:void 0);const Re=ee.subTree=Qlt(ee);k(null,Re,V,q,ee,ne,te),de.el=Re.el}if(De&&Vm(De,ne),!rt&&(ke=Ce&&Ce.onVnodeMounted)){const Re=de;Vm(()=>ow(ke,qe,Re),ne)}(de.shapeFlag&256||qe&&oU(qe.vnode)&&qe.vnode.shapeFlag&256)&&ee.a&&Vm(ee.a,ne),ee.isMounted=!0,de=V=q=null}};ee.scope.on();const be=ee.effect=new Dvn(fe);ee.scope.off();const _e=ee.update=be.run.bind(be),Qe=ee.job=be.runIfDirty.bind(be);Qe.i=ee,Qe.id=ee.uid,be.scheduler=()=>OYe(Qe),qE(ee,!0),_e()},I=(ee,de,V)=>{de.component=ee;const q=ee.vnode.props;ee.vnode=de,ee.next=null,hri(ee,de.props,q,V),kri(ee,de.children,V),f8(),blt(ee),g8()},R=(ee,de,V,q,ne,te,Y,fe,be=!1)=>{const _e=ee&&ee.children,Qe=ee?ee.shapeFlag:0,ke=de.children,{patchFlag:me,shapeFlag:Ce}=de;if(me>0){if(me&128){W(_e,ke,V,q,ne,te,Y,fe,be);return}else if(me&256){F(_e,ke,V,q,ne,te,Y,fe,be);return}}Ce&8?(Qe&16&&oe(_e,ne,te),ke!==_e&&h(V,ke)):Qe&16?Ce&16?W(_e,ke,V,q,ne,te,Y,fe,be):oe(_e,ne,te,!0):(Qe&8&&h(V,""),Ce&16&&S(ke,V,q,ne,te,Y,fe,be))},F=(ee,de,V,q,ne,te,Y,fe,be)=>{ee=ee||nU,de=de||nU;const _e=ee.length,Qe=de.length,ke=Math.min(_e,Qe);let me;for(me=0;meQe?oe(ee,ne,te,!0,!1,ke):S(de,V,q,ne,te,Y,fe,be,ke)},W=(ee,de,V,q,ne,te,Y,fe,be)=>{let _e=0;const Qe=de.length;let ke=ee.length-1,me=Qe-1;for(;_e<=ke&&_e<=me;){const Ce=ee[_e],Te=de[_e]=be?G_(de[_e]):lO(de[_e]);if(lT(Ce,Te))k(Ce,Te,V,null,ne,te,Y,fe,be);else break;_e++}for(;_e<=ke&&_e<=me;){const Ce=ee[ke],Te=de[me]=be?G_(de[me]):lO(de[me]);if(lT(Ce,Te))k(Ce,Te,V,null,ne,te,Y,fe,be);else break;ke--,me--}if(_e>ke){if(_e<=me){const Ce=me+1,Te=Ceme)for(;_e<=ke;)z(ee[_e],ne,te,!0),_e++;else{const Ce=_e,Te=_e,De=new Map;for(_e=Te;_e<=me;_e++){const We=de[_e]=be?G_(de[_e]):lO(de[_e]);We.key!=null&&De.set(We.key,_e)}let qe,Ye=0;const Ze=me-Te+1;let rt=!1,Re=0;const je=new Array(Ze);for(_e=0;_e=Ze){z(We,ne,te,!0);continue}let He;if(We.key!=null)He=De.get(We.key);else for(qe=Te;qe<=me;qe++)if(je[qe-Te]===0&&lT(We,de[qe])){He=qe;break}He===void 0?z(We,ne,te,!0):(je[He-Te]=_e+1,He>=Re?Re=He:rt=!0,k(We,de[He],V,null,ne,te,Y,fe,be),Ye++)}const Le=rt?bri(je):nU;for(qe=Le.length-1,_e=Ze-1;_e>=0;_e--){const We=Te+_e,He=de[We],tt=de[We+1],kt=We+1{const{el:te,type:Y,transition:fe,children:be,shapeFlag:_e}=ee;if(_e&6){j(ee.component.subTree,de,V,q);return}if(_e&128){ee.suspense.move(de,V,q);return}if(_e&64){Y.move(ee,de,V,re);return}if(Y===rn){r(te,de,V);for(let ke=0;kefe.enter(te),ne);else{const{leave:ke,delayLeave:me,afterLeave:Ce}=fe,Te=()=>{ee.ctx.isUnmounted?o(te):r(te,de,V)},De=()=>{te._isLeaving&&te[Yw](!0),ke(te,()=>{Te(),Ce&&Ce()})};me?me(te,Te,De):De()}else r(te,de,V)},z=(ee,de,V,q=!1,ne=!1)=>{const{type:te,props:Y,ref:fe,children:be,dynamicChildren:_e,shapeFlag:Qe,patchFlag:ke,dirs:me,cacheIndex:Ce}=ee;if(ke===-2&&(ne=!1),fe!=null&&(f8(),AY(fe,null,V,ee,!0),g8()),Ce!=null&&(de.renderCache[Ce]=void 0),Qe&256){de.ctx.deactivate(ee);return}const Te=Qe&1&&me,De=!oU(ee);let qe;if(De&&(qe=Y&&Y.onVnodeBeforeUnmount)&&ow(qe,de,ee),Qe&6)Z(ee.component,V,q);else{if(Qe&128){ee.suspense.unmount(V,q);return}Te&&ZE(ee,null,de,"beforeUnmount"),Qe&64?ee.type.remove(ee,de,V,re,q):_e&&!_e.hasOnce&&(te!==rn||ke>0&&ke&64)?oe(_e,de,V,!1,!0):(te===rn&&ke&384||!ne&&Qe&16)&&oe(be,de,V),q&&$(ee)}(De&&(qe=Y&&Y.onVnodeUnmounted)||Te)&&Vm(()=>{qe&&ow(qe,de,ee),Te&&ZE(ee,null,de,"unmounted")},V)},$=ee=>{const{type:de,el:V,anchor:q,transition:ne}=ee;if(de===rn){X(V,q);return}if(de===RCe){O(ee);return}const te=()=>{o(V),ne&&!ne.persisted&&ne.afterLeave&&ne.afterLeave()};if(ee.shapeFlag&1&&ne&&!ne.persisted){const{leave:Y,delayLeave:fe}=ne,be=()=>Y(V,te);fe?fe(ee.el,te,be):be()}else te()},X=(ee,de)=>{let V;for(;ee!==de;)V=m(ee),o(ee),ee=V;o(de)},Z=(ee,de,V)=>{const{bum:q,scope:ne,job:te,subTree:Y,um:fe,m:be,a:_e}=ee;Rlt(be),Rlt(_e),q&&Nde(q),ne.stop(),te&&(te.flags|=8,z(Y,ee,de,V)),fe&&Vm(fe,de),Vm(()=>{ee.isUnmounted=!0},de)},oe=(ee,de,V,q=!1,ne=!1,te=0)=>{for(let Y=te;Y{if(ee.shapeFlag&6)return J(ee.component.subTree);if(ee.shapeFlag&128)return ee.suspense.next();const de=m(ee.anchor||ee.el),V=de&&de[nAn];return V?m(V):de};let se=!1;const le=(ee,de,V)=>{let q;ee==null?de._vnode&&(z(de._vnode,null,null,!0),q=de._vnode.component):k(de._vnode||null,ee,de,null,null,null,V),de._vnode=ee,se||(se=!0,blt(q),Kvn(),se=!1)},re={p:k,um:z,m:j,r:$,mt:T,mc:S,pc:R,pbc:E,n:J,o:e};return{render:le,hydrate:void 0,createApp:rri(le)}}function BCe({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function qE({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function pri(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function xYe(e,t,n=!1){const r=e.children,o=t.children;if(io(r)&&io(o))for(let s=0;s>1,e[n[l]]0&&(t[r]=n[s-1]),n[s]=r)}}for(s=n.length,a=n[s-1];s-- >0;)n[s]=a,a=t[a];return n}function DAn(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:DAn(t)}function Rlt(e){if(e)for(let t=0;te.__isSuspense;function wri(e,t){t&&t.pendingBranch?io(e)?t.effects.push(...e):t.effects.push(e):Dii(e)}const rn=Symbol.for("v-fgt"),JR=Symbol.for("v-txt"),ah=Symbol.for("v-cmt"),RCe=Symbol.for("v-stc"),wY=[];let v0=null;function xe(e=!1){wY.push(v0=e?null:[])}function Ori(){wY.pop(),v0=wY[wY.length-1]||null}let tW=1;function Tfe(e,t=!1){tW+=e,e<0&&v0&&t&&(v0.hasOnce=!0)}function IAn(e){return e.dynamicChildren=tW>0?v0||nU:null,Ori(),tW>0&&v0&&v0.push(e),e}function Ge(e,t,n,r,o,s){return IAn(ge(e,t,n,r,o,s,!0))}function Nt(e,t,n,r,o){return IAn(c(e,t,n,r,o,!0))}function js(e){return e?e.__v_isVNode===!0:!1}function lT(e,t){return e.type===t.type&&e.key===t.key}const MAn=({key:e})=>e??null,jde=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?Vd(e)||Nn(e)||es(e)?{i:am,r:e,k:t,f:!!n}:e:null);function ge(e,t=null,n=null,r=0,o=null,s=e===rn?0:1,a=!1,l=!1){const d={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&MAn(t),ref:t&&jde(t),scopeId:eAn,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:s,patchFlag:r,dynamicProps:o,dynamicChildren:null,appContext:null,ctx:am};return l?(EYe(d,n),s&128&&e.normalize(d)):n&&(d.shapeFlag|=Vd(n)?8:16),tW>0&&!a&&v0&&(d.patchFlag>0||s&6)&&d.patchFlag!==32&&v0.push(d),d}const c=yri;function yri(e,t=null,n=null,r=0,o=null,s=!1){if((!e||e===gAn)&&(e=ah),js(e)){const l=Jv(e,t,!0);return n&&EYe(l,n),tW>0&&!s&&v0&&(l.shapeFlag&6?v0[v0.indexOf(e)]=l:v0.push(l)),l.patchFlag=-2,l}if(Qri(e)&&(e=e.__vccOpts),t){t=T_(t);let{class:l,style:d}=t;l&&!Vd(l)&&(t.class=xo(l)),Ql(d)&&(t4e(d)&&!io(d)&&(d=fh({},d)),t.style=no(d))}const a=Vd(e)?1:RAn(e)?128:iAn(e)?64:Ql(e)?4:es(e)?2:0;return ge(e,t,n,r,o,a,s,!0)}function T_(e){return e?t4e(e)||SAn(e)?fh({},e):e:null}function Jv(e,t,n=!1,r=!1){const{props:o,ref:s,patchFlag:a,children:l,transition:d}=e,u=t?Jn(o||{},t):o,h={__v_isVNode:!0,__v_skip:!0,type:e.type,props:u,key:u&&MAn(u),ref:t&&t.ref?n&&s?io(s)?s.concat(jde(t)):[s,jde(t)]:jde(t):s,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:l,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==rn?a===-1?16:a|16:a,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:d,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Jv(e.ssContent),ssFallback:e.ssFallback&&Jv(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return d&&r&&LB(h,d.clone(h)),h}function Dt(e=" ",t=0){return c(JR,null,e,t)}function nn(e="",t=!1){return t?(xe(),Nt(ah,null,e)):c(ah,null,e)}function lO(e){return e==null||typeof e=="boolean"?c(ah):io(e)?c(rn,null,e.slice()):js(e)?G_(e):c(JR,null,String(e))}function G_(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Jv(e)}function EYe(e,t){let n=0;const{shapeFlag:r}=e;if(t==null)t=null;else if(io(t))n=16;else if(typeof t=="object")if(r&65){const o=t.default;o&&(o._c&&(o._d=!1),EYe(e,o()),o._c&&(o._d=!0));return}else{n=32;const o=t._;!o&&!SAn(t)?t._ctx=am:o===3&&am&&(am.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else es(t)?(t={default:t,_ctx:am},n=32):(t=String(t),r&64?(n=16,t=[Dt(t)]):n=8);e.children=t,e.shapeFlag|=n}function Jn(...e){const t={};for(let n=0;nt1||am;let Qfe,HRe;{const e=KAe(),t=(n,r)=>{let o;return(o=e[n])||(o=e[n]=[]),o.push(r),s=>{o.length>1?o.forEach(a=>a(s)):o[0](s)}};Qfe=t("__VUE_INSTANCE_SETTERS__",n=>t1=n),HRe=t("__VUE_SSR_SETTERS__",n=>Rq=n)}const pne=e=>{const t=t1;return Qfe(e),e.scope.on(),()=>{e.scope.off(),Qfe(t)}},Ilt=()=>{t1&&t1.scope.off(),Qfe(null)};function PAn(e){return e.vnode.shapeFlag&4}let Rq=!1;function Lri(e,t=!1,n=!1){t&&HRe(t);const{props:r,children:o}=e.vnode,s=PAn(e);uri(e,r,s,t),mri(e,o,n||t);const a=s?xri(e,t):void 0;return t&&HRe(!1),a}function xri(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Yii);const{setup:r}=n;if(r){f8();const o=e.setupContext=r.length>1?NAn(e):null,s=pne(e),a=Ane(r,e,0,[e.props,o]),l=Cvn(a);if(g8(),s(),(l||e.sp)&&!oU(e)&&dAn(e),l){if(a.then(Ilt,Ilt),t)return a.then(d=>{Mlt(e,d)}).catch(d=>{n4e(d,e,0)});e.asyncDep=a}else Mlt(e,a)}else FAn(e)}function Mlt(e,t,n){es(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:Ql(t)&&(e.setupState=Gvn(t)),FAn(e)}function FAn(e,t,n){const r=e.type;e.render||(e.render=r.render||ty);{const o=pne(e);f8();try{Kii(e)}finally{g8(),o()}}}const Eri={get(e,t){return Jm(e,"get",""),e[t]}};function NAn(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,Eri),slots:e.slots,emit:e.emit,expose:t}}function l4e(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Gvn(YQ(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in bY)return bY[n](e)},has(t,n){return n in t||n in bY}})):e.proxy}function Tri(e,t=!0){return es(e)?e.displayName||e.name:e.name||t&&e.__name}function Qri(e){return es(e)&&"__vccOpts"in e}const G=(e,t)=>Lii(e,t,Rq);function Qn(e,t,n){try{Tfe(-1);const r=arguments.length;return r===2?Ql(t)&&!io(t)?js(t)?c(e,null,[t]):c(e,t):c(e,null,t):(r>3?n=Array.prototype.slice.call(arguments,2):r===3&&js(n)&&(n=[n]),c(e,t,n))}finally{Tfe(1)}}function Dri(e,t){const n=e.memo;if(n.length!=t.length)return!1;for(let r=0;r0&&v0&&v0.push(e),!0}const Bri="3.5.30";/**
+**/function Ane(e,t,n,r){try{return r?e(...r):e()}catch(o){n4e(o,t,n)}}function h3(e,t,n,r){if(es(e)){const o=Ane(e,t,n,r);return o&&Cvn(o)&&o.catch(s=>{n4e(s,t,n)}),o}if(io(e)){const o=[];for(let s=0;s>>1,o=u0[r],s=Dq(o);s=Dq(n)?u0.push(e):u0.splice(Qii(t),0,e),e.flags|=1,qvn()}}function qvn(){_fe||(_fe=Zvn.then(Jvn))}function Dii(e){io(e)?rU.push(...e):X5&&e.id===-1?X5.splice(lF+1,0,e):e.flags&1||(rU.push(e),e.flags|=1),qvn()}function blt(e,t,n=Nw+1){for(;nDq(n)-Dq(r));if(rU.length=0,X5){X5.push(...t);return}for(X5=t,lF=0;lFe.id==null?e.flags&2?-1:1/0:e.id;function Jvn(e){try{for(Nw=0;Nw{r._d&&Tfe(-1);const s=Sfe(t);let a;try{a=e(...o)}finally{Sfe(s),r._d&&Tfe(1)}return a};return r._n=!0,r._c=!0,r._d=!0,r}function hu(e,t){if(am===null)return e;const n=l4e(am),r=e.dirs||(e.dirs=[]);for(let o=0;o1)return n&&es(t)?t.call(r&&r.proxy):t}}function Bii(){return!!(ps()||ZQ)}const Rii=Symbol.for("v-scx"),Iii=()=>bt(Rii);function l6(e,t){return i4e(e,null,t)}function Mii(e,t){return i4e(e,null,{flush:"sync"})}function pt(e,t,n){return i4e(e,t,n)}function i4e(e,t,n=Sl){const{immediate:r,deep:o,flush:s,once:a}=n,l=fh({},n),d=t&&r||!t&&s!=="post";let u;if(Rq){if(s==="sync"){const v=Iii();u=v.__watcherHandles||(v.__watcherHandles=[])}else if(!d){const v=()=>{};return v.stop=ty,v.resume=ty,v.pause=ty,v}}const h=n1;l.call=(v,f,k)=>h3(v,h,f,k);let g=!1;s==="post"?l.scheduler=v=>{Vm(v,h&&h.suspense)}:s!=="sync"&&(g=!0,l.scheduler=(v,f)=>{f?v():OYe(v)}),l.augmentJob=v=>{t&&(v.flags|=4),g&&(v.flags|=2,h&&(v.id=h.uid,v.i=h))};const m=Eii(e,t,l);return Rq&&(u?u.push(m):d&&m()),m}function Pii(e,t,n){const r=this.proxy,o=Vd(e)?e.includes(".")?tAn(r,e):()=>r[e]:e.bind(r,r);let s;es(t)?s=t:(s=t.handler,n=t);const a=pne(this),l=i4e(o,s.bind(r),n);return a(),l}function tAn(e,t){const n=t.split(".");return()=>{let r=e;for(let o=0;oe.__isTeleport,vY=e=>e&&(e.disabled||e.disabled===""),wlt=e=>e&&(e.defer||e.defer===""),Olt=e=>typeof SVGElement<"u"&&e instanceof SVGElement,ylt=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,NRe=(e,t)=>{const n=e&&e.to;return Vd(n)?t?t(n):null:n},rAn={name:"Teleport",__isTeleport:!0,process(e,t,n,r,o,s,a,l,d,u){const{mc:h,pc:g,pbc:m,o:{insert:v,querySelector:f,createText:k,createComment:A}}=u,p=vY(t.props);let{shapeFlag:b,children:w,dynamicChildren:O}=t;if(e==null){const y=t.el=k(""),C=t.anchor=k("");v(y,n,r),v(C,n,r);const _=(L,E)=>{b&16&&h(w,L,E,o,s,a,l,d)},S=()=>{const L=t.target=NRe(t.props,f),E=URe(L,t,k,v);L&&(a!=="svg"&&Olt(L)?a="svg":a!=="mathml"&&ylt(L)&&(a="mathml"),o&&o.isCE&&(o.ce._teleportTargets||(o.ce._teleportTargets=new Set)).add(L),p||(_(L,E),Ude(t,!1)))};p&&(_(n,C),Ude(t,!0)),wlt(t.props)?(t.el.__isMounted=!1,Vm(()=>{S(),delete t.el.__isMounted},s)):S()}else{if(wlt(t.props)&&e.el.__isMounted===!1){Vm(()=>{rAn.process(e,t,n,r,o,s,a,l,d,u)},s);return}t.el=e.el,t.targetStart=e.targetStart;const y=t.anchor=e.anchor,C=t.target=e.target,_=t.targetAnchor=e.targetAnchor,S=vY(e.props),L=S?n:C,E=S?y:_;if(a==="svg"||Olt(C)?a="svg":(a==="mathml"||ylt(C))&&(a="mathml"),O?(m(e.dynamicChildren,O,L,o,s,a,l),xYe(e,t,!0)):d||g(e,t,L,E,o,s,a,l,!1),p)S?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):cse(t,n,y,u,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const Q=t.target=NRe(t.props,f);Q&&cse(t,Q,null,u,0)}else S&&cse(t,C,_,u,1);Ude(t,p)}},remove(e,t,n,{um:r,o:{remove:o}},s){const{shapeFlag:a,children:l,anchor:d,targetStart:u,targetAnchor:h,target:g,props:m}=e;if(g&&(o(u),o(h)),s&&o(d),a&16){const v=s||!vY(m);for(let f=0;f{e.isMounted=!0}),qs(()=>{e.isUnmounting=!0}),e}const UA=[Function,Array],sAn={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:UA,onEnter:UA,onAfterEnter:UA,onEnterCancelled:UA,onBeforeLeave:UA,onLeave:UA,onAfterLeave:UA,onLeaveCancelled:UA,onBeforeAppear:UA,onAppear:UA,onAfterAppear:UA,onAppearCancelled:UA},aAn=e=>{const t=e.subTree;return t.component?aAn(t.component):t},Nii={name:"BaseTransition",props:sAn,setup(e,{slots:t}){const n=ps(),r=oAn();return()=>{const o=t.default&&yYe(t.default(),!0);if(!o||!o.length)return;const s=lAn(o),a=ha(e),{mode:l}=a;if(r.isLeaving)return QCe(s);const d=Clt(s);if(!d)return QCe(s);let u=Bq(d,a,r,n,g=>u=g);d.type!==ah&&LB(d,u);let h=n.subTree&&Clt(n.subTree);if(h&&h.type!==ah&&!lT(h,d)&&aAn(n).type!==ah){let g=Bq(h,a,r,n);if(LB(h,g),l==="out-in"&&d.type!==ah)return r.isLeaving=!0,g.afterLeave=()=>{r.isLeaving=!1,n.job.flags&8||n.update(),delete g.afterLeave,h=void 0},QCe(s);l==="in-out"&&d.type!==ah?g.delayLeave=(m,v,f)=>{const k=cAn(r,h);k[String(h.key)]=h,m[Yw]=()=>{v(),m[Yw]=void 0,delete u.delayedLeave,h=void 0},u.delayedLeave=()=>{f(),delete u.delayedLeave,h=void 0}}:h=void 0}else h&&(h=void 0);return s}}};function lAn(e){let t=e[0];if(e.length>1){for(const n of e)if(n.type!==ah){t=n;break}}return t}const Uii=Nii;function cAn(e,t){const{leavingVNodes:n}=e;let r=n.get(t.type);return r||(r=Object.create(null),n.set(t.type,r)),r}function Bq(e,t,n,r,o){const{appear:s,mode:a,persisted:l=!1,onBeforeEnter:d,onEnter:u,onAfterEnter:h,onEnterCancelled:g,onBeforeLeave:m,onLeave:v,onAfterLeave:f,onLeaveCancelled:k,onBeforeAppear:A,onAppear:p,onAfterAppear:b,onAppearCancelled:w}=t,O=String(e.key),y=cAn(n,e),C=(L,E)=>{L&&h3(L,r,9,E)},_=(L,E)=>{const Q=E[1];C(L,E),io(L)?L.every(D=>D.length<=1)&&Q():L.length<=1&&Q()},S={mode:a,persisted:l,beforeEnter(L){let E=d;if(!n.isMounted)if(s)E=A||d;else return;L[Yw]&&L[Yw](!0);const Q=y[O];Q&&lT(e,Q)&&Q.el[Yw]&&Q.el[Yw](),C(E,[L])},enter(L){if(y[O]===e)return;let E=u,Q=h,D=g;if(!n.isMounted)if(s)E=p||u,Q=b||h,D=w||g;else return;let P=!1;L[k$]=M=>{P||(P=!0,M?C(D,[L]):C(Q,[L]),S.delayedLeave&&S.delayedLeave(),L[k$]=void 0)};const T=L[k$].bind(null,!1);E?_(E,[L,T]):T()},leave(L,E){const Q=String(e.key);if(L[k$]&&L[k$](!0),n.isUnmounting)return E();C(m,[L]);let D=!1;L[Yw]=T=>{D||(D=!0,E(),T?C(k,[L]):C(f,[L]),L[Yw]=void 0,y[Q]===e&&delete y[Q])};const P=L[Yw].bind(null,!1);y[Q]=e,v?_(v,[L,P]):P()},clone(L){const E=Bq(L,t,n,r,o);return o&&o(E),E}};return S}function QCe(e){if(r4e(e))return e=Jv(e),e.children=null,e}function Clt(e){if(!r4e(e))return iAn(e.type)&&e.children?lAn(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&es(n.default))return n.default()}}function LB(e,t){e.shapeFlag&6&&e.component?(e.transition=t,LB(e.component.subTree,t)):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function yYe(e,t=!1,n){let r=[],o=0;for(let s=0;s1)for(let s=0;sAY(k,t&&(io(t)?t[A]:t),n,r,o));return}if(oU(r)&&!o){r.shapeFlag&512&&r.type.__asyncResolved&&r.component.subTree.component&&AY(e,t,n,r.component.subTree);return}const s=r.shapeFlag&4?l4e(r.component):r.el,a=o?null:s,{i:l,r:d}=e,u=t&&t.r,h=l.refs===Sl?l.refs={}:l.refs,g=l.setupState,m=ha(g),v=g===Sl?yvn:k=>_lt(h,k)?!1:Wl(m,k),f=(k,A)=>!(A&&_lt(h,A));if(u!=null&&u!==d){if(Slt(t),Vd(u))h[u]=null,v(u)&&(g[u]=null);else if(Nn(u)){const k=t;f(u,k.k)&&(u.value=null),k.k&&(h[k.k]=null)}}if(es(d))Ane(d,l,12,[a,h]);else{const k=Vd(d),A=Nn(d);if(k||A){const p=()=>{if(e.f){const b=k?v(d)?g[d]:h[d]:f()||!e.k?d.value:h[e.k];if(o)io(b)&&mYe(b,s);else if(io(b))b.includes(s)||b.push(s);else if(k)h[d]=[s],v(d)&&(g[d]=h[d]);else{const w=[s];f(d,e.k)&&(d.value=w),e.k&&(h[e.k]=w)}}else k?(h[d]=a,v(d)&&(g[d]=a)):A&&(f(d,e.k)&&(d.value=a),e.k&&(h[e.k]=a))};if(a){const b=()=>{p(),Lfe.delete(e)};b.id=-1,Lfe.set(e,b),Vm(b,n)}else Slt(e),p()}}}function Slt(e){const t=Lfe.get(e);t&&(t.flags|=8,Lfe.delete(e))}KAe().requestIdleCallback;KAe().cancelIdleCallback;const oU=e=>!!e.type.__asyncLoader,r4e=e=>e.type.__isKeepAlive;function uAn(e,t){fAn(e,"a",t)}function hAn(e,t){fAn(e,"da",t)}function fAn(e,t,n=n1){const r=e.__wdc||(e.__wdc=()=>{let o=n;for(;o;){if(o.isDeactivated)return;o=o.parent}return e()});if(o4e(t,r,n),n){let o=n.parent;for(;o&&o.parent;)r4e(o.parent.vnode)&&Wii(r,t,n,o),o=o.parent}}function Wii(e,t,n,r){const o=o4e(t,e,r,!0);fl(()=>{mYe(r[t],o)},n)}function o4e(e,t,n=n1,r=!1){if(n){const o=n[e]||(n[e]=[]),s=t.__weh||(t.__weh=(...a)=>{f8();const l=pne(n),d=h3(t,n,e,a);return l(),g8(),d});return r?o.unshift(s):o.push(s),s}}const tL=e=>(t,n=n1)=>{(!Rq||e==="sp")&&o4e(e,(...r)=>t(...r),n)},eW=tL("bm"),vn=tL("m"),Vii=tL("bu"),nL=tL("u"),qs=tL("bum"),fl=tL("um"),zii=tL("sp"),Hii=tL("rtg"),$ii=tL("rtc");function Xii(e,t=n1){o4e("ec",e,t)}const CYe="components",Gii="directives";function Ln(e,t){return _Ye(CYe,e,!0,t)||e}const gAn=Symbol.for("v-ndc");function Rd(e){return Vd(e)?_Ye(CYe,e,!1)||e:e||gAn}function s4e(e){return _Ye(Gii,e)}function _Ye(e,t,n=!0,r=!1){const o=am||n1;if(o){const s=o.type;if(e===CYe){const l=Tri(s,!1);if(l&&(l===t||l===d1(t)||l===ZAe(d1(t))))return s}const a=Llt(o[e]||s[e],t)||Llt(o.appContext[e],t);return!a&&r?s:a}}function Llt(e,t){return e&&(e[t]||e[d1(t)]||e[ZAe(d1(t))])}function Di(e,t,n,r){let o;const s=n&&n[r],a=io(e);if(a||Vd(e)){const l=a&&H4(e);let d=!1,u=!1;l&&(d=!Hv(e),u=m8(e),e=e4e(e)),o=new Array(e.length);for(let h=0,g=e.length;ht(l,d,void 0,s&&s[d]));else{const l=Object.keys(e);o=new Array(l.length);for(let d=0,u=l.length;d{const s=r.fn(...o);return s&&(s.key=r.key),s}:r.fn)}return e}function Zr(e,t,n={},r,o){if(am.ce||am.parent&&oU(am.parent)&&am.parent.ce){const u=Object.keys(n).length>0;return t!=="default"&&(n.name=t),xe(),Nt(rn,null,[c("slot",n,r&&r())],u?-2:64)}let s=e[t];s&&s._c&&(s._d=!1),xe();const a=s&&mAn(s(n)),l=n.key||a&&a.key,d=Nt(rn,{key:(l&&!d3(l)?l:`_${t}`)+(!a&&r?"_fb":"")},a||(r?r():[]),a&&e._===1?64:-2);return!o&&d.scopeId&&(d.slotScopeIds=[d.scopeId+"-s"]),s&&s._c&&(s._d=!0),d}function mAn(e){return e.some(t=>js(t)?!(t.type===ah||t.type===rn&&!mAn(t.children)):!0)?e:null}const jRe=e=>e?PAn(e)?l4e(e):jRe(e.parent):null,bY=fh(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>jRe(e.parent),$root:e=>jRe(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>pAn(e),$forceUpdate:e=>e.f||(e.f=()=>{OYe(e.update)}),$nextTick:e=>e.n||(e.n=li.bind(e.proxy)),$watch:e=>Pii.bind(e)}),DCe=(e,t)=>e!==Sl&&!e.__isScriptSetup&&Wl(e,t),Yii={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:r,data:o,props:s,accessCache:a,type:l,appContext:d}=e;if(t[0]!=="$"){const m=a[t];if(m!==void 0)switch(m){case 1:return r[t];case 2:return o[t];case 4:return n[t];case 3:return s[t]}else{if(DCe(r,t))return a[t]=1,r[t];if(o!==Sl&&Wl(o,t))return a[t]=2,o[t];if(Wl(s,t))return a[t]=3,s[t];if(n!==Sl&&Wl(n,t))return a[t]=4,n[t];WRe&&(a[t]=0)}}const u=bY[t];let h,g;if(u)return t==="$attrs"&&Jm(e.attrs,"get",""),u(e);if((h=l.__cssModules)&&(h=h[t]))return h;if(n!==Sl&&Wl(n,t))return a[t]=4,n[t];if(g=d.config.globalProperties,Wl(g,t))return g[t]},set({_:e},t,n){const{data:r,setupState:o,ctx:s}=e;return DCe(o,t)?(o[t]=n,!0):r!==Sl&&Wl(r,t)?(r[t]=n,!0):Wl(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(s[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:r,appContext:o,props:s,type:a}},l){let d;return!!(n[l]||e!==Sl&&l[0]!=="$"&&Wl(e,l)||DCe(t,l)||Wl(s,l)||Wl(r,l)||Wl(bY,l)||Wl(o.config.globalProperties,l)||(d=a.__cssModules)&&d[l])},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:Wl(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function kAn(){return vAn().slots}function Zii(){return vAn().attrs}function vAn(e){const t=ps();return t.setupContext||(t.setupContext=NAn(t))}function xfe(e){return io(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}function Nc(e,t){return!e||!t?e||t:io(e)&&io(t)?e.concat(t):fh({},xfe(e),xfe(t))}function qii(e,t){const n={};for(const r in e)t.includes(r)||Object.defineProperty(n,r,{enumerable:!0,get:()=>e[r]});return n}let WRe=!0;function Kii(e){const t=pAn(e),n=e.proxy,r=e.ctx;WRe=!1,t.beforeCreate&&xlt(t.beforeCreate,e,"bc");const{data:o,computed:s,methods:a,watch:l,provide:d,inject:u,created:h,beforeMount:g,mounted:m,beforeUpdate:v,updated:f,activated:k,deactivated:A,beforeDestroy:p,beforeUnmount:b,destroyed:w,unmounted:O,render:y,renderTracked:C,renderTriggered:_,errorCaptured:S,serverPrefetch:L,expose:E,inheritAttrs:Q,components:D,directives:P,filters:T}=t;if(u&&Jii(u,r,null),a)for(const I in a){const R=a[I];es(R)&&(r[I]=R.bind(n))}if(o){const I=o.call(n,n);Ql(I)&&(e.data=hs(I))}if(WRe=!0,s)for(const I in s){const R=s[I],F=es(R)?R.bind(n,n):es(R.get)?R.get.bind(n,n):ty,W=!es(R)&&es(R.set)?R.set.bind(n):ty,j=G({get:F,set:W});Object.defineProperty(r,I,{enumerable:!0,configurable:!0,get:()=>j.value,set:z=>j.value=z})}if(l)for(const I in l)AAn(l[I],r,n,I);if(d){const I=es(d)?d.call(n):d;Reflect.ownKeys(I).forEach(R=>{Yi(R,I[R])})}h&&xlt(h,e,"c");function B(I,R){io(R)?R.forEach(F=>I(F.bind(n))):R&&I(R.bind(n))}if(B(eW,g),B(vn,m),B(Vii,v),B(nL,f),B(uAn,k),B(hAn,A),B(Xii,S),B($ii,C),B(Hii,_),B(qs,b),B(fl,O),B(zii,L),io(E))if(E.length){const I=e.exposed||(e.exposed={});E.forEach(R=>{Object.defineProperty(I,R,{get:()=>n[R],set:F=>n[R]=F,enumerable:!0})})}else e.exposed||(e.exposed={});y&&e.render===ty&&(e.render=y),Q!=null&&(e.inheritAttrs=Q),D&&(e.components=D),P&&(e.directives=P),L&&dAn(e)}function Jii(e,t,n=ty){io(e)&&(e=VRe(e));for(const r in e){const o=e[r];let s;Ql(o)?"default"in o?s=bt(o.from||r,o.default,!0):s=bt(o.from||r):s=bt(o),Nn(s)?Object.defineProperty(t,r,{enumerable:!0,configurable:!0,get:()=>s.value,set:a=>s.value=a}):t[r]=s}}function xlt(e,t,n){h3(io(e)?e.map(r=>r.bind(t.proxy)):e.bind(t.proxy),t,n)}function AAn(e,t,n,r){let o=r.includes(".")?tAn(n,r):()=>n[r];if(Vd(e)){const s=t[e];es(s)&&pt(o,s)}else if(es(e))pt(o,e.bind(n));else if(Ql(e))if(io(e))e.forEach(s=>AAn(s,t,n,r));else{const s=es(e.handler)?e.handler.bind(n):t[e.handler];es(s)&&pt(o,s,e)}}function pAn(e){const t=e.type,{mixins:n,extends:r}=t,{mixins:o,optionsCache:s,config:{optionMergeStrategies:a}}=e.appContext,l=s.get(t);let d;return l?d=l:!o.length&&!n&&!r?d=t:(d={},o.length&&o.forEach(u=>Efe(d,u,a,!0)),Efe(d,t,a)),Ql(t)&&s.set(t,d),d}function Efe(e,t,n,r=!1){const{mixins:o,extends:s}=t;s&&Efe(e,s,n,!0),o&&o.forEach(a=>Efe(e,a,n,!0));for(const a in t)if(!(r&&a==="expose")){const l=eri[a]||n&&n[a];e[a]=l?l(e[a],t[a]):t[a]}return e}const eri={data:Elt,props:Tlt,emits:Tlt,methods:oG,computed:oG,beforeCreate:W1,created:W1,beforeMount:W1,mounted:W1,beforeUpdate:W1,updated:W1,beforeDestroy:W1,beforeUnmount:W1,destroyed:W1,unmounted:W1,activated:W1,deactivated:W1,errorCaptured:W1,serverPrefetch:W1,components:oG,directives:oG,watch:nri,provide:Elt,inject:tri};function Elt(e,t){return t?e?function(){return fh(es(e)?e.call(this,this):e,es(t)?t.call(this,this):t)}:t:e}function tri(e,t){return oG(VRe(e),VRe(t))}function VRe(e){if(io(e)){const t={};for(let n=0;n{let h,g=Sl,m;return Mii(()=>{const v=e[o];Kg(h,v)&&(h=v,u())}),{get(){return d(),n.get?n.get(h):h},set(v){const f=n.set?n.set(v):v;if(!Kg(f,h)&&!(g!==Sl&&Kg(v,g)))return;const k=r.vnode.props;k&&(t in k||o in k||s in k)&&(`onUpdate:${t}`in k||`onUpdate:${o}`in k||`onUpdate:${s}`in k)||(h=v,u()),r.emit(`update:${t}`,f),Kg(v,f)&&Kg(v,g)&&!Kg(f,m)&&u(),g=v,m=f}}});return l[Symbol.iterator]=()=>{let d=0;return{next(){return d<2?{value:d++?a||Sl:l,done:!1}:{done:!0}}}},l}const wAn=(e,t)=>t==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${d1(t)}Modifiers`]||e[`${eL(t)}Modifiers`];function ori(e,t,...n){if(e.isUnmounted)return;const r=e.vnode.props||Sl;let o=n;const s=t.startsWith("update:"),a=s&&wAn(r,t.slice(7));a&&(a.trim&&(o=n.map(h=>Vd(h)?h.trim():h)),a.number&&(o=n.map(qAe)));let l,d=r[l=SCe(t)]||r[l=SCe(d1(t))];!d&&s&&(d=r[l=SCe(eL(t))]),d&&h3(d,e,6,o);const u=r[l+"Once"];if(u){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,h3(u,e,6,o)}}const sri=new WeakMap;function OAn(e,t,n=!1){const r=n?sri:t.emitsCache,o=r.get(e);if(o!==void 0)return o;const s=e.emits;let a={},l=!1;if(!es(e)){const d=u=>{const h=OAn(u,t,!0);h&&(l=!0,fh(a,h))};!n&&t.mixins.length&&t.mixins.forEach(d),e.extends&&d(e.extends),e.mixins&&e.mixins.forEach(d)}return!s&&!l?(Ql(e)&&r.set(e,null),null):(io(s)?s.forEach(d=>a[d]=null):fh(a,s),Ql(e)&&r.set(e,a),a)}function a4e(e,t){return!e||!$Ae(t)?!1:(t=t.slice(2).replace(/Once$/,""),Wl(e,t[0].toLowerCase()+t.slice(1))||Wl(e,eL(t))||Wl(e,t))}function Qlt(e){const{type:t,vnode:n,proxy:r,withProxy:o,propsOptions:[s],slots:a,attrs:l,emit:d,render:u,renderCache:h,props:g,data:m,setupState:v,ctx:f,inheritAttrs:k}=e,A=Sfe(e);let p,b;try{if(n.shapeFlag&4){const O=o||r,y=O;p=lO(u.call(y,O,h,g,v,m,f)),b=l}else{const O=t;p=lO(O.length>1?O(g,{attrs:l,slots:a,emit:d}):O(g,null)),b=t.props?l:ari(l)}}catch(O){wY.length=0,n4e(O,e,1),p=c(ah)}let w=p;if(b&&k!==!1){const O=Object.keys(b),{shapeFlag:y}=w;O.length&&y&7&&(s&&O.some(gYe)&&(b=lri(b,s)),w=Jv(w,b,!1,!0))}return n.dirs&&(w=Jv(w,null,!1,!0),w.dirs=w.dirs?w.dirs.concat(n.dirs):n.dirs),n.transition&&LB(w,n.transition),p=w,Sfe(A),p}const ari=e=>{let t;for(const n in e)(n==="class"||n==="style"||$Ae(n))&&((t||(t={}))[n]=e[n]);return t},lri=(e,t)=>{const n={};for(const r in e)(!gYe(r)||!(r.slice(9)in t))&&(n[r]=e[r]);return n};function cri(e,t,n){const{props:r,children:o,component:s}=e,{props:a,children:l,patchFlag:d}=t,u=s.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&d>=0){if(d&1024)return!0;if(d&16)return r?Dlt(r,a,u):!!a;if(d&8){const h=t.dynamicProps;for(let g=0;gObject.create(CAn),SAn=e=>Object.getPrototypeOf(e)===CAn;function uri(e,t,n,r=!1){const o={},s=_An();e.propsDefaults=Object.create(null),LAn(e,t,o,s);for(const a in e.propsOptions[0])a in o||(o[a]=void 0);n?e.props=r?o:$vn(o):e.type.props?e.props=o:e.props=s,e.attrs=s}function hri(e,t,n,r){const{props:o,attrs:s,vnode:{patchFlag:a}}=e,l=ha(o),[d]=e.propsOptions;let u=!1;if((r||a>0)&&!(a&16)){if(a&8){const h=e.vnode.dynamicProps;for(let g=0;g{d=!0;const[m,v]=xAn(g,t,!0);fh(a,m),v&&l.push(...v)};!n&&t.mixins.length&&t.mixins.forEach(h),e.extends&&h(e.extends),e.mixins&&e.mixins.forEach(h)}if(!s&&!d)return Ql(e)&&r.set(e,nU),nU;if(io(s))for(let h=0;he==="_"||e==="_ctx"||e==="$stable",LYe=e=>io(e)?e.map(lO):[lO(e)],gri=(e,t,n)=>{if(t._n)return t;const r=ye((...o)=>LYe(t(...o)),n);return r._c=!1,r},EAn=(e,t,n)=>{const r=e._ctx;for(const o in e){if(SYe(o))continue;const s=e[o];if(es(s))t[o]=gri(o,s,r);else if(s!=null){const a=LYe(s);t[o]=()=>a}}},TAn=(e,t)=>{const n=LYe(t);e.slots.default=()=>n},QAn=(e,t,n)=>{for(const r in t)(n||!SYe(r))&&(e[r]=t[r])},mri=(e,t,n)=>{const r=e.slots=_An();if(e.vnode.shapeFlag&32){const o=t._;o?(QAn(r,t,n),n&&Lvn(r,"_",o,!0)):EAn(t,r)}else t&&TAn(e,t)},kri=(e,t,n)=>{const{vnode:r,slots:o}=e;let s=!0,a=Sl;if(r.shapeFlag&32){const l=t._;l?n&&l===1?s=!1:QAn(o,t,n):(s=!t.$stable,EAn(t,o)),a=t}else t&&(TAn(e,t),a={default:1});if(s)for(const l in o)!SYe(l)&&a[l]==null&&delete o[l]},Vm=wri;function vri(e){return Ari(e)}function Ari(e,t){const n=KAe();n.__VUE__=!0;const{insert:r,remove:o,patchProp:s,createElement:a,createText:l,createComment:d,setText:u,setElementText:h,parentNode:g,nextSibling:m,setScopeId:v=ty,insertStaticContent:f}=e,k=(ee,de,V,q=null,ne=null,te=null,Y=void 0,fe=null,be=!!de.dynamicChildren)=>{if(ee===de)return;ee&&!lT(ee,de)&&(q=J(ee),z(ee,ne,te,!0),ee=null),de.patchFlag===-2&&(be=!1,de.dynamicChildren=null);const{type:_e,ref:Qe,shapeFlag:ke}=de;switch(_e){case JR:A(ee,de,V,q);break;case ah:p(ee,de,V,q);break;case RCe:ee==null&&b(de,V,q,Y);break;case rn:D(ee,de,V,q,ne,te,Y,fe,be);break;default:ke&1?y(ee,de,V,q,ne,te,Y,fe,be):ke&6?P(ee,de,V,q,ne,te,Y,fe,be):(ke&64||ke&128)&&_e.process(ee,de,V,q,ne,te,Y,fe,be,re)}Qe!=null&&ne?AY(Qe,ee&&ee.ref,te,de||ee,!de):Qe==null&&ee&&ee.ref!=null&&AY(ee.ref,null,te,ee,!0)},A=(ee,de,V,q)=>{if(ee==null)r(de.el=l(de.children),V,q);else{const ne=de.el=ee.el;de.children!==ee.children&&u(ne,de.children)}},p=(ee,de,V,q)=>{ee==null?r(de.el=d(de.children||""),V,q):de.el=ee.el},b=(ee,de,V,q)=>{[ee.el,ee.anchor]=f(ee.children,de,V,q,ee.el,ee.anchor)},w=({el:ee,anchor:de},V,q)=>{let ne;for(;ee&&ee!==de;)ne=m(ee),r(ee,V,q),ee=ne;r(de,V,q)},O=({el:ee,anchor:de})=>{let V;for(;ee&&ee!==de;)V=m(ee),o(ee),ee=V;o(de)},y=(ee,de,V,q,ne,te,Y,fe,be)=>{if(de.type==="svg"?Y="svg":de.type==="math"&&(Y="mathml"),ee==null)C(de,V,q,ne,te,Y,fe,be);else{const _e=ee.el&&ee.el._isVueCE?ee.el:null;try{_e&&_e._beginPatch(),L(ee,de,ne,te,Y,fe,be)}finally{_e&&_e._endPatch()}}},C=(ee,de,V,q,ne,te,Y,fe)=>{let be,_e;const{props:Qe,shapeFlag:ke,transition:me,dirs:Ce}=ee;if(be=ee.el=a(ee.type,te,Qe&&Qe.is,Qe),ke&8?h(be,ee.children):ke&16&&S(ee.children,be,null,q,ne,BCe(ee,te),Y,fe),Ce&&ZE(ee,null,q,"created"),_(be,ee,ee.scopeId,Y,q),Qe){for(const De in Qe)De!=="value"&&!gY(De)&&s(be,De,null,Qe[De],te,q);"value"in Qe&&s(be,"value",null,Qe.value,te),(_e=Qe.onVnodeBeforeMount)&&ow(_e,q,ee)}Ce&&ZE(ee,null,q,"beforeMount");const Te=pri(ne,me);Te&&me.beforeEnter(be),r(be,de,V),((_e=Qe&&Qe.onVnodeMounted)||Te||Ce)&&Vm(()=>{_e&&ow(_e,q,ee),Te&&me.enter(be),Ce&&ZE(ee,null,q,"mounted")},ne)},_=(ee,de,V,q,ne)=>{if(V&&v(ee,V),q)for(let te=0;te{for(let _e=be;_e{const fe=de.el=ee.el;let{patchFlag:be,dynamicChildren:_e,dirs:Qe}=de;be|=ee.patchFlag&16;const ke=ee.props||Sl,me=de.props||Sl;let Ce;if(V&&qE(V,!1),(Ce=me.onVnodeBeforeUpdate)&&ow(Ce,V,de,ee),Qe&&ZE(de,ee,V,"beforeUpdate"),V&&qE(V,!0),(ke.innerHTML&&me.innerHTML==null||ke.textContent&&me.textContent==null)&&h(fe,""),_e?E(ee.dynamicChildren,_e,fe,V,q,BCe(de,ne),te):Y||R(ee,de,fe,null,V,q,BCe(de,ne),te,!1),be>0){if(be&16)Q(fe,ke,me,V,ne);else if(be&2&&ke.class!==me.class&&s(fe,"class",null,me.class,ne),be&4&&s(fe,"style",ke.style,me.style,ne),be&8){const Te=de.dynamicProps;for(let De=0;De{Ce&&ow(Ce,V,de,ee),Qe&&ZE(de,ee,V,"updated")},q)},E=(ee,de,V,q,ne,te,Y)=>{for(let fe=0;fe{if(de!==V){if(de!==Sl)for(const te in de)!gY(te)&&!(te in V)&&s(ee,te,de[te],null,ne,q);for(const te in V){if(gY(te))continue;const Y=V[te],fe=de[te];Y!==fe&&te!=="value"&&s(ee,te,fe,Y,ne,q)}"value"in V&&s(ee,"value",de.value,V.value,ne)}},D=(ee,de,V,q,ne,te,Y,fe,be)=>{const _e=de.el=ee?ee.el:l(""),Qe=de.anchor=ee?ee.anchor:l("");let{patchFlag:ke,dynamicChildren:me,slotScopeIds:Ce}=de;Ce&&(fe=fe?fe.concat(Ce):Ce),ee==null?(r(_e,V,q),r(Qe,V,q),S(de.children||[],V,Qe,ne,te,Y,fe,be)):ke>0&&ke&64&&me&&ee.dynamicChildren&&ee.dynamicChildren.length===me.length?(E(ee.dynamicChildren,me,V,ne,te,Y,fe),(de.key!=null||ne&&de===ne.subTree)&&xYe(ee,de,!0)):R(ee,de,V,Qe,ne,te,Y,fe,be)},P=(ee,de,V,q,ne,te,Y,fe,be)=>{de.slotScopeIds=fe,ee==null?de.shapeFlag&512?ne.ctx.activate(de,V,q,Y,be):T(de,V,q,ne,te,Y,be):M(ee,de,be)},T=(ee,de,V,q,ne,te,Y)=>{const fe=ee.component=Sri(ee,q,ne);if(r4e(ee)&&(fe.ctx.renderer=re),Lri(fe,!1,Y),fe.asyncDep){if(ne&&ne.registerDep(fe,B,Y),!ee.el){const be=fe.subTree=c(ah);p(null,be,de,V),ee.placeholder=be.el}}else B(fe,ee,de,V,ne,te,Y)},M=(ee,de,V)=>{const q=de.component=ee.component;if(cri(ee,de,V))if(q.asyncDep&&!q.asyncResolved){I(q,de,V);return}else q.next=de,q.update();else de.el=ee.el,q.vnode=de},B=(ee,de,V,q,ne,te,Y)=>{const fe=()=>{if(ee.isMounted){let{next:ke,bu:me,u:Ce,parent:Te,vnode:De}=ee;{const Re=DAn(ee);if(Re){ke&&(ke.el=De.el,I(ee,ke,Y)),Re.asyncDep.then(()=>{Vm(()=>{ee.isUnmounted||_e()},ne)});return}}let qe=ke,Ye;qE(ee,!1),ke?(ke.el=De.el,I(ee,ke,Y)):ke=De,me&&Nde(me),(Ye=ke.props&&ke.props.onVnodeBeforeUpdate)&&ow(Ye,Te,ke,De),qE(ee,!0);const Ze=Qlt(ee),rt=ee.subTree;ee.subTree=Ze,k(rt,Ze,g(rt.el),J(rt),ee,ne,te),ke.el=Ze.el,qe===null&&dri(ee,Ze.el),Ce&&Vm(Ce,ne),(Ye=ke.props&&ke.props.onVnodeUpdated)&&Vm(()=>ow(Ye,Te,ke,De),ne)}else{let ke;const{el:me,props:Ce}=de,{bm:Te,m:De,parent:qe,root:Ye,type:Ze}=ee,rt=oU(de);qE(ee,!1),Te&&Nde(Te),!rt&&(ke=Ce&&Ce.onVnodeBeforeMount)&&ow(ke,qe,de),qE(ee,!0);{Ye.ce&&Ye.ce._hasShadowRoot()&&Ye.ce._injectChildStyle(Ze,ee.parent?ee.parent.type:void 0);const Re=ee.subTree=Qlt(ee);k(null,Re,V,q,ee,ne,te),de.el=Re.el}if(De&&Vm(De,ne),!rt&&(ke=Ce&&Ce.onVnodeMounted)){const Re=de;Vm(()=>ow(ke,qe,Re),ne)}(de.shapeFlag&256||qe&&oU(qe.vnode)&&qe.vnode.shapeFlag&256)&&ee.a&&Vm(ee.a,ne),ee.isMounted=!0,de=V=q=null}};ee.scope.on();const be=ee.effect=new Dvn(fe);ee.scope.off();const _e=ee.update=be.run.bind(be),Qe=ee.job=be.runIfDirty.bind(be);Qe.i=ee,Qe.id=ee.uid,be.scheduler=()=>OYe(Qe),qE(ee,!0),_e()},I=(ee,de,V)=>{de.component=ee;const q=ee.vnode.props;ee.vnode=de,ee.next=null,hri(ee,de.props,q,V),kri(ee,de.children,V),f8(),blt(ee),g8()},R=(ee,de,V,q,ne,te,Y,fe,be=!1)=>{const _e=ee&&ee.children,Qe=ee?ee.shapeFlag:0,ke=de.children,{patchFlag:me,shapeFlag:Ce}=de;if(me>0){if(me&128){W(_e,ke,V,q,ne,te,Y,fe,be);return}else if(me&256){F(_e,ke,V,q,ne,te,Y,fe,be);return}}Ce&8?(Qe&16&&oe(_e,ne,te),ke!==_e&&h(V,ke)):Qe&16?Ce&16?W(_e,ke,V,q,ne,te,Y,fe,be):oe(_e,ne,te,!0):(Qe&8&&h(V,""),Ce&16&&S(ke,V,q,ne,te,Y,fe,be))},F=(ee,de,V,q,ne,te,Y,fe,be)=>{ee=ee||nU,de=de||nU;const _e=ee.length,Qe=de.length,ke=Math.min(_e,Qe);let me;for(me=0;meQe?oe(ee,ne,te,!0,!1,ke):S(de,V,q,ne,te,Y,fe,be,ke)},W=(ee,de,V,q,ne,te,Y,fe,be)=>{let _e=0;const Qe=de.length;let ke=ee.length-1,me=Qe-1;for(;_e<=ke&&_e<=me;){const Ce=ee[_e],Te=de[_e]=be?G_(de[_e]):lO(de[_e]);if(lT(Ce,Te))k(Ce,Te,V,null,ne,te,Y,fe,be);else break;_e++}for(;_e<=ke&&_e<=me;){const Ce=ee[ke],Te=de[me]=be?G_(de[me]):lO(de[me]);if(lT(Ce,Te))k(Ce,Te,V,null,ne,te,Y,fe,be);else break;ke--,me--}if(_e>ke){if(_e<=me){const Ce=me+1,Te=Ceme)for(;_e<=ke;)z(ee[_e],ne,te,!0),_e++;else{const Ce=_e,Te=_e,De=new Map;for(_e=Te;_e<=me;_e++){const We=de[_e]=be?G_(de[_e]):lO(de[_e]);We.key!=null&&De.set(We.key,_e)}let qe,Ye=0;const Ze=me-Te+1;let rt=!1,Re=0;const je=new Array(Ze);for(_e=0;_e=Ze){z(We,ne,te,!0);continue}let He;if(We.key!=null)He=De.get(We.key);else for(qe=Te;qe<=me;qe++)if(je[qe-Te]===0&&lT(We,de[qe])){He=qe;break}He===void 0?z(We,ne,te,!0):(je[He-Te]=_e+1,He>=Re?Re=He:rt=!0,k(We,de[He],V,null,ne,te,Y,fe,be),Ye++)}const Le=rt?bri(je):nU;for(qe=Le.length-1,_e=Ze-1;_e>=0;_e--){const We=Te+_e,He=de[We],tt=de[We+1],kt=We+1{const{el:te,type:Y,transition:fe,children:be,shapeFlag:_e}=ee;if(_e&6){j(ee.component.subTree,de,V,q);return}if(_e&128){ee.suspense.move(de,V,q);return}if(_e&64){Y.move(ee,de,V,re);return}if(Y===rn){r(te,de,V);for(let ke=0;kefe.enter(te),ne);else{const{leave:ke,delayLeave:me,afterLeave:Ce}=fe,Te=()=>{ee.ctx.isUnmounted?o(te):r(te,de,V)},De=()=>{te._isLeaving&&te[Yw](!0),ke(te,()=>{Te(),Ce&&Ce()})};me?me(te,Te,De):De()}else r(te,de,V)},z=(ee,de,V,q=!1,ne=!1)=>{const{type:te,props:Y,ref:fe,children:be,dynamicChildren:_e,shapeFlag:Qe,patchFlag:ke,dirs:me,cacheIndex:Ce}=ee;if(ke===-2&&(ne=!1),fe!=null&&(f8(),AY(fe,null,V,ee,!0),g8()),Ce!=null&&(de.renderCache[Ce]=void 0),Qe&256){de.ctx.deactivate(ee);return}const Te=Qe&1&&me,De=!oU(ee);let qe;if(De&&(qe=Y&&Y.onVnodeBeforeUnmount)&&ow(qe,de,ee),Qe&6)Z(ee.component,V,q);else{if(Qe&128){ee.suspense.unmount(V,q);return}Te&&ZE(ee,null,de,"beforeUnmount"),Qe&64?ee.type.remove(ee,de,V,re,q):_e&&!_e.hasOnce&&(te!==rn||ke>0&&ke&64)?oe(_e,de,V,!1,!0):(te===rn&&ke&384||!ne&&Qe&16)&&oe(be,de,V),q&&$(ee)}(De&&(qe=Y&&Y.onVnodeUnmounted)||Te)&&Vm(()=>{qe&&ow(qe,de,ee),Te&&ZE(ee,null,de,"unmounted")},V)},$=ee=>{const{type:de,el:V,anchor:q,transition:ne}=ee;if(de===rn){X(V,q);return}if(de===RCe){O(ee);return}const te=()=>{o(V),ne&&!ne.persisted&&ne.afterLeave&&ne.afterLeave()};if(ee.shapeFlag&1&&ne&&!ne.persisted){const{leave:Y,delayLeave:fe}=ne,be=()=>Y(V,te);fe?fe(ee.el,te,be):be()}else te()},X=(ee,de)=>{let V;for(;ee!==de;)V=m(ee),o(ee),ee=V;o(de)},Z=(ee,de,V)=>{const{bum:q,scope:ne,job:te,subTree:Y,um:fe,m:be,a:_e}=ee;Rlt(be),Rlt(_e),q&&Nde(q),ne.stop(),te&&(te.flags|=8,z(Y,ee,de,V)),fe&&Vm(fe,de),Vm(()=>{ee.isUnmounted=!0},de)},oe=(ee,de,V,q=!1,ne=!1,te=0)=>{for(let Y=te;Y{if(ee.shapeFlag&6)return J(ee.component.subTree);if(ee.shapeFlag&128)return ee.suspense.next();const de=m(ee.anchor||ee.el),V=de&&de[nAn];return V?m(V):de};let se=!1;const le=(ee,de,V)=>{let q;ee==null?de._vnode&&(z(de._vnode,null,null,!0),q=de._vnode.component):k(de._vnode||null,ee,de,null,null,null,V),de._vnode=ee,se||(se=!0,blt(q),Kvn(),se=!1)},re={p:k,um:z,m:j,r:$,mt:T,mc:S,pc:R,pbc:E,n:J,o:e};return{render:le,hydrate:void 0,createApp:rri(le)}}function BCe({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function qE({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function pri(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function xYe(e,t,n=!1){const r=e.children,o=t.children;if(io(r)&&io(o))for(let s=0;s>1,e[n[l]]0&&(t[r]=n[s-1]),n[s]=r)}}for(s=n.length,a=n[s-1];s-- >0;)n[s]=a,a=t[a];return n}function DAn(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:DAn(t)}function Rlt(e){if(e)for(let t=0;te.__isSuspense;function wri(e,t){t&&t.pendingBranch?io(e)?t.effects.push(...e):t.effects.push(e):Dii(e)}const rn=Symbol.for("v-fgt"),JR=Symbol.for("v-txt"),ah=Symbol.for("v-cmt"),RCe=Symbol.for("v-stc"),wY=[];let v0=null;function xe(e=!1){wY.push(v0=e?null:[])}function Ori(){wY.pop(),v0=wY[wY.length-1]||null}let tW=1;function Tfe(e,t=!1){tW+=e,e<0&&v0&&t&&(v0.hasOnce=!0)}function IAn(e){return e.dynamicChildren=tW>0?v0||nU:null,Ori(),tW>0&&v0&&v0.push(e),e}function Ge(e,t,n,r,o,s){return IAn(ge(e,t,n,r,o,s,!0))}function Nt(e,t,n,r,o){return IAn(c(e,t,n,r,o,!0))}function js(e){return e?e.__v_isVNode===!0:!1}function lT(e,t){return e.type===t.type&&e.key===t.key}const MAn=({key:e})=>e??null,jde=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?Vd(e)||Nn(e)||es(e)?{i:am,r:e,k:t,f:!!n}:e:null);function ge(e,t=null,n=null,r=0,o=null,s=e===rn?0:1,a=!1,l=!1){const d={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&MAn(t),ref:t&&jde(t),scopeId:eAn,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:s,patchFlag:r,dynamicProps:o,dynamicChildren:null,appContext:null,ctx:am};return l?(EYe(d,n),s&128&&e.normalize(d)):n&&(d.shapeFlag|=Vd(n)?8:16),tW>0&&!a&&v0&&(d.patchFlag>0||s&6)&&d.patchFlag!==32&&v0.push(d),d}const c=yri;function yri(e,t=null,n=null,r=0,o=null,s=!1){if((!e||e===gAn)&&(e=ah),js(e)){const l=Jv(e,t,!0);return n&&EYe(l,n),tW>0&&!s&&v0&&(l.shapeFlag&6?v0[v0.indexOf(e)]=l:v0.push(l)),l.patchFlag=-2,l}if(Qri(e)&&(e=e.__vccOpts),t){t=T_(t);let{class:l,style:d}=t;l&&!Vd(l)&&(t.class=xo(l)),Ql(d)&&(t4e(d)&&!io(d)&&(d=fh({},d)),t.style=no(d))}const a=Vd(e)?1:RAn(e)?128:iAn(e)?64:Ql(e)?4:es(e)?2:0;return ge(e,t,n,r,o,a,s,!0)}function T_(e){return e?t4e(e)||SAn(e)?fh({},e):e:null}function Jv(e,t,n=!1,r=!1){const{props:o,ref:s,patchFlag:a,children:l,transition:d}=e,u=t?Jn(o||{},t):o,h={__v_isVNode:!0,__v_skip:!0,type:e.type,props:u,key:u&&MAn(u),ref:t&&t.ref?n&&s?io(s)?s.concat(jde(t)):[s,jde(t)]:jde(t):s,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:l,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==rn?a===-1?16:a|16:a,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:d,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Jv(e.ssContent),ssFallback:e.ssFallback&&Jv(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return d&&r&&LB(h,d.clone(h)),h}function Dt(e=" ",t=0){return c(JR,null,e,t)}function nn(e="",t=!1){return t?(xe(),Nt(ah,null,e)):c(ah,null,e)}function lO(e){return e==null||typeof e=="boolean"?c(ah):io(e)?c(rn,null,e.slice()):js(e)?G_(e):c(JR,null,String(e))}function G_(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Jv(e)}function EYe(e,t){let n=0;const{shapeFlag:r}=e;if(t==null)t=null;else if(io(t))n=16;else if(typeof t=="object")if(r&65){const o=t.default;o&&(o._c&&(o._d=!1),EYe(e,o()),o._c&&(o._d=!0));return}else{n=32;const o=t._;!o&&!SAn(t)?t._ctx=am:o===3&&am&&(am.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else es(t)?(t={default:t,_ctx:am},n=32):(t=String(t),r&64?(n=16,t=[Dt(t)]):n=8);e.children=t,e.shapeFlag|=n}function Jn(...e){const t={};for(let n=0;nn1||am;let Qfe,HRe;{const e=KAe(),t=(n,r)=>{let o;return(o=e[n])||(o=e[n]=[]),o.push(r),s=>{o.length>1?o.forEach(a=>a(s)):o[0](s)}};Qfe=t("__VUE_INSTANCE_SETTERS__",n=>n1=n),HRe=t("__VUE_SSR_SETTERS__",n=>Rq=n)}const pne=e=>{const t=n1;return Qfe(e),e.scope.on(),()=>{e.scope.off(),Qfe(t)}},Ilt=()=>{n1&&n1.scope.off(),Qfe(null)};function PAn(e){return e.vnode.shapeFlag&4}let Rq=!1;function Lri(e,t=!1,n=!1){t&&HRe(t);const{props:r,children:o}=e.vnode,s=PAn(e);uri(e,r,s,t),mri(e,o,n||t);const a=s?xri(e,t):void 0;return t&&HRe(!1),a}function xri(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Yii);const{setup:r}=n;if(r){f8();const o=e.setupContext=r.length>1?NAn(e):null,s=pne(e),a=Ane(r,e,0,[e.props,o]),l=Cvn(a);if(g8(),s(),(l||e.sp)&&!oU(e)&&dAn(e),l){if(a.then(Ilt,Ilt),t)return a.then(d=>{Mlt(e,d)}).catch(d=>{n4e(d,e,0)});e.asyncDep=a}else Mlt(e,a)}else FAn(e)}function Mlt(e,t,n){es(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:Ql(t)&&(e.setupState=Gvn(t)),FAn(e)}function FAn(e,t,n){const r=e.type;e.render||(e.render=r.render||ty);{const o=pne(e);f8();try{Kii(e)}finally{g8(),o()}}}const Eri={get(e,t){return Jm(e,"get",""),e[t]}};function NAn(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,Eri),slots:e.slots,emit:e.emit,expose:t}}function l4e(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Gvn(YQ(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in bY)return bY[n](e)},has(t,n){return n in t||n in bY}})):e.proxy}function Tri(e,t=!0){return es(e)?e.displayName||e.name:e.name||t&&e.__name}function Qri(e){return es(e)&&"__vccOpts"in e}const G=(e,t)=>Lii(e,t,Rq);function Qn(e,t,n){try{Tfe(-1);const r=arguments.length;return r===2?Ql(t)&&!io(t)?js(t)?c(e,null,[t]):c(e,t):c(e,null,t):(r>3?n=Array.prototype.slice.call(arguments,2):r===3&&js(n)&&(n=[n]),c(e,t,n))}finally{Tfe(1)}}function Dri(e,t){const n=e.memo;if(n.length!=t.length)return!1;for(let r=0;r0&&v0&&v0.push(e),!0}const Bri="3.5.30";/**
* @vue/runtime-dom v3.5.30
* (c) 2018-present Yuxi (Evan) You and Vue contributors
* @license MIT
-**/let $Re;const Plt=typeof window<"u"&&window.trustedTypes;if(Plt)try{$Re=Plt.createPolicy("vue",{createHTML:e=>e})}catch{}const UAn=$Re?e=>$Re.createHTML(e):e=>e,Rri="http://www.w3.org/2000/svg",Iri="http://www.w3.org/1998/Math/MathML",Q_=typeof document<"u"?document:null,Flt=Q_&&Q_.createElement("template"),Mri={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,r)=>{const o=t==="svg"?Q_.createElementNS(Rri,e):t==="mathml"?Q_.createElementNS(Iri,e):n?Q_.createElement(e,{is:n}):Q_.createElement(e);return e==="select"&&r&&r.multiple!=null&&o.setAttribute("multiple",r.multiple),o},createText:e=>Q_.createTextNode(e),createComment:e=>Q_.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Q_.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,r,o,s){const a=n?n.previousSibling:t.lastChild;if(o&&(o===s||o.nextSibling))for(;t.insertBefore(o.cloneNode(!0),n),!(o===s||!(o=o.nextSibling)););else{Flt.innerHTML=UAn(r==="svg"?``:r==="mathml"?``:e);const l=Flt.content;if(r==="svg"||r==="mathml"){const d=l.firstChild;for(;d.firstChild;)l.appendChild(d.firstChild);l.removeChild(d)}t.insertBefore(l,n)}return[a?a.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},i5="transition",v$="animation",nW=Symbol("_vtc"),jAn={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},WAn=fh({},sAn,jAn),Pri=e=>(e.displayName="Transition",e.props=WAn,e),k8=Pri((e,{slots:t})=>Qn(Uii,VAn(e),t)),KE=(e,t=[])=>{io(e)?e.forEach(n=>n(...t)):e&&e(...t)},Nlt=e=>e?io(e)?e.some(t=>t.length>1):e.length>1:!1;function VAn(e){const t={};for(const D in e)D in jAn||(t[D]=e[D]);if(e.css===!1)return t;const{name:n="v",type:r,duration:o,enterFromClass:s=`${n}-enter-from`,enterActiveClass:a=`${n}-enter-active`,enterToClass:l=`${n}-enter-to`,appearFromClass:d=s,appearActiveClass:u=a,appearToClass:h=l,leaveFromClass:g=`${n}-leave-from`,leaveActiveClass:m=`${n}-leave-active`,leaveToClass:v=`${n}-leave-to`}=e,f=Fri(o),k=f&&f[0],A=f&&f[1],{onBeforeEnter:p,onEnter:b,onEnterCancelled:w,onLeave:O,onLeaveCancelled:y,onBeforeAppear:C=p,onAppear:_=b,onAppearCancelled:S=w}=t,L=(D,P,T,M)=>{D._enterCancelled=M,E5(D,P?h:l),E5(D,P?u:a),T&&T()},E=(D,P)=>{D._isLeaving=!1,E5(D,g),E5(D,v),E5(D,m),P&&P()},Q=D=>(P,T)=>{const M=D?_:b,B=()=>L(P,D,T);KE(M,[P,B]),Ult(()=>{E5(P,D?d:s),yw(P,D?h:l),Nlt(M)||jlt(P,r,k,B)})};return fh(t,{onBeforeEnter(D){KE(p,[D]),yw(D,s),yw(D,a)},onBeforeAppear(D){KE(C,[D]),yw(D,d),yw(D,u)},onEnter:Q(!1),onAppear:Q(!0),onLeave(D,P){D._isLeaving=!0;const T=()=>E(D,P);yw(D,g),D._enterCancelled?(yw(D,m),XRe(D)):(XRe(D),yw(D,m)),Ult(()=>{D._isLeaving&&(E5(D,g),yw(D,v),Nlt(O)||jlt(D,r,A,T))}),KE(O,[D,T])},onEnterCancelled(D){L(D,!1,void 0,!0),KE(w,[D])},onAppearCancelled(D){L(D,!0,void 0,!0),KE(S,[D])},onLeaveCancelled(D){E(D),KE(y,[D])}})}function Fri(e){if(e==null)return null;if(Ql(e))return[ICe(e.enter),ICe(e.leave)];{const t=ICe(e);return[t,t]}}function ICe(e){return Xni(e)}function yw(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[nW]||(e[nW]=new Set)).add(t)}function E5(e,t){t.split(/\s+/).forEach(r=>r&&e.classList.remove(r));const n=e[nW];n&&(n.delete(t),n.size||(e[nW]=void 0))}function Ult(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let Nri=0;function jlt(e,t,n,r){const o=e._endId=++Nri,s=()=>{o===e._endId&&r()};if(n!=null)return setTimeout(s,n);const{type:a,timeout:l,propCount:d}=zAn(e,t);if(!a)return r();const u=a+"end";let h=0;const g=()=>{e.removeEventListener(u,m),s()},m=v=>{v.target===e&&++h>=d&&g()};setTimeout(()=>{h(n[f]||"").split(", "),o=r(`${i5}Delay`),s=r(`${i5}Duration`),a=Wlt(o,s),l=r(`${v$}Delay`),d=r(`${v$}Duration`),u=Wlt(l,d);let h=null,g=0,m=0;t===i5?a>0&&(h=i5,g=a,m=s.length):t===v$?u>0&&(h=v$,g=u,m=d.length):(g=Math.max(a,u),h=g>0?a>u?i5:v$:null,m=h?h===i5?s.length:d.length:0);const v=h===i5&&/\b(?:transform|all)(?:,|$)/.test(r(`${i5}Property`).toString());return{type:h,timeout:g,propCount:m,hasTransform:v}}function Wlt(e,t){for(;e.lengthVlt(n)+Vlt(e[r])))}function Vlt(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function XRe(e){return(e?e.ownerDocument:document).body.offsetHeight}function Uri(e,t,n){const r=e[nW];r&&(t=(t?[t,...r]:[...r]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const Dfe=Symbol("_vod"),HAn=Symbol("_vsh"),d1={name:"show",beforeMount(e,{value:t},{transition:n}){e[Dfe]=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):A$(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:r}){!t!=!n&&(r?t?(r.beforeEnter(e),A$(e,!0),r.enter(e)):r.leave(e,()=>{A$(e,!1)}):A$(e,t))},beforeUnmount(e,{value:t}){A$(e,t)}};function A$(e,t){e.style.display=t?e[Dfe]:"none",e[HAn]=!t}const jri=Symbol(""),Wri=/(?:^|;)\s*display\s*:/;function Vri(e,t,n){const r=e.style,o=Vd(n);let s=!1;if(n&&!o){if(t)if(Vd(t))for(const a of t.split(";")){const l=a.slice(0,a.indexOf(":")).trim();n[l]==null&&Wde(r,l,"")}else for(const a in t)n[a]==null&&Wde(r,a,"");for(const a in n)a==="display"&&(s=!0),Wde(r,a,n[a])}else if(o){if(t!==n){const a=r[jri];a&&(n+=";"+a),r.cssText=n,s=Wri.test(n)}}else t&&e.removeAttribute("style");Dfe in e&&(e[Dfe]=s?r.display:"",e[HAn]&&(r.display="none"))}const zlt=/\s*!important$/;function Wde(e,t,n){if(io(n))n.forEach(r=>Wde(e,t,r));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const r=zri(e,t);zlt.test(n)?e.setProperty(eL(r),n.replace(zlt,""),"important"):e[r]=n}}const Hlt=["Webkit","Moz","ms"],MCe={};function zri(e,t){const n=MCe[t];if(n)return n;let r=c1(t);if(r!=="filter"&&r in e)return MCe[t]=r;r=ZAe(r);for(let o=0;oPCe||(Gri.then(()=>PCe=0),PCe=Date.now());function Zri(e,t){const n=r=>{if(!r._vts)r._vts=Date.now();else if(r._vts<=n.attached)return;h3(qri(r,n.value),t,5,[r])};return n.value=e,n.attached=Yri(),n}function qri(e,t){if(io(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(r=>o=>!o._stopped&&r&&r(o))}else return t}const qlt=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Kri=(e,t,n,r,o,s)=>{const a=o==="svg";t==="class"?Uri(e,r,a):t==="style"?Vri(e,n,r):$Ae(t)?gYe(t)||$ri(e,t,n,r,s):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Jri(e,t,r,a))?(Glt(e,t,r),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Xlt(e,t,r,a,s,t!=="value")):e._isVueCE&&(eoi(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!Vd(r)))?Glt(e,c1(t),r,s,t):(t==="true-value"?e._trueValue=r:t==="false-value"&&(e._falseValue=r),Xlt(e,t,r,a))};function Jri(e,t,n,r){if(r)return!!(t==="innerHTML"||t==="textContent"||t in e&&qlt(t)&&es(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const o=e.tagName;if(o==="IMG"||o==="VIDEO"||o==="CANVAS"||o==="SOURCE")return!1}return qlt(t)&&Vd(n)?!1:t in e}function eoi(e,t){const n=e._def.props;if(!n)return!1;const r=c1(t);return Array.isArray(n)?n.some(o=>c1(o)===r):Object.keys(n).some(o=>c1(o)===r)}const $An=new WeakMap,XAn=new WeakMap,Bfe=Symbol("_moveCb"),Klt=Symbol("_enterCb"),toi=e=>(delete e.props.mode,e),noi=toi({name:"TransitionGroup",props:fh({},WAn,{tag:String,moveClass:String}),setup(e,{slots:t}){const n=ps(),r=oAn();let o,s;return nL(()=>{if(!o.length)return;const a=e.moveClass||`${e.name||"v"}-move`;if(!soi(o[0].el,n.vnode.el,a)){o=[];return}o.forEach(ioi),o.forEach(roi);const l=o.filter(ooi);XRe(n.vnode.el),l.forEach(d=>{const u=d.el,h=u.style;yw(u,a),h.transform=h.webkitTransform=h.transitionDuration="";const g=u[Bfe]=m=>{m&&m.target!==u||(!m||m.propertyName.endsWith("transform"))&&(u.removeEventListener("transitionend",g),u[Bfe]=null,E5(u,a))};u.addEventListener("transitionend",g)}),o=[]}),()=>{const a=ha(e),l=VAn(a);let d=a.tag||rn;if(o=[],s)for(let u=0;u{l.split(/\s+/).forEach(d=>d&&r.classList.remove(d))}),n.split(/\s+/).forEach(l=>l&&r.classList.add(l)),r.style.display="none";const s=t.nodeType===1?t:t.parentNode;s.appendChild(r);const{hasTransform:a}=zAn(r);return s.removeChild(r),a}const Rfe=e=>{const t=e.props["onUpdate:modelValue"]||!1;return io(t)?n=>Nde(t,n):t};function aoi(e){e.target.composing=!0}function Jlt(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const sU=Symbol("_assign");function ect(e,t,n){return t&&(e=e.trim()),n&&(e=qAe(e)),e}const ZAn={created(e,{modifiers:{lazy:t,trim:n,number:r}},o){e[sU]=Rfe(o);const s=r||o.props&&o.props.type==="number";cT(e,t?"change":"input",a=>{a.target.composing||e[sU](ect(e.value,n,s))}),(n||s)&&cT(e,"change",()=>{e.value=ect(e.value,n,s)}),t||(cT(e,"compositionstart",aoi),cT(e,"compositionend",Jlt),cT(e,"change",Jlt))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:r,trim:o,number:s}},a){if(e[sU]=Rfe(a),e.composing)return;const l=(s||e.type==="number")&&!/^0\d/.test(e.value)?qAe(e.value):e.value,d=t??"";l!==d&&(document.activeElement===e&&e.type!=="range"&&(r&&t===n||o&&e.value.trim()===d)||(e.value=d))}},loi={deep:!0,created(e,{value:t,modifiers:{number:n}},r){const o=XAe(t);cT(e,"change",()=>{const s=Array.prototype.filter.call(e.options,a=>a.selected).map(a=>n?qAe(Ife(a)):Ife(a));e[sU](e.multiple?o?new Set(s):s:s[0]),e._assigning=!0,li(()=>{e._assigning=!1})}),e[sU]=Rfe(r)},mounted(e,{value:t}){tct(e,t)},beforeUpdate(e,t,n){e[sU]=Rfe(n)},updated(e,{value:t}){e._assigning||tct(e,t)}};function tct(e,t){const n=e.multiple,r=io(t);if(!(n&&!r&&!XAe(t))){for(let o=0,s=e.options.length;oString(u)===String(l)):a.selected=tii(t,l)>-1}else a.selected=t.has(l);else if(kne(Ife(a),t)){e.selectedIndex!==o&&(e.selectedIndex=o);return}}!n&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function Ife(e){return"_value"in e?e._value:e.value}const coi=["ctrl","shift","alt","meta"],doi={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>coi.some(n=>e[`${n}Key`]&&!t.includes(n))},Mr=(e,t)=>{if(!e)return e;const n=e._withMods||(e._withMods={}),r=t.join(".");return n[r]||(n[r]=(o,...s)=>{for(let a=0;a{const n=e._withKeys||(e._withKeys={}),r=t.join(".");return n[r]||(n[r]=o=>{if(!("key"in o))return;const s=eL(o.key);if(t.some(a=>a===s||uoi[a]===s))return e(o)})},hoi=fh({patchProp:Kri},Mri);let ict;function qAn(){return ict||(ict=vri(hoi))}const c6=(...e)=>{qAn().render(...e)},KAn=(...e)=>{const t=qAn().createApp(...e),{mount:n}=t;return t.mount=r=>{const o=goi(r);if(!o)return;const s=t._component;!es(s)&&!s.render&&!s.template&&(s.template=o.innerHTML),o.nodeType===1&&(o.textContent="");const a=n(o,!1,foi(o));return o instanceof Element&&(o.removeAttribute("v-cloak"),o.setAttribute("data-v-app","")),a},t};function foi(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function goi(e){return Vd(e)?document.querySelector(e):e}/*!
+**/let $Re;const Plt=typeof window<"u"&&window.trustedTypes;if(Plt)try{$Re=Plt.createPolicy("vue",{createHTML:e=>e})}catch{}const UAn=$Re?e=>$Re.createHTML(e):e=>e,Rri="http://www.w3.org/2000/svg",Iri="http://www.w3.org/1998/Math/MathML",Q_=typeof document<"u"?document:null,Flt=Q_&&Q_.createElement("template"),Mri={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,r)=>{const o=t==="svg"?Q_.createElementNS(Rri,e):t==="mathml"?Q_.createElementNS(Iri,e):n?Q_.createElement(e,{is:n}):Q_.createElement(e);return e==="select"&&r&&r.multiple!=null&&o.setAttribute("multiple",r.multiple),o},createText:e=>Q_.createTextNode(e),createComment:e=>Q_.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Q_.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,r,o,s){const a=n?n.previousSibling:t.lastChild;if(o&&(o===s||o.nextSibling))for(;t.insertBefore(o.cloneNode(!0),n),!(o===s||!(o=o.nextSibling)););else{Flt.innerHTML=UAn(r==="svg"?``:r==="mathml"?``:e);const l=Flt.content;if(r==="svg"||r==="mathml"){const d=l.firstChild;for(;d.firstChild;)l.appendChild(d.firstChild);l.removeChild(d)}t.insertBefore(l,n)}return[a?a.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},i5="transition",v$="animation",nW=Symbol("_vtc"),jAn={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},WAn=fh({},sAn,jAn),Pri=e=>(e.displayName="Transition",e.props=WAn,e),k8=Pri((e,{slots:t})=>Qn(Uii,VAn(e),t)),KE=(e,t=[])=>{io(e)?e.forEach(n=>n(...t)):e&&e(...t)},Nlt=e=>e?io(e)?e.some(t=>t.length>1):e.length>1:!1;function VAn(e){const t={};for(const D in e)D in jAn||(t[D]=e[D]);if(e.css===!1)return t;const{name:n="v",type:r,duration:o,enterFromClass:s=`${n}-enter-from`,enterActiveClass:a=`${n}-enter-active`,enterToClass:l=`${n}-enter-to`,appearFromClass:d=s,appearActiveClass:u=a,appearToClass:h=l,leaveFromClass:g=`${n}-leave-from`,leaveActiveClass:m=`${n}-leave-active`,leaveToClass:v=`${n}-leave-to`}=e,f=Fri(o),k=f&&f[0],A=f&&f[1],{onBeforeEnter:p,onEnter:b,onEnterCancelled:w,onLeave:O,onLeaveCancelled:y,onBeforeAppear:C=p,onAppear:_=b,onAppearCancelled:S=w}=t,L=(D,P,T,M)=>{D._enterCancelled=M,E5(D,P?h:l),E5(D,P?u:a),T&&T()},E=(D,P)=>{D._isLeaving=!1,E5(D,g),E5(D,v),E5(D,m),P&&P()},Q=D=>(P,T)=>{const M=D?_:b,B=()=>L(P,D,T);KE(M,[P,B]),Ult(()=>{E5(P,D?d:s),yw(P,D?h:l),Nlt(M)||jlt(P,r,k,B)})};return fh(t,{onBeforeEnter(D){KE(p,[D]),yw(D,s),yw(D,a)},onBeforeAppear(D){KE(C,[D]),yw(D,d),yw(D,u)},onEnter:Q(!1),onAppear:Q(!0),onLeave(D,P){D._isLeaving=!0;const T=()=>E(D,P);yw(D,g),D._enterCancelled?(yw(D,m),XRe(D)):(XRe(D),yw(D,m)),Ult(()=>{D._isLeaving&&(E5(D,g),yw(D,v),Nlt(O)||jlt(D,r,A,T))}),KE(O,[D,T])},onEnterCancelled(D){L(D,!1,void 0,!0),KE(w,[D])},onAppearCancelled(D){L(D,!0,void 0,!0),KE(S,[D])},onLeaveCancelled(D){E(D),KE(y,[D])}})}function Fri(e){if(e==null)return null;if(Ql(e))return[ICe(e.enter),ICe(e.leave)];{const t=ICe(e);return[t,t]}}function ICe(e){return Xni(e)}function yw(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[nW]||(e[nW]=new Set)).add(t)}function E5(e,t){t.split(/\s+/).forEach(r=>r&&e.classList.remove(r));const n=e[nW];n&&(n.delete(t),n.size||(e[nW]=void 0))}function Ult(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let Nri=0;function jlt(e,t,n,r){const o=e._endId=++Nri,s=()=>{o===e._endId&&r()};if(n!=null)return setTimeout(s,n);const{type:a,timeout:l,propCount:d}=zAn(e,t);if(!a)return r();const u=a+"end";let h=0;const g=()=>{e.removeEventListener(u,m),s()},m=v=>{v.target===e&&++h>=d&&g()};setTimeout(()=>{h(n[f]||"").split(", "),o=r(`${i5}Delay`),s=r(`${i5}Duration`),a=Wlt(o,s),l=r(`${v$}Delay`),d=r(`${v$}Duration`),u=Wlt(l,d);let h=null,g=0,m=0;t===i5?a>0&&(h=i5,g=a,m=s.length):t===v$?u>0&&(h=v$,g=u,m=d.length):(g=Math.max(a,u),h=g>0?a>u?i5:v$:null,m=h?h===i5?s.length:d.length:0);const v=h===i5&&/\b(?:transform|all)(?:,|$)/.test(r(`${i5}Property`).toString());return{type:h,timeout:g,propCount:m,hasTransform:v}}function Wlt(e,t){for(;e.lengthVlt(n)+Vlt(e[r])))}function Vlt(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function XRe(e){return(e?e.ownerDocument:document).body.offsetHeight}function Uri(e,t,n){const r=e[nW];r&&(t=(t?[t,...r]:[...r]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const Dfe=Symbol("_vod"),HAn=Symbol("_vsh"),u1={name:"show",beforeMount(e,{value:t},{transition:n}){e[Dfe]=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):A$(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:r}){!t!=!n&&(r?t?(r.beforeEnter(e),A$(e,!0),r.enter(e)):r.leave(e,()=>{A$(e,!1)}):A$(e,t))},beforeUnmount(e,{value:t}){A$(e,t)}};function A$(e,t){e.style.display=t?e[Dfe]:"none",e[HAn]=!t}const jri=Symbol(""),Wri=/(?:^|;)\s*display\s*:/;function Vri(e,t,n){const r=e.style,o=Vd(n);let s=!1;if(n&&!o){if(t)if(Vd(t))for(const a of t.split(";")){const l=a.slice(0,a.indexOf(":")).trim();n[l]==null&&Wde(r,l,"")}else for(const a in t)n[a]==null&&Wde(r,a,"");for(const a in n)a==="display"&&(s=!0),Wde(r,a,n[a])}else if(o){if(t!==n){const a=r[jri];a&&(n+=";"+a),r.cssText=n,s=Wri.test(n)}}else t&&e.removeAttribute("style");Dfe in e&&(e[Dfe]=s?r.display:"",e[HAn]&&(r.display="none"))}const zlt=/\s*!important$/;function Wde(e,t,n){if(io(n))n.forEach(r=>Wde(e,t,r));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const r=zri(e,t);zlt.test(n)?e.setProperty(eL(r),n.replace(zlt,""),"important"):e[r]=n}}const Hlt=["Webkit","Moz","ms"],MCe={};function zri(e,t){const n=MCe[t];if(n)return n;let r=d1(t);if(r!=="filter"&&r in e)return MCe[t]=r;r=ZAe(r);for(let o=0;oPCe||(Gri.then(()=>PCe=0),PCe=Date.now());function Zri(e,t){const n=r=>{if(!r._vts)r._vts=Date.now();else if(r._vts<=n.attached)return;h3(qri(r,n.value),t,5,[r])};return n.value=e,n.attached=Yri(),n}function qri(e,t){if(io(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(r=>o=>!o._stopped&&r&&r(o))}else return t}const qlt=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Kri=(e,t,n,r,o,s)=>{const a=o==="svg";t==="class"?Uri(e,r,a):t==="style"?Vri(e,n,r):$Ae(t)?gYe(t)||$ri(e,t,n,r,s):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Jri(e,t,r,a))?(Glt(e,t,r),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Xlt(e,t,r,a,s,t!=="value")):e._isVueCE&&(eoi(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!Vd(r)))?Glt(e,d1(t),r,s,t):(t==="true-value"?e._trueValue=r:t==="false-value"&&(e._falseValue=r),Xlt(e,t,r,a))};function Jri(e,t,n,r){if(r)return!!(t==="innerHTML"||t==="textContent"||t in e&&qlt(t)&&es(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const o=e.tagName;if(o==="IMG"||o==="VIDEO"||o==="CANVAS"||o==="SOURCE")return!1}return qlt(t)&&Vd(n)?!1:t in e}function eoi(e,t){const n=e._def.props;if(!n)return!1;const r=d1(t);return Array.isArray(n)?n.some(o=>d1(o)===r):Object.keys(n).some(o=>d1(o)===r)}const $An=new WeakMap,XAn=new WeakMap,Bfe=Symbol("_moveCb"),Klt=Symbol("_enterCb"),toi=e=>(delete e.props.mode,e),noi=toi({name:"TransitionGroup",props:fh({},WAn,{tag:String,moveClass:String}),setup(e,{slots:t}){const n=ps(),r=oAn();let o,s;return nL(()=>{if(!o.length)return;const a=e.moveClass||`${e.name||"v"}-move`;if(!soi(o[0].el,n.vnode.el,a)){o=[];return}o.forEach(ioi),o.forEach(roi);const l=o.filter(ooi);XRe(n.vnode.el),l.forEach(d=>{const u=d.el,h=u.style;yw(u,a),h.transform=h.webkitTransform=h.transitionDuration="";const g=u[Bfe]=m=>{m&&m.target!==u||(!m||m.propertyName.endsWith("transform"))&&(u.removeEventListener("transitionend",g),u[Bfe]=null,E5(u,a))};u.addEventListener("transitionend",g)}),o=[]}),()=>{const a=ha(e),l=VAn(a);let d=a.tag||rn;if(o=[],s)for(let u=0;u{l.split(/\s+/).forEach(d=>d&&r.classList.remove(d))}),n.split(/\s+/).forEach(l=>l&&r.classList.add(l)),r.style.display="none";const s=t.nodeType===1?t:t.parentNode;s.appendChild(r);const{hasTransform:a}=zAn(r);return s.removeChild(r),a}const Rfe=e=>{const t=e.props["onUpdate:modelValue"]||!1;return io(t)?n=>Nde(t,n):t};function aoi(e){e.target.composing=!0}function Jlt(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const sU=Symbol("_assign");function ect(e,t,n){return t&&(e=e.trim()),n&&(e=qAe(e)),e}const ZAn={created(e,{modifiers:{lazy:t,trim:n,number:r}},o){e[sU]=Rfe(o);const s=r||o.props&&o.props.type==="number";cT(e,t?"change":"input",a=>{a.target.composing||e[sU](ect(e.value,n,s))}),(n||s)&&cT(e,"change",()=>{e.value=ect(e.value,n,s)}),t||(cT(e,"compositionstart",aoi),cT(e,"compositionend",Jlt),cT(e,"change",Jlt))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:r,trim:o,number:s}},a){if(e[sU]=Rfe(a),e.composing)return;const l=(s||e.type==="number")&&!/^0\d/.test(e.value)?qAe(e.value):e.value,d=t??"";l!==d&&(document.activeElement===e&&e.type!=="range"&&(r&&t===n||o&&e.value.trim()===d)||(e.value=d))}},loi={deep:!0,created(e,{value:t,modifiers:{number:n}},r){const o=XAe(t);cT(e,"change",()=>{const s=Array.prototype.filter.call(e.options,a=>a.selected).map(a=>n?qAe(Ife(a)):Ife(a));e[sU](e.multiple?o?new Set(s):s:s[0]),e._assigning=!0,li(()=>{e._assigning=!1})}),e[sU]=Rfe(r)},mounted(e,{value:t}){tct(e,t)},beforeUpdate(e,t,n){e[sU]=Rfe(n)},updated(e,{value:t}){e._assigning||tct(e,t)}};function tct(e,t){const n=e.multiple,r=io(t);if(!(n&&!r&&!XAe(t))){for(let o=0,s=e.options.length;oString(u)===String(l)):a.selected=tii(t,l)>-1}else a.selected=t.has(l);else if(kne(Ife(a),t)){e.selectedIndex!==o&&(e.selectedIndex=o);return}}!n&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function Ife(e){return"_value"in e?e._value:e.value}const coi=["ctrl","shift","alt","meta"],doi={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>coi.some(n=>e[`${n}Key`]&&!t.includes(n))},Mr=(e,t)=>{if(!e)return e;const n=e._withMods||(e._withMods={}),r=t.join(".");return n[r]||(n[r]=(o,...s)=>{for(let a=0;a{const n=e._withKeys||(e._withKeys={}),r=t.join(".");return n[r]||(n[r]=o=>{if(!("key"in o))return;const s=eL(o.key);if(t.some(a=>a===s||uoi[a]===s))return e(o)})},hoi=fh({patchProp:Kri},Mri);let ict;function qAn(){return ict||(ict=vri(hoi))}const c6=(...e)=>{qAn().render(...e)},KAn=(...e)=>{const t=qAn().createApp(...e),{mount:n}=t;return t.mount=r=>{const o=goi(r);if(!o)return;const s=t._component;!es(s)&&!s.render&&!s.template&&(s.template=o.innerHTML),o.nodeType===1&&(o.textContent="");const a=n(o,!1,foi(o));return o instanceof Element&&(o.removeAttribute("v-cloak"),o.setAttribute("data-v-app","")),a},t};function foi(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function goi(e){return Vd(e)?document.querySelector(e):e}/*!
* pinia v2.3.1
* (c) 2025 Eduardo San Martin Morote
* @license MIT
- */let JAn;const c4e=e=>JAn=e,e4n=Symbol();function GRe(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var OY;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(OY||(OY={}));function moi(){const e=vne(!0),t=e.run(()=>he({}));let n=[],r=[];const o=YQ({install(s){c4e(o),o._a=s,s.provide(e4n,o),s.config.globalProperties.$pinia=o,r.forEach(a=>n.push(a)),r=[]},use(s){return this._a?n.push(s):r.push(s),this},_p:n,_a:null,_e:e,_s:new Map,state:t});return o}const t4n=()=>{};function rct(e,t,n,r=t4n){e.push(t);const o=()=>{const s=e.indexOf(t);s>-1&&(e.splice(s,1),r())};return!n&&hz()&&XQ(o),o}function $M(e,...t){e.slice().forEach(n=>{n(...t)})}const koi=e=>e(),oct=Symbol(),FCe=Symbol();function YRe(e,t){e instanceof Map&&t instanceof Map?t.forEach((n,r)=>e.set(r,n)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const n in t){if(!t.hasOwnProperty(n))continue;const r=t[n],o=e[n];GRe(o)&&GRe(r)&&e.hasOwnProperty(n)&&!Nn(r)&&!H4(r)?e[n]=YRe(o,r):e[n]=r}return e}const voi=Symbol();function Aoi(e){return!GRe(e)||!e.hasOwnProperty(voi)}const{assign:T5}=Object;function poi(e){return!!(Nn(e)&&e.effect)}function boi(e,t,n,r){const{state:o,actions:s,getters:a}=t,l=n.state.value[e];let d;function u(){l||(n.state.value[e]=o?o():{});const h=Si(n.state.value[e]);return T5(h,s,Object.keys(a||{}).reduce((g,m)=>(g[m]=YQ(G(()=>{c4e(n);const v=n._s.get(e);return a[m].call(v,v)})),g),{}))}return d=n4n(e,u,t,n,r,!0),d}function n4n(e,t,n={},r,o,s){let a;const l=T5({actions:{}},n),d={deep:!0};let u,h,g=[],m=[],v;const f=r.state.value[e];!s&&!f&&(r.state.value[e]={});let k;function A(S){let L;u=h=!1,typeof S=="function"?(S(r.state.value[e]),L={type:OY.patchFunction,storeId:e,events:v}):(YRe(r.state.value[e],S),L={type:OY.patchObject,payload:S,storeId:e,events:v});const E=k=Symbol();li().then(()=>{k===E&&(u=!0)}),h=!0,$M(g,L,r.state.value[e])}const p=s?function(){const{state:L}=n,E=L?L():{};this.$patch(Q=>{T5(Q,E)})}:t4n;function b(){a.stop(),g=[],m=[],r._s.delete(e)}const w=(S,L="")=>{if(oct in S)return S[FCe]=L,S;const E=function(){c4e(r);const Q=Array.from(arguments),D=[],P=[];function T(I){D.push(I)}function M(I){P.push(I)}$M(m,{args:Q,name:E[FCe],store:y,after:T,onError:M});let B;try{B=S.apply(this&&this.$id===e?this:y,Q)}catch(I){throw $M(P,I),I}return B instanceof Promise?B.then(I=>($M(D,I),I)).catch(I=>($M(P,I),Promise.reject(I))):($M(D,B),B)};return E[oct]=!0,E[FCe]=L,E},O={_p:r,$id:e,$onAction:rct.bind(null,m),$patch:A,$reset:p,$subscribe(S,L={}){const E=rct(g,S,L.detached,()=>Q()),Q=a.run(()=>pt(()=>r.state.value[e],D=>{(L.flush==="sync"?h:u)&&S({storeId:e,type:OY.direct,events:v},D)},T5({},d,L)));return E},$dispose:b},y=hs(O);r._s.set(e,y);const _=(r._a&&r._a.runWithContext||koi)(()=>r._e.run(()=>(a=vne()).run(()=>t({action:w}))));for(const S in _){const L=_[S];if(Nn(L)&&!poi(L)||H4(L))s||(f&&Aoi(L)&&(Nn(L)?L.value=f[S]:YRe(L,f[S])),r.state.value[e][S]=L);else if(typeof L=="function"){const E=w(L,S);_[S]=E,l.actions[S]=L}}return T5(y,_),T5(ha(y),_),Object.defineProperty(y,"$state",{get:()=>r.state.value[e],set:S=>{A(L=>{T5(L,S)})}}),r._p.forEach(S=>{T5(y,a.run(()=>S({store:y,app:r._a,pinia:r,options:l})))}),f&&s&&n.hydrate&&n.hydrate(y.$state,f),u=!0,h=!0,y}/*! #__NO_SIDE_EFFECTS__ */function Wy(e,t,n){let r,o;const s=typeof t=="function";typeof e=="string"?(r=e,o=s?n:t):(o=e,r=e.id);function a(l,d){const u=Bii();return l=l||(u?bt(e4n,null):null),l&&c4e(l),l=JAn,l._s.has(r)||(s?n4n(r,t,o,l):boi(r,o,l)),l._s.get(r)}return a.$id=r,a}function Bs(e){{const t=ha(e),n={};for(const r in t){const o=t[r];o.effect?n[r]=G({get:()=>e[r],set(s){e[r]=s}}):(Nn(o)||H4(o))&&(n[r]=Ma(e,r))}return n}}function woi(e,t){if(e==null)return;let n=e;for(let r=0;r1&&(t=TYe(typeof e!="object"||e===null||!Object.prototype.hasOwnProperty.call(e,r)?Number.isInteger(Number(n[1]))?[]:{}:e[r],t,Array.prototype.slice.call(n,1))),Number.isInteger(Number(r))&&Array.isArray(e)?e.slice()[r]:Object.assign({},e,{[r]:t})}function i4n(e,t){if(e==null||t.length===0)return e;if(t.length===1){if(e==null)return e;if(Number.isInteger(t[0])&&Array.isArray(e))return Array.prototype.slice.call(e,0).splice(t[0],1);const n={};for(const r in e)n[r]=e[r];return delete n[t[0]],n}if(e[t[0]]==null){if(Number.isInteger(t[0])&&Array.isArray(e))return Array.prototype.concat.call([],e);const n={};for(const r in e)n[r]=e[r];return n}return TYe(e,i4n(e[t[0]],Array.prototype.slice.call(t,1)),[t[0]])}function r4n(e,t){return t.map(n=>n.split(".")).map(n=>[n,woi(e,n)]).filter(n=>n[1]!==void 0).reduce((n,r)=>TYe(n,r[1],r[0]),{})}function o4n(e,t){return t.map(n=>n.split(".")).reduce((n,r)=>i4n(n,r),e)}function sct(e,{storage:t,serializer:n,key:r,debug:o,pick:s,omit:a,beforeHydrate:l,afterHydrate:d},u,h=!0){try{h&&(l==null||l(u));const g=t.getItem(r);if(g){const m=n.deserialize(g),v=s?r4n(m,s):m,f=a?o4n(v,a):v;e.$patch(f)}h&&(d==null||d(u))}catch(g){o&&console.error("[pinia-plugin-persistedstate]",g)}}function act(e,{storage:t,serializer:n,key:r,debug:o,pick:s,omit:a}){try{const l=s?r4n(e,s):e,d=a?o4n(l,a):l,u=n.serialize(d);t.setItem(r,u)}catch(l){o&&console.error("[pinia-plugin-persistedstate]",l)}}function Ooi(e,t){return typeof e=="function"?e(t):typeof e=="string"?e:t}function yoi(e,t,n){const{pinia:r,store:o,options:{persist:s=n}}=e;if(!s)return;// v8 ignore if -- @preserve
+ */let JAn;const c4e=e=>JAn=e,e4n=Symbol();function GRe(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var OY;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(OY||(OY={}));function moi(){const e=vne(!0),t=e.run(()=>he({}));let n=[],r=[];const o=YQ({install(s){c4e(o),o._a=s,s.provide(e4n,o),s.config.globalProperties.$pinia=o,r.forEach(a=>n.push(a)),r=[]},use(s){return this._a?n.push(s):r.push(s),this},_p:n,_a:null,_e:e,_s:new Map,state:t});return o}const t4n=()=>{};function rct(e,t,n,r=t4n){e.push(t);const o=()=>{const s=e.indexOf(t);s>-1&&(e.splice(s,1),r())};return!n&&hz()&&XQ(o),o}function $M(e,...t){e.slice().forEach(n=>{n(...t)})}const koi=e=>e(),oct=Symbol(),FCe=Symbol();function YRe(e,t){e instanceof Map&&t instanceof Map?t.forEach((n,r)=>e.set(r,n)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const n in t){if(!t.hasOwnProperty(n))continue;const r=t[n],o=e[n];GRe(o)&&GRe(r)&&e.hasOwnProperty(n)&&!Nn(r)&&!H4(r)?e[n]=YRe(o,r):e[n]=r}return e}const voi=Symbol();function Aoi(e){return!GRe(e)||!e.hasOwnProperty(voi)}const{assign:T5}=Object;function poi(e){return!!(Nn(e)&&e.effect)}function boi(e,t,n,r){const{state:o,actions:s,getters:a}=t,l=n.state.value[e];let d;function u(){l||(n.state.value[e]=o?o():{});const h=Si(n.state.value[e]);return T5(h,s,Object.keys(a||{}).reduce((g,m)=>(g[m]=YQ(G(()=>{c4e(n);const v=n._s.get(e);return a[m].call(v,v)})),g),{}))}return d=n4n(e,u,t,n,r,!0),d}function n4n(e,t,n={},r,o,s){let a;const l=T5({actions:{}},n),d={deep:!0};let u,h,g=[],m=[],v;const f=r.state.value[e];!s&&!f&&(r.state.value[e]={});let k;function A(S){let L;u=h=!1,typeof S=="function"?(S(r.state.value[e]),L={type:OY.patchFunction,storeId:e,events:v}):(YRe(r.state.value[e],S),L={type:OY.patchObject,payload:S,storeId:e,events:v});const E=k=Symbol();li().then(()=>{k===E&&(u=!0)}),h=!0,$M(g,L,r.state.value[e])}const p=s?function(){const{state:L}=n,E=L?L():{};this.$patch(Q=>{T5(Q,E)})}:t4n;function b(){a.stop(),g=[],m=[],r._s.delete(e)}const w=(S,L="")=>{if(oct in S)return S[FCe]=L,S;const E=function(){c4e(r);const Q=Array.from(arguments),D=[],P=[];function T(I){D.push(I)}function M(I){P.push(I)}$M(m,{args:Q,name:E[FCe],store:y,after:T,onError:M});let B;try{B=S.apply(this&&this.$id===e?this:y,Q)}catch(I){throw $M(P,I),I}return B instanceof Promise?B.then(I=>($M(D,I),I)).catch(I=>($M(P,I),Promise.reject(I))):($M(D,B),B)};return E[oct]=!0,E[FCe]=L,E},O={_p:r,$id:e,$onAction:rct.bind(null,m),$patch:A,$reset:p,$subscribe(S,L={}){const E=rct(g,S,L.detached,()=>Q()),Q=a.run(()=>pt(()=>r.state.value[e],D=>{(L.flush==="sync"?h:u)&&S({storeId:e,type:OY.direct,events:v},D)},T5({},d,L)));return E},$dispose:b},y=hs(O);r._s.set(e,y);const _=(r._a&&r._a.runWithContext||koi)(()=>r._e.run(()=>(a=vne()).run(()=>t({action:w}))));for(const S in _){const L=_[S];if(Nn(L)&&!poi(L)||H4(L))s||(f&&Aoi(L)&&(Nn(L)?L.value=f[S]:YRe(L,f[S])),r.state.value[e][S]=L);else if(typeof L=="function"){const E=w(L,S);_[S]=E,l.actions[S]=L}}return T5(y,_),T5(ha(y),_),Object.defineProperty(y,"$state",{get:()=>r.state.value[e],set:S=>{A(L=>{T5(L,S)})}}),r._p.forEach(S=>{T5(y,a.run(()=>S({store:y,app:r._a,pinia:r,options:l})))}),f&&s&&n.hydrate&&n.hydrate(y.$state,f),u=!0,h=!0,y}/*! #__NO_SIDE_EFFECTS__ */function Wy(e,t,n){let r,o;const s=typeof t=="function";typeof e=="string"?(r=e,o=s?n:t):(o=e,r=e.id);function a(l,d){const u=Bii();return l=l||(u?bt(e4n,null):null),l&&c4e(l),l=JAn,l._s.has(r)||(s?n4n(r,t,o,l):boi(r,o,l)),l._s.get(r)}return a.$id=r,a}function xs(e){{const t=ha(e),n={};for(const r in t){const o=t[r];o.effect?n[r]=G({get:()=>e[r],set(s){e[r]=s}}):(Nn(o)||H4(o))&&(n[r]=Ma(e,r))}return n}}function woi(e,t){if(e==null)return;let n=e;for(let r=0;r1&&(t=TYe(typeof e!="object"||e===null||!Object.prototype.hasOwnProperty.call(e,r)?Number.isInteger(Number(n[1]))?[]:{}:e[r],t,Array.prototype.slice.call(n,1))),Number.isInteger(Number(r))&&Array.isArray(e)?e.slice()[r]:Object.assign({},e,{[r]:t})}function i4n(e,t){if(e==null||t.length===0)return e;if(t.length===1){if(e==null)return e;if(Number.isInteger(t[0])&&Array.isArray(e))return Array.prototype.slice.call(e,0).splice(t[0],1);const n={};for(const r in e)n[r]=e[r];return delete n[t[0]],n}if(e[t[0]]==null){if(Number.isInteger(t[0])&&Array.isArray(e))return Array.prototype.concat.call([],e);const n={};for(const r in e)n[r]=e[r];return n}return TYe(e,i4n(e[t[0]],Array.prototype.slice.call(t,1)),[t[0]])}function r4n(e,t){return t.map(n=>n.split(".")).map(n=>[n,woi(e,n)]).filter(n=>n[1]!==void 0).reduce((n,r)=>TYe(n,r[1],r[0]),{})}function o4n(e,t){return t.map(n=>n.split(".")).reduce((n,r)=>i4n(n,r),e)}function sct(e,{storage:t,serializer:n,key:r,debug:o,pick:s,omit:a,beforeHydrate:l,afterHydrate:d},u,h=!0){try{h&&(l==null||l(u));const g=t.getItem(r);if(g){const m=n.deserialize(g),v=s?r4n(m,s):m,f=a?o4n(v,a):v;e.$patch(f)}h&&(d==null||d(u))}catch(g){o&&console.error("[pinia-plugin-persistedstate]",g)}}function act(e,{storage:t,serializer:n,key:r,debug:o,pick:s,omit:a}){try{const l=s?r4n(e,s):e,d=a?o4n(l,a):l,u=n.serialize(d);t.setItem(r,u)}catch(l){o&&console.error("[pinia-plugin-persistedstate]",l)}}function Ooi(e,t){return typeof e=="function"?e(t):typeof e=="string"?e:t}function yoi(e,t,n){const{pinia:r,store:o,options:{persist:s=n}}=e;if(!s)return;// v8 ignore if -- @preserve
if(!(o.$id in r.state.value)){const l=r._s.get(o.$id.replace("__hot:",""));l&&Promise.resolve().then(()=>l.$persist());return}const a=(Array.isArray(s)?s:s===!0?[{}]:[s]).map(t);o.$hydrate=({runHooks:l=!0}={})=>{a.forEach(d=>{sct(o,d,e,l)})},o.$persist=()=>{a.forEach(l=>{act(o.$state,l)})},a.forEach(l=>{sct(o,l,e),o.$subscribe((d,u)=>act(u,l),{detached:!0})})}function Coi(e={}){return function(t){yoi(t,n=>{const r=Ooi(n.key,t.store.$id);return{key:(e.key?e.key:o=>o)(r),debug:n.debug??e.debug??!1,serializer:n.serializer??e.serializer??{serialize:o=>JSON.stringify(o),deserialize:o=>JSON.parse(o)},storage:n.storage??e.storage??window.localStorage,beforeHydrate:n.beforeHydrate??e.beforeHydrate,afterHydrate:n.afterHydrate??e.afterHydrate,pick:n.pick,omit:n.omit}},e.auto??!1)}}var _oi=Coi();/**
* tdesign v1.18.5
* (c) 2026 tdesign
@@ -248,7 +248,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
* tdesign v1.18.5
* (c) 2026 tdesign
* @license MIT
- */function N0i(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!js(e)}function Ebn(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],t=[];return e.forEach(function(n){yr(n)?t.push.apply(t,Wn(n)):n.type===rn?t.push.apply(t,Wn(Ebn(n.children))):t.push(n)}),t.filter(function(n){return!(n&&(n.type===ah||n.type===rn&&n.children.length===0||n.type===JR&&n.children.trim()===""))})}function U0i(e,t){return!e&&!t?!1:!!(!e||!t||["width","height","x","y"].some(function(n){return e[n]!==t[n]}))}function Tbn(e){var t=ps(),n=he();return vn(function(){n.value=e(t)}),nL(function(){var r=e(t);n.value!==r&&(n.value=r)}),n}var j0i=et({name:"TPopupTrigger",props:{forwardRef:Function},emits:["resize"],setup:function(t,n){var r=n.emit,o=n.slots,s=Tbn(function(l){var d=l.parent.vnode;return d.el.nextElementSibling}),a=he();return pt(s,function(){var l;(l=t.forwardRef)===null||l===void 0||l.call(t,s.value)}),bz(s,function(l){var d=di(l,1),u=d[0].contentRect;a.value=u}),pt(a,function(l,d){U0i(l,d)&&r("resize")}),function(){var l,d,u=Ebn((l=o.default)===null||l===void 0?void 0:l.call(o));return u.length>1||((d=u[0])===null||d===void 0?void 0:d.type)===JR?c("span",null,[u]):u[0]}}}),W0i=et({name:"TPopupContent",emits:["resize"],setup:function(t,n){var r=n.emit,o=n.slots,s=Tbn(function(a){return a.vnode.el.children[0]});return bz(s,function(){r("resize")}),function(){return c("div",{style:"position: absolute; top: 0px; left: 0px; width: 100%"},[o.default()])}}}),V0i=et({name:"TPopupContainer",inheritAttrs:!1,props:{parent:Object,visible:Boolean,attach:aZe.attach,forwardRef:Function},emits:["resize","contentMounted"],setup:function(t,n){var r=n.emit,o=n.attrs,s=n.slots,a=n.expose,l=he(),d=he(!1);function u(){r("resize")}return vn(function(){requestAnimationFrame(function(){d.value=t.visible})}),pt(function(){return t.visible},function(h){h&&(d.value=t.visible)}),a({unmountContent:function(){d.value=!1}}),function(){var h,g=function(){return _ne(t.attach,l.value)};return c(rn,null,[c(j0i,{class:o.class,forwardRef:function(v){t.forwardRef(v),l.value=v},onResize:u},N0i(h=s.default())?h:{default:function(){return[h]}}),d.value&&c(f3,{disabled:!g(),to:g()},{default:function(){return[c(W0i,{onResize:u,onVnodeMounted:function(){return r("contentMounted")}},{default:function(){return[s.content&&s.content()]}})]}})])}}}),Pht={};function Fht(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),n.push.apply(n,r)}return n}function qCe(e){for(var t=1;tee.x&&le.xee.y&&le.y0&&arguments[0]!==void 0?arguments[0]:[],t=[];return e.forEach(function(n){yr(n)?t.push.apply(t,Wn(n)):n.type===rn?t.push.apply(t,Wn(Ebn(n.children))):t.push(n)}),t.filter(function(n){return!(n&&(n.type===ah||n.type===rn&&n.children.length===0||n.type===JR&&n.children.trim()===""))})}function U0i(e,t){return!e&&!t?!1:!!(!e||!t||["width","height","x","y"].some(function(n){return e[n]!==t[n]}))}function Tbn(e){var t=ps(),n=he();return vn(function(){n.value=e(t)}),nL(function(){var r=e(t);n.value!==r&&(n.value=r)}),n}var j0i=et({name:"TPopupTrigger",props:{forwardRef:Function},emits:["resize"],setup:function(t,n){var r=n.emit,o=n.slots,s=Tbn(function(l){var d=l.parent.vnode;return d.el.nextElementSibling}),a=he();return pt(s,function(){var l;(l=t.forwardRef)===null||l===void 0||l.call(t,s.value)}),bz(s,function(l){var d=di(l,1),u=d[0].contentRect;a.value=u}),pt(a,function(l,d){U0i(l,d)&&r("resize")}),function(){var l,d,u=Ebn((l=o.default)===null||l===void 0?void 0:l.call(o));return u.length>1||((d=u[0])===null||d===void 0?void 0:d.type)===JR?c("span",null,[u]):u[0]}}}),W0i=et({name:"TPopupContent",emits:["resize"],setup:function(t,n){var r=n.emit,o=n.slots,s=Tbn(function(a){return a.vnode.el.children[0]});return bz(s,function(){r("resize")}),function(){return c("div",{style:"position: absolute; top: 0px; left: 0px; width: 100%"},[o.default()])}}}),V0i=et({name:"TPopupContainer",inheritAttrs:!1,props:{parent:Object,visible:Boolean,attach:aZe.attach,forwardRef:Function},emits:["resize","contentMounted"],setup:function(t,n){var r=n.emit,o=n.attrs,s=n.slots,a=n.expose,l=he(),d=he(!1);function u(){r("resize")}return vn(function(){requestAnimationFrame(function(){d.value=t.visible})}),pt(function(){return t.visible},function(h){h&&(d.value=t.visible)}),a({unmountContent:function(){d.value=!1}}),function(){var h,g=function(){return _ne(t.attach,l.value)};return c(rn,null,[c(j0i,{class:o.class,forwardRef:function(v){t.forwardRef(v),l.value=v},onResize:u},N0i(h=s.default())?h:{default:function(){return[h]}}),d.value&&c(f3,{disabled:!g(),to:g()},{default:function(){return[c(W0i,{onResize:u,onVnodeMounted:function(){return r("contentMounted")}},{default:function(){return[s.content&&s.content()]}})]}})])}}}),Pht={};function Fht(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),n.push.apply(n,r)}return n}function qCe(e){for(var t=1;tee.x&&le.xee.y&&le.y-1}),_=he(!1),S=he(!1),L=G(function(){return g.value==="light"?"#E7E7E7":"#383838"}),E=G(function(){var ne;return O.value==="popup"?_.value:v?(ne=v.value)===null||ne===void 0?void 0:ne.includes(t.value):!1}),Q=he(!1),D=he(),P=he(),T=he(),M=an("slide-down");nI(T,L);var B=he(null),I=he(null),R=function(){B.value!==null&&(clearTimeout(B.value),B.value=null),I.value!==null&&(clearTimeout(I.value),I.value=null)},F=function(te){var Y=te.placement,fe=D.value;if(fe){var be="".concat(o.value,"-menu__spacer"),_e=Y.startsWith("bottom"),Qe=Y.startsWith("top");fe.classList.toggle("".concat(be,"--bottom"),_e),fe.classList.toggle("".concat(be,"--top"),Qe)}},W=G(function(){return["".concat(o.value,"-submenu"),Ie(Ie({},"".concat(o.value,"-is-disabled"),t.disabled),"".concat(o.value,"-is-opened"),E.value)]}),j=G(function(){var ne;return["".concat(o.value,"-menu__popup"),"".concat(o.value,"-is-").concat(f?"horizontal":"vertical"),Ie({},"".concat(o.value,"-is-opened"),_.value),(ne=t.popupProps)===null||ne===void 0?void 0:ne.overlayInnerClassName]}),z=G(function(){var ne;return["".concat(o.value,"-menu--").concat(g.value),f&&"".concat(o.value,"-is-head-menu"),Ie({},"".concat(o.value,"-menu-is-nested"),Q.value),(ne=t.popupProps)===null||ne===void 0?void 0:ne.overlayClassName]}),$=G(function(){return["".concat(o.value,"-menu__item"),Ie(Ie(Ie({},"".concat(o.value,"-is-disabled"),t.disabled),"".concat(o.value,"-is-opened"),E.value),"".concat(o.value,"-is-active"),C.value)]}),X=G(function(){return["".concat(o.value,"-menu__sub"),Ie({},"".concat(o.value,"-is-opened"),E.value)]}),Z=G(function(){return[Ie({},"".concat(o.value,"-fake-arrow--active"),E.value)]});Yi("TdSubmenu",hs({value:h,addMenuItem:function(te){y.value.push(te),A&&A.addMenuItem(te)},setSubPopup:function(te){P.value=te},closeParentPopup:function(te){R(),I.value=setTimeout(function(){_.value=!1,I.value=null},100),ii(b)&&b(te)},cancelHideTimer:function(){I.value!==null&&(clearTimeout(I.value),I.value=null),ii(w)&&w()}}));var oe=function(te){ii(p)&&p(te)},J=function(){t.disabled||(R(),ii(w)&&w(),B.value=setTimeout(function(){_.value||(k(t.value),li().then(function(){oe(D.value)})),_.value=!0,B.value=null},0))},se=function(te){return te==null?void 0:te.classList.contains("".concat(o.value,"-menu__popup"))},le=function(te){R(),I.value=setTimeout(function(){var Y=se(te.relatedTarget);S.value||Y||(_.value=!1,I.value=null)},100)},re=function(te){var Y=te.toElement,fe=te.relatedTarget,be=Y||fe;if(be!==P.value){for(var _e=function(ke){return ke===T.value};be!==null&&be!==document&&!_e(be);)be=be.parentNode;S.value=!1,_e(be)||(R(),I.value=setTimeout(function(){_.value=!1,I.value=null},100),b==null||b(te))}},ue=function(){S.value=!0,I.value!==null&&(clearTimeout(I.value),I.value=null),ii(w)&&w()},ee=function(){t.disabled||k(t.value)},de=function(te){var Y,fe,be,_e,Qe="right-top";!Q.value&&f&&(Qe="bottom-left");var ke=c("div",{ref:D,class:["".concat(o.value,"-menu__spacer"),Ie({},"".concat(o.value,"-menu__spacer--left"),Q.value||!f)],onMouseenter:ue,onMouseleave:re},[c("ul",{class:"".concat(o.value,"-menu__popup-wrapper")},[a("default","content")])]),me={content:function(){return ke}},Ce=((Y=t.popupProps)===null||Y===void 0||(Y=Y.popperOptions)===null||Y===void 0?void 0:Y.modifiers)||[],Te=O$(O$({},(fe=(be=t.popupProps)===null||be===void 0?void 0:be.popperOptions)!==null&&fe!==void 0?fe:{}),{},{modifiers:[{name:"onPlacementChange",enabled:!0,phase:"main",fn:function(Ye){var Ze=Ye.state;F({placement:Ze.placement})}}].concat(Wn(Ce))}),De=c(G0,Jn((_e=t.popupProps)!==null&&_e!==void 0?_e:{},{overlayInnerClassName:Wn(j.value),overlayClassName:Wn(z.value),visible:_.value,placement:Qe,popperOptions:Te}),O$({default:function(){return[c("div",{ref:T,class:$.value},[te])]}},me));return De},V=function(){var te=s("icon"),Y=[c("div",{ref:T,class:$.value,onClick:ee},[te,c("span",{class:["".concat(o.value,"-menu__content")]},[s("title",{silent:!0})])]),c("ul",{style:"opacity: 0; width: 0; height: 0; overflow: hidden"},[a("default","content")])],fe=O.value==="popup"&&Q.value,be=[te,c("span",{class:["".concat(o.value,"-menu__content")]},[s("title",{silent:!0})]),c(LY,{overlayClassName:/menu/i.test(l==null?void 0:l.parent.proxy.$options.name)?Z.value:null,overlayStyle:{transform:"rotate(".concat(fe?-90:0,"deg)")}},null)];return O.value==="normal"?Y:de(be)},q=function(){for(var te=r.content||r.default,Y=s("icon"),fe=a("default","content"),be=l.parent,_e=44;be&&be.type.name!=="TMenu";)be.type.name==="TSubmenu"&&(_e+=16),be=be.parent;var Qe=Mpn(),ke=Qe.beforeEnter,me=Qe.enter,Ce=Qe.afterEnter,Te=Qe.beforeLeave,De=Qe.leave,qe=Qe.afterLeave,Ye=O.value==="popup"&&Q.value,Ze=[c("div",{ref:T,class:$.value,onClick:ee},[Y,c("span",{class:["".concat(o.value,"-menu__content")]},[s("title",{silent:!0})]),te&&c(LY,{overlayClassName:Z.value,overlayStyle:{transform:"rotate(".concat(Ye?-90:0,"deg)")}},null)]),c(k8,{name:M.value,onBeforeEnter:ke,onEnter:me,onAfterEnter:Ce,onBeforeLeave:Te,onLeave:De,onAfterLeave:qe},{default:function(){return[hu(c("ul",{class:X.value,style:{"--padding-left":"".concat(_e,"px")}},[fe]),[[d1,E.value]])]}})],rt=[Y,c("span",{class:["".concat(o.value,"-menu__content")]},[s("title",{silent:!0})]),c(LY,{overlayClassName:/menu/i.test(be.proxy.$options.name)?Z.value:null,overlayStyle:{transform:"rotate(".concat(Ye?-90:0,"deg)"),"margin-left":"auto"}},null)];return O.value==="normal"?Ze:de(rt)};return pt(_,function(ne){d.open(t.value,ne?"add":"remove")}),pt(D,function(){oe(D.value)}),vn(function(){var ne;d==null||(ne=d.vMenu)===null||ne===void 0||ne.add({value:t.value,parent:A==null?void 0:A.value,vnode:r.default});for(var te=l.parent;te&&!/^t(head)?menu/i.test((Y=te)===null||Y===void 0?void 0:Y.type.name);){var Y,fe,be;if(/submenu/i.test((fe=te)===null||fe===void 0?void 0:fe.type.name)){Q.value=!0;break}te=(be=te)===null||be===void 0?void 0:be.parent}}),qs(function(){R()}),function(){var ne=null,te={},Y;return O.value==="popup"&&(te={onMouseenter:J,onMouseleave:le},m.value.length<2&&(Y=c("div",{style:"display:none"},[a("default","content")]))),Object.keys(r).length>0&&(ne=f?V():q()),c("li",Jn({class:W.value},te),[ne,Y])}}});/**
+ */function Zht(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),n.push.apply(n,r)}return n}function O$(e){for(var t=1;t-1}),_=he(!1),S=he(!1),L=G(function(){return g.value==="light"?"#E7E7E7":"#383838"}),E=G(function(){var ne;return O.value==="popup"?_.value:v?(ne=v.value)===null||ne===void 0?void 0:ne.includes(t.value):!1}),Q=he(!1),D=he(),P=he(),T=he(),M=an("slide-down");nI(T,L);var B=he(null),I=he(null),R=function(){B.value!==null&&(clearTimeout(B.value),B.value=null),I.value!==null&&(clearTimeout(I.value),I.value=null)},F=function(te){var Y=te.placement,fe=D.value;if(fe){var be="".concat(o.value,"-menu__spacer"),_e=Y.startsWith("bottom"),Qe=Y.startsWith("top");fe.classList.toggle("".concat(be,"--bottom"),_e),fe.classList.toggle("".concat(be,"--top"),Qe)}},W=G(function(){return["".concat(o.value,"-submenu"),Ie(Ie({},"".concat(o.value,"-is-disabled"),t.disabled),"".concat(o.value,"-is-opened"),E.value)]}),j=G(function(){var ne;return["".concat(o.value,"-menu__popup"),"".concat(o.value,"-is-").concat(f?"horizontal":"vertical"),Ie({},"".concat(o.value,"-is-opened"),_.value),(ne=t.popupProps)===null||ne===void 0?void 0:ne.overlayInnerClassName]}),z=G(function(){var ne;return["".concat(o.value,"-menu--").concat(g.value),f&&"".concat(o.value,"-is-head-menu"),Ie({},"".concat(o.value,"-menu-is-nested"),Q.value),(ne=t.popupProps)===null||ne===void 0?void 0:ne.overlayClassName]}),$=G(function(){return["".concat(o.value,"-menu__item"),Ie(Ie(Ie({},"".concat(o.value,"-is-disabled"),t.disabled),"".concat(o.value,"-is-opened"),E.value),"".concat(o.value,"-is-active"),C.value)]}),X=G(function(){return["".concat(o.value,"-menu__sub"),Ie({},"".concat(o.value,"-is-opened"),E.value)]}),Z=G(function(){return[Ie({},"".concat(o.value,"-fake-arrow--active"),E.value)]});Yi("TdSubmenu",hs({value:h,addMenuItem:function(te){y.value.push(te),A&&A.addMenuItem(te)},setSubPopup:function(te){P.value=te},closeParentPopup:function(te){R(),I.value=setTimeout(function(){_.value=!1,I.value=null},100),ii(b)&&b(te)},cancelHideTimer:function(){I.value!==null&&(clearTimeout(I.value),I.value=null),ii(w)&&w()}}));var oe=function(te){ii(p)&&p(te)},J=function(){t.disabled||(R(),ii(w)&&w(),B.value=setTimeout(function(){_.value||(k(t.value),li().then(function(){oe(D.value)})),_.value=!0,B.value=null},0))},se=function(te){return te==null?void 0:te.classList.contains("".concat(o.value,"-menu__popup"))},le=function(te){R(),I.value=setTimeout(function(){var Y=se(te.relatedTarget);S.value||Y||(_.value=!1,I.value=null)},100)},re=function(te){var Y=te.toElement,fe=te.relatedTarget,be=Y||fe;if(be!==P.value){for(var _e=function(ke){return ke===T.value};be!==null&&be!==document&&!_e(be);)be=be.parentNode;S.value=!1,_e(be)||(R(),I.value=setTimeout(function(){_.value=!1,I.value=null},100),b==null||b(te))}},ue=function(){S.value=!0,I.value!==null&&(clearTimeout(I.value),I.value=null),ii(w)&&w()},ee=function(){t.disabled||k(t.value)},de=function(te){var Y,fe,be,_e,Qe="right-top";!Q.value&&f&&(Qe="bottom-left");var ke=c("div",{ref:D,class:["".concat(o.value,"-menu__spacer"),Ie({},"".concat(o.value,"-menu__spacer--left"),Q.value||!f)],onMouseenter:ue,onMouseleave:re},[c("ul",{class:"".concat(o.value,"-menu__popup-wrapper")},[a("default","content")])]),me={content:function(){return ke}},Ce=((Y=t.popupProps)===null||Y===void 0||(Y=Y.popperOptions)===null||Y===void 0?void 0:Y.modifiers)||[],Te=O$(O$({},(fe=(be=t.popupProps)===null||be===void 0?void 0:be.popperOptions)!==null&&fe!==void 0?fe:{}),{},{modifiers:[{name:"onPlacementChange",enabled:!0,phase:"main",fn:function(Ye){var Ze=Ye.state;F({placement:Ze.placement})}}].concat(Wn(Ce))}),De=c(G0,Jn((_e=t.popupProps)!==null&&_e!==void 0?_e:{},{overlayInnerClassName:Wn(j.value),overlayClassName:Wn(z.value),visible:_.value,placement:Qe,popperOptions:Te}),O$({default:function(){return[c("div",{ref:T,class:$.value},[te])]}},me));return De},V=function(){var te=s("icon"),Y=[c("div",{ref:T,class:$.value,onClick:ee},[te,c("span",{class:["".concat(o.value,"-menu__content")]},[s("title",{silent:!0})])]),c("ul",{style:"opacity: 0; width: 0; height: 0; overflow: hidden"},[a("default","content")])],fe=O.value==="popup"&&Q.value,be=[te,c("span",{class:["".concat(o.value,"-menu__content")]},[s("title",{silent:!0})]),c(LY,{overlayClassName:/menu/i.test(l==null?void 0:l.parent.proxy.$options.name)?Z.value:null,overlayStyle:{transform:"rotate(".concat(fe?-90:0,"deg)")}},null)];return O.value==="normal"?Y:de(be)},q=function(){for(var te=r.content||r.default,Y=s("icon"),fe=a("default","content"),be=l.parent,_e=44;be&&be.type.name!=="TMenu";)be.type.name==="TSubmenu"&&(_e+=16),be=be.parent;var Qe=Mpn(),ke=Qe.beforeEnter,me=Qe.enter,Ce=Qe.afterEnter,Te=Qe.beforeLeave,De=Qe.leave,qe=Qe.afterLeave,Ye=O.value==="popup"&&Q.value,Ze=[c("div",{ref:T,class:$.value,onClick:ee},[Y,c("span",{class:["".concat(o.value,"-menu__content")]},[s("title",{silent:!0})]),te&&c(LY,{overlayClassName:Z.value,overlayStyle:{transform:"rotate(".concat(Ye?-90:0,"deg)")}},null)]),c(k8,{name:M.value,onBeforeEnter:ke,onEnter:me,onAfterEnter:Ce,onBeforeLeave:Te,onLeave:De,onAfterLeave:qe},{default:function(){return[hu(c("ul",{class:X.value,style:{"--padding-left":"".concat(_e,"px")}},[fe]),[[u1,E.value]])]}})],rt=[Y,c("span",{class:["".concat(o.value,"-menu__content")]},[s("title",{silent:!0})]),c(LY,{overlayClassName:/menu/i.test(be.proxy.$options.name)?Z.value:null,overlayStyle:{transform:"rotate(".concat(Ye?-90:0,"deg)"),"margin-left":"auto"}},null)];return O.value==="normal"?Ze:de(rt)};return pt(_,function(ne){d.open(t.value,ne?"add":"remove")}),pt(D,function(){oe(D.value)}),vn(function(){var ne;d==null||(ne=d.vMenu)===null||ne===void 0||ne.add({value:t.value,parent:A==null?void 0:A.value,vnode:r.default});for(var te=l.parent;te&&!/^t(head)?menu/i.test((Y=te)===null||Y===void 0?void 0:Y.type.name);){var Y,fe,be;if(/submenu/i.test((fe=te)===null||fe===void 0?void 0:fe.type.name)){Q.value=!0;break}te=(be=te)===null||be===void 0?void 0:be.parent}}),qs(function(){R()}),function(){var ne=null,te={},Y;return O.value==="popup"&&(te={onMouseenter:J,onMouseleave:le},m.value.length<2&&(Y=c("div",{style:"display:none"},[a("default","content")]))),Object.keys(r).length>0&&(ne=f?V():q()),c("li",Jn({class:W.value},te),[ne,Y])}}});/**
* tdesign v1.18.5
* (c) 2026 tdesign
* @license MIT
@@ -408,7 +408,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
* tdesign v1.18.5
* (c) 2026 tdesign
* @license MIT
- */var Tki=["isHover","tStatus","inputRef","renderType","showClear","focused","inputValue","isComposition","compositionValue","innerValue","limitNumber"];function Jht(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),n.push.apply(n,r)}return n}function eft(e){for(var t=1;t=se.value.length?p.value:Ze,{trigger:"next"})},V=function(Ze){b(Ze,{trigger:"current"})},q=function(Ze){t.onDownload?t.onDownload(Ze):F4i(Ze)},ne=function(Ze){Os(Ze)&&V(Ze),C(!0)},te=function(Ze){var rt;C(!1),(rt=t.onClose)===null||rt===void 0||rt.call(t,Ze)},Y=function(Ze){te({e:Ze,trigger:"close-btn"})},fe=function(Ze){t.closeOnOverlay&&te({e:Ze,trigger:"overlay"})},be=function(Ze){switch(Ze.stopPropagation(),Ze.code){case hF.left:ee();break;case hF.right:de();break;case hF.up:W();break;case hF.down:j();break;case hF.esc:t.closeOnEscKeydown&&ue()&&te({e:Ze,trigger:"esc"});break}},_e=he();pt(function(){return y.value},function(Ye){clearTimeout(S.value),Ye?(_.value=!1,li().then(function(){var Ze,rt;(Ze=_e.value)===null||Ze===void 0||(rt=Ze.focus)===null||rt===void 0||rt.call(Ze)}),J()):S.value=setTimeout(function(){_.value=!0},200)}),qs(function(){clearTimeout(S.value)});var Qe=function(Ze){Ze.preventDefault();var rt=Ze.deltaY;rt>0?j():W()},ke=G(function(){return{transform:"translateX(calc(-".concat(p.value," * (40px / 9 * 16 + 4px)))")}}),me=function(){return c("div",{class:Q.value},[c(D_,{icon:function(){return c(L4e,null,null)},class:"".concat(o.value,"__header-pre-bt"),onClick:P},null),c("div",{class:"".concat(o.value,"__header-prev")},[c("div",{class:"".concat(o.value,"__header-trans"),style:ke.value},[se.value.map(function(Ze,rt){return c("div",{key:rt,class:["".concat(o.value,"__header-box"),Ie({},"".concat(r.value,"-is-active"),rt===p.value)]},[c(Zh,{src:Ze.thumbnail||Ze.mainImage,error:"",class:"".concat(o.value,"__header-img"),onClick:function(){return V(rt)}},null)])})])])])},Ce=function(){var Ze=s("title");return c("div",{class:"".concat(o.value,"__modal-index")},[Ze||"".concat(p.value+1,"/").concat(se.value.length)])},Te=function(Ze){var rt=Ze==="prev"?0:180,Re=s("navigationArrow",c(x4e,{style:{transform:"rotate(".concat(rt,"deg)")},size:"24px"},null));return c(D_,{class:"".concat(o.value,"__modal-").concat(Ze,"-bt"),onClick:Ze==="prev"?ee:de,icon:function(){return Re}},null)},De=function(){if(t.closeBtn!==!1)return c("div",{class:["".concat(o.value,"__modal-icon"),"".concat(o.value,"__modal-close-bt")],onClick:Y},[s("closeBtn",c(oL,{size:"24px"},null))])},qe=function(){var Ze=se.value[0]||"",rt=typeof Ze=="string"?Ze:Ze.mainImage||Ze.thumbnail;return c("div",{class:"".concat(o.value,"__trigger")},[c(Zh,{src:rt,alt:"preview",fit:"contain",class:"".concat(o.value,"__trigger-img")},null),c("div",{class:"".concat(o.value,"__trigger--hover"),onClick:function(){return ne()}},[c("span",null,[c(S4e,{size:"1.4em",class:"".concat(o.value,"__trigger-icon")},null),l.value.previewText])])])};return function(){return t.mode==="modeless"?c(rn,null,[Gct("trigger")?s("trigger",{params:{open:ne}}):qe(),c(D4i,{zIndex:D.value,visible:y.value,index:p.value,images:se.value,scale:F.value,rotate:X.value,mirror:M.value,currentImage:le.value,onRotate:Z,onZoomIn:W,onZoomOut:j,onMirror:B,onReset:J,onClose:te,onDownload:q,draggable:t.draggable,showOverlay:u.value,title:Ce,imageReferrerpolicy:f.value},null)]):c(rn,null,[Gct("trigger")?s("trigger",{params:{open:ne}}):qe(),c(f3,{disabled:!t.attach||!L.value,to:L.value},{default:function(){return[c(k8,null,{default:function(){return[(y.value||!_.value)&&hu(c("div",{ref:_e,class:E.value,style:{zIndex:D.value},onWheel:Qe,tabindex:-1,onKeydown:be},[!!u.value&&c("div",{class:"".concat(o.value,"__modal-mask"),onClick:fe},null),se.value.length>1&&c(rn,null,[me(),Ce(),Te("prev"),Te("next")]),De(),c(E3n,{zIndex:D.value+1,onZoomIn:W,onZoomOut:j,onMirror:B,onReset:J,onRotate:Z,onDownload:q,scale:F.value,currentImage:le.value},null),c(y3n,{scale:F.value,rotate:X.value,mirror:M.value,src:le.value.mainImage,placementSrc:le.value.thumbnail,isSvg:le.value.isSvg,imageReferrerpolicy:f.value},null)]),[[d1,y.value]])]}})]}})])}}});/**
+ */function ogt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),n.push.apply(n,r)}return n}function R4i(e){for(var t=1;t=se.value.length?p.value:Ze,{trigger:"next"})},V=function(Ze){b(Ze,{trigger:"current"})},q=function(Ze){t.onDownload?t.onDownload(Ze):F4i(Ze)},ne=function(Ze){Os(Ze)&&V(Ze),C(!0)},te=function(Ze){var rt;C(!1),(rt=t.onClose)===null||rt===void 0||rt.call(t,Ze)},Y=function(Ze){te({e:Ze,trigger:"close-btn"})},fe=function(Ze){t.closeOnOverlay&&te({e:Ze,trigger:"overlay"})},be=function(Ze){switch(Ze.stopPropagation(),Ze.code){case hF.left:ee();break;case hF.right:de();break;case hF.up:W();break;case hF.down:j();break;case hF.esc:t.closeOnEscKeydown&&ue()&&te({e:Ze,trigger:"esc"});break}},_e=he();pt(function(){return y.value},function(Ye){clearTimeout(S.value),Ye?(_.value=!1,li().then(function(){var Ze,rt;(Ze=_e.value)===null||Ze===void 0||(rt=Ze.focus)===null||rt===void 0||rt.call(Ze)}),J()):S.value=setTimeout(function(){_.value=!0},200)}),qs(function(){clearTimeout(S.value)});var Qe=function(Ze){Ze.preventDefault();var rt=Ze.deltaY;rt>0?j():W()},ke=G(function(){return{transform:"translateX(calc(-".concat(p.value," * (40px / 9 * 16 + 4px)))")}}),me=function(){return c("div",{class:Q.value},[c(D_,{icon:function(){return c(L4e,null,null)},class:"".concat(o.value,"__header-pre-bt"),onClick:P},null),c("div",{class:"".concat(o.value,"__header-prev")},[c("div",{class:"".concat(o.value,"__header-trans"),style:ke.value},[se.value.map(function(Ze,rt){return c("div",{key:rt,class:["".concat(o.value,"__header-box"),Ie({},"".concat(r.value,"-is-active"),rt===p.value)]},[c(Zh,{src:Ze.thumbnail||Ze.mainImage,error:"",class:"".concat(o.value,"__header-img"),onClick:function(){return V(rt)}},null)])})])])])},Ce=function(){var Ze=s("title");return c("div",{class:"".concat(o.value,"__modal-index")},[Ze||"".concat(p.value+1,"/").concat(se.value.length)])},Te=function(Ze){var rt=Ze==="prev"?0:180,Re=s("navigationArrow",c(x4e,{style:{transform:"rotate(".concat(rt,"deg)")},size:"24px"},null));return c(D_,{class:"".concat(o.value,"__modal-").concat(Ze,"-bt"),onClick:Ze==="prev"?ee:de,icon:function(){return Re}},null)},De=function(){if(t.closeBtn!==!1)return c("div",{class:["".concat(o.value,"__modal-icon"),"".concat(o.value,"__modal-close-bt")],onClick:Y},[s("closeBtn",c(oL,{size:"24px"},null))])},qe=function(){var Ze=se.value[0]||"",rt=typeof Ze=="string"?Ze:Ze.mainImage||Ze.thumbnail;return c("div",{class:"".concat(o.value,"__trigger")},[c(Zh,{src:rt,alt:"preview",fit:"contain",class:"".concat(o.value,"__trigger-img")},null),c("div",{class:"".concat(o.value,"__trigger--hover"),onClick:function(){return ne()}},[c("span",null,[c(S4e,{size:"1.4em",class:"".concat(o.value,"__trigger-icon")},null),l.value.previewText])])])};return function(){return t.mode==="modeless"?c(rn,null,[Gct("trigger")?s("trigger",{params:{open:ne}}):qe(),c(D4i,{zIndex:D.value,visible:y.value,index:p.value,images:se.value,scale:F.value,rotate:X.value,mirror:M.value,currentImage:le.value,onRotate:Z,onZoomIn:W,onZoomOut:j,onMirror:B,onReset:J,onClose:te,onDownload:q,draggable:t.draggable,showOverlay:u.value,title:Ce,imageReferrerpolicy:f.value},null)]):c(rn,null,[Gct("trigger")?s("trigger",{params:{open:ne}}):qe(),c(f3,{disabled:!t.attach||!L.value,to:L.value},{default:function(){return[c(k8,null,{default:function(){return[(y.value||!_.value)&&hu(c("div",{ref:_e,class:E.value,style:{zIndex:D.value},onWheel:Qe,tabindex:-1,onKeydown:be},[!!u.value&&c("div",{class:"".concat(o.value,"__modal-mask"),onClick:fe},null),se.value.length>1&&c(rn,null,[me(),Ce(),Te("prev"),Te("next")]),De(),c(E3n,{zIndex:D.value+1,onZoomIn:W,onZoomOut:j,onMirror:B,onReset:J,onRotate:Z,onDownload:q,scale:F.value,currentImage:le.value},null),c(y3n,{scale:F.value,rotate:X.value,mirror:M.value,src:le.value.mainImage,placementSrc:le.value.thumbnail,isSvg:le.value.isSvg,imageReferrerpolicy:f.value},null)]),[[u1,y.value]])]}})]}})])}}});/**
* tdesign v1.18.5
* (c) 2026 tdesign
* @license MIT
@@ -1177,7 +1177,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
* tdesign v1.18.5
* (c) 2026 tdesign
* @license MIT
- */function bgt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),n.push.apply(n,r)}return n}function Hf(e){for(var t=1;t0&&arguments[0]!==void 0?arguments[0]:!0;return c("colgroup",null,[wr.map(function(E1){var Bp={width:EY((BA||Kr?se.value[E1.colKey]:void 0)||E1.width)||jo};return E1.minWidth&&(Bp.minWidth=EY(E1.minWidth)),!Bp.width&&!E1.minWidth&&t.tableLayout==="fixed"&&(Bp.minWidth="80px"),c("col",{key:E1.colKey,style:Bp},null)})])},pu=function(){if(t.showHeader===!1)return null;var BA=g3(Sse(t.headerAffixedTop),{onFixedChange:rr});return!!(It.isVirtualScroll.value||t.headerAffixedTop)&&(t.headerAffixedTop?c(bse,Jn({ref:R,offsetTop:0},BA.value),wgt(tk)?tk:{default:function(){return[tk]}}):Z.value&&tk)},bu=function(){return c(bse,Jn({offsetBottom:0},Sse(t.horizontalScrollAffixedBottom),{style:{marginTop:"-".concat(j.value*2,"px")},ref:I}),{default:function(){return[c("div",{ref:me,class:["scrollbar",k.obviousScrollbar],style:{width:"".concat(z.value,"px"),overflow:"auto",opacity:Number(De.value)}},[c("div",{style:{width:"".concat($.value,"px"),height:"5px"}},null)])]}})},L1={isFixedHeader:Z.value,rowAndColFixedPosition:re.value,isMultipleHeader:L.value,bordered:t.bordered,maxHeight:t.maxHeight,height:t.height,spansAndLeafNodes:E.value,thList:Q.value,thWidthList:se.value,resizable:t.resizable,columnResizeParams:tt,classPrefix:m,ellipsisOverlayClassName:P.value!=="medium"?w[P.value]:"",attach:t.attach,showColumnShadow:le,thDraggable:t.thDraggable},Lm=BB()<=11?4:0,Yd=oe.value?j.value:0,xm=he((((En=Qe.value)===null||En===void 0?void 0:En.getBoundingClientRect().height)||0)-Lm),$3=setTimeout(function(){var Em;xm.value=(((Em=Qe.value)===null||Em===void 0?void 0:Em.getBoundingClientRect().height)||0)-Lm,clearTimeout($3)},0),IL=G(function(){return xm.value-Yd}),ML=t.headerAffixedTop?Number(Te.value):1,TA=G(function(){return{width:"".concat(z.value,"px"),height:"".concat(IL.value,"px"),opacity:ML}}),hC=t.bordered?1:0,PL=!!((t.headerAffixedTop||It.isVirtualScroll.value)&&z.value)&&c("div",{ref:Qe,style:{width:"".concat(z.value-hC,"px"),opacity:Number(Te.value)},class:["scrollbar",Ie({},k.affixedHeaderElm,t.headerAffixedTop||It.isVirtualScroll.value)]},[c("table",{class:un.value,style:Hf(Hf({},y.value),{},{width:"".concat($.value,"px")})},[bl(!0),c(kgt,L1,n.slots)])]),tk=c("div",{class:k.affixedHeaderWrap,style:TA.value},[PL]),jf=oe.value?j.value:0;t.bordered&&(jf+=1);var fC=!!(It.isVirtualScroll.value||t.footerAffixedBottom),gC=((wi=t.footData)===null||wi===void 0?void 0:wi.length)||t.footerSummary||n.slots.footerSummary,x1=g3(Sse(t.footerAffixedBottom),{onFixedChange:rr}),mC=!!(fC&&gC&&z.value)&&c(bse,Jn({ref:F,class:k.affixedFooterWrap,offsetBottom:jf||0,style:{marginTop:"".concat(-1*(((Ne=h.value)!==null&&Ne!==void 0?Ne:0)+jf),"px")}},x1.value),{default:function(){return[c("div",{ref:ke,style:{width:"".concat(z.value-hC,"px"),opacity:Number(De.value)},class:["scrollbar",Ie({},k.affixedFooterElm,t.footerAffixedBottom||It.isVirtualScroll.value)]},[c("table",{class:un.value,style:Hf(Hf({},y.value),{},{width:"".concat($.value,"px")})},[bl(!0),c(pgt,{rowKey:t.rowKey,isFixedHeader:Z.value,rowAndColFixedPosition:re.value,footData:t.footData,columns:E.value.leafColumns,rowAttributes:t.rowAttributes,rowClassName:t.rowClassName,thWidthList:se.value,footerSummary:t.footerSummary,rowspanAndColspanInFooter:t.rowspanAndColspanInFooter},n.slots)])])]}}),Dp="translate(0, ".concat(It.scrollHeight.value+((ut=h.value)!==null&&ut!==void 0?ut:0)+((Ft=xm.value)!==null&&Ft!==void 0?Ft:0),"px)"),Wf={transform:Dp,"-ms-transform":Dp,"-moz-transform":Dp,"-webkit-transform":Dp},X3=Hf(Hf({classPrefix:m,ellipsisOverlayClassName:P.value!=="medium"?w[P.value]:"",rowAndColFixedPosition:re.value,showColumnShadow:le,data:_n,virtualConfig:It,columns:E.value.leafColumns,tableElm:a.value,tableWidth:z.value,isWidthOverflow:oe.value,scroll:t.scroll,cellEmptyContent:t.cellEmptyContent,tableContentElm:X.value,handleRowMounted:It.handleRowMounted,renderExpandedRow:t.renderExpandedRow},zS(t,P3n)),{},{pagination:Le.value,attach:t.attach,hoverRow:Fr.value,activeRow:Mi.value,onRowClick:Fe}),QA=c("div",{ref:X,class:k.content,style:Hf(Hf({},O.value),{},{overflowAnchor:"none"}),onScroll:qn},[It.isVirtualScroll.value&&c("div",{class:v.cursor,style:Wf},null),c("table",{ref:l,class:un.value,style:Hf(Hf({},y.value),{},{width:t.resizable&&oe.value&&$.value?"".concat($.value,"px"):y.value.width})},[bl(!1),t.showHeader&&c(kgt,Hf(Hf({},L1),{},{thWidthList:Kr?se.value:{}}),n.slots),c(upi,Jn({ref:d},X3),n.slots),c(pgt,{rowKey:t.rowKey,isFixedHeader:Z.value,rowAndColFixedPosition:re.value,footData:t.footData,columns:E.value.leafColumns,rowAttributes:t.rowAttributes,rowClassName:t.rowClassName,footerSummary:t.footerSummary,rowspanAndColspanInFooter:t.rowspanAndColspanInFooter,virtualScroll:It.isVirtualScroll.value},n.slots)])]),kC=ii(t.loading)?t.loading:n.slots.loading,vC=t.loading!==void 0&&c(Vc,Jn({loading:!!t.loading,text:kC,attach:a.value?function(){return a.value}:void 0,showOverlay:!0,size:"small"},t.loadingProps),null),G3=s("topContent"),DA=s("bottomContent"),R2=c("div",{ref:Ce,class:k.paginationWrap,style:{opacity:Number(qe.value)}},[He()]),Y3=!!DA&&c("div",{ref:u,class:k.bottomContent},[DA]);return c("div",{ref:a,tabindex:fi.value,class:pn.value,onFocus:jn,onBlur:dt},[!!G3&&c("div",{class:k.topContent},[G3]),pu(),QA,mC,vC,Y3,bn.value&&c("div",{class:k.scrollbarDivider,style:{right:"".concat(j.value,"px"),bottom:ni.value?"".concat(ni.value,"px"):void 0,height:"".concat((On=X.value)===null||On===void 0?void 0:On.getBoundingClientRect().height,"px")}},null),t.horizontalScrollAffixedBottom&&bu(),t.paginationAffixedBottom?c(bse,Jn({offsetBottom:0},Sse(t.paginationAffixedBottom),{ref:B}),wgt(R2)?R2:{default:function(){return[R2]}}):R2,c("div",{ref:kt,class:k.resizeLine,style:Mt},null)])}}});/**
+ */function bgt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),n.push.apply(n,r)}return n}function Hf(e){for(var t=1;t0&&arguments[0]!==void 0?arguments[0]:!0;return c("colgroup",null,[wr.map(function(T1){var Bp={width:EY((BA||Kr?se.value[T1.colKey]:void 0)||T1.width)||jo};return T1.minWidth&&(Bp.minWidth=EY(T1.minWidth)),!Bp.width&&!T1.minWidth&&t.tableLayout==="fixed"&&(Bp.minWidth="80px"),c("col",{key:T1.colKey,style:Bp},null)})])},pu=function(){if(t.showHeader===!1)return null;var BA=g3(Sse(t.headerAffixedTop),{onFixedChange:rr});return!!(It.isVirtualScroll.value||t.headerAffixedTop)&&(t.headerAffixedTop?c(bse,Jn({ref:R,offsetTop:0},BA.value),wgt(tk)?tk:{default:function(){return[tk]}}):Z.value&&tk)},bu=function(){return c(bse,Jn({offsetBottom:0},Sse(t.horizontalScrollAffixedBottom),{style:{marginTop:"-".concat(j.value*2,"px")},ref:I}),{default:function(){return[c("div",{ref:me,class:["scrollbar",k.obviousScrollbar],style:{width:"".concat(z.value,"px"),overflow:"auto",opacity:Number(De.value)}},[c("div",{style:{width:"".concat($.value,"px"),height:"5px"}},null)])]}})},x1={isFixedHeader:Z.value,rowAndColFixedPosition:re.value,isMultipleHeader:L.value,bordered:t.bordered,maxHeight:t.maxHeight,height:t.height,spansAndLeafNodes:E.value,thList:Q.value,thWidthList:se.value,resizable:t.resizable,columnResizeParams:tt,classPrefix:m,ellipsisOverlayClassName:P.value!=="medium"?w[P.value]:"",attach:t.attach,showColumnShadow:le,thDraggable:t.thDraggable},Lm=BB()<=11?4:0,Yd=oe.value?j.value:0,xm=he((((En=Qe.value)===null||En===void 0?void 0:En.getBoundingClientRect().height)||0)-Lm),$3=setTimeout(function(){var Em;xm.value=(((Em=Qe.value)===null||Em===void 0?void 0:Em.getBoundingClientRect().height)||0)-Lm,clearTimeout($3)},0),IL=G(function(){return xm.value-Yd}),ML=t.headerAffixedTop?Number(Te.value):1,TA=G(function(){return{width:"".concat(z.value,"px"),height:"".concat(IL.value,"px"),opacity:ML}}),hC=t.bordered?1:0,PL=!!((t.headerAffixedTop||It.isVirtualScroll.value)&&z.value)&&c("div",{ref:Qe,style:{width:"".concat(z.value-hC,"px"),opacity:Number(Te.value)},class:["scrollbar",Ie({},k.affixedHeaderElm,t.headerAffixedTop||It.isVirtualScroll.value)]},[c("table",{class:un.value,style:Hf(Hf({},y.value),{},{width:"".concat($.value,"px")})},[bl(!0),c(kgt,x1,n.slots)])]),tk=c("div",{class:k.affixedHeaderWrap,style:TA.value},[PL]),jf=oe.value?j.value:0;t.bordered&&(jf+=1);var fC=!!(It.isVirtualScroll.value||t.footerAffixedBottom),gC=((wi=t.footData)===null||wi===void 0?void 0:wi.length)||t.footerSummary||n.slots.footerSummary,E1=g3(Sse(t.footerAffixedBottom),{onFixedChange:rr}),mC=!!(fC&&gC&&z.value)&&c(bse,Jn({ref:F,class:k.affixedFooterWrap,offsetBottom:jf||0,style:{marginTop:"".concat(-1*(((Ne=h.value)!==null&&Ne!==void 0?Ne:0)+jf),"px")}},E1.value),{default:function(){return[c("div",{ref:ke,style:{width:"".concat(z.value-hC,"px"),opacity:Number(De.value)},class:["scrollbar",Ie({},k.affixedFooterElm,t.footerAffixedBottom||It.isVirtualScroll.value)]},[c("table",{class:un.value,style:Hf(Hf({},y.value),{},{width:"".concat($.value,"px")})},[bl(!0),c(pgt,{rowKey:t.rowKey,isFixedHeader:Z.value,rowAndColFixedPosition:re.value,footData:t.footData,columns:E.value.leafColumns,rowAttributes:t.rowAttributes,rowClassName:t.rowClassName,thWidthList:se.value,footerSummary:t.footerSummary,rowspanAndColspanInFooter:t.rowspanAndColspanInFooter},n.slots)])])]}}),Dp="translate(0, ".concat(It.scrollHeight.value+((ut=h.value)!==null&&ut!==void 0?ut:0)+((Ft=xm.value)!==null&&Ft!==void 0?Ft:0),"px)"),Wf={transform:Dp,"-ms-transform":Dp,"-moz-transform":Dp,"-webkit-transform":Dp},X3=Hf(Hf({classPrefix:m,ellipsisOverlayClassName:P.value!=="medium"?w[P.value]:"",rowAndColFixedPosition:re.value,showColumnShadow:le,data:_n,virtualConfig:It,columns:E.value.leafColumns,tableElm:a.value,tableWidth:z.value,isWidthOverflow:oe.value,scroll:t.scroll,cellEmptyContent:t.cellEmptyContent,tableContentElm:X.value,handleRowMounted:It.handleRowMounted,renderExpandedRow:t.renderExpandedRow},zS(t,P3n)),{},{pagination:Le.value,attach:t.attach,hoverRow:Fr.value,activeRow:Mi.value,onRowClick:Fe}),QA=c("div",{ref:X,class:k.content,style:Hf(Hf({},O.value),{},{overflowAnchor:"none"}),onScroll:qn},[It.isVirtualScroll.value&&c("div",{class:v.cursor,style:Wf},null),c("table",{ref:l,class:un.value,style:Hf(Hf({},y.value),{},{width:t.resizable&&oe.value&&$.value?"".concat($.value,"px"):y.value.width})},[bl(!1),t.showHeader&&c(kgt,Hf(Hf({},x1),{},{thWidthList:Kr?se.value:{}}),n.slots),c(upi,Jn({ref:d},X3),n.slots),c(pgt,{rowKey:t.rowKey,isFixedHeader:Z.value,rowAndColFixedPosition:re.value,footData:t.footData,columns:E.value.leafColumns,rowAttributes:t.rowAttributes,rowClassName:t.rowClassName,footerSummary:t.footerSummary,rowspanAndColspanInFooter:t.rowspanAndColspanInFooter,virtualScroll:It.isVirtualScroll.value},n.slots)])]),kC=ii(t.loading)?t.loading:n.slots.loading,vC=t.loading!==void 0&&c(Vc,Jn({loading:!!t.loading,text:kC,attach:a.value?function(){return a.value}:void 0,showOverlay:!0,size:"small"},t.loadingProps),null),G3=s("topContent"),DA=s("bottomContent"),R2=c("div",{ref:Ce,class:k.paginationWrap,style:{opacity:Number(qe.value)}},[He()]),Y3=!!DA&&c("div",{ref:u,class:k.bottomContent},[DA]);return c("div",{ref:a,tabindex:fi.value,class:pn.value,onFocus:jn,onBlur:dt},[!!G3&&c("div",{class:k.topContent},[G3]),pu(),QA,mC,vC,Y3,bn.value&&c("div",{class:k.scrollbarDivider,style:{right:"".concat(j.value,"px"),bottom:ni.value?"".concat(ni.value,"px"):void 0,height:"".concat((On=X.value)===null||On===void 0?void 0:On.getBoundingClientRect().height,"px")}},null),t.horizontalScrollAffixedBottom&&bu(),t.paginationAffixedBottom?c(bse,Jn({offsetBottom:0},Sse(t.paginationAffixedBottom),{ref:B}),wgt(R2)?R2:{default:function(){return[R2]}}):R2,c("div",{ref:kt,class:k.resizeLine,style:Mt},null)])}}});/**
* tdesign v1.18.5
* (c) 2026 tdesign
* @license MIT
@@ -1222,7 +1222,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
* @author RubaXa
* @author owenm
* @license MIT
- */function xpi(e,t,n){return(t=Dpi(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function b8(){return b8=Object.assign?Object.assign.bind():function(e){for(var t=1;t"&&(t=t.substring(1)),e)try{if(e.matches)return e.matches(t);if(e.msMatchesSelector)return e.msMatchesSelector(t);if(e.webkitMatchesSelector)return e.webkitMatchesSelector(t)}catch{return!1}return!1}}function H3n(e){return e.host&&e!==document&&e.host.nodeType&&e.host!==e?e.host:e.parentNode}function Tb(e,t,n,r){if(e){n=n||document;do{if(t!=null&&(t[0]===">"?e.parentNode===n&&ege(e,t):ege(e,t))||r&&e===n)return e;if(e===n)break}while(e=H3n(e))}return null}var Dgt=/\s+/g;function q2(e,t,n){if(e&&t)if(e.classList)e.classList[n?"add":"remove"](t);else{var r=(" "+e.className+" ").replace(Dgt," ").replace(" "+t+" "," ");e.className=(r+(n?" "+t:"")).replace(Dgt," ")}}function Ro(e,t,n){var r=e&&e.style;if(r){if(n===void 0)return document.defaultView&&document.defaultView.getComputedStyle?n=document.defaultView.getComputedStyle(e,""):e.currentStyle&&(n=e.currentStyle),t===void 0?n:n[t];!(t in r)&&t.indexOf("webkit")===-1&&(t="-webkit-"+t),r[t]=n+(typeof n=="string"?"":"px")}}function cU(e,t){var n="";if(typeof e=="string")n=e;else do{var r=Ro(e,"transform");r&&r!=="none"&&(n=r+" "+n)}while(!t&&(e=e.parentNode));var o=window.DOMMatrix||window.WebKitCSSMatrix||window.CSSMatrix||window.MSCSSMatrix;return o&&new o(n)}function $3n(e,t,n){if(e){var r=e.getElementsByTagName(t),o=0,s=r.length;if(n)for(;o=s,!a)return r;if(r===iy())break;r=Zx(r,!1)}return!1}function kW(e,t,n,r){for(var o=0,s=0,a=e.children;s2&&arguments[2]!==void 0?arguments[2]:{},o=r.evt,s=Epi(r,jpi);Rne.pluginEvent.bind(So)(t,n,by({dragEl:Bi,parentEl:_u,ghostEl:gs,rootEl:Ed,nextEl:P7,lastDownEl:Yde,cloneEl:tu,cloneHidden:Ox,dragStarted:cG,putSortable:Wg,activeSortable:So.active,originalEvent:o,oldIndex:KF,oldDraggableIndex:DY,newIndex:tv,newDraggableIndex:Y5,hideGhostForTarget:ewn,unhideGhostForTarget:twn,cloneNowHidden:function(){Ox=!0},cloneNowShown:function(){Ox=!1},dispatchSortableEvent:function(l){W1({sortable:n,name:l,originalEvent:o})}},s))};function W1(e){Upi(by({putSortable:Wg,cloneEl:tu,targetEl:Bi,rootEl:Ed,oldIndex:KF,oldDraggableIndex:DY,newIndex:tv,newDraggableIndex:Y5},e))}var Bi,_u,gs,Ed,P7,Yde,tu,Ox,KF,tv,DY,Y5,Qse,Wg,fF=!1,tge=!1,nge=[],t7,Vp,u_e,h_e,Igt,Mgt,cG,tP,BY,RY=!1,Dse=!1,Zde,Bm,f_e=[],VIe=!1,ige=[],j4e=typeof document<"u",Bse=wZe,Pgt=Bne||dL?"cssFloat":"float",Wpi=j4e&&!V3n&&!wZe&&"draggable"in document.createElement("div"),q3n=function(){if(j4e){if(dL)return!1;var e=document.createElement("x");return e.style.cssText="pointer-events:auto",e.style.pointerEvents==="auto"}}(),K3n=function(t,n){var r=Ro(t),o=parseInt(r.width)-parseInt(r.paddingLeft)-parseInt(r.paddingRight)-parseInt(r.borderLeftWidth)-parseInt(r.borderRightWidth),s=kW(t,0,n),a=kW(t,1,n),l=s&&Ro(s),d=a&&Ro(a),u=l&&parseInt(l.marginLeft)+parseInt(l.marginRight)+Fh(s).width,h=d&&parseInt(d.marginLeft)+parseInt(d.marginRight)+Fh(a).width;if(r.display==="flex")return r.flexDirection==="column"||r.flexDirection==="column-reverse"?"vertical":"horizontal";if(r.display==="grid")return r.gridTemplateColumns.split(" ").length<=1?"vertical":"horizontal";if(s&&l.float&&l.float!=="none"){var g=l.float==="left"?"left":"right";return a&&(d.clear==="both"||d.clear===g)?"vertical":"horizontal"}return s&&(l.display==="block"||l.display==="flex"||l.display==="table"||l.display==="grid"||u>=o&&r[Pgt]==="none"||a&&r[Pgt]==="none"&&u+h>o)?"vertical":"horizontal"},Vpi=function(t,n,r){var o=r?t.left:t.top,s=r?t.right:t.bottom,a=r?t.width:t.height,l=r?n.left:n.top,d=r?n.right:n.bottom,u=r?n.width:n.height;return o===l||s===d||o+a/2===l+u/2},zpi=function(t,n){var r;return nge.some(function(o){var s=o[jk].options.emptyInsertThreshold;if(!(!s||OZe(o))){var a=Fh(o),l=t>=a.left-s&&t<=a.right+s,d=n>=a.top-s&&n<=a.bottom+s;if(l&&d)return r=o}}),r},J3n=function(t){function n(s,a){return function(l,d,u,h){var g=l.options.group.name&&d.options.group.name&&l.options.group.name===d.options.group.name;if(s==null&&(a||g))return!0;if(s==null||s===!1)return!1;if(a&&s==="clone")return s;if(typeof s=="function")return n(s(l,d,u,h),a)(l,d,u,h);var m=(a?l:d).options.group.name;return s===!0||typeof s=="string"&&s===m||s.join&&s.indexOf(m)>-1}}var r={},o=t.group;(!o||WIe(o)!="object")&&(o={name:o}),r.name=o.name,r.checkPull=n(o.pull,!0),r.checkPut=n(o.put),r.revertClone=o.revertClone,t.group=r},ewn=function(){!q3n&&gs&&Ro(gs,"display","none")},twn=function(){!q3n&&gs&&Ro(gs,"display","")};j4e&&!V3n&&document.addEventListener("click",function(e){if(tge)return e.preventDefault(),e.stopPropagation&&e.stopPropagation(),e.stopImmediatePropagation&&e.stopImmediatePropagation(),tge=!1,!1},!0);var n7=function(t){if(Bi){t=t.touches?t.touches[0]:t;var n=zpi(t.clientX,t.clientY);if(n){var r={};for(var o in t)t.hasOwnProperty(o)&&(r[o]=t[o]);r.target=r.rootEl=n,r.preventDefault=void 0,r.stopPropagation=void 0,n[jk]._onDragOver(r)}}},Hpi=function(t){Bi&&Bi.parentNode[jk]._isOutsideThisEl(t.target)};function So(e,t){if(!(e&&e.nodeType&&e.nodeType===1))throw"Sortable: `el` must be an HTMLElement, not ".concat({}.toString.call(e));this.el=e,this.options=t=b8({},t),e[jk]=this;var n={group:null,sort:!0,disabled:!1,store:null,handle:null,draggable:/^[uo]l$/i.test(e.nodeName)?">li":">*",swapThreshold:1,invertSwap:!1,invertedSwapThreshold:null,removeCloneOnHide:!0,direction:function(){return K3n(e,this.options)},ghostClass:"sortable-ghost",chosenClass:"sortable-chosen",dragClass:"sortable-drag",ignore:"a, img",filter:null,preventOnFilter:!0,animation:0,easing:null,setData:function(a,l){a.setData("Text",l.textContent)},dropBubble:!1,dragoverBubble:!1,dataIdAttr:"data-id",delay:0,delayOnTouchOnly:!1,touchStartThreshold:(Number.parseInt?Number:window).parseInt(window.devicePixelRatio,10)||1,forceFallback:!1,fallbackClass:"sortable-fallback",fallbackOnBody:!1,fallbackTolerance:0,fallbackOffset:{x:0,y:0},supportPointer:So.supportPointer!==!1&&"PointerEvent"in window&&(!TY||wZe),emptyInsertThreshold:5};Rne.initializePlugins(this,e,n);for(var r in n)!(r in t)&&(t[r]=n[r]);J3n(t);for(var o in this)o.charAt(0)==="_"&&typeof this[o]=="function"&&(this[o]=this[o].bind(this));this.nativeDraggable=t.forceFallback?!1:Wpi,this.nativeDraggable&&(this.options.touchStartThreshold=1),t.supportPointer?ya(e,"pointerdown",this._onTapStart):(ya(e,"mousedown",this._onTapStart),ya(e,"touchstart",this._onTapStart)),this.nativeDraggable&&(ya(e,"dragover",this),ya(e,"dragenter",this)),nge.push(this.el),t.store&&t.store.get&&this.sort(t.store.get(this)||[]),b8(this,Ppi())}So.prototype={constructor:So,_isOutsideThisEl:function(t){!this.el.contains(t)&&t!==this.el&&(tP=null)},_getDirection:function(t,n){return typeof this.options.direction=="function"?this.options.direction.call(this,t,n,Bi):this.options.direction},_onTapStart:function(t){if(t.cancelable){var n=this,r=this.el,o=this.options,s=o.preventOnFilter,a=t.type,l=t.touches&&t.touches[0]||t.pointerType&&t.pointerType==="touch"&&t,d=(l||t).target,u=t.target.shadowRoot&&(t.path&&t.path[0]||t.composedPath&&t.composedPath()[0])||d,h=o.filter;if(Jpi(r),!Bi&&!(/mousedown|pointerdown/.test(a)&&t.button!==0||o.disabled)&&!u.isContentEditable&&!(!this.nativeDraggable&&TY&&d&&d.tagName.toUpperCase()==="SELECT")&&(d=Tb(d,o.draggable,r,!1),!(d&&d.animated)&&Yde!==d)){if(KF=d4(d),DY=d4(d,o.draggable),typeof h=="function"){if(h.call(this,t,d,this)){W1({sortable:n,rootEl:u,name:"filter",targetEl:d,toEl:r,fromEl:r}),uk("filter",n,{evt:t}),s&&t.preventDefault();return}}else if(h&&(h=h.split(",").some(function(g){if(g=Tb(u,g.trim(),r,!1),g)return W1({sortable:n,rootEl:g,name:"filter",targetEl:d,fromEl:r,toEl:r}),uk("filter",n,{evt:t}),!0}),h)){s&&t.preventDefault();return}o.handle&&!Tb(u,o.handle,r,!1)||this._prepareDragStart(t,l,d)}}},_prepareDragStart:function(t,n,r){var o=this,s=o.el,a=o.options,l=s.ownerDocument,d;if(r&&!Bi&&r.parentNode===s){var u=Fh(r);if(Ed=s,Bi=r,_u=Bi.parentNode,P7=Bi.nextSibling,Yde=r,Qse=a.group,So.dragged=Bi,t7={target:Bi,clientX:(n||t).clientX,clientY:(n||t).clientY},Igt=t7.clientX-u.left,Mgt=t7.clientY-u.top,this._lastX=(n||t).clientX,this._lastY=(n||t).clientY,Bi.style["will-change"]="all",d=function(){if(uk("delayEnded",o,{evt:t}),So.eventCanceled){o._onDrop();return}o._disableDelayedDragEvents(),!Qgt&&o.nativeDraggable&&(Bi.draggable=!0),o._triggerDragStart(t,n),W1({sortable:o,name:"choose",originalEvent:t}),q2(Bi,a.chosenClass,!0)},a.ignore.split(",").forEach(function(h){$3n(Bi,h.trim(),g_e)}),ya(l,"dragover",n7),ya(l,"mousemove",n7),ya(l,"touchmove",n7),a.supportPointer?(ya(l,"pointerup",o._onDrop),!this.nativeDraggable&&ya(l,"pointercancel",o._onDrop)):(ya(l,"mouseup",o._onDrop),ya(l,"touchend",o._onDrop),ya(l,"touchcancel",o._onDrop)),Qgt&&this.nativeDraggable&&(this.options.touchStartThreshold=4,Bi.draggable=!0),uk("delayStart",this,{evt:t}),a.delay&&(!a.delayOnTouchOnly||n)&&(!this.nativeDraggable||!(Bne||dL))){if(So.eventCanceled){this._onDrop();return}a.supportPointer?(ya(l,"pointerup",o._disableDelayedDrag),ya(l,"pointercancel",o._disableDelayedDrag)):(ya(l,"mouseup",o._disableDelayedDrag),ya(l,"touchend",o._disableDelayedDrag),ya(l,"touchcancel",o._disableDelayedDrag)),ya(l,"mousemove",o._delayedDragTouchMoveHandler),ya(l,"touchmove",o._delayedDragTouchMoveHandler),a.supportPointer&&ya(l,"pointermove",o._delayedDragTouchMoveHandler),o._dragStartTimer=setTimeout(d,a.delay)}else d()}},_delayedDragTouchMoveHandler:function(t){var n=t.touches?t.touches[0]:t;Math.max(Math.abs(n.clientX-this._lastX),Math.abs(n.clientY-this._lastY))>=Math.floor(this.options.touchStartThreshold/(this.nativeDraggable&&window.devicePixelRatio||1))&&this._disableDelayedDrag()},_disableDelayedDrag:function(){Bi&&g_e(Bi),clearTimeout(this._dragStartTimer),this._disableDelayedDragEvents()},_disableDelayedDragEvents:function(){var t=this.el.ownerDocument;ua(t,"mouseup",this._disableDelayedDrag),ua(t,"touchend",this._disableDelayedDrag),ua(t,"touchcancel",this._disableDelayedDrag),ua(t,"pointerup",this._disableDelayedDrag),ua(t,"pointercancel",this._disableDelayedDrag),ua(t,"mousemove",this._delayedDragTouchMoveHandler),ua(t,"touchmove",this._delayedDragTouchMoveHandler),ua(t,"pointermove",this._delayedDragTouchMoveHandler)},_triggerDragStart:function(t,n){n=n||t.pointerType=="touch"&&t,!this.nativeDraggable||n?this.options.supportPointer?ya(document,"pointermove",this._onTouchMove):n?ya(document,"touchmove",this._onTouchMove):ya(document,"mousemove",this._onTouchMove):(ya(Bi,"dragend",this),ya(Ed,"dragstart",this._onDragStart));try{document.selection?qde(function(){document.selection.empty()}):window.getSelection().removeAllRanges()}catch{}},_dragStarted:function(t,n){if(fF=!1,Ed&&Bi){uk("dragStarted",this,{evt:n}),this.nativeDraggable&&ya(document,"dragover",Hpi);var r=this.options;!t&&q2(Bi,r.dragClass,!1),q2(Bi,r.ghostClass,!0),So.active=this,t&&this._appendGhost(),W1({sortable:this,name:"start",originalEvent:n})}else this._nulling()},_emulateDragOver:function(){if(Vp){this._lastX=Vp.clientX,this._lastY=Vp.clientY,ewn();for(var t=document.elementFromPoint(Vp.clientX,Vp.clientY),n=t;t&&t.shadowRoot&&(t=t.shadowRoot.elementFromPoint(Vp.clientX,Vp.clientY),t!==n);)n=t;if(Bi.parentNode[jk]._isOutsideThisEl(t),n)do{if(n[jk]){var r=void 0;if(r=n[jk]._onDragOver({clientX:Vp.clientX,clientY:Vp.clientY,target:t,rootEl:n}),r&&!this.options.dragoverBubble)break}t=n}while(n=H3n(n));twn()}},_onTouchMove:function(t){if(t7){var n=this.options,r=n.fallbackTolerance,o=n.fallbackOffset,s=t.touches?t.touches[0]:t,a=gs&&cU(gs,!0),l=gs&&a&&a.a,d=gs&&a&&a.d,u=Bse&&Bm&&Rgt(Bm),h=(s.clientX-t7.clientX+o.x)/(l||1)+(u?u[0]-f_e[0]:0)/(l||1),g=(s.clientY-t7.clientY+o.y)/(d||1)+(u?u[1]-f_e[1]:0)/(d||1);if(!So.active&&!fF){if(r&&Math.max(Math.abs(s.clientX-this._lastX),Math.abs(s.clientY-this._lastY))=0&&(W1({rootEl:_u,name:"add",toEl:_u,fromEl:Ed,originalEvent:t}),W1({sortable:this,name:"remove",toEl:_u,originalEvent:t}),W1({rootEl:_u,name:"sort",toEl:_u,fromEl:Ed,originalEvent:t}),W1({sortable:this,name:"sort",toEl:_u,originalEvent:t})),Wg&&Wg.save()):tv!==KF&&tv>=0&&(W1({sortable:this,name:"update",toEl:_u,originalEvent:t}),W1({sortable:this,name:"sort",toEl:_u,originalEvent:t})),So.active&&((tv==null||tv===-1)&&(tv=KF,Y5=DY),W1({sortable:this,name:"end",toEl:_u,originalEvent:t}),this.save()))),this._nulling()},_nulling:function(){uk("nulling",this),Ed=Bi=_u=gs=P7=tu=Yde=Ox=t7=Vp=cG=tv=Y5=KF=DY=tP=BY=Wg=Qse=So.dragged=So.ghost=So.clone=So.active=null;var t=this.el;ige.forEach(function(n){t.contains(n)&&(n.checked=!0)}),ige.length=u_e=h_e=0},handleEvent:function(t){switch(t.type){case"drop":case"dragend":this._onDrop(t);break;case"dragenter":case"dragover":Bi&&(this._onDragOver(t),$pi(t));break;case"selectstart":t.preventDefault();break}},toArray:function(){for(var t=[],n,r=this.el.children,o=0,s=r.length,a=this.options;oo.right+s||e.clientY>r.bottom&&e.clientX>r.left:e.clientY>o.bottom+s||e.clientX>r.right&&e.clientY>r.top}function Zpi(e,t,n,r,o,s,a,l){var d=r?e.clientY:e.clientX,u=r?n.height:n.width,h=r?n.top:n.left,g=r?n.bottom:n.right,m=!1;if(!a){if(l&&Zdeh+u*s/2:dg-Zde)return-BY}else if(d>h+u*(1-o)/2&&dg-u*s/2)?d>h+u/2?1:-1:0}function qpi(e){return d4(Bi)"&&(t=t.substring(1)),e)try{if(e.matches)return e.matches(t);if(e.msMatchesSelector)return e.msMatchesSelector(t);if(e.webkitMatchesSelector)return e.webkitMatchesSelector(t)}catch{return!1}return!1}}function H3n(e){return e.host&&e!==document&&e.host.nodeType&&e.host!==e?e.host:e.parentNode}function Tb(e,t,n,r){if(e){n=n||document;do{if(t!=null&&(t[0]===">"?e.parentNode===n&&ege(e,t):ege(e,t))||r&&e===n)return e;if(e===n)break}while(e=H3n(e))}return null}var Dgt=/\s+/g;function q2(e,t,n){if(e&&t)if(e.classList)e.classList[n?"add":"remove"](t);else{var r=(" "+e.className+" ").replace(Dgt," ").replace(" "+t+" "," ");e.className=(r+(n?" "+t:"")).replace(Dgt," ")}}function Ro(e,t,n){var r=e&&e.style;if(r){if(n===void 0)return document.defaultView&&document.defaultView.getComputedStyle?n=document.defaultView.getComputedStyle(e,""):e.currentStyle&&(n=e.currentStyle),t===void 0?n:n[t];!(t in r)&&t.indexOf("webkit")===-1&&(t="-webkit-"+t),r[t]=n+(typeof n=="string"?"":"px")}}function cU(e,t){var n="";if(typeof e=="string")n=e;else do{var r=Ro(e,"transform");r&&r!=="none"&&(n=r+" "+n)}while(!t&&(e=e.parentNode));var o=window.DOMMatrix||window.WebKitCSSMatrix||window.CSSMatrix||window.MSCSSMatrix;return o&&new o(n)}function $3n(e,t,n){if(e){var r=e.getElementsByTagName(t),o=0,s=r.length;if(n)for(;o=s,!a)return r;if(r===iy())break;r=Zx(r,!1)}return!1}function kW(e,t,n,r){for(var o=0,s=0,a=e.children;s2&&arguments[2]!==void 0?arguments[2]:{},o=r.evt,s=Epi(r,jpi);Rne.pluginEvent.bind(So)(t,n,by({dragEl:Bi,parentEl:_u,ghostEl:gs,rootEl:Ed,nextEl:P7,lastDownEl:Yde,cloneEl:tu,cloneHidden:Ox,dragStarted:cG,putSortable:Wg,activeSortable:So.active,originalEvent:o,oldIndex:KF,oldDraggableIndex:DY,newIndex:tv,newDraggableIndex:Y5,hideGhostForTarget:ewn,unhideGhostForTarget:twn,cloneNowHidden:function(){Ox=!0},cloneNowShown:function(){Ox=!1},dispatchSortableEvent:function(l){V1({sortable:n,name:l,originalEvent:o})}},s))};function V1(e){Upi(by({putSortable:Wg,cloneEl:tu,targetEl:Bi,rootEl:Ed,oldIndex:KF,oldDraggableIndex:DY,newIndex:tv,newDraggableIndex:Y5},e))}var Bi,_u,gs,Ed,P7,Yde,tu,Ox,KF,tv,DY,Y5,Qse,Wg,fF=!1,tge=!1,nge=[],t7,Vp,u_e,h_e,Igt,Mgt,cG,tP,BY,RY=!1,Dse=!1,Zde,Bm,f_e=[],VIe=!1,ige=[],j4e=typeof document<"u",Bse=wZe,Pgt=Bne||dL?"cssFloat":"float",Wpi=j4e&&!V3n&&!wZe&&"draggable"in document.createElement("div"),q3n=function(){if(j4e){if(dL)return!1;var e=document.createElement("x");return e.style.cssText="pointer-events:auto",e.style.pointerEvents==="auto"}}(),K3n=function(t,n){var r=Ro(t),o=parseInt(r.width)-parseInt(r.paddingLeft)-parseInt(r.paddingRight)-parseInt(r.borderLeftWidth)-parseInt(r.borderRightWidth),s=kW(t,0,n),a=kW(t,1,n),l=s&&Ro(s),d=a&&Ro(a),u=l&&parseInt(l.marginLeft)+parseInt(l.marginRight)+Fh(s).width,h=d&&parseInt(d.marginLeft)+parseInt(d.marginRight)+Fh(a).width;if(r.display==="flex")return r.flexDirection==="column"||r.flexDirection==="column-reverse"?"vertical":"horizontal";if(r.display==="grid")return r.gridTemplateColumns.split(" ").length<=1?"vertical":"horizontal";if(s&&l.float&&l.float!=="none"){var g=l.float==="left"?"left":"right";return a&&(d.clear==="both"||d.clear===g)?"vertical":"horizontal"}return s&&(l.display==="block"||l.display==="flex"||l.display==="table"||l.display==="grid"||u>=o&&r[Pgt]==="none"||a&&r[Pgt]==="none"&&u+h>o)?"vertical":"horizontal"},Vpi=function(t,n,r){var o=r?t.left:t.top,s=r?t.right:t.bottom,a=r?t.width:t.height,l=r?n.left:n.top,d=r?n.right:n.bottom,u=r?n.width:n.height;return o===l||s===d||o+a/2===l+u/2},zpi=function(t,n){var r;return nge.some(function(o){var s=o[jk].options.emptyInsertThreshold;if(!(!s||OZe(o))){var a=Fh(o),l=t>=a.left-s&&t<=a.right+s,d=n>=a.top-s&&n<=a.bottom+s;if(l&&d)return r=o}}),r},J3n=function(t){function n(s,a){return function(l,d,u,h){var g=l.options.group.name&&d.options.group.name&&l.options.group.name===d.options.group.name;if(s==null&&(a||g))return!0;if(s==null||s===!1)return!1;if(a&&s==="clone")return s;if(typeof s=="function")return n(s(l,d,u,h),a)(l,d,u,h);var m=(a?l:d).options.group.name;return s===!0||typeof s=="string"&&s===m||s.join&&s.indexOf(m)>-1}}var r={},o=t.group;(!o||WIe(o)!="object")&&(o={name:o}),r.name=o.name,r.checkPull=n(o.pull,!0),r.checkPut=n(o.put),r.revertClone=o.revertClone,t.group=r},ewn=function(){!q3n&&gs&&Ro(gs,"display","none")},twn=function(){!q3n&&gs&&Ro(gs,"display","")};j4e&&!V3n&&document.addEventListener("click",function(e){if(tge)return e.preventDefault(),e.stopPropagation&&e.stopPropagation(),e.stopImmediatePropagation&&e.stopImmediatePropagation(),tge=!1,!1},!0);var n7=function(t){if(Bi){t=t.touches?t.touches[0]:t;var n=zpi(t.clientX,t.clientY);if(n){var r={};for(var o in t)t.hasOwnProperty(o)&&(r[o]=t[o]);r.target=r.rootEl=n,r.preventDefault=void 0,r.stopPropagation=void 0,n[jk]._onDragOver(r)}}},Hpi=function(t){Bi&&Bi.parentNode[jk]._isOutsideThisEl(t.target)};function So(e,t){if(!(e&&e.nodeType&&e.nodeType===1))throw"Sortable: `el` must be an HTMLElement, not ".concat({}.toString.call(e));this.el=e,this.options=t=b8({},t),e[jk]=this;var n={group:null,sort:!0,disabled:!1,store:null,handle:null,draggable:/^[uo]l$/i.test(e.nodeName)?">li":">*",swapThreshold:1,invertSwap:!1,invertedSwapThreshold:null,removeCloneOnHide:!0,direction:function(){return K3n(e,this.options)},ghostClass:"sortable-ghost",chosenClass:"sortable-chosen",dragClass:"sortable-drag",ignore:"a, img",filter:null,preventOnFilter:!0,animation:0,easing:null,setData:function(a,l){a.setData("Text",l.textContent)},dropBubble:!1,dragoverBubble:!1,dataIdAttr:"data-id",delay:0,delayOnTouchOnly:!1,touchStartThreshold:(Number.parseInt?Number:window).parseInt(window.devicePixelRatio,10)||1,forceFallback:!1,fallbackClass:"sortable-fallback",fallbackOnBody:!1,fallbackTolerance:0,fallbackOffset:{x:0,y:0},supportPointer:So.supportPointer!==!1&&"PointerEvent"in window&&(!TY||wZe),emptyInsertThreshold:5};Rne.initializePlugins(this,e,n);for(var r in n)!(r in t)&&(t[r]=n[r]);J3n(t);for(var o in this)o.charAt(0)==="_"&&typeof this[o]=="function"&&(this[o]=this[o].bind(this));this.nativeDraggable=t.forceFallback?!1:Wpi,this.nativeDraggable&&(this.options.touchStartThreshold=1),t.supportPointer?ya(e,"pointerdown",this._onTapStart):(ya(e,"mousedown",this._onTapStart),ya(e,"touchstart",this._onTapStart)),this.nativeDraggable&&(ya(e,"dragover",this),ya(e,"dragenter",this)),nge.push(this.el),t.store&&t.store.get&&this.sort(t.store.get(this)||[]),b8(this,Ppi())}So.prototype={constructor:So,_isOutsideThisEl:function(t){!this.el.contains(t)&&t!==this.el&&(tP=null)},_getDirection:function(t,n){return typeof this.options.direction=="function"?this.options.direction.call(this,t,n,Bi):this.options.direction},_onTapStart:function(t){if(t.cancelable){var n=this,r=this.el,o=this.options,s=o.preventOnFilter,a=t.type,l=t.touches&&t.touches[0]||t.pointerType&&t.pointerType==="touch"&&t,d=(l||t).target,u=t.target.shadowRoot&&(t.path&&t.path[0]||t.composedPath&&t.composedPath()[0])||d,h=o.filter;if(Jpi(r),!Bi&&!(/mousedown|pointerdown/.test(a)&&t.button!==0||o.disabled)&&!u.isContentEditable&&!(!this.nativeDraggable&&TY&&d&&d.tagName.toUpperCase()==="SELECT")&&(d=Tb(d,o.draggable,r,!1),!(d&&d.animated)&&Yde!==d)){if(KF=d4(d),DY=d4(d,o.draggable),typeof h=="function"){if(h.call(this,t,d,this)){V1({sortable:n,rootEl:u,name:"filter",targetEl:d,toEl:r,fromEl:r}),uk("filter",n,{evt:t}),s&&t.preventDefault();return}}else if(h&&(h=h.split(",").some(function(g){if(g=Tb(u,g.trim(),r,!1),g)return V1({sortable:n,rootEl:g,name:"filter",targetEl:d,fromEl:r,toEl:r}),uk("filter",n,{evt:t}),!0}),h)){s&&t.preventDefault();return}o.handle&&!Tb(u,o.handle,r,!1)||this._prepareDragStart(t,l,d)}}},_prepareDragStart:function(t,n,r){var o=this,s=o.el,a=o.options,l=s.ownerDocument,d;if(r&&!Bi&&r.parentNode===s){var u=Fh(r);if(Ed=s,Bi=r,_u=Bi.parentNode,P7=Bi.nextSibling,Yde=r,Qse=a.group,So.dragged=Bi,t7={target:Bi,clientX:(n||t).clientX,clientY:(n||t).clientY},Igt=t7.clientX-u.left,Mgt=t7.clientY-u.top,this._lastX=(n||t).clientX,this._lastY=(n||t).clientY,Bi.style["will-change"]="all",d=function(){if(uk("delayEnded",o,{evt:t}),So.eventCanceled){o._onDrop();return}o._disableDelayedDragEvents(),!Qgt&&o.nativeDraggable&&(Bi.draggable=!0),o._triggerDragStart(t,n),V1({sortable:o,name:"choose",originalEvent:t}),q2(Bi,a.chosenClass,!0)},a.ignore.split(",").forEach(function(h){$3n(Bi,h.trim(),g_e)}),ya(l,"dragover",n7),ya(l,"mousemove",n7),ya(l,"touchmove",n7),a.supportPointer?(ya(l,"pointerup",o._onDrop),!this.nativeDraggable&&ya(l,"pointercancel",o._onDrop)):(ya(l,"mouseup",o._onDrop),ya(l,"touchend",o._onDrop),ya(l,"touchcancel",o._onDrop)),Qgt&&this.nativeDraggable&&(this.options.touchStartThreshold=4,Bi.draggable=!0),uk("delayStart",this,{evt:t}),a.delay&&(!a.delayOnTouchOnly||n)&&(!this.nativeDraggable||!(Bne||dL))){if(So.eventCanceled){this._onDrop();return}a.supportPointer?(ya(l,"pointerup",o._disableDelayedDrag),ya(l,"pointercancel",o._disableDelayedDrag)):(ya(l,"mouseup",o._disableDelayedDrag),ya(l,"touchend",o._disableDelayedDrag),ya(l,"touchcancel",o._disableDelayedDrag)),ya(l,"mousemove",o._delayedDragTouchMoveHandler),ya(l,"touchmove",o._delayedDragTouchMoveHandler),a.supportPointer&&ya(l,"pointermove",o._delayedDragTouchMoveHandler),o._dragStartTimer=setTimeout(d,a.delay)}else d()}},_delayedDragTouchMoveHandler:function(t){var n=t.touches?t.touches[0]:t;Math.max(Math.abs(n.clientX-this._lastX),Math.abs(n.clientY-this._lastY))>=Math.floor(this.options.touchStartThreshold/(this.nativeDraggable&&window.devicePixelRatio||1))&&this._disableDelayedDrag()},_disableDelayedDrag:function(){Bi&&g_e(Bi),clearTimeout(this._dragStartTimer),this._disableDelayedDragEvents()},_disableDelayedDragEvents:function(){var t=this.el.ownerDocument;ua(t,"mouseup",this._disableDelayedDrag),ua(t,"touchend",this._disableDelayedDrag),ua(t,"touchcancel",this._disableDelayedDrag),ua(t,"pointerup",this._disableDelayedDrag),ua(t,"pointercancel",this._disableDelayedDrag),ua(t,"mousemove",this._delayedDragTouchMoveHandler),ua(t,"touchmove",this._delayedDragTouchMoveHandler),ua(t,"pointermove",this._delayedDragTouchMoveHandler)},_triggerDragStart:function(t,n){n=n||t.pointerType=="touch"&&t,!this.nativeDraggable||n?this.options.supportPointer?ya(document,"pointermove",this._onTouchMove):n?ya(document,"touchmove",this._onTouchMove):ya(document,"mousemove",this._onTouchMove):(ya(Bi,"dragend",this),ya(Ed,"dragstart",this._onDragStart));try{document.selection?qde(function(){document.selection.empty()}):window.getSelection().removeAllRanges()}catch{}},_dragStarted:function(t,n){if(fF=!1,Ed&&Bi){uk("dragStarted",this,{evt:n}),this.nativeDraggable&&ya(document,"dragover",Hpi);var r=this.options;!t&&q2(Bi,r.dragClass,!1),q2(Bi,r.ghostClass,!0),So.active=this,t&&this._appendGhost(),V1({sortable:this,name:"start",originalEvent:n})}else this._nulling()},_emulateDragOver:function(){if(Vp){this._lastX=Vp.clientX,this._lastY=Vp.clientY,ewn();for(var t=document.elementFromPoint(Vp.clientX,Vp.clientY),n=t;t&&t.shadowRoot&&(t=t.shadowRoot.elementFromPoint(Vp.clientX,Vp.clientY),t!==n);)n=t;if(Bi.parentNode[jk]._isOutsideThisEl(t),n)do{if(n[jk]){var r=void 0;if(r=n[jk]._onDragOver({clientX:Vp.clientX,clientY:Vp.clientY,target:t,rootEl:n}),r&&!this.options.dragoverBubble)break}t=n}while(n=H3n(n));twn()}},_onTouchMove:function(t){if(t7){var n=this.options,r=n.fallbackTolerance,o=n.fallbackOffset,s=t.touches?t.touches[0]:t,a=gs&&cU(gs,!0),l=gs&&a&&a.a,d=gs&&a&&a.d,u=Bse&&Bm&&Rgt(Bm),h=(s.clientX-t7.clientX+o.x)/(l||1)+(u?u[0]-f_e[0]:0)/(l||1),g=(s.clientY-t7.clientY+o.y)/(d||1)+(u?u[1]-f_e[1]:0)/(d||1);if(!So.active&&!fF){if(r&&Math.max(Math.abs(s.clientX-this._lastX),Math.abs(s.clientY-this._lastY))=0&&(V1({rootEl:_u,name:"add",toEl:_u,fromEl:Ed,originalEvent:t}),V1({sortable:this,name:"remove",toEl:_u,originalEvent:t}),V1({rootEl:_u,name:"sort",toEl:_u,fromEl:Ed,originalEvent:t}),V1({sortable:this,name:"sort",toEl:_u,originalEvent:t})),Wg&&Wg.save()):tv!==KF&&tv>=0&&(V1({sortable:this,name:"update",toEl:_u,originalEvent:t}),V1({sortable:this,name:"sort",toEl:_u,originalEvent:t})),So.active&&((tv==null||tv===-1)&&(tv=KF,Y5=DY),V1({sortable:this,name:"end",toEl:_u,originalEvent:t}),this.save()))),this._nulling()},_nulling:function(){uk("nulling",this),Ed=Bi=_u=gs=P7=tu=Yde=Ox=t7=Vp=cG=tv=Y5=KF=DY=tP=BY=Wg=Qse=So.dragged=So.ghost=So.clone=So.active=null;var t=this.el;ige.forEach(function(n){t.contains(n)&&(n.checked=!0)}),ige.length=u_e=h_e=0},handleEvent:function(t){switch(t.type){case"drop":case"dragend":this._onDrop(t);break;case"dragenter":case"dragover":Bi&&(this._onDragOver(t),$pi(t));break;case"selectstart":t.preventDefault();break}},toArray:function(){for(var t=[],n,r=this.el.children,o=0,s=r.length,a=this.options;oo.right+s||e.clientY>r.bottom&&e.clientX>r.left:e.clientY>o.bottom+s||e.clientX>r.right&&e.clientY>r.top}function Zpi(e,t,n,r,o,s,a,l){var d=r?e.clientY:e.clientX,u=r?n.height:n.width,h=r?n.top:n.left,g=r?n.bottom:n.right,m=!1;if(!a){if(l&&Zdeh+u*s/2:dg-Zde)return-BY}else if(d>h+u*(1-o)/2&&dg-u*s/2)?d>h+u/2?1:-1:0}function qpi(e){return d4(Bi){if("locale"in l&&"resource"in l){const{locale:d,resource:u}=l;d?(a[d]=a[d]||Cc(),Jde(u,a[d])):Jde(u,a)}else dr(l)&&Jde(JSON.parse(l),a)}),o==null&&s)for(const l in a)P4(a,l)&&Zq(a[l]);return a}function Fwn(e){return e.type}function Nwn(e,t,n){let r=ql(t.messages)?t.messages:Cc();"__i18nGlobal"in n&&(r=RZe(e.locale.value,{messages:r,__i18n:n.__i18nGlobal}));const o=Object.keys(r);o.length&&o.forEach(s=>{e.mergeLocaleMessage(s,r[s])});{if(ql(t.datetimeFormats)){const s=Object.keys(t.datetimeFormats);s.length&&s.forEach(a=>{e.mergeDateTimeFormat(a,t.datetimeFormats[a])})}if(ql(t.numberFormats)){const s=Object.keys(t.numberFormats);s.length&&s.forEach(a=>{e.mergeNumberFormat(a,t.numberFormats[a])})}}}function Vmt(e){return c(JR,null,e,0)}function qq(){return ps()}const zmt="__INTLIFY_META__",Hmt=()=>[],OOi=()=>!1;let $mt=0;function Xmt(e){return(t,n,r,o)=>e(n,r,qq()||void 0,o)}const yOi=()=>{const e=qq();let t=null;return e&&(t=Fwn(e)[zmt])?{[zmt]:t}:null};function IZe(e={}){const{__root:t,__injectWithOption:n}=e,r=t===void 0,o=e.flatJson,s=oge?he:id;let a=cl(e.inheritLocale)?e.inheritLocale:!0;const l=s(t&&a?t.locale.value:dr(e.locale)?e.locale:Yq),d=s(t&&a?t.fallbackLocale.value:dr(e.fallbackLocale)||Bu(e.fallbackLocale)||Pa(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:l.value),u=s(RZe(l.value,e)),h=s(Pa(e.datetimeFormats)?e.datetimeFormats:{[l.value]:{}}),g=s(Pa(e.numberFormats)?e.numberFormats:{[l.value]:{}});let m=t?t.missingWarn:cl(e.missingWarn)||vW(e.missingWarn)?e.missingWarn:!0,v=t?t.fallbackWarn:cl(e.fallbackWarn)||vW(e.fallbackWarn)?e.fallbackWarn:!0,f=t?t.fallbackRoot:cl(e.fallbackRoot)?e.fallbackRoot:!0,k=!!e.fallbackFormat,A=Bd(e.missing)?e.missing:null,p=Bd(e.missing)?Xmt(e.missing):null,b=Bd(e.postTranslation)?e.postTranslation:null,w=t?t.warnHtmlMessage:cl(e.warnHtmlMessage)?e.warnHtmlMessage:!0,O=!!e.escapeParameter;const y=t?t.modifiers:Pa(e.modifiers)?e.modifiers:{};let C=e.pluralRules||t&&t.pluralRules,_;_=(()=>{r&&Imt(null);const me={version:bOi,locale:l.value,fallbackLocale:d.value,messages:u.value,modifiers:y,pluralRules:C,missing:p===null?void 0:p,missingWarn:m,fallbackWarn:v,fallbackFormat:k,unresolving:!0,postTranslation:b===null?void 0:b,warnHtmlMessage:w,escapeParameter:O,messageResolver:e.messageResolver,messageCompiler:e.messageCompiler,__meta:{framework:"vue"}};me.datetimeFormats=h.value,me.numberFormats=g.value,me.__datetimeFormatters=Pa(_)?_.__datetimeFormatters:void 0,me.__numberFormatters=Pa(_)?_.__numberFormatters:void 0;const Ce=sOi(me);return r&&Imt(Ce),Ce})(),x$(_,l.value,d.value);function L(){return[l.value,d.value,u.value,h.value,g.value]}const E=G({get:()=>l.value,set:me=>{_.locale=me,l.value=me}}),Q=G({get:()=>d.value,set:me=>{_.fallbackLocale=me,d.value=me,x$(_,l.value,me)}}),D=G(()=>u.value),P=G(()=>h.value),T=G(()=>g.value);function M(){return Bd(b)?b:null}function B(me){b=me,_.postTranslation=me}function I(){return A}function R(me){me!==null&&(p=Xmt(me)),A=me,_.missing=p}const F=(me,Ce,Te,De,qe,Ye)=>{L();let Ze;try{__INTLIFY_PROD_DEVTOOLS__,r||(_.fallbackContext=t?oOi():void 0),Ze=me(_)}finally{__INTLIFY_PROD_DEVTOOLS__,r||(_.fallbackContext=void 0)}if(Te!=="translate exists"&&$h(Ze)&&Ze===H4e||Te==="translate exists"&&!Ze){const[rt,Re]=Ce();return t&&f?De(t):qe(rt)}else{if(Ye(Ze))return Ze;throw rA(d2.UNEXPECTED_RETURN_TYPE)}};function W(...me){return F(Ce=>Reflect.apply(Wmt,null,[Ce,...me]),()=>tMe(...me),"translate",Ce=>Reflect.apply(Ce.t,Ce,[...me]),Ce=>Ce,Ce=>dr(Ce))}function j(...me){const[Ce,Te,De]=me;if(De&&!ql(De))throw rA(d2.INVALID_ARGUMENT);return W(Ce,Te,xf({resolvedMessage:!0},De||{}))}function z(...me){return F(Ce=>Reflect.apply(Pmt,null,[Ce,...me]),()=>JIe(...me),"datetime format",Ce=>Reflect.apply(Ce.d,Ce,[...me]),()=>sge,Ce=>dr(Ce)||Bu(Ce))}function $(...me){return F(Ce=>Reflect.apply(Nmt,null,[Ce,...me]),()=>eMe(...me),"number format",Ce=>Reflect.apply(Ce.n,Ce,[...me]),()=>sge,Ce=>dr(Ce)||Bu(Ce))}function X(me){return me.map(Ce=>dr(Ce)||$h(Ce)||cl(Ce)?Vmt(String(Ce)):Ce)}const oe={normalize:X,interpolate:me=>me,type:"vnode"};function J(...me){return F(Ce=>{let Te;const De=Ce;try{De.processor=oe,Te=Reflect.apply(Wmt,null,[De,...me])}finally{De.processor=null}return Te},()=>tMe(...me),"translate",Ce=>Ce[nMe](...me),Ce=>[Vmt(Ce)],Ce=>Bu(Ce))}function se(...me){return F(Ce=>Reflect.apply(Nmt,null,[Ce,...me]),()=>eMe(...me),"number format",Ce=>Ce[rMe](...me),Hmt,Ce=>dr(Ce)||Bu(Ce))}function le(...me){return F(Ce=>Reflect.apply(Pmt,null,[Ce,...me]),()=>JIe(...me),"datetime format",Ce=>Ce[iMe](...me),Hmt,Ce=>dr(Ce)||Bu(Ce))}function re(me){C=me,_.pluralRules=C}function ue(me,Ce){return F(()=>{if(!me)return!1;const Te=dr(Ce)?Ce:l.value,De=dr(Ce)?[Te]:KIe(_,d.value,Te);for(let qe=0;qe[me],"translate exists",Te=>Reflect.apply(Te.te,Te,[me,Ce]),OOi,Te=>cl(Te))}function ee(me){let Ce=null;const Te=KIe(_,d.value,l.value);for(let De=0;De{a&&(l.value=me,_.locale=me,x$(_,l.value,d.value))}),pt(t.fallbackLocale,me=>{a&&(d.value=me,_.fallbackLocale=me,x$(_,l.value,d.value))}));const ke={id:$mt,locale:E,fallbackLocale:Q,get inheritLocale(){return a},set inheritLocale(me){a=me,me&&t&&(l.value=t.locale.value,d.value=t.fallbackLocale.value,x$(_,l.value,d.value))},get availableLocales(){return Object.keys(u.value).sort()},messages:D,get modifiers(){return y},get pluralRules(){return C||{}},get isGlobal(){return r},get missingWarn(){return m},set missingWarn(me){m=me,_.missingWarn=m},get fallbackWarn(){return v},set fallbackWarn(me){v=me,_.fallbackWarn=v},get fallbackRoot(){return f},set fallbackRoot(me){f=me},get fallbackFormat(){return k},set fallbackFormat(me){k=me,_.fallbackFormat=k},get warnHtmlMessage(){return w},set warnHtmlMessage(me){w=me,_.warnHtmlMessage=me},get escapeParameter(){return O},set escapeParameter(me){O=me,_.escapeParameter=me},t:W,getLocaleMessage:V,setLocaleMessage:q,mergeLocaleMessage:ne,getPostTranslationHandler:M,setPostTranslationHandler:B,getMissingHandler:I,setMissingHandler:R,[Mwn]:re};return ke.datetimeFormats=P,ke.numberFormats=T,ke.rt=j,ke.te=ue,ke.tm=de,ke.d=z,ke.n=$,ke.getDateTimeFormat=te,ke.setDateTimeFormat=Y,ke.mergeDateTimeFormat=fe,ke.getNumberFormat=be,ke.setNumberFormat=_e,ke.mergeNumberFormat=Qe,ke[Pwn]=n,ke[nMe]=J,ke[iMe]=le,ke[rMe]=se,ke}function COi(e){const t=dr(e.locale)?e.locale:Yq,n=dr(e.fallbackLocale)||Bu(e.fallbackLocale)||Pa(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:t,r=Bd(e.missing)?e.missing:void 0,o=cl(e.silentTranslationWarn)||vW(e.silentTranslationWarn)?!e.silentTranslationWarn:!0,s=cl(e.silentFallbackWarn)||vW(e.silentFallbackWarn)?!e.silentFallbackWarn:!0,a=cl(e.fallbackRoot)?e.fallbackRoot:!0,l=!!e.formatFallbackMessages,d=Pa(e.modifiers)?e.modifiers:{},u=e.pluralizationRules,h=Bd(e.postTranslation)?e.postTranslation:void 0,g=dr(e.warnHtmlInMessage)?e.warnHtmlInMessage!=="off":!0,m=!!e.escapeParameterHtml,v=cl(e.sync)?e.sync:!0;let f=e.messages;if(Pa(e.sharedMessages)){const y=e.sharedMessages;f=Object.keys(y).reduce((_,S)=>{const L=_[S]||(_[S]={});return xf(L,y[S]),_},f||{})}const{__i18n:k,__root:A,__injectWithOption:p}=e,b=e.datetimeFormats,w=e.numberFormats,O=e.flatJson;return{locale:t,fallbackLocale:n,messages:f,flatJson:O,datetimeFormats:b,numberFormats:w,missing:r,missingWarn:o,fallbackWarn:s,fallbackRoot:a,fallbackFormat:l,modifiers:d,pluralRules:u,postTranslation:h,warnHtmlMessage:g,escapeParameter:m,messageResolver:e.messageResolver,inheritLocale:v,__i18n:k,__root:A,__injectWithOption:p}}function sMe(e={}){const t=IZe(COi(e)),{__extender:n}=e,r={id:t.id,get locale(){return t.locale.value},set locale(o){t.locale.value=o},get fallbackLocale(){return t.fallbackLocale.value},set fallbackLocale(o){t.fallbackLocale.value=o},get messages(){return t.messages.value},get datetimeFormats(){return t.datetimeFormats.value},get numberFormats(){return t.numberFormats.value},get availableLocales(){return t.availableLocales},get missing(){return t.getMissingHandler()},set missing(o){t.setMissingHandler(o)},get silentTranslationWarn(){return cl(t.missingWarn)?!t.missingWarn:t.missingWarn},set silentTranslationWarn(o){t.missingWarn=cl(o)?!o:o},get silentFallbackWarn(){return cl(t.fallbackWarn)?!t.fallbackWarn:t.fallbackWarn},set silentFallbackWarn(o){t.fallbackWarn=cl(o)?!o:o},get modifiers(){return t.modifiers},get formatFallbackMessages(){return t.fallbackFormat},set formatFallbackMessages(o){t.fallbackFormat=o},get postTranslation(){return t.getPostTranslationHandler()},set postTranslation(o){t.setPostTranslationHandler(o)},get sync(){return t.inheritLocale},set sync(o){t.inheritLocale=o},get warnHtmlInMessage(){return t.warnHtmlMessage?"warn":"off"},set warnHtmlInMessage(o){t.warnHtmlMessage=o!=="off"},get escapeParameterHtml(){return t.escapeParameter},set escapeParameterHtml(o){t.escapeParameter=o},get pluralizationRules(){return t.pluralRules||{}},__composer:t,t(...o){return Reflect.apply(t.t,t,[...o])},rt(...o){return Reflect.apply(t.rt,t,[...o])},te(o,s){return t.te(o,s)},tm(o){return t.tm(o)},getLocaleMessage(o){return t.getLocaleMessage(o)},setLocaleMessage(o,s){t.setLocaleMessage(o,s)},mergeLocaleMessage(o,s){t.mergeLocaleMessage(o,s)},d(...o){return Reflect.apply(t.d,t,[...o])},getDateTimeFormat(o){return t.getDateTimeFormat(o)},setDateTimeFormat(o,s){t.setDateTimeFormat(o,s)},mergeDateTimeFormat(o,s){t.mergeDateTimeFormat(o,s)},n(...o){return Reflect.apply(t.n,t,[...o])},getNumberFormat(o){return t.getNumberFormat(o)},setNumberFormat(o,s){t.setNumberFormat(o,s)},mergeNumberFormat(o,s){t.mergeNumberFormat(o,s)}};return r.__extender=n,r}function _Oi(e,t,n){return{beforeCreate(){const r=qq();if(!r)throw rA(d2.UNEXPECTED_ERROR);const o=this.$options;if(o.i18n){const s=o.i18n;if(o.__i18n&&(s.__i18n=o.__i18n),s.__root=t,this===this.$root)this.$i18n=Gmt(e,s);else{s.__injectWithOption=!0,s.__extender=n.__vueI18nExtend,this.$i18n=sMe(s);const a=this.$i18n;a.__extender&&(a.__disposer=a.__extender(this.$i18n))}}else if(o.__i18n)if(this===this.$root)this.$i18n=Gmt(e,o);else{this.$i18n=sMe({__i18n:o.__i18n,__injectWithOption:!0,__extender:n.__vueI18nExtend,__root:t});const s=this.$i18n;s.__extender&&(s.__disposer=s.__extender(this.$i18n))}else this.$i18n=e;o.__i18nGlobal&&Nwn(t,o,o),this.$t=(...s)=>this.$i18n.t(...s),this.$rt=(...s)=>this.$i18n.rt(...s),this.$te=(s,a)=>this.$i18n.te(s,a),this.$d=(...s)=>this.$i18n.d(...s),this.$n=(...s)=>this.$i18n.n(...s),this.$tm=s=>this.$i18n.tm(s),n.__setInstance(r,this.$i18n)},mounted(){},unmounted(){const r=qq();if(!r)throw rA(d2.UNEXPECTED_ERROR);const o=this.$i18n;delete this.$t,delete this.$rt,delete this.$te,delete this.$d,delete this.$n,delete this.$tm,o.__disposer&&(o.__disposer(),delete o.__disposer,delete o.__extender),n.__deleteInstance(r),delete this.$i18n}}}function Gmt(e,t){e.locale=t.locale||e.locale,e.fallbackLocale=t.fallbackLocale||e.fallbackLocale,e.missing=t.missing||e.missing,e.silentTranslationWarn=t.silentTranslationWarn||e.silentFallbackWarn,e.silentFallbackWarn=t.silentFallbackWarn||e.silentFallbackWarn,e.formatFallbackMessages=t.formatFallbackMessages||e.formatFallbackMessages,e.postTranslation=t.postTranslation||e.postTranslation,e.warnHtmlInMessage=t.warnHtmlInMessage||e.warnHtmlInMessage,e.escapeParameterHtml=t.escapeParameterHtml||e.escapeParameterHtml,e.sync=t.sync||e.sync,e.__composer[Mwn](t.pluralizationRules||e.pluralizationRules);const n=RZe(e.locale,{messages:t.messages,__i18n:t.__i18n});return Object.keys(n).forEach(r=>e.mergeLocaleMessage(r,n[r])),t.datetimeFormats&&Object.keys(t.datetimeFormats).forEach(r=>e.mergeDateTimeFormat(r,t.datetimeFormats[r])),t.numberFormats&&Object.keys(t.numberFormats).forEach(r=>e.mergeNumberFormat(r,t.numberFormats[r])),e}const MZe={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:e=>e==="parent"||e==="global",default:"parent"},i18n:{type:Object}};function SOi({slots:e},t){return t.length===1&&t[0]==="default"?(e.default?e.default():[]).reduce((r,o)=>[...r,...o.type===rn?o.children:[o]],[]):t.reduce((n,r)=>{const o=e[r];return o&&(n[r]=o()),n},Cc())}function Uwn(){return rn}const LOi=et({name:"i18n-t",props:xf({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:e=>$h(e)||!isNaN(e)}},MZe),setup(e,t){const{slots:n,attrs:r}=t,o=e.i18n||iI({useScope:e.scope,__useComponent:!0});return()=>{const s=Object.keys(n).filter(g=>g[0]!=="_"),a=Cc();e.locale&&(a.locale=e.locale),e.plural!==void 0&&(a.plural=dr(e.plural)?+e.plural:e.plural);const l=SOi(t,s),d=o[nMe](e.keypath,l,a),u=xf(Cc(),r),h=dr(e.tag)||ql(e.tag)?e.tag:Uwn();return Qn(h,u,d)}}}),Ymt=LOi;function xOi(e){return Bu(e)&&!dr(e[0])}function jwn(e,t,n,r){const{slots:o,attrs:s}=t;return()=>{const a={part:!0};let l=Cc();e.locale&&(a.locale=e.locale),dr(e.format)?a.key=e.format:ql(e.format)&&(dr(e.format.key)&&(a.key=e.format.key),l=Object.keys(e.format).reduce((m,v)=>n.includes(v)?xf(Cc(),m,{[v]:e.format[v]}):m,Cc()));const d=r(e.value,a,l);let u=[a.key];Bu(d)?u=d.map((m,v)=>{const f=o[m.type],k=f?f({[m.type]:m.value,index:v,parts:d}):[m.value];return xOi(k)&&(k[0].key=`${m.type}-${v}`),k}):dr(d)&&(u=[d]);const h=xf(Cc(),s),g=dr(e.tag)||ql(e.tag)?e.tag:Uwn();return Qn(g,h,u)}}const EOi=et({name:"i18n-n",props:xf({value:{type:Number,required:!0},format:{type:[String,Object]}},MZe),setup(e,t){const n=e.i18n||iI({useScope:e.scope,__useComponent:!0});return jwn(e,t,Bwn,(...r)=>n[rMe](...r))}}),Zmt=EOi;function TOi(e,t){const n=e;if(e.mode==="composition")return n.__getInstance(t)||e.global;{const r=n.__getInstance(t);return r!=null?r.__composer:e.global.__composer}}function QOi(e){const t=a=>{const{instance:l,value:d}=a;if(!l||!l.$)throw rA(d2.UNEXPECTED_ERROR);const u=TOi(e,l.$),h=qmt(d);return[Reflect.apply(u.t,u,[...Kmt(h)]),u]};return{created:(a,l)=>{const[d,u]=t(l);oge&&(a.__i18nWatcher=pt(u.locale,()=>{l.instance&&l.instance.$forceUpdate()})),a.__composer=u,a.textContent=d},unmounted:a=>{oge&&a.__i18nWatcher&&(a.__i18nWatcher(),a.__i18nWatcher=void 0,delete a.__i18nWatcher),a.__composer&&(a.__composer=void 0,delete a.__composer)},beforeUpdate:(a,{value:l})=>{if(a.__composer){const d=a.__composer,u=qmt(l);a.textContent=Reflect.apply(d.t,d,[...Kmt(u)])}},getSSRProps:a=>{const[l]=t(a);return{textContent:l}}}}function qmt(e){if(dr(e))return{path:e};if(Pa(e)){if(!("path"in e))throw rA(d2.REQUIRED_VALUE,"path");return e}else throw rA(d2.INVALID_VALUE)}function Kmt(e){const{path:t,locale:n,args:r,choice:o,plural:s}=e,a={},l=r||{};return dr(n)&&(a.locale=n),$h(o)&&(a.plural=o),$h(s)&&(a.plural=s),[t,l,a]}function DOi(e,t,...n){const r=Pa(n[0])?n[0]:{};(cl(r.globalInstall)?r.globalInstall:!0)&&([Ymt.name,"I18nT"].forEach(s=>e.component(s,Ymt)),[Zmt.name,"I18nN"].forEach(s=>e.component(s,Zmt)),[e1t.name,"I18nD"].forEach(s=>e.component(s,e1t))),e.directive("t",QOi(t))}const BOi=q6("global-vue-i18n");function ROi(e={}){const t=__VUE_I18N_LEGACY_API__&&cl(e.legacy)?e.legacy:__VUE_I18N_LEGACY_API__,n=cl(e.globalInjection)?e.globalInjection:!0,r=new Map,[o,s]=IOi(e,t),a=q6("");function l(g){return r.get(g)||null}function d(g,m){r.set(g,m)}function u(g){r.delete(g)}const h={get mode(){return __VUE_I18N_LEGACY_API__&&t?"legacy":"composition"},async install(g,...m){if(g.__VUE_I18N_SYMBOL__=a,g.provide(g.__VUE_I18N_SYMBOL__,h),Pa(m[0])){const k=m[0];h.__composerExtend=k.__composerExtend,h.__vueI18nExtend=k.__vueI18nExtend}let v=null;!t&&n&&(v=VOi(g,h.global)),__VUE_I18N_FULL_INSTALL__&&DOi(g,h,...m),__VUE_I18N_LEGACY_API__&&t&&g.mixin(_Oi(s,s.__composer,h));const f=g.unmount;g.unmount=()=>{v&&v(),h.dispose(),f()}},get global(){return s},dispose(){o.stop()},__instances:r,__getInstance:l,__setInstance:d,__deleteInstance:u};return h}function iI(e={}){const t=qq();if(t==null)throw rA(d2.MUST_BE_CALL_SETUP_TOP);if(!t.isCE&&t.appContext.app!=null&&!t.appContext.app.__VUE_I18N_SYMBOL__)throw rA(d2.NOT_INSTALLED);const n=MOi(t),r=FOi(n),o=Fwn(t),s=POi(e,o);if(s==="global")return Nwn(r,e,o),r;if(s==="parent"){let d=NOi(n,t,e.__useComponent);return d==null&&(d=r),d}const a=n;let l=a.__getInstance(t);if(l==null){const d=xf({},e);"__i18n"in o&&(d.__i18n=o.__i18n),r&&(d.__root=r),l=IZe(d),a.__composerExtend&&(l[oMe]=a.__composerExtend(l)),jOi(a,t,l),a.__setInstance(t,l)}return l}function IOi(e,t){const n=vne(),r=__VUE_I18N_LEGACY_API__&&t?n.run(()=>sMe(e)):n.run(()=>IZe(e));if(r==null)throw rA(d2.UNEXPECTED_ERROR);return[n,r]}function MOi(e){const t=bt(e.isCE?BOi:e.appContext.app.__VUE_I18N_SYMBOL__);if(!t)throw rA(e.isCE?d2.NOT_INSTALLED_WITH_PROVIDE:d2.UNEXPECTED_ERROR);return t}function POi(e,t){return V4e(e)?"__i18n"in t?"local":"global":e.useScope?e.useScope:"local"}function FOi(e){return e.mode==="composition"?e.global:e.global.__composer}function NOi(e,t,n=!1){let r=null;const o=t.root;let s=UOi(t,n);for(;s!=null;){const a=e;if(e.mode==="composition")r=a.__getInstance(s);else if(__VUE_I18N_LEGACY_API__){const l=a.__getInstance(s);l!=null&&(r=l.__composer,n&&r&&!r[Pwn]&&(r=null))}if(r!=null||o===s)break;s=s.parent}return r}function UOi(e,t=!1){return e==null?null:t&&e.vnode.ctx||e.parent}function jOi(e,t,n){vn(()=>{},t),fl(()=>{const r=n;e.__deleteInstance(t);const o=r[oMe];o&&(o(),delete r[oMe])},t)}const WOi=["locale","fallbackLocale","availableLocales"],Jmt=["t","rt","d","n","tm","te"];function VOi(e,t){const n=Object.create(null);return WOi.forEach(o=>{const s=Object.getOwnPropertyDescriptor(t,o);if(!s)throw rA(d2.UNEXPECTED_ERROR);const a=Nn(s.value)?{get(){return s.value.value},set(l){s.value.value=l}}:{get(){return s.get&&s.get()}};Object.defineProperty(n,o,a)}),e.config.globalProperties.$i18n=n,Jmt.forEach(o=>{const s=Object.getOwnPropertyDescriptor(t,o);if(!s||!s.value)throw rA(d2.UNEXPECTED_ERROR);Object.defineProperty(e.config.globalProperties,`$${o}`,s)}),()=>{delete e.config.globalProperties.$i18n,Jmt.forEach(o=>{delete e.config.globalProperties[`$${o}`]})}}const zOi=et({name:"i18n-d",props:xf({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},MZe),setup(e,t){const n=e.i18n||iI({useScope:e.scope,__useComponent:!0});return jwn(e,t,Dwn,(...r)=>n[iMe](...r))}}),e1t=zOi;wOi();eOi(Iwi);tOi(qwi);nOi(KIe);if(__INTLIFY_PROD_DEVTOOLS__){const e=YT();e.__INTLIFY__=!0,Mwi(e.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__)}function HOi(e,t){return hz()?(XQ(e,t),!0):!1}function t1t(){const e=new Set,t=s=>{e.delete(s)};return{on:s=>{e.add(s);const a=()=>t(s);return HOi(a),{off:a}},off:t,trigger:(...s)=>Promise.all(Array.from(e).map(a=>a(...s))),clear:()=>{e.clear()}}}const Wwn=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const $Oi=Object.prototype.toString,XOi=e=>$Oi.call(e)==="[object Object]",aMe=()=>{},GOi=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);function YOi(...e){if(e.length!==1)return Ma(...e);const t=e[0];return typeof t=="function"?a6(wYe(()=>({get:t,set:aMe}))):he(t)}function Vwn(e,t){function n(...r){return new Promise((o,s)=>{Promise.resolve(e(()=>t.apply(this,r),{fn:t,thisArg:this,args:r})).then(o).catch(s)})}return n}const zwn=e=>e();function ZOi(...e){let t=0,n,r=!0,o=aMe,s,a,l,d,u;!Nn(e[0])&&typeof e[0]=="object"?{delay:a,trailing:l=!0,leading:d=!0,rejectOnCancel:u=!1}=e[0]:[a,l=!0,d=!0,u=!1]=e;const h=()=>{n&&(clearTimeout(n),n=void 0,o(),o=aMe)};return m=>{const v=Po(a),f=Date.now()-t,k=()=>s=m();return h(),v<=0?(t=Date.now(),k()):(f>v?(t=Date.now(),(d||!r)&&k()):l&&(s=new Promise((A,p)=>{o=u?p:A,n=setTimeout(()=>{t=Date.now(),r=!0,A(k()),h()},Math.max(0,v-f))})),!d&&!n&&(n=setTimeout(()=>r=!0,v)),r=!1,s)}}function qOi(e=zwn,t={}){const{initialState:n="active"}=t,r=YOi(n==="active");function o(){r.value=!1}function s(){r.value=!0}return{isActive:a6(r),pause:o,resume:s,eventFilter:(...l)=>{r.value&&e(...l)}}}function y_e(e){return Array.isArray(e)?e:[e]}function KOi(e){return ps()}function JOi(e,t=200,n=!1,r=!0,o=!1){return Vwn(ZOi(t,n,r,o),e)}function eyi(e,t,n={}){const{eventFilter:r=zwn,...o}=n;return pt(e,Vwn(r,t),o)}function tyi(e,t,n={}){const{eventFilter:r,initialState:o="active",...s}=n,{eventFilter:a,pause:l,resume:d,isActive:u}=qOi(r,{initialState:o});return{stop:eyi(e,t,{...s,eventFilter:a}),pause:l,resume:d,isActive:u}}function nyi(e,t=!0,n){KOi()?vn(e,n):t?e():li(e)}function iyi(e,t,n){return pt(e,t,{...n,immediate:!0})}const qx=Wwn?window:void 0,ryi=Wwn?window.document:void 0;function PZe(e){var t;const n=Po(e);return(t=n==null?void 0:n.$el)!==null&&t!==void 0?t:n}function i0(...e){const t=(r,o,s,a)=>(r.addEventListener(o,s,a),()=>r.removeEventListener(o,s,a)),n=G(()=>{const r=y_e(Po(e[0])).filter(o=>o!=null);return r.every(o=>typeof o!="string")?r:void 0});return iyi(()=>{var r,o;return[(r=(o=n.value)===null||o===void 0?void 0:o.map(s=>PZe(s)))!==null&&r!==void 0?r:[qx].filter(s=>s!=null),y_e(Po(n.value?e[1]:e[0])),y_e(Ae(n.value?e[2]:e[1])),Po(n.value?e[3]:e[2])]},([r,o,s,a],l,d)=>{if(!(r!=null&&r.length)||!(o!=null&&o.length)||!(s!=null&&s.length))return;const u=XOi(a)?{...a}:a,h=r.flatMap(g=>o.flatMap(m=>s.map(v=>t(g,m,v,u))));d(()=>{h.forEach(g=>g())})},{flush:"post"})}const Vse=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},zse="__vueuse_ssr_handlers__",oyi=syi();function syi(){return zse in Vse||(Vse[zse]=Vse[zse]||{}),Vse[zse]}function ayi(e,t){return oyi[e]||t}function lyi(e){return e==null?"any":e instanceof Set?"set":e instanceof Map?"map":e instanceof Date?"date":typeof e=="boolean"?"boolean":typeof e=="string"?"string":typeof e=="object"?"object":Number.isNaN(e)?"any":"number"}const cyi={boolean:{read:e=>e==="true",write:e=>String(e)},object:{read:e=>JSON.parse(e),write:e=>JSON.stringify(e)},number:{read:e=>Number.parseFloat(e),write:e=>String(e)},any:{read:e=>e,write:e=>String(e)},string:{read:e=>e,write:e=>String(e)},map:{read:e=>new Map(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e.entries()))},set:{read:e=>new Set(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e))},date:{read:e=>new Date(e),write:e=>e.toISOString()}},n1t="vueuse-storage";function Hwn(e,t,n,r={}){var o;const{flush:s="pre",deep:a=!0,listenToStorageChanges:l=!0,writeDefaults:d=!0,mergeDefaults:u=!1,shallow:h,window:g=qx,eventFilter:m,onError:v=T=>{console.error(T)},initOnMounted:f}=r,k=(h?id:he)(typeof t=="function"?t():t),A=G(()=>Po(e));if(!n)try{n=ayi("getDefaultStorage",()=>qx==null?void 0:qx.localStorage)()}catch(T){v(T)}if(!n)return k;const p=Po(t),b=lyi(p),w=(o=r.serializer)!==null&&o!==void 0?o:cyi[b],{pause:O,resume:y}=tyi(k,T=>E(T),{flush:s,deep:a,eventFilter:m});pt(A,()=>D(),{flush:s});let C=!1;const _=T=>{f&&!C||D(T)},S=T=>{f&&!C||P(T)};g&&l&&(n instanceof Storage?i0(g,"storage",_,{passive:!0}):i0(g,n1t,S)),f?nyi(()=>{C=!0,D()}):D();function L(T,M){if(g){const B={key:A.value,oldValue:T,newValue:M,storageArea:n};g.dispatchEvent(n instanceof Storage?new StorageEvent("storage",B):new CustomEvent(n1t,{detail:B}))}}function E(T){try{const M=n.getItem(A.value);if(T==null)L(M,null),n.removeItem(A.value);else{const B=w.write(T);M!==B&&(n.setItem(A.value,B),L(M,B))}}catch(M){v(M)}}function Q(T){const M=T?T.newValue:n.getItem(A.value);if(M==null)return d&&p!=null&&n.setItem(A.value,w.write(p)),p;if(!T&&u){const B=w.read(M);return typeof u=="function"?u(B,p):b==="object"&&!Array.isArray(B)?{...p,...B}:B}else return typeof M!="string"?M:w.read(M)}function D(T){if(!(T&&T.storageArea!==n)){if(T&&T.key==null){k.value=p;return}if(!(T&&T.key!==A.value)){O();try{const M=w.write(k.value);(T===void 0||(T==null?void 0:T.newValue)!==M)&&(k.value=Q(T))}catch(M){v(M)}finally{T?li(y):y()}}}}function P(T){D(T.detail)}return k}const dyi={multiple:!0,accept:"*",reset:!1,directory:!1};function uyi(e){if(!e)return null;if(e instanceof FileList)return e;const t=new DataTransfer;for(const n of e)t.items.add(n);return t.files}function hyi(e={}){const{document:t=ryi}=e,n=he(uyi(e.initialFiles)),{on:r,trigger:o}=t1t(),{on:s,trigger:a}=t1t(),l=G(()=>{var g;const m=(g=PZe(e.input))!==null&&g!==void 0?g:t?t.createElement("input"):void 0;return m&&(m.type="file",m.onchange=v=>{n.value=v.target.files,o(n.value)},m.oncancel=()=>{a()}),m}),d=()=>{n.value=null,l.value&&l.value.value&&(l.value.value="",o(null))},u=g=>{const m=l.value;m&&(m.multiple=Po(g.multiple),m.accept=Po(g.accept),m.webkitdirectory=Po(g.directory),GOi(g,"capture")&&(m.capture=Po(g.capture)))},h=g=>{const m=l.value;if(!m)return;const v={...dyi,...e,...g};u(v),Po(v.reset)&&d(),m.click()};return l6(()=>{u(e)}),{files:a6(n),open:h,reset:d,onCancel:s,onChange:r}}function $4e(e,t,n={}){const{window:r=qx}=n;return Hwn(e,t,r==null?void 0:r.localStorage,n)}const fyi={page:e=>[e.pageX,e.pageY],client:e=>[e.clientX,e.clientY],screen:e=>[e.screenX,e.screenY],movement:e=>e instanceof MouseEvent?[e.movementX,e.movementY]:null};function gyi(e={}){const{type:t="page",touch:n=!0,resetOnTouchEnds:r=!1,initialValue:o={x:0,y:0},window:s=qx,target:a=s,scroll:l=!0,eventFilter:d}=e;let u=null,h=0,g=0;const m=id(o.x),v=id(o.y),f=id(null),k=typeof t=="function"?t:fyi[t],A=_=>{const S=k(_);u=_,S&&([m.value,v.value]=S,f.value="mouse"),s&&(h=s.scrollX,g=s.scrollY)},p=_=>{if(_.touches.length>0){const S=k(_.touches[0]);S&&([m.value,v.value]=S,f.value="touch")}},b=()=>{if(!u||!s)return;const _=k(u);u instanceof MouseEvent&&_&&(m.value=_[0]+s.scrollX-h,v.value=_[1]+s.scrollY-g)},w=()=>{m.value=o.x,v.value=o.y},O=d?_=>d(()=>A(_),{}):_=>A(_),y=d?_=>d(()=>p(_),{}):_=>p(_),C=d?()=>d(()=>b(),{}):()=>b();if(a){const _={passive:!0};i0(a,["mousemove","dragover"],O,_),n&&t!=="movement"&&(i0(a,["touchstart","touchmove"],y,_),r&&i0(a,"touchend",w,_)),l&&t==="page"&&i0(s,"scroll",C,_)}return{x:m,y:v,sourceType:f}}function myi(e={}){const{touch:t=!0,drag:n=!0,capture:r=!1,initialValue:o=!1,window:s=qx}=e,a=id(o),l=id(null);if(!s)return{pressed:a,sourceType:l};const d=m=>v=>{var f;a.value=!0,l.value=m,(f=e.onPressed)===null||f===void 0||f.call(e,v)},u=m=>{var v;a.value=!1,l.value=null,(v=e.onReleased)===null||v===void 0||v.call(e,m)},h=G(()=>PZe(e.target)||s),g={passive:!0,capture:r};return i0(h,"mousedown",d("mouse"),g),i0(s,"mouseleave",u,g),i0(s,"mouseup",u,g),n&&(i0(h,"dragstart",d("mouse"),g),i0(s,"drop",u,g),i0(s,"dragend",u,g)),t&&(i0(h,"touchstart",d("touch"),g),i0(s,"touchend",u,g),i0(s,"touchcancel",u,g)),{pressed:a,sourceType:l}}const kyi={editMdPreivew:{title:"编辑",confirm:"保存",cancel:"取消"},imageTools:{copy:"复制图片",preview:"预览",download:"下载",msg:{imageLoadFailed:"图片加载失败",convertFailed:"转换失败",copied:"已复制到剪贴板",copyFailed:"复制失败",downloadFailed:"下载失败",downloadStarted:"开始下载",downloadBlockedOpenNewWindow:"当前图片源可能限制下载,已尝试在新窗口打开"}},migrateShow:{title:"迁移数据",desc:"检测到您有旧版本的数据,是否需要迁移?",hide:"不再显示",confirm:"确定",msg:{migrateSuccess:"数据迁移成功",migrateFailed:"数据迁移失败"}},modelSelect:{placeholder:"请选择模型",type:{image:"图像",text:"文本",video:"视频"},msg:{fetchModelFailed:"获取模型数据失败:"},goSetting:"去设置中添加模型"},storyboardImageCheck:{camera:"镜头",dialogTitle:"选择分镜图",preview:"预览",src:"预览图",title:"标题",duration:"时长",lines:"台词",createTime:"创建时间"}},vyi={title:"ToonFlow设置",menu:{language:"语言设置",vendorConfig:"模型服务",agentConfig:"Agent配置",promptManage:"提示词管理",skillManagement:"Skills技能管理",memoryConfig:"Agent记忆配置",loginConfig:"登录配置",dbConfig:"数据库操作",fileManagement:"文件管理",otherConfig:"其他配置",requestConfig:"请求地址",devConfig:"开发者选项",about:"检查更新",logoutConfig:"退出登录",skillsSkillsManagement:"Skills技能管理"},language:{desc:"选择界面显示语言",msg:{saved:"语言设置已保存"}},vendor:{addVendor:"添加供应商",noVendor:"暂无供应商,请先添加",required:"必填",optionalSection:"选填项",modelSettings:"模型设置",addManually:"手动添加",test:"测试",edit:"编辑",delete:"删除",deleteVendor:"删除供应商",editCode:"编辑代码",updateConfig:"更新配置",addModel:"添加模型",editModel:"编辑模型",displayName:"显示名称",displayNamePlaceholder:"例如:GPT-4o",modelId:"模型标识",modelIdPlaceholder:"例如:gpt-4o",modelType:"模型类型",multimodal:"多模态",supported:"支持",notSupported:"不支持",toolCall:"工具调用",imageMode:"图像模式",videoMode:"视频模式",audioOutput:"音频输出",durationResolution:"时长 / 分辨率映射",durationSec:"时长(秒)",resolution:"分辨率",enterAndPress:"输入后回车",addDurationResolution:"添加一组时长 / 分辨率",testResult:"测试结果",generating:"正在生成中...",addVendorDialog:"添加供应商",codeEditorInfo:"请编写 TypeScript 代码配置供应商信息",reset:"重置",importFile:"导入文件",textModel:"文本模型",imageModel:"图像模型",videoModel:"视频模型",textToImage:"文生图",textToVideo:"文生视频",singleImage:"单图",multiImage:"多图模式",multiReference:"多图参考",gridImage:"网格单图",startEndRequired:"首尾帧(两张必填)",endFrameOptional:"首尾帧(尾帧可选)",startFrameOptional:"首尾帧(首帧可选)",textRef:"文本",imageRef:"图片",videoRef:"视频",audioRef:"音频",audioOptional:"可选",audioOnly:"仅输出有声视频",noAudio:"仅输出无声视频",msg:{getVendorListFailed:"获取供应商列表失败",vendorConfigUpdated:"供应商配置已更新",updateFailed:"更新失败",highRiskConfirm:"⚠️ 高风险操作确认",addVendorRiskBody:"添加新的 AI 供应商将赋予其访问系统 API 的权限,请确认您信任该供应商的代码来源!",iKnowRisk:"我了解风险",cancel:"取消",confirmAgain:"⚠️ 再次确认",addVendorConfirmBody:"确定要添加该供应商吗?添加后它将参与系统的模型调度。",confirmAndAdd:"确认并添加",goBackCheck:"返回检查",vendorAdded:"供应商已成功添加",addFailed:"添加失败",updateVendorRiskBody:"更新 AI 供应商配置将修改其访问系统 API 的权限和行为,请确认您信任修改后的代码来源!",updateVendorConfirmBody:"确定要更新该供应商配置吗?更新后将影响系统的模型调度。",confirmAndUpdate:"确认并更新",updateSuccess:"供应商配置更新成功",fillDisplayName:"请填写显示名称",fillModelId:"请填写模型标识",selectImageMode:"请选择图像模式",selectVideoMode:"请选择视频模式",groupPrefix:"第 {n} 组:",addDuration:"请添加时长",addResolution:"请添加分辨率",selectVendorFirst:"请先选择供应商",modelIdExists:"模型标识已存在",modelAdded:"模型已成功添加",modelUpdated:"模型已成功更新",enterApiKey:"请填写 API KEY",enterApiUrl:"请填写 API URL",testSuccess:"测试成功",imageGenSuccess:"图像生成成功",videoGenSuccess:"视频生成成功",requestFailed:"请求失败:",deleteModelConfirm:"确认删除模型",deleteModelBody:"删除后不可恢复,是否继续?",confirmDelete:"确认删除",modelDeleted:"模型已删除",deleteVendorConfirm:"确认删除供应商",deleteVendorBody:"删除后该供应商下所有模型将一并删除,是否继续?",vendorDeleted:"供应商已删除",deleteFailed:"删除失败",enabled:"已启用",disabled:"已禁用",linkAddVendorRiskBody:"添加新的 AI 供应商将赋予其访问系统 API 的权限,请确认您信任该供应商的链接来源!",importAdd:"添加新的 AI 供应商将赋予其访问系统 API 的权限,请确认您信任该供应商的文件来源!",linkAddFailed:"链接添加失败"},associationSkills:"关联skills",think:"深度思考",code:"代码",linkAddPlaceholder:"输入链接添加",noFileSelected:"成功导入文件",linkAdd:"确认"},agent:{bannerDesc:"使用 Toonflow 官方中转站点,支持一键填入配置,开箱即用,无需手动配置。",visitWebsite:"进入网站",fillKey:"填入KEY",oneClickFill:"一键填入",notOpen:"未开放",notConfigured:"未配置",modelConfig:"模型配置",confirm:"确认",cancel:"取消",selectModel:"选择模型",fillKeyHeader:"填入Toonflow平台的官方KEY",keyPlaceholder:"请输入 KEY",save:"保存",msg:{notAvailable:"该功能暂未开放,敬请期待",configSuccess:"配置成功",updateConfigFailed:"更新配置失败:",keyValid:"KEY有效,已成功连接Toonflow平台",keyInvalid:"KEY无效,请检查后重新输入:",enterKey:"请输入 KEY",saveFailed:"保存失败:",getAgentListFailed:"获取Agent配置列表失败:",toonflowNotFound:"Toonflow官方中转站不存在"}},memory:{warning:"以下配置项已预设为推荐值。除非您清楚了解各项配置的含义及影响,否则建议维持现有设置",vectorModelConfig:"向量模型配置",modelFilePath:"模型文件路径",quantizationType:"量化类型",quantizationPlaceholder:"请输入量化类型",memoryParams:"记忆参数",messagesPerSummary:"触发消息压缩条数",messagesPerSummaryHelp:"保留最近 N 条对话上下文。",shortTermLimit:"单次获取未压缩消息条数",shortTermLimitHelp:"检索时返回的候选记忆条数。",summaryMaxLength:"压缩最大字符",summaryMaxLengthHelp:"消息压缩时允许的最大字符",summaryLimit:"允许查询已压缩消息条数",summaryLimitHelp:"允许查询已压缩消息条数",ragLimit:"搜索记忆条数",ragLimitHelp:"检索时获取的消息数。",deepRetrieveSummaryLimit:"向量召回压缩消息数",deepRetrieveSummaryLimitHelp:"检索压缩消息内容时获取的消息数。",saveConfig:"保存配置",clearMemory:"清空记忆",restoreDefault:"恢复默认配置",msg:{saved:"记忆配置已保存",clearConfirmTitle:"确认清空记忆",clearConfirmBody:"该操作会清空 AI 全局记忆数据,且不可恢复,是否继续?",confirmClear:"确认清空",cancel:"取消",cleared:"记忆已清空",clearFailed:"清空记忆失败"}},login:{username:"用户名",usernamePlaceholder:"请输入用户名",password:"密码",passwordPlaceholder:"请输入密码",modify:"修改",msg:{enterUsername:"请输入用户名",usernameLength:"用户名长度为 2-20 个字符",enterPassword:"请输入密码",passwordLength:"密码长度为 6-20 个字符",fetchFailed:"获取用户信息失败",saveSuccess:"保存成功",saveFailed:"保存失败"}},db:{clearDb:"清空数据库",clearDbDesc:"清空所有数据表中的数据,保留表结构",clearData:"清空数据",confirmAction:"确认操作",msg:{clearDbTitle:"清空数据库",firstConfirm:"确定要清空所有数据表吗?数据清空后无法恢复!",secondConfirm:"这是最后一次确认,清空后所有数据将永久丢失!",keyword:"清空",confirm:"确认",pleaseInput:"请输入",cleared:"所有数据表已清空",operationFailed:"操作失败,请重试",cancelled:"操作已取消"}},skill:{scanSkills:"扫描Skills",addSkill:"新增 Skill",importFromHub:"Toonflow-Hub 导入",filterType:"类型",filterAttribution:"归属",searchPlaceholder:"按名称搜索 skill",search:"查询",totalCount:"共 {count} 条 Skill",typeMain:"核心",typeReferences:"技法",noAttribution:"无归属",noAttributionTip:"⚠️无归属,无法启用Skill",noEmbeddingTip:"⚠️未向量化,无法启用Skill",notEmbedded:"未向量化",stateNormal:"正常",stateGenerating:"生成描述中",stateEmptyDesc:"描述为空",stateAttrError:"归属异常",stateMd5Changed:"MD5变动,建议更新描述",embedding:"向量化",edit:"编辑",delete:"删除",importFromHubDialog:"从 Toonflow-Hub 导入",shareLink:"分享链接",editSkillTitle:"编辑 Skill-",addSkillTitle:"新增 Skill",skillName:"Skill 名称",skillNamePlaceholder:"例如:writing-assistant",path:"路径",attributionAgent:"归属 Agent",selectAttribution:"选择归属 Agent",description:"描述",aiGenerate:"AI生成",descriptionPlaceholder:"描述这个 skill 的用途",cancel:"取消",save:"保存",createSkill:"创建 Skill",attr:{productionDecision:"视频生产-执行导演",productionExecution:"视频生产-摄影指导",productionSupervision:"视频生产-监制",scriptDecision:"剧本Agent-统筹",scriptExecution:"剧本Agent-编剧",scriptSupervision:"剧本Agent-编辑",universalAgent:"制片助理"},msg:{scanSuccess:"扫描成功,共扫描到 {count} 个 Skill 文件",fetchListFailed:"获取 skill 列表失败",fillContentFirst:"请先填写 Markdown 内容",descGenSuccess:"描述生成成功",descGenFailed:"描述生成失败",fillNameFirst:"请先填写 Skill 名称",updateSuccess:"Skill 更新成功",createSuccess:"Skill 创建成功",updateFailed:"Skill 更新失败",createFailed:"Skill 创建失败",deleteConfirmTitle:"确认删除",deleteConfirmBody:"确定要删除 Skill「{name}」吗?此操作不可恢复。",deleteSuccess:"删除成功",deleteFailed:"删除失败",embeddingSuccess:"向量化成功",embeddingFailed:"向量化失败"},fileLost:"文件丢失"},other:{requestTimeout:"请求超时时间",seconds:"秒",inputSeconds:"请输入秒",assetConcurrency:"资产生成并发数",count:"个",inputCount:"请输入个数",chapterRegex:"章节拆分正则",restoreDefault:"恢复默认",regexPlaceholder:"请输入正则表达式",canvasScroll:"画布滚动",canvasIsDisabled:"画布缩放",agentCanvasScalingMethod:"生产页无限画布滚轮操作",zoom:"缩放",scroll:"滚动",isInteracting:"生产页无限画布拖拽性能优化",closeIsInteracting:"关闭",openIsInteracting:"开启"},request:{warning:"如非特殊情况,不需要修改或者配置",apiAddress:"API 地址",apiPlaceholder:"请输入 API 请求地址",save:"保存",reset:"重置",msg:{enterApi:"请输入 API 地址",validUrl:"请输入有效的 HTTP/HTTPS 地址",saved:"请求地址保存成功",reset:"已重置为默认地址",refreshFailed:"刷新失败",refreshSuccess:"刷新成功"},refresh:"刷新"},about:{slogan:"开源的AI驱动漫画 / 分镜创作工具",latestVersion:"当前为最新版本",checkUpdate:"检查更新",codeRepository:"代码仓库",githubRepo:"GitHub 仓库",giteeRepo:"Gitee 仓库",versionUpdate:"版本更新",checkUpdateGithub:"检查更新(GitHub)",getFromGithub:"从GitHub Release 获取最新版本",checkUpdateGitee:"检查更新(Gitee)",getFromGitee:"从Gitee Release获取最新版本",license:"许可证",licenseDesc:"开源许可协议·点击查看详情",updateAvailable:"发现新版本",currentVersion:"当前版本",latestVersionLabel:"最新版本",selectUpdateSource:"选择更新源",github:"GitHub",gitee:"Gitee",confirmUpdate:"确认更新",cancel:"取消",updating:"正在更新...",updateSuccess:"更新成功,请重启应用",updateFailed:"更新失败,请重试",noUpdate:"当前已是最新版本",upToDate:"检测到新版本"},logout:{warning:"退出登录后,您需要重新登录才能继续使用系统。",confirmLogout:"确定要退出登录吗?",logout:"退出登录",msg:{logoutSuccess:"退出登录成功",logoutFailed:"退出登录失败,请重试"}},file:{quickOpen:"快捷打开目录",open:"打开",dockerDesc:'Docker/前后端分离部署请前往"/data/*"目录手动管理文件。',desktopOnly:"该功能仅支持桌面端",folders:{data:"data",dataDesc:"数据目录。",logs:"data/logs",logsDesc:"运行日志与错误日志。",oss:"data/oss",ossDesc:"文件存储相关资源。",skills:"data/skills",skillsDesc:"技能与提示配置文件。",models:"data/models",modelsDesc:"模型文件与配置。",web:"data/web",webDesc:"Web 相关资源,如前端构建产物等。",serve:"data/serve",serveDesc:"后端服务相关文件。"},openFailed:"打开文件夹失败"},dev:{aiDevtool:"切换桌面端模式",devtool:"打开控制台",switchAiDevTool:"关闭/开启 {'@'}ai-sdk/devtools",warning:"以下为开发者工具,谨慎操作!",openDevtool:"打开",devtoolsDoc:"文档地址",devtoolsDesc:"开启后会在Toonflow安装目录创建.devtools文件夹,请确保Toonflow有写入权限(管理员身份运行)。",devtoolsDesc2:"在该目录运行 npx {'@'}ai-sdk/devtools 开启遥测调试",openDevtoolFailed:"打开开发者工具失败,请确保已安装Toonflow桌面端",notInElectron:"WEB环境请手动打开浏览器控制台"}},Ayi={selectProject:"请选择项目",menu:{myProject:"我的项目",taskCenter:"任务中心",novel:"小说原文",scriptAgent:"剧本Agent",scriptManage:"剧本管理",cornerScape:"塑角造景",production:"视频生产",assetCenter:"资产中心",settings:"设置",jumpGithub:"跳转Github"},project:{title:"我的项目",subtitle:"管理您的所有短剧项目",newProject:"新建项目",dialog:{editTitle:"编辑项目",addTitle:"新建项目",save:"保存",ok:"确定",cancel:"取消",projectType:"项目类型",selectType:"选择项目类型",basedOnNovel:"基于小说原文",projectName:"项目名称",projectNamePh:"请输入项目名称",novelType:"小说类型",novelTypePh:"例如:玄幻、科幻、言情",artStyle:"画风",selected:"已选:",selectArtStyle:"请选择画风",newArtStyle:"新建画风",loading:"加载中...",videoRatio:"影片比例",novelIntro:"小说简介",novelIntroPh:"请输入小说简介",editArtStyleTitle:"编辑画风",newArtStyleTitle:"新建画风",artStyleName:"画风名称",artStyleNamePh:"请输入画风名称",artStyleImage:"画风图片",remove:"移除",uploadCover:"上传封面",artStylePrompt:"提示词",aiExtract:"AI提取提示词",promptPlaceholder:"描述提示词",visualManual:"视觉手册",newVisualManual:"新建视觉手册",editVisualManualTitle:"编辑视觉手册",newVisualManualTitle:"新建视觉手册",visualManualName:"视觉手册名称",visualManualNamePh:"请输入视觉手册名称",visualManualCover:"视觉手册封面",visualManualPrompt:"视觉手册提示词",modelData:"选择图片模型",videoModelData:"选择视频模型",prompt:{placeholder:"输入提示词",saveSuccess:"更新成功",title:"提示词"},basedOnScript:"基于剧本",mdFile:"视觉手册文件",directorManual:"导演手册",addDirectorManual:"新建导演手册",editingDirectorManual:"编辑导演手册",newDirecorManualTitle:"新建导演手册",directorManualPrompt:"导演手册提示词",directorManualName:"导演手册名称",directorManualNamePh:"输入导演手册名称",directorFile:"导演手册文件",directorManualCover:"导演手册封面"},msg:{fetchFailed:"获取项目列表失败",notFound:"未找到该项目!",editSuccess:"编辑项目成功",editFailed:"编辑项目失败",addSuccess:"新增项目成功",addFailed:"新增项目失败",deleteHeader:"删除项目",deleteBody:"确定要删除该项目吗?",deleteConfirm:"删除",deleteCancel:"取消",deleteSuccess:"删除项目成功",deleteFailed:"删除项目失败",extractSuccess:"提示词提取成功",extractFailed:"提取失败",enterArtStyleName:"请输入画风名称",artStyleUpdated:"画风已更新",artStyleAdded:"画风已添加",operationFailed:"操作失败",enterVisualManualName:"请输入视觉手册名称",enterVisualManualImage:"请上传视觉手册封面图片",enterVisualManualTabData:"提示词不能为空",visualManualUpdated:"视觉手册已更新",visualManualAdded:"视觉手册已添加",deleteVisualManualHeader:"删除视觉手册",deleteVisualManualBody:"确定要删除视觉手册「{name}」吗?",deleteVisualManualConfirm:"删除",deleteVisualManualCancel:"取消",enterProjectName:"请输入项目名称",enterProjectIntro:"请输入小说简介",enterProjectType:"请输入小说类型",enterArtStyle:"请选择项目视觉手册",enterVideoRatio:"请选择影片比例",enterImageModel:"请选择图片模型",enterVideoModel:"请选择视频模型",visualManualDeleted:"删除成功",selectMode:"请选择模式",deleteDirectorManualHeader:"删除导演手册",deleteDirectorManualBody:"确定要删除导演手册「{name}」吗?",directorManualUpdated:"导演手册已更新",directorManualAdded:"导演手册已添加",directorManual:"请选择项目导演手册"},type:{novel:"基于小说原文",script:"基于小说剧本"}},novel:{importText:"导入原文",batchDelete:"批量删除",eventAnalysis:"事件分析",searchPlaceholder:"搜索原文名称...",search:"搜索",generating:"生成中...",genFailed:"生成失败",none:"无",edit:"编辑",delete:"删除",col:{id:"序号",reel:"卷",chapter:"章节名称",chapterData:"章节内容",event:"事件",operation:"操作"},msg:{batchDeleteHeader:"批量删除",batchDeleteBody:"确定要删除选中的 {count} 条数据吗?",batchDeleteSuccess:"批量删除成功",deleteHeader:"删除确认",deleteBody:"确定要删除章节名称为「{name}」的数据吗?",deleteSuccess:"删除成功",eventAnalysisHeader:"事件分析",eventAnalysisBody:"确定要对选中的 {count} 条数据进行事件分析吗?"},import:{title:"上传小说原文",step1:"第一步",step2:"第二步",step3:"第三步",dragUpload:"拖拽小说原文文件到此处或点击上传",uploadHint:"支持 .txt, .docx 格式,建议文件大小不超过 10MB",or:"或",pasteLabel:"直接粘贴小说原文内容",pastePlaceholder:"请输入小说原文内容",chars:"字符",tooShort:"内容过短,建议至少100字符",parsedChapters:"已解析 {count} 章节",nextStep:"下一步",prevStep:"上一步",selectedInfo:"已勾选:{count}字(小于200000字)",eventAnalysis:"事件分析",saveAndAnalyze:"保存原文并分析事件",col:{chapter:"章",reel:"卷",chapterName:"章节名称",chapterData:"章节内容"},msg:{parseFailed:"文件解析失败,请重新上传",selectFile:"选择文件",docNotSupported:".doc文件不支持解析,请转换为.ts文件",unsupportedType:"不支持的文件类型",fileTooLarge:"文件大小超过10MB,请上传更小的文件",selectChapters:"请先勾选章节",saveSuccess:"小说原文保存成功"},importAdd:"拖拽文件到此处或点击上传",limit:"支持 .ts格式"},editDialog:{title:"编辑小说原文",chapterName:"章节名称",chapterNamePh:"请输入章节名称",eventContent:"事件内容",eventContentPh:"输入事件内容",chapterContent:"章节内容",chapterContentPh:"请输入章节内容",cancel:"取消",save:"保存",msg:{updateSuccess:"小说原文更新成功"}},event:{regenerate:"重新生成事件",batchDelete:"批量删除",noData:"暂无事件数据,点击开始生成",generate:"生成事件",generatingHint:"事件生成中,请稍候...",loading:"加载中...",delete:"删除",col:{id:"事件ID",eventName:"事件名称",chapters:"来源章节",detail:"事件过程",createTime:"创建时间",operation:"操作"},msg:{deleteHeader:"删除事件",deleteBody:"确定要删除这个事件吗?",deleteSuccess:"删除成功",generateSuccess:"事件生成成功",batchDeleteHeader:"批量删除",batchDeleteBody:"确定要删除选中的 {count} 条数据吗?",batchDeleteSuccess:"批量删除成功"}},analysis:{analyzeFirst:"请先分析事件",startAnalysis:"开始分析",chapterHeader:"第{index}章 - {name}",analyzing:"事件分析中"}},scriptAgent:{inputPlaceholder:"请输入内容",chapterEvents:"章节事件",clearMessageMemory:"清空消息记忆",clearSummaryMemory:"清空摘要记忆",clearAllMemory:"清空全部记忆",edit:"编辑",storySkeleton:"故事骨架",adaptationStrategy:"改编策略",script:"剧本",noContent:"暂无内容",relatedAssets:"关联资产",editScript:"编辑剧本",save:"保存",scriptTitle:"标题",titlePlaceholder:"请输入标题",content:"内容",contentPlaceholder:"请输入剧本内容",selectAssets:"选择资产",noAssets:"暂未关联资产",selectAssetsTitle:"选择关联资产",welcomeMsg:"你好!我是 Toonflow 智能助手,需要我开始为您生成剧本吗?",start:"开始",memoryType:{message:"消息记忆",summary:"摘要记忆",all:"全部记忆"},forceGenerate:{title:"是否强制生成",desc:"当前存在尚未完成事件分析的章节,是否仍然强制继续生成?",confirm:"强制生成",cancel:"取消"},msg:{clearConfirm:"确认清空",clearBody:"确定要清空{type}吗?此操作无法撤销。",confirmClear:"确认清空",cancel:"取消",memoryCleared:"{type}已清空",scriptUpdated:"剧本更新成功",scriptUpdateFailed:"更新剧本失败,请稍后再试",searchScriptFailed:"搜索剧本失败",updated:"保存成功",error:"保存失败",reconnect:"重新连接",notReconnect:"重新连接对话会被切断是否确认",keepReconnect:"确认",deleteConfirm:"删除确认",deleteBody:"删除正文",confirmDelete:"确认删除",scriptDeleted:"脚本已删除"},reconnect:"重新连接"},cornerScape:{batchSettings:"批量生成设置",quickActions:"快捷指令",selectUngenerated:"全选未生成项",selectGenerated:"全选已生成项",selectFailed:"全选错误项",invertSelection:"反选",clearSelection:"取消选择",batchPreview:"批预览图片",assetTypeFilter:"素材类型筛选",genModel:"生成模型",resolution:"分辨率",resolutionPh:"请选择分辨率",concurrency:"并发数量",concurrencyPh:"请输入并发数",startBatch:"开始批量生成图片",waitingGen:"等待生成",generating:"生成中",genFailed:"生成失败",imageError:"图片错误",typeRole:"角色",typeScene:"场景",typeTool:"工具",typeUnknown:"未知",descriptionSuffix:"描述:",operateScriptFirst:"请先操作剧本",individualConfig:"单独配置",noImage:"暂无图片",promptLabel:"提示词",promptPh:"请输入提示词",aiPolish:"AI 润色",regenerate:"重新生成",filterRole:"人物",filterScene:"场景",filterTool:"道具",unnamed:"未命名",noDescription:"无描述",msg:{selectModel:"请选择生成模型",selectResolution:"请选择分辨率",enterPrompt:"请输入提示词",enterPromptFirst:"请先输入提示词",genSuccess:"{name} 生成成功",genFailed:"{name} 生成失败",promptGenSuccess:"提示词生成成功",polishFailed:"润色失败,请重试",selectAtLeastOne:"请至少选择一个资产进行批量生成",batchStarted:"开始批量生成,共 {count} 个,并发数 {concurrent}",batchItemFailed:"{name} 生成失败:{error}",batchComplete:"批量生成完成",batchFailed:"批量生成失败",replaceFailed:"替换失败",replaceSuccess:"替换成功",emptyPrompt:"勾选的数据{emptyPromptNames}提示词为空,请先生成提示词",promptGenFail:"提示词生成失败",saveSuccess:"修改提示词成功",saveFailed:"提示词修改失败"},history:"历史图片",confirmReplace:"确认替换",batchGenerationPrompt:"批量生成提示词",generatingPrompt:"生成中"},script:{searchPlaceholder:"搜索剧本名称...",search:"搜索",addScript:"新建剧本",cancelSelectAll:"取消全选",selectAll:"全选",exportScript:"导出剧本",msg:{extracting:"资产提取中",extractFailed:"资产提取失败",extractingInProgress:"正在提取中",projectNotFound:"项目未找到"},add:{title:"新增剧本",scriptName:"剧本名称",scriptNamePh:"请输入剧本名称",uploadFile:"上传文件",dragUpload:"拖拽剧本文件到此处或点击上传",uploadHint:"支持 .txt, .docx 格式,建议文件大小不超过 10MB",scriptContent:"剧本内容",scriptContentPh:"请上传或输入剧本内容...",relatedAssets:"关联资产",selectAssets:"选择资产",noAssets:"暂未关联资产",cancel:"取消",confirm:"确认",msg:{fileReadFailed:"文件读取失败",docNotSupported:".doc文件不支持解析,请转换为.txt或.docx文件",unsupportedType:"不支持的文件类型",fileTooLarge:"文件大小超过10MB,请上传更小的文件",parsing:"文件解析中...",parseFailed:"文件解析失败,请重新上传",selectAssetsTitle:"选择关联资产",enterContent:"请上传或输入剧本内容",enterName:"请输入剧本名称",addSuccess:"剧本添加成功",addFailed:"添加剧本失败,请稍后再试"}},edit:{title:"剧本详情",scriptName:"剧本名称",scriptNamePh:"请输入剧本名称",scriptContent:"剧本内容",scriptContentPh:"请输入剧本内容...",relatedAssets:"关联资产",selectAssets:"选择资产",noAssets:"暂未关联资产",msg:{selectAssetsTitle:"选择关联资产",updateSuccess:"剧本更新成功",updateFailed:"更新剧本失败,请稍后再试"}},deleteScript:"批量删除剧本",extractAssets:"提取资产"},assets:{addPrefix:"新增",batchGenerate:"批量生成",generatePrompt:"生成提示词",generateImage:"生成图片",batchDelete:"批量删除",searchPlaceholder:"搜索资产名称...",search:"搜索",preview:"预览",generate:"生成",edit:"编辑",delete:"删除",generating:"生成中",play:"播放",mediaPreview:"媒体预览",confirmBatch:"是否确认{type}!",model:"模型",resolution:"分辨率",resolutionPh:"请选择分辨率",batchGenPrompt:"批量生成提示词",batchGenImage:"批量生成图片",role:"角色",prop:"道具",scene:"场景",clip:"素材",uploadSuccess:"上传成功",selectAtLeastOne:"请至少选择一个资产",noDescription:"无描述",promptGenSuccess:"「{name}」提示词生成成功",promptGenFail:"「{name}」提示词生成失败:{error}",selectModel:"请选择模型",selectResolution:"请选择分辨率",noPromptForImage:"「{name}」没有提示词,无法生成图片",imageGenSuccess:"「{name}」图片生成成功",imageGenFail:"「{name}」图片生成失败:{error}",confirmDeleteHeader:"确认删除",confirmBatchDeleteBody:"确定要批量删除这些资产吗?此操作无法撤销。",confirmDeleteBody:"确定要删除这资产吗?此操作无法撤销。",deleteBtn:"删除",cancelBtn:"取消",deleteSuccess:"资产删除成功",deleteFail:"资产删除失败",colPreview:"预览",colName:"名称",colPrompt:"提示词",colDescribe:"描述",colRemark:"备注",colCreateTime:"创建时间",colOperation:"操作",add:{name:"名称",namePh:"请输入名称",describe:"描述",describePh:"请输入描述",remark:"备注",remarkPh:"请输入备注",prompt:"提示词",promptPh:"请输入提示词",nameRequired:"请输入名称",describeRequired:"请输入详情",remarkRequired:"请输入备注",updateSuccess:"资产更新成功",addSuccess:"资产添加成功"},gen:{header:"图片生成",uploadRef:"上传参考图片",optional:"可选",promptLabel:"生图提示词",smartGenerate:"智能生成",generatingPrompt:"智能生成提示词中...",promptPlaceholder:"描述您想要生成的图片内容,例如:一个充满科技感的未来城市,霓虹灯闪烁,赛博朋克风格...",selectModel:"选择模型",selectResolution:"选择分辨率",generateBtn:"生成图片",resultTitle:"生成结果",generatedCount:"已生成 {count} 张,请选择一张",generatingLabel:"生成中...",genFailed:"生成失败",confirmSelect:"确认选择",promptSuccess:"提示词生成成功",promptFail:"提示词生成失败",fillPrompt:"请填写提示词",pickResolution:"请选择分辨率",pickModel:"请选择模型",unnamed:"未命名",assetGenSuccess:"资产生成成功",assetGenFail:"资产生成失败",uploadOk:"上传成功",imageSelected:"已选择该图片",imageDeleted:"已删除该图片",imageSaved:"图片已保存",completed:"已完成"},batch:{header:"批量生成",selected:"已选择 {count} 项",selectAll:"全选",clearSelection:"清空选择",inputPh:"请输入内容",saveSelected:"保存选中 ({count})",colPreviewImg:"预览图",selectToSave:"请选择要保存的项目",saveSuccess:"保存成功",saveFail:"保存失败,请重试",promptDone:"提示词生成完成",promptFail:"提示词生成失败",missingPrompts:"有 {count} 个资产缺少提示词,请先生成提示词",imageDone:"图片生成完成",imageGenFail:"图片生成失败",unknownError:"未知错误",promptGenCancelled:"已取消生成"}},production:{selectPlaceholder:"请选择剧集",edit:"编辑",node:{script:{title:"剧本",editDialog:"编辑剧本"},scriptPlan:{title:"导演计划",editDialog:"编辑导演计划"},storyboard:{title:"分镜面板",notGenerated:"未生成",scaleRatio:"缩放比例",gridPreview:"宫格预览",noPreviewImages:"暂无可预览的图片",imageLoadFailed:"图片加载失败",promptPlaceholder:"请输入提示词",prompt:"提示词",editInfo:"提示词修改"},storyboardTable:{title:"分镜表",editDialog:"编辑分镜表"},assets:{title:"衍生资产",generateFailed:"生成失败",notGenerated:"未生成",originalAsset:"原资产",derived:"衍生",noDerivedAssets:"无衍生资产"},poster:{title:"视频封面",coverCount:"{count} 张"},workbench:{title:"视频工作台"}},editImage:{upload:"上传",generate:"生成",saveFailed:"保存失败,请重试",fetchFailed:"获取数据失败",generating:"生成中...",deleteNode:"删除节点",ratio:"比例",quality:"质量",generateBtn:"生成图片",selectImage:"选择图片",imageGeneration:"图片生成",promptPlaceholder:"描述你想要生成的图片...",imageRef:"图{index}",videoRef:"视频{index}",audioRef:"音频{index}",reference:"参考{index}",noReferences:"暂无可引用的参考文件",selectModel:"请先选择模型",selectQuality:"请选择画质",selectRatio:"请选择比例",generateFailed:"生成失败",generateFirst:"请先生成图片",generatedResult:"生成结果",waitingGenerate:"等待生成",layoutLR:"自动排版-左右布局",layoutTB:"自动排版-上下布局",uploadAssetImage:"资产图片上传",uploadStoryboardImage:"分镜图片上传",uploadImage:"资产图片上传",mode:"模式",closeConfirmTitle:"是否关闭编辑面板?",closeConfirmBody:"关闭之后未保存的数据会丢失"},save:"选取",cancel:"取消",chatBox:{inputPlaceholder:"输入消息...",generateDerivedAssets:"生成衍生资产",welcomeMessage:"你好!我是你的 AI 助手,有什么可以帮你的吗?",adjustModel:"调整模型",startMakingVideo:"开始制作视频",startMakingVideoPrompt:"请帮我开始制作视频",clearMessageMemory:"清除消息记忆",clearSummaryMemory:"清除摘要记忆",clearAllMemory:"清除所有记忆",messageMemory:"消息记忆",summaryMemory:"摘要记忆",allMemory:"所有记忆",confirmClear:"清除记忆",confirmClearBody:"确定要清除{type}吗?",confirmClearBtn:"确定清除",memoryCleared:"{type}已清除"},wb:{quickPreview:"快速预览",videoGeneration:"分镜台",videoEditing:"剪辑台",hint:"提示",extractLines:"是否从视频中提取台词?",no:"否",confirm:"确定",extractLinesQuestion:"是否从视频中提取台词作为字幕?",importingLoading:"正在导入中,请稍候...",mainTrackVideo:"主轨道(视频)",subtitle1:"字幕1",storyboardVideoName:"分镜视频-{storyboard}.mp4"},preview:{noImage:"暂无图片",storyboardDesc:"分镜描述",serialNumber:"序号",noDescription:"暂无描述",duration:"时长",seconds:"秒",relatedAssets:"涉及资产",role:"角色",prop:"道具",scene:"场景",noCharacters:"暂无出场人物",imagePrompt:"图片提示词",selectAll:"全选",exportImage:"导出图片",sceneDescription:"画面描述",promptLabel:"提示词",restoreSort:"还原排序",restoreSortConfirm:"确定要还原为初始排序吗?",tip:"提示",selectAtLeastOne:"请至少选择一个分镜进行导出",exportFilename:"分镜图片.zip"},generate:{noVideo:"暂无数据",videoPrompt:"视频提示词",promptPlaceholder:"输入提示词,描述你想要生成的视频内容...",refImage:"参考图",image:"图片",refVideo:"参考视频",refImageLabel:"参考图片",refAudio:"参考音频",muteAudio:"关闭音频",enableAudio:"开启音频",resolution:"分辨率",duration:"时长",generate:"生成",historyVersions:"历史版本",confirmSelection:"确认选中",noHistory:"暂无历史记录",generating:"生成中",generatingPrompt:"智能生成提示词中",generateFailed:"生成失败",selectAll:"全选",videoTrack:"视频轨道",batchGenerate:"批量生成",importToEditor:"导入剪辑台",modeSingleImage:"单图",modeMultiImage:"多图",modeGridImage:"网格多图",modeStartEnd:"首尾帧",modeText:"文生视频",modeVideoRef:"视频参考",modeImageRef:"图片参考",modeAudioRef:"音频参考",modeTextRef:"文本参考",startFrame:"首帧",startFrameOptional:"首帧(可选)",endFrame:"尾帧",endFrameOptional:"尾帧(可选)",selectRefImage:"选择参考图",selectRefImages:"选择参考图片",selectEndFrame:"选择尾帧图",selectRefVideoAsset:"选择参考视频",selectRefAudioAsset:"选择参考音频",selectRefImageAsset:"选择参考图片",selectImageSource:"选择图片来源",fromStoryboard:"分镜图",fromStoryboardDesc:"从分镜列表中选择图片",fromAssets:"资产图",fromAssetsDesc:"从资产库中选择图片",confirmDelete:"确认删除",confirmDeleteBody:"确定要删除这个视频吗?此操作无法撤销。",delete:"删除",cancel:"取消",deleteSuccess:"视频删除成功",deleteFailed:"删除失败",selectVideoFirst:"请先选择一个视频",confirmSuccess:"确认选中成功",batchSubmitted:"已提交批量生成请求,正在处理中...",configNotFound:"配置不存在",stateSuccess:"生成成功",statePending:"待生产",pollingFailed:"视频状态查询失败,请手动刷新",batchGeneratePrompt:"批量生成提示词",promptEmpty:"请先输入视频提示词",modelEmpty:"请先选择视频生成模型",batchPromptEmpty:"分镜 {names} 的视频提示词为空,请先生成或填写提示词",batchModelEmpty:"分镜 {names} 未配置视频生成模型,请先选择模型"},editVideo:{reset:"重置",undo:"撤销",redo:"重做",split:"分割",delete:"删除",rendering:"渲染中...",exportVideo:"导出视频",exportSuccess:"视频导出完成",exportFailed:"导出失败",sampleSubtitle:"示例字幕文本",customText:"自定义文本内容",transitionBetweenClips:"转场需要添加在两个相邻的 Clip 之间",transitionExists:"该位置已存在转场",videoPreviewArea:"视频预览区域",clipMaterials:"剪辑素材",propertyPanel:"属性面板",selectClip:"选择一个 Clip 查看属性",basicInfo:"基础信息",name:"名称",clipNamePlaceholder:"Clip 名称",startTime:"开始",endTime:"结束",totalDuration:"总时长",videoProperties:"视频属性",opacity:"不透明度",volume:"音量",playbackSpeed:"播放速度",audioProperties:"音频属性",fadeIn:"淡入",fadeOut:"淡出",transitionProperties:"转场属性",transitionType:"转场类型",transFade:"淡入淡出",transSlide:"滑动",transWipe:"擦除",transDissolve:"溶解",transZoom:"缩放",transRotate:"旋转",transitionDuration:"转场时长",subtitleProperties:"字幕属性",textContent:"文本内容",fontSize:"字体大小",copy:"复制",deleteConfirm:"删除确认",deleteClipConfirm:"确定要删除这个 Clip 吗?",avCanvasNotInit:"AVCanvas 尚未初始化",noExportContent:"没有可导出的内容",exportProject:"导出项目",transitionAdded:"已添加转场: {name}",splitClip:"分割片段",deleteClip:"删除片段",addClip:"添加 {name}",duplicateClip:"复制 Clip",addTransition:"添加转场",updateClip:"更新 Clip {key}",updatePlaybackRate:"更新播放倍速为 {rate}x",updateTransitionDuration:"更新转场时长",playbackRateRange:"播放倍速必须在 0.1 到 10 之间",updatePlaybackRateFailed:"更新播放倍速失败:",importProject:"导入项目",import:"导入"},clipType:{video:"视频",audio:"音频",subtitle:"字幕",transition:"转场",sticker:"贴纸",filter:"滤镜",effect:"特效"},track:{video:"视频",image:"图片",audio:"音频",subtitle:"字幕",text:"文本",sticker:"贴纸",filter:"滤镜",effect:"特效"},transition:{fade:"淡入淡出",slide:"滑动",slideLeft:"向左滑动",slideRight:"向右滑动",slideUp:"向上滑动",slideDown:"向下滑动",wipe:"擦除",wipeLeft:"向左擦除",wipeRight:"向右擦除",wipeUp:"向上擦除",wipeDown:"向下擦除",dissolve:"溶解",zoom:"缩放",zoomIn:"放大",zoomOut:"缩小",rotate:"旋转",circle:"圆形",diamond:"菱形",clock:"时钟",blur:"模糊"},media:{titleText:"标题文本",subtitleText:"字幕文本",customText:"自定义文本",media:"媒体",image:"图片",audio:"音频",subtitle:"字幕",transition:"转场",effect:"特效",filter:"滤镜",loading:"加载中...",subtitlePreview:"字",video:"视频"},effect:{fadeIn:"淡入",fadeOut:"淡出",flash:"闪烁",shake:"抖动",zoomIn:"放大进入",zoomOut:"缩小退出",pulse:"脉冲",rotateIn:"旋转进入",sticker1:"贴纸 1",sticker2:"贴纸 2"},filter:{grayscale:"黑白",sepia:"复古",warm:"暖色",cool:"冷色",vivid:"鲜艳",bright:"明亮",highContrast:"高对比",blur:"模糊",invert:"反色",semiTransparent:"半透明"},guideSwitchEpisode:"切换剧集",guideSwitchEpisodeBody:"切换剧集挪移到这里了哦",guideRefresh:"刷新数据",guideRefreshBody:"点击刷新按钮重新获取工作区数据",guideCanvasNav:"画布操作",guideCanvasNavBody:"滚轮上下平移画布,Ctrl + 滚轮缩放画布,按住鼠标左键拖拽自由平移",guideRightChat:"AI 对话",guideRightChatBody:"在右侧对话框中与 AI 交流,驱动自动化流程",guideLayoutBtn:"自动排版",guideLayoutBtnBody:"点击此按钮可自动整理节点布局",autoLayoutLR:"自动排版-左右布局",autoLayoutTB:"自动排版-上下布局",getFlowData:"刷新工作区",confirm:"切换剧集确认",confirmEpisodesSwitch:"当前任务仍在进行中,切换剧集会重连会话,是否继续切换?"},task:{title:"任务列表",subtitle:"您的最新任务执行记录",refresh:"刷新",categoryLabel:"任务大类:",stateLabel:"状态:",noFailReason:"暂无失败原因",stateAll:"全部",stateRunning:"进行中",stateCompleted:"已完成",stateFailed:"生成失败",fetchFailed:"获取任务列表失败",col:{taskClass:"任务大类",relatedObjects:"关联对象",model:"模型",describe:"描述",state:"状态",startTime:"时间"},project:"项目名称:"},noVideo:"暂无视频",prompt:"视频提示词",generateText:"AI生成提示词",selectStoryboard:"选择分镜",generate:{noVideo:"暂无数据",prompt:"视频提示词",generateText:"AI生成提示词",selectStoryboard:"选择分镜",generate:"生成视频",history:"历史版本",generating:"生成中",generateFailed:"失败",selectAll:"全选",selected:"已选",batchGenerateText:"批量生成提示词",batchGenerateVideo:"批量生成视频",importVideo:"导入剪辑台",emptyTrack:"第{index}段",del:"删除",delConfirm:"确认删除该段?",selectSource:"选择来源",confirm:"从资产选择",cancel:"从分镜选择",generateSuccess:"视频生成成功",selectVideoFailed:"视频选择失败",selectVideoSuccess:"视频选择成功",selectTrackFirst:"请先选择分镜",noSelectedVideo:"没有选择的视频",generateConfirm:"确认生成",generateConfirmBody:"是否确认生成视频",generateVideosInBatches:"批量生成视频",generateStarted:"生成开始",promptEmpty:"勾选需要生成视频的数据有提示词为空,是否继续生成",skipDataWithEmptyVideoPromptWords:"需要生成的视频数据存在提示词为空",duration:"时长",resolution:"分辨率",delVideo:"确认删除此视频?",delSuccess:"删除成功",addReference:"添加参考",promptPlaceholder:"请输入视频提示词",downloadVideo:"批量下载视频",selectVideo:"请勾选需要下载的视频"}},pyi={slogan:"智能短剧创作平台",tips:"默认账号:admin / admin123",settings:"服务器设置",requestAddress:"请求地址",username:"用户名",password:"密码",login:"登录",usernameRequired:"请输入用户名",passwordRequired:"请输入密码",enterUsernameAndPassword:"请输入用户名或密码",loginSuccess:"登录成功",settingsSaved:"设置已保存"},byi={cancel:"取消",confirm:"确定",selectAssets:"选择资产",sessionExpired:"登录已过期,请重新登录",openSettings:"打开设置",cancelled:"已取消生成",defaultReel:"正文卷",save:"保存",submitting:"提交中",editSuccess:"修改成功",editFailed:"修改失败",submit:"提交"},wyi={prompt:"提示词"},Oyi={welcomeTitle:"欢迎使用 ToonFlow",welcomeDesc:"AI 驱动的漫画创作工作流平台,让我们花一分钟完成初始配置。",startConfig:"开始配置",skip:"跳过引导",configModel:"添加模型服务",configData:"配置 Agent",startUse:"开始使用",configModelTitle:"添加模型服务供应商",configModelDesc:"首先,你需要在设置中添加至少一个 AI 模型服务供应商(如 OpenAI、Claude 等),并填写对应的 API Key。",configModelTip:"点击下方按钮将打开设置页面的「模型服务」选项卡,添加供应商后回到此处继续。",configModelBtn:"前往配置模型服务",configAgentTitle:"分配 Agent 模型",configAgentDesc:"接下来,在 Agent 配置中为各个功能模块分配模型,这样系统才知道调用哪个模型来完成任务。",configAgentTip:"点击下方按钮将打开设置页面的「Agent 配置」选项卡,为各功能分配模型后回到此处。",configAgentBtn:"前往配置 Agent",finishTitle:"🎉 一切就绪!",finishDesc:"配置完成,现在你可以开始使用所有功能了。如需调整,随时可以在设置中修改。",qrcodeLabel:"加入微信交流群,获取更多帮助:",githubLabel:"如果觉得好用,请给我们一个 ⭐ Star 吧!",prevStep:"上一步",nextStep:"下一步",finish:"开始使用"},yyi={skillManagement:{search:"搜索文件名",empty:"没有匹配的文件",edit:"编辑",selectOnTheLeft:"请从左侧选择文件"}},Cyi={assetsNotExists:"资产不存在",assets:{notExist:"资产不存在",notDerivativeExist:"衍生资产不存在",derivativeUpdateSuccess:"更新成功",derivativeState:"未生成",derivativeAddSuccess:"添加成功",derivativeDelSuccess:"删除成功",notGenerated:"未生成"},addSuccess:"更新成功",state:{unused:"未生成"},saveSuccess:"添加成功"},_yi={generating:"生成中"},Syi={scanning:"🔍 正在解析加载Skill",scanComplete:"✨ Skill 扫描完成",inserted:"✅ 新增{count}个Skill",updated:"🔄 更新{count}个Skill",removed:"🗑️ 移除{count}个Skill",scannedFiles:"📁 扫描 {count} 个文件",noDescription:"📝 {count}个Skill缺少描述",noAttribution:"👤 {count}个Skill缺少归属",configWarning:"⚠️ Skill 配置警告",openSettings:"打开设置",scanFailed:"❌ 扫描失败",checkNetwork:"🔌 请检查网络连接或稍后重试",retryLater:"🔁 请稍后重试"},Lyi="生成视频",xyi="历史版本",Eyi="生成中",Tyi="失败",Qyi="全选",Dyi="已选 ",Byi="导入视频",Ryi="123",Iyi="确认删除",Myi="确认删除该段?",Pyi="选择来源",Fyi="从资产选择",Nyi="从分镜选择",Uyi={components:kyi,settings:vyi,workbench:Ayi,login:pyi,common:byi,"workbench.project.msg.enterProjectQuality":"请选择图片质量",promptManage:wyi,"workbench.production.node.storyboard.batchGenerateImage":"重新生成","workbench.production.node.storyboard.batchGenerateFailed":"生成失败","workbench.production.node.storyboard.batchGenerateSuccess":"开始生成分镜","workbench.production.node.storyboard.removeFailed":"删除分镜失败","workbench.production.node.storyboard.editNode":"编辑","workbench.production.node.storyboard.deleteNode":"删除","workbench.production.node.storyboard.confirmDeleteBody":"确认是否删除该分镜",hello:Oyi,setting:yyi,storyboard:Cyi,productionAgent:_yi,skillScan:Syi,generate:Lyi,history:xyi,generating:Eyi,generateFailed:Tyi,selectAll:Qyi,selected:Dyi,importVideo:Byi,emptyTrack:Ryi,del:Iyi,delConfirm:Myi,selectSource:Pyi,confirm:Fyi,cancel:Nyi,"workbench.script.msg.waitExtract":"等待提取","workbench.script.msg.exportSuccess":"导出成功","workbench.script.msg.exportFailed":"导出失败","workbench.production.node.storyboard.videoDescPlaceholder":"请输入视频描述","workbench.production.node.storyboard.videoDesc":"视频描述","workbench.production.node.assets.confirmDeleteBody":"确认是否删除该资产","workbench.production.node.assets.removeFailed":"删除资产失败"},jyi={editMdPreivew:{title:"編輯",confirm:"儲存",cancel:"取消"},imageTools:{copy:"複製圖片",preview:"預覽",download:"下載",msg:{imageLoadFailed:"圖片載入失敗",convertFailed:"轉換失敗",copied:"已複製到剪貼簿",copyFailed:"複製失敗",downloadFailed:"下載失敗",downloadStarted:"開始下載",downloadBlockedOpenNewWindow:"目前的圖片來源可能限制下載,已嘗試在新視窗開啟"}},migrateShow:{title:"轉移資料",desc:"偵測到您有舊版本的資料,是否需要轉移?",hide:"不再顯示",confirm:"確定",msg:{migrateSuccess:"資料轉移成功",migrateFailed:"資料轉移失敗"}},modelSelect:{placeholder:"請選擇模型",type:{image:"圖片",text:"文字",video:"影片"},msg:{fetchModelFailed:"取得模型資料失敗:"},goSetting:"去設定中加入模型"},update:{title:"發現新版本",currentVersion:"目前版本:",latestVersion:"最新版本:",tip:"發現新版本,建議您更新以獲得更好的體驗",later:"稍後提醒",updateNow:"立即更新"}},Wyi={title:"ToonFlow 設定",menu:{language:"語言設定",vendorConfig:"模型服務",agentConfig:"Agent 設定",promptManage:"提示詞管理",skillManagement:"Skills技能管理",memoryConfig:"Agent 記憶設定",loginConfig:"登入設定",dbConfig:"資料庫操作",fileManagement:"檔案管理",otherConfig:"其他設定",requestConfig:"請求網址",about:"檢查更新",logoutConfig:"登出",skillsSkillsManagement:"Skills技能管理"},language:{desc:"選擇介面顯示語言",msg:{saved:"語言設定已儲存"}},vendor:{addVendor:"新增供應商",noVendor:"暫無供應商,請先新增",required:"必填",optionalSection:"選填項目",modelSettings:"模型設定",addManually:"手動新增",test:"測試",edit:"編輯",delete:"刪除",deleteVendor:"刪除供應商",editCode:"編輯程式碼",updateConfig:"更新設定",addModel:"新增模型",editModel:"編輯模型",displayName:"顯示名稱",displayNamePlaceholder:"例如:GPT-4o",modelId:"模型 ID",modelIdPlaceholder:"例如:gpt-4o",modelType:"模型類型",multimodal:"多模態",supported:"支援",notSupported:"不支援",toolCall:"工具呼叫",imageMode:"圖片模式",videoMode:"影片模式",audioOutput:"音訊輸出",durationResolution:"時長 / 解析度對應",durationSec:"時長(秒)",resolution:"解析度",enterAndPress:"輸入後按下 Enter",addDurationResolution:"新增一組時長 / 解析度",testResult:"測試結果",generating:"正在生成中...",addVendorDialog:"新增供應商",codeEditorInfo:"請撰寫 TypeScript 程式碼設定供應商資訊",reset:"重設",importFile:"匯入檔案",textModel:"文字模型",imageModel:"圖片模型",videoModel:"影片模型",textToImage:"文字生成圖片",textToVideo:"文字生成影片",singleImage:"單圖",multiImage:"多圖模式",multiReference:"多圖參考",gridImage:"網格單圖",startEndRequired:"首尾影格(兩張必填)",endFrameOptional:"首尾影格(尾影格選填)",startFrameOptional:"首尾影格(首影格選填)",textRef:"文字",imageRef:"圖片",videoRef:"影片",audioRef:"音訊",audioOptional:"選填",audioOnly:"僅輸出有聲影片",noAudio:"僅輸出無聲影片",msg:{getVendorListFailed:"取得供應商列表失敗",vendorConfigUpdated:"供應商設定已更新",updateFailed:"更新失敗",highRiskConfirm:"⚠️ 高風險操作確認",addVendorRiskBody:"新增的 AI 供應商將賦予其存取系統 API 的權限,請確認您信任該供應商的程式碼來源!",iKnowRisk:"我了解風險",cancel:"取消",confirmAgain:"⚠️ 再次確認",addVendorConfirmBody:"確定要新增該供應商嗎?新增後它將參與系統的模型排程。",confirmAndAdd:"確認並新增",goBackCheck:"返回檢查",vendorAdded:"供應商已成功新增",addFailed:"新增失敗",updateVendorRiskBody:"更新 AI 供應商設定將修改其存取系統 API 的權限和行為,請確認您信任修改後的程式碼來源!",updateVendorConfirmBody:"確定要更新該供應商設定嗎?更新後將影響系統的模型排程。",confirmAndUpdate:"確認並更新",updateSuccess:"供應商設定更新成功",fillDisplayName:"請填寫顯示名稱",fillModelId:"請填寫模型 ID",selectImageMode:"請選擇圖片模式",selectVideoMode:"請選擇影片模式",groupPrefix:"第 {n} 組:",addDuration:"請新增時長",addResolution:"請新增解析度",selectVendorFirst:"請先選擇供應商",modelIdExists:"模型 ID 已存在",modelAdded:"模型已成功新增",modelUpdated:"模型已成功更新",enterApiKey:"請填寫 API KEY",enterApiUrl:"請填寫 API URL",testSuccess:"測試成功",imageGenSuccess:"圖片生成成功",videoGenSuccess:"影片生成成功",requestFailed:"請求失敗",deleteModelConfirm:"確認刪除模型",deleteModelBody:"刪除後不可恢復,是否繼續?",confirmDelete:"確認刪除",modelDeleted:"模型已刪除",deleteVendorConfirm:"確認刪除供應商",deleteVendorBody:"刪除後該供應商下所有模型將一併刪除,是否繼續?",vendorDeleted:"供應商已刪除",deleteFailed:"刪除失敗",enabled:"已啟用",disabled:"已停用",linkAddVendorRiskBody:"新增新的 AI 供應商將賦予其存取系統 API 的權限,請確認您信任該供應商的連結來源!",importAdd:"新增新的 AI 供應商將賦予其存取系統 API 的權限,請確認您信任該供應商的文件來源!",linkAddFailed:"連結新增失敗"},associationSkills:"關聯skills",think:"深度思考",code:"程式碼",linkAddPlaceholder:"輸入連結添加",noFileSelected:"成功導入文件",linkAdd:"確認"},agent:{bannerDesc:"使用 Toonflow 官方中繼網站,支援一鍵帶入設定,開箱即用,無需手動設定。",visitWebsite:"進入網站",fillKey:"填入 KEY",oneClickFill:"一鍵帶入",notOpen:"尚未開放",notConfigured:"尚未設定",modelConfig:"模型設定",confirm:"確認",cancel:"取消",selectModel:"選擇模型",fillKeyHeader:"填入 Toonflow 平台的官方 KEY",keyPlaceholder:"請輸入 KEY",save:"儲存",msg:{notAvailable:"該功能暫未開放,敬請期待",configSuccess:"設定成功",updateConfigFailed:"更新設定失敗:",keyValid:"KEY 有效,已成功連接 Toonflow 平台",keyInvalid:"KEY 無效,請檢查後重新輸入:",enterKey:"請輸入 KEY",saveFailed:"儲存失敗:",getAgentListFailed:"取得 Agent 設定列表失敗:"}},memory:{warning:"以下設定項目已預設為推薦值。除非您清楚了解各項設定的含義及影響,否則建議維持現有設定",vectorModelConfig:"向量模型設定",modelFilePath:"模型檔案路徑",quantizationType:"量化類型",quantizationPlaceholder:"請輸入量化類型",memoryParams:"記憶參數",messagesPerSummary:"觸發訊息壓縮筆數",messagesPerSummaryHelp:"保留最近 N 筆對話上下文。",shortTermLimit:"單次取得未壓縮訊息筆數",shortTermLimitHelp:"檢索時回傳的候選記憶筆數。",summaryMaxLength:"壓縮最大字元數",summaryMaxLengthHelp:"訊息壓縮時允許的最大字元數",summaryLimit:"允許查詢已壓縮訊息筆數",summaryLimitHelp:"允許查詢已壓縮訊息筆數",ragLimit:"搜尋記憶筆數",ragLimitHelp:"檢索時取得的訊息數。",deepRetrieveSummaryLimit:"向量召回壓縮訊息數",deepRetrieveSummaryLimitHelp:"檢索壓縮訊息內容時取得的訊息數。",saveConfig:"儲存設定",clearMemory:"清除記憶",restoreDefault:"還原預設設定",msg:{saved:"記憶設定已儲存",clearConfirmTitle:"確認清除記憶",clearConfirmBody:"該操作會清除 AI 全域記憶資料,且不可復原,是否繼續?",confirmClear:"確認清除",cancel:"取消",cleared:"記憶已清除",clearFailed:"清除記憶失敗"}},login:{username:"使用者名稱",usernamePlaceholder:"請輸入使用者名稱",password:"密碼",passwordPlaceholder:"請輸入密碼",modify:"修改",msg:{enterUsername:"請輸入使用者名稱",usernameLength:"使用者名稱長度為 2-20 個字元",enterPassword:"請輸入密碼",passwordLength:"密碼長度為 6-20 個字元",fetchFailed:"取得使用者資訊失敗",saveSuccess:"儲存成功",saveFailed:"儲存失敗"}},db:{clearDb:"清除資料庫",clearDbDesc:"清除所有資料表中的資料,保留資料表結構",clearData:"清除資料",confirmAction:"確認操作",msg:{clearDbTitle:"清除資料庫",firstConfirm:"確定要清除所有資料表嗎?資料清除後無法復原!",secondConfirm:"這是最後一次確認,清除後所有資料將永久遺失!",keyword:"清除",confirm:"確認",pleaseInput:"請輸入",cleared:"所有資料表已清除",operationFailed:"操作失敗,請重試",cancelled:"操作已取消"}},other:{requestTimeout:"請求逾時時間",seconds:"秒",inputSeconds:"請輸入秒",assetConcurrency:"資產生成並發數",count:"個",inputCount:"請輸入個數",chapterRegex:"章節拆分正規表示式",restoreDefault:"還原預設",regexPlaceholder:"請輸入正規表示式",canvasScroll:"畫布滾動",canvasIsDisabled:"畫布縮放",agentCanvasScalingMethod:"生產頁無限畫布滾輪操作",zoom:"縮放",scroll:"捲動",isInteracting:"生產頁無限畫布拖曳性能優化",closeIsInteracting:"關閉"},request:{warning:"若非特殊情況,不需要修改或者設定",apiAddress:"API 網址",apiPlaceholder:"請輸入 API 請求網址",save:"儲存",reset:"重設",msg:{enterApi:"請輸入 API 網址",validUrl:"請輸入有效的 HTTP/HTTPS 網址",saved:"請求網址儲存成功",reset:"已重設為預設網址",refreshFailed:"刷新失敗",refreshSuccess:"刷新成功"},refresh:"重新整理"},about:{slogan:"開源的 AI 驅動漫畫 / 分鏡創作工具",latestVersion:"目前為最新版本",checkUpdate:"檢查更新",codeRepository:"程式碼儲存庫",githubRepo:"GitHub 儲存庫",giteeRepo:"Gitee 儲存庫",versionUpdate:"版本更新",checkUpdateGithub:"檢查更新(GitHub)",getFromGithub:"從 GitHub Release 取得最新版本",checkUpdateGitee:"檢查更新(Gitee)",getFromGitee:"從 Gitee Release 取得最新版本",license:"授權條款",licenseDesc:"開源授權條款·點擊查看詳情",updateAvailable:"發現新版本",upToDate:"偵測到新版本"},logout:{warning:"登出後,您需要重新登入才能繼續使用系統。",confirmLogout:"確定要登出嗎?",logout:"登出",msg:{logoutSuccess:"登出成功",logoutFailed:"登出失敗,請重試"}},file:{quickOpen:"快速開啟目錄",open:"開啟",dockerDesc:'Docker/前後端分離部署請前往 "/data/*" 目錄手動管理檔案。',desktopOnly:"該功能僅支援桌面版",folders:{data:"data",dataDesc:"資料目錄。",logs:"data/logs",logsDesc:"執行記錄與錯誤記錄。",oss:"data/oss",ossDesc:"檔案儲存相關資源。",skills:"data/skills",skillsDesc:"技能與提示設定檔。",models:"data/models",modelsDesc:"模型檔案與設定。",web:"data/web",webDesc:"Web 相關資源,如前端建置產物等。",serve:"data/serve",serveDesc:"後端服務相關檔案。"},openFailed:"開啟資料夾失敗"},skill:{scanSkills:"掃描Skills"},dev:{warning:"以下為開發者工具,謹慎操作!",openDevtool:"打開",devtoolsDoc:"文件地址",devtoolsDesc:"開啟後會在Toonflow安裝目錄建立.devtools資料夾,請確保Toonflow有寫入權限(管理員身分執行)。",openDevtoolFailed:"開啟開發者工具失敗,請確保已安裝Toonflow桌面端",notInElectron:"WEB環境請手動開啟瀏覽器控制台"}},Vyi={selectProject:"請選擇專案",menu:{myProject:"我的專案",taskCenter:"任務中心",novel:"小說原文",scriptAgent:"劇本 Agent",scriptManage:"劇本管理",cornerScape:"塑造角色與場景",production:"影片製作",assetCenter:"資產中心",settings:"設定",jumpGithub:"跳轉Github"},project:{title:"我的專案",subtitle:"管理您的所有短劇專案",newProject:"建立專案",dialog:{editTitle:"編輯專案",addTitle:"建立專案",save:"儲存",ok:"確定",cancel:"取消",projectType:"專案類型",selectType:"選擇專案類型",basedOnNovel:"基於小說原文",basedOnScript:"基於劇本",projectName:"專案名稱",projectNamePh:"請輸入專案名稱",novelType:"小說類型",novelTypePh:"例如:玄幻、科幻、言情",artStyle:"視覺手冊",selected:"已選:",selectArtStyle:"請選擇視覺手冊",newArtStyle:"新視覺手冊",loading:"載入中...",videoRatio:"影片比例",novelIntro:"小說簡介",novelIntroPh:"請輸入小說簡介",editArtStyleTitle:"編輯視覺手冊",newArtStyleTitle:"新視覺手冊",artStyleName:"視覺手冊名稱",artStyleNamePh:"請輸入視覺手冊名稱",artStyleImage:"視覺手冊封面",remove:"移除",uploadCover:"上傳封面",artStylePrompt:"視覺手冊提示詞",aiExtract:"AI 萃取提示詞",promptPlaceholder:"描述視覺手冊提示詞,用於產生圖片時指定視覺手冊",visualManual:"視覺手冊",newVisualManual:"新視覺手冊",editVisualManualTitle:"編輯視覺手冊",newVisualManualTitle:"新視覺手冊",visualManualName:"視覺手冊名稱",visualManualNamePh:"請輸入視覺手冊名稱",visualManualCover:"視覺手冊封面",visualManualPrompt:"視覺手冊提示詞",modelData:"選擇圖片模型",videoModelData:"選擇視訊模型",prompt:{placeholder:"輸入提示詞",saveSuccess:"更新成功",title:"提示詞"},mdFile:"視覺手冊文件",directorManual:"導演手冊",addDirectorManual:"新導演手冊",editingDirectorManual:"編輯導演手冊",newDirecorManualTitle:"新導演手冊",directorManualPrompt:"導演手冊提示詞",directorManualName:"導演手冊名稱",directorFile:"導演手冊文件",directorManualCover:"導演手冊封面"},msg:{fetchFailed:"取得專案列表失敗",notFound:"找不到該專案!",editSuccess:"編輯專案成功",editFailed:"編輯專案失敗",addSuccess:"新增專案成功",addFailed:"新增專案失敗",deleteHeader:"刪除專案",deleteBody:"確定要刪除該專案嗎?",deleteConfirm:"刪除",deleteCancel:"取消",deleteSuccess:"刪除專案成功",deleteFailed:"刪除專案失敗",extractSuccess:"提示詞萃取成功",extractFailed:"萃取失敗",enterArtStyleName:"請輸入視覺手冊名稱",artStyleUpdated:"視覺手冊已更新",artStyleAdded:"視覺手冊已添加",operationFailed:"操作失敗",enterVisualManualName:"請輸入視覺手冊名稱",enterVisualManualImage:"請上傳視覺手冊封面圖片",enterVisualManualTabData:"提示詞不能為空",visualManualUpdated:"視覺手冊已更新",visualManualAdded:"視覺手冊已添加",deleteVisualManualHeader:"刪除視覺手冊",deleteVisualManualBody:"確定要刪除視覺手冊「{name}」嗎?",deleteVisualManualConfirm:"刪除",deleteVisualManualCancel:"取消",emptyFields:"參數缺失",enterProjectName:"請輸入項目名稱",enterProjectIntro:"請輸入小說簡介",enterProjectType:"請輸入項目類型",enterArtStyle:"請選擇項目視覺手冊",enterVideoRatio:"請選擇影片比例",enterImageModel:"請選擇圖片模型",enterVideoModel:"請選擇視訊模型",visualManualDeleted:"刪除成功",selectMode:"請選擇模式",deleteDirectorManualHeader:"刪除導演手冊",deleteDirectorManualBody:"確定要刪除導演手冊「{name}」嗎?",directorManualUpdated:"導演手冊已更新",directorManualAdded:"導演手冊已添加",directorManual:"請選擇項目導演手冊"},type:{novel:"基於小說原文",script:"基於小說劇本"}},novel:{importText:"匯入原文",batchDelete:"批次刪除",eventAnalysis:"事件分析",searchPlaceholder:"搜尋原文名稱...",search:"搜尋",generating:"生成中...",genFailed:"生成失敗",none:"無",edit:"編輯",delete:"刪除",col:{id:"序號",reel:"卷",chapter:"章節名稱",chapterData:"章節內容",event:"事件",operation:"操作"},msg:{batchDeleteHeader:"批次刪除",batchDeleteBody:"確定要刪除選定的 {count} 筆資料嗎?",batchDeleteSuccess:"批次刪除成功",deleteHeader:"刪除確認",deleteBody:"確定要刪除章節名稱為「{name}」的資料嗎?",deleteSuccess:"刪除成功",eventAnalysisHeader:"事件分析",eventAnalysisBody:"確定要對選定的 {count} 筆資料進行事件分析嗎?"},import:{title:"上傳小說原文",step1:"第一步",step2:"第二步",step3:"第三步",dragUpload:"拖曳小說原文檔案到此處或點擊上傳",uploadHint:"支援 .txt, .docx 格式,建議檔案大小不超過 10MB",or:"或",pasteLabel:"直接貼上小說原文內容",pastePlaceholder:"請輸入小說原文內容",chars:"字元",tooShort:"內容過短,建議至少 100 字元",parsedChapters:"已解析 {count} 章節",nextStep:"下一步",prevStep:"上一步",selectedInfo:"已勾選:{count} 字 (小於 200000 字)",eventAnalysis:"事件分析",saveAndAnalyze:"儲存原文並分析事件",col:{chapter:"章",reel:"卷",chapterName:"章節名稱",chapterData:"章節內容"},msg:{parseFailed:"檔案解析失敗,請重新上傳",selectFile:"選擇文件",docNotSupported:".doc檔案不支援解析,請轉換為.ts文件",unsupportedType:"不支援的檔案類型",fileTooLarge:"檔案大小超過 10MB,請上傳更小的檔案",selectChapters:"請先勾選章節",saveSuccess:"小說原文儲存成功"},importAdd:"拖曳文件到此處或點擊上傳",limit:"支援 .ts格式"},editDialog:{title:"編輯小說原文",chapterName:"章節名稱",chapterNamePh:"請輸入章節名稱",eventContent:"事件內容",eventContentPh:"輸入事件內容",chapterContent:"章節內容",chapterContentPh:"請輸入章節內容",cancel:"取消",save:"儲存",msg:{updateSuccess:"小說原文更新成功"}},event:{regenerate:"重新生成事件",batchDelete:"批次刪除",noData:"暫無事件資料,點擊開始生成",generate:"生成事件",generatingHint:"事件生成中,請稍候...",loading:"載入中...",delete:"刪除",col:{id:"事件 ID",eventName:"事件名稱",chapters:"來源章節",detail:"事件過程",createTime:"建立時間",operation:"操作"},msg:{deleteHeader:"刪除事件",deleteBody:"確定要刪除這個事件嗎?",deleteSuccess:"刪除成功",generateSuccess:"事件生成成功",batchDeleteHeader:"批次刪除",batchDeleteBody:"確定要刪除選定的 {count} 筆資料嗎?",batchDeleteSuccess:"批次刪除成功"}},analysis:{analyzeFirst:"請先分析事件",startAnalysis:"開始分析",chapterHeader:"第{index}章 - {name}",analyzing:"事件分析中"}},scriptAgent:{inputPlaceholder:"請輸入內容",chapterEvents:"章節事件",clearMessageMemory:"清除訊息記憶",clearSummaryMemory:"清除摘要記憶",clearAllMemory:"清除全部記憶",edit:"編輯",storySkeleton:"故事骨架",adaptationStrategy:"改編策略",script:"劇本",noContent:"暫無內容",relatedAssets:"關聯資產",editScript:"編輯劇本",save:"儲存",scriptTitle:"標題",titlePlaceholder:"請輸入標題",content:"內容",contentPlaceholder:"請輸入劇本內容",selectAssets:"選擇資產",noAssets:"暫未關聯資產",selectAssetsTitle:"選擇關聯資產",welcomeMsg:"你好!我是 Toonflow 智慧助手,需要我開始為您生成劇本嗎?",start:"開始",memoryType:{message:"訊息記憶",summary:"摘要記憶",all:"全部記憶"},msg:{clearConfirm:"確認清除",clearBody:"確定要清除{type}嗎?此操作無法復原。",confirmClear:"確認清除",cancel:"取消",memoryCleared:"{type}已清除",scriptUpdated:"劇本更新成功",scriptUpdateFailed:"更新劇本失敗,請稍後再試",searchScriptFailed:"搜尋劇本失敗",updated:"保存成功",error:"保存失敗",reconnect:"重新連接",notReconnect:"重新連結對話會被切斷是否確認",keepReconnect:"確認",deleteConfirm:"刪除確認",deleteBody:"刪除正文",confirmDelete:"確認刪除",scriptDeleted:"腳本已刪除"},reconnect:"重新連接"},cornerScape:{batchSettings:"批次生成設定",quickActions:"捷徑指令",selectUngenerated:"全選未生成項目",selectGenerated:"全選已生成項目",selectFailed:"全選錯誤項目",invertSelection:"反選",clearSelection:"取消選擇",batchPreview:"批次預覽圖片",assetTypeFilter:"素材類型篩選",genModel:"生成模型",resolution:"解析度",resolutionPh:"請選擇解析度",concurrency:"並發數量",concurrencyPh:"請輸入並發數",startBatch:"開始批量生成圖片",waitingGen:"等待生成",generating:"生成中",genFailed:"生成失敗",imageError:"圖片錯誤",typeRole:"角色",typeScene:"場景",typeTool:"工具",typeUnknown:"未知",descriptionSuffix:"描述:",operateScriptFirst:"請先操作劇本",individualConfig:"獨立設定",noImage:"暫無圖片",promptLabel:"提示詞",promptPh:"請輸入提示詞",aiPolish:"AI 潤飾",regenerate:"重新生成",filterRole:"人物",filterScene:"場景",filterTool:"道具",unnamed:"未命名",noDescription:"無描述",msg:{selectModel:"請選擇生成模型",selectResolution:"請選擇解析度",enterPrompt:"請輸入提示詞",enterPromptFirst:"請先輸入提示詞",genSuccess:"{name} 生成成功",genFailed:"{name} 生成失敗",promptGenSuccess:"提示詞生成成功",polishFailed:"潤飾失敗,請重試",selectAtLeastOne:"請至少選擇一個資產進行批次生成",batchStarted:"開始批次生成,共 {count} 個,並發數 {concurrent}",batchItemFailed:"{name} 生成失敗:{error}",batchComplete:"批次生成完成",batchFailed:"批量生成失敗",replaceFailed:"替換失敗",replaceSuccess:"替換成功",promptGenFail:"提示詞生成失敗",saveSuccess:"修改提示詞成功",saveFailed:"提示詞修改失敗"},history:"歷史圖片",confirmReplace:"確認替換",batchGenerationPrompt:"大量生成提示詞",generatingPrompt:"生成中"},script:{searchPlaceholder:"搜尋劇本名稱...",search:"搜尋",addScript:"建立劇本",cancelSelectAll:"取消全選",selectAll:"全選",exportScript:"匯出劇本",msg:{searchFailed:"搜尋劇本失敗",selectExport:"請先選擇要匯出的劇本",exportSuccess:"匯出成功",exportFailed:"匯出劇本失敗",deleteHeader:"確認刪除",deleteBody:"確定要刪除這個劇本嗎?此操作無法復原。",deleteConfirm:"刪除",cancel:"取消",deleteSuccess:"刪除成功",deleteFailed:"刪除失敗",selectDelScript:"請選擇刪除劇本",batchDeleteHeader:"批量刪除",batchDeleteBody:"確定要刪除選中的 {count} 個劇本嗎?此操作無法復原。",batchDeleteSuccess:"批量刪除成功",extractingInProgress:"正在提取中",projectNotFound:"項目未找到"},add:{title:"新增劇本",scriptName:"劇本名稱",scriptNamePh:"請輸入劇本名稱",uploadFile:"上傳檔案",dragUpload:"拖曳劇本檔案到此處或點擊上傳",uploadHint:"支援 .txt, .docx 格式,建議檔案大小不超過 10MB",scriptContent:"劇本內容",scriptContentPh:"請上傳或輸入劇本內容...",relatedAssets:"關聯資產",selectAssets:"選擇資產",noAssets:"暫未關聯資產",cancel:"取消",confirm:"確認",msg:{fileReadFailed:"檔案讀取失敗",docNotSupported:".doc 檔案不支援解析,請轉換為 .txt 或 .docx 檔案",unsupportedType:"不支援的檔案類型",fileTooLarge:"檔案大小超過 10MB,請上傳更小的檔案",parsing:"檔案解析中...",parseFailed:"檔案解析失敗,請重新上傳",selectAssetsTitle:"選擇關聯資產",enterContent:"請上傳或輸入劇本內容",enterName:"請輸入劇本名稱",addSuccess:"劇本新增成功",addFailed:"新增劇本失敗,請稍後再試"}},edit:{title:"劇本詳情",scriptName:"劇本名稱",scriptNamePh:"請輸入劇本名稱",scriptContent:"劇本內容",scriptContentPh:"請輸入劇本內容...",relatedAssets:"關聯資產",selectAssets:"選擇資產",noAssets:"暫未關聯資產",msg:{selectAssetsTitle:"選擇關聯資產",updateSuccess:"劇本更新成功",updateFailed:"更新劇本失敗,請稍後再試"}},deleteScript:"大量刪除劇本",extractAssets:""},assets:{addPrefix:"新增",batchGenerate:"批次生成",generatePrompt:"生成提示詞",generateImage:"生成圖片",batchDelete:"批次刪除",searchPlaceholder:"搜尋資產名稱...",search:"搜尋",preview:"預覽",generate:"生成",edit:"編輯",delete:"刪除",generating:"生成中",play:"播放",mediaPreview:"媒體預覽",confirmBatch:"是否確認{type}!",model:"模型",resolution:"解析度",resolutionPh:"請選擇解析度",batchGenPrompt:"批次生成提示詞",batchGenImage:"批次生成圖片",role:"角色",prop:"道具",scene:"場景",clip:"素材",uploadSuccess:"上傳成功",selectAtLeastOne:"請至少選擇一個資產",noDescription:"無描述",promptGenSuccess:"「{name}」提示詞生成成功",promptGenFail:"「{name}」提示詞生成失敗:{error}",selectModel:"請選擇模型",selectResolution:"請選擇解析度",noPromptForImage:"「{name}」沒有提示詞,無法生成圖片",imageGenSuccess:"「{name}」圖片生成成功",imageGenFail:"「{name}」圖片生成失敗:{error}",confirmDeleteHeader:"確認刪除",confirmBatchDeleteBody:"確定要批次刪除這些資產嗎?此操作無法復原。",confirmDeleteBody:"確定要刪除這個資產嗎?此操作無法復原。",deleteBtn:"刪除",cancelBtn:"取消",deleteSuccess:"資產刪除成功",deleteFail:"資產刪除失敗",colPreview:"預覽",colName:"名稱",colPrompt:"提示詞",colDescribe:"描述",colRemark:"備註",colCreateTime:"建立時間",colOperation:"操作",add:{name:"名稱",namePh:"請輸入名稱",describe:"描述",describePh:"請輸入描述",remark:"備註",remarkPh:"請輸入備註",prompt:"提示詞",promptPh:"請輸入提示詞",nameRequired:"請輸入名稱",describeRequired:"請輸入詳情",remarkRequired:"請輸入備註",updateSuccess:"資產更新成功",addSuccess:"資產新增成功"},gen:{header:"圖片生成",uploadRef:"上傳參考圖片",optional:"選填",promptLabel:"生圖提示詞",smartGenerate:"智能生成",generatingPrompt:"智能生成提示詞中...",promptPlaceholder:"描述您想要生成的圖片內容,例如:一個充滿科技感的未來城市,霓虹燈閃爍,賽博龐克風格...",selectModel:"選擇模型",selectResolution:"選擇解析度",generateBtn:"生成圖片",resultTitle:"生成結果",generatedCount:"已生成 {count} 張,請選擇一張",generatingLabel:"生成中...",genFailed:"生成失敗",confirmSelect:"確認選擇",promptSuccess:"提示詞生成成功",promptFail:"提示詞生成失敗",fillPrompt:"請填寫提示詞",pickResolution:"請選擇解析度",pickModel:"請選擇模型",unnamed:"未命名",assetGenSuccess:"資產生成成功",assetGenFail:"資產生成失敗",uploadOk:"上傳成功",imageSelected:"已選擇該圖片",imageDeleted:"已刪除該圖片",imageSaved:"圖片已儲存",completed:"已完成"},batch:{header:"批次生成",selected:"已選擇 {count} 項",selectAll:"全選",clearSelection:"清除選擇",inputPh:"請輸入內容",saveSelected:"儲存選取項目 ({count})",colPreviewImg:"預覽圖",selectToSave:"請選擇要儲存的項目",saveSuccess:"儲存成功",saveFail:"儲存失敗,請重試",promptDone:"提示詞生成完成",promptFail:"提示詞生成失敗",missingPrompts:"有 {count} 個資產缺少提示詞,請先生成提示詞",imageDone:"圖片生成完成",imageGenFail:"圖片生成失敗",unknownError:"未知錯誤",promptGenCancelled:"已取消生成"}},production:{selectPlaceholder:"請選擇劇集",edit:"編輯",node:{script:{title:"劇本",editDialog:"編輯劇本"},scriptPlan:{title:"拍攝計畫",editDialog:"編輯拍攝計畫"},storyboard:{title:"分鏡面板",notGenerated:"未生成",scaleRatio:"縮放比例",gridPreview:"九宮格預覽",noPreviewImages:"暫無可預覽的圖片",loadFailed:"載入失敗: {src}",imageLoadFailed:"圖片載入失敗",promptPlaceholder:"請輸入提示詞",prompt:"提示詞",editInfo:"提示詞修改"},storyboardTable:{title:"分鏡表",editDialog:"編輯分鏡表"},assets:{title:"衍生資產",generateFailed:"生成失敗",notGenerated:"未生成",originalAsset:"原資產",derived:"衍生",noDerivedAssets:"無衍生資產"},poster:{title:"影片封面",coverCount:"{count} 張"},workbench:{title:"影片工作區"}},editImage:{upload:"上傳",generate:"生成",saveFailed:"儲存失敗,請重試",fetchFailed:"取得資料失敗",generating:"生成中...",deleteNode:"刪除節點",ratio:"比例",quality:"畫質",generateBtn:"生成圖片",selectImage:"選擇圖片",imageGeneration:"圖片生成",promptPlaceholder:"描述你想要生成的圖片...",imageRef:"圖{index}",noReferences:"暫無可引用的參考圖",selectModel:"請先選擇模型",selectQuality:"請選擇畫質",selectRatio:"請選擇比例",generateFailed:"生成失敗",generateFirst:"請先生成圖片",generatedResult:"生成結果",waitingGenerate:"等待生成",uploadImage:"資產圖片上傳",mode:"模式",closeConfirmTitle:"關閉確認標題",closeConfirmBody:"關閉之後未儲存的資料會遺失"},save:"選取",cancel:"取消",chatBox:{inputPlaceholder:"輸入訊息...",generateDerivedAssets:"生成衍生資產",welcomeMessage:"你好!我是你的 AI 助手,有什麼可以幫你的嗎?",adjustModel:"調整模型",startMakingVideo:"開始製作影片",startMakingVideoPrompt:"請幫我開始製作影片",clearMessageMemory:"清除訊息記憶",clearSummaryMemory:"清除摘要記憶",clearAllMemory:"清除所有記憶",messageMemory:"訊息記憶",summaryMemory:"摘要記憶",allMemory:"所有記憶",confirmClear:"清除記憶",confirmClearBody:"確定要清除{type}嗎?",confirmClearBtn:"確定清除",memoryCleared:"{type}已清除"},wb:{quickPreview:"快速預覽",videoGeneration:"分鏡台",videoEditing:"剪輯台",hint:"提示",extractLines:"是否從影片中提取台詞?",no:"否",confirm:"確定",extractLinesQuestion:"是否從影片中提取台詞作為字幕?",importingLoading:"正在匯入中,請稍候...",mainTrackVideo:"主軌道(影片)",subtitle1:"字幕1",stereo441:"44.1kHz 立體聲",mono16:"16kHz 單聲道",sampleImage1:"範例圖片 1"},preview:{noImage:"暫無圖片",storyboardDesc:"分鏡描述",serialNumber:"序號",noDescription:"暫無描述",duration:"時長",seconds:"秒",relatedAssets:"涉及資產",role:"角色",prop:"道具",scene:"場景",noCharacters:"暫無出場人物",imagePrompt:"圖片提示詞",selectAll:"全選",exportImage:"匯出圖片",sceneDescription:"畫面描述",promptLabel:"提示詞",restoreSort:"還原排序",restoreSortConfirm:"確定要還原為初始排序嗎?",tip:"提示",selectAtLeastOne:"請至少選擇一個分鏡進行匯出",exportFilename:"分鏡圖片.zip"},generate:{noVideo:"暫無影片",videoPrompt:"影片提示詞",promptPlaceholder:"輸入提示詞,描述你想要生成的影片內容...",refImage:"參考圖",image:"圖片",refVideo:"參考影片",refImageLabel:"參考圖片",refAudio:"參考音訊",muteAudio:"關閉音訊",enableAudio:"開啟音訊",resolution:"解析度",duration:"時長",generate:"生成",historyVersions:"歷史版本",refresh:"重新整理",confirmSelection:"確認選取項目",noHistory:"暫無歷史記錄",generating:"生成中",generateFailed:"生成失敗",selectAll:"全選",videoTrack:"影片軌道",batchGenerate:"批次生成",importToEditor:"匯入剪輯台",modeSingleImage:"單圖",modeMultiImage:"多圖",modeGridImage:"網格多圖",modeStartEnd:"首尾影格",modeText:"文字生成影片",modeVideoRef:"影片參考",modeImageRef:"圖片參考",modeAudioRef:"音訊參考",modeTextRef:"文字參考",startFrame:"首影格",startFrameOptional:"首影格(選填)",endFrame:"尾影格",endFrameOptional:"尾影格(選填)",selectRefImage:"選擇參考圖",selectRefImages:"選擇參考圖片",selectEndFrame:"選擇尾影格圖",selectRefVideoAsset:"選擇參考影片",selectRefAudioAsset:"選擇參考音訊",selectRefImageAsset:"選擇參考圖片",selectImageSource:"選擇圖片來源",fromStoryboard:"分鏡圖",fromStoryboardDesc:"從分鏡列表中選擇圖片",fromAssets:"資產圖",fromAssetsDesc:"從資產庫中選擇圖片",confirmDelete:"確認刪除",confirmDeleteBody:"確定要刪除這個影片嗎?此操作無法復原。",delete:"刪除",cancel:"取消",deleteSuccess:"影片刪除成功",deleteFailed:"刪除失敗",selectVideoFirst:"請先選擇一個影片",confirmSuccess:"確認選取成功",batchSubmitted:"已送出批次生成請求,正在處理中...",configNotFound:"設定不存在",pollingFailed:"視訊狀態查詢失敗,請手動刷新",batchGeneratePrompt:"大量生成提示詞",batchPromptEmpty:`分鏡 {name} 有空視訊提示。
+ */const bOi="11.3.0";function wOi(){typeof __VUE_I18N_FULL_INSTALL__!="boolean"&&(YT().__VUE_I18N_FULL_INSTALL__=!0),typeof __VUE_I18N_LEGACY_API__!="boolean"&&(YT().__VUE_I18N_LEGACY_API__=!0),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(YT().__INTLIFY_DROP_MESSAGE_COMPILER__=!1),typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(YT().__INTLIFY_PROD_DEVTOOLS__=!1)}const d2={UNEXPECTED_RETURN_TYPE:Uwi,INVALID_ARGUMENT:25,MUST_BE_CALL_SETUP_TOP:26,NOT_INSTALLED:27,REQUIRED_VALUE:28,INVALID_VALUE:29,NOT_INSTALLED_WITH_PROVIDE:31,UNEXPECTED_ERROR:32};function rA(e,...t){return z4e(e,null,void 0)}const nMe=q6("__translateVNode"),iMe=q6("__datetimeParts"),rMe=q6("__numberParts"),Mwn=q6("__setPluralRules"),Pwn=q6("__injectWithOption"),oMe=q6("__dispose");function Zq(e){if(!ql(e)||ry(e))return e;for(const t in e)if(P4(e,t))if(!t.includes("."))ql(e[t])&&Zq(e[t]);else{const n=t.split("."),r=n.length-1;let o=e,s=!1;for(let a=0;a{if("locale"in l&&"resource"in l){const{locale:d,resource:u}=l;d?(a[d]=a[d]||Cc(),Jde(u,a[d])):Jde(u,a)}else dr(l)&&Jde(JSON.parse(l),a)}),o==null&&s)for(const l in a)P4(a,l)&&Zq(a[l]);return a}function Fwn(e){return e.type}function Nwn(e,t,n){let r=ql(t.messages)?t.messages:Cc();"__i18nGlobal"in n&&(r=RZe(e.locale.value,{messages:r,__i18n:n.__i18nGlobal}));const o=Object.keys(r);o.length&&o.forEach(s=>{e.mergeLocaleMessage(s,r[s])});{if(ql(t.datetimeFormats)){const s=Object.keys(t.datetimeFormats);s.length&&s.forEach(a=>{e.mergeDateTimeFormat(a,t.datetimeFormats[a])})}if(ql(t.numberFormats)){const s=Object.keys(t.numberFormats);s.length&&s.forEach(a=>{e.mergeNumberFormat(a,t.numberFormats[a])})}}}function Vmt(e){return c(JR,null,e,0)}function qq(){return ps()}const zmt="__INTLIFY_META__",Hmt=()=>[],OOi=()=>!1;let $mt=0;function Xmt(e){return(t,n,r,o)=>e(n,r,qq()||void 0,o)}const yOi=()=>{const e=qq();let t=null;return e&&(t=Fwn(e)[zmt])?{[zmt]:t}:null};function IZe(e={}){const{__root:t,__injectWithOption:n}=e,r=t===void 0,o=e.flatJson,s=oge?he:id;let a=cl(e.inheritLocale)?e.inheritLocale:!0;const l=s(t&&a?t.locale.value:dr(e.locale)?e.locale:Yq),d=s(t&&a?t.fallbackLocale.value:dr(e.fallbackLocale)||Bu(e.fallbackLocale)||Pa(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:l.value),u=s(RZe(l.value,e)),h=s(Pa(e.datetimeFormats)?e.datetimeFormats:{[l.value]:{}}),g=s(Pa(e.numberFormats)?e.numberFormats:{[l.value]:{}});let m=t?t.missingWarn:cl(e.missingWarn)||vW(e.missingWarn)?e.missingWarn:!0,v=t?t.fallbackWarn:cl(e.fallbackWarn)||vW(e.fallbackWarn)?e.fallbackWarn:!0,f=t?t.fallbackRoot:cl(e.fallbackRoot)?e.fallbackRoot:!0,k=!!e.fallbackFormat,A=Bd(e.missing)?e.missing:null,p=Bd(e.missing)?Xmt(e.missing):null,b=Bd(e.postTranslation)?e.postTranslation:null,w=t?t.warnHtmlMessage:cl(e.warnHtmlMessage)?e.warnHtmlMessage:!0,O=!!e.escapeParameter;const y=t?t.modifiers:Pa(e.modifiers)?e.modifiers:{};let C=e.pluralRules||t&&t.pluralRules,_;_=(()=>{r&&Imt(null);const me={version:bOi,locale:l.value,fallbackLocale:d.value,messages:u.value,modifiers:y,pluralRules:C,missing:p===null?void 0:p,missingWarn:m,fallbackWarn:v,fallbackFormat:k,unresolving:!0,postTranslation:b===null?void 0:b,warnHtmlMessage:w,escapeParameter:O,messageResolver:e.messageResolver,messageCompiler:e.messageCompiler,__meta:{framework:"vue"}};me.datetimeFormats=h.value,me.numberFormats=g.value,me.__datetimeFormatters=Pa(_)?_.__datetimeFormatters:void 0,me.__numberFormatters=Pa(_)?_.__numberFormatters:void 0;const Ce=sOi(me);return r&&Imt(Ce),Ce})(),x$(_,l.value,d.value);function L(){return[l.value,d.value,u.value,h.value,g.value]}const E=G({get:()=>l.value,set:me=>{_.locale=me,l.value=me}}),Q=G({get:()=>d.value,set:me=>{_.fallbackLocale=me,d.value=me,x$(_,l.value,me)}}),D=G(()=>u.value),P=G(()=>h.value),T=G(()=>g.value);function M(){return Bd(b)?b:null}function B(me){b=me,_.postTranslation=me}function I(){return A}function R(me){me!==null&&(p=Xmt(me)),A=me,_.missing=p}const F=(me,Ce,Te,De,qe,Ye)=>{L();let Ze;try{__INTLIFY_PROD_DEVTOOLS__,r||(_.fallbackContext=t?oOi():void 0),Ze=me(_)}finally{__INTLIFY_PROD_DEVTOOLS__,r||(_.fallbackContext=void 0)}if(Te!=="translate exists"&&$h(Ze)&&Ze===H4e||Te==="translate exists"&&!Ze){const[rt,Re]=Ce();return t&&f?De(t):qe(rt)}else{if(Ye(Ze))return Ze;throw rA(d2.UNEXPECTED_RETURN_TYPE)}};function W(...me){return F(Ce=>Reflect.apply(Wmt,null,[Ce,...me]),()=>tMe(...me),"translate",Ce=>Reflect.apply(Ce.t,Ce,[...me]),Ce=>Ce,Ce=>dr(Ce))}function j(...me){const[Ce,Te,De]=me;if(De&&!ql(De))throw rA(d2.INVALID_ARGUMENT);return W(Ce,Te,xf({resolvedMessage:!0},De||{}))}function z(...me){return F(Ce=>Reflect.apply(Pmt,null,[Ce,...me]),()=>JIe(...me),"datetime format",Ce=>Reflect.apply(Ce.d,Ce,[...me]),()=>sge,Ce=>dr(Ce)||Bu(Ce))}function $(...me){return F(Ce=>Reflect.apply(Nmt,null,[Ce,...me]),()=>eMe(...me),"number format",Ce=>Reflect.apply(Ce.n,Ce,[...me]),()=>sge,Ce=>dr(Ce)||Bu(Ce))}function X(me){return me.map(Ce=>dr(Ce)||$h(Ce)||cl(Ce)?Vmt(String(Ce)):Ce)}const oe={normalize:X,interpolate:me=>me,type:"vnode"};function J(...me){return F(Ce=>{let Te;const De=Ce;try{De.processor=oe,Te=Reflect.apply(Wmt,null,[De,...me])}finally{De.processor=null}return Te},()=>tMe(...me),"translate",Ce=>Ce[nMe](...me),Ce=>[Vmt(Ce)],Ce=>Bu(Ce))}function se(...me){return F(Ce=>Reflect.apply(Nmt,null,[Ce,...me]),()=>eMe(...me),"number format",Ce=>Ce[rMe](...me),Hmt,Ce=>dr(Ce)||Bu(Ce))}function le(...me){return F(Ce=>Reflect.apply(Pmt,null,[Ce,...me]),()=>JIe(...me),"datetime format",Ce=>Ce[iMe](...me),Hmt,Ce=>dr(Ce)||Bu(Ce))}function re(me){C=me,_.pluralRules=C}function ue(me,Ce){return F(()=>{if(!me)return!1;const Te=dr(Ce)?Ce:l.value,De=dr(Ce)?[Te]:KIe(_,d.value,Te);for(let qe=0;qe[me],"translate exists",Te=>Reflect.apply(Te.te,Te,[me,Ce]),OOi,Te=>cl(Te))}function ee(me){let Ce=null;const Te=KIe(_,d.value,l.value);for(let De=0;De{a&&(l.value=me,_.locale=me,x$(_,l.value,d.value))}),pt(t.fallbackLocale,me=>{a&&(d.value=me,_.fallbackLocale=me,x$(_,l.value,d.value))}));const ke={id:$mt,locale:E,fallbackLocale:Q,get inheritLocale(){return a},set inheritLocale(me){a=me,me&&t&&(l.value=t.locale.value,d.value=t.fallbackLocale.value,x$(_,l.value,d.value))},get availableLocales(){return Object.keys(u.value).sort()},messages:D,get modifiers(){return y},get pluralRules(){return C||{}},get isGlobal(){return r},get missingWarn(){return m},set missingWarn(me){m=me,_.missingWarn=m},get fallbackWarn(){return v},set fallbackWarn(me){v=me,_.fallbackWarn=v},get fallbackRoot(){return f},set fallbackRoot(me){f=me},get fallbackFormat(){return k},set fallbackFormat(me){k=me,_.fallbackFormat=k},get warnHtmlMessage(){return w},set warnHtmlMessage(me){w=me,_.warnHtmlMessage=me},get escapeParameter(){return O},set escapeParameter(me){O=me,_.escapeParameter=me},t:W,getLocaleMessage:V,setLocaleMessage:q,mergeLocaleMessage:ne,getPostTranslationHandler:M,setPostTranslationHandler:B,getMissingHandler:I,setMissingHandler:R,[Mwn]:re};return ke.datetimeFormats=P,ke.numberFormats=T,ke.rt=j,ke.te=ue,ke.tm=de,ke.d=z,ke.n=$,ke.getDateTimeFormat=te,ke.setDateTimeFormat=Y,ke.mergeDateTimeFormat=fe,ke.getNumberFormat=be,ke.setNumberFormat=_e,ke.mergeNumberFormat=Qe,ke[Pwn]=n,ke[nMe]=J,ke[iMe]=le,ke[rMe]=se,ke}function COi(e){const t=dr(e.locale)?e.locale:Yq,n=dr(e.fallbackLocale)||Bu(e.fallbackLocale)||Pa(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:t,r=Bd(e.missing)?e.missing:void 0,o=cl(e.silentTranslationWarn)||vW(e.silentTranslationWarn)?!e.silentTranslationWarn:!0,s=cl(e.silentFallbackWarn)||vW(e.silentFallbackWarn)?!e.silentFallbackWarn:!0,a=cl(e.fallbackRoot)?e.fallbackRoot:!0,l=!!e.formatFallbackMessages,d=Pa(e.modifiers)?e.modifiers:{},u=e.pluralizationRules,h=Bd(e.postTranslation)?e.postTranslation:void 0,g=dr(e.warnHtmlInMessage)?e.warnHtmlInMessage!=="off":!0,m=!!e.escapeParameterHtml,v=cl(e.sync)?e.sync:!0;let f=e.messages;if(Pa(e.sharedMessages)){const y=e.sharedMessages;f=Object.keys(y).reduce((_,S)=>{const L=_[S]||(_[S]={});return xf(L,y[S]),_},f||{})}const{__i18n:k,__root:A,__injectWithOption:p}=e,b=e.datetimeFormats,w=e.numberFormats,O=e.flatJson;return{locale:t,fallbackLocale:n,messages:f,flatJson:O,datetimeFormats:b,numberFormats:w,missing:r,missingWarn:o,fallbackWarn:s,fallbackRoot:a,fallbackFormat:l,modifiers:d,pluralRules:u,postTranslation:h,warnHtmlMessage:g,escapeParameter:m,messageResolver:e.messageResolver,inheritLocale:v,__i18n:k,__root:A,__injectWithOption:p}}function sMe(e={}){const t=IZe(COi(e)),{__extender:n}=e,r={id:t.id,get locale(){return t.locale.value},set locale(o){t.locale.value=o},get fallbackLocale(){return t.fallbackLocale.value},set fallbackLocale(o){t.fallbackLocale.value=o},get messages(){return t.messages.value},get datetimeFormats(){return t.datetimeFormats.value},get numberFormats(){return t.numberFormats.value},get availableLocales(){return t.availableLocales},get missing(){return t.getMissingHandler()},set missing(o){t.setMissingHandler(o)},get silentTranslationWarn(){return cl(t.missingWarn)?!t.missingWarn:t.missingWarn},set silentTranslationWarn(o){t.missingWarn=cl(o)?!o:o},get silentFallbackWarn(){return cl(t.fallbackWarn)?!t.fallbackWarn:t.fallbackWarn},set silentFallbackWarn(o){t.fallbackWarn=cl(o)?!o:o},get modifiers(){return t.modifiers},get formatFallbackMessages(){return t.fallbackFormat},set formatFallbackMessages(o){t.fallbackFormat=o},get postTranslation(){return t.getPostTranslationHandler()},set postTranslation(o){t.setPostTranslationHandler(o)},get sync(){return t.inheritLocale},set sync(o){t.inheritLocale=o},get warnHtmlInMessage(){return t.warnHtmlMessage?"warn":"off"},set warnHtmlInMessage(o){t.warnHtmlMessage=o!=="off"},get escapeParameterHtml(){return t.escapeParameter},set escapeParameterHtml(o){t.escapeParameter=o},get pluralizationRules(){return t.pluralRules||{}},__composer:t,t(...o){return Reflect.apply(t.t,t,[...o])},rt(...o){return Reflect.apply(t.rt,t,[...o])},te(o,s){return t.te(o,s)},tm(o){return t.tm(o)},getLocaleMessage(o){return t.getLocaleMessage(o)},setLocaleMessage(o,s){t.setLocaleMessage(o,s)},mergeLocaleMessage(o,s){t.mergeLocaleMessage(o,s)},d(...o){return Reflect.apply(t.d,t,[...o])},getDateTimeFormat(o){return t.getDateTimeFormat(o)},setDateTimeFormat(o,s){t.setDateTimeFormat(o,s)},mergeDateTimeFormat(o,s){t.mergeDateTimeFormat(o,s)},n(...o){return Reflect.apply(t.n,t,[...o])},getNumberFormat(o){return t.getNumberFormat(o)},setNumberFormat(o,s){t.setNumberFormat(o,s)},mergeNumberFormat(o,s){t.mergeNumberFormat(o,s)}};return r.__extender=n,r}function _Oi(e,t,n){return{beforeCreate(){const r=qq();if(!r)throw rA(d2.UNEXPECTED_ERROR);const o=this.$options;if(o.i18n){const s=o.i18n;if(o.__i18n&&(s.__i18n=o.__i18n),s.__root=t,this===this.$root)this.$i18n=Gmt(e,s);else{s.__injectWithOption=!0,s.__extender=n.__vueI18nExtend,this.$i18n=sMe(s);const a=this.$i18n;a.__extender&&(a.__disposer=a.__extender(this.$i18n))}}else if(o.__i18n)if(this===this.$root)this.$i18n=Gmt(e,o);else{this.$i18n=sMe({__i18n:o.__i18n,__injectWithOption:!0,__extender:n.__vueI18nExtend,__root:t});const s=this.$i18n;s.__extender&&(s.__disposer=s.__extender(this.$i18n))}else this.$i18n=e;o.__i18nGlobal&&Nwn(t,o,o),this.$t=(...s)=>this.$i18n.t(...s),this.$rt=(...s)=>this.$i18n.rt(...s),this.$te=(s,a)=>this.$i18n.te(s,a),this.$d=(...s)=>this.$i18n.d(...s),this.$n=(...s)=>this.$i18n.n(...s),this.$tm=s=>this.$i18n.tm(s),n.__setInstance(r,this.$i18n)},mounted(){},unmounted(){const r=qq();if(!r)throw rA(d2.UNEXPECTED_ERROR);const o=this.$i18n;delete this.$t,delete this.$rt,delete this.$te,delete this.$d,delete this.$n,delete this.$tm,o.__disposer&&(o.__disposer(),delete o.__disposer,delete o.__extender),n.__deleteInstance(r),delete this.$i18n}}}function Gmt(e,t){e.locale=t.locale||e.locale,e.fallbackLocale=t.fallbackLocale||e.fallbackLocale,e.missing=t.missing||e.missing,e.silentTranslationWarn=t.silentTranslationWarn||e.silentFallbackWarn,e.silentFallbackWarn=t.silentFallbackWarn||e.silentFallbackWarn,e.formatFallbackMessages=t.formatFallbackMessages||e.formatFallbackMessages,e.postTranslation=t.postTranslation||e.postTranslation,e.warnHtmlInMessage=t.warnHtmlInMessage||e.warnHtmlInMessage,e.escapeParameterHtml=t.escapeParameterHtml||e.escapeParameterHtml,e.sync=t.sync||e.sync,e.__composer[Mwn](t.pluralizationRules||e.pluralizationRules);const n=RZe(e.locale,{messages:t.messages,__i18n:t.__i18n});return Object.keys(n).forEach(r=>e.mergeLocaleMessage(r,n[r])),t.datetimeFormats&&Object.keys(t.datetimeFormats).forEach(r=>e.mergeDateTimeFormat(r,t.datetimeFormats[r])),t.numberFormats&&Object.keys(t.numberFormats).forEach(r=>e.mergeNumberFormat(r,t.numberFormats[r])),e}const MZe={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:e=>e==="parent"||e==="global",default:"parent"},i18n:{type:Object}};function SOi({slots:e},t){return t.length===1&&t[0]==="default"?(e.default?e.default():[]).reduce((r,o)=>[...r,...o.type===rn?o.children:[o]],[]):t.reduce((n,r)=>{const o=e[r];return o&&(n[r]=o()),n},Cc())}function Uwn(){return rn}const LOi=et({name:"i18n-t",props:xf({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:e=>$h(e)||!isNaN(e)}},MZe),setup(e,t){const{slots:n,attrs:r}=t,o=e.i18n||iI({useScope:e.scope,__useComponent:!0});return()=>{const s=Object.keys(n).filter(g=>g[0]!=="_"),a=Cc();e.locale&&(a.locale=e.locale),e.plural!==void 0&&(a.plural=dr(e.plural)?+e.plural:e.plural);const l=SOi(t,s),d=o[nMe](e.keypath,l,a),u=xf(Cc(),r),h=dr(e.tag)||ql(e.tag)?e.tag:Uwn();return Qn(h,u,d)}}}),Ymt=LOi;function xOi(e){return Bu(e)&&!dr(e[0])}function jwn(e,t,n,r){const{slots:o,attrs:s}=t;return()=>{const a={part:!0};let l=Cc();e.locale&&(a.locale=e.locale),dr(e.format)?a.key=e.format:ql(e.format)&&(dr(e.format.key)&&(a.key=e.format.key),l=Object.keys(e.format).reduce((m,v)=>n.includes(v)?xf(Cc(),m,{[v]:e.format[v]}):m,Cc()));const d=r(e.value,a,l);let u=[a.key];Bu(d)?u=d.map((m,v)=>{const f=o[m.type],k=f?f({[m.type]:m.value,index:v,parts:d}):[m.value];return xOi(k)&&(k[0].key=`${m.type}-${v}`),k}):dr(d)&&(u=[d]);const h=xf(Cc(),s),g=dr(e.tag)||ql(e.tag)?e.tag:Uwn();return Qn(g,h,u)}}const EOi=et({name:"i18n-n",props:xf({value:{type:Number,required:!0},format:{type:[String,Object]}},MZe),setup(e,t){const n=e.i18n||iI({useScope:e.scope,__useComponent:!0});return jwn(e,t,Bwn,(...r)=>n[rMe](...r))}}),Zmt=EOi;function TOi(e,t){const n=e;if(e.mode==="composition")return n.__getInstance(t)||e.global;{const r=n.__getInstance(t);return r!=null?r.__composer:e.global.__composer}}function QOi(e){const t=a=>{const{instance:l,value:d}=a;if(!l||!l.$)throw rA(d2.UNEXPECTED_ERROR);const u=TOi(e,l.$),h=qmt(d);return[Reflect.apply(u.t,u,[...Kmt(h)]),u]};return{created:(a,l)=>{const[d,u]=t(l);oge&&(a.__i18nWatcher=pt(u.locale,()=>{l.instance&&l.instance.$forceUpdate()})),a.__composer=u,a.textContent=d},unmounted:a=>{oge&&a.__i18nWatcher&&(a.__i18nWatcher(),a.__i18nWatcher=void 0,delete a.__i18nWatcher),a.__composer&&(a.__composer=void 0,delete a.__composer)},beforeUpdate:(a,{value:l})=>{if(a.__composer){const d=a.__composer,u=qmt(l);a.textContent=Reflect.apply(d.t,d,[...Kmt(u)])}},getSSRProps:a=>{const[l]=t(a);return{textContent:l}}}}function qmt(e){if(dr(e))return{path:e};if(Pa(e)){if(!("path"in e))throw rA(d2.REQUIRED_VALUE,"path");return e}else throw rA(d2.INVALID_VALUE)}function Kmt(e){const{path:t,locale:n,args:r,choice:o,plural:s}=e,a={},l=r||{};return dr(n)&&(a.locale=n),$h(o)&&(a.plural=o),$h(s)&&(a.plural=s),[t,l,a]}function DOi(e,t,...n){const r=Pa(n[0])?n[0]:{};(cl(r.globalInstall)?r.globalInstall:!0)&&([Ymt.name,"I18nT"].forEach(s=>e.component(s,Ymt)),[Zmt.name,"I18nN"].forEach(s=>e.component(s,Zmt)),[e1t.name,"I18nD"].forEach(s=>e.component(s,e1t))),e.directive("t",QOi(t))}const BOi=q6("global-vue-i18n");function ROi(e={}){const t=__VUE_I18N_LEGACY_API__&&cl(e.legacy)?e.legacy:__VUE_I18N_LEGACY_API__,n=cl(e.globalInjection)?e.globalInjection:!0,r=new Map,[o,s]=IOi(e,t),a=q6("");function l(g){return r.get(g)||null}function d(g,m){r.set(g,m)}function u(g){r.delete(g)}const h={get mode(){return __VUE_I18N_LEGACY_API__&&t?"legacy":"composition"},async install(g,...m){if(g.__VUE_I18N_SYMBOL__=a,g.provide(g.__VUE_I18N_SYMBOL__,h),Pa(m[0])){const k=m[0];h.__composerExtend=k.__composerExtend,h.__vueI18nExtend=k.__vueI18nExtend}let v=null;!t&&n&&(v=VOi(g,h.global)),__VUE_I18N_FULL_INSTALL__&&DOi(g,h,...m),__VUE_I18N_LEGACY_API__&&t&&g.mixin(_Oi(s,s.__composer,h));const f=g.unmount;g.unmount=()=>{v&&v(),h.dispose(),f()}},get global(){return s},dispose(){o.stop()},__instances:r,__getInstance:l,__setInstance:d,__deleteInstance:u};return h}function iI(e={}){const t=qq();if(t==null)throw rA(d2.MUST_BE_CALL_SETUP_TOP);if(!t.isCE&&t.appContext.app!=null&&!t.appContext.app.__VUE_I18N_SYMBOL__)throw rA(d2.NOT_INSTALLED);const n=MOi(t),r=FOi(n),o=Fwn(t),s=POi(e,o);if(s==="global")return Nwn(r,e,o),r;if(s==="parent"){let d=NOi(n,t,e.__useComponent);return d==null&&(d=r),d}const a=n;let l=a.__getInstance(t);if(l==null){const d=xf({},e);"__i18n"in o&&(d.__i18n=o.__i18n),r&&(d.__root=r),l=IZe(d),a.__composerExtend&&(l[oMe]=a.__composerExtend(l)),jOi(a,t,l),a.__setInstance(t,l)}return l}function IOi(e,t){const n=vne(),r=__VUE_I18N_LEGACY_API__&&t?n.run(()=>sMe(e)):n.run(()=>IZe(e));if(r==null)throw rA(d2.UNEXPECTED_ERROR);return[n,r]}function MOi(e){const t=bt(e.isCE?BOi:e.appContext.app.__VUE_I18N_SYMBOL__);if(!t)throw rA(e.isCE?d2.NOT_INSTALLED_WITH_PROVIDE:d2.UNEXPECTED_ERROR);return t}function POi(e,t){return V4e(e)?"__i18n"in t?"local":"global":e.useScope?e.useScope:"local"}function FOi(e){return e.mode==="composition"?e.global:e.global.__composer}function NOi(e,t,n=!1){let r=null;const o=t.root;let s=UOi(t,n);for(;s!=null;){const a=e;if(e.mode==="composition")r=a.__getInstance(s);else if(__VUE_I18N_LEGACY_API__){const l=a.__getInstance(s);l!=null&&(r=l.__composer,n&&r&&!r[Pwn]&&(r=null))}if(r!=null||o===s)break;s=s.parent}return r}function UOi(e,t=!1){return e==null?null:t&&e.vnode.ctx||e.parent}function jOi(e,t,n){vn(()=>{},t),fl(()=>{const r=n;e.__deleteInstance(t);const o=r[oMe];o&&(o(),delete r[oMe])},t)}const WOi=["locale","fallbackLocale","availableLocales"],Jmt=["t","rt","d","n","tm","te"];function VOi(e,t){const n=Object.create(null);return WOi.forEach(o=>{const s=Object.getOwnPropertyDescriptor(t,o);if(!s)throw rA(d2.UNEXPECTED_ERROR);const a=Nn(s.value)?{get(){return s.value.value},set(l){s.value.value=l}}:{get(){return s.get&&s.get()}};Object.defineProperty(n,o,a)}),e.config.globalProperties.$i18n=n,Jmt.forEach(o=>{const s=Object.getOwnPropertyDescriptor(t,o);if(!s||!s.value)throw rA(d2.UNEXPECTED_ERROR);Object.defineProperty(e.config.globalProperties,`$${o}`,s)}),()=>{delete e.config.globalProperties.$i18n,Jmt.forEach(o=>{delete e.config.globalProperties[`$${o}`]})}}const zOi=et({name:"i18n-d",props:xf({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},MZe),setup(e,t){const n=e.i18n||iI({useScope:e.scope,__useComponent:!0});return jwn(e,t,Dwn,(...r)=>n[iMe](...r))}}),e1t=zOi;wOi();eOi(Iwi);tOi(qwi);nOi(KIe);if(__INTLIFY_PROD_DEVTOOLS__){const e=YT();e.__INTLIFY__=!0,Mwi(e.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__)}function HOi(e,t){return hz()?(XQ(e,t),!0):!1}function t1t(){const e=new Set,t=s=>{e.delete(s)};return{on:s=>{e.add(s);const a=()=>t(s);return HOi(a),{off:a}},off:t,trigger:(...s)=>Promise.all(Array.from(e).map(a=>a(...s))),clear:()=>{e.clear()}}}const Wwn=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const $Oi=Object.prototype.toString,XOi=e=>$Oi.call(e)==="[object Object]",aMe=()=>{},GOi=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);function YOi(...e){if(e.length!==1)return Ma(...e);const t=e[0];return typeof t=="function"?a6(wYe(()=>({get:t,set:aMe}))):he(t)}function Vwn(e,t){function n(...r){return new Promise((o,s)=>{Promise.resolve(e(()=>t.apply(this,r),{fn:t,thisArg:this,args:r})).then(o).catch(s)})}return n}const zwn=e=>e();function ZOi(...e){let t=0,n,r=!0,o=aMe,s,a,l,d,u;!Nn(e[0])&&typeof e[0]=="object"?{delay:a,trailing:l=!0,leading:d=!0,rejectOnCancel:u=!1}=e[0]:[a,l=!0,d=!0,u=!1]=e;const h=()=>{n&&(clearTimeout(n),n=void 0,o(),o=aMe)};return m=>{const v=Po(a),f=Date.now()-t,k=()=>s=m();return h(),v<=0?(t=Date.now(),k()):(f>v?(t=Date.now(),(d||!r)&&k()):l&&(s=new Promise((A,p)=>{o=u?p:A,n=setTimeout(()=>{t=Date.now(),r=!0,A(k()),h()},Math.max(0,v-f))})),!d&&!n&&(n=setTimeout(()=>r=!0,v)),r=!1,s)}}function qOi(e=zwn,t={}){const{initialState:n="active"}=t,r=YOi(n==="active");function o(){r.value=!1}function s(){r.value=!0}return{isActive:a6(r),pause:o,resume:s,eventFilter:(...l)=>{r.value&&e(...l)}}}function y_e(e){return Array.isArray(e)?e:[e]}function KOi(e){return ps()}function JOi(e,t=200,n=!1,r=!0,o=!1){return Vwn(ZOi(t,n,r,o),e)}function eyi(e,t,n={}){const{eventFilter:r=zwn,...o}=n;return pt(e,Vwn(r,t),o)}function tyi(e,t,n={}){const{eventFilter:r,initialState:o="active",...s}=n,{eventFilter:a,pause:l,resume:d,isActive:u}=qOi(r,{initialState:o});return{stop:eyi(e,t,{...s,eventFilter:a}),pause:l,resume:d,isActive:u}}function nyi(e,t=!0,n){KOi()?vn(e,n):t?e():li(e)}function iyi(e,t,n){return pt(e,t,{...n,immediate:!0})}const qx=Wwn?window:void 0,ryi=Wwn?window.document:void 0;function PZe(e){var t;const n=Po(e);return(t=n==null?void 0:n.$el)!==null&&t!==void 0?t:n}function r0(...e){const t=(r,o,s,a)=>(r.addEventListener(o,s,a),()=>r.removeEventListener(o,s,a)),n=G(()=>{const r=y_e(Po(e[0])).filter(o=>o!=null);return r.every(o=>typeof o!="string")?r:void 0});return iyi(()=>{var r,o;return[(r=(o=n.value)===null||o===void 0?void 0:o.map(s=>PZe(s)))!==null&&r!==void 0?r:[qx].filter(s=>s!=null),y_e(Po(n.value?e[1]:e[0])),y_e(Ae(n.value?e[2]:e[1])),Po(n.value?e[3]:e[2])]},([r,o,s,a],l,d)=>{if(!(r!=null&&r.length)||!(o!=null&&o.length)||!(s!=null&&s.length))return;const u=XOi(a)?{...a}:a,h=r.flatMap(g=>o.flatMap(m=>s.map(v=>t(g,m,v,u))));d(()=>{h.forEach(g=>g())})},{flush:"post"})}const Vse=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},zse="__vueuse_ssr_handlers__",oyi=syi();function syi(){return zse in Vse||(Vse[zse]=Vse[zse]||{}),Vse[zse]}function ayi(e,t){return oyi[e]||t}function lyi(e){return e==null?"any":e instanceof Set?"set":e instanceof Map?"map":e instanceof Date?"date":typeof e=="boolean"?"boolean":typeof e=="string"?"string":typeof e=="object"?"object":Number.isNaN(e)?"any":"number"}const cyi={boolean:{read:e=>e==="true",write:e=>String(e)},object:{read:e=>JSON.parse(e),write:e=>JSON.stringify(e)},number:{read:e=>Number.parseFloat(e),write:e=>String(e)},any:{read:e=>e,write:e=>String(e)},string:{read:e=>e,write:e=>String(e)},map:{read:e=>new Map(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e.entries()))},set:{read:e=>new Set(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e))},date:{read:e=>new Date(e),write:e=>e.toISOString()}},n1t="vueuse-storage";function Hwn(e,t,n,r={}){var o;const{flush:s="pre",deep:a=!0,listenToStorageChanges:l=!0,writeDefaults:d=!0,mergeDefaults:u=!1,shallow:h,window:g=qx,eventFilter:m,onError:v=T=>{console.error(T)},initOnMounted:f}=r,k=(h?id:he)(typeof t=="function"?t():t),A=G(()=>Po(e));if(!n)try{n=ayi("getDefaultStorage",()=>qx==null?void 0:qx.localStorage)()}catch(T){v(T)}if(!n)return k;const p=Po(t),b=lyi(p),w=(o=r.serializer)!==null&&o!==void 0?o:cyi[b],{pause:O,resume:y}=tyi(k,T=>E(T),{flush:s,deep:a,eventFilter:m});pt(A,()=>D(),{flush:s});let C=!1;const _=T=>{f&&!C||D(T)},S=T=>{f&&!C||P(T)};g&&l&&(n instanceof Storage?r0(g,"storage",_,{passive:!0}):r0(g,n1t,S)),f?nyi(()=>{C=!0,D()}):D();function L(T,M){if(g){const B={key:A.value,oldValue:T,newValue:M,storageArea:n};g.dispatchEvent(n instanceof Storage?new StorageEvent("storage",B):new CustomEvent(n1t,{detail:B}))}}function E(T){try{const M=n.getItem(A.value);if(T==null)L(M,null),n.removeItem(A.value);else{const B=w.write(T);M!==B&&(n.setItem(A.value,B),L(M,B))}}catch(M){v(M)}}function Q(T){const M=T?T.newValue:n.getItem(A.value);if(M==null)return d&&p!=null&&n.setItem(A.value,w.write(p)),p;if(!T&&u){const B=w.read(M);return typeof u=="function"?u(B,p):b==="object"&&!Array.isArray(B)?{...p,...B}:B}else return typeof M!="string"?M:w.read(M)}function D(T){if(!(T&&T.storageArea!==n)){if(T&&T.key==null){k.value=p;return}if(!(T&&T.key!==A.value)){O();try{const M=w.write(k.value);(T===void 0||(T==null?void 0:T.newValue)!==M)&&(k.value=Q(T))}catch(M){v(M)}finally{T?li(y):y()}}}}function P(T){D(T.detail)}return k}const dyi={multiple:!0,accept:"*",reset:!1,directory:!1};function uyi(e){if(!e)return null;if(e instanceof FileList)return e;const t=new DataTransfer;for(const n of e)t.items.add(n);return t.files}function hyi(e={}){const{document:t=ryi}=e,n=he(uyi(e.initialFiles)),{on:r,trigger:o}=t1t(),{on:s,trigger:a}=t1t(),l=G(()=>{var g;const m=(g=PZe(e.input))!==null&&g!==void 0?g:t?t.createElement("input"):void 0;return m&&(m.type="file",m.onchange=v=>{n.value=v.target.files,o(n.value)},m.oncancel=()=>{a()}),m}),d=()=>{n.value=null,l.value&&l.value.value&&(l.value.value="",o(null))},u=g=>{const m=l.value;m&&(m.multiple=Po(g.multiple),m.accept=Po(g.accept),m.webkitdirectory=Po(g.directory),GOi(g,"capture")&&(m.capture=Po(g.capture)))},h=g=>{const m=l.value;if(!m)return;const v={...dyi,...e,...g};u(v),Po(v.reset)&&d(),m.click()};return l6(()=>{u(e)}),{files:a6(n),open:h,reset:d,onCancel:s,onChange:r}}function $4e(e,t,n={}){const{window:r=qx}=n;return Hwn(e,t,r==null?void 0:r.localStorage,n)}const fyi={page:e=>[e.pageX,e.pageY],client:e=>[e.clientX,e.clientY],screen:e=>[e.screenX,e.screenY],movement:e=>e instanceof MouseEvent?[e.movementX,e.movementY]:null};function gyi(e={}){const{type:t="page",touch:n=!0,resetOnTouchEnds:r=!1,initialValue:o={x:0,y:0},window:s=qx,target:a=s,scroll:l=!0,eventFilter:d}=e;let u=null,h=0,g=0;const m=id(o.x),v=id(o.y),f=id(null),k=typeof t=="function"?t:fyi[t],A=_=>{const S=k(_);u=_,S&&([m.value,v.value]=S,f.value="mouse"),s&&(h=s.scrollX,g=s.scrollY)},p=_=>{if(_.touches.length>0){const S=k(_.touches[0]);S&&([m.value,v.value]=S,f.value="touch")}},b=()=>{if(!u||!s)return;const _=k(u);u instanceof MouseEvent&&_&&(m.value=_[0]+s.scrollX-h,v.value=_[1]+s.scrollY-g)},w=()=>{m.value=o.x,v.value=o.y},O=d?_=>d(()=>A(_),{}):_=>A(_),y=d?_=>d(()=>p(_),{}):_=>p(_),C=d?()=>d(()=>b(),{}):()=>b();if(a){const _={passive:!0};r0(a,["mousemove","dragover"],O,_),n&&t!=="movement"&&(r0(a,["touchstart","touchmove"],y,_),r&&r0(a,"touchend",w,_)),l&&t==="page"&&r0(s,"scroll",C,_)}return{x:m,y:v,sourceType:f}}function myi(e={}){const{touch:t=!0,drag:n=!0,capture:r=!1,initialValue:o=!1,window:s=qx}=e,a=id(o),l=id(null);if(!s)return{pressed:a,sourceType:l};const d=m=>v=>{var f;a.value=!0,l.value=m,(f=e.onPressed)===null||f===void 0||f.call(e,v)},u=m=>{var v;a.value=!1,l.value=null,(v=e.onReleased)===null||v===void 0||v.call(e,m)},h=G(()=>PZe(e.target)||s),g={passive:!0,capture:r};return r0(h,"mousedown",d("mouse"),g),r0(s,"mouseleave",u,g),r0(s,"mouseup",u,g),n&&(r0(h,"dragstart",d("mouse"),g),r0(s,"drop",u,g),r0(s,"dragend",u,g)),t&&(r0(h,"touchstart",d("touch"),g),r0(s,"touchend",u,g),r0(s,"touchcancel",u,g)),{pressed:a,sourceType:l}}const kyi={editMdPreivew:{title:"编辑",confirm:"保存",cancel:"取消"},imageTools:{copy:"复制图片",preview:"预览",download:"下载",msg:{imageLoadFailed:"图片加载失败",convertFailed:"转换失败",copied:"已复制到剪贴板",copyFailed:"复制失败",downloadFailed:"下载失败",downloadStarted:"开始下载",downloadBlockedOpenNewWindow:"当前图片源可能限制下载,已尝试在新窗口打开"}},migrateShow:{title:"迁移数据",desc:"检测到您有旧版本的数据,是否需要迁移?",hide:"不再显示",confirm:"确定",msg:{migrateSuccess:"数据迁移成功",migrateFailed:"数据迁移失败"}},modelSelect:{placeholder:"请选择模型",type:{image:"图像",text:"文本",video:"视频"},msg:{fetchModelFailed:"获取模型数据失败:"},goSetting:"去设置中添加模型"},storyboardImageCheck:{camera:"镜头",dialogTitle:"选择分镜图",preview:"预览",src:"预览图",title:"标题",duration:"时长",lines:"台词",createTime:"创建时间"}},vyi={title:"ToonFlow设置",menu:{language:"语言设置",vendorConfig:"模型服务",agentConfig:"Agent配置",promptManage:"提示词管理",skillManagement:"Skills技能管理",memoryConfig:"Agent记忆配置",loginConfig:"登录配置",dbConfig:"数据库操作",fileManagement:"文件管理",otherConfig:"其他配置",requestConfig:"请求地址",devConfig:"开发者选项",about:"检查更新",logoutConfig:"退出登录",skillsSkillsManagement:"Skills技能管理"},language:{desc:"选择界面显示语言",msg:{saved:"语言设置已保存"}},vendor:{addVendor:"添加供应商",noVendor:"暂无供应商,请先添加",required:"必填",optionalSection:"选填项",modelSettings:"模型设置",addManually:"手动添加",test:"测试",edit:"编辑",delete:"删除",deleteVendor:"删除供应商",editCode:"编辑代码",updateConfig:"更新配置",addModel:"添加模型",editModel:"编辑模型",displayName:"显示名称",displayNamePlaceholder:"例如:GPT-4o",modelId:"模型标识",modelIdPlaceholder:"例如:gpt-4o",modelType:"模型类型",multimodal:"多模态",supported:"支持",notSupported:"不支持",toolCall:"工具调用",imageMode:"图像模式",videoMode:"视频模式",audioOutput:"音频输出",durationResolution:"时长 / 分辨率映射",durationSec:"时长(秒)",resolution:"分辨率",enterAndPress:"输入后回车",addDurationResolution:"添加一组时长 / 分辨率",testResult:"测试结果",generating:"正在生成中...",addVendorDialog:"添加供应商",codeEditorInfo:"请编写 TypeScript 代码配置供应商信息",reset:"重置",importFile:"导入文件",textModel:"文本模型",imageModel:"图像模型",videoModel:"视频模型",textToImage:"文生图",textToVideo:"文生视频",singleImage:"单图",multiImage:"多图模式",multiReference:"多图参考",gridImage:"网格单图",startEndRequired:"首尾帧(两张必填)",endFrameOptional:"首尾帧(尾帧可选)",startFrameOptional:"首尾帧(首帧可选)",textRef:"文本",imageRef:"图片",videoRef:"视频",audioRef:"音频",audioOptional:"可选",audioOnly:"仅输出有声视频",noAudio:"仅输出无声视频",msg:{getVendorListFailed:"获取供应商列表失败",vendorConfigUpdated:"供应商配置已更新",updateFailed:"更新失败",highRiskConfirm:"⚠️ 高风险操作确认",addVendorRiskBody:"添加新的 AI 供应商将赋予其访问系统 API 的权限,请确认您信任该供应商的代码来源!",iKnowRisk:"我了解风险",cancel:"取消",confirmAgain:"⚠️ 再次确认",addVendorConfirmBody:"确定要添加该供应商吗?添加后它将参与系统的模型调度。",confirmAndAdd:"确认并添加",goBackCheck:"返回检查",vendorAdded:"供应商已成功添加",addFailed:"添加失败",updateVendorRiskBody:"更新 AI 供应商配置将修改其访问系统 API 的权限和行为,请确认您信任修改后的代码来源!",updateVendorConfirmBody:"确定要更新该供应商配置吗?更新后将影响系统的模型调度。",confirmAndUpdate:"确认并更新",updateSuccess:"供应商配置更新成功",fillDisplayName:"请填写显示名称",fillModelId:"请填写模型标识",selectImageMode:"请选择图像模式",selectVideoMode:"请选择视频模式",groupPrefix:"第 {n} 组:",addDuration:"请添加时长",addResolution:"请添加分辨率",selectVendorFirst:"请先选择供应商",modelIdExists:"模型标识已存在",modelAdded:"模型已成功添加",modelUpdated:"模型已成功更新",enterApiKey:"请填写 API KEY",enterApiUrl:"请填写 API URL",testSuccess:"测试成功",imageGenSuccess:"图像生成成功",videoGenSuccess:"视频生成成功",requestFailed:"请求失败:",deleteModelConfirm:"确认删除模型",deleteModelBody:"删除后不可恢复,是否继续?",confirmDelete:"确认删除",modelDeleted:"模型已删除",deleteVendorConfirm:"确认删除供应商",deleteVendorBody:"删除后该供应商下所有模型将一并删除,是否继续?",vendorDeleted:"供应商已删除",deleteFailed:"删除失败",enabled:"已启用",disabled:"已禁用",linkAddVendorRiskBody:"添加新的 AI 供应商将赋予其访问系统 API 的权限,请确认您信任该供应商的链接来源!",importAdd:"添加新的 AI 供应商将赋予其访问系统 API 的权限,请确认您信任该供应商的文件来源!",linkAddFailed:"链接添加失败"},associationSkills:"关联skills",think:"深度思考",code:"代码",linkAddPlaceholder:"输入链接添加",noFileSelected:"成功导入文件",linkAdd:"确认"},agent:{bannerDesc:"使用 Toonflow 官方中转站点,支持一键填入配置,开箱即用,无需手动配置。",visitWebsite:"进入网站",fillKey:"填入KEY",oneClickFill:"一键填入",notOpen:"未开放",notConfigured:"未配置",modelConfig:"模型配置",confirm:"确认",cancel:"取消",selectModel:"选择模型",fillKeyHeader:"填入Toonflow平台的官方KEY",keyPlaceholder:"请输入 KEY",save:"保存",msg:{notAvailable:"该功能暂未开放,敬请期待",configSuccess:"配置成功",updateConfigFailed:"更新配置失败:",keyValid:"KEY有效,已成功连接Toonflow平台",keyInvalid:"KEY无效,请检查后重新输入:",enterKey:"请输入 KEY",saveFailed:"保存失败:",getAgentListFailed:"获取Agent配置列表失败:",toonflowNotFound:"Toonflow官方中转站不存在"}},memory:{warning:"以下配置项已预设为推荐值。除非您清楚了解各项配置的含义及影响,否则建议维持现有设置",vectorModelConfig:"向量模型配置",modelFilePath:"模型文件路径",quantizationType:"量化类型",quantizationPlaceholder:"请输入量化类型",memoryParams:"记忆参数",messagesPerSummary:"触发消息压缩条数",messagesPerSummaryHelp:"保留最近 N 条对话上下文。",shortTermLimit:"单次获取未压缩消息条数",shortTermLimitHelp:"检索时返回的候选记忆条数。",summaryMaxLength:"压缩最大字符",summaryMaxLengthHelp:"消息压缩时允许的最大字符",summaryLimit:"允许查询已压缩消息条数",summaryLimitHelp:"允许查询已压缩消息条数",ragLimit:"搜索记忆条数",ragLimitHelp:"检索时获取的消息数。",deepRetrieveSummaryLimit:"向量召回压缩消息数",deepRetrieveSummaryLimitHelp:"检索压缩消息内容时获取的消息数。",saveConfig:"保存配置",clearMemory:"清空记忆",restoreDefault:"恢复默认配置",msg:{saved:"记忆配置已保存",clearConfirmTitle:"确认清空记忆",clearConfirmBody:"该操作会清空 AI 全局记忆数据,且不可恢复,是否继续?",confirmClear:"确认清空",cancel:"取消",cleared:"记忆已清空",clearFailed:"清空记忆失败"}},login:{username:"用户名",usernamePlaceholder:"请输入用户名",password:"密码",passwordPlaceholder:"请输入密码",modify:"修改",msg:{enterUsername:"请输入用户名",usernameLength:"用户名长度为 2-20 个字符",enterPassword:"请输入密码",passwordLength:"密码长度为 6-20 个字符",fetchFailed:"获取用户信息失败",saveSuccess:"保存成功",saveFailed:"保存失败"}},db:{clearDb:"清空数据库",clearDbDesc:"清空所有数据表中的数据,保留表结构",clearData:"清空数据",confirmAction:"确认操作",msg:{clearDbTitle:"清空数据库",firstConfirm:"确定要清空所有数据表吗?数据清空后无法恢复!",secondConfirm:"这是最后一次确认,清空后所有数据将永久丢失!",keyword:"清空",confirm:"确认",pleaseInput:"请输入",cleared:"所有数据表已清空",operationFailed:"操作失败,请重试",cancelled:"操作已取消"}},skill:{scanSkills:"扫描Skills",addSkill:"新增 Skill",importFromHub:"Toonflow-Hub 导入",filterType:"类型",filterAttribution:"归属",searchPlaceholder:"按名称搜索 skill",search:"查询",totalCount:"共 {count} 条 Skill",typeMain:"核心",typeReferences:"技法",noAttribution:"无归属",noAttributionTip:"⚠️无归属,无法启用Skill",noEmbeddingTip:"⚠️未向量化,无法启用Skill",notEmbedded:"未向量化",stateNormal:"正常",stateGenerating:"生成描述中",stateEmptyDesc:"描述为空",stateAttrError:"归属异常",stateMd5Changed:"MD5变动,建议更新描述",embedding:"向量化",edit:"编辑",delete:"删除",importFromHubDialog:"从 Toonflow-Hub 导入",shareLink:"分享链接",editSkillTitle:"编辑 Skill-",addSkillTitle:"新增 Skill",skillName:"Skill 名称",skillNamePlaceholder:"例如:writing-assistant",path:"路径",attributionAgent:"归属 Agent",selectAttribution:"选择归属 Agent",description:"描述",aiGenerate:"AI生成",descriptionPlaceholder:"描述这个 skill 的用途",cancel:"取消",save:"保存",createSkill:"创建 Skill",attr:{productionDecision:"视频生产-执行导演",productionExecution:"视频生产-摄影指导",productionSupervision:"视频生产-监制",scriptDecision:"剧本Agent-统筹",scriptExecution:"剧本Agent-编剧",scriptSupervision:"剧本Agent-编辑",universalAgent:"制片助理"},msg:{scanSuccess:"扫描成功,共扫描到 {count} 个 Skill 文件",fetchListFailed:"获取 skill 列表失败",fillContentFirst:"请先填写 Markdown 内容",descGenSuccess:"描述生成成功",descGenFailed:"描述生成失败",fillNameFirst:"请先填写 Skill 名称",updateSuccess:"Skill 更新成功",createSuccess:"Skill 创建成功",updateFailed:"Skill 更新失败",createFailed:"Skill 创建失败",deleteConfirmTitle:"确认删除",deleteConfirmBody:"确定要删除 Skill「{name}」吗?此操作不可恢复。",deleteSuccess:"删除成功",deleteFailed:"删除失败",embeddingSuccess:"向量化成功",embeddingFailed:"向量化失败"},fileLost:"文件丢失"},other:{requestTimeout:"请求超时时间",seconds:"秒",inputSeconds:"请输入秒",assetConcurrency:"资产生成并发数",count:"个",inputCount:"请输入个数",chapterRegex:"章节拆分正则",restoreDefault:"恢复默认",regexPlaceholder:"请输入正则表达式",canvasScroll:"画布滚动",canvasIsDisabled:"画布缩放",agentCanvasScalingMethod:"生产页无限画布滚轮操作",zoom:"缩放",scroll:"滚动",isInteracting:"生产页无限画布拖拽性能优化",closeIsInteracting:"关闭",openIsInteracting:"开启"},request:{warning:"如非特殊情况,不需要修改或者配置",apiAddress:"API 地址",apiPlaceholder:"请输入 API 请求地址",save:"保存",reset:"重置",msg:{enterApi:"请输入 API 地址",validUrl:"请输入有效的 HTTP/HTTPS 地址",saved:"请求地址保存成功",reset:"已重置为默认地址",refreshFailed:"刷新失败",refreshSuccess:"刷新成功"},refresh:"刷新"},about:{slogan:"开源的AI驱动漫画 / 分镜创作工具",latestVersion:"当前为最新版本",checkUpdate:"检查更新",codeRepository:"代码仓库",githubRepo:"GitHub 仓库",giteeRepo:"Gitee 仓库",versionUpdate:"版本更新",checkUpdateGithub:"检查更新(GitHub)",getFromGithub:"从GitHub Release 获取最新版本",checkUpdateGitee:"检查更新(Gitee)",getFromGitee:"从Gitee Release获取最新版本",license:"许可证",licenseDesc:"开源许可协议·点击查看详情",updateAvailable:"发现新版本",currentVersion:"当前版本",latestVersionLabel:"最新版本",selectUpdateSource:"选择更新源",github:"GitHub",gitee:"Gitee",confirmUpdate:"确认更新",cancel:"取消",updating:"正在更新...",updateSuccess:"更新成功,请重启应用",updateFailed:"更新失败,请重试",noUpdate:"当前已是最新版本",upToDate:"检测到新版本"},logout:{warning:"退出登录后,您需要重新登录才能继续使用系统。",confirmLogout:"确定要退出登录吗?",logout:"退出登录",msg:{logoutSuccess:"退出登录成功",logoutFailed:"退出登录失败,请重试"}},file:{quickOpen:"快捷打开目录",open:"打开",dockerDesc:'Docker/前后端分离部署请前往"/data/*"目录手动管理文件。',desktopOnly:"该功能仅支持桌面端",folders:{data:"data",dataDesc:"数据目录。",logs:"data/logs",logsDesc:"运行日志与错误日志。",oss:"data/oss",ossDesc:"文件存储相关资源。",skills:"data/skills",skillsDesc:"技能与提示配置文件。",models:"data/models",modelsDesc:"模型文件与配置。",web:"data/web",webDesc:"Web 相关资源,如前端构建产物等。",serve:"data/serve",serveDesc:"后端服务相关文件。"},openFailed:"打开文件夹失败"},dev:{aiDevtool:"切换桌面端模式",devtool:"打开控制台",switchAiDevTool:"关闭/开启 {'@'}ai-sdk/devtools",warning:"以下为开发者工具,谨慎操作!",openDevtool:"打开",devtoolsDoc:"文档地址",devtoolsDesc:"开启后会在Toonflow安装目录创建.devtools文件夹,请确保Toonflow有写入权限(管理员身份运行)。",devtoolsDesc2:"在该目录运行 npx {'@'}ai-sdk/devtools 开启遥测调试",openDevtoolFailed:"打开开发者工具失败,请确保已安装Toonflow桌面端",notInElectron:"WEB环境请手动打开浏览器控制台"}},Ayi={selectProject:"请选择项目",menu:{myProject:"我的项目",taskCenter:"任务中心",novel:"小说原文",scriptAgent:"剧本Agent",scriptManage:"剧本管理",cornerScape:"塑角造景",production:"视频生产",assetCenter:"资产中心",settings:"设置",jumpGithub:"跳转Github"},project:{title:"我的项目",subtitle:"管理您的所有短剧项目",newProject:"新建项目",dialog:{editTitle:"编辑项目",addTitle:"新建项目",save:"保存",ok:"确定",cancel:"取消",projectType:"项目类型",selectType:"选择项目类型",basedOnNovel:"基于小说原文",projectName:"项目名称",projectNamePh:"请输入项目名称",novelType:"小说类型",novelTypePh:"例如:玄幻、科幻、言情",artStyle:"画风",selected:"已选:",selectArtStyle:"请选择画风",newArtStyle:"新建画风",loading:"加载中...",videoRatio:"影片比例",novelIntro:"小说简介",novelIntroPh:"请输入小说简介",editArtStyleTitle:"编辑画风",newArtStyleTitle:"新建画风",artStyleName:"画风名称",artStyleNamePh:"请输入画风名称",artStyleImage:"画风图片",remove:"移除",uploadCover:"上传封面",artStylePrompt:"提示词",aiExtract:"AI提取提示词",promptPlaceholder:"描述提示词",visualManual:"视觉手册",newVisualManual:"新建视觉手册",editVisualManualTitle:"编辑视觉手册",newVisualManualTitle:"新建视觉手册",visualManualName:"视觉手册名称",visualManualNamePh:"请输入视觉手册名称",visualManualCover:"视觉手册封面",visualManualPrompt:"视觉手册提示词",modelData:"选择图片模型",videoModelData:"选择视频模型",prompt:{placeholder:"输入提示词",saveSuccess:"更新成功",title:"提示词"},basedOnScript:"基于剧本",mdFile:"视觉手册文件",directorManual:"导演手册",addDirectorManual:"新建导演手册",editingDirectorManual:"编辑导演手册",newDirecorManualTitle:"新建导演手册",directorManualPrompt:"导演手册提示词",directorManualName:"导演手册名称",directorManualNamePh:"输入导演手册名称",directorFile:"导演手册文件",directorManualCover:"导演手册封面"},msg:{fetchFailed:"获取项目列表失败",notFound:"未找到该项目!",editSuccess:"编辑项目成功",editFailed:"编辑项目失败",addSuccess:"新增项目成功",addFailed:"新增项目失败",deleteHeader:"删除项目",deleteBody:"确定要删除该项目吗?",deleteConfirm:"删除",deleteCancel:"取消",deleteSuccess:"删除项目成功",deleteFailed:"删除项目失败",extractSuccess:"提示词提取成功",extractFailed:"提取失败",enterArtStyleName:"请输入画风名称",artStyleUpdated:"画风已更新",artStyleAdded:"画风已添加",operationFailed:"操作失败",enterVisualManualName:"请输入视觉手册名称",enterVisualManualImage:"请上传视觉手册封面图片",enterVisualManualTabData:"提示词不能为空",visualManualUpdated:"视觉手册已更新",visualManualAdded:"视觉手册已添加",deleteVisualManualHeader:"删除视觉手册",deleteVisualManualBody:"确定要删除视觉手册「{name}」吗?",deleteVisualManualConfirm:"删除",deleteVisualManualCancel:"取消",enterProjectName:"请输入项目名称",enterProjectIntro:"请输入小说简介",enterProjectType:"请输入小说类型",enterArtStyle:"请选择项目视觉手册",enterVideoRatio:"请选择影片比例",enterImageModel:"请选择图片模型",enterVideoModel:"请选择视频模型",visualManualDeleted:"删除成功",selectMode:"请选择模式",deleteDirectorManualHeader:"删除导演手册",deleteDirectorManualBody:"确定要删除导演手册「{name}」吗?",directorManualUpdated:"导演手册已更新",directorManualAdded:"导演手册已添加",directorManual:"请选择项目导演手册"},type:{novel:"基于小说原文",script:"基于小说剧本"}},novel:{importText:"导入原文",batchDelete:"批量删除",eventAnalysis:"事件分析",searchPlaceholder:"搜索原文名称...",search:"搜索",generating:"生成中...",genFailed:"生成失败",none:"无",edit:"编辑",delete:"删除",col:{id:"序号",reel:"卷",chapter:"章节名称",chapterData:"章节内容",event:"事件",operation:"操作"},msg:{batchDeleteHeader:"批量删除",batchDeleteBody:"确定要删除选中的 {count} 条数据吗?",batchDeleteSuccess:"批量删除成功",deleteHeader:"删除确认",deleteBody:"确定要删除章节名称为「{name}」的数据吗?",deleteSuccess:"删除成功",eventAnalysisHeader:"事件分析",eventAnalysisBody:"确定要对选中的 {count} 条数据进行事件分析吗?"},import:{title:"上传小说原文",step1:"第一步",step2:"第二步",step3:"第三步",dragUpload:"拖拽小说原文文件到此处或点击上传",uploadHint:"支持 .txt, .docx 格式,建议文件大小不超过 10MB",or:"或",pasteLabel:"直接粘贴小说原文内容",pastePlaceholder:"请输入小说原文内容",chars:"字符",tooShort:"内容过短,建议至少100字符",parsedChapters:"已解析 {count} 章节",nextStep:"下一步",prevStep:"上一步",selectedInfo:"已勾选:{count}字(小于200000字)",eventAnalysis:"事件分析",saveAndAnalyze:"保存原文并分析事件",col:{chapter:"章",reel:"卷",chapterName:"章节名称",chapterData:"章节内容"},msg:{parseFailed:"文件解析失败,请重新上传",selectFile:"选择文件",docNotSupported:".doc文件不支持解析,请转换为.ts文件",unsupportedType:"不支持的文件类型",fileTooLarge:"文件大小超过10MB,请上传更小的文件",selectChapters:"请先勾选章节",saveSuccess:"小说原文保存成功"},importAdd:"拖拽文件到此处或点击上传",limit:"支持 .ts格式"},editDialog:{title:"编辑小说原文",chapterName:"章节名称",chapterNamePh:"请输入章节名称",eventContent:"事件内容",eventContentPh:"输入事件内容",chapterContent:"章节内容",chapterContentPh:"请输入章节内容",cancel:"取消",save:"保存",msg:{updateSuccess:"小说原文更新成功"}},event:{regenerate:"重新生成事件",batchDelete:"批量删除",noData:"暂无事件数据,点击开始生成",generate:"生成事件",generatingHint:"事件生成中,请稍候...",loading:"加载中...",delete:"删除",col:{id:"事件ID",eventName:"事件名称",chapters:"来源章节",detail:"事件过程",createTime:"创建时间",operation:"操作"},msg:{deleteHeader:"删除事件",deleteBody:"确定要删除这个事件吗?",deleteSuccess:"删除成功",generateSuccess:"事件生成成功",batchDeleteHeader:"批量删除",batchDeleteBody:"确定要删除选中的 {count} 条数据吗?",batchDeleteSuccess:"批量删除成功"}},analysis:{analyzeFirst:"请先分析事件",startAnalysis:"开始分析",chapterHeader:"第{index}章 - {name}",analyzing:"事件分析中"}},scriptAgent:{inputPlaceholder:"请输入内容",chapterEvents:"章节事件",clearMessageMemory:"清空消息记忆",clearSummaryMemory:"清空摘要记忆",clearAllMemory:"清空全部记忆",edit:"编辑",storySkeleton:"故事骨架",adaptationStrategy:"改编策略",script:"剧本",noContent:"暂无内容",relatedAssets:"关联资产",editScript:"编辑剧本",save:"保存",scriptTitle:"标题",titlePlaceholder:"请输入标题",content:"内容",contentPlaceholder:"请输入剧本内容",selectAssets:"选择资产",noAssets:"暂未关联资产",selectAssetsTitle:"选择关联资产",welcomeMsg:"你好!我是 Toonflow 智能助手,需要我开始为您生成剧本吗?",start:"开始",memoryType:{message:"消息记忆",summary:"摘要记忆",all:"全部记忆"},forceGenerate:{title:"是否强制生成",desc:"当前存在尚未完成事件分析的章节,是否仍然强制继续生成?",confirm:"强制生成",cancel:"取消"},msg:{clearConfirm:"确认清空",clearBody:"确定要清空{type}吗?此操作无法撤销。",confirmClear:"确认清空",cancel:"取消",memoryCleared:"{type}已清空",scriptUpdated:"剧本更新成功",scriptUpdateFailed:"更新剧本失败,请稍后再试",searchScriptFailed:"搜索剧本失败",updated:"保存成功",error:"保存失败",reconnect:"重新连接",notReconnect:"重新连接对话会被切断是否确认",keepReconnect:"确认",deleteConfirm:"删除确认",deleteBody:"删除正文",confirmDelete:"确认删除",scriptDeleted:"脚本已删除"},reconnect:"重新连接"},cornerScape:{batchSettings:"批量生成设置",quickActions:"快捷指令",selectUngenerated:"全选未生成项",selectGenerated:"全选已生成项",selectFailed:"全选错误项",invertSelection:"反选",clearSelection:"取消选择",batchPreview:"批预览图片",assetTypeFilter:"素材类型筛选",genModel:"生成模型",resolution:"分辨率",resolutionPh:"请选择分辨率",concurrency:"并发数量",concurrencyPh:"请输入并发数",startBatch:"开始批量生成图片",waitingGen:"等待生成",generating:"生成中",genFailed:"生成失败",imageError:"图片错误",typeRole:"角色",typeScene:"场景",typeTool:"工具",typeUnknown:"未知",descriptionSuffix:"描述:",operateScriptFirst:"请先操作剧本",individualConfig:"单独配置",noImage:"暂无图片",promptLabel:"提示词",promptPh:"请输入提示词",aiPolish:"AI 润色",regenerate:"重新生成",filterRole:"人物",filterScene:"场景",filterTool:"道具",unnamed:"未命名",noDescription:"无描述",msg:{selectModel:"请选择生成模型",selectResolution:"请选择分辨率",enterPrompt:"请输入提示词",enterPromptFirst:"请先输入提示词",genSuccess:"{name} 生成成功",genFailed:"{name} 生成失败",promptGenSuccess:"提示词生成成功",polishFailed:"润色失败,请重试",selectAtLeastOne:"请至少选择一个资产进行批量生成",batchStarted:"开始批量生成,共 {count} 个,并发数 {concurrent}",batchItemFailed:"{name} 生成失败:{error}",batchComplete:"批量生成完成",batchFailed:"批量生成失败",replaceFailed:"替换失败",replaceSuccess:"替换成功",emptyPrompt:"勾选的数据{emptyPromptNames}提示词为空,请先生成提示词",promptGenFail:"提示词生成失败",saveSuccess:"修改提示词成功",saveFailed:"提示词修改失败"},history:"历史图片",confirmReplace:"确认替换",batchGenerationPrompt:"批量生成提示词",generatingPrompt:"生成中"},script:{searchPlaceholder:"搜索剧本名称...",search:"搜索",addScript:"新建剧本",cancelSelectAll:"取消全选",selectAll:"全选",exportScript:"导出剧本",msg:{extracting:"资产提取中",extractFailed:"资产提取失败",extractingInProgress:"正在提取中",projectNotFound:"项目未找到"},add:{title:"新增剧本",scriptName:"剧本名称",scriptNamePh:"请输入剧本名称",uploadFile:"上传文件",dragUpload:"拖拽剧本文件到此处或点击上传",uploadHint:"支持 .txt, .docx 格式,建议文件大小不超过 10MB",scriptContent:"剧本内容",scriptContentPh:"请上传或输入剧本内容...",relatedAssets:"关联资产",selectAssets:"选择资产",noAssets:"暂未关联资产",cancel:"取消",confirm:"确认",msg:{fileReadFailed:"文件读取失败",docNotSupported:".doc文件不支持解析,请转换为.txt或.docx文件",unsupportedType:"不支持的文件类型",fileTooLarge:"文件大小超过10MB,请上传更小的文件",parsing:"文件解析中...",parseFailed:"文件解析失败,请重新上传",selectAssetsTitle:"选择关联资产",enterContent:"请上传或输入剧本内容",enterName:"请输入剧本名称",addSuccess:"剧本添加成功",addFailed:"添加剧本失败,请稍后再试"}},edit:{title:"剧本详情",scriptName:"剧本名称",scriptNamePh:"请输入剧本名称",scriptContent:"剧本内容",scriptContentPh:"请输入剧本内容...",relatedAssets:"关联资产",selectAssets:"选择资产",noAssets:"暂未关联资产",msg:{selectAssetsTitle:"选择关联资产",updateSuccess:"剧本更新成功",updateFailed:"更新剧本失败,请稍后再试"}},deleteScript:"批量删除剧本",extractAssets:"提取资产"},assets:{addPrefix:"新增",batchGenerate:"批量生成",generatePrompt:"生成提示词",generateImage:"生成图片",batchDelete:"批量删除",searchPlaceholder:"搜索资产名称...",search:"搜索",preview:"预览",generate:"生成",edit:"编辑",delete:"删除",generating:"生成中",play:"播放",mediaPreview:"媒体预览",confirmBatch:"是否确认{type}!",model:"模型",resolution:"分辨率",resolutionPh:"请选择分辨率",batchGenPrompt:"批量生成提示词",batchGenImage:"批量生成图片",role:"角色",prop:"道具",scene:"场景",clip:"素材",uploadSuccess:"上传成功",selectAtLeastOne:"请至少选择一个资产",noDescription:"无描述",promptGenSuccess:"「{name}」提示词生成成功",promptGenFail:"「{name}」提示词生成失败:{error}",selectModel:"请选择模型",selectResolution:"请选择分辨率",noPromptForImage:"「{name}」没有提示词,无法生成图片",imageGenSuccess:"「{name}」图片生成成功",imageGenFail:"「{name}」图片生成失败:{error}",confirmDeleteHeader:"确认删除",confirmBatchDeleteBody:"确定要批量删除这些资产吗?此操作无法撤销。",confirmDeleteBody:"确定要删除这资产吗?此操作无法撤销。",deleteBtn:"删除",cancelBtn:"取消",deleteSuccess:"资产删除成功",deleteFail:"资产删除失败",colPreview:"预览",colName:"名称",colPrompt:"提示词",colDescribe:"描述",colRemark:"备注",colCreateTime:"创建时间",colOperation:"操作",add:{name:"名称",namePh:"请输入名称",describe:"描述",describePh:"请输入描述",remark:"备注",remarkPh:"请输入备注",prompt:"提示词",promptPh:"请输入提示词",nameRequired:"请输入名称",describeRequired:"请输入详情",remarkRequired:"请输入备注",updateSuccess:"资产更新成功",addSuccess:"资产添加成功"},gen:{header:"图片生成",uploadRef:"上传参考图片",optional:"可选",promptLabel:"生图提示词",smartGenerate:"智能生成",generatingPrompt:"智能生成提示词中...",promptPlaceholder:"描述您想要生成的图片内容,例如:一个充满科技感的未来城市,霓虹灯闪烁,赛博朋克风格...",selectModel:"选择模型",selectResolution:"选择分辨率",generateBtn:"生成图片",resultTitle:"生成结果",generatedCount:"已生成 {count} 张,请选择一张",generatingLabel:"生成中...",genFailed:"生成失败",confirmSelect:"确认选择",promptSuccess:"提示词生成成功",promptFail:"提示词生成失败",fillPrompt:"请填写提示词",pickResolution:"请选择分辨率",pickModel:"请选择模型",unnamed:"未命名",assetGenSuccess:"资产生成成功",assetGenFail:"资产生成失败",uploadOk:"上传成功",imageSelected:"已选择该图片",imageDeleted:"已删除该图片",imageSaved:"图片已保存",completed:"已完成"},batch:{header:"批量生成",selected:"已选择 {count} 项",selectAll:"全选",clearSelection:"清空选择",inputPh:"请输入内容",saveSelected:"保存选中 ({count})",colPreviewImg:"预览图",selectToSave:"请选择要保存的项目",saveSuccess:"保存成功",saveFail:"保存失败,请重试",promptDone:"提示词生成完成",promptFail:"提示词生成失败",missingPrompts:"有 {count} 个资产缺少提示词,请先生成提示词",imageDone:"图片生成完成",imageGenFail:"图片生成失败",unknownError:"未知错误",promptGenCancelled:"已取消生成"}},production:{selectPlaceholder:"请选择剧集",edit:"编辑",node:{script:{title:"剧本",editDialog:"编辑剧本"},scriptPlan:{title:"导演计划",editDialog:"编辑导演计划"},storyboard:{title:"分镜面板",notGenerated:"未生成",scaleRatio:"缩放比例",gridPreview:"宫格预览",noPreviewImages:"暂无可预览的图片",imageLoadFailed:"图片加载失败",promptPlaceholder:"请输入提示词",prompt:"提示词",editInfo:"提示词修改"},storyboardTable:{title:"分镜表",editDialog:"编辑分镜表"},assets:{title:"衍生资产",generateFailed:"生成失败",notGenerated:"未生成",originalAsset:"原资产",derived:"衍生",noDerivedAssets:"无衍生资产"},poster:{title:"视频封面",coverCount:"{count} 张"},workbench:{title:"视频工作台"}},editImage:{upload:"上传",generate:"生成",saveFailed:"保存失败,请重试",fetchFailed:"获取数据失败",generating:"生成中...",deleteNode:"删除节点",ratio:"比例",quality:"质量",generateBtn:"生成图片",selectImage:"选择图片",imageGeneration:"图片生成",promptPlaceholder:"描述你想要生成的图片...",imageRef:"图{index}",videoRef:"视频{index}",audioRef:"音频{index}",reference:"参考{index}",noReferences:"暂无可引用的参考文件",selectModel:"请先选择模型",selectQuality:"请选择画质",selectRatio:"请选择比例",generateFailed:"生成失败",generateFirst:"请先生成图片",generatedResult:"生成结果",waitingGenerate:"等待生成",layoutLR:"自动排版-左右布局",layoutTB:"自动排版-上下布局",uploadAssetImage:"资产图片上传",uploadStoryboardImage:"分镜图片上传",uploadImage:"资产图片上传",mode:"模式",closeConfirmTitle:"是否关闭编辑面板?",closeConfirmBody:"关闭之后未保存的数据会丢失"},save:"选取",cancel:"取消",chatBox:{inputPlaceholder:"输入消息...",generateDerivedAssets:"生成衍生资产",welcomeMessage:"你好!我是你的 AI 助手,有什么可以帮你的吗?",adjustModel:"调整模型",startMakingVideo:"开始制作视频",startMakingVideoPrompt:"请帮我开始制作视频",clearMessageMemory:"清除消息记忆",clearSummaryMemory:"清除摘要记忆",clearAllMemory:"清除所有记忆",messageMemory:"消息记忆",summaryMemory:"摘要记忆",allMemory:"所有记忆",confirmClear:"清除记忆",confirmClearBody:"确定要清除{type}吗?",confirmClearBtn:"确定清除",memoryCleared:"{type}已清除"},wb:{quickPreview:"快速预览",videoGeneration:"分镜台",videoEditing:"剪辑台",hint:"提示",extractLines:"是否从视频中提取台词?",no:"否",confirm:"确定",extractLinesQuestion:"是否从视频中提取台词作为字幕?",importingLoading:"正在导入中,请稍候...",mainTrackVideo:"主轨道(视频)",subtitle1:"字幕1",storyboardVideoName:"分镜视频-{storyboard}.mp4"},preview:{noImage:"暂无图片",storyboardDesc:"分镜描述",serialNumber:"序号",noDescription:"暂无描述",duration:"时长",seconds:"秒",relatedAssets:"涉及资产",role:"角色",prop:"道具",scene:"场景",noCharacters:"暂无出场人物",imagePrompt:"图片提示词",selectAll:"全选",exportImage:"导出图片",sceneDescription:"画面描述",promptLabel:"提示词",restoreSort:"还原排序",restoreSortConfirm:"确定要还原为初始排序吗?",tip:"提示",selectAtLeastOne:"请至少选择一个分镜进行导出",exportFilename:"分镜图片.zip"},generate:{noVideo:"暂无数据",videoPrompt:"视频提示词",promptPlaceholder:"输入提示词,描述你想要生成的视频内容...",refImage:"参考图",image:"图片",refVideo:"参考视频",refImageLabel:"参考图片",refAudio:"参考音频",muteAudio:"关闭音频",enableAudio:"开启音频",resolution:"分辨率",duration:"时长",generate:"生成",historyVersions:"历史版本",confirmSelection:"确认选中",noHistory:"暂无历史记录",generating:"生成中",generatingPrompt:"智能生成提示词中",generateFailed:"生成失败",selectAll:"全选",videoTrack:"视频轨道",batchGenerate:"批量生成",importToEditor:"导入剪辑台",modeSingleImage:"单图",modeMultiImage:"多图",modeGridImage:"网格多图",modeStartEnd:"首尾帧",modeText:"文生视频",modeVideoRef:"视频参考",modeImageRef:"图片参考",modeAudioRef:"音频参考",modeTextRef:"文本参考",startFrame:"首帧",startFrameOptional:"首帧(可选)",endFrame:"尾帧",endFrameOptional:"尾帧(可选)",selectRefImage:"选择参考图",selectRefImages:"选择参考图片",selectEndFrame:"选择尾帧图",selectRefVideoAsset:"选择参考视频",selectRefAudioAsset:"选择参考音频",selectRefImageAsset:"选择参考图片",selectImageSource:"选择图片来源",fromStoryboard:"分镜图",fromStoryboardDesc:"从分镜列表中选择图片",fromAssets:"资产图",fromAssetsDesc:"从资产库中选择图片",confirmDelete:"确认删除",confirmDeleteBody:"确定要删除这个视频吗?此操作无法撤销。",delete:"删除",cancel:"取消",deleteSuccess:"视频删除成功",deleteFailed:"删除失败",selectVideoFirst:"请先选择一个视频",confirmSuccess:"确认选中成功",batchSubmitted:"已提交批量生成请求,正在处理中...",configNotFound:"配置不存在",stateSuccess:"生成成功",statePending:"待生产",pollingFailed:"视频状态查询失败,请手动刷新",batchGeneratePrompt:"批量生成提示词",promptEmpty:"请先输入视频提示词",modelEmpty:"请先选择视频生成模型",batchPromptEmpty:"分镜 {names} 的视频提示词为空,请先生成或填写提示词",batchModelEmpty:"分镜 {names} 未配置视频生成模型,请先选择模型"},editVideo:{reset:"重置",undo:"撤销",redo:"重做",split:"分割",delete:"删除",rendering:"渲染中...",exportVideo:"导出视频",exportSuccess:"视频导出完成",exportFailed:"导出失败",sampleSubtitle:"示例字幕文本",customText:"自定义文本内容",transitionBetweenClips:"转场需要添加在两个相邻的 Clip 之间",transitionExists:"该位置已存在转场",videoPreviewArea:"视频预览区域",clipMaterials:"剪辑素材",propertyPanel:"属性面板",selectClip:"选择一个 Clip 查看属性",basicInfo:"基础信息",name:"名称",clipNamePlaceholder:"Clip 名称",startTime:"开始",endTime:"结束",totalDuration:"总时长",videoProperties:"视频属性",opacity:"不透明度",volume:"音量",playbackSpeed:"播放速度",audioProperties:"音频属性",fadeIn:"淡入",fadeOut:"淡出",transitionProperties:"转场属性",transitionType:"转场类型",transFade:"淡入淡出",transSlide:"滑动",transWipe:"擦除",transDissolve:"溶解",transZoom:"缩放",transRotate:"旋转",transitionDuration:"转场时长",subtitleProperties:"字幕属性",textContent:"文本内容",fontSize:"字体大小",copy:"复制",deleteConfirm:"删除确认",deleteClipConfirm:"确定要删除这个 Clip 吗?",avCanvasNotInit:"AVCanvas 尚未初始化",noExportContent:"没有可导出的内容",exportProject:"导出项目",transitionAdded:"已添加转场: {name}",splitClip:"分割片段",deleteClip:"删除片段",addClip:"添加 {name}",duplicateClip:"复制 Clip",addTransition:"添加转场",updateClip:"更新 Clip {key}",updatePlaybackRate:"更新播放倍速为 {rate}x",updateTransitionDuration:"更新转场时长",playbackRateRange:"播放倍速必须在 0.1 到 10 之间",updatePlaybackRateFailed:"更新播放倍速失败:",importProject:"导入项目",import:"导入"},clipType:{video:"视频",audio:"音频",subtitle:"字幕",transition:"转场",sticker:"贴纸",filter:"滤镜",effect:"特效"},track:{video:"视频",image:"图片",audio:"音频",subtitle:"字幕",text:"文本",sticker:"贴纸",filter:"滤镜",effect:"特效"},transition:{fade:"淡入淡出",slide:"滑动",slideLeft:"向左滑动",slideRight:"向右滑动",slideUp:"向上滑动",slideDown:"向下滑动",wipe:"擦除",wipeLeft:"向左擦除",wipeRight:"向右擦除",wipeUp:"向上擦除",wipeDown:"向下擦除",dissolve:"溶解",zoom:"缩放",zoomIn:"放大",zoomOut:"缩小",rotate:"旋转",circle:"圆形",diamond:"菱形",clock:"时钟",blur:"模糊"},media:{titleText:"标题文本",subtitleText:"字幕文本",customText:"自定义文本",media:"媒体",image:"图片",audio:"音频",subtitle:"字幕",transition:"转场",effect:"特效",filter:"滤镜",loading:"加载中...",subtitlePreview:"字",video:"视频"},effect:{fadeIn:"淡入",fadeOut:"淡出",flash:"闪烁",shake:"抖动",zoomIn:"放大进入",zoomOut:"缩小退出",pulse:"脉冲",rotateIn:"旋转进入",sticker1:"贴纸 1",sticker2:"贴纸 2"},filter:{grayscale:"黑白",sepia:"复古",warm:"暖色",cool:"冷色",vivid:"鲜艳",bright:"明亮",highContrast:"高对比",blur:"模糊",invert:"反色",semiTransparent:"半透明"},guideSwitchEpisode:"切换剧集",guideSwitchEpisodeBody:"切换剧集挪移到这里了哦",guideRefresh:"刷新数据",guideRefreshBody:"点击刷新按钮重新获取工作区数据",guideCanvasNav:"画布操作",guideCanvasNavBody:"滚轮上下平移画布,Ctrl + 滚轮缩放画布,按住鼠标左键拖拽自由平移",guideRightChat:"AI 对话",guideRightChatBody:"在右侧对话框中与 AI 交流,驱动自动化流程",guideLayoutBtn:"自动排版",guideLayoutBtnBody:"点击此按钮可自动整理节点布局",autoLayoutLR:"自动排版-左右布局",autoLayoutTB:"自动排版-上下布局",getFlowData:"刷新工作区",confirm:"切换剧集确认",confirmEpisodesSwitch:"当前任务仍在进行中,切换剧集会重连会话,是否继续切换?"},task:{title:"任务列表",subtitle:"您的最新任务执行记录",refresh:"刷新",categoryLabel:"任务大类:",stateLabel:"状态:",noFailReason:"暂无失败原因",stateAll:"全部",stateRunning:"进行中",stateCompleted:"已完成",stateFailed:"生成失败",fetchFailed:"获取任务列表失败",col:{taskClass:"任务大类",relatedObjects:"关联对象",model:"模型",describe:"描述",state:"状态",startTime:"时间"},project:"项目名称:"},noVideo:"暂无视频",prompt:"视频提示词",generateText:"AI生成提示词",selectStoryboard:"选择分镜",generate:{noVideo:"暂无数据",prompt:"视频提示词",generateText:"AI生成提示词",selectStoryboard:"选择分镜",generate:"生成视频",history:"历史版本",generating:"生成中",generateFailed:"失败",selectAll:"全选",selected:"已选",batchGenerateText:"批量生成提示词",batchGenerateVideo:"批量生成视频",importVideo:"导入剪辑台",emptyTrack:"第{index}段",del:"删除",delConfirm:"确认删除该段?",selectSource:"选择来源",confirm:"从资产选择",cancel:"从分镜选择",generateSuccess:"视频生成成功",selectVideoFailed:"视频选择失败",selectVideoSuccess:"视频选择成功",selectTrackFirst:"请先选择分镜",noSelectedVideo:"没有选择的视频",generateConfirm:"确认生成",generateConfirmBody:"是否确认生成视频",generateVideosInBatches:"批量生成视频",generateStarted:"生成开始",promptEmpty:"勾选需要生成视频的数据有提示词为空,是否继续生成",skipDataWithEmptyVideoPromptWords:"需要生成的视频数据存在提示词为空",duration:"时长",resolution:"分辨率",delVideo:"确认删除此视频?",delSuccess:"删除成功",addReference:"添加参考",promptPlaceholder:"请输入视频提示词",downloadVideo:"批量下载视频",selectVideo:"请勾选需要下载的视频"}},pyi={slogan:"智能短剧创作平台",tips:"默认账号:admin / admin123",settings:"服务器设置",requestAddress:"请求地址",username:"用户名",password:"密码",login:"登录",usernameRequired:"请输入用户名",passwordRequired:"请输入密码",enterUsernameAndPassword:"请输入用户名或密码",loginSuccess:"登录成功",settingsSaved:"设置已保存"},byi={cancel:"取消",confirm:"确定",selectAssets:"选择资产",sessionExpired:"登录已过期,请重新登录",openSettings:"打开设置",cancelled:"已取消生成",defaultReel:"正文卷",save:"保存",submitting:"提交中",editSuccess:"修改成功",editFailed:"修改失败",submit:"提交"},wyi={prompt:"提示词"},Oyi={welcomeTitle:"欢迎使用 ToonFlow",welcomeDesc:"AI 驱动的漫画创作工作流平台,让我们花一分钟完成初始配置。",startConfig:"开始配置",skip:"跳过引导",configModel:"添加模型服务",configData:"配置 Agent",startUse:"开始使用",configModelTitle:"添加模型服务供应商",configModelDesc:"首先,你需要在设置中添加至少一个 AI 模型服务供应商(如 OpenAI、Claude 等),并填写对应的 API Key。",configModelTip:"点击下方按钮将打开设置页面的「模型服务」选项卡,添加供应商后回到此处继续。",configModelBtn:"前往配置模型服务",configAgentTitle:"分配 Agent 模型",configAgentDesc:"接下来,在 Agent 配置中为各个功能模块分配模型,这样系统才知道调用哪个模型来完成任务。",configAgentTip:"点击下方按钮将打开设置页面的「Agent 配置」选项卡,为各功能分配模型后回到此处。",configAgentBtn:"前往配置 Agent",finishTitle:"🎉 一切就绪!",finishDesc:"配置完成,现在你可以开始使用所有功能了。如需调整,随时可以在设置中修改。",qrcodeLabel:"加入微信交流群,获取更多帮助:",githubLabel:"如果觉得好用,请给我们一个 ⭐ Star 吧!",prevStep:"上一步",nextStep:"下一步",finish:"开始使用"},yyi={skillManagement:{search:"搜索文件名",empty:"没有匹配的文件",edit:"编辑",selectOnTheLeft:"请从左侧选择文件"}},Cyi={assetsNotExists:"资产不存在",assets:{notExist:"资产不存在",notDerivativeExist:"衍生资产不存在",derivativeUpdateSuccess:"更新成功",derivativeState:"未生成",derivativeAddSuccess:"添加成功",derivativeDelSuccess:"删除成功",notGenerated:"未生成"},addSuccess:"更新成功",state:{unused:"未生成"},saveSuccess:"添加成功"},_yi={generating:"生成中"},Syi={scanning:"🔍 正在解析加载Skill",scanComplete:"✨ Skill 扫描完成",inserted:"✅ 新增{count}个Skill",updated:"🔄 更新{count}个Skill",removed:"🗑️ 移除{count}个Skill",scannedFiles:"📁 扫描 {count} 个文件",noDescription:"📝 {count}个Skill缺少描述",noAttribution:"👤 {count}个Skill缺少归属",configWarning:"⚠️ Skill 配置警告",openSettings:"打开设置",scanFailed:"❌ 扫描失败",checkNetwork:"🔌 请检查网络连接或稍后重试",retryLater:"🔁 请稍后重试"},Lyi="生成视频",xyi="历史版本",Eyi="生成中",Tyi="失败",Qyi="全选",Dyi="已选 ",Byi="导入视频",Ryi="123",Iyi="确认删除",Myi="确认删除该段?",Pyi="选择来源",Fyi="从资产选择",Nyi="从分镜选择",Uyi={components:kyi,settings:vyi,workbench:Ayi,login:pyi,common:byi,"workbench.project.msg.enterProjectQuality":"请选择图片质量",promptManage:wyi,"workbench.production.node.storyboard.batchGenerateImage":"重新生成","workbench.production.node.storyboard.batchGenerateFailed":"生成失败","workbench.production.node.storyboard.batchGenerateSuccess":"开始生成分镜","workbench.production.node.storyboard.removeFailed":"删除分镜失败","workbench.production.node.storyboard.editNode":"编辑","workbench.production.node.storyboard.deleteNode":"删除","workbench.production.node.storyboard.confirmDeleteBody":"确认是否删除该分镜",hello:Oyi,setting:yyi,storyboard:Cyi,productionAgent:_yi,skillScan:Syi,generate:Lyi,history:xyi,generating:Eyi,generateFailed:Tyi,selectAll:Qyi,selected:Dyi,importVideo:Byi,emptyTrack:Ryi,del:Iyi,delConfirm:Myi,selectSource:Pyi,confirm:Fyi,cancel:Nyi,"workbench.script.msg.waitExtract":"等待提取","workbench.script.msg.exportSuccess":"导出成功","workbench.script.msg.exportFailed":"导出失败","workbench.production.node.storyboard.videoDescPlaceholder":"请输入视频描述","workbench.production.node.storyboard.videoDesc":"视频描述","workbench.production.node.assets.confirmDeleteBody":"确认是否删除该资产","workbench.production.node.assets.removeFailed":"删除资产失败"},jyi={editMdPreivew:{title:"編輯",confirm:"儲存",cancel:"取消"},imageTools:{copy:"複製圖片",preview:"預覽",download:"下載",msg:{imageLoadFailed:"圖片載入失敗",convertFailed:"轉換失敗",copied:"已複製到剪貼簿",copyFailed:"複製失敗",downloadFailed:"下載失敗",downloadStarted:"開始下載",downloadBlockedOpenNewWindow:"目前的圖片來源可能限制下載,已嘗試在新視窗開啟"}},migrateShow:{title:"轉移資料",desc:"偵測到您有舊版本的資料,是否需要轉移?",hide:"不再顯示",confirm:"確定",msg:{migrateSuccess:"資料轉移成功",migrateFailed:"資料轉移失敗"}},modelSelect:{placeholder:"請選擇模型",type:{image:"圖片",text:"文字",video:"影片"},msg:{fetchModelFailed:"取得模型資料失敗:"},goSetting:"去設定中加入模型"},update:{title:"發現新版本",currentVersion:"目前版本:",latestVersion:"最新版本:",tip:"發現新版本,建議您更新以獲得更好的體驗",later:"稍後提醒",updateNow:"立即更新"}},Wyi={title:"ToonFlow 設定",menu:{language:"語言設定",vendorConfig:"模型服務",agentConfig:"Agent 設定",promptManage:"提示詞管理",skillManagement:"Skills技能管理",memoryConfig:"Agent 記憶設定",loginConfig:"登入設定",dbConfig:"資料庫操作",fileManagement:"檔案管理",otherConfig:"其他設定",requestConfig:"請求網址",about:"檢查更新",logoutConfig:"登出",skillsSkillsManagement:"Skills技能管理"},language:{desc:"選擇介面顯示語言",msg:{saved:"語言設定已儲存"}},vendor:{addVendor:"新增供應商",noVendor:"暫無供應商,請先新增",required:"必填",optionalSection:"選填項目",modelSettings:"模型設定",addManually:"手動新增",test:"測試",edit:"編輯",delete:"刪除",deleteVendor:"刪除供應商",editCode:"編輯程式碼",updateConfig:"更新設定",addModel:"新增模型",editModel:"編輯模型",displayName:"顯示名稱",displayNamePlaceholder:"例如:GPT-4o",modelId:"模型 ID",modelIdPlaceholder:"例如:gpt-4o",modelType:"模型類型",multimodal:"多模態",supported:"支援",notSupported:"不支援",toolCall:"工具呼叫",imageMode:"圖片模式",videoMode:"影片模式",audioOutput:"音訊輸出",durationResolution:"時長 / 解析度對應",durationSec:"時長(秒)",resolution:"解析度",enterAndPress:"輸入後按下 Enter",addDurationResolution:"新增一組時長 / 解析度",testResult:"測試結果",generating:"正在生成中...",addVendorDialog:"新增供應商",codeEditorInfo:"請撰寫 TypeScript 程式碼設定供應商資訊",reset:"重設",importFile:"匯入檔案",textModel:"文字模型",imageModel:"圖片模型",videoModel:"影片模型",textToImage:"文字生成圖片",textToVideo:"文字生成影片",singleImage:"單圖",multiImage:"多圖模式",multiReference:"多圖參考",gridImage:"網格單圖",startEndRequired:"首尾影格(兩張必填)",endFrameOptional:"首尾影格(尾影格選填)",startFrameOptional:"首尾影格(首影格選填)",textRef:"文字",imageRef:"圖片",videoRef:"影片",audioRef:"音訊",audioOptional:"選填",audioOnly:"僅輸出有聲影片",noAudio:"僅輸出無聲影片",msg:{getVendorListFailed:"取得供應商列表失敗",vendorConfigUpdated:"供應商設定已更新",updateFailed:"更新失敗",highRiskConfirm:"⚠️ 高風險操作確認",addVendorRiskBody:"新增的 AI 供應商將賦予其存取系統 API 的權限,請確認您信任該供應商的程式碼來源!",iKnowRisk:"我了解風險",cancel:"取消",confirmAgain:"⚠️ 再次確認",addVendorConfirmBody:"確定要新增該供應商嗎?新增後它將參與系統的模型排程。",confirmAndAdd:"確認並新增",goBackCheck:"返回檢查",vendorAdded:"供應商已成功新增",addFailed:"新增失敗",updateVendorRiskBody:"更新 AI 供應商設定將修改其存取系統 API 的權限和行為,請確認您信任修改後的程式碼來源!",updateVendorConfirmBody:"確定要更新該供應商設定嗎?更新後將影響系統的模型排程。",confirmAndUpdate:"確認並更新",updateSuccess:"供應商設定更新成功",fillDisplayName:"請填寫顯示名稱",fillModelId:"請填寫模型 ID",selectImageMode:"請選擇圖片模式",selectVideoMode:"請選擇影片模式",groupPrefix:"第 {n} 組:",addDuration:"請新增時長",addResolution:"請新增解析度",selectVendorFirst:"請先選擇供應商",modelIdExists:"模型 ID 已存在",modelAdded:"模型已成功新增",modelUpdated:"模型已成功更新",enterApiKey:"請填寫 API KEY",enterApiUrl:"請填寫 API URL",testSuccess:"測試成功",imageGenSuccess:"圖片生成成功",videoGenSuccess:"影片生成成功",requestFailed:"請求失敗",deleteModelConfirm:"確認刪除模型",deleteModelBody:"刪除後不可恢復,是否繼續?",confirmDelete:"確認刪除",modelDeleted:"模型已刪除",deleteVendorConfirm:"確認刪除供應商",deleteVendorBody:"刪除後該供應商下所有模型將一併刪除,是否繼續?",vendorDeleted:"供應商已刪除",deleteFailed:"刪除失敗",enabled:"已啟用",disabled:"已停用",linkAddVendorRiskBody:"新增新的 AI 供應商將賦予其存取系統 API 的權限,請確認您信任該供應商的連結來源!",importAdd:"新增新的 AI 供應商將賦予其存取系統 API 的權限,請確認您信任該供應商的文件來源!",linkAddFailed:"連結新增失敗"},associationSkills:"關聯skills",think:"深度思考",code:"程式碼",linkAddPlaceholder:"輸入連結添加",noFileSelected:"成功導入文件",linkAdd:"確認"},agent:{bannerDesc:"使用 Toonflow 官方中繼網站,支援一鍵帶入設定,開箱即用,無需手動設定。",visitWebsite:"進入網站",fillKey:"填入 KEY",oneClickFill:"一鍵帶入",notOpen:"尚未開放",notConfigured:"尚未設定",modelConfig:"模型設定",confirm:"確認",cancel:"取消",selectModel:"選擇模型",fillKeyHeader:"填入 Toonflow 平台的官方 KEY",keyPlaceholder:"請輸入 KEY",save:"儲存",msg:{notAvailable:"該功能暫未開放,敬請期待",configSuccess:"設定成功",updateConfigFailed:"更新設定失敗:",keyValid:"KEY 有效,已成功連接 Toonflow 平台",keyInvalid:"KEY 無效,請檢查後重新輸入:",enterKey:"請輸入 KEY",saveFailed:"儲存失敗:",getAgentListFailed:"取得 Agent 設定列表失敗:"}},memory:{warning:"以下設定項目已預設為推薦值。除非您清楚了解各項設定的含義及影響,否則建議維持現有設定",vectorModelConfig:"向量模型設定",modelFilePath:"模型檔案路徑",quantizationType:"量化類型",quantizationPlaceholder:"請輸入量化類型",memoryParams:"記憶參數",messagesPerSummary:"觸發訊息壓縮筆數",messagesPerSummaryHelp:"保留最近 N 筆對話上下文。",shortTermLimit:"單次取得未壓縮訊息筆數",shortTermLimitHelp:"檢索時回傳的候選記憶筆數。",summaryMaxLength:"壓縮最大字元數",summaryMaxLengthHelp:"訊息壓縮時允許的最大字元數",summaryLimit:"允許查詢已壓縮訊息筆數",summaryLimitHelp:"允許查詢已壓縮訊息筆數",ragLimit:"搜尋記憶筆數",ragLimitHelp:"檢索時取得的訊息數。",deepRetrieveSummaryLimit:"向量召回壓縮訊息數",deepRetrieveSummaryLimitHelp:"檢索壓縮訊息內容時取得的訊息數。",saveConfig:"儲存設定",clearMemory:"清除記憶",restoreDefault:"還原預設設定",msg:{saved:"記憶設定已儲存",clearConfirmTitle:"確認清除記憶",clearConfirmBody:"該操作會清除 AI 全域記憶資料,且不可復原,是否繼續?",confirmClear:"確認清除",cancel:"取消",cleared:"記憶已清除",clearFailed:"清除記憶失敗"}},login:{username:"使用者名稱",usernamePlaceholder:"請輸入使用者名稱",password:"密碼",passwordPlaceholder:"請輸入密碼",modify:"修改",msg:{enterUsername:"請輸入使用者名稱",usernameLength:"使用者名稱長度為 2-20 個字元",enterPassword:"請輸入密碼",passwordLength:"密碼長度為 6-20 個字元",fetchFailed:"取得使用者資訊失敗",saveSuccess:"儲存成功",saveFailed:"儲存失敗"}},db:{clearDb:"清除資料庫",clearDbDesc:"清除所有資料表中的資料,保留資料表結構",clearData:"清除資料",confirmAction:"確認操作",msg:{clearDbTitle:"清除資料庫",firstConfirm:"確定要清除所有資料表嗎?資料清除後無法復原!",secondConfirm:"這是最後一次確認,清除後所有資料將永久遺失!",keyword:"清除",confirm:"確認",pleaseInput:"請輸入",cleared:"所有資料表已清除",operationFailed:"操作失敗,請重試",cancelled:"操作已取消"}},other:{requestTimeout:"請求逾時時間",seconds:"秒",inputSeconds:"請輸入秒",assetConcurrency:"資產生成並發數",count:"個",inputCount:"請輸入個數",chapterRegex:"章節拆分正規表示式",restoreDefault:"還原預設",regexPlaceholder:"請輸入正規表示式",canvasScroll:"畫布滾動",canvasIsDisabled:"畫布縮放",agentCanvasScalingMethod:"生產頁無限畫布滾輪操作",zoom:"縮放",scroll:"捲動",isInteracting:"生產頁無限畫布拖曳性能優化",closeIsInteracting:"關閉"},request:{warning:"若非特殊情況,不需要修改或者設定",apiAddress:"API 網址",apiPlaceholder:"請輸入 API 請求網址",save:"儲存",reset:"重設",msg:{enterApi:"請輸入 API 網址",validUrl:"請輸入有效的 HTTP/HTTPS 網址",saved:"請求網址儲存成功",reset:"已重設為預設網址",refreshFailed:"刷新失敗",refreshSuccess:"刷新成功"},refresh:"重新整理"},about:{slogan:"開源的 AI 驅動漫畫 / 分鏡創作工具",latestVersion:"目前為最新版本",checkUpdate:"檢查更新",codeRepository:"程式碼儲存庫",githubRepo:"GitHub 儲存庫",giteeRepo:"Gitee 儲存庫",versionUpdate:"版本更新",checkUpdateGithub:"檢查更新(GitHub)",getFromGithub:"從 GitHub Release 取得最新版本",checkUpdateGitee:"檢查更新(Gitee)",getFromGitee:"從 Gitee Release 取得最新版本",license:"授權條款",licenseDesc:"開源授權條款·點擊查看詳情",updateAvailable:"發現新版本",upToDate:"偵測到新版本"},logout:{warning:"登出後,您需要重新登入才能繼續使用系統。",confirmLogout:"確定要登出嗎?",logout:"登出",msg:{logoutSuccess:"登出成功",logoutFailed:"登出失敗,請重試"}},file:{quickOpen:"快速開啟目錄",open:"開啟",dockerDesc:'Docker/前後端分離部署請前往 "/data/*" 目錄手動管理檔案。',desktopOnly:"該功能僅支援桌面版",folders:{data:"data",dataDesc:"資料目錄。",logs:"data/logs",logsDesc:"執行記錄與錯誤記錄。",oss:"data/oss",ossDesc:"檔案儲存相關資源。",skills:"data/skills",skillsDesc:"技能與提示設定檔。",models:"data/models",modelsDesc:"模型檔案與設定。",web:"data/web",webDesc:"Web 相關資源,如前端建置產物等。",serve:"data/serve",serveDesc:"後端服務相關檔案。"},openFailed:"開啟資料夾失敗"},skill:{scanSkills:"掃描Skills"},dev:{warning:"以下為開發者工具,謹慎操作!",openDevtool:"打開",devtoolsDoc:"文件地址",devtoolsDesc:"開啟後會在Toonflow安裝目錄建立.devtools資料夾,請確保Toonflow有寫入權限(管理員身分執行)。",openDevtoolFailed:"開啟開發者工具失敗,請確保已安裝Toonflow桌面端",notInElectron:"WEB環境請手動開啟瀏覽器控制台"}},Vyi={selectProject:"請選擇專案",menu:{myProject:"我的專案",taskCenter:"任務中心",novel:"小說原文",scriptAgent:"劇本 Agent",scriptManage:"劇本管理",cornerScape:"塑造角色與場景",production:"影片製作",assetCenter:"資產中心",settings:"設定",jumpGithub:"跳轉Github"},project:{title:"我的專案",subtitle:"管理您的所有短劇專案",newProject:"建立專案",dialog:{editTitle:"編輯專案",addTitle:"建立專案",save:"儲存",ok:"確定",cancel:"取消",projectType:"專案類型",selectType:"選擇專案類型",basedOnNovel:"基於小說原文",basedOnScript:"基於劇本",projectName:"專案名稱",projectNamePh:"請輸入專案名稱",novelType:"小說類型",novelTypePh:"例如:玄幻、科幻、言情",artStyle:"視覺手冊",selected:"已選:",selectArtStyle:"請選擇視覺手冊",newArtStyle:"新視覺手冊",loading:"載入中...",videoRatio:"影片比例",novelIntro:"小說簡介",novelIntroPh:"請輸入小說簡介",editArtStyleTitle:"編輯視覺手冊",newArtStyleTitle:"新視覺手冊",artStyleName:"視覺手冊名稱",artStyleNamePh:"請輸入視覺手冊名稱",artStyleImage:"視覺手冊封面",remove:"移除",uploadCover:"上傳封面",artStylePrompt:"視覺手冊提示詞",aiExtract:"AI 萃取提示詞",promptPlaceholder:"描述視覺手冊提示詞,用於產生圖片時指定視覺手冊",visualManual:"視覺手冊",newVisualManual:"新視覺手冊",editVisualManualTitle:"編輯視覺手冊",newVisualManualTitle:"新視覺手冊",visualManualName:"視覺手冊名稱",visualManualNamePh:"請輸入視覺手冊名稱",visualManualCover:"視覺手冊封面",visualManualPrompt:"視覺手冊提示詞",modelData:"選擇圖片模型",videoModelData:"選擇視訊模型",prompt:{placeholder:"輸入提示詞",saveSuccess:"更新成功",title:"提示詞"},mdFile:"視覺手冊文件",directorManual:"導演手冊",addDirectorManual:"新導演手冊",editingDirectorManual:"編輯導演手冊",newDirecorManualTitle:"新導演手冊",directorManualPrompt:"導演手冊提示詞",directorManualName:"導演手冊名稱",directorFile:"導演手冊文件",directorManualCover:"導演手冊封面"},msg:{fetchFailed:"取得專案列表失敗",notFound:"找不到該專案!",editSuccess:"編輯專案成功",editFailed:"編輯專案失敗",addSuccess:"新增專案成功",addFailed:"新增專案失敗",deleteHeader:"刪除專案",deleteBody:"確定要刪除該專案嗎?",deleteConfirm:"刪除",deleteCancel:"取消",deleteSuccess:"刪除專案成功",deleteFailed:"刪除專案失敗",extractSuccess:"提示詞萃取成功",extractFailed:"萃取失敗",enterArtStyleName:"請輸入視覺手冊名稱",artStyleUpdated:"視覺手冊已更新",artStyleAdded:"視覺手冊已添加",operationFailed:"操作失敗",enterVisualManualName:"請輸入視覺手冊名稱",enterVisualManualImage:"請上傳視覺手冊封面圖片",enterVisualManualTabData:"提示詞不能為空",visualManualUpdated:"視覺手冊已更新",visualManualAdded:"視覺手冊已添加",deleteVisualManualHeader:"刪除視覺手冊",deleteVisualManualBody:"確定要刪除視覺手冊「{name}」嗎?",deleteVisualManualConfirm:"刪除",deleteVisualManualCancel:"取消",emptyFields:"參數缺失",enterProjectName:"請輸入項目名稱",enterProjectIntro:"請輸入小說簡介",enterProjectType:"請輸入項目類型",enterArtStyle:"請選擇項目視覺手冊",enterVideoRatio:"請選擇影片比例",enterImageModel:"請選擇圖片模型",enterVideoModel:"請選擇視訊模型",visualManualDeleted:"刪除成功",selectMode:"請選擇模式",deleteDirectorManualHeader:"刪除導演手冊",deleteDirectorManualBody:"確定要刪除導演手冊「{name}」嗎?",directorManualUpdated:"導演手冊已更新",directorManualAdded:"導演手冊已添加",directorManual:"請選擇項目導演手冊"},type:{novel:"基於小說原文",script:"基於小說劇本"}},novel:{importText:"匯入原文",batchDelete:"批次刪除",eventAnalysis:"事件分析",searchPlaceholder:"搜尋原文名稱...",search:"搜尋",generating:"生成中...",genFailed:"生成失敗",none:"無",edit:"編輯",delete:"刪除",col:{id:"序號",reel:"卷",chapter:"章節名稱",chapterData:"章節內容",event:"事件",operation:"操作"},msg:{batchDeleteHeader:"批次刪除",batchDeleteBody:"確定要刪除選定的 {count} 筆資料嗎?",batchDeleteSuccess:"批次刪除成功",deleteHeader:"刪除確認",deleteBody:"確定要刪除章節名稱為「{name}」的資料嗎?",deleteSuccess:"刪除成功",eventAnalysisHeader:"事件分析",eventAnalysisBody:"確定要對選定的 {count} 筆資料進行事件分析嗎?"},import:{title:"上傳小說原文",step1:"第一步",step2:"第二步",step3:"第三步",dragUpload:"拖曳小說原文檔案到此處或點擊上傳",uploadHint:"支援 .txt, .docx 格式,建議檔案大小不超過 10MB",or:"或",pasteLabel:"直接貼上小說原文內容",pastePlaceholder:"請輸入小說原文內容",chars:"字元",tooShort:"內容過短,建議至少 100 字元",parsedChapters:"已解析 {count} 章節",nextStep:"下一步",prevStep:"上一步",selectedInfo:"已勾選:{count} 字 (小於 200000 字)",eventAnalysis:"事件分析",saveAndAnalyze:"儲存原文並分析事件",col:{chapter:"章",reel:"卷",chapterName:"章節名稱",chapterData:"章節內容"},msg:{parseFailed:"檔案解析失敗,請重新上傳",selectFile:"選擇文件",docNotSupported:".doc檔案不支援解析,請轉換為.ts文件",unsupportedType:"不支援的檔案類型",fileTooLarge:"檔案大小超過 10MB,請上傳更小的檔案",selectChapters:"請先勾選章節",saveSuccess:"小說原文儲存成功"},importAdd:"拖曳文件到此處或點擊上傳",limit:"支援 .ts格式"},editDialog:{title:"編輯小說原文",chapterName:"章節名稱",chapterNamePh:"請輸入章節名稱",eventContent:"事件內容",eventContentPh:"輸入事件內容",chapterContent:"章節內容",chapterContentPh:"請輸入章節內容",cancel:"取消",save:"儲存",msg:{updateSuccess:"小說原文更新成功"}},event:{regenerate:"重新生成事件",batchDelete:"批次刪除",noData:"暫無事件資料,點擊開始生成",generate:"生成事件",generatingHint:"事件生成中,請稍候...",loading:"載入中...",delete:"刪除",col:{id:"事件 ID",eventName:"事件名稱",chapters:"來源章節",detail:"事件過程",createTime:"建立時間",operation:"操作"},msg:{deleteHeader:"刪除事件",deleteBody:"確定要刪除這個事件嗎?",deleteSuccess:"刪除成功",generateSuccess:"事件生成成功",batchDeleteHeader:"批次刪除",batchDeleteBody:"確定要刪除選定的 {count} 筆資料嗎?",batchDeleteSuccess:"批次刪除成功"}},analysis:{analyzeFirst:"請先分析事件",startAnalysis:"開始分析",chapterHeader:"第{index}章 - {name}",analyzing:"事件分析中"}},scriptAgent:{inputPlaceholder:"請輸入內容",chapterEvents:"章節事件",clearMessageMemory:"清除訊息記憶",clearSummaryMemory:"清除摘要記憶",clearAllMemory:"清除全部記憶",edit:"編輯",storySkeleton:"故事骨架",adaptationStrategy:"改編策略",script:"劇本",noContent:"暫無內容",relatedAssets:"關聯資產",editScript:"編輯劇本",save:"儲存",scriptTitle:"標題",titlePlaceholder:"請輸入標題",content:"內容",contentPlaceholder:"請輸入劇本內容",selectAssets:"選擇資產",noAssets:"暫未關聯資產",selectAssetsTitle:"選擇關聯資產",welcomeMsg:"你好!我是 Toonflow 智慧助手,需要我開始為您生成劇本嗎?",start:"開始",memoryType:{message:"訊息記憶",summary:"摘要記憶",all:"全部記憶"},msg:{clearConfirm:"確認清除",clearBody:"確定要清除{type}嗎?此操作無法復原。",confirmClear:"確認清除",cancel:"取消",memoryCleared:"{type}已清除",scriptUpdated:"劇本更新成功",scriptUpdateFailed:"更新劇本失敗,請稍後再試",searchScriptFailed:"搜尋劇本失敗",updated:"保存成功",error:"保存失敗",reconnect:"重新連接",notReconnect:"重新連結對話會被切斷是否確認",keepReconnect:"確認",deleteConfirm:"刪除確認",deleteBody:"刪除正文",confirmDelete:"確認刪除",scriptDeleted:"腳本已刪除"},reconnect:"重新連接"},cornerScape:{batchSettings:"批次生成設定",quickActions:"捷徑指令",selectUngenerated:"全選未生成項目",selectGenerated:"全選已生成項目",selectFailed:"全選錯誤項目",invertSelection:"反選",clearSelection:"取消選擇",batchPreview:"批次預覽圖片",assetTypeFilter:"素材類型篩選",genModel:"生成模型",resolution:"解析度",resolutionPh:"請選擇解析度",concurrency:"並發數量",concurrencyPh:"請輸入並發數",startBatch:"開始批量生成圖片",waitingGen:"等待生成",generating:"生成中",genFailed:"生成失敗",imageError:"圖片錯誤",typeRole:"角色",typeScene:"場景",typeTool:"工具",typeUnknown:"未知",descriptionSuffix:"描述:",operateScriptFirst:"請先操作劇本",individualConfig:"獨立設定",noImage:"暫無圖片",promptLabel:"提示詞",promptPh:"請輸入提示詞",aiPolish:"AI 潤飾",regenerate:"重新生成",filterRole:"人物",filterScene:"場景",filterTool:"道具",unnamed:"未命名",noDescription:"無描述",msg:{selectModel:"請選擇生成模型",selectResolution:"請選擇解析度",enterPrompt:"請輸入提示詞",enterPromptFirst:"請先輸入提示詞",genSuccess:"{name} 生成成功",genFailed:"{name} 生成失敗",promptGenSuccess:"提示詞生成成功",polishFailed:"潤飾失敗,請重試",selectAtLeastOne:"請至少選擇一個資產進行批次生成",batchStarted:"開始批次生成,共 {count} 個,並發數 {concurrent}",batchItemFailed:"{name} 生成失敗:{error}",batchComplete:"批次生成完成",batchFailed:"批量生成失敗",replaceFailed:"替換失敗",replaceSuccess:"替換成功",promptGenFail:"提示詞生成失敗",saveSuccess:"修改提示詞成功",saveFailed:"提示詞修改失敗"},history:"歷史圖片",confirmReplace:"確認替換",batchGenerationPrompt:"大量生成提示詞",generatingPrompt:"生成中"},script:{searchPlaceholder:"搜尋劇本名稱...",search:"搜尋",addScript:"建立劇本",cancelSelectAll:"取消全選",selectAll:"全選",exportScript:"匯出劇本",msg:{searchFailed:"搜尋劇本失敗",selectExport:"請先選擇要匯出的劇本",exportSuccess:"匯出成功",exportFailed:"匯出劇本失敗",deleteHeader:"確認刪除",deleteBody:"確定要刪除這個劇本嗎?此操作無法復原。",deleteConfirm:"刪除",cancel:"取消",deleteSuccess:"刪除成功",deleteFailed:"刪除失敗",selectDelScript:"請選擇刪除劇本",batchDeleteHeader:"批量刪除",batchDeleteBody:"確定要刪除選中的 {count} 個劇本嗎?此操作無法復原。",batchDeleteSuccess:"批量刪除成功",extractingInProgress:"正在提取中",projectNotFound:"項目未找到"},add:{title:"新增劇本",scriptName:"劇本名稱",scriptNamePh:"請輸入劇本名稱",uploadFile:"上傳檔案",dragUpload:"拖曳劇本檔案到此處或點擊上傳",uploadHint:"支援 .txt, .docx 格式,建議檔案大小不超過 10MB",scriptContent:"劇本內容",scriptContentPh:"請上傳或輸入劇本內容...",relatedAssets:"關聯資產",selectAssets:"選擇資產",noAssets:"暫未關聯資產",cancel:"取消",confirm:"確認",msg:{fileReadFailed:"檔案讀取失敗",docNotSupported:".doc 檔案不支援解析,請轉換為 .txt 或 .docx 檔案",unsupportedType:"不支援的檔案類型",fileTooLarge:"檔案大小超過 10MB,請上傳更小的檔案",parsing:"檔案解析中...",parseFailed:"檔案解析失敗,請重新上傳",selectAssetsTitle:"選擇關聯資產",enterContent:"請上傳或輸入劇本內容",enterName:"請輸入劇本名稱",addSuccess:"劇本新增成功",addFailed:"新增劇本失敗,請稍後再試"}},edit:{title:"劇本詳情",scriptName:"劇本名稱",scriptNamePh:"請輸入劇本名稱",scriptContent:"劇本內容",scriptContentPh:"請輸入劇本內容...",relatedAssets:"關聯資產",selectAssets:"選擇資產",noAssets:"暫未關聯資產",msg:{selectAssetsTitle:"選擇關聯資產",updateSuccess:"劇本更新成功",updateFailed:"更新劇本失敗,請稍後再試"}},deleteScript:"大量刪除劇本",extractAssets:""},assets:{addPrefix:"新增",batchGenerate:"批次生成",generatePrompt:"生成提示詞",generateImage:"生成圖片",batchDelete:"批次刪除",searchPlaceholder:"搜尋資產名稱...",search:"搜尋",preview:"預覽",generate:"生成",edit:"編輯",delete:"刪除",generating:"生成中",play:"播放",mediaPreview:"媒體預覽",confirmBatch:"是否確認{type}!",model:"模型",resolution:"解析度",resolutionPh:"請選擇解析度",batchGenPrompt:"批次生成提示詞",batchGenImage:"批次生成圖片",role:"角色",prop:"道具",scene:"場景",clip:"素材",uploadSuccess:"上傳成功",selectAtLeastOne:"請至少選擇一個資產",noDescription:"無描述",promptGenSuccess:"「{name}」提示詞生成成功",promptGenFail:"「{name}」提示詞生成失敗:{error}",selectModel:"請選擇模型",selectResolution:"請選擇解析度",noPromptForImage:"「{name}」沒有提示詞,無法生成圖片",imageGenSuccess:"「{name}」圖片生成成功",imageGenFail:"「{name}」圖片生成失敗:{error}",confirmDeleteHeader:"確認刪除",confirmBatchDeleteBody:"確定要批次刪除這些資產嗎?此操作無法復原。",confirmDeleteBody:"確定要刪除這個資產嗎?此操作無法復原。",deleteBtn:"刪除",cancelBtn:"取消",deleteSuccess:"資產刪除成功",deleteFail:"資產刪除失敗",colPreview:"預覽",colName:"名稱",colPrompt:"提示詞",colDescribe:"描述",colRemark:"備註",colCreateTime:"建立時間",colOperation:"操作",add:{name:"名稱",namePh:"請輸入名稱",describe:"描述",describePh:"請輸入描述",remark:"備註",remarkPh:"請輸入備註",prompt:"提示詞",promptPh:"請輸入提示詞",nameRequired:"請輸入名稱",describeRequired:"請輸入詳情",remarkRequired:"請輸入備註",updateSuccess:"資產更新成功",addSuccess:"資產新增成功"},gen:{header:"圖片生成",uploadRef:"上傳參考圖片",optional:"選填",promptLabel:"生圖提示詞",smartGenerate:"智能生成",generatingPrompt:"智能生成提示詞中...",promptPlaceholder:"描述您想要生成的圖片內容,例如:一個充滿科技感的未來城市,霓虹燈閃爍,賽博龐克風格...",selectModel:"選擇模型",selectResolution:"選擇解析度",generateBtn:"生成圖片",resultTitle:"生成結果",generatedCount:"已生成 {count} 張,請選擇一張",generatingLabel:"生成中...",genFailed:"生成失敗",confirmSelect:"確認選擇",promptSuccess:"提示詞生成成功",promptFail:"提示詞生成失敗",fillPrompt:"請填寫提示詞",pickResolution:"請選擇解析度",pickModel:"請選擇模型",unnamed:"未命名",assetGenSuccess:"資產生成成功",assetGenFail:"資產生成失敗",uploadOk:"上傳成功",imageSelected:"已選擇該圖片",imageDeleted:"已刪除該圖片",imageSaved:"圖片已儲存",completed:"已完成"},batch:{header:"批次生成",selected:"已選擇 {count} 項",selectAll:"全選",clearSelection:"清除選擇",inputPh:"請輸入內容",saveSelected:"儲存選取項目 ({count})",colPreviewImg:"預覽圖",selectToSave:"請選擇要儲存的項目",saveSuccess:"儲存成功",saveFail:"儲存失敗,請重試",promptDone:"提示詞生成完成",promptFail:"提示詞生成失敗",missingPrompts:"有 {count} 個資產缺少提示詞,請先生成提示詞",imageDone:"圖片生成完成",imageGenFail:"圖片生成失敗",unknownError:"未知錯誤",promptGenCancelled:"已取消生成"}},production:{selectPlaceholder:"請選擇劇集",edit:"編輯",node:{script:{title:"劇本",editDialog:"編輯劇本"},scriptPlan:{title:"拍攝計畫",editDialog:"編輯拍攝計畫"},storyboard:{title:"分鏡面板",notGenerated:"未生成",scaleRatio:"縮放比例",gridPreview:"九宮格預覽",noPreviewImages:"暫無可預覽的圖片",loadFailed:"載入失敗: {src}",imageLoadFailed:"圖片載入失敗",promptPlaceholder:"請輸入提示詞",prompt:"提示詞",editInfo:"提示詞修改"},storyboardTable:{title:"分鏡表",editDialog:"編輯分鏡表"},assets:{title:"衍生資產",generateFailed:"生成失敗",notGenerated:"未生成",originalAsset:"原資產",derived:"衍生",noDerivedAssets:"無衍生資產"},poster:{title:"影片封面",coverCount:"{count} 張"},workbench:{title:"影片工作區"}},editImage:{upload:"上傳",generate:"生成",saveFailed:"儲存失敗,請重試",fetchFailed:"取得資料失敗",generating:"生成中...",deleteNode:"刪除節點",ratio:"比例",quality:"畫質",generateBtn:"生成圖片",selectImage:"選擇圖片",imageGeneration:"圖片生成",promptPlaceholder:"描述你想要生成的圖片...",imageRef:"圖{index}",noReferences:"暫無可引用的參考圖",selectModel:"請先選擇模型",selectQuality:"請選擇畫質",selectRatio:"請選擇比例",generateFailed:"生成失敗",generateFirst:"請先生成圖片",generatedResult:"生成結果",waitingGenerate:"等待生成",uploadImage:"資產圖片上傳",mode:"模式",closeConfirmTitle:"關閉確認標題",closeConfirmBody:"關閉之後未儲存的資料會遺失"},save:"選取",cancel:"取消",chatBox:{inputPlaceholder:"輸入訊息...",generateDerivedAssets:"生成衍生資產",welcomeMessage:"你好!我是你的 AI 助手,有什麼可以幫你的嗎?",adjustModel:"調整模型",startMakingVideo:"開始製作影片",startMakingVideoPrompt:"請幫我開始製作影片",clearMessageMemory:"清除訊息記憶",clearSummaryMemory:"清除摘要記憶",clearAllMemory:"清除所有記憶",messageMemory:"訊息記憶",summaryMemory:"摘要記憶",allMemory:"所有記憶",confirmClear:"清除記憶",confirmClearBody:"確定要清除{type}嗎?",confirmClearBtn:"確定清除",memoryCleared:"{type}已清除"},wb:{quickPreview:"快速預覽",videoGeneration:"分鏡台",videoEditing:"剪輯台",hint:"提示",extractLines:"是否從影片中提取台詞?",no:"否",confirm:"確定",extractLinesQuestion:"是否從影片中提取台詞作為字幕?",importingLoading:"正在匯入中,請稍候...",mainTrackVideo:"主軌道(影片)",subtitle1:"字幕1",stereo441:"44.1kHz 立體聲",mono16:"16kHz 單聲道",sampleImage1:"範例圖片 1"},preview:{noImage:"暫無圖片",storyboardDesc:"分鏡描述",serialNumber:"序號",noDescription:"暫無描述",duration:"時長",seconds:"秒",relatedAssets:"涉及資產",role:"角色",prop:"道具",scene:"場景",noCharacters:"暫無出場人物",imagePrompt:"圖片提示詞",selectAll:"全選",exportImage:"匯出圖片",sceneDescription:"畫面描述",promptLabel:"提示詞",restoreSort:"還原排序",restoreSortConfirm:"確定要還原為初始排序嗎?",tip:"提示",selectAtLeastOne:"請至少選擇一個分鏡進行匯出",exportFilename:"分鏡圖片.zip"},generate:{noVideo:"暫無影片",videoPrompt:"影片提示詞",promptPlaceholder:"輸入提示詞,描述你想要生成的影片內容...",refImage:"參考圖",image:"圖片",refVideo:"參考影片",refImageLabel:"參考圖片",refAudio:"參考音訊",muteAudio:"關閉音訊",enableAudio:"開啟音訊",resolution:"解析度",duration:"時長",generate:"生成",historyVersions:"歷史版本",refresh:"重新整理",confirmSelection:"確認選取項目",noHistory:"暫無歷史記錄",generating:"生成中",generateFailed:"生成失敗",selectAll:"全選",videoTrack:"影片軌道",batchGenerate:"批次生成",importToEditor:"匯入剪輯台",modeSingleImage:"單圖",modeMultiImage:"多圖",modeGridImage:"網格多圖",modeStartEnd:"首尾影格",modeText:"文字生成影片",modeVideoRef:"影片參考",modeImageRef:"圖片參考",modeAudioRef:"音訊參考",modeTextRef:"文字參考",startFrame:"首影格",startFrameOptional:"首影格(選填)",endFrame:"尾影格",endFrameOptional:"尾影格(選填)",selectRefImage:"選擇參考圖",selectRefImages:"選擇參考圖片",selectEndFrame:"選擇尾影格圖",selectRefVideoAsset:"選擇參考影片",selectRefAudioAsset:"選擇參考音訊",selectRefImageAsset:"選擇參考圖片",selectImageSource:"選擇圖片來源",fromStoryboard:"分鏡圖",fromStoryboardDesc:"從分鏡列表中選擇圖片",fromAssets:"資產圖",fromAssetsDesc:"從資產庫中選擇圖片",confirmDelete:"確認刪除",confirmDeleteBody:"確定要刪除這個影片嗎?此操作無法復原。",delete:"刪除",cancel:"取消",deleteSuccess:"影片刪除成功",deleteFailed:"刪除失敗",selectVideoFirst:"請先選擇一個影片",confirmSuccess:"確認選取成功",batchSubmitted:"已送出批次生成請求,正在處理中...",configNotFound:"設定不存在",pollingFailed:"視訊狀態查詢失敗,請手動刷新",batchGeneratePrompt:"大量生成提示詞",batchPromptEmpty:`分鏡 {name} 有空視訊提示。
請先生成或填寫提示`,modelEmpty:"請先選擇影片生成模型",generatingPrompt:"智慧生成提示詞中"},editVideo:{reset:"重設",undo:"復原",redo:"重做",split:"分割",delete:"刪除",rendering:"算圖渲染中...",exportVideo:"匯出影片",exportSuccess:"影片匯出完成",exportFailed:"匯出失敗",sampleSubtitle:"範例字幕文字",customText:"自訂文字內容",transitionBetweenClips:"轉場需要加入在兩個相鄰的片段之間",transitionExists:"該位置已存在轉場",videoPreviewArea:"影片預覽區域",clipMaterials:"剪輯素材",propertyPanel:"屬性面板",selectClip:"選擇一個片段查看屬性",basicInfo:"基本資訊",name:"名稱",clipNamePlaceholder:"片段名稱",startTime:"開始",endTime:"結束",totalDuration:"總時長",videoProperties:"影片屬性",opacity:"不透明度",volume:"音量",playbackSpeed:"播放速度",audioProperties:"音訊屬性",fadeIn:"淡入",fadeOut:"淡出",transitionProperties:"轉場屬性",transitionType:"轉場類型",transFade:"淡入淡出",transSlide:"滑動",transWipe:"擦除",transDissolve:"溶解",transZoom:"縮放",transRotate:"旋轉",transitionDuration:"轉場時長",subtitleProperties:"字幕屬性",textContent:"文字內容",fontSize:"字體大小",copy:"複製",deleteConfirm:"刪除確認",deleteClipConfirm:"確定要刪除這個片段嗎?",avCanvasNotInit:"AVCanvas 尚未初始化",noExportContent:"沒有可匯出的內容",exportProject:"匯出專案",transitionAdded:"已加入轉場: {name}",splitClip:"分割片段",deleteClip:"刪除片段",addClip:"新增 {name}",duplicateClip:"複製片段",addTransition:"加入轉場",updateClip:"更新片段 {key}",updatePlaybackRate:"更新播放速度為 {rate}x",updateTransitionDuration:"更新轉場時長",playbackRateRange:"播放速度必須在 0.1 到 10 之間",updatePlaybackRateFailed:"更新播放速度失敗:",importProject:"匯入專案",import:"匯入"},clipType:{video:"影片",audio:"音訊",subtitle:"字幕",transition:"轉場",sticker:"貼紙",filter:"濾鏡",effect:"特效"},track:{video:"影片",image:"圖片",audio:"音訊",subtitle:"字幕",text:"文字",sticker:"貼紙",filter:"濾鏡",effect:"特效"},transition:{fade:"淡入淡出",slide:"滑動",slideLeft:"向左滑動",slideRight:"向右滑動",slideUp:"向上滑動",slideDown:"向下滑動",wipe:"擦除",wipeLeft:"向左擦除",wipeRight:"向右擦除",wipeUp:"向上擦除",wipeDown:"向下擦除",dissolve:"溶解",zoom:"縮放",zoomIn:"放大",zoomOut:"縮小",rotate:"旋轉",circle:"圓形",diamond:"菱形",clock:"時鐘",blur:"模糊"},media:{titleText:"標題文字",subtitleText:"字幕文字",customText:"自訂文字",media:"媒體",image:"圖片",audio:"音訊",subtitle:"字幕",transition:"轉場",effect:"特效",filter:"濾鏡",loading:"載入中...",subtitlePreview:"字",video:"影片"},effect:{fadeIn:"淡入",fadeOut:"淡出",flash:"閃爍",shake:"抖動",zoomIn:"放大進入",zoomOut:"縮小退出",pulse:"脈衝",rotateIn:"旋轉進入",sticker1:"貼紙 1",sticker2:"貼紙 2"},filter:{grayscale:"黑白",sepia:"復古",warm:"暖色",cool:"冷色",vivid:"鮮豔",bright:"明亮",highContrast:"高對比",blur:"模糊",invert:"反色",semiTransparent:"半透明"},guideSwitchEpisode:"切換劇集",guideSwitchEpisodeBody:"切換劇集移到這裡了喔",autoLayoutLR:"自動排版-左右佈局",autoLayoutTB:"自動排版-上下佈局",getFlowData:"刷新工作區",confirm:"切換劇集確認",confirmEpisodesSwitch:"目前任務仍在進行中,切換劇集會重連會話,是否繼續切換?"},task:{title:"任務列表",subtitle:"您的最新任務執行紀錄",refresh:"重新整理",categoryLabel:"任務大類:",stateLabel:"狀態:",noFailReason:"暫無失敗原因",stateAll:"全部",stateRunning:"進行中",stateCompleted:"已完成",stateFailed:"生成失敗",fetchFailed:"取得任務列表失敗",col:{taskClass:"任務大類",relatedObjects:"關聯物件",model:"模型",describe:"描述",state:"狀態",startTime:"時間"},project:"項目名稱:"},noVideo:"暫無影片",prompt:"影片提示詞",generateText:"AI生成提示詞",selectStoryboard:"選擇分鏡",generate:{noVideo:"暫無影片",generateText:"AI生成提示詞",selectStoryboard:"選擇分鏡",generate:"產生影片",history:"歷史版本",generating:"生成中",generateFailed:"失敗",selectAll:"全選",selected:"已選",batchGenerateText:"大量生成提示詞",batchGenerateVideo:"大量生成視頻",importVideo:"導入剪輯台",emptyTrack:"第{index 1}段",del:"刪除",delConfirm:"確認刪除該段?",selectSource:"選擇來源",confirm:"從資產選擇",cancel:"從分鏡選擇",selectVideoFailed:"視訊選擇失敗",selectVideoSuccess:"影片選擇成功",selectTrackFirst:"請先選擇分鏡",noSelectedVideo:"沒有選擇的視頻",generateConfirm:"確認生成",generateConfirmBody:"是否確認生成視頻",generateVideosInBatches:"大量生成視頻",generateStarted:"生成開始",promptEmpty:"勾選需要產生影片的資料有提示詞為空,是否繼續生成",skipDataWithEmptyVideoPromptWords:"需要產生的影片資料存在提示詞為空",duration:"時長",resolution:"解析度",delVideo:"確認刪除此影片?",delSuccess:"刪除成功",addReference:"新增參考",promptPlaceholder:"請輸入影片提示詞",downloadVideo:"批量下載視頻",selectVideo:"請勾選需要下載的視頻"}},zyi={slogan:"智慧短劇創作平台",tips:"預設帳號:admin / admin123",settings:"伺服器設定",requestAddress:"請求網址",username:"使用者名稱",password:"密碼",login:"登入",usernameRequired:"請輸入使用者名稱",passwordRequired:"請輸入密碼",enterUsernameAndPassword:"請輸入使用者名稱或密碼",loginSuccess:"登入成功",settingsSaved:"設定已儲存"},Hyi={prompt:"提示詞"},$yi={welcomeTitle:"歡迎使用 ToonFlow",welcomeDesc:"AI 驅動的漫畫創作工作流程平台,讓我們花一分鐘完成初始設定。",startConfig:"開始配置",skip:"跳過引導",configModel:"新增模型服務",configData:"配置 Agent",startUse:"開始使用",configModelTitle:"新增模型服務供應商",configModelDesc:"首先,你需要在設定中新增至少一個 AI 模型服務供應商(如 OpenAI、Claude 等),並填寫對應的 API Key。",configModelTip:"點擊下方按鈕將開啟設定頁面的「模型服務」選項卡,新增供應商後回到此處繼續。",configModelBtn:"前往配置模型服務",configAgentTitle:"分配 Agent 模型",configAgentDesc:"接下來,在 Agent 配置中為各個功能模組分配模型,這樣系統才知道要呼叫哪個模型來完成任務。",configAgentTip:"點擊下方按鈕將開啟設定頁面的「Agent 設定」標籤,為各功能指派模型後回到此處。",configAgentBtn:"前往配置 Agent",finishTitle:"🎉 一切就緒!",finishDesc:`配置完成,現在你可以開始使用所有功能了。
如需調整,隨時可以在設定中修改。`,qrcodeLabel:"加入微信交流群,獲得更多協助:",githubLabel:"如果覺得好用,請給我們一個 ⭐ Star 吧!",prevStep:"上一步",nextStep:"下一步",finish:"開始使用"},Xyi={skillManagement:{search:"搜尋檔案名稱",empty:"沒有匹配的文件",edit:"編輯",selectOnTheLeft:"請從左側選擇文件"}},Gyi={save:"儲存",submitting:"提交中",editSuccess:"修改成功",editFailed:"修改失敗",submit:"提交"},Yyi={assets:{notExist:"資產不存在",notDerivativeExist:"衍生資產不存在",derivativeUpdateSuccess:"更新成功",derivativeState:"未生成",derivativeAddSuccess:"添加成功",derivativeDelSuccess:"刪除成功",notGenerated:"未生成"},addSuccess:"更新成功",state:{unused:"未生成"},saveSuccess:"添加成功"},Zyi={generating:"生成中"},qyi={scanning:"🔍 正在解析載入Skill",scanComplete:"✨ Skill 掃描完成",inserted:"✅ 新增{count}個Skill",updated:"🔄 更新{count}個Skill",removed:"🗑️ 移除{count}個Skill",scannedFiles:"📁 掃描 {count} 個檔案",noDescription:"📝 {count}個Skill缺少描述",noAttribution:"👤 {count}個Skill缺少歸屬",configWarning:"⚠️ Skill 配置警告",openSettings:"打開設定",scanFailed:"❌ 掃描失敗",checkNetwork:"🔌 請檢查網路連線或稍後重試",retryLater:"🔁 請稍後重試"},Kyi="產生影片",Jyi="歷史版本",eCi="生成中",tCi="失敗",nCi="全選",iCi="已選",rCi="導入影片",oCi="第{index 1}段",sCi="確認刪除",aCi="確認刪除該段?",lCi="選擇來源",cCi="從資產選擇",dCi="從分鏡選擇",uCi={components:jyi,settings:Wyi,workbench:Vyi,login:zyi,promptManage:Hyi,hello:$yi,setting:Xyi,common:Gyi,storyboard:Yyi,productionAgent:Zyi,skillScan:qyi,generate:Kyi,history:Jyi,generating:eCi,generateFailed:tCi,selectAll:nCi,selected:iCi,importVideo:rCi,emptyTrack:oCi,del:sCi,delConfirm:aCi,selectSource:lCi,confirm:cCi,cancel:dCi,"workbench.script.msg.exportFailed":"匯出失敗","workbench.production.node.assets.confirmDeleteBody":"確認是否刪除該資產","workbench.production.node.assets.removeFailed":"刪除資產失敗"},hCi={editMdPreivew:{title:"Edit",confirm:"Save",cancel:"Cancel"},imageTools:{copy:"Copy Image",preview:"Preview",download:"Download",msg:{imageLoadFailed:"Failed to load image",convertFailed:"Conversion failed",copied:"Copied to clipboard",copyFailed:"Copy failed",downloadFailed:"Download failed",downloadStarted:"Download started",downloadBlockedOpenNewWindow:"The current image source may restrict downloads; tried opening in a new window"}},migrateShow:{title:"Migrate Data",desc:"Data from an older version was detected. Do you want to migrate it?",hide:"Don't show again",confirm:"OK",msg:{migrateSuccess:"Data migration successful",migrateFailed:"Data migration failed"}},modelSelect:{placeholder:"Please select a model",type:{image:"Image",text:"Text",video:"Video"},msg:{fetchModelFailed:"Failed to fetch model data:"},goSetting:"Go to settings and add a model"}},fCi={title:"ToonFlow Settings",menu:{language:"Language",vendorConfig:"Model Providers",agentConfig:"Agent Config",promptManage:"Prompt Management",skillManagement:"skillsSkillsManagement",memoryConfig:"Agent Memory",loginConfig:"Login Config",dbConfig:"Database",fileManagement:"File Management",otherConfig:"Other Config",requestConfig:"Request URL",about:"Check for Updates",logoutConfig:"Logout",skillsSkillsManagement:"SkillsSkills Management"},language:{desc:"Select the interface display language",msg:{saved:"Language settings saved"}},vendor:{addVendor:"Add Provider",noVendor:"No providers yet. Please add one.",required:"Required",optionalSection:"Optional",modelSettings:"Model Settings",addManually:"Add Manually",test:"Test",edit:"Edit",delete:"Delete",deleteVendor:"Delete Provider",editCode:"Edit Code",updateConfig:"Update Config",addModel:"Add Model",editModel:"Edit Model",displayName:"Display Name",displayNamePlaceholder:"e.g., GPT-4o",modelId:"Model ID",modelIdPlaceholder:"e.g., gpt-4o",modelType:"Model Type",multimodal:"Multimodal",supported:"Supported",notSupported:"Not Supported",toolCall:"Tool Call",imageMode:"Image Mode",videoMode:"Video Mode",audioOutput:"Audio Output",durationResolution:"Duration / Resolution Mapping",durationSec:"Duration (sec)",resolution:"Resolution",enterAndPress:"Press Enter to add",addDurationResolution:"Add a Duration/Resolution pair",testResult:"Test Results",generating:"Generating...",addVendorDialog:"Add Provider",codeEditorInfo:"Please write TypeScript code to configure provider information",reset:"Reset",importFile:"Import File",textModel:"Text Model",imageModel:"Image Model",videoModel:"Video Model",textToImage:"Text to Image",textToVideo:"Text to Video",singleImage:"Single Image",multiImage:"Multi-Image Mode",multiReference:"Multi-Image Reference",gridImage:"Grid Single Image",startEndRequired:"Start & End Frames (Both Required)",endFrameOptional:"Start & End Frames (End Frame Optional)",startFrameOptional:"Start & End Frames (Start Frame Optional)",textRef:"Text",imageRef:"Image",videoRef:"Video",audioRef:"Audio",audioOptional:"Optional",audioOnly:"Audio Video Only",noAudio:"Silent Video Only",msg:{getVendorListFailed:"Failed to fetch provider list",vendorConfigUpdated:"Provider config updated",updateFailed:"Update failed",highRiskConfirm:"⚠️ High-Risk Operation Confirmation",addVendorRiskBody:"Adding a new AI provider grants it access to system APIs. Please ensure you trust the code source of this provider!",iKnowRisk:"I understand the risks",cancel:"Cancel",confirmAgain:"⚠️ Confirm Again",addVendorConfirmBody:"Are you sure you want to add this provider? It will be included in the system's model scheduling.",confirmAndAdd:"Confirm & Add",goBackCheck:"Go Back",vendorAdded:"Provider added successfully",addFailed:"Failed to add",updateVendorRiskBody:"Updating AI provider configurations modifies its API access and behaviors. Please ensure you trust the modified code source!",updateVendorConfirmBody:"Are you sure you want to update this provider config? This will affect the system's model scheduling.",confirmAndUpdate:"Confirm & Update",updateSuccess:"Provider config updated successfully",fillDisplayName:"Please enter a display name",fillModelId:"Please enter a model ID",selectImageMode:"Please select an image mode",selectVideoMode:"Please select a video mode",groupPrefix:"Group {n}: ",addDuration:"Please add a duration",addResolution:"Please add a resolution",selectVendorFirst:"Please select a provider first",modelIdExists:"Model ID already exists",modelAdded:"Model added successfully",modelUpdated:"Model updated successfully",enterApiKey:"Please enter API KEY",enterApiUrl:"Please enter API URL",testSuccess:"Test successful",imageGenSuccess:"Image generated successfully",videoGenSuccess:"Video generated successfully",requestFailed:"Request failed",deleteModelConfirm:"Confirm Model Deletion",deleteModelBody:"This action cannot be undone. Do you want to continue?",confirmDelete:"Delete",modelDeleted:"Model deleted",deleteVendorConfirm:"Confirm Provider Deletion",deleteVendorBody:"Deleting this provider will also delete all its associated models. Do you want to continue?",vendorDeleted:"Provider deleted",deleteFailed:"Deletion failed",enabled:"Enabled",disabled:"Disabled",linkAddVendorRiskBody:"Adding a new AI vendor will give it access to the system API, please make sure you trust the vendor's link source!",importAdd:"Adding a new AI vendor will give it access to the system API, please make sure you trust the vendor's documentation source!",linkAddFailed:"Failed to add link"},associationSkills:"Associated skills",think:"deep thinking",code:"code",linkAddPlaceholder:"Enter link to add",noFileSelected:"File imported successfully",linkAdd:"confirm"},agent:{bannerDesc:"Use the official Toonflow relay site for one-click configuration. Ready out-of-the-box, no manual setup needed.",visitWebsite:"Visit Website",fillKey:"Enter KEY",oneClickFill:"One-Click Fill",notOpen:"Not Available",notConfigured:"Not Configured",modelConfig:"Model Config",confirm:"Confirm",cancel:"Cancel",selectModel:"Select Model",fillKeyHeader:"Enter official KEY from Toonflow platform",keyPlaceholder:"Please enter KEY",save:"Save",msg:{notAvailable:"This feature is not yet available. Stay tuned!",configSuccess:"Configured successfully",updateConfigFailed:"Failed to update config: ",keyValid:"KEY is valid. Successfully connected to the Toonflow platform",keyInvalid:"KEY is invalid. Please check and re-enter: ",enterKey:"Please enter KEY",saveFailed:"Save failed: ",getAgentListFailed:"Failed to fetch Agent config list: ",toonflowNotFound:"Toonflow official transfer station does not exist"}},memory:{warning:"The following settings are preset to recommended values. Unless you fully understand their implications, we recommend keeping the current settings.",vectorModelConfig:"Vector Model Config",modelFilePath:"Model File Path",quantizationType:"Quantization Type",quantizationPlaceholder:"Please enter quantization type",memoryParams:"Memory Parameters",messagesPerSummary:"Messages per Summary Trigger",messagesPerSummaryHelp:"Retains the last N conversation contexts.",shortTermLimit:"Short-Term Memory Limit",shortTermLimitHelp:"Number of candidate memories returned during retrieval.",summaryMaxLength:"Summary Max Length",summaryMaxLengthHelp:"Maximum characters allowed during message compression.",summaryLimit:"Compressed Message Query Limit",summaryLimitHelp:"Allowed number of compressed messages to query.",ragLimit:"RAG Search Limit",ragLimitHelp:"Number of messages retrieved during a search.",deepRetrieveSummaryLimit:"Vector Recall Compressed Limit",deepRetrieveSummaryLimitHelp:"Number of messages fetched when retrieving compressed message content.",saveConfig:"Save Config",clearMemory:"Clear Memory",restoreDefault:"Restore Defaults",msg:{saved:"Memory config saved",clearConfirmTitle:"Confirm Clear Memory",clearConfirmBody:"This will erase the AI's global memory data and cannot be undone. Continue?",confirmClear:"Clear",cancel:"Cancel",cleared:"Memory cleared",clearFailed:"Failed to clear memory"}},login:{username:"Username",usernamePlaceholder:"Please enter username",password:"Password",passwordPlaceholder:"Please enter password",modify:"Modify",msg:{enterUsername:"Please enter username",usernameLength:"Username must be 2-20 characters long",enterPassword:"Please enter password",passwordLength:"Password must be 6-20 characters long",fetchFailed:"Failed to fetch user information",saveSuccess:"Saved successfully",saveFailed:"Failed to save"}},db:{clearDb:"Clear Database",clearDbDesc:"Clear data in all tables while keeping table structures",clearData:"Clear Data",confirmAction:"Confirm Action",msg:{clearDbTitle:"Clear Database",firstConfirm:"Are you sure you want to clear all data tables? This cannot be recovered!",secondConfirm:"Final confirmation: all data will be permanently lost after clearing!",keyword:"Clear",confirm:"Confirm",pleaseInput:"Please type",cleared:"All data tables have been cleared",operationFailed:"Operation failed, please try again",cancelled:"Operation cancelled"}},skill:{scanSkills:"Scan Skills",addSkill:"Add Skill",importFromHub:"Import from Toonflow-Hub",filterType:"Type",filterAttribution:"Attribution",searchPlaceholder:"Search skill by name",search:"Search",totalCount:"{count} Skills in total",typeMain:"Core",typeReferences:"Technique",noAttribution:"No Attribution",noAttributionTip:"⚠️ No attribution, Skill cannot be enabled",noEmbeddingTip:"⚠️ Not embedded, Skill cannot be enabled",notEmbedded:"Not Embedded",stateNormal:"Normal",stateGenerating:"Generating description",stateEmptyDesc:"Empty description",stateAttrError:"Attribution error",stateMd5Changed:"MD5 changed, update description recommended",embedding:"Embed",edit:"Edit",delete:"Delete",importFromHubDialog:"Import from Toonflow-Hub",shareLink:"Share Link",editSkillTitle:"Edit Skill - ",addSkillTitle:"Add Skill",skillName:"Skill Name",skillNamePlaceholder:"e.g. writing-assistant",path:"Path",attributionAgent:"Attribution Agent",selectAttribution:"Select Attribution Agent",description:"Description",aiGenerate:"AI Generate",descriptionPlaceholder:"Describe the purpose of this skill",cancel:"Cancel",save:"Save",createSkill:"Create Skill",attr:{productionDecision:"Production - Director",productionExecution:"Production - Cinematographer",productionSupervision:"Production - Supervisor",scriptDecision:"Script Agent - Coordinator",scriptExecution:"Script Agent - Writer",scriptSupervision:"Script Agent - Editor",universalAgent:"Production Assistant"},msg:{scanSuccess:"Scan completed, found {count} Skill files",fetchListFailed:"Failed to fetch skill list",fillContentFirst:"Please fill in Markdown content first",descGenSuccess:"Description generated successfully",descGenFailed:"Failed to generate description",fillNameFirst:"Please fill in Skill name first",updateSuccess:"Skill updated successfully",createSuccess:"Skill created successfully",updateFailed:"Failed to update Skill",createFailed:"Failed to create Skill",deleteConfirmTitle:"Confirm Deletion",deleteConfirmBody:'Are you sure you want to delete Skill "{name}"? This cannot be undone.',deleteSuccess:"Deleted successfully",deleteFailed:"Delete failed",embeddingSuccess:"Embedding completed",embeddingFailed:"Embedding failed"},fileLost:"File missing"},other:{requestTimeout:"Request Timeout",seconds:"Seconds",inputSeconds:"Please enter seconds",assetConcurrency:"Asset Generation Concurrency",count:"Tasks",inputCount:"Please enter number of tasks",chapterRegex:"Chapter Split Regex",restoreDefault:"Restore Defaults",regexPlaceholder:"Please enter a regular expression",showTitleBar:"show title bar",isElectron:"Switch to desktop mode",canvasScroll:"Canvas scroll",canvasIsDisabled:"Canvas zoom",agentCanvasScalingMethod:"Unlimited canvas wheel operation on production page",zoom:"Zoom",scroll:"scroll",isInteracting:"Unlimited canvas drag performance optimization on production page",closeIsInteracting:"closure"},request:{warning:"Do not modify unless absolutely necessary",apiAddress:"API URL",apiPlaceholder:"Please enter API request URL",save:"Save",reset:"Reset",msg:{enterApi:"Please enter API URL",validUrl:"Please enter a valid HTTP/HTTPS URL",saved:"Request URL saved successfully",reset:"Reset to default URL",refreshFailed:"Refresh failed",refreshSuccess:"Refresh successful"}},about:{slogan:"Open-source AI-driven Comic / Storyboard creation tool",latestVersion:"You are on the latest version",checkUpdate:"Check for Updates",codeRepository:"Code Repository",githubRepo:"GitHub Repository",giteeRepo:"Gitee Repository",versionUpdate:"Version Update",checkUpdateGithub:"Check Update (GitHub)",getFromGithub:"Get the latest release from GitHub",checkUpdateGitee:"Check Update (Gitee)",getFromGitee:"Get the latest release from Gitee",license:"License",licenseDesc:"Open-source license agreement · Click for details",updateAvailable:"new version found",currentVersion:"Current Version",latestVersionLabel:"Latest Version",selectUpdateSource:"Select Update Source",github:"GitHub",gitee:"Gitee",confirmUpdate:"Confirm Update",cancel:"Cancel",updating:"Updating...",updateSuccess:"Update successful, please restart the app",updateFailed:"Update failed, please try again",noUpdate:"You are already on the latest version",upToDate:"New version detected"},logout:{warning:"After logging out, you will need to log in again to access the system.",confirmLogout:"Are you sure you want to log out?",logout:"Logout",msg:{logoutSuccess:"Logged out successfully",logoutFailed:"Logout failed, please try again"}},file:{quickOpen:"Quick Open Directory",open:"Open",dockerDesc:'For Docker/Separated deployments, please go to the "/data/*" directory to manage files manually.',desktopOnly:"This feature is only available on the desktop client",folders:{data:"data",dataDesc:"Data directory.",logs:"data/logs",logsDesc:"Runtime and error logs.",oss:"data/oss",ossDesc:"File storage related resources.",skills:"data/skills",skillsDesc:"Skills and prompt configuration files.",models:"data/models",modelsDesc:"Model files and configurations.",web:"data/web",webDesc:"Web-related resources (e.g., frontend build artifacts).",serve:"data/serve",serveDesc:"Backend service related files."},openFailed:"Failed to open folder"},dev:{warning:"The following are developer tools, please operate with caution!",openDevtool:"Open",devtoolsDoc:"Document address",devtoolsDesc:"After being turned on, a .devtools folder will be created in the Toonflow installation directory. Please ensure that Toonflow has write permissions (run as administrator).",devtoolsDesc2:"Run npx {'@'}ai-sdk/devtools in this directory to enable telemetry debugging",openDevtoolFailed:"Failed to open developer tools, please make sure Toonflow desktop is installed",notInElectron:"For WEB environment, please open the browser console manually"}},gCi={selectProject:"Please select a project",menu:{myProject:"My Projects",taskCenter:"Task Center",novel:"Novel Text",scriptAgent:"Script Agent",scriptManage:"Script Management",cornerScape:"Characters & Scenes",production:"Video Production",assetCenter:"Asset Center",settings:"Settings",jumpGithub:"Jump to Github"},project:{title:"My Projects",subtitle:"Manage all your short drama projects",newProject:"New Project",dialog:{editTitle:"Edit Project",addTitle:"New Project",save:"Save",ok:"OK",cancel:"Cancel",projectType:"Project Type",selectType:"Select Project Type",basedOnNovel:"Based on Novel Text",projectName:"Project Name",projectNamePh:"Please enter project name",novelType:"Novel Genre",novelTypePh:"e.g., Fantasy, Sci-Fi, Romance",artStyle:"Art Style",selected:"Selected:",selectArtStyle:"Please select an art style",newArtStyle:"New art style",loading:"Loading...",videoRatio:"Video Ratio",novelIntro:"Novel Synopsis",novelIntroPh:"Please enter novel synopsis",editArtStyleTitle:"Edit art style",newArtStyleTitle:"New art style",artStyleName:"Art style name",artStyleNamePh:"Please enter art style name",artStyleImage:"Art style image",remove:"Remove",uploadCover:"Upload Cover",artStylePrompt:"Prompt",aiExtract:"AI Extract Prompt",promptPlaceholder:"Enter prompt",visualManual:"Visual Manual",newVisualManual:"New visual manual",editVisualManualTitle:"Edit visual manual",newVisualManualTitle:"New visual manual",visualManualName:"Visual manual name",visualManualNamePh:"Please enter visual manual name",visualManualCover:"Visual manual cover",visualManualPrompt:"Visual manual prompt",modelData:"Select image model",videoModelData:"Select video model",prompt:{placeholder:"Enter prompt word",saveSuccess:"Update successful",title:"prompt word"},basedOnScript:"based on script",mdFile:"visual manual file",directorManual:"Director's Handbook",addDirectorManual:"New director manual",editingDirectorManual:"Edit Director's Manual",newDirecorManualTitle:"New director manual",directorManualPrompt:"Director's Manual Prompt Words",directorManualName:"Director's Manual Name",directorManualNamePh:"Enter Director's Manual name",directorFile:"Director's Manual Document",directorManualCover:"Director's Manual Cover"},msg:{fetchFailed:"Failed to fetch project list",notFound:"Project not found!",editSuccess:"Project edited successfully",editFailed:"Failed to edit project",addSuccess:"Project created successfully",addFailed:"Failed to create project",deleteHeader:"Delete Project",deleteBody:"Are you sure you want to delete this project?",deleteConfirm:"Delete",deleteCancel:"Cancel",deleteSuccess:"Project deleted successfully",deleteFailed:"Failed to delete project",extractSuccess:"Prompt extracted successfully",extractFailed:"Extraction failed",enterArtStyleName:"Please enter art style name",artStyleUpdated:"Art style updated",artStyleAdded:"Art style added",operationFailed:"Operation failed",enterVisualManualName:"Please enter visual manual name",enterVisualManualImage:"Please upload a cover image for the visual manual",enterVisualManualTabData:"prompt cannot be empty",visualManualUpdated:"Visual manual updated",visualManualAdded:"Visual manual added",deleteVisualManualHeader:"Delete Visual Manual",deleteVisualManualBody:'Are you sure you want to delete visual manual "{name}"?',deleteVisualManualConfirm:"Delete",deleteVisualManualCancel:"Cancel",enterProjectName:"Please enter project name",enterProjectIntro:"Please enter the novel introduction",enterProjectType:"Please enter project type",enterArtStyle:"Please select a project visual brochure",enterVideoRatio:"Please select video ratio",enterImageModel:"Please select a picture model",enterVideoModel:"Please select a video model",visualManualDeleted:"Delete successfully",selectMode:"Please select mode",deleteDirectorManualHeader:"Delete Director's Manual",deleteDirectorManualBody:`Are you sure you want to delete Director's Manual "{name}"?`,directorManualUpdated:"Director's Manual updated",directorManualAdded:"Director's Manual added",directorManual:"Please select Project Director's Manual"},type:{novel:"Based on the original novel",script:"Based on novel script"}},novel:{importText:"Import Text",batchDelete:"Batch Delete",eventAnalysis:"Event Analysis",searchPlaceholder:"Search text names...",search:"Search",generating:"Generating...",genFailed:"Generation failed",none:"None",edit:"Edit",delete:"Delete",col:{id:"No.",reel:"Volume",chapter:"Chapter Name",chapterData:"Chapter Content",event:"Event",operation:"Operation"},msg:{batchDeleteHeader:"Batch Delete",batchDeleteBody:"Are you sure you want to delete the selected {count} items?",batchDeleteSuccess:"Batch delete successful",deleteHeader:"Confirm Deletion",deleteBody:'Are you sure you want to delete the chapter named "{name}"?',deleteSuccess:"Deleted successfully",eventAnalysisHeader:"Event Analysis",eventAnalysisBody:"Are you sure you want to analyze events for the selected {count} items?"},import:{title:"Upload Novel Text",step1:"Step 1",step2:"Step 2",step3:"Step 3",dragUpload:"Drag and drop your novel file here or click to upload",uploadHint:"Supports .txt, .docx. Recommended file size under 10MB",or:"OR",pasteLabel:"Directly paste novel text",pastePlaceholder:"Please paste novel text here",chars:"chars",tooShort:"Content is too short, recommend at least 100 characters",parsedChapters:"{count} chapters parsed",nextStep:"Next",prevStep:"Previous",selectedInfo:"Selected: {count} chars (Must be < 200,000)",eventAnalysis:"Event Analysis",saveAndAnalyze:"Save Text and Analyze Events",col:{chapter:"Chapter",reel:"Volume",chapterName:"Chapter Name",chapterData:"Chapter Content"},msg:{parseFailed:"Failed to parse file. Please re-upload",selectFile:"Select file",docNotSupported:".doc files do not support parsing, please convert to .ts files",unsupportedType:"Unsupported file type",fileTooLarge:"File exceeds 10MB. Please upload a smaller file",selectChapters:"Please select chapters first",saveSuccess:"Novel text saved successfully"},importAdd:"Drag and drop files here or click to upload",limit:"Support .ts format"},editDialog:{title:"Edit Novel Text",chapterName:"Chapter Name",chapterNamePh:"Please enter chapter name",eventContent:"Event Content",eventContentPh:"Enter event content",chapterContent:"Chapter Content",chapterContentPh:"Please enter chapter content",cancel:"Cancel",save:"Save",msg:{updateSuccess:"Novel text updated successfully"}},event:{regenerate:"Regenerate Events",batchDelete:"Batch Delete",noData:"No event data. Click to start generation",generate:"Generate Events",generatingHint:"Generating events, please wait...",loading:"Loading...",delete:"Delete",col:{id:"Event ID",eventName:"Event Name",chapters:"Source Chapter",detail:"Event Details",createTime:"Created Time",operation:"Operation"},msg:{deleteHeader:"Delete Event",deleteBody:"Are you sure you want to delete this event?",deleteSuccess:"Deleted successfully",generateSuccess:"Events generated successfully",batchDeleteHeader:"Batch Delete",batchDeleteBody:"Are you sure you want to delete the selected {count} items?",batchDeleteSuccess:"Batch delete successful"}},analysis:{analyzeFirst:"Please analyze events first",startAnalysis:"Start Analysis",chapterHeader:"Chapter {index} - {name}",analyzing:"Analyzing events"}},scriptAgent:{inputPlaceholder:"Please enter content",chapterEvents:"Chapter Events",clearMessageMemory:"Clear Message Memory",clearSummaryMemory:"Clear Summary Memory",clearAllMemory:"Clear All Memory",edit:"Edit",storySkeleton:"Story Skeleton",adaptationStrategy:"Adaptation Strategy",script:"Script",noContent:"No content",relatedAssets:"Related Assets",editScript:"Edit Script",save:"Save",scriptTitle:"Title",titlePlaceholder:"Please enter title",content:"Content",contentPlaceholder:"Please enter script content",selectAssets:"Select Assets",noAssets:"No related assets",selectAssetsTitle:"Select Related Assets",welcomeMsg:"Hello! I am the Toonflow AI Assistant. Would you like me to start generating a script?",start:"Start",memoryType:{message:"Message Memory",summary:"Summary Memory",all:"All Memory"},forceGenerate:{title:"Force Generate?",desc:"Some chapters have not completed event analysis. Do you still want to force generate?",confirm:"Force Generate",cancel:"Cancel"},msg:{clearConfirm:"Confirm Clear",clearBody:"Are you sure you want to clear {type}? This action cannot be undone.",confirmClear:"Clear",cancel:"Cancel",memoryCleared:"{type} cleared",scriptUpdated:"Script updated successfully",scriptUpdateFailed:"Failed to update script, please try again later",searchScriptFailed:"Failed to search scripts",updated:"Saved successfully",error:"Save failed",reconnect:"Reconnect",notReconnect:"Confirm that the reconnection conversation will be cut off?",keepReconnect:"confirm",deleteConfirm:"Delete confirmation",deleteBody:"Delete text",confirmDelete:"Confirm deletion",scriptDeleted:"Script deleted"},reconnect:"Reconnect"},cornerScape:{batchSettings:"Batch Gen Settings",quickActions:"Quick Actions",selectUngenerated:"Select All Ungenerated",selectGenerated:"Select All Generated",selectFailed:"Select Failed",invertSelection:"Invert Selection",clearSelection:"Clear Selection",batchPreview:"Batch Preview Images",assetTypeFilter:"Asset Type Filter",genModel:"Generation Model",resolution:"Resolution",resolutionPh:"Please select a resolution",concurrency:"Concurrency",concurrencyPh:"Enter concurrency level",startBatch:"Start generating images in batches",waitingGen:"Waiting...",generating:"Generating",genFailed:"Generation failed",imageError:"Image Error",typeRole:"Character",typeScene:"Scene",typeTool:"Prop",typeUnknown:"Unknown",descriptionSuffix:"Description: ",operateScriptFirst:"Please handle the script first",individualConfig:"Individual Config",noImage:"No Image",promptLabel:"Prompt",promptPh:"Please enter prompt",aiPolish:"AI Polish",regenerate:"Regenerate",filterRole:"Character",filterScene:"Scene",filterTool:"Prop",unnamed:"Unnamed",noDescription:"No description",msg:{selectModel:"Please select a generation model",selectResolution:"Please select a resolution",enterPrompt:"Please enter a prompt",enterPromptFirst:"Please enter a prompt first",genSuccess:"{name} generated successfully",genFailed:"{name} generation failed",promptGenSuccess:"Prompt generated successfully",polishFailed:"Failed to polish, please try again",selectAtLeastOne:"Select at least one asset for batch generation",batchStarted:"Batch generation started. Total: {count}, Concurrency: {concurrent}",batchItemFailed:"{name} generation failed: {error}",batchComplete:"Batch generation completed",batchFailed:"Batch generation failed",replaceFailed:"Replacement failed",replaceSuccess:"Replacement successful",promptGenFail:"Prompt word generation failed",saveSuccess:"Modification of prompt word successful",saveFailed:"Prompt word modification failed"},history:"historical pictures",confirmReplace:"Confirm replacement",batchGenerationPrompt:"Generate prompt words in batches",generatingPrompt:"Generating"},script:{searchPlaceholder:"Search script names...",search:"Search",addScript:"New Script",cancelSelectAll:"Deselect All",selectAll:"Select All",exportScript:"Export Script",msg:{searchFailed:"Failed to search scripts",selectExport:"Please select a script to export",exportSuccess:"Export successful",exportFailed:"Failed to export script",deleteHeader:"Confirm Deletion",deleteBody:"Are you sure you want to delete this script? This cannot be undone.",deleteConfirm:"Delete",cancel:"Cancel",deleteSuccess:"Deleted successfully",deleteFailed:"Deletion failed",selectDelScript:"Please choose to delete the script",batchDeleteHeader:"Batch Delete",batchDeleteBody:"Are you sure you want to delete the selected {count} scripts? This cannot be undone.",batchDeleteSuccess:"Batch deletion successful",extractingInProgress:"Extracting",projectNotFound:"Item not found"},add:{title:"Add Script",scriptName:"Script Name",scriptNamePh:"Please enter script name",uploadFile:"Upload File",dragUpload:"Drag and drop your script file here or click to upload",uploadHint:"Supports .txt, .docx. Recommended file size under 10MB",scriptContent:"Script Content",scriptContentPh:"Please upload or enter script content...",relatedAssets:"Related Assets",selectAssets:"Select Assets",noAssets:"No related assets",cancel:"Cancel",confirm:"Confirm",msg:{fileReadFailed:"Failed to read file",docNotSupported:".doc parsing is not supported. Please convert to .txt or .docx",unsupportedType:"Unsupported file type",fileTooLarge:"File exceeds 10MB. Please upload a smaller file",parsing:"Parsing file...",parseFailed:"Failed to parse file, please re-upload",selectAssetsTitle:"Select Related Assets",enterContent:"Please upload or enter script content",enterName:"Please enter script name",addSuccess:"Script added successfully",addFailed:"Failed to add script, please try again later"}},edit:{title:"Script Details",scriptName:"Script Name",scriptNamePh:"Please enter script name",scriptContent:"Script Content",scriptContentPh:"Please enter script content...",relatedAssets:"Related Assets",selectAssets:"Select Assets",noAssets:"No related assets",msg:{selectAssetsTitle:"Select Related Assets",updateSuccess:"Script updated successfully",updateFailed:"Failed to update script, please try again later"}},deleteScript:"Delete scripts in batches",extractAssets:""},assets:{addPrefix:"Add",batchGenerate:"Batch Generate",generatePrompt:"Generate Prompt",generateImage:"Generate Image",batchDelete:"Batch Delete",searchPlaceholder:"Search asset names...",search:"Search",preview:"Preview",generate:"Generate",edit:"Edit",delete:"Delete",generating:"Generating",play:"Play",mediaPreview:"Media Preview",confirmBatch:"Confirm {type}!",model:"Model",resolution:"Resolution",resolutionPh:"Please select a resolution",batchGenPrompt:"Batch Generate Prompts",batchGenImage:"Batch Generate Images",role:"Character",prop:"Prop",scene:"Scene",clip:"Clip",uploadSuccess:"Upload successful",selectAtLeastOne:"Please select at least one asset",noDescription:"No description",promptGenSuccess:'Prompt for "{name}" generated successfully',promptGenFail:'Prompt generation for "{name}" failed: {error}',selectModel:"Please select a model",selectResolution:"Please select a resolution",noPromptForImage:'"{name}" lacks a prompt; cannot generate image',imageGenSuccess:'Image for "{name}" generated successfully',imageGenFail:'Image generation for "{name}" failed: {error}',confirmDeleteHeader:"Confirm Deletion",confirmBatchDeleteBody:"Are you sure you want to batch delete these assets? This cannot be undone.",confirmDeleteBody:"Are you sure you want to delete this asset? This cannot be undone.",deleteBtn:"Delete",cancelBtn:"Cancel",deleteSuccess:"Asset deleted successfully",deleteFail:"Failed to delete asset",colPreview:"Preview",colName:"Name",colPrompt:"Prompt",colDescribe:"Description",colRemark:"Remarks",colCreateTime:"Created Time",colOperation:"Operation",add:{name:"Name",namePh:"Please enter name",describe:"Description",describePh:"Please enter description",remark:"Remarks",remarkPh:"Please enter remarks",prompt:"Prompt",promptPh:"Please enter prompt",nameRequired:"Please enter a name",describeRequired:"Please enter details",remarkRequired:"Please enter remarks",updateSuccess:"Asset updated successfully",addSuccess:"Asset added successfully"},gen:{header:"Image Generation",uploadRef:"Upload Reference Image",optional:"Optional",promptLabel:"Generation Prompt",smartGenerate:"Smart Generation",generatingPrompt:"Generating smart prompt...",promptPlaceholder:"Describe the image you want to generate. e.g., A futuristic city full of tech, neon lights blinking, cyberpunk style...",selectModel:"Select Model",selectResolution:"Select Resolution",generateBtn:"Generate Image",resultTitle:"Results",generatedCount:"{count} generated. Please select one",generatingLabel:"Generating...",genFailed:"Generation failed",confirmSelect:"Confirm Selection",promptSuccess:"Prompt generated successfully",promptFail:"Failed to generate prompt",fillPrompt:"Please enter a prompt",pickResolution:"Please select a resolution",pickModel:"Please select a model",unnamed:"Unnamed",assetGenSuccess:"Asset generated successfully",assetGenFail:"Asset generation failed",uploadOk:"Uploaded successfully",imageSelected:"Image selected",imageDeleted:"Image deleted",imageSaved:"Image saved",completed:"Completed"},batch:{header:"Batch Generation",selected:"Selected {count} items",selectAll:"Select All",clearSelection:"Clear Selection",inputPh:"Please enter content",saveSelected:"Save Selected ({count})",colPreviewImg:"Preview",selectToSave:"Please select items to save",saveSuccess:"Saved successfully",saveFail:"Failed to save, please try again",promptDone:"Prompt generation completed",promptFail:"Prompt generation failed",missingPrompts:"{count} assets are missing prompts. Please generate prompts first",imageDone:"Image generation completed",imageGenFail:"Image generation failed",unknownError:"Unknown error",promptGenCancelled:"Generation canceled"}},production:{selectPlaceholder:"Please select an episode",edit:"Edit",node:{script:{title:"Script",editDialog:"Edit Script"},scriptPlan:{title:"Shooting Plan",editDialog:"Edit Shooting Plan"},storyboard:{title:"Storyboard Panel",notGenerated:"Not Generated",scaleRatio:"Zoom Ratio",gridPreview:"Grid Preview",noPreviewImages:"No images available to preview",imageLoadFailed:"Failed to load image",promptPlaceholder:"Please enter the prompt word",prompt:"prompt word",editInfo:"Prompt word modification"},storyboardTable:{title:"Storyboard Table",editDialog:"Edit Storyboard Table"},assets:{title:"Derived Assets",generateFailed:"Generation failed",notGenerated:"Not Generated",originalAsset:"Original Asset",derived:"Derived",noDerivedAssets:"No derived assets"},poster:{title:"Video Cover",coverCount:"{count} Items"},workbench:{title:"Video Workbench"}},editImage:{upload:"Upload",generate:"Generate",saveFailed:"Save failed, please try again",fetchFailed:"Failed to fetch data",generating:"Generating...",deleteNode:"Delete Node",ratio:"Ratio",quality:"Quality",generateBtn:"Generate Image",selectImage:"Select Image",imageGeneration:"Image Generation",promptPlaceholder:"Describe the image you want to generate...",imageRef:"Image {index}",videoRef:"Video {index}",audioRef:"Audio {index}",reference:"Ref {index}",noReferences:"No reference images available",selectModel:"Please select a model first",selectQuality:"Please select a quality",selectRatio:"Please select a ratio",generateFailed:"Generation failed",generateFirst:"Please generate an image first",generatedResult:"Results",waitingGenerate:"Waiting...",layoutLR:"Auto Layout - Horizontal",layoutTB:"Auto Layout - Vertical",uploadAssetImage:"Upload Asset Image",uploadStoryboardImage:"Upload Storyboard Image",uploadImage:"Asset image upload",mode:"model",closeConfirmTitle:"Close the editing panel?",closeConfirmBody:"Unsaved data will be lost after closing"},save:"Select",cancel:"Cancel",chatBox:{inputPlaceholder:"Type a message...",generateDerivedAssets:"Generate Derived Assets",welcomeMessage:"Hello! I am your AI Assistant. How can I help you?",adjustModel:"Adjust Model",startMakingVideo:"Start Making Video",startMakingVideoPrompt:"Please help me start making a video",clearMessageMemory:"Clear Message Memory",clearSummaryMemory:"Clear Summary Memory",clearAllMemory:"Clear All Memory",messageMemory:"Message Memory",summaryMemory:"Summary Memory",allMemory:"All Memory",confirmClear:"Clear Memory",confirmClearBody:"Are you sure you want to clear {type}?",confirmClearBtn:"Confirm",memoryCleared:"{type} cleared"},wb:{quickPreview:"Quick Preview",videoGeneration:"Storyboard",videoEditing:"editing desk",hint:"Hint",extractLines:"Extract lines from video?",no:"No",confirm:"Yes",extractLinesQuestion:"Do you want to extract dialogue lines from the video as subtitles?",importingLoading:"Importing, please wait...",mainTrackVideo:"Main Track (Video)",subtitle1:"Subtitle 1",storyboardVideoName:"Storyboard Video-{storyboard}.mp4"},preview:{noImage:"No Image",storyboardDesc:"Storyboard Description",serialNumber:"No.",noDescription:"No Description",duration:"Duration",seconds:"s",relatedAssets:"Related Assets",role:"Character",prop:"Prop",scene:"Scene",noCharacters:"No characters appear",imagePrompt:"Image Prompt",selectAll:"Select All",exportImage:"Export Image",sceneDescription:"Scene Description",promptLabel:"Prompt",restoreSort:"Reset Sorting",restoreSortConfirm:"Are you sure you want to revert to the original sorting?",tip:"Tip",selectAtLeastOne:"Please select at least one storyboard to export",exportFilename:"Storyboard_Images.zip"},generate:{noVideo:"No Video",videoPrompt:"Video Prompt",promptPlaceholder:"Enter prompt words to describe the video content you want to generate...",refImage:"Reference Image",image:"Image",refVideo:"Reference Video",refImageLabel:"Reference Image",refAudio:"Reference Audio",muteAudio:"Mute Audio",enableAudio:"Enable Audio",resolution:"Resolution",duration:"Duration",generate:"Generate",historyVersions:"History Versions",confirmSelection:"Confirm Selection",noHistory:"No history available",generating:"Generating",generatingPrompt:"Intelligent generation of prompt words",generateFailed:"Generation failed",selectAll:"Select All",videoTrack:"Video Track",batchGenerate:"Batch Generate",importToEditor:"Import to Editor",modeSingleImage:"Single Image",modeMultiImage:"Multi-Image",modeGridImage:"Grid Multi-Image",modeStartEnd:"Start & End Frames",modeText:"Text to Video",modeVideoRef:"Video Reference",modeImageRef:"Image Reference",modeAudioRef:"Audio Reference",modeTextRef:"Text Reference",startFrame:"Start Frame",startFrameOptional:"Start Frame (Optional)",endFrame:"End Frame",endFrameOptional:"End Frame (Optional)",selectRefImage:"Select Reference Image",selectRefImages:"Select Reference Images",selectEndFrame:"Select End Frame Image",selectRefVideoAsset:"Select Reference Video",selectRefAudioAsset:"Select Reference Audio",selectRefImageAsset:"Select Reference Image",selectImageSource:"Select Image Source",fromStoryboard:"Storyboard Image",fromStoryboardDesc:"Select image from storyboard list",fromAssets:"Asset Image",fromAssetsDesc:"Select image from asset library",confirmDelete:"Confirm Deletion",confirmDeleteBody:"Are you sure you want to delete this video? This cannot be undone.",delete:"Delete",cancel:"Cancel",deleteSuccess:"Video deleted successfully",deleteFailed:"Deletion failed",selectVideoFirst:"Please select a video first",confirmSuccess:"Selection confirmed",batchSubmitted:"Batch generation request submitted. Processing...",configNotFound:"Configuration not found",pollingFailed:"Video status query failed, please refresh manually",batchGeneratePrompt:"Generate prompt words in batches",promptEmpty:"Please enter a video prompt first",modelEmpty:"Please select a video generation model first",batchPromptEmpty:`Storyboard {name} is available for video prompts.
Please create or fill in the prompt first`,batchModelEmpty:"Storyboard {names} has no model configured. Please select a model first"},editVideo:{reset:"Reset",undo:"Undo",redo:"Redo",split:"Split",delete:"Delete",rendering:"Rendering...",exportVideo:"Export Video",exportSuccess:"Video export completed",exportFailed:"Export failed",sampleSubtitle:"Sample Subtitle Text",customText:"Custom Text Content",transitionBetweenClips:"Transitions must be added between two adjacent clips",transitionExists:"A transition already exists at this location",videoPreviewArea:"Video Preview Area",clipMaterials:"Clip Materials",propertyPanel:"Properties Panel",selectClip:"Select a clip to view properties",basicInfo:"Basic Info",name:"Name",clipNamePlaceholder:"Clip Name",startTime:"Start",endTime:"End",totalDuration:"Total Duration",videoProperties:"Video Properties",opacity:"Opacity",volume:"Volume",playbackSpeed:"Playback Speed",audioProperties:"Audio Properties",fadeIn:"Fade In",fadeOut:"Fade Out",transitionProperties:"Transition Properties",transitionType:"Transition Type",transFade:"Fade",transSlide:"Slide",transWipe:"Wipe",transDissolve:"Dissolve",transZoom:"Zoom",transRotate:"Rotate",transitionDuration:"Transition Duration",subtitleProperties:"Subtitle Properties",textContent:"Text Content",fontSize:"Font Size",copy:"Copy",deleteConfirm:"Confirm Deletion",deleteClipConfirm:"Are you sure you want to delete this clip?",avCanvasNotInit:"AVCanvas not initialized",noExportContent:"No content to export",exportProject:"Export Project",transitionAdded:"Transition added: {name}",splitClip:"Split Clip",deleteClip:"Delete Clip",addClip:"Add {name}",duplicateClip:"Duplicate Clip",addTransition:"Add Transition",updateClip:"Update Clip {key}",updatePlaybackRate:"Update Playback Rate to {rate}x",updateTransitionDuration:"Update Transition Duration",playbackRateRange:"Playback rate must be between 0.1 and 10",updatePlaybackRateFailed:"Failed to update playback rate:",importProject:"Import Project",import:"Import"},clipType:{video:"Video",audio:"Audio",subtitle:"Subtitle",transition:"Transition",sticker:"Sticker",filter:"Filter",effect:"Effect"},track:{video:"Video",image:"Image",audio:"Audio",subtitle:"Subtitle",text:"Text",sticker:"Sticker",filter:"Filter",effect:"Effect"},transition:{fade:"Fade",slide:"Slide",slideLeft:"Slide Left",slideRight:"Slide Right",slideUp:"Slide Up",slideDown:"Slide Down",wipe:"Wipe",wipeLeft:"Wipe Left",wipeRight:"Wipe Right",wipeUp:"Wipe Up",wipeDown:"Wipe Down",dissolve:"Dissolve",zoom:"Zoom",zoomIn:"Zoom In",zoomOut:"Zoom Out",rotate:"Rotate",circle:"Circle",diamond:"Diamond",clock:"Clock",blur:"Blur"},media:{titleText:"Title Text",subtitleText:"Subtitle Text",customText:"Custom Text",media:"Media",image:"Image",audio:"Audio",subtitle:"Subtitle",transition:"Transition",effect:"Effect",filter:"Filter",loading:"Loading...",subtitlePreview:"Text",video:"video"},effect:{fadeIn:"Fade In",fadeOut:"Fade Out",flash:"Flash",shake:"Shake",zoomIn:"Zoom In",zoomOut:"Zoom Out",pulse:"Pulse",rotateIn:"Rotate In",sticker1:"Sticker 1",sticker2:"Sticker 2"},filter:{grayscale:"Grayscale",sepia:"Sepia",warm:"Warm",cool:"Cool",vivid:"Vivid",bright:"Bright",highContrast:"High Contrast",blur:"Blur",invert:"Invert",semiTransparent:"Semi-Transparent"},guideSwitchEpisode:"Switch Episodes",guideSwitchEpisodeBody:"Switching episodes has been moved here!",guideRefresh:"Refresh Data",guideRefreshBody:"Click the refresh button to reload workspace data",guideCanvasNav:"Canvas Navigation",guideCanvasNavBody:"Scroll to pan vertically, Ctrl + Scroll to zoom, drag with left mouse button to pan freely",guideRightChat:"AI Chat",guideRightChatBody:"Chat with AI in the right panel to drive automated workflows",guideLayoutBtn:"Auto Layout",guideLayoutBtnBody:"Click this button to automatically arrange node layout",autoLayoutLR:"Automatic typesetting-left and right layout",autoLayoutTB:"Automatic typesetting-top and bottom layout",getFlowData:"Refresh workspace",confirm:"Switch episode confirmation",confirmEpisodesSwitch:"The current task is still in progress. Switching episodes will reconnect the session. Do you want to continue switching?"},task:{title:"Task List",subtitle:"Your latest task execution records",refresh:"Refresh",categoryLabel:"Task Category:",stateLabel:"Status:",noFailReason:"No failure reason",stateAll:"All",stateRunning:"Running",stateCompleted:"Completed",stateFailed:"Failed",fetchFailed:"Failed to fetch task list",col:{taskClass:"Task Category",relatedObjects:"Related Objects",model:"Model",describe:"Description",state:"Status",startTime:"Time"},project:"Project name:"},noVideo:"No video yet",prompt:"Video prompt words",generateText:"AI generated prompt words",selectStoryboard:"Select storyboard",generate:{noVideo:"No video yet",generateText:"AI generated prompt words",selectStoryboard:"Select storyboard",generate:"Generate video",history:"Historical version",generating:"Generating",generateFailed:"fail",selectAll:"Select all",selected:"Selected",batchGenerateText:"Generate prompt words in batches",batchGenerateVideo:"Generate videos in batches",importVideo:"Import to editing desk",emptyTrack:"Paragraph {index 1}",del:"delete",delConfirm:"Are you sure you want to delete this paragraph?",selectSource:"Select source",confirm:"Select from assets",cancel:"Select from storyboard",selectVideoFailed:"Video selection failed",selectVideoSuccess:"Video selection successful",selectTrackFirst:"Please select the storyboard first",noSelectedVideo:"No videos selected",generateConfirm:"Confirm generation",generateConfirmBody:"Confirm to generate video",generateVideosInBatches:"Generate videos in batches",generateStarted:"Build starts",skipDataWithEmptyVideoPromptWords:"The video data that needs to be generated exists and the prompt word is empty.",duration:"duration",resolution:"resolution",delVideo:"Confirm to delete this video?",delSuccess:"Delete successfully",addReference:"add reference",promptPlaceholder:"Please enter the video prompt word",downloadVideo:"Download videos in batches",selectVideo:"Please check the video you want to download"}},mCi={slogan:"Intelligent Short Drama Creation Platform",tips:"Default Account: admin / admin123",settings:"Server Settings",requestAddress:"Request URL",username:"Username",password:"Password",login:"Login",usernameRequired:"Please enter username",passwordRequired:"Please enter password",enterUsernameAndPassword:"Please enter username or password",loginSuccess:"Login successful",settingsSaved:"Settings saved"},kCi={prompt:"prompt word"},vCi={welcomeTitle:"Welcome to ToonFlow",welcomeDesc:"AI-driven comic creation workflow platform, let us spend a minute to complete the initial configuration.",startConfig:"Start configuration",skip:"Skip boot",configModel:"Add model service",configData:"Configure Agent",startUse:"Get started",configModelTitle:"Add model service provider",configModelDesc:"First, you need to add at least one AI model service provider (such as OpenAI, Claude, etc.) in the settings and fill in the corresponding API Key.",configModelTip:'Clicking the button below will open the "Model Service" tab of the settings page. After adding the supplier, return here to continue.',configModelBtn:"Go to configure model service",configAgentTitle:"Assign Agent Model",configAgentDesc:"Next, assign models to each functional module in the Agent configuration so that the system knows which model to call to complete the task.",configAgentTip:'Clicking the button below will open the "Agent Configuration" tab of the settings page. Return here after assigning models to each function.',configAgentBtn:"Go to configure Agent",finishTitle:"🎉 Everything is ready!",finishDesc:`The configuration is complete and now you can start using all the features.
@@ -1531,7 +1531,7 @@ If you need to adjust it, you can modify it in the settings at any time.`,qrcode
`:">",s};_z.prototype.renderInline=function(e,t,n){let r="";const o=this.rules;for(let s=0,a=e.length;s=0&&(r=this.attrs[n][1]),r};D3.prototype.attrJoin=function(t,n){const r=this.attrIndex(t);r<0?this.attrPush([t,n]):this.attrs[r][1]=this.attrs[r][1]+" "+n};function fOn(e,t,n){this.src=e,this.env=n,this.tokens=[],this.inlineMode=!1,this.md=t}fOn.prototype.Token=D3;const J8i=/\r\n?|\n/g,eLi=/\0/g;function tLi(e){let t;t=e.src.replace(J8i,`
`),t=t.replace(eLi,"�"),e.src=t}function nLi(e){let t;e.inlineMode?(t=new e.Token("inline","",0),t.content=e.src,t.map=[0,1],t.children=[],e.tokens.push(t)):e.md.block.parse(e.src,e.md,e.env,e.tokens)}function iLi(e){const t=e.tokens;for(let n=0,r=t.length;n\s]/i.test(e)}function oLi(e){return/^<\/a\s*>/i.test(e)}function sLi(e){const t=e.tokens;if(e.md.options.linkify)for(let n=0,r=t.length;n=0;a--){const l=o[a];if(l.type==="link_close"){for(a--;o[a].level!==l.level&&o[a].type!=="link_open";)a--;continue}if(l.type==="html_inline"&&(rLi(l.content)&&s>0&&s--,oLi(l.content)&&s++),!(s>0)&&l.type==="text"&&e.md.linkify.test(l.content)){const d=l.content;let u=e.md.linkify.match(d);const h=[];let g=l.level,m=0;u.length>0&&u[0].index===0&&a>0&&o[a-1].type==="text_special"&&(u=u.slice(1));for(let v=0;vm){const y=new e.Token("text","",0);y.content=d.slice(m,p),y.level=g,h.push(y)}const b=new e.Token("link_open","a",1);b.attrs=[["href",k]],b.level=g++,b.markup="linkify",b.info="auto",h.push(b);const w=new e.Token("text","",0);w.content=A,w.level=g,h.push(w);const O=new e.Token("link_close","a",-1);O.level=--g,O.markup="linkify",O.info="auto",h.push(O),m=u[v].lastIndex}if(m=0;n--){const r=e[n];r.type==="text"&&!t&&(r.content=r.content.replace(lLi,dLi)),r.type==="link_open"&&r.info==="auto"&&t--,r.type==="link_close"&&r.info==="auto"&&t++}}function hLi(e){let t=0;for(let n=e.length-1;n>=0;n--){const r=e[n];r.type==="text"&&!t&&gOn.test(r.content)&&(r.content=r.content.replace(/\+-/g,"±").replace(/\.{2,}/g,"…").replace(/([?!])…/g,"$1..").replace(/([?!]){4,}/g,"$1$1$1").replace(/,{2,}/g,",").replace(/(^|[^-])---(?=[^-]|$)/mg,"$1—").replace(/(^|\s)--(?=\s|$)/mg,"$1–").replace(/(^|[^-\s])--(?=[^-\s]|$)/mg,"$1–")),r.type==="link_open"&&r.info==="auto"&&t--,r.type==="link_close"&&r.info==="auto"&&t++}}function fLi(e){let t;if(e.md.options.typographer)for(t=e.tokens.length-1;t>=0;t--)e.tokens[t].type==="inline"&&(aLi.test(e.tokens[t].content)&&uLi(e.tokens[t].children),gOn.test(e.tokens[t].content)&&hLi(e.tokens[t].children))}const gLi=/['"]/,w1t=/['"]/g,O1t="’";function Xse(e,t,n){return e.slice(0,t)+n+e.slice(t+1)}function mLi(e,t){let n;const r=[];for(let o=0;o=0&&!(r[n].level<=a);n--);if(r.length=n+1,s.type!=="text")continue;let l=s.content,d=0,u=l.length;e:for(;d=0)f=l.charCodeAt(h.index-1);else for(n=o-1;n>=0&&!(e[n].type==="softbreak"||e[n].type==="hardbreak");n--)if(e[n].content){f=e[n].content.charCodeAt(e[n].content.length-1);break}let k=32;if(d=48&&f<=57&&(m=g=!1),g&&m&&(g=A,m=p),!g&&!m){v&&(s.content=Xse(s.content,h.index,O1t));continue}if(m)for(n=r.length-1;n>=0;n--){let O=r[n];if(r[n].level=0;t--)e.tokens[t].type!=="inline"||!gLi.test(e.tokens[t].content)||mLi(e.tokens[t].children,e)}function vLi(e){let t,n;const r=e.tokens,o=r.length;for(let s=0;s0&&this.level++,this.tokens.push(r),r};Gy.prototype.isEmpty=function(t){return this.bMarks[t]+this.tShift[t]>=this.eMarks[t]};Gy.prototype.skipEmptyLines=function(t){for(let n=this.lineMax;tn;)if(!rd(this.src.charCodeAt(--t)))return t+1;return t};Gy.prototype.skipChars=function(t,n){for(let r=this.src.length;tr;)if(n!==this.src.charCodeAt(--t))return t+1;return t};Gy.prototype.getLines=function(t,n,r,o){if(t>=n)return"";const s=new Array(n-t);for(let a=0,l=t;lr?s[a]=new Array(d-r+1).join(" ")+this.src.slice(h,g):s[a]=this.src.slice(h,g)}return s.join("")};Gy.prototype.Token=D3;const ALi=65536;function S_e(e,t){const n=e.bMarks[t]+e.tShift[t],r=e.eMarks[t];return e.src.slice(n,r)}function y1t(e){const t=[],n=e.length;let r=0,o=e.charCodeAt(r),s=!1,a=0,l="";for(;rn)return!1;let o=t+1;if(e.sCount[o]=4)return!1;let s=e.bMarks[o]+e.tShift[o];if(s>=e.eMarks[o])return!1;const a=e.src.charCodeAt(s++);if(a!==124&&a!==45&&a!==58||s>=e.eMarks[o])return!1;const l=e.src.charCodeAt(s++);if(l!==124&&l!==45&&l!==58&&!rd(l)||a===45&&rd(l))return!1;for(;s=4)return!1;u=y1t(d),u.length&&u[0]===""&&u.shift(),u.length&&u[u.length-1]===""&&u.pop();const g=u.length;if(g===0||g!==h.length)return!1;if(r)return!0;const m=e.parentType;e.parentType="table";const v=e.md.block.ruler.getRules("blockquote"),f=e.push("table_open","table",1),k=[t,0];f.map=k;const A=e.push("thead_open","thead",1);A.map=[t,t+1];const p=e.push("tr_open","tr",1);p.map=[t,t+1];for(let O=0;O=4||(u=y1t(d),u.length&&u[0]===""&&u.shift(),u.length&&u[u.length-1]===""&&u.pop(),w+=g-u.length,w>ALi))break;if(o===t+2){const C=e.push("tbody_open","tbody",1);C.map=b=[t+2,0]}const y=e.push("tr_open","tr",1);y.map=[o,o+1];for(let C=0;C=4){r++,o=r;continue}break}e.line=o;const s=e.push("code_block","code",0);return s.content=e.getLines(t,o,4+e.blkIndent,!1)+`
-`,s.map=[t,e.line],!0}function wLi(e,t,n,r){let o=e.bMarks[t]+e.tShift[t],s=e.eMarks[t];if(e.sCount[t]-e.blkIndent>=4||o+3>s)return!1;const a=e.src.charCodeAt(o);if(a!==126&&a!==96)return!1;let l=o;o=e.skipChars(o,a);let d=o-l;if(d<3)return!1;const u=e.src.slice(l,o),h=e.src.slice(o,s);if(a===96&&h.indexOf(String.fromCharCode(a))>=0)return!1;if(r)return!0;let g=t,m=!1;for(;g++,!(g>=n||(o=l=e.bMarks[g]+e.tShift[g],s=e.eMarks[g],o=4)&&(o=e.skipChars(o,a),!(o-l=4||e.src.charCodeAt(o)!==62)return!1;if(r)return!0;const l=[],d=[],u=[],h=[],g=e.md.block.ruler.getRules("blockquote"),m=e.parentType;e.parentType="blockquote";let v=!1,f;for(f=t;f=s)break;if(e.src.charCodeAt(o++)===62&&!w){let y=e.sCount[f]+1,C,_;e.src.charCodeAt(o)===32?(o++,y++,_=!1,C=!0):e.src.charCodeAt(o)===9?(C=!0,(e.bsCount[f]+y)%4===3?(o++,y++,_=!1):_=!0):C=!1;let S=y;for(l.push(e.bMarks[f]),e.bMarks[f]=o;o=s,d.push(e.bsCount[f]),e.bsCount[f]=e.sCount[f]+1+(C?1:0),u.push(e.sCount[f]),e.sCount[f]=S-y,h.push(e.tShift[f]),e.tShift[f]=o-e.bMarks[f];continue}if(v)break;let O=!1;for(let y=0,C=g.length;y";const p=[t,0];A.map=p,e.md.block.tokenize(e,t,f);const b=e.push("blockquote_close","blockquote",-1);b.markup=">",e.lineMax=a,e.parentType=m,p[1]=e.line;for(let w=0;w=4)return!1;let s=e.bMarks[t]+e.tShift[t];const a=e.src.charCodeAt(s++);if(a!==42&&a!==45&&a!==95)return!1;let l=1;for(;s=r)return-1;let s=e.src.charCodeAt(o++);if(s<48||s>57)return-1;for(;;){if(o>=r)return-1;if(s=e.src.charCodeAt(o++),s>=48&&s<=57){if(o-n>=10)return-1;continue}if(s===41||s===46)break;return-1}return o=4||e.listIndent>=0&&e.sCount[d]-e.listIndent>=4&&e.sCount[d]=e.blkIndent&&(h=!0);let g,m,v;if((v=_1t(e,d))>=0){if(g=!0,a=e.bMarks[d]+e.tShift[d],m=Number(e.src.slice(a,v-1)),h&&m!==1)return!1}else if((v=C1t(e,d))>=0)g=!1;else return!1;if(h&&e.skipSpaces(v)>=e.eMarks[d])return!1;if(r)return!0;const f=e.src.charCodeAt(v-1),k=e.tokens.length;g?(l=e.push("ordered_list_open","ol",1),m!==1&&(l.attrs=[["start",m]])):l=e.push("bullet_list_open","ul",1);const A=[d,0];l.map=A,l.markup=String.fromCharCode(f);let p=!1;const b=e.md.block.ruler.getRules("list"),w=e.parentType;for(e.parentType="list";d=o?_=1:_=y-O,_>4&&(_=1);const S=O+_;l=e.push("list_item_open","li",1),l.markup=String.fromCharCode(f);const L=[d,0];l.map=L,g&&(l.info=e.src.slice(a,v-1));const E=e.tight,Q=e.tShift[d],D=e.sCount[d],P=e.listIndent;if(e.listIndent=e.blkIndent,e.blkIndent=S,e.tight=!0,e.tShift[d]=C-e.bMarks[d],e.sCount[d]=y,C>=o&&e.isEmpty(d+1)?e.line=Math.min(e.line+2,n):e.md.block.tokenize(e,d,n,!0),(!e.tight||p)&&(u=!1),p=e.line-d>1&&e.isEmpty(e.line-1),e.blkIndent=e.listIndent,e.listIndent=P,e.tShift[d]=Q,e.sCount[d]=D,e.tight=E,l=e.push("list_item_close","li",-1),l.markup=String.fromCharCode(f),d=e.line,L[1]=d,d>=n||e.sCount[d]=4)break;let T=!1;for(let M=0,B=b.length;M=4||e.src.charCodeAt(o)!==91)return!1;function l(b){const w=e.lineMax;if(b>=w||e.isEmpty(b))return null;let O=!1;if(e.sCount[b]-e.blkIndent>3&&(O=!0),e.sCount[b]<0&&(O=!0),!O){const _=e.md.block.ruler.getRules("reference"),S=e.parentType;e.parentType="reference";let L=!1;for(let E=0,Q=_.length;E"u"&&(e.env.references={}),typeof e.env.references[p]>"u"&&(e.env.references[p]={title:A,href:g}),e.line=a),!0):!1}const LLi=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],xLi="[a-zA-Z_:][a-zA-Z0-9:._-]*",ELi="[^\"'=<>`\\x00-\\x20]+",TLi="'[^']*'",QLi='"[^"]*"',DLi="(?:"+ELi+"|"+TLi+"|"+QLi+")",BLi="(?:\\s+"+xLi+"(?:\\s*=\\s*"+DLi+")?)",mOn="<[A-Za-z][A-Za-z0-9\\-]*"+BLi+"*\\s*\\/?>",kOn="<\\/[A-Za-z][A-Za-z0-9\\-]*\\s*>",RLi="\x3C!---?>|\x3C!--(?:[^-]|-[^-]|--[^>])*-->",ILi="<[?][\\s\\S]*?[?]>",MLi="]*>",PLi="",FLi=new RegExp("^(?:"+mOn+"|"+kOn+"|"+RLi+"|"+ILi+"|"+MLi+"|"+PLi+")"),NLi=new RegExp("^(?:"+mOn+"|"+kOn+")"),iP=[[/^<(script|pre|style|textarea)(?=(\s|>|$))/i,/<\/(script|pre|style|textarea)>/i,!0],[/^\x3C!--/,/-->/,!0],[/^<\?/,/\?>/,!0],[/^/,!0],[/^/,!0],[new RegExp("^?("+LLi.join("|")+")(?=(\\s|/?>|$))","i"),/^$/,!0],[new RegExp(NLi.source+"\\s*$"),/^$/,!1]];function ULi(e,t,n,r){let o=e.bMarks[t]+e.tShift[t],s=e.eMarks[t];if(e.sCount[t]-e.blkIndent>=4||!e.md.options.html||e.src.charCodeAt(o)!==60)return!1;let a=e.src.slice(o,s),l=0;for(;l=4)return!1;let a=e.src.charCodeAt(o);if(a!==35||o>=s)return!1;let l=1;for(a=e.src.charCodeAt(++o);a===35&&o6||oo&&rd(e.src.charCodeAt(d-1))&&(s=d),e.line=t+1;const u=e.push("heading_open","h"+String(l),1);u.markup="########".slice(0,l),u.map=[t,e.line];const h=e.push("inline","",0);h.content=e.src.slice(o,s).trim(),h.map=[t,e.line],h.children=[];const g=e.push("heading_close","h"+String(l),-1);return g.markup="########".slice(0,l),!0}function WLi(e,t,n){const r=e.md.block.ruler.getRules("paragraph");if(e.sCount[t]-e.blkIndent>=4)return!1;const o=e.parentType;e.parentType="paragraph";let s=0,a,l=t+1;for(;l3)continue;if(e.sCount[l]>=e.blkIndent){let v=e.bMarks[l]+e.tShift[l];const f=e.eMarks[l];if(v=f))){s=a===61?1:2;break}}if(e.sCount[l]<0)continue;let m=!1;for(let v=0,f=r.length;v3||e.sCount[s]<0)continue;let u=!1;for(let h=0,g=r.length;h=n||e.sCount[a]=s){e.line=n;break}const d=e.line;let u=!1;for(let h=0;h=e.line)throw new Error("block rule didn't increment state.line");break}if(!u)throw new Error("none of the block rules matched");e.tight=!l,e.isEmpty(e.line-1)&&(l=!0),a=e.line,a0&&(this.level++,this._prev_delimiters.push(this.delimiters),this.delimiters=[],o={delimiters:this.delimiters}),this.pendingLevel=this.level,this.tokens.push(r),this.tokens_meta.push(o),r};Nne.prototype.scanDelims=function(e,t){const n=this.posMax,r=this.src.charCodeAt(e),o=e>0?this.src.charCodeAt(e-1):32;let s=e;for(;s0)return!1;const n=e.pos,r=e.posMax;if(n+3>r||e.src.charCodeAt(n)!==58||e.src.charCodeAt(n+1)!==47||e.src.charCodeAt(n+2)!==47)return!1;const o=e.pending.match($Li);if(!o)return!1;const s=o[1],a=e.md.linkify.matchAtStart(e.src.slice(n-s.length));if(!a)return!1;let l=a.url;if(l.length<=s.length)return!1;let d=l.length;for(;d>0&&l.charCodeAt(d-1)===42;)d--;d!==l.length&&(l=l.slice(0,d));const u=e.md.normalizeLink(l);if(!e.md.validateLink(u))return!1;if(!t){e.pending=e.pending.slice(0,-s.length);const h=e.push("link_open","a",1);h.attrs=[["href",u]],h.markup="linkify",h.info="auto";const g=e.push("text","",0);g.content=e.md.normalizeLinkText(l);const m=e.push("link_close","a",-1);m.markup="linkify",m.info="auto"}return e.pos+=l.length-s.length,!0}function GLi(e,t){let n=e.pos;if(e.src.charCodeAt(n)!==10)return!1;const r=e.pending.length-1,o=e.posMax;if(!t)if(r>=0&&e.pending.charCodeAt(r)===32)if(r>=1&&e.pending.charCodeAt(r-1)===32){let s=r-1;for(;s>=1&&e.pending.charCodeAt(s-1)===32;)s--;e.pending=e.pending.slice(0,s),e.push("hardbreak","br",0)}else e.pending=e.pending.slice(0,-1),e.push("softbreak","br",0);else e.push("softbreak","br",0);for(n++;n?@[]^_`{|}~-".split("").forEach(function(e){GZe[e.charCodeAt(0)]=1});function YLi(e,t){let n=e.pos;const r=e.posMax;if(e.src.charCodeAt(n)!==92||(n++,n>=r))return!1;let o=e.src.charCodeAt(n);if(o===10){for(t||e.push("hardbreak","br",0),n++;n=55296&&o<=56319&&n+1=56320&&l<=57343&&(s+=e.src[n+1],n++)}const a="\\"+s;if(!t){const l=e.push("text_special","",0);o<256&&GZe[o]!==0?l.content=s:l.content=a,l.markup=a,l.info="escape"}return e.pos=n+1,!0}function ZLi(e,t){let n=e.pos;if(e.src.charCodeAt(n)!==96)return!1;const o=n;n++;const s=e.posMax;for(;n=0;r--){const o=t[r];if(o.marker!==95&&o.marker!==42||o.end===-1)continue;const s=t[o.end],a=r>0&&t[r-1].end===o.end+1&&t[r-1].marker===o.marker&&t[r-1].token===o.token-1&&t[o.end+1].token===s.token+1,l=String.fromCharCode(o.marker),d=e.tokens[o.token];d.type=a?"strong_open":"em_open",d.tag=a?"strong":"em",d.nesting=1,d.markup=a?l+l:l,d.content="";const u=e.tokens[s.token];u.type=a?"strong_close":"em_close",u.tag=a?"strong":"em",u.nesting=-1,u.markup=a?l+l:l,u.content="",a&&(e.tokens[t[r-1].token].content="",e.tokens[t[o.end+1].token].content="",r--)}}function e5i(e){const t=e.tokens_meta,n=e.tokens_meta.length;L1t(e,e.delimiters);for(let r=0;r=g)return!1;if(d=f,o=e.md.helpers.parseLinkDestination(e.src,f,e.posMax),o.ok){for(a=e.md.normalizeLink(o.str),e.md.validateLink(a)?f=o.pos:a="",d=f;f=g||e.src.charCodeAt(f)!==41)&&(u=!0),f++}if(u){if(typeof e.env.references>"u")return!1;if(f=0?r=e.src.slice(d,f++):f=v+1):f=v+1,r||(r=e.src.slice(m,v)),s=e.env.references[q4e(r)],!s)return e.pos=h,!1;a=s.href,l=s.title}if(!t){e.pos=m,e.posMax=v;const k=e.push("link_open","a",1),A=[["href",a]];k.attrs=A,l&&A.push(["title",l]),e.linkLevel++,e.md.inline.tokenize(e),e.linkLevel--,e.push("link_close","a",-1)}return e.pos=f,e.posMax=g,!0}function n5i(e,t){let n,r,o,s,a,l,d,u,h="";const g=e.pos,m=e.posMax;if(e.src.charCodeAt(e.pos)!==33||e.src.charCodeAt(e.pos+1)!==91)return!1;const v=e.pos+2,f=e.md.helpers.parseLinkLabel(e,e.pos+1,!1);if(f<0)return!1;if(s=f+1,s=m)return!1;for(u=s,l=e.md.helpers.parseLinkDestination(e.src,s,e.posMax),l.ok&&(h=e.md.normalizeLink(l.str),e.md.validateLink(h)?s=l.pos:h=""),u=s;s=m||e.src.charCodeAt(s)!==41)return e.pos=g,!1;s++}else{if(typeof e.env.references>"u")return!1;if(s=0?o=e.src.slice(u,s++):s=f+1):s=f+1,o||(o=e.src.slice(v,f)),a=e.env.references[q4e(o)],!a)return e.pos=g,!1;h=a.href,d=a.title}if(!t){r=e.src.slice(v,f);const k=[];e.md.inline.parse(r,e.md,e.env,k);const A=e.push("image","img",0),p=[["src",h],["alt",""]];A.attrs=p,A.children=k,A.content=r,d&&p.push(["title",d])}return e.pos=s,e.posMax=m,!0}const i5i=/^([a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*)$/,r5i=/^([a-zA-Z][a-zA-Z0-9+.-]{1,31}):([^<>\x00-\x20]*)$/;function o5i(e,t){let n=e.pos;if(e.src.charCodeAt(n)!==60)return!1;const r=e.pos,o=e.posMax;for(;;){if(++n>=o)return!1;const a=e.src.charCodeAt(n);if(a===60)return!1;if(a===62)break}const s=e.src.slice(r+1,n);if(r5i.test(s)){const a=e.md.normalizeLink(s);if(!e.md.validateLink(a))return!1;if(!t){const l=e.push("link_open","a",1);l.attrs=[["href",a]],l.markup="autolink",l.info="auto";const d=e.push("text","",0);d.content=e.md.normalizeLinkText(s);const u=e.push("link_close","a",-1);u.markup="autolink",u.info="auto"}return e.pos+=s.length+2,!0}if(i5i.test(s)){const a=e.md.normalizeLink("mailto:"+s);if(!e.md.validateLink(a))return!1;if(!t){const l=e.push("link_open","a",1);l.attrs=[["href",a]],l.markup="autolink",l.info="auto";const d=e.push("text","",0);d.content=e.md.normalizeLinkText(s);const u=e.push("link_close","a",-1);u.markup="autolink",u.info="auto"}return e.pos+=s.length+2,!0}return!1}function s5i(e){return/^\s]/i.test(e)}function a5i(e){return/^<\/a\s*>/i.test(e)}function l5i(e){const t=e|32;return t>=97&&t<=122}function c5i(e,t){if(!e.md.options.html)return!1;const n=e.posMax,r=e.pos;if(e.src.charCodeAt(r)!==60||r+2>=n)return!1;const o=e.src.charCodeAt(r+1);if(o!==33&&o!==63&&o!==47&&!l5i(o))return!1;const s=e.src.slice(r).match(FLi);if(!s)return!1;if(!t){const a=e.push("html_inline","",0);a.content=s[0],s5i(a.content)&&e.linkLevel++,a5i(a.content)&&e.linkLevel--}return e.pos+=s[0].length,!0}const d5i=/^((?:x[a-f0-9]{1,6}|[0-9]{1,7}));/i,u5i=/^&([a-z][a-z0-9]{1,31});/i;function h5i(e,t){const n=e.pos,r=e.posMax;if(e.src.charCodeAt(n)!==38||n+1>=r)return!1;if(e.src.charCodeAt(n+1)===35){const s=e.src.slice(n).match(d5i);if(s){if(!t){const a=s[1][0].toLowerCase()==="x"?parseInt(s[1].slice(1),16):parseInt(s[1],10),l=e.push("text_special","",0);l.content=$Ze(a)?dge(a):dge(65533),l.markup=s[0],l.info="entity"}return e.pos+=s[0].length,!0}}else{const s=e.src.slice(n).match(u5i);if(s){const a=dOn(s[0]);if(a!==s[0]){if(!t){const l=e.push("text_special","",0);l.content=a,l.markup=s[0],l.info="entity"}return e.pos+=s[0].length,!0}}}return!1}function x1t(e){const t={},n=e.length;if(!n)return;let r=0,o=-2;const s=[];for(let a=0;ad;u-=s[u]+1){const g=e[u];if(g.marker===l.marker&&g.open&&g.end<0){let m=!1;if((g.close||l.open)&&(g.length+l.length)%3===0&&(g.length%3!==0||l.length%3!==0)&&(m=!0),!m){const v=u>0&&!e[u-1].open?s[u-1]+1:0;s[a]=a-u+v,s[u]=v,l.open=!1,g.end=a,g.close=!1,h=-1,o=-2;break}}}h!==-1&&(t[l.marker][(l.open?3:0)+(l.length||0)%3]=h)}}function f5i(e){const t=e.tokens_meta,n=e.tokens_meta.length;x1t(e.delimiters);for(let r=0;r0&&r++,o[t].type==="text"&&t+1=e.pos)throw new Error("inline rule didn't increment state.pos");break}}else e.pos=e.posMax;a||e.pos++,s[t]=e.pos};Une.prototype.tokenize=function(e){const t=this.ruler.getRules(""),n=t.length,r=e.posMax,o=e.md.options.maxNesting;for(;e.pos=e.pos)throw new Error("inline rule didn't increment state.pos");break}}if(a){if(e.pos>=r)break;continue}e.pending+=e.src[e.pos++]}e.pending&&e.pushPending()};Une.prototype.parse=function(e,t,n,r){const o=new this.State(e,t,n,r);this.tokenize(o);const s=this.ruler2.getRules(""),a=s.length;for(let l=0;l|$))",t.tpl_email_fuzzy="(^|"+n+'|"|\\(|'+t.src_ZCc+")("+t.src_email_name+"@"+t.tpl_host_fuzzy_strict+")",t.tpl_link_fuzzy="(^|(?![.:/\\-_@])(?:[$+<=>^`||]|"+t.src_ZPCc+"))((?![$+<=>^`||])"+t.tpl_host_port_fuzzy_strict+t.src_path+")",t.tpl_link_no_ip_fuzzy="(^|(?![.:/\\-_@])(?:[$+<=>^`||]|"+t.src_ZPCc+"))((?![$+<=>^`||])"+t.tpl_host_port_no_ip_fuzzy_strict+t.src_path+")",t}function hMe(e){return Array.prototype.slice.call(arguments,1).forEach(function(n){n&&Object.keys(n).forEach(function(r){e[r]=n[r]})}),e}function J4e(e){return Object.prototype.toString.call(e)}function k5i(e){return J4e(e)==="[object String]"}function v5i(e){return J4e(e)==="[object Object]"}function A5i(e){return J4e(e)==="[object RegExp]"}function E1t(e){return J4e(e)==="[object Function]"}function p5i(e){return e.replace(/[.?*+^$[\]\\(){}|-]/g,"\\$&")}const pOn={fuzzyLink:!0,fuzzyEmail:!0,fuzzyIP:!1};function b5i(e){return Object.keys(e||{}).reduce(function(t,n){return t||pOn.hasOwnProperty(n)},!1)}const w5i={"http:":{validate:function(e,t,n){const r=e.slice(t);return n.re.http||(n.re.http=new RegExp("^\\/\\/"+n.re.src_auth+n.re.src_host_port_strict+n.re.src_path,"i")),n.re.http.test(r)?r.match(n.re.http)[0].length:0}},"https:":"http:","ftp:":"http:","//":{validate:function(e,t,n){const r=e.slice(t);return n.re.no_http||(n.re.no_http=new RegExp("^"+n.re.src_auth+"(?:localhost|(?:(?:"+n.re.src_domain+")\\.)+"+n.re.src_domain_root+")"+n.re.src_port+n.re.src_host_terminator+n.re.src_path,"i")),n.re.no_http.test(r)?t>=3&&e[t-3]===":"||t>=3&&e[t-3]==="/"?0:r.match(n.re.no_http)[0].length:0}},"mailto:":{validate:function(e,t,n){const r=e.slice(t);return n.re.mailto||(n.re.mailto=new RegExp("^"+n.re.src_email_name+"@"+n.re.src_host_strict,"i")),n.re.mailto.test(r)?r.match(n.re.mailto)[0].length:0}}},O5i="a[cdefgilmnoqrstuwxz]|b[abdefghijmnorstvwyz]|c[acdfghiklmnoruvwxyz]|d[ejkmoz]|e[cegrstu]|f[ijkmor]|g[abdefghilmnpqrstuwy]|h[kmnrtu]|i[delmnoqrst]|j[emop]|k[eghimnprwyz]|l[abcikrstuvy]|m[acdeghklmnopqrstuvwxyz]|n[acefgilopruz]|om|p[aefghklmnrstwy]|qa|r[eosuw]|s[abcdeghijklmnortuvxyz]|t[cdfghjklmnortvwz]|u[agksyz]|v[aceginu]|w[fs]|y[et]|z[amw]",y5i="biz|com|edu|gov|net|org|pro|web|xxx|aero|asia|coop|info|museum|name|shop|рф".split("|");function C5i(e){e.__index__=-1,e.__text_cache__=""}function _5i(e){return function(t,n){const r=t.slice(n);return e.test(r)?r.match(e)[0].length:0}}function T1t(){return function(e,t){t.normalize(e)}}function uge(e){const t=e.re=m5i(e.__opts__),n=e.__tlds__.slice();e.onCompile(),e.__tlds_replaced__||n.push(O5i),n.push(t.src_xn),t.src_tlds=n.join("|");function r(l){return l.replace("%TLDS%",t.src_tlds)}t.email_fuzzy=RegExp(r(t.tpl_email_fuzzy),"i"),t.link_fuzzy=RegExp(r(t.tpl_link_fuzzy),"i"),t.link_no_ip_fuzzy=RegExp(r(t.tpl_link_no_ip_fuzzy),"i"),t.host_fuzzy_test=RegExp(r(t.tpl_host_fuzzy_test),"i");const o=[];e.__compiled__={};function s(l,d){throw new Error('(LinkifyIt) Invalid schema "'+l+'": '+d)}Object.keys(e.__schemas__).forEach(function(l){const d=e.__schemas__[l];if(d===null)return;const u={validate:null,link:null};if(e.__compiled__[l]=u,v5i(d)){A5i(d.validate)?u.validate=_5i(d.validate):E1t(d.validate)?u.validate=d.validate:s(l,d),E1t(d.normalize)?u.normalize=d.normalize:d.normalize?s(l,d):u.normalize=T1t();return}if(k5i(d)){o.push(l);return}s(l,d)}),o.forEach(function(l){e.__compiled__[e.__schemas__[l]]&&(e.__compiled__[l].validate=e.__compiled__[e.__schemas__[l]].validate,e.__compiled__[l].normalize=e.__compiled__[e.__schemas__[l]].normalize)}),e.__compiled__[""]={validate:null,normalize:T1t()};const a=Object.keys(e.__compiled__).filter(function(l){return l.length>0&&e.__compiled__[l]}).map(p5i).join("|");e.re.schema_test=RegExp("(^|(?!_)(?:[><|]|"+t.src_ZPCc+"))("+a+")","i"),e.re.schema_search=RegExp("(^|(?!_)(?:[><|]|"+t.src_ZPCc+"))("+a+")","ig"),e.re.schema_at_start=RegExp("^"+e.re.schema_search.source,"i"),e.re.pretest=RegExp("("+e.re.schema_test.source+")|("+e.re.host_fuzzy_test.source+")|@","i"),C5i(e)}function S5i(e,t){const n=e.__index__,r=e.__last_index__,o=e.__text_cache__.slice(n,r);this.schema=e.__schema__.toLowerCase(),this.index=n+t,this.lastIndex=r+t,this.raw=o,this.text=o,this.url=o}function fMe(e,t){const n=new S5i(e,t);return e.__compiled__[n.schema].normalize(n,e),n}function oA(e,t){if(!(this instanceof oA))return new oA(e,t);t||b5i(e)&&(t=e,e={}),this.__opts__=hMe({},pOn,t),this.__index__=-1,this.__last_index__=-1,this.__schema__="",this.__text_cache__="",this.__schemas__=hMe({},w5i,e),this.__compiled__={},this.__tlds__=y5i,this.__tlds_replaced__=!1,this.re={},uge(this)}oA.prototype.add=function(t,n){return this.__schemas__[t]=n,uge(this),this};oA.prototype.set=function(t){return this.__opts__=hMe(this.__opts__,t),this};oA.prototype.test=function(t){if(this.__text_cache__=t,this.__index__=-1,!t.length)return!1;let n,r,o,s,a,l,d,u,h;if(this.re.schema_test.test(t)){for(d=this.re.schema_search,d.lastIndex=0;(n=d.exec(t))!==null;)if(s=this.testSchemaAt(t,n[2],d.lastIndex),s){this.__schema__=n[2],this.__index__=n.index+n[1].length,this.__last_index__=n.index+n[0].length+s;break}}return this.__opts__.fuzzyLink&&this.__compiled__["http:"]&&(u=t.search(this.re.host_fuzzy_test),u>=0&&(this.__index__<0||u=0&&(o=t.match(this.re.email_fuzzy))!==null&&(a=o.index+o[1].length,l=o.index+o[0].length,(this.__index__<0||athis.__last_index__)&&(this.__schema__="mailto:",this.__index__=a,this.__last_index__=l))),this.__index__>=0};oA.prototype.pretest=function(t){return this.re.pretest.test(t)};oA.prototype.testSchemaAt=function(t,n,r){return this.__compiled__[n.toLowerCase()]?this.__compiled__[n.toLowerCase()].validate(t,r,this):0};oA.prototype.match=function(t){const n=[];let r=0;this.__index__>=0&&this.__text_cache__===t&&(n.push(fMe(this,r)),r=this.__last_index__);let o=r?t.slice(r):t;for(;this.test(o);)n.push(fMe(this,r)),o=o.slice(this.__last_index__),r+=this.__last_index__;return n.length?n:null};oA.prototype.matchAtStart=function(t){if(this.__text_cache__=t,this.__index__=-1,!t.length)return null;const n=this.re.schema_at_start.exec(t);if(!n)return null;const r=this.testSchemaAt(t,n[2],n[0].length);return r?(this.__schema__=n[2],this.__index__=n.index+n[1].length,this.__last_index__=n.index+n[0].length+r,fMe(this,0)):null};oA.prototype.tlds=function(t,n){return t=Array.isArray(t)?t:[t],n?(this.__tlds__=this.__tlds__.concat(t).sort().filter(function(r,o,s){return r!==s[o-1]}).reverse(),uge(this),this):(this.__tlds__=t.slice(),this.__tlds_replaced__=!0,uge(this),this)};oA.prototype.normalize=function(t){t.schema||(t.url="http://"+t.url),t.schema==="mailto:"&&!/^mailto:/i.test(t.url)&&(t.url="mailto:"+t.url)};oA.prototype.onCompile=function(){};const dU=2147483647,jO=36,YZe=1,tK=26,L5i=38,x5i=700,bOn=72,wOn=128,OOn="-",E5i=/^xn--/,T5i=/[^\0-\x7F]/,Q5i=/[\x2E\u3002\uFF0E\uFF61]/g,D5i={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},E_e=jO-YZe,WO=Math.floor,T_e=String.fromCharCode;function Z5(e){throw new RangeError(D5i[e])}function B5i(e,t){const n=[];let r=e.length;for(;r--;)n[r]=t(e[r]);return n}function yOn(e,t){const n=e.split("@");let r="";n.length>1&&(r=n[0]+"@",e=n[1]),e=e.replace(Q5i,".");const o=e.split("."),s=B5i(o,t).join(".");return r+s}function COn(e){const t=[];let n=0;const r=e.length;for(;n=55296&&o<=56319&&nString.fromCodePoint(...e),I5i=function(e){return e>=48&&e<58?26+(e-48):e>=65&&e<91?e-65:e>=97&&e<123?e-97:jO},Q1t=function(e,t){return e+22+75*(e<26)-((t!=0)<<5)},_On=function(e,t,n){let r=0;for(e=n?WO(e/x5i):e>>1,e+=WO(e/t);e>E_e*tK>>1;r+=jO)e=WO(e/E_e);return WO(r+(E_e+1)*e/(e+L5i))},SOn=function(e){const t=[],n=e.length;let r=0,o=wOn,s=bOn,a=e.lastIndexOf(OOn);a<0&&(a=0);for(let l=0;l=128&&Z5("not-basic"),t.push(e.charCodeAt(l));for(let l=a>0?a+1:0;l=n&&Z5("invalid-input");const m=I5i(e.charCodeAt(l++));m>=jO&&Z5("invalid-input"),m>WO((dU-r)/h)&&Z5("overflow"),r+=m*h;const v=g<=s?YZe:g>=s+tK?tK:g-s;if(mWO(dU/f)&&Z5("overflow"),h*=f}const u=t.length+1;s=_On(r-d,u,d==0),WO(r/u)>dU-o&&Z5("overflow"),o+=WO(r/u),r%=u,t.splice(r++,0,o)}return String.fromCodePoint(...t)},LOn=function(e){const t=[];e=COn(e);const n=e.length;let r=wOn,o=0,s=bOn;for(const d of e)d<128&&t.push(T_e(d));const a=t.length;let l=a;for(a&&t.push(OOn);l=r&&hWO((dU-o)/u)&&Z5("overflow"),o+=(d-r)*u,r=d;for(const h of e)if(hdU&&Z5("overflow"),h===r){let g=o;for(let m=jO;;m+=jO){const v=m<=s?YZe:m>=s+tK?tK:m-s;if(g=0))try{t.hostname=xOn.toASCII(t.hostname)}catch{}return Fne(WZe(t))}function $5i(e){const t=VZe(e,!0);if(t.hostname&&(!t.protocol||EOn.indexOf(t.protocol)>=0))try{t.hostname=xOn.toUnicode(t.hostname)}catch{}return bW(WZe(t),bW.defaultChars+"%")}function ap(e,t){if(!(this instanceof ap))return new ap(e,t);t||HZe(e)||(t=e||{},e="default"),this.inline=new Une,this.block=new K4e,this.core=new XZe,this.renderer=new _z,this.linkify=new oA,this.validateLink=z5i,this.normalizeLink=H5i,this.normalizeLinkText=$5i,this.utils=G8i,this.helpers=Z4e({},K8i),this.options={},this.configure(e),t&&this.set(t)}ap.prototype.set=function(e){return Z4e(this.options,e),this};ap.prototype.configure=function(e){const t=this;if(HZe(e)){const n=e;if(e=j5i[n],!e)throw new Error('Wrong `markdown-it` preset "'+n+'", check name')}if(!e)throw new Error("Wrong `markdown-it` preset, can't be empty");return e.options&&t.set(e.options),e.components&&Object.keys(e.components).forEach(function(n){e.components[n].rules&&t[n].ruler.enableOnly(e.components[n].rules),e.components[n].rules2&&t[n].ruler2.enableOnly(e.components[n].rules2)}),this};ap.prototype.enable=function(e,t){let n=[];Array.isArray(e)||(e=[e]),["core","block","inline"].forEach(function(o){n=n.concat(this[o].ruler.enable(e,!0))},this),n=n.concat(this.inline.ruler2.enable(e,!0));const r=e.filter(function(o){return n.indexOf(o)<0});if(r.length&&!t)throw new Error("MarkdownIt. Failed to enable unknown rule(s): "+r);return this};ap.prototype.disable=function(e,t){let n=[];Array.isArray(e)||(e=[e]),["core","block","inline"].forEach(function(o){n=n.concat(this[o].ruler.disable(e,!0))},this),n=n.concat(this.inline.ruler2.disable(e,!0));const r=e.filter(function(o){return n.indexOf(o)<0});if(r.length&&!t)throw new Error("MarkdownIt. Failed to disable unknown rule(s): "+r);return this};ap.prototype.use=function(e){const t=[this].concat(Array.prototype.slice.call(arguments,1));return e.apply(e,t),this};ap.prototype.parse=function(e,t){if(typeof e!="string")throw new Error("Input data should be a String");const n=new this.core.State(e,this,t);return this.core.process(n),n.tokens};ap.prototype.render=function(e,t){return t=t||{},this.renderer.render(this.parse(e,t),this.options,t)};ap.prototype.parseInline=function(e,t){const n=new this.core.State(e,this,t);return n.inlineMode=!0,this.core.process(n),n.tokens};ap.prototype.renderInline=function(e,t){return t=t||{},this.renderer.render(this.parseInline(e,t),this.options,t)};const D1t=new Set([!0,!1,"alt","title"]);function TOn(e,t){return(Array.isArray(e)?e:[]).filter(([n])=>n!==t)}function QOn(e,t){e&&e.attrs&&(e.attrs=TOn(e.attrs,t))}function X5i(e,t){if(!D1t.has(e))throw new TypeError(`figcaption must be one of: ${[...D1t]}.`);if(e==="alt")return t.content;const n=t.attrs.find(([r])=>r==="title");return Array.isArray(n)&&n[1]?(QOn(t,"title"),n[1]):void 0}function G5i(e,t){t=t||{},e.core.ruler.before("linkify","image_figures",function(n){let r=1;for(let o=1,s=n.tokens.length;oh.match(u)).map(h=>Array.from(h))}if(t.tabindex&&(n.tokens[o-1].attrPush(["tabindex",r]),r++),t.lazy&&(d.attrs.some(([u])=>u==="loading")||d.attrs.push(["loading","lazy"])),t.async&&(d.attrs.some(([u])=>u==="decoding")||d.attrs.push(["decoding","async"])),t.classes&&typeof t.classes=="string"){let u=!1;for(let h=0,g=d.attrs.length;hh==="src");d.attrs.push(["data-src",u[1]]),QOn(d,"src")}}})}const Y5i=/\\([ \\!"#$%&'()*+,./:;<=>?@[\]^_`{|}~-])/g;function Z5i(e,t){const n=e.posMax,r=e.pos;if(e.src.charCodeAt(r)!==126||t||r+2>=n)return!1;e.pos=r+1;let o=!1;for(;e.pos?@[\]^_`{|}~-])/g;function J5i(e,t){const n=e.posMax,r=e.pos;if(e.src.charCodeAt(r)!==94||t||r+2>=n)return!1;e.pos=r+1;let o=!1;for(;e.pos{typeof gMe.emitWarning=="function"?gMe.emitWarning(e,t,n,r):console.error(`[${n}] ${t}: ${e}`)},hge=globalThis.AbortController,B1t=globalThis.AbortSignal,uvn;if(typeof hge>"u"){B1t=class{constructor(){Mn(this,"onabort");Mn(this,"_onabort",[]);Mn(this,"reason");Mn(this,"aborted",!1)}addEventListener(n,r){this._onabort.push(r)}},hge=class{constructor(){Mn(this,"signal",new B1t);t()}abort(n){var r,o;if(!this.signal.aborted){this.signal.reason=n,this.signal.aborted=!0;for(let s of this.signal._onabort)s(n);(o=(r=this.signal).onabort)==null||o.call(r,n)}}};let e=((uvn=gMe.env)==null?void 0:uvn.LRU_CACHE_IGNORE_AC_WARNING)!=="1",t=()=>{e&&(e=!1,BOn("AbortController is not defined. If using lru-cache in node 14, load an AbortController polyfill from the `node-abort-controller` package. A minimal polyfill is provided for use by LRUCache.fetch(), but it should not be relied upon in other contexts (eg, passing it to other APIs that use AbortController/AbortSignal might have undesirable effects). You may disable this with LRU_CACHE_IGNORE_AC_WARNING=1 in the env.","NO_ABORT_CONTROLLER","ENOTSUP",t))}}var nxi=e=>!DOn.has(e),Q5=e=>e&&e===Math.floor(e)&&e>0&&isFinite(e),ROn=e=>Q5(e)?e<=Math.pow(2,8)?Uint8Array:e<=Math.pow(2,16)?Uint16Array:e<=Math.pow(2,32)?Uint32Array:e<=Number.MAX_SAFE_INTEGER?nue:null:null,nue=class extends Array{constructor(t){super(t),this.fill(0)}},ey,mj,ixi=(ey=class{constructor(t,n){Mn(this,"heap");Mn(this,"length");if(!we(ey,mj))throw new TypeError("instantiate Stack using Stack.create(n)");this.heap=new n(t),this.length=0}static create(t){let n=ROn(t);if(!n)return[];Kt(ey,mj,!0);let r=new ey(t,n);return Kt(ey,mj,!1),r}push(t){this.heap[this.length++]=t}pop(){return this.heap[--this.length]}},mj=new WeakMap,dn(ey,mj,!1),ey),hvn,fvn,v4,av,Ab,_Q,pb,kj,vj,bb,ff,wb,Qh,md,fs,G1,lv,Um,ng,Ob,ig,yb,Cb,cv,dv,_b,Ix,Y1,Aj,Ui,mMe,SQ,rS,Pte,uv,IOn,LQ,pj,Fte,D5,B5,kMe,iue,rue,hd,vMe,gG,R5,AMe,bj,rxi=(bj=class{constructor(t){dn(this,Ui);dn(this,v4);dn(this,av);dn(this,Ab);dn(this,_Q);dn(this,pb);dn(this,kj);dn(this,vj);dn(this,bb);Mn(this,"ttl");Mn(this,"ttlResolution");Mn(this,"ttlAutopurge");Mn(this,"updateAgeOnGet");Mn(this,"updateAgeOnHas");Mn(this,"allowStale");Mn(this,"noDisposeOnSet");Mn(this,"noUpdateTTL");Mn(this,"maxEntrySize");Mn(this,"sizeCalculation");Mn(this,"noDeleteOnFetchRejection");Mn(this,"noDeleteOnStaleGet");Mn(this,"allowStaleOnFetchAbort");Mn(this,"allowStaleOnFetchRejection");Mn(this,"ignoreFetchAbort");dn(this,ff);dn(this,wb);dn(this,Qh);dn(this,md);dn(this,fs);dn(this,G1);dn(this,lv);dn(this,Um);dn(this,ng);dn(this,Ob);dn(this,ig);dn(this,yb);dn(this,Cb);dn(this,cv);dn(this,dv);dn(this,_b);dn(this,Ix);dn(this,Y1);dn(this,Aj);dn(this,SQ,()=>{});dn(this,rS,()=>{});dn(this,Pte,()=>{});dn(this,uv,()=>!1);dn(this,LQ,t=>{});dn(this,pj,(t,n,r)=>{});dn(this,Fte,(t,n,r,o)=>{if(r||o)throw new TypeError("cannot set size without setting maxSize or maxEntrySize on cache");return 0});Mn(this,hvn,"LRUCache");let{max:n=0,ttl:r,ttlResolution:o=1,ttlAutopurge:s,updateAgeOnGet:a,updateAgeOnHas:l,allowStale:d,dispose:u,onInsert:h,disposeAfter:g,noDisposeOnSet:m,noUpdateTTL:v,maxSize:f=0,maxEntrySize:k=0,sizeCalculation:A,fetchMethod:p,memoMethod:b,noDeleteOnFetchRejection:w,noDeleteOnStaleGet:O,allowStaleOnFetchRejection:y,allowStaleOnFetchAbort:C,ignoreFetchAbort:_,perf:S}=t;if(S!==void 0&&typeof(S==null?void 0:S.now)!="function")throw new TypeError("perf option must have a now() method if specified");if(Kt(this,bb,S??txi),n!==0&&!Q5(n))throw new TypeError("max option must be a nonnegative integer");let L=n?ROn(n):Array;if(!L)throw new Error("invalid max value: "+n);if(Kt(this,v4,n),Kt(this,av,f),this.maxEntrySize=k||we(this,av),this.sizeCalculation=A,this.sizeCalculation){if(!we(this,av)&&!this.maxEntrySize)throw new TypeError("cannot set sizeCalculation without setting maxSize or maxEntrySize");if(typeof this.sizeCalculation!="function")throw new TypeError("sizeCalculation set to non-function")}if(b!==void 0&&typeof b!="function")throw new TypeError("memoMethod must be a function if defined");if(Kt(this,vj,b),p!==void 0&&typeof p!="function")throw new TypeError("fetchMethod must be a function if specified");if(Kt(this,kj,p),Kt(this,Ix,!!p),Kt(this,Qh,new Map),Kt(this,md,new Array(n).fill(void 0)),Kt(this,fs,new Array(n).fill(void 0)),Kt(this,G1,new L(n)),Kt(this,lv,new L(n)),Kt(this,Um,0),Kt(this,ng,0),Kt(this,Ob,ixi.create(n)),Kt(this,ff,0),Kt(this,wb,0),typeof u=="function"&&Kt(this,Ab,u),typeof h=="function"&&Kt(this,_Q,h),typeof g=="function"?(Kt(this,pb,g),Kt(this,ig,[])):(Kt(this,pb,void 0),Kt(this,ig,void 0)),Kt(this,_b,!!we(this,Ab)),Kt(this,Aj,!!we(this,_Q)),Kt(this,Y1,!!we(this,pb)),this.noDisposeOnSet=!!m,this.noUpdateTTL=!!v,this.noDeleteOnFetchRejection=!!w,this.allowStaleOnFetchRejection=!!y,this.allowStaleOnFetchAbort=!!C,this.ignoreFetchAbort=!!_,this.maxEntrySize!==0){if(we(this,av)!==0&&!Q5(we(this,av)))throw new TypeError("maxSize must be a positive integer if specified");if(!Q5(this.maxEntrySize))throw new TypeError("maxEntrySize must be a positive integer if specified");Ci(this,Ui,IOn).call(this)}if(this.allowStale=!!d,this.noDeleteOnStaleGet=!!O,this.updateAgeOnGet=!!a,this.updateAgeOnHas=!!l,this.ttlResolution=Q5(o)||o===0?o:1,this.ttlAutopurge=!!s,this.ttl=r||0,this.ttl){if(!Q5(this.ttl))throw new TypeError("ttl must be a positive integer if specified");Ci(this,Ui,mMe).call(this)}if(we(this,v4)===0&&this.ttl===0&&we(this,av)===0)throw new TypeError("At least one of max, maxSize, or ttl is required");if(!this.ttlAutopurge&&!we(this,v4)&&!we(this,av)){let E="LRU_CACHE_UNBOUNDED";nxi(E)&&(DOn.add(E),BOn("TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption.","UnboundedCacheWarning",E,bj))}}get perf(){return we(this,bb)}static unsafeExposeInternals(t){return{starts:we(t,Cb),ttls:we(t,cv),autopurgeTimers:we(t,dv),sizes:we(t,yb),keyMap:we(t,Qh),keyList:we(t,md),valList:we(t,fs),next:we(t,G1),prev:we(t,lv),get head(){return we(t,Um)},get tail(){return we(t,ng)},free:we(t,Ob),isBackgroundFetch:n=>{var r;return Ci(r=t,Ui,hd).call(r,n)},backgroundFetch:(n,r,o,s)=>{var a;return Ci(a=t,Ui,rue).call(a,n,r,o,s)},moveToTail:n=>{var r;return Ci(r=t,Ui,gG).call(r,n)},indexes:n=>{var r;return Ci(r=t,Ui,D5).call(r,n)},rindexes:n=>{var r;return Ci(r=t,Ui,B5).call(r,n)},isStale:n=>{var r;return we(r=t,uv).call(r,n)}}}get max(){return we(this,v4)}get maxSize(){return we(this,av)}get calculatedSize(){return we(this,wb)}get size(){return we(this,ff)}get fetchMethod(){return we(this,kj)}get memoMethod(){return we(this,vj)}get dispose(){return we(this,Ab)}get onInsert(){return we(this,_Q)}get disposeAfter(){return we(this,pb)}getRemainingTTL(t){return we(this,Qh).has(t)?1/0:0}*entries(){for(let t of Ci(this,Ui,D5).call(this))we(this,fs)[t]!==void 0&&we(this,md)[t]!==void 0&&!Ci(this,Ui,hd).call(this,we(this,fs)[t])&&(yield[we(this,md)[t],we(this,fs)[t]])}*rentries(){for(let t of Ci(this,Ui,B5).call(this))we(this,fs)[t]!==void 0&&we(this,md)[t]!==void 0&&!Ci(this,Ui,hd).call(this,we(this,fs)[t])&&(yield[we(this,md)[t],we(this,fs)[t]])}*keys(){for(let t of Ci(this,Ui,D5).call(this)){let n=we(this,md)[t];n!==void 0&&!Ci(this,Ui,hd).call(this,we(this,fs)[t])&&(yield n)}}*rkeys(){for(let t of Ci(this,Ui,B5).call(this)){let n=we(this,md)[t];n!==void 0&&!Ci(this,Ui,hd).call(this,we(this,fs)[t])&&(yield n)}}*values(){for(let t of Ci(this,Ui,D5).call(this))we(this,fs)[t]!==void 0&&!Ci(this,Ui,hd).call(this,we(this,fs)[t])&&(yield we(this,fs)[t])}*rvalues(){for(let t of Ci(this,Ui,B5).call(this))we(this,fs)[t]!==void 0&&!Ci(this,Ui,hd).call(this,we(this,fs)[t])&&(yield we(this,fs)[t])}[(fvn=Symbol.iterator,hvn=Symbol.toStringTag,fvn)](){return this.entries()}find(t,n={}){for(let r of Ci(this,Ui,D5).call(this)){let o=we(this,fs)[r],s=Ci(this,Ui,hd).call(this,o)?o.__staleWhileFetching:o;if(s!==void 0&&t(s,we(this,md)[r],this))return this.get(we(this,md)[r],n)}}forEach(t,n=this){for(let r of Ci(this,Ui,D5).call(this)){let o=we(this,fs)[r],s=Ci(this,Ui,hd).call(this,o)?o.__staleWhileFetching:o;s!==void 0&&t.call(n,s,we(this,md)[r],this)}}rforEach(t,n=this){for(let r of Ci(this,Ui,B5).call(this)){let o=we(this,fs)[r],s=Ci(this,Ui,hd).call(this,o)?o.__staleWhileFetching:o;s!==void 0&&t.call(n,s,we(this,md)[r],this)}}purgeStale(){let t=!1;for(let n of Ci(this,Ui,B5).call(this,{allowStale:!0}))we(this,uv).call(this,n)&&(Ci(this,Ui,R5).call(this,we(this,md)[n],"expire"),t=!0);return t}info(t){let n=we(this,Qh).get(t);if(n===void 0)return;let r=we(this,fs)[n],o=Ci(this,Ui,hd).call(this,r)?r.__staleWhileFetching:r;if(o===void 0)return;let s={value:o};if(we(this,cv)&&we(this,Cb)){let a=we(this,cv)[n],l=we(this,Cb)[n];if(a&&l){let d=a-(we(this,bb).now()-l);s.ttl=d,s.start=Date.now()}}return we(this,yb)&&(s.size=we(this,yb)[n]),s}dump(){let t=[];for(let n of Ci(this,Ui,D5).call(this,{allowStale:!0})){let r=we(this,md)[n],o=we(this,fs)[n],s=Ci(this,Ui,hd).call(this,o)?o.__staleWhileFetching:o;if(s===void 0||r===void 0)continue;let a={value:s};if(we(this,cv)&&we(this,Cb)){a.ttl=we(this,cv)[n];let l=we(this,bb).now()-we(this,Cb)[n];a.start=Math.floor(Date.now()-l)}we(this,yb)&&(a.size=we(this,yb)[n]),t.unshift([r,a])}return t}load(t){this.clear();for(let[n,r]of t){if(r.start){let o=Date.now()-r.start;r.start=we(this,bb).now()-o}this.set(n,r.value,r)}}set(t,n,r={}){var m,v,f,k,A,p,b;if(n===void 0)return this.delete(t),this;let{ttl:o=this.ttl,start:s,noDisposeOnSet:a=this.noDisposeOnSet,sizeCalculation:l=this.sizeCalculation,status:d}=r,{noUpdateTTL:u=this.noUpdateTTL}=r,h=we(this,Fte).call(this,t,n,r.size||0,l);if(this.maxEntrySize&&h>this.maxEntrySize)return d&&(d.set="miss",d.maxEntrySizeExceeded=!0),Ci(this,Ui,R5).call(this,t,"set"),this;let g=we(this,ff)===0?void 0:we(this,Qh).get(t);if(g===void 0)g=we(this,ff)===0?we(this,ng):we(this,Ob).length!==0?we(this,Ob).pop():we(this,ff)===we(this,v4)?Ci(this,Ui,iue).call(this,!1):we(this,ff),we(this,md)[g]=t,we(this,fs)[g]=n,we(this,Qh).set(t,g),we(this,G1)[we(this,ng)]=g,we(this,lv)[g]=we(this,ng),Kt(this,ng,g),ose(this,ff)._++,we(this,pj).call(this,g,h,d),d&&(d.set="add"),u=!1,we(this,Aj)&&((m=we(this,_Q))==null||m.call(this,n,t,"add"));else{Ci(this,Ui,gG).call(this,g);let w=we(this,fs)[g];if(n!==w){if(we(this,Ix)&&Ci(this,Ui,hd).call(this,w)){w.__abortController.abort(new Error("replaced"));let{__staleWhileFetching:O}=w;O!==void 0&&!a&&(we(this,_b)&&((v=we(this,Ab))==null||v.call(this,O,t,"set")),we(this,Y1)&&((f=we(this,ig))==null||f.push([O,t,"set"])))}else a||(we(this,_b)&&((k=we(this,Ab))==null||k.call(this,w,t,"set")),we(this,Y1)&&((A=we(this,ig))==null||A.push([w,t,"set"])));if(we(this,LQ).call(this,g),we(this,pj).call(this,g,h,d),we(this,fs)[g]=n,d){d.set="replace";let O=w&&Ci(this,Ui,hd).call(this,w)?w.__staleWhileFetching:w;O!==void 0&&(d.oldValue=O)}}else d&&(d.set="update");we(this,Aj)&&((p=this.onInsert)==null||p.call(this,n,t,n===w?"update":"replace"))}if(o!==0&&!we(this,cv)&&Ci(this,Ui,mMe).call(this),we(this,cv)&&(u||we(this,Pte).call(this,g,o,s),d&&we(this,rS).call(this,d,g)),!a&&we(this,Y1)&&we(this,ig)){let w=we(this,ig),O;for(;O=w==null?void 0:w.shift();)(b=we(this,pb))==null||b.call(this,...O)}return this}pop(){var t;try{for(;we(this,ff);){let n=we(this,fs)[we(this,Um)];if(Ci(this,Ui,iue).call(this,!0),Ci(this,Ui,hd).call(this,n)){if(n.__staleWhileFetching)return n.__staleWhileFetching}else if(n!==void 0)return n}}finally{if(we(this,Y1)&&we(this,ig)){let n=we(this,ig),r;for(;r=n==null?void 0:n.shift();)(t=we(this,pb))==null||t.call(this,...r)}}}has(t,n={}){let{updateAgeOnHas:r=this.updateAgeOnHas,status:o}=n,s=we(this,Qh).get(t);if(s!==void 0){let a=we(this,fs)[s];if(Ci(this,Ui,hd).call(this,a)&&a.__staleWhileFetching===void 0)return!1;if(we(this,uv).call(this,s))o&&(o.has="stale",we(this,rS).call(this,o,s));else return r&&we(this,SQ).call(this,s),o&&(o.has="hit",we(this,rS).call(this,o,s)),!0}else o&&(o.has="miss");return!1}peek(t,n={}){let{allowStale:r=this.allowStale}=n,o=we(this,Qh).get(t);if(o===void 0||!r&&we(this,uv).call(this,o))return;let s=we(this,fs)[o];return Ci(this,Ui,hd).call(this,s)?s.__staleWhileFetching:s}async fetch(t,n={}){let{allowStale:r=this.allowStale,updateAgeOnGet:o=this.updateAgeOnGet,noDeleteOnStaleGet:s=this.noDeleteOnStaleGet,ttl:a=this.ttl,noDisposeOnSet:l=this.noDisposeOnSet,size:d=0,sizeCalculation:u=this.sizeCalculation,noUpdateTTL:h=this.noUpdateTTL,noDeleteOnFetchRejection:g=this.noDeleteOnFetchRejection,allowStaleOnFetchRejection:m=this.allowStaleOnFetchRejection,ignoreFetchAbort:v=this.ignoreFetchAbort,allowStaleOnFetchAbort:f=this.allowStaleOnFetchAbort,context:k,forceRefresh:A=!1,status:p,signal:b}=n;if(!we(this,Ix))return p&&(p.fetch="get"),this.get(t,{allowStale:r,updateAgeOnGet:o,noDeleteOnStaleGet:s,status:p});let w={allowStale:r,updateAgeOnGet:o,noDeleteOnStaleGet:s,ttl:a,noDisposeOnSet:l,size:d,sizeCalculation:u,noUpdateTTL:h,noDeleteOnFetchRejection:g,allowStaleOnFetchRejection:m,allowStaleOnFetchAbort:f,ignoreFetchAbort:v,status:p,signal:b},O=we(this,Qh).get(t);if(O===void 0){p&&(p.fetch="miss");let y=Ci(this,Ui,rue).call(this,t,O,w,k);return y.__returned=y}else{let y=we(this,fs)[O];if(Ci(this,Ui,hd).call(this,y)){let L=r&&y.__staleWhileFetching!==void 0;return p&&(p.fetch="inflight",L&&(p.returnedStale=!0)),L?y.__staleWhileFetching:y.__returned=y}let C=we(this,uv).call(this,O);if(!A&&!C)return p&&(p.fetch="hit"),Ci(this,Ui,gG).call(this,O),o&&we(this,SQ).call(this,O),p&&we(this,rS).call(this,p,O),y;let _=Ci(this,Ui,rue).call(this,t,O,w,k),S=_.__staleWhileFetching!==void 0&&r;return p&&(p.fetch=C?"stale":"refresh",S&&C&&(p.returnedStale=!0)),S?_.__staleWhileFetching:_.__returned=_}}async forceFetch(t,n={}){let r=await this.fetch(t,n);if(r===void 0)throw new Error("fetch() returned undefined");return r}memo(t,n={}){let r=we(this,vj);if(!r)throw new Error("no memoMethod provided to constructor");let{context:o,forceRefresh:s,...a}=n,l=this.get(t,a);if(!s&&l!==void 0)return l;let d=r(t,l,{options:a,context:o});return this.set(t,d,a),d}get(t,n={}){let{allowStale:r=this.allowStale,updateAgeOnGet:o=this.updateAgeOnGet,noDeleteOnStaleGet:s=this.noDeleteOnStaleGet,status:a}=n,l=we(this,Qh).get(t);if(l!==void 0){let d=we(this,fs)[l],u=Ci(this,Ui,hd).call(this,d);return a&&we(this,rS).call(this,a,l),we(this,uv).call(this,l)?(a&&(a.get="stale"),u?(a&&r&&d.__staleWhileFetching!==void 0&&(a.returnedStale=!0),r?d.__staleWhileFetching:void 0):(s||Ci(this,Ui,R5).call(this,t,"expire"),a&&r&&(a.returnedStale=!0),r?d:void 0)):(a&&(a.get="hit"),u?d.__staleWhileFetching:(Ci(this,Ui,gG).call(this,l),o&&we(this,SQ).call(this,l),d))}else a&&(a.get="miss")}delete(t){return Ci(this,Ui,R5).call(this,t,"delete")}clear(){return Ci(this,Ui,AMe).call(this,"delete")}},v4=new WeakMap,av=new WeakMap,Ab=new WeakMap,_Q=new WeakMap,pb=new WeakMap,kj=new WeakMap,vj=new WeakMap,bb=new WeakMap,ff=new WeakMap,wb=new WeakMap,Qh=new WeakMap,md=new WeakMap,fs=new WeakMap,G1=new WeakMap,lv=new WeakMap,Um=new WeakMap,ng=new WeakMap,Ob=new WeakMap,ig=new WeakMap,yb=new WeakMap,Cb=new WeakMap,cv=new WeakMap,dv=new WeakMap,_b=new WeakMap,Ix=new WeakMap,Y1=new WeakMap,Aj=new WeakMap,Ui=new WeakSet,mMe=function(){let t=new nue(we(this,v4)),n=new nue(we(this,v4));Kt(this,cv,t),Kt(this,Cb,n);let r=this.ttlAutopurge?new Array(we(this,v4)):void 0;Kt(this,dv,r),Kt(this,Pte,(l,d,u=we(this,bb).now())=>{n[l]=d!==0?u:0,t[l]=d,o(l,d)}),Kt(this,SQ,l=>{n[l]=t[l]!==0?we(this,bb).now():0,o(l,t[l])});let o=this.ttlAutopurge?(l,d)=>{if(r!=null&&r[l]&&(clearTimeout(r[l]),r[l]=void 0),d&&d!==0&&r){let u=setTimeout(()=>{we(this,uv).call(this,l)&&Ci(this,Ui,R5).call(this,we(this,md)[l],"expire")},d+1);u.unref&&u.unref(),r[l]=u}}:()=>{};Kt(this,rS,(l,d)=>{if(t[d]){let u=t[d],h=n[d];if(!u||!h)return;l.ttl=u,l.start=h,l.now=s||a();let g=l.now-h;l.remainingTTL=u-g}});let s=0,a=()=>{let l=we(this,bb).now();if(this.ttlResolution>0){s=l;let d=setTimeout(()=>s=0,this.ttlResolution);d.unref&&d.unref()}return l};this.getRemainingTTL=l=>{let d=we(this,Qh).get(l);if(d===void 0)return 0;let u=t[d],h=n[d];if(!u||!h)return 1/0;let g=(s||a())-h;return u-g},Kt(this,uv,l=>{let d=n[l],u=t[l];return!!u&&!!d&&(s||a())-d>u})},SQ=new WeakMap,rS=new WeakMap,Pte=new WeakMap,uv=new WeakMap,IOn=function(){let t=new nue(we(this,v4));Kt(this,wb,0),Kt(this,yb,t),Kt(this,LQ,n=>{Kt(this,wb,we(this,wb)-t[n]),t[n]=0}),Kt(this,Fte,(n,r,o,s)=>{if(Ci(this,Ui,hd).call(this,r))return 0;if(!Q5(o))if(s){if(typeof s!="function")throw new TypeError("sizeCalculation must be a function");if(o=s(r,n),!Q5(o))throw new TypeError("sizeCalculation return invalid (expect positive integer)")}else throw new TypeError("invalid size value (must be positive integer). When maxSize or maxEntrySize is used, sizeCalculation or size must be set.");return o}),Kt(this,pj,(n,r,o)=>{if(t[n]=r,we(this,av)){let s=we(this,av)-t[n];for(;we(this,wb)>s;)Ci(this,Ui,iue).call(this,!0)}Kt(this,wb,we(this,wb)+t[n]),o&&(o.entrySize=r,o.totalCalculatedSize=we(this,wb))})},LQ=new WeakMap,pj=new WeakMap,Fte=new WeakMap,D5=function*({allowStale:t=this.allowStale}={}){if(we(this,ff))for(let n=we(this,ng);!(!Ci(this,Ui,kMe).call(this,n)||((t||!we(this,uv).call(this,n))&&(yield n),n===we(this,Um)));)n=we(this,lv)[n]},B5=function*({allowStale:t=this.allowStale}={}){if(we(this,ff))for(let n=we(this,Um);!(!Ci(this,Ui,kMe).call(this,n)||((t||!we(this,uv).call(this,n))&&(yield n),n===we(this,ng)));)n=we(this,G1)[n]},kMe=function(t){return t!==void 0&&we(this,Qh).get(we(this,md)[t])===t},iue=function(t){var s,a,l;let n=we(this,Um),r=we(this,md)[n],o=we(this,fs)[n];return we(this,Ix)&&Ci(this,Ui,hd).call(this,o)?o.__abortController.abort(new Error("evicted")):(we(this,_b)||we(this,Y1))&&(we(this,_b)&&((s=we(this,Ab))==null||s.call(this,o,r,"evict")),we(this,Y1)&&((a=we(this,ig))==null||a.push([o,r,"evict"]))),we(this,LQ).call(this,n),(l=we(this,dv))!=null&&l[n]&&(clearTimeout(we(this,dv)[n]),we(this,dv)[n]=void 0),t&&(we(this,md)[n]=void 0,we(this,fs)[n]=void 0,we(this,Ob).push(n)),we(this,ff)===1?(Kt(this,Um,Kt(this,ng,0)),we(this,Ob).length=0):Kt(this,Um,we(this,G1)[n]),we(this,Qh).delete(r),ose(this,ff)._--,n},rue=function(t,n,r,o){let s=n===void 0?void 0:we(this,fs)[n];if(Ci(this,Ui,hd).call(this,s))return s;let a=new hge,{signal:l}=r;l==null||l.addEventListener("abort",()=>a.abort(l.reason),{signal:a.signal});let d={signal:a.signal,options:r,context:o},u=(k,A=!1)=>{let{aborted:p}=a.signal,b=r.ignoreFetchAbort&&k!==void 0,w=r.ignoreFetchAbort||!!(r.allowStaleOnFetchAbort&&k!==void 0);if(r.status&&(p&&!A?(r.status.fetchAborted=!0,r.status.fetchError=a.signal.reason,b&&(r.status.fetchAbortIgnored=!0)):r.status.fetchResolved=!0),p&&!b&&!A)return g(a.signal.reason,w);let O=v,y=we(this,fs)[n];return(y===v||b&&A&&y===void 0)&&(k===void 0?O.__staleWhileFetching!==void 0?we(this,fs)[n]=O.__staleWhileFetching:Ci(this,Ui,R5).call(this,t,"fetch"):(r.status&&(r.status.fetchUpdated=!0),this.set(t,k,d.options))),k},h=k=>(r.status&&(r.status.fetchRejected=!0,r.status.fetchError=k),g(k,!1)),g=(k,A)=>{let{aborted:p}=a.signal,b=p&&r.allowStaleOnFetchAbort,w=b||r.allowStaleOnFetchRejection,O=w||r.noDeleteOnFetchRejection,y=v;if(we(this,fs)[n]===v&&(!O||!A&&y.__staleWhileFetching===void 0?Ci(this,Ui,R5).call(this,t,"fetch"):b||(we(this,fs)[n]=y.__staleWhileFetching)),w)return r.status&&y.__staleWhileFetching!==void 0&&(r.status.returnedStale=!0),y.__staleWhileFetching;if(y.__returned===y)throw k},m=(k,A)=>{var b;let p=(b=we(this,kj))==null?void 0:b.call(this,t,s,d);p&&p instanceof Promise&&p.then(w=>k(w===void 0?void 0:w),A),a.signal.addEventListener("abort",()=>{(!r.ignoreFetchAbort||r.allowStaleOnFetchAbort)&&(k(void 0),r.allowStaleOnFetchAbort&&(k=w=>u(w,!0)))})};r.status&&(r.status.fetchDispatched=!0);let v=new Promise(m).then(u,h),f=Object.assign(v,{__abortController:a,__staleWhileFetching:s,__returned:void 0});return n===void 0?(this.set(t,f,{...d.options,status:void 0}),n=we(this,Qh).get(t)):we(this,fs)[n]=f,f},hd=function(t){if(!we(this,Ix))return!1;let n=t;return!!n&&n instanceof Promise&&n.hasOwnProperty("__staleWhileFetching")&&n.__abortController instanceof hge},vMe=function(t,n){we(this,lv)[n]=t,we(this,G1)[t]=n},gG=function(t){t!==we(this,ng)&&(t===we(this,Um)?Kt(this,Um,we(this,G1)[t]):Ci(this,Ui,vMe).call(this,we(this,lv)[t],we(this,G1)[t]),Ci(this,Ui,vMe).call(this,we(this,ng),t),Kt(this,ng,t))},R5=function(t,n){var o,s,a,l,d,u;let r=!1;if(we(this,ff)!==0){let h=we(this,Qh).get(t);if(h!==void 0)if((o=we(this,dv))!=null&&o[h]&&(clearTimeout((s=we(this,dv))==null?void 0:s[h]),we(this,dv)[h]=void 0),r=!0,we(this,ff)===1)Ci(this,Ui,AMe).call(this,n);else{we(this,LQ).call(this,h);let g=we(this,fs)[h];if(Ci(this,Ui,hd).call(this,g)?g.__abortController.abort(new Error("deleted")):(we(this,_b)||we(this,Y1))&&(we(this,_b)&&((a=we(this,Ab))==null||a.call(this,g,t,n)),we(this,Y1)&&((l=we(this,ig))==null||l.push([g,t,n]))),we(this,Qh).delete(t),we(this,md)[h]=void 0,we(this,fs)[h]=void 0,h===we(this,ng))Kt(this,ng,we(this,lv)[h]);else if(h===we(this,Um))Kt(this,Um,we(this,G1)[h]);else{let m=we(this,lv)[h];we(this,G1)[m]=we(this,G1)[h];let v=we(this,G1)[h];we(this,lv)[v]=we(this,lv)[h]}ose(this,ff)._--,we(this,Ob).push(h)}}if(we(this,Y1)&&((d=we(this,ig))!=null&&d.length)){let h=we(this,ig),g;for(;g=h==null?void 0:h.shift();)(u=we(this,pb))==null||u.call(this,...g)}return r},AMe=function(t){var n,r,o,s;for(let a of Ci(this,Ui,B5).call(this,{allowStale:!0})){let l=we(this,fs)[a];if(Ci(this,Ui,hd).call(this,l))l.__abortController.abort(new Error("deleted"));else{let d=we(this,md)[a];we(this,_b)&&((n=we(this,Ab))==null||n.call(this,l,d,t)),we(this,Y1)&&((r=we(this,ig))==null||r.push([l,d,t]))}}if(we(this,Qh).clear(),we(this,fs).fill(void 0),we(this,md).fill(void 0),we(this,cv)&&we(this,Cb)){we(this,cv).fill(0),we(this,Cb).fill(0);for(let a of we(this,dv)??[])a!==void 0&&clearTimeout(a);(o=we(this,dv))==null||o.fill(void 0)}if(we(this,yb)&&we(this,yb).fill(0),Kt(this,Um,0),Kt(this,ng,0),we(this,Ob).length=0,Kt(this,wb,0),Kt(this,ff,0),we(this,Y1)&&we(this,ig)){let a=we(this,ig),l;for(;l=a==null?void 0:a.shift();)(s=we(this,pb))==null||s.call(this,...l)}},bj);/*! medium-zoom 1.1.0 | MIT License | https://github.com/francoischalifour/medium-zoom */var F7=Object.assign||function(e){for(var t=1;t=4||o+3>s)return!1;const a=e.src.charCodeAt(o);if(a!==126&&a!==96)return!1;let l=o;o=e.skipChars(o,a);let d=o-l;if(d<3)return!1;const u=e.src.slice(l,o),h=e.src.slice(o,s);if(a===96&&h.indexOf(String.fromCharCode(a))>=0)return!1;if(r)return!0;let g=t,m=!1;for(;g++,!(g>=n||(o=l=e.bMarks[g]+e.tShift[g],s=e.eMarks[g],o=4)&&(o=e.skipChars(o,a),!(o-l=4||e.src.charCodeAt(o)!==62)return!1;if(r)return!0;const l=[],d=[],u=[],h=[],g=e.md.block.ruler.getRules("blockquote"),m=e.parentType;e.parentType="blockquote";let v=!1,f;for(f=t;f=s)break;if(e.src.charCodeAt(o++)===62&&!w){let y=e.sCount[f]+1,C,_;e.src.charCodeAt(o)===32?(o++,y++,_=!1,C=!0):e.src.charCodeAt(o)===9?(C=!0,(e.bsCount[f]+y)%4===3?(o++,y++,_=!1):_=!0):C=!1;let S=y;for(l.push(e.bMarks[f]),e.bMarks[f]=o;o=s,d.push(e.bsCount[f]),e.bsCount[f]=e.sCount[f]+1+(C?1:0),u.push(e.sCount[f]),e.sCount[f]=S-y,h.push(e.tShift[f]),e.tShift[f]=o-e.bMarks[f];continue}if(v)break;let O=!1;for(let y=0,C=g.length;y";const p=[t,0];A.map=p,e.md.block.tokenize(e,t,f);const b=e.push("blockquote_close","blockquote",-1);b.markup=">",e.lineMax=a,e.parentType=m,p[1]=e.line;for(let w=0;w=4)return!1;let s=e.bMarks[t]+e.tShift[t];const a=e.src.charCodeAt(s++);if(a!==42&&a!==45&&a!==95)return!1;let l=1;for(;s=r)return-1;let s=e.src.charCodeAt(o++);if(s<48||s>57)return-1;for(;;){if(o>=r)return-1;if(s=e.src.charCodeAt(o++),s>=48&&s<=57){if(o-n>=10)return-1;continue}if(s===41||s===46)break;return-1}return o=4||e.listIndent>=0&&e.sCount[d]-e.listIndent>=4&&e.sCount[d]=e.blkIndent&&(h=!0);let g,m,v;if((v=_1t(e,d))>=0){if(g=!0,a=e.bMarks[d]+e.tShift[d],m=Number(e.src.slice(a,v-1)),h&&m!==1)return!1}else if((v=C1t(e,d))>=0)g=!1;else return!1;if(h&&e.skipSpaces(v)>=e.eMarks[d])return!1;if(r)return!0;const f=e.src.charCodeAt(v-1),k=e.tokens.length;g?(l=e.push("ordered_list_open","ol",1),m!==1&&(l.attrs=[["start",m]])):l=e.push("bullet_list_open","ul",1);const A=[d,0];l.map=A,l.markup=String.fromCharCode(f);let p=!1;const b=e.md.block.ruler.getRules("list"),w=e.parentType;for(e.parentType="list";d=o?_=1:_=y-O,_>4&&(_=1);const S=O+_;l=e.push("list_item_open","li",1),l.markup=String.fromCharCode(f);const L=[d,0];l.map=L,g&&(l.info=e.src.slice(a,v-1));const E=e.tight,Q=e.tShift[d],D=e.sCount[d],P=e.listIndent;if(e.listIndent=e.blkIndent,e.blkIndent=S,e.tight=!0,e.tShift[d]=C-e.bMarks[d],e.sCount[d]=y,C>=o&&e.isEmpty(d+1)?e.line=Math.min(e.line+2,n):e.md.block.tokenize(e,d,n,!0),(!e.tight||p)&&(u=!1),p=e.line-d>1&&e.isEmpty(e.line-1),e.blkIndent=e.listIndent,e.listIndent=P,e.tShift[d]=Q,e.sCount[d]=D,e.tight=E,l=e.push("list_item_close","li",-1),l.markup=String.fromCharCode(f),d=e.line,L[1]=d,d>=n||e.sCount[d]=4)break;let T=!1;for(let M=0,B=b.length;M=4||e.src.charCodeAt(o)!==91)return!1;function l(b){const w=e.lineMax;if(b>=w||e.isEmpty(b))return null;let O=!1;if(e.sCount[b]-e.blkIndent>3&&(O=!0),e.sCount[b]<0&&(O=!0),!O){const _=e.md.block.ruler.getRules("reference"),S=e.parentType;e.parentType="reference";let L=!1;for(let E=0,Q=_.length;E"u"&&(e.env.references={}),typeof e.env.references[p]>"u"&&(e.env.references[p]={title:A,href:g}),e.line=a),!0):!1}const LLi=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],xLi="[a-zA-Z_:][a-zA-Z0-9:._-]*",ELi="[^\"'=<>`\\x00-\\x20]+",TLi="'[^']*'",QLi='"[^"]*"',DLi="(?:"+ELi+"|"+TLi+"|"+QLi+")",BLi="(?:\\s+"+xLi+"(?:\\s*=\\s*"+DLi+")?)",mOn="<[A-Za-z][A-Za-z0-9\\-]*"+BLi+"*\\s*\\/?>",kOn="<\\/[A-Za-z][A-Za-z0-9\\-]*\\s*>",RLi="\x3C!---?>|\x3C!--(?:[^-]|-[^-]|--[^>])*-->",ILi="<[?][\\s\\S]*?[?]>",MLi="]*>",PLi="",FLi=new RegExp("^(?:"+mOn+"|"+kOn+"|"+RLi+"|"+ILi+"|"+MLi+"|"+PLi+")"),NLi=new RegExp("^(?:"+mOn+"|"+kOn+")"),iP=[[/^<(script|pre|style|textarea)(?=(\s|>|$))/i,/<\/(script|pre|style|textarea)>/i,!0],[/^\x3C!--/,/-->/,!0],[/^<\?/,/\?>/,!0],[/^/,!0],[/^/,!0],[new RegExp("^?("+LLi.join("|")+")(?=(\\s|/?>|$))","i"),/^$/,!0],[new RegExp(NLi.source+"\\s*$"),/^$/,!1]];function ULi(e,t,n,r){let o=e.bMarks[t]+e.tShift[t],s=e.eMarks[t];if(e.sCount[t]-e.blkIndent>=4||!e.md.options.html||e.src.charCodeAt(o)!==60)return!1;let a=e.src.slice(o,s),l=0;for(;l=4)return!1;let a=e.src.charCodeAt(o);if(a!==35||o>=s)return!1;let l=1;for(a=e.src.charCodeAt(++o);a===35&&o6||oo&&rd(e.src.charCodeAt(d-1))&&(s=d),e.line=t+1;const u=e.push("heading_open","h"+String(l),1);u.markup="########".slice(0,l),u.map=[t,e.line];const h=e.push("inline","",0);h.content=e.src.slice(o,s).trim(),h.map=[t,e.line],h.children=[];const g=e.push("heading_close","h"+String(l),-1);return g.markup="########".slice(0,l),!0}function WLi(e,t,n){const r=e.md.block.ruler.getRules("paragraph");if(e.sCount[t]-e.blkIndent>=4)return!1;const o=e.parentType;e.parentType="paragraph";let s=0,a,l=t+1;for(;l3)continue;if(e.sCount[l]>=e.blkIndent){let v=e.bMarks[l]+e.tShift[l];const f=e.eMarks[l];if(v=f))){s=a===61?1:2;break}}if(e.sCount[l]<0)continue;let m=!1;for(let v=0,f=r.length;v3||e.sCount[s]<0)continue;let u=!1;for(let h=0,g=r.length;h=n||e.sCount[a]=s){e.line=n;break}const d=e.line;let u=!1;for(let h=0;h=e.line)throw new Error("block rule didn't increment state.line");break}if(!u)throw new Error("none of the block rules matched");e.tight=!l,e.isEmpty(e.line-1)&&(l=!0),a=e.line,a0&&(this.level++,this._prev_delimiters.push(this.delimiters),this.delimiters=[],o={delimiters:this.delimiters}),this.pendingLevel=this.level,this.tokens.push(r),this.tokens_meta.push(o),r};Nne.prototype.scanDelims=function(e,t){const n=this.posMax,r=this.src.charCodeAt(e),o=e>0?this.src.charCodeAt(e-1):32;let s=e;for(;s0)return!1;const n=e.pos,r=e.posMax;if(n+3>r||e.src.charCodeAt(n)!==58||e.src.charCodeAt(n+1)!==47||e.src.charCodeAt(n+2)!==47)return!1;const o=e.pending.match($Li);if(!o)return!1;const s=o[1],a=e.md.linkify.matchAtStart(e.src.slice(n-s.length));if(!a)return!1;let l=a.url;if(l.length<=s.length)return!1;let d=l.length;for(;d>0&&l.charCodeAt(d-1)===42;)d--;d!==l.length&&(l=l.slice(0,d));const u=e.md.normalizeLink(l);if(!e.md.validateLink(u))return!1;if(!t){e.pending=e.pending.slice(0,-s.length);const h=e.push("link_open","a",1);h.attrs=[["href",u]],h.markup="linkify",h.info="auto";const g=e.push("text","",0);g.content=e.md.normalizeLinkText(l);const m=e.push("link_close","a",-1);m.markup="linkify",m.info="auto"}return e.pos+=l.length-s.length,!0}function GLi(e,t){let n=e.pos;if(e.src.charCodeAt(n)!==10)return!1;const r=e.pending.length-1,o=e.posMax;if(!t)if(r>=0&&e.pending.charCodeAt(r)===32)if(r>=1&&e.pending.charCodeAt(r-1)===32){let s=r-1;for(;s>=1&&e.pending.charCodeAt(s-1)===32;)s--;e.pending=e.pending.slice(0,s),e.push("hardbreak","br",0)}else e.pending=e.pending.slice(0,-1),e.push("softbreak","br",0);else e.push("softbreak","br",0);for(n++;n?@[]^_`{|}~-".split("").forEach(function(e){GZe[e.charCodeAt(0)]=1});function YLi(e,t){let n=e.pos;const r=e.posMax;if(e.src.charCodeAt(n)!==92||(n++,n>=r))return!1;let o=e.src.charCodeAt(n);if(o===10){for(t||e.push("hardbreak","br",0),n++;n=55296&&o<=56319&&n+1=56320&&l<=57343&&(s+=e.src[n+1],n++)}const a="\\"+s;if(!t){const l=e.push("text_special","",0);o<256&&GZe[o]!==0?l.content=s:l.content=a,l.markup=a,l.info="escape"}return e.pos=n+1,!0}function ZLi(e,t){let n=e.pos;if(e.src.charCodeAt(n)!==96)return!1;const o=n;n++;const s=e.posMax;for(;n=0;r--){const o=t[r];if(o.marker!==95&&o.marker!==42||o.end===-1)continue;const s=t[o.end],a=r>0&&t[r-1].end===o.end+1&&t[r-1].marker===o.marker&&t[r-1].token===o.token-1&&t[o.end+1].token===s.token+1,l=String.fromCharCode(o.marker),d=e.tokens[o.token];d.type=a?"strong_open":"em_open",d.tag=a?"strong":"em",d.nesting=1,d.markup=a?l+l:l,d.content="";const u=e.tokens[s.token];u.type=a?"strong_close":"em_close",u.tag=a?"strong":"em",u.nesting=-1,u.markup=a?l+l:l,u.content="",a&&(e.tokens[t[r-1].token].content="",e.tokens[t[o.end+1].token].content="",r--)}}function e5i(e){const t=e.tokens_meta,n=e.tokens_meta.length;L1t(e,e.delimiters);for(let r=0;r=g)return!1;if(d=f,o=e.md.helpers.parseLinkDestination(e.src,f,e.posMax),o.ok){for(a=e.md.normalizeLink(o.str),e.md.validateLink(a)?f=o.pos:a="",d=f;f=g||e.src.charCodeAt(f)!==41)&&(u=!0),f++}if(u){if(typeof e.env.references>"u")return!1;if(f=0?r=e.src.slice(d,f++):f=v+1):f=v+1,r||(r=e.src.slice(m,v)),s=e.env.references[q4e(r)],!s)return e.pos=h,!1;a=s.href,l=s.title}if(!t){e.pos=m,e.posMax=v;const k=e.push("link_open","a",1),A=[["href",a]];k.attrs=A,l&&A.push(["title",l]),e.linkLevel++,e.md.inline.tokenize(e),e.linkLevel--,e.push("link_close","a",-1)}return e.pos=f,e.posMax=g,!0}function n5i(e,t){let n,r,o,s,a,l,d,u,h="";const g=e.pos,m=e.posMax;if(e.src.charCodeAt(e.pos)!==33||e.src.charCodeAt(e.pos+1)!==91)return!1;const v=e.pos+2,f=e.md.helpers.parseLinkLabel(e,e.pos+1,!1);if(f<0)return!1;if(s=f+1,s=m)return!1;for(u=s,l=e.md.helpers.parseLinkDestination(e.src,s,e.posMax),l.ok&&(h=e.md.normalizeLink(l.str),e.md.validateLink(h)?s=l.pos:h=""),u=s;s=m||e.src.charCodeAt(s)!==41)return e.pos=g,!1;s++}else{if(typeof e.env.references>"u")return!1;if(s=0?o=e.src.slice(u,s++):s=f+1):s=f+1,o||(o=e.src.slice(v,f)),a=e.env.references[q4e(o)],!a)return e.pos=g,!1;h=a.href,d=a.title}if(!t){r=e.src.slice(v,f);const k=[];e.md.inline.parse(r,e.md,e.env,k);const A=e.push("image","img",0),p=[["src",h],["alt",""]];A.attrs=p,A.children=k,A.content=r,d&&p.push(["title",d])}return e.pos=s,e.posMax=m,!0}const i5i=/^([a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*)$/,r5i=/^([a-zA-Z][a-zA-Z0-9+.-]{1,31}):([^<>\x00-\x20]*)$/;function o5i(e,t){let n=e.pos;if(e.src.charCodeAt(n)!==60)return!1;const r=e.pos,o=e.posMax;for(;;){if(++n>=o)return!1;const a=e.src.charCodeAt(n);if(a===60)return!1;if(a===62)break}const s=e.src.slice(r+1,n);if(r5i.test(s)){const a=e.md.normalizeLink(s);if(!e.md.validateLink(a))return!1;if(!t){const l=e.push("link_open","a",1);l.attrs=[["href",a]],l.markup="autolink",l.info="auto";const d=e.push("text","",0);d.content=e.md.normalizeLinkText(s);const u=e.push("link_close","a",-1);u.markup="autolink",u.info="auto"}return e.pos+=s.length+2,!0}if(i5i.test(s)){const a=e.md.normalizeLink("mailto:"+s);if(!e.md.validateLink(a))return!1;if(!t){const l=e.push("link_open","a",1);l.attrs=[["href",a]],l.markup="autolink",l.info="auto";const d=e.push("text","",0);d.content=e.md.normalizeLinkText(s);const u=e.push("link_close","a",-1);u.markup="autolink",u.info="auto"}return e.pos+=s.length+2,!0}return!1}function s5i(e){return/^\s]/i.test(e)}function a5i(e){return/^<\/a\s*>/i.test(e)}function l5i(e){const t=e|32;return t>=97&&t<=122}function c5i(e,t){if(!e.md.options.html)return!1;const n=e.posMax,r=e.pos;if(e.src.charCodeAt(r)!==60||r+2>=n)return!1;const o=e.src.charCodeAt(r+1);if(o!==33&&o!==63&&o!==47&&!l5i(o))return!1;const s=e.src.slice(r).match(FLi);if(!s)return!1;if(!t){const a=e.push("html_inline","",0);a.content=s[0],s5i(a.content)&&e.linkLevel++,a5i(a.content)&&e.linkLevel--}return e.pos+=s[0].length,!0}const d5i=/^((?:x[a-f0-9]{1,6}|[0-9]{1,7}));/i,u5i=/^&([a-z][a-z0-9]{1,31});/i;function h5i(e,t){const n=e.pos,r=e.posMax;if(e.src.charCodeAt(n)!==38||n+1>=r)return!1;if(e.src.charCodeAt(n+1)===35){const s=e.src.slice(n).match(d5i);if(s){if(!t){const a=s[1][0].toLowerCase()==="x"?parseInt(s[1].slice(1),16):parseInt(s[1],10),l=e.push("text_special","",0);l.content=$Ze(a)?dge(a):dge(65533),l.markup=s[0],l.info="entity"}return e.pos+=s[0].length,!0}}else{const s=e.src.slice(n).match(u5i);if(s){const a=dOn(s[0]);if(a!==s[0]){if(!t){const l=e.push("text_special","",0);l.content=a,l.markup=s[0],l.info="entity"}return e.pos+=s[0].length,!0}}}return!1}function x1t(e){const t={},n=e.length;if(!n)return;let r=0,o=-2;const s=[];for(let a=0;ad;u-=s[u]+1){const g=e[u];if(g.marker===l.marker&&g.open&&g.end<0){let m=!1;if((g.close||l.open)&&(g.length+l.length)%3===0&&(g.length%3!==0||l.length%3!==0)&&(m=!0),!m){const v=u>0&&!e[u-1].open?s[u-1]+1:0;s[a]=a-u+v,s[u]=v,l.open=!1,g.end=a,g.close=!1,h=-1,o=-2;break}}}h!==-1&&(t[l.marker][(l.open?3:0)+(l.length||0)%3]=h)}}function f5i(e){const t=e.tokens_meta,n=e.tokens_meta.length;x1t(e.delimiters);for(let r=0;r0&&r++,o[t].type==="text"&&t+1=e.pos)throw new Error("inline rule didn't increment state.pos");break}}else e.pos=e.posMax;a||e.pos++,s[t]=e.pos};Une.prototype.tokenize=function(e){const t=this.ruler.getRules(""),n=t.length,r=e.posMax,o=e.md.options.maxNesting;for(;e.pos=e.pos)throw new Error("inline rule didn't increment state.pos");break}}if(a){if(e.pos>=r)break;continue}e.pending+=e.src[e.pos++]}e.pending&&e.pushPending()};Une.prototype.parse=function(e,t,n,r){const o=new this.State(e,t,n,r);this.tokenize(o);const s=this.ruler2.getRules(""),a=s.length;for(let l=0;l|$))",t.tpl_email_fuzzy="(^|"+n+'|"|\\(|'+t.src_ZCc+")("+t.src_email_name+"@"+t.tpl_host_fuzzy_strict+")",t.tpl_link_fuzzy="(^|(?![.:/\\-_@])(?:[$+<=>^`||]|"+t.src_ZPCc+"))((?![$+<=>^`||])"+t.tpl_host_port_fuzzy_strict+t.src_path+")",t.tpl_link_no_ip_fuzzy="(^|(?![.:/\\-_@])(?:[$+<=>^`||]|"+t.src_ZPCc+"))((?![$+<=>^`||])"+t.tpl_host_port_no_ip_fuzzy_strict+t.src_path+")",t}function hMe(e){return Array.prototype.slice.call(arguments,1).forEach(function(n){n&&Object.keys(n).forEach(function(r){e[r]=n[r]})}),e}function J4e(e){return Object.prototype.toString.call(e)}function k5i(e){return J4e(e)==="[object String]"}function v5i(e){return J4e(e)==="[object Object]"}function A5i(e){return J4e(e)==="[object RegExp]"}function E1t(e){return J4e(e)==="[object Function]"}function p5i(e){return e.replace(/[.?*+^$[\]\\(){}|-]/g,"\\$&")}const pOn={fuzzyLink:!0,fuzzyEmail:!0,fuzzyIP:!1};function b5i(e){return Object.keys(e||{}).reduce(function(t,n){return t||pOn.hasOwnProperty(n)},!1)}const w5i={"http:":{validate:function(e,t,n){const r=e.slice(t);return n.re.http||(n.re.http=new RegExp("^\\/\\/"+n.re.src_auth+n.re.src_host_port_strict+n.re.src_path,"i")),n.re.http.test(r)?r.match(n.re.http)[0].length:0}},"https:":"http:","ftp:":"http:","//":{validate:function(e,t,n){const r=e.slice(t);return n.re.no_http||(n.re.no_http=new RegExp("^"+n.re.src_auth+"(?:localhost|(?:(?:"+n.re.src_domain+")\\.)+"+n.re.src_domain_root+")"+n.re.src_port+n.re.src_host_terminator+n.re.src_path,"i")),n.re.no_http.test(r)?t>=3&&e[t-3]===":"||t>=3&&e[t-3]==="/"?0:r.match(n.re.no_http)[0].length:0}},"mailto:":{validate:function(e,t,n){const r=e.slice(t);return n.re.mailto||(n.re.mailto=new RegExp("^"+n.re.src_email_name+"@"+n.re.src_host_strict,"i")),n.re.mailto.test(r)?r.match(n.re.mailto)[0].length:0}}},O5i="a[cdefgilmnoqrstuwxz]|b[abdefghijmnorstvwyz]|c[acdfghiklmnoruvwxyz]|d[ejkmoz]|e[cegrstu]|f[ijkmor]|g[abdefghilmnpqrstuwy]|h[kmnrtu]|i[delmnoqrst]|j[emop]|k[eghimnprwyz]|l[abcikrstuvy]|m[acdeghklmnopqrstuvwxyz]|n[acefgilopruz]|om|p[aefghklmnrstwy]|qa|r[eosuw]|s[abcdeghijklmnortuvxyz]|t[cdfghjklmnortvwz]|u[agksyz]|v[aceginu]|w[fs]|y[et]|z[amw]",y5i="biz|com|edu|gov|net|org|pro|web|xxx|aero|asia|coop|info|museum|name|shop|рф".split("|");function C5i(e){e.__index__=-1,e.__text_cache__=""}function _5i(e){return function(t,n){const r=t.slice(n);return e.test(r)?r.match(e)[0].length:0}}function T1t(){return function(e,t){t.normalize(e)}}function uge(e){const t=e.re=m5i(e.__opts__),n=e.__tlds__.slice();e.onCompile(),e.__tlds_replaced__||n.push(O5i),n.push(t.src_xn),t.src_tlds=n.join("|");function r(l){return l.replace("%TLDS%",t.src_tlds)}t.email_fuzzy=RegExp(r(t.tpl_email_fuzzy),"i"),t.link_fuzzy=RegExp(r(t.tpl_link_fuzzy),"i"),t.link_no_ip_fuzzy=RegExp(r(t.tpl_link_no_ip_fuzzy),"i"),t.host_fuzzy_test=RegExp(r(t.tpl_host_fuzzy_test),"i");const o=[];e.__compiled__={};function s(l,d){throw new Error('(LinkifyIt) Invalid schema "'+l+'": '+d)}Object.keys(e.__schemas__).forEach(function(l){const d=e.__schemas__[l];if(d===null)return;const u={validate:null,link:null};if(e.__compiled__[l]=u,v5i(d)){A5i(d.validate)?u.validate=_5i(d.validate):E1t(d.validate)?u.validate=d.validate:s(l,d),E1t(d.normalize)?u.normalize=d.normalize:d.normalize?s(l,d):u.normalize=T1t();return}if(k5i(d)){o.push(l);return}s(l,d)}),o.forEach(function(l){e.__compiled__[e.__schemas__[l]]&&(e.__compiled__[l].validate=e.__compiled__[e.__schemas__[l]].validate,e.__compiled__[l].normalize=e.__compiled__[e.__schemas__[l]].normalize)}),e.__compiled__[""]={validate:null,normalize:T1t()};const a=Object.keys(e.__compiled__).filter(function(l){return l.length>0&&e.__compiled__[l]}).map(p5i).join("|");e.re.schema_test=RegExp("(^|(?!_)(?:[><|]|"+t.src_ZPCc+"))("+a+")","i"),e.re.schema_search=RegExp("(^|(?!_)(?:[><|]|"+t.src_ZPCc+"))("+a+")","ig"),e.re.schema_at_start=RegExp("^"+e.re.schema_search.source,"i"),e.re.pretest=RegExp("("+e.re.schema_test.source+")|("+e.re.host_fuzzy_test.source+")|@","i"),C5i(e)}function S5i(e,t){const n=e.__index__,r=e.__last_index__,o=e.__text_cache__.slice(n,r);this.schema=e.__schema__.toLowerCase(),this.index=n+t,this.lastIndex=r+t,this.raw=o,this.text=o,this.url=o}function fMe(e,t){const n=new S5i(e,t);return e.__compiled__[n.schema].normalize(n,e),n}function oA(e,t){if(!(this instanceof oA))return new oA(e,t);t||b5i(e)&&(t=e,e={}),this.__opts__=hMe({},pOn,t),this.__index__=-1,this.__last_index__=-1,this.__schema__="",this.__text_cache__="",this.__schemas__=hMe({},w5i,e),this.__compiled__={},this.__tlds__=y5i,this.__tlds_replaced__=!1,this.re={},uge(this)}oA.prototype.add=function(t,n){return this.__schemas__[t]=n,uge(this),this};oA.prototype.set=function(t){return this.__opts__=hMe(this.__opts__,t),this};oA.prototype.test=function(t){if(this.__text_cache__=t,this.__index__=-1,!t.length)return!1;let n,r,o,s,a,l,d,u,h;if(this.re.schema_test.test(t)){for(d=this.re.schema_search,d.lastIndex=0;(n=d.exec(t))!==null;)if(s=this.testSchemaAt(t,n[2],d.lastIndex),s){this.__schema__=n[2],this.__index__=n.index+n[1].length,this.__last_index__=n.index+n[0].length+s;break}}return this.__opts__.fuzzyLink&&this.__compiled__["http:"]&&(u=t.search(this.re.host_fuzzy_test),u>=0&&(this.__index__<0||u=0&&(o=t.match(this.re.email_fuzzy))!==null&&(a=o.index+o[1].length,l=o.index+o[0].length,(this.__index__<0||athis.__last_index__)&&(this.__schema__="mailto:",this.__index__=a,this.__last_index__=l))),this.__index__>=0};oA.prototype.pretest=function(t){return this.re.pretest.test(t)};oA.prototype.testSchemaAt=function(t,n,r){return this.__compiled__[n.toLowerCase()]?this.__compiled__[n.toLowerCase()].validate(t,r,this):0};oA.prototype.match=function(t){const n=[];let r=0;this.__index__>=0&&this.__text_cache__===t&&(n.push(fMe(this,r)),r=this.__last_index__);let o=r?t.slice(r):t;for(;this.test(o);)n.push(fMe(this,r)),o=o.slice(this.__last_index__),r+=this.__last_index__;return n.length?n:null};oA.prototype.matchAtStart=function(t){if(this.__text_cache__=t,this.__index__=-1,!t.length)return null;const n=this.re.schema_at_start.exec(t);if(!n)return null;const r=this.testSchemaAt(t,n[2],n[0].length);return r?(this.__schema__=n[2],this.__index__=n.index+n[1].length,this.__last_index__=n.index+n[0].length+r,fMe(this,0)):null};oA.prototype.tlds=function(t,n){return t=Array.isArray(t)?t:[t],n?(this.__tlds__=this.__tlds__.concat(t).sort().filter(function(r,o,s){return r!==s[o-1]}).reverse(),uge(this),this):(this.__tlds__=t.slice(),this.__tlds_replaced__=!0,uge(this),this)};oA.prototype.normalize=function(t){t.schema||(t.url="http://"+t.url),t.schema==="mailto:"&&!/^mailto:/i.test(t.url)&&(t.url="mailto:"+t.url)};oA.prototype.onCompile=function(){};const dU=2147483647,jO=36,YZe=1,tK=26,L5i=38,x5i=700,bOn=72,wOn=128,OOn="-",E5i=/^xn--/,T5i=/[^\0-\x7F]/,Q5i=/[\x2E\u3002\uFF0E\uFF61]/g,D5i={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},E_e=jO-YZe,WO=Math.floor,T_e=String.fromCharCode;function Z5(e){throw new RangeError(D5i[e])}function B5i(e,t){const n=[];let r=e.length;for(;r--;)n[r]=t(e[r]);return n}function yOn(e,t){const n=e.split("@");let r="";n.length>1&&(r=n[0]+"@",e=n[1]),e=e.replace(Q5i,".");const o=e.split("."),s=B5i(o,t).join(".");return r+s}function COn(e){const t=[];let n=0;const r=e.length;for(;n=55296&&o<=56319&&nString.fromCodePoint(...e),I5i=function(e){return e>=48&&e<58?26+(e-48):e>=65&&e<91?e-65:e>=97&&e<123?e-97:jO},Q1t=function(e,t){return e+22+75*(e<26)-((t!=0)<<5)},_On=function(e,t,n){let r=0;for(e=n?WO(e/x5i):e>>1,e+=WO(e/t);e>E_e*tK>>1;r+=jO)e=WO(e/E_e);return WO(r+(E_e+1)*e/(e+L5i))},SOn=function(e){const t=[],n=e.length;let r=0,o=wOn,s=bOn,a=e.lastIndexOf(OOn);a<0&&(a=0);for(let l=0;l=128&&Z5("not-basic"),t.push(e.charCodeAt(l));for(let l=a>0?a+1:0;l=n&&Z5("invalid-input");const m=I5i(e.charCodeAt(l++));m>=jO&&Z5("invalid-input"),m>WO((dU-r)/h)&&Z5("overflow"),r+=m*h;const v=g<=s?YZe:g>=s+tK?tK:g-s;if(mWO(dU/f)&&Z5("overflow"),h*=f}const u=t.length+1;s=_On(r-d,u,d==0),WO(r/u)>dU-o&&Z5("overflow"),o+=WO(r/u),r%=u,t.splice(r++,0,o)}return String.fromCodePoint(...t)},LOn=function(e){const t=[];e=COn(e);const n=e.length;let r=wOn,o=0,s=bOn;for(const d of e)d<128&&t.push(T_e(d));const a=t.length;let l=a;for(a&&t.push(OOn);l=r&&hWO((dU-o)/u)&&Z5("overflow"),o+=(d-r)*u,r=d;for(const h of e)if(hdU&&Z5("overflow"),h===r){let g=o;for(let m=jO;;m+=jO){const v=m<=s?YZe:m>=s+tK?tK:m-s;if(g=0))try{t.hostname=xOn.toASCII(t.hostname)}catch{}return Fne(WZe(t))}function $5i(e){const t=VZe(e,!0);if(t.hostname&&(!t.protocol||EOn.indexOf(t.protocol)>=0))try{t.hostname=xOn.toUnicode(t.hostname)}catch{}return bW(WZe(t),bW.defaultChars+"%")}function ap(e,t){if(!(this instanceof ap))return new ap(e,t);t||HZe(e)||(t=e||{},e="default"),this.inline=new Une,this.block=new K4e,this.core=new XZe,this.renderer=new _z,this.linkify=new oA,this.validateLink=z5i,this.normalizeLink=H5i,this.normalizeLinkText=$5i,this.utils=G8i,this.helpers=Z4e({},K8i),this.options={},this.configure(e),t&&this.set(t)}ap.prototype.set=function(e){return Z4e(this.options,e),this};ap.prototype.configure=function(e){const t=this;if(HZe(e)){const n=e;if(e=j5i[n],!e)throw new Error('Wrong `markdown-it` preset "'+n+'", check name')}if(!e)throw new Error("Wrong `markdown-it` preset, can't be empty");return e.options&&t.set(e.options),e.components&&Object.keys(e.components).forEach(function(n){e.components[n].rules&&t[n].ruler.enableOnly(e.components[n].rules),e.components[n].rules2&&t[n].ruler2.enableOnly(e.components[n].rules2)}),this};ap.prototype.enable=function(e,t){let n=[];Array.isArray(e)||(e=[e]),["core","block","inline"].forEach(function(o){n=n.concat(this[o].ruler.enable(e,!0))},this),n=n.concat(this.inline.ruler2.enable(e,!0));const r=e.filter(function(o){return n.indexOf(o)<0});if(r.length&&!t)throw new Error("MarkdownIt. Failed to enable unknown rule(s): "+r);return this};ap.prototype.disable=function(e,t){let n=[];Array.isArray(e)||(e=[e]),["core","block","inline"].forEach(function(o){n=n.concat(this[o].ruler.disable(e,!0))},this),n=n.concat(this.inline.ruler2.disable(e,!0));const r=e.filter(function(o){return n.indexOf(o)<0});if(r.length&&!t)throw new Error("MarkdownIt. Failed to disable unknown rule(s): "+r);return this};ap.prototype.use=function(e){const t=[this].concat(Array.prototype.slice.call(arguments,1));return e.apply(e,t),this};ap.prototype.parse=function(e,t){if(typeof e!="string")throw new Error("Input data should be a String");const n=new this.core.State(e,this,t);return this.core.process(n),n.tokens};ap.prototype.render=function(e,t){return t=t||{},this.renderer.render(this.parse(e,t),this.options,t)};ap.prototype.parseInline=function(e,t){const n=new this.core.State(e,this,t);return n.inlineMode=!0,this.core.process(n),n.tokens};ap.prototype.renderInline=function(e,t){return t=t||{},this.renderer.render(this.parseInline(e,t),this.options,t)};const D1t=new Set([!0,!1,"alt","title"]);function TOn(e,t){return(Array.isArray(e)?e:[]).filter(([n])=>n!==t)}function QOn(e,t){e&&e.attrs&&(e.attrs=TOn(e.attrs,t))}function X5i(e,t){if(!D1t.has(e))throw new TypeError(`figcaption must be one of: ${[...D1t]}.`);if(e==="alt")return t.content;const n=t.attrs.find(([r])=>r==="title");return Array.isArray(n)&&n[1]?(QOn(t,"title"),n[1]):void 0}function G5i(e,t){t=t||{},e.core.ruler.before("linkify","image_figures",function(n){let r=1;for(let o=1,s=n.tokens.length;oh.match(u)).map(h=>Array.from(h))}if(t.tabindex&&(n.tokens[o-1].attrPush(["tabindex",r]),r++),t.lazy&&(d.attrs.some(([u])=>u==="loading")||d.attrs.push(["loading","lazy"])),t.async&&(d.attrs.some(([u])=>u==="decoding")||d.attrs.push(["decoding","async"])),t.classes&&typeof t.classes=="string"){let u=!1;for(let h=0,g=d.attrs.length;hh==="src");d.attrs.push(["data-src",u[1]]),QOn(d,"src")}}})}const Y5i=/\\([ \\!"#$%&'()*+,./:;<=>?@[\]^_`{|}~-])/g;function Z5i(e,t){const n=e.posMax,r=e.pos;if(e.src.charCodeAt(r)!==126||t||r+2>=n)return!1;e.pos=r+1;let o=!1;for(;e.pos?@[\]^_`{|}~-])/g;function J5i(e,t){const n=e.posMax,r=e.pos;if(e.src.charCodeAt(r)!==94||t||r+2>=n)return!1;e.pos=r+1;let o=!1;for(;e.pos{typeof gMe.emitWarning=="function"?gMe.emitWarning(e,t,n,r):console.error(`[${n}] ${t}: ${e}`)},hge=globalThis.AbortController,B1t=globalThis.AbortSignal,uvn;if(typeof hge>"u"){B1t=class{constructor(){Mn(this,"onabort");Mn(this,"_onabort",[]);Mn(this,"reason");Mn(this,"aborted",!1)}addEventListener(n,r){this._onabort.push(r)}},hge=class{constructor(){Mn(this,"signal",new B1t);t()}abort(n){var r,o;if(!this.signal.aborted){this.signal.reason=n,this.signal.aborted=!0;for(let s of this.signal._onabort)s(n);(o=(r=this.signal).onabort)==null||o.call(r,n)}}};let e=((uvn=gMe.env)==null?void 0:uvn.LRU_CACHE_IGNORE_AC_WARNING)!=="1",t=()=>{e&&(e=!1,BOn("AbortController is not defined. If using lru-cache in node 14, load an AbortController polyfill from the `node-abort-controller` package. A minimal polyfill is provided for use by LRUCache.fetch(), but it should not be relied upon in other contexts (eg, passing it to other APIs that use AbortController/AbortSignal might have undesirable effects). You may disable this with LRU_CACHE_IGNORE_AC_WARNING=1 in the env.","NO_ABORT_CONTROLLER","ENOTSUP",t))}}var nxi=e=>!DOn.has(e),Q5=e=>e&&e===Math.floor(e)&&e>0&&isFinite(e),ROn=e=>Q5(e)?e<=Math.pow(2,8)?Uint8Array:e<=Math.pow(2,16)?Uint16Array:e<=Math.pow(2,32)?Uint32Array:e<=Number.MAX_SAFE_INTEGER?nue:null:null,nue=class extends Array{constructor(t){super(t),this.fill(0)}},ey,mj,ixi=(ey=class{constructor(t,n){Mn(this,"heap");Mn(this,"length");if(!we(ey,mj))throw new TypeError("instantiate Stack using Stack.create(n)");this.heap=new n(t),this.length=0}static create(t){let n=ROn(t);if(!n)return[];Kt(ey,mj,!0);let r=new ey(t,n);return Kt(ey,mj,!1),r}push(t){this.heap[this.length++]=t}pop(){return this.heap[--this.length]}},mj=new WeakMap,dn(ey,mj,!1),ey),hvn,fvn,v4,av,Ab,_Q,pb,kj,vj,bb,ff,wb,Qh,md,fs,Y1,lv,Um,ng,Ob,ig,yb,Cb,cv,dv,_b,Ix,Z1,Aj,Ui,mMe,SQ,rS,Pte,uv,IOn,LQ,pj,Fte,D5,B5,kMe,iue,rue,hd,vMe,gG,R5,AMe,bj,rxi=(bj=class{constructor(t){dn(this,Ui);dn(this,v4);dn(this,av);dn(this,Ab);dn(this,_Q);dn(this,pb);dn(this,kj);dn(this,vj);dn(this,bb);Mn(this,"ttl");Mn(this,"ttlResolution");Mn(this,"ttlAutopurge");Mn(this,"updateAgeOnGet");Mn(this,"updateAgeOnHas");Mn(this,"allowStale");Mn(this,"noDisposeOnSet");Mn(this,"noUpdateTTL");Mn(this,"maxEntrySize");Mn(this,"sizeCalculation");Mn(this,"noDeleteOnFetchRejection");Mn(this,"noDeleteOnStaleGet");Mn(this,"allowStaleOnFetchAbort");Mn(this,"allowStaleOnFetchRejection");Mn(this,"ignoreFetchAbort");dn(this,ff);dn(this,wb);dn(this,Qh);dn(this,md);dn(this,fs);dn(this,Y1);dn(this,lv);dn(this,Um);dn(this,ng);dn(this,Ob);dn(this,ig);dn(this,yb);dn(this,Cb);dn(this,cv);dn(this,dv);dn(this,_b);dn(this,Ix);dn(this,Z1);dn(this,Aj);dn(this,SQ,()=>{});dn(this,rS,()=>{});dn(this,Pte,()=>{});dn(this,uv,()=>!1);dn(this,LQ,t=>{});dn(this,pj,(t,n,r)=>{});dn(this,Fte,(t,n,r,o)=>{if(r||o)throw new TypeError("cannot set size without setting maxSize or maxEntrySize on cache");return 0});Mn(this,hvn,"LRUCache");let{max:n=0,ttl:r,ttlResolution:o=1,ttlAutopurge:s,updateAgeOnGet:a,updateAgeOnHas:l,allowStale:d,dispose:u,onInsert:h,disposeAfter:g,noDisposeOnSet:m,noUpdateTTL:v,maxSize:f=0,maxEntrySize:k=0,sizeCalculation:A,fetchMethod:p,memoMethod:b,noDeleteOnFetchRejection:w,noDeleteOnStaleGet:O,allowStaleOnFetchRejection:y,allowStaleOnFetchAbort:C,ignoreFetchAbort:_,perf:S}=t;if(S!==void 0&&typeof(S==null?void 0:S.now)!="function")throw new TypeError("perf option must have a now() method if specified");if(Kt(this,bb,S??txi),n!==0&&!Q5(n))throw new TypeError("max option must be a nonnegative integer");let L=n?ROn(n):Array;if(!L)throw new Error("invalid max value: "+n);if(Kt(this,v4,n),Kt(this,av,f),this.maxEntrySize=k||we(this,av),this.sizeCalculation=A,this.sizeCalculation){if(!we(this,av)&&!this.maxEntrySize)throw new TypeError("cannot set sizeCalculation without setting maxSize or maxEntrySize");if(typeof this.sizeCalculation!="function")throw new TypeError("sizeCalculation set to non-function")}if(b!==void 0&&typeof b!="function")throw new TypeError("memoMethod must be a function if defined");if(Kt(this,vj,b),p!==void 0&&typeof p!="function")throw new TypeError("fetchMethod must be a function if specified");if(Kt(this,kj,p),Kt(this,Ix,!!p),Kt(this,Qh,new Map),Kt(this,md,new Array(n).fill(void 0)),Kt(this,fs,new Array(n).fill(void 0)),Kt(this,Y1,new L(n)),Kt(this,lv,new L(n)),Kt(this,Um,0),Kt(this,ng,0),Kt(this,Ob,ixi.create(n)),Kt(this,ff,0),Kt(this,wb,0),typeof u=="function"&&Kt(this,Ab,u),typeof h=="function"&&Kt(this,_Q,h),typeof g=="function"?(Kt(this,pb,g),Kt(this,ig,[])):(Kt(this,pb,void 0),Kt(this,ig,void 0)),Kt(this,_b,!!we(this,Ab)),Kt(this,Aj,!!we(this,_Q)),Kt(this,Z1,!!we(this,pb)),this.noDisposeOnSet=!!m,this.noUpdateTTL=!!v,this.noDeleteOnFetchRejection=!!w,this.allowStaleOnFetchRejection=!!y,this.allowStaleOnFetchAbort=!!C,this.ignoreFetchAbort=!!_,this.maxEntrySize!==0){if(we(this,av)!==0&&!Q5(we(this,av)))throw new TypeError("maxSize must be a positive integer if specified");if(!Q5(this.maxEntrySize))throw new TypeError("maxEntrySize must be a positive integer if specified");Ci(this,Ui,IOn).call(this)}if(this.allowStale=!!d,this.noDeleteOnStaleGet=!!O,this.updateAgeOnGet=!!a,this.updateAgeOnHas=!!l,this.ttlResolution=Q5(o)||o===0?o:1,this.ttlAutopurge=!!s,this.ttl=r||0,this.ttl){if(!Q5(this.ttl))throw new TypeError("ttl must be a positive integer if specified");Ci(this,Ui,mMe).call(this)}if(we(this,v4)===0&&this.ttl===0&&we(this,av)===0)throw new TypeError("At least one of max, maxSize, or ttl is required");if(!this.ttlAutopurge&&!we(this,v4)&&!we(this,av)){let E="LRU_CACHE_UNBOUNDED";nxi(E)&&(DOn.add(E),BOn("TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption.","UnboundedCacheWarning",E,bj))}}get perf(){return we(this,bb)}static unsafeExposeInternals(t){return{starts:we(t,Cb),ttls:we(t,cv),autopurgeTimers:we(t,dv),sizes:we(t,yb),keyMap:we(t,Qh),keyList:we(t,md),valList:we(t,fs),next:we(t,Y1),prev:we(t,lv),get head(){return we(t,Um)},get tail(){return we(t,ng)},free:we(t,Ob),isBackgroundFetch:n=>{var r;return Ci(r=t,Ui,hd).call(r,n)},backgroundFetch:(n,r,o,s)=>{var a;return Ci(a=t,Ui,rue).call(a,n,r,o,s)},moveToTail:n=>{var r;return Ci(r=t,Ui,gG).call(r,n)},indexes:n=>{var r;return Ci(r=t,Ui,D5).call(r,n)},rindexes:n=>{var r;return Ci(r=t,Ui,B5).call(r,n)},isStale:n=>{var r;return we(r=t,uv).call(r,n)}}}get max(){return we(this,v4)}get maxSize(){return we(this,av)}get calculatedSize(){return we(this,wb)}get size(){return we(this,ff)}get fetchMethod(){return we(this,kj)}get memoMethod(){return we(this,vj)}get dispose(){return we(this,Ab)}get onInsert(){return we(this,_Q)}get disposeAfter(){return we(this,pb)}getRemainingTTL(t){return we(this,Qh).has(t)?1/0:0}*entries(){for(let t of Ci(this,Ui,D5).call(this))we(this,fs)[t]!==void 0&&we(this,md)[t]!==void 0&&!Ci(this,Ui,hd).call(this,we(this,fs)[t])&&(yield[we(this,md)[t],we(this,fs)[t]])}*rentries(){for(let t of Ci(this,Ui,B5).call(this))we(this,fs)[t]!==void 0&&we(this,md)[t]!==void 0&&!Ci(this,Ui,hd).call(this,we(this,fs)[t])&&(yield[we(this,md)[t],we(this,fs)[t]])}*keys(){for(let t of Ci(this,Ui,D5).call(this)){let n=we(this,md)[t];n!==void 0&&!Ci(this,Ui,hd).call(this,we(this,fs)[t])&&(yield n)}}*rkeys(){for(let t of Ci(this,Ui,B5).call(this)){let n=we(this,md)[t];n!==void 0&&!Ci(this,Ui,hd).call(this,we(this,fs)[t])&&(yield n)}}*values(){for(let t of Ci(this,Ui,D5).call(this))we(this,fs)[t]!==void 0&&!Ci(this,Ui,hd).call(this,we(this,fs)[t])&&(yield we(this,fs)[t])}*rvalues(){for(let t of Ci(this,Ui,B5).call(this))we(this,fs)[t]!==void 0&&!Ci(this,Ui,hd).call(this,we(this,fs)[t])&&(yield we(this,fs)[t])}[(fvn=Symbol.iterator,hvn=Symbol.toStringTag,fvn)](){return this.entries()}find(t,n={}){for(let r of Ci(this,Ui,D5).call(this)){let o=we(this,fs)[r],s=Ci(this,Ui,hd).call(this,o)?o.__staleWhileFetching:o;if(s!==void 0&&t(s,we(this,md)[r],this))return this.get(we(this,md)[r],n)}}forEach(t,n=this){for(let r of Ci(this,Ui,D5).call(this)){let o=we(this,fs)[r],s=Ci(this,Ui,hd).call(this,o)?o.__staleWhileFetching:o;s!==void 0&&t.call(n,s,we(this,md)[r],this)}}rforEach(t,n=this){for(let r of Ci(this,Ui,B5).call(this)){let o=we(this,fs)[r],s=Ci(this,Ui,hd).call(this,o)?o.__staleWhileFetching:o;s!==void 0&&t.call(n,s,we(this,md)[r],this)}}purgeStale(){let t=!1;for(let n of Ci(this,Ui,B5).call(this,{allowStale:!0}))we(this,uv).call(this,n)&&(Ci(this,Ui,R5).call(this,we(this,md)[n],"expire"),t=!0);return t}info(t){let n=we(this,Qh).get(t);if(n===void 0)return;let r=we(this,fs)[n],o=Ci(this,Ui,hd).call(this,r)?r.__staleWhileFetching:r;if(o===void 0)return;let s={value:o};if(we(this,cv)&&we(this,Cb)){let a=we(this,cv)[n],l=we(this,Cb)[n];if(a&&l){let d=a-(we(this,bb).now()-l);s.ttl=d,s.start=Date.now()}}return we(this,yb)&&(s.size=we(this,yb)[n]),s}dump(){let t=[];for(let n of Ci(this,Ui,D5).call(this,{allowStale:!0})){let r=we(this,md)[n],o=we(this,fs)[n],s=Ci(this,Ui,hd).call(this,o)?o.__staleWhileFetching:o;if(s===void 0||r===void 0)continue;let a={value:s};if(we(this,cv)&&we(this,Cb)){a.ttl=we(this,cv)[n];let l=we(this,bb).now()-we(this,Cb)[n];a.start=Math.floor(Date.now()-l)}we(this,yb)&&(a.size=we(this,yb)[n]),t.unshift([r,a])}return t}load(t){this.clear();for(let[n,r]of t){if(r.start){let o=Date.now()-r.start;r.start=we(this,bb).now()-o}this.set(n,r.value,r)}}set(t,n,r={}){var m,v,f,k,A,p,b;if(n===void 0)return this.delete(t),this;let{ttl:o=this.ttl,start:s,noDisposeOnSet:a=this.noDisposeOnSet,sizeCalculation:l=this.sizeCalculation,status:d}=r,{noUpdateTTL:u=this.noUpdateTTL}=r,h=we(this,Fte).call(this,t,n,r.size||0,l);if(this.maxEntrySize&&h>this.maxEntrySize)return d&&(d.set="miss",d.maxEntrySizeExceeded=!0),Ci(this,Ui,R5).call(this,t,"set"),this;let g=we(this,ff)===0?void 0:we(this,Qh).get(t);if(g===void 0)g=we(this,ff)===0?we(this,ng):we(this,Ob).length!==0?we(this,Ob).pop():we(this,ff)===we(this,v4)?Ci(this,Ui,iue).call(this,!1):we(this,ff),we(this,md)[g]=t,we(this,fs)[g]=n,we(this,Qh).set(t,g),we(this,Y1)[we(this,ng)]=g,we(this,lv)[g]=we(this,ng),Kt(this,ng,g),ose(this,ff)._++,we(this,pj).call(this,g,h,d),d&&(d.set="add"),u=!1,we(this,Aj)&&((m=we(this,_Q))==null||m.call(this,n,t,"add"));else{Ci(this,Ui,gG).call(this,g);let w=we(this,fs)[g];if(n!==w){if(we(this,Ix)&&Ci(this,Ui,hd).call(this,w)){w.__abortController.abort(new Error("replaced"));let{__staleWhileFetching:O}=w;O!==void 0&&!a&&(we(this,_b)&&((v=we(this,Ab))==null||v.call(this,O,t,"set")),we(this,Z1)&&((f=we(this,ig))==null||f.push([O,t,"set"])))}else a||(we(this,_b)&&((k=we(this,Ab))==null||k.call(this,w,t,"set")),we(this,Z1)&&((A=we(this,ig))==null||A.push([w,t,"set"])));if(we(this,LQ).call(this,g),we(this,pj).call(this,g,h,d),we(this,fs)[g]=n,d){d.set="replace";let O=w&&Ci(this,Ui,hd).call(this,w)?w.__staleWhileFetching:w;O!==void 0&&(d.oldValue=O)}}else d&&(d.set="update");we(this,Aj)&&((p=this.onInsert)==null||p.call(this,n,t,n===w?"update":"replace"))}if(o!==0&&!we(this,cv)&&Ci(this,Ui,mMe).call(this),we(this,cv)&&(u||we(this,Pte).call(this,g,o,s),d&&we(this,rS).call(this,d,g)),!a&&we(this,Z1)&&we(this,ig)){let w=we(this,ig),O;for(;O=w==null?void 0:w.shift();)(b=we(this,pb))==null||b.call(this,...O)}return this}pop(){var t;try{for(;we(this,ff);){let n=we(this,fs)[we(this,Um)];if(Ci(this,Ui,iue).call(this,!0),Ci(this,Ui,hd).call(this,n)){if(n.__staleWhileFetching)return n.__staleWhileFetching}else if(n!==void 0)return n}}finally{if(we(this,Z1)&&we(this,ig)){let n=we(this,ig),r;for(;r=n==null?void 0:n.shift();)(t=we(this,pb))==null||t.call(this,...r)}}}has(t,n={}){let{updateAgeOnHas:r=this.updateAgeOnHas,status:o}=n,s=we(this,Qh).get(t);if(s!==void 0){let a=we(this,fs)[s];if(Ci(this,Ui,hd).call(this,a)&&a.__staleWhileFetching===void 0)return!1;if(we(this,uv).call(this,s))o&&(o.has="stale",we(this,rS).call(this,o,s));else return r&&we(this,SQ).call(this,s),o&&(o.has="hit",we(this,rS).call(this,o,s)),!0}else o&&(o.has="miss");return!1}peek(t,n={}){let{allowStale:r=this.allowStale}=n,o=we(this,Qh).get(t);if(o===void 0||!r&&we(this,uv).call(this,o))return;let s=we(this,fs)[o];return Ci(this,Ui,hd).call(this,s)?s.__staleWhileFetching:s}async fetch(t,n={}){let{allowStale:r=this.allowStale,updateAgeOnGet:o=this.updateAgeOnGet,noDeleteOnStaleGet:s=this.noDeleteOnStaleGet,ttl:a=this.ttl,noDisposeOnSet:l=this.noDisposeOnSet,size:d=0,sizeCalculation:u=this.sizeCalculation,noUpdateTTL:h=this.noUpdateTTL,noDeleteOnFetchRejection:g=this.noDeleteOnFetchRejection,allowStaleOnFetchRejection:m=this.allowStaleOnFetchRejection,ignoreFetchAbort:v=this.ignoreFetchAbort,allowStaleOnFetchAbort:f=this.allowStaleOnFetchAbort,context:k,forceRefresh:A=!1,status:p,signal:b}=n;if(!we(this,Ix))return p&&(p.fetch="get"),this.get(t,{allowStale:r,updateAgeOnGet:o,noDeleteOnStaleGet:s,status:p});let w={allowStale:r,updateAgeOnGet:o,noDeleteOnStaleGet:s,ttl:a,noDisposeOnSet:l,size:d,sizeCalculation:u,noUpdateTTL:h,noDeleteOnFetchRejection:g,allowStaleOnFetchRejection:m,allowStaleOnFetchAbort:f,ignoreFetchAbort:v,status:p,signal:b},O=we(this,Qh).get(t);if(O===void 0){p&&(p.fetch="miss");let y=Ci(this,Ui,rue).call(this,t,O,w,k);return y.__returned=y}else{let y=we(this,fs)[O];if(Ci(this,Ui,hd).call(this,y)){let L=r&&y.__staleWhileFetching!==void 0;return p&&(p.fetch="inflight",L&&(p.returnedStale=!0)),L?y.__staleWhileFetching:y.__returned=y}let C=we(this,uv).call(this,O);if(!A&&!C)return p&&(p.fetch="hit"),Ci(this,Ui,gG).call(this,O),o&&we(this,SQ).call(this,O),p&&we(this,rS).call(this,p,O),y;let _=Ci(this,Ui,rue).call(this,t,O,w,k),S=_.__staleWhileFetching!==void 0&&r;return p&&(p.fetch=C?"stale":"refresh",S&&C&&(p.returnedStale=!0)),S?_.__staleWhileFetching:_.__returned=_}}async forceFetch(t,n={}){let r=await this.fetch(t,n);if(r===void 0)throw new Error("fetch() returned undefined");return r}memo(t,n={}){let r=we(this,vj);if(!r)throw new Error("no memoMethod provided to constructor");let{context:o,forceRefresh:s,...a}=n,l=this.get(t,a);if(!s&&l!==void 0)return l;let d=r(t,l,{options:a,context:o});return this.set(t,d,a),d}get(t,n={}){let{allowStale:r=this.allowStale,updateAgeOnGet:o=this.updateAgeOnGet,noDeleteOnStaleGet:s=this.noDeleteOnStaleGet,status:a}=n,l=we(this,Qh).get(t);if(l!==void 0){let d=we(this,fs)[l],u=Ci(this,Ui,hd).call(this,d);return a&&we(this,rS).call(this,a,l),we(this,uv).call(this,l)?(a&&(a.get="stale"),u?(a&&r&&d.__staleWhileFetching!==void 0&&(a.returnedStale=!0),r?d.__staleWhileFetching:void 0):(s||Ci(this,Ui,R5).call(this,t,"expire"),a&&r&&(a.returnedStale=!0),r?d:void 0)):(a&&(a.get="hit"),u?d.__staleWhileFetching:(Ci(this,Ui,gG).call(this,l),o&&we(this,SQ).call(this,l),d))}else a&&(a.get="miss")}delete(t){return Ci(this,Ui,R5).call(this,t,"delete")}clear(){return Ci(this,Ui,AMe).call(this,"delete")}},v4=new WeakMap,av=new WeakMap,Ab=new WeakMap,_Q=new WeakMap,pb=new WeakMap,kj=new WeakMap,vj=new WeakMap,bb=new WeakMap,ff=new WeakMap,wb=new WeakMap,Qh=new WeakMap,md=new WeakMap,fs=new WeakMap,Y1=new WeakMap,lv=new WeakMap,Um=new WeakMap,ng=new WeakMap,Ob=new WeakMap,ig=new WeakMap,yb=new WeakMap,Cb=new WeakMap,cv=new WeakMap,dv=new WeakMap,_b=new WeakMap,Ix=new WeakMap,Z1=new WeakMap,Aj=new WeakMap,Ui=new WeakSet,mMe=function(){let t=new nue(we(this,v4)),n=new nue(we(this,v4));Kt(this,cv,t),Kt(this,Cb,n);let r=this.ttlAutopurge?new Array(we(this,v4)):void 0;Kt(this,dv,r),Kt(this,Pte,(l,d,u=we(this,bb).now())=>{n[l]=d!==0?u:0,t[l]=d,o(l,d)}),Kt(this,SQ,l=>{n[l]=t[l]!==0?we(this,bb).now():0,o(l,t[l])});let o=this.ttlAutopurge?(l,d)=>{if(r!=null&&r[l]&&(clearTimeout(r[l]),r[l]=void 0),d&&d!==0&&r){let u=setTimeout(()=>{we(this,uv).call(this,l)&&Ci(this,Ui,R5).call(this,we(this,md)[l],"expire")},d+1);u.unref&&u.unref(),r[l]=u}}:()=>{};Kt(this,rS,(l,d)=>{if(t[d]){let u=t[d],h=n[d];if(!u||!h)return;l.ttl=u,l.start=h,l.now=s||a();let g=l.now-h;l.remainingTTL=u-g}});let s=0,a=()=>{let l=we(this,bb).now();if(this.ttlResolution>0){s=l;let d=setTimeout(()=>s=0,this.ttlResolution);d.unref&&d.unref()}return l};this.getRemainingTTL=l=>{let d=we(this,Qh).get(l);if(d===void 0)return 0;let u=t[d],h=n[d];if(!u||!h)return 1/0;let g=(s||a())-h;return u-g},Kt(this,uv,l=>{let d=n[l],u=t[l];return!!u&&!!d&&(s||a())-d>u})},SQ=new WeakMap,rS=new WeakMap,Pte=new WeakMap,uv=new WeakMap,IOn=function(){let t=new nue(we(this,v4));Kt(this,wb,0),Kt(this,yb,t),Kt(this,LQ,n=>{Kt(this,wb,we(this,wb)-t[n]),t[n]=0}),Kt(this,Fte,(n,r,o,s)=>{if(Ci(this,Ui,hd).call(this,r))return 0;if(!Q5(o))if(s){if(typeof s!="function")throw new TypeError("sizeCalculation must be a function");if(o=s(r,n),!Q5(o))throw new TypeError("sizeCalculation return invalid (expect positive integer)")}else throw new TypeError("invalid size value (must be positive integer). When maxSize or maxEntrySize is used, sizeCalculation or size must be set.");return o}),Kt(this,pj,(n,r,o)=>{if(t[n]=r,we(this,av)){let s=we(this,av)-t[n];for(;we(this,wb)>s;)Ci(this,Ui,iue).call(this,!0)}Kt(this,wb,we(this,wb)+t[n]),o&&(o.entrySize=r,o.totalCalculatedSize=we(this,wb))})},LQ=new WeakMap,pj=new WeakMap,Fte=new WeakMap,D5=function*({allowStale:t=this.allowStale}={}){if(we(this,ff))for(let n=we(this,ng);!(!Ci(this,Ui,kMe).call(this,n)||((t||!we(this,uv).call(this,n))&&(yield n),n===we(this,Um)));)n=we(this,lv)[n]},B5=function*({allowStale:t=this.allowStale}={}){if(we(this,ff))for(let n=we(this,Um);!(!Ci(this,Ui,kMe).call(this,n)||((t||!we(this,uv).call(this,n))&&(yield n),n===we(this,ng)));)n=we(this,Y1)[n]},kMe=function(t){return t!==void 0&&we(this,Qh).get(we(this,md)[t])===t},iue=function(t){var s,a,l;let n=we(this,Um),r=we(this,md)[n],o=we(this,fs)[n];return we(this,Ix)&&Ci(this,Ui,hd).call(this,o)?o.__abortController.abort(new Error("evicted")):(we(this,_b)||we(this,Z1))&&(we(this,_b)&&((s=we(this,Ab))==null||s.call(this,o,r,"evict")),we(this,Z1)&&((a=we(this,ig))==null||a.push([o,r,"evict"]))),we(this,LQ).call(this,n),(l=we(this,dv))!=null&&l[n]&&(clearTimeout(we(this,dv)[n]),we(this,dv)[n]=void 0),t&&(we(this,md)[n]=void 0,we(this,fs)[n]=void 0,we(this,Ob).push(n)),we(this,ff)===1?(Kt(this,Um,Kt(this,ng,0)),we(this,Ob).length=0):Kt(this,Um,we(this,Y1)[n]),we(this,Qh).delete(r),ose(this,ff)._--,n},rue=function(t,n,r,o){let s=n===void 0?void 0:we(this,fs)[n];if(Ci(this,Ui,hd).call(this,s))return s;let a=new hge,{signal:l}=r;l==null||l.addEventListener("abort",()=>a.abort(l.reason),{signal:a.signal});let d={signal:a.signal,options:r,context:o},u=(k,A=!1)=>{let{aborted:p}=a.signal,b=r.ignoreFetchAbort&&k!==void 0,w=r.ignoreFetchAbort||!!(r.allowStaleOnFetchAbort&&k!==void 0);if(r.status&&(p&&!A?(r.status.fetchAborted=!0,r.status.fetchError=a.signal.reason,b&&(r.status.fetchAbortIgnored=!0)):r.status.fetchResolved=!0),p&&!b&&!A)return g(a.signal.reason,w);let O=v,y=we(this,fs)[n];return(y===v||b&&A&&y===void 0)&&(k===void 0?O.__staleWhileFetching!==void 0?we(this,fs)[n]=O.__staleWhileFetching:Ci(this,Ui,R5).call(this,t,"fetch"):(r.status&&(r.status.fetchUpdated=!0),this.set(t,k,d.options))),k},h=k=>(r.status&&(r.status.fetchRejected=!0,r.status.fetchError=k),g(k,!1)),g=(k,A)=>{let{aborted:p}=a.signal,b=p&&r.allowStaleOnFetchAbort,w=b||r.allowStaleOnFetchRejection,O=w||r.noDeleteOnFetchRejection,y=v;if(we(this,fs)[n]===v&&(!O||!A&&y.__staleWhileFetching===void 0?Ci(this,Ui,R5).call(this,t,"fetch"):b||(we(this,fs)[n]=y.__staleWhileFetching)),w)return r.status&&y.__staleWhileFetching!==void 0&&(r.status.returnedStale=!0),y.__staleWhileFetching;if(y.__returned===y)throw k},m=(k,A)=>{var b;let p=(b=we(this,kj))==null?void 0:b.call(this,t,s,d);p&&p instanceof Promise&&p.then(w=>k(w===void 0?void 0:w),A),a.signal.addEventListener("abort",()=>{(!r.ignoreFetchAbort||r.allowStaleOnFetchAbort)&&(k(void 0),r.allowStaleOnFetchAbort&&(k=w=>u(w,!0)))})};r.status&&(r.status.fetchDispatched=!0);let v=new Promise(m).then(u,h),f=Object.assign(v,{__abortController:a,__staleWhileFetching:s,__returned:void 0});return n===void 0?(this.set(t,f,{...d.options,status:void 0}),n=we(this,Qh).get(t)):we(this,fs)[n]=f,f},hd=function(t){if(!we(this,Ix))return!1;let n=t;return!!n&&n instanceof Promise&&n.hasOwnProperty("__staleWhileFetching")&&n.__abortController instanceof hge},vMe=function(t,n){we(this,lv)[n]=t,we(this,Y1)[t]=n},gG=function(t){t!==we(this,ng)&&(t===we(this,Um)?Kt(this,Um,we(this,Y1)[t]):Ci(this,Ui,vMe).call(this,we(this,lv)[t],we(this,Y1)[t]),Ci(this,Ui,vMe).call(this,we(this,ng),t),Kt(this,ng,t))},R5=function(t,n){var o,s,a,l,d,u;let r=!1;if(we(this,ff)!==0){let h=we(this,Qh).get(t);if(h!==void 0)if((o=we(this,dv))!=null&&o[h]&&(clearTimeout((s=we(this,dv))==null?void 0:s[h]),we(this,dv)[h]=void 0),r=!0,we(this,ff)===1)Ci(this,Ui,AMe).call(this,n);else{we(this,LQ).call(this,h);let g=we(this,fs)[h];if(Ci(this,Ui,hd).call(this,g)?g.__abortController.abort(new Error("deleted")):(we(this,_b)||we(this,Z1))&&(we(this,_b)&&((a=we(this,Ab))==null||a.call(this,g,t,n)),we(this,Z1)&&((l=we(this,ig))==null||l.push([g,t,n]))),we(this,Qh).delete(t),we(this,md)[h]=void 0,we(this,fs)[h]=void 0,h===we(this,ng))Kt(this,ng,we(this,lv)[h]);else if(h===we(this,Um))Kt(this,Um,we(this,Y1)[h]);else{let m=we(this,lv)[h];we(this,Y1)[m]=we(this,Y1)[h];let v=we(this,Y1)[h];we(this,lv)[v]=we(this,lv)[h]}ose(this,ff)._--,we(this,Ob).push(h)}}if(we(this,Z1)&&((d=we(this,ig))!=null&&d.length)){let h=we(this,ig),g;for(;g=h==null?void 0:h.shift();)(u=we(this,pb))==null||u.call(this,...g)}return r},AMe=function(t){var n,r,o,s;for(let a of Ci(this,Ui,B5).call(this,{allowStale:!0})){let l=we(this,fs)[a];if(Ci(this,Ui,hd).call(this,l))l.__abortController.abort(new Error("deleted"));else{let d=we(this,md)[a];we(this,_b)&&((n=we(this,Ab))==null||n.call(this,l,d,t)),we(this,Z1)&&((r=we(this,ig))==null||r.push([l,d,t]))}}if(we(this,Qh).clear(),we(this,fs).fill(void 0),we(this,md).fill(void 0),we(this,cv)&&we(this,Cb)){we(this,cv).fill(0),we(this,Cb).fill(0);for(let a of we(this,dv)??[])a!==void 0&&clearTimeout(a);(o=we(this,dv))==null||o.fill(void 0)}if(we(this,yb)&&we(this,yb).fill(0),Kt(this,Um,0),Kt(this,ng,0),we(this,Ob).length=0,Kt(this,wb,0),Kt(this,ff,0),we(this,Z1)&&we(this,ig)){let a=we(this,ig),l;for(;l=a==null?void 0:a.shift();)(s=we(this,pb))==null||s.call(this,...l)}},bj);/*! medium-zoom 1.1.0 | MIT License | https://github.com/francoischalifour/medium-zoom */var F7=Object.assign||function(e){for(var t=1;t1&&arguments[1]!==void 0?arguments[1]:{},r=window.Promise||function(D){function P(){}D(P,P)},o=function(D){var P=D.target;if(P===L){f();return}w.indexOf(P)!==-1&&k({target:P})},s=function(){if(!(y||!S.original)){var D=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0;Math.abs(C-D)>_.scrollOffset&&setTimeout(f,150)}},a=function(D){var P=D.key||D.keyCode;(P==="Escape"||P==="Esc"||P===27)&&f()},l=function(){var D=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},P=D;if(D.background&&(L.style.background=D.background),D.container&&D.container instanceof Object&&(P.container=F7({},_.container,D.container)),D.template){var T=oue(D.template)?D.template:document.querySelector(D.template);P.template=T}return _=F7({},_,P),w.forEach(function(M){M.dispatchEvent(rP("medium-zoom:update",{detail:{zoom:E}}))}),E},d=function(){var D=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return e(F7({},_,D))},u=function(){for(var D=arguments.length,P=Array(D),T=0;T0?P.reduce(function(B,I){return[].concat(B,I1t(I))},[]):w;return M.forEach(function(B){B.classList.remove("medium-zoom-image"),B.dispatchEvent(rP("medium-zoom:detach",{detail:{zoom:E}}))}),w=w.filter(function(B){return M.indexOf(B)===-1}),E},g=function(D,P){var T=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return w.forEach(function(M){M.addEventListener("medium-zoom:"+D,P,T)}),O.push({type:"medium-zoom:"+D,listener:P,options:T}),E},m=function(D,P){var T=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return w.forEach(function(M){M.removeEventListener("medium-zoom:"+D,P,T)}),O=O.filter(function(M){return!(M.type==="medium-zoom:"+D&&M.listener.toString()===P.toString())}),E},v=function(){var D=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},P=D.target,T=function(){var B={width:document.documentElement.clientWidth,height:document.documentElement.clientHeight,left:0,top:0,right:0,bottom:0},I=void 0,R=void 0;if(_.container)if(_.container instanceof Object)B=F7({},B,_.container),I=B.width-B.left-B.right-_.margin*2,R=B.height-B.top-B.bottom-_.margin*2;else{var F=oue(_.container)?_.container:document.querySelector(_.container),W=F.getBoundingClientRect(),j=W.width,z=W.height,$=W.left,X=W.top;B=F7({},B,{width:j,height:z,left:$,top:X})}I=I||B.width-_.margin*2,R=R||B.height-_.margin*2;var Z=S.zoomedHd||S.original,oe=R1t(Z)?I:Z.naturalWidth||I,J=R1t(Z)?R:Z.naturalHeight||R,se=Z.getBoundingClientRect(),le=se.top,re=se.left,ue=se.width,ee=se.height,de=Math.min(Math.max(ue,oe),I)/ue,V=Math.min(Math.max(ee,J),R)/ee,q=Math.min(de,V),ne=(-re+(I-ue)/2+_.margin+B.left)/q,te=(-le+(R-ee)/2+_.margin+B.top)/q,Y="scale("+q+") translate3d("+ne+"px, "+te+"px, 0)";S.zoomed.style.transform=Y,S.zoomedHd&&(S.zoomedHd.style.transform=Y)};return new r(function(M){if(P&&w.indexOf(P)===-1){M(E);return}var B=function j(){y=!1,S.zoomed.removeEventListener("transitionend",j),S.original.dispatchEvent(rP("medium-zoom:opened",{detail:{zoom:E}})),M(E)};if(S.zoomed){M(E);return}if(P)S.original=P;else if(w.length>0){var I=w;S.original=I[0]}else{M(E);return}if(S.original.dispatchEvent(rP("medium-zoom:open",{detail:{zoom:E}})),C=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0,y=!0,S.zoomed=axi(S.original),document.body.appendChild(L),_.template){var R=oue(_.template)?_.template:document.querySelector(_.template);S.template=document.createElement("div"),S.template.appendChild(R.content.cloneNode(!0)),document.body.appendChild(S.template)}if(S.original.parentElement&&S.original.parentElement.tagName==="PICTURE"&&S.original.currentSrc&&(S.zoomed.src=S.original.currentSrc),document.body.appendChild(S.zoomed),window.requestAnimationFrame(function(){document.body.classList.add("medium-zoom--opened")}),S.original.classList.add("medium-zoom-image--hidden"),S.zoomed.classList.add("medium-zoom-image--opened"),S.zoomed.addEventListener("click",f),S.zoomed.addEventListener("transitionend",B),S.original.getAttribute("data-zoom-src")){S.zoomedHd=S.zoomed.cloneNode(),S.zoomedHd.removeAttribute("srcset"),S.zoomedHd.removeAttribute("sizes"),S.zoomedHd.removeAttribute("loading"),S.zoomedHd.src=S.zoomed.getAttribute("data-zoom-src"),S.zoomedHd.onerror=function(){clearInterval(F),console.warn("Unable to reach the zoom image target "+S.zoomedHd.src),S.zoomedHd=null,T()};var F=setInterval(function(){S.zoomedHd.complete&&(clearInterval(F),S.zoomedHd.classList.add("medium-zoom-image--opened"),S.zoomedHd.addEventListener("click",f),document.body.appendChild(S.zoomedHd),T())},10)}else if(S.original.hasAttribute("srcset")){S.zoomedHd=S.zoomed.cloneNode(),S.zoomedHd.removeAttribute("sizes"),S.zoomedHd.removeAttribute("loading");var W=S.zoomedHd.addEventListener("load",function(){S.zoomedHd.removeEventListener("load",W),S.zoomedHd.classList.add("medium-zoom-image--opened"),S.zoomedHd.addEventListener("click",f),document.body.appendChild(S.zoomedHd),T()})}else T()})},f=function(){return new r(function(D){if(y||!S.original){D(E);return}var P=function T(){S.original.classList.remove("medium-zoom-image--hidden"),document.body.removeChild(S.zoomed),S.zoomedHd&&document.body.removeChild(S.zoomedHd),document.body.removeChild(L),S.zoomed.classList.remove("medium-zoom-image--opened"),S.template&&document.body.removeChild(S.template),y=!1,S.zoomed.removeEventListener("transitionend",T),S.original.dispatchEvent(rP("medium-zoom:closed",{detail:{zoom:E}})),S.original=null,S.zoomed=null,S.zoomedHd=null,S.template=null,D(E)};y=!0,document.body.classList.remove("medium-zoom--opened"),S.zoomed.style.transform="",S.zoomedHd&&(S.zoomedHd.style.transform=""),S.template&&(S.template.style.transition="opacity 150ms",S.template.style.opacity=0),S.original.dispatchEvent(rP("medium-zoom:close",{detail:{zoom:E}})),S.zoomed.addEventListener("transitionend",P)})},k=function(){var D=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},P=D.target;return S.original?f():v({target:P})},A=function(){return _},p=function(){return w},b=function(){return S.original},w=[],O=[],y=!1,C=0,_=n,S={original:null,zoomed:null,zoomedHd:null,template:null};Object.prototype.toString.call(t)==="[object Object]"?_=t:(t||typeof t=="string")&&u(t),_=F7({margin:0,background:"#fff",scrollOffset:40,container:null,template:null},_);var L=sxi(_.background);document.addEventListener("click",o),document.addEventListener("keyup",a),document.addEventListener("scroll",s),window.addEventListener("resize",f);var E={open:v,close:f,toggle:k,update:l,clone:d,attach:u,detach:h,on:g,off:m,getOptions:A,getImages:p,getZoomedImage:b};return E};function cxi(e,t){t===void 0&&(t={});var n=t.insertAt;if(!(typeof document>"u")){var r=document.head||document.getElementsByTagName("head")[0],o=document.createElement("style");o.type="text/css",n==="top"&&r.firstChild?r.insertBefore(o,r.firstChild):r.appendChild(o),o.styleSheet?o.styleSheet.cssText=e:o.appendChild(document.createTextNode(e))}}var dxi=".medium-zoom-overlay{position:fixed;top:0;right:0;bottom:0;left:0;opacity:0;transition:opacity .3s;will-change:opacity}.medium-zoom--opened .medium-zoom-overlay{cursor:pointer;cursor:zoom-out;opacity:1}.medium-zoom-image{cursor:pointer;cursor:zoom-in;transition:transform .3s cubic-bezier(.2,0,.2,1)!important}.medium-zoom-image--hidden{visibility:hidden}.medium-zoom-image--opened{position:relative;cursor:pointer;cursor:zoom-out;will-change:transform}";cxi(dxi);const Uv={hljs:`${mt}-hljs`,hlcss:`${mt}-hlCss`,prettier:`${mt}-prettier`,prettierMD:`${mt}-prettierMD`,cropperjs:`${mt}-cropper`,croppercss:`${mt}-cropperCss`,screenfull:`${mt}-screenfull`,mermaidM:`${mt}-mermaid-m`,mermaid:`${mt}-mermaid`,katexjs:`${mt}-katex`,katexcss:`${mt}-katexCss`,echarts:`${mt}-echarts`},uxi=(e,t,n)=>{const{editorId:r}=n,o=hs({buildFinished:!1,html:""});pt(()=>e.modelValue,()=>{o.buildFinished=!1}),vn(()=>{Fn.on(r,{name:tue,callback(s){o.buildFinished=!0,o.html=s}}),Fn.on(r,{name:G4e,callback(){const s=new Promise(a=>{if(o.buildFinished)a(o.html);else{const l=d=>{a(d),Fn.remove(r,tue,l)};Fn.on(r,{name:tue,callback:l})}});e.onSave?e.onSave(e.modelValue,s):t.emit("onSave",e.modelValue,s)}})})},MOn=(e,{editorId:t,rootRef:n,setting:r})=>{const o=dh.editorExtensions.highlight,s=dh.editorExtensionsAttrs.highlight;Yi("editorId",t),Yi("rootRef",n),Yi("theme",G(()=>e.theme)),Yi("language",G(()=>e.language)),Yi("highlight",G(()=>{const{js:l}=o,d={...dMe,...o.css},{js:u,css:h={}}=s||{},g=e.codeStyleReverse&&e.codeStyleReverseList.includes(e.previewTheme)?"dark":e.theme,m=d[e.codeTheme]?d[e.codeTheme][g]:dMe.atom[g],v=d[e.codeTheme]&&h[e.codeTheme]?h[e.codeTheme][g]:h.atom?h.atom[g]:{};return{js:{src:l,...u},css:{href:m,...v}}})),Yi("showCodeRowNumber",e.showCodeRowNumber);const a=G(()=>{const l={...o1t,...dh.editorConfig.languageUserDefined};return X4e(fG(o1t["en-US"]),l[e.language]||{})});return Yi("usedLanguageText",a),Yi("previewTheme",G(()=>e.previewTheme)),Yi("customIcon",G(()=>e.customIcon)),Yi("setting",G(()=>r?{...r}:{preview:!0,htmlPreview:!1,previewOnly:!1,pageFullscreen:!1,fullscreen:!1})),{editorId:t}},hxi=(e,t)=>(Yi("tabWidth",e.tabWidth),Yi("disabled",G(()=>e.disabled)),Yi("showToolbarName",G(()=>e.showToolbarName)),Yi("noUploadImg",e.noUploadImg),Yi("tableShape",G(()=>e.tableShape)),Yi("noPrettier",e.noPrettier),Yi("codeTheme",G(()=>e.codeTheme)),Yi("updateSetting",t.updateSetting),Yi("catalogVisible",G(()=>t.catalogVisible.value)),Yi("defToolbars",t.defToolbars),Yi("floatingToolbars",G(()=>e.floatingToolbars)),MOn(e,t)),fxi=e=>{const{noPrettier:t,noUploadImg:n}=e,{editorExtensions:r,editorExtensionsAttrs:o}=dh,s=t||r.prettier.prettierInstance,a=t||r.prettier.parserMarkdownInstance,l=n||r.cropper.instance;vn(()=>{if(!l){const{js:d={},css:u={}}=o.cropper||{};Nv("link",{...u,rel:"stylesheet",href:r.cropper.css,id:Uv.croppercss}),Nv("script",{...d,src:r.cropper.js,id:Uv.cropperjs})}if(!s){const{standaloneJs:d={}}=o.prettier||{};Nv("script",{...d,src:r.prettier.standaloneJs,id:Uv.prettier})}if(!a){const{parserMarkdownJs:d={}}=o.prettier||{};Nv("script",{...d,src:r.prettier.parserMarkdownJs,id:Uv.prettierMD})}})},gxi=(e,t,n)=>{const{editorId:r}=n;vn(()=>{Fn.on(r,{name:wy,callback:o=>{var s;(s=e.onError)==null||s.call(e,o),t.emit("onError",o)}})})},mxi=(e,t,n)=>{const{editorId:r}=n,o=hs({pageFullscreen:e.pageFullscreen,fullscreen:!1,preview:e.preview,htmlPreview:e.preview?!1:e.htmlPreview,previewOnly:!1}),s=hs({...o}),a=(u,h)=>{const g=h===void 0?!o[u]:h;switch(u){case"preview":{o.htmlPreview=!1,o.previewOnly=!1;break}case"htmlPreview":{o.preview=!1,o.previewOnly=!1;break}case"previewOnly":{g?!o.preview&&!o.htmlPreview&&(o.preview=!0):(s.preview||(o.preview=!1),s.htmlPreview||(o.htmlPreview=!1));break}}s[u]=g,o[u]=g};let l="";const d=()=>{o.pageFullscreen||o.fullscreen?document.body.style.overflow="hidden":document.body.style.overflow=l};return pt(()=>[o.pageFullscreen,o.fullscreen],d),vn(()=>{Fn.on(r,{name:Y4e,callback(u,h){const g=m=>{Fn.emit(r,Eo,"image",{desc:"",urls:m}),h==null||h()};e.onUploadImg?e.onUploadImg(u,g):t.emit("onUploadImg",u,g)}}),l=document.body.style.overflow,d()}),[o,a]},kxi=(e,t)=>{const{editorId:n}=t,r=he(!1);return vn(()=>{Fn.on(n,{name:UZe,callback:o=>{o===void 0?r.value=!r.value:r.value=o}})}),r},vxi=(e,t,n)=>{const{editorId:r,catalogVisible:o,setting:s,updateSetting:a,codeRef:l}=n;pt(()=>s.pageFullscreen,u=>{Fn.emit(r,s1t,u)}),pt(()=>s.fullscreen,u=>{Fn.emit(r,a1t,u)}),pt(()=>s.preview,u=>{Fn.emit(r,l1t,u)}),pt(()=>s.previewOnly,u=>{Fn.emit(r,c1t,u)}),pt(()=>s.htmlPreview,u=>{Fn.emit(r,d1t,u)}),pt(o,u=>{Fn.emit(r,u1t,u)});const d={on(u,h){switch(u){case"pageFullscreen":{Fn.on(r,{name:s1t,callback(g){h(g)}});break}case"fullscreen":{Fn.on(r,{name:a1t,callback(g){h(g)}});break}case"preview":{Fn.on(r,{name:l1t,callback(g){h(g)}});break}case"previewOnly":{Fn.on(r,{name:c1t,callback(g){h(g)}});break}case"htmlPreview":{Fn.on(r,{name:d1t,callback(g){h(g)}});break}case"catalog":{Fn.on(r,{name:u1t,callback(g){h(g)}});break}}},togglePageFullscreen(u){a("pageFullscreen",u)},toggleFullscreen(u){Fn.emit(r,Zwn,u)},togglePreview(u){a("preview",u)},togglePreviewOnly(u){a("previewOnly",u)},toggleHtmlPreview(u){a("htmlPreview",u)},toggleCatalog(u){Fn.emit(r,UZe,u)},triggerSave(){Fn.emit(r,G4e)},insert(u){Fn.emit(r,Eo,"universal",{generate:u})},focus(u){var h;(h=l.value)==null||h.focus(u)},rerender(){Fn.emit(r,jZe)},getSelectedText(){var u;return(u=l.value)==null?void 0:u.getSelectedText()},resetHistory(){var u;(u=l.value)==null||u.resetHistory()},domEventHandlers(u){Fn.emit(r,eOn,u)},execCommand(u){Fn.emit(r,Eo,u)},getEditorView(){var u;return(u=l.value)==null?void 0:u.getEditorView()}};t.expose(d)},POn=e=>{const t=jii();return e.id||e.editorId||`${mt}-${t}`},Axi=(e,t,n)=>{const r=bt("editorId"),o=bt("rootRef"),s=bt("usedLanguageText"),a=bt("setting"),l=()=>{o.value.querySelectorAll(`#${r} .${mt}-preview .${mt}-code`).forEach(h=>{let g=-1;const m=h.querySelector(`.${mt}-copy-button:not([data-processed])`);m&&(m.onclick=v=>{v.preventDefault(),clearTimeout(g);const f=(h.querySelector("input:checked + pre code")||h.querySelector("pre code")).textContent,{text:k,successTips:A,failTips:p}=s.value.copyCode;let b=A;rOn(e.formatCopiedText(f||"")).catch(()=>{b=p}).finally(()=>{m.dataset.isIcon?m.dataset.tips=b:m.innerHTML=b,g=window.setTimeout(()=>{m.dataset.isIcon?m.dataset.tips=k:m.innerHTML=k},1500)})},m.setAttribute("data-processed","true"))})},d=()=>{li(l)},u=h=>{h&&li(l)};pt([t,n],d),pt(()=>a.value.preview,u),pt(()=>a.value.htmlPreview,u),vn(l)},pxi=e=>{const t=bt("editorId"),n=bt("theme"),r=bt("rootRef"),{editorExtensions:o,editorExtensionsAttrs:s}=dh;let a=o.echarts.instance;const l=id(-1),d=()=>{!e.noEcharts&&a&&(l.value=l.value+1)};pt(()=>n.value,()=>{d()}),vn(()=>{var k;if(e.noEcharts||a)return;const f=o.echarts.js;Nv("script",{...(k=s.echarts)==null?void 0:k.js,src:f,id:Uv.echarts,onload(){a=window.echarts,d()}},"echarts")});let u=[],h=[],g=[];const m=(f=!1)=>{if(!u.length){f&&(h.forEach(b=>{var w;(w=b.dispose)==null||w.call(b)}),g.forEach(b=>{var w;(w=b.disconnect)==null||w.call(b)}),h=[],g=[]);return}const k=[],A=[],p=[];u.forEach((b,w)=>{var C,_;const O=h[w],y=g[w];if(f||!b||!b.isConnected||r!=null&&r.value&&!r.value.contains(b)){(C=O==null?void 0:O.dispose)==null||C.call(O),(_=y==null?void 0:y.disconnect)==null||_.call(y);return}k.push(b),O&&A.push(O),y&&p.push(y)}),u=k,h=A,g=p},v=()=>{m(),!e.noEcharts&&a&&Array.from(r.value.querySelectorAll(`#${t} div.${mt}-echarts:not([data-processed])`)).forEach(f=>{if(f.dataset.closed==="false")return!1;try{const k=new Function(`return ${f.innerText}`)(),A=a.init(f,n.value);A.setOption(k),f.setAttribute("data-processed",""),u.push(f),h.push(A);const p=new ResizeObserver(()=>{A.resize()});p.observe(f),g.push(p)}catch(k){Fn.emit(t,wy,{name:"echarts",message:k==null?void 0:k.message,error:k})}})};return qs(()=>{m(!0)}),{reRenderEcharts:l,replaceEcharts:v}},bxi=e=>{const t=bt("highlight"),n=id(dh.editorExtensions.highlight.instance);return vn(()=>{e.noHighlight||n.value||(Nv("link",{...t.value.css,rel:"stylesheet",id:Uv.hlcss}),Nv("script",{...t.value.js,id:Uv.hljs,onload(){n.value=window.hljs}},"hljs"))}),pt(()=>t.value.css,()=>{e.noHighlight||dh.editorExtensions.highlight.instance||r8i("link",{...t.value.css,rel:"stylesheet",id:Uv.hlcss})}),n},wxi=e=>{const t=id(dh.editorExtensions.katex.instance);return vn(()=>{var o,s;if(e.noKatex||t.value)return;const{editorExtensions:n,editorExtensionsAttrs:r}=dh;Nv("script",{...(o=r.katex)==null?void 0:o.js,src:n.katex.js,id:Uv.katexjs,onload(){t.value=window.katex}},"katex"),Nv("link",{...(s=r.katex)==null?void 0:s.css,rel:"stylesheet",href:n.katex.css,id:Uv.katexcss})}),t},sue=new rxi({max:1e3,ttl:6e5}),Oxi=e=>{const t=bt("editorId"),n=bt("theme"),r=bt("rootRef"),{editorExtensions:o,editorExtensionsAttrs:s,mermaidConfig:a}=dh;let l=o.mermaid.instance;const d=id(-1),u=()=>{if(!e.noMermaid&&l){const h=n.value==="dark"?{startOnLoad:!1,theme:"dark"}:{startOnLoad:!1,theme:"base",themeVariables:{background:"#ffffff",primaryColor:"#ffffff",primaryTextColor:"#1f2329",primaryBorderColor:"#b7c0cc",secondaryColor:"#f7f8fa",tertiaryColor:"#f7f8fa",lineColor:"#596273",edgeLabelBackground:"#ffffff",clusterBkg:"#ffffff",clusterBorder:"#b7c0cc"}};l.initialize(a(h)),d.value=d.value+1}};return pt(()=>n.value,()=>{sue.clear(),u()}),vn(()=>{var g,m;if(e.noMermaid||l)return;const h=o.mermaid.js;/\.mjs/.test(h)?(Nv("link",{...(g=s.mermaid)==null?void 0:g.js,rel:"modulepreload",href:h,id:Uv.mermaidM}),import(h).then(v=>{l=v.default,u()}).catch(v=>{Fn.emit(t,wy,{name:"mermaid",message:`Failed to load mermaid module: ${v.message}`,error:v})})):Nv("script",{...(m=s.mermaid)==null?void 0:m.js,src:h,id:Uv.mermaid,onload(){l=window.mermaid,u()}},"mermaid")}),{reRenderRef:d,replaceMermaid:async()=>{if(!e.noMermaid&&l){const h=r.value.querySelectorAll(`div.${mt}-mermaid`),g=document.createElement("div"),m=document.body.offsetWidth>1366?document.body.offsetWidth:1366,v=document.body.offsetHeight>768?document.body.offsetHeight:768;g.style.width=m+"px",g.style.height=v+"px",g.style.position="fixed",g.style.zIndex="-10000",g.style.top="-10000";let f=h.length;f>0&&document.body.appendChild(g),await Promise.allSettled(Array.from(h).map(k=>(async A=>{var w;if(A.dataset.closed==="false")return!1;const p=A.innerText;let b=sue.get(p);if(!b){const O=lMe();let y={svg:""};try{y=await l.render(O,p,g),b=await e.sanitizeMermaid(y.svg);const C=document.createElement("p");C.className=`${mt}-mermaid`,C.setAttribute("data-processed",""),C.setAttribute("data-content",p),C.innerHTML=b,(w=C.children[0])==null||w.removeAttribute("height"),sue.set(p,C.innerHTML),A.dataset.line!==void 0&&(C.dataset.line=A.dataset.line),A.replaceWith(C)}catch(C){Fn.emit(t,wy,{name:"mermaid",message:C.message,error:C})}--f===0&&g.remove()}})(k)))}}}},yxi=(e,t)=>{t=t||{};const n=3,r=t.marker||"!",o=r.charCodeAt(0),s=r.length;let a="",l="";const d=(h,g,m,v,f)=>{const k=h[g];return k.type==="admonition_open"?h[g].attrPush(["class",`${mt}-admonition ${mt}-admonition-${k.info}`]):k.type==="admonition_title_open"&&h[g].attrPush(["class",`${mt}-admonition-title`]),f.renderToken(h,g,m)},u=h=>{const g=h.trim().split(" ",2);l="",a=g[0],g.length>1&&(l=h.substring(a.length+2))};e.block.ruler.before("code","admonition",(h,g,m,v)=>{let f,k,A,p=!1,b=h.bMarks[g]+h.tShift[g],w=h.eMarks[g];if(o!==h.src.charCodeAt(b))return!1;for(f=b+1;f<=w&&r[(f-b)%s]===h.src[f];f++);const O=Math.floor((f-b)/s);if(O!==n)return!1;f-=(f-b)%s;const y=h.src.slice(b,f),C=h.src.slice(f,w);if(u(C),v)return!0;for(k=g;k++,!(k>=m||(b=h.bMarks[k]+h.tShift[k],w=h.eMarks[k],b=4)){for(f=b+1;f<=w&&r[(f-b)%s]===h.src[f];f++);if(!(Math.floor((f-b)/s){const n=e.attrs?e.attrs.slice():[];return t.forEach(r=>{const o=e.attrIndex(r[0]);o<0?n.push(r):(n[o]=n[o].slice(),n[o][1]+=` ${r[1]}`)}),n},Cxi=(e,t)=>{const n=e.renderer.rules.fence,r=e.utils.unescapeAll,o=/\[(\w*)(?::([\w ]*))?\]/,s=/::(open|close)/,a=g=>g.info?r(g.info).trim():"",l=g=>{const m=a(g),[v=null,f=""]=(o.exec(m)||[]).slice(1);return[v,f]},d=g=>{const m=a(g);return m?m.split(/(\s+)/g)[0]:""},u=g=>{const m=g.info.match(s)||[],v=m[1]==="open"||m[1]!=="close"&&t.codeFoldable&&g.content.trim().split(`
`).length{var I;if(g[m].hidden)return"";const A=(I=t.usedLanguageTextRef.value)==null?void 0:I.copyCode.text,p=t.customIconRef.value.copy||A,b=!!t.customIconRef.value.copy,w=`${pO("collapse-tips",t.customIconRef.value)}`,[O]=l(g[m]);if(O===null){const{open:R,tagContainer:F,tagHeader:W}=u(g[m]),j=[["class",`${mt}-code`]];R&&j.push(["open",""]);const z={attrs:pMe(g[m],j)};g[m].info=g[m].info.replace(s,"");const $=n(g,m,v,f,k);return`
@@ -1783,12 +1783,12 @@ See: https://github.com/francoischalifour/medium-zoom`)}},sxi=function(t){var n=
`,this;t--}else if(o instanceof ih){let d=o.text[a+(n<0?-1:0)];if(this.offsets[r]+=n,d.length>Math.max(0,t))return this.value=t==0?d:n>0?d.slice(t):d.slice(0,d.length-t),this;t-=d.length}else{let d=o.children[a+(n<0?-1:0)];t>d.length?(t-=d.length,this.offsets[r]+=n):(n<0&&this.offsets[r]--,this.nodes.push(d),this.offsets.push(n>0?1:(d instanceof ih?d.text.length:d.children.length)<<1))}}}next(t=0){return t<0&&(this.nextInner(-t,-this.dir),t=this.value.length),this.nextInner(t,this.dir)}}class XOn{constructor(t,n,r){this.value="",this.done=!1,this.cursor=new FY(t,n>r?-1:1),this.pos=n>r?t.length:0,this.from=Math.min(n,r),this.to=Math.max(n,r)}nextInner(t,n){if(n<0?this.pos<=this.from:this.pos>=this.to)return this.value="",this.done=!0,this;t+=Math.max(0,n<0?this.pos-this.to:this.from-this.pos);let r=n<0?this.pos-this.from:this.to-this.pos;t>r&&(t=r),r-=t;let{value:o}=this.cursor.next(t);return this.pos+=(o.length+t)*n,this.value=o.length<=r?o:n<0?o.slice(o.length-r):o.slice(0,r),this.done=!this.value,this}next(t=0){return t<0?t=Math.max(t,this.from-this.pos):t>0&&(t=Math.min(t,this.to-this.pos)),this.nextInner(t,this.cursor.dir)}get lineBreak(){return this.cursor.lineBreak&&this.value!=""}}class GOn{constructor(t){this.inner=t,this.afterBreak=!0,this.value="",this.done=!1}next(t=0){let{done:n,lineBreak:r,value:o}=this.inner.next(t);return n&&this.afterBreak?(this.value="",this.afterBreak=!1):n?(this.done=!0,this.value=""):r?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=o,this.afterBreak=!1),this}get lineBreak(){return!1}}typeof Symbol<"u"&&(dl.prototype[Symbol.iterator]=function(){return this.iter()},FY.prototype[Symbol.iterator]=XOn.prototype[Symbol.iterator]=GOn.prototype[Symbol.iterator]=function(){return this});let X9i=class{constructor(t,n,r,o){this.from=t,this.to=n,this.number=r,this.text=o}get length(){return this.to-this.from}};function OW(e,t,n){return t=Math.max(0,Math.min(e.length,t)),[t,Math.max(t,Math.min(e.length,n))]}function pg(e,t,n=!0,r=!0){return z9i(e,t,n,r)}function G9i(e){return e>=56320&&e<57344}function Y9i(e){return e>=55296&&e<56320}function q5(e,t){let n=e.charCodeAt(t);if(!Y9i(n)||t+1==e.length)return n;let r=e.charCodeAt(t+1);return G9i(r)?(n-55296<<10)+(r-56320)+65536:n}function YOn(e){return e<=65535?String.fromCharCode(e):(e-=65536,String.fromCharCode((e>>10)+55296,(e&1023)+56320))}function hT(e){return e<65536?1:2}const wMe=/\r\n?|\n/;var f0=function(e){return e[e.Simple=0]="Simple",e[e.TrackDel=1]="TrackDel",e[e.TrackBefore=2]="TrackBefore",e[e.TrackAfter=3]="TrackAfter",e}(f0||(f0={}));class oy{constructor(t){this.sections=t}get length(){let t=0;for(let n=0;nt)return s+(t-o);s+=l}else{if(r!=f0.Simple&&u>=t&&(r==f0.TrackDel&&ot||r==f0.TrackBefore&&ot))return null;if(u>t||u==t&&n<0&&!l)return t==o||n<0?s:s+d;s+=d}o=u}if(t>o)throw new RangeError(`Position ${t} is out of range for changeset of length ${o}`);return s}touchesRange(t,n=t){for(let r=0,o=0;r