diff --git a/404.html b/404.html index 2f170ff..d5ca50c 100644 --- a/404.html +++ b/404.html @@ -13,8 +13,8 @@ - - + + diff --git a/about/index.html b/about/index.html index a409384..ded1db7 100644 --- a/about/index.html +++ b/about/index.html @@ -13,8 +13,8 @@ - - + + diff --git a/assets/js/1df93b7f.987b4800.js b/assets/js/1df93b7f.987b4800.js deleted file mode 100644 index fc435c8..0000000 --- a/assets/js/1df93b7f.987b4800.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkzeno_docs=self.webpackChunkzeno_docs||[]).push([[237],{1102:(e,r,a)=>{a.r(r),a.d(r,{Header:()=>S,default:()=>A});var s=a(7294);const t={features:"features_W7HZ",featureIcon:"featureIcon_gQli",featureContainer:"featureContainer_Wcy2",right:"right_YwHL",reportWrapper:"reportWrapper_eCmj",left:"left_FszU",featureWrapper:"featureWrapper_dAPo",centerText:"centerText_t2Um",featureArrow:"featureArrow_wgdb"};var i=a(5893);let n={width:"300px",objectFit:"contain",border:"1px solid var(--gray)",borderRadius:"4px",margin:"5px",padding:"10px",background:"white"};function o(){return(0,i.jsxs)("div",{className:t.reportWrapper,children:[(0,i.jsxs)("div",{className:t.left,children:[(0,i.jsx)(S,{title:"Chart",summary:"Chart Building",description:"Create beautiful, interactive visualizations to compare model performnce across slices and models"}),(0,i.jsx)("p",{children:"Use Zeno's drag-and-drop interface to create interactive charts. Create a radar chart comparing multiple models on different slices of your data, or a beeswarm plot to compare hundreds of models."})]}),(0,i.jsxs)("div",{className:t.right,children:[(0,i.jsx)("img",{style:n,src:a(9049).Z,alt:"Screenshot of radar chart"}),(0,i.jsxs)("div",{style:{display:"flex",flexDirection:"column"},children:[(0,i.jsx)("img",{style:{...n,width:"300px"},src:a(1310).Z,alt:"Screenshot of bar chart"}),(0,i.jsx)("img",{style:{...n,width:"300px"},src:a(725).Z,alt:"Screenshot of beeswarm chart"})]})]})]})}const c={inactiveSelection:"inactiveSelection_NgIz",activeSelection:"activeSelection_w56X",extra:"extra_Nxf1",imageContainer:"imageContainer_G9mi",selectContainer:"selectContainer_y8mD",container:"container_p8me",sideBar:"sideBar_jq7U"};function d(e){let{select:r}=e;return(0,i.jsx)(i.Fragment,{children:(0,i.jsx)("span",{children:r})})}function l(e){const[r,a]=(0,s.useState)(e.default);let t=(0,i.jsx)("div",{children:e.list.map(((e,s)=>(0,i.jsx)("div",{className:r==e.select?c.activeSelection:c.inactiveSelection,onClick:()=>a(e.select),children:(0,i.jsx)(d,{...e},s)},e.select)))});return(0,i.jsxs)("div",{className:c.container,children:[(0,i.jsxs)("div",{className:c.sideBar,children:[(0,i.jsx)(S,{title:"Explore",summary:"Data Exploration",description:"Visualize any type of data with Zeno, from images to text, audio, sensor data, and more."}),t]}),(0,i.jsx)("div",{id:c.imageContainer,children:e.list.find((e=>e.select==r)).images.map((e=>(0,i.jsx)("img",{style:{maxHeight:"130px",maxWidth:"180px",objectFit:"cover",padding:"10px",background:"white",borderRadius:"4px",border:"1px solid var(--gray)",boxShadow:"0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)"},src:e,alt:"Example image from Imagenette"},e)))})]})}const p=[{select:"Image Classification",images:[a(2500).Z,a(3598).Z,a(4422).Z,a(3360).Z]},{select:"Audio Transcription",images:[a(9868).Z,a(5414).Z,a(1291).Z]},{select:"Activity Recognition",images:[a(7765).Z,a(5744).Z,a(7806).Z]}];function m(){return(0,i.jsx)("div",{children:(0,i.jsx)(l,{default:"Image Classification",list:p})})}var h=a(9960);const u={demo:"demo_AlZc"};function x(){return(0,i.jsx)("div",{style:{paddingBottom:"30px",paddingTop:"20px",textAlign:"center"},children:(0,i.jsx)("video",{controls:!0,autoPlay:!0,loop:!0,className:u.demo,muted:!0,children:(0,i.jsx)("source",{src:a(1158).Z,type:"video/mp4"})})})}const f={buttons:"buttons_k5hz",headerContainer:"headerContainer_WVwZ",gradientAnimation:"gradientAnimation_naSo",header:"header_Mi5r","video-div":"video-div_VH_T",video:"video_OYur",subheader:"subheader_SmHf"};function g(){return(0,i.jsxs)("div",{className:f.headerContainer,children:[(0,i.jsxs)("div",{className:f.header,children:[(0,i.jsx)("h1",{style:{fontSize:"72px",textAlign:"center",fontFamily:"'Hammersmith One'"},children:"AI Evaluation Made Easy"}),(0,i.jsxs)("h4",{className:f.subheader,children:["Discover how your AI performs with ",(0,i.jsx)("b",{children:"Zeno"}),".",(0,i.jsx)("br",{})," Explore your data, uncover failures, and create beautiful, interactive charts."]}),(0,i.jsx)("div",{className:f.buttons,style:{justifyContent:"space-between",alignItems:"center"},children:(0,i.jsxs)("div",{className:f.buttons,children:[(0,i.jsx)(h.Z,{className:"button button--lg heroButtonSecondary",to:"/docs/intro",children:"Get Started"}),(0,i.jsx)(h.Z,{className:"button button--lg heroButtonSecondary",to:"https://hub.zenoml.com/",children:"Explore Projects"})]})})]}),(0,i.jsx)(x,{})]})}const j={features:"features_N6IB",featureIcon:"featureIcon_rmdW",featureContainer:"featureContainer_SLkJ",left:"left_O3yX",reportWrapper:"reportWrapper_ebr_",right:"right_polk",featureWrapper:"featureWrapper_cfuJ",centerText:"centerText_Y6dT",featureArrow:"featureArrow_z2Zn",imageWrapper:"imageWrapper_Oeyn"};function b(){return(0,i.jsxs)("div",{className:j.reportWrapper,children:[(0,i.jsx)("div",{className:j.left,style:{},children:(0,i.jsx)("div",{className:j.imageWrapper})}),(0,i.jsxs)("div",{className:j.right,children:[(0,i.jsx)(S,{title:"Report",summary:"Report Authoring",description:"Create reports with interactive visualizations and markdown"}),(0,i.jsx)("p",{children:"Visualizations can be combined with rich markdown text to share insights and tell stories about your data and model performance."}),(0,i.jsx)("p",{children:"Reports can be authored collaboratively and published broadly."})]})]})}const v={group:"group_TloA",logo:"logo_C80N",intro:"intro_LOa1",sponsorsWrap:"sponsorsWrap_FSlr"};function _(e){return(0,i.jsxs)("div",{className:v.sponsorsWrap,children:[(0,i.jsx)("p",{className:v.intro,children:"Sponsors and Organizations"}),(0,i.jsxs)("div",{className:v.group,children:[(0,i.jsx)("img",{src:"/img/mozilla-text.png",height:"35px",className:v.logo,alt:"Mozilla logo"}),(0,i.jsx)("img",{src:"/img/nsf-logo.png",height:"80px",className:v.logo,alt:"NSF logo"}),(0,i.jsx)("img",{src:"/img/cmu.png",height:"80px",className:v.logo,alt:"CMU logo"})]})]})}const y={container:"container_nvTN",iframe:"iframe_IiAB"};function Z(e){return(0,i.jsxs)("div",{className:y.container,children:[(0,i.jsx)(S,{title:"Trending",summary:"Trending Projects and Reports",description:"Explore popular public projects and reports on Zeno Hub"}),(0,i.jsx)("br",{}),(0,i.jsx)("div",{className:y.iframe,children:(0,i.jsx)("iframe",{height:"250",width:"100%",src:"https://hub.zenoml.com/embed/entry/featured/4"})})]})}var N=a(6040);const w={features:"features_pb7u",featureIcon:"featureIcon_lhpU",featureContainer:"featureContainer_jIO2",left:"left_Maf5",reportWrapper:"reportWrapper_sYdM",right:"right_DfxE",featureWrapper:"featureWrapper_LUM4",centerText:"centerText_qhct",featureArrow:"featureArrow_uwrn"};let C={padding:"50px",width:"500px"};function W(){return(0,i.jsxs)("div",{className:w.reportWrapper,children:[(0,i.jsx)("div",{className:w.left,children:(0,i.jsx)("img",{style:C,src:a(1714).Z,alt:"Screenshot of radar chart"})}),(0,i.jsxs)("div",{className:w.right,children:[(0,i.jsx)(S,{title:"Error Discovery",summary:"Error Discovery",description:"Discover where your models fail with automated error analysis."}),(0,i.jsxs)("p",{children:["Zeno includes advanced error discovery techniques such as"," ",(0,i.jsx)("a",{href:"https://research.google/pubs/slice-finder-automated-data-slicing-for-model-validation/",children:"slice finder"})," ","to automatically surface your models' systematic failures."]})]})]})}function S(e){let{title:r,summary:a,description:s}=e;return(0,i.jsxs)("div",{children:[(0,i.jsx)("h2",{style:{fontSize:"40px"},children:a}),(0,i.jsx)("h3",{className:"headerDescription",children:s})]})}function A(){return(0,i.jsx)(N.Z,{title:"Zeno",description:"AI Evaluation Platform",children:(0,i.jsxs)("div",{id:"homepage",children:[(0,i.jsx)(g,{}),(0,i.jsxs)("div",{id:"pageWrapper",children:[(0,i.jsx)("br",{}),(0,i.jsx)(Z,{})]}),(0,i.jsx)("hr",{}),(0,i.jsxs)("div",{id:"pageWrapper",children:[(0,i.jsx)(m,{}),(0,i.jsx)("hr",{}),(0,i.jsx)(W,{}),(0,i.jsx)("hr",{}),(0,i.jsx)(o,{}),(0,i.jsx)("hr",{}),(0,i.jsx)(b,{}),(0,i.jsx)("hr",{}),(0,i.jsx)(_,{})]})]})})}},7765:(e,r,a)=>{a.d(r,{Z:()=>s});const s=a.p+"assets/images/1-d46c0a4b263080d82666ee3eeaa19b7c.png"},5744:(e,r,a)=>{a.d(r,{Z:()=>s});const s=a.p+"assets/images/2-4616bdb492dc95a08f131845ebe3b42d.png"},7806:(e,r,a)=>{a.d(r,{Z:()=>s});const s=a.p+"assets/images/3-e3638c0d9ea86c47bb449c701d65cc20.png"},9868:(e,r,a)=>{a.d(r,{Z:()=>s});const s=a.p+"assets/images/1-980212b0fdf275543928dc78ff74cf3f.png"},5414:(e,r,a)=>{a.d(r,{Z:()=>s});const s=a.p+"assets/images/2-5919ac3c1c94333e95ff088275099880.png"},1291:(e,r,a)=>{a.d(r,{Z:()=>s});const s=a.p+"assets/images/3-79d496b312a35008c192942ed701c6da.png"},1310:(e,r,a)=>{a.d(r,{Z:()=>s});const s=a.p+"assets/images/bar-chart-a3f2dfb3ada32a34f91e82b8d9c74f54.png"},725:(e,r,a)=>{a.d(r,{Z:()=>s});const s=a.p+"assets/images/beeswarm-chart-263082bc98026ad71f718e81d40101ab.png"},2500:(e,r,a)=>{a.d(r,{Z:()=>s});const s=a.p+"assets/images/1-065acf00e9b9d42f12857ff063a97a18.png"},3598:(e,r,a)=>{a.d(r,{Z:()=>s});const s=a.p+"assets/images/2-a443ac7f0bb30af8720bf05fb7e14e5d.png"},4422:(e,r,a)=>{a.d(r,{Z:()=>s});const s=a.p+"assets/images/3-4abab33c28266a58ee3f41f986d74890.png"},3360:(e,r,a)=>{a.d(r,{Z:()=>s});const s=a.p+"assets/images/4-64d4ce0039f32a40e55d54c7c3029139.png"},9049:(e,r,a)=>{a.d(r,{Z:()=>s});const s=a.p+"assets/images/radar-chart-a28b107c66e92fa882b57212a0045147.png"},1714:(e,r,a)=>{a.d(r,{Z:()=>s});const s=a.p+"assets/images/slice-finder-50ac298b7bd9551ba88fc0f5a934951e.png"},1158:(e,r,a)=>{a.d(r,{Z:()=>s});const s=a.p+"assets/medias/teaser-36c94c9d09a717c3bdd280cb0c1f2d27.mp4"}}]); \ No newline at end of file diff --git a/assets/js/1df93b7f.b3b95058.js b/assets/js/1df93b7f.b3b95058.js new file mode 100644 index 0000000..8c8a572 --- /dev/null +++ b/assets/js/1df93b7f.b3b95058.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkzeno_docs=self.webpackChunkzeno_docs||[]).push([[237],{1102:(e,r,a)=>{a.r(r),a.d(r,{Header:()=>S,default:()=>A});var s=a(7294);const t={features:"features_W7HZ",featureIcon:"featureIcon_gQli",featureContainer:"featureContainer_Wcy2",right:"right_YwHL",reportWrapper:"reportWrapper_eCmj",left:"left_FszU",featureWrapper:"featureWrapper_dAPo",centerText:"centerText_t2Um",featureArrow:"featureArrow_wgdb"};var i=a(5893);let n={width:"300px",objectFit:"contain",border:"1px solid var(--gray)",borderRadius:"4px",margin:"5px",padding:"10px",background:"white"};function o(){return(0,i.jsxs)("div",{className:t.reportWrapper,children:[(0,i.jsxs)("div",{className:t.left,children:[(0,i.jsx)(S,{title:"Chart",summary:"Chart Building",description:"Create beautiful, interactive visualizations to compare model performance across slices and models"}),(0,i.jsx)("p",{children:"Use Zeno's drag-and-drop interface to create interactive charts. Create a radar chart comparing multiple models on different slices of your data, or a beeswarm plot to compare hundreds of models."})]}),(0,i.jsxs)("div",{className:t.right,children:[(0,i.jsx)("img",{style:n,src:a(9049).Z,alt:"Screenshot of radar chart"}),(0,i.jsxs)("div",{style:{display:"flex",flexDirection:"column"},children:[(0,i.jsx)("img",{style:{...n,width:"300px"},src:a(1310).Z,alt:"Screenshot of bar chart"}),(0,i.jsx)("img",{style:{...n,width:"300px"},src:a(725).Z,alt:"Screenshot of beeswarm chart"})]})]})]})}const c={inactiveSelection:"inactiveSelection_NgIz",activeSelection:"activeSelection_w56X",extra:"extra_Nxf1",imageContainer:"imageContainer_G9mi",selectContainer:"selectContainer_y8mD",container:"container_p8me",sideBar:"sideBar_jq7U"};function d(e){let{select:r}=e;return(0,i.jsx)(i.Fragment,{children:(0,i.jsx)("span",{children:r})})}function l(e){const[r,a]=(0,s.useState)(e.default);let t=(0,i.jsx)("div",{children:e.list.map(((e,s)=>(0,i.jsx)("div",{className:r==e.select?c.activeSelection:c.inactiveSelection,onClick:()=>a(e.select),children:(0,i.jsx)(d,{...e},s)},e.select)))});return(0,i.jsxs)("div",{className:c.container,children:[(0,i.jsxs)("div",{className:c.sideBar,children:[(0,i.jsx)(S,{title:"Explore",summary:"Data Exploration",description:"Visualize any type of data with Zeno, from images to text, audio, sensor data, and more."}),t]}),(0,i.jsx)("div",{id:c.imageContainer,children:e.list.find((e=>e.select==r)).images.map((e=>(0,i.jsx)("img",{style:{maxHeight:"130px",maxWidth:"180px",objectFit:"cover",padding:"10px",background:"white",borderRadius:"4px",border:"1px solid var(--gray)",boxShadow:"0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)"},src:e,alt:"Example image from Imagenette"},e)))})]})}const p=[{select:"Image Classification",images:[a(2500).Z,a(3598).Z,a(4422).Z,a(3360).Z]},{select:"Audio Transcription",images:[a(9868).Z,a(5414).Z,a(1291).Z]},{select:"Activity Recognition",images:[a(7765).Z,a(5744).Z,a(7806).Z]}];function m(){return(0,i.jsx)("div",{children:(0,i.jsx)(l,{default:"Image Classification",list:p})})}var h=a(9960);const u={demo:"demo_AlZc"};function x(){return(0,i.jsx)("div",{style:{paddingBottom:"30px",paddingTop:"20px",textAlign:"center"},children:(0,i.jsx)("video",{controls:!0,autoPlay:!0,loop:!0,className:u.demo,muted:!0,children:(0,i.jsx)("source",{src:a(1158).Z,type:"video/mp4"})})})}const f={buttons:"buttons_k5hz",headerContainer:"headerContainer_WVwZ",gradientAnimation:"gradientAnimation_naSo",header:"header_Mi5r","video-div":"video-div_VH_T",video:"video_OYur",subheader:"subheader_SmHf"};function g(){return(0,i.jsxs)("div",{className:f.headerContainer,children:[(0,i.jsxs)("div",{className:f.header,children:[(0,i.jsx)("h1",{style:{fontSize:"72px",textAlign:"center",fontFamily:"'Hammersmith One'"},children:"AI Evaluation Made Easy"}),(0,i.jsxs)("h4",{className:f.subheader,children:["Discover how your AI performs with ",(0,i.jsx)("b",{children:"Zeno"}),".",(0,i.jsx)("br",{})," Explore your data, uncover failures, and create beautiful, interactive charts."]}),(0,i.jsx)("div",{className:f.buttons,style:{justifyContent:"space-between",alignItems:"center"},children:(0,i.jsxs)("div",{className:f.buttons,children:[(0,i.jsx)(h.Z,{className:"button button--lg heroButtonSecondary",to:"/docs/intro",children:"Get Started"}),(0,i.jsx)(h.Z,{className:"button button--lg heroButtonSecondary",to:"https://hub.zenoml.com/",children:"Explore Projects"})]})})]}),(0,i.jsx)(x,{})]})}const j={features:"features_N6IB",featureIcon:"featureIcon_rmdW",featureContainer:"featureContainer_SLkJ",left:"left_O3yX",reportWrapper:"reportWrapper_ebr_",right:"right_polk",featureWrapper:"featureWrapper_cfuJ",centerText:"centerText_Y6dT",featureArrow:"featureArrow_z2Zn",imageWrapper:"imageWrapper_Oeyn"};function b(){return(0,i.jsxs)("div",{className:j.reportWrapper,children:[(0,i.jsx)("div",{className:j.left,style:{},children:(0,i.jsx)("div",{className:j.imageWrapper})}),(0,i.jsxs)("div",{className:j.right,children:[(0,i.jsx)(S,{title:"Report",summary:"Report Authoring",description:"Create reports with interactive visualizations and markdown"}),(0,i.jsx)("p",{children:"Visualizations can be combined with rich markdown text to share insights and tell stories about your data and model performance."}),(0,i.jsx)("p",{children:"Reports can be authored collaboratively and published broadly."})]})]})}const v={group:"group_TloA",logo:"logo_C80N",intro:"intro_LOa1",sponsorsWrap:"sponsorsWrap_FSlr"};function _(e){return(0,i.jsxs)("div",{className:v.sponsorsWrap,children:[(0,i.jsx)("p",{className:v.intro,children:"Sponsors and Organizations"}),(0,i.jsxs)("div",{className:v.group,children:[(0,i.jsx)("img",{src:"/img/mozilla-text.png",height:"35px",className:v.logo,alt:"Mozilla logo"}),(0,i.jsx)("img",{src:"/img/nsf-logo.png",height:"80px",className:v.logo,alt:"NSF logo"}),(0,i.jsx)("img",{src:"/img/cmu.png",height:"80px",className:v.logo,alt:"CMU logo"})]})]})}const y={container:"container_nvTN",iframe:"iframe_IiAB"};function Z(e){return(0,i.jsxs)("div",{className:y.container,children:[(0,i.jsx)(S,{title:"Trending",summary:"Trending Projects and Reports",description:"Explore popular public projects and reports on Zeno Hub"}),(0,i.jsx)("br",{}),(0,i.jsx)("div",{className:y.iframe,children:(0,i.jsx)("iframe",{height:"250",width:"100%",src:"https://hub.zenoml.com/embed/entry/featured/4"})})]})}var N=a(6040);const w={features:"features_pb7u",featureIcon:"featureIcon_lhpU",featureContainer:"featureContainer_jIO2",left:"left_Maf5",reportWrapper:"reportWrapper_sYdM",right:"right_DfxE",featureWrapper:"featureWrapper_LUM4",centerText:"centerText_qhct",featureArrow:"featureArrow_uwrn"};let C={padding:"50px",width:"500px"};function W(){return(0,i.jsxs)("div",{className:w.reportWrapper,children:[(0,i.jsx)("div",{className:w.left,children:(0,i.jsx)("img",{style:C,src:a(1714).Z,alt:"Screenshot of radar chart"})}),(0,i.jsxs)("div",{className:w.right,children:[(0,i.jsx)(S,{title:"Error Discovery",summary:"Error Discovery",description:"Discover where your models fail with automated error analysis."}),(0,i.jsxs)("p",{children:["Zeno includes advanced error discovery techniques such as"," ",(0,i.jsx)("a",{href:"https://research.google/pubs/slice-finder-automated-data-slicing-for-model-validation/",children:"slice finder"})," ","to automatically surface your models' systematic failures."]})]})]})}function S(e){let{title:r,summary:a,description:s}=e;return(0,i.jsxs)("div",{children:[(0,i.jsx)("h2",{style:{fontSize:"40px"},children:a}),(0,i.jsx)("h3",{className:"headerDescription",children:s})]})}function A(){return(0,i.jsx)(N.Z,{title:"Zeno",description:"AI Evaluation Platform",children:(0,i.jsxs)("div",{id:"homepage",children:[(0,i.jsx)(g,{}),(0,i.jsxs)("div",{id:"pageWrapper",children:[(0,i.jsx)("br",{}),(0,i.jsx)(Z,{})]}),(0,i.jsx)("hr",{}),(0,i.jsxs)("div",{id:"pageWrapper",children:[(0,i.jsx)(m,{}),(0,i.jsx)("hr",{}),(0,i.jsx)(W,{}),(0,i.jsx)("hr",{}),(0,i.jsx)(o,{}),(0,i.jsx)("hr",{}),(0,i.jsx)(b,{}),(0,i.jsx)("hr",{}),(0,i.jsx)(_,{})]})]})})}},7765:(e,r,a)=>{a.d(r,{Z:()=>s});const s=a.p+"assets/images/1-d46c0a4b263080d82666ee3eeaa19b7c.png"},5744:(e,r,a)=>{a.d(r,{Z:()=>s});const s=a.p+"assets/images/2-4616bdb492dc95a08f131845ebe3b42d.png"},7806:(e,r,a)=>{a.d(r,{Z:()=>s});const s=a.p+"assets/images/3-e3638c0d9ea86c47bb449c701d65cc20.png"},9868:(e,r,a)=>{a.d(r,{Z:()=>s});const s=a.p+"assets/images/1-980212b0fdf275543928dc78ff74cf3f.png"},5414:(e,r,a)=>{a.d(r,{Z:()=>s});const s=a.p+"assets/images/2-5919ac3c1c94333e95ff088275099880.png"},1291:(e,r,a)=>{a.d(r,{Z:()=>s});const s=a.p+"assets/images/3-79d496b312a35008c192942ed701c6da.png"},1310:(e,r,a)=>{a.d(r,{Z:()=>s});const s=a.p+"assets/images/bar-chart-a3f2dfb3ada32a34f91e82b8d9c74f54.png"},725:(e,r,a)=>{a.d(r,{Z:()=>s});const s=a.p+"assets/images/beeswarm-chart-263082bc98026ad71f718e81d40101ab.png"},2500:(e,r,a)=>{a.d(r,{Z:()=>s});const s=a.p+"assets/images/1-065acf00e9b9d42f12857ff063a97a18.png"},3598:(e,r,a)=>{a.d(r,{Z:()=>s});const s=a.p+"assets/images/2-a443ac7f0bb30af8720bf05fb7e14e5d.png"},4422:(e,r,a)=>{a.d(r,{Z:()=>s});const s=a.p+"assets/images/3-4abab33c28266a58ee3f41f986d74890.png"},3360:(e,r,a)=>{a.d(r,{Z:()=>s});const s=a.p+"assets/images/4-64d4ce0039f32a40e55d54c7c3029139.png"},9049:(e,r,a)=>{a.d(r,{Z:()=>s});const s=a.p+"assets/images/radar-chart-a28b107c66e92fa882b57212a0045147.png"},1714:(e,r,a)=>{a.d(r,{Z:()=>s});const s=a.p+"assets/images/slice-finder-50ac298b7bd9551ba88fc0f5a934951e.png"},1158:(e,r,a)=>{a.d(r,{Z:()=>s});const s=a.p+"assets/medias/teaser-36c94c9d09a717c3bdd280cb0c1f2d27.mp4"}}]); \ No newline at end of file diff --git a/assets/js/6df9c4f6.d3337738.js b/assets/js/6df9c4f6.d3337738.js new file mode 100644 index 0000000..8d9c1a5 --- /dev/null +++ b/assets/js/6df9c4f6.d3337738.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkzeno_docs=self.webpackChunkzeno_docs||[]).push([[617],{528:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>a,default:()=>h,frontMatter:()=>s,metadata:()=>o,toc:()=>d});var i=n(5893),r=n(1151);const s={sidebar_position:3},a="Integrations",o={id:"integrations/integrations",title:"Integrations",description:"Zeno can be used in combination with other libraries, such as benchmarking suites and model chaining frameworks.",source:"@site/docs/integrations/integrations.mdx",sourceDirName:"integrations",slug:"/integrations/",permalink:"/docs/integrations/",draft:!1,unlisted:!1,tags:[],version:"current",sidebarPosition:3,frontMatter:{sidebar_position:3},sidebar:"tutorialSidebar",previous:{title:"Audio Transcription",permalink:"/docs/examples/transcription"},next:{title:"EleutherAI",permalink:"/docs/integrations/eleuther"}},c={},d=[];function l(e){const t={a:"a",h1:"h1",p:"p",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,r.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.h1,{id:"integrations",children:"Integrations"}),"\n",(0,i.jsx)(t.p,{children:"Zeno can be used in combination with other libraries, such as benchmarking suites and model chaining frameworks."}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{children:"Example"}),(0,i.jsx)(t.th,{children:"Description"})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.a,{href:"./eleuther",children:"EleutherAI LM Evaluation Harness"})}),(0,i.jsxs)(t.td,{children:["The ",(0,i.jsx)(t.a,{href:"https://github.com/EleutherAI/lm-evaluation-harness",children:"LM Evaluation Harness"})," by EleutherAI is a popular benchmarking framework for LLMs. Zeno can be used to visualize the benchmark outputs!"]})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.a,{href:"./ragas",children:"Ragas"})}),(0,i.jsxs)(t.td,{children:[(0,i.jsx)(t.a,{href:"https://docs.ragas.io/en/latest/index.html",children:"Ragas"})," is a powerful library for evaluating RAG applications. Dive deeper into the metrics and evaluate your RAG applications with Zeno."]})]})]})]})]})}function h(e={}){const{wrapper:t}={...(0,r.a)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(l,{...e})}):l(e)}},1151:(e,t,n)=>{n.d(t,{Z:()=>o,a:()=>a});var i=n(7294);const r={},s=i.createContext(r);function a(e){const t=i.useContext(s);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:a(e.components),i.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/7009d80f.34d5d5df.js b/assets/js/7009d80f.34d5d5df.js new file mode 100644 index 0000000..b226add --- /dev/null +++ b/assets/js/7009d80f.34d5d5df.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkzeno_docs=self.webpackChunkzeno_docs||[]).push([[157],{5644:(M,i,N)=>{N.r(i),N.d(i,{assets:()=>t,contentTitle:()=>s,default:()=>D,frontMatter:()=>e,metadata:()=>j,toc:()=>T});var I=N(5893),a=N(1151);const e={},s="Ragas",j={id:"integrations/ragas",title:"Ragas",description:"Open with Zeno",source:"@site/docs/integrations/ragas.mdx",sourceDirName:"integrations",slug:"/integrations/ragas",permalink:"/docs/integrations/ragas",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"EleutherAI",permalink:"/docs/integrations/eleuther"},next:{title:"Tutorials",permalink:"/docs/tutorials/"}},t={},T=[];function g(M){const i={a:"a",h1:"h1",img:"img",p:"p",...(0,a.a)(),...M.components};return(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(i.h1,{id:"ragas",children:"Ragas"}),"\n",(0,I.jsx)(i.p,{children:(0,I.jsx)(i.a,{href:"https://hub.zenoml.com/project/b35c83b8-0b22-4b9c-aedb-80964011d7a7/Ragas%20FICA%20eval",children:(0,I.jsx)(i.img,{src:"https://img.shields.io/badge/%20-Open_with_Zeno-612593.svg?labelColor=white&logo=data:image/svg%2bxml;base64,PHN2ZyB3aWR0aD0iMzMiIGhlaWdodD0iMzMiIHZpZXdCb3g9IjAgMCAzMyAzMyIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTMyIDE1Ljc4NDJMMTYuNDg2MiAxNS43ODQyTDE2LjQ4NjIgMC4yNzA0MDFMMjQuMzAyIDguMDg2MTdMMzIgMTUuNzg0MloiIGZpbGw9IiM2MTI1OTMiLz4KPHBhdGggZD0iTTE1Ljc5MTcgMTUuODMxMUw4LjAzNDc5IDguMDc0MjJMMTUuNzkxNyAwLjMxNzMyOEwxNS43OTE3IDE1LjgzMTFaIiBmaWxsPSIjNjEyNTkzIiBmaWxsLW9wYWNpdHk9IjAuOCIvPgo8cGF0aCBkPSJNMTQuODY1NSAxNS44MzExTDcuNTk0ODUgMTUuODMxMUw3LjU5NDg1IDguNTYwNDJMMTQuODY1NSAxNS44MzExWiIgZmlsbD0iIzYxMjU5MyIgZmlsbC1vcGFjaXR5PSIwLjYiLz4KPHBhdGggZD0iTTYuMTEyOSAxNS44MzExTDMuMjQxNyAxNS44MzExTDMuMjQxNyAxMi44NjcyTDYuMTEyOSAxNS44MzExWiIgZmlsbD0iIzZBMUI5QSIgZmlsbC1vcGFjaXR5PSIwLjQiLz4KPHBhdGggZD0iTTIuNzMyMjggMTUuODMxTDEuNTE1NSAxNC42MTQzTDIuNzQyNzEgMTMuMzg3TDIuNzMyMjggMTUuODMxWiIgZmlsbD0iIzZBMUI5QSIgZmlsbC1vcGFjaXR5PSIwLjMiLz4KPHBhdGggZD0iTTIuMDM3NiAxNS43ODQyTDEuMTU3NzEgMTUuNzg0MkwxLjE1NzcxIDE0Ljk1MDZMMi4wMzc2IDE1Ljc4NDJaIiBmaWxsPSIjNkExQjlBIiBmaWxsLW9wYWNpdHk9IjAuMiIvPgo8cGF0aCBkPSJNMC44MzM1NjggMTUuNzg0MUwwLjUwOTM5OSAxNS40NkwwLjgzMzU2NyAxNS4xMzU4TDAuODMzNTY4IDE1Ljc4NDFaIiBmaWxsPSIjNjEyNTkzIiBmaWxsLW9wYWNpdHk9IjAuMSIvPgo8cGF0aCBkPSJNMC4xMDYxODcgMTUuNzk0NEwwLjMwMTAyNSAxNS41OTk2TDAuNDk1ODYzIDE1Ljc5NDRIMC4xMDYxODdaIiBmaWxsPSIjNjEyNTkzIiBmaWxsLW9wYWNpdHk9IjAuMSIvPgo8cGF0aCBkPSJNNi45NTIxMyAxNS44MjQ4TDMuNjQwOTkgMTIuNTEzN0w2Ljk2OTYzIDkuMTg1MDNMNi45NTIxMyAxNS44MjQ4WiIgZmlsbD0iIzYxMjU5MyIgZmlsbC1vcGFjaXR5PSIwLjUiLz4KPHBhdGggZD0iTTAuMjk0MjM1IDE2LjQ3OTVMMTUuODA4IDE2LjQ3OTVMMTUuODA4IDMxLjk5MzNMNy45OTIyMyAyNC4xNzc1TDAuMjk0MjM1IDE2LjQ3OTVaIiBmaWxsPSIjNjEyNTkzIi8+CjxwYXRoIGQ9Ik0xNi40OTU2IDE3LjI0MzZMMjMuODUwNyAyNC41ODVMMTYuNDk1NiAzMS45NEwxNi40OTU2IDE3LjI0MzZaIiBmaWxsPSIjNjEyNTkzIiBmaWxsLW9wYWNpdHk9IjAuOCIvPgo8cGF0aCBkPSJNMTYuNTMyNiAxNi40Nzk1TDI0LjQ1MTUgMTYuNDc5NUwyNC40NTE1IDI0LjAyOEwxNi41MzI2IDE2LjQ3OTVaIiBmaWxsPSIjNjEyNTkzIiBmaWxsLW9wYWNpdHk9IjAuNiIvPgo8cGF0aCBkPSJNMjYuMTgxMyAxNi40MzI2TDI5LjA1MjUgMTYuNDMyNkwyOS4wNTI1IDE5LjM5NjRMMjYuMTgxMyAxNi40MzI2WiIgZmlsbD0iIzZBMUI5QSIgZmlsbC1vcGFjaXR5PSIwLjQiLz4KPHBhdGggZD0iTTI5LjU2MTkgMTYuNDMyNkwzMC43Nzg3IDE3LjY0OTRMMjkuNTUxNSAxOC44NzY2TDI5LjU2MTkgMTYuNDMyNloiIGZpbGw9IiM2QTFCOUEiIGZpbGwtb3BhY2l0eT0iMC4zIi8+CjxwYXRoIGQ9Ik0zMC4yNTY2IDE2LjQ3OTVMMzEuMTM2NSAxNi40Nzk1TDMxLjEzNjUgMTcuMzEzMUwzMC4yNTY2IDE2LjQ3OTVaIiBmaWxsPSIjNkExQjlBIiBmaWxsLW9wYWNpdHk9IjAuMiIvPgo8cGF0aCBkPSJNMzEuNDYwNiAxNi40Nzk1TDMxLjc4NDggMTYuODAzN0wzMS40NjA2IDE3LjEyNzlMMzEuNDYwNiAxNi40Nzk1WiIgZmlsbD0iIzYxMjU5MyIgZmlsbC1vcGFjaXR5PSIwLjEiLz4KPHBhdGggZD0iTTMyLjE4OCAxNi40NjkyTDMxLjk5MzIgMTYuNjY0MUwzMS43OTgzIDE2LjQ2OTJIMzIuMTg4WiIgZmlsbD0iIzYxMjU5MyIgZmlsbC1vcGFjaXR5PSIwLjEiLz4KPHBhdGggZD0iTTI1LjM0MjEgMTYuNDM4OUwyOC42NTMyIDE5Ljc1TDI1LjMyNDYgMjMuMDc4NkwyNS4zNDIxIDE2LjQzODlaIiBmaWxsPSIjNjEyNTkzIiBmaWxsLW9wYWNpdHk9IjAuNSIvPgo8L3N2Zz4K",alt:"Open with Zeno"})})}),"\n",(0,I.jsx)(i.p,{children:"Zeno can be used to easily visualize and explore the results of Ragas evaluations.\nYou can see how Ragas results can be visualized in the Zeno project linked at the top of this page."}),"\n",(0,I.jsxs)(i.p,{children:["To learn more about how to use Zeno in combination with Ragas, head over to the ",(0,I.jsx)(i.a,{href:"https://docs.ragas.io/en/latest/howtos/integrations/zeno.html",children:"documentation in the Ragas repository"}),"."]})]})}function D(M={}){const{wrapper:i}={...(0,a.a)(),...M.components};return i?(0,I.jsx)(i,{...M,children:(0,I.jsx)(g,{...M})}):g(M)}},1151:(M,i,N)=>{N.d(i,{Z:()=>j,a:()=>s});var I=N(7294);const a={},e=I.createContext(a);function s(M){const i=I.useContext(e);return I.useMemo((function(){return"function"==typeof M?M(i):{...i,...M}}),[i,M])}function j(M){let i;return i=M.disableParentContext?"function"==typeof M.components?M.components(a):M.components||a:s(M.components),I.createElement(e.Provider,{value:i},M.children)}}}]); \ No newline at end of file diff --git a/assets/js/86c78be4.57836170.js b/assets/js/86c78be4.57836170.js new file mode 100644 index 0000000..dc550c7 --- /dev/null +++ b/assets/js/86c78be4.57836170.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkzeno_docs=self.webpackChunkzeno_docs||[]).push([[3],{5705:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>s,default:()=>u,frontMatter:()=>o,metadata:()=>r,toc:()=>d});var a=t(5893),i=t(1151);const o={},s="Audio Transcription",r={id:"examples/transcription",title:"Audio Transcription",description:"Open with Zeno",source:"@site/docs/examples/transcription.mdx",sourceDirName:"examples",slug:"/examples/transcription",permalink:"/docs/examples/transcription",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"Example Use Cases",permalink:"/docs/examples/"},next:{title:"Integrations",permalink:"/docs/integrations/"}},l={},d=[{value:"Dependencies",id:"dependencies",level:2},{value:"Imports",id:"imports",level:2},{value:"Loading Metadata",id:"loading-metadata",level:3},{value:"Adding New Features",id:"adding-new-features",level:3},{value:"Create a Zeno Project",id:"create-a-zeno-project",level:3},{value:"Running Inference and Uploading Results",id:"running-inference-and-uploading-results",level:3},{value:"Conclusion",id:"conclusion",level:2}];function c(e){const n={a:"a",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",img:"img",p:"p",pre:"pre",...(0,i.a)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(n.h1,{id:"audio-transcription",children:"Audio Transcription"}),"\n",(0,a.jsxs)(n.p,{children:[(0,a.jsx)(n.a,{href:"https://hub.zenoml.com/project/62ec4e74-7358-4801-b80c-d19e51ff2a4f/Audio%20Transcription%20Accents",children:(0,a.jsx)(n.img,{src:"https://img.shields.io/badge/%20-Open_with_Zeno-612593.svg?labelColor=white&logo=data:image/svg%2bxml;base64,PHN2ZyB3aWR0aD0iMzMiIGhlaWdodD0iMzMiIHZpZXdCb3g9IjAgMCAzMyAzMyIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTMyIDE1Ljc4NDJMMTYuNDg2MiAxNS43ODQyTDE2LjQ4NjIgMC4yNzA0MDFMMjQuMzAyIDguMDg2MTdMMzIgMTUuNzg0MloiIGZpbGw9IiM2MTI1OTMiLz4KPHBhdGggZD0iTTE1Ljc5MTcgMTUuODMxMUw4LjAzNDc5IDguMDc0MjJMMTUuNzkxNyAwLjMxNzMyOEwxNS43OTE3IDE1LjgzMTFaIiBmaWxsPSIjNjEyNTkzIiBmaWxsLW9wYWNpdHk9IjAuOCIvPgo8cGF0aCBkPSJNMTQuODY1NSAxNS44MzExTDcuNTk0ODUgMTUuODMxMUw3LjU5NDg1IDguNTYwNDJMMTQuODY1NSAxNS44MzExWiIgZmlsbD0iIzYxMjU5MyIgZmlsbC1vcGFjaXR5PSIwLjYiLz4KPHBhdGggZD0iTTYuMTEyOSAxNS44MzExTDMuMjQxNyAxNS44MzExTDMuMjQxNyAxMi44NjcyTDYuMTEyOSAxNS44MzExWiIgZmlsbD0iIzZBMUI5QSIgZmlsbC1vcGFjaXR5PSIwLjQiLz4KPHBhdGggZD0iTTIuNzMyMjggMTUuODMxTDEuNTE1NSAxNC42MTQzTDIuNzQyNzEgMTMuMzg3TDIuNzMyMjggMTUuODMxWiIgZmlsbD0iIzZBMUI5QSIgZmlsbC1vcGFjaXR5PSIwLjMiLz4KPHBhdGggZD0iTTIuMDM3NiAxNS43ODQyTDEuMTU3NzEgMTUuNzg0MkwxLjE1NzcxIDE0Ljk1MDZMMi4wMzc2IDE1Ljc4NDJaIiBmaWxsPSIjNkExQjlBIiBmaWxsLW9wYWNpdHk9IjAuMiIvPgo8cGF0aCBkPSJNMC44MzM1NjggMTUuNzg0MUwwLjUwOTM5OSAxNS40NkwwLjgzMzU2NyAxNS4xMzU4TDAuODMzNTY4IDE1Ljc4NDFaIiBmaWxsPSIjNjEyNTkzIiBmaWxsLW9wYWNpdHk9IjAuMSIvPgo8cGF0aCBkPSJNMC4xMDYxODcgMTUuNzk0NEwwLjMwMTAyNSAxNS41OTk2TDAuNDk1ODYzIDE1Ljc5NDRIMC4xMDYxODdaIiBmaWxsPSIjNjEyNTkzIiBmaWxsLW9wYWNpdHk9IjAuMSIvPgo8cGF0aCBkPSJNNi45NTIxMyAxNS44MjQ4TDMuNjQwOTkgMTIuNTEzN0w2Ljk2OTYzIDkuMTg1MDNMNi45NTIxMyAxNS44MjQ4WiIgZmlsbD0iIzYxMjU5MyIgZmlsbC1vcGFjaXR5PSIwLjUiLz4KPHBhdGggZD0iTTAuMjk0MjM1IDE2LjQ3OTVMMTUuODA4IDE2LjQ3OTVMMTUuODA4IDMxLjk5MzNMNy45OTIyMyAyNC4xNzc1TDAuMjk0MjM1IDE2LjQ3OTVaIiBmaWxsPSIjNjEyNTkzIi8+CjxwYXRoIGQ9Ik0xNi40OTU2IDE3LjI0MzZMMjMuODUwNyAyNC41ODVMMTYuNDk1NiAzMS45NEwxNi40OTU2IDE3LjI0MzZaIiBmaWxsPSIjNjEyNTkzIiBmaWxsLW9wYWNpdHk9IjAuOCIvPgo8cGF0aCBkPSJNMTYuNTMyNiAxNi40Nzk1TDI0LjQ1MTUgMTYuNDc5NUwyNC40NTE1IDI0LjAyOEwxNi41MzI2IDE2LjQ3OTVaIiBmaWxsPSIjNjEyNTkzIiBmaWxsLW9wYWNpdHk9IjAuNiIvPgo8cGF0aCBkPSJNMjYuMTgxMyAxNi40MzI2TDI5LjA1MjUgMTYuNDMyNkwyOS4wNTI1IDE5LjM5NjRMMjYuMTgxMyAxNi40MzI2WiIgZmlsbD0iIzZBMUI5QSIgZmlsbC1vcGFjaXR5PSIwLjQiLz4KPHBhdGggZD0iTTI5LjU2MTkgMTYuNDMyNkwzMC43Nzg3IDE3LjY0OTRMMjkuNTUxNSAxOC44NzY2TDI5LjU2MTkgMTYuNDMyNloiIGZpbGw9IiM2QTFCOUEiIGZpbGwtb3BhY2l0eT0iMC4zIi8+CjxwYXRoIGQ9Ik0zMC4yNTY2IDE2LjQ3OTVMMzEuMTM2NSAxNi40Nzk1TDMxLjEzNjUgMTcuMzEzMUwzMC4yNTY2IDE2LjQ3OTVaIiBmaWxsPSIjNkExQjlBIiBmaWxsLW9wYWNpdHk9IjAuMiIvPgo8cGF0aCBkPSJNMzEuNDYwNiAxNi40Nzk1TDMxLjc4NDggMTYuODAzN0wzMS40NjA2IDE3LjEyNzlMMzEuNDYwNiAxNi40Nzk1WiIgZmlsbD0iIzYxMjU5MyIgZmlsbC1vcGFjaXR5PSIwLjEiLz4KPHBhdGggZD0iTTMyLjE4OCAxNi40NjkyTDMxLjk5MzIgMTYuNjY0MUwzMS43OTgzIDE2LjQ2OTJIMzIuMTg4WiIgZmlsbD0iIzYxMjU5MyIgZmlsbC1vcGFjaXR5PSIwLjEiLz4KPHBhdGggZD0iTTI1LjM0MjEgMTYuNDM4OUwyOC42NTMyIDE5Ljc1TDI1LjMyNDYgMjMuMDc4NkwyNS4zNDIxIDE2LjQzODlaIiBmaWxsPSIjNjEyNTkzIiBmaWxsLW9wYWNpdHk9IjAuNSIvPgo8L3N2Zz4K",alt:"Open with Zeno"})}),"\n",(0,a.jsx)(n.a,{href:"https://github.com/zeno-ml/zeno-build/blob/main/transcription/transcription.ipynb",children:(0,a.jsx)(n.img,{src:"https://img.shields.io/badge/%20-Open_Notebook-F37726.svg?labelColor=white&logo=Jupyter",alt:"Open Notebook"})})]}),"\n",(0,a.jsxs)(n.p,{children:["Audio transcription is an essential task for applications such as voice assistants,\npodcast search, and video captioning. There are numerous open-source and commercial\ntools for audio transcription, and it can be difficult to know which one to use.\n",(0,a.jsx)(n.a,{href:"https://github.com/openai/whisper",children:"OpenAI's Whisper"})," API is often people's\ngo-to choice, but there are nine different models to choose from with different\nsizes, speeds, and cost."]}),"\n",(0,a.jsxs)(n.p,{children:["In this example, we'll use Zeno to compare the performance of the different\nmodels on the ",(0,a.jsx)(n.a,{href:"https://accent.gmu.edu/",children:"Speech Accent Archive"})," dataset.\nThe dataset has over 2,000 people from around the world reading the same\nparagraph in English. We'll use the dataset to evaluate the performance of\nthe different models on different accents and English fluency levels."]}),"\n",(0,a.jsx)(n.h2,{id:"dependencies",children:"Dependencies"}),"\n",(0,a.jsx)(n.p,{children:"Let's start by installing the required dependencies for this project:"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-bash",children:"pip install jiwer pandas openai-whisper zeno-client torch transformers tqdm\n"})}),"\n",(0,a.jsxs)(n.p,{children:["Additionally, we'll need ffmpeg to run this example.\nYou can test if it is installed by running ",(0,a.jsx)(n.code,{children:"ffmpeg --help"}),".\nIf it is not found, you should install it through your package manager.\nFor example, if you are using conda, you can just run the following (and other managers such as brew and apt also work)."]}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-bash",children:"conda install ffmpeg\n"})}),"\n",(0,a.jsx)(n.h2,{id:"imports",children:"Imports"}),"\n",(0,a.jsx)(n.p,{children:"After this is all set up, we can now start running our analysis code and uploading data to Zeno.\nWe'll first import relevant libraries which we're going to use:"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-python",children:'from jiwer import wer\nimport os\nimport pandas as pd\nimport whisper\nimport zeno_client\nimport torch\nfrom transformers import AutoModelForSpeechSeq2Seq, AutoProcessor, pipeline\nimport pandas as pd\nimport requests\nfrom io import BytesIO\nimport wave\nimport struct\nfrom tqdm import tqdm\n\ntqdm.pandas()\ndevice = "cuda:0" if torch.cuda.is_available() else "cpu"\ntorch_dtype = torch.float16 if torch.cuda.is_available() else torch.float32\n'})}),"\n",(0,a.jsx)(n.h3,{id:"loading-metadata",children:"Loading Metadata"}),"\n",(0,a.jsxs)(n.p,{children:["We'll be evaluating our model on raw audio, but will use a metadata file with additional information about each audio file ",(0,a.jsx)(n.a,{href:"https://github.com/zeno-ml/zeno-build/blob/main/transcription/speech_accent_archive.csv",children:"here"}),"."]}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-python",children:'df = pd.read_csv("speech_accent_archive.csv")\ndf["data"] = "https://zenoml.s3.amazonaws.com/accents/" + df["id"]\n'})}),"\n",(0,a.jsx)(n.h3,{id:"adding-new-features",children:"Adding New Features"}),"\n",(0,a.jsxs)(n.p,{children:["In Zeno, we'll often want to enrich our metadata with some extra fields that might be useful for our analysis.\nIn this case, we are going to add the ",(0,a.jsx)(n.em,{children:"amplitude"})," and ",(0,a.jsx)(n.em,{children:"length"})," of the audio snippet as additional metadata fields:"]}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-python",children:"# Define the function to get amplitude and length\ndef get_amplitude_and_length_from_url(url):\n # Download the WAV file content from the URL\n try:\n response = requests.get(url)\n response.raise_for_status()\n\n # Use the BytesIO object as input for the wave module\n with wave.open(BytesIO(response.content), 'rb') as wav_file:\n frame_rate = wav_file.getframerate()\n n_frames = wav_file.getnframes()\n n_channels = wav_file.getnchannels()\n sample_width = wav_file.getsampwidth()\n duration = n_frames / frame_rate\n\n frames = wav_file.readframes(n_frames)\n if sample_width == 1: # 8-bit audio\n fmt = '{}B'.format(n_frames * n_channels)\n elif sample_width == 2: # 16-bit audio\n fmt = '{}h'.format(n_frames * n_channels)\n else:\n raise ValueError(\"Only supports up to 16-bit audio.\")\n\n frame_amplitudes = struct.unpack(fmt, frames)\n max_amplitude = max(frame_amplitudes)\n max_amplitude_normalized = max_amplitude / float(int((2 ** (8 * sample_width)) / 2))\n\n return max_amplitude_normalized, duration\n except requests.RequestException as e:\n print(f\"Request failed: {e}\")\n return None, None\n\ndef apply_get_amplitude_and_length(row):\n url = row['data'] # Assuming the URL is in the 'data' column\n amplitude, length = get_amplitude_and_length_from_url(url)\n return pd.Series({'amplitude': amplitude, 'length': length})\n\ndf[['amplitude', 'length']] = df.progress_apply(apply_get_amplitude_and_length, axis=1)\n"})}),"\n",(0,a.jsx)(n.h3,{id:"create-a-zeno-project",children:"Create a Zeno Project"}),"\n",(0,a.jsxs)(n.p,{children:["We can now upload our data to a Zeno project.\nYou will need your ",(0,a.jsx)(n.code,{children:"ZENO_API_KEY"})," here, which you can generate by clicking on your profile at the top right to navigate to your ",(0,a.jsx)(n.a,{href:"https://hub.zenoml.com/account",children:"account page"}),"."]}),"\n",(0,a.jsx)(n.p,{children:"Once you have your API key, you can authenticate with the Zeno client and create a project as follows:"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-python",children:'client = zeno_client.ZenoClient(YOUR_API_KEY)\n\nproject = client.create_project(\n name="Audio Transcription Accents Evaluation",\n view="audio-transcription",\n description="Comparison of multiple audio transcription models",\n metrics=[\n zeno_client.ZenoMetric(name="avg wer", type="mean", columns=["wer"])\n ]\n)\n'})}),"\n",(0,a.jsx)(n.p,{children:"We've already added a metric to our project that will help us track the average word error rate of different systems."}),"\n",(0,a.jsx)(n.p,{children:"You can click on the link provided in the output to start exploring your data!"}),"\n",(0,a.jsx)(n.h3,{id:"running-inference-and-uploading-results",children:"Running Inference and Uploading Results"}),"\n",(0,a.jsx)(n.p,{children:"We can already look at our data in Zeno, but would like to start evaluating the output transcriptions of models.\nLet's run inference for some of the popular OpenAI Whisper models."}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-python",children:'# Define what models to run inference on\nmodels = ["medium.en", "large-v1", "large-v2", "large-v3", "distil-medium.en", "distil-large-v2"]\nos.makedirs("cache", exist_ok=True)\n\n# Load inference data from cache or run inference for each model and add the data to a dataframe.\ndf_systems = []\nfor model_name in models:\n try:\n df_system = pd.read_parquet(f"cache/{model_name}.parquet")\n except:\n df_system = df[["id", "data", "label"]].copy()\n\n if "distil" in model_name:\n model_id = "distil-whisper/" + model_name\n model = AutoModelForSpeechSeq2Seq.from_pretrained(\n model_id, torch_dtype=torch_dtype, low_cpu_mem_usage=True, use_safetensors=True\n )\n model.to(device)\n\n processor = AutoProcessor.from_pretrained(model_id)\n pipe = pipeline(\n "automatic-speech-recognition",\n model=model,\n tokenizer=processor.tokenizer,\n feature_extractor=processor.feature_extractor,\n max_new_tokens=128,\n chunk_length_s=15,\n batch_size=16,\n torch_dtype=torch_dtype,\n device=device,\n )\n df_system["output"] = df_system["data"].progress_apply(lambda x: pipe(x)[\'text\'])\n pass\n else:\n whisper_model = whisper.load_model(model_name)\n df_system["output"] = df_system["data"].progress_apply(\n lambda x: whisper_model.transcribe(x)["text"]\n )\n\n df_system["wer"] = df_system.progress_apply(lambda x: wer(x["label"], x["output"]), axis=1)\n df_system.to_parquet(f"cache/{model_name}.parquet", index=False)\n df_systems.append(df_system)\n'})}),"\n",(0,a.jsx)(n.p,{children:"You can see that we also calculate the word error rate (WER) for each model, a common metric for evaluating transcription models."}),"\n",(0,a.jsx)(n.p,{children:"We can now upload these results to our project:"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-python",children:'for i, df_system in enumerate(df_systems):\n project.upload_system(\n df_system[["id", "output", "wer"]], name=models[i], id_column="id", output_column="output"\n )\n'})}),"\n",(0,a.jsx)(n.h2,{id:"conclusion",children:"Conclusion"}),"\n",(0,a.jsxs)(n.p,{children:["If you've followed this example you should have a Zeno project similar to the one linked at the top of this page.\nLooking at ",(0,a.jsx)(n.a,{href:"https://hub.zenoml.com/project/62ec4e74-7358-4801-b80c-d19e51ff2a4f/Audio%20Transcription%20Accents/explore?params=eyJtb2RlbCI6IndoaXNwZXItYmFzZSIsIm1ldHJpYyI6eyJpZCI6NzYwLCJuYW1lIjoiYXZnX3dlciIsInR5cGUiOiJtZWFuIiwiY29sdW1ucyI6WyJ3ZXIiXX0sImNvbXBhcmlzb25Nb2RlbCI6InNpbGVyb19zc3QiLCJjb21wYXJpc29uQ29sdW1uIjp7ImlkIjoiNDhhYWM0ODgtNmU2Yi00YmNmLTkwYWYtMDUyMzM4OWI3YmNkIiwibmFtZSI6Im91dHB1dCIsImNvbHVtblR5cGUiOiJPVVRQVVQiLCJkYXRhVHlwZSI6Ik5PTUlOQUwiLCJtb2RlbCI6IndoaXNwZXItYmFzZSJ9LCJjb21wYXJlU29ydCI6W251bGwsdHJ1ZV0sIm1ldHJpY1JhbmdlIjpbMCwxLjYyMzE4ODQwNTc5NzEwMTZdLCJzZWxlY3Rpb25zIjp7InNsaWNlcyI6WzU2Ml0sIm1ldGFkYXRhIjp7fSwidGFncyI6W119fQ==",children:"high wer samples"})," by filtering for them using the histograms on the left is a great starting point to start finding the limitations of these state of the art models!"]})]})}function u(e={}){const{wrapper:n}={...(0,i.a)(),...e.components};return n?(0,a.jsx)(n,{...e,children:(0,a.jsx)(c,{...e})}):c(e)}},1151:(e,n,t)=>{t.d(n,{Z:()=>r,a:()=>s});var a=t(7294);const i={},o=a.createContext(i);function s(e){const n=a.useContext(o);return a.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:s(e.components),a.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/86c78be4.948c648d.js b/assets/js/86c78be4.948c648d.js deleted file mode 100644 index e6baac9..0000000 --- a/assets/js/86c78be4.948c648d.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkzeno_docs=self.webpackChunkzeno_docs||[]).push([[3],{5705:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>s,default:()=>u,frontMatter:()=>o,metadata:()=>r,toc:()=>d});var a=t(5893),i=t(1151);const o={},s="Audio Transcription",r={id:"examples/transcription",title:"Audio Transcription",description:"Open with Zeno",source:"@site/docs/examples/transcription.mdx",sourceDirName:"examples",slug:"/examples/transcription",permalink:"/docs/examples/transcription",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"Example Use Cases",permalink:"/docs/examples/"},next:{title:"Tutorials",permalink:"/docs/tutorials/"}},l={},d=[{value:"Dependencies",id:"dependencies",level:2},{value:"Imports",id:"imports",level:2},{value:"Loading Metadata",id:"loading-metadata",level:3},{value:"Adding New Features",id:"adding-new-features",level:3},{value:"Create a Zeno Project",id:"create-a-zeno-project",level:3},{value:"Running Inference and Uploading Results",id:"running-inference-and-uploading-results",level:3},{value:"Conclusion",id:"conclusion",level:2}];function c(e){const n={a:"a",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",img:"img",p:"p",pre:"pre",...(0,i.a)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(n.h1,{id:"audio-transcription",children:"Audio Transcription"}),"\n",(0,a.jsxs)(n.p,{children:[(0,a.jsx)(n.a,{href:"https://hub.zenoml.com/project/62ec4e74-7358-4801-b80c-d19e51ff2a4f/Audio%20Transcription%20Accents",children:(0,a.jsx)(n.img,{src:"https://img.shields.io/badge/%20-Open_with_Zeno-612593.svg?labelColor=white&logo=data:image/svg%2bxml;base64,PHN2ZyB3aWR0aD0iMzMiIGhlaWdodD0iMzMiIHZpZXdCb3g9IjAgMCAzMyAzMyIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTMyIDE1Ljc4NDJMMTYuNDg2MiAxNS43ODQyTDE2LjQ4NjIgMC4yNzA0MDFMMjQuMzAyIDguMDg2MTdMMzIgMTUuNzg0MloiIGZpbGw9IiM2MTI1OTMiLz4KPHBhdGggZD0iTTE1Ljc5MTcgMTUuODMxMUw4LjAzNDc5IDguMDc0MjJMMTUuNzkxNyAwLjMxNzMyOEwxNS43OTE3IDE1LjgzMTFaIiBmaWxsPSIjNjEyNTkzIiBmaWxsLW9wYWNpdHk9IjAuOCIvPgo8cGF0aCBkPSJNMTQuODY1NSAxNS44MzExTDcuNTk0ODUgMTUuODMxMUw3LjU5NDg1IDguNTYwNDJMMTQuODY1NSAxNS44MzExWiIgZmlsbD0iIzYxMjU5MyIgZmlsbC1vcGFjaXR5PSIwLjYiLz4KPHBhdGggZD0iTTYuMTEyOSAxNS44MzExTDMuMjQxNyAxNS44MzExTDMuMjQxNyAxMi44NjcyTDYuMTEyOSAxNS44MzExWiIgZmlsbD0iIzZBMUI5QSIgZmlsbC1vcGFjaXR5PSIwLjQiLz4KPHBhdGggZD0iTTIuNzMyMjggMTUuODMxTDEuNTE1NSAxNC42MTQzTDIuNzQyNzEgMTMuMzg3TDIuNzMyMjggMTUuODMxWiIgZmlsbD0iIzZBMUI5QSIgZmlsbC1vcGFjaXR5PSIwLjMiLz4KPHBhdGggZD0iTTIuMDM3NiAxNS43ODQyTDEuMTU3NzEgMTUuNzg0MkwxLjE1NzcxIDE0Ljk1MDZMMi4wMzc2IDE1Ljc4NDJaIiBmaWxsPSIjNkExQjlBIiBmaWxsLW9wYWNpdHk9IjAuMiIvPgo8cGF0aCBkPSJNMC44MzM1NjggMTUuNzg0MUwwLjUwOTM5OSAxNS40NkwwLjgzMzU2NyAxNS4xMzU4TDAuODMzNTY4IDE1Ljc4NDFaIiBmaWxsPSIjNjEyNTkzIiBmaWxsLW9wYWNpdHk9IjAuMSIvPgo8cGF0aCBkPSJNMC4xMDYxODcgMTUuNzk0NEwwLjMwMTAyNSAxNS41OTk2TDAuNDk1ODYzIDE1Ljc5NDRIMC4xMDYxODdaIiBmaWxsPSIjNjEyNTkzIiBmaWxsLW9wYWNpdHk9IjAuMSIvPgo8cGF0aCBkPSJNNi45NTIxMyAxNS44MjQ4TDMuNjQwOTkgMTIuNTEzN0w2Ljk2OTYzIDkuMTg1MDNMNi45NTIxMyAxNS44MjQ4WiIgZmlsbD0iIzYxMjU5MyIgZmlsbC1vcGFjaXR5PSIwLjUiLz4KPHBhdGggZD0iTTAuMjk0MjM1IDE2LjQ3OTVMMTUuODA4IDE2LjQ3OTVMMTUuODA4IDMxLjk5MzNMNy45OTIyMyAyNC4xNzc1TDAuMjk0MjM1IDE2LjQ3OTVaIiBmaWxsPSIjNjEyNTkzIi8+CjxwYXRoIGQ9Ik0xNi40OTU2IDE3LjI0MzZMMjMuODUwNyAyNC41ODVMMTYuNDk1NiAzMS45NEwxNi40OTU2IDE3LjI0MzZaIiBmaWxsPSIjNjEyNTkzIiBmaWxsLW9wYWNpdHk9IjAuOCIvPgo8cGF0aCBkPSJNMTYuNTMyNiAxNi40Nzk1TDI0LjQ1MTUgMTYuNDc5NUwyNC40NTE1IDI0LjAyOEwxNi41MzI2IDE2LjQ3OTVaIiBmaWxsPSIjNjEyNTkzIiBmaWxsLW9wYWNpdHk9IjAuNiIvPgo8cGF0aCBkPSJNMjYuMTgxMyAxNi40MzI2TDI5LjA1MjUgMTYuNDMyNkwyOS4wNTI1IDE5LjM5NjRMMjYuMTgxMyAxNi40MzI2WiIgZmlsbD0iIzZBMUI5QSIgZmlsbC1vcGFjaXR5PSIwLjQiLz4KPHBhdGggZD0iTTI5LjU2MTkgMTYuNDMyNkwzMC43Nzg3IDE3LjY0OTRMMjkuNTUxNSAxOC44NzY2TDI5LjU2MTkgMTYuNDMyNloiIGZpbGw9IiM2QTFCOUEiIGZpbGwtb3BhY2l0eT0iMC4zIi8+CjxwYXRoIGQ9Ik0zMC4yNTY2IDE2LjQ3OTVMMzEuMTM2NSAxNi40Nzk1TDMxLjEzNjUgMTcuMzEzMUwzMC4yNTY2IDE2LjQ3OTVaIiBmaWxsPSIjNkExQjlBIiBmaWxsLW9wYWNpdHk9IjAuMiIvPgo8cGF0aCBkPSJNMzEuNDYwNiAxNi40Nzk1TDMxLjc4NDggMTYuODAzN0wzMS40NjA2IDE3LjEyNzlMMzEuNDYwNiAxNi40Nzk1WiIgZmlsbD0iIzYxMjU5MyIgZmlsbC1vcGFjaXR5PSIwLjEiLz4KPHBhdGggZD0iTTMyLjE4OCAxNi40NjkyTDMxLjk5MzIgMTYuNjY0MUwzMS43OTgzIDE2LjQ2OTJIMzIuMTg4WiIgZmlsbD0iIzYxMjU5MyIgZmlsbC1vcGFjaXR5PSIwLjEiLz4KPHBhdGggZD0iTTI1LjM0MjEgMTYuNDM4OUwyOC42NTMyIDE5Ljc1TDI1LjMyNDYgMjMuMDc4NkwyNS4zNDIxIDE2LjQzODlaIiBmaWxsPSIjNjEyNTkzIiBmaWxsLW9wYWNpdHk9IjAuNSIvPgo8L3N2Zz4K",alt:"Open with Zeno"})}),"\n",(0,a.jsx)(n.a,{href:"https://github.com/zeno-ml/zeno-build/blob/main/transcription/transcription.ipynb",children:(0,a.jsx)(n.img,{src:"https://img.shields.io/badge/%20-Open_Notebook-F37726.svg?labelColor=white&logo=Jupyter",alt:"Open Notebook"})})]}),"\n",(0,a.jsxs)(n.p,{children:["Audio transcription is an essential task for applications such as voice assistants,\npodcast search, and video captioning. There are numerous open-source and commercial\ntools for audio transcription, and it can be difficult to know which one to use.\n",(0,a.jsx)(n.a,{href:"https://github.com/openai/whisper",children:"OpenAI's Whisper"})," API is often people's\ngo-to choice, but there are nine different models to choose from with different\nsizes, speeds, and cost."]}),"\n",(0,a.jsxs)(n.p,{children:["In this example, we'll use Zeno to compare the performance of the different\nmodels on the ",(0,a.jsx)(n.a,{href:"https://accent.gmu.edu/",children:"Speech Accent Archive"})," dataset.\nThe dataset has over 2,000 people from around the world reading the same\nparagraph in English. We'll use the dataset to evaluate the performance of\nthe different models on different accents and English fluency levels."]}),"\n",(0,a.jsx)(n.h2,{id:"dependencies",children:"Dependencies"}),"\n",(0,a.jsx)(n.p,{children:"Let's start by installing the required dependencies for this project:"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-bash",children:"pip install jiwer pandas openai-whisper zeno-client torch transformers tqdm\n"})}),"\n",(0,a.jsxs)(n.p,{children:["Additionally, we'll need ffmpeg to run this example.\nYou can test if it is installed by running ",(0,a.jsx)(n.code,{children:"ffmpeg --help"}),".\nIf it is not found, you should install it through your package manager.\nFor example, if you are using conda, you can just run the following (and other managers such as brew and apt also work)."]}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-bash",children:"conda install ffmpeg\n"})}),"\n",(0,a.jsx)(n.h2,{id:"imports",children:"Imports"}),"\n",(0,a.jsx)(n.p,{children:"After this is all set up, we can now start running our analysis code and uploading data to Zeno.\nWe'll first import relevant libraries which we're going to use:"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-python",children:'from jiwer import wer\nimport os\nimport pandas as pd\nimport whisper\nimport zeno_client\nimport torch\nfrom transformers import AutoModelForSpeechSeq2Seq, AutoProcessor, pipeline\nimport pandas as pd\nimport requests\nfrom io import BytesIO\nimport wave\nimport struct\nfrom tqdm import tqdm\n\ntqdm.pandas()\ndevice = "cuda:0" if torch.cuda.is_available() else "cpu"\ntorch_dtype = torch.float16 if torch.cuda.is_available() else torch.float32\n'})}),"\n",(0,a.jsx)(n.h3,{id:"loading-metadata",children:"Loading Metadata"}),"\n",(0,a.jsxs)(n.p,{children:["We'll be evaluating our model on raw audio, but will use a metadata file with additional information about each audio file ",(0,a.jsx)(n.a,{href:"https://github.com/zeno-ml/zeno-build/blob/main/transcription/speech_accent_archive.csv",children:"here"}),"."]}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-python",children:'df = pd.read_csv("speech_accent_archive.csv")\ndf["data"] = "https://zenoml.s3.amazonaws.com/accents/" + df["id"]\n'})}),"\n",(0,a.jsx)(n.h3,{id:"adding-new-features",children:"Adding New Features"}),"\n",(0,a.jsxs)(n.p,{children:["In Zeno, we'll often want to enrich our metadata with some extra fields that might be useful for our analysis.\nIn this case, we are going to add the ",(0,a.jsx)(n.em,{children:"amplitude"})," and ",(0,a.jsx)(n.em,{children:"length"})," of the audio snippet as additional metadata fields:"]}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-python",children:"# Define the function to get amplitude and length\ndef get_amplitude_and_length_from_url(url):\n # Download the WAV file content from the URL\n try:\n response = requests.get(url)\n response.raise_for_status()\n\n # Use the BytesIO object as input for the wave module\n with wave.open(BytesIO(response.content), 'rb') as wav_file:\n frame_rate = wav_file.getframerate()\n n_frames = wav_file.getnframes()\n n_channels = wav_file.getnchannels()\n sample_width = wav_file.getsampwidth()\n duration = n_frames / frame_rate\n\n frames = wav_file.readframes(n_frames)\n if sample_width == 1: # 8-bit audio\n fmt = '{}B'.format(n_frames * n_channels)\n elif sample_width == 2: # 16-bit audio\n fmt = '{}h'.format(n_frames * n_channels)\n else:\n raise ValueError(\"Only supports up to 16-bit audio.\")\n\n frame_amplitudes = struct.unpack(fmt, frames)\n max_amplitude = max(frame_amplitudes)\n max_amplitude_normalized = max_amplitude / float(int((2 ** (8 * sample_width)) / 2))\n\n return max_amplitude_normalized, duration\n except requests.RequestException as e:\n print(f\"Request failed: {e}\")\n return None, None\n\ndef apply_get_amplitude_and_length(row):\n url = row['data'] # Assuming the URL is in the 'data' column\n amplitude, length = get_amplitude_and_length_from_url(url)\n return pd.Series({'amplitude': amplitude, 'length': length})\n\ndf[['amplitude', 'length']] = df.progress_apply(apply_get_amplitude_and_length, axis=1)\n"})}),"\n",(0,a.jsx)(n.h3,{id:"create-a-zeno-project",children:"Create a Zeno Project"}),"\n",(0,a.jsxs)(n.p,{children:["We can now upload our data to a Zeno project.\nYou will need your ",(0,a.jsx)(n.code,{children:"ZENO_API_KEY"})," here, which you can generate by clicking on your profile at the top right to navigate to your ",(0,a.jsx)(n.a,{href:"https://hub.zenoml.com/account",children:"account page"}),"."]}),"\n",(0,a.jsx)(n.p,{children:"Once you have your API key, you can authenticate with the Zeno client and create a project as follows:"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-python",children:'client = zeno_client.ZenoClient(YOUR_API_KEY)\n\nproject = client.create_project(\n name="Audio Transcription Accents Evaluation",\n view="audio-transcription",\n description="Comparison of multiple audio transcription models",\n metrics=[\n zeno_client.ZenoMetric(name="avg wer", type="mean", columns=["wer"])\n ]\n)\n'})}),"\n",(0,a.jsx)(n.p,{children:"We've already added a metric to our project that will help us track the average word error rate of different systems."}),"\n",(0,a.jsx)(n.p,{children:"You can click on the link provided in the output to start exploring your data!"}),"\n",(0,a.jsx)(n.h3,{id:"running-inference-and-uploading-results",children:"Running Inference and Uploading Results"}),"\n",(0,a.jsx)(n.p,{children:"We can already look at our data in Zeno, but would like to start evaluating the output transcriptions of models.\nLet's run inference for some of the popular OpenAI Whisper models."}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-python",children:'# Define what models to run inference on\nmodels = ["medium.en", "large-v1", "large-v2", "large-v3", "distil-medium.en", "distil-large-v2"]\nos.makedirs("cache", exist_ok=True)\n\n# Load inference data from cache or run inference for each model and add the data to a dataframe.\ndf_systems = []\nfor model_name in models:\n try:\n df_system = pd.read_parquet(f"cache/{model_name}.parquet")\n except:\n df_system = df[["id", "data", "label"]].copy()\n\n if "distil" in model_name:\n model_id = "distil-whisper/" + model_name\n model = AutoModelForSpeechSeq2Seq.from_pretrained(\n model_id, torch_dtype=torch_dtype, low_cpu_mem_usage=True, use_safetensors=True\n )\n model.to(device)\n\n processor = AutoProcessor.from_pretrained(model_id)\n pipe = pipeline(\n "automatic-speech-recognition",\n model=model,\n tokenizer=processor.tokenizer,\n feature_extractor=processor.feature_extractor,\n max_new_tokens=128,\n chunk_length_s=15,\n batch_size=16,\n torch_dtype=torch_dtype,\n device=device,\n )\n df_system["output"] = df_system["data"].progress_apply(lambda x: pipe(x)[\'text\'])\n pass\n else:\n whisper_model = whisper.load_model(model_name)\n df_system["output"] = df_system["data"].progress_apply(\n lambda x: whisper_model.transcribe(x)["text"]\n )\n\n df_system["wer"] = df_system.progress_apply(lambda x: wer(x["label"], x["output"]), axis=1)\n df_system.to_parquet(f"cache/{model_name}.parquet", index=False)\n df_systems.append(df_system)\n'})}),"\n",(0,a.jsx)(n.p,{children:"You can see that we also calculate the word error rate (WER) for each model, a common metric for evaluating transcription models."}),"\n",(0,a.jsx)(n.p,{children:"We can now upload these results to our project:"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-python",children:'for i, df_system in enumerate(df_systems):\n project.upload_system(\n df_system[["id", "output", "wer"]], name=models[i], id_column="id", output_column="output"\n )\n'})}),"\n",(0,a.jsx)(n.h2,{id:"conclusion",children:"Conclusion"}),"\n",(0,a.jsxs)(n.p,{children:["If you've followed this example you should have a Zeno project similar to the one linked at the top of this page.\nLooking at ",(0,a.jsx)(n.a,{href:"https://hub.zenoml.com/project/62ec4e74-7358-4801-b80c-d19e51ff2a4f/Audio%20Transcription%20Accents/explore?params=eyJtb2RlbCI6IndoaXNwZXItYmFzZSIsIm1ldHJpYyI6eyJpZCI6NzYwLCJuYW1lIjoiYXZnX3dlciIsInR5cGUiOiJtZWFuIiwiY29sdW1ucyI6WyJ3ZXIiXX0sImNvbXBhcmlzb25Nb2RlbCI6InNpbGVyb19zc3QiLCJjb21wYXJpc29uQ29sdW1uIjp7ImlkIjoiNDhhYWM0ODgtNmU2Yi00YmNmLTkwYWYtMDUyMzM4OWI3YmNkIiwibmFtZSI6Im91dHB1dCIsImNvbHVtblR5cGUiOiJPVVRQVVQiLCJkYXRhVHlwZSI6Ik5PTUlOQUwiLCJtb2RlbCI6IndoaXNwZXItYmFzZSJ9LCJjb21wYXJlU29ydCI6W251bGwsdHJ1ZV0sIm1ldHJpY1JhbmdlIjpbMCwxLjYyMzE4ODQwNTc5NzEwMTZdLCJzZWxlY3Rpb25zIjp7InNsaWNlcyI6WzU2Ml0sIm1ldGFkYXRhIjp7fSwidGFncyI6W119fQ==",children:"high wer samples"})," by filtering for them using the histograms on the left is a great starting point to start finding the limitations of these state of the art models!"]})]})}function u(e={}){const{wrapper:n}={...(0,i.a)(),...e.components};return n?(0,a.jsx)(n,{...e,children:(0,a.jsx)(c,{...e})}):c(e)}},1151:(e,n,t)=>{t.d(n,{Z:()=>r,a:()=>s});var a=t(7294);const i={},o=a.createContext(i);function s(e){const n=a.useContext(o);return a.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:s(e.components),a.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/935f2afb.513795d4.js b/assets/js/935f2afb.513795d4.js deleted file mode 100644 index 362bc95..0000000 --- a/assets/js/935f2afb.513795d4.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkzeno_docs=self.webpackChunkzeno_docs||[]).push([[53],{1109:e=>{e.exports=JSON.parse('{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"tutorialSidebar":[{"type":"link","label":"Getting Started","href":"/docs/intro","docId":"intro","unlisted":false},{"type":"category","label":"Example Use Cases","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Audio Transcription","href":"/docs/examples/transcription","docId":"examples/transcription","unlisted":false}],"href":"/docs/examples/"},{"type":"category","label":"Tutorials","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Visualize Open LLM Leaderboard Outputs","href":"/docs/tutorials/leaderboard","docId":"tutorials/leaderboard","unlisted":false}],"href":"/docs/tutorials/"},{"type":"link","label":"Python Client API","href":"/docs/python-client","docId":"python-client","unlisted":false},{"type":"category","label":"Instance Views","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Standard Views","href":"/docs/views/existing","docId":"views/existing","unlisted":false},{"type":"category","label":"View Specification","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"View Elements","href":"/docs/views/spec/other","docId":"views/spec/other","unlisted":false}],"href":"/docs/views/spec/"}],"href":"/docs/views/"}]},"docs":{"examples/examples":{"id":"examples/examples","title":"Example Use Cases","description":"Explore evaluation setups for a range of AI applications.","sidebar":"tutorialSidebar"},"examples/transcription":{"id":"examples/transcription","title":"Audio Transcription","description":"Open with Zeno","sidebar":"tutorialSidebar"},"intro":{"id":"intro","title":"Getting Started","description":"Zeno is an interactive AI evaluation platform for exploring, debugging, and sharing how your AI systems perform.","sidebar":"tutorialSidebar"},"python-client":{"id":"python-client","title":"Python Client API","description":"The Python client is used to create projects and upload data.","sidebar":"tutorialSidebar"},"tutorials/leaderboard":{"id":"tutorials/leaderboard","title":"Visualize Open LLM Leaderboard Outputs","description":"The Open LLM Leaderboard is the go-to place for comparing large language models on different benchmark tasks.","sidebar":"tutorialSidebar"},"tutorials/tutorials":{"id":"tutorials/tutorials","title":"Tutorials","description":"Learn about state-of-the-art AI evaluation approaches.","sidebar":"tutorialSidebar"},"views/existing":{"id":"views/existing","title":"Standard Views","description":"Zeno has a number of preconfigured views that can be referenced by name.","sidebar":"tutorialSidebar"},"views/spec/other":{"id":"views/spec/other","title":"View Elements","description":"A View Element defines how to interpret and display data in your Zeno Project.","sidebar":"tutorialSidebar"},"views/spec/spec":{"id":"views/spec/spec","title":"View Specification","description":"With the View Specifications, you can create a custom Instance View for your specific data.","sidebar":"tutorialSidebar"},"views/views":{"id":"views/views","title":"Instance Views","description":"Instance Views let you specify how Zeno should render your data.","sidebar":"tutorialSidebar"}}}')}}]); \ No newline at end of file diff --git a/assets/js/935f2afb.85966eee.js b/assets/js/935f2afb.85966eee.js new file mode 100644 index 0000000..006c0e5 --- /dev/null +++ b/assets/js/935f2afb.85966eee.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkzeno_docs=self.webpackChunkzeno_docs||[]).push([[53],{1109:e=>{e.exports=JSON.parse('{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"tutorialSidebar":[{"type":"link","label":"Getting Started","href":"/docs/intro","docId":"intro","unlisted":false},{"type":"category","label":"Example Use Cases","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Audio Transcription","href":"/docs/examples/transcription","docId":"examples/transcription","unlisted":false}],"href":"/docs/examples/"},{"type":"category","label":"Integrations","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"EleutherAI","href":"/docs/integrations/eleuther","docId":"integrations/eleuther","unlisted":false},{"type":"link","label":"Ragas","href":"/docs/integrations/ragas","docId":"integrations/ragas","unlisted":false}],"href":"/docs/integrations/"},{"type":"category","label":"Tutorials","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Visualize Open LLM Leaderboard Outputs","href":"/docs/tutorials/leaderboard","docId":"tutorials/leaderboard","unlisted":false}],"href":"/docs/tutorials/"},{"type":"link","label":"Python Client API","href":"/docs/python-client","docId":"python-client","unlisted":false},{"type":"category","label":"Instance Views","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Standard Views","href":"/docs/views/existing","docId":"views/existing","unlisted":false},{"type":"category","label":"View Specification","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"View Elements","href":"/docs/views/spec/other","docId":"views/spec/other","unlisted":false}],"href":"/docs/views/spec/"}],"href":"/docs/views/"}]},"docs":{"examples/examples":{"id":"examples/examples","title":"Example Use Cases","description":"Explore evaluation setups for a range of AI applications.","sidebar":"tutorialSidebar"},"examples/transcription":{"id":"examples/transcription","title":"Audio Transcription","description":"Open with Zeno","sidebar":"tutorialSidebar"},"integrations/eleuther":{"id":"integrations/eleuther","title":"EleutherAI","description":"Open with Zeno","sidebar":"tutorialSidebar"},"integrations/integrations":{"id":"integrations/integrations","title":"Integrations","description":"Zeno can be used in combination with other libraries, such as benchmarking suites and model chaining frameworks.","sidebar":"tutorialSidebar"},"integrations/ragas":{"id":"integrations/ragas","title":"Ragas","description":"Open with Zeno","sidebar":"tutorialSidebar"},"intro":{"id":"intro","title":"Getting Started","description":"Zeno is an interactive AI evaluation platform for exploring, debugging, and sharing how your AI systems perform.","sidebar":"tutorialSidebar"},"python-client":{"id":"python-client","title":"Python Client API","description":"The Python client is used to create projects and upload data.","sidebar":"tutorialSidebar"},"tutorials/leaderboard":{"id":"tutorials/leaderboard","title":"Visualize Open LLM Leaderboard Outputs","description":"The Open LLM Leaderboard is the go-to place for comparing large language models on different benchmark tasks.","sidebar":"tutorialSidebar"},"tutorials/tutorials":{"id":"tutorials/tutorials","title":"Tutorials","description":"Learn about state-of-the-art AI evaluation approaches.","sidebar":"tutorialSidebar"},"views/existing":{"id":"views/existing","title":"Standard Views","description":"Zeno has a number of preconfigured views that can be referenced by name.","sidebar":"tutorialSidebar"},"views/spec/other":{"id":"views/spec/other","title":"View Elements","description":"A View Element defines how to interpret and display data in your Zeno Project.","sidebar":"tutorialSidebar"},"views/spec/spec":{"id":"views/spec/spec","title":"View Specification","description":"With the View Specifications, you can create a custom Instance View for your specific data.","sidebar":"tutorialSidebar"},"views/views":{"id":"views/views","title":"Instance Views","description":"Instance Views let you specify how Zeno should render your data.","sidebar":"tutorialSidebar"}}}')}}]); \ No newline at end of file diff --git a/assets/js/94c0c3db.942c2dae.js b/assets/js/94c0c3db.942c2dae.js deleted file mode 100644 index 7667985..0000000 --- a/assets/js/94c0c3db.942c2dae.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkzeno_docs=self.webpackChunkzeno_docs||[]).push([[906],{7213:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>l,contentTitle:()=>s,default:()=>u,frontMatter:()=>a,metadata:()=>i,toc:()=>c});var n=r(5893),o=r(1151);const a={sidebar_position:4},s="Tutorials",i={id:"tutorials/tutorials",title:"Tutorials",description:"Learn about state-of-the-art AI evaluation approaches.",source:"@site/docs/tutorials/tutorials.mdx",sourceDirName:"tutorials",slug:"/tutorials/",permalink:"/docs/tutorials/",draft:!1,unlisted:!1,tags:[],version:"current",sidebarPosition:4,frontMatter:{sidebar_position:4},sidebar:"tutorialSidebar",previous:{title:"Audio Transcription",permalink:"/docs/examples/transcription"},next:{title:"Visualize Open LLM Leaderboard Outputs",permalink:"/docs/tutorials/leaderboard"}},l={},c=[];function d(e){const t={a:"a",h1:"h1",p:"p",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,o.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.h1,{id:"tutorials",children:"Tutorials"}),"\n",(0,n.jsx)(t.p,{children:"Learn about state-of-the-art AI evaluation approaches.\nWhile most of these tutorials have a Zeno connection, they can be informative even if you are not using Zeno!"}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{children:"Example"}),(0,n.jsx)(t.th,{children:"Description"})]})}),(0,n.jsx)(t.tbody,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:(0,n.jsx)(t.a,{href:"./leaderboard",children:"Visualize Open LLM Leaderboard Outputs"})}),(0,n.jsxs)(t.td,{children:["Learn how to visualize, explore, and compare model results from the ",(0,n.jsx)(t.a,{href:"https://huggingface.co/spaces/HuggingFaceH4/open_llm_leaderboard",children:"Open LLM Leaderboard"}),"."]})]})})]})]})}function u(e={}){const{wrapper:t}={...(0,o.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},1151:(e,t,r)=>{r.d(t,{Z:()=>i,a:()=>s});var n=r(7294);const o={},a=n.createContext(o);function s(e){const t=n.useContext(a);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:s(e.components),n.createElement(a.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/94c0c3db.b5998c47.js b/assets/js/94c0c3db.b5998c47.js new file mode 100644 index 0000000..fdc9483 --- /dev/null +++ b/assets/js/94c0c3db.b5998c47.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkzeno_docs=self.webpackChunkzeno_docs||[]).push([[906],{7213:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>l,contentTitle:()=>s,default:()=>u,frontMatter:()=>o,metadata:()=>i,toc:()=>d});var n=r(5893),a=r(1151);const o={sidebar_position:4},s="Tutorials",i={id:"tutorials/tutorials",title:"Tutorials",description:"Learn about state-of-the-art AI evaluation approaches.",source:"@site/docs/tutorials/tutorials.mdx",sourceDirName:"tutorials",slug:"/tutorials/",permalink:"/docs/tutorials/",draft:!1,unlisted:!1,tags:[],version:"current",sidebarPosition:4,frontMatter:{sidebar_position:4},sidebar:"tutorialSidebar",previous:{title:"Ragas",permalink:"/docs/integrations/ragas"},next:{title:"Visualize Open LLM Leaderboard Outputs",permalink:"/docs/tutorials/leaderboard"}},l={},d=[];function c(e){const t={a:"a",h1:"h1",p:"p",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,a.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.h1,{id:"tutorials",children:"Tutorials"}),"\n",(0,n.jsx)(t.p,{children:"Learn about state-of-the-art AI evaluation approaches.\nWhile most of these tutorials have a Zeno connection, they can be informative even if you are not using Zeno!"}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{children:"Example"}),(0,n.jsx)(t.th,{children:"Description"})]})}),(0,n.jsx)(t.tbody,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:(0,n.jsx)(t.a,{href:"./leaderboard",children:"Visualize Open LLM Leaderboard Outputs"})}),(0,n.jsxs)(t.td,{children:["Learn how to visualize, explore, and compare model results from the ",(0,n.jsx)(t.a,{href:"https://huggingface.co/spaces/HuggingFaceH4/open_llm_leaderboard",children:"Open LLM Leaderboard"}),"."]})]})})]})]})}function u(e={}){const{wrapper:t}={...(0,a.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(c,{...e})}):c(e)}},1151:(e,t,r)=>{r.d(t,{Z:()=>i,a:()=>s});var n=r(7294);const a={},o=n.createContext(a);function s(e){const t=n.useContext(o);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:s(e.components),n.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/f73eeb10.c01bf599.js b/assets/js/f73eeb10.c01bf599.js new file mode 100644 index 0000000..b52cc17 --- /dev/null +++ b/assets/js/f73eeb10.c01bf599.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkzeno_docs=self.webpackChunkzeno_docs||[]).push([[154],{7445:(M,e,i)=>{i.r(e),i.d(e,{assets:()=>j,contentTitle:()=>a,default:()=>u,frontMatter:()=>I,metadata:()=>s,toc:()=>n});var N=i(5893),t=i(1151);const I={},a="EleutherAI",s={id:"integrations/eleuther",title:"EleutherAI",description:"Open with Zeno",source:"@site/docs/integrations/eleuther.mdx",sourceDirName:"integrations",slug:"/integrations/eleuther",permalink:"/docs/integrations/eleuther",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"Integrations",permalink:"/docs/integrations/"},next:{title:"Ragas",permalink:"/docs/integrations/ragas"}},j={},n=[];function o(M){const e={a:"a",h1:"h1",img:"img",p:"p",...(0,t.a)(),...M.components};return(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)(e.h1,{id:"eleutherai",children:"EleutherAI"}),"\n",(0,N.jsxs)(e.p,{children:[(0,N.jsx)(e.a,{href:"https://hub.zenoml.com/project/ba44d31c-9e02-4330-bdbe-0760dfe85dc4/Mamba%20Eval_hellaswag",children:(0,N.jsx)(e.img,{src:"https://img.shields.io/badge/%20-Open_with_Zeno-612593.svg?labelColor=white&logo=data:image/svg%2bxml;base64,PHN2ZyB3aWR0aD0iMzMiIGhlaWdodD0iMzMiIHZpZXdCb3g9IjAgMCAzMyAzMyIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTMyIDE1Ljc4NDJMMTYuNDg2MiAxNS43ODQyTDE2LjQ4NjIgMC4yNzA0MDFMMjQuMzAyIDguMDg2MTdMMzIgMTUuNzg0MloiIGZpbGw9IiM2MTI1OTMiLz4KPHBhdGggZD0iTTE1Ljc5MTcgMTUuODMxMUw4LjAzNDc5IDguMDc0MjJMMTUuNzkxNyAwLjMxNzMyOEwxNS43OTE3IDE1LjgzMTFaIiBmaWxsPSIjNjEyNTkzIiBmaWxsLW9wYWNpdHk9IjAuOCIvPgo8cGF0aCBkPSJNMTQuODY1NSAxNS44MzExTDcuNTk0ODUgMTUuODMxMUw3LjU5NDg1IDguNTYwNDJMMTQuODY1NSAxNS44MzExWiIgZmlsbD0iIzYxMjU5MyIgZmlsbC1vcGFjaXR5PSIwLjYiLz4KPHBhdGggZD0iTTYuMTEyOSAxNS44MzExTDMuMjQxNyAxNS44MzExTDMuMjQxNyAxMi44NjcyTDYuMTEyOSAxNS44MzExWiIgZmlsbD0iIzZBMUI5QSIgZmlsbC1vcGFjaXR5PSIwLjQiLz4KPHBhdGggZD0iTTIuNzMyMjggMTUuODMxTDEuNTE1NSAxNC42MTQzTDIuNzQyNzEgMTMuMzg3TDIuNzMyMjggMTUuODMxWiIgZmlsbD0iIzZBMUI5QSIgZmlsbC1vcGFjaXR5PSIwLjMiLz4KPHBhdGggZD0iTTIuMDM3NiAxNS43ODQyTDEuMTU3NzEgMTUuNzg0MkwxLjE1NzcxIDE0Ljk1MDZMMi4wMzc2IDE1Ljc4NDJaIiBmaWxsPSIjNkExQjlBIiBmaWxsLW9wYWNpdHk9IjAuMiIvPgo8cGF0aCBkPSJNMC44MzM1NjggMTUuNzg0MUwwLjUwOTM5OSAxNS40NkwwLjgzMzU2NyAxNS4xMzU4TDAuODMzNTY4IDE1Ljc4NDFaIiBmaWxsPSIjNjEyNTkzIiBmaWxsLW9wYWNpdHk9IjAuMSIvPgo8cGF0aCBkPSJNMC4xMDYxODcgMTUuNzk0NEwwLjMwMTAyNSAxNS41OTk2TDAuNDk1ODYzIDE1Ljc5NDRIMC4xMDYxODdaIiBmaWxsPSIjNjEyNTkzIiBmaWxsLW9wYWNpdHk9IjAuMSIvPgo8cGF0aCBkPSJNNi45NTIxMyAxNS44MjQ4TDMuNjQwOTkgMTIuNTEzN0w2Ljk2OTYzIDkuMTg1MDNMNi45NTIxMyAxNS44MjQ4WiIgZmlsbD0iIzYxMjU5MyIgZmlsbC1vcGFjaXR5PSIwLjUiLz4KPHBhdGggZD0iTTAuMjk0MjM1IDE2LjQ3OTVMMTUuODA4IDE2LjQ3OTVMMTUuODA4IDMxLjk5MzNMNy45OTIyMyAyNC4xNzc1TDAuMjk0MjM1IDE2LjQ3OTVaIiBmaWxsPSIjNjEyNTkzIi8+CjxwYXRoIGQ9Ik0xNi40OTU2IDE3LjI0MzZMMjMuODUwNyAyNC41ODVMMTYuNDk1NiAzMS45NEwxNi40OTU2IDE3LjI0MzZaIiBmaWxsPSIjNjEyNTkzIiBmaWxsLW9wYWNpdHk9IjAuOCIvPgo8cGF0aCBkPSJNMTYuNTMyNiAxNi40Nzk1TDI0LjQ1MTUgMTYuNDc5NUwyNC40NTE1IDI0LjAyOEwxNi41MzI2IDE2LjQ3OTVaIiBmaWxsPSIjNjEyNTkzIiBmaWxsLW9wYWNpdHk9IjAuNiIvPgo8cGF0aCBkPSJNMjYuMTgxMyAxNi40MzI2TDI5LjA1MjUgMTYuNDMyNkwyOS4wNTI1IDE5LjM5NjRMMjYuMTgxMyAxNi40MzI2WiIgZmlsbD0iIzZBMUI5QSIgZmlsbC1vcGFjaXR5PSIwLjQiLz4KPHBhdGggZD0iTTI5LjU2MTkgMTYuNDMyNkwzMC43Nzg3IDE3LjY0OTRMMjkuNTUxNSAxOC44NzY2TDI5LjU2MTkgMTYuNDMyNloiIGZpbGw9IiM2QTFCOUEiIGZpbGwtb3BhY2l0eT0iMC4zIi8+CjxwYXRoIGQ9Ik0zMC4yNTY2IDE2LjQ3OTVMMzEuMTM2NSAxNi40Nzk1TDMxLjEzNjUgMTcuMzEzMUwzMC4yNTY2IDE2LjQ3OTVaIiBmaWxsPSIjNkExQjlBIiBmaWxsLW9wYWNpdHk9IjAuMiIvPgo8cGF0aCBkPSJNMzEuNDYwNiAxNi40Nzk1TDMxLjc4NDggMTYuODAzN0wzMS40NjA2IDE3LjEyNzlMMzEuNDYwNiAxNi40Nzk1WiIgZmlsbD0iIzYxMjU5MyIgZmlsbC1vcGFjaXR5PSIwLjEiLz4KPHBhdGggZD0iTTMyLjE4OCAxNi40NjkyTDMxLjk5MzIgMTYuNjY0MUwzMS43OTgzIDE2LjQ2OTJIMzIuMTg4WiIgZmlsbD0iIzYxMjU5MyIgZmlsbC1vcGFjaXR5PSIwLjEiLz4KPHBhdGggZD0iTTI1LjM0MjEgMTYuNDM4OUwyOC42NTMyIDE5Ljc1TDI1LjMyNDYgMjMuMDc4NkwyNS4zNDIxIDE2LjQzODlaIiBmaWxsPSIjNjEyNTkzIiBmaWxsLW9wYWNpdHk9IjAuNSIvPgo8L3N2Zz4K",alt:"Open with Zeno"})}),"\n",(0,N.jsx)(e.a,{href:"https://github.com/EleutherAI/lm-evaluation-harness/blob/main/examples/visualize-zeno.ipynb",children:(0,N.jsx)(e.img,{src:"https://img.shields.io/badge/%20-Open_Notebook-F37726.svg?labelColor=white&logo=Jupyter",alt:"Open Notebook"})})]}),"\n",(0,N.jsxs)(e.p,{children:["Zeno serves as a visualization frontend to ",(0,N.jsx)(e.a,{href:"https://github.com/EleutherAI/lm-evaluation-harness",children:"EleutherAI evaluation harness"})," results.\nHead over to ",(0,N.jsx)(e.a,{href:"https://github.com/EleutherAI/lm-evaluation-harness#visualizing-results",children:"Eleuther's README"})," to learn more about how to visualize results with Zeno.\nYou can explore an example project for this integration and a notebook that demonstrates how to get your EleutherAI evaluation data into Zeno linked at the top of this page."]})]})}function u(M={}){const{wrapper:e}={...(0,t.a)(),...M.components};return e?(0,N.jsx)(e,{...M,children:(0,N.jsx)(o,{...M})}):o(M)}},1151:(M,e,i)=>{i.d(e,{Z:()=>s,a:()=>a});var N=i(7294);const t={},I=N.createContext(t);function a(M){const e=N.useContext(I);return N.useMemo((function(){return"function"==typeof M?M(e):{...e,...M}}),[e,M])}function s(M){let e;return e=M.disableParentContext?"function"==typeof M.components?M.components(t):M.components||t:a(M.components),N.createElement(I.Provider,{value:e},M.children)}}}]); \ No newline at end of file diff --git a/assets/js/main.2619106a.js b/assets/js/main.2619106a.js deleted file mode 100644 index a33634d..0000000 --- a/assets/js/main.2619106a.js +++ /dev/null @@ -1,2 +0,0 @@ -/*! For license information please see main.2619106a.js.LICENSE.txt */ -(self.webpackChunkzeno_docs=self.webpackChunkzeno_docs||[]).push([[179],{723:(e,t,n)=>{"use strict";n.d(t,{Z:()=>f});n(7294);var r=n(8356),a=n.n(r),o=n(6887);const i={"01a85c17":[()=>Promise.all([n.e(532),n.e(13)]).then(n.bind(n,1223)),"@theme/BlogTagsListPage",1223],17896441:[()=>Promise.all([n.e(532),n.e(286),n.e(914),n.e(918)]).then(n.bind(n,8945)),"@theme/DocItem",8945],"1df93b7f":[()=>Promise.all([n.e(532),n.e(237)]).then(n.bind(n,1102)),"@site/src/pages/index.tsx",1102],"1f4f09bf":[()=>n.e(106).then(n.bind(n,1215)),"@site/docs/tutorials/leaderboard.mdx",1215],"20417f73":[()=>n.e(743).then(n.t.bind(n,7456,19)),"~blog/default/blog-tags-introduction-60a.json",7456],"24c768db":[()=>n.e(489).then(n.bind(n,6686)),"@site/src/pages/faq.jsx",6686],"2831b18a":[()=>Promise.all([n.e(532),n.e(286),n.e(640)]).then(n.bind(n,9342)),"@site/docs/views/spec/other.mdx",9342],"28df1be2":[()=>n.e(934).then(n.t.bind(n,4469,19)),"/home/runner/work/zenoml.com/zenoml.com/.docusaurus/docusaurus-plugin-content-blog/default/plugin-route-context-module-100.json",4469],"4d0932fd":[()=>n.e(194).then(n.t.bind(n,5745,19)),"/home/runner/work/zenoml.com/zenoml.com/.docusaurus/docusaurus-plugin-content-pages/default/plugin-route-context-module-100.json",5745],"58b26e5f":[()=>n.e(425).then(n.bind(n,857)),"@site/docs/examples/examples.mdx",857],"5ad2500b":[()=>n.e(979).then(n.t.bind(n,3599,19)),"~blog/default/blog-tags-introduction-60a-list.json",3599],"5c1fb99f":[()=>n.e(539).then(n.bind(n,3393)),"@site/docs/python-client.mdx",3393],"5cd43755":[()=>n.e(517).then(n.bind(n,5728)),"@site/docs/views/views.mdx",5728],"5e95c892":[()=>n.e(661).then(n.bind(n,1892)),"@theme/DocsRoot",1892],"5e9f5e1a":[()=>Promise.resolve().then(n.bind(n,6809)),"@generated/docusaurus.config",6809],"6875c492":[()=>Promise.all([n.e(532),n.e(286),n.e(914),n.e(130),n.e(610)]).then(n.bind(n,1404)),"@theme/BlogTagsPostsPage",1404],"814f3328":[()=>n.e(535).then(n.t.bind(n,5641,19)),"~blog/default/blog-post-list-prop-default.json",5641],"86c78be4":[()=>n.e(3).then(n.bind(n,5705)),"@site/docs/examples/transcription.mdx",5705],"935f2afb":[()=>n.e(53).then(n.t.bind(n,1109,19)),"~docs/default/version-current-metadata-prop-751.json",1109],"9375f4e3":[()=>Promise.all([n.e(532),n.e(286),n.e(333)]).then(n.bind(n,3797)),"@site/docs/views/existing.mdx",3797],"94c0c3db":[()=>n.e(906).then(n.bind(n,7213)),"@site/docs/tutorials/tutorials.mdx",7213],"989c4899":[()=>Promise.all([n.e(532),n.e(286),n.e(346)]).then(n.bind(n,2028)),"@site/src/pages/about.jsx",2028],"9e4087bc":[()=>n.e(608).then(n.bind(n,3169)),"@theme/BlogArchivePage",3169],a6aa9e1f:[()=>Promise.all([n.e(532),n.e(286),n.e(914),n.e(130),n.e(89)]).then(n.bind(n,46)),"@theme/BlogListPage",46],a7023ddc:[()=>n.e(713).then(n.t.bind(n,3457,19)),"~blog/default/blog-tags-tags-4c2.json",3457],a7bd4aaa:[()=>n.e(518).then(n.bind(n,8564)),"@theme/DocVersionRoot",8564],a94703ab:[()=>Promise.all([n.e(532),n.e(368)]).then(n.bind(n,2674)),"@theme/DocRoot",2674],ae6c4130:[()=>n.e(60).then(n.t.bind(n,3769,19)),"/home/runner/work/zenoml.com/zenoml.com/.docusaurus/docusaurus-plugin-content-docs/default/plugin-route-context-module-100.json",3769],b245f42a:[()=>Promise.all([n.e(532),n.e(286),n.e(250)]).then(n.bind(n,1561)),"@site/docs/views/spec/spec.mdx",1561],b2b675dd:[()=>n.e(533).then(n.t.bind(n,8017,19)),"~blog/default/blog-c06.json",8017],b2f554cd:[()=>n.e(477).then(n.t.bind(n,10,19)),"~blog/default/blog-archive-80c.json",10],c339cc82:[()=>n.e(566).then(n.bind(n,3512)),"@site/blog/2022-08-26-welcome.md",3512],ccc49370:[()=>Promise.all([n.e(532),n.e(286),n.e(914),n.e(130),n.e(103)]).then(n.bind(n,5203)),"@theme/BlogPostPage",5203],f8409a7e:[()=>Promise.all([n.e(532),n.e(286),n.e(206)]).then(n.bind(n,9325)),"@site/docs/intro.mdx",9325],fda116a3:[()=>n.e(831).then(n.bind(n,2901)),"@site/blog/2022-08-26-welcome.md?truncated=true",2901]};var l=n(5893);function s(e){let{error:t,retry:n,pastDelay:r}=e;return t?(0,l.jsxs)("div",{style:{textAlign:"center",color:"#fff",backgroundColor:"#fa383e",borderColor:"#fa383e",borderStyle:"solid",borderRadius:"0.25rem",borderWidth:"1px",boxSizing:"border-box",display:"block",padding:"1rem",flex:"0 0 50%",marginLeft:"25%",marginRight:"25%",marginTop:"5rem",maxWidth:"50%",width:"100%"},children:[(0,l.jsx)("p",{children:String(t)}),(0,l.jsx)("div",{children:(0,l.jsx)("button",{type:"button",onClick:n,children:"Retry"})})]}):r?(0,l.jsx)("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",height:"100vh"},children:(0,l.jsx)("svg",{id:"loader",style:{width:128,height:110,position:"absolute",top:"calc(100vh - 64%)"},viewBox:"0 0 45 45",xmlns:"http://www.w3.org/2000/svg",stroke:"#61dafb",children:(0,l.jsxs)("g",{fill:"none",fillRule:"evenodd",transform:"translate(1 1)",strokeWidth:"2",children:[(0,l.jsxs)("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0",children:[(0,l.jsx)("animate",{attributeName:"r",begin:"1.5s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),(0,l.jsx)("animate",{attributeName:"stroke-opacity",begin:"1.5s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),(0,l.jsx)("animate",{attributeName:"stroke-width",begin:"1.5s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})]}),(0,l.jsxs)("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0",children:[(0,l.jsx)("animate",{attributeName:"r",begin:"3s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),(0,l.jsx)("animate",{attributeName:"stroke-opacity",begin:"3s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),(0,l.jsx)("animate",{attributeName:"stroke-width",begin:"3s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})]}),(0,l.jsx)("circle",{cx:"22",cy:"22",r:"8",children:(0,l.jsx)("animate",{attributeName:"r",begin:"0s",dur:"1.5s",values:"6;1;2;3;4;5;6",calcMode:"linear",repeatCount:"indefinite"})})]})})}):null}var u=n(9670),c=n(226);function d(e,t){if("*"===e)return a()({loading:s,loader:()=>n.e(772).then(n.bind(n,1772)),modules:["@theme/NotFound"],webpack:()=>[1772],render(e,t){const n=e.default;return(0,l.jsx)(c.z,{value:{plugin:{name:"native",id:"default"}},children:(0,l.jsx)(n,{...t})})}});const r=o[`${e}-${t}`],d={},f=[],p=[],g=(0,u.Z)(r);return Object.entries(g).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:s,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 l=n.split(".");l.slice(0,-1).forEach((e=>{i=i[e]})),i[l[l.length-1]]=o}));const o=a.__comp;delete a.__comp;const i=a.__context;return delete a.__context,(0,l.jsx)(c.z,{value:i,children:(0,l.jsx)(o,{...a,...n})})}})}const f=[{path:"/about",component:d("/about","b73"),exact:!0},{path:"/blog",component:d("/blog","4e1"),exact:!0},{path:"/blog/archive",component:d("/blog/archive","49c"),exact:!0},{path:"/blog/tags",component:d("/blog/tags","63c"),exact:!0},{path:"/blog/tags/introduction",component:d("/blog/tags/introduction","243"),exact:!0},{path:"/blog/welcome-post",component:d("/blog/welcome-post","7f9"),exact:!0},{path:"/faq",component:d("/faq","4c7"),exact:!0},{path:"/docs",component:d("/docs","de6"),routes:[{path:"/docs",component:d("/docs","31e"),routes:[{path:"/docs",component:d("/docs","a91"),routes:[{path:"/docs/examples/",component:d("/docs/examples/","ff9"),exact:!0,sidebar:"tutorialSidebar"},{path:"/docs/examples/transcription",component:d("/docs/examples/transcription","861"),exact:!0,sidebar:"tutorialSidebar"},{path:"/docs/intro",component:d("/docs/intro","99a"),exact:!0,sidebar:"tutorialSidebar"},{path:"/docs/python-client",component:d("/docs/python-client","710"),exact:!0,sidebar:"tutorialSidebar"},{path:"/docs/tutorials/",component:d("/docs/tutorials/","7e1"),exact:!0,sidebar:"tutorialSidebar"},{path:"/docs/tutorials/leaderboard",component:d("/docs/tutorials/leaderboard","397"),exact:!0,sidebar:"tutorialSidebar"},{path:"/docs/views/",component:d("/docs/views/","48e"),exact:!0,sidebar:"tutorialSidebar"},{path:"/docs/views/existing",component:d("/docs/views/existing","c29"),exact:!0,sidebar:"tutorialSidebar"},{path:"/docs/views/spec/",component:d("/docs/views/spec/","ea9"),exact:!0,sidebar:"tutorialSidebar"},{path:"/docs/views/spec/other",component:d("/docs/views/spec/other","d3f"),exact:!0,sidebar:"tutorialSidebar"}]}]}]},{path:"/",component:d("/","348"),exact:!0},{path:"*",component:d("*")}]},8934:(e,t,n)=>{"use strict";n.d(t,{_:()=>o,t:()=>i});var r=n(7294),a=n(5893);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})}},7221:(e,t,n)=>{"use strict";var r=n(7294),a=n(745),o=n(3727),i=n(405),l=n(412);const s=[n(6657),n(2497),n(3310),n(8320),n(2295)];var u=n(723),c=n(6550),d=n(8790),f=n(5893);function p(e){let{children:t}=e;return(0,f.jsx)(f.Fragment,{children:t})}var g=n(5742),h=n(2263),m=n(4996),y=n(6668),b=n(1944),v=n(4711),w=n(9727),k=n(3320),x=n(8780),S=n(197);function E(){const{i18n:{currentLocale:e,defaultLocale:t,localeConfigs:n}}=(0,h.Z)(),r=(0,v.l)(),a=n[e].htmlLang,o=e=>e.replace("-","_");return(0,f.jsxs)(g.Z,{children:[Object.entries(n).map((e=>{let[t,{htmlLang:n}]=e;return(0,f.jsx)("link",{rel:"alternate",href:r.createUrl({locale:t,fullyQualified:!0}),hrefLang:n},t)})),(0,f.jsx)("link",{rel:"alternate",href:r.createUrl({locale:t,fullyQualified:!0}),hrefLang:"x-default"}),(0,f.jsx)("meta",{property:"og:locale",content:o(a)}),Object.values(n).filter((e=>a!==e.htmlLang)).map((e=>(0,f.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,h.Z)(),r=function(){const{siteConfig:{url:e,baseUrl:t,trailingSlash:n}}=(0,h.Z)(),{pathname:r}=(0,c.TH)();return e+(0,x.applyTrailingSlash)((0,m.Z)(r),{trailingSlash:n,baseUrl:t})}(),a=t?`${n}${t}`:r;return(0,f.jsxs)(g.Z,{children:[(0,f.jsx)("meta",{property:"og:url",content:a}),(0,f.jsx)("link",{rel:"canonical",href:a})]})}function C(){const{i18n:{currentLocale:e}}=(0,h.Z)(),{metadata:t,image:n}=(0,y.L)();return(0,f.jsxs)(f.Fragment,{children:[(0,f.jsxs)(g.Z,{children:[(0,f.jsx)("meta",{name:"twitter:card",content:"summary_large_image"}),(0,f.jsx)("body",{className:w.h})]}),n&&(0,f.jsx)(b.d,{image:n}),(0,f.jsx)(_,{}),(0,f.jsx)(E,{}),(0,f.jsx)(S.Z,{tag:k.HX,locale:e}),(0,f.jsx)(g.Z,{children:t.map(((e,t)=>(0,f.jsx)("meta",{...e},t)))})]})}const T=new Map;function N(e){if(T.has(e.pathname))return{...e,pathname:T.get(e.pathname)};if((0,d.f)(u.Z,e.pathname).some((e=>{let{route:t}=e;return!0===t.exact})))return T.set(e.pathname,e.pathname),e;const t=e.pathname.trim().replace(/(?:\/index)?\.html$/,"")||"/";return T.set(e.pathname,t),{...e,pathname:t}}var L=n(8934),j=n(8940),A=n(469);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 O=function(e){let{children:t,location:n,previousLocation:r}=e;return(0,A.Z)((()=>{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 R(e){const t=Array.from(new Set([e,decodeURI(e)])).map((e=>(0,d.f)(u.Z,e))).flat();return Promise.all(t.map((e=>e.route.component.preload?.())))}class I extends r.Component{previousLocation;routeUpdateCleanupCb;constructor(e){super(e),this.previousLocation=null,this.routeUpdateCleanupCb=l.Z.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}),R(n.pathname).then((()=>{this.routeUpdateCleanupCb(),this.setState({nextRouteHasLoaded:!0})})).catch((e=>{console.warn(e),window.location.reload()})),!1}render(){const{children:e,location:t}=this.props;return(0,f.jsx)(O,{previousLocation:this.previousLocation,location:t,children:(0,f.jsx)(c.AW,{location:t,render:()=>e})})}}const F=I,D="__docusaurus-base-url-issue-banner-container",M="__docusaurus-base-url-issue-banner",z="__docusaurus-base-url-issue-banner-suggestion-container";function B(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 = '${D}';\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(/{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 Y=n(9670);const K=new Set,X=new Set,J=()=>navigator.connection?.effectiveType.includes("2g")||navigator.connection?.saveData,ee={prefetch(e){if(!(e=>!J()&&!X.has(e)&&!K.has(e))(e))return!1;K.add(e);const t=(0,d.f)(u.Z,e).flatMap((e=>{return t=e.route.path,Object.entries(G).filter((e=>{let[n]=e;return n.replace(/-[^-]+$/,"")===t})).flatMap((e=>{let[,t]=e;return Object.values((0,Y.Z)(t))}));var t}));return Promise.all(t.map((e=>{const t=n.gca(e);return t&&!t.includes("undefined")?Q(t).catch((()=>{})):Promise.resolve()})))},preload:e=>!!(e=>!J()&&!X.has(e))(e)&&(X.add(e),R(e))},te=Object.freeze(ee),ne=Boolean(!0);if(l.Z.canUseDOM){window.docusaurus=te;const e=document.getElementById("__docusaurus"),t=(0,f.jsx)(i.B6,{children:(0,f.jsx)(o.VK,{children:(0,f.jsx)(q,{})})}),n=(e,t)=>{console.error("Docusaurus React Root onRecoverableError:",e,t)},l=()=>{if(ne)r.startTransition((()=>{a.hydrateRoot(e,t,{onRecoverableError:n})}));else{const o=a.createRoot(e,{onRecoverableError:n});r.startTransition((()=>{o.render(t)}))}};R(window.location.pathname).then(l)}},8940:(e,t,n)=>{"use strict";n.d(t,{_:()=>d,M:()=>f});var r=n(7294),a=n(6809);const o=JSON.parse('{"docusaurus-plugin-google-tag-manager":{"default":{"containerId":"GTM-WWXQ3HNL","id":"default"}},"docusaurus-plugin-google-gtag":{"default":{"trackingID":["G-ZL2PD9TQNF"],"anonymizeIP":true,"id":"default"}},"docusaurus-plugin-content-docs":{"default":{"path":"/docs","versions":[{"name":"current","label":"Next","isLast":true,"path":"/docs","mainDocId":"intro","docs":[{"id":"examples/examples","path":"/docs/examples/","sidebar":"tutorialSidebar"},{"id":"examples/transcription","path":"/docs/examples/transcription","sidebar":"tutorialSidebar"},{"id":"intro","path":"/docs/intro","sidebar":"tutorialSidebar"},{"id":"python-client","path":"/docs/python-client","sidebar":"tutorialSidebar"},{"id":"tutorials/leaderboard","path":"/docs/tutorials/leaderboard","sidebar":"tutorialSidebar"},{"id":"tutorials/tutorials","path":"/docs/tutorials/","sidebar":"tutorialSidebar"},{"id":"views/existing","path":"/docs/views/existing","sidebar":"tutorialSidebar"},{"id":"views/spec/other","path":"/docs/views/spec/other","sidebar":"tutorialSidebar"},{"id":"views/spec/spec","path":"/docs/views/spec/","sidebar":"tutorialSidebar"},{"id":"views/views","path":"/docs/views/","sidebar":"tutorialSidebar"}],"draftIds":[],"sidebars":{"tutorialSidebar":{"link":{"path":"/docs/intro","label":"intro"}}}}],"breadcrumbs":true}}}'),i=JSON.parse('{"defaultLocale":"en","locales":["en"],"path":"i18n","currentLocale":"en","localeConfigs":{"en":{"label":"English","direction":"ltr","htmlLang":"en","calendar":"gregory","path":"en"}}}');var l=n(7529);const s=JSON.parse('{"docusaurusVersion":"3.0.1","siteVersion":"0.0.1","pluginVersions":{"docusaurus-plugin-content-docs":{"type":"package","name":"@docusaurus/plugin-content-docs","version":"3.0.1"},"docusaurus-plugin-content-blog":{"type":"package","name":"@docusaurus/plugin-content-blog","version":"3.0.1"},"docusaurus-plugin-content-pages":{"type":"package","name":"@docusaurus/plugin-content-pages","version":"3.0.1"},"docusaurus-plugin-google-gtag":{"type":"package","name":"@docusaurus/plugin-google-gtag","version":"3.0.1"},"docusaurus-plugin-google-tag-manager":{"type":"package","name":"@docusaurus/plugin-google-tag-manager","version":"3.0.1"},"docusaurus-plugin-sitemap":{"type":"package","name":"@docusaurus/plugin-sitemap","version":"3.0.1"},"docusaurus-theme-classic":{"type":"package","name":"@docusaurus/theme-classic","version":"3.0.1"}}}');var u=n(5893);const c={siteConfig:a.default,siteMetadata:s,globalData:o,i18n:i,codeTranslations:l},d=r.createContext(c);function f(e){let{children:t}=e;return(0,u.jsx)(d.Provider,{value:c,children:t})}},4763:(e,t,n)=>{"use strict";n.d(t,{Z:()=>p});var r=n(7294),a=n(412),o=n(5742),i=n(8780),l=n(6040),s=n(5893);function u(e){let{error:t,tryAgain:n}=e;return(0,s.jsxs)("div",{style:{display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"flex-start",minHeight:"100vh",width:"100%",maxWidth:"80ch",fontSize:"20px",margin:"0 auto",padding:"1rem"},children:[(0,s.jsx)("h1",{style:{fontSize:"3rem"},children:"This page crashed"}),(0,s.jsx)("button",{type:"button",onClick:n,style:{margin:"1rem 0",fontSize:"2rem",cursor:"pointer",borderRadius:20,padding:"1rem"},children:"Try again"}),(0,s.jsx)(c,{error:t})]})}function c(e){let{error:t}=e;const n=(0,i.getErrorCausalChain)(t).map((e=>e.message)).join("\n\nCause:\n");return(0,s.jsx)("p",{style:{whiteSpace:"pre-wrap"},children:n})}function d(e){let{error:t,tryAgain:n}=e;return(0,s.jsxs)(p,{fallback:()=>(0,s.jsx)(u,{error:t,tryAgain:n}),children:[(0,s.jsx)(o.Z,{children:(0,s.jsx)("title",{children:"Page Error"})}),(0,s.jsx)(l.Z,{children:(0,s.jsx)(u,{error:t,tryAgain:n})})]})}const f=e=>(0,s.jsx)(d,{...e});class p extends r.Component{constructor(e){super(e),this.state={error:null}}componentDidCatch(e){a.Z.canUseDOM&&this.setState({error:e})}render(){const{children:e}=this.props,{error:t}=this.state;if(t){const e={error:t,tryAgain:()=>this.setState({error:null})};return(this.props.fallback??f)(e)}return e??null}}},412:(e,t,n)=>{"use strict";n.d(t,{Z:()=>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}},5742:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});n(7294);var r=n(405),a=n(5893);function o(e){return(0,a.jsx)(r.ql,{...e})}},9960:(e,t,n)=>{"use strict";n.d(t,{Z:()=>p});var r=n(7294),a=n(3727),o=n(8780),i=n(2263),l=n(3919),s=n(412),u=n(5893);const c=r.createContext({collectLink:()=>{}});var d=n(4996);function f(e,t){let{isNavLink:n,to:f,href:p,activeClassName:g,isActive:h,"data-noBrokenLinkCheck":m,autoAddBaseUrl:y=!0,...b}=e;const{siteConfig:{trailingSlash:v,baseUrl:w}}=(0,i.Z)(),{withBaseUrl:k}=(0,d.C)(),x=(0,r.useContext)(c),S=(0,r.useRef)(null);(0,r.useImperativeHandle)(t,(()=>S.current));const E=f||p;const _=(0,l.Z)(E),C=E?.replace("pathname://","");let T=void 0!==C?(N=C,y&&(e=>e.startsWith("/"))(N)?k(N):N):void 0;var N;T&&_&&(T=(0,o.applyTrailingSlash)(T,{trailingSlash:v,baseUrl:w}));const L=(0,r.useRef)(!1),j=n?a.OL:a.rU,A=s.Z.canUseIntersectionObserver,P=(0,r.useRef)(),O=()=>{L.current||null==T||(window.docusaurus.preload(T),L.current=!0)};(0,r.useEffect)((()=>(!A&&_&&null!=T&&window.docusaurus.prefetch(T),()=>{A&&P.current&&P.current.disconnect()})),[P,T,A,_]);const R=T?.startsWith("#")??!1,I=!T||!_||R;return I||m||x.collectLink(T),I?(0,u.jsx)("a",{ref:S,href:T,...E&&!_&&{target:"_blank",rel:"noopener noreferrer"},...b}):(0,u.jsx)(j,{...b,onMouseEnter:O,onTouchStart:O,innerRef:e=>{S.current=e,A&&e&&_&&(P.current=new window.IntersectionObserver((t=>{t.forEach((t=>{e===t.target&&(t.isIntersecting||t.intersectionRatio>0)&&(P.current.unobserve(e),P.current.disconnect(),null!=T&&window.docusaurus.prefetch(T))}))})),P.current.observe(e))},to:T,...n&&{isActive:h,activeClassName:g}})}const p=r.forwardRef(f)},1875:(e,t,n)=>{"use strict";n.d(t,{Z:()=>r});const r=()=>null},5999:(e,t,n)=>{"use strict";n.d(t,{Z:()=>u,I:()=>s});var r=n(7294),a=n(5893);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(7529);function l(e){let{id:t,message:n}=e;if(void 0===t&&void 0===n)throw new Error("Docusaurus translation declarations must have at least a translation id or a default translation message");return i[t??n]??n??t}function s(e,t){let{message:n,id:r}=e;return o(l({message:n,id:r}),t)}function u(e){let{children:t,id:n,values:r}=e;if(t&&"string"!=typeof t)throw console.warn("Illegal children",t),new Error("The Docusaurus component only accept simple string values");const i=l({message:t,id:n});return(0,a.jsx)(a.Fragment,{children:o(i,r)})}},9935:(e,t,n)=>{"use strict";n.d(t,{m:()=>r});const r="default"},3919:(e,t,n)=>{"use strict";function r(e){return/^(?:\w*:|\/\/)/.test(e)}function a(e){return void 0!==e&&!r(e)}n.d(t,{Z:()=>a,b:()=>r})},4996:(e,t,n)=>{"use strict";n.d(t,{C:()=>i,Z:()=>l});var r=n(7294),a=n(2263),o=n(3919);function i(){const{siteConfig:{baseUrl:e,url:t}}=(0,a.Z)(),n=(0,r.useCallback)(((n,r)=>function(e,t,n,r){let{forcePrependBaseUrl:a=!1,absolute:i=!1}=void 0===r?{}:r;if(!n||n.startsWith("#")||(0,o.b)(n))return n;if(a)return t+n.replace(/^\//,"");if(n===t.replace(/\/$/,""))return t;const l=n.startsWith(t)?n:t+n.replace(/^\//,"");return i?e+l:l}(t,e,n,r)),[t,e]);return{withBaseUrl:n}}function l(e,t){void 0===t&&(t={});const{withBaseUrl:n}=i();return n(e,t)}},2263:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});var r=n(7294),a=n(8940);function o(){return(0,r.useContext)(a._)}},2389:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});var r=n(7294),a=n(8934);function o(){return(0,r.useContext)(a._)}},469:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a});var r=n(7294);const a=n(412).Z.canUseDOM?r.useLayoutEffect:r.useEffect},9670:(e,t,n)=>{"use strict";n.d(t,{Z:()=>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 l=a?`${a}.${o}`:o;r(i)?e(i,l):t[l]=i}))}(e),t}},226:(e,t,n)=>{"use strict";n.d(t,{_:()=>o,z:()=>i});var r=n(7294),a=n(5893);const o=r.createContext(null);function i(e){let{children:t,value:n}=e;const i=r.useContext(o),l=(0,r.useMemo)((()=>function(e){let{parent:t,value:n}=e;if(!t){if(!n)throw new Error("Unexpected: no Docusaurus route context found");if(!("plugin"in n))throw new Error("Unexpected: Docusaurus topmost route context has no `plugin` attribute");return n}const r={...t.data,...n?.data};return{plugin:t.plugin,data:r}}({parent:i,value:n})),[i,n]);return(0,a.jsx)(o.Provider,{value:l,children:t})}},143:(e,t,n)=>{"use strict";n.d(t,{Iw:()=>h,gA:()=>f,_r:()=>c,Jo:()=>m,zh:()=>d,yW:()=>g,gB:()=>p});var r=n(6550),a=n(2263),o=n(9935);function i(e,t){void 0===t&&(t={});const n=function(){const{globalData:e}=(0,a.Z)();return e}()[e];if(!n&&t.failfast)throw new Error(`Docusaurus plugin global data not found for "${e}" plugin.`);return n}const l=e=>e.versions.find((e=>e.isLast));function s(e,t){const n=function(e,t){const n=l(e);return[...e.versions.filter((e=>e!==n)),n].find((e=>!!(0,r.LX)(t,{path:e.path,exact:!1,strict:!1})))}(e,t),a=n?.docs.find((e=>!!(0,r.LX)(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):{}}}const u={},c=()=>i("docusaurus-plugin-content-docs")??u,d=e=>function(e,t,n){void 0===t&&(t=o.m),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});function f(e){void 0===e&&(e={});const t=c(),{pathname:n}=(0,r.TH)();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.LX)(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 p(e){return d(e).versions}function g(e){const t=d(e);return l(t)}function h(e){const t=d(e),{pathname:n}=(0,r.TH)();return s(t,n)}function m(e){const t=d(e),{pathname:n}=(0,r.TH)();return function(e,t){const n=l(e);return{latestDocSuggestion:s(e,t).alternateDocVersions[n.name],latestVersionSuggestion:n}}(t,n)}},6657:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>r});const r={onRouteDidUpdate(e){let{location:t,previousLocation:n}=e;!n||t.pathname===n.pathname&&t.search===n.search&&t.hash===n.hash||setTimeout((()=>{window.gtag("set","page_path",t.pathname+t.search+t.hash),window.gtag("event","page_view")}))}}},8320:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>o});var r=n(4865),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()}}},3310:(e,t,n)=>{"use strict";n.r(t);var r=n(2573),a=n(6809);!function(e){const{themeConfig:{prism:t}}=a.default,{additionalLanguages:r}=t;globalThis.Prism=e,r.forEach((e=>{"php"===e&&n(6854),n(9510)(`./prism-${e}`)})),delete globalThis.Prism}(r.p1)},2503:(e,t,n)=>{"use strict";n.d(t,{Z:()=>u});n(7294);var r=n(512),a=n(5999),o=n(6668),i=n(9960);const l={anchorWithStickyNavbar:"anchorWithStickyNavbar_LWe7",anchorWithHideOnScrollNavbar:"anchorWithHideOnScrollNavbar_WYt5"};var s=n(5893);function u(e){let{as:t,id:n,...u}=e;const{navbar:{hideOnScroll:c}}=(0,o.L)();if("h1"===t||!n)return(0,s.jsx)(t,{...u,id:void 0});const d=(0,a.I)({id:"theme.common.headingLinkTitle",message:"Direct link to {heading}",description:"Title for link to heading"},{heading:"string"==typeof u.children?u.children:n});return(0,s.jsxs)(t,{...u,className:(0,r.Z)("anchor",c?l.anchorWithHideOnScrollNavbar:l.anchorWithStickyNavbar,u.className),id:n,children:[u.children,(0,s.jsx)(i.Z,{className:"hash-link",to:`#${n}`,"aria-label":d,title:d,children:"\u200b"})]})}},9471:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});n(7294);const r={iconExternalLink:"iconExternalLink_nPIU"};var a=n(5893);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"})})}},6040:(e,t,n)=>{"use strict";n.d(t,{Z:()=>pt});var r=n(7294),a=n(512),o=n(4763),i=n(1944),l=n(6550),s=n(5999),u=n(5936),c=n(5893);const d="__docusaurus_skipToContent_fallback";function f(e){e.setAttribute("tabindex","-1"),e.focus(),e.removeAttribute("tabindex")}function p(){const e=(0,r.useRef)(null),{action:t}=(0,l.k6)(),n=(0,r.useCallback)((e=>{e.preventDefault();const t=document.querySelector("main:first-of-type")??document.getElementById(d);t&&f(t)}),[]);return(0,u.S)((n=>{let{location:r}=n;e.current&&!r.hash&&"PUSH"===t&&f(e.current)})),{containerRef:e,onClick:n}}const g=(0,s.I)({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 h(e){const t=e.children??g,{containerRef:n,onClick:r}=p();return(0,c.jsx)("div",{ref:n,role:"region","aria-label":g,children:(0,c.jsx)("a",{...e,href:`#${d}`,onClick:r,children:t})})}var m=n(5281),y=n(9727);const b={skipToContent:"skipToContent_fXgn"};function v(){return(0,c.jsx)(h,{className:b.skipToContent})}var w=n(6668),k=n(9689);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_CVFx"};function E(e){return(0,c.jsx)("button",{type:"button","aria-label":(0,s.I)({id:"theme.AnnouncementBar.closeButtonAriaLabel",message:"Close",description:"The ARIA label for close button of announcement bar"}),...e,className:(0,a.Z)("clean-btn close",S.closeButton,e.className),children:(0,c.jsx)(x,{width:14,height:14,strokeWidth:3.1})})}const _={content:"content_knG7"};function C(e){const{announcementBar:t}=(0,w.L)(),{content:n}=t;return(0,c.jsx)("div",{...e,className:(0,a.Z)(_.content,e.className),dangerouslySetInnerHTML:{__html:n}})}const T={announcementBar:"announcementBar_mb4j",announcementBarPlaceholder:"announcementBarPlaceholder_vyr4",announcementBarClose:"announcementBarClose_gvF7",announcementBarContent:"announcementBarContent_xLdY"};function N(){const{announcementBar:e}=(0,w.L)(),{isActive:t,close:n}=(0,k.nT)();if(!t)return null;const{backgroundColor:r,textColor:a,isCloseable:o}=e;return(0,c.jsxs)("div",{className:T.announcementBar,style:{backgroundColor:r,color:a},role:"banner",children:[o&&(0,c.jsx)("div",{className:T.announcementBarPlaceholder}),(0,c.jsx)(C,{className:T.announcementBarContent}),o&&(0,c.jsx)(E,{onClick:n,className:T.announcementBarClose})]})}var L=n(2961),j=n(2466);var A=n(902),P=n(3102);const O=r.createContext(null);function R(e){let{children:t}=e;const n=function(){const e=(0,L.e)(),t=(0,P.HY)(),[n,a]=(0,r.useState)(!1),o=null!==t.component,i=(0,A.D9)(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)(O.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)(O);if(!e)throw new A.i6("NavbarSecondaryMenuDisplayProvider");const[t,n]=e,a=(0,r.useCallback)((()=>n(!1)),[n]),o=(0,P.HY)();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.Z)("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(2949),z=n(2389);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:"M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"})})}function $(e){return(0,c.jsx)("svg",{viewBox:"0 0 24 24",width:24,height:24,...e,children:(0,c.jsx)("path",{fill:"currentColor",d:"M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"})})}const U={toggle:"toggle_vylO",toggleButton:"toggleButton_gllP",darkToggleIcon:"darkToggleIcon_wfgR",lightToggleIcon:"lightToggleIcon_pyhR",toggleButtonDisabled:"toggleButtonDisabled_aARS"};function Z(e){let{className:t,buttonClassName:n,value:r,onChange:o}=e;const i=(0,z.Z)(),l=(0,s.I)({message:"Switch between dark and light mode (currently {mode})",id:"theme.colorToggle.ariaLabel",description:"The ARIA label for the navbar color mode toggle"},{mode:"dark"===r?(0,s.I)({message:"dark mode",id:"theme.colorToggle.ariaLabel.mode.dark",description:"The name for the dark color mode"}):(0,s.I)({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.Z)(U.toggle,t),children:(0,c.jsxs)("button",{className:(0,a.Z)("clean-btn",U.toggleButton,!i&&U.toggleButtonDisabled,n),type:"button",onClick:()=>o("dark"===r?"light":"dark"),disabled:!i,title:l,"aria-label":l,"aria-live":"polite",children:[(0,c.jsx)(B,{className:(0,a.Z)(U.toggleIcon,U.lightToggleIcon)}),(0,c.jsx)($,{className:(0,a.Z)(U.toggleIcon,U.darkToggleIcon)})]})})}const H=r.memo(Z),V={darkNavbarColorModeToggle:"darkNavbarColorModeToggle_X3D1"};function W(e){let{className:t}=e;const n=(0,w.L)().navbar.style,r=(0,w.L)().colorMode.disableSwitch,{colorMode:a,setColorMode:o}=(0,M.I)();return r?null:(0,c.jsx)(H,{className:t,buttonClassName:"dark"===n?V.darkNavbarColorModeToggle:void 0,value:a,onChange:o})}var q=n(1327);function G(){return(0,c.jsx)(q.Z,{className:"navbar__brand",imageClassName:"navbar__logo",titleClassName:"navbar__title text--truncate"})}function Q(){const e=(0,L.e)();return(0,c.jsx)("button",{type:"button","aria-label":(0,s.I)({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)(W,{className:"margin-right--md"}),(0,c.jsx)(Q,{})]})}var K=n(9960),X=n(4996),J=n(3919);function ee(e,t){return void 0!==e&&void 0!==t&&new RegExp(e,"gi").test(t)}var te=n(9471);function ne(e){let{activeBasePath:t,activeBaseRegex:n,to:r,href:a,label:o,html:i,isDropdownLink:l,prependBaseUrlToHref:s,...u}=e;const d=(0,X.Z)(r),f=(0,X.Z)(t),p=(0,X.Z)(a,{forcePrependBaseUrl:!0}),g=o&&a&&!(0,J.Z)(a),h=i?{dangerouslySetInnerHTML:{__html:i}}:{children:(0,c.jsxs)(c.Fragment,{children:[o,g&&(0,c.jsx)(te.Z,{...l&&{width:12,height:12}})]})};return a?(0,c.jsx)(K.Z,{href:s?p:a,...u,...h}):(0,c.jsx)(K.Z,{to:d,isNavLink:!0,...(t||n)&&{isActive:(e,t)=>n?ee(n,t.pathname):t.pathname.startsWith(f)},...u,...h})}function re(e){let{className:t,isDropdownItem:n=!1,...r}=e;const o=(0,c.jsx)(ne,{className:(0,a.Z)(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.Z)("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(6043),le=n(8596),se=n(2263);const ue={dropdownNavbarItemMobile:"dropdownNavbarItemMobile_S0Fm"};function ce(e,t){return e.some((e=>function(e,t){return!!(0,le.Mg)(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,...l}=e;const s=(0,r.useRef)(null),[u,d]=(0,r.useState)(!1);return(0,r.useEffect)((()=>{const e=e=>{s.current&&!s.current.contains(e.target)&&d(!1)};return document.addEventListener("mousedown",e),document.addEventListener("touchstart",e),document.addEventListener("focusin",e),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("touchstart",e),document.removeEventListener("focusin",e)}}),[s]),(0,c.jsxs)("div",{ref:s,className:(0,a.Z)("navbar__item","dropdown","dropdown--hoverable",{"dropdown--right":"right"===n,"dropdown--show":u}),children:[(0,c.jsx)(ne,{"aria-haspopup":"true","aria-expanded":u,role:"button",href:l.to?void 0:"#",className:(0,a.Z)("navbar__link",o),...l,onClick:l.to?void 0:e=>e.preventDefault(),onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),d(!u))},children:l.children??l.label}),(0,c.jsx)("ul",{className:"dropdown__menu",children:t.map(((e,t)=>(0,r.createElement)(_e,{isDropdownItem:!0,activeClassName:"dropdown__link--active",...e,key:t})))})]})}function fe(e){let{items:t,className:n,position:o,onClick:i,...s}=e;const u=function(){const{siteConfig:{baseUrl:e}}=(0,se.Z)(),{pathname:t}=(0,l.TH)();return t.replace(e,"/")}(),d=ce(t,u),{collapsed:f,toggleCollapsed:p,setCollapsed:g}=(0,ie.u)({initialState:()=>!d});return(0,r.useEffect)((()=>{d&&g(!d)}),[u,d,g]),(0,c.jsxs)("li",{className:(0,a.Z)("menu__list-item",{"menu__list-item--collapsed":f}),children:[(0,c.jsx)(ne,{role:"button",className:(0,a.Z)(ue.dropdownNavbarItemMobile,"menu__link menu__link--sublist menu__link--sublist-caret",n),...s,onClick:e=>{e.preventDefault(),p()},children:s.children??s.label}),(0,c.jsx)(ie.z,{lazy:!0,as:"ul",className:"menu__list",collapsed:f,children:t.map(((e,t)=>(0,r.createElement)(_e,{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 ge=n(4711);function he(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_nlXk";var ye=n(1875);const be={navbarSearchContainer:"navbarSearchContainer_Bca1"};function ve(e){let{children:t,className:n}=e;return(0,c.jsx)("div",{className:(0,a.Z)(n,be.navbarSearchContainer),children:t})}var we=n(143),ke=n(2802);var xe=n(373);const Se=e=>e.docs.find((t=>t.id===e.mainDocId));const Ee={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,se.Z)(),f=(0,ge.l)(),{search:p,hash:g}=(0,l.TH)(),h=[...n,...u.map((e=>{const n=`${`pathname://${f.createUrl({locale:e,fullyQualified:!1})}`}${p}${g}${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,s.I)({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)(he,{className:me}),m]}),items:h})},search:function(e){let{mobile:t,className:n}=e;return t?null:(0,c.jsx)(ve,{className:n,children:(0,c.jsx)(ye.Z,{})})},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.Z)({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,we.Iw)(r),i=(0,ke.vY)(t,r),l=o?.path===i?.path;return null===i||i.unlisted&&!l?null:(0,c.jsx)(oe,{exact:!0,...a,isActive:()=>l||!!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,we.Iw)(r),i=(0,ke.oz)(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,ke.lO)(r)[0],i=t??o.label,l=n??(e=>e.docs.find((t=>t.id===e.mainDocId)))(o).path;return(0,c.jsx)(oe,{...a,label:i,to:l})},docsVersionDropdown:function(e){let{mobile:t,docsPluginId:n,dropdownActiveClassDisabled:r,dropdownItemsBefore:a,dropdownItemsAfter:o,...i}=e;const{search:u,hash:d}=(0,l.TH)(),f=(0,we.Iw)(n),p=(0,we.gB)(n),{savePreferredVersionName:g}=(0,xe.J)(n),h=[...a,...p.map((e=>{const t=f.alternateDocVersions[e.name]??Se(e);return{label:e.label,to:`${t.path}${u}${d}`,isActive:()=>e===f.activeVersion,onClick:()=>g(e.name)}})),...o],m=(0,ke.lO)(n)[0],y=t&&h.length>1?(0,s.I)({id:"theme.navbar.mobileVersionsDropdown.label",message:"Versions",description:"The label for the navbar versions dropdown on mobile view"}):m.label,b=t&&h.length>1?void 0:Se(m).path;return h.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:h,isActive:r?()=>!1:void 0})}};function _e(e){let{type:t,...n}=e;const r=function(e,t){return e&&"default"!==e?e:"items"in t?"dropdown":"default"}(t,n),a=Ee[r];if(!a)throw new Error(`No NavbarItem component found for type "${t}".`);return(0,c.jsx)(a,{...n})}function Ce(){const e=(0,L.e)(),t=(0,w.L)().navbar.items;return(0,c.jsx)("ul",{className:"menu__list",children:t.map(((t,n)=>(0,r.createElement)(_e,{mobile:!0,...t,onClick:()=>e.toggle(),key:n})))})}function Te(e){return(0,c.jsx)("button",{...e,type:"button",className:"clean-btn navbar-sidebar__back",children:(0,c.jsx)(s.Z,{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 Ne(){const e=0===(0,w.L)().navbar.items.length,t=F();return(0,c.jsxs)(c.Fragment,{children:[!e&&(0,c.jsx)(Te,{onClick:()=>t.hide()}),t.content]})}function Le(){const e=(0,L.e)();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)(Ce,{}),secondaryMenu:(0,c.jsx)(Ne,{})}):null}const je={navbarHideable:"navbarHideable_m1mJ",navbarHidden:"navbarHidden_jGov"};function Ae(e){return(0,c.jsx)("div",{role:"presentation",...e,className:(0,a.Z)("navbar-sidebar__backdrop",e.className)})}function Pe(e){let{children:t}=e;const{navbar:{hideOnScroll:n,style:o}}=(0,w.L)(),i=(0,L.e)(),{navbarRef:l,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,j.RF)(((t,r)=>{let{scrollY:i}=t;if(!e)return;if(i=l?n(!1):i+u{if(!e)return;const r=t.location.hash;if(r?document.getElementById(r.substring(1)):void 0)return a.current=!0,void n(!1);n(!0)})),{navbarRef:i,isNavbarVisible:t}}(n);return(0,c.jsxs)("nav",{ref:l,"aria-label":(0,s.I)({id:"theme.NavBar.navAriaLabel",message:"Main",description:"The ARIA label for the main navigation"}),className:(0,a.Z)("navbar","navbar--fixed-top",n&&[je.navbarHideable,!d&&je.navbarHidden],{"navbar--dark":"dark"===o,"navbar--primary":"primary"===o,"navbar-sidebar--show":i.shown}),children:[t,(0,c.jsx)(Ae,{onClick:i.toggle}),(0,c.jsx)(Le,{})]})}var Oe=n(8780);const Re={errorBoundaryError:"errorBoundaryError_a6uf",errorBoundaryFallback:"errorBoundaryFallback_VBag"};function Ie(e){return(0,c.jsx)("button",{type:"button",...e,children:(0,c.jsx)(s.Z,{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 Fe(e){let{error:t}=e;const n=(0,Oe.getErrorCausalChain)(t).map((e=>e.message)).join("\n\nCause:\n");return(0,c.jsx)("p",{className:Re.errorBoundaryError,children:n})}class De extends r.Component{componentDidCatch(e,t){throw this.props.onError(e,t)}render(){return this.props.children}}const Me="right";function ze(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 Be(){const{toggle:e,shown:t}=(0,L.e)();return(0,c.jsx)("button",{onClick:e,"aria-label":(0,s.I)({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)(ze,{})})}const $e={colorModeToggle:"colorModeToggle_DEke"};function Ue(e){let{items:t}=e;return(0,c.jsx)(c.Fragment,{children:t.map(((e,t)=>(0,c.jsx)(De,{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)(_e,{...e})},t)))})}function Ze(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 He(){const e=(0,L.e)(),t=(0,w.L)().navbar.items,[n,r]=function(e){function t(e){return"left"===(e.position??Me)}return[e.filter(t),e.filter((e=>!t(e)))]}(t),a=t.find((e=>"search"===e.type));return(0,c.jsx)(Ze,{left:(0,c.jsxs)(c.Fragment,{children:[!e.disabled&&(0,c.jsx)(Be,{}),(0,c.jsx)(G,{}),(0,c.jsx)(Ue,{items:n})]}),right:(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(Ue,{items:r}),(0,c.jsx)(W,{className:$e.colorModeToggle}),!a&&(0,c.jsx)(ve,{children:(0,c.jsx)(ye.Z,{})})]})})}function Ve(){return(0,c.jsx)(Pe,{children:(0,c.jsx)(He,{})})}function We(e){let{item:t}=e;const{to:n,href:r,label:a,prependBaseUrlToHref:o,...i}=t,l=(0,X.Z)(n),s=(0,X.Z)(r,{forcePrependBaseUrl:!0});return(0,c.jsxs)(K.Z,{className:"footer__link-item",...r?{href:o?s:r}:{to:l},...i,children:[a,r&&!(0,J.Z)(r)&&(0,c.jsx)(te.Z,{})]})}function qe(e){let{item:t}=e;return t.html?(0,c.jsx)("li",{className:"footer__item",dangerouslySetInnerHTML:{__html:t.html}}):(0,c.jsx)("li",{className:"footer__item",children:(0,c.jsx)(We,{item:t})},t.href??t.to)}function Ge(e){let{column:t}=e;return(0,c.jsxs)("div",{className:"col footer__col",children:[(0,c.jsx)("div",{className:"footer__title",children:t.title}),(0,c.jsx)("ul",{className:"footer__items clean-list",children:t.items.map(((e,t)=>(0,c.jsx)(qe,{item:e},t)))})]})}function Qe(e){let{columns:t}=e;return(0,c.jsx)("div",{className:"row footer__links",children:t.map(((e,t)=>(0,c.jsx)(Ge,{column:e},t)))})}function Ye(){return(0,c.jsx)("span",{className:"footer__link-separator",children:"\xb7"})}function Ke(e){let{item:t}=e;return t.html?(0,c.jsx)("span",{className:"footer__link-item",dangerouslySetInnerHTML:{__html:t.html}}):(0,c.jsx)(We,{item:t})}function Xe(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)(Ke,{item:e}),t.length!==n+1&&(0,c.jsx)(Ye,{})]},n)))})})}function Je(e){let{links:t}=e;return function(e){return"title"in e[0]}(t)?(0,c.jsx)(Qe,{columns:t}):(0,c.jsx)(Xe,{links:t})}var et=n(9965);const tt={footerLogoLink:"footerLogoLink_BH7S"};function nt(e){let{logo:t}=e;const{withBaseUrl:n}=(0,X.C)(),r={light:n(t.src),dark:n(t.srcDark??t.src)};return(0,c.jsx)(et.Z,{className:(0,a.Z)("footer__logo",t.className),alt:t.alt,sources:r,width:t.width,height:t.height,style:t.style})}function rt(e){let{logo:t}=e;return t.href?(0,c.jsx)(K.Z,{href:t.href,className:tt.footerLogoLink,target:t.target,children:(0,c.jsx)(nt,{logo:t})}):(0,c.jsx)(nt,{logo:t})}function at(e){let{copyright:t}=e;return(0,c.jsx)("div",{className:"footer__copyright",dangerouslySetInnerHTML:{__html:t}})}function ot(e){let{style:t,links:n,logo:r,copyright:o}=e;return(0,c.jsx)("footer",{className:(0,a.Z)("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 it(){const{footer:e}=(0,w.L)();if(!e)return null;const{copyright:t,links:n,logo:r,style:a}=e;return(0,c.jsx)(ot,{style:a,links:n&&n.length>0&&(0,c.jsx)(Je,{links:n}),logo:r&&(0,c.jsx)(rt,{logo:r}),copyright:t&&(0,c.jsx)(at,{copyright:t})})}const lt=r.memo(it),st=(0,A.Qc)([M.S,k.pl,j.OC,xe.L5,i.VC,function(e){let{children:t}=e;return(0,c.jsx)(P.n2,{children:(0,c.jsx)(L.M,{children:(0,c.jsx)(R,{children:t})})})}]);function ut(e){let{children:t}=e;return(0,c.jsx)(st,{children:t})}var ct=n(2503);function dt(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)(ct.Z,{as:"h1",className:"hero__title",children:(0,c.jsx)(s.Z,{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)(Ie,{onClick:n,className:"button button--primary shadow--lw"})}),(0,c.jsx)("hr",{}),(0,c.jsx)("div",{className:"margin-vert--md",children:(0,c.jsx)(Fe,{error:t})})]})})})}const ft={mainWrapper:"mainWrapper_z2l0"};function pt(e){const{children:t,noFooter:n,wrapperClassName:r,title:l,description:s}=e;return(0,y.t)(),(0,c.jsxs)(ut,{children:[(0,c.jsx)(i.d,{title:l,description:s}),(0,c.jsx)(v,{}),(0,c.jsx)(N,{}),(0,c.jsx)(Ve,{}),(0,c.jsx)("div",{id:d,className:(0,a.Z)(m.k.wrapper.main,ft.mainWrapper,r),children:(0,c.jsx)(o.Z,{fallback:e=>(0,c.jsx)(dt,{...e}),children:t})}),!n&&(0,c.jsx)(lt,{})]})}},1327:(e,t,n)=>{"use strict";n.d(t,{Z:()=>c});n(7294);var r=n(9960),a=n(4996),o=n(2263),i=n(6668),l=n(9965),s=n(5893);function u(e){let{logo:t,alt:n,imageClassName:r}=e;const o={light:(0,a.Z)(t.src),dark:(0,a.Z)(t.srcDark||t.src)},i=(0,s.jsx)(l.Z,{className:t.className,sources:o,height:t.height,width:t.width,alt:n,style:t.style});return r?(0,s.jsx)("div",{className:r,children:i}):i}function c(e){const{siteConfig:{title:t}}=(0,o.Z)(),{navbar:{title:n,logo:l}}=(0,i.L)(),{imageClassName:c,titleClassName:d,...f}=e,p=(0,a.Z)(l?.href||"/"),g=n?"":t,h=l?.alt??g;return(0,s.jsxs)(r.Z,{to:p,...f,...l?.target&&{target:l.target},children:[l&&(0,s.jsx)(u,{logo:l,alt:h,imageClassName:c}),null!=n&&(0,s.jsx)("b",{className:d,children:n})]})}},197:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});n(7294);var r=n(5742),a=n(5893);function o(e){let{locale:t,version:n,tag:o}=e;const i=t;return(0,a.jsxs)(r.Z,{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})]})}},9965:(e,t,n)=>{"use strict";n.d(t,{Z:()=>c});var r=n(7294),a=n(512),o=n(2389),i=n(2949);const l={themedComponent:"themedComponent_mlkZ","themedComponent--light":"themedComponent--light_NVdE","themedComponent--dark":"themedComponent--dark_xIcU"};var s=n(5893);function u(e){let{className:t,children:n}=e;const u=(0,o.Z)(),{colorMode:c}=(0,i.I)();return(0,s.jsx)(s.Fragment,{children:(u?"dark"===c?["dark"]:["light"]:["light","dark"]).map((e=>{const o=n({theme:e,className:(0,a.Z)(t,l.themedComponent,l[`themedComponent--${e}`])});return(0,s.jsx)(r.Fragment,{children:o},e)}))})}function c(e){const{sources:t,className:n,alt:r,...a}=e;return(0,s.jsx)(u,{className:n,children:e=>{let{theme:n,className:o}=e;return(0,s.jsx)("img",{src:t[n],alt:r,className:o,...a})}})}},6043:(e,t,n)=>{"use strict";n.d(t,{u:()=>u,z:()=>y});var r=n(7294),a=n(412),o=n(469),i=n(1442),l=n(5893);const s="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.n)())return 1;const t=e/36;return Math.round(10*(4+15*t**.25+t/5))}(t);return{transition:`height ${n}ms ${a?.easing??s}`,height:`${t}px`}}function l(){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?(l(),requestAnimationFrame((()=>{e.style.height=c.height,e.style.overflow=c.overflow}))):(e.style.display="block",requestAnimationFrame((()=>{l()})))}));return()=>cancelAnimationFrame(t)}()}),[t,n,a])}function g(e){if(!a.Z.canUseDOM)return e?c:d}function h(e){let{as:t="div",collapsed:n,children:a,animation:o,onCollapseTransitionEnd:i,className:s,disableSSRStyle:u}=e;const c=(0,r.useRef)(null);return p({collapsibleRef:c,collapsed:n,animation:o}),(0,l.jsx)(t,{ref:c,style:u?void 0:g(n),onTransitionEnd:e=>{"height"===e.propertyName&&(f(c.current,n),i?.(n))},className:s,children:a})}function m(e){let{collapsed:t,...n}=e;const[a,i]=(0,r.useState)(!t),[s,u]=(0,r.useState)(t);return(0,o.Z)((()=>{t||i(!0)}),[t]),(0,o.Z)((()=>{a&&u(t)}),[a,t]),a?(0,l.jsx)(h,{...n,collapsed:s}):null}function y(e){let{lazy:t,...n}=e;const r=t?m:h;return(0,l.jsx)(r,{...n})}},9689:(e,t,n)=>{"use strict";n.d(t,{nT:()=>h,pl:()=>g});var r=n(7294),a=n(2389),o=n(12),i=n(902),l=n(6668),s=n(5893);const u=(0,o.WA)("docusaurus.announcement.dismiss"),c=(0,o.WA)("docusaurus.announcement.id"),d=()=>"true"===u.get(),f=e=>u.set(String(e)),p=r.createContext(null);function g(e){let{children:t}=e;const n=function(){const{announcementBar:e}=(0,l.L)(),t=(0,a.Z)(),[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,s.jsx)(p.Provider,{value:n,children:t})}function h(){const e=(0,r.useContext)(p);if(!e)throw new i.i6("AnnouncementBarProvider");return e}},2949:(e,t,n)=>{"use strict";n.d(t,{I:()=>y,S:()=>m});var r=n(7294),a=n(412),o=n(902),i=n(12),l=n(6668),s=n(5893);const u=r.createContext(void 0),c="theme",d=(0,i.WA)(c),f={light:"light",dark:"dark"},p=e=>e===f.dark?f.dark:f.light,g=e=>a.Z.canUseDOM?p(document.documentElement.getAttribute("data-theme")):p(e),h=e=>{d.set(p(e))};function m(e){let{children:t}=e;const n=function(){const{colorMode:{defaultMode:e,disableSwitch:t,respectPrefersColorScheme:n}}=(0,l.L)(),[a,o]=(0,r.useState)(g(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&&h(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 s=(0,r.useRef)(!1);return(0,r.useEffect)((()=>{if(t&&!n)return;const e=window.matchMedia("(prefers-color-scheme: dark)"),r=()=>{window.matchMedia("print").matches||s.current?s.current=window.matchMedia("print").matches:i(null)};return e.addListener(r),()=>e.removeListener(r)}),[i,t,n]),(0,r.useMemo)((()=>({colorMode:a,setColorMode:i,get isDarkTheme(){return a===f.dark},setLightTheme(){i(f.light)},setDarkTheme(){i(f.dark)}})),[a,i])}();return(0,s.jsx)(u.Provider,{value:n,children:t})}function y(){const e=(0,r.useContext)(u);if(null==e)throw new o.i6("ColorModeProvider","Please see https://docusaurus.io/docs/api/themes/configuration#use-color-mode.");return e}},373:(e,t,n)=>{"use strict";n.d(t,{J:()=>v,L5:()=>y});var r=n(7294),a=n(143),o=n(9935),i=n(6668),l=n(2802),s=n(902),u=n(12),c=n(5893);const d=e=>`docs-preferred-version-${e}`,f={save:(e,t,n)=>{(0,u.WA)(d(e),{persistence:t}).set(n)},read:(e,t)=>(0,u.WA)(d(e),{persistence:t}).get(),clear:(e,t)=>{(0,u.WA)(d(e),{persistence:t}).del()}},p=e=>Object.fromEntries(e.map((e=>[e,{preferredVersionName:null}])));const g=r.createContext(null);function h(){const e=(0,a._r)(),t=(0,i.L)().docs.versionPersistence,n=(0,r.useMemo)((()=>Object.keys(e)),[e]),[o,l]=(0,r.useState)((()=>p(n)));(0,r.useEffect)((()=>{l(function(e){let{pluginIds:t,versionPersistence:n,allDocsData:r}=e;function a(e){const t=f.read(e,n);return r[e].versions.some((e=>e.name===t))?{preferredVersionName:t}:(f.clear(e,n),{preferredVersionName:null})}return Object.fromEntries(t.map((e=>[e,a(e)])))}({allDocsData:e,versionPersistence:t,pluginIds:n}))}),[e,t,n]);return[o,(0,r.useMemo)((()=>({savePreferredVersion:function(e,n){f.save(e,t,n),l((t=>({...t,[e]:{preferredVersionName:n}})))}})),[t])]}function m(e){let{children:t}=e;const n=h();return(0,c.jsx)(g.Provider,{value:n,children:t})}function y(e){let{children:t}=e;return l.cE?(0,c.jsx)(m,{children:t}):(0,c.jsx)(c.Fragment,{children:t})}function b(){const e=(0,r.useContext)(g);if(!e)throw new s.i6("DocsPreferredVersionContextProvider");return e}function v(e){void 0===e&&(e=o.m);const t=(0,a.zh)(e),[n,i]=b(),{preferredVersionName:l}=n[e];return{preferredVersion:t.versions.find((e=>e.name===l))??null,savePreferredVersionName:(0,r.useCallback)((t=>{i.savePreferredVersion(e,t)}),[i,e])}}},1116:(e,t,n)=>{"use strict";n.d(t,{V:()=>u,b:()=>s});var r=n(7294),a=n(902),o=n(5893);const i=Symbol("EmptyContext"),l=r.createContext(i);function s(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)(l.Provider,{value:i,children:t})}function u(){const e=(0,r.useContext)(l);if(e===i)throw new a.i6("DocsSidebarProvider");return e}},4477:(e,t,n)=>{"use strict";n.d(t,{E:()=>s,q:()=>l});var r=n(7294),a=n(902),o=n(5893);const i=r.createContext(null);function l(e){let{children:t,version:n}=e;return(0,o.jsx)(i.Provider,{value:n,children:t})}function s(){const e=(0,r.useContext)(i);if(null===e)throw new a.i6("DocsVersionProvider");return e}},2961:(e,t,n)=>{"use strict";n.d(t,{M:()=>p,e:()=>g});var r=n(7294),a=n(3102),o=n(7524),i=n(6550),l=n(902);function s(e){!function(e){const t=(0,i.k6)(),n=(0,l.zX)(e);(0,r.useEffect)((()=>t.block(((e,t)=>n(e,t)))),[t,n])}(((t,n)=>{if("POP"===n)return e(t,n)}))}var u=n(6668),c=n(5893);const d=r.createContext(void 0);function f(){const e=function(){const e=(0,a.HY)(),{items:t}=(0,u.L)().navbar;return 0===t.length&&!e.component}(),t=(0,o.i)(),n=!e&&"mobile"===t,[i,l]=(0,r.useState)(!1);s((()=>{if(i)return l(!1),!1}));const c=(0,r.useCallback)((()=>{l((e=>!e))}),[]);return(0,r.useEffect)((()=>{"desktop"===t&&l(!1)}),[t]),(0,r.useMemo)((()=>({disabled:e,shouldRender:n,toggle:c,shown:i})),[e,n,c,i])}function p(e){let{children:t}=e;const n=f();return(0,c.jsx)(d.Provider,{value:n,children:t})}function g(){const e=r.useContext(d);if(void 0===e)throw new l.i6("NavbarMobileSidebarProvider");return e}},3102:(e,t,n)=>{"use strict";n.d(t,{HY:()=>s,Zo:()=>u,n2:()=>l});var r=n(7294),a=n(902),o=n(5893);const i=r.createContext(null);function l(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 s(){const e=(0,r.useContext)(i);if(!e)throw new a.i6("NavbarSecondaryMenuContentProvider");return e[0]}function u(e){let{component:t,props:n}=e;const o=(0,r.useContext)(i);if(!o)throw new a.i6("NavbarSecondaryMenuContentProvider");const[,l]=o,s=(0,a.Ql)(n);return(0,r.useEffect)((()=>{l({component:t,props:s})}),[l,t,s]),(0,r.useEffect)((()=>()=>l({component:null,props:null})),[l]),null}},9727:(e,t,n)=>{"use strict";n.d(t,{h:()=>a,t:()=>o});var r=n(7294);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)}}),[])}},7524:(e,t,n)=>{"use strict";n.d(t,{i:()=>l});var r=n(7294),a=n(412);const o={desktop:"desktop",mobile:"mobile",ssr:"ssr"},i=996;function l(){const[e,t]=(0,r.useState)((()=>"ssr"));return(0,r.useEffect)((()=>{function e(){t(function(){if(!a.Z.canUseDOM)throw new Error("getWindowSize() should only be called after React hydration");return window.innerWidth>i?o.desktop:o.mobile}())}return e(),window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e)}}),[]),e}},5281:(e,t,n)=>{"use strict";n.d(t,{k:()=>r});const r={page:{blogListPage:"blog-list-page",blogPostPage:"blog-post-page",blogTagsListPage:"blog-tags-list-page",blogTagPostListPage:"blog-tags-post-list-page",docsDocPage:"docs-doc-page",docsTagsListPage:"docs-tags-list-page",docsTagDocListPage:"docs-tags-doc-list-page",mdxPage:"mdx-page"},wrapper:{main:"main-wrapper",blogPages:"blog-wrapper",docsPages:"docs-wrapper",mdxPages:"mdx-wrapper"},common:{editThisPage:"theme-edit-this-page",lastUpdated:"theme-last-updated",backToTopButton:"theme-back-to-top-button",codeBlock:"theme-code-block",admonition:"theme-admonition",unlistedBanner:"theme-unlisted-banner",admonitionType:e=>`theme-admonition-${e}`},layout:{},docs:{docVersionBanner:"theme-doc-version-banner",docVersionBadge:"theme-doc-version-badge",docBreadcrumbs:"theme-doc-breadcrumbs",docMarkdown:"theme-doc-markdown",docTocMobile:"theme-doc-toc-mobile",docTocDesktop:"theme-doc-toc-desktop",docFooter:"theme-doc-footer",docFooterTagsRow:"theme-doc-footer-tags-row",docFooterEditMetaRow:"theme-doc-footer-edit-meta-row",docSidebarContainer:"theme-doc-sidebar-container",docSidebarMenu:"theme-doc-sidebar-menu",docSidebarItemCategory:"theme-doc-sidebar-item-category",docSidebarItemLink:"theme-doc-sidebar-item-link",docSidebarItemCategoryLevel:e=>`theme-doc-sidebar-item-category-level-${e}`,docSidebarItemLinkLevel:e=>`theme-doc-sidebar-item-link-level-${e}`},blog:{}}},1442:(e,t,n)=>{"use strict";function r(){return window.matchMedia("(prefers-reduced-motion: reduce)").matches}n.d(t,{n:()=>r})},2802:(e,t,n)=>{"use strict";n.d(t,{LM:()=>p,_F:()=>m,cE:()=>f,SN:()=>E,lO:()=>k,vY:()=>S,oz:()=>x,s1:()=>w,f:()=>b});var r=n(7294),a=n(6550),o=n(8790),i=n(143),l=n(373),s=n(4477),u=n(1116);function c(e){return Array.from(new Set(e))}var d=n(8596);const f=!!i._r;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}const g=(e,t)=>void 0!==e&&(0,d.Mg)(e,t),h=(e,t)=>e.some((e=>m(e,t)));function m(e,t){return"link"===e.type?g(e.href,t):"category"===e.type&&(g(e.href,t)||h(e.items,t))}function y(e,t){switch(e.type){case"category":return m(e,t)||e.items.some((e=>y(e,t)));case"link":return!e.unlisted||m(e,t);default:return!0}}function b(e,t){return(0,r.useMemo)((()=>e.filter((e=>y(e,t)))),[e,t])}function v(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,d.Mg)(o.href,n)||e(o.items))||"link"===o.type&&(0,d.Mg)(o.href,n)){return r&&"category"!==o.type||a.unshift(o),!0}return!1}(t),a}function w(){const e=(0,u.V)(),{pathname:t}=(0,a.TH)(),n=(0,i.gA)()?.pluginData.breadcrumbs;return!1!==n&&e?v({sidebarItems:e.items,pathname:t}):null}function k(e){const{activeVersion:t}=(0,i.Iw)(e),{preferredVersion:n}=(0,l.J)(e),a=(0,i.yW)(e);return(0,r.useMemo)((()=>c([t,n,a].filter(Boolean))),[t,n,a])}function x(e,t){const n=k(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 S(e,t){const n=k(t);return(0,r.useMemo)((()=>{const t=n.flatMap((e=>e.docs)),r=t.find((t=>t.id===e));if(!r){if(n.flatMap((e=>e.draftIds)).includes(e))return null;throw new Error(`Couldn't find any doc with id "${e}" in version${n.length>1?"s":""} "${n.map((e=>e.name)).join(", ")}".\nAvailable doc ids are:\n- ${c(t.map((e=>e.id))).join("\n- ")}`)}return r}),[e,n])}function E(e){let{route:t}=e;const n=(0,a.TH)(),r=(0,s.E)(),i=t.routes,l=i.find((e=>(0,a.LX)(n.pathname,e)));if(!l)return null;const u=l.sidebar,c=u?r.docsSidebars[u]:void 0;return{docElement:(0,o.H)(i),sidebarName:u,sidebarItems:c}}},1944:(e,t,n)=>{"use strict";n.d(t,{FG:()=>p,d:()=>d,VC:()=>g});var r=n(7294),a=n(512),o=n(5742),i=n(226);function l(){const e=r.useContext(i._);if(!e)throw new Error("Unexpected: no Docusaurus route context found");return e}var s=n(4996),u=n(2263);var c=n(5893);function d(e){let{title:t,description:n,keywords:r,image:a,children:i}=e;const l=function(e){const{siteConfig:t}=(0,u.Z)(),{title:n,titleDelimiter:r}=t;return e?.trim().length?`${e.trim()} ${r} ${n}`:n}(t),{withBaseUrl:d}=(0,s.C)(),f=a?d(a,{absolute:!0}):void 0;return(0,c.jsxs)(o.Z,{children:[t&&(0,c.jsx)("title",{children:l}),t&&(0,c.jsx)("meta",{property:"og:title",content:l}),n&&(0,c.jsx)("meta",{name:"description",content:n}),n&&(0,c.jsx)("meta",{property:"og:description",content:n}),r&&(0,c.jsx)("meta",{name:"keywords",content:Array.isArray(r)?r.join(","):r}),f&&(0,c.jsx)("meta",{property:"og:image",content:f}),f&&(0,c.jsx)("meta",{name:"twitter:image",content:f}),i]})}const f=r.createContext(void 0);function p(e){let{className:t,children:n}=e;const i=r.useContext(f),l=(0,a.Z)(i,t);return(0,c.jsxs)(f.Provider,{value:l,children:[(0,c.jsx)(o.Z,{children:(0,c.jsx)("html",{className:l})}),n]})}function g(e){let{children:t}=e;const n=l(),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.Z)(r,o),children:t})}},902:(e,t,n)=>{"use strict";n.d(t,{D9:()=>l,Qc:()=>c,Ql:()=>u,i6:()=>s,zX:()=>i});var r=n(7294),a=n(469),o=n(5893);function i(e){const t=(0,r.useRef)(e);return(0,a.Z)((()=>{t.current=e}),[e]),(0,r.useCallback)((function(){return t.current(...arguments)}),[])}function l(e){const t=(0,r.useRef)();return(0,a.Z)((()=>{t.current=e})),t.current}class s extends Error{constructor(e,t){super(),this.name="ReactContextError",this.message=`Hook ${this.stack?.split("\n")[1]?.match(/at (?:\w+\.)?(?\w+)/)?.groups.name??""} is called outside the <${e}>. ${t??""}`}}function u(e){const t=Object.entries(e);return t.sort(((e,t)=>e[0].localeCompare(t[0]))),(0,r.useMemo)((()=>e),t.flat())}function c(e){return t=>{let{children:n}=t;return(0,o.jsx)(o.Fragment,{children:e.reduceRight(((e,t)=>(0,o.jsx)(t,{children:e})),n)})}}},8596:(e,t,n)=>{"use strict";n.d(t,{Mg:()=>i,Ns:()=>l});var r=n(7294),a=n(723),o=n(2263);function i(e,t){const n=e=>(!e||e.endsWith("/")?e:`${e}/`)?.toLowerCase();return n(e)===n(t)}function l(){const{baseUrl:e}=(0,o.Z)().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.Z,baseUrl:e})),[e])}},2466:(e,t,n)=>{"use strict";n.d(t,{Ct:()=>p,OC:()=>u,RF:()=>f});var r=n(7294),a=n(412),o=n(2389),i=(n(469),n(902)),l=n(5893);const s=r.createContext(void 0);function u(e){let{children:t}=e;const n=function(){const e=(0,r.useRef)(!0);return(0,r.useMemo)((()=>({scrollEventsEnabledRef:e,enableScrollEvents:()=>{e.current=!0},disableScrollEvents:()=>{e.current=!1}})),[])}();return(0,l.jsx)(s.Provider,{value:n,children:t})}function c(){const e=(0,r.useContext)(s);if(null==e)throw new i.i6("ScrollControllerProvider");return e}const d=()=>a.Z.canUseDOM?{scrollX:window.pageXOffset,scrollY:window.pageYOffset}:null;function f(e,t){void 0===t&&(t=[]);const{scrollEventsEnabledRef:n}=c(),a=(0,r.useRef)(d()),o=(0,i.zX)(e);(0,r.useEffect)((()=>{const e=()=>{if(!n.current)return;const e=d();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 p(){const e=(0,r.useRef)(null),t=(0,o.Z)()&&"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?.()}}},3320:(e,t,n)=>{"use strict";n.d(t,{HX:()=>r,os:()=>a});n(2263);const r="default";function a(e,t){return`docs-${e}-${t}`}},12:(e,t,n)=>{"use strict";n.d(t,{WA:()=>s});n(7294);const r="localStorage";function a(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 o(e){if(void 0===e&&(e=r),"undefined"==typeof window)throw new Error("Browser storage is not available on Node.js/Docusaurus SSR process.");if("none"===e)return null;try{return window[e]}catch(n){return t=n,i||(console.warn("Docusaurus browser storage is not available.\nPossible reasons: running Docusaurus in an iframe, in an incognito browser session, or using too strict browser privacy settings.",t),i=!0),null}var t}let i=!1;const l={get:()=>null,set:()=>{},del:()=>{},listen:()=>()=>{}};function s(e,t){if("undefined"==typeof window)return function(e){function t(){throw new Error(`Illegal storage API usage for storage key "${e}".\nDocusaurus storage APIs are not supposed to be called on the server-rendering process.\nPlease only call storage APIs in effects and event handlers.`)}return{get:t,set:t,del:t,listen:t}}(e);const n=o(t?.persistence);return null===n?l:{get:()=>{try{return n.getItem(e)}catch(t){return console.error(`Docusaurus storage error, can't get key=${e}`,t),null}},set:t=>{try{const r=n.getItem(e);n.setItem(e,t),a({key:e,oldValue:r,newValue:t,storage:n})}catch(r){console.error(`Docusaurus storage error, can't set ${e}=${t}`,r)}},del:()=>{try{const t=n.getItem(e);n.removeItem(e),a({key:e,oldValue:t,newValue:null,storage:n})}catch(t){console.error(`Docusaurus storage error, can't delete key=${e}`,t)}},listen:t=>{try{const r=r=>{r.storageArea===n&&r.key===e&&t(r)};return window.addEventListener("storage",r),()=>window.removeEventListener("storage",r)}catch(r){return console.error(`Docusaurus storage error, can't listen for changes of key=${e}`,r),()=>{}}}}}},4711:(e,t,n)=>{"use strict";n.d(t,{l:()=>i});var r=n(2263),a=n(6550),o=n(8780);function i(){const{siteConfig:{baseUrl:e,url:t,trailingSlash:n},i18n:{defaultLocale:i,currentLocale:l}}=(0,r.Z)(),{pathname:s}=(0,a.TH)(),u=(0,o.applyTrailingSlash)(s,{trailingSlash:n,baseUrl:e}),c=l===i?e:e.replace(`/${l}/`,"/"),d=u.replace(e,"");return{createUrl:function(e){let{locale:n,fullyQualified:r}=e;return`${r?t:""}${function(e){return e===i?`${c}`:`${c}${e}/`}(n)}${d}`}}}},5936:(e,t,n)=>{"use strict";n.d(t,{S:()=>i});var r=n(7294),a=n(6550),o=n(902);function i(e){const t=(0,a.TH)(),n=(0,o.D9)(t),i=(0,o.zX)(e);(0,r.useEffect)((()=>{n&&t!==n&&i({location:t,previousLocation:n})}),[i,t,n])}},6668:(e,t,n)=>{"use strict";n.d(t,{L:()=>a});var r=n(2263);function a(){return(0,r.Z)().siteConfig.themeConfig}},8802:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){const{trailingSlash:n,baseUrl:r}=t;if(e.startsWith("#"))return e;if(void 0===n)return e;const[a]=e.split(/[#?]/),o="/"===a||a===r?a:(i=a,n?function(e){return e.endsWith("/")?e:`${e}/`}(i):function(e){return e.endsWith("/")?e.slice(0,-1):e}(i));var i;return e.replace(a,o)}},4143:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getErrorCausalChain=void 0,t.getErrorCausalChain=function e(t){return t.cause?[t,...e(t.cause)]:[t]}},8780:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.getErrorCausalChain=t.applyTrailingSlash=t.blogPostContainerID=void 0,t.blogPostContainerID="__blog-post-container";var a=n(8802);Object.defineProperty(t,"applyTrailingSlash",{enumerable:!0,get:function(){return r(a).default}});var o=n(4143);Object.defineProperty(t,"getErrorCausalChain",{enumerable:!0,get:function(){return o.getErrorCausalChain}})},9318:(e,t,n)=>{"use strict";n.d(t,{lX:()=>w,q_:()=>C,ob:()=>p,PP:()=>N,Ep:()=>f});var r=n(7462);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 g=i.join("/");return n&&"/"!==g.substr(-1)&&(g+="/"),g};var l=n(8776);function s(e){return"/"===e.charAt(0)?e:"/"+e}function u(e){return"/"===e.charAt(0)?e.substr(1):e}function c(e,t){return function(e,t){return 0===e.toLowerCase().indexOf(t.toLowerCase())&&-1!=="/?#".indexOf(e.charAt(t.length))}(e,t)?e.substr(t.length):e}function d(e){return"/"===e.charAt(e.length-1)?e.slice(0,-1):e}function f(e){var t=e.pathname,n=e.search,r=e.hash,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.Z)({},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(l){throw l instanceof URIError?new URIError('Pathname "'+o.pathname+'" could not be decoded. This is likely caused by an invalid percent-encoding.'):l}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 g(){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,h(),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(9864),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},l={};function s(e){return r.isMemo(e)?i:l[e.$$typeof]||a}l[r.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},l[r.Memo]=i;var u=Object.defineProperty,c=Object.getOwnPropertyNames,d=Object.getOwnPropertySymbols,f=Object.getOwnPropertyDescriptor,p=Object.getPrototypeOf,g=Object.prototype;e.exports=function e(t,n,r){if("string"!=typeof n){if(g){var a=p(n);a&&a!==g&&e(t,a,r)}var i=c(n);d&&(i=i.concat(d(n)));for(var l=s(t),h=s(n),m=0;m{"use strict";e.exports=function(e,t,n,r,a,o,i,l){if(!e){var s;if(void 0===t)s=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var u=[n,r,a,o,i,l],c=0;(s=new Error(t.replace(/%s/g,(function(){return u[c++]})))).name="Invariant Violation"}throw s.framesToPop=1,s}}},5826:e=>{e.exports=Array.isArray||function(e){return"[object Array]"==Object.prototype.toString.call(e)}},2497:(e,t,n)=>{"use strict";n.r(t)},2295:(e,t,n)=>{"use strict";n.r(t)},4865: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,l((function(t){""===r.positionUsing&&(r.positionUsing=n.getPositioningCSS()),s(u,i(e,c,d)),1===e?(s(o,{transition:"none",opacity:1}),o.offsetWidth,setTimeout((function(){s(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),l=e?"-100":o(n.status||0),u=document.querySelector(r.parent);return s(i,{transition:"all 0 linear",transform:"translate3d("+l+"%,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 l=function(){var e=[];function t(){var n=e.shift();n&&n(t)}return function(n){e.push(n),1==e.length&&t()}}(),s=function(){var e=["Webkit","O","Moz","ms"],t={};function n(e){return e.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,(function(e,t){return t.toUpperCase()}))}function r(t){var n=document.body.style;if(t in n)return t;for(var r,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)},4779:(e,t,n)=>{var r=n(5826);e.exports=p,e.exports.parse=o,e.exports.compile=function(e,t){return l(o(e,t),t)},e.exports.tokensToFunction=l,e.exports.tokensToRegExp=f;var a=new RegExp(["(\\\\.)","([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))"].join("|"),"g");function o(e,t){for(var n,r=[],o=0,i=0,l="",c=t&&t.delimiter||"/";null!=(n=a.exec(e));){var d=n[0],f=n[1],p=n.index;if(l+=e.slice(i,p),i=p+d.length,f)l+=f[1];else{var g=e[i],h=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!=h&&null!=g&&g!==h,x="+"===v||"*"===v,S="?"===v||"*"===v,E=n[2]||c,_=y||b;r.push({name:m||o++,prefix:h||"",delimiter:E,optional:S,repeat:x,partial:k,asterisk:!!w,pattern:_?u(_):w?".*":"[^"+s(E)+"]+?"})}}return i{Prism.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"}},Prism.languages.webmanifest=Prism.languages.json},6854:()=>{!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,l=i.length;-1!==n.code.indexOf(a=t(r,l));)++l;return i[l]=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(l){for(var s=0;s=o.length);s++){var u=l[s];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),g=f.indexOf(p);if(g>-1){++a;var h=f.substring(0,g),m=new e.Token(r,e.tokenize(d,n.grammar),"language-"+r,d),y=f.substring(g+p.length),b=[];h&&b.push.apply(b,i([h])),b.push(m),y&&b.push.apply(b,i([y])),"string"==typeof u?l.splice.apply(l,[s,1].concat(b)):u.content=b}}else u.content&&i(u.content)}return l}(n.tokens)}}}})}(Prism)},9930:()=>{!function(e){var t=/(?:[\w-]+|'[^'\n\r]*'|"(?:\\.|[^\\"\r\n])*")/.source;function n(e){return e.replace(/__/g,(function(){return t}))}e.languages.toml={comment:{pattern:/#.*/,greedy:!0},table:{pattern:RegExp(n(/(^[\t ]*\[\s*(?:\[\s*)?)__(?:\s*\.\s*__)*(?=\s*\])/.source),"m"),lookbehind:!0,greedy:!0,alias:"class-name"},key:{pattern:RegExp(n(/(^[\t ]*|[{,]\s*)__(?:\s*\.\s*__)*(?=\s*=)/.source),"m"),lookbehind:!0,greedy:!0,alias:"property"},string:{pattern:/"""(?:\\[\s\S]|[^\\])*?"""|'''[\s\S]*?'''|'[^'\n\r]*'|"(?:\\.|[^\\"\r\n])*"/,greedy:!0},date:[{pattern:/\b\d{4}-\d{2}-\d{2}(?:[T\s]\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})?)?\b/i,alias:"number"},{pattern:/\b\d{2}:\d{2}:\d{2}(?:\.\d+)?\b/,alias:"number"}],number:/(?:\b0(?:x[\da-zA-Z]+(?:_[\da-zA-Z]+)*|o[0-7]+(?:_[0-7]+)*|b[10]+(?:_[10]+)*))\b|[-+]?\b\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?(?:[eE][+-]?\d+(?:_\d+)*)?\b|[-+]?\b(?:inf|nan)\b/,boolean:/\b(?:false|true)\b/,punctuation:/[.,=[\]{}]/}}(Prism)},9510:(e,t,n)=>{var r={"./prism-json":4277,"./prism-toml":9930};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=9510},2703:(e,t,n)=>{"use strict";var r=n(414);function a(){}function o(){}o.resetWarningCache=a,e.exports=function(){function e(e,t,n,a,o,i){if(i!==r){var l=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw l.name="Invariant Violation",l}}function t(){return e}e.isRequired=e;var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:o,resetWarningCache:a};return n.PropTypes=n,n}},5697:(e,t,n)=>{e.exports=n(2703)()},414:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},4448:(e,t,n)=>{"use strict";var r=n(7294),a=n(3840);function o(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n