From 195056cb4da852136c2038fadb7c8b0ff5923c91 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 5 Feb 2025 23:15:32 +0000 Subject: [PATCH] deploy: 2e257d6ea107db57203ec0b384745807badbf4a3 --- 404.html | 4 +- .../js/{main.3e881ece.js => main.6bbaa20c.js} | 4 +- ...CENSE.txt => main.6bbaa20c.js.LICENSE.txt} | 0 docs/category/getting-started/index.html | 4 +- docs/category/reference/index.html | 4 +- docs/getting-started/introduction/index.html | 4 +- docs/getting-started/quick-start/index.html | 4 +- docs/intro/index.html | 4 +- docs/reference/cron/index.html | 4 +- docs/reference/databases/index.html | 4 +- docs/reference/externaltypes/index.html | 4 +- docs/reference/ingress/index.html | 4 +- docs/reference/matrix/index.html | 4 +- docs/reference/pubsub/index.html | 4 +- docs/reference/retries/index.html | 4 +- docs/reference/secretsconfig/index.html | 4 +- docs/reference/types/index.html | 4 +- docs/reference/unittests/index.html | 4 +- docs/reference/verbs/index.html | 4 +- docs/reference/visibility/index.html | 4 +- img/docusaurus-social-card.jpg | Bin 55746 -> 126714 bytes img/docusaurus.png | Bin 5142 -> 0 bytes img/logo.svg | 1 - img/undraw_docusaurus_mountain.svg | 171 ------------------ img/undraw_docusaurus_react.svg | 170 ----------------- img/undraw_docusaurus_tree.svg | 40 ---- index.html | 4 +- search-index.json | 2 +- search/index.html | 4 +- 29 files changed, 43 insertions(+), 425 deletions(-) rename assets/js/{main.3e881ece.js => main.6bbaa20c.js} (79%) rename assets/js/{main.3e881ece.js.LICENSE.txt => main.6bbaa20c.js.LICENSE.txt} (100%) delete mode 100644 img/docusaurus.png delete mode 100644 img/logo.svg delete mode 100644 img/undraw_docusaurus_mountain.svg delete mode 100644 img/undraw_docusaurus_react.svg delete mode 100644 img/undraw_docusaurus_tree.svg diff --git a/404.html b/404.html index e426dce098..424f66bdec 100644 --- a/404.html +++ b/404.html @@ -3,9 +3,9 @@ -Page Not Found | FTL +Page Not Found | FTL - +
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/js/main.3e881ece.js b/assets/js/main.6bbaa20c.js similarity index 79% rename from assets/js/main.3e881ece.js rename to assets/js/main.6bbaa20c.js index 317ec86f61..f3501b6363 100644 --- a/assets/js/main.3e881ece.js +++ b/assets/js/main.6bbaa20c.js @@ -1,2 +1,2 @@ -/*! For license information please see main.3e881ece.js.LICENSE.txt */ -(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[792],{5928:(e,t,n)=>{var r={"./prism-bash":3724,"./prism-hcl":6719,"./prism-java":3966,"./prism-kotlin":7603};function a(e){var t=o(e);return n(t)}function o(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}a.keys=function(){return Object.keys(r)},a.resolve=o,e.exports=a,a.id=5928},6857:(e,t,n)=>{"use strict";n.d(t,{mg:()=>J,vd:()=>W});var r=n(8225),a=n(3108),o=n.n(a),i=n(2700),s=n.n(i),l=n(4009),u=n.n(l),c=n(9141),d=n.n(c);function f(){return f=Object.assign||function(e){for(var t=1;t=0||(a[n]=e[n]);return a}var m={BASE:"base",BODY:"body",HEAD:"head",HTML:"html",LINK:"link",META:"meta",NOSCRIPT:"noscript",SCRIPT:"script",STYLE:"style",TITLE:"title",FRAGMENT:"Symbol(react.fragment)"},y={rel:["amphtml","canonical","alternate"]},b={type:["application/ld+json"]},v={charset:"",name:["robots","description"],property:["og:type","og:title","og:url","og:image","og:image:alt","og:description","twitter:url","twitter:title","twitter:description","twitter:image","twitter:image:alt","twitter:card","twitter:site"]},w=Object.keys(m).map((function(e){return m[e]})),k={accesskey:"accessKey",charset:"charSet",class:"className",contenteditable:"contentEditable",contextmenu:"contextMenu","http-equiv":"httpEquiv",itemprop:"itemProp",tabindex:"tabIndex"},x=Object.keys(k).reduce((function(e,t){return e[k[t]]=t,e}),{}),S=function(e,t){for(var n=e.length-1;n>=0;n-=1){var r=e[n];if(Object.prototype.hasOwnProperty.call(r,t))return r[t]}return null},E=function(e){var t=S(e,m.TITLE),n=S(e,"titleTemplate");if(Array.isArray(t)&&(t=t.join("")),n&&t)return n.replace(/%s/g,(function(){return t}));var r=S(e,"defaultTitle");return t||r||void 0},_=function(e){return S(e,"onChangeClientState")||function(){}},C=function(e,t){return t.filter((function(t){return void 0!==t[e]})).map((function(t){return t[e]})).reduce((function(e,t){return f({},e,t)}),{})},A=function(e,t){return t.filter((function(e){return void 0!==e[m.BASE]})).map((function(e){return e[m.BASE]})).reverse().reduce((function(t,n){if(!t.length)for(var r=Object.keys(n),a=0;a/g,">").replace(/"/g,""").replace(/'/g,"'")},I=function(e){return Object.keys(e).reduce((function(t,n){var r=void 0!==e[n]?n+'="'+e[n]+'"':""+n;return t?t+" "+r:r}),"")},F=function(e,t){return void 0===t&&(t={}),Object.keys(e).reduce((function(t,n){return t[k[n]||n]=e[n],t}),t)},D=function(e,t){return t.map((function(t,n){var a,o=((a={key:n})["data-rh"]=!0,a);return Object.keys(t).forEach((function(e){var n=k[e]||e;"innerHTML"===n||"cssText"===n?o.dangerouslySetInnerHTML={__html:t.innerHTML||t.cssText}:o[n]=t[e]})),r.createElement(e,o)}))},M=function(e,t,n){switch(e){case m.TITLE:return{toComponent:function(){return n=t.titleAttributes,(a={key:e=t.title})["data-rh"]=!0,o=F(n,a),[r.createElement(m.TITLE,o,e)];var e,n,a,o},toString:function(){return function(e,t,n,r){var a=I(n),o=N(t);return a?"<"+e+' data-rh="true" '+a+">"+R(o,r)+"":"<"+e+' data-rh="true">'+R(o,r)+""}(e,t.title,t.titleAttributes,n)}};case"bodyAttributes":case"htmlAttributes":return{toComponent:function(){return F(t)},toString:function(){return I(t)}};default:return{toComponent:function(){return D(e,t)},toString:function(){return function(e,t,n){return t.reduce((function(t,r){var a=Object.keys(r).filter((function(e){return!("innerHTML"===e||"cssText"===e)})).reduce((function(e,t){var a=void 0===r[t]?t:t+'="'+R(r[t],n)+'"';return e?e+" "+a:a}),""),o=r.innerHTML||r.cssText||"",i=-1===j.indexOf(e);return t+"<"+e+' data-rh="true" '+a+(i?"/>":">"+o+"")}),"")}(e,t,n)}}}},z=function(e){var t=e.baseTag,n=e.bodyAttributes,r=e.encode,a=e.htmlAttributes,o=e.noscriptTags,i=e.styleTags,s=e.title,l=void 0===s?"":s,u=e.titleAttributes,c=e.linkTags,d=e.metaTags,f=e.scriptTags,p={toComponent:function(){},toString:function(){return""}};if(e.prioritizeSeoTags){var h=function(e){var t=e.linkTags,n=e.scriptTags,r=e.encode,a=P(e.metaTags,v),o=P(t,y),i=P(n,b);return{priorityMethods:{toComponent:function(){return[].concat(D(m.META,a.priority),D(m.LINK,o.priority),D(m.SCRIPT,i.priority))},toString:function(){return M(m.META,a.priority,r)+" "+M(m.LINK,o.priority,r)+" "+M(m.SCRIPT,i.priority,r)}},metaTags:a.default,linkTags:o.default,scriptTags:i.default}}(e);p=h.priorityMethods,c=h.linkTags,d=h.metaTags,f=h.scriptTags}return{priority:p,base:M(m.BASE,t,r),bodyAttributes:M("bodyAttributes",n,r),htmlAttributes:M("htmlAttributes",a,r),link:M(m.LINK,c,r),meta:M(m.META,d,r),noscript:M(m.NOSCRIPT,o,r),script:M(m.SCRIPT,f,r),style:M(m.STYLE,i,r),title:M(m.TITLE,{title:l,titleAttributes:u},r)}},$=[],B=function(e,t){var n=this;void 0===t&&(t="undefined"!=typeof document),this.instances=[],this.value={setHelmet:function(e){n.context.helmet=e},helmetInstances:{get:function(){return n.canUseDOM?$:n.instances},add:function(e){(n.canUseDOM?$:n.instances).push(e)},remove:function(e){var t=(n.canUseDOM?$:n.instances).indexOf(e);(n.canUseDOM?$:n.instances).splice(t,1)}}},this.context=e,this.canUseDOM=t,t||(e.helmet=z({baseTag:[],bodyAttributes:{},encodeSpecialCharacters:!0,htmlAttributes:{},linkTags:[],metaTags:[],noscriptTags:[],scriptTags:[],styleTags:[],title:"",titleAttributes:{}}))},U=r.createContext({}),H=o().shape({setHelmet:o().func,helmetInstances:o().shape({get:o().func,add:o().func,remove:o().func})}),V="undefined"!=typeof document,W=function(e){function t(n){var r;return(r=e.call(this,n)||this).helmetData=new B(r.props.context,t.canUseDOM),r}return p(t,e),t.prototype.render=function(){return r.createElement(U.Provider,{value:this.helmetData.value},this.props.children)},t}(r.Component);W.canUseDOM=V,W.propTypes={context:o().shape({helmet:o().shape()}),children:o().node.isRequired},W.defaultProps={context:{}},W.displayName="HelmetProvider";var Q=function(e,t){var n,r=document.head||document.querySelector(m.HEAD),a=r.querySelectorAll(e+"[data-rh]"),o=[].slice.call(a),i=[];return t&&t.length&&t.forEach((function(t){var r=document.createElement(e);for(var a in t)Object.prototype.hasOwnProperty.call(t,a)&&("innerHTML"===a?r.innerHTML=t.innerHTML:"cssText"===a?r.styleSheet?r.styleSheet.cssText=t.cssText:r.appendChild(document.createTextNode(t.cssText)):r.setAttribute(a,void 0===t[a]?"":t[a]));r.setAttribute("data-rh","true"),o.some((function(e,t){return n=t,r.isEqualNode(e)}))?o.splice(n,1):i.push(r)})),o.forEach((function(e){return e.parentNode.removeChild(e)})),i.forEach((function(e){return r.appendChild(e)})),{oldTags:o,newTags:i}},q=function(e,t){var n=document.getElementsByTagName(e)[0];if(n){for(var r=n.getAttribute("data-rh"),a=r?r.split(","):[],o=[].concat(a),i=Object.keys(t),s=0;s=0;d-=1)n.removeAttribute(o[d]);a.length===o.length?n.removeAttribute("data-rh"):n.getAttribute("data-rh")!==i.join(",")&&n.setAttribute("data-rh",i.join(","))}},G=function(e,t){var n=e.baseTag,r=e.htmlAttributes,a=e.linkTags,o=e.metaTags,i=e.noscriptTags,s=e.onChangeClientState,l=e.scriptTags,u=e.styleTags,c=e.title,d=e.titleAttributes;q(m.BODY,e.bodyAttributes),q(m.HTML,r),function(e,t){void 0!==e&&document.title!==e&&(document.title=N(e)),q(m.TITLE,t)}(c,d);var f={baseTag:Q(m.BASE,n),linkTags:Q(m.LINK,a),metaTags:Q(m.META,o),noscriptTags:Q(m.NOSCRIPT,i),scriptTags:Q(m.SCRIPT,l),styleTags:Q(m.STYLE,u)},p={},h={};Object.keys(f).forEach((function(e){var t=f[e],n=t.newTags,r=t.oldTags;n.length&&(p[e]=n),r.length&&(h[e]=f[e].oldTags)})),t&&t(),s(e,p,h)},K=null,Y=function(e){function t(){for(var t,n=arguments.length,r=new Array(n),a=0;a elements are self-closing and can not contain children. Refer to our API for more information.")}},n.flattenArrayTypeChildren=function(e){var t,n=e.child,r=e.arrayTypeChildren;return f({},r,((t={})[n.type]=[].concat(r[n.type]||[],[f({},e.newChildProps,this.mapNestedChildrenToProps(n,e.nestedChildren))]),t))},n.mapObjectTypeChildren=function(e){var t,n,r=e.child,a=e.newProps,o=e.newChildProps,i=e.nestedChildren;switch(r.type){case m.TITLE:return f({},a,((t={})[r.type]=i,t.titleAttributes=f({},o),t));case m.BODY:return f({},a,{bodyAttributes:f({},o)});case m.HTML:return f({},a,{htmlAttributes:f({},o)});default:return f({},a,((n={})[r.type]=f({},o),n))}},n.mapArrayTypeChildrenToProps=function(e,t){var n=f({},t);return Object.keys(e).forEach((function(t){var r;n=f({},n,((r={})[t]=e[t],r))})),n},n.warnOnInvalidChildren=function(e,t){return u()(w.some((function(t){return e.type===t})),"function"==typeof e.type?"You may be attempting to nest components within each other, which is not allowed. Refer to our API for more information.":"Only elements types "+w.join(", ")+" are allowed. Helmet does not support rendering <"+e.type+"> elements. Refer to our API for more information."),u()(!t||"string"==typeof t||Array.isArray(t)&&!t.some((function(e){return"string"!=typeof e})),"Helmet expects a string as a child of <"+e.type+">. Did you forget to wrap your children in braces? ( <"+e.type+">{``} ) Refer to our API for more information."),!0},n.mapChildrenToProps=function(e,t){var n=this,a={};return r.Children.forEach(e,(function(e){if(e&&e.props){var r=e.props,o=r.children,i=g(r,Z),s=Object.keys(i).reduce((function(e,t){return e[x[t]||t]=i[t],e}),{}),l=e.type;switch("symbol"==typeof l?l=l.toString():n.warnOnInvalidChildren(e,o),l){case m.FRAGMENT:t=n.mapChildrenToProps(o,t);break;case m.LINK:case m.META:case m.NOSCRIPT:case m.SCRIPT:case m.STYLE:a=n.flattenArrayTypeChildren({child:e,arrayTypeChildren:a,newChildProps:s,nestedChildren:o});break;default:t=n.mapObjectTypeChildren({child:e,newProps:t,newChildProps:s,nestedChildren:o})}}})),this.mapArrayTypeChildrenToProps(a,t)},n.render=function(){var e=this.props,t=e.children,n=g(e,X),a=f({},n),o=n.helmetData;return t&&(a=this.mapChildrenToProps(t,a)),!o||o instanceof B||(o=new B(o.context,o.instances)),o?r.createElement(Y,f({},a,{context:o.value,helmetData:void 0})):r.createElement(U.Consumer,null,(function(e){return r.createElement(Y,f({},a,{context:e}))}))},t}(r.Component);J.propTypes={base:o().object,bodyAttributes:o().object,children:o().oneOfType([o().arrayOf(o().node),o().node]),defaultTitle:o().string,defer:o().bool,encodeSpecialCharacters:o().bool,htmlAttributes:o().object,link:o().arrayOf(o().object),meta:o().arrayOf(o().object),noscript:o().arrayOf(o().object),onChangeClientState:o().func,script:o().arrayOf(o().object),style:o().arrayOf(o().object),title:o().string,titleAttributes:o().object,titleTemplate:o().string,prioritizeSeoTags:o().bool,helmetData:o().object},J.defaultProps={defer:!0,encodeSpecialCharacters:!0,prioritizeSeoTags:!1},J.displayName="Helmet"},9264:(e,t,n)=>{"use strict";n.d(t,{A:()=>f});n(8225);var r=n(8516),a=n.n(r),o=n(4054);const i={"0c429427":[()=>Promise.all([n.e(869),n.e(828)]).then(n.bind(n,7417)),"@site/docs/reference/verbs.md",7417],"0e384e19":[()=>n.e(976).then(n.bind(n,1527)),"@site/docs/intro.md",1527],"138e0e15":[()=>n.e(921).then(n.t.bind(n,1597,19)),"@generated/@easyops-cn/docusaurus-search-local/default/__plugin.json",1597],"14eb3368":[()=>Promise.all([n.e(869),n.e(969)]).then(n.bind(n,671)),"@theme/DocCategoryGeneratedIndexPage",671],17896441:[()=>Promise.all([n.e(869),n.e(401)]).then(n.bind(n,5308)),"@theme/DocItem",5308],"1a4e3797":[()=>Promise.all([n.e(869),n.e(138)]).then(n.bind(n,1600)),"@theme/SearchPage",1600],"1df93b7f":[()=>Promise.all([n.e(869),n.e(583)]).then(n.bind(n,9602)),"@site/src/pages/index.tsx",9602],"22e43cb6":[()=>Promise.all([n.e(869),n.e(278)]).then(n.bind(n,2377)),"@site/docs/reference/externaltypes.md",2377],"2f47396a":[()=>n.e(715).then(n.t.bind(n,7658,19)),"@generated/docusaurus-plugin-content-docs/default/p/ftl-docs-3d7.json",7658],"363ccc1a":[()=>Promise.all([n.e(869),n.e(954)]).then(n.bind(n,670)),"@site/docs/reference/ingress.md",670],"57ac2e6b":[()=>n.e(336).then(n.t.bind(n,9830,19)),"@generated/docusaurus-plugin-content-docs/default/p/ftl-docs-category-getting-started-909.json",9830],"588bd741":[()=>Promise.all([n.e(869),n.e(324)]).then(n.bind(n,9535)),"@site/docs/getting-started/quick-start.md",9535],"5e95c892":[()=>n.e(647).then(n.bind(n,1166)),"@theme/DocsRoot",1166],"5e9f5e1a":[()=>Promise.resolve().then(n.bind(n,4784)),"@generated/docusaurus.config",4784],"5ff8397d":[()=>n.e(501).then(n.bind(n,1656)),"@site/docs/reference/matrix.md",1656],69428829:[()=>Promise.all([n.e(869),n.e(57)]).then(n.bind(n,718)),"@site/docs/reference/retries.md",718],"8d4bacc3":[()=>Promise.all([n.e(869),n.e(523)]).then(n.bind(n,5443)),"@site/docs/reference/types.md",5443],"951cb223":[()=>Promise.all([n.e(869),n.e(788)]).then(n.bind(n,232)),"@site/docs/reference/pubsub.md",232],"9ff4038f":[()=>n.e(289).then(n.bind(n,7817)),"@site/docs/getting-started/introduction.md",7817],a54e9673:[()=>Promise.all([n.e(869),n.e(963)]).then(n.bind(n,4262)),"@site/docs/reference/databases.md",4262],a73fb9ef:[()=>Promise.all([n.e(869),n.e(678)]).then(n.bind(n,3908)),"@site/docs/reference/visibility.md",3908],a7456010:[()=>n.e(235).then(n.t.bind(n,8552,19)),"@generated/docusaurus-plugin-content-pages/default/__plugin.json",8552],a7bd4aaa:[()=>n.e(98).then(n.bind(n,6251)),"@theme/DocVersionRoot",6251],a94703ab:[()=>Promise.all([n.e(869),n.e(48)]).then(n.bind(n,5385)),"@theme/DocRoot",5385],aba21aa0:[()=>n.e(742).then(n.t.bind(n,7093,19)),"@generated/docusaurus-plugin-content-docs/default/__plugin.json",7093],b28dcff8:[()=>Promise.all([n.e(869),n.e(717)]).then(n.bind(n,6859)),"@site/docs/reference/secretsconfig.md",6859],d21d7921:[()=>Promise.all([n.e(869),n.e(85)]).then(n.bind(n,7501)),"@site/docs/reference/cron.md",7501],dd79201d:[()=>n.e(6).then(n.t.bind(n,8470,19)),"@generated/docusaurus-plugin-content-docs/default/p/ftl-docs-category-reference-eb8.json",8470],e56c35e3:[()=>n.e(744).then(n.bind(n,1223)),"@site/docs/reference/unittests.md",1223]};var s=n(7557);function l(e){let{error:t,retry:n,pastDelay:r}=e;return t?(0,s.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,s.jsx)("p",{children:String(t)}),(0,s.jsx)("div",{children:(0,s.jsx)("button",{type:"button",onClick:n,children:"Retry"})})]}):r?(0,s.jsx)("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",height:"100vh"},children:(0,s.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,s.jsxs)("g",{fill:"none",fillRule:"evenodd",transform:"translate(1 1)",strokeWidth:"2",children:[(0,s.jsxs)("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0",children:[(0,s.jsx)("animate",{attributeName:"r",begin:"1.5s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),(0,s.jsx)("animate",{attributeName:"stroke-opacity",begin:"1.5s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),(0,s.jsx)("animate",{attributeName:"stroke-width",begin:"1.5s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})]}),(0,s.jsxs)("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0",children:[(0,s.jsx)("animate",{attributeName:"r",begin:"3s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),(0,s.jsx)("animate",{attributeName:"stroke-opacity",begin:"3s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),(0,s.jsx)("animate",{attributeName:"stroke-width",begin:"3s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})]}),(0,s.jsx)("circle",{cx:"22",cy:"22",r:"8",children:(0,s.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(5402),c=n(3153);function d(e,t){if("*"===e)return a()({loading:l,loader:()=>n.e(566).then(n.bind(n,1566)),modules:["@theme/NotFound"],webpack:()=>[1566],render(e,t){const n=e.default;return(0,s.jsx)(c.W,{value:{plugin:{name:"native",id:"default"}},children:(0,s.jsx)(n,{...t})})}});const r=o[`${e}-${t}`],d={},f=[],p=[],h=(0,u.A)(r);return Object.entries(h).forEach((e=>{let[t,n]=e;const r=i[n];r&&(d[t]=r[0],f.push(r[1]),p.push(r[2]))})),a().Map({loading:l,loader:d,modules:f,webpack:()=>p,render(t,n){const a=JSON.parse(JSON.stringify(r));Object.entries(t).forEach((t=>{let[n,r]=t;const o=r.default;if(!o)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 o&&"function"!=typeof o||Object.keys(r).filter((e=>"default"!==e)).forEach((e=>{o[e]=r[e]}));let i=a;const s=n.split(".");s.slice(0,-1).forEach((e=>{i=i[e]})),i[s[s.length-1]]=o}));const o=a.__comp;delete a.__comp;const i=a.__context;delete a.__context;const l=a.__props;return delete a.__props,(0,s.jsx)(c.W,{value:i,children:(0,s.jsx)(o,{...a,...l,...n})})}})}const f=[{path:"/ftl/search",component:d("/ftl/search","366"),exact:!0},{path:"/ftl/docs",component:d("/ftl/docs","abb"),routes:[{path:"/ftl/docs",component:d("/ftl/docs","52c"),routes:[{path:"/ftl/docs",component:d("/ftl/docs","7aa"),routes:[{path:"/ftl/docs/category/getting-started",component:d("/ftl/docs/category/getting-started","d27"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ftl/docs/category/reference",component:d("/ftl/docs/category/reference","43e"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ftl/docs/getting-started/introduction",component:d("/ftl/docs/getting-started/introduction","f95"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ftl/docs/getting-started/quick-start",component:d("/ftl/docs/getting-started/quick-start","189"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ftl/docs/intro",component:d("/ftl/docs/intro","aee"),exact:!0},{path:"/ftl/docs/reference/cron",component:d("/ftl/docs/reference/cron","4cc"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ftl/docs/reference/databases",component:d("/ftl/docs/reference/databases","0f6"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ftl/docs/reference/externaltypes",component:d("/ftl/docs/reference/externaltypes","f69"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ftl/docs/reference/ingress",component:d("/ftl/docs/reference/ingress","294"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ftl/docs/reference/matrix",component:d("/ftl/docs/reference/matrix","0bc"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ftl/docs/reference/pubsub",component:d("/ftl/docs/reference/pubsub","8be"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ftl/docs/reference/retries",component:d("/ftl/docs/reference/retries","1df"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ftl/docs/reference/secretsconfig",component:d("/ftl/docs/reference/secretsconfig","c03"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ftl/docs/reference/types",component:d("/ftl/docs/reference/types","792"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ftl/docs/reference/unittests",component:d("/ftl/docs/reference/unittests","2de"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ftl/docs/reference/verbs",component:d("/ftl/docs/reference/verbs","54c"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ftl/docs/reference/visibility",component:d("/ftl/docs/reference/visibility","6a3"),exact:!0,sidebar:"tutorialSidebar"}]}]}]},{path:"/ftl/",component:d("/ftl/","0a1"),exact:!0},{path:"*",component:d("*")}]},8558:(e,t,n)=>{"use strict";n.d(t,{o:()=>o,x:()=>i});var r=n(8225),a=n(7557);const o=r.createContext(!1);function i(e){let{children:t}=e;const[n,i]=(0,r.useState)(!1);return(0,r.useEffect)((()=>{i(!0)}),[]),(0,a.jsx)(o.Provider,{value:n,children:t})}},3221:(e,t,n)=>{"use strict";var r=n(8225),a=n(1558),o=n(6857),i=n(737),s=n(4784),l=n(8286);const u=[n(4970),n(7539),n(8159),n(9860)];var c=n(9264),d=n(1654),f=n(4969),p=n(7557);function h(e){let{children:t}=e;return(0,p.jsx)(p.Fragment,{children:t})}var g=n(6455),m=n(8509),y=n(8614),b=n(8380),v=n(4840),w=n(5225),k=n(3865);var x=n(4481),S=n(928);function E(){const{i18n:{currentLocale:e,defaultLocale:t,localeConfigs:n}}=(0,m.A)(),r=(0,w.o)(),a=n[e].htmlLang,o=e=>e.replace("-","_");return(0,p.jsxs)(g.A,{children:[Object.entries(n).map((e=>{let[t,{htmlLang:n}]=e;return(0,p.jsx)("link",{rel:"alternate",href:r.createUrl({locale:t,fullyQualified:!0}),hrefLang:n},t)})),(0,p.jsx)("link",{rel:"alternate",href:r.createUrl({locale:t,fullyQualified:!0}),hrefLang:"x-default"}),(0,p.jsx)("meta",{property:"og:locale",content:o(a)}),Object.values(n).filter((e=>a!==e.htmlLang)).map((e=>(0,p.jsx)("meta",{property:"og:locale:alternate",content:o(e.htmlLang)},`meta-og-${e.htmlLang}`)))]})}function _(e){let{permalink:t}=e;const{siteConfig:{url:n}}=(0,m.A)(),r=function(){const{siteConfig:{url:e,baseUrl:t,trailingSlash:n}}=(0,m.A)(),{pathname:r}=(0,d.zy)();return e+(0,x.Ks)((0,y.Ay)(r),{trailingSlash:n,baseUrl:t})}(),a=t?`${n}${t}`:r;return(0,p.jsxs)(g.A,{children:[(0,p.jsx)("meta",{property:"og:url",content:a}),(0,p.jsx)("link",{rel:"canonical",href:a})]})}function C(){const{i18n:{currentLocale:e}}=(0,m.A)(),{metadata:t,image:n}=(0,b.p)();return(0,p.jsxs)(p.Fragment,{children:[(0,p.jsxs)(g.A,{children:[(0,p.jsx)("meta",{name:"twitter:card",content:"summary_large_image"}),(0,p.jsx)("body",{className:k.w})]}),n&&(0,p.jsx)(v.be,{image:n}),(0,p.jsx)(_,{}),(0,p.jsx)(E,{}),(0,p.jsx)(S.A,{tag:"default",locale:e}),(0,p.jsx)(g.A,{children:t.map(((e,t)=>(0,p.jsx)("meta",{...e},t)))})]})}const A=new Map;var T=n(8558),O=n(5036),N=n(932);function P(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()=>a.forEach((e=>e?.()))}const L=function(e){let{children:t,location:n,previousLocation:r}=e;return(0,N.A)((()=>{r!==n&&(!function(e){let{location:t,previousLocation:n}=e;if(!n)return;const r=t.pathname===n.pathname,a=t.hash===n.hash,o=t.search===n.search;if(r&&a&&!o)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}),P("onRouteDidUpdate",{previousLocation:r,location:n}))}),[r,n]),t};function j(e){const t=Array.from(new Set([e,decodeURI(e)])).map((e=>(0,f.u)(c.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?P("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=P("onRouteUpdate",{previousLocation:this.previousLocation,location:n}),j(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,p.jsx)(L,{previousLocation:this.previousLocation,location:t,children:(0,p.jsx)(d.qh,{location:t,render:()=>e})})}}const I=R,F="__docusaurus-base-url-issue-banner-suggestion-container";function D(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 = '__docusaurus-base-url-issue-banner-container';\n var bannerHtml = ${JSON.stringify(function(e){return`\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
\n`}(e)).replace(/{let{route:t}=e;return!0===t.exact})))return A.set(e.pathname,e.pathname),e;const t=e.pathname.trim().replace(/(?:\/index)?\.html$/,"")||"/";return A.set(e.pathname,t),{...e,pathname:t}}((0,d.zy)());return(0,p.jsx)(I,{location:e,children:V})}function Q(){return(0,p.jsx)(B.A,{children:(0,p.jsx)(O.l,{children:(0,p.jsxs)(T.x,{children:[(0,p.jsxs)(h,{children:[(0,p.jsx)($,{}),(0,p.jsx)(C,{}),(0,p.jsx)(z,{}),(0,p.jsx)(W,{})]}),(0,p.jsx)(H,{})]})})})}var q=n(4054);const G=function(e){try{return document.createElement("link").relList.supports(e)}catch{return!1}}("prefetch")?function(e){return new Promise(((t,n)=>{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 a=document.getElementsByTagName("head")[0]??document.getElementsByName("script")[0]?.parentNode;a?.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 K=n(5402);const Y=new Set,Z=new Set,X=()=>navigator.connection?.effectiveType.includes("2g")||navigator.connection?.saveData,J={prefetch:e=>{if(!(e=>!X()&&!Z.has(e)&&!Y.has(e))(e))return!1;Y.add(e);const t=(0,f.u)(c.A,e).flatMap((e=>{return t=e.route.path,Object.entries(q).filter((e=>{let[n]=e;return n.replace(/-[^-]+$/,"")===t})).flatMap((e=>{let[,t]=e;return Object.values((0,K.A)(t))}));var t}));return Promise.all(t.map((e=>{const t=n.gca(e);return t&&!t.includes("undefined")?G(t).catch((()=>{})):Promise.resolve()})))},preload:e=>!!(e=>!X()&&!Z.has(e))(e)&&(Z.add(e),j(e))},ee=Object.freeze(J);function te(e){let{children:t}=e;return"hash"===s.default.future.experimental_router?(0,p.jsx)(i.I9,{children:t}):(0,p.jsx)(i.Kd,{children:t})}const ne=Boolean(!0);if(l.A.canUseDOM){window.docusaurus=ee;const e=document.getElementById("__docusaurus"),t=(0,p.jsx)(o.vd,{children:(0,p.jsx)(te,{children:(0,p.jsx)(Q,{})})}),n=(e,t)=>{console.error("Docusaurus React Root onRecoverableError:",e,t)},i=()=>{if(window.docusaurusRoot)window.docusaurusRoot.render(t);else if(ne)window.docusaurusRoot=a.hydrateRoot(e,t,{onRecoverableError:n});else{const r=a.createRoot(e,{onRecoverableError:n});r.render(t),window.docusaurusRoot=r}};j(window.location.pathname).then((()=>{(0,r.startTransition)(i)}))}},5036:(e,t,n)=>{"use strict";n.d(t,{o:()=>d,l:()=>f});var r=n(8225),a=n(4784);const o=JSON.parse('{"docusaurus-plugin-content-docs":{"default":{"path":"/ftl/docs","versions":[{"name":"current","label":"Next","isLast":true,"path":"/ftl/docs","mainDocId":"getting-started/introduction","docs":[{"id":"getting-started/introduction","path":"/ftl/docs/getting-started/introduction","sidebar":"tutorialSidebar"},{"id":"getting-started/quick-start","path":"/ftl/docs/getting-started/quick-start","sidebar":"tutorialSidebar"},{"id":"intro","path":"/ftl/docs/intro"},{"id":"reference/cron","path":"/ftl/docs/reference/cron","sidebar":"tutorialSidebar"},{"id":"reference/databases","path":"/ftl/docs/reference/databases","sidebar":"tutorialSidebar"},{"id":"reference/externaltypes","path":"/ftl/docs/reference/externaltypes","sidebar":"tutorialSidebar"},{"id":"reference/ingress","path":"/ftl/docs/reference/ingress","sidebar":"tutorialSidebar"},{"id":"reference/matrix","path":"/ftl/docs/reference/matrix","sidebar":"tutorialSidebar"},{"id":"reference/pubsub","path":"/ftl/docs/reference/pubsub","sidebar":"tutorialSidebar"},{"id":"reference/retries","path":"/ftl/docs/reference/retries","sidebar":"tutorialSidebar"},{"id":"reference/secretsconfig","path":"/ftl/docs/reference/secretsconfig","sidebar":"tutorialSidebar"},{"id":"reference/types","path":"/ftl/docs/reference/types","sidebar":"tutorialSidebar"},{"id":"reference/unittests","path":"/ftl/docs/reference/unittests","sidebar":"tutorialSidebar"},{"id":"reference/verbs","path":"/ftl/docs/reference/verbs","sidebar":"tutorialSidebar"},{"id":"reference/visibility","path":"/ftl/docs/reference/visibility","sidebar":"tutorialSidebar"},{"id":"/category/getting-started","path":"/ftl/docs/category/getting-started","sidebar":"tutorialSidebar"},{"id":"/category/reference","path":"/ftl/docs/category/reference","sidebar":"tutorialSidebar"}],"draftIds":[],"sidebars":{"tutorialSidebar":{"link":{"path":"/ftl/docs/category/getting-started","label":"Getting Started"}}}}],"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 s=n(2654);const l=JSON.parse('{"docusaurusVersion":"3.7.0","siteVersion":"0.0.0","pluginVersions":{"docusaurus-plugin-content-docs":{"type":"package","name":"@docusaurus/plugin-content-docs","version":"3.7.0"},"docusaurus-plugin-content-pages":{"type":"package","name":"@docusaurus/plugin-content-pages","version":"3.7.0"},"docusaurus-plugin-sitemap":{"type":"package","name":"@docusaurus/plugin-sitemap","version":"3.7.0"},"docusaurus-plugin-svgr":{"type":"package","name":"@docusaurus/plugin-svgr","version":"3.7.0"},"docusaurus-theme-classic":{"type":"package","name":"@docusaurus/theme-classic","version":"3.7.0"},"@easyops-cn/docusaurus-search-local":{"type":"package","name":"@easyops-cn/docusaurus-search-local","version":"0.48.4"}}}');var u=n(7557);const c={siteConfig:a.default,siteMetadata:l,globalData:o,i18n:i,codeTranslations:s},d=r.createContext(c);function f(e){let{children:t}=e;return(0,u.jsx)(d.Provider,{value:c,children:t})}},3424:(e,t,n)=>{"use strict";n.d(t,{A:()=>g});var r=n(8225),a=n(8286),o=n(6455),i=n(4481),s=n(3492),l=n(3153),u=n(7557);function c(e){let{error:t,tryAgain:n}=e;return(0,u.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,u.jsx)("h1",{style:{fontSize:"3rem"},children:"This page crashed"}),(0,u.jsx)("button",{type:"button",onClick:n,style:{margin:"1rem 0",fontSize:"2rem",cursor:"pointer",borderRadius:20,padding:"1rem"},children:"Try again"}),(0,u.jsx)(d,{error:t})]})}function d(e){let{error:t}=e;const n=(0,i.rA)(t).map((e=>e.message)).join("\n\nCause:\n");return(0,u.jsx)("p",{style:{whiteSpace:"pre-wrap"},children:n})}function f(e){let{children:t}=e;return(0,u.jsx)(l.W,{value:{plugin:{name:"docusaurus-core-error-boundary",id:"default"}},children:t})}function p(e){let{error:t,tryAgain:n}=e;return(0,u.jsx)(f,{children:(0,u.jsxs)(g,{fallback:()=>(0,u.jsx)(c,{error:t,tryAgain:n}),children:[(0,u.jsx)(o.A,{children:(0,u.jsx)("title",{children:"Page Error"})}),(0,u.jsx)(s.A,{children:(0,u.jsx)(c,{error:t,tryAgain:n})})]})})}const h=e=>(0,u.jsx)(p,{...e});class g extends r.Component{constructor(e){super(e),this.state={error:null}}componentDidCatch(e){a.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??h)(e)}return e??null}}},8286:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});const r="undefined"!=typeof window&&"document"in window&&"createElement"in window.document,a={canUseDOM:r,canUseEventListeners:r&&("addEventListener"in window||"attachEvent"in window),canUseIntersectionObserver:r&&"IntersectionObserver"in window,canUseViewport:r&&"screen"in window}},6455:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});n(8225);var r=n(6857),a=n(7557);function o(e){return(0,a.jsx)(r.mg,{...e})}},4001:(e,t,n)=>{"use strict";n.d(t,{A:()=>p});var r=n(8225),a=n(737),o=n(4481),i=n(8509),s=n(3415),l=n(8286),u=n(3961),c=n(8614),d=n(7557);function f(e,t){let{isNavLink:n,to:f,href:p,activeClassName:h,isActive:g,"data-noBrokenLinkCheck":m,autoAddBaseUrl:y=!0,...b}=e;const{siteConfig:v}=(0,i.A)(),{trailingSlash:w,baseUrl:k}=v,x=v.future.experimental_router,{withBaseUrl:S}=(0,c.hH)(),E=(0,u.A)(),_=(0,r.useRef)(null);(0,r.useImperativeHandle)(t,(()=>_.current));const C=f||p;const A=(0,s.A)(C),T=C?.replace("pathname://","");let O=void 0!==T?(N=T,y&&(e=>e.startsWith("/"))(N)?S(N):N):void 0;var N;"hash"===x&&O?.startsWith("./")&&(O=O?.slice(1)),O&&A&&(O=(0,o.Ks)(O,{trailingSlash:w,baseUrl:k}));const P=(0,r.useRef)(!1),L=n?a.k2:a.N_,j=l.A.canUseIntersectionObserver,R=(0,r.useRef)(),I=()=>{P.current||null==O||(window.docusaurus.preload(O),P.current=!0)};(0,r.useEffect)((()=>(!j&&A&&l.A.canUseDOM&&null!=O&&window.docusaurus.prefetch(O),()=>{j&&R.current&&R.current.disconnect()})),[R,O,j,A]);const F=O?.startsWith("#")??!1,D=!b.target||"_self"===b.target,M=!O||!A||!D||F&&"hash"!==x;m||!F&&M||E.collectLink(O),b.id&&E.collectAnchor(b.id);const z={};return M?(0,d.jsx)("a",{ref:_,href:O,...C&&!A&&{target:"_blank",rel:"noopener noreferrer"},...b,...z}):(0,d.jsx)(L,{...b,onMouseEnter:I,onTouchStart:I,innerRef:e=>{_.current=e,j&&e&&A&&(R.current=new window.IntersectionObserver((t=>{t.forEach((t=>{e===t.target&&(t.isIntersecting||t.intersectionRatio>0)&&(R.current.unobserve(e),R.current.disconnect(),null!=O&&window.docusaurus.prefetch(O))}))})),R.current.observe(e))},to:O,...n&&{isActive:g,activeClassName:h},...z})}const p=r.forwardRef(f)},7615:(e,t,n)=>{"use strict";n.d(t,{A:()=>u,T:()=>l});var r=n(8225),a=n(7557);function o(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 s(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 l(e,t){let{message:n,id:r}=e;return o(s({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=s({message:t,id:n});return(0,a.jsx)(a.Fragment,{children:o(i,r)})}},1020:(e,t,n)=>{"use strict";n.d(t,{W:()=>r});const r="default"},3415:(e,t,n)=>{"use strict";function r(e){return/^(?:\w*:|\/\/)/.test(e)}function a(e){return void 0!==e&&!r(e)}n.d(t,{A:()=>a,z:()=>r})},8614:(e,t,n)=>{"use strict";n.d(t,{Ay:()=>s,hH:()=>i});var r=n(8225),a=n(8509),o=n(3415);function i(){const{siteConfig:e}=(0,a.A)(),{baseUrl:t,url:n}=e,i=e.future.experimental_router,s=(0,r.useCallback)(((e,r)=>function(e){let{siteUrl:t,baseUrl:n,url:r,options:{forcePrependBaseUrl:a=!1,absolute:i=!1}={},router:s}=e;if(!r||r.startsWith("#")||(0,o.z)(r))return r;if("hash"===s)return r.startsWith("/")?`.${r}`:`./${r}`;if(a)return n+r.replace(/^\//,"");if(r===n.replace(/\/$/,""))return n;const l=r.startsWith(n)?r:n+r.replace(/^\//,"");return i?t+l:l}({siteUrl:n,baseUrl:t,url:e,options:r,router:i})),[n,t,i]);return{withBaseUrl:s}}function s(e,t){void 0===t&&(t={});const{withBaseUrl:n}=i();return n(e,t)}},3961:(e,t,n)=>{"use strict";n.d(t,{A:()=>i});var r=n(8225);n(7557);const a=r.createContext({collectAnchor:()=>{},collectLink:()=>{}}),o=()=>(0,r.useContext)(a);function i(){return o()}},8509:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});var r=n(8225),a=n(5036);function o(){return(0,r.useContext)(a.o)}},224:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});var r=n(8225),a=n(8558);function o(){return(0,r.useContext)(a.o)}},932:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});var r=n(8225);const a=n(8286).A.canUseDOM?r.useLayoutEffect:r.useEffect},5402:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});const r=e=>"object"==typeof e&&!!e&&Object.keys(e).length>0;function a(e){const t={};return function e(n,a){Object.entries(n).forEach((n=>{let[o,i]=n;const s=a?`${a}.${o}`:o;r(i)?e(i,s):t[s]=i}))}(e),t}},3153:(e,t,n)=>{"use strict";n.d(t,{W:()=>i,o:()=>o});var r=n(8225),a=n(7557);const o=r.createContext(null);function i(e){let{children:t,value:n}=e;const i=r.useContext(o),s=(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,a.jsx)(o.Provider,{value:s,children:t})}},6219:(e,t,n)=>{"use strict";n.d(t,{VQ:()=>m,XK:()=>v,g1:()=>b});var r=n(8225),a=n(162),o=n(1020),i=n(8380),s=n(7931),l=n(5238),u=n(7557);const c=e=>`docs-preferred-version-${e}`,d={save:(e,t,n)=>{(0,s.Wf)(c(e),{persistence:t}).set(n)},read:(e,t)=>(0,s.Wf)(c(e),{persistence:t}).get(),clear:(e,t)=>{(0,s.Wf)(c(e),{persistence:t}).del()}},f=e=>Object.fromEntries(e.map((e=>[e,{preferredVersionName:null}])));const p=r.createContext(null);function h(){const e=(0,a.Gy)(),t=(0,i.p)().docs.versionPersistence,n=(0,r.useMemo)((()=>Object.keys(e)),[e]),[o,s]=(0,r.useState)((()=>f(n)));(0,r.useEffect)((()=>{s(function(e){let{pluginIds:t,versionPersistence:n,allDocsData:r}=e;function a(e){const t=d.read(e,n);return r[e].versions.some((e=>e.name===t))?{preferredVersionName:t}:(d.clear(e,n),{preferredVersionName:null})}return Object.fromEntries(t.map((e=>[e,a(e)])))}({allDocsData:e,versionPersistence:t,pluginIds:n}))}),[e,t,n]);return[o,(0,r.useMemo)((()=>({savePreferredVersion:function(e,n){d.save(e,t,n),s((t=>({...t,[e]:{preferredVersionName:n}})))}})),[t])]}function g(e){let{children:t}=e;const n=h();return(0,u.jsx)(p.Provider,{value:n,children:t})}function m(e){let{children:t}=e;return(0,u.jsx)(g,{children:t})}function y(){const e=(0,r.useContext)(p);if(!e)throw new l.dV("DocsPreferredVersionContextProvider");return e}function b(e){void 0===e&&(e=o.W);const t=(0,a.ht)(e),[n,i]=y(),{preferredVersionName:s}=n[e];return{preferredVersion:t.versions.find((e=>e.name===s))??null,savePreferredVersionName:(0,r.useCallback)((t=>{i.savePreferredVersion(e,t)}),[i,e])}}function v(){const e=(0,a.Gy)(),[t]=y();function n(n){const r=e[n],{preferredVersionName:a}=t[n];return r.versions.find((e=>e.name===a))??null}const r=Object.keys(e);return Object.fromEntries(r.map((e=>[e,n(e)])))}},4016:(e,t,n)=>{"use strict";n.d(t,{k:()=>o,v:()=>i});var r=n(162),a=n(6219);function o(e,t){return`docs-${e}-${t}`}function i(){const e=(0,r.Gy)(),t=(0,r.gk)(),n=(0,a.XK)();return[...Object.keys(e).map((function(r){const a=t?.activePlugin.pluginId===r?t.activeVersion:void 0,i=n[r],s=e[r].versions.find((e=>e.isLast));return o(r,(a??i??s).name)}))]}},7822:(e,t,n)=>{"use strict";n.d(t,{V:()=>l,t:()=>u});var r=n(8225),a=n(5238),o=n(7557);const i=Symbol("EmptyContext"),s=r.createContext(i);function l(e){let{children:t,name:n,items:a}=e;const i=(0,r.useMemo)((()=>n&&a?{name:n,items:a}:null),[n,a]);return(0,o.jsx)(s.Provider,{value:i,children:t})}function u(){const e=(0,r.useContext)(s);if(e===i)throw new a.dV("DocsSidebarProvider");return e}},5403:(e,t,n)=>{"use strict";n.d(t,{$S:()=>h,B5:()=>_,Nr:()=>p,OF:()=>k,QB:()=>E,Vd:()=>x,Y:()=>v,cC:()=>f,d1:()=>C,fW:()=>S,w8:()=>y});var r=n(8225),a=n(1654),o=n(4969),i=n(162),s=n(3523),l=n(1192),u=n(6219),c=n(782),d=n(7822);function f(e){const t=(0,c.r)();if(!e)return;const n=t.docs[e];if(!n)throw new Error(`no version doc found by id=${e}`);return n}function p(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=p(t);if(e)return e}}(e):void 0:e.href}function h(){const{pathname:e}=(0,a.zy)(),t=(0,d.t)();if(!t)throw new Error("Unexpected: cant find current sidebar in context");const n=w({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 g=(e,t)=>void 0!==e&&(0,s.ys)(e,t),m=(e,t)=>e.some((e=>y(e,t)));function y(e,t){return"link"===e.type?g(e.href,t):"category"===e.type&&(g(e.href,t)||m(e.items,t))}function b(e,t){switch(e.type){case"category":return y(e,t)||void 0!==e.href&&!e.linkUnlisted||e.items.some((e=>b(e,t)));case"link":return!e.unlisted||y(e,t);default:return!0}}function v(e,t){return(0,r.useMemo)((()=>e.filter((e=>b(e,t)))),[e,t])}function w(e){let{sidebarItems:t,pathname:n,onlyCategories:r=!1}=e;const a=[];return function e(t){for(const o of t)if("category"===o.type&&((0,s.ys)(o.href,n)||e(o.items))||"link"===o.type&&(0,s.ys)(o.href,n)){return r&&"category"!==o.type||a.unshift(o),!0}return!1}(t),a}function k(){const e=(0,d.t)(),{pathname:t}=(0,a.zy)(),n=(0,i.vT)()?.pluginData.breadcrumbs;return!1!==n&&e?w({sidebarItems:e.items,pathname:t}):null}function x(e){const{activeVersion:t}=(0,i.zK)(e),{preferredVersion:n}=(0,u.g1)(e),a=(0,i.r7)(e);return(0,r.useMemo)((()=>(0,l.sb)([t,n,a].filter(Boolean))),[t,n,a])}function S(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- ${(0,l.sb)(t.map((e=>e.id))).join("\n- ")}`)}return r}),[e,n])}function _(e){let{route:t}=e;const n=(0,a.zy)(),r=(0,c.r)(),i=t.routes,s=i.find((e=>(0,a.B6)(n.pathname,e)));if(!s)return null;const l=s.sidebar,u=l?r.docsSidebars[l]:void 0;return{docElement:(0,o.v)(i),sidebarName:l,sidebarItems:u}}function C(e){return e.filter((e=>!("category"===e.type||"link"===e.type)||!!p(e)))}},782:(e,t,n)=>{"use strict";n.d(t,{n:()=>s,r:()=>l});var r=n(8225),a=n(5238),o=n(7557);const i=r.createContext(null);function s(e){let{children:t,version:n}=e;return(0,o.jsx)(i.Provider,{value:n,children:t})}function l(){const e=(0,r.useContext)(i);if(null===e)throw new a.dV("DocsVersionProvider");return e}},162:(e,t,n)=>{"use strict";n.d(t,{d1:()=>c.d1,zK:()=>w,vT:()=>m,gk:()=>y,Gy:()=>h,$S:()=>c.$S,HW:()=>k,vF:()=>f.v,ht:()=>g,g1:()=>d.g1,r7:()=>v,jh:()=>b});var r=n(1654),a=n(8509),o=n(1020);function i(e,t){void 0===t&&(t={});const n=function(){const{globalData:e}=(0,a.A)();return e}()[e];if(!n&&t.failfast)throw new Error(`Docusaurus plugin global data not found for "${e}" plugin.`);return n}const s=e=>e.versions.find((e=>e.isLast));function l(e,t){return[...e.versions].sort(((e,t)=>e.path===t.path?0:e.path.includes(t.path)?-1:t.path.includes(e.path)?1:0)).find((e=>!!(0,r.B6)(t,{path:e.path,exact:!1,strict:!1})))}function u(e,t){const n=l(e,t),a=n?.docs.find((e=>!!(0,r.B6)(t,{path:e.path,exact:!0,strict:!1})));return{activeVersion:n,activeDoc:a,alternateDocVersions:a?function(t){const n={};return e.versions.forEach((e=>{e.docs.forEach((r=>{r.id===t&&(n[e.name]=r)}))})),n}(a.id):{}}}var c=n(5403),d=n(6219),f=n(4016);const p={},h=()=>i("docusaurus-plugin-content-docs")??p,g=e=>{try{return function(e,t,n){void 0===t&&(t=o.W),void 0===n&&(n={});const r=i(e),a=r?.[t];if(!a&&n.failfast)throw new Error(`Docusaurus plugin global data not found for "${e}" plugin with id "${t}".`);return a}("docusaurus-plugin-content-docs",e,{failfast:!0})}catch(t){throw new Error("You are using a feature of the Docusaurus docs plugin, but this plugin does not seem to be enabled"+("Default"===e?"":` (pluginId=${e}`),{cause:t})}};function m(e){void 0===e&&(e={});const t=h(),{pathname:n}=(0,r.zy)();return function(e,t,n){void 0===n&&(n={});const a=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})})),o=a?{pluginId:a[0],pluginData:a[1]}:void 0;if(!o&&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 o}(t,n,e)}function y(e){void 0===e&&(e={});const t=m(e),{pathname:n}=(0,r.zy)();if(!t)return;return{activePlugin:t,activeVersion:l(t.pluginData,n)}}function b(e){return g(e).versions}function v(e){const t=g(e);return s(t)}function w(e){const t=g(e),{pathname:n}=(0,r.zy)();return u(t,n)}function k(e){const t=g(e),{pathname:n}=(0,r.zy)();return function(e,t){const n=s(e);return{latestDocSuggestion:u(e,t).alternateDocVersions[n.name],latestVersionSuggestion:n}}(t,n)}},8516:(e,t,n)=>{"use strict";function r(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}function a(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(){return i=Object.assign||function(e){for(var t=1;t{"use strict";n.r(t),n.d(t,{default:()=>o});var r=n(4564),a=n.n(r);a().configure({showSpinner:!1});const o={onRouteUpdate(e){let{location:t,previousLocation:n}=e;if(n&&t.pathname!==n.pathname){const e=window.setTimeout((()=>{a().start()}),200);return()=>window.clearTimeout(e)}},onRouteDidUpdate(){a().done()}}},7539:(e,t,n)=>{"use strict";var r=n(9897),a=n(4784);!function(e){const{themeConfig:{prism:t}}=a.default,{additionalLanguages:r}=t,o=globalThis.Prism;globalThis.Prism=e,r.forEach((e=>{"php"===e&&n(3814),n(5928)(`./prism-${e}`)})),delete globalThis.Prism,void 0!==o&&(globalThis.Prism=e)}(r.My)},4718:(e,t,n)=>{"use strict";n.d(t,{A:()=>c});n(8225);var r=n(3372),a=n(7615),o=n(8380),i=n(4001),s=n(3961);const l={anchorWithStickyNavbar:"anchorWithStickyNavbar_XMB1",anchorWithHideOnScrollNavbar:"anchorWithHideOnScrollNavbar_IcTf"};var u=n(7557);function c(e){let{as:t,id:n,...c}=e;const d=(0,s.A)(),{navbar:{hideOnScroll:f}}=(0,o.p)();if("h1"===t||!n)return(0,u.jsx)(t,{...c,id:void 0});d.collectAnchor(n);const p=(0,a.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?l.anchorWithHideOnScrollNavbar:l.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"})]})}},4670:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});n(8225);const r={iconExternalLink:"iconExternalLink_Li8r"};var a=n(7557);function o(e){let{width:t=13.5,height:n=13.5}=e;return(0,a.jsx)("svg",{width:t,height:n,"aria-hidden":"true",viewBox:"0 0 24 24",className:r.iconExternalLink,children:(0,a.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"})})}},3492:(e,t,n)=>{"use strict";n.d(t,{A:()=>Jt});var r=n(8225),a=n(3372),o=n(3424),i=n(4840),s=n(1654),l=n(7615),u=n(8),c=n(7557);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,s.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 h=(0,l.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??h,{containerRef:n,onClick:r}=p();return(0,c.jsx)("div",{ref:n,role:"region","aria-label":h,children:(0,c.jsx)("a",{...e,href:`#${d}`,onClick:r,children:t})})}var m=n(6381),y=n(3865);const b={skipToContent:"skipToContent_L9As"};function v(){return(0,c.jsx)(g,{className:b.skipToContent})}var w=n(8380),k=n(6459);function x(e){let{width:t=21,height:n=21,color:r="currentColor",strokeWidth:a=1.2,className:o,...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:a,children:(0,c.jsx)("path",{d:"M.75.75l13.5 13.5M14.25.75L.75 14.25"})})})}const S={closeButton:"closeButton_HvHV"};function E(e){return(0,c.jsx)("button",{type:"button","aria-label":(0,l.T)({id:"theme.AnnouncementBar.closeButtonAriaLabel",message:"Close",description:"The ARIA label for close button of announcement bar"}),...e,className:(0,a.A)("clean-btn close",S.closeButton,e.className),children:(0,c.jsx)(x,{width:14,height:14,strokeWidth:3.1})})}const _={content:"content_vlXi"};function C(e){const{announcementBar:t}=(0,w.p)(),{content:n}=t;return(0,c.jsx)("div",{...e,className:(0,a.A)(_.content,e.className),dangerouslySetInnerHTML:{__html:n}})}const A={announcementBar:"announcementBar_XIMd",announcementBarPlaceholder:"announcementBarPlaceholder_thS2",announcementBarClose:"announcementBarClose_Yugn",announcementBarContent:"announcementBarContent_R8lO"};function T(){const{announcementBar:e}=(0,w.p)(),{isActive:t,close:n}=(0,k.M)();if(!t)return null;const{backgroundColor:r,textColor:a,isCloseable:o}=e;return(0,c.jsxs)("div",{className:A.announcementBar,style:{backgroundColor:r,color:a},role:"banner",children:[o&&(0,c.jsx)("div",{className:A.announcementBarPlaceholder}),(0,c.jsx)(C,{className:A.announcementBarContent}),o&&(0,c.jsx)(E,{onClick:n,className:A.announcementBarClose})]})}var O=n(4779),N=n(1910);var P=n(5238),L=n(6070);const j=r.createContext(null);function R(e){let{children:t}=e;const n=function(){const e=(0,O.M)(),t=(0,L.YL)(),[n,a]=(0,r.useState)(!1),o=null!==t.component,i=(0,P.ZC)(o);return(0,r.useEffect)((()=>{o&&!i&&a(!0)}),[o,i]),(0,r.useEffect)((()=>{o?e.shown||a(!0):a(!1)}),[e.shown,o]),(0,r.useMemo)((()=>[n,a]),[n])}();return(0,c.jsx)(j.Provider,{value:n,children:t})}function I(e){if(e.component){const t=e.component;return(0,c.jsx)(t,{...e.props})}}function F(){const e=(0,r.useContext)(j);if(!e)throw new P.dV("NavbarSecondaryMenuDisplayProvider");const[t,n]=e,a=(0,r.useCallback)((()=>n(!1)),[n]),o=(0,L.YL)();return(0,r.useMemo)((()=>({shown:t,hide:a,content:I(o)})),[a,o,t])}function D(e){let{header:t,primaryMenu:n,secondaryMenu:r}=e;const{shown:o}=F();return(0,c.jsxs)("div",{className:"navbar-sidebar",children:[t,(0,c.jsxs)("div",{className:(0,a.A)("navbar-sidebar__items",{"navbar-sidebar__items--show-secondary":o}),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(9875),z=n(224);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:"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 B(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_Px5F",toggleButton:"toggleButton_TpKZ",darkToggleIcon:"darkToggleIcon_AMnI",lightToggleIcon:"lightToggleIcon_vPLI",toggleButtonDisabled:"toggleButtonDisabled_xdLQ"};function H(e){let{className:t,buttonClassName:n,value:r,onChange:o}=e;const i=(0,z.A)(),s=(0,l.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,l.T)({message:"dark mode",id:"theme.colorToggle.ariaLabel.mode.dark",description:"The name for the dark color mode"}):(0,l.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,a.A)(U.toggle,t),children:(0,c.jsxs)("button",{className:(0,a.A)("clean-btn",U.toggleButton,!i&&U.toggleButtonDisabled,n),type:"button",onClick:()=>o("dark"===r?"light":"dark"),disabled:!i,title:s,"aria-label":s,"aria-live":"polite","aria-pressed":"dark"===r?"true":"false",children:[(0,c.jsx)($,{className:(0,a.A)(U.toggleIcon,U.lightToggleIcon)}),(0,c.jsx)(B,{className:(0,a.A)(U.toggleIcon,U.darkToggleIcon)})]})})}const V=r.memo(H),W={darkNavbarColorModeToggle:"darkNavbarColorModeToggle_BrYO"};function Q(e){let{className:t}=e;const n=(0,w.p)().navbar.style,r=(0,w.p)().colorMode.disableSwitch,{colorMode:a,setColorMode:o}=(0,M.G)();return r?null:(0,c.jsx)(V,{className:t,buttonClassName:"dark"===n?W.darkNavbarColorModeToggle:void 0,value:a,onChange:o})}var q=n(538);function G(){return(0,c.jsx)(q.A,{className:"navbar__brand",imageClassName:"navbar__logo",titleClassName:"navbar__title text--truncate"})}function K(){const e=(0,O.M)();return(0,c.jsx)("button",{type:"button","aria-label":(0,l.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)(x,{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)(Q,{className:"margin-right--md"}),(0,c.jsx)(K,{})]})}var Z=n(4001),X=n(8614),J=n(3415);function ee(e,t){return void 0!==e&&void 0!==t&&new RegExp(e,"gi").test(t)}var te=n(4670);function ne(e){let{activeBasePath:t,activeBaseRegex:n,to:r,href:a,label:o,html:i,isDropdownLink:s,prependBaseUrlToHref:l,...u}=e;const d=(0,X.Ay)(r),f=(0,X.Ay)(t),p=(0,X.Ay)(a,{forcePrependBaseUrl:!0}),h=o&&a&&!(0,J.A)(a),g=i?{dangerouslySetInnerHTML:{__html:i}}:{children:(0,c.jsxs)(c.Fragment,{children:[o,h&&(0,c.jsx)(te.A,{...s&&{width:12,height:12}})]})};return a?(0,c.jsx)(Z.A,{href:l?p:a,...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 o=(0,c.jsx)(ne,{className:(0,a.A)(n?"dropdown__link":"navbar__item navbar__link",t),isDropdownLink:n,...r});return n?(0,c.jsx)("li",{children:o}):o}function ae(e){let{className:t,isDropdownItem:n,...r}=e;return(0,c.jsx)("li",{className:"menu__list-item",children:(0,c.jsx)(ne,{className:(0,a.A)("menu__link",t),...r})})}function oe(e){let{mobile:t=!1,position:n,...r}=e;const a=t?ae:re;return(0,c.jsx)(a,{...r,activeClassName:r.activeClassName??(t?"menu__link--active":"navbar__link--active")})}var ie=n(8264),se=n(3523),le=n(8509);const ue="dropdownNavbarItemMobile_FkbD";function ce(e,t){return e.some((e=>function(e,t){return!!(0,se.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:o,onClick:i,...s}=e;const l=(0,r.useRef)(null),[u,d]=(0,r.useState)(!1);return(0,r.useEffect)((()=>{const e=e=>{l.current&&!l.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)}}),[l]),(0,c.jsxs)("div",{ref:l,className:(0,a.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:s.to?void 0:"#",className:(0,a.A)("navbar__link",o),...s,onClick:s.to?void 0:e=>e.preventDefault(),onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),d(!u))},children:s.children??s.label}),(0,c.jsx)("ul",{className:"dropdown__menu",children:t.map(((e,t)=>(0,r.createElement)(dt,{isDropdownItem:!0,activeClassName:"dropdown__link--active",...e,key:t})))})]})}function fe(e){let{items:t,className:n,position:o,onClick:i,...l}=e;const u=function(){const{siteConfig:{baseUrl:e}}=(0,le.A)(),{pathname:t}=(0,s.zy)();return t.replace(e,"/")}(),d=ce(t,u),{collapsed:f,toggleCollapsed:p,setCollapsed:h}=(0,ie.u)({initialState:()=>!d});return(0,r.useEffect)((()=>{d&&h(!d)}),[u,d,h]),(0,c.jsxs)("li",{className:(0,a.A)("menu__list-item",{"menu__list-item--collapsed":f}),children:[(0,c.jsx)(ne,{role:"button",className:(0,a.A)(ue,"menu__link menu__link--sublist menu__link--sublist-caret",n),...l,onClick:e=>{e.preventDefault(),p()},children:l.children??l.label}),(0,c.jsx)(ie.N,{lazy:!0,as:"ul",className:"menu__list",collapsed:f,children:t.map(((e,t)=>(0,r.createElement)(dt,{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 he=n(5225);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 me="iconLanguage_tSSB";var ye=n(9639);var be=n(162),ve=n(2954),we=n(3840),ke=n(7406),xe=n(1601),Se=n(586),Ee=n(5273);const _e="searchBar_jRYF",Ce="dropdownMenu_h0iA",Ae="searchInput_xrh7",Te="searchBarLeft_ScTa",Oe="suggestion_HAAW",Ne="cursor_BzxJ",Pe="hitTree_SmVc",Le="hitIcon_kngl",je="hitPath_kvVE",Re="noResultsIcon_wQX5",Ie="hitFooter_rf7w",Fe="hitWrapper_UO4F",De="hitTitle_wGYQ",Me="hitAction_d9Fi",ze="noResults_GAil",$e="searchBarContainer_XP8P",Be="searchBarLoadingRing_lNXX",Ue="searchClearButton_QIcf",He="searchIndexLoading_YwWA",Ve="searchHintContainer_JMQ5",We="searchHint_aDol",Qe="focused_JnGp",qe="input_bmiS",Ge="hint_HpPh",Ke="suggestions_hod5",Ye="dataset_u0VS",Ze="empty_hDrC";function Xe(e){let{document:t,type:n,page:r,metadata:a,tokens:o,isInterOfTree:i,isLastOfTree:s}=e;const l=n===we.i.Title,u=n===we.i.Keywords,c=l||u,d=n===we.i.Heading,f=[];i?f.push(''):s&&f.push('');const p=f.map((e=>`${e}`)),h=`${c?'':d?'':''}`,g=[`${u?(0,Se.Z)(t.s,o):(0,Ee.C)(t.t,(0,xe.g)(a,"t"),o)}`];if(!i&&!s&&ye.tb){const e=r?r.b?.concat(r.t).concat(t.s&&t.s!==r.t?t.s:[]):t.b;g.push(`${(0,ke.$)(e??[])}`)}else c||g.push(`${(0,Se.Z)(r.t||(t.u.startsWith("/docs/api-reference/")?"API Reference":""),o)}`);const m=``;return[...p,h,``,...g,"",m].join("")}function Je(){return`${(0,l.T)({id:"theme.SearchBar.noResultsText",message:"No results"})}`}var et=n(8826),tt=n(5972);n(6410);async function nt(){const e=await Promise.all([n.e(643),n.e(332)]).then(n.t.bind(n,6643,23)),t=e.default;return t.noConflict?t.noConflict():e.noConflict&&e.noConflict(),t}const rt="_highlight";const at=function(e){let{handleSearchBarToggle:t}=e;const o=(0,z.A)(),{siteConfig:{baseUrl:i},i18n:{currentLocale:u}}=(0,le.A)(),d=(0,be.vT)();let f=i;try{const{preferredVersion:e}=function(){return n(162).g1(...arguments)}(d?.pluginId??ye.UB);e&&!e.isLast&&(f=e.path+"/")}catch($){if(ye.I$&&!($ instanceof P.dV))throw $}const p=(0,s.W6)(),h=(0,s.zy)(),g=(0,r.useRef)(null),m=(0,r.useRef)(new Map),y=(0,r.useRef)(!1),[b,v]=(0,r.useState)(!1),[w,k]=(0,r.useState)(!1),[x,S]=(0,r.useState)(""),E=(0,r.useRef)(null),_=(0,r.useRef)(""),[C,A]=(0,r.useState)("");(0,r.useEffect)((()=>{if(!Array.isArray(ye.Hg))return;let e="";if(h.pathname.startsWith(f)){const t=h.pathname.substring(f.length);let n;for(const e of ye.Hg){const r="string"==typeof e?e:e.path;if(t===r||t.startsWith(`${r}/`)){n=r;break}}n&&(e=n)}_.current!==e&&(m.current.delete(e),_.current=e),A(e)}),[h.pathname,f]);const T=!!ye.O6&&Array.isArray(ye.Hg)&&""===C,O=(0,r.useCallback)((async()=>{if(T||m.current.get(C))return;m.current.set(C,"loading"),E.current?.autocomplete.destroy(),v(!0);const[e]=await Promise.all([nt(),(0,ve.k)(f,C)]);if(E.current=e(g.current,{hint:!1,autoselect:!0,openOnFocus:!0,cssClasses:{root:(0,a.A)(_e,{[Te]:"left"===ye.ZG}),noPrefix:!0,dropdownMenu:Ce,input:qe,hint:Ge,suggestions:Ke,suggestion:Oe,cursor:Ne,dataset:Ye,empty:Ze}},[{source:async(e,t)=>{t(await(0,ve.w)(f,C,e,8))},templates:{suggestion:Xe,empty:Je,footer:e=>{let{query:t,isEmpty:n}=e;if(n&&(!C||!ye.dz))return;const r=(e=>{let{query:t,isEmpty:n}=e;const r=document.createElement("a"),a=new URLSearchParams;let o;if(a.set("q",t),C){const e=C&&Array.isArray(ye.Hg)?ye.Hg.find((e=>"string"==typeof e?e===C:e.path===C)):C,t=e?(0,tt.p)(e,u).label:C;o=ye.dz&&n?(0,l.T)({id:"theme.SearchBar.seeAllOutsideContext",message:'See all results outside "{context}"'},{context:t}):(0,l.T)({id:"theme.SearchBar.searchInContext",message:'See all results within "{context}"'},{context:t})}else o=(0,l.T)({id:"theme.SearchBar.seeAll",message:"See all results"});if(!C||!Array.isArray(ye.Hg)||ye.dz&&n||a.set("ctx",C),f!==i){if(!f.startsWith(i))throw new Error(`Version url '${f}' does not start with base url '${i}', this is a bug of \`@easyops-cn/docusaurus-search-local\`, please report it.`);a.set("version",f.substring(i.length))}const s=`${i}search/?${a.toString()}`;return r.href=s,r.textContent=o,r.addEventListener("click",(e=>{e.ctrlKey||e.metaKey||(e.preventDefault(),E.current?.autocomplete.close(),p.push(s))})),r})({query:t,isEmpty:n}),a=document.createElement("div");return a.className=Ie,a.appendChild(r),a}}}]).on("autocomplete:selected",(function(e,t){let{document:{u:n,h:r},tokens:a}=t;g.current?.blur();let o=n;if(ye.CU&&a.length>0){const e=new URLSearchParams;for(const t of a)e.append(rt,t);o+=`?${e.toString()}`}r&&(o+=r),p.push(o)})).on("autocomplete:closed",(()=>{g.current?.blur()})),m.current.set(C,"done"),v(!1),y.current){const e=g.current;e.value&&E.current?.autocomplete.open(),e.focus()}}),[T,C,f,i,p]);(0,r.useEffect)((()=>{if(!ye.CU)return;const e=o?new URLSearchParams(h.search).getAll(rt):[];setTimeout((()=>{const t=document.querySelector("article");if(!t)return;const n=new ye.CU(t);n.unmark(),0!==e.length&&n.mark(e,{exclude:[".theme-doc-toc-mobile > button"]}),S(e.join(" ")),E.current?.autocomplete.setVal(e.join(" "))}))}),[o,h.search,h.pathname]);const[N,L]=(0,r.useState)(!1),j=(0,r.useCallback)((()=>{y.current=!0,O(),L(!0),t?.(!0)}),[t,O]),R=(0,r.useCallback)((()=>{L(!1),t?.(!1)}),[t]),I=(0,r.useCallback)((()=>{O()}),[O]),F=(0,r.useCallback)((e=>{S(e.target.value),e.target.value&&k(!0)}),[]),D=!!o&&/mac/i.test(navigator.userAgentData?.platform??navigator.platform);(0,r.useEffect)((()=>{const e=g.current,n=e?.value;n&&S(n),e&&document.activeElement===e&&(y.current=!0,O(),L(!0),t?.(!0))}),[]),(0,r.useEffect)((()=>{if(!ye.WW)return;const e=e=>{!(D?e.metaKey:e.ctrlKey)||"k"!==e.key&&"K"!==e.key||(e.preventDefault(),g.current?.focus(),j())};return document.addEventListener("keydown",e),()=>{document.removeEventListener("keydown",e)}}),[D,j]);const M=(0,r.useCallback)((()=>{const e=new URLSearchParams(h.search);e.delete(rt);const t=e.toString(),n=h.pathname+(""!=t?`?${t}`:"")+h.hash;n!=h.pathname+h.search+h.hash&&p.push(n),S(""),E.current?.autocomplete.setVal("")}),[h.pathname,h.search,h.hash,p]);return(0,c.jsxs)("div",{className:(0,a.A)("navbar__search",$e,{[He]:b&&w,[Qe]:N}),hidden:T,dir:"ltr",children:[(0,c.jsx)("input",{placeholder:(0,l.T)({id:"theme.SearchBar.label",message:"Search",description:"The ARIA label and placeholder for search button"}),"aria-label":"Search",className:`navbar__search-input ${Ae}`,onMouseEnter:I,onFocus:j,onBlur:R,onChange:F,ref:g,value:x}),(0,c.jsx)(et.A,{className:Be}),ye.WW&&ye.pk&&(""!==x?(0,c.jsx)("button",{className:Ue,onClick:M,children:"\u2715"}):o&&(0,c.jsxs)("div",{className:Ve,children:[(0,c.jsx)("kbd",{className:We,children:D?"\u2318":"ctrl"}),(0,c.jsx)("kbd",{className:We,children:"K"})]}))]})},ot={navbarSearchContainer:"navbarSearchContainer_ETBD"};function it(e){let{children:t,className:n}=e;return(0,c.jsx)("div",{className:(0,a.A)(n,ot.navbarSearchContainer),children:t})}var st=n(5403);var lt=n(6219);function ut(e,t){return t.alternateDocVersions[e.name]??function(e){return e.docs.find((t=>t.id===e.mainDocId))}(e)}const ct={default:oe,localeDropdown:function(e){let{mobile:t,dropdownItemsBefore:n,dropdownItemsAfter:r,queryString:a="",...o}=e;const{i18n:{currentLocale:i,locales:u,localeConfigs:d}}=(0,le.A)(),f=(0,he.o)(),{search:p,hash:h}=(0,s.zy)(),g=[...n,...u.map((e=>{const n=`${`pathname://${f.createUrl({locale:e,fullyQualified:!1})}`}${p}${h}${a}`;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],m=t?(0,l.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,{...o,mobile:t,label:(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(ge,{className:me}),m]}),items:g})},search:function(e){let{mobile:t,className:n}=e;return t?null:(0,c.jsx)(it,{className:n,children:(0,c.jsx)(at,{})})},dropdown:pe,html:function(e){let{value:t,className:n,mobile:r=!1,isDropdownItem:o=!1}=e;const i=o?"li":"div";return(0,c.jsx)(i,{className:(0,a.A)({navbar__item:!r&&!o,"menu__list-item":r},n),dangerouslySetInnerHTML:{__html:t}})},doc:function(e){let{docId:t,label:n,docsPluginId:r,...a}=e;const{activeDoc:o}=(0,be.zK)(r),i=(0,st.QB)(t,r),s=o?.path===i?.path;return null===i||i.unlisted&&!s?null:(0,c.jsx)(oe,{exact:!0,...a,isActive:()=>s||!!o?.sidebar&&o.sidebar===i.sidebar,label:n??i.id,to:i.path})},docSidebar:function(e){let{sidebarId:t,label:n,docsPluginId:r,...a}=e;const{activeDoc:o}=(0,be.zK)(r),i=(0,st.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)(oe,{exact:!0,...a,isActive:()=>o?.sidebar===t,label:n??i.label,to:i.path})},docsVersion:function(e){let{label:t,to:n,docsPluginId:r,...a}=e;const o=(0,st.Vd)(r)[0],i=t??o.label,s=n??(e=>e.docs.find((t=>t.id===e.mainDocId)))(o).path;return(0,c.jsx)(oe,{...a,label:i,to:s})},docsVersionDropdown:function(e){let{mobile:t,docsPluginId:n,dropdownActiveClassDisabled:r,dropdownItemsBefore:a,dropdownItemsAfter:o,...i}=e;const{search:u,hash:d}=(0,s.zy)(),f=(0,be.zK)(n),p=(0,be.jh)(n),{savePreferredVersionName:h}=(0,lt.g1)(n),g=[...a,...p.map((function(e){const t=ut(e,f);return{label:e.label,to:`${t.path}${u}${d}`,isActive:()=>e===f.activeVersion,onClick:()=>h(e.name)}})),...o],m=(0,st.Vd)(n)[0],y=t&&g.length>1?(0,l.T)({id:"theme.navbar.mobileVersionsDropdown.label",message:"Versions",description:"The label for the navbar versions dropdown on mobile view"}):m.label,b=t&&g.length>1?void 0:ut(m,f).path;return g.length<=1?(0,c.jsx)(oe,{...i,mobile:t,label:y,to:b,isActive:r?()=>!1:void 0}):(0,c.jsx)(pe,{...i,mobile:t,label:y,to:b,items:g,isActive:r?()=>!1:void 0})}};function dt(e){let{type:t,...n}=e;const r=function(e,t){return e&&"default"!==e?e:"items"in t?"dropdown":"default"}(t,n),a=ct[r];if(!a)throw new Error(`No NavbarItem component found for type "${t}".`);return(0,c.jsx)(a,{...n})}function ft(){const e=(0,O.M)(),t=(0,w.p)().navbar.items;return(0,c.jsx)("ul",{className:"menu__list",children:t.map(((t,n)=>(0,r.createElement)(dt,{mobile:!0,...t,onClick:()=>e.toggle(),key:n})))})}function pt(e){return(0,c.jsx)("button",{...e,type:"button",className:"clean-btn navbar-sidebar__back",children:(0,c.jsx)(l.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 ht(){const e=0===(0,w.p)().navbar.items.length,t=F();return(0,c.jsxs)(c.Fragment,{children:[!e&&(0,c.jsx)(pt,{onClick:()=>t.hide()}),t.content]})}function gt(){const e=(0,O.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)(D,{header:(0,c.jsx)(Y,{}),primaryMenu:(0,c.jsx)(ft,{}),secondaryMenu:(0,c.jsx)(ht,{})}):null}const mt={navbarHideable:"navbarHideable_TuH1",navbarHidden:"navbarHidden_Hrua"};function yt(e){return(0,c.jsx)("div",{role:"presentation",...e,className:(0,a.A)("navbar-sidebar__backdrop",e.className)})}function bt(e){let{children:t}=e;const{navbar:{hideOnScroll:n,style:o}}=(0,w.p)(),i=(0,O.M)(),{navbarRef:s,isNavbarVisible:d}=function(e){const[t,n]=(0,r.useState)(e),a=(0,r.useRef)(!1),o=(0,r.useRef)(0),i=(0,r.useCallback)((e=>{null!==e&&(o.current=e.getBoundingClientRect().height)}),[]);return(0,N.Mq)(((t,r)=>{let{scrollY:i}=t;if(!e)return;if(i=s?n(!1):i+u{if(!e)return;const r=t.location.hash;if(r?document.getElementById(r.substring(1)):void 0)return a.current=!0,void n(!1);n(!0)})),{navbarRef:i,isNavbarVisible:t}}(n);return(0,c.jsxs)("nav",{ref:s,"aria-label":(0,l.T)({id:"theme.NavBar.navAriaLabel",message:"Main",description:"The ARIA label for the main navigation"}),className:(0,a.A)("navbar","navbar--fixed-top",n&&[mt.navbarHideable,!d&&mt.navbarHidden],{"navbar--dark":"dark"===o,"navbar--primary":"primary"===o,"navbar-sidebar--show":i.shown}),children:[t,(0,c.jsx)(yt,{onClick:i.toggle}),(0,c.jsx)(gt,{})]})}var vt=n(4481);const wt={errorBoundaryError:"errorBoundaryError_Sdxh",errorBoundaryFallback:"errorBoundaryFallback_zWlq"};function kt(e){return(0,c.jsx)("button",{type:"button",...e,children:(0,c.jsx)(l.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 xt(e){let{error:t}=e;const n=(0,vt.rA)(t).map((e=>e.message)).join("\n\nCause:\n");return(0,c.jsx)("p",{className:wt.errorBoundaryError,children:n})}class St extends r.Component{componentDidCatch(e,t){throw this.props.onError(e,t)}render(){return this.props.children}}const Et="right";function _t(e){let{width:t=30,height:n=30,className:r,...a}=e;return(0,c.jsx)("svg",{className:r,width:t,height:n,viewBox:"0 0 30 30","aria-hidden":"true",...a,children:(0,c.jsx)("path",{stroke:"currentColor",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"2",d:"M4 7h22M4 15h22M4 23h22"})})}function Ct(){const{toggle:e,shown:t}=(0,O.M)();return(0,c.jsx)("button",{onClick:e,"aria-label":(0,l.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)(_t,{})})}const At={colorModeToggle:"colorModeToggle_IcqB"};function Tt(e){let{items:t}=e;return(0,c.jsx)(c.Fragment,{children:t.map(((e,t)=>(0,c.jsx)(St,{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)(dt,{...e})},t)))})}function Ot(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 Nt(){const e=(0,O.M)(),t=(0,w.p)().navbar.items,[n,r]=function(e){function t(e){return"left"===(e.position??Et)}return[e.filter(t),e.filter((e=>!t(e)))]}(t),a=t.find((e=>"search"===e.type));return(0,c.jsx)(Ot,{left:(0,c.jsxs)(c.Fragment,{children:[!e.disabled&&(0,c.jsx)(Ct,{}),(0,c.jsx)(G,{}),(0,c.jsx)(Tt,{items:n})]}),right:(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(Tt,{items:r}),(0,c.jsx)(Q,{className:At.colorModeToggle}),!a&&(0,c.jsx)(it,{children:(0,c.jsx)(at,{})})]})})}function Pt(){return(0,c.jsx)(bt,{children:(0,c.jsx)(Nt,{})})}function Lt(e){let{item:t}=e;const{to:n,href:r,label:o,prependBaseUrlToHref:i,className:s,...l}=t,u=(0,X.Ay)(n),d=(0,X.Ay)(r,{forcePrependBaseUrl:!0});return(0,c.jsxs)(Z.A,{className:(0,a.A)("footer__link-item",s),...r?{href:i?d:r}:{to:u},...l,children:[o,r&&!(0,J.A)(r)&&(0,c.jsx)(te.A,{})]})}function jt(e){let{item:t}=e;return t.html?(0,c.jsx)("li",{className:(0,a.A)("footer__item",t.className),dangerouslySetInnerHTML:{__html:t.html}}):(0,c.jsx)("li",{className:"footer__item",children:(0,c.jsx)(Lt,{item:t})},t.href??t.to)}function Rt(e){let{column:t}=e;return(0,c.jsxs)("div",{className:(0,a.A)("col footer__col",t.className),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)(jt,{item:e},t)))})]})}function It(e){let{columns:t}=e;return(0,c.jsx)("div",{className:"row footer__links",children:t.map(((e,t)=>(0,c.jsx)(Rt,{column:e},t)))})}function Ft(){return(0,c.jsx)("span",{className:"footer__link-separator",children:"\xb7"})}function Dt(e){let{item:t}=e;return t.html?(0,c.jsx)("span",{className:(0,a.A)("footer__link-item",t.className),dangerouslySetInnerHTML:{__html:t.html}}):(0,c.jsx)(Lt,{item:t})}function Mt(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)(Dt,{item:e}),t.length!==n+1&&(0,c.jsx)(Ft,{})]},n)))})})}function zt(e){let{links:t}=e;return function(e){return"title"in e[0]}(t)?(0,c.jsx)(It,{columns:t}):(0,c.jsx)(Mt,{links:t})}var $t=n(5561);const Bt="footerLogoLink_fw4_";function Ut(e){let{logo:t}=e;const{withBaseUrl:n}=(0,X.hH)(),r={light:n(t.src),dark:n(t.srcDark??t.src)};return(0,c.jsx)($t.A,{className:(0,a.A)("footer__logo",t.className),alt:t.alt,sources:r,width:t.width,height:t.height,style:t.style})}function Ht(e){let{logo:t}=e;return t.href?(0,c.jsx)(Z.A,{href:t.href,className:Bt,target:t.target,children:(0,c.jsx)(Ut,{logo:t})}):(0,c.jsx)(Ut,{logo:t})}function Vt(e){let{copyright:t}=e;return(0,c.jsx)("div",{className:"footer__copyright",dangerouslySetInnerHTML:{__html:t}})}function Wt(e){let{style:t,links:n,logo:r,copyright:o}=e;return(0,c.jsx)("footer",{className:(0,a.A)("footer",{"footer--dark":"dark"===t}),children:(0,c.jsxs)("div",{className:"container container-fluid",children:[n,(r||o)&&(0,c.jsxs)("div",{className:"footer__bottom text--center",children:[r&&(0,c.jsx)("div",{className:"margin-bottom--sm",children:r}),o]})]})})}function Qt(){const{footer:e}=(0,w.p)();if(!e)return null;const{copyright:t,links:n,logo:r,style:a}=e;return(0,c.jsx)(Wt,{style:a,links:n&&n.length>0&&(0,c.jsx)(zt,{links:n}),logo:r&&(0,c.jsx)(Ht,{logo:r}),copyright:t&&(0,c.jsx)(Vt,{copyright:t})})}const qt=r.memo(Qt),Gt=(0,P.fM)([M.a,k.o,N.Tv,lt.VQ,i.Jx,function(e){let{children:t}=e;return(0,c.jsx)(L.y_,{children:(0,c.jsx)(O.e,{children:(0,c.jsx)(R,{children:t})})})}]);function Kt(e){let{children:t}=e;return(0,c.jsx)(Gt,{children:t})}var Yt=n(4718);function Zt(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)(Yt.A,{as:"h1",className:"hero__title",children:(0,c.jsx)(l.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)(kt,{onClick:n,className:"button button--primary shadow--lw"})}),(0,c.jsx)("hr",{}),(0,c.jsx)("div",{className:"margin-vert--md",children:(0,c.jsx)(xt,{error:t})})]})})})}const Xt={mainWrapper:"mainWrapper_i86x"};function Jt(e){const{children:t,noFooter:n,wrapperClassName:r,title:s,description:l}=e;return(0,y.J)(),(0,c.jsxs)(Kt,{children:[(0,c.jsx)(i.be,{title:s,description:l}),(0,c.jsx)(v,{}),(0,c.jsx)(T,{}),(0,c.jsx)(Pt,{}),(0,c.jsx)("div",{id:d,className:(0,a.A)(m.G.wrapper.main,Xt.mainWrapper,r),children:(0,c.jsx)(o.A,{fallback:e=>(0,c.jsx)(Zt,{...e}),children:t})}),!n&&(0,c.jsx)(qt,{})]})}},538:(e,t,n)=>{"use strict";n.d(t,{A:()=>c});n(8225);var r=n(4001),a=n(8614),o=n(8509),i=n(8380),s=n(5561),l=n(7557);function u(e){let{logo:t,alt:n,imageClassName:r}=e;const o={light:(0,a.Ay)(t.src),dark:(0,a.Ay)(t.srcDark||t.src)},i=(0,l.jsx)(s.A,{className:t.className,sources:o,height:t.height,width:t.width,alt:n,style:t.style});return r?(0,l.jsx)("div",{className:r,children:i}):i}function c(e){const{siteConfig:{title:t}}=(0,o.A)(),{navbar:{title:n,logo:s}}=(0,i.p)(),{imageClassName:c,titleClassName:d,...f}=e,p=(0,a.Ay)(s?.href||"/"),h=n?"":t,g=s?.alt??h;return(0,l.jsxs)(r.A,{to:p,...f,...s?.target&&{target:s.target},children:[s&&(0,l.jsx)(u,{logo:s,alt:g,imageClassName:c}),null!=n&&(0,l.jsx)("b",{className:d,children:n})]})}},928:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});n(8225);var r=n(6455),a=n(7557);function o(e){let{locale:t,version:n,tag:o}=e;const i=t;return(0,a.jsxs)(r.A,{children:[t&&(0,a.jsx)("meta",{name:"docusaurus_locale",content:t}),n&&(0,a.jsx)("meta",{name:"docusaurus_version",content:n}),o&&(0,a.jsx)("meta",{name:"docusaurus_tag",content:o}),i&&(0,a.jsx)("meta",{name:"docsearch:language",content:i}),n&&(0,a.jsx)("meta",{name:"docsearch:version",content:n}),o&&(0,a.jsx)("meta",{name:"docsearch:docusaurus_tag",content:o})]})}},5561:(e,t,n)=>{"use strict";n.d(t,{A:()=>c});var r=n(8225),a=n(3372),o=n(224),i=n(9875);const s={themedComponent:"themedComponent_ax6Y","themedComponent--light":"themedComponent--light__BjB","themedComponent--dark":"themedComponent--dark_CWGi"};var l=n(7557);function u(e){let{className:t,children:n}=e;const u=(0,o.A)(),{colorMode:c}=(0,i.G)();return(0,l.jsx)(l.Fragment,{children:(u?"dark"===c?["dark"]:["light"]:["light","dark"]).map((e=>{const o=n({theme:e,className:(0,a.A)(t,s.themedComponent,s[`themedComponent--${e}`])});return(0,l.jsx)(r.Fragment,{children:o},e)}))})}function c(e){const{sources:t,className:n,alt:r,...a}=e;return(0,l.jsx)(u,{className:n,children:e=>{let{theme:n,className:o}=e;return(0,l.jsx)("img",{src:t[n],alt:r,className:o,...a})}})}},8264:(e,t,n)=>{"use strict";n.d(t,{N:()=>y,u:()=>u});var r=n(8225),a=n(224),o=n(932),i=n(2219),s=n(7557);const l="ease-in-out";function u(e){let{initialState:t}=e;const[n,a]=(0,r.useState)(t??!1),o=(0,r.useCallback)((()=>{a((e=>!e))}),[]);return{collapsed:n,setCollapsed:a,toggleCollapsed:o}}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:a}=e;const o=(0,r.useRef)(!1);(0,r.useEffect)((()=>{const e=t.current;function r(){const t=e.scrollHeight,n=a?.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 ${a?.easing??l}`,height:`${t}px`}}function s(){const t=r();e.style.transition=t.transition,e.style.height=t.height}if(!o.current)return f(e,n),void(o.current=!0);return e.style.willChange="height",function(){const t=requestAnimationFrame((()=>{n?(s(),requestAnimationFrame((()=>{e.style.height=c.height,e.style.overflow=c.overflow}))):(e.style.display="block",requestAnimationFrame((()=>{s()})))}));return()=>cancelAnimationFrame(t)}()}),[t,n,a])}function h(e){let{collapsed:t,isBrowser:n}=e;if(!n)return t?c:d}function g(e){let{as:t="div",collapsed:n,children:o,animation:i,onCollapseTransitionEnd:l,className:u,disableSSRStyle:c}=e;const d=(0,a.A)(),g=(0,r.useRef)(null);return p({collapsibleRef:g,collapsed:n,animation:i}),(0,s.jsx)(t,{ref:g,style:c?void 0:h({collapsed:n,isBrowser:d}),onTransitionEnd:e=>{"height"===e.propertyName&&(f(g.current,n),l?.(n))},className:u,children:o})}function m(e){let{collapsed:t,...n}=e;const[a,i]=(0,r.useState)(!t),[l,u]=(0,r.useState)(t);return(0,o.A)((()=>{t||i(!0)}),[t]),(0,o.A)((()=>{a&&u(t)}),[a,t]),a?(0,s.jsx)(g,{...n,collapsed:l}):null}function y(e){let{lazy:t,...n}=e;const r=t?m:g;return(0,s.jsx)(r,{...n})}},6459:(e,t,n)=>{"use strict";n.d(t,{M:()=>g,o:()=>h});var r=n(8225),a=n(224),o=n(7931),i=n(5238),s=n(8380),l=n(7557);const u=(0,o.Wf)("docusaurus.announcement.dismiss"),c=(0,o.Wf)("docusaurus.announcement.id"),d=()=>"true"===u.get(),f=e=>u.set(String(e)),p=r.createContext(null);function h(e){let{children:t}=e;const n=function(){const{announcementBar:e}=(0,s.p)(),t=(0,a.A)(),[n,o]=(0,r.useState)((()=>!!t&&d()));(0,r.useEffect)((()=>{o(d())}),[]);const i=(0,r.useCallback)((()=>{f(!0),o(!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()||o(!1)}),[e]),(0,r.useMemo)((()=>({isActive:!!e&&!n,close:i})),[e,n,i])}();return(0,l.jsx)(p.Provider,{value:n,children:t})}function g(){const e=(0,r.useContext)(p);if(!e)throw new i.dV("AnnouncementBarProvider");return e}},9875:(e,t,n)=>{"use strict";n.d(t,{G:()=>y,a:()=>m});var r=n(8225),a=n(8286),o=n(5238),i=n(7931),s=n(8380),l=n(7557);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,h=e=>a.A.canUseDOM?p(document.documentElement.getAttribute("data-theme")):p(e),g=e=>{d.set(p(e))};function m(e){let{children:t}=e;const n=function(){const{colorMode:{defaultMode:e,disableSwitch:t,respectPrefersColorScheme:n}}=(0,s.p)(),[a,o]=(0,r.useState)(h(e));(0,r.useEffect)((()=>{t&&d.del()}),[t]);const i=(0,r.useCallback)((function(t,r){void 0===r&&(r={});const{persist:a=!0}=r;t?(o(t),a&&g(t)):(o(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(a))}),[a]),(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 l=(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||l.current?l.current=window.matchMedia("print").matches:i(null)};return e.addListener(r),()=>e.removeListener(r)}),[i,t,n]),(0,r.useMemo)((()=>({colorMode:a,setColorMode:i,get isDarkTheme(){return a===f.dark},setLightTheme(){i(f.light)},setDarkTheme(){i(f.dark)}})),[a,i])}();return(0,l.jsx)(u.Provider,{value:n,children:t})}function y(){const e=(0,r.useContext)(u);if(null==e)throw new o.dV("ColorModeProvider","Please see https://docusaurus.io/docs/api/themes/configuration#use-color-mode.");return e}},4779:(e,t,n)=>{"use strict";n.d(t,{M:()=>p,e:()=>f});var r=n(8225),a=n(6070),o=n(5191),i=n(2955),s=n(8380),l=n(5238),u=n(7557);const c=r.createContext(void 0);function d(){const e=function(){const e=(0,a.YL)(),{items:t}=(0,s.p)().navbar;return 0===t.length&&!e.component}(),t=(0,o.l)(),n=!e&&"mobile"===t,[l,u]=(0,r.useState)(!1);(0,i.$Z)((()=>{if(l)return u(!1),!1}));const c=(0,r.useCallback)((()=>{u((e=>!e))}),[]);return(0,r.useEffect)((()=>{"desktop"===t&&u(!1)}),[t]),(0,r.useMemo)((()=>({disabled:e,shouldRender:n,toggle:c,shown:l})),[e,n,c,l])}function f(e){let{children:t}=e;const n=d();return(0,u.jsx)(c.Provider,{value:n,children:t})}function p(){const e=r.useContext(c);if(void 0===e)throw new l.dV("NavbarMobileSidebarProvider");return e}},6070:(e,t,n)=>{"use strict";n.d(t,{GX:()=>u,YL:()=>l,y_:()=>s});var r=n(8225),a=n(5238),o=n(7557);const i=r.createContext(null);function s(e){let{children:t}=e;const n=(0,r.useState)({component:null,props:null});return(0,o.jsx)(i.Provider,{value:n,children:t})}function l(){const e=(0,r.useContext)(i);if(!e)throw new a.dV("NavbarSecondaryMenuContentProvider");return e[0]}function u(e){let{component:t,props:n}=e;const o=(0,r.useContext)(i);if(!o)throw new a.dV("NavbarSecondaryMenuContentProvider");const[,s]=o,l=(0,a.Be)(n);return(0,r.useEffect)((()=>{s({component:t,props:l})}),[s,t,l]),(0,r.useEffect)((()=>()=>s({component:null,props:null})),[s]),null}},3865:(e,t,n)=>{"use strict";n.d(t,{w:()=>a,J:()=>o});var r=n(8225);const a="navigation-with-keyboard";function o(){(0,r.useEffect)((()=>{function e(e){"keydown"===e.type&&"Tab"===e.key&&document.body.classList.add(a),"mousedown"===e.type&&document.body.classList.remove(a)}return document.addEventListener("keydown",e),document.addEventListener("mousedown",e),()=>{document.body.classList.remove(a),document.removeEventListener("keydown",e),document.removeEventListener("mousedown",e)}}),[])}},5191:(e,t,n)=>{"use strict";n.d(t,{l:()=>s});var r=n(8225),a=n(8286);const o={desktop:"desktop",mobile:"mobile",ssr:"ssr"},i=996;function s(e){let{desktopBreakpoint:t=i}=void 0===e?{}:e;const[n,s]=(0,r.useState)((()=>"ssr"));return(0,r.useEffect)((()=>{function e(){s(function(e){if(!a.A.canUseDOM)throw new Error("getWindowSize() should only be called after React hydration");return window.innerWidth>e?o.desktop:o.mobile}(t))}return e(),window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e)}}),[t]),n}},6381:(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",blogAuthorsListPage:"blog-authors-list-page",blogAuthorsPostsPage:"blog-authors-posts-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",draftBanner:"theme-draft-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:{blogFooterTagsRow:"theme-blog-footer-tags-row",blogFooterEditMetaRow:"theme-blog-footer-edit-meta-row"},pages:{pageFooterEditMetaRow:"theme-pages-footer-edit-meta-row"}}},2219:(e,t,n)=>{"use strict";function r(){return window.matchMedia("(prefers-reduced-motion: reduce)").matches}n.d(t,{O:()=>r})},2955:(e,t,n)=>{"use strict";n.d(t,{$Z:()=>i,aZ:()=>l});var r=n(8225),a=n(1654),o=n(5238);function i(e){!function(e){const t=(0,a.W6)(),n=(0,o._q)(e);(0,r.useEffect)((()=>t.block(((e,t)=>n(e,t)))),[t,n])}(((t,n)=>{if("POP"===n)return e(t,n)}))}function s(e){const t=(0,a.W6)();return(0,r.useSyncExternalStore)(t.listen,(()=>e(t)),(()=>e(t)))}function l(e){return s((t=>null===e?null:new URLSearchParams(t.location.search).get(e)))}},1192:(e,t,n)=>{"use strict";function r(e,t){return void 0===t&&(t=(e,t)=>e===t),e.filter(((n,r)=>e.findIndex((e=>t(e,n)))!==r))}function a(e){return Array.from(new Set(e))}n.d(t,{XI:()=>r,sb:()=>a})},4840:(e,t,n)=>{"use strict";n.d(t,{e3:()=>p,be:()=>d,Jx:()=>h});var r=n(8225),a=n(3372),o=n(6455),i=n(3153);function s(){const e=r.useContext(i.o);if(!e)throw new Error("Unexpected: no Docusaurus route context found");return e}var l=n(8614),u=n(8509);var c=n(7557);function d(e){let{title:t,description:n,keywords:r,image:a,children:i}=e;const s=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,l.hH)(),f=a?d(a,{absolute:!0}):void 0;return(0,c.jsxs)(o.A,{children:[t&&(0,c.jsx)("title",{children:s}),t&&(0,c.jsx)("meta",{property:"og:title",content:s}),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),s=(0,a.A)(i,t);return(0,c.jsxs)(f.Provider,{value:s,children:[(0,c.jsx)(o.A,{children:(0,c.jsx)("html",{className:s})}),n]})}function h(e){let{children:t}=e;const n=s(),r=`plugin-${n.plugin.name.replace(/docusaurus-(?:plugin|theme)-(?:content-)?/gi,"")}`;const o=`plugin-id-${n.plugin.id}`;return(0,c.jsx)(p,{className:(0,a.A)(r,o),children:t})}},5238:(e,t,n)=>{"use strict";n.d(t,{Be:()=>u,ZC:()=>s,_q:()=>i,dV:()=>l,fM:()=>c});var r=n(8225),a=n(932),o=n(7557);function i(e){const t=(0,r.useRef)(e);return(0,a.A)((()=>{t.current=e}),[e]),(0,r.useCallback)((function(){return t.current(...arguments)}),[])}function s(e){const t=(0,r.useRef)();return(0,a.A)((()=>{t.current=e})),t.current}class l 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,o.jsx)(o.Fragment,{children:e.reduceRight(((e,t)=>(0,o.jsx)(t,{children:e})),n)})}}},3523:(e,t,n)=>{"use strict";n.d(t,{Dt:()=>s,ys:()=>i});var r=n(8225),a=n(9264),o=n(8509);function i(e,t){const n=e=>(!e||e.endsWith("/")?e:`${e}/`)?.toLowerCase();return n(e)===n(t)}function s(){const{baseUrl:e}=(0,o.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 a(e){return e.path===t&&!e.exact}return function e(t){if(0===t.length)return;return t.find(r)||e(t.filter(a).flatMap((e=>e.routes??[])))}(n)}({routes:a.A,baseUrl:e})),[e])}},1910:(e,t,n)=>{"use strict";n.d(t,{Mq:()=>p,Tv:()=>c,a_:()=>h,gk:()=>g});var r=n(8225),a=n(8286),o=n(224),i=n(932),s=n(5238),l=n(7557);const u=r.createContext(void 0);function c(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)(u.Provider,{value:n,children:t})}function d(){const e=(0,r.useContext)(u);if(null==e)throw new s.dV("ScrollControllerProvider");return e}const f=()=>a.A.canUseDOM?{scrollX:window.pageXOffset,scrollY:window.pageYOffset}:null;function p(e,t){void 0===t&&(t=[]);const{scrollEventsEnabledRef:n}=d(),a=(0,r.useRef)(f()),o=(0,s._q)(e);(0,r.useEffect)((()=>{const e=()=>{if(!n.current)return;const e=f();o(e,a.current),a.current=e},t={passive:!0};return e(),window.addEventListener("scroll",e,t),()=>window.removeEventListener("scroll",e,t)}),[o,n,...t])}function h(){const e=d(),t=function(){const e=(0,r.useRef)({elem:null,top:0}),t=(0,r.useCallback)((t=>{e.current={elem:t,top:t.getBoundingClientRect().top}}),[]),n=(0,r.useCallback)((()=>{const{current:{elem:t,top:n}}=e;if(!t)return{restored:!1};const r=t.getBoundingClientRect().top-n;return r&&window.scrollBy({left:0,top:r}),e.current={elem:null,top:0},{restored:0!==r}}),[]);return(0,r.useMemo)((()=>({save:t,restore:n})),[n,t])}(),n=(0,r.useRef)(void 0),a=(0,r.useCallback)((r=>{t.save(r),e.disableScrollEvents(),n.current=()=>{const{restored:r}=t.restore();if(n.current=void 0,r){const t=()=>{e.enableScrollEvents(),window.removeEventListener("scroll",t)};window.addEventListener("scroll",t)}else e.enableScrollEvents()}}),[e,t]);return(0,i.A)((()=>{queueMicrotask((()=>n.current?.()))})),{blockElementScrollPositionUntilNextRender:a}}function g(){const e=(0,r.useRef)(null),t=(0,o.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 a=document.documentElement.scrollTop;(n&&a>e||!n&&at&&cancelAnimationFrame(t)}(n)},cancelScroll:()=>e.current?.()}}},7931:(e,t,n)=>{"use strict";n.d(t,{Wf:()=>c,Dv:()=>d});var r=n(8225);const a=JSON.parse('{"N":"localStorage","M":""}'),o=a.N;function i(e){let{key:t,oldValue:n,newValue:r,storage:a}=e;if(n===r)return;const o=document.createEvent("StorageEvent");o.initStorageEvent("storage",!1,!1,t,n,r,window.location.href,a),window.dispatchEvent(o)}function s(e){if(void 0===e&&(e=o),"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,l||(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),l=!0),null}var t}let l=!1;const u={get:()=>null,set:()=>{},del:()=>{},listen:()=>()=>{}};function c(e,t){const n=`${e}${a.M}`;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}}(n);const r=s(t?.persistence);return null===r?u:{get:()=>{try{return r.getItem(n)}catch(e){return console.error(`Docusaurus storage error, can't get key=${n}`,e),null}},set:e=>{try{const t=r.getItem(n);r.setItem(n,e),i({key:n,oldValue:t,newValue:e,storage:r})}catch(t){console.error(`Docusaurus storage error, can't set ${n}=${e}`,t)}},del:()=>{try{const e=r.getItem(n);r.removeItem(n),i({key:n,oldValue:e,newValue:null,storage:r})}catch(e){console.error(`Docusaurus storage error, can't delete key=${n}`,e)}},listen:e=>{try{const t=t=>{t.storageArea===r&&t.key===n&&e(t)};return window.addEventListener("storage",t),()=>window.removeEventListener("storage",t)}catch(t){return console.error(`Docusaurus storage error, can't listen for changes of key=${n}`,t),()=>{}}}}}function d(e,t){const n=(0,r.useRef)((()=>null===e?u:c(e,t))).current(),a=(0,r.useCallback)((e=>"undefined"==typeof window?()=>{}:n.listen(e)),[n]);return[(0,r.useSyncExternalStore)(a,(()=>n.get()),(()=>null)),n]}},5225:(e,t,n)=>{"use strict";n.d(t,{o:()=>i});var r=n(8509),a=n(1654),o=n(4481);function i(){const{siteConfig:{baseUrl:e,url:t,trailingSlash:n},i18n:{defaultLocale:i,currentLocale:s}}=(0,r.A)(),{pathname:l}=(0,a.zy)(),u=(0,o.Ks)(l,{trailingSlash:n,baseUrl:e}),c=s===i?e:e.replace(`/${s}/`,"/"),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}`}}}},8:(e,t,n)=>{"use strict";n.d(t,{$:()=>i});var r=n(8225),a=n(1654),o=n(5238);function i(e){const t=(0,a.zy)(),n=(0,o.ZC)(t),i=(0,o._q)(e);(0,r.useEffect)((()=>{n&&t!==n&&i({location:t,previousLocation:n})}),[i,t,n])}},8380:(e,t,n)=>{"use strict";n.d(t,{p:()=>a});var r=n(8509);function a(){return(0,r.A)().siteConfig.themeConfig}},4692:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.addTrailingSlash=a,t.default=function(e,t){const{trailingSlash:n,baseUrl:r}=t;if(e.startsWith("#"))return e;if(void 0===n)return e;const[i]=e.split(/[#?]/),s="/"===i||i===r?i:(l=i,u=n,u?a(l):o(l));var l,u;return e.replace(i,s)},t.addLeadingSlash=function(e){return(0,r.addPrefix)(e,"/")},t.removeTrailingSlash=o;const r=n(963);function a(e){return e.endsWith("/")?e:`${e}/`}function o(e){return(0,r.removeSuffix)(e,"/")}},7410:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getErrorCausalChain=function e(t){if(t.cause)return[t,...e(t.cause)];return[t]}},4481:(e,t,n)=>{"use strict";t.rA=t.Ks=void 0;const r=n(6636);var a=n(4692);Object.defineProperty(t,"Ks",{enumerable:!0,get:function(){return r.__importDefault(a).default}});var o=n(963);var i=n(7410);Object.defineProperty(t,"rA",{enumerable:!0,get:function(){return i.getErrorCausalChain}})},963:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.addPrefix=function(e,t){return e.startsWith(t)?e:`${t}${e}`},t.removeSuffix=function(e,t){if(""===t)return e;return e.endsWith(t)?e.slice(0,-t.length):e},t.addSuffix=function(e,t){return e.endsWith(t)?e:`${e}${t}`},t.removePrefix=function(e,t){return e.startsWith(t)?e.slice(t.length):e}},8826:(e,t,n)=>{"use strict";n.d(t,{A:()=>i});n(8225);var r=n(3372);const a={loadingRing:"loadingRing_NOED","loading-ring":"loading-ring__I9I"};var o=n(7557);function i(e){let{className:t}=e;return(0,o.jsxs)("div",{className:(0,r.A)(a.loadingRing,t),children:[(0,o.jsx)("div",{}),(0,o.jsx)("div",{}),(0,o.jsx)("div",{}),(0,o.jsx)("div",{})]})}},2954:(e,t,n)=>{"use strict";n.d(t,{k:()=>_,w:()=>C});const r=Symbol("Comlink.proxy"),a=Symbol("Comlink.endpoint"),o=Symbol("Comlink.releaseProxy"),i=Symbol("Comlink.finalizer"),s=Symbol("Comlink.thrown"),l=e=>"object"==typeof e&&null!==e||"function"==typeof e,u=new Map([["proxy",{canHandle:e=>l(e)&&e[r],serialize(e){const{port1:t,port2:n}=new MessageChannel;return c(e,t),[n,[n]]},deserialize:e=>(e.start(),f(e))}],["throw",{canHandle:e=>l(e)&&s in e,serialize({value:e}){let t;return t=e instanceof Error?{isError:!0,value:{message:e.message,name:e.name,stack:e.stack}}:{isError:!1,value:e},[t,[]]},deserialize(e){if(e.isError)throw Object.assign(new Error(e.value.message),e.value);throw e.value}}]]);function c(e,t=globalThis,n=["*"]){t.addEventListener("message",(function a(o){if(!o||!o.data)return;if(!function(e,t){for(const n of e){if(t===n||"*"===n)return!0;if(n instanceof RegExp&&n.test(t))return!0}return!1}(n,o.origin))return void console.warn(`Invalid origin '${o.origin}' for comlink proxy`);const{id:l,type:u,path:f}=Object.assign({path:[]},o.data),p=(o.data.argumentList||[]).map(k);let h;try{const t=f.slice(0,-1).reduce(((e,t)=>e[t]),e),n=f.reduce(((e,t)=>e[t]),e);switch(u){case"GET":h=n;break;case"SET":t[f.slice(-1)[0]]=k(o.data.value),h=!0;break;case"APPLY":h=n.apply(t,p);break;case"CONSTRUCT":h=function(e){return Object.assign(e,{[r]:!0})}(new n(...p));break;case"ENDPOINT":{const{port1:t,port2:n}=new MessageChannel;c(e,n),h=function(e,t){return v.set(e,t),e}(t,[t])}break;case"RELEASE":h=void 0;break;default:return}}catch(g){h={value:g,[s]:0}}Promise.resolve(h).catch((e=>({value:e,[s]:0}))).then((n=>{const[r,o]=w(n);t.postMessage(Object.assign(Object.assign({},r),{id:l}),o),"RELEASE"===u&&(t.removeEventListener("message",a),d(t),i in e&&"function"==typeof e[i]&&e[i]())})).catch((e=>{const[n,r]=w({value:new TypeError("Unserializable return value"),[s]:0});t.postMessage(Object.assign(Object.assign({},n),{id:l}),r)}))})),t.start&&t.start()}function d(e){(function(e){return"MessagePort"===e.constructor.name})(e)&&e.close()}function f(e,t){const n=new Map;return e.addEventListener("message",(function(e){const{data:t}=e;if(!t||!t.id)return;const r=n.get(t.id);if(r)try{r(t)}finally{n.delete(t.id)}})),y(e,n,[],t)}function p(e){if(e)throw new Error("Proxy has been released and is not useable")}function h(e){return x(e,new Map,{type:"RELEASE"}).then((()=>{d(e)}))}const g=new WeakMap,m="FinalizationRegistry"in globalThis&&new FinalizationRegistry((e=>{const t=(g.get(e)||0)-1;g.set(e,t),0===t&&h(e)}));function y(e,t,n=[],r=function(){}){let i=!1;const s=new Proxy(r,{get(r,a){if(p(i),a===o)return()=>{!function(e){m&&m.unregister(e)}(s),h(e),t.clear(),i=!0};if("then"===a){if(0===n.length)return{then:()=>s};const r=x(e,t,{type:"GET",path:n.map((e=>e.toString()))}).then(k);return r.then.bind(r)}return y(e,t,[...n,a])},set(r,a,o){p(i);const[s,l]=w(o);return x(e,t,{type:"SET",path:[...n,a].map((e=>e.toString())),value:s},l).then(k)},apply(r,o,s){p(i);const l=n[n.length-1];if(l===a)return x(e,t,{type:"ENDPOINT"}).then(k);if("bind"===l)return y(e,t,n.slice(0,-1));const[u,c]=b(s);return x(e,t,{type:"APPLY",path:n.map((e=>e.toString())),argumentList:u},c).then(k)},construct(r,a){p(i);const[o,s]=b(a);return x(e,t,{type:"CONSTRUCT",path:n.map((e=>e.toString())),argumentList:o},s).then(k)}});return function(e,t){const n=(g.get(t)||0)+1;g.set(t,n),m&&m.register(e,t,e)}(s,e),s}function b(e){const t=e.map(w);return[t.map((e=>e[0])),(n=t.map((e=>e[1])),Array.prototype.concat.apply([],n))];var n}const v=new WeakMap;function w(e){for(const[t,n]of u)if(n.canHandle(e)){const[r,a]=n.serialize(e);return[{type:"HANDLER",name:t,value:r},a]}return[{type:"RAW",value:e},v.get(e)||[]]}function k(e){switch(e.type){case"HANDLER":return u.get(e.name).deserialize(e.value);case"RAW":return e.value}}function x(e,t,n,r){return new Promise((a=>{const o=new Array(4).fill(0).map((()=>Math.floor(Math.random()*Number.MAX_SAFE_INTEGER).toString(16))).join("-");t.set(o,a),e.start&&e.start(),e.postMessage(Object.assign({id:o},n),r)}))}let S;function E(){return S||(S=(async()=>{const e=f(new Worker(new URL(n.p+n.u(875),n.b)));return await new e})()),S}async function _(e,t){{const n=await E();await n.fetchIndexes(e,t)}}async function C(e,t,n,r){return(await E()).search(e,t,n,r)}},7406:(e,t,n)=>{"use strict";function r(e){return e.join(" \u203a ")}n.d(t,{$:()=>r})},7890:(e,t,n)=>{"use strict";function r(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}n.d(t,{Z:()=>r})},1601:(e,t,n)=>{"use strict";function r(e,t){const n=[];for(const r of Object.values(e))r[t]&&n.push(...r[t].position);return n.sort(((e,t)=>e[0]-t[0]||t[1]-e[1]))}n.d(t,{g:()=>r})},586:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a});var r=n(7890);function a(e,t,n){const o=[];for(const i of t){const n=e.toLowerCase().indexOf(i);if(n>=0){n>0&&o.push(a(e.substr(0,n),t)),o.push(`${(0,r.Z)(e.substr(n,i.length))}`);const s=n+i.length;s${(0,r.Z)(e)}`:(0,r.Z)(e):o.join("")}},5273:(e,t,n)=>{"use strict";n.d(t,{C:()=>l});var r=n(7890),a=n(586);const o=/\w+|\p{Unified_Ideograph}/u;function i(e){const t=[];let n=0,r=e;for(;r.length>0;){const a=r.match(o);if(!a){t.push(r);break}a.index>0&&t.push(r.substring(0,a.index)),t.push(a[0]),n+=a.index+a[0].length,r=e.substring(n)}return t}var s=n(9639);function l(e,t,n,o){void 0===o&&(o=s.rG);const{chunkIndex:l,chunks:u}=function(e,t,n){const o=[];let s=0,l=0,u=-1;for(;sl){const t=i(e.substring(l,c)).map((e=>({html:(0,r.Z)(e),textLength:e.length})));for(const e of t)o.push(e)}-1===u&&(u=o.length),l=c+d,o.push({html:(0,a.Z)(e.substring(c,l),n,!0),textLength:d})}}if(l({html:(0,r.Z)(e),textLength:e.length})));for(const e of t)o.push(e)}return{chunkIndex:u,chunks:o}}(e,t,n),c=u.slice(0,l),d=u[l],f=[d.html],p=u.slice(l+1);let h=d.textLength,g=0,m=0,y=!1,b=!1;for(;h0){const e=c.pop();h+e.textLength<=o?(f.unshift(e.html),g+=e.textLength,h+=e.textLength):(y=!0,c.length=0)}else{if(!(p.length>0))break;{const e=p.shift();h+e.textLength<=o?(f.push(e.html),m+=e.textLength,h+=e.textLength):(b=!0,p.length=0)}}return(y||c.length>0)&&f.unshift("\u2026"),(b||p.length>0)&&f.push("\u2026"),f.join("")}},5972:(e,t,n)=>{"use strict";function r(e,t){if("string"==typeof e)return{label:e,path:e};{const{label:n,path:r}=e;return"string"==typeof n?{label:n,path:r}:Object.prototype.hasOwnProperty.call(n,t)?{label:n[t],path:r}:{label:r,path:r}}}n.d(t,{p:()=>r})},9639:(e,t,n)=>{"use strict";n.d(t,{CU:()=>a(),UB:()=>c,tb:()=>i,O6:()=>p,I$:()=>d,ZG:()=>u,WW:()=>s,pk:()=>l,Hg:()=>f,rG:()=>o,dz:()=>h});var r=n(2236),a=n.n(r);const o=50,i=!0,s=!0,l=!0,u="right",c=void 0,d=!0,f=null,p=!1,h=!1},3840:(e,t,n)=>{"use strict";var r;n.d(t,{i:()=>r}),function(e){e[e.Title=0]="Title",e[e.Heading=1]="Heading",e[e.Description=2]="Description",e[e.Keywords=3]="Keywords",e[e.Content=4]="Content"}(r||(r={}))},9888:(e,t,n)=>{"use strict";n.d(t,{zR:()=>w,TM:()=>C,yJ:()=>p,sC:()=>T,AO:()=>f});var r=n(6205);function a(e){return"/"===e.charAt(0)}function o(e,t){for(var n=t,r=n+1,a=e.length;r=0;f--){var p=i[f];"."===p?o(i,f):".."===p?(o(i,f),d++):d&&(o(i,f),d--)}if(!u)for(;d--;d)i.unshift("..");!u||""===i[0]||i[0]&&a(i[0])||i.unshift("");var h=i.join("/");return n&&"/"!==h.substr(-1)&&(h+="/"),h};var s=n(8635);function l(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,a=t||"/";return n&&"?"!==n&&(a+="?"===n.charAt(0)?n:"?"+n),r&&"#"!==r&&(a+="#"===r.charAt(0)?r:"#"+r),a}function p(e,t,n,a){var o;"string"==typeof e?(o=function(e){var t=e||"/",n="",r="",a=t.indexOf("#");-1!==a&&(r=t.substr(a),t=t.substr(0,a));var o=t.indexOf("?");return-1!==o&&(n=t.substr(o),t=t.substr(0,o)),{pathname:t,search:"?"===n?"":n,hash:"#"===r?"":r}}(e),o.state=t):(void 0===(o=(0,r.A)({},e)).pathname&&(o.pathname=""),o.search?"?"!==o.search.charAt(0)&&(o.search="?"+o.search):o.search="",o.hash?"#"!==o.hash.charAt(0)&&(o.hash="#"+o.hash):o.hash="",void 0!==t&&void 0===o.state&&(o.state=t));try{o.pathname=decodeURI(o.pathname)}catch(s){throw s instanceof URIError?new URIError('Pathname "'+o.pathname+'" could not be decoded. This is likely caused by an invalid percent-encoding.'):s}return n&&(o.key=n),a?o.pathname?"/"!==o.pathname.charAt(0)&&(o.pathname=i(o.pathname,a.pathname)):o.pathname=a.pathname:o.pathname||(o.pathname="/"),o}function h(){var e=null;var t=[];return{setPrompt:function(t){return e=t,function(){e===t&&(e=null)}},confirmTransitionTo:function(t,n,r,a){if(null!=e){var o="function"==typeof e?e(t,n):e;"string"==typeof o?"function"==typeof r?r(o,a):a(!0):a(!1!==o)}else a(!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,a):n.push(a),d({action:r,location:a,index:t,entries:n})}}))},replace:function(e,t){var r="REPLACE",a=p(e,t,g(),w.location);c.confirmTransitionTo(a,r,n,(function(e){e&&(w.entries[w.index]=a,d({action:r,location:a}))}))},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(3635),a={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},o={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},s={};function l(e){return r.isMemo(e)?i:s[e.$$typeof]||a}s[r.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},s[r.Memo]=i;var u=Object.defineProperty,c=Object.getOwnPropertyNames,d=Object.getOwnPropertySymbols,f=Object.getOwnPropertyDescriptor,p=Object.getPrototypeOf,h=Object.prototype;e.exports=function e(t,n,r){if("string"!=typeof n){if(h){var a=p(n);a&&a!==h&&e(t,a,r)}var i=c(n);d&&(i=i.concat(d(n)));for(var s=l(t),g=l(n),m=0;m{"use strict";e.exports=function(e,t,n,r,a,o,i,s){if(!e){var l;if(void 0===t)l=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,a,o,i,s],c=0;(l=new Error(t.replace(/%s/g,(function(){return u[c++]})))).name="Invariant Violation"}throw l.framesToPop=1,l}}},1434:e=>{e.exports=Array.isArray||function(e){return"[object Array]"==Object.prototype.toString.call(e)}},6410:(e,t,n)=>{var r,a;!function(){var o,i,s,l,u,c,d,f,p,h,g,m,y,b,v,w,k,x,S,E,_,C,A,T,O,N,P,L,j,R,I=function(e){var t=new I.Builder;return t.pipeline.add(I.trimmer,I.stopWordFilter,I.stemmer),t.searchPipeline.add(I.stemmer),e.call(t,t),t.build()};I.version="2.3.9",I.utils={},I.utils.warn=(o=this,function(e){o.console&&console.warn&&console.warn(e)}),I.utils.asString=function(e){return null==e?"":e.toString()},I.utils.clone=function(e){if(null==e)return e;for(var t=Object.create(null),n=Object.keys(e),r=0;r0){var l=I.utils.clone(t)||{};l.position=[i,s],l.index=a.length,a.push(new I.Token(n.slice(i,o),l))}i=o+1}}return a},I.tokenizer.separator=/[\s\-]+/,I.Pipeline=function(){this._stack=[]},I.Pipeline.registeredFunctions=Object.create(null),I.Pipeline.registerFunction=function(e,t){t in this.registeredFunctions&&I.utils.warn("Overwriting existing registered function: "+t),e.label=t,I.Pipeline.registeredFunctions[e.label]=e},I.Pipeline.warnIfFunctionNotRegistered=function(e){e.label&&e.label in this.registeredFunctions||I.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",e)},I.Pipeline.load=function(e){var t=new I.Pipeline;return e.forEach((function(e){var n=I.Pipeline.registeredFunctions[e];if(!n)throw new Error("Cannot load unregistered function: "+e);t.add(n)})),t},I.Pipeline.prototype.add=function(){Array.prototype.slice.call(arguments).forEach((function(e){I.Pipeline.warnIfFunctionNotRegistered(e),this._stack.push(e)}),this)},I.Pipeline.prototype.after=function(e,t){I.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)},I.Pipeline.prototype.before=function(e,t){I.Pipeline.warnIfFunctionNotRegistered(t);var n=this._stack.indexOf(e);if(-1==n)throw new Error("Cannot find existingFn");this._stack.splice(n,0,t)},I.Pipeline.prototype.remove=function(e){var t=this._stack.indexOf(e);-1!=t&&this._stack.splice(t,1)},I.Pipeline.prototype.run=function(e){for(var t=this._stack.length,n=0;n1&&(oe&&(n=a),o!=e);)r=n-t,a=t+Math.floor(r/2),o=this.elements[2*a];return o==e||o>e?2*a:os?u+=2:i==s&&(t+=n[l+1]*r[u+1],l+=2,u+=2);return t},I.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},I.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),t=1,n=0;t0){var o,i=a.str.charAt(0);i in a.node.edges?o=a.node.edges[i]:(o=new I.TokenSet,a.node.edges[i]=o),1==a.str.length&&(o.final=!0),r.push({node:o,editsRemaining:a.editsRemaining,str:a.str.slice(1)})}if(0!=a.editsRemaining){if("*"in a.node.edges)var s=a.node.edges["*"];else{s=new I.TokenSet;a.node.edges["*"]=s}if(0==a.str.length&&(s.final=!0),r.push({node:s,editsRemaining:a.editsRemaining-1,str:a.str}),a.str.length>1&&r.push({node:a.node,editsRemaining:a.editsRemaining-1,str:a.str.slice(1)}),1==a.str.length&&(a.node.final=!0),a.str.length>=1){if("*"in a.node.edges)var l=a.node.edges["*"];else{l=new I.TokenSet;a.node.edges["*"]=l}1==a.str.length&&(l.final=!0),r.push({node:l,editsRemaining:a.editsRemaining-1,str:a.str.slice(1)})}if(a.str.length>1){var u,c=a.str.charAt(0),d=a.str.charAt(1);d in a.node.edges?u=a.node.edges[d]:(u=new I.TokenSet,a.node.edges[d]=u),1==a.str.length&&(u.final=!0),r.push({node:u,editsRemaining:a.editsRemaining-1,str:c+a.str.slice(2)})}}}return n},I.TokenSet.fromString=function(e){for(var t=new I.TokenSet,n=t,r=0,a=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()}},I.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},I.Index.prototype.search=function(e){return this.query((function(t){new I.QueryParser(e,t).parse()}))},I.Index.prototype.query=function(e){for(var t=new I.Query(this.fields),n=Object.create(null),r=Object.create(null),a=Object.create(null),o=Object.create(null),i=Object.create(null),s=0;s1?1:e},I.Builder.prototype.k1=function(e){this._k1=e},I.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 a=0;a=this.length)return I.QueryLexer.EOS;var e=this.str.charAt(this.pos);return this.pos+=1,e},I.QueryLexer.prototype.width=function(){return this.pos-this.start},I.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},I.QueryLexer.prototype.backup=function(){this.pos-=1},I.QueryLexer.prototype.acceptDigitRun=function(){var e,t;do{t=(e=this.next()).charCodeAt(0)}while(t>47&&t<58);e!=I.QueryLexer.EOS&&this.backup()},I.QueryLexer.prototype.more=function(){return this.pos1&&(e.backup(),e.emit(I.QueryLexer.TERM)),e.ignore(),e.more())return I.QueryLexer.lexText},I.QueryLexer.lexEditDistance=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(I.QueryLexer.EDIT_DISTANCE),I.QueryLexer.lexText},I.QueryLexer.lexBoost=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(I.QueryLexer.BOOST),I.QueryLexer.lexText},I.QueryLexer.lexEOS=function(e){e.width()>0&&e.emit(I.QueryLexer.TERM)},I.QueryLexer.termSeparator=I.tokenizer.separator,I.QueryLexer.lexText=function(e){for(;;){var t=e.next();if(t==I.QueryLexer.EOS)return I.QueryLexer.lexEOS;if(92!=t.charCodeAt(0)){if(":"==t)return I.QueryLexer.lexField;if("~"==t)return e.backup(),e.width()>0&&e.emit(I.QueryLexer.TERM),I.QueryLexer.lexEditDistance;if("^"==t)return e.backup(),e.width()>0&&e.emit(I.QueryLexer.TERM),I.QueryLexer.lexBoost;if("+"==t&&1===e.width())return e.emit(I.QueryLexer.PRESENCE),I.QueryLexer.lexText;if("-"==t&&1===e.width())return e.emit(I.QueryLexer.PRESENCE),I.QueryLexer.lexText;if(t.match(I.QueryLexer.termSeparator))return I.QueryLexer.lexTerm}else e.escapeCharacter()}},I.QueryParser=function(e,t){this.lexer=new I.QueryLexer(e),this.query=t,this.currentClause={},this.lexemeIdx=0},I.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var e=I.QueryParser.parseClause;e;)e=e(this);return this.query},I.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},I.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},I.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},I.QueryParser.parseClause=function(e){var t=e.peekLexeme();if(null!=t)switch(t.type){case I.QueryLexer.PRESENCE:return I.QueryParser.parsePresence;case I.QueryLexer.FIELD:return I.QueryParser.parseField;case I.QueryLexer.TERM:return I.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 I.QueryParseError(n,t.start,t.end)}},I.QueryParser.parsePresence=function(e){var t=e.consumeLexeme();if(null!=t){switch(t.str){case"-":e.currentClause.presence=I.Query.presence.PROHIBITED;break;case"+":e.currentClause.presence=I.Query.presence.REQUIRED;break;default:var n="unrecognised presence operator'"+t.str+"'";throw new I.QueryParseError(n,t.start,t.end)}var r=e.peekLexeme();if(null==r){n="expecting term or field, found nothing";throw new I.QueryParseError(n,t.start,t.end)}switch(r.type){case I.QueryLexer.FIELD:return I.QueryParser.parseField;case I.QueryLexer.TERM:return I.QueryParser.parseTerm;default:n="expecting term or field, found '"+r.type+"'";throw new I.QueryParseError(n,r.start,r.end)}}},I.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 I.QueryParseError(r,t.start,t.end)}e.currentClause.fields=[t.str];var a=e.peekLexeme();if(null==a){r="expecting term, found nothing";throw new I.QueryParseError(r,t.start,t.end)}if(a.type===I.QueryLexer.TERM)return I.QueryParser.parseTerm;r="expecting term, found '"+a.type+"'";throw new I.QueryParseError(r,a.start,a.end)}},I.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 I.QueryLexer.TERM:return e.nextClause(),I.QueryParser.parseTerm;case I.QueryLexer.FIELD:return e.nextClause(),I.QueryParser.parseField;case I.QueryLexer.EDIT_DISTANCE:return I.QueryParser.parseEditDistance;case I.QueryLexer.BOOST:return I.QueryParser.parseBoost;case I.QueryLexer.PRESENCE:return e.nextClause(),I.QueryParser.parsePresence;default:var r="Unexpected lexeme type '"+n.type+"'";throw new I.QueryParseError(r,n.start,n.end)}else e.nextClause()}},I.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 I.QueryParseError(r,t.start,t.end)}e.currentClause.editDistance=n;var a=e.peekLexeme();if(null!=a)switch(a.type){case I.QueryLexer.TERM:return e.nextClause(),I.QueryParser.parseTerm;case I.QueryLexer.FIELD:return e.nextClause(),I.QueryParser.parseField;case I.QueryLexer.EDIT_DISTANCE:return I.QueryParser.parseEditDistance;case I.QueryLexer.BOOST:return I.QueryParser.parseBoost;case I.QueryLexer.PRESENCE:return e.nextClause(),I.QueryParser.parsePresence;default:r="Unexpected lexeme type '"+a.type+"'";throw new I.QueryParseError(r,a.start,a.end)}else e.nextClause()}},I.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 I.QueryParseError(r,t.start,t.end)}e.currentClause.boost=n;var a=e.peekLexeme();if(null!=a)switch(a.type){case I.QueryLexer.TERM:return e.nextClause(),I.QueryParser.parseTerm;case I.QueryLexer.FIELD:return e.nextClause(),I.QueryParser.parseField;case I.QueryLexer.EDIT_DISTANCE:return I.QueryParser.parseEditDistance;case I.QueryLexer.BOOST:return I.QueryParser.parseBoost;case I.QueryLexer.PRESENCE:return e.nextClause(),I.QueryParser.parsePresence;default:r="Unexpected lexeme type '"+a.type+"'";throw new I.QueryParseError(r,a.start,a.end)}else e.nextClause()}},void 0===(a="function"==typeof(r=function(){return I})?r.call(t,n,t,e):r)||(e.exports=a)}()},2236: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],a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:5e3;t(this,e),this.ctx=n,this.iframes=r,this.exclude=a,this.iframesTimeout=o}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 a=e.contentWindow;if(r=a.document,!a||!r)throw new Error("iframe inaccessible")}catch(o){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,a=!1,o=null,i=function i(){if(!a){a=!0,clearTimeout(o);try{r.isIframeBlank(e)||(e.removeEventListener("load",i),r.getIframeContents(e,t,n))}catch(s){n()}}};e.addEventListener("load",i),o=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 a=this,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:function(){},i=t.querySelectorAll("iframe"),s=i.length,l=0;i=Array.prototype.slice.call(i);var u=function(){--s<=0&&o(l)};s||u(),i.forEach((function(t){e.matches(t,a.exclude)?u():a.onIframeReady(t,(function(e){n(t)&&(l++,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 a=!1,o=!1;return r.forEach((function(e,t){e.val===n&&(a=t,o=e.handled)})),this.compareNodeIframe(e,t,n)?(!1!==a||o?!1===a||o||(r[a].handled=!0):r.push({val:n,handled:!0}),!0):(!1===a&&r.push({val:n,handled:!1}),!1)}},{key:"handleOpenIframes",value:function(e,t,n,r){var a=this;e.forEach((function(e){e.handled||a.getIframeContents(e.val,(function(e){a.createInstanceOnIframe(e).forEachNode(t,n,r)}))}))}},{key:"iterateThroughNodes",value:function(e,t,n,r,a){for(var o=this,i=this.createIterator(t,e,r),s=[],l=[],u=void 0,c=void 0,d=function(){var e=o.getIteratorNode(i);return c=e.prevNode,u=e.node};d();)this.iframes&&this.forEachIframe(t,(function(e){return o.checkIframeFilter(u,c,e,s)}),(function(t){o.createInstanceOnIframe(t).forEachNode(e,(function(e){return l.push(e)}),r)})),l.push(u);l.forEach((function(e){n(e)})),this.iframes&&this.handleOpenIframes(s,e,n,r),a()}},{key:"forEachNode",value:function(e,t,n){var r=this,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:function(){},o=this.getContexts(),i=o.length;i||a(),o.forEach((function(o){var s=function(){r.iterateThroughNodes(e,o,t,n,(function(){--i<=0&&a()}))};r.iframes?r.waitForIframes(o,s):s()}))}}],[{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 a=!1;return n.every((function(t){return!r.call(e,t)||(a=!0,!1)})),a}return!1}}]),e}(),o=function(){function o(e){t(this,o),this.ctx=e,this.ie=!1;var n=window.navigator.userAgent;(n.indexOf("MSIE")>-1||n.indexOf("Trident")>-1)&&(this.ie=!0)}return n(o,[{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 a in t)if(t.hasOwnProperty(a)){var o=t[a],i="disabled"!==this.opt.wildcards?this.setupWildcardsRegExp(a):this.escapeStr(a),s="disabled"!==this.opt.wildcards?this.setupWildcardsRegExp(o):this.escapeStr(o);""!==i&&""!==s&&(e=e.replace(new RegExp("("+this.escapeStr(i)+"|"+this.escapeStr(s)+")","gm"+n),r+"("+this.processSynomyms(i)+"|"+this.processSynomyms(s)+")"+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(a){n.every((function(n){if(-1!==n.indexOf(a)){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,a="string"==typeof r?r:r.value,o="string"==typeof r?[]:r.limiters,i="";switch(o.forEach((function(e){i+="|"+t.escapeStr(e)})),a){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 a=t.callNoMatchOnInvalidRanges(e,r),o=a.start,i=a.end;a.valid&&(e.start=o,e.length=i-o,n.push(e),r=i)})),n}},{key:"callNoMatchOnInvalidRanges",value:function(e,t){var n=void 0,r=void 0,a=!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?a=!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:a}}},{key:"checkWhitespaceRanges",value:function(e,t,n){var r=void 0,a=!0,o=n.length,i=t-o,s=parseInt(e.start,10)-i;return(r=(s=s>o?o:s)+parseInt(e.length,10))>o&&(r=o,this.log("End range automatically set to the max value of "+o)),s<0||r-s<0||s>o||r>o?(a=!1,this.log("Invalid range: "+JSON.stringify(e)),this.opt.noMatch(e)):""===n.substring(s,r).replace(/\s+/g,"")&&(a=!1,this.log("Skipping whitespace only range: "+JSON.stringify(e)),this.opt.noMatch(e)),{start:s,end:r,valid:a}}},{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 a.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",a=e.splitText(t),o=a.splitText(n-t),i=document.createElement(r);return i.setAttribute("data-markjs","true"),this.opt.className&&i.setAttribute("class",this.opt.className),i.textContent=a.textContent,a.parentNode.replaceChild(i,a),o}},{key:"wrapRangeInMappedTextNode",value:function(e,t,n,r,a){var o=this;e.nodes.every((function(i,s){var l=e.nodes[s+1];if(void 0===l||l.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=o.wrapRangeInTextNode(i.node,u,c),e.value=d+f,e.nodes.forEach((function(t,n){n>=s&&(e.nodes[n].start>0&&n!==s&&(e.nodes[n].start-=c),e.nodes[n].end-=c)})),n-=c,a(i.node.previousSibling,i.start),!(n>i.end))return!1;t=i.end}return!0}))}},{key:"wrapMatches",value:function(e,t,n,r,a){var o=this,i=0===t?0:t+1;this.getTextNodes((function(t){t.nodes.forEach((function(t){t=t.node;for(var a=void 0;null!==(a=e.exec(t.textContent))&&""!==a[i];)if(n(a[i],t)){var s=a.index;if(0!==i)for(var l=1;l{"use strict";n.r(t)},4970:(e,t,n)=>{"use strict";n.r(t)},4564:function(e,t,n){var r,a;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 a(e,t,n){return en?n:e}function o(e){return 100*(-1+e)}function i(e,t,n){var a;return(a="translate3d"===r.positionUsing?{transform:"translate3d("+o(e)+"%,0,0)"}:"translate"===r.positionUsing?{transform:"translate("+o(e)+"%,0)"}:{"margin-left":o(e)+"%"}).transition="all "+t+"ms "+n,a}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=a(e,r.minimum,1),n.status=1===e?null:e;var o=n.render(!t),u=o.querySelector(r.barSelector),c=r.speed,d=r.easing;return o.offsetWidth,s((function(t){""===r.positionUsing&&(r.positionUsing=n.getPositioningCSS()),l(u,i(e,c,d)),1===e?(l(o,{transition:"none",opacity:1}),o.offsetWidth,setTimeout((function(){l(o,{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)*a(Math.random()*t,.1,.95)),t=a(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 a,i=t.querySelector(r.barSelector),s=e?"-100":o(n.status||0),u=document.querySelector(r.parent);return l(i,{transition:"all 0 linear",transform:"translate3d("+s+"%,0,0)"}),r.showSpinner||(a=t.querySelector(r.spinnerSelector))&&p(a),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 s=function(){var e=[];function t(){var n=e.shift();n&&n(t)}return function(n){e.push(n),1==e.length&&t()}}(),l=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,a=e.length,o=t.charAt(0).toUpperCase()+t.slice(1);a--;)if((r=e[a]+o)in n)return r;return t}function a(e){return e=n(e),t[e]||(t[e]=r(e))}function o(e,t,n){t=a(t),e.style[t]=n}return function(e,t){var n,r,a=arguments;if(2==a.length)for(n in t)void 0!==(r=t[n])&&t.hasOwnProperty(n)&&o(e,n,r);else o(e,a[1],a[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===(a="function"==typeof r?r.call(t,n,t,e):r)||(e.exports=a)},5445:(e,t,n)=>{var r=n(1434);e.exports=h,e.exports.parse=o,e.exports.compile=function(e,t){return l(o(e,t),t)},e.exports.tokensToFunction=l,e.exports.tokensToRegExp=p;var a=new RegExp(["(\\\\.)","([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))"].join("|"),"g");function o(e,t){for(var n,r=[],o=0,s=0,l="",u=t&&t.delimiter||"/";null!=(n=a.exec(e));){var d=n[0],f=n[1],p=n.index;if(l+=e.slice(s,p),s=p+d.length,f)l+=f[1];else{var h=e[s],g=n[2],m=n[3],y=n[4],b=n[5],v=n[6],w=n[7];l&&(r.push(l),l="");var k=null!=g&&null!=h&&h!==g,x="+"===v||"*"===v,S="?"===v||"*"===v,E=g||u,_=y||b,C=g||("string"==typeof r[r.length-1]?r[r.length-1]:"");r.push({name:m||o++,prefix:g||"",delimiter:E,optional:S,repeat:x,partial:k,asterisk:!!w,pattern:_?c(_):w?".*":i(E,C)})}}return s-1?"[^"+u(e)+"]+?":u(t)+"|(?:(?!"+u(t)+")[^"+u(e)+"])+?"}function s(e){return encodeURI(e).replace(/[\/?#]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))}function l(e,t){for(var n=new Array(e.length),a=0;a{!function(e){var t="\\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\\b",n={pattern:/(^(["']?)\w+\2)[ \t]+\S.*/,lookbehind:!0,alias:"punctuation",inside:null},r={bash:n,environment:{pattern:RegExp("\\$"+t),alias:"constant"},variable:[{pattern:/\$?\(\([\s\S]+?\)\)/,greedy:!0,inside:{variable:[{pattern:/(^\$\(\([\s\S]+)\)\)/,lookbehind:!0},/^\$\(\(/],number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee]-?\d+)?/,operator:/--|\+\+|\*\*=?|<<=?|>>=?|&&|\|\||[=!+\-*/%<>^&|]=?|[?~:]/,punctuation:/\(\(?|\)\)?|,|;/}},{pattern:/\$\((?:\([^)]+\)|[^()])+\)|`[^`]+`/,greedy:!0,inside:{variable:/^\$\(|^`|\)$|`$/}},{pattern:/\$\{[^}]+\}/,greedy:!0,inside:{operator:/:[-=?+]?|[!\/]|##?|%%?|\^\^?|,,?/,punctuation:/[\[\]]/,environment:{pattern:RegExp("(\\{)"+t),lookbehind:!0,alias:"constant"}}},/\$(?:\w+|[#?*!@$])/],entity:/\\(?:[abceEfnrtv\\"]|O?[0-7]{1,3}|U[0-9a-fA-F]{8}|u[0-9a-fA-F]{4}|x[0-9a-fA-F]{1,2})/};e.languages.bash={shebang:{pattern:/^#!\s*\/.*/,alias:"important"},comment:{pattern:/(^|[^"{\\$])#.*/,lookbehind:!0},"function-name":[{pattern:/(\bfunction\s+)[\w-]+(?=(?:\s*\(?:\s*\))?\s*\{)/,lookbehind:!0,alias:"function"},{pattern:/\b[\w-]+(?=\s*\(\s*\)\s*\{)/,alias:"function"}],"for-or-select":{pattern:/(\b(?:for|select)\s+)\w+(?=\s+in\s)/,alias:"variable",lookbehind:!0},"assign-left":{pattern:/(^|[\s;|&]|[<>]\()\w+(?:\.\w+)*(?=\+?=)/,inside:{environment:{pattern:RegExp("(^|[\\s;|&]|[<>]\\()"+t),lookbehind:!0,alias:"constant"}},alias:"variable",lookbehind:!0},parameter:{pattern:/(^|\s)-{1,2}(?:\w+:[+-]?)?\w+(?:\.\w+)*(?=[=\s]|$)/,alias:"variable",lookbehind:!0},string:[{pattern:/((?:^|[^<])<<-?\s*)(\w+)\s[\s\S]*?(?:\r?\n|\r)\2/,lookbehind:!0,greedy:!0,inside:r},{pattern:/((?:^|[^<])<<-?\s*)(["'])(\w+)\2\s[\s\S]*?(?:\r?\n|\r)\3/,lookbehind:!0,greedy:!0,inside:{bash:n}},{pattern:/(^|[^\\](?:\\\\)*)"(?:\\[\s\S]|\$\([^)]+\)|\$(?!\()|`[^`]+`|[^"\\`$])*"/,lookbehind:!0,greedy:!0,inside:r},{pattern:/(^|[^$\\])'[^']*'/,lookbehind:!0,greedy:!0},{pattern:/\$'(?:[^'\\]|\\[\s\S])*'/,greedy:!0,inside:{entity:r.entity}}],environment:{pattern:RegExp("\\$?"+t),alias:"constant"},variable:r.variable,function:{pattern:/(^|[\s;|&]|[<>]\()(?:add|apropos|apt|apt-cache|apt-get|aptitude|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cargo|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|docker|docker-compose|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|java|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|node|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|podman|podman-compose|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|sysctl|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vcpkg|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[)\s;|&])/,lookbehind:!0},keyword:{pattern:/(^|[\s;|&]|[<>]\()(?:case|do|done|elif|else|esac|fi|for|function|if|in|select|then|until|while)(?=$|[)\s;|&])/,lookbehind:!0},builtin:{pattern:/(^|[\s;|&]|[<>]\()(?:\.|:|alias|bind|break|builtin|caller|cd|command|continue|declare|echo|enable|eval|exec|exit|export|getopts|hash|help|let|local|logout|mapfile|printf|pwd|read|readarray|readonly|return|set|shift|shopt|source|test|times|trap|type|typeset|ulimit|umask|unalias|unset)(?=$|[)\s;|&])/,lookbehind:!0,alias:"class-name"},boolean:{pattern:/(^|[\s;|&]|[<>]\()(?:false|true)(?=$|[)\s;|&])/,lookbehind:!0},"file-descriptor":{pattern:/\B&\d\b/,alias:"important"},operator:{pattern:/\d?<>|>\||\+=|=[=~]?|!=?|<<[<-]?|[&\d]?>>|\d[<>]&?|[<>][&=]?|&[>&]?|\|[&|]?/,inside:{"file-descriptor":{pattern:/^\d/,alias:"important"}}},punctuation:/\$?\(\(?|\)\)?|\.\.|[{}[\];\\]/,number:{pattern:/(^|\s)(?:[1-9]\d*|0)(?:[.,]\d+)?\b/,lookbehind:!0}},n.inside=e.languages.bash;for(var a=["comment","function-name","for-or-select","assign-left","parameter","string","environment","function","keyword","builtin","boolean","file-descriptor","operator","punctuation","number"],o=r.variable[1].inside,i=0;i{Prism.languages.hcl={comment:/(?:\/\/|#).*|\/\*[\s\S]*?(?:\*\/|$)/,heredoc:{pattern:/<<-?(\w+\b)[\s\S]*?^[ \t]*\1/m,greedy:!0,alias:"string"},keyword:[{pattern:/(?:data|resource)\s+(?:"(?:\\[\s\S]|[^\\"])*")(?=\s+"[\w-]+"\s+\{)/i,inside:{type:{pattern:/(resource|data|\s+)(?:"(?:\\[\s\S]|[^\\"])*")/i,lookbehind:!0,alias:"variable"}}},{pattern:/(?:backend|module|output|provider|provisioner|variable)\s+(?:[\w-]+|"(?:\\[\s\S]|[^\\"])*")\s+(?=\{)/i,inside:{type:{pattern:/(backend|module|output|provider|provisioner|variable)\s+(?:[\w-]+|"(?:\\[\s\S]|[^\\"])*")\s+/i,lookbehind:!0,alias:"variable"}}},/[\w-]+(?=\s+\{)/],property:[/[-\w\.]+(?=\s*=(?!=))/,/"(?:\\[\s\S]|[^\\"])+"(?=\s*[:=])/],string:{pattern:/"(?:[^\\$"]|\\[\s\S]|\$(?:(?=")|\$+(?!\$)|[^"${])|\$\{(?:[^{}"]|"(?:[^\\"]|\\[\s\S])*")*\})*"/,greedy:!0,inside:{interpolation:{pattern:/(^|[^$])\$\{(?:[^{}"]|"(?:[^\\"]|\\[\s\S])*")*\}/,lookbehind:!0,inside:{type:{pattern:/(\b(?:count|data|local|module|path|self|terraform|var)\b\.)[\w\*]+/i,lookbehind:!0,alias:"variable"},keyword:/\b(?:count|data|local|module|path|self|terraform|var)\b/i,function:/\w+(?=\()/,string:{pattern:/"(?:\\[\s\S]|[^\\"])*"/,greedy:!0},number:/\b0x[\da-f]+\b|\b\d+(?:\.\d*)?(?:e[+-]?\d+)?/i,punctuation:/[!\$#%&'()*+,.\/;<=>@\[\\\]^`{|}~?:]/}}}},number:/\b0x[\da-f]+\b|\b\d+(?:\.\d*)?(?:e[+-]?\d+)?/i,boolean:/\b(?:false|true)\b/i,punctuation:/[=\[\]{}]/}},3966:()=>{!function(e){var t=/\b(?:abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|exports|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|module|native|new|non-sealed|null|open|opens|package|permits|private|protected|provides|public|record(?!\s*[(){}[\]<>=%~.:,;?+\-*/&|^])|requires|return|sealed|short|static|strictfp|super|switch|synchronized|this|throw|throws|to|transient|transitive|try|uses|var|void|volatile|while|with|yield)\b/,n=/(?:[a-z]\w*\s*\.\s*)*(?:[A-Z]\w*\s*\.\s*)*/.source,r={pattern:RegExp(/(^|[^\w.])/.source+n+/[A-Z](?:[\d_A-Z]*[a-z]\w*)?\b/.source),lookbehind:!0,inside:{namespace:{pattern:/^[a-z]\w*(?:\s*\.\s*[a-z]\w*)*(?:\s*\.)?/,inside:{punctuation:/\./}},punctuation:/\./}};e.languages.java=e.languages.extend("clike",{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"/,lookbehind:!0,greedy:!0},"class-name":[r,{pattern:RegExp(/(^|[^\w.])/.source+n+/[A-Z]\w*(?=\s+\w+\s*[;,=()]|\s*(?:\[[\s,]*\]\s*)?::\s*new\b)/.source),lookbehind:!0,inside:r.inside},{pattern:RegExp(/(\b(?:class|enum|extends|implements|instanceof|interface|new|record|throws)\s+)/.source+n+/[A-Z]\w*\b/.source),lookbehind:!0,inside:r.inside}],keyword:t,function:[e.languages.clike.function,{pattern:/(::\s*)[a-z_]\w*/,lookbehind:!0}],number:/\b0b[01][01_]*L?\b|\b0x(?:\.[\da-f_p+-]+|[\da-f_]+(?:\.[\da-f_p+-]+)?)\b|(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?\d[\d_]*)?[dfl]?/i,operator:{pattern:/(^|[^.])(?:<<=?|>>>?=?|->|--|\+\+|&&|\|\||::|[?:~]|[-+*/%&|^!=<>]=?)/m,lookbehind:!0},constant:/\b[A-Z][A-Z_\d]+\b/}),e.languages.insertBefore("java","string",{"triple-quoted-string":{pattern:/"""[ \t]*[\r\n](?:(?:"|"")?(?:\\.|[^"\\]))*"""/,greedy:!0,alias:"string"},char:{pattern:/'(?:\\.|[^'\\\r\n]){1,6}'/,greedy:!0}}),e.languages.insertBefore("java","class-name",{annotation:{pattern:/(^|[^.])@\w+(?:\s*\.\s*\w+)*/,lookbehind:!0,alias:"punctuation"},generics:{pattern:/<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&))*>)*>)*>)*>/,inside:{"class-name":r,keyword:t,punctuation:/[<>(),.:]/,operator:/[?&|]/}},import:[{pattern:RegExp(/(\bimport\s+)/.source+n+/(?:[A-Z]\w*|\*)(?=\s*;)/.source),lookbehind:!0,inside:{namespace:r.inside.namespace,punctuation:/\./,operator:/\*/,"class-name":/\w+/}},{pattern:RegExp(/(\bimport\s+static\s+)/.source+n+/(?:\w+|\*)(?=\s*;)/.source),lookbehind:!0,alias:"static",inside:{namespace:r.inside.namespace,static:/\b\w+$/,punctuation:/\./,operator:/\*/,"class-name":/\w+/}}],namespace:{pattern:RegExp(/(\b(?:exports|import(?:\s+static)?|module|open|opens|package|provides|requires|to|transitive|uses|with)\s+)(?!)[a-z]\w*(?:\.[a-z]\w*)*\.?/.source.replace(//g,(function(){return t.source}))),lookbehind:!0,inside:{punctuation:/\./}}})}(Prism)},7603:()=>{!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)},3814:()=>{!function(e){function t(e,t){return"___"+e.toUpperCase()+t+"___"}Object.defineProperties(e.languages["markup-templating"]={},{buildPlaceholders:{value:function(n,r,a,o){if(n.language===r){var i=n.tokenStack=[];n.code=n.code.replace(a,(function(e){if("function"==typeof o&&!o(e))return e;for(var a,s=i.length;-1!==n.code.indexOf(a=t(r,s));)++s;return i[s]=e,a})),n.grammar=e.languages.markup}}},tokenizePlaceholders:{value:function(n,r){if(n.language===r&&n.tokenStack){n.grammar=e.languages[r];var a=0,o=Object.keys(n.tokenStack);!function i(s){for(var l=0;l=o.length);l++){var u=s[l];if("string"==typeof u||u.content&&"string"==typeof u.content){var c=o[a],d=n.tokenStack[c],f="string"==typeof u?u:u.content,p=t(r,c),h=f.indexOf(p);if(h>-1){++a;var g=f.substring(0,h),m=new e.Token(r,e.tokenize(d,n.grammar),"language-"+r,d),y=f.substring(h+p.length),b=[];g&&b.push.apply(b,i([g])),b.push(m),y&&b.push.apply(b,i([y])),"string"==typeof u?s.splice.apply(s,[l,1].concat(b)):u.content=b}}else u.content&&i(u.content)}return s}(n.tokens)}}}})}(Prism)},6870:(e,t,n)=>{"use strict";var r=n(6701);function a(){}function o(){}o.resetWarningCache=a,e.exports=function(){function e(e,t,n,a,o,i){if(i!==r){var s=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 s.name="Invariant Violation",s}}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:o,resetWarningCache:a};return n.PropTypes=n,n}},3108:(e,t,n)=>{e.exports=n(6870)()},6701:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},5387:(e,t,n)=>{"use strict";var r=n(1240),a=n(8225),o=n(8941);function i(e){var t="https://react.dev/errors/"+e;if(1)":-1--a||l[r]!==u[a]){var c="\n"+l[r].replace(" at new "," at ");return e.displayName&&c.includes("")&&(c=c.replace("",e.displayName)),c}}while(1<=r&&0<=a);break}}}finally{j=!1,Error.prepareStackTrace=n}return(n=e?e.displayName||e.name:"")?L(n):""}function I(e){switch(e.tag){case 26:case 27:case 5:return L(e.type);case 16:return L("Lazy");case 13:return L("Suspense");case 19:return L("SuspenseList");case 0:case 15:return e=R(e.type,!1);case 11:return e=R(e.type.render,!1);case 1:return e=R(e.type,!0);default:return""}}function F(e){try{var t="";do{t+=I(e),e=e.return}while(e);return t}catch(n){return"\nError generating stack: "+n.message+"\n"+n.stack}}function D(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do{!!(4098&(t=e).flags)&&(n=t.return),e=t.return}while(e)}return 3===t.tag?n:null}function M(e){if(13===e.tag){var t=e.memoizedState;if(null===t&&(null!==(e=e.alternate)&&(t=e.memoizedState)),null!==t)return t.dehydrated}return null}function z(e){if(D(e)!==e)throw Error(i(188))}function $(e){var t=e.tag;if(5===t||26===t||27===t||6===t)return e;for(e=e.child;null!==e;){if(null!==(t=$(e)))return t;e=e.sibling}return null}var B=Array.isArray,U=o.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,H={pending:!1,data:null,method:null,action:null},V=[],W=-1;function Q(e){return{current:e}}function q(e){0>W||(e.current=V[W],V[W]=null,W--)}function G(e,t){W++,V[W]=e.current,e.current=t}var K=Q(null),Y=Q(null),Z=Q(null),X=Q(null);function J(e,t){switch(G(Z,t),G(Y,e),G(K,null),e=t.nodeType){case 9:case 11:t=(t=t.documentElement)&&(t=t.namespaceURI)?Yc(t):0;break;default:if(t=(e=8===e?t.parentNode:t).tagName,e=e.namespaceURI)t=Zc(e=Yc(e),t);else switch(t){case"svg":t=1;break;case"math":t=2;break;default:t=0}}q(K),G(K,t)}function ee(){q(K),q(Y),q(Z)}function te(e){null!==e.memoizedState&&G(X,e);var t=K.current,n=Zc(t,e.type);t!==n&&(G(Y,e),G(K,n))}function ne(e){Y.current===e&&(q(K),q(Y)),X.current===e&&(q(X),Fd._currentValue=H)}var re=Object.prototype.hasOwnProperty,ae=r.unstable_scheduleCallback,oe=r.unstable_cancelCallback,ie=r.unstable_shouldYield,se=r.unstable_requestPaint,le=r.unstable_now,ue=r.unstable_getCurrentPriorityLevel,ce=r.unstable_ImmediatePriority,de=r.unstable_UserBlockingPriority,fe=r.unstable_NormalPriority,pe=r.unstable_LowPriority,he=r.unstable_IdlePriority,ge=r.log,me=r.unstable_setDisableYieldValue,ye=null,be=null;function ve(e){if("function"==typeof ge&&me(e),be&&"function"==typeof be.setStrictMode)try{be.setStrictMode(ye,e)}catch(t){}}var we=Math.clz32?Math.clz32:function(e){return 0===(e>>>=0)?32:31-(ke(e)/xe|0)|0},ke=Math.log,xe=Math.LN2;var Se=128,Ee=4194304;function _e(e){var t=42&e;if(0!==t)return t;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return 4194176&e;case 4194304:case 8388608:case 16777216:case 33554432:return 62914560&e;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function Ce(e,t){var n=e.pendingLanes;if(0===n)return 0;var r=0,a=e.suspendedLanes,o=e.pingedLanes,i=e.warmLanes;e=0!==e.finishedLanes;var s=134217727&n;return 0!==s?0!==(n=s&~a)?r=_e(n):0!==(o&=s)?r=_e(o):e||0!==(i=s&~i)&&(r=_e(i)):0!==(s=n&~a)?r=_e(s):0!==o?r=_e(o):e||0!==(i=n&~i)&&(r=_e(i)),0===r?0:0!==t&&t!==r&&!(t&a)&&((a=r&-r)>=(i=t&-t)||32===a&&4194176&i)?t:r}function Ae(e,t){return!(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)}function Te(e,t){switch(e){case 1:case 2:case 4:case 8:return t+250;case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;default:return-1}}function Oe(){var e=Se;return!(4194176&(Se<<=1))&&(Se=128),e}function Ne(){var e=Ee;return!(62914560&(Ee<<=1))&&(Ee=4194304),e}function Pe(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function Le(e,t){e.pendingLanes|=t,268435456!==t&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function je(e,t,n){e.pendingLanes|=t,e.suspendedLanes&=~t;var r=31-we(t);e.entangledLanes|=t,e.entanglements[r]=1073741824|e.entanglements[r]|4194218&n}function Re(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var r=31-we(n),a=1<=xn),_n=String.fromCharCode(32),Cn=!1;function An(e,t){switch(e){case"keyup":return-1!==wn.indexOf(t.keyCode);case"keydown":return 229!==t.keyCode;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Tn(e){return"object"==typeof(e=e.detail)&&"data"in e?e.data:null}var On=!1;var Nn={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function Pn(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return"input"===t?!!Nn[e.type]:"textarea"===t}function Ln(e,t,n,r){Lt?jt?jt.push(r):jt=[r]:Lt=r,0<(t=Fc(t,"onChange")).length&&(n=new Xt("onChange","change",null,n,r),e.push({event:n,listeners:t}))}var jn=null,Rn=null;function In(e){Tc(e,0)}function Fn(e){if(ft(Ke(e)))return e}function Dn(e,t){if("change"===e)return t}var Mn=!1;if(nt){var zn;if(nt){var $n="oninput"in document;if(!$n){var Bn=document.createElement("div");Bn.setAttribute("oninput","return;"),$n="function"==typeof Bn.oninput}zn=$n}else zn=!1;Mn=zn&&(!document.documentMode||9=t)return{node:r,offset:t-e};e=n}e:{for(;r;){if(r.nextSibling){r=r.nextSibling;break e}r=r.parentNode}r=void 0}r=Yn(r)}}function Xn(e,t){return!(!e||!t)&&(e===t||(!e||3!==e.nodeType)&&(t&&3===t.nodeType?Xn(e,t.parentNode):"contains"in e?e.contains(t):!!e.compareDocumentPosition&&!!(16&e.compareDocumentPosition(t))))}function Jn(e){for(var t=pt((e=null!=e&&null!=e.ownerDocument&&null!=e.ownerDocument.defaultView?e.ownerDocument.defaultView:window).document);t instanceof e.HTMLIFrameElement;){try{var n="string"==typeof t.contentWindow.location.href}catch(r){n=!1}if(!n)break;t=pt((e=t.contentWindow).document)}return t}function er(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&("input"===t&&("text"===e.type||"search"===e.type||"tel"===e.type||"url"===e.type||"password"===e.type)||"textarea"===t||"true"===e.contentEditable)}function tr(e,t){var n=Jn(t);t=e.focusedElem;var r=e.selectionRange;if(n!==t&&t&&t.ownerDocument&&Xn(t.ownerDocument.documentElement,t)){if(null!==r&&er(t))if(e=r.start,void 0===(n=r.end)&&(n=e),"selectionStart"in t)t.selectionStart=e,t.selectionEnd=Math.min(n,t.value.length);else if((n=(e=t.ownerDocument||document)&&e.defaultView||window).getSelection){n=n.getSelection();var a=t.textContent.length,o=Math.min(r.start,a);r=void 0===r.end?o:Math.min(r.end,a),!n.extend&&o>r&&(a=r,r=o,o=a),a=Zn(t,o);var i=Zn(t,r);a&&i&&(1!==n.rangeCount||n.anchorNode!==a.node||n.anchorOffset!==a.offset||n.focusNode!==i.node||n.focusOffset!==i.offset)&&((e=e.createRange()).setStart(a.node,a.offset),n.removeAllRanges(),o>r?(n.addRange(e),n.extend(i.node,i.offset)):(e.setEnd(i.node,i.offset),n.addRange(e)))}for(e=[],n=t;n=n.parentNode;)1===n.nodeType&&e.push({element:n,left:n.scrollLeft,top:n.scrollTop});for("function"==typeof t.focus&&t.focus(),t=0;t=document.documentMode,rr=null,ar=null,or=null,ir=!1;function sr(e,t,n){var r=n.window===n?n.document:9===n.nodeType?n:n.ownerDocument;ir||null==rr||rr!==pt(r)||("selectionStart"in(r=rr)&&er(r)?r={start:r.selectionStart,end:r.selectionEnd}:r={anchorNode:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection()).anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset},or&&Kn(or,r)||(or=r,0<(r=Fc(ar,"onSelect")).length&&(t=new Xt("onSelect","select",null,t,n),e.push({event:t,listeners:r}),t.target=rr)))}function lr(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var ur={animationend:lr("Animation","AnimationEnd"),animationiteration:lr("Animation","AnimationIteration"),animationstart:lr("Animation","AnimationStart"),transitionrun:lr("Transition","TransitionRun"),transitionstart:lr("Transition","TransitionStart"),transitioncancel:lr("Transition","TransitionCancel"),transitionend:lr("Transition","TransitionEnd")},cr={},dr={};function fr(e){if(cr[e])return cr[e];if(!ur[e])return e;var t,n=ur[e];for(t in n)if(n.hasOwnProperty(t)&&t in dr)return cr[e]=n[t];return e}nt&&(dr=document.createElement("div").style,"AnimationEvent"in window||(delete ur.animationend.animation,delete ur.animationiteration.animation,delete ur.animationstart.animation),"TransitionEvent"in window||delete ur.transitionend.transition);var pr=fr("animationend"),hr=fr("animationiteration"),gr=fr("animationstart"),mr=fr("transitionrun"),yr=fr("transitionstart"),br=fr("transitioncancel"),vr=fr("transitionend"),wr=new Map,kr="abort auxClick beforeToggle cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll scrollEnd toggle touchMove waiting wheel".split(" ");function xr(e,t){wr.set(e,t),et(t,[e])}var Sr=[],Er=0,_r=0;function Cr(){for(var e=Er,t=_r=Er=0;t>=i,a-=i,Ur=1<<32-we(t)+a|n<f?(p=d,d=null):p=d.sibling;var h=y(a,d,s[f],l);if(null===h){null===d&&(d=p);break}e&&d&&null===h.alternate&&t(a,d),i=o(h,i,f),null===c?u=h:c.sibling=h,c=h,d=p}if(f===s.length)return n(a,d),Yr&&Vr(a,f),u;if(null===d){for(;fp?(h=f,f=null):h=f.sibling;var v=y(a,f,m.value,u);if(null===v){null===f&&(f=h);break}e&&f&&null===v.alternate&&t(a,f),s=o(v,s,p),null===d?c=v:d.sibling=v,d=v,f=h}if(m.done)return n(a,f),Yr&&Vr(a,p),c;if(null===f){for(;!m.done;p++,m=l.next())null!==(m=g(a,m.value,u))&&(s=o(m,s,p),null===d?c=m:d.sibling=m,d=m);return Yr&&Vr(a,p),c}for(f=r(f);!m.done;p++,m=l.next())null!==(m=b(f,a,p,m.value,u))&&(e&&null!==m.alternate&&f.delete(null===m.key?p:m.key),s=o(m,s,p),null===d?c=m:d.sibling=m,d=m);return e&&f.forEach((function(e){return t(a,e)})),Yr&&Vr(a,p),c}(l,f,p=w.call(p),h)}if("function"==typeof p.then)return v(l,f,ma(p),h);if(p.$$typeof===m)return v(l,f,Cs(l,p),h);ba(l,p)}return"string"==typeof p&&""!==p||"number"==typeof p||"bigint"==typeof p?(p=""+p,null!==f&&6===f.tag?(n(l,f.sibling),(h=a(f,p)).return=l,l=h):(n(l,f),(h=Ul(p,l.mode,h)).return=l,l=h),s(l)):n(l,f)}return function(e,t,n,r){try{ga=0;var a=v(e,t,n,r);return ha=null,a}catch(i){if(i===ia)throw i;var o=Il(29,i,null,e.mode);return o.lanes=r,o.return=e,o}}}var ka=wa(!0),xa=wa(!1),Sa=Q(null),Ea=Q(0);function _a(e,t){G(Ea,e=uu),G(Sa,t),uu=e|t.baseLanes}function Ca(){G(Ea,uu),G(Sa,Sa.current)}function Aa(){uu=Ea.current,q(Sa),q(Ea)}var Ta=Q(null),Oa=null;function Na(e){var t=e.alternate;G(Ra,1&Ra.current),G(Ta,e),null===Oa&&(null===t||null!==Sa.current||null!==t.memoizedState)&&(Oa=e)}function Pa(e){if(22===e.tag){if(G(Ra,Ra.current),G(Ta,e),null===Oa){var t=e.alternate;null!==t&&null!==t.memoizedState&&(Oa=e)}}else La()}function La(){G(Ra,Ra.current),G(Ta,Ta.current)}function ja(e){q(Ta),Oa===e&&(Oa=null),q(Ra)}var Ra=Q(0);function Ia(e){for(var t=e;null!==t;){if(13===t.tag){var n=t.memoizedState;if(null!==n&&(null===(n=n.dehydrated)||"$?"===n.data||"$!"===n.data))return t}else if(19===t.tag&&void 0!==t.memoizedProps.revealOrder){if(128&t.flags)return t}else if(null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var Fa="undefined"!=typeof AbortController?AbortController:function(){var e=[],t=this.signal={aborted:!1,addEventListener:function(t,n){e.push(n)}};this.abort=function(){t.aborted=!0,e.forEach((function(e){return e()}))}},Da=r.unstable_scheduleCallback,Ma=r.unstable_NormalPriority,za={$$typeof:m,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function $a(){return{controller:new Fa,data:new Map,refCount:0}}function Ba(e){e.refCount--,0===e.refCount&&Da(Ma,(function(){e.controller.abort()}))}var Ua=null,Ha=0,Va=0,Wa=null;function Qa(){if(0==--Ha&&null!==Ua){null!==Wa&&(Wa.status="fulfilled");var e=Ua;Ua=null,Va=0,Wa=null;for(var t=0;to?o:8;var i,s,l,u=N.T,c={};N.T=c,ki(e,!1,t,n);try{var d=a(),f=N.S;if(null!==f&&f(c,d),null!==d&&"object"==typeof d&&"function"==typeof d.then)wi(e,t,(i=r,s=[],l={status:"pending",value:null,reason:null,then:function(e){s.push(e)}},d.then((function(){l.status="fulfilled",l.value=i;for(var e=0;e title"))),Qc(o,r,n),o[Me]=e,Ze(o),r=o;break e;case"link":var s=Ad("link","href",a).get(r+(n.href||""));if(s)for(var l=0;l<\/script>",e=e.removeChild(e.firstChild);break;case"select":e="string"==typeof r.is?a.createElement("select",{is:r.is}):a.createElement("select"),r.multiple?e.multiple=!0:r.size&&(e.size=r.size);break;default:e="string"==typeof r.is?a.createElement(n,{is:r.is}):a.createElement(n)}}e[Me]=t,e[ze]=r;e:for(a=t.child;null!==a;){if(5===a.tag||6===a.tag)e.appendChild(a.stateNode);else if(4!==a.tag&&27!==a.tag&&null!==a.child){a.child.return=a,a=a.child;continue}if(a===t)break e;for(;null===a.sibling;){if(null===a.return||a.return===t)break e;a=a.return}a.sibling.return=a.return,a=a.sibling}t.stateNode=e;e:switch(Qc(e,n,r),n){case"button":case"input":case"select":case"textarea":e=!!r.autoFocus;break e;case"img":e=!0;break e;default:e=!1}e&&Vl(t)}}return Gl(t),t.flags&=-16777217,null;case 6:if(e&&null!=t.stateNode)e.memoizedProps!==r&&Vl(t);else{if("string"!=typeof r&&null===t.stateNode)throw Error(i(166));if(e=Z.current,ra(t)){if(e=t.stateNode,n=t.memoizedProps,r=null,null!==(a=Gr))switch(a.tag){case 27:case 5:r=a.memoizedProps}e[Me]=t,(e=!!(e.nodeValue===n||null!==r&&!0===r.suppressHydrationWarning||Uc(e.nodeValue,n)))||ea(t)}else(e=Kc(e).createTextNode(r))[Me]=t,t.stateNode=e}return Gl(t),null;case 13:if(r=t.memoizedState,null===e||null!==e.memoizedState&&null!==e.memoizedState.dehydrated){if(a=ra(t),null!==r&&null!==r.dehydrated){if(null===e){if(!a)throw Error(i(318));if(!(a=null!==(a=t.memoizedState)?a.dehydrated:null))throw Error(i(317));a[Me]=t}else aa(),!(128&t.flags)&&(t.memoizedState=null),t.flags|=4;Gl(t),a=!1}else null!==Zr&&(Ru(Zr),Zr=null),a=!0;if(!a)return 256&t.flags?(ja(t),t):(ja(t),null)}if(ja(t),128&t.flags)return t.lanes=n,t;if(n=null!==r,e=null!==e&&null!==e.memoizedState,n){a=null,null!==(r=t.child).alternate&&null!==r.alternate.memoizedState&&null!==r.alternate.memoizedState.cachePool&&(a=r.alternate.memoizedState.cachePool.pool);var o=null;null!==r.memoizedState&&null!==r.memoizedState.cachePool&&(o=r.memoizedState.cachePool.pool),o!==a&&(r.flags|=2048)}return n!==e&&n&&(t.child.flags|=8192),Ql(t,t.updateQueue),Gl(t),null;case 4:return ee(),null===e&&Lc(t.stateNode.containerInfo),Gl(t),null;case 10:return vs(t.type),Gl(t),null;case 19:if(q(Ra),null===(a=t.memoizedState))return Gl(t),null;if(r=!!(128&t.flags),null===(o=a.rendering))if(r)ql(a,!1);else{if(0!==cu||null!==e&&128&e.flags)for(e=t.child;null!==e;){if(null!==(o=Ia(e))){for(t.flags|=128,ql(a,!1),e=o.updateQueue,t.updateQueue=e,Ql(t,e),t.subtreeFlags=0,e=n,n=t.child;null!==n;)Ml(n,e),n=n.sibling;return G(Ra,1&Ra.current|2),t.child}e=e.sibling}null!==a.tail&&le()>wu&&(t.flags|=128,r=!0,ql(a,!1),t.lanes=4194304)}else{if(!r)if(null!==(e=Ia(o))){if(t.flags|=128,r=!0,e=e.updateQueue,t.updateQueue=e,Ql(t,e),ql(a,!0),null===a.tail&&"hidden"===a.tailMode&&!o.alternate&&!Yr)return Gl(t),null}else 2*le()-a.renderingStartTime>wu&&536870912!==n&&(t.flags|=128,r=!0,ql(a,!1),t.lanes=4194304);a.isBackwards?(o.sibling=t.child,t.child=o):(null!==(e=a.last)?e.sibling=o:t.child=o,a.last=o)}return null!==a.tail?(t=a.tail,a.rendering=t,a.tail=t.sibling,a.renderingStartTime=le(),t.sibling=null,e=Ra.current,G(Ra,r?1&e|2:1&e),t):(Gl(t),null);case 22:case 23:return ja(t),Aa(),r=null!==t.memoizedState,null!==e?null!==e.memoizedState!==r&&(t.flags|=8192):r&&(t.flags|=8192),r?!!(536870912&n)&&!(128&t.flags)&&(Gl(t),6&t.subtreeFlags&&(t.flags|=8192)):Gl(t),null!==(n=t.updateQueue)&&Ql(t,n.retryQueue),n=null,null!==e&&null!==e.memoizedState&&null!==e.memoizedState.cachePool&&(n=e.memoizedState.cachePool.pool),r=null,null!==t.memoizedState&&null!==t.memoizedState.cachePool&&(r=t.memoizedState.cachePool.pool),r!==n&&(t.flags|=2048),null!==e&&q(Ga),null;case 24:return n=null,null!==e&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),vs(za),Gl(t),null;case 25:return null}throw Error(i(156,t.tag))}function Yl(e,t){switch(qr(t),t.tag){case 1:return 65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 3:return vs(za),ee(),65536&(e=t.flags)&&!(128&e)?(t.flags=-65537&e|128,t):null;case 26:case 27:case 5:return ne(t),null;case 13:if(ja(t),null!==(e=t.memoizedState)&&null!==e.dehydrated){if(null===t.alternate)throw Error(i(340));aa()}return 65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 19:return q(Ra),null;case 4:return ee(),null;case 10:return vs(t.type),null;case 22:case 23:return ja(t),Aa(),null!==e&&q(Ga),65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 24:return vs(za),null;default:return null}}function Zl(e,t){switch(qr(t),t.tag){case 3:vs(za),ee();break;case 26:case 27:case 5:ne(t);break;case 4:ee();break;case 13:ja(t);break;case 19:q(Ra);break;case 10:vs(t.type);break;case 22:case 23:ja(t),Aa(),null!==e&&q(Ga);break;case 24:vs(za)}}var Xl={getCacheForType:function(e){var t=_s(za),n=t.data.get(e);return void 0===n&&(n=e(),t.data.set(e,n)),n}},Jl="function"==typeof WeakMap?WeakMap:Map,eu=0,tu=null,nu=null,ru=0,au=0,ou=null,iu=!1,su=!1,lu=!1,uu=0,cu=0,du=0,fu=0,pu=0,hu=0,gu=0,mu=null,yu=null,bu=!1,vu=0,wu=1/0,ku=null,xu=null,Su=!1,Eu=null,_u=0,Cu=0,Au=null,Tu=0,Ou=null;function Nu(){if(2&eu&&0!==ru)return ru&-ru;if(null!==N.T){return 0!==Va?Va:kc()}return Fe()}function Pu(){0===hu&&(hu=536870912&ru&&!Yr?536870912:Oe());var e=Ta.current;return null!==e&&(e.flags|=32),hu}function Lu(e,t,n){(e===tu&&2===au||null!==e.cancelPendingCommit)&&($u(e,0),Du(e,ru,hu,!1)),Le(e,n),2&eu&&e===tu||(e===tu&&(!(2&eu)&&(fu|=n),4===cu&&Du(e,ru,hu,!1)),gc(e))}function ju(e,t,n){if(6&eu)throw Error(i(327));for(var r=!n&&!(60&t)&&!(t&e.expiredLanes)||Ae(e,t),a=r?function(e,t){var n=eu;eu|=2;var r=Uu(),a=Hu();tu!==e||ru!==t?(ku=null,wu=le()+500,$u(e,t)):su=Ae(e,t);e:for(;;)try{if(0!==au&&null!==nu){t=nu;var o=ou;t:switch(au){case 1:au=0,ou=null,Yu(e,t,o,1);break;case 2:if(ua(o)){au=0,ou=null,Ku(t);break}t=function(){2===au&&tu===e&&(au=7),gc(e)},o.then(t,t);break e;case 3:au=7;break e;case 4:au=5;break e;case 7:ua(o)?(au=0,ou=null,Ku(t)):(au=0,ou=null,Yu(e,t,o,7));break;case 5:var s=null;switch(nu.tag){case 26:s=nu.memoizedState;case 5:case 27:var l=nu;if(!s||Od(s)){au=0,ou=null;var u=l.sibling;if(null!==u)nu=u;else{var c=l.return;null!==c?(nu=c,Zu(c)):nu=null}break t}}au=0,ou=null,Yu(e,t,o,5);break;case 6:au=0,ou=null,Yu(e,t,o,6);break;case 8:zu(),cu=6;break e;default:throw Error(i(462))}}qu();break}catch(d){Bu(e,d)}return ys=ms=null,N.H=r,N.A=a,eu=n,null!==nu?0:(tu=null,ru=0,Cr(),cu)}(e,t):Wu(e,t,!0),o=r;;){if(0===a){su&&!r&&Du(e,t,0,!1);break}if(6===a)Du(e,t,0,!iu);else{if(n=e.current.alternate,o&&!Fu(n)){a=Wu(e,t,!1),o=!1;continue}if(2===a){if(o=t,e.errorRecoveryDisabledLanes&o)var s=0;else s=0!==(s=-536870913&e.pendingLanes)?s:536870912&s?536870912:0;if(0!==s){t=s;e:{var l=e;a=mu;var u=l.current.memoizedState.isDehydrated;if(u&&($u(l,s).flags|=256),2!==(s=Wu(l,s,!1))){if(lu&&!u){l.errorRecoveryDisabledLanes|=o,fu|=o,a=4;break e}o=yu,yu=a,null!==o&&Ru(o)}a=s}if(o=!1,2!==a)continue}}if(1===a){$u(e,0),Du(e,t,0,!0);break}e:{switch(r=e,a){case 0:case 1:throw Error(i(345));case 4:if((4194176&t)===t){Du(r,t,hu,!iu);break e}break;case 2:yu=null;break;case 3:case 5:break;default:throw Error(i(329))}if(r.finishedWork=n,r.finishedLanes=t,(62914560&t)===t&&10<(o=vu+300-le())){if(Du(r,t,hu,!iu),0!==Ce(r,0))break e;r.timeoutHandle=ed(Iu.bind(null,r,n,yu,ku,bu,t,hu,fu,gu,iu,2,-0,0),o)}else Iu(r,n,yu,ku,bu,t,hu,fu,gu,iu,0,-0,0)}}break}gc(e)}function Ru(e){null===yu?yu=e:yu.push.apply(yu,e)}function Iu(e,t,n,r,a,o,s,l,u,c,d,f,p){var h=t.subtreeFlags;if((8192&h||!(16785408&~h))&&(Nd={stylesheets:null,count:0,unsuspend:Pd},Tl(t),null!==(t=function(){if(null===Nd)throw Error(i(475));var e=Nd;return e.stylesheets&&0===e.count&&Rd(e,e.stylesheets),0n?32:n,N.T=null,null===Eu)var o=!1;else{n=Au,Au=null;var s=Eu,l=_u;if(Eu=null,_u=0,6&eu)throw Error(i(331));var u=eu;if(eu|=4,Pl(s.current),Sl(s,s.current,l,n),eu=u,mc(0,!1),be&&"function"==typeof be.onPostCommitFiberRoot)try{be.onPostCommitFiberRoot(ye,s)}catch(c){}o=!0}return o}finally{U.p=a,N.T=r,ec(e,t)}}return!1}function nc(e,t,n){t=Rr(n,t),null!==(e=Ls(e,t=$i(e.stateNode,t,2),2))&&(Le(e,2),gc(e))}function rc(e,t,n){if(3===e.tag)nc(e,e,n);else for(;null!==t;){if(3===t.tag){nc(t,e,n);break}if(1===t.tag){var r=t.stateNode;if("function"==typeof t.type.getDerivedStateFromError||"function"==typeof r.componentDidCatch&&(null===xu||!xu.has(r))){e=Rr(n,e),null!==(r=Ls(t,n=Bi(2),2))&&(Ui(n,r,t,e),Le(r,2),gc(r));break}}t=t.return}}function ac(e,t,n){var r=e.pingCache;if(null===r){r=e.pingCache=new Jl;var a=new Set;r.set(t,a)}else void 0===(a=r.get(t))&&(a=new Set,r.set(t,a));a.has(n)||(lu=!0,a.add(n),e=oc.bind(null,e,t,n),t.then(e,e))}function oc(e,t,n){var r=e.pingCache;null!==r&&r.delete(t),e.pingedLanes|=e.suspendedLanes&n,e.warmLanes&=~n,tu===e&&(ru&n)===n&&(4===cu||3===cu&&(62914560&ru)===ru&&300>le()-vu?!(2&eu)&&$u(e,0):pu|=n,gu===ru&&(gu=0)),gc(e)}function ic(e,t){0===t&&(t=Ne()),null!==(e=Or(e,t))&&(Le(e,t),gc(e))}function sc(e){var t=e.memoizedState,n=0;null!==t&&(n=t.retryLane),ic(e,n)}function lc(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,a=e.memoizedState;null!==a&&(n=a.retryLane);break;case 19:r=e.stateNode;break;case 22:r=e.stateNode._retryCache;break;default:throw Error(i(314))}null!==r&&r.delete(t),ic(e,n)}var uc=null,cc=null,dc=!1,fc=!1,pc=!1,hc=0;function gc(e){var t;e!==cc&&null===e.next&&(null===cc?uc=cc=e:cc=cc.next=e),fc=!0,dc||(dc=!0,t=yc,rd((function(){6&eu?ae(ce,t):t()})))}function mc(e,t){if(!pc&&fc){pc=!0;do{for(var n=!1,r=uc;null!==r;){if(!t)if(0!==e){var a=r.pendingLanes;if(0===a)var o=0;else{var i=r.suspendedLanes,s=r.pingedLanes;o=(1<<31-we(42|e)+1)-1,o=201326677&(o&=a&~(i&~s))?201326677&o|1:o?2|o:0}0!==o&&(n=!0,wc(r,o))}else o=ru,!(3&(o=Ce(r,r===tu?o:0)))||Ae(r,o)||(n=!0,wc(r,o));r=r.next}}while(n);pc=!1}}function yc(){fc=dc=!1;var e=0;0!==hc&&(function(){var e=window.event;if(e&&"popstate"===e.type)return e!==Jc&&(Jc=e,!0);return Jc=null,!1}()&&(e=hc),hc=0);for(var t=le(),n=null,r=uc;null!==r;){var a=r.next,o=bc(r,t);0===o?(r.next=null,null===n?uc=a:n.next=a,null===a&&(cc=n)):(n=r,(0!==e||3&o)&&(fc=!0)),r=a}mc(e,!1)}function bc(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,a=e.expirationTimes,o=-62914561&e.pendingLanes;0 title"):null)}function Od(e){return!!("stylesheet"!==e.type||3&e.state.loading)}var Nd=null;function Pd(){}function Ld(){if(this.count--,0===this.count)if(this.stylesheets)Rd(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}var jd=null;function Rd(e,t){e.stylesheets=null,null!==e.unsuspend&&(e.count++,jd=new Map,t.forEach(Id,e),jd=null,Ld.call(e))}function Id(e,t){if(!(4&t.state.loading)){var n=jd.get(e);if(n)var r=n.get(null);else{n=new Map,jd.set(e,n);for(var a=e.querySelectorAll("link[data-precedence],style[data-precedence]"),o=0;o{"use strict";var r=n(8225);function a(e){var t="https://react.dev/errors/"+e;if(1{"use strict";!function e(){if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}(),e.exports=n(5387)},8941:(e,t,n)=>{"use strict";!function e(){if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}(),e.exports=n(4873)},2700:e=>{var t="undefined"!=typeof Element,n="function"==typeof Map,r="function"==typeof Set,a="function"==typeof ArrayBuffer&&!!ArrayBuffer.isView;function o(e,i){if(e===i)return!0;if(e&&i&&"object"==typeof e&&"object"==typeof i){if(e.constructor!==i.constructor)return!1;var s,l,u,c;if(Array.isArray(e)){if((s=e.length)!=i.length)return!1;for(l=s;0!=l--;)if(!o(e[l],i[l]))return!1;return!0}if(n&&e instanceof Map&&i instanceof Map){if(e.size!==i.size)return!1;for(c=e.entries();!(l=c.next()).done;)if(!i.has(l.value[0]))return!1;for(c=e.entries();!(l=c.next()).done;)if(!o(l.value[1],i.get(l.value[0])))return!1;return!0}if(r&&e instanceof Set&&i instanceof Set){if(e.size!==i.size)return!1;for(c=e.entries();!(l=c.next()).done;)if(!i.has(l.value[0]))return!1;return!0}if(a&&ArrayBuffer.isView(e)&&ArrayBuffer.isView(i)){if((s=e.length)!=i.length)return!1;for(l=s;0!=l--;)if(e[l]!==i[l])return!1;return!0}if(e.constructor===RegExp)return e.source===i.source&&e.flags===i.flags;if(e.valueOf!==Object.prototype.valueOf&&"function"==typeof e.valueOf&&"function"==typeof i.valueOf)return e.valueOf()===i.valueOf();if(e.toString!==Object.prototype.toString&&"function"==typeof e.toString&&"function"==typeof i.toString)return e.toString()===i.toString();if((s=(u=Object.keys(e)).length)!==Object.keys(i).length)return!1;for(l=s;0!=l--;)if(!Object.prototype.hasOwnProperty.call(i,u[l]))return!1;if(t&&e instanceof Element)return!1;for(l=s;0!=l--;)if(("_owner"!==u[l]&&"__v"!==u[l]&&"__o"!==u[l]||!e.$$typeof)&&!o(e[u[l]],i[u[l]]))return!1;return!0}return e!=e&&i!=i}e.exports=function(e,t){try{return o(e,t)}catch(n){if((n.message||"").match(/stack|recursion/i))return console.warn("react-fast-compare cannot handle circular refs"),!1;throw n}}},5575:(e,t)=>{"use strict";var n="function"==typeof Symbol&&Symbol.for,r=n?Symbol.for("react.element"):60103,a=n?Symbol.for("react.portal"):60106,o=n?Symbol.for("react.fragment"):60107,i=n?Symbol.for("react.strict_mode"):60108,s=n?Symbol.for("react.profiler"):60114,l=n?Symbol.for("react.provider"):60109,u=n?Symbol.for("react.context"):60110,c=n?Symbol.for("react.async_mode"):60111,d=n?Symbol.for("react.concurrent_mode"):60111,f=n?Symbol.for("react.forward_ref"):60112,p=n?Symbol.for("react.suspense"):60113,h=n?Symbol.for("react.suspense_list"):60120,g=n?Symbol.for("react.memo"):60115,m=n?Symbol.for("react.lazy"):60116,y=n?Symbol.for("react.block"):60121,b=n?Symbol.for("react.fundamental"):60117,v=n?Symbol.for("react.responder"):60118,w=n?Symbol.for("react.scope"):60119;function k(e){if("object"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case r:switch(e=e.type){case c:case d:case o:case s:case i:case p:return e;default:switch(e=e&&e.$$typeof){case u:case f:case m:case g:case l:return e;default:return t}}case a:return t}}}function x(e){return k(e)===d}t.AsyncMode=c,t.ConcurrentMode=d,t.ContextConsumer=u,t.ContextProvider=l,t.Element=r,t.ForwardRef=f,t.Fragment=o,t.Lazy=m,t.Memo=g,t.Portal=a,t.Profiler=s,t.StrictMode=i,t.Suspense=p,t.isAsyncMode=function(e){return x(e)||k(e)===c},t.isConcurrentMode=x,t.isContextConsumer=function(e){return k(e)===u},t.isContextProvider=function(e){return k(e)===l},t.isElement=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===r},t.isForwardRef=function(e){return k(e)===f},t.isFragment=function(e){return k(e)===o},t.isLazy=function(e){return k(e)===m},t.isMemo=function(e){return k(e)===g},t.isPortal=function(e){return k(e)===a},t.isProfiler=function(e){return k(e)===s},t.isStrictMode=function(e){return k(e)===i},t.isSuspense=function(e){return k(e)===p},t.isValidElementType=function(e){return"string"==typeof e||"function"==typeof e||e===o||e===d||e===s||e===i||e===p||e===h||"object"==typeof e&&null!==e&&(e.$$typeof===m||e.$$typeof===g||e.$$typeof===l||e.$$typeof===u||e.$$typeof===f||e.$$typeof===b||e.$$typeof===v||e.$$typeof===w||e.$$typeof===y)},t.typeOf=k},3635:(e,t,n)=>{"use strict";e.exports=n(5575)},4969:(e,t,n)=>{"use strict";n.d(t,{u:()=>i,v:()=>s});var r=n(1654),a=n(6205),o=n(8225);function i(e,t,n){return void 0===n&&(n=[]),e.some((function(e){var a=e.path?(0,r.B6)(t,e):n.length?n[n.length-1].match:r.Ix.computeRootMatch(t);return a&&(n.push({route:e,match:a}),e.routes&&i(e.routes,t,n)),a})),n}function s(e,t,n){return void 0===t&&(t={}),void 0===n&&(n={}),e?o.createElement(r.dO,n,e.map((function(e,n){return o.createElement(r.qh,{key:e.key||n,path:e.path,exact:e.exact,strict:e.strict,render:function(n){return e.render?e.render((0,a.A)({},n,{},t,{route:e})):o.createElement(e.component,(0,a.A)({},n,t,{route:e}))}})}))):null}},737:(e,t,n)=>{"use strict";n.d(t,{I9:()=>d,Kd:()=>c,N_:()=>y,k2:()=>w});var r=n(1654),a=n(2995),o=n(8225),i=n(9888),s=n(6205),l=n(7260),u=n(8635),c=function(e){function t(){for(var t,n=arguments.length,r=new Array(n),a=0;a{"use strict";n.d(t,{B6:()=>S,Ix:()=>v,W6:()=>L,XZ:()=>b,dO:()=>N,qh:()=>E,zy:()=>j});var r=n(2995),a=n(8225),o=n(3108),i=n.n(o),s=n(9888),l=n(8635),u=n(6205),c=n(5445),d=n.n(c),f=(n(3635),n(7260)),p=(n(3871),1073741823),h="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:void 0!==n.g?n.g:{};var g=a.createContext||function(e,t){var n,o,s="__create-react-context-"+function(){var e="__global_unique_id__";return h[e]=(h[e]||0)+1}()+"__",l=function(e){function n(){for(var t,n,r,a=arguments.length,o=new Array(a),i=0;i{"use strict";var n=Symbol.for("react.transitional.element"),r=Symbol.for("react.fragment");function a(e,t,r){var a=null;if(void 0!==r&&(a=""+r),void 0!==t.key&&(a=""+t.key),"key"in t)for(var o in r={},t)"key"!==o&&(r[o]=t[o]);else r=t;return t=r.ref,{$$typeof:n,type:e,key:a,ref:void 0!==t?t:null,props:r}}t.Fragment=r,t.jsx=a,t.jsxs=a},9366:(e,t)=>{"use strict";var n=Symbol.for("react.transitional.element"),r=Symbol.for("react.portal"),a=Symbol.for("react.fragment"),o=Symbol.for("react.strict_mode"),i=Symbol.for("react.profiler"),s=Symbol.for("react.consumer"),l=Symbol.for("react.context"),u=Symbol.for("react.forward_ref"),c=Symbol.for("react.suspense"),d=Symbol.for("react.memo"),f=Symbol.for("react.lazy"),p=Symbol.iterator;var h={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},g=Object.assign,m={};function y(e,t,n){this.props=e,this.context=t,this.refs=m,this.updater=n||h}function b(){}function v(e,t,n){this.props=e,this.context=t,this.refs=m,this.updater=n||h}y.prototype.isReactComponent={},y.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")},y.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},b.prototype=y.prototype;var w=v.prototype=new b;w.constructor=v,g(w,y.prototype),w.isPureReactComponent=!0;var k=Array.isArray,x={H:null,A:null,T:null,S:null},S=Object.prototype.hasOwnProperty;function E(e,t,r,a,o,i){return r=i.ref,{$$typeof:n,type:e,key:t,ref:void 0!==r?r:null,props:i}}function _(e){return"object"==typeof e&&null!==e&&e.$$typeof===n}var C=/\/+/g;function A(e,t){return"object"==typeof e&&null!==e&&null!=e.key?(n=""+e.key,r={"=":"=0",":":"=2"},"$"+n.replace(/[=:]/g,(function(e){return r[e]}))):t.toString(36);var n,r}function T(){}function O(e,t,a,o,i){var s=typeof e;"undefined"!==s&&"boolean"!==s||(e=null);var l,u,c=!1;if(null===e)c=!0;else switch(s){case"bigint":case"string":case"number":c=!0;break;case"object":switch(e.$$typeof){case n:case r:c=!0;break;case f:return O((c=e._init)(e._payload),t,a,o,i)}}if(c)return i=i(e),c=""===o?"."+A(e,0):o,k(i)?(a="",null!=c&&(a=c.replace(C,"$&/")+"/"),O(i,t,a,"",(function(e){return e}))):null!=i&&(_(i)&&(l=i,u=a+(null==i.key||e&&e.key===i.key?"":(""+i.key).replace(C,"$&/")+"/")+c,i=E(l.type,u,void 0,0,0,l.props)),t.push(i)),1;c=0;var d,h=""===o?".":o+":";if(k(e))for(var g=0;g{"use strict";e.exports=n(9366)},7557:(e,t,n)=>{"use strict";e.exports=n(9093)},8275:(e,t)=>{"use strict";function n(e,t){var n=e.length;e.push(t);e:for(;0>>1,a=e[r];if(!(0>>1;ro(l,n))uo(c,l)?(e[r]=c,e[u]=n,r=u):(e[r]=l,e[s]=n,r=s);else{if(!(uo(c,n)))break e;e[r]=c,e[u]=n,r=u}}}return t}function o(e,t){var n=e.sortIndex-t.sortIndex;return 0!==n?n:e.id-t.id}if(t.unstable_now=void 0,"object"==typeof performance&&"function"==typeof performance.now){var i=performance;t.unstable_now=function(){return i.now()}}else{var s=Date,l=s.now();t.unstable_now=function(){return s.now()-l}}var u=[],c=[],d=1,f=null,p=3,h=!1,g=!1,m=!1,y="function"==typeof setTimeout?setTimeout:null,b="function"==typeof clearTimeout?clearTimeout:null,v="undefined"!=typeof setImmediate?setImmediate:null;function w(e){for(var t=r(c);null!==t;){if(null===t.callback)a(c);else{if(!(t.startTime<=e))break;a(c),t.sortIndex=t.expirationTime,n(u,t)}t=r(c)}}function k(e){if(m=!1,w(e),!g)if(null!==r(u))g=!0,P();else{var t=r(c);null!==t&&L(k,t.startTime-e)}}var x,S=!1,E=-1,_=5,C=-1;function A(){return!(t.unstable_now()-C<_)}function T(){if(S){var e=t.unstable_now();C=e;var n=!0;try{e:{g=!1,m&&(m=!1,b(E),E=-1),h=!0;var o=p;try{t:{for(w(e),f=r(u);null!==f&&!(f.expirationTime>e&&A());){var i=f.callback;if("function"==typeof i){f.callback=null,p=f.priorityLevel;var s=i(f.expirationTime<=e);if(e=t.unstable_now(),"function"==typeof s){f.callback=s,w(e),n=!0;break t}f===r(u)&&a(u),w(e)}else a(u);f=r(u)}if(null!==f)n=!0;else{var l=r(c);null!==l&&L(k,l.startTime-e),n=!1}}break e}finally{f=null,p=o,h=!1}n=void 0}}finally{n?x():S=!1}}}if("function"==typeof v)x=function(){v(T)};else if("undefined"!=typeof MessageChannel){var O=new MessageChannel,N=O.port2;O.port1.onmessage=T,x=function(){N.postMessage(null)}}else x=function(){y(T,0)};function P(){S||(S=!0,x())}function L(e,n){E=y((function(){e(t.unstable_now())}),n)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(e){e.callback=null},t.unstable_continueExecution=function(){g||h||(g=!0,P())},t.unstable_forceFrameRate=function(e){0>e||125i?(e.sortIndex=o,n(c,e),null===r(u)&&e===r(c)&&(m?(b(E),E=-1):m=!0,L(k,o-i))):(e.sortIndex=s,n(u,e),g||h||(g=!0,P())),e},t.unstable_shouldYield=A,t.unstable_wrapCallback=function(e){var t=p;return function(){var n=p;p=t;try{return e.apply(this,arguments)}finally{p=n}}}},1240:(e,t,n)=>{"use strict";e.exports=n(8275)},9141:e=>{e.exports=function(e,t,n,r){var a=n?n.call(r,e,t):void 0;if(void 0!==a)return!!a;if(e===t)return!0;if("object"!=typeof e||!e||"object"!=typeof t||!t)return!1;var o=Object.keys(e),i=Object.keys(t);if(o.length!==i.length)return!1;for(var s=Object.prototype.hasOwnProperty.bind(t),l=0;l{"use strict";n.r(t),n.d(t,{default:()=>r});const r={title:"FTL",tagline:"Towards a \ud835\udf7a-calculus for large-scale systems",favicon:"img/favicon.ico",url:"https://block.github.io",baseUrl:"/ftl/",organizationName:"block",projectName:"ftl",onBrokenLinks:"throw",onBrokenMarkdownLinks:"warn",i18n:{defaultLocale:"en",locales:["en"],path:"i18n",localeConfigs:{}},plugins:[["/home/runner/work/ftl/ftl/node_modules/.pnpm/@easyops-cn+docusaurus-search-local@0.48.4_@docusaurus+theme-common@3.7.0_@docusaurus+plugin-_tlcfob7a63bdabsqwxdf7bprpm/node_modules/@easyops-cn/docusaurus-search-local/dist/server/server/index.js",{hashed:!0,language:["en"],highlightSearchTermsOnTargetPage:!0,explicitSearchResultPath:!0}]],presets:[["classic",{docs:{sidebarPath:"./sidebars.ts",editUrl:"https://github.com/block/ftl/tree/main/docs/"},blog:!1,theme:{customCss:"./src/css/custom.css"}}]],themeConfig:{image:"img/docusaurus-social-card.jpg",navbar:{title:"FTL",items:[{type:"docSidebar",sidebarId:"tutorialSidebar",position:"left",label:"Documentation"},{href:"https://github.com/block/ftl",label:"GitHub",position:"right"}],hideOnScroll:!1},footer:{style:"dark",links:[{title:"Docs",items:[{label:"Getting Started",to:"/docs/getting-started/introduction"}]},{title:"Community",items:[{label:"Twitter",href:"https://twitter.com/blocks"},{label:"GitHub",href:"https://github.com/block/ftl"}]}],copyright:"Copyright \xa9 2025 The FTL Team. Built with Docusaurus."},prism:{theme:{plain:{color:"#393A34",backgroundColor:"#f6f8fa"},styles:[{types:["comment","prolog","doctype","cdata"],style:{color:"#999988",fontStyle:"italic"}},{types:["namespace"],style:{opacity:.7}},{types:["string","attr-value"],style:{color:"#e3116c"}},{types:["punctuation","operator"],style:{color:"#393A34"}},{types:["entity","url","symbol","number","boolean","variable","constant","property","regex","inserted"],style:{color:"#36acaa"}},{types:["atrule","keyword","attr-name","selector"],style:{color:"#00a4db"}},{types:["function","deleted","tag"],style:{color:"#d73a49"}},{types:["function-variable"],style:{color:"#6f42c1"}},{types:["tag","selector","keyword"],style:{color:"#00009f"}}]},darkTheme:{plain:{color:"#F8F8F2",backgroundColor:"#282A36"},styles:[{types:["prolog","constant","builtin"],style:{color:"rgb(189, 147, 249)"}},{types:["inserted","function"],style:{color:"rgb(80, 250, 123)"}},{types:["deleted"],style:{color:"rgb(255, 85, 85)"}},{types:["changed"],style:{color:"rgb(255, 184, 108)"}},{types:["punctuation","symbol"],style:{color:"rgb(248, 248, 242)"}},{types:["string","char","tag","selector"],style:{color:"rgb(255, 121, 198)"}},{types:["keyword","variable"],style:{color:"rgb(189, 147, 249)",fontStyle:"italic"}},{types:["comment"],style:{color:"rgb(98, 114, 164)"}},{types:["attr-name"],style:{color:"rgb(241, 250, 140)"}}]},additionalLanguages:["java","kotlin","bash","hcl"],magicComments:[{className:"theme-code-block-highlighted-line",line:"highlight-next-line",block:{start:"highlight-start",end:"highlight-end"}}]},colorMode:{defaultMode:"light",disableSwitch:!1,respectPrefersColorScheme:!1},docs:{versionPersistence:"localStorage",sidebar:{hideable:!1,autoCollapseCategories:!1}},blog:{sidebar:{groupByYear:!0}},metadata:[],tableOfContents:{minHeadingLevel:2,maxHeadingLevel:3}},baseUrlIssueBanner:!0,future:{experimental_faster:{swcJsLoader:!1,swcJsMinimizer:!1,swcHtmlMinimizer:!1,lightningCssMinimizer:!1,mdxCrossCompilerCache:!1,rspackBundler:!1},experimental_storage:{type:"localStorage",namespace:!1},experimental_router:"browser"},onBrokenAnchors:"warn",onDuplicateRoutes:"warn",staticDirectories:["static"],customFields:{},themes:[],scripts:[],headTags:[],stylesheets:[],clientModules:[],titleDelimiter:"|",noIndex:!1,markdown:{format:"mdx",mermaid:!1,mdx1Compat:{comments:!0,admonitions:!0,headingIds:!0},anchors:{maintainCase:!1}}}},6205:(e,t,n)=>{"use strict";function r(){return r=Object.assign?Object.assign.bind():function(e){for(var t=1;tr})},2995:(e,t,n)=>{"use strict";function r(e,t){return r=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},r(e,t)}function a(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,r(e,t)}n.d(t,{A:()=>a})},7260:(e,t,n)=>{"use strict";function r(e,t){if(null==e)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(-1!==t.indexOf(r))continue;n[r]=e[r]}return n}n.d(t,{A:()=>r})},3372:(e,t,n)=>{"use strict";function r(e){var t,n,a="";if("string"==typeof e||"number"==typeof e)a+=e;else if("object"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;ta});const a=function(){for(var e,t,n=0,a="",o=arguments.length;n{"use strict";n.d(t,{My:()=>A,f4:()=>ne});var r,a,o,i,s,l,u,c=n(8225),d=n(3372),f=Object.create,p=Object.defineProperty,h=Object.defineProperties,g=Object.getOwnPropertyDescriptor,m=Object.getOwnPropertyDescriptors,y=Object.getOwnPropertyNames,b=Object.getOwnPropertySymbols,v=Object.getPrototypeOf,w=Object.prototype.hasOwnProperty,k=Object.prototype.propertyIsEnumerable,x=(e,t,n)=>t in e?p(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,S=(e,t)=>{for(var n in t||(t={}))w.call(t,n)&&x(e,n,t[n]);if(b)for(var n of b(t))k.call(t,n)&&x(e,n,t[n]);return e},E=(e,t)=>h(e,m(t)),_=(e,t)=>{var n={};for(var r in e)w.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&b)for(var r of b(e))t.indexOf(r)<0&&k.call(e,r)&&(n[r]=e[r]);return n},C=(r={"../../node_modules/.pnpm/prismjs@1.29.0_patch_hash=vrxx3pzkik6jpmgpayxfjunetu/node_modules/prismjs/prism.js"(e,t){var n=function(){var e=/(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i,t=0,n={},r={util:{encode:function e(t){return t instanceof a?new a(t.type,e(t.content),t.alias):Array.isArray(t)?t.map(e):t.replace(/&/g,"&").replace(/=d.reach);S+=x.value.length,x=x.next){var E=x.value;if(t.length>e.length)return;if(!(E instanceof a)){var _,C=1;if(b){if(!(_=o(k,S,e,y))||_.index>=e.length)break;var A=_.index,T=_.index+_[0].length,O=S;for(O+=x.value.length;A>=O;)O+=(x=x.next).value.length;if(S=O-=x.value.length,x.value instanceof a)continue;for(var N=x;N!==t.tail&&(Od.reach&&(d.reach=R);var I=x.prev;if(L&&(I=l(t,I,L),S+=L.length),u(t,I,C),x=l(t,I,new a(f,m?r.tokenize(P,m):P,v,P)),j&&l(t,x,j),C>1){var F={cause:f+","+h,reach:R};i(e,t,n,x.prev,S,F),d&&F.reach>d.reach&&(d.reach=F.reach)}}}}}}function s(){var e={value:null,prev:null,next:null},t={value:null,prev:e,next:null};e.next=t,this.head=e,this.tail=t,this.length=0}function l(e,t,n){var r=t.next,a={value:n,prev:t,next:r};return t.next=a,r.prev=a,e.length++,a}function u(e,t,n){for(var r=t.next,a=0;a"+o.content+""},r}();t.exports=n,n.default=n}},function(){return a||(0,r[y(r)[0]])((a={exports:{}}).exports,a),a.exports}),A=((e,t,n)=>(n=null!=e?f(v(e)):{},((e,t,n,r)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let a of y(t))w.call(e,a)||a===n||p(e,a,{get:()=>t[a],enumerable:!(r=g(t,a))||r.enumerable});return e})(!t&&e&&e.__esModule?n:p(n,"default",{value:e,enumerable:!0}),e)))(C());A.languages.markup={comment:{pattern://,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern://i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},{pattern:/^(\s*)["']|["']$/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]},A.languages.markup.tag.inside["attr-value"].inside.entity=A.languages.markup.entity,A.languages.markup.doctype.inside["internal-subset"].inside=A.languages.markup,A.hooks.add("wrap",(function(e){"entity"===e.type&&(e.attributes.title=e.content.replace(/&/,"&"))})),Object.defineProperty(A.languages.markup.tag,"addInlined",{value:function(e,t){var n;(t=((n=((n={})["language-"+t]={pattern:/(^$)/i,lookbehind:!0,inside:A.languages[t]},n.cdata=/^$/i,{"included-cdata":{pattern://i,inside:n}}))["language-"+t]={pattern:/[\s\S]+/,inside:A.languages[t]},{}))[e]={pattern:RegExp(/(<__[^>]*>)(?:))*\]\]>|(?!)/.source.replace(/__/g,(function(){return e})),"i"),lookbehind:!0,greedy:!0,inside:n},A.languages.insertBefore("markup","cdata",t)}}),Object.defineProperty(A.languages.markup.tag,"addAttribute",{value:function(e,t){A.languages.markup.tag.inside["special-attr"].push({pattern:RegExp(/(^|["'\s])/.source+"(?:"+e+")"+/\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))/.source,"i"),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[t,"language-"+t],inside:A.languages[t]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}}),A.languages.html=A.languages.markup,A.languages.mathml=A.languages.markup,A.languages.svg=A.languages.markup,A.languages.xml=A.languages.extend("markup",{}),A.languages.ssml=A.languages.xml,A.languages.atom=A.languages.xml,A.languages.rss=A.languages.xml,o=A,i={pattern:/\\[\\(){}[\]^$+*?|.]/,alias:"escape"},l="(?:[^\\\\-]|"+(s=/\\(?:x[\da-fA-F]{2}|u[\da-fA-F]{4}|u\{[\da-fA-F]+\}|0[0-7]{0,2}|[123][0-7]{2}|c[a-zA-Z]|.)/).source+")",l=RegExp(l+"-"+l),u={pattern:/(<|')[^<>']+(?=[>']$)/,lookbehind:!0,alias:"variable"},o.languages.regex={"char-class":{pattern:/((?:^|[^\\])(?:\\\\)*)\[(?:[^\\\]]|\\[\s\S])*\]/,lookbehind:!0,inside:{"char-class-negation":{pattern:/(^\[)\^/,lookbehind:!0,alias:"operator"},"char-class-punctuation":{pattern:/^\[|\]$/,alias:"punctuation"},range:{pattern:l,inside:{escape:s,"range-punctuation":{pattern:/-/,alias:"operator"}}},"special-escape":i,"char-set":{pattern:/\\[wsd]|\\p\{[^{}]+\}/i,alias:"class-name"},escape:s}},"special-escape":i,"char-set":{pattern:/\.|\\[wsd]|\\p\{[^{}]+\}/i,alias:"class-name"},backreference:[{pattern:/\\(?![123][0-7]{2})[1-9]/,alias:"keyword"},{pattern:/\\k<[^<>']+>/,alias:"keyword",inside:{"group-name":u}}],anchor:{pattern:/[$^]|\\[ABbGZz]/,alias:"function"},escape:s,group:[{pattern:/\((?:\?(?:<[^<>']+>|'[^<>']+'|[>:]|]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/},A.languages.javascript=A.languages.extend("clike",{"class-name":[A.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp(/(^|[^\w$])/.source+"(?:"+/NaN|Infinity/.source+"|"+/0[bB][01]+(?:_[01]+)*n?/.source+"|"+/0[oO][0-7]+(?:_[0-7]+)*n?/.source+"|"+/0[xX][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*n?/.source+"|"+/\d+(?:_\d+)*n/.source+"|"+/(?:\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:[Ee][+-]?\d+(?:_\d+)*)?/.source+")"+/(?![\w$])/.source),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),A.languages.javascript["class-name"][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/,A.languages.insertBefore("javascript","keyword",{regex:{pattern:RegExp(/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)/.source+/\//.source+"(?:"+/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}/.source+"|"+/(?:\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.)*\])*\])*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}v[dgimyus]{0,7}/.source+")"+/(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/.source),lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:A.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:A.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:A.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:A.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:A.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),A.languages.insertBefore("javascript","string",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:A.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:"property"}}),A.languages.insertBefore("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:"property"}}),A.languages.markup&&(A.languages.markup.tag.addInlined("script","javascript"),A.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,"javascript")),A.languages.js=A.languages.javascript,A.languages.actionscript=A.languages.extend("javascript",{keyword:/\b(?:as|break|case|catch|class|const|default|delete|do|dynamic|each|else|extends|final|finally|for|function|get|if|implements|import|in|include|instanceof|interface|internal|is|namespace|native|new|null|override|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|use|var|void|while|with)\b/,operator:/\+\+|--|(?:[+\-*\/%^]|&&?|\|\|?|<>?>?|[!=]=?)=?|[~?@]/}),A.languages.actionscript["class-name"].alias="function",delete A.languages.actionscript.parameter,delete A.languages.actionscript["literal-property"],A.languages.markup&&A.languages.insertBefore("actionscript","string",{xml:{pattern:/(^|[^.])<\/?\w+(?:\s+[^\s>\/=]+=("|')(?:\\[\s\S]|(?!\2)[^\\])*\2)*\s*\/?>/,lookbehind:!0,inside:A.languages.markup}}),function(e){var t=/#(?!\{).+/,n={pattern:/#\{[^}]+\}/,alias:"variable"};e.languages.coffeescript=e.languages.extend("javascript",{comment:t,string:[{pattern:/'(?:\\[\s\S]|[^\\'])*'/,greedy:!0},{pattern:/"(?:\\[\s\S]|[^\\"])*"/,greedy:!0,inside:{interpolation:n}}],keyword:/\b(?:and|break|by|catch|class|continue|debugger|delete|do|each|else|extend|extends|false|finally|for|if|in|instanceof|is|isnt|let|loop|namespace|new|no|not|null|of|off|on|or|own|return|super|switch|then|this|throw|true|try|typeof|undefined|unless|until|when|while|window|with|yes|yield)\b/,"class-member":{pattern:/@(?!\d)\w+/,alias:"variable"}}),e.languages.insertBefore("coffeescript","comment",{"multiline-comment":{pattern:/###[\s\S]+?###/,alias:"comment"},"block-regex":{pattern:/\/{3}[\s\S]*?\/{3}/,alias:"regex",inside:{comment:t,interpolation:n}}}),e.languages.insertBefore("coffeescript","string",{"inline-javascript":{pattern:/`(?:\\[\s\S]|[^\\`])*`/,inside:{delimiter:{pattern:/^`|`$/,alias:"punctuation"},script:{pattern:/[\s\S]+/,alias:"language-javascript",inside:e.languages.javascript}}},"multiline-string":[{pattern:/'''[\s\S]*?'''/,greedy:!0,alias:"string"},{pattern:/"""[\s\S]*?"""/,greedy:!0,alias:"string",inside:{interpolation:n}}]}),e.languages.insertBefore("coffeescript","keyword",{property:/(?!\d)\w+(?=\s*:(?!:))/}),delete e.languages.coffeescript["template-string"],e.languages.coffee=e.languages.coffeescript}(A),function(e){var t=e.languages.javadoclike={parameter:{pattern:/(^[\t ]*(?:\/{3}|\*|\/\*\*)\s*@(?:arg|arguments|param)\s+)\w+/m,lookbehind:!0},keyword:{pattern:/(^[\t ]*(?:\/{3}|\*|\/\*\*)\s*|\{)@[a-z][a-zA-Z-]+\b/m,lookbehind:!0},punctuation:/[{}]/};Object.defineProperty(t,"addSupport",{value:function(t,n){(t="string"==typeof t?[t]:t).forEach((function(t){var r=function(e){e.inside||(e.inside={}),e.inside.rest=n},a="doc-comment";if(o=e.languages[t]){var o,i=o[a];if((i=i||(o=e.languages.insertBefore(t,"comment",{"doc-comment":{pattern:/(^|[^\\])\/\*\*[^/][\s\S]*?(?:\*\/|$)/,lookbehind:!0,alias:"comment"}}))[a])instanceof RegExp&&(i=o[a]={pattern:i}),Array.isArray(i))for(var s=0,l=i.length;s|\+|~|\|\|/,punctuation:/[(),]/}},e.languages.css.atrule.inside["selector-function-argument"].inside=t,e.languages.insertBefore("css","property",{variable:{pattern:/(^|[^-\w\xA0-\uFFFF])--(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*/i,lookbehind:!0}}),{pattern:/(\b\d+)(?:%|[a-z]+(?![\w-]))/,lookbehind:!0}),{pattern:/(^|[^\w.-])-?(?:\d+(?:\.\d+)?|\.\d+)/,lookbehind:!0});e.languages.insertBefore("css","function",{operator:{pattern:/(\s)[+\-*\/](?=\s)/,lookbehind:!0},hexcode:{pattern:/\B#[\da-f]{3,8}\b/i,alias:"color"},color:[{pattern:/(^|[^\w-])(?:AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGr[ae]y|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGr[ae]y|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGr[ae]y|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gr[ae]y|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGr[ae]y|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGr[ae]y|LightSteelBlue|LightYellow|Lime|LimeGreen|Linen|Magenta|Maroon|MediumAquaMarine|MediumBlue|MediumOrchid|MediumPurple|MediumSeaGreen|MediumSlateBlue|MediumSpringGreen|MediumTurquoise|MediumVioletRed|MidnightBlue|MintCream|MistyRose|Moccasin|NavajoWhite|Navy|OldLace|Olive|OliveDrab|Orange|OrangeRed|Orchid|PaleGoldenRod|PaleGreen|PaleTurquoise|PaleVioletRed|PapayaWhip|PeachPuff|Peru|Pink|Plum|PowderBlue|Purple|RebeccaPurple|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGr[ae]y|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Transparent|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen)(?![\w-])/i,lookbehind:!0},{pattern:/\b(?:hsl|rgb)\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*\)\B|\b(?:hsl|rgb)a\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*,\s*(?:0|0?\.\d+|1)\s*\)\B/i,inside:{unit:t,number:n,function:/[\w-]+(?=\()/,punctuation:/[(),]/}}],entity:/\\[\da-f]{1,8}/i,unit:t,number:n})}(A),function(e){var t=/[*&][^\s[\]{},]+/,n=/!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?/,r="(?:"+n.source+"(?:[ \t]+"+t.source+")?|"+t.source+"(?:[ \t]+"+n.source+")?)",a=/(?:[^\s\x00-\x08\x0e-\x1f!"#%&'*,\-:>?@[\]`{|}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]|[?:-])(?:[ \t]*(?:(?![#:])|:))*/.source.replace(//g,(function(){return/[^\s\x00-\x08\x0e-\x1f,[\]{}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]/.source})),o=/"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\\\r\n]|\\.)*'/.source;function i(e,t){t=(t||"").replace(/m/g,"")+"m";var n=/([:\-,[{]\s*(?:\s<>[ \t]+)?)(?:<>)(?=[ \t]*(?:$|,|\]|\}|(?:[\r\n]\s*)?#))/.source.replace(/<>/g,(function(){return r})).replace(/<>/g,(function(){return e}));return RegExp(n,t)}e.languages.yaml={scalar:{pattern:RegExp(/([\-:]\s*(?:\s<>[ \t]+)?[|>])[ \t]*(?:((?:\r?\n|\r)[ \t]+)\S[^\r\n]*(?:\2[^\r\n]+)*)/.source.replace(/<>/g,(function(){return r}))),lookbehind:!0,alias:"string"},comment:/#.*/,key:{pattern:RegExp(/((?:^|[:\-,[{\r\n?])[ \t]*(?:<>[ \t]+)?)<>(?=\s*:\s)/.source.replace(/<>/g,(function(){return r})).replace(/<>/g,(function(){return"(?:"+a+"|"+o+")"}))),lookbehind:!0,greedy:!0,alias:"atrule"},directive:{pattern:/(^[ \t]*)%.+/m,lookbehind:!0,alias:"important"},datetime:{pattern:i(/\d{4}-\d\d?-\d\d?(?:[tT]|[ \t]+)\d\d?:\d{2}:\d{2}(?:\.\d*)?(?:[ \t]*(?:Z|[-+]\d\d?(?::\d{2})?))?|\d{4}-\d{2}-\d{2}|\d\d?:\d{2}(?::\d{2}(?:\.\d*)?)?/.source),lookbehind:!0,alias:"number"},boolean:{pattern:i(/false|true/.source,"i"),lookbehind:!0,alias:"important"},null:{pattern:i(/null|~/.source,"i"),lookbehind:!0,alias:"important"},string:{pattern:i(o),lookbehind:!0,greedy:!0},number:{pattern:i(/[+-]?(?:0x[\da-f]+|0o[0-7]+|(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?|\.inf|\.nan)/.source,"i"),lookbehind:!0},tag:n,important:t,punctuation:/---|[:[\]{}\-,|>?]|\.\.\./},e.languages.yml=e.languages.yaml}(A),function(e){var t=/(?:\\.|[^\\\n\r]|(?:\n|\r\n?)(?![\r\n]))/.source;function n(e){return e=e.replace(//g,(function(){return t})),RegExp(/((?:^|[^\\])(?:\\{2})*)/.source+"(?:"+e+")")}var r=/(?:\\.|``(?:[^`\r\n]|`(?!`))+``|`[^`\r\n]+`|[^\\|\r\n`])+/.source,a=/\|?__(?:\|__)+\|?(?:(?:\n|\r\n?)|(?![\s\S]))/.source.replace(/__/g,(function(){return r})),o=/\|?[ \t]*:?-{3,}:?[ \t]*(?:\|[ \t]*:?-{3,}:?[ \t]*)+\|?(?:\n|\r\n?)/.source,i=(e.languages.markdown=e.languages.extend("markup",{}),e.languages.insertBefore("markdown","prolog",{"front-matter-block":{pattern:/(^(?:\s*[\r\n])?)---(?!.)[\s\S]*?[\r\n]---(?!.)/,lookbehind:!0,greedy:!0,inside:{punctuation:/^---|---$/,"front-matter":{pattern:/\S+(?:\s+\S+)*/,alias:["yaml","language-yaml"],inside:e.languages.yaml}}},blockquote:{pattern:/^>(?:[\t ]*>)*/m,alias:"punctuation"},table:{pattern:RegExp("^"+a+o+"(?:"+a+")*","m"),inside:{"table-data-rows":{pattern:RegExp("^("+a+o+")(?:"+a+")*$"),lookbehind:!0,inside:{"table-data":{pattern:RegExp(r),inside:e.languages.markdown},punctuation:/\|/}},"table-line":{pattern:RegExp("^("+a+")"+o+"$"),lookbehind:!0,inside:{punctuation:/\||:?-{3,}:?/}},"table-header-row":{pattern:RegExp("^"+a+"$"),inside:{"table-header":{pattern:RegExp(r),alias:"important",inside:e.languages.markdown},punctuation:/\|/}}}},code:[{pattern:/((?:^|\n)[ \t]*\n|(?:^|\r\n?)[ \t]*\r\n?)(?: {4}|\t).+(?:(?:\n|\r\n?)(?: {4}|\t).+)*/,lookbehind:!0,alias:"keyword"},{pattern:/^```[\s\S]*?^```$/m,greedy:!0,inside:{"code-block":{pattern:/^(```.*(?:\n|\r\n?))[\s\S]+?(?=(?:\n|\r\n?)^```$)/m,lookbehind:!0},"code-language":{pattern:/^(```).+/,lookbehind:!0},punctuation:/```/}}],title:[{pattern:/\S.*(?:\n|\r\n?)(?:==+|--+)(?=[ \t]*$)/m,alias:"important",inside:{punctuation:/==+$|--+$/}},{pattern:/(^\s*)#.+/m,lookbehind:!0,alias:"important",inside:{punctuation:/^#+|#+$/}}],hr:{pattern:/(^\s*)([*-])(?:[\t ]*\2){2,}(?=\s*$)/m,lookbehind:!0,alias:"punctuation"},list:{pattern:/(^\s*)(?:[*+-]|\d+\.)(?=[\t ].)/m,lookbehind:!0,alias:"punctuation"},"url-reference":{pattern:/!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/,inside:{variable:{pattern:/^(!?\[)[^\]]+/,lookbehind:!0},string:/(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/,punctuation:/^[\[\]!:]|[<>]/},alias:"url"},bold:{pattern:n(/\b__(?:(?!_)|_(?:(?!_))+_)+__\b|\*\*(?:(?!\*)|\*(?:(?!\*))+\*)+\*\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^..)[\s\S]+(?=..$)/,lookbehind:!0,inside:{}},punctuation:/\*\*|__/}},italic:{pattern:n(/\b_(?:(?!_)|__(?:(?!_))+__)+_\b|\*(?:(?!\*)|\*\*(?:(?!\*))+\*\*)+\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^.)[\s\S]+(?=.$)/,lookbehind:!0,inside:{}},punctuation:/[*_]/}},strike:{pattern:n(/(~~?)(?:(?!~))+\2/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^~~?)[\s\S]+(?=\1$)/,lookbehind:!0,inside:{}},punctuation:/~~?/}},"code-snippet":{pattern:/(^|[^\\`])(?:``[^`\r\n]+(?:`[^`\r\n]+)*``(?!`)|`[^`\r\n]+`(?!`))/,lookbehind:!0,greedy:!0,alias:["code","keyword"]},url:{pattern:n(/!?\[(?:(?!\]))+\](?:\([^\s)]+(?:[\t ]+"(?:\\.|[^"\\])*")?\)|[ \t]?\[(?:(?!\]))+\])/.source),lookbehind:!0,greedy:!0,inside:{operator:/^!/,content:{pattern:/(^\[)[^\]]+(?=\])/,lookbehind:!0,inside:{}},variable:{pattern:/(^\][ \t]?\[)[^\]]+(?=\]$)/,lookbehind:!0},url:{pattern:/(^\]\()[^\s)]+/,lookbehind:!0},string:{pattern:/(^[ \t]+)"(?:\\.|[^"\\])*"(?=\)$)/,lookbehind:!0}}}}),["url","bold","italic","strike"].forEach((function(t){["url","bold","italic","strike","code-snippet"].forEach((function(n){t!==n&&(e.languages.markdown[t].inside.content.inside[n]=e.languages.markdown[n])}))})),e.hooks.add("after-tokenize",(function(e){"markdown"!==e.language&&"md"!==e.language||function e(t){if(t&&"string"!=typeof t)for(var n=0,r=t.length;n",quot:'"'},l=String.fromCodePoint||String.fromCharCode;e.languages.md=e.languages.markdown}(A),A.languages.graphql={comment:/#.*/,description:{pattern:/(?:"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*")(?=\s*[a-z_])/i,greedy:!0,alias:"string",inside:{"language-markdown":{pattern:/(^"(?:"")?)(?!\1)[\s\S]+(?=\1$)/,lookbehind:!0,inside:A.languages.markdown}}},string:{pattern:/"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*"/,greedy:!0},number:/(?:\B-|\b)\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,boolean:/\b(?:false|true)\b/,variable:/\$[a-z_]\w*/i,directive:{pattern:/@[a-z_]\w*/i,alias:"function"},"attr-name":{pattern:/\b[a-z_]\w*(?=\s*(?:\((?:[^()"]|"(?:\\.|[^\\"\r\n])*")*\))?:)/i,greedy:!0},"atom-input":{pattern:/\b[A-Z]\w*Input\b/,alias:"class-name"},scalar:/\b(?:Boolean|Float|ID|Int|String)\b/,constant:/\b[A-Z][A-Z_\d]*\b/,"class-name":{pattern:/(\b(?:enum|implements|interface|on|scalar|type|union)\s+|&\s*|:\s*|\[)[A-Z_]\w*/,lookbehind:!0},fragment:{pattern:/(\bfragment\s+|\.{3}\s*(?!on\b))[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},"definition-mutation":{pattern:/(\bmutation\s+)[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},"definition-query":{pattern:/(\bquery\s+)[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},keyword:/\b(?:directive|enum|extend|fragment|implements|input|interface|mutation|on|query|repeatable|scalar|schema|subscription|type|union)\b/,operator:/[!=|&]|\.{3}/,"property-query":/\w+(?=\s*\()/,object:/\w+(?=\s*\{)/,punctuation:/[!(){}\[\]:=,]/,property:/\w+/},A.hooks.add("after-tokenize",(function(e){if("graphql"===e.language)for(var t=e.tokens.filter((function(e){return"string"!=typeof e&&"comment"!==e.type&&"scalar"!==e.type})),n=0;n?|<|>)?|>[>=]?|\b(?:AND|BETWEEN|DIV|ILIKE|IN|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i,punctuation:/[;[\]()`,.]/},function(e){var t=e.languages.javascript["template-string"],n=t.pattern.source,r=t.inside.interpolation,a=r.inside["interpolation-punctuation"],o=r.pattern.source;function i(t,r){if(e.languages[t])return{pattern:RegExp("((?:"+r+")\\s*)"+n),lookbehind:!0,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},"embedded-code":{pattern:/[\s\S]+/,alias:t}}}}function s(t,n,r){return t={code:t,grammar:n,language:r},e.hooks.run("before-tokenize",t),t.tokens=e.tokenize(t.code,t.grammar),e.hooks.run("after-tokenize",t),t.tokens}function l(t,n,i){var l=e.tokenize(t,{interpolation:{pattern:RegExp(o),lookbehind:!0}}),u=0,c={},d=(l=s(l.map((function(e){if("string"==typeof e)return e;var n,r;for(e=e.content;-1!==t.indexOf((r=u++,n="___"+i.toUpperCase()+"_"+r+"___")););return c[n]=e,n})).join(""),n,i),Object.keys(c));return u=0,function t(n){for(var o=0;o=d.length)return;var i,l,f,p,h,g,m,y=n[o];"string"==typeof y||"string"==typeof y.content?(i=d[u],-1!==(m=(g="string"==typeof y?y:y.content).indexOf(i))&&(++u,l=g.substring(0,m),h=c[i],f=void 0,(p={})["interpolation-punctuation"]=a,3===(p=e.tokenize(h,p)).length&&((f=[1,1]).push.apply(f,s(p[1],e.languages.javascript,"javascript")),p.splice.apply(p,f)),f=new e.Token("interpolation",p,r.alias,h),p=g.substring(m+i.length),h=[],l&&h.push(l),h.push(f),p&&(t(g=[p]),h.push.apply(h,g)),"string"==typeof y?(n.splice.apply(n,[o,1].concat(h)),o+=h.length-1):y.content=h)):(m=y.content,Array.isArray(m)?t(m):t([m]))}}(l),new e.Token(i,l,"language-"+i,t)}e.languages.javascript["template-string"]=[i("css",/\b(?:styled(?:\([^)]*\))?(?:\s*\.\s*\w+(?:\([^)]*\))*)*|css(?:\s*\.\s*(?:global|resolve))?|createGlobalStyle|keyframes)/.source),i("html",/\bhtml|\.\s*(?:inner|outer)HTML\s*\+?=/.source),i("svg",/\bsvg/.source),i("markdown",/\b(?:markdown|md)/.source),i("graphql",/\b(?:gql|graphql(?:\s*\.\s*experimental)?)/.source),i("sql",/\bsql/.source),t].filter(Boolean);var u={javascript:!0,js:!0,typescript:!0,ts:!0,jsx:!0,tsx:!0};function c(e){return"string"==typeof e?e:Array.isArray(e)?e.map(c).join(""):c(e.content)}e.hooks.add("after-tokenize",(function(t){t.language in u&&function t(n){for(var r=0,a=n.length;r]|<(?:[^<>]|<[^<>]*>)*>)*>)?/,lookbehind:!0,greedy:!0,inside:null},builtin:/\b(?:Array|Function|Promise|any|boolean|console|never|number|string|symbol|unknown)\b/}),e.languages.typescript.keyword.push(/\b(?:abstract|declare|is|keyof|readonly|require)\b/,/\b(?:asserts|infer|interface|module|namespace|type)\b(?=\s*(?:[{_$a-zA-Z\xA0-\uFFFF]|$))/,/\btype\b(?=\s*(?:[\{*]|$))/),delete e.languages.typescript.parameter,delete e.languages.typescript["literal-property"];var t=e.languages.extend("typescript",{});delete t["class-name"],e.languages.typescript["class-name"].inside=t,e.languages.insertBefore("typescript","function",{decorator:{pattern:/@[$\w\xA0-\uFFFF]+/,inside:{at:{pattern:/^@/,alias:"operator"},function:/^[\s\S]+/}},"generic-function":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\s*\()/,greedy:!0,inside:{function:/^#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:t}}}}),e.languages.ts=e.languages.typescript}(A),function(e){var t=e.languages.javascript,n=/\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})+\}/.source,r="(@(?:arg|argument|param|property)\\s+(?:"+n+"\\s+)?)";e.languages.jsdoc=e.languages.extend("javadoclike",{parameter:{pattern:RegExp(r+/(?:(?!\s)[$\w\xA0-\uFFFF.])+(?=\s|$)/.source),lookbehind:!0,inside:{punctuation:/\./}}}),e.languages.insertBefore("jsdoc","keyword",{"optional-parameter":{pattern:RegExp(r+/\[(?:(?!\s)[$\w\xA0-\uFFFF.])+(?:=[^[\]]+)?\](?=\s|$)/.source),lookbehind:!0,inside:{parameter:{pattern:/(^\[)[$\w\xA0-\uFFFF\.]+/,lookbehind:!0,inside:{punctuation:/\./}},code:{pattern:/(=)[\s\S]*(?=\]$)/,lookbehind:!0,inside:t,alias:"language-javascript"},punctuation:/[=[\]]/}},"class-name":[{pattern:RegExp(/(@(?:augments|class|extends|interface|memberof!?|template|this|typedef)\s+(?:\s+)?)[A-Z]\w*(?:\.[A-Z]\w*)*/.source.replace(//g,(function(){return n}))),lookbehind:!0,inside:{punctuation:/\./}},{pattern:RegExp("(@[a-z]+\\s+)"+n),lookbehind:!0,inside:{string:t.string,number:t.number,boolean:t.boolean,keyword:e.languages.typescript.keyword,operator:/=>|\.\.\.|[&|?:*]/,punctuation:/[.,;=<>{}()[\]]/}}],example:{pattern:/(@example\s+(?!\s))(?:[^@\s]|\s+(?!\s))+?(?=\s*(?:\*\s*)?(?:@\w|\*\/))/,lookbehind:!0,inside:{code:{pattern:/^([\t ]*(?:\*\s*)?)\S.*$/m,lookbehind:!0,inside:t,alias:"language-javascript"}}}}),e.languages.javadoclike.addSupport("javascript",e.languages.jsdoc)}(A),function(e){e.languages.flow=e.languages.extend("javascript",{}),e.languages.insertBefore("flow","keyword",{type:[{pattern:/\b(?:[Bb]oolean|Function|[Nn]umber|[Ss]tring|[Ss]ymbol|any|mixed|null|void)\b/,alias:"class-name"}]}),e.languages.flow["function-variable"].pattern=/(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=\s*(?:function\b|(?:\([^()]*\)(?:\s*:\s*\w+)?|(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/i,delete e.languages.flow.parameter,e.languages.insertBefore("flow","operator",{"flow-punctuation":{pattern:/\{\||\|\}/,alias:"punctuation"}}),Array.isArray(e.languages.flow.keyword)||(e.languages.flow.keyword=[e.languages.flow.keyword]),e.languages.flow.keyword.unshift({pattern:/(^|[^$]\b)(?:Class|declare|opaque|type)\b(?!\$)/,lookbehind:!0},{pattern:/(^|[^$]\B)\$(?:Diff|Enum|Exact|Keys|ObjMap|PropertyType|Record|Shape|Subtype|Supertype|await)\b(?!\$)/,lookbehind:!0})}(A),A.languages.n4js=A.languages.extend("javascript",{keyword:/\b(?:Array|any|boolean|break|case|catch|class|const|constructor|continue|debugger|declare|default|delete|do|else|enum|export|extends|false|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|module|new|null|number|package|private|protected|public|return|set|static|string|super|switch|this|throw|true|try|typeof|var|void|while|with|yield)\b/}),A.languages.insertBefore("n4js","constant",{annotation:{pattern:/@+\w+/,alias:"operator"}}),A.languages.n4jsd=A.languages.n4js,function(e){function t(e,t){return RegExp(e.replace(//g,(function(){return/(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/.source})),t)}e.languages.insertBefore("javascript","function-variable",{"method-variable":{pattern:RegExp("(\\.\\s*)"+e.languages.javascript["function-variable"].pattern.source),lookbehind:!0,alias:["function-variable","method","function","property-access"]}}),e.languages.insertBefore("javascript","function",{method:{pattern:RegExp("(\\.\\s*)"+e.languages.javascript.function.source),lookbehind:!0,alias:["function","property-access"]}}),e.languages.insertBefore("javascript","constant",{"known-class-name":[{pattern:/\b(?:(?:Float(?:32|64)|(?:Int|Uint)(?:8|16|32)|Uint8Clamped)?Array|ArrayBuffer|BigInt|Boolean|DataView|Date|Error|Function|Intl|JSON|(?:Weak)?(?:Map|Set)|Math|Number|Object|Promise|Proxy|Reflect|RegExp|String|Symbol|WebAssembly)\b/,alias:"class-name"},{pattern:/\b(?:[A-Z]\w*)Error\b/,alias:"class-name"}]}),e.languages.insertBefore("javascript","keyword",{imports:{pattern:t(/(\bimport\b\s*)(?:(?:\s*,\s*(?:\*\s*as\s+|\{[^{}]*\}))?|\*\s*as\s+|\{[^{}]*\})(?=\s*\bfrom\b)/.source),lookbehind:!0,inside:e.languages.javascript},exports:{pattern:t(/(\bexport\b\s*)(?:\*(?:\s*as\s+)?(?=\s*\bfrom\b)|\{[^{}]*\})/.source),lookbehind:!0,inside:e.languages.javascript}}),e.languages.javascript.keyword.unshift({pattern:/\b(?:as|default|export|from|import)\b/,alias:"module"},{pattern:/\b(?:await|break|catch|continue|do|else|finally|for|if|return|switch|throw|try|while|yield)\b/,alias:"control-flow"},{pattern:/\bnull\b/,alias:["null","nil"]},{pattern:/\bundefined\b/,alias:"nil"}),e.languages.insertBefore("javascript","operator",{spread:{pattern:/\.{3}/,alias:"operator"},arrow:{pattern:/=>/,alias:"operator"}}),e.languages.insertBefore("javascript","punctuation",{"property-access":{pattern:t(/(\.\s*)#?/.source),lookbehind:!0},"maybe-class-name":{pattern:/(^|[^$\w\xA0-\uFFFF])[A-Z][$\w\xA0-\uFFFF]+/,lookbehind:!0},dom:{pattern:/\b(?:document|(?:local|session)Storage|location|navigator|performance|window)\b/,alias:"variable"},console:{pattern:/\bconsole(?=\s*\.)/,alias:"class-name"}});for(var n=["function","function-variable","method","method-variable","property-access"],r=0;r*\.{3}(?:[^{}]|)*\})/.source;function o(e,t){return e=e.replace(//g,(function(){return n})).replace(//g,(function(){return r})).replace(//g,(function(){return a})),RegExp(e,t)}function i(t){for(var n=[],r=0;r"!==a.content[a.content.length-1].content&&n.push({tagName:s(a.content[0].content[1]),openedBraces:0}):0+(?:[\w.:$-]+(?:=(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s{'"/>=]+|))?|))**\/?)?>/.source),e.languages.jsx.tag.inside.tag.pattern=/^<\/?[^\s>\/]*/,e.languages.jsx.tag.inside["attr-value"].pattern=/=(?!\{)(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s'">]+)/,e.languages.jsx.tag.inside.tag.inside["class-name"]=/^[A-Z]\w*(?:\.[A-Z]\w*)*$/,e.languages.jsx.tag.inside.comment=t.comment,e.languages.insertBefore("inside","attr-name",{spread:{pattern:o(//.source),inside:e.languages.jsx}},e.languages.jsx.tag),e.languages.insertBefore("inside","special-attr",{script:{pattern:o(/=/.source),alias:"language-javascript",inside:{"script-punctuation":{pattern:/^=(?=\{)/,alias:"punctuation"},rest:e.languages.jsx}}},e.languages.jsx.tag);var s=function(e){return e?"string"==typeof e?e:"string"==typeof e.content?e.content:e.content.map(s).join(""):""};e.hooks.add("after-tokenize",(function(e){"jsx"!==e.language&&"tsx"!==e.language||i(e.tokens)}))}(A),function(e){var t=e.util.clone(e.languages.typescript);(t=(e.languages.tsx=e.languages.extend("jsx",t),delete e.languages.tsx.parameter,delete e.languages.tsx["literal-property"],e.languages.tsx.tag)).pattern=RegExp(/(^|[^\w$]|(?=<\/))/.source+"(?:"+t.pattern.source+")",t.pattern.flags),t.lookbehind=!0}(A),A.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:/[{}[\]();,.:\\]/},A.languages.swift["string-literal"].forEach((function(e){e.inside.interpolation.inside=A.languages.swift})),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}(A),A.languages.c=A.languages.extend("clike",{comment:{pattern:/\/\/(?:[^\r\n\\]|\\(?:\r\n?|\n|(?![\r\n])))*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},"class-name":{pattern:/(\b(?:enum|struct)\s+(?:__attribute__\s*\(\([\s\S]*?\)\)\s*)?)\w+|\b[a-z]\w*_t\b/,lookbehind:!0},keyword:/\b(?:_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|__attribute__|asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|inline|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|typeof|union|unsigned|void|volatile|while)\b/,function:/\b[a-z_]\w*(?=\s*\()/i,number:/(?:\b0x(?:[\da-f]+(?:\.[\da-f]*)?|\.[\da-f]+)(?:p[+-]?\d+)?|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?)[ful]{0,4}/i,operator:/>>=?|<<=?|->|([-+&|:])\1|[?:~]|[-+*/%&|^!=<>]=?/}),A.languages.insertBefore("c","string",{char:{pattern:/'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n]){0,32}'/,greedy:!0}}),A.languages.insertBefore("c","string",{macro:{pattern:/(^[\t ]*)#\s*[a-z](?:[^\r\n\\/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|\\(?:\r\n|[\s\S]))*/im,lookbehind:!0,greedy:!0,alias:"property",inside:{string:[{pattern:/^(#\s*include\s*)<[^>]+>/,lookbehind:!0},A.languages.c.string],char:A.languages.c.char,comment:A.languages.c.comment,"macro-name":[{pattern:/(^#\s*define\s+)\w+\b(?!\()/i,lookbehind:!0},{pattern:/(^#\s*define\s+)\w+\b(?=\()/i,lookbehind:!0,alias:"function"}],directive:{pattern:/^(#\s*)[a-z]+/,lookbehind:!0,alias:"keyword"},"directive-hash":/^#/,punctuation:/##|\\(?=[\r\n])/,expression:{pattern:/\S[\s\S]*/,inside:A.languages.c}}}}),A.languages.insertBefore("c","function",{constant:/\b(?:EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|__DATE__|__FILE__|__LINE__|__TIMESTAMP__|__TIME__|__func__|stderr|stdin|stdout)\b/}),delete A.languages.c.boolean,A.languages.objectivec=A.languages.extend("c",{string:{pattern:/@?"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},keyword:/\b(?:asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|in|inline|int|long|register|return|self|short|signed|sizeof|static|struct|super|switch|typedef|typeof|union|unsigned|void|volatile|while)\b|(?:@interface|@end|@implementation|@protocol|@class|@public|@protected|@private|@property|@try|@catch|@finally|@throw|@synthesize|@dynamic|@selector)\b/,operator:/-[->]?|\+\+?|!=?|<>?=?|==?|&&?|\|\|?|[~^%?*\/@]/}),delete A.languages.objectivec["class-name"],A.languages.objc=A.languages.objectivec,A.languages.reason=A.languages.extend("clike",{string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^\\\r\n"])*"/,greedy:!0},"class-name":/\b[A-Z]\w*/,keyword:/\b(?:and|as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|method|module|mutable|new|nonrec|object|of|open|or|private|rec|sig|struct|switch|then|to|try|type|val|virtual|when|while|with)\b/,operator:/\.{3}|:[:=]|\|>|->|=(?:==?|>)?|<=?|>=?|[|^?'#!~`]|[+\-*\/]\.?|\b(?:asr|land|lor|lsl|lsr|lxor|mod)\b/}),A.languages.insertBefore("reason","class-name",{char:{pattern:/'(?:\\x[\da-f]{2}|\\o[0-3][0-7][0-7]|\\\d{3}|\\.|[^'\\\r\n])'/,greedy:!0},constructor:/\b[A-Z]\w*\b(?!\s*\.)/,label:{pattern:/\b[a-z]\w*(?=::)/,alias:"symbol"}}),delete A.languages.reason.function,function(e){for(var t=/\/\*(?:[^*/]|\*(?!\/)|\/(?!\*)|)*\*\//.source,n=0;n<2;n++)t=t.replace(//g,(function(){return t}));t=t.replace(//g,(function(){return/[^\s\S]/.source})),e.languages.rust={comment:[{pattern:RegExp(/(^|[^\\])/.source+t),lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/b?"(?:\\[\s\S]|[^\\"])*"|b?r(#*)"(?:[^"]|"(?!\1))*"\1/,greedy:!0},char:{pattern:/b?'(?:\\(?:x[0-7][\da-fA-F]|u\{(?:[\da-fA-F]_*){1,6}\}|.)|[^\\\r\n\t'])'/,greedy:!0},attribute:{pattern:/#!?\[(?:[^\[\]"]|"(?:\\[\s\S]|[^\\"])*")*\]/,greedy:!0,alias:"attr-name",inside:{string:null}},"closure-params":{pattern:/([=(,:]\s*|\bmove\s*)\|[^|]*\||\|[^|]*\|(?=\s*(?:\{|->))/,lookbehind:!0,greedy:!0,inside:{"closure-punctuation":{pattern:/^\||\|$/,alias:"punctuation"},rest:null}},"lifetime-annotation":{pattern:/'\w+/,alias:"symbol"},"fragment-specifier":{pattern:/(\$\w+:)[a-z]+/,lookbehind:!0,alias:"punctuation"},variable:/\$\w+/,"function-definition":{pattern:/(\bfn\s+)\w+/,lookbehind:!0,alias:"function"},"type-definition":{pattern:/(\b(?:enum|struct|trait|type|union)\s+)\w+/,lookbehind:!0,alias:"class-name"},"module-declaration":[{pattern:/(\b(?:crate|mod)\s+)[a-z][a-z_\d]*/,lookbehind:!0,alias:"namespace"},{pattern:/(\b(?:crate|self|super)\s*)::\s*[a-z][a-z_\d]*\b(?:\s*::(?:\s*[a-z][a-z_\d]*\s*::)*)?/,lookbehind:!0,alias:"namespace",inside:{punctuation:/::/}}],keyword:[/\b(?:Self|abstract|as|async|await|become|box|break|const|continue|crate|do|dyn|else|enum|extern|final|fn|for|if|impl|in|let|loop|macro|match|mod|move|mut|override|priv|pub|ref|return|self|static|struct|super|trait|try|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield)\b/,/\b(?:bool|char|f(?:32|64)|[ui](?:8|16|32|64|128|size)|str)\b/],function:/\b[a-z_]\w*(?=\s*(?:::\s*<|\())/,macro:{pattern:/\b\w+!/,alias:"property"},constant:/\b[A-Z_][A-Z_\d]+\b/,"class-name":/\b[A-Z]\w*\b/,namespace:{pattern:/(?:\b[a-z][a-z_\d]*\s*::\s*)*\b[a-z][a-z_\d]*\s*::(?!\s*<)/,inside:{punctuation:/::/}},number:/\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0o[0-7](?:_?[0-7])*|0b[01](?:_?[01])*|(?:(?:\d(?:_?\d)*)?\.)?\d(?:_?\d)*(?:[Ee][+-]?\d+)?)(?:_?(?:f32|f64|[iu](?:8|16|32|64|size)?))?\b/,boolean:/\b(?:false|true)\b/,punctuation:/->|\.\.=|\.{1,3}|::|[{}[\];(),:]/,operator:/[-+*\/%!^]=?|=[=>]?|&[&=]?|\|[|=]?|<>?=?|[@?]/},e.languages.rust["closure-params"].inside.rest=e.languages.rust,e.languages.rust.attribute.inside.string=e.languages.rust.string}(A),A.languages.go=A.languages.extend("clike",{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"|`[^`]*`/,lookbehind:!0,greedy:!0},keyword:/\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\b/,boolean:/\b(?:_|false|iota|nil|true)\b/,number:[/\b0(?:b[01_]+|o[0-7_]+)i?\b/i,/\b0x(?:[a-f\d_]+(?:\.[a-f\d_]*)?|\.[a-f\d_]+)(?:p[+-]?\d+(?:_\d+)*)?i?(?!\w)/i,/(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?[\d_]+)?i?(?!\w)/i],operator:/[*\/%^!=]=?|\+[=+]?|-[=-]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\./,builtin:/\b(?:append|bool|byte|cap|close|complex|complex(?:64|128)|copy|delete|error|float(?:32|64)|u?int(?:8|16|32|64)?|imag|len|make|new|panic|print(?:ln)?|real|recover|rune|string|uintptr)\b/}),A.languages.insertBefore("go","string",{char:{pattern:/'(?:\\.|[^'\\\r\n]){0,10}'/,greedy:!0}}),delete A.languages.go["class-name"],function(e){var t=/\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|char8_t|class|co_await|co_return|co_yield|compl|concept|const|const_cast|consteval|constexpr|constinit|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|final|float|for|friend|goto|if|import|inline|int|int16_t|int32_t|int64_t|int8_t|long|module|mutable|namespace|new|noexcept|nullptr|operator|override|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|uint16_t|uint32_t|uint64_t|uint8_t|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/,n=/\b(?!)\w+(?:\s*\.\s*\w+)*\b/.source.replace(//g,(function(){return t.source}));e.languages.cpp=e.languages.extend("c",{"class-name":[{pattern:RegExp(/(\b(?:class|concept|enum|struct|typename)\s+)(?!)\w+/.source.replace(//g,(function(){return t.source}))),lookbehind:!0},/\b[A-Z]\w*(?=\s*::\s*\w+\s*\()/,/\b[A-Z_]\w*(?=\s*::\s*~\w+\s*\()/i,/\b\w+(?=\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\s*::\s*\w+\s*\()/],keyword:t,number:{pattern:/(?:\b0b[01']+|\b0x(?:[\da-f']+(?:\.[\da-f']*)?|\.[\da-f']+)(?:p[+-]?[\d']+)?|(?:\b[\d']+(?:\.[\d']*)?|\B\.[\d']+)(?:e[+-]?[\d']+)?)[ful]{0,4}/i,greedy:!0},operator:/>>=?|<<=?|->|--|\+\+|&&|\|\||[?:~]|<=>|[-+*/%&|^!=<>]=?|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/,boolean:/\b(?:false|true)\b/}),e.languages.insertBefore("cpp","string",{module:{pattern:RegExp(/(\b(?:import|module)\s+)/.source+"(?:"+/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|<[^<>\r\n]*>/.source+"|"+/(?:\s*:\s*)?|:\s*/.source.replace(//g,(function(){return n}))+")"),lookbehind:!0,greedy:!0,inside:{string:/^[<"][\s\S]+/,operator:/:/,punctuation:/\./}},"raw-string":{pattern:/R"([^()\\ ]{0,16})\([\s\S]*?\)\1"/,alias:"string",greedy:!0}}),e.languages.insertBefore("cpp","keyword",{"generic-function":{pattern:/\b(?!operator\b)[a-z_]\w*\s*<(?:[^<>]|<[^<>]*>)*>(?=\s*\()/i,inside:{function:/^\w+/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:e.languages.cpp}}}}),e.languages.insertBefore("cpp","operator",{"double-colon":{pattern:/::/,alias:"punctuation"}}),e.languages.insertBefore("cpp","class-name",{"base-clause":{pattern:/(\b(?:class|struct)\s+\w+\s*:\s*)[^;{}"'\s]+(?:\s+[^;{}"'\s]+)*(?=\s*[;{])/,lookbehind:!0,greedy:!0,inside:e.languages.extend("cpp",{})}}),e.languages.insertBefore("inside","double-colon",{"class-name":/\b[a-z_]\w*\b(?!\s*::)/i},e.languages.cpp["base-clause"])}(A),A.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0,greedy:!0},"string-interpolation":{pattern:/(?:f|fr|rf)(?:("""|''')[\s\S]*?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^{])(?:\{\{)*)\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}])+\})+\})+\}/,lookbehind:!0,inside:{"format-spec":{pattern:/(:)[^:(){}]+(?=\}$)/,lookbehind:!0},"conversion-option":{pattern:/![sra](?=[:}]$)/,alias:"punctuation"},rest:null}},string:/[\s\S]+/}},"triple-quoted-string":{pattern:/(?:[rub]|br|rb)?("""|''')[\s\S]*?\1/i,greedy:!0,alias:"string"},string:{pattern:/(?:[rub]|br|rb)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i,greedy:!0},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g,lookbehind:!0},"class-name":{pattern:/(\bclass\s+)\w+/i,lookbehind:!0},decorator:{pattern:/(^[\t ]*)@\w+(?:\.\w+)*/m,lookbehind:!0,alias:["annotation","punctuation"],inside:{punctuation:/\./}},keyword:/\b(?:_(?=\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,builtin:/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,boolean:/\b(?:False|None|True)\b/,number:/\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\b|(?:\b\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\B\.\d+(?:_\d+)*)(?:e[+-]?\d+(?:_\d+)*)?j?(?!\w)/i,operator:/[-+%=]=?|!=|:=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/},A.languages.python["string-interpolation"].inside.interpolation.inside.rest=A.languages.python,A.languages.py=A.languages.python,A.languages.json={property:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?=\s*:)/,lookbehind:!0,greedy:!0},string:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?!\s*:)/,lookbehind:!0,greedy:!0},comment:{pattern:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},number:/-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,punctuation:/[{}[\],]/,operator:/:/,boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"}},A.languages.webmanifest=A.languages.json;((e,t)=>{for(var n in t)p(e,n,{get:t[n],enumerable:!0})})({},{dracula:()=>T,duotoneDark:()=>O,duotoneLight:()=>N,github:()=>P,gruvboxMaterialDark:()=>G,gruvboxMaterialLight:()=>K,jettwaveDark:()=>V,jettwaveLight:()=>W,nightOwl:()=>L,nightOwlLight:()=>j,oceanicNext:()=>F,okaidia:()=>D,oneDark:()=>Q,oneLight:()=>q,palenight:()=>M,shadesOfPurple:()=>z,synthwave84:()=>$,ultramin:()=>B,vsDark:()=>U,vsLight:()=>H});var T={plain:{color:"#F8F8F2",backgroundColor:"#282A36"},styles:[{types:["prolog","constant","builtin"],style:{color:"rgb(189, 147, 249)"}},{types:["inserted","function"],style:{color:"rgb(80, 250, 123)"}},{types:["deleted"],style:{color:"rgb(255, 85, 85)"}},{types:["changed"],style:{color:"rgb(255, 184, 108)"}},{types:["punctuation","symbol"],style:{color:"rgb(248, 248, 242)"}},{types:["string","char","tag","selector"],style:{color:"rgb(255, 121, 198)"}},{types:["keyword","variable"],style:{color:"rgb(189, 147, 249)",fontStyle:"italic"}},{types:["comment"],style:{color:"rgb(98, 114, 164)"}},{types:["attr-name"],style:{color:"rgb(241, 250, 140)"}}]},O={plain:{backgroundColor:"#2a2734",color:"#9a86fd"},styles:[{types:["comment","prolog","doctype","cdata","punctuation"],style:{color:"#6c6783"}},{types:["namespace"],style:{opacity:.7}},{types:["tag","operator","number"],style:{color:"#e09142"}},{types:["property","function"],style:{color:"#9a86fd"}},{types:["tag-id","selector","atrule-id"],style:{color:"#eeebff"}},{types:["attr-name"],style:{color:"#c4b9fe"}},{types:["boolean","string","entity","url","attr-value","keyword","control","directive","unit","statement","regex","atrule","placeholder","variable"],style:{color:"#ffcc99"}},{types:["deleted"],style:{textDecorationLine:"line-through"}},{types:["inserted"],style:{textDecorationLine:"underline"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["important"],style:{color:"#c4b9fe"}}]},N={plain:{backgroundColor:"#faf8f5",color:"#728fcb"},styles:[{types:["comment","prolog","doctype","cdata","punctuation"],style:{color:"#b6ad9a"}},{types:["namespace"],style:{opacity:.7}},{types:["tag","operator","number"],style:{color:"#063289"}},{types:["property","function"],style:{color:"#b29762"}},{types:["tag-id","selector","atrule-id"],style:{color:"#2d2006"}},{types:["attr-name"],style:{color:"#896724"}},{types:["boolean","string","entity","url","attr-value","keyword","control","directive","unit","statement","regex","atrule"],style:{color:"#728fcb"}},{types:["placeholder","variable"],style:{color:"#93abdc"}},{types:["deleted"],style:{textDecorationLine:"line-through"}},{types:["inserted"],style:{textDecorationLine:"underline"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["important"],style:{color:"#896724"}}]},P={plain:{color:"#393A34",backgroundColor:"#f6f8fa"},styles:[{types:["comment","prolog","doctype","cdata"],style:{color:"#999988",fontStyle:"italic"}},{types:["namespace"],style:{opacity:.7}},{types:["string","attr-value"],style:{color:"#e3116c"}},{types:["punctuation","operator"],style:{color:"#393A34"}},{types:["entity","url","symbol","number","boolean","variable","constant","property","regex","inserted"],style:{color:"#36acaa"}},{types:["atrule","keyword","attr-name","selector"],style:{color:"#00a4db"}},{types:["function","deleted","tag"],style:{color:"#d73a49"}},{types:["function-variable"],style:{color:"#6f42c1"}},{types:["tag","selector","keyword"],style:{color:"#00009f"}}]},L={plain:{color:"#d6deeb",backgroundColor:"#011627"},styles:[{types:["changed"],style:{color:"rgb(162, 191, 252)",fontStyle:"italic"}},{types:["deleted"],style:{color:"rgba(239, 83, 80, 0.56)",fontStyle:"italic"}},{types:["inserted","attr-name"],style:{color:"rgb(173, 219, 103)",fontStyle:"italic"}},{types:["comment"],style:{color:"rgb(99, 119, 119)",fontStyle:"italic"}},{types:["string","url"],style:{color:"rgb(173, 219, 103)"}},{types:["variable"],style:{color:"rgb(214, 222, 235)"}},{types:["number"],style:{color:"rgb(247, 140, 108)"}},{types:["builtin","char","constant","function"],style:{color:"rgb(130, 170, 255)"}},{types:["punctuation"],style:{color:"rgb(199, 146, 234)"}},{types:["selector","doctype"],style:{color:"rgb(199, 146, 234)",fontStyle:"italic"}},{types:["class-name"],style:{color:"rgb(255, 203, 139)"}},{types:["tag","operator","keyword"],style:{color:"rgb(127, 219, 202)"}},{types:["boolean"],style:{color:"rgb(255, 88, 116)"}},{types:["property"],style:{color:"rgb(128, 203, 196)"}},{types:["namespace"],style:{color:"rgb(178, 204, 214)"}}]},j={plain:{color:"#403f53",backgroundColor:"#FBFBFB"},styles:[{types:["changed"],style:{color:"rgb(162, 191, 252)",fontStyle:"italic"}},{types:["deleted"],style:{color:"rgba(239, 83, 80, 0.56)",fontStyle:"italic"}},{types:["inserted","attr-name"],style:{color:"rgb(72, 118, 214)",fontStyle:"italic"}},{types:["comment"],style:{color:"rgb(152, 159, 177)",fontStyle:"italic"}},{types:["string","builtin","char","constant","url"],style:{color:"rgb(72, 118, 214)"}},{types:["variable"],style:{color:"rgb(201, 103, 101)"}},{types:["number"],style:{color:"rgb(170, 9, 130)"}},{types:["punctuation"],style:{color:"rgb(153, 76, 195)"}},{types:["function","selector","doctype"],style:{color:"rgb(153, 76, 195)",fontStyle:"italic"}},{types:["class-name"],style:{color:"rgb(17, 17, 17)"}},{types:["tag"],style:{color:"rgb(153, 76, 195)"}},{types:["operator","property","keyword","namespace"],style:{color:"rgb(12, 150, 155)"}},{types:["boolean"],style:{color:"rgb(188, 84, 84)"}}]},R="#c5a5c5",I="#8dc891",F={plain:{backgroundColor:"#282c34",color:"#ffffff"},styles:[{types:["attr-name"],style:{color:R}},{types:["attr-value"],style:{color:I}},{types:["comment","block-comment","prolog","doctype","cdata","shebang"],style:{color:"#999999"}},{types:["property","number","function-name","constant","symbol","deleted"],style:{color:"#5a9bcf"}},{types:["boolean"],style:{color:"#ff8b50"}},{types:["tag"],style:{color:"#fc929e"}},{types:["string"],style:{color:I}},{types:["punctuation"],style:{color:I}},{types:["selector","char","builtin","inserted"],style:{color:"#D8DEE9"}},{types:["function"],style:{color:"#79b6f2"}},{types:["operator","entity","url","variable"],style:{color:"#d7deea"}},{types:["keyword"],style:{color:R}},{types:["atrule","class-name"],style:{color:"#FAC863"}},{types:["important"],style:{fontWeight:"400"}},{types:["bold"],style:{fontWeight:"bold"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["namespace"],style:{opacity:.7}}]},D={plain:{color:"#f8f8f2",backgroundColor:"#272822"},styles:[{types:["changed"],style:{color:"rgb(162, 191, 252)",fontStyle:"italic"}},{types:["deleted"],style:{color:"#f92672",fontStyle:"italic"}},{types:["inserted"],style:{color:"rgb(173, 219, 103)",fontStyle:"italic"}},{types:["comment"],style:{color:"#8292a2",fontStyle:"italic"}},{types:["string","url"],style:{color:"#a6e22e"}},{types:["variable"],style:{color:"#f8f8f2"}},{types:["number"],style:{color:"#ae81ff"}},{types:["builtin","char","constant","function","class-name"],style:{color:"#e6db74"}},{types:["punctuation"],style:{color:"#f8f8f2"}},{types:["selector","doctype"],style:{color:"#a6e22e",fontStyle:"italic"}},{types:["tag","operator","keyword"],style:{color:"#66d9ef"}},{types:["boolean"],style:{color:"#ae81ff"}},{types:["namespace"],style:{color:"rgb(178, 204, 214)",opacity:.7}},{types:["tag","property"],style:{color:"#f92672"}},{types:["attr-name"],style:{color:"#a6e22e !important"}},{types:["doctype"],style:{color:"#8292a2"}},{types:["rule"],style:{color:"#e6db74"}}]},M={plain:{color:"#bfc7d5",backgroundColor:"#292d3e"},styles:[{types:["comment"],style:{color:"rgb(105, 112, 152)",fontStyle:"italic"}},{types:["string","inserted"],style:{color:"rgb(195, 232, 141)"}},{types:["number"],style:{color:"rgb(247, 140, 108)"}},{types:["builtin","char","constant","function"],style:{color:"rgb(130, 170, 255)"}},{types:["punctuation","selector"],style:{color:"rgb(199, 146, 234)"}},{types:["variable"],style:{color:"rgb(191, 199, 213)"}},{types:["class-name","attr-name"],style:{color:"rgb(255, 203, 107)"}},{types:["tag","deleted"],style:{color:"rgb(255, 85, 114)"}},{types:["operator"],style:{color:"rgb(137, 221, 255)"}},{types:["boolean"],style:{color:"rgb(255, 88, 116)"}},{types:["keyword"],style:{fontStyle:"italic"}},{types:["doctype"],style:{color:"rgb(199, 146, 234)",fontStyle:"italic"}},{types:["namespace"],style:{color:"rgb(178, 204, 214)"}},{types:["url"],style:{color:"rgb(221, 221, 221)"}}]},z={plain:{color:"#9EFEFF",backgroundColor:"#2D2A55"},styles:[{types:["changed"],style:{color:"rgb(255, 238, 128)"}},{types:["deleted"],style:{color:"rgba(239, 83, 80, 0.56)"}},{types:["inserted"],style:{color:"rgb(173, 219, 103)"}},{types:["comment"],style:{color:"rgb(179, 98, 255)",fontStyle:"italic"}},{types:["punctuation"],style:{color:"rgb(255, 255, 255)"}},{types:["constant"],style:{color:"rgb(255, 98, 140)"}},{types:["string","url"],style:{color:"rgb(165, 255, 144)"}},{types:["variable"],style:{color:"rgb(255, 238, 128)"}},{types:["number","boolean"],style:{color:"rgb(255, 98, 140)"}},{types:["attr-name"],style:{color:"rgb(255, 180, 84)"}},{types:["keyword","operator","property","namespace","tag","selector","doctype"],style:{color:"rgb(255, 157, 0)"}},{types:["builtin","char","constant","function","class-name"],style:{color:"rgb(250, 208, 0)"}}]},$={plain:{backgroundColor:"linear-gradient(to bottom, #2a2139 75%, #34294f)",backgroundImage:"#34294f",color:"#f92aad",textShadow:"0 0 2px #100c0f, 0 0 5px #dc078e33, 0 0 10px #fff3"},styles:[{types:["comment","block-comment","prolog","doctype","cdata"],style:{color:"#495495",fontStyle:"italic"}},{types:["punctuation"],style:{color:"#ccc"}},{types:["tag","attr-name","namespace","number","unit","hexcode","deleted"],style:{color:"#e2777a"}},{types:["property","selector"],style:{color:"#72f1b8",textShadow:"0 0 2px #100c0f, 0 0 10px #257c5575, 0 0 35px #21272475"}},{types:["function-name"],style:{color:"#6196cc"}},{types:["boolean","selector-id","function"],style:{color:"#fdfdfd",textShadow:"0 0 2px #001716, 0 0 3px #03edf975, 0 0 5px #03edf975, 0 0 8px #03edf975"}},{types:["class-name","maybe-class-name","builtin"],style:{color:"#fff5f6",textShadow:"0 0 2px #000, 0 0 10px #fc1f2c75, 0 0 5px #fc1f2c75, 0 0 25px #fc1f2c75"}},{types:["constant","symbol"],style:{color:"#f92aad",textShadow:"0 0 2px #100c0f, 0 0 5px #dc078e33, 0 0 10px #fff3"}},{types:["important","atrule","keyword","selector-class"],style:{color:"#f4eee4",textShadow:"0 0 2px #393a33, 0 0 8px #f39f0575, 0 0 2px #f39f0575"}},{types:["string","char","attr-value","regex","variable"],style:{color:"#f87c32"}},{types:["parameter"],style:{fontStyle:"italic"}},{types:["entity","url"],style:{color:"#67cdcc"}},{types:["operator"],style:{color:"ffffffee"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["entity"],style:{cursor:"help"}},{types:["inserted"],style:{color:"green"}}]},B={plain:{color:"#282a2e",backgroundColor:"#ffffff"},styles:[{types:["comment"],style:{color:"rgb(197, 200, 198)"}},{types:["string","number","builtin","variable"],style:{color:"rgb(150, 152, 150)"}},{types:["class-name","function","tag","attr-name"],style:{color:"rgb(40, 42, 46)"}}]},U={plain:{color:"#9CDCFE",backgroundColor:"#1E1E1E"},styles:[{types:["prolog"],style:{color:"rgb(0, 0, 128)"}},{types:["comment"],style:{color:"rgb(106, 153, 85)"}},{types:["builtin","changed","keyword","interpolation-punctuation"],style:{color:"rgb(86, 156, 214)"}},{types:["number","inserted"],style:{color:"rgb(181, 206, 168)"}},{types:["constant"],style:{color:"rgb(100, 102, 149)"}},{types:["attr-name","variable"],style:{color:"rgb(156, 220, 254)"}},{types:["deleted","string","attr-value","template-punctuation"],style:{color:"rgb(206, 145, 120)"}},{types:["selector"],style:{color:"rgb(215, 186, 125)"}},{types:["tag"],style:{color:"rgb(78, 201, 176)"}},{types:["tag"],languages:["markup"],style:{color:"rgb(86, 156, 214)"}},{types:["punctuation","operator"],style:{color:"rgb(212, 212, 212)"}},{types:["punctuation"],languages:["markup"],style:{color:"#808080"}},{types:["function"],style:{color:"rgb(220, 220, 170)"}},{types:["class-name"],style:{color:"rgb(78, 201, 176)"}},{types:["char"],style:{color:"rgb(209, 105, 105)"}}]},H={plain:{color:"#000000",backgroundColor:"#ffffff"},styles:[{types:["comment"],style:{color:"rgb(0, 128, 0)"}},{types:["builtin"],style:{color:"rgb(0, 112, 193)"}},{types:["number","variable","inserted"],style:{color:"rgb(9, 134, 88)"}},{types:["operator"],style:{color:"rgb(0, 0, 0)"}},{types:["constant","char"],style:{color:"rgb(129, 31, 63)"}},{types:["tag"],style:{color:"rgb(128, 0, 0)"}},{types:["attr-name"],style:{color:"rgb(255, 0, 0)"}},{types:["deleted","string"],style:{color:"rgb(163, 21, 21)"}},{types:["changed","punctuation"],style:{color:"rgb(4, 81, 165)"}},{types:["function","keyword"],style:{color:"rgb(0, 0, 255)"}},{types:["class-name"],style:{color:"rgb(38, 127, 153)"}}]},V={plain:{color:"#f8fafc",backgroundColor:"#011627"},styles:[{types:["prolog"],style:{color:"#000080"}},{types:["comment"],style:{color:"#6A9955"}},{types:["builtin","changed","keyword","interpolation-punctuation"],style:{color:"#569CD6"}},{types:["number","inserted"],style:{color:"#B5CEA8"}},{types:["constant"],style:{color:"#f8fafc"}},{types:["attr-name","variable"],style:{color:"#9CDCFE"}},{types:["deleted","string","attr-value","template-punctuation"],style:{color:"#cbd5e1"}},{types:["selector"],style:{color:"#D7BA7D"}},{types:["tag"],style:{color:"#0ea5e9"}},{types:["tag"],languages:["markup"],style:{color:"#0ea5e9"}},{types:["punctuation","operator"],style:{color:"#D4D4D4"}},{types:["punctuation"],languages:["markup"],style:{color:"#808080"}},{types:["function"],style:{color:"#7dd3fc"}},{types:["class-name"],style:{color:"#0ea5e9"}},{types:["char"],style:{color:"#D16969"}}]},W={plain:{color:"#0f172a",backgroundColor:"#f1f5f9"},styles:[{types:["prolog"],style:{color:"#000080"}},{types:["comment"],style:{color:"#6A9955"}},{types:["builtin","changed","keyword","interpolation-punctuation"],style:{color:"#0c4a6e"}},{types:["number","inserted"],style:{color:"#B5CEA8"}},{types:["constant"],style:{color:"#0f172a"}},{types:["attr-name","variable"],style:{color:"#0c4a6e"}},{types:["deleted","string","attr-value","template-punctuation"],style:{color:"#64748b"}},{types:["selector"],style:{color:"#D7BA7D"}},{types:["tag"],style:{color:"#0ea5e9"}},{types:["tag"],languages:["markup"],style:{color:"#0ea5e9"}},{types:["punctuation","operator"],style:{color:"#475569"}},{types:["punctuation"],languages:["markup"],style:{color:"#808080"}},{types:["function"],style:{color:"#0e7490"}},{types:["class-name"],style:{color:"#0ea5e9"}},{types:["char"],style:{color:"#D16969"}}]},Q={plain:{backgroundColor:"hsl(220, 13%, 18%)",color:"hsl(220, 14%, 71%)",textShadow:"0 1px rgba(0, 0, 0, 0.3)"},styles:[{types:["comment","prolog","cdata"],style:{color:"hsl(220, 10%, 40%)"}},{types:["doctype","punctuation","entity"],style:{color:"hsl(220, 14%, 71%)"}},{types:["attr-name","class-name","maybe-class-name","boolean","constant","number","atrule"],style:{color:"hsl(29, 54%, 61%)"}},{types:["keyword"],style:{color:"hsl(286, 60%, 67%)"}},{types:["property","tag","symbol","deleted","important"],style:{color:"hsl(355, 65%, 65%)"}},{types:["selector","string","char","builtin","inserted","regex","attr-value"],style:{color:"hsl(95, 38%, 62%)"}},{types:["variable","operator","function"],style:{color:"hsl(207, 82%, 66%)"}},{types:["url"],style:{color:"hsl(187, 47%, 55%)"}},{types:["deleted"],style:{textDecorationLine:"line-through"}},{types:["inserted"],style:{textDecorationLine:"underline"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["important"],style:{color:"hsl(220, 14%, 71%)"}}]},q={plain:{backgroundColor:"hsl(230, 1%, 98%)",color:"hsl(230, 8%, 24%)"},styles:[{types:["comment","prolog","cdata"],style:{color:"hsl(230, 4%, 64%)"}},{types:["doctype","punctuation","entity"],style:{color:"hsl(230, 8%, 24%)"}},{types:["attr-name","class-name","boolean","constant","number","atrule"],style:{color:"hsl(35, 99%, 36%)"}},{types:["keyword"],style:{color:"hsl(301, 63%, 40%)"}},{types:["property","tag","symbol","deleted","important"],style:{color:"hsl(5, 74%, 59%)"}},{types:["selector","string","char","builtin","inserted","regex","attr-value","punctuation"],style:{color:"hsl(119, 34%, 47%)"}},{types:["variable","operator","function"],style:{color:"hsl(221, 87%, 60%)"}},{types:["url"],style:{color:"hsl(198, 99%, 37%)"}},{types:["deleted"],style:{textDecorationLine:"line-through"}},{types:["inserted"],style:{textDecorationLine:"underline"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["important"],style:{color:"hsl(230, 8%, 24%)"}}]},G={plain:{color:"#ebdbb2",backgroundColor:"#292828"},styles:[{types:["imports","class-name","maybe-class-name","constant","doctype","builtin","function"],style:{color:"#d8a657"}},{types:["property-access"],style:{color:"#7daea3"}},{types:["tag"],style:{color:"#e78a4e"}},{types:["attr-name","char","url","regex"],style:{color:"#a9b665"}},{types:["attr-value","string"],style:{color:"#89b482"}},{types:["comment","prolog","cdata","operator","inserted"],style:{color:"#a89984"}},{types:["delimiter","boolean","keyword","selector","important","atrule","property","variable","deleted"],style:{color:"#ea6962"}},{types:["entity","number","symbol"],style:{color:"#d3869b"}}]},K={plain:{color:"#654735",backgroundColor:"#f9f5d7"},styles:[{types:["delimiter","boolean","keyword","selector","important","atrule","property","variable","deleted"],style:{color:"#af2528"}},{types:["imports","class-name","maybe-class-name","constant","doctype","builtin"],style:{color:"#b4730e"}},{types:["string","attr-value"],style:{color:"#477a5b"}},{types:["property-access"],style:{color:"#266b79"}},{types:["function","attr-name","char","url"],style:{color:"#72761e"}},{types:["tag"],style:{color:"#b94c07"}},{types:["comment","prolog","cdata","operator","inserted"],style:{color:"#a89984"}},{types:["entity","number","symbol"],style:{color:"#924f79"}}]},Y=/\r\n|\r|\n/,Z=e=>{0===e.length?e.push({types:["plain"],content:"\n",empty:!0}):1===e.length&&""===e[0].content&&(e[0].content="\n",e[0].empty=!0)},X=(e,t)=>{const n=e.length;return n>0&&e[n-1]===t?e:e.concat(t)},J=e=>{const t=[[]],n=[e],r=[0],a=[e.length];let o=0,i=0,s=[];const l=[s];for(;i>-1;){for(;(o=r[i]++)0?u:["plain"],e=c):(u=X(u,c.type),c.alias&&(u=X(u,c.alias)),e=c.content),"string"!=typeof e){i++,t.push(u),n.push(e),r.push(0),a.push(e.length);continue}const d=e.split(Y),f=d.length;s.push({types:u,content:d[0]});for(let t=1;t{const{plain:n}=e,r=e.styles.reduce(((e,n)=>{const{languages:r,style:a}=n;return r&&!r.includes(t)||n.types.forEach((t=>{const n=S(S({},e[t]),a);e[t]=n})),e}),{});return r.root=n,r.plain=E(S({},n),{backgroundColor:void 0}),r},te=({children:e,language:t,code:n,theme:r,prism:a})=>{const o=t.toLowerCase(),i=ee(r,o),s=(e=>(0,c.useCallback)((t=>{var n=t,{className:r,style:a,line:o}=n,i=_(n,["className","style","line"]);const s=E(S({},i),{className:(0,d.A)("token-line",r)});return"object"==typeof e&&"plain"in e&&(s.style=e.plain),"object"==typeof a&&(s.style=S(S({},s.style||{}),a)),s}),[e]))(i),l=(e=>{const t=(0,c.useCallback)((({types:t,empty:n})=>{if(null!=e)return 1===t.length&&"plain"===t[0]?null!=n?{display:"inline-block"}:void 0:1===t.length&&null!=n?e[t[0]]:Object.assign(null!=n?{display:"inline-block"}:{},...t.map((t=>e[t])))}),[e]);return(0,c.useCallback)((e=>{var n=e,{token:r,className:a,style:o}=n,i=_(n,["token","className","style"]);const s=E(S({},i),{className:(0,d.A)("token",...r.types,a),children:r.content,style:t(r)});return null!=o&&(s.style=S(S({},s.style||{}),o)),s}),[t])})(i),u=(({prism:e,code:t,grammar:n,language:r})=>(0,c.useMemo)((()=>{if(null==n)return J([t]);const a={code:t,grammar:n,language:r,tokens:[]};return e.hooks.run("before-tokenize",a),a.tokens=e.tokenize(t,n),e.hooks.run("after-tokenize",a),J(a.tokens)}),[t,n,r,e]))({prism:a,language:o,code:n,grammar:a.languages[o]});return e({tokens:u,className:`prism-code language-${o}`,style:null!=i?i.root:{},getLineProps:s,getTokenProps:l})},ne=e=>(0,c.createElement)(te,E(S({},e),{prism:e.prism||A,theme:e.theme||U,code:e.code,language:e.language}))},8635:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});var r=!0,a="Invariant failed";function o(e,t){if(!e){if(r)throw new Error(a);var n="function"==typeof t?t():t,o=n?"".concat(a,": ").concat(n):a;throw new Error(o)}}},6636:(e,t,n)=>{"use strict";n.r(t),n.d(t,{__addDisposableResource:()=>I,__assign:()=>o,__asyncDelegator:()=>_,__asyncGenerator:()=>E,__asyncValues:()=>C,__await:()=>S,__awaiter:()=>h,__classPrivateFieldGet:()=>L,__classPrivateFieldIn:()=>R,__classPrivateFieldSet:()=>j,__createBinding:()=>m,__decorate:()=>s,__disposeResources:()=>D,__esDecorate:()=>u,__exportStar:()=>y,__extends:()=>a,__generator:()=>g,__importDefault:()=>P,__importStar:()=>N,__makeTemplateObject:()=>A,__metadata:()=>p,__param:()=>l,__propKey:()=>d,__read:()=>v,__rest:()=>i,__rewriteRelativeImportExtension:()=>M,__runInitializers:()=>c,__setFunctionName:()=>f,__spread:()=>w,__spreadArray:()=>x,__spreadArrays:()=>k,__values:()=>b,default:()=>z});var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},r(e,t)};function a(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}var o=function(){return o=Object.assign||function(e){for(var t,n=1,r=arguments.length;n=0;s--)(a=e[s])&&(i=(o<3?a(i):o>3?a(t,n,i):a(t,n))||i);return o>3&&i&&Object.defineProperty(t,n,i),i}function l(e,t){return function(n,r){t(n,r,e)}}function u(e,t,n,r,a,o){function i(e){if(void 0!==e&&"function"!=typeof e)throw new TypeError("Function expected");return e}for(var s,l=r.kind,u="getter"===l?"get":"setter"===l?"set":"value",c=!t&&e?r.static?e:e.prototype:null,d=t||(c?Object.getOwnPropertyDescriptor(c,r.name):{}),f=!1,p=n.length-1;p>=0;p--){var h={};for(var g in r)h[g]="access"===g?{}:r[g];for(var g in r.access)h.access[g]=r.access[g];h.addInitializer=function(e){if(f)throw new TypeError("Cannot add initializers after decoration has completed");o.push(i(e||null))};var m=(0,n[p])("accessor"===l?{get:d.get,set:d.set}:d[u],h);if("accessor"===l){if(void 0===m)continue;if(null===m||"object"!=typeof m)throw new TypeError("Object expected");(s=i(m.get))&&(d.get=s),(s=i(m.set))&&(d.set=s),(s=i(m.init))&&a.unshift(s)}else(s=i(m))&&("field"===l?a.unshift(s):d[u]=s)}c&&Object.defineProperty(c,r.name,d),f=!0}function c(e,t,n){for(var r=arguments.length>2,a=0;a0&&a[a.length-1])||6!==s[0]&&2!==s[0])){o=0;continue}if(3===s[0]&&(!a||s[1]>a[0]&&s[1]=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function v(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,a,o=n.call(e),i=[];try{for(;(void 0===t||t-- >0)&&!(r=o.next()).done;)i.push(r.value)}catch(s){a={error:s}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(a)throw a.error}}return i}function w(){for(var e=[],t=0;t1||s(e,t)}))},t&&(r[e]=t(r[e])))}function s(e,t){try{(n=a[e](t)).value instanceof S?Promise.resolve(n.value.v).then(l,u):c(o[0][2],n)}catch(r){c(o[0][3],r)}var n}function l(e){s("next",e)}function u(e){s("throw",e)}function c(e,t){e(t),o.shift(),o.length&&s(o[0][0],o[0][1])}}function _(e){var t,n;return t={},r("next"),r("throw",(function(e){throw e})),r("return"),t[Symbol.iterator]=function(){return this},t;function r(r,a){t[r]=e[r]?function(t){return(n=!n)?{value:S(e[r](t)),done:!1}:a?a(t):t}:a}}function C(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,n=e[Symbol.asyncIterator];return n?n.call(e):(e=b(e),t={},r("next"),r("throw"),r("return"),t[Symbol.asyncIterator]=function(){return this},t);function r(n){t[n]=e[n]&&function(t){return new Promise((function(r,a){(function(e,t,n,r){Promise.resolve(r).then((function(t){e({value:t,done:n})}),t)})(r,a,(t=e[n](t)).done,t.value)}))}}}function A(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e}var T=Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t},O=function(e){return O=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[t.length]=n);return t},O(e)};function N(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n=O(e),r=0;r{"use strict";e.exports={}},4054:e=>{"use strict";e.exports=JSON.parse('{"/ftl/search-366":{"__comp":"1a4e3797","__context":{"plugin":"138e0e15"}},"/ftl/docs-abb":{"__comp":"5e95c892","__context":{"plugin":"aba21aa0"}},"/ftl/docs-52c":{"__comp":"a7bd4aaa","__props":"2f47396a"},"/ftl/docs-7aa":{"__comp":"a94703ab"},"/ftl/docs/category/getting-started-d27":{"__comp":"14eb3368","__props":"57ac2e6b"},"/ftl/docs/category/reference-43e":{"__comp":"14eb3368","__props":"dd79201d"},"/ftl/docs/getting-started/introduction-f95":{"__comp":"17896441","content":"9ff4038f"},"/ftl/docs/getting-started/quick-start-189":{"__comp":"17896441","content":"588bd741"},"/ftl/docs/intro-aee":{"__comp":"17896441","content":"0e384e19"},"/ftl/docs/reference/cron-4cc":{"__comp":"17896441","content":"d21d7921"},"/ftl/docs/reference/databases-0f6":{"__comp":"17896441","content":"a54e9673"},"/ftl/docs/reference/externaltypes-f69":{"__comp":"17896441","content":"22e43cb6"},"/ftl/docs/reference/ingress-294":{"__comp":"17896441","content":"363ccc1a"},"/ftl/docs/reference/matrix-0bc":{"__comp":"17896441","content":"5ff8397d"},"/ftl/docs/reference/pubsub-8be":{"__comp":"17896441","content":"951cb223"},"/ftl/docs/reference/retries-1df":{"__comp":"17896441","content":"69428829"},"/ftl/docs/reference/secretsconfig-c03":{"__comp":"17896441","content":"b28dcff8"},"/ftl/docs/reference/types-792":{"__comp":"17896441","content":"8d4bacc3"},"/ftl/docs/reference/unittests-2de":{"__comp":"17896441","content":"e56c35e3"},"/ftl/docs/reference/verbs-54c":{"__comp":"17896441","content":"0c429427"},"/ftl/docs/reference/visibility-6a3":{"__comp":"17896441","content":"a73fb9ef"},"/ftl/-0a1":{"__comp":"1df93b7f","__context":{"plugin":"a7456010"},"config":"5e9f5e1a"}}')}},e=>{e.O(0,[869],(()=>{return t=3221,e(e.s=t);var t}));e.O()}]); \ No newline at end of file +/*! For license information please see main.6bbaa20c.js.LICENSE.txt */ +(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[792],{5928:(e,t,n)=>{var r={"./prism-bash":3724,"./prism-hcl":6719,"./prism-java":3966,"./prism-kotlin":7603};function a(e){var t=o(e);return n(t)}function o(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}a.keys=function(){return Object.keys(r)},a.resolve=o,e.exports=a,a.id=5928},6857:(e,t,n)=>{"use strict";n.d(t,{mg:()=>J,vd:()=>W});var r=n(8225),a=n(3108),o=n.n(a),i=n(2700),s=n.n(i),l=n(4009),u=n.n(l),c=n(9141),d=n.n(c);function f(){return f=Object.assign||function(e){for(var t=1;t=0||(a[n]=e[n]);return a}var m={BASE:"base",BODY:"body",HEAD:"head",HTML:"html",LINK:"link",META:"meta",NOSCRIPT:"noscript",SCRIPT:"script",STYLE:"style",TITLE:"title",FRAGMENT:"Symbol(react.fragment)"},y={rel:["amphtml","canonical","alternate"]},b={type:["application/ld+json"]},v={charset:"",name:["robots","description"],property:["og:type","og:title","og:url","og:image","og:image:alt","og:description","twitter:url","twitter:title","twitter:description","twitter:image","twitter:image:alt","twitter:card","twitter:site"]},w=Object.keys(m).map((function(e){return m[e]})),k={accesskey:"accessKey",charset:"charSet",class:"className",contenteditable:"contentEditable",contextmenu:"contextMenu","http-equiv":"httpEquiv",itemprop:"itemProp",tabindex:"tabIndex"},x=Object.keys(k).reduce((function(e,t){return e[k[t]]=t,e}),{}),S=function(e,t){for(var n=e.length-1;n>=0;n-=1){var r=e[n];if(Object.prototype.hasOwnProperty.call(r,t))return r[t]}return null},E=function(e){var t=S(e,m.TITLE),n=S(e,"titleTemplate");if(Array.isArray(t)&&(t=t.join("")),n&&t)return n.replace(/%s/g,(function(){return t}));var r=S(e,"defaultTitle");return t||r||void 0},_=function(e){return S(e,"onChangeClientState")||function(){}},C=function(e,t){return t.filter((function(t){return void 0!==t[e]})).map((function(t){return t[e]})).reduce((function(e,t){return f({},e,t)}),{})},A=function(e,t){return t.filter((function(e){return void 0!==e[m.BASE]})).map((function(e){return e[m.BASE]})).reverse().reduce((function(t,n){if(!t.length)for(var r=Object.keys(n),a=0;a/g,">").replace(/"/g,""").replace(/'/g,"'")},I=function(e){return Object.keys(e).reduce((function(t,n){var r=void 0!==e[n]?n+'="'+e[n]+'"':""+n;return t?t+" "+r:r}),"")},F=function(e,t){return void 0===t&&(t={}),Object.keys(e).reduce((function(t,n){return t[k[n]||n]=e[n],t}),t)},D=function(e,t){return t.map((function(t,n){var a,o=((a={key:n})["data-rh"]=!0,a);return Object.keys(t).forEach((function(e){var n=k[e]||e;"innerHTML"===n||"cssText"===n?o.dangerouslySetInnerHTML={__html:t.innerHTML||t.cssText}:o[n]=t[e]})),r.createElement(e,o)}))},M=function(e,t,n){switch(e){case m.TITLE:return{toComponent:function(){return n=t.titleAttributes,(a={key:e=t.title})["data-rh"]=!0,o=F(n,a),[r.createElement(m.TITLE,o,e)];var e,n,a,o},toString:function(){return function(e,t,n,r){var a=I(n),o=N(t);return a?"<"+e+' data-rh="true" '+a+">"+R(o,r)+"":"<"+e+' data-rh="true">'+R(o,r)+""}(e,t.title,t.titleAttributes,n)}};case"bodyAttributes":case"htmlAttributes":return{toComponent:function(){return F(t)},toString:function(){return I(t)}};default:return{toComponent:function(){return D(e,t)},toString:function(){return function(e,t,n){return t.reduce((function(t,r){var a=Object.keys(r).filter((function(e){return!("innerHTML"===e||"cssText"===e)})).reduce((function(e,t){var a=void 0===r[t]?t:t+'="'+R(r[t],n)+'"';return e?e+" "+a:a}),""),o=r.innerHTML||r.cssText||"",i=-1===j.indexOf(e);return t+"<"+e+' data-rh="true" '+a+(i?"/>":">"+o+"")}),"")}(e,t,n)}}}},z=function(e){var t=e.baseTag,n=e.bodyAttributes,r=e.encode,a=e.htmlAttributes,o=e.noscriptTags,i=e.styleTags,s=e.title,l=void 0===s?"":s,u=e.titleAttributes,c=e.linkTags,d=e.metaTags,f=e.scriptTags,p={toComponent:function(){},toString:function(){return""}};if(e.prioritizeSeoTags){var h=function(e){var t=e.linkTags,n=e.scriptTags,r=e.encode,a=P(e.metaTags,v),o=P(t,y),i=P(n,b);return{priorityMethods:{toComponent:function(){return[].concat(D(m.META,a.priority),D(m.LINK,o.priority),D(m.SCRIPT,i.priority))},toString:function(){return M(m.META,a.priority,r)+" "+M(m.LINK,o.priority,r)+" "+M(m.SCRIPT,i.priority,r)}},metaTags:a.default,linkTags:o.default,scriptTags:i.default}}(e);p=h.priorityMethods,c=h.linkTags,d=h.metaTags,f=h.scriptTags}return{priority:p,base:M(m.BASE,t,r),bodyAttributes:M("bodyAttributes",n,r),htmlAttributes:M("htmlAttributes",a,r),link:M(m.LINK,c,r),meta:M(m.META,d,r),noscript:M(m.NOSCRIPT,o,r),script:M(m.SCRIPT,f,r),style:M(m.STYLE,i,r),title:M(m.TITLE,{title:l,titleAttributes:u},r)}},$=[],B=function(e,t){var n=this;void 0===t&&(t="undefined"!=typeof document),this.instances=[],this.value={setHelmet:function(e){n.context.helmet=e},helmetInstances:{get:function(){return n.canUseDOM?$:n.instances},add:function(e){(n.canUseDOM?$:n.instances).push(e)},remove:function(e){var t=(n.canUseDOM?$:n.instances).indexOf(e);(n.canUseDOM?$:n.instances).splice(t,1)}}},this.context=e,this.canUseDOM=t,t||(e.helmet=z({baseTag:[],bodyAttributes:{},encodeSpecialCharacters:!0,htmlAttributes:{},linkTags:[],metaTags:[],noscriptTags:[],scriptTags:[],styleTags:[],title:"",titleAttributes:{}}))},U=r.createContext({}),H=o().shape({setHelmet:o().func,helmetInstances:o().shape({get:o().func,add:o().func,remove:o().func})}),V="undefined"!=typeof document,W=function(e){function t(n){var r;return(r=e.call(this,n)||this).helmetData=new B(r.props.context,t.canUseDOM),r}return p(t,e),t.prototype.render=function(){return r.createElement(U.Provider,{value:this.helmetData.value},this.props.children)},t}(r.Component);W.canUseDOM=V,W.propTypes={context:o().shape({helmet:o().shape()}),children:o().node.isRequired},W.defaultProps={context:{}},W.displayName="HelmetProvider";var Q=function(e,t){var n,r=document.head||document.querySelector(m.HEAD),a=r.querySelectorAll(e+"[data-rh]"),o=[].slice.call(a),i=[];return t&&t.length&&t.forEach((function(t){var r=document.createElement(e);for(var a in t)Object.prototype.hasOwnProperty.call(t,a)&&("innerHTML"===a?r.innerHTML=t.innerHTML:"cssText"===a?r.styleSheet?r.styleSheet.cssText=t.cssText:r.appendChild(document.createTextNode(t.cssText)):r.setAttribute(a,void 0===t[a]?"":t[a]));r.setAttribute("data-rh","true"),o.some((function(e,t){return n=t,r.isEqualNode(e)}))?o.splice(n,1):i.push(r)})),o.forEach((function(e){return e.parentNode.removeChild(e)})),i.forEach((function(e){return r.appendChild(e)})),{oldTags:o,newTags:i}},q=function(e,t){var n=document.getElementsByTagName(e)[0];if(n){for(var r=n.getAttribute("data-rh"),a=r?r.split(","):[],o=[].concat(a),i=Object.keys(t),s=0;s=0;d-=1)n.removeAttribute(o[d]);a.length===o.length?n.removeAttribute("data-rh"):n.getAttribute("data-rh")!==i.join(",")&&n.setAttribute("data-rh",i.join(","))}},G=function(e,t){var n=e.baseTag,r=e.htmlAttributes,a=e.linkTags,o=e.metaTags,i=e.noscriptTags,s=e.onChangeClientState,l=e.scriptTags,u=e.styleTags,c=e.title,d=e.titleAttributes;q(m.BODY,e.bodyAttributes),q(m.HTML,r),function(e,t){void 0!==e&&document.title!==e&&(document.title=N(e)),q(m.TITLE,t)}(c,d);var f={baseTag:Q(m.BASE,n),linkTags:Q(m.LINK,a),metaTags:Q(m.META,o),noscriptTags:Q(m.NOSCRIPT,i),scriptTags:Q(m.SCRIPT,l),styleTags:Q(m.STYLE,u)},p={},h={};Object.keys(f).forEach((function(e){var t=f[e],n=t.newTags,r=t.oldTags;n.length&&(p[e]=n),r.length&&(h[e]=f[e].oldTags)})),t&&t(),s(e,p,h)},K=null,Y=function(e){function t(){for(var t,n=arguments.length,r=new Array(n),a=0;a elements are self-closing and can not contain children. Refer to our API for more information.")}},n.flattenArrayTypeChildren=function(e){var t,n=e.child,r=e.arrayTypeChildren;return f({},r,((t={})[n.type]=[].concat(r[n.type]||[],[f({},e.newChildProps,this.mapNestedChildrenToProps(n,e.nestedChildren))]),t))},n.mapObjectTypeChildren=function(e){var t,n,r=e.child,a=e.newProps,o=e.newChildProps,i=e.nestedChildren;switch(r.type){case m.TITLE:return f({},a,((t={})[r.type]=i,t.titleAttributes=f({},o),t));case m.BODY:return f({},a,{bodyAttributes:f({},o)});case m.HTML:return f({},a,{htmlAttributes:f({},o)});default:return f({},a,((n={})[r.type]=f({},o),n))}},n.mapArrayTypeChildrenToProps=function(e,t){var n=f({},t);return Object.keys(e).forEach((function(t){var r;n=f({},n,((r={})[t]=e[t],r))})),n},n.warnOnInvalidChildren=function(e,t){return u()(w.some((function(t){return e.type===t})),"function"==typeof e.type?"You may be attempting to nest components within each other, which is not allowed. Refer to our API for more information.":"Only elements types "+w.join(", ")+" are allowed. Helmet does not support rendering <"+e.type+"> elements. Refer to our API for more information."),u()(!t||"string"==typeof t||Array.isArray(t)&&!t.some((function(e){return"string"!=typeof e})),"Helmet expects a string as a child of <"+e.type+">. Did you forget to wrap your children in braces? ( <"+e.type+">{``} ) Refer to our API for more information."),!0},n.mapChildrenToProps=function(e,t){var n=this,a={};return r.Children.forEach(e,(function(e){if(e&&e.props){var r=e.props,o=r.children,i=g(r,Z),s=Object.keys(i).reduce((function(e,t){return e[x[t]||t]=i[t],e}),{}),l=e.type;switch("symbol"==typeof l?l=l.toString():n.warnOnInvalidChildren(e,o),l){case m.FRAGMENT:t=n.mapChildrenToProps(o,t);break;case m.LINK:case m.META:case m.NOSCRIPT:case m.SCRIPT:case m.STYLE:a=n.flattenArrayTypeChildren({child:e,arrayTypeChildren:a,newChildProps:s,nestedChildren:o});break;default:t=n.mapObjectTypeChildren({child:e,newProps:t,newChildProps:s,nestedChildren:o})}}})),this.mapArrayTypeChildrenToProps(a,t)},n.render=function(){var e=this.props,t=e.children,n=g(e,X),a=f({},n),o=n.helmetData;return t&&(a=this.mapChildrenToProps(t,a)),!o||o instanceof B||(o=new B(o.context,o.instances)),o?r.createElement(Y,f({},a,{context:o.value,helmetData:void 0})):r.createElement(U.Consumer,null,(function(e){return r.createElement(Y,f({},a,{context:e}))}))},t}(r.Component);J.propTypes={base:o().object,bodyAttributes:o().object,children:o().oneOfType([o().arrayOf(o().node),o().node]),defaultTitle:o().string,defer:o().bool,encodeSpecialCharacters:o().bool,htmlAttributes:o().object,link:o().arrayOf(o().object),meta:o().arrayOf(o().object),noscript:o().arrayOf(o().object),onChangeClientState:o().func,script:o().arrayOf(o().object),style:o().arrayOf(o().object),title:o().string,titleAttributes:o().object,titleTemplate:o().string,prioritizeSeoTags:o().bool,helmetData:o().object},J.defaultProps={defer:!0,encodeSpecialCharacters:!0,prioritizeSeoTags:!1},J.displayName="Helmet"},9264:(e,t,n)=>{"use strict";n.d(t,{A:()=>f});n(8225);var r=n(8516),a=n.n(r),o=n(4054);const i={"0c429427":[()=>Promise.all([n.e(869),n.e(828)]).then(n.bind(n,7417)),"@site/docs/reference/verbs.md",7417],"0e384e19":[()=>n.e(976).then(n.bind(n,1527)),"@site/docs/intro.md",1527],"138e0e15":[()=>n.e(921).then(n.t.bind(n,1597,19)),"@generated/@easyops-cn/docusaurus-search-local/default/__plugin.json",1597],"14eb3368":[()=>Promise.all([n.e(869),n.e(969)]).then(n.bind(n,671)),"@theme/DocCategoryGeneratedIndexPage",671],17896441:[()=>Promise.all([n.e(869),n.e(401)]).then(n.bind(n,5308)),"@theme/DocItem",5308],"1a4e3797":[()=>Promise.all([n.e(869),n.e(138)]).then(n.bind(n,1600)),"@theme/SearchPage",1600],"1df93b7f":[()=>Promise.all([n.e(869),n.e(583)]).then(n.bind(n,9602)),"@site/src/pages/index.tsx",9602],"22e43cb6":[()=>Promise.all([n.e(869),n.e(278)]).then(n.bind(n,2377)),"@site/docs/reference/externaltypes.md",2377],"2f47396a":[()=>n.e(715).then(n.t.bind(n,7658,19)),"@generated/docusaurus-plugin-content-docs/default/p/ftl-docs-3d7.json",7658],"363ccc1a":[()=>Promise.all([n.e(869),n.e(954)]).then(n.bind(n,670)),"@site/docs/reference/ingress.md",670],"57ac2e6b":[()=>n.e(336).then(n.t.bind(n,9830,19)),"@generated/docusaurus-plugin-content-docs/default/p/ftl-docs-category-getting-started-909.json",9830],"588bd741":[()=>Promise.all([n.e(869),n.e(324)]).then(n.bind(n,9535)),"@site/docs/getting-started/quick-start.md",9535],"5e95c892":[()=>n.e(647).then(n.bind(n,1166)),"@theme/DocsRoot",1166],"5e9f5e1a":[()=>Promise.resolve().then(n.bind(n,4784)),"@generated/docusaurus.config",4784],"5ff8397d":[()=>n.e(501).then(n.bind(n,1656)),"@site/docs/reference/matrix.md",1656],69428829:[()=>Promise.all([n.e(869),n.e(57)]).then(n.bind(n,718)),"@site/docs/reference/retries.md",718],"8d4bacc3":[()=>Promise.all([n.e(869),n.e(523)]).then(n.bind(n,5443)),"@site/docs/reference/types.md",5443],"951cb223":[()=>Promise.all([n.e(869),n.e(788)]).then(n.bind(n,232)),"@site/docs/reference/pubsub.md",232],"9ff4038f":[()=>n.e(289).then(n.bind(n,7817)),"@site/docs/getting-started/introduction.md",7817],a54e9673:[()=>Promise.all([n.e(869),n.e(963)]).then(n.bind(n,4262)),"@site/docs/reference/databases.md",4262],a73fb9ef:[()=>Promise.all([n.e(869),n.e(678)]).then(n.bind(n,3908)),"@site/docs/reference/visibility.md",3908],a7456010:[()=>n.e(235).then(n.t.bind(n,8552,19)),"@generated/docusaurus-plugin-content-pages/default/__plugin.json",8552],a7bd4aaa:[()=>n.e(98).then(n.bind(n,6251)),"@theme/DocVersionRoot",6251],a94703ab:[()=>Promise.all([n.e(869),n.e(48)]).then(n.bind(n,5385)),"@theme/DocRoot",5385],aba21aa0:[()=>n.e(742).then(n.t.bind(n,7093,19)),"@generated/docusaurus-plugin-content-docs/default/__plugin.json",7093],b28dcff8:[()=>Promise.all([n.e(869),n.e(717)]).then(n.bind(n,6859)),"@site/docs/reference/secretsconfig.md",6859],d21d7921:[()=>Promise.all([n.e(869),n.e(85)]).then(n.bind(n,7501)),"@site/docs/reference/cron.md",7501],dd79201d:[()=>n.e(6).then(n.t.bind(n,8470,19)),"@generated/docusaurus-plugin-content-docs/default/p/ftl-docs-category-reference-eb8.json",8470],e56c35e3:[()=>n.e(744).then(n.bind(n,1223)),"@site/docs/reference/unittests.md",1223]};var s=n(7557);function l(e){let{error:t,retry:n,pastDelay:r}=e;return t?(0,s.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,s.jsx)("p",{children:String(t)}),(0,s.jsx)("div",{children:(0,s.jsx)("button",{type:"button",onClick:n,children:"Retry"})})]}):r?(0,s.jsx)("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",height:"100vh"},children:(0,s.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,s.jsxs)("g",{fill:"none",fillRule:"evenodd",transform:"translate(1 1)",strokeWidth:"2",children:[(0,s.jsxs)("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0",children:[(0,s.jsx)("animate",{attributeName:"r",begin:"1.5s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),(0,s.jsx)("animate",{attributeName:"stroke-opacity",begin:"1.5s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),(0,s.jsx)("animate",{attributeName:"stroke-width",begin:"1.5s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})]}),(0,s.jsxs)("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0",children:[(0,s.jsx)("animate",{attributeName:"r",begin:"3s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),(0,s.jsx)("animate",{attributeName:"stroke-opacity",begin:"3s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),(0,s.jsx)("animate",{attributeName:"stroke-width",begin:"3s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})]}),(0,s.jsx)("circle",{cx:"22",cy:"22",r:"8",children:(0,s.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(5402),c=n(3153);function d(e,t){if("*"===e)return a()({loading:l,loader:()=>n.e(566).then(n.bind(n,1566)),modules:["@theme/NotFound"],webpack:()=>[1566],render(e,t){const n=e.default;return(0,s.jsx)(c.W,{value:{plugin:{name:"native",id:"default"}},children:(0,s.jsx)(n,{...t})})}});const r=o[`${e}-${t}`],d={},f=[],p=[],h=(0,u.A)(r);return Object.entries(h).forEach((e=>{let[t,n]=e;const r=i[n];r&&(d[t]=r[0],f.push(r[1]),p.push(r[2]))})),a().Map({loading:l,loader:d,modules:f,webpack:()=>p,render(t,n){const a=JSON.parse(JSON.stringify(r));Object.entries(t).forEach((t=>{let[n,r]=t;const o=r.default;if(!o)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 o&&"function"!=typeof o||Object.keys(r).filter((e=>"default"!==e)).forEach((e=>{o[e]=r[e]}));let i=a;const s=n.split(".");s.slice(0,-1).forEach((e=>{i=i[e]})),i[s[s.length-1]]=o}));const o=a.__comp;delete a.__comp;const i=a.__context;delete a.__context;const l=a.__props;return delete a.__props,(0,s.jsx)(c.W,{value:i,children:(0,s.jsx)(o,{...a,...l,...n})})}})}const f=[{path:"/ftl/search",component:d("/ftl/search","366"),exact:!0},{path:"/ftl/docs",component:d("/ftl/docs","abb"),routes:[{path:"/ftl/docs",component:d("/ftl/docs","52c"),routes:[{path:"/ftl/docs",component:d("/ftl/docs","7aa"),routes:[{path:"/ftl/docs/category/getting-started",component:d("/ftl/docs/category/getting-started","d27"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ftl/docs/category/reference",component:d("/ftl/docs/category/reference","43e"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ftl/docs/getting-started/introduction",component:d("/ftl/docs/getting-started/introduction","f95"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ftl/docs/getting-started/quick-start",component:d("/ftl/docs/getting-started/quick-start","189"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ftl/docs/intro",component:d("/ftl/docs/intro","aee"),exact:!0},{path:"/ftl/docs/reference/cron",component:d("/ftl/docs/reference/cron","4cc"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ftl/docs/reference/databases",component:d("/ftl/docs/reference/databases","0f6"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ftl/docs/reference/externaltypes",component:d("/ftl/docs/reference/externaltypes","f69"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ftl/docs/reference/ingress",component:d("/ftl/docs/reference/ingress","294"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ftl/docs/reference/matrix",component:d("/ftl/docs/reference/matrix","0bc"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ftl/docs/reference/pubsub",component:d("/ftl/docs/reference/pubsub","8be"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ftl/docs/reference/retries",component:d("/ftl/docs/reference/retries","1df"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ftl/docs/reference/secretsconfig",component:d("/ftl/docs/reference/secretsconfig","c03"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ftl/docs/reference/types",component:d("/ftl/docs/reference/types","792"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ftl/docs/reference/unittests",component:d("/ftl/docs/reference/unittests","2de"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ftl/docs/reference/verbs",component:d("/ftl/docs/reference/verbs","54c"),exact:!0,sidebar:"tutorialSidebar"},{path:"/ftl/docs/reference/visibility",component:d("/ftl/docs/reference/visibility","6a3"),exact:!0,sidebar:"tutorialSidebar"}]}]}]},{path:"/ftl/",component:d("/ftl/","0a1"),exact:!0},{path:"*",component:d("*")}]},8558:(e,t,n)=>{"use strict";n.d(t,{o:()=>o,x:()=>i});var r=n(8225),a=n(7557);const o=r.createContext(!1);function i(e){let{children:t}=e;const[n,i]=(0,r.useState)(!1);return(0,r.useEffect)((()=>{i(!0)}),[]),(0,a.jsx)(o.Provider,{value:n,children:t})}},3221:(e,t,n)=>{"use strict";var r=n(8225),a=n(1558),o=n(6857),i=n(737),s=n(4784),l=n(8286);const u=[n(4970),n(7539),n(8159),n(9860)];var c=n(9264),d=n(1654),f=n(4969),p=n(7557);function h(e){let{children:t}=e;return(0,p.jsx)(p.Fragment,{children:t})}var g=n(6455),m=n(8509),y=n(8614),b=n(8380),v=n(4840),w=n(5225),k=n(3865);var x=n(4481),S=n(928);function E(){const{i18n:{currentLocale:e,defaultLocale:t,localeConfigs:n}}=(0,m.A)(),r=(0,w.o)(),a=n[e].htmlLang,o=e=>e.replace("-","_");return(0,p.jsxs)(g.A,{children:[Object.entries(n).map((e=>{let[t,{htmlLang:n}]=e;return(0,p.jsx)("link",{rel:"alternate",href:r.createUrl({locale:t,fullyQualified:!0}),hrefLang:n},t)})),(0,p.jsx)("link",{rel:"alternate",href:r.createUrl({locale:t,fullyQualified:!0}),hrefLang:"x-default"}),(0,p.jsx)("meta",{property:"og:locale",content:o(a)}),Object.values(n).filter((e=>a!==e.htmlLang)).map((e=>(0,p.jsx)("meta",{property:"og:locale:alternate",content:o(e.htmlLang)},`meta-og-${e.htmlLang}`)))]})}function _(e){let{permalink:t}=e;const{siteConfig:{url:n}}=(0,m.A)(),r=function(){const{siteConfig:{url:e,baseUrl:t,trailingSlash:n}}=(0,m.A)(),{pathname:r}=(0,d.zy)();return e+(0,x.Ks)((0,y.Ay)(r),{trailingSlash:n,baseUrl:t})}(),a=t?`${n}${t}`:r;return(0,p.jsxs)(g.A,{children:[(0,p.jsx)("meta",{property:"og:url",content:a}),(0,p.jsx)("link",{rel:"canonical",href:a})]})}function C(){const{i18n:{currentLocale:e}}=(0,m.A)(),{metadata:t,image:n}=(0,b.p)();return(0,p.jsxs)(p.Fragment,{children:[(0,p.jsxs)(g.A,{children:[(0,p.jsx)("meta",{name:"twitter:card",content:"summary_large_image"}),(0,p.jsx)("body",{className:k.w})]}),n&&(0,p.jsx)(v.be,{image:n}),(0,p.jsx)(_,{}),(0,p.jsx)(E,{}),(0,p.jsx)(S.A,{tag:"default",locale:e}),(0,p.jsx)(g.A,{children:t.map(((e,t)=>(0,p.jsx)("meta",{...e},t)))})]})}const A=new Map;var T=n(8558),O=n(5036),N=n(932);function P(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()=>a.forEach((e=>e?.()))}const L=function(e){let{children:t,location:n,previousLocation:r}=e;return(0,N.A)((()=>{r!==n&&(!function(e){let{location:t,previousLocation:n}=e;if(!n)return;const r=t.pathname===n.pathname,a=t.hash===n.hash,o=t.search===n.search;if(r&&a&&!o)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}),P("onRouteDidUpdate",{previousLocation:r,location:n}))}),[r,n]),t};function j(e){const t=Array.from(new Set([e,decodeURI(e)])).map((e=>(0,f.u)(c.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?P("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=P("onRouteUpdate",{previousLocation:this.previousLocation,location:n}),j(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,p.jsx)(L,{previousLocation:this.previousLocation,location:t,children:(0,p.jsx)(d.qh,{location:t,render:()=>e})})}}const I=R,F="__docusaurus-base-url-issue-banner-suggestion-container";function D(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 = '__docusaurus-base-url-issue-banner-container';\n var bannerHtml = ${JSON.stringify(function(e){return`\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
\n`}(e)).replace(/{let{route:t}=e;return!0===t.exact})))return A.set(e.pathname,e.pathname),e;const t=e.pathname.trim().replace(/(?:\/index)?\.html$/,"")||"/";return A.set(e.pathname,t),{...e,pathname:t}}((0,d.zy)());return(0,p.jsx)(I,{location:e,children:V})}function Q(){return(0,p.jsx)(B.A,{children:(0,p.jsx)(O.l,{children:(0,p.jsxs)(T.x,{children:[(0,p.jsxs)(h,{children:[(0,p.jsx)($,{}),(0,p.jsx)(C,{}),(0,p.jsx)(z,{}),(0,p.jsx)(W,{})]}),(0,p.jsx)(H,{})]})})})}var q=n(4054);const G=function(e){try{return document.createElement("link").relList.supports(e)}catch{return!1}}("prefetch")?function(e){return new Promise(((t,n)=>{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 a=document.getElementsByTagName("head")[0]??document.getElementsByName("script")[0]?.parentNode;a?.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 K=n(5402);const Y=new Set,Z=new Set,X=()=>navigator.connection?.effectiveType.includes("2g")||navigator.connection?.saveData,J={prefetch:e=>{if(!(e=>!X()&&!Z.has(e)&&!Y.has(e))(e))return!1;Y.add(e);const t=(0,f.u)(c.A,e).flatMap((e=>{return t=e.route.path,Object.entries(q).filter((e=>{let[n]=e;return n.replace(/-[^-]+$/,"")===t})).flatMap((e=>{let[,t]=e;return Object.values((0,K.A)(t))}));var t}));return Promise.all(t.map((e=>{const t=n.gca(e);return t&&!t.includes("undefined")?G(t).catch((()=>{})):Promise.resolve()})))},preload:e=>!!(e=>!X()&&!Z.has(e))(e)&&(Z.add(e),j(e))},ee=Object.freeze(J);function te(e){let{children:t}=e;return"hash"===s.default.future.experimental_router?(0,p.jsx)(i.I9,{children:t}):(0,p.jsx)(i.Kd,{children:t})}const ne=Boolean(!0);if(l.A.canUseDOM){window.docusaurus=ee;const e=document.getElementById("__docusaurus"),t=(0,p.jsx)(o.vd,{children:(0,p.jsx)(te,{children:(0,p.jsx)(Q,{})})}),n=(e,t)=>{console.error("Docusaurus React Root onRecoverableError:",e,t)},i=()=>{if(window.docusaurusRoot)window.docusaurusRoot.render(t);else if(ne)window.docusaurusRoot=a.hydrateRoot(e,t,{onRecoverableError:n});else{const r=a.createRoot(e,{onRecoverableError:n});r.render(t),window.docusaurusRoot=r}};j(window.location.pathname).then((()=>{(0,r.startTransition)(i)}))}},5036:(e,t,n)=>{"use strict";n.d(t,{o:()=>d,l:()=>f});var r=n(8225),a=n(4784);const o=JSON.parse('{"docusaurus-plugin-content-docs":{"default":{"path":"/ftl/docs","versions":[{"name":"current","label":"Next","isLast":true,"path":"/ftl/docs","mainDocId":"getting-started/introduction","docs":[{"id":"getting-started/introduction","path":"/ftl/docs/getting-started/introduction","sidebar":"tutorialSidebar"},{"id":"getting-started/quick-start","path":"/ftl/docs/getting-started/quick-start","sidebar":"tutorialSidebar"},{"id":"intro","path":"/ftl/docs/intro"},{"id":"reference/cron","path":"/ftl/docs/reference/cron","sidebar":"tutorialSidebar"},{"id":"reference/databases","path":"/ftl/docs/reference/databases","sidebar":"tutorialSidebar"},{"id":"reference/externaltypes","path":"/ftl/docs/reference/externaltypes","sidebar":"tutorialSidebar"},{"id":"reference/ingress","path":"/ftl/docs/reference/ingress","sidebar":"tutorialSidebar"},{"id":"reference/matrix","path":"/ftl/docs/reference/matrix","sidebar":"tutorialSidebar"},{"id":"reference/pubsub","path":"/ftl/docs/reference/pubsub","sidebar":"tutorialSidebar"},{"id":"reference/retries","path":"/ftl/docs/reference/retries","sidebar":"tutorialSidebar"},{"id":"reference/secretsconfig","path":"/ftl/docs/reference/secretsconfig","sidebar":"tutorialSidebar"},{"id":"reference/types","path":"/ftl/docs/reference/types","sidebar":"tutorialSidebar"},{"id":"reference/unittests","path":"/ftl/docs/reference/unittests","sidebar":"tutorialSidebar"},{"id":"reference/verbs","path":"/ftl/docs/reference/verbs","sidebar":"tutorialSidebar"},{"id":"reference/visibility","path":"/ftl/docs/reference/visibility","sidebar":"tutorialSidebar"},{"id":"/category/getting-started","path":"/ftl/docs/category/getting-started","sidebar":"tutorialSidebar"},{"id":"/category/reference","path":"/ftl/docs/category/reference","sidebar":"tutorialSidebar"}],"draftIds":[],"sidebars":{"tutorialSidebar":{"link":{"path":"/ftl/docs/category/getting-started","label":"Getting Started"}}}}],"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 s=n(2654);const l=JSON.parse('{"docusaurusVersion":"3.7.0","siteVersion":"0.0.0","pluginVersions":{"docusaurus-plugin-content-docs":{"type":"package","name":"@docusaurus/plugin-content-docs","version":"3.7.0"},"docusaurus-plugin-content-pages":{"type":"package","name":"@docusaurus/plugin-content-pages","version":"3.7.0"},"docusaurus-plugin-sitemap":{"type":"package","name":"@docusaurus/plugin-sitemap","version":"3.7.0"},"docusaurus-plugin-svgr":{"type":"package","name":"@docusaurus/plugin-svgr","version":"3.7.0"},"docusaurus-theme-classic":{"type":"package","name":"@docusaurus/theme-classic","version":"3.7.0"},"@easyops-cn/docusaurus-search-local":{"type":"package","name":"@easyops-cn/docusaurus-search-local","version":"0.48.4"}}}');var u=n(7557);const c={siteConfig:a.default,siteMetadata:l,globalData:o,i18n:i,codeTranslations:s},d=r.createContext(c);function f(e){let{children:t}=e;return(0,u.jsx)(d.Provider,{value:c,children:t})}},3424:(e,t,n)=>{"use strict";n.d(t,{A:()=>g});var r=n(8225),a=n(8286),o=n(6455),i=n(4481),s=n(3492),l=n(3153),u=n(7557);function c(e){let{error:t,tryAgain:n}=e;return(0,u.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,u.jsx)("h1",{style:{fontSize:"3rem"},children:"This page crashed"}),(0,u.jsx)("button",{type:"button",onClick:n,style:{margin:"1rem 0",fontSize:"2rem",cursor:"pointer",borderRadius:20,padding:"1rem"},children:"Try again"}),(0,u.jsx)(d,{error:t})]})}function d(e){let{error:t}=e;const n=(0,i.rA)(t).map((e=>e.message)).join("\n\nCause:\n");return(0,u.jsx)("p",{style:{whiteSpace:"pre-wrap"},children:n})}function f(e){let{children:t}=e;return(0,u.jsx)(l.W,{value:{plugin:{name:"docusaurus-core-error-boundary",id:"default"}},children:t})}function p(e){let{error:t,tryAgain:n}=e;return(0,u.jsx)(f,{children:(0,u.jsxs)(g,{fallback:()=>(0,u.jsx)(c,{error:t,tryAgain:n}),children:[(0,u.jsx)(o.A,{children:(0,u.jsx)("title",{children:"Page Error"})}),(0,u.jsx)(s.A,{children:(0,u.jsx)(c,{error:t,tryAgain:n})})]})})}const h=e=>(0,u.jsx)(p,{...e});class g extends r.Component{constructor(e){super(e),this.state={error:null}}componentDidCatch(e){a.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??h)(e)}return e??null}}},8286:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});const r="undefined"!=typeof window&&"document"in window&&"createElement"in window.document,a={canUseDOM:r,canUseEventListeners:r&&("addEventListener"in window||"attachEvent"in window),canUseIntersectionObserver:r&&"IntersectionObserver"in window,canUseViewport:r&&"screen"in window}},6455:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});n(8225);var r=n(6857),a=n(7557);function o(e){return(0,a.jsx)(r.mg,{...e})}},4001:(e,t,n)=>{"use strict";n.d(t,{A:()=>p});var r=n(8225),a=n(737),o=n(4481),i=n(8509),s=n(3415),l=n(8286),u=n(3961),c=n(8614),d=n(7557);function f(e,t){let{isNavLink:n,to:f,href:p,activeClassName:h,isActive:g,"data-noBrokenLinkCheck":m,autoAddBaseUrl:y=!0,...b}=e;const{siteConfig:v}=(0,i.A)(),{trailingSlash:w,baseUrl:k}=v,x=v.future.experimental_router,{withBaseUrl:S}=(0,c.hH)(),E=(0,u.A)(),_=(0,r.useRef)(null);(0,r.useImperativeHandle)(t,(()=>_.current));const C=f||p;const A=(0,s.A)(C),T=C?.replace("pathname://","");let O=void 0!==T?(N=T,y&&(e=>e.startsWith("/"))(N)?S(N):N):void 0;var N;"hash"===x&&O?.startsWith("./")&&(O=O?.slice(1)),O&&A&&(O=(0,o.Ks)(O,{trailingSlash:w,baseUrl:k}));const P=(0,r.useRef)(!1),L=n?a.k2:a.N_,j=l.A.canUseIntersectionObserver,R=(0,r.useRef)(),I=()=>{P.current||null==O||(window.docusaurus.preload(O),P.current=!0)};(0,r.useEffect)((()=>(!j&&A&&l.A.canUseDOM&&null!=O&&window.docusaurus.prefetch(O),()=>{j&&R.current&&R.current.disconnect()})),[R,O,j,A]);const F=O?.startsWith("#")??!1,D=!b.target||"_self"===b.target,M=!O||!A||!D||F&&"hash"!==x;m||!F&&M||E.collectLink(O),b.id&&E.collectAnchor(b.id);const z={};return M?(0,d.jsx)("a",{ref:_,href:O,...C&&!A&&{target:"_blank",rel:"noopener noreferrer"},...b,...z}):(0,d.jsx)(L,{...b,onMouseEnter:I,onTouchStart:I,innerRef:e=>{_.current=e,j&&e&&A&&(R.current=new window.IntersectionObserver((t=>{t.forEach((t=>{e===t.target&&(t.isIntersecting||t.intersectionRatio>0)&&(R.current.unobserve(e),R.current.disconnect(),null!=O&&window.docusaurus.prefetch(O))}))})),R.current.observe(e))},to:O,...n&&{isActive:g,activeClassName:h},...z})}const p=r.forwardRef(f)},7615:(e,t,n)=>{"use strict";n.d(t,{A:()=>u,T:()=>l});var r=n(8225),a=n(7557);function o(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 s(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 l(e,t){let{message:n,id:r}=e;return o(s({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=s({message:t,id:n});return(0,a.jsx)(a.Fragment,{children:o(i,r)})}},1020:(e,t,n)=>{"use strict";n.d(t,{W:()=>r});const r="default"},3415:(e,t,n)=>{"use strict";function r(e){return/^(?:\w*:|\/\/)/.test(e)}function a(e){return void 0!==e&&!r(e)}n.d(t,{A:()=>a,z:()=>r})},8614:(e,t,n)=>{"use strict";n.d(t,{Ay:()=>s,hH:()=>i});var r=n(8225),a=n(8509),o=n(3415);function i(){const{siteConfig:e}=(0,a.A)(),{baseUrl:t,url:n}=e,i=e.future.experimental_router,s=(0,r.useCallback)(((e,r)=>function(e){let{siteUrl:t,baseUrl:n,url:r,options:{forcePrependBaseUrl:a=!1,absolute:i=!1}={},router:s}=e;if(!r||r.startsWith("#")||(0,o.z)(r))return r;if("hash"===s)return r.startsWith("/")?`.${r}`:`./${r}`;if(a)return n+r.replace(/^\//,"");if(r===n.replace(/\/$/,""))return n;const l=r.startsWith(n)?r:n+r.replace(/^\//,"");return i?t+l:l}({siteUrl:n,baseUrl:t,url:e,options:r,router:i})),[n,t,i]);return{withBaseUrl:s}}function s(e,t){void 0===t&&(t={});const{withBaseUrl:n}=i();return n(e,t)}},3961:(e,t,n)=>{"use strict";n.d(t,{A:()=>i});var r=n(8225);n(7557);const a=r.createContext({collectAnchor:()=>{},collectLink:()=>{}}),o=()=>(0,r.useContext)(a);function i(){return o()}},8509:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});var r=n(8225),a=n(5036);function o(){return(0,r.useContext)(a.o)}},224:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});var r=n(8225),a=n(8558);function o(){return(0,r.useContext)(a.o)}},932:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});var r=n(8225);const a=n(8286).A.canUseDOM?r.useLayoutEffect:r.useEffect},5402:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});const r=e=>"object"==typeof e&&!!e&&Object.keys(e).length>0;function a(e){const t={};return function e(n,a){Object.entries(n).forEach((n=>{let[o,i]=n;const s=a?`${a}.${o}`:o;r(i)?e(i,s):t[s]=i}))}(e),t}},3153:(e,t,n)=>{"use strict";n.d(t,{W:()=>i,o:()=>o});var r=n(8225),a=n(7557);const o=r.createContext(null);function i(e){let{children:t,value:n}=e;const i=r.useContext(o),s=(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,a.jsx)(o.Provider,{value:s,children:t})}},6219:(e,t,n)=>{"use strict";n.d(t,{VQ:()=>m,XK:()=>v,g1:()=>b});var r=n(8225),a=n(162),o=n(1020),i=n(8380),s=n(7931),l=n(5238),u=n(7557);const c=e=>`docs-preferred-version-${e}`,d={save:(e,t,n)=>{(0,s.Wf)(c(e),{persistence:t}).set(n)},read:(e,t)=>(0,s.Wf)(c(e),{persistence:t}).get(),clear:(e,t)=>{(0,s.Wf)(c(e),{persistence:t}).del()}},f=e=>Object.fromEntries(e.map((e=>[e,{preferredVersionName:null}])));const p=r.createContext(null);function h(){const e=(0,a.Gy)(),t=(0,i.p)().docs.versionPersistence,n=(0,r.useMemo)((()=>Object.keys(e)),[e]),[o,s]=(0,r.useState)((()=>f(n)));(0,r.useEffect)((()=>{s(function(e){let{pluginIds:t,versionPersistence:n,allDocsData:r}=e;function a(e){const t=d.read(e,n);return r[e].versions.some((e=>e.name===t))?{preferredVersionName:t}:(d.clear(e,n),{preferredVersionName:null})}return Object.fromEntries(t.map((e=>[e,a(e)])))}({allDocsData:e,versionPersistence:t,pluginIds:n}))}),[e,t,n]);return[o,(0,r.useMemo)((()=>({savePreferredVersion:function(e,n){d.save(e,t,n),s((t=>({...t,[e]:{preferredVersionName:n}})))}})),[t])]}function g(e){let{children:t}=e;const n=h();return(0,u.jsx)(p.Provider,{value:n,children:t})}function m(e){let{children:t}=e;return(0,u.jsx)(g,{children:t})}function y(){const e=(0,r.useContext)(p);if(!e)throw new l.dV("DocsPreferredVersionContextProvider");return e}function b(e){void 0===e&&(e=o.W);const t=(0,a.ht)(e),[n,i]=y(),{preferredVersionName:s}=n[e];return{preferredVersion:t.versions.find((e=>e.name===s))??null,savePreferredVersionName:(0,r.useCallback)((t=>{i.savePreferredVersion(e,t)}),[i,e])}}function v(){const e=(0,a.Gy)(),[t]=y();function n(n){const r=e[n],{preferredVersionName:a}=t[n];return r.versions.find((e=>e.name===a))??null}const r=Object.keys(e);return Object.fromEntries(r.map((e=>[e,n(e)])))}},4016:(e,t,n)=>{"use strict";n.d(t,{k:()=>o,v:()=>i});var r=n(162),a=n(6219);function o(e,t){return`docs-${e}-${t}`}function i(){const e=(0,r.Gy)(),t=(0,r.gk)(),n=(0,a.XK)();return[...Object.keys(e).map((function(r){const a=t?.activePlugin.pluginId===r?t.activeVersion:void 0,i=n[r],s=e[r].versions.find((e=>e.isLast));return o(r,(a??i??s).name)}))]}},7822:(e,t,n)=>{"use strict";n.d(t,{V:()=>l,t:()=>u});var r=n(8225),a=n(5238),o=n(7557);const i=Symbol("EmptyContext"),s=r.createContext(i);function l(e){let{children:t,name:n,items:a}=e;const i=(0,r.useMemo)((()=>n&&a?{name:n,items:a}:null),[n,a]);return(0,o.jsx)(s.Provider,{value:i,children:t})}function u(){const e=(0,r.useContext)(s);if(e===i)throw new a.dV("DocsSidebarProvider");return e}},5403:(e,t,n)=>{"use strict";n.d(t,{$S:()=>h,B5:()=>_,Nr:()=>p,OF:()=>k,QB:()=>E,Vd:()=>x,Y:()=>v,cC:()=>f,d1:()=>C,fW:()=>S,w8:()=>y});var r=n(8225),a=n(1654),o=n(4969),i=n(162),s=n(3523),l=n(1192),u=n(6219),c=n(782),d=n(7822);function f(e){const t=(0,c.r)();if(!e)return;const n=t.docs[e];if(!n)throw new Error(`no version doc found by id=${e}`);return n}function p(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=p(t);if(e)return e}}(e):void 0:e.href}function h(){const{pathname:e}=(0,a.zy)(),t=(0,d.t)();if(!t)throw new Error("Unexpected: cant find current sidebar in context");const n=w({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 g=(e,t)=>void 0!==e&&(0,s.ys)(e,t),m=(e,t)=>e.some((e=>y(e,t)));function y(e,t){return"link"===e.type?g(e.href,t):"category"===e.type&&(g(e.href,t)||m(e.items,t))}function b(e,t){switch(e.type){case"category":return y(e,t)||void 0!==e.href&&!e.linkUnlisted||e.items.some((e=>b(e,t)));case"link":return!e.unlisted||y(e,t);default:return!0}}function v(e,t){return(0,r.useMemo)((()=>e.filter((e=>b(e,t)))),[e,t])}function w(e){let{sidebarItems:t,pathname:n,onlyCategories:r=!1}=e;const a=[];return function e(t){for(const o of t)if("category"===o.type&&((0,s.ys)(o.href,n)||e(o.items))||"link"===o.type&&(0,s.ys)(o.href,n)){return r&&"category"!==o.type||a.unshift(o),!0}return!1}(t),a}function k(){const e=(0,d.t)(),{pathname:t}=(0,a.zy)(),n=(0,i.vT)()?.pluginData.breadcrumbs;return!1!==n&&e?w({sidebarItems:e.items,pathname:t}):null}function x(e){const{activeVersion:t}=(0,i.zK)(e),{preferredVersion:n}=(0,u.g1)(e),a=(0,i.r7)(e);return(0,r.useMemo)((()=>(0,l.sb)([t,n,a].filter(Boolean))),[t,n,a])}function S(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- ${(0,l.sb)(t.map((e=>e.id))).join("\n- ")}`)}return r}),[e,n])}function _(e){let{route:t}=e;const n=(0,a.zy)(),r=(0,c.r)(),i=t.routes,s=i.find((e=>(0,a.B6)(n.pathname,e)));if(!s)return null;const l=s.sidebar,u=l?r.docsSidebars[l]:void 0;return{docElement:(0,o.v)(i),sidebarName:l,sidebarItems:u}}function C(e){return e.filter((e=>!("category"===e.type||"link"===e.type)||!!p(e)))}},782:(e,t,n)=>{"use strict";n.d(t,{n:()=>s,r:()=>l});var r=n(8225),a=n(5238),o=n(7557);const i=r.createContext(null);function s(e){let{children:t,version:n}=e;return(0,o.jsx)(i.Provider,{value:n,children:t})}function l(){const e=(0,r.useContext)(i);if(null===e)throw new a.dV("DocsVersionProvider");return e}},162:(e,t,n)=>{"use strict";n.d(t,{d1:()=>c.d1,zK:()=>w,vT:()=>m,gk:()=>y,Gy:()=>h,$S:()=>c.$S,HW:()=>k,vF:()=>f.v,ht:()=>g,g1:()=>d.g1,r7:()=>v,jh:()=>b});var r=n(1654),a=n(8509),o=n(1020);function i(e,t){void 0===t&&(t={});const n=function(){const{globalData:e}=(0,a.A)();return e}()[e];if(!n&&t.failfast)throw new Error(`Docusaurus plugin global data not found for "${e}" plugin.`);return n}const s=e=>e.versions.find((e=>e.isLast));function l(e,t){return[...e.versions].sort(((e,t)=>e.path===t.path?0:e.path.includes(t.path)?-1:t.path.includes(e.path)?1:0)).find((e=>!!(0,r.B6)(t,{path:e.path,exact:!1,strict:!1})))}function u(e,t){const n=l(e,t),a=n?.docs.find((e=>!!(0,r.B6)(t,{path:e.path,exact:!0,strict:!1})));return{activeVersion:n,activeDoc:a,alternateDocVersions:a?function(t){const n={};return e.versions.forEach((e=>{e.docs.forEach((r=>{r.id===t&&(n[e.name]=r)}))})),n}(a.id):{}}}var c=n(5403),d=n(6219),f=n(4016);const p={},h=()=>i("docusaurus-plugin-content-docs")??p,g=e=>{try{return function(e,t,n){void 0===t&&(t=o.W),void 0===n&&(n={});const r=i(e),a=r?.[t];if(!a&&n.failfast)throw new Error(`Docusaurus plugin global data not found for "${e}" plugin with id "${t}".`);return a}("docusaurus-plugin-content-docs",e,{failfast:!0})}catch(t){throw new Error("You are using a feature of the Docusaurus docs plugin, but this plugin does not seem to be enabled"+("Default"===e?"":` (pluginId=${e}`),{cause:t})}};function m(e){void 0===e&&(e={});const t=h(),{pathname:n}=(0,r.zy)();return function(e,t,n){void 0===n&&(n={});const a=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})})),o=a?{pluginId:a[0],pluginData:a[1]}:void 0;if(!o&&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 o}(t,n,e)}function y(e){void 0===e&&(e={});const t=m(e),{pathname:n}=(0,r.zy)();if(!t)return;return{activePlugin:t,activeVersion:l(t.pluginData,n)}}function b(e){return g(e).versions}function v(e){const t=g(e);return s(t)}function w(e){const t=g(e),{pathname:n}=(0,r.zy)();return u(t,n)}function k(e){const t=g(e),{pathname:n}=(0,r.zy)();return function(e,t){const n=s(e);return{latestDocSuggestion:u(e,t).alternateDocVersions[n.name],latestVersionSuggestion:n}}(t,n)}},8516:(e,t,n)=>{"use strict";function r(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}function a(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(){return i=Object.assign||function(e){for(var t=1;t{"use strict";n.r(t),n.d(t,{default:()=>o});var r=n(4564),a=n.n(r);a().configure({showSpinner:!1});const o={onRouteUpdate(e){let{location:t,previousLocation:n}=e;if(n&&t.pathname!==n.pathname){const e=window.setTimeout((()=>{a().start()}),200);return()=>window.clearTimeout(e)}},onRouteDidUpdate(){a().done()}}},7539:(e,t,n)=>{"use strict";var r=n(9897),a=n(4784);!function(e){const{themeConfig:{prism:t}}=a.default,{additionalLanguages:r}=t,o=globalThis.Prism;globalThis.Prism=e,r.forEach((e=>{"php"===e&&n(3814),n(5928)(`./prism-${e}`)})),delete globalThis.Prism,void 0!==o&&(globalThis.Prism=e)}(r.My)},4718:(e,t,n)=>{"use strict";n.d(t,{A:()=>c});n(8225);var r=n(3372),a=n(7615),o=n(8380),i=n(4001),s=n(3961);const l={anchorWithStickyNavbar:"anchorWithStickyNavbar_XMB1",anchorWithHideOnScrollNavbar:"anchorWithHideOnScrollNavbar_IcTf"};var u=n(7557);function c(e){let{as:t,id:n,...c}=e;const d=(0,s.A)(),{navbar:{hideOnScroll:f}}=(0,o.p)();if("h1"===t||!n)return(0,u.jsx)(t,{...c,id:void 0});d.collectAnchor(n);const p=(0,a.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?l.anchorWithHideOnScrollNavbar:l.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"})]})}},4670:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});n(8225);const r={iconExternalLink:"iconExternalLink_Li8r"};var a=n(7557);function o(e){let{width:t=13.5,height:n=13.5}=e;return(0,a.jsx)("svg",{width:t,height:n,"aria-hidden":"true",viewBox:"0 0 24 24",className:r.iconExternalLink,children:(0,a.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"})})}},3492:(e,t,n)=>{"use strict";n.d(t,{A:()=>Jt});var r=n(8225),a=n(3372),o=n(3424),i=n(4840),s=n(1654),l=n(7615),u=n(8),c=n(7557);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,s.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 h=(0,l.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??h,{containerRef:n,onClick:r}=p();return(0,c.jsx)("div",{ref:n,role:"region","aria-label":h,children:(0,c.jsx)("a",{...e,href:`#${d}`,onClick:r,children:t})})}var m=n(6381),y=n(3865);const b={skipToContent:"skipToContent_L9As"};function v(){return(0,c.jsx)(g,{className:b.skipToContent})}var w=n(8380),k=n(6459);function x(e){let{width:t=21,height:n=21,color:r="currentColor",strokeWidth:a=1.2,className:o,...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:a,children:(0,c.jsx)("path",{d:"M.75.75l13.5 13.5M14.25.75L.75 14.25"})})})}const S={closeButton:"closeButton_HvHV"};function E(e){return(0,c.jsx)("button",{type:"button","aria-label":(0,l.T)({id:"theme.AnnouncementBar.closeButtonAriaLabel",message:"Close",description:"The ARIA label for close button of announcement bar"}),...e,className:(0,a.A)("clean-btn close",S.closeButton,e.className),children:(0,c.jsx)(x,{width:14,height:14,strokeWidth:3.1})})}const _={content:"content_vlXi"};function C(e){const{announcementBar:t}=(0,w.p)(),{content:n}=t;return(0,c.jsx)("div",{...e,className:(0,a.A)(_.content,e.className),dangerouslySetInnerHTML:{__html:n}})}const A={announcementBar:"announcementBar_XIMd",announcementBarPlaceholder:"announcementBarPlaceholder_thS2",announcementBarClose:"announcementBarClose_Yugn",announcementBarContent:"announcementBarContent_R8lO"};function T(){const{announcementBar:e}=(0,w.p)(),{isActive:t,close:n}=(0,k.M)();if(!t)return null;const{backgroundColor:r,textColor:a,isCloseable:o}=e;return(0,c.jsxs)("div",{className:A.announcementBar,style:{backgroundColor:r,color:a},role:"banner",children:[o&&(0,c.jsx)("div",{className:A.announcementBarPlaceholder}),(0,c.jsx)(C,{className:A.announcementBarContent}),o&&(0,c.jsx)(E,{onClick:n,className:A.announcementBarClose})]})}var O=n(4779),N=n(1910);var P=n(5238),L=n(6070);const j=r.createContext(null);function R(e){let{children:t}=e;const n=function(){const e=(0,O.M)(),t=(0,L.YL)(),[n,a]=(0,r.useState)(!1),o=null!==t.component,i=(0,P.ZC)(o);return(0,r.useEffect)((()=>{o&&!i&&a(!0)}),[o,i]),(0,r.useEffect)((()=>{o?e.shown||a(!0):a(!1)}),[e.shown,o]),(0,r.useMemo)((()=>[n,a]),[n])}();return(0,c.jsx)(j.Provider,{value:n,children:t})}function I(e){if(e.component){const t=e.component;return(0,c.jsx)(t,{...e.props})}}function F(){const e=(0,r.useContext)(j);if(!e)throw new P.dV("NavbarSecondaryMenuDisplayProvider");const[t,n]=e,a=(0,r.useCallback)((()=>n(!1)),[n]),o=(0,L.YL)();return(0,r.useMemo)((()=>({shown:t,hide:a,content:I(o)})),[a,o,t])}function D(e){let{header:t,primaryMenu:n,secondaryMenu:r}=e;const{shown:o}=F();return(0,c.jsxs)("div",{className:"navbar-sidebar",children:[t,(0,c.jsxs)("div",{className:(0,a.A)("navbar-sidebar__items",{"navbar-sidebar__items--show-secondary":o}),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(9875),z=n(224);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:"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 B(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_Px5F",toggleButton:"toggleButton_TpKZ",darkToggleIcon:"darkToggleIcon_AMnI",lightToggleIcon:"lightToggleIcon_vPLI",toggleButtonDisabled:"toggleButtonDisabled_xdLQ"};function H(e){let{className:t,buttonClassName:n,value:r,onChange:o}=e;const i=(0,z.A)(),s=(0,l.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,l.T)({message:"dark mode",id:"theme.colorToggle.ariaLabel.mode.dark",description:"The name for the dark color mode"}):(0,l.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,a.A)(U.toggle,t),children:(0,c.jsxs)("button",{className:(0,a.A)("clean-btn",U.toggleButton,!i&&U.toggleButtonDisabled,n),type:"button",onClick:()=>o("dark"===r?"light":"dark"),disabled:!i,title:s,"aria-label":s,"aria-live":"polite","aria-pressed":"dark"===r?"true":"false",children:[(0,c.jsx)($,{className:(0,a.A)(U.toggleIcon,U.lightToggleIcon)}),(0,c.jsx)(B,{className:(0,a.A)(U.toggleIcon,U.darkToggleIcon)})]})})}const V=r.memo(H),W={darkNavbarColorModeToggle:"darkNavbarColorModeToggle_BrYO"};function Q(e){let{className:t}=e;const n=(0,w.p)().navbar.style,r=(0,w.p)().colorMode.disableSwitch,{colorMode:a,setColorMode:o}=(0,M.G)();return r?null:(0,c.jsx)(V,{className:t,buttonClassName:"dark"===n?W.darkNavbarColorModeToggle:void 0,value:a,onChange:o})}var q=n(538);function G(){return(0,c.jsx)(q.A,{className:"navbar__brand",imageClassName:"navbar__logo",titleClassName:"navbar__title text--truncate"})}function K(){const e=(0,O.M)();return(0,c.jsx)("button",{type:"button","aria-label":(0,l.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)(x,{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)(Q,{className:"margin-right--md"}),(0,c.jsx)(K,{})]})}var Z=n(4001),X=n(8614),J=n(3415);function ee(e,t){return void 0!==e&&void 0!==t&&new RegExp(e,"gi").test(t)}var te=n(4670);function ne(e){let{activeBasePath:t,activeBaseRegex:n,to:r,href:a,label:o,html:i,isDropdownLink:s,prependBaseUrlToHref:l,...u}=e;const d=(0,X.Ay)(r),f=(0,X.Ay)(t),p=(0,X.Ay)(a,{forcePrependBaseUrl:!0}),h=o&&a&&!(0,J.A)(a),g=i?{dangerouslySetInnerHTML:{__html:i}}:{children:(0,c.jsxs)(c.Fragment,{children:[o,h&&(0,c.jsx)(te.A,{...s&&{width:12,height:12}})]})};return a?(0,c.jsx)(Z.A,{href:l?p:a,...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 o=(0,c.jsx)(ne,{className:(0,a.A)(n?"dropdown__link":"navbar__item navbar__link",t),isDropdownLink:n,...r});return n?(0,c.jsx)("li",{children:o}):o}function ae(e){let{className:t,isDropdownItem:n,...r}=e;return(0,c.jsx)("li",{className:"menu__list-item",children:(0,c.jsx)(ne,{className:(0,a.A)("menu__link",t),...r})})}function oe(e){let{mobile:t=!1,position:n,...r}=e;const a=t?ae:re;return(0,c.jsx)(a,{...r,activeClassName:r.activeClassName??(t?"menu__link--active":"navbar__link--active")})}var ie=n(8264),se=n(3523),le=n(8509);const ue="dropdownNavbarItemMobile_FkbD";function ce(e,t){return e.some((e=>function(e,t){return!!(0,se.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:o,onClick:i,...s}=e;const l=(0,r.useRef)(null),[u,d]=(0,r.useState)(!1);return(0,r.useEffect)((()=>{const e=e=>{l.current&&!l.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)}}),[l]),(0,c.jsxs)("div",{ref:l,className:(0,a.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:s.to?void 0:"#",className:(0,a.A)("navbar__link",o),...s,onClick:s.to?void 0:e=>e.preventDefault(),onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),d(!u))},children:s.children??s.label}),(0,c.jsx)("ul",{className:"dropdown__menu",children:t.map(((e,t)=>(0,r.createElement)(dt,{isDropdownItem:!0,activeClassName:"dropdown__link--active",...e,key:t})))})]})}function fe(e){let{items:t,className:n,position:o,onClick:i,...l}=e;const u=function(){const{siteConfig:{baseUrl:e}}=(0,le.A)(),{pathname:t}=(0,s.zy)();return t.replace(e,"/")}(),d=ce(t,u),{collapsed:f,toggleCollapsed:p,setCollapsed:h}=(0,ie.u)({initialState:()=>!d});return(0,r.useEffect)((()=>{d&&h(!d)}),[u,d,h]),(0,c.jsxs)("li",{className:(0,a.A)("menu__list-item",{"menu__list-item--collapsed":f}),children:[(0,c.jsx)(ne,{role:"button",className:(0,a.A)(ue,"menu__link menu__link--sublist menu__link--sublist-caret",n),...l,onClick:e=>{e.preventDefault(),p()},children:l.children??l.label}),(0,c.jsx)(ie.N,{lazy:!0,as:"ul",className:"menu__list",collapsed:f,children:t.map(((e,t)=>(0,r.createElement)(dt,{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 he=n(5225);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 me="iconLanguage_tSSB";var ye=n(9639);var be=n(162),ve=n(2954),we=n(3840),ke=n(7406),xe=n(1601),Se=n(586),Ee=n(5273);const _e="searchBar_jRYF",Ce="dropdownMenu_h0iA",Ae="searchInput_xrh7",Te="searchBarLeft_ScTa",Oe="suggestion_HAAW",Ne="cursor_BzxJ",Pe="hitTree_SmVc",Le="hitIcon_kngl",je="hitPath_kvVE",Re="noResultsIcon_wQX5",Ie="hitFooter_rf7w",Fe="hitWrapper_UO4F",De="hitTitle_wGYQ",Me="hitAction_d9Fi",ze="noResults_GAil",$e="searchBarContainer_XP8P",Be="searchBarLoadingRing_lNXX",Ue="searchClearButton_QIcf",He="searchIndexLoading_YwWA",Ve="searchHintContainer_JMQ5",We="searchHint_aDol",Qe="focused_JnGp",qe="input_bmiS",Ge="hint_HpPh",Ke="suggestions_hod5",Ye="dataset_u0VS",Ze="empty_hDrC";function Xe(e){let{document:t,type:n,page:r,metadata:a,tokens:o,isInterOfTree:i,isLastOfTree:s}=e;const l=n===we.i.Title,u=n===we.i.Keywords,c=l||u,d=n===we.i.Heading,f=[];i?f.push(''):s&&f.push('');const p=f.map((e=>`${e}`)),h=`${c?'':d?'':''}`,g=[`${u?(0,Se.Z)(t.s,o):(0,Ee.C)(t.t,(0,xe.g)(a,"t"),o)}`];if(!i&&!s&&ye.tb){const e=r?r.b?.concat(r.t).concat(t.s&&t.s!==r.t?t.s:[]):t.b;g.push(`${(0,ke.$)(e??[])}`)}else c||g.push(`${(0,Se.Z)(r.t||(t.u.startsWith("/docs/api-reference/")?"API Reference":""),o)}`);const m=``;return[...p,h,``,...g,"",m].join("")}function Je(){return`${(0,l.T)({id:"theme.SearchBar.noResultsText",message:"No results"})}`}var et=n(8826),tt=n(5972);n(6410);async function nt(){const e=await Promise.all([n.e(643),n.e(332)]).then(n.t.bind(n,6643,23)),t=e.default;return t.noConflict?t.noConflict():e.noConflict&&e.noConflict(),t}const rt="_highlight";const at=function(e){let{handleSearchBarToggle:t}=e;const o=(0,z.A)(),{siteConfig:{baseUrl:i},i18n:{currentLocale:u}}=(0,le.A)(),d=(0,be.vT)();let f=i;try{const{preferredVersion:e}=function(){return n(162).g1(...arguments)}(d?.pluginId??ye.UB);e&&!e.isLast&&(f=e.path+"/")}catch($){if(ye.I$&&!($ instanceof P.dV))throw $}const p=(0,s.W6)(),h=(0,s.zy)(),g=(0,r.useRef)(null),m=(0,r.useRef)(new Map),y=(0,r.useRef)(!1),[b,v]=(0,r.useState)(!1),[w,k]=(0,r.useState)(!1),[x,S]=(0,r.useState)(""),E=(0,r.useRef)(null),_=(0,r.useRef)(""),[C,A]=(0,r.useState)("");(0,r.useEffect)((()=>{if(!Array.isArray(ye.Hg))return;let e="";if(h.pathname.startsWith(f)){const t=h.pathname.substring(f.length);let n;for(const e of ye.Hg){const r="string"==typeof e?e:e.path;if(t===r||t.startsWith(`${r}/`)){n=r;break}}n&&(e=n)}_.current!==e&&(m.current.delete(e),_.current=e),A(e)}),[h.pathname,f]);const T=!!ye.O6&&Array.isArray(ye.Hg)&&""===C,O=(0,r.useCallback)((async()=>{if(T||m.current.get(C))return;m.current.set(C,"loading"),E.current?.autocomplete.destroy(),v(!0);const[e]=await Promise.all([nt(),(0,ve.k)(f,C)]);if(E.current=e(g.current,{hint:!1,autoselect:!0,openOnFocus:!0,cssClasses:{root:(0,a.A)(_e,{[Te]:"left"===ye.ZG}),noPrefix:!0,dropdownMenu:Ce,input:qe,hint:Ge,suggestions:Ke,suggestion:Oe,cursor:Ne,dataset:Ye,empty:Ze}},[{source:async(e,t)=>{t(await(0,ve.w)(f,C,e,8))},templates:{suggestion:Xe,empty:Je,footer:e=>{let{query:t,isEmpty:n}=e;if(n&&(!C||!ye.dz))return;const r=(e=>{let{query:t,isEmpty:n}=e;const r=document.createElement("a"),a=new URLSearchParams;let o;if(a.set("q",t),C){const e=C&&Array.isArray(ye.Hg)?ye.Hg.find((e=>"string"==typeof e?e===C:e.path===C)):C,t=e?(0,tt.p)(e,u).label:C;o=ye.dz&&n?(0,l.T)({id:"theme.SearchBar.seeAllOutsideContext",message:'See all results outside "{context}"'},{context:t}):(0,l.T)({id:"theme.SearchBar.searchInContext",message:'See all results within "{context}"'},{context:t})}else o=(0,l.T)({id:"theme.SearchBar.seeAll",message:"See all results"});if(!C||!Array.isArray(ye.Hg)||ye.dz&&n||a.set("ctx",C),f!==i){if(!f.startsWith(i))throw new Error(`Version url '${f}' does not start with base url '${i}', this is a bug of \`@easyops-cn/docusaurus-search-local\`, please report it.`);a.set("version",f.substring(i.length))}const s=`${i}search/?${a.toString()}`;return r.href=s,r.textContent=o,r.addEventListener("click",(e=>{e.ctrlKey||e.metaKey||(e.preventDefault(),E.current?.autocomplete.close(),p.push(s))})),r})({query:t,isEmpty:n}),a=document.createElement("div");return a.className=Ie,a.appendChild(r),a}}}]).on("autocomplete:selected",(function(e,t){let{document:{u:n,h:r},tokens:a}=t;g.current?.blur();let o=n;if(ye.CU&&a.length>0){const e=new URLSearchParams;for(const t of a)e.append(rt,t);o+=`?${e.toString()}`}r&&(o+=r),p.push(o)})).on("autocomplete:closed",(()=>{g.current?.blur()})),m.current.set(C,"done"),v(!1),y.current){const e=g.current;e.value&&E.current?.autocomplete.open(),e.focus()}}),[T,C,f,i,p]);(0,r.useEffect)((()=>{if(!ye.CU)return;const e=o?new URLSearchParams(h.search).getAll(rt):[];setTimeout((()=>{const t=document.querySelector("article");if(!t)return;const n=new ye.CU(t);n.unmark(),0!==e.length&&n.mark(e,{exclude:[".theme-doc-toc-mobile > button"]}),S(e.join(" ")),E.current?.autocomplete.setVal(e.join(" "))}))}),[o,h.search,h.pathname]);const[N,L]=(0,r.useState)(!1),j=(0,r.useCallback)((()=>{y.current=!0,O(),L(!0),t?.(!0)}),[t,O]),R=(0,r.useCallback)((()=>{L(!1),t?.(!1)}),[t]),I=(0,r.useCallback)((()=>{O()}),[O]),F=(0,r.useCallback)((e=>{S(e.target.value),e.target.value&&k(!0)}),[]),D=!!o&&/mac/i.test(navigator.userAgentData?.platform??navigator.platform);(0,r.useEffect)((()=>{const e=g.current,n=e?.value;n&&S(n),e&&document.activeElement===e&&(y.current=!0,O(),L(!0),t?.(!0))}),[]),(0,r.useEffect)((()=>{if(!ye.WW)return;const e=e=>{!(D?e.metaKey:e.ctrlKey)||"k"!==e.key&&"K"!==e.key||(e.preventDefault(),g.current?.focus(),j())};return document.addEventListener("keydown",e),()=>{document.removeEventListener("keydown",e)}}),[D,j]);const M=(0,r.useCallback)((()=>{const e=new URLSearchParams(h.search);e.delete(rt);const t=e.toString(),n=h.pathname+(""!=t?`?${t}`:"")+h.hash;n!=h.pathname+h.search+h.hash&&p.push(n),S(""),E.current?.autocomplete.setVal("")}),[h.pathname,h.search,h.hash,p]);return(0,c.jsxs)("div",{className:(0,a.A)("navbar__search",$e,{[He]:b&&w,[Qe]:N}),hidden:T,dir:"ltr",children:[(0,c.jsx)("input",{placeholder:(0,l.T)({id:"theme.SearchBar.label",message:"Search",description:"The ARIA label and placeholder for search button"}),"aria-label":"Search",className:`navbar__search-input ${Ae}`,onMouseEnter:I,onFocus:j,onBlur:R,onChange:F,ref:g,value:x}),(0,c.jsx)(et.A,{className:Be}),ye.WW&&ye.pk&&(""!==x?(0,c.jsx)("button",{className:Ue,onClick:M,children:"\u2715"}):o&&(0,c.jsxs)("div",{className:Ve,children:[(0,c.jsx)("kbd",{className:We,children:D?"\u2318":"ctrl"}),(0,c.jsx)("kbd",{className:We,children:"K"})]}))]})},ot={navbarSearchContainer:"navbarSearchContainer_ETBD"};function it(e){let{children:t,className:n}=e;return(0,c.jsx)("div",{className:(0,a.A)(n,ot.navbarSearchContainer),children:t})}var st=n(5403);var lt=n(6219);function ut(e,t){return t.alternateDocVersions[e.name]??function(e){return e.docs.find((t=>t.id===e.mainDocId))}(e)}const ct={default:oe,localeDropdown:function(e){let{mobile:t,dropdownItemsBefore:n,dropdownItemsAfter:r,queryString:a="",...o}=e;const{i18n:{currentLocale:i,locales:u,localeConfigs:d}}=(0,le.A)(),f=(0,he.o)(),{search:p,hash:h}=(0,s.zy)(),g=[...n,...u.map((e=>{const n=`${`pathname://${f.createUrl({locale:e,fullyQualified:!1})}`}${p}${h}${a}`;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],m=t?(0,l.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,{...o,mobile:t,label:(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(ge,{className:me}),m]}),items:g})},search:function(e){let{mobile:t,className:n}=e;return t?null:(0,c.jsx)(it,{className:n,children:(0,c.jsx)(at,{})})},dropdown:pe,html:function(e){let{value:t,className:n,mobile:r=!1,isDropdownItem:o=!1}=e;const i=o?"li":"div";return(0,c.jsx)(i,{className:(0,a.A)({navbar__item:!r&&!o,"menu__list-item":r},n),dangerouslySetInnerHTML:{__html:t}})},doc:function(e){let{docId:t,label:n,docsPluginId:r,...a}=e;const{activeDoc:o}=(0,be.zK)(r),i=(0,st.QB)(t,r),s=o?.path===i?.path;return null===i||i.unlisted&&!s?null:(0,c.jsx)(oe,{exact:!0,...a,isActive:()=>s||!!o?.sidebar&&o.sidebar===i.sidebar,label:n??i.id,to:i.path})},docSidebar:function(e){let{sidebarId:t,label:n,docsPluginId:r,...a}=e;const{activeDoc:o}=(0,be.zK)(r),i=(0,st.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)(oe,{exact:!0,...a,isActive:()=>o?.sidebar===t,label:n??i.label,to:i.path})},docsVersion:function(e){let{label:t,to:n,docsPluginId:r,...a}=e;const o=(0,st.Vd)(r)[0],i=t??o.label,s=n??(e=>e.docs.find((t=>t.id===e.mainDocId)))(o).path;return(0,c.jsx)(oe,{...a,label:i,to:s})},docsVersionDropdown:function(e){let{mobile:t,docsPluginId:n,dropdownActiveClassDisabled:r,dropdownItemsBefore:a,dropdownItemsAfter:o,...i}=e;const{search:u,hash:d}=(0,s.zy)(),f=(0,be.zK)(n),p=(0,be.jh)(n),{savePreferredVersionName:h}=(0,lt.g1)(n),g=[...a,...p.map((function(e){const t=ut(e,f);return{label:e.label,to:`${t.path}${u}${d}`,isActive:()=>e===f.activeVersion,onClick:()=>h(e.name)}})),...o],m=(0,st.Vd)(n)[0],y=t&&g.length>1?(0,l.T)({id:"theme.navbar.mobileVersionsDropdown.label",message:"Versions",description:"The label for the navbar versions dropdown on mobile view"}):m.label,b=t&&g.length>1?void 0:ut(m,f).path;return g.length<=1?(0,c.jsx)(oe,{...i,mobile:t,label:y,to:b,isActive:r?()=>!1:void 0}):(0,c.jsx)(pe,{...i,mobile:t,label:y,to:b,items:g,isActive:r?()=>!1:void 0})}};function dt(e){let{type:t,...n}=e;const r=function(e,t){return e&&"default"!==e?e:"items"in t?"dropdown":"default"}(t,n),a=ct[r];if(!a)throw new Error(`No NavbarItem component found for type "${t}".`);return(0,c.jsx)(a,{...n})}function ft(){const e=(0,O.M)(),t=(0,w.p)().navbar.items;return(0,c.jsx)("ul",{className:"menu__list",children:t.map(((t,n)=>(0,r.createElement)(dt,{mobile:!0,...t,onClick:()=>e.toggle(),key:n})))})}function pt(e){return(0,c.jsx)("button",{...e,type:"button",className:"clean-btn navbar-sidebar__back",children:(0,c.jsx)(l.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 ht(){const e=0===(0,w.p)().navbar.items.length,t=F();return(0,c.jsxs)(c.Fragment,{children:[!e&&(0,c.jsx)(pt,{onClick:()=>t.hide()}),t.content]})}function gt(){const e=(0,O.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)(D,{header:(0,c.jsx)(Y,{}),primaryMenu:(0,c.jsx)(ft,{}),secondaryMenu:(0,c.jsx)(ht,{})}):null}const mt={navbarHideable:"navbarHideable_TuH1",navbarHidden:"navbarHidden_Hrua"};function yt(e){return(0,c.jsx)("div",{role:"presentation",...e,className:(0,a.A)("navbar-sidebar__backdrop",e.className)})}function bt(e){let{children:t}=e;const{navbar:{hideOnScroll:n,style:o}}=(0,w.p)(),i=(0,O.M)(),{navbarRef:s,isNavbarVisible:d}=function(e){const[t,n]=(0,r.useState)(e),a=(0,r.useRef)(!1),o=(0,r.useRef)(0),i=(0,r.useCallback)((e=>{null!==e&&(o.current=e.getBoundingClientRect().height)}),[]);return(0,N.Mq)(((t,r)=>{let{scrollY:i}=t;if(!e)return;if(i=s?n(!1):i+u{if(!e)return;const r=t.location.hash;if(r?document.getElementById(r.substring(1)):void 0)return a.current=!0,void n(!1);n(!0)})),{navbarRef:i,isNavbarVisible:t}}(n);return(0,c.jsxs)("nav",{ref:s,"aria-label":(0,l.T)({id:"theme.NavBar.navAriaLabel",message:"Main",description:"The ARIA label for the main navigation"}),className:(0,a.A)("navbar","navbar--fixed-top",n&&[mt.navbarHideable,!d&&mt.navbarHidden],{"navbar--dark":"dark"===o,"navbar--primary":"primary"===o,"navbar-sidebar--show":i.shown}),children:[t,(0,c.jsx)(yt,{onClick:i.toggle}),(0,c.jsx)(gt,{})]})}var vt=n(4481);const wt={errorBoundaryError:"errorBoundaryError_Sdxh",errorBoundaryFallback:"errorBoundaryFallback_zWlq"};function kt(e){return(0,c.jsx)("button",{type:"button",...e,children:(0,c.jsx)(l.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 xt(e){let{error:t}=e;const n=(0,vt.rA)(t).map((e=>e.message)).join("\n\nCause:\n");return(0,c.jsx)("p",{className:wt.errorBoundaryError,children:n})}class St extends r.Component{componentDidCatch(e,t){throw this.props.onError(e,t)}render(){return this.props.children}}const Et="right";function _t(e){let{width:t=30,height:n=30,className:r,...a}=e;return(0,c.jsx)("svg",{className:r,width:t,height:n,viewBox:"0 0 30 30","aria-hidden":"true",...a,children:(0,c.jsx)("path",{stroke:"currentColor",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"2",d:"M4 7h22M4 15h22M4 23h22"})})}function Ct(){const{toggle:e,shown:t}=(0,O.M)();return(0,c.jsx)("button",{onClick:e,"aria-label":(0,l.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)(_t,{})})}const At={colorModeToggle:"colorModeToggle_IcqB"};function Tt(e){let{items:t}=e;return(0,c.jsx)(c.Fragment,{children:t.map(((e,t)=>(0,c.jsx)(St,{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)(dt,{...e})},t)))})}function Ot(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 Nt(){const e=(0,O.M)(),t=(0,w.p)().navbar.items,[n,r]=function(e){function t(e){return"left"===(e.position??Et)}return[e.filter(t),e.filter((e=>!t(e)))]}(t),a=t.find((e=>"search"===e.type));return(0,c.jsx)(Ot,{left:(0,c.jsxs)(c.Fragment,{children:[!e.disabled&&(0,c.jsx)(Ct,{}),(0,c.jsx)(G,{}),(0,c.jsx)(Tt,{items:n})]}),right:(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(Tt,{items:r}),(0,c.jsx)(Q,{className:At.colorModeToggle}),!a&&(0,c.jsx)(it,{children:(0,c.jsx)(at,{})})]})})}function Pt(){return(0,c.jsx)(bt,{children:(0,c.jsx)(Nt,{})})}function Lt(e){let{item:t}=e;const{to:n,href:r,label:o,prependBaseUrlToHref:i,className:s,...l}=t,u=(0,X.Ay)(n),d=(0,X.Ay)(r,{forcePrependBaseUrl:!0});return(0,c.jsxs)(Z.A,{className:(0,a.A)("footer__link-item",s),...r?{href:i?d:r}:{to:u},...l,children:[o,r&&!(0,J.A)(r)&&(0,c.jsx)(te.A,{})]})}function jt(e){let{item:t}=e;return t.html?(0,c.jsx)("li",{className:(0,a.A)("footer__item",t.className),dangerouslySetInnerHTML:{__html:t.html}}):(0,c.jsx)("li",{className:"footer__item",children:(0,c.jsx)(Lt,{item:t})},t.href??t.to)}function Rt(e){let{column:t}=e;return(0,c.jsxs)("div",{className:(0,a.A)("col footer__col",t.className),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)(jt,{item:e},t)))})]})}function It(e){let{columns:t}=e;return(0,c.jsx)("div",{className:"row footer__links",children:t.map(((e,t)=>(0,c.jsx)(Rt,{column:e},t)))})}function Ft(){return(0,c.jsx)("span",{className:"footer__link-separator",children:"\xb7"})}function Dt(e){let{item:t}=e;return t.html?(0,c.jsx)("span",{className:(0,a.A)("footer__link-item",t.className),dangerouslySetInnerHTML:{__html:t.html}}):(0,c.jsx)(Lt,{item:t})}function Mt(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)(Dt,{item:e}),t.length!==n+1&&(0,c.jsx)(Ft,{})]},n)))})})}function zt(e){let{links:t}=e;return function(e){return"title"in e[0]}(t)?(0,c.jsx)(It,{columns:t}):(0,c.jsx)(Mt,{links:t})}var $t=n(5561);const Bt="footerLogoLink_fw4_";function Ut(e){let{logo:t}=e;const{withBaseUrl:n}=(0,X.hH)(),r={light:n(t.src),dark:n(t.srcDark??t.src)};return(0,c.jsx)($t.A,{className:(0,a.A)("footer__logo",t.className),alt:t.alt,sources:r,width:t.width,height:t.height,style:t.style})}function Ht(e){let{logo:t}=e;return t.href?(0,c.jsx)(Z.A,{href:t.href,className:Bt,target:t.target,children:(0,c.jsx)(Ut,{logo:t})}):(0,c.jsx)(Ut,{logo:t})}function Vt(e){let{copyright:t}=e;return(0,c.jsx)("div",{className:"footer__copyright",dangerouslySetInnerHTML:{__html:t}})}function Wt(e){let{style:t,links:n,logo:r,copyright:o}=e;return(0,c.jsx)("footer",{className:(0,a.A)("footer",{"footer--dark":"dark"===t}),children:(0,c.jsxs)("div",{className:"container container-fluid",children:[n,(r||o)&&(0,c.jsxs)("div",{className:"footer__bottom text--center",children:[r&&(0,c.jsx)("div",{className:"margin-bottom--sm",children:r}),o]})]})})}function Qt(){const{footer:e}=(0,w.p)();if(!e)return null;const{copyright:t,links:n,logo:r,style:a}=e;return(0,c.jsx)(Wt,{style:a,links:n&&n.length>0&&(0,c.jsx)(zt,{links:n}),logo:r&&(0,c.jsx)(Ht,{logo:r}),copyright:t&&(0,c.jsx)(Vt,{copyright:t})})}const qt=r.memo(Qt),Gt=(0,P.fM)([M.a,k.o,N.Tv,lt.VQ,i.Jx,function(e){let{children:t}=e;return(0,c.jsx)(L.y_,{children:(0,c.jsx)(O.e,{children:(0,c.jsx)(R,{children:t})})})}]);function Kt(e){let{children:t}=e;return(0,c.jsx)(Gt,{children:t})}var Yt=n(4718);function Zt(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)(Yt.A,{as:"h1",className:"hero__title",children:(0,c.jsx)(l.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)(kt,{onClick:n,className:"button button--primary shadow--lw"})}),(0,c.jsx)("hr",{}),(0,c.jsx)("div",{className:"margin-vert--md",children:(0,c.jsx)(xt,{error:t})})]})})})}const Xt={mainWrapper:"mainWrapper_i86x"};function Jt(e){const{children:t,noFooter:n,wrapperClassName:r,title:s,description:l}=e;return(0,y.J)(),(0,c.jsxs)(Kt,{children:[(0,c.jsx)(i.be,{title:s,description:l}),(0,c.jsx)(v,{}),(0,c.jsx)(T,{}),(0,c.jsx)(Pt,{}),(0,c.jsx)("div",{id:d,className:(0,a.A)(m.G.wrapper.main,Xt.mainWrapper,r),children:(0,c.jsx)(o.A,{fallback:e=>(0,c.jsx)(Zt,{...e}),children:t})}),!n&&(0,c.jsx)(qt,{})]})}},538:(e,t,n)=>{"use strict";n.d(t,{A:()=>c});n(8225);var r=n(4001),a=n(8614),o=n(8509),i=n(8380),s=n(5561),l=n(7557);function u(e){let{logo:t,alt:n,imageClassName:r}=e;const o={light:(0,a.Ay)(t.src),dark:(0,a.Ay)(t.srcDark||t.src)},i=(0,l.jsx)(s.A,{className:t.className,sources:o,height:t.height,width:t.width,alt:n,style:t.style});return r?(0,l.jsx)("div",{className:r,children:i}):i}function c(e){const{siteConfig:{title:t}}=(0,o.A)(),{navbar:{title:n,logo:s}}=(0,i.p)(),{imageClassName:c,titleClassName:d,...f}=e,p=(0,a.Ay)(s?.href||"/"),h=n?"":t,g=s?.alt??h;return(0,l.jsxs)(r.A,{to:p,...f,...s?.target&&{target:s.target},children:[s&&(0,l.jsx)(u,{logo:s,alt:g,imageClassName:c}),null!=n&&(0,l.jsx)("b",{className:d,children:n})]})}},928:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});n(8225);var r=n(6455),a=n(7557);function o(e){let{locale:t,version:n,tag:o}=e;const i=t;return(0,a.jsxs)(r.A,{children:[t&&(0,a.jsx)("meta",{name:"docusaurus_locale",content:t}),n&&(0,a.jsx)("meta",{name:"docusaurus_version",content:n}),o&&(0,a.jsx)("meta",{name:"docusaurus_tag",content:o}),i&&(0,a.jsx)("meta",{name:"docsearch:language",content:i}),n&&(0,a.jsx)("meta",{name:"docsearch:version",content:n}),o&&(0,a.jsx)("meta",{name:"docsearch:docusaurus_tag",content:o})]})}},5561:(e,t,n)=>{"use strict";n.d(t,{A:()=>c});var r=n(8225),a=n(3372),o=n(224),i=n(9875);const s={themedComponent:"themedComponent_ax6Y","themedComponent--light":"themedComponent--light__BjB","themedComponent--dark":"themedComponent--dark_CWGi"};var l=n(7557);function u(e){let{className:t,children:n}=e;const u=(0,o.A)(),{colorMode:c}=(0,i.G)();return(0,l.jsx)(l.Fragment,{children:(u?"dark"===c?["dark"]:["light"]:["light","dark"]).map((e=>{const o=n({theme:e,className:(0,a.A)(t,s.themedComponent,s[`themedComponent--${e}`])});return(0,l.jsx)(r.Fragment,{children:o},e)}))})}function c(e){const{sources:t,className:n,alt:r,...a}=e;return(0,l.jsx)(u,{className:n,children:e=>{let{theme:n,className:o}=e;return(0,l.jsx)("img",{src:t[n],alt:r,className:o,...a})}})}},8264:(e,t,n)=>{"use strict";n.d(t,{N:()=>y,u:()=>u});var r=n(8225),a=n(224),o=n(932),i=n(2219),s=n(7557);const l="ease-in-out";function u(e){let{initialState:t}=e;const[n,a]=(0,r.useState)(t??!1),o=(0,r.useCallback)((()=>{a((e=>!e))}),[]);return{collapsed:n,setCollapsed:a,toggleCollapsed:o}}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:a}=e;const o=(0,r.useRef)(!1);(0,r.useEffect)((()=>{const e=t.current;function r(){const t=e.scrollHeight,n=a?.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 ${a?.easing??l}`,height:`${t}px`}}function s(){const t=r();e.style.transition=t.transition,e.style.height=t.height}if(!o.current)return f(e,n),void(o.current=!0);return e.style.willChange="height",function(){const t=requestAnimationFrame((()=>{n?(s(),requestAnimationFrame((()=>{e.style.height=c.height,e.style.overflow=c.overflow}))):(e.style.display="block",requestAnimationFrame((()=>{s()})))}));return()=>cancelAnimationFrame(t)}()}),[t,n,a])}function h(e){let{collapsed:t,isBrowser:n}=e;if(!n)return t?c:d}function g(e){let{as:t="div",collapsed:n,children:o,animation:i,onCollapseTransitionEnd:l,className:u,disableSSRStyle:c}=e;const d=(0,a.A)(),g=(0,r.useRef)(null);return p({collapsibleRef:g,collapsed:n,animation:i}),(0,s.jsx)(t,{ref:g,style:c?void 0:h({collapsed:n,isBrowser:d}),onTransitionEnd:e=>{"height"===e.propertyName&&(f(g.current,n),l?.(n))},className:u,children:o})}function m(e){let{collapsed:t,...n}=e;const[a,i]=(0,r.useState)(!t),[l,u]=(0,r.useState)(t);return(0,o.A)((()=>{t||i(!0)}),[t]),(0,o.A)((()=>{a&&u(t)}),[a,t]),a?(0,s.jsx)(g,{...n,collapsed:l}):null}function y(e){let{lazy:t,...n}=e;const r=t?m:g;return(0,s.jsx)(r,{...n})}},6459:(e,t,n)=>{"use strict";n.d(t,{M:()=>g,o:()=>h});var r=n(8225),a=n(224),o=n(7931),i=n(5238),s=n(8380),l=n(7557);const u=(0,o.Wf)("docusaurus.announcement.dismiss"),c=(0,o.Wf)("docusaurus.announcement.id"),d=()=>"true"===u.get(),f=e=>u.set(String(e)),p=r.createContext(null);function h(e){let{children:t}=e;const n=function(){const{announcementBar:e}=(0,s.p)(),t=(0,a.A)(),[n,o]=(0,r.useState)((()=>!!t&&d()));(0,r.useEffect)((()=>{o(d())}),[]);const i=(0,r.useCallback)((()=>{f(!0),o(!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()||o(!1)}),[e]),(0,r.useMemo)((()=>({isActive:!!e&&!n,close:i})),[e,n,i])}();return(0,l.jsx)(p.Provider,{value:n,children:t})}function g(){const e=(0,r.useContext)(p);if(!e)throw new i.dV("AnnouncementBarProvider");return e}},9875:(e,t,n)=>{"use strict";n.d(t,{G:()=>y,a:()=>m});var r=n(8225),a=n(8286),o=n(5238),i=n(7931),s=n(8380),l=n(7557);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,h=e=>a.A.canUseDOM?p(document.documentElement.getAttribute("data-theme")):p(e),g=e=>{d.set(p(e))};function m(e){let{children:t}=e;const n=function(){const{colorMode:{defaultMode:e,disableSwitch:t,respectPrefersColorScheme:n}}=(0,s.p)(),[a,o]=(0,r.useState)(h(e));(0,r.useEffect)((()=>{t&&d.del()}),[t]);const i=(0,r.useCallback)((function(t,r){void 0===r&&(r={});const{persist:a=!0}=r;t?(o(t),a&&g(t)):(o(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(a))}),[a]),(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 l=(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||l.current?l.current=window.matchMedia("print").matches:i(null)};return e.addListener(r),()=>e.removeListener(r)}),[i,t,n]),(0,r.useMemo)((()=>({colorMode:a,setColorMode:i,get isDarkTheme(){return a===f.dark},setLightTheme(){i(f.light)},setDarkTheme(){i(f.dark)}})),[a,i])}();return(0,l.jsx)(u.Provider,{value:n,children:t})}function y(){const e=(0,r.useContext)(u);if(null==e)throw new o.dV("ColorModeProvider","Please see https://docusaurus.io/docs/api/themes/configuration#use-color-mode.");return e}},4779:(e,t,n)=>{"use strict";n.d(t,{M:()=>p,e:()=>f});var r=n(8225),a=n(6070),o=n(5191),i=n(2955),s=n(8380),l=n(5238),u=n(7557);const c=r.createContext(void 0);function d(){const e=function(){const e=(0,a.YL)(),{items:t}=(0,s.p)().navbar;return 0===t.length&&!e.component}(),t=(0,o.l)(),n=!e&&"mobile"===t,[l,u]=(0,r.useState)(!1);(0,i.$Z)((()=>{if(l)return u(!1),!1}));const c=(0,r.useCallback)((()=>{u((e=>!e))}),[]);return(0,r.useEffect)((()=>{"desktop"===t&&u(!1)}),[t]),(0,r.useMemo)((()=>({disabled:e,shouldRender:n,toggle:c,shown:l})),[e,n,c,l])}function f(e){let{children:t}=e;const n=d();return(0,u.jsx)(c.Provider,{value:n,children:t})}function p(){const e=r.useContext(c);if(void 0===e)throw new l.dV("NavbarMobileSidebarProvider");return e}},6070:(e,t,n)=>{"use strict";n.d(t,{GX:()=>u,YL:()=>l,y_:()=>s});var r=n(8225),a=n(5238),o=n(7557);const i=r.createContext(null);function s(e){let{children:t}=e;const n=(0,r.useState)({component:null,props:null});return(0,o.jsx)(i.Provider,{value:n,children:t})}function l(){const e=(0,r.useContext)(i);if(!e)throw new a.dV("NavbarSecondaryMenuContentProvider");return e[0]}function u(e){let{component:t,props:n}=e;const o=(0,r.useContext)(i);if(!o)throw new a.dV("NavbarSecondaryMenuContentProvider");const[,s]=o,l=(0,a.Be)(n);return(0,r.useEffect)((()=>{s({component:t,props:l})}),[s,t,l]),(0,r.useEffect)((()=>()=>s({component:null,props:null})),[s]),null}},3865:(e,t,n)=>{"use strict";n.d(t,{w:()=>a,J:()=>o});var r=n(8225);const a="navigation-with-keyboard";function o(){(0,r.useEffect)((()=>{function e(e){"keydown"===e.type&&"Tab"===e.key&&document.body.classList.add(a),"mousedown"===e.type&&document.body.classList.remove(a)}return document.addEventListener("keydown",e),document.addEventListener("mousedown",e),()=>{document.body.classList.remove(a),document.removeEventListener("keydown",e),document.removeEventListener("mousedown",e)}}),[])}},5191:(e,t,n)=>{"use strict";n.d(t,{l:()=>s});var r=n(8225),a=n(8286);const o={desktop:"desktop",mobile:"mobile",ssr:"ssr"},i=996;function s(e){let{desktopBreakpoint:t=i}=void 0===e?{}:e;const[n,s]=(0,r.useState)((()=>"ssr"));return(0,r.useEffect)((()=>{function e(){s(function(e){if(!a.A.canUseDOM)throw new Error("getWindowSize() should only be called after React hydration");return window.innerWidth>e?o.desktop:o.mobile}(t))}return e(),window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e)}}),[t]),n}},6381:(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",blogAuthorsListPage:"blog-authors-list-page",blogAuthorsPostsPage:"blog-authors-posts-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",draftBanner:"theme-draft-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:{blogFooterTagsRow:"theme-blog-footer-tags-row",blogFooterEditMetaRow:"theme-blog-footer-edit-meta-row"},pages:{pageFooterEditMetaRow:"theme-pages-footer-edit-meta-row"}}},2219:(e,t,n)=>{"use strict";function r(){return window.matchMedia("(prefers-reduced-motion: reduce)").matches}n.d(t,{O:()=>r})},2955:(e,t,n)=>{"use strict";n.d(t,{$Z:()=>i,aZ:()=>l});var r=n(8225),a=n(1654),o=n(5238);function i(e){!function(e){const t=(0,a.W6)(),n=(0,o._q)(e);(0,r.useEffect)((()=>t.block(((e,t)=>n(e,t)))),[t,n])}(((t,n)=>{if("POP"===n)return e(t,n)}))}function s(e){const t=(0,a.W6)();return(0,r.useSyncExternalStore)(t.listen,(()=>e(t)),(()=>e(t)))}function l(e){return s((t=>null===e?null:new URLSearchParams(t.location.search).get(e)))}},1192:(e,t,n)=>{"use strict";function r(e,t){return void 0===t&&(t=(e,t)=>e===t),e.filter(((n,r)=>e.findIndex((e=>t(e,n)))!==r))}function a(e){return Array.from(new Set(e))}n.d(t,{XI:()=>r,sb:()=>a})},4840:(e,t,n)=>{"use strict";n.d(t,{e3:()=>p,be:()=>d,Jx:()=>h});var r=n(8225),a=n(3372),o=n(6455),i=n(3153);function s(){const e=r.useContext(i.o);if(!e)throw new Error("Unexpected: no Docusaurus route context found");return e}var l=n(8614),u=n(8509);var c=n(7557);function d(e){let{title:t,description:n,keywords:r,image:a,children:i}=e;const s=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,l.hH)(),f=a?d(a,{absolute:!0}):void 0;return(0,c.jsxs)(o.A,{children:[t&&(0,c.jsx)("title",{children:s}),t&&(0,c.jsx)("meta",{property:"og:title",content:s}),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),s=(0,a.A)(i,t);return(0,c.jsxs)(f.Provider,{value:s,children:[(0,c.jsx)(o.A,{children:(0,c.jsx)("html",{className:s})}),n]})}function h(e){let{children:t}=e;const n=s(),r=`plugin-${n.plugin.name.replace(/docusaurus-(?:plugin|theme)-(?:content-)?/gi,"")}`;const o=`plugin-id-${n.plugin.id}`;return(0,c.jsx)(p,{className:(0,a.A)(r,o),children:t})}},5238:(e,t,n)=>{"use strict";n.d(t,{Be:()=>u,ZC:()=>s,_q:()=>i,dV:()=>l,fM:()=>c});var r=n(8225),a=n(932),o=n(7557);function i(e){const t=(0,r.useRef)(e);return(0,a.A)((()=>{t.current=e}),[e]),(0,r.useCallback)((function(){return t.current(...arguments)}),[])}function s(e){const t=(0,r.useRef)();return(0,a.A)((()=>{t.current=e})),t.current}class l 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,o.jsx)(o.Fragment,{children:e.reduceRight(((e,t)=>(0,o.jsx)(t,{children:e})),n)})}}},3523:(e,t,n)=>{"use strict";n.d(t,{Dt:()=>s,ys:()=>i});var r=n(8225),a=n(9264),o=n(8509);function i(e,t){const n=e=>(!e||e.endsWith("/")?e:`${e}/`)?.toLowerCase();return n(e)===n(t)}function s(){const{baseUrl:e}=(0,o.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 a(e){return e.path===t&&!e.exact}return function e(t){if(0===t.length)return;return t.find(r)||e(t.filter(a).flatMap((e=>e.routes??[])))}(n)}({routes:a.A,baseUrl:e})),[e])}},1910:(e,t,n)=>{"use strict";n.d(t,{Mq:()=>p,Tv:()=>c,a_:()=>h,gk:()=>g});var r=n(8225),a=n(8286),o=n(224),i=n(932),s=n(5238),l=n(7557);const u=r.createContext(void 0);function c(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)(u.Provider,{value:n,children:t})}function d(){const e=(0,r.useContext)(u);if(null==e)throw new s.dV("ScrollControllerProvider");return e}const f=()=>a.A.canUseDOM?{scrollX:window.pageXOffset,scrollY:window.pageYOffset}:null;function p(e,t){void 0===t&&(t=[]);const{scrollEventsEnabledRef:n}=d(),a=(0,r.useRef)(f()),o=(0,s._q)(e);(0,r.useEffect)((()=>{const e=()=>{if(!n.current)return;const e=f();o(e,a.current),a.current=e},t={passive:!0};return e(),window.addEventListener("scroll",e,t),()=>window.removeEventListener("scroll",e,t)}),[o,n,...t])}function h(){const e=d(),t=function(){const e=(0,r.useRef)({elem:null,top:0}),t=(0,r.useCallback)((t=>{e.current={elem:t,top:t.getBoundingClientRect().top}}),[]),n=(0,r.useCallback)((()=>{const{current:{elem:t,top:n}}=e;if(!t)return{restored:!1};const r=t.getBoundingClientRect().top-n;return r&&window.scrollBy({left:0,top:r}),e.current={elem:null,top:0},{restored:0!==r}}),[]);return(0,r.useMemo)((()=>({save:t,restore:n})),[n,t])}(),n=(0,r.useRef)(void 0),a=(0,r.useCallback)((r=>{t.save(r),e.disableScrollEvents(),n.current=()=>{const{restored:r}=t.restore();if(n.current=void 0,r){const t=()=>{e.enableScrollEvents(),window.removeEventListener("scroll",t)};window.addEventListener("scroll",t)}else e.enableScrollEvents()}}),[e,t]);return(0,i.A)((()=>{queueMicrotask((()=>n.current?.()))})),{blockElementScrollPositionUntilNextRender:a}}function g(){const e=(0,r.useRef)(null),t=(0,o.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 a=document.documentElement.scrollTop;(n&&a>e||!n&&at&&cancelAnimationFrame(t)}(n)},cancelScroll:()=>e.current?.()}}},7931:(e,t,n)=>{"use strict";n.d(t,{Wf:()=>c,Dv:()=>d});var r=n(8225);const a=JSON.parse('{"N":"localStorage","M":""}'),o=a.N;function i(e){let{key:t,oldValue:n,newValue:r,storage:a}=e;if(n===r)return;const o=document.createEvent("StorageEvent");o.initStorageEvent("storage",!1,!1,t,n,r,window.location.href,a),window.dispatchEvent(o)}function s(e){if(void 0===e&&(e=o),"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,l||(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),l=!0),null}var t}let l=!1;const u={get:()=>null,set:()=>{},del:()=>{},listen:()=>()=>{}};function c(e,t){const n=`${e}${a.M}`;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}}(n);const r=s(t?.persistence);return null===r?u:{get:()=>{try{return r.getItem(n)}catch(e){return console.error(`Docusaurus storage error, can't get key=${n}`,e),null}},set:e=>{try{const t=r.getItem(n);r.setItem(n,e),i({key:n,oldValue:t,newValue:e,storage:r})}catch(t){console.error(`Docusaurus storage error, can't set ${n}=${e}`,t)}},del:()=>{try{const e=r.getItem(n);r.removeItem(n),i({key:n,oldValue:e,newValue:null,storage:r})}catch(e){console.error(`Docusaurus storage error, can't delete key=${n}`,e)}},listen:e=>{try{const t=t=>{t.storageArea===r&&t.key===n&&e(t)};return window.addEventListener("storage",t),()=>window.removeEventListener("storage",t)}catch(t){return console.error(`Docusaurus storage error, can't listen for changes of key=${n}`,t),()=>{}}}}}function d(e,t){const n=(0,r.useRef)((()=>null===e?u:c(e,t))).current(),a=(0,r.useCallback)((e=>"undefined"==typeof window?()=>{}:n.listen(e)),[n]);return[(0,r.useSyncExternalStore)(a,(()=>n.get()),(()=>null)),n]}},5225:(e,t,n)=>{"use strict";n.d(t,{o:()=>i});var r=n(8509),a=n(1654),o=n(4481);function i(){const{siteConfig:{baseUrl:e,url:t,trailingSlash:n},i18n:{defaultLocale:i,currentLocale:s}}=(0,r.A)(),{pathname:l}=(0,a.zy)(),u=(0,o.Ks)(l,{trailingSlash:n,baseUrl:e}),c=s===i?e:e.replace(`/${s}/`,"/"),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}`}}}},8:(e,t,n)=>{"use strict";n.d(t,{$:()=>i});var r=n(8225),a=n(1654),o=n(5238);function i(e){const t=(0,a.zy)(),n=(0,o.ZC)(t),i=(0,o._q)(e);(0,r.useEffect)((()=>{n&&t!==n&&i({location:t,previousLocation:n})}),[i,t,n])}},8380:(e,t,n)=>{"use strict";n.d(t,{p:()=>a});var r=n(8509);function a(){return(0,r.A)().siteConfig.themeConfig}},4692:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.addTrailingSlash=a,t.default=function(e,t){const{trailingSlash:n,baseUrl:r}=t;if(e.startsWith("#"))return e;if(void 0===n)return e;const[i]=e.split(/[#?]/),s="/"===i||i===r?i:(l=i,u=n,u?a(l):o(l));var l,u;return e.replace(i,s)},t.addLeadingSlash=function(e){return(0,r.addPrefix)(e,"/")},t.removeTrailingSlash=o;const r=n(963);function a(e){return e.endsWith("/")?e:`${e}/`}function o(e){return(0,r.removeSuffix)(e,"/")}},7410:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getErrorCausalChain=function e(t){if(t.cause)return[t,...e(t.cause)];return[t]}},4481:(e,t,n)=>{"use strict";t.rA=t.Ks=void 0;const r=n(6636);var a=n(4692);Object.defineProperty(t,"Ks",{enumerable:!0,get:function(){return r.__importDefault(a).default}});var o=n(963);var i=n(7410);Object.defineProperty(t,"rA",{enumerable:!0,get:function(){return i.getErrorCausalChain}})},963:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.addPrefix=function(e,t){return e.startsWith(t)?e:`${t}${e}`},t.removeSuffix=function(e,t){if(""===t)return e;return e.endsWith(t)?e.slice(0,-t.length):e},t.addSuffix=function(e,t){return e.endsWith(t)?e:`${e}${t}`},t.removePrefix=function(e,t){return e.startsWith(t)?e.slice(t.length):e}},8826:(e,t,n)=>{"use strict";n.d(t,{A:()=>i});n(8225);var r=n(3372);const a={loadingRing:"loadingRing_NOED","loading-ring":"loading-ring__I9I"};var o=n(7557);function i(e){let{className:t}=e;return(0,o.jsxs)("div",{className:(0,r.A)(a.loadingRing,t),children:[(0,o.jsx)("div",{}),(0,o.jsx)("div",{}),(0,o.jsx)("div",{}),(0,o.jsx)("div",{})]})}},2954:(e,t,n)=>{"use strict";n.d(t,{k:()=>_,w:()=>C});const r=Symbol("Comlink.proxy"),a=Symbol("Comlink.endpoint"),o=Symbol("Comlink.releaseProxy"),i=Symbol("Comlink.finalizer"),s=Symbol("Comlink.thrown"),l=e=>"object"==typeof e&&null!==e||"function"==typeof e,u=new Map([["proxy",{canHandle:e=>l(e)&&e[r],serialize(e){const{port1:t,port2:n}=new MessageChannel;return c(e,t),[n,[n]]},deserialize:e=>(e.start(),f(e))}],["throw",{canHandle:e=>l(e)&&s in e,serialize({value:e}){let t;return t=e instanceof Error?{isError:!0,value:{message:e.message,name:e.name,stack:e.stack}}:{isError:!1,value:e},[t,[]]},deserialize(e){if(e.isError)throw Object.assign(new Error(e.value.message),e.value);throw e.value}}]]);function c(e,t=globalThis,n=["*"]){t.addEventListener("message",(function a(o){if(!o||!o.data)return;if(!function(e,t){for(const n of e){if(t===n||"*"===n)return!0;if(n instanceof RegExp&&n.test(t))return!0}return!1}(n,o.origin))return void console.warn(`Invalid origin '${o.origin}' for comlink proxy`);const{id:l,type:u,path:f}=Object.assign({path:[]},o.data),p=(o.data.argumentList||[]).map(k);let h;try{const t=f.slice(0,-1).reduce(((e,t)=>e[t]),e),n=f.reduce(((e,t)=>e[t]),e);switch(u){case"GET":h=n;break;case"SET":t[f.slice(-1)[0]]=k(o.data.value),h=!0;break;case"APPLY":h=n.apply(t,p);break;case"CONSTRUCT":h=function(e){return Object.assign(e,{[r]:!0})}(new n(...p));break;case"ENDPOINT":{const{port1:t,port2:n}=new MessageChannel;c(e,n),h=function(e,t){return v.set(e,t),e}(t,[t])}break;case"RELEASE":h=void 0;break;default:return}}catch(g){h={value:g,[s]:0}}Promise.resolve(h).catch((e=>({value:e,[s]:0}))).then((n=>{const[r,o]=w(n);t.postMessage(Object.assign(Object.assign({},r),{id:l}),o),"RELEASE"===u&&(t.removeEventListener("message",a),d(t),i in e&&"function"==typeof e[i]&&e[i]())})).catch((e=>{const[n,r]=w({value:new TypeError("Unserializable return value"),[s]:0});t.postMessage(Object.assign(Object.assign({},n),{id:l}),r)}))})),t.start&&t.start()}function d(e){(function(e){return"MessagePort"===e.constructor.name})(e)&&e.close()}function f(e,t){const n=new Map;return e.addEventListener("message",(function(e){const{data:t}=e;if(!t||!t.id)return;const r=n.get(t.id);if(r)try{r(t)}finally{n.delete(t.id)}})),y(e,n,[],t)}function p(e){if(e)throw new Error("Proxy has been released and is not useable")}function h(e){return x(e,new Map,{type:"RELEASE"}).then((()=>{d(e)}))}const g=new WeakMap,m="FinalizationRegistry"in globalThis&&new FinalizationRegistry((e=>{const t=(g.get(e)||0)-1;g.set(e,t),0===t&&h(e)}));function y(e,t,n=[],r=function(){}){let i=!1;const s=new Proxy(r,{get(r,a){if(p(i),a===o)return()=>{!function(e){m&&m.unregister(e)}(s),h(e),t.clear(),i=!0};if("then"===a){if(0===n.length)return{then:()=>s};const r=x(e,t,{type:"GET",path:n.map((e=>e.toString()))}).then(k);return r.then.bind(r)}return y(e,t,[...n,a])},set(r,a,o){p(i);const[s,l]=w(o);return x(e,t,{type:"SET",path:[...n,a].map((e=>e.toString())),value:s},l).then(k)},apply(r,o,s){p(i);const l=n[n.length-1];if(l===a)return x(e,t,{type:"ENDPOINT"}).then(k);if("bind"===l)return y(e,t,n.slice(0,-1));const[u,c]=b(s);return x(e,t,{type:"APPLY",path:n.map((e=>e.toString())),argumentList:u},c).then(k)},construct(r,a){p(i);const[o,s]=b(a);return x(e,t,{type:"CONSTRUCT",path:n.map((e=>e.toString())),argumentList:o},s).then(k)}});return function(e,t){const n=(g.get(t)||0)+1;g.set(t,n),m&&m.register(e,t,e)}(s,e),s}function b(e){const t=e.map(w);return[t.map((e=>e[0])),(n=t.map((e=>e[1])),Array.prototype.concat.apply([],n))];var n}const v=new WeakMap;function w(e){for(const[t,n]of u)if(n.canHandle(e)){const[r,a]=n.serialize(e);return[{type:"HANDLER",name:t,value:r},a]}return[{type:"RAW",value:e},v.get(e)||[]]}function k(e){switch(e.type){case"HANDLER":return u.get(e.name).deserialize(e.value);case"RAW":return e.value}}function x(e,t,n,r){return new Promise((a=>{const o=new Array(4).fill(0).map((()=>Math.floor(Math.random()*Number.MAX_SAFE_INTEGER).toString(16))).join("-");t.set(o,a),e.start&&e.start(),e.postMessage(Object.assign({id:o},n),r)}))}let S;function E(){return S||(S=(async()=>{const e=f(new Worker(new URL(n.p+n.u(875),n.b)));return await new e})()),S}async function _(e,t){{const n=await E();await n.fetchIndexes(e,t)}}async function C(e,t,n,r){return(await E()).search(e,t,n,r)}},7406:(e,t,n)=>{"use strict";function r(e){return e.join(" \u203a ")}n.d(t,{$:()=>r})},7890:(e,t,n)=>{"use strict";function r(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}n.d(t,{Z:()=>r})},1601:(e,t,n)=>{"use strict";function r(e,t){const n=[];for(const r of Object.values(e))r[t]&&n.push(...r[t].position);return n.sort(((e,t)=>e[0]-t[0]||t[1]-e[1]))}n.d(t,{g:()=>r})},586:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a});var r=n(7890);function a(e,t,n){const o=[];for(const i of t){const n=e.toLowerCase().indexOf(i);if(n>=0){n>0&&o.push(a(e.substr(0,n),t)),o.push(`${(0,r.Z)(e.substr(n,i.length))}`);const s=n+i.length;s${(0,r.Z)(e)}`:(0,r.Z)(e):o.join("")}},5273:(e,t,n)=>{"use strict";n.d(t,{C:()=>l});var r=n(7890),a=n(586);const o=/\w+|\p{Unified_Ideograph}/u;function i(e){const t=[];let n=0,r=e;for(;r.length>0;){const a=r.match(o);if(!a){t.push(r);break}a.index>0&&t.push(r.substring(0,a.index)),t.push(a[0]),n+=a.index+a[0].length,r=e.substring(n)}return t}var s=n(9639);function l(e,t,n,o){void 0===o&&(o=s.rG);const{chunkIndex:l,chunks:u}=function(e,t,n){const o=[];let s=0,l=0,u=-1;for(;sl){const t=i(e.substring(l,c)).map((e=>({html:(0,r.Z)(e),textLength:e.length})));for(const e of t)o.push(e)}-1===u&&(u=o.length),l=c+d,o.push({html:(0,a.Z)(e.substring(c,l),n,!0),textLength:d})}}if(l({html:(0,r.Z)(e),textLength:e.length})));for(const e of t)o.push(e)}return{chunkIndex:u,chunks:o}}(e,t,n),c=u.slice(0,l),d=u[l],f=[d.html],p=u.slice(l+1);let h=d.textLength,g=0,m=0,y=!1,b=!1;for(;h0){const e=c.pop();h+e.textLength<=o?(f.unshift(e.html),g+=e.textLength,h+=e.textLength):(y=!0,c.length=0)}else{if(!(p.length>0))break;{const e=p.shift();h+e.textLength<=o?(f.push(e.html),m+=e.textLength,h+=e.textLength):(b=!0,p.length=0)}}return(y||c.length>0)&&f.unshift("\u2026"),(b||p.length>0)&&f.push("\u2026"),f.join("")}},5972:(e,t,n)=>{"use strict";function r(e,t){if("string"==typeof e)return{label:e,path:e};{const{label:n,path:r}=e;return"string"==typeof n?{label:n,path:r}:Object.prototype.hasOwnProperty.call(n,t)?{label:n[t],path:r}:{label:r,path:r}}}n.d(t,{p:()=>r})},9639:(e,t,n)=>{"use strict";n.d(t,{CU:()=>a(),UB:()=>c,tb:()=>i,O6:()=>p,I$:()=>d,ZG:()=>u,WW:()=>s,pk:()=>l,Hg:()=>f,rG:()=>o,dz:()=>h});var r=n(2236),a=n.n(r);const o=50,i=!0,s=!0,l=!0,u="right",c=void 0,d=!0,f=null,p=!1,h=!1},3840:(e,t,n)=>{"use strict";var r;n.d(t,{i:()=>r}),function(e){e[e.Title=0]="Title",e[e.Heading=1]="Heading",e[e.Description=2]="Description",e[e.Keywords=3]="Keywords",e[e.Content=4]="Content"}(r||(r={}))},9888:(e,t,n)=>{"use strict";n.d(t,{zR:()=>w,TM:()=>C,yJ:()=>p,sC:()=>T,AO:()=>f});var r=n(6205);function a(e){return"/"===e.charAt(0)}function o(e,t){for(var n=t,r=n+1,a=e.length;r=0;f--){var p=i[f];"."===p?o(i,f):".."===p?(o(i,f),d++):d&&(o(i,f),d--)}if(!u)for(;d--;d)i.unshift("..");!u||""===i[0]||i[0]&&a(i[0])||i.unshift("");var h=i.join("/");return n&&"/"!==h.substr(-1)&&(h+="/"),h};var s=n(8635);function l(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,a=t||"/";return n&&"?"!==n&&(a+="?"===n.charAt(0)?n:"?"+n),r&&"#"!==r&&(a+="#"===r.charAt(0)?r:"#"+r),a}function p(e,t,n,a){var o;"string"==typeof e?(o=function(e){var t=e||"/",n="",r="",a=t.indexOf("#");-1!==a&&(r=t.substr(a),t=t.substr(0,a));var o=t.indexOf("?");return-1!==o&&(n=t.substr(o),t=t.substr(0,o)),{pathname:t,search:"?"===n?"":n,hash:"#"===r?"":r}}(e),o.state=t):(void 0===(o=(0,r.A)({},e)).pathname&&(o.pathname=""),o.search?"?"!==o.search.charAt(0)&&(o.search="?"+o.search):o.search="",o.hash?"#"!==o.hash.charAt(0)&&(o.hash="#"+o.hash):o.hash="",void 0!==t&&void 0===o.state&&(o.state=t));try{o.pathname=decodeURI(o.pathname)}catch(s){throw s instanceof URIError?new URIError('Pathname "'+o.pathname+'" could not be decoded. This is likely caused by an invalid percent-encoding.'):s}return n&&(o.key=n),a?o.pathname?"/"!==o.pathname.charAt(0)&&(o.pathname=i(o.pathname,a.pathname)):o.pathname=a.pathname:o.pathname||(o.pathname="/"),o}function h(){var e=null;var t=[];return{setPrompt:function(t){return e=t,function(){e===t&&(e=null)}},confirmTransitionTo:function(t,n,r,a){if(null!=e){var o="function"==typeof e?e(t,n):e;"string"==typeof o?"function"==typeof r?r(o,a):a(!0):a(!1!==o)}else a(!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,a):n.push(a),d({action:r,location:a,index:t,entries:n})}}))},replace:function(e,t){var r="REPLACE",a=p(e,t,g(),w.location);c.confirmTransitionTo(a,r,n,(function(e){e&&(w.entries[w.index]=a,d({action:r,location:a}))}))},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(3635),a={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},o={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},s={};function l(e){return r.isMemo(e)?i:s[e.$$typeof]||a}s[r.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},s[r.Memo]=i;var u=Object.defineProperty,c=Object.getOwnPropertyNames,d=Object.getOwnPropertySymbols,f=Object.getOwnPropertyDescriptor,p=Object.getPrototypeOf,h=Object.prototype;e.exports=function e(t,n,r){if("string"!=typeof n){if(h){var a=p(n);a&&a!==h&&e(t,a,r)}var i=c(n);d&&(i=i.concat(d(n)));for(var s=l(t),g=l(n),m=0;m{"use strict";e.exports=function(e,t,n,r,a,o,i,s){if(!e){var l;if(void 0===t)l=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,a,o,i,s],c=0;(l=new Error(t.replace(/%s/g,(function(){return u[c++]})))).name="Invariant Violation"}throw l.framesToPop=1,l}}},1434:e=>{e.exports=Array.isArray||function(e){return"[object Array]"==Object.prototype.toString.call(e)}},6410:(e,t,n)=>{var r,a;!function(){var o,i,s,l,u,c,d,f,p,h,g,m,y,b,v,w,k,x,S,E,_,C,A,T,O,N,P,L,j,R,I=function(e){var t=new I.Builder;return t.pipeline.add(I.trimmer,I.stopWordFilter,I.stemmer),t.searchPipeline.add(I.stemmer),e.call(t,t),t.build()};I.version="2.3.9",I.utils={},I.utils.warn=(o=this,function(e){o.console&&console.warn&&console.warn(e)}),I.utils.asString=function(e){return null==e?"":e.toString()},I.utils.clone=function(e){if(null==e)return e;for(var t=Object.create(null),n=Object.keys(e),r=0;r0){var l=I.utils.clone(t)||{};l.position=[i,s],l.index=a.length,a.push(new I.Token(n.slice(i,o),l))}i=o+1}}return a},I.tokenizer.separator=/[\s\-]+/,I.Pipeline=function(){this._stack=[]},I.Pipeline.registeredFunctions=Object.create(null),I.Pipeline.registerFunction=function(e,t){t in this.registeredFunctions&&I.utils.warn("Overwriting existing registered function: "+t),e.label=t,I.Pipeline.registeredFunctions[e.label]=e},I.Pipeline.warnIfFunctionNotRegistered=function(e){e.label&&e.label in this.registeredFunctions||I.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",e)},I.Pipeline.load=function(e){var t=new I.Pipeline;return e.forEach((function(e){var n=I.Pipeline.registeredFunctions[e];if(!n)throw new Error("Cannot load unregistered function: "+e);t.add(n)})),t},I.Pipeline.prototype.add=function(){Array.prototype.slice.call(arguments).forEach((function(e){I.Pipeline.warnIfFunctionNotRegistered(e),this._stack.push(e)}),this)},I.Pipeline.prototype.after=function(e,t){I.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)},I.Pipeline.prototype.before=function(e,t){I.Pipeline.warnIfFunctionNotRegistered(t);var n=this._stack.indexOf(e);if(-1==n)throw new Error("Cannot find existingFn");this._stack.splice(n,0,t)},I.Pipeline.prototype.remove=function(e){var t=this._stack.indexOf(e);-1!=t&&this._stack.splice(t,1)},I.Pipeline.prototype.run=function(e){for(var t=this._stack.length,n=0;n1&&(oe&&(n=a),o!=e);)r=n-t,a=t+Math.floor(r/2),o=this.elements[2*a];return o==e||o>e?2*a:os?u+=2:i==s&&(t+=n[l+1]*r[u+1],l+=2,u+=2);return t},I.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},I.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),t=1,n=0;t0){var o,i=a.str.charAt(0);i in a.node.edges?o=a.node.edges[i]:(o=new I.TokenSet,a.node.edges[i]=o),1==a.str.length&&(o.final=!0),r.push({node:o,editsRemaining:a.editsRemaining,str:a.str.slice(1)})}if(0!=a.editsRemaining){if("*"in a.node.edges)var s=a.node.edges["*"];else{s=new I.TokenSet;a.node.edges["*"]=s}if(0==a.str.length&&(s.final=!0),r.push({node:s,editsRemaining:a.editsRemaining-1,str:a.str}),a.str.length>1&&r.push({node:a.node,editsRemaining:a.editsRemaining-1,str:a.str.slice(1)}),1==a.str.length&&(a.node.final=!0),a.str.length>=1){if("*"in a.node.edges)var l=a.node.edges["*"];else{l=new I.TokenSet;a.node.edges["*"]=l}1==a.str.length&&(l.final=!0),r.push({node:l,editsRemaining:a.editsRemaining-1,str:a.str.slice(1)})}if(a.str.length>1){var u,c=a.str.charAt(0),d=a.str.charAt(1);d in a.node.edges?u=a.node.edges[d]:(u=new I.TokenSet,a.node.edges[d]=u),1==a.str.length&&(u.final=!0),r.push({node:u,editsRemaining:a.editsRemaining-1,str:c+a.str.slice(2)})}}}return n},I.TokenSet.fromString=function(e){for(var t=new I.TokenSet,n=t,r=0,a=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()}},I.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},I.Index.prototype.search=function(e){return this.query((function(t){new I.QueryParser(e,t).parse()}))},I.Index.prototype.query=function(e){for(var t=new I.Query(this.fields),n=Object.create(null),r=Object.create(null),a=Object.create(null),o=Object.create(null),i=Object.create(null),s=0;s1?1:e},I.Builder.prototype.k1=function(e){this._k1=e},I.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 a=0;a=this.length)return I.QueryLexer.EOS;var e=this.str.charAt(this.pos);return this.pos+=1,e},I.QueryLexer.prototype.width=function(){return this.pos-this.start},I.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},I.QueryLexer.prototype.backup=function(){this.pos-=1},I.QueryLexer.prototype.acceptDigitRun=function(){var e,t;do{t=(e=this.next()).charCodeAt(0)}while(t>47&&t<58);e!=I.QueryLexer.EOS&&this.backup()},I.QueryLexer.prototype.more=function(){return this.pos1&&(e.backup(),e.emit(I.QueryLexer.TERM)),e.ignore(),e.more())return I.QueryLexer.lexText},I.QueryLexer.lexEditDistance=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(I.QueryLexer.EDIT_DISTANCE),I.QueryLexer.lexText},I.QueryLexer.lexBoost=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(I.QueryLexer.BOOST),I.QueryLexer.lexText},I.QueryLexer.lexEOS=function(e){e.width()>0&&e.emit(I.QueryLexer.TERM)},I.QueryLexer.termSeparator=I.tokenizer.separator,I.QueryLexer.lexText=function(e){for(;;){var t=e.next();if(t==I.QueryLexer.EOS)return I.QueryLexer.lexEOS;if(92!=t.charCodeAt(0)){if(":"==t)return I.QueryLexer.lexField;if("~"==t)return e.backup(),e.width()>0&&e.emit(I.QueryLexer.TERM),I.QueryLexer.lexEditDistance;if("^"==t)return e.backup(),e.width()>0&&e.emit(I.QueryLexer.TERM),I.QueryLexer.lexBoost;if("+"==t&&1===e.width())return e.emit(I.QueryLexer.PRESENCE),I.QueryLexer.lexText;if("-"==t&&1===e.width())return e.emit(I.QueryLexer.PRESENCE),I.QueryLexer.lexText;if(t.match(I.QueryLexer.termSeparator))return I.QueryLexer.lexTerm}else e.escapeCharacter()}},I.QueryParser=function(e,t){this.lexer=new I.QueryLexer(e),this.query=t,this.currentClause={},this.lexemeIdx=0},I.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var e=I.QueryParser.parseClause;e;)e=e(this);return this.query},I.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},I.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},I.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},I.QueryParser.parseClause=function(e){var t=e.peekLexeme();if(null!=t)switch(t.type){case I.QueryLexer.PRESENCE:return I.QueryParser.parsePresence;case I.QueryLexer.FIELD:return I.QueryParser.parseField;case I.QueryLexer.TERM:return I.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 I.QueryParseError(n,t.start,t.end)}},I.QueryParser.parsePresence=function(e){var t=e.consumeLexeme();if(null!=t){switch(t.str){case"-":e.currentClause.presence=I.Query.presence.PROHIBITED;break;case"+":e.currentClause.presence=I.Query.presence.REQUIRED;break;default:var n="unrecognised presence operator'"+t.str+"'";throw new I.QueryParseError(n,t.start,t.end)}var r=e.peekLexeme();if(null==r){n="expecting term or field, found nothing";throw new I.QueryParseError(n,t.start,t.end)}switch(r.type){case I.QueryLexer.FIELD:return I.QueryParser.parseField;case I.QueryLexer.TERM:return I.QueryParser.parseTerm;default:n="expecting term or field, found '"+r.type+"'";throw new I.QueryParseError(n,r.start,r.end)}}},I.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 I.QueryParseError(r,t.start,t.end)}e.currentClause.fields=[t.str];var a=e.peekLexeme();if(null==a){r="expecting term, found nothing";throw new I.QueryParseError(r,t.start,t.end)}if(a.type===I.QueryLexer.TERM)return I.QueryParser.parseTerm;r="expecting term, found '"+a.type+"'";throw new I.QueryParseError(r,a.start,a.end)}},I.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 I.QueryLexer.TERM:return e.nextClause(),I.QueryParser.parseTerm;case I.QueryLexer.FIELD:return e.nextClause(),I.QueryParser.parseField;case I.QueryLexer.EDIT_DISTANCE:return I.QueryParser.parseEditDistance;case I.QueryLexer.BOOST:return I.QueryParser.parseBoost;case I.QueryLexer.PRESENCE:return e.nextClause(),I.QueryParser.parsePresence;default:var r="Unexpected lexeme type '"+n.type+"'";throw new I.QueryParseError(r,n.start,n.end)}else e.nextClause()}},I.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 I.QueryParseError(r,t.start,t.end)}e.currentClause.editDistance=n;var a=e.peekLexeme();if(null!=a)switch(a.type){case I.QueryLexer.TERM:return e.nextClause(),I.QueryParser.parseTerm;case I.QueryLexer.FIELD:return e.nextClause(),I.QueryParser.parseField;case I.QueryLexer.EDIT_DISTANCE:return I.QueryParser.parseEditDistance;case I.QueryLexer.BOOST:return I.QueryParser.parseBoost;case I.QueryLexer.PRESENCE:return e.nextClause(),I.QueryParser.parsePresence;default:r="Unexpected lexeme type '"+a.type+"'";throw new I.QueryParseError(r,a.start,a.end)}else e.nextClause()}},I.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 I.QueryParseError(r,t.start,t.end)}e.currentClause.boost=n;var a=e.peekLexeme();if(null!=a)switch(a.type){case I.QueryLexer.TERM:return e.nextClause(),I.QueryParser.parseTerm;case I.QueryLexer.FIELD:return e.nextClause(),I.QueryParser.parseField;case I.QueryLexer.EDIT_DISTANCE:return I.QueryParser.parseEditDistance;case I.QueryLexer.BOOST:return I.QueryParser.parseBoost;case I.QueryLexer.PRESENCE:return e.nextClause(),I.QueryParser.parsePresence;default:r="Unexpected lexeme type '"+a.type+"'";throw new I.QueryParseError(r,a.start,a.end)}else e.nextClause()}},void 0===(a="function"==typeof(r=function(){return I})?r.call(t,n,t,e):r)||(e.exports=a)}()},2236: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],a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:5e3;t(this,e),this.ctx=n,this.iframes=r,this.exclude=a,this.iframesTimeout=o}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 a=e.contentWindow;if(r=a.document,!a||!r)throw new Error("iframe inaccessible")}catch(o){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,a=!1,o=null,i=function i(){if(!a){a=!0,clearTimeout(o);try{r.isIframeBlank(e)||(e.removeEventListener("load",i),r.getIframeContents(e,t,n))}catch(s){n()}}};e.addEventListener("load",i),o=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 a=this,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:function(){},i=t.querySelectorAll("iframe"),s=i.length,l=0;i=Array.prototype.slice.call(i);var u=function(){--s<=0&&o(l)};s||u(),i.forEach((function(t){e.matches(t,a.exclude)?u():a.onIframeReady(t,(function(e){n(t)&&(l++,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 a=!1,o=!1;return r.forEach((function(e,t){e.val===n&&(a=t,o=e.handled)})),this.compareNodeIframe(e,t,n)?(!1!==a||o?!1===a||o||(r[a].handled=!0):r.push({val:n,handled:!0}),!0):(!1===a&&r.push({val:n,handled:!1}),!1)}},{key:"handleOpenIframes",value:function(e,t,n,r){var a=this;e.forEach((function(e){e.handled||a.getIframeContents(e.val,(function(e){a.createInstanceOnIframe(e).forEachNode(t,n,r)}))}))}},{key:"iterateThroughNodes",value:function(e,t,n,r,a){for(var o=this,i=this.createIterator(t,e,r),s=[],l=[],u=void 0,c=void 0,d=function(){var e=o.getIteratorNode(i);return c=e.prevNode,u=e.node};d();)this.iframes&&this.forEachIframe(t,(function(e){return o.checkIframeFilter(u,c,e,s)}),(function(t){o.createInstanceOnIframe(t).forEachNode(e,(function(e){return l.push(e)}),r)})),l.push(u);l.forEach((function(e){n(e)})),this.iframes&&this.handleOpenIframes(s,e,n,r),a()}},{key:"forEachNode",value:function(e,t,n){var r=this,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:function(){},o=this.getContexts(),i=o.length;i||a(),o.forEach((function(o){var s=function(){r.iterateThroughNodes(e,o,t,n,(function(){--i<=0&&a()}))};r.iframes?r.waitForIframes(o,s):s()}))}}],[{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 a=!1;return n.every((function(t){return!r.call(e,t)||(a=!0,!1)})),a}return!1}}]),e}(),o=function(){function o(e){t(this,o),this.ctx=e,this.ie=!1;var n=window.navigator.userAgent;(n.indexOf("MSIE")>-1||n.indexOf("Trident")>-1)&&(this.ie=!0)}return n(o,[{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 a in t)if(t.hasOwnProperty(a)){var o=t[a],i="disabled"!==this.opt.wildcards?this.setupWildcardsRegExp(a):this.escapeStr(a),s="disabled"!==this.opt.wildcards?this.setupWildcardsRegExp(o):this.escapeStr(o);""!==i&&""!==s&&(e=e.replace(new RegExp("("+this.escapeStr(i)+"|"+this.escapeStr(s)+")","gm"+n),r+"("+this.processSynomyms(i)+"|"+this.processSynomyms(s)+")"+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(a){n.every((function(n){if(-1!==n.indexOf(a)){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,a="string"==typeof r?r:r.value,o="string"==typeof r?[]:r.limiters,i="";switch(o.forEach((function(e){i+="|"+t.escapeStr(e)})),a){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 a=t.callNoMatchOnInvalidRanges(e,r),o=a.start,i=a.end;a.valid&&(e.start=o,e.length=i-o,n.push(e),r=i)})),n}},{key:"callNoMatchOnInvalidRanges",value:function(e,t){var n=void 0,r=void 0,a=!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?a=!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:a}}},{key:"checkWhitespaceRanges",value:function(e,t,n){var r=void 0,a=!0,o=n.length,i=t-o,s=parseInt(e.start,10)-i;return(r=(s=s>o?o:s)+parseInt(e.length,10))>o&&(r=o,this.log("End range automatically set to the max value of "+o)),s<0||r-s<0||s>o||r>o?(a=!1,this.log("Invalid range: "+JSON.stringify(e)),this.opt.noMatch(e)):""===n.substring(s,r).replace(/\s+/g,"")&&(a=!1,this.log("Skipping whitespace only range: "+JSON.stringify(e)),this.opt.noMatch(e)),{start:s,end:r,valid:a}}},{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 a.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",a=e.splitText(t),o=a.splitText(n-t),i=document.createElement(r);return i.setAttribute("data-markjs","true"),this.opt.className&&i.setAttribute("class",this.opt.className),i.textContent=a.textContent,a.parentNode.replaceChild(i,a),o}},{key:"wrapRangeInMappedTextNode",value:function(e,t,n,r,a){var o=this;e.nodes.every((function(i,s){var l=e.nodes[s+1];if(void 0===l||l.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=o.wrapRangeInTextNode(i.node,u,c),e.value=d+f,e.nodes.forEach((function(t,n){n>=s&&(e.nodes[n].start>0&&n!==s&&(e.nodes[n].start-=c),e.nodes[n].end-=c)})),n-=c,a(i.node.previousSibling,i.start),!(n>i.end))return!1;t=i.end}return!0}))}},{key:"wrapMatches",value:function(e,t,n,r,a){var o=this,i=0===t?0:t+1;this.getTextNodes((function(t){t.nodes.forEach((function(t){t=t.node;for(var a=void 0;null!==(a=e.exec(t.textContent))&&""!==a[i];)if(n(a[i],t)){var s=a.index;if(0!==i)for(var l=1;l{"use strict";n.r(t)},4970:(e,t,n)=>{"use strict";n.r(t)},4564:function(e,t,n){var r,a;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 a(e,t,n){return en?n:e}function o(e){return 100*(-1+e)}function i(e,t,n){var a;return(a="translate3d"===r.positionUsing?{transform:"translate3d("+o(e)+"%,0,0)"}:"translate"===r.positionUsing?{transform:"translate("+o(e)+"%,0)"}:{"margin-left":o(e)+"%"}).transition="all "+t+"ms "+n,a}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=a(e,r.minimum,1),n.status=1===e?null:e;var o=n.render(!t),u=o.querySelector(r.barSelector),c=r.speed,d=r.easing;return o.offsetWidth,s((function(t){""===r.positionUsing&&(r.positionUsing=n.getPositioningCSS()),l(u,i(e,c,d)),1===e?(l(o,{transition:"none",opacity:1}),o.offsetWidth,setTimeout((function(){l(o,{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)*a(Math.random()*t,.1,.95)),t=a(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 a,i=t.querySelector(r.barSelector),s=e?"-100":o(n.status||0),u=document.querySelector(r.parent);return l(i,{transition:"all 0 linear",transform:"translate3d("+s+"%,0,0)"}),r.showSpinner||(a=t.querySelector(r.spinnerSelector))&&p(a),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 s=function(){var e=[];function t(){var n=e.shift();n&&n(t)}return function(n){e.push(n),1==e.length&&t()}}(),l=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,a=e.length,o=t.charAt(0).toUpperCase()+t.slice(1);a--;)if((r=e[a]+o)in n)return r;return t}function a(e){return e=n(e),t[e]||(t[e]=r(e))}function o(e,t,n){t=a(t),e.style[t]=n}return function(e,t){var n,r,a=arguments;if(2==a.length)for(n in t)void 0!==(r=t[n])&&t.hasOwnProperty(n)&&o(e,n,r);else o(e,a[1],a[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===(a="function"==typeof r?r.call(t,n,t,e):r)||(e.exports=a)},5445:(e,t,n)=>{var r=n(1434);e.exports=h,e.exports.parse=o,e.exports.compile=function(e,t){return l(o(e,t),t)},e.exports.tokensToFunction=l,e.exports.tokensToRegExp=p;var a=new RegExp(["(\\\\.)","([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))"].join("|"),"g");function o(e,t){for(var n,r=[],o=0,s=0,l="",u=t&&t.delimiter||"/";null!=(n=a.exec(e));){var d=n[0],f=n[1],p=n.index;if(l+=e.slice(s,p),s=p+d.length,f)l+=f[1];else{var h=e[s],g=n[2],m=n[3],y=n[4],b=n[5],v=n[6],w=n[7];l&&(r.push(l),l="");var k=null!=g&&null!=h&&h!==g,x="+"===v||"*"===v,S="?"===v||"*"===v,E=g||u,_=y||b,C=g||("string"==typeof r[r.length-1]?r[r.length-1]:"");r.push({name:m||o++,prefix:g||"",delimiter:E,optional:S,repeat:x,partial:k,asterisk:!!w,pattern:_?c(_):w?".*":i(E,C)})}}return s-1?"[^"+u(e)+"]+?":u(t)+"|(?:(?!"+u(t)+")[^"+u(e)+"])+?"}function s(e){return encodeURI(e).replace(/[\/?#]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))}function l(e,t){for(var n=new Array(e.length),a=0;a{!function(e){var t="\\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\\b",n={pattern:/(^(["']?)\w+\2)[ \t]+\S.*/,lookbehind:!0,alias:"punctuation",inside:null},r={bash:n,environment:{pattern:RegExp("\\$"+t),alias:"constant"},variable:[{pattern:/\$?\(\([\s\S]+?\)\)/,greedy:!0,inside:{variable:[{pattern:/(^\$\(\([\s\S]+)\)\)/,lookbehind:!0},/^\$\(\(/],number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee]-?\d+)?/,operator:/--|\+\+|\*\*=?|<<=?|>>=?|&&|\|\||[=!+\-*/%<>^&|]=?|[?~:]/,punctuation:/\(\(?|\)\)?|,|;/}},{pattern:/\$\((?:\([^)]+\)|[^()])+\)|`[^`]+`/,greedy:!0,inside:{variable:/^\$\(|^`|\)$|`$/}},{pattern:/\$\{[^}]+\}/,greedy:!0,inside:{operator:/:[-=?+]?|[!\/]|##?|%%?|\^\^?|,,?/,punctuation:/[\[\]]/,environment:{pattern:RegExp("(\\{)"+t),lookbehind:!0,alias:"constant"}}},/\$(?:\w+|[#?*!@$])/],entity:/\\(?:[abceEfnrtv\\"]|O?[0-7]{1,3}|U[0-9a-fA-F]{8}|u[0-9a-fA-F]{4}|x[0-9a-fA-F]{1,2})/};e.languages.bash={shebang:{pattern:/^#!\s*\/.*/,alias:"important"},comment:{pattern:/(^|[^"{\\$])#.*/,lookbehind:!0},"function-name":[{pattern:/(\bfunction\s+)[\w-]+(?=(?:\s*\(?:\s*\))?\s*\{)/,lookbehind:!0,alias:"function"},{pattern:/\b[\w-]+(?=\s*\(\s*\)\s*\{)/,alias:"function"}],"for-or-select":{pattern:/(\b(?:for|select)\s+)\w+(?=\s+in\s)/,alias:"variable",lookbehind:!0},"assign-left":{pattern:/(^|[\s;|&]|[<>]\()\w+(?:\.\w+)*(?=\+?=)/,inside:{environment:{pattern:RegExp("(^|[\\s;|&]|[<>]\\()"+t),lookbehind:!0,alias:"constant"}},alias:"variable",lookbehind:!0},parameter:{pattern:/(^|\s)-{1,2}(?:\w+:[+-]?)?\w+(?:\.\w+)*(?=[=\s]|$)/,alias:"variable",lookbehind:!0},string:[{pattern:/((?:^|[^<])<<-?\s*)(\w+)\s[\s\S]*?(?:\r?\n|\r)\2/,lookbehind:!0,greedy:!0,inside:r},{pattern:/((?:^|[^<])<<-?\s*)(["'])(\w+)\2\s[\s\S]*?(?:\r?\n|\r)\3/,lookbehind:!0,greedy:!0,inside:{bash:n}},{pattern:/(^|[^\\](?:\\\\)*)"(?:\\[\s\S]|\$\([^)]+\)|\$(?!\()|`[^`]+`|[^"\\`$])*"/,lookbehind:!0,greedy:!0,inside:r},{pattern:/(^|[^$\\])'[^']*'/,lookbehind:!0,greedy:!0},{pattern:/\$'(?:[^'\\]|\\[\s\S])*'/,greedy:!0,inside:{entity:r.entity}}],environment:{pattern:RegExp("\\$?"+t),alias:"constant"},variable:r.variable,function:{pattern:/(^|[\s;|&]|[<>]\()(?:add|apropos|apt|apt-cache|apt-get|aptitude|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cargo|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|docker|docker-compose|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|java|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|node|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|podman|podman-compose|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|sysctl|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vcpkg|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[)\s;|&])/,lookbehind:!0},keyword:{pattern:/(^|[\s;|&]|[<>]\()(?:case|do|done|elif|else|esac|fi|for|function|if|in|select|then|until|while)(?=$|[)\s;|&])/,lookbehind:!0},builtin:{pattern:/(^|[\s;|&]|[<>]\()(?:\.|:|alias|bind|break|builtin|caller|cd|command|continue|declare|echo|enable|eval|exec|exit|export|getopts|hash|help|let|local|logout|mapfile|printf|pwd|read|readarray|readonly|return|set|shift|shopt|source|test|times|trap|type|typeset|ulimit|umask|unalias|unset)(?=$|[)\s;|&])/,lookbehind:!0,alias:"class-name"},boolean:{pattern:/(^|[\s;|&]|[<>]\()(?:false|true)(?=$|[)\s;|&])/,lookbehind:!0},"file-descriptor":{pattern:/\B&\d\b/,alias:"important"},operator:{pattern:/\d?<>|>\||\+=|=[=~]?|!=?|<<[<-]?|[&\d]?>>|\d[<>]&?|[<>][&=]?|&[>&]?|\|[&|]?/,inside:{"file-descriptor":{pattern:/^\d/,alias:"important"}}},punctuation:/\$?\(\(?|\)\)?|\.\.|[{}[\];\\]/,number:{pattern:/(^|\s)(?:[1-9]\d*|0)(?:[.,]\d+)?\b/,lookbehind:!0}},n.inside=e.languages.bash;for(var a=["comment","function-name","for-or-select","assign-left","parameter","string","environment","function","keyword","builtin","boolean","file-descriptor","operator","punctuation","number"],o=r.variable[1].inside,i=0;i{Prism.languages.hcl={comment:/(?:\/\/|#).*|\/\*[\s\S]*?(?:\*\/|$)/,heredoc:{pattern:/<<-?(\w+\b)[\s\S]*?^[ \t]*\1/m,greedy:!0,alias:"string"},keyword:[{pattern:/(?:data|resource)\s+(?:"(?:\\[\s\S]|[^\\"])*")(?=\s+"[\w-]+"\s+\{)/i,inside:{type:{pattern:/(resource|data|\s+)(?:"(?:\\[\s\S]|[^\\"])*")/i,lookbehind:!0,alias:"variable"}}},{pattern:/(?:backend|module|output|provider|provisioner|variable)\s+(?:[\w-]+|"(?:\\[\s\S]|[^\\"])*")\s+(?=\{)/i,inside:{type:{pattern:/(backend|module|output|provider|provisioner|variable)\s+(?:[\w-]+|"(?:\\[\s\S]|[^\\"])*")\s+/i,lookbehind:!0,alias:"variable"}}},/[\w-]+(?=\s+\{)/],property:[/[-\w\.]+(?=\s*=(?!=))/,/"(?:\\[\s\S]|[^\\"])+"(?=\s*[:=])/],string:{pattern:/"(?:[^\\$"]|\\[\s\S]|\$(?:(?=")|\$+(?!\$)|[^"${])|\$\{(?:[^{}"]|"(?:[^\\"]|\\[\s\S])*")*\})*"/,greedy:!0,inside:{interpolation:{pattern:/(^|[^$])\$\{(?:[^{}"]|"(?:[^\\"]|\\[\s\S])*")*\}/,lookbehind:!0,inside:{type:{pattern:/(\b(?:count|data|local|module|path|self|terraform|var)\b\.)[\w\*]+/i,lookbehind:!0,alias:"variable"},keyword:/\b(?:count|data|local|module|path|self|terraform|var)\b/i,function:/\w+(?=\()/,string:{pattern:/"(?:\\[\s\S]|[^\\"])*"/,greedy:!0},number:/\b0x[\da-f]+\b|\b\d+(?:\.\d*)?(?:e[+-]?\d+)?/i,punctuation:/[!\$#%&'()*+,.\/;<=>@\[\\\]^`{|}~?:]/}}}},number:/\b0x[\da-f]+\b|\b\d+(?:\.\d*)?(?:e[+-]?\d+)?/i,boolean:/\b(?:false|true)\b/i,punctuation:/[=\[\]{}]/}},3966:()=>{!function(e){var t=/\b(?:abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|exports|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|module|native|new|non-sealed|null|open|opens|package|permits|private|protected|provides|public|record(?!\s*[(){}[\]<>=%~.:,;?+\-*/&|^])|requires|return|sealed|short|static|strictfp|super|switch|synchronized|this|throw|throws|to|transient|transitive|try|uses|var|void|volatile|while|with|yield)\b/,n=/(?:[a-z]\w*\s*\.\s*)*(?:[A-Z]\w*\s*\.\s*)*/.source,r={pattern:RegExp(/(^|[^\w.])/.source+n+/[A-Z](?:[\d_A-Z]*[a-z]\w*)?\b/.source),lookbehind:!0,inside:{namespace:{pattern:/^[a-z]\w*(?:\s*\.\s*[a-z]\w*)*(?:\s*\.)?/,inside:{punctuation:/\./}},punctuation:/\./}};e.languages.java=e.languages.extend("clike",{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"/,lookbehind:!0,greedy:!0},"class-name":[r,{pattern:RegExp(/(^|[^\w.])/.source+n+/[A-Z]\w*(?=\s+\w+\s*[;,=()]|\s*(?:\[[\s,]*\]\s*)?::\s*new\b)/.source),lookbehind:!0,inside:r.inside},{pattern:RegExp(/(\b(?:class|enum|extends|implements|instanceof|interface|new|record|throws)\s+)/.source+n+/[A-Z]\w*\b/.source),lookbehind:!0,inside:r.inside}],keyword:t,function:[e.languages.clike.function,{pattern:/(::\s*)[a-z_]\w*/,lookbehind:!0}],number:/\b0b[01][01_]*L?\b|\b0x(?:\.[\da-f_p+-]+|[\da-f_]+(?:\.[\da-f_p+-]+)?)\b|(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?\d[\d_]*)?[dfl]?/i,operator:{pattern:/(^|[^.])(?:<<=?|>>>?=?|->|--|\+\+|&&|\|\||::|[?:~]|[-+*/%&|^!=<>]=?)/m,lookbehind:!0},constant:/\b[A-Z][A-Z_\d]+\b/}),e.languages.insertBefore("java","string",{"triple-quoted-string":{pattern:/"""[ \t]*[\r\n](?:(?:"|"")?(?:\\.|[^"\\]))*"""/,greedy:!0,alias:"string"},char:{pattern:/'(?:\\.|[^'\\\r\n]){1,6}'/,greedy:!0}}),e.languages.insertBefore("java","class-name",{annotation:{pattern:/(^|[^.])@\w+(?:\s*\.\s*\w+)*/,lookbehind:!0,alias:"punctuation"},generics:{pattern:/<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&))*>)*>)*>)*>/,inside:{"class-name":r,keyword:t,punctuation:/[<>(),.:]/,operator:/[?&|]/}},import:[{pattern:RegExp(/(\bimport\s+)/.source+n+/(?:[A-Z]\w*|\*)(?=\s*;)/.source),lookbehind:!0,inside:{namespace:r.inside.namespace,punctuation:/\./,operator:/\*/,"class-name":/\w+/}},{pattern:RegExp(/(\bimport\s+static\s+)/.source+n+/(?:\w+|\*)(?=\s*;)/.source),lookbehind:!0,alias:"static",inside:{namespace:r.inside.namespace,static:/\b\w+$/,punctuation:/\./,operator:/\*/,"class-name":/\w+/}}],namespace:{pattern:RegExp(/(\b(?:exports|import(?:\s+static)?|module|open|opens|package|provides|requires|to|transitive|uses|with)\s+)(?!)[a-z]\w*(?:\.[a-z]\w*)*\.?/.source.replace(//g,(function(){return t.source}))),lookbehind:!0,inside:{punctuation:/\./}}})}(Prism)},7603:()=>{!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)},3814:()=>{!function(e){function t(e,t){return"___"+e.toUpperCase()+t+"___"}Object.defineProperties(e.languages["markup-templating"]={},{buildPlaceholders:{value:function(n,r,a,o){if(n.language===r){var i=n.tokenStack=[];n.code=n.code.replace(a,(function(e){if("function"==typeof o&&!o(e))return e;for(var a,s=i.length;-1!==n.code.indexOf(a=t(r,s));)++s;return i[s]=e,a})),n.grammar=e.languages.markup}}},tokenizePlaceholders:{value:function(n,r){if(n.language===r&&n.tokenStack){n.grammar=e.languages[r];var a=0,o=Object.keys(n.tokenStack);!function i(s){for(var l=0;l=o.length);l++){var u=s[l];if("string"==typeof u||u.content&&"string"==typeof u.content){var c=o[a],d=n.tokenStack[c],f="string"==typeof u?u:u.content,p=t(r,c),h=f.indexOf(p);if(h>-1){++a;var g=f.substring(0,h),m=new e.Token(r,e.tokenize(d,n.grammar),"language-"+r,d),y=f.substring(h+p.length),b=[];g&&b.push.apply(b,i([g])),b.push(m),y&&b.push.apply(b,i([y])),"string"==typeof u?s.splice.apply(s,[l,1].concat(b)):u.content=b}}else u.content&&i(u.content)}return s}(n.tokens)}}}})}(Prism)},6870:(e,t,n)=>{"use strict";var r=n(6701);function a(){}function o(){}o.resetWarningCache=a,e.exports=function(){function e(e,t,n,a,o,i){if(i!==r){var s=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 s.name="Invariant Violation",s}}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:o,resetWarningCache:a};return n.PropTypes=n,n}},3108:(e,t,n)=>{e.exports=n(6870)()},6701:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},5387:(e,t,n)=>{"use strict";var r=n(1240),a=n(8225),o=n(8941);function i(e){var t="https://react.dev/errors/"+e;if(1)":-1--a||l[r]!==u[a]){var c="\n"+l[r].replace(" at new "," at ");return e.displayName&&c.includes("")&&(c=c.replace("",e.displayName)),c}}while(1<=r&&0<=a);break}}}finally{j=!1,Error.prepareStackTrace=n}return(n=e?e.displayName||e.name:"")?L(n):""}function I(e){switch(e.tag){case 26:case 27:case 5:return L(e.type);case 16:return L("Lazy");case 13:return L("Suspense");case 19:return L("SuspenseList");case 0:case 15:return e=R(e.type,!1);case 11:return e=R(e.type.render,!1);case 1:return e=R(e.type,!0);default:return""}}function F(e){try{var t="";do{t+=I(e),e=e.return}while(e);return t}catch(n){return"\nError generating stack: "+n.message+"\n"+n.stack}}function D(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do{!!(4098&(t=e).flags)&&(n=t.return),e=t.return}while(e)}return 3===t.tag?n:null}function M(e){if(13===e.tag){var t=e.memoizedState;if(null===t&&(null!==(e=e.alternate)&&(t=e.memoizedState)),null!==t)return t.dehydrated}return null}function z(e){if(D(e)!==e)throw Error(i(188))}function $(e){var t=e.tag;if(5===t||26===t||27===t||6===t)return e;for(e=e.child;null!==e;){if(null!==(t=$(e)))return t;e=e.sibling}return null}var B=Array.isArray,U=o.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,H={pending:!1,data:null,method:null,action:null},V=[],W=-1;function Q(e){return{current:e}}function q(e){0>W||(e.current=V[W],V[W]=null,W--)}function G(e,t){W++,V[W]=e.current,e.current=t}var K=Q(null),Y=Q(null),Z=Q(null),X=Q(null);function J(e,t){switch(G(Z,t),G(Y,e),G(K,null),e=t.nodeType){case 9:case 11:t=(t=t.documentElement)&&(t=t.namespaceURI)?Yc(t):0;break;default:if(t=(e=8===e?t.parentNode:t).tagName,e=e.namespaceURI)t=Zc(e=Yc(e),t);else switch(t){case"svg":t=1;break;case"math":t=2;break;default:t=0}}q(K),G(K,t)}function ee(){q(K),q(Y),q(Z)}function te(e){null!==e.memoizedState&&G(X,e);var t=K.current,n=Zc(t,e.type);t!==n&&(G(Y,e),G(K,n))}function ne(e){Y.current===e&&(q(K),q(Y)),X.current===e&&(q(X),Fd._currentValue=H)}var re=Object.prototype.hasOwnProperty,ae=r.unstable_scheduleCallback,oe=r.unstable_cancelCallback,ie=r.unstable_shouldYield,se=r.unstable_requestPaint,le=r.unstable_now,ue=r.unstable_getCurrentPriorityLevel,ce=r.unstable_ImmediatePriority,de=r.unstable_UserBlockingPriority,fe=r.unstable_NormalPriority,pe=r.unstable_LowPriority,he=r.unstable_IdlePriority,ge=r.log,me=r.unstable_setDisableYieldValue,ye=null,be=null;function ve(e){if("function"==typeof ge&&me(e),be&&"function"==typeof be.setStrictMode)try{be.setStrictMode(ye,e)}catch(t){}}var we=Math.clz32?Math.clz32:function(e){return 0===(e>>>=0)?32:31-(ke(e)/xe|0)|0},ke=Math.log,xe=Math.LN2;var Se=128,Ee=4194304;function _e(e){var t=42&e;if(0!==t)return t;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return 4194176&e;case 4194304:case 8388608:case 16777216:case 33554432:return 62914560&e;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function Ce(e,t){var n=e.pendingLanes;if(0===n)return 0;var r=0,a=e.suspendedLanes,o=e.pingedLanes,i=e.warmLanes;e=0!==e.finishedLanes;var s=134217727&n;return 0!==s?0!==(n=s&~a)?r=_e(n):0!==(o&=s)?r=_e(o):e||0!==(i=s&~i)&&(r=_e(i)):0!==(s=n&~a)?r=_e(s):0!==o?r=_e(o):e||0!==(i=n&~i)&&(r=_e(i)),0===r?0:0!==t&&t!==r&&!(t&a)&&((a=r&-r)>=(i=t&-t)||32===a&&4194176&i)?t:r}function Ae(e,t){return!(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)}function Te(e,t){switch(e){case 1:case 2:case 4:case 8:return t+250;case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;default:return-1}}function Oe(){var e=Se;return!(4194176&(Se<<=1))&&(Se=128),e}function Ne(){var e=Ee;return!(62914560&(Ee<<=1))&&(Ee=4194304),e}function Pe(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function Le(e,t){e.pendingLanes|=t,268435456!==t&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function je(e,t,n){e.pendingLanes|=t,e.suspendedLanes&=~t;var r=31-we(t);e.entangledLanes|=t,e.entanglements[r]=1073741824|e.entanglements[r]|4194218&n}function Re(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var r=31-we(n),a=1<=xn),_n=String.fromCharCode(32),Cn=!1;function An(e,t){switch(e){case"keyup":return-1!==wn.indexOf(t.keyCode);case"keydown":return 229!==t.keyCode;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Tn(e){return"object"==typeof(e=e.detail)&&"data"in e?e.data:null}var On=!1;var Nn={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function Pn(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return"input"===t?!!Nn[e.type]:"textarea"===t}function Ln(e,t,n,r){Lt?jt?jt.push(r):jt=[r]:Lt=r,0<(t=Fc(t,"onChange")).length&&(n=new Xt("onChange","change",null,n,r),e.push({event:n,listeners:t}))}var jn=null,Rn=null;function In(e){Tc(e,0)}function Fn(e){if(ft(Ke(e)))return e}function Dn(e,t){if("change"===e)return t}var Mn=!1;if(nt){var zn;if(nt){var $n="oninput"in document;if(!$n){var Bn=document.createElement("div");Bn.setAttribute("oninput","return;"),$n="function"==typeof Bn.oninput}zn=$n}else zn=!1;Mn=zn&&(!document.documentMode||9=t)return{node:r,offset:t-e};e=n}e:{for(;r;){if(r.nextSibling){r=r.nextSibling;break e}r=r.parentNode}r=void 0}r=Yn(r)}}function Xn(e,t){return!(!e||!t)&&(e===t||(!e||3!==e.nodeType)&&(t&&3===t.nodeType?Xn(e,t.parentNode):"contains"in e?e.contains(t):!!e.compareDocumentPosition&&!!(16&e.compareDocumentPosition(t))))}function Jn(e){for(var t=pt((e=null!=e&&null!=e.ownerDocument&&null!=e.ownerDocument.defaultView?e.ownerDocument.defaultView:window).document);t instanceof e.HTMLIFrameElement;){try{var n="string"==typeof t.contentWindow.location.href}catch(r){n=!1}if(!n)break;t=pt((e=t.contentWindow).document)}return t}function er(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&("input"===t&&("text"===e.type||"search"===e.type||"tel"===e.type||"url"===e.type||"password"===e.type)||"textarea"===t||"true"===e.contentEditable)}function tr(e,t){var n=Jn(t);t=e.focusedElem;var r=e.selectionRange;if(n!==t&&t&&t.ownerDocument&&Xn(t.ownerDocument.documentElement,t)){if(null!==r&&er(t))if(e=r.start,void 0===(n=r.end)&&(n=e),"selectionStart"in t)t.selectionStart=e,t.selectionEnd=Math.min(n,t.value.length);else if((n=(e=t.ownerDocument||document)&&e.defaultView||window).getSelection){n=n.getSelection();var a=t.textContent.length,o=Math.min(r.start,a);r=void 0===r.end?o:Math.min(r.end,a),!n.extend&&o>r&&(a=r,r=o,o=a),a=Zn(t,o);var i=Zn(t,r);a&&i&&(1!==n.rangeCount||n.anchorNode!==a.node||n.anchorOffset!==a.offset||n.focusNode!==i.node||n.focusOffset!==i.offset)&&((e=e.createRange()).setStart(a.node,a.offset),n.removeAllRanges(),o>r?(n.addRange(e),n.extend(i.node,i.offset)):(e.setEnd(i.node,i.offset),n.addRange(e)))}for(e=[],n=t;n=n.parentNode;)1===n.nodeType&&e.push({element:n,left:n.scrollLeft,top:n.scrollTop});for("function"==typeof t.focus&&t.focus(),t=0;t=document.documentMode,rr=null,ar=null,or=null,ir=!1;function sr(e,t,n){var r=n.window===n?n.document:9===n.nodeType?n:n.ownerDocument;ir||null==rr||rr!==pt(r)||("selectionStart"in(r=rr)&&er(r)?r={start:r.selectionStart,end:r.selectionEnd}:r={anchorNode:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection()).anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset},or&&Kn(or,r)||(or=r,0<(r=Fc(ar,"onSelect")).length&&(t=new Xt("onSelect","select",null,t,n),e.push({event:t,listeners:r}),t.target=rr)))}function lr(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var ur={animationend:lr("Animation","AnimationEnd"),animationiteration:lr("Animation","AnimationIteration"),animationstart:lr("Animation","AnimationStart"),transitionrun:lr("Transition","TransitionRun"),transitionstart:lr("Transition","TransitionStart"),transitioncancel:lr("Transition","TransitionCancel"),transitionend:lr("Transition","TransitionEnd")},cr={},dr={};function fr(e){if(cr[e])return cr[e];if(!ur[e])return e;var t,n=ur[e];for(t in n)if(n.hasOwnProperty(t)&&t in dr)return cr[e]=n[t];return e}nt&&(dr=document.createElement("div").style,"AnimationEvent"in window||(delete ur.animationend.animation,delete ur.animationiteration.animation,delete ur.animationstart.animation),"TransitionEvent"in window||delete ur.transitionend.transition);var pr=fr("animationend"),hr=fr("animationiteration"),gr=fr("animationstart"),mr=fr("transitionrun"),yr=fr("transitionstart"),br=fr("transitioncancel"),vr=fr("transitionend"),wr=new Map,kr="abort auxClick beforeToggle cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll scrollEnd toggle touchMove waiting wheel".split(" ");function xr(e,t){wr.set(e,t),et(t,[e])}var Sr=[],Er=0,_r=0;function Cr(){for(var e=Er,t=_r=Er=0;t>=i,a-=i,Ur=1<<32-we(t)+a|n<f?(p=d,d=null):p=d.sibling;var h=y(a,d,s[f],l);if(null===h){null===d&&(d=p);break}e&&d&&null===h.alternate&&t(a,d),i=o(h,i,f),null===c?u=h:c.sibling=h,c=h,d=p}if(f===s.length)return n(a,d),Yr&&Vr(a,f),u;if(null===d){for(;fp?(h=f,f=null):h=f.sibling;var v=y(a,f,m.value,u);if(null===v){null===f&&(f=h);break}e&&f&&null===v.alternate&&t(a,f),s=o(v,s,p),null===d?c=v:d.sibling=v,d=v,f=h}if(m.done)return n(a,f),Yr&&Vr(a,p),c;if(null===f){for(;!m.done;p++,m=l.next())null!==(m=g(a,m.value,u))&&(s=o(m,s,p),null===d?c=m:d.sibling=m,d=m);return Yr&&Vr(a,p),c}for(f=r(f);!m.done;p++,m=l.next())null!==(m=b(f,a,p,m.value,u))&&(e&&null!==m.alternate&&f.delete(null===m.key?p:m.key),s=o(m,s,p),null===d?c=m:d.sibling=m,d=m);return e&&f.forEach((function(e){return t(a,e)})),Yr&&Vr(a,p),c}(l,f,p=w.call(p),h)}if("function"==typeof p.then)return v(l,f,ma(p),h);if(p.$$typeof===m)return v(l,f,Cs(l,p),h);ba(l,p)}return"string"==typeof p&&""!==p||"number"==typeof p||"bigint"==typeof p?(p=""+p,null!==f&&6===f.tag?(n(l,f.sibling),(h=a(f,p)).return=l,l=h):(n(l,f),(h=Ul(p,l.mode,h)).return=l,l=h),s(l)):n(l,f)}return function(e,t,n,r){try{ga=0;var a=v(e,t,n,r);return ha=null,a}catch(i){if(i===ia)throw i;var o=Il(29,i,null,e.mode);return o.lanes=r,o.return=e,o}}}var ka=wa(!0),xa=wa(!1),Sa=Q(null),Ea=Q(0);function _a(e,t){G(Ea,e=uu),G(Sa,t),uu=e|t.baseLanes}function Ca(){G(Ea,uu),G(Sa,Sa.current)}function Aa(){uu=Ea.current,q(Sa),q(Ea)}var Ta=Q(null),Oa=null;function Na(e){var t=e.alternate;G(Ra,1&Ra.current),G(Ta,e),null===Oa&&(null===t||null!==Sa.current||null!==t.memoizedState)&&(Oa=e)}function Pa(e){if(22===e.tag){if(G(Ra,Ra.current),G(Ta,e),null===Oa){var t=e.alternate;null!==t&&null!==t.memoizedState&&(Oa=e)}}else La()}function La(){G(Ra,Ra.current),G(Ta,Ta.current)}function ja(e){q(Ta),Oa===e&&(Oa=null),q(Ra)}var Ra=Q(0);function Ia(e){for(var t=e;null!==t;){if(13===t.tag){var n=t.memoizedState;if(null!==n&&(null===(n=n.dehydrated)||"$?"===n.data||"$!"===n.data))return t}else if(19===t.tag&&void 0!==t.memoizedProps.revealOrder){if(128&t.flags)return t}else if(null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var Fa="undefined"!=typeof AbortController?AbortController:function(){var e=[],t=this.signal={aborted:!1,addEventListener:function(t,n){e.push(n)}};this.abort=function(){t.aborted=!0,e.forEach((function(e){return e()}))}},Da=r.unstable_scheduleCallback,Ma=r.unstable_NormalPriority,za={$$typeof:m,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function $a(){return{controller:new Fa,data:new Map,refCount:0}}function Ba(e){e.refCount--,0===e.refCount&&Da(Ma,(function(){e.controller.abort()}))}var Ua=null,Ha=0,Va=0,Wa=null;function Qa(){if(0==--Ha&&null!==Ua){null!==Wa&&(Wa.status="fulfilled");var e=Ua;Ua=null,Va=0,Wa=null;for(var t=0;to?o:8;var i,s,l,u=N.T,c={};N.T=c,ki(e,!1,t,n);try{var d=a(),f=N.S;if(null!==f&&f(c,d),null!==d&&"object"==typeof d&&"function"==typeof d.then)wi(e,t,(i=r,s=[],l={status:"pending",value:null,reason:null,then:function(e){s.push(e)}},d.then((function(){l.status="fulfilled",l.value=i;for(var e=0;e title"))),Qc(o,r,n),o[Me]=e,Ze(o),r=o;break e;case"link":var s=Ad("link","href",a).get(r+(n.href||""));if(s)for(var l=0;l<\/script>",e=e.removeChild(e.firstChild);break;case"select":e="string"==typeof r.is?a.createElement("select",{is:r.is}):a.createElement("select"),r.multiple?e.multiple=!0:r.size&&(e.size=r.size);break;default:e="string"==typeof r.is?a.createElement(n,{is:r.is}):a.createElement(n)}}e[Me]=t,e[ze]=r;e:for(a=t.child;null!==a;){if(5===a.tag||6===a.tag)e.appendChild(a.stateNode);else if(4!==a.tag&&27!==a.tag&&null!==a.child){a.child.return=a,a=a.child;continue}if(a===t)break e;for(;null===a.sibling;){if(null===a.return||a.return===t)break e;a=a.return}a.sibling.return=a.return,a=a.sibling}t.stateNode=e;e:switch(Qc(e,n,r),n){case"button":case"input":case"select":case"textarea":e=!!r.autoFocus;break e;case"img":e=!0;break e;default:e=!1}e&&Vl(t)}}return Gl(t),t.flags&=-16777217,null;case 6:if(e&&null!=t.stateNode)e.memoizedProps!==r&&Vl(t);else{if("string"!=typeof r&&null===t.stateNode)throw Error(i(166));if(e=Z.current,ra(t)){if(e=t.stateNode,n=t.memoizedProps,r=null,null!==(a=Gr))switch(a.tag){case 27:case 5:r=a.memoizedProps}e[Me]=t,(e=!!(e.nodeValue===n||null!==r&&!0===r.suppressHydrationWarning||Uc(e.nodeValue,n)))||ea(t)}else(e=Kc(e).createTextNode(r))[Me]=t,t.stateNode=e}return Gl(t),null;case 13:if(r=t.memoizedState,null===e||null!==e.memoizedState&&null!==e.memoizedState.dehydrated){if(a=ra(t),null!==r&&null!==r.dehydrated){if(null===e){if(!a)throw Error(i(318));if(!(a=null!==(a=t.memoizedState)?a.dehydrated:null))throw Error(i(317));a[Me]=t}else aa(),!(128&t.flags)&&(t.memoizedState=null),t.flags|=4;Gl(t),a=!1}else null!==Zr&&(Ru(Zr),Zr=null),a=!0;if(!a)return 256&t.flags?(ja(t),t):(ja(t),null)}if(ja(t),128&t.flags)return t.lanes=n,t;if(n=null!==r,e=null!==e&&null!==e.memoizedState,n){a=null,null!==(r=t.child).alternate&&null!==r.alternate.memoizedState&&null!==r.alternate.memoizedState.cachePool&&(a=r.alternate.memoizedState.cachePool.pool);var o=null;null!==r.memoizedState&&null!==r.memoizedState.cachePool&&(o=r.memoizedState.cachePool.pool),o!==a&&(r.flags|=2048)}return n!==e&&n&&(t.child.flags|=8192),Ql(t,t.updateQueue),Gl(t),null;case 4:return ee(),null===e&&Lc(t.stateNode.containerInfo),Gl(t),null;case 10:return vs(t.type),Gl(t),null;case 19:if(q(Ra),null===(a=t.memoizedState))return Gl(t),null;if(r=!!(128&t.flags),null===(o=a.rendering))if(r)ql(a,!1);else{if(0!==cu||null!==e&&128&e.flags)for(e=t.child;null!==e;){if(null!==(o=Ia(e))){for(t.flags|=128,ql(a,!1),e=o.updateQueue,t.updateQueue=e,Ql(t,e),t.subtreeFlags=0,e=n,n=t.child;null!==n;)Ml(n,e),n=n.sibling;return G(Ra,1&Ra.current|2),t.child}e=e.sibling}null!==a.tail&&le()>wu&&(t.flags|=128,r=!0,ql(a,!1),t.lanes=4194304)}else{if(!r)if(null!==(e=Ia(o))){if(t.flags|=128,r=!0,e=e.updateQueue,t.updateQueue=e,Ql(t,e),ql(a,!0),null===a.tail&&"hidden"===a.tailMode&&!o.alternate&&!Yr)return Gl(t),null}else 2*le()-a.renderingStartTime>wu&&536870912!==n&&(t.flags|=128,r=!0,ql(a,!1),t.lanes=4194304);a.isBackwards?(o.sibling=t.child,t.child=o):(null!==(e=a.last)?e.sibling=o:t.child=o,a.last=o)}return null!==a.tail?(t=a.tail,a.rendering=t,a.tail=t.sibling,a.renderingStartTime=le(),t.sibling=null,e=Ra.current,G(Ra,r?1&e|2:1&e),t):(Gl(t),null);case 22:case 23:return ja(t),Aa(),r=null!==t.memoizedState,null!==e?null!==e.memoizedState!==r&&(t.flags|=8192):r&&(t.flags|=8192),r?!!(536870912&n)&&!(128&t.flags)&&(Gl(t),6&t.subtreeFlags&&(t.flags|=8192)):Gl(t),null!==(n=t.updateQueue)&&Ql(t,n.retryQueue),n=null,null!==e&&null!==e.memoizedState&&null!==e.memoizedState.cachePool&&(n=e.memoizedState.cachePool.pool),r=null,null!==t.memoizedState&&null!==t.memoizedState.cachePool&&(r=t.memoizedState.cachePool.pool),r!==n&&(t.flags|=2048),null!==e&&q(Ga),null;case 24:return n=null,null!==e&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),vs(za),Gl(t),null;case 25:return null}throw Error(i(156,t.tag))}function Yl(e,t){switch(qr(t),t.tag){case 1:return 65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 3:return vs(za),ee(),65536&(e=t.flags)&&!(128&e)?(t.flags=-65537&e|128,t):null;case 26:case 27:case 5:return ne(t),null;case 13:if(ja(t),null!==(e=t.memoizedState)&&null!==e.dehydrated){if(null===t.alternate)throw Error(i(340));aa()}return 65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 19:return q(Ra),null;case 4:return ee(),null;case 10:return vs(t.type),null;case 22:case 23:return ja(t),Aa(),null!==e&&q(Ga),65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 24:return vs(za),null;default:return null}}function Zl(e,t){switch(qr(t),t.tag){case 3:vs(za),ee();break;case 26:case 27:case 5:ne(t);break;case 4:ee();break;case 13:ja(t);break;case 19:q(Ra);break;case 10:vs(t.type);break;case 22:case 23:ja(t),Aa(),null!==e&&q(Ga);break;case 24:vs(za)}}var Xl={getCacheForType:function(e){var t=_s(za),n=t.data.get(e);return void 0===n&&(n=e(),t.data.set(e,n)),n}},Jl="function"==typeof WeakMap?WeakMap:Map,eu=0,tu=null,nu=null,ru=0,au=0,ou=null,iu=!1,su=!1,lu=!1,uu=0,cu=0,du=0,fu=0,pu=0,hu=0,gu=0,mu=null,yu=null,bu=!1,vu=0,wu=1/0,ku=null,xu=null,Su=!1,Eu=null,_u=0,Cu=0,Au=null,Tu=0,Ou=null;function Nu(){if(2&eu&&0!==ru)return ru&-ru;if(null!==N.T){return 0!==Va?Va:kc()}return Fe()}function Pu(){0===hu&&(hu=536870912&ru&&!Yr?536870912:Oe());var e=Ta.current;return null!==e&&(e.flags|=32),hu}function Lu(e,t,n){(e===tu&&2===au||null!==e.cancelPendingCommit)&&($u(e,0),Du(e,ru,hu,!1)),Le(e,n),2&eu&&e===tu||(e===tu&&(!(2&eu)&&(fu|=n),4===cu&&Du(e,ru,hu,!1)),gc(e))}function ju(e,t,n){if(6&eu)throw Error(i(327));for(var r=!n&&!(60&t)&&!(t&e.expiredLanes)||Ae(e,t),a=r?function(e,t){var n=eu;eu|=2;var r=Uu(),a=Hu();tu!==e||ru!==t?(ku=null,wu=le()+500,$u(e,t)):su=Ae(e,t);e:for(;;)try{if(0!==au&&null!==nu){t=nu;var o=ou;t:switch(au){case 1:au=0,ou=null,Yu(e,t,o,1);break;case 2:if(ua(o)){au=0,ou=null,Ku(t);break}t=function(){2===au&&tu===e&&(au=7),gc(e)},o.then(t,t);break e;case 3:au=7;break e;case 4:au=5;break e;case 7:ua(o)?(au=0,ou=null,Ku(t)):(au=0,ou=null,Yu(e,t,o,7));break;case 5:var s=null;switch(nu.tag){case 26:s=nu.memoizedState;case 5:case 27:var l=nu;if(!s||Od(s)){au=0,ou=null;var u=l.sibling;if(null!==u)nu=u;else{var c=l.return;null!==c?(nu=c,Zu(c)):nu=null}break t}}au=0,ou=null,Yu(e,t,o,5);break;case 6:au=0,ou=null,Yu(e,t,o,6);break;case 8:zu(),cu=6;break e;default:throw Error(i(462))}}qu();break}catch(d){Bu(e,d)}return ys=ms=null,N.H=r,N.A=a,eu=n,null!==nu?0:(tu=null,ru=0,Cr(),cu)}(e,t):Wu(e,t,!0),o=r;;){if(0===a){su&&!r&&Du(e,t,0,!1);break}if(6===a)Du(e,t,0,!iu);else{if(n=e.current.alternate,o&&!Fu(n)){a=Wu(e,t,!1),o=!1;continue}if(2===a){if(o=t,e.errorRecoveryDisabledLanes&o)var s=0;else s=0!==(s=-536870913&e.pendingLanes)?s:536870912&s?536870912:0;if(0!==s){t=s;e:{var l=e;a=mu;var u=l.current.memoizedState.isDehydrated;if(u&&($u(l,s).flags|=256),2!==(s=Wu(l,s,!1))){if(lu&&!u){l.errorRecoveryDisabledLanes|=o,fu|=o,a=4;break e}o=yu,yu=a,null!==o&&Ru(o)}a=s}if(o=!1,2!==a)continue}}if(1===a){$u(e,0),Du(e,t,0,!0);break}e:{switch(r=e,a){case 0:case 1:throw Error(i(345));case 4:if((4194176&t)===t){Du(r,t,hu,!iu);break e}break;case 2:yu=null;break;case 3:case 5:break;default:throw Error(i(329))}if(r.finishedWork=n,r.finishedLanes=t,(62914560&t)===t&&10<(o=vu+300-le())){if(Du(r,t,hu,!iu),0!==Ce(r,0))break e;r.timeoutHandle=ed(Iu.bind(null,r,n,yu,ku,bu,t,hu,fu,gu,iu,2,-0,0),o)}else Iu(r,n,yu,ku,bu,t,hu,fu,gu,iu,0,-0,0)}}break}gc(e)}function Ru(e){null===yu?yu=e:yu.push.apply(yu,e)}function Iu(e,t,n,r,a,o,s,l,u,c,d,f,p){var h=t.subtreeFlags;if((8192&h||!(16785408&~h))&&(Nd={stylesheets:null,count:0,unsuspend:Pd},Tl(t),null!==(t=function(){if(null===Nd)throw Error(i(475));var e=Nd;return e.stylesheets&&0===e.count&&Rd(e,e.stylesheets),0n?32:n,N.T=null,null===Eu)var o=!1;else{n=Au,Au=null;var s=Eu,l=_u;if(Eu=null,_u=0,6&eu)throw Error(i(331));var u=eu;if(eu|=4,Pl(s.current),Sl(s,s.current,l,n),eu=u,mc(0,!1),be&&"function"==typeof be.onPostCommitFiberRoot)try{be.onPostCommitFiberRoot(ye,s)}catch(c){}o=!0}return o}finally{U.p=a,N.T=r,ec(e,t)}}return!1}function nc(e,t,n){t=Rr(n,t),null!==(e=Ls(e,t=$i(e.stateNode,t,2),2))&&(Le(e,2),gc(e))}function rc(e,t,n){if(3===e.tag)nc(e,e,n);else for(;null!==t;){if(3===t.tag){nc(t,e,n);break}if(1===t.tag){var r=t.stateNode;if("function"==typeof t.type.getDerivedStateFromError||"function"==typeof r.componentDidCatch&&(null===xu||!xu.has(r))){e=Rr(n,e),null!==(r=Ls(t,n=Bi(2),2))&&(Ui(n,r,t,e),Le(r,2),gc(r));break}}t=t.return}}function ac(e,t,n){var r=e.pingCache;if(null===r){r=e.pingCache=new Jl;var a=new Set;r.set(t,a)}else void 0===(a=r.get(t))&&(a=new Set,r.set(t,a));a.has(n)||(lu=!0,a.add(n),e=oc.bind(null,e,t,n),t.then(e,e))}function oc(e,t,n){var r=e.pingCache;null!==r&&r.delete(t),e.pingedLanes|=e.suspendedLanes&n,e.warmLanes&=~n,tu===e&&(ru&n)===n&&(4===cu||3===cu&&(62914560&ru)===ru&&300>le()-vu?!(2&eu)&&$u(e,0):pu|=n,gu===ru&&(gu=0)),gc(e)}function ic(e,t){0===t&&(t=Ne()),null!==(e=Or(e,t))&&(Le(e,t),gc(e))}function sc(e){var t=e.memoizedState,n=0;null!==t&&(n=t.retryLane),ic(e,n)}function lc(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,a=e.memoizedState;null!==a&&(n=a.retryLane);break;case 19:r=e.stateNode;break;case 22:r=e.stateNode._retryCache;break;default:throw Error(i(314))}null!==r&&r.delete(t),ic(e,n)}var uc=null,cc=null,dc=!1,fc=!1,pc=!1,hc=0;function gc(e){var t;e!==cc&&null===e.next&&(null===cc?uc=cc=e:cc=cc.next=e),fc=!0,dc||(dc=!0,t=yc,rd((function(){6&eu?ae(ce,t):t()})))}function mc(e,t){if(!pc&&fc){pc=!0;do{for(var n=!1,r=uc;null!==r;){if(!t)if(0!==e){var a=r.pendingLanes;if(0===a)var o=0;else{var i=r.suspendedLanes,s=r.pingedLanes;o=(1<<31-we(42|e)+1)-1,o=201326677&(o&=a&~(i&~s))?201326677&o|1:o?2|o:0}0!==o&&(n=!0,wc(r,o))}else o=ru,!(3&(o=Ce(r,r===tu?o:0)))||Ae(r,o)||(n=!0,wc(r,o));r=r.next}}while(n);pc=!1}}function yc(){fc=dc=!1;var e=0;0!==hc&&(function(){var e=window.event;if(e&&"popstate"===e.type)return e!==Jc&&(Jc=e,!0);return Jc=null,!1}()&&(e=hc),hc=0);for(var t=le(),n=null,r=uc;null!==r;){var a=r.next,o=bc(r,t);0===o?(r.next=null,null===n?uc=a:n.next=a,null===a&&(cc=n)):(n=r,(0!==e||3&o)&&(fc=!0)),r=a}mc(e,!1)}function bc(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,a=e.expirationTimes,o=-62914561&e.pendingLanes;0 title"):null)}function Od(e){return!!("stylesheet"!==e.type||3&e.state.loading)}var Nd=null;function Pd(){}function Ld(){if(this.count--,0===this.count)if(this.stylesheets)Rd(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}var jd=null;function Rd(e,t){e.stylesheets=null,null!==e.unsuspend&&(e.count++,jd=new Map,t.forEach(Id,e),jd=null,Ld.call(e))}function Id(e,t){if(!(4&t.state.loading)){var n=jd.get(e);if(n)var r=n.get(null);else{n=new Map,jd.set(e,n);for(var a=e.querySelectorAll("link[data-precedence],style[data-precedence]"),o=0;o{"use strict";var r=n(8225);function a(e){var t="https://react.dev/errors/"+e;if(1{"use strict";!function e(){if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}(),e.exports=n(5387)},8941:(e,t,n)=>{"use strict";!function e(){if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}(),e.exports=n(4873)},2700:e=>{var t="undefined"!=typeof Element,n="function"==typeof Map,r="function"==typeof Set,a="function"==typeof ArrayBuffer&&!!ArrayBuffer.isView;function o(e,i){if(e===i)return!0;if(e&&i&&"object"==typeof e&&"object"==typeof i){if(e.constructor!==i.constructor)return!1;var s,l,u,c;if(Array.isArray(e)){if((s=e.length)!=i.length)return!1;for(l=s;0!=l--;)if(!o(e[l],i[l]))return!1;return!0}if(n&&e instanceof Map&&i instanceof Map){if(e.size!==i.size)return!1;for(c=e.entries();!(l=c.next()).done;)if(!i.has(l.value[0]))return!1;for(c=e.entries();!(l=c.next()).done;)if(!o(l.value[1],i.get(l.value[0])))return!1;return!0}if(r&&e instanceof Set&&i instanceof Set){if(e.size!==i.size)return!1;for(c=e.entries();!(l=c.next()).done;)if(!i.has(l.value[0]))return!1;return!0}if(a&&ArrayBuffer.isView(e)&&ArrayBuffer.isView(i)){if((s=e.length)!=i.length)return!1;for(l=s;0!=l--;)if(e[l]!==i[l])return!1;return!0}if(e.constructor===RegExp)return e.source===i.source&&e.flags===i.flags;if(e.valueOf!==Object.prototype.valueOf&&"function"==typeof e.valueOf&&"function"==typeof i.valueOf)return e.valueOf()===i.valueOf();if(e.toString!==Object.prototype.toString&&"function"==typeof e.toString&&"function"==typeof i.toString)return e.toString()===i.toString();if((s=(u=Object.keys(e)).length)!==Object.keys(i).length)return!1;for(l=s;0!=l--;)if(!Object.prototype.hasOwnProperty.call(i,u[l]))return!1;if(t&&e instanceof Element)return!1;for(l=s;0!=l--;)if(("_owner"!==u[l]&&"__v"!==u[l]&&"__o"!==u[l]||!e.$$typeof)&&!o(e[u[l]],i[u[l]]))return!1;return!0}return e!=e&&i!=i}e.exports=function(e,t){try{return o(e,t)}catch(n){if((n.message||"").match(/stack|recursion/i))return console.warn("react-fast-compare cannot handle circular refs"),!1;throw n}}},5575:(e,t)=>{"use strict";var n="function"==typeof Symbol&&Symbol.for,r=n?Symbol.for("react.element"):60103,a=n?Symbol.for("react.portal"):60106,o=n?Symbol.for("react.fragment"):60107,i=n?Symbol.for("react.strict_mode"):60108,s=n?Symbol.for("react.profiler"):60114,l=n?Symbol.for("react.provider"):60109,u=n?Symbol.for("react.context"):60110,c=n?Symbol.for("react.async_mode"):60111,d=n?Symbol.for("react.concurrent_mode"):60111,f=n?Symbol.for("react.forward_ref"):60112,p=n?Symbol.for("react.suspense"):60113,h=n?Symbol.for("react.suspense_list"):60120,g=n?Symbol.for("react.memo"):60115,m=n?Symbol.for("react.lazy"):60116,y=n?Symbol.for("react.block"):60121,b=n?Symbol.for("react.fundamental"):60117,v=n?Symbol.for("react.responder"):60118,w=n?Symbol.for("react.scope"):60119;function k(e){if("object"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case r:switch(e=e.type){case c:case d:case o:case s:case i:case p:return e;default:switch(e=e&&e.$$typeof){case u:case f:case m:case g:case l:return e;default:return t}}case a:return t}}}function x(e){return k(e)===d}t.AsyncMode=c,t.ConcurrentMode=d,t.ContextConsumer=u,t.ContextProvider=l,t.Element=r,t.ForwardRef=f,t.Fragment=o,t.Lazy=m,t.Memo=g,t.Portal=a,t.Profiler=s,t.StrictMode=i,t.Suspense=p,t.isAsyncMode=function(e){return x(e)||k(e)===c},t.isConcurrentMode=x,t.isContextConsumer=function(e){return k(e)===u},t.isContextProvider=function(e){return k(e)===l},t.isElement=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===r},t.isForwardRef=function(e){return k(e)===f},t.isFragment=function(e){return k(e)===o},t.isLazy=function(e){return k(e)===m},t.isMemo=function(e){return k(e)===g},t.isPortal=function(e){return k(e)===a},t.isProfiler=function(e){return k(e)===s},t.isStrictMode=function(e){return k(e)===i},t.isSuspense=function(e){return k(e)===p},t.isValidElementType=function(e){return"string"==typeof e||"function"==typeof e||e===o||e===d||e===s||e===i||e===p||e===h||"object"==typeof e&&null!==e&&(e.$$typeof===m||e.$$typeof===g||e.$$typeof===l||e.$$typeof===u||e.$$typeof===f||e.$$typeof===b||e.$$typeof===v||e.$$typeof===w||e.$$typeof===y)},t.typeOf=k},3635:(e,t,n)=>{"use strict";e.exports=n(5575)},4969:(e,t,n)=>{"use strict";n.d(t,{u:()=>i,v:()=>s});var r=n(1654),a=n(6205),o=n(8225);function i(e,t,n){return void 0===n&&(n=[]),e.some((function(e){var a=e.path?(0,r.B6)(t,e):n.length?n[n.length-1].match:r.Ix.computeRootMatch(t);return a&&(n.push({route:e,match:a}),e.routes&&i(e.routes,t,n)),a})),n}function s(e,t,n){return void 0===t&&(t={}),void 0===n&&(n={}),e?o.createElement(r.dO,n,e.map((function(e,n){return o.createElement(r.qh,{key:e.key||n,path:e.path,exact:e.exact,strict:e.strict,render:function(n){return e.render?e.render((0,a.A)({},n,{},t,{route:e})):o.createElement(e.component,(0,a.A)({},n,t,{route:e}))}})}))):null}},737:(e,t,n)=>{"use strict";n.d(t,{I9:()=>d,Kd:()=>c,N_:()=>y,k2:()=>w});var r=n(1654),a=n(2995),o=n(8225),i=n(9888),s=n(6205),l=n(7260),u=n(8635),c=function(e){function t(){for(var t,n=arguments.length,r=new Array(n),a=0;a{"use strict";n.d(t,{B6:()=>S,Ix:()=>v,W6:()=>L,XZ:()=>b,dO:()=>N,qh:()=>E,zy:()=>j});var r=n(2995),a=n(8225),o=n(3108),i=n.n(o),s=n(9888),l=n(8635),u=n(6205),c=n(5445),d=n.n(c),f=(n(3635),n(7260)),p=(n(3871),1073741823),h="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:void 0!==n.g?n.g:{};var g=a.createContext||function(e,t){var n,o,s="__create-react-context-"+function(){var e="__global_unique_id__";return h[e]=(h[e]||0)+1}()+"__",l=function(e){function n(){for(var t,n,r,a=arguments.length,o=new Array(a),i=0;i{"use strict";var n=Symbol.for("react.transitional.element"),r=Symbol.for("react.fragment");function a(e,t,r){var a=null;if(void 0!==r&&(a=""+r),void 0!==t.key&&(a=""+t.key),"key"in t)for(var o in r={},t)"key"!==o&&(r[o]=t[o]);else r=t;return t=r.ref,{$$typeof:n,type:e,key:a,ref:void 0!==t?t:null,props:r}}t.Fragment=r,t.jsx=a,t.jsxs=a},9366:(e,t)=>{"use strict";var n=Symbol.for("react.transitional.element"),r=Symbol.for("react.portal"),a=Symbol.for("react.fragment"),o=Symbol.for("react.strict_mode"),i=Symbol.for("react.profiler"),s=Symbol.for("react.consumer"),l=Symbol.for("react.context"),u=Symbol.for("react.forward_ref"),c=Symbol.for("react.suspense"),d=Symbol.for("react.memo"),f=Symbol.for("react.lazy"),p=Symbol.iterator;var h={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},g=Object.assign,m={};function y(e,t,n){this.props=e,this.context=t,this.refs=m,this.updater=n||h}function b(){}function v(e,t,n){this.props=e,this.context=t,this.refs=m,this.updater=n||h}y.prototype.isReactComponent={},y.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")},y.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},b.prototype=y.prototype;var w=v.prototype=new b;w.constructor=v,g(w,y.prototype),w.isPureReactComponent=!0;var k=Array.isArray,x={H:null,A:null,T:null,S:null},S=Object.prototype.hasOwnProperty;function E(e,t,r,a,o,i){return r=i.ref,{$$typeof:n,type:e,key:t,ref:void 0!==r?r:null,props:i}}function _(e){return"object"==typeof e&&null!==e&&e.$$typeof===n}var C=/\/+/g;function A(e,t){return"object"==typeof e&&null!==e&&null!=e.key?(n=""+e.key,r={"=":"=0",":":"=2"},"$"+n.replace(/[=:]/g,(function(e){return r[e]}))):t.toString(36);var n,r}function T(){}function O(e,t,a,o,i){var s=typeof e;"undefined"!==s&&"boolean"!==s||(e=null);var l,u,c=!1;if(null===e)c=!0;else switch(s){case"bigint":case"string":case"number":c=!0;break;case"object":switch(e.$$typeof){case n:case r:c=!0;break;case f:return O((c=e._init)(e._payload),t,a,o,i)}}if(c)return i=i(e),c=""===o?"."+A(e,0):o,k(i)?(a="",null!=c&&(a=c.replace(C,"$&/")+"/"),O(i,t,a,"",(function(e){return e}))):null!=i&&(_(i)&&(l=i,u=a+(null==i.key||e&&e.key===i.key?"":(""+i.key).replace(C,"$&/")+"/")+c,i=E(l.type,u,void 0,0,0,l.props)),t.push(i)),1;c=0;var d,h=""===o?".":o+":";if(k(e))for(var g=0;g{"use strict";e.exports=n(9366)},7557:(e,t,n)=>{"use strict";e.exports=n(9093)},8275:(e,t)=>{"use strict";function n(e,t){var n=e.length;e.push(t);e:for(;0>>1,a=e[r];if(!(0>>1;ro(l,n))uo(c,l)?(e[r]=c,e[u]=n,r=u):(e[r]=l,e[s]=n,r=s);else{if(!(uo(c,n)))break e;e[r]=c,e[u]=n,r=u}}}return t}function o(e,t){var n=e.sortIndex-t.sortIndex;return 0!==n?n:e.id-t.id}if(t.unstable_now=void 0,"object"==typeof performance&&"function"==typeof performance.now){var i=performance;t.unstable_now=function(){return i.now()}}else{var s=Date,l=s.now();t.unstable_now=function(){return s.now()-l}}var u=[],c=[],d=1,f=null,p=3,h=!1,g=!1,m=!1,y="function"==typeof setTimeout?setTimeout:null,b="function"==typeof clearTimeout?clearTimeout:null,v="undefined"!=typeof setImmediate?setImmediate:null;function w(e){for(var t=r(c);null!==t;){if(null===t.callback)a(c);else{if(!(t.startTime<=e))break;a(c),t.sortIndex=t.expirationTime,n(u,t)}t=r(c)}}function k(e){if(m=!1,w(e),!g)if(null!==r(u))g=!0,P();else{var t=r(c);null!==t&&L(k,t.startTime-e)}}var x,S=!1,E=-1,_=5,C=-1;function A(){return!(t.unstable_now()-C<_)}function T(){if(S){var e=t.unstable_now();C=e;var n=!0;try{e:{g=!1,m&&(m=!1,b(E),E=-1),h=!0;var o=p;try{t:{for(w(e),f=r(u);null!==f&&!(f.expirationTime>e&&A());){var i=f.callback;if("function"==typeof i){f.callback=null,p=f.priorityLevel;var s=i(f.expirationTime<=e);if(e=t.unstable_now(),"function"==typeof s){f.callback=s,w(e),n=!0;break t}f===r(u)&&a(u),w(e)}else a(u);f=r(u)}if(null!==f)n=!0;else{var l=r(c);null!==l&&L(k,l.startTime-e),n=!1}}break e}finally{f=null,p=o,h=!1}n=void 0}}finally{n?x():S=!1}}}if("function"==typeof v)x=function(){v(T)};else if("undefined"!=typeof MessageChannel){var O=new MessageChannel,N=O.port2;O.port1.onmessage=T,x=function(){N.postMessage(null)}}else x=function(){y(T,0)};function P(){S||(S=!0,x())}function L(e,n){E=y((function(){e(t.unstable_now())}),n)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(e){e.callback=null},t.unstable_continueExecution=function(){g||h||(g=!0,P())},t.unstable_forceFrameRate=function(e){0>e||125i?(e.sortIndex=o,n(c,e),null===r(u)&&e===r(c)&&(m?(b(E),E=-1):m=!0,L(k,o-i))):(e.sortIndex=s,n(u,e),g||h||(g=!0,P())),e},t.unstable_shouldYield=A,t.unstable_wrapCallback=function(e){var t=p;return function(){var n=p;p=t;try{return e.apply(this,arguments)}finally{p=n}}}},1240:(e,t,n)=>{"use strict";e.exports=n(8275)},9141:e=>{e.exports=function(e,t,n,r){var a=n?n.call(r,e,t):void 0;if(void 0!==a)return!!a;if(e===t)return!0;if("object"!=typeof e||!e||"object"!=typeof t||!t)return!1;var o=Object.keys(e),i=Object.keys(t);if(o.length!==i.length)return!1;for(var s=Object.prototype.hasOwnProperty.bind(t),l=0;l{"use strict";n.r(t),n.d(t,{default:()=>r});const r={title:"FTL",tagline:"Towards a \ud835\udf7a-calculus for large-scale systems",favicon:"img/favicon.ico",url:"https://block.github.io",baseUrl:"/ftl/",organizationName:"block",projectName:"ftl",onBrokenLinks:"throw",onBrokenMarkdownLinks:"warn",i18n:{defaultLocale:"en",locales:["en"],path:"i18n",localeConfigs:{}},plugins:[["/home/runner/work/ftl/ftl/node_modules/.pnpm/@easyops-cn+docusaurus-search-local@0.48.4_@docusaurus+theme-common@3.7.0_@docusaurus+plugin-_tlcfob7a63bdabsqwxdf7bprpm/node_modules/@easyops-cn/docusaurus-search-local/dist/server/server/index.js",{hashed:!0,language:["en"],highlightSearchTermsOnTargetPage:!0,explicitSearchResultPath:!0}]],presets:[["classic",{docs:{sidebarPath:"./sidebars.ts",editUrl:"https://github.com/block/ftl/tree/main/docs/"},blog:!1,theme:{customCss:"./src/css/custom.css"}}]],themeConfig:{image:"/ftl/img/docusaurus-social-card.jpg",metadata:[{name:"description",content:"FTL - Towards a \u03bb-calculus for large-scale systems. A modern approach to building and deploying distributed systems."},{name:"og:title",content:"FTL Documentation"},{name:"og:description",content:"FTL - Towards a \u03bb-calculus for large-scale systems. A modern approach to building and deploying distributed systems."},{property:"og:image",content:"/ftl/img/docusaurus-social-card.jpg"},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:image",content:"/ftl/img/docusaurus-social-card.jpg"}],navbar:{title:"FTL",items:[{type:"docSidebar",sidebarId:"tutorialSidebar",position:"left",label:"Documentation"},{href:"https://github.com/block/ftl",label:"GitHub",position:"right"}],hideOnScroll:!1},footer:{style:"dark",links:[{title:"Docs",items:[{label:"Getting Started",to:"/docs/getting-started/introduction"}]},{title:"Community",items:[{label:"Twitter",href:"https://twitter.com/blocks"},{label:"GitHub",href:"https://github.com/block/ftl"}]}],copyright:"Copyright \xa9 2025 The FTL Team. Built with Docusaurus."},prism:{theme:{plain:{color:"#393A34",backgroundColor:"#f6f8fa"},styles:[{types:["comment","prolog","doctype","cdata"],style:{color:"#999988",fontStyle:"italic"}},{types:["namespace"],style:{opacity:.7}},{types:["string","attr-value"],style:{color:"#e3116c"}},{types:["punctuation","operator"],style:{color:"#393A34"}},{types:["entity","url","symbol","number","boolean","variable","constant","property","regex","inserted"],style:{color:"#36acaa"}},{types:["atrule","keyword","attr-name","selector"],style:{color:"#00a4db"}},{types:["function","deleted","tag"],style:{color:"#d73a49"}},{types:["function-variable"],style:{color:"#6f42c1"}},{types:["tag","selector","keyword"],style:{color:"#00009f"}}]},darkTheme:{plain:{color:"#F8F8F2",backgroundColor:"#282A36"},styles:[{types:["prolog","constant","builtin"],style:{color:"rgb(189, 147, 249)"}},{types:["inserted","function"],style:{color:"rgb(80, 250, 123)"}},{types:["deleted"],style:{color:"rgb(255, 85, 85)"}},{types:["changed"],style:{color:"rgb(255, 184, 108)"}},{types:["punctuation","symbol"],style:{color:"rgb(248, 248, 242)"}},{types:["string","char","tag","selector"],style:{color:"rgb(255, 121, 198)"}},{types:["keyword","variable"],style:{color:"rgb(189, 147, 249)",fontStyle:"italic"}},{types:["comment"],style:{color:"rgb(98, 114, 164)"}},{types:["attr-name"],style:{color:"rgb(241, 250, 140)"}}]},additionalLanguages:["java","kotlin","bash","hcl"],magicComments:[{className:"theme-code-block-highlighted-line",line:"highlight-next-line",block:{start:"highlight-start",end:"highlight-end"}}]},colorMode:{defaultMode:"light",disableSwitch:!1,respectPrefersColorScheme:!1},docs:{versionPersistence:"localStorage",sidebar:{hideable:!1,autoCollapseCategories:!1}},blog:{sidebar:{groupByYear:!0}},tableOfContents:{minHeadingLevel:2,maxHeadingLevel:3}},baseUrlIssueBanner:!0,future:{experimental_faster:{swcJsLoader:!1,swcJsMinimizer:!1,swcHtmlMinimizer:!1,lightningCssMinimizer:!1,mdxCrossCompilerCache:!1,rspackBundler:!1},experimental_storage:{type:"localStorage",namespace:!1},experimental_router:"browser"},onBrokenAnchors:"warn",onDuplicateRoutes:"warn",staticDirectories:["static"],customFields:{},themes:[],scripts:[],headTags:[],stylesheets:[],clientModules:[],titleDelimiter:"|",noIndex:!1,markdown:{format:"mdx",mermaid:!1,mdx1Compat:{comments:!0,admonitions:!0,headingIds:!0},anchors:{maintainCase:!1}}}},6205:(e,t,n)=>{"use strict";function r(){return r=Object.assign?Object.assign.bind():function(e){for(var t=1;tr})},2995:(e,t,n)=>{"use strict";function r(e,t){return r=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},r(e,t)}function a(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,r(e,t)}n.d(t,{A:()=>a})},7260:(e,t,n)=>{"use strict";function r(e,t){if(null==e)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(-1!==t.indexOf(r))continue;n[r]=e[r]}return n}n.d(t,{A:()=>r})},3372:(e,t,n)=>{"use strict";function r(e){var t,n,a="";if("string"==typeof e||"number"==typeof e)a+=e;else if("object"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;ta});const a=function(){for(var e,t,n=0,a="",o=arguments.length;n{"use strict";n.d(t,{My:()=>A,f4:()=>ne});var r,a,o,i,s,l,u,c=n(8225),d=n(3372),f=Object.create,p=Object.defineProperty,h=Object.defineProperties,g=Object.getOwnPropertyDescriptor,m=Object.getOwnPropertyDescriptors,y=Object.getOwnPropertyNames,b=Object.getOwnPropertySymbols,v=Object.getPrototypeOf,w=Object.prototype.hasOwnProperty,k=Object.prototype.propertyIsEnumerable,x=(e,t,n)=>t in e?p(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,S=(e,t)=>{for(var n in t||(t={}))w.call(t,n)&&x(e,n,t[n]);if(b)for(var n of b(t))k.call(t,n)&&x(e,n,t[n]);return e},E=(e,t)=>h(e,m(t)),_=(e,t)=>{var n={};for(var r in e)w.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&b)for(var r of b(e))t.indexOf(r)<0&&k.call(e,r)&&(n[r]=e[r]);return n},C=(r={"../../node_modules/.pnpm/prismjs@1.29.0_patch_hash=vrxx3pzkik6jpmgpayxfjunetu/node_modules/prismjs/prism.js"(e,t){var n=function(){var e=/(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i,t=0,n={},r={util:{encode:function e(t){return t instanceof a?new a(t.type,e(t.content),t.alias):Array.isArray(t)?t.map(e):t.replace(/&/g,"&").replace(/=d.reach);S+=x.value.length,x=x.next){var E=x.value;if(t.length>e.length)return;if(!(E instanceof a)){var _,C=1;if(b){if(!(_=o(k,S,e,y))||_.index>=e.length)break;var A=_.index,T=_.index+_[0].length,O=S;for(O+=x.value.length;A>=O;)O+=(x=x.next).value.length;if(S=O-=x.value.length,x.value instanceof a)continue;for(var N=x;N!==t.tail&&(Od.reach&&(d.reach=R);var I=x.prev;if(L&&(I=l(t,I,L),S+=L.length),u(t,I,C),x=l(t,I,new a(f,m?r.tokenize(P,m):P,v,P)),j&&l(t,x,j),C>1){var F={cause:f+","+h,reach:R};i(e,t,n,x.prev,S,F),d&&F.reach>d.reach&&(d.reach=F.reach)}}}}}}function s(){var e={value:null,prev:null,next:null},t={value:null,prev:e,next:null};e.next=t,this.head=e,this.tail=t,this.length=0}function l(e,t,n){var r=t.next,a={value:n,prev:t,next:r};return t.next=a,r.prev=a,e.length++,a}function u(e,t,n){for(var r=t.next,a=0;a"+o.content+""},r}();t.exports=n,n.default=n}},function(){return a||(0,r[y(r)[0]])((a={exports:{}}).exports,a),a.exports}),A=((e,t,n)=>(n=null!=e?f(v(e)):{},((e,t,n,r)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let a of y(t))w.call(e,a)||a===n||p(e,a,{get:()=>t[a],enumerable:!(r=g(t,a))||r.enumerable});return e})(!t&&e&&e.__esModule?n:p(n,"default",{value:e,enumerable:!0}),e)))(C());A.languages.markup={comment:{pattern://,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern://i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},{pattern:/^(\s*)["']|["']$/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]},A.languages.markup.tag.inside["attr-value"].inside.entity=A.languages.markup.entity,A.languages.markup.doctype.inside["internal-subset"].inside=A.languages.markup,A.hooks.add("wrap",(function(e){"entity"===e.type&&(e.attributes.title=e.content.replace(/&/,"&"))})),Object.defineProperty(A.languages.markup.tag,"addInlined",{value:function(e,t){var n;(t=((n=((n={})["language-"+t]={pattern:/(^$)/i,lookbehind:!0,inside:A.languages[t]},n.cdata=/^$/i,{"included-cdata":{pattern://i,inside:n}}))["language-"+t]={pattern:/[\s\S]+/,inside:A.languages[t]},{}))[e]={pattern:RegExp(/(<__[^>]*>)(?:))*\]\]>|(?!)/.source.replace(/__/g,(function(){return e})),"i"),lookbehind:!0,greedy:!0,inside:n},A.languages.insertBefore("markup","cdata",t)}}),Object.defineProperty(A.languages.markup.tag,"addAttribute",{value:function(e,t){A.languages.markup.tag.inside["special-attr"].push({pattern:RegExp(/(^|["'\s])/.source+"(?:"+e+")"+/\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))/.source,"i"),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[t,"language-"+t],inside:A.languages[t]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}}),A.languages.html=A.languages.markup,A.languages.mathml=A.languages.markup,A.languages.svg=A.languages.markup,A.languages.xml=A.languages.extend("markup",{}),A.languages.ssml=A.languages.xml,A.languages.atom=A.languages.xml,A.languages.rss=A.languages.xml,o=A,i={pattern:/\\[\\(){}[\]^$+*?|.]/,alias:"escape"},l="(?:[^\\\\-]|"+(s=/\\(?:x[\da-fA-F]{2}|u[\da-fA-F]{4}|u\{[\da-fA-F]+\}|0[0-7]{0,2}|[123][0-7]{2}|c[a-zA-Z]|.)/).source+")",l=RegExp(l+"-"+l),u={pattern:/(<|')[^<>']+(?=[>']$)/,lookbehind:!0,alias:"variable"},o.languages.regex={"char-class":{pattern:/((?:^|[^\\])(?:\\\\)*)\[(?:[^\\\]]|\\[\s\S])*\]/,lookbehind:!0,inside:{"char-class-negation":{pattern:/(^\[)\^/,lookbehind:!0,alias:"operator"},"char-class-punctuation":{pattern:/^\[|\]$/,alias:"punctuation"},range:{pattern:l,inside:{escape:s,"range-punctuation":{pattern:/-/,alias:"operator"}}},"special-escape":i,"char-set":{pattern:/\\[wsd]|\\p\{[^{}]+\}/i,alias:"class-name"},escape:s}},"special-escape":i,"char-set":{pattern:/\.|\\[wsd]|\\p\{[^{}]+\}/i,alias:"class-name"},backreference:[{pattern:/\\(?![123][0-7]{2})[1-9]/,alias:"keyword"},{pattern:/\\k<[^<>']+>/,alias:"keyword",inside:{"group-name":u}}],anchor:{pattern:/[$^]|\\[ABbGZz]/,alias:"function"},escape:s,group:[{pattern:/\((?:\?(?:<[^<>']+>|'[^<>']+'|[>:]|]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/},A.languages.javascript=A.languages.extend("clike",{"class-name":[A.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp(/(^|[^\w$])/.source+"(?:"+/NaN|Infinity/.source+"|"+/0[bB][01]+(?:_[01]+)*n?/.source+"|"+/0[oO][0-7]+(?:_[0-7]+)*n?/.source+"|"+/0[xX][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*n?/.source+"|"+/\d+(?:_\d+)*n/.source+"|"+/(?:\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:[Ee][+-]?\d+(?:_\d+)*)?/.source+")"+/(?![\w$])/.source),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),A.languages.javascript["class-name"][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/,A.languages.insertBefore("javascript","keyword",{regex:{pattern:RegExp(/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)/.source+/\//.source+"(?:"+/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}/.source+"|"+/(?:\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.)*\])*\])*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}v[dgimyus]{0,7}/.source+")"+/(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/.source),lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:A.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:A.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:A.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:A.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:A.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),A.languages.insertBefore("javascript","string",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:A.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:"property"}}),A.languages.insertBefore("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:"property"}}),A.languages.markup&&(A.languages.markup.tag.addInlined("script","javascript"),A.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,"javascript")),A.languages.js=A.languages.javascript,A.languages.actionscript=A.languages.extend("javascript",{keyword:/\b(?:as|break|case|catch|class|const|default|delete|do|dynamic|each|else|extends|final|finally|for|function|get|if|implements|import|in|include|instanceof|interface|internal|is|namespace|native|new|null|override|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|use|var|void|while|with)\b/,operator:/\+\+|--|(?:[+\-*\/%^]|&&?|\|\|?|<>?>?|[!=]=?)=?|[~?@]/}),A.languages.actionscript["class-name"].alias="function",delete A.languages.actionscript.parameter,delete A.languages.actionscript["literal-property"],A.languages.markup&&A.languages.insertBefore("actionscript","string",{xml:{pattern:/(^|[^.])<\/?\w+(?:\s+[^\s>\/=]+=("|')(?:\\[\s\S]|(?!\2)[^\\])*\2)*\s*\/?>/,lookbehind:!0,inside:A.languages.markup}}),function(e){var t=/#(?!\{).+/,n={pattern:/#\{[^}]+\}/,alias:"variable"};e.languages.coffeescript=e.languages.extend("javascript",{comment:t,string:[{pattern:/'(?:\\[\s\S]|[^\\'])*'/,greedy:!0},{pattern:/"(?:\\[\s\S]|[^\\"])*"/,greedy:!0,inside:{interpolation:n}}],keyword:/\b(?:and|break|by|catch|class|continue|debugger|delete|do|each|else|extend|extends|false|finally|for|if|in|instanceof|is|isnt|let|loop|namespace|new|no|not|null|of|off|on|or|own|return|super|switch|then|this|throw|true|try|typeof|undefined|unless|until|when|while|window|with|yes|yield)\b/,"class-member":{pattern:/@(?!\d)\w+/,alias:"variable"}}),e.languages.insertBefore("coffeescript","comment",{"multiline-comment":{pattern:/###[\s\S]+?###/,alias:"comment"},"block-regex":{pattern:/\/{3}[\s\S]*?\/{3}/,alias:"regex",inside:{comment:t,interpolation:n}}}),e.languages.insertBefore("coffeescript","string",{"inline-javascript":{pattern:/`(?:\\[\s\S]|[^\\`])*`/,inside:{delimiter:{pattern:/^`|`$/,alias:"punctuation"},script:{pattern:/[\s\S]+/,alias:"language-javascript",inside:e.languages.javascript}}},"multiline-string":[{pattern:/'''[\s\S]*?'''/,greedy:!0,alias:"string"},{pattern:/"""[\s\S]*?"""/,greedy:!0,alias:"string",inside:{interpolation:n}}]}),e.languages.insertBefore("coffeescript","keyword",{property:/(?!\d)\w+(?=\s*:(?!:))/}),delete e.languages.coffeescript["template-string"],e.languages.coffee=e.languages.coffeescript}(A),function(e){var t=e.languages.javadoclike={parameter:{pattern:/(^[\t ]*(?:\/{3}|\*|\/\*\*)\s*@(?:arg|arguments|param)\s+)\w+/m,lookbehind:!0},keyword:{pattern:/(^[\t ]*(?:\/{3}|\*|\/\*\*)\s*|\{)@[a-z][a-zA-Z-]+\b/m,lookbehind:!0},punctuation:/[{}]/};Object.defineProperty(t,"addSupport",{value:function(t,n){(t="string"==typeof t?[t]:t).forEach((function(t){var r=function(e){e.inside||(e.inside={}),e.inside.rest=n},a="doc-comment";if(o=e.languages[t]){var o,i=o[a];if((i=i||(o=e.languages.insertBefore(t,"comment",{"doc-comment":{pattern:/(^|[^\\])\/\*\*[^/][\s\S]*?(?:\*\/|$)/,lookbehind:!0,alias:"comment"}}))[a])instanceof RegExp&&(i=o[a]={pattern:i}),Array.isArray(i))for(var s=0,l=i.length;s|\+|~|\|\|/,punctuation:/[(),]/}},e.languages.css.atrule.inside["selector-function-argument"].inside=t,e.languages.insertBefore("css","property",{variable:{pattern:/(^|[^-\w\xA0-\uFFFF])--(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*/i,lookbehind:!0}}),{pattern:/(\b\d+)(?:%|[a-z]+(?![\w-]))/,lookbehind:!0}),{pattern:/(^|[^\w.-])-?(?:\d+(?:\.\d+)?|\.\d+)/,lookbehind:!0});e.languages.insertBefore("css","function",{operator:{pattern:/(\s)[+\-*\/](?=\s)/,lookbehind:!0},hexcode:{pattern:/\B#[\da-f]{3,8}\b/i,alias:"color"},color:[{pattern:/(^|[^\w-])(?:AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGr[ae]y|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGr[ae]y|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGr[ae]y|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gr[ae]y|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGr[ae]y|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGr[ae]y|LightSteelBlue|LightYellow|Lime|LimeGreen|Linen|Magenta|Maroon|MediumAquaMarine|MediumBlue|MediumOrchid|MediumPurple|MediumSeaGreen|MediumSlateBlue|MediumSpringGreen|MediumTurquoise|MediumVioletRed|MidnightBlue|MintCream|MistyRose|Moccasin|NavajoWhite|Navy|OldLace|Olive|OliveDrab|Orange|OrangeRed|Orchid|PaleGoldenRod|PaleGreen|PaleTurquoise|PaleVioletRed|PapayaWhip|PeachPuff|Peru|Pink|Plum|PowderBlue|Purple|RebeccaPurple|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGr[ae]y|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Transparent|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen)(?![\w-])/i,lookbehind:!0},{pattern:/\b(?:hsl|rgb)\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*\)\B|\b(?:hsl|rgb)a\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*,\s*(?:0|0?\.\d+|1)\s*\)\B/i,inside:{unit:t,number:n,function:/[\w-]+(?=\()/,punctuation:/[(),]/}}],entity:/\\[\da-f]{1,8}/i,unit:t,number:n})}(A),function(e){var t=/[*&][^\s[\]{},]+/,n=/!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?/,r="(?:"+n.source+"(?:[ \t]+"+t.source+")?|"+t.source+"(?:[ \t]+"+n.source+")?)",a=/(?:[^\s\x00-\x08\x0e-\x1f!"#%&'*,\-:>?@[\]`{|}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]|[?:-])(?:[ \t]*(?:(?![#:])|:))*/.source.replace(//g,(function(){return/[^\s\x00-\x08\x0e-\x1f,[\]{}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]/.source})),o=/"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\\\r\n]|\\.)*'/.source;function i(e,t){t=(t||"").replace(/m/g,"")+"m";var n=/([:\-,[{]\s*(?:\s<>[ \t]+)?)(?:<>)(?=[ \t]*(?:$|,|\]|\}|(?:[\r\n]\s*)?#))/.source.replace(/<>/g,(function(){return r})).replace(/<>/g,(function(){return e}));return RegExp(n,t)}e.languages.yaml={scalar:{pattern:RegExp(/([\-:]\s*(?:\s<>[ \t]+)?[|>])[ \t]*(?:((?:\r?\n|\r)[ \t]+)\S[^\r\n]*(?:\2[^\r\n]+)*)/.source.replace(/<>/g,(function(){return r}))),lookbehind:!0,alias:"string"},comment:/#.*/,key:{pattern:RegExp(/((?:^|[:\-,[{\r\n?])[ \t]*(?:<>[ \t]+)?)<>(?=\s*:\s)/.source.replace(/<>/g,(function(){return r})).replace(/<>/g,(function(){return"(?:"+a+"|"+o+")"}))),lookbehind:!0,greedy:!0,alias:"atrule"},directive:{pattern:/(^[ \t]*)%.+/m,lookbehind:!0,alias:"important"},datetime:{pattern:i(/\d{4}-\d\d?-\d\d?(?:[tT]|[ \t]+)\d\d?:\d{2}:\d{2}(?:\.\d*)?(?:[ \t]*(?:Z|[-+]\d\d?(?::\d{2})?))?|\d{4}-\d{2}-\d{2}|\d\d?:\d{2}(?::\d{2}(?:\.\d*)?)?/.source),lookbehind:!0,alias:"number"},boolean:{pattern:i(/false|true/.source,"i"),lookbehind:!0,alias:"important"},null:{pattern:i(/null|~/.source,"i"),lookbehind:!0,alias:"important"},string:{pattern:i(o),lookbehind:!0,greedy:!0},number:{pattern:i(/[+-]?(?:0x[\da-f]+|0o[0-7]+|(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?|\.inf|\.nan)/.source,"i"),lookbehind:!0},tag:n,important:t,punctuation:/---|[:[\]{}\-,|>?]|\.\.\./},e.languages.yml=e.languages.yaml}(A),function(e){var t=/(?:\\.|[^\\\n\r]|(?:\n|\r\n?)(?![\r\n]))/.source;function n(e){return e=e.replace(//g,(function(){return t})),RegExp(/((?:^|[^\\])(?:\\{2})*)/.source+"(?:"+e+")")}var r=/(?:\\.|``(?:[^`\r\n]|`(?!`))+``|`[^`\r\n]+`|[^\\|\r\n`])+/.source,a=/\|?__(?:\|__)+\|?(?:(?:\n|\r\n?)|(?![\s\S]))/.source.replace(/__/g,(function(){return r})),o=/\|?[ \t]*:?-{3,}:?[ \t]*(?:\|[ \t]*:?-{3,}:?[ \t]*)+\|?(?:\n|\r\n?)/.source,i=(e.languages.markdown=e.languages.extend("markup",{}),e.languages.insertBefore("markdown","prolog",{"front-matter-block":{pattern:/(^(?:\s*[\r\n])?)---(?!.)[\s\S]*?[\r\n]---(?!.)/,lookbehind:!0,greedy:!0,inside:{punctuation:/^---|---$/,"front-matter":{pattern:/\S+(?:\s+\S+)*/,alias:["yaml","language-yaml"],inside:e.languages.yaml}}},blockquote:{pattern:/^>(?:[\t ]*>)*/m,alias:"punctuation"},table:{pattern:RegExp("^"+a+o+"(?:"+a+")*","m"),inside:{"table-data-rows":{pattern:RegExp("^("+a+o+")(?:"+a+")*$"),lookbehind:!0,inside:{"table-data":{pattern:RegExp(r),inside:e.languages.markdown},punctuation:/\|/}},"table-line":{pattern:RegExp("^("+a+")"+o+"$"),lookbehind:!0,inside:{punctuation:/\||:?-{3,}:?/}},"table-header-row":{pattern:RegExp("^"+a+"$"),inside:{"table-header":{pattern:RegExp(r),alias:"important",inside:e.languages.markdown},punctuation:/\|/}}}},code:[{pattern:/((?:^|\n)[ \t]*\n|(?:^|\r\n?)[ \t]*\r\n?)(?: {4}|\t).+(?:(?:\n|\r\n?)(?: {4}|\t).+)*/,lookbehind:!0,alias:"keyword"},{pattern:/^```[\s\S]*?^```$/m,greedy:!0,inside:{"code-block":{pattern:/^(```.*(?:\n|\r\n?))[\s\S]+?(?=(?:\n|\r\n?)^```$)/m,lookbehind:!0},"code-language":{pattern:/^(```).+/,lookbehind:!0},punctuation:/```/}}],title:[{pattern:/\S.*(?:\n|\r\n?)(?:==+|--+)(?=[ \t]*$)/m,alias:"important",inside:{punctuation:/==+$|--+$/}},{pattern:/(^\s*)#.+/m,lookbehind:!0,alias:"important",inside:{punctuation:/^#+|#+$/}}],hr:{pattern:/(^\s*)([*-])(?:[\t ]*\2){2,}(?=\s*$)/m,lookbehind:!0,alias:"punctuation"},list:{pattern:/(^\s*)(?:[*+-]|\d+\.)(?=[\t ].)/m,lookbehind:!0,alias:"punctuation"},"url-reference":{pattern:/!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/,inside:{variable:{pattern:/^(!?\[)[^\]]+/,lookbehind:!0},string:/(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/,punctuation:/^[\[\]!:]|[<>]/},alias:"url"},bold:{pattern:n(/\b__(?:(?!_)|_(?:(?!_))+_)+__\b|\*\*(?:(?!\*)|\*(?:(?!\*))+\*)+\*\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^..)[\s\S]+(?=..$)/,lookbehind:!0,inside:{}},punctuation:/\*\*|__/}},italic:{pattern:n(/\b_(?:(?!_)|__(?:(?!_))+__)+_\b|\*(?:(?!\*)|\*\*(?:(?!\*))+\*\*)+\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^.)[\s\S]+(?=.$)/,lookbehind:!0,inside:{}},punctuation:/[*_]/}},strike:{pattern:n(/(~~?)(?:(?!~))+\2/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^~~?)[\s\S]+(?=\1$)/,lookbehind:!0,inside:{}},punctuation:/~~?/}},"code-snippet":{pattern:/(^|[^\\`])(?:``[^`\r\n]+(?:`[^`\r\n]+)*``(?!`)|`[^`\r\n]+`(?!`))/,lookbehind:!0,greedy:!0,alias:["code","keyword"]},url:{pattern:n(/!?\[(?:(?!\]))+\](?:\([^\s)]+(?:[\t ]+"(?:\\.|[^"\\])*")?\)|[ \t]?\[(?:(?!\]))+\])/.source),lookbehind:!0,greedy:!0,inside:{operator:/^!/,content:{pattern:/(^\[)[^\]]+(?=\])/,lookbehind:!0,inside:{}},variable:{pattern:/(^\][ \t]?\[)[^\]]+(?=\]$)/,lookbehind:!0},url:{pattern:/(^\]\()[^\s)]+/,lookbehind:!0},string:{pattern:/(^[ \t]+)"(?:\\.|[^"\\])*"(?=\)$)/,lookbehind:!0}}}}),["url","bold","italic","strike"].forEach((function(t){["url","bold","italic","strike","code-snippet"].forEach((function(n){t!==n&&(e.languages.markdown[t].inside.content.inside[n]=e.languages.markdown[n])}))})),e.hooks.add("after-tokenize",(function(e){"markdown"!==e.language&&"md"!==e.language||function e(t){if(t&&"string"!=typeof t)for(var n=0,r=t.length;n",quot:'"'},l=String.fromCodePoint||String.fromCharCode;e.languages.md=e.languages.markdown}(A),A.languages.graphql={comment:/#.*/,description:{pattern:/(?:"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*")(?=\s*[a-z_])/i,greedy:!0,alias:"string",inside:{"language-markdown":{pattern:/(^"(?:"")?)(?!\1)[\s\S]+(?=\1$)/,lookbehind:!0,inside:A.languages.markdown}}},string:{pattern:/"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*"/,greedy:!0},number:/(?:\B-|\b)\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,boolean:/\b(?:false|true)\b/,variable:/\$[a-z_]\w*/i,directive:{pattern:/@[a-z_]\w*/i,alias:"function"},"attr-name":{pattern:/\b[a-z_]\w*(?=\s*(?:\((?:[^()"]|"(?:\\.|[^\\"\r\n])*")*\))?:)/i,greedy:!0},"atom-input":{pattern:/\b[A-Z]\w*Input\b/,alias:"class-name"},scalar:/\b(?:Boolean|Float|ID|Int|String)\b/,constant:/\b[A-Z][A-Z_\d]*\b/,"class-name":{pattern:/(\b(?:enum|implements|interface|on|scalar|type|union)\s+|&\s*|:\s*|\[)[A-Z_]\w*/,lookbehind:!0},fragment:{pattern:/(\bfragment\s+|\.{3}\s*(?!on\b))[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},"definition-mutation":{pattern:/(\bmutation\s+)[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},"definition-query":{pattern:/(\bquery\s+)[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},keyword:/\b(?:directive|enum|extend|fragment|implements|input|interface|mutation|on|query|repeatable|scalar|schema|subscription|type|union)\b/,operator:/[!=|&]|\.{3}/,"property-query":/\w+(?=\s*\()/,object:/\w+(?=\s*\{)/,punctuation:/[!(){}\[\]:=,]/,property:/\w+/},A.hooks.add("after-tokenize",(function(e){if("graphql"===e.language)for(var t=e.tokens.filter((function(e){return"string"!=typeof e&&"comment"!==e.type&&"scalar"!==e.type})),n=0;n?|<|>)?|>[>=]?|\b(?:AND|BETWEEN|DIV|ILIKE|IN|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i,punctuation:/[;[\]()`,.]/},function(e){var t=e.languages.javascript["template-string"],n=t.pattern.source,r=t.inside.interpolation,a=r.inside["interpolation-punctuation"],o=r.pattern.source;function i(t,r){if(e.languages[t])return{pattern:RegExp("((?:"+r+")\\s*)"+n),lookbehind:!0,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},"embedded-code":{pattern:/[\s\S]+/,alias:t}}}}function s(t,n,r){return t={code:t,grammar:n,language:r},e.hooks.run("before-tokenize",t),t.tokens=e.tokenize(t.code,t.grammar),e.hooks.run("after-tokenize",t),t.tokens}function l(t,n,i){var l=e.tokenize(t,{interpolation:{pattern:RegExp(o),lookbehind:!0}}),u=0,c={},d=(l=s(l.map((function(e){if("string"==typeof e)return e;var n,r;for(e=e.content;-1!==t.indexOf((r=u++,n="___"+i.toUpperCase()+"_"+r+"___")););return c[n]=e,n})).join(""),n,i),Object.keys(c));return u=0,function t(n){for(var o=0;o=d.length)return;var i,l,f,p,h,g,m,y=n[o];"string"==typeof y||"string"==typeof y.content?(i=d[u],-1!==(m=(g="string"==typeof y?y:y.content).indexOf(i))&&(++u,l=g.substring(0,m),h=c[i],f=void 0,(p={})["interpolation-punctuation"]=a,3===(p=e.tokenize(h,p)).length&&((f=[1,1]).push.apply(f,s(p[1],e.languages.javascript,"javascript")),p.splice.apply(p,f)),f=new e.Token("interpolation",p,r.alias,h),p=g.substring(m+i.length),h=[],l&&h.push(l),h.push(f),p&&(t(g=[p]),h.push.apply(h,g)),"string"==typeof y?(n.splice.apply(n,[o,1].concat(h)),o+=h.length-1):y.content=h)):(m=y.content,Array.isArray(m)?t(m):t([m]))}}(l),new e.Token(i,l,"language-"+i,t)}e.languages.javascript["template-string"]=[i("css",/\b(?:styled(?:\([^)]*\))?(?:\s*\.\s*\w+(?:\([^)]*\))*)*|css(?:\s*\.\s*(?:global|resolve))?|createGlobalStyle|keyframes)/.source),i("html",/\bhtml|\.\s*(?:inner|outer)HTML\s*\+?=/.source),i("svg",/\bsvg/.source),i("markdown",/\b(?:markdown|md)/.source),i("graphql",/\b(?:gql|graphql(?:\s*\.\s*experimental)?)/.source),i("sql",/\bsql/.source),t].filter(Boolean);var u={javascript:!0,js:!0,typescript:!0,ts:!0,jsx:!0,tsx:!0};function c(e){return"string"==typeof e?e:Array.isArray(e)?e.map(c).join(""):c(e.content)}e.hooks.add("after-tokenize",(function(t){t.language in u&&function t(n){for(var r=0,a=n.length;r]|<(?:[^<>]|<[^<>]*>)*>)*>)?/,lookbehind:!0,greedy:!0,inside:null},builtin:/\b(?:Array|Function|Promise|any|boolean|console|never|number|string|symbol|unknown)\b/}),e.languages.typescript.keyword.push(/\b(?:abstract|declare|is|keyof|readonly|require)\b/,/\b(?:asserts|infer|interface|module|namespace|type)\b(?=\s*(?:[{_$a-zA-Z\xA0-\uFFFF]|$))/,/\btype\b(?=\s*(?:[\{*]|$))/),delete e.languages.typescript.parameter,delete e.languages.typescript["literal-property"];var t=e.languages.extend("typescript",{});delete t["class-name"],e.languages.typescript["class-name"].inside=t,e.languages.insertBefore("typescript","function",{decorator:{pattern:/@[$\w\xA0-\uFFFF]+/,inside:{at:{pattern:/^@/,alias:"operator"},function:/^[\s\S]+/}},"generic-function":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\s*\()/,greedy:!0,inside:{function:/^#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:t}}}}),e.languages.ts=e.languages.typescript}(A),function(e){var t=e.languages.javascript,n=/\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})+\}/.source,r="(@(?:arg|argument|param|property)\\s+(?:"+n+"\\s+)?)";e.languages.jsdoc=e.languages.extend("javadoclike",{parameter:{pattern:RegExp(r+/(?:(?!\s)[$\w\xA0-\uFFFF.])+(?=\s|$)/.source),lookbehind:!0,inside:{punctuation:/\./}}}),e.languages.insertBefore("jsdoc","keyword",{"optional-parameter":{pattern:RegExp(r+/\[(?:(?!\s)[$\w\xA0-\uFFFF.])+(?:=[^[\]]+)?\](?=\s|$)/.source),lookbehind:!0,inside:{parameter:{pattern:/(^\[)[$\w\xA0-\uFFFF\.]+/,lookbehind:!0,inside:{punctuation:/\./}},code:{pattern:/(=)[\s\S]*(?=\]$)/,lookbehind:!0,inside:t,alias:"language-javascript"},punctuation:/[=[\]]/}},"class-name":[{pattern:RegExp(/(@(?:augments|class|extends|interface|memberof!?|template|this|typedef)\s+(?:\s+)?)[A-Z]\w*(?:\.[A-Z]\w*)*/.source.replace(//g,(function(){return n}))),lookbehind:!0,inside:{punctuation:/\./}},{pattern:RegExp("(@[a-z]+\\s+)"+n),lookbehind:!0,inside:{string:t.string,number:t.number,boolean:t.boolean,keyword:e.languages.typescript.keyword,operator:/=>|\.\.\.|[&|?:*]/,punctuation:/[.,;=<>{}()[\]]/}}],example:{pattern:/(@example\s+(?!\s))(?:[^@\s]|\s+(?!\s))+?(?=\s*(?:\*\s*)?(?:@\w|\*\/))/,lookbehind:!0,inside:{code:{pattern:/^([\t ]*(?:\*\s*)?)\S.*$/m,lookbehind:!0,inside:t,alias:"language-javascript"}}}}),e.languages.javadoclike.addSupport("javascript",e.languages.jsdoc)}(A),function(e){e.languages.flow=e.languages.extend("javascript",{}),e.languages.insertBefore("flow","keyword",{type:[{pattern:/\b(?:[Bb]oolean|Function|[Nn]umber|[Ss]tring|[Ss]ymbol|any|mixed|null|void)\b/,alias:"class-name"}]}),e.languages.flow["function-variable"].pattern=/(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=\s*(?:function\b|(?:\([^()]*\)(?:\s*:\s*\w+)?|(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/i,delete e.languages.flow.parameter,e.languages.insertBefore("flow","operator",{"flow-punctuation":{pattern:/\{\||\|\}/,alias:"punctuation"}}),Array.isArray(e.languages.flow.keyword)||(e.languages.flow.keyword=[e.languages.flow.keyword]),e.languages.flow.keyword.unshift({pattern:/(^|[^$]\b)(?:Class|declare|opaque|type)\b(?!\$)/,lookbehind:!0},{pattern:/(^|[^$]\B)\$(?:Diff|Enum|Exact|Keys|ObjMap|PropertyType|Record|Shape|Subtype|Supertype|await)\b(?!\$)/,lookbehind:!0})}(A),A.languages.n4js=A.languages.extend("javascript",{keyword:/\b(?:Array|any|boolean|break|case|catch|class|const|constructor|continue|debugger|declare|default|delete|do|else|enum|export|extends|false|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|module|new|null|number|package|private|protected|public|return|set|static|string|super|switch|this|throw|true|try|typeof|var|void|while|with|yield)\b/}),A.languages.insertBefore("n4js","constant",{annotation:{pattern:/@+\w+/,alias:"operator"}}),A.languages.n4jsd=A.languages.n4js,function(e){function t(e,t){return RegExp(e.replace(//g,(function(){return/(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/.source})),t)}e.languages.insertBefore("javascript","function-variable",{"method-variable":{pattern:RegExp("(\\.\\s*)"+e.languages.javascript["function-variable"].pattern.source),lookbehind:!0,alias:["function-variable","method","function","property-access"]}}),e.languages.insertBefore("javascript","function",{method:{pattern:RegExp("(\\.\\s*)"+e.languages.javascript.function.source),lookbehind:!0,alias:["function","property-access"]}}),e.languages.insertBefore("javascript","constant",{"known-class-name":[{pattern:/\b(?:(?:Float(?:32|64)|(?:Int|Uint)(?:8|16|32)|Uint8Clamped)?Array|ArrayBuffer|BigInt|Boolean|DataView|Date|Error|Function|Intl|JSON|(?:Weak)?(?:Map|Set)|Math|Number|Object|Promise|Proxy|Reflect|RegExp|String|Symbol|WebAssembly)\b/,alias:"class-name"},{pattern:/\b(?:[A-Z]\w*)Error\b/,alias:"class-name"}]}),e.languages.insertBefore("javascript","keyword",{imports:{pattern:t(/(\bimport\b\s*)(?:(?:\s*,\s*(?:\*\s*as\s+|\{[^{}]*\}))?|\*\s*as\s+|\{[^{}]*\})(?=\s*\bfrom\b)/.source),lookbehind:!0,inside:e.languages.javascript},exports:{pattern:t(/(\bexport\b\s*)(?:\*(?:\s*as\s+)?(?=\s*\bfrom\b)|\{[^{}]*\})/.source),lookbehind:!0,inside:e.languages.javascript}}),e.languages.javascript.keyword.unshift({pattern:/\b(?:as|default|export|from|import)\b/,alias:"module"},{pattern:/\b(?:await|break|catch|continue|do|else|finally|for|if|return|switch|throw|try|while|yield)\b/,alias:"control-flow"},{pattern:/\bnull\b/,alias:["null","nil"]},{pattern:/\bundefined\b/,alias:"nil"}),e.languages.insertBefore("javascript","operator",{spread:{pattern:/\.{3}/,alias:"operator"},arrow:{pattern:/=>/,alias:"operator"}}),e.languages.insertBefore("javascript","punctuation",{"property-access":{pattern:t(/(\.\s*)#?/.source),lookbehind:!0},"maybe-class-name":{pattern:/(^|[^$\w\xA0-\uFFFF])[A-Z][$\w\xA0-\uFFFF]+/,lookbehind:!0},dom:{pattern:/\b(?:document|(?:local|session)Storage|location|navigator|performance|window)\b/,alias:"variable"},console:{pattern:/\bconsole(?=\s*\.)/,alias:"class-name"}});for(var n=["function","function-variable","method","method-variable","property-access"],r=0;r*\.{3}(?:[^{}]|)*\})/.source;function o(e,t){return e=e.replace(//g,(function(){return n})).replace(//g,(function(){return r})).replace(//g,(function(){return a})),RegExp(e,t)}function i(t){for(var n=[],r=0;r"!==a.content[a.content.length-1].content&&n.push({tagName:s(a.content[0].content[1]),openedBraces:0}):0+(?:[\w.:$-]+(?:=(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s{'"/>=]+|))?|))**\/?)?>/.source),e.languages.jsx.tag.inside.tag.pattern=/^<\/?[^\s>\/]*/,e.languages.jsx.tag.inside["attr-value"].pattern=/=(?!\{)(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s'">]+)/,e.languages.jsx.tag.inside.tag.inside["class-name"]=/^[A-Z]\w*(?:\.[A-Z]\w*)*$/,e.languages.jsx.tag.inside.comment=t.comment,e.languages.insertBefore("inside","attr-name",{spread:{pattern:o(//.source),inside:e.languages.jsx}},e.languages.jsx.tag),e.languages.insertBefore("inside","special-attr",{script:{pattern:o(/=/.source),alias:"language-javascript",inside:{"script-punctuation":{pattern:/^=(?=\{)/,alias:"punctuation"},rest:e.languages.jsx}}},e.languages.jsx.tag);var s=function(e){return e?"string"==typeof e?e:"string"==typeof e.content?e.content:e.content.map(s).join(""):""};e.hooks.add("after-tokenize",(function(e){"jsx"!==e.language&&"tsx"!==e.language||i(e.tokens)}))}(A),function(e){var t=e.util.clone(e.languages.typescript);(t=(e.languages.tsx=e.languages.extend("jsx",t),delete e.languages.tsx.parameter,delete e.languages.tsx["literal-property"],e.languages.tsx.tag)).pattern=RegExp(/(^|[^\w$]|(?=<\/))/.source+"(?:"+t.pattern.source+")",t.pattern.flags),t.lookbehind=!0}(A),A.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:/[{}[\]();,.:\\]/},A.languages.swift["string-literal"].forEach((function(e){e.inside.interpolation.inside=A.languages.swift})),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}(A),A.languages.c=A.languages.extend("clike",{comment:{pattern:/\/\/(?:[^\r\n\\]|\\(?:\r\n?|\n|(?![\r\n])))*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},"class-name":{pattern:/(\b(?:enum|struct)\s+(?:__attribute__\s*\(\([\s\S]*?\)\)\s*)?)\w+|\b[a-z]\w*_t\b/,lookbehind:!0},keyword:/\b(?:_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|__attribute__|asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|inline|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|typeof|union|unsigned|void|volatile|while)\b/,function:/\b[a-z_]\w*(?=\s*\()/i,number:/(?:\b0x(?:[\da-f]+(?:\.[\da-f]*)?|\.[\da-f]+)(?:p[+-]?\d+)?|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?)[ful]{0,4}/i,operator:/>>=?|<<=?|->|([-+&|:])\1|[?:~]|[-+*/%&|^!=<>]=?/}),A.languages.insertBefore("c","string",{char:{pattern:/'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n]){0,32}'/,greedy:!0}}),A.languages.insertBefore("c","string",{macro:{pattern:/(^[\t ]*)#\s*[a-z](?:[^\r\n\\/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|\\(?:\r\n|[\s\S]))*/im,lookbehind:!0,greedy:!0,alias:"property",inside:{string:[{pattern:/^(#\s*include\s*)<[^>]+>/,lookbehind:!0},A.languages.c.string],char:A.languages.c.char,comment:A.languages.c.comment,"macro-name":[{pattern:/(^#\s*define\s+)\w+\b(?!\()/i,lookbehind:!0},{pattern:/(^#\s*define\s+)\w+\b(?=\()/i,lookbehind:!0,alias:"function"}],directive:{pattern:/^(#\s*)[a-z]+/,lookbehind:!0,alias:"keyword"},"directive-hash":/^#/,punctuation:/##|\\(?=[\r\n])/,expression:{pattern:/\S[\s\S]*/,inside:A.languages.c}}}}),A.languages.insertBefore("c","function",{constant:/\b(?:EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|__DATE__|__FILE__|__LINE__|__TIMESTAMP__|__TIME__|__func__|stderr|stdin|stdout)\b/}),delete A.languages.c.boolean,A.languages.objectivec=A.languages.extend("c",{string:{pattern:/@?"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},keyword:/\b(?:asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|in|inline|int|long|register|return|self|short|signed|sizeof|static|struct|super|switch|typedef|typeof|union|unsigned|void|volatile|while)\b|(?:@interface|@end|@implementation|@protocol|@class|@public|@protected|@private|@property|@try|@catch|@finally|@throw|@synthesize|@dynamic|@selector)\b/,operator:/-[->]?|\+\+?|!=?|<>?=?|==?|&&?|\|\|?|[~^%?*\/@]/}),delete A.languages.objectivec["class-name"],A.languages.objc=A.languages.objectivec,A.languages.reason=A.languages.extend("clike",{string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^\\\r\n"])*"/,greedy:!0},"class-name":/\b[A-Z]\w*/,keyword:/\b(?:and|as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|method|module|mutable|new|nonrec|object|of|open|or|private|rec|sig|struct|switch|then|to|try|type|val|virtual|when|while|with)\b/,operator:/\.{3}|:[:=]|\|>|->|=(?:==?|>)?|<=?|>=?|[|^?'#!~`]|[+\-*\/]\.?|\b(?:asr|land|lor|lsl|lsr|lxor|mod)\b/}),A.languages.insertBefore("reason","class-name",{char:{pattern:/'(?:\\x[\da-f]{2}|\\o[0-3][0-7][0-7]|\\\d{3}|\\.|[^'\\\r\n])'/,greedy:!0},constructor:/\b[A-Z]\w*\b(?!\s*\.)/,label:{pattern:/\b[a-z]\w*(?=::)/,alias:"symbol"}}),delete A.languages.reason.function,function(e){for(var t=/\/\*(?:[^*/]|\*(?!\/)|\/(?!\*)|)*\*\//.source,n=0;n<2;n++)t=t.replace(//g,(function(){return t}));t=t.replace(//g,(function(){return/[^\s\S]/.source})),e.languages.rust={comment:[{pattern:RegExp(/(^|[^\\])/.source+t),lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/b?"(?:\\[\s\S]|[^\\"])*"|b?r(#*)"(?:[^"]|"(?!\1))*"\1/,greedy:!0},char:{pattern:/b?'(?:\\(?:x[0-7][\da-fA-F]|u\{(?:[\da-fA-F]_*){1,6}\}|.)|[^\\\r\n\t'])'/,greedy:!0},attribute:{pattern:/#!?\[(?:[^\[\]"]|"(?:\\[\s\S]|[^\\"])*")*\]/,greedy:!0,alias:"attr-name",inside:{string:null}},"closure-params":{pattern:/([=(,:]\s*|\bmove\s*)\|[^|]*\||\|[^|]*\|(?=\s*(?:\{|->))/,lookbehind:!0,greedy:!0,inside:{"closure-punctuation":{pattern:/^\||\|$/,alias:"punctuation"},rest:null}},"lifetime-annotation":{pattern:/'\w+/,alias:"symbol"},"fragment-specifier":{pattern:/(\$\w+:)[a-z]+/,lookbehind:!0,alias:"punctuation"},variable:/\$\w+/,"function-definition":{pattern:/(\bfn\s+)\w+/,lookbehind:!0,alias:"function"},"type-definition":{pattern:/(\b(?:enum|struct|trait|type|union)\s+)\w+/,lookbehind:!0,alias:"class-name"},"module-declaration":[{pattern:/(\b(?:crate|mod)\s+)[a-z][a-z_\d]*/,lookbehind:!0,alias:"namespace"},{pattern:/(\b(?:crate|self|super)\s*)::\s*[a-z][a-z_\d]*\b(?:\s*::(?:\s*[a-z][a-z_\d]*\s*::)*)?/,lookbehind:!0,alias:"namespace",inside:{punctuation:/::/}}],keyword:[/\b(?:Self|abstract|as|async|await|become|box|break|const|continue|crate|do|dyn|else|enum|extern|final|fn|for|if|impl|in|let|loop|macro|match|mod|move|mut|override|priv|pub|ref|return|self|static|struct|super|trait|try|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield)\b/,/\b(?:bool|char|f(?:32|64)|[ui](?:8|16|32|64|128|size)|str)\b/],function:/\b[a-z_]\w*(?=\s*(?:::\s*<|\())/,macro:{pattern:/\b\w+!/,alias:"property"},constant:/\b[A-Z_][A-Z_\d]+\b/,"class-name":/\b[A-Z]\w*\b/,namespace:{pattern:/(?:\b[a-z][a-z_\d]*\s*::\s*)*\b[a-z][a-z_\d]*\s*::(?!\s*<)/,inside:{punctuation:/::/}},number:/\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0o[0-7](?:_?[0-7])*|0b[01](?:_?[01])*|(?:(?:\d(?:_?\d)*)?\.)?\d(?:_?\d)*(?:[Ee][+-]?\d+)?)(?:_?(?:f32|f64|[iu](?:8|16|32|64|size)?))?\b/,boolean:/\b(?:false|true)\b/,punctuation:/->|\.\.=|\.{1,3}|::|[{}[\];(),:]/,operator:/[-+*\/%!^]=?|=[=>]?|&[&=]?|\|[|=]?|<>?=?|[@?]/},e.languages.rust["closure-params"].inside.rest=e.languages.rust,e.languages.rust.attribute.inside.string=e.languages.rust.string}(A),A.languages.go=A.languages.extend("clike",{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"|`[^`]*`/,lookbehind:!0,greedy:!0},keyword:/\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\b/,boolean:/\b(?:_|false|iota|nil|true)\b/,number:[/\b0(?:b[01_]+|o[0-7_]+)i?\b/i,/\b0x(?:[a-f\d_]+(?:\.[a-f\d_]*)?|\.[a-f\d_]+)(?:p[+-]?\d+(?:_\d+)*)?i?(?!\w)/i,/(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?[\d_]+)?i?(?!\w)/i],operator:/[*\/%^!=]=?|\+[=+]?|-[=-]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\./,builtin:/\b(?:append|bool|byte|cap|close|complex|complex(?:64|128)|copy|delete|error|float(?:32|64)|u?int(?:8|16|32|64)?|imag|len|make|new|panic|print(?:ln)?|real|recover|rune|string|uintptr)\b/}),A.languages.insertBefore("go","string",{char:{pattern:/'(?:\\.|[^'\\\r\n]){0,10}'/,greedy:!0}}),delete A.languages.go["class-name"],function(e){var t=/\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|char8_t|class|co_await|co_return|co_yield|compl|concept|const|const_cast|consteval|constexpr|constinit|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|final|float|for|friend|goto|if|import|inline|int|int16_t|int32_t|int64_t|int8_t|long|module|mutable|namespace|new|noexcept|nullptr|operator|override|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|uint16_t|uint32_t|uint64_t|uint8_t|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/,n=/\b(?!)\w+(?:\s*\.\s*\w+)*\b/.source.replace(//g,(function(){return t.source}));e.languages.cpp=e.languages.extend("c",{"class-name":[{pattern:RegExp(/(\b(?:class|concept|enum|struct|typename)\s+)(?!)\w+/.source.replace(//g,(function(){return t.source}))),lookbehind:!0},/\b[A-Z]\w*(?=\s*::\s*\w+\s*\()/,/\b[A-Z_]\w*(?=\s*::\s*~\w+\s*\()/i,/\b\w+(?=\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\s*::\s*\w+\s*\()/],keyword:t,number:{pattern:/(?:\b0b[01']+|\b0x(?:[\da-f']+(?:\.[\da-f']*)?|\.[\da-f']+)(?:p[+-]?[\d']+)?|(?:\b[\d']+(?:\.[\d']*)?|\B\.[\d']+)(?:e[+-]?[\d']+)?)[ful]{0,4}/i,greedy:!0},operator:/>>=?|<<=?|->|--|\+\+|&&|\|\||[?:~]|<=>|[-+*/%&|^!=<>]=?|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/,boolean:/\b(?:false|true)\b/}),e.languages.insertBefore("cpp","string",{module:{pattern:RegExp(/(\b(?:import|module)\s+)/.source+"(?:"+/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|<[^<>\r\n]*>/.source+"|"+/(?:\s*:\s*)?|:\s*/.source.replace(//g,(function(){return n}))+")"),lookbehind:!0,greedy:!0,inside:{string:/^[<"][\s\S]+/,operator:/:/,punctuation:/\./}},"raw-string":{pattern:/R"([^()\\ ]{0,16})\([\s\S]*?\)\1"/,alias:"string",greedy:!0}}),e.languages.insertBefore("cpp","keyword",{"generic-function":{pattern:/\b(?!operator\b)[a-z_]\w*\s*<(?:[^<>]|<[^<>]*>)*>(?=\s*\()/i,inside:{function:/^\w+/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:e.languages.cpp}}}}),e.languages.insertBefore("cpp","operator",{"double-colon":{pattern:/::/,alias:"punctuation"}}),e.languages.insertBefore("cpp","class-name",{"base-clause":{pattern:/(\b(?:class|struct)\s+\w+\s*:\s*)[^;{}"'\s]+(?:\s+[^;{}"'\s]+)*(?=\s*[;{])/,lookbehind:!0,greedy:!0,inside:e.languages.extend("cpp",{})}}),e.languages.insertBefore("inside","double-colon",{"class-name":/\b[a-z_]\w*\b(?!\s*::)/i},e.languages.cpp["base-clause"])}(A),A.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0,greedy:!0},"string-interpolation":{pattern:/(?:f|fr|rf)(?:("""|''')[\s\S]*?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^{])(?:\{\{)*)\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}])+\})+\})+\}/,lookbehind:!0,inside:{"format-spec":{pattern:/(:)[^:(){}]+(?=\}$)/,lookbehind:!0},"conversion-option":{pattern:/![sra](?=[:}]$)/,alias:"punctuation"},rest:null}},string:/[\s\S]+/}},"triple-quoted-string":{pattern:/(?:[rub]|br|rb)?("""|''')[\s\S]*?\1/i,greedy:!0,alias:"string"},string:{pattern:/(?:[rub]|br|rb)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i,greedy:!0},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g,lookbehind:!0},"class-name":{pattern:/(\bclass\s+)\w+/i,lookbehind:!0},decorator:{pattern:/(^[\t ]*)@\w+(?:\.\w+)*/m,lookbehind:!0,alias:["annotation","punctuation"],inside:{punctuation:/\./}},keyword:/\b(?:_(?=\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,builtin:/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,boolean:/\b(?:False|None|True)\b/,number:/\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\b|(?:\b\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\B\.\d+(?:_\d+)*)(?:e[+-]?\d+(?:_\d+)*)?j?(?!\w)/i,operator:/[-+%=]=?|!=|:=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/},A.languages.python["string-interpolation"].inside.interpolation.inside.rest=A.languages.python,A.languages.py=A.languages.python,A.languages.json={property:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?=\s*:)/,lookbehind:!0,greedy:!0},string:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?!\s*:)/,lookbehind:!0,greedy:!0},comment:{pattern:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},number:/-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,punctuation:/[{}[\],]/,operator:/:/,boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"}},A.languages.webmanifest=A.languages.json;((e,t)=>{for(var n in t)p(e,n,{get:t[n],enumerable:!0})})({},{dracula:()=>T,duotoneDark:()=>O,duotoneLight:()=>N,github:()=>P,gruvboxMaterialDark:()=>G,gruvboxMaterialLight:()=>K,jettwaveDark:()=>V,jettwaveLight:()=>W,nightOwl:()=>L,nightOwlLight:()=>j,oceanicNext:()=>F,okaidia:()=>D,oneDark:()=>Q,oneLight:()=>q,palenight:()=>M,shadesOfPurple:()=>z,synthwave84:()=>$,ultramin:()=>B,vsDark:()=>U,vsLight:()=>H});var T={plain:{color:"#F8F8F2",backgroundColor:"#282A36"},styles:[{types:["prolog","constant","builtin"],style:{color:"rgb(189, 147, 249)"}},{types:["inserted","function"],style:{color:"rgb(80, 250, 123)"}},{types:["deleted"],style:{color:"rgb(255, 85, 85)"}},{types:["changed"],style:{color:"rgb(255, 184, 108)"}},{types:["punctuation","symbol"],style:{color:"rgb(248, 248, 242)"}},{types:["string","char","tag","selector"],style:{color:"rgb(255, 121, 198)"}},{types:["keyword","variable"],style:{color:"rgb(189, 147, 249)",fontStyle:"italic"}},{types:["comment"],style:{color:"rgb(98, 114, 164)"}},{types:["attr-name"],style:{color:"rgb(241, 250, 140)"}}]},O={plain:{backgroundColor:"#2a2734",color:"#9a86fd"},styles:[{types:["comment","prolog","doctype","cdata","punctuation"],style:{color:"#6c6783"}},{types:["namespace"],style:{opacity:.7}},{types:["tag","operator","number"],style:{color:"#e09142"}},{types:["property","function"],style:{color:"#9a86fd"}},{types:["tag-id","selector","atrule-id"],style:{color:"#eeebff"}},{types:["attr-name"],style:{color:"#c4b9fe"}},{types:["boolean","string","entity","url","attr-value","keyword","control","directive","unit","statement","regex","atrule","placeholder","variable"],style:{color:"#ffcc99"}},{types:["deleted"],style:{textDecorationLine:"line-through"}},{types:["inserted"],style:{textDecorationLine:"underline"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["important"],style:{color:"#c4b9fe"}}]},N={plain:{backgroundColor:"#faf8f5",color:"#728fcb"},styles:[{types:["comment","prolog","doctype","cdata","punctuation"],style:{color:"#b6ad9a"}},{types:["namespace"],style:{opacity:.7}},{types:["tag","operator","number"],style:{color:"#063289"}},{types:["property","function"],style:{color:"#b29762"}},{types:["tag-id","selector","atrule-id"],style:{color:"#2d2006"}},{types:["attr-name"],style:{color:"#896724"}},{types:["boolean","string","entity","url","attr-value","keyword","control","directive","unit","statement","regex","atrule"],style:{color:"#728fcb"}},{types:["placeholder","variable"],style:{color:"#93abdc"}},{types:["deleted"],style:{textDecorationLine:"line-through"}},{types:["inserted"],style:{textDecorationLine:"underline"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["important"],style:{color:"#896724"}}]},P={plain:{color:"#393A34",backgroundColor:"#f6f8fa"},styles:[{types:["comment","prolog","doctype","cdata"],style:{color:"#999988",fontStyle:"italic"}},{types:["namespace"],style:{opacity:.7}},{types:["string","attr-value"],style:{color:"#e3116c"}},{types:["punctuation","operator"],style:{color:"#393A34"}},{types:["entity","url","symbol","number","boolean","variable","constant","property","regex","inserted"],style:{color:"#36acaa"}},{types:["atrule","keyword","attr-name","selector"],style:{color:"#00a4db"}},{types:["function","deleted","tag"],style:{color:"#d73a49"}},{types:["function-variable"],style:{color:"#6f42c1"}},{types:["tag","selector","keyword"],style:{color:"#00009f"}}]},L={plain:{color:"#d6deeb",backgroundColor:"#011627"},styles:[{types:["changed"],style:{color:"rgb(162, 191, 252)",fontStyle:"italic"}},{types:["deleted"],style:{color:"rgba(239, 83, 80, 0.56)",fontStyle:"italic"}},{types:["inserted","attr-name"],style:{color:"rgb(173, 219, 103)",fontStyle:"italic"}},{types:["comment"],style:{color:"rgb(99, 119, 119)",fontStyle:"italic"}},{types:["string","url"],style:{color:"rgb(173, 219, 103)"}},{types:["variable"],style:{color:"rgb(214, 222, 235)"}},{types:["number"],style:{color:"rgb(247, 140, 108)"}},{types:["builtin","char","constant","function"],style:{color:"rgb(130, 170, 255)"}},{types:["punctuation"],style:{color:"rgb(199, 146, 234)"}},{types:["selector","doctype"],style:{color:"rgb(199, 146, 234)",fontStyle:"italic"}},{types:["class-name"],style:{color:"rgb(255, 203, 139)"}},{types:["tag","operator","keyword"],style:{color:"rgb(127, 219, 202)"}},{types:["boolean"],style:{color:"rgb(255, 88, 116)"}},{types:["property"],style:{color:"rgb(128, 203, 196)"}},{types:["namespace"],style:{color:"rgb(178, 204, 214)"}}]},j={plain:{color:"#403f53",backgroundColor:"#FBFBFB"},styles:[{types:["changed"],style:{color:"rgb(162, 191, 252)",fontStyle:"italic"}},{types:["deleted"],style:{color:"rgba(239, 83, 80, 0.56)",fontStyle:"italic"}},{types:["inserted","attr-name"],style:{color:"rgb(72, 118, 214)",fontStyle:"italic"}},{types:["comment"],style:{color:"rgb(152, 159, 177)",fontStyle:"italic"}},{types:["string","builtin","char","constant","url"],style:{color:"rgb(72, 118, 214)"}},{types:["variable"],style:{color:"rgb(201, 103, 101)"}},{types:["number"],style:{color:"rgb(170, 9, 130)"}},{types:["punctuation"],style:{color:"rgb(153, 76, 195)"}},{types:["function","selector","doctype"],style:{color:"rgb(153, 76, 195)",fontStyle:"italic"}},{types:["class-name"],style:{color:"rgb(17, 17, 17)"}},{types:["tag"],style:{color:"rgb(153, 76, 195)"}},{types:["operator","property","keyword","namespace"],style:{color:"rgb(12, 150, 155)"}},{types:["boolean"],style:{color:"rgb(188, 84, 84)"}}]},R="#c5a5c5",I="#8dc891",F={plain:{backgroundColor:"#282c34",color:"#ffffff"},styles:[{types:["attr-name"],style:{color:R}},{types:["attr-value"],style:{color:I}},{types:["comment","block-comment","prolog","doctype","cdata","shebang"],style:{color:"#999999"}},{types:["property","number","function-name","constant","symbol","deleted"],style:{color:"#5a9bcf"}},{types:["boolean"],style:{color:"#ff8b50"}},{types:["tag"],style:{color:"#fc929e"}},{types:["string"],style:{color:I}},{types:["punctuation"],style:{color:I}},{types:["selector","char","builtin","inserted"],style:{color:"#D8DEE9"}},{types:["function"],style:{color:"#79b6f2"}},{types:["operator","entity","url","variable"],style:{color:"#d7deea"}},{types:["keyword"],style:{color:R}},{types:["atrule","class-name"],style:{color:"#FAC863"}},{types:["important"],style:{fontWeight:"400"}},{types:["bold"],style:{fontWeight:"bold"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["namespace"],style:{opacity:.7}}]},D={plain:{color:"#f8f8f2",backgroundColor:"#272822"},styles:[{types:["changed"],style:{color:"rgb(162, 191, 252)",fontStyle:"italic"}},{types:["deleted"],style:{color:"#f92672",fontStyle:"italic"}},{types:["inserted"],style:{color:"rgb(173, 219, 103)",fontStyle:"italic"}},{types:["comment"],style:{color:"#8292a2",fontStyle:"italic"}},{types:["string","url"],style:{color:"#a6e22e"}},{types:["variable"],style:{color:"#f8f8f2"}},{types:["number"],style:{color:"#ae81ff"}},{types:["builtin","char","constant","function","class-name"],style:{color:"#e6db74"}},{types:["punctuation"],style:{color:"#f8f8f2"}},{types:["selector","doctype"],style:{color:"#a6e22e",fontStyle:"italic"}},{types:["tag","operator","keyword"],style:{color:"#66d9ef"}},{types:["boolean"],style:{color:"#ae81ff"}},{types:["namespace"],style:{color:"rgb(178, 204, 214)",opacity:.7}},{types:["tag","property"],style:{color:"#f92672"}},{types:["attr-name"],style:{color:"#a6e22e !important"}},{types:["doctype"],style:{color:"#8292a2"}},{types:["rule"],style:{color:"#e6db74"}}]},M={plain:{color:"#bfc7d5",backgroundColor:"#292d3e"},styles:[{types:["comment"],style:{color:"rgb(105, 112, 152)",fontStyle:"italic"}},{types:["string","inserted"],style:{color:"rgb(195, 232, 141)"}},{types:["number"],style:{color:"rgb(247, 140, 108)"}},{types:["builtin","char","constant","function"],style:{color:"rgb(130, 170, 255)"}},{types:["punctuation","selector"],style:{color:"rgb(199, 146, 234)"}},{types:["variable"],style:{color:"rgb(191, 199, 213)"}},{types:["class-name","attr-name"],style:{color:"rgb(255, 203, 107)"}},{types:["tag","deleted"],style:{color:"rgb(255, 85, 114)"}},{types:["operator"],style:{color:"rgb(137, 221, 255)"}},{types:["boolean"],style:{color:"rgb(255, 88, 116)"}},{types:["keyword"],style:{fontStyle:"italic"}},{types:["doctype"],style:{color:"rgb(199, 146, 234)",fontStyle:"italic"}},{types:["namespace"],style:{color:"rgb(178, 204, 214)"}},{types:["url"],style:{color:"rgb(221, 221, 221)"}}]},z={plain:{color:"#9EFEFF",backgroundColor:"#2D2A55"},styles:[{types:["changed"],style:{color:"rgb(255, 238, 128)"}},{types:["deleted"],style:{color:"rgba(239, 83, 80, 0.56)"}},{types:["inserted"],style:{color:"rgb(173, 219, 103)"}},{types:["comment"],style:{color:"rgb(179, 98, 255)",fontStyle:"italic"}},{types:["punctuation"],style:{color:"rgb(255, 255, 255)"}},{types:["constant"],style:{color:"rgb(255, 98, 140)"}},{types:["string","url"],style:{color:"rgb(165, 255, 144)"}},{types:["variable"],style:{color:"rgb(255, 238, 128)"}},{types:["number","boolean"],style:{color:"rgb(255, 98, 140)"}},{types:["attr-name"],style:{color:"rgb(255, 180, 84)"}},{types:["keyword","operator","property","namespace","tag","selector","doctype"],style:{color:"rgb(255, 157, 0)"}},{types:["builtin","char","constant","function","class-name"],style:{color:"rgb(250, 208, 0)"}}]},$={plain:{backgroundColor:"linear-gradient(to bottom, #2a2139 75%, #34294f)",backgroundImage:"#34294f",color:"#f92aad",textShadow:"0 0 2px #100c0f, 0 0 5px #dc078e33, 0 0 10px #fff3"},styles:[{types:["comment","block-comment","prolog","doctype","cdata"],style:{color:"#495495",fontStyle:"italic"}},{types:["punctuation"],style:{color:"#ccc"}},{types:["tag","attr-name","namespace","number","unit","hexcode","deleted"],style:{color:"#e2777a"}},{types:["property","selector"],style:{color:"#72f1b8",textShadow:"0 0 2px #100c0f, 0 0 10px #257c5575, 0 0 35px #21272475"}},{types:["function-name"],style:{color:"#6196cc"}},{types:["boolean","selector-id","function"],style:{color:"#fdfdfd",textShadow:"0 0 2px #001716, 0 0 3px #03edf975, 0 0 5px #03edf975, 0 0 8px #03edf975"}},{types:["class-name","maybe-class-name","builtin"],style:{color:"#fff5f6",textShadow:"0 0 2px #000, 0 0 10px #fc1f2c75, 0 0 5px #fc1f2c75, 0 0 25px #fc1f2c75"}},{types:["constant","symbol"],style:{color:"#f92aad",textShadow:"0 0 2px #100c0f, 0 0 5px #dc078e33, 0 0 10px #fff3"}},{types:["important","atrule","keyword","selector-class"],style:{color:"#f4eee4",textShadow:"0 0 2px #393a33, 0 0 8px #f39f0575, 0 0 2px #f39f0575"}},{types:["string","char","attr-value","regex","variable"],style:{color:"#f87c32"}},{types:["parameter"],style:{fontStyle:"italic"}},{types:["entity","url"],style:{color:"#67cdcc"}},{types:["operator"],style:{color:"ffffffee"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["entity"],style:{cursor:"help"}},{types:["inserted"],style:{color:"green"}}]},B={plain:{color:"#282a2e",backgroundColor:"#ffffff"},styles:[{types:["comment"],style:{color:"rgb(197, 200, 198)"}},{types:["string","number","builtin","variable"],style:{color:"rgb(150, 152, 150)"}},{types:["class-name","function","tag","attr-name"],style:{color:"rgb(40, 42, 46)"}}]},U={plain:{color:"#9CDCFE",backgroundColor:"#1E1E1E"},styles:[{types:["prolog"],style:{color:"rgb(0, 0, 128)"}},{types:["comment"],style:{color:"rgb(106, 153, 85)"}},{types:["builtin","changed","keyword","interpolation-punctuation"],style:{color:"rgb(86, 156, 214)"}},{types:["number","inserted"],style:{color:"rgb(181, 206, 168)"}},{types:["constant"],style:{color:"rgb(100, 102, 149)"}},{types:["attr-name","variable"],style:{color:"rgb(156, 220, 254)"}},{types:["deleted","string","attr-value","template-punctuation"],style:{color:"rgb(206, 145, 120)"}},{types:["selector"],style:{color:"rgb(215, 186, 125)"}},{types:["tag"],style:{color:"rgb(78, 201, 176)"}},{types:["tag"],languages:["markup"],style:{color:"rgb(86, 156, 214)"}},{types:["punctuation","operator"],style:{color:"rgb(212, 212, 212)"}},{types:["punctuation"],languages:["markup"],style:{color:"#808080"}},{types:["function"],style:{color:"rgb(220, 220, 170)"}},{types:["class-name"],style:{color:"rgb(78, 201, 176)"}},{types:["char"],style:{color:"rgb(209, 105, 105)"}}]},H={plain:{color:"#000000",backgroundColor:"#ffffff"},styles:[{types:["comment"],style:{color:"rgb(0, 128, 0)"}},{types:["builtin"],style:{color:"rgb(0, 112, 193)"}},{types:["number","variable","inserted"],style:{color:"rgb(9, 134, 88)"}},{types:["operator"],style:{color:"rgb(0, 0, 0)"}},{types:["constant","char"],style:{color:"rgb(129, 31, 63)"}},{types:["tag"],style:{color:"rgb(128, 0, 0)"}},{types:["attr-name"],style:{color:"rgb(255, 0, 0)"}},{types:["deleted","string"],style:{color:"rgb(163, 21, 21)"}},{types:["changed","punctuation"],style:{color:"rgb(4, 81, 165)"}},{types:["function","keyword"],style:{color:"rgb(0, 0, 255)"}},{types:["class-name"],style:{color:"rgb(38, 127, 153)"}}]},V={plain:{color:"#f8fafc",backgroundColor:"#011627"},styles:[{types:["prolog"],style:{color:"#000080"}},{types:["comment"],style:{color:"#6A9955"}},{types:["builtin","changed","keyword","interpolation-punctuation"],style:{color:"#569CD6"}},{types:["number","inserted"],style:{color:"#B5CEA8"}},{types:["constant"],style:{color:"#f8fafc"}},{types:["attr-name","variable"],style:{color:"#9CDCFE"}},{types:["deleted","string","attr-value","template-punctuation"],style:{color:"#cbd5e1"}},{types:["selector"],style:{color:"#D7BA7D"}},{types:["tag"],style:{color:"#0ea5e9"}},{types:["tag"],languages:["markup"],style:{color:"#0ea5e9"}},{types:["punctuation","operator"],style:{color:"#D4D4D4"}},{types:["punctuation"],languages:["markup"],style:{color:"#808080"}},{types:["function"],style:{color:"#7dd3fc"}},{types:["class-name"],style:{color:"#0ea5e9"}},{types:["char"],style:{color:"#D16969"}}]},W={plain:{color:"#0f172a",backgroundColor:"#f1f5f9"},styles:[{types:["prolog"],style:{color:"#000080"}},{types:["comment"],style:{color:"#6A9955"}},{types:["builtin","changed","keyword","interpolation-punctuation"],style:{color:"#0c4a6e"}},{types:["number","inserted"],style:{color:"#B5CEA8"}},{types:["constant"],style:{color:"#0f172a"}},{types:["attr-name","variable"],style:{color:"#0c4a6e"}},{types:["deleted","string","attr-value","template-punctuation"],style:{color:"#64748b"}},{types:["selector"],style:{color:"#D7BA7D"}},{types:["tag"],style:{color:"#0ea5e9"}},{types:["tag"],languages:["markup"],style:{color:"#0ea5e9"}},{types:["punctuation","operator"],style:{color:"#475569"}},{types:["punctuation"],languages:["markup"],style:{color:"#808080"}},{types:["function"],style:{color:"#0e7490"}},{types:["class-name"],style:{color:"#0ea5e9"}},{types:["char"],style:{color:"#D16969"}}]},Q={plain:{backgroundColor:"hsl(220, 13%, 18%)",color:"hsl(220, 14%, 71%)",textShadow:"0 1px rgba(0, 0, 0, 0.3)"},styles:[{types:["comment","prolog","cdata"],style:{color:"hsl(220, 10%, 40%)"}},{types:["doctype","punctuation","entity"],style:{color:"hsl(220, 14%, 71%)"}},{types:["attr-name","class-name","maybe-class-name","boolean","constant","number","atrule"],style:{color:"hsl(29, 54%, 61%)"}},{types:["keyword"],style:{color:"hsl(286, 60%, 67%)"}},{types:["property","tag","symbol","deleted","important"],style:{color:"hsl(355, 65%, 65%)"}},{types:["selector","string","char","builtin","inserted","regex","attr-value"],style:{color:"hsl(95, 38%, 62%)"}},{types:["variable","operator","function"],style:{color:"hsl(207, 82%, 66%)"}},{types:["url"],style:{color:"hsl(187, 47%, 55%)"}},{types:["deleted"],style:{textDecorationLine:"line-through"}},{types:["inserted"],style:{textDecorationLine:"underline"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["important"],style:{color:"hsl(220, 14%, 71%)"}}]},q={plain:{backgroundColor:"hsl(230, 1%, 98%)",color:"hsl(230, 8%, 24%)"},styles:[{types:["comment","prolog","cdata"],style:{color:"hsl(230, 4%, 64%)"}},{types:["doctype","punctuation","entity"],style:{color:"hsl(230, 8%, 24%)"}},{types:["attr-name","class-name","boolean","constant","number","atrule"],style:{color:"hsl(35, 99%, 36%)"}},{types:["keyword"],style:{color:"hsl(301, 63%, 40%)"}},{types:["property","tag","symbol","deleted","important"],style:{color:"hsl(5, 74%, 59%)"}},{types:["selector","string","char","builtin","inserted","regex","attr-value","punctuation"],style:{color:"hsl(119, 34%, 47%)"}},{types:["variable","operator","function"],style:{color:"hsl(221, 87%, 60%)"}},{types:["url"],style:{color:"hsl(198, 99%, 37%)"}},{types:["deleted"],style:{textDecorationLine:"line-through"}},{types:["inserted"],style:{textDecorationLine:"underline"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["important"],style:{color:"hsl(230, 8%, 24%)"}}]},G={plain:{color:"#ebdbb2",backgroundColor:"#292828"},styles:[{types:["imports","class-name","maybe-class-name","constant","doctype","builtin","function"],style:{color:"#d8a657"}},{types:["property-access"],style:{color:"#7daea3"}},{types:["tag"],style:{color:"#e78a4e"}},{types:["attr-name","char","url","regex"],style:{color:"#a9b665"}},{types:["attr-value","string"],style:{color:"#89b482"}},{types:["comment","prolog","cdata","operator","inserted"],style:{color:"#a89984"}},{types:["delimiter","boolean","keyword","selector","important","atrule","property","variable","deleted"],style:{color:"#ea6962"}},{types:["entity","number","symbol"],style:{color:"#d3869b"}}]},K={plain:{color:"#654735",backgroundColor:"#f9f5d7"},styles:[{types:["delimiter","boolean","keyword","selector","important","atrule","property","variable","deleted"],style:{color:"#af2528"}},{types:["imports","class-name","maybe-class-name","constant","doctype","builtin"],style:{color:"#b4730e"}},{types:["string","attr-value"],style:{color:"#477a5b"}},{types:["property-access"],style:{color:"#266b79"}},{types:["function","attr-name","char","url"],style:{color:"#72761e"}},{types:["tag"],style:{color:"#b94c07"}},{types:["comment","prolog","cdata","operator","inserted"],style:{color:"#a89984"}},{types:["entity","number","symbol"],style:{color:"#924f79"}}]},Y=/\r\n|\r|\n/,Z=e=>{0===e.length?e.push({types:["plain"],content:"\n",empty:!0}):1===e.length&&""===e[0].content&&(e[0].content="\n",e[0].empty=!0)},X=(e,t)=>{const n=e.length;return n>0&&e[n-1]===t?e:e.concat(t)},J=e=>{const t=[[]],n=[e],r=[0],a=[e.length];let o=0,i=0,s=[];const l=[s];for(;i>-1;){for(;(o=r[i]++)0?u:["plain"],e=c):(u=X(u,c.type),c.alias&&(u=X(u,c.alias)),e=c.content),"string"!=typeof e){i++,t.push(u),n.push(e),r.push(0),a.push(e.length);continue}const d=e.split(Y),f=d.length;s.push({types:u,content:d[0]});for(let t=1;t{const{plain:n}=e,r=e.styles.reduce(((e,n)=>{const{languages:r,style:a}=n;return r&&!r.includes(t)||n.types.forEach((t=>{const n=S(S({},e[t]),a);e[t]=n})),e}),{});return r.root=n,r.plain=E(S({},n),{backgroundColor:void 0}),r},te=({children:e,language:t,code:n,theme:r,prism:a})=>{const o=t.toLowerCase(),i=ee(r,o),s=(e=>(0,c.useCallback)((t=>{var n=t,{className:r,style:a,line:o}=n,i=_(n,["className","style","line"]);const s=E(S({},i),{className:(0,d.A)("token-line",r)});return"object"==typeof e&&"plain"in e&&(s.style=e.plain),"object"==typeof a&&(s.style=S(S({},s.style||{}),a)),s}),[e]))(i),l=(e=>{const t=(0,c.useCallback)((({types:t,empty:n})=>{if(null!=e)return 1===t.length&&"plain"===t[0]?null!=n?{display:"inline-block"}:void 0:1===t.length&&null!=n?e[t[0]]:Object.assign(null!=n?{display:"inline-block"}:{},...t.map((t=>e[t])))}),[e]);return(0,c.useCallback)((e=>{var n=e,{token:r,className:a,style:o}=n,i=_(n,["token","className","style"]);const s=E(S({},i),{className:(0,d.A)("token",...r.types,a),children:r.content,style:t(r)});return null!=o&&(s.style=S(S({},s.style||{}),o)),s}),[t])})(i),u=(({prism:e,code:t,grammar:n,language:r})=>(0,c.useMemo)((()=>{if(null==n)return J([t]);const a={code:t,grammar:n,language:r,tokens:[]};return e.hooks.run("before-tokenize",a),a.tokens=e.tokenize(t,n),e.hooks.run("after-tokenize",a),J(a.tokens)}),[t,n,r,e]))({prism:a,language:o,code:n,grammar:a.languages[o]});return e({tokens:u,className:`prism-code language-${o}`,style:null!=i?i.root:{},getLineProps:s,getTokenProps:l})},ne=e=>(0,c.createElement)(te,E(S({},e),{prism:e.prism||A,theme:e.theme||U,code:e.code,language:e.language}))},8635:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});var r=!0,a="Invariant failed";function o(e,t){if(!e){if(r)throw new Error(a);var n="function"==typeof t?t():t,o=n?"".concat(a,": ").concat(n):a;throw new Error(o)}}},6636:(e,t,n)=>{"use strict";n.r(t),n.d(t,{__addDisposableResource:()=>I,__assign:()=>o,__asyncDelegator:()=>_,__asyncGenerator:()=>E,__asyncValues:()=>C,__await:()=>S,__awaiter:()=>h,__classPrivateFieldGet:()=>L,__classPrivateFieldIn:()=>R,__classPrivateFieldSet:()=>j,__createBinding:()=>m,__decorate:()=>s,__disposeResources:()=>D,__esDecorate:()=>u,__exportStar:()=>y,__extends:()=>a,__generator:()=>g,__importDefault:()=>P,__importStar:()=>N,__makeTemplateObject:()=>A,__metadata:()=>p,__param:()=>l,__propKey:()=>d,__read:()=>v,__rest:()=>i,__rewriteRelativeImportExtension:()=>M,__runInitializers:()=>c,__setFunctionName:()=>f,__spread:()=>w,__spreadArray:()=>x,__spreadArrays:()=>k,__values:()=>b,default:()=>z});var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},r(e,t)};function a(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}var o=function(){return o=Object.assign||function(e){for(var t,n=1,r=arguments.length;n=0;s--)(a=e[s])&&(i=(o<3?a(i):o>3?a(t,n,i):a(t,n))||i);return o>3&&i&&Object.defineProperty(t,n,i),i}function l(e,t){return function(n,r){t(n,r,e)}}function u(e,t,n,r,a,o){function i(e){if(void 0!==e&&"function"!=typeof e)throw new TypeError("Function expected");return e}for(var s,l=r.kind,u="getter"===l?"get":"setter"===l?"set":"value",c=!t&&e?r.static?e:e.prototype:null,d=t||(c?Object.getOwnPropertyDescriptor(c,r.name):{}),f=!1,p=n.length-1;p>=0;p--){var h={};for(var g in r)h[g]="access"===g?{}:r[g];for(var g in r.access)h.access[g]=r.access[g];h.addInitializer=function(e){if(f)throw new TypeError("Cannot add initializers after decoration has completed");o.push(i(e||null))};var m=(0,n[p])("accessor"===l?{get:d.get,set:d.set}:d[u],h);if("accessor"===l){if(void 0===m)continue;if(null===m||"object"!=typeof m)throw new TypeError("Object expected");(s=i(m.get))&&(d.get=s),(s=i(m.set))&&(d.set=s),(s=i(m.init))&&a.unshift(s)}else(s=i(m))&&("field"===l?a.unshift(s):d[u]=s)}c&&Object.defineProperty(c,r.name,d),f=!0}function c(e,t,n){for(var r=arguments.length>2,a=0;a0&&a[a.length-1])||6!==s[0]&&2!==s[0])){o=0;continue}if(3===s[0]&&(!a||s[1]>a[0]&&s[1]=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function v(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,a,o=n.call(e),i=[];try{for(;(void 0===t||t-- >0)&&!(r=o.next()).done;)i.push(r.value)}catch(s){a={error:s}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(a)throw a.error}}return i}function w(){for(var e=[],t=0;t1||s(e,t)}))},t&&(r[e]=t(r[e])))}function s(e,t){try{(n=a[e](t)).value instanceof S?Promise.resolve(n.value.v).then(l,u):c(o[0][2],n)}catch(r){c(o[0][3],r)}var n}function l(e){s("next",e)}function u(e){s("throw",e)}function c(e,t){e(t),o.shift(),o.length&&s(o[0][0],o[0][1])}}function _(e){var t,n;return t={},r("next"),r("throw",(function(e){throw e})),r("return"),t[Symbol.iterator]=function(){return this},t;function r(r,a){t[r]=e[r]?function(t){return(n=!n)?{value:S(e[r](t)),done:!1}:a?a(t):t}:a}}function C(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,n=e[Symbol.asyncIterator];return n?n.call(e):(e=b(e),t={},r("next"),r("throw"),r("return"),t[Symbol.asyncIterator]=function(){return this},t);function r(n){t[n]=e[n]&&function(t){return new Promise((function(r,a){(function(e,t,n,r){Promise.resolve(r).then((function(t){e({value:t,done:n})}),t)})(r,a,(t=e[n](t)).done,t.value)}))}}}function A(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e}var T=Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t},O=function(e){return O=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[t.length]=n);return t},O(e)};function N(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n=O(e),r=0;r{"use strict";e.exports={}},4054:e=>{"use strict";e.exports=JSON.parse('{"/ftl/search-366":{"__comp":"1a4e3797","__context":{"plugin":"138e0e15"}},"/ftl/docs-abb":{"__comp":"5e95c892","__context":{"plugin":"aba21aa0"}},"/ftl/docs-52c":{"__comp":"a7bd4aaa","__props":"2f47396a"},"/ftl/docs-7aa":{"__comp":"a94703ab"},"/ftl/docs/category/getting-started-d27":{"__comp":"14eb3368","__props":"57ac2e6b"},"/ftl/docs/category/reference-43e":{"__comp":"14eb3368","__props":"dd79201d"},"/ftl/docs/getting-started/introduction-f95":{"__comp":"17896441","content":"9ff4038f"},"/ftl/docs/getting-started/quick-start-189":{"__comp":"17896441","content":"588bd741"},"/ftl/docs/intro-aee":{"__comp":"17896441","content":"0e384e19"},"/ftl/docs/reference/cron-4cc":{"__comp":"17896441","content":"d21d7921"},"/ftl/docs/reference/databases-0f6":{"__comp":"17896441","content":"a54e9673"},"/ftl/docs/reference/externaltypes-f69":{"__comp":"17896441","content":"22e43cb6"},"/ftl/docs/reference/ingress-294":{"__comp":"17896441","content":"363ccc1a"},"/ftl/docs/reference/matrix-0bc":{"__comp":"17896441","content":"5ff8397d"},"/ftl/docs/reference/pubsub-8be":{"__comp":"17896441","content":"951cb223"},"/ftl/docs/reference/retries-1df":{"__comp":"17896441","content":"69428829"},"/ftl/docs/reference/secretsconfig-c03":{"__comp":"17896441","content":"b28dcff8"},"/ftl/docs/reference/types-792":{"__comp":"17896441","content":"8d4bacc3"},"/ftl/docs/reference/unittests-2de":{"__comp":"17896441","content":"e56c35e3"},"/ftl/docs/reference/verbs-54c":{"__comp":"17896441","content":"0c429427"},"/ftl/docs/reference/visibility-6a3":{"__comp":"17896441","content":"a73fb9ef"},"/ftl/-0a1":{"__comp":"1df93b7f","__context":{"plugin":"a7456010"},"config":"5e9f5e1a"}}')}},e=>{e.O(0,[869],(()=>{return t=3221,e(e.s=t);var t}));e.O()}]); \ No newline at end of file diff --git a/assets/js/main.3e881ece.js.LICENSE.txt b/assets/js/main.6bbaa20c.js.LICENSE.txt similarity index 100% rename from assets/js/main.3e881ece.js.LICENSE.txt rename to assets/js/main.6bbaa20c.js.LICENSE.txt diff --git a/docs/category/getting-started/index.html b/docs/category/getting-started/index.html index 74aed91660..f042e56ba1 100644 --- a/docs/category/getting-started/index.html +++ b/docs/category/getting-started/index.html @@ -3,9 +3,9 @@ -Getting Started | FTL +Getting Started | FTL - + diff --git a/docs/category/reference/index.html b/docs/category/reference/index.html index 74e840b0aa..da2214eb59 100644 --- a/docs/category/reference/index.html +++ b/docs/category/reference/index.html @@ -3,9 +3,9 @@ -Reference | FTL +Reference | FTL - + diff --git a/docs/getting-started/introduction/index.html b/docs/getting-started/introduction/index.html index 95a0f3a1d0..c085cd20e9 100644 --- a/docs/getting-started/introduction/index.html +++ b/docs/getting-started/introduction/index.html @@ -3,9 +3,9 @@ -Introduction | FTL +Introduction | FTL - +

Introduction

diff --git a/docs/getting-started/quick-start/index.html b/docs/getting-started/quick-start/index.html index c0f53ee1de..f416167036 100644 --- a/docs/getting-started/quick-start/index.html +++ b/docs/getting-started/quick-start/index.html @@ -3,9 +3,9 @@ -Quick Start | FTL +Quick Start | FTL - +

Quick Start

diff --git a/docs/intro/index.html b/docs/intro/index.html index b9e0dacb36..2a881bd47d 100644 --- a/docs/intro/index.html +++ b/docs/intro/index.html @@ -3,9 +3,9 @@ -Tutorial Intro | FTL +Tutorial Intro | FTL - +

Tutorial Intro

diff --git a/docs/reference/cron/index.html b/docs/reference/cron/index.html index 9531ed64d4..2986f9b642 100644 --- a/docs/reference/cron/index.html +++ b/docs/reference/cron/index.html @@ -3,9 +3,9 @@ -Cron | FTL +Cron | FTL - +

Cron

diff --git a/docs/reference/databases/index.html b/docs/reference/databases/index.html index e983971b32..9c82eb0ffd 100644 --- a/docs/reference/databases/index.html +++ b/docs/reference/databases/index.html @@ -3,9 +3,9 @@ -Databases | FTL +Databases | FTL - +

Databases

diff --git a/docs/reference/externaltypes/index.html b/docs/reference/externaltypes/index.html index cf10067eba..ce8cc5b578 100644 --- a/docs/reference/externaltypes/index.html +++ b/docs/reference/externaltypes/index.html @@ -3,9 +3,9 @@ -External Types | FTL +External Types | FTL - +

External Types

diff --git a/docs/reference/ingress/index.html b/docs/reference/ingress/index.html index 12e9aa6ba3..e439d8f4d2 100644 --- a/docs/reference/ingress/index.html +++ b/docs/reference/ingress/index.html @@ -3,9 +3,9 @@ -HTTP Ingress | FTL +HTTP Ingress | FTL - +

HTTP Ingress

diff --git a/docs/reference/matrix/index.html b/docs/reference/matrix/index.html index 27a09770dc..2bac06cc29 100644 --- a/docs/reference/matrix/index.html +++ b/docs/reference/matrix/index.html @@ -3,9 +3,9 @@ -Feature Matrix | FTL +Feature Matrix | FTL - +

Feature Matrix

diff --git a/docs/reference/pubsub/index.html b/docs/reference/pubsub/index.html index 8c1b87995b..49d477af4d 100644 --- a/docs/reference/pubsub/index.html +++ b/docs/reference/pubsub/index.html @@ -3,9 +3,9 @@ -PubSub | FTL +PubSub | FTL - +

PubSub

diff --git a/docs/reference/retries/index.html b/docs/reference/retries/index.html index 73bb3fdfa5..434fb6783e 100644 --- a/docs/reference/retries/index.html +++ b/docs/reference/retries/index.html @@ -3,9 +3,9 @@ -Retries | FTL +Retries | FTL - +

Retries

diff --git a/docs/reference/secretsconfig/index.html b/docs/reference/secretsconfig/index.html index 5fd776c538..283fe7b58a 100644 --- a/docs/reference/secretsconfig/index.html +++ b/docs/reference/secretsconfig/index.html @@ -3,9 +3,9 @@ -Secrets/Config | FTL +Secrets/Config | FTL - +

Secrets and Configuration

diff --git a/docs/reference/types/index.html b/docs/reference/types/index.html index 6e4d019c6c..97139a9e8d 100644 --- a/docs/reference/types/index.html +++ b/docs/reference/types/index.html @@ -3,9 +3,9 @@ -Types | FTL +Types | FTL - +

Types

diff --git a/docs/reference/unittests/index.html b/docs/reference/unittests/index.html index 719937a1f9..60f27cb22d 100644 --- a/docs/reference/unittests/index.html +++ b/docs/reference/unittests/index.html @@ -3,9 +3,9 @@ -Unit Tests | FTL +Unit Tests | FTL - +

Unit Tests

diff --git a/docs/reference/verbs/index.html b/docs/reference/verbs/index.html index 2e6cabf317..8f03074106 100644 --- a/docs/reference/verbs/index.html +++ b/docs/reference/verbs/index.html @@ -3,9 +3,9 @@ -Verbs | FTL +Verbs | FTL - +

Verbs

diff --git a/docs/reference/visibility/index.html b/docs/reference/visibility/index.html index 7edd05b0c1..87843a6ca7 100644 --- a/docs/reference/visibility/index.html +++ b/docs/reference/visibility/index.html @@ -3,9 +3,9 @@ -Visibility | FTL +Visibility | FTL - +

Visibility

diff --git a/img/docusaurus-social-card.jpg b/img/docusaurus-social-card.jpg index ffcb448210e1a456cb3588ae8b396a597501f187..af76bb79aaba9834596b21411b17804f1c6a35a2 100644 GIT binary patch literal 126714 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

iJ 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 fgzs%Vr*-jYG(YMS<ttdtee# diff --git a/img/docusaurus.png b/img/docusaurus.png deleted file mode 100644 index f458149e3c8f53335f28fbc162ae67f55575c881..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5142 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 F{0H{b<4^zq diff --git a/img/logo.svg b/img/logo.svg deleted file mode 100644 index 9db6d0d066..0000000000 --- a/img/logo.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/img/undraw_docusaurus_mountain.svg b/img/undraw_docusaurus_mountain.svg deleted file mode 100644 index af961c49a8..0000000000 --- a/img/undraw_docusaurus_mountain.svg +++ /dev/null @@ -1,171 +0,0 @@ - - Easy to Use - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/img/undraw_docusaurus_react.svg b/img/undraw_docusaurus_react.svg deleted file mode 100644 index 94b5cf08f8..0000000000 --- a/img/undraw_docusaurus_react.svg +++ /dev/null @@ -1,170 +0,0 @@ - - Powered by React - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/img/undraw_docusaurus_tree.svg b/img/undraw_docusaurus_tree.svg deleted file mode 100644 index d9161d3392..0000000000 --- a/img/undraw_docusaurus_tree.svg +++ /dev/null @@ -1,40 +0,0 @@ - - Focus on What Matters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/index.html b/index.html index 55e5469d73..d48cc7a44a 100644 --- a/index.html +++ b/index.html @@ -3,9 +3,9 @@ -FTL | FTL +FTL | FTL - +

FTL

Towards a 𝝺-calculus for large-scale systems

Infrastructure as code

Not YAML. Declare your infrastructure in the same language you're writing in as type-safe values, rather than in separate configuration files disassociated from their point of use.

Language agnostic

FTL makes it possible to write backend code in your language of choice. You write normal code, and FTL extracts a service interface from your code directly, making your functions and types automatically available to all supported languages.

Fearless development against production

There is no substitute for production data. FTL plans to support forking of production infrastructure and code during development.

Fearlessly modify types

Multiple versions of a single verb with different signatures can be live concurrently. See Unison for inspiration. We can statically detect changes that would violate runtime and persistent data constraints.

AI from the ground up

We plan to integrate AI sensibly and deeply into the FTL platform. Automated AI-driven tuning suggestions, automated third-party API integration, and so on.

diff --git a/search-index.json b/search-index.json index 9203cee5ff..595a672572 100644 --- a/search-index.json +++ b/search-index.json @@ -1 +1 @@ -[{"documents":[{"i":1,"t":"Introduction","u":"/ftl/docs/getting-started/introduction","b":["Documentation","Getting Started"]},{"i":3,"t":"Tutorial Intro","u":"/ftl/docs/intro","b":[]},{"i":13,"t":"Cron","u":"/ftl/docs/reference/cron","b":["Documentation","Reference"]},{"i":17,"t":"Feature Matrix","u":"/ftl/docs/reference/matrix","b":["Documentation","Reference"]},{"i":19,"t":"Quick Start","u":"/ftl/docs/getting-started/quick-start","b":["Documentation","Getting Started"]},{"i":39,"t":"Databases","u":"/ftl/docs/reference/databases","b":["Documentation","Reference"]},{"i":45,"t":"External Types","u":"/ftl/docs/reference/externaltypes","b":["Documentation","Reference"]},{"i":49,"t":"PubSub","u":"/ftl/docs/reference/pubsub","b":["Documentation","Reference"]},{"i":51,"t":"Retries","u":"/ftl/docs/reference/retries","b":["Documentation","Reference"]},{"i":65,"t":"Secrets and Configuration","u":"/ftl/docs/reference/secretsconfig","b":["Documentation","Reference"]},{"i":72,"t":"HTTP Ingress","u":"/ftl/docs/reference/ingress","b":["Documentation","Reference"]},{"i":84,"t":"Types","u":"/ftl/docs/reference/types","b":["Documentation","Reference"]},{"i":98,"t":"Unit Tests","u":"/ftl/docs/reference/unittests","b":["Documentation","Reference"]},{"i":112,"t":"Verbs","u":"/ftl/docs/reference/verbs","b":["Documentation","Reference"]},{"i":117,"t":"Visibility","u":"/ftl/docs/reference/visibility","b":["Documentation","Reference"]}],"index":{"version":"2.3.9","fields":["t"],"fieldVectors":[["t/1",[0,2.721]],["t/3",[1,2.061,2,2.061]],["t/13",[3,2.721]],["t/17",[4,2.061,5,2.061]],["t/19",[6,2.061,7,2.061]],["t/39",[8,2.721]],["t/45",[9,2.061,10,1.616]],["t/49",[11,2.721]],["t/51",[12,2.721]],["t/65",[13,2.061,14,2.061]],["t/72",[15,2.061,16,2.061]],["t/84",[10,2.134]],["t/98",[17,2.061,18,2.061]],["t/112",[19,2.721]],["t/117",[20,2.721]]],"invertedIndex":[["configur",{"_index":14,"t":{"65":{"position":[[12,13]]}}}],["cron",{"_index":3,"t":{"13":{"position":[[0,4]]}}}],["databas",{"_index":8,"t":{"39":{"position":[[0,9]]}}}],["extern",{"_index":9,"t":{"45":{"position":[[0,8]]}}}],["featur",{"_index":4,"t":{"17":{"position":[[0,7]]}}}],["http",{"_index":15,"t":{"72":{"position":[[0,4]]}}}],["ingress",{"_index":16,"t":{"72":{"position":[[5,7]]}}}],["intro",{"_index":2,"t":{"3":{"position":[[9,5]]}}}],["introduct",{"_index":0,"t":{"1":{"position":[[0,12]]}}}],["matrix",{"_index":5,"t":{"17":{"position":[[8,6]]}}}],["pubsub",{"_index":11,"t":{"49":{"position":[[0,6]]}}}],["quick",{"_index":6,"t":{"19":{"position":[[0,5]]}}}],["retri",{"_index":12,"t":{"51":{"position":[[0,7]]}}}],["secret",{"_index":13,"t":{"65":{"position":[[0,7]]}}}],["start",{"_index":7,"t":{"19":{"position":[[6,5]]}}}],["test",{"_index":18,"t":{"98":{"position":[[5,5]]}}}],["tutori",{"_index":1,"t":{"3":{"position":[[0,8]]}}}],["type",{"_index":10,"t":{"45":{"position":[[9,5]]},"84":{"position":[[0,5]]}}}],["unit",{"_index":17,"t":{"98":{"position":[[0,4]]}}}],["verb",{"_index":19,"t":{"112":{"position":[[0,5]]}}}],["visibl",{"_index":20,"t":{"117":{"position":[[0,10]]}}}]],"pipeline":["stemmer"]}},{"documents":[{"i":5,"t":"Getting Started","u":"/ftl/docs/intro","h":"#getting-started","p":3},{"i":7,"t":"What you'll need","u":"/ftl/docs/intro","h":"#what-youll-need","p":3},{"i":9,"t":"Generate a new site","u":"/ftl/docs/intro","h":"#generate-a-new-site","p":3},{"i":11,"t":"Start your site","u":"/ftl/docs/intro","h":"#start-your-site","p":3},{"i":15,"t":"Examples","u":"/ftl/docs/reference/cron","h":"#examples","p":13},{"i":21,"t":"Requirements","u":"/ftl/docs/getting-started/quick-start","h":"#requirements","p":19},{"i":22,"t":"Install the FTL CLI","u":"/ftl/docs/getting-started/quick-start","h":"#install-the-ftl-cli","p":19},{"i":24,"t":"Install the VSCode extension","u":"/ftl/docs/getting-started/quick-start","h":"#install-the-vscode-extension","p":19},{"i":26,"t":"Development","u":"/ftl/docs/getting-started/quick-start","h":"#development","p":19},{"i":27,"t":"Initialize an FTL project","u":"/ftl/docs/getting-started/quick-start","h":"#initialize-an-ftl-project","p":19},{"i":29,"t":"Create a new module","u":"/ftl/docs/getting-started/quick-start","h":"#create-a-new-module","p":19},{"i":31,"t":"Start the FTL cluster","u":"/ftl/docs/getting-started/quick-start","h":"#start-the-ftl-cluster","p":19},{"i":33,"t":"Open the console","u":"/ftl/docs/getting-started/quick-start","h":"#open-the-console","p":19},{"i":35,"t":"Call your verb","u":"/ftl/docs/getting-started/quick-start","h":"#call-your-verb","p":19},{"i":37,"t":"Create another module","u":"/ftl/docs/getting-started/quick-start","h":"#create-another-module","p":19},{"i":41,"t":"Provisioning","u":"/ftl/docs/reference/databases","h":"#provisioning","p":39},{"i":43,"t":"Migrations","u":"/ftl/docs/reference/databases","h":"#migrations","p":39},{"i":47,"t":"Cross-Runtime Type Mappings","u":"/ftl/docs/reference/externaltypes","h":"#cross-runtime-type-mappings","p":45},{"i":53,"t":"PubSub Subscribers","u":"/ftl/docs/reference/retries","h":"#pubsub-subscribers","p":51},{"i":55,"t":"Catching","u":"/ftl/docs/reference/retries","h":"#catching","p":51},{"i":57,"t":"PubSub Subscribers","u":"/ftl/docs/reference/retries","h":"#pubsub-subscribers-1","p":51},{"i":59,"t":"Catching","u":"/ftl/docs/reference/retries","h":"#catching-1","p":51},{"i":61,"t":"PubSub Subscribers","u":"/ftl/docs/reference/retries","h":"#pubsub-subscribers-2","p":51},{"i":63,"t":"Catching","u":"/ftl/docs/reference/retries","h":"#catching-2","p":51},{"i":66,"t":"Configuration","u":"/ftl/docs/reference/secretsconfig","h":"#configuration","p":65},{"i":68,"t":"Secrets","u":"/ftl/docs/reference/secretsconfig","h":"#secrets","p":65},{"i":70,"t":"Transforming secrets/configuration","u":"/ftl/docs/reference/secretsconfig","h":"#transforming-secretsconfiguration","p":65},{"i":74,"t":"Field mapping","u":"/ftl/docs/reference/ingress","h":"#field-mapping","p":72},{"i":76,"t":"Optional fields","u":"/ftl/docs/reference/ingress","h":"#optional-fields","p":72},{"i":78,"t":"Casing","u":"/ftl/docs/reference/ingress","h":"#casing","p":72},{"i":80,"t":"SumTypes","u":"/ftl/docs/reference/ingress","h":"#sumtypes","p":72},{"i":82,"t":"Encoding query params as JSON","u":"/ftl/docs/reference/ingress","h":"#encoding-query-params-as-json","p":72},{"i":86,"t":"Basic types","u":"/ftl/docs/reference/types","h":"#basic-types","p":84},{"i":88,"t":"Data structures","u":"/ftl/docs/reference/types","h":"#data-structures","p":84},{"i":90,"t":"Generics","u":"/ftl/docs/reference/types","h":"#generics","p":84},{"i":92,"t":"Type enums (sum types)","u":"/ftl/docs/reference/types","h":"#type-enums-sum-types","p":84},{"i":94,"t":"Value enums","u":"/ftl/docs/reference/types","h":"#value-enums","p":84},{"i":96,"t":"Type aliases","u":"/ftl/docs/reference/types","h":"#type-aliases","p":84},{"i":99,"t":"Create a context","u":"/ftl/docs/reference/unittests","h":"#create-a-context","p":98},{"i":101,"t":"Customization","u":"/ftl/docs/reference/unittests","h":"#customization","p":98},{"i":102,"t":"Project files, configs and secrets","u":"/ftl/docs/reference/unittests","h":"#project-files-configs-and-secrets","p":98},{"i":104,"t":"Databases","u":"/ftl/docs/reference/unittests","h":"#databases","p":98},{"i":106,"t":"Maps","u":"/ftl/docs/reference/unittests","h":"#maps","p":98},{"i":108,"t":"Calls","u":"/ftl/docs/reference/unittests","h":"#calls","p":98},{"i":110,"t":"PubSub","u":"/ftl/docs/reference/unittests","h":"#pubsub","p":98},{"i":113,"t":"Defining Verbs","u":"/ftl/docs/reference/verbs","h":"#defining-verbs","p":112},{"i":115,"t":"Calling Verbs","u":"/ftl/docs/reference/verbs","h":"#calling-verbs","p":112},{"i":119,"t":"Exporting declarations","u":"/ftl/docs/reference/visibility","h":"#exporting-declarations","p":117},{"i":121,"t":"Footnotes","u":"/ftl/docs/reference/visibility","h":"#footnote-label","p":117}],"index":{"version":"2.3.9","fields":["t"],"fieldVectors":[["t/5",[0,3.447,1,2.614]],["t/7",[2,3.447,3,3.447]],["t/9",[4,2.434,5,2.434,6,2.434]],["t/11",[1,2.614,6,2.944]],["t/15",[7,4.361]],["t/21",[8,4.361]],["t/22",[9,2.434,10,2.161,11,2.849]],["t/24",[9,2.434,12,2.849,13,2.849]],["t/26",[14,4.361]],["t/27",[10,2.161,15,2.849,16,2.434]],["t/29",[5,2.434,17,2.161,18,2.434]],["t/31",[1,2.161,10,2.161,19,2.849]],["t/33",[20,3.447,21,3.447]],["t/35",[22,2.614,23,2.614]],["t/37",[17,2.161,18,2.434,24,2.849]],["t/41",[25,4.361]],["t/43",[26,4.361]],["t/47",[27,2.429,28,2.429,29,1.668,30,1.842]],["t/53",[31,2.367,32,2.614]],["t/55",[33,3.307]],["t/57",[31,2.367,32,2.614]],["t/59",[33,3.307]],["t/61",[31,2.367,32,2.614]],["t/63",[33,3.307]],["t/66",[34,4.361]],["t/68",[35,3.725]],["t/70",[36,3.447,37,3.447]],["t/74",[30,2.614,38,2.944]],["t/76",[38,2.944,39,3.447]],["t/78",[40,4.361]],["t/80",[41,4.361]],["t/82",[42,2.429,43,2.429,44,2.429,45,2.429]],["t/86",[29,2.367,46,3.447]],["t/88",[47,3.447,48,3.447]],["t/90",[4,3.725]],["t/92",[29,2.537,49,2.075,50,2.429]],["t/94",[49,2.944,51,3.447]],["t/96",[29,2.367,52,3.447]],["t/99",[17,2.614,53,3.447]],["t/101",[54,4.361]],["t/102",[16,2.075,35,2.075,55,2.429,56,2.429]],["t/104",[57,4.361]],["t/106",[30,3.307]],["t/108",[22,3.307]],["t/110",[31,2.994]],["t/113",[23,2.614,58,3.447]],["t/115",[22,2.614,23,2.614]],["t/119",[59,3.447,60,3.447]],["t/121",[61,4.361]]],"invertedIndex":[["alias",{"_index":52,"t":{"96":{"position":[[5,7]]}}}],["anoth",{"_index":24,"t":{"37":{"position":[[7,7]]}}}],["basic",{"_index":46,"t":{"86":{"position":[[0,5]]}}}],["call",{"_index":22,"t":{"35":{"position":[[0,4]]},"108":{"position":[[0,5]]},"115":{"position":[[0,7]]}}}],["case",{"_index":40,"t":{"78":{"position":[[0,6]]}}}],["catch",{"_index":33,"t":{"55":{"position":[[0,8]]},"59":{"position":[[0,8]]},"63":{"position":[[0,8]]}}}],["cli",{"_index":11,"t":{"22":{"position":[[16,3]]}}}],["cluster",{"_index":19,"t":{"31":{"position":[[14,7]]}}}],["config",{"_index":56,"t":{"102":{"position":[[15,7]]}}}],["configur",{"_index":34,"t":{"66":{"position":[[0,13]]}}}],["consol",{"_index":21,"t":{"33":{"position":[[9,7]]}}}],["context",{"_index":53,"t":{"99":{"position":[[9,7]]}}}],["creat",{"_index":17,"t":{"29":{"position":[[0,6]]},"37":{"position":[[0,6]]},"99":{"position":[[0,6]]}}}],["cross",{"_index":27,"t":{"47":{"position":[[0,5]]}}}],["custom",{"_index":54,"t":{"101":{"position":[[0,13]]}}}],["data",{"_index":47,"t":{"88":{"position":[[0,4]]}}}],["databas",{"_index":57,"t":{"104":{"position":[[0,9]]}}}],["declar",{"_index":60,"t":{"119":{"position":[[10,12]]}}}],["defin",{"_index":58,"t":{"113":{"position":[[0,8]]}}}],["develop",{"_index":14,"t":{"26":{"position":[[0,11]]}}}],["encod",{"_index":42,"t":{"82":{"position":[[0,8]]}}}],["enum",{"_index":49,"t":{"92":{"position":[[5,5]]},"94":{"position":[[6,5]]}}}],["exampl",{"_index":7,"t":{"15":{"position":[[0,8]]}}}],["export",{"_index":59,"t":{"119":{"position":[[0,9]]}}}],["extens",{"_index":13,"t":{"24":{"position":[[19,9]]}}}],["field",{"_index":38,"t":{"74":{"position":[[0,5]]},"76":{"position":[[9,6]]}}}],["file",{"_index":55,"t":{"102":{"position":[[8,6]]}}}],["footnot",{"_index":61,"t":{"121":{"position":[[0,9]]}}}],["ftl",{"_index":10,"t":{"22":{"position":[[12,3]]},"27":{"position":[[14,3]]},"31":{"position":[[10,3]]}}}],["gener",{"_index":4,"t":{"9":{"position":[[0,8]]},"90":{"position":[[0,8]]}}}],["get",{"_index":0,"t":{"5":{"position":[[0,7]]}}}],["initi",{"_index":15,"t":{"27":{"position":[[0,10]]}}}],["instal",{"_index":9,"t":{"22":{"position":[[0,7]]},"24":{"position":[[0,7]]}}}],["json",{"_index":45,"t":{"82":{"position":[[25,4]]}}}],["map",{"_index":30,"t":{"47":{"position":[[19,8]]},"74":{"position":[[6,7]]},"106":{"position":[[0,4]]}}}],["migrat",{"_index":26,"t":{"43":{"position":[[0,10]]}}}],["modul",{"_index":18,"t":{"29":{"position":[[13,6]]},"37":{"position":[[15,6]]}}}],["need",{"_index":3,"t":{"7":{"position":[[12,4]]}}}],["new",{"_index":5,"t":{"9":{"position":[[11,3]]},"29":{"position":[[9,3]]}}}],["open",{"_index":20,"t":{"33":{"position":[[0,4]]}}}],["option",{"_index":39,"t":{"76":{"position":[[0,8]]}}}],["param",{"_index":44,"t":{"82":{"position":[[15,6]]}}}],["project",{"_index":16,"t":{"27":{"position":[[18,7]]},"102":{"position":[[0,7]]}}}],["provis",{"_index":25,"t":{"41":{"position":[[0,12]]}}}],["pubsub",{"_index":31,"t":{"53":{"position":[[0,6]]},"57":{"position":[[0,6]]},"61":{"position":[[0,6]]},"110":{"position":[[0,6]]}}}],["queri",{"_index":43,"t":{"82":{"position":[[9,5]]}}}],["requir",{"_index":8,"t":{"21":{"position":[[0,12]]}}}],["runtim",{"_index":28,"t":{"47":{"position":[[6,7]]}}}],["secret",{"_index":35,"t":{"68":{"position":[[0,7]]},"102":{"position":[[27,7]]}}}],["secrets/configur",{"_index":37,"t":{"70":{"position":[[13,21]]}}}],["site",{"_index":6,"t":{"9":{"position":[[15,4]]},"11":{"position":[[11,4]]}}}],["start",{"_index":1,"t":{"5":{"position":[[8,7]]},"11":{"position":[[0,5]]},"31":{"position":[[0,5]]}}}],["structur",{"_index":48,"t":{"88":{"position":[[5,10]]}}}],["subscrib",{"_index":32,"t":{"53":{"position":[[7,11]]},"57":{"position":[[7,11]]},"61":{"position":[[7,11]]}}}],["sum",{"_index":50,"t":{"92":{"position":[[11,4]]}}}],["sumtyp",{"_index":41,"t":{"80":{"position":[[0,8]]}}}],["transform",{"_index":36,"t":{"70":{"position":[[0,12]]}}}],["type",{"_index":29,"t":{"47":{"position":[[14,4]]},"86":{"position":[[6,5]]},"92":{"position":[[0,4],[16,6]]},"96":{"position":[[0,4]]}}}],["valu",{"_index":51,"t":{"94":{"position":[[0,5]]}}}],["verb",{"_index":23,"t":{"35":{"position":[[10,4]]},"113":{"position":[[9,5]]},"115":{"position":[[8,5]]}}}],["vscode",{"_index":12,"t":{"24":{"position":[[12,6]]}}}],["you'll",{"_index":2,"t":{"7":{"position":[[5,6]]}}}]],"pipeline":["stemmer"]}},{"documents":[{"i":1,"t":"An introduction to FTL","s":"Introduction","u":"/ftl/docs/getting-started/introduction","p":1},{"i":3,"t":"Let's discover Docusaurus in less than 5 minutes.","s":"Tutorial Intro","u":"/ftl/docs/intro","p":3},{"i":13,"t":"Cron Jobs","s":"Cron","u":"/ftl/docs/reference/cron","p":13},{"i":17,"t":"Matrix showing which FTL features are supported by each language","s":"Feature Matrix","u":"/ftl/docs/reference/matrix","p":17},{"i":19,"t":"One page summary of how to start a new FTL project","s":"Quick Start","u":"/ftl/docs/getting-started/quick-start","p":19},{"i":39,"t":"Working with databases in FTL","s":"Databases","u":"/ftl/docs/reference/databases","p":39},{"i":45,"t":"Using external types in your modules","s":"External Types","u":"/ftl/docs/reference/externaltypes","p":45},{"i":49,"t":"Asynchronous publishing of events to topics","s":"PubSub","u":"/ftl/docs/reference/pubsub","p":49},{"i":51,"t":"Retrying asynchronous verbs","s":"Retries","u":"/ftl/docs/reference/retries","p":51},{"i":65,"t":"Secrets and Configuration values","s":"Secrets and Configuration","u":"/ftl/docs/reference/secretsconfig","p":65},{"i":72,"t":"Handling incoming HTTP requests","s":"HTTP Ingress","u":"/ftl/docs/reference/ingress","p":72},{"i":84,"t":"Declaring and using Types","s":"Types","u":"/ftl/docs/reference/types","p":84},{"i":98,"t":"Build unit tests for your modules","s":"Unit Tests","u":"/ftl/docs/reference/unittests","p":98},{"i":112,"t":"Declaring and calling Verbs","s":"Verbs","u":"/ftl/docs/reference/verbs","p":112},{"i":117,"t":"Managing visibility of FTL declarations","s":"Visibility","u":"/ftl/docs/reference/visibility","p":117}],"index":{"version":"2.3.9","fields":["t"],"fieldVectors":[["t/1",[0,2.963,1,1.337]],["t/3",[2,1.948,3,1.948,4,1.948,5,1.948,6,1.948,7,1.948]],["t/13",[8,2.963,9,2.963]],["t/17",[1,0.81,10,1.795,11,1.795,12,1.795,13,1.795,14,1.795,15,1.795]],["t/19",[1,0.81,16,1.795,17,1.795,18,1.795,19,1.795,20,1.795,21,1.795]],["t/39",[1,1.183,22,2.622,23,2.622]],["t/45",[24,1.844,25,2.351,26,1.844,27,1.844]],["t/49",[28,1.844,29,2.351,30,2.351,31,2.351]],["t/51",[28,2.056,32,2.622,33,2.056]],["t/65",[34,2.622,35,2.622,36,2.622]],["t/72",[37,2.351,38,2.351,39,2.351,40,2.351]],["t/84",[24,2.056,26,2.056,41,1.683]],["t/98",[27,1.844,42,2.351,43,2.351,44,2.351]],["t/112",[33,2.056,41,1.683,45,2.622]],["t/117",[1,1.06,41,1.509,46,2.351,47,2.351]]],"invertedIndex":[["5",{"_index":6,"t":{"3":{"position":[[39,1]]}}}],["asynchron",{"_index":28,"t":{"49":{"position":[[0,12]]},"51":{"position":[[9,12]]}}}],["build",{"_index":42,"t":{"98":{"position":[[0,5]]}}}],["call",{"_index":45,"t":{"112":{"position":[[14,7]]}}}],["configur",{"_index":35,"t":{"65":{"position":[[12,13]]}}}],["cron",{"_index":8,"t":{"13":{"position":[[0,4]]}}}],["databas",{"_index":23,"t":{"39":{"position":[[13,9]]}}}],["declar",{"_index":41,"t":{"84":{"position":[[0,9]]},"112":{"position":[[0,9]]},"117":{"position":[[27,12]]}}}],["discov",{"_index":3,"t":{"3":{"position":[[6,8]]}}}],["docusauru",{"_index":4,"t":{"3":{"position":[[15,10]]}}}],["each",{"_index":14,"t":{"17":{"position":[[51,4]]}}}],["event",{"_index":30,"t":{"49":{"position":[[27,6]]}}}],["extern",{"_index":25,"t":{"45":{"position":[[6,8]]}}}],["featur",{"_index":12,"t":{"17":{"position":[[25,8]]}}}],["ftl",{"_index":1,"t":{"1":{"position":[[19,3]]},"17":{"position":[[21,3]]},"19":{"position":[[39,3]]},"39":{"position":[[26,3]]},"117":{"position":[[23,3]]}}}],["handl",{"_index":37,"t":{"72":{"position":[[0,8]]}}}],["http",{"_index":39,"t":{"72":{"position":[[18,4]]}}}],["incom",{"_index":38,"t":{"72":{"position":[[9,8]]}}}],["introduct",{"_index":0,"t":{"1":{"position":[[3,12]]}}}],["job",{"_index":9,"t":{"13":{"position":[[5,4]]}}}],["languag",{"_index":15,"t":{"17":{"position":[[56,8]]}}}],["less",{"_index":5,"t":{"3":{"position":[[29,4]]}}}],["let'",{"_index":2,"t":{"3":{"position":[[0,5]]}}}],["manag",{"_index":46,"t":{"117":{"position":[[0,8]]}}}],["matrix",{"_index":10,"t":{"17":{"position":[[0,6]]}}}],["minut",{"_index":7,"t":{"3":{"position":[[41,8]]}}}],["modul",{"_index":27,"t":{"45":{"position":[[29,7]]},"98":{"position":[[26,7]]}}}],["new",{"_index":20,"t":{"19":{"position":[[35,3]]}}}],["on",{"_index":16,"t":{"19":{"position":[[0,3]]}}}],["page",{"_index":17,"t":{"19":{"position":[[4,4]]}}}],["project",{"_index":21,"t":{"19":{"position":[[43,7]]}}}],["publish",{"_index":29,"t":{"49":{"position":[[13,10]]}}}],["request",{"_index":40,"t":{"72":{"position":[[23,8]]}}}],["retri",{"_index":32,"t":{"51":{"position":[[0,8]]}}}],["secret",{"_index":34,"t":{"65":{"position":[[0,7]]}}}],["show",{"_index":11,"t":{"17":{"position":[[7,7]]}}}],["start",{"_index":19,"t":{"19":{"position":[[27,5]]}}}],["summari",{"_index":18,"t":{"19":{"position":[[9,7]]}}}],["support",{"_index":13,"t":{"17":{"position":[[38,9]]}}}],["test",{"_index":44,"t":{"98":{"position":[[11,5]]}}}],["topic",{"_index":31,"t":{"49":{"position":[[37,6]]}}}],["type",{"_index":26,"t":{"45":{"position":[[15,5]]},"84":{"position":[[20,5]]}}}],["unit",{"_index":43,"t":{"98":{"position":[[6,4]]}}}],["us",{"_index":24,"t":{"45":{"position":[[0,5]]},"84":{"position":[[14,5]]}}}],["valu",{"_index":36,"t":{"65":{"position":[[26,6]]}}}],["verb",{"_index":33,"t":{"51":{"position":[[22,5]]},"112":{"position":[[22,5]]}}}],["visibl",{"_index":47,"t":{"117":{"position":[[9,10]]}}}],["work",{"_index":22,"t":{"39":{"position":[[0,7]]}}}]],"pipeline":["stemmer"]}},{"documents":[],"index":{"version":"2.3.9","fields":["t"],"fieldVectors":[],"invertedIndex":[],"pipeline":["stemmer"]}},{"documents":[{"i":2,"t":"FTL is tooling, runtimes, and frameworks for simplifying the creation of distributed systems.","s":"Introduction","u":"/ftl/docs/getting-started/introduction","h":"","p":1},{"i":4,"t":"Let's discover Docusaurus in less than 5 minutes.","s":"Tutorial Intro","u":"/ftl/docs/intro","h":"","p":3},{"i":6,"t":"Get started by creating a new site. Or try Docusaurus immediately with docusaurus.new.","s":"Getting Started","u":"/ftl/docs/intro","h":"#getting-started","p":3},{"i":8,"t":"Node.js version 18.0 or above: When installing Node.js, you are recommended to check all checkboxes related to dependencies.","s":"What you'll need","u":"/ftl/docs/intro","h":"#what-youll-need","p":3},{"i":10,"t":"Generate a new Docusaurus site using the classic template. The classic template will automatically be added to your project after you run the command: npm init docusaurus@latest my-website classic You can type this command into Command Prompt, Powershell, Terminal, or any other integrated terminal of your code editor. The command also installs all necessary dependencies you need to run Docusaurus.","s":"Generate a new site","u":"/ftl/docs/intro","h":"#generate-a-new-site","p":3},{"i":12,"t":"Run the development server: cd my-website npm run start The cd command changes the directory you're working with. In order to work with your newly created Docusaurus site, you'll need to navigate the terminal there. The npm run start command builds your website locally and serves it through a development server, ready for you to view at http://localhost:3000/. Open docs/intro.md (this page) and edit some lines: the site reloads automatically and displays your changes.","s":"Start your site","u":"/ftl/docs/intro","h":"#start-your-site","p":3},{"i":14,"t":"A cron job is an Empty verb that will be called on a schedule. The syntax is described here. You can also use a shorthand syntax for the cron job, supporting seconds (s), minutes (m), hours (h), and specific days of the week (e.g. Mon).","s":"Cron","u":"/ftl/docs/reference/cron","h":"","p":13},{"i":16,"t":"The following function will be called hourly: Go Kotlin Java //ftl:cron 0 * * * * func Hourly(ctx context.Context) error { // ... } import xyz.block.ftl.Cron @Cron(\"0 * * * *\") fun hourly() { } import xyz.block.ftl.Cron; class MyCron { @Cron(\"0 * * * *\") void hourly() { } } Every 12 hours, starting at UTC midnight: Go Kotlin Java //ftl:cron 12h func TwiceADay(ctx context.Context) error { // ... } import xyz.block.ftl.Cron @Cron(\"12h\") fun twiceADay() { } import xyz.block.ftl.Cron; class MyCron { @Cron(\"12h\") void twiceADay() { } } Every Monday at UTC midnight: Go Kotlin Java //ftl:cron Mon func Mondays(ctx context.Context) error { // ... } import xyz.block.ftl.Cron @Cron(\"Mon\") fun mondays() { } import xyz.block.ftl.Cron; class MyCron { @Cron(\"Mon\") void mondays() { } }","s":"Examples","u":"/ftl/docs/reference/cron","h":"#examples","p":13},{"i":18,"t":"System Feature Go Kotlin Java Types Basic Types ✔️ ✔️ ✔️ Optional Type ✔️ ✔️ ✔️ Unit Type ✔️ ✔️ ✔️ Empty Type ✔️ ✔️ ✔️ Generic Types ✔️ ✔️ ✔️ Type Aliases ✔️ ✔️ ✔️ Value Enums ✔️ ✔️ ✔️ Type Enums ✔️ ✔️ ✔️ Visibility ✔️ ✔️ ✔️ Verbs Verb ✔️ ✔️ ✔️ Sink ✔️ ✔️ ✔️ Source ✔️ ✔️ ✔️ Empty ✔️ ✔️ ✔️ Visibility ✔️ ✔️ ✔️ Core Leases ✔️ ✔️ ✔️ Cron ✔️ ✔️ ✔️ Config ✔️ ✔️ ✔️ Secrets ✔️ ✔️ ✔️ HTTP Ingress ✔️ ✔️ ✔️ Resources PostgreSQL ✔️ ✔️ ✔️ MySQL ✔️ ✔️ ✔️ Kafka ✔️ ✔️ ✔️ PubSub Declaring Topic ✔️ ✔️ ✔️ Subscribing ✔️ ✔️ ✔️ Publishing ✔️ ✔️ ✔️","s":"Feature Matrix","u":"/ftl/docs/reference/matrix","h":"","p":17},{"i":20,"t":"One page summary of how to start a new FTL project.","s":"Quick Start","u":"/ftl/docs/getting-started/quick-start","h":"","p":19},{"i":23,"t":"Install the FTL CLI via Homebrew, Hermit, or manually. Homebrew (Mac or Linux) Hermit (Mac or Linux) Manually (Mac or Linux) brew tap block/ftl && brew install ftl FTL can be installed from the main Hermit package repository by simply: hermit install ftl Alternatively you can add hermit-ftl to your sources by adding the following to your Hermit environment's bin/hermit.hcl file: sources = [\"https://github.com/block/hermit-ftl.git\", \"https://github.com/cashapp/hermit-packages.git\"] Download binaries from the latest release page and place them in your $PATH.","s":"Install the FTL CLI","u":"/ftl/docs/getting-started/quick-start","h":"#install-the-ftl-cli","p":19},{"i":25,"t":"The FTL VSCode extension will run FTL within VSCode, and provide LSP support for FTL, displaying errors within the editor.","s":"Install the VSCode extension","u":"/ftl/docs/getting-started/quick-start","h":"#install-the-vscode-extension","p":19},{"i":28,"t":"Once FTL is installed, initialize an FTL project: ftl init myproject cd myproject This will create a new myproject directory containing an ftl-project.toml file, a git repository, and a bin/ directory with Hermit tooling. The Hermit tooling includes the current version of FTL, and language support for go and JVM based languages.","s":"Initialize an FTL project","u":"/ftl/docs/getting-started/quick-start","h":"#initialize-an-ftl-project","p":19},{"i":30,"t":"Now that you have an FTL project, create a new module: Go Kotlin Java ftl new go alice This will place the code for the new module alice in myproject/alice/alice.go: package alice import ( \"context\" \"fmt\" \"github.com/block/ftl/go-runtime/ftl\" // Import the FTL SDK. ) type EchoRequest struct { Name ftl.Option[string] } type EchoResponse struct { Message string } //ftl:verb func Echo(ctx context.Context, req EchoRequest) (EchoResponse, error) { return EchoResponse{Message: fmt.Sprintf(\"Hello, %s!\", req.Name.Default(\"anonymous\"))}, nil } Each module is its own Go module. ftl new kotlin alice This will create a new Maven pom.xml based project in the directory alice and create new example code in alice/src/main/kotlin/ftl/alice/Alice.kt: package com.example import xyz.block.ftl.Export import xyz.block.ftl.Verb @Export @Verb fun hello(req: String): String = \"Hello, $req!\" ftl new java alice This will create a new Maven pom.xml based project in the directory alice and create new example code in alice/src/main/java/ftl/alice/Alice.java: package com.example; import xyz.block.ftl.Export; import xyz.block.ftl.Verb; public class Alice { @Export @Verb public String hello(String request) { return \"Hello, \" + request + \"!\"; } } Any number of modules can be added to your project, adjacent to each other.","s":"Create a new module","u":"/ftl/docs/getting-started/quick-start","h":"#create-a-new-module","p":19},{"i":32,"t":"VSCode​ If using VSCode, opening the directory will prompt you to start FTL: Manually​ Alternatively start the local FTL development cluster from the command-line: This will build and deploy all local modules. Modifying the code will cause ftl dev to rebuild and redeploy the module.","s":"Start the FTL cluster","u":"/ftl/docs/getting-started/quick-start","h":"#start-the-ftl-cluster","p":19},{"i":34,"t":"FTL has a console that allows interaction with the cluster topology, logs, traces, and more. Open a browser window at http://localhost:8899 to view it:","s":"Open the console","u":"/ftl/docs/getting-started/quick-start","h":"#open-the-console","p":19},{"i":36,"t":"You can call verbs from the console: Or from a terminal use ftl call to call your verb: And view your trace in the console:","s":"Call your verb","u":"/ftl/docs/getting-started/quick-start","h":"#call-your-verb","p":19},{"i":38,"t":"Create another module and call alice.echo from it with by importing the alice module and adding the verb client, alice.EchoClient, to the signature of the calling verb. It can be invoked as a function: Go Kotlin Java //ftl:verb import \"ftl/alice\" //ftl:verb func Other(ctx context.Context, in Request, ec alice.EchoClient) (Response, error) { out, err := ec(ctx, alice.EchoRequest{...}) ... } package com.example import xyz.block.ftl.Export import xyz.block.ftl.Verb import ftl.alice.EchoClient @Export @Verb fun other(req: String, echo: EchoClient): String = \"Hello from Other , ${echo.call(req)}!\" Note that the EchoClient is generated by FTL and must be imported. Unfortunately at the moment JVM based languages have a bit of a chicken-and-egg problem with the generated clients. To force a dependency between the modules you need to add an import on a class that does not exist yet, and then FTL will generate the client for you. This will be fixed in the future. package com.example.client; import xyz.block.ftl.Export; import xyz.block.ftl.Verb; import ftl.alice.EchoClient; public class OtherVerb { @Export @Verb public String other(String request, EchoClient echoClient) { return \"Hello, \" + echoClient.call(request) + \"!\"; } } Note that the EchoClient is generated by FTL and must be imported. Unfortunately at the moment JVM based languages have a bit of a chicken-and-egg problem with the generated clients. To force a dependency between the modules you need to add an import on a class that does not exist yet, and then FTL will generate the client for you. This will be fixed in the future.","s":"Create another module","u":"/ftl/docs/getting-started/quick-start","h":"#create-another-module","p":19},{"i":40,"t":"FTL has support for Postgresql and MySQL databases, including support for automatic provisioning and migrations. The process for declaring a database differs by language. Go Kotlin Java To use a database in go you must create a struct that implements either the ftl.MySQLDatabaseConfig or ftl.PostgresDatabaseConfig interface. Generally this will involve creating a struct that embeds the ftl.DefaultMySQLDatabaseConfig or ftl.DefaultPostgresDatabaseConfig struct and then implementing the Name() string method. You can then use the ftl.DatabaseHandle type to access the database by injecting it into an FTL verb. An example for MySQL is shown below: package mysql import ( \"context\" \"database/sql\" \"github.com/block/ftl/go-runtime/ftl\" // Import the FTL SDK. ) type TestDatasourceConfig struct { ftl.DefaultMySQLDatabaseConfig } func (TestDatasourceConfig) Name() string { return \"testdb\" } //ftl:verb export func Query(ctx context.Context, db ftl.DatabaseHandle[TestDatasourceConfig]) ([]string, error) { var database *sql.DB = db.Get(ctx) // Get the database connection. // The following code is standard golang SQL code, it has nothing FTL specific. rows, err := database.QueryContext(ctx, \"SELECT data FROM requests\") if err != nil { return nil, err } defer rows.Close() var items []string for rows.Next() { var i string if err := rows.Scan( &i, ); err != nil { return nil, err } items = append(items, i) } if err := rows.Close(); err != nil { return nil, err } if err := rows.Err(); err != nil { return nil, err } return items, nil } To declare a datasource in Kotlin you must use the @SQLDatasource annotation. This annotations is used to define the database name and type. @SQLDatasource(name = \"testdb\", type = SQLDatabaseType.POSTGRESQL) You must also include the appropriate depdencies in your pom.xml for the database you are using: io.quarkus quarkus-jdbc-postgresql io.quarkus quarkus-jdbc-mysql You can also use Hibernate directly or using Panache. This will require adding one of the following dependencies: io.quarkus quarkus-hibernate-orm io.quarkus quarkus-hibernate-orm-panache Note that this will likely change significantly in future once FTL has SQL Verbs. To declare a datasource in Java you must use the @SQLDatasource annotation. This annotations is used to define the database name and type. @SQLDatasource(name = \"testdb\", type = SQLDatabaseType.POSTGRESQL) You must also include the appropriate depdencies in your pom.xml for the database you are using: io.quarkus quarkus-jdbc-postgresql io.quarkus quarkus-jdbc-mysql You can also use Hibernate directly or using Panache. This will require adding one of the following dependencies: io.quarkus quarkus-hibernate-orm io.quarkus quarkus-hibernate-orm-panache Note that this will likely change significantly in future once FTL has SQL Verbs.","s":"Databases","u":"/ftl/docs/reference/databases","h":"","p":39},{"i":42,"t":"FTL includes support for automatically provisioning databases. The actual backing implementation is extensible, and presently we include support for both local development provisioning using docker, and cloud formations based provisioning for AWS deployments. When using ftl dev a docker container will automatically be spun up for each datasource that has been defined, and FTL will automatically handle configuration. The same applies when deploying to an AWS cluster with cloud formations provisioning setup.","s":"Provisioning","u":"/ftl/docs/reference/databases","h":"#provisioning","p":39},{"i":44,"t":"FTL includes support for automatically running migrations on databases. This is provided by dbmate. To create migrations you can use the ftl new-sql-migration command. This will create new migration files, and initialize the required directory structure if it does not exist. The format of the command is ftl new-sql-migration . . The module name can be omitted if the current working directory only contains a single module. E.g. to create a new migration called init for the testdb datasource in the mysql module you would run ftl new-sql-migration mysql.testdb init. When the modules are provisioned FTL will automatically run these migrations for you.","s":"Migrations","u":"/ftl/docs/reference/databases","h":"#migrations","p":39},{"i":46,"t":"FTL supports the use of external types in your FTL modules. External types are types defined in other packages or modules that are not part of the FTL module. The primary difference is that external types are not defined in the FTL schema, and therefore serialization and deserialization of these types is not handled by FTL. Instead, FTL relies on the runtime to handle serialization and deserialization of these types. In some cases this feature can also be used to provide custom serialization and deserialization logic for types that are not directly supported by FTL, even if they are defined in the same package as the FTL module. Go Kotlin Java To use an external type in your FTL module schema, declare a type alias over the external type: //ftl:typealias type FtlType external.OtherType //ftl:typealias type FtlType2 = external.OtherType The external type is widened to Any in the FTL schema, and the corresponding type alias will include metadata for the runtime-specific type mapping: typealias FtlType Any +typemap go \"github.com/external.OtherType\" To use an external type in your FTL module schema, implement a TypeAliasMapper: @TypeAlias(name = \"OtherType\") class OtherTypeTypeMapper : TypeAliasMapper { override fun encode(`object`: OtherType): JsonNode { return TextNode.valueOf(`object`.value) } override fun decode(serialized: JsonNode): OtherType { if (serialized.isTextual) { return OtherType(serialized.textValue()) } throw RuntimeException(\"Expected a textual value\") } } In the example above the external type is widened to Any in the FTL schema, and the corresponding type alias will include metadata for the runtime-specific type mapping: typealias FtlType Any +typemap java \"foo.bar.OtherType\" Note that for JVM languages java is always used as the runtime name, regardless of the actual language used. It is also possible to map to any other valid FTL type (e.g. String) by using this as the second type parameter: @TypeAlias(name = \"OtherType\") class OtherTypeTypeMapper : TypeAliasMapper { override fun encode(other: OtherType): JsonNode { return other.value } override fun decode(serialized: String): OtherType { return OtherType(serialized.textValue()) } } The corresponding type alias will be to a String, which makes the schema more useful: typealias FtlType String +typemap kotlin \"foo.bar.OtherType\" To use an external type in your FTL module schema, implement a TypeAliasMapper: @TypeAlias(name = \"OtherType\") public class OtherTypeTypeMapper implements TypeAliasMapper { @Override public JsonNode encode(OtherType object) { return TextNode.valueOf(object.getValue()); } @Override public AnySerializedType decode(OtherType serialized) { if (serialized.isTextual()) { return new OtherType(serialized.textValue()); } throw new RuntimeException(\"Expected a textual value\"); } } In the example above the external type is widened to Any in the FTL schema, and the corresponding type alias will include metadata for the runtime-specific type mapping: typealias FtlType Any +typemap java \"foo.bar.OtherType\" It is also possible to map to any other valid FTL type (e.g. String) by using this as the second type parameter: @TypeAlias(name = \"OtherType\") public class OtherTypeTypeMapper implements TypeAliasMapper { @Override public String encode(OtherType object) { return object.getValue(); } @Override public String decode(OtherType serialized) { return new OtherType(serialized.textValue()); } } The corresponding type alias will be to a String, which makes the schema more useful: typealias FtlType String +typemap java \"com.external.other.OtherType\"","s":"External Types","u":"/ftl/docs/reference/externaltypes","h":"","p":45},{"i":48,"t":"FTL also provides the capability to declare type mappings for other runtimes. Here's how to do it in each language: Go Kotlin Java //ftl:typealias //ftl:typemap java \"com.external.other.OtherType\" type FtlType external.OtherType @TypeAlias( name = \"OtherType\", languageTypeMappings = [LanguageTypeMapping(language = \"go\", type = \"github.com/external.OtherType\")] ) @TypeAlias(name = \"OtherType\", languageTypeMappings = { @LanguageTypeMapping(language = \"go\", type = \"github.com/external.OtherType\"), }) In the FTL schema, cross-runtime mappings will appear as: typealias FtlType Any +typemap go \"github.com/external.OtherType\" +typemap java \"com.external.other.OtherType\" This allows FTL to decode the type properly in other languages, for seamless interoperability across different runtimes.","s":"Cross-Runtime Type Mappings","u":"/ftl/docs/reference/externaltypes","h":"#cross-runtime-type-mappings","p":45},{"i":50,"t":"FTL has first-class support for PubSub, modelled on the concepts of topics (where events are sent) and subscribers (a verb which consumes events). Subscribers are, as you would expect, sinks. Each subscriber is a cursor over the topic it is associated with. Each topic may have multiple subscriptions. Each published event has an at least once delivery guarantee for each subscription. A topic can be exported to allow other modules to subscribe to it. Subscriptions are always private to their module. When a subscription is first created in an environment, it can start consuming from the beginning of the topic or only consume events published afterwards. Topics allow configuring the number of partitions and how each event should be mapped to a partition, allowing for greater throughput. Subscriptions will consume in order within each partition. There are cases where a small amount of progress on a subscription will be lost, so subscriptions should be able to handle receiving some events that have already been consumed. Go Kotlin Java First, declare a new topic: package payments import ( \"github.com/block/ftl/go-runtime/ftl\" ) // Define an event type type Invoice struct { InvoiceNo string } //ftl:topic partitions=1 type Invoices = ftl.TopicHandle[Invoice, ftl.SinglePartitionMap[Invoice]] If you want multiple partitions in the topic, you'll also need to write a partition mapper: package payments import ( \"github.com/block/ftl/go-runtime/ftl\" ) // Define an event type type Invoice struct { InvoiceNo string } type PartitionMapper struct{} var _ ftl.TopicPartitionMap[PubSubEvent] = PartitionMapper{} func (PartitionMapper) PartitionKey(event PubSubEvent) string { return event.Time.String() } //ftl:topic partitions=10 type Invoices = ftl.TopicHandle[Invoice, PartitionMapper] Note that the name of the topic as represented in the FTL schema is the lower camel case version of the type name. The Invoices type is a handle to the topic. It is a generic type that takes two arguments: the event type and the partition map type. The partition map type is used to map events to partitions. Then define a Sink to consume from the topic: // Configure initial event consumption with either from=beginning or from=latest // //ftl:subscribe payments.invoices from=beginning func SendInvoiceEmail(ctx context.Context, in Invoice) error { // ... } Events can be published to a topic by injecting the topic type into a verb: //ftl:verb func PublishInvoice(ctx context.Context, topic Invoices) error { topic.Publish(ctx, Invoice{...}) // ... } First, declare a new topic: import xyz.block.ftl.Export; import xyz.block.ftl.SinglePartitionMapper import xyz.block.ftl.Topic import xyz.block.ftl.WriteableTopic // Define the event type for the topic data class Invoice(val invoiceNo: String) // Add @Export if you want other modules to be able to consum from this topic @Topic(name = \"invoices\", partitions = 1) internal interface InvoicesTopic : WriteableTopic If you want multiple partitions in the topic, you'll also need to write a partition mapper: import xyz.block.ftl.Export; import xyz.block.ftl.SinglePartitionMapper import xyz.block.ftl.Topic import xyz.block.ftl.TopicPartitionMapper import xyz.block.ftl.WriteableTopic // Define the event type for the topic data class Invoice(val invoiceNo: String) // PartitionMapper maps each to a partition in the topic class PartitionMapper : TopicPartitionMapper { override fun getPartitionKey(invoice: Invoice): String { return invoice.invoiceNo } } // Add @Export if you want other modules to be able to consum from this topic @Topic(name = \"invoices\", partitions = 8) internal interface InvoicesTopic : WriteableTopic Events can be published to a topic by injecting it into an @Verb method: @Verb fun publishInvoice(request: InvoiceRequest, topic: InvoicesTopic) { topic.publish(Invoice(request.invoiceNo)) } To subscribe to a topic use the @Subscription annotation, referencing the topic class and providing a method to consume the event: // if subscribing from another module, import the event and topic import ftl.publisher.Invoice import ftl.publisher.InvoicesTopic import xyz.block.ftl.FromOffset import xyz.block.ftl.Subscription @Subscription(topic = InvoicesTopic::class, from = FromOffset.LATEST) fun consumeInvoice(event: Invoice) { // ... } If you are subscribing to a topic from another module, FTL will generate a topic class for you so you can subscribe to it. This generated topic cannot be published to, only subscribed to: @Topic(name=\"invoices\", module=\"publisher\") internal interface InvoicesTopic : ConsumableTopic First, declare a new topic: import xyz.block.ftl.Export; import xyz.block.ftl.SinglePartitionMapper; import xyz.block.ftl.Topic; import xyz.block.ftl.WriteableTopic; // Define the event type for the topic record Invoice(String invoiceNo) { } // Add @Export if you want other modules to be able to consum from this topic @Topic(name = \"invoices\", partitions = 1) interface InvoicesTopic extends WriteableTopic { } If you want multiple partitions in the topic, you'll also need to write a partition mapper: import xyz.block.ftl.Export; import xyz.block.ftl.Topic; import xyz.block.ftl.TopicPartitionMapper; import xyz.block.ftl.WriteableTopic; // Define the event type for the topic record Invoice(String invoiceNo) { } // PartitionMapper maps each to a partition in the topic class PartitionMapper implements TopicPartitionMapper { public String getPartitionKey(Invoice invoice) { return invoice.invoiceNo(); } } // Add @Export if you want other modules to be able to consum from this topic @Topic(name = \"invoices\", partitions = 8) interface InvoicesTopic extends WriteableTopic { } Events can be published to a topic by injecting it into an @Verb method: @Verb void publishInvoice(InvoiceRequest request, InvoicesTopic topic) throws Exception { topic.publish(new Invoice(request.invoiceNo())); } To subscribe to a topic use the @Subscription annotation, referencing the topic class and providing a method to consume the event: // if subscribing from another module, import the event and topic import ftl.othermodule.Invoice; import ftl.othermodule.InvoicesTopic; import xyz.block.ftl.FromOffset; import xyz.block.ftl.Subscription; class Subscriber { @Subscription(topic = InvoicesTopic.class, from = FromOffset.LATEST) public void consumeInvoice(Invoice event) { // ... } } If you are subscribing to a topic from another module, FTL will generate a topic class for you so you can subscribe to it. This generated topic cannot be published to, only subscribed to: @Topic(name=\"invoices\", module=\"publisher\") interface InvoicesTopic extends ConsumableTopic {}","s":"PubSub","u":"/ftl/docs/reference/pubsub","h":"","p":49},{"i":52,"t":"Some FTL features allow specifying a retry policy via a language-specific directive. Retries back off exponentially until the maximum is reached. The directive has the following syntax: //ftl:retry [] [] [catch ] For example, the following function will retry up to 10 times, with a delay of 5s, 10s, 20s, 40s, 60s, 60s, etc. //ftl:retry 10 5s 1m func Process(ctx context.Context, in Invoice) error { // ... }","s":"Retries","u":"/ftl/docs/reference/retries","h":"","p":51},{"i":54,"t":"Subscribers can have a retry policy. For example: //ftl:retry 5 1s catch recoverPaymentProcessing func ProcessPayment(ctx context.Context, payment Payment) error { ... }","s":"PubSub Subscribers","u":"/ftl/docs/reference/retries","h":"#pubsub-subscribers","p":51},{"i":56,"t":"After all retries have failed, a catch verb can be used to safely recover. These catch verbs have a request type of builtin.CatchRequest and no response type. If a catch verb returns an error, it will be retried until it succeeds so it is important to handle errors carefully. //ftl:retry 5 1s catch recoverPaymentProcessing func ProcessPayment(ctx context.Context, payment Payment) error { ... } //ftl:verb func RecoverPaymentProcessing(ctx context.Context, request builtin.CatchRequest[Payment]) error { // safely handle final failure of the payment }","s":"Catching","u":"/ftl/docs/reference/retries","h":"#catching","p":51},{"i":58,"t":"Subscribers can have a retry policy. For example: @Subscription(topic = \"example\", name = \"exampleSubscription\") @SubscriptionOptions(from = FromOffset.LATEST) @Retry(count = 5, minBackoff = \"1s\", catchVerb = \"recoverPaymentProcessing\") fun processPayment(payment: Payment) { // ... }","s":"PubSub Subscribers","u":"/ftl/docs/reference/retries","h":"#pubsub-subscribers-1","p":51},{"i":60,"t":"After all retries have failed, a catch verb can be used to safely recover. These catch verbs have a request type of CatchRequest and no response type. If a catch verb returns an error, it will be retried until it succeeds so it is important to handle errors carefully. @Retry(count = 5, minBackoff = \"1s\", catchVerb = \"recoverPaymentProcessing\") fun processPayment(payment: Payment) { // ... } @Verb fun recoverPaymentProcessing(req: CatchRequest) { // safely handle final failure of the payment }","s":"Catching","u":"/ftl/docs/reference/retries","h":"#catching-1","p":51},{"i":62,"t":"Subscribers can have a retry policy. For example: @Subscription(topic = \"example\", name = \"exampleSubscription\") @SubscriptionOptions(from = FromOffset.LATEST) @Retry(count = 5, minBackoff = \"1s\", catchVerb = \"recoverPaymentProcessing\") public void processPayment(Payment payment) { // ... }","s":"PubSub Subscribers","u":"/ftl/docs/reference/retries","h":"#pubsub-subscribers-2","p":51},{"i":64,"t":"After all retries have failed, a catch verb can be used to safely recover. These catch verbs have a request type of CatchRequest and no response type. If a catch verb returns an error, it will be retried until it succeeds so it is important to handle errors carefully. @Retry(count = 5, minBackoff = \"1s\", catchVerb = \"recoverPaymentProcessing\") public void processPayment(Payment payment) { // ... } @Verb public void recoverPaymentProcessing(CatchRequest req) { // safely handle final failure of the payment }","s":"Catching","u":"/ftl/docs/reference/retries","h":"#catching-2","p":51},{"i":67,"t":"Configuration values are named, typed values. They are managed by the ftl config command-line. Go Kotlin Java To declare a configuration value use the following syntax: // Simple string configuration type ApiUrl = ftl.Config[string] // Type-safe configuration type DefaultUser = ftl.Config[Username] Note that the name of the configuration value as represented in the FTL schema is the lower camel case version of the type name (e.g., ApiUrl becomes apiUrl). Configuration values can be injected into FTL methods, such as //ftl:verb, HTTP ingress, Cron etc. To inject a configuration value, use the following syntax: //ftl:verb func Hello(ctx context.Context, req Request, defaultUser DefaultUser) error { username := defaultUser.Get(ctx) // ... } Configuration values can be injected into FTL methods, such as @Verb, HTTP ingress, Cron etc. To inject a configuration value, use the following syntax: @Export @Verb fun hello(helloRequest: HelloRequest, @Config(\"defaultUser\") defaultUser: String): HelloResponse { return HelloResponse(\"Hello, $defaultUser\") } Configuration values can be injected into FTL methods, such as @Verb, HTTP ingress, Cron etc. To inject a configuration value, use the following syntax: @Export @Verb HelloResponse hello(HelloRequest helloRequest, @Config(\"defaultUser\") String defaultUser) { return new HelloResponse(\"Hello, \" + defaultUser); }","s":"Configuration","u":"/ftl/docs/reference/secretsconfig","h":"#configuration","p":65},{"i":69,"t":"Secrets are encrypted, named, typed values. They are managed by the ftl secret command-line. Go Kotlin Java Declare a secret with the following: // Simple string secret type ApiToken = ftl.Secret[string] // Type-safe secret type ApiKey = ftl.Secret[Credentials] Like configuration values, the name of the secret as represented in the FTL schema is the lower camel case version of the type name (e.g., ApiToken becomes apiToken). Secrets can be injected into FTL methods, such as //ftl:verb, HTTP ingress, Cron etc. To inject a secret value, use the following syntax: //ftl:verb func CallApi(ctx context.Context, req Request, apiKey ApiKey) error { credentials := apiKey.Get(ctx) // ... } Secrets can be injected into FTL methods, such as @Verb, HTTP ingress, Cron etc. To inject a secret value, use the following syntax: @Export @Verb fun hello(helloRequest: HelloRequest, @Secret(\"apiKey\") apiKey: String): HelloResponse { return HelloResponse(\"Hello, ${api.call(apiKey)}\") } Secrets can be injected into FTL methods, such as @Verb, HTTP ingress, Cron etc. To inject a secret value, use the following syntax: @Export @Verb HelloResponse hello(HelloRequest helloRequest, @Secret(\"apiKey\") String apiKey) { return new HelloResponse(\"Hello, \" + api.call(apiKey)); }","s":"Secrets","u":"/ftl/docs/reference/secretsconfig","h":"#secrets","p":65},{"i":71,"t":"Often, raw secret/configuration values aren't directly useful. For example, raw credentials might be used to create an API client. For those situations ftl.Map() can be used to transform a configuration or secret value into another type: var client = ftl.Map(ftl.Secret[Credentials](\"credentials\"), func(ctx context.Context, creds Credentials) (*api.Client, error) { return api.NewClient(creds) }) This is not currently supported in Kotlin or Java.","s":"Transforming secrets/configuration","u":"/ftl/docs/reference/secretsconfig","h":"#transforming-secretsconfiguration","p":65},{"i":73,"t":"Verbs annotated with ftl:ingress will be exposed via HTTP (http is the default ingress type). These endpoints will then be available on one of our default ingress ports (local development defaults to http://localhost:8891). The following will be available at http://localhost:8891/http/users/123/posts?postId=456. type GetRequestPathParams struct { UserID string `json:\"userId\"` } type GetRequestQueryParams struct { PostID string `json:\"postId\"` } type GetResponse struct { Message string `json:\"msg\"` } //ftl:ingress GET /http/users/{userId}/posts func Get(ctx context.Context, req builtin.HttpRequest[ftl.Unit, GetRequestPathParams, GetRequestQueryParams]) (builtin.HttpResponse[GetResponse, ErrorResponse], error) { // ... } Because the example above only has a single path parameter it can be simplified by just using a scalar such as string or int64 as the path parameter type: //ftl:ingress GET /http/users/{userId}/posts func Get(ctx context.Context, req builtin.HttpRequest[ftl.Unit, int64, GetRequestQueryParams]) (builtin.HttpResponse[GetResponse, ErrorResponse], error) { // ... } info The req and resp types of HTTP ingress verbs must be builtin.HttpRequest and builtin.HttpResponse respectively. These types provide the necessary fields for HTTP ingress (headers, statusCode, etc.) Key points: ingress verbs will be automatically exported by default.","s":"HTTP Ingress","u":"/ftl/docs/reference/ingress","h":"","p":72},{"i":75,"t":"The HttpRequest request object takes 3 type parameters, the body, the path parameters and the query parameters. Given the following request verb: type PostBody struct{ Title string `json:\"title\"` Content string `json:\"content\"` Tag ftl.Option[string] `json:\"tag\"` } type PostPathParams struct { UserID string `json:\"userId\"` PostID string `json:\"postId\"` } type PostQueryParams struct { Publish boolean `json:\"publish\"` } //ftl:ingress http PUT /users/{userId}/posts/{postId} func Get(ctx context.Context, req builtin.HttpRequest[PostBody, PostPathParams, PostQueryParams]) (builtin.HttpResponse[GetResponse, string], error) { return builtin.HttpResponse[GetResponse, string]{ Headers: map[string][]string{\"Get\": {\"Header from FTL\"}}, Body: ftl.Some(GetResponse{ Message: fmt.Sprintf(\"UserID: %s, PostID: %s, Tag: %s\", req.pathParameters.UserID, req.pathParameters.PostID, req.Body.Tag.Default(\"none\")), }), }, nil } The rules for how each element is mapped are slightly different, as they have a different structure: The body is mapped directly to the body of the request, generally as a JSON object. Scalars are also supported, as well as []byte to get the raw body. If they type is any then it will be assumed to be JSON and mapped to the appropriate types based on the JSON structure. The path parameters can be mapped directly to an object with field names corresponding to the name of the path parameter. If there is only a single path parameter it can be injected directly as a scalar. They can also be injected as a map[string]string. The path parameters can also be mapped directly to an object with field names corresponding to the name of the path parameter. They can also be injected directly as a map[string]string, or map[string][]string for multiple values.","s":"Field mapping","u":"/ftl/docs/reference/ingress","h":"#field-mapping","p":72},{"i":77,"t":"Optional fields are represented by the ftl.Option type. The Option type is a wrapper around the actual type and can be Some or None. In the example above, the Tag field is optional. curl -i http://localhost:8891/users/123/posts/456 Because the tag query parameter is not provided, the response will be: { \"msg\": \"UserID: 123, PostID: 456, Tag: none\" }","s":"Optional fields","u":"/ftl/docs/reference/ingress","h":"#optional-fields","p":72},{"i":79,"t":"Field names use lowerCamelCase by default. You can override this by using the json tag.","s":"Casing","u":"/ftl/docs/reference/ingress","h":"#casing","p":72},{"i":81,"t":"Given the following request verb: //ftl:enum export type SumType interface { tag() } type A string func (A) tag() {} type B []string func (B) tag() {} //ftl:ingress http POST /typeenum func TypeEnum(ctx context.Context, req builtin.HttpRequest[SumType, ftl.Unit, ftl.Unit]) (builtin.HttpResponse[SumType, string], error) { return builtin.HttpResponse[SumType, string]{Body: ftl.Some(req.Body)}, nil } The following curl request will map the SumType name and value to the req.Body: curl -X POST \"http://localhost:8891/typeenum\" \\ -H \"Content-Type: application/json\" \\ --data '{\"name\": \"A\", \"value\": \"sample\"}' The response will be: { \"name\": \"A\", \"value\": \"sample\" }","s":"SumTypes","u":"/ftl/docs/reference/ingress","h":"#sumtypes","p":72},{"i":83,"t":"Complex query params can also be encoded as JSON using the @json query parameter. For example: {\"tag\":\"ftl\"} url-encoded is %7B%22tag%22%3A%22ftl%22%7D curl -i http://localhost:8891/users/123/posts/456?@json=%7B%22tag%22%3A%22ftl%22%7D","s":"Encoding query params as JSON","u":"/ftl/docs/reference/ingress","h":"#encoding-query-params-as-json","p":72},{"i":85,"t":"FTL supports the following types: Int (64-bit), Float (64-bit), String, Bytes (a byte array), Bool, Time, Any (a dynamic type), Unit (similar to \"void\"), arrays, maps, data structures, and constant enumerations. Each FTL type is mapped to a corresponding language-specific type. For example in Go Float is represented as float64, Time is represented by time.Time, and so on. User-defined types referenced by a verb will be automatically exported as FTL types.","s":"Types","u":"/ftl/docs/reference/types","h":"","p":84},{"i":87,"t":"The following table shows how FTL types map to language-specific types: Go Kotlin Java FTL Go Int int Float float64 String string Bytes []byte Bool bool Time time.Time Any External Unit N/A Map map[K]V Array []T FTL Kotlin Int Long Float Double String String Bytes ByteArray Bool Boolean Time ZonedDateTime Any External Unit N/A Map Map Array List FTL Java Java (optional) Int long Long Float double Double String String @Nullable String Bytes []byte @Nullable byte[] Bool boolean Boolean Time ZonedDateTime️ @Nullable ZonedDateTime Any External External Unit void N/A Map Map @Nullable Map Array List @Nullable List","s":"Basic types","u":"/ftl/docs/reference/types","h":"#basic-types","p":84},{"i":89,"t":"FTL supports user-defined data structures, declared using the idiomatic syntax of the target language. Go Kotlin Java type Person struct { Name string Age int } data class Person( val name: String, val age: Int ) public class Person { private final String name; private final int age; public Person(String name, int age) { this.name = name; this.age = age; } }","s":"Data structures","u":"/ftl/docs/reference/types","h":"#data-structures","p":84},{"i":91,"t":"FTL has first-class support for generics, declared using the idiomatic syntax of the target language. Go Kotlin Java type Pair[T, U] struct { First T Second U } data class Pair( val first: T, val second: U ) public class Pair { private final T first; private final U second; public Pair(T first, U second) { this.first = first; this.second = second; } }","s":"Generics","u":"/ftl/docs/reference/types","h":"#generics","p":84},{"i":93,"t":"Sum types are supported by FTL's type system. Go Kotlin Java Sum types aren't directly supported by Go, however they can be approximated with the use of sealed interfaces: //ftl:enum type Animal interface { animal() } type Cat struct {} func (Cat) animal() {} type Dog struct {} func (Dog) animal() {} Sum types aren't directly supported by Kotlin, however they can be approximated with the use of sealed interfaces: @Enum sealed interface Animal @EnumHolder class Cat() : Animal @EnumHolder class Dog() : Animal TODO","s":"Type enums (sum types)","u":"/ftl/docs/reference/types","h":"#type-enums-sum-types","p":84},{"i":95,"t":"A value enum is an enumerated set of string or integer values. Go Kotlin Java //ftl:enum type Colour string const ( Red Colour = \"red\" Green Colour = \"green\" Blue Colour = \"blue\" ) @Enum public enum class Colour( public final val `value`: String, ) { Red(\"red\"), Green(\"green\"), Blue(\"blue\"), ; } @Enum public enum Colour { Red(\"red\"), Green(\"green\"), Blue(\"blue\"); private final String value; Colour(String value) { this.value = value; } }","s":"Value enums","u":"/ftl/docs/reference/types","h":"#value-enums","p":84},{"i":97,"t":"A type alias is an alternate name for an existing type. It can be declared like so: Go Kotlin Java //ftl:typealias type UserID string typealias UserID = String // Java does not support type aliases directly // Use a wrapper class instead public class UserID { private final String value; public UserID(String value) { this.value = value; } public String getValue() { return value; } } Type aliases are useful for making code more readable and type-safe by giving meaningful names to types that represent specific concepts in your domain.","s":"Type aliases","u":"/ftl/docs/reference/types","h":"#type-aliases","p":84},{"i":100,"t":"When writing a unit test, first create a context: func ExampleTest(t *testing.Test) { ctx := ftltest.Context( // options go here ) } FTL will help isolate what you want to test by restricting access to FTL features by default. You can expand what is available to test by adding options to ftltest.Context(...). In this default set up, FTL does the following: prevents access to ftl.ConfigValue and ftl.SecretValue (See options) prevents access to ftl.Database (See options) prevents access to ftl.MapHandle (See options) disables all subscribers (See options)","s":"Create a context","u":"/ftl/docs/reference/unittests","h":"#create-a-context","p":98},{"i":103,"t":"To enable configs and secrets from the default project file: ctx := ftltest.Context( ftltest.WithDefaultProjectFile(), ) Or you can specify a specific project file: ctx := ftltest.Context( ftltest.WithProjectFile(path), ) You can also override specific config and secret values: ctx := ftltest.Context( ftltest.WithDefaultProjectFile(), ftltest.WithConfig(endpoint, \"test\"), ftltest.WithSecret(secret, \"...\"), )","s":"Project files, configs and secrets","u":"/ftl/docs/reference/unittests","h":"#project-files-configs-and-secrets","p":98},{"i":105,"t":"To enable database access in a test, you must first provide a DSN via a project file. You can then set up a test database: ctx := ftltest.Context( ftltest.WithDefaultProjectFile(), ftltest.WithDatabase[MyDBConfig](), ) This will: Take the provided DSN and appends _test to the database name. Eg: accounts becomes accounts_test Wipe all tables in the database so each test run happens on a clean database You can access the database in your test using its handle: db, err := ftltest.GetDatabaseHandle[MyDBConfig]() db.Get(ctx).Exec(...)","s":"Databases","u":"/ftl/docs/reference/unittests","h":"#databases","p":98},{"i":107,"t":"By default, calling Get(ctx) on a map handle will panic. You can inject a fake via a map: ctx := ftltest.Context( ftltest.WhenMap(exampleMap, func(ctx context.Context) (string, error) { return \"Test Value\" }), ) You can also allow the use of all maps: ctx := ftltest.Context( ftltest.WithMapsAllowed(), )","s":"Maps","u":"/ftl/docs/reference/unittests","h":"#maps","p":98},{"i":109,"t":"Use ftltest.Call[Client](...) (or ftltest.CallSource[Client](...), ftltest.CallSink[Client](...), ftltest.CallEmpty[Client](...)) to invoke your verb. At runtime, FTL automatically provides these resources to your verb, and using ftltest.Call(...) rather than direct invocations simulates this behavior. // Call a verb resp, err := ftltest.Call[ExampleVerbClient, Request, Response](ctx, Request{Param: \"Test\"}) You can inject fakes for verbs: ctx := ftltest.Context( ftltest.WhenVerb[ExampleVerbClient](func(ctx context.Context, req Request) (Response, error) { return Response{Result: \"Lorem Ipsum\"}, nil }), ) If there is no request or response parameters, you can use WhenSource(...), WhenSink(...), or WhenEmpty(...). To enable all calls within a module: ctx := ftltest.Context( ftltest.WithCallsAllowedWithinModule(), )","s":"Calls","u":"/ftl/docs/reference/unittests","h":"#calls","p":98},{"i":111,"t":"By default, all subscribers are disabled. To enable a subscriber: ctx := ftltest.Context( ftltest.WithSubscriber(paymentsSubscription, ProcessPayment), ) Or you can inject a fake subscriber: ctx := ftltest.Context( ftltest.WithSubscriber(paymentsSubscription, func (ctx context.Context, in PaymentEvent) error { return fmt.Errorf(\"failed payment: %v\", in) }), ) Due to the asynchronous nature of pubsub, your test should wait for subscriptions to consume the published events: topic.Publish(ctx, Event{Name: \"Test\"}) ftltest.WaitForSubscriptionsToComplete(ctx) // Event will have been consumed by now You can check what events were published to a topic: events := ftltest.EventsForTopic(ctx, topic) You can check what events were consumed by a subscription, and whether a subscriber returned an error: results := ftltest.ResultsForSubscription(ctx, subscription) If all you wanted to check was whether a subscriber returned an error, this function is simpler: errs := ftltest.ErrorsForSubscription(ctx, subscription) PubSub also has these different behaviours while testing: Publishing to topics in other modules is allowed If a subscriber returns an error, no retries will occur regardless of retry policy.","s":"PubSub","u":"/ftl/docs/reference/unittests","h":"#pubsub","p":98},{"i":114,"t":"Go Kotlin Java To declare a Verb, write a normal Go function with the following signature, annotated with the Go comment directive //ftl:verb: //ftl:verb func F(context.Context, In) (Out, error) { } eg. type EchoRequest struct {} type EchoResponse struct {} //ftl:verb func Echo(ctx context.Context, in EchoRequest) (EchoResponse, error) { // ... } To declare a Verb, write a normal Kotlin function with the following signature, annotated with the Kotlin annotation @Verb: @Verb fun F(In): Out { } eg. data class EchoRequest data class EchoResponse @Verb fun echo(request: EchoRequest): EchoResponse { // ... } To declare a Verb, write a normal Java method with the following signature, annotated with the @Verb annotation: @Verb public Output f(Input input) { } eg. import xyz.block.ftl.Verb; class EchoRequest {} class EchoResponse {} public class EchoClass { @Verb public EchoResponse echo(EchoRequest request) { // ... } } By default verbs are only visible to other verbs in the same module (see visibility for more information).","s":"Defining Verbs","u":"/ftl/docs/reference/verbs","h":"#defining-verbs","p":112},{"i":116,"t":"Go Kotlin Java To call a verb, import the module's verb client ({ModuleName}.{VerbName}Client), add it to your verb's signature, then invoke it as a function. eg. //ftl:verb func Echo(ctx context.Context, in EchoRequest, tc time.TimeClient) (EchoResponse, error) { out, err := tc(ctx, TimeRequest{...}) } Verb clients are generated by FTL. If the callee verb belongs to the same module as the caller, you must build the module first (with callee verb defined) in order to generate its client for use by the caller. Local verb clients are available in the generated types.ftl.go file as {VerbName}Client. To call a verb, import the module's verb client, add it to your verb's signature, then call() it. eg. import ftl.time.TimeClient import xyz.block.ftl.Verb @Verb fun echo(req: EchoRequest, time: TimeClient): EchoResponse { val response = time.call() // ... } val response = time.call() Verb clients are generated by FTL. If the callee verb belongs to the same module as the caller, you must manually define your own client: @VerbClient(name=\"time\") interface TimeClient { fun call(): TimeResponse } To call a verb, import the module's verb client, add it to your verb's signature, then call it. eg. import ftl.time.TimeClient; import xyz.block.ftl.Verb; public class EchoClass { @Verb public EchoResponse echo(EchoRequest request, TimeClient time) { TimeResponse response = time.call(); // ... } } Verb clients are generated by FTL. If the callee verb belongs to the same module as the caller, you must manually define your own client: @VerbClient(name=\"time\") public interface TimeClient { TimeResponse call(); }","s":"Calling Verbs","u":"/ftl/docs/reference/verbs","h":"#calling-verbs","p":112},{"i":118,"t":"By default all declarations in FTL are visible only to the module they're declared in. The implicit visibility of types is that of the first verb or other declaration that references it.","s":"Visibility","u":"/ftl/docs/reference/visibility","h":"","p":117},{"i":120,"t":"Exporting a declaration makes it accessible to other modules. Some declarations that are entirely local to a module, such as secrets/config, cannot be exported. Types that are transitively referenced by an exported declaration will be automatically exported unless they were already defined but unexported. In this case, an error will be raised and the type must be explicitly exported. Go Kotlin Java The following table describes the go directives used to export the corresponding declaration: Symbol Export syntax Verb //ftl:verb export Data //ftl:data export Enum/Sum type //ftl:enum export Typealias //ftl:typealias export Topic //ftl:export 1 //ftl:verb export func Verb(ctx context.Context, in In) (Out, error) //ftl:typealias export type UserID string For Kotlin the @Export annotation can be used to export a declaration: @Verb @Export fun time(): TimeResponse { // ... } For Java the @Export annotation can be used to export a declaration: @Verb @Export TimeResponse time() { // ... } Footnotes​ By default, topics do not require any annotations as the declaration itself is sufficient. ↩","s":"Exporting declarations","u":"/ftl/docs/reference/visibility","h":"#exporting-declarations","p":117},{"i":122,"t":"By default, topics do not require any annotations as the declaration itself is sufficient. ↩","s":"Footnotes","u":"/ftl/docs/reference/visibility","h":"#footnote-label","p":117}],"index":{"version":"2.3.9","fields":["t"],"fieldVectors":[["t/2",[0,1.151,1,4.999,2,4.07,3,5.807,4,4.999,5,5.807,6,5.807,7,4.467]],["t/4",[8,5.904,9,5.904,10,4.137,11,5.904,12,3.316,13,5.082]],["t/6",[10,4.07,14,3.488,15,2.73,16,2.73,17,4.467,18,5.807,19,5.807,20,5.807]],["t/8",[21,6.662,22,3.662,23,5.668,24,3.972,25,3.972,26,5.668,27,4.879,28,5.668,29,5.668,30,3.972]],["t/10",[10,4.178,16,2.22,17,3.633,25,3.31,30,3.31,31,2.492,32,0.982,33,6.532,34,5.961,35,2.349,36,2.837,37,2.837,38,3.852,39,4.121,40,4.066,41,3.633,42,4.723,43,4.066,44,0.982,45,4.066,46,4.723,47,4.586,48,4.723,49,3.052,50,4.066,51,4.066,52,3.31]],["t/12",[10,3.065,14,3.409,15,2.056,17,4.365,35,2.175,38,4.071,39,3.409,40,4.885,43,4.885,47,3.364,52,3.065,53,3.977,54,5.675,55,4.885,56,4.885,57,2.826,58,4.373,59,4.885,60,3.364,61,4.373,62,3.765,63,4.373,64,3.364,65,2.627,66,4.373,67,4.373,68,4.373,69,3.364,70,4.373,71,3.364,72,4.373,73,3.364,74,4.373,75,3.065,76,4.373,77,3.765]],["t/14",[13,4.357,32,1.052,78,4.361,79,6.223,80,4.357,81,1.391,82,2.67,83,5.06,84,3.495,85,4.357,86,4.357,87,5.06,88,1.842,89,3.893,90,3.893,91,5.06,92,4.357,93,4.357,94,2.67,95,5.06,96,5.06,97,3.27,98,4.357]],["t/16",[14,1.842,82,1.618,92,2.641,98,2.641,99,1.172,100,1.842,101,5.23,102,1.373,103,1.506,104,1.506,105,5.23,106,3.067,107,0.904,108,1.577,109,3.067,110,1.506,111,1.311,112,2.985,113,6.35,114,4.446,115,2.21,116,2.21,117,5.23,118,3.142,119,3.067,120,4.446,121,4.446,122,3.067,123,3.067,124,4.446,125,4.446,126,5.23,127,3.067,128,4.446]],["t/18",[7,2.329,31,1.598,44,1.39,78,2.122,80,3.792,81,1.211,102,0.795,103,0.872,104,0.872,107,0.919,129,2.122,130,3.028,131,2.122,132,2.122,133,2.607,134,1.348,135,3.389,136,3.389,137,2.607,138,2.607,139,3.028,140,3.028,141,2.329,142,2.122,143,1.819,144,2.122,145,2.607,146,2.607,147,2.329,148,3.028,149,2.329,150,1.157,151,1.957,152,1.701,153,2.122]],["t/20",[0,1.16,14,3.517,16,2.752,37,3.517,73,4.504,154,4.504,155,5.855]],["t/23",[0,1.345,25,4.575,36,2.489,73,3.187,99,1.583,107,0.637,138,4.715,156,4.143,157,2.677,158,5.477,159,6.004,160,4.214,161,6.136,162,6.136,163,5.477,164,4.143,165,4.143,166,4.143,167,2.489,168,3.567,169,4.143,170,3.187,171,2.904,172,4.143,173,4.143,174,2.489,175,4.143,176,4.143,177,4.143,178,4.143,179,4.143,180,4.143,181,4.143,182,4.143,183,3.567,184,3.187]],["t/25",[0,1.384,38,3.549,50,4.728,77,4.728,88,1.999,111,1.377,185,5.629,186,4.728,187,5.03,188,2.731,189,5.492]],["t/28",[0,1.399,1,5.11,15,2.206,16,2.206,22,3.032,25,3.288,37,2.818,41,3.609,55,4.039,57,3.836,88,1.708,102,1.232,159,5.11,168,4.039,174,2.818,190,3.609,191,3.609,192,6.512,193,3.609,194,4.692,195,4.692,196,4.692,197,3.032,198,3.609,199,2.79,200,3.609,201,3.032]],["t/30",[0,1.147,15,2.722,16,3.114,36,1.631,37,3.248,44,0.845,49,3.147,57,2.626,81,1.117,90,2.088,102,1.279,103,1.17,104,1.17,107,0.846,108,0.818,110,0.782,111,0.681,112,2.857,115,1.147,116,1.147,167,2.926,183,2.337,201,2.626,202,2.337,203,2.447,204,5.577,205,2.715,206,2.088,207,2.715,208,2.088,209,2.088,210,2.337,211,3.126,212,2.021,213,0.942,214,2.337,215,3.126,216,2.088,217,1.79,218,1.276,219,2.088,220,2.144,221,1.345,222,2.715,223,2.715,224,2.715,225,1.754,226,2.283,227,4.064,228,3.499,229,1.717,230,2.715,231,3.499,232,3.126,233,2.848,234,1.91,235,2.715,236,3.499,237,2.715,238,1.717,239,2.715,240,1.553,241,2.337,242,2.715]],["t/32",[0,1.323,14,3.689,32,1.03,39,2.976,45,4.265,49,3.201,53,3.472,57,3.201,64,3.811,65,3.689,71,3.811,75,3.472,160,3.811,170,3.811,185,5.288,203,2.596,243,3.811,244,4.265,245,4.954,246,4.954,247,4.265,248,4.954,249,4.954]],["t/34",[0,1.097,69,4.258,71,4.258,243,4.258,250,4.765,251,3.325,252,5.535,253,5.535,254,5.535,255,4.765,256,3.879,257,5.535,258,5.535,259,5.535]],["t/36",[0,1.114,32,1.169,47,4.325,69,4.325,81,1.823,82,3.721,250,5.708,255,4.84]],["t/38",[0,1.065,15,1.262,30,2.824,31,3.193,36,1.612,52,2.824,81,1.478,82,2.126,100,1.612,102,0.705,103,0.773,104,0.773,107,0.821,108,0.809,110,0.773,111,0.673,112,3.253,115,1.134,116,2.044,167,2.42,171,2.824,199,1.894,200,3.1,201,2.604,203,2.272,204,2.311,217,1.601,218,1.894,221,0.888,231,2.311,232,3.1,233,2.824,234,1.894,236,3.469,238,1.703,240,1.54,260,2.065,261,2.684,262,4.433,263,4.029,264,2.065,265,2.065,266,2.684,267,2.684,268,2.684,269,1.416,270,1.881,271,1.612,272,2.684,273,2.684,274,4.029,275,2.684,276,2.684,277,5.762,278,2.684,279,2.604,280,4.029,281,4.029,282,3.469,283,4.029,284,4.029,285,4.029,286,4.029,287,4.029,288,3.1,289,4.029,290,3.469,291,2.684,292,2.684,293,2.684,294,2.684]],["t/40",[0,0.981,15,1.312,30,4.677,31,0.89,32,1.276,35,0.839,36,1.677,44,1.029,49,1.804,56,2.403,81,0.981,88,1.016,94,0.89,99,1.364,102,0.733,103,0.804,104,0.804,107,0.85,108,0.842,110,0.486,111,0.423,112,1.312,146,1.452,147,2.746,150,1.364,154,2.147,167,1.013,190,2.147,197,2.307,199,0.793,206,1.298,208,1.298,209,1.298,210,1.452,212,2.063,213,1.44,217,1.521,218,0.793,221,1.639,225,3.674,228,2.403,229,0.713,234,0.793,240,0.645,271,3.688,279,1.804,290,2.403,295,4.106,296,1.298,297,1.452,298,1.687,299,1.09,300,1.956,301,1.687,302,1.687,303,1.09,304,1.687,305,1.687,306,2.791,307,1.687,308,1.09,309,1.687,310,1.182,311,0.89,312,1.687,313,1.687,314,1.687,315,2.791,316,3.074,317,1.687,318,1.452,319,1.687,320,2.746,321,1.687,322,1.687,323,1.687,324,1.687,325,1.687,326,3.074,327,1.687,328,1.687,329,1.687,330,1.687,331,0.89,332,1.687,333,2.791,334,3.57,335,1.687,336,1.687,337,1.687,338,1.687,339,2.147,340,2.791,341,2.492,342,1.473,343,2.791,344,2.791,345,2.403,346,2.791,347,5.482,348,5.482,349,4.149,350,2.791,351,2.791,352,4.952,353,1.677,354,2.791,355,1.956,356,2.791,357,2.791,358,2.791,359,2.791]],["t/42",[0,1.245,32,1.175,35,3.124,53,3.046,65,2.611,88,2.057,186,3.742,193,3.344,197,3.652,201,2.809,226,2.442,243,3.344,244,4.866,247,3.742,295,3.046,296,5.116,300,3.046,339,3.344,342,2.293,360,3.344,361,3.742,362,4.347,363,4.347,364,5.652,365,5.652,366,4.866,367,5.652,368,4.347,369,3.046,370,2.293,371,2.809,372,3.046,373,4.347,374,4.347]],["t/44",[0,1.32,15,2.803,16,3.131,32,0.814,35,2.623,38,3.854,39,3.168,41,4.057,57,3.408,59,3.37,82,2.065,88,1.425,97,2.529,147,3.011,174,2.351,188,1.947,191,3.011,193,3.011,197,2.529,198,3.011,203,2.697,213,1.83,288,3.011,295,2.743,296,3.011,297,6.22,316,3.37,326,5.134,339,3.011,355,2.743,366,3.37,375,3.914,376,2.743,377,3.914,378,3.914,379,3.011,380,3.914]],["t/46",[0,1.263,2,3.051,16,1.565,24,1.803,32,1.209,44,1.463,88,0.937,89,1.98,94,1.757,97,1.663,102,0.676,103,0.741,104,1.253,107,0.837,115,1.65,116,1.65,129,1.073,134,1.146,150,0.585,167,1.546,188,0.761,197,2.152,199,1.21,200,1.177,203,2.119,213,0.531,217,1.925,221,1.742,229,1.088,238,1.993,256,1.803,279,0.989,299,0.989,300,2.736,342,1.757,353,0.919,360,1.177,370,1.358,372,1.073,381,4.871,382,1.53,383,1.53,384,3.538,385,1.53,386,4.353,387,3.33,388,1.318,389,1.53,390,0.989,391,1.53,392,1.53,393,1.53,394,4.06,395,1.318,396,1.803,397,4.06,398,2.215,399,1.53,400,3.33,401,3.051,402,3.33,403,2.297,404,3.051,405,3.748,406,1.318,407,2.573,408,3.36,409,4.531,410,3.903,411,3.903,412,4.716,413,3.689,414,1.53,415,1.53,416,2.573,417,2.573,418,3.903,419,2.215,420,2.573,421,2.573,422,3.33,423,1.318,424,1.318,425,2.573,426,2.573,427,1.546,428,1.53,429,1.53,430,1.98,431,2.573,432,2.215,433,1.53,434,1.53,435,2.573,436,1.53,437,1.318]],["t/48",[0,1.172,2,4.145,44,1.377,102,1.664,103,1.109,104,1.703,107,0.854,150,1.472,188,1.915,199,2.452,213,1.336,226,2.163,251,2.313,299,2.488,384,2.488,396,2.699,397,4.49,398,3.315,403,2.752,404,3.655,405,4.49,406,5.091,408,3.315,409,4.49,437,4.49,438,3.851,439,3.851,440,3.851,441,5.215,442,5.215,443,3.851,444,3.851,445,3.851,446,3.851,447,3.851,448,3.851]],["t/50",[0,0.563,14,0.579,15,0.453,16,1.098,22,0.623,31,1.722,32,0.485,44,1.191,52,1.636,60,0.742,62,2.01,81,0.996,88,0.351,102,0.253,103,0.278,104,0.278,107,0.863,108,0.704,110,0.496,111,0.432,112,3.027,115,0.987,116,1.964,118,1.035,137,1.483,149,0.742,150,0.892,151,4.47,152,3.042,153,2.756,167,1.035,171,1.99,187,0.742,188,0.857,190,0.742,191,0.742,203,1.964,208,1.325,209,1.325,212,1.161,213,0.598,217,1.302,218,0.453,221,0.773,226,2.36,232,2.184,234,1.534,238,0.728,240,0.368,241,0.83,251,1.403,260,2.184,279,0.623,300,0.676,303,2.341,308,1.835,311,1.232,320,0.742,331,0.909,341,1.035,342,2.075,370,0.909,371,1.113,384,0.623,390,1.113,395,0.83,403,1.912,413,0.676,419,0.83,423,0.83,449,1.96,450,0.964,451,0.83,452,5.265,453,0.964,454,4.306,455,0.964,456,0.964,457,0.964,458,2.445,459,3.821,460,0.964,461,0.964,462,0.623,463,0.964,464,0.964,465,0.964,466,5.73,467,0.964,468,0.964,469,0.964,470,0.964,471,0.964,472,0.964,473,0.964,474,0.83,475,0.909,476,4.661,477,3.623,478,1.723,479,0.964,480,1.723,481,0.964,482,3.025,483,1.796,484,2.335,485,4.648,486,0.964,487,0.964,488,0.964,489,0.964,490,0.964,491,0.964,492,0.579,493,0.742,494,0.742,495,0.742,496,0.964,497,0.964,498,0.964,499,1.723,500,0.964,501,0.964,502,0.964,503,0.964,504,0.964,505,0.83,506,2.335,507,2.84,508,2.84,509,1.723,510,2.84,511,1.483,512,2.335,513,4.202,514,2.84,515,1.723,516,1.723,517,1.723,518,1.723,519,1.723,520,1.723,521,0.964,522,0.964,523,0.964,524,1.325,525,0.964,526,0.964,527,1.723,528,1.723,529,1.325,530,0.964,531,1.325,532,0.964,533,1.723,534,1.723,535,1.723,536,1.723,537,1.723,538,2.335,539,0.964,540,0.964,541,0.964,542,0.964,543,0.964,544,0.964,545,0.964,546,0.964]],["t/52",[0,0.831,84,2.355,94,2.212,99,2.11,100,2.518,107,0.762,108,1.264,110,1.207,111,1.051,129,2.938,157,2.709,199,1.971,229,1.772,251,2.518,361,3.609,369,2.938,476,3.609,547,3.609,548,3.256,549,2.709,550,3.869,551,4.192,552,2.938,553,4.192,554,4.192,555,4.246,556,4.192,557,4.192,558,4.192,559,4.192,560,4.192,561,2.709,562,2.709,563,6.172,564,2.709,565,4.192,566,5.52,567,4.192,568,4.192,569,5.52,570,2.938,571,4.192,572,4.192]],["t/54",[12,3.015,107,0.804,108,1.618,110,1.545,111,1.345,152,3.015,229,2.268,475,3.403,548,2.832,549,3.468,555,4.129,561,3.468,573,3.224,574,3.224,575,4.62]],["t/56",[12,2.369,32,0.877,44,1.152,81,1.702,107,0.815,108,1.671,110,1.595,111,1.648,112,1.982,218,1.982,221,1.396,240,2.118,269,2.225,370,2.924,475,3.266,548,2.924,552,2.956,555,3.244,561,4.248,573,2.533,574,2.533,575,3.631,576,3.244,577,3.329,578,3.244,579,4.217,580,3.244,581,3.244,582,4.217,583,4.217,584,2.369,585,3.244]],["t/58",[12,2.783,107,0.883,115,2.094,152,2.783,213,1.719,229,2.596,475,2.614,529,3.811,531,3.811,548,2.614,549,3.201,562,3.201,573,2.976,574,2.976,586,4.265,587,4.265,588,3.472,589,3.472,590,3.472]],["t/60",[12,2.383,32,0.882,44,1.157,81,1.811,107,0.861,111,1.395,112,1.994,115,2.351,221,1.404,240,1.621,269,2.238,370,2.935,475,2.935,548,2.935,552,2.973,561,4.011,562,2.741,573,2.548,574,2.548,576,3.264,577,3.342,578,3.264,580,3.264,581,3.264,584,2.383,585,3.264,588,2.973,589,2.973,590,2.973,591,3.652,592,4.243,593,4.243]],["t/62",[12,2.764,107,0.882,118,2.955,152,2.764,213,1.707,229,2.584,238,2.079,475,2.596,529,3.785,531,3.785,548,2.596,549,3.179,562,3.179,573,2.955,574,2.955,586,4.236,587,4.236,588,3.448,589,3.448,590,3.448]],["t/64",[12,2.355,32,0.871,44,1.148,81,1.803,107,0.859,111,1.384,112,1.971,118,3.316,220,2.212,221,1.388,238,2.333,240,1.602,269,2.212,370,2.913,475,2.913,548,2.913,552,2.938,561,3.988,562,2.709,573,2.518,574,2.518,576,3.225,577,3.316,578,3.225,580,3.225,581,3.225,584,2.355,585,3.225,588,2.938,589,2.938,590,2.938,591,3.609,594,4.192]],["t/67",[0,1.144,16,1.266,22,1.741,32,1.12,39,1.618,44,1.2,75,1.888,78,3.398,81,1.481,84,3.026,97,1.741,99,2.059,102,0.707,103,0.776,104,0.776,107,0.829,108,0.812,110,0.776,111,0.675,115,1.139,134,2.998,141,2.072,143,2.912,144,3.398,150,1.03,213,1.682,217,1.605,218,1.899,220,1.421,221,1.337,234,1.899,240,1.03,279,1.741,308,3.133,311,3.197,371,4.418,384,1.741,390,1.741,492,1.618,493,2.072,494,2.072,570,3.398,577,1.618,595,2.319,596,2.319,597,4.849,598,2.694,599,6.284,600,2.694,601,2.072,602,3.398,603,2.694,604,2.694,605,2.694,606,3.479,607,3.479,608,4.041,609,3.479,610,3.479]],["t/69",[0,1.155,16,1.296,22,1.782,32,1.022,39,1.656,44,1.212,75,1.932,78,3.445,81,1.498,84,2.761,97,1.782,99,2.083,102,0.724,103,0.794,104,0.794,107,0.832,108,0.831,110,0.794,111,0.691,115,1.165,134,2.595,142,4.877,143,2.953,144,3.445,150,1.054,213,1.706,217,1.627,218,1.933,220,1.455,221,1.361,234,1.933,240,1.054,308,3.176,311,3.225,371,1.782,384,1.782,390,1.782,492,1.656,493,2.121,494,2.121,570,3.445,577,1.656,595,2.373,596,2.373,601,2.121,602,3.445,606,3.539,607,3.539,609,3.539,610,3.539,611,2.757,612,4.916,613,2.757,614,5.829,615,2.757,616,2.757,617,2.373,618,2.757,619,4.111,620,4.111]],["t/71",[15,2.149,32,1.337,44,0.95,88,1.664,103,1.316,104,1.316,107,0.748,110,1.316,111,1.146,134,2.6,142,3.203,198,3.516,221,1.513,229,1.932,260,3.516,262,4.491,320,3.516,353,2.746,371,2.954,617,5.026,621,5.026,622,4.571,623,3.935,624,4.571,625,4.571,626,4.571,627,4.571,628,4.571,629,4.571,630,3.935,631,4.571,632,4.571,633,4.571]],["t/73",[4,2.618,24,2.131,32,0.632,35,1.512,44,1.358,51,2.618,53,2.131,65,1.827,81,1.431,99,1.162,107,0.84,108,1.332,110,1.272,111,1.108,143,3.431,144,4.253,154,2.339,157,1.965,184,3.399,188,1.512,212,2.588,216,2.339,217,1.891,220,2.746,229,1.285,234,1.429,341,1.827,379,2.339,427,2.654,570,2.131,602,2.131,634,4.004,635,3.041,636,2.685,637,3.041,638,3.399,639,3.041,640,3.041,641,3.041,642,4.419,643,1.965,644,2.618,645,5.205,646,2.339,647,2.618,648,3.041,649,3.041,650,4.419,651,3.399,652,4.419,653,3.804,654,4.419,655,2.618,656,4.419,657,3.041,658,2.618,659,3.041,660,3.041,661,3.041,662,2.131,663,2.618,664,3.041,665,3.041,666,3.041]],["t/75",[0,0.526,31,1.4,44,1.253,81,0.73,88,0.966,90,3.696,99,1.014,107,0.765,108,0.8,110,0.764,111,0.665,134,1.182,143,1.594,153,1.86,184,4.635,201,1.715,212,2.39,213,1.855,214,2.285,216,2.041,217,1.994,220,1.4,221,0.878,225,1.715,226,1.491,240,1.836,299,2.582,311,2.535,345,2.285,353,3.444,376,2.8,379,2.041,401,2.8,403,3.026,427,3.865,432,4.603,458,2.285,495,2.041,621,2.285,634,2.041,643,1.715,644,2.285,646,3.073,647,2.285,651,2.041,653,3.439,655,3.439,662,2.8,663,3.439,667,2.654,668,2.654,669,5.734,670,2.041,671,2.285,672,2.654,673,2.654,674,2.654,675,2.285,676,2.654,677,2.8,678,2.654,679,3.995,680,3.995,681,2.285,682,2.654,683,2.654,684,2.654,685,2.654,686,2.654,687,2.654,688,2.654,689,2.654,690,2.654,691,2.654,692,2.654,693,2.654,694,2.654,695,3.696,696,2.654,697,2.041,698,2.654,699,3.995,700,2.654]],["t/77",[24,3.378,44,1.37,107,0.702,131,4.62,188,2.397,229,2.037,269,2.543,360,3.708,427,2.895,492,2.895,643,3.114,646,3.708,662,4.231,670,3.708,677,4.62,701,4.82,702,4.149,703,4.82,704,6.037,705,3.708,706,4.82,707,4.82,708,4.82,709,4.82]],["t/79",[32,1.398,213,1.999,413,4.037,636,2.708,662,4.037,677,4.037,695,4.431,710,5.76]],["t/81",[44,1.309,81,1.042,93,3.262,99,1.971,107,0.844,108,1.768,110,1.091,111,0.95,134,2.612,143,2.276,213,2.035,217,1.941,220,1.999,221,1.254,225,2.448,234,1.781,240,1.971,269,1.999,303,2.448,331,1.999,403,1.999,634,2.915,671,3.262,675,3.262,677,4.11,705,3.968,711,2.655,712,5.158,713,5.158,714,5.158,715,3.789,716,3.789,717,3.789,718,5.158,719,5.158,720,3.789,721,3.789,722,3.789,723,3.789,724,3.789,725,3.789,726,5.158]],["t/83",[32,1.133,229,2.303,427,3.273,670,5.007,695,5.007,705,4.192,727,5.45,728,5.45,729,6.509,730,5.45,731,5.45,732,5.45,733,5.45]],["t/85",[0,1.234,35,2.123,44,1.462,81,1.173,88,1.554,94,2.252,99,1.631,102,1.12,118,2.564,132,2.991,199,2.006,217,1.413,226,2.397,229,1.804,234,2.006,282,4.808,331,2.252,342,2.252,376,2.991,401,2.991,403,2.947,492,3.355,524,3.283,564,3.609,697,4.297,734,3.283,735,5.585,736,4.808,737,5.585,738,3.674,739,4.268,740,4.268,741,4.268,742,3.674,743,3.674,744,3.674,745,3.674]],["t/87",[0,1.197,44,1.003,94,1.815,99,1.314,102,1.267,103,1.389,104,1.604,118,2.066,131,2.41,132,3.906,199,1.617,217,2.242,381,5.201,403,1.815,564,3.601,681,4.798,697,5.074,734,4.647,736,4.798,738,5.201,743,2.961,744,2.961,746,2.646,747,3.439,748,5.573,749,6.596,750,3.439,751,5.573,752,2.961,753,5.573,754,5.573,755,3.439,756,5.573,757,5.573,758,6.362]],["t/89",[0,0.807,32,0.846,44,0.846,84,2.287,88,1.482,102,1.069,103,1.172,104,1.172,107,0.847,116,2.288,150,1.556,199,1.914,212,2.025,213,2.342,217,2.013,238,2.288,331,2.857,342,2.148,376,2.854,462,3.499,584,3.041,734,4.988,745,3.505,759,3.505,760,3.505,761,6.083,762,6.75,763,3.795,764,4.072,765,4.072,766,4.072]],["t/91",[0,0.798,31,2.124,32,0.837,44,0.837,84,2.261,88,1.465,89,5.173,102,1.057,103,1.159,104,1.159,107,0.845,116,2.556,150,1.539,199,1.892,212,2.002,238,2.271,331,2.124,449,4.155,462,3.472,584,3.018,752,5.207,759,3.466,760,3.466,763,3.766,767,4.026,768,7.063,769,5.374,770,4.026,771,4.026,772,4.026]],["t/93",[7,3.011,32,1.096,44,1.458,88,2.171,102,1.384,103,1.518,104,1.127,107,0.829,108,1.59,116,2.229,135,3.011,212,2.623,303,4.124,353,3.168,623,4.54,711,2.743,773,5.964,774,3.914,775,5.274,776,5.964,777,7.013,778,5.964,779,5.964,780,5.274,781,3.914]],["t/95",[44,0.818,102,1.033,103,1.133,104,1.133,107,0.873,116,1.663,134,3.061,135,5.134,217,2.117,238,2.527,462,2.543,584,2.973,711,2.759,742,3.389,763,2.759,782,3.028,783,3.936,784,6.873,785,3.936,786,5.293,787,5.293,788,5.293,789,5.293,790,5.293,791,5.293,792,3.936,793,3.389]],["t/97",[32,1.084,44,1.452,49,2.488,88,1.402,94,2.032,102,1.011,103,1.109,104,1.501,107,0.846,116,2.204,133,4.49,134,2.823,150,1.472,170,2.962,213,1.81,217,2.098,221,1.274,238,2.499,256,2.699,288,2.962,353,2.313,388,3.315,394,3.315,396,2.699,404,2.699,430,2.962,451,3.315,462,2.488,492,2.313,577,2.313,584,2.163,643,3.821,702,3.315,793,3.315,794,3.851,795,3.851,796,3.851,797,3.851,798,3.851,799,3.851]],["t/100",[0,1.205,15,1.914,36,2.446,86,3.505,99,1.556,102,1.069,107,0.785,108,1.228,129,2.854,131,4.864,132,2.854,152,2.287,206,3.132,310,4.544,369,2.854,449,2.446,482,3.132,483,3.132,636,2.545,638,3.132,782,3.132,800,3.654,801,4.072,802,4.072,803,2.446,804,3.252,805,4.072,806,4.072,807,4.072,808,4.072,809,6.083,810,4.072,811,4.072,812,5.582,813,4.072,814,4.072,815,3.505]],["t/103",[37,3.611,94,3.172,107,0.855,134,2.132,141,4.625,142,4.213,174,3.611,413,3.355,547,4.121,636,2.25,800,2.875,803,3.948,804,3.948,816,3.355,817,5.175,818,4.787,819,4.787,820,4.787]],["t/105",[32,0.898,37,2.595,38,2.792,107,0.728,157,2.792,174,2.595,188,2.8,213,1.499,226,2.427,271,2.595,295,4.945,310,3.945,318,3.719,369,3.028,370,2.279,449,2.595,495,3.323,601,3.323,746,3.323,782,3.323,800,3.986,803,2.595,804,2.595,816,3.028,817,3.719,821,5.63,822,4.32,823,4.32,824,4.32,825,3.323,826,4.32,827,4.32,828,4.32,829,4.32,830,4.32,831,4.32,832,4.32]],["t/107",[32,1.009,82,2.56,107,0.845,110,1.397,111,1.216,134,2.161,157,3.136,217,1.606,221,1.606,251,2.915,311,2.56,370,2.56,403,3.489,630,4.178,636,2.281,651,3.733,800,2.915,803,3.642,804,3.642,833,4.853,834,3.733,835,4.853,836,4.853]],["t/109",[0,0.78,2,2.759,32,1.243,35,1.958,81,1.758,82,2.793,107,0.83,110,1.133,111,0.987,145,3.389,187,3.028,188,1.958,203,1.663,220,2.077,221,1.303,225,2.543,240,2.286,265,3.028,269,2.793,271,2.364,311,2.077,427,2.364,550,2.759,658,3.389,800,2.364,803,3.18,804,3.18,816,2.759,834,3.028,837,3.936,838,3.936,839,3.936,840,3.936,841,3.936,842,3.936,843,3.936,844,3.936,845,3.936,846,3.936,847,3.936,848,3.936,849,3.936,850,3.936,851,3.936,852,3.936,853,3.936,854,3.936,855,3.936]],["t/111",[27,4.748,100,2.027,107,0.824,108,1.017,110,0.971,111,1.502,149,3.662,151,3.564,152,3.682,153,3.865,202,2.905,203,1.426,221,1.983,251,2.027,271,2.027,299,2.18,311,1.78,424,2.905,452,5.438,454,4.748,459,5.157,475,1.78,482,2.595,505,2.905,548,2.511,549,2.18,636,1.586,800,3.313,803,3.313,804,2.859,815,2.905,816,2.365,834,2.595,856,4.76,857,3.374,858,3.374,859,3.374,860,3.374,861,3.374,862,3.374,863,3.374,864,3.374,865,3.374,866,3.374,867,3.374,868,4.76,869,3.374,870,3.374,871,3.374,872,3.374,873,3.374,874,3.374]],["t/114",[44,0.893,81,1.915,99,1.946,100,2.582,102,1.337,103,1.466,104,1.237,107,0.875,108,1.296,110,0.843,111,1.077,112,1.376,115,1.816,116,2.525,136,3.306,150,1.946,203,1.237,211,4.597,212,2.138,215,4.806,218,2.394,219,2.252,233,2.052,238,2.152,240,1.119,256,2.052,264,3.917,270,3.012,308,1.892,331,2.268,341,3.59,372,2.052,483,3.917,550,2.052,636,1.376,812,2.521,825,3.917,875,5.092,876,2.928,877,2.928,878,2.928,879,2.928,880,2.928,881,2.928,882,2.928,883,2.521,884,2.521,885,2.928]],["t/116",[0,0.913,31,2.935,32,0.515,60,1.906,64,1.906,65,1.488,81,1.946,82,3.222,100,1.488,102,0.65,103,0.713,104,0.713,107,0.844,108,0.747,110,0.713,111,0.621,112,2.87,115,1.603,116,1.047,160,2.917,171,3.229,174,1.488,203,2.181,211,2.917,215,3.544,218,1.165,219,1.906,233,2.658,238,1.947,240,0.947,262,5.069,264,3.544,265,1.906,269,2.431,270,1.736,271,1.488,303,2.45,342,2.431,372,3.229,449,1.488,564,2.45,638,1.906,763,2.658,825,3.544,883,2.133,884,2.133,886,4.607,887,2.477,888,4.607,889,2.477,890,2.477,891,2.477,892,2.477,893,5.161,894,4.607,895,5.161,896,2.477,897,2.477,898,3.792,899,2.477,900,5.161,901,4.607,902,3.792,903,3.966]],["t/118",[0,1.097,44,1.151,81,1.522,136,5.053,150,2.677,203,2.339,449,3.325,636,2.602,904,5.535,905,5.535,906,5.535]],["t/120",[32,1.106,35,1.573,44,1.209,65,1.9,81,1.463,84,1.777,85,2.723,99,1.209,102,1.194,103,1.309,104,1.309,107,0.801,108,0.954,110,0.911,111,1.14,115,1.337,150,2.527,151,2.938,203,1.921,217,1.047,218,2.137,234,3.51,270,2.217,310,2.217,331,1.669,341,3.197,342,1.669,355,2.217,390,2.044,396,3.186,401,2.217,404,2.217,430,2.433,474,2.723,511,2.723,524,2.433,550,2.217,564,2.938,602,2.217,636,1.487,643,2.044,711,2.217,746,2.433,903,3.914,907,3.163,908,3.163,909,3.163,910,3.163,911,3.163,912,3.163,913,3.163,914,3.163,915,3.163,916,3.163,917,3.163,918,3.163,919,3.163,920,2.723,921,2.723]],["t/122",[107,0.675,150,2.219,151,3.752,341,3.488,355,4.07,636,2.73,920,4.999,921,4.999]]],"invertedIndex":[["",{"_index":107,"t":{"16":{"position":[[74,1],[76,1],[78,1],[80,1],[121,1],[123,2],[126,3],[130,1],[167,1],[169,1],[171,1],[173,3],[190,1],[192,1],[234,1],[245,1],[247,1],[249,1],[251,3],[269,1],[271,1],[273,1],[389,1],[391,2],[394,3],[398,1],[455,1],[457,1],[499,1],[531,1],[533,1],[535,1],[637,1],[639,2],[642,3],[646,1],[701,1],[703,1],[745,1],[775,1],[777,1],[779,1]]},"18":{"position":[[48,2],[51,2],[54,2],[71,2],[74,2],[77,2],[90,2],[93,2],[96,2],[110,2],[113,2],[116,2],[133,2],[136,2],[139,2],[155,2],[158,2],[161,2],[176,2],[179,2],[182,2],[196,2],[199,2],[202,2],[216,2],[219,2],[222,2],[236,2],[239,2],[242,2],[250,2],[253,2],[256,2],[266,2],[269,2],[272,2],[281,2],[284,2],[287,2],[301,2],[304,2],[307,2],[322,2],[325,2],[328,2],[336,2],[339,2],[342,2],[352,2],[355,2],[358,2],[369,2],[372,2],[375,2],[391,2],[394,2],[397,2],[421,2],[424,2],[427,2],[436,2],[439,2],[442,2],[451,2],[454,2],[457,2],[483,2],[486,2],[489,2],[504,2],[507,2],[510,2],[524,2],[527,2],[530,2]]},"23":{"position":[[144,2],[390,1]]},"30":{"position":[[187,1],[243,2],[266,1],[292,1],[318,1],[345,1],[362,1],[445,1],[539,1],[862,1],[1141,1],[1193,1],[1210,1],[1212,1],[1222,1],[1224,4],[1229,1],[1231,1]]},"38":{"position":[[341,1],[352,2],[387,3],[391,1],[558,1],[578,1],[1104,1],[1179,1],[1196,1],[1198,1],[1225,1],[1227,4],[1232,1],[1234,1]]},"40":{"position":[[672,1],[737,2],[760,1],[795,1],[828,1],[872,1],[890,1],[1005,1],[1028,1],[1042,2],[1074,2],[1164,2],[1230,2],[1237,1],[1255,1],[1311,1],[1333,2],[1351,2],[1358,2],[1365,1],[1383,1],[1391,1],[1410,1],[1419,2],[1440,2],[1447,1],[1465,1],[1474,2],[1493,2],[1500,1],[1518,1],[1538,1],[1701,1],[1718,1],[2623,1],[2640,1]]},"46":{"position":[[826,1],[1158,1],[1199,1],[1238,1],[1291,1],[1333,1],[1388,1],[1416,1],[1459,1],[1512,1],[1514,1],[1980,1],[2021,1],[2058,1],[2108,1],[2129,1],[2182,1],[2225,1],[2227,1],[2472,1],[2568,1],[2621,1],[2667,1],[2733,1],[2763,1],[2811,1],[2869,1],[2871,1],[3228,1],[3322,1],[3373,1],[3401,1],[3456,1],[3504,1],[3506,1]]},"48":{"position":[[246,1],[282,1],[314,1],[327,1],[363,1],[381,1],[417,1],[419,1],[451,1],[464,1],[500,2]]},"50":{"position":[[1098,1],[1138,1],[1140,2],[1184,1],[1203,1],[1244,1],[1420,1],[1460,1],[1462,2],[1506,1],[1525,1],[1598,1],[1680,1],[1709,1],[1751,1],[2150,2],[2231,2],[2344,1],[2346,2],[2349,3],[2353,1],[2505,1],[2540,2],[2543,3],[2547,1],[2712,2],[2793,2],[2883,1],[2908,1],[2946,1],[3264,2],[3345,2],[3424,1],[3456,1],[3513,1],[3540,1],[3542,1],[3544,2],[3634,1],[3659,1],[3697,1],[3885,1],[3929,1],[4062,2],[4278,1],[4307,1],[4363,1],[4365,2],[4368,3],[4372,1],[4639,1],[4832,2],[4904,1],[4906,1],[4908,2],[4998,1],[5023,1],[5107,1],[5109,1],[5340,2],[5412,1],[5414,1],[5416,2],[5536,1],[5585,1],[5615,1],[5617,1],[5619,2],[5709,1],[5734,1],[5812,1],[5814,1],[5977,1],[6028,1],[6161,2],[6382,1],[6404,1],[6432,1],[6495,1],[6497,2],[6500,3],[6504,1],[6506,1],[6797,2]]},"52":{"position":[[454,1],[456,2],[459,3],[463,1]]},"54":{"position":[[162,1],[164,3],[168,1]]},"56":{"position":[[394,1],[396,3],[400,1],[509,1],[511,2],[557,1]]},"58":{"position":[[70,1],[88,1],[139,1],[173,1],[189,1],[207,1],[274,1],[276,2],[279,3],[283,1]]},"60":{"position":[[287,1],[303,1],[321,1],[388,1],[390,2],[393,3],[397,1],[462,1],[464,2],[510,1]]},"62":{"position":[[70,1],[88,1],[139,1],[173,1],[189,1],[207,1],[281,1],[283,2],[286,3],[290,1]]},"64":{"position":[[287,1],[303,1],[321,1],[395,1],[397,2],[400,3],[404,1],[476,1],[478,2],[524,1]]},"67":{"position":[[169,2],[212,1],[233,2],[277,1],[704,1],[715,2],[739,2],[742,3],[746,1],[1012,1],[1058,1],[1317,1],[1352,1],[1354,1],[1370,1]]},"69":{"position":[[145,2],[183,1],[204,2],[236,1],[646,1],[660,2],[679,2],[682,3],[686,1],[922,1],[975,1],[1204,1],[1239,1],[1241,1],[1262,1]]},"71":{"position":[[249,1],[365,1],[395,2]]},"73":{"position":[[347,1],[379,1],[415,1],[447,1],[473,1],[503,1],[718,1],[720,2],[723,3],[727,1],[1082,1],[1084,2],[1087,3],[1091,1]]},"75":{"position":[[264,1],[293,1],[355,1],[385,1],[420,1],[625,1],[904,3],[908,2],[915,1]]},"77":{"position":[[303,1],[350,1]]},"81":{"position":[[75,1],[83,1],[114,2],[148,2],[321,1],[399,1],[527,1],[565,1],[631,1],[664,1]]},"89":{"position":[[137,1],[159,1],[211,1],[233,1],[321,1],[333,1],[350,1],[357,1],[359,1]]},"91":{"position":[[140,1],[159,1],[212,1],[238,1],[318,1],[331,1],[352,1],[362,1],[364,1]]},"93":{"position":[[205,1],[216,1],[234,2],[257,2],[276,2],[299,2],[471,1],[504,1]]},"95":{"position":[[114,1],[127,1],[148,1],[170,1],[179,1],[247,1],[249,1],[293,1],[295,1],[322,1],[415,1],[428,1],[437,1],[439,1]]},"97":{"position":[[151,1],[160,2],[207,2],[258,1],[316,1],[329,1],[338,1],[365,1],[381,1],[383,1]]},"100":{"position":[[84,1],[90,2],[110,2],[129,1],[131,1]]},"103":{"position":[[65,2],[119,1],[169,2],[220,1],[283,2],[402,7],[410,1]]},"105":{"position":[[127,2],[217,1],[471,2]]},"107":{"position":[[94,2],[184,1],[206,3],[210,1],[256,2],[303,1]]},"109":{"position":[[304,2],[329,2],[448,2],[561,1],[607,3],[611,1],[764,2],[824,1]]},"111":{"position":[[70,2],[152,1],[195,2],[310,1],[356,3],[360,1],[561,2],[661,2],[810,2],[965,2]]},"114":{"position":[[195,1],[197,1],[227,2],[255,2],[338,1],[340,2],[343,3],[347,1],[494,1],[496,1],[600,1],[602,2],[605,3],[609,1],[759,1],[761,1],[812,2],[834,2],[860,1],[914,1],[916,2],[919,3],[923,1],[925,1]]},"116":{"position":[[263,1],[274,2],[303,1],[824,1],[839,1],[853,2],[856,3],[860,1],[875,1],[1073,1],[1100,1],[1280,1],[1351,1],[1375,1],[1390,2],[1393,3],[1397,1],[1399,1],[1592,1],[1615,1]]},"120":{"position":[[870,1],[872,2],[875,3],[879,1],[984,1],[986,2],[989,3],[993,1],[1097,1]]},"122":{"position":[[91,1]]}}}],["0",{"_index":106,"t":{"16":{"position":[[72,1]]}}}],["1",{"_index":511,"t":{"50":{"position":[[2910,2],[5025,2]]},"120":{"position":[[647,1]]}}}],["10",{"_index":563,"t":{"52":{"position":[[321,2],[351,4],[393,2]]}}}],["12",{"_index":119,"t":{"16":{"position":[[281,2]]}}}],["123",{"_index":708,"t":{"77":{"position":[[321,4]]}}}],["12h",{"_index":122,"t":{"16":{"position":[[343,3]]}}}],["18.0",{"_index":23,"t":{"8":{"position":[[16,4]]}}}],["1m",{"_index":571,"t":{"52":{"position":[[399,2]]}}}],["1s",{"_index":573,"t":{"54":{"position":[[64,2]]},"56":{"position":[[296,2]]},"58":{"position":[[191,5]]},"60":{"position":[[305,5]]},"62":{"position":[[191,5]]},"64":{"position":[[305,5]]}}}],["20",{"_index":567,"t":{"52":{"position":[[356,4]]}}}],["3",{"_index":668,"t":{"75":{"position":[[37,1]]}}}],["40",{"_index":568,"t":{"52":{"position":[[361,4]]}}}],["456",{"_index":709,"t":{"77":{"position":[[334,4]]}}}],["5",{"_index":12,"t":{"4":{"position":[[39,1]]},"54":{"position":[[62,1]]},"56":{"position":[[294,1]]},"58":{"position":[[175,2]]},"60":{"position":[[289,2]]},"62":{"position":[[175,2]]},"64":{"position":[[289,2]]}}}],["5s",{"_index":566,"t":{"52":{"position":[[347,3],[396,2]]}}}],["60",{"_index":569,"t":{"52":{"position":[[366,4],[371,4]]}}}],["64",{"_index":735,"t":{"85":{"position":[[38,3],[54,3]]}}}],["7b%22tag%22%3a%22ftl%22%7d",{"_index":732,"t":{"83":{"position":[[124,27]]}}}],["8",{"_index":520,"t":{"50":{"position":[[3661,2],[5736,2]]}}}],["_",{"_index":486,"t":{"50":{"position":[[1561,1]]}}}],["_test",{"_index":824,"t":{"105":{"position":[[264,5]]}}}],["abov",{"_index":24,"t":{"8":{"position":[[24,6]]},"46":{"position":[[1531,5],[2888,5]]},"73":{"position":[[749,5]]},"77":{"position":[[148,6]]}}}],["access",{"_index":310,"t":{"40":{"position":[[560,6]]},"100":{"position":[[192,6],[368,6],[437,6],[483,6]]},"105":{"position":[[19,6],[412,6]]},"120":{"position":[[33,10]]}}}],["account",{"_index":826,"t":{"105":{"position":[[296,8]]}}}],["accounts_test",{"_index":827,"t":{"105":{"position":[[313,13]]}}}],["actual",{"_index":360,"t":{"42":{"position":[[67,6]]},"46":{"position":[[1829,6]]},"77":{"position":[[96,6]]}}}],["ad",{"_index":36,"t":{"10":{"position":[[102,5]]},"23":{"position":[[311,6]]},"30":{"position":[[1262,5]]},"38":{"position":[[89,6]]},"40":{"position":[[2124,6],[3046,6]]},"100":{"position":[[271,6]]}}}],["add",{"_index":171,"t":{"23":{"position":[[277,3]]},"38":{"position":[[837,3],[1473,3]]},"50":{"position":[[2796,3],[3547,3],[4911,3],[5622,3]]},"116":{"position":[[96,3],[653,3],[1151,3]]}}}],["adjac",{"_index":242,"t":{"30":{"position":[[1285,8]]}}}],["afterward",{"_index":465,"t":{"50":{"position":[[647,11]]}}}],["ag",{"_index":762,"t":{"89":{"position":[[151,3],[202,4],[280,4],[316,4],[352,4]]}}}],["alia",{"_index":394,"t":{"46":{"position":[[718,5],[929,5],[1619,5],[2252,5],[2976,5],[3531,5]]},"97":{"position":[[7,5]]}}}],["alias",{"_index":133,"t":{"18":{"position":[[147,7]]},"97":{"position":[[190,7],[390,7]]}}}],["alic",{"_index":204,"t":{"30":{"position":[[81,5],[131,5],[174,5],[590,5],[664,5],[892,5],[966,5],[1135,5]]},"38":{"position":[[72,5]]}}}],["alice.echo",{"_index":261,"t":{"38":{"position":[[31,10]]}}}],["alice.echocli",{"_index":263,"t":{"38":{"position":[[113,17],[305,17]]}}}],["alice.echorequest",{"_index":273,"t":{"38":{"position":[[363,23]]}}}],["alice/src/main/java/ftl/alice/alice.java",{"_index":237,"t":{"30":{"position":[[1003,41]]}}}],["alice/src/main/kotlin/ftl/alice/alice.kt",{"_index":230,"t":{"30":{"position":[[701,41]]}}}],["allow",{"_index":251,"t":{"34":{"position":[[23,6]]},"48":{"position":[[677,6]]},"50":{"position":[[413,5],[666,5],[761,8]]},"52":{"position":[[18,5]]},"107":{"position":[[225,5]]},"111":{"position":[[1116,7]]}}}],["alreadi",{"_index":474,"t":{"50":{"position":[[1008,7]]},"120":{"position":[[275,7]]}}}],["altern",{"_index":170,"t":{"23":{"position":[[255,13]]},"32":{"position":[[87,13]]},"97":{"position":[[19,9]]}}}],["alway",{"_index":423,"t":{"46":{"position":[[1778,6]]},"50":{"position":[[471,6]]}}}],["amount",{"_index":470,"t":{"50":{"position":[[883,6]]}}}],["anim",{"_index":777,"t":{"93":{"position":[[188,6],[207,8],[248,8],[290,8],[440,6],[473,6],[506,6]]}}}],["annot",{"_index":341,"t":{"40":{"position":[[1606,11],[1623,11],[2528,11],[2545,11]]},"50":{"position":[[3977,11],[6076,11]]},"73":{"position":[[6,9]]},"114":{"position":[[91,9],[429,9],[455,10],[687,9],[712,11]]},"120":{"position":[[783,10],[902,10],[1044,11]]},"122":{"position":[[38,11]]}}}],["anoth",{"_index":260,"t":{"38":{"position":[[7,7]]},"50":{"position":[[4085,7],[4413,7],[6184,7],[6547,7]]},"71":{"position":[[224,7]]}}}],["anyserializedtyp",{"_index":434,"t":{"46":{"position":[[2686,17]]}}}],["api",{"_index":624,"t":{"71":{"position":[[119,3]]}}}],["api.call(apikey",{"_index":620,"t":{"69":{"position":[[953,21],[1243,18]]}}}],["api.cli",{"_index":632,"t":{"71":{"position":[[344,13]]}}}],["api.newclient(cr",{"_index":633,"t":{"71":{"position":[[374,20]]}}}],["apikey",{"_index":614,"t":{"69":{"position":[[229,6],[625,6],[632,7],[891,7],[1196,7]]}}}],["apikey.get(ctx",{"_index":618,"t":{"69":{"position":[[663,15]]}}}],["apitoken",{"_index":612,"t":{"69":{"position":[[174,8],[401,8],[418,10]]}}}],["apiurl",{"_index":597,"t":{"67":{"position":[[205,6],[435,6],[450,8]]}}}],["appear",{"_index":444,"t":{"48":{"position":[[550,6]]}}}],["append",{"_index":823,"t":{"105":{"position":[[256,7]]}}}],["append(item",{"_index":337,"t":{"40":{"position":[[1393,13]]}}}],["appli",{"_index":373,"t":{"42":{"position":[[429,7]]}}}],["application/json",{"_index":725,"t":{"81":{"position":[[547,17]]}}}],["appropri",{"_index":345,"t":{"40":{"position":[[1774,11],[2696,11]]},"75":{"position":[[1242,11]]}}}],["approxim",{"_index":775,"t":{"93":{"position":[[124,12],[369,12]]}}}],["aren't",{"_index":623,"t":{"71":{"position":[[39,6]]},"93":{"position":[[71,6],[312,6]]}}}],["argument",{"_index":497,"t":{"50":{"position":[[1990,10]]}}}],["around",{"_index":703,"t":{"77":{"position":[[85,6]]}}}],["array",{"_index":737,"t":{"85":{"position":[[86,7],[154,7]]}}}],["arrayquarku",{"_index":348,"t":{"40":{"position":[[1888,19],[1994,19],[2209,19],[2313,19],[2810,19],[2916,19],[3131,19],[3235,19]]}}}],["associ",{"_index":457,"t":{"50":{"position":[[241,10]]}}}],["assum",{"_index":698,"t":{"75":{"position":[[1205,7]]}}}],["asynchron",{"_index":862,"t":{"111":{"position":[[373,12]]}}}],["attempts=10",{"_index":556,"t":{"52":{"position":[[198,15]]}}}],["automat",{"_index":35,"t":{"10":{"position":[[85,13]]},"12":{"position":[[432,13]]},"40":{"position":[[74,9]]},"42":{"position":[[25,13],[303,13],[384,13]]},"44":{"position":[[25,13],[648,13]]},"73":{"position":[[1330,13]]},"85":{"position":[[423,13]]},"109":{"position":[[167,13]]},"120":{"position":[[235,13]]}}}],["avail",{"_index":638,"t":{"73":{"position":[[123,9],[246,9]]},"100":{"position":[[250,9]]},"116":{"position":[[538,9]]}}}],["aw",{"_index":367,"t":{"42":{"position":[[243,3],[458,3]]}}}],["b",{"_index":713,"t":{"81":{"position":[[122,1],[138,3]]}}}],["back",{"_index":361,"t":{"42":{"position":[[74,7]]},"52":{"position":[[93,4]]}}}],["backoff",{"_index":558,"t":{"52":{"position":[[219,8]]}}}],["backoff=1hr",{"_index":560,"t":{"52":{"position":[[234,13]]}}}],["base",{"_index":201,"t":{"28":{"position":[[314,5]]},"30":{"position":[[633,5],[935,5]]},"38":{"position":[[699,5],[1335,5]]},"42":{"position":[[220,5]]},"75":{"position":[[1260,5]]}}}],["basic",{"_index":130,"t":{"18":{"position":[[36,5]]}}}],["becom",{"_index":601,"t":{"67":{"position":[[442,7]]},"69":{"position":[[410,7]]},"105":{"position":[[305,7]]}}}],["begin",{"_index":464,"t":{"50":{"position":[[591,9]]}}}],["behavior",{"_index":844,"t":{"109":{"position":[[294,9]]}}}],["behaviour",{"_index":873,"t":{"111":{"position":[[1049,10]]}}}],["belong",{"_index":894,"t":{"116":{"position":[[359,7],[943,7],[1455,7]]}}}],["below",{"_index":313,"t":{"40":{"position":[[644,6]]}}}],["between",{"_index":287,"t":{"38":{"position":[[805,7],[1441,7]]}}}],["bin",{"_index":196,"t":{"28":{"position":[[186,4]]}}}],["bin/hermit.hcl",{"_index":173,"t":{"23":{"position":[[361,14]]}}}],["binari",{"_index":180,"t":{"23":{"position":[[495,8]]}}}],["bit",{"_index":282,"t":{"38":{"position":[[722,3],[1358,3]]},"85":{"position":[[42,5],[58,5]]}}}],["block/ftl",{"_index":165,"t":{"23":{"position":[[134,9]]}}}],["blue",{"_index":788,"t":{"95":{"position":[[158,4],[172,6]]}}}],["blue(\"blu",{"_index":791,"t":{"95":{"position":[[279,13],[352,13]]}}}],["bodi",{"_index":669,"t":{"75":{"position":[[60,5],[735,5],[1022,4],[1053,4],[1163,5]]}}}],["bool",{"_index":738,"t":{"85":{"position":[[94,5]]},"87":{"position":[[143,4],[148,4],[283,4],[492,4]]}}}],["boolean",{"_index":681,"t":{"75":{"position":[[395,7]]},"87":{"position":[[288,7],[497,7],[505,7]]}}}],["both",{"_index":363,"t":{"42":{"position":[[149,4]]}}}],["brew",{"_index":163,"t":{"23":{"position":[[125,4],[147,4]]}}}],["browser",{"_index":257,"t":{"34":{"position":[[100,7]]}}}],["build",{"_index":64,"t":{"12":{"position":[[242,6]]},"32":{"position":[[174,5]]},"116":{"position":[[410,5]]}}}],["builtin.catchrequestio.quarkus. { override fun encode(`object`: OtherType): JsonNode { return TextNode.valueOf(`object`.value) } override fun decode(serialized: JsonNode): OtherType { if (serialized.isTextual) { return OtherType(serialized.textValue()) } throw RuntimeException(\"Expected a textual value\") } } In the example above the external type is widened to Any in the FTL schema, and the corresponding type alias will include metadata for the runtime-specific type mapping: typealias FtlType Any +typemap java \"foo.bar.OtherType\" Note that for JVM languages java is always used as the runtime name, regardless of the actual language used. It is also possible to map to any other valid FTL type (e.g. String) by using this as the second type parameter: @TypeAlias(name = \"OtherType\") class OtherTypeTypeMapper : TypeAliasMapper { override fun encode(other: OtherType): JsonNode { return other.value } override fun decode(serialized: String): OtherType { return OtherType(serialized.textValue()) } } The corresponding type alias will be to a String, which makes the schema more useful: typealias FtlType String +typemap kotlin \"foo.bar.OtherType\" To use an external type in your FTL module schema, implement a TypeAliasMapper: @TypeAlias(name = \"OtherType\") public class OtherTypeTypeMapper implements TypeAliasMapper { @Override public JsonNode encode(OtherType object) { return TextNode.valueOf(object.getValue()); } @Override public AnySerializedType decode(OtherType serialized) { if (serialized.isTextual()) { return new OtherType(serialized.textValue()); } throw new RuntimeException(\"Expected a textual value\"); } } In the example above the external type is widened to Any in the FTL schema, and the corresponding type alias will include metadata for the runtime-specific type mapping: typealias FtlType Any +typemap java \"foo.bar.OtherType\" It is also possible to map to any other valid FTL type (e.g. String) by using this as the second type parameter: @TypeAlias(name = \"OtherType\") public class OtherTypeTypeMapper implements TypeAliasMapper { @Override public String encode(OtherType object) { return object.getValue(); } @Override public String decode(OtherType serialized) { return new OtherType(serialized.textValue()); } } The corresponding type alias will be to a String, which makes the schema more useful: typealias FtlType String +typemap java \"com.external.other.OtherType\"","s":"External Types","u":"/ftl/docs/reference/externaltypes","h":"","p":37},{"i":40,"t":"FTL also provides the capability to declare type mappings for other runtimes. Here's how to do it in each language: Go Kotlin Java //ftl:typealias //ftl:typemap java \"com.external.other.OtherType\" type FtlType external.OtherType @TypeAlias( name = \"OtherType\", languageTypeMappings = [LanguageTypeMapping(language = \"go\", type = \"github.com/external.OtherType\")] ) @TypeAlias(name = \"OtherType\", languageTypeMappings = { @LanguageTypeMapping(language = \"go\", type = \"github.com/external.OtherType\"), }) In the FTL schema, cross-runtime mappings will appear as: typealias FtlType Any +typemap go \"github.com/external.OtherType\" +typemap java \"com.external.other.OtherType\" This allows FTL to decode the type properly in other languages, for seamless interoperability across different runtimes.","s":"Cross-Runtime Type Mappings","u":"/ftl/docs/reference/externaltypes","h":"#cross-runtime-type-mappings","p":37},{"i":42,"t":"FTL has support for Postgresql and MySQL databases, including support for automatic provisioning and migrations. The process for declaring a database differs by language. Go Kotlin Java To use a database in go you must create a struct that implements either the ftl.MySQLDatabaseConfig or ftl.PostgresDatabaseConfig interface. Generally this will involve creating a struct that embeds the ftl.DefaultMySQLDatabaseConfig or ftl.DefaultPostgresDatabaseConfig struct and then implementing the Name() string method. You can then use the ftl.DatabaseHandle type to access the database by injecting it into an FTL verb. An example for MySQL is shown below: package mysql import ( \"context\" \"database/sql\" \"github.com/block/ftl/go-runtime/ftl\" // Import the FTL SDK. ) type TestDatasourceConfig struct { ftl.DefaultMySQLDatabaseConfig } func (TestDatasourceConfig) Name() string { return \"testdb\" } //ftl:verb export func Query(ctx context.Context, db ftl.DatabaseHandle[TestDatasourceConfig]) ([]string, error) { var database *sql.DB = db.Get(ctx) // Get the database connection. // The following code is standard golang SQL code, it has nothing FTL specific. rows, err := database.QueryContext(ctx, \"SELECT data FROM requests\") if err != nil { return nil, err } defer rows.Close() var items []string for rows.Next() { var i string if err := rows.Scan( &i, ); err != nil { return nil, err } items = append(items, i) } if err := rows.Close(); err != nil { return nil, err } if err := rows.Err(); err != nil { return nil, err } return items, nil } To declare a datasource in Kotlin you must use the @SQLDatasource annotation. This annotations is used to define the database name and type. @SQLDatasource(name = \"testdb\", type = SQLDatabaseType.POSTGRESQL) You must also include the appropriate depdencies in your pom.xml for the database you are using: io.quarkus quarkus-jdbc-postgresql io.quarkus quarkus-jdbc-mysql You can also use Hibernate directly or using Panache. This will require adding one of the following dependencies: io.quarkus quarkus-hibernate-orm io.quarkus quarkus-hibernate-orm-panache Note that this will likely change significantly in future once FTL has SQL Verbs. To declare a datasource in Java you must use the @SQLDatasource annotation. This annotations is used to define the database name and type. @SQLDatasource(name = \"testdb\", type = SQLDatabaseType.POSTGRESQL) You must also include the appropriate depdencies in your pom.xml for the database you are using: io.quarkus quarkus-jdbc-postgresql io.quarkus quarkus-jdbc-mysql You can also use Hibernate directly or using Panache. This will require adding one of the following dependencies: io.quarkus quarkus-hibernate-orm io.quarkus quarkus-hibernate-orm-panache Note that this will likely change significantly in future once FTL has SQL Verbs.","s":"Databases","u":"/ftl/docs/reference/databases","h":"","p":41},{"i":44,"t":"FTL includes support for automatically provisioning databases. The actual backing implementation is extensible, and presently we include support for both local development provisioning using docker, and cloud formations based provisioning for AWS deployments. When using ftl dev a docker container will automatically be spun up for each datasource that has been defined, and FTL will automatically handle configuration. The same applies when deploying to an AWS cluster with cloud formations provisioning setup.","s":"Provisioning","u":"/ftl/docs/reference/databases","h":"#provisioning","p":41},{"i":46,"t":"FTL includes support for automatically running migrations on databases. This is provided by dbmate. To create migrations you can use the ftl new-sql-migration command. This will create new migration files, and initialize the required directory structure if it does not exist. The format of the command is ftl new-sql-migration . . The module name can be omitted if the current working directory only contains a single module. E.g. to create a new migration called init for the testdb datasource in the mysql module you would run ftl new-sql-migration mysql.testdb init. When the modules are provisioned FTL will automatically run these migrations for you.","s":"Migrations","u":"/ftl/docs/reference/databases","h":"#migrations","p":41},{"i":48,"t":"System Feature Go Kotlin Java Types Basic Types ✔️ ✔️ ✔️ Optional Type ✔️ ✔️ ✔️ Unit Type ✔️ ✔️ ✔️ Empty Type ✔️ ✔️ ✔️ Generic Types ✔️ ✔️ ✔️ Type Aliases ✔️ ✔️ ✔️ Value Enums ✔️ ✔️ ✔️ Type Enums ✔️ ✔️ ✔️ Visibility ✔️ ✔️ ✔️ Verbs Verb ✔️ ✔️ ✔️ Sink ✔️ ✔️ ✔️ Source ✔️ ✔️ ✔️ Empty ✔️ ✔️ ✔️ Visibility ✔️ ✔️ ✔️ Core Leases ✔️ ✔️ ✔️ Cron ✔️ ✔️ ✔️ Config ✔️ ✔️ ✔️ Secrets ✔️ ✔️ ✔️ HTTP Ingress ✔️ ✔️ ✔️ Resources PostgreSQL ✔️ ✔️ ✔️ MySQL ✔️ ✔️ ✔️ Kafka ✔️ ✔️ ✔️ PubSub Declaring Topic ✔️ ✔️ ✔️ Subscribing ✔️ ✔️ ✔️ Publishing ✔️ ✔️ ✔️","s":"Feature Matrix","u":"/ftl/docs/reference/matrix","h":"","p":47},{"i":50,"t":"Verbs annotated with ftl:ingress will be exposed via HTTP (http is the default ingress type). These endpoints will then be available on one of our default ingress ports (local development defaults to http://localhost:8891). The following will be available at http://localhost:8891/http/users/123/posts?postId=456. type GetRequestPathParams struct { UserID string `json:\"userId\"` } type GetRequestQueryParams struct { PostID string `json:\"postId\"` } type GetResponse struct { Message string `json:\"msg\"` } //ftl:ingress GET /http/users/{userId}/posts func Get(ctx context.Context, req builtin.HttpRequest[ftl.Unit, GetRequestPathParams, GetRequestQueryParams]) (builtin.HttpResponse[GetResponse, ErrorResponse], error) { // ... } Because the example above only has a single path parameter it can be simplified by just using a scalar such as string or int64 as the path parameter type: //ftl:ingress GET /http/users/{userId}/posts func Get(ctx context.Context, req builtin.HttpRequest[ftl.Unit, int64, GetRequestQueryParams]) (builtin.HttpResponse[GetResponse, ErrorResponse], error) { // ... } info The req and resp types of HTTP ingress verbs must be builtin.HttpRequest and builtin.HttpResponse respectively. These types provide the necessary fields for HTTP ingress (headers, statusCode, etc.) Key points: ingress verbs will be automatically exported by default.","s":"HTTP Ingress","u":"/ftl/docs/reference/ingress","h":"","p":49},{"i":52,"t":"The HttpRequest request object takes 3 type parameters, the body, the path parameters and the query parameters. Given the following request verb: type PostBody struct{ Title string `json:\"title\"` Content string `json:\"content\"` Tag ftl.Option[string] `json:\"tag\"` } type PostPathParams struct { UserID string `json:\"userId\"` PostID string `json:\"postId\"` } type PostQueryParams struct { Publish boolean `json:\"publish\"` } //ftl:ingress http PUT /users/{userId}/posts/{postId} func Get(ctx context.Context, req builtin.HttpRequest[PostBody, PostPathParams, PostQueryParams]) (builtin.HttpResponse[GetResponse, string], error) { return builtin.HttpResponse[GetResponse, string]{ Headers: map[string][]string{\"Get\": {\"Header from FTL\"}}, Body: ftl.Some(GetResponse{ Message: fmt.Sprintf(\"UserID: %s, PostID: %s, Tag: %s\", req.pathParameters.UserID, req.pathParameters.PostID, req.Body.Tag.Default(\"none\")), }), }, nil } The rules for how each element is mapped are slightly different, as they have a different structure: The body is mapped directly to the body of the request, generally as a JSON object. Scalars are also supported, as well as []byte to get the raw body. If they type is any then it will be assumed to be JSON and mapped to the appropriate types based on the JSON structure. The path parameters can be mapped directly to an object with field names corresponding to the name of the path parameter. If there is only a single path parameter it can be injected directly as a scalar. They can also be injected as a map[string]string. The path parameters can also be mapped directly to an object with field names corresponding to the name of the path parameter. They can also be injected directly as a map[string]string, or map[string][]string for multiple values.","s":"Field mapping","u":"/ftl/docs/reference/ingress","h":"#field-mapping","p":49},{"i":54,"t":"Optional fields are represented by the ftl.Option type. The Option type is a wrapper around the actual type and can be Some or None. In the example above, the Tag field is optional. curl -i http://localhost:8891/users/123/posts/456 Because the tag query parameter is not provided, the response will be: { \"msg\": \"UserID: 123, PostID: 456, Tag: none\" }","s":"Optional fields","u":"/ftl/docs/reference/ingress","h":"#optional-fields","p":49},{"i":56,"t":"Field names use lowerCamelCase by default. You can override this by using the json tag.","s":"Casing","u":"/ftl/docs/reference/ingress","h":"#casing","p":49},{"i":58,"t":"Given the following request verb: //ftl:enum export type SumType interface { tag() } type A string func (A) tag() {} type B []string func (B) tag() {} //ftl:ingress http POST /typeenum func TypeEnum(ctx context.Context, req builtin.HttpRequest[SumType, ftl.Unit, ftl.Unit]) (builtin.HttpResponse[SumType, string], error) { return builtin.HttpResponse[SumType, string]{Body: ftl.Some(req.Body)}, nil } The following curl request will map the SumType name and value to the req.Body: curl -X POST \"http://localhost:8891/typeenum\" \\ -H \"Content-Type: application/json\" \\ --data '{\"name\": \"A\", \"value\": \"sample\"}' The response will be: { \"name\": \"A\", \"value\": \"sample\" }","s":"SumTypes","u":"/ftl/docs/reference/ingress","h":"#sumtypes","p":49},{"i":60,"t":"Complex query params can also be encoded as JSON using the @json query parameter. For example: {\"tag\":\"ftl\"} url-encoded is %7B%22tag%22%3A%22ftl%22%7D curl -i http://localhost:8891/users/123/posts/456?@json=%7B%22tag%22%3A%22ftl%22%7D","s":"Encoding query params as JSON","u":"/ftl/docs/reference/ingress","h":"#encoding-query-params-as-json","p":49},{"i":63,"t":"Configuration values are named, typed values. They are managed by the ftl config command-line. Go Kotlin Java To declare a configuration value use the following syntax: // Simple string configuration type ApiUrl = ftl.Config[string] // Type-safe configuration type DefaultUser = ftl.Config[Username] Note that the name of the configuration value as represented in the FTL schema is the lower camel case version of the type name (e.g., ApiUrl becomes apiUrl). Configuration values can be injected into FTL methods, such as //ftl:verb, HTTP ingress, Cron etc. To inject a configuration value, use the following syntax: //ftl:verb func Hello(ctx context.Context, req Request, defaultUser DefaultUser) error { username := defaultUser.Get(ctx) // ... } Configuration values can be injected into FTL methods, such as @Verb, HTTP ingress, Cron etc. To inject a configuration value, use the following syntax: @Export @Verb fun hello(helloRequest: HelloRequest, @Config(\"defaultUser\") defaultUser: String): HelloResponse { return HelloResponse(\"Hello, $defaultUser\") } Configuration values can be injected into FTL methods, such as @Verb, HTTP ingress, Cron etc. To inject a configuration value, use the following syntax: @Export @Verb HelloResponse hello(HelloRequest helloRequest, @Config(\"defaultUser\") String defaultUser) { return new HelloResponse(\"Hello, \" + defaultUser); }","s":"Configuration","u":"/ftl/docs/reference/secretsconfig","h":"#configuration","p":61},{"i":65,"t":"Secrets are encrypted, named, typed values. They are managed by the ftl secret command-line. Go Kotlin Java Declare a secret with the following: // Simple string secret type ApiToken = ftl.Secret[string] // Type-safe secret type ApiKey = ftl.Secret[Credentials] Like configuration values, the name of the secret as represented in the FTL schema is the lower camel case version of the type name (e.g., ApiToken becomes apiToken). Secrets can be injected into FTL methods, such as //ftl:verb, HTTP ingress, Cron etc. To inject a secret value, use the following syntax: //ftl:verb func CallApi(ctx context.Context, req Request, apiKey ApiKey) error { credentials := apiKey.Get(ctx) // ... } Secrets can be injected into FTL methods, such as @Verb, HTTP ingress, Cron etc. To inject a secret value, use the following syntax: @Export @Verb fun hello(helloRequest: HelloRequest, @Secret(\"apiKey\") apiKey: String): HelloResponse { return HelloResponse(\"Hello, ${api.call(apiKey)}\") } Secrets can be injected into FTL methods, such as @Verb, HTTP ingress, Cron etc. To inject a secret value, use the following syntax: @Export @Verb HelloResponse hello(HelloRequest helloRequest, @Secret(\"apiKey\") String apiKey) { return new HelloResponse(\"Hello, \" + api.call(apiKey)); }","s":"Secrets","u":"/ftl/docs/reference/secretsconfig","h":"#secrets","p":61},{"i":67,"t":"Often, raw secret/configuration values aren't directly useful. For example, raw credentials might be used to create an API client. For those situations ftl.Map() can be used to transform a configuration or secret value into another type: var client = ftl.Map(ftl.Secret[Credentials](\"credentials\"), func(ctx context.Context, creds Credentials) (*api.Client, error) { return api.NewClient(creds) }) This is not currently supported in Kotlin or Java.","s":"Transforming secrets/configuration","u":"/ftl/docs/reference/secretsconfig","h":"#transforming-secretsconfiguration","p":61},{"i":69,"t":"FTL has first-class support for PubSub, modelled on the concepts of topics (where events are sent) and subscribers (a verb which consumes events). Subscribers are, as you would expect, sinks. Each subscriber is a cursor over the topic it is associated with. Each topic may have multiple subscriptions. Each published event has an at least once delivery guarantee for each subscription. A topic can be exported to allow other modules to subscribe to it. Subscriptions are always private to their module. When a subscription is first created in an environment, it can start consuming from the beginning of the topic or only consume events published afterwards. Topics allow configuring the number of partitions and how each event should be mapped to a partition, allowing for greater throughput. Subscriptions will consume in order within each partition. There are cases where a small amount of progress on a subscription will be lost, so subscriptions should be able to handle receiving some events that have already been consumed. Go Kotlin Java First, declare a new topic: package payments import ( \"github.com/block/ftl/go-runtime/ftl\" ) // Define an event type type Invoice struct { InvoiceNo string } //ftl:topic partitions=1 type Invoices = ftl.TopicHandle[Invoice, ftl.SinglePartitionMap[Invoice]] If you want multiple partitions in the topic, you'll also need to write a partition mapper: package payments import ( \"github.com/block/ftl/go-runtime/ftl\" ) // Define an event type type Invoice struct { InvoiceNo string } type PartitionMapper struct{} var _ ftl.TopicPartitionMap[PubSubEvent] = PartitionMapper{} func (PartitionMapper) PartitionKey(event PubSubEvent) string { return event.Time.String() } //ftl:topic partitions=10 type Invoices = ftl.TopicHandle[Invoice, PartitionMapper] Note that the name of the topic as represented in the FTL schema is the lower camel case version of the type name. The Invoices type is a handle to the topic. It is a generic type that takes two arguments: the event type and the partition map type. The partition map type is used to map events to partitions. Then define a Sink to consume from the topic: // Configure initial event consumption with either from=beginning or from=latest // //ftl:subscribe payments.invoices from=beginning func SendInvoiceEmail(ctx context.Context, in Invoice) error { // ... } Events can be published to a topic by injecting the topic type into a verb: //ftl:verb func PublishInvoice(ctx context.Context, topic Invoices) error { topic.Publish(ctx, Invoice{...}) // ... } First, declare a new topic: import xyz.block.ftl.Export; import xyz.block.ftl.SinglePartitionMapper import xyz.block.ftl.Topic import xyz.block.ftl.WriteableTopic // Define the event type for the topic data class Invoice(val invoiceNo: String) // Add @Export if you want other modules to be able to consum from this topic @Topic(name = \"invoices\", partitions = 1) internal interface InvoicesTopic : WriteableTopic If you want multiple partitions in the topic, you'll also need to write a partition mapper: import xyz.block.ftl.Export; import xyz.block.ftl.SinglePartitionMapper import xyz.block.ftl.Topic import xyz.block.ftl.TopicPartitionMapper import xyz.block.ftl.WriteableTopic // Define the event type for the topic data class Invoice(val invoiceNo: String) // PartitionMapper maps each to a partition in the topic class PartitionMapper : TopicPartitionMapper { override fun getPartitionKey(invoice: Invoice): String { return invoice.invoiceNo } } // Add @Export if you want other modules to be able to consum from this topic @Topic(name = \"invoices\", partitions = 8) internal interface InvoicesTopic : WriteableTopic Events can be published to a topic by injecting it into an @Verb method: @Verb fun publishInvoice(request: InvoiceRequest, topic: InvoicesTopic) { topic.publish(Invoice(request.invoiceNo)) } To subscribe to a topic use the @Subscription annotation, referencing the topic class and providing a method to consume the event: // if subscribing from another module, import the event and topic import ftl.publisher.Invoice import ftl.publisher.InvoicesTopic import xyz.block.ftl.FromOffset import xyz.block.ftl.Subscription @Subscription(topic = InvoicesTopic::class, from = FromOffset.LATEST) fun consumeInvoice(event: Invoice) { // ... } If you are subscribing to a topic from another module, FTL will generate a topic class for you so you can subscribe to it. This generated topic cannot be published to, only subscribed to: @Topic(name=\"invoices\", module=\"publisher\") internal interface InvoicesTopic : ConsumableTopic First, declare a new topic: import xyz.block.ftl.Export; import xyz.block.ftl.SinglePartitionMapper; import xyz.block.ftl.Topic; import xyz.block.ftl.WriteableTopic; // Define the event type for the topic record Invoice(String invoiceNo) { } // Add @Export if you want other modules to be able to consum from this topic @Topic(name = \"invoices\", partitions = 1) interface InvoicesTopic extends WriteableTopic { } If you want multiple partitions in the topic, you'll also need to write a partition mapper: import xyz.block.ftl.Export; import xyz.block.ftl.Topic; import xyz.block.ftl.TopicPartitionMapper; import xyz.block.ftl.WriteableTopic; // Define the event type for the topic record Invoice(String invoiceNo) { } // PartitionMapper maps each to a partition in the topic class PartitionMapper implements TopicPartitionMapper { public String getPartitionKey(Invoice invoice) { return invoice.invoiceNo(); } } // Add @Export if you want other modules to be able to consum from this topic @Topic(name = \"invoices\", partitions = 8) interface InvoicesTopic extends WriteableTopic { } Events can be published to a topic by injecting it into an @Verb method: @Verb void publishInvoice(InvoiceRequest request, InvoicesTopic topic) throws Exception { topic.publish(new Invoice(request.invoiceNo())); } To subscribe to a topic use the @Subscription annotation, referencing the topic class and providing a method to consume the event: // if subscribing from another module, import the event and topic import ftl.othermodule.Invoice; import ftl.othermodule.InvoicesTopic; import xyz.block.ftl.FromOffset; import xyz.block.ftl.Subscription; class Subscriber { @Subscription(topic = InvoicesTopic.class, from = FromOffset.LATEST) public void consumeInvoice(Invoice event) { // ... } } If you are subscribing to a topic from another module, FTL will generate a topic class for you so you can subscribe to it. This generated topic cannot be published to, only subscribed to: @Topic(name=\"invoices\", module=\"publisher\") interface InvoicesTopic extends ConsumableTopic {}","s":"PubSub","u":"/ftl/docs/reference/pubsub","h":"","p":68},{"i":71,"t":"Some FTL features allow specifying a retry policy via a language-specific directive. Retries back off exponentially until the maximum is reached. The directive has the following syntax: //ftl:retry [] [] [catch ] For example, the following function will retry up to 10 times, with a delay of 5s, 10s, 20s, 40s, 60s, 60s, etc. //ftl:retry 10 5s 1m func Process(ctx context.Context, in Invoice) error { // ... }","s":"Retries","u":"/ftl/docs/reference/retries","h":"","p":70},{"i":73,"t":"Subscribers can have a retry policy. For example: //ftl:retry 5 1s catch recoverPaymentProcessing func ProcessPayment(ctx context.Context, payment Payment) error { ... }","s":"PubSub Subscribers","u":"/ftl/docs/reference/retries","h":"#pubsub-subscribers","p":70},{"i":75,"t":"After all retries have failed, a catch verb can be used to safely recover. These catch verbs have a request type of builtin.CatchRequest and no response type. If a catch verb returns an error, it will be retried until it succeeds so it is important to handle errors carefully. //ftl:retry 5 1s catch recoverPaymentProcessing func ProcessPayment(ctx context.Context, payment Payment) error { ... } //ftl:verb func RecoverPaymentProcessing(ctx context.Context, request builtin.CatchRequest[Payment]) error { // safely handle final failure of the payment }","s":"Catching","u":"/ftl/docs/reference/retries","h":"#catching","p":70},{"i":77,"t":"Subscribers can have a retry policy. For example: @Subscription(topic = \"example\", name = \"exampleSubscription\") @SubscriptionOptions(from = FromOffset.LATEST) @Retry(count = 5, minBackoff = \"1s\", catchVerb = \"recoverPaymentProcessing\") fun processPayment(payment: Payment) { // ... }","s":"PubSub Subscribers","u":"/ftl/docs/reference/retries","h":"#pubsub-subscribers-1","p":70},{"i":79,"t":"After all retries have failed, a catch verb can be used to safely recover. These catch verbs have a request type of CatchRequest and no response type. If a catch verb returns an error, it will be retried until it succeeds so it is important to handle errors carefully. @Retry(count = 5, minBackoff = \"1s\", catchVerb = \"recoverPaymentProcessing\") fun processPayment(payment: Payment) { // ... } @Verb fun recoverPaymentProcessing(req: CatchRequest) { // safely handle final failure of the payment }","s":"Catching","u":"/ftl/docs/reference/retries","h":"#catching-1","p":70},{"i":81,"t":"Subscribers can have a retry policy. For example: @Subscription(topic = \"example\", name = \"exampleSubscription\") @SubscriptionOptions(from = FromOffset.LATEST) @Retry(count = 5, minBackoff = \"1s\", catchVerb = \"recoverPaymentProcessing\") public void processPayment(Payment payment) { // ... }","s":"PubSub Subscribers","u":"/ftl/docs/reference/retries","h":"#pubsub-subscribers-2","p":70},{"i":83,"t":"After all retries have failed, a catch verb can be used to safely recover. These catch verbs have a request type of CatchRequest and no response type. If a catch verb returns an error, it will be retried until it succeeds so it is important to handle errors carefully. @Retry(count = 5, minBackoff = \"1s\", catchVerb = \"recoverPaymentProcessing\") public void processPayment(Payment payment) { // ... } @Verb public void recoverPaymentProcessing(CatchRequest req) { // safely handle final failure of the payment }","s":"Catching","u":"/ftl/docs/reference/retries","h":"#catching-2","p":70},{"i":85,"t":"FTL supports the following types: Int (64-bit), Float (64-bit), String, Bytes (a byte array), Bool, Time, Any (a dynamic type), Unit (similar to \"void\"), arrays, maps, data structures, and constant enumerations. Each FTL type is mapped to a corresponding language-specific type. For example in Go Float is represented as float64, Time is represented by time.Time, and so on. User-defined types referenced by a verb will be automatically exported as FTL types.","s":"Types","u":"/ftl/docs/reference/types","h":"","p":84},{"i":87,"t":"The following table shows how FTL types map to language-specific types: Go Kotlin Java FTL Go Int int Float float64 String string Bytes []byte Bool bool Time time.Time Any External Unit N/A Map map[K]V Array []T FTL Kotlin Int Long Float Double String String Bytes ByteArray Bool Boolean Time ZonedDateTime Any External Unit N/A Map Map Array List FTL Java Java (optional) Int long Long Float double Double String String @Nullable String Bytes []byte @Nullable byte[] Bool boolean Boolean Time ZonedDateTime️ @Nullable ZonedDateTime Any External External Unit void N/A Map Map @Nullable Map Array List @Nullable List","s":"Basic types","u":"/ftl/docs/reference/types","h":"#basic-types","p":84},{"i":89,"t":"FTL supports user-defined data structures, declared using the idiomatic syntax of the target language. Go Kotlin Java type Person struct { Name string Age int } data class Person( val name: String, val age: Int ) public class Person { private final String name; private final int age; public Person(String name, int age) { this.name = name; this.age = age; } }","s":"Data structures","u":"/ftl/docs/reference/types","h":"#data-structures","p":84},{"i":91,"t":"FTL has first-class support for generics, declared using the idiomatic syntax of the target language. Go Kotlin Java type Pair[T, U] struct { First T Second U } data class Pair( val first: T, val second: U ) public class Pair { private final T first; private final U second; public Pair(T first, U second) { this.first = first; this.second = second; } }","s":"Generics","u":"/ftl/docs/reference/types","h":"#generics","p":84},{"i":93,"t":"Sum types are supported by FTL's type system. Go Kotlin Java Sum types aren't directly supported by Go, however they can be approximated with the use of sealed interfaces: //ftl:enum type Animal interface { animal() } type Cat struct {} func (Cat) animal() {} type Dog struct {} func (Dog) animal() {} Sum types aren't directly supported by Kotlin, however they can be approximated with the use of sealed interfaces: @Enum sealed interface Animal @EnumHolder class Cat() : Animal @EnumHolder class Dog() : Animal TODO","s":"Type enums (sum types)","u":"/ftl/docs/reference/types","h":"#type-enums-sum-types","p":84},{"i":95,"t":"A value enum is an enumerated set of string or integer values. Go Kotlin Java //ftl:enum type Colour string const ( Red Colour = \"red\" Green Colour = \"green\" Blue Colour = \"blue\" ) @Enum public enum class Colour( public final val `value`: String, ) { Red(\"red\"), Green(\"green\"), Blue(\"blue\"), ; } @Enum public enum Colour { Red(\"red\"), Green(\"green\"), Blue(\"blue\"); private final String value; Colour(String value) { this.value = value; } }","s":"Value enums","u":"/ftl/docs/reference/types","h":"#value-enums","p":84},{"i":97,"t":"A type alias is an alternate name for an existing type. It can be declared like so: Go Kotlin Java //ftl:typealias type UserID string typealias UserID = String // Java does not support type aliases directly // Use a wrapper class instead public class UserID { private final String value; public UserID(String value) { this.value = value; } public String getValue() { return value; } } Type aliases are useful for making code more readable and type-safe by giving meaningful names to types that represent specific concepts in your domain.","s":"Type aliases","u":"/ftl/docs/reference/types","h":"#type-aliases","p":84},{"i":100,"t":"When writing a unit test, first create a context: func ExampleTest(t *testing.Test) { ctx := ftltest.Context( // options go here ) } FTL will help isolate what you want to test by restricting access to FTL features by default. You can expand what is available to test by adding options to ftltest.Context(...). In this default set up, FTL does the following: prevents access to ftl.ConfigValue and ftl.SecretValue (See options) prevents access to ftl.Database (See options) prevents access to ftl.MapHandle (See options) disables all subscribers (See options)","s":"Create a context","u":"/ftl/docs/reference/unittests","h":"#create-a-context","p":98},{"i":103,"t":"To enable configs and secrets from the default project file: ctx := ftltest.Context( ftltest.WithDefaultProjectFile(), ) Or you can specify a specific project file: ctx := ftltest.Context( ftltest.WithProjectFile(path), ) You can also override specific config and secret values: ctx := ftltest.Context( ftltest.WithDefaultProjectFile(), ftltest.WithConfig(endpoint, \"test\"), ftltest.WithSecret(secret, \"...\"), )","s":"Project files, configs and secrets","u":"/ftl/docs/reference/unittests","h":"#project-files-configs-and-secrets","p":98},{"i":105,"t":"To enable database access in a test, you must first provide a DSN via a project file. You can then set up a test database: ctx := ftltest.Context( ftltest.WithDefaultProjectFile(), ftltest.WithDatabase[MyDBConfig](), ) This will: Take the provided DSN and appends _test to the database name. Eg: accounts becomes accounts_test Wipe all tables in the database so each test run happens on a clean database You can access the database in your test using its handle: db, err := ftltest.GetDatabaseHandle[MyDBConfig]() db.Get(ctx).Exec(...)","s":"Databases","u":"/ftl/docs/reference/unittests","h":"#databases","p":98},{"i":107,"t":"By default, calling Get(ctx) on a map handle will panic. You can inject a fake via a map: ctx := ftltest.Context( ftltest.WhenMap(exampleMap, func(ctx context.Context) (string, error) { return \"Test Value\" }), ) You can also allow the use of all maps: ctx := ftltest.Context( ftltest.WithMapsAllowed(), )","s":"Maps","u":"/ftl/docs/reference/unittests","h":"#maps","p":98},{"i":109,"t":"Use ftltest.Call[Client](...) (or ftltest.CallSource[Client](...), ftltest.CallSink[Client](...), ftltest.CallEmpty[Client](...)) to invoke your verb. At runtime, FTL automatically provides these resources to your verb, and using ftltest.Call(...) rather than direct invocations simulates this behavior. // Call a verb resp, err := ftltest.Call[ExampleVerbClient, Request, Response](ctx, Request{Param: \"Test\"}) You can inject fakes for verbs: ctx := ftltest.Context( ftltest.WhenVerb[ExampleVerbClient](func(ctx context.Context, req Request) (Response, error) { return Response{Result: \"Lorem Ipsum\"}, nil }), ) If there is no request or response parameters, you can use WhenSource(...), WhenSink(...), or WhenEmpty(...). To enable all calls within a module: ctx := ftltest.Context( ftltest.WithCallsAllowedWithinModule(), )","s":"Calls","u":"/ftl/docs/reference/unittests","h":"#calls","p":98},{"i":111,"t":"By default, all subscribers are disabled. To enable a subscriber: ctx := ftltest.Context( ftltest.WithSubscriber(paymentsSubscription, ProcessPayment), ) Or you can inject a fake subscriber: ctx := ftltest.Context( ftltest.WithSubscriber(paymentsSubscription, func (ctx context.Context, in PaymentEvent) error { return fmt.Errorf(\"failed payment: %v\", in) }), ) Due to the asynchronous nature of pubsub, your test should wait for subscriptions to consume the published events: topic.Publish(ctx, Event{Name: \"Test\"}) ftltest.WaitForSubscriptionsToComplete(ctx) // Event will have been consumed by now You can check what events were published to a topic: events := ftltest.EventsForTopic(ctx, topic) You can check what events were consumed by a subscription, and whether a subscriber returned an error: results := ftltest.ResultsForSubscription(ctx, subscription) If all you wanted to check was whether a subscriber returned an error, this function is simpler: errs := ftltest.ErrorsForSubscription(ctx, subscription) PubSub also has these different behaviours while testing: Publishing to topics in other modules is allowed If a subscriber returns an error, no retries will occur regardless of retry policy.","s":"PubSub","u":"/ftl/docs/reference/unittests","h":"#pubsub","p":98},{"i":114,"t":"Go Kotlin Java To declare a Verb, write a normal Go function with the following signature, annotated with the Go comment directive //ftl:verb: //ftl:verb func F(context.Context, In) (Out, error) { } eg. type EchoRequest struct {} type EchoResponse struct {} //ftl:verb func Echo(ctx context.Context, in EchoRequest) (EchoResponse, error) { // ... } To declare a Verb, write a normal Kotlin function with the following signature, annotated with the Kotlin annotation @Verb: @Verb fun F(In): Out { } eg. data class EchoRequest data class EchoResponse @Verb fun echo(request: EchoRequest): EchoResponse { // ... } To declare a Verb, write a normal Java method with the following signature, annotated with the @Verb annotation: @Verb public Output f(Input input) { } eg. import xyz.block.ftl.Verb; class EchoRequest {} class EchoResponse {} public class EchoClass { @Verb public EchoResponse echo(EchoRequest request) { // ... } } By default verbs are only visible to other verbs in the same module (see visibility for more information).","s":"Defining Verbs","u":"/ftl/docs/reference/verbs","h":"#defining-verbs","p":112},{"i":116,"t":"Go Kotlin Java To call a verb, import the module's verb client ({ModuleName}.{VerbName}Client), add it to your verb's signature, then invoke it as a function. eg. //ftl:verb func Echo(ctx context.Context, in EchoRequest, tc time.TimeClient) (EchoResponse, error) { out, err := tc(ctx, TimeRequest{...}) } Verb clients are generated by FTL. If the callee verb belongs to the same module as the caller, you must build the module first (with callee verb defined) in order to generate its client for use by the caller. Local verb clients are available in the generated types.ftl.go file as {VerbName}Client. To call a verb, import the module's verb client, add it to your verb's signature, then call() it. eg. import ftl.time.TimeClient import xyz.block.ftl.Verb @Verb fun echo(req: EchoRequest, time: TimeClient): EchoResponse { val response = time.call() // ... } val response = time.call() Verb clients are generated by FTL. If the callee verb belongs to the same module as the caller, you must manually define your own client: @VerbClient(name=\"time\") interface TimeClient { fun call(): TimeResponse } To call a verb, import the module's verb client, add it to your verb's signature, then call it. eg. import ftl.time.TimeClient; import xyz.block.ftl.Verb; public class EchoClass { @Verb public EchoResponse echo(EchoRequest request, TimeClient time) { TimeResponse response = time.call(); // ... } } Verb clients are generated by FTL. If the callee verb belongs to the same module as the caller, you must manually define your own client: @VerbClient(name=\"time\") public interface TimeClient { TimeResponse call(); }","s":"Calling Verbs","u":"/ftl/docs/reference/verbs","h":"#calling-verbs","p":112},{"i":118,"t":"By default all declarations in FTL are visible only to the module they're declared in. The implicit visibility of types is that of the first verb or other declaration that references it.","s":"Visibility","u":"/ftl/docs/reference/visibility","h":"","p":117},{"i":120,"t":"Exporting a declaration makes it accessible to other modules. Some declarations that are entirely local to a module, such as secrets/config, cannot be exported. Types that are transitively referenced by an exported declaration will be automatically exported unless they were already defined but unexported. In this case, an error will be raised and the type must be explicitly exported. Go Kotlin Java The following table describes the go directives used to export the corresponding declaration: Symbol Export syntax Verb //ftl:verb export Data //ftl:data export Enum/Sum type //ftl:enum export Typealias //ftl:typealias export Topic //ftl:export 1 //ftl:verb export func Verb(ctx context.Context, in In) (Out, error) //ftl:typealias export type UserID string For Kotlin the @Export annotation can be used to export a declaration: @Verb @Export fun time(): TimeResponse { // ... } For Java the @Export annotation can be used to export a declaration: @Verb @Export TimeResponse time() { // ... } Footnotes​ By default, topics do not require any annotations as the declaration itself is sufficient. ↩","s":"Exporting declarations","u":"/ftl/docs/reference/visibility","h":"#exporting-declarations","p":117},{"i":122,"t":"By default, topics do not require any annotations as the declaration itself is sufficient. ↩","s":"Footnotes","u":"/ftl/docs/reference/visibility","h":"#footnote-label","p":117}],"index":{"version":"2.3.9","fields":["t"],"fieldVectors":[["t/2",[0,1.151,1,4.999,2,4.07,3,5.807,4,4.999,5,5.807,6,5.807,7,4.467]],["t/4",[8,5.904,9,5.904,10,4.137,11,5.904,12,3.316,13,5.082]],["t/6",[10,4.07,14,3.488,15,2.73,16,2.73,17,4.467,18,5.807,19,5.807,20,5.807]],["t/8",[21,6.662,22,3.662,23,5.668,24,3.972,25,3.972,26,5.668,27,4.879,28,5.668,29,5.668,30,3.972]],["t/10",[10,4.178,16,2.22,17,3.633,25,3.31,30,3.31,31,2.492,32,0.982,33,6.532,34,5.961,35,2.349,36,2.837,37,2.837,38,3.852,39,4.121,40,4.066,41,3.633,42,4.723,43,4.066,44,0.982,45,4.066,46,4.723,47,4.586,48,4.723,49,3.052,50,4.066,51,4.066,52,3.31]],["t/12",[10,3.065,14,3.409,15,2.056,17,4.365,35,2.175,38,4.071,39,3.409,40,4.885,43,4.885,47,3.364,52,3.065,53,3.977,54,5.675,55,4.885,56,4.885,57,2.826,58,4.373,59,4.885,60,3.364,61,4.373,62,3.765,63,4.373,64,3.364,65,2.627,66,4.373,67,4.373,68,4.373,69,3.364,70,4.373,71,3.364,72,4.373,73,3.364,74,4.373,75,3.065,76,4.373,77,3.765]],["t/14",[13,4.357,32,1.052,78,4.361,79,6.223,80,4.357,81,1.391,82,2.67,83,5.06,84,3.495,85,4.357,86,4.357,87,5.06,88,1.842,89,3.893,90,3.893,91,5.06,92,4.357,93,4.357,94,2.67,95,5.06,96,5.06,97,3.27,98,4.357]],["t/16",[14,1.842,82,1.618,92,2.641,98,2.641,99,1.172,100,1.842,101,5.23,102,1.373,103,1.506,104,1.506,105,5.23,106,3.067,107,0.904,108,1.577,109,3.067,110,1.506,111,1.311,112,2.985,113,6.35,114,4.446,115,2.21,116,2.21,117,5.23,118,3.142,119,3.067,120,4.446,121,4.446,122,3.067,123,3.067,124,4.446,125,4.446,126,5.23,127,3.067,128,4.446]],["t/18",[0,1.16,14,3.517,16,2.752,37,3.517,73,4.504,129,4.504,130,5.855]],["t/21",[0,1.345,25,4.575,36,2.489,73,3.187,99,1.583,107,0.637,131,4.143,132,2.677,133,5.477,134,6.004,135,4.214,136,6.136,137,6.136,138,5.477,139,4.143,140,4.143,141,4.143,142,2.489,143,3.567,144,4.143,145,3.187,146,2.904,147,4.715,148,4.143,149,4.143,150,2.489,151,4.143,152,4.143,153,4.143,154,4.143,155,4.143,156,4.143,157,4.143,158,4.143,159,3.567,160,3.187]],["t/23",[0,1.384,38,3.549,50,4.728,77,4.728,88,1.999,111,1.377,161,5.629,162,4.728,163,5.03,164,2.731,165,5.492]],["t/26",[0,1.399,1,5.11,15,2.206,16,2.206,22,3.032,25,3.288,37,2.818,41,3.609,55,4.039,57,3.836,88,1.708,102,1.232,134,5.11,143,4.039,150,2.818,166,3.609,167,3.609,168,6.512,169,3.609,170,4.692,171,4.692,172,4.692,173,3.032,174,3.609,175,2.79,176,3.609,177,3.032]],["t/28",[0,1.147,15,2.722,16,3.114,36,1.631,37,3.248,44,0.845,49,3.147,57,2.626,81,1.117,90,2.088,102,1.279,103,1.17,104,1.17,107,0.846,108,0.818,110,0.782,111,0.681,112,2.857,115,1.147,116,1.147,142,2.926,159,2.337,177,2.626,178,2.337,179,2.447,180,5.577,181,2.715,182,2.088,183,2.715,184,2.088,185,2.088,186,2.337,187,3.126,188,2.021,189,0.942,190,2.337,191,3.126,192,2.088,193,1.79,194,1.276,195,2.088,196,2.144,197,1.345,198,2.715,199,2.715,200,2.715,201,1.754,202,2.283,203,4.064,204,3.499,205,1.717,206,2.715,207,3.499,208,3.126,209,2.848,210,1.91,211,2.715,212,3.499,213,2.715,214,1.717,215,2.715,216,1.553,217,2.337,218,2.715]],["t/30",[0,1.323,14,3.689,32,1.03,39,2.976,45,4.265,49,3.201,53,3.472,57,3.201,64,3.811,65,3.689,71,3.811,75,3.472,135,3.811,145,3.811,161,5.288,179,2.596,219,3.811,220,4.265,221,4.954,222,4.954,223,4.265,224,4.954,225,4.954]],["t/32",[0,1.097,69,4.258,71,4.258,219,4.258,226,4.765,227,3.325,228,5.535,229,5.535,230,5.535,231,4.765,232,3.879,233,5.535,234,5.535,235,5.535]],["t/34",[0,1.114,32,1.169,47,4.325,69,4.325,81,1.823,82,3.721,226,5.708,231,4.84]],["t/36",[0,1.065,15,1.262,30,2.824,31,3.193,36,1.612,52,2.824,81,1.478,82,2.126,100,1.612,102,0.705,103,0.773,104,0.773,107,0.821,108,0.809,110,0.773,111,0.673,112,3.253,115,1.134,116,2.044,142,2.42,146,2.824,175,1.894,176,3.1,177,2.604,179,2.272,180,2.311,193,1.601,194,1.894,197,0.888,207,2.311,208,3.1,209,2.824,210,1.894,212,3.469,214,1.703,216,1.54,236,2.065,237,2.684,238,4.433,239,4.029,240,2.065,241,2.065,242,2.684,243,2.684,244,2.684,245,1.416,246,1.881,247,1.612,248,2.684,249,2.684,250,4.029,251,2.684,252,2.684,253,5.762,254,2.684,255,2.604,256,4.029,257,4.029,258,3.469,259,4.029,260,4.029,261,4.029,262,4.029,263,4.029,264,3.1,265,4.029,266,3.469,267,2.684,268,2.684,269,2.684,270,2.684]],["t/38",[0,1.263,2,3.051,16,1.565,24,1.803,32,1.209,44,1.463,88,0.937,89,1.98,94,1.757,97,1.663,102,0.676,103,0.741,104,1.253,107,0.837,115,1.65,116,1.65,142,1.546,164,0.761,173,2.152,175,1.21,176,1.177,179,2.119,189,0.531,193,1.925,197,1.742,205,1.088,214,1.993,232,1.803,255,0.989,271,4.871,272,1.757,273,1.53,274,1.53,275,0.989,276,3.538,277,1.53,278,4.353,279,3.33,280,1.358,281,1.318,282,1.53,283,0.989,284,1.073,285,1.53,286,1.53,287,0.919,288,1.53,289,1.073,290,0.585,291,4.06,292,1.318,293,1.803,294,4.06,295,2.215,296,1.53,297,3.33,298,3.051,299,3.33,300,2.297,301,3.051,302,3.748,303,1.318,304,2.736,305,2.573,306,3.36,307,4.531,308,3.903,309,3.903,310,4.716,311,3.689,312,1.53,313,1.53,314,2.573,315,2.573,316,3.903,317,2.215,318,2.573,319,2.573,320,1.146,321,3.33,322,1.318,323,1.318,324,1.177,325,2.573,326,2.573,327,1.546,328,1.53,329,1.53,330,1.98,331,2.573,332,2.215,333,1.53,334,1.53,335,2.573,336,1.53,337,1.318]],["t/40",[0,1.172,2,4.145,44,1.377,102,1.664,103,1.109,104,1.703,107,0.854,164,1.915,175,2.452,189,1.336,202,2.163,227,2.313,275,2.488,276,2.488,290,1.472,293,2.699,294,4.49,295,3.315,300,2.752,301,3.655,302,4.49,303,5.091,306,3.315,307,4.49,337,4.49,338,3.851,339,3.851,340,3.851,341,5.215,342,5.215,343,3.851,344,3.851,345,3.851,346,3.851,347,3.851,348,3.851]],["t/42",[0,0.981,15,1.312,30,4.677,31,0.89,32,1.276,35,0.839,36,1.677,44,1.029,49,1.804,56,2.403,81,0.981,88,1.016,94,0.89,99,1.364,102,0.733,103,0.804,104,0.804,107,0.85,108,0.842,110,0.486,111,0.423,112,1.312,129,2.147,142,1.013,166,2.147,173,2.307,175,0.793,182,1.298,184,1.298,185,1.298,186,1.452,188,2.063,189,1.44,193,1.521,194,0.793,197,1.639,201,3.674,204,2.403,205,0.713,210,0.793,216,0.645,247,3.688,255,1.804,266,2.403,272,1.473,275,1.09,287,1.677,290,1.364,304,1.956,349,1.452,350,2.746,351,4.106,352,1.298,353,1.452,354,1.687,355,1.687,356,1.687,357,1.09,358,1.687,359,1.687,360,2.791,361,1.687,362,1.09,363,1.687,364,1.182,365,0.89,366,1.687,367,1.687,368,1.687,369,2.791,370,3.074,371,1.687,372,1.452,373,1.687,374,2.746,375,1.687,376,1.687,377,1.687,378,1.687,379,1.687,380,3.074,381,1.687,382,1.687,383,1.687,384,1.687,385,0.89,386,1.687,387,2.791,388,3.57,389,1.687,390,1.687,391,1.687,392,1.687,393,2.147,394,2.791,395,2.492,396,2.791,397,2.791,398,2.403,399,2.791,400,5.482,401,5.482,402,4.149,403,2.791,404,2.791,405,4.952,406,2.791,407,1.956,408,2.791,409,2.791,410,2.791,411,2.791]],["t/44",[0,1.245,32,1.175,35,3.124,53,3.046,65,2.611,88,2.057,162,3.742,169,3.344,173,3.652,177,2.809,202,2.442,219,3.344,220,4.866,223,3.742,272,2.293,280,2.293,289,3.046,304,3.046,324,3.344,351,3.046,352,5.116,393,3.344,412,3.742,413,4.347,414,4.347,415,5.652,416,5.652,417,4.866,418,5.652,419,4.347,420,3.046,421,2.809,422,4.347,423,4.347]],["t/46",[0,1.32,15,2.803,16,3.131,32,0.814,35,2.623,38,3.854,39,3.168,41,4.057,57,3.408,59,3.37,82,2.065,88,1.425,97,2.529,150,2.351,164,1.947,167,3.011,169,3.011,173,2.529,174,3.011,179,2.697,189,1.83,264,3.011,350,3.011,351,2.743,352,3.011,353,6.22,370,3.37,380,5.134,393,3.011,407,2.743,417,3.37,424,3.914,425,2.743,426,3.914,427,3.914,428,3.011,429,3.914]],["t/48",[7,2.329,31,1.598,44,1.39,78,2.122,80,3.792,81,1.211,102,0.795,103,0.872,104,0.872,107,0.919,147,2.607,284,2.122,290,1.157,320,1.348,349,2.607,350,2.329,430,3.028,431,2.122,432,2.122,433,2.607,434,3.389,435,3.389,436,2.607,437,3.028,438,3.028,439,2.329,440,2.122,441,1.819,442,2.122,443,2.607,444,3.028,445,2.329,446,1.957,447,1.701,448,2.122]],["t/50",[4,2.618,24,2.131,32,0.632,35,1.512,44,1.358,51,2.618,53,2.131,65,1.827,81,1.431,99,1.162,107,0.84,108,1.332,110,1.272,111,1.108,129,2.339,132,1.965,160,3.399,164,1.512,188,2.588,192,2.339,193,1.891,196,2.746,205,1.285,210,1.429,327,2.654,395,1.827,428,2.339,441,3.431,442,4.253,449,4.004,450,3.041,451,2.685,452,3.041,453,3.399,454,3.041,455,3.041,456,3.041,457,4.419,458,1.965,459,2.618,460,5.205,461,2.339,462,2.618,463,3.041,464,3.041,465,4.419,466,3.399,467,4.419,468,3.804,469,4.419,470,2.618,471,2.131,472,4.419,473,3.041,474,2.618,475,3.041,476,3.041,477,3.041,478,2.131,479,2.618,480,3.041,481,2.131,482,3.041,483,3.041]],["t/52",[0,0.526,31,1.4,44,1.253,81,0.73,88,0.966,90,3.696,99,1.014,107,0.765,108,0.8,110,0.764,111,0.665,160,4.635,177,1.715,188,2.39,189,1.855,190,2.285,192,2.041,193,1.994,196,1.4,197,0.878,201,1.715,202,1.491,216,1.836,275,2.582,287,3.444,298,2.8,300,3.026,320,1.182,327,3.865,332,4.603,365,2.535,398,2.285,425,2.8,428,2.041,441,1.594,448,1.86,449,2.041,458,1.715,459,2.285,461,3.073,462,2.285,466,2.041,468,3.439,470,3.439,478,2.8,479,3.439,484,2.654,485,2.041,486,2.654,487,5.734,488,2.041,489,2.285,490,2.654,491,2.654,492,2.654,493,2.285,494,2.654,495,2.8,496,2.654,497,3.995,498,3.995,499,2.285,500,2.654,501,2.654,502,2.654,503,2.654,504,2.654,505,2.654,506,2.654,507,2.654,508,2.654,509,2.654,510,2.654,511,2.654,512,2.654,513,3.696,514,2.654,515,2.041,516,2.285,517,2.654,518,3.995,519,2.654,520,2.285]],["t/54",[24,3.378,44,1.37,107,0.702,164,2.397,205,2.037,245,2.543,324,3.708,327,2.895,431,4.62,458,3.114,461,3.708,478,4.231,488,3.708,495,4.62,521,2.895,522,4.82,523,4.149,524,4.82,525,6.037,526,3.708,527,4.82,528,4.82,529,4.82,530,4.82]],["t/56",[32,1.398,189,1.999,311,4.037,451,2.708,478,4.037,495,4.037,513,4.431,531,5.76]],["t/58",[44,1.309,81,1.042,93,3.262,99,1.971,107,0.844,108,1.768,110,1.091,111,0.95,189,2.035,193,1.941,196,1.999,197,1.254,201,2.448,210,1.781,216,1.971,245,1.999,300,1.999,320,2.612,357,2.448,385,1.999,441,2.276,449,2.915,489,3.262,493,3.262,495,4.11,526,3.968,532,2.655,533,5.158,534,5.158,535,5.158,536,3.789,537,3.789,538,3.789,539,5.158,540,5.158,541,3.789,542,3.789,543,3.789,544,3.789,545,3.789,546,3.789,547,5.158]],["t/60",[32,1.133,205,2.303,327,3.273,488,5.007,513,5.007,526,4.192,548,5.45,549,5.45,550,6.509,551,5.45,552,5.45,553,5.45,554,5.45]],["t/63",[0,1.144,16,1.266,22,1.741,32,1.12,39,1.618,44,1.2,75,1.888,78,3.398,81,1.481,84,3.026,97,1.741,99,2.059,102,0.707,103,0.776,104,0.776,107,0.829,108,0.812,110,0.776,111,0.675,115,1.139,189,1.682,193,1.605,194,1.899,196,1.421,197,1.337,210,1.899,216,1.03,255,1.741,276,1.741,283,1.741,290,1.03,320,2.998,362,3.133,365,3.197,421,4.418,439,2.072,441,2.912,442,3.398,471,3.398,481,3.398,521,1.618,555,2.319,556,2.319,557,4.849,558,2.694,559,1.618,560,6.284,561,2.694,562,2.072,563,2.072,564,2.072,565,2.694,566,2.694,567,2.694,568,3.479,569,3.479,570,4.041,571,3.479,572,3.479]],["t/65",[0,1.155,16,1.296,22,1.782,32,1.022,39,1.656,44,1.212,75,1.932,78,3.445,81,1.498,84,2.761,97,1.782,99,2.083,102,0.724,103,0.794,104,0.794,107,0.832,108,0.831,110,0.794,111,0.691,115,1.165,189,1.706,193,1.627,194,1.933,196,1.455,197,1.361,210,1.933,216,1.054,276,1.782,283,1.782,290,1.054,320,2.595,362,3.176,365,3.225,421,1.782,440,4.877,441,2.953,442,3.445,471,3.445,481,3.445,521,1.656,555,2.373,556,2.373,559,1.656,562,2.121,563,2.121,564,2.121,568,3.539,569,3.539,571,3.539,572,3.539,573,2.757,574,4.916,575,2.757,576,5.829,577,2.757,578,2.757,579,2.373,580,2.757,581,4.111,582,4.111]],["t/67",[15,2.149,32,1.337,44,0.95,88,1.664,103,1.316,104,1.316,107,0.748,110,1.316,111,1.146,174,3.516,197,1.513,205,1.932,236,3.516,238,4.491,287,2.746,320,2.6,374,3.516,421,2.954,440,3.203,516,5.026,579,5.026,583,4.571,584,3.935,585,4.571,586,4.571,587,4.571,588,4.571,589,4.571,590,4.571,591,3.935,592,4.571,593,4.571,594,4.571]],["t/69",[0,0.563,14,0.579,15,0.453,16,1.098,22,0.623,31,1.722,32,0.485,44,1.191,52,1.636,60,0.742,62,2.01,81,0.996,88,0.351,102,0.253,103,0.278,104,0.278,107,0.863,108,0.704,110,0.496,111,0.432,112,3.027,115,0.987,116,1.964,118,1.035,142,1.035,146,1.99,163,0.742,164,0.857,166,0.742,167,0.742,179,1.964,184,1.325,185,1.325,188,1.161,189,0.598,193,1.302,194,0.453,197,0.773,202,2.36,208,2.184,210,1.534,214,0.728,216,0.368,217,0.83,227,1.403,236,2.184,255,0.623,272,2.075,276,0.623,280,0.909,283,1.113,290,0.892,292,0.83,300,1.912,304,0.676,311,0.676,317,0.83,322,0.83,357,2.341,362,1.835,365,1.232,374,0.742,385,0.909,395,1.035,421,1.113,436,1.483,445,0.742,446,4.47,447,3.042,448,2.756,485,0.742,520,2.445,521,0.579,562,0.742,563,0.742,595,1.96,596,0.964,597,0.83,598,5.265,599,0.964,600,4.306,601,0.964,602,0.964,603,0.964,604,3.821,605,0.964,606,0.964,607,0.623,608,0.964,609,0.964,610,0.964,611,5.73,612,0.964,613,0.964,614,0.964,615,0.964,616,0.964,617,0.964,618,0.964,619,0.83,620,0.909,621,4.661,622,3.623,623,1.723,624,0.964,625,1.723,626,0.964,627,3.025,628,1.796,629,2.335,630,4.648,631,0.964,632,0.964,633,0.964,634,0.964,635,0.964,636,0.964,637,0.964,638,0.964,639,0.964,640,1.723,641,0.964,642,0.964,643,0.964,644,0.964,645,0.964,646,0.83,647,2.335,648,2.84,649,2.84,650,1.723,651,2.84,652,1.483,653,2.335,654,4.202,655,2.84,656,1.723,657,1.723,658,1.723,659,1.723,660,1.723,661,1.723,662,0.964,663,0.964,664,0.964,665,1.325,666,0.964,667,0.964,668,1.723,669,1.723,670,1.325,671,0.964,672,1.325,673,0.964,674,1.723,675,1.723,676,1.723,677,1.723,678,1.723,679,2.335,680,0.964,681,0.964,682,0.964,683,0.964,684,0.964,685,0.964,686,0.964,687,0.964]],["t/71",[0,0.831,84,2.355,94,2.212,99,2.11,100,2.518,107,0.762,108,1.264,110,1.207,111,1.051,132,2.709,175,1.971,205,1.772,227,2.518,284,2.938,412,3.609,420,2.938,481,2.938,621,3.609,688,3.609,689,3.256,690,2.709,691,3.869,692,4.192,693,2.938,694,4.192,695,4.192,696,4.246,697,4.192,698,4.192,699,4.192,700,4.192,701,4.192,702,2.709,703,2.709,704,6.172,705,2.709,706,4.192,707,5.52,708,4.192,709,4.192,710,5.52,711,4.192,712,4.192]],["t/73",[12,3.015,107,0.804,108,1.618,110,1.545,111,1.345,205,2.268,447,3.015,620,3.403,689,2.832,690,3.468,696,4.129,702,3.468,713,3.224,714,3.224,715,4.62]],["t/75",[12,2.369,32,0.877,44,1.152,81,1.702,107,0.815,108,1.671,110,1.595,111,1.648,112,1.982,194,1.982,197,1.396,216,2.118,245,2.225,280,2.924,559,3.329,620,3.266,689,2.924,693,2.956,696,3.244,702,4.248,713,2.533,714,2.533,715,3.631,716,3.244,717,3.244,718,4.217,719,3.244,720,3.244,721,4.217,722,4.217,723,2.369,724,3.244]],["t/77",[12,2.783,107,0.883,115,2.094,189,1.719,205,2.596,447,2.783,620,2.614,670,3.811,672,3.811,689,2.614,690,3.201,703,3.201,713,2.976,714,2.976,725,4.265,726,4.265,727,3.472,728,3.472,729,3.472]],["t/79",[12,2.383,32,0.882,44,1.157,81,1.811,107,0.861,111,1.395,112,1.994,115,2.351,197,1.404,216,1.621,245,2.238,280,2.935,559,3.342,620,2.935,689,2.935,693,2.973,702,4.011,703,2.741,713,2.548,714,2.548,716,3.264,717,3.264,719,3.264,720,3.264,723,2.383,724,3.264,727,2.973,728,2.973,729,2.973,730,3.652,731,4.243,732,4.243]],["t/81",[12,2.764,107,0.882,118,2.955,189,1.707,205,2.584,214,2.079,447,2.764,620,2.596,670,3.785,672,3.785,689,2.596,690,3.179,703,3.179,713,2.955,714,2.955,725,4.236,726,4.236,727,3.448,728,3.448,729,3.448]],["t/83",[12,2.355,32,0.871,44,1.148,81,1.803,107,0.859,111,1.384,112,1.971,118,3.316,196,2.212,197,1.388,214,2.333,216,1.602,245,2.212,280,2.913,559,3.316,620,2.913,689,2.913,693,2.938,702,3.988,703,2.709,713,2.518,714,2.518,716,3.225,717,3.225,719,3.225,720,3.225,723,2.355,724,3.225,727,2.938,728,2.938,729,2.938,730,3.609,733,4.192]],["t/85",[0,1.234,35,2.123,44,1.462,81,1.173,88,1.554,94,2.252,99,1.631,102,1.12,118,2.564,175,2.006,193,1.413,202,2.397,205,1.804,210,2.006,258,4.808,272,2.252,298,2.991,300,2.947,385,2.252,425,2.991,432,2.991,515,4.297,521,3.355,665,3.283,705,3.609,734,3.283,735,5.585,736,4.808,737,5.585,738,3.674,739,4.268,740,4.268,741,4.268,742,3.674,743,3.674,744,3.674,745,3.674]],["t/87",[0,1.197,44,1.003,94,1.815,99,1.314,102,1.267,103,1.389,104,1.604,118,2.066,175,1.617,193,2.242,271,5.201,300,1.815,431,2.41,432,3.906,499,4.798,515,5.074,705,3.601,734,4.647,736,4.798,738,5.201,743,2.961,744,2.961,746,2.646,747,3.439,748,5.573,749,6.596,750,3.439,751,5.573,752,2.961,753,5.573,754,5.573,755,3.439,756,5.573,757,5.573,758,6.362]],["t/89",[0,0.807,32,0.846,44,0.846,84,2.287,88,1.482,102,1.069,103,1.172,104,1.172,107,0.847,116,2.288,175,1.914,188,2.025,189,2.342,193,2.013,214,2.288,272,2.148,290,1.556,385,2.857,425,2.854,607,3.499,723,3.041,734,4.988,745,3.505,759,3.505,760,3.505,761,6.083,762,6.75,763,3.795,764,4.072,765,4.072,766,4.072]],["t/91",[0,0.798,31,2.124,32,0.837,44,0.837,84,2.261,88,1.465,89,5.173,102,1.057,103,1.159,104,1.159,107,0.845,116,2.556,175,1.892,188,2.002,214,2.271,290,1.539,385,2.124,595,4.155,607,3.472,723,3.018,752,5.207,759,3.466,760,3.466,763,3.766,767,4.026,768,7.063,769,5.374,770,4.026,771,4.026,772,4.026]],["t/93",[7,3.011,32,1.096,44,1.458,88,2.171,102,1.384,103,1.518,104,1.127,107,0.829,108,1.59,116,2.229,188,2.623,287,3.168,357,4.124,434,3.011,532,2.743,584,4.54,773,5.964,774,3.914,775,5.274,776,5.964,777,7.013,778,5.964,779,5.964,780,5.274,781,3.914]],["t/95",[44,0.818,102,1.033,103,1.133,104,1.133,107,0.873,116,1.663,193,2.117,214,2.527,320,3.061,434,5.134,532,2.759,607,2.543,723,2.973,742,3.389,763,2.759,782,3.028,783,3.936,784,6.873,785,3.936,786,5.293,787,5.293,788,5.293,789,5.293,790,5.293,791,5.293,792,3.936,793,3.389]],["t/97",[32,1.084,44,1.452,49,2.488,88,1.402,94,2.032,102,1.011,103,1.109,104,1.501,107,0.846,116,2.204,145,2.962,189,1.81,193,2.098,197,1.274,214,2.499,232,2.699,264,2.962,281,3.315,287,2.313,290,1.472,291,3.315,293,2.699,301,2.699,320,2.823,330,2.962,433,4.49,458,3.821,521,2.313,523,3.315,559,2.313,597,3.315,607,2.488,723,2.163,793,3.315,794,3.851,795,3.851,796,3.851,797,3.851,798,3.851,799,3.851]],["t/100",[0,1.205,15,1.914,36,2.446,86,3.505,99,1.556,102,1.069,107,0.785,108,1.228,182,3.132,284,2.854,364,4.544,420,2.854,431,4.864,432,2.854,447,2.287,451,2.545,453,3.132,595,2.446,627,3.132,628,3.132,782,3.132,800,3.654,801,4.072,802,4.072,803,2.446,804,3.252,805,4.072,806,4.072,807,4.072,808,4.072,809,6.083,810,4.072,811,4.072,812,5.582,813,4.072,814,4.072,815,3.505]],["t/103",[37,3.611,94,3.172,107,0.855,150,3.611,311,3.355,320,2.132,439,4.625,440,4.213,451,2.25,688,4.121,800,2.875,803,3.948,804,3.948,816,3.355,817,5.175,818,4.787,819,4.787,820,4.787]],["t/105",[32,0.898,37,2.595,38,2.792,107,0.728,132,2.792,150,2.595,164,2.8,189,1.499,202,2.427,247,2.595,280,2.279,351,4.945,364,3.945,372,3.719,420,3.028,485,3.323,564,3.323,595,2.595,746,3.323,782,3.323,800,3.986,803,2.595,804,2.595,816,3.028,817,3.719,821,5.63,822,4.32,823,4.32,824,4.32,825,3.323,826,4.32,827,4.32,828,4.32,829,4.32,830,4.32,831,4.32,832,4.32]],["t/107",[32,1.009,82,2.56,107,0.845,110,1.397,111,1.216,132,3.136,193,1.606,197,1.606,227,2.915,280,2.56,300,3.489,320,2.161,365,2.56,451,2.281,466,3.733,591,4.178,800,2.915,803,3.642,804,3.642,833,4.853,834,3.733,835,4.853,836,4.853]],["t/109",[0,0.78,2,2.759,32,1.243,35,1.958,81,1.758,82,2.793,107,0.83,110,1.133,111,0.987,163,3.028,164,1.958,179,1.663,196,2.077,197,1.303,201,2.543,216,2.286,241,3.028,245,2.793,247,2.364,327,2.364,365,2.077,443,3.389,474,3.389,691,2.759,800,2.364,803,3.18,804,3.18,816,2.759,834,3.028,837,3.936,838,3.936,839,3.936,840,3.936,841,3.936,842,3.936,843,3.936,844,3.936,845,3.936,846,3.936,847,3.936,848,3.936,849,3.936,850,3.936,851,3.936,852,3.936,853,3.936,854,3.936,855,3.936]],["t/111",[27,4.748,100,2.027,107,0.824,108,1.017,110,0.971,111,1.502,178,2.905,179,1.426,197,1.983,227,2.027,247,2.027,275,2.18,323,2.905,365,1.78,445,3.662,446,3.564,447,3.682,448,3.865,451,1.586,598,5.438,600,4.748,604,5.157,620,1.78,627,2.595,646,2.905,689,2.511,690,2.18,800,3.313,803,3.313,804,2.859,815,2.905,816,2.365,834,2.595,856,4.76,857,3.374,858,3.374,859,3.374,860,3.374,861,3.374,862,3.374,863,3.374,864,3.374,865,3.374,866,3.374,867,3.374,868,4.76,869,3.374,870,3.374,871,3.374,872,3.374,873,3.374,874,3.374]],["t/114",[44,0.893,81,1.915,99,1.946,100,2.582,102,1.337,103,1.466,104,1.237,107,0.875,108,1.296,110,0.843,111,1.077,112,1.376,115,1.816,116,2.525,179,1.237,187,4.597,188,2.138,191,4.806,194,2.394,195,2.252,209,2.052,214,2.152,216,1.119,232,2.052,240,3.917,246,3.012,289,2.052,290,1.946,362,1.892,385,2.268,395,3.59,435,3.306,451,1.376,628,3.917,691,2.052,812,2.521,825,3.917,875,5.092,876,2.928,877,2.928,878,2.928,879,2.928,880,2.928,881,2.928,882,2.928,883,2.521,884,2.521,885,2.928]],["t/116",[0,0.913,31,2.935,32,0.515,60,1.906,64,1.906,65,1.488,81,1.946,82,3.222,100,1.488,102,0.65,103,0.713,104,0.713,107,0.844,108,0.747,110,0.713,111,0.621,112,2.87,115,1.603,116,1.047,135,2.917,146,3.229,150,1.488,179,2.181,187,2.917,191,3.544,194,1.165,195,1.906,209,2.658,214,1.947,216,0.947,238,5.069,240,3.544,241,1.906,245,2.431,246,1.736,247,1.488,272,2.431,289,3.229,357,2.45,453,1.906,595,1.488,705,2.45,763,2.658,825,3.544,883,2.133,884,2.133,886,4.607,887,2.477,888,4.607,889,2.477,890,2.477,891,2.477,892,2.477,893,5.161,894,4.607,895,5.161,896,2.477,897,2.477,898,3.792,899,2.477,900,5.161,901,4.607,902,3.792,903,3.966]],["t/118",[0,1.097,44,1.151,81,1.522,179,2.339,290,2.677,435,5.053,451,2.602,595,3.325,904,5.535,905,5.535,906,5.535]],["t/120",[32,1.106,35,1.573,44,1.209,65,1.9,81,1.463,84,1.777,85,2.723,99,1.209,102,1.194,103,1.309,104,1.309,107,0.801,108,0.954,110,0.911,111,1.14,115,1.337,179,1.921,193,1.047,194,2.137,210,3.51,246,2.217,272,1.669,283,2.044,290,2.527,293,3.186,298,2.217,301,2.217,330,2.433,364,2.217,385,1.669,395,3.197,407,2.217,446,2.938,451,1.487,458,2.044,471,2.217,532,2.217,619,2.723,652,2.723,665,2.433,691,2.217,705,2.938,746,2.433,903,3.914,907,3.163,908,3.163,909,3.163,910,3.163,911,3.163,912,3.163,913,3.163,914,3.163,915,3.163,916,3.163,917,3.163,918,3.163,919,3.163,920,2.723,921,2.723]],["t/122",[107,0.675,290,2.219,395,3.488,407,4.07,446,3.752,451,2.73,920,4.999,921,4.999]]],"invertedIndex":[["",{"_index":107,"t":{"16":{"position":[[74,1],[76,1],[78,1],[80,1],[121,1],[123,2],[126,3],[130,1],[167,1],[169,1],[171,1],[173,3],[190,1],[192,1],[234,1],[245,1],[247,1],[249,1],[251,3],[269,1],[271,1],[273,1],[389,1],[391,2],[394,3],[398,1],[455,1],[457,1],[499,1],[531,1],[533,1],[535,1],[637,1],[639,2],[642,3],[646,1],[701,1],[703,1],[745,1],[775,1],[777,1],[779,1]]},"21":{"position":[[144,2],[390,1]]},"28":{"position":[[187,1],[243,2],[266,1],[292,1],[318,1],[345,1],[362,1],[445,1],[539,1],[862,1],[1141,1],[1193,1],[1210,1],[1212,1],[1222,1],[1224,4],[1229,1],[1231,1]]},"36":{"position":[[341,1],[352,2],[387,3],[391,1],[558,1],[578,1],[1104,1],[1179,1],[1196,1],[1198,1],[1225,1],[1227,4],[1232,1],[1234,1]]},"38":{"position":[[826,1],[1158,1],[1199,1],[1238,1],[1291,1],[1333,1],[1388,1],[1416,1],[1459,1],[1512,1],[1514,1],[1980,1],[2021,1],[2058,1],[2108,1],[2129,1],[2182,1],[2225,1],[2227,1],[2472,1],[2568,1],[2621,1],[2667,1],[2733,1],[2763,1],[2811,1],[2869,1],[2871,1],[3228,1],[3322,1],[3373,1],[3401,1],[3456,1],[3504,1],[3506,1]]},"40":{"position":[[246,1],[282,1],[314,1],[327,1],[363,1],[381,1],[417,1],[419,1],[451,1],[464,1],[500,2]]},"42":{"position":[[672,1],[737,2],[760,1],[795,1],[828,1],[872,1],[890,1],[1005,1],[1028,1],[1042,2],[1074,2],[1164,2],[1230,2],[1237,1],[1255,1],[1311,1],[1333,2],[1351,2],[1358,2],[1365,1],[1383,1],[1391,1],[1410,1],[1419,2],[1440,2],[1447,1],[1465,1],[1474,2],[1493,2],[1500,1],[1518,1],[1538,1],[1701,1],[1718,1],[2623,1],[2640,1]]},"48":{"position":[[48,2],[51,2],[54,2],[71,2],[74,2],[77,2],[90,2],[93,2],[96,2],[110,2],[113,2],[116,2],[133,2],[136,2],[139,2],[155,2],[158,2],[161,2],[176,2],[179,2],[182,2],[196,2],[199,2],[202,2],[216,2],[219,2],[222,2],[236,2],[239,2],[242,2],[250,2],[253,2],[256,2],[266,2],[269,2],[272,2],[281,2],[284,2],[287,2],[301,2],[304,2],[307,2],[322,2],[325,2],[328,2],[336,2],[339,2],[342,2],[352,2],[355,2],[358,2],[369,2],[372,2],[375,2],[391,2],[394,2],[397,2],[421,2],[424,2],[427,2],[436,2],[439,2],[442,2],[451,2],[454,2],[457,2],[483,2],[486,2],[489,2],[504,2],[507,2],[510,2],[524,2],[527,2],[530,2]]},"50":{"position":[[347,1],[379,1],[415,1],[447,1],[473,1],[503,1],[718,1],[720,2],[723,3],[727,1],[1082,1],[1084,2],[1087,3],[1091,1]]},"52":{"position":[[264,1],[293,1],[355,1],[385,1],[420,1],[625,1],[904,3],[908,2],[915,1]]},"54":{"position":[[303,1],[350,1]]},"58":{"position":[[75,1],[83,1],[114,2],[148,2],[321,1],[399,1],[527,1],[565,1],[631,1],[664,1]]},"63":{"position":[[169,2],[212,1],[233,2],[277,1],[704,1],[715,2],[739,2],[742,3],[746,1],[1012,1],[1058,1],[1317,1],[1352,1],[1354,1],[1370,1]]},"65":{"position":[[145,2],[183,1],[204,2],[236,1],[646,1],[660,2],[679,2],[682,3],[686,1],[922,1],[975,1],[1204,1],[1239,1],[1241,1],[1262,1]]},"67":{"position":[[249,1],[365,1],[395,2]]},"69":{"position":[[1098,1],[1138,1],[1140,2],[1184,1],[1203,1],[1244,1],[1420,1],[1460,1],[1462,2],[1506,1],[1525,1],[1598,1],[1680,1],[1709,1],[1751,1],[2150,2],[2231,2],[2344,1],[2346,2],[2349,3],[2353,1],[2505,1],[2540,2],[2543,3],[2547,1],[2712,2],[2793,2],[2883,1],[2908,1],[2946,1],[3264,2],[3345,2],[3424,1],[3456,1],[3513,1],[3540,1],[3542,1],[3544,2],[3634,1],[3659,1],[3697,1],[3885,1],[3929,1],[4062,2],[4278,1],[4307,1],[4363,1],[4365,2],[4368,3],[4372,1],[4639,1],[4832,2],[4904,1],[4906,1],[4908,2],[4998,1],[5023,1],[5107,1],[5109,1],[5340,2],[5412,1],[5414,1],[5416,2],[5536,1],[5585,1],[5615,1],[5617,1],[5619,2],[5709,1],[5734,1],[5812,1],[5814,1],[5977,1],[6028,1],[6161,2],[6382,1],[6404,1],[6432,1],[6495,1],[6497,2],[6500,3],[6504,1],[6506,1],[6797,2]]},"71":{"position":[[454,1],[456,2],[459,3],[463,1]]},"73":{"position":[[162,1],[164,3],[168,1]]},"75":{"position":[[394,1],[396,3],[400,1],[509,1],[511,2],[557,1]]},"77":{"position":[[70,1],[88,1],[139,1],[173,1],[189,1],[207,1],[274,1],[276,2],[279,3],[283,1]]},"79":{"position":[[287,1],[303,1],[321,1],[388,1],[390,2],[393,3],[397,1],[462,1],[464,2],[510,1]]},"81":{"position":[[70,1],[88,1],[139,1],[173,1],[189,1],[207,1],[281,1],[283,2],[286,3],[290,1]]},"83":{"position":[[287,1],[303,1],[321,1],[395,1],[397,2],[400,3],[404,1],[476,1],[478,2],[524,1]]},"89":{"position":[[137,1],[159,1],[211,1],[233,1],[321,1],[333,1],[350,1],[357,1],[359,1]]},"91":{"position":[[140,1],[159,1],[212,1],[238,1],[318,1],[331,1],[352,1],[362,1],[364,1]]},"93":{"position":[[205,1],[216,1],[234,2],[257,2],[276,2],[299,2],[471,1],[504,1]]},"95":{"position":[[114,1],[127,1],[148,1],[170,1],[179,1],[247,1],[249,1],[293,1],[295,1],[322,1],[415,1],[428,1],[437,1],[439,1]]},"97":{"position":[[151,1],[160,2],[207,2],[258,1],[316,1],[329,1],[338,1],[365,1],[381,1],[383,1]]},"100":{"position":[[84,1],[90,2],[110,2],[129,1],[131,1]]},"103":{"position":[[65,2],[119,1],[169,2],[220,1],[283,2],[402,7],[410,1]]},"105":{"position":[[127,2],[217,1],[471,2]]},"107":{"position":[[94,2],[184,1],[206,3],[210,1],[256,2],[303,1]]},"109":{"position":[[304,2],[329,2],[448,2],[561,1],[607,3],[611,1],[764,2],[824,1]]},"111":{"position":[[70,2],[152,1],[195,2],[310,1],[356,3],[360,1],[561,2],[661,2],[810,2],[965,2]]},"114":{"position":[[195,1],[197,1],[227,2],[255,2],[338,1],[340,2],[343,3],[347,1],[494,1],[496,1],[600,1],[602,2],[605,3],[609,1],[759,1],[761,1],[812,2],[834,2],[860,1],[914,1],[916,2],[919,3],[923,1],[925,1]]},"116":{"position":[[263,1],[274,2],[303,1],[824,1],[839,1],[853,2],[856,3],[860,1],[875,1],[1073,1],[1100,1],[1280,1],[1351,1],[1375,1],[1390,2],[1393,3],[1397,1],[1399,1],[1592,1],[1615,1]]},"120":{"position":[[870,1],[872,2],[875,3],[879,1],[984,1],[986,2],[989,3],[993,1],[1097,1]]},"122":{"position":[[91,1]]}}}],["0",{"_index":106,"t":{"16":{"position":[[72,1]]}}}],["1",{"_index":652,"t":{"69":{"position":[[2910,2],[5025,2]]},"120":{"position":[[647,1]]}}}],["10",{"_index":704,"t":{"71":{"position":[[321,2],[351,4],[393,2]]}}}],["12",{"_index":119,"t":{"16":{"position":[[281,2]]}}}],["123",{"_index":529,"t":{"54":{"position":[[321,4]]}}}],["12h",{"_index":122,"t":{"16":{"position":[[343,3]]}}}],["18.0",{"_index":23,"t":{"8":{"position":[[16,4]]}}}],["1m",{"_index":711,"t":{"71":{"position":[[399,2]]}}}],["1s",{"_index":713,"t":{"73":{"position":[[64,2]]},"75":{"position":[[296,2]]},"77":{"position":[[191,5]]},"79":{"position":[[305,5]]},"81":{"position":[[191,5]]},"83":{"position":[[305,5]]}}}],["20",{"_index":708,"t":{"71":{"position":[[356,4]]}}}],["3",{"_index":486,"t":{"52":{"position":[[37,1]]}}}],["40",{"_index":709,"t":{"71":{"position":[[361,4]]}}}],["456",{"_index":530,"t":{"54":{"position":[[334,4]]}}}],["5",{"_index":12,"t":{"4":{"position":[[39,1]]},"73":{"position":[[62,1]]},"75":{"position":[[294,1]]},"77":{"position":[[175,2]]},"79":{"position":[[289,2]]},"81":{"position":[[175,2]]},"83":{"position":[[289,2]]}}}],["5s",{"_index":707,"t":{"71":{"position":[[347,3],[396,2]]}}}],["60",{"_index":710,"t":{"71":{"position":[[366,4],[371,4]]}}}],["64",{"_index":735,"t":{"85":{"position":[[38,3],[54,3]]}}}],["7b%22tag%22%3a%22ftl%22%7d",{"_index":553,"t":{"60":{"position":[[124,27]]}}}],["8",{"_index":661,"t":{"69":{"position":[[3661,2],[5736,2]]}}}],["_",{"_index":631,"t":{"69":{"position":[[1561,1]]}}}],["_test",{"_index":824,"t":{"105":{"position":[[264,5]]}}}],["abov",{"_index":24,"t":{"8":{"position":[[24,6]]},"38":{"position":[[1531,5],[2888,5]]},"50":{"position":[[749,5]]},"54":{"position":[[148,6]]}}}],["access",{"_index":364,"t":{"42":{"position":[[560,6]]},"100":{"position":[[192,6],[368,6],[437,6],[483,6]]},"105":{"position":[[19,6],[412,6]]},"120":{"position":[[33,10]]}}}],["account",{"_index":826,"t":{"105":{"position":[[296,8]]}}}],["accounts_test",{"_index":827,"t":{"105":{"position":[[313,13]]}}}],["actual",{"_index":324,"t":{"38":{"position":[[1829,6]]},"44":{"position":[[67,6]]},"54":{"position":[[96,6]]}}}],["ad",{"_index":36,"t":{"10":{"position":[[102,5]]},"21":{"position":[[311,6]]},"28":{"position":[[1262,5]]},"36":{"position":[[89,6]]},"42":{"position":[[2124,6],[3046,6]]},"100":{"position":[[271,6]]}}}],["add",{"_index":146,"t":{"21":{"position":[[277,3]]},"36":{"position":[[837,3],[1473,3]]},"69":{"position":[[2796,3],[3547,3],[4911,3],[5622,3]]},"116":{"position":[[96,3],[653,3],[1151,3]]}}}],["adjac",{"_index":218,"t":{"28":{"position":[[1285,8]]}}}],["afterward",{"_index":610,"t":{"69":{"position":[[647,11]]}}}],["ag",{"_index":762,"t":{"89":{"position":[[151,3],[202,4],[280,4],[316,4],[352,4]]}}}],["alia",{"_index":291,"t":{"38":{"position":[[718,5],[929,5],[1619,5],[2252,5],[2976,5],[3531,5]]},"97":{"position":[[7,5]]}}}],["alias",{"_index":433,"t":{"48":{"position":[[147,7]]},"97":{"position":[[190,7],[390,7]]}}}],["alic",{"_index":180,"t":{"28":{"position":[[81,5],[131,5],[174,5],[590,5],[664,5],[892,5],[966,5],[1135,5]]},"36":{"position":[[72,5]]}}}],["alice.echo",{"_index":237,"t":{"36":{"position":[[31,10]]}}}],["alice.echocli",{"_index":239,"t":{"36":{"position":[[113,17],[305,17]]}}}],["alice.echorequest",{"_index":249,"t":{"36":{"position":[[363,23]]}}}],["alice/src/main/java/ftl/alice/alice.java",{"_index":213,"t":{"28":{"position":[[1003,41]]}}}],["alice/src/main/kotlin/ftl/alice/alice.kt",{"_index":206,"t":{"28":{"position":[[701,41]]}}}],["allow",{"_index":227,"t":{"32":{"position":[[23,6]]},"40":{"position":[[677,6]]},"69":{"position":[[413,5],[666,5],[761,8]]},"71":{"position":[[18,5]]},"107":{"position":[[225,5]]},"111":{"position":[[1116,7]]}}}],["alreadi",{"_index":619,"t":{"69":{"position":[[1008,7]]},"120":{"position":[[275,7]]}}}],["altern",{"_index":145,"t":{"21":{"position":[[255,13]]},"30":{"position":[[87,13]]},"97":{"position":[[19,9]]}}}],["alway",{"_index":322,"t":{"38":{"position":[[1778,6]]},"69":{"position":[[471,6]]}}}],["amount",{"_index":615,"t":{"69":{"position":[[883,6]]}}}],["anim",{"_index":777,"t":{"93":{"position":[[188,6],[207,8],[248,8],[290,8],[440,6],[473,6],[506,6]]}}}],["annot",{"_index":395,"t":{"42":{"position":[[1606,11],[1623,11],[2528,11],[2545,11]]},"50":{"position":[[6,9]]},"69":{"position":[[3977,11],[6076,11]]},"114":{"position":[[91,9],[429,9],[455,10],[687,9],[712,11]]},"120":{"position":[[783,10],[902,10],[1044,11]]},"122":{"position":[[38,11]]}}}],["anoth",{"_index":236,"t":{"36":{"position":[[7,7]]},"67":{"position":[[224,7]]},"69":{"position":[[4085,7],[4413,7],[6184,7],[6547,7]]}}}],["anyserializedtyp",{"_index":334,"t":{"38":{"position":[[2686,17]]}}}],["api",{"_index":585,"t":{"67":{"position":[[119,3]]}}}],["api.call(apikey",{"_index":582,"t":{"65":{"position":[[953,21],[1243,18]]}}}],["api.cli",{"_index":593,"t":{"67":{"position":[[344,13]]}}}],["api.newclient(cr",{"_index":594,"t":{"67":{"position":[[374,20]]}}}],["apikey",{"_index":576,"t":{"65":{"position":[[229,6],[625,6],[632,7],[891,7],[1196,7]]}}}],["apikey.get(ctx",{"_index":580,"t":{"65":{"position":[[663,15]]}}}],["apitoken",{"_index":574,"t":{"65":{"position":[[174,8],[401,8],[418,10]]}}}],["apiurl",{"_index":557,"t":{"63":{"position":[[205,6],[435,6],[450,8]]}}}],["appear",{"_index":344,"t":{"40":{"position":[[550,6]]}}}],["append",{"_index":823,"t":{"105":{"position":[[256,7]]}}}],["append(item",{"_index":391,"t":{"42":{"position":[[1393,13]]}}}],["appli",{"_index":422,"t":{"44":{"position":[[429,7]]}}}],["application/json",{"_index":546,"t":{"58":{"position":[[547,17]]}}}],["appropri",{"_index":398,"t":{"42":{"position":[[1774,11],[2696,11]]},"52":{"position":[[1242,11]]}}}],["approxim",{"_index":775,"t":{"93":{"position":[[124,12],[369,12]]}}}],["aren't",{"_index":584,"t":{"67":{"position":[[39,6]]},"93":{"position":[[71,6],[312,6]]}}}],["argument",{"_index":638,"t":{"69":{"position":[[1990,10]]}}}],["around",{"_index":524,"t":{"54":{"position":[[85,6]]}}}],["array",{"_index":737,"t":{"85":{"position":[[86,7],[154,7]]}}}],["arrayquarku",{"_index":401,"t":{"42":{"position":[[1888,19],[1994,19],[2209,19],[2313,19],[2810,19],[2916,19],[3131,19],[3235,19]]}}}],["associ",{"_index":603,"t":{"69":{"position":[[241,10]]}}}],["assum",{"_index":517,"t":{"52":{"position":[[1205,7]]}}}],["asynchron",{"_index":862,"t":{"111":{"position":[[373,12]]}}}],["attempts=10",{"_index":697,"t":{"71":{"position":[[198,15]]}}}],["automat",{"_index":35,"t":{"10":{"position":[[85,13]]},"12":{"position":[[432,13]]},"42":{"position":[[74,9]]},"44":{"position":[[25,13],[303,13],[384,13]]},"46":{"position":[[25,13],[648,13]]},"50":{"position":[[1330,13]]},"85":{"position":[[423,13]]},"109":{"position":[[167,13]]},"120":{"position":[[235,13]]}}}],["avail",{"_index":453,"t":{"50":{"position":[[123,9],[246,9]]},"100":{"position":[[250,9]]},"116":{"position":[[538,9]]}}}],["aw",{"_index":418,"t":{"44":{"position":[[243,3],[458,3]]}}}],["b",{"_index":534,"t":{"58":{"position":[[122,1],[138,3]]}}}],["back",{"_index":412,"t":{"44":{"position":[[74,7]]},"71":{"position":[[93,4]]}}}],["backoff",{"_index":699,"t":{"71":{"position":[[219,8]]}}}],["backoff=1hr",{"_index":701,"t":{"71":{"position":[[234,13]]}}}],["base",{"_index":177,"t":{"26":{"position":[[314,5]]},"28":{"position":[[633,5],[935,5]]},"36":{"position":[[699,5],[1335,5]]},"44":{"position":[[220,5]]},"52":{"position":[[1260,5]]}}}],["basic",{"_index":430,"t":{"48":{"position":[[36,5]]}}}],["becom",{"_index":564,"t":{"63":{"position":[[442,7]]},"65":{"position":[[410,7]]},"105":{"position":[[305,7]]}}}],["begin",{"_index":609,"t":{"69":{"position":[[591,9]]}}}],["behavior",{"_index":844,"t":{"109":{"position":[[294,9]]}}}],["behaviour",{"_index":873,"t":{"111":{"position":[[1049,10]]}}}],["belong",{"_index":894,"t":{"116":{"position":[[359,7],[943,7],[1455,7]]}}}],["below",{"_index":367,"t":{"42":{"position":[[644,6]]}}}],["between",{"_index":263,"t":{"36":{"position":[[805,7],[1441,7]]}}}],["bin",{"_index":172,"t":{"26":{"position":[[186,4]]}}}],["bin/hermit.hcl",{"_index":149,"t":{"21":{"position":[[361,14]]}}}],["binari",{"_index":156,"t":{"21":{"position":[[495,8]]}}}],["bit",{"_index":258,"t":{"36":{"position":[[722,3],[1358,3]]},"85":{"position":[[42,5],[58,5]]}}}],["block/ftl",{"_index":140,"t":{"21":{"position":[[134,9]]}}}],["blue",{"_index":788,"t":{"95":{"position":[[158,4],[172,6]]}}}],["blue(\"blu",{"_index":791,"t":{"95":{"position":[[279,13],[352,13]]}}}],["bodi",{"_index":487,"t":{"52":{"position":[[60,5],[735,5],[1022,4],[1053,4],[1163,5]]}}}],["bool",{"_index":738,"t":{"85":{"position":[[94,5]]},"87":{"position":[[143,4],[148,4],[283,4],[492,4]]}}}],["boolean",{"_index":499,"t":{"52":{"position":[[395,7]]},"87":{"position":[[288,7],[497,7],[505,7]]}}}],["both",{"_index":414,"t":{"44":{"position":[[149,4]]}}}],["brew",{"_index":138,"t":{"21":{"position":[[125,4],[147,4]]}}}],["browser",{"_index":233,"t":{"32":{"position":[[100,7]]}}}],["build",{"_index":64,"t":{"12":{"position":[[242,6]]},"30":{"position":[[174,5]]},"116":{"position":[[410,5]]}}}],["builtin.catchrequestio.quarkus. -Search the documentation +Search the documentation - +

Search the documentation