diff --git a/.vitepress/dist/404.html b/.vitepress/dist/404.html index e0dda88..a388959 100644 --- a/.vitepress/dist/404.html +++ b/.vitepress/dist/404.html @@ -8,14 +8,14 @@ - +
- + \ No newline at end of file diff --git a/.vitepress/dist/README.html b/.vitepress/dist/README.html index e25d98d..9154c3f 100644 --- a/.vitepress/dist/README.html +++ b/.vitepress/dist/README.html @@ -8,17 +8,17 @@ - + - - - + + +
Skip to content

介绍 ​

这是 Cool Admin(Java 版)的在线文档仓库,我们会尽力完善文档。也希望广大开发者粉丝帮助完善文档,积极提交Pull requests,共同参与开源,你的贡献可能给其他人代码巨大的帮助

地址 ​

- + \ No newline at end of file diff --git a/.vitepress/dist/assets/README.md.4Jyv89Qb.js b/.vitepress/dist/assets/README.md.OcZ1dgrk.js similarity index 89% rename from .vitepress/dist/assets/README.md.4Jyv89Qb.js rename to .vitepress/dist/assets/README.md.OcZ1dgrk.js index 63284ae..3f80f12 100644 --- a/.vitepress/dist/assets/README.md.4Jyv89Qb.js +++ b/.vitepress/dist/assets/README.md.OcZ1dgrk.js @@ -1 +1 @@ -import{_ as a,c as e,o as t,a4 as o}from"./chunks/framework.DHgIdERs.js";const f=JSON.parse('{"title":"介绍","description":"","frontmatter":{},"headers":[],"relativePath":"README.md","filePath":"README.md","lastUpdated":1720594161000}'),r={name:"README.md"},l=o('

介绍 ​

这是 Cool Admin(Java 版)的在线文档仓库,我们会尽力完善文档。也希望广大开发者粉丝帮助完善文档,积极提交Pull requests,共同参与开源,你的贡献可能给其他人代码巨大的帮助

地址 ​

',4),s=[l];function c(n,i,_,d,h,p){return t(),e("div",null,s)}const u=a(r,[["render",c]]);export{f as __pageData,u as default}; +import{_ as a,c as e,o as t,a4 as o}from"./chunks/framework.BZ5u8Vj7.js";const f=JSON.parse('{"title":"介绍","description":"","frontmatter":{},"headers":[],"relativePath":"README.md","filePath":"README.md","lastUpdated":1720594161000}'),r={name:"README.md"},l=o('

介绍 ​

这是 Cool Admin(Java 版)的在线文档仓库,我们会尽力完善文档。也希望广大开发者粉丝帮助完善文档,积极提交Pull requests,共同参与开源,你的贡献可能给其他人代码巨大的帮助

地址 ​

',4),s=[l];function c(n,i,_,d,h,p){return t(),e("div",null,s)}const u=a(r,[["render",c]]);export{f as __pageData,u as default}; diff --git a/.vitepress/dist/assets/README.md.4Jyv89Qb.lean.js b/.vitepress/dist/assets/README.md.OcZ1dgrk.lean.js similarity index 67% rename from .vitepress/dist/assets/README.md.4Jyv89Qb.lean.js rename to .vitepress/dist/assets/README.md.OcZ1dgrk.lean.js index 05818aa..4a60b6b 100644 --- a/.vitepress/dist/assets/README.md.4Jyv89Qb.lean.js +++ b/.vitepress/dist/assets/README.md.OcZ1dgrk.lean.js @@ -1 +1 @@ -import{_ as a,c as e,o as t,a4 as o}from"./chunks/framework.DHgIdERs.js";const f=JSON.parse('{"title":"介绍","description":"","frontmatter":{},"headers":[],"relativePath":"README.md","filePath":"README.md","lastUpdated":1720594161000}'),r={name:"README.md"},l=o("",4),s=[l];function c(n,i,_,d,h,p){return t(),e("div",null,s)}const u=a(r,[["render",c]]);export{f as __pageData,u as default}; +import{_ as a,c as e,o as t,a4 as o}from"./chunks/framework.BZ5u8Vj7.js";const f=JSON.parse('{"title":"介绍","description":"","frontmatter":{},"headers":[],"relativePath":"README.md","filePath":"README.md","lastUpdated":1720594161000}'),r={name:"README.md"},l=o("",4),s=[l];function c(n,i,_,d,h,p){return t(),e("div",null,s)}const u=a(r,[["render",c]]);export{f as __pageData,u as default}; diff --git a/.vitepress/dist/assets/app.XQN7LwZ5.js b/.vitepress/dist/assets/app.Vqm78vzn.js similarity index 90% rename from .vitepress/dist/assets/app.XQN7LwZ5.js rename to .vitepress/dist/assets/app.Vqm78vzn.js index 173900c..99c0eb6 100644 --- a/.vitepress/dist/assets/app.XQN7LwZ5.js +++ b/.vitepress/dist/assets/app.Vqm78vzn.js @@ -1 +1 @@ -import{U as o,ab as p,ac as u,ad as l,ae as c,af as f,ag as d,ah as m,ai as h,aj as g,ak as A,d as P,u as v,y,x as w,al as C,am as R,an as b,ao as E}from"./chunks/framework.DHgIdERs.js";import{R as S}from"./chunks/theme.4IiZwtXC.js";function i(e){if(e.extends){const a=i(e.extends);return{...a,...e,async enhanceApp(t){a.enhanceApp&&await a.enhanceApp(t),e.enhanceApp&&await e.enhanceApp(t)}}}return e}const s=i(S),T=P({name:"VitePressApp",setup(){const{site:e,lang:a,dir:t}=v();return y(()=>{w(()=>{document.documentElement.lang=a.value,document.documentElement.dir=t.value})}),e.value.router.prefetchLinks&&C(),R(),b(),s.setup&&s.setup(),()=>E(s.Layout)}});async function _(){globalThis.__VITEPRESS__=!0;const e=x(),a=j();a.provide(u,e);const t=l(e.route);return a.provide(c,t),a.component("Content",f),a.component("ClientOnly",d),Object.defineProperties(a.config.globalProperties,{$frontmatter:{get(){return t.frontmatter.value}},$params:{get(){return t.page.value.params}}}),s.enhanceApp&&await s.enhanceApp({app:a,router:e,siteData:m}),{app:a,router:e,data:t}}function j(){return h(T)}function x(){let e=o,a;return g(t=>{let n=A(t),r=null;return n&&(e&&(a=n),(e||a===n)&&(n=n.replace(/\.js$/,".lean.js")),r=import(n)),o&&(e=!1),r},s.NotFound)}o&&_().then(({app:e,router:a,data:t})=>{a.go().then(()=>{p(a.route,t.site),e.mount("#app")})});export{_ as createApp}; +import{U as o,ab as p,ac as u,ad as l,ae as c,af as f,ag as d,ah as m,ai as h,aj as g,ak as A,d as P,u as v,y,x as w,al as C,am as R,an as b,ao as E}from"./chunks/framework.BZ5u8Vj7.js";import{R as S}from"./chunks/theme.JaXF9rxx.js";function i(e){if(e.extends){const a=i(e.extends);return{...a,...e,async enhanceApp(t){a.enhanceApp&&await a.enhanceApp(t),e.enhanceApp&&await e.enhanceApp(t)}}}return e}const s=i(S),T=P({name:"VitePressApp",setup(){const{site:e,lang:a,dir:t}=v();return y(()=>{w(()=>{document.documentElement.lang=a.value,document.documentElement.dir=t.value})}),e.value.router.prefetchLinks&&C(),R(),b(),s.setup&&s.setup(),()=>E(s.Layout)}});async function _(){globalThis.__VITEPRESS__=!0;const e=x(),a=j();a.provide(u,e);const t=l(e.route);return a.provide(c,t),a.component("Content",f),a.component("ClientOnly",d),Object.defineProperties(a.config.globalProperties,{$frontmatter:{get(){return t.frontmatter.value}},$params:{get(){return t.page.value.params}}}),s.enhanceApp&&await s.enhanceApp({app:a,router:e,siteData:m}),{app:a,router:e,data:t}}function j(){return h(T)}function x(){let e=o,a;return g(t=>{let n=A(t),r=null;return n&&(e&&(a=n),(e||a===n)&&(n=n.replace(/\.js$/,".lean.js")),r=import(n)),o&&(e=!1),r},s.NotFound)}o&&_().then(({app:e,router:a,data:t})=>{a.go().then(()=>{p(a.route,t.site),e.mount("#app")})});export{_ as createApp}; diff --git a/.vitepress/dist/assets/chunks/VPLocalSearchBox.wwHTyTvd.js b/.vitepress/dist/assets/chunks/VPLocalSearchBox.DKxsIXXL.js similarity index 99% rename from .vitepress/dist/assets/chunks/VPLocalSearchBox.wwHTyTvd.js rename to .vitepress/dist/assets/chunks/VPLocalSearchBox.DKxsIXXL.js index 391d909..0fc5517 100644 --- a/.vitepress/dist/assets/chunks/VPLocalSearchBox.wwHTyTvd.js +++ b/.vitepress/dist/assets/chunks/VPLocalSearchBox.DKxsIXXL.js @@ -1,4 +1,4 @@ -var Nt=Object.defineProperty;var It=(o,e,t)=>e in o?Nt(o,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):o[e]=t;var Oe=(o,e,t)=>It(o,typeof e!="symbol"?e+"":e,t);import{X as Dt,s as oe,v as $e,ap as kt,aq as Ot,d as Rt,G as xe,ar as tt,h as Fe,as as _t,at as Mt,x as Lt,au as zt,y as Re,R as de,Q as Ee,av as Pt,aw as Bt,Y as Vt,U as $t,a1 as Wt,o as ee,b as Kt,j as k,a2 as Jt,k as j,ax as Ut,ay as jt,az as Gt,c as re,n as rt,e as Se,E as at,F as nt,a as ve,t as pe,aA as Qt,p as qt,l as Ht,aB as it,aC as Yt,ae as Zt,ak as Xt,aD as er,_ as tr}from"./framework.DHgIdERs.js";import{u as rr,c as ar}from"./theme.4IiZwtXC.js";const nr={root:()=>Dt(()=>import("./@localSearchIndexroot.BNKAsWwB.js"),[])};/*! +var Nt=Object.defineProperty;var It=(o,e,t)=>e in o?Nt(o,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):o[e]=t;var Oe=(o,e,t)=>It(o,typeof e!="symbol"?e+"":e,t);import{X as Dt,s as oe,v as $e,ap as kt,aq as Ot,d as Rt,G as xe,ar as tt,h as Fe,as as _t,at as Mt,x as Lt,au as zt,y as Re,R as de,Q as Ee,av as Pt,aw as Bt,Y as Vt,U as $t,a1 as Wt,o as ee,b as Kt,j as k,a2 as Jt,k as j,ax as Ut,ay as jt,az as Gt,c as re,n as rt,e as Se,E as at,F as nt,a as ve,t as pe,aA as Qt,p as qt,l as Ht,aB as it,aC as Yt,ae as Zt,ak as Xt,aD as er,_ as tr}from"./framework.BZ5u8Vj7.js";import{u as rr,c as ar}from"./theme.JaXF9rxx.js";const nr={root:()=>Dt(()=>import("./@localSearchIndexroot.BNKAsWwB.js"),[])};/*! * tabbable 6.2.0 * @license MIT, https://github.com/focus-trap/tabbable/blob/master/LICENSE */var yt=["input:not([inert])","select:not([inert])","textarea:not([inert])","a[href]:not([inert])","button:not([inert])","[tabindex]:not(slot):not([inert])","audio[controls]:not([inert])","video[controls]:not([inert])",'[contenteditable]:not([contenteditable="false"]):not([inert])',"details>summary:first-of-type:not([inert])","details:not([inert])"],Ce=yt.join(","),mt=typeof Element>"u",ue=mt?function(){}:Element.prototype.matches||Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector,Ne=!mt&&Element.prototype.getRootNode?function(o){var e;return o==null||(e=o.getRootNode)===null||e===void 0?void 0:e.call(o)}:function(o){return o==null?void 0:o.ownerDocument},Ie=function o(e,t){var r;t===void 0&&(t=!0);var n=e==null||(r=e.getAttribute)===null||r===void 0?void 0:r.call(e,"inert"),a=n===""||n==="true",i=a||t&&e&&o(e.parentNode);return i},ir=function(e){var t,r=e==null||(t=e.getAttribute)===null||t===void 0?void 0:t.call(e,"contenteditable");return r===""||r==="true"},gt=function(e,t,r){if(Ie(e))return[];var n=Array.prototype.slice.apply(e.querySelectorAll(Ce));return t&&ue.call(e,Ce)&&n.unshift(e),n=n.filter(r),n},bt=function o(e,t,r){for(var n=[],a=Array.from(e);a.length;){var i=a.shift();if(!Ie(i,!1))if(i.tagName==="SLOT"){var s=i.assignedElements(),u=s.length?s:i.children,l=o(u,!0,r);r.flatten?n.push.apply(n,l):n.push({scopeParent:i,candidates:l})}else{var h=ue.call(i,Ce);h&&r.filter(i)&&(t||!e.includes(i))&&n.push(i);var d=i.shadowRoot||typeof r.getShadowRoot=="function"&&r.getShadowRoot(i),v=!Ie(d,!1)&&(!r.shadowRootFilter||r.shadowRootFilter(i));if(d&&v){var y=o(d===!0?i.children:d.children,!0,r);r.flatten?n.push.apply(n,y):n.push({scopeParent:i,candidates:y})}else a.unshift.apply(a,i.children)}}return n},wt=function(e){return!isNaN(parseInt(e.getAttribute("tabindex"),10))},se=function(e){if(!e)throw new Error("No node provided");return e.tabIndex<0&&(/^(AUDIO|VIDEO|DETAILS)$/.test(e.tagName)||ir(e))&&!wt(e)?0:e.tabIndex},or=function(e,t){var r=se(e);return r<0&&t&&!wt(e)?0:r},sr=function(e,t){return e.tabIndex===t.tabIndex?e.documentOrder-t.documentOrder:e.tabIndex-t.tabIndex},xt=function(e){return e.tagName==="INPUT"},ur=function(e){return xt(e)&&e.type==="hidden"},lr=function(e){var t=e.tagName==="DETAILS"&&Array.prototype.slice.apply(e.children).some(function(r){return r.tagName==="SUMMARY"});return t},cr=function(e,t){for(var r=0;rsummary:first-of-type"),i=a?e.parentElement:e;if(ue.call(i,"details:not([open]) *"))return!0;if(!r||r==="full"||r==="legacy-full"){if(typeof n=="function"){for(var s=e;e;){var u=e.parentElement,l=Ne(e);if(u&&!u.shadowRoot&&n(u)===!0)return ot(e);e.assignedSlot?e=e.assignedSlot:!u&&l!==e.ownerDocument?e=l.host:e=u}e=s}if(vr(e))return!e.getClientRects().length;if(r!=="legacy-full")return!0}else if(r==="non-zero-area")return ot(e);return!1},yr=function(e){if(/^(INPUT|BUTTON|SELECT|TEXTAREA)$/.test(e.tagName))for(var t=e.parentElement;t;){if(t.tagName==="FIELDSET"&&t.disabled){for(var r=0;r=0)},gr=function o(e){var t=[],r=[];return e.forEach(function(n,a){var i=!!n.scopeParent,s=i?n.scopeParent:n,u=or(s,i),l=i?o(n.candidates):s;u===0?i?t.push.apply(t,l):t.push(s):r.push({documentOrder:a,tabIndex:u,item:n,isScope:i,content:l})}),r.sort(sr).reduce(function(n,a){return a.isScope?n.push.apply(n,a.content):n.push(a.content),n},[]).concat(t)},br=function(e,t){t=t||{};var r;return t.getShadowRoot?r=bt([e],t.includeContainer,{filter:We.bind(null,t),flatten:!1,getShadowRoot:t.getShadowRoot,shadowRootFilter:mr}):r=gt(e,t.includeContainer,We.bind(null,t)),gr(r)},wr=function(e,t){t=t||{};var r;return t.getShadowRoot?r=bt([e],t.includeContainer,{filter:De.bind(null,t),flatten:!0,getShadowRoot:t.getShadowRoot}):r=gt(e,t.includeContainer,De.bind(null,t)),r},le=function(e,t){if(t=t||{},!e)throw new Error("No node provided");return ue.call(e,Ce)===!1?!1:We(t,e)},xr=yt.concat("iframe").join(","),_e=function(e,t){if(t=t||{},!e)throw new Error("No node provided");return ue.call(e,xr)===!1?!1:De(t,e)};/*! diff --git a/.vitepress/dist/assets/chunks/framework.DHgIdERs.js b/.vitepress/dist/assets/chunks/framework.BZ5u8Vj7.js similarity index 74% rename from .vitepress/dist/assets/chunks/framework.DHgIdERs.js rename to .vitepress/dist/assets/chunks/framework.BZ5u8Vj7.js index 7abac5a..c0bc6a6 100644 --- a/.vitepress/dist/assets/chunks/framework.DHgIdERs.js +++ b/.vitepress/dist/assets/chunks/framework.BZ5u8Vj7.js @@ -14,4 +14,4 @@ * @vue/runtime-dom v3.4.31 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/const Nc="http://www.w3.org/2000/svg",Fc="http://www.w3.org/1998/Math/MathML",Ve=typeof document<"u"?document:null,Ts=Ve&&Ve.createElement("template"),$c={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 s=t==="svg"?Ve.createElementNS(Nc,e):t==="mathml"?Ve.createElementNS(Fc,e):n?Ve.createElement(e,{is:n}):Ve.createElement(e);return e==="select"&&r&&r.multiple!=null&&s.setAttribute("multiple",r.multiple),s},createText:e=>Ve.createTextNode(e),createComment:e=>Ve.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Ve.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,r,s,o){const i=n?n.previousSibling:t.lastChild;if(s&&(s===o||s.nextSibling))for(;t.insertBefore(s.cloneNode(!0),n),!(s===o||!(s=s.nextSibling)););else{Ts.innerHTML=r==="svg"?`${e}`:r==="mathml"?`${e}`:e;const l=Ts.content;if(r==="svg"||r==="mathml"){const c=l.firstChild;for(;c.firstChild;)l.appendChild(c.firstChild);l.removeChild(c)}t.insertBefore(l,n)}return[i?i.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},ke="transition",Tt="animation",Ut=Symbol("_vtc"),ci=(e,{slots:t})=>br(yc,Hc(e),t);ci.displayName="Transition";const ai={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};ci.props=le({},zo,ai);const st=(e,t=[])=>{B(e)?e.forEach(n=>n(...t)):e&&e(...t)},As=e=>e?B(e)?e.some(t=>t.length>1):e.length>1:!1;function Hc(e){const t={};for(const T in e)T in ai||(t[T]=e[T]);if(e.css===!1)return t;const{name:n="v",type:r,duration:s,enterFromClass:o=`${n}-enter-from`,enterActiveClass:i=`${n}-enter-active`,enterToClass:l=`${n}-enter-to`,appearFromClass:c=o,appearActiveClass:a=i,appearToClass:f=l,leaveFromClass:h=`${n}-leave-from`,leaveActiveClass:m=`${n}-leave-active`,leaveToClass:_=`${n}-leave-to`}=e,C=jc(s),L=C&&C[0],k=C&&C[1],{onBeforeEnter:W,onEnter:V,onEnterCancelled:p,onLeave:y,onLeaveCancelled:M,onBeforeAppear:A=W,onAppear:F=V,onAppearCancelled:$=p}=t,I=(T,G,ne)=>{ot(T,G?f:l),ot(T,G?a:i),ne&&ne()},w=(T,G)=>{T._isLeaving=!1,ot(T,h),ot(T,_),ot(T,m),G&&G()},N=T=>(G,ne)=>{const ce=T?F:V,D=()=>I(G,T,ne);st(ce,[G,D]),Rs(()=>{ot(G,T?c:o),Ke(G,T?f:l),As(ce)||Os(G,r,L,D)})};return le(t,{onBeforeEnter(T){st(W,[T]),Ke(T,o),Ke(T,i)},onBeforeAppear(T){st(A,[T]),Ke(T,c),Ke(T,a)},onEnter:N(!1),onAppear:N(!0),onLeave(T,G){T._isLeaving=!0;const ne=()=>w(T,G);Ke(T,h),Ke(T,m),Uc(),Rs(()=>{T._isLeaving&&(ot(T,h),Ke(T,_),As(y)||Os(T,r,k,ne))}),st(y,[T,ne])},onEnterCancelled(T){I(T,!1),st(p,[T])},onAppearCancelled(T){I(T,!0),st($,[T])},onLeaveCancelled(T){w(T),st(M,[T])}})}function jc(e){if(e==null)return null;if(Z(e))return[Xn(e.enter),Xn(e.leave)];{const t=Xn(e);return[t,t]}}function Xn(e){return $i(e)}function Ke(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[Ut]||(e[Ut]=new Set)).add(t)}function ot(e,t){t.split(/\s+/).forEach(r=>r&&e.classList.remove(r));const n=e[Ut];n&&(n.delete(t),n.size||(e[Ut]=void 0))}function Rs(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let Vc=0;function Os(e,t,n,r){const s=e._endId=++Vc,o=()=>{s===e._endId&&r()};if(n)return setTimeout(o,n);const{type:i,timeout:l,propCount:c}=Dc(e,t);if(!i)return r();const a=i+"end";let f=0;const h=()=>{e.removeEventListener(a,m),o()},m=_=>{_.target===e&&++f>=c&&h()};setTimeout(()=>{f(n[C]||"").split(", "),s=r(`${ke}Delay`),o=r(`${ke}Duration`),i=Ls(s,o),l=r(`${Tt}Delay`),c=r(`${Tt}Duration`),a=Ls(l,c);let f=null,h=0,m=0;t===ke?i>0&&(f=ke,h=i,m=o.length):t===Tt?a>0&&(f=Tt,h=a,m=c.length):(h=Math.max(i,a),f=h>0?i>a?ke:Tt:null,m=f?f===ke?o.length:c.length:0);const _=f===ke&&/\b(transform|all)(,|$)/.test(r(`${ke}Property`).toString());return{type:f,timeout:h,propCount:m,hasTransform:_}}function Ls(e,t){for(;e.lengthIs(n)+Is(e[r])))}function Is(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function Uc(){return document.body.offsetHeight}function Bc(e,t,n){const r=e[Ut];r&&(t=(t?[t,...r]:[...r]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const Ms=Symbol("_vod"),kc=Symbol("_vsh"),Kc=Symbol(""),Wc=/(^|;)\s*display\s*:/;function qc(e,t,n){const r=e.style,s=oe(n);let o=!1;if(n&&!s){if(t)if(oe(t))for(const i of t.split(";")){const l=i.slice(0,i.indexOf(":")).trim();n[l]==null&&pn(r,l,"")}else for(const i in t)n[i]==null&&pn(r,i,"");for(const i in n)i==="display"&&(o=!0),pn(r,i,n[i])}else if(s){if(t!==n){const i=r[Kc];i&&(n+=";"+i),r.cssText=n,o=Wc.test(n)}}else t&&e.removeAttribute("style");Ms in e&&(e[Ms]=o?r.display:"",e[kc]&&(r.display="none"))}const Ps=/\s*!important$/;function pn(e,t,n){if(B(n))n.forEach(r=>pn(e,t,r));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const r=Gc(e,t);Ps.test(n)?e.setProperty(ft(r),n.replace(Ps,""),"important"):e[r]=n}}const Ns=["Webkit","Moz","ms"],Yn={};function Gc(e,t){const n=Yn[t];if(n)return n;let r=$e(t);if(r!=="filter"&&r in e)return Yn[t]=r;r=An(r);for(let s=0;sJn||(Qc.then(()=>Jn=0),Jn=Date.now());function ea(e,t){const n=r=>{if(!r._vts)r._vts=Date.now();else if(r._vts<=n.attached)return;Se(ta(r,n.value),t,5,[r])};return n.value=e,n.attached=Zc(),n}function ta(e,t){if(B(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(r=>s=>!s._stopped&&r&&r(s))}else return t}const Vs=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,na=(e,t,n,r,s,o,i,l,c)=>{const a=s==="svg";t==="class"?Bc(e,r,a):t==="style"?qc(e,n,r):kt(t)?Er(t)||Yc(e,t,n,r,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):ra(e,t,r,a))?(zc(e,t,r,o,i,l,c),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&$s(e,t,r,a,i,t!=="value")):(t==="true-value"?e._trueValue=r:t==="false-value"&&(e._falseValue=r),$s(e,t,r,a))};function ra(e,t,n,r){if(r)return!!(t==="innerHTML"||t==="textContent"||t in e&&Vs(t)&&K(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const s=e.tagName;if(s==="IMG"||s==="VIDEO"||s==="CANVAS"||s==="SOURCE")return!1}return Vs(t)&&oe(n)?!1:t in e}const Ds=e=>{const t=e.props["onUpdate:modelValue"]||!1;return B(t)?n=>fn(t,n):t};function sa(e){e.target.composing=!0}function Us(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const Qn=Symbol("_assign"),vu={created(e,{modifiers:{lazy:t,trim:n,number:r}},s){e[Qn]=Ds(s);const o=r||s.props&&s.props.type==="number";gt(e,t?"change":"input",i=>{if(i.target.composing)return;let l=e.value;n&&(l=l.trim()),o&&(l=cr(l)),e[Qn](l)}),n&>(e,"change",()=>{e.value=e.value.trim()}),t||(gt(e,"compositionstart",sa),gt(e,"compositionend",Us),gt(e,"change",Us))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:r,trim:s,number:o}},i){if(e[Qn]=Ds(i),e.composing)return;const l=(o||e.type==="number")&&!/^0\d/.test(e.value)?cr(e.value):e.value,c=t??"";l!==c&&(document.activeElement===e&&e.type!=="range"&&(r&&t===n||s&&e.value.trim()===c)||(e.value=c))}},oa=["ctrl","shift","alt","meta"],ia={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)=>oa.some(n=>e[`${n}Key`]&&!t.includes(n))},bu=(e,t)=>{const n=e._withMods||(e._withMods={}),r=t.join(".");return n[r]||(n[r]=(s,...o)=>{for(let i=0;i{const n=e._withKeys||(e._withKeys={}),r=t.join(".");return n[r]||(n[r]=s=>{if(!("key"in s))return;const o=ft(s.key);if(t.some(i=>i===o||la[i]===o))return e(s)})},ui=le({patchProp:na},$c);let Ft,Bs=!1;function ca(){return Ft||(Ft=ic(ui))}function aa(){return Ft=Bs?Ft:lc(ui),Bs=!0,Ft}const Eu=(...e)=>{const t=ca().createApp(...e),{mount:n}=t;return t.mount=r=>{const s=di(r);if(!s)return;const o=t._component;!K(o)&&!o.render&&!o.template&&(o.template=s.innerHTML),s.innerHTML="";const i=n(s,!1,fi(s));return s instanceof Element&&(s.removeAttribute("v-cloak"),s.setAttribute("data-v-app","")),i},t},Cu=(...e)=>{const t=aa().createApp(...e),{mount:n}=t;return t.mount=r=>{const s=di(r);if(s)return n(s,!0,fi(s))},t};function fi(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function di(e){return oe(e)?document.querySelector(e):e}const xu=(e,t)=>{const n=e.__vccOpts||e;for(const[r,s]of t)n[r]=s;return n},Su="/show/wechat.png",Tu="/show/douyin.png",Au="/show/mp.png",Ru="/show/code.png",Ou="/show/flow.jpeg",Lu="/show/admin.png",ua="modulepreload",fa=function(e){return"/"+e},ks={},Iu=function(t,n,r){let s=Promise.resolve();if(n&&n.length>0){document.getElementsByTagName("link");const o=document.querySelector("meta[property=csp-nonce]"),i=(o==null?void 0:o.nonce)||(o==null?void 0:o.getAttribute("nonce"));s=Promise.all(n.map(l=>{if(l=fa(l),l in ks)return;ks[l]=!0;const c=l.endsWith(".css"),a=c?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${l}"]${a}`))return;const f=document.createElement("link");if(f.rel=c?"stylesheet":ua,c||(f.as="script",f.crossOrigin=""),f.href=l,i&&f.setAttribute("nonce",i),document.head.appendChild(f),c)return new Promise((h,m)=>{f.addEventListener("load",h),f.addEventListener("error",()=>m(new Error(`Unable to preload CSS for ${l}`)))})}))}return s.then(()=>t()).catch(o=>{const i=new Event("vite:preloadError",{cancelable:!0});if(i.payload=o,window.dispatchEvent(i),!i.defaultPrevented)throw o})},da=window.__VP_SITE_DATA__;function Kr(e){return io()?(qi(e),!0):!1}function Fe(e){return typeof e=="function"?e():Eo(e)}const hi=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const ha=Object.prototype.toString,pa=e=>ha.call(e)==="[object Object]",Bt=()=>{},Ks=ga();function ga(){var e,t;return hi&&((e=window==null?void 0:window.navigator)==null?void 0:e.userAgent)&&(/iP(?:ad|hone|od)/.test(window.navigator.userAgent)||((t=window==null?void 0:window.navigator)==null?void 0:t.maxTouchPoints)>2&&/iPad|Macintosh/.test(window==null?void 0:window.navigator.userAgent))}function ma(e,t){function n(...r){return new Promise((s,o)=>{Promise.resolve(e(()=>t.apply(this,r),{fn:t,thisArg:this,args:r})).then(s).catch(o)})}return n}const pi=e=>e();function ya(e,t={}){let n,r,s=Bt;const o=l=>{clearTimeout(l),s(),s=Bt};return l=>{const c=Fe(e),a=Fe(t.maxWait);return n&&o(n),c<=0||a!==void 0&&a<=0?(r&&(o(r),r=null),Promise.resolve(l())):new Promise((f,h)=>{s=t.rejectOnCancel?h:f,a&&!r&&(r=setTimeout(()=>{n&&o(n),r=null,f(l())},a)),n=setTimeout(()=>{r&&o(r),r=null,f(l())},c)})}}function _a(e=pi){const t=se(!0);function n(){t.value=!1}function r(){t.value=!0}const s=(...o)=>{t.value&&e(...o)};return{isActive:Ln(t),pause:n,resume:r,eventFilter:s}}function va(e){return jn()}function gi(...e){if(e.length!==1)return wl(...e);const t=e[0];return typeof t=="function"?Ln(_l(()=>({get:t,set:Bt}))):se(t)}function mi(e,t,n={}){const{eventFilter:r=pi,...s}=n;return Ne(e,ma(r,t),s)}function ba(e,t,n={}){const{eventFilter:r,...s}=n,{eventFilter:o,pause:i,resume:l,isActive:c}=_a(r);return{stop:mi(e,t,{...s,eventFilter:o}),pause:i,resume:l,isActive:c}}function Wr(e,t=!0,n){va()?xt(e,n):t?e():In(e)}function Mu(e,t,n={}){const{debounce:r=0,maxWait:s=void 0,...o}=n;return mi(e,t,{...o,eventFilter:ya(r,{maxWait:s})})}function Pu(e,t,n){let r;de(n)?r={evaluating:n}:r={};const{lazy:s=!1,evaluating:o=void 0,shallow:i=!0,onError:l=Bt}=r,c=se(!s),a=i?Fr(t):se(t);let f=0;return Br(async h=>{if(!c.value)return;f++;const m=f;let _=!1;o&&Promise.resolve().then(()=>{o.value=!0});try{const C=await e(L=>{h(()=>{o&&(o.value=!1),_||L()})});m===f&&(a.value=C)}catch(C){l(C)}finally{o&&m===f&&(o.value=!1),_=!0}}),s?re(()=>(c.value=!0,a.value)):a}function yi(e){var t;const n=Fe(e);return(t=n==null?void 0:n.$el)!=null?t:n}const Oe=hi?window:void 0;function Ct(...e){let t,n,r,s;if(typeof e[0]=="string"||Array.isArray(e[0])?([n,r,s]=e,t=Oe):[t,n,r,s]=e,!t)return Bt;Array.isArray(n)||(n=[n]),Array.isArray(r)||(r=[r]);const o=[],i=()=>{o.forEach(f=>f()),o.length=0},l=(f,h,m,_)=>(f.addEventListener(h,m,_),()=>f.removeEventListener(h,m,_)),c=Ne(()=>[yi(t),Fe(s)],([f,h])=>{if(i(),!f)return;const m=pa(h)?{...h}:h;o.push(...n.flatMap(_=>r.map(C=>l(f,_,C,m))))},{immediate:!0,flush:"post"}),a=()=>{c(),i()};return Kr(a),a}function wa(e){return typeof e=="function"?e:typeof e=="string"?t=>t.key===e:Array.isArray(e)?t=>e.includes(t.key):()=>!0}function Nu(...e){let t,n,r={};e.length===3?(t=e[0],n=e[1],r=e[2]):e.length===2?typeof e[1]=="object"?(t=!0,n=e[0],r=e[1]):(t=e[0],n=e[1]):(t=!0,n=e[0]);const{target:s=Oe,eventName:o="keydown",passive:i=!1,dedupe:l=!1}=r,c=wa(t);return Ct(s,o,f=>{f.repeat&&Fe(l)||c(f)&&n(f)},i)}function Ea(){const e=se(!1),t=jn();return t&&xt(()=>{e.value=!0},t),e}function Ca(e){const t=Ea();return re(()=>(t.value,!!e()))}function _i(e,t={}){const{window:n=Oe}=t,r=Ca(()=>n&&"matchMedia"in n&&typeof n.matchMedia=="function");let s;const o=se(!1),i=a=>{o.value=a.matches},l=()=>{s&&("removeEventListener"in s?s.removeEventListener("change",i):s.removeListener(i))},c=Br(()=>{r.value&&(l(),s=n.matchMedia(Fe(e)),"addEventListener"in s?s.addEventListener("change",i):s.addListener(i),o.value=s.matches)});return Kr(()=>{c(),l(),s=void 0}),o}const ln=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},cn="__vueuse_ssr_handlers__",xa=Sa();function Sa(){return cn in ln||(ln[cn]=ln[cn]||{}),ln[cn]}function vi(e,t){return xa[e]||t}function Ta(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 Aa={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()}},Ws="vueuse-storage";function qr(e,t,n,r={}){var s;const{flush:o="pre",deep:i=!0,listenToStorageChanges:l=!0,writeDefaults:c=!0,mergeDefaults:a=!1,shallow:f,window:h=Oe,eventFilter:m,onError:_=w=>{console.error(w)},initOnMounted:C}=r,L=(f?Fr:se)(typeof t=="function"?t():t);if(!n)try{n=vi("getDefaultStorage",()=>{var w;return(w=Oe)==null?void 0:w.localStorage})()}catch(w){_(w)}if(!n)return L;const k=Fe(t),W=Ta(k),V=(s=r.serializer)!=null?s:Aa[W],{pause:p,resume:y}=ba(L,()=>A(L.value),{flush:o,deep:i,eventFilter:m});h&&l&&Wr(()=>{Ct(h,"storage",$),Ct(h,Ws,I),C&&$()}),C||$();function M(w,N){h&&h.dispatchEvent(new CustomEvent(Ws,{detail:{key:e,oldValue:w,newValue:N,storageArea:n}}))}function A(w){try{const N=n.getItem(e);if(w==null)M(N,null),n.removeItem(e);else{const T=V.write(w);N!==T&&(n.setItem(e,T),M(N,T))}}catch(N){_(N)}}function F(w){const N=w?w.newValue:n.getItem(e);if(N==null)return c&&k!=null&&n.setItem(e,V.write(k)),k;if(!w&&a){const T=V.read(N);return typeof a=="function"?a(T,k):W==="object"&&!Array.isArray(T)?{...k,...T}:T}else return typeof N!="string"?N:V.read(N)}function $(w){if(!(w&&w.storageArea!==n)){if(w&&w.key==null){L.value=k;return}if(!(w&&w.key!==e)){p();try{(w==null?void 0:w.newValue)!==V.write(L.value)&&(L.value=F(w))}catch(N){_(N)}finally{w?In(y):y()}}}}function I(w){$(w.detail)}return L}function bi(e){return _i("(prefers-color-scheme: dark)",e)}function Ra(e={}){const{selector:t="html",attribute:n="class",initialValue:r="auto",window:s=Oe,storage:o,storageKey:i="vueuse-color-scheme",listenToStorageChanges:l=!0,storageRef:c,emitAuto:a,disableTransition:f=!0}=e,h={auto:"",light:"light",dark:"dark",...e.modes||{}},m=bi({window:s}),_=re(()=>m.value?"dark":"light"),C=c||(i==null?gi(r):qr(i,r,o,{window:s,listenToStorageChanges:l})),L=re(()=>C.value==="auto"?_.value:C.value),k=vi("updateHTMLAttrs",(y,M,A)=>{const F=typeof y=="string"?s==null?void 0:s.document.querySelector(y):yi(y);if(!F)return;let $;if(f&&($=s.document.createElement("style"),$.appendChild(document.createTextNode("*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}")),s.document.head.appendChild($)),M==="class"){const I=A.split(/\s/g);Object.values(h).flatMap(w=>(w||"").split(/\s/g)).filter(Boolean).forEach(w=>{I.includes(w)?F.classList.add(w):F.classList.remove(w)})}else F.setAttribute(M,A);f&&(s.getComputedStyle($).opacity,document.head.removeChild($))});function W(y){var M;k(t,n,(M=h[y])!=null?M:y)}function V(y){e.onChanged?e.onChanged(y,W):W(y)}Ne(L,V,{flush:"post",immediate:!0}),Wr(()=>V(L.value));const p=re({get(){return a?C.value:L.value},set(y){C.value=y}});try{return Object.assign(p,{store:C,system:_,state:L})}catch{return p}}function Oa(e={}){const{valueDark:t="dark",valueLight:n="",window:r=Oe}=e,s=Ra({...e,onChanged:(l,c)=>{var a;e.onChanged?(a=e.onChanged)==null||a.call(e,l==="dark",c,l):c(l)},modes:{dark:t,light:n}}),o=re(()=>s.system?s.system.value:bi({window:r}).value?"dark":"light");return re({get(){return s.value==="dark"},set(l){const c=l?"dark":"light";o.value===c?s.value="auto":s.value=c}})}function Zn(e){return typeof Window<"u"&&e instanceof Window?e.document.documentElement:typeof Document<"u"&&e instanceof Document?e.documentElement:e}function Fu(e,t,n={}){const{window:r=Oe}=n;return qr(e,t,r==null?void 0:r.localStorage,n)}function wi(e){const t=window.getComputedStyle(e);if(t.overflowX==="scroll"||t.overflowY==="scroll"||t.overflowX==="auto"&&e.clientWidth1?!0:(t.preventDefault&&t.preventDefault(),!1)}const er=new WeakMap;function $u(e,t=!1){const n=se(t);let r=null,s="";Ne(gi(e),l=>{const c=Zn(Fe(l));if(c){const a=c;if(er.get(a)||er.set(a,a.style.overflow),a.style.overflow!=="hidden"&&(s=a.style.overflow),a.style.overflow==="hidden")return n.value=!0;if(n.value)return a.style.overflow="hidden"}},{immediate:!0});const o=()=>{const l=Zn(Fe(e));!l||n.value||(Ks&&(r=Ct(l,"touchmove",c=>{La(c)},{passive:!1})),l.style.overflow="hidden",n.value=!0)},i=()=>{const l=Zn(Fe(e));!l||!n.value||(Ks&&(r==null||r()),l.style.overflow=s,er.delete(l),n.value=!1)};return Kr(i),re({get(){return n.value},set(l){l?o():i()}})}function Hu(e,t,n={}){const{window:r=Oe}=n;return qr(e,t,r==null?void 0:r.sessionStorage,n)}function ju(e={}){const{window:t=Oe,behavior:n="auto"}=e;if(!t)return{x:se(0),y:se(0)};const r=se(t.scrollX),s=se(t.scrollY),o=re({get(){return r.value},set(l){scrollTo({left:l,behavior:n})}}),i=re({get(){return s.value},set(l){scrollTo({top:l,behavior:n})}});return Ct(t,"scroll",()=>{r.value=t.scrollX,s.value=t.scrollY},{capture:!1,passive:!0}),{x:o,y:i}}function Vu(e={}){const{window:t=Oe,initialWidth:n=Number.POSITIVE_INFINITY,initialHeight:r=Number.POSITIVE_INFINITY,listenOrientation:s=!0,includeScrollbar:o=!0}=e,i=se(n),l=se(r),c=()=>{t&&(o?(i.value=t.innerWidth,l.value=t.innerHeight):(i.value=t.document.documentElement.clientWidth,l.value=t.document.documentElement.clientHeight))};if(c(),Wr(c),Ct("resize",c,{passive:!0}),s){const a=_i("(orientation: portrait)");Ne(a,()=>c())}return{width:i,height:l}}var tr={BASE_URL:"/",MODE:"production",DEV:!1,PROD:!0,SSR:!1},nr={};const Ei=/^(?:[a-z]+:|\/\/)/i,Ia="vitepress-theme-appearance",Ma=/#.*$/,Pa=/[?#].*$/,Na=/(?:(^|\/)index)?\.(?:md|html)$/,he=typeof document<"u",Ci={relativePath:"404.md",filePath:"",title:"404",description:"Not Found",headers:[],frontmatter:{sidebar:!1,layout:"page"},lastUpdated:0,isNotFound:!0};function Fa(e,t,n=!1){if(t===void 0)return!1;if(e=qs(`/${e}`),n)return new RegExp(t).test(e);if(qs(t)!==e)return!1;const r=t.match(Ma);return r?(he?location.hash:"")===r[0]:!0}function qs(e){return decodeURI(e).replace(Pa,"").replace(Na,"$1")}function $a(e){return Ei.test(e)}function Ha(e,t){return Object.keys((e==null?void 0:e.locales)||{}).find(n=>n!=="root"&&!$a(n)&&Fa(t,`/${n}/`,!0))||"root"}function ja(e,t){var r,s,o,i,l,c,a;const n=Ha(e,t);return Object.assign({},e,{localeIndex:n,lang:((r=e.locales[n])==null?void 0:r.lang)??e.lang,dir:((s=e.locales[n])==null?void 0:s.dir)??e.dir,title:((o=e.locales[n])==null?void 0:o.title)??e.title,titleTemplate:((i=e.locales[n])==null?void 0:i.titleTemplate)??e.titleTemplate,description:((l=e.locales[n])==null?void 0:l.description)??e.description,head:Si(e.head,((c=e.locales[n])==null?void 0:c.head)??[]),themeConfig:{...e.themeConfig,...(a=e.locales[n])==null?void 0:a.themeConfig}})}function xi(e,t){const n=t.title||e.title,r=t.titleTemplate??e.titleTemplate;if(typeof r=="string"&&r.includes(":title"))return r.replace(/:title/g,n);const s=Va(e.title,r);return n===s.slice(3)?n:`${n}${s}`}function Va(e,t){return t===!1?"":t===!0||t===void 0?` | ${e}`:e===t?"":` | ${t}`}function Da(e,t){const[n,r]=t;if(n!=="meta")return!1;const s=Object.entries(r)[0];return s==null?!1:e.some(([o,i])=>o===n&&i[s[0]]===s[1])}function Si(e,t){return[...e.filter(n=>!Da(t,n)),...t]}const Ua=/[\u0000-\u001F"#$&*+,:;<=>?[\]^`{|}\u007F]/g,Ba=/^[a-z]:/i;function Gs(e){const t=Ba.exec(e),n=t?t[0]:"";return n+e.slice(n.length).replace(Ua,"_").replace(/(^|\/)_+(?=[^/]*$)/,"$1")}const rr=new Set;function ka(e){if(rr.size===0){const n=typeof process=="object"&&(nr==null?void 0:nr.VITE_EXTRA_EXTENSIONS)||(tr==null?void 0:tr.VITE_EXTRA_EXTENSIONS)||"";("3g2,3gp,aac,ai,apng,au,avif,bin,bmp,cer,class,conf,crl,css,csv,dll,doc,eps,epub,exe,gif,gz,ics,ief,jar,jpe,jpeg,jpg,js,json,jsonld,m4a,man,mid,midi,mjs,mov,mp2,mp3,mp4,mpe,mpeg,mpg,mpp,oga,ogg,ogv,ogx,opus,otf,p10,p7c,p7m,p7s,pdf,png,ps,qt,roff,rtf,rtx,ser,svg,t,tif,tiff,tr,ts,tsv,ttf,txt,vtt,wav,weba,webm,webp,woff,woff2,xhtml,xml,yaml,yml,zip"+(n&&typeof n=="string"?","+n:"")).split(",").forEach(r=>rr.add(r))}const t=e.split(".").pop();return t==null||!rr.has(t.toLowerCase())}function Du(e){return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}const Ka=Symbol(),ut=Fr(da);function Uu(e){const t=re(()=>ja(ut.value,e.data.relativePath)),n=t.value.appearance,r=n==="force-dark"?se(!0):n?Oa({storageKey:Ia,initialValue:()=>n==="dark"?"dark":"auto",...typeof n=="object"?n:{}}):se(!1),s=se(he?location.hash:"");return he&&window.addEventListener("hashchange",()=>{s.value=location.hash}),Ne(()=>e.data,()=>{s.value=he?location.hash:""}),{site:t,theme:re(()=>t.value.themeConfig),page:re(()=>e.data),frontmatter:re(()=>e.data.frontmatter),params:re(()=>e.data.params),lang:re(()=>t.value.lang),dir:re(()=>e.data.frontmatter.dir||t.value.dir),localeIndex:re(()=>t.value.localeIndex||"root"),title:re(()=>xi(t.value,e.data)),description:re(()=>e.data.description||t.value.description),isDark:r,hash:re(()=>s.value)}}function Wa(){const e=wt(Ka);if(!e)throw new Error("vitepress data not properly injected in app");return e}function qa(e,t){return`${e}${t}`.replace(/\/+/g,"/")}function zs(e){return Ei.test(e)||!e.startsWith("/")?e:qa(ut.value.base,e)}function Ga(e){let t=e.replace(/\.html$/,"");if(t=decodeURIComponent(t),t=t.replace(/\/$/,"/index"),he){const n="/";t=Gs(t.slice(n.length).replace(/\//g,"_")||"index")+".md";let r=__VP_HASH_MAP__[t.toLowerCase()];if(r||(t=t.endsWith("_index.md")?t.slice(0,-9)+".md":t.slice(0,-3)+"_index.md",r=__VP_HASH_MAP__[t.toLowerCase()]),!r)return null;t=`${n}assets/${t}.${r}.js`}else t=`./${Gs(t.slice(1).replace(/\//g,"_"))}.md.js`;return t}let gn=[];function Bu(e){gn.push(e),$n(()=>{gn=gn.filter(t=>t!==e)})}function za(){let e=ut.value.scrollOffset,t=0,n=24;if(typeof e=="object"&&"padding"in e&&(n=e.padding,e=e.selector),typeof e=="number")t=e;else if(typeof e=="string")t=Xs(e,n);else if(Array.isArray(e))for(const r of e){const s=Xs(r,n);if(s){t=s;break}}return t}function Xs(e,t){const n=document.querySelector(e);if(!n)return 0;const r=n.getBoundingClientRect().bottom;return r<0?0:r+t}const Xa=Symbol(),Ti="http://a.com",Ya=()=>({path:"/",component:null,data:Ci});function ku(e,t){const n=On(Ya()),r={route:n,go:s};async function s(l=he?location.href:"/"){var c,a;l=sr(l),await((c=r.onBeforeRouteChange)==null?void 0:c.call(r,l))!==!1&&(he&&l!==sr(location.href)&&(history.replaceState({scrollPosition:window.scrollY},""),history.pushState({},"",l)),await i(l),await((a=r.onAfterRouteChanged)==null?void 0:a.call(r,l)))}let o=null;async function i(l,c=0,a=!1){var m;if(await((m=r.onBeforePageLoad)==null?void 0:m.call(r,l))===!1)return;const f=new URL(l,Ti),h=o=f.pathname;try{let _=await e(h);if(!_)throw new Error(`Page not found: ${h}`);if(o===h){o=null;const{default:C,__pageData:L}=_;if(!C)throw new Error(`Invalid route component: ${C}`);n.path=he?h:zs(h),n.component=dn(C),n.data=dn(L),he&&In(()=>{let k=ut.value.base+L.relativePath.replace(/(?:(^|\/)index)?\.md$/,"$1");if(!ut.value.cleanUrls&&!k.endsWith("/")&&(k+=".html"),k!==f.pathname&&(f.pathname=k,l=k+f.search+f.hash,history.replaceState({},"",l)),f.hash&&!c){let W=null;try{W=document.getElementById(decodeURIComponent(f.hash).slice(1))}catch(V){console.warn(V)}if(W){Ys(W,f.hash);return}}window.scrollTo(0,c)})}}catch(_){if(!/fetch|Page not found/.test(_.message)&&!/^\/404(\.html|\/)?$/.test(l)&&console.error(_),!a)try{const C=await fetch(ut.value.base+"hashmap.json");window.__VP_HASH_MAP__=await C.json(),await i(l,c,!0);return}catch{}if(o===h){o=null,n.path=he?h:zs(h),n.component=t?dn(t):null;const C=he?h.replace(/(^|\/)$/,"$1index").replace(/(\.html)?$/,".md").replace(/^\//,""):"404.md";n.data={...Ci,relativePath:C}}}}return he&&(history.state===null&&history.replaceState({},""),window.addEventListener("click",l=>{if(l.defaultPrevented||!(l.target instanceof Element)||l.target.closest("button")||l.button!==0||l.ctrlKey||l.shiftKey||l.altKey||l.metaKey)return;const c=l.target.closest("a");if(!c||c.closest(".vp-raw")||c.hasAttribute("download")||c.hasAttribute("target"))return;const a=c.getAttribute("href")??(c instanceof SVGAElement?c.getAttribute("xlink:href"):null);if(a==null)return;const{href:f,origin:h,pathname:m,hash:_,search:C}=new URL(a,c.baseURI),L=new URL(location.href);h===L.origin&&ka(m)&&(l.preventDefault(),m===L.pathname&&C===L.search?(_!==L.hash&&(history.pushState({},"",f),window.dispatchEvent(new HashChangeEvent("hashchange",{oldURL:L.href,newURL:f}))),_?Ys(c,_,c.classList.contains("header-anchor")):window.scrollTo(0,0)):s(f))},{capture:!0}),window.addEventListener("popstate",async l=>{var c;l.state!==null&&(await i(sr(location.href),l.state&&l.state.scrollPosition||0),(c=r.onAfterRouteChanged)==null||c.call(r,location.href))}),window.addEventListener("hashchange",l=>{l.preventDefault()})),r}function Ja(){const e=wt(Xa);if(!e)throw new Error("useRouter() is called without provider.");return e}function Ai(){return Ja().route}function Ys(e,t,n=!1){let r=null;try{r=e.classList.contains("header-anchor")?e:document.getElementById(decodeURIComponent(t).slice(1))}catch(s){console.warn(s)}if(r){let s=function(){!n||Math.abs(i-window.scrollY)>window.innerHeight?window.scrollTo(0,i):window.scrollTo({left:0,top:i,behavior:"smooth"})};const o=parseInt(window.getComputedStyle(r).paddingTop,10),i=window.scrollY+r.getBoundingClientRect().top-za()+o;requestAnimationFrame(s)}}function sr(e){const t=new URL(e,Ti);return t.pathname=t.pathname.replace(/(^|\/)index(\.html)?$/,"$1"),ut.value.cleanUrls?t.pathname=t.pathname.replace(/\.html$/,""):!t.pathname.endsWith("/")&&!t.pathname.endsWith(".html")&&(t.pathname+=".html"),t.pathname+t.search+t.hash}const or=()=>gn.forEach(e=>e()),Ku=jr({name:"VitePressContent",props:{as:{type:[Object,String],default:"div"}},setup(e){const t=Ai(),{site:n}=Wa();return()=>br(e.as,n.value.contentProps??{style:{position:"relative"}},[t.component?br(t.component,{onVnodeMounted:or,onVnodeUpdated:or,onVnodeUnmounted:or}):"404 Page Not Found"])}}),Wu=jr({setup(e,{slots:t}){const n=se(!1);return xt(()=>{n.value=!0}),()=>n.value&&t.default?t.default():null}});function qu(){he&&window.addEventListener("click",e=>{var n;const t=e.target;if(t.matches(".vp-code-group input")){const r=(n=t.parentElement)==null?void 0:n.parentElement;if(!r)return;const s=Array.from(r.querySelectorAll("input")).indexOf(t);if(s<0)return;const o=r.querySelector(".blocks");if(!o)return;const i=Array.from(o.children).find(a=>a.classList.contains("active"));if(!i)return;const l=o.children[s];if(!l||i===l)return;i.classList.remove("active"),l.classList.add("active");const c=r==null?void 0:r.querySelector(`label[for="${t.id}"]`);c==null||c.scrollIntoView({block:"nearest"})}})}function Gu(){if(he){const e=new WeakMap;window.addEventListener("click",t=>{var r;const n=t.target;if(n.matches('div[class*="language-"] > button.copy')){const s=n.parentElement,o=(r=n.nextElementSibling)==null?void 0:r.nextElementSibling;if(!s||!o)return;const i=/language-(shellscript|shell|bash|sh|zsh)/.test(s.className),l=[".vp-copy-ignore",".diff.remove"],c=o.cloneNode(!0);c.querySelectorAll(l.join(",")).forEach(f=>f.remove());let a=c.textContent||"";i&&(a=a.replace(/^ *(\$|>) /gm,"").trim()),Qa(a).then(()=>{n.classList.add("copied"),clearTimeout(e.get(n));const f=setTimeout(()=>{n.classList.remove("copied"),n.blur(),e.delete(n)},2e3);e.set(n,f)})}})}}async function Qa(e){try{return navigator.clipboard.writeText(e)}catch{const t=document.createElement("textarea"),n=document.activeElement;t.value=e,t.setAttribute("readonly",""),t.style.contain="strict",t.style.position="absolute",t.style.left="-9999px",t.style.fontSize="12pt";const r=document.getSelection(),s=r?r.rangeCount>0&&r.getRangeAt(0):null;document.body.appendChild(t),t.select(),t.selectionStart=0,t.selectionEnd=e.length,document.execCommand("copy"),document.body.removeChild(t),s&&(r.removeAllRanges(),r.addRange(s)),n&&n.focus()}}function zu(e,t){let n=!0,r=[];const s=o=>{if(n){n=!1,o.forEach(l=>{const c=ir(l);for(const a of document.head.children)if(a.isEqualNode(c)){r.push(a);return}});return}const i=o.map(ir);r.forEach((l,c)=>{const a=i.findIndex(f=>f==null?void 0:f.isEqualNode(l??null));a!==-1?delete i[a]:(l==null||l.remove(),delete r[c])}),i.forEach(l=>l&&document.head.appendChild(l)),r=[...r,...i].filter(Boolean)};Br(()=>{const o=e.data,i=t.value,l=o&&o.description,c=o&&o.frontmatter.head||[],a=xi(i,o);a!==document.title&&(document.title=a);const f=l||i.description;let h=document.querySelector("meta[name=description]");h?h.getAttribute("content")!==f&&h.setAttribute("content",f):ir(["meta",{name:"description",content:f}]),s(Si(i.head,eu(c)))})}function ir([e,t,n]){const r=document.createElement(e);for(const s in t)r.setAttribute(s,t[s]);return n&&(r.innerHTML=n),e==="script"&&!t.async&&(r.async=!1),r}function Za(e){return e[0]==="meta"&&e[1]&&e[1].name==="description"}function eu(e){return e.filter(t=>!Za(t))}const lr=new Set,Ri=()=>document.createElement("link"),tu=e=>{const t=Ri();t.rel="prefetch",t.href=e,document.head.appendChild(t)},nu=e=>{const t=new XMLHttpRequest;t.open("GET",e,t.withCredentials=!0),t.send()};let an;const ru=he&&(an=Ri())&&an.relList&&an.relList.supports&&an.relList.supports("prefetch")?tu:nu;function Xu(){if(!he||!window.IntersectionObserver)return;let e;if((e=navigator.connection)&&(e.saveData||/2g/.test(e.effectiveType)))return;const t=window.requestIdleCallback||setTimeout;let n=null;const r=()=>{n&&n.disconnect(),n=new IntersectionObserver(o=>{o.forEach(i=>{if(i.isIntersecting){const l=i.target;n.unobserve(l);const{pathname:c}=l;if(!lr.has(c)){lr.add(c);const a=Ga(c);a&&ru(a)}}})}),t(()=>{document.querySelectorAll("#app a").forEach(o=>{const{hostname:i,pathname:l}=new URL(o.href instanceof SVGAnimatedString?o.href.animVal:o.href,o.baseURI),c=l.match(/\.\w+$/);c&&c[0]!==".html"||o.target!=="_blank"&&i===location.hostname&&(l!==location.pathname?n.observe(o):lr.add(l))})})};xt(r);const s=Ai();Ne(()=>s.path,r),$n(()=>{n&&n.disconnect()})}export{du as $,pu as A,Hl as B,za as C,iu as D,au as E,_e as F,Fr as G,Bu as H,ie as I,lu as J,Ei as K,Ai as L,xc as M,wt as N,Vu as O,Sr as P,Nu as Q,In as R,ju as S,ci as T,he as U,Ln as V,uu as W,Iu as X,$u as Y,Jl as Z,xu as _,si as a,wu as a0,Io as a1,bu as a2,hu as a3,yu as a4,Su as a5,Tu as a6,Au as a7,Ru as a8,Ou as a9,gu as aA,dn as aB,Eu as aC,Du as aD,Lu as aa,zu as ab,Xa as ac,Uu as ad,Ka as ae,Ku as af,Wu as ag,ut as ah,Cu as ai,ku as aj,Ga as ak,Xu as al,Gu as am,qu as an,br as ao,yi as ap,Kr as aq,Pu as ar,Hu as as,Fu as at,Mu as au,Ja as av,Ct as aw,cu as ax,vu as ay,de as az,ti as b,mu as c,jr as d,_u as e,ka as f,zs as g,re as h,$a as i,ri as j,Eo as k,ou as l,Fa as m,Tr as n,Zo as o,su as p,_i as q,fu as r,se as s,ki as t,Wa as u,Ne as v,Ol as w,Br as x,xt as y,$n as z}; +**/const Nc="http://www.w3.org/2000/svg",Fc="http://www.w3.org/1998/Math/MathML",Ve=typeof document<"u"?document:null,Ts=Ve&&Ve.createElement("template"),$c={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 s=t==="svg"?Ve.createElementNS(Nc,e):t==="mathml"?Ve.createElementNS(Fc,e):n?Ve.createElement(e,{is:n}):Ve.createElement(e);return e==="select"&&r&&r.multiple!=null&&s.setAttribute("multiple",r.multiple),s},createText:e=>Ve.createTextNode(e),createComment:e=>Ve.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Ve.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,r,s,o){const i=n?n.previousSibling:t.lastChild;if(s&&(s===o||s.nextSibling))for(;t.insertBefore(s.cloneNode(!0),n),!(s===o||!(s=s.nextSibling)););else{Ts.innerHTML=r==="svg"?`${e}`:r==="mathml"?`${e}`:e;const l=Ts.content;if(r==="svg"||r==="mathml"){const c=l.firstChild;for(;c.firstChild;)l.appendChild(c.firstChild);l.removeChild(c)}t.insertBefore(l,n)}return[i?i.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},ke="transition",Tt="animation",Ut=Symbol("_vtc"),ci=(e,{slots:t})=>br(yc,Hc(e),t);ci.displayName="Transition";const ai={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};ci.props=le({},zo,ai);const st=(e,t=[])=>{B(e)?e.forEach(n=>n(...t)):e&&e(...t)},As=e=>e?B(e)?e.some(t=>t.length>1):e.length>1:!1;function Hc(e){const t={};for(const T in e)T in ai||(t[T]=e[T]);if(e.css===!1)return t;const{name:n="v",type:r,duration:s,enterFromClass:o=`${n}-enter-from`,enterActiveClass:i=`${n}-enter-active`,enterToClass:l=`${n}-enter-to`,appearFromClass:c=o,appearActiveClass:a=i,appearToClass:f=l,leaveFromClass:h=`${n}-leave-from`,leaveActiveClass:m=`${n}-leave-active`,leaveToClass:_=`${n}-leave-to`}=e,C=jc(s),L=C&&C[0],k=C&&C[1],{onBeforeEnter:W,onEnter:V,onEnterCancelled:p,onLeave:y,onLeaveCancelled:M,onBeforeAppear:A=W,onAppear:F=V,onAppearCancelled:$=p}=t,I=(T,G,ne)=>{ot(T,G?f:l),ot(T,G?a:i),ne&&ne()},w=(T,G)=>{T._isLeaving=!1,ot(T,h),ot(T,_),ot(T,m),G&&G()},N=T=>(G,ne)=>{const ce=T?F:V,D=()=>I(G,T,ne);st(ce,[G,D]),Rs(()=>{ot(G,T?c:o),Ke(G,T?f:l),As(ce)||Os(G,r,L,D)})};return le(t,{onBeforeEnter(T){st(W,[T]),Ke(T,o),Ke(T,i)},onBeforeAppear(T){st(A,[T]),Ke(T,c),Ke(T,a)},onEnter:N(!1),onAppear:N(!0),onLeave(T,G){T._isLeaving=!0;const ne=()=>w(T,G);Ke(T,h),Ke(T,m),Uc(),Rs(()=>{T._isLeaving&&(ot(T,h),Ke(T,_),As(y)||Os(T,r,k,ne))}),st(y,[T,ne])},onEnterCancelled(T){I(T,!1),st(p,[T])},onAppearCancelled(T){I(T,!0),st($,[T])},onLeaveCancelled(T){w(T),st(M,[T])}})}function jc(e){if(e==null)return null;if(Z(e))return[Xn(e.enter),Xn(e.leave)];{const t=Xn(e);return[t,t]}}function Xn(e){return $i(e)}function Ke(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[Ut]||(e[Ut]=new Set)).add(t)}function ot(e,t){t.split(/\s+/).forEach(r=>r&&e.classList.remove(r));const n=e[Ut];n&&(n.delete(t),n.size||(e[Ut]=void 0))}function Rs(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let Vc=0;function Os(e,t,n,r){const s=e._endId=++Vc,o=()=>{s===e._endId&&r()};if(n)return setTimeout(o,n);const{type:i,timeout:l,propCount:c}=Dc(e,t);if(!i)return r();const a=i+"end";let f=0;const h=()=>{e.removeEventListener(a,m),o()},m=_=>{_.target===e&&++f>=c&&h()};setTimeout(()=>{f(n[C]||"").split(", "),s=r(`${ke}Delay`),o=r(`${ke}Duration`),i=Ls(s,o),l=r(`${Tt}Delay`),c=r(`${Tt}Duration`),a=Ls(l,c);let f=null,h=0,m=0;t===ke?i>0&&(f=ke,h=i,m=o.length):t===Tt?a>0&&(f=Tt,h=a,m=c.length):(h=Math.max(i,a),f=h>0?i>a?ke:Tt:null,m=f?f===ke?o.length:c.length:0);const _=f===ke&&/\b(transform|all)(,|$)/.test(r(`${ke}Property`).toString());return{type:f,timeout:h,propCount:m,hasTransform:_}}function Ls(e,t){for(;e.lengthIs(n)+Is(e[r])))}function Is(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function Uc(){return document.body.offsetHeight}function Bc(e,t,n){const r=e[Ut];r&&(t=(t?[t,...r]:[...r]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const Ms=Symbol("_vod"),kc=Symbol("_vsh"),Kc=Symbol(""),Wc=/(^|;)\s*display\s*:/;function qc(e,t,n){const r=e.style,s=oe(n);let o=!1;if(n&&!s){if(t)if(oe(t))for(const i of t.split(";")){const l=i.slice(0,i.indexOf(":")).trim();n[l]==null&&pn(r,l,"")}else for(const i in t)n[i]==null&&pn(r,i,"");for(const i in n)i==="display"&&(o=!0),pn(r,i,n[i])}else if(s){if(t!==n){const i=r[Kc];i&&(n+=";"+i),r.cssText=n,o=Wc.test(n)}}else t&&e.removeAttribute("style");Ms in e&&(e[Ms]=o?r.display:"",e[kc]&&(r.display="none"))}const Ps=/\s*!important$/;function pn(e,t,n){if(B(n))n.forEach(r=>pn(e,t,r));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const r=Gc(e,t);Ps.test(n)?e.setProperty(ft(r),n.replace(Ps,""),"important"):e[r]=n}}const Ns=["Webkit","Moz","ms"],Yn={};function Gc(e,t){const n=Yn[t];if(n)return n;let r=$e(t);if(r!=="filter"&&r in e)return Yn[t]=r;r=An(r);for(let s=0;sJn||(Qc.then(()=>Jn=0),Jn=Date.now());function ea(e,t){const n=r=>{if(!r._vts)r._vts=Date.now();else if(r._vts<=n.attached)return;Se(ta(r,n.value),t,5,[r])};return n.value=e,n.attached=Zc(),n}function ta(e,t){if(B(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(r=>s=>!s._stopped&&r&&r(s))}else return t}const Vs=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,na=(e,t,n,r,s,o,i,l,c)=>{const a=s==="svg";t==="class"?Bc(e,r,a):t==="style"?qc(e,n,r):kt(t)?Er(t)||Yc(e,t,n,r,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):ra(e,t,r,a))?(zc(e,t,r,o,i,l,c),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&$s(e,t,r,a,i,t!=="value")):(t==="true-value"?e._trueValue=r:t==="false-value"&&(e._falseValue=r),$s(e,t,r,a))};function ra(e,t,n,r){if(r)return!!(t==="innerHTML"||t==="textContent"||t in e&&Vs(t)&&K(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const s=e.tagName;if(s==="IMG"||s==="VIDEO"||s==="CANVAS"||s==="SOURCE")return!1}return Vs(t)&&oe(n)?!1:t in e}const Ds=e=>{const t=e.props["onUpdate:modelValue"]||!1;return B(t)?n=>fn(t,n):t};function sa(e){e.target.composing=!0}function Us(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const Qn=Symbol("_assign"),vu={created(e,{modifiers:{lazy:t,trim:n,number:r}},s){e[Qn]=Ds(s);const o=r||s.props&&s.props.type==="number";gt(e,t?"change":"input",i=>{if(i.target.composing)return;let l=e.value;n&&(l=l.trim()),o&&(l=cr(l)),e[Qn](l)}),n&>(e,"change",()=>{e.value=e.value.trim()}),t||(gt(e,"compositionstart",sa),gt(e,"compositionend",Us),gt(e,"change",Us))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:r,trim:s,number:o}},i){if(e[Qn]=Ds(i),e.composing)return;const l=(o||e.type==="number")&&!/^0\d/.test(e.value)?cr(e.value):e.value,c=t??"";l!==c&&(document.activeElement===e&&e.type!=="range"&&(r&&t===n||s&&e.value.trim()===c)||(e.value=c))}},oa=["ctrl","shift","alt","meta"],ia={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)=>oa.some(n=>e[`${n}Key`]&&!t.includes(n))},bu=(e,t)=>{const n=e._withMods||(e._withMods={}),r=t.join(".");return n[r]||(n[r]=(s,...o)=>{for(let i=0;i{const n=e._withKeys||(e._withKeys={}),r=t.join(".");return n[r]||(n[r]=s=>{if(!("key"in s))return;const o=ft(s.key);if(t.some(i=>i===o||la[i]===o))return e(s)})},ui=le({patchProp:na},$c);let Ft,Bs=!1;function ca(){return Ft||(Ft=ic(ui))}function aa(){return Ft=Bs?Ft:lc(ui),Bs=!0,Ft}const Eu=(...e)=>{const t=ca().createApp(...e),{mount:n}=t;return t.mount=r=>{const s=di(r);if(!s)return;const o=t._component;!K(o)&&!o.render&&!o.template&&(o.template=s.innerHTML),s.innerHTML="";const i=n(s,!1,fi(s));return s instanceof Element&&(s.removeAttribute("v-cloak"),s.setAttribute("data-v-app","")),i},t},Cu=(...e)=>{const t=aa().createApp(...e),{mount:n}=t;return t.mount=r=>{const s=di(r);if(s)return n(s,!0,fi(s))},t};function fi(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function di(e){return oe(e)?document.querySelector(e):e}const xu=(e,t)=>{const n=e.__vccOpts||e;for(const[r,s]of t)n[r]=s;return n},Su="/show/wechat.png",Tu="/show/douyin.png",Au="/show/mp.png",Ru="/show/code.png",Ou="/show/flow.png",Lu="/show/admin.png",ua="modulepreload",fa=function(e){return"/"+e},ks={},Iu=function(t,n,r){let s=Promise.resolve();if(n&&n.length>0){document.getElementsByTagName("link");const o=document.querySelector("meta[property=csp-nonce]"),i=(o==null?void 0:o.nonce)||(o==null?void 0:o.getAttribute("nonce"));s=Promise.all(n.map(l=>{if(l=fa(l),l in ks)return;ks[l]=!0;const c=l.endsWith(".css"),a=c?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${l}"]${a}`))return;const f=document.createElement("link");if(f.rel=c?"stylesheet":ua,c||(f.as="script",f.crossOrigin=""),f.href=l,i&&f.setAttribute("nonce",i),document.head.appendChild(f),c)return new Promise((h,m)=>{f.addEventListener("load",h),f.addEventListener("error",()=>m(new Error(`Unable to preload CSS for ${l}`)))})}))}return s.then(()=>t()).catch(o=>{const i=new Event("vite:preloadError",{cancelable:!0});if(i.payload=o,window.dispatchEvent(i),!i.defaultPrevented)throw o})},da=window.__VP_SITE_DATA__;function Kr(e){return io()?(qi(e),!0):!1}function Fe(e){return typeof e=="function"?e():Eo(e)}const hi=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const ha=Object.prototype.toString,pa=e=>ha.call(e)==="[object Object]",Bt=()=>{},Ks=ga();function ga(){var e,t;return hi&&((e=window==null?void 0:window.navigator)==null?void 0:e.userAgent)&&(/iP(?:ad|hone|od)/.test(window.navigator.userAgent)||((t=window==null?void 0:window.navigator)==null?void 0:t.maxTouchPoints)>2&&/iPad|Macintosh/.test(window==null?void 0:window.navigator.userAgent))}function ma(e,t){function n(...r){return new Promise((s,o)=>{Promise.resolve(e(()=>t.apply(this,r),{fn:t,thisArg:this,args:r})).then(s).catch(o)})}return n}const pi=e=>e();function ya(e,t={}){let n,r,s=Bt;const o=l=>{clearTimeout(l),s(),s=Bt};return l=>{const c=Fe(e),a=Fe(t.maxWait);return n&&o(n),c<=0||a!==void 0&&a<=0?(r&&(o(r),r=null),Promise.resolve(l())):new Promise((f,h)=>{s=t.rejectOnCancel?h:f,a&&!r&&(r=setTimeout(()=>{n&&o(n),r=null,f(l())},a)),n=setTimeout(()=>{r&&o(r),r=null,f(l())},c)})}}function _a(e=pi){const t=se(!0);function n(){t.value=!1}function r(){t.value=!0}const s=(...o)=>{t.value&&e(...o)};return{isActive:Ln(t),pause:n,resume:r,eventFilter:s}}function va(e){return jn()}function gi(...e){if(e.length!==1)return wl(...e);const t=e[0];return typeof t=="function"?Ln(_l(()=>({get:t,set:Bt}))):se(t)}function mi(e,t,n={}){const{eventFilter:r=pi,...s}=n;return Ne(e,ma(r,t),s)}function ba(e,t,n={}){const{eventFilter:r,...s}=n,{eventFilter:o,pause:i,resume:l,isActive:c}=_a(r);return{stop:mi(e,t,{...s,eventFilter:o}),pause:i,resume:l,isActive:c}}function Wr(e,t=!0,n){va()?xt(e,n):t?e():In(e)}function Mu(e,t,n={}){const{debounce:r=0,maxWait:s=void 0,...o}=n;return mi(e,t,{...o,eventFilter:ya(r,{maxWait:s})})}function Pu(e,t,n){let r;de(n)?r={evaluating:n}:r={};const{lazy:s=!1,evaluating:o=void 0,shallow:i=!0,onError:l=Bt}=r,c=se(!s),a=i?Fr(t):se(t);let f=0;return Br(async h=>{if(!c.value)return;f++;const m=f;let _=!1;o&&Promise.resolve().then(()=>{o.value=!0});try{const C=await e(L=>{h(()=>{o&&(o.value=!1),_||L()})});m===f&&(a.value=C)}catch(C){l(C)}finally{o&&m===f&&(o.value=!1),_=!0}}),s?re(()=>(c.value=!0,a.value)):a}function yi(e){var t;const n=Fe(e);return(t=n==null?void 0:n.$el)!=null?t:n}const Oe=hi?window:void 0;function Ct(...e){let t,n,r,s;if(typeof e[0]=="string"||Array.isArray(e[0])?([n,r,s]=e,t=Oe):[t,n,r,s]=e,!t)return Bt;Array.isArray(n)||(n=[n]),Array.isArray(r)||(r=[r]);const o=[],i=()=>{o.forEach(f=>f()),o.length=0},l=(f,h,m,_)=>(f.addEventListener(h,m,_),()=>f.removeEventListener(h,m,_)),c=Ne(()=>[yi(t),Fe(s)],([f,h])=>{if(i(),!f)return;const m=pa(h)?{...h}:h;o.push(...n.flatMap(_=>r.map(C=>l(f,_,C,m))))},{immediate:!0,flush:"post"}),a=()=>{c(),i()};return Kr(a),a}function wa(e){return typeof e=="function"?e:typeof e=="string"?t=>t.key===e:Array.isArray(e)?t=>e.includes(t.key):()=>!0}function Nu(...e){let t,n,r={};e.length===3?(t=e[0],n=e[1],r=e[2]):e.length===2?typeof e[1]=="object"?(t=!0,n=e[0],r=e[1]):(t=e[0],n=e[1]):(t=!0,n=e[0]);const{target:s=Oe,eventName:o="keydown",passive:i=!1,dedupe:l=!1}=r,c=wa(t);return Ct(s,o,f=>{f.repeat&&Fe(l)||c(f)&&n(f)},i)}function Ea(){const e=se(!1),t=jn();return t&&xt(()=>{e.value=!0},t),e}function Ca(e){const t=Ea();return re(()=>(t.value,!!e()))}function _i(e,t={}){const{window:n=Oe}=t,r=Ca(()=>n&&"matchMedia"in n&&typeof n.matchMedia=="function");let s;const o=se(!1),i=a=>{o.value=a.matches},l=()=>{s&&("removeEventListener"in s?s.removeEventListener("change",i):s.removeListener(i))},c=Br(()=>{r.value&&(l(),s=n.matchMedia(Fe(e)),"addEventListener"in s?s.addEventListener("change",i):s.addListener(i),o.value=s.matches)});return Kr(()=>{c(),l(),s=void 0}),o}const ln=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},cn="__vueuse_ssr_handlers__",xa=Sa();function Sa(){return cn in ln||(ln[cn]=ln[cn]||{}),ln[cn]}function vi(e,t){return xa[e]||t}function Ta(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 Aa={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()}},Ws="vueuse-storage";function qr(e,t,n,r={}){var s;const{flush:o="pre",deep:i=!0,listenToStorageChanges:l=!0,writeDefaults:c=!0,mergeDefaults:a=!1,shallow:f,window:h=Oe,eventFilter:m,onError:_=w=>{console.error(w)},initOnMounted:C}=r,L=(f?Fr:se)(typeof t=="function"?t():t);if(!n)try{n=vi("getDefaultStorage",()=>{var w;return(w=Oe)==null?void 0:w.localStorage})()}catch(w){_(w)}if(!n)return L;const k=Fe(t),W=Ta(k),V=(s=r.serializer)!=null?s:Aa[W],{pause:p,resume:y}=ba(L,()=>A(L.value),{flush:o,deep:i,eventFilter:m});h&&l&&Wr(()=>{Ct(h,"storage",$),Ct(h,Ws,I),C&&$()}),C||$();function M(w,N){h&&h.dispatchEvent(new CustomEvent(Ws,{detail:{key:e,oldValue:w,newValue:N,storageArea:n}}))}function A(w){try{const N=n.getItem(e);if(w==null)M(N,null),n.removeItem(e);else{const T=V.write(w);N!==T&&(n.setItem(e,T),M(N,T))}}catch(N){_(N)}}function F(w){const N=w?w.newValue:n.getItem(e);if(N==null)return c&&k!=null&&n.setItem(e,V.write(k)),k;if(!w&&a){const T=V.read(N);return typeof a=="function"?a(T,k):W==="object"&&!Array.isArray(T)?{...k,...T}:T}else return typeof N!="string"?N:V.read(N)}function $(w){if(!(w&&w.storageArea!==n)){if(w&&w.key==null){L.value=k;return}if(!(w&&w.key!==e)){p();try{(w==null?void 0:w.newValue)!==V.write(L.value)&&(L.value=F(w))}catch(N){_(N)}finally{w?In(y):y()}}}}function I(w){$(w.detail)}return L}function bi(e){return _i("(prefers-color-scheme: dark)",e)}function Ra(e={}){const{selector:t="html",attribute:n="class",initialValue:r="auto",window:s=Oe,storage:o,storageKey:i="vueuse-color-scheme",listenToStorageChanges:l=!0,storageRef:c,emitAuto:a,disableTransition:f=!0}=e,h={auto:"",light:"light",dark:"dark",...e.modes||{}},m=bi({window:s}),_=re(()=>m.value?"dark":"light"),C=c||(i==null?gi(r):qr(i,r,o,{window:s,listenToStorageChanges:l})),L=re(()=>C.value==="auto"?_.value:C.value),k=vi("updateHTMLAttrs",(y,M,A)=>{const F=typeof y=="string"?s==null?void 0:s.document.querySelector(y):yi(y);if(!F)return;let $;if(f&&($=s.document.createElement("style"),$.appendChild(document.createTextNode("*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}")),s.document.head.appendChild($)),M==="class"){const I=A.split(/\s/g);Object.values(h).flatMap(w=>(w||"").split(/\s/g)).filter(Boolean).forEach(w=>{I.includes(w)?F.classList.add(w):F.classList.remove(w)})}else F.setAttribute(M,A);f&&(s.getComputedStyle($).opacity,document.head.removeChild($))});function W(y){var M;k(t,n,(M=h[y])!=null?M:y)}function V(y){e.onChanged?e.onChanged(y,W):W(y)}Ne(L,V,{flush:"post",immediate:!0}),Wr(()=>V(L.value));const p=re({get(){return a?C.value:L.value},set(y){C.value=y}});try{return Object.assign(p,{store:C,system:_,state:L})}catch{return p}}function Oa(e={}){const{valueDark:t="dark",valueLight:n="",window:r=Oe}=e,s=Ra({...e,onChanged:(l,c)=>{var a;e.onChanged?(a=e.onChanged)==null||a.call(e,l==="dark",c,l):c(l)},modes:{dark:t,light:n}}),o=re(()=>s.system?s.system.value:bi({window:r}).value?"dark":"light");return re({get(){return s.value==="dark"},set(l){const c=l?"dark":"light";o.value===c?s.value="auto":s.value=c}})}function Zn(e){return typeof Window<"u"&&e instanceof Window?e.document.documentElement:typeof Document<"u"&&e instanceof Document?e.documentElement:e}function Fu(e,t,n={}){const{window:r=Oe}=n;return qr(e,t,r==null?void 0:r.localStorage,n)}function wi(e){const t=window.getComputedStyle(e);if(t.overflowX==="scroll"||t.overflowY==="scroll"||t.overflowX==="auto"&&e.clientWidth1?!0:(t.preventDefault&&t.preventDefault(),!1)}const er=new WeakMap;function $u(e,t=!1){const n=se(t);let r=null,s="";Ne(gi(e),l=>{const c=Zn(Fe(l));if(c){const a=c;if(er.get(a)||er.set(a,a.style.overflow),a.style.overflow!=="hidden"&&(s=a.style.overflow),a.style.overflow==="hidden")return n.value=!0;if(n.value)return a.style.overflow="hidden"}},{immediate:!0});const o=()=>{const l=Zn(Fe(e));!l||n.value||(Ks&&(r=Ct(l,"touchmove",c=>{La(c)},{passive:!1})),l.style.overflow="hidden",n.value=!0)},i=()=>{const l=Zn(Fe(e));!l||!n.value||(Ks&&(r==null||r()),l.style.overflow=s,er.delete(l),n.value=!1)};return Kr(i),re({get(){return n.value},set(l){l?o():i()}})}function Hu(e,t,n={}){const{window:r=Oe}=n;return qr(e,t,r==null?void 0:r.sessionStorage,n)}function ju(e={}){const{window:t=Oe,behavior:n="auto"}=e;if(!t)return{x:se(0),y:se(0)};const r=se(t.scrollX),s=se(t.scrollY),o=re({get(){return r.value},set(l){scrollTo({left:l,behavior:n})}}),i=re({get(){return s.value},set(l){scrollTo({top:l,behavior:n})}});return Ct(t,"scroll",()=>{r.value=t.scrollX,s.value=t.scrollY},{capture:!1,passive:!0}),{x:o,y:i}}function Vu(e={}){const{window:t=Oe,initialWidth:n=Number.POSITIVE_INFINITY,initialHeight:r=Number.POSITIVE_INFINITY,listenOrientation:s=!0,includeScrollbar:o=!0}=e,i=se(n),l=se(r),c=()=>{t&&(o?(i.value=t.innerWidth,l.value=t.innerHeight):(i.value=t.document.documentElement.clientWidth,l.value=t.document.documentElement.clientHeight))};if(c(),Wr(c),Ct("resize",c,{passive:!0}),s){const a=_i("(orientation: portrait)");Ne(a,()=>c())}return{width:i,height:l}}var tr={BASE_URL:"/",MODE:"production",DEV:!1,PROD:!0,SSR:!1},nr={};const Ei=/^(?:[a-z]+:|\/\/)/i,Ia="vitepress-theme-appearance",Ma=/#.*$/,Pa=/[?#].*$/,Na=/(?:(^|\/)index)?\.(?:md|html)$/,he=typeof document<"u",Ci={relativePath:"404.md",filePath:"",title:"404",description:"Not Found",headers:[],frontmatter:{sidebar:!1,layout:"page"},lastUpdated:0,isNotFound:!0};function Fa(e,t,n=!1){if(t===void 0)return!1;if(e=qs(`/${e}`),n)return new RegExp(t).test(e);if(qs(t)!==e)return!1;const r=t.match(Ma);return r?(he?location.hash:"")===r[0]:!0}function qs(e){return decodeURI(e).replace(Pa,"").replace(Na,"$1")}function $a(e){return Ei.test(e)}function Ha(e,t){return Object.keys((e==null?void 0:e.locales)||{}).find(n=>n!=="root"&&!$a(n)&&Fa(t,`/${n}/`,!0))||"root"}function ja(e,t){var r,s,o,i,l,c,a;const n=Ha(e,t);return Object.assign({},e,{localeIndex:n,lang:((r=e.locales[n])==null?void 0:r.lang)??e.lang,dir:((s=e.locales[n])==null?void 0:s.dir)??e.dir,title:((o=e.locales[n])==null?void 0:o.title)??e.title,titleTemplate:((i=e.locales[n])==null?void 0:i.titleTemplate)??e.titleTemplate,description:((l=e.locales[n])==null?void 0:l.description)??e.description,head:Si(e.head,((c=e.locales[n])==null?void 0:c.head)??[]),themeConfig:{...e.themeConfig,...(a=e.locales[n])==null?void 0:a.themeConfig}})}function xi(e,t){const n=t.title||e.title,r=t.titleTemplate??e.titleTemplate;if(typeof r=="string"&&r.includes(":title"))return r.replace(/:title/g,n);const s=Va(e.title,r);return n===s.slice(3)?n:`${n}${s}`}function Va(e,t){return t===!1?"":t===!0||t===void 0?` | ${e}`:e===t?"":` | ${t}`}function Da(e,t){const[n,r]=t;if(n!=="meta")return!1;const s=Object.entries(r)[0];return s==null?!1:e.some(([o,i])=>o===n&&i[s[0]]===s[1])}function Si(e,t){return[...e.filter(n=>!Da(t,n)),...t]}const Ua=/[\u0000-\u001F"#$&*+,:;<=>?[\]^`{|}\u007F]/g,Ba=/^[a-z]:/i;function Gs(e){const t=Ba.exec(e),n=t?t[0]:"";return n+e.slice(n.length).replace(Ua,"_").replace(/(^|\/)_+(?=[^/]*$)/,"$1")}const rr=new Set;function ka(e){if(rr.size===0){const n=typeof process=="object"&&(nr==null?void 0:nr.VITE_EXTRA_EXTENSIONS)||(tr==null?void 0:tr.VITE_EXTRA_EXTENSIONS)||"";("3g2,3gp,aac,ai,apng,au,avif,bin,bmp,cer,class,conf,crl,css,csv,dll,doc,eps,epub,exe,gif,gz,ics,ief,jar,jpe,jpeg,jpg,js,json,jsonld,m4a,man,mid,midi,mjs,mov,mp2,mp3,mp4,mpe,mpeg,mpg,mpp,oga,ogg,ogv,ogx,opus,otf,p10,p7c,p7m,p7s,pdf,png,ps,qt,roff,rtf,rtx,ser,svg,t,tif,tiff,tr,ts,tsv,ttf,txt,vtt,wav,weba,webm,webp,woff,woff2,xhtml,xml,yaml,yml,zip"+(n&&typeof n=="string"?","+n:"")).split(",").forEach(r=>rr.add(r))}const t=e.split(".").pop();return t==null||!rr.has(t.toLowerCase())}function Du(e){return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}const Ka=Symbol(),ut=Fr(da);function Uu(e){const t=re(()=>ja(ut.value,e.data.relativePath)),n=t.value.appearance,r=n==="force-dark"?se(!0):n?Oa({storageKey:Ia,initialValue:()=>n==="dark"?"dark":"auto",...typeof n=="object"?n:{}}):se(!1),s=se(he?location.hash:"");return he&&window.addEventListener("hashchange",()=>{s.value=location.hash}),Ne(()=>e.data,()=>{s.value=he?location.hash:""}),{site:t,theme:re(()=>t.value.themeConfig),page:re(()=>e.data),frontmatter:re(()=>e.data.frontmatter),params:re(()=>e.data.params),lang:re(()=>t.value.lang),dir:re(()=>e.data.frontmatter.dir||t.value.dir),localeIndex:re(()=>t.value.localeIndex||"root"),title:re(()=>xi(t.value,e.data)),description:re(()=>e.data.description||t.value.description),isDark:r,hash:re(()=>s.value)}}function Wa(){const e=wt(Ka);if(!e)throw new Error("vitepress data not properly injected in app");return e}function qa(e,t){return`${e}${t}`.replace(/\/+/g,"/")}function zs(e){return Ei.test(e)||!e.startsWith("/")?e:qa(ut.value.base,e)}function Ga(e){let t=e.replace(/\.html$/,"");if(t=decodeURIComponent(t),t=t.replace(/\/$/,"/index"),he){const n="/";t=Gs(t.slice(n.length).replace(/\//g,"_")||"index")+".md";let r=__VP_HASH_MAP__[t.toLowerCase()];if(r||(t=t.endsWith("_index.md")?t.slice(0,-9)+".md":t.slice(0,-3)+"_index.md",r=__VP_HASH_MAP__[t.toLowerCase()]),!r)return null;t=`${n}assets/${t}.${r}.js`}else t=`./${Gs(t.slice(1).replace(/\//g,"_"))}.md.js`;return t}let gn=[];function Bu(e){gn.push(e),$n(()=>{gn=gn.filter(t=>t!==e)})}function za(){let e=ut.value.scrollOffset,t=0,n=24;if(typeof e=="object"&&"padding"in e&&(n=e.padding,e=e.selector),typeof e=="number")t=e;else if(typeof e=="string")t=Xs(e,n);else if(Array.isArray(e))for(const r of e){const s=Xs(r,n);if(s){t=s;break}}return t}function Xs(e,t){const n=document.querySelector(e);if(!n)return 0;const r=n.getBoundingClientRect().bottom;return r<0?0:r+t}const Xa=Symbol(),Ti="http://a.com",Ya=()=>({path:"/",component:null,data:Ci});function ku(e,t){const n=On(Ya()),r={route:n,go:s};async function s(l=he?location.href:"/"){var c,a;l=sr(l),await((c=r.onBeforeRouteChange)==null?void 0:c.call(r,l))!==!1&&(he&&l!==sr(location.href)&&(history.replaceState({scrollPosition:window.scrollY},""),history.pushState({},"",l)),await i(l),await((a=r.onAfterRouteChanged)==null?void 0:a.call(r,l)))}let o=null;async function i(l,c=0,a=!1){var m;if(await((m=r.onBeforePageLoad)==null?void 0:m.call(r,l))===!1)return;const f=new URL(l,Ti),h=o=f.pathname;try{let _=await e(h);if(!_)throw new Error(`Page not found: ${h}`);if(o===h){o=null;const{default:C,__pageData:L}=_;if(!C)throw new Error(`Invalid route component: ${C}`);n.path=he?h:zs(h),n.component=dn(C),n.data=dn(L),he&&In(()=>{let k=ut.value.base+L.relativePath.replace(/(?:(^|\/)index)?\.md$/,"$1");if(!ut.value.cleanUrls&&!k.endsWith("/")&&(k+=".html"),k!==f.pathname&&(f.pathname=k,l=k+f.search+f.hash,history.replaceState({},"",l)),f.hash&&!c){let W=null;try{W=document.getElementById(decodeURIComponent(f.hash).slice(1))}catch(V){console.warn(V)}if(W){Ys(W,f.hash);return}}window.scrollTo(0,c)})}}catch(_){if(!/fetch|Page not found/.test(_.message)&&!/^\/404(\.html|\/)?$/.test(l)&&console.error(_),!a)try{const C=await fetch(ut.value.base+"hashmap.json");window.__VP_HASH_MAP__=await C.json(),await i(l,c,!0);return}catch{}if(o===h){o=null,n.path=he?h:zs(h),n.component=t?dn(t):null;const C=he?h.replace(/(^|\/)$/,"$1index").replace(/(\.html)?$/,".md").replace(/^\//,""):"404.md";n.data={...Ci,relativePath:C}}}}return he&&(history.state===null&&history.replaceState({},""),window.addEventListener("click",l=>{if(l.defaultPrevented||!(l.target instanceof Element)||l.target.closest("button")||l.button!==0||l.ctrlKey||l.shiftKey||l.altKey||l.metaKey)return;const c=l.target.closest("a");if(!c||c.closest(".vp-raw")||c.hasAttribute("download")||c.hasAttribute("target"))return;const a=c.getAttribute("href")??(c instanceof SVGAElement?c.getAttribute("xlink:href"):null);if(a==null)return;const{href:f,origin:h,pathname:m,hash:_,search:C}=new URL(a,c.baseURI),L=new URL(location.href);h===L.origin&&ka(m)&&(l.preventDefault(),m===L.pathname&&C===L.search?(_!==L.hash&&(history.pushState({},"",f),window.dispatchEvent(new HashChangeEvent("hashchange",{oldURL:L.href,newURL:f}))),_?Ys(c,_,c.classList.contains("header-anchor")):window.scrollTo(0,0)):s(f))},{capture:!0}),window.addEventListener("popstate",async l=>{var c;l.state!==null&&(await i(sr(location.href),l.state&&l.state.scrollPosition||0),(c=r.onAfterRouteChanged)==null||c.call(r,location.href))}),window.addEventListener("hashchange",l=>{l.preventDefault()})),r}function Ja(){const e=wt(Xa);if(!e)throw new Error("useRouter() is called without provider.");return e}function Ai(){return Ja().route}function Ys(e,t,n=!1){let r=null;try{r=e.classList.contains("header-anchor")?e:document.getElementById(decodeURIComponent(t).slice(1))}catch(s){console.warn(s)}if(r){let s=function(){!n||Math.abs(i-window.scrollY)>window.innerHeight?window.scrollTo(0,i):window.scrollTo({left:0,top:i,behavior:"smooth"})};const o=parseInt(window.getComputedStyle(r).paddingTop,10),i=window.scrollY+r.getBoundingClientRect().top-za()+o;requestAnimationFrame(s)}}function sr(e){const t=new URL(e,Ti);return t.pathname=t.pathname.replace(/(^|\/)index(\.html)?$/,"$1"),ut.value.cleanUrls?t.pathname=t.pathname.replace(/\.html$/,""):!t.pathname.endsWith("/")&&!t.pathname.endsWith(".html")&&(t.pathname+=".html"),t.pathname+t.search+t.hash}const or=()=>gn.forEach(e=>e()),Ku=jr({name:"VitePressContent",props:{as:{type:[Object,String],default:"div"}},setup(e){const t=Ai(),{site:n}=Wa();return()=>br(e.as,n.value.contentProps??{style:{position:"relative"}},[t.component?br(t.component,{onVnodeMounted:or,onVnodeUpdated:or,onVnodeUnmounted:or}):"404 Page Not Found"])}}),Wu=jr({setup(e,{slots:t}){const n=se(!1);return xt(()=>{n.value=!0}),()=>n.value&&t.default?t.default():null}});function qu(){he&&window.addEventListener("click",e=>{var n;const t=e.target;if(t.matches(".vp-code-group input")){const r=(n=t.parentElement)==null?void 0:n.parentElement;if(!r)return;const s=Array.from(r.querySelectorAll("input")).indexOf(t);if(s<0)return;const o=r.querySelector(".blocks");if(!o)return;const i=Array.from(o.children).find(a=>a.classList.contains("active"));if(!i)return;const l=o.children[s];if(!l||i===l)return;i.classList.remove("active"),l.classList.add("active");const c=r==null?void 0:r.querySelector(`label[for="${t.id}"]`);c==null||c.scrollIntoView({block:"nearest"})}})}function Gu(){if(he){const e=new WeakMap;window.addEventListener("click",t=>{var r;const n=t.target;if(n.matches('div[class*="language-"] > button.copy')){const s=n.parentElement,o=(r=n.nextElementSibling)==null?void 0:r.nextElementSibling;if(!s||!o)return;const i=/language-(shellscript|shell|bash|sh|zsh)/.test(s.className),l=[".vp-copy-ignore",".diff.remove"],c=o.cloneNode(!0);c.querySelectorAll(l.join(",")).forEach(f=>f.remove());let a=c.textContent||"";i&&(a=a.replace(/^ *(\$|>) /gm,"").trim()),Qa(a).then(()=>{n.classList.add("copied"),clearTimeout(e.get(n));const f=setTimeout(()=>{n.classList.remove("copied"),n.blur(),e.delete(n)},2e3);e.set(n,f)})}})}}async function Qa(e){try{return navigator.clipboard.writeText(e)}catch{const t=document.createElement("textarea"),n=document.activeElement;t.value=e,t.setAttribute("readonly",""),t.style.contain="strict",t.style.position="absolute",t.style.left="-9999px",t.style.fontSize="12pt";const r=document.getSelection(),s=r?r.rangeCount>0&&r.getRangeAt(0):null;document.body.appendChild(t),t.select(),t.selectionStart=0,t.selectionEnd=e.length,document.execCommand("copy"),document.body.removeChild(t),s&&(r.removeAllRanges(),r.addRange(s)),n&&n.focus()}}function zu(e,t){let n=!0,r=[];const s=o=>{if(n){n=!1,o.forEach(l=>{const c=ir(l);for(const a of document.head.children)if(a.isEqualNode(c)){r.push(a);return}});return}const i=o.map(ir);r.forEach((l,c)=>{const a=i.findIndex(f=>f==null?void 0:f.isEqualNode(l??null));a!==-1?delete i[a]:(l==null||l.remove(),delete r[c])}),i.forEach(l=>l&&document.head.appendChild(l)),r=[...r,...i].filter(Boolean)};Br(()=>{const o=e.data,i=t.value,l=o&&o.description,c=o&&o.frontmatter.head||[],a=xi(i,o);a!==document.title&&(document.title=a);const f=l||i.description;let h=document.querySelector("meta[name=description]");h?h.getAttribute("content")!==f&&h.setAttribute("content",f):ir(["meta",{name:"description",content:f}]),s(Si(i.head,eu(c)))})}function ir([e,t,n]){const r=document.createElement(e);for(const s in t)r.setAttribute(s,t[s]);return n&&(r.innerHTML=n),e==="script"&&!t.async&&(r.async=!1),r}function Za(e){return e[0]==="meta"&&e[1]&&e[1].name==="description"}function eu(e){return e.filter(t=>!Za(t))}const lr=new Set,Ri=()=>document.createElement("link"),tu=e=>{const t=Ri();t.rel="prefetch",t.href=e,document.head.appendChild(t)},nu=e=>{const t=new XMLHttpRequest;t.open("GET",e,t.withCredentials=!0),t.send()};let an;const ru=he&&(an=Ri())&&an.relList&&an.relList.supports&&an.relList.supports("prefetch")?tu:nu;function Xu(){if(!he||!window.IntersectionObserver)return;let e;if((e=navigator.connection)&&(e.saveData||/2g/.test(e.effectiveType)))return;const t=window.requestIdleCallback||setTimeout;let n=null;const r=()=>{n&&n.disconnect(),n=new IntersectionObserver(o=>{o.forEach(i=>{if(i.isIntersecting){const l=i.target;n.unobserve(l);const{pathname:c}=l;if(!lr.has(c)){lr.add(c);const a=Ga(c);a&&ru(a)}}})}),t(()=>{document.querySelectorAll("#app a").forEach(o=>{const{hostname:i,pathname:l}=new URL(o.href instanceof SVGAnimatedString?o.href.animVal:o.href,o.baseURI),c=l.match(/\.\w+$/);c&&c[0]!==".html"||o.target!=="_blank"&&i===location.hostname&&(l!==location.pathname?n.observe(o):lr.add(l))})})};xt(r);const s=Ai();Ne(()=>s.path,r),$n(()=>{n&&n.disconnect()})}export{du as $,pu as A,Hl as B,za as C,iu as D,au as E,_e as F,Fr as G,Bu as H,ie as I,lu as J,Ei as K,Ai as L,xc as M,wt as N,Vu as O,Sr as P,Nu as Q,In as R,ju as S,ci as T,he as U,Ln as V,uu as W,Iu as X,$u as Y,Jl as Z,xu as _,si as a,wu as a0,Io as a1,bu as a2,hu as a3,yu as a4,Su as a5,Tu as a6,Au as a7,Ru as a8,Ou as a9,gu as aA,dn as aB,Eu as aC,Du as aD,Lu as aa,zu as ab,Xa as ac,Uu as ad,Ka as ae,Ku as af,Wu as ag,ut as ah,Cu as ai,ku as aj,Ga as ak,Xu as al,Gu as am,qu as an,br as ao,yi as ap,Kr as aq,Pu as ar,Hu as as,Fu as at,Mu as au,Ja as av,Ct as aw,cu as ax,vu as ay,de as az,ti as b,mu as c,jr as d,_u as e,ka as f,zs as g,re as h,$a as i,ri as j,Eo as k,ou as l,Fa as m,Tr as n,Zo as o,su as p,_i as q,fu as r,se as s,ki as t,Wa as u,Ne as v,Ol as w,Br as x,xt as y,$n as z}; diff --git a/.vitepress/dist/assets/chunks/theme.4IiZwtXC.js b/.vitepress/dist/assets/chunks/theme.JaXF9rxx.js similarity index 99% rename from .vitepress/dist/assets/chunks/theme.4IiZwtXC.js rename to .vitepress/dist/assets/chunks/theme.JaXF9rxx.js index 63f12cc..8ba6655 100644 --- a/.vitepress/dist/assets/chunks/theme.4IiZwtXC.js +++ b/.vitepress/dist/assets/chunks/theme.JaXF9rxx.js @@ -1,4 +1,4 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/chunks/VPLocalSearchBox.wwHTyTvd.js","assets/chunks/framework.DHgIdERs.js"])))=>i.map(i=>d[i]); -import{d as _,o as s,c as u,r as l,n as M,a as te,t as C,b as k,w as m,e as h,T as Ae,_ as y,u as Vt,i as wt,f as Tt,g as Be,h as L,j as p,k as r,p as G,l as q,m as le,q as Ee,s as H,v as ee,x as $e,y as re,z as Oe,A as Fe,B as It,C as Nt,D as ce,F as B,E as K,G as Ze,H as ye,I as b,J as Q,K as Qe,L as me,M as se,N as Le,O as Et,P as xe,Q as ze,R as et,S as tt,U as Pe,V as zt,W as Ct,X as Ht,Y as ot,Z as nt,$ as Mt,a0 as At,a1 as Bt,a2 as Ot,a3 as Ft}from"./framework.DHgIdERs.js";const Dt=_({__name:"VPBadge",props:{text:{},type:{default:"tip"}},setup(o){return(e,t)=>(s(),u("span",{class:M(["VPBadge",e.type])},[l(e.$slots,"default",{},()=>[te(C(e.text),1)])],2))}}),jt={key:0,class:"VPBackdrop"},Ut=_({__name:"VPBackdrop",props:{show:{type:Boolean}},setup(o){return(e,t)=>(s(),k(Ae,{name:"fade"},{default:m(()=>[e.show?(s(),u("div",jt)):h("",!0)]),_:1}))}}),Gt=y(Ut,[["__scopeId","data-v-ee4f8a0b"]]),V=Vt;function qt(o,e){let t,a=!1;return()=>{t&&clearTimeout(t),a?t=setTimeout(o,e):(o(),(a=!0)&&setTimeout(()=>a=!1,e))}}function Ce(o){return/^\//.test(o)?o:`/${o}`}function De(o){const{pathname:e,search:t,hash:a,protocol:n}=new URL(o,"http://a.com");if(wt(o)||o.startsWith("#")||!n.startsWith("http")||!Tt(e))return o;const{site:i}=V(),c=e.endsWith("/")||e.endsWith(".html")?o:o.replace(/(?:(^\.+)\/)?.*$/,`$1${e.replace(/(\.md)?$/,i.value.cleanUrls?"":".html")}${t}${a}`);return Be(c)}function pe({correspondingLink:o=!1}={}){const{site:e,localeIndex:t,page:a,theme:n,hash:i}=V(),c=L(()=>{var v,g;return{label:(v=e.value.locales[t.value])==null?void 0:v.label,link:((g=e.value.locales[t.value])==null?void 0:g.link)||(t.value==="root"?"/":`/${t.value}/`)}});return{localeLinks:L(()=>Object.entries(e.value.locales).flatMap(([v,g])=>c.value.label===g.label?[]:{text:g.label,link:Rt(g.link||(v==="root"?"/":`/${v}/`),n.value.i18nRouting!==!1&&o,a.value.relativePath.slice(c.value.link.length-1),!e.value.cleanUrls)+i.value})),currentLang:c}}function Rt(o,e,t,a){return e?o.replace(/\/$/,"")+Ce(t.replace(/(^|\/)index\.md$/,"$1").replace(/\.md$/,a?".html":"")):o}const Wt=o=>(G("data-v-25b3c91b"),o=o(),q(),o),Kt={class:"NotFound"},Yt={class:"code"},Jt={class:"title"},Xt=Wt(()=>p("div",{class:"divider"},null,-1)),Zt={class:"quote"},Qt={class:"action"},xt=["href","aria-label"],eo=_({__name:"NotFound",setup(o){const{theme:e}=V(),{currentLang:t}=pe();return(a,n)=>{var i,c,d,v,g;return s(),u("div",Kt,[p("p",Yt,C(((i=r(e).notFound)==null?void 0:i.code)??"404"),1),p("h1",Jt,C(((c=r(e).notFound)==null?void 0:c.title)??"PAGE NOT FOUND"),1),Xt,p("blockquote",Zt,C(((d=r(e).notFound)==null?void 0:d.quote)??"But if you don't change your direction, and if you keep looking, you may end up where you are heading."),1),p("div",Qt,[p("a",{class:"link",href:r(Be)(r(t).link),"aria-label":((v=r(e).notFound)==null?void 0:v.linkLabel)??"go to home"},C(((g=r(e).notFound)==null?void 0:g.linkText)??"Take me home"),9,xt)])])}}}),to=y(eo,[["__scopeId","data-v-25b3c91b"]]);function at(o,e){if(Array.isArray(o))return ge(o);if(o==null)return[];e=Ce(e);const t=Object.keys(o).sort((n,i)=>i.split("/").length-n.split("/").length).find(n=>e.startsWith(Ce(n))),a=t?o[t]:[];return Array.isArray(a)?ge(a):ge(a.items,a.base)}function oo(o){const e=[];let t=0;for(const a in o){const n=o[a];if(n.items){t=e.push(n);continue}e[t]||e.push({items:[]}),e[t].items.push(n)}return e}function no(o){const e=[];function t(a){for(const n of a)n.text&&n.link&&e.push({text:n.text,link:n.link,docFooterText:n.docFooterText}),n.items&&t(n.items)}return t(o),e}function He(o,e){return Array.isArray(e)?e.some(t=>He(o,t)):le(o,e.link)?!0:e.items?He(o,e.items):!1}function ge(o,e){return[...o].map(t=>{const a={...t},n=a.base||e;return n&&a.link&&(a.link=n+a.link),a.items&&(a.items=ge(a.items,n)),a})}function oe(){const{frontmatter:o,page:e,theme:t}=V(),a=Ee("(min-width: 960px)"),n=H(!1),i=L(()=>{const F=t.value.sidebar,z=e.value.relativePath;return F?at(F,z):[]}),c=H(i.value);ee(i,(F,z)=>{JSON.stringify(F)!==JSON.stringify(z)&&(c.value=i.value)});const d=L(()=>o.value.sidebar!==!1&&c.value.length>0&&o.value.layout!=="home"),v=L(()=>g?o.value.aside==null?t.value.aside==="left":o.value.aside==="left":!1),g=L(()=>o.value.layout==="home"?!1:o.value.aside!=null?!!o.value.aside:t.value.aside!==!1),I=L(()=>d.value&&a.value),$=L(()=>d.value?oo(c.value):[]);function S(){n.value=!0}function E(){n.value=!1}function N(){n.value?E():S()}return{isOpen:n,sidebar:c,sidebarGroups:$,hasSidebar:d,hasAside:g,leftAside:v,isSidebarEnabled:I,open:S,close:E,toggle:N}}function ao(o,e){let t;$e(()=>{t=o.value?document.activeElement:void 0}),re(()=>{window.addEventListener("keyup",a)}),Oe(()=>{window.removeEventListener("keyup",a)});function a(n){n.key==="Escape"&&o.value&&(e(),t==null||t.focus())}}function so(o){const{page:e,hash:t}=V(),a=H(!1),n=L(()=>o.value.collapsed!=null),i=L(()=>!!o.value.link),c=H(!1),d=()=>{c.value=le(e.value.relativePath,o.value.link)};ee([e,o,t],d),re(d);const v=L(()=>c.value?!0:o.value.items?He(e.value.relativePath,o.value.items):!1),g=L(()=>!!(o.value.items&&o.value.items.length));$e(()=>{a.value=!!(n.value&&o.value.collapsed)}),Fe(()=>{(c.value||v.value)&&(a.value=!1)});function I(){n.value&&(a.value=!a.value)}return{collapsed:a,collapsible:n,isLink:i,isActiveLink:c,hasActiveLink:v,hasChildren:g,toggle:I}}function ro(){const{hasSidebar:o}=oe(),e=Ee("(min-width: 960px)"),t=Ee("(min-width: 1280px)");return{isAsideEnabled:L(()=>!t.value&&!e.value?!1:o.value?t.value:e.value)}}const Me=[];function st(o){return typeof o.outline=="object"&&!Array.isArray(o.outline)&&o.outline.label||o.outlineTitle||"On this page"}function je(o){const e=[...document.querySelectorAll(".VPDoc :where(h1,h2,h3,h4,h5,h6)")].filter(t=>t.id&&t.hasChildNodes()).map(t=>{const a=Number(t.tagName[1]);return{element:t,title:io(t),link:"#"+t.id,level:a}});return lo(e,o)}function io(o){let e="";for(const t of o.childNodes)if(t.nodeType===1){if(t.classList.contains("VPBadge")||t.classList.contains("header-anchor")||t.classList.contains("ignore-header"))continue;e+=t.textContent}else t.nodeType===3&&(e+=t.textContent);return e.trim()}function lo(o,e){if(e===!1)return[];const t=(typeof e=="object"&&!Array.isArray(e)?e.level:e)||2,[a,n]=typeof t=="number"?[t,t]:t==="deep"?[2,6]:t;o=o.filter(c=>c.level>=a&&c.level<=n),Me.length=0;for(const{element:c,link:d}of o)Me.push({element:c,link:d});const i=[];e:for(let c=0;c=0;v--){const g=o[v];if(g.level{requestAnimationFrame(i),window.addEventListener("scroll",a)}),It(()=>{c(location.hash)}),Oe(()=>{window.removeEventListener("scroll",a)});function i(){if(!t.value)return;const d=window.scrollY,v=window.innerHeight,g=document.body.offsetHeight,I=Math.abs(d+v-g)<1,$=Me.map(({element:E,link:N})=>({link:N,top:uo(E)})).filter(({top:E})=>!Number.isNaN(E)).sort((E,N)=>E.top-N.top);if(!$.length){c(null);return}if(d<1){c(null);return}if(I){c($[$.length-1].link);return}let S=null;for(const{link:E,top:N}of $){if(N>d+Nt()+4)break;S=E}c(S)}function c(d){n&&n.classList.remove("active"),d==null?n=null:n=o.value.querySelector(`a[href="${decodeURIComponent(d)}"]`);const v=n;v?(v.classList.add("active"),e.value.style.top=v.offsetTop+39+"px",e.value.style.opacity="1"):(e.value.style.top="33px",e.value.style.opacity="0")}}function uo(o){let e=0;for(;o!==document.body;){if(o===null)return NaN;e+=o.offsetTop,o=o.offsetParent}return e}const vo=["href","title"],mo=_({__name:"VPDocOutlineItem",props:{headers:{},root:{type:Boolean}},setup(o){function e({target:t}){const a=t.href.split("#")[1],n=document.getElementById(decodeURIComponent(a));n==null||n.focus({preventScroll:!0})}return(t,a)=>{const n=ce("VPDocOutlineItem",!0);return s(),u("ul",{class:M(["VPDocOutlineItem",t.root?"root":"nested"])},[(s(!0),u(B,null,K(t.headers,({children:i,link:c,title:d})=>(s(),u("li",null,[p("a",{class:"outline-link",href:c,onClick:e,title:d},C(d),9,vo),i!=null&&i.length?(s(),k(n,{key:0,headers:i},null,8,["headers"])):h("",!0)]))),256))],2)}}}),rt=y(mo,[["__scopeId","data-v-a53304d2"]]),po={class:"content"},fo={"aria-level":"2",class:"outline-title",id:"doc-outline-aria-label",role:"heading"},ho=_({__name:"VPDocAsideOutline",setup(o){const{frontmatter:e,theme:t}=V(),a=Ze([]);ye(()=>{a.value=je(e.value.outline??t.value.outline)});const n=H(),i=H();return co(n,i),(c,d)=>(s(),u("nav",{"aria-labelledby":"doc-outline-aria-label",class:M(["VPDocAsideOutline",{"has-outline":a.value.length>0}]),ref_key:"container",ref:n},[p("div",po,[p("div",{class:"outline-marker",ref_key:"marker",ref:i},null,512),p("div",fo,C(r(st)(r(t))),1),b(rt,{headers:a.value,root:!0},null,8,["headers"])])],2))}}),_o=y(ho,[["__scopeId","data-v-e9242aa7"]]),go={class:"VPDocAsideCarbonAds"},bo=_({__name:"VPDocAsideCarbonAds",props:{carbonAds:{}},setup(o){const e=()=>null;return(t,a)=>(s(),u("div",go,[b(r(e),{"carbon-ads":t.carbonAds},null,8,["carbon-ads"])]))}}),ko=o=>(G("data-v-4ef74901"),o=o(),q(),o),$o={class:"VPDocAside"},yo=ko(()=>p("div",{class:"spacer"},null,-1)),Lo=_({__name:"VPDocAside",setup(o){const{theme:e}=V();return(t,a)=>(s(),u("div",$o,[l(t.$slots,"aside-top",{},void 0,!0),l(t.$slots,"aside-outline-before",{},void 0,!0),b(_o),l(t.$slots,"aside-outline-after",{},void 0,!0),yo,l(t.$slots,"aside-ads-before",{},void 0,!0),r(e).carbonAds?(s(),k(bo,{key:0,"carbon-ads":r(e).carbonAds},null,8,["carbon-ads"])):h("",!0),l(t.$slots,"aside-ads-after",{},void 0,!0),l(t.$slots,"aside-bottom",{},void 0,!0)]))}}),Po=y(Lo,[["__scopeId","data-v-4ef74901"]]);function So(){const{theme:o,page:e}=V();return L(()=>{const{text:t="Edit this page",pattern:a=""}=o.value.editLink||{};let n;return typeof a=="function"?n=a(e.value):n=a.replace(/:path/g,e.value.filePath),{url:n,text:t}})}function Vo(){const{page:o,theme:e,frontmatter:t}=V();return L(()=>{var g,I,$,S,E,N,F,z;const a=at(e.value.sidebar,o.value.relativePath),n=no(a),i=wo(n,J=>J.link.replace(/[?#].*$/,"")),c=i.findIndex(J=>le(o.value.relativePath,J.link)),d=((g=e.value.docFooter)==null?void 0:g.prev)===!1&&!t.value.prev||t.value.prev===!1,v=((I=e.value.docFooter)==null?void 0:I.next)===!1&&!t.value.next||t.value.next===!1;return{prev:d?void 0:{text:(typeof t.value.prev=="string"?t.value.prev:typeof t.value.prev=="object"?t.value.prev.text:void 0)??(($=i[c-1])==null?void 0:$.docFooterText)??((S=i[c-1])==null?void 0:S.text),link:(typeof t.value.prev=="object"?t.value.prev.link:void 0)??((E=i[c-1])==null?void 0:E.link)},next:v?void 0:{text:(typeof t.value.next=="string"?t.value.next:typeof t.value.next=="object"?t.value.next.text:void 0)??((N=i[c+1])==null?void 0:N.docFooterText)??((F=i[c+1])==null?void 0:F.text),link:(typeof t.value.next=="object"?t.value.next.link:void 0)??((z=i[c+1])==null?void 0:z.link)}}})}function wo(o,e){const t=new Set;return o.filter(a=>{const n=e(a);return t.has(n)?!1:t.add(n)})}const x=_({__name:"VPLink",props:{tag:{},href:{},noIcon:{type:Boolean},target:{},rel:{}},setup(o){const e=o,t=L(()=>e.tag??(e.href?"a":"span")),a=L(()=>e.href&&Qe.test(e.href)||e.target==="_blank");return(n,i)=>(s(),k(Q(t.value),{class:M(["VPLink",{link:n.href,"vp-external-link-icon":a.value,"no-icon":n.noIcon}]),href:n.href?r(De)(n.href):void 0,target:n.target??(a.value?"_blank":void 0),rel:n.rel??(a.value?"noreferrer":void 0)},{default:m(()=>[l(n.$slots,"default")]),_:3},8,["class","href","target","rel"]))}}),To={class:"VPLastUpdated"},Io=["datetime"],No=_({__name:"VPDocFooterLastUpdated",setup(o){const{theme:e,page:t,lang:a}=V(),n=L(()=>new Date(t.value.lastUpdated)),i=L(()=>n.value.toISOString()),c=H("");return re(()=>{$e(()=>{var d,v,g;c.value=new Intl.DateTimeFormat((v=(d=e.value.lastUpdated)==null?void 0:d.formatOptions)!=null&&v.forceLocale?a.value:void 0,((g=e.value.lastUpdated)==null?void 0:g.formatOptions)??{dateStyle:"short",timeStyle:"short"}).format(n.value)})}),(d,v)=>{var g;return s(),u("p",To,[te(C(((g=r(e).lastUpdated)==null?void 0:g.text)||r(e).lastUpdatedText||"Last updated")+": ",1),p("time",{datetime:i.value},C(c.value),9,Io)])}}}),Eo=y(No,[["__scopeId","data-v-4e3c18a4"]]),it=o=>(G("data-v-34368ad2"),o=o(),q(),o),zo={key:0,class:"VPDocFooter"},Co={key:0,class:"edit-info"},Ho={key:0,class:"edit-link"},Mo=it(()=>p("span",{class:"vpi-square-pen edit-link-icon"},null,-1)),Ao={key:1,class:"last-updated"},Bo={key:1,class:"prev-next","aria-labelledby":"doc-footer-aria-label"},Oo=it(()=>p("span",{class:"visually-hidden",id:"doc-footer-aria-label"},"Pager",-1)),Fo={class:"pager"},Do=["innerHTML"],jo=["innerHTML"],Uo={class:"pager"},Go=["innerHTML"],qo=["innerHTML"],Ro=_({__name:"VPDocFooter",setup(o){const{theme:e,page:t,frontmatter:a}=V(),n=So(),i=Vo(),c=L(()=>e.value.editLink&&a.value.editLink!==!1),d=L(()=>t.value.lastUpdated),v=L(()=>c.value||d.value||i.value.prev||i.value.next);return(g,I)=>{var $,S,E,N;return v.value?(s(),u("footer",zo,[l(g.$slots,"doc-footer-before",{},void 0,!0),c.value||d.value?(s(),u("div",Co,[c.value?(s(),u("div",Ho,[b(x,{class:"edit-link-button",href:r(n).url,"no-icon":!0},{default:m(()=>[Mo,te(" "+C(r(n).text),1)]),_:1},8,["href"])])):h("",!0),d.value?(s(),u("div",Ao,[b(Eo)])):h("",!0)])):h("",!0),($=r(i).prev)!=null&&$.link||(S=r(i).next)!=null&&S.link?(s(),u("nav",Bo,[Oo,p("div",Fo,[(E=r(i).prev)!=null&&E.link?(s(),k(x,{key:0,class:"pager-link prev",href:r(i).prev.link},{default:m(()=>{var F;return[p("span",{class:"desc",innerHTML:((F=r(e).docFooter)==null?void 0:F.prev)||"Previous page"},null,8,Do),p("span",{class:"title",innerHTML:r(i).prev.text},null,8,jo)]}),_:1},8,["href"])):h("",!0)]),p("div",Uo,[(N=r(i).next)!=null&&N.link?(s(),k(x,{key:0,class:"pager-link next",href:r(i).next.link},{default:m(()=>{var F;return[p("span",{class:"desc",innerHTML:((F=r(e).docFooter)==null?void 0:F.next)||"Next page"},null,8,Go),p("span",{class:"title",innerHTML:r(i).next.text},null,8,qo)]}),_:1},8,["href"])):h("",!0)])])):h("",!0)])):h("",!0)}}}),Wo=y(Ro,[["__scopeId","data-v-34368ad2"]]),Ko=o=>(G("data-v-b521a168"),o=o(),q(),o),Yo={class:"container"},Jo=Ko(()=>p("div",{class:"aside-curtain"},null,-1)),Xo={class:"aside-container"},Zo={class:"aside-content"},Qo={class:"content"},xo={class:"content-container"},en={class:"main"},tn=_({__name:"VPDoc",setup(o){const{theme:e}=V(),t=me(),{hasSidebar:a,hasAside:n,leftAside:i}=oe(),c=L(()=>t.path.replace(/[./]+/g,"_").replace(/_html$/,""));return(d,v)=>{const g=ce("Content");return s(),u("div",{class:M(["VPDoc",{"has-sidebar":r(a),"has-aside":r(n)}])},[l(d.$slots,"doc-top",{},void 0,!0),p("div",Yo,[r(n)?(s(),u("div",{key:0,class:M(["aside",{"left-aside":r(i)}])},[Jo,p("div",Xo,[p("div",Zo,[b(Po,null,{"aside-top":m(()=>[l(d.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":m(()=>[l(d.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":m(()=>[l(d.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":m(()=>[l(d.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":m(()=>[l(d.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":m(()=>[l(d.$slots,"aside-ads-after",{},void 0,!0)]),_:3})])])],2)):h("",!0),p("div",Qo,[p("div",xo,[l(d.$slots,"doc-before",{},void 0,!0),p("main",en,[b(g,{class:M(["vp-doc",[c.value,r(e).externalLinkIcon&&"external-link-icon-enabled"]])},null,8,["class"])]),b(Wo,null,{"doc-footer-before":m(()=>[l(d.$slots,"doc-footer-before",{},void 0,!0)]),_:3}),l(d.$slots,"doc-after",{},void 0,!0)])])]),l(d.$slots,"doc-bottom",{},void 0,!0)],2)}}}),on=y(tn,[["__scopeId","data-v-b521a168"]]),nn=_({__name:"VPButton",props:{tag:{},size:{default:"medium"},theme:{default:"brand"},text:{},href:{},target:{},rel:{}},setup(o){const e=o,t=L(()=>e.href&&Qe.test(e.href)),a=L(()=>e.tag||e.href?"a":"button");return(n,i)=>(s(),k(Q(a.value),{class:M(["VPButton",[n.size,n.theme]]),href:n.href?r(De)(n.href):void 0,target:e.target??(t.value?"_blank":void 0),rel:e.rel??(t.value?"noreferrer":void 0)},{default:m(()=>[te(C(n.text),1)]),_:1},8,["class","href","target","rel"]))}}),an=y(nn,[["__scopeId","data-v-89174608"]]),sn=["src","alt"],rn=_({inheritAttrs:!1,__name:"VPImage",props:{image:{},alt:{}},setup(o){return(e,t)=>{const a=ce("VPImage",!0);return e.image?(s(),u(B,{key:0},[typeof e.image=="string"||"src"in e.image?(s(),u("img",se({key:0,class:"VPImage"},typeof e.image=="string"?e.$attrs:{...e.image,...e.$attrs},{src:r(Be)(typeof e.image=="string"?e.image:e.image.src),alt:e.alt??(typeof e.image=="string"?"":e.image.alt||"")}),null,16,sn)):(s(),u(B,{key:1},[b(a,se({class:"dark",image:e.image.dark,alt:e.image.alt},e.$attrs),null,16,["image","alt"]),b(a,se({class:"light",image:e.image.light,alt:e.image.alt},e.$attrs),null,16,["image","alt"])],64))],64)):h("",!0)}}}),ke=y(rn,[["__scopeId","data-v-13e6cd18"]]),ln=o=>(G("data-v-0661e2e5"),o=o(),q(),o),cn={class:"container"},un={class:"main"},dn={key:0,class:"name"},vn=["innerHTML"],mn=["innerHTML"],pn=["innerHTML"],fn={key:0,class:"actions"},hn={key:0,class:"image"},_n={class:"image-container"},gn=ln(()=>p("div",{class:"image-bg"},null,-1)),bn=_({__name:"VPHero",props:{name:{},text:{},tagline:{},image:{},actions:{}},setup(o){const e=Le("hero-image-slot-exists");return(t,a)=>(s(),u("div",{class:M(["VPHero",{"has-image":t.image||r(e)}])},[p("div",cn,[p("div",un,[l(t.$slots,"home-hero-info-before",{},void 0,!0),l(t.$slots,"home-hero-info",{},()=>[t.name?(s(),u("h1",dn,[p("span",{innerHTML:t.name,class:"clip"},null,8,vn)])):h("",!0),t.text?(s(),u("p",{key:1,innerHTML:t.text,class:"text"},null,8,mn)):h("",!0),t.tagline?(s(),u("p",{key:2,innerHTML:t.tagline,class:"tagline"},null,8,pn)):h("",!0)],!0),l(t.$slots,"home-hero-info-after",{},void 0,!0),t.actions?(s(),u("div",fn,[(s(!0),u(B,null,K(t.actions,n=>(s(),u("div",{key:n.link,class:"action"},[b(an,{tag:"a",size:"medium",theme:n.theme,text:n.text,href:n.link,target:n.target,rel:n.rel},null,8,["theme","text","href","target","rel"])]))),128))])):h("",!0),l(t.$slots,"home-hero-actions-after",{},void 0,!0)]),t.image||r(e)?(s(),u("div",hn,[p("div",_n,[gn,l(t.$slots,"home-hero-image",{},()=>[t.image?(s(),k(ke,{key:0,class:"image-src",image:t.image},null,8,["image"])):h("",!0)],!0)])])):h("",!0)])],2))}}),kn=y(bn,[["__scopeId","data-v-0661e2e5"]]),$n=_({__name:"VPHomeHero",setup(o){const{frontmatter:e}=V();return(t,a)=>r(e).hero?(s(),k(kn,{key:0,class:"VPHomeHero",name:r(e).hero.name,text:r(e).hero.text,tagline:r(e).hero.tagline,image:r(e).hero.image,actions:r(e).hero.actions},{"home-hero-info-before":m(()=>[l(t.$slots,"home-hero-info-before")]),"home-hero-info":m(()=>[l(t.$slots,"home-hero-info")]),"home-hero-info-after":m(()=>[l(t.$slots,"home-hero-info-after")]),"home-hero-actions-after":m(()=>[l(t.$slots,"home-hero-actions-after")]),"home-hero-image":m(()=>[l(t.$slots,"home-hero-image")]),_:3},8,["name","text","tagline","image","actions"])):h("",!0)}}),yn=o=>(G("data-v-98aa41e6"),o=o(),q(),o),Ln={class:"box"},Pn={key:0,class:"icon"},Sn=["innerHTML"],Vn=["innerHTML"],wn=["innerHTML"],Tn={key:4,class:"link-text"},In={class:"link-text-value"},Nn=yn(()=>p("span",{class:"vpi-arrow-right link-text-icon"},null,-1)),En=_({__name:"VPFeature",props:{icon:{},title:{},details:{},link:{},linkText:{},rel:{},target:{}},setup(o){return(e,t)=>(s(),k(x,{class:"VPFeature",href:e.link,rel:e.rel,target:e.target,"no-icon":!0,tag:e.link?"a":"div"},{default:m(()=>[p("article",Ln,[typeof e.icon=="object"&&e.icon.wrap?(s(),u("div",Pn,[b(ke,{image:e.icon,alt:e.icon.alt,height:e.icon.height||48,width:e.icon.width||48},null,8,["image","alt","height","width"])])):typeof e.icon=="object"?(s(),k(ke,{key:1,image:e.icon,alt:e.icon.alt,height:e.icon.height||48,width:e.icon.width||48},null,8,["image","alt","height","width"])):e.icon?(s(),u("div",{key:2,class:"icon",innerHTML:e.icon},null,8,Sn)):h("",!0),p("h2",{class:"title",innerHTML:e.title},null,8,Vn),e.details?(s(),u("p",{key:3,class:"details",innerHTML:e.details},null,8,wn)):h("",!0),e.linkText?(s(),u("div",Tn,[p("p",In,[te(C(e.linkText)+" ",1),Nn])])):h("",!0)])]),_:1},8,["href","rel","target","tag"]))}}),zn=y(En,[["__scopeId","data-v-98aa41e6"]]),Cn={key:0,class:"VPFeatures"},Hn={class:"container"},Mn={class:"items"},An=_({__name:"VPFeatures",props:{features:{}},setup(o){const e=o,t=L(()=>{const a=e.features.length;if(a){if(a===2)return"grid-2";if(a===3)return"grid-3";if(a%3===0)return"grid-6";if(a>3)return"grid-4"}else return});return(a,n)=>a.features?(s(),u("div",Cn,[p("div",Hn,[p("div",Mn,[(s(!0),u(B,null,K(a.features,i=>(s(),u("div",{key:i.title,class:M(["item",[t.value]])},[b(zn,{icon:i.icon,title:i.title,details:i.details,link:i.link,"link-text":i.linkText,rel:i.rel,target:i.target},null,8,["icon","title","details","link","link-text","rel","target"])],2))),128))])])])):h("",!0)}}),Bn=y(An,[["__scopeId","data-v-178d34ad"]]),On=_({__name:"VPHomeFeatures",setup(o){const{frontmatter:e}=V();return(t,a)=>r(e).features?(s(),k(Bn,{key:0,class:"VPHomeFeatures",features:r(e).features},null,8,["features"])):h("",!0)}}),Fn=_({__name:"VPHomeContent",setup(o){const{width:e}=Et({initialWidth:0,includeScrollbar:!1});return(t,a)=>(s(),u("div",{class:"vp-doc container",style:xe(r(e)?{"--vp-offset":`calc(50% - ${r(e)/2}px)`}:{})},[l(t.$slots,"default",{},void 0,!0)],4))}}),Dn=y(Fn,[["__scopeId","data-v-cfbc1a43"]]),jn={class:"VPHome"},Un=_({__name:"VPHome",setup(o){const{frontmatter:e}=V();return(t,a)=>{const n=ce("Content");return s(),u("div",jn,[l(t.$slots,"home-hero-before",{},void 0,!0),b($n,null,{"home-hero-info-before":m(()=>[l(t.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":m(()=>[l(t.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":m(()=>[l(t.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":m(()=>[l(t.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":m(()=>[l(t.$slots,"home-hero-image",{},void 0,!0)]),_:3}),l(t.$slots,"home-hero-after",{},void 0,!0),l(t.$slots,"home-features-before",{},void 0,!0),b(On),l(t.$slots,"home-features-after",{},void 0,!0),r(e).markdownStyles!==!1?(s(),k(Dn,{key:0},{default:m(()=>[b(n)]),_:1})):(s(),k(n,{key:1}))])}}}),Gn=y(Un,[["__scopeId","data-v-fd2ffb77"]]),qn={},Rn={class:"VPPage"};function Wn(o,e){const t=ce("Content");return s(),u("div",Rn,[l(o.$slots,"page-top"),b(t),l(o.$slots,"page-bottom")])}const Kn=y(qn,[["render",Wn]]),Yn=_({__name:"VPContent",setup(o){const{page:e,frontmatter:t}=V(),{hasSidebar:a}=oe();return(n,i)=>(s(),u("div",{class:M(["VPContent",{"has-sidebar":r(a),"is-home":r(t).layout==="home"}]),id:"VPContent"},[r(e).isNotFound?l(n.$slots,"not-found",{key:0},()=>[b(to)],!0):r(t).layout==="page"?(s(),k(Kn,{key:1},{"page-top":m(()=>[l(n.$slots,"page-top",{},void 0,!0)]),"page-bottom":m(()=>[l(n.$slots,"page-bottom",{},void 0,!0)]),_:3})):r(t).layout==="home"?(s(),k(Gn,{key:2},{"home-hero-before":m(()=>[l(n.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info-before":m(()=>[l(n.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":m(()=>[l(n.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":m(()=>[l(n.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":m(()=>[l(n.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":m(()=>[l(n.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":m(()=>[l(n.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":m(()=>[l(n.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":m(()=>[l(n.$slots,"home-features-after",{},void 0,!0)]),_:3})):r(t).layout&&r(t).layout!=="doc"?(s(),k(Q(r(t).layout),{key:3})):(s(),k(on,{key:4},{"doc-top":m(()=>[l(n.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":m(()=>[l(n.$slots,"doc-bottom",{},void 0,!0)]),"doc-footer-before":m(()=>[l(n.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":m(()=>[l(n.$slots,"doc-before",{},void 0,!0)]),"doc-after":m(()=>[l(n.$slots,"doc-after",{},void 0,!0)]),"aside-top":m(()=>[l(n.$slots,"aside-top",{},void 0,!0)]),"aside-outline-before":m(()=>[l(n.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":m(()=>[l(n.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":m(()=>[l(n.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":m(()=>[l(n.$slots,"aside-ads-after",{},void 0,!0)]),"aside-bottom":m(()=>[l(n.$slots,"aside-bottom",{},void 0,!0)]),_:3}))],2))}}),Jn=y(Yn,[["__scopeId","data-v-cb0805a1"]]),Xn={class:"container"},Zn=["innerHTML"],Qn=["innerHTML"],xn=_({__name:"VPFooter",setup(o){const{theme:e,frontmatter:t}=V(),{hasSidebar:a}=oe();return(n,i)=>r(e).footer&&r(t).footer!==!1?(s(),u("footer",{key:0,class:M(["VPFooter",{"has-sidebar":r(a)}])},[p("div",Xn,[r(e).footer.message?(s(),u("p",{key:0,class:"message",innerHTML:r(e).footer.message},null,8,Zn)):h("",!0),r(e).footer.copyright?(s(),u("p",{key:1,class:"copyright",innerHTML:r(e).footer.copyright},null,8,Qn)):h("",!0)])],2)):h("",!0)}}),ea=y(xn,[["__scopeId","data-v-c01e8608"]]);function ta(){const{theme:o,frontmatter:e}=V(),t=Ze([]),a=L(()=>t.value.length>0);return ye(()=>{t.value=je(e.value.outline??o.value.outline)}),{headers:t,hasLocalNav:a}}const oa=o=>(G("data-v-f9d4ca59"),o=o(),q(),o),na={class:"menu-text"},aa=oa(()=>p("span",{class:"vpi-chevron-right icon"},null,-1)),sa={class:"header"},ra={class:"outline"},ia=_({__name:"VPLocalNavOutlineDropdown",props:{headers:{},navHeight:{}},setup(o){const e=o,{theme:t}=V(),a=H(!1),n=H(0),i=H(),c=H();function d($){var S;(S=i.value)!=null&&S.contains($.target)||(a.value=!1)}ee(a,$=>{if($){document.addEventListener("click",d);return}document.removeEventListener("click",d)}),ze("Escape",()=>{a.value=!1}),ye(()=>{a.value=!1});function v(){a.value=!a.value,n.value=window.innerHeight+Math.min(window.scrollY-e.navHeight,0)}function g($){$.target.classList.contains("outline-link")&&(c.value&&(c.value.style.transition="none"),et(()=>{a.value=!1}))}function I(){a.value=!1,window.scrollTo({top:0,left:0,behavior:"smooth"})}return($,S)=>(s(),u("div",{class:"VPLocalNavOutlineDropdown",style:xe({"--vp-vh":n.value+"px"}),ref_key:"main",ref:i},[$.headers.length>0?(s(),u("button",{key:0,onClick:v,class:M({open:a.value})},[p("span",na,C(r(st)(r(t))),1),aa],2)):(s(),u("button",{key:1,onClick:I},C(r(t).returnToTopLabel||"Return to top"),1)),b(Ae,{name:"flyout"},{default:m(()=>[a.value?(s(),u("div",{key:0,ref_key:"items",ref:c,class:"items",onClick:g},[p("div",sa,[p("a",{class:"top-link",href:"#",onClick:I},C(r(t).returnToTopLabel||"Return to top"),1)]),p("div",ra,[b(rt,{headers:$.headers},null,8,["headers"])])],512)):h("",!0)]),_:1})],4))}}),la=y(ia,[["__scopeId","data-v-f9d4ca59"]]),ca=o=>(G("data-v-4b826de3"),o=o(),q(),o),ua={class:"container"},da=["aria-expanded"],va=ca(()=>p("span",{class:"vpi-align-left menu-icon"},null,-1)),ma={class:"menu-text"},pa=_({__name:"VPLocalNav",props:{open:{type:Boolean}},emits:["open-menu"],setup(o){const{theme:e,frontmatter:t}=V(),{hasSidebar:a}=oe(),{headers:n}=ta(),{y:i}=tt(),c=H(0);re(()=>{c.value=parseInt(getComputedStyle(document.documentElement).getPropertyValue("--vp-nav-height"))}),ye(()=>{n.value=je(t.value.outline??e.value.outline)});const d=L(()=>n.value.length===0),v=L(()=>d.value&&!a.value),g=L(()=>({VPLocalNav:!0,"has-sidebar":a.value,empty:d.value,fixed:v.value}));return(I,$)=>r(t).layout!=="home"&&(!v.value||r(i)>=c.value)?(s(),u("div",{key:0,class:M(g.value)},[p("div",ua,[r(a)?(s(),u("button",{key:0,class:"menu","aria-expanded":I.open,"aria-controls":"VPSidebarNav",onClick:$[0]||($[0]=S=>I.$emit("open-menu"))},[va,p("span",ma,C(r(e).sidebarMenuLabel||"Menu"),1)],8,da)):h("",!0),b(la,{headers:r(n),navHeight:c.value},null,8,["headers","navHeight"])])],2)):h("",!0)}}),fa=y(pa,[["__scopeId","data-v-4b826de3"]]);function ha(){const o=H(!1);function e(){o.value=!0,window.addEventListener("resize",n)}function t(){o.value=!1,window.removeEventListener("resize",n)}function a(){o.value?t():e()}function n(){window.outerWidth>=768&&t()}const i=me();return ee(()=>i.path,t),{isScreenOpen:o,openScreen:e,closeScreen:t,toggleScreen:a}}const _a={},ga={class:"VPSwitch",type:"button",role:"switch"},ba={class:"check"},ka={key:0,class:"icon"};function $a(o,e){return s(),u("button",ga,[p("span",ba,[o.$slots.default?(s(),u("span",ka,[l(o.$slots,"default",{},void 0,!0)])):h("",!0)])])}const ya=y(_a,[["render",$a],["__scopeId","data-v-c5a026db"]]),lt=o=>(G("data-v-5e81030c"),o=o(),q(),o),La=lt(()=>p("span",{class:"vpi-sun sun"},null,-1)),Pa=lt(()=>p("span",{class:"vpi-moon moon"},null,-1)),Sa=_({__name:"VPSwitchAppearance",setup(o){const{isDark:e,theme:t}=V(),a=Le("toggle-appearance",()=>{e.value=!e.value}),n=H("");return Fe(()=>{n.value=e.value?t.value.lightModeSwitchTitle||"Switch to light theme":t.value.darkModeSwitchTitle||"Switch to dark theme"}),(i,c)=>(s(),k(ya,{title:n.value,class:"VPSwitchAppearance","aria-checked":r(e),onClick:r(a)},{default:m(()=>[La,Pa]),_:1},8,["title","aria-checked","onClick"]))}}),Ue=y(Sa,[["__scopeId","data-v-5e81030c"]]),Va={key:0,class:"VPNavBarAppearance"},wa=_({__name:"VPNavBarAppearance",setup(o){const{site:e}=V();return(t,a)=>r(e).appearance&&r(e).appearance!=="force-dark"&&r(e).appearance!=="force-auto"?(s(),u("div",Va,[b(Ue)])):h("",!0)}}),Ta=y(wa,[["__scopeId","data-v-830f4e0c"]]),Ge=H();let ct=!1,Ne=0;function Ia(o){const e=H(!1);if(Pe){!ct&&Na(),Ne++;const t=ee(Ge,a=>{var n,i,c;a===o.el.value||(n=o.el.value)!=null&&n.contains(a)?(e.value=!0,(i=o.onFocus)==null||i.call(o)):(e.value=!1,(c=o.onBlur)==null||c.call(o))});Oe(()=>{t(),Ne--,Ne||Ea()})}return zt(e)}function Na(){document.addEventListener("focusin",ut),ct=!0,Ge.value=document.activeElement}function Ea(){document.removeEventListener("focusin",ut)}function ut(){Ge.value=document.activeElement}const za={class:"VPMenuLink"},Ca=_({__name:"VPMenuLink",props:{item:{}},setup(o){const{page:e}=V();return(t,a)=>(s(),u("div",za,[b(x,{class:M({active:r(le)(r(e).relativePath,t.item.activeMatch||t.item.link,!!t.item.activeMatch)}),href:t.item.link,target:t.item.target,rel:t.item.rel},{default:m(()=>[te(C(t.item.text),1)]),_:1},8,["class","href","target","rel"])]))}}),Se=y(Ca,[["__scopeId","data-v-47efe451"]]),Ha={class:"VPMenuGroup"},Ma={key:0,class:"title"},Aa=_({__name:"VPMenuGroup",props:{text:{},items:{}},setup(o){return(e,t)=>(s(),u("div",Ha,[e.text?(s(),u("p",Ma,C(e.text),1)):h("",!0),(s(!0),u(B,null,K(e.items,a=>(s(),u(B,null,["link"in a?(s(),k(Se,{key:0,item:a},null,8,["item"])):h("",!0)],64))),256))]))}}),Ba=y(Aa,[["__scopeId","data-v-dd99de09"]]),Oa={class:"VPMenu"},Fa={key:0,class:"items"},Da=_({__name:"VPMenu",props:{items:{}},setup(o){return(e,t)=>(s(),u("div",Oa,[e.items?(s(),u("div",Fa,[(s(!0),u(B,null,K(e.items,a=>(s(),u(B,{key:JSON.stringify(a)},["link"in a?(s(),k(Se,{key:0,item:a},null,8,["item"])):"component"in a?(s(),k(Q(a.component),se({key:1,ref_for:!0},a.props),null,16)):(s(),k(Ba,{key:2,text:a.text,items:a.items},null,8,["text","items"]))],64))),128))])):h("",!0),l(e.$slots,"default",{},void 0,!0)]))}}),ja=y(Da,[["__scopeId","data-v-0007c525"]]),Ua=o=>(G("data-v-11ef3b07"),o=o(),q(),o),Ga=["aria-expanded","aria-label"],qa={key:0,class:"text"},Ra=["innerHTML"],Wa=Ua(()=>p("span",{class:"vpi-chevron-down text-icon"},null,-1)),Ka={key:1,class:"vpi-more-horizontal icon"},Ya={class:"menu"},Ja=_({__name:"VPFlyout",props:{icon:{},button:{},label:{},items:{}},setup(o){const e=H(!1),t=H();Ia({el:t,onBlur:a});function a(){e.value=!1}return(n,i)=>(s(),u("div",{class:"VPFlyout",ref_key:"el",ref:t,onMouseenter:i[1]||(i[1]=c=>e.value=!0),onMouseleave:i[2]||(i[2]=c=>e.value=!1)},[p("button",{type:"button",class:"button","aria-haspopup":"true","aria-expanded":e.value,"aria-label":n.label,onClick:i[0]||(i[0]=c=>e.value=!e.value)},[n.button||n.icon?(s(),u("span",qa,[n.icon?(s(),u("span",{key:0,class:M([n.icon,"option-icon"])},null,2)):h("",!0),n.button?(s(),u("span",{key:1,innerHTML:n.button},null,8,Ra)):h("",!0),Wa])):(s(),u("span",Ka))],8,Ga),p("div",Ya,[b(ja,{items:n.items},{default:m(()=>[l(n.$slots,"default",{},void 0,!0)]),_:3},8,["items"])])],544))}}),qe=y(Ja,[["__scopeId","data-v-11ef3b07"]]),Xa=["href","aria-label","innerHTML"],Za=_({__name:"VPSocialLink",props:{icon:{},link:{},ariaLabel:{}},setup(o){const e=o,t=L(()=>typeof e.icon=="object"?e.icon.svg:``);return(a,n)=>(s(),u("a",{class:"VPSocialLink no-icon",href:a.link,"aria-label":a.ariaLabel??(typeof a.icon=="string"?a.icon:""),target:"_blank",rel:"noopener",innerHTML:t.value},null,8,Xa))}}),Qa=y(Za,[["__scopeId","data-v-116c6058"]]),xa={class:"VPSocialLinks"},es=_({__name:"VPSocialLinks",props:{links:{}},setup(o){return(e,t)=>(s(),u("div",xa,[(s(!0),u(B,null,K(e.links,({link:a,icon:n,ariaLabel:i})=>(s(),k(Qa,{key:a,icon:n,link:a,ariaLabel:i},null,8,["icon","link","ariaLabel"]))),128))]))}}),Re=y(es,[["__scopeId","data-v-e883f8d0"]]),ts={key:0,class:"group translations"},os={class:"trans-title"},ns={key:1,class:"group"},as={class:"item appearance"},ss={class:"label"},rs={class:"appearance-action"},is={key:2,class:"group"},ls={class:"item social-links"},cs=_({__name:"VPNavBarExtra",setup(o){const{site:e,theme:t}=V(),{localeLinks:a,currentLang:n}=pe({correspondingLink:!0}),i=L(()=>a.value.length&&n.value.label||e.value.appearance||t.value.socialLinks);return(c,d)=>i.value?(s(),k(qe,{key:0,class:"VPNavBarExtra",label:"extra navigation"},{default:m(()=>[r(a).length&&r(n).label?(s(),u("div",ts,[p("p",os,C(r(n).label),1),(s(!0),u(B,null,K(r(a),v=>(s(),k(Se,{key:v.link,item:v},null,8,["item"]))),128))])):h("",!0),r(e).appearance&&r(e).appearance!=="force-dark"&&r(e).appearance!=="force-auto"?(s(),u("div",ns,[p("div",as,[p("p",ss,C(r(t).darkModeSwitchLabel||"Appearance"),1),p("div",rs,[b(Ue)])])])):h("",!0),r(t).socialLinks?(s(),u("div",is,[p("div",ls,[b(Re,{class:"social-links-list",links:r(t).socialLinks},null,8,["links"])])])):h("",!0)]),_:1})):h("",!0)}}),us=y(cs,[["__scopeId","data-v-f78a1889"]]),ds=o=>(G("data-v-7ec5116e"),o=o(),q(),o),vs=["aria-expanded"],ms=ds(()=>p("span",{class:"container"},[p("span",{class:"top"}),p("span",{class:"middle"}),p("span",{class:"bottom"})],-1)),ps=[ms],fs=_({__name:"VPNavBarHamburger",props:{active:{type:Boolean}},emits:["click"],setup(o){return(e,t)=>(s(),u("button",{type:"button",class:M(["VPNavBarHamburger",{active:e.active}]),"aria-label":"mobile navigation","aria-expanded":e.active,"aria-controls":"VPNavScreen",onClick:t[0]||(t[0]=a=>e.$emit("click"))},ps,10,vs))}}),hs=y(fs,[["__scopeId","data-v-7ec5116e"]]),_s=["innerHTML"],gs=_({__name:"VPNavBarMenuLink",props:{item:{}},setup(o){const{page:e}=V();return(t,a)=>(s(),k(x,{class:M({VPNavBarMenuLink:!0,active:r(le)(r(e).relativePath,t.item.activeMatch||t.item.link,!!t.item.activeMatch)}),href:t.item.link,noIcon:t.item.noIcon,target:t.item.target,rel:t.item.rel,tabindex:"0"},{default:m(()=>[p("span",{innerHTML:t.item.text},null,8,_s)]),_:1},8,["class","href","noIcon","target","rel"]))}}),bs=y(gs,[["__scopeId","data-v-6589ed1c"]]),ks=_({__name:"VPNavBarMenuGroup",props:{item:{}},setup(o){const e=o,{page:t}=V(),a=i=>"component"in i?!1:"link"in i?le(t.value.relativePath,i.link,!!e.item.activeMatch):i.items.some(a),n=L(()=>a(e.item));return(i,c)=>(s(),k(qe,{class:M({VPNavBarMenuGroup:!0,active:r(le)(r(t).relativePath,i.item.activeMatch,!!i.item.activeMatch)||n.value}),button:i.item.text,items:i.item.items},null,8,["class","button","items"]))}}),$s=o=>(G("data-v-46876648"),o=o(),q(),o),ys={key:0,"aria-labelledby":"main-nav-aria-label",class:"VPNavBarMenu"},Ls=$s(()=>p("span",{id:"main-nav-aria-label",class:"visually-hidden"}," Main Navigation ",-1)),Ps=_({__name:"VPNavBarMenu",setup(o){const{theme:e}=V();return(t,a)=>r(e).nav?(s(),u("nav",ys,[Ls,(s(!0),u(B,null,K(r(e).nav,n=>(s(),u(B,{key:JSON.stringify(n)},["link"in n?(s(),k(bs,{key:0,item:n},null,8,["item"])):"component"in n?(s(),k(Q(n.component),se({key:1,ref_for:!0},n.props),null,16)):(s(),k(ks,{key:2,item:n},null,8,["item"]))],64))),128))])):h("",!0)}}),Ss=y(Ps,[["__scopeId","data-v-46876648"]]);function Vs(o){const{localeIndex:e,theme:t}=V();function a(n){var N,F,z;const i=n.split("."),c=(N=t.value.search)==null?void 0:N.options,d=c&&typeof c=="object",v=d&&((z=(F=c.locales)==null?void 0:F[e.value])==null?void 0:z.translations)||null,g=d&&c.translations||null;let I=v,$=g,S=o;const E=i.pop();for(const J of i){let X=null;const D=S==null?void 0:S[J];D&&(X=S=D);const ne=$==null?void 0:$[J];ne&&(X=$=ne);const Z=I==null?void 0:I[J];Z&&(X=I=Z),D||(S=X),ne||($=X),Z||(I=X)}return(I==null?void 0:I[E])??($==null?void 0:$[E])??(S==null?void 0:S[E])??""}return a}const ws=["aria-label"],Ts={class:"DocSearch-Button-Container"},Is=p("span",{class:"vp-icon DocSearch-Search-Icon"},null,-1),Ns={class:"DocSearch-Button-Placeholder"},Es=p("span",{class:"DocSearch-Button-Keys"},[p("kbd",{class:"DocSearch-Button-Key"}),p("kbd",{class:"DocSearch-Button-Key"},"K")],-1),Ye=_({__name:"VPNavBarSearchButton",setup(o){const t=Vs({button:{buttonText:"Search",buttonAriaLabel:"Search"}});return(a,n)=>(s(),u("button",{type:"button",class:"DocSearch DocSearch-Button","aria-label":r(t)("button.buttonAriaLabel")},[p("span",Ts,[Is,p("span",Ns,C(r(t)("button.buttonText")),1)]),Es],8,ws))}}),zs={class:"VPNavBarSearch"},Cs={id:"local-search"},Hs={key:1,id:"docsearch"},Ms=_({__name:"VPNavBarSearch",setup(o){const e=Ct(()=>Ht(()=>import("./VPLocalSearchBox.wwHTyTvd.js"),__vite__mapDeps([0,1]))),t=()=>null,{theme:a}=V(),n=H(!1),i=H(!1);re(()=>{});function c(){n.value||(n.value=!0,setTimeout(d,16))}function d(){const $=new Event("keydown");$.key="k",$.metaKey=!0,window.dispatchEvent($),setTimeout(()=>{document.querySelector(".DocSearch-Modal")||d()},16)}function v($){const S=$.target,E=S.tagName;return S.isContentEditable||E==="INPUT"||E==="SELECT"||E==="TEXTAREA"}const g=H(!1);ze("k",$=>{($.ctrlKey||$.metaKey)&&($.preventDefault(),g.value=!0)}),ze("/",$=>{v($)||($.preventDefault(),g.value=!0)});const I="local";return($,S)=>{var E;return s(),u("div",zs,[r(I)==="local"?(s(),u(B,{key:0},[g.value?(s(),k(r(e),{key:0,onClose:S[0]||(S[0]=N=>g.value=!1)})):h("",!0),p("div",Cs,[b(Ye,{onClick:S[1]||(S[1]=N=>g.value=!0)})])],64)):r(I)==="algolia"?(s(),u(B,{key:1},[n.value?(s(),k(r(t),{key:0,algolia:((E=r(a).search)==null?void 0:E.options)??r(a).algolia,onVnodeBeforeMount:S[2]||(S[2]=N=>i.value=!0)},null,8,["algolia"])):h("",!0),i.value?h("",!0):(s(),u("div",Hs,[b(Ye,{onClick:c})]))],64)):h("",!0)])}}}),As=_({__name:"VPNavBarSocialLinks",setup(o){const{theme:e}=V();return(t,a)=>r(e).socialLinks?(s(),k(Re,{key:0,class:"VPNavBarSocialLinks",links:r(e).socialLinks},null,8,["links"])):h("",!0)}}),Bs=y(As,[["__scopeId","data-v-6a13576c"]]),Os=["href","rel","target"],Fs={key:1},Ds={key:2},js=_({__name:"VPNavBarTitle",setup(o){const{site:e,theme:t}=V(),{hasSidebar:a}=oe(),{currentLang:n}=pe(),i=L(()=>{var v;return typeof t.value.logoLink=="string"?t.value.logoLink:(v=t.value.logoLink)==null?void 0:v.link}),c=L(()=>{var v;return typeof t.value.logoLink=="string"||(v=t.value.logoLink)==null?void 0:v.rel}),d=L(()=>{var v;return typeof t.value.logoLink=="string"||(v=t.value.logoLink)==null?void 0:v.target});return(v,g)=>(s(),u("div",{class:M(["VPNavBarTitle",{"has-sidebar":r(a)}])},[p("a",{class:"title",href:i.value??r(De)(r(n).link),rel:c.value,target:d.value},[l(v.$slots,"nav-bar-title-before",{},void 0,!0),r(t).logo?(s(),k(ke,{key:0,class:"logo",image:r(t).logo},null,8,["image"])):h("",!0),r(t).siteTitle?(s(),u("span",Fs,C(r(t).siteTitle),1)):r(t).siteTitle===void 0?(s(),u("span",Ds,C(r(e).title),1)):h("",!0),l(v.$slots,"nav-bar-title-after",{},void 0,!0)],8,Os)],2))}}),Us=y(js,[["__scopeId","data-v-ff17a4ae"]]),Gs={class:"items"},qs={class:"title"},Rs=_({__name:"VPNavBarTranslations",setup(o){const{theme:e}=V(),{localeLinks:t,currentLang:a}=pe({correspondingLink:!0});return(n,i)=>r(t).length&&r(a).label?(s(),k(qe,{key:0,class:"VPNavBarTranslations",icon:"vpi-languages",label:r(e).langMenuLabel||"Change language"},{default:m(()=>[p("div",Gs,[p("p",qs,C(r(a).label),1),(s(!0),u(B,null,K(r(t),c=>(s(),k(Se,{key:c.link,item:c},null,8,["item"]))),128))])]),_:1},8,["label"])):h("",!0)}}),Ws=y(Rs,[["__scopeId","data-v-540bc5e8"]]),Ks=o=>(G("data-v-3fed1b83"),o=o(),q(),o),Ys={class:"wrapper"},Js={class:"container"},Xs={class:"title"},Zs={class:"content"},Qs={class:"content-body"},xs=Ks(()=>p("div",{class:"divider"},[p("div",{class:"divider-line"})],-1)),er=_({__name:"VPNavBar",props:{isScreenOpen:{type:Boolean}},emits:["toggle-screen"],setup(o){const e=o,{y:t}=tt(),{hasSidebar:a}=oe(),{frontmatter:n}=V(),i=H({});return Fe(()=>{i.value={"has-sidebar":a.value,home:n.value.layout==="home",top:t.value===0,"screen-open":e.isScreenOpen}}),(c,d)=>(s(),u("div",{class:M(["VPNavBar",i.value])},[p("div",Ys,[p("div",Js,[p("div",Xs,[b(Us,null,{"nav-bar-title-before":m(()=>[l(c.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":m(()=>[l(c.$slots,"nav-bar-title-after",{},void 0,!0)]),_:3})]),p("div",Zs,[p("div",Qs,[l(c.$slots,"nav-bar-content-before",{},void 0,!0),b(Ms,{class:"search"}),b(Ss,{class:"menu"}),b(Ws,{class:"translations"}),b(Ta,{class:"appearance"}),b(Bs,{class:"social-links"}),b(us,{class:"extra"}),l(c.$slots,"nav-bar-content-after",{},void 0,!0),b(hs,{class:"hamburger",active:c.isScreenOpen,onClick:d[0]||(d[0]=v=>c.$emit("toggle-screen"))},null,8,["active"])])])])]),xs],2))}}),tr=y(er,[["__scopeId","data-v-3fed1b83"]]),or={key:0,class:"VPNavScreenAppearance"},nr={class:"text"},ar=_({__name:"VPNavScreenAppearance",setup(o){const{site:e,theme:t}=V();return(a,n)=>r(e).appearance&&r(e).appearance!=="force-dark"&&r(e).appearance!=="force-auto"?(s(),u("div",or,[p("p",nr,C(r(t).darkModeSwitchLabel||"Appearance"),1),b(Ue)])):h("",!0)}}),sr=y(ar,[["__scopeId","data-v-0ceafb5f"]]),rr=_({__name:"VPNavScreenMenuLink",props:{item:{}},setup(o){const e=Le("close-screen");return(t,a)=>(s(),k(x,{class:"VPNavScreenMenuLink",href:t.item.link,target:t.item.target,rel:t.item.rel,onClick:r(e),innerHTML:t.item.text},null,8,["href","target","rel","onClick","innerHTML"]))}}),ir=y(rr,[["__scopeId","data-v-8abda8b8"]]),lr=_({__name:"VPNavScreenMenuGroupLink",props:{item:{}},setup(o){const e=Le("close-screen");return(t,a)=>(s(),k(x,{class:"VPNavScreenMenuGroupLink",href:t.item.link,target:t.item.target,rel:t.item.rel,onClick:r(e)},{default:m(()=>[te(C(t.item.text),1)]),_:1},8,["href","target","rel","onClick"]))}}),dt=y(lr,[["__scopeId","data-v-ae02dd03"]]),cr={class:"VPNavScreenMenuGroupSection"},ur={key:0,class:"title"},dr=_({__name:"VPNavScreenMenuGroupSection",props:{text:{},items:{}},setup(o){return(e,t)=>(s(),u("div",cr,[e.text?(s(),u("p",ur,C(e.text),1)):h("",!0),(s(!0),u(B,null,K(e.items,a=>(s(),k(dt,{key:a.text,item:a},null,8,["item"]))),128))]))}}),vr=y(dr,[["__scopeId","data-v-dea7123a"]]),mr=o=>(G("data-v-f76bdb19"),o=o(),q(),o),pr=["aria-controls","aria-expanded"],fr=["innerHTML"],hr=mr(()=>p("span",{class:"vpi-plus button-icon"},null,-1)),_r=["id"],gr={key:0,class:"item"},br={key:1,class:"item"},kr={key:2,class:"group"},$r=_({__name:"VPNavScreenMenuGroup",props:{text:{},items:{}},setup(o){const e=o,t=H(!1),a=L(()=>`NavScreenGroup-${e.text.replace(" ","-").toLowerCase()}`);function n(){t.value=!t.value}return(i,c)=>(s(),u("div",{class:M(["VPNavScreenMenuGroup",{open:t.value}])},[p("button",{class:"button","aria-controls":a.value,"aria-expanded":t.value,onClick:n},[p("span",{class:"button-text",innerHTML:i.text},null,8,fr),hr],8,pr),p("div",{id:a.value,class:"items"},[(s(!0),u(B,null,K(i.items,d=>(s(),u(B,{key:JSON.stringify(d)},["link"in d?(s(),u("div",gr,[b(dt,{item:d},null,8,["item"])])):"component"in d?(s(),u("div",br,[(s(),k(Q(d.component),se({ref_for:!0},d.props,{"screen-menu":""}),null,16))])):(s(),u("div",kr,[b(vr,{items:d.items},null,8,["items"])]))],64))),128))],8,_r)],2))}}),yr=y($r,[["__scopeId","data-v-f76bdb19"]]),Lr={key:0,class:"VPNavScreenMenu"},Pr=_({__name:"VPNavScreenMenu",setup(o){const{theme:e}=V();return(t,a)=>r(e).nav?(s(),u("nav",Lr,[(s(!0),u(B,null,K(r(e).nav,n=>(s(),u(B,{key:JSON.stringify(n)},["link"in n?(s(),k(ir,{key:0,item:n},null,8,["item"])):"component"in n?(s(),k(Q(n.component),se({key:1,ref_for:!0},n.props,{"screen-menu":""}),null,16)):(s(),k(yr,{key:2,text:n.text||"",items:n.items},null,8,["text","items"]))],64))),128))])):h("",!0)}}),Sr=_({__name:"VPNavScreenSocialLinks",setup(o){const{theme:e}=V();return(t,a)=>r(e).socialLinks?(s(),k(Re,{key:0,class:"VPNavScreenSocialLinks",links:r(e).socialLinks},null,8,["links"])):h("",!0)}}),vt=o=>(G("data-v-eaa0f43e"),o=o(),q(),o),Vr=vt(()=>p("span",{class:"vpi-languages icon lang"},null,-1)),wr=vt(()=>p("span",{class:"vpi-chevron-down icon chevron"},null,-1)),Tr={class:"list"},Ir=_({__name:"VPNavScreenTranslations",setup(o){const{localeLinks:e,currentLang:t}=pe({correspondingLink:!0}),a=H(!1);function n(){a.value=!a.value}return(i,c)=>r(e).length&&r(t).label?(s(),u("div",{key:0,class:M(["VPNavScreenTranslations",{open:a.value}])},[p("button",{class:"title",onClick:n},[Vr,te(" "+C(r(t).label)+" ",1),wr]),p("ul",Tr,[(s(!0),u(B,null,K(r(e),d=>(s(),u("li",{key:d.link,class:"item"},[b(x,{class:"link",href:d.link},{default:m(()=>[te(C(d.text),1)]),_:2},1032,["href"])]))),128))])],2)):h("",!0)}}),Nr=y(Ir,[["__scopeId","data-v-eaa0f43e"]]),Er={class:"container"},zr=_({__name:"VPNavScreen",props:{open:{type:Boolean}},setup(o){const e=H(null),t=ot(Pe?document.body:null);return(a,n)=>(s(),k(Ae,{name:"fade",onEnter:n[0]||(n[0]=i=>t.value=!0),onAfterLeave:n[1]||(n[1]=i=>t.value=!1)},{default:m(()=>[a.open?(s(),u("div",{key:0,class:"VPNavScreen",ref_key:"screen",ref:e,id:"VPNavScreen"},[p("div",Er,[l(a.$slots,"nav-screen-content-before",{},void 0,!0),b(Pr,{class:"menu"}),b(Nr,{class:"translations"}),b(sr,{class:"appearance"}),b(Sr,{class:"social-links"}),l(a.$slots,"nav-screen-content-after",{},void 0,!0)])],512)):h("",!0)]),_:3}))}}),Cr=y(zr,[["__scopeId","data-v-334bb4cd"]]),Hr={key:0,class:"VPNav"},Mr=_({__name:"VPNav",setup(o){const{isScreenOpen:e,closeScreen:t,toggleScreen:a}=ha(),{frontmatter:n}=V(),i=L(()=>n.value.navbar!==!1);return nt("close-screen",t),$e(()=>{Pe&&document.documentElement.classList.toggle("hide-nav",!i.value)}),(c,d)=>i.value?(s(),u("header",Hr,[b(tr,{"is-screen-open":r(e),onToggleScreen:r(a)},{"nav-bar-title-before":m(()=>[l(c.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":m(()=>[l(c.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":m(()=>[l(c.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":m(()=>[l(c.$slots,"nav-bar-content-after",{},void 0,!0)]),_:3},8,["is-screen-open","onToggleScreen"]),b(Cr,{open:r(e)},{"nav-screen-content-before":m(()=>[l(c.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":m(()=>[l(c.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3},8,["open"])])):h("",!0)}}),Ar=y(Mr,[["__scopeId","data-v-a6f969fc"]]),mt=o=>(G("data-v-a9de9e44"),o=o(),q(),o),Br=["role","tabindex"],Or=mt(()=>p("div",{class:"indicator"},null,-1)),Fr=mt(()=>p("span",{class:"vpi-chevron-right caret-icon"},null,-1)),Dr=[Fr],jr={key:1,class:"items"},Ur=_({__name:"VPSidebarItem",props:{item:{},depth:{}},setup(o){const e=o,{collapsed:t,collapsible:a,isLink:n,isActiveLink:i,hasActiveLink:c,hasChildren:d,toggle:v}=so(L(()=>e.item)),g=L(()=>d.value?"section":"div"),I=L(()=>n.value?"a":"div"),$=L(()=>d.value?e.depth+2===7?"p":`h${e.depth+2}`:"p"),S=L(()=>n.value?void 0:"button"),E=L(()=>[[`level-${e.depth}`],{collapsible:a.value},{collapsed:t.value},{"is-link":n.value},{"is-active":i.value},{"has-active":c.value}]);function N(z){"key"in z&&z.key!=="Enter"||!e.item.link&&v()}function F(){e.item.link&&v()}return(z,J)=>{const X=ce("VPSidebarItem",!0);return s(),k(Q(g.value),{class:M(["VPSidebarItem",E.value])},{default:m(()=>[z.item.text?(s(),u("div",se({key:0,class:"item",role:S.value},Mt(z.item.items?{click:N,keydown:N}:{},!0),{tabindex:z.item.items&&0}),[Or,z.item.link?(s(),k(x,{key:0,tag:I.value,class:"link",href:z.item.link,rel:z.item.rel,target:z.item.target},{default:m(()=>[(s(),k(Q($.value),{class:"text",innerHTML:z.item.text},null,8,["innerHTML"]))]),_:1},8,["tag","href","rel","target"])):(s(),k(Q($.value),{key:1,class:"text",innerHTML:z.item.text},null,8,["innerHTML"])),z.item.collapsed!=null&&z.item.items&&z.item.items.length?(s(),u("div",{key:2,class:"caret",role:"button","aria-label":"toggle section",onClick:F,onKeydown:At(F,["enter"]),tabindex:"0"},Dr,32)):h("",!0)],16,Br)):h("",!0),z.item.items&&z.item.items.length?(s(),u("div",jr,[z.depth<5?(s(!0),u(B,{key:0},K(z.item.items,D=>(s(),k(X,{key:D.text,item:D,depth:z.depth+1},null,8,["item","depth"]))),128)):h("",!0)])):h("",!0)]),_:1},8,["class"])}}}),Gr=y(Ur,[["__scopeId","data-v-a9de9e44"]]),qr=_({__name:"VPSidebarGroup",props:{items:{}},setup(o){const e=H(!0);let t=null;return re(()=>{t=setTimeout(()=>{t=null,e.value=!1},300)}),Bt(()=>{t!=null&&(clearTimeout(t),t=null)}),(a,n)=>(s(!0),u(B,null,K(a.items,i=>(s(),u("div",{key:i.text,class:M(["group",{"no-transition":e.value}])},[b(Gr,{item:i,depth:0},null,8,["item"])],2))),128))}}),Rr=y(qr,[["__scopeId","data-v-9c4bd70d"]]),pt=o=>(G("data-v-e024fac9"),o=o(),q(),o),Wr=pt(()=>p("div",{class:"curtain"},null,-1)),Kr={class:"nav",id:"VPSidebarNav","aria-labelledby":"sidebar-aria-label",tabindex:"-1"},Yr=pt(()=>p("span",{class:"visually-hidden",id:"sidebar-aria-label"}," Sidebar Navigation ",-1)),Jr=_({__name:"VPSidebar",props:{open:{type:Boolean}},setup(o){const{sidebarGroups:e,hasSidebar:t}=oe(),a=o,n=H(null),i=ot(Pe?document.body:null);ee([a,n],()=>{var d;a.open?(i.value=!0,(d=n.value)==null||d.focus()):i.value=!1},{immediate:!0,flush:"post"});const c=H(0);return ee(e,()=>{c.value+=1},{deep:!0}),(d,v)=>r(t)?(s(),u("aside",{key:0,class:M(["VPSidebar",{open:d.open}]),ref_key:"navEl",ref:n,onClick:v[0]||(v[0]=Ot(()=>{},["stop"]))},[Wr,p("nav",Kr,[Yr,l(d.$slots,"sidebar-nav-before",{},void 0,!0),(s(),k(Rr,{items:r(e),key:c.value},null,8,["items"])),l(d.$slots,"sidebar-nav-after",{},void 0,!0)])],2)):h("",!0)}}),Xr=y(Jr,[["__scopeId","data-v-e024fac9"]]),Zr=_({__name:"VPSkipLink",setup(o){const e=me(),t=H();ee(()=>e.path,()=>t.value.focus());function a({target:n}){const i=document.getElementById(decodeURIComponent(n.hash).slice(1));if(i){const c=()=>{i.removeAttribute("tabindex"),i.removeEventListener("blur",c)};i.setAttribute("tabindex","-1"),i.addEventListener("blur",c),i.focus(),window.scrollTo(0,0)}}return(n,i)=>(s(),u(B,null,[p("span",{ref_key:"backToTop",ref:t,tabindex:"-1"},null,512),p("a",{href:"#VPContent",class:"VPSkipLink visually-hidden",onClick:a}," Skip to content ")],64))}}),Qr=y(Zr,[["__scopeId","data-v-497b75be"]]),xr=_({__name:"Layout",setup(o){const{isOpen:e,open:t,close:a}=oe(),n=me();ee(()=>n.path,a),ao(e,a);const{frontmatter:i}=V(),c=Ft(),d=L(()=>!!c["home-hero-image"]);return nt("hero-image-slot-exists",d),(v,g)=>{const I=ce("Content");return r(i).layout!==!1?(s(),u("div",{key:0,class:M(["Layout",r(i).pageClass])},[l(v.$slots,"layout-top",{},void 0,!0),b(Qr),b(Gt,{class:"backdrop",show:r(e),onClick:r(a)},null,8,["show","onClick"]),b(Ar,null,{"nav-bar-title-before":m(()=>[l(v.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":m(()=>[l(v.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":m(()=>[l(v.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":m(()=>[l(v.$slots,"nav-bar-content-after",{},void 0,!0)]),"nav-screen-content-before":m(()=>[l(v.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":m(()=>[l(v.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3}),b(fa,{open:r(e),onOpenMenu:r(t)},null,8,["open","onOpenMenu"]),b(Xr,{open:r(e)},{"sidebar-nav-before":m(()=>[l(v.$slots,"sidebar-nav-before",{},void 0,!0)]),"sidebar-nav-after":m(()=>[l(v.$slots,"sidebar-nav-after",{},void 0,!0)]),_:3},8,["open"]),b(Jn,null,{"page-top":m(()=>[l(v.$slots,"page-top",{},void 0,!0)]),"page-bottom":m(()=>[l(v.$slots,"page-bottom",{},void 0,!0)]),"not-found":m(()=>[l(v.$slots,"not-found",{},void 0,!0)]),"home-hero-before":m(()=>[l(v.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info-before":m(()=>[l(v.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":m(()=>[l(v.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":m(()=>[l(v.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":m(()=>[l(v.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":m(()=>[l(v.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":m(()=>[l(v.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":m(()=>[l(v.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":m(()=>[l(v.$slots,"home-features-after",{},void 0,!0)]),"doc-footer-before":m(()=>[l(v.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":m(()=>[l(v.$slots,"doc-before",{},void 0,!0)]),"doc-after":m(()=>[l(v.$slots,"doc-after",{},void 0,!0)]),"doc-top":m(()=>[l(v.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":m(()=>[l(v.$slots,"doc-bottom",{},void 0,!0)]),"aside-top":m(()=>[l(v.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":m(()=>[l(v.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":m(()=>[l(v.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":m(()=>[l(v.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":m(()=>[l(v.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":m(()=>[l(v.$slots,"aside-ads-after",{},void 0,!0)]),_:3}),b(ea),l(v.$slots,"layout-bottom",{},void 0,!0)],2)):(s(),k(I,{key:1}))}}}),ei=y(xr,[["__scopeId","data-v-0dd53a6c"]]),ti={Layout:ei,enhanceApp:({app:o})=>{o.component("Badge",Dt)}};/*! medium-zoom 1.1.0 | MIT License | https://github.com/francoischalifour/medium-zoom */var ie=Object.assign||function(o){for(var e=1;ei.map(i=>d[i]); +import{d as _,o as s,c as u,r as l,n as M,a as te,t as C,b as k,w as m,e as h,T as Ae,_ as y,u as Vt,i as wt,f as Tt,g as Be,h as L,j as p,k as r,p as G,l as q,m as le,q as Ee,s as H,v as ee,x as $e,y as re,z as Oe,A as Fe,B as It,C as Nt,D as ce,F as B,E as K,G as Ze,H as ye,I as b,J as Q,K as Qe,L as me,M as se,N as Le,O as Et,P as xe,Q as ze,R as et,S as tt,U as Pe,V as zt,W as Ct,X as Ht,Y as ot,Z as nt,$ as Mt,a0 as At,a1 as Bt,a2 as Ot,a3 as Ft}from"./framework.BZ5u8Vj7.js";const Dt=_({__name:"VPBadge",props:{text:{},type:{default:"tip"}},setup(o){return(e,t)=>(s(),u("span",{class:M(["VPBadge",e.type])},[l(e.$slots,"default",{},()=>[te(C(e.text),1)])],2))}}),jt={key:0,class:"VPBackdrop"},Ut=_({__name:"VPBackdrop",props:{show:{type:Boolean}},setup(o){return(e,t)=>(s(),k(Ae,{name:"fade"},{default:m(()=>[e.show?(s(),u("div",jt)):h("",!0)]),_:1}))}}),Gt=y(Ut,[["__scopeId","data-v-ee4f8a0b"]]),V=Vt;function qt(o,e){let t,a=!1;return()=>{t&&clearTimeout(t),a?t=setTimeout(o,e):(o(),(a=!0)&&setTimeout(()=>a=!1,e))}}function Ce(o){return/^\//.test(o)?o:`/${o}`}function De(o){const{pathname:e,search:t,hash:a,protocol:n}=new URL(o,"http://a.com");if(wt(o)||o.startsWith("#")||!n.startsWith("http")||!Tt(e))return o;const{site:i}=V(),c=e.endsWith("/")||e.endsWith(".html")?o:o.replace(/(?:(^\.+)\/)?.*$/,`$1${e.replace(/(\.md)?$/,i.value.cleanUrls?"":".html")}${t}${a}`);return Be(c)}function pe({correspondingLink:o=!1}={}){const{site:e,localeIndex:t,page:a,theme:n,hash:i}=V(),c=L(()=>{var v,g;return{label:(v=e.value.locales[t.value])==null?void 0:v.label,link:((g=e.value.locales[t.value])==null?void 0:g.link)||(t.value==="root"?"/":`/${t.value}/`)}});return{localeLinks:L(()=>Object.entries(e.value.locales).flatMap(([v,g])=>c.value.label===g.label?[]:{text:g.label,link:Rt(g.link||(v==="root"?"/":`/${v}/`),n.value.i18nRouting!==!1&&o,a.value.relativePath.slice(c.value.link.length-1),!e.value.cleanUrls)+i.value})),currentLang:c}}function Rt(o,e,t,a){return e?o.replace(/\/$/,"")+Ce(t.replace(/(^|\/)index\.md$/,"$1").replace(/\.md$/,a?".html":"")):o}const Wt=o=>(G("data-v-25b3c91b"),o=o(),q(),o),Kt={class:"NotFound"},Yt={class:"code"},Jt={class:"title"},Xt=Wt(()=>p("div",{class:"divider"},null,-1)),Zt={class:"quote"},Qt={class:"action"},xt=["href","aria-label"],eo=_({__name:"NotFound",setup(o){const{theme:e}=V(),{currentLang:t}=pe();return(a,n)=>{var i,c,d,v,g;return s(),u("div",Kt,[p("p",Yt,C(((i=r(e).notFound)==null?void 0:i.code)??"404"),1),p("h1",Jt,C(((c=r(e).notFound)==null?void 0:c.title)??"PAGE NOT FOUND"),1),Xt,p("blockquote",Zt,C(((d=r(e).notFound)==null?void 0:d.quote)??"But if you don't change your direction, and if you keep looking, you may end up where you are heading."),1),p("div",Qt,[p("a",{class:"link",href:r(Be)(r(t).link),"aria-label":((v=r(e).notFound)==null?void 0:v.linkLabel)??"go to home"},C(((g=r(e).notFound)==null?void 0:g.linkText)??"Take me home"),9,xt)])])}}}),to=y(eo,[["__scopeId","data-v-25b3c91b"]]);function at(o,e){if(Array.isArray(o))return ge(o);if(o==null)return[];e=Ce(e);const t=Object.keys(o).sort((n,i)=>i.split("/").length-n.split("/").length).find(n=>e.startsWith(Ce(n))),a=t?o[t]:[];return Array.isArray(a)?ge(a):ge(a.items,a.base)}function oo(o){const e=[];let t=0;for(const a in o){const n=o[a];if(n.items){t=e.push(n);continue}e[t]||e.push({items:[]}),e[t].items.push(n)}return e}function no(o){const e=[];function t(a){for(const n of a)n.text&&n.link&&e.push({text:n.text,link:n.link,docFooterText:n.docFooterText}),n.items&&t(n.items)}return t(o),e}function He(o,e){return Array.isArray(e)?e.some(t=>He(o,t)):le(o,e.link)?!0:e.items?He(o,e.items):!1}function ge(o,e){return[...o].map(t=>{const a={...t},n=a.base||e;return n&&a.link&&(a.link=n+a.link),a.items&&(a.items=ge(a.items,n)),a})}function oe(){const{frontmatter:o,page:e,theme:t}=V(),a=Ee("(min-width: 960px)"),n=H(!1),i=L(()=>{const F=t.value.sidebar,z=e.value.relativePath;return F?at(F,z):[]}),c=H(i.value);ee(i,(F,z)=>{JSON.stringify(F)!==JSON.stringify(z)&&(c.value=i.value)});const d=L(()=>o.value.sidebar!==!1&&c.value.length>0&&o.value.layout!=="home"),v=L(()=>g?o.value.aside==null?t.value.aside==="left":o.value.aside==="left":!1),g=L(()=>o.value.layout==="home"?!1:o.value.aside!=null?!!o.value.aside:t.value.aside!==!1),I=L(()=>d.value&&a.value),$=L(()=>d.value?oo(c.value):[]);function S(){n.value=!0}function E(){n.value=!1}function N(){n.value?E():S()}return{isOpen:n,sidebar:c,sidebarGroups:$,hasSidebar:d,hasAside:g,leftAside:v,isSidebarEnabled:I,open:S,close:E,toggle:N}}function ao(o,e){let t;$e(()=>{t=o.value?document.activeElement:void 0}),re(()=>{window.addEventListener("keyup",a)}),Oe(()=>{window.removeEventListener("keyup",a)});function a(n){n.key==="Escape"&&o.value&&(e(),t==null||t.focus())}}function so(o){const{page:e,hash:t}=V(),a=H(!1),n=L(()=>o.value.collapsed!=null),i=L(()=>!!o.value.link),c=H(!1),d=()=>{c.value=le(e.value.relativePath,o.value.link)};ee([e,o,t],d),re(d);const v=L(()=>c.value?!0:o.value.items?He(e.value.relativePath,o.value.items):!1),g=L(()=>!!(o.value.items&&o.value.items.length));$e(()=>{a.value=!!(n.value&&o.value.collapsed)}),Fe(()=>{(c.value||v.value)&&(a.value=!1)});function I(){n.value&&(a.value=!a.value)}return{collapsed:a,collapsible:n,isLink:i,isActiveLink:c,hasActiveLink:v,hasChildren:g,toggle:I}}function ro(){const{hasSidebar:o}=oe(),e=Ee("(min-width: 960px)"),t=Ee("(min-width: 1280px)");return{isAsideEnabled:L(()=>!t.value&&!e.value?!1:o.value?t.value:e.value)}}const Me=[];function st(o){return typeof o.outline=="object"&&!Array.isArray(o.outline)&&o.outline.label||o.outlineTitle||"On this page"}function je(o){const e=[...document.querySelectorAll(".VPDoc :where(h1,h2,h3,h4,h5,h6)")].filter(t=>t.id&&t.hasChildNodes()).map(t=>{const a=Number(t.tagName[1]);return{element:t,title:io(t),link:"#"+t.id,level:a}});return lo(e,o)}function io(o){let e="";for(const t of o.childNodes)if(t.nodeType===1){if(t.classList.contains("VPBadge")||t.classList.contains("header-anchor")||t.classList.contains("ignore-header"))continue;e+=t.textContent}else t.nodeType===3&&(e+=t.textContent);return e.trim()}function lo(o,e){if(e===!1)return[];const t=(typeof e=="object"&&!Array.isArray(e)?e.level:e)||2,[a,n]=typeof t=="number"?[t,t]:t==="deep"?[2,6]:t;o=o.filter(c=>c.level>=a&&c.level<=n),Me.length=0;for(const{element:c,link:d}of o)Me.push({element:c,link:d});const i=[];e:for(let c=0;c=0;v--){const g=o[v];if(g.level{requestAnimationFrame(i),window.addEventListener("scroll",a)}),It(()=>{c(location.hash)}),Oe(()=>{window.removeEventListener("scroll",a)});function i(){if(!t.value)return;const d=window.scrollY,v=window.innerHeight,g=document.body.offsetHeight,I=Math.abs(d+v-g)<1,$=Me.map(({element:E,link:N})=>({link:N,top:uo(E)})).filter(({top:E})=>!Number.isNaN(E)).sort((E,N)=>E.top-N.top);if(!$.length){c(null);return}if(d<1){c(null);return}if(I){c($[$.length-1].link);return}let S=null;for(const{link:E,top:N}of $){if(N>d+Nt()+4)break;S=E}c(S)}function c(d){n&&n.classList.remove("active"),d==null?n=null:n=o.value.querySelector(`a[href="${decodeURIComponent(d)}"]`);const v=n;v?(v.classList.add("active"),e.value.style.top=v.offsetTop+39+"px",e.value.style.opacity="1"):(e.value.style.top="33px",e.value.style.opacity="0")}}function uo(o){let e=0;for(;o!==document.body;){if(o===null)return NaN;e+=o.offsetTop,o=o.offsetParent}return e}const vo=["href","title"],mo=_({__name:"VPDocOutlineItem",props:{headers:{},root:{type:Boolean}},setup(o){function e({target:t}){const a=t.href.split("#")[1],n=document.getElementById(decodeURIComponent(a));n==null||n.focus({preventScroll:!0})}return(t,a)=>{const n=ce("VPDocOutlineItem",!0);return s(),u("ul",{class:M(["VPDocOutlineItem",t.root?"root":"nested"])},[(s(!0),u(B,null,K(t.headers,({children:i,link:c,title:d})=>(s(),u("li",null,[p("a",{class:"outline-link",href:c,onClick:e,title:d},C(d),9,vo),i!=null&&i.length?(s(),k(n,{key:0,headers:i},null,8,["headers"])):h("",!0)]))),256))],2)}}}),rt=y(mo,[["__scopeId","data-v-a53304d2"]]),po={class:"content"},fo={"aria-level":"2",class:"outline-title",id:"doc-outline-aria-label",role:"heading"},ho=_({__name:"VPDocAsideOutline",setup(o){const{frontmatter:e,theme:t}=V(),a=Ze([]);ye(()=>{a.value=je(e.value.outline??t.value.outline)});const n=H(),i=H();return co(n,i),(c,d)=>(s(),u("nav",{"aria-labelledby":"doc-outline-aria-label",class:M(["VPDocAsideOutline",{"has-outline":a.value.length>0}]),ref_key:"container",ref:n},[p("div",po,[p("div",{class:"outline-marker",ref_key:"marker",ref:i},null,512),p("div",fo,C(r(st)(r(t))),1),b(rt,{headers:a.value,root:!0},null,8,["headers"])])],2))}}),_o=y(ho,[["__scopeId","data-v-e9242aa7"]]),go={class:"VPDocAsideCarbonAds"},bo=_({__name:"VPDocAsideCarbonAds",props:{carbonAds:{}},setup(o){const e=()=>null;return(t,a)=>(s(),u("div",go,[b(r(e),{"carbon-ads":t.carbonAds},null,8,["carbon-ads"])]))}}),ko=o=>(G("data-v-4ef74901"),o=o(),q(),o),$o={class:"VPDocAside"},yo=ko(()=>p("div",{class:"spacer"},null,-1)),Lo=_({__name:"VPDocAside",setup(o){const{theme:e}=V();return(t,a)=>(s(),u("div",$o,[l(t.$slots,"aside-top",{},void 0,!0),l(t.$slots,"aside-outline-before",{},void 0,!0),b(_o),l(t.$slots,"aside-outline-after",{},void 0,!0),yo,l(t.$slots,"aside-ads-before",{},void 0,!0),r(e).carbonAds?(s(),k(bo,{key:0,"carbon-ads":r(e).carbonAds},null,8,["carbon-ads"])):h("",!0),l(t.$slots,"aside-ads-after",{},void 0,!0),l(t.$slots,"aside-bottom",{},void 0,!0)]))}}),Po=y(Lo,[["__scopeId","data-v-4ef74901"]]);function So(){const{theme:o,page:e}=V();return L(()=>{const{text:t="Edit this page",pattern:a=""}=o.value.editLink||{};let n;return typeof a=="function"?n=a(e.value):n=a.replace(/:path/g,e.value.filePath),{url:n,text:t}})}function Vo(){const{page:o,theme:e,frontmatter:t}=V();return L(()=>{var g,I,$,S,E,N,F,z;const a=at(e.value.sidebar,o.value.relativePath),n=no(a),i=wo(n,J=>J.link.replace(/[?#].*$/,"")),c=i.findIndex(J=>le(o.value.relativePath,J.link)),d=((g=e.value.docFooter)==null?void 0:g.prev)===!1&&!t.value.prev||t.value.prev===!1,v=((I=e.value.docFooter)==null?void 0:I.next)===!1&&!t.value.next||t.value.next===!1;return{prev:d?void 0:{text:(typeof t.value.prev=="string"?t.value.prev:typeof t.value.prev=="object"?t.value.prev.text:void 0)??(($=i[c-1])==null?void 0:$.docFooterText)??((S=i[c-1])==null?void 0:S.text),link:(typeof t.value.prev=="object"?t.value.prev.link:void 0)??((E=i[c-1])==null?void 0:E.link)},next:v?void 0:{text:(typeof t.value.next=="string"?t.value.next:typeof t.value.next=="object"?t.value.next.text:void 0)??((N=i[c+1])==null?void 0:N.docFooterText)??((F=i[c+1])==null?void 0:F.text),link:(typeof t.value.next=="object"?t.value.next.link:void 0)??((z=i[c+1])==null?void 0:z.link)}}})}function wo(o,e){const t=new Set;return o.filter(a=>{const n=e(a);return t.has(n)?!1:t.add(n)})}const x=_({__name:"VPLink",props:{tag:{},href:{},noIcon:{type:Boolean},target:{},rel:{}},setup(o){const e=o,t=L(()=>e.tag??(e.href?"a":"span")),a=L(()=>e.href&&Qe.test(e.href)||e.target==="_blank");return(n,i)=>(s(),k(Q(t.value),{class:M(["VPLink",{link:n.href,"vp-external-link-icon":a.value,"no-icon":n.noIcon}]),href:n.href?r(De)(n.href):void 0,target:n.target??(a.value?"_blank":void 0),rel:n.rel??(a.value?"noreferrer":void 0)},{default:m(()=>[l(n.$slots,"default")]),_:3},8,["class","href","target","rel"]))}}),To={class:"VPLastUpdated"},Io=["datetime"],No=_({__name:"VPDocFooterLastUpdated",setup(o){const{theme:e,page:t,lang:a}=V(),n=L(()=>new Date(t.value.lastUpdated)),i=L(()=>n.value.toISOString()),c=H("");return re(()=>{$e(()=>{var d,v,g;c.value=new Intl.DateTimeFormat((v=(d=e.value.lastUpdated)==null?void 0:d.formatOptions)!=null&&v.forceLocale?a.value:void 0,((g=e.value.lastUpdated)==null?void 0:g.formatOptions)??{dateStyle:"short",timeStyle:"short"}).format(n.value)})}),(d,v)=>{var g;return s(),u("p",To,[te(C(((g=r(e).lastUpdated)==null?void 0:g.text)||r(e).lastUpdatedText||"Last updated")+": ",1),p("time",{datetime:i.value},C(c.value),9,Io)])}}}),Eo=y(No,[["__scopeId","data-v-4e3c18a4"]]),it=o=>(G("data-v-34368ad2"),o=o(),q(),o),zo={key:0,class:"VPDocFooter"},Co={key:0,class:"edit-info"},Ho={key:0,class:"edit-link"},Mo=it(()=>p("span",{class:"vpi-square-pen edit-link-icon"},null,-1)),Ao={key:1,class:"last-updated"},Bo={key:1,class:"prev-next","aria-labelledby":"doc-footer-aria-label"},Oo=it(()=>p("span",{class:"visually-hidden",id:"doc-footer-aria-label"},"Pager",-1)),Fo={class:"pager"},Do=["innerHTML"],jo=["innerHTML"],Uo={class:"pager"},Go=["innerHTML"],qo=["innerHTML"],Ro=_({__name:"VPDocFooter",setup(o){const{theme:e,page:t,frontmatter:a}=V(),n=So(),i=Vo(),c=L(()=>e.value.editLink&&a.value.editLink!==!1),d=L(()=>t.value.lastUpdated),v=L(()=>c.value||d.value||i.value.prev||i.value.next);return(g,I)=>{var $,S,E,N;return v.value?(s(),u("footer",zo,[l(g.$slots,"doc-footer-before",{},void 0,!0),c.value||d.value?(s(),u("div",Co,[c.value?(s(),u("div",Ho,[b(x,{class:"edit-link-button",href:r(n).url,"no-icon":!0},{default:m(()=>[Mo,te(" "+C(r(n).text),1)]),_:1},8,["href"])])):h("",!0),d.value?(s(),u("div",Ao,[b(Eo)])):h("",!0)])):h("",!0),($=r(i).prev)!=null&&$.link||(S=r(i).next)!=null&&S.link?(s(),u("nav",Bo,[Oo,p("div",Fo,[(E=r(i).prev)!=null&&E.link?(s(),k(x,{key:0,class:"pager-link prev",href:r(i).prev.link},{default:m(()=>{var F;return[p("span",{class:"desc",innerHTML:((F=r(e).docFooter)==null?void 0:F.prev)||"Previous page"},null,8,Do),p("span",{class:"title",innerHTML:r(i).prev.text},null,8,jo)]}),_:1},8,["href"])):h("",!0)]),p("div",Uo,[(N=r(i).next)!=null&&N.link?(s(),k(x,{key:0,class:"pager-link next",href:r(i).next.link},{default:m(()=>{var F;return[p("span",{class:"desc",innerHTML:((F=r(e).docFooter)==null?void 0:F.next)||"Next page"},null,8,Go),p("span",{class:"title",innerHTML:r(i).next.text},null,8,qo)]}),_:1},8,["href"])):h("",!0)])])):h("",!0)])):h("",!0)}}}),Wo=y(Ro,[["__scopeId","data-v-34368ad2"]]),Ko=o=>(G("data-v-b521a168"),o=o(),q(),o),Yo={class:"container"},Jo=Ko(()=>p("div",{class:"aside-curtain"},null,-1)),Xo={class:"aside-container"},Zo={class:"aside-content"},Qo={class:"content"},xo={class:"content-container"},en={class:"main"},tn=_({__name:"VPDoc",setup(o){const{theme:e}=V(),t=me(),{hasSidebar:a,hasAside:n,leftAside:i}=oe(),c=L(()=>t.path.replace(/[./]+/g,"_").replace(/_html$/,""));return(d,v)=>{const g=ce("Content");return s(),u("div",{class:M(["VPDoc",{"has-sidebar":r(a),"has-aside":r(n)}])},[l(d.$slots,"doc-top",{},void 0,!0),p("div",Yo,[r(n)?(s(),u("div",{key:0,class:M(["aside",{"left-aside":r(i)}])},[Jo,p("div",Xo,[p("div",Zo,[b(Po,null,{"aside-top":m(()=>[l(d.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":m(()=>[l(d.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":m(()=>[l(d.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":m(()=>[l(d.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":m(()=>[l(d.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":m(()=>[l(d.$slots,"aside-ads-after",{},void 0,!0)]),_:3})])])],2)):h("",!0),p("div",Qo,[p("div",xo,[l(d.$slots,"doc-before",{},void 0,!0),p("main",en,[b(g,{class:M(["vp-doc",[c.value,r(e).externalLinkIcon&&"external-link-icon-enabled"]])},null,8,["class"])]),b(Wo,null,{"doc-footer-before":m(()=>[l(d.$slots,"doc-footer-before",{},void 0,!0)]),_:3}),l(d.$slots,"doc-after",{},void 0,!0)])])]),l(d.$slots,"doc-bottom",{},void 0,!0)],2)}}}),on=y(tn,[["__scopeId","data-v-b521a168"]]),nn=_({__name:"VPButton",props:{tag:{},size:{default:"medium"},theme:{default:"brand"},text:{},href:{},target:{},rel:{}},setup(o){const e=o,t=L(()=>e.href&&Qe.test(e.href)),a=L(()=>e.tag||e.href?"a":"button");return(n,i)=>(s(),k(Q(a.value),{class:M(["VPButton",[n.size,n.theme]]),href:n.href?r(De)(n.href):void 0,target:e.target??(t.value?"_blank":void 0),rel:e.rel??(t.value?"noreferrer":void 0)},{default:m(()=>[te(C(n.text),1)]),_:1},8,["class","href","target","rel"]))}}),an=y(nn,[["__scopeId","data-v-89174608"]]),sn=["src","alt"],rn=_({inheritAttrs:!1,__name:"VPImage",props:{image:{},alt:{}},setup(o){return(e,t)=>{const a=ce("VPImage",!0);return e.image?(s(),u(B,{key:0},[typeof e.image=="string"||"src"in e.image?(s(),u("img",se({key:0,class:"VPImage"},typeof e.image=="string"?e.$attrs:{...e.image,...e.$attrs},{src:r(Be)(typeof e.image=="string"?e.image:e.image.src),alt:e.alt??(typeof e.image=="string"?"":e.image.alt||"")}),null,16,sn)):(s(),u(B,{key:1},[b(a,se({class:"dark",image:e.image.dark,alt:e.image.alt},e.$attrs),null,16,["image","alt"]),b(a,se({class:"light",image:e.image.light,alt:e.image.alt},e.$attrs),null,16,["image","alt"])],64))],64)):h("",!0)}}}),ke=y(rn,[["__scopeId","data-v-13e6cd18"]]),ln=o=>(G("data-v-0661e2e5"),o=o(),q(),o),cn={class:"container"},un={class:"main"},dn={key:0,class:"name"},vn=["innerHTML"],mn=["innerHTML"],pn=["innerHTML"],fn={key:0,class:"actions"},hn={key:0,class:"image"},_n={class:"image-container"},gn=ln(()=>p("div",{class:"image-bg"},null,-1)),bn=_({__name:"VPHero",props:{name:{},text:{},tagline:{},image:{},actions:{}},setup(o){const e=Le("hero-image-slot-exists");return(t,a)=>(s(),u("div",{class:M(["VPHero",{"has-image":t.image||r(e)}])},[p("div",cn,[p("div",un,[l(t.$slots,"home-hero-info-before",{},void 0,!0),l(t.$slots,"home-hero-info",{},()=>[t.name?(s(),u("h1",dn,[p("span",{innerHTML:t.name,class:"clip"},null,8,vn)])):h("",!0),t.text?(s(),u("p",{key:1,innerHTML:t.text,class:"text"},null,8,mn)):h("",!0),t.tagline?(s(),u("p",{key:2,innerHTML:t.tagline,class:"tagline"},null,8,pn)):h("",!0)],!0),l(t.$slots,"home-hero-info-after",{},void 0,!0),t.actions?(s(),u("div",fn,[(s(!0),u(B,null,K(t.actions,n=>(s(),u("div",{key:n.link,class:"action"},[b(an,{tag:"a",size:"medium",theme:n.theme,text:n.text,href:n.link,target:n.target,rel:n.rel},null,8,["theme","text","href","target","rel"])]))),128))])):h("",!0),l(t.$slots,"home-hero-actions-after",{},void 0,!0)]),t.image||r(e)?(s(),u("div",hn,[p("div",_n,[gn,l(t.$slots,"home-hero-image",{},()=>[t.image?(s(),k(ke,{key:0,class:"image-src",image:t.image},null,8,["image"])):h("",!0)],!0)])])):h("",!0)])],2))}}),kn=y(bn,[["__scopeId","data-v-0661e2e5"]]),$n=_({__name:"VPHomeHero",setup(o){const{frontmatter:e}=V();return(t,a)=>r(e).hero?(s(),k(kn,{key:0,class:"VPHomeHero",name:r(e).hero.name,text:r(e).hero.text,tagline:r(e).hero.tagline,image:r(e).hero.image,actions:r(e).hero.actions},{"home-hero-info-before":m(()=>[l(t.$slots,"home-hero-info-before")]),"home-hero-info":m(()=>[l(t.$slots,"home-hero-info")]),"home-hero-info-after":m(()=>[l(t.$slots,"home-hero-info-after")]),"home-hero-actions-after":m(()=>[l(t.$slots,"home-hero-actions-after")]),"home-hero-image":m(()=>[l(t.$slots,"home-hero-image")]),_:3},8,["name","text","tagline","image","actions"])):h("",!0)}}),yn=o=>(G("data-v-98aa41e6"),o=o(),q(),o),Ln={class:"box"},Pn={key:0,class:"icon"},Sn=["innerHTML"],Vn=["innerHTML"],wn=["innerHTML"],Tn={key:4,class:"link-text"},In={class:"link-text-value"},Nn=yn(()=>p("span",{class:"vpi-arrow-right link-text-icon"},null,-1)),En=_({__name:"VPFeature",props:{icon:{},title:{},details:{},link:{},linkText:{},rel:{},target:{}},setup(o){return(e,t)=>(s(),k(x,{class:"VPFeature",href:e.link,rel:e.rel,target:e.target,"no-icon":!0,tag:e.link?"a":"div"},{default:m(()=>[p("article",Ln,[typeof e.icon=="object"&&e.icon.wrap?(s(),u("div",Pn,[b(ke,{image:e.icon,alt:e.icon.alt,height:e.icon.height||48,width:e.icon.width||48},null,8,["image","alt","height","width"])])):typeof e.icon=="object"?(s(),k(ke,{key:1,image:e.icon,alt:e.icon.alt,height:e.icon.height||48,width:e.icon.width||48},null,8,["image","alt","height","width"])):e.icon?(s(),u("div",{key:2,class:"icon",innerHTML:e.icon},null,8,Sn)):h("",!0),p("h2",{class:"title",innerHTML:e.title},null,8,Vn),e.details?(s(),u("p",{key:3,class:"details",innerHTML:e.details},null,8,wn)):h("",!0),e.linkText?(s(),u("div",Tn,[p("p",In,[te(C(e.linkText)+" ",1),Nn])])):h("",!0)])]),_:1},8,["href","rel","target","tag"]))}}),zn=y(En,[["__scopeId","data-v-98aa41e6"]]),Cn={key:0,class:"VPFeatures"},Hn={class:"container"},Mn={class:"items"},An=_({__name:"VPFeatures",props:{features:{}},setup(o){const e=o,t=L(()=>{const a=e.features.length;if(a){if(a===2)return"grid-2";if(a===3)return"grid-3";if(a%3===0)return"grid-6";if(a>3)return"grid-4"}else return});return(a,n)=>a.features?(s(),u("div",Cn,[p("div",Hn,[p("div",Mn,[(s(!0),u(B,null,K(a.features,i=>(s(),u("div",{key:i.title,class:M(["item",[t.value]])},[b(zn,{icon:i.icon,title:i.title,details:i.details,link:i.link,"link-text":i.linkText,rel:i.rel,target:i.target},null,8,["icon","title","details","link","link-text","rel","target"])],2))),128))])])])):h("",!0)}}),Bn=y(An,[["__scopeId","data-v-178d34ad"]]),On=_({__name:"VPHomeFeatures",setup(o){const{frontmatter:e}=V();return(t,a)=>r(e).features?(s(),k(Bn,{key:0,class:"VPHomeFeatures",features:r(e).features},null,8,["features"])):h("",!0)}}),Fn=_({__name:"VPHomeContent",setup(o){const{width:e}=Et({initialWidth:0,includeScrollbar:!1});return(t,a)=>(s(),u("div",{class:"vp-doc container",style:xe(r(e)?{"--vp-offset":`calc(50% - ${r(e)/2}px)`}:{})},[l(t.$slots,"default",{},void 0,!0)],4))}}),Dn=y(Fn,[["__scopeId","data-v-cfbc1a43"]]),jn={class:"VPHome"},Un=_({__name:"VPHome",setup(o){const{frontmatter:e}=V();return(t,a)=>{const n=ce("Content");return s(),u("div",jn,[l(t.$slots,"home-hero-before",{},void 0,!0),b($n,null,{"home-hero-info-before":m(()=>[l(t.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":m(()=>[l(t.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":m(()=>[l(t.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":m(()=>[l(t.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":m(()=>[l(t.$slots,"home-hero-image",{},void 0,!0)]),_:3}),l(t.$slots,"home-hero-after",{},void 0,!0),l(t.$slots,"home-features-before",{},void 0,!0),b(On),l(t.$slots,"home-features-after",{},void 0,!0),r(e).markdownStyles!==!1?(s(),k(Dn,{key:0},{default:m(()=>[b(n)]),_:1})):(s(),k(n,{key:1}))])}}}),Gn=y(Un,[["__scopeId","data-v-fd2ffb77"]]),qn={},Rn={class:"VPPage"};function Wn(o,e){const t=ce("Content");return s(),u("div",Rn,[l(o.$slots,"page-top"),b(t),l(o.$slots,"page-bottom")])}const Kn=y(qn,[["render",Wn]]),Yn=_({__name:"VPContent",setup(o){const{page:e,frontmatter:t}=V(),{hasSidebar:a}=oe();return(n,i)=>(s(),u("div",{class:M(["VPContent",{"has-sidebar":r(a),"is-home":r(t).layout==="home"}]),id:"VPContent"},[r(e).isNotFound?l(n.$slots,"not-found",{key:0},()=>[b(to)],!0):r(t).layout==="page"?(s(),k(Kn,{key:1},{"page-top":m(()=>[l(n.$slots,"page-top",{},void 0,!0)]),"page-bottom":m(()=>[l(n.$slots,"page-bottom",{},void 0,!0)]),_:3})):r(t).layout==="home"?(s(),k(Gn,{key:2},{"home-hero-before":m(()=>[l(n.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info-before":m(()=>[l(n.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":m(()=>[l(n.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":m(()=>[l(n.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":m(()=>[l(n.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":m(()=>[l(n.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":m(()=>[l(n.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":m(()=>[l(n.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":m(()=>[l(n.$slots,"home-features-after",{},void 0,!0)]),_:3})):r(t).layout&&r(t).layout!=="doc"?(s(),k(Q(r(t).layout),{key:3})):(s(),k(on,{key:4},{"doc-top":m(()=>[l(n.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":m(()=>[l(n.$slots,"doc-bottom",{},void 0,!0)]),"doc-footer-before":m(()=>[l(n.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":m(()=>[l(n.$slots,"doc-before",{},void 0,!0)]),"doc-after":m(()=>[l(n.$slots,"doc-after",{},void 0,!0)]),"aside-top":m(()=>[l(n.$slots,"aside-top",{},void 0,!0)]),"aside-outline-before":m(()=>[l(n.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":m(()=>[l(n.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":m(()=>[l(n.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":m(()=>[l(n.$slots,"aside-ads-after",{},void 0,!0)]),"aside-bottom":m(()=>[l(n.$slots,"aside-bottom",{},void 0,!0)]),_:3}))],2))}}),Jn=y(Yn,[["__scopeId","data-v-cb0805a1"]]),Xn={class:"container"},Zn=["innerHTML"],Qn=["innerHTML"],xn=_({__name:"VPFooter",setup(o){const{theme:e,frontmatter:t}=V(),{hasSidebar:a}=oe();return(n,i)=>r(e).footer&&r(t).footer!==!1?(s(),u("footer",{key:0,class:M(["VPFooter",{"has-sidebar":r(a)}])},[p("div",Xn,[r(e).footer.message?(s(),u("p",{key:0,class:"message",innerHTML:r(e).footer.message},null,8,Zn)):h("",!0),r(e).footer.copyright?(s(),u("p",{key:1,class:"copyright",innerHTML:r(e).footer.copyright},null,8,Qn)):h("",!0)])],2)):h("",!0)}}),ea=y(xn,[["__scopeId","data-v-c01e8608"]]);function ta(){const{theme:o,frontmatter:e}=V(),t=Ze([]),a=L(()=>t.value.length>0);return ye(()=>{t.value=je(e.value.outline??o.value.outline)}),{headers:t,hasLocalNav:a}}const oa=o=>(G("data-v-f9d4ca59"),o=o(),q(),o),na={class:"menu-text"},aa=oa(()=>p("span",{class:"vpi-chevron-right icon"},null,-1)),sa={class:"header"},ra={class:"outline"},ia=_({__name:"VPLocalNavOutlineDropdown",props:{headers:{},navHeight:{}},setup(o){const e=o,{theme:t}=V(),a=H(!1),n=H(0),i=H(),c=H();function d($){var S;(S=i.value)!=null&&S.contains($.target)||(a.value=!1)}ee(a,$=>{if($){document.addEventListener("click",d);return}document.removeEventListener("click",d)}),ze("Escape",()=>{a.value=!1}),ye(()=>{a.value=!1});function v(){a.value=!a.value,n.value=window.innerHeight+Math.min(window.scrollY-e.navHeight,0)}function g($){$.target.classList.contains("outline-link")&&(c.value&&(c.value.style.transition="none"),et(()=>{a.value=!1}))}function I(){a.value=!1,window.scrollTo({top:0,left:0,behavior:"smooth"})}return($,S)=>(s(),u("div",{class:"VPLocalNavOutlineDropdown",style:xe({"--vp-vh":n.value+"px"}),ref_key:"main",ref:i},[$.headers.length>0?(s(),u("button",{key:0,onClick:v,class:M({open:a.value})},[p("span",na,C(r(st)(r(t))),1),aa],2)):(s(),u("button",{key:1,onClick:I},C(r(t).returnToTopLabel||"Return to top"),1)),b(Ae,{name:"flyout"},{default:m(()=>[a.value?(s(),u("div",{key:0,ref_key:"items",ref:c,class:"items",onClick:g},[p("div",sa,[p("a",{class:"top-link",href:"#",onClick:I},C(r(t).returnToTopLabel||"Return to top"),1)]),p("div",ra,[b(rt,{headers:$.headers},null,8,["headers"])])],512)):h("",!0)]),_:1})],4))}}),la=y(ia,[["__scopeId","data-v-f9d4ca59"]]),ca=o=>(G("data-v-4b826de3"),o=o(),q(),o),ua={class:"container"},da=["aria-expanded"],va=ca(()=>p("span",{class:"vpi-align-left menu-icon"},null,-1)),ma={class:"menu-text"},pa=_({__name:"VPLocalNav",props:{open:{type:Boolean}},emits:["open-menu"],setup(o){const{theme:e,frontmatter:t}=V(),{hasSidebar:a}=oe(),{headers:n}=ta(),{y:i}=tt(),c=H(0);re(()=>{c.value=parseInt(getComputedStyle(document.documentElement).getPropertyValue("--vp-nav-height"))}),ye(()=>{n.value=je(t.value.outline??e.value.outline)});const d=L(()=>n.value.length===0),v=L(()=>d.value&&!a.value),g=L(()=>({VPLocalNav:!0,"has-sidebar":a.value,empty:d.value,fixed:v.value}));return(I,$)=>r(t).layout!=="home"&&(!v.value||r(i)>=c.value)?(s(),u("div",{key:0,class:M(g.value)},[p("div",ua,[r(a)?(s(),u("button",{key:0,class:"menu","aria-expanded":I.open,"aria-controls":"VPSidebarNav",onClick:$[0]||($[0]=S=>I.$emit("open-menu"))},[va,p("span",ma,C(r(e).sidebarMenuLabel||"Menu"),1)],8,da)):h("",!0),b(la,{headers:r(n),navHeight:c.value},null,8,["headers","navHeight"])])],2)):h("",!0)}}),fa=y(pa,[["__scopeId","data-v-4b826de3"]]);function ha(){const o=H(!1);function e(){o.value=!0,window.addEventListener("resize",n)}function t(){o.value=!1,window.removeEventListener("resize",n)}function a(){o.value?t():e()}function n(){window.outerWidth>=768&&t()}const i=me();return ee(()=>i.path,t),{isScreenOpen:o,openScreen:e,closeScreen:t,toggleScreen:a}}const _a={},ga={class:"VPSwitch",type:"button",role:"switch"},ba={class:"check"},ka={key:0,class:"icon"};function $a(o,e){return s(),u("button",ga,[p("span",ba,[o.$slots.default?(s(),u("span",ka,[l(o.$slots,"default",{},void 0,!0)])):h("",!0)])])}const ya=y(_a,[["render",$a],["__scopeId","data-v-c5a026db"]]),lt=o=>(G("data-v-5e81030c"),o=o(),q(),o),La=lt(()=>p("span",{class:"vpi-sun sun"},null,-1)),Pa=lt(()=>p("span",{class:"vpi-moon moon"},null,-1)),Sa=_({__name:"VPSwitchAppearance",setup(o){const{isDark:e,theme:t}=V(),a=Le("toggle-appearance",()=>{e.value=!e.value}),n=H("");return Fe(()=>{n.value=e.value?t.value.lightModeSwitchTitle||"Switch to light theme":t.value.darkModeSwitchTitle||"Switch to dark theme"}),(i,c)=>(s(),k(ya,{title:n.value,class:"VPSwitchAppearance","aria-checked":r(e),onClick:r(a)},{default:m(()=>[La,Pa]),_:1},8,["title","aria-checked","onClick"]))}}),Ue=y(Sa,[["__scopeId","data-v-5e81030c"]]),Va={key:0,class:"VPNavBarAppearance"},wa=_({__name:"VPNavBarAppearance",setup(o){const{site:e}=V();return(t,a)=>r(e).appearance&&r(e).appearance!=="force-dark"&&r(e).appearance!=="force-auto"?(s(),u("div",Va,[b(Ue)])):h("",!0)}}),Ta=y(wa,[["__scopeId","data-v-830f4e0c"]]),Ge=H();let ct=!1,Ne=0;function Ia(o){const e=H(!1);if(Pe){!ct&&Na(),Ne++;const t=ee(Ge,a=>{var n,i,c;a===o.el.value||(n=o.el.value)!=null&&n.contains(a)?(e.value=!0,(i=o.onFocus)==null||i.call(o)):(e.value=!1,(c=o.onBlur)==null||c.call(o))});Oe(()=>{t(),Ne--,Ne||Ea()})}return zt(e)}function Na(){document.addEventListener("focusin",ut),ct=!0,Ge.value=document.activeElement}function Ea(){document.removeEventListener("focusin",ut)}function ut(){Ge.value=document.activeElement}const za={class:"VPMenuLink"},Ca=_({__name:"VPMenuLink",props:{item:{}},setup(o){const{page:e}=V();return(t,a)=>(s(),u("div",za,[b(x,{class:M({active:r(le)(r(e).relativePath,t.item.activeMatch||t.item.link,!!t.item.activeMatch)}),href:t.item.link,target:t.item.target,rel:t.item.rel},{default:m(()=>[te(C(t.item.text),1)]),_:1},8,["class","href","target","rel"])]))}}),Se=y(Ca,[["__scopeId","data-v-47efe451"]]),Ha={class:"VPMenuGroup"},Ma={key:0,class:"title"},Aa=_({__name:"VPMenuGroup",props:{text:{},items:{}},setup(o){return(e,t)=>(s(),u("div",Ha,[e.text?(s(),u("p",Ma,C(e.text),1)):h("",!0),(s(!0),u(B,null,K(e.items,a=>(s(),u(B,null,["link"in a?(s(),k(Se,{key:0,item:a},null,8,["item"])):h("",!0)],64))),256))]))}}),Ba=y(Aa,[["__scopeId","data-v-dd99de09"]]),Oa={class:"VPMenu"},Fa={key:0,class:"items"},Da=_({__name:"VPMenu",props:{items:{}},setup(o){return(e,t)=>(s(),u("div",Oa,[e.items?(s(),u("div",Fa,[(s(!0),u(B,null,K(e.items,a=>(s(),u(B,{key:JSON.stringify(a)},["link"in a?(s(),k(Se,{key:0,item:a},null,8,["item"])):"component"in a?(s(),k(Q(a.component),se({key:1,ref_for:!0},a.props),null,16)):(s(),k(Ba,{key:2,text:a.text,items:a.items},null,8,["text","items"]))],64))),128))])):h("",!0),l(e.$slots,"default",{},void 0,!0)]))}}),ja=y(Da,[["__scopeId","data-v-0007c525"]]),Ua=o=>(G("data-v-11ef3b07"),o=o(),q(),o),Ga=["aria-expanded","aria-label"],qa={key:0,class:"text"},Ra=["innerHTML"],Wa=Ua(()=>p("span",{class:"vpi-chevron-down text-icon"},null,-1)),Ka={key:1,class:"vpi-more-horizontal icon"},Ya={class:"menu"},Ja=_({__name:"VPFlyout",props:{icon:{},button:{},label:{},items:{}},setup(o){const e=H(!1),t=H();Ia({el:t,onBlur:a});function a(){e.value=!1}return(n,i)=>(s(),u("div",{class:"VPFlyout",ref_key:"el",ref:t,onMouseenter:i[1]||(i[1]=c=>e.value=!0),onMouseleave:i[2]||(i[2]=c=>e.value=!1)},[p("button",{type:"button",class:"button","aria-haspopup":"true","aria-expanded":e.value,"aria-label":n.label,onClick:i[0]||(i[0]=c=>e.value=!e.value)},[n.button||n.icon?(s(),u("span",qa,[n.icon?(s(),u("span",{key:0,class:M([n.icon,"option-icon"])},null,2)):h("",!0),n.button?(s(),u("span",{key:1,innerHTML:n.button},null,8,Ra)):h("",!0),Wa])):(s(),u("span",Ka))],8,Ga),p("div",Ya,[b(ja,{items:n.items},{default:m(()=>[l(n.$slots,"default",{},void 0,!0)]),_:3},8,["items"])])],544))}}),qe=y(Ja,[["__scopeId","data-v-11ef3b07"]]),Xa=["href","aria-label","innerHTML"],Za=_({__name:"VPSocialLink",props:{icon:{},link:{},ariaLabel:{}},setup(o){const e=o,t=L(()=>typeof e.icon=="object"?e.icon.svg:``);return(a,n)=>(s(),u("a",{class:"VPSocialLink no-icon",href:a.link,"aria-label":a.ariaLabel??(typeof a.icon=="string"?a.icon:""),target:"_blank",rel:"noopener",innerHTML:t.value},null,8,Xa))}}),Qa=y(Za,[["__scopeId","data-v-116c6058"]]),xa={class:"VPSocialLinks"},es=_({__name:"VPSocialLinks",props:{links:{}},setup(o){return(e,t)=>(s(),u("div",xa,[(s(!0),u(B,null,K(e.links,({link:a,icon:n,ariaLabel:i})=>(s(),k(Qa,{key:a,icon:n,link:a,ariaLabel:i},null,8,["icon","link","ariaLabel"]))),128))]))}}),Re=y(es,[["__scopeId","data-v-e883f8d0"]]),ts={key:0,class:"group translations"},os={class:"trans-title"},ns={key:1,class:"group"},as={class:"item appearance"},ss={class:"label"},rs={class:"appearance-action"},is={key:2,class:"group"},ls={class:"item social-links"},cs=_({__name:"VPNavBarExtra",setup(o){const{site:e,theme:t}=V(),{localeLinks:a,currentLang:n}=pe({correspondingLink:!0}),i=L(()=>a.value.length&&n.value.label||e.value.appearance||t.value.socialLinks);return(c,d)=>i.value?(s(),k(qe,{key:0,class:"VPNavBarExtra",label:"extra navigation"},{default:m(()=>[r(a).length&&r(n).label?(s(),u("div",ts,[p("p",os,C(r(n).label),1),(s(!0),u(B,null,K(r(a),v=>(s(),k(Se,{key:v.link,item:v},null,8,["item"]))),128))])):h("",!0),r(e).appearance&&r(e).appearance!=="force-dark"&&r(e).appearance!=="force-auto"?(s(),u("div",ns,[p("div",as,[p("p",ss,C(r(t).darkModeSwitchLabel||"Appearance"),1),p("div",rs,[b(Ue)])])])):h("",!0),r(t).socialLinks?(s(),u("div",is,[p("div",ls,[b(Re,{class:"social-links-list",links:r(t).socialLinks},null,8,["links"])])])):h("",!0)]),_:1})):h("",!0)}}),us=y(cs,[["__scopeId","data-v-f78a1889"]]),ds=o=>(G("data-v-7ec5116e"),o=o(),q(),o),vs=["aria-expanded"],ms=ds(()=>p("span",{class:"container"},[p("span",{class:"top"}),p("span",{class:"middle"}),p("span",{class:"bottom"})],-1)),ps=[ms],fs=_({__name:"VPNavBarHamburger",props:{active:{type:Boolean}},emits:["click"],setup(o){return(e,t)=>(s(),u("button",{type:"button",class:M(["VPNavBarHamburger",{active:e.active}]),"aria-label":"mobile navigation","aria-expanded":e.active,"aria-controls":"VPNavScreen",onClick:t[0]||(t[0]=a=>e.$emit("click"))},ps,10,vs))}}),hs=y(fs,[["__scopeId","data-v-7ec5116e"]]),_s=["innerHTML"],gs=_({__name:"VPNavBarMenuLink",props:{item:{}},setup(o){const{page:e}=V();return(t,a)=>(s(),k(x,{class:M({VPNavBarMenuLink:!0,active:r(le)(r(e).relativePath,t.item.activeMatch||t.item.link,!!t.item.activeMatch)}),href:t.item.link,noIcon:t.item.noIcon,target:t.item.target,rel:t.item.rel,tabindex:"0"},{default:m(()=>[p("span",{innerHTML:t.item.text},null,8,_s)]),_:1},8,["class","href","noIcon","target","rel"]))}}),bs=y(gs,[["__scopeId","data-v-6589ed1c"]]),ks=_({__name:"VPNavBarMenuGroup",props:{item:{}},setup(o){const e=o,{page:t}=V(),a=i=>"component"in i?!1:"link"in i?le(t.value.relativePath,i.link,!!e.item.activeMatch):i.items.some(a),n=L(()=>a(e.item));return(i,c)=>(s(),k(qe,{class:M({VPNavBarMenuGroup:!0,active:r(le)(r(t).relativePath,i.item.activeMatch,!!i.item.activeMatch)||n.value}),button:i.item.text,items:i.item.items},null,8,["class","button","items"]))}}),$s=o=>(G("data-v-46876648"),o=o(),q(),o),ys={key:0,"aria-labelledby":"main-nav-aria-label",class:"VPNavBarMenu"},Ls=$s(()=>p("span",{id:"main-nav-aria-label",class:"visually-hidden"}," Main Navigation ",-1)),Ps=_({__name:"VPNavBarMenu",setup(o){const{theme:e}=V();return(t,a)=>r(e).nav?(s(),u("nav",ys,[Ls,(s(!0),u(B,null,K(r(e).nav,n=>(s(),u(B,{key:JSON.stringify(n)},["link"in n?(s(),k(bs,{key:0,item:n},null,8,["item"])):"component"in n?(s(),k(Q(n.component),se({key:1,ref_for:!0},n.props),null,16)):(s(),k(ks,{key:2,item:n},null,8,["item"]))],64))),128))])):h("",!0)}}),Ss=y(Ps,[["__scopeId","data-v-46876648"]]);function Vs(o){const{localeIndex:e,theme:t}=V();function a(n){var N,F,z;const i=n.split("."),c=(N=t.value.search)==null?void 0:N.options,d=c&&typeof c=="object",v=d&&((z=(F=c.locales)==null?void 0:F[e.value])==null?void 0:z.translations)||null,g=d&&c.translations||null;let I=v,$=g,S=o;const E=i.pop();for(const J of i){let X=null;const D=S==null?void 0:S[J];D&&(X=S=D);const ne=$==null?void 0:$[J];ne&&(X=$=ne);const Z=I==null?void 0:I[J];Z&&(X=I=Z),D||(S=X),ne||($=X),Z||(I=X)}return(I==null?void 0:I[E])??($==null?void 0:$[E])??(S==null?void 0:S[E])??""}return a}const ws=["aria-label"],Ts={class:"DocSearch-Button-Container"},Is=p("span",{class:"vp-icon DocSearch-Search-Icon"},null,-1),Ns={class:"DocSearch-Button-Placeholder"},Es=p("span",{class:"DocSearch-Button-Keys"},[p("kbd",{class:"DocSearch-Button-Key"}),p("kbd",{class:"DocSearch-Button-Key"},"K")],-1),Ye=_({__name:"VPNavBarSearchButton",setup(o){const t=Vs({button:{buttonText:"Search",buttonAriaLabel:"Search"}});return(a,n)=>(s(),u("button",{type:"button",class:"DocSearch DocSearch-Button","aria-label":r(t)("button.buttonAriaLabel")},[p("span",Ts,[Is,p("span",Ns,C(r(t)("button.buttonText")),1)]),Es],8,ws))}}),zs={class:"VPNavBarSearch"},Cs={id:"local-search"},Hs={key:1,id:"docsearch"},Ms=_({__name:"VPNavBarSearch",setup(o){const e=Ct(()=>Ht(()=>import("./VPLocalSearchBox.DKxsIXXL.js"),__vite__mapDeps([0,1]))),t=()=>null,{theme:a}=V(),n=H(!1),i=H(!1);re(()=>{});function c(){n.value||(n.value=!0,setTimeout(d,16))}function d(){const $=new Event("keydown");$.key="k",$.metaKey=!0,window.dispatchEvent($),setTimeout(()=>{document.querySelector(".DocSearch-Modal")||d()},16)}function v($){const S=$.target,E=S.tagName;return S.isContentEditable||E==="INPUT"||E==="SELECT"||E==="TEXTAREA"}const g=H(!1);ze("k",$=>{($.ctrlKey||$.metaKey)&&($.preventDefault(),g.value=!0)}),ze("/",$=>{v($)||($.preventDefault(),g.value=!0)});const I="local";return($,S)=>{var E;return s(),u("div",zs,[r(I)==="local"?(s(),u(B,{key:0},[g.value?(s(),k(r(e),{key:0,onClose:S[0]||(S[0]=N=>g.value=!1)})):h("",!0),p("div",Cs,[b(Ye,{onClick:S[1]||(S[1]=N=>g.value=!0)})])],64)):r(I)==="algolia"?(s(),u(B,{key:1},[n.value?(s(),k(r(t),{key:0,algolia:((E=r(a).search)==null?void 0:E.options)??r(a).algolia,onVnodeBeforeMount:S[2]||(S[2]=N=>i.value=!0)},null,8,["algolia"])):h("",!0),i.value?h("",!0):(s(),u("div",Hs,[b(Ye,{onClick:c})]))],64)):h("",!0)])}}}),As=_({__name:"VPNavBarSocialLinks",setup(o){const{theme:e}=V();return(t,a)=>r(e).socialLinks?(s(),k(Re,{key:0,class:"VPNavBarSocialLinks",links:r(e).socialLinks},null,8,["links"])):h("",!0)}}),Bs=y(As,[["__scopeId","data-v-6a13576c"]]),Os=["href","rel","target"],Fs={key:1},Ds={key:2},js=_({__name:"VPNavBarTitle",setup(o){const{site:e,theme:t}=V(),{hasSidebar:a}=oe(),{currentLang:n}=pe(),i=L(()=>{var v;return typeof t.value.logoLink=="string"?t.value.logoLink:(v=t.value.logoLink)==null?void 0:v.link}),c=L(()=>{var v;return typeof t.value.logoLink=="string"||(v=t.value.logoLink)==null?void 0:v.rel}),d=L(()=>{var v;return typeof t.value.logoLink=="string"||(v=t.value.logoLink)==null?void 0:v.target});return(v,g)=>(s(),u("div",{class:M(["VPNavBarTitle",{"has-sidebar":r(a)}])},[p("a",{class:"title",href:i.value??r(De)(r(n).link),rel:c.value,target:d.value},[l(v.$slots,"nav-bar-title-before",{},void 0,!0),r(t).logo?(s(),k(ke,{key:0,class:"logo",image:r(t).logo},null,8,["image"])):h("",!0),r(t).siteTitle?(s(),u("span",Fs,C(r(t).siteTitle),1)):r(t).siteTitle===void 0?(s(),u("span",Ds,C(r(e).title),1)):h("",!0),l(v.$slots,"nav-bar-title-after",{},void 0,!0)],8,Os)],2))}}),Us=y(js,[["__scopeId","data-v-ff17a4ae"]]),Gs={class:"items"},qs={class:"title"},Rs=_({__name:"VPNavBarTranslations",setup(o){const{theme:e}=V(),{localeLinks:t,currentLang:a}=pe({correspondingLink:!0});return(n,i)=>r(t).length&&r(a).label?(s(),k(qe,{key:0,class:"VPNavBarTranslations",icon:"vpi-languages",label:r(e).langMenuLabel||"Change language"},{default:m(()=>[p("div",Gs,[p("p",qs,C(r(a).label),1),(s(!0),u(B,null,K(r(t),c=>(s(),k(Se,{key:c.link,item:c},null,8,["item"]))),128))])]),_:1},8,["label"])):h("",!0)}}),Ws=y(Rs,[["__scopeId","data-v-540bc5e8"]]),Ks=o=>(G("data-v-3fed1b83"),o=o(),q(),o),Ys={class:"wrapper"},Js={class:"container"},Xs={class:"title"},Zs={class:"content"},Qs={class:"content-body"},xs=Ks(()=>p("div",{class:"divider"},[p("div",{class:"divider-line"})],-1)),er=_({__name:"VPNavBar",props:{isScreenOpen:{type:Boolean}},emits:["toggle-screen"],setup(o){const e=o,{y:t}=tt(),{hasSidebar:a}=oe(),{frontmatter:n}=V(),i=H({});return Fe(()=>{i.value={"has-sidebar":a.value,home:n.value.layout==="home",top:t.value===0,"screen-open":e.isScreenOpen}}),(c,d)=>(s(),u("div",{class:M(["VPNavBar",i.value])},[p("div",Ys,[p("div",Js,[p("div",Xs,[b(Us,null,{"nav-bar-title-before":m(()=>[l(c.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":m(()=>[l(c.$slots,"nav-bar-title-after",{},void 0,!0)]),_:3})]),p("div",Zs,[p("div",Qs,[l(c.$slots,"nav-bar-content-before",{},void 0,!0),b(Ms,{class:"search"}),b(Ss,{class:"menu"}),b(Ws,{class:"translations"}),b(Ta,{class:"appearance"}),b(Bs,{class:"social-links"}),b(us,{class:"extra"}),l(c.$slots,"nav-bar-content-after",{},void 0,!0),b(hs,{class:"hamburger",active:c.isScreenOpen,onClick:d[0]||(d[0]=v=>c.$emit("toggle-screen"))},null,8,["active"])])])])]),xs],2))}}),tr=y(er,[["__scopeId","data-v-3fed1b83"]]),or={key:0,class:"VPNavScreenAppearance"},nr={class:"text"},ar=_({__name:"VPNavScreenAppearance",setup(o){const{site:e,theme:t}=V();return(a,n)=>r(e).appearance&&r(e).appearance!=="force-dark"&&r(e).appearance!=="force-auto"?(s(),u("div",or,[p("p",nr,C(r(t).darkModeSwitchLabel||"Appearance"),1),b(Ue)])):h("",!0)}}),sr=y(ar,[["__scopeId","data-v-0ceafb5f"]]),rr=_({__name:"VPNavScreenMenuLink",props:{item:{}},setup(o){const e=Le("close-screen");return(t,a)=>(s(),k(x,{class:"VPNavScreenMenuLink",href:t.item.link,target:t.item.target,rel:t.item.rel,onClick:r(e),innerHTML:t.item.text},null,8,["href","target","rel","onClick","innerHTML"]))}}),ir=y(rr,[["__scopeId","data-v-8abda8b8"]]),lr=_({__name:"VPNavScreenMenuGroupLink",props:{item:{}},setup(o){const e=Le("close-screen");return(t,a)=>(s(),k(x,{class:"VPNavScreenMenuGroupLink",href:t.item.link,target:t.item.target,rel:t.item.rel,onClick:r(e)},{default:m(()=>[te(C(t.item.text),1)]),_:1},8,["href","target","rel","onClick"]))}}),dt=y(lr,[["__scopeId","data-v-ae02dd03"]]),cr={class:"VPNavScreenMenuGroupSection"},ur={key:0,class:"title"},dr=_({__name:"VPNavScreenMenuGroupSection",props:{text:{},items:{}},setup(o){return(e,t)=>(s(),u("div",cr,[e.text?(s(),u("p",ur,C(e.text),1)):h("",!0),(s(!0),u(B,null,K(e.items,a=>(s(),k(dt,{key:a.text,item:a},null,8,["item"]))),128))]))}}),vr=y(dr,[["__scopeId","data-v-dea7123a"]]),mr=o=>(G("data-v-f76bdb19"),o=o(),q(),o),pr=["aria-controls","aria-expanded"],fr=["innerHTML"],hr=mr(()=>p("span",{class:"vpi-plus button-icon"},null,-1)),_r=["id"],gr={key:0,class:"item"},br={key:1,class:"item"},kr={key:2,class:"group"},$r=_({__name:"VPNavScreenMenuGroup",props:{text:{},items:{}},setup(o){const e=o,t=H(!1),a=L(()=>`NavScreenGroup-${e.text.replace(" ","-").toLowerCase()}`);function n(){t.value=!t.value}return(i,c)=>(s(),u("div",{class:M(["VPNavScreenMenuGroup",{open:t.value}])},[p("button",{class:"button","aria-controls":a.value,"aria-expanded":t.value,onClick:n},[p("span",{class:"button-text",innerHTML:i.text},null,8,fr),hr],8,pr),p("div",{id:a.value,class:"items"},[(s(!0),u(B,null,K(i.items,d=>(s(),u(B,{key:JSON.stringify(d)},["link"in d?(s(),u("div",gr,[b(dt,{item:d},null,8,["item"])])):"component"in d?(s(),u("div",br,[(s(),k(Q(d.component),se({ref_for:!0},d.props,{"screen-menu":""}),null,16))])):(s(),u("div",kr,[b(vr,{items:d.items},null,8,["items"])]))],64))),128))],8,_r)],2))}}),yr=y($r,[["__scopeId","data-v-f76bdb19"]]),Lr={key:0,class:"VPNavScreenMenu"},Pr=_({__name:"VPNavScreenMenu",setup(o){const{theme:e}=V();return(t,a)=>r(e).nav?(s(),u("nav",Lr,[(s(!0),u(B,null,K(r(e).nav,n=>(s(),u(B,{key:JSON.stringify(n)},["link"in n?(s(),k(ir,{key:0,item:n},null,8,["item"])):"component"in n?(s(),k(Q(n.component),se({key:1,ref_for:!0},n.props,{"screen-menu":""}),null,16)):(s(),k(yr,{key:2,text:n.text||"",items:n.items},null,8,["text","items"]))],64))),128))])):h("",!0)}}),Sr=_({__name:"VPNavScreenSocialLinks",setup(o){const{theme:e}=V();return(t,a)=>r(e).socialLinks?(s(),k(Re,{key:0,class:"VPNavScreenSocialLinks",links:r(e).socialLinks},null,8,["links"])):h("",!0)}}),vt=o=>(G("data-v-eaa0f43e"),o=o(),q(),o),Vr=vt(()=>p("span",{class:"vpi-languages icon lang"},null,-1)),wr=vt(()=>p("span",{class:"vpi-chevron-down icon chevron"},null,-1)),Tr={class:"list"},Ir=_({__name:"VPNavScreenTranslations",setup(o){const{localeLinks:e,currentLang:t}=pe({correspondingLink:!0}),a=H(!1);function n(){a.value=!a.value}return(i,c)=>r(e).length&&r(t).label?(s(),u("div",{key:0,class:M(["VPNavScreenTranslations",{open:a.value}])},[p("button",{class:"title",onClick:n},[Vr,te(" "+C(r(t).label)+" ",1),wr]),p("ul",Tr,[(s(!0),u(B,null,K(r(e),d=>(s(),u("li",{key:d.link,class:"item"},[b(x,{class:"link",href:d.link},{default:m(()=>[te(C(d.text),1)]),_:2},1032,["href"])]))),128))])],2)):h("",!0)}}),Nr=y(Ir,[["__scopeId","data-v-eaa0f43e"]]),Er={class:"container"},zr=_({__name:"VPNavScreen",props:{open:{type:Boolean}},setup(o){const e=H(null),t=ot(Pe?document.body:null);return(a,n)=>(s(),k(Ae,{name:"fade",onEnter:n[0]||(n[0]=i=>t.value=!0),onAfterLeave:n[1]||(n[1]=i=>t.value=!1)},{default:m(()=>[a.open?(s(),u("div",{key:0,class:"VPNavScreen",ref_key:"screen",ref:e,id:"VPNavScreen"},[p("div",Er,[l(a.$slots,"nav-screen-content-before",{},void 0,!0),b(Pr,{class:"menu"}),b(Nr,{class:"translations"}),b(sr,{class:"appearance"}),b(Sr,{class:"social-links"}),l(a.$slots,"nav-screen-content-after",{},void 0,!0)])],512)):h("",!0)]),_:3}))}}),Cr=y(zr,[["__scopeId","data-v-334bb4cd"]]),Hr={key:0,class:"VPNav"},Mr=_({__name:"VPNav",setup(o){const{isScreenOpen:e,closeScreen:t,toggleScreen:a}=ha(),{frontmatter:n}=V(),i=L(()=>n.value.navbar!==!1);return nt("close-screen",t),$e(()=>{Pe&&document.documentElement.classList.toggle("hide-nav",!i.value)}),(c,d)=>i.value?(s(),u("header",Hr,[b(tr,{"is-screen-open":r(e),onToggleScreen:r(a)},{"nav-bar-title-before":m(()=>[l(c.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":m(()=>[l(c.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":m(()=>[l(c.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":m(()=>[l(c.$slots,"nav-bar-content-after",{},void 0,!0)]),_:3},8,["is-screen-open","onToggleScreen"]),b(Cr,{open:r(e)},{"nav-screen-content-before":m(()=>[l(c.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":m(()=>[l(c.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3},8,["open"])])):h("",!0)}}),Ar=y(Mr,[["__scopeId","data-v-a6f969fc"]]),mt=o=>(G("data-v-a9de9e44"),o=o(),q(),o),Br=["role","tabindex"],Or=mt(()=>p("div",{class:"indicator"},null,-1)),Fr=mt(()=>p("span",{class:"vpi-chevron-right caret-icon"},null,-1)),Dr=[Fr],jr={key:1,class:"items"},Ur=_({__name:"VPSidebarItem",props:{item:{},depth:{}},setup(o){const e=o,{collapsed:t,collapsible:a,isLink:n,isActiveLink:i,hasActiveLink:c,hasChildren:d,toggle:v}=so(L(()=>e.item)),g=L(()=>d.value?"section":"div"),I=L(()=>n.value?"a":"div"),$=L(()=>d.value?e.depth+2===7?"p":`h${e.depth+2}`:"p"),S=L(()=>n.value?void 0:"button"),E=L(()=>[[`level-${e.depth}`],{collapsible:a.value},{collapsed:t.value},{"is-link":n.value},{"is-active":i.value},{"has-active":c.value}]);function N(z){"key"in z&&z.key!=="Enter"||!e.item.link&&v()}function F(){e.item.link&&v()}return(z,J)=>{const X=ce("VPSidebarItem",!0);return s(),k(Q(g.value),{class:M(["VPSidebarItem",E.value])},{default:m(()=>[z.item.text?(s(),u("div",se({key:0,class:"item",role:S.value},Mt(z.item.items?{click:N,keydown:N}:{},!0),{tabindex:z.item.items&&0}),[Or,z.item.link?(s(),k(x,{key:0,tag:I.value,class:"link",href:z.item.link,rel:z.item.rel,target:z.item.target},{default:m(()=>[(s(),k(Q($.value),{class:"text",innerHTML:z.item.text},null,8,["innerHTML"]))]),_:1},8,["tag","href","rel","target"])):(s(),k(Q($.value),{key:1,class:"text",innerHTML:z.item.text},null,8,["innerHTML"])),z.item.collapsed!=null&&z.item.items&&z.item.items.length?(s(),u("div",{key:2,class:"caret",role:"button","aria-label":"toggle section",onClick:F,onKeydown:At(F,["enter"]),tabindex:"0"},Dr,32)):h("",!0)],16,Br)):h("",!0),z.item.items&&z.item.items.length?(s(),u("div",jr,[z.depth<5?(s(!0),u(B,{key:0},K(z.item.items,D=>(s(),k(X,{key:D.text,item:D,depth:z.depth+1},null,8,["item","depth"]))),128)):h("",!0)])):h("",!0)]),_:1},8,["class"])}}}),Gr=y(Ur,[["__scopeId","data-v-a9de9e44"]]),qr=_({__name:"VPSidebarGroup",props:{items:{}},setup(o){const e=H(!0);let t=null;return re(()=>{t=setTimeout(()=>{t=null,e.value=!1},300)}),Bt(()=>{t!=null&&(clearTimeout(t),t=null)}),(a,n)=>(s(!0),u(B,null,K(a.items,i=>(s(),u("div",{key:i.text,class:M(["group",{"no-transition":e.value}])},[b(Gr,{item:i,depth:0},null,8,["item"])],2))),128))}}),Rr=y(qr,[["__scopeId","data-v-9c4bd70d"]]),pt=o=>(G("data-v-e024fac9"),o=o(),q(),o),Wr=pt(()=>p("div",{class:"curtain"},null,-1)),Kr={class:"nav",id:"VPSidebarNav","aria-labelledby":"sidebar-aria-label",tabindex:"-1"},Yr=pt(()=>p("span",{class:"visually-hidden",id:"sidebar-aria-label"}," Sidebar Navigation ",-1)),Jr=_({__name:"VPSidebar",props:{open:{type:Boolean}},setup(o){const{sidebarGroups:e,hasSidebar:t}=oe(),a=o,n=H(null),i=ot(Pe?document.body:null);ee([a,n],()=>{var d;a.open?(i.value=!0,(d=n.value)==null||d.focus()):i.value=!1},{immediate:!0,flush:"post"});const c=H(0);return ee(e,()=>{c.value+=1},{deep:!0}),(d,v)=>r(t)?(s(),u("aside",{key:0,class:M(["VPSidebar",{open:d.open}]),ref_key:"navEl",ref:n,onClick:v[0]||(v[0]=Ot(()=>{},["stop"]))},[Wr,p("nav",Kr,[Yr,l(d.$slots,"sidebar-nav-before",{},void 0,!0),(s(),k(Rr,{items:r(e),key:c.value},null,8,["items"])),l(d.$slots,"sidebar-nav-after",{},void 0,!0)])],2)):h("",!0)}}),Xr=y(Jr,[["__scopeId","data-v-e024fac9"]]),Zr=_({__name:"VPSkipLink",setup(o){const e=me(),t=H();ee(()=>e.path,()=>t.value.focus());function a({target:n}){const i=document.getElementById(decodeURIComponent(n.hash).slice(1));if(i){const c=()=>{i.removeAttribute("tabindex"),i.removeEventListener("blur",c)};i.setAttribute("tabindex","-1"),i.addEventListener("blur",c),i.focus(),window.scrollTo(0,0)}}return(n,i)=>(s(),u(B,null,[p("span",{ref_key:"backToTop",ref:t,tabindex:"-1"},null,512),p("a",{href:"#VPContent",class:"VPSkipLink visually-hidden",onClick:a}," Skip to content ")],64))}}),Qr=y(Zr,[["__scopeId","data-v-497b75be"]]),xr=_({__name:"Layout",setup(o){const{isOpen:e,open:t,close:a}=oe(),n=me();ee(()=>n.path,a),ao(e,a);const{frontmatter:i}=V(),c=Ft(),d=L(()=>!!c["home-hero-image"]);return nt("hero-image-slot-exists",d),(v,g)=>{const I=ce("Content");return r(i).layout!==!1?(s(),u("div",{key:0,class:M(["Layout",r(i).pageClass])},[l(v.$slots,"layout-top",{},void 0,!0),b(Qr),b(Gt,{class:"backdrop",show:r(e),onClick:r(a)},null,8,["show","onClick"]),b(Ar,null,{"nav-bar-title-before":m(()=>[l(v.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":m(()=>[l(v.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":m(()=>[l(v.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":m(()=>[l(v.$slots,"nav-bar-content-after",{},void 0,!0)]),"nav-screen-content-before":m(()=>[l(v.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":m(()=>[l(v.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3}),b(fa,{open:r(e),onOpenMenu:r(t)},null,8,["open","onOpenMenu"]),b(Xr,{open:r(e)},{"sidebar-nav-before":m(()=>[l(v.$slots,"sidebar-nav-before",{},void 0,!0)]),"sidebar-nav-after":m(()=>[l(v.$slots,"sidebar-nav-after",{},void 0,!0)]),_:3},8,["open"]),b(Jn,null,{"page-top":m(()=>[l(v.$slots,"page-top",{},void 0,!0)]),"page-bottom":m(()=>[l(v.$slots,"page-bottom",{},void 0,!0)]),"not-found":m(()=>[l(v.$slots,"not-found",{},void 0,!0)]),"home-hero-before":m(()=>[l(v.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info-before":m(()=>[l(v.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":m(()=>[l(v.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":m(()=>[l(v.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":m(()=>[l(v.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":m(()=>[l(v.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":m(()=>[l(v.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":m(()=>[l(v.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":m(()=>[l(v.$slots,"home-features-after",{},void 0,!0)]),"doc-footer-before":m(()=>[l(v.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":m(()=>[l(v.$slots,"doc-before",{},void 0,!0)]),"doc-after":m(()=>[l(v.$slots,"doc-after",{},void 0,!0)]),"doc-top":m(()=>[l(v.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":m(()=>[l(v.$slots,"doc-bottom",{},void 0,!0)]),"aside-top":m(()=>[l(v.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":m(()=>[l(v.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":m(()=>[l(v.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":m(()=>[l(v.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":m(()=>[l(v.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":m(()=>[l(v.$slots,"aside-ads-after",{},void 0,!0)]),_:3}),b(ea),l(v.$slots,"layout-bottom",{},void 0,!0)],2)):(s(),k(I,{key:1}))}}}),ei=y(xr,[["__scopeId","data-v-0dd53a6c"]]),ti={Layout:ei,enhanceApp:({app:o})=>{o.component("Badge",Dt)}};/*! medium-zoom 1.1.0 | MIT License | https://github.com/francoischalifour/medium-zoom */var ie=Object.assign||function(o){for(var e=1;e1&&arguments[1]!==void 0?arguments[1]:{},a=window.Promise||function(P){function w(){}P(w,w)},n=function(P){var w=P.target;if(w===fe){N();return}D.indexOf(w)!==-1&&F({target:w})},i=function(){if(!(Z||!f.original)){var P=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0;Math.abs(We-P)>A.scrollOffset&&setTimeout(N,150)}},c=function(P){var w=P.key||P.keyCode;(w==="Escape"||w==="Esc"||w===27)&&N()},d=function(){var P=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},w=P;if(P.background&&(fe.style.background=P.background),P.container&&P.container instanceof Object&&(w.container=ie({},A.container,P.container)),P.template){var O=be(P.template)?P.template:document.querySelector(P.template);w.template=O}return A=ie({},A,w),D.forEach(function(j){j.dispatchEvent(de("medium-zoom:update",{detail:{zoom:U}}))}),U},v=function(){var P=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return o(ie({},A,P))},g=function(){for(var P=arguments.length,w=Array(P),O=0;O0?w.reduce(function(T,W){return[].concat(T,Xe(W))},[]):D;return j.forEach(function(T){T.classList.remove("medium-zoom-image"),T.dispatchEvent(de("medium-zoom:detach",{detail:{zoom:U}}))}),D=D.filter(function(T){return j.indexOf(T)===-1}),U},$=function(P,w){var O=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return D.forEach(function(j){j.addEventListener("medium-zoom:"+P,w,O)}),ne.push({type:"medium-zoom:"+P,listener:w,options:O}),U},S=function(P,w){var O=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return D.forEach(function(j){j.removeEventListener("medium-zoom:"+P,w,O)}),ne=ne.filter(function(j){return!(j.type==="medium-zoom:"+P&&j.listener.toString()===w.toString())}),U},E=function(){var P=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},w=P.target,O=function(){var T={width:document.documentElement.clientWidth,height:document.documentElement.clientHeight,left:0,top:0,right:0,bottom:0},W=void 0,Y=void 0;if(A.container)if(A.container instanceof Object)T=ie({},T,A.container),W=T.width-T.left-T.right-A.margin*2,Y=T.height-T.top-T.bottom-A.margin*2;else{var ue=be(A.container)?A.container:document.querySelector(A.container),ae=ue.getBoundingClientRect(),Ve=ae.width,ft=ae.height,ht=ae.left,_t=ae.top;T=ie({},T,{width:Ve,height:ft,left:ht,top:_t})}W=W||T.width-A.margin*2,Y=Y||T.height-A.margin*2;var ve=f.zoomedHd||f.original,gt=Je(ve)?W:ve.naturalWidth||W,bt=Je(ve)?Y:ve.naturalHeight||Y,he=ve.getBoundingClientRect(),kt=he.top,$t=he.left,we=he.width,Te=he.height,yt=Math.min(Math.max(we,gt),W)/we,Lt=Math.min(Math.max(Te,bt),Y)/Te,Ie=Math.min(yt,Lt),Pt=(-$t+(W-we)/2+A.margin+T.left)/Ie,St=(-kt+(Y-Te)/2+A.margin+T.top)/Ie,Ke="scale("+Ie+") translate3d("+Pt+"px, "+St+"px, 0)";f.zoomed.style.transform=Ke,f.zoomedHd&&(f.zoomedHd.style.transform=Ke)};return new a(function(j){if(w&&D.indexOf(w)===-1){j(U);return}var T=function Ve(){Z=!1,f.zoomed.removeEventListener("transitionend",Ve),f.original.dispatchEvent(de("medium-zoom:opened",{detail:{zoom:U}})),j(U)};if(f.zoomed){j(U);return}if(w)f.original=w;else if(D.length>0){var W=D;f.original=W[0]}else{j(U);return}if(f.original.dispatchEvent(de("medium-zoom:open",{detail:{zoom:U}})),We=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0,Z=!0,f.zoomed=ai(f.original),document.body.appendChild(fe),A.template){var Y=be(A.template)?A.template:document.querySelector(A.template);f.template=document.createElement("div"),f.template.appendChild(Y.content.cloneNode(!0)),document.body.appendChild(f.template)}if(f.original.parentElement&&f.original.parentElement.tagName==="PICTURE"&&f.original.currentSrc&&(f.zoomed.src=f.original.currentSrc),document.body.appendChild(f.zoomed),window.requestAnimationFrame(function(){document.body.classList.add("medium-zoom--opened")}),f.original.classList.add("medium-zoom-image--hidden"),f.zoomed.classList.add("medium-zoom-image--opened"),f.zoomed.addEventListener("click",N),f.zoomed.addEventListener("transitionend",T),f.original.getAttribute("data-zoom-src")){f.zoomedHd=f.zoomed.cloneNode(),f.zoomedHd.removeAttribute("srcset"),f.zoomedHd.removeAttribute("sizes"),f.zoomedHd.removeAttribute("loading"),f.zoomedHd.src=f.zoomed.getAttribute("data-zoom-src"),f.zoomedHd.onerror=function(){clearInterval(ue),console.warn("Unable to reach the zoom image target "+f.zoomedHd.src),f.zoomedHd=null,O()};var ue=setInterval(function(){f.zoomedHd.complete&&(clearInterval(ue),f.zoomedHd.classList.add("medium-zoom-image--opened"),f.zoomedHd.addEventListener("click",N),document.body.appendChild(f.zoomedHd),O())},10)}else if(f.original.hasAttribute("srcset")){f.zoomedHd=f.zoomed.cloneNode(),f.zoomedHd.removeAttribute("sizes"),f.zoomedHd.removeAttribute("loading");var ae=f.zoomedHd.addEventListener("load",function(){f.zoomedHd.removeEventListener("load",ae),f.zoomedHd.classList.add("medium-zoom-image--opened"),f.zoomedHd.addEventListener("click",N),document.body.appendChild(f.zoomedHd),O()})}else O()})},N=function(){return new a(function(P){if(Z||!f.original){P(U);return}var w=function O(){f.original.classList.remove("medium-zoom-image--hidden"),document.body.removeChild(f.zoomed),f.zoomedHd&&document.body.removeChild(f.zoomedHd),document.body.removeChild(fe),f.zoomed.classList.remove("medium-zoom-image--opened"),f.template&&document.body.removeChild(f.template),Z=!1,f.zoomed.removeEventListener("transitionend",O),f.original.dispatchEvent(de("medium-zoom:closed",{detail:{zoom:U}})),f.original=null,f.zoomed=null,f.zoomedHd=null,f.template=null,P(U)};Z=!0,document.body.classList.remove("medium-zoom--opened"),f.zoomed.style.transform="",f.zoomedHd&&(f.zoomedHd.style.transform=""),f.template&&(f.template.style.transition="opacity 150ms",f.template.style.opacity=0),f.original.dispatchEvent(de("medium-zoom:close",{detail:{zoom:U}})),f.zoomed.addEventListener("transitionend",w)})},F=function(){var P=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},w=P.target;return f.original?N():E({target:w})},z=function(){return A},J=function(){return D},X=function(){return f.original},D=[],ne=[],Z=!1,We=0,A=t,f={original:null,zoomed:null,zoomedHd:null,template:null};Object.prototype.toString.call(e)==="[object Object]"?A=e:(e||typeof e=="string")&&g(e),A=ie({margin:0,background:"#fff",scrollOffset:40,container:null,template:null},A);var fe=ni(A.background);document.addEventListener("click",n),document.addEventListener("keyup",c),document.addEventListener("scroll",i),window.addEventListener("resize",N);var U={open:E,close:N,toggle:F,update:d,clone:v,attach:g,detach:I,on:$,off:S,getOptions:z,getImages:J,getZoomedImage:X};return U};function ri(o,e){e===void 0&&(e={});var t=e.insertAt;if(!(typeof document>"u")){var a=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css",t==="top"&&a.firstChild?a.insertBefore(n,a.firstChild):a.appendChild(n),n.styleSheet?n.styleSheet.cssText=o:n.appendChild(document.createTextNode(o))}}var ii=".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}";ri(ii);const ci={...ti,setup(){const o=me(),e=()=>{new si("[data-zoomable]",{background:"var(--vp-c-bg)"})};re(()=>{e()}),ee(()=>o.path,()=>et(()=>e()))}};export{ci as R,Vs as c,V as u}; diff --git a/.vitepress/dist/assets/index.md.yfcJdFvw.js b/.vitepress/dist/assets/index.md.CAVf4Oqs.js similarity index 99% rename from .vitepress/dist/assets/index.md.yfcJdFvw.js rename to .vitepress/dist/assets/index.md.CAVf4Oqs.js index 8e3442c..b271a27 100644 --- a/.vitepress/dist/assets/index.md.yfcJdFvw.js +++ b/.vitepress/dist/assets/index.md.CAVf4Oqs.js @@ -1 +1 @@ -import{_ as l,c as t,o as i}from"./chunks/framework.DHgIdERs.js";const n=JSON.parse('{"title":"","description":"","frontmatter":{"layout":"home","hero":{"name":"Cool Admin(Java版)","text":"一个很酷的后台管理系统开发框架","tagline":"开源免费、Ai编码、流程编排、扩展插件、模块化","actions":[{"theme":"brand","text":"快速开始","link":"/src/guide/quick.md"},{"theme":"alt","text":"源码下载","link":"/src/introduce/src"}],"image":{"src":"/show/admin.png","alt":"cool-admin"}},"features":[{"title":"Ai编码+流程编排","icon":"","details":"框架结合Ai大模型微调训练,让Ai更懂框架,只需少量文字描述即可零代码实现部分功能。流程编排Ai开发必备神器,只需拖动配置,即可实现Ai开发的核心功能。"},{"title":"快速开发","icon":"","details":"通过Ai自动化编码,简单功能实现零代码开发,复杂的功能也只需少量代码配置即可。大大提高软件研发速度,快速迭代,快速试错降低成本,提高市场竞争力。"},{"title":"扩展插件","icon":"","details":"支持插件扩展,通过插件扩展功能,实现功能快速迭代。如支付、文件上传、短信等功能可以通过安装插件的方式动态继承,不需要或者需要更换,卸载重装即可,配置不用写在代码里,代码简洁清晰。"}]},"headers":[],"relativePath":"index.md","filePath":"index.md","lastUpdated":1720593505000}'),a={name:"index.md"};function c(h,e,d,p,s,v){return i(),t("div")}const m=l(a,[["render",c]]);export{n as __pageData,m as default}; +import{_ as l,c as t,o as i}from"./chunks/framework.BZ5u8Vj7.js";const n=JSON.parse('{"title":"","description":"","frontmatter":{"layout":"home","hero":{"name":"Cool Admin(Java版)","text":"一个很酷的后台管理系统开发框架","tagline":"开源免费、Ai编码、流程编排、扩展插件、模块化","actions":[{"theme":"brand","text":"快速开始","link":"/src/guide/quick.md"},{"theme":"alt","text":"源码下载","link":"/src/introduce/src"}],"image":{"src":"/show/admin.png","alt":"cool-admin"}},"features":[{"title":"Ai编码+流程编排","icon":"","details":"框架结合Ai大模型微调训练,让Ai更懂框架,只需少量文字描述即可零代码实现部分功能。流程编排Ai开发必备神器,只需拖动配置,即可实现Ai开发的核心功能。"},{"title":"快速开发","icon":"","details":"通过Ai自动化编码,简单功能实现零代码开发,复杂的功能也只需少量代码配置即可。大大提高软件研发速度,快速迭代,快速试错降低成本,提高市场竞争力。"},{"title":"扩展插件","icon":"","details":"支持插件扩展,通过插件扩展功能,实现功能快速迭代。如支付、文件上传、短信等功能可以通过安装插件的方式动态继承,不需要或者需要更换,卸载重装即可,配置不用写在代码里,代码简洁清晰。"}]},"headers":[],"relativePath":"index.md","filePath":"index.md","lastUpdated":1720593505000}'),a={name:"index.md"};function c(h,e,d,p,s,v){return i(),t("div")}const m=l(a,[["render",c]]);export{n as __pageData,m as default}; diff --git a/.vitepress/dist/assets/index.md.yfcJdFvw.lean.js b/.vitepress/dist/assets/index.md.CAVf4Oqs.lean.js similarity index 99% rename from .vitepress/dist/assets/index.md.yfcJdFvw.lean.js rename to .vitepress/dist/assets/index.md.CAVf4Oqs.lean.js index 8e3442c..b271a27 100644 --- a/.vitepress/dist/assets/index.md.yfcJdFvw.lean.js +++ b/.vitepress/dist/assets/index.md.CAVf4Oqs.lean.js @@ -1 +1 @@ -import{_ as l,c as t,o as i}from"./chunks/framework.DHgIdERs.js";const n=JSON.parse('{"title":"","description":"","frontmatter":{"layout":"home","hero":{"name":"Cool Admin(Java版)","text":"一个很酷的后台管理系统开发框架","tagline":"开源免费、Ai编码、流程编排、扩展插件、模块化","actions":[{"theme":"brand","text":"快速开始","link":"/src/guide/quick.md"},{"theme":"alt","text":"源码下载","link":"/src/introduce/src"}],"image":{"src":"/show/admin.png","alt":"cool-admin"}},"features":[{"title":"Ai编码+流程编排","icon":"","details":"框架结合Ai大模型微调训练,让Ai更懂框架,只需少量文字描述即可零代码实现部分功能。流程编排Ai开发必备神器,只需拖动配置,即可实现Ai开发的核心功能。"},{"title":"快速开发","icon":"","details":"通过Ai自动化编码,简单功能实现零代码开发,复杂的功能也只需少量代码配置即可。大大提高软件研发速度,快速迭代,快速试错降低成本,提高市场竞争力。"},{"title":"扩展插件","icon":"","details":"支持插件扩展,通过插件扩展功能,实现功能快速迭代。如支付、文件上传、短信等功能可以通过安装插件的方式动态继承,不需要或者需要更换,卸载重装即可,配置不用写在代码里,代码简洁清晰。"}]},"headers":[],"relativePath":"index.md","filePath":"index.md","lastUpdated":1720593505000}'),a={name:"index.md"};function c(h,e,d,p,s,v){return i(),t("div")}const m=l(a,[["render",c]]);export{n as __pageData,m as default}; +import{_ as l,c as t,o as i}from"./chunks/framework.BZ5u8Vj7.js";const n=JSON.parse('{"title":"","description":"","frontmatter":{"layout":"home","hero":{"name":"Cool Admin(Java版)","text":"一个很酷的后台管理系统开发框架","tagline":"开源免费、Ai编码、流程编排、扩展插件、模块化","actions":[{"theme":"brand","text":"快速开始","link":"/src/guide/quick.md"},{"theme":"alt","text":"源码下载","link":"/src/introduce/src"}],"image":{"src":"/show/admin.png","alt":"cool-admin"}},"features":[{"title":"Ai编码+流程编排","icon":"","details":"框架结合Ai大模型微调训练,让Ai更懂框架,只需少量文字描述即可零代码实现部分功能。流程编排Ai开发必备神器,只需拖动配置,即可实现Ai开发的核心功能。"},{"title":"快速开发","icon":"","details":"通过Ai自动化编码,简单功能实现零代码开发,复杂的功能也只需少量代码配置即可。大大提高软件研发速度,快速迭代,快速试错降低成本,提高市场竞争力。"},{"title":"扩展插件","icon":"","details":"支持插件扩展,通过插件扩展功能,实现功能快速迭代。如支付、文件上传、短信等功能可以通过安装插件的方式动态继承,不需要或者需要更换,卸载重装即可,配置不用写在代码里,代码简洁清晰。"}]},"headers":[],"relativePath":"index.md","filePath":"index.md","lastUpdated":1720593505000}'),a={name:"index.md"};function c(h,e,d,p,s,v){return i(),t("div")}const m=l(a,[["render",c]]);export{n as __pageData,m as default}; diff --git a/.vitepress/dist/assets/src_about_index.md.CTVSnooN.js b/.vitepress/dist/assets/src_about_index.md.BcF27jYK.js similarity index 96% rename from .vitepress/dist/assets/src_about_index.md.CTVSnooN.js rename to .vitepress/dist/assets/src_about_index.md.BcF27jYK.js index ad75846..c6e9707 100644 --- a/.vitepress/dist/assets/src_about_index.md.CTVSnooN.js +++ b/.vitepress/dist/assets/src_about_index.md.BcF27jYK.js @@ -1 +1 @@ -import{_ as a,c as e,o as t,a4 as r,a5 as o,a6 as i,a7 as s}from"./chunks/framework.DHgIdERs.js";const x=JSON.parse('{"title":"交流合作","description":"","frontmatter":{},"headers":[],"relativePath":"src/about/index.md","filePath":"src/about/index.md","lastUpdated":1720593505000}'),n={name:"src/about/index.md"},c=r('

交流合作 ​

如果我们的项目对你有用,欢迎加入我们大家庭一起讨论,共创一些美好的事情。

微信 ​

扫一扫加入微信开发交流群

抖音 ​

主要是做一些技术教程、技术分享、框架更新、插件分享等内容。你可以在这边了解到一些关于我们框架的最新动态,还可以了解到一些前沿的技术,特别是跟 Ai 相关的,有兴趣的可以关注我们。

B 站 ​

COOL 团队哔哩哔哩官方账户

公众号 ​

COOL 的一些最新资讯、技术分享、框架更新、插件分享等

',13),l=[c];function d(_,h,p,m,b,u){return t(),e("div",null,l)}const q=a(n,[["render",d]]);export{x as __pageData,q as default}; +import{_ as a,c as e,o as t,a4 as r,a5 as o,a6 as i,a7 as s}from"./chunks/framework.BZ5u8Vj7.js";const x=JSON.parse('{"title":"交流合作","description":"","frontmatter":{},"headers":[],"relativePath":"src/about/index.md","filePath":"src/about/index.md","lastUpdated":1720593505000}'),n={name:"src/about/index.md"},c=r('

交流合作 ​

如果我们的项目对你有用,欢迎加入我们大家庭一起讨论,共创一些美好的事情。

微信 ​

扫一扫加入微信开发交流群

抖音 ​

主要是做一些技术教程、技术分享、框架更新、插件分享等内容。你可以在这边了解到一些关于我们框架的最新动态,还可以了解到一些前沿的技术,特别是跟 Ai 相关的,有兴趣的可以关注我们。

B 站 ​

COOL 团队哔哩哔哩官方账户

公众号 ​

COOL 的一些最新资讯、技术分享、框架更新、插件分享等

',13),l=[c];function d(_,h,p,m,b,u){return t(),e("div",null,l)}const q=a(n,[["render",d]]);export{x as __pageData,q as default}; diff --git a/.vitepress/dist/assets/src_about_index.md.CTVSnooN.lean.js b/.vitepress/dist/assets/src_about_index.md.BcF27jYK.lean.js similarity index 85% rename from .vitepress/dist/assets/src_about_index.md.CTVSnooN.lean.js rename to .vitepress/dist/assets/src_about_index.md.BcF27jYK.lean.js index 4695651..caf5e94 100644 --- a/.vitepress/dist/assets/src_about_index.md.CTVSnooN.lean.js +++ b/.vitepress/dist/assets/src_about_index.md.BcF27jYK.lean.js @@ -1 +1 @@ -import{_ as a,c as e,o as t,a4 as r,a5 as o,a6 as i,a7 as s}from"./chunks/framework.DHgIdERs.js";const x=JSON.parse('{"title":"交流合作","description":"","frontmatter":{},"headers":[],"relativePath":"src/about/index.md","filePath":"src/about/index.md","lastUpdated":1720593505000}'),n={name:"src/about/index.md"},c=r("",13),l=[c];function d(_,h,p,m,b,u){return t(),e("div",null,l)}const q=a(n,[["render",d]]);export{x as __pageData,q as default}; +import{_ as a,c as e,o as t,a4 as r,a5 as o,a6 as i,a7 as s}from"./chunks/framework.BZ5u8Vj7.js";const x=JSON.parse('{"title":"交流合作","description":"","frontmatter":{},"headers":[],"relativePath":"src/about/index.md","filePath":"src/about/index.md","lastUpdated":1720593505000}'),n={name:"src/about/index.md"},c=r("",13),l=[c];function d(_,h,p,m,b,u){return t(),e("div",null,l)}const q=a(n,[["render",d]]);export{x as __pageData,q as default}; diff --git a/.vitepress/dist/assets/src_guide_ai.md.C8if3F3E.js b/.vitepress/dist/assets/src_guide_ai.md.Gsy5t_8S.js similarity index 90% rename from .vitepress/dist/assets/src_guide_ai.md.C8if3F3E.js rename to .vitepress/dist/assets/src_guide_ai.md.Gsy5t_8S.js index 7ed6390..395ca0a 100644 --- a/.vitepress/dist/assets/src_guide_ai.md.C8if3F3E.js +++ b/.vitepress/dist/assets/src_guide_ai.md.Gsy5t_8S.js @@ -1 +1 @@ -import{_ as e,c as t,o as s,j as a,a as o,a8 as i}from"./chunks/framework.DHgIdERs.js";const $=JSON.parse('{"title":"Ai 编码","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/ai.md","filePath":"src/guide/ai.md","lastUpdated":1720593505000}'),r={name:"src/guide/ai.md"},c=a("h1",{id:"ai-编码",tabindex:"-1"},[o("Ai 编码 "),a("a",{class:"header-anchor",href:"#ai-编码","aria-label":'Permalink to "Ai 编码"'},"​")],-1),n=a("p",null,"coming soon!!!",-1),d=a("p",null,[a("img",{src:i,alt:"","data-zoomable":""})],-1),_=[c,n,d];function l(p,m,h,u,f,g){return s(),t("div",null,_)}const b=e(r,[["render",l]]);export{$ as __pageData,b as default}; +import{_ as e,c as t,o as s,j as a,a as o,a8 as i}from"./chunks/framework.BZ5u8Vj7.js";const $=JSON.parse('{"title":"Ai 编码","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/ai.md","filePath":"src/guide/ai.md","lastUpdated":1720593505000}'),r={name:"src/guide/ai.md"},c=a("h1",{id:"ai-编码",tabindex:"-1"},[o("Ai 编码 "),a("a",{class:"header-anchor",href:"#ai-编码","aria-label":'Permalink to "Ai 编码"'},"​")],-1),n=a("p",null,"coming soon!!!",-1),d=a("p",null,[a("img",{src:i,alt:"","data-zoomable":""})],-1),_=[c,n,d];function l(p,m,h,u,f,g){return s(),t("div",null,_)}const b=e(r,[["render",l]]);export{$ as __pageData,b as default}; diff --git a/.vitepress/dist/assets/src_guide_ai.md.C8if3F3E.lean.js b/.vitepress/dist/assets/src_guide_ai.md.Gsy5t_8S.lean.js similarity index 90% rename from .vitepress/dist/assets/src_guide_ai.md.C8if3F3E.lean.js rename to .vitepress/dist/assets/src_guide_ai.md.Gsy5t_8S.lean.js index 7ed6390..395ca0a 100644 --- a/.vitepress/dist/assets/src_guide_ai.md.C8if3F3E.lean.js +++ b/.vitepress/dist/assets/src_guide_ai.md.Gsy5t_8S.lean.js @@ -1 +1 @@ -import{_ as e,c as t,o as s,j as a,a as o,a8 as i}from"./chunks/framework.DHgIdERs.js";const $=JSON.parse('{"title":"Ai 编码","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/ai.md","filePath":"src/guide/ai.md","lastUpdated":1720593505000}'),r={name:"src/guide/ai.md"},c=a("h1",{id:"ai-编码",tabindex:"-1"},[o("Ai 编码 "),a("a",{class:"header-anchor",href:"#ai-编码","aria-label":'Permalink to "Ai 编码"'},"​")],-1),n=a("p",null,"coming soon!!!",-1),d=a("p",null,[a("img",{src:i,alt:"","data-zoomable":""})],-1),_=[c,n,d];function l(p,m,h,u,f,g){return s(),t("div",null,_)}const b=e(r,[["render",l]]);export{$ as __pageData,b as default}; +import{_ as e,c as t,o as s,j as a,a as o,a8 as i}from"./chunks/framework.BZ5u8Vj7.js";const $=JSON.parse('{"title":"Ai 编码","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/ai.md","filePath":"src/guide/ai.md","lastUpdated":1720593505000}'),r={name:"src/guide/ai.md"},c=a("h1",{id:"ai-编码",tabindex:"-1"},[o("Ai 编码 "),a("a",{class:"header-anchor",href:"#ai-编码","aria-label":'Permalink to "Ai 编码"'},"​")],-1),n=a("p",null,"coming soon!!!",-1),d=a("p",null,[a("img",{src:i,alt:"","data-zoomable":""})],-1),_=[c,n,d];function l(p,m,h,u,f,g){return s(),t("div",null,_)}const b=e(r,[["render",l]]);export{$ as __pageData,b as default}; diff --git a/.vitepress/dist/assets/src_guide_cache.md.ZVsLHhYY.js b/.vitepress/dist/assets/src_guide_cache.md.BOJv_Che.js similarity index 98% rename from .vitepress/dist/assets/src_guide_cache.md.ZVsLHhYY.js rename to .vitepress/dist/assets/src_guide_cache.md.BOJv_Che.js index 2e89b1e..9861133 100644 --- a/.vitepress/dist/assets/src_guide_cache.md.ZVsLHhYY.js +++ b/.vitepress/dist/assets/src_guide_cache.md.BOJv_Che.js @@ -1,4 +1,4 @@ -import{_ as s,c as i,o as a,a4 as n}from"./chunks/framework.DHgIdERs.js";const y=JSON.parse('{"title":"缓存","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/cache.md","filePath":"src/guide/cache.md","lastUpdated":1720593505000}'),h={name:"src/guide/cache.md"},l=n(`

缓存 ​

为了不过多依赖环境,框架自带基于springCache默认实现了两种缓存

  • caffeine 无需额外安装软件,由 Ben Manes 开发的一个 Java 缓存库,旨在提供高性能、高效的缓存解决方案。
  • redis 需安装redis,提供了一种高效且可靠的解决方案,能够显著提升应用程序的性能和响应速度。
yaml
spring:
+import{_ as s,c as i,o as a,a4 as n}from"./chunks/framework.BZ5u8Vj7.js";const y=JSON.parse('{"title":"缓存","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/cache.md","filePath":"src/guide/cache.md","lastUpdated":1720593505000}'),h={name:"src/guide/cache.md"},l=n(`

缓存 ​

为了不过多依赖环境,框架自带基于springCache默认实现了两种缓存

  • caffeine 无需额外安装软件,由 Ben Manes 开发的一个 Java 缓存库,旨在提供高性能、高效的缓存解决方案。
  • redis 需安装redis,提供了一种高效且可靠的解决方案,能够显著提升应用程序的性能和响应速度。
yaml
spring:
   # caffeine 缓存
   cache:
     type: caffeine
diff --git a/.vitepress/dist/assets/src_guide_cache.md.ZVsLHhYY.lean.js b/.vitepress/dist/assets/src_guide_cache.md.BOJv_Che.lean.js
similarity index 69%
rename from .vitepress/dist/assets/src_guide_cache.md.ZVsLHhYY.lean.js
rename to .vitepress/dist/assets/src_guide_cache.md.BOJv_Che.lean.js
index e09c136..46bac36 100644
--- a/.vitepress/dist/assets/src_guide_cache.md.ZVsLHhYY.lean.js
+++ b/.vitepress/dist/assets/src_guide_cache.md.BOJv_Che.lean.js
@@ -1 +1 @@
-import{_ as s,c as i,o as a,a4 as n}from"./chunks/framework.DHgIdERs.js";const y=JSON.parse('{"title":"缓存","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/cache.md","filePath":"src/guide/cache.md","lastUpdated":1720593505000}'),h={name:"src/guide/cache.md"},l=n("",10),p=[l];function t(e,k,E,r,d,c){return a(),i("div",null,p)}const o=s(h,[["render",t]]);export{y as __pageData,o as default};
+import{_ as s,c as i,o as a,a4 as n}from"./chunks/framework.BZ5u8Vj7.js";const y=JSON.parse('{"title":"缓存","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/cache.md","filePath":"src/guide/cache.md","lastUpdated":1720593505000}'),h={name:"src/guide/cache.md"},l=n("",10),p=[l];function t(e,k,E,r,d,c){return a(),i("div",null,p)}const o=s(h,[["render",t]]);export{y as __pageData,o as default};
diff --git a/.vitepress/dist/assets/src_guide_controller.md.CHg4SCy_.js b/.vitepress/dist/assets/src_guide_controller.md.r2nPGOST.js
similarity index 99%
rename from .vitepress/dist/assets/src_guide_controller.md.CHg4SCy_.js
rename to .vitepress/dist/assets/src_guide_controller.md.r2nPGOST.js
index d328ba3..085954b 100644
--- a/.vitepress/dist/assets/src_guide_controller.md.CHg4SCy_.js
+++ b/.vitepress/dist/assets/src_guide_controller.md.r2nPGOST.js
@@ -1,4 +1,4 @@
-import{_ as s,c as i,o as a,a4 as n}from"./chunks/framework.DHgIdERs.js";const F=JSON.parse('{"title":"控制器","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/controller.md","filePath":"src/guide/controller.md","lastUpdated":1720593505000}'),h={name:"src/guide/controller.md"},t=n(`

控制器 ​

所有的 controller 都继承自 BaseController,该父类已经实现了以下六个基础方法:add、delete、update、page、list、info,可以大大简化代码,使得 controller 更加简洁。

示例 ​

java
@Tag(name = "测试CURD", description = "测试CURD")
+import{_ as s,c as i,o as a,a4 as n}from"./chunks/framework.BZ5u8Vj7.js";const F=JSON.parse('{"title":"控制器","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/controller.md","filePath":"src/guide/controller.md","lastUpdated":1720593505000}'),h={name:"src/guide/controller.md"},t=n(`

控制器 ​

所有的 controller 都继承自 BaseController,该父类已经实现了以下六个基础方法:add、delete、update、page、list、info,可以大大简化代码,使得 controller 更加简洁。

示例 ​

java
@Tag(name = "测试CURD", description = "测试CURD")
 @CoolRestController(value = "/cool", api = {"add", "delete", "update", "page", "list", "info"})
 public class AdminDemoInfoController extends BaseController<DemoService, DemoEntity> {
     @Override
diff --git a/.vitepress/dist/assets/src_guide_controller.md.CHg4SCy_.lean.js b/.vitepress/dist/assets/src_guide_controller.md.r2nPGOST.lean.js
similarity index 70%
rename from .vitepress/dist/assets/src_guide_controller.md.CHg4SCy_.lean.js
rename to .vitepress/dist/assets/src_guide_controller.md.r2nPGOST.lean.js
index 5ec575e..a9c3a52 100644
--- a/.vitepress/dist/assets/src_guide_controller.md.CHg4SCy_.lean.js
+++ b/.vitepress/dist/assets/src_guide_controller.md.r2nPGOST.lean.js
@@ -1 +1 @@
-import{_ as s,c as i,o as a,a4 as n}from"./chunks/framework.DHgIdERs.js";const F=JSON.parse('{"title":"控制器","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/controller.md","filePath":"src/guide/controller.md","lastUpdated":1720593505000}'),h={name:"src/guide/controller.md"},t=n("",29),k=[t];function l(p,e,E,r,d,g){return a(),i("div",null,k)}const o=s(h,[["render",l]]);export{F as __pageData,o as default};
+import{_ as s,c as i,o as a,a4 as n}from"./chunks/framework.BZ5u8Vj7.js";const F=JSON.parse('{"title":"控制器","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/controller.md","filePath":"src/guide/controller.md","lastUpdated":1720593505000}'),h={name:"src/guide/controller.md"},t=n("",29),k=[t];function l(p,e,E,r,d,g){return a(),i("div",null,k)}const o=s(h,[["render",l]]);export{F as __pageData,o as default};
diff --git a/.vitepress/dist/assets/src_guide_exception.md.CYt_RuFI.js b/.vitepress/dist/assets/src_guide_exception.md.m-_TuVSi.js
similarity index 99%
rename from .vitepress/dist/assets/src_guide_exception.md.CYt_RuFI.js
rename to .vitepress/dist/assets/src_guide_exception.md.m-_TuVSi.js
index 56439ac..e86f10e 100644
--- a/.vitepress/dist/assets/src_guide_exception.md.CYt_RuFI.js
+++ b/.vitepress/dist/assets/src_guide_exception.md.m-_TuVSi.js
@@ -1,4 +1,4 @@
-import{_ as s,c as i,o as a,a4 as n}from"./chunks/framework.DHgIdERs.js";const F=JSON.parse('{"title":"统一异常处理","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/exception.md","filePath":"src/guide/exception.md","lastUpdated":1720593505000}'),h={name:"src/guide/exception.md"},k=n(`

统一异常处理 ​

提供了简化的业务异常抛出工具

  • CoolPreconditions.check(check != null, "用户名已存在");

异常统一捕获 ​

java
@RestControllerAdvice
+import{_ as s,c as i,o as a,a4 as n}from"./chunks/framework.BZ5u8Vj7.js";const F=JSON.parse('{"title":"统一异常处理","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/exception.md","filePath":"src/guide/exception.md","lastUpdated":1720593505000}'),h={name:"src/guide/exception.md"},k=n(`

统一异常处理 ​

提供了简化的业务异常抛出工具

  • CoolPreconditions.check(check != null, "用户名已存在");

异常统一捕获 ​

java
@RestControllerAdvice
 @Slf4j
 public class CoolExceptionHandler {
 
diff --git a/.vitepress/dist/assets/src_guide_exception.md.CYt_RuFI.lean.js b/.vitepress/dist/assets/src_guide_exception.md.m-_TuVSi.lean.js
similarity index 71%
rename from .vitepress/dist/assets/src_guide_exception.md.CYt_RuFI.lean.js
rename to .vitepress/dist/assets/src_guide_exception.md.m-_TuVSi.lean.js
index 78c1dc8..8c62f47 100644
--- a/.vitepress/dist/assets/src_guide_exception.md.CYt_RuFI.lean.js
+++ b/.vitepress/dist/assets/src_guide_exception.md.m-_TuVSi.lean.js
@@ -1 +1 @@
-import{_ as s,c as i,o as a,a4 as n}from"./chunks/framework.DHgIdERs.js";const F=JSON.parse('{"title":"统一异常处理","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/exception.md","filePath":"src/guide/exception.md","lastUpdated":1720593505000}'),h={name:"src/guide/exception.md"},k=n("",9),t=[k];function l(p,e,E,r,d,g){return a(),i("div",null,t)}const c=s(h,[["render",l]]);export{F as __pageData,c as default};
+import{_ as s,c as i,o as a,a4 as n}from"./chunks/framework.BZ5u8Vj7.js";const F=JSON.parse('{"title":"统一异常处理","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/exception.md","filePath":"src/guide/exception.md","lastUpdated":1720593505000}'),h={name:"src/guide/exception.md"},k=n("",9),t=[k];function l(p,e,E,r,d,g){return a(),i("div",null,t)}const c=s(h,[["render",l]]);export{F as __pageData,c as default};
diff --git a/.vitepress/dist/assets/src_guide_flow.md.Di5674iy.js b/.vitepress/dist/assets/src_guide_flow.md.DerjmfqW.js
similarity index 95%
rename from .vitepress/dist/assets/src_guide_flow.md.Di5674iy.js
rename to .vitepress/dist/assets/src_guide_flow.md.DerjmfqW.js
index 86c58f0..e394347 100644
--- a/.vitepress/dist/assets/src_guide_flow.md.Di5674iy.js
+++ b/.vitepress/dist/assets/src_guide_flow.md.DerjmfqW.js
@@ -1 +1 @@
-import{_ as a,c as e,o as t,a4 as i,a9 as o}from"./chunks/framework.DHgIdERs.js";const A=JSON.parse('{"title":"Ai 流程编排","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/flow.md","filePath":"src/guide/flow.md","lastUpdated":1720593505000}'),r={name:"src/guide/flow.md"},s=i('

Ai 流程编排 ​

coming soon!!!

nodejs 版本视频演示

开发 Ai 应用必备!!!

随着 Ai 的火热,很多应用希望接入 Ai 的能力,但是每次都是用代码手搓,容易把我们累死,而是也非常不灵活。

于是我们面向开发者和软件开发公司,做了一个 Ai 流程编排功能,结合知识库,通过拖动配置,很容易就能完成一个 Ai 的核心流程。

因此如果你需要开发 Ai 相关应用,这个可能会给你带来巨大的帮助。

流程编排

注意

Ai 流程编排+知识库需要单独购买,预售 999 元

',9),c=[s];function p(_,l,n,d,m,f){return t(),e("div",null,c)}const u=a(r,[["render",p]]);export{A as __pageData,u as default}; +import{_ as a,c as e,o as t,a4 as i,a9 as o}from"./chunks/framework.BZ5u8Vj7.js";const A=JSON.parse('{"title":"Ai 流程编排","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/flow.md","filePath":"src/guide/flow.md","lastUpdated":1720593505000}'),r={name:"src/guide/flow.md"},s=i('

Ai 流程编排 ​

coming soon!!!

nodejs 版本视频演示

开发 Ai 应用必备!!!

随着 Ai 的火热,很多应用希望接入 Ai 的能力,但是每次都是用代码手搓,容易把我们累死,而是也非常不灵活。

于是我们面向开发者和软件开发公司,做了一个 Ai 流程编排功能,结合知识库,通过拖动配置,很容易就能完成一个 Ai 的核心流程。

因此如果你需要开发 Ai 相关应用,这个可能会给你带来巨大的帮助。

流程编排

注意

Ai 流程编排+知识库需要单独购买,预售 999 元

',9),c=[s];function p(_,l,n,d,m,f){return t(),e("div",null,c)}const u=a(r,[["render",p]]);export{A as __pageData,u as default}; diff --git a/.vitepress/dist/assets/src_guide_flow.md.Di5674iy.lean.js b/.vitepress/dist/assets/src_guide_flow.md.DerjmfqW.lean.js similarity index 85% rename from .vitepress/dist/assets/src_guide_flow.md.Di5674iy.lean.js rename to .vitepress/dist/assets/src_guide_flow.md.DerjmfqW.lean.js index 1c17d86..11ff1c4 100644 --- a/.vitepress/dist/assets/src_guide_flow.md.Di5674iy.lean.js +++ b/.vitepress/dist/assets/src_guide_flow.md.DerjmfqW.lean.js @@ -1 +1 @@ -import{_ as a,c as e,o as t,a4 as i,a9 as o}from"./chunks/framework.DHgIdERs.js";const A=JSON.parse('{"title":"Ai 流程编排","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/flow.md","filePath":"src/guide/flow.md","lastUpdated":1720593505000}'),r={name:"src/guide/flow.md"},s=i("",9),c=[s];function p(_,l,n,d,m,f){return t(),e("div",null,c)}const u=a(r,[["render",p]]);export{A as __pageData,u as default}; +import{_ as a,c as e,o as t,a4 as i,a9 as o}from"./chunks/framework.BZ5u8Vj7.js";const A=JSON.parse('{"title":"Ai 流程编排","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/flow.md","filePath":"src/guide/flow.md","lastUpdated":1720593505000}'),r={name:"src/guide/flow.md"},s=i("",9),c=[s];function p(_,l,n,d,m,f){return t(),e("div",null,c)}const u=a(r,[["render",p]]);export{A as __pageData,u as default}; diff --git a/.vitepress/dist/assets/src_guide_generatorCode.md.DDGMNA-b.js b/.vitepress/dist/assets/src_guide_generatorCode.md.vZguykgt.js similarity index 97% rename from .vitepress/dist/assets/src_guide_generatorCode.md.DDGMNA-b.js rename to .vitepress/dist/assets/src_guide_generatorCode.md.vZguykgt.js index 26e92ce..49fd5f9 100644 --- a/.vitepress/dist/assets/src_guide_generatorCode.md.DDGMNA-b.js +++ b/.vitepress/dist/assets/src_guide_generatorCode.md.vZguykgt.js @@ -1,4 +1,4 @@ -import{_ as s,c as i,o as a,a4 as n}from"./chunks/framework.DHgIdERs.js";const g=JSON.parse('{"title":"代码生成","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/generatorCode.md","filePath":"src/guide/generatorCode.md","lastUpdated":1720593505000}'),e={name:"src/guide/generatorCode.md"},t=n(`

代码生成 ​

系统根据框架特性封装了一个简单的代码生成器

请先参考快速开始,把entity对象创建出来,在通过自动生成代码创建对应的 controller、service、mapper

java
public class CoolCodeGeneratorTest {
+import{_ as s,c as i,o as a,a4 as n}from"./chunks/framework.BZ5u8Vj7.js";const g=JSON.parse('{"title":"代码生成","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/generatorCode.md","filePath":"src/guide/generatorCode.md","lastUpdated":1720593505000}'),e={name:"src/guide/generatorCode.md"},t=n(`

代码生成 ​

系统根据框架特性封装了一个简单的代码生成器

请先参考快速开始,把entity对象创建出来,在通过自动生成代码创建对应的 controller、service、mapper

java
public class CoolCodeGeneratorTest {
     public static void main(String[] args) {
         CodeGenerator codeGenerator = new CodeGenerator();
         codeGenerator.init();
diff --git a/.vitepress/dist/assets/src_guide_generatorCode.md.DDGMNA-b.lean.js b/.vitepress/dist/assets/src_guide_generatorCode.md.vZguykgt.lean.js
similarity index 71%
rename from .vitepress/dist/assets/src_guide_generatorCode.md.DDGMNA-b.lean.js
rename to .vitepress/dist/assets/src_guide_generatorCode.md.vZguykgt.lean.js
index a6fbacd..0d6e94a 100644
--- a/.vitepress/dist/assets/src_guide_generatorCode.md.DDGMNA-b.lean.js
+++ b/.vitepress/dist/assets/src_guide_generatorCode.md.vZguykgt.lean.js
@@ -1 +1 @@
-import{_ as s,c as i,o as a,a4 as n}from"./chunks/framework.DHgIdERs.js";const g=JSON.parse('{"title":"代码生成","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/generatorCode.md","filePath":"src/guide/generatorCode.md","lastUpdated":1720593505000}'),e={name:"src/guide/generatorCode.md"},t=n("",4),l=[t];function h(p,k,E,d,r,o){return a(),i("div",null,l)}const y=s(e,[["render",h]]);export{g as __pageData,y as default};
+import{_ as s,c as i,o as a,a4 as n}from"./chunks/framework.BZ5u8Vj7.js";const g=JSON.parse('{"title":"代码生成","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/generatorCode.md","filePath":"src/guide/generatorCode.md","lastUpdated":1720593505000}'),e={name:"src/guide/generatorCode.md"},t=n("",4),l=[t];function h(p,k,E,d,r,o){return a(),i("div",null,l)}const y=s(e,[["render",h]]);export{g as __pageData,y as default};
diff --git a/.vitepress/dist/assets/src_guide_initData.md.O6zUbXxV.js b/.vitepress/dist/assets/src_guide_initData.md.CSiXmFuQ.js
similarity index 98%
rename from .vitepress/dist/assets/src_guide_initData.md.O6zUbXxV.js
rename to .vitepress/dist/assets/src_guide_initData.md.CSiXmFuQ.js
index 0652dc9..01e87e7 100644
--- a/.vitepress/dist/assets/src_guide_initData.md.O6zUbXxV.js
+++ b/.vitepress/dist/assets/src_guide_initData.md.CSiXmFuQ.js
@@ -1,4 +1,4 @@
-import{_ as s,c as i,o as a,a4 as n}from"./chunks/framework.DHgIdERs.js";const g=JSON.parse('{"title":"数据初始化","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/initData.md","filePath":"src/guide/initData.md","lastUpdated":1720593505000}'),p={name:"src/guide/initData.md"},l=n(`

数据初始化 ​

有些功能模块上线时,需要初始化一些数据

可以在resources下的 cool/data/db目录创建 demo.json文件

json格式如下,demo 为表的名称,里面是个数组,数组里可以包含多个对象,每个对象中的key为表的字段,value为对应的值

规范:实体需以Entity结尾

json
{
+import{_ as s,c as i,o as a,a4 as n}from"./chunks/framework.BZ5u8Vj7.js";const g=JSON.parse('{"title":"数据初始化","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/initData.md","filePath":"src/guide/initData.md","lastUpdated":1720593505000}'),p={name:"src/guide/initData.md"},l=n(`

数据初始化 ​

有些功能模块上线时,需要初始化一些数据

可以在resources下的 cool/data/db目录创建 demo.json文件

json格式如下,demo 为表的名称,里面是个数组,数组里可以包含多个对象,每个对象中的key为表的字段,value为对应的值

规范:实体需以Entity结尾

json
{
   "demo": [
       {
           "keyName": "rich",
diff --git a/.vitepress/dist/assets/src_guide_initData.md.O6zUbXxV.lean.js b/.vitepress/dist/assets/src_guide_initData.md.CSiXmFuQ.lean.js
similarity index 70%
rename from .vitepress/dist/assets/src_guide_initData.md.O6zUbXxV.lean.js
rename to .vitepress/dist/assets/src_guide_initData.md.CSiXmFuQ.lean.js
index b4ba342..b941c49 100644
--- a/.vitepress/dist/assets/src_guide_initData.md.O6zUbXxV.lean.js
+++ b/.vitepress/dist/assets/src_guide_initData.md.CSiXmFuQ.lean.js
@@ -1 +1 @@
-import{_ as s,c as i,o as a,a4 as n}from"./chunks/framework.DHgIdERs.js";const g=JSON.parse('{"title":"数据初始化","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/initData.md","filePath":"src/guide/initData.md","lastUpdated":1720593505000}'),p={name:"src/guide/initData.md"},l=n("",10),t=[l];function h(k,e,E,r,d,o){return a(),i("div",null,t)}const y=s(p,[["render",h]]);export{g as __pageData,y as default};
+import{_ as s,c as i,o as a,a4 as n}from"./chunks/framework.BZ5u8Vj7.js";const g=JSON.parse('{"title":"数据初始化","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/initData.md","filePath":"src/guide/initData.md","lastUpdated":1720593505000}'),p={name:"src/guide/initData.md"},l=n("",10),t=[l];function h(k,e,E,r,d,o){return a(),i("div",null,t)}const y=s(p,[["render",h]]);export{g as __pageData,y as default};
diff --git a/.vitepress/dist/assets/src_guide_plugin.md.BXCsDYqg.js b/.vitepress/dist/assets/src_guide_plugin.md.YnHghnwg.js
similarity index 99%
rename from .vitepress/dist/assets/src_guide_plugin.md.BXCsDYqg.js
rename to .vitepress/dist/assets/src_guide_plugin.md.YnHghnwg.js
index 6ab7192..cbaf915 100644
--- a/.vitepress/dist/assets/src_guide_plugin.md.BXCsDYqg.js
+++ b/.vitepress/dist/assets/src_guide_plugin.md.YnHghnwg.js
@@ -1,4 +1,4 @@
-import{_ as s,c as i,o as a,a4 as n}from"./chunks/framework.DHgIdERs.js";const y=JSON.parse('{"title":"扩展插件","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/plugin.md","filePath":"src/guide/plugin.md","lastUpdated":1720593505000}'),l={name:"src/guide/plugin.md"},t=n(`

扩展插件 ​

为了丰富系统功能,我们提供了插件系统,可以通过插件的方式来扩展系统功能。

而不用一味地堆功能,导致系统臃肿。你可以自己开发插件,也可以使用别人开发的插件。 或者通过官网下载插件。

使用插件 ​

1、安装 ​

首先下载插件包,然后在系统中安装插件包。插件包可以通过官网下载插件。

打开后台管理系统,点击左侧菜单扩展管理->插件管理,点击+按钮,选择插件包进行安装。

2、调用 ​

安装插件之后,就可以在代码中调用插件的方法了。

java
package com.cool.core;
+import{_ as s,c as i,o as a,a4 as n}from"./chunks/framework.BZ5u8Vj7.js";const y=JSON.parse('{"title":"扩展插件","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/plugin.md","filePath":"src/guide/plugin.md","lastUpdated":1720593505000}'),l={name:"src/guide/plugin.md"},t=n(`

扩展插件 ​

为了丰富系统功能,我们提供了插件系统,可以通过插件的方式来扩展系统功能。

而不用一味地堆功能,导致系统臃肿。你可以自己开发插件,也可以使用别人开发的插件。 或者通过官网下载插件。

使用插件 ​

1、安装 ​

首先下载插件包,然后在系统中安装插件包。插件包可以通过官网下载插件。

打开后台管理系统,点击左侧菜单扩展管理->插件管理,点击+按钮,选择插件包进行安装。

2、调用 ​

安装插件之后,就可以在代码中调用插件的方法了。

java
package com.cool.core;
 
 import com.cool.core.plugin.service.CoolPluginService;
 import jakarta.annotation.Resource;
diff --git a/.vitepress/dist/assets/src_guide_plugin.md.BXCsDYqg.lean.js b/.vitepress/dist/assets/src_guide_plugin.md.YnHghnwg.lean.js
similarity index 70%
rename from .vitepress/dist/assets/src_guide_plugin.md.BXCsDYqg.lean.js
rename to .vitepress/dist/assets/src_guide_plugin.md.YnHghnwg.lean.js
index bd31c10..5565abf 100644
--- a/.vitepress/dist/assets/src_guide_plugin.md.BXCsDYqg.lean.js
+++ b/.vitepress/dist/assets/src_guide_plugin.md.YnHghnwg.lean.js
@@ -1 +1 @@
-import{_ as s,c as i,o as a,a4 as n}from"./chunks/framework.DHgIdERs.js";const y=JSON.parse('{"title":"扩展插件","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/plugin.md","filePath":"src/guide/plugin.md","lastUpdated":1720593505000}'),l={name:"src/guide/plugin.md"},t=n("",59),h=[t];function p(k,e,E,r,d,g){return a(),i("div",null,h)}const c=s(l,[["render",p]]);export{y as __pageData,c as default};
+import{_ as s,c as i,o as a,a4 as n}from"./chunks/framework.BZ5u8Vj7.js";const y=JSON.parse('{"title":"扩展插件","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/plugin.md","filePath":"src/guide/plugin.md","lastUpdated":1720593505000}'),l={name:"src/guide/plugin.md"},t=n("",59),h=[t];function p(k,e,E,r,d,g){return a(),i("div",null,h)}const c=s(l,[["render",p]]);export{y as __pageData,c as default};
diff --git a/.vitepress/dist/assets/src_guide_quick.md.Upc-ZGOO.js b/.vitepress/dist/assets/src_guide_quick.md.Dd-HcOh7.js
similarity index 99%
rename from .vitepress/dist/assets/src_guide_quick.md.Upc-ZGOO.js
rename to .vitepress/dist/assets/src_guide_quick.md.Dd-HcOh7.js
index 531cba8..58d3ee2 100644
--- a/.vitepress/dist/assets/src_guide_quick.md.Upc-ZGOO.js
+++ b/.vitepress/dist/assets/src_guide_quick.md.Dd-HcOh7.js
@@ -1,4 +1,4 @@
-import{_ as e,D as t,c as h,j as a,a as s,I as p,w as l,a4 as i,o as k}from"./chunks/framework.DHgIdERs.js";const v=JSON.parse('{"title":"快速开始","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/quick.md","filePath":"src/guide/quick.md","lastUpdated":1720593505000}'),o={name:"src/guide/quick.md"},r=i('

快速开始 ​

前置准备 ​

  • Java Jdk >= 17 选择 GraalVM
  • Mysql >= 5.7
  • Maven >= 3.0

运行系统 ​

',4),c=a("li",null,[s("1、"),a("a",{href:"/src/introduce/src.html"},"拉取前后端代码到本地"),s("。")],-1),d=a("li",null,"2、选择你熟悉的开发工具,打开你的项目。",-1),E=a("li",null,[s("3、确保打开的项目有Maven依赖,如没有具体参考"),a("a",{href:"/src/question/commonQuestion.html#IDEA导入Maven项目右侧没有Maven"},"IDEA导入Maven项目右侧没有Maven"),s("。")],-1),g=i(`
2024-05-25T00:11:36.475+08:00  INFO 8321 --- [cool-admin-java] [uartzScheduler]] o.s.s.quartz.SchedulerFactoryBean        : Starting Quartz Scheduler now, after delay of 2 seconds
+import{_ as e,D as t,c as h,j as a,a as s,I as p,w as l,a4 as i,o as k}from"./chunks/framework.BZ5u8Vj7.js";const v=JSON.parse('{"title":"快速开始","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/quick.md","filePath":"src/guide/quick.md","lastUpdated":1720593505000}'),o={name:"src/guide/quick.md"},r=i('

快速开始 ​

前置准备 ​

  • Java Jdk >= 17 选择 GraalVM
  • Mysql >= 5.7
  • Maven >= 3.0

运行系统 ​

',4),c=a("li",null,[s("1、"),a("a",{href:"/src/introduce/src.html"},"拉取前后端代码到本地"),s("。")],-1),d=a("li",null,"2、选择你熟悉的开发工具,打开你的项目。",-1),E=a("li",null,[s("3、确保打开的项目有Maven依赖,如没有具体参考"),a("a",{href:"/src/question/commonQuestion.html#IDEA导入Maven项目右侧没有Maven"},"IDEA导入Maven项目右侧没有Maven"),s("。")],-1),g=i(`
2024-05-25T00:11:36.475+08:00  INFO 8321 --- [cool-admin-java] [uartzScheduler]] o.s.s.quartz.SchedulerFactoryBean        : Starting Quartz Scheduler now, after delay of 2 seconds
 2024-05-25T00:11:36.475+08:00  INFO 8321 --- [cool-admin-java] [uartzScheduler]] org.quartz.core.QuartzScheduler          : Scheduler quartzScheduler_$_NON_CLUSTERED started.
 2024-05-25T00:11:36.717+08:00  INFO 8321 --- [cool-admin-java] [nio-8001-exec-1] o.springdoc.api.AbstractOpenApiResource  : Init duration for springdoc-openapi is: 1044 ms
 2024-05-25T00:11:40.195+08:00  INFO 8321 --- [cool-admin-java] [pool-3-thread-1] com.cool.core.eps.CoolEps                : 初始化eps

账户:admin
密码:123456

项目包结构 ​

.
diff --git a/.vitepress/dist/assets/src_guide_quick.md.Upc-ZGOO.lean.js b/.vitepress/dist/assets/src_guide_quick.md.Dd-HcOh7.lean.js
similarity index 95%
rename from .vitepress/dist/assets/src_guide_quick.md.Upc-ZGOO.lean.js
rename to .vitepress/dist/assets/src_guide_quick.md.Dd-HcOh7.lean.js
index a00aafe..1751bf5 100644
--- a/.vitepress/dist/assets/src_guide_quick.md.Upc-ZGOO.lean.js
+++ b/.vitepress/dist/assets/src_guide_quick.md.Dd-HcOh7.lean.js
@@ -1 +1 @@
-import{_ as e,D as t,c as h,j as a,a as s,I as p,w as l,a4 as i,o as k}from"./chunks/framework.DHgIdERs.js";const v=JSON.parse('{"title":"快速开始","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/quick.md","filePath":"src/guide/quick.md","lastUpdated":1720593505000}'),o={name:"src/guide/quick.md"},r=i("",4),c=a("li",null,[s("1、"),a("a",{href:"/src/introduce/src.html"},"拉取前后端代码到本地"),s("。")],-1),d=a("li",null,"2、选择你熟悉的开发工具,打开你的项目。",-1),E=a("li",null,[s("3、确保打开的项目有Maven依赖,如没有具体参考"),a("a",{href:"/src/question/commonQuestion.html#IDEA导入Maven项目右侧没有Maven"},"IDEA导入Maven项目右侧没有Maven"),s("。")],-1),g=i("",10),u=i("",8);function y(m,F,C,_,b,D){const n=t("font");return k(),h("div",null,[r,a("ul",null,[c,d,E,a("li",null,[s("4、打开项目运行 "),p(n,{color:"4364CF"},{default:l(()=>[s("com.cool.CoolApplication.java")]),_:1}),s(",出现如下日志表示启动成功。")])]),g,a("blockquote",null,[a("p",null,[s("注意: "),p(n,{color:"red"},{default:l(()=>[s("默认仅开发环境开启该功能,如无调整生产环境需手动创建表结构")]),_:1})])]),u])}const q=e(o,[["render",y]]);export{v as __pageData,q as default};
+import{_ as e,D as t,c as h,j as a,a as s,I as p,w as l,a4 as i,o as k}from"./chunks/framework.BZ5u8Vj7.js";const v=JSON.parse('{"title":"快速开始","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/quick.md","filePath":"src/guide/quick.md","lastUpdated":1720593505000}'),o={name:"src/guide/quick.md"},r=i("",4),c=a("li",null,[s("1、"),a("a",{href:"/src/introduce/src.html"},"拉取前后端代码到本地"),s("。")],-1),d=a("li",null,"2、选择你熟悉的开发工具,打开你的项目。",-1),E=a("li",null,[s("3、确保打开的项目有Maven依赖,如没有具体参考"),a("a",{href:"/src/question/commonQuestion.html#IDEA导入Maven项目右侧没有Maven"},"IDEA导入Maven项目右侧没有Maven"),s("。")],-1),g=i("",10),u=i("",8);function y(m,F,C,_,b,D){const n=t("font");return k(),h("div",null,[r,a("ul",null,[c,d,E,a("li",null,[s("4、打开项目运行 "),p(n,{color:"4364CF"},{default:l(()=>[s("com.cool.CoolApplication.java")]),_:1}),s(",出现如下日志表示启动成功。")])]),g,a("blockquote",null,[a("p",null,[s("注意: "),p(n,{color:"red"},{default:l(()=>[s("默认仅开发环境开启该功能,如无调整生产环境需手动创建表结构")]),_:1})])]),u])}const q=e(o,[["render",y]]);export{v as __pageData,q as default};
diff --git a/.vitepress/dist/assets/src_guide_security.md.DHJ07XGg.js b/.vitepress/dist/assets/src_guide_security.md.BubSrMYS.js
similarity index 99%
rename from .vitepress/dist/assets/src_guide_security.md.DHJ07XGg.js
rename to .vitepress/dist/assets/src_guide_security.md.BubSrMYS.js
index 07ce6b8..f902ed2 100644
--- a/.vitepress/dist/assets/src_guide_security.md.DHJ07XGg.js
+++ b/.vitepress/dist/assets/src_guide_security.md.BubSrMYS.js
@@ -1,4 +1,4 @@
-import{_ as s,c as i,o as a,a4 as n}from"./chunks/framework.DHgIdERs.js";const c=JSON.parse('{"title":"权限校验","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/security.md","filePath":"src/guide/security.md","lastUpdated":1720593505000}'),h={name:"src/guide/security.md"},k=n(`

权限校验 ​

采用spring-security与 jwt 作为框架安全与权限校验。

配置 ​

yaml
cool:
+import{_ as s,c as i,o as a,a4 as n}from"./chunks/framework.BZ5u8Vj7.js";const c=JSON.parse('{"title":"权限校验","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/security.md","filePath":"src/guide/security.md","lastUpdated":1720593505000}'),h={name:"src/guide/security.md"},k=n(`

权限校验 ​

采用spring-security与 jwt 作为框架安全与权限校验。

配置 ​

yaml
cool:
   # token 相关配置
   token:
     # 过期时间 单位:秒 半小时
diff --git a/.vitepress/dist/assets/src_guide_security.md.DHJ07XGg.lean.js b/.vitepress/dist/assets/src_guide_security.md.BubSrMYS.lean.js
similarity index 70%
rename from .vitepress/dist/assets/src_guide_security.md.DHJ07XGg.lean.js
rename to .vitepress/dist/assets/src_guide_security.md.BubSrMYS.lean.js
index 666f4c3..5b6218d 100644
--- a/.vitepress/dist/assets/src_guide_security.md.DHJ07XGg.lean.js
+++ b/.vitepress/dist/assets/src_guide_security.md.BubSrMYS.lean.js
@@ -1 +1 @@
-import{_ as s,c as i,o as a,a4 as n}from"./chunks/framework.DHgIdERs.js";const c=JSON.parse('{"title":"权限校验","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/security.md","filePath":"src/guide/security.md","lastUpdated":1720593505000}'),h={name:"src/guide/security.md"},k=n("",20),l=[k];function t(p,e,E,r,d,g){return a(),i("div",null,l)}const F=s(h,[["render",t]]);export{c as __pageData,F as default};
+import{_ as s,c as i,o as a,a4 as n}from"./chunks/framework.BZ5u8Vj7.js";const c=JSON.parse('{"title":"权限校验","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/security.md","filePath":"src/guide/security.md","lastUpdated":1720593505000}'),h={name:"src/guide/security.md"},k=n("",20),l=[k];function t(p,e,E,r,d,g){return a(),i("div",null,l)}const F=s(h,[["render",t]]);export{c as __pageData,F as default};
diff --git a/.vitepress/dist/assets/src_guide_springboot3.md.DaNyk9fQ.js b/.vitepress/dist/assets/src_guide_springboot3.md._tGrFUv8.js
similarity index 96%
rename from .vitepress/dist/assets/src_guide_springboot3.md.DaNyk9fQ.js
rename to .vitepress/dist/assets/src_guide_springboot3.md._tGrFUv8.js
index 15679d7..f5c8fb1 100644
--- a/.vitepress/dist/assets/src_guide_springboot3.md.DaNyk9fQ.js
+++ b/.vitepress/dist/assets/src_guide_springboot3.md._tGrFUv8.js
@@ -1 +1 @@
-import{_ as t,c as o,o as r,a4 as a}from"./chunks/framework.DHgIdERs.js";const _=JSON.parse('{"title":"Spring Boot 3 介绍","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/springboot3.md","filePath":"src/guide/springboot3.md","lastUpdated":1720593505000}'),n={name:"src/guide/springboot3.md"},i=a('

Spring Boot 3 介绍 ​

Spring Boot 3 是 Spring 框架 的一部分,旨在简化新 Spring 应用程序的创建和开发过程。Spring Boot 通过提供预先配置的设置,减少了开发者的配置工作,使得开发和部署 Spring 应用程序更加快捷和高效。以下是对 Spring Boot 3 的一些详细介绍:

主要特点 ​

简化的配置 ​

  • 通过 自动配置(Auto-Configuration) 和 约定优于配置(Convention over Configuration) 原则,减少了繁琐的手动配置。
  • 提供了大量的 starter 依赖,可以轻松集成常用的库和工具。

新特性和增强 ​

  • 支持 Java 17 和 Java 21(最新的 LTS 版本)。
  • 采用 Jakarta EE 9 标准,这意味着 javax 包命名空间改为 jakarta 包命名空间。
  • 提供对 GraalVM Native Image 的更好支持,允许将 Spring Boot 应用编译为本地可执行文件,提高启动速度和资源利用效率。

改进的性能 ​

  • 更快的启动时间和更低的内存占用。
  • 提供更多性能调优选项和监控工具。

现代化开发体验 ​

  • 集成了 Spring Native,能够更好地支持云原生应用程序开发。
  • 提供更丰富的开发工具集成和增强的开发者体验。

更强的安全性 ​

  • 更新的安全性默认配置和更严格的安全控制。
  • 支持最新的安全协议和加密标准。
',13),s=[i];function e(l,g,h,d,c,u){return r(),o("div",null,s)}const b=t(n,[["render",e]]);export{_ as __pageData,b as default}; +import{_ as t,c as o,o as r,a4 as a}from"./chunks/framework.BZ5u8Vj7.js";const _=JSON.parse('{"title":"Spring Boot 3 介绍","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/springboot3.md","filePath":"src/guide/springboot3.md","lastUpdated":1720593505000}'),n={name:"src/guide/springboot3.md"},i=a('

Spring Boot 3 介绍 ​

Spring Boot 3 是 Spring 框架 的一部分,旨在简化新 Spring 应用程序的创建和开发过程。Spring Boot 通过提供预先配置的设置,减少了开发者的配置工作,使得开发和部署 Spring 应用程序更加快捷和高效。以下是对 Spring Boot 3 的一些详细介绍:

主要特点 ​

简化的配置 ​

  • 通过 自动配置(Auto-Configuration) 和 约定优于配置(Convention over Configuration) 原则,减少了繁琐的手动配置。
  • 提供了大量的 starter 依赖,可以轻松集成常用的库和工具。

新特性和增强 ​

  • 支持 Java 17 和 Java 21(最新的 LTS 版本)。
  • 采用 Jakarta EE 9 标准,这意味着 javax 包命名空间改为 jakarta 包命名空间。
  • 提供对 GraalVM Native Image 的更好支持,允许将 Spring Boot 应用编译为本地可执行文件,提高启动速度和资源利用效率。

改进的性能 ​

  • 更快的启动时间和更低的内存占用。
  • 提供更多性能调优选项和监控工具。

现代化开发体验 ​

  • 集成了 Spring Native,能够更好地支持云原生应用程序开发。
  • 提供更丰富的开发工具集成和增强的开发者体验。

更强的安全性 ​

  • 更新的安全性默认配置和更严格的安全控制。
  • 支持最新的安全协议和加密标准。
',13),s=[i];function e(l,g,h,d,c,u){return r(),o("div",null,s)}const b=t(n,[["render",e]]);export{_ as __pageData,b as default}; diff --git a/.vitepress/dist/assets/src_guide_springboot3.md.DaNyk9fQ.lean.js b/.vitepress/dist/assets/src_guide_springboot3.md._tGrFUv8.lean.js similarity index 71% rename from .vitepress/dist/assets/src_guide_springboot3.md.DaNyk9fQ.lean.js rename to .vitepress/dist/assets/src_guide_springboot3.md._tGrFUv8.lean.js index a2d36d1..46c45d5 100644 --- a/.vitepress/dist/assets/src_guide_springboot3.md.DaNyk9fQ.lean.js +++ b/.vitepress/dist/assets/src_guide_springboot3.md._tGrFUv8.lean.js @@ -1 +1 @@ -import{_ as t,c as o,o as r,a4 as a}from"./chunks/framework.DHgIdERs.js";const _=JSON.parse('{"title":"Spring Boot 3 介绍","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/springboot3.md","filePath":"src/guide/springboot3.md","lastUpdated":1720593505000}'),n={name:"src/guide/springboot3.md"},i=a("",13),s=[i];function e(l,g,h,d,c,u){return r(),o("div",null,s)}const b=t(n,[["render",e]]);export{_ as __pageData,b as default}; +import{_ as t,c as o,o as r,a4 as a}from"./chunks/framework.BZ5u8Vj7.js";const _=JSON.parse('{"title":"Spring Boot 3 介绍","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/springboot3.md","filePath":"src/guide/springboot3.md","lastUpdated":1720593505000}'),n={name:"src/guide/springboot3.md"},i=a("",13),s=[i];function e(l,g,h,d,c,u){return r(),o("div",null,s)}const b=t(n,[["render",e]]);export{_ as __pageData,b as default}; diff --git a/.vitepress/dist/assets/src_guide_swagger.md.DDZqWgRz.js b/.vitepress/dist/assets/src_guide_swagger.md.BS_bARv2.js similarity index 97% rename from .vitepress/dist/assets/src_guide_swagger.md.DDZqWgRz.js rename to .vitepress/dist/assets/src_guide_swagger.md.BS_bARv2.js index 166f108..66bd715 100644 --- a/.vitepress/dist/assets/src_guide_swagger.md.DDZqWgRz.js +++ b/.vitepress/dist/assets/src_guide_swagger.md.BS_bARv2.js @@ -1,4 +1,4 @@ -import{_ as s,c as i,o as a,a4 as t}from"./chunks/framework.DHgIdERs.js";const y=JSON.parse('{"title":"swagger 文档","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/swagger.md","filePath":"src/guide/swagger.md","lastUpdated":1720593505000}'),h={name:"src/guide/swagger.md"},n=t(`

swagger 文档 ​

默认集成springdoc,作为文档。

java
@Tag(name = "测试CURD", description = "测试CURD")
+import{_ as s,c as i,o as a,a4 as t}from"./chunks/framework.BZ5u8Vj7.js";const y=JSON.parse('{"title":"swagger 文档","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/swagger.md","filePath":"src/guide/swagger.md","lastUpdated":1720593505000}'),h={name:"src/guide/swagger.md"},n=t(`

swagger 文档 ​

默认集成springdoc,作为文档。

java
@Tag(name = "测试CURD", description = "测试CURD")
 @CoolRestController(value = "/cool", api = {"add", "delete", "update", "page", "list", "info"})
 public class AdminDemoInfoController extends BaseController<DemoService, DemoEntity> {
     @Override
diff --git a/.vitepress/dist/assets/src_guide_swagger.md.DDZqWgRz.lean.js b/.vitepress/dist/assets/src_guide_swagger.md.BS_bARv2.lean.js
similarity index 70%
rename from .vitepress/dist/assets/src_guide_swagger.md.DDZqWgRz.lean.js
rename to .vitepress/dist/assets/src_guide_swagger.md.BS_bARv2.lean.js
index f0187c1..e07d1b8 100644
--- a/.vitepress/dist/assets/src_guide_swagger.md.DDZqWgRz.lean.js
+++ b/.vitepress/dist/assets/src_guide_swagger.md.BS_bARv2.lean.js
@@ -1 +1 @@
-import{_ as s,c as i,o as a,a4 as t}from"./chunks/framework.DHgIdERs.js";const y=JSON.parse('{"title":"swagger 文档","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/swagger.md","filePath":"src/guide/swagger.md","lastUpdated":1720593505000}'),h={name:"src/guide/swagger.md"},n=t("",4),e=[n];function k(l,p,r,E,d,g){return a(),i("div",null,e)}const F=s(h,[["render",k]]);export{y as __pageData,F as default};
+import{_ as s,c as i,o as a,a4 as t}from"./chunks/framework.BZ5u8Vj7.js";const y=JSON.parse('{"title":"swagger 文档","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/swagger.md","filePath":"src/guide/swagger.md","lastUpdated":1720593505000}'),h={name:"src/guide/swagger.md"},n=t("",4),e=[n];function k(l,p,r,E,d,g){return a(),i("div",null,e)}const F=s(h,[["render",k]]);export{y as __pageData,F as default};
diff --git a/.vitepress/dist/assets/src_guide_upload.md.Co0bl86V.js b/.vitepress/dist/assets/src_guide_upload.md.Bq5siQ0E.js
similarity index 98%
rename from .vitepress/dist/assets/src_guide_upload.md.Co0bl86V.js
rename to .vitepress/dist/assets/src_guide_upload.md.Bq5siQ0E.js
index 6d4acbe..2123b58 100644
--- a/.vitepress/dist/assets/src_guide_upload.md.Co0bl86V.js
+++ b/.vitepress/dist/assets/src_guide_upload.md.Bq5siQ0E.js
@@ -1,4 +1,4 @@
-import{_ as s,c as i,o as a,a4 as n}from"./chunks/framework.DHgIdERs.js";const o=JSON.parse('{"title":"文件上传","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/upload.md","filePath":"src/guide/upload.md","lastUpdated":1720593505000}'),l={name:"src/guide/upload.md"},h=n(`

文件上传 ​

框架自带两种文件上传方式本地上传与云存储,与前端紧密结合,

前端会根据后端返回的上传模式进行本地上传或者云存储签名直传(不经过服务器,直接上传到对应的云存储)

  • 本地上传
  • 阿里云oss (通过插件市场搜索OSS,下载安装插件实现下载插件)

使用 ​

application.yml

yaml
cool:
+import{_ as s,c as i,o as a,a4 as n}from"./chunks/framework.BZ5u8Vj7.js";const o=JSON.parse('{"title":"文件上传","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/upload.md","filePath":"src/guide/upload.md","lastUpdated":1720593505000}'),l={name:"src/guide/upload.md"},h=n(`

文件上传 ​

框架自带两种文件上传方式本地上传与云存储,与前端紧密结合,

前端会根据后端返回的上传模式进行本地上传或者云存储签名直传(不经过服务器,直接上传到对应的云存储)

  • 本地上传
  • 阿里云oss (通过插件市场搜索OSS,下载安装插件实现下载插件)

使用 ​

application.yml

yaml
cool:
   # 文件上传相关
   file:
     #上传模式
diff --git a/.vitepress/dist/assets/src_guide_upload.md.Co0bl86V.lean.js b/.vitepress/dist/assets/src_guide_upload.md.Bq5siQ0E.lean.js
similarity index 70%
rename from .vitepress/dist/assets/src_guide_upload.md.Co0bl86V.lean.js
rename to .vitepress/dist/assets/src_guide_upload.md.Bq5siQ0E.lean.js
index 9d10462..3c46482 100644
--- a/.vitepress/dist/assets/src_guide_upload.md.Co0bl86V.lean.js
+++ b/.vitepress/dist/assets/src_guide_upload.md.Bq5siQ0E.lean.js
@@ -1 +1 @@
-import{_ as s,c as i,o as a,a4 as n}from"./chunks/framework.DHgIdERs.js";const o=JSON.parse('{"title":"文件上传","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/upload.md","filePath":"src/guide/upload.md","lastUpdated":1720593505000}'),l={name:"src/guide/upload.md"},h=n("",10),p=[h];function t(k,e,E,r,d,g){return a(),i("div",null,p)}const F=s(l,[["render",t]]);export{o as __pageData,F as default};
+import{_ as s,c as i,o as a,a4 as n}from"./chunks/framework.BZ5u8Vj7.js";const o=JSON.parse('{"title":"文件上传","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/upload.md","filePath":"src/guide/upload.md","lastUpdated":1720593505000}'),l={name:"src/guide/upload.md"},h=n("",10),p=[h];function t(k,e,E,r,d,g){return a(),i("div",null,p)}const F=s(l,[["render",t]]);export{o as __pageData,F as default};
diff --git a/.vitepress/dist/assets/src_introduce_index.md.DKGGO-Ql.js b/.vitepress/dist/assets/src_introduce_index.md.DvEK5WJI.js
similarity index 98%
rename from .vitepress/dist/assets/src_introduce_index.md.DKGGO-Ql.js
rename to .vitepress/dist/assets/src_introduce_index.md.DvEK5WJI.js
index d3f7942..3043776 100644
--- a/.vitepress/dist/assets/src_introduce_index.md.DKGGO-Ql.js
+++ b/.vitepress/dist/assets/src_introduce_index.md.DvEK5WJI.js
@@ -1 +1 @@
-import{_ as l,c as a,o as e,a4 as t,aa as i,a9 as o}from"./chunks/framework.DHgIdERs.js";const f=JSON.parse('{"title":"简介","description":"","frontmatter":{},"headers":[],"relativePath":"src/introduce/index.md","filePath":"src/introduce/index.md","lastUpdated":1720593505000}'),r={name:"src/introduce/index.md"},n=t('

简介 ​

技术选型 ​

1、系统环境

  • Java Jdk >= 17 选择 graalvm
  • Mysql >= 5.7
  • Maven >= 3.0

2、主要框架

  • Spring Boot 3.2.5
  • Spring Framework 6.1.6
  • Mybatis Flex 1.9.3(新版本替换: Mybatis Plus)
  • Auto Table 1.7.4
  • Spring Doc 2.5.0

为什么选择 Cool Admin? ​

随着技术不断地发展,特别是最近 Ai 相关的技术发展,以往的框架已经越来越不能满足现代化的开发需求。

Cool Admin 做为后来者有后发优势,主要特点:

  • Ai 编码,从页面到后端代码,部分功能实现零代码;
  • Ai 流程编排,专门为 Ai 开发设计的,Ai 开发几乎不用写代码,只需拖一拖即可;
  • 扩展插件,可插拔,如支付、短信这类功能的插件可以通过后台动态安装卸载,灵活又不臃肿;
  • 代码简洁,不像一般代码生成器生成一堆冗余代码,Cool 只需极少编码即可实现大部分需求;
  • ......

内置功能 ​

  • 用户管理:呈现公司组织部门树形结构,用户是系统操作者,该功能主要完成系统用户配置。
  • 菜单管理:配置系统菜单,操作权限标识等。
  • 角色管理:角色菜单权限分配、设置角色按机构进行数据范围权限划分。
  • 参数管理:对系统动态配置常用参数。
  • 字典管理:对系统中经常使用的一些较为固定的数据进行维护。
  • 请求日志:接口的请求入参日志,便于问题排查。
  • 操作日志:系统正常操作日志记录和查询;系统异常信息日志记录和查询。
  • 定时任务:在线(添加、修改、删除)任务调度包含执行结果日志。
  • 文件管理:支持静态资源文件上传云端进行云管理。
  • 数据回收站:数据有 30 天的保留,支持回滚操作。
  • 前后端插件:支持动态安装、卸载插件,实现功能可插拔。(后端插件开发中...)
',15),s=[n];function d(c,p,_,m,h,u){return e(),a("div",null,s)}const x=l(r,[["render",d]]);export{f as __pageData,x as default}; +import{_ as l,c as a,o as e,a4 as t,aa as i,a9 as o}from"./chunks/framework.BZ5u8Vj7.js";const f=JSON.parse('{"title":"简介","description":"","frontmatter":{},"headers":[],"relativePath":"src/introduce/index.md","filePath":"src/introduce/index.md","lastUpdated":1720593505000}'),r={name:"src/introduce/index.md"},n=t('

简介 ​

技术选型 ​

1、系统环境

  • Java Jdk >= 17 选择 graalvm
  • Mysql >= 5.7
  • Maven >= 3.0

2、主要框架

  • Spring Boot 3.2.5
  • Spring Framework 6.1.6
  • Mybatis Flex 1.9.3(新版本替换: Mybatis Plus)
  • Auto Table 1.7.4
  • Spring Doc 2.5.0

为什么选择 Cool Admin? ​

随着技术不断地发展,特别是最近 Ai 相关的技术发展,以往的框架已经越来越不能满足现代化的开发需求。

Cool Admin 做为后来者有后发优势,主要特点:

  • Ai 编码,从页面到后端代码,部分功能实现零代码;
  • Ai 流程编排,专门为 Ai 开发设计的,Ai 开发几乎不用写代码,只需拖一拖即可;
  • 扩展插件,可插拔,如支付、短信这类功能的插件可以通过后台动态安装卸载,灵活又不臃肿;
  • 代码简洁,不像一般代码生成器生成一堆冗余代码,Cool 只需极少编码即可实现大部分需求;
  • ......

内置功能 ​

  • 用户管理:呈现公司组织部门树形结构,用户是系统操作者,该功能主要完成系统用户配置。
  • 菜单管理:配置系统菜单,操作权限标识等。
  • 角色管理:角色菜单权限分配、设置角色按机构进行数据范围权限划分。
  • 参数管理:对系统动态配置常用参数。
  • 字典管理:对系统中经常使用的一些较为固定的数据进行维护。
  • 请求日志:接口的请求入参日志,便于问题排查。
  • 操作日志:系统正常操作日志记录和查询;系统异常信息日志记录和查询。
  • 定时任务:在线(添加、修改、删除)任务调度包含执行结果日志。
  • 文件管理:支持静态资源文件上传云端进行云管理。
  • 数据回收站:数据有 30 天的保留,支持回滚操作。
  • 前后端插件:支持动态安装、卸载插件,实现功能可插拔。(后端插件开发中...)
',15),s=[n];function d(c,p,_,m,h,u){return e(),a("div",null,s)}const x=l(r,[["render",d]]);export{f as __pageData,x as default}; diff --git a/.vitepress/dist/assets/src_introduce_index.md.DKGGO-Ql.lean.js b/.vitepress/dist/assets/src_introduce_index.md.DvEK5WJI.lean.js similarity index 85% rename from .vitepress/dist/assets/src_introduce_index.md.DKGGO-Ql.lean.js rename to .vitepress/dist/assets/src_introduce_index.md.DvEK5WJI.lean.js index bb0ec6c..c863ca5 100644 --- a/.vitepress/dist/assets/src_introduce_index.md.DKGGO-Ql.lean.js +++ b/.vitepress/dist/assets/src_introduce_index.md.DvEK5WJI.lean.js @@ -1 +1 @@ -import{_ as l,c as a,o as e,a4 as t,aa as i,a9 as o}from"./chunks/framework.DHgIdERs.js";const f=JSON.parse('{"title":"简介","description":"","frontmatter":{},"headers":[],"relativePath":"src/introduce/index.md","filePath":"src/introduce/index.md","lastUpdated":1720593505000}'),r={name:"src/introduce/index.md"},n=t("",15),s=[n];function d(c,p,_,m,h,u){return e(),a("div",null,s)}const x=l(r,[["render",d]]);export{f as __pageData,x as default}; +import{_ as l,c as a,o as e,a4 as t,aa as i,a9 as o}from"./chunks/framework.BZ5u8Vj7.js";const f=JSON.parse('{"title":"简介","description":"","frontmatter":{},"headers":[],"relativePath":"src/introduce/index.md","filePath":"src/introduce/index.md","lastUpdated":1720593505000}'),r={name:"src/introduce/index.md"},n=t("",15),s=[n];function d(c,p,_,m,h,u){return e(),a("div",null,s)}const x=l(r,[["render",d]]);export{f as __pageData,x as default}; diff --git a/.vitepress/dist/assets/src_introduce_show.md.Clnke3BR.js b/.vitepress/dist/assets/src_introduce_show.md.DSZevIGP.js similarity index 92% rename from .vitepress/dist/assets/src_introduce_show.md.Clnke3BR.js rename to .vitepress/dist/assets/src_introduce_show.md.DSZevIGP.js index 34de3f3..4c14b82 100644 --- a/.vitepress/dist/assets/src_introduce_show.md.Clnke3BR.js +++ b/.vitepress/dist/assets/src_introduce_show.md.DSZevIGP.js @@ -1 +1 @@ -import{_ as e,c as t,o as a,a4 as o,aa as r}from"./chunks/framework.DHgIdERs.js";const u=JSON.parse('{"title":"演示","description":"","frontmatter":{},"headers":[],"relativePath":"src/introduce/show.md","filePath":"src/introduce/show.md","lastUpdated":1720593505000}'),s={name:"src/introduce/show.md"},c=o('

演示 ​

功能几乎跟nodejs 版本一致

https://show.cool-admin.com

账户:admin 密码:123456

',5),n=[c];function _(d,i,p,h,l,m){return a(),t("div",null,n)}const w=e(s,[["render",_]]);export{u as __pageData,w as default}; +import{_ as e,c as t,o as a,a4 as o,aa as r}from"./chunks/framework.BZ5u8Vj7.js";const u=JSON.parse('{"title":"演示","description":"","frontmatter":{},"headers":[],"relativePath":"src/introduce/show.md","filePath":"src/introduce/show.md","lastUpdated":1720593505000}'),s={name:"src/introduce/show.md"},c=o('

演示 ​

功能几乎跟nodejs 版本一致

https://show.cool-admin.com

账户:admin 密码:123456

',5),n=[c];function _(d,i,p,h,l,m){return a(),t("div",null,n)}const w=e(s,[["render",_]]);export{u as __pageData,w as default}; diff --git a/.vitepress/dist/assets/src_introduce_show.md.Clnke3BR.lean.js b/.vitepress/dist/assets/src_introduce_show.md.DSZevIGP.lean.js similarity index 85% rename from .vitepress/dist/assets/src_introduce_show.md.Clnke3BR.lean.js rename to .vitepress/dist/assets/src_introduce_show.md.DSZevIGP.lean.js index 93bdcd9..45fbfe2 100644 --- a/.vitepress/dist/assets/src_introduce_show.md.Clnke3BR.lean.js +++ b/.vitepress/dist/assets/src_introduce_show.md.DSZevIGP.lean.js @@ -1 +1 @@ -import{_ as e,c as t,o as a,a4 as o,aa as r}from"./chunks/framework.DHgIdERs.js";const u=JSON.parse('{"title":"演示","description":"","frontmatter":{},"headers":[],"relativePath":"src/introduce/show.md","filePath":"src/introduce/show.md","lastUpdated":1720593505000}'),s={name:"src/introduce/show.md"},c=o("",5),n=[c];function _(d,i,p,h,l,m){return a(),t("div",null,n)}const w=e(s,[["render",_]]);export{u as __pageData,w as default}; +import{_ as e,c as t,o as a,a4 as o,aa as r}from"./chunks/framework.BZ5u8Vj7.js";const u=JSON.parse('{"title":"演示","description":"","frontmatter":{},"headers":[],"relativePath":"src/introduce/show.md","filePath":"src/introduce/show.md","lastUpdated":1720593505000}'),s={name:"src/introduce/show.md"},c=o("",5),n=[c];function _(d,i,p,h,l,m){return a(),t("div",null,n)}const w=e(s,[["render",_]]);export{u as __pageData,w as default}; diff --git a/.vitepress/dist/assets/src_introduce_src.md.BzottFc3.js b/.vitepress/dist/assets/src_introduce_src.md.pd2vUss-.js similarity index 96% rename from .vitepress/dist/assets/src_introduce_src.md.BzottFc3.js rename to .vitepress/dist/assets/src_introduce_src.md.pd2vUss-.js index 8eb9c9e..d11f7ec 100644 --- a/.vitepress/dist/assets/src_introduce_src.md.BzottFc3.js +++ b/.vitepress/dist/assets/src_introduce_src.md.pd2vUss-.js @@ -1 +1 @@ -import{_ as a,c as e,o,a4 as t}from"./chunks/framework.DHgIdERs.js";const _=JSON.parse('{"title":"源码","description":"","frontmatter":{},"headers":[],"relativePath":"src/introduce/src.md","filePath":"src/introduce/src.md","lastUpdated":1720593505000}'),r={name:"src/introduce/src.md"},c=t('

源码 ​

项目是开源免费、可商用、无需授权的,为了使项目能够持续,不要吝啬你们免费的Start哦!!!

后端 ​

https://github.com/cool-team-official/cool-admin-java

或

https://gitee.com/cool-team-official/cool-admin-java

前端 ​

https://github.com/cool-team-official/cool-admin-vue

或

https://gitee.com/cool-team-official/cool-admin-vue

',10),i=[c];function l(n,s,d,h,m,f){return o(),e("div",null,i)}const u=a(r,[["render",l]]);export{_ as __pageData,u as default}; +import{_ as a,c as e,o,a4 as t}from"./chunks/framework.BZ5u8Vj7.js";const _=JSON.parse('{"title":"源码","description":"","frontmatter":{},"headers":[],"relativePath":"src/introduce/src.md","filePath":"src/introduce/src.md","lastUpdated":1720593505000}'),r={name:"src/introduce/src.md"},c=t('

源码 ​

项目是开源免费、可商用、无需授权的,为了使项目能够持续,不要吝啬你们免费的Start哦!!!

后端 ​

https://github.com/cool-team-official/cool-admin-java

或

https://gitee.com/cool-team-official/cool-admin-java

前端 ​

https://github.com/cool-team-official/cool-admin-vue

或

https://gitee.com/cool-team-official/cool-admin-vue

',10),i=[c];function l(n,s,d,h,m,f){return o(),e("div",null,i)}const u=a(r,[["render",l]]);export{_ as __pageData,u as default}; diff --git a/.vitepress/dist/assets/src_introduce_src.md.BzottFc3.lean.js b/.vitepress/dist/assets/src_introduce_src.md.pd2vUss-.lean.js similarity index 84% rename from .vitepress/dist/assets/src_introduce_src.md.BzottFc3.lean.js rename to .vitepress/dist/assets/src_introduce_src.md.pd2vUss-.lean.js index 75b78b1..8b19e8a 100644 --- a/.vitepress/dist/assets/src_introduce_src.md.BzottFc3.lean.js +++ b/.vitepress/dist/assets/src_introduce_src.md.pd2vUss-.lean.js @@ -1 +1 @@ -import{_ as a,c as e,o,a4 as t}from"./chunks/framework.DHgIdERs.js";const _=JSON.parse('{"title":"源码","description":"","frontmatter":{},"headers":[],"relativePath":"src/introduce/src.md","filePath":"src/introduce/src.md","lastUpdated":1720593505000}'),r={name:"src/introduce/src.md"},c=t("",10),i=[c];function l(n,s,d,h,m,f){return o(),e("div",null,i)}const u=a(r,[["render",l]]);export{_ as __pageData,u as default}; +import{_ as a,c as e,o,a4 as t}from"./chunks/framework.BZ5u8Vj7.js";const _=JSON.parse('{"title":"源码","description":"","frontmatter":{},"headers":[],"relativePath":"src/introduce/src.md","filePath":"src/introduce/src.md","lastUpdated":1720593505000}'),r={name:"src/introduce/src.md"},c=t("",10),i=[c];function l(n,s,d,h,m,f){return o(),e("div",null,i)}const u=a(r,[["render",l]]);export{_ as __pageData,u as default}; diff --git a/.vitepress/dist/assets/src_question_commonQuestion.md.nt8kyqs9.js b/.vitepress/dist/assets/src_question_commonQuestion.md.CeHvXEMU.js similarity index 95% rename from .vitepress/dist/assets/src_question_commonQuestion.md.nt8kyqs9.js rename to .vitepress/dist/assets/src_question_commonQuestion.md.CeHvXEMU.js index 651e2e4..2d1b9b8 100644 --- a/.vitepress/dist/assets/src_question_commonQuestion.md.nt8kyqs9.js +++ b/.vitepress/dist/assets/src_question_commonQuestion.md.CeHvXEMU.js @@ -1 +1 @@ -import{_ as e,c as a,o as n,a4 as t}from"./chunks/framework.DHgIdERs.js";const u=JSON.parse('{"title":"常见问题","description":"","frontmatter":{},"headers":[],"relativePath":"src/question/commonQuestion.md","filePath":"src/question/commonQuestion.md","lastUpdated":1720593505000}'),o={name:"src/question/commonQuestion.md"},i=t('

常见问题 ​

IDEA导入Maven项目右侧没有Maven ​

当在 IntelliJ IDEA 中导入 Maven 项目时,如果右侧没有显示 Maven 面板,可能是因为以下几个原因: ​

1、项目未正确识别为 Maven 项目:确保项目的根目录下有一个 pom.xml 文件,这是 Maven 项目的标志。如果找不到 pom.xml 文件,需要检查项目导入过程中是否有误,或者从正确的源重新获取项目。

2、Maven 面板未启用显示:可能是由于 IDEA 的设置导致 Maven 面板未显示。请按照以下步骤检查和更改设置:

在 IDEA 中,选择 File > Settings(对于 macOS 用户是 IntelliJ IDEA > Preferences)。 在设置窗口中,导航到 Build, Execution, Deployment > Build Tools > Maven。 确保选中了显示 Maven 面板的选项。

3、项目未正确加载 pom 文件:如果是因为读取项目出错,未正确加载 pom 文件造成的,可以尝试以下解决方案:

关闭 IDEA,在项目目录中删除 .idea 文件夹,然后重新打开项目,重新加载。 直接在 pom 文件中右键选择 Add as Maven Project。

4、视图设置问题:如果之前 Maven 面板是有的,突然之间没有了,可以尝试通过菜单 View > Tool Windows > Maven 来重新显示 Maven 面板。

通过上述步骤,大多数情况下可以解决 IntelliJ IDEA 中 Maven 面板不显示的问题。如果问题依旧存在,可能需要进一步检查项目的配置或考虑重新导入项目。

',10),l=[i];function s(c,r,m,d,p,v){return n(),a("div",null,l)}const h=e(o,[["render",s]]);export{u as __pageData,h as default}; +import{_ as e,c as a,o as n,a4 as t}from"./chunks/framework.BZ5u8Vj7.js";const u=JSON.parse('{"title":"常见问题","description":"","frontmatter":{},"headers":[],"relativePath":"src/question/commonQuestion.md","filePath":"src/question/commonQuestion.md","lastUpdated":1720593505000}'),o={name:"src/question/commonQuestion.md"},i=t('

常见问题 ​

IDEA导入Maven项目右侧没有Maven ​

当在 IntelliJ IDEA 中导入 Maven 项目时,如果右侧没有显示 Maven 面板,可能是因为以下几个原因: ​

1、项目未正确识别为 Maven 项目:确保项目的根目录下有一个 pom.xml 文件,这是 Maven 项目的标志。如果找不到 pom.xml 文件,需要检查项目导入过程中是否有误,或者从正确的源重新获取项目。

2、Maven 面板未启用显示:可能是由于 IDEA 的设置导致 Maven 面板未显示。请按照以下步骤检查和更改设置:

在 IDEA 中,选择 File > Settings(对于 macOS 用户是 IntelliJ IDEA > Preferences)。 在设置窗口中,导航到 Build, Execution, Deployment > Build Tools > Maven。 确保选中了显示 Maven 面板的选项。

3、项目未正确加载 pom 文件:如果是因为读取项目出错,未正确加载 pom 文件造成的,可以尝试以下解决方案:

关闭 IDEA,在项目目录中删除 .idea 文件夹,然后重新打开项目,重新加载。 直接在 pom 文件中右键选择 Add as Maven Project。

4、视图设置问题:如果之前 Maven 面板是有的,突然之间没有了,可以尝试通过菜单 View > Tool Windows > Maven 来重新显示 Maven 面板。

通过上述步骤,大多数情况下可以解决 IntelliJ IDEA 中 Maven 面板不显示的问题。如果问题依旧存在,可能需要进一步检查项目的配置或考虑重新导入项目。

',10),l=[i];function s(c,r,m,d,p,v){return n(),a("div",null,l)}const h=e(o,[["render",s]]);export{u as __pageData,h as default}; diff --git a/.vitepress/dist/assets/src_question_commonQuestion.md.nt8kyqs9.lean.js b/.vitepress/dist/assets/src_question_commonQuestion.md.CeHvXEMU.lean.js similarity index 72% rename from .vitepress/dist/assets/src_question_commonQuestion.md.nt8kyqs9.lean.js rename to .vitepress/dist/assets/src_question_commonQuestion.md.CeHvXEMU.lean.js index 3cb4979..2e683d2 100644 --- a/.vitepress/dist/assets/src_question_commonQuestion.md.nt8kyqs9.lean.js +++ b/.vitepress/dist/assets/src_question_commonQuestion.md.CeHvXEMU.lean.js @@ -1 +1 @@ -import{_ as e,c as a,o as n,a4 as t}from"./chunks/framework.DHgIdERs.js";const u=JSON.parse('{"title":"常见问题","description":"","frontmatter":{},"headers":[],"relativePath":"src/question/commonQuestion.md","filePath":"src/question/commonQuestion.md","lastUpdated":1720593505000}'),o={name:"src/question/commonQuestion.md"},i=t("",10),l=[i];function s(c,r,m,d,p,v){return n(),a("div",null,l)}const h=e(o,[["render",s]]);export{u as __pageData,h as default}; +import{_ as e,c as a,o as n,a4 as t}from"./chunks/framework.BZ5u8Vj7.js";const u=JSON.parse('{"title":"常见问题","description":"","frontmatter":{},"headers":[],"relativePath":"src/question/commonQuestion.md","filePath":"src/question/commonQuestion.md","lastUpdated":1720593505000}'),o={name:"src/question/commonQuestion.md"},i=t("",10),l=[i];function s(c,r,m,d,p,v){return n(),a("div",null,l)}const h=e(o,[["render",s]]);export{u as __pageData,h as default}; diff --git a/.vitepress/dist/assets/src_todo_plan.md.Iu8y2qvb.js b/.vitepress/dist/assets/src_todo_plan.md.bhlKWKsq.js similarity index 87% rename from .vitepress/dist/assets/src_todo_plan.md.Iu8y2qvb.js rename to .vitepress/dist/assets/src_todo_plan.md.bhlKWKsq.js index 2e18700..488f3ff 100644 --- a/.vitepress/dist/assets/src_todo_plan.md.Iu8y2qvb.js +++ b/.vitepress/dist/assets/src_todo_plan.md.bhlKWKsq.js @@ -1 +1 @@ -import{_ as t,c as o,o as s,j as e,a}from"./chunks/framework.DHgIdERs.js";const b=JSON.parse('{"title":"计划","description":"","frontmatter":{},"headers":[],"relativePath":"src/todo/plan.md","filePath":"src/todo/plan.md","lastUpdated":1720593505000}'),n={name:"src/todo/plan.md"},l=e("h1",{id:"计划",tabindex:"-1"},[a("计划 "),e("a",{class:"header-anchor",href:"#计划","aria-label":'Permalink to "计划"'},"​")],-1),r=e("p",null,"以下是我们的一些计划,如果你有更好的建议,欢迎联系我们。",-1),c=e("h2",{id:"v7-1-1",tabindex:"-1"},[a("v7.1.1 "),e("a",{class:"header-anchor",href:"#v7-1-1","aria-label":'Permalink to "v7.1.1"'},"​")],-1),d=e("ul",null,[e("li",null,"新增 Ai 自动编码功能,简单功能零代码实现;"),e("li",null,"新增后台扩展插件,如文件上传、支付、短信等功能可以通过安装插件的方式添加;")],-1),i=[l,r,c,d];function _(h,p,m,f,u,v){return s(),o("div",null,i)}const k=t(n,[["render",_]]);export{b as __pageData,k as default}; +import{_ as t,c as o,o as s,j as e,a}from"./chunks/framework.BZ5u8Vj7.js";const b=JSON.parse('{"title":"计划","description":"","frontmatter":{},"headers":[],"relativePath":"src/todo/plan.md","filePath":"src/todo/plan.md","lastUpdated":1720593505000}'),n={name:"src/todo/plan.md"},l=e("h1",{id:"计划",tabindex:"-1"},[a("计划 "),e("a",{class:"header-anchor",href:"#计划","aria-label":'Permalink to "计划"'},"​")],-1),r=e("p",null,"以下是我们的一些计划,如果你有更好的建议,欢迎联系我们。",-1),c=e("h2",{id:"v7-1-1",tabindex:"-1"},[a("v7.1.1 "),e("a",{class:"header-anchor",href:"#v7-1-1","aria-label":'Permalink to "v7.1.1"'},"​")],-1),d=e("ul",null,[e("li",null,"新增 Ai 自动编码功能,简单功能零代码实现;"),e("li",null,"新增后台扩展插件,如文件上传、支付、短信等功能可以通过安装插件的方式添加;")],-1),i=[l,r,c,d];function _(h,p,m,f,u,v){return s(),o("div",null,i)}const k=t(n,[["render",_]]);export{b as __pageData,k as default}; diff --git a/.vitepress/dist/assets/src_todo_plan.md.Iu8y2qvb.lean.js b/.vitepress/dist/assets/src_todo_plan.md.bhlKWKsq.lean.js similarity index 87% rename from .vitepress/dist/assets/src_todo_plan.md.Iu8y2qvb.lean.js rename to .vitepress/dist/assets/src_todo_plan.md.bhlKWKsq.lean.js index 2e18700..488f3ff 100644 --- a/.vitepress/dist/assets/src_todo_plan.md.Iu8y2qvb.lean.js +++ b/.vitepress/dist/assets/src_todo_plan.md.bhlKWKsq.lean.js @@ -1 +1 @@ -import{_ as t,c as o,o as s,j as e,a}from"./chunks/framework.DHgIdERs.js";const b=JSON.parse('{"title":"计划","description":"","frontmatter":{},"headers":[],"relativePath":"src/todo/plan.md","filePath":"src/todo/plan.md","lastUpdated":1720593505000}'),n={name:"src/todo/plan.md"},l=e("h1",{id:"计划",tabindex:"-1"},[a("计划 "),e("a",{class:"header-anchor",href:"#计划","aria-label":'Permalink to "计划"'},"​")],-1),r=e("p",null,"以下是我们的一些计划,如果你有更好的建议,欢迎联系我们。",-1),c=e("h2",{id:"v7-1-1",tabindex:"-1"},[a("v7.1.1 "),e("a",{class:"header-anchor",href:"#v7-1-1","aria-label":'Permalink to "v7.1.1"'},"​")],-1),d=e("ul",null,[e("li",null,"新增 Ai 自动编码功能,简单功能零代码实现;"),e("li",null,"新增后台扩展插件,如文件上传、支付、短信等功能可以通过安装插件的方式添加;")],-1),i=[l,r,c,d];function _(h,p,m,f,u,v){return s(),o("div",null,i)}const k=t(n,[["render",_]]);export{b as __pageData,k as default}; +import{_ as t,c as o,o as s,j as e,a}from"./chunks/framework.BZ5u8Vj7.js";const b=JSON.parse('{"title":"计划","description":"","frontmatter":{},"headers":[],"relativePath":"src/todo/plan.md","filePath":"src/todo/plan.md","lastUpdated":1720593505000}'),n={name:"src/todo/plan.md"},l=e("h1",{id:"计划",tabindex:"-1"},[a("计划 "),e("a",{class:"header-anchor",href:"#计划","aria-label":'Permalink to "计划"'},"​")],-1),r=e("p",null,"以下是我们的一些计划,如果你有更好的建议,欢迎联系我们。",-1),c=e("h2",{id:"v7-1-1",tabindex:"-1"},[a("v7.1.1 "),e("a",{class:"header-anchor",href:"#v7-1-1","aria-label":'Permalink to "v7.1.1"'},"​")],-1),d=e("ul",null,[e("li",null,"新增 Ai 自动编码功能,简单功能零代码实现;"),e("li",null,"新增后台扩展插件,如文件上传、支付、短信等功能可以通过安装插件的方式添加;")],-1),i=[l,r,c,d];function _(h,p,m,f,u,v){return s(),o("div",null,i)}const k=t(n,[["render",_]]);export{b as __pageData,k as default}; diff --git a/.vitepress/dist/assets/src_todo_update.md.DBgw5Y9D.js b/.vitepress/dist/assets/src_todo_update.md.qtvh9HZG.js similarity index 88% rename from .vitepress/dist/assets/src_todo_update.md.DBgw5Y9D.js rename to .vitepress/dist/assets/src_todo_update.md.qtvh9HZG.js index a5d2de3..2fc3656 100644 --- a/.vitepress/dist/assets/src_todo_update.md.DBgw5Y9D.js +++ b/.vitepress/dist/assets/src_todo_update.md.qtvh9HZG.js @@ -1 +1 @@ -import{_ as a,c as e,o as t,a4 as o}from"./chunks/framework.DHgIdERs.js";const m=JSON.parse('{"title":"更新","description":"","frontmatter":{},"headers":[],"relativePath":"src/todo/update.md","filePath":"src/todo/update.md","lastUpdated":1720593505000}'),r={name:"src/todo/update.md"},l=o('

更新 ​

因为有你们的支持,cool-admin 会持续不断地更新,如果方便请点下 Star,这将会给我们带来更多的动力!!!

v7.1.0(2024-06-27) ​

  • 升级到 Springboot3.x;
  • 升级所有相关依赖到最新;
  • 跟进Nodejs 版相关功能;
  • 优化若干问题;
',4),s=[l];function i(d,c,n,_,p,h){return t(),e("div",null,s)}const f=a(r,[["render",i]]);export{m as __pageData,f as default}; +import{_ as a,c as e,o as t,a4 as o}from"./chunks/framework.BZ5u8Vj7.js";const m=JSON.parse('{"title":"更新","description":"","frontmatter":{},"headers":[],"relativePath":"src/todo/update.md","filePath":"src/todo/update.md","lastUpdated":1720593505000}'),r={name:"src/todo/update.md"},l=o('

更新 ​

因为有你们的支持,cool-admin 会持续不断地更新,如果方便请点下 Star,这将会给我们带来更多的动力!!!

v7.1.0(2024-06-27) ​

  • 升级到 Springboot3.x;
  • 升级所有相关依赖到最新;
  • 跟进Nodejs 版相关功能;
  • 优化若干问题;
',4),s=[l];function i(d,c,n,_,p,h){return t(),e("div",null,s)}const f=a(r,[["render",i]]);export{m as __pageData,f as default}; diff --git a/.vitepress/dist/assets/src_todo_update.md.DBgw5Y9D.lean.js b/.vitepress/dist/assets/src_todo_update.md.qtvh9HZG.lean.js similarity index 69% rename from .vitepress/dist/assets/src_todo_update.md.DBgw5Y9D.lean.js rename to .vitepress/dist/assets/src_todo_update.md.qtvh9HZG.lean.js index 7faf0bd..babe428 100644 --- a/.vitepress/dist/assets/src_todo_update.md.DBgw5Y9D.lean.js +++ b/.vitepress/dist/assets/src_todo_update.md.qtvh9HZG.lean.js @@ -1 +1 @@ -import{_ as a,c as e,o as t,a4 as o}from"./chunks/framework.DHgIdERs.js";const m=JSON.parse('{"title":"更新","description":"","frontmatter":{},"headers":[],"relativePath":"src/todo/update.md","filePath":"src/todo/update.md","lastUpdated":1720593505000}'),r={name:"src/todo/update.md"},l=o("",4),s=[l];function i(d,c,n,_,p,h){return t(),e("div",null,s)}const f=a(r,[["render",i]]);export{m as __pageData,f as default}; +import{_ as a,c as e,o as t,a4 as o}from"./chunks/framework.BZ5u8Vj7.js";const m=JSON.parse('{"title":"更新","description":"","frontmatter":{},"headers":[],"relativePath":"src/todo/update.md","filePath":"src/todo/update.md","lastUpdated":1720593505000}'),r={name:"src/todo/update.md"},l=o("",4),s=[l];function i(d,c,n,_,p,h){return t(),e("div",null,s)}const f=a(r,[["render",i]]);export{m as __pageData,f as default}; diff --git a/.vitepress/dist/hashmap.json b/.vitepress/dist/hashmap.json index 67eb80e..ac6eec9 100644 --- a/.vitepress/dist/hashmap.json +++ b/.vitepress/dist/hashmap.json @@ -1 +1 @@ -{"index.md":"yfcJdFvw","readme.md":"4Jyv89Qb","src_about_index.md":"CTVSnooN","src_guide_ai.md":"C8if3F3E","src_guide_cache.md":"ZVsLHhYY","src_guide_controller.md":"CHg4SCy_","src_guide_exception.md":"CYt_RuFI","src_guide_flow.md":"Di5674iy","src_guide_generatorcode.md":"DDGMNA-b","src_guide_initdata.md":"O6zUbXxV","src_guide_plugin.md":"BXCsDYqg","src_guide_quick.md":"Upc-ZGOO","src_guide_security.md":"DHJ07XGg","src_guide_springboot3.md":"DaNyk9fQ","src_guide_swagger.md":"DDZqWgRz","src_guide_upload.md":"Co0bl86V","src_introduce_index.md":"DKGGO-Ql","src_introduce_show.md":"Clnke3BR","src_introduce_src.md":"BzottFc3","src_question_commonquestion.md":"nt8kyqs9","src_todo_plan.md":"Iu8y2qvb","src_todo_update.md":"DBgw5Y9D"} +{"index.md":"CAVf4Oqs","readme.md":"OcZ1dgrk","src_about_index.md":"BcF27jYK","src_guide_ai.md":"Gsy5t_8S","src_guide_cache.md":"BOJv_Che","src_guide_controller.md":"r2nPGOST","src_guide_exception.md":"m-_TuVSi","src_guide_flow.md":"DerjmfqW","src_guide_generatorcode.md":"vZguykgt","src_guide_initdata.md":"CSiXmFuQ","src_guide_plugin.md":"YnHghnwg","src_guide_quick.md":"Dd-HcOh7","src_guide_security.md":"BubSrMYS","src_guide_springboot3.md":"_tGrFUv8","src_guide_swagger.md":"BS_bARv2","src_guide_upload.md":"Bq5siQ0E","src_introduce_index.md":"DvEK5WJI","src_introduce_show.md":"DSZevIGP","src_introduce_src.md":"pd2vUss-","src_question_commonquestion.md":"CeHvXEMU","src_todo_plan.md":"bhlKWKsq","src_todo_update.md":"qtvh9HZG"} diff --git a/.vitepress/dist/index.html b/.vitepress/dist/index.html index 69de333..302214f 100644 --- a/.vitepress/dist/index.html +++ b/.vitepress/dist/index.html @@ -8,17 +8,17 @@ - + - - - + + +
Skip to content

Cool Admin(Java版)

一个很酷的后台管理系统开发框架

开源免费、Ai编码、流程编排、扩展插件、模块化

cool-admin
- + \ No newline at end of file diff --git a/.vitepress/dist/show/flow.jpeg b/.vitepress/dist/show/flow.jpeg deleted file mode 100644 index f443106..0000000 Binary files a/.vitepress/dist/show/flow.jpeg and /dev/null differ diff --git a/.vitepress/dist/show/flow.png b/.vitepress/dist/show/flow.png new file mode 100644 index 0000000..a6f802d Binary files /dev/null and b/.vitepress/dist/show/flow.png differ diff --git a/.vitepress/dist/src/about/index.html b/.vitepress/dist/src/about/index.html index 0bcbf96..5b1ff4b 100644 --- a/.vitepress/dist/src/about/index.html +++ b/.vitepress/dist/src/about/index.html @@ -8,17 +8,17 @@ - + - - - + + +
Skip to content

交流合作 ​

如果我们的项目对你有用,欢迎加入我们大家庭一起讨论,共创一些美好的事情。

微信 ​

扫一扫加入微信开发交流群

抖音 ​

主要是做一些技术教程、技术分享、框架更新、插件分享等内容。你可以在这边了解到一些关于我们框架的最新动态,还可以了解到一些前沿的技术,特别是跟 Ai 相关的,有兴趣的可以关注我们。

B 站 ​

COOL 团队哔哩哔哩官方账户

公众号 ​

COOL 的一些最新资讯、技术分享、框架更新、插件分享等

- + \ No newline at end of file diff --git a/.vitepress/dist/src/guide/ai.html b/.vitepress/dist/src/guide/ai.html index f093708..c6f1f4b 100644 --- a/.vitepress/dist/src/guide/ai.html +++ b/.vitepress/dist/src/guide/ai.html @@ -8,17 +8,17 @@ - + - - - + + + - + \ No newline at end of file diff --git a/.vitepress/dist/src/guide/cache.html b/.vitepress/dist/src/guide/cache.html index c0b4a3c..ea094ad 100644 --- a/.vitepress/dist/src/guide/cache.html +++ b/.vitepress/dist/src/guide/cache.html @@ -8,11 +8,11 @@ - + - - - + + + @@ -51,7 +51,7 @@ return coolCache.get("a", Integer.class); } }
- + \ No newline at end of file diff --git a/.vitepress/dist/src/guide/controller.html b/.vitepress/dist/src/guide/controller.html index 249d7ef..cda9159 100644 --- a/.vitepress/dist/src/guide/controller.html +++ b/.vitepress/dist/src/guide/controller.html @@ -8,11 +8,11 @@ - + - - - + + + @@ -97,7 +97,7 @@ return info; } }
- + \ No newline at end of file diff --git a/.vitepress/dist/src/guide/exception.html b/.vitepress/dist/src/guide/exception.html index 0a65589..7455ef4 100644 --- a/.vitepress/dist/src/guide/exception.html +++ b/.vitepress/dist/src/guide/exception.html @@ -8,11 +8,11 @@ - + - - - + + + @@ -76,7 +76,7 @@ super.add(requestParams, entity); return entity.getId(); } - + \ No newline at end of file diff --git a/.vitepress/dist/src/guide/flow.html b/.vitepress/dist/src/guide/flow.html index b843eb5..67aacbc 100644 --- a/.vitepress/dist/src/guide/flow.html +++ b/.vitepress/dist/src/guide/flow.html @@ -8,17 +8,17 @@ - + - - - + + + -
Skip to content

Ai 流程编排 ​

coming soon!!!

nodejs 版本视频演示

开发 Ai 应用必备!!!

随着 Ai 的火热,很多应用希望接入 Ai 的能力,但是每次都是用代码手搓,容易把我们累死,而是也非常不灵活。

于是我们面向开发者和软件开发公司,做了一个 Ai 流程编排功能,结合知识库,通过拖动配置,很容易就能完成一个 Ai 的核心流程。

因此如果你需要开发 Ai 相关应用,这个可能会给你带来巨大的帮助。

流程编排

注意

Ai 流程编排+知识库需要单独购买,预售 999 元

- +
Skip to content

Ai 流程编排 ​

coming soon!!!

nodejs 版本视频演示

开发 Ai 应用必备!!!

随着 Ai 的火热,很多应用希望接入 Ai 的能力,但是每次都是用代码手搓,容易把我们累死,而是也非常不灵活。

于是我们面向开发者和软件开发公司,做了一个 Ai 流程编排功能,结合知识库,通过拖动配置,很容易就能完成一个 Ai 的核心流程。

因此如果你需要开发 Ai 相关应用,这个可能会给你带来巨大的帮助。

流程编排

注意

Ai 流程编排+知识库需要单独购买,预售 999 元

+ \ No newline at end of file diff --git a/.vitepress/dist/src/guide/generatorCode.html b/.vitepress/dist/src/guide/generatorCode.html index 7759a12..4226c5d 100644 --- a/.vitepress/dist/src/guide/generatorCode.html +++ b/.vitepress/dist/src/guide/generatorCode.html @@ -8,11 +8,11 @@ - + - - - + + + @@ -33,7 +33,7 @@ codeGenerator.service(codeModel); } } - + \ No newline at end of file diff --git a/.vitepress/dist/src/guide/initData.html b/.vitepress/dist/src/guide/initData.html index cd63c11..aa63a6e 100644 --- a/.vitepress/dist/src/guide/initData.html +++ b/.vitepress/dist/src/guide/initData.html @@ -8,11 +8,11 @@ - + - - - + + + @@ -50,7 +50,7 @@ } //...... }

注意:如果同一张表历史已经有初始化过数据,在某个版本需要新增数据的话,要新增一个.json文件;
比如demoV2.json, 如果在原文件直接修改将不生效,加载成功后文件名称将被当作唯一键标识,不会重复初始化。

- + \ No newline at end of file diff --git a/.vitepress/dist/src/guide/plugin.html b/.vitepress/dist/src/guide/plugin.html index 2f83100..3d481a5 100644 --- a/.vitepress/dist/src/guide/plugin.html +++ b/.vitepress/dist/src/guide/plugin.html @@ -8,11 +8,11 @@ - + - - - + + + @@ -193,7 +193,7 @@ [INFO] Excluding cn.hutool:hutool-core:jar:5.8.26 from the shaded jar. [INFO] Excluding cn.hutool:hutool-json:jar:5.8.26 from the shaded jar.

打包 ​

打包命令

mvn clean package

打包结果, 在 target目录下 .cool后缀的文件,就是我们的插件包

target/cool-admin-java-plugin-1.0-SNAPSHOT.cool

安装插件 ​

在后台插件管理页面,安装插件将打包好的.cool文件上传。

实现原理 ​

  • 动态加载 Jar 包

实现动态加载的技术方案
在 SpringBoot 中实现动态加载 Jar 包: URLClassLoader 是 Java 标准库中提供的一个类加载器,它可以加载指定的 URL 资源,包括本地文件系统、远程服务器和 JAR 文件等。
通过 URLClassLoader,我们可以在运行时动态地加载外部的 Jar 包或类。

  • 优势:

1、灵活性高:可以动态指定 Jar 包的位置和版本。
2、可控性强:可以通过代码控制加载、卸载和替换 Jar 包。

实现方法:

java
URL jarUrl = new URL("jar:file:" + new File(jarFilePath).getAbsolutePath() + "!/");
 DynamicJarClassLoader dynamicJarClassLoader = new DynamicJarClassLoader(new URL[]{jarUrl}, Thread.currentThread().getContextClassLoader());

动态加载 Jar 包具有以下几个显著的优势:

  • 1、灵活性: 动态加载允许应用程序在运行时根据需求加载、卸载和替换 Jar 包或其内部的类和资源,提供了极大的灵活性。
  • 2、可维护性: 通过动态加载,可以将应用程序的核心逻辑和配置分离,使得代码更加清晰、模块化,提高了代码的可维护性。
  • 3、热更新: 动态加载使得应用程序能够在不停机的情况下进行热更新,大大提高了系统的可用性和稳定性。
  • 4、扩展性: 通过动态加载,可以轻松地添加新的功能模块或服务,实现应用程序的快速扩展和升级。
- + \ No newline at end of file diff --git a/.vitepress/dist/src/guide/quick.html b/.vitepress/dist/src/guide/quick.html index 6b8bdd5..fc96672 100644 --- a/.vitepress/dist/src/guide/quick.html +++ b/.vitepress/dist/src/guide/quick.html @@ -8,11 +8,11 @@ - + - - - + + + @@ -97,7 +97,7 @@ url: jdbc:mysql://127.0.0.1:3306/cool?useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2b8 username: root password: 123456 - + \ No newline at end of file diff --git a/.vitepress/dist/src/guide/security.html b/.vitepress/dist/src/guide/security.html index 9ad8592..9eed695 100644 --- a/.vitepress/dist/src/guide/security.html +++ b/.vitepress/dist/src/guide/security.html @@ -8,11 +8,11 @@ - + - - - + + + @@ -233,7 +233,7 @@ private CoolSecurityUtil coolSecurityUtil; JSONObject userInfo = coolSecurityUtil.userInfo(requestParams);

userInfo

字段类型说明
roleIdsLong[]角色数组
usernameString用户名
userIdLong用户ID
passwordVersionInteger密码版本号
- + \ No newline at end of file diff --git a/.vitepress/dist/src/guide/springboot3.html b/.vitepress/dist/src/guide/springboot3.html index fe2f210..079196b 100644 --- a/.vitepress/dist/src/guide/springboot3.html +++ b/.vitepress/dist/src/guide/springboot3.html @@ -8,17 +8,17 @@ - + - - - + + +
Skip to content

Spring Boot 3 介绍 ​

Spring Boot 3 是 Spring 框架 的一部分,旨在简化新 Spring 应用程序的创建和开发过程。Spring Boot 通过提供预先配置的设置,减少了开发者的配置工作,使得开发和部署 Spring 应用程序更加快捷和高效。以下是对 Spring Boot 3 的一些详细介绍:

主要特点 ​

简化的配置 ​

  • 通过 自动配置(Auto-Configuration) 和 约定优于配置(Convention over Configuration) 原则,减少了繁琐的手动配置。
  • 提供了大量的 starter 依赖,可以轻松集成常用的库和工具。

新特性和增强 ​

  • 支持 Java 17 和 Java 21(最新的 LTS 版本)。
  • 采用 Jakarta EE 9 标准,这意味着 javax 包命名空间改为 jakarta 包命名空间。
  • 提供对 GraalVM Native Image 的更好支持,允许将 Spring Boot 应用编译为本地可执行文件,提高启动速度和资源利用效率。

改进的性能 ​

  • 更快的启动时间和更低的内存占用。
  • 提供更多性能调优选项和监控工具。

现代化开发体验 ​

  • 集成了 Spring Native,能够更好地支持云原生应用程序开发。
  • 提供更丰富的开发工具集成和增强的开发者体验。

更强的安全性 ​

  • 更新的安全性默认配置和更严格的安全控制。
  • 支持最新的安全协议和加密标准。
- + \ No newline at end of file diff --git a/.vitepress/dist/src/guide/swagger.html b/.vitepress/dist/src/guide/swagger.html index f57cee3..0eae8ac 100644 --- a/.vitepress/dist/src/guide/swagger.html +++ b/.vitepress/dist/src/guide/swagger.html @@ -8,11 +8,11 @@ - + - - - + + + @@ -25,7 +25,7 @@ // 可以在这边实现一下列表数据排序规则,查询条件过滤,返回哪些字段等 } }

系统启动完成访问:http://127.0.0.1:8001/swagger-ui/index.html#/

- + \ No newline at end of file diff --git a/.vitepress/dist/src/guide/upload.html b/.vitepress/dist/src/guide/upload.html index 2ce01de..f485a54 100644 --- a/.vitepress/dist/src/guide/upload.html +++ b/.vitepress/dist/src/guide/upload.html @@ -8,11 +8,11 @@ - + - - - + + + @@ -48,7 +48,7 @@ return R.ok(fileUploadStrategyFactory.getMode()); } } - + \ No newline at end of file diff --git a/.vitepress/dist/src/introduce/index.html b/.vitepress/dist/src/introduce/index.html index 880e00b..07aee75 100644 --- a/.vitepress/dist/src/introduce/index.html +++ b/.vitepress/dist/src/introduce/index.html @@ -8,17 +8,17 @@ - + - - - + + + -
Skip to content

简介 ​

技术选型 ​

1、系统环境

  • Java Jdk >= 17 选择 graalvm
  • Mysql >= 5.7
  • Maven >= 3.0

2、主要框架

  • Spring Boot 3.2.5
  • Spring Framework 6.1.6
  • Mybatis Flex 1.9.3(新版本替换: Mybatis Plus)
  • Auto Table 1.7.4
  • Spring Doc 2.5.0

为什么选择 Cool Admin? ​

随着技术不断地发展,特别是最近 Ai 相关的技术发展,以往的框架已经越来越不能满足现代化的开发需求。

Cool Admin 做为后来者有后发优势,主要特点:

  • Ai 编码,从页面到后端代码,部分功能实现零代码;
  • Ai 流程编排,专门为 Ai 开发设计的,Ai 开发几乎不用写代码,只需拖一拖即可;
  • 扩展插件,可插拔,如支付、短信这类功能的插件可以通过后台动态安装卸载,灵活又不臃肿;
  • 代码简洁,不像一般代码生成器生成一堆冗余代码,Cool 只需极少编码即可实现大部分需求;
  • ......

内置功能 ​

  • 用户管理:呈现公司组织部门树形结构,用户是系统操作者,该功能主要完成系统用户配置。
  • 菜单管理:配置系统菜单,操作权限标识等。
  • 角色管理:角色菜单权限分配、设置角色按机构进行数据范围权限划分。
  • 参数管理:对系统动态配置常用参数。
  • 字典管理:对系统中经常使用的一些较为固定的数据进行维护。
  • 请求日志:接口的请求入参日志,便于问题排查。
  • 操作日志:系统正常操作日志记录和查询;系统异常信息日志记录和查询。
  • 定时任务:在线(添加、修改、删除)任务调度包含执行结果日志。
  • 文件管理:支持静态资源文件上传云端进行云管理。
  • 数据回收站:数据有 30 天的保留,支持回滚操作。
  • 前后端插件:支持动态安装、卸载插件,实现功能可插拔。(后端插件开发中...)
- +
Skip to content

简介 ​

技术选型 ​

1、系统环境

  • Java Jdk >= 17 选择 graalvm
  • Mysql >= 5.7
  • Maven >= 3.0

2、主要框架

  • Spring Boot 3.2.5
  • Spring Framework 6.1.6
  • Mybatis Flex 1.9.3(新版本替换: Mybatis Plus)
  • Auto Table 1.7.4
  • Spring Doc 2.5.0

为什么选择 Cool Admin? ​

随着技术不断地发展,特别是最近 Ai 相关的技术发展,以往的框架已经越来越不能满足现代化的开发需求。

Cool Admin 做为后来者有后发优势,主要特点:

  • Ai 编码,从页面到后端代码,部分功能实现零代码;
  • Ai 流程编排,专门为 Ai 开发设计的,Ai 开发几乎不用写代码,只需拖一拖即可;
  • 扩展插件,可插拔,如支付、短信这类功能的插件可以通过后台动态安装卸载,灵活又不臃肿;
  • 代码简洁,不像一般代码生成器生成一堆冗余代码,Cool 只需极少编码即可实现大部分需求;
  • ......

内置功能 ​

  • 用户管理:呈现公司组织部门树形结构,用户是系统操作者,该功能主要完成系统用户配置。
  • 菜单管理:配置系统菜单,操作权限标识等。
  • 角色管理:角色菜单权限分配、设置角色按机构进行数据范围权限划分。
  • 参数管理:对系统动态配置常用参数。
  • 字典管理:对系统中经常使用的一些较为固定的数据进行维护。
  • 请求日志:接口的请求入参日志,便于问题排查。
  • 操作日志:系统正常操作日志记录和查询;系统异常信息日志记录和查询。
  • 定时任务:在线(添加、修改、删除)任务调度包含执行结果日志。
  • 文件管理:支持静态资源文件上传云端进行云管理。
  • 数据回收站:数据有 30 天的保留,支持回滚操作。
  • 前后端插件:支持动态安装、卸载插件,实现功能可插拔。(后端插件开发中...)
+ \ No newline at end of file diff --git a/.vitepress/dist/src/introduce/show.html b/.vitepress/dist/src/introduce/show.html index ed69680..7e8020b 100644 --- a/.vitepress/dist/src/introduce/show.html +++ b/.vitepress/dist/src/introduce/show.html @@ -8,17 +8,17 @@ - + - - - + + + - + \ No newline at end of file diff --git a/.vitepress/dist/src/introduce/src.html b/.vitepress/dist/src/introduce/src.html index 1e3b0f1..7b1fd36 100644 --- a/.vitepress/dist/src/introduce/src.html +++ b/.vitepress/dist/src/introduce/src.html @@ -8,17 +8,17 @@ - + - - - + + + - + \ No newline at end of file diff --git a/.vitepress/dist/src/question/commonQuestion.html b/.vitepress/dist/src/question/commonQuestion.html index 349c9ca..c7ad23a 100644 --- a/.vitepress/dist/src/question/commonQuestion.html +++ b/.vitepress/dist/src/question/commonQuestion.html @@ -8,17 +8,17 @@ - + - - - + + +
Skip to content

常见问题 ​

IDEA导入Maven项目右侧没有Maven ​

当在 IntelliJ IDEA 中导入 Maven 项目时,如果右侧没有显示 Maven 面板,可能是因为以下几个原因: ​

1、项目未正确识别为 Maven 项目:确保项目的根目录下有一个 pom.xml 文件,这是 Maven 项目的标志。如果找不到 pom.xml 文件,需要检查项目导入过程中是否有误,或者从正确的源重新获取项目。

2、Maven 面板未启用显示:可能是由于 IDEA 的设置导致 Maven 面板未显示。请按照以下步骤检查和更改设置:

在 IDEA 中,选择 File > Settings(对于 macOS 用户是 IntelliJ IDEA > Preferences)。 在设置窗口中,导航到 Build, Execution, Deployment > Build Tools > Maven。 确保选中了显示 Maven 面板的选项。

3、项目未正确加载 pom 文件:如果是因为读取项目出错,未正确加载 pom 文件造成的,可以尝试以下解决方案:

关闭 IDEA,在项目目录中删除 .idea 文件夹,然后重新打开项目,重新加载。 直接在 pom 文件中右键选择 Add as Maven Project。

4、视图设置问题:如果之前 Maven 面板是有的,突然之间没有了,可以尝试通过菜单 View > Tool Windows > Maven 来重新显示 Maven 面板。

通过上述步骤,大多数情况下可以解决 IntelliJ IDEA 中 Maven 面板不显示的问题。如果问题依旧存在,可能需要进一步检查项目的配置或考虑重新导入项目。

- + \ No newline at end of file diff --git a/.vitepress/dist/src/todo/plan.html b/.vitepress/dist/src/todo/plan.html index 98cdef9..aca5f52 100644 --- a/.vitepress/dist/src/todo/plan.html +++ b/.vitepress/dist/src/todo/plan.html @@ -8,17 +8,17 @@ - + - - - + + +
Skip to content

计划 ​

以下是我们的一些计划,如果你有更好的建议,欢迎联系我们。

v7.1.1 ​

  • 新增 Ai 自动编码功能,简单功能零代码实现;
  • 新增后台扩展插件,如文件上传、支付、短信等功能可以通过安装插件的方式添加;
- + \ No newline at end of file diff --git a/.vitepress/dist/src/todo/update.html b/.vitepress/dist/src/todo/update.html index 8aac1ee..fe8a6ca 100644 --- a/.vitepress/dist/src/todo/update.html +++ b/.vitepress/dist/src/todo/update.html @@ -8,17 +8,17 @@ - + - - - + + +
Skip to content

更新 ​

因为有你们的支持,cool-admin 会持续不断地更新,如果方便请点下 Star,这将会给我们带来更多的动力!!!

v7.1.0(2024-06-27) ​

  • 升级到 Springboot3.x;
  • 升级所有相关依赖到最新;
  • 跟进Nodejs 版相关功能;
  • 优化若干问题;
- + \ No newline at end of file diff --git a/public/show/flow.jpeg b/public/show/flow.jpeg deleted file mode 100644 index f443106..0000000 Binary files a/public/show/flow.jpeg and /dev/null differ diff --git a/public/show/flow.png b/public/show/flow.png new file mode 100644 index 0000000..a6f802d Binary files /dev/null and b/public/show/flow.png differ diff --git a/src/guide/flow.md b/src/guide/flow.md index e6f88a9..bd61def 100644 --- a/src/guide/flow.md +++ b/src/guide/flow.md @@ -12,7 +12,7 @@ coming soon!!! 因此如果你需要开发 Ai 相关应用,这个可能会给你带来巨大的帮助。 -![流程编排](/show/flow.jpeg){data-zoomable} +![流程编排](/show/flow.png){data-zoomable} ::: warning 注意 diff --git a/src/introduce/index.md b/src/introduce/index.md index 87f275e..1d8a612 100644 --- a/src/introduce/index.md +++ b/src/introduce/index.md @@ -32,7 +32,7 @@ Cool Admin 做为后来者有后发优势,主要特点: ![](/show/admin.png){data-zoomable} -![](/show/flow.jpeg){data-zoomable} +![](/show/flow.png){data-zoomable} ## 内置功能