From 13c7359fc409840006f66cfa0d5b742f1696324a Mon Sep 17 00:00:00 2001 From: ajosh0504 Date: Thu, 13 Jun 2024 00:28:44 +0000 Subject: [PATCH] deploy: b58fb7c2f0b3626f108eaf5114d99b9c1a51fce9 --- 404.html | 4 +- ...kflow-4970fa6d9fc8522c8ed879259a3e0aeb.png | Bin 0 -> 122226 bytes assets/js/0c1fdb82.4e61d5a3.js | 1 + assets/js/2b4c7ea6.2d9d8ec9.js | 1 + assets/js/3aaaf183.16d803f8.js | 1 - assets/js/3aaaf183.8cd9950a.js | 1 + assets/js/3b3a475e.c5ac3ce1.js | 1 - assets/js/857863e1.7fb2b5b5.js | 1 + assets/js/935f2afb.6fbdb125.js | 1 - assets/js/935f2afb.eb975ffa.js | 1 + assets/js/aa127315.d43768f4.js | 1 + ...de9c3.ce708b1f.js => b8bde9c3.11771cdf.js} | 2 +- assets/js/f2089253.5a668365.js | 1 - assets/js/f2089253.cde29c02.js | 1 + assets/js/f8409a7e.a1abe352.js | 1 - assets/js/f8409a7e.dd3b6906.js | 1 + assets/js/main.8e9dbc22.js | 2 + ...CENSE.txt => main.8e9dbc22.js.LICENSE.txt} | 0 assets/js/main.cdc6b954.js | 2 - assets/js/runtime~main.01014899.js | 1 - assets/js/runtime~main.4035b318.js | 1 + docs/adding-memory/adding-memory.html | 8 ++-- docs/agent-tools/chat-completion-llm.html | 6 +-- docs/agent-tools/create-agent-tools.html | 6 +-- .../create-vector-search-index.html | 6 +-- docs/agent-tools/knowledge-base.html | 6 +-- docs/ai-agents/components-of-agents.html | 16 ++++++++ docs/ai-agents/what-are-ai-agents.html | 11 ++++-- docs/ai-agents/when-to-use-agents.html | 35 ++++++++++++++++++ docs/category/add-memory-to-agents.html | 6 +-- docs/category/ai-agents.html | 16 ++++++++ docs/category/create-agent-tools.html | 6 +-- docs/category/create-agents.html | 6 +-- docs/category/dev-environment.html | 6 +-- docs/category/fireworks-ai.html | 6 +-- docs/category/mongodb-atlas.html | 6 +-- .../agent-without-abstraction.html | 6 +-- docs/create-agents/cot-prompting.html | 6 +-- docs/create-agents/react-agent.html | 6 +-- docs/create-agents/tool-calling-agent.html | 6 +-- docs/dev-env/dev-setup.html | 6 +-- docs/dev-env/setup-pre-reqs.html | 6 +-- docs/fireworks-ai/create-account.html | 6 +-- docs/fireworks-ai/create-api-key.html | 6 +-- docs/intro.html | 8 ++-- docs/mongodb-atlas/create-account.html | 6 +-- docs/mongodb-atlas/create-cluster.html | 6 +-- docs/mongodb-atlas/get-connection-string.html | 6 +-- docs/summary.html | 8 ++-- helloWorld.html | 4 +- .../10-ai-agents/agent_workflow.png | Bin 0 -> 122226 bytes index.html | 4 +- search-index-docs-default-current.json | 2 +- sitemap.xml | 2 +- 54 files changed, 169 insertions(+), 96 deletions(-) create mode 100644 assets/images/agent_workflow-4970fa6d9fc8522c8ed879259a3e0aeb.png create mode 100644 assets/js/0c1fdb82.4e61d5a3.js create mode 100644 assets/js/2b4c7ea6.2d9d8ec9.js delete mode 100644 assets/js/3aaaf183.16d803f8.js create mode 100644 assets/js/3aaaf183.8cd9950a.js delete mode 100644 assets/js/3b3a475e.c5ac3ce1.js create mode 100644 assets/js/857863e1.7fb2b5b5.js delete mode 100644 assets/js/935f2afb.6fbdb125.js create mode 100644 assets/js/935f2afb.eb975ffa.js create mode 100644 assets/js/aa127315.d43768f4.js rename assets/js/{b8bde9c3.ce708b1f.js => b8bde9c3.11771cdf.js} (55%) delete mode 100644 assets/js/f2089253.5a668365.js create mode 100644 assets/js/f2089253.cde29c02.js delete mode 100644 assets/js/f8409a7e.a1abe352.js create mode 100644 assets/js/f8409a7e.dd3b6906.js create mode 100644 assets/js/main.8e9dbc22.js rename assets/js/{main.cdc6b954.js.LICENSE.txt => main.8e9dbc22.js.LICENSE.txt} (100%) delete mode 100644 assets/js/main.cdc6b954.js delete mode 100644 assets/js/runtime~main.01014899.js create mode 100644 assets/js/runtime~main.4035b318.js create mode 100644 docs/ai-agents/components-of-agents.html create mode 100644 docs/ai-agents/when-to-use-agents.html create mode 100644 docs/category/ai-agents.html create mode 100644 img/screenshots/10-ai-agents/agent_workflow.png diff --git a/404.html b/404.html index e1430cc..987c332 100644 --- a/404.html +++ b/404.html @@ -7,8 +7,8 @@ - - + +
Skip to main content

Page Not Found

We could not find what you were looking for.

Please contact the owner of the site that linked you to the original URL and let them know their link is broken.

diff --git a/assets/images/agent_workflow-4970fa6d9fc8522c8ed879259a3e0aeb.png b/assets/images/agent_workflow-4970fa6d9fc8522c8ed879259a3e0aeb.png new file mode 100644 index 0000000000000000000000000000000000000000..262bffb53b8c82d9ef837035aba83b406377ff32 GIT binary patch literal 122226 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 JpPG5x`VTmSMc)7b literal 0 HcmV?d00001 diff --git a/assets/js/0c1fdb82.4e61d5a3.js b/assets/js/0c1fdb82.4e61d5a3.js new file mode 100644 index 0000000..eee2f7b --- /dev/null +++ b/assets/js/0c1fdb82.4e61d5a3.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkai_agents_lab=self.webpackChunkai_agents_lab||[]).push([[237],{6056:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>o,default:()=>u,frontMatter:()=>i,metadata:()=>r,toc:()=>c});var s=n(4848),a=n(8453);const i={},o="\ud83d\udcd8 When to use AI agents?",r={id:"ai-agents/when-to-use-agents",title:"\ud83d\udcd8 When to use AI agents?",description:"AI agents are best suited for complex, multi-step tasks that require integration of mutiple capabilities, such as question-answering, analysis, task execution etc. to arrive at the final answer or outcome. An active area of research is to have AI agents learn from their past interactions to build personalized and adaptive experiences.",source:"@site/docs/10-ai-agents/2-when-to-use-agents.mdx",sourceDirName:"10-ai-agents",slug:"/ai-agents/when-to-use-agents",permalink:"/ai-agents-lab/docs/ai-agents/when-to-use-agents",draft:!1,unlisted:!1,editUrl:"https://github.com/mongodb-developer/ai-agents-lab/blob/main/docs/10-ai-agents/2-when-to-use-agents.mdx",tags:[],version:"current",sidebarPosition:2,frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"\ud83d\udcd8 What are AI agents?",permalink:"/ai-agents-lab/docs/ai-agents/what-are-ai-agents"},next:{title:"\ud83d\udcd8 Components of AI agents",permalink:"/ai-agents-lab/docs/ai-agents/components-of-agents"}},l={},c=[];function h(e){const t={blockquote:"blockquote",h1:"h1",p:"p",strong:"strong",...(0,a.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.h1,{id:"-when-to-use-ai-agents",children:"\ud83d\udcd8 When to use AI agents?"}),"\n",(0,s.jsx)(t.p,{children:"AI agents are best suited for complex, multi-step tasks that require integration of mutiple capabilities, such as question-answering, analysis, task execution etc. to arrive at the final answer or outcome. An active area of research is to have AI agents learn from their past interactions to build personalized and adaptive experiences."}),"\n",(0,s.jsxs)(t.p,{children:["Here are some examples of tasks/questions that ",(0,s.jsx)(t.strong,{children:"DO NOT"})," require an AI agent:"]}),"\n",(0,s.jsxs)(t.blockquote,{children:["\n",(0,s.jsx)(t.p,{children:"Who was the first president of the United States?"}),"\n"]}),"\n",(0,s.jsx)(t.p,{children:"The information required to answer this question is very likely present in the parametric knowledge of most LLMs. Hence, this question can be answer using a simple prompt to an LLM."}),"\n",(0,s.jsxs)(t.blockquote,{children:["\n",(0,s.jsx)(t.p,{children:"What is the reimbursement policy for meals for my company?"}),"\n"]}),"\n",(0,s.jsx)(t.p,{children:"The information required to answer this question is most likely not present in the parametric knowledge of available LLMs. However, this question can easily be answered using Retrieval Augmented Generation (RAG) using a knowledge base consisting of your company's data. This still does not require an agent."}),"\n",(0,s.jsx)(t.p,{children:"Here are some use cases for AI agents:"}),"\n",(0,s.jsxs)(t.blockquote,{children:["\n",(0,s.jsx)(t.p,{children:"How has the trend in the average daily calorie intake among adults changed over the last decade in the United States, and what impact might this have on obesity rates? Additionally, can you provide a graphical representation of the trend in obesity rates over this period?"}),"\n"]}),"\n",(0,s.jsx)(t.p,{children:"This question involves multiple sub-tasks such as data aggregation, visualization, and reasoning. Hence, this is a good use case for an AI agent."}),"\n",(0,s.jsxs)(t.blockquote,{children:["\n",(0,s.jsx)(t.p,{children:"Creating a personalized learning assistant that can adjust its language, examples, and methods based on the student\u2019s responses."}),"\n"]}),"\n",(0,s.jsx)(t.p,{children:"This is an example of a complex task which also involves user personalization. Hence, this is a good fit for an AI agent."})]})}function u(e={}){const{wrapper:t}={...(0,a.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(h,{...e})}):h(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>o,x:()=>r});var s=n(6540);const a={},i=s.createContext(a);function o(e){const t=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function r(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:o(e.components),s.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/2b4c7ea6.2d9d8ec9.js b/assets/js/2b4c7ea6.2d9d8ec9.js new file mode 100644 index 0000000..1e149c4 --- /dev/null +++ b/assets/js/2b4c7ea6.2d9d8ec9.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkai_agents_lab=self.webpackChunkai_agents_lab||[]).push([[893],{8035:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>l,contentTitle:()=>r,default:()=>h,frontMatter:()=>o,metadata:()=>i,toc:()=>c});var n=a(4848),s=a(8453);const o={},r="\ud83d\udcd8 What are AI agents?",i={id:"ai-agents/what-are-ai-agents",title:"\ud83d\udcd8 What are AI agents?",description:"An AI agent is a system that uses an LLM to reason through a problem, create a plan to solve the problem, and execute the plan with the help of a set of tools.",source:"@site/docs/10-ai-agents/1-what-are-ai-agents.mdx",sourceDirName:"10-ai-agents",slug:"/ai-agents/what-are-ai-agents",permalink:"/ai-agents-lab/docs/ai-agents/what-are-ai-agents",draft:!1,unlisted:!1,editUrl:"https://github.com/mongodb-developer/ai-agents-lab/blob/main/docs/10-ai-agents/1-what-are-ai-agents.mdx",tags:[],version:"current",sidebarPosition:1,frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"AI Agents",permalink:"/ai-agents-lab/docs/category/ai-agents"},next:{title:"\ud83d\udcd8 When to use AI agents?",permalink:"/ai-agents-lab/docs/ai-agents/when-to-use-agents"}},l={},c=[];function g(e){const t={h1:"h1",img:"img",p:"p",strong:"strong",...(0,s.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.h1,{id:"-what-are-ai-agents",children:"\ud83d\udcd8 What are AI agents?"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{src:a(5434).A+"",width:"1532",height:"1101"})}),"\n",(0,n.jsxs)(t.p,{children:["An AI agent is a system that uses an LLM to ",(0,n.jsx)(t.strong,{children:"reason"})," through a problem, create a ",(0,n.jsx)(t.strong,{children:"plan"})," to solve the problem, and ",(0,n.jsx)(t.strong,{children:"execute"})," the plan with the help of a set of tools."]}),"\n",(0,n.jsx)(t.p,{children:"In agentic systems, one or multiple LLMs go through multiple iterations of reasoning and action-taking to reach the final answer to a user question. This means agents can handle complex, multi-step queries, and also self-revise and refine responses."})]})}function h(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(g,{...e})}):g(e)}},5434:(e,t,a)=>{a.d(t,{A:()=>n});const n=a.p+"assets/images/agent_workflow-4970fa6d9fc8522c8ed879259a3e0aeb.png"},8453:(e,t,a)=>{a.d(t,{R:()=>r,x:()=>i});var n=a(6540);const s={},o=n.createContext(s);function r(e){const t=n.useContext(o);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),n.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/3aaaf183.16d803f8.js b/assets/js/3aaaf183.16d803f8.js deleted file mode 100644 index 0951aa5..0000000 --- a/assets/js/3aaaf183.16d803f8.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkai_agents_lab=self.webpackChunkai_agents_lab||[]).push([[93],{5258:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>r,default:()=>m,frontMatter:()=>a,metadata:()=>i,toc:()=>c});var s=t(4848),o=t(8453);const a={sidebar_position:100},r="\ud83c\udfaf Summary",i={id:"summary",title:"\ud83c\udfaf Summary",description:"Congratulations! Following this lab, you have successfully:",source:"@site/docs/summary.mdx",sourceDirName:".",slug:"/summary",permalink:"/ai-agents-lab/docs/summary",draft:!1,unlisted:!1,editUrl:"https://github.com/mongodb-developer/ai-agents-lab/blob/main/docs/summary.mdx",tags:[],version:"current",sidebarPosition:100,frontMatter:{sidebar_position:100},sidebar:"tutorialSidebar",previous:{title:"what-are-ai-agents",permalink:"/ai-agents-lab/docs/ai-agents/what-are-ai-agents"}},l={},c=[];function u(e){const n={a:"a",h1:"h1",li:"li",p:"p",ul:"ul",...(0,o.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.h1,{id:"-summary",children:"\ud83c\udfaf Summary"}),"\n",(0,s.jsx)(n.p,{children:"Congratulations! Following this lab, you have successfully:"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"learned what are AI agents"}),"\n",(0,s.jsx)(n.li,{children:"learned when to use AI agents"}),"\n",(0,s.jsx)(n.li,{children:"built a basic tool-calling agent"}),"\n",(0,s.jsx)(n.li,{children:"built a ReAct agent"}),"\n",(0,s.jsx)(n.li,{children:"built an agent with memory"}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Here are some resources that you might find helpful:"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://mongodb.com/developer/?utm_campaign=devrel&utm_source=workshop&utm_medium=cta&utm_content=ai_agents_workshop&utm_term=apoorva_joshi",children:"MongoDB Developer Center"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://github.com/mongodb-developer/GenAI-Showcase",children:"GenAI Code Examples Repository"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"https://www.mongodb.com/community/forums/c/generative-ai/162/?utm_campaign=devrel&utm_source=workshop&utm_medium=cta&utm_content=ai_agents_workshop&utm_term=apoorva_joshi",children:"GenAI Community Forums"})}),"\n"]})]})}function m(e={}){const{wrapper:n}={...(0,o.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(u,{...e})}):u(e)}},8453:(e,n,t)=>{t.d(n,{R:()=>r,x:()=>i});var s=t(6540);const o={},a=s.createContext(o);function r(e){const n=s.useContext(a);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function i(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:r(e.components),s.createElement(a.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/3aaaf183.8cd9950a.js b/assets/js/3aaaf183.8cd9950a.js new file mode 100644 index 0000000..4814448 --- /dev/null +++ b/assets/js/3aaaf183.8cd9950a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkai_agents_lab=self.webpackChunkai_agents_lab||[]).push([[93],{5258:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>a,default:()=>c,frontMatter:()=>r,metadata:()=>i,toc:()=>m});var o=t(4848),s=t(8453);const r={sidebar_position:100},a="\ud83c\udfaf Summary",i={id:"summary",title:"\ud83c\udfaf Summary",description:"Congratulations! Following this lab, you have successfully:",source:"@site/docs/summary.mdx",sourceDirName:".",slug:"/summary",permalink:"/ai-agents-lab/docs/summary",draft:!1,unlisted:!1,editUrl:"https://github.com/mongodb-developer/ai-agents-lab/blob/main/docs/summary.mdx",tags:[],version:"current",sidebarPosition:100,frontMatter:{sidebar_position:100},sidebar:"tutorialSidebar",previous:{title:"\ud83d\udc50 Add memory to agents using MongoDB",permalink:"/ai-agents-lab/docs/adding-memory/adding-memory"}},l={},m=[];function u(e){const n={a:"a",h1:"h1",li:"li",p:"p",ul:"ul",...(0,s.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.h1,{id:"-summary",children:"\ud83c\udfaf Summary"}),"\n",(0,o.jsx)(n.p,{children:"Congratulations! Following this lab, you have successfully:"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsx)(n.li,{children:"learned what are AI agents"}),"\n",(0,o.jsx)(n.li,{children:"learned when to use AI agents"}),"\n",(0,o.jsx)(n.li,{children:"built a basic tool-calling agent"}),"\n",(0,o.jsx)(n.li,{children:"built a ReAct agent"}),"\n",(0,o.jsx)(n.li,{children:"built an agent with memory"}),"\n"]}),"\n",(0,o.jsx)(n.p,{children:"Here are some resources that you might find helpful:"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsx)(n.li,{children:(0,o.jsx)(n.a,{href:"https://mongodb.com/developer/?utm_campaign=devrel&utm_source=workshop&utm_medium=cta&utm_content=ai_agents_workshop&utm_term=apoorva_joshi",children:"MongoDB Developer Center"})}),"\n",(0,o.jsx)(n.li,{children:(0,o.jsx)(n.a,{href:"https://github.com/mongodb-developer/GenAI-Showcase",children:"GenAI Code Examples Repository"})}),"\n",(0,o.jsx)(n.li,{children:(0,o.jsx)(n.a,{href:"https://www.mongodb.com/community/forums/c/generative-ai/162/?utm_campaign=devrel&utm_source=workshop&utm_medium=cta&utm_content=ai_agents_workshop&utm_term=apoorva_joshi",children:"GenAI Community Forums"})}),"\n"]})]})}function c(e={}){const{wrapper:n}={...(0,s.R)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(u,{...e})}):u(e)}},8453:(e,n,t)=>{t.d(n,{R:()=>a,x:()=>i});var o=t(6540);const s={},r=o.createContext(s);function a(e){const n=o.useContext(r);return o.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function i(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:a(e.components),o.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/3b3a475e.c5ac3ce1.js b/assets/js/3b3a475e.c5ac3ce1.js deleted file mode 100644 index 575783a..0000000 --- a/assets/js/3b3a475e.c5ac3ce1.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkai_agents_lab=self.webpackChunkai_agents_lab||[]).push([[161],{5513:(t,e,a)=>{a.r(e),a.d(e,{assets:()=>c,contentTitle:()=>i,default:()=>g,frontMatter:()=>r,metadata:()=>o,toc:()=>d});var n=a(4848),s=a(8453);const r={},i=void 0,o={id:"ai-agents/what-are-ai-agents",title:"what-are-ai-agents",description:"",source:"@site/docs/10-ai-agents/what-are-ai-agents.mdx",sourceDirName:"10-ai-agents",slug:"/ai-agents/what-are-ai-agents",permalink:"/ai-agents-lab/docs/ai-agents/what-are-ai-agents",draft:!1,unlisted:!1,editUrl:"https://github.com/mongodb-developer/ai-agents-lab/blob/main/docs/10-ai-agents/what-are-ai-agents.mdx",tags:[],version:"current",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"\ud83d\udc50 Add memory to agents using MongoDB",permalink:"/ai-agents-lab/docs/adding-memory/adding-memory"},next:{title:"\ud83c\udfaf Summary",permalink:"/ai-agents-lab/docs/summary"}},c={},d=[];function u(t){return(0,n.jsx)(n.Fragment,{})}function g(t={}){const{wrapper:e}={...(0,s.R)(),...t.components};return e?(0,n.jsx)(e,{...t,children:(0,n.jsx)(u,{...t})}):u()}},8453:(t,e,a)=>{a.d(e,{R:()=>i,x:()=>o});var n=a(6540);const s={},r=n.createContext(s);function i(t){const e=n.useContext(r);return n.useMemo((function(){return"function"==typeof t?t(e):{...e,...t}}),[e,t])}function o(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(s):t.components||s:i(t.components),n.createElement(r.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/857863e1.7fb2b5b5.js b/assets/js/857863e1.7fb2b5b5.js new file mode 100644 index 0000000..553c0e8 --- /dev/null +++ b/assets/js/857863e1.7fb2b5b5.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkai_agents_lab=self.webpackChunkai_agents_lab||[]).push([[268],{2733:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>c,contentTitle:()=>i,default:()=>u,frontMatter:()=>a,metadata:()=>r,toc:()=>g});var o=n(4848),s=n(8453);const a={},i="\ud83d\udcd8 Components of AI agents",r={id:"ai-agents/components-of-agents",title:"\ud83d\udcd8 Components of AI agents",description:"",source:"@site/docs/10-ai-agents/3-components-of-agents.mdx",sourceDirName:"10-ai-agents",slug:"/ai-agents/components-of-agents",permalink:"/ai-agents-lab/docs/ai-agents/components-of-agents",draft:!1,unlisted:!1,editUrl:"https://github.com/mongodb-developer/ai-agents-lab/blob/main/docs/10-ai-agents/3-components-of-agents.mdx",tags:[],version:"current",sidebarPosition:3,frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"\ud83d\udcd8 When to use AI agents?",permalink:"/ai-agents-lab/docs/ai-agents/when-to-use-agents"},next:{title:"MongoDB Atlas",permalink:"/ai-agents-lab/docs/category/mongodb-atlas"}},c={},g=[];function l(t){const e={h1:"h1",...(0,s.R)(),...t.components};return(0,o.jsx)(e.h1,{id:"-components-of-ai-agents",children:"\ud83d\udcd8 Components of AI agents"})}function u(t={}){const{wrapper:e}={...(0,s.R)(),...t.components};return e?(0,o.jsx)(e,{...t,children:(0,o.jsx)(l,{...t})}):l(t)}},8453:(t,e,n)=>{n.d(e,{R:()=>i,x:()=>r});var o=n(6540);const s={},a=o.createContext(s);function i(t){const e=o.useContext(a);return o.useMemo((function(){return"function"==typeof t?t(e):{...e,...t}}),[e,t])}function r(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(s):t.components||s:i(t.components),o.createElement(a.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/935f2afb.6fbdb125.js b/assets/js/935f2afb.6fbdb125.js deleted file mode 100644 index e79c04c..0000000 --- a/assets/js/935f2afb.6fbdb125.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkai_agents_lab=self.webpackChunkai_agents_lab||[]).push([[581],{5610:e=>{e.exports=JSON.parse('{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"tutorialSidebar":[{"type":"link","label":"Introduction","href":"/ai-agents-lab/docs/intro","docId":"intro","unlisted":false},{"type":"category","label":"MongoDB Atlas","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"\ud83d\udc50 Create your account","href":"/ai-agents-lab/docs/mongodb-atlas/create-account","docId":"mongodb-atlas/create-account","unlisted":false},{"type":"link","label":"\ud83d\udc50 Deploy a database cluster","href":"/ai-agents-lab/docs/mongodb-atlas/create-cluster","docId":"mongodb-atlas/create-cluster","unlisted":false},{"type":"link","label":"\ud83d\udc50 Get your connection string","href":"/ai-agents-lab/docs/mongodb-atlas/get-connection-string","docId":"mongodb-atlas/get-connection-string","unlisted":false}],"href":"/ai-agents-lab/docs/category/mongodb-atlas"},{"type":"category","label":"Fireworks AI","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"\ud83d\udc50 Create an account","href":"/ai-agents-lab/docs/fireworks-ai/create-account","docId":"fireworks-ai/create-account","unlisted":false},{"type":"link","label":"\ud83d\udc50 Create an API key","href":"/ai-agents-lab/docs/fireworks-ai/create-api-key","docId":"fireworks-ai/create-api-key","unlisted":false}],"href":"/ai-agents-lab/docs/category/fireworks-ai"},{"type":"category","label":"Dev Environment","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"\ud83d\udc50 Setup dev environment","href":"/ai-agents-lab/docs/dev-env/dev-setup","docId":"dev-env/dev-setup","unlisted":false},{"type":"link","label":"\ud83d\udc50 Setup pre-requisites","href":"/ai-agents-lab/docs/dev-env/setup-pre-reqs","docId":"dev-env/setup-pre-reqs","unlisted":false}],"href":"/ai-agents-lab/docs/category/dev-environment"},{"type":"category","label":"Create Agent Tools","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"\ud83d\udc50 Create the agent\'s knowledge base","href":"/ai-agents-lab/docs/agent-tools/knowledge-base","docId":"agent-tools/knowledge-base","unlisted":false},{"type":"link","label":"\ud83d\udc50 Create a vector search index","href":"/ai-agents-lab/docs/agent-tools/create-vector-search-index","docId":"agent-tools/create-vector-search-index","unlisted":false},{"type":"link","label":"\ud83d\udc50 Instantiate chat completion LLM","href":"/ai-agents-lab/docs/agent-tools/chat-completion-llm","docId":"agent-tools/chat-completion-llm","unlisted":false},{"type":"link","label":"\ud83d\udc50 Create agent tools","href":"/ai-agents-lab/docs/agent-tools/create-agent-tools","docId":"agent-tools/create-agent-tools","unlisted":false}],"href":"/ai-agents-lab/docs/category/create-agent-tools"},{"type":"category","label":"Create Agents","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"\ud83d\udc50 Create a basic tool-calling agent","href":"/ai-agents-lab/docs/create-agents/tool-calling-agent","docId":"create-agents/tool-calling-agent","unlisted":false},{"type":"link","label":"\ud83d\udc50 Create a ReAct agent","href":"/ai-agents-lab/docs/create-agents/react-agent","docId":"create-agents/react-agent","unlisted":false},{"type":"link","label":"\ud83e\uddb8 Chain of Thought (CoT) prompting","href":"/ai-agents-lab/docs/create-agents/cot-prompting","docId":"create-agents/cot-prompting","unlisted":false},{"type":"link","label":"\ud83e\uddb8 Create a custom agent without using abstractions","href":"/ai-agents-lab/docs/create-agents/agent-without-abstraction","docId":"create-agents/agent-without-abstraction","unlisted":false}],"href":"/ai-agents-lab/docs/category/create-agents"},{"type":"category","label":"Add Memory to Agents","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"\ud83d\udc50 Add memory to agents using MongoDB","href":"/ai-agents-lab/docs/adding-memory/adding-memory","docId":"adding-memory/adding-memory","unlisted":false}],"href":"/ai-agents-lab/docs/category/add-memory-to-agents"},{"type":"category","label":"ai-agents","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"what-are-ai-agents","href":"/ai-agents-lab/docs/ai-agents/what-are-ai-agents","docId":"ai-agents/what-are-ai-agents","unlisted":false}]},{"type":"link","label":"\ud83c\udfaf Summary","href":"/ai-agents-lab/docs/summary","docId":"summary","unlisted":false}]},"docs":{"adding-memory/adding-memory":{"id":"adding-memory/adding-memory","title":"\ud83d\udc50 Add memory to agents using MongoDB","description":"The final step in this lab is to add conversational message history as a form of memory for the agent.","sidebar":"tutorialSidebar"},"agent-tools/chat-completion-llm":{"id":"agent-tools/chat-completion-llm","title":"\ud83d\udc50 Instantiate chat completion LLM","description":"Let\'s instantiate the chat completion LLM to use as the \\"brain\\" of our agent and for any of the tools if required.","sidebar":"tutorialSidebar"},"agent-tools/create-agent-tools":{"id":"agent-tools/create-agent-tools","title":"\ud83d\udc50 Create agent tools","description":"The easiest way to define custom tools for agents in LangChain is using the @tool decorator. The decorator makes tools out of functions by using the function name as the tool name by default, and the function\'s docstring as the tool\'s description.","sidebar":"tutorialSidebar"},"agent-tools/create-vector-search-index":{"id":"agent-tools/create-vector-search-index","title":"\ud83d\udc50 Create a vector search index","description":"To retrieve documents from the knowledge base using vector search, you must configure a vector search index on the knowledge base collection.","sidebar":"tutorialSidebar"},"agent-tools/knowledge-base":{"id":"agent-tools/knowledge-base","title":"\ud83d\udc50 Create the agent\'s knowledge base","description":"One of the tools that the AI research agent has access to is a question-answering tool that retrieves information from a knowledge base (MongoDB collection) and uses it to answer questions. But first, we need to create the knowledge base.","sidebar":"tutorialSidebar"},"ai-agents/what-are-ai-agents":{"id":"ai-agents/what-are-ai-agents","title":"what-are-ai-agents","description":"","sidebar":"tutorialSidebar"},"create-agents/agent-without-abstraction":{"id":"create-agents/agent-without-abstraction","title":"\ud83e\uddb8 Create a custom agent without using abstractions","description":"The createtoolcalling_agent method in LangChain makes it easy to create tool-calling agents by abstracting away the invidual steps involved in creating the agent.","sidebar":"tutorialSidebar"},"create-agents/cot-prompting":{"id":"create-agents/cot-prompting","title":"\ud83e\uddb8 Chain of Thought (CoT) prompting","description":"Try out chain of thought prompting with the basic tool-calling agent.","sidebar":"tutorialSidebar"},"create-agents/react-agent":{"id":"create-agents/react-agent","title":"\ud83d\udc50 Create a ReAct agent","description":"Now let\'s try out an agent that uses ReAct prompting using the createreactagent method in LangChain.","sidebar":"tutorialSidebar"},"create-agents/tool-calling-agent":{"id":"create-agents/tool-calling-agent","title":"\ud83d\udc50 Create a basic tool-calling agent","description":"Let\'s start by creating a basic tool-calling agent using the createtoolcalling_agent method in LangChain.","sidebar":"tutorialSidebar"},"dev-env/dev-setup":{"id":"dev-env/dev-setup","title":"\ud83d\udc50 Setup dev environment","description":"You will be working in a Jupyter Notebook throughout this lab. The easiest and recommended way to run the lab notebook is using Google Colab.","sidebar":"tutorialSidebar"},"dev-env/setup-pre-reqs":{"id":"dev-env/setup-pre-reqs","title":"\ud83d\udc50 Setup pre-requisites","description":"Fill in any ``s and run the cells under the Step 1 Setup pre-requisites sections in the notebook.","sidebar":"tutorialSidebar"},"fireworks-ai/create-account":{"id":"fireworks-ai/create-account","title":"\ud83d\udc50 Create an account","description":"In this lab, we will use FireFunction V1, a free and open-source function calling model from Fireworks AI.","sidebar":"tutorialSidebar"},"fireworks-ai/create-api-key":{"id":"fireworks-ai/create-api-key","title":"\ud83d\udc50 Create an API key","description":"If you just created a new account or want to use an existing API key, skip to the last step to copy the API key.","sidebar":"tutorialSidebar"},"intro":{"id":"intro","title":"Introduction","description":"|Lab goals|Learn the basics of building AI agents|","sidebar":"tutorialSidebar"},"mongodb-atlas/create-account":{"id":"mongodb-atlas/create-account","title":"\ud83d\udc50 Create your account","description":"In this lab, you will learn how to use MongoDB Atlas as a knowledge base as well as a memory provider for AI agents.","sidebar":"tutorialSidebar"},"mongodb-atlas/create-cluster":{"id":"mongodb-atlas/create-cluster","title":"\ud83d\udc50 Deploy a database cluster","description":"Now that you have a MongoDB Atlas account, you can create your first cluster for free.","sidebar":"tutorialSidebar"},"mongodb-atlas/get-connection-string":{"id":"mongodb-atlas/get-connection-string","title":"\ud83d\udc50 Get your connection string","description":"In order to ingest data into your cluster later in the lab, you will need to get the connection string for your cluster.","sidebar":"tutorialSidebar"},"summary":{"id":"summary","title":"\ud83c\udfaf Summary","description":"Congratulations! Following this lab, you have successfully:","sidebar":"tutorialSidebar"}}}')}}]); \ No newline at end of file diff --git a/assets/js/935f2afb.eb975ffa.js b/assets/js/935f2afb.eb975ffa.js new file mode 100644 index 0000000..e8b4faf --- /dev/null +++ b/assets/js/935f2afb.eb975ffa.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkai_agents_lab=self.webpackChunkai_agents_lab||[]).push([[581],{5610:e=>{e.exports=JSON.parse('{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"tutorialSidebar":[{"type":"link","label":"Introduction","href":"/ai-agents-lab/docs/intro","docId":"intro","unlisted":false},{"type":"category","label":"AI Agents","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"\ud83d\udcd8 What are AI agents?","href":"/ai-agents-lab/docs/ai-agents/what-are-ai-agents","docId":"ai-agents/what-are-ai-agents","unlisted":false},{"type":"link","label":"\ud83d\udcd8 When to use AI agents?","href":"/ai-agents-lab/docs/ai-agents/when-to-use-agents","docId":"ai-agents/when-to-use-agents","unlisted":false},{"type":"link","label":"\ud83d\udcd8 Components of AI agents","href":"/ai-agents-lab/docs/ai-agents/components-of-agents","docId":"ai-agents/components-of-agents","unlisted":false}],"href":"/ai-agents-lab/docs/category/ai-agents"},{"type":"category","label":"MongoDB Atlas","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"\ud83d\udc50 Create your account","href":"/ai-agents-lab/docs/mongodb-atlas/create-account","docId":"mongodb-atlas/create-account","unlisted":false},{"type":"link","label":"\ud83d\udc50 Deploy a database cluster","href":"/ai-agents-lab/docs/mongodb-atlas/create-cluster","docId":"mongodb-atlas/create-cluster","unlisted":false},{"type":"link","label":"\ud83d\udc50 Get your connection string","href":"/ai-agents-lab/docs/mongodb-atlas/get-connection-string","docId":"mongodb-atlas/get-connection-string","unlisted":false}],"href":"/ai-agents-lab/docs/category/mongodb-atlas"},{"type":"category","label":"Fireworks AI","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"\ud83d\udc50 Create an account","href":"/ai-agents-lab/docs/fireworks-ai/create-account","docId":"fireworks-ai/create-account","unlisted":false},{"type":"link","label":"\ud83d\udc50 Create an API key","href":"/ai-agents-lab/docs/fireworks-ai/create-api-key","docId":"fireworks-ai/create-api-key","unlisted":false}],"href":"/ai-agents-lab/docs/category/fireworks-ai"},{"type":"category","label":"Dev Environment","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"\ud83d\udc50 Setup dev environment","href":"/ai-agents-lab/docs/dev-env/dev-setup","docId":"dev-env/dev-setup","unlisted":false},{"type":"link","label":"\ud83d\udc50 Setup pre-requisites","href":"/ai-agents-lab/docs/dev-env/setup-pre-reqs","docId":"dev-env/setup-pre-reqs","unlisted":false}],"href":"/ai-agents-lab/docs/category/dev-environment"},{"type":"category","label":"Create Agent Tools","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"\ud83d\udc50 Create the agent\'s knowledge base","href":"/ai-agents-lab/docs/agent-tools/knowledge-base","docId":"agent-tools/knowledge-base","unlisted":false},{"type":"link","label":"\ud83d\udc50 Create a vector search index","href":"/ai-agents-lab/docs/agent-tools/create-vector-search-index","docId":"agent-tools/create-vector-search-index","unlisted":false},{"type":"link","label":"\ud83d\udc50 Instantiate chat completion LLM","href":"/ai-agents-lab/docs/agent-tools/chat-completion-llm","docId":"agent-tools/chat-completion-llm","unlisted":false},{"type":"link","label":"\ud83d\udc50 Create agent tools","href":"/ai-agents-lab/docs/agent-tools/create-agent-tools","docId":"agent-tools/create-agent-tools","unlisted":false}],"href":"/ai-agents-lab/docs/category/create-agent-tools"},{"type":"category","label":"Create Agents","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"\ud83d\udc50 Create a basic tool-calling agent","href":"/ai-agents-lab/docs/create-agents/tool-calling-agent","docId":"create-agents/tool-calling-agent","unlisted":false},{"type":"link","label":"\ud83d\udc50 Create a ReAct agent","href":"/ai-agents-lab/docs/create-agents/react-agent","docId":"create-agents/react-agent","unlisted":false},{"type":"link","label":"\ud83e\uddb8 Chain of Thought (CoT) prompting","href":"/ai-agents-lab/docs/create-agents/cot-prompting","docId":"create-agents/cot-prompting","unlisted":false},{"type":"link","label":"\ud83e\uddb8 Create a custom agent without using abstractions","href":"/ai-agents-lab/docs/create-agents/agent-without-abstraction","docId":"create-agents/agent-without-abstraction","unlisted":false}],"href":"/ai-agents-lab/docs/category/create-agents"},{"type":"category","label":"Add Memory to Agents","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"\ud83d\udc50 Add memory to agents using MongoDB","href":"/ai-agents-lab/docs/adding-memory/adding-memory","docId":"adding-memory/adding-memory","unlisted":false}],"href":"/ai-agents-lab/docs/category/add-memory-to-agents"},{"type":"link","label":"\ud83c\udfaf Summary","href":"/ai-agents-lab/docs/summary","docId":"summary","unlisted":false}]},"docs":{"adding-memory/adding-memory":{"id":"adding-memory/adding-memory","title":"\ud83d\udc50 Add memory to agents using MongoDB","description":"The final step in this lab is to add conversational message history as a form of memory for the agent.","sidebar":"tutorialSidebar"},"agent-tools/chat-completion-llm":{"id":"agent-tools/chat-completion-llm","title":"\ud83d\udc50 Instantiate chat completion LLM","description":"Let\'s instantiate the chat completion LLM to use as the \\"brain\\" of our agent and for any of the tools if required.","sidebar":"tutorialSidebar"},"agent-tools/create-agent-tools":{"id":"agent-tools/create-agent-tools","title":"\ud83d\udc50 Create agent tools","description":"The easiest way to define custom tools for agents in LangChain is using the @tool decorator. The decorator makes tools out of functions by using the function name as the tool name by default, and the function\'s docstring as the tool\'s description.","sidebar":"tutorialSidebar"},"agent-tools/create-vector-search-index":{"id":"agent-tools/create-vector-search-index","title":"\ud83d\udc50 Create a vector search index","description":"To retrieve documents from the knowledge base using vector search, you must configure a vector search index on the knowledge base collection.","sidebar":"tutorialSidebar"},"agent-tools/knowledge-base":{"id":"agent-tools/knowledge-base","title":"\ud83d\udc50 Create the agent\'s knowledge base","description":"One of the tools that the AI research agent has access to is a question-answering tool that retrieves information from a knowledge base (MongoDB collection) and uses it to answer questions. But first, we need to create the knowledge base.","sidebar":"tutorialSidebar"},"ai-agents/components-of-agents":{"id":"ai-agents/components-of-agents","title":"\ud83d\udcd8 Components of AI agents","description":"","sidebar":"tutorialSidebar"},"ai-agents/what-are-ai-agents":{"id":"ai-agents/what-are-ai-agents","title":"\ud83d\udcd8 What are AI agents?","description":"An AI agent is a system that uses an LLM to reason through a problem, create a plan to solve the problem, and execute the plan with the help of a set of tools.","sidebar":"tutorialSidebar"},"ai-agents/when-to-use-agents":{"id":"ai-agents/when-to-use-agents","title":"\ud83d\udcd8 When to use AI agents?","description":"AI agents are best suited for complex, multi-step tasks that require integration of mutiple capabilities, such as question-answering, analysis, task execution etc. to arrive at the final answer or outcome. An active area of research is to have AI agents learn from their past interactions to build personalized and adaptive experiences.","sidebar":"tutorialSidebar"},"create-agents/agent-without-abstraction":{"id":"create-agents/agent-without-abstraction","title":"\ud83e\uddb8 Create a custom agent without using abstractions","description":"The createtoolcalling_agent method in LangChain makes it easy to create tool-calling agents by abstracting away the invidual steps involved in creating the agent.","sidebar":"tutorialSidebar"},"create-agents/cot-prompting":{"id":"create-agents/cot-prompting","title":"\ud83e\uddb8 Chain of Thought (CoT) prompting","description":"Try out chain of thought prompting with the basic tool-calling agent.","sidebar":"tutorialSidebar"},"create-agents/react-agent":{"id":"create-agents/react-agent","title":"\ud83d\udc50 Create a ReAct agent","description":"Now let\'s try out an agent that uses ReAct prompting using the createreactagent method in LangChain.","sidebar":"tutorialSidebar"},"create-agents/tool-calling-agent":{"id":"create-agents/tool-calling-agent","title":"\ud83d\udc50 Create a basic tool-calling agent","description":"Let\'s start by creating a basic tool-calling agent using the createtoolcalling_agent method in LangChain.","sidebar":"tutorialSidebar"},"dev-env/dev-setup":{"id":"dev-env/dev-setup","title":"\ud83d\udc50 Setup dev environment","description":"You will be working in a Jupyter Notebook throughout this lab. The easiest and recommended way to run the lab notebook is using Google Colab.","sidebar":"tutorialSidebar"},"dev-env/setup-pre-reqs":{"id":"dev-env/setup-pre-reqs","title":"\ud83d\udc50 Setup pre-requisites","description":"Fill in any ``s and run the cells under the Step 1 Setup pre-requisites sections in the notebook.","sidebar":"tutorialSidebar"},"fireworks-ai/create-account":{"id":"fireworks-ai/create-account","title":"\ud83d\udc50 Create an account","description":"In this lab, we will use FireFunction V1, a free and open-source function calling model from Fireworks AI.","sidebar":"tutorialSidebar"},"fireworks-ai/create-api-key":{"id":"fireworks-ai/create-api-key","title":"\ud83d\udc50 Create an API key","description":"If you just created a new account or want to use an existing API key, skip to the last step to copy the API key.","sidebar":"tutorialSidebar"},"intro":{"id":"intro","title":"Introduction","description":"|Lab goals|Learn the basics of building AI agents|","sidebar":"tutorialSidebar"},"mongodb-atlas/create-account":{"id":"mongodb-atlas/create-account","title":"\ud83d\udc50 Create your account","description":"In this lab, you will learn how to use MongoDB Atlas as a knowledge base as well as a memory provider for AI agents.","sidebar":"tutorialSidebar"},"mongodb-atlas/create-cluster":{"id":"mongodb-atlas/create-cluster","title":"\ud83d\udc50 Deploy a database cluster","description":"Now that you have a MongoDB Atlas account, you can create your first cluster for free.","sidebar":"tutorialSidebar"},"mongodb-atlas/get-connection-string":{"id":"mongodb-atlas/get-connection-string","title":"\ud83d\udc50 Get your connection string","description":"In order to ingest data into your cluster later in the lab, you will need to get the connection string for your cluster.","sidebar":"tutorialSidebar"},"summary":{"id":"summary","title":"\ud83c\udfaf Summary","description":"Congratulations! Following this lab, you have successfully:","sidebar":"tutorialSidebar"}}}')}}]); \ No newline at end of file diff --git a/assets/js/aa127315.d43768f4.js b/assets/js/aa127315.d43768f4.js new file mode 100644 index 0000000..695c3e7 --- /dev/null +++ b/assets/js/aa127315.d43768f4.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkai_agents_lab=self.webpackChunkai_agents_lab||[]).push([[828],{6010:a=>{a.exports=JSON.parse('{"title":"AI Agents","description":"Learn the basics of AI agents.","slug":"/category/ai-agents","permalink":"/ai-agents-lab/docs/category/ai-agents","navigation":{"previous":{"title":"Introduction","permalink":"/ai-agents-lab/docs/intro"},"next":{"title":"\ud83d\udcd8 What are AI agents?","permalink":"/ai-agents-lab/docs/ai-agents/what-are-ai-agents"}}}')}}]); \ No newline at end of file diff --git a/assets/js/b8bde9c3.ce708b1f.js b/assets/js/b8bde9c3.11771cdf.js similarity index 55% rename from assets/js/b8bde9c3.ce708b1f.js rename to assets/js/b8bde9c3.11771cdf.js index f84c5e3..4cd9114 100644 --- a/assets/js/b8bde9c3.ce708b1f.js +++ b/assets/js/b8bde9c3.11771cdf.js @@ -1 +1 @@ -"use strict";(self.webpackChunkai_agents_lab=self.webpackChunkai_agents_lab||[]).push([[959],{7814:a=>{a.exports=JSON.parse('{"title":"MongoDB Atlas","description":"Create a MongoDB Atlas account and deploy a free cluster.","slug":"/category/mongodb-atlas","permalink":"/ai-agents-lab/docs/category/mongodb-atlas","navigation":{"previous":{"title":"Introduction","permalink":"/ai-agents-lab/docs/intro"},"next":{"title":"\ud83d\udc50 Create your account","permalink":"/ai-agents-lab/docs/mongodb-atlas/create-account"}}}')}}]); \ No newline at end of file +"use strict";(self.webpackChunkai_agents_lab=self.webpackChunkai_agents_lab||[]).push([[959],{7814:a=>{a.exports=JSON.parse('{"title":"MongoDB Atlas","description":"Create a MongoDB Atlas account and deploy a free cluster.","slug":"/category/mongodb-atlas","permalink":"/ai-agents-lab/docs/category/mongodb-atlas","navigation":{"previous":{"title":"\ud83d\udcd8 Components of AI agents","permalink":"/ai-agents-lab/docs/ai-agents/components-of-agents"},"next":{"title":"\ud83d\udc50 Create your account","permalink":"/ai-agents-lab/docs/mongodb-atlas/create-account"}}}')}}]); \ No newline at end of file diff --git a/assets/js/f2089253.5a668365.js b/assets/js/f2089253.5a668365.js deleted file mode 100644 index cd1ca56..0000000 --- a/assets/js/f2089253.5a668365.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkai_agents_lab=self.webpackChunkai_agents_lab||[]).push([[386],{9631:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>d,contentTitle:()=>i,default:()=>m,frontMatter:()=>r,metadata:()=>a,toc:()=>c});var t=s(4848),o=s(8453);const r={},i="\ud83d\udc50 Add memory to agents using MongoDB",a={id:"adding-memory/adding-memory",title:"\ud83d\udc50 Add memory to agents using MongoDB",description:"The final step in this lab is to add conversational message history as a form of memory for the agent.",source:"@site/docs/70-adding-memory/1-adding-memory.mdx",sourceDirName:"70-adding-memory",slug:"/adding-memory/adding-memory",permalink:"/ai-agents-lab/docs/adding-memory/adding-memory",draft:!1,unlisted:!1,editUrl:"https://github.com/mongodb-developer/ai-agents-lab/blob/main/docs/70-adding-memory/1-adding-memory.mdx",tags:[],version:"current",sidebarPosition:1,frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"Add Memory to Agents",permalink:"/ai-agents-lab/docs/category/add-memory-to-agents"},next:{title:"what-are-ai-agents",permalink:"/ai-agents-lab/docs/ai-agents/what-are-ai-agents"}},d={},c=[];function l(e){const n={code:"code",h1:"h1",p:"p",pre:"pre",strong:"strong",...(0,o.R)(),...e.components},{Details:s}=n;return s||function(e,n){throw new Error("Expected "+(n?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}("Details",!0),(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.h1,{id:"-add-memory-to-agents-using-mongodb",children:"\ud83d\udc50 Add memory to agents using MongoDB"}),"\n",(0,t.jsx)(n.p,{children:"The final step in this lab is to add conversational message history as a form of memory for the agent."}),"\n",(0,t.jsx)(n.p,{children:"Message history in this case will be stored in and retrieved from a MongoDB collection."}),"\n",(0,t.jsxs)(n.p,{children:["Fill in any ",(0,t.jsx)(n.code,{children:""}),"s and run the cells under the ",(0,t.jsx)(n.strong,{children:"Step 9: Add memory to agents using MongoDB"})," section in the notebook to add memory to the basic tool calling agent we created previously."]}),"\n",(0,t.jsx)(n.p,{children:"The answers for code blocks in this section are as follows:"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"CODE_BLOCK_19"})}),"\n",(0,t.jsxs)(s,{children:[(0,t.jsx)("summary",{children:"Answer"}),(0,t.jsx)("div",{children:(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-python",children:'return MongoDBChatMessageHistory(\n MONGODB_URI, session_id, database_name=DB_NAME, collection_name="history"\n)\n'})})})]}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"CODE_BLOCK_20"})}),"\n",(0,t.jsxs)(s,{children:[(0,t.jsx)("summary",{children:"Answer"}),(0,t.jsx)("div",{children:(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-python",children:'MessagesPlaceholder("chat_history")\n'})})})]}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"CODE_BLOCK_21"})}),"\n",(0,t.jsxs)(s,{children:[(0,t.jsx)("summary",{children:"Answer"}),(0,t.jsx)("div",{children:(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-python",children:'RunnableWithMessageHistory(\n agent_executor,\n get_message_history,\n input_messages_key="input",\n history_messages_key="chat_history",\n)\n'})})})]}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"CODE_BLOCK_22"})}),"\n",(0,t.jsxs)(s,{children:[(0,t.jsx)("summary",{children:"Answer"}),(0,t.jsx)("div",{children:(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-python",children:'agent_with_chat_history.invoke(\n {"input": "What is the title of the first paper you found?"},\n config={"configurable": {"session_id": "my-session"}},\n)\n'})})})]})]})}function m(e={}){const{wrapper:n}={...(0,o.R)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(l,{...e})}):l(e)}},8453:(e,n,s)=>{s.d(n,{R:()=>i,x:()=>a});var t=s(6540);const o={},r=t.createContext(o);function i(e){const n=t.useContext(r);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:i(e.components),t.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/f2089253.cde29c02.js b/assets/js/f2089253.cde29c02.js new file mode 100644 index 0000000..f8d6cea --- /dev/null +++ b/assets/js/f2089253.cde29c02.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkai_agents_lab=self.webpackChunkai_agents_lab||[]).push([[386],{9631:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>d,contentTitle:()=>i,default:()=>m,frontMatter:()=>r,metadata:()=>a,toc:()=>c});var o=s(4848),t=s(8453);const r={},i="\ud83d\udc50 Add memory to agents using MongoDB",a={id:"adding-memory/adding-memory",title:"\ud83d\udc50 Add memory to agents using MongoDB",description:"The final step in this lab is to add conversational message history as a form of memory for the agent.",source:"@site/docs/70-adding-memory/1-adding-memory.mdx",sourceDirName:"70-adding-memory",slug:"/adding-memory/adding-memory",permalink:"/ai-agents-lab/docs/adding-memory/adding-memory",draft:!1,unlisted:!1,editUrl:"https://github.com/mongodb-developer/ai-agents-lab/blob/main/docs/70-adding-memory/1-adding-memory.mdx",tags:[],version:"current",sidebarPosition:1,frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"Add Memory to Agents",permalink:"/ai-agents-lab/docs/category/add-memory-to-agents"},next:{title:"\ud83c\udfaf Summary",permalink:"/ai-agents-lab/docs/summary"}},d={},c=[];function l(e){const n={code:"code",h1:"h1",p:"p",pre:"pre",strong:"strong",...(0,t.R)(),...e.components},{Details:s}=n;return s||function(e,n){throw new Error("Expected "+(n?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}("Details",!0),(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.h1,{id:"-add-memory-to-agents-using-mongodb",children:"\ud83d\udc50 Add memory to agents using MongoDB"}),"\n",(0,o.jsx)(n.p,{children:"The final step in this lab is to add conversational message history as a form of memory for the agent."}),"\n",(0,o.jsx)(n.p,{children:"Message history in this case will be stored in and retrieved from a MongoDB collection."}),"\n",(0,o.jsxs)(n.p,{children:["Fill in any ",(0,o.jsx)(n.code,{children:""}),"s and run the cells under the ",(0,o.jsx)(n.strong,{children:"Step 9: Add memory to agents using MongoDB"})," section in the notebook to add memory to the basic tool calling agent we created previously."]}),"\n",(0,o.jsx)(n.p,{children:"The answers for code blocks in this section are as follows:"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"CODE_BLOCK_19"})}),"\n",(0,o.jsxs)(s,{children:[(0,o.jsx)("summary",{children:"Answer"}),(0,o.jsx)("div",{children:(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-python",children:'return MongoDBChatMessageHistory(\n MONGODB_URI, session_id, database_name=DB_NAME, collection_name="history"\n)\n'})})})]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"CODE_BLOCK_20"})}),"\n",(0,o.jsxs)(s,{children:[(0,o.jsx)("summary",{children:"Answer"}),(0,o.jsx)("div",{children:(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-python",children:'MessagesPlaceholder("chat_history")\n'})})})]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"CODE_BLOCK_21"})}),"\n",(0,o.jsxs)(s,{children:[(0,o.jsx)("summary",{children:"Answer"}),(0,o.jsx)("div",{children:(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-python",children:'RunnableWithMessageHistory(\n agent_executor,\n get_message_history,\n input_messages_key="input",\n history_messages_key="chat_history",\n)\n'})})})]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"CODE_BLOCK_22"})}),"\n",(0,o.jsxs)(s,{children:[(0,o.jsx)("summary",{children:"Answer"}),(0,o.jsx)("div",{children:(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-python",children:'agent_with_chat_history.invoke(\n {"input": "What is the title of the first paper you found?"},\n config={"configurable": {"session_id": "my-session"}},\n)\n'})})})]})]})}function m(e={}){const{wrapper:n}={...(0,t.R)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(l,{...e})}):l(e)}},8453:(e,n,s)=>{s.d(n,{R:()=>i,x:()=>a});var o=s(6540);const t={},r=o.createContext(t);function i(e){const n=o.useContext(r);return o.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:i(e.components),o.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/f8409a7e.a1abe352.js b/assets/js/f8409a7e.a1abe352.js deleted file mode 100644 index 61565ce..0000000 --- a/assets/js/f8409a7e.a1abe352.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkai_agents_lab=self.webpackChunkai_agents_lab||[]).push([[903],{3551:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>d,contentTitle:()=>r,default:()=>h,frontMatter:()=>l,metadata:()=>o,toc:()=>a});var s=n(4848),i=n(8453);n(6540),n(1062);const l={sidebar_position:0},r="Introduction",o={id:"intro",title:"Introduction",description:"|Lab goals|Learn the basics of building AI agents|",source:"@site/docs/intro.mdx",sourceDirName:".",slug:"/intro",permalink:"/ai-agents-lab/docs/intro",draft:!1,unlisted:!1,editUrl:"https://github.com/mongodb-developer/ai-agents-lab/blob/main/docs/intro.mdx",tags:[],version:"current",sidebarPosition:0,frontMatter:{sidebar_position:0},sidebar:"tutorialSidebar",next:{title:"MongoDB Atlas",permalink:"/ai-agents-lab/docs/category/mongodb-atlas"}},d={},a=[];function c(t){const e={a:"a",h1:"h1",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,i.R)(),...t.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(e.h1,{id:"introduction",children:"Introduction"}),"\n","\n","\n",(0,s.jsxs)(e.table,{children:[(0,s.jsx)(e.thead,{children:(0,s.jsxs)(e.tr,{children:[(0,s.jsx)(e.th,{style:{textAlign:"left"},children:"Lab goals"}),(0,s.jsx)(e.th,{style:{textAlign:"left"},children:"Learn the basics of building AI agents"})]})}),(0,s.jsxs)(e.tbody,{children:[(0,s.jsxs)(e.tr,{children:[(0,s.jsx)(e.td,{style:{textAlign:"left"},children:"What you'll learn"}),(0,s.jsx)(e.td,{style:{textAlign:"left"},children:"What are AI agents"})]}),(0,s.jsxs)(e.tr,{children:[(0,s.jsx)(e.td,{style:{textAlign:"left"}}),(0,s.jsx)(e.td,{style:{textAlign:"left"},children:"When to use AI agents?"})]}),(0,s.jsxs)(e.tr,{children:[(0,s.jsx)(e.td,{style:{textAlign:"left"}}),(0,s.jsx)(e.td,{style:{textAlign:"left"},children:"Components of an AI agent"})]}),(0,s.jsxs)(e.tr,{children:[(0,s.jsx)(e.td,{style:{textAlign:"left"}}),(0,s.jsx)(e.td,{style:{textAlign:"left"},children:"Building basic tool-calling agents"})]}),(0,s.jsxs)(e.tr,{children:[(0,s.jsx)(e.td,{style:{textAlign:"left"}}),(0,s.jsx)(e.td,{style:{textAlign:"left"},children:"Different reasoning techniques for agents"})]}),(0,s.jsxs)(e.tr,{children:[(0,s.jsx)(e.td,{style:{textAlign:"left"}}),(0,s.jsx)(e.td,{style:{textAlign:"left"},children:"Adding memory to agents"})]}),(0,s.jsxs)(e.tr,{children:[(0,s.jsx)(e.td,{style:{textAlign:"left"},children:"Time to complete"}),(0,s.jsx)(e.td,{style:{textAlign:"left"},children:"90 mins"})]})]})]}),"\n",(0,s.jsxs)(e.p,{children:[(0,s.jsx)(e.strong,{children:"NOTE:"})," For this lab, we assume that you have a laptop with the latest version of ",(0,s.jsx)(e.a,{href:"https://www.python.org/downloads/",children:"Python"})," installed."]}),"\n",(0,s.jsx)(e.p,{children:"In the navigation bar and in some pages, you will notice some icons. Here is their meaning:"}),"\n",(0,s.jsxs)(e.table,{children:[(0,s.jsx)(e.thead,{children:(0,s.jsxs)(e.tr,{children:[(0,s.jsx)(e.th,{children:"Icon"}),(0,s.jsx)(e.th,{children:"Meaning"}),(0,s.jsx)(e.th,{children:"Description"})]})}),(0,s.jsxs)(e.tbody,{children:[(0,s.jsxs)(e.tr,{children:[(0,s.jsx)(e.td,{children:"\ud83d\udcd8"}),(0,s.jsx)(e.td,{children:"Lecture material"}),(0,s.jsx)(e.td,{children:"If you are following along in an instructor-led session, they probably have covered this already."})]}),(0,s.jsxs)(e.tr,{children:[(0,s.jsx)(e.td,{children:"\ud83d\udc50"}),(0,s.jsx)(e.td,{children:"Hands-on content"}),(0,s.jsx)(e.td,{children:"Get ready to do some hands-on work. You should follow these steps."})]}),(0,s.jsxs)(e.tr,{children:[(0,s.jsx)(e.td,{children:"\ud83d\udcda"}),(0,s.jsx)(e.td,{children:"Documentation"}),(0,s.jsx)(e.td,{children:"Reference documentation for hands-on portions of the lab."})]}),(0,s.jsxs)(e.tr,{children:[(0,s.jsx)(e.td,{children:"\ud83e\uddb8"}),(0,s.jsx)(e.td,{children:"Advanced content"}),(0,s.jsx)(e.td,{children:"This content isn't covered during the lab, but if you're interested in learning more, you can check it out."})]})]})]})]})}function h(t={}){const{wrapper:e}={...(0,i.R)(),...t.components};return e?(0,s.jsx)(e,{...t,children:(0,s.jsx)(c,{...t})}):c(t)}},8453:(t,e,n)=>{n.d(e,{R:()=>r,x:()=>o});var s=n(6540);const i={},l=s.createContext(i);function r(t){const e=s.useContext(l);return s.useMemo((function(){return"function"==typeof t?t(e):{...e,...t}}),[e,t])}function o(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(i):t.components||i:r(t.components),s.createElement(l.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/f8409a7e.dd3b6906.js b/assets/js/f8409a7e.dd3b6906.js new file mode 100644 index 0000000..31307c1 --- /dev/null +++ b/assets/js/f8409a7e.dd3b6906.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkai_agents_lab=self.webpackChunkai_agents_lab||[]).push([[903],{3551:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>d,contentTitle:()=>r,default:()=>h,frontMatter:()=>l,metadata:()=>o,toc:()=>a});var s=n(4848),i=n(8453);n(6540),n(1062);const l={sidebar_position:0},r="Introduction",o={id:"intro",title:"Introduction",description:"|Lab goals|Learn the basics of building AI agents|",source:"@site/docs/intro.mdx",sourceDirName:".",slug:"/intro",permalink:"/ai-agents-lab/docs/intro",draft:!1,unlisted:!1,editUrl:"https://github.com/mongodb-developer/ai-agents-lab/blob/main/docs/intro.mdx",tags:[],version:"current",sidebarPosition:0,frontMatter:{sidebar_position:0},sidebar:"tutorialSidebar",next:{title:"AI Agents",permalink:"/ai-agents-lab/docs/category/ai-agents"}},d={},a=[];function c(t){const e={a:"a",h1:"h1",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,i.R)(),...t.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(e.h1,{id:"introduction",children:"Introduction"}),"\n","\n","\n",(0,s.jsxs)(e.table,{children:[(0,s.jsx)(e.thead,{children:(0,s.jsxs)(e.tr,{children:[(0,s.jsx)(e.th,{style:{textAlign:"left"},children:"Lab goals"}),(0,s.jsx)(e.th,{style:{textAlign:"left"},children:"Learn the basics of building AI agents"})]})}),(0,s.jsxs)(e.tbody,{children:[(0,s.jsxs)(e.tr,{children:[(0,s.jsx)(e.td,{style:{textAlign:"left"},children:"What you'll learn"}),(0,s.jsx)(e.td,{style:{textAlign:"left"},children:"What are AI agents"})]}),(0,s.jsxs)(e.tr,{children:[(0,s.jsx)(e.td,{style:{textAlign:"left"}}),(0,s.jsx)(e.td,{style:{textAlign:"left"},children:"When to use AI agents?"})]}),(0,s.jsxs)(e.tr,{children:[(0,s.jsx)(e.td,{style:{textAlign:"left"}}),(0,s.jsx)(e.td,{style:{textAlign:"left"},children:"Components of an AI agent"})]}),(0,s.jsxs)(e.tr,{children:[(0,s.jsx)(e.td,{style:{textAlign:"left"}}),(0,s.jsx)(e.td,{style:{textAlign:"left"},children:"Building basic tool-calling agents"})]}),(0,s.jsxs)(e.tr,{children:[(0,s.jsx)(e.td,{style:{textAlign:"left"}}),(0,s.jsx)(e.td,{style:{textAlign:"left"},children:"Different reasoning techniques for agents"})]}),(0,s.jsxs)(e.tr,{children:[(0,s.jsx)(e.td,{style:{textAlign:"left"}}),(0,s.jsx)(e.td,{style:{textAlign:"left"},children:"Adding memory to agents"})]}),(0,s.jsxs)(e.tr,{children:[(0,s.jsx)(e.td,{style:{textAlign:"left"},children:"Time to complete"}),(0,s.jsx)(e.td,{style:{textAlign:"left"},children:"90 mins"})]})]})]}),"\n",(0,s.jsxs)(e.p,{children:[(0,s.jsx)(e.strong,{children:"NOTE:"})," For this lab, we assume that you have a laptop with the latest version of ",(0,s.jsx)(e.a,{href:"https://www.python.org/downloads/",children:"Python"})," installed."]}),"\n",(0,s.jsx)(e.p,{children:"In the navigation bar and in some pages, you will notice some icons. Here is their meaning:"}),"\n",(0,s.jsxs)(e.table,{children:[(0,s.jsx)(e.thead,{children:(0,s.jsxs)(e.tr,{children:[(0,s.jsx)(e.th,{children:"Icon"}),(0,s.jsx)(e.th,{children:"Meaning"}),(0,s.jsx)(e.th,{children:"Description"})]})}),(0,s.jsxs)(e.tbody,{children:[(0,s.jsxs)(e.tr,{children:[(0,s.jsx)(e.td,{children:"\ud83d\udcd8"}),(0,s.jsx)(e.td,{children:"Lecture material"}),(0,s.jsx)(e.td,{children:"If you are following along in an instructor-led session, they probably have covered this already."})]}),(0,s.jsxs)(e.tr,{children:[(0,s.jsx)(e.td,{children:"\ud83d\udc50"}),(0,s.jsx)(e.td,{children:"Hands-on content"}),(0,s.jsx)(e.td,{children:"Get ready to do some hands-on work. You should follow these steps."})]}),(0,s.jsxs)(e.tr,{children:[(0,s.jsx)(e.td,{children:"\ud83d\udcda"}),(0,s.jsx)(e.td,{children:"Documentation"}),(0,s.jsx)(e.td,{children:"Reference documentation for hands-on portions of the lab."})]}),(0,s.jsxs)(e.tr,{children:[(0,s.jsx)(e.td,{children:"\ud83e\uddb8"}),(0,s.jsx)(e.td,{children:"Advanced content"}),(0,s.jsx)(e.td,{children:"This content isn't covered during the lab, but if you're interested in learning more, you can check it out."})]})]})]})]})}function h(t={}){const{wrapper:e}={...(0,i.R)(),...t.components};return e?(0,s.jsx)(e,{...t,children:(0,s.jsx)(c,{...t})}):c(t)}},8453:(t,e,n)=>{n.d(e,{R:()=>r,x:()=>o});var s=n(6540);const i={},l=s.createContext(i);function r(t){const e=s.useContext(l);return s.useMemo((function(){return"function"==typeof t?t(e):{...e,...t}}),[e,t])}function o(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(i):t.components||i:r(t.components),s.createElement(l.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/main.8e9dbc22.js b/assets/js/main.8e9dbc22.js new file mode 100644 index 0000000..aba5a21 --- /dev/null +++ b/assets/js/main.8e9dbc22.js @@ -0,0 +1,2 @@ +/*! For license information please see main.8e9dbc22.js.LICENSE.txt */ +(self.webpackChunkai_agents_lab=self.webpackChunkai_agents_lab||[]).push([[792],{2413:(e,t,n)=>{"use strict";n.d(t,{A:()=>f});n(6540);var r=n(3259),o=n.n(r),a=n(4054);const i={"01e97e83":[()=>n.e(551).then(n.t.bind(n,6586,19)),"~docs/default/category-ai-agents-labdocs-tutorialsidebar-category-create-agents-769.json",6586],"0c1fdb82":[()=>n.e(237).then(n.bind(n,6056)),"@site/docs/10-ai-agents/2-when-to-use-agents.mdx",6056],"11ac032c":[()=>n.e(887).then(n.t.bind(n,4977,19)),"~docs/default/category-ai-agents-labdocs-tutorialsidebar-category-dev-environment-ded.json",4977],"14eb3368":[()=>Promise.all([n.e(869),n.e(969)]).then(n.bind(n,3533)),"@theme/DocCategoryGeneratedIndexPage",3533],17896441:[()=>Promise.all([n.e(869),n.e(904),n.e(401)]).then(n.bind(n,2010)),"@theme/DocItem",2010],"1d2dd7b7":[()=>n.e(748).then(n.bind(n,8713)),"@site/docs/50-agent-tools/3-chat-completion-llm.mdx",8713],"2b4c7ea6":[()=>n.e(893).then(n.bind(n,8035)),"@site/docs/10-ai-agents/1-what-are-ai-agents.mdx",8035],"36087ecf":[()=>n.e(787).then(n.bind(n,3018)),"@site/docs/60-create-agents/3-cot-prompting.mdx",3018],"36c22dfc":[()=>Promise.all([n.e(869),n.e(988)]).then(n.bind(n,9711)),"@site/docs/20-mongodb-atlas/3-get-connection-string.mdx",9711],"377aefcd":[()=>n.e(433).then(n.t.bind(n,2679,19)),"~docs/default/category-ai-agents-labdocs-tutorialsidebar-category-add-memory-to-agents-998.json",2679],"3aaaf183":[()=>n.e(93).then(n.bind(n,5258)),"@site/docs/summary.mdx",5258],"4bb5da4f":[()=>n.e(681).then(n.bind(n,3629)),"@site/docs/50-agent-tools/2-create-vector-search-index.mdx",3629],"4dec7580":[()=>Promise.all([n.e(869),n.e(679)]).then(n.bind(n,1303)),"@site/docs/50-agent-tools/4-create-agent-tools.mdx",1303],"5e95c892":[()=>n.e(647).then(n.bind(n,3124)),"@theme/DocsRoot",3124],"5e9f5e1a":[()=>Promise.resolve().then(n.bind(n,4784)),"@generated/docusaurus.config",4784],"6bb24948":[()=>Promise.all([n.e(869),n.e(730)]).then(n.bind(n,2936)),"@site/docs/40-dev-env/1-dev-setup.mdx",2936],"72d756b8":[()=>n.e(256).then(n.bind(n,7421)),"@site/src/pages/helloWorld.js",7421],"857863e1":[()=>n.e(268).then(n.bind(n,2733)),"@site/docs/10-ai-agents/3-components-of-agents.mdx",2733],"8be1a27a":[()=>Promise.all([n.e(869),n.e(262)]).then(n.bind(n,408)),"@site/docs/30-fireworks-ai/1-create-account.mdx",408],"935f2afb":[()=>n.e(581).then(n.t.bind(n,5610,19)),"~docs/default/version-current-metadata-prop-751.json",5610],"95b2230c":[()=>n.e(779).then(n.t.bind(n,8846,19)),"~docs/default/category-ai-agents-labdocs-tutorialsidebar-category-fireworks-ai-cc4.json",8846],"9cdd8666":[()=>n.e(257).then(n.bind(n,6329)),"@site/docs/60-create-agents/4-agent-without-abstraction.mdx",6329],"9d19c0f8":[()=>n.e(833).then(n.t.bind(n,7310,19)),"~docs/default/category-ai-agents-labdocs-tutorialsidebar-category-create-agent-tools-c95.json",7310],a1f4120d:[()=>n.e(962).then(n.bind(n,3493)),"@site/docs/60-create-agents/2-react-agent.mdx",3493],a7bd4aaa:[()=>n.e(98).then(n.bind(n,2881)),"@theme/DocVersionRoot",2881],a94703ab:[()=>Promise.all([n.e(869),n.e(48)]).then(n.bind(n,4644)),"@theme/DocRoot",4644],aa127315:[()=>n.e(828).then(n.t.bind(n,6010,19)),"~docs/default/category-ai-agents-labdocs-tutorialsidebar-category-ai-agents-a1d.json",6010],ade674ed:[()=>Promise.all([n.e(869),n.e(507)]).then(n.bind(n,8022)),"@site/docs/30-fireworks-ai/2-create-api-key.mdx",8022],b8bde9c3:[()=>n.e(959).then(n.t.bind(n,7814,19)),"~docs/default/category-ai-agents-labdocs-tutorialsidebar-category-mongodb-atlas-89d.json",7814],c4f5d8e4:[()=>Promise.all([n.e(869),n.e(634)]).then(n.bind(n,2047)),"@site/src/pages/index.js",2047],c657e78e:[()=>n.e(377).then(n.bind(n,4140)),"@site/docs/50-agent-tools/1-knowledge-base.mdx",4140],c8620672:[()=>Promise.all([n.e(869),n.e(723)]).then(n.bind(n,8650)),"@site/docs/20-mongodb-atlas/2-create-cluster.mdx",8650],ca2a8f73:[()=>n.e(676).then(n.bind(n,4574)),"@site/docs/60-create-agents/1-tool-calling-agent.mdx",4574],d3782fa0:[()=>n.e(486).then(n.t.bind(n,1966,19)),"/home/runner/work/ai-agents-lab/ai-agents-lab/.docusaurus/docusaurus-plugin-content-docs/default/plugin-route-context-module-100.json",1966],d6501d9d:[()=>n.e(142).then(n.bind(n,4635)),"@site/docs/40-dev-env/2-setup-pre-reqs.mdx",4635],e6ef851e:[()=>Promise.all([n.e(869),n.e(295)]).then(n.bind(n,9092)),"@site/docs/20-mongodb-atlas/1-create-account.mdx",9092],e9d3ae28:[()=>n.e(866).then(n.t.bind(n,4061,19)),"/home/runner/work/ai-agents-lab/ai-agents-lab/.docusaurus/docusaurus-plugin-content-pages/default/plugin-route-context-module-100.json",4061],f2089253:[()=>n.e(386).then(n.bind(n,9631)),"@site/docs/70-adding-memory/1-adding-memory.mdx",9631],f8409a7e:[()=>Promise.all([n.e(869),n.e(903)]).then(n.bind(n,3551)),"@site/docs/intro.mdx",3551]};var l=n(4848);function s(e){let{error:t,retry:n,pastDelay:r}=e;return t?(0,l.jsxs)("div",{style:{textAlign:"center",color:"#fff",backgroundColor:"#fa383e",borderColor:"#fa383e",borderStyle:"solid",borderRadius:"0.25rem",borderWidth:"1px",boxSizing:"border-box",display:"block",padding:"1rem",flex:"0 0 50%",marginLeft:"25%",marginRight:"25%",marginTop:"5rem",maxWidth:"50%",width:"100%"},children:[(0,l.jsx)("p",{children:String(t)}),(0,l.jsx)("div",{children:(0,l.jsx)("button",{type:"button",onClick:n,children:"Retry"})})]}):r?(0,l.jsx)("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",height:"100vh"},children:(0,l.jsx)("svg",{id:"loader",style:{width:128,height:110,position:"absolute",top:"calc(100vh - 64%)"},viewBox:"0 0 45 45",xmlns:"http://www.w3.org/2000/svg",stroke:"#61dafb",children:(0,l.jsxs)("g",{fill:"none",fillRule:"evenodd",transform:"translate(1 1)",strokeWidth:"2",children:[(0,l.jsxs)("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0",children:[(0,l.jsx)("animate",{attributeName:"r",begin:"1.5s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),(0,l.jsx)("animate",{attributeName:"stroke-opacity",begin:"1.5s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),(0,l.jsx)("animate",{attributeName:"stroke-width",begin:"1.5s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})]}),(0,l.jsxs)("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0",children:[(0,l.jsx)("animate",{attributeName:"r",begin:"3s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),(0,l.jsx)("animate",{attributeName:"stroke-opacity",begin:"3s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),(0,l.jsx)("animate",{attributeName:"stroke-width",begin:"3s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})]}),(0,l.jsx)("circle",{cx:"22",cy:"22",r:"8",children:(0,l.jsx)("animate",{attributeName:"r",begin:"0s",dur:"1.5s",values:"6;1;2;3;4;5;6",calcMode:"linear",repeatCount:"indefinite"})})]})})}):null}var u=n(1604),c=n(3363);function d(e,t){if("*"===e)return o()({loading:s,loader:()=>n.e(560).then(n.bind(n,2560)),modules:["@theme/NotFound"],webpack:()=>[2560],render(e,t){const n=e.default;return(0,l.jsx)(c.W,{value:{plugin:{name:"native",id:"default"}},children:(0,l.jsx)(n,{...t})})}});const r=a[`${e}-${t}`],d={},f=[],p=[],m=(0,u.A)(r);return Object.entries(m).forEach((e=>{let[t,n]=e;const r=i[n];r&&(d[t]=r[0],f.push(r[1]),p.push(r[2]))})),o().Map({loading:s,loader:d,modules:f,webpack:()=>p,render(t,n){const o=JSON.parse(JSON.stringify(r));Object.entries(t).forEach((t=>{let[n,r]=t;const a=r.default;if(!a)throw new Error(`The page component at ${e} doesn't have a default export. This makes it impossible to render anything. Consider default-exporting a React component.`);"object"!=typeof a&&"function"!=typeof a||Object.keys(r).filter((e=>"default"!==e)).forEach((e=>{a[e]=r[e]}));let i=o;const l=n.split(".");l.slice(0,-1).forEach((e=>{i=i[e]})),i[l[l.length-1]]=a}));const a=o.__comp;delete o.__comp;const i=o.__context;return delete o.__context,(0,l.jsx)(c.W,{value:i,children:(0,l.jsx)(a,{...o,...n})})}})}const f=[{path:"/ai-agents-lab/helloWorld",component:d("/ai-agents-lab/helloWorld","d44"),exact:!0},{path:"/ai-agents-lab/docs",component:d("/ai-agents-lab/docs","b87"),routes:[{path:"/ai-agents-lab/docs",component:d("/ai-agents-lab/docs","b76"),routes:[{path:"/ai-agents-lab/docs",component:d("/ai-agents-lab/docs","3ca"),routes:[{path:"/ai-agents-lab/docs/adding-memory/adding-memory",component:d("/ai-agents-lab/docs/adding-memory/adding-memory","1eb"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ai-agents-lab/docs/agent-tools/chat-completion-llm",component:d("/ai-agents-lab/docs/agent-tools/chat-completion-llm","175"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ai-agents-lab/docs/agent-tools/create-agent-tools",component:d("/ai-agents-lab/docs/agent-tools/create-agent-tools","25f"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ai-agents-lab/docs/agent-tools/create-vector-search-index",component:d("/ai-agents-lab/docs/agent-tools/create-vector-search-index","ea7"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ai-agents-lab/docs/agent-tools/knowledge-base",component:d("/ai-agents-lab/docs/agent-tools/knowledge-base","ba4"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ai-agents-lab/docs/ai-agents/components-of-agents",component:d("/ai-agents-lab/docs/ai-agents/components-of-agents","656"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ai-agents-lab/docs/ai-agents/what-are-ai-agents",component:d("/ai-agents-lab/docs/ai-agents/what-are-ai-agents","018"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ai-agents-lab/docs/ai-agents/when-to-use-agents",component:d("/ai-agents-lab/docs/ai-agents/when-to-use-agents","306"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ai-agents-lab/docs/category/add-memory-to-agents",component:d("/ai-agents-lab/docs/category/add-memory-to-agents","5c9"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ai-agents-lab/docs/category/ai-agents",component:d("/ai-agents-lab/docs/category/ai-agents","d45"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ai-agents-lab/docs/category/create-agent-tools",component:d("/ai-agents-lab/docs/category/create-agent-tools","578"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ai-agents-lab/docs/category/create-agents",component:d("/ai-agents-lab/docs/category/create-agents","991"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ai-agents-lab/docs/category/dev-environment",component:d("/ai-agents-lab/docs/category/dev-environment","cdc"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ai-agents-lab/docs/category/fireworks-ai",component:d("/ai-agents-lab/docs/category/fireworks-ai","f71"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ai-agents-lab/docs/category/mongodb-atlas",component:d("/ai-agents-lab/docs/category/mongodb-atlas","fb8"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ai-agents-lab/docs/create-agents/agent-without-abstraction",component:d("/ai-agents-lab/docs/create-agents/agent-without-abstraction","50a"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ai-agents-lab/docs/create-agents/cot-prompting",component:d("/ai-agents-lab/docs/create-agents/cot-prompting","352"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ai-agents-lab/docs/create-agents/react-agent",component:d("/ai-agents-lab/docs/create-agents/react-agent","aeb"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ai-agents-lab/docs/create-agents/tool-calling-agent",component:d("/ai-agents-lab/docs/create-agents/tool-calling-agent","adc"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ai-agents-lab/docs/dev-env/dev-setup",component:d("/ai-agents-lab/docs/dev-env/dev-setup","441"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ai-agents-lab/docs/dev-env/setup-pre-reqs",component:d("/ai-agents-lab/docs/dev-env/setup-pre-reqs","e8b"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ai-agents-lab/docs/fireworks-ai/create-account",component:d("/ai-agents-lab/docs/fireworks-ai/create-account","5bb"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ai-agents-lab/docs/fireworks-ai/create-api-key",component:d("/ai-agents-lab/docs/fireworks-ai/create-api-key","7fb"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ai-agents-lab/docs/intro",component:d("/ai-agents-lab/docs/intro","caf"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ai-agents-lab/docs/mongodb-atlas/create-account",component:d("/ai-agents-lab/docs/mongodb-atlas/create-account","144"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ai-agents-lab/docs/mongodb-atlas/create-cluster",component:d("/ai-agents-lab/docs/mongodb-atlas/create-cluster","f0e"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ai-agents-lab/docs/mongodb-atlas/get-connection-string",component:d("/ai-agents-lab/docs/mongodb-atlas/get-connection-string","782"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ai-agents-lab/docs/summary",component:d("/ai-agents-lab/docs/summary","ea9"),exact:!0,sidebar:"tutorialSidebar"}]}]}]},{path:"/ai-agents-lab/",component:d("/ai-agents-lab/","e54"),exact:!0},{path:"*",component:d("*")}]},774:(e,t,n)=>{var r,o;!function(){var a,i,l,s,u,c,d,f,p,m,g,h,y,b,v,w,S,k,x,_,E,O,C,P,j,A,T,I,N,L,R=function(e){var t=new R.Builder;return t.pipeline.add(R.trimmer,R.stopWordFilter,R.stemmer),t.searchPipeline.add(R.stemmer),e.call(t,t),t.build()};R.version="2.3.9",R.utils={},R.utils.warn=(a=this,function(e){a.console&&console.warn&&console.warn(e)}),R.utils.asString=function(e){return null==e?"":e.toString()},R.utils.clone=function(e){if(null==e)return e;for(var t=Object.create(null),n=Object.keys(e),r=0;r0){var s=R.utils.clone(t)||{};s.position=[i,l],s.index=o.length,o.push(new R.Token(n.slice(i,a),s))}i=a+1}}return o},R.tokenizer.separator=/[\s\-]+/,R.Pipeline=function(){this._stack=[]},R.Pipeline.registeredFunctions=Object.create(null),R.Pipeline.registerFunction=function(e,t){t in this.registeredFunctions&&R.utils.warn("Overwriting existing registered function: "+t),e.label=t,R.Pipeline.registeredFunctions[e.label]=e},R.Pipeline.warnIfFunctionNotRegistered=function(e){e.label&&e.label in this.registeredFunctions||R.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",e)},R.Pipeline.load=function(e){var t=new R.Pipeline;return e.forEach((function(e){var n=R.Pipeline.registeredFunctions[e];if(!n)throw new Error("Cannot load unregistered function: "+e);t.add(n)})),t},R.Pipeline.prototype.add=function(){Array.prototype.slice.call(arguments).forEach((function(e){R.Pipeline.warnIfFunctionNotRegistered(e),this._stack.push(e)}),this)},R.Pipeline.prototype.after=function(e,t){R.Pipeline.warnIfFunctionNotRegistered(t);var n=this._stack.indexOf(e);if(-1==n)throw new Error("Cannot find existingFn");n+=1,this._stack.splice(n,0,t)},R.Pipeline.prototype.before=function(e,t){R.Pipeline.warnIfFunctionNotRegistered(t);var n=this._stack.indexOf(e);if(-1==n)throw new Error("Cannot find existingFn");this._stack.splice(n,0,t)},R.Pipeline.prototype.remove=function(e){var t=this._stack.indexOf(e);-1!=t&&this._stack.splice(t,1)},R.Pipeline.prototype.run=function(e){for(var t=this._stack.length,n=0;n1&&(ae&&(n=o),a!=e);)r=n-t,o=t+Math.floor(r/2),a=this.elements[2*o];return a==e||a>e?2*o:al?u+=2:i==l&&(t+=n[s+1]*r[u+1],s+=2,u+=2);return t},R.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},R.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),t=1,n=0;t0){var a,i=o.str.charAt(0);i in o.node.edges?a=o.node.edges[i]:(a=new R.TokenSet,o.node.edges[i]=a),1==o.str.length&&(a.final=!0),r.push({node:a,editsRemaining:o.editsRemaining,str:o.str.slice(1)})}if(0!=o.editsRemaining){if("*"in o.node.edges)var l=o.node.edges["*"];else{l=new R.TokenSet;o.node.edges["*"]=l}if(0==o.str.length&&(l.final=!0),r.push({node:l,editsRemaining:o.editsRemaining-1,str:o.str}),o.str.length>1&&r.push({node:o.node,editsRemaining:o.editsRemaining-1,str:o.str.slice(1)}),1==o.str.length&&(o.node.final=!0),o.str.length>=1){if("*"in o.node.edges)var s=o.node.edges["*"];else{s=new R.TokenSet;o.node.edges["*"]=s}1==o.str.length&&(s.final=!0),r.push({node:s,editsRemaining:o.editsRemaining-1,str:o.str.slice(1)})}if(o.str.length>1){var u,c=o.str.charAt(0),d=o.str.charAt(1);d in o.node.edges?u=o.node.edges[d]:(u=new R.TokenSet,o.node.edges[d]=u),1==o.str.length&&(u.final=!0),r.push({node:u,editsRemaining:o.editsRemaining-1,str:c+o.str.slice(2)})}}}return n},R.TokenSet.fromString=function(e){for(var t=new R.TokenSet,n=t,r=0,o=e.length;r=e;t--){var n=this.uncheckedNodes[t],r=n.child.toString();r in this.minimizedNodes?n.parent.edges[n.char]=this.minimizedNodes[r]:(n.child._str=r,this.minimizedNodes[r]=n.child),this.uncheckedNodes.pop()}},R.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},R.Index.prototype.search=function(e){return this.query((function(t){new R.QueryParser(e,t).parse()}))},R.Index.prototype.query=function(e){for(var t=new R.Query(this.fields),n=Object.create(null),r=Object.create(null),o=Object.create(null),a=Object.create(null),i=Object.create(null),l=0;l1?1:e},R.Builder.prototype.k1=function(e){this._k1=e},R.Builder.prototype.add=function(e,t){var n=e[this._ref],r=Object.keys(this._fields);this._documents[n]=t||{},this.documentCount+=1;for(var o=0;o=this.length)return R.QueryLexer.EOS;var e=this.str.charAt(this.pos);return this.pos+=1,e},R.QueryLexer.prototype.width=function(){return this.pos-this.start},R.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},R.QueryLexer.prototype.backup=function(){this.pos-=1},R.QueryLexer.prototype.acceptDigitRun=function(){var e,t;do{t=(e=this.next()).charCodeAt(0)}while(t>47&&t<58);e!=R.QueryLexer.EOS&&this.backup()},R.QueryLexer.prototype.more=function(){return this.pos1&&(e.backup(),e.emit(R.QueryLexer.TERM)),e.ignore(),e.more())return R.QueryLexer.lexText},R.QueryLexer.lexEditDistance=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(R.QueryLexer.EDIT_DISTANCE),R.QueryLexer.lexText},R.QueryLexer.lexBoost=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(R.QueryLexer.BOOST),R.QueryLexer.lexText},R.QueryLexer.lexEOS=function(e){e.width()>0&&e.emit(R.QueryLexer.TERM)},R.QueryLexer.termSeparator=R.tokenizer.separator,R.QueryLexer.lexText=function(e){for(;;){var t=e.next();if(t==R.QueryLexer.EOS)return R.QueryLexer.lexEOS;if(92!=t.charCodeAt(0)){if(":"==t)return R.QueryLexer.lexField;if("~"==t)return e.backup(),e.width()>0&&e.emit(R.QueryLexer.TERM),R.QueryLexer.lexEditDistance;if("^"==t)return e.backup(),e.width()>0&&e.emit(R.QueryLexer.TERM),R.QueryLexer.lexBoost;if("+"==t&&1===e.width())return e.emit(R.QueryLexer.PRESENCE),R.QueryLexer.lexText;if("-"==t&&1===e.width())return e.emit(R.QueryLexer.PRESENCE),R.QueryLexer.lexText;if(t.match(R.QueryLexer.termSeparator))return R.QueryLexer.lexTerm}else e.escapeCharacter()}},R.QueryParser=function(e,t){this.lexer=new R.QueryLexer(e),this.query=t,this.currentClause={},this.lexemeIdx=0},R.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var e=R.QueryParser.parseClause;e;)e=e(this);return this.query},R.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},R.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},R.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},R.QueryParser.parseClause=function(e){var t=e.peekLexeme();if(null!=t)switch(t.type){case R.QueryLexer.PRESENCE:return R.QueryParser.parsePresence;case R.QueryLexer.FIELD:return R.QueryParser.parseField;case R.QueryLexer.TERM:return R.QueryParser.parseTerm;default:var n="expected either a field or a term, found "+t.type;throw t.str.length>=1&&(n+=" with value '"+t.str+"'"),new R.QueryParseError(n,t.start,t.end)}},R.QueryParser.parsePresence=function(e){var t=e.consumeLexeme();if(null!=t){switch(t.str){case"-":e.currentClause.presence=R.Query.presence.PROHIBITED;break;case"+":e.currentClause.presence=R.Query.presence.REQUIRED;break;default:var n="unrecognised presence operator'"+t.str+"'";throw new R.QueryParseError(n,t.start,t.end)}var r=e.peekLexeme();if(null==r){n="expecting term or field, found nothing";throw new R.QueryParseError(n,t.start,t.end)}switch(r.type){case R.QueryLexer.FIELD:return R.QueryParser.parseField;case R.QueryLexer.TERM:return R.QueryParser.parseTerm;default:n="expecting term or field, found '"+r.type+"'";throw new R.QueryParseError(n,r.start,r.end)}}},R.QueryParser.parseField=function(e){var t=e.consumeLexeme();if(null!=t){if(-1==e.query.allFields.indexOf(t.str)){var n=e.query.allFields.map((function(e){return"'"+e+"'"})).join(", "),r="unrecognised field '"+t.str+"', possible fields: "+n;throw new R.QueryParseError(r,t.start,t.end)}e.currentClause.fields=[t.str];var o=e.peekLexeme();if(null==o){r="expecting term, found nothing";throw new R.QueryParseError(r,t.start,t.end)}if(o.type===R.QueryLexer.TERM)return R.QueryParser.parseTerm;r="expecting term, found '"+o.type+"'";throw new R.QueryParseError(r,o.start,o.end)}},R.QueryParser.parseTerm=function(e){var t=e.consumeLexeme();if(null!=t){e.currentClause.term=t.str.toLowerCase(),-1!=t.str.indexOf("*")&&(e.currentClause.usePipeline=!1);var n=e.peekLexeme();if(null!=n)switch(n.type){case R.QueryLexer.TERM:return e.nextClause(),R.QueryParser.parseTerm;case R.QueryLexer.FIELD:return e.nextClause(),R.QueryParser.parseField;case R.QueryLexer.EDIT_DISTANCE:return R.QueryParser.parseEditDistance;case R.QueryLexer.BOOST:return R.QueryParser.parseBoost;case R.QueryLexer.PRESENCE:return e.nextClause(),R.QueryParser.parsePresence;default:var r="Unexpected lexeme type '"+n.type+"'";throw new R.QueryParseError(r,n.start,n.end)}else e.nextClause()}},R.QueryParser.parseEditDistance=function(e){var t=e.consumeLexeme();if(null!=t){var n=parseInt(t.str,10);if(isNaN(n)){var r="edit distance must be numeric";throw new R.QueryParseError(r,t.start,t.end)}e.currentClause.editDistance=n;var o=e.peekLexeme();if(null!=o)switch(o.type){case R.QueryLexer.TERM:return e.nextClause(),R.QueryParser.parseTerm;case R.QueryLexer.FIELD:return e.nextClause(),R.QueryParser.parseField;case R.QueryLexer.EDIT_DISTANCE:return R.QueryParser.parseEditDistance;case R.QueryLexer.BOOST:return R.QueryParser.parseBoost;case R.QueryLexer.PRESENCE:return e.nextClause(),R.QueryParser.parsePresence;default:r="Unexpected lexeme type '"+o.type+"'";throw new R.QueryParseError(r,o.start,o.end)}else e.nextClause()}},R.QueryParser.parseBoost=function(e){var t=e.consumeLexeme();if(null!=t){var n=parseInt(t.str,10);if(isNaN(n)){var r="boost must be numeric";throw new R.QueryParseError(r,t.start,t.end)}e.currentClause.boost=n;var o=e.peekLexeme();if(null!=o)switch(o.type){case R.QueryLexer.TERM:return e.nextClause(),R.QueryParser.parseTerm;case R.QueryLexer.FIELD:return e.nextClause(),R.QueryParser.parseField;case R.QueryLexer.EDIT_DISTANCE:return R.QueryParser.parseEditDistance;case R.QueryLexer.BOOST:return R.QueryParser.parseBoost;case R.QueryLexer.PRESENCE:return e.nextClause(),R.QueryParser.parsePresence;default:r="Unexpected lexeme type '"+o.type+"'";throw new R.QueryParseError(r,o.start,o.end)}else e.nextClause()}},void 0===(o="function"==typeof(r=function(){return R})?r.call(t,n,t,e):r)||(e.exports=o)}()},8848:(e,t,n)=>{"use strict";n.d(t,{o:()=>a,x:()=>i});var r=n(6540),o=n(4848);const a=r.createContext(!1);function i(e){let{children:t}=e;const[n,i]=(0,r.useState)(!1);return(0,r.useEffect)((()=>{i(!0)}),[]),(0,o.jsx)(a.Provider,{value:n,children:t})}},5022:(e,t,n)=>{"use strict";var r=n(6540),o=n(5338),a=n(4625),i=n(545),l=n(1712);const s=[n(9128),n(5300),n(4753),n(5729),n(8252)];var u=n(2413),c=n(6347),d=n(2831),f=n(4848);function p(e){let{children:t}=e;return(0,f.jsx)(f.Fragment,{children:t})}var m=n(1141),g=n(7639),h=n(8180),y=n(6957),b=n(9817),v=n(2098),w=n(9503),S=n(1482),k=n(4609),x=n(1210);function _(){const{i18n:{currentLocale:e,defaultLocale:t,localeConfigs:n}}=(0,g.A)(),r=(0,v.o)(),o=n[e].htmlLang,a=e=>e.replace("-","_");return(0,f.jsxs)(m.A,{children:[Object.entries(n).map((e=>{let[t,{htmlLang:n}]=e;return(0,f.jsx)("link",{rel:"alternate",href:r.createUrl({locale:t,fullyQualified:!0}),hrefLang:n},t)})),(0,f.jsx)("link",{rel:"alternate",href:r.createUrl({locale:t,fullyQualified:!0}),hrefLang:"x-default"}),(0,f.jsx)("meta",{property:"og:locale",content:a(o)}),Object.values(n).filter((e=>o!==e.htmlLang)).map((e=>(0,f.jsx)("meta",{property:"og:locale:alternate",content:a(e.htmlLang)},`meta-og-${e.htmlLang}`)))]})}function E(e){let{permalink:t}=e;const{siteConfig:{url:n}}=(0,g.A)(),r=function(){const{siteConfig:{url:e,baseUrl:t,trailingSlash:n}}=(0,g.A)(),{pathname:r}=(0,c.zy)();return e+(0,k.applyTrailingSlash)((0,h.A)(r),{trailingSlash:n,baseUrl:t})}(),o=t?`${n}${t}`:r;return(0,f.jsxs)(m.A,{children:[(0,f.jsx)("meta",{property:"og:url",content:o}),(0,f.jsx)("link",{rel:"canonical",href:o})]})}function O(){const{i18n:{currentLocale:e}}=(0,g.A)(),{metadata:t,image:n}=(0,y.p)();return(0,f.jsxs)(f.Fragment,{children:[(0,f.jsxs)(m.A,{children:[(0,f.jsx)("meta",{name:"twitter:card",content:"summary_large_image"}),(0,f.jsx)("body",{className:w.w})]}),n&&(0,f.jsx)(b.be,{image:n}),(0,f.jsx)(E,{}),(0,f.jsx)(_,{}),(0,f.jsx)(x.A,{tag:S.Cy,locale:e}),(0,f.jsx)(m.A,{children:t.map(((e,t)=>(0,f.jsx)("meta",{...e},t)))})]})}const C=new Map;function P(e){if(C.has(e.pathname))return{...e,pathname:C.get(e.pathname)};if((0,d.u)(u.A,e.pathname).some((e=>{let{route:t}=e;return!0===t.exact})))return C.set(e.pathname,e.pathname),e;const t=e.pathname.trim().replace(/(?:\/index)?\.html$/,"")||"/";return C.set(e.pathname,t),{...e,pathname:t}}var j=n(8848),A=n(3366),T=n(6494);function I(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r{const r=t.default?.[e]??t[e];return r?.(...n)}));return()=>o.forEach((e=>e?.()))}const N=function(e){let{children:t,location:n,previousLocation:r}=e;return(0,T.A)((()=>{r!==n&&(!function(e){let{location:t,previousLocation:n}=e;if(!n)return;const r=t.pathname===n.pathname,o=t.hash===n.hash,a=t.search===n.search;if(r&&o&&!a)return;const{hash:i}=t;if(i){const e=decodeURIComponent(i.substring(1)),t=document.getElementById(e);t?.scrollIntoView()}else window.scrollTo(0,0)}({location:n,previousLocation:r}),I("onRouteDidUpdate",{previousLocation:r,location:n}))}),[r,n]),t};function L(e){const t=Array.from(new Set([e,decodeURI(e)])).map((e=>(0,d.u)(u.A,e))).flat();return Promise.all(t.map((e=>e.route.component.preload?.())))}class R extends r.Component{previousLocation;routeUpdateCleanupCb;constructor(e){super(e),this.previousLocation=null,this.routeUpdateCleanupCb=l.A.canUseDOM?I("onRouteUpdate",{previousLocation:null,location:this.props.location}):()=>{},this.state={nextRouteHasLoaded:!0}}shouldComponentUpdate(e,t){if(e.location===this.props.location)return t.nextRouteHasLoaded;const n=e.location;return this.previousLocation=this.props.location,this.setState({nextRouteHasLoaded:!1}),this.routeUpdateCleanupCb=I("onRouteUpdate",{previousLocation:this.previousLocation,location:n}),L(n.pathname).then((()=>{this.routeUpdateCleanupCb(),this.setState({nextRouteHasLoaded:!0})})).catch((e=>{console.warn(e),window.location.reload()})),!1}render(){const{children:e,location:t}=this.props;return(0,f.jsx)(N,{previousLocation:this.previousLocation,location:t,children:(0,f.jsx)(c.qh,{location:t,render:()=>e})})}}const D=R,F="__docusaurus-base-url-issue-banner-container",M="__docusaurus-base-url-issue-banner",B="__docusaurus-base-url-issue-banner-suggestion-container";function z(e){return`\ndocument.addEventListener('DOMContentLoaded', function maybeInsertBanner() {\n var shouldInsert = typeof window['docusaurus'] === 'undefined';\n shouldInsert && insertBanner();\n});\n\nfunction insertBanner() {\n var bannerContainer = document.createElement('div');\n bannerContainer.id = '${F}';\n var bannerHtml = ${JSON.stringify(function(e){return`\n\n`}(e)).replace(/{if("undefined"==typeof document)return void n();const r=document.createElement("link");r.setAttribute("rel","prefetch"),r.setAttribute("href",e),r.onload=()=>t(),r.onerror=()=>n();const o=document.getElementsByTagName("head")[0]??document.getElementsByName("script")[0]?.parentNode;o?.appendChild(r)}))}:function(e){return new Promise(((t,n)=>{const r=new XMLHttpRequest;r.open("GET",e,!0),r.withCredentials=!0,r.onload=()=>{200===r.status?t():n()},r.send(null)}))};var Y=n(1604);const Z=new Set,J=new Set,X=()=>navigator.connection?.effectiveType.includes("2g")||navigator.connection?.saveData,ee={prefetch(e){if(!(e=>!X()&&!J.has(e)&&!Z.has(e))(e))return!1;Z.add(e);const t=(0,d.u)(u.A,e).flatMap((e=>{return t=e.route.path,Object.entries(G).filter((e=>{let[n]=e;return n.replace(/-[^-]+$/,"")===t})).flatMap((e=>{let[,t]=e;return Object.values((0,Y.A)(t))}));var t}));return Promise.all(t.map((e=>{const t=n.gca(e);return t&&!t.includes("undefined")?K(t).catch((()=>{})):Promise.resolve()})))},preload:e=>!!(e=>!X()&&!J.has(e))(e)&&(J.add(e),L(e))},te=Object.freeze(ee),ne=Boolean(!0);if(l.A.canUseDOM){window.docusaurus=te;const e=document.getElementById("__docusaurus"),t=(0,f.jsx)(i.vd,{children:(0,f.jsx)(a.Kd,{children:(0,f.jsx)(q,{})})}),n=(e,t)=>{console.error("Docusaurus React Root onRecoverableError:",e,t)},l=()=>{if(ne)r.startTransition((()=>{o.hydrateRoot(e,t,{onRecoverableError:n})}));else{const a=o.createRoot(e,{onRecoverableError:n});r.startTransition((()=>{a.render(t)}))}};L(window.location.pathname).then(l)}},3366:(e,t,n)=>{"use strict";n.d(t,{o:()=>d,l:()=>f});var r=n(6540),o=n(4784);const a=JSON.parse('{"docusaurus-plugin-google-gtag":{"default":{"trackingID":["G-ZJ28V71VTQ"],"anonymizeIP":true,"id":"default"}},"@cmfcmf/docusaurus-search-local":{"default":{"titleBoost":5,"contentBoost":1,"tagsBoost":3,"parentCategoriesBoost":2,"indexDocSidebarParentCategories":0,"maxSearchResults":8}},"docusaurus-plugin-content-docs":{"default":{"path":"/ai-agents-lab/docs","versions":[{"name":"current","label":"Next","isLast":true,"path":"/ai-agents-lab/docs","mainDocId":"intro","docs":[{"id":"adding-memory/adding-memory","path":"/ai-agents-lab/docs/adding-memory/adding-memory","sidebar":"tutorialSidebar"},{"id":"agent-tools/chat-completion-llm","path":"/ai-agents-lab/docs/agent-tools/chat-completion-llm","sidebar":"tutorialSidebar"},{"id":"agent-tools/create-agent-tools","path":"/ai-agents-lab/docs/agent-tools/create-agent-tools","sidebar":"tutorialSidebar"},{"id":"agent-tools/create-vector-search-index","path":"/ai-agents-lab/docs/agent-tools/create-vector-search-index","sidebar":"tutorialSidebar"},{"id":"agent-tools/knowledge-base","path":"/ai-agents-lab/docs/agent-tools/knowledge-base","sidebar":"tutorialSidebar"},{"id":"ai-agents/components-of-agents","path":"/ai-agents-lab/docs/ai-agents/components-of-agents","sidebar":"tutorialSidebar"},{"id":"ai-agents/what-are-ai-agents","path":"/ai-agents-lab/docs/ai-agents/what-are-ai-agents","sidebar":"tutorialSidebar"},{"id":"ai-agents/when-to-use-agents","path":"/ai-agents-lab/docs/ai-agents/when-to-use-agents","sidebar":"tutorialSidebar"},{"id":"create-agents/agent-without-abstraction","path":"/ai-agents-lab/docs/create-agents/agent-without-abstraction","sidebar":"tutorialSidebar"},{"id":"create-agents/cot-prompting","path":"/ai-agents-lab/docs/create-agents/cot-prompting","sidebar":"tutorialSidebar"},{"id":"create-agents/react-agent","path":"/ai-agents-lab/docs/create-agents/react-agent","sidebar":"tutorialSidebar"},{"id":"create-agents/tool-calling-agent","path":"/ai-agents-lab/docs/create-agents/tool-calling-agent","sidebar":"tutorialSidebar"},{"id":"dev-env/dev-setup","path":"/ai-agents-lab/docs/dev-env/dev-setup","sidebar":"tutorialSidebar"},{"id":"dev-env/setup-pre-reqs","path":"/ai-agents-lab/docs/dev-env/setup-pre-reqs","sidebar":"tutorialSidebar"},{"id":"fireworks-ai/create-account","path":"/ai-agents-lab/docs/fireworks-ai/create-account","sidebar":"tutorialSidebar"},{"id":"fireworks-ai/create-api-key","path":"/ai-agents-lab/docs/fireworks-ai/create-api-key","sidebar":"tutorialSidebar"},{"id":"intro","path":"/ai-agents-lab/docs/intro","sidebar":"tutorialSidebar"},{"id":"mongodb-atlas/create-account","path":"/ai-agents-lab/docs/mongodb-atlas/create-account","sidebar":"tutorialSidebar"},{"id":"mongodb-atlas/create-cluster","path":"/ai-agents-lab/docs/mongodb-atlas/create-cluster","sidebar":"tutorialSidebar"},{"id":"mongodb-atlas/get-connection-string","path":"/ai-agents-lab/docs/mongodb-atlas/get-connection-string","sidebar":"tutorialSidebar"},{"id":"summary","path":"/ai-agents-lab/docs/summary","sidebar":"tutorialSidebar"},{"id":"/category/ai-agents","path":"/ai-agents-lab/docs/category/ai-agents","sidebar":"tutorialSidebar"},{"id":"/category/mongodb-atlas","path":"/ai-agents-lab/docs/category/mongodb-atlas","sidebar":"tutorialSidebar"},{"id":"/category/fireworks-ai","path":"/ai-agents-lab/docs/category/fireworks-ai","sidebar":"tutorialSidebar"},{"id":"/category/dev-environment","path":"/ai-agents-lab/docs/category/dev-environment","sidebar":"tutorialSidebar"},{"id":"/category/create-agent-tools","path":"/ai-agents-lab/docs/category/create-agent-tools","sidebar":"tutorialSidebar"},{"id":"/category/create-agents","path":"/ai-agents-lab/docs/category/create-agents","sidebar":"tutorialSidebar"},{"id":"/category/add-memory-to-agents","path":"/ai-agents-lab/docs/category/add-memory-to-agents","sidebar":"tutorialSidebar"}],"draftIds":[],"sidebars":{"tutorialSidebar":{"link":{"path":"/ai-agents-lab/docs/intro","label":"intro"}}}}],"breadcrumbs":true}}}'),i=JSON.parse('{"defaultLocale":"en","locales":["en"],"path":"i18n","currentLocale":"en","localeConfigs":{"en":{"label":"English","direction":"ltr","htmlLang":"en","calendar":"gregory","path":"en"}}}');var l=n(2654);const s=JSON.parse('{"docusaurusVersion":"3.1.1","siteVersion":"0.0.0","pluginVersions":{"docusaurus-plugin-content-docs":{"type":"package","name":"@docusaurus/plugin-content-docs","version":"3.1.1"},"docusaurus-plugin-content-blog":{"type":"package","name":"@docusaurus/plugin-content-blog","version":"3.1.1"},"docusaurus-plugin-content-pages":{"type":"package","name":"@docusaurus/plugin-content-pages","version":"3.1.1"},"docusaurus-plugin-google-gtag":{"type":"package","name":"@docusaurus/plugin-google-gtag","version":"3.1.1"},"docusaurus-plugin-sitemap":{"type":"package","name":"@docusaurus/plugin-sitemap","version":"3.1.1"},"docusaurus-theme-classic":{"type":"package","name":"@docusaurus/theme-classic","version":"3.1.1"},"@cmfcmf/docusaurus-search-local":{"type":"package","name":"@cmfcmf/docusaurus-search-local","version":"1.2.0"}}}');var u=n(4848);const c={siteConfig:o.default,siteMetadata:s,globalData:a,i18n:i,codeTranslations:l},d=r.createContext(c);function f(e){let{children:t}=e;return(0,u.jsx)(d.Provider,{value:c,children:t})}},3832:(e,t,n)=>{"use strict";n.d(t,{A:()=>p});var r=n(6540),o=n(1712),a=n(1141),i=n(4609),l=n(7685),s=n(4848);function u(e){let{error:t,tryAgain:n}=e;return(0,s.jsxs)("div",{style:{display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"flex-start",minHeight:"100vh",width:"100%",maxWidth:"80ch",fontSize:"20px",margin:"0 auto",padding:"1rem"},children:[(0,s.jsx)("h1",{style:{fontSize:"3rem"},children:"This page crashed"}),(0,s.jsx)("button",{type:"button",onClick:n,style:{margin:"1rem 0",fontSize:"2rem",cursor:"pointer",borderRadius:20,padding:"1rem"},children:"Try again"}),(0,s.jsx)(c,{error:t})]})}function c(e){let{error:t}=e;const n=(0,i.getErrorCausalChain)(t).map((e=>e.message)).join("\n\nCause:\n");return(0,s.jsx)("p",{style:{whiteSpace:"pre-wrap"},children:n})}function d(e){let{error:t,tryAgain:n}=e;return(0,s.jsxs)(p,{fallback:()=>(0,s.jsx)(u,{error:t,tryAgain:n}),children:[(0,s.jsx)(a.A,{children:(0,s.jsx)("title",{children:"Page Error"})}),(0,s.jsx)(l.A,{children:(0,s.jsx)(u,{error:t,tryAgain:n})})]})}const f=e=>(0,s.jsx)(d,{...e});class p extends r.Component{constructor(e){super(e),this.state={error:null}}componentDidCatch(e){o.A.canUseDOM&&this.setState({error:e})}render(){const{children:e}=this.props,{error:t}=this.state;if(t){const e={error:t,tryAgain:()=>this.setState({error:null})};return(this.props.fallback??f)(e)}return e??null}}},1712:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});const r="undefined"!=typeof window&&"document"in window&&"createElement"in window.document,o={canUseDOM:r,canUseEventListeners:r&&("addEventListener"in window||"attachEvent"in window),canUseIntersectionObserver:r&&"IntersectionObserver"in window,canUseViewport:r&&"screen"in window}},1141:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});n(6540);var r=n(545),o=n(4848);function a(e){return(0,o.jsx)(r.mg,{...e})}},4783:(e,t,n)=>{"use strict";n.d(t,{A:()=>p});var r=n(6540),o=n(4625),a=n(4609),i=n(7639),l=n(877),s=n(1712),u=n(7344),c=n(8180),d=n(4848);function f(e,t){let{isNavLink:n,to:f,href:p,activeClassName:m,isActive:g,"data-noBrokenLinkCheck":h,autoAddBaseUrl:y=!0,...b}=e;const{siteConfig:{trailingSlash:v,baseUrl:w}}=(0,i.A)(),{withBaseUrl:S}=(0,c.h)(),k=(0,u.A)(),x=(0,r.useRef)(null);(0,r.useImperativeHandle)(t,(()=>x.current));const _=f||p;const E=(0,l.A)(_),O=_?.replace("pathname://","");let C=void 0!==O?(P=O,y&&(e=>e.startsWith("/"))(P)?S(P):P):void 0;var P;C&&E&&(C=(0,a.applyTrailingSlash)(C,{trailingSlash:v,baseUrl:w}));const j=(0,r.useRef)(!1),A=n?o.k2:o.N_,T=s.A.canUseIntersectionObserver,I=(0,r.useRef)(),N=()=>{j.current||null==C||(window.docusaurus.preload(C),j.current=!0)};(0,r.useEffect)((()=>(!T&&E&&null!=C&&window.docusaurus.prefetch(C),()=>{T&&I.current&&I.current.disconnect()})),[I,C,T,E]);const L=C?.startsWith("#")??!1,R=!b.target||"_self"===b.target,D=!C||!E||!R||L;return h||!L&&D||k.collectLink(C),b.id&&k.collectAnchor(b.id),D?(0,d.jsx)("a",{ref:x,href:C,..._&&!E&&{target:"_blank",rel:"noopener noreferrer"},...b}):(0,d.jsx)(A,{...b,onMouseEnter:N,onTouchStart:N,innerRef:e=>{x.current=e,T&&e&&E&&(I.current=new window.IntersectionObserver((t=>{t.forEach((t=>{e===t.target&&(t.isIntersecting||t.intersectionRatio>0)&&(I.current.unobserve(e),I.current.disconnect(),null!=C&&window.docusaurus.prefetch(C))}))})),I.current.observe(e))},to:C,...n&&{isActive:g,activeClassName:m}})}const p=r.forwardRef(f)},3230:(e,t,n)=>{"use strict";n.d(t,{A:()=>u,T:()=>s});var r=n(6540),o=n(4848);function a(e,t){const n=e.split(/(\{\w+\})/).map(((e,n)=>{if(n%2==1){const n=t?.[e.slice(1,-1)];if(void 0!==n)return n}return e}));return n.some((e=>(0,r.isValidElement)(e)))?n.map(((e,t)=>(0,r.isValidElement)(e)?r.cloneElement(e,{key:t}):e)).filter((e=>""!==e)):n.join("")}var i=n(2654);function l(e){let{id:t,message:n}=e;if(void 0===t&&void 0===n)throw new Error("Docusaurus translation declarations must have at least a translation id or a default translation message");return i[t??n]??n??t}function s(e,t){let{message:n,id:r}=e;return a(l({message:n,id:r}),t)}function u(e){let{children:t,id:n,values:r}=e;if(t&&"string"!=typeof t)throw console.warn("Illegal children",t),new Error("The Docusaurus component only accept simple string values");const i=l({message:t,id:n});return(0,o.jsx)(o.Fragment,{children:a(i,r)})}},4598:(e,t,n)=>{"use strict";n.d(t,{W:()=>r});const r="default"},877:(e,t,n)=>{"use strict";function r(e){return/^(?:\w*:|\/\/)/.test(e)}function o(e){return void 0!==e&&!r(e)}n.d(t,{A:()=>o,z:()=>r})},8180:(e,t,n)=>{"use strict";n.d(t,{A:()=>l,h:()=>i});var r=n(6540),o=n(7639),a=n(877);function i(){const{siteConfig:{baseUrl:e,url:t}}=(0,o.A)(),n=(0,r.useCallback)(((n,r)=>function(e,t,n,r){let{forcePrependBaseUrl:o=!1,absolute:i=!1}=void 0===r?{}:r;if(!n||n.startsWith("#")||(0,a.z)(n))return n;if(o)return t+n.replace(/^\//,"");if(n===t.replace(/\/$/,""))return t;const l=n.startsWith(t)?n:t+n.replace(/^\//,"");return i?e+l:l}(t,e,n,r)),[t,e]);return{withBaseUrl:n}}function l(e,t){void 0===t&&(t={});const{withBaseUrl:n}=i();return n(e,t)}},7344:(e,t,n)=>{"use strict";n.d(t,{A:()=>i});var r=n(6540);n(4848);const o=r.createContext({collectAnchor:()=>{},collectLink:()=>{}}),a=()=>(0,r.useContext)(o);function i(){return a()}},7639:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});var r=n(6540),o=n(3366);function a(){return(0,r.useContext)(o.o)}},6503:(e,t,n)=>{"use strict";n.d(t,{P_:()=>i,kh:()=>a});var r=n(7639),o=n(4598);function a(e,t){void 0===t&&(t={});const n=function(){const{globalData:e}=(0,r.A)();return e}()[e];if(!n&&t.failfast)throw new Error(`Docusaurus plugin global data not found for "${e}" plugin.`);return n}function i(e,t,n){void 0===t&&(t=o.W),void 0===n&&(n={});const r=a(e),i=r?.[t];if(!i&&n.failfast)throw new Error(`Docusaurus plugin global data not found for "${e}" plugin with id "${t}".`);return i}},1062:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});var r=n(6540),o=n(8848);function a(){return(0,r.useContext)(o.o)}},6494:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});var r=n(6540);const o=n(1712).A.canUseDOM?r.useLayoutEffect:r.useEffect},1604:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});const r=e=>"object"==typeof e&&!!e&&Object.keys(e).length>0;function o(e){const t={};return function e(n,o){Object.entries(n).forEach((n=>{let[a,i]=n;const l=o?`${o}.${a}`:a;r(i)?e(i,l):t[l]=i}))}(e),t}},3363:(e,t,n)=>{"use strict";n.d(t,{W:()=>i,o:()=>a});var r=n(6540),o=n(4848);const a=r.createContext(null);function i(e){let{children:t,value:n}=e;const i=r.useContext(a),l=(0,r.useMemo)((()=>function(e){let{parent:t,value:n}=e;if(!t){if(!n)throw new Error("Unexpected: no Docusaurus route context found");if(!("plugin"in n))throw new Error("Unexpected: Docusaurus topmost route context has no `plugin` attribute");return n}const r={...t.data,...n?.data};return{plugin:t.plugin,data:r}}({parent:i,value:n})),[i,n]);return(0,o.jsx)(a.Provider,{value:l,children:t})}},9802:(e,t,n)=>{"use strict";n.d(t,{zK:()=>g,vT:()=>d,gk:()=>f,Gy:()=>u,HW:()=>h,ht:()=>c,r7:()=>m,jh:()=>p});var r=n(6347),o=n(6503);const a=e=>e.versions.find((e=>e.isLast));function i(e,t){const n=a(e);return[...e.versions.filter((e=>e!==n)),n].find((e=>!!(0,r.B6)(t,{path:e.path,exact:!1,strict:!1})))}function l(e,t){const n=i(e,t),o=n?.docs.find((e=>!!(0,r.B6)(t,{path:e.path,exact:!0,strict:!1})));return{activeVersion:n,activeDoc:o,alternateDocVersions:o?function(t){const n={};return e.versions.forEach((e=>{e.docs.forEach((r=>{r.id===t&&(n[e.name]=r)}))})),n}(o.id):{}}}const s={},u=()=>(0,o.kh)("docusaurus-plugin-content-docs")??s,c=e=>(0,o.P_)("docusaurus-plugin-content-docs",e,{failfast:!0});function d(e){void 0===e&&(e={});const t=u(),{pathname:n}=(0,r.zy)();return function(e,t,n){void 0===n&&(n={});const o=Object.entries(e).sort(((e,t)=>t[1].path.localeCompare(e[1].path))).find((e=>{let[,n]=e;return!!(0,r.B6)(t,{path:n.path,exact:!1,strict:!1})})),a=o?{pluginId:o[0],pluginData:o[1]}:void 0;if(!a&&n.failfast)throw new Error(`Can't find active docs plugin for "${t}" pathname, while it was expected to be found. Maybe you tried to use a docs feature that can only be used on a docs-related page? Existing docs plugin paths are: ${Object.values(e).map((e=>e.path)).join(", ")}`);return a}(t,n,e)}function f(e){void 0===e&&(e={});const t=d(e),{pathname:n}=(0,r.zy)();if(!t)return;return{activePlugin:t,activeVersion:i(t.pluginData,n)}}function p(e){return c(e).versions}function m(e){const t=c(e);return a(t)}function g(e){const t=c(e),{pathname:n}=(0,r.zy)();return l(t,n)}function h(e){const t=c(e),{pathname:n}=(0,r.zy)();return function(e,t){const n=a(e);return{latestDocSuggestion:l(e,t).alternateDocVersions[n.name],latestVersionSuggestion:n}}(t,n)}},9128:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>r});const r={onRouteDidUpdate(e){let{location:t,previousLocation:n}=e;!n||t.pathname===n.pathname&&t.search===n.search&&t.hash===n.hash||setTimeout((()=>{window.gtag("set","page_path",t.pathname+t.search+t.hash),window.gtag("event","page_view")}))}}},5729:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>a});var r=n(5947),o=n.n(r);o().configure({showSpinner:!1});const a={onRouteUpdate(e){let{location:t,previousLocation:n}=e;if(n&&t.pathname!==n.pathname){const e=window.setTimeout((()=>{o().start()}),200);return()=>window.clearTimeout(e)}},onRouteDidUpdate(){o().done()}}},4753:(e,t,n)=>{"use strict";n.r(t);var r=n(8181),o=n(4784);!function(e){const{themeConfig:{prism:t}}=o.default,{additionalLanguages:r}=t;globalThis.Prism=e,r.forEach((e=>{"php"===e&&n(9700),n(6719)(`./prism-${e}`)})),delete globalThis.Prism}(r.My)},5225:(e,t,n)=>{"use strict";n.d(t,{A:()=>c});n(6540);var r=n(8215),o=n(3230),a=n(6957),i=n(4783),l=n(7344);const s={anchorWithStickyNavbar:"anchorWithStickyNavbar_LWe7",anchorWithHideOnScrollNavbar:"anchorWithHideOnScrollNavbar_WYt5"};var u=n(4848);function c(e){let{as:t,id:n,...c}=e;const d=(0,l.A)(),{navbar:{hideOnScroll:f}}=(0,a.p)();if("h1"===t||!n)return(0,u.jsx)(t,{...c,id:void 0});d.collectAnchor(n);const p=(0,o.T)({id:"theme.common.headingLinkTitle",message:"Direct link to {heading}",description:"Title for link to heading"},{heading:"string"==typeof c.children?c.children:n});return(0,u.jsxs)(t,{...c,className:(0,r.A)("anchor",f?s.anchorWithHideOnScrollNavbar:s.anchorWithStickyNavbar,c.className),id:n,children:[c.children,(0,u.jsx)(i.A,{className:"hash-link",to:`#${n}`,"aria-label":p,title:p,children:"\u200b"})]})}},716:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});n(6540);const r={iconExternalLink:"iconExternalLink_nPIU"};var o=n(4848);function a(e){let{width:t=13.5,height:n=13.5}=e;return(0,o.jsx)("svg",{width:t,height:n,"aria-hidden":"true",viewBox:"0 0 24 24",className:r.iconExternalLink,children:(0,o.jsx)("path",{fill:"currentColor",d:"M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"})})}},7685:(e,t,n)=>{"use strict";n.d(t,{A:()=>ci});var r=n(6540),o=n(8215),a=n(3832),i=n(9817),l=n(6347),s=n(3230),u=n(4067),c=n(4848);const d="__docusaurus_skipToContent_fallback";function f(e){e.setAttribute("tabindex","-1"),e.focus(),e.removeAttribute("tabindex")}function p(){const e=(0,r.useRef)(null),{action:t}=(0,l.W6)(),n=(0,r.useCallback)((e=>{e.preventDefault();const t=document.querySelector("main:first-of-type")??document.getElementById(d);t&&f(t)}),[]);return(0,u.$)((n=>{let{location:r}=n;e.current&&!r.hash&&"PUSH"===t&&f(e.current)})),{containerRef:e,onClick:n}}const m=(0,s.T)({id:"theme.common.skipToMainContent",description:"The skip to content label used for accessibility, allowing to rapidly navigate to main content with keyboard tab/enter navigation",message:"Skip to main content"});function g(e){const t=e.children??m,{containerRef:n,onClick:r}=p();return(0,c.jsx)("div",{ref:n,role:"region","aria-label":m,children:(0,c.jsx)("a",{...e,href:`#${d}`,onClick:r,children:t})})}var h=n(8630),y=n(9503);const b={skipToContent:"skipToContent_fXgn"};function v(){return(0,c.jsx)(g,{className:b.skipToContent})}var w=n(6957),S=n(2);function k(e){let{width:t=21,height:n=21,color:r="currentColor",strokeWidth:o=1.2,className:a,...i}=e;return(0,c.jsx)("svg",{viewBox:"0 0 15 15",width:t,height:n,...i,children:(0,c.jsx)("g",{stroke:r,strokeWidth:o,children:(0,c.jsx)("path",{d:"M.75.75l13.5 13.5M14.25.75L.75 14.25"})})})}const x={closeButton:"closeButton_CVFx"};function _(e){return(0,c.jsx)("button",{type:"button","aria-label":(0,s.T)({id:"theme.AnnouncementBar.closeButtonAriaLabel",message:"Close",description:"The ARIA label for close button of announcement bar"}),...e,className:(0,o.A)("clean-btn close",x.closeButton,e.className),children:(0,c.jsx)(k,{width:14,height:14,strokeWidth:3.1})})}const E={content:"content_knG7"};function O(e){const{announcementBar:t}=(0,w.p)(),{content:n}=t;return(0,c.jsx)("div",{...e,className:(0,o.A)(E.content,e.className),dangerouslySetInnerHTML:{__html:n}})}const C={announcementBar:"announcementBar_mb4j",announcementBarPlaceholder:"announcementBarPlaceholder_vyr4",announcementBarClose:"announcementBarClose_gvF7",announcementBarContent:"announcementBarContent_xLdY"};function P(){const{announcementBar:e}=(0,w.p)(),{isActive:t,close:n}=(0,S.Mj)();if(!t)return null;const{backgroundColor:r,textColor:o,isCloseable:a}=e;return(0,c.jsxs)("div",{className:C.announcementBar,style:{backgroundColor:r,color:o},role:"banner",children:[a&&(0,c.jsx)("div",{className:C.announcementBarPlaceholder}),(0,c.jsx)(O,{className:C.announcementBarContent}),a&&(0,c.jsx)(_,{onClick:n,className:C.announcementBarClose})]})}var j=n(5755),A=n(4245);var T=n(4799),I=n(763);const N=r.createContext(null);function L(e){let{children:t}=e;const n=function(){const e=(0,j.M)(),t=(0,I.YL)(),[n,o]=(0,r.useState)(!1),a=null!==t.component,i=(0,T.ZC)(a);return(0,r.useEffect)((()=>{a&&!i&&o(!0)}),[a,i]),(0,r.useEffect)((()=>{a?e.shown||o(!0):o(!1)}),[e.shown,a]),(0,r.useMemo)((()=>[n,o]),[n])}();return(0,c.jsx)(N.Provider,{value:n,children:t})}function R(e){if(e.component){const t=e.component;return(0,c.jsx)(t,{...e.props})}}function D(){const e=(0,r.useContext)(N);if(!e)throw new T.dV("NavbarSecondaryMenuDisplayProvider");const[t,n]=e,o=(0,r.useCallback)((()=>n(!1)),[n]),a=(0,I.YL)();return(0,r.useMemo)((()=>({shown:t,hide:o,content:R(a)})),[o,a,t])}function F(e){let{header:t,primaryMenu:n,secondaryMenu:r}=e;const{shown:a}=D();return(0,c.jsxs)("div",{className:"navbar-sidebar",children:[t,(0,c.jsxs)("div",{className:(0,o.A)("navbar-sidebar__items",{"navbar-sidebar__items--show-secondary":a}),children:[(0,c.jsx)("div",{className:"navbar-sidebar__item menu",children:n}),(0,c.jsx)("div",{className:"navbar-sidebar__item menu",children:r})]})]})}var M=n(7710),B=n(1062);function z(e){return(0,c.jsx)("svg",{viewBox:"0 0 24 24",width:24,height:24,...e,children:(0,c.jsx)("path",{fill:"currentColor",d:"M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"})})}function $(e){return(0,c.jsx)("svg",{viewBox:"0 0 24 24",width:24,height:24,...e,children:(0,c.jsx)("path",{fill:"currentColor",d:"M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"})})}const U={toggle:"toggle_vylO",toggleButton:"toggleButton_gllP",darkToggleIcon:"darkToggleIcon_wfgR",lightToggleIcon:"lightToggleIcon_pyhR",toggleButtonDisabled:"toggleButtonDisabled_aARS"};function V(e){let{className:t,buttonClassName:n,value:r,onChange:a}=e;const i=(0,B.A)(),l=(0,s.T)({message:"Switch between dark and light mode (currently {mode})",id:"theme.colorToggle.ariaLabel",description:"The ARIA label for the navbar color mode toggle"},{mode:"dark"===r?(0,s.T)({message:"dark mode",id:"theme.colorToggle.ariaLabel.mode.dark",description:"The name for the dark color mode"}):(0,s.T)({message:"light mode",id:"theme.colorToggle.ariaLabel.mode.light",description:"The name for the light color mode"})});return(0,c.jsx)("div",{className:(0,o.A)(U.toggle,t),children:(0,c.jsxs)("button",{className:(0,o.A)("clean-btn",U.toggleButton,!i&&U.toggleButtonDisabled,n),type:"button",onClick:()=>a("dark"===r?"light":"dark"),disabled:!i,title:l,"aria-label":l,"aria-live":"polite",children:[(0,c.jsx)(z,{className:(0,o.A)(U.toggleIcon,U.lightToggleIcon)}),(0,c.jsx)($,{className:(0,o.A)(U.toggleIcon,U.darkToggleIcon)})]})})}const Q=r.memo(V),W={darkNavbarColorModeToggle:"darkNavbarColorModeToggle_X3D1"};function H(e){let{className:t}=e;const n=(0,w.p)().navbar.style,r=(0,w.p)().colorMode.disableSwitch,{colorMode:o,setColorMode:a}=(0,M.G)();return r?null:(0,c.jsx)(Q,{className:t,buttonClassName:"dark"===n?W.darkNavbarColorModeToggle:void 0,value:o,onChange:a})}var q=n(20);function G(){return(0,c.jsx)(q.A,{className:"navbar__brand",imageClassName:"navbar__logo",titleClassName:"navbar__title text--truncate"})}function K(){const e=(0,j.M)();return(0,c.jsx)("button",{type:"button","aria-label":(0,s.T)({id:"theme.docs.sidebar.closeSidebarButtonAriaLabel",message:"Close navigation bar",description:"The ARIA label for close button of mobile sidebar"}),className:"clean-btn navbar-sidebar__close",onClick:()=>e.toggle(),children:(0,c.jsx)(k,{color:"var(--ifm-color-emphasis-600)"})})}function Y(){return(0,c.jsxs)("div",{className:"navbar-sidebar__brand",children:[(0,c.jsx)(G,{}),(0,c.jsx)(H,{className:"margin-right--md"}),(0,c.jsx)(K,{})]})}var Z=n(4783),J=n(8180),X=n(877);function ee(e,t){return void 0!==e&&void 0!==t&&new RegExp(e,"gi").test(t)}var te=n(716);function ne(e){let{activeBasePath:t,activeBaseRegex:n,to:r,href:o,label:a,html:i,isDropdownLink:l,prependBaseUrlToHref:s,...u}=e;const d=(0,J.A)(r),f=(0,J.A)(t),p=(0,J.A)(o,{forcePrependBaseUrl:!0}),m=a&&o&&!(0,X.A)(o),g=i?{dangerouslySetInnerHTML:{__html:i}}:{children:(0,c.jsxs)(c.Fragment,{children:[a,m&&(0,c.jsx)(te.A,{...l&&{width:12,height:12}})]})};return o?(0,c.jsx)(Z.A,{href:s?p:o,...u,...g}):(0,c.jsx)(Z.A,{to:d,isNavLink:!0,...(t||n)&&{isActive:(e,t)=>n?ee(n,t.pathname):t.pathname.startsWith(f)},...u,...g})}function re(e){let{className:t,isDropdownItem:n=!1,...r}=e;const a=(0,c.jsx)(ne,{className:(0,o.A)(n?"dropdown__link":"navbar__item navbar__link",t),isDropdownLink:n,...r});return n?(0,c.jsx)("li",{children:a}):a}function oe(e){let{className:t,isDropdownItem:n,...r}=e;return(0,c.jsx)("li",{className:"menu__list-item",children:(0,c.jsx)(ne,{className:(0,o.A)("menu__link",t),...r})})}function ae(e){let{mobile:t=!1,position:n,...r}=e;const o=t?oe:re;return(0,c.jsx)(o,{...r,activeClassName:r.activeClassName??(t?"menu__link--active":"navbar__link--active")})}var ie=n(4549),le=n(260),se=n(7639);const ue={dropdownNavbarItemMobile:"dropdownNavbarItemMobile_S0Fm"};function ce(e,t){return e.some((e=>function(e,t){return!!(0,le.ys)(e.to,t)||!!ee(e.activeBaseRegex,t)||!(!e.activeBasePath||!t.startsWith(e.activeBasePath))}(e,t)))}function de(e){let{items:t,position:n,className:a,onClick:i,...l}=e;const s=(0,r.useRef)(null),[u,d]=(0,r.useState)(!1);return(0,r.useEffect)((()=>{const e=e=>{s.current&&!s.current.contains(e.target)&&d(!1)};return document.addEventListener("mousedown",e),document.addEventListener("touchstart",e),document.addEventListener("focusin",e),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("touchstart",e),document.removeEventListener("focusin",e)}}),[s]),(0,c.jsxs)("div",{ref:s,className:(0,o.A)("navbar__item","dropdown","dropdown--hoverable",{"dropdown--right":"right"===n,"dropdown--show":u}),children:[(0,c.jsx)(ne,{"aria-haspopup":"true","aria-expanded":u,role:"button",href:l.to?void 0:"#",className:(0,o.A)("navbar__link",a),...l,onClick:l.to?void 0:e=>e.preventDefault(),onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),d(!u))},children:l.children??l.label}),(0,c.jsx)("ul",{className:"dropdown__menu",children:t.map(((e,t)=>(0,r.createElement)(ka,{isDropdownItem:!0,activeClassName:"dropdown__link--active",...e,key:t})))})]})}function fe(e){let{items:t,className:n,position:a,onClick:i,...s}=e;const u=function(){const{siteConfig:{baseUrl:e}}=(0,se.A)(),{pathname:t}=(0,l.zy)();return t.replace(e,"/")}(),d=ce(t,u),{collapsed:f,toggleCollapsed:p,setCollapsed:m}=(0,ie.u)({initialState:()=>!d});return(0,r.useEffect)((()=>{d&&m(!d)}),[u,d,m]),(0,c.jsxs)("li",{className:(0,o.A)("menu__list-item",{"menu__list-item--collapsed":f}),children:[(0,c.jsx)(ne,{role:"button",className:(0,o.A)(ue.dropdownNavbarItemMobile,"menu__link menu__link--sublist menu__link--sublist-caret",n),...s,onClick:e=>{e.preventDefault(),p()},children:s.children??s.label}),(0,c.jsx)(ie.N,{lazy:!0,as:"ul",className:"menu__list",collapsed:f,children:t.map(((e,t)=>(0,r.createElement)(ka,{mobile:!0,isDropdownItem:!0,onClick:i,activeClassName:"menu__link--active",...e,key:t})))})]})}function pe(e){let{mobile:t=!1,...n}=e;const r=t?fe:de;return(0,c.jsx)(r,{...n})}var me=n(2098);function ge(e){let{width:t=20,height:n=20,...r}=e;return(0,c.jsx)("svg",{viewBox:"0 0 24 24",width:t,height:n,"aria-hidden":!0,...r,children:(0,c.jsx)("path",{fill:"currentColor",d:"M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z"})})}const he="iconLanguage_nlXk";var ye=n(961);function be(e,t){var n=void 0;return function(){for(var r=arguments.length,o=new Array(r),a=0;ae.length)&&(t=e.length);for(var n=0,r=new Array(t);ne.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function Ie(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Ne(e){for(var t=1;t=3||2===n&&r>=4||1===n&&r>=10}(e);function n(n,r,o){if(t&&void 0!==o){var a=o[0].__autocomplete_algoliaCredentials,i={"X-Algolia-Application-Id":a.appId,"X-Algolia-API-Key":a.apiKey};e.apply(void 0,[n].concat(je(r),[{headers:i}]))}else e.apply(void 0,[n].concat(je(r)))}return{init:function(t,n){e("init",{appId:t,apiKey:n})},setAuthenticatedUserToken:function(t){e("setAuthenticatedUserToken",t)},setUserToken:function(t){e("setUserToken",t)},clickedObjectIDsAfterSearch:function(){for(var e=arguments.length,t=new Array(e),r=0;r0&&n("clickedObjectIDsAfterSearch",Re(t),t[0].items)},clickedObjectIDs:function(){for(var e=arguments.length,t=new Array(e),r=0;r0&&n("clickedObjectIDs",Re(t),t[0].items)},clickedFilters:function(){for(var t=arguments.length,n=new Array(t),r=0;r0&&e.apply(void 0,["clickedFilters"].concat(n))},convertedObjectIDsAfterSearch:function(){for(var e=arguments.length,t=new Array(e),r=0;r0&&n("convertedObjectIDsAfterSearch",Re(t),t[0].items)},convertedObjectIDs:function(){for(var e=arguments.length,t=new Array(e),r=0;r0&&n("convertedObjectIDs",Re(t),t[0].items)},convertedFilters:function(){for(var t=arguments.length,n=new Array(t),r=0;r0&&e.apply(void 0,["convertedFilters"].concat(n))},viewedObjectIDs:function(){for(var e=arguments.length,t=new Array(e),r=0;r0&&t.reduce((function(e,t){var n=t.items,r=Te(t,Ce);return[].concat(je(e),je(function(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:20,n=[],r=0;r0&&e.apply(void 0,["viewedFilters"].concat(n))}}}function Fe(e){var t=e.items.reduce((function(e,t){var n;return e[t.__autocomplete_indexName]=(null!==(n=e[t.__autocomplete_indexName])&&void 0!==n?n:[]).concat(t),e}),{});return Object.keys(t).map((function(e){return{index:e,items:t[e],algoliaSource:["autocomplete"]}}))}function Me(e){return e.objectID&&e.__autocomplete_indexName&&e.__autocomplete_queryID}function Be(e){return Be="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Be(e)}function ze(e){return function(e){if(Array.isArray(e))return $e(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return $e(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return $e(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function $e(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&qe({onItemsChange:o,items:n,insights:u,state:t}))}}),0);return{name:"aa.algoliaInsightsPlugin",subscribe:function(e){var t=e.setContext,n=e.onSelect,r=e.onActive,o=!1;function c(e){t({algoliaInsightsPlugin:{__algoliaSearchParameters:Ve(Ve({},l?{clickAnalytics:!0}:{}),e?{userToken:Ye(e)}:{}),insights:u}})}s("addAlgoliaAgent","insights-plugin"),c(),s("onUserTokenChange",(function(e){o||c(e)})),s("getUserToken",null,(function(e,t){o||c(t)})),s("onAuthenticatedUserTokenChange",(function(e){e?(o=!0,c(e)):(o=!1,s("getUserToken",null,(function(e,t){return c(t)})))})),s("getAuthenticatedUserToken",null,(function(e,t){t&&(o=!0,c(t))})),n((function(e){var t=e.item,n=e.state,r=e.event,o=e.source;Me(t)&&a({state:n,event:r,insights:u,item:t,insightsEvents:[Ve({eventName:"Item Selected"},xe({item:t,items:o.getItems().filter(Me)}))]})})),r((function(e){var t=e.item,n=e.source,r=e.state,o=e.event;Me(t)&&i({state:r,event:o,insights:u,item:t,insightsEvents:[Ve({eventName:"Item Active"},xe({item:t,items:n.getItems().filter(Me)}))]})}))},onStateChange:function(e){var t=e.state;d({state:t})},__autocomplete_pluginOptions:e}}function Ke(){var e,t=arguments.length>1?arguments[1]:void 0;return[].concat(ze(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]),["autocomplete-internal"],ze(null!==(e=t.algoliaInsightsPlugin)&&void 0!==e&&e.__automaticInsights?["autocomplete-automatic"]:[]))}function Ye(e){return"number"==typeof e?e.toString():e}function Ze(e){return Ze="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ze(e)}function Je(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Xe(e,t,n){return(t=function(e){var t=function(e,t){if("object"!==Ze(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==Ze(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===Ze(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function et(e,t,n){var r,o=t.initialState;return{getState:function(){return o},dispatch:function(r,a){var i=function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n0},reshape:function(e){return e.sources}},e),{},{id:null!==(n=e.id)&&void 0!==n?n:st(),plugins:o,initialState:yt({activeItemId:null,query:"",completion:null,collections:[],isOpen:!1,status:"idle",context:{}},e.initialState),onStateChange:function(t){var n;null===(n=e.onStateChange)||void 0===n||n.call(e,t),o.forEach((function(e){var n;return null===(n=e.onStateChange)||void 0===n?void 0:n.call(e,t)}))},onSubmit:function(t){var n;null===(n=e.onSubmit)||void 0===n||n.call(e,t),o.forEach((function(e){var n;return null===(n=e.onSubmit)||void 0===n?void 0:n.call(e,t)}))},onReset:function(t){var n;null===(n=e.onReset)||void 0===n||n.call(e,t),o.forEach((function(e){var n;return null===(n=e.onReset)||void 0===n?void 0:n.call(e,t)}))},getSources:function(n){return Promise.all([].concat(mt(o.map((function(e){return e.getSources}))),[e.getSources]).filter(Boolean).map((function(e){return function(e,t){var n=[];return Promise.resolve(e(t)).then((function(e){return Array.isArray(e),Promise.all(e.filter((function(e){return Boolean(e)})).map((function(e){if(e.sourceId,n.includes(e.sourceId))throw new Error("[Autocomplete] The `sourceId` ".concat(JSON.stringify(e.sourceId)," is not unique."));n.push(e.sourceId);var t={getItemInputValue:function(e){return e.state.query},getItemUrl:function(){},onSelect:function(e){(0,e.setIsOpen)(!1)},onActive:ke,onResolve:ke};Object.keys(t).forEach((function(e){t[e].__default=!0}));var r=ct(ct({},t),e);return Promise.resolve(r)})))}))}(e,n)}))).then((function(e){return tt(e)})).then((function(e){return e.map((function(e){return yt(yt({},e),{},{onSelect:function(n){e.onSelect(n),t.forEach((function(e){var t;return null===(t=e.onSelect)||void 0===t?void 0:t.call(e,n)}))},onActive:function(n){e.onActive(n),t.forEach((function(e){var t;return null===(t=e.onActive)||void 0===t?void 0:t.call(e,n)}))},onResolve:function(n){e.onResolve(n),t.forEach((function(e){var t;return null===(t=e.onResolve)||void 0===t?void 0:t.call(e,n)}))}})}))}))},navigator:yt({navigate:function(e){var t=e.itemUrl;r.location.assign(t)},navigateNewTab:function(e){var t=e.itemUrl,n=r.open(t,"_blank","noopener");null==n||n.focus()},navigateNewWindow:function(e){var t=e.itemUrl;r.open(t,"_blank","noopener")}},e.navigator)})}function wt(e){return wt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},wt(e)}function St(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function kt(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var Wt,Ht,qt,Gt=null,Kt=(Wt=-1,Ht=-1,qt=void 0,function(e){var t=++Wt;return Promise.resolve(e).then((function(e){return qt&&t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var on=/((gt|sm)-|galaxy nexus)|samsung[- ]|samsungbrowser/i;function an(e){return e.nativeEvent||e}function ln(e){return ln="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ln(e)}var sn=["props","refresh","store"],un=["inputElement","formElement","panelElement"],cn=["inputElement"],dn=["inputElement","maxLength"],fn=["source"],pn=["item","source"];function mn(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function gn(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function bn(e){var t=e.props,n=e.refresh,r=e.store,o=yn(e,sn);return{getEnvironmentProps:function(e){var n=e.inputElement,o=e.formElement,a=e.panelElement;function i(e){!r.getState().isOpen&&r.pendingRequests.isEmpty()||e.target===n||!1===[o,a].some((function(t){return n=t,r=e.target,n===r||n.contains(r);var n,r}))&&(r.dispatch("blur",null),t.debug||r.pendingRequests.cancelAll())}return gn({onTouchStart:i,onMouseDown:i,onTouchMove:function(e){!1!==r.getState().isOpen&&n===t.environment.document.activeElement&&e.target!==n&&n.blur()}},yn(e,un))},getRootProps:function(e){return gn({role:"combobox","aria-expanded":r.getState().isOpen,"aria-haspopup":"listbox","aria-owns":r.getState().isOpen?r.getState().collections.map((function(e){var n=e.source;return Zt(t.id,"list",n)})).join(" "):void 0,"aria-labelledby":Zt(t.id,"label")},e)},getFormProps:function(e){e.inputElement;return gn({action:"",noValidate:!0,role:"search",onSubmit:function(a){var i;a.preventDefault(),t.onSubmit(gn({event:a,refresh:n,state:r.getState()},o)),r.dispatch("submit",null),null===(i=e.inputElement)||void 0===i||i.blur()},onReset:function(a){var i;a.preventDefault(),t.onReset(gn({event:a,refresh:n,state:r.getState()},o)),r.dispatch("reset",null),null===(i=e.inputElement)||void 0===i||i.focus()}},yn(e,cn))},getLabelProps:function(e){return gn({htmlFor:Zt(t.id,"input"),id:Zt(t.id,"label")},e)},getInputProps:function(e){var a;function i(e){(t.openOnFocus||Boolean(r.getState().query))&&Yt(gn({event:e,props:t,query:r.getState().completion||r.getState().query,refresh:n,store:r},o)),r.dispatch("focus",null)}var l=e||{},s=(l.inputElement,l.maxLength),u=void 0===s?512:s,c=yn(l,dn),d=Mt(r.getState()),f=function(e){return Boolean(e&&e.match(on))}((null===(a=t.environment.navigator)||void 0===a?void 0:a.userAgent)||""),p=t.enterKeyHint||(null!=d&&d.itemUrl&&!f?"go":"search");return gn({"aria-autocomplete":"both","aria-activedescendant":r.getState().isOpen&&null!==r.getState().activeItemId?Zt(t.id,"item-".concat(r.getState().activeItemId),null==d?void 0:d.source):void 0,"aria-controls":r.getState().isOpen?r.getState().collections.map((function(e){var n=e.source;return Zt(t.id,"list",n)})).join(" "):void 0,"aria-labelledby":Zt(t.id,"label"),value:r.getState().completion||r.getState().query,id:Zt(t.id,"input"),autoComplete:"off",autoCorrect:"off",autoCapitalize:"off",enterKeyHint:p,spellCheck:"false",autoFocus:t.autoFocus,placeholder:t.placeholder,maxLength:u,type:"search",onChange:function(e){var a=e.currentTarget.value;t.ignoreCompositionEvents&&an(e).isComposing?o.setQuery(a):Yt(gn({event:e,props:t,query:a.slice(0,u),refresh:n,store:r},o))},onCompositionEnd:function(e){Yt(gn({event:e,props:t,query:e.currentTarget.value.slice(0,u),refresh:n,store:r},o))},onKeyDown:function(e){an(e).isComposing||function(e){var t=e.event,n=e.props,r=e.refresh,o=e.store,a=rn(e,Xt);if("ArrowUp"===t.key||"ArrowDown"===t.key){var i=function(){var e=Mt(o.getState()),t=n.environment.document.getElementById(Zt(n.id,"item-".concat(o.getState().activeItemId),null==e?void 0:e.source));t&&(t.scrollIntoViewIfNeeded?t.scrollIntoViewIfNeeded(!1):t.scrollIntoView(!1))},l=function(){var e=Mt(o.getState());if(null!==o.getState().activeItemId&&e){var n=e.item,i=e.itemInputValue,l=e.itemUrl,s=e.source;s.onActive(tn({event:t,item:n,itemInputValue:i,itemUrl:l,refresh:r,source:s,state:o.getState()},a))}};t.preventDefault(),!1===o.getState().isOpen&&(n.openOnFocus||Boolean(o.getState().query))?Yt(tn({event:t,props:n,query:o.getState().query,refresh:r,store:o},a)).then((function(){o.dispatch(t.key,{nextActiveItemId:n.defaultActiveItemId}),l(),setTimeout(i,0)})):(o.dispatch(t.key,{}),l(),i())}else if("Escape"===t.key)t.preventDefault(),o.dispatch(t.key,null),o.pendingRequests.cancelAll();else if("Tab"===t.key)o.dispatch("blur",null),o.pendingRequests.cancelAll();else if("Enter"===t.key){if(null===o.getState().activeItemId||o.getState().collections.every((function(e){return 0===e.items.length})))return void(n.debug||o.pendingRequests.cancelAll());t.preventDefault();var s=Mt(o.getState()),u=s.item,c=s.itemInputValue,d=s.itemUrl,f=s.source;if(t.metaKey||t.ctrlKey)void 0!==d&&(f.onSelect(tn({event:t,item:u,itemInputValue:c,itemUrl:d,refresh:r,source:f,state:o.getState()},a)),n.navigator.navigateNewTab({itemUrl:d,item:u,state:o.getState()}));else if(t.shiftKey)void 0!==d&&(f.onSelect(tn({event:t,item:u,itemInputValue:c,itemUrl:d,refresh:r,source:f,state:o.getState()},a)),n.navigator.navigateNewWindow({itemUrl:d,item:u,state:o.getState()}));else if(t.altKey);else{if(void 0!==d)return f.onSelect(tn({event:t,item:u,itemInputValue:c,itemUrl:d,refresh:r,source:f,state:o.getState()},a)),void n.navigator.navigate({itemUrl:d,item:u,state:o.getState()});Yt(tn({event:t,nextState:{isOpen:!1},props:n,query:c,refresh:r,store:o},a)).then((function(){f.onSelect(tn({event:t,item:u,itemInputValue:c,itemUrl:d,refresh:r,source:f,state:o.getState()},a))}))}}}(gn({event:e,props:t,refresh:n,store:r},o))},onFocus:i,onBlur:ke,onClick:function(n){e.inputElement!==t.environment.document.activeElement||r.getState().isOpen||i(n)}},c)},getPanelProps:function(e){return gn({onMouseDown:function(e){e.preventDefault()},onMouseLeave:function(){r.dispatch("mouseleave",null)}},e)},getListProps:function(e){var n=e||{},r=n.source,o=yn(n,fn);return gn({role:"listbox","aria-labelledby":Zt(t.id,"label"),id:Zt(t.id,"list",r)},o)},getItemProps:function(e){var a=e.item,i=e.source,l=yn(e,pn);return gn({id:Zt(t.id,"item-".concat(a.__autocomplete_id),i),role:"option","aria-selected":r.getState().activeItemId===a.__autocomplete_id,onMouseMove:function(e){if(a.__autocomplete_id!==r.getState().activeItemId){r.dispatch("mousemove",a.__autocomplete_id);var t=Mt(r.getState());if(null!==r.getState().activeItemId&&t){var i=t.item,l=t.itemInputValue,s=t.itemUrl,u=t.source;u.onActive(gn({event:e,item:i,itemInputValue:l,itemUrl:s,refresh:n,source:u,state:r.getState()},o))}}},onMouseDown:function(e){e.preventDefault()},onClick:function(e){var l=i.getItemInputValue({item:a,state:r.getState()}),s=i.getItemUrl({item:a,state:r.getState()});(s?Promise.resolve():Yt(gn({event:e,nextState:{isOpen:!1},props:t,query:l,refresh:n,store:r},o))).then((function(){i.onSelect(gn({event:e,item:a,itemInputValue:l,itemUrl:s,refresh:n,source:i,state:r.getState()},o))}))}},l)}}}var vn="1.17.0",wn=[{segment:"autocomplete-core",version:vn}];function Sn(e){return Sn="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Sn(e)}function kn(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function xn(e){for(var t=1;t=n?null===r?null:0:o}function Pn(e){return Pn="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Pn(e)}function jn(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function An(e){for(var t=1;t=5&&((o||!e&&5===r)&&(i.push(r,0,o,n),r=6),e&&(i.push(r,e,0,n),r=6)),o=""},s=0;s"===t?(r=1,o=""):o=t+o[0]:a?t===a?a="":o+=t:'"'===t||"'"===t?a=t:">"===t?(l(),r=1):r&&("="===t?(r=5,n=o,o=""):"/"===t&&(r<5||">"===e[s][u+1])?(l(),3===r&&(i=i[0]),r=i,(i=i[0]).push(2,0,r),r=0):" "===t||"\t"===t||"\n"===t||"\r"===t?(l(),r=2):o+=t),3===r&&"!--"===o&&(r=4,i=i[0])}return l(),i}(e)),t),arguments,[])).length>1?t:t[0]}var $n=function(e){var t=e.environment,n=t.document.createElementNS("http://www.w3.org/2000/svg","svg");n.setAttribute("class","aa-SubmitIcon"),n.setAttribute("viewBox","0 0 24 24"),n.setAttribute("width","20"),n.setAttribute("height","20"),n.setAttribute("fill","currentColor");var r=t.document.createElementNS("http://www.w3.org/2000/svg","path");return r.setAttribute("d","M16.041 15.856c-0.034 0.026-0.067 0.055-0.099 0.087s-0.060 0.064-0.087 0.099c-1.258 1.213-2.969 1.958-4.855 1.958-1.933 0-3.682-0.782-4.95-2.050s-2.050-3.017-2.050-4.95 0.782-3.682 2.050-4.95 3.017-2.050 4.95-2.050 3.682 0.782 4.95 2.050 2.050 3.017 2.050 4.95c0 1.886-0.745 3.597-1.959 4.856zM21.707 20.293l-3.675-3.675c1.231-1.54 1.968-3.493 1.968-5.618 0-2.485-1.008-4.736-2.636-6.364s-3.879-2.636-6.364-2.636-4.736 1.008-6.364 2.636-2.636 3.879-2.636 6.364 1.008 4.736 2.636 6.364 3.879 2.636 6.364 2.636c2.125 0 4.078-0.737 5.618-1.968l3.675 3.675c0.391 0.391 1.024 0.391 1.414 0s0.391-1.024 0-1.414z"),n.appendChild(r),n},Un=function(e){var t=e.environment,n=t.document.createElementNS("http://www.w3.org/2000/svg","svg");n.setAttribute("class","aa-ClearIcon"),n.setAttribute("viewBox","0 0 24 24"),n.setAttribute("width","18"),n.setAttribute("height","18"),n.setAttribute("fill","currentColor");var r=t.document.createElementNS("http://www.w3.org/2000/svg","path");return r.setAttribute("d","M5.293 6.707l5.293 5.293-5.293 5.293c-0.391 0.391-0.391 1.024 0 1.414s1.024 0.391 1.414 0l5.293-5.293 5.293 5.293c0.391 0.391 1.024 0.391 1.414 0s0.391-1.024 0-1.414l-5.293-5.293 5.293-5.293c0.391-0.391 0.391-1.024 0-1.414s-1.024-0.391-1.414 0l-5.293 5.293-5.293-5.293c-0.391-0.391-1.024-0.391-1.414 0s-0.391 1.024 0 1.414z"),n.appendChild(r),n},Vn=function(e){var t=e.environment.document.createElementNS("http://www.w3.org/2000/svg","svg");return t.setAttribute("class","aa-LoadingIcon"),t.setAttribute("viewBox","0 0 100 100"),t.setAttribute("width","20"),t.setAttribute("height","20"),t.innerHTML='\n \n',t},Qn=["ontouchstart","ontouchend","ontouchmove","ontouchcancel"];function Wn(e,t,n){e[t]=null===n?"":"number"!=typeof n?n:n+"px"}function Hn(e){this._listeners[e.type](e)}function qn(e,t,n){var r,o,a=e[t];if("style"===t)if("string"==typeof n)e.style=n;else if(null===n)e.style="";else for(t in n)a&&n[t]===a[t]||Wn(e.style,t,n[t]);else"o"===t[0]&&"n"===t[1]?(r=t!==(t=t.replace(/Capture$/,"")),((o=t.toLowerCase())in e||Qn.includes(o))&&(t=o),t=t.slice(2),e._listeners||(e._listeners={}),e._listeners[t]=n,n?a||e.addEventListener(t,Hn,r):e.removeEventListener(t,Hn,r)):"list"!==t&&"tagName"!==t&&"form"!==t&&"type"!==t&&"size"!==t&&"download"!==t&&"href"!==t&&t in e?e[t]=null==n?"":n:"function"!=typeof n&&"dangerouslySetInnerHTML"!==t&&(null==n||!1===n&&!/^ar/.test(t)?e.removeAttribute(t):e.setAttribute(t,n))}function Gn(e){switch(e){case"onChange":return"onInput";case"onCompositionEnd":return"oncompositionend";default:return e}}function Kn(e,t){for(var n in t)qn(e,Gn(n),t[n])}function Yn(e,t){for(var n in t)"o"===n[0]&&"n"===n[1]||qn(e,Gn(n),t[n])}var Zn=["children"];function Jn(e){return function(e){if(Array.isArray(e))return Xn(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return Xn(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Xn(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Xn(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function tr(e){return function(t,n){var r=n.children,o=void 0===r?[]:r,a=er(n,Zn),i=e.document.createElement(t);return Kn(i,a),i.append.apply(i,Jn(o)),i}}function nr(e){return nr="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},nr(e)}var rr=["autocompleteScopeApi","environment","classNames","getInputProps","getInputPropsCore","isDetached","state"];function or(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function ar(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var sr=function(e){var t=e.autocompleteScopeApi,n=e.environment,r=(e.classNames,e.getInputProps),o=e.getInputPropsCore,a=e.isDetached,i=e.state,l=lr(e,rr),s=tr(n)("input",l),u=r(ar({state:i,props:o({inputElement:s}),inputElement:s},t));return Kn(s,ar(ar({},u),{},{onKeyDown:function(e){a&&"Tab"===e.key||u.onKeyDown(e)}})),s};function ur(e){return ur="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ur(e)}function cr(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function dr(e){for(var t=1;t2&&(i.children=arguments.length>3?pr.call(arguments,2):n),"function"==typeof e&&null!=e.defaultProps)for(a in e.defaultProps)void 0===i[a]&&(i[a]=e.defaultProps[a]);return Cr(e,i,r,o,null)}function Cr(e,t,n,r,o){var a={type:e,props:t,key:n,ref:r,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,constructor:void 0,__v:null==o?++gr:o,__i:-1,__u:0};return null==o&&null!=mr.vnode&&mr.vnode(a),a}function Pr(e){return e.children}function jr(e,t){this.props=e,this.context=t}function Ar(e,t){if(null==t)return e.__?Ar(e.__,e.__i+1):null;for(var n;tn?(Qr(r,t,o),o.length=r.length=0,t=void 0,hr.sort(vr)):t&&mr.__c&&mr.__c(t,Sr));t&&Qr(r,t,o),Lr.__r=0}function Rr(e,t,n,r,o,a,i,l,s,u,c){var d,f,p,m,g,h=r&&r.__k||Sr,y=t.length;for(n.__d=s,Dr(n,t,h),s=n.__d,d=0;d0?Cr(o.type,o.props,o.key,o.ref?o.ref:null,o.__v):o)?(o.__=e,o.__b=e.__b+1,l=Mr(o,n,i=r+d,c),o.__i=l,a=null,-1!==l&&(c--,(a=n[l])&&(a.__u|=131072)),null==a||null===a.__v?(-1==l&&d--,"function"!=typeof o.type&&(o.__u|=65536)):l!==i&&(l===i+1?d++:l>i?c>s-i?d+=l-i:d--:d=l(null!=s&&0==(131072&s.__u)?1:0))for(;i>=0||l=0){if((s=t[i])&&0==(131072&s.__u)&&o==s.key&&a===s.type)return i;i--}if(l0&&void 0!==arguments[0]?arguments[0]:[];return{get:function(){return e},add:function(t){var n=e[e.length-1];(null==n?void 0:n.isHighlighted)===t.isHighlighted?e[e.length-1]={value:n.value+t.value,isHighlighted:n.isHighlighted}:e.push(t)}}}(n?[{value:n,isHighlighted:!1}]:[]);return t.forEach((function(e){var t=e.split(Jr);r.add({value:t[0],isHighlighted:!0}),""!==t[1]&&r.add({value:t[1],isHighlighted:!1})})),r.get()}function eo(e){return function(e){if(Array.isArray(e))return to(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return to(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return to(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function to(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n",""":'"',"'":"'"},ao=new RegExp(/\w/i),io=/&(amp|quot|lt|gt|#39);/g,lo=RegExp(io.source);function so(e,t){var n,r,o,a=e[t],i=(null===(n=e[t+1])||void 0===n?void 0:n.isHighlighted)||!0,l=(null===(r=e[t-1])||void 0===r?void 0:r.isHighlighted)||!0;return ao.test((o=a.value)&&lo.test(o)?o.replace(io,(function(e){return oo[e]})):o)||l!==i?a.isHighlighted:l}function uo(e){return uo="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},uo(e)}function co(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function fo(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var jo={clearButton:"aa-ClearButton",detachedCancelButton:"aa-DetachedCancelButton",detachedContainer:"aa-DetachedContainer",detachedFormContainer:"aa-DetachedFormContainer",detachedOverlay:"aa-DetachedOverlay",detachedSearchButton:"aa-DetachedSearchButton",detachedSearchButtonIcon:"aa-DetachedSearchButtonIcon",detachedSearchButtonPlaceholder:"aa-DetachedSearchButtonPlaceholder",detachedSearchButtonQuery:"aa-DetachedSearchButtonQuery",form:"aa-Form",input:"aa-Input",inputWrapper:"aa-InputWrapper",inputWrapperPrefix:"aa-InputWrapperPrefix",inputWrapperSuffix:"aa-InputWrapperSuffix",item:"aa-Item",label:"aa-Label",list:"aa-List",loadingIndicator:"aa-LoadingIndicator",panel:"aa-Panel",panelLayout:"aa-PanelLayout aa-Panel--scrollable",root:"aa-Autocomplete",source:"aa-Source",sourceFooter:"aa-SourceFooter",sourceHeader:"aa-SourceHeader",sourceNoResults:"aa-SourceNoResults",submitButton:"aa-SubmitButton"},Ao=function(e,t){var n=e.children;(0,e.render)(n,t)},To={createElement:Or,Fragment:Pr,render:Kr};function Io(e){var t=e.panelPlacement,n=e.container,r=e.form,o=e.environment,a=n.getBoundingClientRect(),i=(o.pageYOffset||o.document.documentElement.scrollTop||o.document.body.scrollTop||0)+a.top+a.height;switch(t){case"start":return{top:i,left:a.left};case"end":return{top:i,right:o.document.documentElement.clientWidth-(a.left+a.width)};case"full-width":return{top:i,left:0,right:0,width:"unset",maxWidth:"unset"};case"input-wrapper-width":var l=r.getBoundingClientRect();return{top:i,left:l.left,right:o.document.documentElement.clientWidth-(l.left+l.width),width:"unset",maxWidth:"unset"};default:throw new Error("[Autocomplete] The `panelPlacement` value ".concat(JSON.stringify(t)," is not valid."))}}function No(e){return No="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},No(e)}function Lo(){return Lo=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);ne.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function Xo(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function ea(e){for(var t=1;t0;if(!f.value.core.openOnFocus&&!t.query)return n;var r=Boolean(u.current||f.value.renderer.renderNoResults);return!n&&r||n},__autocomplete_metadata:{userAgents:Mo,options:e}}))})),g=ve(ea({collections:[],completion:null,context:{},isOpen:!1,query:"",activeItemId:null,status:"idle"},f.value.core.initialState)),h={getEnvironmentProps:f.value.renderer.getEnvironmentProps,getFormProps:f.value.renderer.getFormProps,getInputProps:f.value.renderer.getInputProps,getItemProps:f.value.renderer.getItemProps,getLabelProps:f.value.renderer.getLabelProps,getListProps:f.value.renderer.getListProps,getPanelProps:f.value.renderer.getPanelProps,getRootProps:f.value.renderer.getRootProps},y={setActiveItemId:m.value.setActiveItemId,setQuery:m.value.setQuery,setCollections:m.value.setCollections,setIsOpen:m.value.setIsOpen,setStatus:m.value.setStatus,setContext:m.value.setContext,refresh:m.value.refresh,navigator:m.value.navigator},b=l((function(){return zn.bind(f.value.renderer.renderer.createElement)})),v=l((function(){return function(e){var t=e.autocomplete,n=e.autocompleteScopeApi,r=e.classNames,o=e.environment,a=e.isDetached,i=e.placeholder,l=void 0===i?"Search":i,s=e.propGetters,u=e.setIsModalOpen,c=e.state,d=e.translations,f=tr(o),p=s.getRootProps(dr({state:c,props:t.getRootProps({})},n)),m=f("div",dr({class:r.root},p)),g=f("div",{class:r.detachedContainer,onMouseDown:function(e){e.stopPropagation()}}),h=f("div",{class:r.detachedOverlay,children:[g],onMouseDown:function(){u(!1),t.setIsOpen(!1)}}),y=s.getLabelProps(dr({state:c,props:t.getLabelProps({})},n)),b=f("button",{class:r.submitButton,type:"submit",title:d.submitButtonTitle,children:[$n({environment:o})]}),v=f("label",dr({class:r.label,children:[b]},y)),w=f("button",{class:r.clearButton,type:"reset",title:d.clearButtonTitle,children:[Un({environment:o})]}),S=f("div",{class:r.loadingIndicator,children:[Vn({environment:o})]}),k=sr({class:r.input,environment:o,state:c,getInputProps:s.getInputProps,getInputPropsCore:t.getInputProps,autocompleteScopeApi:n,isDetached:a}),x=f("div",{class:r.inputWrapperPrefix,children:[v,S]}),_=f("div",{class:r.inputWrapperSuffix,children:[w]}),E=f("div",{class:r.inputWrapper,children:[k]}),O=s.getFormProps(dr({state:c,props:t.getFormProps({inputElement:k})},n)),C=f("form",dr({class:r.form,children:[x,E,_]},O)),P=s.getPanelProps(dr({state:c,props:t.getPanelProps({})},n)),j=f("div",dr({class:r.panel},P)),A=f("div",{class:r.detachedSearchButtonQuery,textContent:c.query}),T=f("div",{class:r.detachedSearchButtonPlaceholder,hidden:Boolean(c.query),textContent:l});if(a){var I=f("div",{class:r.detachedSearchButtonIcon,children:[$n({environment:o})]}),N=f("button",{type:"button",class:r.detachedSearchButton,title:d.detachedSearchButtonTitle,id:y.id,onClick:function(){u(!0)},children:[I,T,A]}),L=f("button",{type:"button",class:r.detachedCancelButton,textContent:d.detachedCancelButtonText,onTouchStart:function(e){e.stopPropagation()},onClick:function(){t.setIsOpen(!1),u(!1)}}),R=f("div",{class:r.detachedFormContainer,children:[C,L]});g.appendChild(R),m.appendChild(N)}else m.appendChild(C);return{detachedContainer:g,detachedOverlay:h,detachedSearchButtonQuery:A,detachedSearchButtonPlaceholder:T,inputWrapper:E,input:k,root:m,form:C,label:v,submitButton:b,clearButton:w,loadingIndicator:S,panel:j}}({autocomplete:m.value,autocompleteScopeApi:y,classNames:f.value.renderer.classNames,environment:f.value.core.environment,isDetached:p.value,placeholder:f.value.core.placeholder,propGetters:h,setIsModalOpen:x,state:g.current,translations:f.value.renderer.translations})}));function w(){Kn(v.value.panel,{style:p.value?{}:Io({panelPlacement:f.value.renderer.panelPlacement,container:v.value.root,form:v.value.form,environment:f.value.core.environment})})}function S(e){g.current=e;var t={autocomplete:m.value,autocompleteScopeApi:y,classNames:f.value.renderer.classNames,components:f.value.renderer.components,container:f.value.renderer.container,html:b.value,dom:v.value,panelContainer:p.value?v.value.detachedContainer:f.value.renderer.panelContainer,propGetters:h,state:g.current,renderer:f.value.renderer.renderer},n=!it(e)&&!u.current&&f.value.renderer.renderNoResults||f.value.renderer.render;!function(e){var t=e.autocomplete,n=e.autocompleteScopeApi,r=e.dom,o=e.propGetters,a=e.state;Yn(r.root,o.getRootProps(Do({state:a,props:t.getRootProps({})},n))),Yn(r.input,o.getInputProps(Do({state:a,props:t.getInputProps({inputElement:r.input}),inputElement:r.input},n))),Kn(r.label,{hidden:"stalled"===a.status}),Kn(r.loadingIndicator,{hidden:"stalled"!==a.status}),Kn(r.clearButton,{hidden:!a.query}),Kn(r.detachedSearchButtonQuery,{textContent:a.query}),Kn(r.detachedSearchButtonPlaceholder,{hidden:Boolean(a.query)})}(t),function(e,t){var n=t.autocomplete,r=t.autocompleteScopeApi,o=t.classNames,a=t.html,i=t.dom,l=t.panelContainer,s=t.propGetters,u=t.state,c=t.components,d=t.renderer;if(u.isOpen){l.contains(i.panel)||"loading"===u.status||l.appendChild(i.panel),i.panel.classList.toggle("aa-Panel--stalled","stalled"===u.status);var f=u.collections.filter((function(e){var t=e.source,n=e.items;return t.templates.noResults||n.length>0})).map((function(e,t){var i=e.source,l=e.items;return d.createElement("section",{key:t,className:o.source,"data-autocomplete-source-id":i.sourceId},i.templates.header&&d.createElement("div",{className:o.sourceHeader},i.templates.header({components:c,createElement:d.createElement,Fragment:d.Fragment,items:l,source:i,state:u,html:a})),i.templates.noResults&&0===l.length?d.createElement("div",{className:o.sourceNoResults},i.templates.noResults({components:c,createElement:d.createElement,Fragment:d.Fragment,source:i,state:u,html:a})):d.createElement("ul",Lo({className:o.list},s.getListProps(Do({state:u,props:n.getListProps({source:i})},r))),l.map((function(e){var t=n.getItemProps({item:e,source:i});return d.createElement("li",Lo({key:t.id,className:o.item},s.getItemProps(Do({state:u,props:t},r))),i.templates.item({components:c,createElement:d.createElement,Fragment:d.Fragment,item:e,state:u,html:a}))}))),i.templates.footer&&d.createElement("div",{className:o.sourceFooter},i.templates.footer({components:c,createElement:d.createElement,Fragment:d.Fragment,items:l,source:i,state:u,html:a})))})),p=d.createElement(d.Fragment,null,d.createElement("div",{className:o.panelLayout},f),d.createElement("div",{className:"aa-GradientBottom"})),m=f.reduce((function(e,t){return e[t.props["data-autocomplete-source-id"]]=t,e}),{});e(Do(Do({children:p,state:u,sections:f,elements:m},d),{},{components:c,html:a},r),i.panel)}else l.contains(i.panel)&&l.removeChild(i.panel)}(n,t)}function k(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};o();var t,n,r=f.value.renderer,i=r.components,l=Jo(r,Yo);c.current=Vo(l,f.value.core,{components:(t=i,n=function(e){return!e.value.hasOwnProperty("__autocomplete_componentName")},Object.entries(t).reduce((function(e,t){var r=Go(t,2),o=r[0],a=r[1];return n({key:o,value:a})?Ho(Ho({},e),{},qo({},o,a)):e}),{})),initialState:g.current},e),s(),a(),m.value.refresh().then((function(){S(g.current)}))}function x(e){e!==f.value.core.environment.document.body.contains(v.value.detachedOverlay)&&(e?(f.value.core.environment.document.body.appendChild(v.value.detachedOverlay),f.value.core.environment.document.body.classList.add("aa-Detached"),v.value.input.focus()):(f.value.core.environment.document.body.removeChild(v.value.detachedOverlay),f.value.core.environment.document.body.classList.remove("aa-Detached")))}return r((function(){var e=m.value.getEnvironmentProps({formElement:v.value.form,panelElement:v.value.panel,inputElement:v.value.input});return Kn(f.value.core.environment,e),function(){Kn(f.value.core.environment,Object.keys(e).reduce((function(e,t){return ea(ea({},e),{},ta({},t,void 0))}),{}))}})),r((function(){var e=p.value?f.value.core.environment.document.body:f.value.renderer.panelContainer,t=p.value?v.value.detachedOverlay:v.value.panel;return p.value&&g.current.isOpen&&x(!0),S(g.current),function(){e.contains(t)&&e.removeChild(t)}})),r((function(){var e=f.value.renderer.container;return e.appendChild(v.value.root),function(){e.removeChild(v.value.root)}})),r((function(){var e=be((function(e){S(e.state)}),0);return d.current=function(t){var n=t.state,r=t.prevState;(p.value&&r.isOpen!==n.isOpen&&x(n.isOpen),p.value||!n.isOpen||r.isOpen||w(),n.query!==r.query)&&f.value.core.environment.document.querySelectorAll(".aa-Panel--scrollable").forEach((function(e){0!==e.scrollTop&&(e.scrollTop=0)}));e({state:n})},function(){d.current=void 0}})),r((function(){var e=be((function(){var e=p.value;p.value=f.value.core.environment.matchMedia(f.value.renderer.detachedMediaQuery).matches,e!==p.value?k({}):requestAnimationFrame(w)}),20);return f.value.core.environment.addEventListener("resize",e),function(){f.value.core.environment.removeEventListener("resize",e)}})),r((function(){if(!p.value)return function(){};function e(e){v.value.detachedContainer.classList.toggle("aa-DetachedContainer--modal",e)}function t(t){e(t.matches)}var n=f.value.core.environment.matchMedia(getComputedStyle(f.value.core.environment.document.documentElement).getPropertyValue("--aa-detached-modal-media-query"));e(n.matches);var r=Boolean(n.addEventListener);return r?n.addEventListener("change",t):n.addListener(t),function(){r?n.removeEventListener("change",t):n.removeListener(t)}})),r((function(){return requestAnimationFrame(w),function(){}})),ea(ea({},y),{},{update:k,destroy:function(){o()}})}var ra=n(1141);const oa=n(774),aa=oa;var ia=n(689),la=n.n(ia);function sa(){const e=(0,l.zy)(),t=(0,l.W6)(),{siteConfig:{baseUrl:n}}=(0,se.A)(),[o,a]=(0,r.useState)({terms:[],isDocsOrBlog:!1});return(0,r.useEffect)((()=>{if(!e.state?.cmfcmfhighlight||0===e.state.cmfcmfhighlight.terms.length)return;a(e.state.cmfcmfhighlight);const{cmfcmfhighlight:n,...r}=e.state;t.replace({...e,state:r})}),[e.state?.cmfcmfhighlight,t,e]),(0,r.useEffect)((()=>{if(0===o.terms.length)return;const e=o.isDocsOrBlog?document.getElementsByTagName("article")[0]:document.getElementsByTagName("main")[0];if(!e)return;const t=new(la())(e),n={ignoreJoiners:!0};return t.mark(o.terms,n),()=>t.unmark(n)}),[o,n]),null}var ua=n(6503),ca=n(1482);function da(e){let{document:t}=e;const[n,r]=t.sectionRoute.split("#");let o=n;return r&&(o+="#"+r),o}const fa={documents:[],index:aa((function(){this.ref("id"),this.field("title"),this.field("content")}))};const pa=()=>{const e=(0,B.A)(),[t,n]=(0,r.useState)((()=>!!e&&"dark"===document.documentElement.getAttribute("data-theme")));(0,r.useEffect)((()=>{const e=new MutationObserver((()=>{n("dark"===document.documentElement.getAttribute("data-theme"))}));return e.observe(document.documentElement,{attributes:!0,attributeFilter:["data-theme"]}),()=>e.disconnect()}),[]);const{siteConfig:{baseUrl:o}}=(0,se.A)(),{titleBoost:a,contentBoost:i,tagsBoost:u,parentCategoriesBoost:c,indexDocSidebarParentCategories:d,maxSearchResults:f}=(0,ua.P_)("@cmfcmf/docusaurus-search-local"),p=(0,l.W6)(),{tags:m}=(0,ca.af)(),g=(0,r.useRef)(m);(0,r.useEffect)((()=>{g.current=m}),[m]);const h=(0,r.useRef)({}),y=async e=>{const t=h.current[e];switch(t?.state){case"ready":return t;case void 0:{const t=[];h.current[e]={state:"loading",callbacks:t};const n=await async function(e,t){{let r;try{const n=await fetch(`${e}search-index-${t}.json`);if(!n.ok)return fa;r=await n.json()}catch(n){return fa}return{documents:r.documents,index:aa.Index.load(r.index)}}}(o,e);return t.forEach((e=>e(n))),h.current[e]={state:"ready",...n}}case"loading":return new Promise((e=>{t.callbacks.push(e)}))}},b=(0,s.T)({message:"cmfcmf/d-s-l.searchBar.placeholder",description:"Placeholder shown in the searchbar"}),v=(0,r.useRef)(null),w=(0,r.useRef)(null);return(0,r.useEffect)((()=>{if(v.current)return w.current=na({container:v.current,placeholder:b,renderer:{createElement:r.createElement,Fragment:r.Fragment,render:ye.render},navigator:{navigate(e){let{item:t,itemUrl:n}=e;p.push(n,{cmfcmfhighlight:{terms:t.terms,isDocsOrBlog:"docs"===t.document.type||"blog"===t.document.type}})}},detachedMediaQuery:"",defaultActiveItemId:0,translations:{clearButtonTitle:(0,s.T)({message:"cmfcmf/d-s-l.searchBar.clearButtonTitle",description:"Title of the button to clear the current search input"}),detachedCancelButtonText:(0,s.T)({message:"cmfcmf/d-s-l.searchBar.detachedCancelButtonText",description:"Text of the button to close the detached search window"}),submitButtonTitle:(0,s.T)({message:"cmfcmf/d-s-l.searchBar.submitButtonTitle",description:"Title of the button to submit a new search"})},getSources(e){let{query:t}=e;return[{sourceId:"search-results",templates:{item(e){let{item:t}=e;const n=da(t);return r.createElement("a",{href:n,className:"aa-ItemLink",onClick:e=>{e.preventDefault(),p.push(n,{cmfcmfhighlight:{terms:t.terms,isDocsOrBlog:"docs"===t.document.type||"blog"===t.document.type}})}},r.createElement("div",{className:"aa-ItemContent"},r.createElement("div",{className:"aa-ItemContentBody"},r.createElement("div",{className:"aa-ItemContentTitle"},t.document.sectionTitle),t.document.pageTitle!==t.document.sectionTitle&&r.createElement("div",{className:"aa-ItemContentDescription"},t.document.pageTitle))),r.createElement("div",{className:"aa-ItemActions"},r.createElement("button",{className:"aa-ItemActionButton aa-DesktopOnly aa-ActiveOnly",type:"button",title:"Select"},r.createElement("svg",{viewBox:"0 0 24 24",width:"20",height:"20",fill:"currentColor"},r.createElement("path",{d:"M18.984 6.984h2.016v6h-15.188l3.609 3.609-1.406 1.406-6-6 6-6 1.406 1.406-3.609 3.609h13.172v-4.031z"})))))},noResults:()=>r.createElement("div",{className:"aa-ItemContent"},r.createElement("div",{className:"aa-ItemContentBody"},(0,s.T)({message:"cmfcmf/d-s-l.searchBar.noResults",description:"message shown if no results are found"})))},getItemUrl(e){let{item:t}=e;return da(t)},async getItems(){const e=g.current,n=await Promise.all(e.map((e=>y(e)))),r=(e=>oa.tokenizer(e).map((e=>e.str)))(t);return n.flatMap((e=>{let{index:t,documents:n}=e;return t.query((e=>{e.term(r,{fields:["title"],boost:a}),e.term(r,{fields:["title"],boost:a,wildcard:aa.Query.wildcard.TRAILING}),e.term(r,{fields:["content"],boost:i}),e.term(r,{fields:["content"],boost:i,wildcard:aa.Query.wildcard.TRAILING}),e.term(r,{fields:["tags"],boost:u}),e.term(r,{fields:["tags"],boost:u,wildcard:aa.Query.wildcard.TRAILING}),d&&(e.term(r,{fields:["sidebarParentCategories"],boost:c}),e.term(r,{fields:["sidebarParentCategories"],boost:c,wildcard:aa.Query.wildcard.TRAILING}))})).slice(0,f).map((e=>({document:n.find((t=>t.id.toString()===e.ref)),score:e.score,terms:r})))})).sort(((e,t)=>t.score-e.score)).slice(0,f)}}]}}),()=>w.current?.destroy()}),[f]),r.createElement(r.Fragment,null,r.createElement(ra.A,null,r.createElement("body",{"data-theme":t?"dark":"light"})),r.createElement(sa,null),r.createElement("div",{className:"dsla-search-wrapper"},r.createElement("div",{className:"dsla-search-field",ref:v,"data-tags":m.join(",")})))},ma={navbarSearchContainer:"navbarSearchContainer_Bca1"};function ga(e){let{children:t,className:n}=e;return(0,c.jsx)("div",{className:(0,o.A)(n,ma.navbarSearchContainer),children:t})}var ha=n(9802),ya=n(9048);var ba=n(2780);const va=e=>e.docs.find((t=>t.id===e.mainDocId));const wa={default:ae,localeDropdown:function(e){let{mobile:t,dropdownItemsBefore:n,dropdownItemsAfter:r,queryString:o="",...a}=e;const{i18n:{currentLocale:i,locales:u,localeConfigs:d}}=(0,se.A)(),f=(0,me.o)(),{search:p,hash:m}=(0,l.zy)(),g=[...n,...u.map((e=>{const n=`${`pathname://${f.createUrl({locale:e,fullyQualified:!1})}`}${p}${m}${o}`;return{label:d[e].label,lang:d[e].htmlLang,to:n,target:"_self",autoAddBaseUrl:!1,className:e===i?t?"menu__link--active":"dropdown__link--active":""}})),...r],h=t?(0,s.T)({message:"Languages",id:"theme.navbar.mobileLanguageDropdown.label",description:"The label for the mobile language switcher dropdown"}):d[i].label;return(0,c.jsx)(pe,{...a,mobile:t,label:(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(ge,{className:he}),h]}),items:g})},search:function(e){let{mobile:t,className:n}=e;return t?null:(0,c.jsx)(ga,{className:n,children:(0,c.jsx)(pa,{})})},dropdown:pe,html:function(e){let{value:t,className:n,mobile:r=!1,isDropdownItem:a=!1}=e;const i=a?"li":"div";return(0,c.jsx)(i,{className:(0,o.A)({navbar__item:!r&&!a,"menu__list-item":r},n),dangerouslySetInnerHTML:{__html:t}})},doc:function(e){let{docId:t,label:n,docsPluginId:r,...o}=e;const{activeDoc:a}=(0,ha.zK)(r),i=(0,ya.QB)(t,r),l=a?.path===i?.path;return null===i||i.unlisted&&!l?null:(0,c.jsx)(ae,{exact:!0,...o,isActive:()=>l||!!a?.sidebar&&a.sidebar===i.sidebar,label:n??i.id,to:i.path})},docSidebar:function(e){let{sidebarId:t,label:n,docsPluginId:r,...o}=e;const{activeDoc:a}=(0,ha.zK)(r),i=(0,ya.fW)(t,r).link;if(!i)throw new Error(`DocSidebarNavbarItem: Sidebar with ID "${t}" doesn't have anything to be linked to.`);return(0,c.jsx)(ae,{exact:!0,...o,isActive:()=>a?.sidebar===t,label:n??i.label,to:i.path})},docsVersion:function(e){let{label:t,to:n,docsPluginId:r,...o}=e;const a=(0,ya.Vd)(r)[0],i=t??a.label,l=n??(e=>e.docs.find((t=>t.id===e.mainDocId)))(a).path;return(0,c.jsx)(ae,{...o,label:i,to:l})},docsVersionDropdown:function(e){let{mobile:t,docsPluginId:n,dropdownActiveClassDisabled:r,dropdownItemsBefore:o,dropdownItemsAfter:a,...i}=e;const{search:u,hash:d}=(0,l.zy)(),f=(0,ha.zK)(n),p=(0,ha.jh)(n),{savePreferredVersionName:m}=(0,ba.g1)(n),g=p.map((e=>{const t=f.alternateDocVersions[e.name]??va(e);return{label:e.label,to:`${t.path}${u}${d}`,isActive:()=>e===f.activeVersion,onClick:()=>m(e.name)}})),h=[...o,...g,...a],y=(0,ya.Vd)(n)[0],b=t&&h.length>1?(0,s.T)({id:"theme.navbar.mobileVersionsDropdown.label",message:"Versions",description:"The label for the navbar versions dropdown on mobile view"}):y.label,v=t&&h.length>1?void 0:va(y).path;return h.length<=1?(0,c.jsx)(ae,{...i,mobile:t,label:b,to:v,isActive:r?()=>!1:void 0}):(0,c.jsx)(pe,{...i,mobile:t,label:b,to:v,items:h,isActive:r?()=>!1:void 0})}},Sa=wa;function ka(e){let{type:t,...n}=e;const r=function(e,t){return e&&"default"!==e?e:"items"in t?"dropdown":"default"}(t,n),o=Sa[r];if(!o)throw new Error(`No NavbarItem component found for type "${t}".`);return(0,c.jsx)(o,{...n})}function xa(){const e=(0,j.M)(),t=(0,w.p)().navbar.items;return(0,c.jsx)("ul",{className:"menu__list",children:t.map(((t,n)=>(0,r.createElement)(ka,{mobile:!0,...t,onClick:()=>e.toggle(),key:n})))})}function _a(e){return(0,c.jsx)("button",{...e,type:"button",className:"clean-btn navbar-sidebar__back",children:(0,c.jsx)(s.A,{id:"theme.navbar.mobileSidebarSecondaryMenu.backButtonLabel",description:"The label of the back button to return to main menu, inside the mobile navbar sidebar secondary menu (notably used to display the docs sidebar)",children:"\u2190 Back to main menu"})})}function Ea(){const e=0===(0,w.p)().navbar.items.length,t=D();return(0,c.jsxs)(c.Fragment,{children:[!e&&(0,c.jsx)(_a,{onClick:()=>t.hide()}),t.content]})}function Oa(){const e=(0,j.M)();var t;return void 0===(t=e.shown)&&(t=!0),(0,r.useEffect)((()=>(document.body.style.overflow=t?"hidden":"visible",()=>{document.body.style.overflow="visible"})),[t]),e.shouldRender?(0,c.jsx)(F,{header:(0,c.jsx)(Y,{}),primaryMenu:(0,c.jsx)(xa,{}),secondaryMenu:(0,c.jsx)(Ea,{})}):null}const Ca={navbarHideable:"navbarHideable_m1mJ",navbarHidden:"navbarHidden_jGov"};function Pa(e){return(0,c.jsx)("div",{role:"presentation",...e,className:(0,o.A)("navbar-sidebar__backdrop",e.className)})}function ja(e){let{children:t}=e;const{navbar:{hideOnScroll:n,style:a}}=(0,w.p)(),i=(0,j.M)(),{navbarRef:l,isNavbarVisible:d}=function(e){const[t,n]=(0,r.useState)(e),o=(0,r.useRef)(!1),a=(0,r.useRef)(0),i=(0,r.useCallback)((e=>{null!==e&&(a.current=e.getBoundingClientRect().height)}),[]);return(0,A.Mq)(((t,r)=>{let{scrollY:i}=t;if(!e)return;if(i=l?n(!1):i+u{if(!e)return;const r=t.location.hash;if(r?document.getElementById(r.substring(1)):void 0)return o.current=!0,void n(!1);n(!0)})),{navbarRef:i,isNavbarVisible:t}}(n);return(0,c.jsxs)("nav",{ref:l,"aria-label":(0,s.T)({id:"theme.NavBar.navAriaLabel",message:"Main",description:"The ARIA label for the main navigation"}),className:(0,o.A)("navbar","navbar--fixed-top",n&&[Ca.navbarHideable,!d&&Ca.navbarHidden],{"navbar--dark":"dark"===a,"navbar--primary":"primary"===a,"navbar-sidebar--show":i.shown}),children:[t,(0,c.jsx)(Pa,{onClick:i.toggle}),(0,c.jsx)(Oa,{})]})}var Aa=n(4609);const Ta={errorBoundaryError:"errorBoundaryError_a6uf",errorBoundaryFallback:"errorBoundaryFallback_VBag"};function Ia(e){return(0,c.jsx)("button",{type:"button",...e,children:(0,c.jsx)(s.A,{id:"theme.ErrorPageContent.tryAgain",description:"The label of the button to try again rendering when the React error boundary captures an error",children:"Try again"})})}function Na(e){let{error:t}=e;const n=(0,Aa.getErrorCausalChain)(t).map((e=>e.message)).join("\n\nCause:\n");return(0,c.jsx)("p",{className:Ta.errorBoundaryError,children:n})}class La extends r.Component{componentDidCatch(e,t){throw this.props.onError(e,t)}render(){return this.props.children}}const Ra="right";function Da(e){let{width:t=30,height:n=30,className:r,...o}=e;return(0,c.jsx)("svg",{className:r,width:t,height:n,viewBox:"0 0 30 30","aria-hidden":"true",...o,children:(0,c.jsx)("path",{stroke:"currentColor",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"2",d:"M4 7h22M4 15h22M4 23h22"})})}function Fa(){const{toggle:e,shown:t}=(0,j.M)();return(0,c.jsx)("button",{onClick:e,"aria-label":(0,s.T)({id:"theme.docs.sidebar.toggleSidebarButtonAriaLabel",message:"Toggle navigation bar",description:"The ARIA label for hamburger menu button of mobile navigation"}),"aria-expanded":t,className:"navbar__toggle clean-btn",type:"button",children:(0,c.jsx)(Da,{})})}const Ma={colorModeToggle:"colorModeToggle_DEke"};function Ba(e){let{items:t}=e;return(0,c.jsx)(c.Fragment,{children:t.map(((e,t)=>(0,c.jsx)(La,{onError:t=>new Error(`A theme navbar item failed to render.\nPlease double-check the following navbar item (themeConfig.navbar.items) of your Docusaurus config:\n${JSON.stringify(e,null,2)}`,{cause:t}),children:(0,c.jsx)(ka,{...e})},t)))})}function za(e){let{left:t,right:n}=e;return(0,c.jsxs)("div",{className:"navbar__inner",children:[(0,c.jsx)("div",{className:"navbar__items",children:t}),(0,c.jsx)("div",{className:"navbar__items navbar__items--right",children:n})]})}function $a(){const e=(0,j.M)(),t=(0,w.p)().navbar.items,[n,r]=function(e){function t(e){return"left"===(e.position??Ra)}return[e.filter(t),e.filter((e=>!t(e)))]}(t),o=t.find((e=>"search"===e.type));return(0,c.jsx)(za,{left:(0,c.jsxs)(c.Fragment,{children:[!e.disabled&&(0,c.jsx)(Fa,{}),(0,c.jsx)(G,{}),(0,c.jsx)(Ba,{items:n})]}),right:(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(Ba,{items:r}),(0,c.jsx)(H,{className:Ma.colorModeToggle}),!o&&(0,c.jsx)(ga,{children:(0,c.jsx)(pa,{})})]})})}function Ua(){return(0,c.jsx)(ja,{children:(0,c.jsx)($a,{})})}function Va(e){let{item:t}=e;const{to:n,href:r,label:o,prependBaseUrlToHref:a,...i}=t,l=(0,J.A)(n),s=(0,J.A)(r,{forcePrependBaseUrl:!0});return(0,c.jsxs)(Z.A,{className:"footer__link-item",...r?{href:a?s:r}:{to:l},...i,children:[o,r&&!(0,X.A)(r)&&(0,c.jsx)(te.A,{})]})}function Qa(e){let{item:t}=e;return t.html?(0,c.jsx)("li",{className:"footer__item",dangerouslySetInnerHTML:{__html:t.html}}):(0,c.jsx)("li",{className:"footer__item",children:(0,c.jsx)(Va,{item:t})},t.href??t.to)}function Wa(e){let{column:t}=e;return(0,c.jsxs)("div",{className:"col footer__col",children:[(0,c.jsx)("div",{className:"footer__title",children:t.title}),(0,c.jsx)("ul",{className:"footer__items clean-list",children:t.items.map(((e,t)=>(0,c.jsx)(Qa,{item:e},t)))})]})}function Ha(e){let{columns:t}=e;return(0,c.jsx)("div",{className:"row footer__links",children:t.map(((e,t)=>(0,c.jsx)(Wa,{column:e},t)))})}function qa(){return(0,c.jsx)("span",{className:"footer__link-separator",children:"\xb7"})}function Ga(e){let{item:t}=e;return t.html?(0,c.jsx)("span",{className:"footer__link-item",dangerouslySetInnerHTML:{__html:t.html}}):(0,c.jsx)(Va,{item:t})}function Ka(e){let{links:t}=e;return(0,c.jsx)("div",{className:"footer__links text--center",children:(0,c.jsx)("div",{className:"footer__links",children:t.map(((e,n)=>(0,c.jsxs)(r.Fragment,{children:[(0,c.jsx)(Ga,{item:e}),t.length!==n+1&&(0,c.jsx)(qa,{})]},n)))})})}function Ya(e){let{links:t}=e;return function(e){return"title"in e[0]}(t)?(0,c.jsx)(Ha,{columns:t}):(0,c.jsx)(Ka,{links:t})}var Za=n(975);const Ja={footerLogoLink:"footerLogoLink_BH7S"};function Xa(e){let{logo:t}=e;const{withBaseUrl:n}=(0,J.h)(),r={light:n(t.src),dark:n(t.srcDark??t.src)};return(0,c.jsx)(Za.A,{className:(0,o.A)("footer__logo",t.className),alt:t.alt,sources:r,width:t.width,height:t.height,style:t.style})}function ei(e){let{logo:t}=e;return t.href?(0,c.jsx)(Z.A,{href:t.href,className:Ja.footerLogoLink,target:t.target,children:(0,c.jsx)(Xa,{logo:t})}):(0,c.jsx)(Xa,{logo:t})}function ti(e){let{copyright:t}=e;return(0,c.jsx)("div",{className:"footer__copyright",dangerouslySetInnerHTML:{__html:t}})}function ni(e){let{style:t,links:n,logo:r,copyright:a}=e;return(0,c.jsx)("footer",{className:(0,o.A)("footer",{"footer--dark":"dark"===t}),children:(0,c.jsxs)("div",{className:"container container-fluid",children:[n,(r||a)&&(0,c.jsxs)("div",{className:"footer__bottom text--center",children:[r&&(0,c.jsx)("div",{className:"margin-bottom--sm",children:r}),a]})]})})}function ri(){const{footer:e}=(0,w.p)();if(!e)return null;const{copyright:t,links:n,logo:r,style:o}=e;return(0,c.jsx)(ni,{style:o,links:n&&n.length>0&&(0,c.jsx)(Ya,{links:n}),logo:r&&(0,c.jsx)(ei,{logo:r}),copyright:t&&(0,c.jsx)(ti,{copyright:t})})}const oi=r.memo(ri),ai=(0,T.fM)([M.a,S.oq,A.Tv,ba.VQ,i.Jx,function(e){let{children:t}=e;return(0,c.jsx)(I.y_,{children:(0,c.jsx)(j.e,{children:(0,c.jsx)(L,{children:t})})})}]);function ii(e){let{children:t}=e;return(0,c.jsx)(ai,{children:t})}var li=n(5225);function si(e){let{error:t,tryAgain:n}=e;return(0,c.jsx)("main",{className:"container margin-vert--xl",children:(0,c.jsx)("div",{className:"row",children:(0,c.jsxs)("div",{className:"col col--6 col--offset-3",children:[(0,c.jsx)(li.A,{as:"h1",className:"hero__title",children:(0,c.jsx)(s.A,{id:"theme.ErrorPageContent.title",description:"The title of the fallback page when the page crashed",children:"This page crashed."})}),(0,c.jsx)("div",{className:"margin-vert--lg",children:(0,c.jsx)(Ia,{onClick:n,className:"button button--primary shadow--lw"})}),(0,c.jsx)("hr",{}),(0,c.jsx)("div",{className:"margin-vert--md",children:(0,c.jsx)(Na,{error:t})})]})})})}const ui={mainWrapper:"mainWrapper_z2l0"};function ci(e){const{children:t,noFooter:n,wrapperClassName:r,title:l,description:s}=e;return(0,y.J)(),(0,c.jsxs)(ii,{children:[(0,c.jsx)(i.be,{title:l,description:s}),(0,c.jsx)(v,{}),(0,c.jsx)(P,{}),(0,c.jsx)(Ua,{}),(0,c.jsx)("div",{id:d,className:(0,o.A)(h.G.wrapper.main,ui.mainWrapper,r),children:(0,c.jsx)(a.A,{fallback:e=>(0,c.jsx)(si,{...e}),children:t})}),!n&&(0,c.jsx)(oi,{})]})}},20:(e,t,n)=>{"use strict";n.d(t,{A:()=>c});n(6540);var r=n(4783),o=n(8180),a=n(7639),i=n(6957),l=n(975),s=n(4848);function u(e){let{logo:t,alt:n,imageClassName:r}=e;const a={light:(0,o.A)(t.src),dark:(0,o.A)(t.srcDark||t.src)},i=(0,s.jsx)(l.A,{className:t.className,sources:a,height:t.height,width:t.width,alt:n,style:t.style});return r?(0,s.jsx)("div",{className:r,children:i}):i}function c(e){const{siteConfig:{title:t}}=(0,a.A)(),{navbar:{title:n,logo:l}}=(0,i.p)(),{imageClassName:c,titleClassName:d,...f}=e,p=(0,o.A)(l?.href||"/"),m=n?"":t,g=l?.alt??m;return(0,s.jsxs)(r.A,{to:p,...f,...l?.target&&{target:l.target},children:[l&&(0,s.jsx)(u,{logo:l,alt:g,imageClassName:c}),null!=n&&(0,s.jsx)("b",{className:d,children:n})]})}},1210:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});n(6540);var r=n(1141),o=n(4848);function a(e){let{locale:t,version:n,tag:a}=e;const i=t;return(0,o.jsxs)(r.A,{children:[t&&(0,o.jsx)("meta",{name:"docusaurus_locale",content:t}),n&&(0,o.jsx)("meta",{name:"docusaurus_version",content:n}),a&&(0,o.jsx)("meta",{name:"docusaurus_tag",content:a}),i&&(0,o.jsx)("meta",{name:"docsearch:language",content:i}),n&&(0,o.jsx)("meta",{name:"docsearch:version",content:n}),a&&(0,o.jsx)("meta",{name:"docsearch:docusaurus_tag",content:a})]})}},975:(e,t,n)=>{"use strict";n.d(t,{A:()=>c});var r=n(6540),o=n(5066),a=n(1062),i=n(7710);const l={themedComponent:"themedComponent_mlkZ","themedComponent--light":"themedComponent--light_NVdE","themedComponent--dark":"themedComponent--dark_xIcU"};var s=n(4848);function u(e){let{className:t,children:n}=e;const u=(0,a.A)(),{colorMode:c}=(0,i.G)();return(0,s.jsx)(s.Fragment,{children:(u?"dark"===c?["dark"]:["light"]:["light","dark"]).map((e=>{const a=n({theme:e,className:(0,o.A)(t,l.themedComponent,l[`themedComponent--${e}`])});return(0,s.jsx)(r.Fragment,{children:a},e)}))})}function c(e){const{sources:t,className:n,alt:r,...o}=e;return(0,s.jsx)(u,{className:n,children:e=>{let{theme:n,className:a}=e;return(0,s.jsx)("img",{src:t[n],alt:r,className:a,...o})}})}},4549:(e,t,n)=>{"use strict";n.d(t,{N:()=>y,u:()=>u});var r=n(6540),o=n(1712),a=n(6494),i=n(6350),l=n(4848);const s="ease-in-out";function u(e){let{initialState:t}=e;const[n,o]=(0,r.useState)(t??!1),a=(0,r.useCallback)((()=>{o((e=>!e))}),[]);return{collapsed:n,setCollapsed:o,toggleCollapsed:a}}const c={display:"none",overflow:"hidden",height:"0px"},d={display:"block",overflow:"visible",height:"auto"};function f(e,t){const n=t?c:d;e.style.display=n.display,e.style.overflow=n.overflow,e.style.height=n.height}function p(e){let{collapsibleRef:t,collapsed:n,animation:o}=e;const a=(0,r.useRef)(!1);(0,r.useEffect)((()=>{const e=t.current;function r(){const t=e.scrollHeight,n=o?.duration??function(e){if((0,i.O)())return 1;const t=e/36;return Math.round(10*(4+15*t**.25+t/5))}(t);return{transition:`height ${n}ms ${o?.easing??s}`,height:`${t}px`}}function l(){const t=r();e.style.transition=t.transition,e.style.height=t.height}if(!a.current)return f(e,n),void(a.current=!0);return e.style.willChange="height",function(){const t=requestAnimationFrame((()=>{n?(l(),requestAnimationFrame((()=>{e.style.height=c.height,e.style.overflow=c.overflow}))):(e.style.display="block",requestAnimationFrame((()=>{l()})))}));return()=>cancelAnimationFrame(t)}()}),[t,n,o])}function m(e){if(!o.A.canUseDOM)return e?c:d}function g(e){let{as:t="div",collapsed:n,children:o,animation:a,onCollapseTransitionEnd:i,className:s,disableSSRStyle:u}=e;const c=(0,r.useRef)(null);return p({collapsibleRef:c,collapsed:n,animation:a}),(0,l.jsx)(t,{ref:c,style:u?void 0:m(n),onTransitionEnd:e=>{"height"===e.propertyName&&(f(c.current,n),i?.(n))},className:s,children:o})}function h(e){let{collapsed:t,...n}=e;const[o,i]=(0,r.useState)(!t),[s,u]=(0,r.useState)(t);return(0,a.A)((()=>{t||i(!0)}),[t]),(0,a.A)((()=>{o&&u(t)}),[o,t]),o?(0,l.jsx)(g,{...n,collapsed:s}):null}function y(e){let{lazy:t,...n}=e;const r=t?h:g;return(0,l.jsx)(r,{...n})}},2:(e,t,n)=>{"use strict";n.d(t,{Mj:()=>g,oq:()=>m});var r=n(6540),o=n(1062),a=n(1269),i=n(4799),l=n(6957),s=n(4848);const u=(0,a.Wf)("docusaurus.announcement.dismiss"),c=(0,a.Wf)("docusaurus.announcement.id"),d=()=>"true"===u.get(),f=e=>u.set(String(e)),p=r.createContext(null);function m(e){let{children:t}=e;const n=function(){const{announcementBar:e}=(0,l.p)(),t=(0,o.A)(),[n,a]=(0,r.useState)((()=>!!t&&d()));(0,r.useEffect)((()=>{a(d())}),[]);const i=(0,r.useCallback)((()=>{f(!0),a(!0)}),[]);return(0,r.useEffect)((()=>{if(!e)return;const{id:t}=e;let n=c.get();"annoucement-bar"===n&&(n="announcement-bar");const r=t!==n;c.set(t),r&&f(!1),!r&&d()||a(!1)}),[e]),(0,r.useMemo)((()=>({isActive:!!e&&!n,close:i})),[e,n,i])}();return(0,s.jsx)(p.Provider,{value:n,children:t})}function g(){const e=(0,r.useContext)(p);if(!e)throw new i.dV("AnnouncementBarProvider");return e}},7710:(e,t,n)=>{"use strict";n.d(t,{G:()=>y,a:()=>h});var r=n(6540),o=n(1712),a=n(4799),i=n(1269),l=n(6957),s=n(4848);const u=r.createContext(void 0),c="theme",d=(0,i.Wf)(c),f={light:"light",dark:"dark"},p=e=>e===f.dark?f.dark:f.light,m=e=>o.A.canUseDOM?p(document.documentElement.getAttribute("data-theme")):p(e),g=e=>{d.set(p(e))};function h(e){let{children:t}=e;const n=function(){const{colorMode:{defaultMode:e,disableSwitch:t,respectPrefersColorScheme:n}}=(0,l.p)(),[o,a]=(0,r.useState)(m(e));(0,r.useEffect)((()=>{t&&d.del()}),[t]);const i=(0,r.useCallback)((function(t,r){void 0===r&&(r={});const{persist:o=!0}=r;t?(a(t),o&&g(t)):(a(n?window.matchMedia("(prefers-color-scheme: dark)").matches?f.dark:f.light:e),d.del())}),[n,e]);(0,r.useEffect)((()=>{document.documentElement.setAttribute("data-theme",p(o))}),[o]),(0,r.useEffect)((()=>{if(t)return;const e=e=>{if(e.key!==c)return;const t=d.get();null!==t&&i(p(t))};return window.addEventListener("storage",e),()=>window.removeEventListener("storage",e)}),[t,i]);const s=(0,r.useRef)(!1);return(0,r.useEffect)((()=>{if(t&&!n)return;const e=window.matchMedia("(prefers-color-scheme: dark)"),r=()=>{window.matchMedia("print").matches||s.current?s.current=window.matchMedia("print").matches:i(null)};return e.addListener(r),()=>e.removeListener(r)}),[i,t,n]),(0,r.useMemo)((()=>({colorMode:o,setColorMode:i,get isDarkTheme(){return o===f.dark},setLightTheme(){i(f.light)},setDarkTheme(){i(f.dark)}})),[o,i])}();return(0,s.jsx)(u.Provider,{value:n,children:t})}function y(){const e=(0,r.useContext)(u);if(null==e)throw new a.dV("ColorModeProvider","Please see https://docusaurus.io/docs/api/themes/configuration#use-color-mode.");return e}},2780:(e,t,n)=>{"use strict";n.d(t,{VQ:()=>y,XK:()=>w,g1:()=>v});var r=n(6540),o=n(9802),a=n(4598),i=n(6957),l=n(9048),s=n(4799),u=n(1269),c=n(4848);const d=e=>`docs-preferred-version-${e}`,f={save:(e,t,n)=>{(0,u.Wf)(d(e),{persistence:t}).set(n)},read:(e,t)=>(0,u.Wf)(d(e),{persistence:t}).get(),clear:(e,t)=>{(0,u.Wf)(d(e),{persistence:t}).del()}},p=e=>Object.fromEntries(e.map((e=>[e,{preferredVersionName:null}])));const m=r.createContext(null);function g(){const e=(0,o.Gy)(),t=(0,i.p)().docs.versionPersistence,n=(0,r.useMemo)((()=>Object.keys(e)),[e]),[a,l]=(0,r.useState)((()=>p(n)));(0,r.useEffect)((()=>{l(function(e){let{pluginIds:t,versionPersistence:n,allDocsData:r}=e;function o(e){const t=f.read(e,n);return r[e].versions.some((e=>e.name===t))?{preferredVersionName:t}:(f.clear(e,n),{preferredVersionName:null})}return Object.fromEntries(t.map((e=>[e,o(e)])))}({allDocsData:e,versionPersistence:t,pluginIds:n}))}),[e,t,n]);return[a,(0,r.useMemo)((()=>({savePreferredVersion:function(e,n){f.save(e,t,n),l((t=>({...t,[e]:{preferredVersionName:n}})))}})),[t])]}function h(e){let{children:t}=e;const n=g();return(0,c.jsx)(m.Provider,{value:n,children:t})}function y(e){let{children:t}=e;return l.C5?(0,c.jsx)(h,{children:t}):(0,c.jsx)(c.Fragment,{children:t})}function b(){const e=(0,r.useContext)(m);if(!e)throw new s.dV("DocsPreferredVersionContextProvider");return e}function v(e){void 0===e&&(e=a.W);const t=(0,o.ht)(e),[n,i]=b(),{preferredVersionName:l}=n[e];return{preferredVersion:t.versions.find((e=>e.name===l))??null,savePreferredVersionName:(0,r.useCallback)((t=>{i.savePreferredVersion(e,t)}),[i,e])}}function w(){const e=(0,o.Gy)(),[t]=b();function n(n){const r=e[n],{preferredVersionName:o}=t[n];return r.versions.find((e=>e.name===o))??null}const r=Object.keys(e);return Object.fromEntries(r.map((e=>[e,n(e)])))}},403:(e,t,n)=>{"use strict";n.d(t,{V:()=>s,t:()=>u});var r=n(6540),o=n(4799),a=n(4848);const i=Symbol("EmptyContext"),l=r.createContext(i);function s(e){let{children:t,name:n,items:o}=e;const i=(0,r.useMemo)((()=>n&&o?{name:n,items:o}:null),[n,o]);return(0,a.jsx)(l.Provider,{value:i,children:t})}function u(){const e=(0,r.useContext)(l);if(e===i)throw new o.dV("DocsSidebarProvider");return e}},3403:(e,t,n)=>{"use strict";n.d(t,{n:()=>l,r:()=>s});var r=n(6540),o=n(4799),a=n(4848);const i=r.createContext(null);function l(e){let{children:t,version:n}=e;return(0,a.jsx)(i.Provider,{value:n,children:t})}function s(){const e=(0,r.useContext)(i);if(null===e)throw new o.dV("DocsVersionProvider");return e}},5755:(e,t,n)=>{"use strict";n.d(t,{e:()=>p,M:()=>m});var r=n(6540),o=n(763),a=n(2216),i=n(6347),l=n(4799);function s(e){!function(e){const t=(0,i.W6)(),n=(0,l._q)(e);(0,r.useEffect)((()=>t.block(((e,t)=>n(e,t)))),[t,n])}(((t,n)=>{if("POP"===n)return e(t,n)}))}var u=n(6957),c=n(4848);const d=r.createContext(void 0);function f(){const e=function(){const e=(0,o.YL)(),{items:t}=(0,u.p)().navbar;return 0===t.length&&!e.component}(),t=(0,a.l)(),n=!e&&"mobile"===t,[i,l]=(0,r.useState)(!1);s((()=>{if(i)return l(!1),!1}));const c=(0,r.useCallback)((()=>{l((e=>!e))}),[]);return(0,r.useEffect)((()=>{"desktop"===t&&l(!1)}),[t]),(0,r.useMemo)((()=>({disabled:e,shouldRender:n,toggle:c,shown:i})),[e,n,c,i])}function p(e){let{children:t}=e;const n=f();return(0,c.jsx)(d.Provider,{value:n,children:t})}function m(){const e=r.useContext(d);if(void 0===e)throw new l.dV("NavbarMobileSidebarProvider");return e}},763:(e,t,n)=>{"use strict";n.d(t,{GX:()=>u,YL:()=>s,y_:()=>l});var r=n(6540),o=n(4799),a=n(4848);const i=r.createContext(null);function l(e){let{children:t}=e;const n=(0,r.useState)({component:null,props:null});return(0,a.jsx)(i.Provider,{value:n,children:t})}function s(){const e=(0,r.useContext)(i);if(!e)throw new o.dV("NavbarSecondaryMenuContentProvider");return e[0]}function u(e){let{component:t,props:n}=e;const a=(0,r.useContext)(i);if(!a)throw new o.dV("NavbarSecondaryMenuContentProvider");const[,l]=a,s=(0,o.Be)(n);return(0,r.useEffect)((()=>{l({component:t,props:s})}),[l,t,s]),(0,r.useEffect)((()=>()=>l({component:null,props:null})),[l]),null}},9503:(e,t,n)=>{"use strict";n.d(t,{w:()=>o,J:()=>a});var r=n(6540);const o="navigation-with-keyboard";function a(){(0,r.useEffect)((()=>{function e(e){"keydown"===e.type&&"Tab"===e.key&&document.body.classList.add(o),"mousedown"===e.type&&document.body.classList.remove(o)}return document.addEventListener("keydown",e),document.addEventListener("mousedown",e),()=>{document.body.classList.remove(o),document.removeEventListener("keydown",e),document.removeEventListener("mousedown",e)}}),[])}},2216:(e,t,n)=>{"use strict";n.d(t,{l:()=>l});var r=n(6540),o=n(1712);const a={desktop:"desktop",mobile:"mobile",ssr:"ssr"},i=996;function l(e){let{desktopBreakpoint:t=i}=void 0===e?{}:e;const[n,l]=(0,r.useState)((()=>"ssr"));return(0,r.useEffect)((()=>{function e(){l(function(e){if(!o.A.canUseDOM)throw new Error("getWindowSize() should only be called after React hydration");return window.innerWidth>e?a.desktop:a.mobile}(t))}return e(),window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e)}}),[t]),n}},8630:(e,t,n)=>{"use strict";n.d(t,{G:()=>r});const r={page:{blogListPage:"blog-list-page",blogPostPage:"blog-post-page",blogTagsListPage:"blog-tags-list-page",blogTagPostListPage:"blog-tags-post-list-page",docsDocPage:"docs-doc-page",docsTagsListPage:"docs-tags-list-page",docsTagDocListPage:"docs-tags-doc-list-page",mdxPage:"mdx-page"},wrapper:{main:"main-wrapper",blogPages:"blog-wrapper",docsPages:"docs-wrapper",mdxPages:"mdx-wrapper"},common:{editThisPage:"theme-edit-this-page",lastUpdated:"theme-last-updated",backToTopButton:"theme-back-to-top-button",codeBlock:"theme-code-block",admonition:"theme-admonition",unlistedBanner:"theme-unlisted-banner",admonitionType:e=>`theme-admonition-${e}`},layout:{},docs:{docVersionBanner:"theme-doc-version-banner",docVersionBadge:"theme-doc-version-badge",docBreadcrumbs:"theme-doc-breadcrumbs",docMarkdown:"theme-doc-markdown",docTocMobile:"theme-doc-toc-mobile",docTocDesktop:"theme-doc-toc-desktop",docFooter:"theme-doc-footer",docFooterTagsRow:"theme-doc-footer-tags-row",docFooterEditMetaRow:"theme-doc-footer-edit-meta-row",docSidebarContainer:"theme-doc-sidebar-container",docSidebarMenu:"theme-doc-sidebar-menu",docSidebarItemCategory:"theme-doc-sidebar-item-category",docSidebarItemLink:"theme-doc-sidebar-item-link",docSidebarItemCategoryLevel:e=>`theme-doc-sidebar-item-category-level-${e}`,docSidebarItemLinkLevel:e=>`theme-doc-sidebar-item-link-level-${e}`},blog:{}}},6350:(e,t,n)=>{"use strict";function r(){return window.matchMedia("(prefers-reduced-motion: reduce)").matches}n.d(t,{O:()=>r})},9048:(e,t,n)=>{"use strict";n.d(t,{d1:()=>C,Nr:()=>m,w8:()=>b,C5:()=>f,$S:()=>g,cC:()=>p,B5:()=>O,Vd:()=>x,QB:()=>E,fW:()=>_,OF:()=>k,Y:()=>w});var r=n(6540),o=n(6347),a=n(2831),i=n(9802),l=n(2780),s=n(3403),u=n(403);function c(e){return Array.from(new Set(e))}var d=n(260);const f=!!i.Gy;function p(e){const t=(0,s.r)();if(!e)return;const n=t.docs[e];if(!n)throw new Error(`no version doc found by id=${e}`);return n}function m(e){return"link"!==e.type||e.unlisted?"category"===e.type?function(e){if(e.href&&!e.linkUnlisted)return e.href;for(const t of e.items){const e=m(t);if(e)return e}}(e):void 0:e.href}function g(){const{pathname:e}=(0,o.zy)(),t=(0,u.t)();if(!t)throw new Error("Unexpected: cant find current sidebar in context");const n=S({sidebarItems:t.items,pathname:e,onlyCategories:!0}).slice(-1)[0];if(!n)throw new Error(`${e} is not associated with a category. useCurrentSidebarCategory() should only be used on category index pages.`);return n}const h=(e,t)=>void 0!==e&&(0,d.ys)(e,t),y=(e,t)=>e.some((e=>b(e,t)));function b(e,t){return"link"===e.type?h(e.href,t):"category"===e.type&&(h(e.href,t)||y(e.items,t))}function v(e,t){switch(e.type){case"category":return b(e,t)||e.items.some((e=>v(e,t)));case"link":return!e.unlisted||b(e,t);default:return!0}}function w(e,t){return(0,r.useMemo)((()=>e.filter((e=>v(e,t)))),[e,t])}function S(e){let{sidebarItems:t,pathname:n,onlyCategories:r=!1}=e;const o=[];return function e(t){for(const a of t)if("category"===a.type&&((0,d.ys)(a.href,n)||e(a.items))||"link"===a.type&&(0,d.ys)(a.href,n)){return r&&"category"!==a.type||o.unshift(a),!0}return!1}(t),o}function k(){const e=(0,u.t)(),{pathname:t}=(0,o.zy)(),n=(0,i.vT)()?.pluginData.breadcrumbs;return!1!==n&&e?S({sidebarItems:e.items,pathname:t}):null}function x(e){const{activeVersion:t}=(0,i.zK)(e),{preferredVersion:n}=(0,l.g1)(e),o=(0,i.r7)(e);return(0,r.useMemo)((()=>c([t,n,o].filter(Boolean))),[t,n,o])}function _(e,t){const n=x(t);return(0,r.useMemo)((()=>{const t=n.flatMap((e=>e.sidebars?Object.entries(e.sidebars):[])),r=t.find((t=>t[0]===e));if(!r)throw new Error(`Can't find any sidebar with id "${e}" in version${n.length>1?"s":""} ${n.map((e=>e.name)).join(", ")}".\nAvailable sidebar ids are:\n- ${t.map((e=>e[0])).join("\n- ")}`);return r[1]}),[e,n])}function E(e,t){const n=x(t);return(0,r.useMemo)((()=>{const t=n.flatMap((e=>e.docs)),r=t.find((t=>t.id===e));if(!r){if(n.flatMap((e=>e.draftIds)).includes(e))return null;throw new Error(`Couldn't find any doc with id "${e}" in version${n.length>1?"s":""} "${n.map((e=>e.name)).join(", ")}".\nAvailable doc ids are:\n- ${c(t.map((e=>e.id))).join("\n- ")}`)}return r}),[e,n])}function O(e){let{route:t}=e;const n=(0,o.zy)(),r=(0,s.r)(),i=t.routes,l=i.find((e=>(0,o.B6)(n.pathname,e)));if(!l)return null;const u=l.sidebar,c=u?r.docsSidebars[u]:void 0;return{docElement:(0,a.v)(i),sidebarName:u,sidebarItems:c}}function C(e){return e.filter((e=>!("category"===e.type||"link"===e.type)||!!m(e)))}},9817:(e,t,n)=>{"use strict";n.d(t,{e3:()=>p,be:()=>d,Jx:()=>m});var r=n(6540),o=n(5066),a=n(1141),i=n(3363);function l(){const e=r.useContext(i.o);if(!e)throw new Error("Unexpected: no Docusaurus route context found");return e}var s=n(8180),u=n(7639);var c=n(4848);function d(e){let{title:t,description:n,keywords:r,image:o,children:i}=e;const l=function(e){const{siteConfig:t}=(0,u.A)(),{title:n,titleDelimiter:r}=t;return e?.trim().length?`${e.trim()} ${r} ${n}`:n}(t),{withBaseUrl:d}=(0,s.h)(),f=o?d(o,{absolute:!0}):void 0;return(0,c.jsxs)(a.A,{children:[t&&(0,c.jsx)("title",{children:l}),t&&(0,c.jsx)("meta",{property:"og:title",content:l}),n&&(0,c.jsx)("meta",{name:"description",content:n}),n&&(0,c.jsx)("meta",{property:"og:description",content:n}),r&&(0,c.jsx)("meta",{name:"keywords",content:Array.isArray(r)?r.join(","):r}),f&&(0,c.jsx)("meta",{property:"og:image",content:f}),f&&(0,c.jsx)("meta",{name:"twitter:image",content:f}),i]})}const f=r.createContext(void 0);function p(e){let{className:t,children:n}=e;const i=r.useContext(f),l=(0,o.A)(i,t);return(0,c.jsxs)(f.Provider,{value:l,children:[(0,c.jsx)(a.A,{children:(0,c.jsx)("html",{className:l})}),n]})}function m(e){let{children:t}=e;const n=l(),r=`plugin-${n.plugin.name.replace(/docusaurus-(?:plugin|theme)-(?:content-)?/gi,"")}`;const a=`plugin-id-${n.plugin.id}`;return(0,c.jsx)(p,{className:(0,o.A)(r,a),children:t})}},4799:(e,t,n)=>{"use strict";n.d(t,{Be:()=>u,ZC:()=>l,_q:()=>i,dV:()=>s,fM:()=>c});var r=n(6540),o=n(6494),a=n(4848);function i(e){const t=(0,r.useRef)(e);return(0,o.A)((()=>{t.current=e}),[e]),(0,r.useCallback)((function(){return t.current(...arguments)}),[])}function l(e){const t=(0,r.useRef)();return(0,o.A)((()=>{t.current=e})),t.current}class s extends Error{constructor(e,t){super(),this.name="ReactContextError",this.message=`Hook ${this.stack?.split("\n")[1]?.match(/at (?:\w+\.)?(?\w+)/)?.groups.name??""} is called outside the <${e}>. ${t??""}`}}function u(e){const t=Object.entries(e);return t.sort(((e,t)=>e[0].localeCompare(t[0]))),(0,r.useMemo)((()=>e),t.flat())}function c(e){return t=>{let{children:n}=t;return(0,a.jsx)(a.Fragment,{children:e.reduceRight(((e,t)=>(0,a.jsx)(t,{children:e})),n)})}}},260:(e,t,n)=>{"use strict";n.d(t,{Dt:()=>l,ys:()=>i});var r=n(6540),o=n(2413),a=n(7639);function i(e,t){const n=e=>(!e||e.endsWith("/")?e:`${e}/`)?.toLowerCase();return n(e)===n(t)}function l(){const{baseUrl:e}=(0,a.A)().siteConfig;return(0,r.useMemo)((()=>function(e){let{baseUrl:t,routes:n}=e;function r(e){return e.path===t&&!0===e.exact}function o(e){return e.path===t&&!e.exact}return function e(t){if(0===t.length)return;return t.find(r)||e(t.filter(o).flatMap((e=>e.routes??[])))}(n)}({routes:o.A,baseUrl:e})),[e])}},4245:(e,t,n)=>{"use strict";n.d(t,{Mq:()=>f,Tv:()=>u,gk:()=>p});var r=n(6540),o=n(1712),a=n(1062),i=(n(6494),n(4799)),l=n(4848);const s=r.createContext(void 0);function u(e){let{children:t}=e;const n=function(){const e=(0,r.useRef)(!0);return(0,r.useMemo)((()=>({scrollEventsEnabledRef:e,enableScrollEvents:()=>{e.current=!0},disableScrollEvents:()=>{e.current=!1}})),[])}();return(0,l.jsx)(s.Provider,{value:n,children:t})}function c(){const e=(0,r.useContext)(s);if(null==e)throw new i.dV("ScrollControllerProvider");return e}const d=()=>o.A.canUseDOM?{scrollX:window.pageXOffset,scrollY:window.pageYOffset}:null;function f(e,t){void 0===t&&(t=[]);const{scrollEventsEnabledRef:n}=c(),o=(0,r.useRef)(d()),a=(0,i._q)(e);(0,r.useEffect)((()=>{const e=()=>{if(!n.current)return;const e=d();a(e,o.current),o.current=e},t={passive:!0};return e(),window.addEventListener("scroll",e,t),()=>window.removeEventListener("scroll",e,t)}),[a,n,...t])}function p(){const e=(0,r.useRef)(null),t=(0,a.A)()&&"smooth"===getComputedStyle(document.documentElement).scrollBehavior;return{startScroll:n=>{e.current=t?function(e){return window.scrollTo({top:e,behavior:"smooth"}),()=>{}}(n):function(e){let t=null;const n=document.documentElement.scrollTop>e;return function r(){const o=document.documentElement.scrollTop;(n&&o>e||!n&&ot&&cancelAnimationFrame(t)}(n)},cancelScroll:()=>e.current?.()}}},1482:(e,t,n)=>{"use strict";n.d(t,{Cy:()=>i,af:()=>s,tU:()=>l});var r=n(9802),o=n(7639),a=n(2780);const i="default";function l(e,t){return`docs-${e}-${t}`}function s(){const{i18n:e}=(0,o.A)(),t=(0,r.Gy)(),n=(0,r.gk)(),s=(0,a.XK)();const u=[i,...Object.keys(t).map((function(e){const r=n?.activePlugin.pluginId===e?n.activeVersion:void 0,o=s[e],a=t[e].versions.find((e=>e.isLast));return l(e,(r??o??a).name)}))];return{locale:e.currentLocale,tags:u}}},1269:(e,t,n)=>{"use strict";n.d(t,{Wf:()=>s});n(6540);const r="localStorage";function o(e){let{key:t,oldValue:n,newValue:r,storage:o}=e;if(n===r)return;const a=document.createEvent("StorageEvent");a.initStorageEvent("storage",!1,!1,t,n,r,window.location.href,o),window.dispatchEvent(a)}function a(e){if(void 0===e&&(e=r),"undefined"==typeof window)throw new Error("Browser storage is not available on Node.js/Docusaurus SSR process.");if("none"===e)return null;try{return window[e]}catch(n){return t=n,i||(console.warn("Docusaurus browser storage is not available.\nPossible reasons: running Docusaurus in an iframe, in an incognito browser session, or using too strict browser privacy settings.",t),i=!0),null}var t}let i=!1;const l={get:()=>null,set:()=>{},del:()=>{},listen:()=>()=>{}};function s(e,t){if("undefined"==typeof window)return function(e){function t(){throw new Error(`Illegal storage API usage for storage key "${e}".\nDocusaurus storage APIs are not supposed to be called on the server-rendering process.\nPlease only call storage APIs in effects and event handlers.`)}return{get:t,set:t,del:t,listen:t}}(e);const n=a(t?.persistence);return null===n?l:{get:()=>{try{return n.getItem(e)}catch(t){return console.error(`Docusaurus storage error, can't get key=${e}`,t),null}},set:t=>{try{const r=n.getItem(e);n.setItem(e,t),o({key:e,oldValue:r,newValue:t,storage:n})}catch(r){console.error(`Docusaurus storage error, can't set ${e}=${t}`,r)}},del:()=>{try{const t=n.getItem(e);n.removeItem(e),o({key:e,oldValue:t,newValue:null,storage:n})}catch(t){console.error(`Docusaurus storage error, can't delete key=${e}`,t)}},listen:t=>{try{const r=r=>{r.storageArea===n&&r.key===e&&t(r)};return window.addEventListener("storage",r),()=>window.removeEventListener("storage",r)}catch(r){return console.error(`Docusaurus storage error, can't listen for changes of key=${e}`,r),()=>{}}}}}},2098:(e,t,n)=>{"use strict";n.d(t,{o:()=>i});var r=n(7639),o=n(6347),a=n(4609);function i(){const{siteConfig:{baseUrl:e,url:t,trailingSlash:n},i18n:{defaultLocale:i,currentLocale:l}}=(0,r.A)(),{pathname:s}=(0,o.zy)(),u=(0,a.applyTrailingSlash)(s,{trailingSlash:n,baseUrl:e}),c=l===i?e:e.replace(`/${l}/`,"/"),d=u.replace(e,"");return{createUrl:function(e){let{locale:n,fullyQualified:r}=e;return`${r?t:""}${function(e){return e===i?`${c}`:`${c}${e}/`}(n)}${d}`}}}},4067:(e,t,n)=>{"use strict";n.d(t,{$:()=>i});var r=n(6540),o=n(6347),a=n(4799);function i(e){const t=(0,o.zy)(),n=(0,a.ZC)(t),i=(0,a._q)(e);(0,r.useEffect)((()=>{n&&t!==n&&i({location:t,previousLocation:n})}),[i,t,n])}},6957:(e,t,n)=>{"use strict";n.d(t,{p:()=>o});var r=n(7639);function o(){return(0,r.A)().siteConfig.themeConfig}},4356:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){const{trailingSlash:n,baseUrl:r}=t;if(e.startsWith("#"))return e;if(void 0===n)return e;const[o]=e.split(/[#?]/),a="/"===o||o===r?o:(i=o,n?function(e){return e.endsWith("/")?e:`${e}/`}(i):function(e){return e.endsWith("/")?e.slice(0,-1):e}(i));var i;return e.replace(o,a)}},8274:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getErrorCausalChain=void 0,t.getErrorCausalChain=function e(t){return t.cause?[t,...e(t.cause)]:[t]}},4609:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.getErrorCausalChain=t.applyTrailingSlash=t.blogPostContainerID=void 0,t.blogPostContainerID="__blog-post-container";var o=n(4356);Object.defineProperty(t,"applyTrailingSlash",{enumerable:!0,get:function(){return r(o).default}});var a=n(8274);Object.defineProperty(t,"getErrorCausalChain",{enumerable:!0,get:function(){return a.getErrorCausalChain}})},1513:(e,t,n)=>{"use strict";n.d(t,{zR:()=>w,TM:()=>O,yJ:()=>p,sC:()=>P,AO:()=>f});var r=n(8168);function o(e){return"/"===e.charAt(0)}function a(e,t){for(var n=t,r=n+1,o=e.length;r=0;f--){var p=i[f];"."===p?a(i,f):".."===p?(a(i,f),d++):d&&(a(i,f),d--)}if(!u)for(;d--;d)i.unshift("..");!u||""===i[0]||i[0]&&o(i[0])||i.unshift("");var m=i.join("/");return n&&"/"!==m.substr(-1)&&(m+="/"),m};var l=n(1561);function s(e){return"/"===e.charAt(0)?e:"/"+e}function u(e){return"/"===e.charAt(0)?e.substr(1):e}function c(e,t){return function(e,t){return 0===e.toLowerCase().indexOf(t.toLowerCase())&&-1!=="/?#".indexOf(e.charAt(t.length))}(e,t)?e.substr(t.length):e}function d(e){return"/"===e.charAt(e.length-1)?e.slice(0,-1):e}function f(e){var t=e.pathname,n=e.search,r=e.hash,o=t||"/";return n&&"?"!==n&&(o+="?"===n.charAt(0)?n:"?"+n),r&&"#"!==r&&(o+="#"===r.charAt(0)?r:"#"+r),o}function p(e,t,n,o){var a;"string"==typeof e?(a=function(e){var t=e||"/",n="",r="",o=t.indexOf("#");-1!==o&&(r=t.substr(o),t=t.substr(0,o));var a=t.indexOf("?");return-1!==a&&(n=t.substr(a),t=t.substr(0,a)),{pathname:t,search:"?"===n?"":n,hash:"#"===r?"":r}}(e),a.state=t):(void 0===(a=(0,r.A)({},e)).pathname&&(a.pathname=""),a.search?"?"!==a.search.charAt(0)&&(a.search="?"+a.search):a.search="",a.hash?"#"!==a.hash.charAt(0)&&(a.hash="#"+a.hash):a.hash="",void 0!==t&&void 0===a.state&&(a.state=t));try{a.pathname=decodeURI(a.pathname)}catch(l){throw l instanceof URIError?new URIError('Pathname "'+a.pathname+'" could not be decoded. This is likely caused by an invalid percent-encoding.'):l}return n&&(a.key=n),o?a.pathname?"/"!==a.pathname.charAt(0)&&(a.pathname=i(a.pathname,o.pathname)):a.pathname=o.pathname:a.pathname||(a.pathname="/"),a}function m(){var e=null;var t=[];return{setPrompt:function(t){return e=t,function(){e===t&&(e=null)}},confirmTransitionTo:function(t,n,r,o){if(null!=e){var a="function"==typeof e?e(t,n):e;"string"==typeof a?"function"==typeof r?r(a,o):o(!0):o(!1!==a)}else o(!0)},appendListener:function(e){var n=!0;function r(){n&&e.apply(void 0,arguments)}return t.push(r),function(){n=!1,t=t.filter((function(e){return e!==r}))}},notifyListeners:function(){for(var e=arguments.length,n=new Array(e),r=0;rt?n.splice(t,n.length-t,o):n.push(o),d({action:r,location:o,index:t,entries:n})}}))},replace:function(e,t){var r="REPLACE",o=p(e,t,g(),w.location);c.confirmTransitionTo(o,r,n,(function(e){e&&(w.entries[w.index]=o,d({action:r,location:o}))}))},go:v,goBack:function(){v(-1)},goForward:function(){v(1)},canGo:function(e){var t=w.index+e;return t>=0&&t{"use strict";var r=n(4363),o={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},a={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},i={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},l={};function s(e){return r.isMemo(e)?i:l[e.$$typeof]||o}l[r.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},l[r.Memo]=i;var u=Object.defineProperty,c=Object.getOwnPropertyNames,d=Object.getOwnPropertySymbols,f=Object.getOwnPropertyDescriptor,p=Object.getPrototypeOf,m=Object.prototype;e.exports=function e(t,n,r){if("string"!=typeof n){if(m){var o=p(n);o&&o!==m&&e(t,o,r)}var i=c(n);d&&(i=i.concat(d(n)));for(var l=s(t),g=s(n),h=0;h{"use strict";e.exports=function(e,t,n,r,o,a,i,l){if(!e){var s;if(void 0===t)s=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var u=[n,r,o,a,i,l],c=0;(s=new Error(t.replace(/%s/g,(function(){return u[c++]})))).name="Invariant Violation"}throw s.framesToPop=1,s}}},4634:e=>{e.exports=Array.isArray||function(e){return"[object Array]"==Object.prototype.toString.call(e)}},689:function(e){e.exports=function(){"use strict";var e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},t=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},n=function(){function e(e,t){for(var n=0;n1&&void 0!==arguments[1])||arguments[1],o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:5e3;t(this,e),this.ctx=n,this.iframes=r,this.exclude=o,this.iframesTimeout=a}return n(e,[{key:"getContexts",value:function(){var e=[];return(void 0!==this.ctx&&this.ctx?NodeList.prototype.isPrototypeOf(this.ctx)?Array.prototype.slice.call(this.ctx):Array.isArray(this.ctx)?this.ctx:"string"==typeof this.ctx?Array.prototype.slice.call(document.querySelectorAll(this.ctx)):[this.ctx]:[]).forEach((function(t){var n=e.filter((function(e){return e.contains(t)})).length>0;-1!==e.indexOf(t)||n||e.push(t)})),e}},{key:"getIframeContents",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){},r=void 0;try{var o=e.contentWindow;if(r=o.document,!o||!r)throw new Error("iframe inaccessible")}catch(a){n()}r&&t(r)}},{key:"isIframeBlank",value:function(e){var t="about:blank",n=e.getAttribute("src").trim();return e.contentWindow.location.href===t&&n!==t&&n}},{key:"observeIframeLoad",value:function(e,t,n){var r=this,o=!1,a=null,i=function i(){if(!o){o=!0,clearTimeout(a);try{r.isIframeBlank(e)||(e.removeEventListener("load",i),r.getIframeContents(e,t,n))}catch(l){n()}}};e.addEventListener("load",i),a=setTimeout(i,this.iframesTimeout)}},{key:"onIframeReady",value:function(e,t,n){try{"complete"===e.contentWindow.document.readyState?this.isIframeBlank(e)?this.observeIframeLoad(e,t,n):this.getIframeContents(e,t,n):this.observeIframeLoad(e,t,n)}catch(r){n()}}},{key:"waitForIframes",value:function(e,t){var n=this,r=0;this.forEachIframe(e,(function(){return!0}),(function(e){r++,n.waitForIframes(e.querySelector("html"),(function(){--r||t()}))}),(function(e){e||t()}))}},{key:"forEachIframe",value:function(t,n,r){var o=this,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:function(){},i=t.querySelectorAll("iframe"),l=i.length,s=0;i=Array.prototype.slice.call(i);var u=function(){--l<=0&&a(s)};l||u(),i.forEach((function(t){e.matches(t,o.exclude)?u():o.onIframeReady(t,(function(e){n(t)&&(s++,r(e)),u()}),u)}))}},{key:"createIterator",value:function(e,t,n){return document.createNodeIterator(e,t,n,!1)}},{key:"createInstanceOnIframe",value:function(t){return new e(t.querySelector("html"),this.iframes)}},{key:"compareNodeIframe",value:function(e,t,n){if(e.compareDocumentPosition(n)&Node.DOCUMENT_POSITION_PRECEDING){if(null===t)return!0;if(t.compareDocumentPosition(n)&Node.DOCUMENT_POSITION_FOLLOWING)return!0}return!1}},{key:"getIteratorNode",value:function(e){var t=e.previousNode();return{prevNode:t,node:(null===t||e.nextNode())&&e.nextNode()}}},{key:"checkIframeFilter",value:function(e,t,n,r){var o=!1,a=!1;return r.forEach((function(e,t){e.val===n&&(o=t,a=e.handled)})),this.compareNodeIframe(e,t,n)?(!1!==o||a?!1===o||a||(r[o].handled=!0):r.push({val:n,handled:!0}),!0):(!1===o&&r.push({val:n,handled:!1}),!1)}},{key:"handleOpenIframes",value:function(e,t,n,r){var o=this;e.forEach((function(e){e.handled||o.getIframeContents(e.val,(function(e){o.createInstanceOnIframe(e).forEachNode(t,n,r)}))}))}},{key:"iterateThroughNodes",value:function(e,t,n,r,o){for(var a=this,i=this.createIterator(t,e,r),l=[],s=[],u=void 0,c=void 0,d=function(){var e=a.getIteratorNode(i);return c=e.prevNode,u=e.node};d();)this.iframes&&this.forEachIframe(t,(function(e){return a.checkIframeFilter(u,c,e,l)}),(function(t){a.createInstanceOnIframe(t).forEachNode(e,(function(e){return s.push(e)}),r)})),s.push(u);s.forEach((function(e){n(e)})),this.iframes&&this.handleOpenIframes(l,e,n,r),o()}},{key:"forEachNode",value:function(e,t,n){var r=this,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:function(){},a=this.getContexts(),i=a.length;i||o(),a.forEach((function(a){var l=function(){r.iterateThroughNodes(e,a,t,n,(function(){--i<=0&&o()}))};r.iframes?r.waitForIframes(a,l):l()}))}}],[{key:"matches",value:function(e,t){var n="string"==typeof t?[t]:t,r=e.matches||e.matchesSelector||e.msMatchesSelector||e.mozMatchesSelector||e.oMatchesSelector||e.webkitMatchesSelector;if(r){var o=!1;return n.every((function(t){return!r.call(e,t)||(o=!0,!1)})),o}return!1}}]),e}(),a=function(){function a(e){t(this,a),this.ctx=e,this.ie=!1;var n=window.navigator.userAgent;(n.indexOf("MSIE")>-1||n.indexOf("Trident")>-1)&&(this.ie=!0)}return n(a,[{key:"log",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"debug",r=this.opt.log;this.opt.debug&&"object"===(void 0===r?"undefined":e(r))&&"function"==typeof r[n]&&r[n]("mark.js: "+t)}},{key:"escapeStr",value:function(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}},{key:"createRegExp",value:function(e){return"disabled"!==this.opt.wildcards&&(e=this.setupWildcardsRegExp(e)),e=this.escapeStr(e),Object.keys(this.opt.synonyms).length&&(e=this.createSynonymsRegExp(e)),(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.setupIgnoreJoinersRegExp(e)),this.opt.diacritics&&(e=this.createDiacriticsRegExp(e)),e=this.createMergedBlanksRegExp(e),(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.createJoinersRegExp(e)),"disabled"!==this.opt.wildcards&&(e=this.createWildcardsRegExp(e)),e=this.createAccuracyRegExp(e)}},{key:"createSynonymsRegExp",value:function(e){var t=this.opt.synonyms,n=this.opt.caseSensitive?"":"i",r=this.opt.ignoreJoiners||this.opt.ignorePunctuation.length?"\0":"";for(var o in t)if(t.hasOwnProperty(o)){var a=t[o],i="disabled"!==this.opt.wildcards?this.setupWildcardsRegExp(o):this.escapeStr(o),l="disabled"!==this.opt.wildcards?this.setupWildcardsRegExp(a):this.escapeStr(a);""!==i&&""!==l&&(e=e.replace(new RegExp("("+this.escapeStr(i)+"|"+this.escapeStr(l)+")","gm"+n),r+"("+this.processSynomyms(i)+"|"+this.processSynomyms(l)+")"+r))}return e}},{key:"processSynomyms",value:function(e){return(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.setupIgnoreJoinersRegExp(e)),e}},{key:"setupWildcardsRegExp",value:function(e){return(e=e.replace(/(?:\\)*\?/g,(function(e){return"\\"===e.charAt(0)?"?":"\x01"}))).replace(/(?:\\)*\*/g,(function(e){return"\\"===e.charAt(0)?"*":"\x02"}))}},{key:"createWildcardsRegExp",value:function(e){var t="withSpaces"===this.opt.wildcards;return e.replace(/\u0001/g,t?"[\\S\\s]?":"\\S?").replace(/\u0002/g,t?"[\\S\\s]*?":"\\S*")}},{key:"setupIgnoreJoinersRegExp",value:function(e){return e.replace(/[^(|)\\]/g,(function(e,t,n){var r=n.charAt(t+1);return/[(|)\\]/.test(r)||""===r?e:e+"\0"}))}},{key:"createJoinersRegExp",value:function(e){var t=[],n=this.opt.ignorePunctuation;return Array.isArray(n)&&n.length&&t.push(this.escapeStr(n.join(""))),this.opt.ignoreJoiners&&t.push("\\u00ad\\u200b\\u200c\\u200d"),t.length?e.split(/\u0000+/).join("["+t.join("")+"]*"):e}},{key:"createDiacriticsRegExp",value:function(e){var t=this.opt.caseSensitive?"":"i",n=this.opt.caseSensitive?["a\xe0\xe1\u1ea3\xe3\u1ea1\u0103\u1eb1\u1eaf\u1eb3\u1eb5\u1eb7\xe2\u1ea7\u1ea5\u1ea9\u1eab\u1ead\xe4\xe5\u0101\u0105","A\xc0\xc1\u1ea2\xc3\u1ea0\u0102\u1eb0\u1eae\u1eb2\u1eb4\u1eb6\xc2\u1ea6\u1ea4\u1ea8\u1eaa\u1eac\xc4\xc5\u0100\u0104","c\xe7\u0107\u010d","C\xc7\u0106\u010c","d\u0111\u010f","D\u0110\u010e","e\xe8\xe9\u1ebb\u1ebd\u1eb9\xea\u1ec1\u1ebf\u1ec3\u1ec5\u1ec7\xeb\u011b\u0113\u0119","E\xc8\xc9\u1eba\u1ebc\u1eb8\xca\u1ec0\u1ebe\u1ec2\u1ec4\u1ec6\xcb\u011a\u0112\u0118","i\xec\xed\u1ec9\u0129\u1ecb\xee\xef\u012b","I\xcc\xcd\u1ec8\u0128\u1eca\xce\xcf\u012a","l\u0142","L\u0141","n\xf1\u0148\u0144","N\xd1\u0147\u0143","o\xf2\xf3\u1ecf\xf5\u1ecd\xf4\u1ed3\u1ed1\u1ed5\u1ed7\u1ed9\u01a1\u1edf\u1ee1\u1edb\u1edd\u1ee3\xf6\xf8\u014d","O\xd2\xd3\u1ece\xd5\u1ecc\xd4\u1ed2\u1ed0\u1ed4\u1ed6\u1ed8\u01a0\u1ede\u1ee0\u1eda\u1edc\u1ee2\xd6\xd8\u014c","r\u0159","R\u0158","s\u0161\u015b\u0219\u015f","S\u0160\u015a\u0218\u015e","t\u0165\u021b\u0163","T\u0164\u021a\u0162","u\xf9\xfa\u1ee7\u0169\u1ee5\u01b0\u1eeb\u1ee9\u1eed\u1eef\u1ef1\xfb\xfc\u016f\u016b","U\xd9\xda\u1ee6\u0168\u1ee4\u01af\u1eea\u1ee8\u1eec\u1eee\u1ef0\xdb\xdc\u016e\u016a","y\xfd\u1ef3\u1ef7\u1ef9\u1ef5\xff","Y\xdd\u1ef2\u1ef6\u1ef8\u1ef4\u0178","z\u017e\u017c\u017a","Z\u017d\u017b\u0179"]:["a\xe0\xe1\u1ea3\xe3\u1ea1\u0103\u1eb1\u1eaf\u1eb3\u1eb5\u1eb7\xe2\u1ea7\u1ea5\u1ea9\u1eab\u1ead\xe4\xe5\u0101\u0105A\xc0\xc1\u1ea2\xc3\u1ea0\u0102\u1eb0\u1eae\u1eb2\u1eb4\u1eb6\xc2\u1ea6\u1ea4\u1ea8\u1eaa\u1eac\xc4\xc5\u0100\u0104","c\xe7\u0107\u010dC\xc7\u0106\u010c","d\u0111\u010fD\u0110\u010e","e\xe8\xe9\u1ebb\u1ebd\u1eb9\xea\u1ec1\u1ebf\u1ec3\u1ec5\u1ec7\xeb\u011b\u0113\u0119E\xc8\xc9\u1eba\u1ebc\u1eb8\xca\u1ec0\u1ebe\u1ec2\u1ec4\u1ec6\xcb\u011a\u0112\u0118","i\xec\xed\u1ec9\u0129\u1ecb\xee\xef\u012bI\xcc\xcd\u1ec8\u0128\u1eca\xce\xcf\u012a","l\u0142L\u0141","n\xf1\u0148\u0144N\xd1\u0147\u0143","o\xf2\xf3\u1ecf\xf5\u1ecd\xf4\u1ed3\u1ed1\u1ed5\u1ed7\u1ed9\u01a1\u1edf\u1ee1\u1edb\u1edd\u1ee3\xf6\xf8\u014dO\xd2\xd3\u1ece\xd5\u1ecc\xd4\u1ed2\u1ed0\u1ed4\u1ed6\u1ed8\u01a0\u1ede\u1ee0\u1eda\u1edc\u1ee2\xd6\xd8\u014c","r\u0159R\u0158","s\u0161\u015b\u0219\u015fS\u0160\u015a\u0218\u015e","t\u0165\u021b\u0163T\u0164\u021a\u0162","u\xf9\xfa\u1ee7\u0169\u1ee5\u01b0\u1eeb\u1ee9\u1eed\u1eef\u1ef1\xfb\xfc\u016f\u016bU\xd9\xda\u1ee6\u0168\u1ee4\u01af\u1eea\u1ee8\u1eec\u1eee\u1ef0\xdb\xdc\u016e\u016a","y\xfd\u1ef3\u1ef7\u1ef9\u1ef5\xffY\xdd\u1ef2\u1ef6\u1ef8\u1ef4\u0178","z\u017e\u017c\u017aZ\u017d\u017b\u0179"],r=[];return e.split("").forEach((function(o){n.every((function(n){if(-1!==n.indexOf(o)){if(r.indexOf(n)>-1)return!1;e=e.replace(new RegExp("["+n+"]","gm"+t),"["+n+"]"),r.push(n)}return!0}))})),e}},{key:"createMergedBlanksRegExp",value:function(e){return e.replace(/[\s]+/gim,"[\\s]+")}},{key:"createAccuracyRegExp",value:function(e){var t=this,n="!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~\xa1\xbf",r=this.opt.accuracy,o="string"==typeof r?r:r.value,a="string"==typeof r?[]:r.limiters,i="";switch(a.forEach((function(e){i+="|"+t.escapeStr(e)})),o){case"partially":default:return"()("+e+")";case"complementary":return"()([^"+(i="\\s"+(i||this.escapeStr(n)))+"]*"+e+"[^"+i+"]*)";case"exactly":return"(^|\\s"+i+")("+e+")(?=$|\\s"+i+")"}}},{key:"getSeparatedKeywords",value:function(e){var t=this,n=[];return e.forEach((function(e){t.opt.separateWordSearch?e.split(" ").forEach((function(e){e.trim()&&-1===n.indexOf(e)&&n.push(e)})):e.trim()&&-1===n.indexOf(e)&&n.push(e)})),{keywords:n.sort((function(e,t){return t.length-e.length})),length:n.length}}},{key:"isNumeric",value:function(e){return Number(parseFloat(e))==e}},{key:"checkRanges",value:function(e){var t=this;if(!Array.isArray(e)||"[object Object]"!==Object.prototype.toString.call(e[0]))return this.log("markRanges() will only accept an array of objects"),this.opt.noMatch(e),[];var n=[],r=0;return e.sort((function(e,t){return e.start-t.start})).forEach((function(e){var o=t.callNoMatchOnInvalidRanges(e,r),a=o.start,i=o.end;o.valid&&(e.start=a,e.length=i-a,n.push(e),r=i)})),n}},{key:"callNoMatchOnInvalidRanges",value:function(e,t){var n=void 0,r=void 0,o=!1;return e&&void 0!==e.start?(r=(n=parseInt(e.start,10))+parseInt(e.length,10),this.isNumeric(e.start)&&this.isNumeric(e.length)&&r-t>0&&r-n>0?o=!0:(this.log("Ignoring invalid or overlapping range: "+JSON.stringify(e)),this.opt.noMatch(e))):(this.log("Ignoring invalid range: "+JSON.stringify(e)),this.opt.noMatch(e)),{start:n,end:r,valid:o}}},{key:"checkWhitespaceRanges",value:function(e,t,n){var r=void 0,o=!0,a=n.length,i=t-a,l=parseInt(e.start,10)-i;return(r=(l=l>a?a:l)+parseInt(e.length,10))>a&&(r=a,this.log("End range automatically set to the max value of "+a)),l<0||r-l<0||l>a||r>a?(o=!1,this.log("Invalid range: "+JSON.stringify(e)),this.opt.noMatch(e)):""===n.substring(l,r).replace(/\s+/g,"")&&(o=!1,this.log("Skipping whitespace only range: "+JSON.stringify(e)),this.opt.noMatch(e)),{start:l,end:r,valid:o}}},{key:"getTextNodes",value:function(e){var t=this,n="",r=[];this.iterator.forEachNode(NodeFilter.SHOW_TEXT,(function(e){r.push({start:n.length,end:(n+=e.textContent).length,node:e})}),(function(e){return t.matchesExclude(e.parentNode)?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT}),(function(){e({value:n,nodes:r})}))}},{key:"matchesExclude",value:function(e){return o.matches(e,this.opt.exclude.concat(["script","style","title","head","html"]))}},{key:"wrapRangeInTextNode",value:function(e,t,n){var r=this.opt.element?this.opt.element:"mark",o=e.splitText(t),a=o.splitText(n-t),i=document.createElement(r);return i.setAttribute("data-markjs","true"),this.opt.className&&i.setAttribute("class",this.opt.className),i.textContent=o.textContent,o.parentNode.replaceChild(i,o),a}},{key:"wrapRangeInMappedTextNode",value:function(e,t,n,r,o){var a=this;e.nodes.every((function(i,l){var s=e.nodes[l+1];if(void 0===s||s.start>t){if(!r(i.node))return!1;var u=t-i.start,c=(n>i.end?i.end:n)-i.start,d=e.value.substr(0,i.start),f=e.value.substr(c+i.start);if(i.node=a.wrapRangeInTextNode(i.node,u,c),e.value=d+f,e.nodes.forEach((function(t,n){n>=l&&(e.nodes[n].start>0&&n!==l&&(e.nodes[n].start-=c),e.nodes[n].end-=c)})),n-=c,o(i.node.previousSibling,i.start),!(n>i.end))return!1;t=i.end}return!0}))}},{key:"wrapMatches",value:function(e,t,n,r,o){var a=this,i=0===t?0:t+1;this.getTextNodes((function(t){t.nodes.forEach((function(t){t=t.node;for(var o=void 0;null!==(o=e.exec(t.textContent))&&""!==o[i];)if(n(o[i],t)){var l=o.index;if(0!==i)for(var s=1;s{"use strict";n.r(t)},8252:(e,t,n)=>{"use strict";n.r(t)},5947:function(e,t,n){var r,o;r=function(){var e,t,n={version:"0.2.0"},r=n.settings={minimum:.08,easing:"ease",positionUsing:"",speed:200,trickle:!0,trickleRate:.02,trickleSpeed:800,showSpinner:!0,barSelector:'[role="bar"]',spinnerSelector:'[role="spinner"]',parent:"body",template:'
'};function o(e,t,n){return en?n:e}function a(e){return 100*(-1+e)}function i(e,t,n){var o;return(o="translate3d"===r.positionUsing?{transform:"translate3d("+a(e)+"%,0,0)"}:"translate"===r.positionUsing?{transform:"translate("+a(e)+"%,0)"}:{"margin-left":a(e)+"%"}).transition="all "+t+"ms "+n,o}n.configure=function(e){var t,n;for(t in e)void 0!==(n=e[t])&&e.hasOwnProperty(t)&&(r[t]=n);return this},n.status=null,n.set=function(e){var t=n.isStarted();e=o(e,r.minimum,1),n.status=1===e?null:e;var a=n.render(!t),u=a.querySelector(r.barSelector),c=r.speed,d=r.easing;return a.offsetWidth,l((function(t){""===r.positionUsing&&(r.positionUsing=n.getPositioningCSS()),s(u,i(e,c,d)),1===e?(s(a,{transition:"none",opacity:1}),a.offsetWidth,setTimeout((function(){s(a,{transition:"all "+c+"ms linear",opacity:0}),setTimeout((function(){n.remove(),t()}),c)}),c)):setTimeout(t,c)})),this},n.isStarted=function(){return"number"==typeof n.status},n.start=function(){n.status||n.set(0);var e=function(){setTimeout((function(){n.status&&(n.trickle(),e())}),r.trickleSpeed)};return r.trickle&&e(),this},n.done=function(e){return e||n.status?n.inc(.3+.5*Math.random()).set(1):this},n.inc=function(e){var t=n.status;return t?("number"!=typeof e&&(e=(1-t)*o(Math.random()*t,.1,.95)),t=o(t+e,0,.994),n.set(t)):n.start()},n.trickle=function(){return n.inc(Math.random()*r.trickleRate)},e=0,t=0,n.promise=function(r){return r&&"resolved"!==r.state()?(0===t&&n.start(),e++,t++,r.always((function(){0==--t?(e=0,n.done()):n.set((e-t)/e)})),this):this},n.render=function(e){if(n.isRendered())return document.getElementById("nprogress");c(document.documentElement,"nprogress-busy");var t=document.createElement("div");t.id="nprogress",t.innerHTML=r.template;var o,i=t.querySelector(r.barSelector),l=e?"-100":a(n.status||0),u=document.querySelector(r.parent);return s(i,{transition:"all 0 linear",transform:"translate3d("+l+"%,0,0)"}),r.showSpinner||(o=t.querySelector(r.spinnerSelector))&&p(o),u!=document.body&&c(u,"nprogress-custom-parent"),u.appendChild(t),t},n.remove=function(){d(document.documentElement,"nprogress-busy"),d(document.querySelector(r.parent),"nprogress-custom-parent");var e=document.getElementById("nprogress");e&&p(e)},n.isRendered=function(){return!!document.getElementById("nprogress")},n.getPositioningCSS=function(){var e=document.body.style,t="WebkitTransform"in e?"Webkit":"MozTransform"in e?"Moz":"msTransform"in e?"ms":"OTransform"in e?"O":"";return t+"Perspective"in e?"translate3d":t+"Transform"in e?"translate":"margin"};var l=function(){var e=[];function t(){var n=e.shift();n&&n(t)}return function(n){e.push(n),1==e.length&&t()}}(),s=function(){var e=["Webkit","O","Moz","ms"],t={};function n(e){return e.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,(function(e,t){return t.toUpperCase()}))}function r(t){var n=document.body.style;if(t in n)return t;for(var r,o=e.length,a=t.charAt(0).toUpperCase()+t.slice(1);o--;)if((r=e[o]+a)in n)return r;return t}function o(e){return e=n(e),t[e]||(t[e]=r(e))}function a(e,t,n){t=o(t),e.style[t]=n}return function(e,t){var n,r,o=arguments;if(2==o.length)for(n in t)void 0!==(r=t[n])&&t.hasOwnProperty(n)&&a(e,n,r);else a(e,o[1],o[2])}}();function u(e,t){return("string"==typeof e?e:f(e)).indexOf(" "+t+" ")>=0}function c(e,t){var n=f(e),r=n+t;u(n,t)||(e.className=r.substring(1))}function d(e,t){var n,r=f(e);u(e,t)&&(n=r.replace(" "+t+" "," "),e.className=n.substring(1,n.length-1))}function f(e){return(" "+(e.className||"")+" ").replace(/\s+/gi," ")}function p(e){e&&e.parentNode&&e.parentNode.removeChild(e)}return n},void 0===(o="function"==typeof r?r.call(t,n,t,e):r)||(e.exports=o)},5302:(e,t,n)=>{var r=n(4634);e.exports=p,e.exports.parse=a,e.exports.compile=function(e,t){return l(a(e,t),t)},e.exports.tokensToFunction=l,e.exports.tokensToRegExp=f;var o=new RegExp(["(\\\\.)","([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))"].join("|"),"g");function a(e,t){for(var n,r=[],a=0,i=0,l="",c=t&&t.delimiter||"/";null!=(n=o.exec(e));){var d=n[0],f=n[1],p=n.index;if(l+=e.slice(i,p),i=p+d.length,f)l+=f[1];else{var m=e[i],g=n[2],h=n[3],y=n[4],b=n[5],v=n[6],w=n[7];l&&(r.push(l),l="");var S=null!=g&&null!=m&&m!==g,k="+"===v||"*"===v,x="?"===v||"*"===v,_=n[2]||c,E=y||b;r.push({name:h||a++,prefix:g||"",delimiter:_,optional:x,repeat:k,partial:S,asterisk:!!w,pattern:E?u(E):w?".*":"[^"+s(_)+"]+?"})}}return i{!function(e){e.languages.kotlin=e.languages.extend("clike",{keyword:{pattern:/(^|[^.])\b(?:abstract|actual|annotation|as|break|by|catch|class|companion|const|constructor|continue|crossinline|data|do|dynamic|else|enum|expect|external|final|finally|for|fun|get|if|import|in|infix|init|inline|inner|interface|internal|is|lateinit|noinline|null|object|open|operator|out|override|package|private|protected|public|reified|return|sealed|set|super|suspend|tailrec|this|throw|to|try|typealias|val|var|vararg|when|where|while)\b/,lookbehind:!0},function:[{pattern:/(?:`[^\r\n`]+`|\b\w+)(?=\s*\()/,greedy:!0},{pattern:/(\.)(?:`[^\r\n`]+`|\w+)(?=\s*\{)/,lookbehind:!0,greedy:!0}],number:/\b(?:0[xX][\da-fA-F]+(?:_[\da-fA-F]+)*|0[bB][01]+(?:_[01]+)*|\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?(?:[eE][+-]?\d+(?:_\d+)*)?[fFL]?)\b/,operator:/\+[+=]?|-[-=>]?|==?=?|!(?:!|==?)?|[\/*%<>]=?|[?:]:?|\.\.|&&|\|\||\b(?:and|inv|or|shl|shr|ushr|xor)\b/}),delete e.languages.kotlin["class-name"];var t={"interpolation-punctuation":{pattern:/^\$\{?|\}$/,alias:"punctuation"},expression:{pattern:/[\s\S]+/,inside:e.languages.kotlin}};e.languages.insertBefore("kotlin","string",{"string-literal":[{pattern:/"""(?:[^$]|\$(?:(?!\{)|\{[^{}]*\}))*?"""/,alias:"multiline",inside:{interpolation:{pattern:/\$(?:[a-z_]\w*|\{[^{}]*\})/i,inside:t},string:/[\s\S]+/}},{pattern:/"(?:[^"\\\r\n$]|\\.|\$(?:(?!\{)|\{[^{}]*\}))*"/,alias:"singleline",inside:{interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$(?:[a-z_]\w*|\{[^{}]*\})/i,lookbehind:!0,inside:t},string:/[\s\S]+/}}],char:{pattern:/'(?:[^'\\\r\n]|\\(?:.|u[a-fA-F0-9]{0,4}))'/,greedy:!0}}),delete e.languages.kotlin.string,e.languages.insertBefore("kotlin","keyword",{annotation:{pattern:/\B@(?:\w+:)?(?:[A-Z]\w*|\[[^\]]+\])/,alias:"builtin"}}),e.languages.insertBefore("kotlin","function",{label:{pattern:/\b\w+@|@\w+\b/,alias:"symbol"}}),e.languages.kt=e.languages.kotlin,e.languages.kts=e.languages.kotlin}(Prism)},9700:()=>{!function(e){function t(e,t){return"___"+e.toUpperCase()+t+"___"}Object.defineProperties(e.languages["markup-templating"]={},{buildPlaceholders:{value:function(n,r,o,a){if(n.language===r){var i=n.tokenStack=[];n.code=n.code.replace(o,(function(e){if("function"==typeof a&&!a(e))return e;for(var o,l=i.length;-1!==n.code.indexOf(o=t(r,l));)++l;return i[l]=e,o})),n.grammar=e.languages.markup}}},tokenizePlaceholders:{value:function(n,r){if(n.language===r&&n.tokenStack){n.grammar=e.languages[r];var o=0,a=Object.keys(n.tokenStack);!function i(l){for(var s=0;s=a.length);s++){var u=l[s];if("string"==typeof u||u.content&&"string"==typeof u.content){var c=a[o],d=n.tokenStack[c],f="string"==typeof u?u:u.content,p=t(r,c),m=f.indexOf(p);if(m>-1){++o;var g=f.substring(0,m),h=new e.Token(r,e.tokenize(d,n.grammar),"language-"+r,d),y=f.substring(m+p.length),b=[];g&&b.push.apply(b,i([g])),b.push(h),y&&b.push.apply(b,i([y])),"string"==typeof u?l.splice.apply(l,[s,1].concat(b)):u.content=b}}else u.content&&i(u.content)}return l}(n.tokens)}}}})}(Prism)},905:()=>{!function(e){var t=e.languages.powershell={comment:[{pattern:/(^|[^`])<#[\s\S]*?#>/,lookbehind:!0},{pattern:/(^|[^`])#.*/,lookbehind:!0}],string:[{pattern:/"(?:`[\s\S]|[^`"])*"/,greedy:!0,inside:null},{pattern:/'(?:[^']|'')*'/,greedy:!0}],namespace:/\[[a-z](?:\[(?:\[[^\]]*\]|[^\[\]])*\]|[^\[\]])*\]/i,boolean:/\$(?:false|true)\b/i,variable:/\$\w+\b/,function:[/\b(?:Add|Approve|Assert|Backup|Block|Checkpoint|Clear|Close|Compare|Complete|Compress|Confirm|Connect|Convert|ConvertFrom|ConvertTo|Copy|Debug|Deny|Disable|Disconnect|Dismount|Edit|Enable|Enter|Exit|Expand|Export|Find|ForEach|Format|Get|Grant|Group|Hide|Import|Initialize|Install|Invoke|Join|Limit|Lock|Measure|Merge|Move|New|Open|Optimize|Out|Ping|Pop|Protect|Publish|Push|Read|Receive|Redo|Register|Remove|Rename|Repair|Request|Reset|Resize|Resolve|Restart|Restore|Resume|Revoke|Save|Search|Select|Send|Set|Show|Skip|Sort|Split|Start|Step|Stop|Submit|Suspend|Switch|Sync|Tee|Test|Trace|Unblock|Undo|Uninstall|Unlock|Unprotect|Unpublish|Unregister|Update|Use|Wait|Watch|Where|Write)-[a-z]+\b/i,/\b(?:ac|cat|chdir|clc|cli|clp|clv|compare|copy|cp|cpi|cpp|cvpa|dbp|del|diff|dir|ebp|echo|epal|epcsv|epsn|erase|fc|fl|ft|fw|gal|gbp|gc|gci|gcs|gdr|gi|gl|gm|gp|gps|group|gsv|gu|gv|gwmi|iex|ii|ipal|ipcsv|ipsn|irm|iwmi|iwr|kill|lp|ls|measure|mi|mount|move|mp|mv|nal|ndr|ni|nv|ogv|popd|ps|pushd|pwd|rbp|rd|rdr|ren|ri|rm|rmdir|rni|rnp|rp|rv|rvpa|rwmi|sal|saps|sasv|sbp|sc|select|set|shcm|si|sl|sleep|sls|sort|sp|spps|spsv|start|sv|swmi|tee|trcm|type|write)\b/i],keyword:/\b(?:Begin|Break|Catch|Class|Continue|Data|Define|Do|DynamicParam|Else|ElseIf|End|Exit|Filter|Finally|For|ForEach|From|Function|If|InlineScript|Parallel|Param|Process|Return|Sequence|Switch|Throw|Trap|Try|Until|Using|Var|While|Workflow)\b/i,operator:{pattern:/(^|\W)(?:!|-(?:b?(?:and|x?or)|as|(?:Not)?(?:Contains|In|Like|Match)|eq|ge|gt|is(?:Not)?|Join|le|lt|ne|not|Replace|sh[lr])\b|-[-=]?|\+[+=]?|[*\/%]=?)/i,lookbehind:!0},punctuation:/[|{}[\];(),.]/};t.string[0].inside={function:{pattern:/(^|[^`])\$\((?:\$\([^\r\n()]*\)|(?!\$\()[^\r\n)])*\)/,lookbehind:!0,inside:t},boolean:t.boolean,variable:t.variable}}(Prism)},4793:()=>{Prism.languages.swift={comment:{pattern:/(^|[^\\:])(?:\/\/.*|\/\*(?:[^/*]|\/(?!\*)|\*(?!\/)|\/\*(?:[^*]|\*(?!\/))*\*\/)*\*\/)/,lookbehind:!0,greedy:!0},"string-literal":[{pattern:RegExp(/(^|[^"#])/.source+"(?:"+/"(?:\\(?:\((?:[^()]|\([^()]*\))*\)|\r\n|[^(])|[^\\\r\n"])*"/.source+"|"+/"""(?:\\(?:\((?:[^()]|\([^()]*\))*\)|[^(])|[^\\"]|"(?!""))*"""/.source+")"+/(?!["#])/.source),lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:/(\\\()(?:[^()]|\([^()]*\))*(?=\))/,lookbehind:!0,inside:null},"interpolation-punctuation":{pattern:/^\)|\\\($/,alias:"punctuation"},punctuation:/\\(?=[\r\n])/,string:/[\s\S]+/}},{pattern:RegExp(/(^|[^"#])(#+)/.source+"(?:"+/"(?:\\(?:#+\((?:[^()]|\([^()]*\))*\)|\r\n|[^#])|[^\\\r\n])*?"/.source+"|"+/"""(?:\\(?:#+\((?:[^()]|\([^()]*\))*\)|[^#])|[^\\])*?"""/.source+")\\2"),lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:/(\\#+\()(?:[^()]|\([^()]*\))*(?=\))/,lookbehind:!0,inside:null},"interpolation-punctuation":{pattern:/^\)|\\#+\($/,alias:"punctuation"},string:/[\s\S]+/}}],directive:{pattern:RegExp(/#/.source+"(?:"+/(?:elseif|if)\b/.source+"(?:[ \t]*"+/(?:![ \t]*)?(?:\b\w+\b(?:[ \t]*\((?:[^()]|\([^()]*\))*\))?|\((?:[^()]|\([^()]*\))*\))(?:[ \t]*(?:&&|\|\|))?/.source+")+|"+/(?:else|endif)\b/.source+")"),alias:"property",inside:{"directive-name":/^#\w+/,boolean:/\b(?:false|true)\b/,number:/\b\d+(?:\.\d+)*\b/,operator:/!|&&|\|\||[<>]=?/,punctuation:/[(),]/}},literal:{pattern:/#(?:colorLiteral|column|dsohandle|file(?:ID|Literal|Path)?|function|imageLiteral|line)\b/,alias:"constant"},"other-directive":{pattern:/#\w+\b/,alias:"property"},attribute:{pattern:/@\w+/,alias:"atrule"},"function-definition":{pattern:/(\bfunc\s+)\w+/,lookbehind:!0,alias:"function"},label:{pattern:/\b(break|continue)\s+\w+|\b[a-zA-Z_]\w*(?=\s*:\s*(?:for|repeat|while)\b)/,lookbehind:!0,alias:"important"},keyword:/\b(?:Any|Protocol|Self|Type|actor|as|assignment|associatedtype|associativity|async|await|break|case|catch|class|continue|convenience|default|defer|deinit|didSet|do|dynamic|else|enum|extension|fallthrough|fileprivate|final|for|func|get|guard|higherThan|if|import|in|indirect|infix|init|inout|internal|is|isolated|lazy|left|let|lowerThan|mutating|none|nonisolated|nonmutating|open|operator|optional|override|postfix|precedencegroup|prefix|private|protocol|public|repeat|required|rethrows|return|right|safe|self|set|some|static|struct|subscript|super|switch|throw|throws|try|typealias|unowned|unsafe|var|weak|where|while|willSet)\b/,boolean:/\b(?:false|true)\b/,nil:{pattern:/\bnil\b/,alias:"constant"},"short-argument":/\$\d+\b/,omit:{pattern:/\b_\b/,alias:"keyword"},number:/\b(?:[\d_]+(?:\.[\de_]+)?|0x[a-f0-9_]+(?:\.[a-f0-9p_]+)?|0b[01_]+|0o[0-7_]+)\b/i,"class-name":/\b[A-Z](?:[A-Z_\d]*[a-z]\w*)?\b/,function:/\b[a-z_]\w*(?=\s*\()/i,constant:/\b(?:[A-Z_]{2,}|k[A-Z][A-Za-z_]+)\b/,operator:/[-+*/%=!<>&|^~?]+|\.[.\-+*/%=!<>&|^~?]+/,punctuation:/[{}[\]();,.:\\]/},Prism.languages.swift["string-literal"].forEach((function(e){e.inside.interpolation.inside=Prism.languages.swift}))},6719:(e,t,n)=>{var r={"./prism-kotlin":9913,"./prism-powershell":905,"./prism-swift":4793};function o(e){var t=a(e);return n(t)}function a(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}o.keys=function(){return Object.keys(r)},o.resolve=a,e.exports=o,o.id=6719},2694:(e,t,n)=>{"use strict";var r=n(6925);function o(){}function a(){}a.resetWarningCache=o,e.exports=function(){function e(e,t,n,o,a,i){if(i!==r){var l=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw l.name="Invariant Violation",l}}function t(){return e}e.isRequired=e;var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:a,resetWarningCache:o};return n.PropTypes=n,n}},5556:(e,t,n)=>{e.exports=n(2694)()},6925:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},2551:(e,t,n)=>{"use strict";var r=n(6540),o=n(9982);function a(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n
\n

Your Docusaurus site did not load properly.

\n

A very common reason is a wrong site baseUrl configuration.

\n

Current configured baseUrl = ${e} ${"/"===e?" (default value)":""}

\n

We suggest trying baseUrl =

\n