diff --git a/404.html b/404.html index 991a8d1..ace5903 100644 --- a/404.html +++ b/404.html @@ -29,12 +29,12 @@ } Taskiq - - - + + + -
Skip to main content

404

Page not found

How did we get here?

- +
Skip to main content

404

Page not found

Looks like we've got some broken links.

+ diff --git a/assets/404.html-DP2Dv0Tf.js b/assets/404.html-axFoDoiK.js similarity index 93% rename from assets/404.html-DP2Dv0Tf.js rename to assets/404.html-axFoDoiK.js index 3ebf51a..56a26ba 100644 --- a/assets/404.html-DP2Dv0Tf.js +++ b/assets/404.html-axFoDoiK.js @@ -1 +1 @@ -import{_ as t}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as e,c as o,b as n}from"./app-B0fd3cYb.js";const a={},r=n("p",null,"404 Not Found",-1),p=[r];function c(s,i){return e(),o("div",null,p)}const d=t(a,[["render",c],["__file","404.html.vue"]]),_=JSON.parse('{"path":"/404.html","title":"","lang":"en-US","frontmatter":{"layout":"NotFound","description":"404 Not Found","head":[["meta",{"property":"og:url","content":"https://taskiq-python.github.io/404.html"}],["meta",{"property":"og:site_name","content":"Taskiq"}],["meta",{"property":"og:description","content":"404 Not Found"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"en-US"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"\\",\\"description\\":\\"404 Not Found\\"}"]]},"headers":[],"git":{},"filePathRelative":null,"autoDesc":true,"excerpt":"

404 Not Found

\\n"}');export{d as comp,_ as data}; +import{_ as t}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as e,c as o,b as n}from"./app-jADuhdjP.js";const a={},r=n("p",null,"404 Not Found",-1),p=[r];function c(s,i){return e(),o("div",null,p)}const d=t(a,[["render",c],["__file","404.html.vue"]]),_=JSON.parse('{"path":"/404.html","title":"","lang":"en-US","frontmatter":{"layout":"NotFound","description":"404 Not Found","head":[["meta",{"property":"og:url","content":"https://taskiq-python.github.io/404.html"}],["meta",{"property":"og:site_name","content":"Taskiq"}],["meta",{"property":"og:description","content":"404 Not Found"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"en-US"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"\\",\\"description\\":\\"404 Not Found\\"}"]]},"headers":[],"git":{},"filePathRelative":null,"autoDesc":true,"excerpt":"

404 Not Found

\\n"}');export{d as comp,_ as data}; diff --git a/assets/SearchResult-DFwnn_Jc.js b/assets/SearchResult-DKO0M0vx.js similarity index 98% rename from assets/SearchResult-DFwnn_Jc.js rename to assets/SearchResult-DKO0M0vx.js index a4c4251..5810927 100644 --- a/assets/SearchResult-DFwnn_Jc.js +++ b/assets/SearchResult-DKO0M0vx.js @@ -1 +1 @@ -import{u as Y,f as te,g as se,h as B,i as ae,P as le,t as re,j as ie,k as E,l as x,m as ue,n as M,p as s,q as ne,R as $,s as oe,v as ce,x as ve,C as de,y as he,z as pe,A as me,B as ye,D as ge,E as ke,F as fe,G as j,H as I,I as we,J as b,K as qe}from"./app-B0fd3cYb.js";const He=["/","/contrib.html","/available-components/","/available-components/brokers.html","/available-components/middlewares.html","/available-components/result-backends.html","/available-components/schedule-sources.html","/extending-taskiq/","/extending-taskiq/broker.html","/extending-taskiq/cli.html","/extending-taskiq/middleware.html","/extending-taskiq/result-backend.html","/extending-taskiq/schedule-sources.html","/framework_integrations/","/framework_integrations/faststream.html","/framework_integrations/taskiq-with-aiogram.html","/framework_integrations/taskiq-with-aiohttp.html","/framework_integrations/taskiq-with-fastapi.html","/guide/","/guide/architecture-overview.html","/guide/cli.html","/guide/dynamic-brokers.html","/guide/getting-started.html","/guide/message-format.html","/guide/scheduling-tasks.html","/guide/state-and-deps.html","/guide/testing-taskiq.html","/404.html"],Re="SEARCH_PRO_QUERY_HISTORY",g=Y(Re,[]),xe=()=>{const{queryHistoryCount:a}=b,l=a>0;return{enabled:l,queryHistory:g,addQueryHistory:r=>{l&&(g.value=Array.from(new Set([r,...g.value.slice(0,a-1)])))},removeQueryHistory:r=>{g.value=[...g.value.slice(0,r),...g.value.slice(r+1)]}}},F=a=>He[a.id]+("anchor"in a?`#${a.anchor}`:""),be="SEARCH_PRO_RESULT_HISTORY",{resultHistoryCount:U}=b,k=Y(be,[]),Qe=()=>{const a=U>0;return{enabled:a,resultHistory:k,addResultHistory:l=>{if(a){const r={link:F(l),display:l.display};"header"in l&&(r.header=l.header),k.value=[r,...k.value.slice(0,U-1)]}},removeResultHistory:l=>{k.value=[...k.value.slice(0,l),...k.value.slice(l+1)]}}},Se=a=>{const l=de(),r=B(),Q=he(),u=E(0),q=x(()=>u.value>0),p=pe([]);return me(()=>{const{search:m,terminate:S}=ye(),f=we(c=>{const w=c.join(" "),{searchFilter:C=h=>h,splitWord:D,suggestionsFilter:P,...y}=l.value;w?(u.value+=1,m(c.join(" "),r.value,y).then(h=>C(h,w,r.value,Q.value)).then(h=>{u.value-=1,p.value=h}).catch(h=>{console.warn(h),u.value-=1,u.value||(p.value=[])})):p.value=[]},b.searchDelay-b.suggestDelay);M([a,r],([c])=>f(c),{immediate:!0}),ge(()=>{S()})}),{isSearching:q,results:p}};var De=te({name:"SearchResult",props:{queries:{type:Array,required:!0},isFocusing:Boolean},emits:["close","updateQuery"],setup(a,{emit:l}){const r=se(),Q=B(),u=ae(le),{enabled:q,addQueryHistory:p,queryHistory:m,removeQueryHistory:S}=xe(),{enabled:f,resultHistory:c,addResultHistory:w,removeResultHistory:C}=Qe(),D=q||f,P=re(a,"queries"),{results:y,isSearching:h}=Se(P),i=ie({isQuery:!0,index:0}),v=E(0),d=E(0),O=x(()=>D&&(m.value.length>0||c.value.length>0)),L=x(()=>y.value.length>0),_=x(()=>y.value[v.value]||null),z=()=>{const{isQuery:e,index:t}=i;t===0?(i.isQuery=!e,i.index=e?c.value.length-1:m.value.length-1):i.index=t-1},G=()=>{const{isQuery:e,index:t}=i;t===(e?m.value.length-1:c.value.length-1)?(i.isQuery=!e,i.index=0):i.index=t+1},J=()=>{v.value=v.value>0?v.value-1:y.value.length-1,d.value=_.value.contents.length-1},K=()=>{v.value=v.value{d.value<_.value.contents.length-1?d.value+=1:K()},N=()=>{d.value>0?d.value-=1:J()},A=e=>e.map(t=>qe(t)?t:s(t[0],t[1])),W=e=>{if(e.type==="customField"){const t=ke[e.index]||"$content",[n,R=""]=fe(t)?t[Q.value].split("$content"):t.split("$content");return e.display.map(o=>s("div",A([n,...o,R])))}return e.display.map(t=>s("div",A(t)))},H=()=>{v.value=0,d.value=0,l("updateQuery",""),l("close")},X=()=>q?s("ul",{class:"search-pro-result-list"},s("li",{class:"search-pro-result-list-item"},[s("div",{class:"search-pro-result-title"},u.value.queryHistory),m.value.map((e,t)=>s("div",{class:["search-pro-result-item",{active:i.isQuery&&i.index===t}],onClick:()=>{l("updateQuery",e)}},[s(j,{class:"search-pro-result-type"}),s("div",{class:"search-pro-result-content"},e),s("button",{class:"search-pro-remove-icon",innerHTML:I,onClick:n=>{n.preventDefault(),n.stopPropagation(),S(t)}})]))])):null,Z=()=>f?s("ul",{class:"search-pro-result-list"},s("li",{class:"search-pro-result-list-item"},[s("div",{class:"search-pro-result-title"},u.value.resultHistory),c.value.map((e,t)=>s($,{to:e.link,class:["search-pro-result-item",{active:!i.isQuery&&i.index===t}],onClick:()=>{H()}},()=>[s(j,{class:"search-pro-result-type"}),s("div",{class:"search-pro-result-content"},[e.header?s("div",{class:"content-header"},e.header):null,s("div",e.display.map(n=>A(n)).flat())]),s("button",{class:"search-pro-remove-icon",innerHTML:I,onClick:n=>{n.preventDefault(),n.stopPropagation(),C(t)}})]))])):null;return ue("keydown",e=>{if(a.isFocusing){if(L.value){if(e.key==="ArrowUp")N();else if(e.key==="ArrowDown")V();else if(e.key==="Enter"){const t=_.value.contents[d.value];p(a.queries.join(" ")),w(t),r.push(F(t)),H()}}else if(f){if(e.key==="ArrowUp")z();else if(e.key==="ArrowDown")G();else if(e.key==="Enter"){const{index:t}=i;i.isQuery?(l("updateQuery",m.value[t]),e.preventDefault()):(r.push(c.value[t].link),H())}}}}),M([v,d],()=>{var e;(e=document.querySelector(".search-pro-result-list-item.active .search-pro-result-item.active"))==null||e.scrollIntoView(!1)},{flush:"post"}),()=>s("div",{class:["search-pro-result-wrapper",{empty:a.queries.length?!L.value:!O.value}],id:"search-pro-results"},a.queries.length?h.value?s(ne,{hint:u.value.searching}):L.value?s("ul",{class:"search-pro-result-list"},y.value.map(({title:e,contents:t},n)=>{const R=v.value===n;return s("li",{class:["search-pro-result-list-item",{active:R}]},[s("div",{class:"search-pro-result-title"},e||u.value.defaultTitle),t.map((o,ee)=>{const T=R&&d.value===ee;return s($,{to:F(o),class:["search-pro-result-item",{active:T,"aria-selected":T}],onClick:()=>{p(a.queries.join(" ")),w(o),H()}},()=>[o.type==="text"?null:s(o.type==="title"?oe:o.type==="heading"?ce:ve,{class:"search-pro-result-type"}),s("div",{class:"search-pro-result-content"},[o.type==="text"&&o.header?s("div",{class:"content-header"},o.header):null,s("div",W(o))])])})])})):u.value.emptyResult:D?O.value?[X(),Z()]:u.value.emptyHistory:u.value.emptyResult)}});export{De as default}; +import{u as Y,f as te,g as se,h as B,i as ae,P as le,t as re,j as ie,k as E,l as x,m as ue,n as M,p as s,q as ne,R as $,s as oe,v as ce,x as ve,C as de,y as he,z as pe,A as me,B as ye,D as ge,E as ke,F as fe,G as j,H as I,I as we,J as b,K as qe}from"./app-jADuhdjP.js";const He=["/","/contrib.html","/available-components/","/available-components/brokers.html","/available-components/middlewares.html","/available-components/result-backends.html","/available-components/schedule-sources.html","/extending-taskiq/","/extending-taskiq/broker.html","/extending-taskiq/cli.html","/extending-taskiq/middleware.html","/extending-taskiq/result-backend.html","/extending-taskiq/schedule-sources.html","/framework_integrations/","/framework_integrations/faststream.html","/framework_integrations/taskiq-with-aiogram.html","/framework_integrations/taskiq-with-aiohttp.html","/framework_integrations/taskiq-with-fastapi.html","/guide/","/guide/architecture-overview.html","/guide/cli.html","/guide/dynamic-brokers.html","/guide/getting-started.html","/guide/message-format.html","/guide/scheduling-tasks.html","/guide/state-and-deps.html","/guide/testing-taskiq.html","/404.html"],Re="SEARCH_PRO_QUERY_HISTORY",g=Y(Re,[]),xe=()=>{const{queryHistoryCount:a}=b,l=a>0;return{enabled:l,queryHistory:g,addQueryHistory:r=>{l&&(g.value=Array.from(new Set([r,...g.value.slice(0,a-1)])))},removeQueryHistory:r=>{g.value=[...g.value.slice(0,r),...g.value.slice(r+1)]}}},F=a=>He[a.id]+("anchor"in a?`#${a.anchor}`:""),be="SEARCH_PRO_RESULT_HISTORY",{resultHistoryCount:U}=b,k=Y(be,[]),Qe=()=>{const a=U>0;return{enabled:a,resultHistory:k,addResultHistory:l=>{if(a){const r={link:F(l),display:l.display};"header"in l&&(r.header=l.header),k.value=[r,...k.value.slice(0,U-1)]}},removeResultHistory:l=>{k.value=[...k.value.slice(0,l),...k.value.slice(l+1)]}}},Se=a=>{const l=de(),r=B(),Q=he(),u=E(0),q=x(()=>u.value>0),p=pe([]);return me(()=>{const{search:m,terminate:S}=ye(),f=we(c=>{const w=c.join(" "),{searchFilter:C=h=>h,splitWord:D,suggestionsFilter:P,...y}=l.value;w?(u.value+=1,m(c.join(" "),r.value,y).then(h=>C(h,w,r.value,Q.value)).then(h=>{u.value-=1,p.value=h}).catch(h=>{console.warn(h),u.value-=1,u.value||(p.value=[])})):p.value=[]},b.searchDelay-b.suggestDelay);M([a,r],([c])=>f(c),{immediate:!0}),ge(()=>{S()})}),{isSearching:q,results:p}};var De=te({name:"SearchResult",props:{queries:{type:Array,required:!0},isFocusing:Boolean},emits:["close","updateQuery"],setup(a,{emit:l}){const r=se(),Q=B(),u=ae(le),{enabled:q,addQueryHistory:p,queryHistory:m,removeQueryHistory:S}=xe(),{enabled:f,resultHistory:c,addResultHistory:w,removeResultHistory:C}=Qe(),D=q||f,P=re(a,"queries"),{results:y,isSearching:h}=Se(P),i=ie({isQuery:!0,index:0}),v=E(0),d=E(0),O=x(()=>D&&(m.value.length>0||c.value.length>0)),L=x(()=>y.value.length>0),_=x(()=>y.value[v.value]||null),z=()=>{const{isQuery:e,index:t}=i;t===0?(i.isQuery=!e,i.index=e?c.value.length-1:m.value.length-1):i.index=t-1},G=()=>{const{isQuery:e,index:t}=i;t===(e?m.value.length-1:c.value.length-1)?(i.isQuery=!e,i.index=0):i.index=t+1},J=()=>{v.value=v.value>0?v.value-1:y.value.length-1,d.value=_.value.contents.length-1},K=()=>{v.value=v.value{d.value<_.value.contents.length-1?d.value+=1:K()},N=()=>{d.value>0?d.value-=1:J()},A=e=>e.map(t=>qe(t)?t:s(t[0],t[1])),W=e=>{if(e.type==="customField"){const t=ke[e.index]||"$content",[n,R=""]=fe(t)?t[Q.value].split("$content"):t.split("$content");return e.display.map(o=>s("div",A([n,...o,R])))}return e.display.map(t=>s("div",A(t)))},H=()=>{v.value=0,d.value=0,l("updateQuery",""),l("close")},X=()=>q?s("ul",{class:"search-pro-result-list"},s("li",{class:"search-pro-result-list-item"},[s("div",{class:"search-pro-result-title"},u.value.queryHistory),m.value.map((e,t)=>s("div",{class:["search-pro-result-item",{active:i.isQuery&&i.index===t}],onClick:()=>{l("updateQuery",e)}},[s(j,{class:"search-pro-result-type"}),s("div",{class:"search-pro-result-content"},e),s("button",{class:"search-pro-remove-icon",innerHTML:I,onClick:n=>{n.preventDefault(),n.stopPropagation(),S(t)}})]))])):null,Z=()=>f?s("ul",{class:"search-pro-result-list"},s("li",{class:"search-pro-result-list-item"},[s("div",{class:"search-pro-result-title"},u.value.resultHistory),c.value.map((e,t)=>s($,{to:e.link,class:["search-pro-result-item",{active:!i.isQuery&&i.index===t}],onClick:()=>{H()}},()=>[s(j,{class:"search-pro-result-type"}),s("div",{class:"search-pro-result-content"},[e.header?s("div",{class:"content-header"},e.header):null,s("div",e.display.map(n=>A(n)).flat())]),s("button",{class:"search-pro-remove-icon",innerHTML:I,onClick:n=>{n.preventDefault(),n.stopPropagation(),C(t)}})]))])):null;return ue("keydown",e=>{if(a.isFocusing){if(L.value){if(e.key==="ArrowUp")N();else if(e.key==="ArrowDown")V();else if(e.key==="Enter"){const t=_.value.contents[d.value];p(a.queries.join(" ")),w(t),r.push(F(t)),H()}}else if(f){if(e.key==="ArrowUp")z();else if(e.key==="ArrowDown")G();else if(e.key==="Enter"){const{index:t}=i;i.isQuery?(l("updateQuery",m.value[t]),e.preventDefault()):(r.push(c.value[t].link),H())}}}}),M([v,d],()=>{var e;(e=document.querySelector(".search-pro-result-list-item.active .search-pro-result-item.active"))==null||e.scrollIntoView(!1)},{flush:"post"}),()=>s("div",{class:["search-pro-result-wrapper",{empty:a.queries.length?!L.value:!O.value}],id:"search-pro-results"},a.queries.length?h.value?s(ne,{hint:u.value.searching}):L.value?s("ul",{class:"search-pro-result-list"},y.value.map(({title:e,contents:t},n)=>{const R=v.value===n;return s("li",{class:["search-pro-result-list-item",{active:R}]},[s("div",{class:"search-pro-result-title"},e||u.value.defaultTitle),t.map((o,ee)=>{const T=R&&d.value===ee;return s($,{to:F(o),class:["search-pro-result-item",{active:T,"aria-selected":T}],onClick:()=>{p(a.queries.join(" ")),w(o),H()}},()=>[o.type==="text"?null:s(o.type==="title"?oe:o.type==="heading"?ce:ve,{class:"search-pro-result-type"}),s("div",{class:"search-pro-result-content"},[o.type==="text"&&o.header?s("div",{class:"content-header"},o.header):null,s("div",W(o))])])})])})):u.value.emptyResult:D?O.value?[X(),Z()]:u.value.emptyHistory:u.value.emptyResult)}});export{De as default}; diff --git a/assets/app-B0fd3cYb.js b/assets/app-jADuhdjP.js similarity index 64% rename from assets/app-B0fd3cYb.js rename to assets/app-jADuhdjP.js index ca11008..999d7ea 100644 --- a/assets/app-B0fd3cYb.js +++ b/assets/app-jADuhdjP.js @@ -1,25 +1,25 @@ -const __vite__fileDeps=["assets/index.html-BAdt9pMO.js","assets/plugin-vue_export-helper-DlAUqK2U.js","assets/contrib.html-D-PGZC82.js","assets/index.html-6wIM4NbS.js","assets/brokers.html-DZC2i-gd.js","assets/middlewares.html-CcZh3fiR.js","assets/result-backends.html-T6NaD9vv.js","assets/schedule-sources.html-Bu-GGcR7.js","assets/index.html-DVTPXSZ3.js","assets/broker.html-BZc4y0dT.js","assets/cli.html-C3UhGz-e.js","assets/middleware.html-Bhbwml-y.js","assets/result-backend.html-ipc74sbw.js","assets/schedule-sources.html-uG2w0B1h.js","assets/index.html-hKugmLE0.js","assets/faststream.html-L19p-fwg.js","assets/taskiq-with-aiogram.html-OK5Skn8j.js","assets/taskiq-with-aiohttp.html-D98UARBe.js","assets/taskiq-with-fastapi.html-D1WvGENP.js","assets/index.html-DpgZdJ46.js","assets/architecture-overview.html-BwH4DsL2.js","assets/cli.html-B0EXkqq8.js","assets/dynamic-brokers.html-CALi3Vzi.js","assets/getting-started.html-BEbyiLnA.js","assets/message-format.html-C5G0FPtR.js","assets/scheduling-tasks.html-C_aRL6t1.js","assets/state-and-deps.html-BOZGNHxc.js","assets/testing-taskiq.html-Cj0e6GeQ.js","assets/404.html-DP2Dv0Tf.js"],__vite__mapDeps=i=>i.map(i=>__vite__fileDeps[i]); +const __vite__fileDeps=["assets/index.html-MEwknYNr.js","assets/plugin-vue_export-helper-DlAUqK2U.js","assets/contrib.html-W6Tn5Ard.js","assets/index.html-BPeqKIe1.js","assets/brokers.html-D6pSjM9w.js","assets/middlewares.html-6RWN0FIV.js","assets/result-backends.html-BYKfba-F.js","assets/schedule-sources.html-Deft308h.js","assets/index.html-D_T4WVh8.js","assets/broker.html-aMKOhesS.js","assets/cli.html-v2C39c-n.js","assets/middleware.html-otmDcQQS.js","assets/result-backend.html-Bwx4m9cb.js","assets/schedule-sources.html-CEOCBfjr.js","assets/index.html-YlfwsOaT.js","assets/faststream.html-BjX7MnKf.js","assets/taskiq-with-aiogram.html-CiLPbNDv.js","assets/taskiq-with-aiohttp.html-BiJhLlAm.js","assets/taskiq-with-fastapi.html-BhXpthaG.js","assets/index.html-DhU2V3Rf.js","assets/architecture-overview.html-Cw9hxyxh.js","assets/cli.html-BvTxffE7.js","assets/dynamic-brokers.html-BTtob-Yq.js","assets/getting-started.html-CRhPVQIk.js","assets/message-format.html-AWYDHReT.js","assets/scheduling-tasks.html-CWyyMHnD.js","assets/state-and-deps.html-B3AeqqiO.js","assets/testing-taskiq.html-D3uGnFNX.js","assets/404.html-axFoDoiK.js"],__vite__mapDeps=i=>i.map(i=>__vite__fileDeps[i]); /** -* @vue/shared v3.4.23 +* @vue/shared v3.4.25 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**//*! #__NO_SIDE_EFFECTS__ */function ls(e,t){const n=new Set(e.split(","));return t?r=>n.has(r.toLowerCase()):r=>n.has(r)}const be={},bn=[],nt=()=>{},lu=()=>!1,ar=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),as=e=>e.startsWith("onUpdate:"),Ae=Object.assign,is=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},au=Object.prototype.hasOwnProperty,ie=(e,t)=>au.call(e,t),ee=Array.isArray,Dn=e=>Ur(e)==="[object Map]",iu=e=>Ur(e)==="[object Set]",ne=e=>typeof e=="function",Me=e=>typeof e=="string",ir=e=>typeof e=="symbol",we=e=>e!==null&&typeof e=="object",ma=e=>(we(e)||ne(e))&&ne(e.then)&&ne(e.catch),cu=Object.prototype.toString,Ur=e=>cu.call(e),uu=e=>Ur(e).slice(8,-1),fu=e=>Ur(e)==="[object Object]",cs=e=>Me(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,yn=ls(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Wr=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},du=/-(\w)/g,st=Wr(e=>e.replace(du,(t,n)=>n?n.toUpperCase():"")),pu=/\B([A-Z])/g,xn=Wr(e=>e.replace(pu,"-$1").toLowerCase()),cr=Wr(e=>e.charAt(0).toUpperCase()+e.slice(1)),ao=Wr(e=>e?`on${cr(e)}`:""),zt=(e,t)=>!Object.is(e,t),io=(e,t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:n})},hu=e=>{const t=parseFloat(e);return isNaN(t)?e:t},vu=e=>{const t=Me(e)?Number(e):NaN;return isNaN(t)?e:t};let Qs;const ya=()=>Qs||(Qs=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function us(e){if(ee(e)){const t={};for(let n=0;n{if(n){const r=n.split(mu);r.length>1&&(t[r[0].trim()]=r[1].trim())}}),t}function fs(e){let t="";if(Me(e))t=e;else if(ee(e))for(let n=0;nn.has(r.toLowerCase()):r=>n.has(r)}const be={},bn=[],nt=()=>{},lu=()=>!1,ar=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),ls=e=>e.startsWith("onUpdate:"),xe=Object.assign,as=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},au=Object.prototype.hasOwnProperty,ae=(e,t)=>au.call(e,t),ee=Array.isArray,Dn=e=>Ur(e)==="[object Map]",iu=e=>Ur(e)==="[object Set]",ne=e=>typeof e=="function",Me=e=>typeof e=="string",ir=e=>typeof e=="symbol",we=e=>e!==null&&typeof e=="object",ga=e=>(we(e)||ne(e))&&ne(e.then)&&ne(e.catch),cu=Object.prototype.toString,Ur=e=>cu.call(e),uu=e=>Ur(e).slice(8,-1),fu=e=>Ur(e)==="[object Object]",is=e=>Me(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,yn=ss(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Wr=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},du=/-(\w)/g,st=Wr(e=>e.replace(du,(t,n)=>n?n.toUpperCase():"")),pu=/\B([A-Z])/g,xn=Wr(e=>e.replace(pu,"-$1").toLowerCase()),cr=Wr(e=>e.charAt(0).toUpperCase()+e.slice(1)),ao=Wr(e=>e?`on${cr(e)}`:""),zt=(e,t)=>!Object.is(e,t),io=(e,t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:n})},hu=e=>{const t=parseFloat(e);return isNaN(t)?e:t},vu=e=>{const t=Me(e)?Number(e):NaN;return isNaN(t)?e:t};let Js;const ba=()=>Js||(Js=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function cs(e){if(ee(e)){const t={};for(let n=0;n{if(n){const r=n.split(mu);r.length>1&&(t[r[0].trim()]=r[1].trim())}}),t}function us(e){let t="";if(Me(e))t=e;else if(ee(e))for(let n=0;n=4))break}this._dirtyLevel===1&&(this._dirtyLevel=0),Gt()}return this._dirtyLevel>=4}set dirty(t){this._dirtyLevel=t?4:0}run(){if(this._dirtyLevel=0,!this.active)return this.fn();let t=jt,n=on;try{return jt=!0,on=this,this._runnings++,Xs(this),this.fn()}finally{Zs(this),this._runnings--,on=n,jt=t}}stop(){var t;this.active&&(Xs(this),Zs(this),(t=this.onStop)==null||t.call(this),this.active=!1)}}function xu(e){return e.value}function Xs(e){e._trackId++,e._depsLength=0}function Zs(e){if(e.deps.length>e._depsLength){for(let t=e._depsLength;t{const n=new Map;return n.cleanup=e,n.computed=t,n},Nr=new WeakMap,sn=Symbol(""),$o=Symbol("");function We(e,t,n){if(jt&&on){let r=Nr.get(e);r||Nr.set(e,r=new Map);let o=r.get(n);o||r.set(n,o=Sa(()=>r.delete(n))),ka(on,o)}}function St(e,t,n,r,o,s){const l=Nr.get(e);if(!l)return;let a=[];if(t==="clear")a=[...l.values()];else if(n==="length"&&ee(e)){const i=Number(r);l.forEach((c,f)=>{(f==="length"||!ir(f)&&f>=i)&&a.push(c)})}else switch(n!==void 0&&a.push(l.get(n)),t){case"add":ee(e)?cs(n)&&a.push(l.get("length")):(a.push(l.get(sn)),Dn(e)&&a.push(l.get($o)));break;case"delete":ee(e)||(a.push(l.get(sn)),Dn(e)&&a.push(l.get($o)));break;case"set":Dn(e)&&a.push(l.get(sn));break}ps();for(const i of a)i&&xa(i,4);hs()}function Su(e,t){var n;return(n=Nr.get(e))==null?void 0:n.get(t)}const Tu=ls("__proto__,__v_isRef,__isVue"),Ta=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(ir)),el=Au();function Au(){const e={};return["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...n){const r=se(this);for(let s=0,l=this.length;s{e[t]=function(...n){Kt(),ps();const r=se(this)[t].apply(this,n);return hs(),Gt(),r}}),e}function Lu(e){ir(e)||(e=String(e));const t=se(this);return We(t,"has",e),t.hasOwnProperty(e)}class Aa{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,r){const o=this._isReadonly,s=this._isShallow;if(n==="__v_isReactive")return!o;if(n==="__v_isReadonly")return o;if(n==="__v_isShallow")return s;if(n==="__v_raw")return r===(o?s?Vu:Pa:s?Ra:Oa).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(r)?t:void 0;const l=ee(t);if(!o){if(l&&ie(el,n))return Reflect.get(el,n,r);if(n==="hasOwnProperty")return Lu}const a=Reflect.get(t,n,r);return(ir(n)?Ta.has(n):Tu(n))||(o||We(t,"get",n),s)?a:$e(a)?l&&cs(n)?a:a.value:we(a)?o?fr(a):ur(a):a}}class La extends Aa{constructor(t=!1){super(!1,t)}set(t,n,r,o){let s=t[n];if(!this._isShallow){const i=Gn(s);if(!Dr(r)&&!Gn(r)&&(s=se(s),r=se(r)),!ee(t)&&$e(s)&&!$e(r))return i?!1:(s.value=r,!0)}const l=ee(t)&&cs(n)?Number(n)e,Kr=e=>Reflect.getPrototypeOf(e);function wr(e,t,n=!1,r=!1){e=e.__v_raw;const o=se(e),s=se(t);n||(zt(t,s)&&We(o,"get",t),We(o,"get",s));const{has:l}=Kr(o),a=r?vs:n?bs:Yn;if(l.call(o,t))return a(e.get(t));if(l.call(o,s))return a(e.get(s));e!==o&&e.get(t)}function _r(e,t=!1){const n=this.__v_raw,r=se(n),o=se(e);return t||(zt(e,o)&&We(r,"has",e),We(r,"has",o)),e===o?n.has(e):n.has(e)||n.has(o)}function Er(e,t=!1){return e=e.__v_raw,!t&&We(se(e),"iterate",sn),Reflect.get(e,"size",e)}function tl(e){e=se(e);const t=se(this);return Kr(t).has.call(t,e)||(t.add(e),St(t,"add",e,e)),this}function nl(e,t){t=se(t);const n=se(this),{has:r,get:o}=Kr(n);let s=r.call(n,e);s||(e=se(e),s=r.call(n,e));const l=o.call(n,e);return n.set(e,t),s?zt(t,l)&&St(n,"set",e,t):St(n,"add",e,t),this}function rl(e){const t=se(this),{has:n,get:r}=Kr(t);let o=n.call(t,e);o||(e=se(e),o=n.call(t,e)),r&&r.call(t,e);const s=t.delete(e);return o&&St(t,"delete",e,void 0),s}function ol(){const e=se(this),t=e.size!==0,n=e.clear();return t&&St(e,"clear",void 0,void 0),n}function Cr(e,t){return function(r,o){const s=this,l=s.__v_raw,a=se(l),i=t?vs:e?bs:Yn;return!e&&We(a,"iterate",sn),l.forEach((c,f)=>r.call(o,i(c),i(f),s))}}function kr(e,t,n){return function(...r){const o=this.__v_raw,s=se(o),l=Dn(s),a=e==="entries"||e===Symbol.iterator&&l,i=e==="keys"&&l,c=o[e](...r),f=n?vs:t?bs:Yn;return!t&&We(s,"iterate",i?$o:sn),{next(){const{value:d,done:p}=c.next();return p?{value:d,done:p}:{value:a?[f(d[0]),f(d[1])]:f(d),done:p}},[Symbol.iterator](){return this}}}}function Rt(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Mu(){const e={get(s){return wr(this,s)},get size(){return Er(this)},has:_r,add:tl,set:nl,delete:rl,clear:ol,forEach:Cr(!1,!1)},t={get(s){return wr(this,s,!1,!0)},get size(){return Er(this)},has:_r,add:tl,set:nl,delete:rl,clear:ol,forEach:Cr(!1,!0)},n={get(s){return wr(this,s,!0)},get size(){return Er(this,!0)},has(s){return _r.call(this,s,!0)},add:Rt("add"),set:Rt("set"),delete:Rt("delete"),clear:Rt("clear"),forEach:Cr(!0,!1)},r={get(s){return wr(this,s,!0,!0)},get size(){return Er(this,!0)},has(s){return _r.call(this,s,!0)},add:Rt("add"),set:Rt("set"),delete:Rt("delete"),clear:Rt("clear"),forEach:Cr(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(s=>{e[s]=kr(s,!1,!1),n[s]=kr(s,!0,!1),t[s]=kr(s,!1,!0),r[s]=kr(s,!0,!0)}),[e,n,t,r]}const[$u,Nu,Du,Hu]=Mu();function gs(e,t){const n=t?e?Hu:Du:e?Nu:$u;return(r,o,s)=>o==="__v_isReactive"?!e:o==="__v_isReadonly"?e:o==="__v_raw"?r:Reflect.get(ie(n,o)&&o in r?n:r,o,s)}const Fu={get:gs(!1,!1)},Bu={get:gs(!1,!0)},ju={get:gs(!0,!1)},Oa=new WeakMap,Ra=new WeakMap,Pa=new WeakMap,Vu=new WeakMap;function zu(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function qu(e){return e.__v_skip||!Object.isExtensible(e)?0:zu(uu(e))}function ur(e){return Gn(e)?e:ms(e,!1,Ru,Fu,Oa)}function Ia(e){return ms(e,!1,Iu,Bu,Ra)}function fr(e){return ms(e,!0,Pu,ju,Pa)}function ms(e,t,n,r,o){if(!we(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const s=o.get(e);if(s)return s;const l=qu(e);if(l===0)return e;const a=new Proxy(e,l===2?r:n);return o.set(e,a),a}function Hn(e){return Gn(e)?Hn(e.__v_raw):!!(e&&e.__v_isReactive)}function Gn(e){return!!(e&&e.__v_isReadonly)}function Dr(e){return!!(e&&e.__v_isShallow)}function Ma(e){return e?!!e.__v_raw:!1}function se(e){const t=e&&e.__v_raw;return t?se(t):e}function Uu(e){return Object.isExtensible(e)&&ba(e,"__v_skip",!0),e}const Yn=e=>we(e)?ur(e):e,bs=e=>we(e)?fr(e):e;class $a{constructor(t,n,r,o){this.getter=t,this._setter=n,this.dep=void 0,this.__v_isRef=!0,this.__v_isReadonly=!1,this.effect=new ds(()=>t(this._value),()=>Fn(this,this.effect._dirtyLevel===2?2:3)),this.effect.computed=this,this.effect.active=this._cacheable=!o,this.__v_isReadonly=r}get value(){const t=se(this);return(!t._cacheable||t.effect.dirty)&&zt(t._value,t._value=t.effect.run())&&Fn(t,4),ys(t),t.effect._dirtyLevel>=2&&Fn(t,2),t._value}set value(t){this._setter(t)}get _dirty(){return this.effect.dirty}set _dirty(t){this.effect.dirty=t}}function Wu(e,t,n=!1){let r,o;const s=ne(e);return s?(r=e,o=nt):(r=e.get,o=e.set),new $a(r,o,s||!o,n)}function ys(e){var t;jt&&on&&(e=se(e),ka(on,(t=e.dep)!=null?t:e.dep=Sa(()=>e.dep=void 0,e instanceof $a?e:void 0)))}function Fn(e,t=4,n){e=se(e);const r=e.dep;r&&xa(r,t)}function $e(e){return!!(e&&e.__v_isRef===!0)}function Q(e){return Na(e,!1)}function Ne(e){return Na(e,!0)}function Na(e,t){return $e(e)?e:new Ku(e,t)}class Ku{constructor(t,n){this.__v_isShallow=n,this.dep=void 0,this.__v_isRef=!0,this._rawValue=n?t:se(t),this._value=n?t:Yn(t)}get value(){return ys(this),this._value}set value(t){const n=this.__v_isShallow||Dr(t)||Gn(t);t=n?t:se(t),zt(t,this._rawValue)&&(this._rawValue=t,this._value=n?t:Yn(t),Fn(this,4))}}function ln(e){return $e(e)?e.value:e}const Gu={get:(e,t,n)=>ln(Reflect.get(e,t,n)),set:(e,t,n,r)=>{const o=e[t];return $e(o)&&!$e(n)?(o.value=n,!0):Reflect.set(e,t,n,r)}};function Da(e){return Hn(e)?e:new Proxy(e,Gu)}class Yu{constructor(t){this.dep=void 0,this.__v_isRef=!0;const{get:n,set:r}=t(()=>ys(this),()=>Fn(this));this._get=n,this._set=r}get value(){return this._get()}set value(t){this._set(t)}}function ws(e){return new Yu(e)}class Ju{constructor(t,n,r){this._object=t,this._key=n,this._defaultValue=r,this.__v_isRef=!0}get value(){const t=this._object[this._key];return t===void 0?this._defaultValue:t}set value(t){this._object[this._key]=t}get dep(){return Su(se(this._object),this._key)}}class Qu{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0}get value(){return this._getter()}}function Gr(e,t,n){return $e(e)?e:ne(e)?new Qu(e):we(e)&&arguments.length>1?Xu(e,t,n):Q(e)}function Xu(e,t,n){const r=e[t];return $e(r)?r:new Ju(e,t,n)}/** -* @vue/runtime-core v3.4.23 +**/let Ye;class Eu{constructor(t=!1){this.detached=t,this._active=!0,this.effects=[],this.cleanups=[],this.parent=Ye,!t&&Ye&&(this.index=(Ye.scopes||(Ye.scopes=[])).push(this)-1)}get active(){return this._active}run(t){if(this._active){const n=Ye;try{return Ye=this,t()}finally{Ye=n}}}on(){Ye=this}off(){Ye=this.parent}stop(t){if(this._active){let n,r;for(n=0,r=this.effects.length;n=4))break}this._dirtyLevel===1&&(this._dirtyLevel=0),Gt()}return this._dirtyLevel>=4}set dirty(t){this._dirtyLevel=t?4:0}run(){if(this._dirtyLevel=0,!this.active)return this.fn();let t=jt,n=on;try{return jt=!0,on=this,this._runnings++,Qs(this),this.fn()}finally{Xs(this),this._runnings--,on=n,jt=t}}stop(){var t;this.active&&(Qs(this),Xs(this),(t=this.onStop)==null||t.call(this),this.active=!1)}}function xu(e){return e.value}function Qs(e){e._trackId++,e._depsLength=0}function Xs(e){if(e.deps.length>e._depsLength){for(let t=e._depsLength;t{const n=new Map;return n.cleanup=e,n.computed=t,n},Nr=new WeakMap,sn=Symbol(""),$o=Symbol("");function We(e,t,n){if(jt&&on){let r=Nr.get(e);r||Nr.set(e,r=new Map);let o=r.get(n);o||r.set(n,o=xa(()=>r.delete(n))),Ca(on,o)}}function St(e,t,n,r,o,s){const l=Nr.get(e);if(!l)return;let a=[];if(t==="clear")a=[...l.values()];else if(n==="length"&&ee(e)){const i=Number(r);l.forEach((c,f)=>{(f==="length"||!ir(f)&&f>=i)&&a.push(c)})}else switch(n!==void 0&&a.push(l.get(n)),t){case"add":ee(e)?is(n)&&a.push(l.get("length")):(a.push(l.get(sn)),Dn(e)&&a.push(l.get($o)));break;case"delete":ee(e)||(a.push(l.get(sn)),Dn(e)&&a.push(l.get($o)));break;case"set":Dn(e)&&a.push(l.get(sn));break}ds();for(const i of a)i&&ka(i,4);ps()}function Su(e,t){var n;return(n=Nr.get(e))==null?void 0:n.get(t)}const Tu=ss("__proto__,__v_isRef,__isVue"),Sa=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(ir)),Zs=Au();function Au(){const e={};return["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...n){const r=ie(this);for(let s=0,l=this.length;s{e[t]=function(...n){Kt(),ds();const r=ie(this)[t].apply(this,n);return ps(),Gt(),r}}),e}function Lu(e){ir(e)||(e=String(e));const t=ie(this);return We(t,"has",e),t.hasOwnProperty(e)}class Ta{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,r){const o=this._isReadonly,s=this._isShallow;if(n==="__v_isReactive")return!o;if(n==="__v_isReadonly")return o;if(n==="__v_isShallow")return s;if(n==="__v_raw")return r===(o?s?Vu:Oa:s?Ra:La).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(r)?t:void 0;const l=ee(t);if(!o){if(l&&ae(Zs,n))return Reflect.get(Zs,n,r);if(n==="hasOwnProperty")return Lu}const a=Reflect.get(t,n,r);return(ir(n)?Sa.has(n):Tu(n))||(o||We(t,"get",n),s)?a:$e(a)?l&&is(n)?a:a.value:we(a)?o?fr(a):ur(a):a}}class Aa extends Ta{constructor(t=!1){super(!1,t)}set(t,n,r,o){let s=t[n];if(!this._isShallow){const i=Gn(s);if(!Dr(r)&&!Gn(r)&&(s=ie(s),r=ie(r)),!ee(t)&&$e(s)&&!$e(r))return i?!1:(s.value=r,!0)}const l=ee(t)&&is(n)?Number(n)e,Kr=e=>Reflect.getPrototypeOf(e);function wr(e,t,n=!1,r=!1){e=e.__v_raw;const o=ie(e),s=ie(t);n||(zt(t,s)&&We(o,"get",t),We(o,"get",s));const{has:l}=Kr(o),a=r?hs:n?ms:Yn;if(l.call(o,t))return a(e.get(t));if(l.call(o,s))return a(e.get(s));e!==o&&e.get(t)}function _r(e,t=!1){const n=this.__v_raw,r=ie(n),o=ie(e);return t||(zt(e,o)&&We(r,"has",e),We(r,"has",o)),e===o?n.has(e):n.has(e)||n.has(o)}function Er(e,t=!1){return e=e.__v_raw,!t&&We(ie(e),"iterate",sn),Reflect.get(e,"size",e)}function el(e){e=ie(e);const t=ie(this);return Kr(t).has.call(t,e)||(t.add(e),St(t,"add",e,e)),this}function tl(e,t){t=ie(t);const n=ie(this),{has:r,get:o}=Kr(n);let s=r.call(n,e);s||(e=ie(e),s=r.call(n,e));const l=o.call(n,e);return n.set(e,t),s?zt(t,l)&&St(n,"set",e,t):St(n,"add",e,t),this}function nl(e){const t=ie(this),{has:n,get:r}=Kr(t);let o=n.call(t,e);o||(e=ie(e),o=n.call(t,e)),r&&r.call(t,e);const s=t.delete(e);return o&&St(t,"delete",e,void 0),s}function rl(){const e=ie(this),t=e.size!==0,n=e.clear();return t&&St(e,"clear",void 0,void 0),n}function Cr(e,t){return function(r,o){const s=this,l=s.__v_raw,a=ie(l),i=t?hs:e?ms:Yn;return!e&&We(a,"iterate",sn),l.forEach((c,f)=>r.call(o,i(c),i(f),s))}}function kr(e,t,n){return function(...r){const o=this.__v_raw,s=ie(o),l=Dn(s),a=e==="entries"||e===Symbol.iterator&&l,i=e==="keys"&&l,c=o[e](...r),f=n?hs:t?ms:Yn;return!t&&We(s,"iterate",i?$o:sn),{next(){const{value:d,done:p}=c.next();return p?{value:d,done:p}:{value:a?[f(d[0]),f(d[1])]:f(d),done:p}},[Symbol.iterator](){return this}}}}function Ot(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Mu(){const e={get(s){return wr(this,s)},get size(){return Er(this)},has:_r,add:el,set:tl,delete:nl,clear:rl,forEach:Cr(!1,!1)},t={get(s){return wr(this,s,!1,!0)},get size(){return Er(this)},has:_r,add:el,set:tl,delete:nl,clear:rl,forEach:Cr(!1,!0)},n={get(s){return wr(this,s,!0)},get size(){return Er(this,!0)},has(s){return _r.call(this,s,!0)},add:Ot("add"),set:Ot("set"),delete:Ot("delete"),clear:Ot("clear"),forEach:Cr(!0,!1)},r={get(s){return wr(this,s,!0,!0)},get size(){return Er(this,!0)},has(s){return _r.call(this,s,!0)},add:Ot("add"),set:Ot("set"),delete:Ot("delete"),clear:Ot("clear"),forEach:Cr(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(s=>{e[s]=kr(s,!1,!1),n[s]=kr(s,!0,!1),t[s]=kr(s,!1,!0),r[s]=kr(s,!0,!0)}),[e,n,t,r]}const[$u,Nu,Du,Hu]=Mu();function vs(e,t){const n=t?e?Hu:Du:e?Nu:$u;return(r,o,s)=>o==="__v_isReactive"?!e:o==="__v_isReadonly"?e:o==="__v_raw"?r:Reflect.get(ae(n,o)&&o in r?n:r,o,s)}const Fu={get:vs(!1,!1)},Bu={get:vs(!1,!0)},ju={get:vs(!0,!1)};const La=new WeakMap,Ra=new WeakMap,Oa=new WeakMap,Vu=new WeakMap;function zu(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function qu(e){return e.__v_skip||!Object.isExtensible(e)?0:zu(uu(e))}function ur(e){return Gn(e)?e:gs(e,!1,Ou,Fu,La)}function Pa(e){return gs(e,!1,Iu,Bu,Ra)}function fr(e){return gs(e,!0,Pu,ju,Oa)}function gs(e,t,n,r,o){if(!we(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const s=o.get(e);if(s)return s;const l=qu(e);if(l===0)return e;const a=new Proxy(e,l===2?r:n);return o.set(e,a),a}function Hn(e){return Gn(e)?Hn(e.__v_raw):!!(e&&e.__v_isReactive)}function Gn(e){return!!(e&&e.__v_isReadonly)}function Dr(e){return!!(e&&e.__v_isShallow)}function Ia(e){return e?!!e.__v_raw:!1}function ie(e){const t=e&&e.__v_raw;return t?ie(t):e}function Uu(e){return Object.isExtensible(e)&&ma(e,"__v_skip",!0),e}const Yn=e=>we(e)?ur(e):e,ms=e=>we(e)?fr(e):e;class Ma{constructor(t,n,r,o){this.getter=t,this._setter=n,this.dep=void 0,this.__v_isRef=!0,this.__v_isReadonly=!1,this.effect=new fs(()=>t(this._value),()=>Fn(this,this.effect._dirtyLevel===2?2:3)),this.effect.computed=this,this.effect.active=this._cacheable=!o,this.__v_isReadonly=r}get value(){const t=ie(this);return(!t._cacheable||t.effect.dirty)&&zt(t._value,t._value=t.effect.run())&&Fn(t,4),bs(t),t.effect._dirtyLevel>=2&&Fn(t,2),t._value}set value(t){this._setter(t)}get _dirty(){return this.effect.dirty}set _dirty(t){this.effect.dirty=t}}function Wu(e,t,n=!1){let r,o;const s=ne(e);return s?(r=e,o=nt):(r=e.get,o=e.set),new Ma(r,o,s||!o,n)}function bs(e){var t;jt&&on&&(e=ie(e),Ca(on,(t=e.dep)!=null?t:e.dep=xa(()=>e.dep=void 0,e instanceof Ma?e:void 0)))}function Fn(e,t=4,n){e=ie(e);const r=e.dep;r&&ka(r,t)}function $e(e){return!!(e&&e.__v_isRef===!0)}function Q(e){return $a(e,!1)}function Ne(e){return $a(e,!0)}function $a(e,t){return $e(e)?e:new Ku(e,t)}class Ku{constructor(t,n){this.__v_isShallow=n,this.dep=void 0,this.__v_isRef=!0,this._rawValue=n?t:ie(t),this._value=n?t:Yn(t)}get value(){return bs(this),this._value}set value(t){const n=this.__v_isShallow||Dr(t)||Gn(t);t=n?t:ie(t),zt(t,this._rawValue)&&(this._rawValue=t,this._value=n?t:Yn(t),Fn(this,4))}}function ln(e){return $e(e)?e.value:e}const Gu={get:(e,t,n)=>ln(Reflect.get(e,t,n)),set:(e,t,n,r)=>{const o=e[t];return $e(o)&&!$e(n)?(o.value=n,!0):Reflect.set(e,t,n,r)}};function Na(e){return Hn(e)?e:new Proxy(e,Gu)}class Yu{constructor(t){this.dep=void 0,this.__v_isRef=!0;const{get:n,set:r}=t(()=>bs(this),()=>Fn(this));this._get=n,this._set=r}get value(){return this._get()}set value(t){this._set(t)}}function ys(e){return new Yu(e)}class Ju{constructor(t,n,r){this._object=t,this._key=n,this._defaultValue=r,this.__v_isRef=!0}get value(){const t=this._object[this._key];return t===void 0?this._defaultValue:t}set value(t){this._object[this._key]=t}get dep(){return Su(ie(this._object),this._key)}}class Qu{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0}get value(){return this._getter()}}function Gr(e,t,n){return $e(e)?e:ne(e)?new Qu(e):we(e)&&arguments.length>1?Xu(e,t,n):Q(e)}function Xu(e,t,n){const r=e[t];return $e(r)?r:new Ju(e,t,n)}/** +* @vue/runtime-core v3.4.25 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/function Vt(e,t,n,r){try{return r?e(...r):e()}catch(o){dr(o,t,n)}}function ot(e,t,n,r){if(ne(e)){const o=Vt(e,t,n,r);return o&&ma(o)&&o.catch(s=>{dr(s,t,n)}),o}if(ee(e)){const o=[];for(let s=0;s>>1,o=De[r],s=Qn(o);smt&&De.splice(t,1)}function nf(e){ee(e)?wn.push(...e):(!Nt||!Nt.includes(e,e.allowRecurse?tn+1:tn))&&wn.push(e),Fa()}function sl(e,t,n=Jn?mt+1:0){for(;nQn(n)-Qn(r));if(wn.length=0,Nt){Nt.push(...t);return}for(Nt=t,tn=0;tne.id==null?1/0:e.id,rf=(e,t)=>{const n=Qn(e)-Qn(t);if(n===0){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return n};function Ba(e){No=!1,Jn=!0,De.sort(rf);try{for(mt=0;mtMe(v)?v.trim():v)),d&&(o=n.map(hu))}let a,i=r[a=ao(t)]||r[a=ao(st(t))];!i&&s&&(i=r[a=ao(xn(t))]),i&&ot(i,e,6,o);const c=r[a+"Once"];if(c){if(!e.emitted)e.emitted={};else if(e.emitted[a])return;e.emitted[a]=!0,ot(c,e,6,o)}}function ja(e,t,n=!1){const r=t.emitsCache,o=r.get(e);if(o!==void 0)return o;const s=e.emits;let l={},a=!1;if(!ne(e)){const i=c=>{const f=ja(c,t,!0);f&&(a=!0,Ae(l,f))};!n&&t.mixins.length&&t.mixins.forEach(i),e.extends&&i(e.extends),e.mixins&&e.mixins.forEach(i)}return!s&&!a?(we(e)&&r.set(e,null),null):(ee(s)?s.forEach(i=>l[i]=null):Ae(l,s),we(e)&&r.set(e,l),l)}function Jr(e,t){return!e||!ar(t)?!1:(t=t.slice(2).replace(/Once$/,""),ie(e,t[0].toLowerCase()+t.slice(1))||ie(e,xn(t))||ie(e,t))}let rt=null,Va=null;function Fr(e){const t=rt;return rt=e,Va=e&&e.type.__scopeId||null,t}function sf(e,t=rt,n){if(!t||e._n)return e;const r=(...o)=>{r._d&&ml(-1);const s=Fr(t);let l;try{l=e(...o)}finally{Fr(s),r._d&&ml(1)}return l};return r._n=!0,r._c=!0,r._d=!0,r}function co(e){const{type:t,vnode:n,proxy:r,withProxy:o,props:s,propsOptions:[l],slots:a,attrs:i,emit:c,render:f,renderCache:d,data:p,setupState:v,ctx:m,inheritAttrs:E}=e;let w,b;const C=Fr(e);try{if(n.shapeFlag&4){const x=o||r,$=x;w=ct(f.call($,x,d,s,v,p,m)),b=i}else{const x=t;w=ct(x.length>1?x(s,{attrs:i,slots:a,emit:c}):x(s,null)),b=t.props?i:lf(i)}}catch(x){qn.length=0,dr(x,e,1),w=Oe(wt)}let y=w;if(b&&E!==!1){const x=Object.keys(b),{shapeFlag:$}=y;x.length&&$&7&&(l&&x.some(as)&&(b=af(b,l)),y=qt(y,b))}return n.dirs&&(y=qt(y),y.dirs=y.dirs?y.dirs.concat(n.dirs):n.dirs),n.transition&&(y.transition=n.transition),w=y,Fr(C),w}const lf=e=>{let t;for(const n in e)(n==="class"||n==="style"||ar(n))&&((t||(t={}))[n]=e[n]);return t},af=(e,t)=>{const n={};for(const r in e)(!as(r)||!(r.slice(9)in t))&&(n[r]=e[r]);return n};function cf(e,t,n){const{props:r,children:o,component:s}=e,{props:l,children:a,patchFlag:i}=t,c=s.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&i>=0){if(i&1024)return!0;if(i&16)return r?ll(r,l,c):!!l;if(i&8){const f=t.dynamicProps;for(let d=0;de.__isSuspense;function qa(e,t){t&&t.pendingBranch?ee(e)?t.effects.push(...e):t.effects.push(e):nf(e)}const hf=Symbol.for("v-scx"),vf=()=>ke(hf);function Ua(e,t){return Es(e,null,t)}const xr={};function oe(e,t,n){return Es(e,t,n)}function Es(e,t,{immediate:n,deep:r,flush:o,once:s,onTrack:l,onTrigger:a}=be){if(t&&s){const k=t;t=(...q)=>{k(...q),$()}}const i=Ie,c=k=>r===!0?k:vn(k,r===!1?1:void 0);let f,d=!1,p=!1;if($e(e)?(f=()=>e.value,d=Dr(e)):Hn(e)?(f=()=>c(e),d=!0):ee(e)?(p=!0,d=e.some(k=>Hn(k)||Dr(k)),f=()=>e.map(k=>{if($e(k))return k.value;if(Hn(k))return c(k);if(ne(k))return Vt(k,i,2)})):ne(e)?t?f=()=>Vt(e,i,2):f=()=>(v&&v(),ot(e,i,3,[m])):f=nt,t&&r){const k=f;f=()=>vn(k())}let v,m=k=>{v=y.onStop=()=>{Vt(k,i,4),v=y.onStop=void 0}},E;if(vr)if(m=nt,t?n&&ot(t,i,3,[f(),p?[]:void 0,m]):f(),o==="sync"){const k=vf();E=k.__watcherHandles||(k.__watcherHandles=[])}else return nt;let w=p?new Array(e.length).fill(xr):xr;const b=()=>{if(!(!y.active||!y.dirty))if(t){const k=y.run();(r||d||(p?k.some((q,N)=>zt(q,w[N])):zt(k,w)))&&(v&&v(),ot(t,i,3,[k,w===xr?void 0:p&&w[0]===xr?[]:w,m]),w=k)}else y.run()};b.allowRecurse=!!t;let C;o==="sync"?C=b:o==="post"?C=()=>Ve(b,i&&i.suspense):(b.pre=!0,i&&(b.id=i.uid),C=()=>Yr(b));const y=new ds(f,nt,C),x=_a(),$=()=>{y.stop(),x&&is(x.effects,y)};return t?n?b():w=y.run():o==="post"?Ve(y.run.bind(y),i&&i.suspense):y.run(),E&&E.push($),$}function gf(e,t,n){const r=this.proxy,o=Me(e)?e.includes(".")?Wa(r,e):()=>r[e]:e.bind(r,r);let s;ne(t)?s=t:(s=t.handler,n=t);const l=hr(this),a=Es(o,s.bind(r),n);return l(),a}function Wa(e,t){const n=t.split(".");return()=>{let r=e;for(let o=0;o0){if(n>=t)return e;n++}if(r=r||new Set,r.has(e))return e;if(r.add(e),$e(e))vn(e.value,t,n,r);else if(ee(e))for(let o=0;o{vn(o,t,n,r)});else if(fu(e))for(const o in e)vn(e[o],t,n,r);return e}function gt(e,t,n,r){const o=e.dirs,s=t&&t.dirs;for(let l=0;l{e.isMounted=!0}),Za(()=>{e.isUnmounting=!0}),e}const Ze=[Function,Array],Ga={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:Ze,onEnter:Ze,onAfterEnter:Ze,onEnterCancelled:Ze,onBeforeLeave:Ze,onLeave:Ze,onAfterLeave:Ze,onLeaveCancelled:Ze,onBeforeAppear:Ze,onAppear:Ze,onAfterAppear:Ze,onAppearCancelled:Ze},mf={name:"BaseTransition",props:Ga,setup(e,{slots:t}){const n=Tn(),r=Ka();return()=>{const o=t.default&&Cs(t.default(),!0);if(!o||!o.length)return;let s=o[0];if(o.length>1){for(const p of o)if(p.type!==wt){s=p;break}}const l=se(e),{mode:a}=l;if(r.isLeaving)return uo(s);const i=il(s);if(!i)return uo(s);const c=Xn(i,l,r,n);Zn(i,c);const f=n.subTree,d=f&&il(f);if(d&&d.type!==wt&&!nn(i,d)){const p=Xn(d,l,r,n);if(Zn(d,p),a==="out-in")return r.isLeaving=!0,p.afterLeave=()=>{r.isLeaving=!1,n.update.active!==!1&&(n.effect.dirty=!0,n.update())},uo(s);a==="in-out"&&i.type!==wt&&(p.delayLeave=(v,m,E)=>{const w=Ya(r,d);w[String(d.key)]=d,v[Dt]=()=>{m(),v[Dt]=void 0,delete c.delayedLeave},c.delayedLeave=E})}return s}}},bf=mf;function Ya(e,t){const{leavingVNodes:n}=e;let r=n.get(t.type);return r||(r=Object.create(null),n.set(t.type,r)),r}function Xn(e,t,n,r){const{appear:o,mode:s,persisted:l=!1,onBeforeEnter:a,onEnter:i,onAfterEnter:c,onEnterCancelled:f,onBeforeLeave:d,onLeave:p,onAfterLeave:v,onLeaveCancelled:m,onBeforeAppear:E,onAppear:w,onAfterAppear:b,onAppearCancelled:C}=t,y=String(e.key),x=Ya(n,e),$=(N,K)=>{N&&ot(N,r,9,K)},k=(N,K)=>{const R=K[1];$(N,K),ee(N)?N.every(V=>V.length<=1)&&R():N.length<=1&&R()},q={mode:s,persisted:l,beforeEnter(N){let K=a;if(!n.isMounted)if(o)K=E||a;else return;N[Dt]&&N[Dt](!0);const R=x[y];R&&nn(e,R)&&R.el[Dt]&&R.el[Dt](),$(K,[N])},enter(N){let K=i,R=c,V=f;if(!n.isMounted)if(o)K=w||i,R=b||c,V=C||f;else return;let P=!1;const X=N[Sr]=ye=>{P||(P=!0,ye?$(V,[N]):$(R,[N]),q.delayedLeave&&q.delayedLeave(),N[Sr]=void 0)};K?k(K,[N,X]):X()},leave(N,K){const R=String(e.key);if(N[Sr]&&N[Sr](!0),n.isUnmounting)return K();$(d,[N]);let V=!1;const P=N[Dt]=X=>{V||(V=!0,K(),X?$(m,[N]):$(v,[N]),N[Dt]=void 0,x[R]===e&&delete x[R])};x[R]=e,p?k(p,[N,P]):P()},clone(N){return Xn(N,t,n,r)}};return q}function uo(e){if(pr(e))return e=qt(e),e.children=null,e}function il(e){return pr(e)?e.children?e.children[0]:void 0:e}function Zn(e,t){e.shapeFlag&6&&e.component?Zn(e.component.subTree,t):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function Cs(e,t=!1,n){let r=[],o=0;for(let s=0;s1)for(let s=0;s!!e.type.__asyncLoader;/*! #__NO_SIDE_EFFECTS__ */function Ja(e){ne(e)&&(e={loader:e});const{loader:t,loadingComponent:n,errorComponent:r,delay:o=200,timeout:s,suspensible:l=!0,onError:a}=e;let i=null,c,f=0;const d=()=>(f++,i=null,p()),p=()=>{let v;return i||(v=i=t().catch(m=>{if(m=m instanceof Error?m:new Error(String(m)),a)return new Promise((E,w)=>{a(m,()=>E(d()),()=>w(m),f+1)});throw m}).then(m=>v!==i&&i?i:(m&&(m.__esModule||m[Symbol.toStringTag]==="Module")&&(m=m.default),c=m,m)))};return G({name:"AsyncComponentWrapper",__asyncLoader:p,get __asyncResolved(){return c},setup(){const v=Ie;if(c)return()=>fo(c,v);const m=C=>{i=null,dr(C,v,13,!r)};if(l&&v.suspense||vr)return p().then(C=>()=>fo(C,v)).catch(C=>(m(C),()=>r?Oe(r,{error:C}):null));const E=Q(!1),w=Q(),b=Q(!!o);return o&&setTimeout(()=>{b.value=!1},o),s!=null&&setTimeout(()=>{if(!E.value&&!w.value){const C=new Error(`Async component timed out after ${s}ms.`);m(C),w.value=C}},s),p().then(()=>{E.value=!0,v.parent&&pr(v.parent.vnode)&&(v.parent.effect.dirty=!0,Yr(v.parent.update))}).catch(C=>{m(C),w.value=C}),()=>{if(E.value&&c)return fo(c,v);if(w.value&&r)return Oe(r,{error:w.value});if(n&&!b.value)return Oe(n)}}})}function fo(e,t){const{ref:n,props:r,children:o,ce:s}=t.vnode,l=Oe(e,r,o);return l.ref=n,l.ce=s,delete t.vnode.ce,l}const pr=e=>e.type.__isKeepAlive;function yf(e,t){Qa(e,"a",t)}function wf(e,t){Qa(e,"da",t)}function Qa(e,t,n=Ie){const r=e.__wdc||(e.__wdc=()=>{let o=n;for(;o;){if(o.isDeactivated)return;o=o.parent}return e()});if(Qr(t,r,n),n){let o=n.parent;for(;o&&o.parent;)pr(o.parent.vnode)&&_f(r,t,n,o),o=o.parent}}function _f(e,t,n,r){const o=Qr(t,e,r,!0);Sn(()=>{is(r[t],o)},n)}function Qr(e,t,n=Ie,r=!1){if(n){const o=n[e]||(n[e]=[]),s=t.__weh||(t.__weh=(...l)=>{if(n.isUnmounted)return;Kt();const a=hr(n),i=ot(t,n,e,l);return a(),Gt(),i});return r?o.unshift(s):o.push(s),s}}const Lt=e=>(t,n=Ie)=>(!vr||e==="sp")&&Qr(e,(...r)=>t(...r),n),Ef=Lt("bm"),_e=Lt("m"),Cf=Lt("bu"),Xa=Lt("u"),Za=Lt("bum"),Sn=Lt("um"),kf=Lt("sp"),xf=Lt("rtg"),Sf=Lt("rtc");function Tf(e,t=Ie){Qr("ec",e,t)}const Do=e=>e?vi(e)?Ts(e)||e.proxy:Do(e.parent):null,jn=Ae(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>Do(e.parent),$root:e=>Do(e.root),$emit:e=>e.emit,$options:e=>ks(e),$forceUpdate:e=>e.f||(e.f=()=>{e.effect.dirty=!0,Yr(e.update)}),$nextTick:e=>e.n||(e.n=Yt.bind(e.proxy)),$watch:e=>gf.bind(e)}),po=(e,t)=>e!==be&&!e.__isScriptSetup&&ie(e,t),Af={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:r,data:o,props:s,accessCache:l,type:a,appContext:i}=e;let c;if(t[0]!=="$"){const v=l[t];if(v!==void 0)switch(v){case 1:return r[t];case 2:return o[t];case 4:return n[t];case 3:return s[t]}else{if(po(r,t))return l[t]=1,r[t];if(o!==be&&ie(o,t))return l[t]=2,o[t];if((c=e.propsOptions[0])&&ie(c,t))return l[t]=3,s[t];if(n!==be&&ie(n,t))return l[t]=4,n[t];Ho&&(l[t]=0)}}const f=jn[t];let d,p;if(f)return t==="$attrs"&&We(e.attrs,"get",""),f(e);if((d=a.__cssModules)&&(d=d[t]))return d;if(n!==be&&ie(n,t))return l[t]=4,n[t];if(p=i.config.globalProperties,ie(p,t))return p[t]},set({_:e},t,n){const{data:r,setupState:o,ctx:s}=e;return po(o,t)?(o[t]=n,!0):r!==be&&ie(r,t)?(r[t]=n,!0):ie(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(s[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:r,appContext:o,propsOptions:s}},l){let a;return!!n[l]||e!==be&&ie(e,l)||po(t,l)||(a=s[0])&&ie(a,l)||ie(r,l)||ie(jn,l)||ie(o.config.globalProperties,l)},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:ie(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function cl(e){return ee(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let Ho=!0;function Lf(e){const t=ks(e),n=e.proxy,r=e.ctx;Ho=!1,t.beforeCreate&&ul(t.beforeCreate,e,"bc");const{data:o,computed:s,methods:l,watch:a,provide:i,inject:c,created:f,beforeMount:d,mounted:p,beforeUpdate:v,updated:m,activated:E,deactivated:w,beforeDestroy:b,beforeUnmount:C,destroyed:y,unmounted:x,render:$,renderTracked:k,renderTriggered:q,errorCaptured:N,serverPrefetch:K,expose:R,inheritAttrs:V,components:P,directives:X,filters:ye}=t;if(c&&Of(c,r,null),l)for(const Z in l){const U=l[Z];ne(U)&&(r[Z]=U.bind(n))}if(o){const Z=o.call(n,n);we(Z)&&(e.data=ur(Z))}if(Ho=!0,s)for(const Z in s){const U=s[Z],Se=ne(U)?U.bind(n,n):ne(U.get)?U.get.bind(n,n):nt,pt=!ne(U)&&ne(U.set)?U.set.bind(n):nt,Xe=S({get:Se,set:pt});Object.defineProperty(r,Z,{enumerable:!0,configurable:!0,get:()=>Xe.value,set:Re=>Xe.value=Re})}if(a)for(const Z in a)ei(a[Z],r,n,Z);if(i){const Z=ne(i)?i.call(n):i;Reflect.ownKeys(Z).forEach(U=>{an(U,Z[U])})}f&&ul(f,e,"c");function z(Z,U){ee(U)?U.forEach(Se=>Z(Se.bind(n))):U&&Z(U.bind(n))}if(z(Ef,d),z(_e,p),z(Cf,v),z(Xa,m),z(yf,E),z(wf,w),z(Tf,N),z(Sf,k),z(xf,q),z(Za,C),z(Sn,x),z(kf,K),ee(R))if(R.length){const Z=e.exposed||(e.exposed={});R.forEach(U=>{Object.defineProperty(Z,U,{get:()=>n[U],set:Se=>n[U]=Se})})}else e.exposed||(e.exposed={});$&&e.render===nt&&(e.render=$),V!=null&&(e.inheritAttrs=V),P&&(e.components=P),X&&(e.directives=X)}function Of(e,t,n=nt){ee(e)&&(e=Fo(e));for(const r in e){const o=e[r];let s;we(o)?"default"in o?s=ke(o.from||r,o.default,!0):s=ke(o.from||r):s=ke(o),$e(s)?Object.defineProperty(t,r,{enumerable:!0,configurable:!0,get:()=>s.value,set:l=>s.value=l}):t[r]=s}}function ul(e,t,n){ot(ee(e)?e.map(r=>r.bind(t.proxy)):e.bind(t.proxy),t,n)}function ei(e,t,n,r){const o=r.includes(".")?Wa(n,r):()=>n[r];if(Me(e)){const s=t[e];ne(s)&&oe(o,s)}else if(ne(e))oe(o,e.bind(n));else if(we(e))if(ee(e))e.forEach(s=>ei(s,t,n,r));else{const s=ne(e.handler)?e.handler.bind(n):t[e.handler];ne(s)&&oe(o,s,e)}}function ks(e){const t=e.type,{mixins:n,extends:r}=t,{mixins:o,optionsCache:s,config:{optionMergeStrategies:l}}=e.appContext,a=s.get(t);let i;return a?i=a:!o.length&&!n&&!r?i=t:(i={},o.length&&o.forEach(c=>Br(i,c,l,!0)),Br(i,t,l)),we(t)&&s.set(t,i),i}function Br(e,t,n,r=!1){const{mixins:o,extends:s}=t;s&&Br(e,s,n,!0),o&&o.forEach(l=>Br(e,l,n,!0));for(const l in t)if(!(r&&l==="expose")){const a=Rf[l]||n&&n[l];e[l]=a?a(e[l],t[l]):t[l]}return e}const Rf={data:fl,props:dl,emits:dl,methods:$n,computed:$n,beforeCreate:He,created:He,beforeMount:He,mounted:He,beforeUpdate:He,updated:He,beforeDestroy:He,beforeUnmount:He,destroyed:He,unmounted:He,activated:He,deactivated:He,errorCaptured:He,serverPrefetch:He,components:$n,directives:$n,watch:If,provide:fl,inject:Pf};function fl(e,t){return t?e?function(){return Ae(ne(e)?e.call(this,this):e,ne(t)?t.call(this,this):t)}:t:e}function Pf(e,t){return $n(Fo(e),Fo(t))}function Fo(e){if(ee(e)){const t={};for(let n=0;n1)return n&&ne(t)?t.call(r&&r.proxy):t}}const ni=Object.create(null),Bo=()=>Object.create(ni),ri=e=>Object.getPrototypeOf(e)===ni;function Nf(e,t,n,r=!1){const o={},s=Bo();e.propsDefaults=Object.create(null),oi(e,t,o,s);for(const l in e.propsOptions[0])l in o||(o[l]=void 0);n?e.props=r?o:Ia(o):e.type.props?e.props=o:e.props=s,e.attrs=s}function Df(e,t,n,r){const{props:o,attrs:s,vnode:{patchFlag:l}}=e,a=se(o),[i]=e.propsOptions;let c=!1;if((r||l>0)&&!(l&16)){if(l&8){const f=e.vnode.dynamicProps;for(let d=0;d{i=!0;const[p,v]=si(d,t,!0);Ae(l,p),v&&a.push(...v)};!n&&t.mixins.length&&t.mixins.forEach(f),e.extends&&f(e.extends),e.mixins&&e.mixins.forEach(f)}if(!s&&!i)return we(e)&&r.set(e,bn),bn;if(ee(s))for(let f=0;f-1,v[1]=E<0||m-1||ie(v,"default"))&&a.push(d)}}}const c=[l,a];return we(e)&&r.set(e,c),c}function pl(e){return e[0]!=="$"&&!yn(e)}function hl(e){return e===null?"null":typeof e=="function"?e.name||"":typeof e=="object"&&e.constructor&&e.constructor.name||""}function vl(e,t){return hl(e)===hl(t)}function gl(e,t){return ee(t)?t.findIndex(n=>vl(n,e)):ne(t)&&vl(t,e)?0:-1}const li=e=>e[0]==="_"||e==="$stable",xs=e=>ee(e)?e.map(ct):[ct(e)],Hf=(e,t,n)=>{if(t._n)return t;const r=sf((...o)=>xs(t(...o)),n);return r._c=!1,r},ai=(e,t,n)=>{const r=e._ctx;for(const o in e){if(li(o))continue;const s=e[o];if(ne(s))t[o]=Hf(o,s,r);else if(s!=null){const l=xs(s);t[o]=()=>l}}},ii=(e,t)=>{const n=xs(t);e.slots.default=()=>n},Ff=(e,t)=>{if(e.vnode.shapeFlag&32){const n=t._;n?(e.slots=se(t),ba(e.slots,"_",n)):ai(t,e.slots=Bo())}else e.slots=Bo(),t&&ii(e,t)},Bf=(e,t,n)=>{const{vnode:r,slots:o}=e;let s=!0,l=be;if(r.shapeFlag&32){const a=t._;a?n&&a===1?s=!1:(Ae(o,t),!n&&a===1&&delete o._):(s=!t.$stable,ai(t,o)),l=t}else t&&(ii(e,t),l={default:1});if(s)for(const a in o)!li(a)&&l[a]==null&&delete o[a]};function jr(e,t,n,r,o=!1){if(ee(e)){e.forEach((p,v)=>jr(p,t&&(ee(t)?t[v]:t),n,r,o));return}if(Bn(r)&&!o)return;const s=r.shapeFlag&4?Ts(r.component)||r.component.proxy:r.el,l=o?null:s,{i:a,r:i}=e,c=t&&t.r,f=a.refs===be?a.refs={}:a.refs,d=a.setupState;if(c!=null&&c!==i&&(Me(c)?(f[c]=null,ie(d,c)&&(d[c]=null)):$e(c)&&(c.value=null)),ne(i))Vt(i,a,12,[l,f]);else{const p=Me(i),v=$e(i);if(p||v){const m=()=>{if(e.f){const E=p?ie(d,i)?d[i]:f[i]:i.value;o?ee(E)&&is(E,s):ee(E)?E.includes(s)||E.push(s):p?(f[i]=[s],ie(d,i)&&(d[i]=f[i])):(i.value=[s],e.k&&(f[e.k]=i.value))}else p?(f[i]=l,ie(d,i)&&(d[i]=l)):v&&(i.value=l,e.k&&(f[e.k]=l))};l?(m.id=-1,Ve(m,n)):m()}}}let Pt=!1;const jf=e=>e.namespaceURI.includes("svg")&&e.tagName!=="foreignObject",Vf=e=>e.namespaceURI.includes("MathML"),Tr=e=>{if(jf(e))return"svg";if(Vf(e))return"mathml"},Ar=e=>e.nodeType===8;function zf(e){const{mt:t,p:n,o:{patchProp:r,createText:o,nextSibling:s,parentNode:l,remove:a,insert:i,createComment:c}}=e,f=(y,x)=>{if(!x.hasChildNodes()){n(null,y,x),Hr(),x._vnode=y;return}Pt=!1,d(x.firstChild,y,null,null,null),Hr(),x._vnode=y,Pt&&console.error("Hydration completed but contains mismatches.")},d=(y,x,$,k,q,N=!1)=>{N=N||!!x.dynamicChildren;const K=Ar(y)&&y.data==="[",R=()=>E(y,x,$,k,q,K),{type:V,ref:P,shapeFlag:X,patchFlag:ye}=x;let ge=y.nodeType;x.el=y,ye===-2&&(N=!1,x.dynamicChildren=null);let z=null;switch(V){case _n:ge!==3?x.children===""?(i(x.el=o(""),l(y),y),z=y):z=R():(y.data!==x.children&&(Pt=!0,y.data=x.children),z=s(y));break;case wt:C(y)?(z=s(y),b(x.el=y.content.firstChild,y,$)):ge!==8||K?z=R():z=s(y);break;case zn:if(K&&(y=s(y),ge=y.nodeType),ge===1||ge===3){z=y;const Z=!x.children.length;for(let U=0;U{N=N||!!x.dynamicChildren;const{type:K,props:R,patchFlag:V,shapeFlag:P,dirs:X,transition:ye}=x,ge=K==="input"||K==="option";if(ge||V!==-1){X&>(x,null,$,"created");let z=!1;if(C(y)){z=ci(k,ye)&&$&&$.vnode.props&&$.vnode.props.appear;const U=y.content.firstChild;z&&ye.beforeEnter(U),b(U,y,$),x.el=y=U}if(P&16&&!(R&&(R.innerHTML||R.textContent))){let U=v(y.firstChild,x,y,$,k,q,N);for(;U;){Pt=!0;const Se=U;U=U.nextSibling,a(Se)}}else P&8&&y.textContent!==x.children&&(Pt=!0,y.textContent=x.children);if(R)if(ge||!N||V&48)for(const U in R)(ge&&(U.endsWith("value")||U==="indeterminate")||ar(U)&&!yn(U)||U[0]===".")&&r(y,U,null,R[U],void 0,void 0,$);else R.onClick&&r(y,"onClick",null,R.onClick,void 0,void 0,$);let Z;(Z=R&&R.onVnodeBeforeMount)&&et(Z,$,x),X&>(x,null,$,"beforeMount"),((Z=R&&R.onVnodeMounted)||X||z)&&qa(()=>{Z&&et(Z,$,x),z&&ye.enter(y),X&>(x,null,$,"mounted")},k)}return y.nextSibling},v=(y,x,$,k,q,N,K)=>{K=K||!!x.dynamicChildren;const R=x.children,V=R.length;for(let P=0;P{const{slotScopeIds:K}=x;K&&(q=q?q.concat(K):K);const R=l(y),V=v(s(y),x,R,$,k,q,N);return V&&Ar(V)&&V.data==="]"?s(x.anchor=V):(Pt=!0,i(x.anchor=c("]"),R,V),V)},E=(y,x,$,k,q,N)=>{if(Pt=!0,x.el=null,N){const V=w(y);for(;;){const P=s(y);if(P&&P!==V)a(P);else break}}const K=s(y),R=l(y);return a(y),n(null,x,R,K,$,k,Tr(R),q),K},w=(y,x="[",$="]")=>{let k=0;for(;y;)if(y=s(y),y&&Ar(y)&&(y.data===x&&k++,y.data===$)){if(k===0)return s(y);k--}return y},b=(y,x,$)=>{const k=x.parentNode;k&&k.replaceChild(y,x);let q=$;for(;q;)q.vnode.el===x&&(q.vnode.el=q.subTree.el=y),q=q.parent},C=y=>y.nodeType===1&&y.tagName.toLowerCase()==="template";return[f,d]}const Ve=qa;function qf(e){return Uf(e,zf)}function Uf(e,t){const n=ya();n.__VUE__=!0;const{insert:r,remove:o,patchProp:s,createElement:l,createText:a,createComment:i,setText:c,setElementText:f,parentNode:d,nextSibling:p,setScopeId:v=nt,insertStaticContent:m}=e,E=(h,g,_,L=null,A=null,M=null,F=void 0,I=null,D=!!g.dynamicChildren)=>{if(h===g)return;h&&!nn(h,g)&&(L=T(h),Re(h,A,M,!0),h=null),g.patchFlag===-2&&(D=!1,g.dynamicChildren=null);const{type:O,ref:j,shapeFlag:J}=g;switch(O){case _n:w(h,g,_,L);break;case wt:b(h,g,_,L);break;case zn:h==null&&C(g,_,L,F);break;case Je:P(h,g,_,L,A,M,F,I,D);break;default:J&1?$(h,g,_,L,A,M,F,I,D):J&6?X(h,g,_,L,A,M,F,I,D):(J&64||J&128)&&O.process(h,g,_,L,A,M,F,I,D,W)}j!=null&&A&&jr(j,h&&h.ref,M,g||h,!g)},w=(h,g,_,L)=>{if(h==null)r(g.el=a(g.children),_,L);else{const A=g.el=h.el;g.children!==h.children&&c(A,g.children)}},b=(h,g,_,L)=>{h==null?r(g.el=i(g.children||""),_,L):g.el=h.el},C=(h,g,_,L)=>{[h.el,h.anchor]=m(h.children,g,_,L,h.el,h.anchor)},y=({el:h,anchor:g},_,L)=>{let A;for(;h&&h!==g;)A=p(h),r(h,_,L),h=A;r(g,_,L)},x=({el:h,anchor:g})=>{let _;for(;h&&h!==g;)_=p(h),o(h),h=_;o(g)},$=(h,g,_,L,A,M,F,I,D)=>{g.type==="svg"?F="svg":g.type==="math"&&(F="mathml"),h==null?k(g,_,L,A,M,F,I,D):K(h,g,A,M,F,I,D)},k=(h,g,_,L,A,M,F,I)=>{let D,O;const{props:j,shapeFlag:J,transition:Y,dirs:te}=h;if(D=h.el=l(h.type,M,j&&j.is,j),J&8?f(D,h.children):J&16&&N(h.children,D,null,L,A,ho(h,M),F,I),te&>(h,null,L,"created"),q(D,h,h.scopeId,F,L),j){for(const fe in j)fe!=="value"&&!yn(fe)&&s(D,fe,null,j[fe],M,h.children,L,A,Te);"value"in j&&s(D,"value",null,j.value,M),(O=j.onVnodeBeforeMount)&&et(O,L,h)}te&>(h,null,L,"beforeMount");const re=ci(A,Y);re&&Y.beforeEnter(D),r(D,g,_),((O=j&&j.onVnodeMounted)||re||te)&&Ve(()=>{O&&et(O,L,h),re&&Y.enter(D),te&>(h,null,L,"mounted")},A)},q=(h,g,_,L,A)=>{if(_&&v(h,_),L)for(let M=0;M{for(let O=D;O{const I=g.el=h.el;let{patchFlag:D,dynamicChildren:O,dirs:j}=g;D|=h.patchFlag&16;const J=h.props||be,Y=g.props||be;let te;if(_&&Xt(_,!1),(te=Y.onVnodeBeforeUpdate)&&et(te,_,g,h),j&>(g,h,_,"beforeUpdate"),_&&Xt(_,!0),O?R(h.dynamicChildren,O,I,_,L,ho(g,A),M):F||U(h,g,I,null,_,L,ho(g,A),M,!1),D>0){if(D&16)V(I,g,J,Y,_,L,A);else if(D&2&&J.class!==Y.class&&s(I,"class",null,Y.class,A),D&4&&s(I,"style",J.style,Y.style,A),D&8){const re=g.dynamicProps;for(let fe=0;fe{te&&et(te,_,g,h),j&>(g,h,_,"updated")},L)},R=(h,g,_,L,A,M,F)=>{for(let I=0;I{if(_!==L){if(_!==be)for(const I in _)!yn(I)&&!(I in L)&&s(h,I,_[I],null,F,g.children,A,M,Te);for(const I in L){if(yn(I))continue;const D=L[I],O=_[I];D!==O&&I!=="value"&&s(h,I,O,D,F,g.children,A,M,Te)}"value"in L&&s(h,"value",_.value,L.value,F)}},P=(h,g,_,L,A,M,F,I,D)=>{const O=g.el=h?h.el:a(""),j=g.anchor=h?h.anchor:a("");let{patchFlag:J,dynamicChildren:Y,slotScopeIds:te}=g;te&&(I=I?I.concat(te):te),h==null?(r(O,_,L),r(j,_,L),N(g.children||[],_,j,A,M,F,I,D)):J>0&&J&64&&Y&&h.dynamicChildren?(R(h.dynamicChildren,Y,_,A,M,F,I),(g.key!=null||A&&g===A.subTree)&&ui(h,g,!0)):U(h,g,_,j,A,M,F,I,D)},X=(h,g,_,L,A,M,F,I,D)=>{g.slotScopeIds=I,h==null?g.shapeFlag&512?A.ctx.activate(g,_,L,F,D):ye(g,_,L,A,M,F,D):ge(h,g,D)},ye=(h,g,_,L,A,M,F)=>{const I=h.component=td(h,L,A);if(pr(h)&&(I.ctx.renderer=W),nd(I),I.asyncDep){if(A&&A.registerDep(I,z),!h.el){const D=I.subTree=Oe(wt);b(null,D,g,_)}}else z(I,h,g,_,A,M,F)},ge=(h,g,_)=>{const L=g.component=h.component;if(cf(h,g,_))if(L.asyncDep&&!L.asyncResolved){Z(L,g,_);return}else L.next=g,tf(L.update),L.effect.dirty=!0,L.update();else g.el=h.el,L.vnode=g},z=(h,g,_,L,A,M,F)=>{const I=()=>{if(h.isMounted){let{next:j,bu:J,u:Y,parent:te,vnode:re}=h;{const dn=fi(h);if(dn){j&&(j.el=re.el,Z(h,j,F)),dn.asyncDep.then(()=>{h.isUnmounted||I()});return}}let fe=j,me;Xt(h,!1),j?(j.el=re.el,Z(h,j,F)):j=re,J&&io(J),(me=j.props&&j.props.onVnodeBeforeUpdate)&&et(me,te,j,re),Xt(h,!0);const Pe=co(h),at=h.subTree;h.subTree=Pe,E(at,Pe,d(at.el),T(at),h,A,M),j.el=Pe.el,fe===null&&uf(h,Pe.el),Y&&Ve(Y,A),(me=j.props&&j.props.onVnodeUpdated)&&Ve(()=>et(me,te,j,re),A)}else{let j;const{el:J,props:Y}=g,{bm:te,m:re,parent:fe}=h,me=Bn(g);if(Xt(h,!1),te&&io(te),!me&&(j=Y&&Y.onVnodeBeforeMount)&&et(j,fe,g),Xt(h,!0),J&&de){const Pe=()=>{h.subTree=co(h),de(J,h.subTree,h,A,null)};me?g.type.__asyncLoader().then(()=>!h.isUnmounted&&Pe()):Pe()}else{const Pe=h.subTree=co(h);E(null,Pe,_,L,h,A,M),g.el=Pe.el}if(re&&Ve(re,A),!me&&(j=Y&&Y.onVnodeMounted)){const Pe=g;Ve(()=>et(j,fe,Pe),A)}(g.shapeFlag&256||fe&&Bn(fe.vnode)&&fe.vnode.shapeFlag&256)&&h.a&&Ve(h.a,A),h.isMounted=!0,g=_=L=null}},D=h.effect=new ds(I,nt,()=>Yr(O),h.scope),O=h.update=()=>{D.dirty&&D.run()};O.id=h.uid,Xt(h,!0),O()},Z=(h,g,_)=>{g.component=h;const L=h.vnode.props;h.vnode=g,h.next=null,Df(h,g.props,L,_),Bf(h,g.children,_),Kt(),sl(h),Gt()},U=(h,g,_,L,A,M,F,I,D=!1)=>{const O=h&&h.children,j=h?h.shapeFlag:0,J=g.children,{patchFlag:Y,shapeFlag:te}=g;if(Y>0){if(Y&128){pt(O,J,_,L,A,M,F,I,D);return}else if(Y&256){Se(O,J,_,L,A,M,F,I,D);return}}te&8?(j&16&&Te(O,A,M),J!==O&&f(_,J)):j&16?te&16?pt(O,J,_,L,A,M,F,I,D):Te(O,A,M,!0):(j&8&&f(_,""),te&16&&N(J,_,L,A,M,F,I,D))},Se=(h,g,_,L,A,M,F,I,D)=>{h=h||bn,g=g||bn;const O=h.length,j=g.length,J=Math.min(O,j);let Y;for(Y=0;Yj?Te(h,A,M,!0,!1,J):N(g,_,L,A,M,F,I,D,J)},pt=(h,g,_,L,A,M,F,I,D)=>{let O=0;const j=g.length;let J=h.length-1,Y=j-1;for(;O<=J&&O<=Y;){const te=h[O],re=g[O]=D?Ht(g[O]):ct(g[O]);if(nn(te,re))E(te,re,_,null,A,M,F,I,D);else break;O++}for(;O<=J&&O<=Y;){const te=h[J],re=g[Y]=D?Ht(g[Y]):ct(g[Y]);if(nn(te,re))E(te,re,_,null,A,M,F,I,D);else break;J--,Y--}if(O>J){if(O<=Y){const te=Y+1,re=teY)for(;O<=J;)Re(h[O],A,M,!0),O++;else{const te=O,re=O,fe=new Map;for(O=re;O<=Y;O++){const Ge=g[O]=D?Ht(g[O]):ct(g[O]);Ge.key!=null&&fe.set(Ge.key,O)}let me,Pe=0;const at=Y-re+1;let dn=!1,Gs=0;const Rn=new Array(at);for(O=0;O=at){Re(Ge,A,M,!0);continue}let vt;if(Ge.key!=null)vt=fe.get(Ge.key);else for(me=re;me<=Y;me++)if(Rn[me-re]===0&&nn(Ge,g[me])){vt=me;break}vt===void 0?Re(Ge,A,M,!0):(Rn[vt-re]=O+1,vt>=Gs?Gs=vt:dn=!0,E(Ge,g[vt],_,null,A,M,F,I,D),Pe++)}const Ys=dn?Wf(Rn):bn;for(me=Ys.length-1,O=at-1;O>=0;O--){const Ge=re+O,vt=g[Ge],Js=Ge+1{const{el:M,type:F,transition:I,children:D,shapeFlag:O}=h;if(O&6){Xe(h.component.subTree,g,_,L);return}if(O&128){h.suspense.move(g,_,L);return}if(O&64){F.move(h,g,_,W);return}if(F===Je){r(M,g,_);for(let J=0;JI.enter(M),A);else{const{leave:J,delayLeave:Y,afterLeave:te}=I,re=()=>r(M,g,_),fe=()=>{J(M,()=>{re(),te&&te()})};Y?Y(M,re,fe):fe()}else r(M,g,_)},Re=(h,g,_,L=!1,A=!1)=>{const{type:M,props:F,ref:I,children:D,dynamicChildren:O,shapeFlag:j,patchFlag:J,dirs:Y}=h;if(I!=null&&jr(I,null,_,h,!0),j&256){g.ctx.deactivate(h);return}const te=j&1&&Y,re=!Bn(h);let fe;if(re&&(fe=F&&F.onVnodeBeforeUnmount)&&et(fe,g,h),j&6)ht(h.component,_,L);else{if(j&128){h.suspense.unmount(_,L);return}te&>(h,null,g,"beforeUnmount"),j&64?h.type.remove(h,g,_,A,W,L):O&&(M!==Je||J>0&&J&64)?Te(O,g,_,!1,!0):(M===Je&&J&384||!A&&j&16)&&Te(D,g,_),L&&Ke(h)}(re&&(fe=F&&F.onVnodeUnmounted)||te)&&Ve(()=>{fe&&et(fe,g,h),te&>(h,null,g,"unmounted")},_)},Ke=h=>{const{type:g,el:_,anchor:L,transition:A}=h;if(g===Je){Et(_,L);return}if(g===zn){x(h);return}const M=()=>{o(_),A&&!A.persisted&&A.afterLeave&&A.afterLeave()};if(h.shapeFlag&1&&A&&!A.persisted){const{leave:F,delayLeave:I}=A,D=()=>F(_,M);I?I(h.el,M,D):D()}else M()},Et=(h,g)=>{let _;for(;h!==g;)_=p(h),o(h),h=_;o(g)},ht=(h,g,_)=>{const{bum:L,scope:A,update:M,subTree:F,um:I}=h;L&&io(L),A.stop(),M&&(M.active=!1,Re(F,h,g,_)),I&&Ve(I,g),Ve(()=>{h.isUnmounted=!0},g),g&&g.pendingBranch&&!g.isUnmounted&&h.asyncDep&&!h.asyncResolved&&h.suspenseId===g.pendingId&&(g.deps--,g.deps===0&&g.resolve())},Te=(h,g,_,L=!1,A=!1,M=0)=>{for(let F=M;Fh.shapeFlag&6?T(h.component.subTree):h.shapeFlag&128?h.suspense.next():p(h.anchor||h.el);let B=!1;const H=(h,g,_)=>{h==null?g._vnode&&Re(g._vnode,null,null,!0):E(g._vnode||null,h,g,null,null,null,_),B||(B=!0,sl(),Hr(),B=!1),g._vnode=h},W={p:E,um:Re,m:Xe,r:Ke,mt:ye,mc:N,pc:U,pbc:R,n:T,o:e};let le,de;return t&&([le,de]=t(W)),{render:H,hydrate:le,createApp:$f(H,le)}}function ho({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function Xt({effect:e,update:t},n){e.allowRecurse=t.allowRecurse=n}function ci(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function ui(e,t,n=!1){const r=e.children,o=t.children;if(ee(r)&&ee(o))for(let s=0;s>1,e[n[a]]0&&(t[r]=n[s-1]),n[s]=r)}}for(s=n.length,l=n[s-1];s-- >0;)n[s]=l,l=t[l];return n}function fi(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:fi(t)}const Kf=e=>e.__isTeleport,Je=Symbol.for("v-fgt"),_n=Symbol.for("v-txt"),wt=Symbol.for("v-cmt"),zn=Symbol.for("v-stc"),qn=[];let ut=null;function Ag(e=!1){qn.push(ut=e?null:[])}function Gf(){qn.pop(),ut=qn[qn.length-1]||null}let er=1;function ml(e){er+=e}function Yf(e){return e.dynamicChildren=er>0?ut||bn:null,Gf(),er>0&&ut&&ut.push(e),e}function Lg(e,t,n,r,o,s){return Yf(pi(e,t,n,r,o,s,!0))}function Vo(e){return e?e.__v_isVNode===!0:!1}function nn(e,t){return e.type===t.type&&e.key===t.key}const di=({key:e})=>e??null,Mr=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?Me(e)||$e(e)||ne(e)?{i:rt,r:e,k:t,f:!!n}:e:null);function pi(e,t=null,n=null,r=0,o=null,s=e===Je?0:1,l=!1,a=!1){const i={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&di(t),ref:t&&Mr(t),scopeId:Va,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:s,patchFlag:r,dynamicProps:o,dynamicChildren:null,appContext:null,ctx:rt};return a?(Ss(i,n),s&128&&e.normalize(i)):n&&(i.shapeFlag|=Me(n)?8:16),er>0&&!l&&ut&&(i.patchFlag>0||s&6)&&i.patchFlag!==32&&ut.push(i),i}const Oe=Jf;function Jf(e,t=null,n=null,r=0,o=null,s=!1){if((!e||e===ff)&&(e=wt),Vo(e)){const a=qt(e,t,!0);return n&&Ss(a,n),er>0&&!s&&ut&&(a.shapeFlag&6?ut[ut.indexOf(e)]=a:ut.push(a)),a.patchFlag|=-2,a}if(ad(e)&&(e=e.__vccOpts),t){t=Qf(t);let{class:a,style:i}=t;a&&!Me(a)&&(t.class=fs(a)),we(i)&&(Ma(i)&&!ee(i)&&(i=Ae({},i)),t.style=us(i))}const l=Me(e)?1:pf(e)?128:Kf(e)?64:we(e)?4:ne(e)?2:0;return pi(e,t,n,r,o,l,s,!0)}function Qf(e){return e?Ma(e)||ri(e)?Ae({},e):e:null}function qt(e,t,n=!1){const{props:r,ref:o,patchFlag:s,children:l}=e,a=t?Xf(r||{},t):r;return{__v_isVNode:!0,__v_skip:!0,type:e.type,props:a,key:a&&di(a),ref:t&&t.ref?n&&o?ee(o)?o.concat(Mr(t)):[o,Mr(t)]:Mr(t):o,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:l,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Je?s===-1?16:s|16:s,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:e.transition,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&qt(e.ssContent),ssFallback:e.ssFallback&&qt(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce}}function hi(e=" ",t=0){return Oe(_n,null,e,t)}function Og(e,t){const n=Oe(zn,null,e);return n.staticCount=t,n}function ct(e){return e==null||typeof e=="boolean"?Oe(wt):ee(e)?Oe(Je,null,e.slice()):typeof e=="object"?Ht(e):Oe(_n,null,String(e))}function Ht(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:qt(e)}function Ss(e,t){let n=0;const{shapeFlag:r}=e;if(t==null)t=null;else if(ee(t))n=16;else if(typeof t=="object")if(r&65){const o=t.default;o&&(o._c&&(o._d=!1),Ss(e,o()),o._c&&(o._d=!0));return}else{n=32;const o=t._;!o&&!ri(t)?t._ctx=rt:o===3&&rt&&(rt.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else ne(t)?(t={default:t,_ctx:rt},n=32):(t=String(t),r&64?(n=16,t=[hi(t)]):n=8);e.children=t,e.shapeFlag|=n}function Xf(...e){const t={};for(let n=0;nIe||rt;let Vr,zo;{const e=ya(),t=(n,r)=>{let o;return(o=e[n])||(o=e[n]=[]),o.push(r),s=>{o.length>1?o.forEach(l=>l(s)):o[0](s)}};Vr=t("__VUE_INSTANCE_SETTERS__",n=>Ie=n),zo=t("__VUE_SSR_SETTERS__",n=>vr=n)}const hr=e=>{const t=Ie;return Vr(e),e.scope.on(),()=>{e.scope.off(),Vr(t)}},bl=()=>{Ie&&Ie.scope.off(),Vr(null)};function vi(e){return e.vnode.shapeFlag&4}let vr=!1;function nd(e,t=!1){t&&zo(t);const{props:n,children:r}=e.vnode,o=vi(e);Nf(e,n,o,t),Ff(e,r);const s=o?rd(e,t):void 0;return t&&zo(!1),s}function rd(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Af);const{setup:r}=n;if(r){const o=e.setupContext=r.length>1?sd(e):null,s=hr(e);Kt();const l=Vt(r,e,0,[e.props,o]);if(Gt(),s(),ma(l)){if(l.then(bl,bl),t)return l.then(a=>{yl(e,a,t)}).catch(a=>{dr(a,e,0)});e.asyncDep=l}else yl(e,l,t)}else gi(e,t)}function yl(e,t,n){ne(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:we(t)&&(e.setupState=Da(t)),gi(e,n)}let wl;function gi(e,t,n){const r=e.type;if(!e.render){if(!t&&wl&&!r.render){const o=r.template||ks(e).template;if(o){const{isCustomElement:s,compilerOptions:l}=e.appContext.config,{delimiters:a,compilerOptions:i}=r,c=Ae(Ae({isCustomElement:s,delimiters:a},l),i);r.render=wl(o,c)}}e.render=r.render||nt}{const o=hr(e);Kt();try{Lf(e)}finally{Gt(),o()}}}const od={get(e,t){return We(e,"get",""),e[t]}};function sd(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,od),slots:e.slots,emit:e.emit,expose:t}}function Ts(e){if(e.exposed)return e.exposeProxy||(e.exposeProxy=new Proxy(Da(Uu(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in jn)return jn[n](e)},has(t,n){return n in t||n in jn}}))}function ld(e,t=!0){return ne(e)?e.displayName||e.name:e.name||t&&e.__name}function ad(e){return ne(e)&&"__vccOpts"in e}const S=(e,t)=>Wu(e,t,vr);function u(e,t,n){const r=arguments.length;return r===2?we(t)&&!ee(t)?Vo(t)?Oe(e,null,[t]):Oe(e,t):Oe(e,null,t):(r>3?n=Array.prototype.slice.call(arguments,2):r===3&&Vo(n)&&(n=[n]),Oe(e,t,n))}const id="3.4.23";/** -* @vue/runtime-dom v3.4.23 +**/function Vt(e,t,n,r){try{return r?e(...r):e()}catch(o){dr(o,t,n)}}function ot(e,t,n,r){if(ne(e)){const o=Vt(e,t,n,r);return o&&ga(o)&&o.catch(s=>{dr(s,t,n)}),o}if(ee(e)){const o=[];for(let s=0;s>>1,o=De[r],s=Qn(o);smt&&De.splice(t,1)}function nf(e){ee(e)?wn.push(...e):(!Nt||!Nt.includes(e,e.allowRecurse?tn+1:tn))&&wn.push(e),Ha()}function ol(e,t,n=Jn?mt+1:0){for(;nQn(n)-Qn(r));if(wn.length=0,Nt){Nt.push(...t);return}for(Nt=t,tn=0;tne.id==null?1/0:e.id,rf=(e,t)=>{const n=Qn(e)-Qn(t);if(n===0){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return n};function Fa(e){No=!1,Jn=!0,De.sort(rf);try{for(mt=0;mtMe(v)?v.trim():v)),d&&(o=n.map(hu))}let a,i=r[a=ao(t)]||r[a=ao(st(t))];!i&&s&&(i=r[a=ao(xn(t))]),i&&ot(i,e,6,o);const c=r[a+"Once"];if(c){if(!e.emitted)e.emitted={};else if(e.emitted[a])return;e.emitted[a]=!0,ot(c,e,6,o)}}function Ba(e,t,n=!1){const r=t.emitsCache,o=r.get(e);if(o!==void 0)return o;const s=e.emits;let l={},a=!1;if(!ne(e)){const i=c=>{const f=Ba(c,t,!0);f&&(a=!0,xe(l,f))};!n&&t.mixins.length&&t.mixins.forEach(i),e.extends&&i(e.extends),e.mixins&&e.mixins.forEach(i)}return!s&&!a?(we(e)&&r.set(e,null),null):(ee(s)?s.forEach(i=>l[i]=null):xe(l,s),we(e)&&r.set(e,l),l)}function Jr(e,t){return!e||!ar(t)?!1:(t=t.slice(2).replace(/Once$/,""),ae(e,t[0].toLowerCase()+t.slice(1))||ae(e,xn(t))||ae(e,t))}let rt=null,ja=null;function Fr(e){const t=rt;return rt=e,ja=e&&e.type.__scopeId||null,t}function sf(e,t=rt,n){if(!t||e._n)return e;const r=(...o)=>{r._d&&gl(-1);const s=Fr(t);let l;try{l=e(...o)}finally{Fr(s),r._d&&gl(1)}return l};return r._n=!0,r._c=!0,r._d=!0,r}function co(e){const{type:t,vnode:n,proxy:r,withProxy:o,propsOptions:[s],slots:l,attrs:a,emit:i,render:c,renderCache:f,props:d,data:p,setupState:v,ctx:m,inheritAttrs:E}=e,w=Fr(e);let b,C;try{if(n.shapeFlag&4){const x=o||r,$=x;b=ct(c.call($,x,f,d,v,p,m)),C=a}else{const x=t;b=ct(x.length>1?x(d,{attrs:a,slots:l,emit:i}):x(d,null)),C=t.props?a:lf(a)}}catch(x){qn.length=0,dr(x,e,1),b=Re(wt)}let y=b;if(C&&E!==!1){const x=Object.keys(C),{shapeFlag:$}=y;x.length&&$&7&&(s&&x.some(ls)&&(C=af(C,s)),y=qt(y,C))}return n.dirs&&(y=qt(y),y.dirs=y.dirs?y.dirs.concat(n.dirs):n.dirs),n.transition&&(y.transition=n.transition),b=y,Fr(w),b}const lf=e=>{let t;for(const n in e)(n==="class"||n==="style"||ar(n))&&((t||(t={}))[n]=e[n]);return t},af=(e,t)=>{const n={};for(const r in e)(!ls(r)||!(r.slice(9)in t))&&(n[r]=e[r]);return n};function cf(e,t,n){const{props:r,children:o,component:s}=e,{props:l,children:a,patchFlag:i}=t,c=s.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&i>=0){if(i&1024)return!0;if(i&16)return r?sl(r,l,c):!!l;if(i&8){const f=t.dynamicProps;for(let d=0;de.__isSuspense;function za(e,t){t&&t.pendingBranch?ee(e)?t.effects.push(...e):t.effects.push(e):nf(e)}const hf=Symbol.for("v-scx"),vf=()=>ke(hf);function qa(e,t){return _s(e,null,t)}const xr={};function oe(e,t,n){return _s(e,t,n)}function _s(e,t,{immediate:n,deep:r,flush:o,once:s,onTrack:l,onTrigger:a}=be){if(t&&s){const k=t;t=(...q)=>{k(...q),$()}}const i=Ie,c=k=>r===!0?k:vn(k,r===!1?1:void 0);let f,d=!1,p=!1;if($e(e)?(f=()=>e.value,d=Dr(e)):Hn(e)?(f=()=>c(e),d=!0):ee(e)?(p=!0,d=e.some(k=>Hn(k)||Dr(k)),f=()=>e.map(k=>{if($e(k))return k.value;if(Hn(k))return c(k);if(ne(k))return Vt(k,i,2)})):ne(e)?t?f=()=>Vt(e,i,2):f=()=>(v&&v(),ot(e,i,3,[m])):f=nt,t&&r){const k=f;f=()=>vn(k())}let v,m=k=>{v=y.onStop=()=>{Vt(k,i,4),v=y.onStop=void 0}},E;if(vr)if(m=nt,t?n&&ot(t,i,3,[f(),p?[]:void 0,m]):f(),o==="sync"){const k=vf();E=k.__watcherHandles||(k.__watcherHandles=[])}else return nt;let w=p?new Array(e.length).fill(xr):xr;const b=()=>{if(!(!y.active||!y.dirty))if(t){const k=y.run();(r||d||(p?k.some((q,N)=>zt(q,w[N])):zt(k,w)))&&(v&&v(),ot(t,i,3,[k,w===xr?void 0:p&&w[0]===xr?[]:w,m]),w=k)}else y.run()};b.allowRecurse=!!t;let C;o==="sync"?C=b:o==="post"?C=()=>Ve(b,i&&i.suspense):(b.pre=!0,i&&(b.id=i.uid),C=()=>Yr(b));const y=new fs(f,nt,C),x=wa(),$=()=>{y.stop(),x&&as(x.effects,y)};return t?n?b():w=y.run():o==="post"?Ve(y.run.bind(y),i&&i.suspense):y.run(),E&&E.push($),$}function gf(e,t,n){const r=this.proxy,o=Me(e)?e.includes(".")?Ua(r,e):()=>r[e]:e.bind(r,r);let s;ne(t)?s=t:(s=t.handler,n=t);const l=hr(this),a=_s(o,s.bind(r),n);return l(),a}function Ua(e,t){const n=t.split(".");return()=>{let r=e;for(let o=0;o0){if(n>=t)return e;n++}if(r=r||new Set,r.has(e))return e;if(r.add(e),$e(e))vn(e.value,t,n,r);else if(ee(e))for(let o=0;o{vn(o,t,n,r)});else if(fu(e))for(const o in e)vn(e[o],t,n,r);return e}function gt(e,t,n,r){const o=e.dirs,s=t&&t.dirs;for(let l=0;l{e.isMounted=!0}),Xa(()=>{e.isUnmounting=!0}),e}const Ze=[Function,Array],Ka={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:Ze,onEnter:Ze,onAfterEnter:Ze,onEnterCancelled:Ze,onBeforeLeave:Ze,onLeave:Ze,onAfterLeave:Ze,onLeaveCancelled:Ze,onBeforeAppear:Ze,onAppear:Ze,onAfterAppear:Ze,onAppearCancelled:Ze},mf={name:"BaseTransition",props:Ka,setup(e,{slots:t}){const n=Tn(),r=Wa();return()=>{const o=t.default&&Es(t.default(),!0);if(!o||!o.length)return;let s=o[0];if(o.length>1){for(const p of o)if(p.type!==wt){s=p;break}}const l=ie(e),{mode:a}=l;if(r.isLeaving)return uo(s);const i=al(s);if(!i)return uo(s);const c=Xn(i,l,r,n);Zn(i,c);const f=n.subTree,d=f&&al(f);if(d&&d.type!==wt&&!nn(i,d)){const p=Xn(d,l,r,n);if(Zn(d,p),a==="out-in")return r.isLeaving=!0,p.afterLeave=()=>{r.isLeaving=!1,n.update.active!==!1&&(n.effect.dirty=!0,n.update())},uo(s);a==="in-out"&&i.type!==wt&&(p.delayLeave=(v,m,E)=>{const w=Ga(r,d);w[String(d.key)]=d,v[Dt]=()=>{m(),v[Dt]=void 0,delete c.delayedLeave},c.delayedLeave=E})}return s}}},bf=mf;function Ga(e,t){const{leavingVNodes:n}=e;let r=n.get(t.type);return r||(r=Object.create(null),n.set(t.type,r)),r}function Xn(e,t,n,r){const{appear:o,mode:s,persisted:l=!1,onBeforeEnter:a,onEnter:i,onAfterEnter:c,onEnterCancelled:f,onBeforeLeave:d,onLeave:p,onAfterLeave:v,onLeaveCancelled:m,onBeforeAppear:E,onAppear:w,onAfterAppear:b,onAppearCancelled:C}=t,y=String(e.key),x=Ga(n,e),$=(N,K)=>{N&&ot(N,r,9,K)},k=(N,K)=>{const O=K[1];$(N,K),ee(N)?N.every(V=>V.length<=1)&&O():N.length<=1&&O()},q={mode:s,persisted:l,beforeEnter(N){let K=a;if(!n.isMounted)if(o)K=E||a;else return;N[Dt]&&N[Dt](!0);const O=x[y];O&&nn(e,O)&&O.el[Dt]&&O.el[Dt](),$(K,[N])},enter(N){let K=i,O=c,V=f;if(!n.isMounted)if(o)K=w||i,O=b||c,V=C||f;else return;let P=!1;const X=N[Sr]=ye=>{P||(P=!0,ye?$(V,[N]):$(O,[N]),q.delayedLeave&&q.delayedLeave(),N[Sr]=void 0)};K?k(K,[N,X]):X()},leave(N,K){const O=String(e.key);if(N[Sr]&&N[Sr](!0),n.isUnmounting)return K();$(d,[N]);let V=!1;const P=N[Dt]=X=>{V||(V=!0,K(),X?$(m,[N]):$(v,[N]),N[Dt]=void 0,x[O]===e&&delete x[O])};x[O]=e,p?k(p,[N,P]):P()},clone(N){return Xn(N,t,n,r)}};return q}function uo(e){if(pr(e))return e=qt(e),e.children=null,e}function al(e){if(!pr(e))return e;const{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&ne(n.default))return n.default()}}function Zn(e,t){e.shapeFlag&6&&e.component?Zn(e.component.subTree,t):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function Es(e,t=!1,n){let r=[],o=0;for(let s=0;s1)for(let s=0;s!!e.type.__asyncLoader;/*! #__NO_SIDE_EFFECTS__ */function Ya(e){ne(e)&&(e={loader:e});const{loader:t,loadingComponent:n,errorComponent:r,delay:o=200,timeout:s,suspensible:l=!0,onError:a}=e;let i=null,c,f=0;const d=()=>(f++,i=null,p()),p=()=>{let v;return i||(v=i=t().catch(m=>{if(m=m instanceof Error?m:new Error(String(m)),a)return new Promise((E,w)=>{a(m,()=>E(d()),()=>w(m),f+1)});throw m}).then(m=>v!==i&&i?i:(m&&(m.__esModule||m[Symbol.toStringTag]==="Module")&&(m=m.default),c=m,m)))};return G({name:"AsyncComponentWrapper",__asyncLoader:p,get __asyncResolved(){return c},setup(){const v=Ie;if(c)return()=>fo(c,v);const m=C=>{i=null,dr(C,v,13,!r)};if(l&&v.suspense||vr)return p().then(C=>()=>fo(C,v)).catch(C=>(m(C),()=>r?Re(r,{error:C}):null));const E=Q(!1),w=Q(),b=Q(!!o);return o&&setTimeout(()=>{b.value=!1},o),s!=null&&setTimeout(()=>{if(!E.value&&!w.value){const C=new Error(`Async component timed out after ${s}ms.`);m(C),w.value=C}},s),p().then(()=>{E.value=!0,v.parent&&pr(v.parent.vnode)&&(v.parent.effect.dirty=!0,Yr(v.parent.update))}).catch(C=>{m(C),w.value=C}),()=>{if(E.value&&c)return fo(c,v);if(w.value&&r)return Re(r,{error:w.value});if(n&&!b.value)return Re(n)}}})}function fo(e,t){const{ref:n,props:r,children:o,ce:s}=t.vnode,l=Re(e,r,o);return l.ref=n,l.ce=s,delete t.vnode.ce,l}const pr=e=>e.type.__isKeepAlive;function yf(e,t){Ja(e,"a",t)}function wf(e,t){Ja(e,"da",t)}function Ja(e,t,n=Ie){const r=e.__wdc||(e.__wdc=()=>{let o=n;for(;o;){if(o.isDeactivated)return;o=o.parent}return e()});if(Qr(t,r,n),n){let o=n.parent;for(;o&&o.parent;)pr(o.parent.vnode)&&_f(r,t,n,o),o=o.parent}}function _f(e,t,n,r){const o=Qr(t,e,r,!0);Sn(()=>{as(r[t],o)},n)}function Qr(e,t,n=Ie,r=!1){if(n){const o=n[e]||(n[e]=[]),s=t.__weh||(t.__weh=(...l)=>{if(n.isUnmounted)return;Kt();const a=hr(n),i=ot(t,n,e,l);return a(),Gt(),i});return r?o.unshift(s):o.push(s),s}}const Lt=e=>(t,n=Ie)=>(!vr||e==="sp")&&Qr(e,(...r)=>t(...r),n),Ef=Lt("bm"),_e=Lt("m"),Cf=Lt("bu"),Qa=Lt("u"),Xa=Lt("bum"),Sn=Lt("um"),kf=Lt("sp"),xf=Lt("rtg"),Sf=Lt("rtc");function Tf(e,t=Ie){Qr("ec",e,t)}const Do=e=>e?vi(e)?Ss(e)||e.proxy:Do(e.parent):null,jn=xe(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>Do(e.parent),$root:e=>Do(e.root),$emit:e=>e.emit,$options:e=>Cs(e),$forceUpdate:e=>e.f||(e.f=()=>{e.effect.dirty=!0,Yr(e.update)}),$nextTick:e=>e.n||(e.n=Yt.bind(e.proxy)),$watch:e=>gf.bind(e)}),po=(e,t)=>e!==be&&!e.__isScriptSetup&&ae(e,t),Af={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:r,data:o,props:s,accessCache:l,type:a,appContext:i}=e;let c;if(t[0]!=="$"){const v=l[t];if(v!==void 0)switch(v){case 1:return r[t];case 2:return o[t];case 4:return n[t];case 3:return s[t]}else{if(po(r,t))return l[t]=1,r[t];if(o!==be&&ae(o,t))return l[t]=2,o[t];if((c=e.propsOptions[0])&&ae(c,t))return l[t]=3,s[t];if(n!==be&&ae(n,t))return l[t]=4,n[t];Ho&&(l[t]=0)}}const f=jn[t];let d,p;if(f)return t==="$attrs"&&We(e.attrs,"get",""),f(e);if((d=a.__cssModules)&&(d=d[t]))return d;if(n!==be&&ae(n,t))return l[t]=4,n[t];if(p=i.config.globalProperties,ae(p,t))return p[t]},set({_:e},t,n){const{data:r,setupState:o,ctx:s}=e;return po(o,t)?(o[t]=n,!0):r!==be&&ae(r,t)?(r[t]=n,!0):ae(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(s[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:r,appContext:o,propsOptions:s}},l){let a;return!!n[l]||e!==be&&ae(e,l)||po(t,l)||(a=s[0])&&ae(a,l)||ae(r,l)||ae(jn,l)||ae(o.config.globalProperties,l)},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:ae(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function il(e){return ee(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let Ho=!0;function Lf(e){const t=Cs(e),n=e.proxy,r=e.ctx;Ho=!1,t.beforeCreate&&cl(t.beforeCreate,e,"bc");const{data:o,computed:s,methods:l,watch:a,provide:i,inject:c,created:f,beforeMount:d,mounted:p,beforeUpdate:v,updated:m,activated:E,deactivated:w,beforeDestroy:b,beforeUnmount:C,destroyed:y,unmounted:x,render:$,renderTracked:k,renderTriggered:q,errorCaptured:N,serverPrefetch:K,expose:O,inheritAttrs:V,components:P,directives:X,filters:ye}=t;if(c&&Rf(c,r,null),l)for(const Z in l){const U=l[Z];ne(U)&&(r[Z]=U.bind(n))}if(o){const Z=o.call(n,n);we(Z)&&(e.data=ur(Z))}if(Ho=!0,s)for(const Z in s){const U=s[Z],Te=ne(U)?U.bind(n,n):ne(U.get)?U.get.bind(n,n):nt,pt=!ne(U)&&ne(U.set)?U.set.bind(n):nt,Xe=S({get:Te,set:pt});Object.defineProperty(r,Z,{enumerable:!0,configurable:!0,get:()=>Xe.value,set:Oe=>Xe.value=Oe})}if(a)for(const Z in a)Za(a[Z],r,n,Z);if(i){const Z=ne(i)?i.call(n):i;Reflect.ownKeys(Z).forEach(U=>{an(U,Z[U])})}f&&cl(f,e,"c");function z(Z,U){ee(U)?U.forEach(Te=>Z(Te.bind(n))):U&&Z(U.bind(n))}if(z(Ef,d),z(_e,p),z(Cf,v),z(Qa,m),z(yf,E),z(wf,w),z(Tf,N),z(Sf,k),z(xf,q),z(Xa,C),z(Sn,x),z(kf,K),ee(O))if(O.length){const Z=e.exposed||(e.exposed={});O.forEach(U=>{Object.defineProperty(Z,U,{get:()=>n[U],set:Te=>n[U]=Te})})}else e.exposed||(e.exposed={});$&&e.render===nt&&(e.render=$),V!=null&&(e.inheritAttrs=V),P&&(e.components=P),X&&(e.directives=X)}function Rf(e,t,n=nt){ee(e)&&(e=Fo(e));for(const r in e){const o=e[r];let s;we(o)?"default"in o?s=ke(o.from||r,o.default,!0):s=ke(o.from||r):s=ke(o),$e(s)?Object.defineProperty(t,r,{enumerable:!0,configurable:!0,get:()=>s.value,set:l=>s.value=l}):t[r]=s}}function cl(e,t,n){ot(ee(e)?e.map(r=>r.bind(t.proxy)):e.bind(t.proxy),t,n)}function Za(e,t,n,r){const o=r.includes(".")?Ua(n,r):()=>n[r];if(Me(e)){const s=t[e];ne(s)&&oe(o,s)}else if(ne(e))oe(o,e.bind(n));else if(we(e))if(ee(e))e.forEach(s=>Za(s,t,n,r));else{const s=ne(e.handler)?e.handler.bind(n):t[e.handler];ne(s)&&oe(o,s,e)}}function Cs(e){const t=e.type,{mixins:n,extends:r}=t,{mixins:o,optionsCache:s,config:{optionMergeStrategies:l}}=e.appContext,a=s.get(t);let i;return a?i=a:!o.length&&!n&&!r?i=t:(i={},o.length&&o.forEach(c=>Br(i,c,l,!0)),Br(i,t,l)),we(t)&&s.set(t,i),i}function Br(e,t,n,r=!1){const{mixins:o,extends:s}=t;s&&Br(e,s,n,!0),o&&o.forEach(l=>Br(e,l,n,!0));for(const l in t)if(!(r&&l==="expose")){const a=Of[l]||n&&n[l];e[l]=a?a(e[l],t[l]):t[l]}return e}const Of={data:ul,props:fl,emits:fl,methods:$n,computed:$n,beforeCreate:He,created:He,beforeMount:He,mounted:He,beforeUpdate:He,updated:He,beforeDestroy:He,beforeUnmount:He,destroyed:He,unmounted:He,activated:He,deactivated:He,errorCaptured:He,serverPrefetch:He,components:$n,directives:$n,watch:If,provide:ul,inject:Pf};function ul(e,t){return t?e?function(){return xe(ne(e)?e.call(this,this):e,ne(t)?t.call(this,this):t)}:t:e}function Pf(e,t){return $n(Fo(e),Fo(t))}function Fo(e){if(ee(e)){const t={};for(let n=0;n1)return n&&ne(t)?t.call(r&&r.proxy):t}}const ti={},ni=()=>Object.create(ti),ri=e=>Object.getPrototypeOf(e)===ti;function Nf(e,t,n,r=!1){const o={},s=ni();e.propsDefaults=Object.create(null),oi(e,t,o,s);for(const l in e.propsOptions[0])l in o||(o[l]=void 0);n?e.props=r?o:Pa(o):e.type.props?e.props=o:e.props=s,e.attrs=s}function Df(e,t,n,r){const{props:o,attrs:s,vnode:{patchFlag:l}}=e,a=ie(o),[i]=e.propsOptions;let c=!1;if((r||l>0)&&!(l&16)){if(l&8){const f=e.vnode.dynamicProps;for(let d=0;d{i=!0;const[p,v]=si(d,t,!0);xe(l,p),v&&a.push(...v)};!n&&t.mixins.length&&t.mixins.forEach(f),e.extends&&f(e.extends),e.mixins&&e.mixins.forEach(f)}if(!s&&!i)return we(e)&&r.set(e,bn),bn;if(ee(s))for(let f=0;f-1,v[1]=E<0||m-1||ae(v,"default"))&&a.push(d)}}}const c=[l,a];return we(e)&&r.set(e,c),c}function dl(e){return e[0]!=="$"&&!yn(e)}function pl(e){return e===null?"null":typeof e=="function"?e.name||"":typeof e=="object"&&e.constructor&&e.constructor.name||""}function hl(e,t){return pl(e)===pl(t)}function vl(e,t){return ee(t)?t.findIndex(n=>hl(n,e)):ne(t)&&hl(t,e)?0:-1}const li=e=>e[0]==="_"||e==="$stable",ks=e=>ee(e)?e.map(ct):[ct(e)],Hf=(e,t,n)=>{if(t._n)return t;const r=sf((...o)=>ks(t(...o)),n);return r._c=!1,r},ai=(e,t,n)=>{const r=e._ctx;for(const o in e){if(li(o))continue;const s=e[o];if(ne(s))t[o]=Hf(o,s,r);else if(s!=null){const l=ks(s);t[o]=()=>l}}},ii=(e,t)=>{const n=ks(t);e.slots.default=()=>n},Ff=(e,t)=>{const n=e.slots=ni();if(e.vnode.shapeFlag&32){const r=t._;r?(xe(n,t),ma(n,"_",r)):ai(t,n)}else t&&ii(e,t)},Bf=(e,t,n)=>{const{vnode:r,slots:o}=e;let s=!0,l=be;if(r.shapeFlag&32){const a=t._;a?n&&a===1?s=!1:(xe(o,t),!n&&a===1&&delete o._):(s=!t.$stable,ai(t,o)),l=t}else t&&(ii(e,t),l={default:1});if(s)for(const a in o)!li(a)&&l[a]==null&&delete o[a]};function jr(e,t,n,r,o=!1){if(ee(e)){e.forEach((p,v)=>jr(p,t&&(ee(t)?t[v]:t),n,r,o));return}if(Bn(r)&&!o)return;const s=r.shapeFlag&4?Ss(r.component)||r.component.proxy:r.el,l=o?null:s,{i:a,r:i}=e,c=t&&t.r,f=a.refs===be?a.refs={}:a.refs,d=a.setupState;if(c!=null&&c!==i&&(Me(c)?(f[c]=null,ae(d,c)&&(d[c]=null)):$e(c)&&(c.value=null)),ne(i))Vt(i,a,12,[l,f]);else{const p=Me(i),v=$e(i);if(p||v){const m=()=>{if(e.f){const E=p?ae(d,i)?d[i]:f[i]:i.value;o?ee(E)&&as(E,s):ee(E)?E.includes(s)||E.push(s):p?(f[i]=[s],ae(d,i)&&(d[i]=f[i])):(i.value=[s],e.k&&(f[e.k]=i.value))}else p?(f[i]=l,ae(d,i)&&(d[i]=l)):v&&(i.value=l,e.k&&(f[e.k]=l))};l?(m.id=-1,Ve(m,n)):m()}}}let Pt=!1;const jf=e=>e.namespaceURI.includes("svg")&&e.tagName!=="foreignObject",Vf=e=>e.namespaceURI.includes("MathML"),Tr=e=>{if(jf(e))return"svg";if(Vf(e))return"mathml"},Ar=e=>e.nodeType===8;function zf(e){const{mt:t,p:n,o:{patchProp:r,createText:o,nextSibling:s,parentNode:l,remove:a,insert:i,createComment:c}}=e,f=(y,x)=>{if(!x.hasChildNodes()){n(null,y,x),Hr(),x._vnode=y;return}Pt=!1,d(x.firstChild,y,null,null,null),Hr(),x._vnode=y,Pt&&console.error("Hydration completed but contains mismatches.")},d=(y,x,$,k,q,N=!1)=>{N=N||!!x.dynamicChildren;const K=Ar(y)&&y.data==="[",O=()=>E(y,x,$,k,q,K),{type:V,ref:P,shapeFlag:X,patchFlag:ye}=x;let ge=y.nodeType;x.el=y,ye===-2&&(N=!1,x.dynamicChildren=null);let z=null;switch(V){case _n:ge!==3?x.children===""?(i(x.el=o(""),l(y),y),z=y):z=O():(y.data!==x.children&&(Pt=!0,y.data=x.children),z=s(y));break;case wt:C(y)?(z=s(y),b(x.el=y.content.firstChild,y,$)):ge!==8||K?z=O():z=s(y);break;case zn:if(K&&(y=s(y),ge=y.nodeType),ge===1||ge===3){z=y;const Z=!x.children.length;for(let U=0;U{N=N||!!x.dynamicChildren;const{type:K,props:O,patchFlag:V,shapeFlag:P,dirs:X,transition:ye}=x,ge=K==="input"||K==="option";if(ge||V!==-1){X&>(x,null,$,"created");let z=!1;if(C(y)){z=ci(k,ye)&&$&&$.vnode.props&&$.vnode.props.appear;const U=y.content.firstChild;z&&ye.beforeEnter(U),b(U,y,$),x.el=y=U}if(P&16&&!(O&&(O.innerHTML||O.textContent))){let U=v(y.firstChild,x,y,$,k,q,N);for(;U;){Pt=!0;const Te=U;U=U.nextSibling,a(Te)}}else P&8&&y.textContent!==x.children&&(Pt=!0,y.textContent=x.children);if(O)if(ge||!N||V&48)for(const U in O)(ge&&(U.endsWith("value")||U==="indeterminate")||ar(U)&&!yn(U)||U[0]===".")&&r(y,U,null,O[U],void 0,void 0,$);else O.onClick&&r(y,"onClick",null,O.onClick,void 0,void 0,$);let Z;(Z=O&&O.onVnodeBeforeMount)&&et(Z,$,x),X&>(x,null,$,"beforeMount"),((Z=O&&O.onVnodeMounted)||X||z)&&za(()=>{Z&&et(Z,$,x),z&&ye.enter(y),X&>(x,null,$,"mounted")},k)}return y.nextSibling},v=(y,x,$,k,q,N,K)=>{K=K||!!x.dynamicChildren;const O=x.children,V=O.length;for(let P=0;P{const{slotScopeIds:K}=x;K&&(q=q?q.concat(K):K);const O=l(y),V=v(s(y),x,O,$,k,q,N);return V&&Ar(V)&&V.data==="]"?s(x.anchor=V):(Pt=!0,i(x.anchor=c("]"),O,V),V)},E=(y,x,$,k,q,N)=>{if(Pt=!0,x.el=null,N){const V=w(y);for(;;){const P=s(y);if(P&&P!==V)a(P);else break}}const K=s(y),O=l(y);return a(y),n(null,x,O,K,$,k,Tr(O),q),K},w=(y,x="[",$="]")=>{let k=0;for(;y;)if(y=s(y),y&&Ar(y)&&(y.data===x&&k++,y.data===$)){if(k===0)return s(y);k--}return y},b=(y,x,$)=>{const k=x.parentNode;k&&k.replaceChild(y,x);let q=$;for(;q;)q.vnode.el===x&&(q.vnode.el=q.subTree.el=y),q=q.parent},C=y=>y.nodeType===1&&y.tagName.toLowerCase()==="template";return[f,d]}const Ve=za;function qf(e){return Uf(e,zf)}function Uf(e,t){const n=ba();n.__VUE__=!0;const{insert:r,remove:o,patchProp:s,createElement:l,createText:a,createComment:i,setText:c,setElementText:f,parentNode:d,nextSibling:p,setScopeId:v=nt,insertStaticContent:m}=e,E=(h,g,_,L=null,A=null,M=null,F=void 0,I=null,D=!!g.dynamicChildren)=>{if(h===g)return;h&&!nn(h,g)&&(L=T(h),Oe(h,A,M,!0),h=null),g.patchFlag===-2&&(D=!1,g.dynamicChildren=null);const{type:R,ref:j,shapeFlag:J}=g;switch(R){case _n:w(h,g,_,L);break;case wt:b(h,g,_,L);break;case zn:h==null&&C(g,_,L,F);break;case Je:P(h,g,_,L,A,M,F,I,D);break;default:J&1?$(h,g,_,L,A,M,F,I,D):J&6?X(h,g,_,L,A,M,F,I,D):(J&64||J&128)&&R.process(h,g,_,L,A,M,F,I,D,W)}j!=null&&A&&jr(j,h&&h.ref,M,g||h,!g)},w=(h,g,_,L)=>{if(h==null)r(g.el=a(g.children),_,L);else{const A=g.el=h.el;g.children!==h.children&&c(A,g.children)}},b=(h,g,_,L)=>{h==null?r(g.el=i(g.children||""),_,L):g.el=h.el},C=(h,g,_,L)=>{[h.el,h.anchor]=m(h.children,g,_,L,h.el,h.anchor)},y=({el:h,anchor:g},_,L)=>{let A;for(;h&&h!==g;)A=p(h),r(h,_,L),h=A;r(g,_,L)},x=({el:h,anchor:g})=>{let _;for(;h&&h!==g;)_=p(h),o(h),h=_;o(g)},$=(h,g,_,L,A,M,F,I,D)=>{g.type==="svg"?F="svg":g.type==="math"&&(F="mathml"),h==null?k(g,_,L,A,M,F,I,D):K(h,g,A,M,F,I,D)},k=(h,g,_,L,A,M,F,I)=>{let D,R;const{props:j,shapeFlag:J,transition:Y,dirs:te}=h;if(D=h.el=l(h.type,M,j&&j.is,j),J&8?f(D,h.children):J&16&&N(h.children,D,null,L,A,ho(h,M),F,I),te&>(h,null,L,"created"),q(D,h,h.scopeId,F,L),j){for(const fe in j)fe!=="value"&&!yn(fe)&&s(D,fe,null,j[fe],M,h.children,L,A,Ae);"value"in j&&s(D,"value",null,j.value,M),(R=j.onVnodeBeforeMount)&&et(R,L,h)}te&>(h,null,L,"beforeMount");const re=ci(A,Y);re&&Y.beforeEnter(D),r(D,g,_),((R=j&&j.onVnodeMounted)||re||te)&&Ve(()=>{R&&et(R,L,h),re&&Y.enter(D),te&>(h,null,L,"mounted")},A)},q=(h,g,_,L,A)=>{if(_&&v(h,_),L)for(let M=0;M{for(let R=D;R{const I=g.el=h.el;let{patchFlag:D,dynamicChildren:R,dirs:j}=g;D|=h.patchFlag&16;const J=h.props||be,Y=g.props||be;let te;if(_&&Xt(_,!1),(te=Y.onVnodeBeforeUpdate)&&et(te,_,g,h),j&>(g,h,_,"beforeUpdate"),_&&Xt(_,!0),R?O(h.dynamicChildren,R,I,_,L,ho(g,A),M):F||U(h,g,I,null,_,L,ho(g,A),M,!1),D>0){if(D&16)V(I,g,J,Y,_,L,A);else if(D&2&&J.class!==Y.class&&s(I,"class",null,Y.class,A),D&4&&s(I,"style",J.style,Y.style,A),D&8){const re=g.dynamicProps;for(let fe=0;fe{te&&et(te,_,g,h),j&>(g,h,_,"updated")},L)},O=(h,g,_,L,A,M,F)=>{for(let I=0;I{if(_!==L){if(_!==be)for(const I in _)!yn(I)&&!(I in L)&&s(h,I,_[I],null,F,g.children,A,M,Ae);for(const I in L){if(yn(I))continue;const D=L[I],R=_[I];D!==R&&I!=="value"&&s(h,I,R,D,F,g.children,A,M,Ae)}"value"in L&&s(h,"value",_.value,L.value,F)}},P=(h,g,_,L,A,M,F,I,D)=>{const R=g.el=h?h.el:a(""),j=g.anchor=h?h.anchor:a("");let{patchFlag:J,dynamicChildren:Y,slotScopeIds:te}=g;te&&(I=I?I.concat(te):te),h==null?(r(R,_,L),r(j,_,L),N(g.children||[],_,j,A,M,F,I,D)):J>0&&J&64&&Y&&h.dynamicChildren?(O(h.dynamicChildren,Y,_,A,M,F,I),(g.key!=null||A&&g===A.subTree)&&ui(h,g,!0)):U(h,g,_,j,A,M,F,I,D)},X=(h,g,_,L,A,M,F,I,D)=>{g.slotScopeIds=I,h==null?g.shapeFlag&512?A.ctx.activate(g,_,L,F,D):ye(g,_,L,A,M,F,D):ge(h,g,D)},ye=(h,g,_,L,A,M,F)=>{const I=h.component=td(h,L,A);if(pr(h)&&(I.ctx.renderer=W),nd(I),I.asyncDep){if(A&&A.registerDep(I,z),!h.el){const D=I.subTree=Re(wt);b(null,D,g,_)}}else z(I,h,g,_,A,M,F)},ge=(h,g,_)=>{const L=g.component=h.component;if(cf(h,g,_))if(L.asyncDep&&!L.asyncResolved){Z(L,g,_);return}else L.next=g,tf(L.update),L.effect.dirty=!0,L.update();else g.el=h.el,L.vnode=g},z=(h,g,_,L,A,M,F)=>{const I=()=>{if(h.isMounted){let{next:j,bu:J,u:Y,parent:te,vnode:re}=h;{const dn=fi(h);if(dn){j&&(j.el=re.el,Z(h,j,F)),dn.asyncDep.then(()=>{h.isUnmounted||I()});return}}let fe=j,me;Xt(h,!1),j?(j.el=re.el,Z(h,j,F)):j=re,J&&io(J),(me=j.props&&j.props.onVnodeBeforeUpdate)&&et(me,te,j,re),Xt(h,!0);const Pe=co(h),at=h.subTree;h.subTree=Pe,E(at,Pe,d(at.el),T(at),h,A,M),j.el=Pe.el,fe===null&&uf(h,Pe.el),Y&&Ve(Y,A),(me=j.props&&j.props.onVnodeUpdated)&&Ve(()=>et(me,te,j,re),A)}else{let j;const{el:J,props:Y}=g,{bm:te,m:re,parent:fe}=h,me=Bn(g);if(Xt(h,!1),te&&io(te),!me&&(j=Y&&Y.onVnodeBeforeMount)&&et(j,fe,g),Xt(h,!0),J&&de){const Pe=()=>{h.subTree=co(h),de(J,h.subTree,h,A,null)};me?g.type.__asyncLoader().then(()=>!h.isUnmounted&&Pe()):Pe()}else{const Pe=h.subTree=co(h);E(null,Pe,_,L,h,A,M),g.el=Pe.el}if(re&&Ve(re,A),!me&&(j=Y&&Y.onVnodeMounted)){const Pe=g;Ve(()=>et(j,fe,Pe),A)}(g.shapeFlag&256||fe&&Bn(fe.vnode)&&fe.vnode.shapeFlag&256)&&h.a&&Ve(h.a,A),h.isMounted=!0,g=_=L=null}},D=h.effect=new fs(I,nt,()=>Yr(R),h.scope),R=h.update=()=>{D.dirty&&D.run()};R.id=h.uid,Xt(h,!0),R()},Z=(h,g,_)=>{g.component=h;const L=h.vnode.props;h.vnode=g,h.next=null,Df(h,g.props,L,_),Bf(h,g.children,_),Kt(),ol(h),Gt()},U=(h,g,_,L,A,M,F,I,D=!1)=>{const R=h&&h.children,j=h?h.shapeFlag:0,J=g.children,{patchFlag:Y,shapeFlag:te}=g;if(Y>0){if(Y&128){pt(R,J,_,L,A,M,F,I,D);return}else if(Y&256){Te(R,J,_,L,A,M,F,I,D);return}}te&8?(j&16&&Ae(R,A,M),J!==R&&f(_,J)):j&16?te&16?pt(R,J,_,L,A,M,F,I,D):Ae(R,A,M,!0):(j&8&&f(_,""),te&16&&N(J,_,L,A,M,F,I,D))},Te=(h,g,_,L,A,M,F,I,D)=>{h=h||bn,g=g||bn;const R=h.length,j=g.length,J=Math.min(R,j);let Y;for(Y=0;Yj?Ae(h,A,M,!0,!1,J):N(g,_,L,A,M,F,I,D,J)},pt=(h,g,_,L,A,M,F,I,D)=>{let R=0;const j=g.length;let J=h.length-1,Y=j-1;for(;R<=J&&R<=Y;){const te=h[R],re=g[R]=D?Ht(g[R]):ct(g[R]);if(nn(te,re))E(te,re,_,null,A,M,F,I,D);else break;R++}for(;R<=J&&R<=Y;){const te=h[J],re=g[Y]=D?Ht(g[Y]):ct(g[Y]);if(nn(te,re))E(te,re,_,null,A,M,F,I,D);else break;J--,Y--}if(R>J){if(R<=Y){const te=Y+1,re=teY)for(;R<=J;)Oe(h[R],A,M,!0),R++;else{const te=R,re=R,fe=new Map;for(R=re;R<=Y;R++){const Ge=g[R]=D?Ht(g[R]):ct(g[R]);Ge.key!=null&&fe.set(Ge.key,R)}let me,Pe=0;const at=Y-re+1;let dn=!1,Ks=0;const On=new Array(at);for(R=0;R=at){Oe(Ge,A,M,!0);continue}let vt;if(Ge.key!=null)vt=fe.get(Ge.key);else for(me=re;me<=Y;me++)if(On[me-re]===0&&nn(Ge,g[me])){vt=me;break}vt===void 0?Oe(Ge,A,M,!0):(On[vt-re]=R+1,vt>=Ks?Ks=vt:dn=!0,E(Ge,g[vt],_,null,A,M,F,I,D),Pe++)}const Gs=dn?Wf(On):bn;for(me=Gs.length-1,R=at-1;R>=0;R--){const Ge=re+R,vt=g[Ge],Ys=Ge+1{const{el:M,type:F,transition:I,children:D,shapeFlag:R}=h;if(R&6){Xe(h.component.subTree,g,_,L);return}if(R&128){h.suspense.move(g,_,L);return}if(R&64){F.move(h,g,_,W);return}if(F===Je){r(M,g,_);for(let J=0;JI.enter(M),A);else{const{leave:J,delayLeave:Y,afterLeave:te}=I,re=()=>r(M,g,_),fe=()=>{J(M,()=>{re(),te&&te()})};Y?Y(M,re,fe):fe()}else r(M,g,_)},Oe=(h,g,_,L=!1,A=!1)=>{const{type:M,props:F,ref:I,children:D,dynamicChildren:R,shapeFlag:j,patchFlag:J,dirs:Y}=h;if(I!=null&&jr(I,null,_,h,!0),j&256){g.ctx.deactivate(h);return}const te=j&1&&Y,re=!Bn(h);let fe;if(re&&(fe=F&&F.onVnodeBeforeUnmount)&&et(fe,g,h),j&6)ht(h.component,_,L);else{if(j&128){h.suspense.unmount(_,L);return}te&>(h,null,g,"beforeUnmount"),j&64?h.type.remove(h,g,_,A,W,L):R&&(M!==Je||J>0&&J&64)?Ae(R,g,_,!1,!0):(M===Je&&J&384||!A&&j&16)&&Ae(D,g,_),L&&Ke(h)}(re&&(fe=F&&F.onVnodeUnmounted)||te)&&Ve(()=>{fe&&et(fe,g,h),te&>(h,null,g,"unmounted")},_)},Ke=h=>{const{type:g,el:_,anchor:L,transition:A}=h;if(g===Je){Et(_,L);return}if(g===zn){x(h);return}const M=()=>{o(_),A&&!A.persisted&&A.afterLeave&&A.afterLeave()};if(h.shapeFlag&1&&A&&!A.persisted){const{leave:F,delayLeave:I}=A,D=()=>F(_,M);I?I(h.el,M,D):D()}else M()},Et=(h,g)=>{let _;for(;h!==g;)_=p(h),o(h),h=_;o(g)},ht=(h,g,_)=>{const{bum:L,scope:A,update:M,subTree:F,um:I}=h;L&&io(L),A.stop(),M&&(M.active=!1,Oe(F,h,g,_)),I&&Ve(I,g),Ve(()=>{h.isUnmounted=!0},g),g&&g.pendingBranch&&!g.isUnmounted&&h.asyncDep&&!h.asyncResolved&&h.suspenseId===g.pendingId&&(g.deps--,g.deps===0&&g.resolve())},Ae=(h,g,_,L=!1,A=!1,M=0)=>{for(let F=M;Fh.shapeFlag&6?T(h.component.subTree):h.shapeFlag&128?h.suspense.next():p(h.anchor||h.el);let B=!1;const H=(h,g,_)=>{h==null?g._vnode&&Oe(g._vnode,null,null,!0):E(g._vnode||null,h,g,null,null,null,_),B||(B=!0,ol(),Hr(),B=!1),g._vnode=h},W={p:E,um:Oe,m:Xe,r:Ke,mt:ye,mc:N,pc:U,pbc:O,n:T,o:e};let se,de;return t&&([se,de]=t(W)),{render:H,hydrate:se,createApp:$f(H,se)}}function ho({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function Xt({effect:e,update:t},n){e.allowRecurse=t.allowRecurse=n}function ci(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function ui(e,t,n=!1){const r=e.children,o=t.children;if(ee(r)&&ee(o))for(let s=0;s>1,e[n[a]]0&&(t[r]=n[s-1]),n[s]=r)}}for(s=n.length,l=n[s-1];s-- >0;)n[s]=l,l=t[l];return n}function fi(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:fi(t)}const Kf=e=>e.__isTeleport,Je=Symbol.for("v-fgt"),_n=Symbol.for("v-txt"),wt=Symbol.for("v-cmt"),zn=Symbol.for("v-stc"),qn=[];let ut=null;function Ag(e=!1){qn.push(ut=e?null:[])}function Gf(){qn.pop(),ut=qn[qn.length-1]||null}let er=1;function gl(e){er+=e}function Yf(e){return e.dynamicChildren=er>0?ut||bn:null,Gf(),er>0&&ut&&ut.push(e),e}function Lg(e,t,n,r,o,s){return Yf(pi(e,t,n,r,o,s,!0))}function jo(e){return e?e.__v_isVNode===!0:!1}function nn(e,t){return e.type===t.type&&e.key===t.key}const di=({key:e})=>e??null,Mr=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?Me(e)||$e(e)||ne(e)?{i:rt,r:e,k:t,f:!!n}:e:null);function pi(e,t=null,n=null,r=0,o=null,s=e===Je?0:1,l=!1,a=!1){const i={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&di(t),ref:t&&Mr(t),scopeId:ja,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:s,patchFlag:r,dynamicProps:o,dynamicChildren:null,appContext:null,ctx:rt};return a?(xs(i,n),s&128&&e.normalize(i)):n&&(i.shapeFlag|=Me(n)?8:16),er>0&&!l&&ut&&(i.patchFlag>0||s&6)&&i.patchFlag!==32&&ut.push(i),i}const Re=Jf;function Jf(e,t=null,n=null,r=0,o=null,s=!1){if((!e||e===ff)&&(e=wt),jo(e)){const a=qt(e,t,!0);return n&&xs(a,n),er>0&&!s&&ut&&(a.shapeFlag&6?ut[ut.indexOf(e)]=a:ut.push(a)),a.patchFlag|=-2,a}if(ad(e)&&(e=e.__vccOpts),t){t=Qf(t);let{class:a,style:i}=t;a&&!Me(a)&&(t.class=us(a)),we(i)&&(Ia(i)&&!ee(i)&&(i=xe({},i)),t.style=cs(i))}const l=Me(e)?1:pf(e)?128:Kf(e)?64:we(e)?4:ne(e)?2:0;return pi(e,t,n,r,o,l,s,!0)}function Qf(e){return e?Ia(e)||ri(e)?xe({},e):e:null}function qt(e,t,n=!1){const{props:r,ref:o,patchFlag:s,children:l}=e,a=t?Xf(r||{},t):r;return{__v_isVNode:!0,__v_skip:!0,type:e.type,props:a,key:a&&di(a),ref:t&&t.ref?n&&o?ee(o)?o.concat(Mr(t)):[o,Mr(t)]:Mr(t):o,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:l,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Je?s===-1?16:s|16:s,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:e.transition,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&qt(e.ssContent),ssFallback:e.ssFallback&&qt(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce}}function hi(e=" ",t=0){return Re(_n,null,e,t)}function Rg(e,t){const n=Re(zn,null,e);return n.staticCount=t,n}function ct(e){return e==null||typeof e=="boolean"?Re(wt):ee(e)?Re(Je,null,e.slice()):typeof e=="object"?Ht(e):Re(_n,null,String(e))}function Ht(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:qt(e)}function xs(e,t){let n=0;const{shapeFlag:r}=e;if(t==null)t=null;else if(ee(t))n=16;else if(typeof t=="object")if(r&65){const o=t.default;o&&(o._c&&(o._d=!1),xs(e,o()),o._c&&(o._d=!0));return}else{n=32;const o=t._;!o&&!ri(t)?t._ctx=rt:o===3&&rt&&(rt.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else ne(t)?(t={default:t,_ctx:rt},n=32):(t=String(t),r&64?(n=16,t=[hi(t)]):n=8);e.children=t,e.shapeFlag|=n}function Xf(...e){const t={};for(let n=0;nIe||rt;let Vr,Vo;{const e=ba(),t=(n,r)=>{let o;return(o=e[n])||(o=e[n]=[]),o.push(r),s=>{o.length>1?o.forEach(l=>l(s)):o[0](s)}};Vr=t("__VUE_INSTANCE_SETTERS__",n=>Ie=n),Vo=t("__VUE_SSR_SETTERS__",n=>vr=n)}const hr=e=>{const t=Ie;return Vr(e),e.scope.on(),()=>{e.scope.off(),Vr(t)}},ml=()=>{Ie&&Ie.scope.off(),Vr(null)};function vi(e){return e.vnode.shapeFlag&4}let vr=!1;function nd(e,t=!1){t&&Vo(t);const{props:n,children:r}=e.vnode,o=vi(e);Nf(e,n,o,t),Ff(e,r);const s=o?rd(e,t):void 0;return t&&Vo(!1),s}function rd(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Af);const{setup:r}=n;if(r){const o=e.setupContext=r.length>1?sd(e):null,s=hr(e);Kt();const l=Vt(r,e,0,[e.props,o]);if(Gt(),s(),ga(l)){if(l.then(ml,ml),t)return l.then(a=>{bl(e,a,t)}).catch(a=>{dr(a,e,0)});e.asyncDep=l}else bl(e,l,t)}else gi(e,t)}function bl(e,t,n){ne(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:we(t)&&(e.setupState=Na(t)),gi(e,n)}let yl;function gi(e,t,n){const r=e.type;if(!e.render){if(!t&&yl&&!r.render){const o=r.template||Cs(e).template;if(o){const{isCustomElement:s,compilerOptions:l}=e.appContext.config,{delimiters:a,compilerOptions:i}=r,c=xe(xe({isCustomElement:s,delimiters:a},l),i);r.render=yl(o,c)}}e.render=r.render||nt}{const o=hr(e);Kt();try{Lf(e)}finally{Gt(),o()}}}const od={get(e,t){return We(e,"get",""),e[t]}};function sd(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,od),slots:e.slots,emit:e.emit,expose:t}}function Ss(e){if(e.exposed)return e.exposeProxy||(e.exposeProxy=new Proxy(Na(Uu(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in jn)return jn[n](e)},has(t,n){return n in t||n in jn}}))}function ld(e,t=!0){return ne(e)?e.displayName||e.name:e.name||t&&e.__name}function ad(e){return ne(e)&&"__vccOpts"in e}const S=(e,t)=>Wu(e,t,vr);function u(e,t,n){const r=arguments.length;return r===2?we(t)&&!ee(t)?jo(t)?Re(e,null,[t]):Re(e,t):Re(e,null,t):(r>3?n=Array.prototype.slice.call(arguments,2):r===3&&jo(n)&&(n=[n]),Re(e,t,n))}const id="3.4.25";/** +* @vue/runtime-dom v3.4.25 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/const cd="http://www.w3.org/2000/svg",ud="http://www.w3.org/1998/Math/MathML",Ft=typeof document<"u"?document:null,_l=Ft&&Ft.createElement("template"),fd={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,r)=>{const o=t==="svg"?Ft.createElementNS(cd,e):t==="mathml"?Ft.createElementNS(ud,e):Ft.createElement(e,n?{is:n}:void 0);return e==="select"&&r&&r.multiple!=null&&o.setAttribute("multiple",r.multiple),o},createText:e=>Ft.createTextNode(e),createComment:e=>Ft.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Ft.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,r,o,s){const l=n?n.previousSibling:t.lastChild;if(o&&(o===s||o.nextSibling))for(;t.insertBefore(o.cloneNode(!0),n),!(o===s||!(o=o.nextSibling)););else{_l.innerHTML=r==="svg"?`${e}`:r==="mathml"?`${e}`:e;const a=_l.content;if(r==="svg"||r==="mathml"){const i=a.firstChild;for(;i.firstChild;)a.appendChild(i.firstChild);a.removeChild(i)}t.insertBefore(a,n)}return[l?l.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},It="transition",Pn="animation",En=Symbol("_vtc"),Ut=(e,{slots:t})=>u(bf,bi(e),t);Ut.displayName="Transition";const mi={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},dd=Ut.props=Ae({},Ga,mi),Zt=(e,t=[])=>{ee(e)?e.forEach(n=>n(...t)):e&&e(...t)},El=e=>e?ee(e)?e.some(t=>t.length>1):e.length>1:!1;function bi(e){const t={};for(const P in e)P in mi||(t[P]=e[P]);if(e.css===!1)return t;const{name:n="v",type:r,duration:o,enterFromClass:s=`${n}-enter-from`,enterActiveClass:l=`${n}-enter-active`,enterToClass:a=`${n}-enter-to`,appearFromClass:i=s,appearActiveClass:c=l,appearToClass:f=a,leaveFromClass:d=`${n}-leave-from`,leaveActiveClass:p=`${n}-leave-active`,leaveToClass:v=`${n}-leave-to`}=e,m=pd(o),E=m&&m[0],w=m&&m[1],{onBeforeEnter:b,onEnter:C,onEnterCancelled:y,onLeave:x,onLeaveCancelled:$,onBeforeAppear:k=b,onAppear:q=C,onAppearCancelled:N=y}=t,K=(P,X,ye)=>{$t(P,X?f:a),$t(P,X?c:l),ye&&ye()},R=(P,X)=>{P._isLeaving=!1,$t(P,d),$t(P,v),$t(P,p),X&&X()},V=P=>(X,ye)=>{const ge=P?q:C,z=()=>K(X,P,ye);Zt(ge,[X,z]),Cl(()=>{$t(X,P?i:s),kt(X,P?f:a),El(ge)||kl(X,r,E,z)})};return Ae(t,{onBeforeEnter(P){Zt(b,[P]),kt(P,s),kt(P,l)},onBeforeAppear(P){Zt(k,[P]),kt(P,i),kt(P,c)},onEnter:V(!1),onAppear:V(!0),onLeave(P,X){P._isLeaving=!0;const ye=()=>R(P,X);kt(P,d),wi(),kt(P,p),Cl(()=>{P._isLeaving&&($t(P,d),kt(P,v),El(x)||kl(P,r,w,ye))}),Zt(x,[P,ye])},onEnterCancelled(P){K(P,!1),Zt(y,[P])},onAppearCancelled(P){K(P,!0),Zt(N,[P])},onLeaveCancelled(P){R(P),Zt($,[P])}})}function pd(e){if(e==null)return null;if(we(e))return[vo(e.enter),vo(e.leave)];{const t=vo(e);return[t,t]}}function vo(e){return vu(e)}function kt(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[En]||(e[En]=new Set)).add(t)}function $t(e,t){t.split(/\s+/).forEach(r=>r&&e.classList.remove(r));const n=e[En];n&&(n.delete(t),n.size||(e[En]=void 0))}function Cl(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let hd=0;function kl(e,t,n,r){const o=e._endId=++hd,s=()=>{o===e._endId&&r()};if(n)return setTimeout(s,n);const{type:l,timeout:a,propCount:i}=yi(e,t);if(!l)return r();const c=l+"end";let f=0;const d=()=>{e.removeEventListener(c,p),s()},p=v=>{v.target===e&&++f>=i&&d()};setTimeout(()=>{f(n[m]||"").split(", "),o=r(`${It}Delay`),s=r(`${It}Duration`),l=xl(o,s),a=r(`${Pn}Delay`),i=r(`${Pn}Duration`),c=xl(a,i);let f=null,d=0,p=0;t===It?l>0&&(f=It,d=l,p=s.length):t===Pn?c>0&&(f=Pn,d=c,p=i.length):(d=Math.max(l,c),f=d>0?l>c?It:Pn:null,p=f?f===It?s.length:i.length:0);const v=f===It&&/\b(transform|all)(,|$)/.test(r(`${It}Property`).toString());return{type:f,timeout:d,propCount:p,hasTransform:v}}function xl(e,t){for(;e.lengthSl(n)+Sl(e[r])))}function Sl(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function wi(){return document.body.offsetHeight}function vd(e,t,n){const r=e[En];r&&(t=(t?[t,...r]:[...r]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const Tl=Symbol("_vod"),gd=Symbol("_vsh"),md=Symbol(""),bd=/(^|;)\s*display\s*:/;function yd(e,t,n){const r=e.style,o=Me(n);let s=!1;if(n&&!o){if(t)if(Me(t))for(const l of t.split(";")){const a=l.slice(0,l.indexOf(":")).trim();n[a]==null&&$r(r,a,"")}else for(const l in t)n[l]==null&&$r(r,l,"");for(const l in n)l==="display"&&(s=!0),$r(r,l,n[l])}else if(o){if(t!==n){const l=r[md];l&&(n+=";"+l),r.cssText=n,s=bd.test(n)}}else t&&e.removeAttribute("style");Tl in e&&(e[Tl]=s?r.display:"",e[gd]&&(r.display="none"))}const Al=/\s*!important$/;function $r(e,t,n){if(ee(n))n.forEach(r=>$r(e,t,r));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const r=wd(e,t);Al.test(n)?e.setProperty(xn(r),n.replace(Al,""),"important"):e[r]=n}}const Ll=["Webkit","Moz","ms"],go={};function wd(e,t){const n=go[t];if(n)return n;let r=st(t);if(r!=="filter"&&r in e)return go[t]=r;r=cr(r);for(let o=0;omo||(Td.then(()=>mo=0),mo=Date.now());function Ld(e,t){const n=r=>{if(!r._vts)r._vts=Date.now();else if(r._vts<=n.attached)return;ot(Od(r,n.value),t,5,[r])};return n.value=e,n.attached=Ad(),n}function Od(e,t){if(ee(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(r=>o=>!o._stopped&&r&&r(o))}else return t}const Il=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Rd=(e,t,n,r,o,s,l,a,i)=>{const c=o==="svg";t==="class"?vd(e,r,c):t==="style"?yd(e,n,r):ar(t)?as(t)||xd(e,t,n,r,l):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Pd(e,t,r,c))?Ed(e,t,r,s,l,a,i):(t==="true-value"?e._trueValue=r:t==="false-value"&&(e._falseValue=r),_d(e,t,r,c))};function Pd(e,t,n,r){if(r)return!!(t==="innerHTML"||t==="textContent"||t in e&&Il(t)&&ne(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const o=e.tagName;if(o==="IMG"||o==="VIDEO"||o==="CANVAS"||o==="SOURCE")return!1}return Il(t)&&Me(n)?!1:t in e}const _i=new WeakMap,Ei=new WeakMap,zr=Symbol("_moveCb"),Ml=Symbol("_enterCb"),Ci={name:"TransitionGroup",props:Ae({},dd,{tag:String,moveClass:String}),setup(e,{slots:t}){const n=Tn(),r=Ka();let o,s;return Xa(()=>{if(!o.length)return;const l=e.moveClass||`${e.name||"v"}-move`;if(!Hd(o[0].el,n.vnode.el,l))return;o.forEach($d),o.forEach(Nd);const a=o.filter(Dd);wi(),a.forEach(i=>{const c=i.el,f=c.style;kt(c,l),f.transform=f.webkitTransform=f.transitionDuration="";const d=c[zr]=p=>{p&&p.target!==c||(!p||/transform$/.test(p.propertyName))&&(c.removeEventListener("transitionend",d),c[zr]=null,$t(c,l))};c.addEventListener("transitionend",d)})}),()=>{const l=se(e),a=bi(l);let i=l.tag||Je;if(o=[],s)for(let c=0;cdelete e.mode;Ci.props;const Md=Ci;function $d(e){const t=e.el;t[zr]&&t[zr](),t[Ml]&&t[Ml]()}function Nd(e){Ei.set(e,e.el.getBoundingClientRect())}function Dd(e){const t=_i.get(e),n=Ei.get(e),r=t.left-n.left,o=t.top-n.top;if(r||o){const s=e.el.style;return s.transform=s.webkitTransform=`translate(${r}px,${o}px)`,s.transitionDuration="0s",e}}function Hd(e,t,n){const r=e.cloneNode(),o=e[En];o&&o.forEach(a=>{a.split(/\s+/).forEach(i=>i&&r.classList.remove(i))}),n.split(/\s+/).forEach(a=>a&&r.classList.add(a)),r.style.display="none";const s=t.nodeType===1?t:t.parentNode;s.appendChild(r);const{hasTransform:l}=yi(r);return s.removeChild(r),l}const Fd=Ae({patchProp:Rd},fd);let bo,$l=!1;function Bd(){return bo=$l?bo:qf(Fd),$l=!0,bo}const jd=(...e)=>{const t=Bd().createApp(...e),{mount:n}=t;return t.mount=r=>{const o=zd(r);if(o)return n(o,!0,Vd(o))},t};function Vd(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function zd(e){return Me(e)?document.querySelector(e):e}var qd=["link","meta","script","style","noscript","template"],Ud=["title","base"],Wd=([e,t,n])=>Ud.includes(e)?e:qd.includes(e)?e==="meta"&&t.name?`${e}.${t.name}`:e==="template"&&t.id?`${e}.${t.id}`:JSON.stringify([e,Object.entries(t).map(([r,o])=>typeof o=="boolean"?o?[r,""]:null:[r,o]).filter(r=>r!=null).sort(([r],[o])=>r.localeCompare(o)),n]):null,Kd=e=>{const t=new Set,n=[];return e.forEach(r=>{const o=Wd(r);o&&!t.has(o)&&(t.add(o),n.push(r))}),n},Gd=e=>e[0]==="/"?e:`/${e}`,ki=e=>e[e.length-1]==="/"||e.endsWith(".html")?e:`${e}/`,cn=e=>/^(https?:)?\/\//.test(e),Yd=/.md((\?|#).*)?$/,As=(e,t="/")=>!!(cn(e)||e.startsWith("/")&&!e.startsWith(t)&&!Yd.test(e)),Xr=e=>/^[a-z][a-z0-9+.-]*:/.test(e),Zr=e=>Object.prototype.toString.call(e)==="[object Object]",Jd=e=>{const[t,...n]=e.split(/(\?|#)/);if(!t||t.endsWith("/"))return e;let r=t.replace(/(^|\/)README.md$/i,"$1index.html");return r.endsWith(".md")?r=r.substring(0,r.length-3)+".html":r.endsWith(".html")||(r=r+".html"),r.endsWith("/index.html")&&(r=r.substring(0,r.length-10)),r+n.join("")},Ls=e=>e[e.length-1]==="/"?e.slice(0,-1):e,xi=e=>e[0]==="/"?e.slice(1):e,Qd=(e,t)=>{const n=Object.keys(e).sort((r,o)=>{const s=o.split("/").length-r.split("/").length;return s!==0?s:o.length-r.length});for(const r of n)if(t.startsWith(r))return r;return"/"},Xd=e=>typeof e=="function",Ee=e=>typeof e=="string";const Zd="modulepreload",ep=function(e){return"/"+e},Nl={},ce=function(t,n,r){let o=Promise.resolve();if(n&&n.length>0){const s=document.getElementsByTagName("link"),l=document.querySelector("meta[property=csp-nonce]"),a=(l==null?void 0:l.nonce)||(l==null?void 0:l.getAttribute("nonce"));o=Promise.all(n.map(i=>{if(i=ep(i),i in Nl)return;Nl[i]=!0;const c=i.endsWith(".css"),f=c?'[rel="stylesheet"]':"";if(!!r)for(let v=s.length-1;v>=0;v--){const m=s[v];if(m.href===i&&(!c||m.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${i}"]${f}`))return;const p=document.createElement("link");if(p.rel=c?"stylesheet":Zd,c||(p.as="script",p.crossOrigin=""),p.href=i,a&&p.setAttribute("nonce",a),document.head.appendChild(p),c)return new Promise((v,m)=>{p.addEventListener("load",v),p.addEventListener("error",()=>m(new Error(`Unable to preload CSS for ${i}`)))})}))}return o.then(()=>t()).catch(s=>{const l=new Event("vite:preloadError",{cancelable:!0});if(l.payload=s,window.dispatchEvent(l),!l.defaultPrevented)throw s})},tp=JSON.parse("{}"),np=Object.fromEntries([["/",{loader:()=>ce(()=>import("./index.html-BAdt9pMO.js"),__vite__mapDeps([0,1])),meta:{t:"Task manager for asyncio"}}],["/contrib.html",{loader:()=>ce(()=>import("./contrib.html-D-PGZC82.js"),__vite__mapDeps([2,1])),meta:{t:"Contribution guide",O:5}}],["/available-components/",{loader:()=>ce(()=>import("./index.html-6wIM4NbS.js"),__vite__mapDeps([3,1])),meta:{t:"Available components",O:4}}],["/available-components/brokers.html",{loader:()=>ce(()=>import("./brokers.html-DZC2i-gd.js"),__vite__mapDeps([4,1])),meta:{t:"Available brokers",O:2}}],["/available-components/middlewares.html",{loader:()=>ce(()=>import("./middlewares.html-CcZh3fiR.js"),__vite__mapDeps([5,1])),meta:{t:"Available middlewares",O:5}}],["/available-components/result-backends.html",{loader:()=>ce(()=>import("./result-backends.html-T6NaD9vv.js"),__vite__mapDeps([6,1])),meta:{t:"Available result backends",O:3}}],["/available-components/schedule-sources.html",{loader:()=>ce(()=>import("./schedule-sources.html-Bu-GGcR7.js"),__vite__mapDeps([7,1])),meta:{t:"Available schedule sources",O:4}}],["/extending-taskiq/",{loader:()=>ce(()=>import("./index.html-DVTPXSZ3.js"),__vite__mapDeps([8,1])),meta:{t:"Extending taskiq",O:3}}],["/extending-taskiq/broker.html",{loader:()=>ce(()=>import("./broker.html-BZc4y0dT.js"),__vite__mapDeps([9,1])),meta:{t:"Brokers",O:1}}],["/extending-taskiq/cli.html",{loader:()=>ce(()=>import("./cli.html-C3UhGz-e.js"),__vite__mapDeps([10,1])),meta:{t:"CLI",O:4}}],["/extending-taskiq/middleware.html",{loader:()=>ce(()=>import("./middleware.html-Bhbwml-y.js"),__vite__mapDeps([11,1])),meta:{t:"Middlewares",O:2}}],["/extending-taskiq/result-backend.html",{loader:()=>ce(()=>import("./result-backend.html-ipc74sbw.js"),__vite__mapDeps([12,1])),meta:{t:"Result backend",O:3}}],["/extending-taskiq/schedule-sources.html",{loader:()=>ce(()=>import("./schedule-sources.html-uG2w0B1h.js"),__vite__mapDeps([13,1])),meta:{t:"Schedule source",O:5}}],["/framework_integrations/",{loader:()=>ce(()=>import("./index.html-hKugmLE0.js"),__vite__mapDeps([14,1])),meta:{t:"Framework integrations",O:2}}],["/framework_integrations/faststream.html",{loader:()=>ce(()=>import("./faststream.html-L19p-fwg.js"),__vite__mapDeps([15,1])),meta:{t:"Taskiq + FastStream",O:3}}],["/framework_integrations/taskiq-with-aiogram.html",{loader:()=>ce(()=>import("./taskiq-with-aiogram.html-OK5Skn8j.js"),__vite__mapDeps([16,1])),meta:{t:"Taskiq + Aiogram"}}],["/framework_integrations/taskiq-with-aiohttp.html",{loader:()=>ce(()=>import("./taskiq-with-aiohttp.html-D98UARBe.js"),__vite__mapDeps([17,1])),meta:{t:"Taskiq + AioHTTP",O:2}}],["/framework_integrations/taskiq-with-fastapi.html",{loader:()=>ce(()=>import("./taskiq-with-fastapi.html-D1WvGENP.js"),__vite__mapDeps([18,1])),meta:{t:"Taskiq + FastAPI",O:1}}],["/guide/",{loader:()=>ce(()=>import("./index.html-DpgZdJ46.js"),__vite__mapDeps([19,1])),meta:{t:"Introduction",O:1}}],["/guide/architecture-overview.html",{loader:()=>ce(()=>import("./architecture-overview.html-BwH4DsL2.js"),__vite__mapDeps([20,1])),meta:{t:"Architecture overview",O:3}}],["/guide/cli.html",{loader:()=>ce(()=>import("./cli.html-B0EXkqq8.js"),__vite__mapDeps([21,1])),meta:{t:"CLI",O:4}}],["/guide/dynamic-brokers.html",{loader:()=>ce(()=>import("./dynamic-brokers.html-CALi3Vzi.js"),__vite__mapDeps([22,1])),meta:{t:"Dynamic Environments",O:9}}],["/guide/getting-started.html",{loader:()=>ce(()=>import("./getting-started.html-BEbyiLnA.js"),__vite__mapDeps([23,1])),meta:{t:"Getting started",O:2}}],["/guide/message-format.html",{loader:()=>ce(()=>import("./message-format.html-C5G0FPtR.js"),__vite__mapDeps([24,1])),meta:{t:"Taskiq message format",O:11}}],["/guide/scheduling-tasks.html",{loader:()=>ce(()=>import("./scheduling-tasks.html-C_aRL6t1.js"),__vite__mapDeps([25,1])),meta:{t:"Scheduling tasks",O:8}}],["/guide/state-and-deps.html",{loader:()=>ce(()=>import("./state-and-deps.html-BOZGNHxc.js"),__vite__mapDeps([26,1])),meta:{t:"State and Dependencies",O:7}}],["/guide/testing-taskiq.html",{loader:()=>ce(()=>import("./testing-taskiq.html-Cj0e6GeQ.js"),__vite__mapDeps([27,1])),meta:{t:"Testing with taskiq",O:10}}],["/404.html",{loader:()=>ce(()=>import("./404.html-DP2Dv0Tf.js"),__vite__mapDeps([28,1])),meta:{t:""}}]]);/*! +**/const cd="http://www.w3.org/2000/svg",ud="http://www.w3.org/1998/Math/MathML",Ft=typeof document<"u"?document:null,wl=Ft&&Ft.createElement("template"),fd={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,r)=>{const o=t==="svg"?Ft.createElementNS(cd,e):t==="mathml"?Ft.createElementNS(ud,e):Ft.createElement(e,n?{is:n}:void 0);return e==="select"&&r&&r.multiple!=null&&o.setAttribute("multiple",r.multiple),o},createText:e=>Ft.createTextNode(e),createComment:e=>Ft.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Ft.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,r,o,s){const l=n?n.previousSibling:t.lastChild;if(o&&(o===s||o.nextSibling))for(;t.insertBefore(o.cloneNode(!0),n),!(o===s||!(o=o.nextSibling)););else{wl.innerHTML=r==="svg"?`${e}`:r==="mathml"?`${e}`:e;const a=wl.content;if(r==="svg"||r==="mathml"){const i=a.firstChild;for(;i.firstChild;)a.appendChild(i.firstChild);a.removeChild(i)}t.insertBefore(a,n)}return[l?l.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},It="transition",Pn="animation",En=Symbol("_vtc"),Ut=(e,{slots:t})=>u(bf,bi(e),t);Ut.displayName="Transition";const mi={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},dd=Ut.props=xe({},Ka,mi),Zt=(e,t=[])=>{ee(e)?e.forEach(n=>n(...t)):e&&e(...t)},_l=e=>e?ee(e)?e.some(t=>t.length>1):e.length>1:!1;function bi(e){const t={};for(const P in e)P in mi||(t[P]=e[P]);if(e.css===!1)return t;const{name:n="v",type:r,duration:o,enterFromClass:s=`${n}-enter-from`,enterActiveClass:l=`${n}-enter-active`,enterToClass:a=`${n}-enter-to`,appearFromClass:i=s,appearActiveClass:c=l,appearToClass:f=a,leaveFromClass:d=`${n}-leave-from`,leaveActiveClass:p=`${n}-leave-active`,leaveToClass:v=`${n}-leave-to`}=e,m=pd(o),E=m&&m[0],w=m&&m[1],{onBeforeEnter:b,onEnter:C,onEnterCancelled:y,onLeave:x,onLeaveCancelled:$,onBeforeAppear:k=b,onAppear:q=C,onAppearCancelled:N=y}=t,K=(P,X,ye)=>{$t(P,X?f:a),$t(P,X?c:l),ye&&ye()},O=(P,X)=>{P._isLeaving=!1,$t(P,d),$t(P,v),$t(P,p),X&&X()},V=P=>(X,ye)=>{const ge=P?q:C,z=()=>K(X,P,ye);Zt(ge,[X,z]),El(()=>{$t(X,P?i:s),kt(X,P?f:a),_l(ge)||Cl(X,r,E,z)})};return xe(t,{onBeforeEnter(P){Zt(b,[P]),kt(P,s),kt(P,l)},onBeforeAppear(P){Zt(k,[P]),kt(P,i),kt(P,c)},onEnter:V(!1),onAppear:V(!0),onLeave(P,X){P._isLeaving=!0;const ye=()=>O(P,X);kt(P,d),kt(P,p),wi(),El(()=>{P._isLeaving&&($t(P,d),kt(P,v),_l(x)||Cl(P,r,w,ye))}),Zt(x,[P,ye])},onEnterCancelled(P){K(P,!1),Zt(y,[P])},onAppearCancelled(P){K(P,!0),Zt(N,[P])},onLeaveCancelled(P){O(P),Zt($,[P])}})}function pd(e){if(e==null)return null;if(we(e))return[vo(e.enter),vo(e.leave)];{const t=vo(e);return[t,t]}}function vo(e){return vu(e)}function kt(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[En]||(e[En]=new Set)).add(t)}function $t(e,t){t.split(/\s+/).forEach(r=>r&&e.classList.remove(r));const n=e[En];n&&(n.delete(t),n.size||(e[En]=void 0))}function El(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let hd=0;function Cl(e,t,n,r){const o=e._endId=++hd,s=()=>{o===e._endId&&r()};if(n)return setTimeout(s,n);const{type:l,timeout:a,propCount:i}=yi(e,t);if(!l)return r();const c=l+"end";let f=0;const d=()=>{e.removeEventListener(c,p),s()},p=v=>{v.target===e&&++f>=i&&d()};setTimeout(()=>{f(n[m]||"").split(", "),o=r(`${It}Delay`),s=r(`${It}Duration`),l=kl(o,s),a=r(`${Pn}Delay`),i=r(`${Pn}Duration`),c=kl(a,i);let f=null,d=0,p=0;t===It?l>0&&(f=It,d=l,p=s.length):t===Pn?c>0&&(f=Pn,d=c,p=i.length):(d=Math.max(l,c),f=d>0?l>c?It:Pn:null,p=f?f===It?s.length:i.length:0);const v=f===It&&/\b(transform|all)(,|$)/.test(r(`${It}Property`).toString());return{type:f,timeout:d,propCount:p,hasTransform:v}}function kl(e,t){for(;e.lengthxl(n)+xl(e[r])))}function xl(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function wi(){return document.body.offsetHeight}function vd(e,t,n){const r=e[En];r&&(t=(t?[t,...r]:[...r]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const Sl=Symbol("_vod"),gd=Symbol("_vsh"),md=Symbol(""),bd=/(^|;)\s*display\s*:/;function yd(e,t,n){const r=e.style,o=Me(n);let s=!1;if(n&&!o){if(t)if(Me(t))for(const l of t.split(";")){const a=l.slice(0,l.indexOf(":")).trim();n[a]==null&&$r(r,a,"")}else for(const l in t)n[l]==null&&$r(r,l,"");for(const l in n)l==="display"&&(s=!0),$r(r,l,n[l])}else if(o){if(t!==n){const l=r[md];l&&(n+=";"+l),r.cssText=n,s=bd.test(n)}}else t&&e.removeAttribute("style");Sl in e&&(e[Sl]=s?r.display:"",e[gd]&&(r.display="none"))}const Tl=/\s*!important$/;function $r(e,t,n){if(ee(n))n.forEach(r=>$r(e,t,r));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const r=wd(e,t);Tl.test(n)?e.setProperty(xn(r),n.replace(Tl,""),"important"):e[r]=n}}const Al=["Webkit","Moz","ms"],go={};function wd(e,t){const n=go[t];if(n)return n;let r=st(t);if(r!=="filter"&&r in e)return go[t]=r;r=cr(r);for(let o=0;omo||(Td.then(()=>mo=0),mo=Date.now());function Ld(e,t){const n=r=>{if(!r._vts)r._vts=Date.now();else if(r._vts<=n.attached)return;ot(Rd(r,n.value),t,5,[r])};return n.value=e,n.attached=Ad(),n}function Rd(e,t){if(ee(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(r=>o=>!o._stopped&&r&&r(o))}else return t}const Pl=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Od=(e,t,n,r,o,s,l,a,i)=>{const c=o==="svg";t==="class"?vd(e,r,c):t==="style"?yd(e,n,r):ar(t)?ls(t)||xd(e,t,n,r,l):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Pd(e,t,r,c))?Ed(e,t,r,s,l,a,i):(t==="true-value"?e._trueValue=r:t==="false-value"&&(e._falseValue=r),_d(e,t,r,c))};function Pd(e,t,n,r){if(r)return!!(t==="innerHTML"||t==="textContent"||t in e&&Pl(t)&&ne(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const o=e.tagName;if(o==="IMG"||o==="VIDEO"||o==="CANVAS"||o==="SOURCE")return!1}return Pl(t)&&Me(n)?!1:t in e}const _i=new WeakMap,Ei=new WeakMap,zr=Symbol("_moveCb"),Il=Symbol("_enterCb"),Ci={name:"TransitionGroup",props:xe({},dd,{tag:String,moveClass:String}),setup(e,{slots:t}){const n=Tn(),r=Wa();let o,s;return Qa(()=>{if(!o.length)return;const l=e.moveClass||`${e.name||"v"}-move`;if(!Hd(o[0].el,n.vnode.el,l))return;o.forEach($d),o.forEach(Nd);const a=o.filter(Dd);wi(),a.forEach(i=>{const c=i.el,f=c.style;kt(c,l),f.transform=f.webkitTransform=f.transitionDuration="";const d=c[zr]=p=>{p&&p.target!==c||(!p||/transform$/.test(p.propertyName))&&(c.removeEventListener("transitionend",d),c[zr]=null,$t(c,l))};c.addEventListener("transitionend",d)})}),()=>{const l=ie(e),a=bi(l);let i=l.tag||Je;if(o=[],s)for(let c=0;cdelete e.mode;Ci.props;const Md=Ci;function $d(e){const t=e.el;t[zr]&&t[zr](),t[Il]&&t[Il]()}function Nd(e){Ei.set(e,e.el.getBoundingClientRect())}function Dd(e){const t=_i.get(e),n=Ei.get(e),r=t.left-n.left,o=t.top-n.top;if(r||o){const s=e.el.style;return s.transform=s.webkitTransform=`translate(${r}px,${o}px)`,s.transitionDuration="0s",e}}function Hd(e,t,n){const r=e.cloneNode(),o=e[En];o&&o.forEach(a=>{a.split(/\s+/).forEach(i=>i&&r.classList.remove(i))}),n.split(/\s+/).forEach(a=>a&&r.classList.add(a)),r.style.display="none";const s=t.nodeType===1?t:t.parentNode;s.appendChild(r);const{hasTransform:l}=yi(r);return s.removeChild(r),l}const Fd=xe({patchProp:Od},fd);let bo,Ml=!1;function Bd(){return bo=Ml?bo:qf(Fd),Ml=!0,bo}const jd=(...e)=>{const t=Bd().createApp(...e),{mount:n}=t;return t.mount=r=>{const o=zd(r);if(o)return n(o,!0,Vd(o))},t};function Vd(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function zd(e){return Me(e)?document.querySelector(e):e}var qd=["link","meta","script","style","noscript","template"],Ud=["title","base"],Wd=([e,t,n])=>Ud.includes(e)?e:qd.includes(e)?e==="meta"&&t.name?`${e}.${t.name}`:e==="template"&&t.id?`${e}.${t.id}`:JSON.stringify([e,Object.entries(t).map(([r,o])=>typeof o=="boolean"?o?[r,""]:null:[r,o]).filter(r=>r!=null).sort(([r],[o])=>r.localeCompare(o)),n]):null,Kd=e=>{const t=new Set,n=[];return e.forEach(r=>{const o=Wd(r);o&&!t.has(o)&&(t.add(o),n.push(r))}),n},Gd=e=>e[0]==="/"?e:`/${e}`,ki=e=>e[e.length-1]==="/"||e.endsWith(".html")?e:`${e}/`,cn=e=>/^(https?:)?\/\//.test(e),Yd=/.md((\?|#).*)?$/,Ts=(e,t="/")=>!!(cn(e)||e.startsWith("/")&&!e.startsWith(t)&&!Yd.test(e)),Xr=e=>/^[a-z][a-z0-9+.-]*:/.test(e),Zr=e=>Object.prototype.toString.call(e)==="[object Object]",Jd=e=>{const[t,...n]=e.split(/(\?|#)/);if(!t||t.endsWith("/"))return e;let r=t.replace(/(^|\/)README.md$/i,"$1index.html");return r.endsWith(".md")?r=r.substring(0,r.length-3)+".html":r.endsWith(".html")||(r=r+".html"),r.endsWith("/index.html")&&(r=r.substring(0,r.length-10)),r+n.join("")},As=e=>e[e.length-1]==="/"?e.slice(0,-1):e,xi=e=>e[0]==="/"?e.slice(1):e,Qd=(e,t)=>{const n=Object.keys(e).sort((r,o)=>{const s=o.split("/").length-r.split("/").length;return s!==0?s:o.length-r.length});for(const r of n)if(t.startsWith(r))return r;return"/"},Xd=e=>typeof e=="function",Ee=e=>typeof e=="string";const Zd="modulepreload",ep=function(e){return"/"+e},$l={},ce=function(t,n,r){let o=Promise.resolve();if(n&&n.length>0){const s=document.getElementsByTagName("link"),l=document.querySelector("meta[property=csp-nonce]"),a=(l==null?void 0:l.nonce)||(l==null?void 0:l.getAttribute("nonce"));o=Promise.all(n.map(i=>{if(i=ep(i),i in $l)return;$l[i]=!0;const c=i.endsWith(".css"),f=c?'[rel="stylesheet"]':"";if(!!r)for(let v=s.length-1;v>=0;v--){const m=s[v];if(m.href===i&&(!c||m.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${i}"]${f}`))return;const p=document.createElement("link");if(p.rel=c?"stylesheet":Zd,c||(p.as="script",p.crossOrigin=""),p.href=i,a&&p.setAttribute("nonce",a),document.head.appendChild(p),c)return new Promise((v,m)=>{p.addEventListener("load",v),p.addEventListener("error",()=>m(new Error(`Unable to preload CSS for ${i}`)))})}))}return o.then(()=>t()).catch(s=>{const l=new Event("vite:preloadError",{cancelable:!0});if(l.payload=s,window.dispatchEvent(l),!l.defaultPrevented)throw s})},tp=JSON.parse("{}"),np=Object.fromEntries([["/",{loader:()=>ce(()=>import("./index.html-MEwknYNr.js"),__vite__mapDeps([0,1])),meta:{t:"Task manager for asyncio"}}],["/contrib.html",{loader:()=>ce(()=>import("./contrib.html-W6Tn5Ard.js"),__vite__mapDeps([2,1])),meta:{t:"Contribution guide",O:5}}],["/available-components/",{loader:()=>ce(()=>import("./index.html-BPeqKIe1.js"),__vite__mapDeps([3,1])),meta:{t:"Available components",O:4}}],["/available-components/brokers.html",{loader:()=>ce(()=>import("./brokers.html-D6pSjM9w.js"),__vite__mapDeps([4,1])),meta:{t:"Available brokers",O:2}}],["/available-components/middlewares.html",{loader:()=>ce(()=>import("./middlewares.html-6RWN0FIV.js"),__vite__mapDeps([5,1])),meta:{t:"Available middlewares",O:5}}],["/available-components/result-backends.html",{loader:()=>ce(()=>import("./result-backends.html-BYKfba-F.js"),__vite__mapDeps([6,1])),meta:{t:"Available result backends",O:3}}],["/available-components/schedule-sources.html",{loader:()=>ce(()=>import("./schedule-sources.html-Deft308h.js"),__vite__mapDeps([7,1])),meta:{t:"Available schedule sources",O:4}}],["/extending-taskiq/",{loader:()=>ce(()=>import("./index.html-D_T4WVh8.js"),__vite__mapDeps([8,1])),meta:{t:"Extending taskiq",O:3}}],["/extending-taskiq/broker.html",{loader:()=>ce(()=>import("./broker.html-aMKOhesS.js"),__vite__mapDeps([9,1])),meta:{t:"Brokers",O:1}}],["/extending-taskiq/cli.html",{loader:()=>ce(()=>import("./cli.html-v2C39c-n.js"),__vite__mapDeps([10,1])),meta:{t:"CLI",O:4}}],["/extending-taskiq/middleware.html",{loader:()=>ce(()=>import("./middleware.html-otmDcQQS.js"),__vite__mapDeps([11,1])),meta:{t:"Middlewares",O:2}}],["/extending-taskiq/result-backend.html",{loader:()=>ce(()=>import("./result-backend.html-Bwx4m9cb.js"),__vite__mapDeps([12,1])),meta:{t:"Result backend",O:3}}],["/extending-taskiq/schedule-sources.html",{loader:()=>ce(()=>import("./schedule-sources.html-CEOCBfjr.js"),__vite__mapDeps([13,1])),meta:{t:"Schedule source",O:5}}],["/framework_integrations/",{loader:()=>ce(()=>import("./index.html-YlfwsOaT.js"),__vite__mapDeps([14,1])),meta:{t:"Framework integrations",O:2}}],["/framework_integrations/faststream.html",{loader:()=>ce(()=>import("./faststream.html-BjX7MnKf.js"),__vite__mapDeps([15,1])),meta:{t:"Taskiq + FastStream",O:3}}],["/framework_integrations/taskiq-with-aiogram.html",{loader:()=>ce(()=>import("./taskiq-with-aiogram.html-CiLPbNDv.js"),__vite__mapDeps([16,1])),meta:{t:"Taskiq + Aiogram"}}],["/framework_integrations/taskiq-with-aiohttp.html",{loader:()=>ce(()=>import("./taskiq-with-aiohttp.html-BiJhLlAm.js"),__vite__mapDeps([17,1])),meta:{t:"Taskiq + AioHTTP",O:2}}],["/framework_integrations/taskiq-with-fastapi.html",{loader:()=>ce(()=>import("./taskiq-with-fastapi.html-BhXpthaG.js"),__vite__mapDeps([18,1])),meta:{t:"Taskiq + FastAPI",O:1}}],["/guide/",{loader:()=>ce(()=>import("./index.html-DhU2V3Rf.js"),__vite__mapDeps([19,1])),meta:{t:"Introduction",O:1}}],["/guide/architecture-overview.html",{loader:()=>ce(()=>import("./architecture-overview.html-Cw9hxyxh.js"),__vite__mapDeps([20,1])),meta:{t:"Architecture overview",O:3}}],["/guide/cli.html",{loader:()=>ce(()=>import("./cli.html-BvTxffE7.js"),__vite__mapDeps([21,1])),meta:{t:"CLI",O:4}}],["/guide/dynamic-brokers.html",{loader:()=>ce(()=>import("./dynamic-brokers.html-BTtob-Yq.js"),__vite__mapDeps([22,1])),meta:{t:"Dynamic Environments",O:9}}],["/guide/getting-started.html",{loader:()=>ce(()=>import("./getting-started.html-CRhPVQIk.js"),__vite__mapDeps([23,1])),meta:{t:"Getting started",O:2}}],["/guide/message-format.html",{loader:()=>ce(()=>import("./message-format.html-AWYDHReT.js"),__vite__mapDeps([24,1])),meta:{t:"Taskiq message format",O:11}}],["/guide/scheduling-tasks.html",{loader:()=>ce(()=>import("./scheduling-tasks.html-CWyyMHnD.js"),__vite__mapDeps([25,1])),meta:{t:"Scheduling tasks",O:8}}],["/guide/state-and-deps.html",{loader:()=>ce(()=>import("./state-and-deps.html-B3AeqqiO.js"),__vite__mapDeps([26,1])),meta:{t:"State and Dependencies",O:7}}],["/guide/testing-taskiq.html",{loader:()=>ce(()=>import("./testing-taskiq.html-D3uGnFNX.js"),__vite__mapDeps([27,1])),meta:{t:"Testing with taskiq",O:10}}],["/404.html",{loader:()=>ce(()=>import("./404.html-axFoDoiK.js"),__vite__mapDeps([28,1])),meta:{t:""}}]]);/*! * vue-router v4.3.2 * (c) 2024 Eduardo San Martin Morote * @license MIT - */const hn=typeof document<"u";function rp(e){return e.__esModule||e[Symbol.toStringTag]==="Module"}const ue=Object.assign;function yo(e,t){const n={};for(const r in t){const o=t[r];n[r]=ft(o)?o.map(e):e(o)}return n}const Un=()=>{},ft=Array.isArray,Si=/#/g,op=/&/g,sp=/\//g,lp=/=/g,ap=/\?/g,Ti=/\+/g,ip=/%5B/g,cp=/%5D/g,Ai=/%5E/g,up=/%60/g,Li=/%7B/g,fp=/%7C/g,Oi=/%7D/g,dp=/%20/g;function Os(e){return encodeURI(""+e).replace(fp,"|").replace(ip,"[").replace(cp,"]")}function pp(e){return Os(e).replace(Li,"{").replace(Oi,"}").replace(Ai,"^")}function qo(e){return Os(e).replace(Ti,"%2B").replace(dp,"+").replace(Si,"%23").replace(op,"%26").replace(up,"`").replace(Li,"{").replace(Oi,"}").replace(Ai,"^")}function hp(e){return qo(e).replace(lp,"%3D")}function vp(e){return Os(e).replace(Si,"%23").replace(ap,"%3F")}function gp(e){return e==null?"":vp(e).replace(sp,"%2F")}function tr(e){try{return decodeURIComponent(""+e)}catch{}return""+e}const mp=/\/$/,bp=e=>e.replace(mp,"");function wo(e,t,n="/"){let r,o={},s="",l="";const a=t.indexOf("#");let i=t.indexOf("?");return a=0&&(i=-1),i>-1&&(r=t.slice(0,i),s=t.slice(i+1,a>-1?a:t.length),o=e(s)),a>-1&&(r=r||t.slice(0,a),l=t.slice(a,t.length)),r=Ep(r??t,n),{fullPath:r+(s&&"?")+s+l,path:r,query:o,hash:tr(l)}}function yp(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function Dl(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function wp(e,t,n){const r=t.matched.length-1,o=n.matched.length-1;return r>-1&&r===o&&Cn(t.matched[r],n.matched[o])&&Ri(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function Cn(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function Ri(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(!_p(e[n],t[n]))return!1;return!0}function _p(e,t){return ft(e)?Hl(e,t):ft(t)?Hl(t,e):e===t}function Hl(e,t){return ft(t)?e.length===t.length&&e.every((n,r)=>n===t[r]):e.length===1&&e[0]===t}function Ep(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),r=e.split("/"),o=r[r.length-1];(o===".."||o===".")&&r.push("");let s=n.length-1,l,a;for(l=0;l1&&s--;else break;return n.slice(0,s).join("/")+"/"+r.slice(l).join("/")}var nr;(function(e){e.pop="pop",e.push="push"})(nr||(nr={}));var Wn;(function(e){e.back="back",e.forward="forward",e.unknown=""})(Wn||(Wn={}));function Cp(e){if(!e)if(hn){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),bp(e)}const kp=/^[^#]+#/;function xp(e,t){return e.replace(kp,"#")+t}function Sp(e,t){const n=document.documentElement.getBoundingClientRect(),r=e.getBoundingClientRect();return{behavior:t.behavior,left:r.left-n.left-(t.left||0),top:r.top-n.top-(t.top||0)}}const eo=()=>({left:window.scrollX,top:window.scrollY});function Tp(e){let t;if("el"in e){const n=e.el,r=typeof n=="string"&&n.startsWith("#"),o=typeof n=="string"?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!o)return;t=Sp(o,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.scrollX,t.top!=null?t.top:window.scrollY)}function Fl(e,t){return(history.state?history.state.position-t:-1)+e}const Uo=new Map;function Ap(e,t){Uo.set(e,t)}function Lp(e){const t=Uo.get(e);return Uo.delete(e),t}let Op=()=>location.protocol+"//"+location.host;function Pi(e,t){const{pathname:n,search:r,hash:o}=t,s=e.indexOf("#");if(s>-1){let a=o.includes(e.slice(s))?e.slice(s).length:1,i=o.slice(a);return i[0]!=="/"&&(i="/"+i),Dl(i,"")}return Dl(n,e)+r+o}function Rp(e,t,n,r){let o=[],s=[],l=null;const a=({state:p})=>{const v=Pi(e,location),m=n.value,E=t.value;let w=0;if(p){if(n.value=v,t.value=p,l&&l===m){l=null;return}w=E?p.position-E.position:0}else r(v);o.forEach(b=>{b(n.value,m,{delta:w,type:nr.pop,direction:w?w>0?Wn.forward:Wn.back:Wn.unknown})})};function i(){l=n.value}function c(p){o.push(p);const v=()=>{const m=o.indexOf(p);m>-1&&o.splice(m,1)};return s.push(v),v}function f(){const{history:p}=window;p.state&&p.replaceState(ue({},p.state,{scroll:eo()}),"")}function d(){for(const p of s)p();s=[],window.removeEventListener("popstate",a),window.removeEventListener("beforeunload",f)}return window.addEventListener("popstate",a),window.addEventListener("beforeunload",f,{passive:!0}),{pauseListeners:i,listen:c,destroy:d}}function Bl(e,t,n,r=!1,o=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:o?eo():null}}function Pp(e){const{history:t,location:n}=window,r={value:Pi(e,n)},o={value:t.state};o.value||s(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function s(i,c,f){const d=e.indexOf("#"),p=d>-1?(n.host&&document.querySelector("base")?e:e.slice(d))+i:Op()+e+i;try{t[f?"replaceState":"pushState"](c,"",p),o.value=c}catch(v){console.error(v),n[f?"replace":"assign"](p)}}function l(i,c){const f=ue({},t.state,Bl(o.value.back,i,o.value.forward,!0),c,{position:o.value.position});s(i,f,!0),r.value=i}function a(i,c){const f=ue({},o.value,t.state,{forward:i,scroll:eo()});s(f.current,f,!0);const d=ue({},Bl(r.value,i,null),{position:f.position+1},c);s(i,d,!1),r.value=i}return{location:r,state:o,push:a,replace:l}}function Ip(e){e=Cp(e);const t=Pp(e),n=Rp(e,t.state,t.location,t.replace);function r(s,l=!0){l||n.pauseListeners(),history.go(s)}const o=ue({location:"",base:e,go:r,createHref:xp.bind(null,e)},t,n);return Object.defineProperty(o,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(o,"state",{enumerable:!0,get:()=>t.state.value}),o}function Mp(e){return typeof e=="string"||e&&typeof e=="object"}function Ii(e){return typeof e=="string"||typeof e=="symbol"}const xt={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0},Mi=Symbol("");var jl;(function(e){e[e.aborted=4]="aborted",e[e.cancelled=8]="cancelled",e[e.duplicated=16]="duplicated"})(jl||(jl={}));function kn(e,t){return ue(new Error,{type:e,[Mi]:!0},t)}function Ct(e,t){return e instanceof Error&&Mi in e&&(t==null||!!(e.type&t))}const Vl="[^/]+?",$p={sensitive:!1,strict:!1,start:!0,end:!0},Np=/[.+*?^${}()[\]/\\]/g;function Dp(e,t){const n=ue({},$p,t),r=[];let o=n.start?"^":"";const s=[];for(const c of e){const f=c.length?[]:[90];n.strict&&!c.length&&(o+="/");for(let d=0;dt.length?t.length===1&&t[0]===80?1:-1:0}function Fp(e,t){let n=0;const r=e.score,o=t.score;for(;n0&&t[t.length-1]<0}const Bp={type:0,value:""},jp=/[a-zA-Z0-9_]/;function Vp(e){if(!e)return[[]];if(e==="/")return[[Bp]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(v){throw new Error(`ERR (${n})/"${c}": ${v}`)}let n=0,r=n;const o=[];let s;function l(){s&&o.push(s),s=[]}let a=0,i,c="",f="";function d(){c&&(n===0?s.push({type:0,value:c}):n===1||n===2||n===3?(s.length>1&&(i==="*"||i==="+")&&t(`A repeatable param (${c}) must be alone in its segment. eg: '/:ids+.`),s.push({type:1,value:c,regexp:f,repeatable:i==="*"||i==="+",optional:i==="*"||i==="?"})):t("Invalid state to consume buffer"),c="")}function p(){c+=i}for(;a{l(C)}:Un}function l(f){if(Ii(f)){const d=r.get(f);d&&(r.delete(f),n.splice(n.indexOf(d),1),d.children.forEach(l),d.alias.forEach(l))}else{const d=n.indexOf(f);d>-1&&(n.splice(d,1),f.record.name&&r.delete(f.record.name),f.children.forEach(l),f.alias.forEach(l))}}function a(){return n}function i(f){let d=0;for(;d=0&&(f.record.path!==n[d].record.path||!$i(f,n[d]));)d++;n.splice(d,0,f),f.record.name&&!Ul(f)&&r.set(f.record.name,f)}function c(f,d){let p,v={},m,E;if("name"in f&&f.name){if(p=r.get(f.name),!p)throw kn(1,{location:f});E=p.record.name,v=ue(ql(d.params,p.keys.filter(C=>!C.optional).concat(p.parent?p.parent.keys.filter(C=>C.optional):[]).map(C=>C.name)),f.params&&ql(f.params,p.keys.map(C=>C.name))),m=p.stringify(v)}else if(f.path!=null)m=f.path,p=n.find(C=>C.re.test(m)),p&&(v=p.parse(m),E=p.record.name);else{if(p=d.name?r.get(d.name):n.find(C=>C.re.test(d.path)),!p)throw kn(1,{location:f,currentLocation:d});E=p.record.name,v=ue({},d.params,f.params),m=p.stringify(v)}const w=[];let b=p;for(;b;)w.unshift(b.record),b=b.parent;return{name:E,path:m,params:v,matched:w,meta:Kp(w)}}return e.forEach(f=>s(f)),{addRoute:s,resolve:c,removeRoute:l,getRoutes:a,getRecordMatcher:o}}function ql(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}function Up(e){return{path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:void 0,beforeEnter:e.beforeEnter,props:Wp(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}}}function Wp(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const r in e.components)t[r]=typeof n=="object"?n[r]:n;return t}function Ul(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function Kp(e){return e.reduce((t,n)=>ue(t,n.meta),{})}function Wl(e,t){const n={};for(const r in e)n[r]=r in t?t[r]:e[r];return n}function $i(e,t){return t.children.some(n=>n===e||$i(e,n))}function Gp(e){const t={};if(e===""||e==="?")return t;const r=(e[0]==="?"?e.slice(1):e).split("&");for(let o=0;os&&qo(s)):[r&&qo(r)]).forEach(s=>{s!==void 0&&(t+=(t.length?"&":"")+n,s!=null&&(t+="="+s))})}return t}function Yp(e){const t={};for(const n in e){const r=e[n];r!==void 0&&(t[n]=ft(r)?r.map(o=>o==null?null:""+o):r==null?r:""+r)}return t}const Jp=Symbol(""),Gl=Symbol(""),to=Symbol(""),Rs=Symbol(""),Wo=Symbol("");function In(){let e=[];function t(r){return e.push(r),()=>{const o=e.indexOf(r);o>-1&&e.splice(o,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function Bt(e,t,n,r,o,s=l=>l()){const l=r&&(r.enterCallbacks[o]=r.enterCallbacks[o]||[]);return()=>new Promise((a,i)=>{const c=p=>{p===!1?i(kn(4,{from:n,to:t})):p instanceof Error?i(p):Mp(p)?i(kn(2,{from:t,to:p})):(l&&r.enterCallbacks[o]===l&&typeof p=="function"&&l.push(p),a())},f=s(()=>e.call(r&&r.instances[o],t,n,c));let d=Promise.resolve(f);e.length<3&&(d=d.then(c)),d.catch(p=>i(p))})}function _o(e,t,n,r,o=s=>s()){const s=[];for(const l of e)for(const a in l.components){let i=l.components[a];if(!(t!=="beforeRouteEnter"&&!l.instances[a]))if(Qp(i)){const f=(i.__vccOpts||i)[t];f&&s.push(Bt(f,n,r,l,a,o))}else{let c=i();s.push(()=>c.then(f=>{if(!f)return Promise.reject(new Error(`Couldn't resolve component "${a}" at "${l.path}"`));const d=rp(f)?f.default:f;l.components[a]=d;const v=(d.__vccOpts||d)[t];return v&&Bt(v,n,r,l,a,o)()}))}}return s}function Qp(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function Yl(e){const t=ke(to),n=ke(Rs),r=S(()=>{const i=ln(e.to);return t.resolve(i)}),o=S(()=>{const{matched:i}=r.value,{length:c}=i,f=i[c-1],d=n.matched;if(!f||!d.length)return-1;const p=d.findIndex(Cn.bind(null,f));if(p>-1)return p;const v=Jl(i[c-2]);return c>1&&Jl(f)===v&&d[d.length-1].path!==v?d.findIndex(Cn.bind(null,i[c-2])):p}),s=S(()=>o.value>-1&&th(n.params,r.value.params)),l=S(()=>o.value>-1&&o.value===n.matched.length-1&&Ri(n.params,r.value.params));function a(i={}){return eh(i)?t[ln(e.replace)?"replace":"push"](ln(e.to)).catch(Un):Promise.resolve()}return{route:r,href:S(()=>r.value.href),isActive:s,isExactActive:l,navigate:a}}const Xp=G({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"}},useLink:Yl,setup(e,{slots:t}){const n=ur(Yl(e)),{options:r}=ke(to),o=S(()=>({[Ql(e.activeClass,r.linkActiveClass,"router-link-active")]:n.isActive,[Ql(e.exactActiveClass,r.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const s=t.default&&t.default(n);return e.custom?s:u("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:o.value},s)}}}),Zp=Xp;function eh(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function th(e,t){for(const n in t){const r=t[n],o=e[n];if(typeof r=="string"){if(r!==o)return!1}else if(!ft(o)||o.length!==r.length||r.some((s,l)=>s!==o[l]))return!1}return!0}function Jl(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const Ql=(e,t,n)=>e??t??n,nh=G({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const r=ke(Wo),o=S(()=>e.route||r.value),s=ke(Gl,0),l=S(()=>{let c=ln(s);const{matched:f}=o.value;let d;for(;(d=f[c])&&!d.components;)c++;return c}),a=S(()=>o.value.matched[l.value]);an(Gl,S(()=>l.value+1)),an(Jp,a),an(Wo,o);const i=Q();return oe(()=>[i.value,a.value,e.name],([c,f,d],[p,v,m])=>{f&&(f.instances[d]=c,v&&v!==f&&c&&c===p&&(f.leaveGuards.size||(f.leaveGuards=v.leaveGuards),f.updateGuards.size||(f.updateGuards=v.updateGuards))),c&&f&&(!v||!Cn(f,v)||!p)&&(f.enterCallbacks[d]||[]).forEach(E=>E(c))},{flush:"post"}),()=>{const c=o.value,f=e.name,d=a.value,p=d&&d.components[f];if(!p)return Xl(n.default,{Component:p,route:c});const v=d.props[f],m=v?v===!0?c.params:typeof v=="function"?v(c):v:null,w=u(p,ue({},m,t,{onVnodeUnmounted:b=>{b.component.isUnmounted&&(d.instances[f]=null)},ref:i}));return Xl(n.default,{Component:w,route:c})||w}}});function Xl(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const rh=nh;function oh(e){const t=qp(e.routes,e),n=e.parseQuery||Gp,r=e.stringifyQuery||Kl,o=e.history,s=In(),l=In(),a=In(),i=Ne(xt);let c=xt;hn&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const f=yo.bind(null,T=>""+T),d=yo.bind(null,gp),p=yo.bind(null,tr);function v(T,B){let H,W;return Ii(T)?(H=t.getRecordMatcher(T),W=B):W=T,t.addRoute(W,H)}function m(T){const B=t.getRecordMatcher(T);B&&t.removeRoute(B)}function E(){return t.getRoutes().map(T=>T.record)}function w(T){return!!t.getRecordMatcher(T)}function b(T,B){if(B=ue({},B||i.value),typeof T=="string"){const g=wo(n,T,B.path),_=t.resolve({path:g.path},B),L=o.createHref(g.fullPath);return ue(g,_,{params:p(_.params),hash:tr(g.hash),redirectedFrom:void 0,href:L})}let H;if(T.path!=null)H=ue({},T,{path:wo(n,T.path,B.path).path});else{const g=ue({},T.params);for(const _ in g)g[_]==null&&delete g[_];H=ue({},T,{params:d(g)}),B.params=d(B.params)}const W=t.resolve(H,B),le=T.hash||"";W.params=f(p(W.params));const de=yp(r,ue({},T,{hash:pp(le),path:W.path})),h=o.createHref(de);return ue({fullPath:de,hash:le,query:r===Kl?Yp(T.query):T.query||{}},W,{redirectedFrom:void 0,href:h})}function C(T){return typeof T=="string"?wo(n,T,i.value.path):ue({},T)}function y(T,B){if(c!==T)return kn(8,{from:B,to:T})}function x(T){return q(T)}function $(T){return x(ue(C(T),{replace:!0}))}function k(T){const B=T.matched[T.matched.length-1];if(B&&B.redirect){const{redirect:H}=B;let W=typeof H=="function"?H(T):H;return typeof W=="string"&&(W=W.includes("?")||W.includes("#")?W=C(W):{path:W},W.params={}),ue({query:T.query,hash:T.hash,params:W.path!=null?{}:T.params},W)}}function q(T,B){const H=c=b(T),W=i.value,le=T.state,de=T.force,h=T.replace===!0,g=k(H);if(g)return q(ue(C(g),{state:typeof g=="object"?ue({},le,g.state):le,force:de,replace:h}),B||H);const _=H;_.redirectedFrom=B;let L;return!de&&wp(r,W,H)&&(L=kn(16,{to:_,from:W}),Xe(W,W,!0,!1)),(L?Promise.resolve(L):R(_,W)).catch(A=>Ct(A)?Ct(A,2)?A:pt(A):U(A,_,W)).then(A=>{if(A){if(Ct(A,2))return q(ue({replace:h},C(A.to),{state:typeof A.to=="object"?ue({},le,A.to.state):le,force:de}),B||_)}else A=P(_,W,!0,h,le);return V(_,W,A),A})}function N(T,B){const H=y(T,B);return H?Promise.reject(H):Promise.resolve()}function K(T){const B=Et.values().next().value;return B&&typeof B.runWithContext=="function"?B.runWithContext(T):T()}function R(T,B){let H;const[W,le,de]=sh(T,B);H=_o(W.reverse(),"beforeRouteLeave",T,B);for(const g of W)g.leaveGuards.forEach(_=>{H.push(Bt(_,T,B))});const h=N.bind(null,T,B);return H.push(h),Te(H).then(()=>{H=[];for(const g of s.list())H.push(Bt(g,T,B));return H.push(h),Te(H)}).then(()=>{H=_o(le,"beforeRouteUpdate",T,B);for(const g of le)g.updateGuards.forEach(_=>{H.push(Bt(_,T,B))});return H.push(h),Te(H)}).then(()=>{H=[];for(const g of de)if(g.beforeEnter)if(ft(g.beforeEnter))for(const _ of g.beforeEnter)H.push(Bt(_,T,B));else H.push(Bt(g.beforeEnter,T,B));return H.push(h),Te(H)}).then(()=>(T.matched.forEach(g=>g.enterCallbacks={}),H=_o(de,"beforeRouteEnter",T,B,K),H.push(h),Te(H))).then(()=>{H=[];for(const g of l.list())H.push(Bt(g,T,B));return H.push(h),Te(H)}).catch(g=>Ct(g,8)?g:Promise.reject(g))}function V(T,B,H){a.list().forEach(W=>K(()=>W(T,B,H)))}function P(T,B,H,W,le){const de=y(T,B);if(de)return de;const h=B===xt,g=hn?history.state:{};H&&(W||h?o.replace(T.fullPath,ue({scroll:h&&g&&g.scroll},le)):o.push(T.fullPath,le)),i.value=T,Xe(T,B,H,h),pt()}let X;function ye(){X||(X=o.listen((T,B,H)=>{if(!ht.listening)return;const W=b(T),le=k(W);if(le){q(ue(le,{replace:!0}),W).catch(Un);return}c=W;const de=i.value;hn&&Ap(Fl(de.fullPath,H.delta),eo()),R(W,de).catch(h=>Ct(h,12)?h:Ct(h,2)?(q(h.to,W).then(g=>{Ct(g,20)&&!H.delta&&H.type===nr.pop&&o.go(-1,!1)}).catch(Un),Promise.reject()):(H.delta&&o.go(-H.delta,!1),U(h,W,de))).then(h=>{h=h||P(W,de,!1),h&&(H.delta&&!Ct(h,8)?o.go(-H.delta,!1):H.type===nr.pop&&Ct(h,20)&&o.go(-1,!1)),V(W,de,h)}).catch(Un)}))}let ge=In(),z=In(),Z;function U(T,B,H){pt(T);const W=z.list();return W.length?W.forEach(le=>le(T,B,H)):console.error(T),Promise.reject(T)}function Se(){return Z&&i.value!==xt?Promise.resolve():new Promise((T,B)=>{ge.add([T,B])})}function pt(T){return Z||(Z=!T,ye(),ge.list().forEach(([B,H])=>T?H(T):B()),ge.reset()),T}function Xe(T,B,H,W){const{scrollBehavior:le}=e;if(!hn||!le)return Promise.resolve();const de=!H&&Lp(Fl(T.fullPath,0))||(W||!H)&&history.state&&history.state.scroll||null;return Yt().then(()=>le(T,B,de)).then(h=>h&&Tp(h)).catch(h=>U(h,T,B))}const Re=T=>o.go(T);let Ke;const Et=new Set,ht={currentRoute:i,listening:!0,addRoute:v,removeRoute:m,hasRoute:w,getRoutes:E,resolve:b,options:e,push:x,replace:$,go:Re,back:()=>Re(-1),forward:()=>Re(1),beforeEach:s.add,beforeResolve:l.add,afterEach:a.add,onError:z.add,isReady:Se,install(T){const B=this;T.component("RouterLink",Zp),T.component("RouterView",rh),T.config.globalProperties.$router=B,Object.defineProperty(T.config.globalProperties,"$route",{enumerable:!0,get:()=>ln(i)}),hn&&!Ke&&i.value===xt&&(Ke=!0,x(o.location).catch(le=>{}));const H={};for(const le in xt)Object.defineProperty(H,le,{get:()=>i.value[le],enumerable:!0});T.provide(to,B),T.provide(Rs,Ia(H)),T.provide(Wo,i);const W=T.unmount;Et.add(T),T.unmount=function(){Et.delete(T),Et.size<1&&(c=xt,X&&X(),X=null,i.value=xt,Ke=!1,Z=!1),W()}}};function Te(T){return T.reduce((B,H)=>B.then(()=>K(H)),Promise.resolve())}return ht}function sh(e,t){const n=[],r=[],o=[],s=Math.max(t.matched.length,e.matched.length);for(let l=0;lCn(c,a))?r.push(a):n.push(a));const i=e.matched[l];i&&(t.matched.find(c=>Cn(c,i))||o.push(i))}return[n,r,o]}function An(){return ke(to)}function Ot(){return ke(Rs)}var Ps=Symbol(""),_t=()=>{const e=ke(Ps);if(!e)throw new Error("useClientData() is called without provider.");return e},lh=()=>_t().pageComponent,xe=()=>_t().pageData,Le=()=>_t().pageFrontmatter,ah=()=>_t().pageHead,Ni=()=>_t().pageLang,ih=()=>_t().pageLayout,un=()=>_t().routeLocale,ch=()=>_t().routes,Di=()=>_t().siteData,no=()=>_t().siteLocaleData,uh=Symbol(""),Ko=Ne(tp),rr=Ne(np),Hi=e=>{const t=Jd(e);if(rr.value[t])return t;const n=encodeURI(t);return rr.value[n]?n:Ko.value[t]||Ko.value[n]||t},Wt=e=>{const t=Hi(e),n=rr.value[t]??{...rr.value["/404.html"],notFound:!0};return{path:t,notFound:!1,...n}},ro=G({name:"ClientOnly",setup(e,t){const n=Q(!1);return _e(()=>{n.value=!0}),()=>{var r,o;return n.value?(o=(r=t.slots).default)==null?void 0:o.call(r):null}}}),Fi=G({name:"Content",props:{path:{type:String,required:!1,default:""}},setup(e){const t=lh(),n=S(()=>{if(!e.path)return t.value;const r=Wt(e.path);return Ja(()=>r.loader().then(({comp:o})=>o))});return()=>u(n.value)}}),lt=(e={})=>e,ze=e=>cn(e)?e:`/${xi(e)}`,fh=e=>{if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget){const t=e.currentTarget.getAttribute("target");if(t!=null&&t.match(/\b_blank\b/i))return}return e.preventDefault(),!0}},Qe=({active:e=!1,activeClass:t="route-link-active",to:n,...r},{slots:o})=>{var i;const s=An(),l=Hi(n),a=l.startsWith("#")||l.startsWith("?")?l:ze(l);return u("a",{...r,class:["route-link",{[t]:e}],href:a,onClick:(c={})=>{fh(c)?s.push(n).catch():Promise.resolve()}},(i=o.default)==null?void 0:i.call(o))};Qe.displayName="RouteLink";Qe.props={active:Boolean,activeClass:String,to:String};var dh="Layout",ph="en-US",en=ur({resolveLayouts:e=>e.reduce((t,n)=>({...t,...n.layouts}),{}),resolvePageHead:(e,t,n)=>{const r=Ee(t.description)?t.description:n.description,o=[...Array.isArray(t.head)?t.head:[],...n.head,["title",{},e],["meta",{name:"description",content:r}]];return Kd(o)},resolvePageHeadTitle:(e,t)=>[e.title,t.title].filter(n=>!!n).join(" | "),resolvePageLang:(e,t)=>e.lang||t.lang||ph,resolvePageLayout:(e,t)=>{const n=Ee(e.frontmatter.layout)?e.frontmatter.layout:dh;if(!t[n])throw new Error(`[vuepress] Cannot resolve layout: ${n}`);return t[n]},resolveRouteLocale:(e,t)=>Qd(e,t),resolveSiteLocaleData:(e,t)=>{var n;return{...e,...e.locales[t],head:[...((n=e.locales[t])==null?void 0:n.head)??[],...e.head??[]]}}});const hh={},Jt=e=>{const t=un();return S(()=>e[t.value]??{})};var Fe=Uint8Array,gn=Uint16Array,vh=Int32Array,Bi=new Fe([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),ji=new Fe([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),gh=new Fe([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),Vi=function(e,t){for(var n=new gn(31),r=0;r<31;++r)n[r]=t+=1<>1|(he&21845)<<1;Mt=(Mt&52428)>>2|(Mt&13107)<<2,Mt=(Mt&61680)>>4|(Mt&3855)<<4,Go[he]=((Mt&65280)>>8|(Mt&255)<<8)>>1}var Kn=function(e,t,n){for(var r=e.length,o=0,s=new gn(t);o>i]=c}else for(a=new gn(r),o=0;o>15-e[o]);return a},gr=new Fe(288);for(var he=0;he<144;++he)gr[he]=8;for(var he=144;he<256;++he)gr[he]=9;for(var he=256;he<280;++he)gr[he]=7;for(var he=280;he<288;++he)gr[he]=8;var Ui=new Fe(32);for(var he=0;he<32;++he)Ui[he]=5;var wh=Kn(gr,9,1),_h=Kn(Ui,5,1),Eo=function(e){for(var t=e[0],n=1;nt&&(t=e[n]);return t},it=function(e,t,n){var r=t/8|0;return(e[r]|e[r+1]<<8)>>(t&7)&n},Co=function(e,t){var n=t/8|0;return(e[n]|e[n+1]<<8|e[n+2]<<16)>>(t&7)},Eh=function(e){return(e+7)/8|0},Is=function(e,t,n){return(t==null||t<0)&&(t=0),(n==null||n>e.length)&&(n=e.length),new Fe(e.subarray(t,n))},Ch=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"],tt=function(e,t,n){var r=new Error(t||Ch[e]);if(r.code=e,Error.captureStackTrace&&Error.captureStackTrace(r,tt),!n)throw r;return r},kh=function(e,t,n,r){var o=e.length,s=r?r.length:0;if(!o||t.f&&!t.l)return n||new Fe(0);var l=!n,a=l||t.i!=2,i=t.i;l&&(n=new Fe(o*3));var c=function(le){var de=n.length;if(le>de){var h=new Fe(Math.max(de*2,le));h.set(n),n=h}},f=t.f||0,d=t.p||0,p=t.b||0,v=t.l,m=t.d,E=t.m,w=t.n,b=o*8;do{if(!v){f=it(e,d,1);var C=it(e,d+1,3);if(d+=3,C)if(C==1)v=wh,m=_h,E=9,w=5;else if(C==2){var k=it(e,d,31)+257,q=it(e,d+10,15)+4,N=k+it(e,d+5,31)+1;d+=14;for(var K=new Fe(N),R=new Fe(19),V=0;V>4;if(y<16)K[V++]=y;else{var z=0,Z=0;for(y==16?(Z=3+it(e,d,3),d+=2,z=K[V-1]):y==17?(Z=3+it(e,d,7),d+=3):y==18&&(Z=11+it(e,d,127),d+=7);Z--;)K[V++]=z}}var U=K.subarray(0,k),Se=K.subarray(k);E=Eo(U),w=Eo(Se),v=Kn(U,E,1),m=Kn(Se,w,1)}else tt(1);else{var y=Eh(d)+4,x=e[y-4]|e[y-3]<<8,$=y+x;if($>o){i&&tt(0);break}a&&c(p+x),n.set(e.subarray(y,$),p),t.b=p+=x,t.p=d=$*8,t.f=f;continue}if(d>b){i&&tt(0);break}}a&&c(p+131072);for(var pt=(1<>4;if(d+=z&15,d>b){i&&tt(0);break}if(z||tt(2),Ke<256)n[p++]=Ke;else if(Ke==256){Re=d,v=null;break}else{var Et=Ke-254;if(Ke>264){var V=Ke-257,ht=Bi[V];Et=it(e,d,(1<>4;Te||tt(3),d+=Te&15;var Se=yh[T];if(T>3){var ht=ji[T];Se+=Co(e,d)&(1<b){i&&tt(0);break}a&&c(p+131072);var B=p+Et;if(p>4>7||(e[0]<<8|e[1])%31)&&tt(6,"invalid zlib data"),(e[1]>>5&1)==+!t&&tt(6,"invalid zlib data: "+(e[1]&32?"need":"unexpected")+" dictionary"),(e[1]>>3&4)+2};function Th(e,t){return kh(e.subarray(Sh(e,t&&t.dictionary),-4),{i:2},t&&t.out,t&&t.dictionary)}var Zl=typeof TextEncoder<"u"&&new TextEncoder,Yo=typeof TextDecoder<"u"&&new TextDecoder,Ah=0;try{Yo.decode(xh,{stream:!0}),Ah=1}catch{}var Lh=function(e){for(var t="",n=0;;){var r=e[n++],o=(r>127)+(r>223)+(r>239);if(n+o>e.length)return{s:t,r:Is(e,n-1)};o?o==3?(r=((r&15)<<18|(e[n++]&63)<<12|(e[n++]&63)<<6|e[n++]&63)-65536,t+=String.fromCharCode(55296|r>>10,56320|r&1023)):o&1?t+=String.fromCharCode((r&31)<<6|e[n++]&63):t+=String.fromCharCode((r&15)<<12|(e[n++]&63)<<6|e[n++]&63):t+=String.fromCharCode(r)}};function Oh(e,t){if(t){for(var n=new Fe(e.length),r=0;r>1)),l=0,a=function(f){s[l++]=f},r=0;rs.length){var i=new Fe(l+8+(o-r<<1));i.set(s),s=i}var c=e.charCodeAt(r);c<128||t?a(c):c<2048?(a(192|c>>6),a(128|c&63)):c>55295&&c<57344?(c=65536+(c&1047552)|e.charCodeAt(++r)&1023,a(240|c>>18),a(128|c>>12&63),a(128|c>>6&63),a(128|c&63)):(a(224|c>>12),a(128|c>>6&63),a(128|c&63))}return Is(s,0,l)}function Rh(e,t){if(t){for(var n="",r=0;r{const t=atob(e);return Rh(Th(Oh(t,!0)))},Tt=(e,t)=>{var r;const n=(r=(t==null?void 0:t._instance)||Tn())==null?void 0:r.appContext.components;return n?e in n||st(e)in n||cr(st(e))in n:!1},Ph=e=>typeof e<"u",ko=e=>typeof e=="number",Jo=Array.isArray,or=(e,t)=>Ee(e)&&e.startsWith(t),Ih=(e,t)=>Ee(e)&&e.endsWith(t),Mh=Object.entries,oo=Object.keys,$h=Object.values,Nh=e=>{if(e){if(typeof e=="number")return new Date(e);const t=Date.parse(e.toString());if(!Number.isNaN(t))return new Date(t)}return null},so=e=>or(e,"/"),Dh="http://.",Hh=(e,t)=>{if(so(e)||typeof t!="string")return Wt(e);const n=t.slice(0,t.lastIndexOf("/"));return Wt(new URL(`${n}/${encodeURI(e)}`,Dh).pathname)},Wi=e=>new Promise(t=>setTimeout(t,e)),Ki=({type:e="info",text:t="",vertical:n,color:r},{slots:o})=>{var s;return u("span",{class:["vp-badge",e,{diy:r}],style:{verticalAlign:n??!1,backgroundColor:r??!1}},((s=o.default)==null?void 0:s.call(o))||t)};Ki.displayName="Badge";var Fh=G({name:"FontIcon",props:{icon:{type:String,default:""},color:{type:String,default:""},size:{type:[String,Number],default:""}},setup(e){const t=S(()=>{const r=["font-icon icon"],o=`${e.icon}`;return r.push(o),r}),n=S(()=>{const r={};return e.color&&(r.color=e.color),e.size&&(r["font-size"]=Number.isNaN(Number(e.size))?e.size:`${e.size}px`),oo(r).length?r:null});return()=>e.icon?u("span",{key:e.icon,class:t.value,style:n.value}):null}});const Bh=lt({enhance:({app:e})=>{Tt("Badge")||e.component("Badge",Ki),Tt("FontIcon")||e.component("FontIcon",Fh)},setup:()=>{},rootComponents:[]});function Gi(e,t){let n,r,o;const s=Q(!0),l=()=>{s.value=!0,o()};oe(e,l,{flush:"sync"});const a=typeof t=="function"?t:t.get,i=typeof t=="function"?void 0:t.set,c=ws((f,d)=>(r=f,o=d,{get(){return s.value&&(n=a(),s.value=!1),r(),n},set(p){i==null||i(p)}}));return Object.isExtensible(c)&&(c.trigger=l),c}function fn(e){return _a()?(ku(e),!0):!1}function Be(e){return typeof e=="function"?e():ln(e)}const mr=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const jh=e=>e!=null,Vh=Object.prototype.toString,zh=e=>Vh.call(e)==="[object Object]",At=()=>{},Qo=qh();function qh(){var e,t;return mr&&((e=window==null?void 0:window.navigator)==null?void 0:e.userAgent)&&(/iP(ad|hone|od)/.test(window.navigator.userAgent)||((t=window==null?void 0:window.navigator)==null?void 0:t.maxTouchPoints)>2&&/iPad|Macintosh/.test(window==null?void 0:window.navigator.userAgent))}function Ms(e,t){function n(...r){return new Promise((o,s)=>{Promise.resolve(e(()=>t.apply(this,r),{fn:t,thisArg:this,args:r})).then(o).catch(s)})}return n}const Yi=e=>e();function Uh(e,t={}){let n,r,o=At;const s=a=>{clearTimeout(a),o(),o=At};return a=>{const i=Be(e),c=Be(t.maxWait);return n&&s(n),i<=0||c!==void 0&&c<=0?(r&&(s(r),r=null),Promise.resolve(a())):new Promise((f,d)=>{o=t.rejectOnCancel?d:f,c&&!r&&(r=setTimeout(()=>{n&&s(n),r=null,f(a())},c)),n=setTimeout(()=>{r&&s(r),r=null,f(a())},i)})}}function Wh(...e){let t=0,n,r=!0,o=At,s,l,a,i,c;!$e(e[0])&&typeof e[0]=="object"?{delay:l,trailing:a=!0,leading:i=!0,rejectOnCancel:c=!1}=e[0]:[l,a=!0,i=!0,c=!1]=e;const f=()=>{n&&(clearTimeout(n),n=void 0,o(),o=At)};return p=>{const v=Be(l),m=Date.now()-t,E=()=>s=p();return f(),v<=0?(t=Date.now(),E()):(m>v&&(i||!r)?(t=Date.now(),E()):a&&(s=new Promise((w,b)=>{o=c?b:w,n=setTimeout(()=>{t=Date.now(),r=!0,w(E()),f()},Math.max(0,v-m))})),!i&&!n&&(n=setTimeout(()=>r=!0,v)),r=!1,s)}}function Kh(e=Yi){const t=Q(!0);function n(){t.value=!1}function r(){t.value=!0}const o=(...s)=>{t.value&&e(...s)};return{isActive:fr(t),pause:n,resume:r,eventFilter:o}}function Gh(e){let t;function n(){return t||(t=e()),t}return n.reset=async()=>{const r=t;t=void 0,r&&await r},n}function Yh(e){return e||Tn()}function Jh(...e){if(e.length!==1)return Gr(...e);const t=e[0];return typeof t=="function"?fr(ws(()=>({get:t,set:At}))):Q(t)}function Ji(e,t=200,n={}){return Ms(Uh(t,n),e)}function Qh(e,t=200,n=!1,r=!0,o=!1){return Ms(Wh(t,n,r,o),e)}function Xh(e,t,n={}){const{eventFilter:r=Yi,...o}=n;return oe(e,Ms(r,t),o)}function Zh(e,t,n={}){const{eventFilter:r,...o}=n,{eventFilter:s,pause:l,resume:a,isActive:i}=Kh(r);return{stop:Xh(e,t,{...o,eventFilter:s}),pause:l,resume:a,isActive:i}}function $s(e,t=!0,n){Yh()?_e(e,n):t?e():Yt(e)}function e1(e,t,n={}){const{immediate:r=!0}=n,o=Q(!1);let s=null;function l(){s&&(clearTimeout(s),s=null)}function a(){o.value=!1,l()}function i(...c){l(),o.value=!0,s=setTimeout(()=>{o.value=!1,s=null,e(...c)},Be(t))}return r&&(o.value=!0,mr&&i()),fn(a),{isPending:fr(o),start:i,stop:a}}function Xo(e=!1,t={}){const{truthyValue:n=!0,falsyValue:r=!1}=t,o=$e(e),s=Q(e);function l(a){if(arguments.length)return s.value=a,s.value;{const i=Be(n);return s.value=s.value===i?Be(r):i,s.value}}return o?l:[s,l]}function qe(e){var t;const n=Be(e);return(t=n==null?void 0:n.$el)!=null?t:n}const dt=mr?window:void 0,t1=mr?window.document:void 0,Qi=mr?window.navigator:void 0;function Ce(...e){let t,n,r,o;if(typeof e[0]=="string"||Array.isArray(e[0])?([n,r,o]=e,t=dt):[t,n,r,o]=e,!t)return At;Array.isArray(n)||(n=[n]),Array.isArray(r)||(r=[r]);const s=[],l=()=>{s.forEach(f=>f()),s.length=0},a=(f,d,p,v)=>(f.addEventListener(d,p,v),()=>f.removeEventListener(d,p,v)),i=oe(()=>[qe(t),Be(o)],([f,d])=>{if(l(),!f)return;const p=zh(d)?{...d}:d;s.push(...n.flatMap(v=>r.map(m=>a(f,v,m,p))))},{immediate:!0,flush:"post"}),c=()=>{i(),l()};return fn(c),c}let ta=!1;function n1(e,t,n={}){const{window:r=dt,ignore:o=[],capture:s=!0,detectIframe:l=!1}=n;if(!r)return At;Qo&&!ta&&(ta=!0,Array.from(r.document.body.children).forEach(p=>p.addEventListener("click",At)),r.document.documentElement.addEventListener("click",At));let a=!0;const i=p=>o.some(v=>{if(typeof v=="string")return Array.from(r.document.querySelectorAll(v)).some(m=>m===p.target||p.composedPath().includes(m));{const m=qe(v);return m&&(p.target===m||p.composedPath().includes(m))}}),f=[Ce(r,"click",p=>{const v=qe(e);if(!(!v||v===p.target||p.composedPath().includes(v))){if(p.detail===0&&(a=!i(p)),!a){a=!0;return}t(p)}},{passive:!0,capture:s}),Ce(r,"pointerdown",p=>{const v=qe(e);a=!i(p)&&!!(v&&!p.composedPath().includes(v))},{passive:!0}),l&&Ce(r,"blur",p=>{setTimeout(()=>{var v;const m=qe(e);((v=r.document.activeElement)==null?void 0:v.tagName)==="IFRAME"&&!(m!=null&&m.contains(r.document.activeElement))&&t(p)},0)})].filter(Boolean);return()=>f.forEach(p=>p())}function r1(){const e=Q(!1),t=Tn();return t&&_e(()=>{e.value=!0},t),e}function Ln(e){const t=r1();return S(()=>(t.value,!!e()))}function Xi(e,t={}){const{window:n=dt}=t,r=Ln(()=>n&&"matchMedia"in n&&typeof n.matchMedia=="function");let o;const s=Q(!1),l=c=>{s.value=c.matches},a=()=>{o&&("removeEventListener"in o?o.removeEventListener("change",l):o.removeListener(l))},i=Ua(()=>{r.value&&(a(),o=n.matchMedia(Be(e)),"addEventListener"in o?o.addEventListener("change",l):o.addListener(l),s.value=o.matches)});return fn(()=>{i(),a(),o=void 0}),s}function na(e,t={}){const{controls:n=!1,navigator:r=Qi}=t,o=Ln(()=>r&&"permissions"in r);let s;const l=typeof e=="string"?{name:e}:e,a=Q(),i=()=>{s&&(a.value=s.state)},c=Gh(async()=>{if(o.value){if(!s)try{s=await r.permissions.query(l),Ce(s,"change",i),i()}catch{a.value="prompt"}return s}});return c(),n?{state:a,isSupported:o,query:c}:a}function o1(e={}){const{navigator:t=Qi,read:n=!1,source:r,copiedDuring:o=1500,legacy:s=!1}=e,l=Ln(()=>t&&"clipboard"in t),a=na("clipboard-read"),i=na("clipboard-write"),c=S(()=>l.value||s),f=Q(""),d=Q(!1),p=e1(()=>d.value=!1,o);function v(){l.value&&b(a.value)?t.clipboard.readText().then(C=>{f.value=C}):f.value=w()}c.value&&n&&Ce(["copy","cut"],v);async function m(C=Be(r)){c.value&&C!=null&&(l.value&&b(i.value)?await t.clipboard.writeText(C):E(C),f.value=C,d.value=!0,p.start())}function E(C){const y=document.createElement("textarea");y.value=C??"",y.style.position="absolute",y.style.opacity="0",document.body.appendChild(y),y.select(),document.execCommand("copy"),y.remove()}function w(){var C,y,x;return(x=(y=(C=document==null?void 0:document.getSelection)==null?void 0:C.call(document))==null?void 0:y.toString())!=null?x:""}function b(C){return C==="granted"||C==="prompt"}return{isSupported:c,text:f,copied:d,copy:m}}const Lr=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},Or="__vueuse_ssr_handlers__",s1=l1();function l1(){return Or in Lr||(Lr[Or]=Lr[Or]||{}),Lr[Or]}function a1(e,t){return s1[e]||t}function i1(e){return e==null?"any":e instanceof Set?"set":e instanceof Map?"map":e instanceof Date?"date":typeof e=="boolean"?"boolean":typeof e=="string"?"string":typeof e=="object"?"object":Number.isNaN(e)?"any":"number"}const c1={boolean:{read:e=>e==="true",write:e=>String(e)},object:{read:e=>JSON.parse(e),write:e=>JSON.stringify(e)},number:{read:e=>Number.parseFloat(e),write:e=>String(e)},any:{read:e=>e,write:e=>String(e)},string:{read:e=>e,write:e=>String(e)},map:{read:e=>new Map(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e.entries()))},set:{read:e=>new Set(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e))},date:{read:e=>new Date(e),write:e=>e.toISOString()}},ra="vueuse-storage";function Ns(e,t,n,r={}){var o;const{flush:s="pre",deep:l=!0,listenToStorageChanges:a=!0,writeDefaults:i=!0,mergeDefaults:c=!1,shallow:f,window:d=dt,eventFilter:p,onError:v=R=>{console.error(R)},initOnMounted:m}=r,E=(f?Ne:Q)(typeof t=="function"?t():t);if(!n)try{n=a1("getDefaultStorage",()=>{var R;return(R=dt)==null?void 0:R.localStorage})()}catch(R){v(R)}if(!n)return E;const w=Be(t),b=i1(w),C=(o=r.serializer)!=null?o:c1[b],{pause:y,resume:x}=Zh(E,()=>k(E.value),{flush:s,deep:l,eventFilter:p});d&&a&&$s(()=>{Ce(d,"storage",N),Ce(d,ra,K),m&&N()}),m||N();function $(R,V){d&&d.dispatchEvent(new CustomEvent(ra,{detail:{key:e,oldValue:R,newValue:V,storageArea:n}}))}function k(R){try{const V=n.getItem(e);if(R==null)$(V,null),n.removeItem(e);else{const P=C.write(R);V!==P&&(n.setItem(e,P),$(V,P))}}catch(V){v(V)}}function q(R){const V=R?R.newValue:n.getItem(e);if(V==null)return i&&w!=null&&n.setItem(e,C.write(w)),w;if(!R&&c){const P=C.read(V);return typeof c=="function"?c(P,w):b==="object"&&!Array.isArray(P)?{...w,...P}:P}else return typeof V!="string"?V:C.read(V)}function N(R){if(!(R&&R.storageArea!==n)){if(R&&R.key==null){E.value=w;return}if(!(R&&R.key!==e)){y();try{(R==null?void 0:R.newValue)!==C.write(E.value)&&(E.value=q(R))}catch(V){v(V)}finally{R?Yt(x):x()}}}}function K(R){N(R.detail)}return E}function u1(e){return Xi("(prefers-color-scheme: dark)",e)}function Zi(e,t,n={}){const{window:r=dt,...o}=n;let s;const l=Ln(()=>r&&"MutationObserver"in r),a=()=>{s&&(s.disconnect(),s=void 0)},i=S(()=>{const p=Be(e),v=(Array.isArray(p)?p:[p]).map(qe).filter(jh);return new Set(v)}),c=oe(()=>i.value,p=>{a(),l.value&&r&&p.size&&(s=new MutationObserver(t),p.forEach(v=>s.observe(v,o)))},{immediate:!0,flush:"post"}),f=()=>s==null?void 0:s.takeRecords(),d=()=>{a(),c()};return fn(d),{isSupported:l,stop:d,takeRecords:f}}function f1(e,t,n={}){const{window:r=dt,...o}=n;let s;const l=Ln(()=>r&&"ResizeObserver"in r),a=()=>{s&&(s.disconnect(),s=void 0)},i=S(()=>Array.isArray(e)?e.map(d=>qe(d)):[qe(e)]),c=oe(i,d=>{if(a(),l.value&&r){s=new ResizeObserver(t);for(const p of d)p&&s.observe(p,o)}},{immediate:!0,flush:"post"}),f=()=>{a(),c()};return fn(f),{isSupported:l,stop:f}}function d1(e,t={width:0,height:0},n={}){const{window:r=dt,box:o="content-box"}=n,s=S(()=>{var d,p;return(p=(d=qe(e))==null?void 0:d.namespaceURI)==null?void 0:p.includes("svg")}),l=Q(t.width),a=Q(t.height),{stop:i}=f1(e,([d])=>{const p=o==="border-box"?d.borderBoxSize:o==="content-box"?d.contentBoxSize:d.devicePixelContentBoxSize;if(r&&s.value){const v=qe(e);if(v){const m=r.getComputedStyle(v);l.value=Number.parseFloat(m.width),a.value=Number.parseFloat(m.height)}}else if(p){const v=Array.isArray(p)?p:[p];l.value=v.reduce((m,{inlineSize:E})=>m+E,0),a.value=v.reduce((m,{blockSize:E})=>m+E,0)}else l.value=d.contentRect.width,a.value=d.contentRect.height},n);$s(()=>{const d=qe(e);d&&(l.value="offsetWidth"in d?d.offsetWidth:t.width,a.value="offsetHeight"in d?d.offsetHeight:t.height)});const c=oe(()=>qe(e),d=>{l.value=d?t.width:0,a.value=d?t.height:0});function f(){i(),c()}return{width:l,height:a,stop:f}}const oa=["fullscreenchange","webkitfullscreenchange","webkitendfullscreen","mozfullscreenchange","MSFullscreenChange"];function Ds(e,t={}){const{document:n=t1,autoExit:r=!1}=t,o=S(()=>{var b;return(b=qe(e))!=null?b:n==null?void 0:n.querySelector("html")}),s=Q(!1),l=S(()=>["requestFullscreen","webkitRequestFullscreen","webkitEnterFullscreen","webkitEnterFullScreen","webkitRequestFullScreen","mozRequestFullScreen","msRequestFullscreen"].find(b=>n&&b in n||o.value&&b in o.value)),a=S(()=>["exitFullscreen","webkitExitFullscreen","webkitExitFullScreen","webkitCancelFullScreen","mozCancelFullScreen","msExitFullscreen"].find(b=>n&&b in n||o.value&&b in o.value)),i=S(()=>["fullScreen","webkitIsFullScreen","webkitDisplayingFullscreen","mozFullScreen","msFullscreenElement"].find(b=>n&&b in n||o.value&&b in o.value)),c=["fullscreenElement","webkitFullscreenElement","mozFullScreenElement","msFullscreenElement"].find(b=>n&&b in n),f=Ln(()=>o.value&&n&&l.value!==void 0&&a.value!==void 0&&i.value!==void 0),d=()=>c?(n==null?void 0:n[c])===o.value:!1,p=()=>{if(i.value){if(n&&n[i.value]!=null)return n[i.value];{const b=o.value;if((b==null?void 0:b[i.value])!=null)return!!b[i.value]}}return!1};async function v(){if(!(!f.value||!s.value)){if(a.value)if((n==null?void 0:n[a.value])!=null)await n[a.value]();else{const b=o.value;(b==null?void 0:b[a.value])!=null&&await b[a.value]()}s.value=!1}}async function m(){if(!f.value||s.value)return;p()&&await v();const b=o.value;l.value&&(b==null?void 0:b[l.value])!=null&&(await b[l.value](),s.value=!0)}async function E(){await(s.value?v():m())}const w=()=>{const b=p();(!b||b&&d())&&(s.value=b)};return Ce(n,oa,w,!1),Ce(()=>qe(o),oa,w,!1),r&&fn(v),{isSupported:f,isFullscreen:s,enter:m,exit:v,toggle:E}}function xo(e){return typeof Window<"u"&&e instanceof Window?e.document.documentElement:typeof Document<"u"&&e instanceof Document?e.documentElement:e}function Rg(e,t,n={}){const{window:r=dt}=n;return Ns(e,t,r==null?void 0:r.localStorage,n)}function ec(e){const t=window.getComputedStyle(e);if(t.overflowX==="scroll"||t.overflowY==="scroll"||t.overflowX==="auto"&&e.clientWidth1?!0:(t.preventDefault&&t.preventDefault(),!1)}const Rr=new WeakMap;function Hs(e,t=!1){const n=Q(t);let r=null;oe(Jh(e),l=>{const a=xo(Be(l));if(a){const i=a;Rr.get(i)||Rr.set(i,i.style.overflow),n.value&&(i.style.overflow="hidden")}},{immediate:!0});const o=()=>{const l=xo(Be(e));!l||n.value||(Qo&&(r=Ce(l,"touchmove",a=>{p1(a)},{passive:!1})),l.style.overflow="hidden",n.value=!0)},s=()=>{var l;const a=xo(Be(e));!a||!n.value||(Qo&&(r==null||r()),a.style.overflow=(l=Rr.get(a))!=null?l:"",Rr.delete(a),n.value=!1)};return fn(s),S({get(){return n.value},set(l){l?o():s()}})}function h1(e={}){const{window:t=dt,behavior:n="auto"}=e;if(!t)return{x:Q(0),y:Q(0)};const r=Q(t.scrollX),o=Q(t.scrollY),s=S({get(){return r.value},set(a){scrollTo({left:a,behavior:n})}}),l=S({get(){return o.value},set(a){scrollTo({top:a,behavior:n})}});return Ce(t,"scroll",()=>{r.value=t.scrollX,o.value=t.scrollY},{capture:!1,passive:!0}),{x:s,y:l}}function v1(e={}){const{window:t=dt,initialWidth:n=Number.POSITIVE_INFINITY,initialHeight:r=Number.POSITIVE_INFINITY,listenOrientation:o=!0,includeScrollbar:s=!0}=e,l=Q(n),a=Q(r),i=()=>{t&&(s?(l.value=t.innerWidth,a.value=t.innerHeight):(l.value=t.document.documentElement.clientWidth,a.value=t.document.documentElement.clientHeight))};if(i(),$s(i),Ce("resize",i,{passive:!0}),o){const c=Xi("(orientation: portrait)");oe(c,()=>i())}return{width:l,height:a}}const sa=async(e,t)=>{const{path:n,query:r}=e.currentRoute.value,{scrollBehavior:o}=e.options;e.options.scrollBehavior=void 0,await e.replace({path:n,query:r,hash:t}),e.options.scrollBehavior=o},g1=({headerLinkSelector:e,headerAnchorSelector:t,delay:n,offset:r=5})=>{const o=An();Ce("scroll",Ji(()=>{var m,E;const l=Math.max(window.scrollY,document.documentElement.scrollTop,document.body.scrollTop);if(Math.abs(l-0)d.some(b=>b.hash===w.hash));for(let w=0;w=(((m=b.parentElement)==null?void 0:m.offsetTop)??0)-r,x=!C||l<(((E=C.parentElement)==null?void 0:E.offsetTop)??0)-r;if(!(y&&x))continue;const k=decodeURIComponent(o.currentRoute.value.hash),q=decodeURIComponent(b.hash);if(k===q)return;if(f){for(let N=w+1;NEe(e.title)?{title:e.title}:null;const nc=Symbol(""),E1=e=>{tc=e},C1=()=>ke(nc),k1=e=>{e.provide(nc,tc)};var x1={"/":{title:"Catalog",empty:"No catalog"}};const S1=G({name:"Catalog",props:{base:{type:String,default:""},level:{type:Number,default:3},index:Boolean,hideHeading:Boolean},setup(e){const t=C1(),n=Jt(x1),r=xe(),o=ch(),s=Di(),a=Ne(Mh(o.value).map(([c,{meta:f}])=>{const d=t(f);if(!d)return null;const p=c.split("/").length;return{level:Ih(c,"/")?p-2:p-1,base:c.replace(/\/[^/]+\/?$/,"/"),path:c,...d}}).filter(c=>Zr(c)&&Ee(c.title))),i=S(()=>{const c=e.base?Gd(ki(e.base)):r.value.path.replace(/\/[^/]+$/,"/"),f=c.split("/").length-2,d=[];return a.value.filter(({level:p,path:v})=>{if(!or(v,c)||v===c)return!1;if(c==="/"){const m=oo(s.value.locales).filter(E=>E!=="/");if(v==="/404.html"||m.some(E=>or(v,E)))return!1}return p-f<=e.level}).sort(({title:p,level:v,order:m},{title:E,level:w,order:b})=>{const C=v-w;return C||(ko(m)?ko(b)?m>0?b>0?m-b:-1:b<0?m-b:1:m:ko(b)?b:p.localeCompare(E))}).forEach(p=>{var E;const{base:v,level:m}=p;switch(m-f){case 1:{d.push(p);break}case 2:{const w=d.find(b=>b.path===v);w&&(w.children??(w.children=[])).push(p);break}default:{const w=d.find(b=>b.path===v.replace(/\/[^/]+\/$/,"/"));if(w){const b=(E=w.children)==null?void 0:E.find(C=>C.path===v);b&&(b.children??(b.children=[])).push(p)}}}}),d});return()=>{const c=i.value.some(f=>f.children);return u("div",{class:["vp-catalog-wrapper",{index:e.index}]},[e.hideHeading?null:u("h2",{class:"vp-catalog-main-title"},n.value.title),i.value.length?u(e.index?"ol":"ul",{class:["vp-catalogs",{deep:c}]},i.value.map(({children:f=[],title:d,path:p,content:v})=>{const m=u(Qe,{class:"vp-catalog-title",to:p},()=>v?u(v):d);return u("li",{class:"vp-catalog"},c?[u("h3",{id:d,class:["vp-catalog-child-title",{"has-children":f.length}]},[u("a",{href:`#${d}`,class:"vp-catalog-header-anchor","aria-hidden":!0},"#"),m]),f.length?u(e.index?"ol":"ul",{class:"vp-child-catalogs"},f.map(({children:E=[],content:w,path:b,title:C})=>u("li",{class:"vp-child-catalog"},[u("div",{class:["vp-catalog-sub-title",{"has-children":E.length}]},[u("a",{href:`#${C}`,class:"vp-catalog-header-anchor"},"#"),u(Qe,{class:"vp-catalog-title",to:b},()=>w?u(w):C)]),E.length?u(e.index?"ol":"div",{class:e.index?"vp-sub-catalogs":"vp-sub-catalogs-wrapper"},E.map(({content:y,path:x,title:$})=>e.index?u("li",{class:"vp-sub-catalog"},u(Qe,{to:x},()=>y?u(y):$)):u(Qe,{class:"vp-sub-catalog-link",to:x},()=>y?u(y):$))):null]))):null]:u("div",{class:"vp-catalog-child-title"},m))})):u("p",{class:"vp-empty-catalog"},n.value.empty)])}}}),T1=lt({enhance:({app:e})=>{k1(e),Tt("Catalog",e)||e.component("Catalog",S1)}});var A1={"/":{backToTop:"Back to top"}};const L1=G({name:"BackToTop",setup(){const e=Le(),t=Jt(A1),n=Ne(),{height:r}=d1(n),{height:o}=v1(),{y:s}=h1(),l=S(()=>e.value.backToTop!==!1&&s.value>100),a=S(()=>s.value/(r.value-o.value)*100);return _e(()=>{n.value=document.body}),()=>u(Ut,{name:"back-to-top"},()=>l.value?u("button",{type:"button",class:"vp-back-to-top-button","aria-label":t.value.backToTop,onClick:()=>{window.scrollTo({top:0,behavior:"smooth"})}},[u("span",{class:"vp-scroll-progress",role:"progressbar","aria-labelledby":"loadinglabel","aria-valuenow":a.value},u("svg",u("circle",{cx:"26",cy:"26",r:"24",fill:"none",stroke:"currentColor","stroke-width":"4","stroke-dasharray":`${Math.PI*a.value*.48} ${Math.PI*(100-a.value)*.48}`}))),u("div",{class:"back-to-top-icon"})]):null)}}),O1=lt({rootComponents:[L1]}),R1=u("svg",{class:"external-link-icon",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",x:"0px",y:"0px",viewBox:"0 0 100 100",width:"15",height:"15"},[u("path",{fill:"currentColor",d:"M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"}),u("polygon",{fill:"currentColor",points:"45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"})]),rc=G({name:"ExternalLinkIcon",props:{locales:{type:Object,default:()=>({})}},setup(e){const t=un(),n=S(()=>e.locales[t.value]??{openInNewWindow:"open in new window"});return()=>u("span",[R1,u("span",{class:"external-link-icon-sr-only"},n.value.openInNewWindow)])}});var P1={};const I1=P1,M1=lt({enhance({app:e}){e.component("ExternalLinkIcon",u(rc,{locales:I1}))}});/** + */const hn=typeof document<"u";function rp(e){return e.__esModule||e[Symbol.toStringTag]==="Module"}const ue=Object.assign;function yo(e,t){const n={};for(const r in t){const o=t[r];n[r]=ft(o)?o.map(e):e(o)}return n}const Un=()=>{},ft=Array.isArray,Si=/#/g,op=/&/g,sp=/\//g,lp=/=/g,ap=/\?/g,Ti=/\+/g,ip=/%5B/g,cp=/%5D/g,Ai=/%5E/g,up=/%60/g,Li=/%7B/g,fp=/%7C/g,Ri=/%7D/g,dp=/%20/g;function Ls(e){return encodeURI(""+e).replace(fp,"|").replace(ip,"[").replace(cp,"]")}function pp(e){return Ls(e).replace(Li,"{").replace(Ri,"}").replace(Ai,"^")}function zo(e){return Ls(e).replace(Ti,"%2B").replace(dp,"+").replace(Si,"%23").replace(op,"%26").replace(up,"`").replace(Li,"{").replace(Ri,"}").replace(Ai,"^")}function hp(e){return zo(e).replace(lp,"%3D")}function vp(e){return Ls(e).replace(Si,"%23").replace(ap,"%3F")}function gp(e){return e==null?"":vp(e).replace(sp,"%2F")}function tr(e){try{return decodeURIComponent(""+e)}catch{}return""+e}const mp=/\/$/,bp=e=>e.replace(mp,"");function wo(e,t,n="/"){let r,o={},s="",l="";const a=t.indexOf("#");let i=t.indexOf("?");return a=0&&(i=-1),i>-1&&(r=t.slice(0,i),s=t.slice(i+1,a>-1?a:t.length),o=e(s)),a>-1&&(r=r||t.slice(0,a),l=t.slice(a,t.length)),r=Ep(r??t,n),{fullPath:r+(s&&"?")+s+l,path:r,query:o,hash:tr(l)}}function yp(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function Nl(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function wp(e,t,n){const r=t.matched.length-1,o=n.matched.length-1;return r>-1&&r===o&&Cn(t.matched[r],n.matched[o])&&Oi(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function Cn(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function Oi(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(!_p(e[n],t[n]))return!1;return!0}function _p(e,t){return ft(e)?Dl(e,t):ft(t)?Dl(t,e):e===t}function Dl(e,t){return ft(t)?e.length===t.length&&e.every((n,r)=>n===t[r]):e.length===1&&e[0]===t}function Ep(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),r=e.split("/"),o=r[r.length-1];(o===".."||o===".")&&r.push("");let s=n.length-1,l,a;for(l=0;l1&&s--;else break;return n.slice(0,s).join("/")+"/"+r.slice(l).join("/")}var nr;(function(e){e.pop="pop",e.push="push"})(nr||(nr={}));var Wn;(function(e){e.back="back",e.forward="forward",e.unknown=""})(Wn||(Wn={}));function Cp(e){if(!e)if(hn){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),bp(e)}const kp=/^[^#]+#/;function xp(e,t){return e.replace(kp,"#")+t}function Sp(e,t){const n=document.documentElement.getBoundingClientRect(),r=e.getBoundingClientRect();return{behavior:t.behavior,left:r.left-n.left-(t.left||0),top:r.top-n.top-(t.top||0)}}const eo=()=>({left:window.scrollX,top:window.scrollY});function Tp(e){let t;if("el"in e){const n=e.el,r=typeof n=="string"&&n.startsWith("#"),o=typeof n=="string"?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!o)return;t=Sp(o,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.scrollX,t.top!=null?t.top:window.scrollY)}function Hl(e,t){return(history.state?history.state.position-t:-1)+e}const qo=new Map;function Ap(e,t){qo.set(e,t)}function Lp(e){const t=qo.get(e);return qo.delete(e),t}let Rp=()=>location.protocol+"//"+location.host;function Pi(e,t){const{pathname:n,search:r,hash:o}=t,s=e.indexOf("#");if(s>-1){let a=o.includes(e.slice(s))?e.slice(s).length:1,i=o.slice(a);return i[0]!=="/"&&(i="/"+i),Nl(i,"")}return Nl(n,e)+r+o}function Op(e,t,n,r){let o=[],s=[],l=null;const a=({state:p})=>{const v=Pi(e,location),m=n.value,E=t.value;let w=0;if(p){if(n.value=v,t.value=p,l&&l===m){l=null;return}w=E?p.position-E.position:0}else r(v);o.forEach(b=>{b(n.value,m,{delta:w,type:nr.pop,direction:w?w>0?Wn.forward:Wn.back:Wn.unknown})})};function i(){l=n.value}function c(p){o.push(p);const v=()=>{const m=o.indexOf(p);m>-1&&o.splice(m,1)};return s.push(v),v}function f(){const{history:p}=window;p.state&&p.replaceState(ue({},p.state,{scroll:eo()}),"")}function d(){for(const p of s)p();s=[],window.removeEventListener("popstate",a),window.removeEventListener("beforeunload",f)}return window.addEventListener("popstate",a),window.addEventListener("beforeunload",f,{passive:!0}),{pauseListeners:i,listen:c,destroy:d}}function Fl(e,t,n,r=!1,o=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:o?eo():null}}function Pp(e){const{history:t,location:n}=window,r={value:Pi(e,n)},o={value:t.state};o.value||s(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function s(i,c,f){const d=e.indexOf("#"),p=d>-1?(n.host&&document.querySelector("base")?e:e.slice(d))+i:Rp()+e+i;try{t[f?"replaceState":"pushState"](c,"",p),o.value=c}catch(v){console.error(v),n[f?"replace":"assign"](p)}}function l(i,c){const f=ue({},t.state,Fl(o.value.back,i,o.value.forward,!0),c,{position:o.value.position});s(i,f,!0),r.value=i}function a(i,c){const f=ue({},o.value,t.state,{forward:i,scroll:eo()});s(f.current,f,!0);const d=ue({},Fl(r.value,i,null),{position:f.position+1},c);s(i,d,!1),r.value=i}return{location:r,state:o,push:a,replace:l}}function Ip(e){e=Cp(e);const t=Pp(e),n=Op(e,t.state,t.location,t.replace);function r(s,l=!0){l||n.pauseListeners(),history.go(s)}const o=ue({location:"",base:e,go:r,createHref:xp.bind(null,e)},t,n);return Object.defineProperty(o,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(o,"state",{enumerable:!0,get:()=>t.state.value}),o}function Mp(e){return typeof e=="string"||e&&typeof e=="object"}function Ii(e){return typeof e=="string"||typeof e=="symbol"}const xt={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0},Mi=Symbol("");var Bl;(function(e){e[e.aborted=4]="aborted",e[e.cancelled=8]="cancelled",e[e.duplicated=16]="duplicated"})(Bl||(Bl={}));function kn(e,t){return ue(new Error,{type:e,[Mi]:!0},t)}function Ct(e,t){return e instanceof Error&&Mi in e&&(t==null||!!(e.type&t))}const jl="[^/]+?",$p={sensitive:!1,strict:!1,start:!0,end:!0},Np=/[.+*?^${}()[\]/\\]/g;function Dp(e,t){const n=ue({},$p,t),r=[];let o=n.start?"^":"";const s=[];for(const c of e){const f=c.length?[]:[90];n.strict&&!c.length&&(o+="/");for(let d=0;dt.length?t.length===1&&t[0]===80?1:-1:0}function Fp(e,t){let n=0;const r=e.score,o=t.score;for(;n0&&t[t.length-1]<0}const Bp={type:0,value:""},jp=/[a-zA-Z0-9_]/;function Vp(e){if(!e)return[[]];if(e==="/")return[[Bp]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(v){throw new Error(`ERR (${n})/"${c}": ${v}`)}let n=0,r=n;const o=[];let s;function l(){s&&o.push(s),s=[]}let a=0,i,c="",f="";function d(){c&&(n===0?s.push({type:0,value:c}):n===1||n===2||n===3?(s.length>1&&(i==="*"||i==="+")&&t(`A repeatable param (${c}) must be alone in its segment. eg: '/:ids+.`),s.push({type:1,value:c,regexp:f,repeatable:i==="*"||i==="+",optional:i==="*"||i==="?"})):t("Invalid state to consume buffer"),c="")}function p(){c+=i}for(;a{l(C)}:Un}function l(f){if(Ii(f)){const d=r.get(f);d&&(r.delete(f),n.splice(n.indexOf(d),1),d.children.forEach(l),d.alias.forEach(l))}else{const d=n.indexOf(f);d>-1&&(n.splice(d,1),f.record.name&&r.delete(f.record.name),f.children.forEach(l),f.alias.forEach(l))}}function a(){return n}function i(f){let d=0;for(;d=0&&(f.record.path!==n[d].record.path||!$i(f,n[d]));)d++;n.splice(d,0,f),f.record.name&&!ql(f)&&r.set(f.record.name,f)}function c(f,d){let p,v={},m,E;if("name"in f&&f.name){if(p=r.get(f.name),!p)throw kn(1,{location:f});E=p.record.name,v=ue(zl(d.params,p.keys.filter(C=>!C.optional).concat(p.parent?p.parent.keys.filter(C=>C.optional):[]).map(C=>C.name)),f.params&&zl(f.params,p.keys.map(C=>C.name))),m=p.stringify(v)}else if(f.path!=null)m=f.path,p=n.find(C=>C.re.test(m)),p&&(v=p.parse(m),E=p.record.name);else{if(p=d.name?r.get(d.name):n.find(C=>C.re.test(d.path)),!p)throw kn(1,{location:f,currentLocation:d});E=p.record.name,v=ue({},d.params,f.params),m=p.stringify(v)}const w=[];let b=p;for(;b;)w.unshift(b.record),b=b.parent;return{name:E,path:m,params:v,matched:w,meta:Kp(w)}}return e.forEach(f=>s(f)),{addRoute:s,resolve:c,removeRoute:l,getRoutes:a,getRecordMatcher:o}}function zl(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}function Up(e){return{path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:void 0,beforeEnter:e.beforeEnter,props:Wp(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}}}function Wp(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const r in e.components)t[r]=typeof n=="object"?n[r]:n;return t}function ql(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function Kp(e){return e.reduce((t,n)=>ue(t,n.meta),{})}function Ul(e,t){const n={};for(const r in e)n[r]=r in t?t[r]:e[r];return n}function $i(e,t){return t.children.some(n=>n===e||$i(e,n))}function Gp(e){const t={};if(e===""||e==="?")return t;const r=(e[0]==="?"?e.slice(1):e).split("&");for(let o=0;os&&zo(s)):[r&&zo(r)]).forEach(s=>{s!==void 0&&(t+=(t.length?"&":"")+n,s!=null&&(t+="="+s))})}return t}function Yp(e){const t={};for(const n in e){const r=e[n];r!==void 0&&(t[n]=ft(r)?r.map(o=>o==null?null:""+o):r==null?r:""+r)}return t}const Jp=Symbol(""),Kl=Symbol(""),to=Symbol(""),Rs=Symbol(""),Uo=Symbol("");function In(){let e=[];function t(r){return e.push(r),()=>{const o=e.indexOf(r);o>-1&&e.splice(o,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function Bt(e,t,n,r,o,s=l=>l()){const l=r&&(r.enterCallbacks[o]=r.enterCallbacks[o]||[]);return()=>new Promise((a,i)=>{const c=p=>{p===!1?i(kn(4,{from:n,to:t})):p instanceof Error?i(p):Mp(p)?i(kn(2,{from:t,to:p})):(l&&r.enterCallbacks[o]===l&&typeof p=="function"&&l.push(p),a())},f=s(()=>e.call(r&&r.instances[o],t,n,c));let d=Promise.resolve(f);e.length<3&&(d=d.then(c)),d.catch(p=>i(p))})}function _o(e,t,n,r,o=s=>s()){const s=[];for(const l of e)for(const a in l.components){let i=l.components[a];if(!(t!=="beforeRouteEnter"&&!l.instances[a]))if(Qp(i)){const f=(i.__vccOpts||i)[t];f&&s.push(Bt(f,n,r,l,a,o))}else{let c=i();s.push(()=>c.then(f=>{if(!f)return Promise.reject(new Error(`Couldn't resolve component "${a}" at "${l.path}"`));const d=rp(f)?f.default:f;l.components[a]=d;const v=(d.__vccOpts||d)[t];return v&&Bt(v,n,r,l,a,o)()}))}}return s}function Qp(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function Gl(e){const t=ke(to),n=ke(Rs),r=S(()=>{const i=ln(e.to);return t.resolve(i)}),o=S(()=>{const{matched:i}=r.value,{length:c}=i,f=i[c-1],d=n.matched;if(!f||!d.length)return-1;const p=d.findIndex(Cn.bind(null,f));if(p>-1)return p;const v=Yl(i[c-2]);return c>1&&Yl(f)===v&&d[d.length-1].path!==v?d.findIndex(Cn.bind(null,i[c-2])):p}),s=S(()=>o.value>-1&&th(n.params,r.value.params)),l=S(()=>o.value>-1&&o.value===n.matched.length-1&&Oi(n.params,r.value.params));function a(i={}){return eh(i)?t[ln(e.replace)?"replace":"push"](ln(e.to)).catch(Un):Promise.resolve()}return{route:r,href:S(()=>r.value.href),isActive:s,isExactActive:l,navigate:a}}const Xp=G({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"}},useLink:Gl,setup(e,{slots:t}){const n=ur(Gl(e)),{options:r}=ke(to),o=S(()=>({[Jl(e.activeClass,r.linkActiveClass,"router-link-active")]:n.isActive,[Jl(e.exactActiveClass,r.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const s=t.default&&t.default(n);return e.custom?s:u("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:o.value},s)}}}),Zp=Xp;function eh(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function th(e,t){for(const n in t){const r=t[n],o=e[n];if(typeof r=="string"){if(r!==o)return!1}else if(!ft(o)||o.length!==r.length||r.some((s,l)=>s!==o[l]))return!1}return!0}function Yl(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const Jl=(e,t,n)=>e??t??n,nh=G({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const r=ke(Uo),o=S(()=>e.route||r.value),s=ke(Kl,0),l=S(()=>{let c=ln(s);const{matched:f}=o.value;let d;for(;(d=f[c])&&!d.components;)c++;return c}),a=S(()=>o.value.matched[l.value]);an(Kl,S(()=>l.value+1)),an(Jp,a),an(Uo,o);const i=Q();return oe(()=>[i.value,a.value,e.name],([c,f,d],[p,v,m])=>{f&&(f.instances[d]=c,v&&v!==f&&c&&c===p&&(f.leaveGuards.size||(f.leaveGuards=v.leaveGuards),f.updateGuards.size||(f.updateGuards=v.updateGuards))),c&&f&&(!v||!Cn(f,v)||!p)&&(f.enterCallbacks[d]||[]).forEach(E=>E(c))},{flush:"post"}),()=>{const c=o.value,f=e.name,d=a.value,p=d&&d.components[f];if(!p)return Ql(n.default,{Component:p,route:c});const v=d.props[f],m=v?v===!0?c.params:typeof v=="function"?v(c):v:null,w=u(p,ue({},m,t,{onVnodeUnmounted:b=>{b.component.isUnmounted&&(d.instances[f]=null)},ref:i}));return Ql(n.default,{Component:w,route:c})||w}}});function Ql(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const rh=nh;function oh(e){const t=qp(e.routes,e),n=e.parseQuery||Gp,r=e.stringifyQuery||Wl,o=e.history,s=In(),l=In(),a=In(),i=Ne(xt);let c=xt;hn&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const f=yo.bind(null,T=>""+T),d=yo.bind(null,gp),p=yo.bind(null,tr);function v(T,B){let H,W;return Ii(T)?(H=t.getRecordMatcher(T),W=B):W=T,t.addRoute(W,H)}function m(T){const B=t.getRecordMatcher(T);B&&t.removeRoute(B)}function E(){return t.getRoutes().map(T=>T.record)}function w(T){return!!t.getRecordMatcher(T)}function b(T,B){if(B=ue({},B||i.value),typeof T=="string"){const g=wo(n,T,B.path),_=t.resolve({path:g.path},B),L=o.createHref(g.fullPath);return ue(g,_,{params:p(_.params),hash:tr(g.hash),redirectedFrom:void 0,href:L})}let H;if(T.path!=null)H=ue({},T,{path:wo(n,T.path,B.path).path});else{const g=ue({},T.params);for(const _ in g)g[_]==null&&delete g[_];H=ue({},T,{params:d(g)}),B.params=d(B.params)}const W=t.resolve(H,B),se=T.hash||"";W.params=f(p(W.params));const de=yp(r,ue({},T,{hash:pp(se),path:W.path})),h=o.createHref(de);return ue({fullPath:de,hash:se,query:r===Wl?Yp(T.query):T.query||{}},W,{redirectedFrom:void 0,href:h})}function C(T){return typeof T=="string"?wo(n,T,i.value.path):ue({},T)}function y(T,B){if(c!==T)return kn(8,{from:B,to:T})}function x(T){return q(T)}function $(T){return x(ue(C(T),{replace:!0}))}function k(T){const B=T.matched[T.matched.length-1];if(B&&B.redirect){const{redirect:H}=B;let W=typeof H=="function"?H(T):H;return typeof W=="string"&&(W=W.includes("?")||W.includes("#")?W=C(W):{path:W},W.params={}),ue({query:T.query,hash:T.hash,params:W.path!=null?{}:T.params},W)}}function q(T,B){const H=c=b(T),W=i.value,se=T.state,de=T.force,h=T.replace===!0,g=k(H);if(g)return q(ue(C(g),{state:typeof g=="object"?ue({},se,g.state):se,force:de,replace:h}),B||H);const _=H;_.redirectedFrom=B;let L;return!de&&wp(r,W,H)&&(L=kn(16,{to:_,from:W}),Xe(W,W,!0,!1)),(L?Promise.resolve(L):O(_,W)).catch(A=>Ct(A)?Ct(A,2)?A:pt(A):U(A,_,W)).then(A=>{if(A){if(Ct(A,2))return q(ue({replace:h},C(A.to),{state:typeof A.to=="object"?ue({},se,A.to.state):se,force:de}),B||_)}else A=P(_,W,!0,h,se);return V(_,W,A),A})}function N(T,B){const H=y(T,B);return H?Promise.reject(H):Promise.resolve()}function K(T){const B=Et.values().next().value;return B&&typeof B.runWithContext=="function"?B.runWithContext(T):T()}function O(T,B){let H;const[W,se,de]=sh(T,B);H=_o(W.reverse(),"beforeRouteLeave",T,B);for(const g of W)g.leaveGuards.forEach(_=>{H.push(Bt(_,T,B))});const h=N.bind(null,T,B);return H.push(h),Ae(H).then(()=>{H=[];for(const g of s.list())H.push(Bt(g,T,B));return H.push(h),Ae(H)}).then(()=>{H=_o(se,"beforeRouteUpdate",T,B);for(const g of se)g.updateGuards.forEach(_=>{H.push(Bt(_,T,B))});return H.push(h),Ae(H)}).then(()=>{H=[];for(const g of de)if(g.beforeEnter)if(ft(g.beforeEnter))for(const _ of g.beforeEnter)H.push(Bt(_,T,B));else H.push(Bt(g.beforeEnter,T,B));return H.push(h),Ae(H)}).then(()=>(T.matched.forEach(g=>g.enterCallbacks={}),H=_o(de,"beforeRouteEnter",T,B,K),H.push(h),Ae(H))).then(()=>{H=[];for(const g of l.list())H.push(Bt(g,T,B));return H.push(h),Ae(H)}).catch(g=>Ct(g,8)?g:Promise.reject(g))}function V(T,B,H){a.list().forEach(W=>K(()=>W(T,B,H)))}function P(T,B,H,W,se){const de=y(T,B);if(de)return de;const h=B===xt,g=hn?history.state:{};H&&(W||h?o.replace(T.fullPath,ue({scroll:h&&g&&g.scroll},se)):o.push(T.fullPath,se)),i.value=T,Xe(T,B,H,h),pt()}let X;function ye(){X||(X=o.listen((T,B,H)=>{if(!ht.listening)return;const W=b(T),se=k(W);if(se){q(ue(se,{replace:!0}),W).catch(Un);return}c=W;const de=i.value;hn&&Ap(Hl(de.fullPath,H.delta),eo()),O(W,de).catch(h=>Ct(h,12)?h:Ct(h,2)?(q(h.to,W).then(g=>{Ct(g,20)&&!H.delta&&H.type===nr.pop&&o.go(-1,!1)}).catch(Un),Promise.reject()):(H.delta&&o.go(-H.delta,!1),U(h,W,de))).then(h=>{h=h||P(W,de,!1),h&&(H.delta&&!Ct(h,8)?o.go(-H.delta,!1):H.type===nr.pop&&Ct(h,20)&&o.go(-1,!1)),V(W,de,h)}).catch(Un)}))}let ge=In(),z=In(),Z;function U(T,B,H){pt(T);const W=z.list();return W.length?W.forEach(se=>se(T,B,H)):console.error(T),Promise.reject(T)}function Te(){return Z&&i.value!==xt?Promise.resolve():new Promise((T,B)=>{ge.add([T,B])})}function pt(T){return Z||(Z=!T,ye(),ge.list().forEach(([B,H])=>T?H(T):B()),ge.reset()),T}function Xe(T,B,H,W){const{scrollBehavior:se}=e;if(!hn||!se)return Promise.resolve();const de=!H&&Lp(Hl(T.fullPath,0))||(W||!H)&&history.state&&history.state.scroll||null;return Yt().then(()=>se(T,B,de)).then(h=>h&&Tp(h)).catch(h=>U(h,T,B))}const Oe=T=>o.go(T);let Ke;const Et=new Set,ht={currentRoute:i,listening:!0,addRoute:v,removeRoute:m,hasRoute:w,getRoutes:E,resolve:b,options:e,push:x,replace:$,go:Oe,back:()=>Oe(-1),forward:()=>Oe(1),beforeEach:s.add,beforeResolve:l.add,afterEach:a.add,onError:z.add,isReady:Te,install(T){const B=this;T.component("RouterLink",Zp),T.component("RouterView",rh),T.config.globalProperties.$router=B,Object.defineProperty(T.config.globalProperties,"$route",{enumerable:!0,get:()=>ln(i)}),hn&&!Ke&&i.value===xt&&(Ke=!0,x(o.location).catch(se=>{}));const H={};for(const se in xt)Object.defineProperty(H,se,{get:()=>i.value[se],enumerable:!0});T.provide(to,B),T.provide(Rs,Pa(H)),T.provide(Uo,i);const W=T.unmount;Et.add(T),T.unmount=function(){Et.delete(T),Et.size<1&&(c=xt,X&&X(),X=null,i.value=xt,Ke=!1,Z=!1),W()}}};function Ae(T){return T.reduce((B,H)=>B.then(()=>K(H)),Promise.resolve())}return ht}function sh(e,t){const n=[],r=[],o=[],s=Math.max(t.matched.length,e.matched.length);for(let l=0;lCn(c,a))?r.push(a):n.push(a));const i=e.matched[l];i&&(t.matched.find(c=>Cn(c,i))||o.push(i))}return[n,r,o]}function An(){return ke(to)}function Rt(){return ke(Rs)}var Os=Symbol(""),_t=()=>{const e=ke(Os);if(!e)throw new Error("useClientData() is called without provider.");return e},lh=()=>_t().pageComponent,Se=()=>_t().pageData,Le=()=>_t().pageFrontmatter,ah=()=>_t().pageHead,Ni=()=>_t().pageLang,ih=()=>_t().pageLayout,un=()=>_t().routeLocale,ch=()=>_t().routes,Di=()=>_t().siteData,no=()=>_t().siteLocaleData,uh=Symbol(""),Wo=Ne(tp),rr=Ne(np),Hi=e=>{const t=Jd(e);if(rr.value[t])return t;const n=encodeURI(t);return rr.value[n]?n:Wo.value[t]||Wo.value[n]||t},Wt=e=>{const t=Hi(e),n=rr.value[t]??{...rr.value["/404.html"],notFound:!0};return{path:t,notFound:!1,...n}},ro=G({name:"ClientOnly",setup(e,t){const n=Q(!1);return _e(()=>{n.value=!0}),()=>{var r,o;return n.value?(o=(r=t.slots).default)==null?void 0:o.call(r):null}}}),Fi=G({name:"Content",props:{path:{type:String,required:!1,default:""}},setup(e){const t=lh(),n=S(()=>{if(!e.path)return t.value;const r=Wt(e.path);return Ya(()=>r.loader().then(({comp:o})=>o))});return()=>u(n.value)}}),lt=(e={})=>e,ze=e=>cn(e)?e:`/${xi(e)}`,fh=e=>{if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget){const t=e.currentTarget.getAttribute("target");if(t!=null&&t.match(/\b_blank\b/i))return}return e.preventDefault(),!0}},Qe=({active:e=!1,activeClass:t="route-link-active",to:n,...r},{slots:o})=>{var i;const s=An(),l=Hi(n),a=l.startsWith("#")||l.startsWith("?")?l:ze(l);return u("a",{...r,class:["route-link",{[t]:e}],href:a,onClick:(c={})=>{fh(c)?s.push(n).catch():Promise.resolve()}},(i=o.default)==null?void 0:i.call(o))};Qe.displayName="RouteLink";Qe.props={active:Boolean,activeClass:String,to:String};var dh="Layout",ph="en-US",en=ur({resolveLayouts:e=>e.reduce((t,n)=>({...t,...n.layouts}),{}),resolvePageHead:(e,t,n)=>{const r=Ee(t.description)?t.description:n.description,o=[...Array.isArray(t.head)?t.head:[],...n.head,["title",{},e],["meta",{name:"description",content:r}]];return Kd(o)},resolvePageHeadTitle:(e,t)=>[e.title,t.title].filter(n=>!!n).join(" | "),resolvePageLang:(e,t)=>e.lang||t.lang||ph,resolvePageLayout:(e,t)=>{const n=Ee(e.frontmatter.layout)?e.frontmatter.layout:dh;if(!t[n])throw new Error(`[vuepress] Cannot resolve layout: ${n}`);return t[n]},resolveRouteLocale:(e,t)=>Qd(e,t),resolveSiteLocaleData:(e,t)=>{var n;return{...e,...e.locales[t],head:[...((n=e.locales[t])==null?void 0:n.head)??[],...e.head??[]]}}});const hh={},Jt=e=>{const t=un();return S(()=>e[t.value]??{})};var Fe=Uint8Array,gn=Uint16Array,vh=Int32Array,Bi=new Fe([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),ji=new Fe([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),gh=new Fe([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),Vi=function(e,t){for(var n=new gn(31),r=0;r<31;++r)n[r]=t+=1<>1|(he&21845)<<1;Mt=(Mt&52428)>>2|(Mt&13107)<<2,Mt=(Mt&61680)>>4|(Mt&3855)<<4,Ko[he]=((Mt&65280)>>8|(Mt&255)<<8)>>1}var Kn=function(e,t,n){for(var r=e.length,o=0,s=new gn(t);o>i]=c}else for(a=new gn(r),o=0;o>15-e[o]);return a},gr=new Fe(288);for(var he=0;he<144;++he)gr[he]=8;for(var he=144;he<256;++he)gr[he]=9;for(var he=256;he<280;++he)gr[he]=7;for(var he=280;he<288;++he)gr[he]=8;var Ui=new Fe(32);for(var he=0;he<32;++he)Ui[he]=5;var wh=Kn(gr,9,1),_h=Kn(Ui,5,1),Eo=function(e){for(var t=e[0],n=1;nt&&(t=e[n]);return t},it=function(e,t,n){var r=t/8|0;return(e[r]|e[r+1]<<8)>>(t&7)&n},Co=function(e,t){var n=t/8|0;return(e[n]|e[n+1]<<8|e[n+2]<<16)>>(t&7)},Eh=function(e){return(e+7)/8|0},Ps=function(e,t,n){return(t==null||t<0)&&(t=0),(n==null||n>e.length)&&(n=e.length),new Fe(e.subarray(t,n))},Ch=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"],tt=function(e,t,n){var r=new Error(t||Ch[e]);if(r.code=e,Error.captureStackTrace&&Error.captureStackTrace(r,tt),!n)throw r;return r},kh=function(e,t,n,r){var o=e.length,s=r?r.length:0;if(!o||t.f&&!t.l)return n||new Fe(0);var l=!n,a=l||t.i!=2,i=t.i;l&&(n=new Fe(o*3));var c=function(se){var de=n.length;if(se>de){var h=new Fe(Math.max(de*2,se));h.set(n),n=h}},f=t.f||0,d=t.p||0,p=t.b||0,v=t.l,m=t.d,E=t.m,w=t.n,b=o*8;do{if(!v){f=it(e,d,1);var C=it(e,d+1,3);if(d+=3,C)if(C==1)v=wh,m=_h,E=9,w=5;else if(C==2){var k=it(e,d,31)+257,q=it(e,d+10,15)+4,N=k+it(e,d+5,31)+1;d+=14;for(var K=new Fe(N),O=new Fe(19),V=0;V>4;if(y<16)K[V++]=y;else{var z=0,Z=0;for(y==16?(Z=3+it(e,d,3),d+=2,z=K[V-1]):y==17?(Z=3+it(e,d,7),d+=3):y==18&&(Z=11+it(e,d,127),d+=7);Z--;)K[V++]=z}}var U=K.subarray(0,k),Te=K.subarray(k);E=Eo(U),w=Eo(Te),v=Kn(U,E,1),m=Kn(Te,w,1)}else tt(1);else{var y=Eh(d)+4,x=e[y-4]|e[y-3]<<8,$=y+x;if($>o){i&&tt(0);break}a&&c(p+x),n.set(e.subarray(y,$),p),t.b=p+=x,t.p=d=$*8,t.f=f;continue}if(d>b){i&&tt(0);break}}a&&c(p+131072);for(var pt=(1<>4;if(d+=z&15,d>b){i&&tt(0);break}if(z||tt(2),Ke<256)n[p++]=Ke;else if(Ke==256){Oe=d,v=null;break}else{var Et=Ke-254;if(Ke>264){var V=Ke-257,ht=Bi[V];Et=it(e,d,(1<>4;Ae||tt(3),d+=Ae&15;var Te=yh[T];if(T>3){var ht=ji[T];Te+=Co(e,d)&(1<b){i&&tt(0);break}a&&c(p+131072);var B=p+Et;if(p>4>7||(e[0]<<8|e[1])%31)&&tt(6,"invalid zlib data"),(e[1]>>5&1)==+!t&&tt(6,"invalid zlib data: "+(e[1]&32?"need":"unexpected")+" dictionary"),(e[1]>>3&4)+2};function Th(e,t){return kh(e.subarray(Sh(e,t&&t.dictionary),-4),{i:2},t&&t.out,t&&t.dictionary)}var Xl=typeof TextEncoder<"u"&&new TextEncoder,Go=typeof TextDecoder<"u"&&new TextDecoder,Ah=0;try{Go.decode(xh,{stream:!0}),Ah=1}catch{}var Lh=function(e){for(var t="",n=0;;){var r=e[n++],o=(r>127)+(r>223)+(r>239);if(n+o>e.length)return{s:t,r:Ps(e,n-1)};o?o==3?(r=((r&15)<<18|(e[n++]&63)<<12|(e[n++]&63)<<6|e[n++]&63)-65536,t+=String.fromCharCode(55296|r>>10,56320|r&1023)):o&1?t+=String.fromCharCode((r&31)<<6|e[n++]&63):t+=String.fromCharCode((r&15)<<12|(e[n++]&63)<<6|e[n++]&63):t+=String.fromCharCode(r)}};function Rh(e,t){if(t){for(var n=new Fe(e.length),r=0;r>1)),l=0,a=function(f){s[l++]=f},r=0;rs.length){var i=new Fe(l+8+(o-r<<1));i.set(s),s=i}var c=e.charCodeAt(r);c<128||t?a(c):c<2048?(a(192|c>>6),a(128|c&63)):c>55295&&c<57344?(c=65536+(c&1047552)|e.charCodeAt(++r)&1023,a(240|c>>18),a(128|c>>12&63),a(128|c>>6&63),a(128|c&63)):(a(224|c>>12),a(128|c>>6&63),a(128|c&63))}return Ps(s,0,l)}function Oh(e,t){if(t){for(var n="",r=0;r{const t=atob(e);return Oh(Th(Rh(t,!0)))},Tt=(e,t)=>{var r;const n=(r=(t==null?void 0:t._instance)||Tn())==null?void 0:r.appContext.components;return n?e in n||st(e)in n||cr(st(e))in n:!1},Ph=e=>typeof e<"u",ko=e=>typeof e=="number",Yo=Array.isArray,or=(e,t)=>Ee(e)&&e.startsWith(t),Ih=(e,t)=>Ee(e)&&e.endsWith(t),Mh=Object.entries,oo=Object.keys,$h=Object.values,Nh=e=>{if(e){if(typeof e=="number")return new Date(e);const t=Date.parse(e.toString());if(!Number.isNaN(t))return new Date(t)}return null},so=e=>or(e,"/"),Dh="http://.",Hh=(e,t)=>{if(so(e)||typeof t!="string")return Wt(e);const n=t.slice(0,t.lastIndexOf("/"));return Wt(new URL(`${n}/${encodeURI(e)}`,Dh).pathname)},Wi=e=>new Promise(t=>setTimeout(t,e)),Ki=({type:e="info",text:t="",vertical:n,color:r},{slots:o})=>{var s;return u("span",{class:["vp-badge",e,{diy:r}],style:{verticalAlign:n??!1,backgroundColor:r??!1}},((s=o.default)==null?void 0:s.call(o))||t)};Ki.displayName="Badge";var Fh=G({name:"FontIcon",props:{icon:{type:String,default:""},color:{type:String,default:""},size:{type:[String,Number],default:""}},setup(e){const t=S(()=>{const r=["font-icon icon"],o=`${e.icon}`;return r.push(o),r}),n=S(()=>{const r={};return e.color&&(r.color=e.color),e.size&&(r["font-size"]=Number.isNaN(Number(e.size))?e.size:`${e.size}px`),oo(r).length?r:null});return()=>e.icon?u("span",{key:e.icon,class:t.value,style:n.value}):null}});const Bh=lt({enhance:({app:e})=>{Tt("Badge")||e.component("Badge",Ki),Tt("FontIcon")||e.component("FontIcon",Fh)},setup:()=>{},rootComponents:[]});function Gi(e,t){let n,r,o;const s=Q(!0),l=()=>{s.value=!0,o()};oe(e,l,{flush:"sync"});const a=typeof t=="function"?t:t.get,i=typeof t=="function"?void 0:t.set,c=ys((f,d)=>(r=f,o=d,{get(){return s.value&&(n=a(),s.value=!1),r(),n},set(p){i==null||i(p)}}));return Object.isExtensible(c)&&(c.trigger=l),c}function fn(e){return wa()?(ku(e),!0):!1}function Be(e){return typeof e=="function"?e():ln(e)}const mr=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const jh=e=>e!=null,Vh=Object.prototype.toString,zh=e=>Vh.call(e)==="[object Object]",At=()=>{},Jo=qh();function qh(){var e,t;return mr&&((e=window==null?void 0:window.navigator)==null?void 0:e.userAgent)&&(/iP(ad|hone|od)/.test(window.navigator.userAgent)||((t=window==null?void 0:window.navigator)==null?void 0:t.maxTouchPoints)>2&&/iPad|Macintosh/.test(window==null?void 0:window.navigator.userAgent))}function Is(e,t){function n(...r){return new Promise((o,s)=>{Promise.resolve(e(()=>t.apply(this,r),{fn:t,thisArg:this,args:r})).then(o).catch(s)})}return n}const Yi=e=>e();function Uh(e,t={}){let n,r,o=At;const s=a=>{clearTimeout(a),o(),o=At};return a=>{const i=Be(e),c=Be(t.maxWait);return n&&s(n),i<=0||c!==void 0&&c<=0?(r&&(s(r),r=null),Promise.resolve(a())):new Promise((f,d)=>{o=t.rejectOnCancel?d:f,c&&!r&&(r=setTimeout(()=>{n&&s(n),r=null,f(a())},c)),n=setTimeout(()=>{r&&s(r),r=null,f(a())},i)})}}function Wh(...e){let t=0,n,r=!0,o=At,s,l,a,i,c;!$e(e[0])&&typeof e[0]=="object"?{delay:l,trailing:a=!0,leading:i=!0,rejectOnCancel:c=!1}=e[0]:[l,a=!0,i=!0,c=!1]=e;const f=()=>{n&&(clearTimeout(n),n=void 0,o(),o=At)};return p=>{const v=Be(l),m=Date.now()-t,E=()=>s=p();return f(),v<=0?(t=Date.now(),E()):(m>v&&(i||!r)?(t=Date.now(),E()):a&&(s=new Promise((w,b)=>{o=c?b:w,n=setTimeout(()=>{t=Date.now(),r=!0,w(E()),f()},Math.max(0,v-m))})),!i&&!n&&(n=setTimeout(()=>r=!0,v)),r=!1,s)}}function Kh(e=Yi){const t=Q(!0);function n(){t.value=!1}function r(){t.value=!0}const o=(...s)=>{t.value&&e(...s)};return{isActive:fr(t),pause:n,resume:r,eventFilter:o}}function Gh(e){let t;function n(){return t||(t=e()),t}return n.reset=async()=>{const r=t;t=void 0,r&&await r},n}function Yh(e){return e||Tn()}function Jh(...e){if(e.length!==1)return Gr(...e);const t=e[0];return typeof t=="function"?fr(ys(()=>({get:t,set:At}))):Q(t)}function Ji(e,t=200,n={}){return Is(Uh(t,n),e)}function Qh(e,t=200,n=!1,r=!0,o=!1){return Is(Wh(t,n,r,o),e)}function Xh(e,t,n={}){const{eventFilter:r=Yi,...o}=n;return oe(e,Is(r,t),o)}function Zh(e,t,n={}){const{eventFilter:r,...o}=n,{eventFilter:s,pause:l,resume:a,isActive:i}=Kh(r);return{stop:Xh(e,t,{...o,eventFilter:s}),pause:l,resume:a,isActive:i}}function Ms(e,t=!0,n){Yh()?_e(e,n):t?e():Yt(e)}function e1(e,t,n={}){const{immediate:r=!0}=n,o=Q(!1);let s=null;function l(){s&&(clearTimeout(s),s=null)}function a(){o.value=!1,l()}function i(...c){l(),o.value=!0,s=setTimeout(()=>{o.value=!1,s=null,e(...c)},Be(t))}return r&&(o.value=!0,mr&&i()),fn(a),{isPending:fr(o),start:i,stop:a}}function Qo(e=!1,t={}){const{truthyValue:n=!0,falsyValue:r=!1}=t,o=$e(e),s=Q(e);function l(a){if(arguments.length)return s.value=a,s.value;{const i=Be(n);return s.value=s.value===i?Be(r):i,s.value}}return o?l:[s,l]}function qe(e){var t;const n=Be(e);return(t=n==null?void 0:n.$el)!=null?t:n}const dt=mr?window:void 0,t1=mr?window.document:void 0,Qi=mr?window.navigator:void 0;function Ce(...e){let t,n,r,o;if(typeof e[0]=="string"||Array.isArray(e[0])?([n,r,o]=e,t=dt):[t,n,r,o]=e,!t)return At;Array.isArray(n)||(n=[n]),Array.isArray(r)||(r=[r]);const s=[],l=()=>{s.forEach(f=>f()),s.length=0},a=(f,d,p,v)=>(f.addEventListener(d,p,v),()=>f.removeEventListener(d,p,v)),i=oe(()=>[qe(t),Be(o)],([f,d])=>{if(l(),!f)return;const p=zh(d)?{...d}:d;s.push(...n.flatMap(v=>r.map(m=>a(f,v,m,p))))},{immediate:!0,flush:"post"}),c=()=>{i(),l()};return fn(c),c}let ea=!1;function n1(e,t,n={}){const{window:r=dt,ignore:o=[],capture:s=!0,detectIframe:l=!1}=n;if(!r)return At;Jo&&!ea&&(ea=!0,Array.from(r.document.body.children).forEach(p=>p.addEventListener("click",At)),r.document.documentElement.addEventListener("click",At));let a=!0;const i=p=>o.some(v=>{if(typeof v=="string")return Array.from(r.document.querySelectorAll(v)).some(m=>m===p.target||p.composedPath().includes(m));{const m=qe(v);return m&&(p.target===m||p.composedPath().includes(m))}}),f=[Ce(r,"click",p=>{const v=qe(e);if(!(!v||v===p.target||p.composedPath().includes(v))){if(p.detail===0&&(a=!i(p)),!a){a=!0;return}t(p)}},{passive:!0,capture:s}),Ce(r,"pointerdown",p=>{const v=qe(e);a=!i(p)&&!!(v&&!p.composedPath().includes(v))},{passive:!0}),l&&Ce(r,"blur",p=>{setTimeout(()=>{var v;const m=qe(e);((v=r.document.activeElement)==null?void 0:v.tagName)==="IFRAME"&&!(m!=null&&m.contains(r.document.activeElement))&&t(p)},0)})].filter(Boolean);return()=>f.forEach(p=>p())}function r1(){const e=Q(!1),t=Tn();return t&&_e(()=>{e.value=!0},t),e}function Ln(e){const t=r1();return S(()=>(t.value,!!e()))}function Xi(e,t={}){const{window:n=dt}=t,r=Ln(()=>n&&"matchMedia"in n&&typeof n.matchMedia=="function");let o;const s=Q(!1),l=c=>{s.value=c.matches},a=()=>{o&&("removeEventListener"in o?o.removeEventListener("change",l):o.removeListener(l))},i=qa(()=>{r.value&&(a(),o=n.matchMedia(Be(e)),"addEventListener"in o?o.addEventListener("change",l):o.addListener(l),s.value=o.matches)});return fn(()=>{i(),a(),o=void 0}),s}function ta(e,t={}){const{controls:n=!1,navigator:r=Qi}=t,o=Ln(()=>r&&"permissions"in r);let s;const l=typeof e=="string"?{name:e}:e,a=Q(),i=()=>{s&&(a.value=s.state)},c=Gh(async()=>{if(o.value){if(!s)try{s=await r.permissions.query(l),Ce(s,"change",i),i()}catch{a.value="prompt"}return s}});return c(),n?{state:a,isSupported:o,query:c}:a}function o1(e={}){const{navigator:t=Qi,read:n=!1,source:r,copiedDuring:o=1500,legacy:s=!1}=e,l=Ln(()=>t&&"clipboard"in t),a=ta("clipboard-read"),i=ta("clipboard-write"),c=S(()=>l.value||s),f=Q(""),d=Q(!1),p=e1(()=>d.value=!1,o);function v(){l.value&&b(a.value)?t.clipboard.readText().then(C=>{f.value=C}):f.value=w()}c.value&&n&&Ce(["copy","cut"],v);async function m(C=Be(r)){c.value&&C!=null&&(l.value&&b(i.value)?await t.clipboard.writeText(C):E(C),f.value=C,d.value=!0,p.start())}function E(C){const y=document.createElement("textarea");y.value=C??"",y.style.position="absolute",y.style.opacity="0",document.body.appendChild(y),y.select(),document.execCommand("copy"),y.remove()}function w(){var C,y,x;return(x=(y=(C=document==null?void 0:document.getSelection)==null?void 0:C.call(document))==null?void 0:y.toString())!=null?x:""}function b(C){return C==="granted"||C==="prompt"}return{isSupported:c,text:f,copied:d,copy:m}}const Lr=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},Rr="__vueuse_ssr_handlers__",s1=l1();function l1(){return Rr in Lr||(Lr[Rr]=Lr[Rr]||{}),Lr[Rr]}function a1(e,t){return s1[e]||t}function i1(e){return e==null?"any":e instanceof Set?"set":e instanceof Map?"map":e instanceof Date?"date":typeof e=="boolean"?"boolean":typeof e=="string"?"string":typeof e=="object"?"object":Number.isNaN(e)?"any":"number"}const c1={boolean:{read:e=>e==="true",write:e=>String(e)},object:{read:e=>JSON.parse(e),write:e=>JSON.stringify(e)},number:{read:e=>Number.parseFloat(e),write:e=>String(e)},any:{read:e=>e,write:e=>String(e)},string:{read:e=>e,write:e=>String(e)},map:{read:e=>new Map(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e.entries()))},set:{read:e=>new Set(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e))},date:{read:e=>new Date(e),write:e=>e.toISOString()}},na="vueuse-storage";function $s(e,t,n,r={}){var o;const{flush:s="pre",deep:l=!0,listenToStorageChanges:a=!0,writeDefaults:i=!0,mergeDefaults:c=!1,shallow:f,window:d=dt,eventFilter:p,onError:v=O=>{console.error(O)},initOnMounted:m}=r,E=(f?Ne:Q)(typeof t=="function"?t():t);if(!n)try{n=a1("getDefaultStorage",()=>{var O;return(O=dt)==null?void 0:O.localStorage})()}catch(O){v(O)}if(!n)return E;const w=Be(t),b=i1(w),C=(o=r.serializer)!=null?o:c1[b],{pause:y,resume:x}=Zh(E,()=>k(E.value),{flush:s,deep:l,eventFilter:p});d&&a&&Ms(()=>{Ce(d,"storage",N),Ce(d,na,K),m&&N()}),m||N();function $(O,V){d&&d.dispatchEvent(new CustomEvent(na,{detail:{key:e,oldValue:O,newValue:V,storageArea:n}}))}function k(O){try{const V=n.getItem(e);if(O==null)$(V,null),n.removeItem(e);else{const P=C.write(O);V!==P&&(n.setItem(e,P),$(V,P))}}catch(V){v(V)}}function q(O){const V=O?O.newValue:n.getItem(e);if(V==null)return i&&w!=null&&n.setItem(e,C.write(w)),w;if(!O&&c){const P=C.read(V);return typeof c=="function"?c(P,w):b==="object"&&!Array.isArray(P)?{...w,...P}:P}else return typeof V!="string"?V:C.read(V)}function N(O){if(!(O&&O.storageArea!==n)){if(O&&O.key==null){E.value=w;return}if(!(O&&O.key!==e)){y();try{(O==null?void 0:O.newValue)!==C.write(E.value)&&(E.value=q(O))}catch(V){v(V)}finally{O?Yt(x):x()}}}}function K(O){N(O.detail)}return E}function u1(e){return Xi("(prefers-color-scheme: dark)",e)}function Zi(e,t,n={}){const{window:r=dt,...o}=n;let s;const l=Ln(()=>r&&"MutationObserver"in r),a=()=>{s&&(s.disconnect(),s=void 0)},i=S(()=>{const p=Be(e),v=(Array.isArray(p)?p:[p]).map(qe).filter(jh);return new Set(v)}),c=oe(()=>i.value,p=>{a(),l.value&&r&&p.size&&(s=new MutationObserver(t),p.forEach(v=>s.observe(v,o)))},{immediate:!0,flush:"post"}),f=()=>s==null?void 0:s.takeRecords(),d=()=>{a(),c()};return fn(d),{isSupported:l,stop:d,takeRecords:f}}function f1(e,t,n={}){const{window:r=dt,...o}=n;let s;const l=Ln(()=>r&&"ResizeObserver"in r),a=()=>{s&&(s.disconnect(),s=void 0)},i=S(()=>Array.isArray(e)?e.map(d=>qe(d)):[qe(e)]),c=oe(i,d=>{if(a(),l.value&&r){s=new ResizeObserver(t);for(const p of d)p&&s.observe(p,o)}},{immediate:!0,flush:"post"}),f=()=>{a(),c()};return fn(f),{isSupported:l,stop:f}}function d1(e,t={width:0,height:0},n={}){const{window:r=dt,box:o="content-box"}=n,s=S(()=>{var d,p;return(p=(d=qe(e))==null?void 0:d.namespaceURI)==null?void 0:p.includes("svg")}),l=Q(t.width),a=Q(t.height),{stop:i}=f1(e,([d])=>{const p=o==="border-box"?d.borderBoxSize:o==="content-box"?d.contentBoxSize:d.devicePixelContentBoxSize;if(r&&s.value){const v=qe(e);if(v){const m=r.getComputedStyle(v);l.value=Number.parseFloat(m.width),a.value=Number.parseFloat(m.height)}}else if(p){const v=Array.isArray(p)?p:[p];l.value=v.reduce((m,{inlineSize:E})=>m+E,0),a.value=v.reduce((m,{blockSize:E})=>m+E,0)}else l.value=d.contentRect.width,a.value=d.contentRect.height},n);Ms(()=>{const d=qe(e);d&&(l.value="offsetWidth"in d?d.offsetWidth:t.width,a.value="offsetHeight"in d?d.offsetHeight:t.height)});const c=oe(()=>qe(e),d=>{l.value=d?t.width:0,a.value=d?t.height:0});function f(){i(),c()}return{width:l,height:a,stop:f}}const ra=["fullscreenchange","webkitfullscreenchange","webkitendfullscreen","mozfullscreenchange","MSFullscreenChange"];function Ns(e,t={}){const{document:n=t1,autoExit:r=!1}=t,o=S(()=>{var b;return(b=qe(e))!=null?b:n==null?void 0:n.querySelector("html")}),s=Q(!1),l=S(()=>["requestFullscreen","webkitRequestFullscreen","webkitEnterFullscreen","webkitEnterFullScreen","webkitRequestFullScreen","mozRequestFullScreen","msRequestFullscreen"].find(b=>n&&b in n||o.value&&b in o.value)),a=S(()=>["exitFullscreen","webkitExitFullscreen","webkitExitFullScreen","webkitCancelFullScreen","mozCancelFullScreen","msExitFullscreen"].find(b=>n&&b in n||o.value&&b in o.value)),i=S(()=>["fullScreen","webkitIsFullScreen","webkitDisplayingFullscreen","mozFullScreen","msFullscreenElement"].find(b=>n&&b in n||o.value&&b in o.value)),c=["fullscreenElement","webkitFullscreenElement","mozFullScreenElement","msFullscreenElement"].find(b=>n&&b in n),f=Ln(()=>o.value&&n&&l.value!==void 0&&a.value!==void 0&&i.value!==void 0),d=()=>c?(n==null?void 0:n[c])===o.value:!1,p=()=>{if(i.value){if(n&&n[i.value]!=null)return n[i.value];{const b=o.value;if((b==null?void 0:b[i.value])!=null)return!!b[i.value]}}return!1};async function v(){if(!(!f.value||!s.value)){if(a.value)if((n==null?void 0:n[a.value])!=null)await n[a.value]();else{const b=o.value;(b==null?void 0:b[a.value])!=null&&await b[a.value]()}s.value=!1}}async function m(){if(!f.value||s.value)return;p()&&await v();const b=o.value;l.value&&(b==null?void 0:b[l.value])!=null&&(await b[l.value](),s.value=!0)}async function E(){await(s.value?v():m())}const w=()=>{const b=p();(!b||b&&d())&&(s.value=b)};return Ce(n,ra,w,!1),Ce(()=>qe(o),ra,w,!1),r&&fn(v),{isSupported:f,isFullscreen:s,enter:m,exit:v,toggle:E}}function xo(e){return typeof Window<"u"&&e instanceof Window?e.document.documentElement:typeof Document<"u"&&e instanceof Document?e.documentElement:e}function Og(e,t,n={}){const{window:r=dt}=n;return $s(e,t,r==null?void 0:r.localStorage,n)}function ec(e){const t=window.getComputedStyle(e);if(t.overflowX==="scroll"||t.overflowY==="scroll"||t.overflowX==="auto"&&e.clientWidth1?!0:(t.preventDefault&&t.preventDefault(),!1)}const Or=new WeakMap;function Ds(e,t=!1){const n=Q(t);let r=null;oe(Jh(e),l=>{const a=xo(Be(l));if(a){const i=a;Or.get(i)||Or.set(i,i.style.overflow),n.value&&(i.style.overflow="hidden")}},{immediate:!0});const o=()=>{const l=xo(Be(e));!l||n.value||(Jo&&(r=Ce(l,"touchmove",a=>{p1(a)},{passive:!1})),l.style.overflow="hidden",n.value=!0)},s=()=>{var l;const a=xo(Be(e));!a||!n.value||(Jo&&(r==null||r()),a.style.overflow=(l=Or.get(a))!=null?l:"",Or.delete(a),n.value=!1)};return fn(s),S({get(){return n.value},set(l){l?o():s()}})}function h1(e={}){const{window:t=dt,behavior:n="auto"}=e;if(!t)return{x:Q(0),y:Q(0)};const r=Q(t.scrollX),o=Q(t.scrollY),s=S({get(){return r.value},set(a){scrollTo({left:a,behavior:n})}}),l=S({get(){return o.value},set(a){scrollTo({top:a,behavior:n})}});return Ce(t,"scroll",()=>{r.value=t.scrollX,o.value=t.scrollY},{capture:!1,passive:!0}),{x:s,y:l}}function v1(e={}){const{window:t=dt,initialWidth:n=Number.POSITIVE_INFINITY,initialHeight:r=Number.POSITIVE_INFINITY,listenOrientation:o=!0,includeScrollbar:s=!0}=e,l=Q(n),a=Q(r),i=()=>{t&&(s?(l.value=t.innerWidth,a.value=t.innerHeight):(l.value=t.document.documentElement.clientWidth,a.value=t.document.documentElement.clientHeight))};if(i(),Ms(i),Ce("resize",i,{passive:!0}),o){const c=Xi("(orientation: portrait)");oe(c,()=>i())}return{width:l,height:a}}const oa=async(e,t)=>{const{path:n,query:r}=e.currentRoute.value,{scrollBehavior:o}=e.options;e.options.scrollBehavior=void 0,await e.replace({path:n,query:r,hash:t}),e.options.scrollBehavior=o},g1=({headerLinkSelector:e,headerAnchorSelector:t,delay:n,offset:r=5})=>{const o=An();Ce("scroll",Ji(()=>{var m,E;const l=Math.max(window.scrollY,document.documentElement.scrollTop,document.body.scrollTop);if(Math.abs(l-0)d.some(b=>b.hash===w.hash));for(let w=0;w=(((m=b.parentElement)==null?void 0:m.offsetTop)??0)-r,x=!C||l<(((E=C.parentElement)==null?void 0:E.offsetTop)??0)-r;if(!(y&&x))continue;const k=decodeURIComponent(o.currentRoute.value.hash),q=decodeURIComponent(b.hash);if(k===q)return;if(f){for(let N=w+1;NEe(e.title)?{title:e.title}:null;const nc=Symbol(""),E1=e=>{tc=e},C1=()=>ke(nc),k1=e=>{e.provide(nc,tc)};var x1={"/":{title:"Catalog",empty:"No catalog"}};const S1=G({name:"Catalog",props:{base:{type:String,default:""},level:{type:Number,default:3},index:Boolean,hideHeading:Boolean},setup(e){const t=C1(),n=Jt(x1),r=Se(),o=ch(),s=Di(),a=Ne(Mh(o.value).map(([c,{meta:f}])=>{const d=t(f);if(!d)return null;const p=c.split("/").length;return{level:Ih(c,"/")?p-2:p-1,base:c.replace(/\/[^/]+\/?$/,"/"),path:c,...d}}).filter(c=>Zr(c)&&Ee(c.title))),i=S(()=>{const c=e.base?Gd(ki(e.base)):r.value.path.replace(/\/[^/]+$/,"/"),f=c.split("/").length-2,d=[];return a.value.filter(({level:p,path:v})=>{if(!or(v,c)||v===c)return!1;if(c==="/"){const m=oo(s.value.locales).filter(E=>E!=="/");if(v==="/404.html"||m.some(E=>or(v,E)))return!1}return p-f<=e.level}).sort(({title:p,level:v,order:m},{title:E,level:w,order:b})=>{const C=v-w;return C||(ko(m)?ko(b)?m>0?b>0?m-b:-1:b<0?m-b:1:m:ko(b)?b:p.localeCompare(E))}).forEach(p=>{var E;const{base:v,level:m}=p;switch(m-f){case 1:{d.push(p);break}case 2:{const w=d.find(b=>b.path===v);w&&(w.children??(w.children=[])).push(p);break}default:{const w=d.find(b=>b.path===v.replace(/\/[^/]+\/$/,"/"));if(w){const b=(E=w.children)==null?void 0:E.find(C=>C.path===v);b&&(b.children??(b.children=[])).push(p)}}}}),d});return()=>{const c=i.value.some(f=>f.children);return u("div",{class:["vp-catalog-wrapper",{index:e.index}]},[e.hideHeading?null:u("h2",{class:"vp-catalog-main-title"},n.value.title),i.value.length?u(e.index?"ol":"ul",{class:["vp-catalogs",{deep:c}]},i.value.map(({children:f=[],title:d,path:p,content:v})=>{const m=u(Qe,{class:"vp-catalog-title",to:p},()=>v?u(v):d);return u("li",{class:"vp-catalog"},c?[u("h3",{id:d,class:["vp-catalog-child-title",{"has-children":f.length}]},[u("a",{href:`#${d}`,class:"vp-catalog-header-anchor","aria-hidden":!0},"#"),m]),f.length?u(e.index?"ol":"ul",{class:"vp-child-catalogs"},f.map(({children:E=[],content:w,path:b,title:C})=>u("li",{class:"vp-child-catalog"},[u("div",{class:["vp-catalog-sub-title",{"has-children":E.length}]},[u("a",{href:`#${C}`,class:"vp-catalog-header-anchor"},"#"),u(Qe,{class:"vp-catalog-title",to:b},()=>w?u(w):C)]),E.length?u(e.index?"ol":"div",{class:e.index?"vp-sub-catalogs":"vp-sub-catalogs-wrapper"},E.map(({content:y,path:x,title:$})=>e.index?u("li",{class:"vp-sub-catalog"},u(Qe,{to:x},()=>y?u(y):$)):u(Qe,{class:"vp-sub-catalog-link",to:x},()=>y?u(y):$))):null]))):null]:u("div",{class:"vp-catalog-child-title"},m))})):u("p",{class:"vp-empty-catalog"},n.value.empty)])}}}),T1=lt({enhance:({app:e})=>{k1(e),Tt("Catalog",e)||e.component("Catalog",S1)}});var A1={"/":{backToTop:"Back to top"}};const L1=G({name:"BackToTop",setup(){const e=Le(),t=Jt(A1),n=Ne(),{height:r}=d1(n),{height:o}=v1(),{y:s}=h1(),l=S(()=>e.value.backToTop!==!1&&s.value>100),a=S(()=>s.value/(r.value-o.value)*100);return _e(()=>{n.value=document.body}),()=>u(Ut,{name:"back-to-top"},()=>l.value?u("button",{type:"button",class:"vp-back-to-top-button","aria-label":t.value.backToTop,onClick:()=>{window.scrollTo({top:0,behavior:"smooth"})}},[u("span",{class:"vp-scroll-progress",role:"progressbar","aria-labelledby":"loadinglabel","aria-valuenow":a.value},u("svg",u("circle",{cx:"26",cy:"26",r:"24",fill:"none",stroke:"currentColor","stroke-width":"4","stroke-dasharray":`${Math.PI*a.value*.48} ${Math.PI*(100-a.value)*.48}`}))),u("div",{class:"back-to-top-icon"})]):null)}}),R1=lt({rootComponents:[L1]}),O1=u("svg",{class:"external-link-icon",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",x:"0px",y:"0px",viewBox:"0 0 100 100",width:"15",height:"15"},[u("path",{fill:"currentColor",d:"M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"}),u("polygon",{fill:"currentColor",points:"45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"})]),rc=G({name:"ExternalLinkIcon",props:{locales:{type:Object,default:()=>({})}},setup(e){const t=un(),n=S(()=>e.locales[t.value]??{openInNewWindow:"open in new window"});return()=>u("span",[O1,u("span",{class:"external-link-icon-sr-only"},n.value.openInNewWindow)])}});var P1={};const I1=P1,M1=lt({enhance({app:e}){e.component("ExternalLinkIcon",u(rc,{locales:I1}))}});/** * NProgress, (c) 2013, 2014 Rico Sta. Cruz - http://ricostacruz.com/nprogress * @license MIT - */const ae={settings:{minimum:.08,easing:"ease",speed:200,trickle:!0,trickleRate:.02,trickleSpeed:800,barSelector:'[role="bar"]',parent:"body",template:'
'},status:null,set:e=>{const t=ae.isStarted();e=So(e,ae.settings.minimum,1),ae.status=e===1?null:e;const n=ae.render(!t),r=n.querySelector(ae.settings.barSelector),o=ae.settings.speed,s=ae.settings.easing;return n.offsetWidth,$1(l=>{Pr(r,{transform:"translate3d("+la(e)+"%,0,0)",transition:"all "+o+"ms "+s}),e===1?(Pr(n,{transition:"none",opacity:"1"}),n.offsetWidth,setTimeout(function(){Pr(n,{transition:"all "+o+"ms linear",opacity:"0"}),setTimeout(function(){ae.remove(),l()},o)},o)):setTimeout(()=>l(),o)}),ae},isStarted:()=>typeof ae.status=="number",start:()=>{ae.status||ae.set(0);const e=()=>{setTimeout(()=>{ae.status&&(ae.trickle(),e())},ae.settings.trickleSpeed)};return ae.settings.trickle&&e(),ae},done:e=>!e&&!ae.status?ae:ae.inc(.3+.5*Math.random()).set(1),inc:e=>{let t=ae.status;return t?(typeof e!="number"&&(e=(1-t)*So(Math.random()*t,.1,.95)),t=So(t+e,0,.994),ae.set(t)):ae.start()},trickle:()=>ae.inc(Math.random()*ae.settings.trickleRate),render:e=>{if(ae.isRendered())return document.getElementById("nprogress");aa(document.documentElement,"nprogress-busy");const t=document.createElement("div");t.id="nprogress",t.innerHTML=ae.settings.template;const n=t.querySelector(ae.settings.barSelector),r=e?"-100":la(ae.status||0),o=document.querySelector(ae.settings.parent);return Pr(n,{transition:"all 0 linear",transform:"translate3d("+r+"%,0,0)"}),o!==document.body&&aa(o,"nprogress-custom-parent"),o==null||o.appendChild(t),t},remove:()=>{ia(document.documentElement,"nprogress-busy"),ia(document.querySelector(ae.settings.parent),"nprogress-custom-parent");const e=document.getElementById("nprogress");e&&N1(e)},isRendered:()=>!!document.getElementById("nprogress")},So=(e,t,n)=>en?n:e,la=e=>(-1+e)*100,$1=function(){const e=[];function t(){const n=e.shift();n&&n(t)}return function(n){e.push(n),e.length===1&&t()}}(),Pr=function(){const e=["Webkit","O","Moz","ms"],t={};function n(l){return l.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,function(a,i){return i.toUpperCase()})}function r(l){const a=document.body.style;if(l in a)return l;let i=e.length;const c=l.charAt(0).toUpperCase()+l.slice(1);let f;for(;i--;)if(f=e[i]+c,f in a)return f;return l}function o(l){return l=n(l),t[l]??(t[l]=r(l))}function s(l,a,i){a=o(a),l.style[a]=i}return function(l,a){for(const i in a){const c=a[i];c!==void 0&&Object.prototype.hasOwnProperty.call(a,i)&&s(l,i,c)}}}(),oc=(e,t)=>(typeof e=="string"?e:Fs(e)).indexOf(" "+t+" ")>=0,aa=(e,t)=>{const n=Fs(e),r=n+t;oc(n,t)||(e.className=r.substring(1))},ia=(e,t)=>{const n=Fs(e);if(!oc(e,t))return;const r=n.replace(" "+t+" "," ");e.className=r.substring(1,r.length-1)},Fs=e=>(" "+(e.className||"")+" ").replace(/\s+/gi," "),N1=e=>{e&&e.parentNode&&e.parentNode.removeChild(e)},D1=()=>{_e(()=>{const e=An(),t=new Set;t.add(e.currentRoute.value.path),e.beforeEach(n=>{t.has(n.path)||ae.start()}),e.afterEach(n=>{t.add(n.path),ae.done()})})},H1=lt({setup(){D1()}}),F1=JSON.parse(`{"encrypt":{},"logo":"/logo.svg","repo":"taskiq-python/taskiq","docsBranch":"master","docsDir":"docs","navbarAutoHide":"none","pure":true,"locales":{"/":{"lang":"en-US","navbarLocales":{"langName":"English","selectLangAriaLabel":"Select language"},"metaLocales":{"author":"Author","date":"Writing Date","origin":"Original","views":"Page views","category":"Category","tag":"Tag","readingTime":"Reading Time","words":"Words","toc":"On This Page","prev":"Prev","next":"Next","lastUpdated":"Last update","contributors":"Contributors","editLink":"Edit this page","print":"Print"},"outlookLocales":{"themeColor":"Theme Color","darkmode":"Theme Mode","fullscreen":"Full Screen"},"routeLocales":{"skipToContent":"Skip to main content","notFoundTitle":"Page not found","notFoundMsg":["There’s nothing here.","How did we get here?","That’s a Four-Oh-Four.","Looks like we've got some broken links."],"back":"Go back","home":"Take me home","openInNewWindow":"Open in new window"},"sidebar":"structure"}}}`),B1=Q(F1),sc=()=>B1,lc=Symbol(""),j1=()=>{const e=ke(lc);if(!e)throw new Error("useThemeLocaleData() is called without provider.");return e},V1=(e,t)=>{const{locales:n,...r}=e;return{...r,...n==null?void 0:n[t]}},z1=lt({enhance({app:e}){const t=sc(),n=e._context.provides[Ps],r=S(()=>V1(t.value,n.routeLocale.value));e.provide(lc,r),Object.defineProperties(e.config.globalProperties,{$theme:{get(){return t.value}},$themeLocale:{get(){return r.value}}})}}),q1=/\b(?:Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini)/i,U1=()=>typeof window<"u"&&window.navigator&&"userAgent"in window.navigator&&q1.test(navigator.userAgent),W1=({delay:e=500,duration:t=2e3,locales:n,selector:r,showInMobile:o})=>{const{copy:s,copied:l}=o1({legacy:!0,copiedDuring:t}),a=Jt(n),i=xe(),c=p=>{if(!p.hasAttribute("copy-code-registered")){const v=document.createElement("button");v.type="button",v.classList.add("vp-copy-code-button"),v.innerHTML='
',v.setAttribute("aria-label",a.value.copy),v.setAttribute("data-copied",a.value.copied),p.parentElement&&p.parentElement.insertBefore(v,p),p.setAttribute("copy-code-registered","")}},f=()=>{Yt().then(()=>Wi(e)).then(()=>{r.forEach(p=>{document.querySelectorAll(p).forEach(c)})})},d=(p,v,m)=>{let{innerText:E=""}=v;/language-(shellscript|shell|bash|sh|zsh)/.test(p.classList.toString())&&(E=E.replace(/^ *(\$|>) /gm,"")),s(E).then(()=>{m.classList.add("copied"),oe(l,()=>{m.classList.remove("copied"),m.blur()},{once:!0})})};_e(()=>{const p=!U1()||o;p&&f(),Ce("click",v=>{const m=v.target;if(m.matches('div[class*="language-"] > button.copy')){const E=m.parentElement,w=m.nextElementSibling;w&&d(E,w,m)}else if(m.matches('div[class*="language-"] div.vp-copy-icon')){const E=m.parentElement,w=E.parentElement,b=E.nextElementSibling;b&&d(w,b,E)}}),oe(()=>i.value.path,()=>{p&&f()})})};var K1={"/":{copy:"Copy code",copied:"Copied"}},G1=['.theme-hope-content div[class*="language-"] pre'];const Y1=500,J1=2e3,Q1=K1,X1=G1,Z1=!0,ev=lt({setup:()=>{W1({selector:X1,locales:Q1,duration:J1,delay:Y1,showInMobile:Z1})}}),tv=()=>{Ce("beforeprint",()=>{document.querySelectorAll("details").forEach(e=>{e.open=!0})})},ve=({name:e="",color:t="currentColor"},{slots:n})=>{var r;return u("svg",{xmlns:"http://www.w3.org/2000/svg",class:["icon",`${e}-icon`],viewBox:"0 0 1024 1024",fill:t,"aria-label":`${e} icon`},(r=n.default)==null?void 0:r.call(n))};ve.displayName="IconBase";const ac=({size:e=48,stroke:t=4,wrapper:n=!0,height:r=2*e})=>{const o=u("svg",{xmlns:"http://www.w3.org/2000/svg",width:e,height:e,preserveAspectRatio:"xMidYMid",viewBox:"25 25 50 50"},[u("animateTransform",{attributeName:"transform",type:"rotate",dur:"2s",keyTimes:"0;1",repeatCount:"indefinite",values:"0;360"}),u("circle",{cx:"50",cy:"50",r:"20",fill:"none",stroke:"currentColor","stroke-width":t,"stroke-linecap":"round"},[u("animate",{attributeName:"stroke-dasharray",dur:"1.5s",keyTimes:"0;0.5;1",repeatCount:"indefinite",values:"1,200;90,200;1,200"}),u("animate",{attributeName:"stroke-dashoffset",dur:"1.5s",keyTimes:"0;0.5;1",repeatCount:"indefinite",values:"0;-35px;-125px"})])]);return n?u("div",{class:"loading-icon-wrapper",style:`display:flex;align-items:center;justify-content:center;height:${r}px`},o):o};ac.displayName="LoadingIcon";const ic=(e,{slots:t})=>{var n;return(n=t.default)==null?void 0:n.call(t)},nv=e=>cn(e)?e:`https://github.com/${e}`,Bs=(e="")=>!cn(e)||/github\.com/.test(e)?"GitHub":/bitbucket\.org/.test(e)?"Bitbucket":/gitlab\.com/.test(e)?"GitLab":/gitee\.com/.test(e)?"Gitee":null,cc=()=>u(ve,{name:"github"},()=>u("path",{d:"M511.957 21.333C241.024 21.333 21.333 240.981 21.333 512c0 216.832 140.544 400.725 335.574 465.664 24.49 4.395 32.256-10.07 32.256-23.083 0-11.69.256-44.245 0-85.205-136.448 29.61-164.736-64.64-164.736-64.64-22.315-56.704-54.4-71.765-54.4-71.765-44.587-30.464 3.285-29.824 3.285-29.824 49.195 3.413 75.179 50.517 75.179 50.517 43.776 75.008 114.816 53.333 142.762 40.79 4.523-31.66 17.152-53.377 31.19-65.537-108.971-12.458-223.488-54.485-223.488-242.602 0-53.547 19.114-97.323 50.517-131.67-5.035-12.33-21.93-62.293 4.779-129.834 0 0 41.258-13.184 134.912 50.346a469.803 469.803 0 0 1 122.88-16.554c41.642.213 83.626 5.632 122.88 16.554 93.653-63.488 134.784-50.346 134.784-50.346 26.752 67.541 9.898 117.504 4.864 129.834 31.402 34.347 50.474 78.123 50.474 131.67 0 188.586-114.73 230.016-224.042 242.09 17.578 15.232 33.578 44.672 33.578 90.454v135.85c0 13.142 7.936 27.606 32.854 22.87C862.25 912.597 1002.667 728.747 1002.667 512c0-271.019-219.648-490.667-490.71-490.667z"}));cc.displayName="GitHubIcon";const uc=()=>u(ve,{name:"gitee"},()=>u("path",{d:"M512 992C246.92 992 32 777.08 32 512S246.92 32 512 32s480 214.92 480 480-214.92 480-480 480zm242.97-533.34H482.39a23.7 23.7 0 0 0-23.7 23.7l-.03 59.28c0 13.08 10.59 23.7 23.7 23.7h165.96a23.7 23.7 0 0 1 23.7 23.7v11.85a71.1 71.1 0 0 1-71.1 71.1H375.71a23.7 23.7 0 0 1-23.7-23.7V423.11a71.1 71.1 0 0 1 71.1-71.1h331.8a23.7 23.7 0 0 0 23.7-23.7l.06-59.25a23.73 23.73 0 0 0-23.7-23.73H423.11a177.78 177.78 0 0 0-177.78 177.75v331.83c0 13.08 10.62 23.7 23.7 23.7h349.62a159.99 159.99 0 0 0 159.99-159.99V482.33a23.7 23.7 0 0 0-23.7-23.7z"}));uc.displayName="GiteeIcon";const fc=()=>u(ve,{name:"bitbucket"},()=>u("path",{d:"M575.256 490.862c6.29 47.981-52.005 85.723-92.563 61.147-45.714-20.004-45.714-92.562-1.133-113.152 38.29-23.442 93.696 7.424 93.696 52.005zm63.451-11.996c-10.276-81.152-102.29-134.839-177.152-101.156-47.433 21.138-79.433 71.424-77.129 124.562 2.853 69.705 69.157 126.866 138.862 120.576S647.3 548.571 638.708 478.83zm136.558-309.723c-25.161-33.134-67.986-38.839-105.728-45.13-106.862-17.151-216.576-17.7-323.438 1.134-35.438 5.706-75.447 11.996-97.719 43.996 36.572 34.304 88.576 39.424 135.424 45.129 84.553 10.862 171.447 11.447 256 .585 47.433-5.705 99.987-10.276 135.424-45.714zm32.585 591.433c-16.018 55.99-6.839 131.438-66.304 163.986-102.29 56.576-226.304 62.867-338.87 42.862-59.43-10.862-129.135-29.696-161.72-85.723-14.3-54.858-23.442-110.848-32.585-166.84l3.438-9.142 10.276-5.157c170.277 112.567 408.576 112.567 579.438 0 26.844 8.01 6.84 40.558 6.29 60.014zm103.424-549.157c-19.42 125.148-41.728 249.71-63.415 374.272-6.29 36.572-41.728 57.162-71.424 72.558-106.862 53.724-231.424 62.866-348.562 50.286-79.433-8.558-160.585-29.696-225.134-79.433-30.28-23.443-30.28-63.415-35.986-97.134-20.005-117.138-42.862-234.277-57.161-352.585 6.839-51.42 64.585-73.728 107.447-89.71 57.16-21.138 118.272-30.866 178.87-36.571 129.134-12.58 261.157-8.01 386.304 28.562 44.581 13.13 92.563 31.415 122.844 69.705 13.714 17.7 9.143 40.01 6.29 60.014z"}));fc.displayName="BitbucketIcon";const dc=()=>u(ve,{name:"source"},()=>u("path",{d:"M601.92 475.2c0 76.428-8.91 83.754-28.512 99.594-14.652 11.88-43.956 14.058-78.012 16.434-18.81 1.386-40.392 2.97-62.172 6.534-18.612 2.97-36.432 9.306-53.064 17.424V299.772c37.818-21.978 63.36-62.766 63.36-109.692 0-69.894-56.826-126.72-126.72-126.72S190.08 120.186 190.08 190.08c0 46.926 25.542 87.714 63.36 109.692v414.216c-37.818 21.978-63.36 62.766-63.36 109.692 0 69.894 56.826 126.72 126.72 126.72s126.72-56.826 126.72-126.72c0-31.086-11.286-59.598-29.7-81.576 13.266-9.504 27.522-17.226 39.996-19.206 16.038-2.574 32.868-3.762 50.688-5.148 48.312-3.366 103.158-7.326 148.896-44.55 61.182-49.698 74.25-103.158 75.24-187.902V475.2h-126.72zM316.8 126.72c34.848 0 63.36 28.512 63.36 63.36s-28.512 63.36-63.36 63.36-63.36-28.512-63.36-63.36 28.512-63.36 63.36-63.36zm0 760.32c-34.848 0-63.36-28.512-63.36-63.36s28.512-63.36 63.36-63.36 63.36 28.512 63.36 63.36-28.512 63.36-63.36 63.36zM823.68 158.4h-95.04V63.36h-126.72v95.04h-95.04v126.72h95.04v95.04h126.72v-95.04h95.04z"}));dc.displayName="SourceIcon";const rv=({link:e,type:t=Bs(e??"")})=>{if(!t)return null;const n=t.toLowerCase();return u(n==="bitbucket"?fc:n==="github"?cc:n==="gitlab"?"GitLab":n==="gitee"?uc:dc)};function ov(){const e=Q(!1),t=Tn();return t&&_e(()=>{e.value=!0},t),e}function sv(e){return ov(),S(()=>!!e())}const lv=()=>sv(()=>typeof window<"u"&&window.navigator&&"userAgent"in window.navigator),av=()=>{const e=lv();return S(()=>e.value&&/\b(?:Android|iPhone)/i.test(navigator.userAgent))},iv=e=>[/\((ipad);[-\w),; ]+apple/i,/applecoremedia\/[\w.]+ \((ipad)/i,/\b(ipad)\d\d?,\d\d?[;\]].+ios/i].some(t=>t.test(e)),cv=e=>[/ip[honead]{2,4}\b(?:.*os ([\w]+) like mac|; opera)/i,/cfnetwork\/.+darwin/i].some(t=>t.test(e)),uv=e=>[/(mac os x) ?([\w. ]*)/i,/(macintosh|mac_powerpc\b)(?!.+haiku)/i].some(t=>t.test(e)),fv=(e,t=0)=>{let n=3735928559^t,r=1103547991^t;for(let o=0,s;o>>16,2246822507),n^=Math.imul(r^r>>>13,3266489909),r=Math.imul(r^r>>>16,2246822507),r^=Math.imul(n^n>>>13,3266489909),4294967296*(2097151&r)+(n>>>0)},pc=(e,t)=>fv(e)%t,hc=/#.*$/u,dv=e=>{const t=hc.exec(e);return t?t[0]:""},ca=e=>decodeURI(e).replace(hc,"").replace(/\/index\.html$/iu,"/").replace(/\.html$/iu,"").replace(/(README|index)?\.md$/iu,""),vc=(e,t)=>{if(!Ph(t))return!1;const n=ca(e.path),r=ca(t),o=dv(t);return o?o===e.hash&&(!r||n===r):n===r};var pv=e=>Object.prototype.toString.call(e)==="[object Object]",sr=e=>typeof e=="string";const gc=Array.isArray,ua=e=>pv(e)&&sr(e.name),fa=(e,t=!1)=>e?gc(e)?e.map(n=>sr(n)?{name:n}:ua(n)?n:null).filter(n=>n!==null):sr(e)?[{name:e}]:ua(e)?[e]:(console.error(`Expect "author" to be \`AuthorInfo[] | AuthorInfo | string[] | string ${t?"":"| false"} | undefined\`, but got`,e),[]):[],mc=(e,t)=>{if(e){if(gc(e)&&e.every(sr))return e;if(sr(e))return[e];console.error(`Expect ${t||"value"} to be \`string[] | string | undefined\`, but got`,e)}return[]},hv=e=>mc(e,"category"),vv=e=>mc(e,"tag");let gv={};const bc=Symbol(""),mv=()=>ke(bc),bv=e=>{e.provide(bc,gv)},da=()=>{const e=document.documentElement;return e.classList.contains("dark")||e.getAttribute("data-theme")==="dark"},pn={useMaxWidth:!1},yv=e=>({dark:e,background:e?"#1e1e1e":"#fff",primaryColor:e?"#389d70":"#4abf8a",primaryBorderColor:e?"#389d70":"#4abf8a",primaryTextColor:e?"#fff":"#000",secondaryColor:"#ffb500",secondaryBorderColor:e?"#fff":"#000",secondaryTextColor:e?"#ddd":"#333",tertiaryColor:e?"#282828":"#efeef4",tertiaryBorderColor:e?"#bbb":"#242424",tertiaryTextColor:e?"#ddd":"#333",noteBkgColor:e?"#f6d365":"#fff5ad",noteTextColor:"#242424",noteBorderColor:e?"#f6d365":"#333",lineColor:e?"#d3d3d3":"#333",textColor:e?"#fff":"#242424",mainBkg:e?"#389d70":"#4abf8a",errorBkgColor:"#eb4d5d",errorTextColor:"#fff",nodeBorder:e?"#389d70":"#4abf8a",nodeTextColor:e?"#fff":"#242424",signalTextColor:e?"#9e9e9e":"#242424",classText:"#fff",labelColor:"#fff",attributeBackgroundColorEven:e?"#0d1117":"#fff",attributeBackgroundColorOdd:e?"#161b22":"#f8f8f8",fillType0:e?"#cf1322":"#f1636e",fillType1:"#f39c12",fillType2:"#2ecc71",fillType3:"#fa541c",fillType4:"#25a55b",fillType5:"#13c2c2",fillType6:"#096dd9",fillType7:"#aa6fe9"});var wv=G({name:"Mermaid",props:{id:{type:String,required:!0},code:{type:String,required:!0},title:{type:String,default:""}},setup(e){const{themeVariables:t,...n}=mv(),r=Ne(),o=S(()=>ea(e.code)),s=Q(""),l=Q(!1);let a=!1;const i=async()=>{const[{default:d}]=await Promise.all([ce(()=>import("./mermaid.core-DtSoU78u.js").then(p=>p.b9),[]),a?Promise.resolve():(a=!0,new Promise(p=>setTimeout(p,800)))]);d.initialize({theme:"base",themeVariables:{...yv(l.value),...Xd(t)?t(l.value):t},flowchart:pn,sequence:pn,journey:pn,gantt:pn,er:pn,pie:pn,...n,startOnLoad:!1}),s.value=(await d.render(e.id,o.value)).svg},c=()=>{const{body:d}=document,p=document.createElement("div");p.classList.add("mermaid-preview"),p.innerHTML=s.value,d.appendChild(p),p.addEventListener("click",()=>{d.removeChild(p)})},f=()=>{const d=`data:image/svg+xml;charset=utf8,${s.value.replace(/
/g,"
").replace(/%/g,"%25").replace(/"/g,"%22").replace(/'/g,"%27").replace(/&/g,"%26").replace(/#/g,"%23").replace(/{/g,"%7B").replace(/}/g,"%7D").replace(//g,"%3E")}`,p=document.createElement("a");p.setAttribute("href",d),p.setAttribute("download",`${e.title?ea(e.title):e.id}.svg`),p.click()};return _e(()=>{l.value=da(),i(),Zi(document.documentElement,()=>{l.value=da()},{attributeFilter:["class","data-theme"],attributes:!0}),oe(l,()=>i())}),()=>[u("div",{class:"mermaid-actions"},[u("button",{class:"preview-button",onClick:()=>c(),title:"preview",innerHTML:''}),u("button",{class:"download-button",onClick:()=>f(),title:"download",innerHTML:''})]),u("div",{ref:r,class:"mermaid-wrapper"},s.value?u("div",{class:"mermaid-content",innerHTML:s.value}):u(ac,{class:"mermaid-loading",height:96}))]}});const To=Ns("VUEPRESS_TAB_STORE",{});var _v=G({name:"Tabs",props:{active:{type:Number,default:0},data:{type:Array,required:!0},id:{type:String,required:!0},tabId:{type:String,default:""}},slots:Object,setup(e,{slots:t}){const n=Q(e.active),r=Ne([]),o=()=>{e.tabId&&(To.value[e.tabId]=e.data[n.value].id)},s=(c=n.value)=>{n.value=c{n.value=c>0?c-1:r.value.length-1,r.value[n.value].focus()},a=(c,f)=>{c.key===" "||c.key==="Enter"?(c.preventDefault(),n.value=f):c.key==="ArrowRight"?(c.preventDefault(),s()):c.key==="ArrowLeft"&&(c.preventDefault(),l()),o()},i=()=>{if(e.tabId){const c=e.data.findIndex(({id:f})=>To.value[e.tabId]===f);if(c!==-1)return c}return e.active};return _e(()=>{n.value=i(),oe(()=>To.value[e.tabId],(c,f)=>{if(e.tabId&&c!==f){const d=e.data.findIndex(({id:p})=>p===c);d!==-1&&(n.value=d)}})}),()=>e.data.length?u("div",{class:"vp-tabs"},[u("div",{class:"vp-tabs-nav",role:"tablist"},e.data.map(({id:c},f)=>{const d=f===n.value;return u("button",{type:"button",ref:p=>{p&&(r.value[f]=p)},class:["vp-tab-nav",{active:d}],role:"tab","aria-controls":`tab-${e.id}-${f}`,"aria-selected":d,onClick:()=>{n.value=f,o()},onKeydown:p=>a(p,f)},t[`title${f}`]({value:c,isActive:d}))})),e.data.map(({id:c},f)=>{const d=f===n.value;return u("div",{class:["vp-tab",{active:d}],id:`tab-${e.id}-${f}`,role:"tabpanel","aria-expanded":d},[u("div",{class:"vp-tab-title"},t[`title${f}`]({value:c,isActive:d})),t[`tab${f}`]({value:c,isActive:d})])})]):null}});const Ev=lt({enhance:({app:e})=>{bv(e),e.component("Mermaid",wv),e.component("Tabs",_v)},setup:()=>{tv()}});let Cv={};const yc=Symbol(""),kv=()=>ke(yc),xv=e=>{e.provide(yc,Cv)},Sv='
',Tv=e=>Ee(e)?Array.from(document.querySelectorAll(e)):e.map(t=>Array.from(document.querySelectorAll(t))).flat(),wc=e=>new Promise((t,n)=>{e.complete?t({type:"image",element:e,src:e.src,width:e.naturalWidth,height:e.naturalHeight,alt:e.alt,msrc:e.src}):(e.onload=()=>t(wc(e)),e.onerror=r=>n(r))}),Av=e=>{const{isSupported:t,toggle:n}=Ds();e.on("uiRegister",()=>{t.value&&e.ui.registerElement({name:"fullscreen",order:7,isButton:!0,html:'',onClick:()=>{n()}}),e.ui.registerElement({name:"download",order:8,isButton:!0,tagName:"a",html:{isCustomSVG:!0,inner:'',outlineID:"pswp__icn-download"},onInit:(r,o)=>{r.setAttribute("download",""),r.setAttribute("target","_blank"),r.setAttribute("rel","noopener"),o.on("change",()=>{r.setAttribute("href",o.currSlide.data.src)})}}),e.ui.registerElement({name:"bulletsIndicator",className:"photo-swipe-bullets-indicator",appendTo:"wrapper",onInit:(r,o)=>{const s=[];let l=-1;for(let a=0;a{o.goTo(s.indexOf(c.target))},s.push(i),r.appendChild(i)}o.on("change",()=>{l>=0&&s[l].classList.remove("active"),s[o.currIndex].classList.add("active"),l=o.currIndex})}})})},Lv=(e,t,n=!0)=>ce(()=>import("./photoswipe.esm-SzV8tJDW.js"),[]).then(({default:r})=>{let o=null;const s=e.map(l=>({html:Sv,element:l,msrc:l.src}));return e.forEach((l,a)=>{const i=()=>{o==null||o.destroy(),o=new r({preloaderDelay:0,showHideAnimationType:"zoom",...t,dataSource:s,index:a,...n?{closeOnVerticalDrag:!0,wheelToZoom:!1}:{}}),Av(o),o.addFilter("thumbEl",()=>l),o.addFilter("placeholderSrc",()=>l.src),o.init()};l.getAttribute("photo-swipe")||(l.style.cursor="zoom-in",l.addEventListener("click",()=>{i()}),l.addEventListener("keypress",({key:c})=>{c==="Enter"&&i()}),l.setAttribute("photo-swipe","")),wc(l).then(c=>{s.splice(a,1,c),o==null||o.refreshSlideContent(a)})}),n?Ce("wheel",()=>{o==null||o.close()}):()=>{}}),Ov=({selector:e,locales:t,delay:n=500,scrollToClose:r=!0})=>{const o=kv(),s=Jt(t),l=xe(),a=Le();let i=null;const c=()=>{const{photoSwipe:f}=a.value;f!==!1&&Yt().then(()=>Wi(n)).then(async()=>{const d=Ee(f)?f:e;i=await Lv(Tv(d),{...o,...s.value},r)})};_e(()=>{c(),oe(()=>l.value.path,()=>{i==null||i(),c()})}),Sn(()=>{i==null||i()})};var Rv={"/":{closeTitle:"Close",downloadTitle:"Download Image",fullscreenTitle:"Switch to full screen",zoomTitle:"Zoom in/out",arrowPrevTitle:"Prev (Arrow Left)",arrowNextTitle:"Next (Arrow Right)"}};const Pv=".theme-hope-content :not(a) > img:not([no-view])",Iv=Rv,Mv=800,$v=!0,Nv=lt({enhance:({app:e})=>{xv(e)},setup:()=>{Ov({selector:Pv,delay:Mv,locales:Iv,scrollToClose:$v})}}),Dv=()=>u(ve,{name:"heading"},()=>u("path",{d:"M250.4 704.6H64V595.4h202.4l26.2-166.6H94V319.6h214.4L352 64h127.8l-43.6 255.4h211.2L691 64h126.2l-43.6 255.4H960v109.2H756.2l-24.6 166.6H930v109.2H717L672 960H545.8l43.6-255.4H376.6L333 960H206.8l43.6-255.4zm168.4-276L394 595.4h211.2l24.6-166.6h-211z"}));Dv.displayName="HeadingIcon";const Hv=()=>u(ve,{name:"heart"},()=>u("path",{d:"M1024 358.156C1024 195.698 892.3 64 729.844 64c-86.362 0-164.03 37.218-217.844 96.49C458.186 101.218 380.518 64 294.156 64 131.698 64 0 195.698 0 358.156 0 444.518 37.218 522.186 96.49 576H96l320 320c32 32 64 64 96 64s64-32 96-64l320-320h-.49c59.272-53.814 96.49-131.482 96.49-217.844zM841.468 481.232 517.49 805.49a2981.962 2981.962 0 0 1-5.49 5.48c-1.96-1.95-3.814-3.802-5.49-5.48L182.532 481.234C147.366 449.306 128 405.596 128 358.156 128 266.538 202.538 192 294.156 192c47.44 0 91.15 19.366 123.076 54.532L512 350.912l94.768-104.378C638.696 211.366 682.404 192 729.844 192 821.462 192 896 266.538 896 358.156c0 47.44-19.368 91.15-54.532 123.076z"}));Hv.displayName="HeartIcon";const Fv=()=>u(ve,{name:"history"},()=>u("path",{d:"M512 1024a512 512 0 1 1 512-512 512 512 0 0 1-512 512zm0-896a384 384 0 1 0 384 384 384 384 0 0 0-384-384zm192 448H512a64 64 0 0 1-64-64V320a64 64 0 0 1 128 0v128h128a64 64 0 0 1 0 128z"}));Fv.displayName="HistoryIcon";const Bv=()=>u(ve,{name:"title"},()=>u("path",{d:"M512 256c70.656 0 134.656 28.672 180.992 75.008A254.933 254.933 0 0 1 768 512c0 83.968-41.024 157.888-103.488 204.48C688.96 748.736 704 788.48 704 832c0 105.984-86.016 192-192 192-106.048 0-192-86.016-192-192h128a64 64 0 1 0 128 0 64 64 0 0 0-64-64 255.19 255.19 0 0 1-181.056-75.008A255.403 255.403 0 0 1 256 512c0-83.968 41.024-157.824 103.488-204.544C335.04 275.264 320 235.584 320 192A192 192 0 0 1 512 0c105.984 0 192 85.952 192 192H576a64.021 64.021 0 0 0-128 0c0 35.328 28.672 64 64 64zM384 512c0 70.656 57.344 128 128 128s128-57.344 128-128-57.344-128-128-128-128 57.344-128 128z"}));Bv.displayName="TitleIcon";const js=()=>u(ve,{name:"search"},()=>u("path",{d:"M192 480a256 256 0 1 1 512 0 256 256 0 0 1-512 0m631.776 362.496-143.2-143.168A318.464 318.464 0 0 0 768 480c0-176.736-143.264-320-320-320S128 303.264 128 480s143.264 320 320 320a318.016 318.016 0 0 0 184.16-58.592l146.336 146.368c12.512 12.48 32.768 12.48 45.28 0 12.48-12.512 12.48-32.768 0-45.28"}));js.displayName="SearchIcon";const _c=()=>u("svg",{xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32",preserveAspectRatio:"xMidYMid",viewBox:"0 0 100 100"},[u("circle",{cx:"28",cy:"75",r:"11",fill:"currentColor"},u("animate",{attributeName:"fill-opacity",begin:"0s",dur:"1s",keyTimes:"0;0.2;1",repeatCount:"indefinite",values:"0;1;1"})),u("path",{fill:"none",stroke:"#88baf0","stroke-width":"10",d:"M28 47a28 28 0 0 1 28 28"},u("animate",{attributeName:"stroke-opacity",begin:"0.1s",dur:"1s",keyTimes:"0;0.2;1",repeatCount:"indefinite",values:"0;1;1"})),u("path",{fill:"none",stroke:"#88baf0","stroke-width":"10",d:"M28 25a50 50 0 0 1 50 50"},u("animate",{attributeName:"stroke-opacity",begin:"0.2s",dur:"1s",keyTimes:"0;0.2;1",repeatCount:"indefinite",values:"0;1;1"}))]);_c.displayName="LoadingIcon";const Ec=({hint:e})=>u("div",{class:"search-pro-result-wrapper loading"},[u(_c),e]);Ec.displayName="SearchLoading";const jv='';var Vv={0:{"/":{0:"C",1:"a",2:"t",3:"e",4:"g",5:"o",6:"r",7:"y",8:":",9:" ",10:"$",11:"c",12:"o",13:"n",14:"t",15:"e",16:"n",17:"t"}},1:{"/":{0:"T",1:"a",2:"g",3:":",4:" ",5:"$",6:"c",7:"o",8:"n",9:"t",10:"e",11:"n",12:"t"}}},zv={"/":{cancel:"Cancel",placeholder:"Search",search:"Search",searching:"Searching",defaultTitle:"Documentation",select:"to select",navigate:"to navigate",autocomplete:"to autocomplete",exit:"to exit",queryHistory:"Search History",resultHistory:"Result History",emptyHistory:"Empty Search History",emptyResult:"No results found",loading:"Loading search indexes..."}},qv={searchDelay:150,suggestDelay:0,queryHistoryCount:5,resultHistoryCount:5,hotKeys:[{key:"k",ctrl:!0},{key:"/",ctrl:!0}],worker:"search-pro.worker.js"};const qr=qv,Pg=Vv,Cc=qr.hotKeys,Vs=zv,Ao="Canceled because of new search request.",Ig=()=>{const e=new Worker(`/${qr.worker}`,{}),t={suggest:null,search:null,all:null};return e.addEventListener("message",({data:n})=>{const[r,o,s]=n,l=t[r];(l==null?void 0:l.id)===o&&l.resolve(s)}),e.addEventListener("error",n=>{console.error("Search Worker error:",n)}),{suggest:(n,r,o)=>new Promise((s,l)=>{var i;(i=t.suggest)==null||i.reject(new Error(Ao));const a=Date.now();e.postMessage({type:"suggest",id:a,query:n,locale:r,options:o}),t.suggest={id:a,resolve:s,reject:l}}),search:(n,r,o)=>new Promise((s,l)=>{var i;(i=t.search)==null||i.reject(new Error(Ao));const a=Date.now();e.postMessage({type:"search",id:a,query:n,locale:r,options:o}),console.log("post"),t.search={id:a,resolve:s,reject:l}}),all:(n,r,o)=>new Promise((s,l)=>{var i;(i=t.all)==null||i.reject(new Error(Ao));const a=Date.now();e.postMessage({type:"all",id:a,query:n,locale:r,options:o}),t.all={id:a,resolve:s,reject:l}}),terminate:()=>{e.terminate(),$h(t).forEach(n=>{n==null||n.reject(new Error("Worker has been terminated."))})}}};let Uv={};const kc=Symbol(""),Wv=()=>{const e=un(),{locales:t={},...n}=ke(kc);return S(()=>({...n,...t[e.value]||{}}))},Kv=e=>{e.provide(kc,Uv)},Gv=(e,t=!1)=>{const n=Q(0),r=S(()=>e.value[n.value]),o=()=>{n.value=n.value>0?n.value-1:e.value.length-1},s=()=>{n.value=n.value{t||(n.value=0)}),{index:n,item:r,prev:o,next:s}},Yv=e=>e instanceof Element?document.activeElement===e&&(["TEXTAREA","SELECT","INPUT"].includes(e.tagName)||e.hasAttribute("contenteditable")):!1,Jv=e=>Cc.some(t=>{const{key:n,ctrl:r=!1,shift:o=!1,alt:s=!1,meta:l=!1}=t;return n===e.key&&r===e.ctrlKey&&o===e.shiftKey&&s===e.altKey&&l===e.metaKey}),Qv='',Xv='',Zv='',e0='',zs=Symbol(""),t0=()=>{const e=Q(!1);an(zs,e)},n0=e=>({suggestions:Q([])}),Lo=Cc[0];var r0=G({name:"SearchBox",setup(){const e=Jt(Vs),t=ke(zs),n=Q(!1),r=S(()=>Lo?[(n.value?["⌃","⇧","⌥","⌘"]:["Ctrl","Shift","Alt","Win"]).filter((o,s)=>Lo[["ctrl","shift","alt","meta"][s]]),Lo.key.toUpperCase()]:null);return Ce("keydown",o=>{!t.value&&Jv(o)&&!Yv(o.target)&&(o.preventDefault(),t.value=!0)}),_e(()=>{const{userAgent:o}=navigator;n.value=uv(o)||cv(o)||iv(o)}),()=>[u("button",{type:"button",class:"search-pro-button","aria-label":e.value.search,onClick:()=>{t.value=!0}},[u(js),u("div",{class:"search-pro-placeholder"},e.value.search),r.value?u("div",{class:"search-pro-key-hints"},r.value.map(o=>u("kbd",{class:"search-pro-key"},o))):null])]}});const o0=Ja({loader:()=>ce(()=>import("./SearchResult-DFwnn_Jc.js"),[]),loadingComponent:()=>{const e=Jt(Vs);return u(Ec,{hint:e.value.loading})}});var s0=G({name:"SearchModal",setup(){const e=ke(zs),t=no(),n=av(),r=Jt(Vs),o=Wv(),s=Q(""),l=Q([]),{suggestions:a}=n0(),i=Q(!1),{index:c,prev:f,next:d}=Gv(a),p=Ne(),v=Ne(),m=(w=c.value)=>{s.value=a.value[w],i.value=!1};Ce("keydown",w=>{i.value?w.key==="ArrowUp"?f():w.key==="ArrowDown"?d():w.key==="Enter"?m():w.key==="Escape"&&(i.value=!1):w.key==="Escape"&&(e.value=!1)});const E=Ji(()=>{var w,b;(((b=(w=o.value).splitWord)==null?void 0:b.call(w,s.value))||Promise.resolve(s.value.split(" "))).then(C=>{l.value=C})},Math.min(qr.searchDelay,qr.suggestDelay));return oe(s,E,{immediate:!0}),_e(()=>{const w=Hs(document.body);oe(e,async b=>{var C;w.value=b,b&&(await Yt(),(C=p.value)==null||C.focus())}),n1(v,()=>{i.value=!1}),Sn(()=>{w.value=!1})}),()=>e.value?u("div",{class:"search-pro-modal-wrapper"},[u("div",{class:"search-pro-mask",onClick:()=>{e.value=!1,s.value=""}}),u("div",{class:"search-pro-modal"},[u("div",{class:"search-pro-box"},[u("form",[u("label",{for:"search-pro","aria-label":r.value.search},u(js)),u("input",{ref:p,type:"search",class:"search-pro-input",id:"search-pro",placeholder:r.value.placeholder,spellcheck:"false",autocapitalize:"off",autocomplete:"off",autocorrect:"off",name:`${t.value.title}-search`,value:s.value,"aria-controls":"search-pro-results",onKeydown:w=>{const{key:b}=w;a.value.length&&(b==="Tab"?(m(),w.preventDefault()):(b==="ArrowDown"||b==="ArrowUp"||b==="Escape")&&w.preventDefault())},onInput:({target:w})=>{s.value=w.value,i.value=!0,c.value=0}}),s.value?u("button",{type:"reset",class:"search-pro-clear-button",innerHTML:jv,onClick:()=>{s.value=""}}):null,null]),u("button",{type:"button",class:"search-pro-close-button",onClick:()=>{e.value=!1,s.value=""}},r.value.cancel)]),u(o0,{queries:l.value,isFocusing:!i.value,onClose:()=>{e.value=!1},onUpdateQuery:w=>{s.value=w}}),n.value?null:u("div",{class:"search-pro-hints"},[u("span",{class:"search-pro-hint"},[u("kbd",{innerHTML:Qv}),r.value.select]),u("span",{class:"search-pro-hint"},[u("kbd",{innerHTML:Zv}),u("kbd",{innerHTML:Xv}),r.value.navigate]),u("span",{class:"search-pro-hint"},[u("kbd",{innerHTML:e0}),r.value.exit])])])]):null}}),l0=lt({enhance({app:e}){Kv(e),e.component("SearchBox",r0)},setup(){t0()},rootComponents:[s0]});const xc=()=>{const e=xe();return S(()=>e.value.readingTime??null)},a0=(e,t)=>{const{minutes:n,words:r}=e,{less1Minute:o,word:s,time:l}=t;return{time:n<1?o:l.replace("$time",Math.round(n).toString()),words:s.replace("$word",r.toString())}},pa={words:"",time:""},Zo=typeof __READING_TIME_LOCALES__>"u"?null:__READING_TIME_LOCALES__,i0=()=>Zo?Jt(Zo):S(()=>null),c0=()=>{if(typeof Zo>"u")return S(()=>pa);const e=xc(),t=i0();return S(()=>e.value&&t.value?a0(e.value,t.value):pa)},On=()=>sc(),pe=()=>j1(),Oo=()=>null,u0="719px",f0="1440px",d0="false",Sc={mobileBreakPoint:u0,pcBreakPoint:f0,enableThemeColor:d0},qs={"/":["",{text:"Introduction",prefix:"guide/",collapsible:!0,children:["","getting-started","architecture-overview","cli","state-and-deps","scheduling-tasks","dynamic-brokers","testing-taskiq","message-format"]},{text:"Framework integrations",prefix:"framework_integrations/",collapsible:!0,children:["","taskiq-with-fastapi","taskiq-with-aiohttp","faststream","taskiq-with-aiogram"]},{text:"Extending taskiq",prefix:"extending-taskiq/",collapsible:!0,children:["","broker","middleware","result-backend","cli","schedule-sources"]},{text:"Available components",prefix:"available-components/",collapsible:!0,children:["","brokers","result-backends","schedule-sources","middlewares"]},"contrib"]},Tc=e=>{const{icon:t="",color:n,size:r}=e,o=n||r?{}:null;return n&&(o.color=n),r&&(o.height=Number.isNaN(Number(r))?r:`${r}px`),cn(t)?u("img",{class:"icon",src:t,alt:"","no-view":"",style:o}):so(t)?u("img",{class:"icon",src:ze(t),alt:"","aria-hidden":"","no-view":"",style:o}):u(yt("FontIcon"),e)};Tc.displayName="HopeIcon";var je=Tc;const p0="http://.",Us=()=>{const e=An(),t=Ot();return n=>{if(n)if(so(n))t.path!==n&&e.push(n);else if(Xr(n))window&&window.open(n);else{const r=t.path.slice(0,t.path.lastIndexOf("/"));e.push(new URL(`${r}/${encodeURI(n)}`,p0).pathname)}}},Ac=()=>{const e=pe(),t=Le();return S(()=>{const{author:n}=t.value;return n?fa(n):n===!1?[]:fa(e.value.author,!1)})},h0=()=>{const e=Le();return S(()=>hv(e.value.category).map(t=>({name:t,path:""})))},v0=()=>{const e=Le();return S(()=>vv(e.value.tag).map(t=>({name:t,path:""})))},g0=()=>{const e=Le(),t=xe();return S(()=>{const n=Nh(e.value.date);if(n)return n;const{createdTime:r}=t.value.git||{};return r?new Date(r):null})},m0=()=>{const e=pe(),t=xe(),n=Le(),r=Ac(),o=h0(),s=v0(),l=g0(),a=xc(),i=c0(),c=S(()=>({author:r.value,category:o.value,date:l.value,localizedDate:t.value.localizedDate,tag:s.value,isOriginal:n.value.isOriginal||!1,readingTime:a.value,readingTimeLocale:i.value,pageview:"pageview"in n.value?n.value.pageview:!0})),f=S(()=>"pageInfo"in n.value?n.value.pageInfo:"pageInfo"in e.value?e.value.pageInfo:null);return{info:c,items:f}},br=()=>{const e=On();return S(()=>!!e.value.pure)},{mobileBreakPoint:b0,pcBreakPoint:y0}=Sc,ha=e=>e.endsWith("px")?Number(e.slice(0,-2)):null,lo=()=>{const e=Q(!1),t=Q(!1),n=()=>{e.value=window.innerWidth<=(ha(b0)??719),t.value=window.innerWidth>=(ha(y0)??1440)};return Ce("resize",n,!1),Ce("orientationchange",n,!1),_e(()=>{n()}),{isMobile:e,isPC:t}},Lc=Symbol(""),yr=()=>{const e=ke(Lc);if(!e)throw new Error("useDarkmode() is called without provider.");return e},w0=e=>{const t=On(),n=u1(),r=S(()=>t.value.darkmode||"switch"),o=Ns("vuepress-theme-hope-scheme","auto"),s=S(()=>{const a=r.value;return a==="disable"?!1:a==="enable"?!0:a==="auto"?n.value:a==="toggle"?o.value==="dark":o.value==="dark"||o.value==="auto"&&n.value}),l=S(()=>{const a=r.value;return a==="switch"||a==="toggle"});e.provide(Lc,{canToggle:l,config:r,isDarkmode:s,status:o}),Object.defineProperties(e.config.globalProperties,{$isDarkmode:{get:()=>s.value}})},_0=()=>{const{config:e,isDarkmode:t,status:n}=yr();Ua(()=>{e.value==="disable"?n.value="light":e.value==="enable"?n.value="dark":e.value==="toggle"&&n.value==="auto"&&(n.value="light")}),_e(()=>{oe(t,r=>document.documentElement.setAttribute("data-theme",r?"dark":"light"),{immediate:!0})})},lr=(e,t,n=!1)=>"activeMatch"in t?new RegExp(t.activeMatch,"u").test(e.path):vc(e,t.link)?!0:"children"in t&&!n?t.children.some(r=>lr(e,r)):!1,Oc=(e,t)=>t.type==="group"?t.children.some(n=>n.type==="group"?Oc(e,n):n.type==="page"&&lr(e,n,!0))||"prefix"in t&&vc(e,t.prefix):!1,es=e=>!As(e)&&!Xr(e);var bt=(e=>(e.title="t",e.shortTitle="s",e.icon="i",e.index="I",e.order="O",e.breadcrumbExclude="b",e))(bt||{}),E0=(e=>(e.type="y",e.author="a",e.date="d",e.localizedDate="l",e.category="c",e.tag="g",e.isEncrypted="n",e.isOriginal="o",e.readingTime="r",e.excerpt="e",e.sticky="u",e.cover="v",e))(E0||{}),C0=(e=>(e.article="a",e.home="h",e.slide="s",e.page="p",e))(C0||{});const Ws=(e,t=!1,n)=>{const{meta:r,path:o,notFound:s}=Hh(e,n);return s?{text:o,link:o}:{text:!t&&r[bt.shortTitle]?r[bt.shortTitle]:r[bt.title]||o,link:o,...r[bt.icon]?{icon:r[bt.icon]}:{}}},rn=(e="",t="")=>so(t)||Xr(t)?t:`${ki(e)}${t}`,ts=({config:e,prefix:t=""})=>{const n=(r,o=t)=>{const s=Ee(r)?Ws(rn(o,r)):r.link?{...r,...es(r.link)?{link:Wt(rn(o,r.link)).path}:{}}:r;if("children"in s){const l=rn(o,s.prefix),a=s.children==="structure"?qs[l]:s.children;return{type:"group",...s,prefix:l,children:a.map(i=>n(i,l))}}return{type:"page",...s}};return e.map(r=>n(r))},k0=({config:e,page:t,headerDepth:n})=>{const r=oo(e).sort((o,s)=>s.length-o.length);for(const o of r)if(or(decodeURI(t.path),o)){const s=e[o];return s?ts({config:s==="structure"?qs[o]:s,page:t,headerDepth:n,prefix:o}):[]}return console.warn(`${t.path} is missing sidebar config.`),[]},x0=({config:e,routeLocale:t,page:n,headerDepth:r})=>e==="structure"?ts({config:qs[t],page:n,headerDepth:r,prefix:t}):Jo(e)?ts({config:e,page:n,headerDepth:r}):Zr(e)?k0({config:e,page:n,headerDepth:r}):[],Rc=Symbol(""),S0=()=>{const e=Le(),t=pe(),n=xe(),r=un(),o=S(()=>e.value.home?!1:e.value.sidebar??t.value.sidebar??"structure"),s=S(()=>e.value.headerDepth??t.value.headerDepth??2),l=Gi(()=>[o.value,s.value,n.value.path,null],()=>x0({config:o.value,routeLocale:r.value,page:n.value,headerDepth:s.value}));an(Rc,l)},Ks=()=>{const e=ke(Rc);if(!e)throw new Error("useSidebarItems() is called without provider.");return e};var T0=G({name:"PageFooter",setup(){const e=On(),t=pe(),n=Le(),r=Ac(),o=S(()=>{const{copyright:c,footer:f}=n.value;return f!==!1&&!!(c||f||t.value.displayFooter)}),s=S(()=>{const{footer:c}=n.value;return c===!1?!1:Ee(c)?c:t.value.footer||""}),l=S(()=>r.value.map(({name:c})=>c).join(", ")),a=c=>`Copyright © ${new Date().getFullYear()} ${l.value} ${c?`${c} Licensed`:""}`,i=S(()=>{const{copyright:c,license:f=""}=n.value,{license:d}=e.value,{copyright:p}=t.value;return c??(f?a(f):Ee(p)?p:l.value||d?a(d):!1)});return()=>o.value?u("footer",{class:"vp-footer-wrapper"},[s.value?u("div",{class:"vp-footer",innerHTML:s.value}):null,i.value?u("div",{class:"vp-copyright",innerHTML:i.value}):null]):null}}),Ue=G({name:"AutoLink",inheritAttrs:!1,props:{config:{type:Object,required:!0},exact:Boolean,noExternalLinkIcon:Boolean},emits:["focusout"],slots:Object,setup(e,{attrs:t,emit:n,slots:r}){const o=Ot(),s=Di(),l=Gr(e,"config"),a=S(()=>cn(l.value.link)),i=S(()=>!a.value&&Xr(l.value.link)),c=S(()=>l.value.target||(a.value?"_blank":void 0)),f=S(()=>c.value==="_blank"),d=S(()=>!a.value&&!i.value&&!f.value),p=S(()=>l.value.rel||(f.value?"noopener noreferrer":null)),v=S(()=>l.value.ariaLabel||l.value.text),m=S(()=>{if(e.exact)return!1;const w=oo(s.value.locales);return w.length?w.every(b=>b!==l.value.link):l.value.link!=="/"}),E=S(()=>d.value?l.value.activeMatch?new RegExp(l.value.activeMatch,"u").test(o.path):m.value?or(o.path,l.value.link):o.path===l.value.link:!1);return()=>{const{before:w,after:b,default:C}=r,{text:y,icon:x,link:$}=l.value;return d.value?u(Qe,{to:$,"aria-label":v.value,...t,class:["nav-link",{active:E.value},t.class],onFocusout:()=>n("focusout")},()=>C?C():[w?w():u(je,{icon:x}),y,b==null?void 0:b()]):u("a",{href:$,rel:p.value,target:c.value,"aria-label":v.value,...t,class:["nav-link",t.class],onFocusout:()=>n("focusout")},C?C():[w?w():u(je,{icon:x}),y,e.noExternalLinkIcon?null:u(rc),b==null?void 0:b()])}}}),A0=G({name:"NavbarDropdownLink",props:{config:{type:Object,required:!0}},slots:Object,setup(e,{slots:t}){const n=xe(),r=Gr(e,"config"),o=S(()=>r.value.ariaLabel||r.value.text),s=Q(!1);oe(()=>n.value.path,()=>{s.value=!1});const l=a=>{a.detail===0&&(s.value=!s.value)};return()=>{var a;return u("div",{class:["dropdown-wrapper",{open:s.value}]},[u("button",{type:"button",class:"dropdown-title","aria-label":o.value,onClick:l},[((a=t.title)==null?void 0:a.call(t))||u("span",{class:"title"},[u(je,{icon:r.value.icon}),e.config.text]),u("span",{class:"arrow"}),u("ul",{class:"nav-dropdown"},r.value.children.map((i,c)=>{const f=c===r.value.children.length-1;return u("li",{class:"dropdown-item"},"children"in i?[u("h4",{class:"dropdown-subtitle"},i.link?u(Ue,{config:i,onFocusout:()=>{i.children.length===0&&f&&(s.value=!1)}}):u("span",i.text)),u("ul",{class:"dropdown-subitem-wrapper"},i.children.map((d,p)=>u("li",{class:"dropdown-subitem"},u(Ue,{config:d,onFocusout:()=>{p===i.children.length-1&&f&&(s.value=!1)}}))))]:u(Ue,{config:i,onFocusout:()=>{f&&(s.value=!1)}}))}))])])}}});const Pc=(e,t="")=>Ee(e)?Ws(rn(t,e)):"children"in e?{...e,...e.link&&es(e.link)?{link:Wt(rn(t,e.link)).path}:{},children:e.children.map(n=>Pc(n,rn(t,e.prefix)))}:{...e,link:es(e.link)?Wt(rn(t,e.link)).path:e.link},Ic=()=>{const e=pe(),t=()=>(e.value.navbar||[]).map(n=>Pc(n));return Gi(()=>e.value.navbar,()=>t())},L0=()=>{const e=pe(),t=S(()=>e.value.repo||null),n=S(()=>t.value?nv(t.value):null),r=S(()=>t.value?Bs(t.value):null),o=S(()=>n.value?e.value.repoLabel??(r.value===null?"Source":r.value):null);return S(()=>!n.value||!o.value||e.value.repoDisplay===!1?null:{type:r.value||"Source",label:o.value,link:n.value})};var O0=G({name:"NavScreenDropdown",props:{config:{type:Object,required:!0}},setup(e){const t=xe(),n=Gr(e,"config"),r=S(()=>n.value.ariaLabel||n.value.text),o=Q(!1);oe(()=>t.value.path,()=>{o.value=!1});const s=(l,a)=>a[a.length-1]===l;return()=>[u("button",{type:"button",class:["nav-screen-dropdown-title",{active:o.value}],"aria-label":r.value,onClick:()=>{o.value=!o.value}},[u("span",{class:"title"},[u(je,{icon:n.value.icon}),e.config.text]),u("span",{class:["arrow",o.value?"down":"end"]})]),u("ul",{class:["nav-screen-dropdown",{hide:!o.value}]},n.value.children.map(l=>u("li",{class:"dropdown-item"},"children"in l?[u("h4",{class:"dropdown-subtitle"},l.link?u(Ue,{config:l,onFocusout:()=>{s(l,n.value.children)&&l.children.length===0&&(o.value=!1)}}):u("span",l.text)),u("ul",{class:"dropdown-subitem-wrapper"},l.children.map(a=>u("li",{class:"dropdown-subitem"},u(Ue,{config:a,onFocusout:()=>{s(a,l.children)&&s(l,n.value.children)&&(o.value=!1)}}))))]:u(Ue,{config:l,onFocusout:()=>{s(l,n.value.children)&&(o.value=!1)}}))))]}}),R0=G({name:"NavScreenLinks",setup(){const e=Ic();return()=>e.value.length?u("nav",{class:"nav-screen-links"},e.value.map(t=>u("div",{class:"navbar-links-item"},"children"in t?u(O0,{config:t}):u(Ue,{config:t})))):null}});const Mc=()=>u(ve,{name:"dark"},()=>u("path",{d:"M524.8 938.667h-4.267a439.893 439.893 0 0 1-313.173-134.4 446.293 446.293 0 0 1-11.093-597.334A432.213 432.213 0 0 1 366.933 90.027a42.667 42.667 0 0 1 45.227 9.386 42.667 42.667 0 0 1 10.24 42.667 358.4 358.4 0 0 0 82.773 375.893 361.387 361.387 0 0 0 376.747 82.774 42.667 42.667 0 0 1 54.187 55.04 433.493 433.493 0 0 1-99.84 154.88 438.613 438.613 0 0 1-311.467 128z"}));Mc.displayName="DarkIcon";const $c=()=>u(ve,{name:"light"},()=>u("path",{d:"M952 552h-80a40 40 0 0 1 0-80h80a40 40 0 0 1 0 80zM801.88 280.08a41 41 0 0 1-57.96-57.96l57.96-58a41.04 41.04 0 0 1 58 58l-58 57.96zM512 752a240 240 0 1 1 0-480 240 240 0 0 1 0 480zm0-560a40 40 0 0 1-40-40V72a40 40 0 0 1 80 0v80a40 40 0 0 1-40 40zm-289.88 88.08-58-57.96a41.04 41.04 0 0 1 58-58l57.96 58a41 41 0 0 1-57.96 57.96zM192 512a40 40 0 0 1-40 40H72a40 40 0 0 1 0-80h80a40 40 0 0 1 40 40zm30.12 231.92a41 41 0 0 1 57.96 57.96l-57.96 58a41.04 41.04 0 0 1-58-58l58-57.96zM512 832a40 40 0 0 1 40 40v80a40 40 0 0 1-80 0v-80a40 40 0 0 1 40-40zm289.88-88.08 58 57.96a41.04 41.04 0 0 1-58 58l-57.96-58a41 41 0 0 1 57.96-57.96z"}));$c.displayName="LightIcon";const Nc=()=>u(ve,{name:"auto"},()=>u("path",{d:"M512 992C246.92 992 32 777.08 32 512S246.92 32 512 32s480 214.92 480 480-214.92 480-480 480zm0-840c-198.78 0-360 161.22-360 360 0 198.84 161.22 360 360 360s360-161.16 360-360c0-198.78-161.22-360-360-360zm0 660V212c165.72 0 300 134.34 300 300 0 165.72-134.28 300-300 300z"}));Nc.displayName="AutoIcon";const Dc=()=>u(ve,{name:"enter-fullscreen"},()=>u("path",{d:"M762.773 90.24h-497.28c-96.106 0-174.4 78.293-174.4 174.4v497.28c0 96.107 78.294 174.4 174.4 174.4h497.28c96.107 0 175.04-78.293 174.4-174.4V264.64c0-96.213-78.186-174.4-174.4-174.4zm-387.2 761.173H215.04c-21.867 0-40.427-17.92-41.067-41.066V649.92c0-22.507 17.92-40.427 40.427-40.427 11.307 0 21.227 4.694 28.48 11.947 7.253 7.253 11.947 17.92 11.947 28.48v62.293l145.28-145.28c15.893-15.893 41.813-15.893 57.706 0 15.894 15.894 15.894 41.814 0 57.707l-145.28 145.28h62.294c22.506 0 40.426 17.92 40.426 40.427s-17.173 41.066-39.68 41.066zM650.24 165.76h160.427c21.866 0 40.426 17.92 41.066 41.067v160.426c0 22.507-17.92 40.427-40.426 40.427-11.307 0-21.227-4.693-28.48-11.947-7.254-7.253-11.947-17.92-11.947-28.48v-62.186L625.6 450.347c-15.893 15.893-41.813 15.893-57.707 0-15.893-15.894-15.893-41.814 0-57.707l145.28-145.28H650.88c-22.507 0-40.427-17.92-40.427-40.427s17.174-41.173 39.787-41.173z"}));Dc.displayName="EnterFullScreenIcon";const Hc=()=>u(ve,{name:"cancel-fullscreen"},()=>u("path",{d:"M778.468 78.62H247.922c-102.514 0-186.027 83.513-186.027 186.027V795.08c0 102.514 83.513 186.027 186.027 186.027h530.432c102.514 0 186.71-83.513 186.026-186.027V264.647C964.494 162.02 880.981 78.62 778.468 78.62zM250.88 574.35h171.122c23.324 0 43.122 19.115 43.804 43.805v171.121c0 24.008-19.114 43.122-43.122 43.122-12.06 0-22.641-5.006-30.378-12.743s-12.743-19.115-12.743-30.379V722.83L224.597 877.91c-16.953 16.952-44.6 16.952-61.553 0-16.953-16.954-16.953-44.602 0-61.554L318.009 661.39h-66.446c-24.007 0-43.122-19.114-43.122-43.122 0-24.12 18.432-43.918 42.439-43.918zm521.899-98.873H601.657c-23.325 0-43.122-19.114-43.805-43.804V260.55c0-24.007 19.115-43.122 43.122-43.122 12.06 0 22.642 5.007 30.379 12.743s12.743 19.115 12.743 30.38v66.445l154.965-154.965c16.953-16.953 44.601-16.953 61.554 0 16.953 16.953 16.953 44.6 0 61.554L705.536 388.55h66.446c24.007 0 43.122 19.115 43.122 43.122.114 24.007-18.318 43.804-42.325 43.804z"}));Hc.displayName="CancelFullScreenIcon";const Fc=()=>u(ve,{name:"outlook"},()=>[u("path",{d:"M224 800c0 9.6 3.2 44.8 6.4 54.4 6.4 48-48 76.8-48 76.8s80 41.6 147.2 0 134.4-134.4 38.4-195.2c-22.4-12.8-41.6-19.2-57.6-19.2C259.2 716.8 227.2 761.6 224 800zM560 675.2l-32 51.2c-51.2 51.2-83.2 32-83.2 32 25.6 67.2 0 112-12.8 128 25.6 6.4 51.2 9.6 80 9.6 54.4 0 102.4-9.6 150.4-32l0 0c3.2 0 3.2-3.2 3.2-3.2 22.4-16 12.8-35.2 6.4-44.8-9.6-12.8-12.8-25.6-12.8-41.6 0-54.4 60.8-99.2 137.6-99.2 6.4 0 12.8 0 22.4 0 12.8 0 38.4 9.6 48-25.6 0-3.2 0-3.2 3.2-6.4 0-3.2 3.2-6.4 3.2-6.4 6.4-16 6.4-16 6.4-19.2 9.6-35.2 16-73.6 16-115.2 0-105.6-41.6-198.4-108.8-268.8C704 396.8 560 675.2 560 675.2zM224 419.2c0-28.8 22.4-51.2 51.2-51.2 28.8 0 51.2 22.4 51.2 51.2 0 28.8-22.4 51.2-51.2 51.2C246.4 470.4 224 448 224 419.2zM320 284.8c0-22.4 19.2-41.6 41.6-41.6 22.4 0 41.6 19.2 41.6 41.6 0 22.4-19.2 41.6-41.6 41.6C339.2 326.4 320 307.2 320 284.8zM457.6 208c0-12.8 12.8-25.6 25.6-25.6 12.8 0 25.6 12.8 25.6 25.6 0 12.8-12.8 25.6-25.6 25.6C470.4 233.6 457.6 220.8 457.6 208zM128 505.6C128 592 153.6 672 201.6 736c28.8-60.8 112-60.8 124.8-60.8-16-51.2 16-99.2 16-99.2l316.8-422.4c-48-19.2-99.2-32-150.4-32C297.6 118.4 128 291.2 128 505.6zM764.8 86.4c-22.4 19.2-390.4 518.4-390.4 518.4-22.4 28.8-12.8 76.8 22.4 99.2l9.6 6.4c35.2 22.4 80 12.8 99.2-25.6 0 0 6.4-12.8 9.6-19.2 54.4-105.6 275.2-524.8 288-553.6 6.4-19.2-3.2-32-19.2-32C777.6 76.8 771.2 80 764.8 86.4z"})]);Fc.displayName="OutlookIcon";var Bc=G({name:"AppearanceSwitch",setup(){const{config:e,isDarkmode:t,status:n}=yr(),r=br(),o=()=>{e.value==="switch"?n.value={light:"dark",dark:"auto",auto:"light"}[n.value]:n.value=n.value==="light"?"dark":"light"},s=async l=>{if(!(document.startViewTransition&&!window.matchMedia("(prefers-reduced-motion: reduce)").matches&&!r.value)||!l){o();return}const a=l.clientX,i=l.clientY,c=Math.hypot(Math.max(a,innerWidth-a),Math.max(i,innerHeight-i)),f=t.value;await document.startViewTransition(async()=>{o(),await Yt()}).ready,t.value!==f&&document.documentElement.animate({clipPath:t.value?[`circle(${c}px at ${a}px ${i}px)`,`circle(0px at ${a}px ${i}px)`]:[`circle(0px at ${a}px ${i}px)`,`circle(${c}px at ${a}px ${i}px)`]},{duration:400,pseudoElement:t.value?"::view-transition-old(root)":"::view-transition-new(root)"})};return()=>u("button",{type:"button",id:"appearance-switch",onClick:s},[u(Nc,{style:{display:n.value==="auto"?"block":"none"}}),u(Mc,{style:{display:n.value==="dark"?"block":"none"}}),u($c,{style:{display:n.value==="light"?"block":"none"}})])}}),P0=G({name:"AppearanceMode",setup(){const e=pe(),{canToggle:t}=yr(),n=S(()=>e.value.outlookLocales.darkmode);return()=>t.value?u("div",{class:"appearance-wrapper"},[u("label",{class:"appearance-title",for:"appearance-switch"},n.value),u(Bc)]):null}});const Ro=Sc.enableThemeColor==="true";var jc=G({name:"ToggleFullScreenButton",setup(){const e=pe(),{isSupported:t,isFullscreen:n,toggle:r}=Ds(),o=S(()=>e.value.outlookLocales.fullscreen);return()=>t?u("div",{class:"full-screen-wrapper"},[u("label",{class:"full-screen-title",for:"full-screen-switch"},o.value),u("button",{type:"button",id:"full-screen-switch",class:"full-screen",ariaPressed:n.value,onClick:()=>r()},n.value?u(Hc):u(Dc))]):null}}),Vc=G({name:"OutlookSettings",setup(){const e=On(),t=br(),n=S(()=>!t.value&&e.value.fullscreen);return()=>u(ro,()=>[null,u(P0),n.value?u(jc):null])}}),I0=G({name:"NavScreen",props:{show:Boolean},emits:["close"],slots:Object,setup(e,{emit:t,slots:n}){const r=xe(),{isMobile:o}=lo(),s=Ne(),l=Hs(s);return _e(()=>{s.value=document.body,oe(o,a=>{!a&&e.show&&(l.value=!1,t("close"))}),oe(()=>r.value.path,()=>{l.value=!1,t("close")})}),Sn(()=>{l.value=!1}),()=>u(Ut,{name:"fade",onEnter:()=>{l.value=!0},onAfterLeave:()=>{l.value=!1}},()=>{var a,i;return e.show?u("div",{id:"nav-screen"},u("div",{class:"vp-nav-screen-container"},[(a=n.before)==null?void 0:a.call(n),u(R0),u("div",{class:"vp-outlook-wrapper"},u(Vc)),(i=n.after)==null?void 0:i.call(n)])):null})}}),M0=G({name:"NavbarBrand",setup(){const e=un(),t=no(),n=pe(),r=S(()=>n.value.home||e.value),o=S(()=>t.value.title),s=S(()=>n.value.navTitle??o.value),l=S(()=>n.value.logo?ze(n.value.logo):null),a=S(()=>n.value.logoDark?ze(n.value.logoDark):null);return()=>u(Qe,{to:r.value,class:"vp-brand"},()=>[l.value?u("img",{class:["vp-nav-logo",{light:!!a.value}],src:l.value,alt:""}):null,a.value?u("img",{class:["vp-nav-logo dark"],src:a.value,alt:""}):null,s.value?u("span",{class:["vp-site-name",{"hide-in-pad":l.value&&n.value.hideSiteNameOnMobile!==!1}]},s.value):null])}}),$0=G({name:"NavbarLinks",setup(){const e=Ic();return()=>e.value.length?u("nav",{class:"vp-nav-links"},e.value.map(t=>u("div",{class:"vp-nav-item hide-in-mobile"},"children"in t?u(A0,{config:t}):u(Ue,{config:t})))):null}}),N0=G({name:"RepoLink",setup(){const e=L0();return()=>e.value?u("div",{class:"vp-nav-item vp-action"},u("a",{class:"vp-action-link",href:e.value.link,target:"_blank",rel:"noopener noreferrer","aria-label":e.value.label},u(rv,{type:e.value.type,style:{width:"1.25rem",height:"1.25rem",verticalAlign:"middle"}}))):null}});const zc=({active:e=!1},{emit:t})=>u("button",{type:"button",class:["vp-toggle-navbar-button",{"is-active":e}],"aria-label":"Toggle Navbar","aria-expanded":e,"aria-controls":"nav-screen",onClick:()=>t("toggle")},u("span",[u("span",{class:"vp-top"}),u("span",{class:"vp-middle"}),u("span",{class:"vp-bottom"})]));zc.displayName="ToggleNavbarButton";var D0=zc;const ns=(e,{emit:t})=>u("button",{type:"button",class:"vp-toggle-sidebar-button",title:"Toggle Sidebar",onClick:()=>t("toggle")},u("span",{class:"icon"}));ns.displayName="ToggleSidebarButton",ns.emits=["toggle"];var H0=ns,F0=G({name:"OutlookButton",setup(){const{isSupported:e}=Ds(),t=On(),n=br(),r=xe(),{canToggle:o}=yr(),s=Q(!1),l=S(()=>!n.value&&t.value.fullscreen&&e);return oe(()=>r.value.path,()=>{s.value=!1}),()=>o.value||l.value||Ro?u("div",{class:"vp-nav-item hide-in-mobile"},o.value&&!l.value&&!Ro?u(Bc):l.value&&!o.value&&!Ro?u(jc):u("button",{type:"button",class:["outlook-button",{open:s.value}],tabindex:"-1","aria-hidden":!0},[u(Fc),u("div",{class:"outlook-dropdown"},u(Vc))])):null}}),B0=G({name:"NavBar",emits:["toggleSidebar"],slots:Object,setup(e,{emit:t,slots:n}){const r=pe(),{isMobile:o}=lo(),s=Q(!1),l=S(()=>{const{navbarAutoHide:f="mobile"}=r.value;return f!=="none"&&(f==="always"||o.value)}),a=S(()=>r.value.navbarLayout||{start:["Brand"],center:["Links"],end:["Language","Repo","Outlook","Search"]}),i={Brand:M0,Language:Oo,Links:$0,Repo:N0,Outlook:F0,Search:Tt("Docsearch")?yt("Docsearch"):Tt("SearchBox")?yt("SearchBox"):Oo},c=f=>i[f]??(Tt(f)?yt(f):Oo);return()=>{var f,d,p,v,m,E;return[u("header",{key:"navbar",id:"navbar",class:["vp-navbar",{"auto-hide":l.value,"hide-icon":r.value.navbarIcon===!1}]},[u("div",{class:"vp-navbar-start"},[u(H0,{onToggle:()=>{s.value&&(s.value=!1),t("toggleSidebar")}}),(f=n.startBefore)==null?void 0:f.call(n),(a.value.start||[]).map(w=>u(c(w))),(d=n.startAfter)==null?void 0:d.call(n)]),u("div",{class:"vp-navbar-center"},[(p=n.centerBefore)==null?void 0:p.call(n),(a.value.center||[]).map(w=>u(c(w))),(v=n.centerAfter)==null?void 0:v.call(n)]),u("div",{class:"vp-navbar-end"},[(m=n.endBefore)==null?void 0:m.call(n),(a.value.end||[]).map(w=>u(c(w))),(E=n.endAfter)==null?void 0:E.call(n),u(D0,{active:s.value,onToggle:()=>{s.value=!s.value}})])]),u(I0,{show:s.value,onClose:()=>{s.value=!1}},{before:()=>{var w;return(w=n.screenTop)==null?void 0:w.call(n)},after:()=>{var w;return(w=n.screenBottom)==null?void 0:w.call(n)}})]}}}),j0=G({name:"SidebarChild",props:{config:{type:Object,required:!0}},setup(e){const t=Ot();return()=>Ee(e.config.link)?u(Ue,{class:["vp-sidebar-link","vp-sidebar-page",{active:lr(t,e.config,!0)}],exact:!0,config:e.config}):u("p",e,[u(je,{icon:e.config.icon}),e.config.text])}}),V0=G({name:"SidebarGroup",props:{config:{type:Object,required:!0},open:{type:Boolean,required:!0}},emits:["toggle"],setup(e,{emit:t}){const n=Ot(),r=S(()=>lr(n,e.config)),o=S(()=>lr(n,e.config,!0));return()=>{const{collapsible:s,children:l=[],icon:a,prefix:i,link:c,text:f}=e.config;return u("section",{class:"vp-sidebar-group"},[u(s?"button":"p",{class:["vp-sidebar-header",{clickable:s||c,exact:o.value,active:r.value}],...s?{type:"button",onClick:()=>t("toggle"),onKeydown:d=>{d.key==="Enter"&&t("toggle")}}:{}},[u(je,{icon:a}),c?u(Ue,{class:"vp-sidebar-title",config:{text:f,link:c},noExternalLinkIcon:!0}):u("span",{class:"vp-sidebar-title"},f),s?u("span",{class:["vp-arrow",e.open?"down":"end"]}):null]),e.open||!s?u(qc,{key:i,config:l}):null])}}}),qc=G({name:"SidebarLinks",props:{config:{type:Array,required:!0}},setup(e){const t=Ot(),n=Q(-1),r=o=>{n.value=o===n.value?-1:o};return oe(()=>t.path,()=>{const o=e.config.findIndex(s=>Oc(t,s));n.value=o},{immediate:!0,flush:"post"}),()=>u("ul",{class:"vp-sidebar-links"},e.config.map((o,s)=>u("li",o.type==="group"?u(V0,{config:o,open:s===n.value,onToggle:()=>r(s)}):u(j0,{config:o}))))}}),z0=G({name:"SideBar",slots:Object,setup(e,{slots:t}){const n=Ot(),r=pe(),o=Ks(),s=Ne();return _e(()=>{oe(()=>n.hash,l=>{const a=document.querySelector(`.vp-sidebar a.vp-sidebar-link[href="${n.path}${l}"]`);if(!a)return;const{top:i,height:c}=s.value.getBoundingClientRect(),{top:f,height:d}=a.getBoundingClientRect();fi+c&&a.scrollIntoView(!1)},{immediate:!0})}),()=>{var l,a,i;return u("aside",{ref:s,id:"sidebar",class:["vp-sidebar",{"hide-icon":r.value.sidebarIcon===!1}],key:"sidebar"},[(l=t.top)==null?void 0:l.call(t),((a=t.default)==null?void 0:a.call(t))||u(qc,{config:o.value}),(i=t.bottom)==null?void 0:i.call(t)])}}}),Uc=G({name:"CommonWrapper",props:{containerClass:{type:String,default:""},noNavbar:Boolean,noSidebar:Boolean,noToc:Boolean},slots:Object,setup(e,{slots:t}){const n=An(),r=xe(),o=Le(),s=pe(),{isMobile:l,isPC:a}=lo(),[i,c]=Xo(!1),[f,d]=Xo(!1),p=Ks(),v=Q(!1),m=S(()=>e.noNavbar||o.value.navbar===!1||s.value.navbar===!1?!1:!!(r.value.title||s.value.logo||s.value.repo||s.value.navbar)),E=S(()=>e.noSidebar?!1:o.value.sidebar!==!1&&p.value.length!==0&&!o.value.home),w=S(()=>e.noToc||o.value.home?!1:o.value.toc||s.value.toc!==!1&&o.value.toc!==!1),b={x:0,y:0},C=k=>{b.x=k.changedTouches[0].clientX,b.y=k.changedTouches[0].clientY},y=k=>{const q=k.changedTouches[0].clientX-b.x,N=k.changedTouches[0].clientY-b.y;Math.abs(q)>Math.abs(N)*1.5&&Math.abs(q)>40&&(q>0&&b.x<=80?c(!0):c(!1))},x=()=>window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0;let $=0;return Ce("scroll",Qh(()=>{const k=x();k<=58||k<$?v.value=!1:$+200{k||c(!1)}),_e(()=>{const k=Hs(document.body);oe(i,N=>{k.value=N});const q=n.afterEach(()=>{c(!1)});Sn(()=>{k.value=!1,q()})}),()=>u(Tt("GlobalEncrypt")?yt("GlobalEncrypt"):ic,()=>u("div",{class:["theme-container",{"no-navbar":!m.value,"no-sidebar":!E.value&&!(t.sidebar||t.sidebarTop||t.sidebarBottom),"has-toc":w.value,"hide-navbar":v.value,"sidebar-collapsed":!l.value&&!a.value&&f.value,"sidebar-open":l.value&&i.value},e.containerClass,o.value.containerClass||""],onTouchStart:C,onTouchEnd:y},[m.value?u(B0,{onToggleSidebar:()=>c()},{startBefore:()=>{var k;return(k=t.navbarStartBefore)==null?void 0:k.call(t)},startAfter:()=>{var k;return(k=t.navbarStartAfter)==null?void 0:k.call(t)},centerBefore:()=>{var k;return(k=t.navbarCenterBefore)==null?void 0:k.call(t)},centerAfter:()=>{var k;return(k=t.navbarCenterAfter)==null?void 0:k.call(t)},endBefore:()=>{var k;return(k=t.navbarEndBefore)==null?void 0:k.call(t)},endAfter:()=>{var k;return(k=t.navbarEndAfter)==null?void 0:k.call(t)},screenTop:()=>{var k;return(k=t.navScreenTop)==null?void 0:k.call(t)},screenBottom:()=>{var k;return(k=t.navScreenBottom)==null?void 0:k.call(t)}}):null,u(Ut,{name:"fade"},()=>i.value?u("div",{class:"vp-sidebar-mask",onClick:()=>c(!1)}):null),u(Ut,{name:"fade"},()=>l.value?null:u("div",{class:"toggle-sidebar-wrapper",onClick:()=>d()},u("span",{class:["arrow",f.value?"end":"start"]}))),u(z0,{},{...t.sidebar?{default:()=>t.sidebar()}:{},top:()=>{var k;return(k=t.sidebarTop)==null?void 0:k.call(t)},bottom:()=>{var k;return(k=t.sidebarBottom)==null?void 0:k.call(t)}}),t.default(),u(T0)]))}});const mn=G({name:"DropTransition",props:{type:{type:String,default:"single"},delay:{type:Number,default:0},duration:{type:Number,default:.25},appear:Boolean},slots:Object,setup(e,{slots:t}){const n=o=>{o.style.transition=`transform ${e.duration}s ease-in-out ${e.delay}s, opacity ${e.duration}s ease-in-out ${e.delay}s`,o.style.transform="translateY(-20px)",o.style.opacity="0"},r=o=>{o.style.transform="translateY(0)",o.style.opacity="1"};return()=>u(e.type==="single"?Ut:Md,{name:"drop",appear:e.appear,onAppear:n,onAfterAppear:r,onEnter:n,onAfterEnter:r,onBeforeLeave:n},()=>t.default())}}),rs=({custom:e})=>u(Fi,{class:["theme-hope-content",{custom:e}]});rs.displayName="MarkdownContent",rs.props={custom:Boolean};var Wc=rs;const Kc=()=>u(ve,{name:"author"},()=>u("path",{d:"M649.6 633.6c86.4-48 147.2-144 147.2-249.6 0-160-128-288-288-288s-288 128-288 288c0 108.8 57.6 201.6 147.2 249.6-121.6 48-214.4 153.6-240 288-3.2 9.6 0 19.2 6.4 25.6 3.2 9.6 12.8 12.8 22.4 12.8h704c9.6 0 19.2-3.2 25.6-12.8 6.4-6.4 9.6-16 6.4-25.6-25.6-134.4-121.6-240-243.2-288z"}));Kc.displayName="AuthorIcon";const Gc=()=>u(ve,{name:"calendar"},()=>u("path",{d:"M716.4 110.137c0-18.753-14.72-33.473-33.472-33.473-18.753 0-33.473 14.72-33.473 33.473v33.473h66.993v-33.473zm-334.87 0c0-18.753-14.72-33.473-33.473-33.473s-33.52 14.72-33.52 33.473v33.473h66.993v-33.473zm468.81 33.52H716.4v100.465c0 18.753-14.72 33.473-33.472 33.473a33.145 33.145 0 01-33.473-33.473V143.657H381.53v100.465c0 18.753-14.72 33.473-33.473 33.473a33.145 33.145 0 01-33.473-33.473V143.657H180.6A134.314 134.314 0 0046.66 277.595v535.756A134.314 134.314 0 00180.6 947.289h669.74a134.36 134.36 0 00133.94-133.938V277.595a134.314 134.314 0 00-133.94-133.938zm33.473 267.877H147.126a33.145 33.145 0 01-33.473-33.473c0-18.752 14.72-33.473 33.473-33.473h736.687c18.752 0 33.472 14.72 33.472 33.473a33.145 33.145 0 01-33.472 33.473z"}));Gc.displayName="CalendarIcon";const Yc=()=>u(ve,{name:"category"},()=>u("path",{d:"M148.41 106.992h282.176c22.263 0 40.31 18.048 40.31 40.31V429.48c0 22.263-18.047 40.31-40.31 40.31H148.41c-22.263 0-40.311-18.047-40.311-40.31V147.302c0-22.263 18.048-40.31 40.311-40.31zM147.556 553.478H429.73c22.263 0 40.311 18.048 40.311 40.31v282.176c0 22.263-18.048 40.312-40.31 40.312H147.555c-22.263 0-40.311-18.049-40.311-40.312V593.79c0-22.263 18.048-40.311 40.31-40.311zM593.927 106.992h282.176c22.263 0 40.31 18.048 40.31 40.31V429.48c0 22.263-18.047 40.31-40.31 40.31H593.927c-22.263 0-40.311-18.047-40.311-40.31V147.302c0-22.263 18.048-40.31 40.31-40.31zM730.22 920.502H623.926c-40.925 0-74.22-33.388-74.22-74.425V623.992c0-41.038 33.387-74.424 74.425-74.424h222.085c41.038 0 74.424 33.226 74.424 74.067v114.233c0 10.244-8.304 18.548-18.547 18.548s-18.548-8.304-18.548-18.548V623.635c0-20.388-16.746-36.974-37.33-36.974H624.13c-20.585 0-37.331 16.747-37.331 37.33v222.086c0 20.585 16.654 37.331 37.126 37.331H730.22c10.243 0 18.547 8.304 18.547 18.547 0 10.244-8.304 18.547-18.547 18.547z"}));Yc.displayName="CategoryIcon";const Jc=()=>u(ve,{name:"eye"},()=>u("path",{d:"M992 512.096c0-5.76-.992-10.592-1.28-11.136-.192-2.88-1.152-8.064-2.08-10.816-.256-.672-.544-1.376-.832-2.08-.48-1.568-1.024-3.104-1.6-4.32C897.664 290.112 707.104 160 512 160c-195.072 0-385.632 130.016-473.76 322.592-1.056 2.112-1.792 4.096-2.272 5.856a55.512 55.512 0 00-.64 1.6c-1.76 5.088-1.792 8.64-1.632 7.744-.832 3.744-1.568 11.168-1.568 11.168-.224 2.272-.224 4.032.032 6.304 0 0 .736 6.464 1.088 7.808.128 1.824.576 4.512 1.12 6.976h-.032c.448 2.08 1.12 4.096 1.984 6.08.48 1.536.992 2.976 1.472 4.032C126.432 733.856 316.992 864 512 864c195.136 0 385.696-130.048 473.216-321.696 1.376-2.496 2.24-4.832 2.848-6.912.256-.608.48-1.184.672-1.728 1.536-4.48 1.856-8.32 1.728-8.32l-.032.032c.608-3.104 1.568-7.744 1.568-13.28zM512 672c-88.224 0-160-71.776-160-160s71.776-160 160-160 160 71.776 160 160-71.776 160-160 160z"}));Jc.displayName="EyeIcon";const Qc=()=>u(ve,{name:"fire"},()=>u("path",{d:"M726.4 201.6c-12.8-9.6-28.8-6.4-38.4 0-9.6 9.6-16 25.6-9.6 38.4 6.4 12.8 9.6 28.8 12.8 44.8C604.8 83.2 460.8 38.4 454.4 35.2c-9.6-3.2-22.4 0-28.8 6.4-9.6 6.4-12.8 19.2-9.6 28.8 12.8 86.4-25.6 188.8-115.2 310.4-6.4-25.6-16-51.2-32-80-9.6-9.6-22.4-16-35.2-12.8-16 3.2-25.6 12.8-25.6 28.8-3.2 48-25.6 92.8-51.2 140.8C134.4 499.2 112 544 102.4 592c-32 150.4 99.2 329.6 233.6 380.8 9.6 3.2 19.2 6.4 32 9.6-25.6-19.2-41.6-51.2-48-96C294.4 691.2 505.6 640 515.2 460.8c153.6 105.6 224 336 137.6 505.6 3.2 0 6.4-3.2 9.6-3.2 0 0 3.2 0 3.2-3.2 163.2-89.6 252.8-208 259.2-345.6 16-211.2-163.2-390.4-198.4-412.8z"}));Qc.displayName="FireIcon";const Xc=()=>u(ve,{name:"print"},()=>u("path",{d:"M819.2 364.8h-44.8V128c0-17.067-14.933-32-32-32H281.6c-17.067 0-32 14.933-32 32v236.8h-44.8C145.067 364.8 96 413.867 96 473.6v192c0 59.733 49.067 108.8 108.8 108.8h44.8V896c0 17.067 14.933 32 32 32h460.8c17.067 0 32-14.933 32-32V774.4h44.8c59.733 0 108.8-49.067 108.8-108.8v-192c0-59.733-49.067-108.8-108.8-108.8zM313.6 160h396.8v204.8H313.6V160zm396.8 704H313.6V620.8h396.8V864zM864 665.6c0 25.6-19.2 44.8-44.8 44.8h-44.8V588.8c0-17.067-14.933-32-32-32H281.6c-17.067 0-32 14.933-32 32v121.6h-44.8c-25.6 0-44.8-19.2-44.8-44.8v-192c0-25.6 19.2-44.8 44.8-44.8h614.4c25.6 0 44.8 19.2 44.8 44.8v192z"}));Xc.displayName="PrintIcon";const Zc=()=>u(ve,{name:"tag"},()=>u("path",{d:"M939.902 458.563L910.17 144.567c-1.507-16.272-14.465-29.13-30.737-30.737L565.438 84.098h-.402c-3.215 0-5.726 1.005-7.634 2.913l-470.39 470.39a10.004 10.004 0 000 14.164l365.423 365.424c1.909 1.908 4.42 2.913 7.132 2.913s5.223-1.005 7.132-2.913l470.39-470.39c2.01-2.11 3.014-5.023 2.813-8.036zm-240.067-72.121c-35.458 0-64.286-28.828-64.286-64.286s28.828-64.285 64.286-64.285 64.286 28.828 64.286 64.285-28.829 64.286-64.286 64.286z"}));Zc.displayName="TagIcon";const eu=()=>u(ve,{name:"word"},()=>[u("path",{d:"M518.217 432.64V73.143A73.143 73.143 0 01603.43 1.097a512 512 0 01419.474 419.474 73.143 73.143 0 01-72.046 85.212H591.36a73.143 73.143 0 01-73.143-73.143z"}),u("path",{d:"M493.714 566.857h340.297a73.143 73.143 0 0173.143 85.577A457.143 457.143 0 11371.566 117.76a73.143 73.143 0 0185.577 73.143v339.383a36.571 36.571 0 0036.571 36.571z"})]);eu.displayName="WordIcon";const Qt=()=>{const e=pe();return S(()=>e.value.metaLocales)};var q0=G({name:"AuthorInfo",inheritAttrs:!1,props:{author:{type:Array,required:!0},pure:Boolean},setup(e){const t=Qt();return()=>e.author.length?u("span",{class:"page-author-info","aria-label":`${t.value.author}${e.pure?"":"🖊"}`,...e.pure?{}:{"data-balloon-pos":"up"}},[u(Kc),u("span",e.author.map(n=>n.url?u("a",{class:"page-author-item",href:n.url,target:"_blank",rel:"noopener noreferrer"},n.name):u("span",{class:"page-author-item"},n.name))),u("span",{property:"author",content:e.author.map(n=>n.name).join(", ")})]):null}}),U0=G({name:"CategoryInfo",inheritAttrs:!1,props:{category:{type:Array,required:!0},pure:Boolean},setup(e){const t=Qt(),n=Us();return()=>e.category.length?u("span",{class:"page-category-info","aria-label":`${t.value.category}${e.pure?"":"🌈"}`,...e.pure?{}:{"data-balloon-pos":"up"}},[u(Yc),e.category.map(({name:r,path:o})=>u("span",{class:["page-category-item",{[`category${pc(r,9)}`]:!e.pure,clickable:o}],role:o?"navigation":"",onClick:()=>{o&&n(o)}},r)),u("meta",{property:"articleSection",content:e.category.map(({name:r})=>r).join(",")})]):null}}),W0=G({name:"DateInfo",inheritAttrs:!1,props:{date:{type:Object,default:null},localizedDate:{type:String,default:""},pure:Boolean},setup(e){const t=Ni(),n=Qt();return()=>e.date?u("span",{class:"page-date-info","aria-label":`${n.value.date}${e.pure?"":"📅"}`,...e.pure?{}:{"data-balloon-pos":"up"}},[u(Gc),u("span",u(ro,()=>e.localizedDate||e.date.toLocaleDateString(t.value))),u("meta",{property:"datePublished",content:e.date.toISOString()||""})]):null}}),K0=G({name:"OriginalInfo",inheritAttrs:!1,props:{isOriginal:Boolean},setup(e){const t=Qt();return()=>e.isOriginal?u("span",{class:"page-original-info"},t.value.origin):null}}),G0=G({name:"PageViewInfo",inheritAttrs:!1,props:{pageview:{type:[Boolean,String],default:!1},pure:Boolean},setup(e){const t=Ot(),n=Qt(),r=Ne(),o=Q(0);return Zi(r,()=>{},{childList:!0}),()=>e.pageview?u("span",{class:"page-pageview-info","aria-label":`${n.value.views}${e.pure?"":"🔢"}`,...e.pure?{}:{"data-balloon-pos":"up"}},[u(o.value<1e3?Jc:Qc),u("span",{ref:r,id:"ArtalkPV",class:"vp-pageview waline-pageview-count","data-path":Ee(e.pageview)?e.pageview:t.path,"data-page-key":Ee(e.pageview)?e.pageview:t.path},"...")]):null}}),Y0=G({name:"TagInfo",inheritAttrs:!1,props:{tag:{type:Array,default:()=>[]},pure:Boolean},setup(e){const t=Qt(),n=Us();return()=>e.tag.length?u("span",{class:"page-tag-info","aria-label":`${t.value.tag}${e.pure?"":"🏷"}`,...e.pure?{}:{"data-balloon-pos":"up"}},[u(Zc),e.tag.map(({name:r,path:o})=>u("span",{class:["page-tag-item",{[`tag${pc(r,9)}`]:!e.pure,clickable:o}],role:o?"navigation":"",onClick:()=>{o&&n(o)}},r)),u("meta",{property:"keywords",content:e.tag.map(({name:r})=>r).join(",")})]):null}}),J0=G({name:"ReadTimeInfo",inheritAttrs:!1,props:{readingTime:{type:Object,default:()=>null},readingTimeLocale:{type:Object,default:()=>null},pure:Boolean},setup(e){const t=Qt();return()=>{var n,r,o;return(n=e.readingTimeLocale)!=null&&n.words?u("span",{class:"page-word-info","aria-label":`${t.value.words}${e.pure?"":"🔠"}`,...e.pure?{}:{"data-balloon-pos":"up"}},[u(eu),u("span",(r=e.readingTimeLocale)==null?void 0:r.words),u("meta",{property:"wordCount",content:(o=e.readingTime)==null?void 0:o.words})]):null}}}),Q0=G({name:"PageInfo",components:{AuthorInfo:q0,CategoryInfo:U0,DateInfo:W0,OriginalInfo:K0,PageViewInfo:G0,ReadingTimeInfo:()=>null,TagInfo:Y0,WordInfo:J0},props:{items:{type:[Array,Boolean],default:()=>["Author","Original","Date","PageView","ReadingTime","Category","Tag"]},info:{type:Object,required:!0}},setup(e){const t=br();return()=>e.items?u("div",{class:"page-info"},e.items.map(n=>u(yt(`${n}Info`),{...e.info,pure:t.value}))):null}}),X0=G({name:"PrintButton",setup(){const e=On(),t=pe();return()=>e.value.print===!1?null:u("button",{type:"button",class:"print-button",title:t.value.metaLocales.print,onClick:()=>{window.print()}},u(Xc))}}),Z0=G({name:"TOC",props:{items:{type:Array,default:()=>[]},headerDepth:{type:Number,default:2}},slots:Object,setup(e,{slots:t}){const n=Ot(),r=xe(),o=Qt(),[s,l]=Xo(),a=Ne(),i=Q("-1.7rem"),c=d=>{var p;(p=a.value)==null||p.scrollTo({top:d,behavior:"smooth"})},f=()=>{if(a.value){const d=document.querySelector(".vp-toc-item.active");d?i.value=`${d.getBoundingClientRect().top-a.value.getBoundingClientRect().top+a.value.scrollTop}px`:i.value="-1.7rem"}else i.value="-1.7rem"};return _e(()=>{oe(()=>n.hash,d=>{if(a.value){const p=document.querySelector(`#toc a.toc-link[href$="${d}"]`);if(!p)return;const{top:v,height:m}=a.value.getBoundingClientRect(),{top:E,height:w}=p.getBoundingClientRect();Ev+m&&c(a.value.scrollTop+E+w-v-m)}}),oe(()=>n.fullPath,f,{flush:"post",immediate:!0})}),()=>{var m,E;const d=({title:w,level:b,slug:C})=>u(Qe,{to:`#${C}`,class:["vp-toc-link",`level${b}`],onClick:()=>{l()}},()=>w),p=(w,b)=>w.length&&b>0?u("ul",{class:"vp-toc-list"},w.map(C=>{const y=p(C.children,b-1);return[u("li",{class:["vp-toc-item",{active:n.hash===`#${C.slug}`}]},d(C)),y?u("li",y):null]})):null,v=e.items.length?p(e.items,e.headerDepth):r.value.headers?p(r.value.headers,e.headerDepth):null;return v?u("div",{class:"vp-toc-placeholder"},[u("aside",{id:"toc"},[(m=t.before)==null?void 0:m.call(t),u("div",{class:"vp-toc-header",onClick:()=>{l()}},[o.value.toc,u(X0),u("div",{class:["arrow",s.value?"down":"end"]})]),u("div",{class:["vp-toc-wrapper",s.value?"open":""],ref:a},[v,u("div",{class:"vp-toc-marker",style:{top:i.value}})]),(E=t.after)==null?void 0:E.call(t)])]):null}}}),tu=G({name:"SkipLink",props:{content:{type:String,default:"main-content"}},setup(e){const t=xe(),n=pe(),r=Ne(),o=({target:s})=>{const l=document.querySelector(s.hash);if(l){const a=()=>{l.removeAttribute("tabindex"),l.removeEventListener("blur",a)};l.setAttribute("tabindex","-1"),l.addEventListener("blur",a),l.focus(),window.scrollTo(0,0)}};return _e(()=>{oe(()=>t.value.path,()=>r.value.focus())}),()=>[u("span",{ref:r,tabindex:"-1"}),u("a",{href:`#${e.content}`,class:"vp-skip-link sr-only",onClick:o},n.value.routeLocales.skipToContent)]}});let Po=null,Mn=null;const os={wait:()=>Po,pending:()=>{Po=new Promise(e=>{Mn=e})},resolve:()=>{Mn==null||Mn(),Po=null,Mn=null}},nu=(e,{slots:t})=>u(Ut,{name:"fade-slide-y",mode:"out-in",onBeforeEnter:os.resolve,onBeforeLeave:os.pending},()=>{var n;return(n=t.default)==null?void 0:n.call(t)});nu.displayName="FadeSlideY";const eg=(e,t)=>{const n=e.replace(t,"/").split("/"),r=[];let o=Ls(t);return n.forEach((s,l)=>{l!==n.length-1?(o+=`${s}/`,r.push({link:o,name:s||"Home"})):s!==""&&(o+=s,r.push({link:o,name:s}))}),r},ru=(e,{slots:t})=>{var d,p;const{bgImage:n,bgImageDark:r,bgImageStyle:o,color:s,description:l,image:a,imageDark:i,header:c,features:f=[]}=e;return u("div",{class:"vp-feature-wrapper"},[n?u("div",{class:["vp-feature-bg",{light:r}],style:[{"background-image":`url(${n})`},o]}):null,r?u("div",{class:"vp-feature-bg dark",style:[{"background-image":`url(${r})`},o]}):null,u("div",{class:"vp-feature",style:s?{color:s}:{}},[((d=t.image)==null?void 0:d.call(t,e))||[a?u("img",{class:["vp-feature-image",{light:i}],src:ze(a),alt:""}):null,i?u("img",{class:"vp-feature-image dark",src:ze(i),alt:""}):null],((p=t.info)==null?void 0:p.call(t,e))||[c?u("h2",{class:"vp-feature-header"},c):null,l?u("p",{class:"vp-feature-description",innerHTML:l}):null],f.length?u("div",{class:"vp-features"},f.map(({icon:v,title:m,details:E,link:w})=>{const b=[u("h3",{class:"vp-feature-title"},[u(je,{icon:v}),u("span",{innerHTML:m})]),u("p",{class:"vp-feature-details",innerHTML:E})];return w?As(w)?u("a",{class:"vp-feature-item link",href:w,"aria-label":m,target:"_blank"},b):u(Qe,{class:"vp-feature-item link",to:w,"aria-label":m},()=>b):u("div",{class:"vp-feature-item"},b)})):null])])};ru.displayName="FeaturePanel";var va=ru,tg=G({name:"HeroInfo",slots:Object,setup(e,{slots:t}){const n=Le(),r=no(),o=S(()=>n.value.heroFullScreen??!1),s=S(()=>{const{heroText:c,tagline:f}=n.value;return{text:c??r.value.title??"Hello",tagline:f??r.value.description??"",isFullScreen:o.value}}),l=S(()=>{const{heroText:c,heroImage:f,heroImageDark:d,heroAlt:p,heroImageStyle:v}=n.value;return{image:f?ze(f):null,imageDark:d?ze(d):null,style:v,alt:p||c||"",isFullScreen:o.value}}),a=S(()=>{const{bgImage:c,bgImageDark:f,bgImageStyle:d}=n.value;return{image:Ee(c)?ze(c):null,imageDark:Ee(f)?ze(f):null,bgStyle:d,isFullScreen:o.value}}),i=S(()=>n.value.actions??[]);return()=>{var c,f,d;return u("header",{class:["vp-hero-info-wrapper",{fullscreen:o.value}]},[((c=t.heroBg)==null?void 0:c.call(t,a.value))||[a.value.image?u("div",{class:["vp-hero-mask",{light:a.value.imageDark}],style:[{"background-image":`url(${a.value.image})`},a.value.bgStyle]}):null,a.value.imageDark?u("div",{class:"vp-hero-mask dark",style:[{"background-image":`url(${a.value.imageDark})`},a.value.bgStyle]}):null],u("div",{class:"vp-hero-info"},[((f=t.heroImage)==null?void 0:f.call(t,l.value))||u(mn,{appear:!0,type:"group"},()=>[l.value.image?u("img",{key:"light",class:["vp-hero-image",{light:l.value.imageDark}],style:l.value.style,src:l.value.image,alt:l.value.alt}):null,l.value.imageDark?u("img",{key:"dark",class:"vp-hero-image dark",style:l.value.style,src:l.value.imageDark,alt:l.value.alt}):null]),((d=t.heroInfo)==null?void 0:d.call(t,s.value))??u("div",{class:"vp-hero-infos"},[s.value.text?u(mn,{appear:!0,delay:.04},()=>u("h1",{id:"main-title"},s.value.text)):null,s.value.tagline?u(mn,{appear:!0,delay:.08},()=>u("p",{id:"main-description",innerHTML:s.value.tagline})):null,i.value.length?u(mn,{appear:!0,delay:.12},()=>u("p",{class:"vp-hero-actions"},i.value.map(p=>u(Ue,{class:["vp-hero-action",p.type||"default"],config:p,noExternalLinkIcon:!0},p.icon?{before:()=>u(je,{icon:p.icon})}:{})))):null])])])}}});const ou=(e,{slots:t})=>{var p,v,m;const{bgImage:n,bgImageDark:r,bgImageStyle:o,color:s,description:l,image:a,imageDark:i,header:c,highlights:f=[],type:d="un-order"}=e;return u("div",{class:"vp-highlight-wrapper",style:s?{color:s}:{}},[n?u("div",{class:["vp-highlight-bg",{light:r}],style:[{"background-image":`url(${n})`},o]}):null,r?u("div",{class:"vp-highlight-bg dark",style:[{"background-image":`url(${r})`},o]}):null,u("div",{class:"vp-highlight"},[((p=t.image)==null?void 0:p.call(t,e))||[a?u("img",{class:["vp-highlight-image",{light:i}],src:ze(a),alt:""}):null,i?u("img",{class:"vp-highlight-image dark",src:ze(i),alt:""}):null],((v=t.info)==null?void 0:v.call(t,e))||[u("div",{class:"vp-highlight-info-wrapper"},u("div",{class:"vp-highlight-info"},[c?u("h2",{class:"vp-highlight-header",innerHTML:c}):null,l?u("p",{class:"vp-highlight-description",innerHTML:l}):null,((m=t.highlights)==null?void 0:m.call(t,f))||u(d==="order"?"ol":d==="no-order"?"dl":"ul",{class:"vp-highlights"},f.map(({icon:E,title:w,details:b,link:C})=>{const y=[u(d==="no-order"?"dt":"h3",{class:"vp-highlight-title"},[E?u(je,{class:"vp-highlight-icon",icon:E}):null,u("span",{innerHTML:w})]),b?u(d==="no-order"?"dd":"p",{class:"vp-highlight-details",innerHTML:b}):null];return u(d==="no-order"?"div":"li",{class:["vp-highlight-item-wrapper",{link:C}]},C?As(C)?u("a",{class:"vp-highlight-item link",href:C,"aria-label":w,target:"_blank"},y):u(Qe,{class:"vp-highlight-item link",to:C,"aria-label":w},()=>y):u("div",{class:"vp-highlight-item"},y))}))]))]])])};ou.displayName="HighlightPanel";var ng=ou,rg=G({name:"HomePage",slots:Object,setup(e,{slots:t}){const n=br(),r=Le(),o=S(()=>{const{features:l}=r.value;return Jo(l)?l:null}),s=S(()=>{const{highlights:l}=r.value;return Jo(l)?l:null});return()=>{var l,a,i,c;return u("main",{id:"main-content",class:["vp-project-home ",{pure:n.value}],"aria-labelledby":r.value.heroText===null?"":"main-title"},[(l=t.top)==null?void 0:l.call(t),u(tg),((a=s.value)==null?void 0:a.map(f=>"features"in f?u(va,f):u(ng,f)))||(o.value?u(mn,{appear:!0,delay:.24},()=>u(va,{features:o.value})):null),(i=t.center)==null?void 0:i.call(t),u(mn,{appear:!0,delay:.32},()=>u(Wc)),(c=t.bottom)==null?void 0:c.call(t)])}}}),og=G({name:"BreadCrumb",setup(){const e=xe(),t=un(),n=Le(),r=pe(),o=Ne([]),s=S(()=>(n.value.breadcrumb||n.value.breadcrumb!==!1&&r.value.breadcrumb!==!1)&&o.value.length>1),l=S(()=>n.value.breadcrumbIcon||n.value.breadcrumbIcon!==!1&&r.value.breadcrumbIcon!==!1),a=()=>{const i=eg(e.value.path,t.value).map(({link:c,name:f})=>{const{path:d,meta:p,notFound:v}=Wt(c);return v||p[bt.breadcrumbExclude]?null:{title:p[bt.shortTitle]||p[bt.title]||f,icon:p[bt.icon],path:d}}).filter(c=>c!==null);i.length>1&&(o.value=i)};return _e(()=>{oe(()=>e.value.path,a,{immediate:!0})}),()=>u("nav",{class:["vp-breadcrumb",{disable:!s.value}]},s.value?u("ol",{vocab:"https://schema.org/",typeof:"BreadcrumbList"},o.value.map((i,c)=>u("li",{class:{"is-active":o.value.length-1===c},property:"itemListElement",typeof:"ListItem"},[u(Qe,{to:i.path,property:"item",typeof:"WebPage"},()=>[l.value?u(je,{icon:i.icon}):null,u("span",{property:"name"},i.title||"Unknown")]),u("meta",{property:"position",content:c+1})]))):[])}});const ga=(e,t)=>e===!1||Zr(e)?e:Ee(e)?Ws(e,!0,t):null,ss=(e,t,n)=>{const r=e.findIndex(o=>o.link===t);if(r!==-1){const o=e[r+n];return o!=null&&o.link?o:null}for(const o of e)if("children"in o){const s=ss(o.children,t,n);if(s)return s}return null};var sg=G({name:"PageNav",setup(){const e=pe(),t=Le(),n=Ks(),r=xe(),o=Us(),s=Ot(),l=S(()=>{const i=ga(t.value.prev,s.path);return i===!1?null:i||(e.value.prevLink===!1?null:ss(n.value,r.value.path,-1))}),a=S(()=>{const i=ga(t.value.next,s.path);return i===!1?null:i||(e.value.nextLink===!1?null:ss(n.value,r.value.path,1))});return Ce("keydown",i=>{i.altKey&&(i.key==="ArrowRight"?a.value&&(o(a.value.link),i.preventDefault()):i.key==="ArrowLeft"&&l.value&&(o(l.value.link),i.preventDefault()))}),()=>l.value||a.value?u("nav",{class:"vp-page-nav"},[l.value?u(Ue,{class:"prev",config:l.value},()=>{var i,c;return[u("div",{class:"hint"},[u("span",{class:"arrow start"}),e.value.metaLocales.prev]),u("div",{class:"link"},[u(je,{icon:(i=l.value)==null?void 0:i.icon}),(c=l.value)==null?void 0:c.text])]}):null,a.value?u(Ue,{class:"next",config:a.value},()=>{var i,c;return[u("div",{class:"hint"},[e.value.metaLocales.next,u("span",{class:"arrow end"})]),u("div",{class:"link"},[(i=a.value)==null?void 0:i.text,u(je,{icon:(c=a.value)==null?void 0:c.icon})])]}):null]):null}});const lg=()=>{const e=pe(),t=xe(),n=Le();return S(()=>{var r;return n.value.contributors??e.value.contributors??!0?((r=t.value.git)==null?void 0:r.contributors)??null:null})},ag={GitHub:":repo/edit/:branch/:path",GitLab:":repo/-/edit/:branch/:path",Gitee:":repo/edit/:branch/:path",Bitbucket:":repo/src/:branch/:path?mode=edit&spa=0&at=:branch&fileviewer=file-view-default"},ig=({docsRepo:e,docsBranch:t,docsDir:n,filePathRelative:r,editLinkPattern:o})=>{if(!r)return null;const s=Bs(e);let l;return o?l=o:s!==null&&(l=ag[s]),l?l.replace(/:repo/u,cn(e)?e:`https://github.com/${e}`).replace(/:branch/u,t).replace(/:path/u,xi(`${Ls(n)}/${r}`)):null},cg=()=>{const e=pe(),t=xe(),n=Le();return S(()=>{const{repo:r,docsRepo:o=r,docsBranch:s="main",docsDir:l="",editLink:a,editLinkPattern:i=""}=e.value;if(!(n.value.editLink??a??!0)||!o)return null;const c=ig({docsRepo:o,docsBranch:s,docsDir:l,editLinkPattern:i,filePathRelative:t.value.filePathRelative});return c?{text:e.value.metaLocales.editLink,link:c}:null})},ug=()=>{const e=no(),t=pe(),n=xe(),r=Le();return S(()=>{var o,s;return!(r.value.lastUpdated??t.value.lastUpdated??!0)||!((o=n.value.git)!=null&&o.updatedTime)?null:new Date((s=n.value.git)==null?void 0:s.updatedTime).toLocaleString(e.value.lang)})};var fg=G({name:"PageTitle",setup(){const e=xe(),t=Le(),n=pe(),{info:r,items:o}=m0();return()=>u("div",{class:"vp-page-title"},[u("h1",[n.value.titleIcon===!1?null:u(je,{icon:t.value.icon}),e.value.title]),u(Q0,{info:r.value,...o.value===null?{}:{items:o.value}}),u("hr")])}});const su=()=>u(ve,{name:"edit"},()=>[u("path",{d:"M430.818 653.65a60.46 60.46 0 0 1-50.96-93.281l71.69-114.012 7.773-10.365L816.038 80.138A60.46 60.46 0 0 1 859.225 62a60.46 60.46 0 0 1 43.186 18.138l43.186 43.186a60.46 60.46 0 0 1 0 86.373L588.879 565.55l-8.637 8.637-117.466 68.234a60.46 60.46 0 0 1-31.958 11.229z"}),u("path",{d:"M728.802 962H252.891A190.883 190.883 0 0 1 62.008 771.98V296.934a190.883 190.883 0 0 1 190.883-192.61h267.754a60.46 60.46 0 0 1 0 120.92H252.891a69.962 69.962 0 0 0-69.098 69.099V771.98a69.962 69.962 0 0 0 69.098 69.098h475.911A69.962 69.962 0 0 0 797.9 771.98V503.363a60.46 60.46 0 1 1 120.922 0V771.98A190.883 190.883 0 0 1 728.802 962z"})]);su.displayName="EditIcon";var dg=G({name:"PageMeta",setup(){const e=pe(),t=cg(),n=ug(),r=lg();return()=>{const{metaLocales:o}=e.value;return u("footer",{class:"vp-page-meta"},[t.value?u("div",{class:"vp-meta-item edit-link"},u(Ue,{class:"vp-meta-label",config:t.value},{before:()=>u(su)})):null,u("div",{class:"vp-meta-item git-info"},[n.value?u("div",{class:"update-time"},[u("span",{class:"vp-meta-label"},`${o.lastUpdated}: `),u(ro,()=>u("span",{class:"vp-meta-info"},n.value))]):null,r.value&&r.value.length?u("div",{class:"contributors"},[u("span",{class:"vp-meta-label"},`${o.contributors}: `),r.value.map(({email:s,name:l},a)=>[u("span",{class:"vp-meta-info",title:`email: ${s}`},l),a!==r.value.length-1?",":""])]):null])])}}}),pg=G({name:"NormalPage",slots:Object,setup(e,{slots:t}){const n=Le(),{isDarkmode:r}=yr(),o=pe(),s=S(()=>n.value.toc||n.value.toc!==!1&&o.value.toc!==!1);return()=>u("main",{id:"main-content",class:"vp-page"},u(Tt("LocalEncrypt")?yt("LocalEncrypt"):ic,()=>{var l,a,i,c;return[(l=t.top)==null?void 0:l.call(t),n.value.cover?u("div",{class:"page-cover"},u("img",{src:ze(n.value.cover),alt:"","no-view":""})):null,u(og),u(fg),s.value?u(Z0,{headerDepth:n.value.headerDepth??o.value.headerDepth??2},{before:()=>{var f;return(f=t.tocBefore)==null?void 0:f.call(t)},after:()=>{var f;return(f=t.tocAfter)==null?void 0:f.call(t)}}):null,(a=t.contentBefore)==null?void 0:a.call(t),u(Wc),(i=t.contentAfter)==null?void 0:i.call(t),u(dg),u(sg),Tt("CommentService")?u(yt("CommentService"),{darkmode:r.value}):null,(c=t.bottom)==null?void 0:c.call(t)]}))}}),hg=G({name:"Layout",slots:Object,setup(e,{slots:t}){pe();const n=xe(),r=Le(),{isMobile:o}=lo(),s=S(()=>"none");return()=>[u(tu),u(Uc,{},{default:()=>{var l;return((l=t.default)==null?void 0:l.call(t))||(r.value.home?u(rg):u(nu,()=>u(pg,{key:n.value.path},{top:()=>{var a;return(a=t.top)==null?void 0:a.call(t)},bottom:()=>{var a;return(a=t.bottom)==null?void 0:a.call(t)},contentBefore:()=>{var a;return(a=t.contentBefore)==null?void 0:a.call(t)},contentAfter:()=>{var a;return(a=t.contentAfter)==null?void 0:a.call(t)},tocBefore:()=>{var a;return(a=t.tocBefore)==null?void 0:a.call(t)},tocAfter:()=>{var a;return(a=t.tocAfter)==null?void 0:a.call(t)}})))},...s.value==="none"?{}:{navScreenBottom:()=>u(yt("BloggerInfo"))},...!o.value&&s.value==="always"?{sidebar:()=>u(yt("BloggerInfo"))}:{}})]}}),vg=G({name:"NotFoundHint",setup(){const e=pe(),t=()=>{const n=e.value.routeLocales.notFoundMsg;return n[Math.floor(Math.random()*n.length)]};return()=>u("div",{class:"not-found-hint"},[u("p",{class:"error-code"},"404"),u("h1",{class:"error-title"},e.value.routeLocales.notFoundTitle),u("p",{class:"error-hint"},t())])}}),gg=G({name:"NotFound",slots:Object,setup(e,{slots:t}){const n=An(),r=un(),o=pe();return()=>[u(tu),u(Uc,{noSidebar:!0},()=>{var s;return u("main",{id:"main-content",class:"vp-page not-found"},((s=t.default)==null?void 0:s.call(t))||[u(vg),u("div",{class:"actions"},[u("button",{type:"button",class:"action-button",onClick:()=>{window.history.go(-1)}},o.value.routeLocales.back),u("button",{type:"button",class:"action-button",onClick:()=>{n.push(o.value.home??r.value)}},o.value.routeLocales.home)])])})]}});E1(e=>{const t=e.t,n=e.I!==!1,r=e.i;return n?{title:t,content:r?()=>[u(je,{icon:r}),t]:null,order:e.O,index:e.I}:null});const mg=lt({enhance:({app:e,router:t})=>{const{scrollBehavior:n}=t.options;t.options.scrollBehavior=async(...r)=>(await os.wait(),n(...r)),w0(e),e.component("HopeIcon",je)},setup:()=>{_0(),S0()},layouts:{Layout:hg,NotFound:gg}}),Ir=[hh,Bh,_1,T1,O1,M1,H1,z1,ev,Ev,Nv,l0,mg],bg=JSON.parse('{"base":"/","lang":"en-US","title":"Taskiq","description":"Async Distributed Task Manager","head":[["meta",{"property":"og:image","content":"https://taskiq-python.github.io/logo.svg"}]],"locales":{}}');var Nn=Ne(bg),yg=Ip,wg=()=>{const e=oh({history:yg(Ls("/")),routes:[{name:"vuepress-route",path:"/:catchAll(.*)",components:{}}],scrollBehavior:(t,n,r)=>r||(t.hash?{el:t.hash}:{top:0})});return e.beforeResolve(async(t,n)=>{if(t.path!==n.path||n===xt){const r=Wt(t.path);if(r.path!==t.path)return r.path;const o=await r.loader();t.meta={...r.meta,_pageChunk:o}}else t.path===n.path&&(t.meta=n.meta)}),e},_g=e=>{e.component("ClientOnly",ro),e.component("Content",Fi),e.component("RouteLink",Qe)},Eg=(e,t,n)=>{const r=S(()=>t.currentRoute.value.path),o=ws((w,b)=>({get(){return w(),t.currentRoute.value.meta._pageChunk},set(C){t.currentRoute.value.meta._pageChunk=C,b()}})),s=S(()=>en.resolveLayouts(n)),l=S(()=>en.resolveRouteLocale(Nn.value.locales,r.value)),a=S(()=>en.resolveSiteLocaleData(Nn.value,l.value)),i=S(()=>o.value.comp),c=S(()=>o.value.data),f=S(()=>c.value.frontmatter),d=S(()=>en.resolvePageHeadTitle(c.value,a.value)),p=S(()=>en.resolvePageHead(d.value,f.value,a.value)),v=S(()=>en.resolvePageLang(c.value,a.value)),m=S(()=>en.resolvePageLayout(c.value,s.value)),E={layouts:s,pageData:c,pageComponent:i,pageFrontmatter:f,pageHead:p,pageHeadTitle:d,pageLang:v,pageLayout:m,redirects:Ko,routeLocale:l,routePath:r,routes:rr,siteData:Nn,siteLocaleData:a};return e.provide(Ps,E),Object.defineProperties(e.config.globalProperties,{$frontmatter:{get:()=>f.value},$head:{get:()=>p.value},$headTitle:{get:()=>d.value},$lang:{get:()=>v.value},$page:{get:()=>c.value},$routeLocale:{get:()=>l.value},$site:{get:()=>Nn.value},$siteLocale:{get:()=>a.value},$withBase:{get:()=>ze}}),E},Cg=()=>{const e=ah(),t=Ni();let n=[];const r=()=>{e.value.forEach(l=>{const a=kg(l);a&&n.push(a)})},o=()=>{const l=[];return e.value.forEach(a=>{const i=xg(a);i&&l.push(i)}),l},s=()=>{document.documentElement.lang=t.value;const l=o();n.forEach((a,i)=>{const c=l.findIndex(f=>a.isEqualNode(f));c===-1?(a.remove(),delete n[i]):l.splice(c,1)}),l.forEach(a=>document.head.appendChild(a)),n=[...n.filter(a=>!!a),...l]};an(uh,s),_e(()=>{r(),oe(e,s,{immediate:!1})})},kg=([e,t,n=""])=>{const r=Object.entries(t).map(([a,i])=>Ee(i)?`[${a}=${JSON.stringify(i)}]`:i===!0?`[${a}]`:"").join(""),o=`head > ${e}${r}`;return Array.from(document.querySelectorAll(o)).find(a=>a.innerText===n)||null},xg=([e,t,n])=>{if(!Ee(e))return null;const r=document.createElement(e);return Zr(t)&&Object.entries(t).forEach(([o,s])=>{Ee(s)?r.setAttribute(o,s):s===!0&&r.setAttribute(o,"")}),Ee(n)&&r.appendChild(document.createTextNode(n)),r},Sg=jd,Tg=async()=>{var n;const e=Sg({name:"Vuepress",setup(){var s;Cg();for(const l of Ir)(s=l.setup)==null||s.call(l);const r=Ir.flatMap(({rootComponents:l=[]})=>l.map(a=>u(a))),o=ih();return()=>[u(o.value),r]}}),t=wg();_g(e),Eg(e,t,Ir);for(const r of Ir)await((n=r.enhance)==null?void 0:n.call(r,{app:e,router:t,siteData:Nn}));return e.use(t),{app:e,router:t}};Tg().then(({app:e,router:t})=>{t.isReady().then(()=>{e.mount("#app")})});export{_e as A,Ig as B,Wv as C,Sn as D,Pg as E,Zr as F,Fv as G,jv as H,Ji as I,qr as J,Ee as K,Vs as P,Qe as R,ce as _,Og as a,pi as b,Lg as c,Tg as createVueApp,hi as d,Oe as e,G as f,An as g,un as h,Jt as i,ur as j,Q as k,S as l,Ce as m,oe as n,Ag as o,u as p,Ec as q,yt as r,Bv as s,Gr as t,Rg as u,Dv as v,sf as w,Hv as x,xe as y,Ne as z}; + */const le={settings:{minimum:.08,easing:"ease",speed:200,trickle:!0,trickleRate:.02,trickleSpeed:800,barSelector:'[role="bar"]',parent:"body",template:'
'},status:null,set:e=>{const t=le.isStarted();e=So(e,le.settings.minimum,1),le.status=e===1?null:e;const n=le.render(!t),r=n.querySelector(le.settings.barSelector),o=le.settings.speed,s=le.settings.easing;return n.offsetWidth,$1(l=>{Pr(r,{transform:"translate3d("+sa(e)+"%,0,0)",transition:"all "+o+"ms "+s}),e===1?(Pr(n,{transition:"none",opacity:"1"}),n.offsetWidth,setTimeout(function(){Pr(n,{transition:"all "+o+"ms linear",opacity:"0"}),setTimeout(function(){le.remove(),l()},o)},o)):setTimeout(()=>l(),o)}),le},isStarted:()=>typeof le.status=="number",start:()=>{le.status||le.set(0);const e=()=>{setTimeout(()=>{le.status&&(le.trickle(),e())},le.settings.trickleSpeed)};return le.settings.trickle&&e(),le},done:e=>!e&&!le.status?le:le.inc(.3+.5*Math.random()).set(1),inc:e=>{let t=le.status;return t?(typeof e!="number"&&(e=(1-t)*So(Math.random()*t,.1,.95)),t=So(t+e,0,.994),le.set(t)):le.start()},trickle:()=>le.inc(Math.random()*le.settings.trickleRate),render:e=>{if(le.isRendered())return document.getElementById("nprogress");la(document.documentElement,"nprogress-busy");const t=document.createElement("div");t.id="nprogress",t.innerHTML=le.settings.template;const n=t.querySelector(le.settings.barSelector),r=e?"-100":sa(le.status||0),o=document.querySelector(le.settings.parent);return Pr(n,{transition:"all 0 linear",transform:"translate3d("+r+"%,0,0)"}),o!==document.body&&la(o,"nprogress-custom-parent"),o==null||o.appendChild(t),t},remove:()=>{aa(document.documentElement,"nprogress-busy"),aa(document.querySelector(le.settings.parent),"nprogress-custom-parent");const e=document.getElementById("nprogress");e&&N1(e)},isRendered:()=>!!document.getElementById("nprogress")},So=(e,t,n)=>en?n:e,sa=e=>(-1+e)*100,$1=function(){const e=[];function t(){const n=e.shift();n&&n(t)}return function(n){e.push(n),e.length===1&&t()}}(),Pr=function(){const e=["Webkit","O","Moz","ms"],t={};function n(l){return l.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,function(a,i){return i.toUpperCase()})}function r(l){const a=document.body.style;if(l in a)return l;let i=e.length;const c=l.charAt(0).toUpperCase()+l.slice(1);let f;for(;i--;)if(f=e[i]+c,f in a)return f;return l}function o(l){return l=n(l),t[l]??(t[l]=r(l))}function s(l,a,i){a=o(a),l.style[a]=i}return function(l,a){for(const i in a){const c=a[i];c!==void 0&&Object.prototype.hasOwnProperty.call(a,i)&&s(l,i,c)}}}(),oc=(e,t)=>(typeof e=="string"?e:Hs(e)).indexOf(" "+t+" ")>=0,la=(e,t)=>{const n=Hs(e),r=n+t;oc(n,t)||(e.className=r.substring(1))},aa=(e,t)=>{const n=Hs(e);if(!oc(e,t))return;const r=n.replace(" "+t+" "," ");e.className=r.substring(1,r.length-1)},Hs=e=>(" "+(e.className||"")+" ").replace(/\s+/gi," "),N1=e=>{e&&e.parentNode&&e.parentNode.removeChild(e)},D1=()=>{_e(()=>{const e=An(),t=new Set;t.add(e.currentRoute.value.path),e.beforeEach(n=>{t.has(n.path)||le.start()}),e.afterEach(n=>{t.add(n.path),le.done()})})},H1=lt({setup(){D1()}}),F1=JSON.parse(`{"encrypt":{},"logo":"/logo.svg","repo":"taskiq-python/taskiq","docsBranch":"master","docsDir":"docs","navbarAutoHide":"none","pure":true,"locales":{"/":{"lang":"en-US","navbarLocales":{"langName":"English","selectLangAriaLabel":"Select language"},"metaLocales":{"author":"Author","date":"Writing Date","origin":"Original","views":"Page views","category":"Category","tag":"Tag","readingTime":"Reading Time","words":"Words","toc":"On This Page","prev":"Prev","next":"Next","lastUpdated":"Last update","contributors":"Contributors","editLink":"Edit this page","print":"Print"},"outlookLocales":{"themeColor":"Theme Color","darkmode":"Theme Mode","fullscreen":"Full Screen"},"routeLocales":{"skipToContent":"Skip to main content","notFoundTitle":"Page not found","notFoundMsg":["There’s nothing here.","How did we get here?","That’s a Four-Oh-Four.","Looks like we've got some broken links."],"back":"Go back","home":"Take me home","openInNewWindow":"Open in new window"},"sidebar":"structure"}}}`),B1=Q(F1),sc=()=>B1,lc=Symbol(""),j1=()=>{const e=ke(lc);if(!e)throw new Error("useThemeLocaleData() is called without provider.");return e},V1=(e,t)=>{const{locales:n,...r}=e;return{...r,...n==null?void 0:n[t]}},z1=lt({enhance({app:e}){const t=sc(),n=e._context.provides[Os],r=S(()=>V1(t.value,n.routeLocale.value));e.provide(lc,r),Object.defineProperties(e.config.globalProperties,{$theme:{get(){return t.value}},$themeLocale:{get(){return r.value}}})}}),q1=/\b(?:Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini)/i,U1=()=>typeof window<"u"&&window.navigator&&"userAgent"in window.navigator&&q1.test(navigator.userAgent),W1=({delay:e=500,duration:t=2e3,locales:n,selector:r,showInMobile:o})=>{const{copy:s,copied:l}=o1({legacy:!0,copiedDuring:t}),a=Jt(n),i=Se(),c=p=>{if(!p.hasAttribute("copy-code-registered")){const v=document.createElement("button");v.type="button",v.classList.add("vp-copy-code-button"),v.innerHTML='
',v.setAttribute("aria-label",a.value.copy),v.setAttribute("data-copied",a.value.copied),p.parentElement&&p.parentElement.insertBefore(v,p),p.setAttribute("copy-code-registered","")}},f=()=>{Yt().then(()=>Wi(e)).then(()=>{r.forEach(p=>{document.querySelectorAll(p).forEach(c)})})},d=(p,v,m)=>{let{innerText:E=""}=v;/language-(shellscript|shell|bash|sh|zsh)/.test(p.classList.toString())&&(E=E.replace(/^ *(\$|>) /gm,"")),s(E).then(()=>{m.classList.add("copied"),oe(l,()=>{m.classList.remove("copied"),m.blur()},{once:!0})})};_e(()=>{const p=!U1()||o;p&&f(),Ce("click",v=>{const m=v.target;if(m.matches('div[class*="language-"] > button.copy')){const E=m.parentElement,w=m.nextElementSibling;w&&d(E,w,m)}else if(m.matches('div[class*="language-"] div.vp-copy-icon')){const E=m.parentElement,w=E.parentElement,b=E.nextElementSibling;b&&d(w,b,E)}}),oe(()=>i.value.path,()=>{p&&f()})})};var K1={"/":{copy:"Copy code",copied:"Copied"}},G1=['.theme-hope-content div[class*="language-"] pre'];const Y1=500,J1=2e3,Q1=K1,X1=G1,Z1=!0,ev=lt({setup:()=>{W1({selector:X1,locales:Q1,duration:J1,delay:Y1,showInMobile:Z1})}}),tv=()=>{Ce("beforeprint",()=>{document.querySelectorAll("details").forEach(e=>{e.open=!0})})},ve=({name:e="",color:t="currentColor"},{slots:n})=>{var r;return u("svg",{xmlns:"http://www.w3.org/2000/svg",class:["icon",`${e}-icon`],viewBox:"0 0 1024 1024",fill:t,"aria-label":`${e} icon`},(r=n.default)==null?void 0:r.call(n))};ve.displayName="IconBase";const ac=({size:e=48,stroke:t=4,wrapper:n=!0,height:r=2*e})=>{const o=u("svg",{xmlns:"http://www.w3.org/2000/svg",width:e,height:e,preserveAspectRatio:"xMidYMid",viewBox:"25 25 50 50"},[u("animateTransform",{attributeName:"transform",type:"rotate",dur:"2s",keyTimes:"0;1",repeatCount:"indefinite",values:"0;360"}),u("circle",{cx:"50",cy:"50",r:"20",fill:"none",stroke:"currentColor","stroke-width":t,"stroke-linecap":"round"},[u("animate",{attributeName:"stroke-dasharray",dur:"1.5s",keyTimes:"0;0.5;1",repeatCount:"indefinite",values:"1,200;90,200;1,200"}),u("animate",{attributeName:"stroke-dashoffset",dur:"1.5s",keyTimes:"0;0.5;1",repeatCount:"indefinite",values:"0;-35px;-125px"})])]);return n?u("div",{class:"loading-icon-wrapper",style:`display:flex;align-items:center;justify-content:center;height:${r}px`},o):o};ac.displayName="LoadingIcon";const ic=(e,{slots:t})=>{var n;return(n=t.default)==null?void 0:n.call(t)},nv=e=>cn(e)?e:`https://github.com/${e}`,Fs=(e="")=>!cn(e)||/github\.com/.test(e)?"GitHub":/bitbucket\.org/.test(e)?"Bitbucket":/gitlab\.com/.test(e)?"GitLab":/gitee\.com/.test(e)?"Gitee":null,cc=()=>u(ve,{name:"github"},()=>u("path",{d:"M511.957 21.333C241.024 21.333 21.333 240.981 21.333 512c0 216.832 140.544 400.725 335.574 465.664 24.49 4.395 32.256-10.07 32.256-23.083 0-11.69.256-44.245 0-85.205-136.448 29.61-164.736-64.64-164.736-64.64-22.315-56.704-54.4-71.765-54.4-71.765-44.587-30.464 3.285-29.824 3.285-29.824 49.195 3.413 75.179 50.517 75.179 50.517 43.776 75.008 114.816 53.333 142.762 40.79 4.523-31.66 17.152-53.377 31.19-65.537-108.971-12.458-223.488-54.485-223.488-242.602 0-53.547 19.114-97.323 50.517-131.67-5.035-12.33-21.93-62.293 4.779-129.834 0 0 41.258-13.184 134.912 50.346a469.803 469.803 0 0 1 122.88-16.554c41.642.213 83.626 5.632 122.88 16.554 93.653-63.488 134.784-50.346 134.784-50.346 26.752 67.541 9.898 117.504 4.864 129.834 31.402 34.347 50.474 78.123 50.474 131.67 0 188.586-114.73 230.016-224.042 242.09 17.578 15.232 33.578 44.672 33.578 90.454v135.85c0 13.142 7.936 27.606 32.854 22.87C862.25 912.597 1002.667 728.747 1002.667 512c0-271.019-219.648-490.667-490.71-490.667z"}));cc.displayName="GitHubIcon";const uc=()=>u(ve,{name:"gitee"},()=>u("path",{d:"M512 992C246.92 992 32 777.08 32 512S246.92 32 512 32s480 214.92 480 480-214.92 480-480 480zm242.97-533.34H482.39a23.7 23.7 0 0 0-23.7 23.7l-.03 59.28c0 13.08 10.59 23.7 23.7 23.7h165.96a23.7 23.7 0 0 1 23.7 23.7v11.85a71.1 71.1 0 0 1-71.1 71.1H375.71a23.7 23.7 0 0 1-23.7-23.7V423.11a71.1 71.1 0 0 1 71.1-71.1h331.8a23.7 23.7 0 0 0 23.7-23.7l.06-59.25a23.73 23.73 0 0 0-23.7-23.73H423.11a177.78 177.78 0 0 0-177.78 177.75v331.83c0 13.08 10.62 23.7 23.7 23.7h349.62a159.99 159.99 0 0 0 159.99-159.99V482.33a23.7 23.7 0 0 0-23.7-23.7z"}));uc.displayName="GiteeIcon";const fc=()=>u(ve,{name:"bitbucket"},()=>u("path",{d:"M575.256 490.862c6.29 47.981-52.005 85.723-92.563 61.147-45.714-20.004-45.714-92.562-1.133-113.152 38.29-23.442 93.696 7.424 93.696 52.005zm63.451-11.996c-10.276-81.152-102.29-134.839-177.152-101.156-47.433 21.138-79.433 71.424-77.129 124.562 2.853 69.705 69.157 126.866 138.862 120.576S647.3 548.571 638.708 478.83zm136.558-309.723c-25.161-33.134-67.986-38.839-105.728-45.13-106.862-17.151-216.576-17.7-323.438 1.134-35.438 5.706-75.447 11.996-97.719 43.996 36.572 34.304 88.576 39.424 135.424 45.129 84.553 10.862 171.447 11.447 256 .585 47.433-5.705 99.987-10.276 135.424-45.714zm32.585 591.433c-16.018 55.99-6.839 131.438-66.304 163.986-102.29 56.576-226.304 62.867-338.87 42.862-59.43-10.862-129.135-29.696-161.72-85.723-14.3-54.858-23.442-110.848-32.585-166.84l3.438-9.142 10.276-5.157c170.277 112.567 408.576 112.567 579.438 0 26.844 8.01 6.84 40.558 6.29 60.014zm103.424-549.157c-19.42 125.148-41.728 249.71-63.415 374.272-6.29 36.572-41.728 57.162-71.424 72.558-106.862 53.724-231.424 62.866-348.562 50.286-79.433-8.558-160.585-29.696-225.134-79.433-30.28-23.443-30.28-63.415-35.986-97.134-20.005-117.138-42.862-234.277-57.161-352.585 6.839-51.42 64.585-73.728 107.447-89.71 57.16-21.138 118.272-30.866 178.87-36.571 129.134-12.58 261.157-8.01 386.304 28.562 44.581 13.13 92.563 31.415 122.844 69.705 13.714 17.7 9.143 40.01 6.29 60.014z"}));fc.displayName="BitbucketIcon";const dc=()=>u(ve,{name:"source"},()=>u("path",{d:"M601.92 475.2c0 76.428-8.91 83.754-28.512 99.594-14.652 11.88-43.956 14.058-78.012 16.434-18.81 1.386-40.392 2.97-62.172 6.534-18.612 2.97-36.432 9.306-53.064 17.424V299.772c37.818-21.978 63.36-62.766 63.36-109.692 0-69.894-56.826-126.72-126.72-126.72S190.08 120.186 190.08 190.08c0 46.926 25.542 87.714 63.36 109.692v414.216c-37.818 21.978-63.36 62.766-63.36 109.692 0 69.894 56.826 126.72 126.72 126.72s126.72-56.826 126.72-126.72c0-31.086-11.286-59.598-29.7-81.576 13.266-9.504 27.522-17.226 39.996-19.206 16.038-2.574 32.868-3.762 50.688-5.148 48.312-3.366 103.158-7.326 148.896-44.55 61.182-49.698 74.25-103.158 75.24-187.902V475.2h-126.72zM316.8 126.72c34.848 0 63.36 28.512 63.36 63.36s-28.512 63.36-63.36 63.36-63.36-28.512-63.36-63.36 28.512-63.36 63.36-63.36zm0 760.32c-34.848 0-63.36-28.512-63.36-63.36s28.512-63.36 63.36-63.36 63.36 28.512 63.36 63.36-28.512 63.36-63.36 63.36zM823.68 158.4h-95.04V63.36h-126.72v95.04h-95.04v126.72h95.04v95.04h126.72v-95.04h95.04z"}));dc.displayName="SourceIcon";const rv=({link:e,type:t=Fs(e??"")})=>{if(!t)return null;const n=t.toLowerCase();return u(n==="bitbucket"?fc:n==="github"?cc:n==="gitlab"?"GitLab":n==="gitee"?uc:dc)};function ov(){const e=Q(!1),t=Tn();return t&&_e(()=>{e.value=!0},t),e}function sv(e){return ov(),S(()=>!!e())}const lv=()=>sv(()=>typeof window<"u"&&window.navigator&&"userAgent"in window.navigator),av=()=>{const e=lv();return S(()=>e.value&&/\b(?:Android|iPhone)/i.test(navigator.userAgent))},iv=e=>[/\((ipad);[-\w),; ]+apple/i,/applecoremedia\/[\w.]+ \((ipad)/i,/\b(ipad)\d\d?,\d\d?[;\]].+ios/i].some(t=>t.test(e)),cv=e=>[/ip[honead]{2,4}\b(?:.*os ([\w]+) like mac|; opera)/i,/cfnetwork\/.+darwin/i].some(t=>t.test(e)),uv=e=>[/(mac os x) ?([\w. ]*)/i,/(macintosh|mac_powerpc\b)(?!.+haiku)/i].some(t=>t.test(e)),fv=(e,t=0)=>{let n=3735928559^t,r=1103547991^t;for(let o=0,s;o>>16,2246822507),n^=Math.imul(r^r>>>13,3266489909),r=Math.imul(r^r>>>16,2246822507),r^=Math.imul(n^n>>>13,3266489909),4294967296*(2097151&r)+(n>>>0)},pc=(e,t)=>fv(e)%t,hc=/#.*$/u,dv=e=>{const t=hc.exec(e);return t?t[0]:""},ia=e=>decodeURI(e).replace(hc,"").replace(/\/index\.html$/iu,"/").replace(/\.html$/iu,"").replace(/(README|index)?\.md$/iu,""),vc=(e,t)=>{if(!Ph(t))return!1;const n=ia(e.path),r=ia(t),o=dv(t);return o?o===e.hash&&(!r||n===r):n===r};var pv=e=>Object.prototype.toString.call(e)==="[object Object]",sr=e=>typeof e=="string";const gc=Array.isArray,ca=e=>pv(e)&&sr(e.name),ua=(e,t=!1)=>e?gc(e)?e.map(n=>sr(n)?{name:n}:ca(n)?n:null).filter(n=>n!==null):sr(e)?[{name:e}]:ca(e)?[e]:(console.error(`Expect "author" to be \`AuthorInfo[] | AuthorInfo | string[] | string ${t?"":"| false"} | undefined\`, but got`,e),[]):[],mc=(e,t)=>{if(e){if(gc(e)&&e.every(sr))return e;if(sr(e))return[e];console.error(`Expect ${t||"value"} to be \`string[] | string | undefined\`, but got`,e)}return[]},hv=e=>mc(e,"category"),vv=e=>mc(e,"tag");let gv={};const bc=Symbol(""),mv=()=>ke(bc),bv=e=>{e.provide(bc,gv)},fa=()=>{const e=document.documentElement;return e.classList.contains("dark")||e.getAttribute("data-theme")==="dark"},pn={useMaxWidth:!1},yv=e=>({dark:e,background:e?"#1e1e1e":"#fff",primaryColor:e?"#389d70":"#4abf8a",primaryBorderColor:e?"#389d70":"#4abf8a",primaryTextColor:e?"#fff":"#000",secondaryColor:"#ffb500",secondaryBorderColor:e?"#fff":"#000",secondaryTextColor:e?"#ddd":"#333",tertiaryColor:e?"#282828":"#efeef4",tertiaryBorderColor:e?"#bbb":"#242424",tertiaryTextColor:e?"#ddd":"#333",noteBkgColor:e?"#f6d365":"#fff5ad",noteTextColor:"#242424",noteBorderColor:e?"#f6d365":"#333",lineColor:e?"#d3d3d3":"#333",textColor:e?"#fff":"#242424",mainBkg:e?"#389d70":"#4abf8a",errorBkgColor:"#eb4d5d",errorTextColor:"#fff",nodeBorder:e?"#389d70":"#4abf8a",nodeTextColor:e?"#fff":"#242424",signalTextColor:e?"#9e9e9e":"#242424",classText:"#fff",labelColor:"#fff",attributeBackgroundColorEven:e?"#0d1117":"#fff",attributeBackgroundColorOdd:e?"#161b22":"#f8f8f8",fillType0:e?"#cf1322":"#f1636e",fillType1:"#f39c12",fillType2:"#2ecc71",fillType3:"#fa541c",fillType4:"#25a55b",fillType5:"#13c2c2",fillType6:"#096dd9",fillType7:"#aa6fe9"});var wv=G({name:"Mermaid",props:{id:{type:String,required:!0},code:{type:String,required:!0},title:{type:String,default:""}},setup(e){const{themeVariables:t,...n}=mv(),r=Ne(),o=S(()=>Zl(e.code)),s=Q(""),l=Q(!1);let a=!1;const i=async()=>{const[{default:d}]=await Promise.all([ce(()=>import("./mermaid.core-C-ipfzeP.js").then(p=>p.b9),[]),a?Promise.resolve():(a=!0,new Promise(p=>setTimeout(p,800)))]);d.initialize({theme:"base",themeVariables:{...yv(l.value),...Xd(t)?t(l.value):t},flowchart:pn,sequence:pn,journey:pn,gantt:pn,er:pn,pie:pn,...n,startOnLoad:!1}),s.value=(await d.render(e.id,o.value)).svg},c=()=>{const{body:d}=document,p=document.createElement("div");p.classList.add("mermaid-preview"),p.innerHTML=s.value,d.appendChild(p),p.addEventListener("click",()=>{d.removeChild(p)})},f=()=>{const d=`data:image/svg+xml;charset=utf8,${s.value.replace(/
/g,"
").replace(/%/g,"%25").replace(/"/g,"%22").replace(/'/g,"%27").replace(/&/g,"%26").replace(/#/g,"%23").replace(/{/g,"%7B").replace(/}/g,"%7D").replace(//g,"%3E")}`,p=document.createElement("a");p.setAttribute("href",d),p.setAttribute("download",`${e.title?Zl(e.title):e.id}.svg`),p.click()};return _e(()=>{l.value=fa(),i(),Zi(document.documentElement,()=>{l.value=fa()},{attributeFilter:["class","data-theme"],attributes:!0}),oe(l,()=>i())}),()=>[u("div",{class:"mermaid-actions"},[u("button",{class:"preview-button",onClick:()=>c(),title:"preview",innerHTML:''}),u("button",{class:"download-button",onClick:()=>f(),title:"download",innerHTML:''})]),u("div",{ref:r,class:"mermaid-wrapper"},s.value?u("div",{class:"mermaid-content",innerHTML:s.value}):u(ac,{class:"mermaid-loading",height:96}))]}});const To=$s("VUEPRESS_TAB_STORE",{});var _v=G({name:"Tabs",props:{active:{type:Number,default:0},data:{type:Array,required:!0},id:{type:String,required:!0},tabId:{type:String,default:""}},slots:Object,setup(e,{slots:t}){const n=Q(e.active),r=Ne([]),o=()=>{e.tabId&&(To.value[e.tabId]=e.data[n.value].id)},s=(c=n.value)=>{n.value=c{n.value=c>0?c-1:r.value.length-1,r.value[n.value].focus()},a=(c,f)=>{c.key===" "||c.key==="Enter"?(c.preventDefault(),n.value=f):c.key==="ArrowRight"?(c.preventDefault(),s()):c.key==="ArrowLeft"&&(c.preventDefault(),l()),o()},i=()=>{if(e.tabId){const c=e.data.findIndex(({id:f})=>To.value[e.tabId]===f);if(c!==-1)return c}return e.active};return _e(()=>{n.value=i(),oe(()=>To.value[e.tabId],(c,f)=>{if(e.tabId&&c!==f){const d=e.data.findIndex(({id:p})=>p===c);d!==-1&&(n.value=d)}})}),()=>e.data.length?u("div",{class:"vp-tabs"},[u("div",{class:"vp-tabs-nav",role:"tablist"},e.data.map(({id:c},f)=>{const d=f===n.value;return u("button",{type:"button",ref:p=>{p&&(r.value[f]=p)},class:["vp-tab-nav",{active:d}],role:"tab","aria-controls":`tab-${e.id}-${f}`,"aria-selected":d,onClick:()=>{n.value=f,o()},onKeydown:p=>a(p,f)},t[`title${f}`]({value:c,isActive:d}))})),e.data.map(({id:c},f)=>{const d=f===n.value;return u("div",{class:["vp-tab",{active:d}],id:`tab-${e.id}-${f}`,role:"tabpanel","aria-expanded":d},[u("div",{class:"vp-tab-title"},t[`title${f}`]({value:c,isActive:d})),t[`tab${f}`]({value:c,isActive:d})])})]):null}});const Ev=lt({enhance:({app:e})=>{bv(e),e.component("Mermaid",wv),e.component("Tabs",_v)},setup:()=>{tv()}});let Cv={};const yc=Symbol(""),kv=()=>ke(yc),xv=e=>{e.provide(yc,Cv)},Sv='
',Tv=e=>Ee(e)?Array.from(document.querySelectorAll(e)):e.map(t=>Array.from(document.querySelectorAll(t))).flat(),wc=e=>new Promise((t,n)=>{e.complete?t({type:"image",element:e,src:e.src,width:e.naturalWidth,height:e.naturalHeight,alt:e.alt,msrc:e.src}):(e.onload=()=>t(wc(e)),e.onerror=r=>n(r))}),Av=e=>{const{isSupported:t,toggle:n}=Ns();e.on("uiRegister",()=>{t.value&&e.ui.registerElement({name:"fullscreen",order:7,isButton:!0,html:'',onClick:()=>{n()}}),e.ui.registerElement({name:"download",order:8,isButton:!0,tagName:"a",html:{isCustomSVG:!0,inner:'',outlineID:"pswp__icn-download"},onInit:(r,o)=>{r.setAttribute("download",""),r.setAttribute("target","_blank"),r.setAttribute("rel","noopener"),o.on("change",()=>{r.setAttribute("href",o.currSlide.data.src)})}}),e.ui.registerElement({name:"bulletsIndicator",className:"photo-swipe-bullets-indicator",appendTo:"wrapper",onInit:(r,o)=>{const s=[];let l=-1;for(let a=0;a{o.goTo(s.indexOf(c.target))},s.push(i),r.appendChild(i)}o.on("change",()=>{l>=0&&s[l].classList.remove("active"),s[o.currIndex].classList.add("active"),l=o.currIndex})}})})},Lv=(e,t,n=!0)=>ce(()=>import("./photoswipe.esm-SzV8tJDW.js"),[]).then(({default:r})=>{let o=null;const s=e.map(l=>({html:Sv,element:l,msrc:l.src}));return e.forEach((l,a)=>{const i=()=>{o==null||o.destroy(),o=new r({preloaderDelay:0,showHideAnimationType:"zoom",...t,dataSource:s,index:a,...n?{closeOnVerticalDrag:!0,wheelToZoom:!1}:{}}),Av(o),o.addFilter("thumbEl",()=>l),o.addFilter("placeholderSrc",()=>l.src),o.init()};l.getAttribute("photo-swipe")||(l.style.cursor="zoom-in",l.addEventListener("click",()=>{i()}),l.addEventListener("keypress",({key:c})=>{c==="Enter"&&i()}),l.setAttribute("photo-swipe","")),wc(l).then(c=>{s.splice(a,1,c),o==null||o.refreshSlideContent(a)})}),n?Ce("wheel",()=>{o==null||o.close()}):()=>{}}),Rv=({selector:e,locales:t,delay:n=500,scrollToClose:r=!0})=>{const o=kv(),s=Jt(t),l=Se(),a=Le();let i=null;const c=()=>{const{photoSwipe:f}=a.value;f!==!1&&Yt().then(()=>Wi(n)).then(async()=>{const d=Ee(f)?f:e;i=await Lv(Tv(d),{...o,...s.value},r)})};_e(()=>{c(),oe(()=>l.value.path,()=>{i==null||i(),c()})}),Sn(()=>{i==null||i()})};var Ov={"/":{closeTitle:"Close",downloadTitle:"Download Image",fullscreenTitle:"Switch to full screen",zoomTitle:"Zoom in/out",arrowPrevTitle:"Prev (Arrow Left)",arrowNextTitle:"Next (Arrow Right)"}};const Pv=".theme-hope-content :not(a) > img:not([no-view])",Iv=Ov,Mv=800,$v=!0,Nv=lt({enhance:({app:e})=>{xv(e)},setup:()=>{Rv({selector:Pv,delay:Mv,locales:Iv,scrollToClose:$v})}}),Dv=()=>u(ve,{name:"heading"},()=>u("path",{d:"M250.4 704.6H64V595.4h202.4l26.2-166.6H94V319.6h214.4L352 64h127.8l-43.6 255.4h211.2L691 64h126.2l-43.6 255.4H960v109.2H756.2l-24.6 166.6H930v109.2H717L672 960H545.8l43.6-255.4H376.6L333 960H206.8l43.6-255.4zm168.4-276L394 595.4h211.2l24.6-166.6h-211z"}));Dv.displayName="HeadingIcon";const Hv=()=>u(ve,{name:"heart"},()=>u("path",{d:"M1024 358.156C1024 195.698 892.3 64 729.844 64c-86.362 0-164.03 37.218-217.844 96.49C458.186 101.218 380.518 64 294.156 64 131.698 64 0 195.698 0 358.156 0 444.518 37.218 522.186 96.49 576H96l320 320c32 32 64 64 96 64s64-32 96-64l320-320h-.49c59.272-53.814 96.49-131.482 96.49-217.844zM841.468 481.232 517.49 805.49a2981.962 2981.962 0 0 1-5.49 5.48c-1.96-1.95-3.814-3.802-5.49-5.48L182.532 481.234C147.366 449.306 128 405.596 128 358.156 128 266.538 202.538 192 294.156 192c47.44 0 91.15 19.366 123.076 54.532L512 350.912l94.768-104.378C638.696 211.366 682.404 192 729.844 192 821.462 192 896 266.538 896 358.156c0 47.44-19.368 91.15-54.532 123.076z"}));Hv.displayName="HeartIcon";const Fv=()=>u(ve,{name:"history"},()=>u("path",{d:"M512 1024a512 512 0 1 1 512-512 512 512 0 0 1-512 512zm0-896a384 384 0 1 0 384 384 384 384 0 0 0-384-384zm192 448H512a64 64 0 0 1-64-64V320a64 64 0 0 1 128 0v128h128a64 64 0 0 1 0 128z"}));Fv.displayName="HistoryIcon";const Bv=()=>u(ve,{name:"title"},()=>u("path",{d:"M512 256c70.656 0 134.656 28.672 180.992 75.008A254.933 254.933 0 0 1 768 512c0 83.968-41.024 157.888-103.488 204.48C688.96 748.736 704 788.48 704 832c0 105.984-86.016 192-192 192-106.048 0-192-86.016-192-192h128a64 64 0 1 0 128 0 64 64 0 0 0-64-64 255.19 255.19 0 0 1-181.056-75.008A255.403 255.403 0 0 1 256 512c0-83.968 41.024-157.824 103.488-204.544C335.04 275.264 320 235.584 320 192A192 192 0 0 1 512 0c105.984 0 192 85.952 192 192H576a64.021 64.021 0 0 0-128 0c0 35.328 28.672 64 64 64zM384 512c0 70.656 57.344 128 128 128s128-57.344 128-128-57.344-128-128-128-128 57.344-128 128z"}));Bv.displayName="TitleIcon";const Bs=()=>u(ve,{name:"search"},()=>u("path",{d:"M192 480a256 256 0 1 1 512 0 256 256 0 0 1-512 0m631.776 362.496-143.2-143.168A318.464 318.464 0 0 0 768 480c0-176.736-143.264-320-320-320S128 303.264 128 480s143.264 320 320 320a318.016 318.016 0 0 0 184.16-58.592l146.336 146.368c12.512 12.48 32.768 12.48 45.28 0 12.48-12.512 12.48-32.768 0-45.28"}));Bs.displayName="SearchIcon";const _c=()=>u("svg",{xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32",preserveAspectRatio:"xMidYMid",viewBox:"0 0 100 100"},[u("circle",{cx:"28",cy:"75",r:"11",fill:"currentColor"},u("animate",{attributeName:"fill-opacity",begin:"0s",dur:"1s",keyTimes:"0;0.2;1",repeatCount:"indefinite",values:"0;1;1"})),u("path",{fill:"none",stroke:"#88baf0","stroke-width":"10",d:"M28 47a28 28 0 0 1 28 28"},u("animate",{attributeName:"stroke-opacity",begin:"0.1s",dur:"1s",keyTimes:"0;0.2;1",repeatCount:"indefinite",values:"0;1;1"})),u("path",{fill:"none",stroke:"#88baf0","stroke-width":"10",d:"M28 25a50 50 0 0 1 50 50"},u("animate",{attributeName:"stroke-opacity",begin:"0.2s",dur:"1s",keyTimes:"0;0.2;1",repeatCount:"indefinite",values:"0;1;1"}))]);_c.displayName="LoadingIcon";const Ec=({hint:e})=>u("div",{class:"search-pro-result-wrapper loading"},[u(_c),e]);Ec.displayName="SearchLoading";const jv='';var Vv={0:{"/":{0:"C",1:"a",2:"t",3:"e",4:"g",5:"o",6:"r",7:"y",8:":",9:" ",10:"$",11:"c",12:"o",13:"n",14:"t",15:"e",16:"n",17:"t"}},1:{"/":{0:"T",1:"a",2:"g",3:":",4:" ",5:"$",6:"c",7:"o",8:"n",9:"t",10:"e",11:"n",12:"t"}}},zv={"/":{cancel:"Cancel",placeholder:"Search",search:"Search",searching:"Searching",defaultTitle:"Documentation",select:"to select",navigate:"to navigate",autocomplete:"to autocomplete",exit:"to exit",queryHistory:"Search History",resultHistory:"Result History",emptyHistory:"Empty Search History",emptyResult:"No results found",loading:"Loading search indexes..."}},qv={searchDelay:150,suggestDelay:0,queryHistoryCount:5,resultHistoryCount:5,hotKeys:[{key:"k",ctrl:!0},{key:"/",ctrl:!0}],worker:"search-pro.worker.js"};const qr=qv,Pg=Vv,Cc=qr.hotKeys,js=zv,Ao="Canceled because of new search request.",Ig=()=>{const e=new Worker(`/${qr.worker}`,{}),t={suggest:null,search:null,all:null};return e.addEventListener("message",({data:n})=>{const[r,o,s]=n,l=t[r];(l==null?void 0:l.id)===o&&l.resolve(s)}),e.addEventListener("error",n=>{console.error("Search Worker error:",n)}),{suggest:(n,r,o)=>new Promise((s,l)=>{var i;(i=t.suggest)==null||i.reject(new Error(Ao));const a=Date.now();e.postMessage({type:"suggest",id:a,query:n,locale:r,options:o}),t.suggest={id:a,resolve:s,reject:l}}),search:(n,r,o)=>new Promise((s,l)=>{var i;(i=t.search)==null||i.reject(new Error(Ao));const a=Date.now();e.postMessage({type:"search",id:a,query:n,locale:r,options:o}),console.log("post"),t.search={id:a,resolve:s,reject:l}}),all:(n,r,o)=>new Promise((s,l)=>{var i;(i=t.all)==null||i.reject(new Error(Ao));const a=Date.now();e.postMessage({type:"all",id:a,query:n,locale:r,options:o}),t.all={id:a,resolve:s,reject:l}}),terminate:()=>{e.terminate(),$h(t).forEach(n=>{n==null||n.reject(new Error("Worker has been terminated."))})}}};let Uv={};const kc=Symbol(""),Wv=()=>{const e=un(),{locales:t={},...n}=ke(kc);return S(()=>({...n,...t[e.value]||{}}))},Kv=e=>{e.provide(kc,Uv)},Gv=(e,t=!1)=>{const n=Q(0),r=S(()=>e.value[n.value]),o=()=>{n.value=n.value>0?n.value-1:e.value.length-1},s=()=>{n.value=n.value{t||(n.value=0)}),{index:n,item:r,prev:o,next:s}},Yv=e=>e instanceof Element?document.activeElement===e&&(["TEXTAREA","SELECT","INPUT"].includes(e.tagName)||e.hasAttribute("contenteditable")):!1,Jv=e=>Cc.some(t=>{const{key:n,ctrl:r=!1,shift:o=!1,alt:s=!1,meta:l=!1}=t;return n===e.key&&r===e.ctrlKey&&o===e.shiftKey&&s===e.altKey&&l===e.metaKey}),Qv='',Xv='',Zv='',e0='',Vs=Symbol(""),t0=()=>{const e=Q(!1);an(Vs,e)},n0=e=>({suggestions:Q([])}),Lo=Cc[0];var r0=G({name:"SearchBox",setup(){const e=Jt(js),t=ke(Vs),n=Q(!1),r=S(()=>Lo?[(n.value?["⌃","⇧","⌥","⌘"]:["Ctrl","Shift","Alt","Win"]).filter((o,s)=>Lo[["ctrl","shift","alt","meta"][s]]),Lo.key.toUpperCase()]:null);return Ce("keydown",o=>{!t.value&&Jv(o)&&!Yv(o.target)&&(o.preventDefault(),t.value=!0)}),_e(()=>{const{userAgent:o}=navigator;n.value=uv(o)||cv(o)||iv(o)}),()=>[u("button",{type:"button",class:"search-pro-button","aria-label":e.value.search,onClick:()=>{t.value=!0}},[u(Bs),u("div",{class:"search-pro-placeholder"},e.value.search),r.value?u("div",{class:"search-pro-key-hints"},r.value.map(o=>u("kbd",{class:"search-pro-key"},o))):null])]}});const o0=Ya({loader:()=>ce(()=>import("./SearchResult-DKO0M0vx.js"),[]),loadingComponent:()=>{const e=Jt(js);return u(Ec,{hint:e.value.loading})}});var s0=G({name:"SearchModal",setup(){const e=ke(Vs),t=no(),n=av(),r=Jt(js),o=Wv(),s=Q(""),l=Q([]),{suggestions:a}=n0(),i=Q(!1),{index:c,prev:f,next:d}=Gv(a),p=Ne(),v=Ne(),m=(w=c.value)=>{s.value=a.value[w],i.value=!1};Ce("keydown",w=>{i.value?w.key==="ArrowUp"?f():w.key==="ArrowDown"?d():w.key==="Enter"?m():w.key==="Escape"&&(i.value=!1):w.key==="Escape"&&(e.value=!1)});const E=Ji(()=>{var w,b;(((b=(w=o.value).splitWord)==null?void 0:b.call(w,s.value))||Promise.resolve(s.value.split(" "))).then(C=>{l.value=C})},Math.min(qr.searchDelay,qr.suggestDelay));return oe(s,E,{immediate:!0}),_e(()=>{const w=Ds(document.body);oe(e,async b=>{var C;w.value=b,b&&(await Yt(),(C=p.value)==null||C.focus())}),n1(v,()=>{i.value=!1}),Sn(()=>{w.value=!1})}),()=>e.value?u("div",{class:"search-pro-modal-wrapper"},[u("div",{class:"search-pro-mask",onClick:()=>{e.value=!1,s.value=""}}),u("div",{class:"search-pro-modal"},[u("div",{class:"search-pro-box"},[u("form",[u("label",{for:"search-pro","aria-label":r.value.search},u(Bs)),u("input",{ref:p,type:"search",class:"search-pro-input",id:"search-pro",placeholder:r.value.placeholder,spellcheck:"false",autocapitalize:"off",autocomplete:"off",autocorrect:"off",name:`${t.value.title}-search`,value:s.value,"aria-controls":"search-pro-results",onKeydown:w=>{const{key:b}=w;a.value.length&&(b==="Tab"?(m(),w.preventDefault()):(b==="ArrowDown"||b==="ArrowUp"||b==="Escape")&&w.preventDefault())},onInput:({target:w})=>{s.value=w.value,i.value=!0,c.value=0}}),s.value?u("button",{type:"reset",class:"search-pro-clear-button",innerHTML:jv,onClick:()=>{s.value=""}}):null,null]),u("button",{type:"button",class:"search-pro-close-button",onClick:()=>{e.value=!1,s.value=""}},r.value.cancel)]),u(o0,{queries:l.value,isFocusing:!i.value,onClose:()=>{e.value=!1},onUpdateQuery:w=>{s.value=w}}),n.value?null:u("div",{class:"search-pro-hints"},[u("span",{class:"search-pro-hint"},[u("kbd",{innerHTML:Qv}),r.value.select]),u("span",{class:"search-pro-hint"},[u("kbd",{innerHTML:Zv}),u("kbd",{innerHTML:Xv}),r.value.navigate]),u("span",{class:"search-pro-hint"},[u("kbd",{innerHTML:e0}),r.value.exit])])])]):null}}),l0=lt({enhance({app:e}){Kv(e),e.component("SearchBox",r0)},setup(){t0()},rootComponents:[s0]});const xc=()=>{const e=Se();return S(()=>e.value.readingTime??null)},a0=(e,t)=>{const{minutes:n,words:r}=e,{less1Minute:o,word:s,time:l}=t;return{time:n<1?o:l.replace("$time",Math.round(n).toString()),words:s.replace("$word",r.toString())}},da={words:"",time:""},Xo=typeof __READING_TIME_LOCALES__>"u"?null:__READING_TIME_LOCALES__,i0=()=>Xo?Jt(Xo):S(()=>null),c0=()=>{if(typeof Xo>"u")return S(()=>da);const e=xc(),t=i0();return S(()=>e.value&&t.value?a0(e.value,t.value):da)},Rn=()=>sc(),pe=()=>j1(),Ro=()=>null,u0="719px",f0="1440px",d0="false",Sc={mobileBreakPoint:u0,pcBreakPoint:f0,enableThemeColor:d0},zs={"/":["",{text:"Introduction",prefix:"guide/",collapsible:!0,children:["","getting-started","architecture-overview","cli","state-and-deps","scheduling-tasks","dynamic-brokers","testing-taskiq","message-format"]},{text:"Framework integrations",prefix:"framework_integrations/",collapsible:!0,children:["","taskiq-with-fastapi","taskiq-with-aiohttp","faststream","taskiq-with-aiogram"]},{text:"Extending taskiq",prefix:"extending-taskiq/",collapsible:!0,children:["","broker","middleware","result-backend","cli","schedule-sources"]},{text:"Available components",prefix:"available-components/",collapsible:!0,children:["","brokers","result-backends","schedule-sources","middlewares"]},"contrib"]},Tc=e=>{const{icon:t="",color:n,size:r}=e,o=n||r?{}:null;return n&&(o.color=n),r&&(o.height=Number.isNaN(Number(r))?r:`${r}px`),cn(t)?u("img",{class:"icon",src:t,alt:"","no-view":"",style:o}):so(t)?u("img",{class:"icon",src:ze(t),alt:"","aria-hidden":"","no-view":"",style:o}):u(yt("FontIcon"),e)};Tc.displayName="HopeIcon";var je=Tc;const p0="http://.",qs=()=>{const e=An(),t=Rt();return n=>{if(n)if(so(n))t.path!==n&&e.push(n);else if(Xr(n))window&&window.open(n);else{const r=t.path.slice(0,t.path.lastIndexOf("/"));e.push(new URL(`${r}/${encodeURI(n)}`,p0).pathname)}}},Ac=()=>{const e=pe(),t=Le();return S(()=>{const{author:n}=t.value;return n?ua(n):n===!1?[]:ua(e.value.author,!1)})},h0=()=>{const e=Le();return S(()=>hv(e.value.category).map(t=>({name:t,path:""})))},v0=()=>{const e=Le();return S(()=>vv(e.value.tag).map(t=>({name:t,path:""})))},g0=()=>{const e=Le(),t=Se();return S(()=>{const n=Nh(e.value.date);if(n)return n;const{createdTime:r}=t.value.git||{};return r?new Date(r):null})},m0=()=>{const e=pe(),t=Se(),n=Le(),r=Ac(),o=h0(),s=v0(),l=g0(),a=xc(),i=c0(),c=S(()=>({author:r.value,category:o.value,date:l.value,localizedDate:t.value.localizedDate,tag:s.value,isOriginal:n.value.isOriginal||!1,readingTime:a.value,readingTimeLocale:i.value,pageview:"pageview"in n.value?n.value.pageview:!0})),f=S(()=>"pageInfo"in n.value?n.value.pageInfo:"pageInfo"in e.value?e.value.pageInfo:null);return{info:c,items:f}},br=()=>{const e=Rn();return S(()=>!!e.value.pure)},{mobileBreakPoint:b0,pcBreakPoint:y0}=Sc,pa=e=>e.endsWith("px")?Number(e.slice(0,-2)):null,lo=()=>{const e=Q(!1),t=Q(!1),n=()=>{e.value=window.innerWidth<=(pa(b0)??719),t.value=window.innerWidth>=(pa(y0)??1440)};return Ce("resize",n,!1),Ce("orientationchange",n,!1),_e(()=>{n()}),{isMobile:e,isPC:t}},Lc=Symbol(""),yr=()=>{const e=ke(Lc);if(!e)throw new Error("useDarkmode() is called without provider.");return e},w0=e=>{const t=Rn(),n=u1(),r=S(()=>t.value.darkmode||"switch"),o=$s("vuepress-theme-hope-scheme","auto"),s=S(()=>{const a=r.value;return a==="disable"?!1:a==="enable"?!0:a==="auto"?n.value:a==="toggle"?o.value==="dark":o.value==="dark"||o.value==="auto"&&n.value}),l=S(()=>{const a=r.value;return a==="switch"||a==="toggle"});e.provide(Lc,{canToggle:l,config:r,isDarkmode:s,status:o}),Object.defineProperties(e.config.globalProperties,{$isDarkmode:{get:()=>s.value}})},_0=()=>{const{config:e,isDarkmode:t,status:n}=yr();qa(()=>{e.value==="disable"?n.value="light":e.value==="enable"?n.value="dark":e.value==="toggle"&&n.value==="auto"&&(n.value="light")}),_e(()=>{oe(t,r=>document.documentElement.setAttribute("data-theme",r?"dark":"light"),{immediate:!0})})},lr=(e,t,n=!1)=>"activeMatch"in t?new RegExp(t.activeMatch,"u").test(e.path):vc(e,t.link)?!0:"children"in t&&!n?t.children.some(r=>lr(e,r)):!1,Rc=(e,t)=>t.type==="group"?t.children.some(n=>n.type==="group"?Rc(e,n):n.type==="page"&&lr(e,n,!0))||"prefix"in t&&vc(e,t.prefix):!1,Zo=e=>!Ts(e)&&!Xr(e);var bt=(e=>(e.title="t",e.shortTitle="s",e.icon="i",e.index="I",e.order="O",e.breadcrumbExclude="b",e))(bt||{}),E0=(e=>(e.type="y",e.author="a",e.date="d",e.localizedDate="l",e.category="c",e.tag="g",e.isEncrypted="n",e.isOriginal="o",e.readingTime="r",e.excerpt="e",e.sticky="u",e.cover="v",e))(E0||{}),C0=(e=>(e.article="a",e.home="h",e.slide="s",e.page="p",e))(C0||{});const Us=(e,t=!1,n)=>{const{meta:r,path:o,notFound:s}=Hh(e,n);return s?{text:o,link:o}:{text:!t&&r[bt.shortTitle]?r[bt.shortTitle]:r[bt.title]||o,link:o,...r[bt.icon]?{icon:r[bt.icon]}:{}}},rn=(e="",t="")=>so(t)||Xr(t)?t:`${ki(e)}${t}`,es=({config:e,prefix:t=""})=>{const n=(r,o=t)=>{const s=Ee(r)?Us(rn(o,r)):r.link?{...r,...Zo(r.link)?{link:Wt(rn(o,r.link)).path}:{}}:r;if("children"in s){const l=rn(o,s.prefix),a=s.children==="structure"?zs[l]:s.children;return{type:"group",...s,prefix:l,children:a.map(i=>n(i,l))}}return{type:"page",...s}};return e.map(r=>n(r))},k0=({config:e,page:t,headerDepth:n})=>{const r=oo(e).sort((o,s)=>s.length-o.length);for(const o of r)if(or(decodeURI(t.path),o)){const s=e[o];return s?es({config:s==="structure"?zs[o]:s,page:t,headerDepth:n,prefix:o}):[]}return console.warn(`${t.path} is missing sidebar config.`),[]},x0=({config:e,routeLocale:t,page:n,headerDepth:r})=>e==="structure"?es({config:zs[t],page:n,headerDepth:r,prefix:t}):Yo(e)?es({config:e,page:n,headerDepth:r}):Zr(e)?k0({config:e,page:n,headerDepth:r}):[],Oc=Symbol(""),S0=()=>{const e=Le(),t=pe(),n=Se(),r=un(),o=S(()=>e.value.home?!1:e.value.sidebar??t.value.sidebar??"structure"),s=S(()=>e.value.headerDepth??t.value.headerDepth??2),l=Gi(()=>[o.value,s.value,n.value.path,null],()=>x0({config:o.value,routeLocale:r.value,page:n.value,headerDepth:s.value}));an(Oc,l)},Ws=()=>{const e=ke(Oc);if(!e)throw new Error("useSidebarItems() is called without provider.");return e};var T0=G({name:"PageFooter",setup(){const e=Rn(),t=pe(),n=Le(),r=Ac(),o=S(()=>{const{copyright:c,footer:f}=n.value;return f!==!1&&!!(c||f||t.value.displayFooter)}),s=S(()=>{const{footer:c}=n.value;return c===!1?!1:Ee(c)?c:t.value.footer||""}),l=S(()=>r.value.map(({name:c})=>c).join(", ")),a=c=>`Copyright © ${new Date().getFullYear()} ${l.value} ${c?`${c} Licensed`:""}`,i=S(()=>{const{copyright:c,license:f=""}=n.value,{license:d}=e.value,{copyright:p}=t.value;return c??(f?a(f):Ee(p)?p:l.value||d?a(d):!1)});return()=>o.value?u("footer",{class:"vp-footer-wrapper"},[s.value?u("div",{class:"vp-footer",innerHTML:s.value}):null,i.value?u("div",{class:"vp-copyright",innerHTML:i.value}):null]):null}}),Ue=G({name:"AutoLink",inheritAttrs:!1,props:{config:{type:Object,required:!0},exact:Boolean,noExternalLinkIcon:Boolean},emits:["focusout"],slots:Object,setup(e,{attrs:t,emit:n,slots:r}){const o=Rt(),s=Di(),l=Gr(e,"config"),a=S(()=>cn(l.value.link)),i=S(()=>!a.value&&Xr(l.value.link)),c=S(()=>l.value.target||(a.value?"_blank":void 0)),f=S(()=>c.value==="_blank"),d=S(()=>!a.value&&!i.value&&!f.value),p=S(()=>l.value.rel||(f.value?"noopener noreferrer":null)),v=S(()=>l.value.ariaLabel||l.value.text),m=S(()=>{if(e.exact)return!1;const w=oo(s.value.locales);return w.length?w.every(b=>b!==l.value.link):l.value.link!=="/"}),E=S(()=>d.value?l.value.activeMatch?new RegExp(l.value.activeMatch,"u").test(o.path):m.value?or(o.path,l.value.link):o.path===l.value.link:!1);return()=>{const{before:w,after:b,default:C}=r,{text:y,icon:x,link:$}=l.value;return d.value?u(Qe,{to:$,"aria-label":v.value,...t,class:["nav-link",{active:E.value},t.class],onFocusout:()=>n("focusout")},()=>C?C():[w?w():u(je,{icon:x}),y,b==null?void 0:b()]):u("a",{href:$,rel:p.value,target:c.value,"aria-label":v.value,...t,class:["nav-link",t.class],onFocusout:()=>n("focusout")},C?C():[w?w():u(je,{icon:x}),y,e.noExternalLinkIcon?null:u(rc),b==null?void 0:b()])}}}),A0=G({name:"NavbarDropdownLink",props:{config:{type:Object,required:!0}},slots:Object,setup(e,{slots:t}){const n=Se(),r=Gr(e,"config"),o=S(()=>r.value.ariaLabel||r.value.text),s=Q(!1);oe(()=>n.value.path,()=>{s.value=!1});const l=a=>{a.detail===0&&(s.value=!s.value)};return()=>{var a;return u("div",{class:["dropdown-wrapper",{open:s.value}]},[u("button",{type:"button",class:"dropdown-title","aria-label":o.value,onClick:l},[((a=t.title)==null?void 0:a.call(t))||u("span",{class:"title"},[u(je,{icon:r.value.icon}),e.config.text]),u("span",{class:"arrow"}),u("ul",{class:"nav-dropdown"},r.value.children.map((i,c)=>{const f=c===r.value.children.length-1;return u("li",{class:"dropdown-item"},"children"in i?[u("h4",{class:"dropdown-subtitle"},i.link?u(Ue,{config:i,onFocusout:()=>{i.children.length===0&&f&&(s.value=!1)}}):u("span",i.text)),u("ul",{class:"dropdown-subitem-wrapper"},i.children.map((d,p)=>u("li",{class:"dropdown-subitem"},u(Ue,{config:d,onFocusout:()=>{p===i.children.length-1&&f&&(s.value=!1)}}))))]:u(Ue,{config:i,onFocusout:()=>{f&&(s.value=!1)}}))}))])])}}});const Pc=(e,t="")=>Ee(e)?Us(rn(t,e)):"children"in e?{...e,...e.link&&Zo(e.link)?{link:Wt(rn(t,e.link)).path}:{},children:e.children.map(n=>Pc(n,rn(t,e.prefix)))}:{...e,link:Zo(e.link)?Wt(rn(t,e.link)).path:e.link},Ic=()=>{const e=pe(),t=()=>(e.value.navbar||[]).map(n=>Pc(n));return Gi(()=>e.value.navbar,()=>t())},L0=()=>{const e=pe(),t=S(()=>e.value.repo||null),n=S(()=>t.value?nv(t.value):null),r=S(()=>t.value?Fs(t.value):null),o=S(()=>n.value?e.value.repoLabel??(r.value===null?"Source":r.value):null);return S(()=>!n.value||!o.value||e.value.repoDisplay===!1?null:{type:r.value||"Source",label:o.value,link:n.value})};var R0=G({name:"NavScreenDropdown",props:{config:{type:Object,required:!0}},setup(e){const t=Se(),n=Gr(e,"config"),r=S(()=>n.value.ariaLabel||n.value.text),o=Q(!1);oe(()=>t.value.path,()=>{o.value=!1});const s=(l,a)=>a[a.length-1]===l;return()=>[u("button",{type:"button",class:["nav-screen-dropdown-title",{active:o.value}],"aria-label":r.value,onClick:()=>{o.value=!o.value}},[u("span",{class:"title"},[u(je,{icon:n.value.icon}),e.config.text]),u("span",{class:["arrow",o.value?"down":"end"]})]),u("ul",{class:["nav-screen-dropdown",{hide:!o.value}]},n.value.children.map(l=>u("li",{class:"dropdown-item"},"children"in l?[u("h4",{class:"dropdown-subtitle"},l.link?u(Ue,{config:l,onFocusout:()=>{s(l,n.value.children)&&l.children.length===0&&(o.value=!1)}}):u("span",l.text)),u("ul",{class:"dropdown-subitem-wrapper"},l.children.map(a=>u("li",{class:"dropdown-subitem"},u(Ue,{config:a,onFocusout:()=>{s(a,l.children)&&s(l,n.value.children)&&(o.value=!1)}}))))]:u(Ue,{config:l,onFocusout:()=>{s(l,n.value.children)&&(o.value=!1)}}))))]}}),O0=G({name:"NavScreenLinks",setup(){const e=Ic();return()=>e.value.length?u("nav",{class:"nav-screen-links"},e.value.map(t=>u("div",{class:"navbar-links-item"},"children"in t?u(R0,{config:t}):u(Ue,{config:t})))):null}});const Mc=()=>u(ve,{name:"dark"},()=>u("path",{d:"M524.8 938.667h-4.267a439.893 439.893 0 0 1-313.173-134.4 446.293 446.293 0 0 1-11.093-597.334A432.213 432.213 0 0 1 366.933 90.027a42.667 42.667 0 0 1 45.227 9.386 42.667 42.667 0 0 1 10.24 42.667 358.4 358.4 0 0 0 82.773 375.893 361.387 361.387 0 0 0 376.747 82.774 42.667 42.667 0 0 1 54.187 55.04 433.493 433.493 0 0 1-99.84 154.88 438.613 438.613 0 0 1-311.467 128z"}));Mc.displayName="DarkIcon";const $c=()=>u(ve,{name:"light"},()=>u("path",{d:"M952 552h-80a40 40 0 0 1 0-80h80a40 40 0 0 1 0 80zM801.88 280.08a41 41 0 0 1-57.96-57.96l57.96-58a41.04 41.04 0 0 1 58 58l-58 57.96zM512 752a240 240 0 1 1 0-480 240 240 0 0 1 0 480zm0-560a40 40 0 0 1-40-40V72a40 40 0 0 1 80 0v80a40 40 0 0 1-40 40zm-289.88 88.08-58-57.96a41.04 41.04 0 0 1 58-58l57.96 58a41 41 0 0 1-57.96 57.96zM192 512a40 40 0 0 1-40 40H72a40 40 0 0 1 0-80h80a40 40 0 0 1 40 40zm30.12 231.92a41 41 0 0 1 57.96 57.96l-57.96 58a41.04 41.04 0 0 1-58-58l58-57.96zM512 832a40 40 0 0 1 40 40v80a40 40 0 0 1-80 0v-80a40 40 0 0 1 40-40zm289.88-88.08 58 57.96a41.04 41.04 0 0 1-58 58l-57.96-58a41 41 0 0 1 57.96-57.96z"}));$c.displayName="LightIcon";const Nc=()=>u(ve,{name:"auto"},()=>u("path",{d:"M512 992C246.92 992 32 777.08 32 512S246.92 32 512 32s480 214.92 480 480-214.92 480-480 480zm0-840c-198.78 0-360 161.22-360 360 0 198.84 161.22 360 360 360s360-161.16 360-360c0-198.78-161.22-360-360-360zm0 660V212c165.72 0 300 134.34 300 300 0 165.72-134.28 300-300 300z"}));Nc.displayName="AutoIcon";const Dc=()=>u(ve,{name:"enter-fullscreen"},()=>u("path",{d:"M762.773 90.24h-497.28c-96.106 0-174.4 78.293-174.4 174.4v497.28c0 96.107 78.294 174.4 174.4 174.4h497.28c96.107 0 175.04-78.293 174.4-174.4V264.64c0-96.213-78.186-174.4-174.4-174.4zm-387.2 761.173H215.04c-21.867 0-40.427-17.92-41.067-41.066V649.92c0-22.507 17.92-40.427 40.427-40.427 11.307 0 21.227 4.694 28.48 11.947 7.253 7.253 11.947 17.92 11.947 28.48v62.293l145.28-145.28c15.893-15.893 41.813-15.893 57.706 0 15.894 15.894 15.894 41.814 0 57.707l-145.28 145.28h62.294c22.506 0 40.426 17.92 40.426 40.427s-17.173 41.066-39.68 41.066zM650.24 165.76h160.427c21.866 0 40.426 17.92 41.066 41.067v160.426c0 22.507-17.92 40.427-40.426 40.427-11.307 0-21.227-4.693-28.48-11.947-7.254-7.253-11.947-17.92-11.947-28.48v-62.186L625.6 450.347c-15.893 15.893-41.813 15.893-57.707 0-15.893-15.894-15.893-41.814 0-57.707l145.28-145.28H650.88c-22.507 0-40.427-17.92-40.427-40.427s17.174-41.173 39.787-41.173z"}));Dc.displayName="EnterFullScreenIcon";const Hc=()=>u(ve,{name:"cancel-fullscreen"},()=>u("path",{d:"M778.468 78.62H247.922c-102.514 0-186.027 83.513-186.027 186.027V795.08c0 102.514 83.513 186.027 186.027 186.027h530.432c102.514 0 186.71-83.513 186.026-186.027V264.647C964.494 162.02 880.981 78.62 778.468 78.62zM250.88 574.35h171.122c23.324 0 43.122 19.115 43.804 43.805v171.121c0 24.008-19.114 43.122-43.122 43.122-12.06 0-22.641-5.006-30.378-12.743s-12.743-19.115-12.743-30.379V722.83L224.597 877.91c-16.953 16.952-44.6 16.952-61.553 0-16.953-16.954-16.953-44.602 0-61.554L318.009 661.39h-66.446c-24.007 0-43.122-19.114-43.122-43.122 0-24.12 18.432-43.918 42.439-43.918zm521.899-98.873H601.657c-23.325 0-43.122-19.114-43.805-43.804V260.55c0-24.007 19.115-43.122 43.122-43.122 12.06 0 22.642 5.007 30.379 12.743s12.743 19.115 12.743 30.38v66.445l154.965-154.965c16.953-16.953 44.601-16.953 61.554 0 16.953 16.953 16.953 44.6 0 61.554L705.536 388.55h66.446c24.007 0 43.122 19.115 43.122 43.122.114 24.007-18.318 43.804-42.325 43.804z"}));Hc.displayName="CancelFullScreenIcon";const Fc=()=>u(ve,{name:"outlook"},()=>[u("path",{d:"M224 800c0 9.6 3.2 44.8 6.4 54.4 6.4 48-48 76.8-48 76.8s80 41.6 147.2 0 134.4-134.4 38.4-195.2c-22.4-12.8-41.6-19.2-57.6-19.2C259.2 716.8 227.2 761.6 224 800zM560 675.2l-32 51.2c-51.2 51.2-83.2 32-83.2 32 25.6 67.2 0 112-12.8 128 25.6 6.4 51.2 9.6 80 9.6 54.4 0 102.4-9.6 150.4-32l0 0c3.2 0 3.2-3.2 3.2-3.2 22.4-16 12.8-35.2 6.4-44.8-9.6-12.8-12.8-25.6-12.8-41.6 0-54.4 60.8-99.2 137.6-99.2 6.4 0 12.8 0 22.4 0 12.8 0 38.4 9.6 48-25.6 0-3.2 0-3.2 3.2-6.4 0-3.2 3.2-6.4 3.2-6.4 6.4-16 6.4-16 6.4-19.2 9.6-35.2 16-73.6 16-115.2 0-105.6-41.6-198.4-108.8-268.8C704 396.8 560 675.2 560 675.2zM224 419.2c0-28.8 22.4-51.2 51.2-51.2 28.8 0 51.2 22.4 51.2 51.2 0 28.8-22.4 51.2-51.2 51.2C246.4 470.4 224 448 224 419.2zM320 284.8c0-22.4 19.2-41.6 41.6-41.6 22.4 0 41.6 19.2 41.6 41.6 0 22.4-19.2 41.6-41.6 41.6C339.2 326.4 320 307.2 320 284.8zM457.6 208c0-12.8 12.8-25.6 25.6-25.6 12.8 0 25.6 12.8 25.6 25.6 0 12.8-12.8 25.6-25.6 25.6C470.4 233.6 457.6 220.8 457.6 208zM128 505.6C128 592 153.6 672 201.6 736c28.8-60.8 112-60.8 124.8-60.8-16-51.2 16-99.2 16-99.2l316.8-422.4c-48-19.2-99.2-32-150.4-32C297.6 118.4 128 291.2 128 505.6zM764.8 86.4c-22.4 19.2-390.4 518.4-390.4 518.4-22.4 28.8-12.8 76.8 22.4 99.2l9.6 6.4c35.2 22.4 80 12.8 99.2-25.6 0 0 6.4-12.8 9.6-19.2 54.4-105.6 275.2-524.8 288-553.6 6.4-19.2-3.2-32-19.2-32C777.6 76.8 771.2 80 764.8 86.4z"})]);Fc.displayName="OutlookIcon";var Bc=G({name:"AppearanceSwitch",setup(){const{config:e,isDarkmode:t,status:n}=yr(),r=br(),o=()=>{e.value==="switch"?n.value={light:"dark",dark:"auto",auto:"light"}[n.value]:n.value=n.value==="light"?"dark":"light"},s=async l=>{if(!(document.startViewTransition&&!window.matchMedia("(prefers-reduced-motion: reduce)").matches&&!r.value)||!l){o();return}const a=l.clientX,i=l.clientY,c=Math.hypot(Math.max(a,innerWidth-a),Math.max(i,innerHeight-i)),f=t.value;await document.startViewTransition(async()=>{o(),await Yt()}).ready,t.value!==f&&document.documentElement.animate({clipPath:t.value?[`circle(${c}px at ${a}px ${i}px)`,`circle(0px at ${a}px ${i}px)`]:[`circle(0px at ${a}px ${i}px)`,`circle(${c}px at ${a}px ${i}px)`]},{duration:400,pseudoElement:t.value?"::view-transition-old(root)":"::view-transition-new(root)"})};return()=>u("button",{type:"button",id:"appearance-switch",onClick:s},[u(Nc,{style:{display:n.value==="auto"?"block":"none"}}),u(Mc,{style:{display:n.value==="dark"?"block":"none"}}),u($c,{style:{display:n.value==="light"?"block":"none"}})])}}),P0=G({name:"AppearanceMode",setup(){const e=pe(),{canToggle:t}=yr(),n=S(()=>e.value.outlookLocales.darkmode);return()=>t.value?u("div",{class:"appearance-wrapper"},[u("label",{class:"appearance-title",for:"appearance-switch"},n.value),u(Bc)]):null}});const Oo=Sc.enableThemeColor==="true";var jc=G({name:"ToggleFullScreenButton",setup(){const e=pe(),{isSupported:t,isFullscreen:n,toggle:r}=Ns(),o=S(()=>e.value.outlookLocales.fullscreen);return()=>t?u("div",{class:"full-screen-wrapper"},[u("label",{class:"full-screen-title",for:"full-screen-switch"},o.value),u("button",{type:"button",id:"full-screen-switch",class:"full-screen",ariaPressed:n.value,onClick:()=>r()},n.value?u(Hc):u(Dc))]):null}}),Vc=G({name:"OutlookSettings",setup(){const e=Rn(),t=br(),n=S(()=>!t.value&&e.value.fullscreen);return()=>u(ro,()=>[null,u(P0),n.value?u(jc):null])}}),I0=G({name:"NavScreen",props:{show:Boolean},emits:["close"],slots:Object,setup(e,{emit:t,slots:n}){const r=Se(),{isMobile:o}=lo(),s=Ne(),l=Ds(s);return _e(()=>{s.value=document.body,oe(o,a=>{!a&&e.show&&(l.value=!1,t("close"))}),oe(()=>r.value.path,()=>{l.value=!1,t("close")})}),Sn(()=>{l.value=!1}),()=>u(Ut,{name:"fade",onEnter:()=>{l.value=!0},onAfterLeave:()=>{l.value=!1}},()=>{var a,i;return e.show?u("div",{id:"nav-screen"},u("div",{class:"vp-nav-screen-container"},[(a=n.before)==null?void 0:a.call(n),u(O0),u("div",{class:"vp-outlook-wrapper"},u(Vc)),(i=n.after)==null?void 0:i.call(n)])):null})}}),M0=G({name:"NavbarBrand",setup(){const e=un(),t=no(),n=pe(),r=S(()=>n.value.home||e.value),o=S(()=>t.value.title),s=S(()=>n.value.navTitle??o.value),l=S(()=>n.value.logo?ze(n.value.logo):null),a=S(()=>n.value.logoDark?ze(n.value.logoDark):null);return()=>u(Qe,{to:r.value,class:"vp-brand"},()=>[l.value?u("img",{class:["vp-nav-logo",{light:!!a.value}],src:l.value,alt:""}):null,a.value?u("img",{class:["vp-nav-logo dark"],src:a.value,alt:""}):null,s.value?u("span",{class:["vp-site-name",{"hide-in-pad":l.value&&n.value.hideSiteNameOnMobile!==!1}]},s.value):null])}}),$0=G({name:"NavbarLinks",setup(){const e=Ic();return()=>e.value.length?u("nav",{class:"vp-nav-links"},e.value.map(t=>u("div",{class:"vp-nav-item hide-in-mobile"},"children"in t?u(A0,{config:t}):u(Ue,{config:t})))):null}}),N0=G({name:"RepoLink",setup(){const e=L0();return()=>e.value?u("div",{class:"vp-nav-item vp-action"},u("a",{class:"vp-action-link",href:e.value.link,target:"_blank",rel:"noopener noreferrer","aria-label":e.value.label},u(rv,{type:e.value.type,style:{width:"1.25rem",height:"1.25rem",verticalAlign:"middle"}}))):null}});const zc=({active:e=!1},{emit:t})=>u("button",{type:"button",class:["vp-toggle-navbar-button",{"is-active":e}],"aria-label":"Toggle Navbar","aria-expanded":e,"aria-controls":"nav-screen",onClick:()=>t("toggle")},u("span",[u("span",{class:"vp-top"}),u("span",{class:"vp-middle"}),u("span",{class:"vp-bottom"})]));zc.displayName="ToggleNavbarButton";var D0=zc;const ts=(e,{emit:t})=>u("button",{type:"button",class:"vp-toggle-sidebar-button",title:"Toggle Sidebar",onClick:()=>t("toggle")},u("span",{class:"icon"}));ts.displayName="ToggleSidebarButton",ts.emits=["toggle"];var H0=ts,F0=G({name:"OutlookButton",setup(){const{isSupported:e}=Ns(),t=Rn(),n=br(),r=Se(),{canToggle:o}=yr(),s=Q(!1),l=S(()=>!n.value&&t.value.fullscreen&&e);return oe(()=>r.value.path,()=>{s.value=!1}),()=>o.value||l.value||Oo?u("div",{class:"vp-nav-item hide-in-mobile"},o.value&&!l.value&&!Oo?u(Bc):l.value&&!o.value&&!Oo?u(jc):u("button",{type:"button",class:["outlook-button",{open:s.value}],tabindex:"-1","aria-hidden":!0},[u(Fc),u("div",{class:"outlook-dropdown"},u(Vc))])):null}}),B0=G({name:"NavBar",emits:["toggleSidebar"],slots:Object,setup(e,{emit:t,slots:n}){const r=pe(),{isMobile:o}=lo(),s=Q(!1),l=S(()=>{const{navbarAutoHide:f="mobile"}=r.value;return f!=="none"&&(f==="always"||o.value)}),a=S(()=>r.value.navbarLayout||{start:["Brand"],center:["Links"],end:["Language","Repo","Outlook","Search"]}),i={Brand:M0,Language:Ro,Links:$0,Repo:N0,Outlook:F0,Search:Tt("Docsearch")?yt("Docsearch"):Tt("SearchBox")?yt("SearchBox"):Ro},c=f=>i[f]??(Tt(f)?yt(f):Ro);return()=>{var f,d,p,v,m,E;return[u("header",{key:"navbar",id:"navbar",class:["vp-navbar",{"auto-hide":l.value,"hide-icon":r.value.navbarIcon===!1}]},[u("div",{class:"vp-navbar-start"},[u(H0,{onToggle:()=>{s.value&&(s.value=!1),t("toggleSidebar")}}),(f=n.startBefore)==null?void 0:f.call(n),(a.value.start||[]).map(w=>u(c(w))),(d=n.startAfter)==null?void 0:d.call(n)]),u("div",{class:"vp-navbar-center"},[(p=n.centerBefore)==null?void 0:p.call(n),(a.value.center||[]).map(w=>u(c(w))),(v=n.centerAfter)==null?void 0:v.call(n)]),u("div",{class:"vp-navbar-end"},[(m=n.endBefore)==null?void 0:m.call(n),(a.value.end||[]).map(w=>u(c(w))),(E=n.endAfter)==null?void 0:E.call(n),u(D0,{active:s.value,onToggle:()=>{s.value=!s.value}})])]),u(I0,{show:s.value,onClose:()=>{s.value=!1}},{before:()=>{var w;return(w=n.screenTop)==null?void 0:w.call(n)},after:()=>{var w;return(w=n.screenBottom)==null?void 0:w.call(n)}})]}}}),j0=G({name:"SidebarChild",props:{config:{type:Object,required:!0}},setup(e){const t=Rt();return()=>Ee(e.config.link)?u(Ue,{class:["vp-sidebar-link","vp-sidebar-page",{active:lr(t,e.config,!0)}],exact:!0,config:e.config}):u("p",e,[u(je,{icon:e.config.icon}),e.config.text])}}),V0=G({name:"SidebarGroup",props:{config:{type:Object,required:!0},open:{type:Boolean,required:!0}},emits:["toggle"],setup(e,{emit:t}){const n=Rt(),r=S(()=>lr(n,e.config)),o=S(()=>lr(n,e.config,!0));return()=>{const{collapsible:s,children:l=[],icon:a,prefix:i,link:c,text:f}=e.config;return u("section",{class:"vp-sidebar-group"},[u(s?"button":"p",{class:["vp-sidebar-header",{clickable:s||c,exact:o.value,active:r.value}],...s?{type:"button",onClick:()=>t("toggle"),onKeydown:d=>{d.key==="Enter"&&t("toggle")}}:{}},[u(je,{icon:a}),c?u(Ue,{class:"vp-sidebar-title",config:{text:f,link:c},noExternalLinkIcon:!0}):u("span",{class:"vp-sidebar-title"},f),s?u("span",{class:["vp-arrow",e.open?"down":"end"]}):null]),e.open||!s?u(qc,{key:i,config:l}):null])}}}),qc=G({name:"SidebarLinks",props:{config:{type:Array,required:!0}},setup(e){const t=Rt(),n=Q(-1),r=o=>{n.value=o===n.value?-1:o};return oe(()=>t.path,()=>{const o=e.config.findIndex(s=>Rc(t,s));n.value=o},{immediate:!0,flush:"post"}),()=>u("ul",{class:"vp-sidebar-links"},e.config.map((o,s)=>u("li",o.type==="group"?u(V0,{config:o,open:s===n.value,onToggle:()=>r(s)}):u(j0,{config:o}))))}}),z0=G({name:"SideBar",slots:Object,setup(e,{slots:t}){const n=Rt(),r=pe(),o=Ws(),s=Ne();return _e(()=>{oe(()=>n.hash,l=>{const a=document.querySelector(`.vp-sidebar a.vp-sidebar-link[href="${n.path}${l}"]`);if(!a)return;const{top:i,height:c}=s.value.getBoundingClientRect(),{top:f,height:d}=a.getBoundingClientRect();fi+c&&a.scrollIntoView(!1)},{immediate:!0})}),()=>{var l,a,i;return u("aside",{ref:s,id:"sidebar",class:["vp-sidebar",{"hide-icon":r.value.sidebarIcon===!1}],key:"sidebar"},[(l=t.top)==null?void 0:l.call(t),((a=t.default)==null?void 0:a.call(t))||u(qc,{config:o.value}),(i=t.bottom)==null?void 0:i.call(t)])}}}),Uc=G({name:"CommonWrapper",props:{containerClass:{type:String,default:""},noNavbar:Boolean,noSidebar:Boolean,noToc:Boolean},slots:Object,setup(e,{slots:t}){const n=An(),r=Se(),o=Le(),s=pe(),{isMobile:l,isPC:a}=lo(),[i,c]=Qo(!1),[f,d]=Qo(!1),p=Ws(),v=Q(!1),m=S(()=>e.noNavbar||o.value.navbar===!1||s.value.navbar===!1?!1:!!(r.value.title||s.value.logo||s.value.repo||s.value.navbar)),E=S(()=>e.noSidebar?!1:o.value.sidebar!==!1&&p.value.length!==0&&!o.value.home),w=S(()=>e.noToc||o.value.home?!1:o.value.toc||s.value.toc!==!1&&o.value.toc!==!1),b={x:0,y:0},C=k=>{b.x=k.changedTouches[0].clientX,b.y=k.changedTouches[0].clientY},y=k=>{const q=k.changedTouches[0].clientX-b.x,N=k.changedTouches[0].clientY-b.y;Math.abs(q)>Math.abs(N)*1.5&&Math.abs(q)>40&&(q>0&&b.x<=80?c(!0):c(!1))},x=()=>window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0;let $=0;return Ce("scroll",Qh(()=>{const k=x();k<=58||k<$?v.value=!1:$+200{k||c(!1)}),_e(()=>{const k=Ds(document.body);oe(i,N=>{k.value=N});const q=n.afterEach(()=>{c(!1)});Sn(()=>{k.value=!1,q()})}),()=>u(Tt("GlobalEncrypt")?yt("GlobalEncrypt"):ic,()=>u("div",{class:["theme-container",{"no-navbar":!m.value,"no-sidebar":!E.value&&!(t.sidebar||t.sidebarTop||t.sidebarBottom),"has-toc":w.value,"hide-navbar":v.value,"sidebar-collapsed":!l.value&&!a.value&&f.value,"sidebar-open":l.value&&i.value},e.containerClass,o.value.containerClass||""],onTouchStart:C,onTouchEnd:y},[m.value?u(B0,{onToggleSidebar:()=>c()},{startBefore:()=>{var k;return(k=t.navbarStartBefore)==null?void 0:k.call(t)},startAfter:()=>{var k;return(k=t.navbarStartAfter)==null?void 0:k.call(t)},centerBefore:()=>{var k;return(k=t.navbarCenterBefore)==null?void 0:k.call(t)},centerAfter:()=>{var k;return(k=t.navbarCenterAfter)==null?void 0:k.call(t)},endBefore:()=>{var k;return(k=t.navbarEndBefore)==null?void 0:k.call(t)},endAfter:()=>{var k;return(k=t.navbarEndAfter)==null?void 0:k.call(t)},screenTop:()=>{var k;return(k=t.navScreenTop)==null?void 0:k.call(t)},screenBottom:()=>{var k;return(k=t.navScreenBottom)==null?void 0:k.call(t)}}):null,u(Ut,{name:"fade"},()=>i.value?u("div",{class:"vp-sidebar-mask",onClick:()=>c(!1)}):null),u(Ut,{name:"fade"},()=>l.value?null:u("div",{class:"toggle-sidebar-wrapper",onClick:()=>d()},u("span",{class:["arrow",f.value?"end":"start"]}))),u(z0,{},{...t.sidebar?{default:()=>t.sidebar()}:{},top:()=>{var k;return(k=t.sidebarTop)==null?void 0:k.call(t)},bottom:()=>{var k;return(k=t.sidebarBottom)==null?void 0:k.call(t)}}),t.default(),u(T0)]))}});const mn=G({name:"DropTransition",props:{type:{type:String,default:"single"},delay:{type:Number,default:0},duration:{type:Number,default:.25},appear:Boolean},slots:Object,setup(e,{slots:t}){const n=o=>{o.style.transition=`transform ${e.duration}s ease-in-out ${e.delay}s, opacity ${e.duration}s ease-in-out ${e.delay}s`,o.style.transform="translateY(-20px)",o.style.opacity="0"},r=o=>{o.style.transform="translateY(0)",o.style.opacity="1"};return()=>u(e.type==="single"?Ut:Md,{name:"drop",appear:e.appear,onAppear:n,onAfterAppear:r,onEnter:n,onAfterEnter:r,onBeforeLeave:n},()=>t.default())}}),ns=({custom:e})=>u(Fi,{class:["theme-hope-content",{custom:e}]});ns.displayName="MarkdownContent",ns.props={custom:Boolean};var Wc=ns;const Kc=()=>u(ve,{name:"author"},()=>u("path",{d:"M649.6 633.6c86.4-48 147.2-144 147.2-249.6 0-160-128-288-288-288s-288 128-288 288c0 108.8 57.6 201.6 147.2 249.6-121.6 48-214.4 153.6-240 288-3.2 9.6 0 19.2 6.4 25.6 3.2 9.6 12.8 12.8 22.4 12.8h704c9.6 0 19.2-3.2 25.6-12.8 6.4-6.4 9.6-16 6.4-25.6-25.6-134.4-121.6-240-243.2-288z"}));Kc.displayName="AuthorIcon";const Gc=()=>u(ve,{name:"calendar"},()=>u("path",{d:"M716.4 110.137c0-18.753-14.72-33.473-33.472-33.473-18.753 0-33.473 14.72-33.473 33.473v33.473h66.993v-33.473zm-334.87 0c0-18.753-14.72-33.473-33.473-33.473s-33.52 14.72-33.52 33.473v33.473h66.993v-33.473zm468.81 33.52H716.4v100.465c0 18.753-14.72 33.473-33.472 33.473a33.145 33.145 0 01-33.473-33.473V143.657H381.53v100.465c0 18.753-14.72 33.473-33.473 33.473a33.145 33.145 0 01-33.473-33.473V143.657H180.6A134.314 134.314 0 0046.66 277.595v535.756A134.314 134.314 0 00180.6 947.289h669.74a134.36 134.36 0 00133.94-133.938V277.595a134.314 134.314 0 00-133.94-133.938zm33.473 267.877H147.126a33.145 33.145 0 01-33.473-33.473c0-18.752 14.72-33.473 33.473-33.473h736.687c18.752 0 33.472 14.72 33.472 33.473a33.145 33.145 0 01-33.472 33.473z"}));Gc.displayName="CalendarIcon";const Yc=()=>u(ve,{name:"category"},()=>u("path",{d:"M148.41 106.992h282.176c22.263 0 40.31 18.048 40.31 40.31V429.48c0 22.263-18.047 40.31-40.31 40.31H148.41c-22.263 0-40.311-18.047-40.311-40.31V147.302c0-22.263 18.048-40.31 40.311-40.31zM147.556 553.478H429.73c22.263 0 40.311 18.048 40.311 40.31v282.176c0 22.263-18.048 40.312-40.31 40.312H147.555c-22.263 0-40.311-18.049-40.311-40.312V593.79c0-22.263 18.048-40.311 40.31-40.311zM593.927 106.992h282.176c22.263 0 40.31 18.048 40.31 40.31V429.48c0 22.263-18.047 40.31-40.31 40.31H593.927c-22.263 0-40.311-18.047-40.311-40.31V147.302c0-22.263 18.048-40.31 40.31-40.31zM730.22 920.502H623.926c-40.925 0-74.22-33.388-74.22-74.425V623.992c0-41.038 33.387-74.424 74.425-74.424h222.085c41.038 0 74.424 33.226 74.424 74.067v114.233c0 10.244-8.304 18.548-18.547 18.548s-18.548-8.304-18.548-18.548V623.635c0-20.388-16.746-36.974-37.33-36.974H624.13c-20.585 0-37.331 16.747-37.331 37.33v222.086c0 20.585 16.654 37.331 37.126 37.331H730.22c10.243 0 18.547 8.304 18.547 18.547 0 10.244-8.304 18.547-18.547 18.547z"}));Yc.displayName="CategoryIcon";const Jc=()=>u(ve,{name:"eye"},()=>u("path",{d:"M992 512.096c0-5.76-.992-10.592-1.28-11.136-.192-2.88-1.152-8.064-2.08-10.816-.256-.672-.544-1.376-.832-2.08-.48-1.568-1.024-3.104-1.6-4.32C897.664 290.112 707.104 160 512 160c-195.072 0-385.632 130.016-473.76 322.592-1.056 2.112-1.792 4.096-2.272 5.856a55.512 55.512 0 00-.64 1.6c-1.76 5.088-1.792 8.64-1.632 7.744-.832 3.744-1.568 11.168-1.568 11.168-.224 2.272-.224 4.032.032 6.304 0 0 .736 6.464 1.088 7.808.128 1.824.576 4.512 1.12 6.976h-.032c.448 2.08 1.12 4.096 1.984 6.08.48 1.536.992 2.976 1.472 4.032C126.432 733.856 316.992 864 512 864c195.136 0 385.696-130.048 473.216-321.696 1.376-2.496 2.24-4.832 2.848-6.912.256-.608.48-1.184.672-1.728 1.536-4.48 1.856-8.32 1.728-8.32l-.032.032c.608-3.104 1.568-7.744 1.568-13.28zM512 672c-88.224 0-160-71.776-160-160s71.776-160 160-160 160 71.776 160 160-71.776 160-160 160z"}));Jc.displayName="EyeIcon";const Qc=()=>u(ve,{name:"fire"},()=>u("path",{d:"M726.4 201.6c-12.8-9.6-28.8-6.4-38.4 0-9.6 9.6-16 25.6-9.6 38.4 6.4 12.8 9.6 28.8 12.8 44.8C604.8 83.2 460.8 38.4 454.4 35.2c-9.6-3.2-22.4 0-28.8 6.4-9.6 6.4-12.8 19.2-9.6 28.8 12.8 86.4-25.6 188.8-115.2 310.4-6.4-25.6-16-51.2-32-80-9.6-9.6-22.4-16-35.2-12.8-16 3.2-25.6 12.8-25.6 28.8-3.2 48-25.6 92.8-51.2 140.8C134.4 499.2 112 544 102.4 592c-32 150.4 99.2 329.6 233.6 380.8 9.6 3.2 19.2 6.4 32 9.6-25.6-19.2-41.6-51.2-48-96C294.4 691.2 505.6 640 515.2 460.8c153.6 105.6 224 336 137.6 505.6 3.2 0 6.4-3.2 9.6-3.2 0 0 3.2 0 3.2-3.2 163.2-89.6 252.8-208 259.2-345.6 16-211.2-163.2-390.4-198.4-412.8z"}));Qc.displayName="FireIcon";const Xc=()=>u(ve,{name:"print"},()=>u("path",{d:"M819.2 364.8h-44.8V128c0-17.067-14.933-32-32-32H281.6c-17.067 0-32 14.933-32 32v236.8h-44.8C145.067 364.8 96 413.867 96 473.6v192c0 59.733 49.067 108.8 108.8 108.8h44.8V896c0 17.067 14.933 32 32 32h460.8c17.067 0 32-14.933 32-32V774.4h44.8c59.733 0 108.8-49.067 108.8-108.8v-192c0-59.733-49.067-108.8-108.8-108.8zM313.6 160h396.8v204.8H313.6V160zm396.8 704H313.6V620.8h396.8V864zM864 665.6c0 25.6-19.2 44.8-44.8 44.8h-44.8V588.8c0-17.067-14.933-32-32-32H281.6c-17.067 0-32 14.933-32 32v121.6h-44.8c-25.6 0-44.8-19.2-44.8-44.8v-192c0-25.6 19.2-44.8 44.8-44.8h614.4c25.6 0 44.8 19.2 44.8 44.8v192z"}));Xc.displayName="PrintIcon";const Zc=()=>u(ve,{name:"tag"},()=>u("path",{d:"M939.902 458.563L910.17 144.567c-1.507-16.272-14.465-29.13-30.737-30.737L565.438 84.098h-.402c-3.215 0-5.726 1.005-7.634 2.913l-470.39 470.39a10.004 10.004 0 000 14.164l365.423 365.424c1.909 1.908 4.42 2.913 7.132 2.913s5.223-1.005 7.132-2.913l470.39-470.39c2.01-2.11 3.014-5.023 2.813-8.036zm-240.067-72.121c-35.458 0-64.286-28.828-64.286-64.286s28.828-64.285 64.286-64.285 64.286 28.828 64.286 64.285-28.829 64.286-64.286 64.286z"}));Zc.displayName="TagIcon";const eu=()=>u(ve,{name:"word"},()=>[u("path",{d:"M518.217 432.64V73.143A73.143 73.143 0 01603.43 1.097a512 512 0 01419.474 419.474 73.143 73.143 0 01-72.046 85.212H591.36a73.143 73.143 0 01-73.143-73.143z"}),u("path",{d:"M493.714 566.857h340.297a73.143 73.143 0 0173.143 85.577A457.143 457.143 0 11371.566 117.76a73.143 73.143 0 0185.577 73.143v339.383a36.571 36.571 0 0036.571 36.571z"})]);eu.displayName="WordIcon";const Qt=()=>{const e=pe();return S(()=>e.value.metaLocales)};var q0=G({name:"AuthorInfo",inheritAttrs:!1,props:{author:{type:Array,required:!0},pure:Boolean},setup(e){const t=Qt();return()=>e.author.length?u("span",{class:"page-author-info","aria-label":`${t.value.author}${e.pure?"":"🖊"}`,...e.pure?{}:{"data-balloon-pos":"up"}},[u(Kc),u("span",e.author.map(n=>n.url?u("a",{class:"page-author-item",href:n.url,target:"_blank",rel:"noopener noreferrer"},n.name):u("span",{class:"page-author-item"},n.name))),u("span",{property:"author",content:e.author.map(n=>n.name).join(", ")})]):null}}),U0=G({name:"CategoryInfo",inheritAttrs:!1,props:{category:{type:Array,required:!0},pure:Boolean},setup(e){const t=Qt(),n=qs();return()=>e.category.length?u("span",{class:"page-category-info","aria-label":`${t.value.category}${e.pure?"":"🌈"}`,...e.pure?{}:{"data-balloon-pos":"up"}},[u(Yc),e.category.map(({name:r,path:o})=>u("span",{class:["page-category-item",{[`category${pc(r,9)}`]:!e.pure,clickable:o}],role:o?"navigation":"",onClick:()=>{o&&n(o)}},r)),u("meta",{property:"articleSection",content:e.category.map(({name:r})=>r).join(",")})]):null}}),W0=G({name:"DateInfo",inheritAttrs:!1,props:{date:{type:Object,default:null},localizedDate:{type:String,default:""},pure:Boolean},setup(e){const t=Ni(),n=Qt();return()=>e.date?u("span",{class:"page-date-info","aria-label":`${n.value.date}${e.pure?"":"📅"}`,...e.pure?{}:{"data-balloon-pos":"up"}},[u(Gc),u("span",u(ro,()=>e.localizedDate||e.date.toLocaleDateString(t.value))),u("meta",{property:"datePublished",content:e.date.toISOString()||""})]):null}}),K0=G({name:"OriginalInfo",inheritAttrs:!1,props:{isOriginal:Boolean},setup(e){const t=Qt();return()=>e.isOriginal?u("span",{class:"page-original-info"},t.value.origin):null}}),G0=G({name:"PageViewInfo",inheritAttrs:!1,props:{pageview:{type:[Boolean,String],default:!1},pure:Boolean},setup(e){const t=Rt(),n=Qt(),r=Ne(),o=Q(0);return Zi(r,()=>{},{childList:!0}),()=>e.pageview?u("span",{class:"page-pageview-info","aria-label":`${n.value.views}${e.pure?"":"🔢"}`,...e.pure?{}:{"data-balloon-pos":"up"}},[u(o.value<1e3?Jc:Qc),u("span",{ref:r,id:"ArtalkPV",class:"vp-pageview waline-pageview-count","data-path":Ee(e.pageview)?e.pageview:t.path,"data-page-key":Ee(e.pageview)?e.pageview:t.path},"...")]):null}}),Y0=G({name:"TagInfo",inheritAttrs:!1,props:{tag:{type:Array,default:()=>[]},pure:Boolean},setup(e){const t=Qt(),n=qs();return()=>e.tag.length?u("span",{class:"page-tag-info","aria-label":`${t.value.tag}${e.pure?"":"🏷"}`,...e.pure?{}:{"data-balloon-pos":"up"}},[u(Zc),e.tag.map(({name:r,path:o})=>u("span",{class:["page-tag-item",{[`tag${pc(r,9)}`]:!e.pure,clickable:o}],role:o?"navigation":"",onClick:()=>{o&&n(o)}},r)),u("meta",{property:"keywords",content:e.tag.map(({name:r})=>r).join(",")})]):null}}),J0=G({name:"ReadTimeInfo",inheritAttrs:!1,props:{readingTime:{type:Object,default:()=>null},readingTimeLocale:{type:Object,default:()=>null},pure:Boolean},setup(e){const t=Qt();return()=>{var n,r,o;return(n=e.readingTimeLocale)!=null&&n.words?u("span",{class:"page-word-info","aria-label":`${t.value.words}${e.pure?"":"🔠"}`,...e.pure?{}:{"data-balloon-pos":"up"}},[u(eu),u("span",(r=e.readingTimeLocale)==null?void 0:r.words),u("meta",{property:"wordCount",content:(o=e.readingTime)==null?void 0:o.words})]):null}}}),Q0=G({name:"PageInfo",components:{AuthorInfo:q0,CategoryInfo:U0,DateInfo:W0,OriginalInfo:K0,PageViewInfo:G0,ReadingTimeInfo:()=>null,TagInfo:Y0,WordInfo:J0},props:{items:{type:[Array,Boolean],default:()=>["Author","Original","Date","PageView","ReadingTime","Category","Tag"]},info:{type:Object,required:!0}},setup(e){const t=br();return()=>e.items?u("div",{class:"page-info"},e.items.map(n=>u(yt(`${n}Info`),{...e.info,pure:t.value}))):null}}),X0=G({name:"PrintButton",setup(){const e=Rn(),t=pe();return()=>e.value.print===!1?null:u("button",{type:"button",class:"print-button",title:t.value.metaLocales.print,onClick:()=>{window.print()}},u(Xc))}}),Z0=G({name:"TOC",props:{items:{type:Array,default:()=>[]},headerDepth:{type:Number,default:2}},slots:Object,setup(e,{slots:t}){const n=Rt(),r=Se(),o=Qt(),[s,l]=Qo(),a=Ne(),i=Q("-1.7rem"),c=d=>{var p;(p=a.value)==null||p.scrollTo({top:d,behavior:"smooth"})},f=()=>{if(a.value){const d=document.querySelector(".vp-toc-item.active");d?i.value=`${d.getBoundingClientRect().top-a.value.getBoundingClientRect().top+a.value.scrollTop}px`:i.value="-1.7rem"}else i.value="-1.7rem"};return _e(()=>{oe(()=>n.hash,d=>{if(a.value){const p=document.querySelector(`#toc a.toc-link[href$="${d}"]`);if(!p)return;const{top:v,height:m}=a.value.getBoundingClientRect(),{top:E,height:w}=p.getBoundingClientRect();Ev+m&&c(a.value.scrollTop+E+w-v-m)}}),oe(()=>n.fullPath,f,{flush:"post",immediate:!0})}),()=>{var m,E;const d=({title:w,level:b,slug:C})=>u(Qe,{to:`#${C}`,class:["vp-toc-link",`level${b}`],onClick:()=>{l()}},()=>w),p=(w,b)=>w.length&&b>0?u("ul",{class:"vp-toc-list"},w.map(C=>{const y=p(C.children,b-1);return[u("li",{class:["vp-toc-item",{active:n.hash===`#${C.slug}`}]},d(C)),y?u("li",y):null]})):null,v=e.items.length?p(e.items,e.headerDepth):r.value.headers?p(r.value.headers,e.headerDepth):null;return v?u("div",{class:"vp-toc-placeholder"},[u("aside",{id:"toc"},[(m=t.before)==null?void 0:m.call(t),u("div",{class:"vp-toc-header",onClick:()=>{l()}},[o.value.toc,u(X0),u("div",{class:["arrow",s.value?"down":"end"]})]),u("div",{class:["vp-toc-wrapper",s.value?"open":""],ref:a},[v,u("div",{class:"vp-toc-marker",style:{top:i.value}})]),(E=t.after)==null?void 0:E.call(t)])]):null}}}),tu=G({name:"SkipLink",props:{content:{type:String,default:"main-content"}},setup(e){const t=Se(),n=pe(),r=Ne(),o=({target:s})=>{const l=document.querySelector(s.hash);if(l){const a=()=>{l.removeAttribute("tabindex"),l.removeEventListener("blur",a)};l.setAttribute("tabindex","-1"),l.addEventListener("blur",a),l.focus(),window.scrollTo(0,0)}};return _e(()=>{oe(()=>t.value.path,()=>r.value.focus())}),()=>[u("span",{ref:r,tabindex:"-1"}),u("a",{href:`#${e.content}`,class:"vp-skip-link sr-only",onClick:o},n.value.routeLocales.skipToContent)]}});let Po=null,Mn=null;const rs={wait:()=>Po,pending:()=>{Po=new Promise(e=>{Mn=e})},resolve:()=>{Mn==null||Mn(),Po=null,Mn=null}},nu=(e,{slots:t})=>u(Ut,{name:"fade-slide-y",mode:"out-in",onBeforeEnter:rs.resolve,onBeforeLeave:rs.pending},()=>{var n;return(n=t.default)==null?void 0:n.call(t)});nu.displayName="FadeSlideY";const eg=(e,t)=>{const n=e.replace(t,"/").split("/"),r=[];let o=As(t);return n.forEach((s,l)=>{l!==n.length-1?(o+=`${s}/`,r.push({link:o,name:s||"Home"})):s!==""&&(o+=s,r.push({link:o,name:s}))}),r},ru=(e,{slots:t})=>{var d,p;const{bgImage:n,bgImageDark:r,bgImageStyle:o,color:s,description:l,image:a,imageDark:i,header:c,features:f=[]}=e;return u("div",{class:"vp-feature-wrapper"},[n?u("div",{class:["vp-feature-bg",{light:r}],style:[{"background-image":`url(${n})`},o]}):null,r?u("div",{class:"vp-feature-bg dark",style:[{"background-image":`url(${r})`},o]}):null,u("div",{class:"vp-feature",style:s?{color:s}:{}},[((d=t.image)==null?void 0:d.call(t,e))||[a?u("img",{class:["vp-feature-image",{light:i}],src:ze(a),alt:""}):null,i?u("img",{class:"vp-feature-image dark",src:ze(i),alt:""}):null],((p=t.info)==null?void 0:p.call(t,e))||[c?u("h2",{class:"vp-feature-header"},c):null,l?u("p",{class:"vp-feature-description",innerHTML:l}):null],f.length?u("div",{class:"vp-features"},f.map(({icon:v,title:m,details:E,link:w})=>{const b=[u("h3",{class:"vp-feature-title"},[u(je,{icon:v}),u("span",{innerHTML:m})]),u("p",{class:"vp-feature-details",innerHTML:E})];return w?Ts(w)?u("a",{class:"vp-feature-item link",href:w,"aria-label":m,target:"_blank"},b):u(Qe,{class:"vp-feature-item link",to:w,"aria-label":m},()=>b):u("div",{class:"vp-feature-item"},b)})):null])])};ru.displayName="FeaturePanel";var ha=ru,tg=G({name:"HeroInfo",slots:Object,setup(e,{slots:t}){const n=Le(),r=no(),o=S(()=>n.value.heroFullScreen??!1),s=S(()=>{const{heroText:c,tagline:f}=n.value;return{text:c??r.value.title??"Hello",tagline:f??r.value.description??"",isFullScreen:o.value}}),l=S(()=>{const{heroText:c,heroImage:f,heroImageDark:d,heroAlt:p,heroImageStyle:v}=n.value;return{image:f?ze(f):null,imageDark:d?ze(d):null,style:v,alt:p||c||"",isFullScreen:o.value}}),a=S(()=>{const{bgImage:c,bgImageDark:f,bgImageStyle:d}=n.value;return{image:Ee(c)?ze(c):null,imageDark:Ee(f)?ze(f):null,bgStyle:d,isFullScreen:o.value}}),i=S(()=>n.value.actions??[]);return()=>{var c,f,d;return u("header",{class:["vp-hero-info-wrapper",{fullscreen:o.value}]},[((c=t.heroBg)==null?void 0:c.call(t,a.value))||[a.value.image?u("div",{class:["vp-hero-mask",{light:a.value.imageDark}],style:[{"background-image":`url(${a.value.image})`},a.value.bgStyle]}):null,a.value.imageDark?u("div",{class:"vp-hero-mask dark",style:[{"background-image":`url(${a.value.imageDark})`},a.value.bgStyle]}):null],u("div",{class:"vp-hero-info"},[((f=t.heroImage)==null?void 0:f.call(t,l.value))||u(mn,{appear:!0,type:"group"},()=>[l.value.image?u("img",{key:"light",class:["vp-hero-image",{light:l.value.imageDark}],style:l.value.style,src:l.value.image,alt:l.value.alt}):null,l.value.imageDark?u("img",{key:"dark",class:"vp-hero-image dark",style:l.value.style,src:l.value.imageDark,alt:l.value.alt}):null]),((d=t.heroInfo)==null?void 0:d.call(t,s.value))??u("div",{class:"vp-hero-infos"},[s.value.text?u(mn,{appear:!0,delay:.04},()=>u("h1",{id:"main-title"},s.value.text)):null,s.value.tagline?u(mn,{appear:!0,delay:.08},()=>u("p",{id:"main-description",innerHTML:s.value.tagline})):null,i.value.length?u(mn,{appear:!0,delay:.12},()=>u("p",{class:"vp-hero-actions"},i.value.map(p=>u(Ue,{class:["vp-hero-action",p.type||"default"],config:p,noExternalLinkIcon:!0},p.icon?{before:()=>u(je,{icon:p.icon})}:{})))):null])])])}}});const ou=(e,{slots:t})=>{var p,v,m;const{bgImage:n,bgImageDark:r,bgImageStyle:o,color:s,description:l,image:a,imageDark:i,header:c,highlights:f=[],type:d="un-order"}=e;return u("div",{class:"vp-highlight-wrapper",style:s?{color:s}:{}},[n?u("div",{class:["vp-highlight-bg",{light:r}],style:[{"background-image":`url(${n})`},o]}):null,r?u("div",{class:"vp-highlight-bg dark",style:[{"background-image":`url(${r})`},o]}):null,u("div",{class:"vp-highlight"},[((p=t.image)==null?void 0:p.call(t,e))||[a?u("img",{class:["vp-highlight-image",{light:i}],src:ze(a),alt:""}):null,i?u("img",{class:"vp-highlight-image dark",src:ze(i),alt:""}):null],((v=t.info)==null?void 0:v.call(t,e))||[u("div",{class:"vp-highlight-info-wrapper"},u("div",{class:"vp-highlight-info"},[c?u("h2",{class:"vp-highlight-header",innerHTML:c}):null,l?u("p",{class:"vp-highlight-description",innerHTML:l}):null,((m=t.highlights)==null?void 0:m.call(t,f))||u(d==="order"?"ol":d==="no-order"?"dl":"ul",{class:"vp-highlights"},f.map(({icon:E,title:w,details:b,link:C})=>{const y=[u(d==="no-order"?"dt":"h3",{class:"vp-highlight-title"},[E?u(je,{class:"vp-highlight-icon",icon:E}):null,u("span",{innerHTML:w})]),b?u(d==="no-order"?"dd":"p",{class:"vp-highlight-details",innerHTML:b}):null];return u(d==="no-order"?"div":"li",{class:["vp-highlight-item-wrapper",{link:C}]},C?Ts(C)?u("a",{class:"vp-highlight-item link",href:C,"aria-label":w,target:"_blank"},y):u(Qe,{class:"vp-highlight-item link",to:C,"aria-label":w},()=>y):u("div",{class:"vp-highlight-item"},y))}))]))]])])};ou.displayName="HighlightPanel";var ng=ou,rg=G({name:"HomePage",slots:Object,setup(e,{slots:t}){const n=br(),r=Le(),o=S(()=>{const{features:l}=r.value;return Yo(l)?l:null}),s=S(()=>{const{highlights:l}=r.value;return Yo(l)?l:null});return()=>{var l,a,i,c;return u("main",{id:"main-content",class:["vp-project-home ",{pure:n.value}],"aria-labelledby":r.value.heroText===null?"":"main-title"},[(l=t.top)==null?void 0:l.call(t),u(tg),((a=s.value)==null?void 0:a.map(f=>"features"in f?u(ha,f):u(ng,f)))||(o.value?u(mn,{appear:!0,delay:.24},()=>u(ha,{features:o.value})):null),(i=t.center)==null?void 0:i.call(t),u(mn,{appear:!0,delay:.32},()=>u(Wc)),(c=t.bottom)==null?void 0:c.call(t)])}}}),og=G({name:"BreadCrumb",setup(){const e=Se(),t=un(),n=Le(),r=pe(),o=Ne([]),s=S(()=>(n.value.breadcrumb||n.value.breadcrumb!==!1&&r.value.breadcrumb!==!1)&&o.value.length>1),l=S(()=>n.value.breadcrumbIcon||n.value.breadcrumbIcon!==!1&&r.value.breadcrumbIcon!==!1),a=()=>{const i=eg(e.value.path,t.value).map(({link:c,name:f})=>{const{path:d,meta:p,notFound:v}=Wt(c);return v||p[bt.breadcrumbExclude]?null:{title:p[bt.shortTitle]||p[bt.title]||f,icon:p[bt.icon],path:d}}).filter(c=>c!==null);i.length>1&&(o.value=i)};return _e(()=>{oe(()=>e.value.path,a,{immediate:!0})}),()=>u("nav",{class:["vp-breadcrumb",{disable:!s.value}]},s.value?u("ol",{vocab:"https://schema.org/",typeof:"BreadcrumbList"},o.value.map((i,c)=>u("li",{class:{"is-active":o.value.length-1===c},property:"itemListElement",typeof:"ListItem"},[u(Qe,{to:i.path,property:"item",typeof:"WebPage"},()=>[l.value?u(je,{icon:i.icon}):null,u("span",{property:"name"},i.title||"Unknown")]),u("meta",{property:"position",content:c+1})]))):[])}});const va=(e,t)=>e===!1||Zr(e)?e:Ee(e)?Us(e,!0,t):null,os=(e,t,n)=>{const r=e.findIndex(o=>o.link===t);if(r!==-1){const o=e[r+n];return o!=null&&o.link?o:null}for(const o of e)if("children"in o){const s=os(o.children,t,n);if(s)return s}return null};var sg=G({name:"PageNav",setup(){const e=pe(),t=Le(),n=Ws(),r=Se(),o=qs(),s=Rt(),l=S(()=>{const i=va(t.value.prev,s.path);return i===!1?null:i||(e.value.prevLink===!1?null:os(n.value,r.value.path,-1))}),a=S(()=>{const i=va(t.value.next,s.path);return i===!1?null:i||(e.value.nextLink===!1?null:os(n.value,r.value.path,1))});return Ce("keydown",i=>{i.altKey&&(i.key==="ArrowRight"?a.value&&(o(a.value.link),i.preventDefault()):i.key==="ArrowLeft"&&l.value&&(o(l.value.link),i.preventDefault()))}),()=>l.value||a.value?u("nav",{class:"vp-page-nav"},[l.value?u(Ue,{class:"prev",config:l.value},()=>{var i,c;return[u("div",{class:"hint"},[u("span",{class:"arrow start"}),e.value.metaLocales.prev]),u("div",{class:"link"},[u(je,{icon:(i=l.value)==null?void 0:i.icon}),(c=l.value)==null?void 0:c.text])]}):null,a.value?u(Ue,{class:"next",config:a.value},()=>{var i,c;return[u("div",{class:"hint"},[e.value.metaLocales.next,u("span",{class:"arrow end"})]),u("div",{class:"link"},[(i=a.value)==null?void 0:i.text,u(je,{icon:(c=a.value)==null?void 0:c.icon})])]}):null]):null}});const lg=()=>{const e=pe(),t=Se(),n=Le();return S(()=>{var r;return n.value.contributors??e.value.contributors??!0?((r=t.value.git)==null?void 0:r.contributors)??null:null})},ag={GitHub:":repo/edit/:branch/:path",GitLab:":repo/-/edit/:branch/:path",Gitee:":repo/edit/:branch/:path",Bitbucket:":repo/src/:branch/:path?mode=edit&spa=0&at=:branch&fileviewer=file-view-default"},ig=({docsRepo:e,docsBranch:t,docsDir:n,filePathRelative:r,editLinkPattern:o})=>{if(!r)return null;const s=Fs(e);let l;return o?l=o:s!==null&&(l=ag[s]),l?l.replace(/:repo/u,cn(e)?e:`https://github.com/${e}`).replace(/:branch/u,t).replace(/:path/u,xi(`${As(n)}/${r}`)):null},cg=()=>{const e=pe(),t=Se(),n=Le();return S(()=>{const{repo:r,docsRepo:o=r,docsBranch:s="main",docsDir:l="",editLink:a,editLinkPattern:i=""}=e.value;if(!(n.value.editLink??a??!0)||!o)return null;const c=ig({docsRepo:o,docsBranch:s,docsDir:l,editLinkPattern:i,filePathRelative:t.value.filePathRelative});return c?{text:e.value.metaLocales.editLink,link:c}:null})},ug=()=>{const e=no(),t=pe(),n=Se(),r=Le();return S(()=>{var o,s;return!(r.value.lastUpdated??t.value.lastUpdated??!0)||!((o=n.value.git)!=null&&o.updatedTime)?null:new Date((s=n.value.git)==null?void 0:s.updatedTime).toLocaleString(e.value.lang)})};var fg=G({name:"PageTitle",setup(){const e=Se(),t=Le(),n=pe(),{info:r,items:o}=m0();return()=>u("div",{class:"vp-page-title"},[u("h1",[n.value.titleIcon===!1?null:u(je,{icon:t.value.icon}),e.value.title]),u(Q0,{info:r.value,...o.value===null?{}:{items:o.value}}),u("hr")])}});const su=()=>u(ve,{name:"edit"},()=>[u("path",{d:"M430.818 653.65a60.46 60.46 0 0 1-50.96-93.281l71.69-114.012 7.773-10.365L816.038 80.138A60.46 60.46 0 0 1 859.225 62a60.46 60.46 0 0 1 43.186 18.138l43.186 43.186a60.46 60.46 0 0 1 0 86.373L588.879 565.55l-8.637 8.637-117.466 68.234a60.46 60.46 0 0 1-31.958 11.229z"}),u("path",{d:"M728.802 962H252.891A190.883 190.883 0 0 1 62.008 771.98V296.934a190.883 190.883 0 0 1 190.883-192.61h267.754a60.46 60.46 0 0 1 0 120.92H252.891a69.962 69.962 0 0 0-69.098 69.099V771.98a69.962 69.962 0 0 0 69.098 69.098h475.911A69.962 69.962 0 0 0 797.9 771.98V503.363a60.46 60.46 0 1 1 120.922 0V771.98A190.883 190.883 0 0 1 728.802 962z"})]);su.displayName="EditIcon";var dg=G({name:"PageMeta",setup(){const e=pe(),t=cg(),n=ug(),r=lg();return()=>{const{metaLocales:o}=e.value;return u("footer",{class:"vp-page-meta"},[t.value?u("div",{class:"vp-meta-item edit-link"},u(Ue,{class:"vp-meta-label",config:t.value},{before:()=>u(su)})):null,u("div",{class:"vp-meta-item git-info"},[n.value?u("div",{class:"update-time"},[u("span",{class:"vp-meta-label"},`${o.lastUpdated}: `),u(ro,()=>u("span",{class:"vp-meta-info"},n.value))]):null,r.value&&r.value.length?u("div",{class:"contributors"},[u("span",{class:"vp-meta-label"},`${o.contributors}: `),r.value.map(({email:s,name:l},a)=>[u("span",{class:"vp-meta-info",title:`email: ${s}`},l),a!==r.value.length-1?",":""])]):null])])}}}),pg=G({name:"NormalPage",slots:Object,setup(e,{slots:t}){const n=Le(),{isDarkmode:r}=yr(),o=pe(),s=S(()=>n.value.toc||n.value.toc!==!1&&o.value.toc!==!1);return()=>u("main",{id:"main-content",class:"vp-page"},u(Tt("LocalEncrypt")?yt("LocalEncrypt"):ic,()=>{var l,a,i,c;return[(l=t.top)==null?void 0:l.call(t),n.value.cover?u("div",{class:"page-cover"},u("img",{src:ze(n.value.cover),alt:"","no-view":""})):null,u(og),u(fg),s.value?u(Z0,{headerDepth:n.value.headerDepth??o.value.headerDepth??2},{before:()=>{var f;return(f=t.tocBefore)==null?void 0:f.call(t)},after:()=>{var f;return(f=t.tocAfter)==null?void 0:f.call(t)}}):null,(a=t.contentBefore)==null?void 0:a.call(t),u(Wc),(i=t.contentAfter)==null?void 0:i.call(t),u(dg),u(sg),Tt("CommentService")?u(yt("CommentService"),{darkmode:r.value}):null,(c=t.bottom)==null?void 0:c.call(t)]}))}}),hg=G({name:"Layout",slots:Object,setup(e,{slots:t}){pe();const n=Se(),r=Le(),{isMobile:o}=lo(),s=S(()=>"none");return()=>[u(tu),u(Uc,{},{default:()=>{var l;return((l=t.default)==null?void 0:l.call(t))||(r.value.home?u(rg):u(nu,()=>u(pg,{key:n.value.path},{top:()=>{var a;return(a=t.top)==null?void 0:a.call(t)},bottom:()=>{var a;return(a=t.bottom)==null?void 0:a.call(t)},contentBefore:()=>{var a;return(a=t.contentBefore)==null?void 0:a.call(t)},contentAfter:()=>{var a;return(a=t.contentAfter)==null?void 0:a.call(t)},tocBefore:()=>{var a;return(a=t.tocBefore)==null?void 0:a.call(t)},tocAfter:()=>{var a;return(a=t.tocAfter)==null?void 0:a.call(t)}})))},...s.value==="none"?{}:{navScreenBottom:()=>u(yt("BloggerInfo"))},...!o.value&&s.value==="always"?{sidebar:()=>u(yt("BloggerInfo"))}:{}})]}}),vg=G({name:"NotFoundHint",setup(){const e=pe(),t=()=>{const n=e.value.routeLocales.notFoundMsg;return n[Math.floor(Math.random()*n.length)]};return()=>u("div",{class:"not-found-hint"},[u("p",{class:"error-code"},"404"),u("h1",{class:"error-title"},e.value.routeLocales.notFoundTitle),u("p",{class:"error-hint"},t())])}}),gg=G({name:"NotFound",slots:Object,setup(e,{slots:t}){const n=An(),r=un(),o=pe();return()=>[u(tu),u(Uc,{noSidebar:!0},()=>{var s;return u("main",{id:"main-content",class:"vp-page not-found"},((s=t.default)==null?void 0:s.call(t))||[u(vg),u("div",{class:"actions"},[u("button",{type:"button",class:"action-button",onClick:()=>{window.history.go(-1)}},o.value.routeLocales.back),u("button",{type:"button",class:"action-button",onClick:()=>{n.push(o.value.home??r.value)}},o.value.routeLocales.home)])])})]}});E1(e=>{const t=e.t,n=e.I!==!1,r=e.i;return n?{title:t,content:r?()=>[u(je,{icon:r}),t]:null,order:e.O,index:e.I}:null});const mg=lt({enhance:({app:e,router:t})=>{const{scrollBehavior:n}=t.options;t.options.scrollBehavior=async(...r)=>(await rs.wait(),n(...r)),w0(e),e.component("HopeIcon",je)},setup:()=>{_0(),S0()},layouts:{Layout:hg,NotFound:gg}}),Ir=[hh,Bh,_1,T1,R1,M1,H1,z1,ev,Ev,Nv,l0,mg],bg=JSON.parse('{"base":"/","lang":"en-US","title":"Taskiq","description":"Async Distributed Task Manager","head":[["meta",{"property":"og:image","content":"https://taskiq-python.github.io/logo.svg"}]],"locales":{}}');var Nn=Ne(bg),yg=Ip,wg=()=>{const e=oh({history:yg(As("/")),routes:[{name:"vuepress-route",path:"/:catchAll(.*)",components:{}}],scrollBehavior:(t,n,r)=>r||(t.hash?{el:t.hash}:{top:0})});return e.beforeResolve(async(t,n)=>{if(t.path!==n.path||n===xt){const r=Wt(t.path);if(r.path!==t.path)return r.path;const o=await r.loader();t.meta={...r.meta,_pageChunk:o}}else t.path===n.path&&(t.meta=n.meta)}),e},_g=e=>{e.component("ClientOnly",ro),e.component("Content",Fi),e.component("RouteLink",Qe)},Eg=(e,t,n)=>{const r=S(()=>t.currentRoute.value.path),o=ys((w,b)=>({get(){return w(),t.currentRoute.value.meta._pageChunk},set(C){t.currentRoute.value.meta._pageChunk=C,b()}})),s=S(()=>en.resolveLayouts(n)),l=S(()=>en.resolveRouteLocale(Nn.value.locales,r.value)),a=S(()=>en.resolveSiteLocaleData(Nn.value,l.value)),i=S(()=>o.value.comp),c=S(()=>o.value.data),f=S(()=>c.value.frontmatter),d=S(()=>en.resolvePageHeadTitle(c.value,a.value)),p=S(()=>en.resolvePageHead(d.value,f.value,a.value)),v=S(()=>en.resolvePageLang(c.value,a.value)),m=S(()=>en.resolvePageLayout(c.value,s.value)),E={layouts:s,pageData:c,pageComponent:i,pageFrontmatter:f,pageHead:p,pageHeadTitle:d,pageLang:v,pageLayout:m,redirects:Wo,routeLocale:l,routePath:r,routes:rr,siteData:Nn,siteLocaleData:a};return e.provide(Os,E),Object.defineProperties(e.config.globalProperties,{$frontmatter:{get:()=>f.value},$head:{get:()=>p.value},$headTitle:{get:()=>d.value},$lang:{get:()=>v.value},$page:{get:()=>c.value},$routeLocale:{get:()=>l.value},$site:{get:()=>Nn.value},$siteLocale:{get:()=>a.value},$withBase:{get:()=>ze}}),E},Cg=()=>{const e=ah(),t=Ni();let n=[];const r=()=>{e.value.forEach(l=>{const a=kg(l);a&&n.push(a)})},o=()=>{const l=[];return e.value.forEach(a=>{const i=xg(a);i&&l.push(i)}),l},s=()=>{document.documentElement.lang=t.value;const l=o();n.forEach((a,i)=>{const c=l.findIndex(f=>a.isEqualNode(f));c===-1?(a.remove(),delete n[i]):l.splice(c,1)}),l.forEach(a=>document.head.appendChild(a)),n=[...n.filter(a=>!!a),...l]};an(uh,s),_e(()=>{r(),oe(e,s,{immediate:!1})})},kg=([e,t,n=""])=>{const r=Object.entries(t).map(([a,i])=>Ee(i)?`[${a}=${JSON.stringify(i)}]`:i===!0?`[${a}]`:"").join(""),o=`head > ${e}${r}`;return Array.from(document.querySelectorAll(o)).find(a=>a.innerText===n)||null},xg=([e,t,n])=>{if(!Ee(e))return null;const r=document.createElement(e);return Zr(t)&&Object.entries(t).forEach(([o,s])=>{Ee(s)?r.setAttribute(o,s):s===!0&&r.setAttribute(o,"")}),Ee(n)&&r.appendChild(document.createTextNode(n)),r},Sg=jd,Tg=async()=>{var n;const e=Sg({name:"Vuepress",setup(){var s;Cg();for(const l of Ir)(s=l.setup)==null||s.call(l);const r=Ir.flatMap(({rootComponents:l=[]})=>l.map(a=>u(a))),o=ih();return()=>[u(o.value),r]}}),t=wg();_g(e),Eg(e,t,Ir);for(const r of Ir)await((n=r.enhance)==null?void 0:n.call(r,{app:e,router:t,siteData:Nn}));return e.use(t),{app:e,router:t}};Tg().then(({app:e,router:t})=>{t.isReady().then(()=>{e.mount("#app")})});export{_e as A,Ig as B,Wv as C,Sn as D,Pg as E,Zr as F,Fv as G,jv as H,Ji as I,qr as J,Ee as K,js as P,Qe as R,ce as _,Rg as a,pi as b,Lg as c,Tg as createVueApp,hi as d,Re as e,G as f,An as g,un as h,Jt as i,ur as j,Q as k,S as l,Ce as m,oe as n,Ag as o,u as p,Ec as q,yt as r,Bv as s,Gr as t,Og as u,Dv as v,sf as w,Hv as x,Se as y,Ne as z}; diff --git a/assets/arc-DjSouOTM.js b/assets/arc-DTqpOiQk.js similarity index 96% rename from assets/arc-DjSouOTM.js rename to assets/arc-DTqpOiQk.js index 46e5ca5..2e722f5 100644 --- a/assets/arc-DjSouOTM.js +++ b/assets/arc-DTqpOiQk.js @@ -1 +1 @@ -import{w as ln,c as U}from"./path-CbwjOpE9.js";import{aP as an,aQ as Y,aR as S,aS as rn,aT as y,aL as on,aU as z,aV as _,aW as un,aX as t,aY as sn,aZ as tn,a_ as fn}from"./mermaid.core-DtSoU78u.js";function cn(l){return l.innerRadius}function yn(l){return l.outerRadius}function gn(l){return l.startAngle}function mn(l){return l.endAngle}function pn(l){return l&&l.padAngle}function dn(l,h,E,q,v,R,V,a){var I=E-l,i=q-h,n=V-v,m=a-R,r=m*I-n*i;if(!(r*ru*u+X*X&&(O=w,Q=d),{cx:O,cy:Q,x01:-n,y01:-m,x11:O*(v/T-1),y11:Q*(v/T-1)}}function vn(){var l=cn,h=yn,E=U(0),q=null,v=gn,R=mn,V=pn,a=null,I=ln(i);function i(){var n,m,r=+l.apply(this,arguments),s=+h.apply(this,arguments),f=v.apply(this,arguments)-rn,c=R.apply(this,arguments)-rn,W=un(c-f),o=c>f;if(a||(a=n=I()),sy))a.moveTo(0,0);else if(W>on-y)a.moveTo(s*Y(f),s*S(f)),a.arc(0,0,s,f,c,!o),r>y&&(a.moveTo(r*Y(c),r*S(c)),a.arc(0,0,r,c,f,o));else{var p=f,g=c,A=f,T=c,P=W,L=W,O=V.apply(this,arguments)/2,Q=O>y&&(q?+q.apply(this,arguments):z(r*r+s*s)),w=_(un(s-r)/2,+E.apply(this,arguments)),d=w,x=w,e,u;if(Q>y){var X=sn(Q/r*S(O)),B=sn(Q/s*S(O));(P-=X*2)>y?(X*=o?1:-1,A+=X,T-=X):(P=0,A=T=(f+c)/2),(L-=B*2)>y?(B*=o?1:-1,p+=B,g-=B):(L=0,p=g=(f+c)/2)}var Z=s*Y(p),j=s*S(p),C=r*Y(T),F=r*S(T);if(w>y){var G=s*Y(g),H=s*S(g),K=r*Y(A),M=r*S(A),D;if(Wy?x>y?(e=J(K,M,Z,j,s,x,o),u=J(G,H,C,F,s,x,o),a.moveTo(e.cx+e.x01,e.cy+e.y01),xy)||!(P>y)?a.lineTo(C,F):d>y?(e=J(C,F,G,H,r,-d,o),u=J(Z,j,K,M,r,-d,o),a.lineTo(e.cx+e.x01,e.cy+e.y01),du*u+X*X&&(O=w,Q=d),{cx:O,cy:Q,x01:-n,y01:-m,x11:O*(v/T-1),y11:Q*(v/T-1)}}function vn(){var l=cn,h=yn,E=U(0),q=null,v=gn,R=mn,V=pn,a=null,I=ln(i);function i(){var n,m,r=+l.apply(this,arguments),s=+h.apply(this,arguments),f=v.apply(this,arguments)-rn,c=R.apply(this,arguments)-rn,W=un(c-f),o=c>f;if(a||(a=n=I()),sy))a.moveTo(0,0);else if(W>on-y)a.moveTo(s*Y(f),s*S(f)),a.arc(0,0,s,f,c,!o),r>y&&(a.moveTo(r*Y(c),r*S(c)),a.arc(0,0,r,c,f,o));else{var p=f,g=c,A=f,T=c,P=W,L=W,O=V.apply(this,arguments)/2,Q=O>y&&(q?+q.apply(this,arguments):z(r*r+s*s)),w=_(un(s-r)/2,+E.apply(this,arguments)),d=w,x=w,e,u;if(Q>y){var X=sn(Q/r*S(O)),B=sn(Q/s*S(O));(P-=X*2)>y?(X*=o?1:-1,A+=X,T-=X):(P=0,A=T=(f+c)/2),(L-=B*2)>y?(B*=o?1:-1,p+=B,g-=B):(L=0,p=g=(f+c)/2)}var Z=s*Y(p),j=s*S(p),C=r*Y(T),F=r*S(T);if(w>y){var G=s*Y(g),H=s*S(g),K=r*Y(A),M=r*S(A),D;if(Wy?x>y?(e=J(K,M,Z,j,s,x,o),u=J(G,H,C,F,s,x,o),a.moveTo(e.cx+e.x01,e.cy+e.y01),xy)||!(P>y)?a.lineTo(C,F):d>y?(e=J(C,F,G,H,r,-d,o),u=J(Z,j,K,M,r,-d,o),a.lineTo(e.cx+e.x01,e.cy+e.y01),dArchitecture overview

Taskiq has very simple structure. On the client side all messages are sent by kickers using brokers. On the worker side all messages received by the broker and results are stored in result backends.

On the sequence diagram it looks like this:

Cool tip!

If you use dark theme and cannot see words on diagram, try switching to light theme and back to dark.

',4),h=n("p",null,"Let's discuss every component.",-1),y=n("h2",{id:"broker",tabindex:"-1"},[n("a",{class:"header-anchor",href:"#broker"},[n("span",null,"Broker")])],-1),g=n("strong",null,"must",-1),w=n("code",null,"AsyncBroker",-1),f={href:"https://github.com/taskiq-python/taskiq/blob/master/taskiq/abc/broker.py",target:"_blank",rel:"noopener noreferrer"},_=c(`

AsyncBroker class has two main methods to implement:

  • kick
  • listen

The kick method puts the message in the external system. For example, it may call the PUB command in Redis.

The listen is a method with an infinite loop that reads messages from the external system and creates a task for processing messages. For example, it subscribes to the Redis channel and waits for new messages.

Kicker

Kicker is an object that used to form a message for broker. This class isn't extendable. To form a message kicker uses labels, task name and arguments.

When you call the task.kiq on a task, it generates a Kicker instance and is a shortening for the task.kicker().kiq(...). You can use kicker to change broker, add labels, or even change task_id.

import asyncio
+import{_ as d}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as i,o as k,c as m,e as o,b as n,d as s,w as e,a as c}from"./app-jADuhdjP.js";const v={},b=c('

Architecture overview

Taskiq has very simple structure. On the client side all messages are sent by kickers using brokers. On the worker side all messages received by the broker and results are stored in result backends.

On the sequence diagram it looks like this:

Cool tip!

If you use dark theme and cannot see words on diagram, try switching to light theme and back to dark.

',4),h=n("p",null,"Let's discuss every component.",-1),y=n("h2",{id:"broker",tabindex:"-1"},[n("a",{class:"header-anchor",href:"#broker"},[n("span",null,"Broker")])],-1),g=n("strong",null,"must",-1),w=n("code",null,"AsyncBroker",-1),f={href:"https://github.com/taskiq-python/taskiq/blob/master/taskiq/abc/broker.py",target:"_blank",rel:"noopener noreferrer"},_=c(`

AsyncBroker class has two main methods to implement:

  • kick
  • listen

The kick method puts the message in the external system. For example, it may call the PUB command in Redis.

The listen is a method with an infinite loop that reads messages from the external system and creates a task for processing messages. For example, it subscribes to the Redis channel and waits for new messages.

Kicker

Kicker is an object that used to form a message for broker. This class isn't extendable. To form a message kicker uses labels, task name and arguments.

When you call the task.kiq on a task, it generates a Kicker instance and is a shortening for the task.kicker().kiq(...). You can use kicker to change broker, add labels, or even change task_id.

import asyncio
 
 from taskiq.brokers.inmemory_broker import InMemoryBroker
 
@@ -98,4 +98,4 @@ broker `),n("span",{class:"token operator"},"="),s(" ZeroMQBroker"),n("span",{cl
 `)])]),n("div",{class:"line-numbers","aria-hidden":"true"},[n("div",{class:"line-number"}),n("div",{class:"line-number"}),n("div",{class:"line-number"}),n("div",{class:"line-number"}),n("div",{class:"line-number"})])],-1),H=n("div",{class:"language-python line-numbers-mode","data-ext":"py","data-title":"py"},[n("pre",{class:"language-python"},[n("code",null,[n("span",{class:"token decorator annotation punctuation"},[s("@broker"),n("span",{class:"token punctuation"},"."),s("task")]),s(`
 `),n("span",{class:"token keyword"},"async"),s(),n("span",{class:"token keyword"},"def"),s(),n("span",{class:"token function"},"my_task"),n("span",{class:"token punctuation"},"("),s("context"),n("span",{class:"token punctuation"},":"),s(" Context "),n("span",{class:"token operator"},"="),s(" TaskiqDepends"),n("span",{class:"token punctuation"},"("),n("span",{class:"token punctuation"},")"),n("span",{class:"token punctuation"},")"),n("span",{class:"token punctuation"},":"),s(`
    `),n("span",{class:"token keyword"},"await"),s(" context"),n("span",{class:"token punctuation"},"."),s("requeue"),n("span",{class:"token punctuation"},"("),n("span",{class:"token punctuation"},")"),s(`
-`)])]),n("div",{class:"line-numbers","aria-hidden":"true"},[n("div",{class:"line-number"}),n("div",{class:"line-number"}),n("div",{class:"line-number"})])],-1),L=n("p",null,[s("Calling "),n("code",null,"requeue"),s(" or "),n("code",null,"reject"),s(" stops task execution and either drops the message, or puts it back to the queue.")],-1),U=n("p",null,"Also, with context you'll be able to get current message that was received by the broker or even instance of a broker who received a message. This may be useful for lib developers.",-1);function D(E,P){const r=i("Mermaid"),l=i("ExternalLinkIcon"),u=i("RouteLink"),p=i("Tabs");return k(),m("div",null,[b,o(r,{id:"mermaid-14",code:"eJyVkL0OwjAMhHeewiNIgASIAQYGfiYmYECMaXqUiDYRToJ4fEygqGVjiZTc57tzPG4RVmNtVMGq6hAxdCAusu5oNurTeDyRYzrtiWJdALEpLoHcmU4uMmmXY06r0sAG8ibHULivQoPFgrZGX8FzUt6jykpQBe9VAQHfUqKW7BJ1gM0bhNz+qFSbHB2/fOs+7+cUs3kEsFUl7SKiNP+Ja8utYntomPsLatjV4uYBHaVJUP7aJvbwsQyUKdnU5hKo7oJdpHQSviu2uTTa+OBPeHPwCc7mjN4="}),h,y,n("p",null,[s("Brokers are the most critical element of the taskiq. Every broker "),g,s(" implement the "),w,s(" abstract class from "),n("a",f,[s("taskiq.abc.broker"),o(l)]),s(" to make things work.")]),_,n("p",null,[s("Result backend is used to store and get results of the execution. Results have type "),q,s(" from "),n("a",x,[s("taskiq.result"),o(l)]),s(".")]),n("p",null,[s("Every ResultBackend must implement "),T,s(" from "),n("a",A,[s("taskiq.abc.result_backend"),o(l)]),s(". By default, brokers use "),M,s(". It doesn't do anything and cannot be used in real-world scenarios. But some brokers can override it. For example "),B,s(" by default uses "),C,s(" and returns correct results.")]),I,n("p",null,[s("If you have uvloop installed, taskiq will automatically install new policies to event loop. You can get more info about the CLI in the "),o(u,{to:"/guide/cli.html"},{default:e(()=>[s("CLI")]),_:1}),s(" section.")]),R,o(p,{id:"189",data:[{id:"Annotated 3.10+"},{id:"default values"}]},{title0:e(({value:a,isActive:t})=>[s("Annotated 3.10+")]),title1:e(({value:a,isActive:t})=>[s("default values")]),tab0:e(({value:a,isActive:t})=>[j]),tab1:e(({value:a,isActive:t})=>[O]),_:1}),N,o(p,{id:"200",data:[{id:"Annotated 3.10+"},{id:"default values"}]},{title0:e(({value:a,isActive:t})=>[s("Annotated 3.10+")]),title1:e(({value:a,isActive:t})=>[s("default values")]),tab0:e(({value:a,isActive:t})=>[Y]),tab1:e(({value:a,isActive:t})=>[H]),_:1}),L,U])}const Q=d(v,[["render",D],["__file","architecture-overview.html.vue"]]),J=JSON.parse('{"path":"/guide/architecture-overview.html","title":"Architecture overview","lang":"en-US","frontmatter":{"order":3,"description":"Architecture overview Taskiq has very simple structure. On the client side all messages are sent by kickers using brokers. On the worker side all messages received by the broker...","head":[["meta",{"property":"og:url","content":"https://taskiq-python.github.io/guide/architecture-overview.html"}],["meta",{"property":"og:site_name","content":"Taskiq"}],["meta",{"property":"og:title","content":"Architecture overview"}],["meta",{"property":"og:description","content":"Architecture overview Taskiq has very simple structure. On the client side all messages are sent by kickers using brokers. On the worker side all messages received by the broker..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-04-20T00:01:02.000Z"}],["meta",{"property":"article:modified_time","content":"2024-04-20T00:01:02.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Architecture overview\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-04-20T00:01:02.000Z\\",\\"author\\":[]}"]]},"headers":[{"level":2,"title":"Broker","slug":"broker","link":"#broker","children":[]},{"level":2,"title":"Kicker","slug":"kicker","link":"#kicker","children":[]},{"level":2,"title":"Messages","slug":"messages","link":"#messages","children":[]},{"level":2,"title":"Result backend","slug":"result-backend","link":"#result-backend","children":[]},{"level":2,"title":"Workers","slug":"workers","link":"#workers","children":[]},{"level":2,"title":"Middlewares","slug":"middlewares","link":"#middlewares","children":[]},{"level":2,"title":"Context","slug":"context","link":"#context","children":[]}],"git":{"createdTime":1713571262000,"updatedTime":1713571262000,"contributors":[{"name":"Pavel Kirilin","email":"win10@list.ru","commits":1}]},"filePathRelative":"guide/architecture-overview.md","localizedDate":"April 20, 2024","autoDesc":true,"excerpt":"\\n

Taskiq has very simple structure.\\nOn the client side all messages are sent by kickers using brokers.\\nOn the worker side all messages received by the broker and results are stored in result backends.

\\n

On the sequence diagram it looks like this:

\\n
\\n

Cool tip!

\\n

If you use dark theme and cannot see words on diagram,\\ntry switching to light theme and back to dark.

\\n
"}');export{Q as comp,J as data}; +`)])]),n("div",{class:"line-numbers","aria-hidden":"true"},[n("div",{class:"line-number"}),n("div",{class:"line-number"}),n("div",{class:"line-number"})])],-1),L=n("p",null,[s("Calling "),n("code",null,"requeue"),s(" or "),n("code",null,"reject"),s(" stops task execution and either drops the message, or puts it back to the queue.")],-1),U=n("p",null,"Also, with context you'll be able to get current message that was received by the broker or even instance of a broker who received a message. This may be useful for lib developers.",-1);function D(E,P){const r=i("Mermaid"),l=i("ExternalLinkIcon"),u=i("RouteLink"),p=i("Tabs");return k(),m("div",null,[b,o(r,{id:"mermaid-14",code:"eJyVkL0OwjAMhHeewiNIgASIAQYGfiYmYECMaXqUiDYRToJ4fEygqGVjiZTc57tzPG4RVmNtVMGq6hAxdCAusu5oNurTeDyRYzrtiWJdALEpLoHcmU4uMmmXY06r0sAG8ibHULivQoPFgrZGX8FzUt6jykpQBe9VAQHfUqKW7BJ1gM0bhNz+qFSbHB2/fOs+7+cUs3kEsFUl7SKiNP+Ja8utYntomPsLatjV4uYBHaVJUP7aJvbwsQyUKdnU5hKo7oJdpHQSviu2uTTa+OBPeHPwCc7mjN4="}),h,y,n("p",null,[s("Brokers are the most critical element of the taskiq. Every broker "),g,s(" implement the "),w,s(" abstract class from "),n("a",f,[s("taskiq.abc.broker"),o(l)]),s(" to make things work.")]),_,n("p",null,[s("Result backend is used to store and get results of the execution. Results have type "),q,s(" from "),n("a",x,[s("taskiq.result"),o(l)]),s(".")]),n("p",null,[s("Every ResultBackend must implement "),T,s(" from "),n("a",A,[s("taskiq.abc.result_backend"),o(l)]),s(". By default, brokers use "),M,s(". It doesn't do anything and cannot be used in real-world scenarios. But some brokers can override it. For example "),B,s(" by default uses "),C,s(" and returns correct results.")]),I,n("p",null,[s("If you have uvloop installed, taskiq will automatically install new policies to event loop. You can get more info about the CLI in the "),o(u,{to:"/guide/cli.html"},{default:e(()=>[s("CLI")]),_:1}),s(" section.")]),R,o(p,{id:"189",data:[{id:"Annotated 3.10+"},{id:"default values"}]},{title0:e(({value:a,isActive:t})=>[s("Annotated 3.10+")]),title1:e(({value:a,isActive:t})=>[s("default values")]),tab0:e(({value:a,isActive:t})=>[j]),tab1:e(({value:a,isActive:t})=>[O]),_:1}),N,o(p,{id:"200",data:[{id:"Annotated 3.10+"},{id:"default values"}]},{title0:e(({value:a,isActive:t})=>[s("Annotated 3.10+")]),title1:e(({value:a,isActive:t})=>[s("default values")]),tab0:e(({value:a,isActive:t})=>[Y]),tab1:e(({value:a,isActive:t})=>[H]),_:1}),L,U])}const Q=d(v,[["render",D],["__file","architecture-overview.html.vue"]]),J=JSON.parse('{"path":"/guide/architecture-overview.html","title":"Architecture overview","lang":"en-US","frontmatter":{"order":3,"description":"Architecture overview Taskiq has very simple structure. On the client side all messages are sent by kickers using brokers. On the worker side all messages received by the broker...","head":[["meta",{"property":"og:url","content":"https://taskiq-python.github.io/guide/architecture-overview.html"}],["meta",{"property":"og:site_name","content":"Taskiq"}],["meta",{"property":"og:title","content":"Architecture overview"}],["meta",{"property":"og:description","content":"Architecture overview Taskiq has very simple structure. On the client side all messages are sent by kickers using brokers. On the worker side all messages received by the broker..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-04-26T20:07:59.000Z"}],["meta",{"property":"article:modified_time","content":"2024-04-26T20:07:59.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Architecture overview\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-04-26T20:07:59.000Z\\",\\"author\\":[]}"]]},"headers":[{"level":2,"title":"Broker","slug":"broker","link":"#broker","children":[]},{"level":2,"title":"Kicker","slug":"kicker","link":"#kicker","children":[]},{"level":2,"title":"Messages","slug":"messages","link":"#messages","children":[]},{"level":2,"title":"Result backend","slug":"result-backend","link":"#result-backend","children":[]},{"level":2,"title":"Workers","slug":"workers","link":"#workers","children":[]},{"level":2,"title":"Middlewares","slug":"middlewares","link":"#middlewares","children":[]},{"level":2,"title":"Context","slug":"context","link":"#context","children":[]}],"git":{"createdTime":1714162079000,"updatedTime":1714162079000,"contributors":[{"name":"Pavel Kirilin","email":"win10@list.ru","commits":1}]},"filePathRelative":"guide/architecture-overview.md","localizedDate":"April 26, 2024","autoDesc":true,"excerpt":"\\n

Taskiq has very simple structure.\\nOn the client side all messages are sent by kickers using brokers.\\nOn the worker side all messages received by the broker and results are stored in result backends.

\\n

On the sequence diagram it looks like this:

\\n
\\n

Cool tip!

\\n

If you use dark theme and cannot see words on diagram,\\ntry switching to light theme and back to dark.

\\n
"}');export{Q as comp,J as data}; diff --git a/assets/blockDiagram-91b80b7a-FOIhVpAO.js b/assets/blockDiagram-91b80b7a-Cdw71yKW.js similarity index 98% rename from assets/blockDiagram-91b80b7a-FOIhVpAO.js rename to assets/blockDiagram-91b80b7a-Cdw71yKW.js index 39d9b65..7c493b3 100644 --- a/assets/blockDiagram-91b80b7a-FOIhVpAO.js +++ b/assets/blockDiagram-91b80b7a-Cdw71yKW.js @@ -1,4 +1,4 @@ -import{c as _e,b0 as se,h as H,i as ye,l as S,A as Ee,af as we,p as De}from"./mermaid.core-DtSoU78u.js";import{c as ve}from"./clone-DZIUJmqR.js";import{i as Ne,c as ke,b as Ie,d as Oe,a as he,p as Te}from"./edges-d32062c0--RfIKLIO.js";import{G as ze}from"./graph-GEpVUbdH.js";import{o as Ce}from"./ordinal-Cboi1Yqb.js";import{c as Ae}from"./channel-CAAfQTsA.js";import{s as Re}from"./Tableau10-B-NsZVaP.js";import"./app-B0fd3cYb.js";import"./createText-6b48ae7d-BQ6Vxn2Q.js";import"./line-BM-2XH-S.js";import"./array-BKyUJesY.js";import"./path-CbwjOpE9.js";import"./init-Gi6I4Gst.js";var le,oe,ee=function(){var e=function(D,o,s,i){for(s=s||{},i=D.length;i--;s[D[i]]=o);return s},a=[1,7],d=[1,13],c=[1,14],n=[1,15],g=[1,19],l=[1,16],f=[1,17],b=[1,18],p=[8,30],x=[8,21,28,29,30,31,32,40,44,47],y=[1,23],T=[1,24],v=[8,15,16,21,28,29,30,31,32,40,44,47],N=[8,15,16,21,27,28,29,30,31,32,40,44,47],E=[1,49],L={trace:function(){},yy:{},symbols_:{error:2,spaceLines:3,SPACELINE:4,NL:5,separator:6,SPACE:7,EOF:8,start:9,BLOCK_DIAGRAM_KEY:10,document:11,stop:12,statement:13,link:14,LINK:15,START_LINK:16,LINK_LABEL:17,STR:18,nodeStatement:19,columnsStatement:20,SPACE_BLOCK:21,blockStatement:22,classDefStatement:23,cssClassStatement:24,styleStatement:25,node:26,SIZE:27,COLUMNS:28,"id-block":29,end:30,block:31,NODE_ID:32,nodeShapeNLabel:33,dirList:34,DIR:35,NODE_DSTART:36,NODE_DEND:37,BLOCK_ARROW_START:38,BLOCK_ARROW_END:39,classDef:40,CLASSDEF_ID:41,CLASSDEF_STYLEOPTS:42,DEFAULT:43,class:44,CLASSENTITY_IDS:45,STYLECLASS:46,style:47,STYLE_ENTITY_IDS:48,STYLE_DEFINITION_DATA:49,$accept:0,$end:1},terminals_:{2:"error",4:"SPACELINE",5:"NL",7:"SPACE",8:"EOF",10:"BLOCK_DIAGRAM_KEY",15:"LINK",16:"START_LINK",17:"LINK_LABEL",18:"STR",21:"SPACE_BLOCK",27:"SIZE",28:"COLUMNS",29:"id-block",30:"end",31:"block",32:"NODE_ID",35:"DIR",36:"NODE_DSTART",37:"NODE_DEND",38:"BLOCK_ARROW_START",39:"BLOCK_ARROW_END",40:"classDef",41:"CLASSDEF_ID",42:"CLASSDEF_STYLEOPTS",43:"DEFAULT",44:"class",45:"CLASSENTITY_IDS",46:"STYLECLASS",47:"style",48:"STYLE_ENTITY_IDS",49:"STYLE_DEFINITION_DATA"},productions_:[0,[3,1],[3,2],[3,2],[6,1],[6,1],[6,1],[9,3],[12,1],[12,1],[12,2],[12,2],[11,1],[11,2],[14,1],[14,4],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[19,3],[19,2],[19,1],[20,1],[22,4],[22,3],[26,1],[26,2],[34,1],[34,2],[33,3],[33,4],[23,3],[23,3],[24,3],[25,3]],performAction:function(o,s,i,u,h,t,m){var r=t.length-1;switch(h){case 4:u.getLogger().debug("Rule: separator (NL) ");break;case 5:u.getLogger().debug("Rule: separator (Space) ");break;case 6:u.getLogger().debug("Rule: separator (EOF) ");break;case 7:u.getLogger().debug("Rule: hierarchy: ",t[r-1]),u.setHierarchy(t[r-1]);break;case 8:u.getLogger().debug("Stop NL ");break;case 9:u.getLogger().debug("Stop EOF ");break;case 10:u.getLogger().debug("Stop NL2 ");break;case 11:u.getLogger().debug("Stop EOF2 ");break;case 12:u.getLogger().debug("Rule: statement: ",t[r]),typeof t[r].length=="number"?this.$=t[r]:this.$=[t[r]];break;case 13:u.getLogger().debug("Rule: statement #2: ",t[r-1]),this.$=[t[r-1]].concat(t[r]);break;case 14:u.getLogger().debug("Rule: link: ",t[r],o),this.$={edgeTypeStr:t[r],label:""};break;case 15:u.getLogger().debug("Rule: LABEL link: ",t[r-3],t[r-1],t[r]),this.$={edgeTypeStr:t[r],label:t[r-1]};break;case 18:const R=parseInt(t[r]),Y=u.generateId();this.$={id:Y,type:"space",label:"",width:R,children:[]};break;case 23:u.getLogger().debug("Rule: (nodeStatement link node) ",t[r-2],t[r-1],t[r]," typestr: ",t[r-1].edgeTypeStr);const F=u.edgeStrToEdgeData(t[r-1].edgeTypeStr);this.$=[{id:t[r-2].id,label:t[r-2].label,type:t[r-2].type,directions:t[r-2].directions},{id:t[r-2].id+"-"+t[r].id,start:t[r-2].id,end:t[r].id,label:t[r-1].label,type:"edge",directions:t[r].directions,arrowTypeEnd:F,arrowTypeStart:"arrow_open"},{id:t[r].id,label:t[r].label,type:u.typeStr2Type(t[r].typeStr),directions:t[r].directions}];break;case 24:u.getLogger().debug("Rule: nodeStatement (abc88 node size) ",t[r-1],t[r]),this.$={id:t[r-1].id,label:t[r-1].label,type:u.typeStr2Type(t[r-1].typeStr),directions:t[r-1].directions,widthInColumns:parseInt(t[r],10)};break;case 25:u.getLogger().debug("Rule: nodeStatement (node) ",t[r]),this.$={id:t[r].id,label:t[r].label,type:u.typeStr2Type(t[r].typeStr),directions:t[r].directions,widthInColumns:1};break;case 26:u.getLogger().debug("APA123",this?this:"na"),u.getLogger().debug("COLUMNS: ",t[r]),this.$={type:"column-setting",columns:t[r]==="auto"?-1:parseInt(t[r])};break;case 27:u.getLogger().debug("Rule: id-block statement : ",t[r-2],t[r-1]),u.generateId(),this.$={...t[r-2],type:"composite",children:t[r-1]};break;case 28:u.getLogger().debug("Rule: blockStatement : ",t[r-2],t[r-1],t[r]);const C=u.generateId();this.$={id:C,type:"composite",label:"",children:t[r-1]};break;case 29:u.getLogger().debug("Rule: node (NODE_ID separator): ",t[r]),this.$={id:t[r]};break;case 30:u.getLogger().debug("Rule: node (NODE_ID nodeShapeNLabel separator): ",t[r-1],t[r]),this.$={id:t[r-1],label:t[r].label,typeStr:t[r].typeStr,directions:t[r].directions};break;case 31:u.getLogger().debug("Rule: dirList: ",t[r]),this.$=[t[r]];break;case 32:u.getLogger().debug("Rule: dirList: ",t[r-1],t[r]),this.$=[t[r-1]].concat(t[r]);break;case 33:u.getLogger().debug("Rule: nodeShapeNLabel: ",t[r-2],t[r-1],t[r]),this.$={typeStr:t[r-2]+t[r],label:t[r-1]};break;case 34:u.getLogger().debug("Rule: BLOCK_ARROW nodeShapeNLabel: ",t[r-3],t[r-2]," #3:",t[r-1],t[r]),this.$={typeStr:t[r-3]+t[r],label:t[r-2],directions:t[r-1]};break;case 35:case 36:this.$={type:"classDef",id:t[r-1].trim(),css:t[r].trim()};break;case 37:this.$={type:"applyClass",id:t[r-1].trim(),styleClass:t[r].trim()};break;case 38:this.$={type:"applyStyles",id:t[r-1].trim(),stylesStr:t[r].trim()};break}},table:[{9:1,10:[1,2]},{1:[3]},{11:3,13:4,19:5,20:6,21:a,22:8,23:9,24:10,25:11,26:12,28:d,29:c,31:n,32:g,40:l,44:f,47:b},{8:[1,20]},e(p,[2,12],{13:4,19:5,20:6,22:8,23:9,24:10,25:11,26:12,11:21,21:a,28:d,29:c,31:n,32:g,40:l,44:f,47:b}),e(x,[2,16],{14:22,15:y,16:T}),e(x,[2,17]),e(x,[2,18]),e(x,[2,19]),e(x,[2,20]),e(x,[2,21]),e(x,[2,22]),e(v,[2,25],{27:[1,25]}),e(x,[2,26]),{19:26,26:12,32:g},{11:27,13:4,19:5,20:6,21:a,22:8,23:9,24:10,25:11,26:12,28:d,29:c,31:n,32:g,40:l,44:f,47:b},{41:[1,28],43:[1,29]},{45:[1,30]},{48:[1,31]},e(N,[2,29],{33:32,36:[1,33],38:[1,34]}),{1:[2,7]},e(p,[2,13]),{26:35,32:g},{32:[2,14]},{17:[1,36]},e(v,[2,24]),{11:37,13:4,14:22,15:y,16:T,19:5,20:6,21:a,22:8,23:9,24:10,25:11,26:12,28:d,29:c,31:n,32:g,40:l,44:f,47:b},{30:[1,38]},{42:[1,39]},{42:[1,40]},{46:[1,41]},{49:[1,42]},e(N,[2,30]),{18:[1,43]},{18:[1,44]},e(v,[2,23]),{18:[1,45]},{30:[1,46]},e(x,[2,28]),e(x,[2,35]),e(x,[2,36]),e(x,[2,37]),e(x,[2,38]),{37:[1,47]},{34:48,35:E},{15:[1,50]},e(x,[2,27]),e(N,[2,33]),{39:[1,51]},{34:52,35:E,39:[2,31]},{32:[2,15]},e(N,[2,34]),{39:[2,32]}],defaultActions:{20:[2,7],23:[2,14],50:[2,15],52:[2,32]},parseError:function(o,s){if(s.recoverable)this.trace(o);else{var i=new Error(o);throw i.hash=s,i}},parse:function(o){var s=this,i=[0],u=[],h=[null],t=[],m=this.table,r="",R=0,Y=0,F=2,C=1,Se=t.slice.call(arguments,1),w=Object.create(this.lexer),K={yy:{}};for(var Z in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Z)&&(K.yy[Z]=this.yy[Z]);w.setInput(o,K.yy),K.yy.lexer=w,K.yy.parser=this,typeof w.yylloc>"u"&&(w.yylloc={});var J=w.yylloc;t.push(J);var Le=w.options&&w.options.ranges;typeof K.yy.parseError=="function"?this.parseError=K.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function me(){var P;return P=u.pop()||w.lex()||C,typeof P!="number"&&(P instanceof Array&&(u=P,P=u.pop()),P=s.symbols_[P]||P),P}for(var I,M,z,Q,W={},X,B,ae,G;;){if(M=i[i.length-1],this.defaultActions[M]?z=this.defaultActions[M]:((I===null||typeof I>"u")&&(I=me()),z=m[M]&&m[M][I]),typeof z>"u"||!z.length||!z[0]){var $="";G=[];for(X in m[M])this.terminals_[X]&&X>F&&G.push("'"+this.terminals_[X]+"'");w.showPosition?$="Parse error on line "+(R+1)+`: +import{c as _e,b0 as se,h as H,i as ye,l as S,A as Ee,af as we,p as De}from"./mermaid.core-C-ipfzeP.js";import{c as ve}from"./clone-DMS6tHY3.js";import{i as Ne,c as ke,b as Ie,d as Oe,a as he,p as Te}from"./edges-d32062c0-DS1UiBKj.js";import{G as ze}from"./graph-BqpiDEwF.js";import{o as Ce}from"./ordinal-Cboi1Yqb.js";import{c as Ae}from"./channel-DIrwI8QF.js";import{s as Re}from"./Tableau10-B-NsZVaP.js";import"./app-jADuhdjP.js";import"./createText-6b48ae7d-CHYbp3CC.js";import"./line-BVHj5-SV.js";import"./array-BKyUJesY.js";import"./path-CbwjOpE9.js";import"./init-Gi6I4Gst.js";var le,oe,ee=function(){var e=function(D,o,s,i){for(s=s||{},i=D.length;i--;s[D[i]]=o);return s},a=[1,7],d=[1,13],c=[1,14],n=[1,15],g=[1,19],l=[1,16],f=[1,17],b=[1,18],p=[8,30],x=[8,21,28,29,30,31,32,40,44,47],y=[1,23],T=[1,24],v=[8,15,16,21,28,29,30,31,32,40,44,47],N=[8,15,16,21,27,28,29,30,31,32,40,44,47],E=[1,49],L={trace:function(){},yy:{},symbols_:{error:2,spaceLines:3,SPACELINE:4,NL:5,separator:6,SPACE:7,EOF:8,start:9,BLOCK_DIAGRAM_KEY:10,document:11,stop:12,statement:13,link:14,LINK:15,START_LINK:16,LINK_LABEL:17,STR:18,nodeStatement:19,columnsStatement:20,SPACE_BLOCK:21,blockStatement:22,classDefStatement:23,cssClassStatement:24,styleStatement:25,node:26,SIZE:27,COLUMNS:28,"id-block":29,end:30,block:31,NODE_ID:32,nodeShapeNLabel:33,dirList:34,DIR:35,NODE_DSTART:36,NODE_DEND:37,BLOCK_ARROW_START:38,BLOCK_ARROW_END:39,classDef:40,CLASSDEF_ID:41,CLASSDEF_STYLEOPTS:42,DEFAULT:43,class:44,CLASSENTITY_IDS:45,STYLECLASS:46,style:47,STYLE_ENTITY_IDS:48,STYLE_DEFINITION_DATA:49,$accept:0,$end:1},terminals_:{2:"error",4:"SPACELINE",5:"NL",7:"SPACE",8:"EOF",10:"BLOCK_DIAGRAM_KEY",15:"LINK",16:"START_LINK",17:"LINK_LABEL",18:"STR",21:"SPACE_BLOCK",27:"SIZE",28:"COLUMNS",29:"id-block",30:"end",31:"block",32:"NODE_ID",35:"DIR",36:"NODE_DSTART",37:"NODE_DEND",38:"BLOCK_ARROW_START",39:"BLOCK_ARROW_END",40:"classDef",41:"CLASSDEF_ID",42:"CLASSDEF_STYLEOPTS",43:"DEFAULT",44:"class",45:"CLASSENTITY_IDS",46:"STYLECLASS",47:"style",48:"STYLE_ENTITY_IDS",49:"STYLE_DEFINITION_DATA"},productions_:[0,[3,1],[3,2],[3,2],[6,1],[6,1],[6,1],[9,3],[12,1],[12,1],[12,2],[12,2],[11,1],[11,2],[14,1],[14,4],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[19,3],[19,2],[19,1],[20,1],[22,4],[22,3],[26,1],[26,2],[34,1],[34,2],[33,3],[33,4],[23,3],[23,3],[24,3],[25,3]],performAction:function(o,s,i,u,h,t,m){var r=t.length-1;switch(h){case 4:u.getLogger().debug("Rule: separator (NL) ");break;case 5:u.getLogger().debug("Rule: separator (Space) ");break;case 6:u.getLogger().debug("Rule: separator (EOF) ");break;case 7:u.getLogger().debug("Rule: hierarchy: ",t[r-1]),u.setHierarchy(t[r-1]);break;case 8:u.getLogger().debug("Stop NL ");break;case 9:u.getLogger().debug("Stop EOF ");break;case 10:u.getLogger().debug("Stop NL2 ");break;case 11:u.getLogger().debug("Stop EOF2 ");break;case 12:u.getLogger().debug("Rule: statement: ",t[r]),typeof t[r].length=="number"?this.$=t[r]:this.$=[t[r]];break;case 13:u.getLogger().debug("Rule: statement #2: ",t[r-1]),this.$=[t[r-1]].concat(t[r]);break;case 14:u.getLogger().debug("Rule: link: ",t[r],o),this.$={edgeTypeStr:t[r],label:""};break;case 15:u.getLogger().debug("Rule: LABEL link: ",t[r-3],t[r-1],t[r]),this.$={edgeTypeStr:t[r],label:t[r-1]};break;case 18:const R=parseInt(t[r]),Y=u.generateId();this.$={id:Y,type:"space",label:"",width:R,children:[]};break;case 23:u.getLogger().debug("Rule: (nodeStatement link node) ",t[r-2],t[r-1],t[r]," typestr: ",t[r-1].edgeTypeStr);const F=u.edgeStrToEdgeData(t[r-1].edgeTypeStr);this.$=[{id:t[r-2].id,label:t[r-2].label,type:t[r-2].type,directions:t[r-2].directions},{id:t[r-2].id+"-"+t[r].id,start:t[r-2].id,end:t[r].id,label:t[r-1].label,type:"edge",directions:t[r].directions,arrowTypeEnd:F,arrowTypeStart:"arrow_open"},{id:t[r].id,label:t[r].label,type:u.typeStr2Type(t[r].typeStr),directions:t[r].directions}];break;case 24:u.getLogger().debug("Rule: nodeStatement (abc88 node size) ",t[r-1],t[r]),this.$={id:t[r-1].id,label:t[r-1].label,type:u.typeStr2Type(t[r-1].typeStr),directions:t[r-1].directions,widthInColumns:parseInt(t[r],10)};break;case 25:u.getLogger().debug("Rule: nodeStatement (node) ",t[r]),this.$={id:t[r].id,label:t[r].label,type:u.typeStr2Type(t[r].typeStr),directions:t[r].directions,widthInColumns:1};break;case 26:u.getLogger().debug("APA123",this?this:"na"),u.getLogger().debug("COLUMNS: ",t[r]),this.$={type:"column-setting",columns:t[r]==="auto"?-1:parseInt(t[r])};break;case 27:u.getLogger().debug("Rule: id-block statement : ",t[r-2],t[r-1]),u.generateId(),this.$={...t[r-2],type:"composite",children:t[r-1]};break;case 28:u.getLogger().debug("Rule: blockStatement : ",t[r-2],t[r-1],t[r]);const C=u.generateId();this.$={id:C,type:"composite",label:"",children:t[r-1]};break;case 29:u.getLogger().debug("Rule: node (NODE_ID separator): ",t[r]),this.$={id:t[r]};break;case 30:u.getLogger().debug("Rule: node (NODE_ID nodeShapeNLabel separator): ",t[r-1],t[r]),this.$={id:t[r-1],label:t[r].label,typeStr:t[r].typeStr,directions:t[r].directions};break;case 31:u.getLogger().debug("Rule: dirList: ",t[r]),this.$=[t[r]];break;case 32:u.getLogger().debug("Rule: dirList: ",t[r-1],t[r]),this.$=[t[r-1]].concat(t[r]);break;case 33:u.getLogger().debug("Rule: nodeShapeNLabel: ",t[r-2],t[r-1],t[r]),this.$={typeStr:t[r-2]+t[r],label:t[r-1]};break;case 34:u.getLogger().debug("Rule: BLOCK_ARROW nodeShapeNLabel: ",t[r-3],t[r-2]," #3:",t[r-1],t[r]),this.$={typeStr:t[r-3]+t[r],label:t[r-2],directions:t[r-1]};break;case 35:case 36:this.$={type:"classDef",id:t[r-1].trim(),css:t[r].trim()};break;case 37:this.$={type:"applyClass",id:t[r-1].trim(),styleClass:t[r].trim()};break;case 38:this.$={type:"applyStyles",id:t[r-1].trim(),stylesStr:t[r].trim()};break}},table:[{9:1,10:[1,2]},{1:[3]},{11:3,13:4,19:5,20:6,21:a,22:8,23:9,24:10,25:11,26:12,28:d,29:c,31:n,32:g,40:l,44:f,47:b},{8:[1,20]},e(p,[2,12],{13:4,19:5,20:6,22:8,23:9,24:10,25:11,26:12,11:21,21:a,28:d,29:c,31:n,32:g,40:l,44:f,47:b}),e(x,[2,16],{14:22,15:y,16:T}),e(x,[2,17]),e(x,[2,18]),e(x,[2,19]),e(x,[2,20]),e(x,[2,21]),e(x,[2,22]),e(v,[2,25],{27:[1,25]}),e(x,[2,26]),{19:26,26:12,32:g},{11:27,13:4,19:5,20:6,21:a,22:8,23:9,24:10,25:11,26:12,28:d,29:c,31:n,32:g,40:l,44:f,47:b},{41:[1,28],43:[1,29]},{45:[1,30]},{48:[1,31]},e(N,[2,29],{33:32,36:[1,33],38:[1,34]}),{1:[2,7]},e(p,[2,13]),{26:35,32:g},{32:[2,14]},{17:[1,36]},e(v,[2,24]),{11:37,13:4,14:22,15:y,16:T,19:5,20:6,21:a,22:8,23:9,24:10,25:11,26:12,28:d,29:c,31:n,32:g,40:l,44:f,47:b},{30:[1,38]},{42:[1,39]},{42:[1,40]},{46:[1,41]},{49:[1,42]},e(N,[2,30]),{18:[1,43]},{18:[1,44]},e(v,[2,23]),{18:[1,45]},{30:[1,46]},e(x,[2,28]),e(x,[2,35]),e(x,[2,36]),e(x,[2,37]),e(x,[2,38]),{37:[1,47]},{34:48,35:E},{15:[1,50]},e(x,[2,27]),e(N,[2,33]),{39:[1,51]},{34:52,35:E,39:[2,31]},{32:[2,15]},e(N,[2,34]),{39:[2,32]}],defaultActions:{20:[2,7],23:[2,14],50:[2,15],52:[2,32]},parseError:function(o,s){if(s.recoverable)this.trace(o);else{var i=new Error(o);throw i.hash=s,i}},parse:function(o){var s=this,i=[0],u=[],h=[null],t=[],m=this.table,r="",R=0,Y=0,F=2,C=1,Se=t.slice.call(arguments,1),w=Object.create(this.lexer),K={yy:{}};for(var Z in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Z)&&(K.yy[Z]=this.yy[Z]);w.setInput(o,K.yy),K.yy.lexer=w,K.yy.parser=this,typeof w.yylloc>"u"&&(w.yylloc={});var J=w.yylloc;t.push(J);var Le=w.options&&w.options.ranges;typeof K.yy.parseError=="function"?this.parseError=K.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function me(){var P;return P=u.pop()||w.lex()||C,typeof P!="number"&&(P instanceof Array&&(u=P,P=u.pop()),P=s.symbols_[P]||P),P}for(var I,M,z,Q,W={},X,B,ae,G;;){if(M=i[i.length-1],this.defaultActions[M]?z=this.defaultActions[M]:((I===null||typeof I>"u")&&(I=me()),z=m[M]&&m[M][I]),typeof z>"u"||!z.length||!z[0]){var $="";G=[];for(X in m[M])this.terminals_[X]&&X>F&&G.push("'"+this.terminals_[X]+"'");w.showPosition?$="Parse error on line "+(R+1)+`: `+w.showPosition()+` Expecting `+G.join(", ")+", got '"+(this.terminals_[I]||I)+"'":$="Parse error on line "+(R+1)+": Unexpected "+(I==C?"end of input":"'"+(this.terminals_[I]||I)+"'"),this.parseError($,{text:w.match,token:this.terminals_[I]||I,line:w.yylineno,loc:J,expected:G})}if(z[0]instanceof Array&&z.length>1)throw new Error("Parse Error: multiple actions possible at state: "+M+", token: "+I);switch(z[0]){case 1:i.push(I),h.push(w.yytext),t.push(w.yylloc),i.push(z[1]),I=null,Y=w.yyleng,r=w.yytext,R=w.yylineno,J=w.yylloc;break;case 2:if(B=this.productions_[z[1]][1],W.$=h[h.length-B],W._$={first_line:t[t.length-(B||1)].first_line,last_line:t[t.length-1].last_line,first_column:t[t.length-(B||1)].first_column,last_column:t[t.length-1].last_column},Le&&(W._$.range=[t[t.length-(B||1)].range[0],t[t.length-1].range[1]]),Q=this.performAction.apply(W,[r,Y,R,K.yy,z[1],h,t].concat(Se)),typeof Q<"u")return Q;B&&(i=i.slice(0,-1*B*2),h=h.slice(0,-1*B),t=t.slice(0,-1*B)),i.push(this.productions_[z[1]][0]),h.push(W.$),t.push(W._$),ae=m[i[i.length-2]][i[i.length-1]],i.push(ae);break;case 3:return!0}}return!0}},A=function(){var D={EOF:1,parseError:function(s,i){if(this.yy.parser)this.yy.parser.parseError(s,i);else throw new Error(s)},setInput:function(o,s){return this.yy=s||this.yy||{},this._input=o,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var o=this._input[0];this.yytext+=o,this.yyleng++,this.offset++,this.match+=o,this.matched+=o;var s=o.match(/(?:\r\n?|\n).*/g);return s?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),o},unput:function(o){var s=o.length,i=o.split(/(?:\r\n?|\n)/g);this._input=o+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-s),this.offset-=s;var u=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1);var h=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===u.length?this.yylloc.first_column:0)+u[u.length-i.length].length-i[0].length:this.yylloc.first_column-s},this.options.ranges&&(this.yylloc.range=[h[0],h[0]+this.yyleng-s]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(o){this.unput(this.match.slice(o))},pastInput:function(){var o=this.matched.substr(0,this.matched.length-this.match.length);return(o.length>20?"...":"")+o.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var o=this.match;return o.length<20&&(o+=this._input.substr(0,20-o.length)),(o.substr(0,20)+(o.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var o=this.pastInput(),s=new Array(o.length+1).join("-");return o+this.upcomingInput()+` diff --git a/assets/broker.html-BZc4y0dT.js b/assets/broker.html-aMKOhesS.js similarity index 97% rename from assets/broker.html-BZc4y0dT.js rename to assets/broker.html-aMKOhesS.js index 936318d..c2577f6 100644 --- a/assets/broker.html-BZc4y0dT.js +++ b/assets/broker.html-aMKOhesS.js @@ -1,4 +1,4 @@ -import{_ as n}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as s,c as a,a as e}from"./app-B0fd3cYb.js";const t={},o=e(`

Brokers

To add a new broker you need to implement two methods kick and listen of the taskiq.abc.broker.AsyncBroker abstract class. But along with them we have helper methods. Such as shutdown and startup.

Here is a template for new brokers:

from typing import AsyncGenerator, Union
+import{_ as n}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as s,c as a,a as e}from"./app-jADuhdjP.js";const t={},o=e(`

Brokers

To add a new broker you need to implement two methods kick and listen of the taskiq.abc.broker.AsyncBroker abstract class. But along with them we have helper methods. Such as shutdown and startup.

Here is a template for new brokers:

from typing import AsyncGenerator, Union
 
 from taskiq import AckableMessage, AsyncBroker, BrokerMessage
 
@@ -41,4 +41,4 @@ import{_ as n}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as s,c as a,
          # Can be set to None if broker doesn't support it.
          reject=message.reject
       )
-

Conventions

For brokers, we have several conventions. It's good if your broker implements them. These rules are optional, and it's ok if your broker doesn't implement them.

  1. If the message has the delay label with int or float number, this task's execution must be delayed with the same number of seconds as in the delay label.
  2. If the message has the priority label, this message must be sent with priority. Tasks with higher priorities are executed sooner.
`,14),p=[o];function c(l,i){return s(),a("div",null,p)}const u=n(t,[["render",c],["__file","broker.html.vue"]]),d=JSON.parse('{"path":"/extending-taskiq/broker.html","title":"Brokers","lang":"en-US","frontmatter":{"order":1,"description":"Brokers To add a new broker you need to implement two methods kick and listen of the taskiq.abc.broker.AsyncBroker abstract class. But along with them we have helper methods. Su...","head":[["meta",{"property":"og:url","content":"https://taskiq-python.github.io/extending-taskiq/broker.html"}],["meta",{"property":"og:site_name","content":"Taskiq"}],["meta",{"property":"og:title","content":"Brokers"}],["meta",{"property":"og:description","content":"Brokers To add a new broker you need to implement two methods kick and listen of the taskiq.abc.broker.AsyncBroker abstract class. But along with them we have helper methods. Su..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-04-20T00:01:02.000Z"}],["meta",{"property":"article:modified_time","content":"2024-04-20T00:01:02.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Brokers\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-04-20T00:01:02.000Z\\",\\"author\\":[]}"]]},"headers":[{"level":2,"title":"Acknowledgement","slug":"acknowledgement","link":"#acknowledgement","children":[]},{"level":2,"title":"Conventions","slug":"conventions","link":"#conventions","children":[]}],"git":{"createdTime":1713571262000,"updatedTime":1713571262000,"contributors":[{"name":"Pavel Kirilin","email":"win10@list.ru","commits":1}]},"filePathRelative":"extending-taskiq/broker.md","localizedDate":"April 20, 2024","autoDesc":true,"excerpt":"\\n

To add a new broker you need to implement two methods kick and listen of the taskiq.abc.broker.AsyncBroker abstract class.\\nBut along with them we have helper methods. Such as shutdown and startup.

\\n

Here is a template for new brokers:

\\n
from typing import AsyncGenerator, Union\\n\\nfrom taskiq import AckableMessage, AsyncBroker, BrokerMessage\\n\\n\\nclass MyBroker(AsyncBroker):\\n    def __init__(self) -> None:\\n        # Please call this super method to set default values to\\n        # many different fields.\\n        super().__init__()\\n\\n    async def startup(self) -> None:\\n        # Here you can do some startup magic.\\n        # Like opening a connection.\\n        return await super().startup()\\n\\n    async def shutdown(self) -> None:\\n        # Here you can perform shutdown operations.\\n        # Like closing connections.\\n        return await super().shutdown()\\n\\n    async def kick(self, message: BrokerMessage) -> None:\\n        # Send a message.message.\\n        pass\\n\\n    async def listen(self) -> AsyncGenerator[Union[bytes, AckableMessage], None]:\\n        while True:\\n            # Get new message.\\n            new_message: bytes = ...  # type: ignore\\n            # Yield it!\\n            yield new_message\\n
"}');export{u as comp,d as data}; +

Conventions

For brokers, we have several conventions. It's good if your broker implements them. These rules are optional, and it's ok if your broker doesn't implement them.

  1. If the message has the delay label with int or float number, this task's execution must be delayed with the same number of seconds as in the delay label.
  2. If the message has the priority label, this message must be sent with priority. Tasks with higher priorities are executed sooner.
`,14),p=[o];function c(l,i){return s(),a("div",null,p)}const u=n(t,[["render",c],["__file","broker.html.vue"]]),d=JSON.parse('{"path":"/extending-taskiq/broker.html","title":"Brokers","lang":"en-US","frontmatter":{"order":1,"description":"Brokers To add a new broker you need to implement two methods kick and listen of the taskiq.abc.broker.AsyncBroker abstract class. But along with them we have helper methods. Su...","head":[["meta",{"property":"og:url","content":"https://taskiq-python.github.io/extending-taskiq/broker.html"}],["meta",{"property":"og:site_name","content":"Taskiq"}],["meta",{"property":"og:title","content":"Brokers"}],["meta",{"property":"og:description","content":"Brokers To add a new broker you need to implement two methods kick and listen of the taskiq.abc.broker.AsyncBroker abstract class. But along with them we have helper methods. Su..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-04-26T20:07:59.000Z"}],["meta",{"property":"article:modified_time","content":"2024-04-26T20:07:59.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Brokers\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-04-26T20:07:59.000Z\\",\\"author\\":[]}"]]},"headers":[{"level":2,"title":"Acknowledgement","slug":"acknowledgement","link":"#acknowledgement","children":[]},{"level":2,"title":"Conventions","slug":"conventions","link":"#conventions","children":[]}],"git":{"createdTime":1714162079000,"updatedTime":1714162079000,"contributors":[{"name":"Pavel Kirilin","email":"win10@list.ru","commits":1}]},"filePathRelative":"extending-taskiq/broker.md","localizedDate":"April 26, 2024","autoDesc":true,"excerpt":"\\n

To add a new broker you need to implement two methods kick and listen of the taskiq.abc.broker.AsyncBroker abstract class.\\nBut along with them we have helper methods. Such as shutdown and startup.

\\n

Here is a template for new brokers:

\\n
from typing import AsyncGenerator, Union\\n\\nfrom taskiq import AckableMessage, AsyncBroker, BrokerMessage\\n\\n\\nclass MyBroker(AsyncBroker):\\n    def __init__(self) -> None:\\n        # Please call this super method to set default values to\\n        # many different fields.\\n        super().__init__()\\n\\n    async def startup(self) -> None:\\n        # Here you can do some startup magic.\\n        # Like opening a connection.\\n        return await super().startup()\\n\\n    async def shutdown(self) -> None:\\n        # Here you can perform shutdown operations.\\n        # Like closing connections.\\n        return await super().shutdown()\\n\\n    async def kick(self, message: BrokerMessage) -> None:\\n        # Send a message.message.\\n        pass\\n\\n    async def listen(self) -> AsyncGenerator[Union[bytes, AckableMessage], None]:\\n        while True:\\n            # Get new message.\\n            new_message: bytes = ...  # type: ignore\\n            # Yield it!\\n            yield new_message\\n
"}');export{u as comp,d as data}; diff --git a/assets/brokers.html-DZC2i-gd.js b/assets/brokers.html-D6pSjM9w.js similarity index 96% rename from assets/brokers.html-DZC2i-gd.js rename to assets/brokers.html-D6pSjM9w.js index d43db7f..3be8e37 100644 --- a/assets/brokers.html-DZC2i-gd.js +++ b/assets/brokers.html-D6pSjM9w.js @@ -1,4 +1,4 @@ -import{_ as d}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as c,o as p,c as u,b as e,d as s,e as r,w as a,a as i}from"./app-B0fd3cYb.js";const k={},h=i('

Available brokers

In this section we'll list officially supported brokers.

InMemoryBroker

This is a special broker for local development. It uses the same functions to execute tasks, but all tasks are executed locally in the current thread. By default it uses InMemoryResultBackend but this can be overridden.

ZeroMQBroker

',5),b={href:"https://zeromq.org/",target:"_blank",rel:"noopener noreferrer"},m=e("p",null,[s("It publishes messages on the local port. All worker processes are reading messages from this port. If you run many worker processes, all tasks will be executed "),e("code",null,"N"),s(" times, where "),e("code",null,"N"),s(" is the total number of worker processes.")],-1),v=e("div",{class:"hint-container caution"},[e("p",{class:"hint-container-title"},"Be careful!"),e("p",null,[s("If you choose this type of broker, please run taskiq with "),e("code",null,"-w 1"),s(" parameter, otherwise you may encounter undefined behavior.")])],-1),f={href:"https://pypi.org/project/pyzmq/",target:"_blank",rel:"noopener noreferrer"},y=e("code",null,"zmq",-1),_=e("div",{class:"language-bash line-numbers-mode","data-ext":"sh","data-title":"sh"},[e("pre",{class:"language-bash"},[e("code",null,[s("pip "),e("span",{class:"token function"},"install"),s(` pyzmq +import{_ as d}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as c,o as p,c as u,b as e,d as s,e as r,w as a,a as i}from"./app-jADuhdjP.js";const k={},h=i('

Available brokers

In this section we'll list officially supported brokers.

InMemoryBroker

This is a special broker for local development. It uses the same functions to execute tasks, but all tasks are executed locally in the current thread. By default it uses InMemoryResultBackend but this can be overridden.

ZeroMQBroker

',5),b={href:"https://zeromq.org/",target:"_blank",rel:"noopener noreferrer"},m=e("p",null,[s("It publishes messages on the local port. All worker processes are reading messages from this port. If you run many worker processes, all tasks will be executed "),e("code",null,"N"),s(" times, where "),e("code",null,"N"),s(" is the total number of worker processes.")],-1),v=e("div",{class:"hint-container caution"},[e("p",{class:"hint-container-title"},"Be careful!"),e("p",null,[s("If you choose this type of broker, please run taskiq with "),e("code",null,"-w 1"),s(" parameter, otherwise you may encounter undefined behavior.")])],-1),f={href:"https://pypi.org/project/pyzmq/",target:"_blank",rel:"noopener noreferrer"},y=e("code",null,"zmq",-1),_=e("div",{class:"language-bash line-numbers-mode","data-ext":"sh","data-title":"sh"},[e("pre",{class:"language-bash"},[e("code",null,[s("pip "),e("span",{class:"token function"},"install"),s(` pyzmq `)])]),e("div",{class:"line-numbers","aria-hidden":"true"},[e("div",{class:"line-number"})])],-1),g=e("div",{class:"language-bash line-numbers-mode","data-ext":"sh","data-title":"sh"},[e("pre",{class:"language-bash"},[e("code",null,[s("pip "),e("span",{class:"token function"},"install"),s(),e("span",{class:"token string"},'"taskiq[zmq]"'),s(` `)])]),e("div",{class:"line-numbers","aria-hidden":"true"},[e("div",{class:"line-number"})])],-1),q=i(`

Async shared broker and shared tasks

This is also a special broker. You cannot use it directly. It's used to create shared tasks. These tasks can be imported along with user defined tasks. To define a shared task please use this broker.

from taskiq.brokers.shared_broker import async_shared_broker
 
@@ -12,4 +12,4 @@ async_shared_broker`),e("span",{class:"token punctuation"},"."),s("default_broke
 `)])]),e("div",{class:"line-numbers","aria-hidden":"true"},[e("div",{class:"line-number"})])],-1),A=e("h2",{id:"custom-brokers",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#custom-brokers"},[e("span",null,"Custom brokers")])],-1),T=e("p",null,"These brokers are not parts of the core taskiq lib. You can install them as a separate packages.",-1),I=e("p",null,"You can read more about parameters and abilities of these brokers in README.md of each repo.",-1),M=e("h3",{id:"aiopikabroker-for-rabbitmq",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#aiopikabroker-for-rabbitmq"},[e("span",null,"AioPikaBroker (for RabbitMQ)")])],-1),B={href:"https://github.com/taskiq-python/taskiq-aio-pika",target:"_blank",rel:"noopener noreferrer"},z=i(`
pip install taskiq-aio-pika
 

Redis broker

`,2),Z={href:"https://github.com/taskiq-python/taskiq-redis",target:"_blank",rel:"noopener noreferrer"},N=i(`
pip install taskiq-redis
 

NATS broker

`,2),Q={href:"https://github.com/taskiq-python/taskiq-nats",target:"_blank",rel:"noopener noreferrer"},P=i(`
pip install taskiq-nats
-
`,1);function R(E,j){const o=c("ExternalLinkIcon"),l=c("Tabs");return p(),u("div",null,[h,e("p",null,[s("This broker uses "),e("a",b,[s("ZMQ"),r(o)]),s(" to communicate between worker and client processes. It's suitable for small projects with only ONE worker process, because of the ZMQ architecture.")]),m,v,e("p",null,[s("To run this broker please install the "),e("a",f,[s("pyzmq"),r(o)]),s(" lib. Or you can taskiq with "),y,s(" extra.")]),r(l,{id:"29",data:[{id:"Only PyZMQ"},{id:"Taskiq with ZMQ"}]},{title0:a(({value:t,isActive:n})=>[s("Only PyZMQ")]),title1:a(({value:t,isActive:n})=>[s("Taskiq with ZMQ")]),tab0:a(({value:t,isActive:n})=>[_]),tab1:a(({value:t,isActive:n})=>[g]),_:1}),q,r(l,{id:"59",data:[{id:"Defining default broker"},{id:"using kicker"}]},{title0:a(({value:t,isActive:n})=>[s("Defining default broker")]),title1:a(({value:t,isActive:n})=>[s("using kicker")]),tab0:a(({value:t,isActive:n})=>[x]),tab1:a(({value:t,isActive:n})=>[w]),_:1}),A,T,I,M,e("p",null,[s("Project link: "),e("a",B,[s("taskiq-aio-pika"),r(o)]),s(".")]),z,e("p",null,[s("Project link: "),e("a",Z,[s("taskiq-redis"),r(o)]),s(".")]),N,e("p",null,[s("Project link: "),e("a",Q,[s("taskiq-nats"),r(o)]),s(".")]),P])}const O=d(k,[["render",R],["__file","brokers.html.vue"]]),C=JSON.parse(`{"path":"/available-components/brokers.html","title":"Available brokers","lang":"en-US","frontmatter":{"order":2,"description":"Available brokers In this section we'll list officially supported brokers. InMemoryBroker This is a special broker for local development. It uses the same functions to execute t...","head":[["meta",{"property":"og:url","content":"https://taskiq-python.github.io/available-components/brokers.html"}],["meta",{"property":"og:site_name","content":"Taskiq"}],["meta",{"property":"og:title","content":"Available brokers"}],["meta",{"property":"og:description","content":"Available brokers In this section we'll list officially supported brokers. InMemoryBroker This is a special broker for local development. It uses the same functions to execute t..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-04-20T00:01:02.000Z"}],["meta",{"property":"article:modified_time","content":"2024-04-20T00:01:02.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Available brokers\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-04-20T00:01:02.000Z\\",\\"author\\":[]}"]]},"headers":[{"level":2,"title":"InMemoryBroker","slug":"inmemorybroker","link":"#inmemorybroker","children":[]},{"level":2,"title":"ZeroMQBroker","slug":"zeromqbroker","link":"#zeromqbroker","children":[]},{"level":2,"title":"Async shared broker and shared tasks","slug":"async-shared-broker-and-shared-tasks","link":"#async-shared-broker-and-shared-tasks","children":[]},{"level":2,"title":"Custom brokers","slug":"custom-brokers","link":"#custom-brokers","children":[{"level":3,"title":"AioPikaBroker (for RabbitMQ)","slug":"aiopikabroker-for-rabbitmq","link":"#aiopikabroker-for-rabbitmq","children":[]},{"level":3,"title":"Redis broker","slug":"redis-broker","link":"#redis-broker","children":[]},{"level":3,"title":"NATS broker","slug":"nats-broker","link":"#nats-broker","children":[]}]}],"git":{"createdTime":1713571262000,"updatedTime":1713571262000,"contributors":[{"name":"Pavel Kirilin","email":"win10@list.ru","commits":1}]},"filePathRelative":"available-components/brokers.md","localizedDate":"April 20, 2024","autoDesc":true,"excerpt":"\\n

In this section we'll list officially supported brokers.

\\n

InMemoryBroker

\\n

This is a special broker for local development. It uses the same functions to execute tasks,\\nbut all tasks are executed locally in the current thread.\\nBy default it uses InMemoryResultBackend but this can be overridden.

"}`);export{O as comp,C as data}; +
`,1);function R(E,j){const o=c("ExternalLinkIcon"),l=c("Tabs");return p(),u("div",null,[h,e("p",null,[s("This broker uses "),e("a",b,[s("ZMQ"),r(o)]),s(" to communicate between worker and client processes. It's suitable for small projects with only ONE worker process, because of the ZMQ architecture.")]),m,v,e("p",null,[s("To run this broker please install the "),e("a",f,[s("pyzmq"),r(o)]),s(" lib. Or you can taskiq with "),y,s(" extra.")]),r(l,{id:"29",data:[{id:"Only PyZMQ"},{id:"Taskiq with ZMQ"}]},{title0:a(({value:t,isActive:n})=>[s("Only PyZMQ")]),title1:a(({value:t,isActive:n})=>[s("Taskiq with ZMQ")]),tab0:a(({value:t,isActive:n})=>[_]),tab1:a(({value:t,isActive:n})=>[g]),_:1}),q,r(l,{id:"59",data:[{id:"Defining default broker"},{id:"using kicker"}]},{title0:a(({value:t,isActive:n})=>[s("Defining default broker")]),title1:a(({value:t,isActive:n})=>[s("using kicker")]),tab0:a(({value:t,isActive:n})=>[x]),tab1:a(({value:t,isActive:n})=>[w]),_:1}),A,T,I,M,e("p",null,[s("Project link: "),e("a",B,[s("taskiq-aio-pika"),r(o)]),s(".")]),z,e("p",null,[s("Project link: "),e("a",Z,[s("taskiq-redis"),r(o)]),s(".")]),N,e("p",null,[s("Project link: "),e("a",Q,[s("taskiq-nats"),r(o)]),s(".")]),P])}const O=d(k,[["render",R],["__file","brokers.html.vue"]]),C=JSON.parse(`{"path":"/available-components/brokers.html","title":"Available brokers","lang":"en-US","frontmatter":{"order":2,"description":"Available brokers In this section we'll list officially supported brokers. InMemoryBroker This is a special broker for local development. It uses the same functions to execute t...","head":[["meta",{"property":"og:url","content":"https://taskiq-python.github.io/available-components/brokers.html"}],["meta",{"property":"og:site_name","content":"Taskiq"}],["meta",{"property":"og:title","content":"Available brokers"}],["meta",{"property":"og:description","content":"Available brokers In this section we'll list officially supported brokers. InMemoryBroker This is a special broker for local development. It uses the same functions to execute t..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-04-26T20:07:59.000Z"}],["meta",{"property":"article:modified_time","content":"2024-04-26T20:07:59.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Available brokers\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-04-26T20:07:59.000Z\\",\\"author\\":[]}"]]},"headers":[{"level":2,"title":"InMemoryBroker","slug":"inmemorybroker","link":"#inmemorybroker","children":[]},{"level":2,"title":"ZeroMQBroker","slug":"zeromqbroker","link":"#zeromqbroker","children":[]},{"level":2,"title":"Async shared broker and shared tasks","slug":"async-shared-broker-and-shared-tasks","link":"#async-shared-broker-and-shared-tasks","children":[]},{"level":2,"title":"Custom brokers","slug":"custom-brokers","link":"#custom-brokers","children":[{"level":3,"title":"AioPikaBroker (for RabbitMQ)","slug":"aiopikabroker-for-rabbitmq","link":"#aiopikabroker-for-rabbitmq","children":[]},{"level":3,"title":"Redis broker","slug":"redis-broker","link":"#redis-broker","children":[]},{"level":3,"title":"NATS broker","slug":"nats-broker","link":"#nats-broker","children":[]}]}],"git":{"createdTime":1714162079000,"updatedTime":1714162079000,"contributors":[{"name":"Pavel Kirilin","email":"win10@list.ru","commits":1}]},"filePathRelative":"available-components/brokers.md","localizedDate":"April 26, 2024","autoDesc":true,"excerpt":"\\n

In this section we'll list officially supported brokers.

\\n

InMemoryBroker

\\n

This is a special broker for local development. It uses the same functions to execute tasks,\\nbut all tasks are executed locally in the current thread.\\nBy default it uses InMemoryResultBackend but this can be overridden.

"}`);export{O as comp,C as data}; diff --git a/assets/c4Diagram-b2a90758-DKKdvQ2k.js b/assets/c4Diagram-b2a90758-CahBlEC7.js similarity index 99% rename from assets/c4Diagram-b2a90758-DKKdvQ2k.js rename to assets/c4Diagram-b2a90758-CahBlEC7.js index 734eae6..9fba482 100644 --- a/assets/c4Diagram-b2a90758-DKKdvQ2k.js +++ b/assets/c4Diagram-b2a90758-CahBlEC7.js @@ -1,4 +1,4 @@ -import{s as we,g as Oe,a as Te,b as Re,c as Dt,d as ue,e as De,f as wt,h as Nt,l as le,i as Se,w as Pe,j as Kt,k as oe,m as Me}from"./mermaid.core-DtSoU78u.js";import{d as Le,g as Ne}from"./svgDrawCommon-5ccd53ef-BJyTLJKe.js";import"./app-B0fd3cYb.js";var Yt=function(){var e=function(bt,_,x,m){for(x=x||{},m=bt.length;m--;x[bt[m]]=_);return x},t=[1,24],a=[1,25],o=[1,26],l=[1,27],i=[1,28],s=[1,63],r=[1,64],n=[1,65],h=[1,66],f=[1,67],d=[1,68],p=[1,69],E=[1,29],O=[1,30],R=[1,31],S=[1,32],L=[1,33],Y=[1,34],Q=[1,35],H=[1,36],q=[1,37],G=[1,38],K=[1,39],J=[1,40],Z=[1,41],$=[1,42],tt=[1,43],et=[1,44],it=[1,45],nt=[1,46],st=[1,47],at=[1,48],rt=[1,50],lt=[1,51],ot=[1,52],ct=[1,53],ht=[1,54],ut=[1,55],dt=[1,56],ft=[1,57],pt=[1,58],yt=[1,59],gt=[1,60],At=[14,42],Vt=[14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],Ot=[12,14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],v=[1,82],k=[1,83],A=[1,84],C=[1,85],w=[12,14,42],ne=[12,14,33,42],Pt=[12,14,33,42,76,77,79,80],mt=[12,33],zt=[34,36,37,38,39,40,41,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],Xt={trace:function(){},yy:{},symbols_:{error:2,start:3,mermaidDoc:4,direction:5,direction_tb:6,direction_bt:7,direction_rl:8,direction_lr:9,graphConfig:10,C4_CONTEXT:11,NEWLINE:12,statements:13,EOF:14,C4_CONTAINER:15,C4_COMPONENT:16,C4_DYNAMIC:17,C4_DEPLOYMENT:18,otherStatements:19,diagramStatements:20,otherStatement:21,title:22,accDescription:23,acc_title:24,acc_title_value:25,acc_descr:26,acc_descr_value:27,acc_descr_multiline_value:28,boundaryStatement:29,boundaryStartStatement:30,boundaryStopStatement:31,boundaryStart:32,LBRACE:33,ENTERPRISE_BOUNDARY:34,attributes:35,SYSTEM_BOUNDARY:36,BOUNDARY:37,CONTAINER_BOUNDARY:38,NODE:39,NODE_L:40,NODE_R:41,RBRACE:42,diagramStatement:43,PERSON:44,PERSON_EXT:45,SYSTEM:46,SYSTEM_DB:47,SYSTEM_QUEUE:48,SYSTEM_EXT:49,SYSTEM_EXT_DB:50,SYSTEM_EXT_QUEUE:51,CONTAINER:52,CONTAINER_DB:53,CONTAINER_QUEUE:54,CONTAINER_EXT:55,CONTAINER_EXT_DB:56,CONTAINER_EXT_QUEUE:57,COMPONENT:58,COMPONENT_DB:59,COMPONENT_QUEUE:60,COMPONENT_EXT:61,COMPONENT_EXT_DB:62,COMPONENT_EXT_QUEUE:63,REL:64,BIREL:65,REL_U:66,REL_D:67,REL_L:68,REL_R:69,REL_B:70,REL_INDEX:71,UPDATE_EL_STYLE:72,UPDATE_REL_STYLE:73,UPDATE_LAYOUT_CONFIG:74,attribute:75,STR:76,STR_KEY:77,STR_VALUE:78,ATTRIBUTE:79,ATTRIBUTE_EMPTY:80,$accept:0,$end:1},terminals_:{2:"error",6:"direction_tb",7:"direction_bt",8:"direction_rl",9:"direction_lr",11:"C4_CONTEXT",12:"NEWLINE",14:"EOF",15:"C4_CONTAINER",16:"C4_COMPONENT",17:"C4_DYNAMIC",18:"C4_DEPLOYMENT",22:"title",23:"accDescription",24:"acc_title",25:"acc_title_value",26:"acc_descr",27:"acc_descr_value",28:"acc_descr_multiline_value",33:"LBRACE",34:"ENTERPRISE_BOUNDARY",36:"SYSTEM_BOUNDARY",37:"BOUNDARY",38:"CONTAINER_BOUNDARY",39:"NODE",40:"NODE_L",41:"NODE_R",42:"RBRACE",44:"PERSON",45:"PERSON_EXT",46:"SYSTEM",47:"SYSTEM_DB",48:"SYSTEM_QUEUE",49:"SYSTEM_EXT",50:"SYSTEM_EXT_DB",51:"SYSTEM_EXT_QUEUE",52:"CONTAINER",53:"CONTAINER_DB",54:"CONTAINER_QUEUE",55:"CONTAINER_EXT",56:"CONTAINER_EXT_DB",57:"CONTAINER_EXT_QUEUE",58:"COMPONENT",59:"COMPONENT_DB",60:"COMPONENT_QUEUE",61:"COMPONENT_EXT",62:"COMPONENT_EXT_DB",63:"COMPONENT_EXT_QUEUE",64:"REL",65:"BIREL",66:"REL_U",67:"REL_D",68:"REL_L",69:"REL_R",70:"REL_B",71:"REL_INDEX",72:"UPDATE_EL_STYLE",73:"UPDATE_REL_STYLE",74:"UPDATE_LAYOUT_CONFIG",76:"STR",77:"STR_KEY",78:"STR_VALUE",79:"ATTRIBUTE",80:"ATTRIBUTE_EMPTY"},productions_:[0,[3,1],[3,1],[5,1],[5,1],[5,1],[5,1],[4,1],[10,4],[10,4],[10,4],[10,4],[10,4],[13,1],[13,1],[13,2],[19,1],[19,2],[19,3],[21,1],[21,1],[21,2],[21,2],[21,1],[29,3],[30,3],[30,3],[30,4],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[31,1],[20,1],[20,2],[20,3],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,1],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[35,1],[35,2],[75,1],[75,2],[75,1],[75,1]],performAction:function(_,x,m,g,T,u,Tt){var y=u.length-1;switch(T){case 3:g.setDirection("TB");break;case 4:g.setDirection("BT");break;case 5:g.setDirection("RL");break;case 6:g.setDirection("LR");break;case 8:case 9:case 10:case 11:case 12:g.setC4Type(u[y-3]);break;case 19:g.setTitle(u[y].substring(6)),this.$=u[y].substring(6);break;case 20:g.setAccDescription(u[y].substring(15)),this.$=u[y].substring(15);break;case 21:this.$=u[y].trim(),g.setTitle(this.$);break;case 22:case 23:this.$=u[y].trim(),g.setAccDescription(this.$);break;case 28:case 29:u[y].splice(2,0,"ENTERPRISE"),g.addPersonOrSystemBoundary(...u[y]),this.$=u[y];break;case 30:g.addPersonOrSystemBoundary(...u[y]),this.$=u[y];break;case 31:u[y].splice(2,0,"CONTAINER"),g.addContainerBoundary(...u[y]),this.$=u[y];break;case 32:g.addDeploymentNode("node",...u[y]),this.$=u[y];break;case 33:g.addDeploymentNode("nodeL",...u[y]),this.$=u[y];break;case 34:g.addDeploymentNode("nodeR",...u[y]),this.$=u[y];break;case 35:g.popBoundaryParseStack();break;case 39:g.addPersonOrSystem("person",...u[y]),this.$=u[y];break;case 40:g.addPersonOrSystem("external_person",...u[y]),this.$=u[y];break;case 41:g.addPersonOrSystem("system",...u[y]),this.$=u[y];break;case 42:g.addPersonOrSystem("system_db",...u[y]),this.$=u[y];break;case 43:g.addPersonOrSystem("system_queue",...u[y]),this.$=u[y];break;case 44:g.addPersonOrSystem("external_system",...u[y]),this.$=u[y];break;case 45:g.addPersonOrSystem("external_system_db",...u[y]),this.$=u[y];break;case 46:g.addPersonOrSystem("external_system_queue",...u[y]),this.$=u[y];break;case 47:g.addContainer("container",...u[y]),this.$=u[y];break;case 48:g.addContainer("container_db",...u[y]),this.$=u[y];break;case 49:g.addContainer("container_queue",...u[y]),this.$=u[y];break;case 50:g.addContainer("external_container",...u[y]),this.$=u[y];break;case 51:g.addContainer("external_container_db",...u[y]),this.$=u[y];break;case 52:g.addContainer("external_container_queue",...u[y]),this.$=u[y];break;case 53:g.addComponent("component",...u[y]),this.$=u[y];break;case 54:g.addComponent("component_db",...u[y]),this.$=u[y];break;case 55:g.addComponent("component_queue",...u[y]),this.$=u[y];break;case 56:g.addComponent("external_component",...u[y]),this.$=u[y];break;case 57:g.addComponent("external_component_db",...u[y]),this.$=u[y];break;case 58:g.addComponent("external_component_queue",...u[y]),this.$=u[y];break;case 60:g.addRel("rel",...u[y]),this.$=u[y];break;case 61:g.addRel("birel",...u[y]),this.$=u[y];break;case 62:g.addRel("rel_u",...u[y]),this.$=u[y];break;case 63:g.addRel("rel_d",...u[y]),this.$=u[y];break;case 64:g.addRel("rel_l",...u[y]),this.$=u[y];break;case 65:g.addRel("rel_r",...u[y]),this.$=u[y];break;case 66:g.addRel("rel_b",...u[y]),this.$=u[y];break;case 67:u[y].splice(0,1),g.addRel("rel",...u[y]),this.$=u[y];break;case 68:g.updateElStyle("update_el_style",...u[y]),this.$=u[y];break;case 69:g.updateRelStyle("update_rel_style",...u[y]),this.$=u[y];break;case 70:g.updateLayoutConfig("update_layout_config",...u[y]),this.$=u[y];break;case 71:this.$=[u[y]];break;case 72:u[y].unshift(u[y-1]),this.$=u[y];break;case 73:case 75:this.$=u[y].trim();break;case 74:let Et={};Et[u[y-1].trim()]=u[y].trim(),this.$=Et;break;case 76:this.$="";break}},table:[{3:1,4:2,5:3,6:[1,5],7:[1,6],8:[1,7],9:[1,8],10:4,11:[1,9],15:[1,10],16:[1,11],17:[1,12],18:[1,13]},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,7]},{1:[2,3]},{1:[2,4]},{1:[2,5]},{1:[2,6]},{12:[1,14]},{12:[1,15]},{12:[1,16]},{12:[1,17]},{12:[1,18]},{13:19,19:20,20:21,21:22,22:t,23:a,24:o,26:l,28:i,29:49,30:61,32:62,34:s,36:r,37:n,38:h,39:f,40:d,41:p,43:23,44:E,45:O,46:R,47:S,48:L,49:Y,50:Q,51:H,52:q,53:G,54:K,55:J,56:Z,57:$,58:tt,59:et,60:it,61:nt,62:st,63:at,64:rt,65:lt,66:ot,67:ct,68:ht,69:ut,70:dt,71:ft,72:pt,73:yt,74:gt},{13:70,19:20,20:21,21:22,22:t,23:a,24:o,26:l,28:i,29:49,30:61,32:62,34:s,36:r,37:n,38:h,39:f,40:d,41:p,43:23,44:E,45:O,46:R,47:S,48:L,49:Y,50:Q,51:H,52:q,53:G,54:K,55:J,56:Z,57:$,58:tt,59:et,60:it,61:nt,62:st,63:at,64:rt,65:lt,66:ot,67:ct,68:ht,69:ut,70:dt,71:ft,72:pt,73:yt,74:gt},{13:71,19:20,20:21,21:22,22:t,23:a,24:o,26:l,28:i,29:49,30:61,32:62,34:s,36:r,37:n,38:h,39:f,40:d,41:p,43:23,44:E,45:O,46:R,47:S,48:L,49:Y,50:Q,51:H,52:q,53:G,54:K,55:J,56:Z,57:$,58:tt,59:et,60:it,61:nt,62:st,63:at,64:rt,65:lt,66:ot,67:ct,68:ht,69:ut,70:dt,71:ft,72:pt,73:yt,74:gt},{13:72,19:20,20:21,21:22,22:t,23:a,24:o,26:l,28:i,29:49,30:61,32:62,34:s,36:r,37:n,38:h,39:f,40:d,41:p,43:23,44:E,45:O,46:R,47:S,48:L,49:Y,50:Q,51:H,52:q,53:G,54:K,55:J,56:Z,57:$,58:tt,59:et,60:it,61:nt,62:st,63:at,64:rt,65:lt,66:ot,67:ct,68:ht,69:ut,70:dt,71:ft,72:pt,73:yt,74:gt},{13:73,19:20,20:21,21:22,22:t,23:a,24:o,26:l,28:i,29:49,30:61,32:62,34:s,36:r,37:n,38:h,39:f,40:d,41:p,43:23,44:E,45:O,46:R,47:S,48:L,49:Y,50:Q,51:H,52:q,53:G,54:K,55:J,56:Z,57:$,58:tt,59:et,60:it,61:nt,62:st,63:at,64:rt,65:lt,66:ot,67:ct,68:ht,69:ut,70:dt,71:ft,72:pt,73:yt,74:gt},{14:[1,74]},e(At,[2,13],{43:23,29:49,30:61,32:62,20:75,34:s,36:r,37:n,38:h,39:f,40:d,41:p,44:E,45:O,46:R,47:S,48:L,49:Y,50:Q,51:H,52:q,53:G,54:K,55:J,56:Z,57:$,58:tt,59:et,60:it,61:nt,62:st,63:at,64:rt,65:lt,66:ot,67:ct,68:ht,69:ut,70:dt,71:ft,72:pt,73:yt,74:gt}),e(At,[2,14]),e(Vt,[2,16],{12:[1,76]}),e(At,[2,36],{12:[1,77]}),e(Ot,[2,19]),e(Ot,[2,20]),{25:[1,78]},{27:[1,79]},e(Ot,[2,23]),{35:80,75:81,76:v,77:k,79:A,80:C},{35:86,75:81,76:v,77:k,79:A,80:C},{35:87,75:81,76:v,77:k,79:A,80:C},{35:88,75:81,76:v,77:k,79:A,80:C},{35:89,75:81,76:v,77:k,79:A,80:C},{35:90,75:81,76:v,77:k,79:A,80:C},{35:91,75:81,76:v,77:k,79:A,80:C},{35:92,75:81,76:v,77:k,79:A,80:C},{35:93,75:81,76:v,77:k,79:A,80:C},{35:94,75:81,76:v,77:k,79:A,80:C},{35:95,75:81,76:v,77:k,79:A,80:C},{35:96,75:81,76:v,77:k,79:A,80:C},{35:97,75:81,76:v,77:k,79:A,80:C},{35:98,75:81,76:v,77:k,79:A,80:C},{35:99,75:81,76:v,77:k,79:A,80:C},{35:100,75:81,76:v,77:k,79:A,80:C},{35:101,75:81,76:v,77:k,79:A,80:C},{35:102,75:81,76:v,77:k,79:A,80:C},{35:103,75:81,76:v,77:k,79:A,80:C},{35:104,75:81,76:v,77:k,79:A,80:C},e(w,[2,59]),{35:105,75:81,76:v,77:k,79:A,80:C},{35:106,75:81,76:v,77:k,79:A,80:C},{35:107,75:81,76:v,77:k,79:A,80:C},{35:108,75:81,76:v,77:k,79:A,80:C},{35:109,75:81,76:v,77:k,79:A,80:C},{35:110,75:81,76:v,77:k,79:A,80:C},{35:111,75:81,76:v,77:k,79:A,80:C},{35:112,75:81,76:v,77:k,79:A,80:C},{35:113,75:81,76:v,77:k,79:A,80:C},{35:114,75:81,76:v,77:k,79:A,80:C},{35:115,75:81,76:v,77:k,79:A,80:C},{20:116,29:49,30:61,32:62,34:s,36:r,37:n,38:h,39:f,40:d,41:p,43:23,44:E,45:O,46:R,47:S,48:L,49:Y,50:Q,51:H,52:q,53:G,54:K,55:J,56:Z,57:$,58:tt,59:et,60:it,61:nt,62:st,63:at,64:rt,65:lt,66:ot,67:ct,68:ht,69:ut,70:dt,71:ft,72:pt,73:yt,74:gt},{12:[1,118],33:[1,117]},{35:119,75:81,76:v,77:k,79:A,80:C},{35:120,75:81,76:v,77:k,79:A,80:C},{35:121,75:81,76:v,77:k,79:A,80:C},{35:122,75:81,76:v,77:k,79:A,80:C},{35:123,75:81,76:v,77:k,79:A,80:C},{35:124,75:81,76:v,77:k,79:A,80:C},{35:125,75:81,76:v,77:k,79:A,80:C},{14:[1,126]},{14:[1,127]},{14:[1,128]},{14:[1,129]},{1:[2,8]},e(At,[2,15]),e(Vt,[2,17],{21:22,19:130,22:t,23:a,24:o,26:l,28:i}),e(At,[2,37],{19:20,20:21,21:22,43:23,29:49,30:61,32:62,13:131,22:t,23:a,24:o,26:l,28:i,34:s,36:r,37:n,38:h,39:f,40:d,41:p,44:E,45:O,46:R,47:S,48:L,49:Y,50:Q,51:H,52:q,53:G,54:K,55:J,56:Z,57:$,58:tt,59:et,60:it,61:nt,62:st,63:at,64:rt,65:lt,66:ot,67:ct,68:ht,69:ut,70:dt,71:ft,72:pt,73:yt,74:gt}),e(Ot,[2,21]),e(Ot,[2,22]),e(w,[2,39]),e(ne,[2,71],{75:81,35:132,76:v,77:k,79:A,80:C}),e(Pt,[2,73]),{78:[1,133]},e(Pt,[2,75]),e(Pt,[2,76]),e(w,[2,40]),e(w,[2,41]),e(w,[2,42]),e(w,[2,43]),e(w,[2,44]),e(w,[2,45]),e(w,[2,46]),e(w,[2,47]),e(w,[2,48]),e(w,[2,49]),e(w,[2,50]),e(w,[2,51]),e(w,[2,52]),e(w,[2,53]),e(w,[2,54]),e(w,[2,55]),e(w,[2,56]),e(w,[2,57]),e(w,[2,58]),e(w,[2,60]),e(w,[2,61]),e(w,[2,62]),e(w,[2,63]),e(w,[2,64]),e(w,[2,65]),e(w,[2,66]),e(w,[2,67]),e(w,[2,68]),e(w,[2,69]),e(w,[2,70]),{31:134,42:[1,135]},{12:[1,136]},{33:[1,137]},e(mt,[2,28]),e(mt,[2,29]),e(mt,[2,30]),e(mt,[2,31]),e(mt,[2,32]),e(mt,[2,33]),e(mt,[2,34]),{1:[2,9]},{1:[2,10]},{1:[2,11]},{1:[2,12]},e(Vt,[2,18]),e(At,[2,38]),e(ne,[2,72]),e(Pt,[2,74]),e(w,[2,24]),e(w,[2,35]),e(zt,[2,25]),e(zt,[2,26],{12:[1,138]}),e(zt,[2,27])],defaultActions:{2:[2,1],3:[2,2],4:[2,7],5:[2,3],6:[2,4],7:[2,5],8:[2,6],74:[2,8],126:[2,9],127:[2,10],128:[2,11],129:[2,12]},parseError:function(_,x){if(x.recoverable)this.trace(_);else{var m=new Error(_);throw m.hash=x,m}},parse:function(_){var x=this,m=[0],g=[],T=[null],u=[],Tt=this.table,y="",Et=0,se=0,ve=2,ae=1,ke=u.slice.call(arguments,1),D=Object.create(this.lexer),vt={yy:{}};for(var Qt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Qt)&&(vt.yy[Qt]=this.yy[Qt]);D.setInput(_,vt.yy),vt.yy.lexer=D,vt.yy.parser=this,typeof D.yylloc>"u"&&(D.yylloc={});var Ht=D.yylloc;u.push(Ht);var Ae=D.options&&D.options.ranges;typeof vt.yy.parseError=="function"?this.parseError=vt.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Ce(){var X;return X=g.pop()||D.lex()||ae,typeof X!="number"&&(X instanceof Array&&(g=X,X=g.pop()),X=x.symbols_[X]||X),X}for(var M,kt,N,qt,Ct={},Mt,z,re,Lt;;){if(kt=m[m.length-1],this.defaultActions[kt]?N=this.defaultActions[kt]:((M===null||typeof M>"u")&&(M=Ce()),N=Tt[kt]&&Tt[kt][M]),typeof N>"u"||!N.length||!N[0]){var Gt="";Lt=[];for(Mt in Tt[kt])this.terminals_[Mt]&&Mt>ve&&Lt.push("'"+this.terminals_[Mt]+"'");D.showPosition?Gt="Parse error on line "+(Et+1)+`: +import{s as we,g as Oe,a as Te,b as Re,c as Dt,d as ue,e as De,f as wt,h as Nt,l as le,i as Se,w as Pe,j as Kt,k as oe,m as Me}from"./mermaid.core-C-ipfzeP.js";import{d as Le,g as Ne}from"./svgDrawCommon-5ccd53ef-Cvg07plX.js";import"./app-jADuhdjP.js";var Yt=function(){var e=function(bt,_,x,m){for(x=x||{},m=bt.length;m--;x[bt[m]]=_);return x},t=[1,24],a=[1,25],o=[1,26],l=[1,27],i=[1,28],s=[1,63],r=[1,64],n=[1,65],h=[1,66],f=[1,67],d=[1,68],p=[1,69],E=[1,29],O=[1,30],R=[1,31],S=[1,32],L=[1,33],Y=[1,34],Q=[1,35],H=[1,36],q=[1,37],G=[1,38],K=[1,39],J=[1,40],Z=[1,41],$=[1,42],tt=[1,43],et=[1,44],it=[1,45],nt=[1,46],st=[1,47],at=[1,48],rt=[1,50],lt=[1,51],ot=[1,52],ct=[1,53],ht=[1,54],ut=[1,55],dt=[1,56],ft=[1,57],pt=[1,58],yt=[1,59],gt=[1,60],At=[14,42],Vt=[14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],Ot=[12,14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],v=[1,82],k=[1,83],A=[1,84],C=[1,85],w=[12,14,42],ne=[12,14,33,42],Pt=[12,14,33,42,76,77,79,80],mt=[12,33],zt=[34,36,37,38,39,40,41,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],Xt={trace:function(){},yy:{},symbols_:{error:2,start:3,mermaidDoc:4,direction:5,direction_tb:6,direction_bt:7,direction_rl:8,direction_lr:9,graphConfig:10,C4_CONTEXT:11,NEWLINE:12,statements:13,EOF:14,C4_CONTAINER:15,C4_COMPONENT:16,C4_DYNAMIC:17,C4_DEPLOYMENT:18,otherStatements:19,diagramStatements:20,otherStatement:21,title:22,accDescription:23,acc_title:24,acc_title_value:25,acc_descr:26,acc_descr_value:27,acc_descr_multiline_value:28,boundaryStatement:29,boundaryStartStatement:30,boundaryStopStatement:31,boundaryStart:32,LBRACE:33,ENTERPRISE_BOUNDARY:34,attributes:35,SYSTEM_BOUNDARY:36,BOUNDARY:37,CONTAINER_BOUNDARY:38,NODE:39,NODE_L:40,NODE_R:41,RBRACE:42,diagramStatement:43,PERSON:44,PERSON_EXT:45,SYSTEM:46,SYSTEM_DB:47,SYSTEM_QUEUE:48,SYSTEM_EXT:49,SYSTEM_EXT_DB:50,SYSTEM_EXT_QUEUE:51,CONTAINER:52,CONTAINER_DB:53,CONTAINER_QUEUE:54,CONTAINER_EXT:55,CONTAINER_EXT_DB:56,CONTAINER_EXT_QUEUE:57,COMPONENT:58,COMPONENT_DB:59,COMPONENT_QUEUE:60,COMPONENT_EXT:61,COMPONENT_EXT_DB:62,COMPONENT_EXT_QUEUE:63,REL:64,BIREL:65,REL_U:66,REL_D:67,REL_L:68,REL_R:69,REL_B:70,REL_INDEX:71,UPDATE_EL_STYLE:72,UPDATE_REL_STYLE:73,UPDATE_LAYOUT_CONFIG:74,attribute:75,STR:76,STR_KEY:77,STR_VALUE:78,ATTRIBUTE:79,ATTRIBUTE_EMPTY:80,$accept:0,$end:1},terminals_:{2:"error",6:"direction_tb",7:"direction_bt",8:"direction_rl",9:"direction_lr",11:"C4_CONTEXT",12:"NEWLINE",14:"EOF",15:"C4_CONTAINER",16:"C4_COMPONENT",17:"C4_DYNAMIC",18:"C4_DEPLOYMENT",22:"title",23:"accDescription",24:"acc_title",25:"acc_title_value",26:"acc_descr",27:"acc_descr_value",28:"acc_descr_multiline_value",33:"LBRACE",34:"ENTERPRISE_BOUNDARY",36:"SYSTEM_BOUNDARY",37:"BOUNDARY",38:"CONTAINER_BOUNDARY",39:"NODE",40:"NODE_L",41:"NODE_R",42:"RBRACE",44:"PERSON",45:"PERSON_EXT",46:"SYSTEM",47:"SYSTEM_DB",48:"SYSTEM_QUEUE",49:"SYSTEM_EXT",50:"SYSTEM_EXT_DB",51:"SYSTEM_EXT_QUEUE",52:"CONTAINER",53:"CONTAINER_DB",54:"CONTAINER_QUEUE",55:"CONTAINER_EXT",56:"CONTAINER_EXT_DB",57:"CONTAINER_EXT_QUEUE",58:"COMPONENT",59:"COMPONENT_DB",60:"COMPONENT_QUEUE",61:"COMPONENT_EXT",62:"COMPONENT_EXT_DB",63:"COMPONENT_EXT_QUEUE",64:"REL",65:"BIREL",66:"REL_U",67:"REL_D",68:"REL_L",69:"REL_R",70:"REL_B",71:"REL_INDEX",72:"UPDATE_EL_STYLE",73:"UPDATE_REL_STYLE",74:"UPDATE_LAYOUT_CONFIG",76:"STR",77:"STR_KEY",78:"STR_VALUE",79:"ATTRIBUTE",80:"ATTRIBUTE_EMPTY"},productions_:[0,[3,1],[3,1],[5,1],[5,1],[5,1],[5,1],[4,1],[10,4],[10,4],[10,4],[10,4],[10,4],[13,1],[13,1],[13,2],[19,1],[19,2],[19,3],[21,1],[21,1],[21,2],[21,2],[21,1],[29,3],[30,3],[30,3],[30,4],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[31,1],[20,1],[20,2],[20,3],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,1],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[35,1],[35,2],[75,1],[75,2],[75,1],[75,1]],performAction:function(_,x,m,g,T,u,Tt){var y=u.length-1;switch(T){case 3:g.setDirection("TB");break;case 4:g.setDirection("BT");break;case 5:g.setDirection("RL");break;case 6:g.setDirection("LR");break;case 8:case 9:case 10:case 11:case 12:g.setC4Type(u[y-3]);break;case 19:g.setTitle(u[y].substring(6)),this.$=u[y].substring(6);break;case 20:g.setAccDescription(u[y].substring(15)),this.$=u[y].substring(15);break;case 21:this.$=u[y].trim(),g.setTitle(this.$);break;case 22:case 23:this.$=u[y].trim(),g.setAccDescription(this.$);break;case 28:case 29:u[y].splice(2,0,"ENTERPRISE"),g.addPersonOrSystemBoundary(...u[y]),this.$=u[y];break;case 30:g.addPersonOrSystemBoundary(...u[y]),this.$=u[y];break;case 31:u[y].splice(2,0,"CONTAINER"),g.addContainerBoundary(...u[y]),this.$=u[y];break;case 32:g.addDeploymentNode("node",...u[y]),this.$=u[y];break;case 33:g.addDeploymentNode("nodeL",...u[y]),this.$=u[y];break;case 34:g.addDeploymentNode("nodeR",...u[y]),this.$=u[y];break;case 35:g.popBoundaryParseStack();break;case 39:g.addPersonOrSystem("person",...u[y]),this.$=u[y];break;case 40:g.addPersonOrSystem("external_person",...u[y]),this.$=u[y];break;case 41:g.addPersonOrSystem("system",...u[y]),this.$=u[y];break;case 42:g.addPersonOrSystem("system_db",...u[y]),this.$=u[y];break;case 43:g.addPersonOrSystem("system_queue",...u[y]),this.$=u[y];break;case 44:g.addPersonOrSystem("external_system",...u[y]),this.$=u[y];break;case 45:g.addPersonOrSystem("external_system_db",...u[y]),this.$=u[y];break;case 46:g.addPersonOrSystem("external_system_queue",...u[y]),this.$=u[y];break;case 47:g.addContainer("container",...u[y]),this.$=u[y];break;case 48:g.addContainer("container_db",...u[y]),this.$=u[y];break;case 49:g.addContainer("container_queue",...u[y]),this.$=u[y];break;case 50:g.addContainer("external_container",...u[y]),this.$=u[y];break;case 51:g.addContainer("external_container_db",...u[y]),this.$=u[y];break;case 52:g.addContainer("external_container_queue",...u[y]),this.$=u[y];break;case 53:g.addComponent("component",...u[y]),this.$=u[y];break;case 54:g.addComponent("component_db",...u[y]),this.$=u[y];break;case 55:g.addComponent("component_queue",...u[y]),this.$=u[y];break;case 56:g.addComponent("external_component",...u[y]),this.$=u[y];break;case 57:g.addComponent("external_component_db",...u[y]),this.$=u[y];break;case 58:g.addComponent("external_component_queue",...u[y]),this.$=u[y];break;case 60:g.addRel("rel",...u[y]),this.$=u[y];break;case 61:g.addRel("birel",...u[y]),this.$=u[y];break;case 62:g.addRel("rel_u",...u[y]),this.$=u[y];break;case 63:g.addRel("rel_d",...u[y]),this.$=u[y];break;case 64:g.addRel("rel_l",...u[y]),this.$=u[y];break;case 65:g.addRel("rel_r",...u[y]),this.$=u[y];break;case 66:g.addRel("rel_b",...u[y]),this.$=u[y];break;case 67:u[y].splice(0,1),g.addRel("rel",...u[y]),this.$=u[y];break;case 68:g.updateElStyle("update_el_style",...u[y]),this.$=u[y];break;case 69:g.updateRelStyle("update_rel_style",...u[y]),this.$=u[y];break;case 70:g.updateLayoutConfig("update_layout_config",...u[y]),this.$=u[y];break;case 71:this.$=[u[y]];break;case 72:u[y].unshift(u[y-1]),this.$=u[y];break;case 73:case 75:this.$=u[y].trim();break;case 74:let Et={};Et[u[y-1].trim()]=u[y].trim(),this.$=Et;break;case 76:this.$="";break}},table:[{3:1,4:2,5:3,6:[1,5],7:[1,6],8:[1,7],9:[1,8],10:4,11:[1,9],15:[1,10],16:[1,11],17:[1,12],18:[1,13]},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,7]},{1:[2,3]},{1:[2,4]},{1:[2,5]},{1:[2,6]},{12:[1,14]},{12:[1,15]},{12:[1,16]},{12:[1,17]},{12:[1,18]},{13:19,19:20,20:21,21:22,22:t,23:a,24:o,26:l,28:i,29:49,30:61,32:62,34:s,36:r,37:n,38:h,39:f,40:d,41:p,43:23,44:E,45:O,46:R,47:S,48:L,49:Y,50:Q,51:H,52:q,53:G,54:K,55:J,56:Z,57:$,58:tt,59:et,60:it,61:nt,62:st,63:at,64:rt,65:lt,66:ot,67:ct,68:ht,69:ut,70:dt,71:ft,72:pt,73:yt,74:gt},{13:70,19:20,20:21,21:22,22:t,23:a,24:o,26:l,28:i,29:49,30:61,32:62,34:s,36:r,37:n,38:h,39:f,40:d,41:p,43:23,44:E,45:O,46:R,47:S,48:L,49:Y,50:Q,51:H,52:q,53:G,54:K,55:J,56:Z,57:$,58:tt,59:et,60:it,61:nt,62:st,63:at,64:rt,65:lt,66:ot,67:ct,68:ht,69:ut,70:dt,71:ft,72:pt,73:yt,74:gt},{13:71,19:20,20:21,21:22,22:t,23:a,24:o,26:l,28:i,29:49,30:61,32:62,34:s,36:r,37:n,38:h,39:f,40:d,41:p,43:23,44:E,45:O,46:R,47:S,48:L,49:Y,50:Q,51:H,52:q,53:G,54:K,55:J,56:Z,57:$,58:tt,59:et,60:it,61:nt,62:st,63:at,64:rt,65:lt,66:ot,67:ct,68:ht,69:ut,70:dt,71:ft,72:pt,73:yt,74:gt},{13:72,19:20,20:21,21:22,22:t,23:a,24:o,26:l,28:i,29:49,30:61,32:62,34:s,36:r,37:n,38:h,39:f,40:d,41:p,43:23,44:E,45:O,46:R,47:S,48:L,49:Y,50:Q,51:H,52:q,53:G,54:K,55:J,56:Z,57:$,58:tt,59:et,60:it,61:nt,62:st,63:at,64:rt,65:lt,66:ot,67:ct,68:ht,69:ut,70:dt,71:ft,72:pt,73:yt,74:gt},{13:73,19:20,20:21,21:22,22:t,23:a,24:o,26:l,28:i,29:49,30:61,32:62,34:s,36:r,37:n,38:h,39:f,40:d,41:p,43:23,44:E,45:O,46:R,47:S,48:L,49:Y,50:Q,51:H,52:q,53:G,54:K,55:J,56:Z,57:$,58:tt,59:et,60:it,61:nt,62:st,63:at,64:rt,65:lt,66:ot,67:ct,68:ht,69:ut,70:dt,71:ft,72:pt,73:yt,74:gt},{14:[1,74]},e(At,[2,13],{43:23,29:49,30:61,32:62,20:75,34:s,36:r,37:n,38:h,39:f,40:d,41:p,44:E,45:O,46:R,47:S,48:L,49:Y,50:Q,51:H,52:q,53:G,54:K,55:J,56:Z,57:$,58:tt,59:et,60:it,61:nt,62:st,63:at,64:rt,65:lt,66:ot,67:ct,68:ht,69:ut,70:dt,71:ft,72:pt,73:yt,74:gt}),e(At,[2,14]),e(Vt,[2,16],{12:[1,76]}),e(At,[2,36],{12:[1,77]}),e(Ot,[2,19]),e(Ot,[2,20]),{25:[1,78]},{27:[1,79]},e(Ot,[2,23]),{35:80,75:81,76:v,77:k,79:A,80:C},{35:86,75:81,76:v,77:k,79:A,80:C},{35:87,75:81,76:v,77:k,79:A,80:C},{35:88,75:81,76:v,77:k,79:A,80:C},{35:89,75:81,76:v,77:k,79:A,80:C},{35:90,75:81,76:v,77:k,79:A,80:C},{35:91,75:81,76:v,77:k,79:A,80:C},{35:92,75:81,76:v,77:k,79:A,80:C},{35:93,75:81,76:v,77:k,79:A,80:C},{35:94,75:81,76:v,77:k,79:A,80:C},{35:95,75:81,76:v,77:k,79:A,80:C},{35:96,75:81,76:v,77:k,79:A,80:C},{35:97,75:81,76:v,77:k,79:A,80:C},{35:98,75:81,76:v,77:k,79:A,80:C},{35:99,75:81,76:v,77:k,79:A,80:C},{35:100,75:81,76:v,77:k,79:A,80:C},{35:101,75:81,76:v,77:k,79:A,80:C},{35:102,75:81,76:v,77:k,79:A,80:C},{35:103,75:81,76:v,77:k,79:A,80:C},{35:104,75:81,76:v,77:k,79:A,80:C},e(w,[2,59]),{35:105,75:81,76:v,77:k,79:A,80:C},{35:106,75:81,76:v,77:k,79:A,80:C},{35:107,75:81,76:v,77:k,79:A,80:C},{35:108,75:81,76:v,77:k,79:A,80:C},{35:109,75:81,76:v,77:k,79:A,80:C},{35:110,75:81,76:v,77:k,79:A,80:C},{35:111,75:81,76:v,77:k,79:A,80:C},{35:112,75:81,76:v,77:k,79:A,80:C},{35:113,75:81,76:v,77:k,79:A,80:C},{35:114,75:81,76:v,77:k,79:A,80:C},{35:115,75:81,76:v,77:k,79:A,80:C},{20:116,29:49,30:61,32:62,34:s,36:r,37:n,38:h,39:f,40:d,41:p,43:23,44:E,45:O,46:R,47:S,48:L,49:Y,50:Q,51:H,52:q,53:G,54:K,55:J,56:Z,57:$,58:tt,59:et,60:it,61:nt,62:st,63:at,64:rt,65:lt,66:ot,67:ct,68:ht,69:ut,70:dt,71:ft,72:pt,73:yt,74:gt},{12:[1,118],33:[1,117]},{35:119,75:81,76:v,77:k,79:A,80:C},{35:120,75:81,76:v,77:k,79:A,80:C},{35:121,75:81,76:v,77:k,79:A,80:C},{35:122,75:81,76:v,77:k,79:A,80:C},{35:123,75:81,76:v,77:k,79:A,80:C},{35:124,75:81,76:v,77:k,79:A,80:C},{35:125,75:81,76:v,77:k,79:A,80:C},{14:[1,126]},{14:[1,127]},{14:[1,128]},{14:[1,129]},{1:[2,8]},e(At,[2,15]),e(Vt,[2,17],{21:22,19:130,22:t,23:a,24:o,26:l,28:i}),e(At,[2,37],{19:20,20:21,21:22,43:23,29:49,30:61,32:62,13:131,22:t,23:a,24:o,26:l,28:i,34:s,36:r,37:n,38:h,39:f,40:d,41:p,44:E,45:O,46:R,47:S,48:L,49:Y,50:Q,51:H,52:q,53:G,54:K,55:J,56:Z,57:$,58:tt,59:et,60:it,61:nt,62:st,63:at,64:rt,65:lt,66:ot,67:ct,68:ht,69:ut,70:dt,71:ft,72:pt,73:yt,74:gt}),e(Ot,[2,21]),e(Ot,[2,22]),e(w,[2,39]),e(ne,[2,71],{75:81,35:132,76:v,77:k,79:A,80:C}),e(Pt,[2,73]),{78:[1,133]},e(Pt,[2,75]),e(Pt,[2,76]),e(w,[2,40]),e(w,[2,41]),e(w,[2,42]),e(w,[2,43]),e(w,[2,44]),e(w,[2,45]),e(w,[2,46]),e(w,[2,47]),e(w,[2,48]),e(w,[2,49]),e(w,[2,50]),e(w,[2,51]),e(w,[2,52]),e(w,[2,53]),e(w,[2,54]),e(w,[2,55]),e(w,[2,56]),e(w,[2,57]),e(w,[2,58]),e(w,[2,60]),e(w,[2,61]),e(w,[2,62]),e(w,[2,63]),e(w,[2,64]),e(w,[2,65]),e(w,[2,66]),e(w,[2,67]),e(w,[2,68]),e(w,[2,69]),e(w,[2,70]),{31:134,42:[1,135]},{12:[1,136]},{33:[1,137]},e(mt,[2,28]),e(mt,[2,29]),e(mt,[2,30]),e(mt,[2,31]),e(mt,[2,32]),e(mt,[2,33]),e(mt,[2,34]),{1:[2,9]},{1:[2,10]},{1:[2,11]},{1:[2,12]},e(Vt,[2,18]),e(At,[2,38]),e(ne,[2,72]),e(Pt,[2,74]),e(w,[2,24]),e(w,[2,35]),e(zt,[2,25]),e(zt,[2,26],{12:[1,138]}),e(zt,[2,27])],defaultActions:{2:[2,1],3:[2,2],4:[2,7],5:[2,3],6:[2,4],7:[2,5],8:[2,6],74:[2,8],126:[2,9],127:[2,10],128:[2,11],129:[2,12]},parseError:function(_,x){if(x.recoverable)this.trace(_);else{var m=new Error(_);throw m.hash=x,m}},parse:function(_){var x=this,m=[0],g=[],T=[null],u=[],Tt=this.table,y="",Et=0,se=0,ve=2,ae=1,ke=u.slice.call(arguments,1),D=Object.create(this.lexer),vt={yy:{}};for(var Qt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Qt)&&(vt.yy[Qt]=this.yy[Qt]);D.setInput(_,vt.yy),vt.yy.lexer=D,vt.yy.parser=this,typeof D.yylloc>"u"&&(D.yylloc={});var Ht=D.yylloc;u.push(Ht);var Ae=D.options&&D.options.ranges;typeof vt.yy.parseError=="function"?this.parseError=vt.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Ce(){var X;return X=g.pop()||D.lex()||ae,typeof X!="number"&&(X instanceof Array&&(g=X,X=g.pop()),X=x.symbols_[X]||X),X}for(var M,kt,N,qt,Ct={},Mt,z,re,Lt;;){if(kt=m[m.length-1],this.defaultActions[kt]?N=this.defaultActions[kt]:((M===null||typeof M>"u")&&(M=Ce()),N=Tt[kt]&&Tt[kt][M]),typeof N>"u"||!N.length||!N[0]){var Gt="";Lt=[];for(Mt in Tt[kt])this.terminals_[Mt]&&Mt>ve&&Lt.push("'"+this.terminals_[Mt]+"'");D.showPosition?Gt="Parse error on line "+(Et+1)+`: `+D.showPosition()+` Expecting `+Lt.join(", ")+", got '"+(this.terminals_[M]||M)+"'":Gt="Parse error on line "+(Et+1)+": Unexpected "+(M==ae?"end of input":"'"+(this.terminals_[M]||M)+"'"),this.parseError(Gt,{text:D.match,token:this.terminals_[M]||M,line:D.yylineno,loc:Ht,expected:Lt})}if(N[0]instanceof Array&&N.length>1)throw new Error("Parse Error: multiple actions possible at state: "+kt+", token: "+M);switch(N[0]){case 1:m.push(M),T.push(D.yytext),u.push(D.yylloc),m.push(N[1]),M=null,se=D.yyleng,y=D.yytext,Et=D.yylineno,Ht=D.yylloc;break;case 2:if(z=this.productions_[N[1]][1],Ct.$=T[T.length-z],Ct._$={first_line:u[u.length-(z||1)].first_line,last_line:u[u.length-1].last_line,first_column:u[u.length-(z||1)].first_column,last_column:u[u.length-1].last_column},Ae&&(Ct._$.range=[u[u.length-(z||1)].range[0],u[u.length-1].range[1]]),qt=this.performAction.apply(Ct,[y,se,Et,vt.yy,N[1],T,u].concat(ke)),typeof qt<"u")return qt;z&&(m=m.slice(0,-1*z*2),T=T.slice(0,-1*z),u=u.slice(0,-1*z)),m.push(this.productions_[N[1]][0]),T.push(Ct.$),u.push(Ct._$),re=Tt[m[m.length-2]][m[m.length-1]],m.push(re);break;case 3:return!0}}return!0}},Ee=function(){var bt={EOF:1,parseError:function(x,m){if(this.yy.parser)this.yy.parser.parseError(x,m);else throw new Error(x)},setInput:function(_,x){return this.yy=x||this.yy||{},this._input=_,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var _=this._input[0];this.yytext+=_,this.yyleng++,this.offset++,this.match+=_,this.matched+=_;var x=_.match(/(?:\r\n?|\n).*/g);return x?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),_},unput:function(_){var x=_.length,m=_.split(/(?:\r\n?|\n)/g);this._input=_+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-x),this.offset-=x;var g=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),m.length-1&&(this.yylineno-=m.length-1);var T=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:m?(m.length===g.length?this.yylloc.first_column:0)+g[g.length-m.length].length-m[0].length:this.yylloc.first_column-x},this.options.ranges&&(this.yylloc.range=[T[0],T[0]+this.yyleng-x]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(_){this.unput(this.match.slice(_))},pastInput:function(){var _=this.matched.substr(0,this.matched.length-this.match.length);return(_.length>20?"...":"")+_.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var _=this.match;return _.length<20&&(_+=this._input.substr(0,20-_.length)),(_.substr(0,20)+(_.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var _=this.pastInput(),x=new Array(_.length+1).join("-");return _+this.upcomingInput()+` diff --git a/assets/channel-CAAfQTsA.js b/assets/channel-CAAfQTsA.js deleted file mode 100644 index b38119e..0000000 --- a/assets/channel-CAAfQTsA.js +++ /dev/null @@ -1 +0,0 @@ -import{am as n,an as o}from"./mermaid.core-DtSoU78u.js";const t=(a,r)=>n.lang.round(o.parse(a)[r]);export{t as c}; diff --git a/assets/channel-DIrwI8QF.js b/assets/channel-DIrwI8QF.js new file mode 100644 index 0000000..6d2748e --- /dev/null +++ b/assets/channel-DIrwI8QF.js @@ -0,0 +1 @@ +import{am as n,an as o}from"./mermaid.core-C-ipfzeP.js";const t=(a,r)=>n.lang.round(o.parse(a)[r]);export{t as c}; diff --git a/assets/classDiagram-30eddba6-C4eJJRdf.js b/assets/classDiagram-30eddba6-KuGcj35X.js similarity index 97% rename from assets/classDiagram-30eddba6-C4eJJRdf.js rename to assets/classDiagram-30eddba6-KuGcj35X.js index 8cf64d3..b0f3b87 100644 --- a/assets/classDiagram-30eddba6-C4eJJRdf.js +++ b/assets/classDiagram-30eddba6-KuGcj35X.js @@ -1,2 +1,2 @@ -import{p as A,d as S,s as G}from"./styles-991ebdfc-DtQmJnxz.js";import{c as v,l as y,h as B,i as W,ap as $,z as M,as as I}from"./mermaid.core-DtSoU78u.js";import{G as O}from"./graph-GEpVUbdH.js";import{l as P}from"./layout-DNn7Y9VF.js";import{l as X}from"./line-BM-2XH-S.js";import"./app-B0fd3cYb.js";import"./array-BKyUJesY.js";import"./path-CbwjOpE9.js";let H=0;const Y=function(i,a,t,o,p){const g=function(e){switch(e){case p.db.relationType.AGGREGATION:return"aggregation";case p.db.relationType.EXTENSION:return"extension";case p.db.relationType.COMPOSITION:return"composition";case p.db.relationType.DEPENDENCY:return"dependency";case p.db.relationType.LOLLIPOP:return"lollipop"}};a.points=a.points.filter(e=>!Number.isNaN(e.y));const s=a.points,c=X().x(function(e){return e.x}).y(function(e){return e.y}).curve($),n=i.append("path").attr("d",c(s)).attr("id","edge"+H).attr("class","relation");let r="";o.arrowMarkerAbsolute&&(r=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,r=r.replace(/\(/g,"\\("),r=r.replace(/\)/g,"\\)")),t.relation.lineType==1&&n.attr("class","relation dashed-line"),t.relation.lineType==10&&n.attr("class","relation dotted-line"),t.relation.type1!=="none"&&n.attr("marker-start","url("+r+"#"+g(t.relation.type1)+"Start)"),t.relation.type2!=="none"&&n.attr("marker-end","url("+r+"#"+g(t.relation.type2)+"End)");let f,h;const x=a.points.length;let b=M.calcLabelPosition(a.points);f=b.x,h=b.y;let u,m,w,k;if(x%2!==0&&x>1){let e=M.calcCardinalityPosition(t.relation.type1!=="none",a.points,a.points[0]),d=M.calcCardinalityPosition(t.relation.type2!=="none",a.points,a.points[x-1]);y.debug("cardinality_1_point "+JSON.stringify(e)),y.debug("cardinality_2_point "+JSON.stringify(d)),u=e.x,m=e.y,w=d.x,k=d.y}if(t.title!==void 0){const e=i.append("g").attr("class","classLabel"),d=e.append("text").attr("class","label").attr("x",f).attr("y",h).attr("fill","red").attr("text-anchor","middle").text(t.title);window.label=d;const l=d.node().getBBox();e.insert("rect",":first-child").attr("class","box").attr("x",l.x-o.padding/2).attr("y",l.y-o.padding/2).attr("width",l.width+o.padding).attr("height",l.height+o.padding)}y.info("Rendering relation "+JSON.stringify(t)),t.relationTitle1!==void 0&&t.relationTitle1!=="none"&&i.append("g").attr("class","cardinality").append("text").attr("class","type1").attr("x",u).attr("y",m).attr("fill","black").attr("font-size","6").text(t.relationTitle1),t.relationTitle2!==void 0&&t.relationTitle2!=="none"&&i.append("g").attr("class","cardinality").append("text").attr("class","type2").attr("x",w).attr("y",k).attr("fill","black").attr("font-size","6").text(t.relationTitle2),H++},J=function(i,a,t,o){y.debug("Rendering class ",a,t);const p=a.id,g={id:p,label:a.id,width:0,height:0},s=i.append("g").attr("id",o.db.lookUpDomId(p)).attr("class","classGroup");let c;a.link?c=s.append("svg:a").attr("xlink:href",a.link).attr("target",a.linkTarget).append("text").attr("y",t.textHeight+t.padding).attr("x",0):c=s.append("text").attr("y",t.textHeight+t.padding).attr("x",0);let n=!0;a.annotations.forEach(function(d){const l=c.append("tspan").text("«"+d+"»");n||l.attr("dy",t.textHeight),n=!1});let r=C(a);const f=c.append("tspan").text(r).attr("class","title");n||f.attr("dy",t.textHeight);const h=c.node().getBBox().height;let x,b,u;if(a.members.length>0){x=s.append("line").attr("x1",0).attr("y1",t.padding+h+t.dividerMargin/2).attr("y2",t.padding+h+t.dividerMargin/2);const d=s.append("text").attr("x",t.padding).attr("y",h+t.dividerMargin+t.textHeight).attr("fill","white").attr("class","classText");n=!0,a.members.forEach(function(l){_(d,l,n,t),n=!1}),b=d.node().getBBox()}if(a.methods.length>0){u=s.append("line").attr("x1",0).attr("y1",t.padding+h+t.dividerMargin+b.height).attr("y2",t.padding+h+t.dividerMargin+b.height);const d=s.append("text").attr("x",t.padding).attr("y",h+2*t.dividerMargin+b.height+t.textHeight).attr("fill","white").attr("class","classText");n=!0,a.methods.forEach(function(l){_(d,l,n,t),n=!1})}const m=s.node().getBBox();var w=" ";a.cssClasses.length>0&&(w=w+a.cssClasses.join(" "));const e=s.insert("rect",":first-child").attr("x",0).attr("y",0).attr("width",m.width+2*t.padding).attr("height",m.height+t.padding+.5*t.dividerMargin).attr("class",w).node().getBBox().width;return c.node().childNodes.forEach(function(d){d.setAttribute("x",(e-d.getBBox().width)/2)}),a.tooltip&&c.insert("title").text(a.tooltip),x&&x.attr("x2",e),u&&u.attr("x2",e),g.width=e,g.height=m.height+t.padding+.5*t.dividerMargin,g},C=function(i){let a=i.id;return i.type&&(a+="<"+I(i.type)+">"),a},Z=function(i,a,t,o){y.debug("Rendering note ",a,t);const p=a.id,g={id:p,text:a.text,width:0,height:0},s=i.append("g").attr("id",p).attr("class","classGroup");let c=s.append("text").attr("y",t.textHeight+t.padding).attr("x",0);const n=JSON.parse(`"${a.text}"`).split(` +import{p as A,d as S,s as G}from"./styles-991ebdfc-BNUFY_Cz.js";import{c as v,l as y,h as B,i as W,ap as $,z as M,as as I}from"./mermaid.core-C-ipfzeP.js";import{G as O}from"./graph-BqpiDEwF.js";import{l as P}from"./layout-B2i1mAr6.js";import{l as X}from"./line-BVHj5-SV.js";import"./app-jADuhdjP.js";import"./array-BKyUJesY.js";import"./path-CbwjOpE9.js";let H=0;const Y=function(i,a,t,o,p){const g=function(e){switch(e){case p.db.relationType.AGGREGATION:return"aggregation";case p.db.relationType.EXTENSION:return"extension";case p.db.relationType.COMPOSITION:return"composition";case p.db.relationType.DEPENDENCY:return"dependency";case p.db.relationType.LOLLIPOP:return"lollipop"}};a.points=a.points.filter(e=>!Number.isNaN(e.y));const s=a.points,c=X().x(function(e){return e.x}).y(function(e){return e.y}).curve($),n=i.append("path").attr("d",c(s)).attr("id","edge"+H).attr("class","relation");let r="";o.arrowMarkerAbsolute&&(r=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,r=r.replace(/\(/g,"\\("),r=r.replace(/\)/g,"\\)")),t.relation.lineType==1&&n.attr("class","relation dashed-line"),t.relation.lineType==10&&n.attr("class","relation dotted-line"),t.relation.type1!=="none"&&n.attr("marker-start","url("+r+"#"+g(t.relation.type1)+"Start)"),t.relation.type2!=="none"&&n.attr("marker-end","url("+r+"#"+g(t.relation.type2)+"End)");let f,h;const x=a.points.length;let b=M.calcLabelPosition(a.points);f=b.x,h=b.y;let u,m,w,k;if(x%2!==0&&x>1){let e=M.calcCardinalityPosition(t.relation.type1!=="none",a.points,a.points[0]),d=M.calcCardinalityPosition(t.relation.type2!=="none",a.points,a.points[x-1]);y.debug("cardinality_1_point "+JSON.stringify(e)),y.debug("cardinality_2_point "+JSON.stringify(d)),u=e.x,m=e.y,w=d.x,k=d.y}if(t.title!==void 0){const e=i.append("g").attr("class","classLabel"),d=e.append("text").attr("class","label").attr("x",f).attr("y",h).attr("fill","red").attr("text-anchor","middle").text(t.title);window.label=d;const l=d.node().getBBox();e.insert("rect",":first-child").attr("class","box").attr("x",l.x-o.padding/2).attr("y",l.y-o.padding/2).attr("width",l.width+o.padding).attr("height",l.height+o.padding)}y.info("Rendering relation "+JSON.stringify(t)),t.relationTitle1!==void 0&&t.relationTitle1!=="none"&&i.append("g").attr("class","cardinality").append("text").attr("class","type1").attr("x",u).attr("y",m).attr("fill","black").attr("font-size","6").text(t.relationTitle1),t.relationTitle2!==void 0&&t.relationTitle2!=="none"&&i.append("g").attr("class","cardinality").append("text").attr("class","type2").attr("x",w).attr("y",k).attr("fill","black").attr("font-size","6").text(t.relationTitle2),H++},J=function(i,a,t,o){y.debug("Rendering class ",a,t);const p=a.id,g={id:p,label:a.id,width:0,height:0},s=i.append("g").attr("id",o.db.lookUpDomId(p)).attr("class","classGroup");let c;a.link?c=s.append("svg:a").attr("xlink:href",a.link).attr("target",a.linkTarget).append("text").attr("y",t.textHeight+t.padding).attr("x",0):c=s.append("text").attr("y",t.textHeight+t.padding).attr("x",0);let n=!0;a.annotations.forEach(function(d){const l=c.append("tspan").text("«"+d+"»");n||l.attr("dy",t.textHeight),n=!1});let r=C(a);const f=c.append("tspan").text(r).attr("class","title");n||f.attr("dy",t.textHeight);const h=c.node().getBBox().height;let x,b,u;if(a.members.length>0){x=s.append("line").attr("x1",0).attr("y1",t.padding+h+t.dividerMargin/2).attr("y2",t.padding+h+t.dividerMargin/2);const d=s.append("text").attr("x",t.padding).attr("y",h+t.dividerMargin+t.textHeight).attr("fill","white").attr("class","classText");n=!0,a.members.forEach(function(l){_(d,l,n,t),n=!1}),b=d.node().getBBox()}if(a.methods.length>0){u=s.append("line").attr("x1",0).attr("y1",t.padding+h+t.dividerMargin+b.height).attr("y2",t.padding+h+t.dividerMargin+b.height);const d=s.append("text").attr("x",t.padding).attr("y",h+2*t.dividerMargin+b.height+t.textHeight).attr("fill","white").attr("class","classText");n=!0,a.methods.forEach(function(l){_(d,l,n,t),n=!1})}const m=s.node().getBBox();var w=" ";a.cssClasses.length>0&&(w=w+a.cssClasses.join(" "));const e=s.insert("rect",":first-child").attr("x",0).attr("y",0).attr("width",m.width+2*t.padding).attr("height",m.height+t.padding+.5*t.dividerMargin).attr("class",w).node().getBBox().width;return c.node().childNodes.forEach(function(d){d.setAttribute("x",(e-d.getBBox().width)/2)}),a.tooltip&&c.insert("title").text(a.tooltip),x&&x.attr("x2",e),u&&u.attr("x2",e),g.width=e,g.height=m.height+t.padding+.5*t.dividerMargin,g},C=function(i){let a=i.id;return i.type&&(a+="<"+I(i.type)+">"),a},Z=function(i,a,t,o){y.debug("Rendering note ",a,t);const p=a.id,g={id:p,text:a.text,width:0,height:0},s=i.append("g").attr("id",p).attr("class","classGroup");let c=s.append("text").attr("y",t.textHeight+t.padding).attr("x",0);const n=JSON.parse(`"${a.text}"`).split(` `);n.forEach(function(x){y.debug(`Adding line: ${x}`),c.append("tspan").text(x).attr("class","title").attr("dy",t.textHeight)});const r=s.node().getBBox(),h=s.insert("rect",":first-child").attr("x",0).attr("y",0).attr("width",r.width+2*t.padding).attr("height",r.height+n.length*t.textHeight+t.padding+.5*t.dividerMargin).node().getBBox().width;return c.node().childNodes.forEach(function(x){x.setAttribute("x",(h-x.getBBox().width)/2)}),g.width=h,g.height=r.height+n.length*t.textHeight+t.padding+.5*t.dividerMargin,g},_=function(i,a,t,o){const{displayText:p,cssStyle:g}=a.getDisplayDetails(),s=i.append("tspan").attr("x",o.padding).text(p);g!==""&&s.attr("style",a.cssStyle),t||s.attr("dy",o.textHeight)},N={getClassTitleString:C,drawClass:J,drawEdge:Y,drawNote:Z};let T={};const E=20,L=function(i){const a=Object.entries(T).find(t=>t[1].label===i);if(a)return a[0]},R=function(i){i.append("defs").append("marker").attr("id","extensionStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),i.append("defs").append("marker").attr("id","extensionEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z"),i.append("defs").append("marker").attr("id","compositionStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),i.append("defs").append("marker").attr("id","compositionEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),i.append("defs").append("marker").attr("id","aggregationStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),i.append("defs").append("marker").attr("id","aggregationEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),i.append("defs").append("marker").attr("id","dependencyStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),i.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},z=function(i,a,t,o){const p=v().class;T={},y.info("Rendering diagram "+i);const g=v().securityLevel;let s;g==="sandbox"&&(s=B("#i"+a));const c=g==="sandbox"?B(s.nodes()[0].contentDocument.body):B("body"),n=c.select(`[id='${a}']`);R(n);const r=new O({multigraph:!0});r.setGraph({isMultiGraph:!0}),r.setDefaultEdgeLabel(function(){return{}});const f=o.db.getClasses(),h=Object.keys(f);for(const e of h){const d=f[e],l=N.drawClass(n,d,p,o);T[l.id]=l,r.setNode(l.id,l),y.info("Org height: "+l.height)}o.db.getRelations().forEach(function(e){y.info("tjoho"+L(e.id1)+L(e.id2)+JSON.stringify(e)),r.setEdge(L(e.id1),L(e.id2),{relation:e},e.title||"DEFAULT")}),o.db.getNotes().forEach(function(e){y.debug(`Adding note: ${JSON.stringify(e)}`);const d=N.drawNote(n,e,p,o);T[d.id]=d,r.setNode(d.id,d),e.class&&e.class in f&&r.setEdge(e.id,L(e.class),{relation:{id1:e.id,id2:e.class,relation:{type1:"none",type2:"none",lineType:10}}},"DEFAULT")}),P(r),r.nodes().forEach(function(e){e!==void 0&&r.node(e)!==void 0&&(y.debug("Node "+e+": "+JSON.stringify(r.node(e))),c.select("#"+(o.db.lookUpDomId(e)||e)).attr("transform","translate("+(r.node(e).x-r.node(e).width/2)+","+(r.node(e).y-r.node(e).height/2)+" )"))}),r.edges().forEach(function(e){e!==void 0&&r.edge(e)!==void 0&&(y.debug("Edge "+e.v+" -> "+e.w+": "+JSON.stringify(r.edge(e))),N.drawEdge(n,r.edge(e),r.edge(e).relation,p,o))});const u=n.node().getBBox(),m=u.width+E*2,w=u.height+E*2;W(n,w,m,p.useMaxWidth);const k=`${u.x-E} ${u.y-E} ${m} ${w}`;y.debug(`viewBox ${k}`),n.attr("viewBox",k)},F={draw:z},et={parser:A,db:S,renderer:F,styles:G,init:i=>{i.class||(i.class={}),i.class.arrowMarkerAbsolute=i.arrowMarkerAbsolute,S.clear()}};export{et as diagram}; diff --git a/assets/classDiagram-v2-f2df5561-CsbP5K0m.js b/assets/classDiagram-v2-f2df5561-IDS9n2HR.js similarity index 92% rename from assets/classDiagram-v2-f2df5561-CsbP5K0m.js rename to assets/classDiagram-v2-f2df5561-IDS9n2HR.js index 35a915f..ac8fe8d 100644 --- a/assets/classDiagram-v2-f2df5561-CsbP5K0m.js +++ b/assets/classDiagram-v2-f2df5561-IDS9n2HR.js @@ -1,2 +1,2 @@ -import{p as M,d as _,s as R}from"./styles-991ebdfc-DtQmJnxz.js";import{l as d,c,h as w,z as B,u as G,p as D,t as E,o as C,j as A}from"./mermaid.core-DtSoU78u.js";import{G as z}from"./graph-GEpVUbdH.js";import{r as P}from"./index-fc10efb0-D8efEc6S.js";import"./layout-DNn7Y9VF.js";import"./app-B0fd3cYb.js";import"./clone-DZIUJmqR.js";import"./edges-d32062c0--RfIKLIO.js";import"./createText-6b48ae7d-BQ6Vxn2Q.js";import"./line-BM-2XH-S.js";import"./array-BKyUJesY.js";import"./path-CbwjOpE9.js";const S=s=>A.sanitizeText(s,c());let k={dividerMargin:10,padding:5,textHeight:10,curve:void 0};const q=function(s,t,y,a){const e=Object.keys(s);d.info("keys:",e),d.info(s),e.forEach(function(i){var o,r;const l=s[i],p={shape:"rect",id:l.id,domId:l.domId,labelText:S(l.id),labelStyle:"",style:"fill: none; stroke: black",padding:((o=c().flowchart)==null?void 0:o.padding)??((r=c().class)==null?void 0:r.padding)};t.setNode(l.id,p),$(l.classes,t,y,a,l.id),d.info("setNode",p)})},$=function(s,t,y,a,e){const i=Object.keys(s);d.info("keys:",i),d.info(s),i.filter(o=>s[o].parent==e).forEach(function(o){var r,l;const n=s[o],p=n.cssClasses.join(" "),f=D(n.styles),h=n.label??n.id,u=0,b={labelStyle:f.labelStyle,shape:"class_box",labelText:S(h),classData:n,rx:u,ry:u,class:p,style:f.style,id:n.id,domId:n.domId,tooltip:a.db.getTooltip(n.id,e)||"",haveCallback:n.haveCallback,link:n.link,width:n.type==="group"?500:void 0,type:n.type,padding:((r=c().flowchart)==null?void 0:r.padding)??((l=c().class)==null?void 0:l.padding)};t.setNode(n.id,b),e&&t.setParent(n.id,e),d.info("setNode",b)})},F=function(s,t,y,a){d.info(s),s.forEach(function(e,i){var o,r;const l=e,n="",p={labelStyle:"",style:""},f=l.text,h=0,m={labelStyle:p.labelStyle,shape:"note",labelText:S(f),noteData:l,rx:h,ry:h,class:n,style:p.style,id:l.id,domId:l.id,tooltip:"",type:"note",padding:((o=c().flowchart)==null?void 0:o.padding)??((r=c().class)==null?void 0:r.padding)};if(t.setNode(l.id,m),d.info("setNode",m),!l.class||!(l.class in a))return;const b=y+i,x={id:`edgeNote${b}`,classes:"relation",pattern:"dotted",arrowhead:"none",startLabelRight:"",endLabelLeft:"",arrowTypeStart:"none",arrowTypeEnd:"none",style:"fill:none",labelStyle:"",curve:E(k.curve,C)};t.setEdge(l.id,l.class,x,b)})},H=function(s,t){const y=c().flowchart;let a=0;s.forEach(function(e){var i;a++;const o={classes:"relation",pattern:e.relation.lineType==1?"dashed":"solid",id:`id_${e.id1}_${e.id2}_${a}`,arrowhead:e.type==="arrow_open"?"none":"normal",startLabelRight:e.relationTitle1==="none"?"":e.relationTitle1,endLabelLeft:e.relationTitle2==="none"?"":e.relationTitle2,arrowTypeStart:N(e.relation.type1),arrowTypeEnd:N(e.relation.type2),style:"fill:none",labelStyle:"",curve:E(y==null?void 0:y.curve,C)};if(d.info(o,e),e.style!==void 0){const r=D(e.style);o.style=r.style,o.labelStyle=r.labelStyle}e.text=e.title,e.text===void 0?e.style!==void 0&&(o.arrowheadStyle="fill: #333"):(o.arrowheadStyle="fill: #333",o.labelpos="c",((i=c().flowchart)==null?void 0:i.htmlLabels)??c().htmlLabels?(o.labelType="html",o.label=''+e.text+""):(o.labelType="text",o.label=e.text.replace(A.lineBreakRegex,` +import{p as M,d as _,s as R}from"./styles-991ebdfc-BNUFY_Cz.js";import{l as d,c,h as w,z as B,u as G,p as D,t as E,o as C,j as A}from"./mermaid.core-C-ipfzeP.js";import{G as z}from"./graph-BqpiDEwF.js";import{r as P}from"./index-fc10efb0-CM7qMuFy.js";import"./layout-B2i1mAr6.js";import"./app-jADuhdjP.js";import"./clone-DMS6tHY3.js";import"./edges-d32062c0-DS1UiBKj.js";import"./createText-6b48ae7d-CHYbp3CC.js";import"./line-BVHj5-SV.js";import"./array-BKyUJesY.js";import"./path-CbwjOpE9.js";const S=s=>A.sanitizeText(s,c());let k={dividerMargin:10,padding:5,textHeight:10,curve:void 0};const q=function(s,t,y,a){const e=Object.keys(s);d.info("keys:",e),d.info(s),e.forEach(function(i){var o,r;const l=s[i],p={shape:"rect",id:l.id,domId:l.domId,labelText:S(l.id),labelStyle:"",style:"fill: none; stroke: black",padding:((o=c().flowchart)==null?void 0:o.padding)??((r=c().class)==null?void 0:r.padding)};t.setNode(l.id,p),$(l.classes,t,y,a,l.id),d.info("setNode",p)})},$=function(s,t,y,a,e){const i=Object.keys(s);d.info("keys:",i),d.info(s),i.filter(o=>s[o].parent==e).forEach(function(o){var r,l;const n=s[o],p=n.cssClasses.join(" "),f=D(n.styles),h=n.label??n.id,u=0,b={labelStyle:f.labelStyle,shape:"class_box",labelText:S(h),classData:n,rx:u,ry:u,class:p,style:f.style,id:n.id,domId:n.domId,tooltip:a.db.getTooltip(n.id,e)||"",haveCallback:n.haveCallback,link:n.link,width:n.type==="group"?500:void 0,type:n.type,padding:((r=c().flowchart)==null?void 0:r.padding)??((l=c().class)==null?void 0:l.padding)};t.setNode(n.id,b),e&&t.setParent(n.id,e),d.info("setNode",b)})},F=function(s,t,y,a){d.info(s),s.forEach(function(e,i){var o,r;const l=e,n="",p={labelStyle:"",style:""},f=l.text,h=0,m={labelStyle:p.labelStyle,shape:"note",labelText:S(f),noteData:l,rx:h,ry:h,class:n,style:p.style,id:l.id,domId:l.id,tooltip:"",type:"note",padding:((o=c().flowchart)==null?void 0:o.padding)??((r=c().class)==null?void 0:r.padding)};if(t.setNode(l.id,m),d.info("setNode",m),!l.class||!(l.class in a))return;const b=y+i,x={id:`edgeNote${b}`,classes:"relation",pattern:"dotted",arrowhead:"none",startLabelRight:"",endLabelLeft:"",arrowTypeStart:"none",arrowTypeEnd:"none",style:"fill:none",labelStyle:"",curve:E(k.curve,C)};t.setEdge(l.id,l.class,x,b)})},H=function(s,t){const y=c().flowchart;let a=0;s.forEach(function(e){var i;a++;const o={classes:"relation",pattern:e.relation.lineType==1?"dashed":"solid",id:`id_${e.id1}_${e.id2}_${a}`,arrowhead:e.type==="arrow_open"?"none":"normal",startLabelRight:e.relationTitle1==="none"?"":e.relationTitle1,endLabelLeft:e.relationTitle2==="none"?"":e.relationTitle2,arrowTypeStart:N(e.relation.type1),arrowTypeEnd:N(e.relation.type2),style:"fill:none",labelStyle:"",curve:E(y==null?void 0:y.curve,C)};if(d.info(o,e),e.style!==void 0){const r=D(e.style);o.style=r.style,o.labelStyle=r.labelStyle}e.text=e.title,e.text===void 0?e.style!==void 0&&(o.arrowheadStyle="fill: #333"):(o.arrowheadStyle="fill: #333",o.labelpos="c",((i=c().flowchart)==null?void 0:i.htmlLabels)??c().htmlLabels?(o.labelType="html",o.label=''+e.text+""):(o.labelType="text",o.label=e.text.replace(A.lineBreakRegex,` `),e.style===void 0&&(o.style=o.style||"stroke: #333; stroke-width: 1.5px;fill:none"),o.labelStyle=o.labelStyle.replace("color:","fill:"))),t.setEdge(e.id1,e.id2,o,a)})},V=function(s){k={...k,...s}},W=async function(s,t,y,a){d.info("Drawing class - ",t);const e=c().flowchart??c().class,i=c().securityLevel;d.info("config:",e);const o=(e==null?void 0:e.nodeSpacing)??50,r=(e==null?void 0:e.rankSpacing)??50,l=new z({multigraph:!0,compound:!0}).setGraph({rankdir:a.db.getDirection(),nodesep:o,ranksep:r,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}}),n=a.db.getNamespaces(),p=a.db.getClasses(),f=a.db.getRelations(),h=a.db.getNotes();d.info(f),q(n,l,t,a),$(p,l,t,a),H(f,l),F(h,l,f.length+1,p);let u;i==="sandbox"&&(u=w("#i"+t));const m=i==="sandbox"?w(u.nodes()[0].contentDocument.body):w("body"),b=m.select(`[id="${t}"]`),x=m.select("#"+t+" g");if(await P(x,l,["aggregation","extension","composition","dependency","lollipop"],"classDiagram",t),B.insertTitle(b,"classTitleText",(e==null?void 0:e.titleTopMargin)??5,a.db.getDiagramTitle()),G(l,b,e==null?void 0:e.diagramPadding,e==null?void 0:e.useMaxWidth),!(e!=null&&e.htmlLabels)){const T=i==="sandbox"?u.nodes()[0].contentDocument:document,I=T.querySelectorAll('[id="'+t+'"] .edgeLabel .label');for(const g of I){const L=g.getBBox(),v=T.createElementNS("http://www.w3.org/2000/svg","rect");v.setAttribute("rx",0),v.setAttribute("ry",0),v.setAttribute("width",L.width),v.setAttribute("height",L.height),g.insertBefore(v,g.firstChild)}}};function N(s){let t;switch(s){case 0:t="aggregation";break;case 1:t="extension";break;case 2:t="composition";break;case 3:t="dependency";break;case 4:t="lollipop";break;default:t="none"}return t}const J={setConf:V,draw:W},se={parser:M,db:_,renderer:J,styles:R,init:s=>{s.class||(s.class={}),s.class.arrowMarkerAbsolute=s.arrowMarkerAbsolute,_.clear()}};export{se as diagram}; diff --git a/assets/cli.html-B0EXkqq8.js b/assets/cli.html-BvTxffE7.js similarity index 96% rename from assets/cli.html-B0EXkqq8.js rename to assets/cli.html-BvTxffE7.js index 791db9c..8b41240 100644 --- a/assets/cli.html-B0EXkqq8.js +++ b/assets/cli.html-BvTxffE7.js @@ -1,4 +1,4 @@ -import{_ as d}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as n,o as p,c as u,e as r,w as s,b as e,d as a,a as i}from"./app-B0fd3cYb.js";const h={},m=i(`

CLI

Core library comes with CLI program called taskiq, which is used to run different subcommands.

By default taskiq is shipped with only two commands: worker and scheduler. You can search for more taskiq plugins using pypi. Some plugins may add new commands to taskiq.

Worker

To run worker process, you have to specify the broker you want to use and modules with defined tasks. Like this:

taskiq worker mybroker:broker_var my_project.module1 my_project.module2
+import{_ as d}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as n,o as p,c as u,e as r,w as s,b as e,d as a,a as i}from"./app-jADuhdjP.js";const h={},m=i(`

CLI

Core library comes with CLI program called taskiq, which is used to run different subcommands.

By default taskiq is shipped with only two commands: worker and scheduler. You can search for more taskiq plugins using pypi. Some plugins may add new commands to taskiq.

Worker

To run worker process, you have to specify the broker you want to use and modules with defined tasks. Like this:

taskiq worker mybroker:broker_var my_project.module1 my_project.module2
 

Auto importing

Enumerating all modules with tasks is not an option sometimes. That's why taskiq can auto-discover tasks in current directory recursively.

We have two options for this:

  • --tasks-pattern or -tp. It's a glob pattern of files to import. By default it is **/tasks.py which searches for all tasks.py files. May be specified multiple times.
  • --fs-discover or -fsd. This option enables search of task files in current directory recursively, using the given pattern.

Acknowledgements

The taskiq supports three types of acknowledgements:

  • when_received - task is acknowledged when it is received by the worker.
  • when_executed - task is acknowledged right after it is executed by the worker.
  • when_saved - task is acknowledged when the result of execution is saved in the result backend.

This can be configured using --ack-type parameter. For example:

taskiq worker --ack-type when_executed mybroker:broker
 

Type casts

One of features taskiq have is automatic type casts. For example you have a type-hinted task like this:

async def task(val: int) -> int:
     return val + 1
@@ -6,4 +6,4 @@ import{_ as d}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as n,o as p,
 `)])])],-1),g=e("div",{class:"language-bash","data-ext":"sh","data-title":"sh"},[e("pre",{class:"language-bash"},[e("code",null,[a("poetry "),e("span",{class:"token function"},"add"),a(" taskiq "),e("span",{class:"token parameter variable"},"-E"),a(` reload
 `)])])],-1),f=i('

To enable this option simply pass the --reload or -r option to worker taskiq CLI.

Also this option supports .gitignore files. If you have such file in your directory, it won't reload worker when you modify ignored files. To disable this functionality pass --do-not-use-gitignore option.

Other parameters

  • --no-configure-logging - disables default logging configuration for workers.
  • --log-level is used to set a log level (default INFO).
  • --max-async-tasks - maximum number of simultaneously running async tasks.
  • --max-prefetch - number of tasks to be prefetched before execution. (Useful for systems with high message rates, but brokers should support acknowledgements).
  • --max-threadpool-threads - number of threads for sync function exection.
  • --no-propagate-errors - if this parameter is enabled, exceptions won't be thrown in generator dependencies.
  • --receiver - python path to custom receiver class.
  • --receiver_arg - custom args for receiver.
  • --ack-type - Type of acknowledgement. This parameter is used to set when to acknowledge the task. Possible values are when_received, when_executed, when_saved. Default is when_saved.
  • max-tasks-per-child - maximum number of tasks to be executed by a single worker process before restart.
  • --shutdown-timeout - maximum amount of time for graceful broker's shutdown in seconds.
  • --wait-tasks-timeout - if cannot read new messages from the broker or maximum number of tasks is reached, worker will wait for all current tasks to finish. This parameter sets the maximum amount of time to wait until shutdown.

Scheduler

',7),y=i(`

To run it simply run

taskiq scheduler <path to scheduler> [optional module to import]...
 

For example

taskiq scheduler my_project.broker:scheduler my_project.module1 my_project.module2
-

Parameters

Path to scheduler is the only required argument.

  • --tasks-pattern or -tp. It's a glob pattern of files to import. By default it is **/tasks.py which searches for all tasks.py files. May be specified multiple times.
  • --fs-discover or -fsd. This option enables search of task files in current directory recursively, using the given pattern.
  • --no-configure-logging - use this parameter if your application configures custom logging.
  • --log-level is used to set a log level (default INFO).
  • --skip-first-run - skip first run of scheduler. This option skips running tasks immediately after scheduler start.
`,7);function b(v,w){const l=n("Tabs"),c=n("RouteLink");return p(),u("div",null,[m,r(l,{id:"83",data:[{id:"pip"},{id:"poetry"}]},{title0:s(({value:t,isActive:o})=>[a("pip")]),title1:s(({value:t,isActive:o})=>[a("poetry")]),tab0:s(({value:t,isActive:o})=>[k]),tab1:s(({value:t,isActive:o})=>[g]),_:1}),f,e("p",null,[a("Scheduler is used to schedule tasks as described in "),r(c,{to:"/guide/scheduling-tasks.html"},{default:s(()=>[a("Scheduling tasks")]),_:1}),a(" section.")]),y])}const q=d(h,[["render",b],["__file","cli.html.vue"]]),T=JSON.parse('{"path":"/guide/cli.html","title":"CLI","lang":"en-US","frontmatter":{"order":4,"description":"CLI Core library comes with CLI program called taskiq, which is used to run different subcommands. By default taskiq is shipped with only two commands: worker and scheduler. You...","head":[["meta",{"property":"og:url","content":"https://taskiq-python.github.io/guide/cli.html"}],["meta",{"property":"og:site_name","content":"Taskiq"}],["meta",{"property":"og:title","content":"CLI"}],["meta",{"property":"og:description","content":"CLI Core library comes with CLI program called taskiq, which is used to run different subcommands. By default taskiq is shipped with only two commands: worker and scheduler. You..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-04-20T00:01:02.000Z"}],["meta",{"property":"article:modified_time","content":"2024-04-20T00:01:02.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"CLI\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-04-20T00:01:02.000Z\\",\\"author\\":[]}"]]},"headers":[{"level":2,"title":"Worker","slug":"worker","link":"#worker","children":[{"level":3,"title":"Auto importing","slug":"auto-importing","link":"#auto-importing","children":[]},{"level":3,"title":"Acknowledgements","slug":"acknowledgements","link":"#acknowledgements","children":[]},{"level":3,"title":"Type casts","slug":"type-casts","link":"#type-casts","children":[]},{"level":3,"title":"Hot reload","slug":"hot-reload","link":"#hot-reload","children":[]},{"level":3,"title":"Other parameters","slug":"other-parameters","link":"#other-parameters","children":[]}]},{"level":2,"title":"Scheduler","slug":"scheduler","link":"#scheduler","children":[{"level":3,"title":"Parameters","slug":"parameters","link":"#parameters","children":[]}]}],"git":{"createdTime":1713571262000,"updatedTime":1713571262000,"contributors":[{"name":"Pavel Kirilin","email":"win10@list.ru","commits":1}]},"filePathRelative":"guide/cli.md","localizedDate":"April 20, 2024","autoDesc":true,"excerpt":"\\n

Core library comes with CLI program called taskiq, which is used to run different subcommands.

\\n

By default taskiq is shipped with only two commands: worker and scheduler. You can search for more taskiq plugins\\nusing pypi. Some plugins may add new commands to taskiq.

"}');export{q as comp,T as data}; +

Parameters

Path to scheduler is the only required argument.

  • --tasks-pattern or -tp. It's a glob pattern of files to import. By default it is **/tasks.py which searches for all tasks.py files. May be specified multiple times.
  • --fs-discover or -fsd. This option enables search of task files in current directory recursively, using the given pattern.
  • --no-configure-logging - use this parameter if your application configures custom logging.
  • --log-level is used to set a log level (default INFO).
  • --skip-first-run - skip first run of scheduler. This option skips running tasks immediately after scheduler start.
`,7);function b(v,w){const l=n("Tabs"),c=n("RouteLink");return p(),u("div",null,[m,r(l,{id:"83",data:[{id:"pip"},{id:"poetry"}]},{title0:s(({value:t,isActive:o})=>[a("pip")]),title1:s(({value:t,isActive:o})=>[a("poetry")]),tab0:s(({value:t,isActive:o})=>[k]),tab1:s(({value:t,isActive:o})=>[g]),_:1}),f,e("p",null,[a("Scheduler is used to schedule tasks as described in "),r(c,{to:"/guide/scheduling-tasks.html"},{default:s(()=>[a("Scheduling tasks")]),_:1}),a(" section.")]),y])}const q=d(h,[["render",b],["__file","cli.html.vue"]]),T=JSON.parse('{"path":"/guide/cli.html","title":"CLI","lang":"en-US","frontmatter":{"order":4,"description":"CLI Core library comes with CLI program called taskiq, which is used to run different subcommands. By default taskiq is shipped with only two commands: worker and scheduler. You...","head":[["meta",{"property":"og:url","content":"https://taskiq-python.github.io/guide/cli.html"}],["meta",{"property":"og:site_name","content":"Taskiq"}],["meta",{"property":"og:title","content":"CLI"}],["meta",{"property":"og:description","content":"CLI Core library comes with CLI program called taskiq, which is used to run different subcommands. By default taskiq is shipped with only two commands: worker and scheduler. You..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-04-26T20:07:59.000Z"}],["meta",{"property":"article:modified_time","content":"2024-04-26T20:07:59.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"CLI\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-04-26T20:07:59.000Z\\",\\"author\\":[]}"]]},"headers":[{"level":2,"title":"Worker","slug":"worker","link":"#worker","children":[{"level":3,"title":"Auto importing","slug":"auto-importing","link":"#auto-importing","children":[]},{"level":3,"title":"Acknowledgements","slug":"acknowledgements","link":"#acknowledgements","children":[]},{"level":3,"title":"Type casts","slug":"type-casts","link":"#type-casts","children":[]},{"level":3,"title":"Hot reload","slug":"hot-reload","link":"#hot-reload","children":[]},{"level":3,"title":"Other parameters","slug":"other-parameters","link":"#other-parameters","children":[]}]},{"level":2,"title":"Scheduler","slug":"scheduler","link":"#scheduler","children":[{"level":3,"title":"Parameters","slug":"parameters","link":"#parameters","children":[]}]}],"git":{"createdTime":1714162079000,"updatedTime":1714162079000,"contributors":[{"name":"Pavel Kirilin","email":"win10@list.ru","commits":1}]},"filePathRelative":"guide/cli.md","localizedDate":"April 26, 2024","autoDesc":true,"excerpt":"\\n

Core library comes with CLI program called taskiq, which is used to run different subcommands.

\\n

By default taskiq is shipped with only two commands: worker and scheduler. You can search for more taskiq plugins\\nusing pypi. Some plugins may add new commands to taskiq.

"}');export{q as comp,T as data}; diff --git a/assets/cli.html-C3UhGz-e.js b/assets/cli.html-v2C39c-n.js similarity index 96% rename from assets/cli.html-C3UhGz-e.js rename to assets/cli.html-v2C39c-n.js index d5e4a29..69a375a 100644 --- a/assets/cli.html-C3UhGz-e.js +++ b/assets/cli.html-v2C39c-n.js @@ -1,4 +1,4 @@ -import{_ as r}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as c,o as u,c as d,b as s,d as n,e as o,w as a,a as l}from"./app-B0fd3cYb.js";const m={},k=l(`

CLI

You can easily add new subcommands to taskiq. All default subcommands also use this mechanism, since it's easy to use.

At first you need to add a class that implements taskiq.abc.cmd.TaskiqCMD abstract class.

from argparse import ArgumentParser
+import{_ as r}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as c,o as u,c as d,b as s,d as n,e as o,w as a,a as l}from"./app-jADuhdjP.js";const m={},k=l(`

CLI

You can easily add new subcommands to taskiq. All default subcommands also use this mechanism, since it's easy to use.

At first you need to add a class that implements taskiq.abc.cmd.TaskiqCMD abstract class.

from argparse import ArgumentParser
 from typing import Sequence
 
 from taskiq.abc.cmd import TaskiqCMD
@@ -39,4 +39,4 @@ optional arguments:
   --test TEST  My test parameter.
 
$ taskiq demo --test aaa
 Namespace(test='aaa')
-
`,2);function w(x,A){const p=c("ExternalLinkIcon"),i=c("Tabs");return u(),d("div",null,[k,s("p",null,[n("Also, you can use your favorite tool to build CLI, like "),s("a",v,[n("click"),o(p)]),n(" or "),s("a",b,[n("typer"),o(p)]),n(".")]),h,o(i,{id:"19",data:[{id:"setuptools setup.py"},{id:"setuptools pyproject.toml"},{id:"poetry"}]},{title0:a(({value:t,isActive:e})=>[n("setuptools setup.py")]),title1:a(({value:t,isActive:e})=>[n("setuptools pyproject.toml")]),title2:a(({value:t,isActive:e})=>[n("poetry")]),tab0:a(({value:t,isActive:e})=>[y]),tab1:a(({value:t,isActive:e})=>[g]),tab2:a(({value:t,isActive:e})=>[_]),_:1},8,["data"]),s("p",null,[n("You can read more about entry points in "),s("a",f,[n("python documentation"),o(p)]),n(". The subcommand name is the same as the name of the entry point you've created.")]),q])}const M=r(m,[["render",w],["__file","cli.html.vue"]]),I=JSON.parse(`{"path":"/extending-taskiq/cli.html","title":"CLI","lang":"en-US","frontmatter":{"order":4,"description":"CLI You can easily add new subcommands to taskiq. All default subcommands also use this mechanism, since it's easy to use. At first you need to add a class that implements taski...","head":[["meta",{"property":"og:url","content":"https://taskiq-python.github.io/extending-taskiq/cli.html"}],["meta",{"property":"og:site_name","content":"Taskiq"}],["meta",{"property":"og:title","content":"CLI"}],["meta",{"property":"og:description","content":"CLI You can easily add new subcommands to taskiq. All default subcommands also use this mechanism, since it's easy to use. At first you need to add a class that implements taski..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-04-20T00:01:02.000Z"}],["meta",{"property":"article:modified_time","content":"2024-04-20T00:01:02.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"CLI\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-04-20T00:01:02.000Z\\",\\"author\\":[]}"]]},"headers":[],"git":{"createdTime":1713571262000,"updatedTime":1713571262000,"contributors":[{"name":"Pavel Kirilin","email":"win10@list.ru","commits":1}]},"filePathRelative":"extending-taskiq/cli.md","localizedDate":"April 20, 2024","autoDesc":true,"excerpt":"\\n

You can easily add new subcommands to taskiq. All default subcommands also use this mechanism,\\nsince it's easy to use.

\\n

At first you need to add a class that implements taskiq.abc.cmd.TaskiqCMD abstract class.

\\n
from argparse import ArgumentParser\\nfrom typing import Sequence\\n\\nfrom taskiq.abc.cmd import TaskiqCMD\\n\\n\\nclass MyCommand(TaskiqCMD):\\n    short_help = \\"Demo command\\"\\n\\n    def exec(self, args: Sequence[str]) -> None:\\n        parser = ArgumentParser()\\n        parser.add_argument(\\n            \\"--test\\",\\n            dest=\\"test\\",\\n            default=\\"default\\",\\n            help=\\"My test parameter.\\",\\n        )\\n        parsed = parser.parse_args(args)\\n        print(parsed)\\n
"}`);export{M as comp,I as data}; +
`,2);function w(x,A){const p=c("ExternalLinkIcon"),i=c("Tabs");return u(),d("div",null,[k,s("p",null,[n("Also, you can use your favorite tool to build CLI, like "),s("a",v,[n("click"),o(p)]),n(" or "),s("a",b,[n("typer"),o(p)]),n(".")]),h,o(i,{id:"19",data:[{id:"setuptools setup.py"},{id:"setuptools pyproject.toml"},{id:"poetry"}]},{title0:a(({value:t,isActive:e})=>[n("setuptools setup.py")]),title1:a(({value:t,isActive:e})=>[n("setuptools pyproject.toml")]),title2:a(({value:t,isActive:e})=>[n("poetry")]),tab0:a(({value:t,isActive:e})=>[y]),tab1:a(({value:t,isActive:e})=>[g]),tab2:a(({value:t,isActive:e})=>[_]),_:1},8,["data"]),s("p",null,[n("You can read more about entry points in "),s("a",f,[n("python documentation"),o(p)]),n(". The subcommand name is the same as the name of the entry point you've created.")]),q])}const M=r(m,[["render",w],["__file","cli.html.vue"]]),I=JSON.parse(`{"path":"/extending-taskiq/cli.html","title":"CLI","lang":"en-US","frontmatter":{"order":4,"description":"CLI You can easily add new subcommands to taskiq. All default subcommands also use this mechanism, since it's easy to use. At first you need to add a class that implements taski...","head":[["meta",{"property":"og:url","content":"https://taskiq-python.github.io/extending-taskiq/cli.html"}],["meta",{"property":"og:site_name","content":"Taskiq"}],["meta",{"property":"og:title","content":"CLI"}],["meta",{"property":"og:description","content":"CLI You can easily add new subcommands to taskiq. All default subcommands also use this mechanism, since it's easy to use. At first you need to add a class that implements taski..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-04-26T20:07:59.000Z"}],["meta",{"property":"article:modified_time","content":"2024-04-26T20:07:59.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"CLI\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-04-26T20:07:59.000Z\\",\\"author\\":[]}"]]},"headers":[],"git":{"createdTime":1714162079000,"updatedTime":1714162079000,"contributors":[{"name":"Pavel Kirilin","email":"win10@list.ru","commits":1}]},"filePathRelative":"extending-taskiq/cli.md","localizedDate":"April 26, 2024","autoDesc":true,"excerpt":"\\n

You can easily add new subcommands to taskiq. All default subcommands also use this mechanism,\\nsince it's easy to use.

\\n

At first you need to add a class that implements taskiq.abc.cmd.TaskiqCMD abstract class.

\\n
from argparse import ArgumentParser\\nfrom typing import Sequence\\n\\nfrom taskiq.abc.cmd import TaskiqCMD\\n\\n\\nclass MyCommand(TaskiqCMD):\\n    short_help = \\"Demo command\\"\\n\\n    def exec(self, args: Sequence[str]) -> None:\\n        parser = ArgumentParser()\\n        parser.add_argument(\\n            \\"--test\\",\\n            dest=\\"test\\",\\n            default=\\"default\\",\\n            help=\\"My test parameter.\\",\\n        )\\n        parsed = parser.parse_args(args)\\n        print(parsed)\\n
"}`);export{M as comp,I as data}; diff --git a/assets/clone-DMS6tHY3.js b/assets/clone-DMS6tHY3.js new file mode 100644 index 0000000..5aa3e1b --- /dev/null +++ b/assets/clone-DMS6tHY3.js @@ -0,0 +1 @@ +import{a as r}from"./graph-BqpiDEwF.js";var a=4;function n(o){return r(o,a)}export{n as c}; diff --git a/assets/clone-DZIUJmqR.js b/assets/clone-DZIUJmqR.js deleted file mode 100644 index 50806d0..0000000 --- a/assets/clone-DZIUJmqR.js +++ /dev/null @@ -1 +0,0 @@ -import{a as r}from"./graph-GEpVUbdH.js";var a=4;function n(o){return r(o,a)}export{n as c}; diff --git a/assets/contrib.html-D-PGZC82.js b/assets/contrib.html-W6Tn5Ard.js similarity index 92% rename from assets/contrib.html-D-PGZC82.js rename to assets/contrib.html-W6Tn5Ard.js index bba6530..a341eea 100644 --- a/assets/contrib.html-D-PGZC82.js +++ b/assets/contrib.html-W6Tn5Ard.js @@ -1,7 +1,7 @@ -import{_ as a}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as o,o as r,c as l,b as e,d as t,e as s,a as i}from"./app-B0fd3cYb.js";const d={},u=e("h1",{id:"contribution-guide",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#contribution-guide"},[e("span",null,"Contribution guide")])],-1),c=e("p",null,"We love contributions. This guide is for all folks who want to make taskiq better together. We have several rules for contributors:",-1),p=e("ul",null,[e("li",null,"Please do not add malware."),e("li",null,"Please make sure that your request solves the problem.")],-1),h={href:"https://github.com/orgs/taskiq-python/discussions",target:"_blank",rel:"noopener noreferrer"},m=e("p",null,"We have lots of tests in CI. But since CI runs from first-time contributors should be approved, you better test locally. It just takes less time to prepare PR for merging.",-1),g=e("h2",{id:"setting-up-environment",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#setting-up-environment"},[e("span",null,"Setting up environment")])],-1),v={href:"https://python-poetry.org/docs/",target:"_blank",rel:"noopener noreferrer"},b=i(`

After you have cloned the taskiq repo, install dependencies using this command:

poetry install
+import{_ as a}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as o,o as r,c as l,b as e,d as t,e as s,a as i}from"./app-jADuhdjP.js";const d={},u=e("h1",{id:"contribution-guide",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#contribution-guide"},[e("span",null,"Contribution guide")])],-1),c=e("p",null,"We love contributions. This guide is for all folks who want to make taskiq better together. We have several rules for contributors:",-1),p=e("ul",null,[e("li",null,"Please do not add malware."),e("li",null,"Please make sure that your request solves the problem.")],-1),h={href:"https://github.com/orgs/taskiq-python/discussions",target:"_blank",rel:"noopener noreferrer"},m=e("p",null,"We have lots of tests in CI. But since CI runs from first-time contributors should be approved, you better test locally. It just takes less time to prepare PR for merging.",-1),g=e("h2",{id:"setting-up-environment",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#setting-up-environment"},[e("span",null,"Setting up environment")])],-1),v={href:"https://python-poetry.org/docs/",target:"_blank",rel:"noopener noreferrer"},b=i(`

After you have cloned the taskiq repo, install dependencies using this command:

poetry install
 
`,2),f=e("code",null,"pyenv",-1),y={href:"https://github.com/pyenv/pyenv",target:"_blank",rel:"noopener noreferrer"},_=i(`

After pyenv is ready, you can install all python versions using this command:

pyenv install
 

Linting

We have pre-commit configured with all our settings. We highly recommend you to install it as a git hook using pre-commit install command.

But even without installation, you can run all lints manually:

pre-commit run -a
 

Testing

You can run pytest without any parameters and it will do the thing.

pytest
 
`,9),k=e("code",null,"-n",-1),w={href:"https://pypi.org/project/pytest-xdist/",target:"_blank",rel:"noopener noreferrer"},x=i(`
pytest -n 2
 

Also we use tox to test against different environments. You can publish a PR to run pytest with different python versions, but if you want to do it locally, just run tox command.

tox
-

Tox assumes that you've installed python versions using pyenv with command above.

`,4);function T(q,P){const n=o("ExternalLinkIcon");return r(),l("div",null,[u,c,p,e("p",null,[t("If you struggle with something or feel frustrated, you either create an issue, create a "),e("a",h,[t("discussions"),s(n)]),t(". page or publish a draft PR and ask your question in the description.")]),m,g,e("p",null,[t("We use poetry for managing dependencies. To install it, please follow the official guide in "),e("a",v,[t("documentation"),s(n)]),t(".")]),b,e("p",null,[t("It will install all required dependencies. If you want to run pytest against different python environments, please install "),f,t(" using instructions from its "),e("a",y,[t("readme"),s(n)]),t(".")]),_,e("p",null,[t("If you want to speedup testings, you can run it with "),k,t(" option from "),e("a",w,[t("pytest-xdist"),s(n)]),t(" to run tests in parallel.")]),x])}const C=a(d,[["render",T],["__file","contrib.html.vue"]]),S=JSON.parse('{"path":"/contrib.html","title":"Contribution guide","lang":"en-US","frontmatter":{"order":5,"description":"Contribution guide We love contributions. This guide is for all folks who want to make taskiq better together. We have several rules for contributors: Please do not add malware....","head":[["meta",{"property":"og:url","content":"https://taskiq-python.github.io/contrib.html"}],["meta",{"property":"og:site_name","content":"Taskiq"}],["meta",{"property":"og:title","content":"Contribution guide"}],["meta",{"property":"og:description","content":"Contribution guide We love contributions. This guide is for all folks who want to make taskiq better together. We have several rules for contributors: Please do not add malware...."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-04-20T00:01:02.000Z"}],["meta",{"property":"article:modified_time","content":"2024-04-20T00:01:02.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Contribution guide\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-04-20T00:01:02.000Z\\",\\"author\\":[]}"]]},"headers":[{"level":2,"title":"Setting up environment","slug":"setting-up-environment","link":"#setting-up-environment","children":[]},{"level":2,"title":"Linting","slug":"linting","link":"#linting","children":[]},{"level":2,"title":"Testing","slug":"testing","link":"#testing","children":[]}],"git":{"createdTime":1713571262000,"updatedTime":1713571262000,"contributors":[{"name":"Pavel Kirilin","email":"win10@list.ru","commits":1}]},"filePathRelative":"contrib.md","localizedDate":"April 20, 2024","autoDesc":true,"excerpt":"\\n

We love contributions. This guide is for all folks who want to make taskiq better together.\\nWe have several rules for contributors:

\\n
    \\n
  • Please do not add malware.
  • \\n
  • Please make sure that your request solves the problem.
  • \\n
\\n

If you struggle with something or feel frustrated, you either create an issue, create a discussions.\\npage or publish a draft PR and ask your question in the description.

"}');export{C as comp,S as data}; +

Tox assumes that you've installed python versions using pyenv with command above.

`,4);function T(q,P){const n=o("ExternalLinkIcon");return r(),l("div",null,[u,c,p,e("p",null,[t("If you struggle with something or feel frustrated, you either create an issue, create a "),e("a",h,[t("discussions"),s(n)]),t(". page or publish a draft PR and ask your question in the description.")]),m,g,e("p",null,[t("We use poetry for managing dependencies. To install it, please follow the official guide in "),e("a",v,[t("documentation"),s(n)]),t(".")]),b,e("p",null,[t("It will install all required dependencies. If you want to run pytest against different python environments, please install "),f,t(" using instructions from its "),e("a",y,[t("readme"),s(n)]),t(".")]),_,e("p",null,[t("If you want to speedup testings, you can run it with "),k,t(" option from "),e("a",w,[t("pytest-xdist"),s(n)]),t(" to run tests in parallel.")]),x])}const C=a(d,[["render",T],["__file","contrib.html.vue"]]),S=JSON.parse('{"path":"/contrib.html","title":"Contribution guide","lang":"en-US","frontmatter":{"order":5,"description":"Contribution guide We love contributions. This guide is for all folks who want to make taskiq better together. We have several rules for contributors: Please do not add malware....","head":[["meta",{"property":"og:url","content":"https://taskiq-python.github.io/contrib.html"}],["meta",{"property":"og:site_name","content":"Taskiq"}],["meta",{"property":"og:title","content":"Contribution guide"}],["meta",{"property":"og:description","content":"Contribution guide We love contributions. This guide is for all folks who want to make taskiq better together. We have several rules for contributors: Please do not add malware...."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-04-26T20:07:59.000Z"}],["meta",{"property":"article:modified_time","content":"2024-04-26T20:07:59.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Contribution guide\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-04-26T20:07:59.000Z\\",\\"author\\":[]}"]]},"headers":[{"level":2,"title":"Setting up environment","slug":"setting-up-environment","link":"#setting-up-environment","children":[]},{"level":2,"title":"Linting","slug":"linting","link":"#linting","children":[]},{"level":2,"title":"Testing","slug":"testing","link":"#testing","children":[]}],"git":{"createdTime":1714162079000,"updatedTime":1714162079000,"contributors":[{"name":"Pavel Kirilin","email":"win10@list.ru","commits":1}]},"filePathRelative":"contrib.md","localizedDate":"April 26, 2024","autoDesc":true,"excerpt":"\\n

We love contributions. This guide is for all folks who want to make taskiq better together.\\nWe have several rules for contributors:

\\n
    \\n
  • Please do not add malware.
  • \\n
  • Please make sure that your request solves the problem.
  • \\n
\\n

If you struggle with something or feel frustrated, you either create an issue, create a discussions.\\npage or publish a draft PR and ask your question in the description.

"}');export{C as comp,S as data}; diff --git a/assets/createText-6b48ae7d-BQ6Vxn2Q.js b/assets/createText-6b48ae7d-CHYbp3CC.js similarity index 99% rename from assets/createText-6b48ae7d-BQ6Vxn2Q.js rename to assets/createText-6b48ae7d-CHYbp3CC.js index 6834f73..927055d 100644 --- a/assets/createText-6b48ae7d-BQ6Vxn2Q.js +++ b/assets/createText-6b48ae7d-CHYbp3CC.js @@ -1,4 +1,4 @@ -import{l as At,ao as zt,aq as It}from"./mermaid.core-DtSoU78u.js";const Tt={};function Bt(n,r){const t=r||Tt,e=typeof t.includeImageAlt=="boolean"?t.includeImageAlt:!0,u=typeof t.includeHtml=="boolean"?t.includeHtml:!0;return et(n,e,u)}function et(n,r,t){if(Lt(n)){if("value"in n)return n.type==="html"&&!t?"":n.value;if(r&&"alt"in n&&n.alt)return n.alt;if("children"in n)return Vn(n.children,r,t)}return Array.isArray(n)?Vn(n,r,t):""}function Vn(n,r,t){const e=[];let u=-1;for(;++uu?0:u+r:r=r>u?u:r,t=t>0?t:0,e.length<1e4)l=Array.from(e),l.unshift(r,t),n.splice(...l);else for(t&&n.splice(r,t);i0?(tn(n,n.length,0,r),n):r}const Wn={}.hasOwnProperty;function Ot(n){const r={};let t=-1;for(;++tl))return;const T=r.events.length;let H=T,N,V;for(;H--;)if(r.events[H][0]==="exit"&&r.events[H][1].type==="chunkFlow"){if(N){V=r.events[H][1].end;break}N=!0}for(b(e),k=T;kF;){const _=t[D];r.containerState=_[1],_[0].exit.call(r,n)}t.length=F}function j(){u.write([null]),i=void 0,u=void 0,r.containerState._closeFlow=void 0}}function Ut(n,r,t){return O(n,n.attempt(this.parser.constructs.document,r,t),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function Un(n){if(n===null||Z(n)||Ht(n))return 1;if(qt(n))return 2}function Ln(n,r,t){const e=[];let u=-1;for(;++u1&&n[t][1].end.offset-n[t][1].start.offset>1?2:1;const f=Object.assign({},n[e][1].end),x=Object.assign({},n[t][1].start);$n(f,-m),$n(x,m),l={type:m>1?"strongSequence":"emphasisSequence",start:f,end:Object.assign({},n[e][1].end)},a={type:m>1?"strongSequence":"emphasisSequence",start:Object.assign({},n[t][1].start),end:x},i={type:m>1?"strongText":"emphasisText",start:Object.assign({},n[e][1].end),end:Object.assign({},n[t][1].start)},u={type:m>1?"strong":"emphasis",start:Object.assign({},l.start),end:Object.assign({},a.end)},n[e][1].end=Object.assign({},l.start),n[t][1].start=Object.assign({},a.end),c=[],n[e][1].end.offset-n[e][1].start.offset&&(c=Y(c,[["enter",n[e][1],r],["exit",n[e][1],r]])),c=Y(c,[["enter",u,r],["enter",l,r],["exit",l,r],["enter",i,r]]),c=Y(c,Ln(r.parser.constructs.insideSpan.null,n.slice(e+1,t),r)),c=Y(c,[["exit",i,r],["enter",a,r],["exit",a,r],["exit",u,r]]),n[t][1].end.offset-n[t][1].start.offset?(p=2,c=Y(c,[["enter",n[t][1],r],["exit",n[t][1],r]])):p=0,tn(n,e-1,t-e+3,c),t=e+c.length-p-2;break}}for(t=-1;++t0&&z(k)?O(n,j,"linePrefix",i+1)(k):j(k)}function j(k){return k===null||C(k)?n.check(Yn,I,D)(k):(n.enter("codeFlowValue"),F(k))}function F(k){return k===null||C(k)?(n.exit("codeFlowValue"),j(k)):(n.consume(k),F)}function D(k){return n.exit("codeFenced"),r(k)}function _(k,T,H){let N=0;return V;function V(w){return k.enter("lineEnding"),k.consume(w),k.exit("lineEnding"),y}function y(w){return k.enter("codeFencedFence"),z(w)?O(k,S,"linePrefix",e.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(w):S(w)}function S(w){return w===a?(k.enter("codeFencedFenceSequence"),P(w)):H(w)}function P(w){return w===a?(N++,k.consume(w),P):N>=l?(k.exit("codeFencedFenceSequence"),z(w)?O(k,R,"whitespace")(w):R(w)):H(w)}function R(w){return w===null||C(w)?(k.exit("codeFencedFence"),T(w)):H(w)}}}function re(n,r,t){const e=this;return u;function u(l){return l===null?t(l):(n.enter("lineEnding"),n.consume(l),n.exit("lineEnding"),i)}function i(l){return e.parser.lazy[e.now().line]?t(l):r(l)}}const Cn={name:"codeIndented",tokenize:ue},ie={tokenize:le,partial:!0};function ue(n,r,t){const e=this;return u;function u(c){return n.enter("codeIndented"),O(n,i,"linePrefix",5)(c)}function i(c){const p=e.events[e.events.length-1];return p&&p[1].type==="linePrefix"&&p[2].sliceSerialize(p[1],!0).length>=4?l(c):t(c)}function l(c){return c===null?m(c):C(c)?n.attempt(ie,l,m)(c):(n.enter("codeFlowValue"),a(c))}function a(c){return c===null||C(c)?(n.exit("codeFlowValue"),l(c)):(n.consume(c),a)}function m(c){return n.exit("codeIndented"),r(c)}}function le(n,r,t){const e=this;return u;function u(l){return e.parser.lazy[e.now().line]?t(l):C(l)?(n.enter("lineEnding"),n.consume(l),n.exit("lineEnding"),u):O(n,i,"linePrefix",5)(l)}function i(l){const a=e.events[e.events.length-1];return a&&a[1].type==="linePrefix"&&a[2].sliceSerialize(a[1],!0).length>=4?r(l):C(l)?u(l):t(l)}}const ae={name:"codeText",tokenize:ce,resolve:oe,previous:se};function oe(n){let r=n.length-4,t=3,e,u;if((n[t][1].type==="lineEnding"||n[t][1].type==="space")&&(n[r][1].type==="lineEnding"||n[r][1].type==="space")){for(e=t;++e=4?r(l):n.interrupt(e.parser.constructs.flow,t,r)(l)}}function at(n,r,t,e,u,i,l,a,m){const c=m||Number.POSITIVE_INFINITY;let p=0;return f;function f(b){return b===60?(n.enter(e),n.enter(u),n.enter(i),n.consume(b),n.exit(i),x):b===null||b===32||b===41||An(b)?t(b):(n.enter(e),n.enter(l),n.enter(a),n.enter("chunkString",{contentType:"string"}),I(b))}function x(b){return b===62?(n.enter(i),n.consume(b),n.exit(i),n.exit(u),n.exit(e),r):(n.enter(a),n.enter("chunkString",{contentType:"string"}),h(b))}function h(b){return b===62?(n.exit("chunkString"),n.exit(a),x(b)):b===null||b===60||C(b)?t(b):(n.consume(b),b===92?A:h)}function A(b){return b===60||b===62||b===92?(n.consume(b),h):h(b)}function I(b){return!p&&(b===null||b===41||Z(b))?(n.exit("chunkString"),n.exit(a),n.exit(l),n.exit(e),r(b)):p999||h===null||h===91||h===93&&!m||h===94&&!a&&"_hiddenFootnoteSupport"in l.parser.constructs?t(h):h===93?(n.exit(i),n.enter(u),n.consume(h),n.exit(u),n.exit(e),r):C(h)?(n.enter("lineEnding"),n.consume(h),n.exit("lineEnding"),p):(n.enter("chunkString",{contentType:"string"}),f(h))}function f(h){return h===null||h===91||h===93||C(h)||a++>999?(n.exit("chunkString"),p(h)):(n.consume(h),m||(m=!z(h)),h===92?x:f)}function x(h){return h===91||h===92||h===93?(n.consume(h),a++,f):f(h)}}function st(n,r,t,e,u,i){let l;return a;function a(x){return x===34||x===39||x===40?(n.enter(e),n.enter(u),n.consume(x),n.exit(u),l=x===40?41:x,m):t(x)}function m(x){return x===l?(n.enter(u),n.consume(x),n.exit(u),n.exit(e),r):(n.enter(i),c(x))}function c(x){return x===l?(n.exit(i),m(l)):x===null?t(x):C(x)?(n.enter("lineEnding"),n.consume(x),n.exit("lineEnding"),O(n,c,"linePrefix")):(n.enter("chunkString",{contentType:"string"}),p(x))}function p(x){return x===l||x===null||C(x)?(n.exit("chunkString"),c(x)):(n.consume(x),x===92?f:p)}function f(x){return x===l||x===92?(n.consume(x),p):p(x)}}function dn(n,r){let t;return e;function e(u){return C(u)?(n.enter("lineEnding"),n.consume(u),n.exit("lineEnding"),t=!0,e):z(u)?O(n,e,t?"linePrefix":"lineSuffix")(u):r(u)}}function xn(n){return n.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}const ke={name:"definition",tokenize:be},de={tokenize:ye,partial:!0};function be(n,r,t){const e=this;let u;return i;function i(h){return n.enter("definition"),l(h)}function l(h){return ot.call(e,n,a,t,"definitionLabel","definitionLabelMarker","definitionLabelString")(h)}function a(h){return u=xn(e.sliceSerialize(e.events[e.events.length-1][1]).slice(1,-1)),h===58?(n.enter("definitionMarker"),n.consume(h),n.exit("definitionMarker"),m):t(h)}function m(h){return Z(h)?dn(n,c)(h):c(h)}function c(h){return at(n,p,t,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(h)}function p(h){return n.attempt(de,f,f)(h)}function f(h){return z(h)?O(n,x,"whitespace")(h):x(h)}function x(h){return h===null||C(h)?(n.exit("definition"),e.parser.defined.push(u),r(h)):t(h)}}function ye(n,r,t){return e;function e(a){return Z(a)?dn(n,u)(a):t(a)}function u(a){return st(n,i,t,"definitionTitle","definitionTitleMarker","definitionTitleString")(a)}function i(a){return z(a)?O(n,l,"whitespace")(a):l(a)}function l(a){return a===null||C(a)?r(a):t(a)}}const Se={name:"hardBreakEscape",tokenize:Fe};function Fe(n,r,t){return e;function e(i){return n.enter("hardBreakEscape"),n.consume(i),u}function u(i){return C(i)?(n.exit("hardBreakEscape"),r(i)):t(i)}}const Ee={name:"headingAtx",tokenize:we,resolve:Ce};function Ce(n,r){let t=n.length-2,e=3,u,i;return n[e][1].type==="whitespace"&&(e+=2),t-2>e&&n[t][1].type==="whitespace"&&(t-=2),n[t][1].type==="atxHeadingSequence"&&(e===t-1||t-4>e&&n[t-2][1].type==="whitespace")&&(t-=e+1===t?2:4),t>e&&(u={type:"atxHeadingText",start:n[e][1].start,end:n[t][1].end},i={type:"chunkText",start:n[e][1].start,end:n[t][1].end,contentType:"text"},tn(n,e,t-e+1,[["enter",u,r],["enter",i,r],["exit",i,r],["exit",u,r]])),n}function we(n,r,t){let e=0;return u;function u(p){return n.enter("atxHeading"),i(p)}function i(p){return n.enter("atxHeadingSequence"),l(p)}function l(p){return p===35&&e++<6?(n.consume(p),l):p===null||Z(p)?(n.exit("atxHeadingSequence"),a(p)):t(p)}function a(p){return p===35?(n.enter("atxHeadingSequence"),m(p)):p===null||C(p)?(n.exit("atxHeading"),r(p)):z(p)?O(n,a,"whitespace")(p):(n.enter("atxHeadingText"),c(p))}function m(p){return p===35?(n.consume(p),m):(n.exit("atxHeadingSequence"),a(p))}function c(p){return p===null||p===35||Z(p)?(n.exit("atxHeadingText"),a(p)):(n.consume(p),c)}}const Ae=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],Jn=["pre","script","style","textarea"],ze={name:"htmlFlow",tokenize:Le,resolveTo:Be,concrete:!0},Ie={tokenize:De,partial:!0},Te={tokenize:Oe,partial:!0};function Be(n){let r=n.length;for(;r--&&!(n[r][0]==="enter"&&n[r][1].type==="htmlFlow"););return r>1&&n[r-2][1].type==="linePrefix"&&(n[r][1].start=n[r-2][1].start,n[r+1][1].start=n[r-2][1].start,n.splice(r-2,2)),n}function Le(n,r,t){const e=this;let u,i,l,a,m;return c;function c(s){return p(s)}function p(s){return n.enter("htmlFlow"),n.enter("htmlFlowData"),n.consume(s),f}function f(s){return s===33?(n.consume(s),x):s===47?(n.consume(s),i=!0,I):s===63?(n.consume(s),u=3,e.interrupt?r:o):nn(s)?(n.consume(s),l=String.fromCharCode(s),M):t(s)}function x(s){return s===45?(n.consume(s),u=2,h):s===91?(n.consume(s),u=5,a=0,A):nn(s)?(n.consume(s),u=4,e.interrupt?r:o):t(s)}function h(s){return s===45?(n.consume(s),e.interrupt?r:o):t(s)}function A(s){const K="CDATA[";return s===K.charCodeAt(a++)?(n.consume(s),a===K.length?e.interrupt?r:S:A):t(s)}function I(s){return nn(s)?(n.consume(s),l=String.fromCharCode(s),M):t(s)}function M(s){if(s===null||s===47||s===62||Z(s)){const K=s===47,hn=l.toLowerCase();return!K&&!i&&Jn.includes(hn)?(u=1,e.interrupt?r(s):S(s)):Ae.includes(l.toLowerCase())?(u=6,K?(n.consume(s),b):e.interrupt?r(s):S(s)):(u=7,e.interrupt&&!e.parser.lazy[e.now().line]?t(s):i?j(s):F(s))}return s===45||v(s)?(n.consume(s),l+=String.fromCharCode(s),M):t(s)}function b(s){return s===62?(n.consume(s),e.interrupt?r:S):t(s)}function j(s){return z(s)?(n.consume(s),j):V(s)}function F(s){return s===47?(n.consume(s),V):s===58||s===95||nn(s)?(n.consume(s),D):z(s)?(n.consume(s),F):V(s)}function D(s){return s===45||s===46||s===58||s===95||v(s)?(n.consume(s),D):_(s)}function _(s){return s===61?(n.consume(s),k):z(s)?(n.consume(s),_):F(s)}function k(s){return s===null||s===60||s===61||s===62||s===96?t(s):s===34||s===39?(n.consume(s),m=s,T):z(s)?(n.consume(s),k):H(s)}function T(s){return s===m?(n.consume(s),m=null,N):s===null||C(s)?t(s):(n.consume(s),T)}function H(s){return s===null||s===34||s===39||s===47||s===60||s===61||s===62||s===96||Z(s)?_(s):(n.consume(s),H)}function N(s){return s===47||s===62||z(s)?F(s):t(s)}function V(s){return s===62?(n.consume(s),y):t(s)}function y(s){return s===null||C(s)?S(s):z(s)?(n.consume(s),y):t(s)}function S(s){return s===45&&u===2?(n.consume(s),U):s===60&&u===1?(n.consume(s),W):s===62&&u===4?(n.consume(s),J):s===63&&u===3?(n.consume(s),o):s===93&&u===5?(n.consume(s),en):C(s)&&(u===6||u===7)?(n.exit("htmlFlowData"),n.check(Ie,rn,P)(s)):s===null||C(s)?(n.exit("htmlFlowData"),P(s)):(n.consume(s),S)}function P(s){return n.check(Te,R,rn)(s)}function R(s){return n.enter("lineEnding"),n.consume(s),n.exit("lineEnding"),w}function w(s){return s===null||C(s)?P(s):(n.enter("htmlFlowData"),S(s))}function U(s){return s===45?(n.consume(s),o):S(s)}function W(s){return s===47?(n.consume(s),l="",G):S(s)}function G(s){if(s===62){const K=l.toLowerCase();return Jn.includes(K)?(n.consume(s),J):S(s)}return nn(s)&&l.length<8?(n.consume(s),l+=String.fromCharCode(s),G):S(s)}function en(s){return s===93?(n.consume(s),o):S(s)}function o(s){return s===62?(n.consume(s),J):s===45&&u===2?(n.consume(s),o):S(s)}function J(s){return s===null||C(s)?(n.exit("htmlFlowData"),rn(s)):(n.consume(s),J)}function rn(s){return n.exit("htmlFlow"),r(s)}}function Oe(n,r,t){const e=this;return u;function u(l){return C(l)?(n.enter("lineEnding"),n.consume(l),n.exit("lineEnding"),i):t(l)}function i(l){return e.parser.lazy[e.now().line]?t(l):r(l)}}function De(n,r,t){return e;function e(u){return n.enter("lineEnding"),n.consume(u),n.exit("lineEnding"),n.attempt(Sn,r,t)}}const Pe={name:"htmlText",tokenize:_e};function _e(n,r,t){const e=this;let u,i,l;return a;function a(o){return n.enter("htmlText"),n.enter("htmlTextData"),n.consume(o),m}function m(o){return o===33?(n.consume(o),c):o===47?(n.consume(o),_):o===63?(n.consume(o),F):nn(o)?(n.consume(o),H):t(o)}function c(o){return o===45?(n.consume(o),p):o===91?(n.consume(o),i=0,A):nn(o)?(n.consume(o),j):t(o)}function p(o){return o===45?(n.consume(o),h):t(o)}function f(o){return o===null?t(o):o===45?(n.consume(o),x):C(o)?(l=f,W(o)):(n.consume(o),f)}function x(o){return o===45?(n.consume(o),h):f(o)}function h(o){return o===62?U(o):o===45?x(o):f(o)}function A(o){const J="CDATA[";return o===J.charCodeAt(i++)?(n.consume(o),i===J.length?I:A):t(o)}function I(o){return o===null?t(o):o===93?(n.consume(o),M):C(o)?(l=I,W(o)):(n.consume(o),I)}function M(o){return o===93?(n.consume(o),b):I(o)}function b(o){return o===62?U(o):o===93?(n.consume(o),b):I(o)}function j(o){return o===null||o===62?U(o):C(o)?(l=j,W(o)):(n.consume(o),j)}function F(o){return o===null?t(o):o===63?(n.consume(o),D):C(o)?(l=F,W(o)):(n.consume(o),F)}function D(o){return o===62?U(o):F(o)}function _(o){return nn(o)?(n.consume(o),k):t(o)}function k(o){return o===45||v(o)?(n.consume(o),k):T(o)}function T(o){return C(o)?(l=T,W(o)):z(o)?(n.consume(o),T):U(o)}function H(o){return o===45||v(o)?(n.consume(o),H):o===47||o===62||Z(o)?N(o):t(o)}function N(o){return o===47?(n.consume(o),U):o===58||o===95||nn(o)?(n.consume(o),V):C(o)?(l=N,W(o)):z(o)?(n.consume(o),N):U(o)}function V(o){return o===45||o===46||o===58||o===95||v(o)?(n.consume(o),V):y(o)}function y(o){return o===61?(n.consume(o),S):C(o)?(l=y,W(o)):z(o)?(n.consume(o),y):N(o)}function S(o){return o===null||o===60||o===61||o===62||o===96?t(o):o===34||o===39?(n.consume(o),u=o,P):C(o)?(l=S,W(o)):z(o)?(n.consume(o),S):(n.consume(o),R)}function P(o){return o===u?(n.consume(o),u=void 0,w):o===null?t(o):C(o)?(l=P,W(o)):(n.consume(o),P)}function R(o){return o===null||o===34||o===39||o===60||o===61||o===96?t(o):o===47||o===62||Z(o)?N(o):(n.consume(o),R)}function w(o){return o===47||o===62||Z(o)?N(o):t(o)}function U(o){return o===62?(n.consume(o),n.exit("htmlTextData"),n.exit("htmlText"),r):t(o)}function W(o){return n.exit("htmlTextData"),n.enter("lineEnding"),n.consume(o),n.exit("lineEnding"),G}function G(o){return z(o)?O(n,en,"linePrefix",e.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(o):en(o)}function en(o){return n.enter("htmlTextData"),l(o)}}const Dn={name:"labelEnd",tokenize:Ne,resolveTo:He,resolveAll:qe},Me={tokenize:Ve},je={tokenize:We},Re={tokenize:Qe};function qe(n){let r=-1;for(;++r=3&&(c===null||C(c))?(n.exit("thematicBreak"),r(c)):t(c)}function m(c){return c===u?(n.consume(c),e++,m):(n.exit("thematicBreakSequence"),z(c)?O(n,a,"whitespace")(c):a(c))}}const $={name:"list",tokenize:ve,continuation:{tokenize:nr},exit:er},Ke={tokenize:rr,partial:!0},Xe={tokenize:tr,partial:!0};function ve(n,r,t){const e=this,u=e.events[e.events.length-1];let i=u&&u[1].type==="linePrefix"?u[2].sliceSerialize(u[1],!0).length:0,l=0;return a;function a(h){const A=e.containerState.type||(h===42||h===43||h===45?"listUnordered":"listOrdered");if(A==="listUnordered"?!e.containerState.marker||h===e.containerState.marker:zn(h)){if(e.containerState.type||(e.containerState.type=A,n.enter(A,{_container:!0})),A==="listUnordered")return n.enter("listItemPrefix"),h===42||h===45?n.check(bn,t,c)(h):c(h);if(!e.interrupt||h===49)return n.enter("listItemPrefix"),n.enter("listItemValue"),m(h)}return t(h)}function m(h){return zn(h)&&++l<10?(n.consume(h),m):(!e.interrupt||l<2)&&(e.containerState.marker?h===e.containerState.marker:h===41||h===46)?(n.exit("listItemValue"),c(h)):t(h)}function c(h){return n.enter("listItemMarker"),n.consume(h),n.exit("listItemMarker"),e.containerState.marker=e.containerState.marker||h,n.check(Sn,e.interrupt?t:p,n.attempt(Ke,x,f))}function p(h){return e.containerState.initialBlankLine=!0,i++,x(h)}function f(h){return z(h)?(n.enter("listItemPrefixWhitespace"),n.consume(h),n.exit("listItemPrefixWhitespace"),x):t(h)}function x(h){return e.containerState.size=i+e.sliceSerialize(n.exit("listItemPrefix"),!0).length,r(h)}}function nr(n,r,t){const e=this;return e.containerState._closeFlow=void 0,n.check(Sn,u,i);function u(a){return e.containerState.furtherBlankLines=e.containerState.furtherBlankLines||e.containerState.initialBlankLine,O(n,r,"listItemIndent",e.containerState.size+1)(a)}function i(a){return e.containerState.furtherBlankLines||!z(a)?(e.containerState.furtherBlankLines=void 0,e.containerState.initialBlankLine=void 0,l(a)):(e.containerState.furtherBlankLines=void 0,e.containerState.initialBlankLine=void 0,n.attempt(Xe,r,l)(a))}function l(a){return e.containerState._closeFlow=!0,e.interrupt=void 0,O(n,n.attempt($,r,t),"linePrefix",e.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(a)}}function tr(n,r,t){const e=this;return O(n,u,"listItemIndent",e.containerState.size+1);function u(i){const l=e.events[e.events.length-1];return l&&l[1].type==="listItemIndent"&&l[2].sliceSerialize(l[1],!0).length===e.containerState.size?r(i):t(i)}}function er(n){n.exit(this.containerState.type)}function rr(n,r,t){const e=this;return O(n,u,"listItemPrefixWhitespace",e.parser.constructs.disable.null.includes("codeIndented")?void 0:5);function u(i){const l=e.events[e.events.length-1];return!z(i)&&l&&l[1].type==="listItemPrefixWhitespace"?r(i):t(i)}}const Kn={name:"setextUnderline",tokenize:ur,resolveTo:ir};function ir(n,r){let t=n.length,e,u,i;for(;t--;)if(n[t][0]==="enter"){if(n[t][1].type==="content"){e=t;break}n[t][1].type==="paragraph"&&(u=t)}else n[t][1].type==="content"&&n.splice(t,1),!i&&n[t][1].type==="definition"&&(i=t);const l={type:"setextHeading",start:Object.assign({},n[u][1].start),end:Object.assign({},n[n.length-1][1].end)};return n[u][1].type="setextHeadingText",i?(n.splice(u,0,["enter",l,r]),n.splice(i+1,0,["exit",n[e][1],r]),n[e][1].end=Object.assign({},n[i][1].end)):n[e][1]=l,n.push(["exit",l,r]),n}function ur(n,r,t){const e=this;let u;return i;function i(c){let p=e.events.length,f;for(;p--;)if(e.events[p][1].type!=="lineEnding"&&e.events[p][1].type!=="linePrefix"&&e.events[p][1].type!=="content"){f=e.events[p][1].type==="paragraph";break}return!e.parser.lazy[e.now().line]&&(e.interrupt||f)?(n.enter("setextHeadingLine"),u=c,l(c)):t(c)}function l(c){return n.enter("setextHeadingLineSequence"),a(c)}function a(c){return c===u?(n.consume(c),a):(n.exit("setextHeadingLineSequence"),z(c)?O(n,m,"lineSuffix")(c):m(c))}function m(c){return c===null||C(c)?(n.exit("setextHeadingLine"),r(c)):t(c)}}const lr={tokenize:ar};function ar(n){const r=this,t=n.attempt(Sn,e,n.attempt(this.parser.constructs.flowInitial,u,O(n,n.attempt(this.parser.constructs.flow,u,n.attempt(pe,u)),"linePrefix")));return t;function e(i){if(i===null){n.consume(i);return}return n.enter("lineEndingBlank"),n.consume(i),n.exit("lineEndingBlank"),r.currentConstruct=void 0,t}function u(i){if(i===null){n.consume(i);return}return n.enter("lineEnding"),n.consume(i),n.exit("lineEnding"),r.currentConstruct=void 0,t}}const or={resolveAll:ht()},sr=ct("string"),cr=ct("text");function ct(n){return{tokenize:r,resolveAll:ht(n==="text"?hr:void 0)};function r(t){const e=this,u=this.parser.constructs[n],i=t.attempt(u,l,a);return l;function l(p){return c(p)?i(p):a(p)}function a(p){if(p===null){t.consume(p);return}return t.enter("data"),t.consume(p),m}function m(p){return c(p)?(t.exit("data"),i(p)):(t.consume(p),m)}function c(p){if(p===null)return!0;const f=u[p];let x=-1;if(f)for(;++x-1){const a=l[0];typeof a=="string"?l[0]=a.slice(e):l.shift()}i>0&&l.push(n[u].slice(0,i))}return l}function mr(n,r){let t=-1;const e=[];let u;for(;++tu?0:u+r:r=r>u?u:r,t=t>0?t:0,e.length<1e4)l=Array.from(e),l.unshift(r,t),n.splice(...l);else for(t&&n.splice(r,t);i0?(tn(n,n.length,0,r),n):r}const Wn={}.hasOwnProperty;function Ot(n){const r={};let t=-1;for(;++tl))return;const T=r.events.length;let H=T,N,V;for(;H--;)if(r.events[H][0]==="exit"&&r.events[H][1].type==="chunkFlow"){if(N){V=r.events[H][1].end;break}N=!0}for(b(e),k=T;kF;){const _=t[D];r.containerState=_[1],_[0].exit.call(r,n)}t.length=F}function j(){u.write([null]),i=void 0,u=void 0,r.containerState._closeFlow=void 0}}function Ut(n,r,t){return O(n,n.attempt(this.parser.constructs.document,r,t),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function Un(n){if(n===null||Z(n)||Ht(n))return 1;if(qt(n))return 2}function Ln(n,r,t){const e=[];let u=-1;for(;++u1&&n[t][1].end.offset-n[t][1].start.offset>1?2:1;const f=Object.assign({},n[e][1].end),x=Object.assign({},n[t][1].start);$n(f,-m),$n(x,m),l={type:m>1?"strongSequence":"emphasisSequence",start:f,end:Object.assign({},n[e][1].end)},a={type:m>1?"strongSequence":"emphasisSequence",start:Object.assign({},n[t][1].start),end:x},i={type:m>1?"strongText":"emphasisText",start:Object.assign({},n[e][1].end),end:Object.assign({},n[t][1].start)},u={type:m>1?"strong":"emphasis",start:Object.assign({},l.start),end:Object.assign({},a.end)},n[e][1].end=Object.assign({},l.start),n[t][1].start=Object.assign({},a.end),c=[],n[e][1].end.offset-n[e][1].start.offset&&(c=Y(c,[["enter",n[e][1],r],["exit",n[e][1],r]])),c=Y(c,[["enter",u,r],["enter",l,r],["exit",l,r],["enter",i,r]]),c=Y(c,Ln(r.parser.constructs.insideSpan.null,n.slice(e+1,t),r)),c=Y(c,[["exit",i,r],["enter",a,r],["exit",a,r],["exit",u,r]]),n[t][1].end.offset-n[t][1].start.offset?(p=2,c=Y(c,[["enter",n[t][1],r],["exit",n[t][1],r]])):p=0,tn(n,e-1,t-e+3,c),t=e+c.length-p-2;break}}for(t=-1;++t0&&z(k)?O(n,j,"linePrefix",i+1)(k):j(k)}function j(k){return k===null||C(k)?n.check(Yn,I,D)(k):(n.enter("codeFlowValue"),F(k))}function F(k){return k===null||C(k)?(n.exit("codeFlowValue"),j(k)):(n.consume(k),F)}function D(k){return n.exit("codeFenced"),r(k)}function _(k,T,H){let N=0;return V;function V(w){return k.enter("lineEnding"),k.consume(w),k.exit("lineEnding"),y}function y(w){return k.enter("codeFencedFence"),z(w)?O(k,S,"linePrefix",e.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(w):S(w)}function S(w){return w===a?(k.enter("codeFencedFenceSequence"),P(w)):H(w)}function P(w){return w===a?(N++,k.consume(w),P):N>=l?(k.exit("codeFencedFenceSequence"),z(w)?O(k,R,"whitespace")(w):R(w)):H(w)}function R(w){return w===null||C(w)?(k.exit("codeFencedFence"),T(w)):H(w)}}}function re(n,r,t){const e=this;return u;function u(l){return l===null?t(l):(n.enter("lineEnding"),n.consume(l),n.exit("lineEnding"),i)}function i(l){return e.parser.lazy[e.now().line]?t(l):r(l)}}const Cn={name:"codeIndented",tokenize:ue},ie={tokenize:le,partial:!0};function ue(n,r,t){const e=this;return u;function u(c){return n.enter("codeIndented"),O(n,i,"linePrefix",5)(c)}function i(c){const p=e.events[e.events.length-1];return p&&p[1].type==="linePrefix"&&p[2].sliceSerialize(p[1],!0).length>=4?l(c):t(c)}function l(c){return c===null?m(c):C(c)?n.attempt(ie,l,m)(c):(n.enter("codeFlowValue"),a(c))}function a(c){return c===null||C(c)?(n.exit("codeFlowValue"),l(c)):(n.consume(c),a)}function m(c){return n.exit("codeIndented"),r(c)}}function le(n,r,t){const e=this;return u;function u(l){return e.parser.lazy[e.now().line]?t(l):C(l)?(n.enter("lineEnding"),n.consume(l),n.exit("lineEnding"),u):O(n,i,"linePrefix",5)(l)}function i(l){const a=e.events[e.events.length-1];return a&&a[1].type==="linePrefix"&&a[2].sliceSerialize(a[1],!0).length>=4?r(l):C(l)?u(l):t(l)}}const ae={name:"codeText",tokenize:ce,resolve:oe,previous:se};function oe(n){let r=n.length-4,t=3,e,u;if((n[t][1].type==="lineEnding"||n[t][1].type==="space")&&(n[r][1].type==="lineEnding"||n[r][1].type==="space")){for(e=t;++e=4?r(l):n.interrupt(e.parser.constructs.flow,t,r)(l)}}function at(n,r,t,e,u,i,l,a,m){const c=m||Number.POSITIVE_INFINITY;let p=0;return f;function f(b){return b===60?(n.enter(e),n.enter(u),n.enter(i),n.consume(b),n.exit(i),x):b===null||b===32||b===41||An(b)?t(b):(n.enter(e),n.enter(l),n.enter(a),n.enter("chunkString",{contentType:"string"}),I(b))}function x(b){return b===62?(n.enter(i),n.consume(b),n.exit(i),n.exit(u),n.exit(e),r):(n.enter(a),n.enter("chunkString",{contentType:"string"}),h(b))}function h(b){return b===62?(n.exit("chunkString"),n.exit(a),x(b)):b===null||b===60||C(b)?t(b):(n.consume(b),b===92?A:h)}function A(b){return b===60||b===62||b===92?(n.consume(b),h):h(b)}function I(b){return!p&&(b===null||b===41||Z(b))?(n.exit("chunkString"),n.exit(a),n.exit(l),n.exit(e),r(b)):p999||h===null||h===91||h===93&&!m||h===94&&!a&&"_hiddenFootnoteSupport"in l.parser.constructs?t(h):h===93?(n.exit(i),n.enter(u),n.consume(h),n.exit(u),n.exit(e),r):C(h)?(n.enter("lineEnding"),n.consume(h),n.exit("lineEnding"),p):(n.enter("chunkString",{contentType:"string"}),f(h))}function f(h){return h===null||h===91||h===93||C(h)||a++>999?(n.exit("chunkString"),p(h)):(n.consume(h),m||(m=!z(h)),h===92?x:f)}function x(h){return h===91||h===92||h===93?(n.consume(h),a++,f):f(h)}}function st(n,r,t,e,u,i){let l;return a;function a(x){return x===34||x===39||x===40?(n.enter(e),n.enter(u),n.consume(x),n.exit(u),l=x===40?41:x,m):t(x)}function m(x){return x===l?(n.enter(u),n.consume(x),n.exit(u),n.exit(e),r):(n.enter(i),c(x))}function c(x){return x===l?(n.exit(i),m(l)):x===null?t(x):C(x)?(n.enter("lineEnding"),n.consume(x),n.exit("lineEnding"),O(n,c,"linePrefix")):(n.enter("chunkString",{contentType:"string"}),p(x))}function p(x){return x===l||x===null||C(x)?(n.exit("chunkString"),c(x)):(n.consume(x),x===92?f:p)}function f(x){return x===l||x===92?(n.consume(x),p):p(x)}}function dn(n,r){let t;return e;function e(u){return C(u)?(n.enter("lineEnding"),n.consume(u),n.exit("lineEnding"),t=!0,e):z(u)?O(n,e,t?"linePrefix":"lineSuffix")(u):r(u)}}function xn(n){return n.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}const ke={name:"definition",tokenize:be},de={tokenize:ye,partial:!0};function be(n,r,t){const e=this;let u;return i;function i(h){return n.enter("definition"),l(h)}function l(h){return ot.call(e,n,a,t,"definitionLabel","definitionLabelMarker","definitionLabelString")(h)}function a(h){return u=xn(e.sliceSerialize(e.events[e.events.length-1][1]).slice(1,-1)),h===58?(n.enter("definitionMarker"),n.consume(h),n.exit("definitionMarker"),m):t(h)}function m(h){return Z(h)?dn(n,c)(h):c(h)}function c(h){return at(n,p,t,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(h)}function p(h){return n.attempt(de,f,f)(h)}function f(h){return z(h)?O(n,x,"whitespace")(h):x(h)}function x(h){return h===null||C(h)?(n.exit("definition"),e.parser.defined.push(u),r(h)):t(h)}}function ye(n,r,t){return e;function e(a){return Z(a)?dn(n,u)(a):t(a)}function u(a){return st(n,i,t,"definitionTitle","definitionTitleMarker","definitionTitleString")(a)}function i(a){return z(a)?O(n,l,"whitespace")(a):l(a)}function l(a){return a===null||C(a)?r(a):t(a)}}const Se={name:"hardBreakEscape",tokenize:Fe};function Fe(n,r,t){return e;function e(i){return n.enter("hardBreakEscape"),n.consume(i),u}function u(i){return C(i)?(n.exit("hardBreakEscape"),r(i)):t(i)}}const Ee={name:"headingAtx",tokenize:we,resolve:Ce};function Ce(n,r){let t=n.length-2,e=3,u,i;return n[e][1].type==="whitespace"&&(e+=2),t-2>e&&n[t][1].type==="whitespace"&&(t-=2),n[t][1].type==="atxHeadingSequence"&&(e===t-1||t-4>e&&n[t-2][1].type==="whitespace")&&(t-=e+1===t?2:4),t>e&&(u={type:"atxHeadingText",start:n[e][1].start,end:n[t][1].end},i={type:"chunkText",start:n[e][1].start,end:n[t][1].end,contentType:"text"},tn(n,e,t-e+1,[["enter",u,r],["enter",i,r],["exit",i,r],["exit",u,r]])),n}function we(n,r,t){let e=0;return u;function u(p){return n.enter("atxHeading"),i(p)}function i(p){return n.enter("atxHeadingSequence"),l(p)}function l(p){return p===35&&e++<6?(n.consume(p),l):p===null||Z(p)?(n.exit("atxHeadingSequence"),a(p)):t(p)}function a(p){return p===35?(n.enter("atxHeadingSequence"),m(p)):p===null||C(p)?(n.exit("atxHeading"),r(p)):z(p)?O(n,a,"whitespace")(p):(n.enter("atxHeadingText"),c(p))}function m(p){return p===35?(n.consume(p),m):(n.exit("atxHeadingSequence"),a(p))}function c(p){return p===null||p===35||Z(p)?(n.exit("atxHeadingText"),a(p)):(n.consume(p),c)}}const Ae=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],Jn=["pre","script","style","textarea"],ze={name:"htmlFlow",tokenize:Le,resolveTo:Be,concrete:!0},Ie={tokenize:De,partial:!0},Te={tokenize:Oe,partial:!0};function Be(n){let r=n.length;for(;r--&&!(n[r][0]==="enter"&&n[r][1].type==="htmlFlow"););return r>1&&n[r-2][1].type==="linePrefix"&&(n[r][1].start=n[r-2][1].start,n[r+1][1].start=n[r-2][1].start,n.splice(r-2,2)),n}function Le(n,r,t){const e=this;let u,i,l,a,m;return c;function c(s){return p(s)}function p(s){return n.enter("htmlFlow"),n.enter("htmlFlowData"),n.consume(s),f}function f(s){return s===33?(n.consume(s),x):s===47?(n.consume(s),i=!0,I):s===63?(n.consume(s),u=3,e.interrupt?r:o):nn(s)?(n.consume(s),l=String.fromCharCode(s),M):t(s)}function x(s){return s===45?(n.consume(s),u=2,h):s===91?(n.consume(s),u=5,a=0,A):nn(s)?(n.consume(s),u=4,e.interrupt?r:o):t(s)}function h(s){return s===45?(n.consume(s),e.interrupt?r:o):t(s)}function A(s){const K="CDATA[";return s===K.charCodeAt(a++)?(n.consume(s),a===K.length?e.interrupt?r:S:A):t(s)}function I(s){return nn(s)?(n.consume(s),l=String.fromCharCode(s),M):t(s)}function M(s){if(s===null||s===47||s===62||Z(s)){const K=s===47,hn=l.toLowerCase();return!K&&!i&&Jn.includes(hn)?(u=1,e.interrupt?r(s):S(s)):Ae.includes(l.toLowerCase())?(u=6,K?(n.consume(s),b):e.interrupt?r(s):S(s)):(u=7,e.interrupt&&!e.parser.lazy[e.now().line]?t(s):i?j(s):F(s))}return s===45||v(s)?(n.consume(s),l+=String.fromCharCode(s),M):t(s)}function b(s){return s===62?(n.consume(s),e.interrupt?r:S):t(s)}function j(s){return z(s)?(n.consume(s),j):V(s)}function F(s){return s===47?(n.consume(s),V):s===58||s===95||nn(s)?(n.consume(s),D):z(s)?(n.consume(s),F):V(s)}function D(s){return s===45||s===46||s===58||s===95||v(s)?(n.consume(s),D):_(s)}function _(s){return s===61?(n.consume(s),k):z(s)?(n.consume(s),_):F(s)}function k(s){return s===null||s===60||s===61||s===62||s===96?t(s):s===34||s===39?(n.consume(s),m=s,T):z(s)?(n.consume(s),k):H(s)}function T(s){return s===m?(n.consume(s),m=null,N):s===null||C(s)?t(s):(n.consume(s),T)}function H(s){return s===null||s===34||s===39||s===47||s===60||s===61||s===62||s===96||Z(s)?_(s):(n.consume(s),H)}function N(s){return s===47||s===62||z(s)?F(s):t(s)}function V(s){return s===62?(n.consume(s),y):t(s)}function y(s){return s===null||C(s)?S(s):z(s)?(n.consume(s),y):t(s)}function S(s){return s===45&&u===2?(n.consume(s),U):s===60&&u===1?(n.consume(s),W):s===62&&u===4?(n.consume(s),J):s===63&&u===3?(n.consume(s),o):s===93&&u===5?(n.consume(s),en):C(s)&&(u===6||u===7)?(n.exit("htmlFlowData"),n.check(Ie,rn,P)(s)):s===null||C(s)?(n.exit("htmlFlowData"),P(s)):(n.consume(s),S)}function P(s){return n.check(Te,R,rn)(s)}function R(s){return n.enter("lineEnding"),n.consume(s),n.exit("lineEnding"),w}function w(s){return s===null||C(s)?P(s):(n.enter("htmlFlowData"),S(s))}function U(s){return s===45?(n.consume(s),o):S(s)}function W(s){return s===47?(n.consume(s),l="",G):S(s)}function G(s){if(s===62){const K=l.toLowerCase();return Jn.includes(K)?(n.consume(s),J):S(s)}return nn(s)&&l.length<8?(n.consume(s),l+=String.fromCharCode(s),G):S(s)}function en(s){return s===93?(n.consume(s),o):S(s)}function o(s){return s===62?(n.consume(s),J):s===45&&u===2?(n.consume(s),o):S(s)}function J(s){return s===null||C(s)?(n.exit("htmlFlowData"),rn(s)):(n.consume(s),J)}function rn(s){return n.exit("htmlFlow"),r(s)}}function Oe(n,r,t){const e=this;return u;function u(l){return C(l)?(n.enter("lineEnding"),n.consume(l),n.exit("lineEnding"),i):t(l)}function i(l){return e.parser.lazy[e.now().line]?t(l):r(l)}}function De(n,r,t){return e;function e(u){return n.enter("lineEnding"),n.consume(u),n.exit("lineEnding"),n.attempt(Sn,r,t)}}const Pe={name:"htmlText",tokenize:_e};function _e(n,r,t){const e=this;let u,i,l;return a;function a(o){return n.enter("htmlText"),n.enter("htmlTextData"),n.consume(o),m}function m(o){return o===33?(n.consume(o),c):o===47?(n.consume(o),_):o===63?(n.consume(o),F):nn(o)?(n.consume(o),H):t(o)}function c(o){return o===45?(n.consume(o),p):o===91?(n.consume(o),i=0,A):nn(o)?(n.consume(o),j):t(o)}function p(o){return o===45?(n.consume(o),h):t(o)}function f(o){return o===null?t(o):o===45?(n.consume(o),x):C(o)?(l=f,W(o)):(n.consume(o),f)}function x(o){return o===45?(n.consume(o),h):f(o)}function h(o){return o===62?U(o):o===45?x(o):f(o)}function A(o){const J="CDATA[";return o===J.charCodeAt(i++)?(n.consume(o),i===J.length?I:A):t(o)}function I(o){return o===null?t(o):o===93?(n.consume(o),M):C(o)?(l=I,W(o)):(n.consume(o),I)}function M(o){return o===93?(n.consume(o),b):I(o)}function b(o){return o===62?U(o):o===93?(n.consume(o),b):I(o)}function j(o){return o===null||o===62?U(o):C(o)?(l=j,W(o)):(n.consume(o),j)}function F(o){return o===null?t(o):o===63?(n.consume(o),D):C(o)?(l=F,W(o)):(n.consume(o),F)}function D(o){return o===62?U(o):F(o)}function _(o){return nn(o)?(n.consume(o),k):t(o)}function k(o){return o===45||v(o)?(n.consume(o),k):T(o)}function T(o){return C(o)?(l=T,W(o)):z(o)?(n.consume(o),T):U(o)}function H(o){return o===45||v(o)?(n.consume(o),H):o===47||o===62||Z(o)?N(o):t(o)}function N(o){return o===47?(n.consume(o),U):o===58||o===95||nn(o)?(n.consume(o),V):C(o)?(l=N,W(o)):z(o)?(n.consume(o),N):U(o)}function V(o){return o===45||o===46||o===58||o===95||v(o)?(n.consume(o),V):y(o)}function y(o){return o===61?(n.consume(o),S):C(o)?(l=y,W(o)):z(o)?(n.consume(o),y):N(o)}function S(o){return o===null||o===60||o===61||o===62||o===96?t(o):o===34||o===39?(n.consume(o),u=o,P):C(o)?(l=S,W(o)):z(o)?(n.consume(o),S):(n.consume(o),R)}function P(o){return o===u?(n.consume(o),u=void 0,w):o===null?t(o):C(o)?(l=P,W(o)):(n.consume(o),P)}function R(o){return o===null||o===34||o===39||o===60||o===61||o===96?t(o):o===47||o===62||Z(o)?N(o):(n.consume(o),R)}function w(o){return o===47||o===62||Z(o)?N(o):t(o)}function U(o){return o===62?(n.consume(o),n.exit("htmlTextData"),n.exit("htmlText"),r):t(o)}function W(o){return n.exit("htmlTextData"),n.enter("lineEnding"),n.consume(o),n.exit("lineEnding"),G}function G(o){return z(o)?O(n,en,"linePrefix",e.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(o):en(o)}function en(o){return n.enter("htmlTextData"),l(o)}}const Dn={name:"labelEnd",tokenize:Ne,resolveTo:He,resolveAll:qe},Me={tokenize:Ve},je={tokenize:We},Re={tokenize:Qe};function qe(n){let r=-1;for(;++r=3&&(c===null||C(c))?(n.exit("thematicBreak"),r(c)):t(c)}function m(c){return c===u?(n.consume(c),e++,m):(n.exit("thematicBreakSequence"),z(c)?O(n,a,"whitespace")(c):a(c))}}const $={name:"list",tokenize:ve,continuation:{tokenize:nr},exit:er},Ke={tokenize:rr,partial:!0},Xe={tokenize:tr,partial:!0};function ve(n,r,t){const e=this,u=e.events[e.events.length-1];let i=u&&u[1].type==="linePrefix"?u[2].sliceSerialize(u[1],!0).length:0,l=0;return a;function a(h){const A=e.containerState.type||(h===42||h===43||h===45?"listUnordered":"listOrdered");if(A==="listUnordered"?!e.containerState.marker||h===e.containerState.marker:zn(h)){if(e.containerState.type||(e.containerState.type=A,n.enter(A,{_container:!0})),A==="listUnordered")return n.enter("listItemPrefix"),h===42||h===45?n.check(bn,t,c)(h):c(h);if(!e.interrupt||h===49)return n.enter("listItemPrefix"),n.enter("listItemValue"),m(h)}return t(h)}function m(h){return zn(h)&&++l<10?(n.consume(h),m):(!e.interrupt||l<2)&&(e.containerState.marker?h===e.containerState.marker:h===41||h===46)?(n.exit("listItemValue"),c(h)):t(h)}function c(h){return n.enter("listItemMarker"),n.consume(h),n.exit("listItemMarker"),e.containerState.marker=e.containerState.marker||h,n.check(Sn,e.interrupt?t:p,n.attempt(Ke,x,f))}function p(h){return e.containerState.initialBlankLine=!0,i++,x(h)}function f(h){return z(h)?(n.enter("listItemPrefixWhitespace"),n.consume(h),n.exit("listItemPrefixWhitespace"),x):t(h)}function x(h){return e.containerState.size=i+e.sliceSerialize(n.exit("listItemPrefix"),!0).length,r(h)}}function nr(n,r,t){const e=this;return e.containerState._closeFlow=void 0,n.check(Sn,u,i);function u(a){return e.containerState.furtherBlankLines=e.containerState.furtherBlankLines||e.containerState.initialBlankLine,O(n,r,"listItemIndent",e.containerState.size+1)(a)}function i(a){return e.containerState.furtherBlankLines||!z(a)?(e.containerState.furtherBlankLines=void 0,e.containerState.initialBlankLine=void 0,l(a)):(e.containerState.furtherBlankLines=void 0,e.containerState.initialBlankLine=void 0,n.attempt(Xe,r,l)(a))}function l(a){return e.containerState._closeFlow=!0,e.interrupt=void 0,O(n,n.attempt($,r,t),"linePrefix",e.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(a)}}function tr(n,r,t){const e=this;return O(n,u,"listItemIndent",e.containerState.size+1);function u(i){const l=e.events[e.events.length-1];return l&&l[1].type==="listItemIndent"&&l[2].sliceSerialize(l[1],!0).length===e.containerState.size?r(i):t(i)}}function er(n){n.exit(this.containerState.type)}function rr(n,r,t){const e=this;return O(n,u,"listItemPrefixWhitespace",e.parser.constructs.disable.null.includes("codeIndented")?void 0:5);function u(i){const l=e.events[e.events.length-1];return!z(i)&&l&&l[1].type==="listItemPrefixWhitespace"?r(i):t(i)}}const Kn={name:"setextUnderline",tokenize:ur,resolveTo:ir};function ir(n,r){let t=n.length,e,u,i;for(;t--;)if(n[t][0]==="enter"){if(n[t][1].type==="content"){e=t;break}n[t][1].type==="paragraph"&&(u=t)}else n[t][1].type==="content"&&n.splice(t,1),!i&&n[t][1].type==="definition"&&(i=t);const l={type:"setextHeading",start:Object.assign({},n[u][1].start),end:Object.assign({},n[n.length-1][1].end)};return n[u][1].type="setextHeadingText",i?(n.splice(u,0,["enter",l,r]),n.splice(i+1,0,["exit",n[e][1],r]),n[e][1].end=Object.assign({},n[i][1].end)):n[e][1]=l,n.push(["exit",l,r]),n}function ur(n,r,t){const e=this;let u;return i;function i(c){let p=e.events.length,f;for(;p--;)if(e.events[p][1].type!=="lineEnding"&&e.events[p][1].type!=="linePrefix"&&e.events[p][1].type!=="content"){f=e.events[p][1].type==="paragraph";break}return!e.parser.lazy[e.now().line]&&(e.interrupt||f)?(n.enter("setextHeadingLine"),u=c,l(c)):t(c)}function l(c){return n.enter("setextHeadingLineSequence"),a(c)}function a(c){return c===u?(n.consume(c),a):(n.exit("setextHeadingLineSequence"),z(c)?O(n,m,"lineSuffix")(c):m(c))}function m(c){return c===null||C(c)?(n.exit("setextHeadingLine"),r(c)):t(c)}}const lr={tokenize:ar};function ar(n){const r=this,t=n.attempt(Sn,e,n.attempt(this.parser.constructs.flowInitial,u,O(n,n.attempt(this.parser.constructs.flow,u,n.attempt(pe,u)),"linePrefix")));return t;function e(i){if(i===null){n.consume(i);return}return n.enter("lineEndingBlank"),n.consume(i),n.exit("lineEndingBlank"),r.currentConstruct=void 0,t}function u(i){if(i===null){n.consume(i);return}return n.enter("lineEnding"),n.consume(i),n.exit("lineEnding"),r.currentConstruct=void 0,t}}const or={resolveAll:ht()},sr=ct("string"),cr=ct("text");function ct(n){return{tokenize:r,resolveAll:ht(n==="text"?hr:void 0)};function r(t){const e=this,u=this.parser.constructs[n],i=t.attempt(u,l,a);return l;function l(p){return c(p)?i(p):a(p)}function a(p){if(p===null){t.consume(p);return}return t.enter("data"),t.consume(p),m}function m(p){return c(p)?(t.exit("data"),i(p)):(t.consume(p),m)}function c(p){if(p===null)return!0;const f=u[p];let x=-1;if(f)for(;++x-1){const a=l[0];typeof a=="string"?l[0]=a.slice(e):l.shift()}i>0&&l.push(n[u].slice(0,i))}return l}function mr(n,r){let t=-1;const e=[];let u;for(;++t13&&t<32||t>126&&t<160||t>55295&&t<57344||t>64975&&t<65008||(t&65535)===65535||(t&65535)===65534||t>1114111?"�":String.fromCharCode(t)}const Ir=/\\([!-/:-@[-`{-~])|&(#(?:\d{1,7}|x[\da-f]{1,6})|[\da-z]{1,31});/gi;function Tr(n){return n.replace(Ir,Br)}function Br(n,r,t){if(r)return r;if(t.charCodeAt(0)===35){const u=t.charCodeAt(1),i=u===120||u===88;return pt(t.slice(i?2:1),i?16:10)}return On(t)||n}function yn(n){return!n||typeof n!="object"?"":"position"in n||"type"in n?vn(n.position):"start"in n||"end"in n?vn(n):"line"in n||"column"in n?Tn(n):""}function Tn(n){return nt(n&&n.line)+":"+nt(n&&n.column)}function vn(n){return Tn(n&&n.start)+"-"+Tn(n&&n.end)}function nt(n){return n&&typeof n=="number"?n:1}const ft={}.hasOwnProperty,mt=function(n,r,t){return typeof r!="string"&&(t=r,r=void 0),Lr(t)(zr(wr(t).document().write(Ar()(n,r,!0))))};function Lr(n){const r={transforms:[],canContainEols:["emphasis","fragment","heading","paragraph","strong"],enter:{autolink:a(Hn),autolinkProtocol:y,autolinkEmail:y,atxHeading:a(jn),blockQuote:a(Fn),characterEscape:y,characterReference:y,codeFenced:a(Mn),codeFencedFenceInfo:m,codeFencedFenceMeta:m,codeIndented:a(Mn,m),codeText:a(kt,m),codeTextData:y,data:y,codeFlowValue:y,definition:a(dt),definitionDestinationString:m,definitionLabelString:m,definitionTitleString:m,emphasis:a(bt),hardBreakEscape:a(Rn),hardBreakTrailing:a(Rn),htmlFlow:a(qn,m),htmlFlowData:y,htmlText:a(qn,m),htmlTextData:y,image:a(yt),label:m,link:a(Hn),listItem:a(St),listItemValue:A,listOrdered:a(Nn,h),listUnordered:a(Nn),paragraph:a(Ft),reference:hn,referenceString:m,resourceDestinationString:m,resourceTitleString:m,setextHeading:a(jn),strong:a(Et),thematicBreak:a(wt)},exit:{atxHeading:p(),atxHeadingSequence:T,autolink:p(),autolinkEmail:mn,autolinkProtocol:fn,blockQuote:p(),characterEscapeValue:S,characterReferenceMarkerHexadecimal:pn,characterReferenceMarkerNumeric:pn,characterReferenceValue:an,codeFenced:p(j),codeFencedFence:b,codeFencedFenceInfo:I,codeFencedFenceMeta:M,codeFlowValue:S,codeIndented:p(F),codeText:p(W),codeTextData:S,data:S,definition:p(),definitionDestinationString:k,definitionLabelString:D,definitionTitleString:_,emphasis:p(),hardBreakEscape:p(R),hardBreakTrailing:p(R),htmlFlow:p(w),htmlFlowData:S,htmlText:p(U),htmlTextData:S,image:p(en),label:J,labelText:o,lineEnding:P,link:p(G),listItem:p(),listOrdered:p(),listUnordered:p(),paragraph:p(),referenceString:Q,resourceDestinationString:rn,resourceTitleString:s,resource:K,setextHeading:p(V),setextHeadingLineSequence:N,setextHeadingText:H,strong:p(),thematicBreak:p()}};xt(r,(n||{}).mdastExtensions||[]);const t={};return e;function e(g){let d={type:"root",children:[]};const E={stack:[d],tokenStack:[],config:r,enter:c,exit:f,buffer:m,resume:x,setData:i,getData:l},B=[];let L=-1;for(;++L0){const X=E.tokenStack[E.tokenStack.length-1];(X[1]||tt).call(E,void 0,X[0])}for(d.position={start:sn(g.length>0?g[0][1].start:{line:1,column:1,offset:0}),end:sn(g.length>0?g[g.length-2][1].end:{line:1,column:1,offset:0})},L=-1;++LThis article is for people who want to:

  • Create brokers dynamically.
  • Register tasks, and run them inside their code.
  • Implement more complex logic.

Taskiq allows you to set up broker instances throughout your application and register tasks for dynamic execution. However, tasks created this way won't be found by the taskiq worker command.

To define tasks and assign them to a broker, use register_task method.

import asyncio
+import{_ as n}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as s,c as a,a as e}from"./app-jADuhdjP.js";const t={},o=e(`

This article is for people who want to:

  • Create brokers dynamically.
  • Register tasks, and run them inside their code.
  • Implement more complex logic.

Taskiq allows you to set up broker instances throughout your application and register tasks for dynamic execution. However, tasks created this way won't be found by the taskiq worker command.

To define tasks and assign them to a broker, use register_task method.

import asyncio
 
 from taskiq_redis import ListQueueBroker
 
@@ -117,4 +117,4 @@ import{_ as n}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as s,c as a,
 
 if __name__ == "__main__":
     asyncio.run(main())
-
`,13),p=[o];function i(c,l){return s(),a("div",null,p)}const d=n(t,[["render",i],["__file","dynamic-brokers.html.vue"]]),k=JSON.parse(`{"path":"/guide/dynamic-brokers.html","title":"Dynamic Environments","lang":"en-US","frontmatter":{"title":"Dynamic Environments","order":9,"description":"This article is for people who want to: Create brokers dynamically. Register tasks, and run them inside their code. Implement more complex logic. Taskiq allows you to set up bro...","head":[["meta",{"property":"og:url","content":"https://taskiq-python.github.io/guide/dynamic-brokers.html"}],["meta",{"property":"og:site_name","content":"Taskiq"}],["meta",{"property":"og:title","content":"Dynamic Environments"}],["meta",{"property":"og:description","content":"This article is for people who want to: Create brokers dynamically. Register tasks, and run them inside their code. Implement more complex logic. Taskiq allows you to set up bro..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-04-20T00:01:02.000Z"}],["meta",{"property":"article:modified_time","content":"2024-04-20T00:01:02.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Dynamic Environments\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-04-20T00:01:02.000Z\\",\\"author\\":[]}"]]},"headers":[],"git":{"createdTime":1713571262000,"updatedTime":1713571262000,"contributors":[{"name":"Pavel Kirilin","email":"win10@list.ru","commits":1}]},"filePathRelative":"guide/dynamic-brokers.md","localizedDate":"April 20, 2024","autoDesc":true,"excerpt":"

This article is for people who want to:

\\n
    \\n
  • Create brokers dynamically.
  • \\n
  • Register tasks, and run them inside their code.
  • \\n
  • Implement more complex logic.
  • \\n
\\n

Taskiq allows you to set up broker instances throughout your application and register tasks for dynamic execution. However, tasks created this way won't be found by the taskiq worker command.

"}`);export{d as comp,k as data}; +
`,13),p=[o];function i(c,l){return s(),a("div",null,p)}const d=n(t,[["render",i],["__file","dynamic-brokers.html.vue"]]),k=JSON.parse(`{"path":"/guide/dynamic-brokers.html","title":"Dynamic Environments","lang":"en-US","frontmatter":{"title":"Dynamic Environments","order":9,"description":"This article is for people who want to: Create brokers dynamically. Register tasks, and run them inside their code. Implement more complex logic. Taskiq allows you to set up bro...","head":[["meta",{"property":"og:url","content":"https://taskiq-python.github.io/guide/dynamic-brokers.html"}],["meta",{"property":"og:site_name","content":"Taskiq"}],["meta",{"property":"og:title","content":"Dynamic Environments"}],["meta",{"property":"og:description","content":"This article is for people who want to: Create brokers dynamically. Register tasks, and run them inside their code. Implement more complex logic. Taskiq allows you to set up bro..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-04-26T20:07:59.000Z"}],["meta",{"property":"article:modified_time","content":"2024-04-26T20:07:59.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Dynamic Environments\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-04-26T20:07:59.000Z\\",\\"author\\":[]}"]]},"headers":[],"git":{"createdTime":1714162079000,"updatedTime":1714162079000,"contributors":[{"name":"Pavel Kirilin","email":"win10@list.ru","commits":1}]},"filePathRelative":"guide/dynamic-brokers.md","localizedDate":"April 26, 2024","autoDesc":true,"excerpt":"

This article is for people who want to:

\\n
    \\n
  • Create brokers dynamically.
  • \\n
  • Register tasks, and run them inside their code.
  • \\n
  • Implement more complex logic.
  • \\n
\\n

Taskiq allows you to set up broker instances throughout your application and register tasks for dynamic execution. However, tasks created this way won't be found by the taskiq worker command.

"}`);export{d as comp,k as data}; diff --git a/assets/edges-d32062c0--RfIKLIO.js b/assets/edges-d32062c0-DS1UiBKj.js similarity index 99% rename from assets/edges-d32062c0--RfIKLIO.js rename to assets/edges-d32062c0-DS1UiBKj.js index 92a4a51..82d64f3 100644 --- a/assets/edges-d32062c0--RfIKLIO.js +++ b/assets/edges-d32062c0-DS1UiBKj.js @@ -1,4 +1,4 @@ -import{q as H,c as b,d as V,ao as q,h as E,l as g,z as j,ap as lt}from"./mermaid.core-DtSoU78u.js";import{c as st}from"./createText-6b48ae7d-BQ6Vxn2Q.js";import{l as ct}from"./line-BM-2XH-S.js";const ht=(e,t,a,i)=>{t.forEach(l=>{wt[l](e,a,i)})},ot=(e,t,a)=>{g.trace("Making markers for ",a),e.append("defs").append("marker").attr("id",a+"_"+t+"-extensionStart").attr("class","marker extension "+t).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),e.append("defs").append("marker").attr("id",a+"_"+t+"-extensionEnd").attr("class","marker extension "+t).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z")},yt=(e,t,a)=>{e.append("defs").append("marker").attr("id",a+"_"+t+"-compositionStart").attr("class","marker composition "+t).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),e.append("defs").append("marker").attr("id",a+"_"+t+"-compositionEnd").attr("class","marker composition "+t).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},pt=(e,t,a)=>{e.append("defs").append("marker").attr("id",a+"_"+t+"-aggregationStart").attr("class","marker aggregation "+t).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),e.append("defs").append("marker").attr("id",a+"_"+t+"-aggregationEnd").attr("class","marker aggregation "+t).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},ft=(e,t,a)=>{e.append("defs").append("marker").attr("id",a+"_"+t+"-dependencyStart").attr("class","marker dependency "+t).attr("refX",6).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),e.append("defs").append("marker").attr("id",a+"_"+t+"-dependencyEnd").attr("class","marker dependency "+t).attr("refX",13).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},xt=(e,t,a)=>{e.append("defs").append("marker").attr("id",a+"_"+t+"-lollipopStart").attr("class","marker lollipop "+t).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),e.append("defs").append("marker").attr("id",a+"_"+t+"-lollipopEnd").attr("class","marker lollipop "+t).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6)},dt=(e,t,a)=>{e.append("marker").attr("id",a+"_"+t+"-pointEnd").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",6).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),e.append("marker").attr("id",a+"_"+t+"-pointStart").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",4.5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 5 L 10 10 L 10 0 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},gt=(e,t,a)=>{e.append("marker").attr("id",a+"_"+t+"-circleEnd").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",11).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),e.append("marker").attr("id",a+"_"+t+"-circleStart").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",-1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},ut=(e,t,a)=>{e.append("marker").attr("id",a+"_"+t+"-crossEnd").attr("class","marker cross "+t).attr("viewBox","0 0 11 11").attr("refX",12).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0"),e.append("marker").attr("id",a+"_"+t+"-crossStart").attr("class","marker cross "+t).attr("viewBox","0 0 11 11").attr("refX",-1).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0")},bt=(e,t,a)=>{e.append("defs").append("marker").attr("id",a+"_"+t+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","strokeWidth").attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},wt={extension:ot,composition:yt,aggregation:pt,dependency:ft,lollipop:xt,point:dt,circle:gt,cross:ut,barb:bt},hr=ht;function mt(e,t){t&&e.attr("style",t)}function kt(e){const t=E(document.createElementNS("http://www.w3.org/2000/svg","foreignObject")),a=t.append("xhtml:div"),i=e.label,l=e.isNode?"nodeLabel":"edgeLabel";return a.html('"+i+""),mt(a,e.labelStyle),a.style("display","inline-block"),a.style("white-space","nowrap"),a.attr("xmlns","http://www.w3.org/1999/xhtml"),t.node()}const vt=(e,t,a,i)=>{let l=e||"";if(typeof l=="object"&&(l=l[0]),H(b().flowchart.htmlLabels)){l=l.replace(/\\n|\n/g,"
"),g.debug("vertexText"+l);const r={isNode:i,label:q(l).replace(/fa[blrs]?:fa-[\w-]+/g,n=>``),labelStyle:t.replace("fill:","color:")};return kt(r)}else{const r=document.createElementNS("http://www.w3.org/2000/svg","text");r.setAttribute("style",t.replace("color:","fill:"));let s=[];typeof l=="string"?s=l.split(/\\n|\n|/gi):Array.isArray(l)?s=l:s=[];for(const n of s){const c=document.createElementNS("http://www.w3.org/2000/svg","tspan");c.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),c.setAttribute("dy","1em"),c.setAttribute("x","0"),a?c.setAttribute("class","title-row"):c.setAttribute("class","row"),c.textContent=n.trim(),r.appendChild(c)}return r}},R=vt,M=async(e,t,a,i)=>{let l;const r=t.useHtmlLabels||H(b().flowchart.htmlLabels);a?l=a:l="node default";const s=e.insert("g").attr("class",l).attr("id",t.domId||t.id),n=s.insert("g").attr("class","label").attr("style",t.labelStyle);let c;t.labelText===void 0?c="":c=typeof t.labelText=="string"?t.labelText:t.labelText[0];const o=n.node();let h;t.labelType==="markdown"?h=st(n,V(q(c),b()),{useHtmlLabels:r,width:t.width||b().flowchart.wrappingWidth,classes:"markdown-node-label"}):h=o.appendChild(R(V(q(c),b()),t.labelStyle,!1,i));let y=h.getBBox();const f=t.padding/2;if(H(b().flowchart.htmlLabels)){const p=h.children[0],d=E(h),k=p.getElementsByTagName("img");if(k){const x=c.replace(/]*>/g,"").trim()==="";await Promise.all([...k].map(u=>new Promise(S=>{function B(){if(u.style.display="flex",u.style.flexDirection="column",x){const C=b().fontSize?b().fontSize:window.getComputedStyle(document.body).fontSize,D=parseInt(C,10)*5+"px";u.style.minWidth=D,u.style.maxWidth=D}else u.style.width="100%";S(u)}setTimeout(()=>{u.complete&&B()}),u.addEventListener("error",B),u.addEventListener("load",B)})))}y=p.getBoundingClientRect(),d.attr("width",y.width),d.attr("height",y.height)}return r?n.attr("transform","translate("+-y.width/2+", "+-y.height/2+")"):n.attr("transform","translate(0, "+-y.height/2+")"),t.centerLabel&&n.attr("transform","translate("+-y.width/2+", "+-y.height/2+")"),n.insert("rect",":first-child"),{shapeSvg:s,bbox:y,halfPadding:f,label:n}},m=(e,t)=>{const a=t.node().getBBox();e.width=a.width,e.height=a.height};function I(e,t,a,i){return e.insert("polygon",":first-child").attr("points",i.map(function(l){return l.x+","+l.y}).join(" ")).attr("class","label-container").attr("transform","translate("+-t/2+","+a/2+")")}function Lt(e,t){return e.intersect(t)}function it(e,t,a,i){var l=e.x,r=e.y,s=l-i.x,n=r-i.y,c=Math.sqrt(t*t*n*n+a*a*s*s),o=Math.abs(t*a*s/c);i.x0}function Tt(e,t,a){var i=e.x,l=e.y,r=[],s=Number.POSITIVE_INFINITY,n=Number.POSITIVE_INFINITY;typeof t.forEach=="function"?t.forEach(function(d){s=Math.min(s,d.x),n=Math.min(n,d.y)}):(s=Math.min(s,t.x),n=Math.min(n,t.y));for(var c=i-e.width/2-s,o=l-e.height/2-n,h=0;h1&&r.sort(function(d,k){var x=d.x-a.x,u=d.y-a.y,S=Math.sqrt(x*x+u*u),B=k.x-a.x,C=k.y-a.y,X=Math.sqrt(B*B+C*C);return S{var a=e.x,i=e.y,l=t.x-a,r=t.y-i,s=e.width/2,n=e.height/2,c,o;return Math.abs(r)*s>Math.abs(l)*n?(r<0&&(n=-n),c=r===0?0:n*l/r,o=n):(l<0&&(s=-s),c=s,o=l===0?0:s*r/l),{x:a+c,y:i+o}},Et=Bt,w={node:Lt,circle:St,ellipse:it,polygon:Tt,rect:Et},Ct=async(e,t)=>{t.useHtmlLabels||b().flowchart.htmlLabels||(t.centerLabel=!0);const{shapeSvg:i,bbox:l,halfPadding:r}=await M(e,t,"node "+t.classes,!0);g.info("Classes = ",t.classes);const s=i.insert("rect",":first-child");return s.attr("rx",t.rx).attr("ry",t.ry).attr("x",-l.width/2-r).attr("y",-l.height/2-r).attr("width",l.width+t.padding).attr("height",l.height+t.padding),m(t,s),t.intersect=function(n){return w.rect(t,n)},i},$t=Ct,_t=e=>{const t=new Set;for(const a of e)switch(a){case"x":t.add("right"),t.add("left");break;case"y":t.add("up"),t.add("down");break;default:t.add(a);break}return t},Rt=(e,t,a)=>{const i=_t(e),l=2,r=t.height+2*a.padding,s=r/l,n=t.width+2*s+a.padding,c=a.padding/2;return i.has("right")&&i.has("left")&&i.has("up")&&i.has("down")?[{x:0,y:0},{x:s,y:0},{x:n/2,y:2*c},{x:n-s,y:0},{x:n,y:0},{x:n,y:-r/3},{x:n+2*c,y:-r/2},{x:n,y:-2*r/3},{x:n,y:-r},{x:n-s,y:-r},{x:n/2,y:-r-2*c},{x:s,y:-r},{x:0,y:-r},{x:0,y:-2*r/3},{x:-2*c,y:-r/2},{x:0,y:-r/3}]:i.has("right")&&i.has("left")&&i.has("up")?[{x:s,y:0},{x:n-s,y:0},{x:n,y:-r/2},{x:n-s,y:-r},{x:s,y:-r},{x:0,y:-r/2}]:i.has("right")&&i.has("left")&&i.has("down")?[{x:0,y:0},{x:s,y:-r},{x:n-s,y:-r},{x:n,y:0}]:i.has("right")&&i.has("up")&&i.has("down")?[{x:0,y:0},{x:n,y:-s},{x:n,y:-r+s},{x:0,y:-r}]:i.has("left")&&i.has("up")&&i.has("down")?[{x:n,y:0},{x:0,y:-s},{x:0,y:-r+s},{x:n,y:-r}]:i.has("right")&&i.has("left")?[{x:s,y:0},{x:s,y:-c},{x:n-s,y:-c},{x:n-s,y:0},{x:n,y:-r/2},{x:n-s,y:-r},{x:n-s,y:-r+c},{x:s,y:-r+c},{x:s,y:-r},{x:0,y:-r/2}]:i.has("up")&&i.has("down")?[{x:n/2,y:0},{x:0,y:-c},{x:s,y:-c},{x:s,y:-r+c},{x:0,y:-r+c},{x:n/2,y:-r},{x:n,y:-r+c},{x:n-s,y:-r+c},{x:n-s,y:-c},{x:n,y:-c}]:i.has("right")&&i.has("up")?[{x:0,y:0},{x:n,y:-s},{x:0,y:-r}]:i.has("right")&&i.has("down")?[{x:0,y:0},{x:n,y:0},{x:0,y:-r}]:i.has("left")&&i.has("up")?[{x:n,y:0},{x:0,y:-s},{x:n,y:-r}]:i.has("left")&&i.has("down")?[{x:n,y:0},{x:0,y:0},{x:n,y:-r}]:i.has("right")?[{x:s,y:-c},{x:s,y:-c},{x:n-s,y:-c},{x:n-s,y:0},{x:n,y:-r/2},{x:n-s,y:-r},{x:n-s,y:-r+c},{x:s,y:-r+c},{x:s,y:-r+c}]:i.has("left")?[{x:s,y:0},{x:s,y:-c},{x:n-s,y:-c},{x:n-s,y:-r+c},{x:s,y:-r+c},{x:s,y:-r},{x:0,y:-r/2}]:i.has("up")?[{x:s,y:-c},{x:s,y:-r+c},{x:0,y:-r+c},{x:n/2,y:-r},{x:n,y:-r+c},{x:n-s,y:-r+c},{x:n-s,y:-c}]:i.has("down")?[{x:n/2,y:0},{x:0,y:-c},{x:s,y:-c},{x:s,y:-r+c},{x:n-s,y:-r+c},{x:n-s,y:-c},{x:n,y:-c}]:[{x:0,y:0}]},K=e=>e?" "+e:"",_=(e,t)=>`${t||"node default"}${K(e.classes)} ${K(e.class)}`,P=async(e,t)=>{const{shapeSvg:a,bbox:i}=await M(e,t,_(t,void 0),!0),l=i.width+t.padding,r=i.height+t.padding,s=l+r,n=[{x:s/2,y:0},{x:s,y:-s/2},{x:s/2,y:-s},{x:0,y:-s/2}];g.info("Question main (Circle)");const c=I(a,s,s,n);return c.attr("style",t.style),m(t,c),t.intersect=function(o){return g.warn("Intersect called"),w.polygon(t,n,o)},a},Ht=(e,t)=>{const a=e.insert("g").attr("class","node default").attr("id",t.domId||t.id),i=28,l=[{x:0,y:i/2},{x:i/2,y:0},{x:0,y:-i/2},{x:-i/2,y:0}];return a.insert("polygon",":first-child").attr("points",l.map(function(s){return s.x+","+s.y}).join(" ")).attr("class","state-start").attr("r",7).attr("width",28).attr("height",28),t.width=28,t.height=28,t.intersect=function(s){return w.circle(t,14,s)},a},It=async(e,t)=>{const{shapeSvg:a,bbox:i}=await M(e,t,_(t,void 0),!0),l=4,r=i.height+t.padding,s=r/l,n=i.width+2*s+t.padding,c=[{x:s,y:0},{x:n-s,y:0},{x:n,y:-r/2},{x:n-s,y:-r},{x:s,y:-r},{x:0,y:-r/2}],o=I(a,n,r,c);return o.attr("style",t.style),m(t,o),t.intersect=function(h){return w.polygon(t,c,h)},a},Nt=async(e,t)=>{const{shapeSvg:a,bbox:i}=await M(e,t,void 0,!0),l=2,r=i.height+2*t.padding,s=r/l,n=i.width+2*s+t.padding,c=Rt(t.directions,i,t),o=I(a,n,r,c);return o.attr("style",t.style),m(t,o),t.intersect=function(h){return w.polygon(t,c,h)},a},Ot=async(e,t)=>{const{shapeSvg:a,bbox:i}=await M(e,t,_(t,void 0),!0),l=i.width+t.padding,r=i.height+t.padding,s=[{x:-r/2,y:0},{x:l,y:0},{x:l,y:-r},{x:-r/2,y:-r},{x:0,y:-r/2}];return I(a,l,r,s).attr("style",t.style),t.width=l+r,t.height=r,t.intersect=function(c){return w.polygon(t,s,c)},a},Wt=async(e,t)=>{const{shapeSvg:a,bbox:i}=await M(e,t,_(t),!0),l=i.width+t.padding,r=i.height+t.padding,s=[{x:-2*r/6,y:0},{x:l-r/6,y:0},{x:l+2*r/6,y:-r},{x:r/6,y:-r}],n=I(a,l,r,s);return n.attr("style",t.style),m(t,n),t.intersect=function(c){return w.polygon(t,s,c)},a},Xt=async(e,t)=>{const{shapeSvg:a,bbox:i}=await M(e,t,_(t,void 0),!0),l=i.width+t.padding,r=i.height+t.padding,s=[{x:2*r/6,y:0},{x:l+r/6,y:0},{x:l-2*r/6,y:-r},{x:-r/6,y:-r}],n=I(a,l,r,s);return n.attr("style",t.style),m(t,n),t.intersect=function(c){return w.polygon(t,s,c)},a},Yt=async(e,t)=>{const{shapeSvg:a,bbox:i}=await M(e,t,_(t,void 0),!0),l=i.width+t.padding,r=i.height+t.padding,s=[{x:-2*r/6,y:0},{x:l+2*r/6,y:0},{x:l-r/6,y:-r},{x:r/6,y:-r}],n=I(a,l,r,s);return n.attr("style",t.style),m(t,n),t.intersect=function(c){return w.polygon(t,s,c)},a},Dt=async(e,t)=>{const{shapeSvg:a,bbox:i}=await M(e,t,_(t,void 0),!0),l=i.width+t.padding,r=i.height+t.padding,s=[{x:r/6,y:0},{x:l-r/6,y:0},{x:l+2*r/6,y:-r},{x:-2*r/6,y:-r}],n=I(a,l,r,s);return n.attr("style",t.style),m(t,n),t.intersect=function(c){return w.polygon(t,s,c)},a},At=async(e,t)=>{const{shapeSvg:a,bbox:i}=await M(e,t,_(t,void 0),!0),l=i.width+t.padding,r=i.height+t.padding,s=[{x:0,y:0},{x:l+r/2,y:0},{x:l,y:-r/2},{x:l+r/2,y:-r},{x:0,y:-r}],n=I(a,l,r,s);return n.attr("style",t.style),m(t,n),t.intersect=function(c){return w.polygon(t,s,c)},a},jt=async(e,t)=>{const{shapeSvg:a,bbox:i}=await M(e,t,_(t,void 0),!0),l=i.width+t.padding,r=l/2,s=r/(2.5+l/50),n=i.height+s+t.padding,c="M 0,"+s+" a "+r+","+s+" 0,0,0 "+l+" 0 a "+r+","+s+" 0,0,0 "+-l+" 0 l 0,"+n+" a "+r+","+s+" 0,0,0 "+l+" 0 l 0,"+-n,o=a.attr("label-offset-y",s).insert("path",":first-child").attr("style",t.style).attr("d",c).attr("transform","translate("+-l/2+","+-(n/2+s)+")");return m(t,o),t.intersect=function(h){const y=w.rect(t,h),f=y.x-t.x;if(r!=0&&(Math.abs(f)t.height/2-s)){let p=s*s*(1-f*f/(r*r));p!=0&&(p=Math.sqrt(p)),p=s-p,h.y-t.y>0&&(p=-p),y.y+=p}return y},a},Ut=async(e,t)=>{const{shapeSvg:a,bbox:i,halfPadding:l}=await M(e,t,"node "+t.classes+" "+t.class,!0),r=a.insert("rect",":first-child"),s=t.positioned?t.width:i.width+t.padding,n=t.positioned?t.height:i.height+t.padding,c=t.positioned?-s/2:-i.width/2-l,o=t.positioned?-n/2:-i.height/2-l;if(r.attr("class","basic label-container").attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("x",c).attr("y",o).attr("width",s).attr("height",n),t.props){const h=new Set(Object.keys(t.props));t.props.borders&&(Q(r,t.props.borders,s,n),h.delete("borders")),h.forEach(y=>{g.warn(`Unknown node property ${y}`)})}return m(t,r),t.intersect=function(h){return w.rect(t,h)},a},zt=async(e,t)=>{const{shapeSvg:a,bbox:i,halfPadding:l}=await M(e,t,"node "+t.classes,!0),r=a.insert("rect",":first-child"),s=t.positioned?t.width:i.width+t.padding,n=t.positioned?t.height:i.height+t.padding,c=t.positioned?-s/2:-i.width/2-l,o=t.positioned?-n/2:-i.height/2-l;if(r.attr("class","basic cluster composite label-container").attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("x",c).attr("y",o).attr("width",s).attr("height",n),t.props){const h=new Set(Object.keys(t.props));t.props.borders&&(Q(r,t.props.borders,s,n),h.delete("borders")),h.forEach(y=>{g.warn(`Unknown node property ${y}`)})}return m(t,r),t.intersect=function(h){return w.rect(t,h)},a},Zt=async(e,t)=>{const{shapeSvg:a}=await M(e,t,"label",!0);g.trace("Classes = ",t.class);const i=a.insert("rect",":first-child"),l=0,r=0;if(i.attr("width",l).attr("height",r),a.attr("class","label edgeLabel"),t.props){const s=new Set(Object.keys(t.props));t.props.borders&&(Q(i,t.props.borders,l,r),s.delete("borders")),s.forEach(n=>{g.warn(`Unknown node property ${n}`)})}return m(t,i),t.intersect=function(s){return w.rect(t,s)},a};function Q(e,t,a,i){const l=[],r=n=>{l.push(n,0)},s=n=>{l.push(0,n)};t.includes("t")?(g.debug("add top border"),r(a)):s(a),t.includes("r")?(g.debug("add right border"),r(i)):s(i),t.includes("b")?(g.debug("add bottom border"),r(a)):s(a),t.includes("l")?(g.debug("add left border"),r(i)):s(i),e.attr("stroke-dasharray",l.join(" "))}const Gt=(e,t)=>{let a;t.classes?a="node "+t.classes:a="node default";const i=e.insert("g").attr("class",a).attr("id",t.domId||t.id),l=i.insert("rect",":first-child"),r=i.insert("line"),s=i.insert("g").attr("class","label"),n=t.labelText.flat?t.labelText.flat():t.labelText;let c="";typeof n=="object"?c=n[0]:c=n,g.info("Label text abc79",c,n,typeof n=="object");const o=s.node().appendChild(R(c,t.labelStyle,!0,!0));let h={width:0,height:0};if(H(b().flowchart.htmlLabels)){const k=o.children[0],x=E(o);h=k.getBoundingClientRect(),x.attr("width",h.width),x.attr("height",h.height)}g.info("Text 2",n);const y=n.slice(1,n.length);let f=o.getBBox();const p=s.node().appendChild(R(y.join?y.join("
"):y,t.labelStyle,!0,!0));if(H(b().flowchart.htmlLabels)){const k=p.children[0],x=E(p);h=k.getBoundingClientRect(),x.attr("width",h.width),x.attr("height",h.height)}const d=t.padding/2;return E(p).attr("transform","translate( "+(h.width>f.width?0:(f.width-h.width)/2)+", "+(f.height+d+5)+")"),E(o).attr("transform","translate( "+(h.width{const{shapeSvg:a,bbox:i}=await M(e,t,_(t,void 0),!0),l=i.height+t.padding,r=i.width+l/4+t.padding,s=a.insert("rect",":first-child").attr("style",t.style).attr("rx",l/2).attr("ry",l/2).attr("x",-r/2).attr("y",-l/2).attr("width",r).attr("height",l);return m(t,s),t.intersect=function(n){return w.rect(t,n)},a},qt=async(e,t)=>{const{shapeSvg:a,bbox:i,halfPadding:l}=await M(e,t,_(t,void 0),!0),r=a.insert("circle",":first-child");return r.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("r",i.width/2+l).attr("width",i.width+t.padding).attr("height",i.height+t.padding),g.info("Circle main"),m(t,r),t.intersect=function(s){return g.info("Circle intersect",t,i.width/2+l,s),w.circle(t,i.width/2+l,s)},a},Qt=async(e,t)=>{const{shapeSvg:a,bbox:i,halfPadding:l}=await M(e,t,_(t,void 0),!0),r=5,s=a.insert("g",":first-child"),n=s.insert("circle"),c=s.insert("circle");return s.attr("class",t.class),n.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("r",i.width/2+l+r).attr("width",i.width+t.padding+r*2).attr("height",i.height+t.padding+r*2),c.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("r",i.width/2+l).attr("width",i.width+t.padding).attr("height",i.height+t.padding),g.info("DoubleCircle main"),m(t,n),t.intersect=function(o){return g.info("DoubleCircle intersect",t,i.width/2+l+r,o),w.circle(t,i.width/2+l+r,o)},a},Vt=async(e,t)=>{const{shapeSvg:a,bbox:i}=await M(e,t,_(t,void 0),!0),l=i.width+t.padding,r=i.height+t.padding,s=[{x:0,y:0},{x:l,y:0},{x:l,y:-r},{x:0,y:-r},{x:0,y:0},{x:-8,y:0},{x:l+8,y:0},{x:l+8,y:-r},{x:-8,y:-r},{x:-8,y:0}],n=I(a,l,r,s);return n.attr("style",t.style),m(t,n),t.intersect=function(c){return w.polygon(t,s,c)},a},Jt=(e,t)=>{const a=e.insert("g").attr("class","node default").attr("id",t.domId||t.id),i=a.insert("circle",":first-child");return i.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),m(t,i),t.intersect=function(l){return w.circle(t,7,l)},a},tt=(e,t,a)=>{const i=e.insert("g").attr("class","node default").attr("id",t.domId||t.id);let l=70,r=10;a==="LR"&&(l=10,r=70);const s=i.append("rect").attr("x",-1*l/2).attr("y",-1*r/2).attr("width",l).attr("height",r).attr("class","fork-join");return m(t,s),t.height=t.height+t.padding/2,t.width=t.width+t.padding/2,t.intersect=function(n){return w.rect(t,n)},i},Kt=(e,t)=>{const a=e.insert("g").attr("class","node default").attr("id",t.domId||t.id),i=a.insert("circle",":first-child"),l=a.insert("circle",":first-child");return l.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),i.attr("class","state-end").attr("r",5).attr("width",10).attr("height",10),m(t,l),t.intersect=function(r){return w.circle(t,7,r)},a},Pt=(e,t)=>{const a=t.padding/2,i=4,l=8;let r;t.classes?r="node "+t.classes:r="node default";const s=e.insert("g").attr("class",r).attr("id",t.domId||t.id),n=s.insert("rect",":first-child"),c=s.insert("line"),o=s.insert("line");let h=0,y=i;const f=s.insert("g").attr("class","label");let p=0;const d=t.classData.annotations&&t.classData.annotations[0],k=t.classData.annotations[0]?"«"+t.classData.annotations[0]+"»":"",x=f.node().appendChild(R(k,t.labelStyle,!0,!0));let u=x.getBBox();if(H(b().flowchart.htmlLabels)){const v=x.children[0],L=E(x);u=v.getBoundingClientRect(),L.attr("width",u.width),L.attr("height",u.height)}t.classData.annotations[0]&&(y+=u.height+i,h+=u.width);let S=t.classData.label;t.classData.type!==void 0&&t.classData.type!==""&&(b().flowchart.htmlLabels?S+="<"+t.classData.type+">":S+="<"+t.classData.type+">");const B=f.node().appendChild(R(S,t.labelStyle,!0,!0));E(B).attr("class","classTitle");let C=B.getBBox();if(H(b().flowchart.htmlLabels)){const v=B.children[0],L=E(B);C=v.getBoundingClientRect(),L.attr("width",C.width),L.attr("height",C.height)}y+=C.height+i,C.width>h&&(h=C.width);const X=[];t.classData.members.forEach(v=>{const L=v.getDisplayDetails();let W=L.displayText;b().flowchart.htmlLabels&&(W=W.replace(//g,">"));const N=f.node().appendChild(R(W,L.cssStyle?L.cssStyle:t.labelStyle,!0,!0));let $=N.getBBox();if(H(b().flowchart.htmlLabels)){const F=N.children[0],A=E(N);$=F.getBoundingClientRect(),A.attr("width",$.width),A.attr("height",$.height)}$.width>h&&(h=$.width),y+=$.height+i,X.push(N)}),y+=l;const D=[];if(t.classData.methods.forEach(v=>{const L=v.getDisplayDetails();let W=L.displayText;b().flowchart.htmlLabels&&(W=W.replace(//g,">"));const N=f.node().appendChild(R(W,L.cssStyle?L.cssStyle:t.labelStyle,!0,!0));let $=N.getBBox();if(H(b().flowchart.htmlLabels)){const F=N.children[0],A=E(N);$=F.getBoundingClientRect(),A.attr("width",$.width),A.attr("height",$.height)}$.width>h&&(h=$.width),y+=$.height+i,D.push(N)}),y+=l,d){let v=(h-u.width)/2;E(x).attr("transform","translate( "+(-1*h/2+v)+", "+-1*y/2+")"),p=u.height+i}let nt=(h-C.width)/2;return E(B).attr("transform","translate( "+(-1*h/2+nt)+", "+(-1*y/2+p)+")"),p+=C.height+i,c.attr("class","divider").attr("x1",-h/2-a).attr("x2",h/2+a).attr("y1",-y/2-a+l+p).attr("y2",-y/2-a+l+p),p+=l,X.forEach(v=>{E(v).attr("transform","translate( "+-h/2+", "+(-1*y/2+p+l/2)+")");const L=v==null?void 0:v.getBBox();p+=((L==null?void 0:L.height)??0)+i}),p+=l,o.attr("class","divider").attr("x1",-h/2-a).attr("x2",h/2+a).attr("y1",-y/2-a+l+p).attr("y2",-y/2-a+l+p),p+=l,D.forEach(v=>{E(v).attr("transform","translate( "+-h/2+", "+(-1*y/2+p)+")");const L=v==null?void 0:v.getBBox();p+=((L==null?void 0:L.height)??0)+i}),n.attr("style",t.style).attr("class","outer title-state").attr("x",-h/2-a).attr("y",-(y/2)-a).attr("width",h+t.padding).attr("height",y+t.padding),m(t,n),t.intersect=function(v){return w.rect(t,v)},s},rt={rhombus:P,composite:zt,question:P,rect:Ut,labelRect:Zt,rectWithTitle:Gt,choice:Ht,circle:qt,doublecircle:Qt,stadium:Ft,hexagon:It,block_arrow:Nt,rect_left_inv_arrow:Ot,lean_right:Wt,lean_left:Xt,trapezoid:Yt,inv_trapezoid:Dt,rect_right_inv_arrow:At,cylinder:jt,start:Jt,end:Kt,note:$t,subroutine:Vt,fork:tt,join:tt,class_box:Pt};let Y={};const or=async(e,t,a)=>{let i,l;if(t.link){let r;b().securityLevel==="sandbox"?r="_top":t.linkTarget&&(r=t.linkTarget||"_blank"),i=e.insert("svg:a").attr("xlink:href",t.link).attr("target",r),l=await rt[t.shape](i,t,a)}else l=await rt[t.shape](e,t,a),i=l;return t.tooltip&&l.attr("title",t.tooltip),t.class&&l.attr("class","node default "+t.class),i.attr("data-node","true"),i.attr("data-id",t.id),Y[t.id]=i,t.haveCallback&&Y[t.id].attr("class",Y[t.id].attr("class")+" clickable"),i},yr=(e,t)=>{Y[t.id]=e},pr=()=>{Y={}},fr=e=>{const t=Y[e.id];g.trace("Transforming node",e.diff,e,"translate("+(e.x-e.width/2-5)+", "+e.width/2+")");const a=8,i=e.diff||0;return e.clusterNode?t.attr("transform","translate("+(e.x+i-e.width/2)+", "+(e.y-e.height/2-a)+")"):t.attr("transform","translate("+e.x+", "+e.y+")"),i},tr=({flowchart:e})=>{var t,a;const i=((t=e==null?void 0:e.subGraphTitleMargin)==null?void 0:t.top)??0,l=((a=e==null?void 0:e.subGraphTitleMargin)==null?void 0:a.bottom)??0,r=i+l;return{subGraphTitleTopMargin:i,subGraphTitleBottomMargin:l,subGraphTitleTotalMargin:r}},O={aggregation:18,extension:18,composition:18,dependency:6,lollipop:13.5,arrow_point:5.3};function U(e,t){if(e===void 0||t===void 0)return{angle:0,deltaX:0,deltaY:0};e=Z(e),t=Z(t);const[a,i]=[e.x,e.y],[l,r]=[t.x,t.y],s=l-a,n=r-i;return{angle:Math.atan(n/s),deltaX:s,deltaY:n}}const Z=e=>Array.isArray(e)?{x:e[0],y:e[1]}:e,rr=e=>({x:function(t,a,i){let l=0;if(a===0&&Object.hasOwn(O,e.arrowTypeStart)){const{angle:r,deltaX:s}=U(i[0],i[1]);l=O[e.arrowTypeStart]*Math.cos(r)*(s>=0?1:-1)}else if(a===i.length-1&&Object.hasOwn(O,e.arrowTypeEnd)){const{angle:r,deltaX:s}=U(i[i.length-1],i[i.length-2]);l=O[e.arrowTypeEnd]*Math.cos(r)*(s>=0?1:-1)}return Z(t).x+l},y:function(t,a,i){let l=0;if(a===0&&Object.hasOwn(O,e.arrowTypeStart)){const{angle:r,deltaY:s}=U(i[0],i[1]);l=O[e.arrowTypeStart]*Math.abs(Math.sin(r))*(s>=0?1:-1)}else if(a===i.length-1&&Object.hasOwn(O,e.arrowTypeEnd)){const{angle:r,deltaY:s}=U(i[i.length-1],i[i.length-2]);l=O[e.arrowTypeEnd]*Math.abs(Math.sin(r))*(s>=0?1:-1)}return Z(t).y+l}}),ar=(e,t,a,i,l)=>{t.arrowTypeStart&&at(e,"start",t.arrowTypeStart,a,i,l),t.arrowTypeEnd&&at(e,"end",t.arrowTypeEnd,a,i,l)},er={arrow_cross:"cross",arrow_point:"point",arrow_barb:"barb",arrow_circle:"circle",aggregation:"aggregation",extension:"extension",composition:"composition",dependency:"dependency",lollipop:"lollipop"},at=(e,t,a,i,l,r)=>{const s=er[a];if(!s){g.warn(`Unknown arrow type: ${a}`);return}const n=t==="start"?"Start":"End";e.attr(`marker-${t}`,`url(${i}#${l}_${r}-${s}${n})`)};let G={},T={};const xr=()=>{G={},T={}},dr=(e,t)=>{const a=H(b().flowchart.htmlLabels),i=t.labelType==="markdown"?st(e,t.label,{style:t.labelStyle,useHtmlLabels:a,addSvgBackground:!0}):R(t.label,t.labelStyle),l=e.insert("g").attr("class","edgeLabel"),r=l.insert("g").attr("class","label");r.node().appendChild(i);let s=i.getBBox();if(a){const c=i.children[0],o=E(i);s=c.getBoundingClientRect(),o.attr("width",s.width),o.attr("height",s.height)}r.attr("transform","translate("+-s.width/2+", "+-s.height/2+")"),G[t.id]=l,t.width=s.width,t.height=s.height;let n;if(t.startLabelLeft){const c=R(t.startLabelLeft,t.labelStyle),o=e.insert("g").attr("class","edgeTerminals"),h=o.insert("g").attr("class","inner");n=h.node().appendChild(c);const y=c.getBBox();h.attr("transform","translate("+-y.width/2+", "+-y.height/2+")"),T[t.id]||(T[t.id]={}),T[t.id].startLeft=o,z(n,t.startLabelLeft)}if(t.startLabelRight){const c=R(t.startLabelRight,t.labelStyle),o=e.insert("g").attr("class","edgeTerminals"),h=o.insert("g").attr("class","inner");n=o.node().appendChild(c),h.node().appendChild(c);const y=c.getBBox();h.attr("transform","translate("+-y.width/2+", "+-y.height/2+")"),T[t.id]||(T[t.id]={}),T[t.id].startRight=o,z(n,t.startLabelRight)}if(t.endLabelLeft){const c=R(t.endLabelLeft,t.labelStyle),o=e.insert("g").attr("class","edgeTerminals"),h=o.insert("g").attr("class","inner");n=h.node().appendChild(c);const y=c.getBBox();h.attr("transform","translate("+-y.width/2+", "+-y.height/2+")"),o.node().appendChild(c),T[t.id]||(T[t.id]={}),T[t.id].endLeft=o,z(n,t.endLabelLeft)}if(t.endLabelRight){const c=R(t.endLabelRight,t.labelStyle),o=e.insert("g").attr("class","edgeTerminals"),h=o.insert("g").attr("class","inner");n=h.node().appendChild(c);const y=c.getBBox();h.attr("transform","translate("+-y.width/2+", "+-y.height/2+")"),o.node().appendChild(c),T[t.id]||(T[t.id]={}),T[t.id].endRight=o,z(n,t.endLabelRight)}return i};function z(e,t){b().flowchart.htmlLabels&&e&&(e.style.width=t.length*9+"px",e.style.height="12px")}const gr=(e,t)=>{g.debug("Moving label abc88 ",e.id,e.label,G[e.id],t);let a=t.updatedPath?t.updatedPath:t.originalPath;const i=b(),{subGraphTitleTotalMargin:l}=tr(i);if(e.label){const r=G[e.id];let s=e.x,n=e.y;if(a){const c=j.calcLabelPosition(a);g.debug("Moving label "+e.label+" from (",s,",",n,") to (",c.x,",",c.y,") abc88"),t.updatedPath&&(s=c.x,n=c.y)}r.attr("transform",`translate(${s}, ${n+l/2})`)}if(e.startLabelLeft){const r=T[e.id].startLeft;let s=e.x,n=e.y;if(a){const c=j.calcTerminalLabelPosition(e.arrowTypeStart?10:0,"start_left",a);s=c.x,n=c.y}r.attr("transform",`translate(${s}, ${n})`)}if(e.startLabelRight){const r=T[e.id].startRight;let s=e.x,n=e.y;if(a){const c=j.calcTerminalLabelPosition(e.arrowTypeStart?10:0,"start_right",a);s=c.x,n=c.y}r.attr("transform",`translate(${s}, ${n})`)}if(e.endLabelLeft){const r=T[e.id].endLeft;let s=e.x,n=e.y;if(a){const c=j.calcTerminalLabelPosition(e.arrowTypeEnd?10:0,"end_left",a);s=c.x,n=c.y}r.attr("transform",`translate(${s}, ${n})`)}if(e.endLabelRight){const r=T[e.id].endRight;let s=e.x,n=e.y;if(a){const c=j.calcTerminalLabelPosition(e.arrowTypeEnd?10:0,"end_right",a);s=c.x,n=c.y}r.attr("transform",`translate(${s}, ${n})`)}},sr=(e,t)=>{const a=e.x,i=e.y,l=Math.abs(t.x-a),r=Math.abs(t.y-i),s=e.width/2,n=e.height/2;return l>=s||r>=n},ir=(e,t,a)=>{g.debug(`intersection calc abc89: +import{q as H,c as b,d as V,ao as q,h as E,l as g,z as j,ap as lt}from"./mermaid.core-C-ipfzeP.js";import{c as st}from"./createText-6b48ae7d-CHYbp3CC.js";import{l as ct}from"./line-BVHj5-SV.js";const ht=(e,t,a,i)=>{t.forEach(l=>{wt[l](e,a,i)})},ot=(e,t,a)=>{g.trace("Making markers for ",a),e.append("defs").append("marker").attr("id",a+"_"+t+"-extensionStart").attr("class","marker extension "+t).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),e.append("defs").append("marker").attr("id",a+"_"+t+"-extensionEnd").attr("class","marker extension "+t).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z")},yt=(e,t,a)=>{e.append("defs").append("marker").attr("id",a+"_"+t+"-compositionStart").attr("class","marker composition "+t).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),e.append("defs").append("marker").attr("id",a+"_"+t+"-compositionEnd").attr("class","marker composition "+t).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},pt=(e,t,a)=>{e.append("defs").append("marker").attr("id",a+"_"+t+"-aggregationStart").attr("class","marker aggregation "+t).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),e.append("defs").append("marker").attr("id",a+"_"+t+"-aggregationEnd").attr("class","marker aggregation "+t).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},ft=(e,t,a)=>{e.append("defs").append("marker").attr("id",a+"_"+t+"-dependencyStart").attr("class","marker dependency "+t).attr("refX",6).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),e.append("defs").append("marker").attr("id",a+"_"+t+"-dependencyEnd").attr("class","marker dependency "+t).attr("refX",13).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},xt=(e,t,a)=>{e.append("defs").append("marker").attr("id",a+"_"+t+"-lollipopStart").attr("class","marker lollipop "+t).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),e.append("defs").append("marker").attr("id",a+"_"+t+"-lollipopEnd").attr("class","marker lollipop "+t).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6)},dt=(e,t,a)=>{e.append("marker").attr("id",a+"_"+t+"-pointEnd").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",6).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),e.append("marker").attr("id",a+"_"+t+"-pointStart").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",4.5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 5 L 10 10 L 10 0 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},gt=(e,t,a)=>{e.append("marker").attr("id",a+"_"+t+"-circleEnd").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",11).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),e.append("marker").attr("id",a+"_"+t+"-circleStart").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",-1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},ut=(e,t,a)=>{e.append("marker").attr("id",a+"_"+t+"-crossEnd").attr("class","marker cross "+t).attr("viewBox","0 0 11 11").attr("refX",12).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0"),e.append("marker").attr("id",a+"_"+t+"-crossStart").attr("class","marker cross "+t).attr("viewBox","0 0 11 11").attr("refX",-1).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0")},bt=(e,t,a)=>{e.append("defs").append("marker").attr("id",a+"_"+t+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","strokeWidth").attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},wt={extension:ot,composition:yt,aggregation:pt,dependency:ft,lollipop:xt,point:dt,circle:gt,cross:ut,barb:bt},hr=ht;function mt(e,t){t&&e.attr("style",t)}function kt(e){const t=E(document.createElementNS("http://www.w3.org/2000/svg","foreignObject")),a=t.append("xhtml:div"),i=e.label,l=e.isNode?"nodeLabel":"edgeLabel";return a.html('"+i+""),mt(a,e.labelStyle),a.style("display","inline-block"),a.style("white-space","nowrap"),a.attr("xmlns","http://www.w3.org/1999/xhtml"),t.node()}const vt=(e,t,a,i)=>{let l=e||"";if(typeof l=="object"&&(l=l[0]),H(b().flowchart.htmlLabels)){l=l.replace(/\\n|\n/g,"
"),g.debug("vertexText"+l);const r={isNode:i,label:q(l).replace(/fa[blrs]?:fa-[\w-]+/g,n=>``),labelStyle:t.replace("fill:","color:")};return kt(r)}else{const r=document.createElementNS("http://www.w3.org/2000/svg","text");r.setAttribute("style",t.replace("color:","fill:"));let s=[];typeof l=="string"?s=l.split(/\\n|\n|/gi):Array.isArray(l)?s=l:s=[];for(const n of s){const c=document.createElementNS("http://www.w3.org/2000/svg","tspan");c.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),c.setAttribute("dy","1em"),c.setAttribute("x","0"),a?c.setAttribute("class","title-row"):c.setAttribute("class","row"),c.textContent=n.trim(),r.appendChild(c)}return r}},R=vt,M=async(e,t,a,i)=>{let l;const r=t.useHtmlLabels||H(b().flowchart.htmlLabels);a?l=a:l="node default";const s=e.insert("g").attr("class",l).attr("id",t.domId||t.id),n=s.insert("g").attr("class","label").attr("style",t.labelStyle);let c;t.labelText===void 0?c="":c=typeof t.labelText=="string"?t.labelText:t.labelText[0];const o=n.node();let h;t.labelType==="markdown"?h=st(n,V(q(c),b()),{useHtmlLabels:r,width:t.width||b().flowchart.wrappingWidth,classes:"markdown-node-label"}):h=o.appendChild(R(V(q(c),b()),t.labelStyle,!1,i));let y=h.getBBox();const f=t.padding/2;if(H(b().flowchart.htmlLabels)){const p=h.children[0],d=E(h),k=p.getElementsByTagName("img");if(k){const x=c.replace(/]*>/g,"").trim()==="";await Promise.all([...k].map(u=>new Promise(S=>{function B(){if(u.style.display="flex",u.style.flexDirection="column",x){const C=b().fontSize?b().fontSize:window.getComputedStyle(document.body).fontSize,D=parseInt(C,10)*5+"px";u.style.minWidth=D,u.style.maxWidth=D}else u.style.width="100%";S(u)}setTimeout(()=>{u.complete&&B()}),u.addEventListener("error",B),u.addEventListener("load",B)})))}y=p.getBoundingClientRect(),d.attr("width",y.width),d.attr("height",y.height)}return r?n.attr("transform","translate("+-y.width/2+", "+-y.height/2+")"):n.attr("transform","translate(0, "+-y.height/2+")"),t.centerLabel&&n.attr("transform","translate("+-y.width/2+", "+-y.height/2+")"),n.insert("rect",":first-child"),{shapeSvg:s,bbox:y,halfPadding:f,label:n}},m=(e,t)=>{const a=t.node().getBBox();e.width=a.width,e.height=a.height};function I(e,t,a,i){return e.insert("polygon",":first-child").attr("points",i.map(function(l){return l.x+","+l.y}).join(" ")).attr("class","label-container").attr("transform","translate("+-t/2+","+a/2+")")}function Lt(e,t){return e.intersect(t)}function it(e,t,a,i){var l=e.x,r=e.y,s=l-i.x,n=r-i.y,c=Math.sqrt(t*t*n*n+a*a*s*s),o=Math.abs(t*a*s/c);i.x0}function Tt(e,t,a){var i=e.x,l=e.y,r=[],s=Number.POSITIVE_INFINITY,n=Number.POSITIVE_INFINITY;typeof t.forEach=="function"?t.forEach(function(d){s=Math.min(s,d.x),n=Math.min(n,d.y)}):(s=Math.min(s,t.x),n=Math.min(n,t.y));for(var c=i-e.width/2-s,o=l-e.height/2-n,h=0;h1&&r.sort(function(d,k){var x=d.x-a.x,u=d.y-a.y,S=Math.sqrt(x*x+u*u),B=k.x-a.x,C=k.y-a.y,X=Math.sqrt(B*B+C*C);return S{var a=e.x,i=e.y,l=t.x-a,r=t.y-i,s=e.width/2,n=e.height/2,c,o;return Math.abs(r)*s>Math.abs(l)*n?(r<0&&(n=-n),c=r===0?0:n*l/r,o=n):(l<0&&(s=-s),c=s,o=l===0?0:s*r/l),{x:a+c,y:i+o}},Et=Bt,w={node:Lt,circle:St,ellipse:it,polygon:Tt,rect:Et},Ct=async(e,t)=>{t.useHtmlLabels||b().flowchart.htmlLabels||(t.centerLabel=!0);const{shapeSvg:i,bbox:l,halfPadding:r}=await M(e,t,"node "+t.classes,!0);g.info("Classes = ",t.classes);const s=i.insert("rect",":first-child");return s.attr("rx",t.rx).attr("ry",t.ry).attr("x",-l.width/2-r).attr("y",-l.height/2-r).attr("width",l.width+t.padding).attr("height",l.height+t.padding),m(t,s),t.intersect=function(n){return w.rect(t,n)},i},$t=Ct,_t=e=>{const t=new Set;for(const a of e)switch(a){case"x":t.add("right"),t.add("left");break;case"y":t.add("up"),t.add("down");break;default:t.add(a);break}return t},Rt=(e,t,a)=>{const i=_t(e),l=2,r=t.height+2*a.padding,s=r/l,n=t.width+2*s+a.padding,c=a.padding/2;return i.has("right")&&i.has("left")&&i.has("up")&&i.has("down")?[{x:0,y:0},{x:s,y:0},{x:n/2,y:2*c},{x:n-s,y:0},{x:n,y:0},{x:n,y:-r/3},{x:n+2*c,y:-r/2},{x:n,y:-2*r/3},{x:n,y:-r},{x:n-s,y:-r},{x:n/2,y:-r-2*c},{x:s,y:-r},{x:0,y:-r},{x:0,y:-2*r/3},{x:-2*c,y:-r/2},{x:0,y:-r/3}]:i.has("right")&&i.has("left")&&i.has("up")?[{x:s,y:0},{x:n-s,y:0},{x:n,y:-r/2},{x:n-s,y:-r},{x:s,y:-r},{x:0,y:-r/2}]:i.has("right")&&i.has("left")&&i.has("down")?[{x:0,y:0},{x:s,y:-r},{x:n-s,y:-r},{x:n,y:0}]:i.has("right")&&i.has("up")&&i.has("down")?[{x:0,y:0},{x:n,y:-s},{x:n,y:-r+s},{x:0,y:-r}]:i.has("left")&&i.has("up")&&i.has("down")?[{x:n,y:0},{x:0,y:-s},{x:0,y:-r+s},{x:n,y:-r}]:i.has("right")&&i.has("left")?[{x:s,y:0},{x:s,y:-c},{x:n-s,y:-c},{x:n-s,y:0},{x:n,y:-r/2},{x:n-s,y:-r},{x:n-s,y:-r+c},{x:s,y:-r+c},{x:s,y:-r},{x:0,y:-r/2}]:i.has("up")&&i.has("down")?[{x:n/2,y:0},{x:0,y:-c},{x:s,y:-c},{x:s,y:-r+c},{x:0,y:-r+c},{x:n/2,y:-r},{x:n,y:-r+c},{x:n-s,y:-r+c},{x:n-s,y:-c},{x:n,y:-c}]:i.has("right")&&i.has("up")?[{x:0,y:0},{x:n,y:-s},{x:0,y:-r}]:i.has("right")&&i.has("down")?[{x:0,y:0},{x:n,y:0},{x:0,y:-r}]:i.has("left")&&i.has("up")?[{x:n,y:0},{x:0,y:-s},{x:n,y:-r}]:i.has("left")&&i.has("down")?[{x:n,y:0},{x:0,y:0},{x:n,y:-r}]:i.has("right")?[{x:s,y:-c},{x:s,y:-c},{x:n-s,y:-c},{x:n-s,y:0},{x:n,y:-r/2},{x:n-s,y:-r},{x:n-s,y:-r+c},{x:s,y:-r+c},{x:s,y:-r+c}]:i.has("left")?[{x:s,y:0},{x:s,y:-c},{x:n-s,y:-c},{x:n-s,y:-r+c},{x:s,y:-r+c},{x:s,y:-r},{x:0,y:-r/2}]:i.has("up")?[{x:s,y:-c},{x:s,y:-r+c},{x:0,y:-r+c},{x:n/2,y:-r},{x:n,y:-r+c},{x:n-s,y:-r+c},{x:n-s,y:-c}]:i.has("down")?[{x:n/2,y:0},{x:0,y:-c},{x:s,y:-c},{x:s,y:-r+c},{x:n-s,y:-r+c},{x:n-s,y:-c},{x:n,y:-c}]:[{x:0,y:0}]},K=e=>e?" "+e:"",_=(e,t)=>`${t||"node default"}${K(e.classes)} ${K(e.class)}`,P=async(e,t)=>{const{shapeSvg:a,bbox:i}=await M(e,t,_(t,void 0),!0),l=i.width+t.padding,r=i.height+t.padding,s=l+r,n=[{x:s/2,y:0},{x:s,y:-s/2},{x:s/2,y:-s},{x:0,y:-s/2}];g.info("Question main (Circle)");const c=I(a,s,s,n);return c.attr("style",t.style),m(t,c),t.intersect=function(o){return g.warn("Intersect called"),w.polygon(t,n,o)},a},Ht=(e,t)=>{const a=e.insert("g").attr("class","node default").attr("id",t.domId||t.id),i=28,l=[{x:0,y:i/2},{x:i/2,y:0},{x:0,y:-i/2},{x:-i/2,y:0}];return a.insert("polygon",":first-child").attr("points",l.map(function(s){return s.x+","+s.y}).join(" ")).attr("class","state-start").attr("r",7).attr("width",28).attr("height",28),t.width=28,t.height=28,t.intersect=function(s){return w.circle(t,14,s)},a},It=async(e,t)=>{const{shapeSvg:a,bbox:i}=await M(e,t,_(t,void 0),!0),l=4,r=i.height+t.padding,s=r/l,n=i.width+2*s+t.padding,c=[{x:s,y:0},{x:n-s,y:0},{x:n,y:-r/2},{x:n-s,y:-r},{x:s,y:-r},{x:0,y:-r/2}],o=I(a,n,r,c);return o.attr("style",t.style),m(t,o),t.intersect=function(h){return w.polygon(t,c,h)},a},Nt=async(e,t)=>{const{shapeSvg:a,bbox:i}=await M(e,t,void 0,!0),l=2,r=i.height+2*t.padding,s=r/l,n=i.width+2*s+t.padding,c=Rt(t.directions,i,t),o=I(a,n,r,c);return o.attr("style",t.style),m(t,o),t.intersect=function(h){return w.polygon(t,c,h)},a},Ot=async(e,t)=>{const{shapeSvg:a,bbox:i}=await M(e,t,_(t,void 0),!0),l=i.width+t.padding,r=i.height+t.padding,s=[{x:-r/2,y:0},{x:l,y:0},{x:l,y:-r},{x:-r/2,y:-r},{x:0,y:-r/2}];return I(a,l,r,s).attr("style",t.style),t.width=l+r,t.height=r,t.intersect=function(c){return w.polygon(t,s,c)},a},Wt=async(e,t)=>{const{shapeSvg:a,bbox:i}=await M(e,t,_(t),!0),l=i.width+t.padding,r=i.height+t.padding,s=[{x:-2*r/6,y:0},{x:l-r/6,y:0},{x:l+2*r/6,y:-r},{x:r/6,y:-r}],n=I(a,l,r,s);return n.attr("style",t.style),m(t,n),t.intersect=function(c){return w.polygon(t,s,c)},a},Xt=async(e,t)=>{const{shapeSvg:a,bbox:i}=await M(e,t,_(t,void 0),!0),l=i.width+t.padding,r=i.height+t.padding,s=[{x:2*r/6,y:0},{x:l+r/6,y:0},{x:l-2*r/6,y:-r},{x:-r/6,y:-r}],n=I(a,l,r,s);return n.attr("style",t.style),m(t,n),t.intersect=function(c){return w.polygon(t,s,c)},a},Yt=async(e,t)=>{const{shapeSvg:a,bbox:i}=await M(e,t,_(t,void 0),!0),l=i.width+t.padding,r=i.height+t.padding,s=[{x:-2*r/6,y:0},{x:l+2*r/6,y:0},{x:l-r/6,y:-r},{x:r/6,y:-r}],n=I(a,l,r,s);return n.attr("style",t.style),m(t,n),t.intersect=function(c){return w.polygon(t,s,c)},a},Dt=async(e,t)=>{const{shapeSvg:a,bbox:i}=await M(e,t,_(t,void 0),!0),l=i.width+t.padding,r=i.height+t.padding,s=[{x:r/6,y:0},{x:l-r/6,y:0},{x:l+2*r/6,y:-r},{x:-2*r/6,y:-r}],n=I(a,l,r,s);return n.attr("style",t.style),m(t,n),t.intersect=function(c){return w.polygon(t,s,c)},a},At=async(e,t)=>{const{shapeSvg:a,bbox:i}=await M(e,t,_(t,void 0),!0),l=i.width+t.padding,r=i.height+t.padding,s=[{x:0,y:0},{x:l+r/2,y:0},{x:l,y:-r/2},{x:l+r/2,y:-r},{x:0,y:-r}],n=I(a,l,r,s);return n.attr("style",t.style),m(t,n),t.intersect=function(c){return w.polygon(t,s,c)},a},jt=async(e,t)=>{const{shapeSvg:a,bbox:i}=await M(e,t,_(t,void 0),!0),l=i.width+t.padding,r=l/2,s=r/(2.5+l/50),n=i.height+s+t.padding,c="M 0,"+s+" a "+r+","+s+" 0,0,0 "+l+" 0 a "+r+","+s+" 0,0,0 "+-l+" 0 l 0,"+n+" a "+r+","+s+" 0,0,0 "+l+" 0 l 0,"+-n,o=a.attr("label-offset-y",s).insert("path",":first-child").attr("style",t.style).attr("d",c).attr("transform","translate("+-l/2+","+-(n/2+s)+")");return m(t,o),t.intersect=function(h){const y=w.rect(t,h),f=y.x-t.x;if(r!=0&&(Math.abs(f)t.height/2-s)){let p=s*s*(1-f*f/(r*r));p!=0&&(p=Math.sqrt(p)),p=s-p,h.y-t.y>0&&(p=-p),y.y+=p}return y},a},Ut=async(e,t)=>{const{shapeSvg:a,bbox:i,halfPadding:l}=await M(e,t,"node "+t.classes+" "+t.class,!0),r=a.insert("rect",":first-child"),s=t.positioned?t.width:i.width+t.padding,n=t.positioned?t.height:i.height+t.padding,c=t.positioned?-s/2:-i.width/2-l,o=t.positioned?-n/2:-i.height/2-l;if(r.attr("class","basic label-container").attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("x",c).attr("y",o).attr("width",s).attr("height",n),t.props){const h=new Set(Object.keys(t.props));t.props.borders&&(Q(r,t.props.borders,s,n),h.delete("borders")),h.forEach(y=>{g.warn(`Unknown node property ${y}`)})}return m(t,r),t.intersect=function(h){return w.rect(t,h)},a},zt=async(e,t)=>{const{shapeSvg:a,bbox:i,halfPadding:l}=await M(e,t,"node "+t.classes,!0),r=a.insert("rect",":first-child"),s=t.positioned?t.width:i.width+t.padding,n=t.positioned?t.height:i.height+t.padding,c=t.positioned?-s/2:-i.width/2-l,o=t.positioned?-n/2:-i.height/2-l;if(r.attr("class","basic cluster composite label-container").attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("x",c).attr("y",o).attr("width",s).attr("height",n),t.props){const h=new Set(Object.keys(t.props));t.props.borders&&(Q(r,t.props.borders,s,n),h.delete("borders")),h.forEach(y=>{g.warn(`Unknown node property ${y}`)})}return m(t,r),t.intersect=function(h){return w.rect(t,h)},a},Zt=async(e,t)=>{const{shapeSvg:a}=await M(e,t,"label",!0);g.trace("Classes = ",t.class);const i=a.insert("rect",":first-child"),l=0,r=0;if(i.attr("width",l).attr("height",r),a.attr("class","label edgeLabel"),t.props){const s=new Set(Object.keys(t.props));t.props.borders&&(Q(i,t.props.borders,l,r),s.delete("borders")),s.forEach(n=>{g.warn(`Unknown node property ${n}`)})}return m(t,i),t.intersect=function(s){return w.rect(t,s)},a};function Q(e,t,a,i){const l=[],r=n=>{l.push(n,0)},s=n=>{l.push(0,n)};t.includes("t")?(g.debug("add top border"),r(a)):s(a),t.includes("r")?(g.debug("add right border"),r(i)):s(i),t.includes("b")?(g.debug("add bottom border"),r(a)):s(a),t.includes("l")?(g.debug("add left border"),r(i)):s(i),e.attr("stroke-dasharray",l.join(" "))}const Gt=(e,t)=>{let a;t.classes?a="node "+t.classes:a="node default";const i=e.insert("g").attr("class",a).attr("id",t.domId||t.id),l=i.insert("rect",":first-child"),r=i.insert("line"),s=i.insert("g").attr("class","label"),n=t.labelText.flat?t.labelText.flat():t.labelText;let c="";typeof n=="object"?c=n[0]:c=n,g.info("Label text abc79",c,n,typeof n=="object");const o=s.node().appendChild(R(c,t.labelStyle,!0,!0));let h={width:0,height:0};if(H(b().flowchart.htmlLabels)){const k=o.children[0],x=E(o);h=k.getBoundingClientRect(),x.attr("width",h.width),x.attr("height",h.height)}g.info("Text 2",n);const y=n.slice(1,n.length);let f=o.getBBox();const p=s.node().appendChild(R(y.join?y.join("
"):y,t.labelStyle,!0,!0));if(H(b().flowchart.htmlLabels)){const k=p.children[0],x=E(p);h=k.getBoundingClientRect(),x.attr("width",h.width),x.attr("height",h.height)}const d=t.padding/2;return E(p).attr("transform","translate( "+(h.width>f.width?0:(f.width-h.width)/2)+", "+(f.height+d+5)+")"),E(o).attr("transform","translate( "+(h.width{const{shapeSvg:a,bbox:i}=await M(e,t,_(t,void 0),!0),l=i.height+t.padding,r=i.width+l/4+t.padding,s=a.insert("rect",":first-child").attr("style",t.style).attr("rx",l/2).attr("ry",l/2).attr("x",-r/2).attr("y",-l/2).attr("width",r).attr("height",l);return m(t,s),t.intersect=function(n){return w.rect(t,n)},a},qt=async(e,t)=>{const{shapeSvg:a,bbox:i,halfPadding:l}=await M(e,t,_(t,void 0),!0),r=a.insert("circle",":first-child");return r.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("r",i.width/2+l).attr("width",i.width+t.padding).attr("height",i.height+t.padding),g.info("Circle main"),m(t,r),t.intersect=function(s){return g.info("Circle intersect",t,i.width/2+l,s),w.circle(t,i.width/2+l,s)},a},Qt=async(e,t)=>{const{shapeSvg:a,bbox:i,halfPadding:l}=await M(e,t,_(t,void 0),!0),r=5,s=a.insert("g",":first-child"),n=s.insert("circle"),c=s.insert("circle");return s.attr("class",t.class),n.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("r",i.width/2+l+r).attr("width",i.width+t.padding+r*2).attr("height",i.height+t.padding+r*2),c.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("r",i.width/2+l).attr("width",i.width+t.padding).attr("height",i.height+t.padding),g.info("DoubleCircle main"),m(t,n),t.intersect=function(o){return g.info("DoubleCircle intersect",t,i.width/2+l+r,o),w.circle(t,i.width/2+l+r,o)},a},Vt=async(e,t)=>{const{shapeSvg:a,bbox:i}=await M(e,t,_(t,void 0),!0),l=i.width+t.padding,r=i.height+t.padding,s=[{x:0,y:0},{x:l,y:0},{x:l,y:-r},{x:0,y:-r},{x:0,y:0},{x:-8,y:0},{x:l+8,y:0},{x:l+8,y:-r},{x:-8,y:-r},{x:-8,y:0}],n=I(a,l,r,s);return n.attr("style",t.style),m(t,n),t.intersect=function(c){return w.polygon(t,s,c)},a},Jt=(e,t)=>{const a=e.insert("g").attr("class","node default").attr("id",t.domId||t.id),i=a.insert("circle",":first-child");return i.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),m(t,i),t.intersect=function(l){return w.circle(t,7,l)},a},tt=(e,t,a)=>{const i=e.insert("g").attr("class","node default").attr("id",t.domId||t.id);let l=70,r=10;a==="LR"&&(l=10,r=70);const s=i.append("rect").attr("x",-1*l/2).attr("y",-1*r/2).attr("width",l).attr("height",r).attr("class","fork-join");return m(t,s),t.height=t.height+t.padding/2,t.width=t.width+t.padding/2,t.intersect=function(n){return w.rect(t,n)},i},Kt=(e,t)=>{const a=e.insert("g").attr("class","node default").attr("id",t.domId||t.id),i=a.insert("circle",":first-child"),l=a.insert("circle",":first-child");return l.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),i.attr("class","state-end").attr("r",5).attr("width",10).attr("height",10),m(t,l),t.intersect=function(r){return w.circle(t,7,r)},a},Pt=(e,t)=>{const a=t.padding/2,i=4,l=8;let r;t.classes?r="node "+t.classes:r="node default";const s=e.insert("g").attr("class",r).attr("id",t.domId||t.id),n=s.insert("rect",":first-child"),c=s.insert("line"),o=s.insert("line");let h=0,y=i;const f=s.insert("g").attr("class","label");let p=0;const d=t.classData.annotations&&t.classData.annotations[0],k=t.classData.annotations[0]?"«"+t.classData.annotations[0]+"»":"",x=f.node().appendChild(R(k,t.labelStyle,!0,!0));let u=x.getBBox();if(H(b().flowchart.htmlLabels)){const v=x.children[0],L=E(x);u=v.getBoundingClientRect(),L.attr("width",u.width),L.attr("height",u.height)}t.classData.annotations[0]&&(y+=u.height+i,h+=u.width);let S=t.classData.label;t.classData.type!==void 0&&t.classData.type!==""&&(b().flowchart.htmlLabels?S+="<"+t.classData.type+">":S+="<"+t.classData.type+">");const B=f.node().appendChild(R(S,t.labelStyle,!0,!0));E(B).attr("class","classTitle");let C=B.getBBox();if(H(b().flowchart.htmlLabels)){const v=B.children[0],L=E(B);C=v.getBoundingClientRect(),L.attr("width",C.width),L.attr("height",C.height)}y+=C.height+i,C.width>h&&(h=C.width);const X=[];t.classData.members.forEach(v=>{const L=v.getDisplayDetails();let W=L.displayText;b().flowchart.htmlLabels&&(W=W.replace(//g,">"));const N=f.node().appendChild(R(W,L.cssStyle?L.cssStyle:t.labelStyle,!0,!0));let $=N.getBBox();if(H(b().flowchart.htmlLabels)){const F=N.children[0],A=E(N);$=F.getBoundingClientRect(),A.attr("width",$.width),A.attr("height",$.height)}$.width>h&&(h=$.width),y+=$.height+i,X.push(N)}),y+=l;const D=[];if(t.classData.methods.forEach(v=>{const L=v.getDisplayDetails();let W=L.displayText;b().flowchart.htmlLabels&&(W=W.replace(//g,">"));const N=f.node().appendChild(R(W,L.cssStyle?L.cssStyle:t.labelStyle,!0,!0));let $=N.getBBox();if(H(b().flowchart.htmlLabels)){const F=N.children[0],A=E(N);$=F.getBoundingClientRect(),A.attr("width",$.width),A.attr("height",$.height)}$.width>h&&(h=$.width),y+=$.height+i,D.push(N)}),y+=l,d){let v=(h-u.width)/2;E(x).attr("transform","translate( "+(-1*h/2+v)+", "+-1*y/2+")"),p=u.height+i}let nt=(h-C.width)/2;return E(B).attr("transform","translate( "+(-1*h/2+nt)+", "+(-1*y/2+p)+")"),p+=C.height+i,c.attr("class","divider").attr("x1",-h/2-a).attr("x2",h/2+a).attr("y1",-y/2-a+l+p).attr("y2",-y/2-a+l+p),p+=l,X.forEach(v=>{E(v).attr("transform","translate( "+-h/2+", "+(-1*y/2+p+l/2)+")");const L=v==null?void 0:v.getBBox();p+=((L==null?void 0:L.height)??0)+i}),p+=l,o.attr("class","divider").attr("x1",-h/2-a).attr("x2",h/2+a).attr("y1",-y/2-a+l+p).attr("y2",-y/2-a+l+p),p+=l,D.forEach(v=>{E(v).attr("transform","translate( "+-h/2+", "+(-1*y/2+p)+")");const L=v==null?void 0:v.getBBox();p+=((L==null?void 0:L.height)??0)+i}),n.attr("style",t.style).attr("class","outer title-state").attr("x",-h/2-a).attr("y",-(y/2)-a).attr("width",h+t.padding).attr("height",y+t.padding),m(t,n),t.intersect=function(v){return w.rect(t,v)},s},rt={rhombus:P,composite:zt,question:P,rect:Ut,labelRect:Zt,rectWithTitle:Gt,choice:Ht,circle:qt,doublecircle:Qt,stadium:Ft,hexagon:It,block_arrow:Nt,rect_left_inv_arrow:Ot,lean_right:Wt,lean_left:Xt,trapezoid:Yt,inv_trapezoid:Dt,rect_right_inv_arrow:At,cylinder:jt,start:Jt,end:Kt,note:$t,subroutine:Vt,fork:tt,join:tt,class_box:Pt};let Y={};const or=async(e,t,a)=>{let i,l;if(t.link){let r;b().securityLevel==="sandbox"?r="_top":t.linkTarget&&(r=t.linkTarget||"_blank"),i=e.insert("svg:a").attr("xlink:href",t.link).attr("target",r),l=await rt[t.shape](i,t,a)}else l=await rt[t.shape](e,t,a),i=l;return t.tooltip&&l.attr("title",t.tooltip),t.class&&l.attr("class","node default "+t.class),i.attr("data-node","true"),i.attr("data-id",t.id),Y[t.id]=i,t.haveCallback&&Y[t.id].attr("class",Y[t.id].attr("class")+" clickable"),i},yr=(e,t)=>{Y[t.id]=e},pr=()=>{Y={}},fr=e=>{const t=Y[e.id];g.trace("Transforming node",e.diff,e,"translate("+(e.x-e.width/2-5)+", "+e.width/2+")");const a=8,i=e.diff||0;return e.clusterNode?t.attr("transform","translate("+(e.x+i-e.width/2)+", "+(e.y-e.height/2-a)+")"):t.attr("transform","translate("+e.x+", "+e.y+")"),i},tr=({flowchart:e})=>{var t,a;const i=((t=e==null?void 0:e.subGraphTitleMargin)==null?void 0:t.top)??0,l=((a=e==null?void 0:e.subGraphTitleMargin)==null?void 0:a.bottom)??0,r=i+l;return{subGraphTitleTopMargin:i,subGraphTitleBottomMargin:l,subGraphTitleTotalMargin:r}},O={aggregation:18,extension:18,composition:18,dependency:6,lollipop:13.5,arrow_point:5.3};function U(e,t){if(e===void 0||t===void 0)return{angle:0,deltaX:0,deltaY:0};e=Z(e),t=Z(t);const[a,i]=[e.x,e.y],[l,r]=[t.x,t.y],s=l-a,n=r-i;return{angle:Math.atan(n/s),deltaX:s,deltaY:n}}const Z=e=>Array.isArray(e)?{x:e[0],y:e[1]}:e,rr=e=>({x:function(t,a,i){let l=0;if(a===0&&Object.hasOwn(O,e.arrowTypeStart)){const{angle:r,deltaX:s}=U(i[0],i[1]);l=O[e.arrowTypeStart]*Math.cos(r)*(s>=0?1:-1)}else if(a===i.length-1&&Object.hasOwn(O,e.arrowTypeEnd)){const{angle:r,deltaX:s}=U(i[i.length-1],i[i.length-2]);l=O[e.arrowTypeEnd]*Math.cos(r)*(s>=0?1:-1)}return Z(t).x+l},y:function(t,a,i){let l=0;if(a===0&&Object.hasOwn(O,e.arrowTypeStart)){const{angle:r,deltaY:s}=U(i[0],i[1]);l=O[e.arrowTypeStart]*Math.abs(Math.sin(r))*(s>=0?1:-1)}else if(a===i.length-1&&Object.hasOwn(O,e.arrowTypeEnd)){const{angle:r,deltaY:s}=U(i[i.length-1],i[i.length-2]);l=O[e.arrowTypeEnd]*Math.abs(Math.sin(r))*(s>=0?1:-1)}return Z(t).y+l}}),ar=(e,t,a,i,l)=>{t.arrowTypeStart&&at(e,"start",t.arrowTypeStart,a,i,l),t.arrowTypeEnd&&at(e,"end",t.arrowTypeEnd,a,i,l)},er={arrow_cross:"cross",arrow_point:"point",arrow_barb:"barb",arrow_circle:"circle",aggregation:"aggregation",extension:"extension",composition:"composition",dependency:"dependency",lollipop:"lollipop"},at=(e,t,a,i,l,r)=>{const s=er[a];if(!s){g.warn(`Unknown arrow type: ${a}`);return}const n=t==="start"?"Start":"End";e.attr(`marker-${t}`,`url(${i}#${l}_${r}-${s}${n})`)};let G={},T={};const xr=()=>{G={},T={}},dr=(e,t)=>{const a=H(b().flowchart.htmlLabels),i=t.labelType==="markdown"?st(e,t.label,{style:t.labelStyle,useHtmlLabels:a,addSvgBackground:!0}):R(t.label,t.labelStyle),l=e.insert("g").attr("class","edgeLabel"),r=l.insert("g").attr("class","label");r.node().appendChild(i);let s=i.getBBox();if(a){const c=i.children[0],o=E(i);s=c.getBoundingClientRect(),o.attr("width",s.width),o.attr("height",s.height)}r.attr("transform","translate("+-s.width/2+", "+-s.height/2+")"),G[t.id]=l,t.width=s.width,t.height=s.height;let n;if(t.startLabelLeft){const c=R(t.startLabelLeft,t.labelStyle),o=e.insert("g").attr("class","edgeTerminals"),h=o.insert("g").attr("class","inner");n=h.node().appendChild(c);const y=c.getBBox();h.attr("transform","translate("+-y.width/2+", "+-y.height/2+")"),T[t.id]||(T[t.id]={}),T[t.id].startLeft=o,z(n,t.startLabelLeft)}if(t.startLabelRight){const c=R(t.startLabelRight,t.labelStyle),o=e.insert("g").attr("class","edgeTerminals"),h=o.insert("g").attr("class","inner");n=o.node().appendChild(c),h.node().appendChild(c);const y=c.getBBox();h.attr("transform","translate("+-y.width/2+", "+-y.height/2+")"),T[t.id]||(T[t.id]={}),T[t.id].startRight=o,z(n,t.startLabelRight)}if(t.endLabelLeft){const c=R(t.endLabelLeft,t.labelStyle),o=e.insert("g").attr("class","edgeTerminals"),h=o.insert("g").attr("class","inner");n=h.node().appendChild(c);const y=c.getBBox();h.attr("transform","translate("+-y.width/2+", "+-y.height/2+")"),o.node().appendChild(c),T[t.id]||(T[t.id]={}),T[t.id].endLeft=o,z(n,t.endLabelLeft)}if(t.endLabelRight){const c=R(t.endLabelRight,t.labelStyle),o=e.insert("g").attr("class","edgeTerminals"),h=o.insert("g").attr("class","inner");n=h.node().appendChild(c);const y=c.getBBox();h.attr("transform","translate("+-y.width/2+", "+-y.height/2+")"),o.node().appendChild(c),T[t.id]||(T[t.id]={}),T[t.id].endRight=o,z(n,t.endLabelRight)}return i};function z(e,t){b().flowchart.htmlLabels&&e&&(e.style.width=t.length*9+"px",e.style.height="12px")}const gr=(e,t)=>{g.debug("Moving label abc88 ",e.id,e.label,G[e.id],t);let a=t.updatedPath?t.updatedPath:t.originalPath;const i=b(),{subGraphTitleTotalMargin:l}=tr(i);if(e.label){const r=G[e.id];let s=e.x,n=e.y;if(a){const c=j.calcLabelPosition(a);g.debug("Moving label "+e.label+" from (",s,",",n,") to (",c.x,",",c.y,") abc88"),t.updatedPath&&(s=c.x,n=c.y)}r.attr("transform",`translate(${s}, ${n+l/2})`)}if(e.startLabelLeft){const r=T[e.id].startLeft;let s=e.x,n=e.y;if(a){const c=j.calcTerminalLabelPosition(e.arrowTypeStart?10:0,"start_left",a);s=c.x,n=c.y}r.attr("transform",`translate(${s}, ${n})`)}if(e.startLabelRight){const r=T[e.id].startRight;let s=e.x,n=e.y;if(a){const c=j.calcTerminalLabelPosition(e.arrowTypeStart?10:0,"start_right",a);s=c.x,n=c.y}r.attr("transform",`translate(${s}, ${n})`)}if(e.endLabelLeft){const r=T[e.id].endLeft;let s=e.x,n=e.y;if(a){const c=j.calcTerminalLabelPosition(e.arrowTypeEnd?10:0,"end_left",a);s=c.x,n=c.y}r.attr("transform",`translate(${s}, ${n})`)}if(e.endLabelRight){const r=T[e.id].endRight;let s=e.x,n=e.y;if(a){const c=j.calcTerminalLabelPosition(e.arrowTypeEnd?10:0,"end_right",a);s=c.x,n=c.y}r.attr("transform",`translate(${s}, ${n})`)}},sr=(e,t)=>{const a=e.x,i=e.y,l=Math.abs(t.x-a),r=Math.abs(t.y-i),s=e.width/2,n=e.height/2;return l>=s||r>=n},ir=(e,t,a)=>{g.debug(`intersection calc abc89: outsidePoint: ${JSON.stringify(t)} insidePoint : ${JSON.stringify(a)} node : x:${e.x} y:${e.y} w:${e.width} h:${e.height}`);const i=e.x,l=e.y,r=Math.abs(i-a.x),s=e.width/2;let n=a.xMath.abs(i-t.x)*c){let y=a.y{g.debug("abc88 cutPathAtIntersect",e,t);let a=[],i=e[0],l=!1;return e.forEach(r=>{if(!sr(t,r)&&!l){const s=ir(t,i,r);let n=!1;a.forEach(c=>{n=n||c.x===s.x&&c.y===s.y}),a.some(c=>c.x===s.x&&c.y===s.y)||a.push(s),l=!0}else i=r,l||a.push(r)}),a},ur=function(e,t,a,i,l,r,s){let n=a.points;g.debug("abc88 InsertEdge: edge=",a,"e=",t);let c=!1;const o=r.node(t.v);var h=r.node(t.w);h!=null&&h.intersect&&(o!=null&&o.intersect)&&(n=n.slice(1,a.points.length-1),n.unshift(o.intersect(n[0])),n.push(h.intersect(n[n.length-1]))),a.toCluster&&(g.debug("to cluster abc88",i[a.toCluster]),n=et(a.points,i[a.toCluster].node),c=!0),a.fromCluster&&(g.debug("from cluster abc88",i[a.fromCluster]),n=et(n.reverse(),i[a.fromCluster].node).reverse(),c=!0);const y=n.filter(C=>!Number.isNaN(C.y));let f=lt;a.curve&&(l==="graph"||l==="flowchart")&&(f=a.curve);const{x:p,y:d}=rr(a),k=ct().x(p).y(d).curve(f);let x;switch(a.thickness){case"normal":x="edge-thickness-normal";break;case"thick":x="edge-thickness-thick";break;case"invisible":x="edge-thickness-thick";break;default:x=""}switch(a.pattern){case"solid":x+=" edge-pattern-solid";break;case"dotted":x+=" edge-pattern-dotted";break;case"dashed":x+=" edge-pattern-dashed";break}const u=e.append("path").attr("d",k(y)).attr("id",a.id).attr("class"," "+x+(a.classes?" "+a.classes:"")).attr("style",a.style);let S="";(b().flowchart.arrowMarkerAbsolute||b().state.arrowMarkerAbsolute)&&(S=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,S=S.replace(/\(/g,"\\("),S=S.replace(/\)/g,"\\)")),ar(u,a,S,s,l);let B={};return c&&(B.updatedPath=n),B.originalPath=a.points,B};export{or as a,dr as b,ur as c,gr as d,pr as e,xr as f,tr as g,R as h,hr as i,Et as j,rr as k,M as l,ar as m,fr as p,yr as s,m as u}; diff --git a/assets/erDiagram-47591fe2-Q164TgqG.js b/assets/erDiagram-47591fe2-CF3J04Xc.js similarity index 99% rename from assets/erDiagram-47591fe2-Q164TgqG.js rename to assets/erDiagram-47591fe2-CF3J04Xc.js index 33c97d5..f66da91 100644 --- a/assets/erDiagram-47591fe2-Q164TgqG.js +++ b/assets/erDiagram-47591fe2-CF3J04Xc.js @@ -1,4 +1,4 @@ -import{c as Z,s as Et,g as mt,b as gt,a as kt,x as xt,y as Rt,l as V,A as Ot,h as rt,z as bt,i as Nt,ap as Tt,as as At}from"./mermaid.core-DtSoU78u.js";import{G as Mt}from"./graph-GEpVUbdH.js";import{l as St}from"./layout-DNn7Y9VF.js";import{l as wt}from"./line-BM-2XH-S.js";import"./app-B0fd3cYb.js";import"./array-BKyUJesY.js";import"./path-CbwjOpE9.js";const It=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;function Dt(t){return typeof t=="string"&&It.test(t)}const A=[];for(let t=0;t<256;++t)A.push((t+256).toString(16).slice(1));function vt(t,e=0){return A[t[e+0]]+A[t[e+1]]+A[t[e+2]]+A[t[e+3]]+"-"+A[t[e+4]]+A[t[e+5]]+"-"+A[t[e+6]]+A[t[e+7]]+"-"+A[t[e+8]]+A[t[e+9]]+"-"+A[t[e+10]]+A[t[e+11]]+A[t[e+12]]+A[t[e+13]]+A[t[e+14]]+A[t[e+15]]}function Lt(t){if(!Dt(t))throw TypeError("Invalid UUID");let e;const r=new Uint8Array(16);return r[0]=(e=parseInt(t.slice(0,8),16))>>>24,r[1]=e>>>16&255,r[2]=e>>>8&255,r[3]=e&255,r[4]=(e=parseInt(t.slice(9,13),16))>>>8,r[5]=e&255,r[6]=(e=parseInt(t.slice(14,18),16))>>>8,r[7]=e&255,r[8]=(e=parseInt(t.slice(19,23),16))>>>8,r[9]=e&255,r[10]=(e=parseInt(t.slice(24,36),16))/1099511627776&255,r[11]=e/4294967296&255,r[12]=e>>>24&255,r[13]=e>>>16&255,r[14]=e>>>8&255,r[15]=e&255,r}function Bt(t){t=unescape(encodeURIComponent(t));const e=[];for(let r=0;r>>32-e}function Ft(t){const e=[1518500249,1859775393,2400959708,3395469782],r=[1732584193,4023233417,2562383102,271733878,3285377520];if(typeof t=="string"){const f=unescape(encodeURIComponent(t));t=[];for(let o=0;o>>0;x=g,g=m,m=it(_,30)>>>0,_=h,h=I}r[0]=r[0]+h>>>0,r[1]=r[1]+_>>>0,r[2]=r[2]+m>>>0,r[3]=r[3]+g>>>0,r[4]=r[4]+x>>>0}return[r[0]>>24&255,r[0]>>16&255,r[0]>>8&255,r[0]&255,r[1]>>24&255,r[1]>>16&255,r[1]>>8&255,r[1]&255,r[2]>>24&255,r[2]>>16&255,r[2]>>8&255,r[2]&255,r[3]>>24&255,r[3]>>16&255,r[3]>>8&255,r[3]&255,r[4]>>24&255,r[4]>>16&255,r[4]>>8&255,r[4]&255]}const Wt=Yt("v5",80,Ft);var at=function(){var t=function(S,a,n,c){for(n=n||{},c=S.length;c--;n[S[c]]=a);return n},e=[6,8,10,20,22,24,26,27,28],r=[1,10],u=[1,11],l=[1,12],p=[1,13],f=[1,14],o=[1,15],h=[1,21],_=[1,22],m=[1,23],g=[1,24],x=[1,25],y=[6,8,10,13,15,18,19,20,22,24,26,27,28,41,42,43,44,45],N=[1,34],I=[27,28,46,47],F=[41,42,43,44,45],W=[17,34],C=[1,54],T=[1,53],M=[17,34,36,38],R={trace:function(){},yy:{},symbols_:{error:2,start:3,ER_DIAGRAM:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,entityName:11,relSpec:12,":":13,role:14,BLOCK_START:15,attributes:16,BLOCK_STOP:17,SQS:18,SQE:19,title:20,title_value:21,acc_title:22,acc_title_value:23,acc_descr:24,acc_descr_value:25,acc_descr_multiline_value:26,ALPHANUM:27,ENTITY_NAME:28,attribute:29,attributeType:30,attributeName:31,attributeKeyTypeList:32,attributeComment:33,ATTRIBUTE_WORD:34,attributeKeyType:35,COMMA:36,ATTRIBUTE_KEY:37,COMMENT:38,cardinality:39,relType:40,ZERO_OR_ONE:41,ZERO_OR_MORE:42,ONE_OR_MORE:43,ONLY_ONE:44,MD_PARENT:45,NON_IDENTIFYING:46,IDENTIFYING:47,WORD:48,$accept:0,$end:1},terminals_:{2:"error",4:"ER_DIAGRAM",6:"EOF",8:"SPACE",10:"NEWLINE",13:":",15:"BLOCK_START",17:"BLOCK_STOP",18:"SQS",19:"SQE",20:"title",21:"title_value",22:"acc_title",23:"acc_title_value",24:"acc_descr",25:"acc_descr_value",26:"acc_descr_multiline_value",27:"ALPHANUM",28:"ENTITY_NAME",34:"ATTRIBUTE_WORD",36:"COMMA",37:"ATTRIBUTE_KEY",38:"COMMENT",41:"ZERO_OR_ONE",42:"ZERO_OR_MORE",43:"ONE_OR_MORE",44:"ONLY_ONE",45:"MD_PARENT",46:"NON_IDENTIFYING",47:"IDENTIFYING",48:"WORD"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,5],[9,4],[9,3],[9,1],[9,7],[9,6],[9,4],[9,2],[9,2],[9,2],[9,1],[11,1],[11,1],[16,1],[16,2],[29,2],[29,3],[29,3],[29,4],[30,1],[31,1],[32,1],[32,3],[35,1],[33,1],[12,3],[39,1],[39,1],[39,1],[39,1],[39,1],[40,1],[40,1],[14,1],[14,1],[14,1]],performAction:function(a,n,c,d,E,i,K){var s=i.length-1;switch(E){case 1:break;case 2:this.$=[];break;case 3:i[s-1].push(i[s]),this.$=i[s-1];break;case 4:case 5:this.$=i[s];break;case 6:case 7:this.$=[];break;case 8:d.addEntity(i[s-4]),d.addEntity(i[s-2]),d.addRelationship(i[s-4],i[s],i[s-2],i[s-3]);break;case 9:d.addEntity(i[s-3]),d.addAttributes(i[s-3],i[s-1]);break;case 10:d.addEntity(i[s-2]);break;case 11:d.addEntity(i[s]);break;case 12:d.addEntity(i[s-6],i[s-4]),d.addAttributes(i[s-6],i[s-1]);break;case 13:d.addEntity(i[s-5],i[s-3]);break;case 14:d.addEntity(i[s-3],i[s-1]);break;case 15:case 16:this.$=i[s].trim(),d.setAccTitle(this.$);break;case 17:case 18:this.$=i[s].trim(),d.setAccDescription(this.$);break;case 19:case 43:this.$=i[s];break;case 20:case 41:case 42:this.$=i[s].replace(/"/g,"");break;case 21:case 29:this.$=[i[s]];break;case 22:i[s].push(i[s-1]),this.$=i[s];break;case 23:this.$={attributeType:i[s-1],attributeName:i[s]};break;case 24:this.$={attributeType:i[s-2],attributeName:i[s-1],attributeKeyTypeList:i[s]};break;case 25:this.$={attributeType:i[s-2],attributeName:i[s-1],attributeComment:i[s]};break;case 26:this.$={attributeType:i[s-3],attributeName:i[s-2],attributeKeyTypeList:i[s-1],attributeComment:i[s]};break;case 27:case 28:case 31:this.$=i[s];break;case 30:i[s-2].push(i[s]),this.$=i[s-2];break;case 32:this.$=i[s].replace(/"/g,"");break;case 33:this.$={cardA:i[s],relType:i[s-1],cardB:i[s-2]};break;case 34:this.$=d.Cardinality.ZERO_OR_ONE;break;case 35:this.$=d.Cardinality.ZERO_OR_MORE;break;case 36:this.$=d.Cardinality.ONE_OR_MORE;break;case 37:this.$=d.Cardinality.ONLY_ONE;break;case 38:this.$=d.Cardinality.MD_PARENT;break;case 39:this.$=d.Identification.NON_IDENTIFYING;break;case 40:this.$=d.Identification.IDENTIFYING;break}},table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:9,20:r,22:u,24:l,26:p,27:f,28:o},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:16,11:9,20:r,22:u,24:l,26:p,27:f,28:o},t(e,[2,5]),t(e,[2,6]),t(e,[2,11],{12:17,39:20,15:[1,18],18:[1,19],41:h,42:_,43:m,44:g,45:x}),{21:[1,26]},{23:[1,27]},{25:[1,28]},t(e,[2,18]),t(y,[2,19]),t(y,[2,20]),t(e,[2,4]),{11:29,27:f,28:o},{16:30,17:[1,31],29:32,30:33,34:N},{11:35,27:f,28:o},{40:36,46:[1,37],47:[1,38]},t(I,[2,34]),t(I,[2,35]),t(I,[2,36]),t(I,[2,37]),t(I,[2,38]),t(e,[2,15]),t(e,[2,16]),t(e,[2,17]),{13:[1,39]},{17:[1,40]},t(e,[2,10]),{16:41,17:[2,21],29:32,30:33,34:N},{31:42,34:[1,43]},{34:[2,27]},{19:[1,44]},{39:45,41:h,42:_,43:m,44:g,45:x},t(F,[2,39]),t(F,[2,40]),{14:46,27:[1,49],28:[1,48],48:[1,47]},t(e,[2,9]),{17:[2,22]},t(W,[2,23],{32:50,33:51,35:52,37:C,38:T}),t([17,34,37,38],[2,28]),t(e,[2,14],{15:[1,55]}),t([27,28],[2,33]),t(e,[2,8]),t(e,[2,41]),t(e,[2,42]),t(e,[2,43]),t(W,[2,24],{33:56,36:[1,57],38:T}),t(W,[2,25]),t(M,[2,29]),t(W,[2,32]),t(M,[2,31]),{16:58,17:[1,59],29:32,30:33,34:N},t(W,[2,26]),{35:60,37:C},{17:[1,61]},t(e,[2,13]),t(M,[2,30]),t(e,[2,12])],defaultActions:{34:[2,27],41:[2,22]},parseError:function(a,n){if(n.recoverable)this.trace(a);else{var c=new Error(a);throw c.hash=n,c}},parse:function(a){var n=this,c=[0],d=[],E=[null],i=[],K=this.table,s="",Q=0,st=0,ft=2,ot=1,yt=i.slice.call(arguments,1),b=Object.create(this.lexer),z={yy:{}};for(var J in this.yy)Object.prototype.hasOwnProperty.call(this.yy,J)&&(z.yy[J]=this.yy[J]);b.setInput(a,z.yy),z.yy.lexer=b,z.yy.parser=this,typeof b.yylloc>"u"&&(b.yylloc={});var $=b.yylloc;i.push($);var pt=b.options&&b.options.ranges;typeof z.yy.parseError=="function"?this.parseError=z.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function _t(){var Y;return Y=d.pop()||b.lex()||ot,typeof Y!="number"&&(Y instanceof Array&&(d=Y,Y=d.pop()),Y=n.symbols_[Y]||Y),Y}for(var w,H,D,tt,G={},j,P,lt,q;;){if(H=c[c.length-1],this.defaultActions[H]?D=this.defaultActions[H]:((w===null||typeof w>"u")&&(w=_t()),D=K[H]&&K[H][w]),typeof D>"u"||!D.length||!D[0]){var et="";q=[];for(j in K[H])this.terminals_[j]&&j>ft&&q.push("'"+this.terminals_[j]+"'");b.showPosition?et="Parse error on line "+(Q+1)+`: +import{c as Z,s as Et,g as mt,b as gt,a as kt,x as xt,y as Rt,l as V,A as Ot,h as rt,z as bt,i as Nt,ap as Tt,as as At}from"./mermaid.core-C-ipfzeP.js";import{G as Mt}from"./graph-BqpiDEwF.js";import{l as St}from"./layout-B2i1mAr6.js";import{l as wt}from"./line-BVHj5-SV.js";import"./app-jADuhdjP.js";import"./array-BKyUJesY.js";import"./path-CbwjOpE9.js";const It=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;function Dt(t){return typeof t=="string"&&It.test(t)}const A=[];for(let t=0;t<256;++t)A.push((t+256).toString(16).slice(1));function vt(t,e=0){return A[t[e+0]]+A[t[e+1]]+A[t[e+2]]+A[t[e+3]]+"-"+A[t[e+4]]+A[t[e+5]]+"-"+A[t[e+6]]+A[t[e+7]]+"-"+A[t[e+8]]+A[t[e+9]]+"-"+A[t[e+10]]+A[t[e+11]]+A[t[e+12]]+A[t[e+13]]+A[t[e+14]]+A[t[e+15]]}function Lt(t){if(!Dt(t))throw TypeError("Invalid UUID");let e;const r=new Uint8Array(16);return r[0]=(e=parseInt(t.slice(0,8),16))>>>24,r[1]=e>>>16&255,r[2]=e>>>8&255,r[3]=e&255,r[4]=(e=parseInt(t.slice(9,13),16))>>>8,r[5]=e&255,r[6]=(e=parseInt(t.slice(14,18),16))>>>8,r[7]=e&255,r[8]=(e=parseInt(t.slice(19,23),16))>>>8,r[9]=e&255,r[10]=(e=parseInt(t.slice(24,36),16))/1099511627776&255,r[11]=e/4294967296&255,r[12]=e>>>24&255,r[13]=e>>>16&255,r[14]=e>>>8&255,r[15]=e&255,r}function Bt(t){t=unescape(encodeURIComponent(t));const e=[];for(let r=0;r>>32-e}function Ft(t){const e=[1518500249,1859775393,2400959708,3395469782],r=[1732584193,4023233417,2562383102,271733878,3285377520];if(typeof t=="string"){const f=unescape(encodeURIComponent(t));t=[];for(let o=0;o>>0;x=g,g=m,m=it(_,30)>>>0,_=h,h=I}r[0]=r[0]+h>>>0,r[1]=r[1]+_>>>0,r[2]=r[2]+m>>>0,r[3]=r[3]+g>>>0,r[4]=r[4]+x>>>0}return[r[0]>>24&255,r[0]>>16&255,r[0]>>8&255,r[0]&255,r[1]>>24&255,r[1]>>16&255,r[1]>>8&255,r[1]&255,r[2]>>24&255,r[2]>>16&255,r[2]>>8&255,r[2]&255,r[3]>>24&255,r[3]>>16&255,r[3]>>8&255,r[3]&255,r[4]>>24&255,r[4]>>16&255,r[4]>>8&255,r[4]&255]}const Wt=Yt("v5",80,Ft);var at=function(){var t=function(S,a,n,c){for(n=n||{},c=S.length;c--;n[S[c]]=a);return n},e=[6,8,10,20,22,24,26,27,28],r=[1,10],u=[1,11],l=[1,12],p=[1,13],f=[1,14],o=[1,15],h=[1,21],_=[1,22],m=[1,23],g=[1,24],x=[1,25],y=[6,8,10,13,15,18,19,20,22,24,26,27,28,41,42,43,44,45],N=[1,34],I=[27,28,46,47],F=[41,42,43,44,45],W=[17,34],C=[1,54],T=[1,53],M=[17,34,36,38],R={trace:function(){},yy:{},symbols_:{error:2,start:3,ER_DIAGRAM:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,entityName:11,relSpec:12,":":13,role:14,BLOCK_START:15,attributes:16,BLOCK_STOP:17,SQS:18,SQE:19,title:20,title_value:21,acc_title:22,acc_title_value:23,acc_descr:24,acc_descr_value:25,acc_descr_multiline_value:26,ALPHANUM:27,ENTITY_NAME:28,attribute:29,attributeType:30,attributeName:31,attributeKeyTypeList:32,attributeComment:33,ATTRIBUTE_WORD:34,attributeKeyType:35,COMMA:36,ATTRIBUTE_KEY:37,COMMENT:38,cardinality:39,relType:40,ZERO_OR_ONE:41,ZERO_OR_MORE:42,ONE_OR_MORE:43,ONLY_ONE:44,MD_PARENT:45,NON_IDENTIFYING:46,IDENTIFYING:47,WORD:48,$accept:0,$end:1},terminals_:{2:"error",4:"ER_DIAGRAM",6:"EOF",8:"SPACE",10:"NEWLINE",13:":",15:"BLOCK_START",17:"BLOCK_STOP",18:"SQS",19:"SQE",20:"title",21:"title_value",22:"acc_title",23:"acc_title_value",24:"acc_descr",25:"acc_descr_value",26:"acc_descr_multiline_value",27:"ALPHANUM",28:"ENTITY_NAME",34:"ATTRIBUTE_WORD",36:"COMMA",37:"ATTRIBUTE_KEY",38:"COMMENT",41:"ZERO_OR_ONE",42:"ZERO_OR_MORE",43:"ONE_OR_MORE",44:"ONLY_ONE",45:"MD_PARENT",46:"NON_IDENTIFYING",47:"IDENTIFYING",48:"WORD"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,5],[9,4],[9,3],[9,1],[9,7],[9,6],[9,4],[9,2],[9,2],[9,2],[9,1],[11,1],[11,1],[16,1],[16,2],[29,2],[29,3],[29,3],[29,4],[30,1],[31,1],[32,1],[32,3],[35,1],[33,1],[12,3],[39,1],[39,1],[39,1],[39,1],[39,1],[40,1],[40,1],[14,1],[14,1],[14,1]],performAction:function(a,n,c,d,E,i,K){var s=i.length-1;switch(E){case 1:break;case 2:this.$=[];break;case 3:i[s-1].push(i[s]),this.$=i[s-1];break;case 4:case 5:this.$=i[s];break;case 6:case 7:this.$=[];break;case 8:d.addEntity(i[s-4]),d.addEntity(i[s-2]),d.addRelationship(i[s-4],i[s],i[s-2],i[s-3]);break;case 9:d.addEntity(i[s-3]),d.addAttributes(i[s-3],i[s-1]);break;case 10:d.addEntity(i[s-2]);break;case 11:d.addEntity(i[s]);break;case 12:d.addEntity(i[s-6],i[s-4]),d.addAttributes(i[s-6],i[s-1]);break;case 13:d.addEntity(i[s-5],i[s-3]);break;case 14:d.addEntity(i[s-3],i[s-1]);break;case 15:case 16:this.$=i[s].trim(),d.setAccTitle(this.$);break;case 17:case 18:this.$=i[s].trim(),d.setAccDescription(this.$);break;case 19:case 43:this.$=i[s];break;case 20:case 41:case 42:this.$=i[s].replace(/"/g,"");break;case 21:case 29:this.$=[i[s]];break;case 22:i[s].push(i[s-1]),this.$=i[s];break;case 23:this.$={attributeType:i[s-1],attributeName:i[s]};break;case 24:this.$={attributeType:i[s-2],attributeName:i[s-1],attributeKeyTypeList:i[s]};break;case 25:this.$={attributeType:i[s-2],attributeName:i[s-1],attributeComment:i[s]};break;case 26:this.$={attributeType:i[s-3],attributeName:i[s-2],attributeKeyTypeList:i[s-1],attributeComment:i[s]};break;case 27:case 28:case 31:this.$=i[s];break;case 30:i[s-2].push(i[s]),this.$=i[s-2];break;case 32:this.$=i[s].replace(/"/g,"");break;case 33:this.$={cardA:i[s],relType:i[s-1],cardB:i[s-2]};break;case 34:this.$=d.Cardinality.ZERO_OR_ONE;break;case 35:this.$=d.Cardinality.ZERO_OR_MORE;break;case 36:this.$=d.Cardinality.ONE_OR_MORE;break;case 37:this.$=d.Cardinality.ONLY_ONE;break;case 38:this.$=d.Cardinality.MD_PARENT;break;case 39:this.$=d.Identification.NON_IDENTIFYING;break;case 40:this.$=d.Identification.IDENTIFYING;break}},table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:9,20:r,22:u,24:l,26:p,27:f,28:o},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:16,11:9,20:r,22:u,24:l,26:p,27:f,28:o},t(e,[2,5]),t(e,[2,6]),t(e,[2,11],{12:17,39:20,15:[1,18],18:[1,19],41:h,42:_,43:m,44:g,45:x}),{21:[1,26]},{23:[1,27]},{25:[1,28]},t(e,[2,18]),t(y,[2,19]),t(y,[2,20]),t(e,[2,4]),{11:29,27:f,28:o},{16:30,17:[1,31],29:32,30:33,34:N},{11:35,27:f,28:o},{40:36,46:[1,37],47:[1,38]},t(I,[2,34]),t(I,[2,35]),t(I,[2,36]),t(I,[2,37]),t(I,[2,38]),t(e,[2,15]),t(e,[2,16]),t(e,[2,17]),{13:[1,39]},{17:[1,40]},t(e,[2,10]),{16:41,17:[2,21],29:32,30:33,34:N},{31:42,34:[1,43]},{34:[2,27]},{19:[1,44]},{39:45,41:h,42:_,43:m,44:g,45:x},t(F,[2,39]),t(F,[2,40]),{14:46,27:[1,49],28:[1,48],48:[1,47]},t(e,[2,9]),{17:[2,22]},t(W,[2,23],{32:50,33:51,35:52,37:C,38:T}),t([17,34,37,38],[2,28]),t(e,[2,14],{15:[1,55]}),t([27,28],[2,33]),t(e,[2,8]),t(e,[2,41]),t(e,[2,42]),t(e,[2,43]),t(W,[2,24],{33:56,36:[1,57],38:T}),t(W,[2,25]),t(M,[2,29]),t(W,[2,32]),t(M,[2,31]),{16:58,17:[1,59],29:32,30:33,34:N},t(W,[2,26]),{35:60,37:C},{17:[1,61]},t(e,[2,13]),t(M,[2,30]),t(e,[2,12])],defaultActions:{34:[2,27],41:[2,22]},parseError:function(a,n){if(n.recoverable)this.trace(a);else{var c=new Error(a);throw c.hash=n,c}},parse:function(a){var n=this,c=[0],d=[],E=[null],i=[],K=this.table,s="",Q=0,st=0,ft=2,ot=1,yt=i.slice.call(arguments,1),b=Object.create(this.lexer),z={yy:{}};for(var J in this.yy)Object.prototype.hasOwnProperty.call(this.yy,J)&&(z.yy[J]=this.yy[J]);b.setInput(a,z.yy),z.yy.lexer=b,z.yy.parser=this,typeof b.yylloc>"u"&&(b.yylloc={});var $=b.yylloc;i.push($);var pt=b.options&&b.options.ranges;typeof z.yy.parseError=="function"?this.parseError=z.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function _t(){var Y;return Y=d.pop()||b.lex()||ot,typeof Y!="number"&&(Y instanceof Array&&(d=Y,Y=d.pop()),Y=n.symbols_[Y]||Y),Y}for(var w,H,D,tt,G={},j,P,lt,q;;){if(H=c[c.length-1],this.defaultActions[H]?D=this.defaultActions[H]:((w===null||typeof w>"u")&&(w=_t()),D=K[H]&&K[H][w]),typeof D>"u"||!D.length||!D[0]){var et="";q=[];for(j in K[H])this.terminals_[j]&&j>ft&&q.push("'"+this.terminals_[j]+"'");b.showPosition?et="Parse error on line "+(Q+1)+`: `+b.showPosition()+` Expecting `+q.join(", ")+", got '"+(this.terminals_[w]||w)+"'":et="Parse error on line "+(Q+1)+": Unexpected "+(w==ot?"end of input":"'"+(this.terminals_[w]||w)+"'"),this.parseError(et,{text:b.match,token:this.terminals_[w]||w,line:b.yylineno,loc:$,expected:q})}if(D[0]instanceof Array&&D.length>1)throw new Error("Parse Error: multiple actions possible at state: "+H+", token: "+w);switch(D[0]){case 1:c.push(w),E.push(b.yytext),i.push(b.yylloc),c.push(D[1]),w=null,st=b.yyleng,s=b.yytext,Q=b.yylineno,$=b.yylloc;break;case 2:if(P=this.productions_[D[1]][1],G.$=E[E.length-P],G._$={first_line:i[i.length-(P||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(P||1)].first_column,last_column:i[i.length-1].last_column},pt&&(G._$.range=[i[i.length-(P||1)].range[0],i[i.length-1].range[1]]),tt=this.performAction.apply(G,[s,st,Q,z.yy,D[1],E,i].concat(yt)),typeof tt<"u")return tt;P&&(c=c.slice(0,-1*P*2),E=E.slice(0,-1*P),i=i.slice(0,-1*P)),c.push(this.productions_[D[1]][0]),E.push(G.$),i.push(G._$),lt=K[c[c.length-2]][c[c.length-1]],c.push(lt);break;case 3:return!0}}return!0}},O=function(){var S={EOF:1,parseError:function(n,c){if(this.yy.parser)this.yy.parser.parseError(n,c);else throw new Error(n)},setInput:function(a,n){return this.yy=n||this.yy||{},this._input=a,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var a=this._input[0];this.yytext+=a,this.yyleng++,this.offset++,this.match+=a,this.matched+=a;var n=a.match(/(?:\r\n?|\n).*/g);return n?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),a},unput:function(a){var n=a.length,c=a.split(/(?:\r\n?|\n)/g);this._input=a+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-n),this.offset-=n;var d=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),c.length-1&&(this.yylineno-=c.length-1);var E=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:c?(c.length===d.length?this.yylloc.first_column:0)+d[d.length-c.length].length-c[0].length:this.yylloc.first_column-n},this.options.ranges&&(this.yylloc.range=[E[0],E[0]+this.yyleng-n]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(a){this.unput(this.match.slice(a))},pastInput:function(){var a=this.matched.substr(0,this.matched.length-this.match.length);return(a.length>20?"...":"")+a.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var a=this.match;return a.length<20&&(a+=this._input.substr(0,20-a.length)),(a.substr(0,20)+(a.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var a=this.pastInput(),n=new Array(a.length+1).join("-");return a+this.upcomingInput()+` diff --git a/assets/faststream.html-L19p-fwg.js b/assets/faststream.html-BjX7MnKf.js similarity index 89% rename from assets/faststream.html-L19p-fwg.js rename to assets/faststream.html-BjX7MnKf.js index 33d0d47..ac2be3f 100644 --- a/assets/faststream.html-L19p-fwg.js +++ b/assets/faststream.html-BjX7MnKf.js @@ -1,4 +1,4 @@ -import{_ as r}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as n,o,c as i,b as e,d as t,e as s,a as l}from"./app-B0fd3cYb.js";const c={},p=e("h1",{id:"taskiq-faststream",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#taskiq-faststream"},[e("span",null,"Taskiq + FastStream")])],-1),m={href:"https://faststream.airt.ai/latest/",target:"_blank",rel:"noopener noreferrer"},d=l(`

If you want to declare communication between different projects you can use taskiq, but it might be a bit more complex than using FastStream.

Although these libraries solve different problems, they have integration between each other, so you can use FastStream as a broker for taskiq. It allows FastStream to use taskiq's scheduler along with its own features.

To use FastStream as a broker for taskiq you need to install the taskiq-faststream library:

pip install "taskiq-faststream"
+import{_ as r}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as n,o,c as i,b as e,d as t,e as s,a as l}from"./app-jADuhdjP.js";const c={},p=e("h1",{id:"taskiq-faststream",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#taskiq-faststream"},[e("span",null,"Taskiq + FastStream")])],-1),m={href:"https://faststream.airt.ai/latest/",target:"_blank",rel:"noopener noreferrer"},d=l(`

If you want to declare communication between different projects you can use taskiq, but it might be a bit more complex than using FastStream.

Although these libraries solve different problems, they have integration between each other, so you can use FastStream as a broker for taskiq. It allows FastStream to use taskiq's scheduler along with its own features.

To use FastStream as a broker for taskiq you need to install the taskiq-faststream library:

pip install "taskiq-faststream"
 

And you can use it like this:

from faststream import FastStream
 from faststream.kafka import KafkaBroker
 from taskiq_faststream import BrokerWrapper
@@ -7,4 +7,4 @@ broker = KafkaBroker= FastStream(broker)
 
 taskiq_broker = BrokerWrapper(broker)
-
`,6),u={href:"https://faststream.airt.ai/latest/scheduling/?h=schedule",target:"_blank",rel:"noopener noreferrer"};function k(f,h){const a=n("ExternalLinkIcon");return o(),i("div",null,[p,e("p",null,[e("a",m,[t("FastStream"),s(a)]),t(" is a library that allows you to write consumers and producers for different message brokers almost like taskiq. But the differense is that taskiq is more focused on tasks for a specific project and more like celery but async, while FastStream is more focused on events and defining how different systems communicate with each other using distributed brokers.")]),d,e("p",null,[t("You can read more about scheduling tasks for FastStream in the "),e("a",u,[t("FastStream documentation"),s(a)]),t(".")])])}const y=r(c,[["render",k],["__file","faststream.html.vue"]]),_=JSON.parse('{"path":"/framework_integrations/faststream.html","title":"Taskiq + FastStream","lang":"en-US","frontmatter":{"order":3,"description":"Taskiq + FastStream FastStream is a library that allows you to write consumers and producers for different message brokers almost like taskiq. But the differense is that taskiq ...","head":[["meta",{"property":"og:url","content":"https://taskiq-python.github.io/framework_integrations/faststream.html"}],["meta",{"property":"og:site_name","content":"Taskiq"}],["meta",{"property":"og:title","content":"Taskiq + FastStream"}],["meta",{"property":"og:description","content":"Taskiq + FastStream FastStream is a library that allows you to write consumers and producers for different message brokers almost like taskiq. But the differense is that taskiq ..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-04-20T00:01:02.000Z"}],["meta",{"property":"article:modified_time","content":"2024-04-20T00:01:02.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Taskiq + FastStream\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-04-20T00:01:02.000Z\\",\\"author\\":[]}"]]},"headers":[],"git":{"createdTime":1713571262000,"updatedTime":1713571262000,"contributors":[{"name":"Pavel Kirilin","email":"win10@list.ru","commits":1}]},"filePathRelative":"framework_integrations/faststream.md","localizedDate":"April 20, 2024","autoDesc":true,"excerpt":"\\n

FastStream is a library that allows you to write consumers and producers for different message brokers almost like taskiq. But the differense is that taskiq is more focused on tasks for a specific project and more like celery but async, while FastStream is more focused on events and defining how different systems communicate with each other using distributed brokers.

"}');export{y as comp,_ as data}; +
`,6),u={href:"https://faststream.airt.ai/latest/scheduling/?h=schedule",target:"_blank",rel:"noopener noreferrer"};function k(f,h){const a=n("ExternalLinkIcon");return o(),i("div",null,[p,e("p",null,[e("a",m,[t("FastStream"),s(a)]),t(" is a library that allows you to write consumers and producers for different message brokers almost like taskiq. But the differense is that taskiq is more focused on tasks for a specific project and more like celery but async, while FastStream is more focused on events and defining how different systems communicate with each other using distributed brokers.")]),d,e("p",null,[t("You can read more about scheduling tasks for FastStream in the "),e("a",u,[t("FastStream documentation"),s(a)]),t(".")])])}const y=r(c,[["render",k],["__file","faststream.html.vue"]]),_=JSON.parse('{"path":"/framework_integrations/faststream.html","title":"Taskiq + FastStream","lang":"en-US","frontmatter":{"order":3,"description":"Taskiq + FastStream FastStream is a library that allows you to write consumers and producers for different message brokers almost like taskiq. But the differense is that taskiq ...","head":[["meta",{"property":"og:url","content":"https://taskiq-python.github.io/framework_integrations/faststream.html"}],["meta",{"property":"og:site_name","content":"Taskiq"}],["meta",{"property":"og:title","content":"Taskiq + FastStream"}],["meta",{"property":"og:description","content":"Taskiq + FastStream FastStream is a library that allows you to write consumers and producers for different message brokers almost like taskiq. But the differense is that taskiq ..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-04-26T20:07:59.000Z"}],["meta",{"property":"article:modified_time","content":"2024-04-26T20:07:59.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Taskiq + FastStream\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-04-26T20:07:59.000Z\\",\\"author\\":[]}"]]},"headers":[],"git":{"createdTime":1714162079000,"updatedTime":1714162079000,"contributors":[{"name":"Pavel Kirilin","email":"win10@list.ru","commits":1}]},"filePathRelative":"framework_integrations/faststream.md","localizedDate":"April 26, 2024","autoDesc":true,"excerpt":"\\n

FastStream is a library that allows you to write consumers and producers for different message brokers almost like taskiq. But the differense is that taskiq is more focused on tasks for a specific project and more like celery but async, while FastStream is more focused on events and defining how different systems communicate with each other using distributed brokers.

"}');export{y as comp,_ as data}; diff --git a/assets/flowDb-4b19a42f-DhxjmBHk.js b/assets/flowDb-4b19a42f-5o5MOD4v.js similarity index 99% rename from assets/flowDb-4b19a42f-DhxjmBHk.js rename to assets/flowDb-4b19a42f-5o5MOD4v.js index e093efd..6c30f70 100644 --- a/assets/flowDb-4b19a42f-DhxjmBHk.js +++ b/assets/flowDb-4b19a42f-5o5MOD4v.js @@ -1,4 +1,4 @@ -import{c as et,v as me,s as ye,g as ve,a as Ve,b as Le,x as Ie,y as Re,l as J1,z as dt,A as Ne,j as we,h as w1}from"./mermaid.core-DtSoU78u.js";var pt=function(){var e=function(f1,a,o,f){for(o=o||{},f=f1.length;f--;o[f1[f]]=a);return o},u=[1,4],i=[1,3],n=[1,5],c=[1,8,9,10,11,27,34,36,38,42,58,81,82,83,84,85,86,99,102,103,106,108,111,112,113,118,119,120,121],l=[2,2],h=[1,13],U=[1,14],F=[1,15],w=[1,16],X=[1,23],o1=[1,25],p1=[1,26],A1=[1,27],C=[1,49],k=[1,48],l1=[1,29],U1=[1,30],G1=[1,31],M1=[1,32],K1=[1,33],x=[1,44],B=[1,46],m=[1,42],y=[1,47],v=[1,43],V=[1,50],L=[1,45],I=[1,51],R=[1,52],Y1=[1,34],j1=[1,35],z1=[1,36],X1=[1,37],I1=[1,57],b=[1,8,9,10,11,27,32,34,36,38,42,58,81,82,83,84,85,86,99,102,103,106,108,111,112,113,118,119,120,121],q=[1,61],Q=[1,60],Z=[1,62],H1=[8,9,11,73,75],k1=[1,88],b1=[1,93],g1=[1,92],D1=[1,89],F1=[1,85],T1=[1,91],S1=[1,87],C1=[1,94],_1=[1,90],x1=[1,95],B1=[1,86],W1=[8,9,10,11,73,75],N=[8,9,10,11,44,73,75],M=[8,9,10,11,29,42,44,46,48,50,52,54,56,58,61,63,65,66,68,73,75,86,99,102,103,106,108,111,112,113],Et=[8,9,11,42,58,73,75,86,99,102,103,106,108,111,112,113],R1=[42,58,86,99,102,103,106,108,111,112,113],kt=[1,121],bt=[1,120],gt=[1,128],Dt=[1,142],Ft=[1,143],Tt=[1,144],St=[1,145],Ct=[1,130],_t=[1,132],xt=[1,136],Bt=[1,137],mt=[1,138],yt=[1,139],vt=[1,140],Vt=[1,141],Lt=[1,146],It=[1,147],Rt=[1,126],Nt=[1,127],wt=[1,134],Ot=[1,129],Pt=[1,133],Ut=[1,131],nt=[8,9,10,11,27,32,34,36,38,42,58,81,82,83,84,85,86,99,102,103,106,108,111,112,113,118,119,120,121],Gt=[1,149],T=[8,9,11],K=[8,9,10,11,14,42,58,86,102,103,106,108,111,112,113],p=[1,169],O=[1,165],P=[1,166],A=[1,170],d=[1,167],E=[1,168],m1=[75,113,116],g=[8,9,10,11,12,14,27,29,32,42,58,73,81,82,83,84,85,86,87,102,106,108,111,112,113],Mt=[10,103],h1=[31,47,49,51,53,55,60,62,64,65,67,69,113,114,115],J=[1,235],$=[1,233],t1=[1,237],e1=[1,231],s1=[1,232],u1=[1,234],i1=[1,236],r1=[1,238],y1=[1,255],Kt=[8,9,11,103],W=[8,9,10,11,58,81,102,103,106,107,108,109],at={trace:function(){},yy:{},symbols_:{error:2,start:3,graphConfig:4,document:5,line:6,statement:7,SEMI:8,NEWLINE:9,SPACE:10,EOF:11,GRAPH:12,NODIR:13,DIR:14,FirstStmtSeparator:15,ending:16,endToken:17,spaceList:18,spaceListNewline:19,vertexStatement:20,separator:21,styleStatement:22,linkStyleStatement:23,classDefStatement:24,classStatement:25,clickStatement:26,subgraph:27,textNoTags:28,SQS:29,text:30,SQE:31,end:32,direction:33,acc_title:34,acc_title_value:35,acc_descr:36,acc_descr_value:37,acc_descr_multiline_value:38,link:39,node:40,styledVertex:41,AMP:42,vertex:43,STYLE_SEPARATOR:44,idString:45,DOUBLECIRCLESTART:46,DOUBLECIRCLEEND:47,PS:48,PE:49,"(-":50,"-)":51,STADIUMSTART:52,STADIUMEND:53,SUBROUTINESTART:54,SUBROUTINEEND:55,VERTEX_WITH_PROPS_START:56,"NODE_STRING[field]":57,COLON:58,"NODE_STRING[value]":59,PIPE:60,CYLINDERSTART:61,CYLINDEREND:62,DIAMOND_START:63,DIAMOND_STOP:64,TAGEND:65,TRAPSTART:66,TRAPEND:67,INVTRAPSTART:68,INVTRAPEND:69,linkStatement:70,arrowText:71,TESTSTR:72,START_LINK:73,edgeText:74,LINK:75,edgeTextToken:76,STR:77,MD_STR:78,textToken:79,keywords:80,STYLE:81,LINKSTYLE:82,CLASSDEF:83,CLASS:84,CLICK:85,DOWN:86,UP:87,textNoTagsToken:88,stylesOpt:89,"idString[vertex]":90,"idString[class]":91,CALLBACKNAME:92,CALLBACKARGS:93,HREF:94,LINK_TARGET:95,"STR[link]":96,"STR[tooltip]":97,alphaNum:98,DEFAULT:99,numList:100,INTERPOLATE:101,NUM:102,COMMA:103,style:104,styleComponent:105,NODE_STRING:106,UNIT:107,BRKT:108,PCT:109,idStringToken:110,MINUS:111,MULT:112,UNICODE_TEXT:113,TEXT:114,TAGSTART:115,EDGE_TEXT:116,alphaNumToken:117,direction_tb:118,direction_bt:119,direction_rl:120,direction_lr:121,$accept:0,$end:1},terminals_:{2:"error",8:"SEMI",9:"NEWLINE",10:"SPACE",11:"EOF",12:"GRAPH",13:"NODIR",14:"DIR",27:"subgraph",29:"SQS",31:"SQE",32:"end",34:"acc_title",35:"acc_title_value",36:"acc_descr",37:"acc_descr_value",38:"acc_descr_multiline_value",42:"AMP",44:"STYLE_SEPARATOR",46:"DOUBLECIRCLESTART",47:"DOUBLECIRCLEEND",48:"PS",49:"PE",50:"(-",51:"-)",52:"STADIUMSTART",53:"STADIUMEND",54:"SUBROUTINESTART",55:"SUBROUTINEEND",56:"VERTEX_WITH_PROPS_START",57:"NODE_STRING[field]",58:"COLON",59:"NODE_STRING[value]",60:"PIPE",61:"CYLINDERSTART",62:"CYLINDEREND",63:"DIAMOND_START",64:"DIAMOND_STOP",65:"TAGEND",66:"TRAPSTART",67:"TRAPEND",68:"INVTRAPSTART",69:"INVTRAPEND",72:"TESTSTR",73:"START_LINK",75:"LINK",77:"STR",78:"MD_STR",81:"STYLE",82:"LINKSTYLE",83:"CLASSDEF",84:"CLASS",85:"CLICK",86:"DOWN",87:"UP",90:"idString[vertex]",91:"idString[class]",92:"CALLBACKNAME",93:"CALLBACKARGS",94:"HREF",95:"LINK_TARGET",96:"STR[link]",97:"STR[tooltip]",99:"DEFAULT",101:"INTERPOLATE",102:"NUM",103:"COMMA",106:"NODE_STRING",107:"UNIT",108:"BRKT",109:"PCT",111:"MINUS",112:"MULT",113:"UNICODE_TEXT",114:"TEXT",115:"TAGSTART",116:"EDGE_TEXT",118:"direction_tb",119:"direction_bt",120:"direction_rl",121:"direction_lr"},productions_:[0,[3,2],[5,0],[5,2],[6,1],[6,1],[6,1],[6,1],[6,1],[4,2],[4,2],[4,2],[4,3],[16,2],[16,1],[17,1],[17,1],[17,1],[15,1],[15,1],[15,2],[19,2],[19,2],[19,1],[19,1],[18,2],[18,1],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,9],[7,6],[7,4],[7,1],[7,2],[7,2],[7,1],[21,1],[21,1],[21,1],[20,3],[20,4],[20,2],[20,1],[40,1],[40,5],[41,1],[41,3],[43,4],[43,4],[43,6],[43,4],[43,4],[43,4],[43,8],[43,4],[43,4],[43,4],[43,6],[43,4],[43,4],[43,4],[43,4],[43,4],[43,1],[39,2],[39,3],[39,3],[39,1],[39,3],[74,1],[74,2],[74,1],[74,1],[70,1],[71,3],[30,1],[30,2],[30,1],[30,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[28,1],[28,2],[28,1],[28,1],[24,5],[25,5],[26,2],[26,4],[26,3],[26,5],[26,3],[26,5],[26,5],[26,7],[26,2],[26,4],[26,2],[26,4],[26,4],[26,6],[22,5],[23,5],[23,5],[23,9],[23,9],[23,7],[23,7],[100,1],[100,3],[89,1],[89,3],[104,1],[104,2],[105,1],[105,1],[105,1],[105,1],[105,1],[105,1],[105,1],[105,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[79,1],[79,1],[79,1],[79,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[76,1],[76,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[45,1],[45,2],[98,1],[98,2],[33,1],[33,1],[33,1],[33,1]],performAction:function(a,o,f,r,S,t,N1){var s=t.length-1;switch(S){case 2:this.$=[];break;case 3:(!Array.isArray(t[s])||t[s].length>0)&&t[s-1].push(t[s]),this.$=t[s-1];break;case 4:case 176:this.$=t[s];break;case 11:r.setDirection("TB"),this.$="TB";break;case 12:r.setDirection(t[s-1]),this.$=t[s-1];break;case 27:this.$=t[s-1].nodes;break;case 28:case 29:case 30:case 31:case 32:this.$=[];break;case 33:this.$=r.addSubGraph(t[s-6],t[s-1],t[s-4]);break;case 34:this.$=r.addSubGraph(t[s-3],t[s-1],t[s-3]);break;case 35:this.$=r.addSubGraph(void 0,t[s-1],void 0);break;case 37:this.$=t[s].trim(),r.setAccTitle(this.$);break;case 38:case 39:this.$=t[s].trim(),r.setAccDescription(this.$);break;case 43:r.addLink(t[s-2].stmt,t[s],t[s-1]),this.$={stmt:t[s],nodes:t[s].concat(t[s-2].nodes)};break;case 44:r.addLink(t[s-3].stmt,t[s-1],t[s-2]),this.$={stmt:t[s-1],nodes:t[s-1].concat(t[s-3].nodes)};break;case 45:this.$={stmt:t[s-1],nodes:t[s-1]};break;case 46:this.$={stmt:t[s],nodes:t[s]};break;case 47:this.$=[t[s]];break;case 48:this.$=t[s-4].concat(t[s]);break;case 49:this.$=t[s];break;case 50:this.$=t[s-2],r.setClass(t[s-2],t[s]);break;case 51:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"square");break;case 52:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"doublecircle");break;case 53:this.$=t[s-5],r.addVertex(t[s-5],t[s-2],"circle");break;case 54:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"ellipse");break;case 55:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"stadium");break;case 56:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"subroutine");break;case 57:this.$=t[s-7],r.addVertex(t[s-7],t[s-1],"rect",void 0,void 0,void 0,Object.fromEntries([[t[s-5],t[s-3]]]));break;case 58:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"cylinder");break;case 59:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"round");break;case 60:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"diamond");break;case 61:this.$=t[s-5],r.addVertex(t[s-5],t[s-2],"hexagon");break;case 62:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"odd");break;case 63:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"trapezoid");break;case 64:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"inv_trapezoid");break;case 65:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"lean_right");break;case 66:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"lean_left");break;case 67:this.$=t[s],r.addVertex(t[s]);break;case 68:t[s-1].text=t[s],this.$=t[s-1];break;case 69:case 70:t[s-2].text=t[s-1],this.$=t[s-2];break;case 71:this.$=t[s];break;case 72:var Y=r.destructLink(t[s],t[s-2]);this.$={type:Y.type,stroke:Y.stroke,length:Y.length,text:t[s-1]};break;case 73:this.$={text:t[s],type:"text"};break;case 74:this.$={text:t[s-1].text+""+t[s],type:t[s-1].type};break;case 75:this.$={text:t[s],type:"string"};break;case 76:this.$={text:t[s],type:"markdown"};break;case 77:var Y=r.destructLink(t[s]);this.$={type:Y.type,stroke:Y.stroke,length:Y.length};break;case 78:this.$=t[s-1];break;case 79:this.$={text:t[s],type:"text"};break;case 80:this.$={text:t[s-1].text+""+t[s],type:t[s-1].type};break;case 81:this.$={text:t[s],type:"string"};break;case 82:case 97:this.$={text:t[s],type:"markdown"};break;case 94:this.$={text:t[s],type:"text"};break;case 95:this.$={text:t[s-1].text+""+t[s],type:t[s-1].type};break;case 96:this.$={text:t[s],type:"text"};break;case 98:this.$=t[s-4],r.addClass(t[s-2],t[s]);break;case 99:this.$=t[s-4],r.setClass(t[s-2],t[s]);break;case 100:case 108:this.$=t[s-1],r.setClickEvent(t[s-1],t[s]);break;case 101:case 109:this.$=t[s-3],r.setClickEvent(t[s-3],t[s-2]),r.setTooltip(t[s-3],t[s]);break;case 102:this.$=t[s-2],r.setClickEvent(t[s-2],t[s-1],t[s]);break;case 103:this.$=t[s-4],r.setClickEvent(t[s-4],t[s-3],t[s-2]),r.setTooltip(t[s-4],t[s]);break;case 104:this.$=t[s-2],r.setLink(t[s-2],t[s]);break;case 105:this.$=t[s-4],r.setLink(t[s-4],t[s-2]),r.setTooltip(t[s-4],t[s]);break;case 106:this.$=t[s-4],r.setLink(t[s-4],t[s-2],t[s]);break;case 107:this.$=t[s-6],r.setLink(t[s-6],t[s-4],t[s]),r.setTooltip(t[s-6],t[s-2]);break;case 110:this.$=t[s-1],r.setLink(t[s-1],t[s]);break;case 111:this.$=t[s-3],r.setLink(t[s-3],t[s-2]),r.setTooltip(t[s-3],t[s]);break;case 112:this.$=t[s-3],r.setLink(t[s-3],t[s-2],t[s]);break;case 113:this.$=t[s-5],r.setLink(t[s-5],t[s-4],t[s]),r.setTooltip(t[s-5],t[s-2]);break;case 114:this.$=t[s-4],r.addVertex(t[s-2],void 0,void 0,t[s]);break;case 115:this.$=t[s-4],r.updateLink([t[s-2]],t[s]);break;case 116:this.$=t[s-4],r.updateLink(t[s-2],t[s]);break;case 117:this.$=t[s-8],r.updateLinkInterpolate([t[s-6]],t[s-2]),r.updateLink([t[s-6]],t[s]);break;case 118:this.$=t[s-8],r.updateLinkInterpolate(t[s-6],t[s-2]),r.updateLink(t[s-6],t[s]);break;case 119:this.$=t[s-6],r.updateLinkInterpolate([t[s-4]],t[s]);break;case 120:this.$=t[s-6],r.updateLinkInterpolate(t[s-4],t[s]);break;case 121:case 123:this.$=[t[s]];break;case 122:case 124:t[s-2].push(t[s]),this.$=t[s-2];break;case 126:this.$=t[s-1]+t[s];break;case 174:this.$=t[s];break;case 175:this.$=t[s-1]+""+t[s];break;case 177:this.$=t[s-1]+""+t[s];break;case 178:this.$={stmt:"dir",value:"TB"};break;case 179:this.$={stmt:"dir",value:"BT"};break;case 180:this.$={stmt:"dir",value:"RL"};break;case 181:this.$={stmt:"dir",value:"LR"};break}},table:[{3:1,4:2,9:u,10:i,12:n},{1:[3]},e(c,l,{5:6}),{4:7,9:u,10:i,12:n},{4:8,9:u,10:i,12:n},{13:[1,9],14:[1,10]},{1:[2,1],6:11,7:12,8:h,9:U,10:F,11:w,20:17,22:18,23:19,24:20,25:21,26:22,27:X,33:24,34:o1,36:p1,38:A1,40:28,41:38,42:C,43:39,45:40,58:k,81:l1,82:U1,83:G1,84:M1,85:K1,86:x,99:B,102:m,103:y,106:v,108:V,110:41,111:L,112:I,113:R,118:Y1,119:j1,120:z1,121:X1},e(c,[2,9]),e(c,[2,10]),e(c,[2,11]),{8:[1,54],9:[1,55],10:I1,15:53,18:56},e(b,[2,3]),e(b,[2,4]),e(b,[2,5]),e(b,[2,6]),e(b,[2,7]),e(b,[2,8]),{8:q,9:Q,11:Z,21:58,39:59,70:63,73:[1,64],75:[1,65]},{8:q,9:Q,11:Z,21:66},{8:q,9:Q,11:Z,21:67},{8:q,9:Q,11:Z,21:68},{8:q,9:Q,11:Z,21:69},{8:q,9:Q,11:Z,21:70},{8:q,9:Q,10:[1,71],11:Z,21:72},e(b,[2,36]),{35:[1,73]},{37:[1,74]},e(b,[2,39]),e(H1,[2,46],{18:75,10:I1}),{10:[1,76]},{10:[1,77]},{10:[1,78]},{10:[1,79]},{14:k1,42:b1,58:g1,77:[1,83],86:D1,92:[1,80],94:[1,81],98:82,102:F1,103:T1,106:S1,108:C1,111:_1,112:x1,113:B1,117:84},e(b,[2,178]),e(b,[2,179]),e(b,[2,180]),e(b,[2,181]),e(W1,[2,47]),e(W1,[2,49],{44:[1,96]}),e(N,[2,67],{110:109,29:[1,97],42:C,46:[1,98],48:[1,99],50:[1,100],52:[1,101],54:[1,102],56:[1,103],58:k,61:[1,104],63:[1,105],65:[1,106],66:[1,107],68:[1,108],86:x,99:B,102:m,103:y,106:v,108:V,111:L,112:I,113:R}),e(M,[2,174]),e(M,[2,135]),e(M,[2,136]),e(M,[2,137]),e(M,[2,138]),e(M,[2,139]),e(M,[2,140]),e(M,[2,141]),e(M,[2,142]),e(M,[2,143]),e(M,[2,144]),e(M,[2,145]),e(c,[2,12]),e(c,[2,18]),e(c,[2,19]),{9:[1,110]},e(Et,[2,26],{18:111,10:I1}),e(b,[2,27]),{40:112,41:38,42:C,43:39,45:40,58:k,86:x,99:B,102:m,103:y,106:v,108:V,110:41,111:L,112:I,113:R},e(b,[2,40]),e(b,[2,41]),e(b,[2,42]),e(R1,[2,71],{71:113,60:[1,115],72:[1,114]}),{74:116,76:117,77:[1,118],78:[1,119],113:kt,116:bt},e([42,58,60,72,86,99,102,103,106,108,111,112,113],[2,77]),e(b,[2,28]),e(b,[2,29]),e(b,[2,30]),e(b,[2,31]),e(b,[2,32]),{10:gt,12:Dt,14:Ft,27:Tt,28:122,32:St,42:Ct,58:_t,73:xt,77:[1,124],78:[1,125],80:135,81:Bt,82:mt,83:yt,84:vt,85:Vt,86:Lt,87:It,88:123,102:Rt,106:Nt,108:wt,111:Ot,112:Pt,113:Ut},e(nt,l,{5:148}),e(b,[2,37]),e(b,[2,38]),e(H1,[2,45],{42:Gt}),{42:C,45:150,58:k,86:x,99:B,102:m,103:y,106:v,108:V,110:41,111:L,112:I,113:R},{99:[1,151],100:152,102:[1,153]},{42:C,45:154,58:k,86:x,99:B,102:m,103:y,106:v,108:V,110:41,111:L,112:I,113:R},{42:C,45:155,58:k,86:x,99:B,102:m,103:y,106:v,108:V,110:41,111:L,112:I,113:R},e(T,[2,100],{10:[1,156],93:[1,157]}),{77:[1,158]},e(T,[2,108],{117:160,10:[1,159],14:k1,42:b1,58:g1,86:D1,102:F1,103:T1,106:S1,108:C1,111:_1,112:x1,113:B1}),e(T,[2,110],{10:[1,161]}),e(K,[2,176]),e(K,[2,163]),e(K,[2,164]),e(K,[2,165]),e(K,[2,166]),e(K,[2,167]),e(K,[2,168]),e(K,[2,169]),e(K,[2,170]),e(K,[2,171]),e(K,[2,172]),e(K,[2,173]),{42:C,45:162,58:k,86:x,99:B,102:m,103:y,106:v,108:V,110:41,111:L,112:I,113:R},{30:163,65:p,77:O,78:P,79:164,113:A,114:d,115:E},{30:171,65:p,77:O,78:P,79:164,113:A,114:d,115:E},{30:173,48:[1,172],65:p,77:O,78:P,79:164,113:A,114:d,115:E},{30:174,65:p,77:O,78:P,79:164,113:A,114:d,115:E},{30:175,65:p,77:O,78:P,79:164,113:A,114:d,115:E},{30:176,65:p,77:O,78:P,79:164,113:A,114:d,115:E},{106:[1,177]},{30:178,65:p,77:O,78:P,79:164,113:A,114:d,115:E},{30:179,63:[1,180],65:p,77:O,78:P,79:164,113:A,114:d,115:E},{30:181,65:p,77:O,78:P,79:164,113:A,114:d,115:E},{30:182,65:p,77:O,78:P,79:164,113:A,114:d,115:E},{30:183,65:p,77:O,78:P,79:164,113:A,114:d,115:E},e(M,[2,175]),e(c,[2,20]),e(Et,[2,25]),e(H1,[2,43],{18:184,10:I1}),e(R1,[2,68],{10:[1,185]}),{10:[1,186]},{30:187,65:p,77:O,78:P,79:164,113:A,114:d,115:E},{75:[1,188],76:189,113:kt,116:bt},e(m1,[2,73]),e(m1,[2,75]),e(m1,[2,76]),e(m1,[2,161]),e(m1,[2,162]),{8:q,9:Q,10:gt,11:Z,12:Dt,14:Ft,21:191,27:Tt,29:[1,190],32:St,42:Ct,58:_t,73:xt,80:135,81:Bt,82:mt,83:yt,84:vt,85:Vt,86:Lt,87:It,88:192,102:Rt,106:Nt,108:wt,111:Ot,112:Pt,113:Ut},e(g,[2,94]),e(g,[2,96]),e(g,[2,97]),e(g,[2,150]),e(g,[2,151]),e(g,[2,152]),e(g,[2,153]),e(g,[2,154]),e(g,[2,155]),e(g,[2,156]),e(g,[2,157]),e(g,[2,158]),e(g,[2,159]),e(g,[2,160]),e(g,[2,83]),e(g,[2,84]),e(g,[2,85]),e(g,[2,86]),e(g,[2,87]),e(g,[2,88]),e(g,[2,89]),e(g,[2,90]),e(g,[2,91]),e(g,[2,92]),e(g,[2,93]),{6:11,7:12,8:h,9:U,10:F,11:w,20:17,22:18,23:19,24:20,25:21,26:22,27:X,32:[1,193],33:24,34:o1,36:p1,38:A1,40:28,41:38,42:C,43:39,45:40,58:k,81:l1,82:U1,83:G1,84:M1,85:K1,86:x,99:B,102:m,103:y,106:v,108:V,110:41,111:L,112:I,113:R,118:Y1,119:j1,120:z1,121:X1},{10:I1,18:194},{10:[1,195],42:C,58:k,86:x,99:B,102:m,103:y,106:v,108:V,110:109,111:L,112:I,113:R},{10:[1,196]},{10:[1,197],103:[1,198]},e(Mt,[2,121]),{10:[1,199],42:C,58:k,86:x,99:B,102:m,103:y,106:v,108:V,110:109,111:L,112:I,113:R},{10:[1,200],42:C,58:k,86:x,99:B,102:m,103:y,106:v,108:V,110:109,111:L,112:I,113:R},{77:[1,201]},e(T,[2,102],{10:[1,202]}),e(T,[2,104],{10:[1,203]}),{77:[1,204]},e(K,[2,177]),{77:[1,205],95:[1,206]},e(W1,[2,50],{110:109,42:C,58:k,86:x,99:B,102:m,103:y,106:v,108:V,111:L,112:I,113:R}),{31:[1,207],65:p,79:208,113:A,114:d,115:E},e(h1,[2,79]),e(h1,[2,81]),e(h1,[2,82]),e(h1,[2,146]),e(h1,[2,147]),e(h1,[2,148]),e(h1,[2,149]),{47:[1,209],65:p,79:208,113:A,114:d,115:E},{30:210,65:p,77:O,78:P,79:164,113:A,114:d,115:E},{49:[1,211],65:p,79:208,113:A,114:d,115:E},{51:[1,212],65:p,79:208,113:A,114:d,115:E},{53:[1,213],65:p,79:208,113:A,114:d,115:E},{55:[1,214],65:p,79:208,113:A,114:d,115:E},{58:[1,215]},{62:[1,216],65:p,79:208,113:A,114:d,115:E},{64:[1,217],65:p,79:208,113:A,114:d,115:E},{30:218,65:p,77:O,78:P,79:164,113:A,114:d,115:E},{31:[1,219],65:p,79:208,113:A,114:d,115:E},{65:p,67:[1,220],69:[1,221],79:208,113:A,114:d,115:E},{65:p,67:[1,223],69:[1,222],79:208,113:A,114:d,115:E},e(H1,[2,44],{42:Gt}),e(R1,[2,70]),e(R1,[2,69]),{60:[1,224],65:p,79:208,113:A,114:d,115:E},e(R1,[2,72]),e(m1,[2,74]),{30:225,65:p,77:O,78:P,79:164,113:A,114:d,115:E},e(nt,l,{5:226}),e(g,[2,95]),e(b,[2,35]),{41:227,42:C,43:39,45:40,58:k,86:x,99:B,102:m,103:y,106:v,108:V,110:41,111:L,112:I,113:R},{10:J,58:$,81:t1,89:228,102:e1,104:229,105:230,106:s1,107:u1,108:i1,109:r1},{10:J,58:$,81:t1,89:239,101:[1,240],102:e1,104:229,105:230,106:s1,107:u1,108:i1,109:r1},{10:J,58:$,81:t1,89:241,101:[1,242],102:e1,104:229,105:230,106:s1,107:u1,108:i1,109:r1},{102:[1,243]},{10:J,58:$,81:t1,89:244,102:e1,104:229,105:230,106:s1,107:u1,108:i1,109:r1},{42:C,45:245,58:k,86:x,99:B,102:m,103:y,106:v,108:V,110:41,111:L,112:I,113:R},e(T,[2,101]),{77:[1,246]},{77:[1,247],95:[1,248]},e(T,[2,109]),e(T,[2,111],{10:[1,249]}),e(T,[2,112]),e(N,[2,51]),e(h1,[2,80]),e(N,[2,52]),{49:[1,250],65:p,79:208,113:A,114:d,115:E},e(N,[2,59]),e(N,[2,54]),e(N,[2,55]),e(N,[2,56]),{106:[1,251]},e(N,[2,58]),e(N,[2,60]),{64:[1,252],65:p,79:208,113:A,114:d,115:E},e(N,[2,62]),e(N,[2,63]),e(N,[2,65]),e(N,[2,64]),e(N,[2,66]),e([10,42,58,86,99,102,103,106,108,111,112,113],[2,78]),{31:[1,253],65:p,79:208,113:A,114:d,115:E},{6:11,7:12,8:h,9:U,10:F,11:w,20:17,22:18,23:19,24:20,25:21,26:22,27:X,32:[1,254],33:24,34:o1,36:p1,38:A1,40:28,41:38,42:C,43:39,45:40,58:k,81:l1,82:U1,83:G1,84:M1,85:K1,86:x,99:B,102:m,103:y,106:v,108:V,110:41,111:L,112:I,113:R,118:Y1,119:j1,120:z1,121:X1},e(W1,[2,48]),e(T,[2,114],{103:y1}),e(Kt,[2,123],{105:256,10:J,58:$,81:t1,102:e1,106:s1,107:u1,108:i1,109:r1}),e(W,[2,125]),e(W,[2,127]),e(W,[2,128]),e(W,[2,129]),e(W,[2,130]),e(W,[2,131]),e(W,[2,132]),e(W,[2,133]),e(W,[2,134]),e(T,[2,115],{103:y1}),{10:[1,257]},e(T,[2,116],{103:y1}),{10:[1,258]},e(Mt,[2,122]),e(T,[2,98],{103:y1}),e(T,[2,99],{110:109,42:C,58:k,86:x,99:B,102:m,103:y,106:v,108:V,111:L,112:I,113:R}),e(T,[2,103]),e(T,[2,105],{10:[1,259]}),e(T,[2,106]),{95:[1,260]},{49:[1,261]},{60:[1,262]},{64:[1,263]},{8:q,9:Q,11:Z,21:264},e(b,[2,34]),{10:J,58:$,81:t1,102:e1,104:265,105:230,106:s1,107:u1,108:i1,109:r1},e(W,[2,126]),{14:k1,42:b1,58:g1,86:D1,98:266,102:F1,103:T1,106:S1,108:C1,111:_1,112:x1,113:B1,117:84},{14:k1,42:b1,58:g1,86:D1,98:267,102:F1,103:T1,106:S1,108:C1,111:_1,112:x1,113:B1,117:84},{95:[1,268]},e(T,[2,113]),e(N,[2,53]),{30:269,65:p,77:O,78:P,79:164,113:A,114:d,115:E},e(N,[2,61]),e(nt,l,{5:270}),e(Kt,[2,124],{105:256,10:J,58:$,81:t1,102:e1,106:s1,107:u1,108:i1,109:r1}),e(T,[2,119],{117:160,10:[1,271],14:k1,42:b1,58:g1,86:D1,102:F1,103:T1,106:S1,108:C1,111:_1,112:x1,113:B1}),e(T,[2,120],{117:160,10:[1,272],14:k1,42:b1,58:g1,86:D1,102:F1,103:T1,106:S1,108:C1,111:_1,112:x1,113:B1}),e(T,[2,107]),{31:[1,273],65:p,79:208,113:A,114:d,115:E},{6:11,7:12,8:h,9:U,10:F,11:w,20:17,22:18,23:19,24:20,25:21,26:22,27:X,32:[1,274],33:24,34:o1,36:p1,38:A1,40:28,41:38,42:C,43:39,45:40,58:k,81:l1,82:U1,83:G1,84:M1,85:K1,86:x,99:B,102:m,103:y,106:v,108:V,110:41,111:L,112:I,113:R,118:Y1,119:j1,120:z1,121:X1},{10:J,58:$,81:t1,89:275,102:e1,104:229,105:230,106:s1,107:u1,108:i1,109:r1},{10:J,58:$,81:t1,89:276,102:e1,104:229,105:230,106:s1,107:u1,108:i1,109:r1},e(N,[2,57]),e(b,[2,33]),e(T,[2,117],{103:y1}),e(T,[2,118],{103:y1})],defaultActions:{},parseError:function(a,o){if(o.recoverable)this.trace(a);else{var f=new Error(a);throw f.hash=o,f}},parse:function(a){var o=this,f=[0],r=[],S=[null],t=[],N1=this.table,s="",Y=0,Yt=0,Ce=2,jt=1,_e=t.slice.call(arguments,1),_=Object.create(this.lexer),d1={yy:{}};for(var ot in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ot)&&(d1.yy[ot]=this.yy[ot]);_.setInput(a,d1.yy),d1.yy.lexer=_,d1.yy.parser=this,typeof _.yylloc>"u"&&(_.yylloc={});var lt=_.yylloc;t.push(lt);var xe=_.options&&_.options.ranges;typeof d1.yy.parseError=="function"?this.parseError=d1.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Be(){var a1;return a1=r.pop()||_.lex()||jt,typeof a1!="number"&&(a1 instanceof Array&&(r=a1,a1=r.pop()),a1=o.symbols_[a1]||a1),a1}for(var G,E1,j,ht,v1={},q1,n1,zt,Q1;;){if(E1=f[f.length-1],this.defaultActions[E1]?j=this.defaultActions[E1]:((G===null||typeof G>"u")&&(G=Be()),j=N1[E1]&&N1[E1][G]),typeof j>"u"||!j.length||!j[0]){var ft="";Q1=[];for(q1 in N1[E1])this.terminals_[q1]&&q1>Ce&&Q1.push("'"+this.terminals_[q1]+"'");_.showPosition?ft="Parse error on line "+(Y+1)+`: +import{c as et,v as me,s as ye,g as ve,a as Ve,b as Le,x as Ie,y as Re,l as J1,z as dt,A as Ne,j as we,h as w1}from"./mermaid.core-C-ipfzeP.js";var pt=function(){var e=function(f1,a,o,f){for(o=o||{},f=f1.length;f--;o[f1[f]]=a);return o},u=[1,4],i=[1,3],n=[1,5],c=[1,8,9,10,11,27,34,36,38,42,58,81,82,83,84,85,86,99,102,103,106,108,111,112,113,118,119,120,121],l=[2,2],h=[1,13],U=[1,14],F=[1,15],w=[1,16],X=[1,23],o1=[1,25],p1=[1,26],A1=[1,27],C=[1,49],k=[1,48],l1=[1,29],U1=[1,30],G1=[1,31],M1=[1,32],K1=[1,33],x=[1,44],B=[1,46],m=[1,42],y=[1,47],v=[1,43],V=[1,50],L=[1,45],I=[1,51],R=[1,52],Y1=[1,34],j1=[1,35],z1=[1,36],X1=[1,37],I1=[1,57],b=[1,8,9,10,11,27,32,34,36,38,42,58,81,82,83,84,85,86,99,102,103,106,108,111,112,113,118,119,120,121],q=[1,61],Q=[1,60],Z=[1,62],H1=[8,9,11,73,75],k1=[1,88],b1=[1,93],g1=[1,92],D1=[1,89],F1=[1,85],T1=[1,91],S1=[1,87],C1=[1,94],_1=[1,90],x1=[1,95],B1=[1,86],W1=[8,9,10,11,73,75],N=[8,9,10,11,44,73,75],M=[8,9,10,11,29,42,44,46,48,50,52,54,56,58,61,63,65,66,68,73,75,86,99,102,103,106,108,111,112,113],Et=[8,9,11,42,58,73,75,86,99,102,103,106,108,111,112,113],R1=[42,58,86,99,102,103,106,108,111,112,113],kt=[1,121],bt=[1,120],gt=[1,128],Dt=[1,142],Ft=[1,143],Tt=[1,144],St=[1,145],Ct=[1,130],_t=[1,132],xt=[1,136],Bt=[1,137],mt=[1,138],yt=[1,139],vt=[1,140],Vt=[1,141],Lt=[1,146],It=[1,147],Rt=[1,126],Nt=[1,127],wt=[1,134],Ot=[1,129],Pt=[1,133],Ut=[1,131],nt=[8,9,10,11,27,32,34,36,38,42,58,81,82,83,84,85,86,99,102,103,106,108,111,112,113,118,119,120,121],Gt=[1,149],T=[8,9,11],K=[8,9,10,11,14,42,58,86,102,103,106,108,111,112,113],p=[1,169],O=[1,165],P=[1,166],A=[1,170],d=[1,167],E=[1,168],m1=[75,113,116],g=[8,9,10,11,12,14,27,29,32,42,58,73,81,82,83,84,85,86,87,102,106,108,111,112,113],Mt=[10,103],h1=[31,47,49,51,53,55,60,62,64,65,67,69,113,114,115],J=[1,235],$=[1,233],t1=[1,237],e1=[1,231],s1=[1,232],u1=[1,234],i1=[1,236],r1=[1,238],y1=[1,255],Kt=[8,9,11,103],W=[8,9,10,11,58,81,102,103,106,107,108,109],at={trace:function(){},yy:{},symbols_:{error:2,start:3,graphConfig:4,document:5,line:6,statement:7,SEMI:8,NEWLINE:9,SPACE:10,EOF:11,GRAPH:12,NODIR:13,DIR:14,FirstStmtSeparator:15,ending:16,endToken:17,spaceList:18,spaceListNewline:19,vertexStatement:20,separator:21,styleStatement:22,linkStyleStatement:23,classDefStatement:24,classStatement:25,clickStatement:26,subgraph:27,textNoTags:28,SQS:29,text:30,SQE:31,end:32,direction:33,acc_title:34,acc_title_value:35,acc_descr:36,acc_descr_value:37,acc_descr_multiline_value:38,link:39,node:40,styledVertex:41,AMP:42,vertex:43,STYLE_SEPARATOR:44,idString:45,DOUBLECIRCLESTART:46,DOUBLECIRCLEEND:47,PS:48,PE:49,"(-":50,"-)":51,STADIUMSTART:52,STADIUMEND:53,SUBROUTINESTART:54,SUBROUTINEEND:55,VERTEX_WITH_PROPS_START:56,"NODE_STRING[field]":57,COLON:58,"NODE_STRING[value]":59,PIPE:60,CYLINDERSTART:61,CYLINDEREND:62,DIAMOND_START:63,DIAMOND_STOP:64,TAGEND:65,TRAPSTART:66,TRAPEND:67,INVTRAPSTART:68,INVTRAPEND:69,linkStatement:70,arrowText:71,TESTSTR:72,START_LINK:73,edgeText:74,LINK:75,edgeTextToken:76,STR:77,MD_STR:78,textToken:79,keywords:80,STYLE:81,LINKSTYLE:82,CLASSDEF:83,CLASS:84,CLICK:85,DOWN:86,UP:87,textNoTagsToken:88,stylesOpt:89,"idString[vertex]":90,"idString[class]":91,CALLBACKNAME:92,CALLBACKARGS:93,HREF:94,LINK_TARGET:95,"STR[link]":96,"STR[tooltip]":97,alphaNum:98,DEFAULT:99,numList:100,INTERPOLATE:101,NUM:102,COMMA:103,style:104,styleComponent:105,NODE_STRING:106,UNIT:107,BRKT:108,PCT:109,idStringToken:110,MINUS:111,MULT:112,UNICODE_TEXT:113,TEXT:114,TAGSTART:115,EDGE_TEXT:116,alphaNumToken:117,direction_tb:118,direction_bt:119,direction_rl:120,direction_lr:121,$accept:0,$end:1},terminals_:{2:"error",8:"SEMI",9:"NEWLINE",10:"SPACE",11:"EOF",12:"GRAPH",13:"NODIR",14:"DIR",27:"subgraph",29:"SQS",31:"SQE",32:"end",34:"acc_title",35:"acc_title_value",36:"acc_descr",37:"acc_descr_value",38:"acc_descr_multiline_value",42:"AMP",44:"STYLE_SEPARATOR",46:"DOUBLECIRCLESTART",47:"DOUBLECIRCLEEND",48:"PS",49:"PE",50:"(-",51:"-)",52:"STADIUMSTART",53:"STADIUMEND",54:"SUBROUTINESTART",55:"SUBROUTINEEND",56:"VERTEX_WITH_PROPS_START",57:"NODE_STRING[field]",58:"COLON",59:"NODE_STRING[value]",60:"PIPE",61:"CYLINDERSTART",62:"CYLINDEREND",63:"DIAMOND_START",64:"DIAMOND_STOP",65:"TAGEND",66:"TRAPSTART",67:"TRAPEND",68:"INVTRAPSTART",69:"INVTRAPEND",72:"TESTSTR",73:"START_LINK",75:"LINK",77:"STR",78:"MD_STR",81:"STYLE",82:"LINKSTYLE",83:"CLASSDEF",84:"CLASS",85:"CLICK",86:"DOWN",87:"UP",90:"idString[vertex]",91:"idString[class]",92:"CALLBACKNAME",93:"CALLBACKARGS",94:"HREF",95:"LINK_TARGET",96:"STR[link]",97:"STR[tooltip]",99:"DEFAULT",101:"INTERPOLATE",102:"NUM",103:"COMMA",106:"NODE_STRING",107:"UNIT",108:"BRKT",109:"PCT",111:"MINUS",112:"MULT",113:"UNICODE_TEXT",114:"TEXT",115:"TAGSTART",116:"EDGE_TEXT",118:"direction_tb",119:"direction_bt",120:"direction_rl",121:"direction_lr"},productions_:[0,[3,2],[5,0],[5,2],[6,1],[6,1],[6,1],[6,1],[6,1],[4,2],[4,2],[4,2],[4,3],[16,2],[16,1],[17,1],[17,1],[17,1],[15,1],[15,1],[15,2],[19,2],[19,2],[19,1],[19,1],[18,2],[18,1],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,9],[7,6],[7,4],[7,1],[7,2],[7,2],[7,1],[21,1],[21,1],[21,1],[20,3],[20,4],[20,2],[20,1],[40,1],[40,5],[41,1],[41,3],[43,4],[43,4],[43,6],[43,4],[43,4],[43,4],[43,8],[43,4],[43,4],[43,4],[43,6],[43,4],[43,4],[43,4],[43,4],[43,4],[43,1],[39,2],[39,3],[39,3],[39,1],[39,3],[74,1],[74,2],[74,1],[74,1],[70,1],[71,3],[30,1],[30,2],[30,1],[30,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[28,1],[28,2],[28,1],[28,1],[24,5],[25,5],[26,2],[26,4],[26,3],[26,5],[26,3],[26,5],[26,5],[26,7],[26,2],[26,4],[26,2],[26,4],[26,4],[26,6],[22,5],[23,5],[23,5],[23,9],[23,9],[23,7],[23,7],[100,1],[100,3],[89,1],[89,3],[104,1],[104,2],[105,1],[105,1],[105,1],[105,1],[105,1],[105,1],[105,1],[105,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[79,1],[79,1],[79,1],[79,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[76,1],[76,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[45,1],[45,2],[98,1],[98,2],[33,1],[33,1],[33,1],[33,1]],performAction:function(a,o,f,r,S,t,N1){var s=t.length-1;switch(S){case 2:this.$=[];break;case 3:(!Array.isArray(t[s])||t[s].length>0)&&t[s-1].push(t[s]),this.$=t[s-1];break;case 4:case 176:this.$=t[s];break;case 11:r.setDirection("TB"),this.$="TB";break;case 12:r.setDirection(t[s-1]),this.$=t[s-1];break;case 27:this.$=t[s-1].nodes;break;case 28:case 29:case 30:case 31:case 32:this.$=[];break;case 33:this.$=r.addSubGraph(t[s-6],t[s-1],t[s-4]);break;case 34:this.$=r.addSubGraph(t[s-3],t[s-1],t[s-3]);break;case 35:this.$=r.addSubGraph(void 0,t[s-1],void 0);break;case 37:this.$=t[s].trim(),r.setAccTitle(this.$);break;case 38:case 39:this.$=t[s].trim(),r.setAccDescription(this.$);break;case 43:r.addLink(t[s-2].stmt,t[s],t[s-1]),this.$={stmt:t[s],nodes:t[s].concat(t[s-2].nodes)};break;case 44:r.addLink(t[s-3].stmt,t[s-1],t[s-2]),this.$={stmt:t[s-1],nodes:t[s-1].concat(t[s-3].nodes)};break;case 45:this.$={stmt:t[s-1],nodes:t[s-1]};break;case 46:this.$={stmt:t[s],nodes:t[s]};break;case 47:this.$=[t[s]];break;case 48:this.$=t[s-4].concat(t[s]);break;case 49:this.$=t[s];break;case 50:this.$=t[s-2],r.setClass(t[s-2],t[s]);break;case 51:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"square");break;case 52:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"doublecircle");break;case 53:this.$=t[s-5],r.addVertex(t[s-5],t[s-2],"circle");break;case 54:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"ellipse");break;case 55:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"stadium");break;case 56:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"subroutine");break;case 57:this.$=t[s-7],r.addVertex(t[s-7],t[s-1],"rect",void 0,void 0,void 0,Object.fromEntries([[t[s-5],t[s-3]]]));break;case 58:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"cylinder");break;case 59:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"round");break;case 60:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"diamond");break;case 61:this.$=t[s-5],r.addVertex(t[s-5],t[s-2],"hexagon");break;case 62:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"odd");break;case 63:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"trapezoid");break;case 64:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"inv_trapezoid");break;case 65:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"lean_right");break;case 66:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"lean_left");break;case 67:this.$=t[s],r.addVertex(t[s]);break;case 68:t[s-1].text=t[s],this.$=t[s-1];break;case 69:case 70:t[s-2].text=t[s-1],this.$=t[s-2];break;case 71:this.$=t[s];break;case 72:var Y=r.destructLink(t[s],t[s-2]);this.$={type:Y.type,stroke:Y.stroke,length:Y.length,text:t[s-1]};break;case 73:this.$={text:t[s],type:"text"};break;case 74:this.$={text:t[s-1].text+""+t[s],type:t[s-1].type};break;case 75:this.$={text:t[s],type:"string"};break;case 76:this.$={text:t[s],type:"markdown"};break;case 77:var Y=r.destructLink(t[s]);this.$={type:Y.type,stroke:Y.stroke,length:Y.length};break;case 78:this.$=t[s-1];break;case 79:this.$={text:t[s],type:"text"};break;case 80:this.$={text:t[s-1].text+""+t[s],type:t[s-1].type};break;case 81:this.$={text:t[s],type:"string"};break;case 82:case 97:this.$={text:t[s],type:"markdown"};break;case 94:this.$={text:t[s],type:"text"};break;case 95:this.$={text:t[s-1].text+""+t[s],type:t[s-1].type};break;case 96:this.$={text:t[s],type:"text"};break;case 98:this.$=t[s-4],r.addClass(t[s-2],t[s]);break;case 99:this.$=t[s-4],r.setClass(t[s-2],t[s]);break;case 100:case 108:this.$=t[s-1],r.setClickEvent(t[s-1],t[s]);break;case 101:case 109:this.$=t[s-3],r.setClickEvent(t[s-3],t[s-2]),r.setTooltip(t[s-3],t[s]);break;case 102:this.$=t[s-2],r.setClickEvent(t[s-2],t[s-1],t[s]);break;case 103:this.$=t[s-4],r.setClickEvent(t[s-4],t[s-3],t[s-2]),r.setTooltip(t[s-4],t[s]);break;case 104:this.$=t[s-2],r.setLink(t[s-2],t[s]);break;case 105:this.$=t[s-4],r.setLink(t[s-4],t[s-2]),r.setTooltip(t[s-4],t[s]);break;case 106:this.$=t[s-4],r.setLink(t[s-4],t[s-2],t[s]);break;case 107:this.$=t[s-6],r.setLink(t[s-6],t[s-4],t[s]),r.setTooltip(t[s-6],t[s-2]);break;case 110:this.$=t[s-1],r.setLink(t[s-1],t[s]);break;case 111:this.$=t[s-3],r.setLink(t[s-3],t[s-2]),r.setTooltip(t[s-3],t[s]);break;case 112:this.$=t[s-3],r.setLink(t[s-3],t[s-2],t[s]);break;case 113:this.$=t[s-5],r.setLink(t[s-5],t[s-4],t[s]),r.setTooltip(t[s-5],t[s-2]);break;case 114:this.$=t[s-4],r.addVertex(t[s-2],void 0,void 0,t[s]);break;case 115:this.$=t[s-4],r.updateLink([t[s-2]],t[s]);break;case 116:this.$=t[s-4],r.updateLink(t[s-2],t[s]);break;case 117:this.$=t[s-8],r.updateLinkInterpolate([t[s-6]],t[s-2]),r.updateLink([t[s-6]],t[s]);break;case 118:this.$=t[s-8],r.updateLinkInterpolate(t[s-6],t[s-2]),r.updateLink(t[s-6],t[s]);break;case 119:this.$=t[s-6],r.updateLinkInterpolate([t[s-4]],t[s]);break;case 120:this.$=t[s-6],r.updateLinkInterpolate(t[s-4],t[s]);break;case 121:case 123:this.$=[t[s]];break;case 122:case 124:t[s-2].push(t[s]),this.$=t[s-2];break;case 126:this.$=t[s-1]+t[s];break;case 174:this.$=t[s];break;case 175:this.$=t[s-1]+""+t[s];break;case 177:this.$=t[s-1]+""+t[s];break;case 178:this.$={stmt:"dir",value:"TB"};break;case 179:this.$={stmt:"dir",value:"BT"};break;case 180:this.$={stmt:"dir",value:"RL"};break;case 181:this.$={stmt:"dir",value:"LR"};break}},table:[{3:1,4:2,9:u,10:i,12:n},{1:[3]},e(c,l,{5:6}),{4:7,9:u,10:i,12:n},{4:8,9:u,10:i,12:n},{13:[1,9],14:[1,10]},{1:[2,1],6:11,7:12,8:h,9:U,10:F,11:w,20:17,22:18,23:19,24:20,25:21,26:22,27:X,33:24,34:o1,36:p1,38:A1,40:28,41:38,42:C,43:39,45:40,58:k,81:l1,82:U1,83:G1,84:M1,85:K1,86:x,99:B,102:m,103:y,106:v,108:V,110:41,111:L,112:I,113:R,118:Y1,119:j1,120:z1,121:X1},e(c,[2,9]),e(c,[2,10]),e(c,[2,11]),{8:[1,54],9:[1,55],10:I1,15:53,18:56},e(b,[2,3]),e(b,[2,4]),e(b,[2,5]),e(b,[2,6]),e(b,[2,7]),e(b,[2,8]),{8:q,9:Q,11:Z,21:58,39:59,70:63,73:[1,64],75:[1,65]},{8:q,9:Q,11:Z,21:66},{8:q,9:Q,11:Z,21:67},{8:q,9:Q,11:Z,21:68},{8:q,9:Q,11:Z,21:69},{8:q,9:Q,11:Z,21:70},{8:q,9:Q,10:[1,71],11:Z,21:72},e(b,[2,36]),{35:[1,73]},{37:[1,74]},e(b,[2,39]),e(H1,[2,46],{18:75,10:I1}),{10:[1,76]},{10:[1,77]},{10:[1,78]},{10:[1,79]},{14:k1,42:b1,58:g1,77:[1,83],86:D1,92:[1,80],94:[1,81],98:82,102:F1,103:T1,106:S1,108:C1,111:_1,112:x1,113:B1,117:84},e(b,[2,178]),e(b,[2,179]),e(b,[2,180]),e(b,[2,181]),e(W1,[2,47]),e(W1,[2,49],{44:[1,96]}),e(N,[2,67],{110:109,29:[1,97],42:C,46:[1,98],48:[1,99],50:[1,100],52:[1,101],54:[1,102],56:[1,103],58:k,61:[1,104],63:[1,105],65:[1,106],66:[1,107],68:[1,108],86:x,99:B,102:m,103:y,106:v,108:V,111:L,112:I,113:R}),e(M,[2,174]),e(M,[2,135]),e(M,[2,136]),e(M,[2,137]),e(M,[2,138]),e(M,[2,139]),e(M,[2,140]),e(M,[2,141]),e(M,[2,142]),e(M,[2,143]),e(M,[2,144]),e(M,[2,145]),e(c,[2,12]),e(c,[2,18]),e(c,[2,19]),{9:[1,110]},e(Et,[2,26],{18:111,10:I1}),e(b,[2,27]),{40:112,41:38,42:C,43:39,45:40,58:k,86:x,99:B,102:m,103:y,106:v,108:V,110:41,111:L,112:I,113:R},e(b,[2,40]),e(b,[2,41]),e(b,[2,42]),e(R1,[2,71],{71:113,60:[1,115],72:[1,114]}),{74:116,76:117,77:[1,118],78:[1,119],113:kt,116:bt},e([42,58,60,72,86,99,102,103,106,108,111,112,113],[2,77]),e(b,[2,28]),e(b,[2,29]),e(b,[2,30]),e(b,[2,31]),e(b,[2,32]),{10:gt,12:Dt,14:Ft,27:Tt,28:122,32:St,42:Ct,58:_t,73:xt,77:[1,124],78:[1,125],80:135,81:Bt,82:mt,83:yt,84:vt,85:Vt,86:Lt,87:It,88:123,102:Rt,106:Nt,108:wt,111:Ot,112:Pt,113:Ut},e(nt,l,{5:148}),e(b,[2,37]),e(b,[2,38]),e(H1,[2,45],{42:Gt}),{42:C,45:150,58:k,86:x,99:B,102:m,103:y,106:v,108:V,110:41,111:L,112:I,113:R},{99:[1,151],100:152,102:[1,153]},{42:C,45:154,58:k,86:x,99:B,102:m,103:y,106:v,108:V,110:41,111:L,112:I,113:R},{42:C,45:155,58:k,86:x,99:B,102:m,103:y,106:v,108:V,110:41,111:L,112:I,113:R},e(T,[2,100],{10:[1,156],93:[1,157]}),{77:[1,158]},e(T,[2,108],{117:160,10:[1,159],14:k1,42:b1,58:g1,86:D1,102:F1,103:T1,106:S1,108:C1,111:_1,112:x1,113:B1}),e(T,[2,110],{10:[1,161]}),e(K,[2,176]),e(K,[2,163]),e(K,[2,164]),e(K,[2,165]),e(K,[2,166]),e(K,[2,167]),e(K,[2,168]),e(K,[2,169]),e(K,[2,170]),e(K,[2,171]),e(K,[2,172]),e(K,[2,173]),{42:C,45:162,58:k,86:x,99:B,102:m,103:y,106:v,108:V,110:41,111:L,112:I,113:R},{30:163,65:p,77:O,78:P,79:164,113:A,114:d,115:E},{30:171,65:p,77:O,78:P,79:164,113:A,114:d,115:E},{30:173,48:[1,172],65:p,77:O,78:P,79:164,113:A,114:d,115:E},{30:174,65:p,77:O,78:P,79:164,113:A,114:d,115:E},{30:175,65:p,77:O,78:P,79:164,113:A,114:d,115:E},{30:176,65:p,77:O,78:P,79:164,113:A,114:d,115:E},{106:[1,177]},{30:178,65:p,77:O,78:P,79:164,113:A,114:d,115:E},{30:179,63:[1,180],65:p,77:O,78:P,79:164,113:A,114:d,115:E},{30:181,65:p,77:O,78:P,79:164,113:A,114:d,115:E},{30:182,65:p,77:O,78:P,79:164,113:A,114:d,115:E},{30:183,65:p,77:O,78:P,79:164,113:A,114:d,115:E},e(M,[2,175]),e(c,[2,20]),e(Et,[2,25]),e(H1,[2,43],{18:184,10:I1}),e(R1,[2,68],{10:[1,185]}),{10:[1,186]},{30:187,65:p,77:O,78:P,79:164,113:A,114:d,115:E},{75:[1,188],76:189,113:kt,116:bt},e(m1,[2,73]),e(m1,[2,75]),e(m1,[2,76]),e(m1,[2,161]),e(m1,[2,162]),{8:q,9:Q,10:gt,11:Z,12:Dt,14:Ft,21:191,27:Tt,29:[1,190],32:St,42:Ct,58:_t,73:xt,80:135,81:Bt,82:mt,83:yt,84:vt,85:Vt,86:Lt,87:It,88:192,102:Rt,106:Nt,108:wt,111:Ot,112:Pt,113:Ut},e(g,[2,94]),e(g,[2,96]),e(g,[2,97]),e(g,[2,150]),e(g,[2,151]),e(g,[2,152]),e(g,[2,153]),e(g,[2,154]),e(g,[2,155]),e(g,[2,156]),e(g,[2,157]),e(g,[2,158]),e(g,[2,159]),e(g,[2,160]),e(g,[2,83]),e(g,[2,84]),e(g,[2,85]),e(g,[2,86]),e(g,[2,87]),e(g,[2,88]),e(g,[2,89]),e(g,[2,90]),e(g,[2,91]),e(g,[2,92]),e(g,[2,93]),{6:11,7:12,8:h,9:U,10:F,11:w,20:17,22:18,23:19,24:20,25:21,26:22,27:X,32:[1,193],33:24,34:o1,36:p1,38:A1,40:28,41:38,42:C,43:39,45:40,58:k,81:l1,82:U1,83:G1,84:M1,85:K1,86:x,99:B,102:m,103:y,106:v,108:V,110:41,111:L,112:I,113:R,118:Y1,119:j1,120:z1,121:X1},{10:I1,18:194},{10:[1,195],42:C,58:k,86:x,99:B,102:m,103:y,106:v,108:V,110:109,111:L,112:I,113:R},{10:[1,196]},{10:[1,197],103:[1,198]},e(Mt,[2,121]),{10:[1,199],42:C,58:k,86:x,99:B,102:m,103:y,106:v,108:V,110:109,111:L,112:I,113:R},{10:[1,200],42:C,58:k,86:x,99:B,102:m,103:y,106:v,108:V,110:109,111:L,112:I,113:R},{77:[1,201]},e(T,[2,102],{10:[1,202]}),e(T,[2,104],{10:[1,203]}),{77:[1,204]},e(K,[2,177]),{77:[1,205],95:[1,206]},e(W1,[2,50],{110:109,42:C,58:k,86:x,99:B,102:m,103:y,106:v,108:V,111:L,112:I,113:R}),{31:[1,207],65:p,79:208,113:A,114:d,115:E},e(h1,[2,79]),e(h1,[2,81]),e(h1,[2,82]),e(h1,[2,146]),e(h1,[2,147]),e(h1,[2,148]),e(h1,[2,149]),{47:[1,209],65:p,79:208,113:A,114:d,115:E},{30:210,65:p,77:O,78:P,79:164,113:A,114:d,115:E},{49:[1,211],65:p,79:208,113:A,114:d,115:E},{51:[1,212],65:p,79:208,113:A,114:d,115:E},{53:[1,213],65:p,79:208,113:A,114:d,115:E},{55:[1,214],65:p,79:208,113:A,114:d,115:E},{58:[1,215]},{62:[1,216],65:p,79:208,113:A,114:d,115:E},{64:[1,217],65:p,79:208,113:A,114:d,115:E},{30:218,65:p,77:O,78:P,79:164,113:A,114:d,115:E},{31:[1,219],65:p,79:208,113:A,114:d,115:E},{65:p,67:[1,220],69:[1,221],79:208,113:A,114:d,115:E},{65:p,67:[1,223],69:[1,222],79:208,113:A,114:d,115:E},e(H1,[2,44],{42:Gt}),e(R1,[2,70]),e(R1,[2,69]),{60:[1,224],65:p,79:208,113:A,114:d,115:E},e(R1,[2,72]),e(m1,[2,74]),{30:225,65:p,77:O,78:P,79:164,113:A,114:d,115:E},e(nt,l,{5:226}),e(g,[2,95]),e(b,[2,35]),{41:227,42:C,43:39,45:40,58:k,86:x,99:B,102:m,103:y,106:v,108:V,110:41,111:L,112:I,113:R},{10:J,58:$,81:t1,89:228,102:e1,104:229,105:230,106:s1,107:u1,108:i1,109:r1},{10:J,58:$,81:t1,89:239,101:[1,240],102:e1,104:229,105:230,106:s1,107:u1,108:i1,109:r1},{10:J,58:$,81:t1,89:241,101:[1,242],102:e1,104:229,105:230,106:s1,107:u1,108:i1,109:r1},{102:[1,243]},{10:J,58:$,81:t1,89:244,102:e1,104:229,105:230,106:s1,107:u1,108:i1,109:r1},{42:C,45:245,58:k,86:x,99:B,102:m,103:y,106:v,108:V,110:41,111:L,112:I,113:R},e(T,[2,101]),{77:[1,246]},{77:[1,247],95:[1,248]},e(T,[2,109]),e(T,[2,111],{10:[1,249]}),e(T,[2,112]),e(N,[2,51]),e(h1,[2,80]),e(N,[2,52]),{49:[1,250],65:p,79:208,113:A,114:d,115:E},e(N,[2,59]),e(N,[2,54]),e(N,[2,55]),e(N,[2,56]),{106:[1,251]},e(N,[2,58]),e(N,[2,60]),{64:[1,252],65:p,79:208,113:A,114:d,115:E},e(N,[2,62]),e(N,[2,63]),e(N,[2,65]),e(N,[2,64]),e(N,[2,66]),e([10,42,58,86,99,102,103,106,108,111,112,113],[2,78]),{31:[1,253],65:p,79:208,113:A,114:d,115:E},{6:11,7:12,8:h,9:U,10:F,11:w,20:17,22:18,23:19,24:20,25:21,26:22,27:X,32:[1,254],33:24,34:o1,36:p1,38:A1,40:28,41:38,42:C,43:39,45:40,58:k,81:l1,82:U1,83:G1,84:M1,85:K1,86:x,99:B,102:m,103:y,106:v,108:V,110:41,111:L,112:I,113:R,118:Y1,119:j1,120:z1,121:X1},e(W1,[2,48]),e(T,[2,114],{103:y1}),e(Kt,[2,123],{105:256,10:J,58:$,81:t1,102:e1,106:s1,107:u1,108:i1,109:r1}),e(W,[2,125]),e(W,[2,127]),e(W,[2,128]),e(W,[2,129]),e(W,[2,130]),e(W,[2,131]),e(W,[2,132]),e(W,[2,133]),e(W,[2,134]),e(T,[2,115],{103:y1}),{10:[1,257]},e(T,[2,116],{103:y1}),{10:[1,258]},e(Mt,[2,122]),e(T,[2,98],{103:y1}),e(T,[2,99],{110:109,42:C,58:k,86:x,99:B,102:m,103:y,106:v,108:V,111:L,112:I,113:R}),e(T,[2,103]),e(T,[2,105],{10:[1,259]}),e(T,[2,106]),{95:[1,260]},{49:[1,261]},{60:[1,262]},{64:[1,263]},{8:q,9:Q,11:Z,21:264},e(b,[2,34]),{10:J,58:$,81:t1,102:e1,104:265,105:230,106:s1,107:u1,108:i1,109:r1},e(W,[2,126]),{14:k1,42:b1,58:g1,86:D1,98:266,102:F1,103:T1,106:S1,108:C1,111:_1,112:x1,113:B1,117:84},{14:k1,42:b1,58:g1,86:D1,98:267,102:F1,103:T1,106:S1,108:C1,111:_1,112:x1,113:B1,117:84},{95:[1,268]},e(T,[2,113]),e(N,[2,53]),{30:269,65:p,77:O,78:P,79:164,113:A,114:d,115:E},e(N,[2,61]),e(nt,l,{5:270}),e(Kt,[2,124],{105:256,10:J,58:$,81:t1,102:e1,106:s1,107:u1,108:i1,109:r1}),e(T,[2,119],{117:160,10:[1,271],14:k1,42:b1,58:g1,86:D1,102:F1,103:T1,106:S1,108:C1,111:_1,112:x1,113:B1}),e(T,[2,120],{117:160,10:[1,272],14:k1,42:b1,58:g1,86:D1,102:F1,103:T1,106:S1,108:C1,111:_1,112:x1,113:B1}),e(T,[2,107]),{31:[1,273],65:p,79:208,113:A,114:d,115:E},{6:11,7:12,8:h,9:U,10:F,11:w,20:17,22:18,23:19,24:20,25:21,26:22,27:X,32:[1,274],33:24,34:o1,36:p1,38:A1,40:28,41:38,42:C,43:39,45:40,58:k,81:l1,82:U1,83:G1,84:M1,85:K1,86:x,99:B,102:m,103:y,106:v,108:V,110:41,111:L,112:I,113:R,118:Y1,119:j1,120:z1,121:X1},{10:J,58:$,81:t1,89:275,102:e1,104:229,105:230,106:s1,107:u1,108:i1,109:r1},{10:J,58:$,81:t1,89:276,102:e1,104:229,105:230,106:s1,107:u1,108:i1,109:r1},e(N,[2,57]),e(b,[2,33]),e(T,[2,117],{103:y1}),e(T,[2,118],{103:y1})],defaultActions:{},parseError:function(a,o){if(o.recoverable)this.trace(a);else{var f=new Error(a);throw f.hash=o,f}},parse:function(a){var o=this,f=[0],r=[],S=[null],t=[],N1=this.table,s="",Y=0,Yt=0,Ce=2,jt=1,_e=t.slice.call(arguments,1),_=Object.create(this.lexer),d1={yy:{}};for(var ot in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ot)&&(d1.yy[ot]=this.yy[ot]);_.setInput(a,d1.yy),d1.yy.lexer=_,d1.yy.parser=this,typeof _.yylloc>"u"&&(_.yylloc={});var lt=_.yylloc;t.push(lt);var xe=_.options&&_.options.ranges;typeof d1.yy.parseError=="function"?this.parseError=d1.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Be(){var a1;return a1=r.pop()||_.lex()||jt,typeof a1!="number"&&(a1 instanceof Array&&(r=a1,a1=r.pop()),a1=o.symbols_[a1]||a1),a1}for(var G,E1,j,ht,v1={},q1,n1,zt,Q1;;){if(E1=f[f.length-1],this.defaultActions[E1]?j=this.defaultActions[E1]:((G===null||typeof G>"u")&&(G=Be()),j=N1[E1]&&N1[E1][G]),typeof j>"u"||!j.length||!j[0]){var ft="";Q1=[];for(q1 in N1[E1])this.terminals_[q1]&&q1>Ce&&Q1.push("'"+this.terminals_[q1]+"'");_.showPosition?ft="Parse error on line "+(Y+1)+`: `+_.showPosition()+` Expecting `+Q1.join(", ")+", got '"+(this.terminals_[G]||G)+"'":ft="Parse error on line "+(Y+1)+": Unexpected "+(G==jt?"end of input":"'"+(this.terminals_[G]||G)+"'"),this.parseError(ft,{text:_.match,token:this.terminals_[G]||G,line:_.yylineno,loc:lt,expected:Q1})}if(j[0]instanceof Array&&j.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E1+", token: "+G);switch(j[0]){case 1:f.push(G),S.push(_.yytext),t.push(_.yylloc),f.push(j[1]),G=null,Yt=_.yyleng,s=_.yytext,Y=_.yylineno,lt=_.yylloc;break;case 2:if(n1=this.productions_[j[1]][1],v1.$=S[S.length-n1],v1._$={first_line:t[t.length-(n1||1)].first_line,last_line:t[t.length-1].last_line,first_column:t[t.length-(n1||1)].first_column,last_column:t[t.length-1].last_column},xe&&(v1._$.range=[t[t.length-(n1||1)].range[0],t[t.length-1].range[1]]),ht=this.performAction.apply(v1,[s,Yt,Y,d1.yy,j[1],S,t].concat(_e)),typeof ht<"u")return ht;n1&&(f=f.slice(0,-1*n1*2),S=S.slice(0,-1*n1),t=t.slice(0,-1*n1)),f.push(this.productions_[j[1]][0]),S.push(v1.$),t.push(v1._$),zt=N1[f[f.length-2]][f[f.length-1]],f.push(zt);break;case 3:return!0}}return!0}},Se=function(){var f1={EOF:1,parseError:function(o,f){if(this.yy.parser)this.yy.parser.parseError(o,f);else throw new Error(o)},setInput:function(a,o){return this.yy=o||this.yy||{},this._input=a,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var a=this._input[0];this.yytext+=a,this.yyleng++,this.offset++,this.match+=a,this.matched+=a;var o=a.match(/(?:\r\n?|\n).*/g);return o?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),a},unput:function(a){var o=a.length,f=a.split(/(?:\r\n?|\n)/g);this._input=a+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-o),this.offset-=o;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),f.length-1&&(this.yylineno-=f.length-1);var S=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:f?(f.length===r.length?this.yylloc.first_column:0)+r[r.length-f.length].length-f[0].length:this.yylloc.first_column-o},this.options.ranges&&(this.yylloc.range=[S[0],S[0]+this.yyleng-o]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(a){this.unput(this.match.slice(a))},pastInput:function(){var a=this.matched.substr(0,this.matched.length-this.match.length);return(a.length>20?"...":"")+a.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var a=this.match;return a.length<20&&(a+=this._input.substr(0,20-a.length)),(a.substr(0,20)+(a.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var a=this.pastInput(),o=new Array(a.length+1).join("-");return a+this.upcomingInput()+` diff --git a/assets/flowDiagram-5540d9b9-BFLw82D-.js b/assets/flowDiagram-5540d9b9-Clyh1kHc.js similarity index 97% rename from assets/flowDiagram-5540d9b9-BFLw82D-.js rename to assets/flowDiagram-5540d9b9-Clyh1kHc.js index c47f634..8b1fa45 100644 --- a/assets/flowDiagram-5540d9b9-BFLw82D-.js +++ b/assets/flowDiagram-5540d9b9-Clyh1kHc.js @@ -1,4 +1,4 @@ -import{p as Lt,f as V}from"./flowDb-4b19a42f-DhxjmBHk.js";import{h as S,f as tt,G as _t}from"./graph-GEpVUbdH.js";import{h as x,o as U,p as Y,q as et,c as G,r as rt,j as at,l as R,t as z,u as Et}from"./mermaid.core-DtSoU78u.js";import{u as Tt,r as Nt,p as At,l as Ct,d as M}from"./layout-DNn7Y9VF.js";import{a as N,b as nt,i as st,c as E,e as it,d as ot,f as It,g as Bt,s as Mt}from"./styles-3ed67cfa-BKeeaGoI.js";import{l as Dt}from"./line-BM-2XH-S.js";import"./app-B0fd3cYb.js";import"./index-fc10efb0-D8efEc6S.js";import"./clone-DZIUJmqR.js";import"./edges-d32062c0--RfIKLIO.js";import"./createText-6b48ae7d-BQ6Vxn2Q.js";import"./channel-CAAfQTsA.js";import"./array-BKyUJesY.js";import"./path-CbwjOpE9.js";function Rt(r){if(!r.ok)throw new Error(r.status+" "+r.statusText);return r.text()}function Gt(r,e){return fetch(r,e).then(Rt)}function Pt(r){return(e,t)=>Gt(e,t).then(n=>new DOMParser().parseFromString(n,r))}var Ut=Pt("image/svg+xml"),H={normal:Wt,vee:Vt,undirected:zt};function $t(r){H=r}function Wt(r,e,t,n){var a=r.append("marker").attr("id",e).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),s=a.append("path").attr("d","M 0 0 L 10 5 L 0 10 z").style("stroke-width",1).style("stroke-dasharray","1,0");N(s,t[n+"Style"]),t[n+"Class"]&&s.attr("class",t[n+"Class"])}function Vt(r,e,t,n){var a=r.append("marker").attr("id",e).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),s=a.append("path").attr("d","M 0 0 L 10 5 L 0 10 L 4 5 z").style("stroke-width",1).style("stroke-dasharray","1,0");N(s,t[n+"Style"]),t[n+"Class"]&&s.attr("class",t[n+"Class"])}function zt(r,e,t,n){var a=r.append("marker").attr("id",e).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),s=a.append("path").attr("d","M 0 5 L 10 5").style("stroke-width",1).style("stroke-dasharray","1,0");N(s,t[n+"Style"]),t[n+"Class"]&&s.attr("class",t[n+"Class"])}function Yt(r,e){var t=r;return t.node().appendChild(e.label),N(t,e.labelStyle),t}function Ht(r,e){for(var t=r.append("text"),n=Xt(e.label).split(` +import{p as Lt,f as V}from"./flowDb-4b19a42f-5o5MOD4v.js";import{h as S,f as tt,G as _t}from"./graph-BqpiDEwF.js";import{h as x,o as U,p as Y,q as et,c as G,r as rt,j as at,l as R,t as z,u as Et}from"./mermaid.core-C-ipfzeP.js";import{u as Tt,r as Nt,p as At,l as Ct,d as M}from"./layout-B2i1mAr6.js";import{a as N,b as nt,i as st,c as E,e as it,d as ot,f as It,g as Bt,s as Mt}from"./styles-3ed67cfa-DgRYFxrn.js";import{l as Dt}from"./line-BVHj5-SV.js";import"./app-jADuhdjP.js";import"./index-fc10efb0-CM7qMuFy.js";import"./clone-DMS6tHY3.js";import"./edges-d32062c0-DS1UiBKj.js";import"./createText-6b48ae7d-CHYbp3CC.js";import"./channel-DIrwI8QF.js";import"./array-BKyUJesY.js";import"./path-CbwjOpE9.js";function Rt(r){if(!r.ok)throw new Error(r.status+" "+r.statusText);return r.text()}function Gt(r,e){return fetch(r,e).then(Rt)}function Pt(r){return(e,t)=>Gt(e,t).then(n=>new DOMParser().parseFromString(n,r))}var Ut=Pt("image/svg+xml"),H={normal:Wt,vee:Vt,undirected:zt};function $t(r){H=r}function Wt(r,e,t,n){var a=r.append("marker").attr("id",e).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),s=a.append("path").attr("d","M 0 0 L 10 5 L 0 10 z").style("stroke-width",1).style("stroke-dasharray","1,0");N(s,t[n+"Style"]),t[n+"Class"]&&s.attr("class",t[n+"Class"])}function Vt(r,e,t,n){var a=r.append("marker").attr("id",e).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),s=a.append("path").attr("d","M 0 0 L 10 5 L 0 10 L 4 5 z").style("stroke-width",1).style("stroke-dasharray","1,0");N(s,t[n+"Style"]),t[n+"Class"]&&s.attr("class",t[n+"Class"])}function zt(r,e,t,n){var a=r.append("marker").attr("id",e).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),s=a.append("path").attr("d","M 0 5 L 10 5").style("stroke-width",1).style("stroke-dasharray","1,0");N(s,t[n+"Style"]),t[n+"Class"]&&s.attr("class",t[n+"Class"])}function Yt(r,e){var t=r;return t.node().appendChild(e.label),N(t,e.labelStyle),t}function Ht(r,e){for(var t=r.append("text"),n=Xt(e.label).split(` `),a=0;a0}function T(r,e,t){var n=r.x,a=r.y,s=[],i=Number.POSITIVE_INFINITY,o=Number.POSITIVE_INFINITY;e.forEach(function(p){i=Math.min(i,p.x),o=Math.min(o,p.y)});for(var c=n-r.width/2-i,d=a-r.height/2-o,l=0;l1&&s.sort(function(p,y){var f=p.x-t.x,g=p.y-t.y,k=Math.sqrt(f*f+g*g),I=y.x-t.x,_=y.y-t.y,$=Math.sqrt(I*I+_*_);return k<$?-1:k===$?0:1}),s[0]):(console.log("NO INTERSECTION FOUND, RETURN NODE CENTER",r),r)}function Z(r,e){var t=r.x,n=r.y,a=e.x-t,s=e.y-n,i=r.width/2,o=r.height/2,c,d;return Math.abs(s)*i>Math.abs(a)*o?(s<0&&(o=-o),c=s===0?0:o*a/s,d=o):(a<0&&(i=-i),c=i,d=a===0?0:i*s/a),{x:t+c,y:n+d}}var K={rect:oe,ellipse:le,circle:ce,diamond:de};function ie(r){K=r}function oe(r,e,t){var n=r.insert("rect",":first-child").attr("rx",t.rx).attr("ry",t.ry).attr("x",-e.width/2).attr("y",-e.height/2).attr("width",e.width).attr("height",e.height);return t.intersect=function(a){return Z(t,a)},n}function le(r,e,t){var n=e.width/2,a=e.height/2,s=r.insert("ellipse",":first-child").attr("x",-e.width/2).attr("y",-e.height/2).attr("rx",n).attr("ry",a);return t.intersect=function(i){return ct(t,n,a,i)},s}function ce(r,e,t){var n=Math.max(e.width,e.height)/2,a=r.insert("circle",":first-child").attr("x",-e.width/2).attr("y",-e.height/2).attr("r",n);return t.intersect=function(s){return ne(t,n,s)},a}function de(r,e,t){var n=e.width*Math.SQRT2/2,a=e.height*Math.SQRT2/2,s=[{x:0,y:-a},{x:-n,y:0},{x:0,y:a},{x:n,y:0}],i=r.insert("polygon",":first-child").attr("points",s.map(function(o){return o.x+","+o.y}).join(" "));return t.intersect=function(o){return T(t,s,o)},i}function he(){var r=function(e,t){pe(t);var n=D(e,"output"),a=D(n,"clusters"),s=D(n,"edgePaths"),i=F(D(n,"edgeLabels"),t),o=Q(D(n,"nodes"),t,K);Ct(t),ae(o,t),re(i,t),q(s,t,H);var c=X(a,t);ee(c,t),ve(t)};return r.createNodes=function(e){return arguments.length?(te(e),r):Q},r.createClusters=function(e){return arguments.length?(Ft(e),r):X},r.createEdgeLabels=function(e){return arguments.length?(qt(e),r):F},r.createEdgePaths=function(e){return arguments.length?(Qt(e),r):q},r.shapes=function(e){return arguments.length?(ie(e),r):K},r.arrows=function(e){return arguments.length?($t(e),r):H},r}var ue={paddingLeft:10,paddingRight:10,paddingTop:10,paddingBottom:10,rx:0,ry:0,shape:"rect"},fe={arrowhead:"normal",curve:U};function pe(r){r.nodes().forEach(function(e){var t=r.node(e);!S(t,"label")&&!r.children(e).length&&(t.label=e),S(t,"paddingX")&&M(t,{paddingLeft:t.paddingX,paddingRight:t.paddingX}),S(t,"paddingY")&&M(t,{paddingTop:t.paddingY,paddingBottom:t.paddingY}),S(t,"padding")&&M(t,{paddingLeft:t.padding,paddingRight:t.padding,paddingTop:t.padding,paddingBottom:t.padding}),M(t,ue),tt(["paddingLeft","paddingRight","paddingTop","paddingBottom"],function(n){t[n]=Number(t[n])}),S(t,"width")&&(t._prevWidth=t.width),S(t,"height")&&(t._prevHeight=t.height)}),r.edges().forEach(function(e){var t=r.edge(e);S(t,"label")||(t.label=""),M(t,fe)})}function ve(r){tt(r.nodes(),function(e){var t=r.node(e);S(t,"_prevWidth")?t.width=t._prevWidth:delete t.width,S(t,"_prevHeight")?t.height=t._prevHeight:delete t.height,delete t._prevWidth,delete t._prevHeight})}function D(r,e){var t=r.select("g."+e);return t.empty()&&(t=r.append("g").attr("class",e)),t}function dt(r,e,t){const n=e.width,a=e.height,s=(n+a)*.9,i=[{x:s/2,y:0},{x:s,y:-s/2},{x:s/2,y:-s},{x:0,y:-s/2}],o=A(r,s,s,i);return t.intersect=function(c){return T(t,i,c)},o}function ht(r,e,t){const a=e.height,s=a/4,i=e.width+2*s,o=[{x:s,y:0},{x:i-s,y:0},{x:i,y:-a/2},{x:i-s,y:-a},{x:s,y:-a},{x:0,y:-a/2}],c=A(r,i,a,o);return t.intersect=function(d){return T(t,o,d)},c}function ut(r,e,t){const n=e.width,a=e.height,s=[{x:-a/2,y:0},{x:n,y:0},{x:n,y:-a},{x:-a/2,y:-a},{x:0,y:-a/2}],i=A(r,n,a,s);return t.intersect=function(o){return T(t,s,o)},i}function ft(r,e,t){const n=e.width,a=e.height,s=[{x:-2*a/6,y:0},{x:n-a/6,y:0},{x:n+2*a/6,y:-a},{x:a/6,y:-a}],i=A(r,n,a,s);return t.intersect=function(o){return T(t,s,o)},i}function pt(r,e,t){const n=e.width,a=e.height,s=[{x:2*a/6,y:0},{x:n+a/6,y:0},{x:n-2*a/6,y:-a},{x:-a/6,y:-a}],i=A(r,n,a,s);return t.intersect=function(o){return T(t,s,o)},i}function vt(r,e,t){const n=e.width,a=e.height,s=[{x:-2*a/6,y:0},{x:n+2*a/6,y:0},{x:n-a/6,y:-a},{x:a/6,y:-a}],i=A(r,n,a,s);return t.intersect=function(o){return T(t,s,o)},i}function gt(r,e,t){const n=e.width,a=e.height,s=[{x:a/6,y:0},{x:n-a/6,y:0},{x:n+2*a/6,y:-a},{x:-2*a/6,y:-a}],i=A(r,n,a,s);return t.intersect=function(o){return T(t,s,o)},i}function yt(r,e,t){const n=e.width,a=e.height,s=[{x:0,y:0},{x:n+a/2,y:0},{x:n,y:-a/2},{x:n+a/2,y:-a},{x:0,y:-a}],i=A(r,n,a,s);return t.intersect=function(o){return T(t,s,o)},i}function wt(r,e,t){const n=e.height,a=e.width+n/4,s=r.insert("rect",":first-child").attr("rx",n/2).attr("ry",n/2).attr("x",-a/2).attr("y",-n/2).attr("width",a).attr("height",n);return t.intersect=function(i){return Z(t,i)},s}function mt(r,e,t){const n=e.width,a=e.height,s=[{x:0,y:0},{x:n,y:0},{x:n,y:-a},{x:0,y:-a},{x:0,y:0},{x:-8,y:0},{x:n+8,y:0},{x:n+8,y:-a},{x:-8,y:-a},{x:-8,y:0}],i=A(r,n,a,s);return t.intersect=function(o){return T(t,s,o)},i}function xt(r,e,t){const n=e.width,a=n/2,s=a/(2.5+n/50),i=e.height+s,o="M 0,"+s+" a "+a+","+s+" 0,0,0 "+n+" 0 a "+a+","+s+" 0,0,0 "+-n+" 0 l 0,"+i+" a "+a+","+s+" 0,0,0 "+n+" 0 l 0,"+-i,c=r.attr("label-offset-y",s).insert("path",":first-child").attr("d",o).attr("transform","translate("+-n/2+","+-(i/2+s)+")");return t.intersect=function(d){const l=Z(t,d),v=l.x-t.x;if(a!=0&&(Math.abs(v)t.height/2-s)){let h=s*s*(1-v*v/(a*a));h!=0&&(h=Math.sqrt(h)),h=s-h,d.y-t.y>0&&(h=-h),l.y+=h}return l},c}function ge(r){r.shapes().question=dt,r.shapes().hexagon=ht,r.shapes().stadium=wt,r.shapes().subroutine=mt,r.shapes().cylinder=xt,r.shapes().rect_left_inv_arrow=ut,r.shapes().lean_right=ft,r.shapes().lean_left=pt,r.shapes().trapezoid=vt,r.shapes().inv_trapezoid=gt,r.shapes().rect_right_inv_arrow=yt}function ye(r){r({question:dt}),r({hexagon:ht}),r({stadium:wt}),r({subroutine:mt}),r({cylinder:xt}),r({rect_left_inv_arrow:ut}),r({lean_right:ft}),r({lean_left:pt}),r({trapezoid:vt}),r({inv_trapezoid:gt}),r({rect_right_inv_arrow:yt})}function A(r,e,t,n){return r.insert("polygon",":first-child").attr("points",n.map(function(a){return a.x+","+a.y}).join(" ")).attr("transform","translate("+-e/2+","+t/2+")")}const we={addToRender:ge,addToRenderV2:ye},bt={},me=function(r){const e=Object.keys(r);for(const t of e)bt[t]=r[t]},kt=async function(r,e,t,n,a,s){const i=n?n.select(`[id="${t}"]`):x(`[id="${t}"]`),o=a||document,c=Object.keys(r);for(const d of c){const l=r[d];let v="default";l.classes.length>0&&(v=l.classes.join(" "));const h=Y(l.styles);let u=l.text!==void 0?l.text:l.id,p;if(et(G().flowchart.htmlLabels)){const g={label:await rt(u.replace(/fa[blrs]?:fa-[\w-]+/g,k=>``),G())};p=nt(i,g).node(),p.parentNode.removeChild(p)}else{const g=o.createElementNS("http://www.w3.org/2000/svg","text");g.setAttribute("style",h.labelStyle.replace("color:","fill:"));const k=u.split(at.lineBreakRegex);for(const I of k){const _=o.createElementNS("http://www.w3.org/2000/svg","tspan");_.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),_.setAttribute("dy","1em"),_.setAttribute("x","1"),_.textContent=I,g.appendChild(_)}p=g}let y=0,f="";switch(l.type){case"round":y=5,f="rect";break;case"square":f="rect";break;case"diamond":f="question";break;case"hexagon":f="hexagon";break;case"odd":f="rect_left_inv_arrow";break;case"lean_right":f="lean_right";break;case"lean_left":f="lean_left";break;case"trapezoid":f="trapezoid";break;case"inv_trapezoid":f="inv_trapezoid";break;case"odd_right":f="rect_left_inv_arrow";break;case"circle":f="circle";break;case"ellipse":f="ellipse";break;case"stadium":f="stadium";break;case"subroutine":f="subroutine";break;case"cylinder":f="cylinder";break;case"group":f="rect";break;default:f="rect"}R.warn("Adding node",l.id,l.domId),e.setNode(s.db.lookUpDomId(l.id),{labelType:"svg",labelStyle:h.labelStyle,shape:f,label:p,rx:y,ry:y,class:v,style:h.style,id:s.db.lookUpDomId(l.id)})}},St=async function(r,e,t){let n=0,a,s;if(r.defaultStyle!==void 0){const i=Y(r.defaultStyle);a=i.style,s=i.labelStyle}for(const i of r){n++;const o="L-"+i.start+"-"+i.end,c="LS-"+i.start,d="LE-"+i.end,l={};i.type==="arrow_open"?l.arrowhead="none":l.arrowhead="normal";let v="",h="";if(i.style!==void 0){const u=Y(i.style);v=u.style,h=u.labelStyle}else switch(i.stroke){case"normal":v="fill:none",a!==void 0&&(v=a),s!==void 0&&(h=s);break;case"dotted":v="fill:none;stroke-width:2px;stroke-dasharray:3;";break;case"thick":v=" stroke-width: 3.5px;fill:none";break}l.style=v,l.labelStyle=h,i.interpolate!==void 0?l.curve=z(i.interpolate,U):r.defaultInterpolate!==void 0?l.curve=z(r.defaultInterpolate,U):l.curve=z(bt.curve,U),i.text===void 0?i.style!==void 0&&(l.arrowheadStyle="fill: #333"):(l.arrowheadStyle="fill: #333",l.labelpos="c",et(G().flowchart.htmlLabels)?(l.labelType="html",l.label=`${await rt(i.text.replace(/fa[blrs]?:fa-[\w-]+/g,u=>``),G())}`):(l.labelType="text",l.label=i.text.replace(at.lineBreakRegex,` `),i.style===void 0&&(l.style=l.style||"stroke: #333; stroke-width: 1.5px;fill:none"),l.labelStyle=l.labelStyle.replace("color:","fill:"))),l.id=o,l.class=c+" "+d,l.minlen=i.length||1,e.setEdge(t.db.lookUpDomId(i.start),t.db.lookUpDomId(i.end),l,n)}},xe=function(r,e){return R.info("Extracting classes"),e.db.getClasses()},be=async function(r,e,t,n){R.info("Drawing flowchart");const{securityLevel:a,flowchart:s}=G();let i;a==="sandbox"&&(i=x("#i"+e));const o=a==="sandbox"?x(i.nodes()[0].contentDocument.body):x("body"),c=a==="sandbox"?i.nodes()[0].contentDocument:document;let d=n.db.getDirection();d===void 0&&(d="TD");const l=s.nodeSpacing||50,v=s.rankSpacing||50,h=new _t({multigraph:!0,compound:!0}).setGraph({rankdir:d,nodesep:l,ranksep:v,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});let u;const p=n.db.getSubGraphs();for(let w=p.length-1;w>=0;w--)u=p[w],n.db.addVertex(u.id,u.title,"group",void 0,u.classes);const y=n.db.getVertices();R.warn("Get vertices",y);const f=n.db.getEdges();let g=0;for(g=p.length-1;g>=0;g--){u=p[g],Mt("cluster").append("text");for(let w=0;w{r.flowchart||(r.flowchart={}),r.flowchart.arrowMarkerAbsolute=r.arrowMarkerAbsolute,ke.setConf(r.flowchart),V.clear(),V.setGen("gen-1")}};export{Pe as diagram}; diff --git a/assets/flowDiagram-v2-3b53844e-Bb6VMKdJ.js b/assets/flowDiagram-v2-3b53844e-Bb6VMKdJ.js new file mode 100644 index 0000000..b3833f7 --- /dev/null +++ b/assets/flowDiagram-v2-3b53844e-Bb6VMKdJ.js @@ -0,0 +1 @@ +import{p as e,f as o}from"./flowDb-4b19a42f-5o5MOD4v.js";import{f as t,g as a}from"./styles-3ed67cfa-DgRYFxrn.js";import{ar as i}from"./mermaid.core-C-ipfzeP.js";import"./graph-BqpiDEwF.js";import"./layout-B2i1mAr6.js";import"./index-fc10efb0-CM7qMuFy.js";import"./clone-DMS6tHY3.js";import"./edges-d32062c0-DS1UiBKj.js";import"./createText-6b48ae7d-CHYbp3CC.js";import"./line-BVHj5-SV.js";import"./array-BKyUJesY.js";import"./path-CbwjOpE9.js";import"./channel-DIrwI8QF.js";import"./app-jADuhdjP.js";const n={parser:e,db:o,renderer:t,styles:a,init:r=>{r.flowchart||(r.flowchart={}),r.flowchart.arrowMarkerAbsolute=r.arrowMarkerAbsolute,i({flowchart:{arrowMarkerAbsolute:r.arrowMarkerAbsolute}}),t.setConf(r.flowchart),o.clear(),o.setGen("gen-2")}};export{n as diagram}; diff --git a/assets/flowDiagram-v2-3b53844e-DHFDzB2E.js b/assets/flowDiagram-v2-3b53844e-DHFDzB2E.js deleted file mode 100644 index 895ae25..0000000 --- a/assets/flowDiagram-v2-3b53844e-DHFDzB2E.js +++ /dev/null @@ -1 +0,0 @@ -import{p as e,f as o}from"./flowDb-4b19a42f-DhxjmBHk.js";import{f as t,g as a}from"./styles-3ed67cfa-BKeeaGoI.js";import{ar as i}from"./mermaid.core-DtSoU78u.js";import"./graph-GEpVUbdH.js";import"./layout-DNn7Y9VF.js";import"./index-fc10efb0-D8efEc6S.js";import"./clone-DZIUJmqR.js";import"./edges-d32062c0--RfIKLIO.js";import"./createText-6b48ae7d-BQ6Vxn2Q.js";import"./line-BM-2XH-S.js";import"./array-BKyUJesY.js";import"./path-CbwjOpE9.js";import"./channel-CAAfQTsA.js";import"./app-B0fd3cYb.js";const n={parser:e,db:o,renderer:t,styles:a,init:r=>{r.flowchart||(r.flowchart={}),r.flowchart.arrowMarkerAbsolute=r.arrowMarkerAbsolute,i({flowchart:{arrowMarkerAbsolute:r.arrowMarkerAbsolute}}),t.setConf(r.flowchart),o.clear(),o.setGen("gen-2")}};export{n as diagram}; diff --git a/assets/flowchart-elk-definition-5fe447d6-DDvIZSFO.js b/assets/flowchart-elk-definition-5fe447d6-BEWKu2rj.js similarity index 99% rename from assets/flowchart-elk-definition-5fe447d6-DDvIZSFO.js rename to assets/flowchart-elk-definition-5fe447d6-BEWKu2rj.js index 57f5659..9d7cd6d 100644 --- a/assets/flowchart-elk-definition-5fe447d6-DDvIZSFO.js +++ b/assets/flowchart-elk-definition-5fe447d6-BEWKu2rj.js @@ -1,4 +1,4 @@ -import{d as xNe,p as FNe}from"./flowDb-4b19a42f-DhxjmBHk.js";import{aC as Nse,aD as BNe,l as Ra,h as IO,b0 as xU,u as RNe,p as E0n,t as j0n,o as $U,j as KNe}from"./mermaid.core-DtSoU78u.js";import{i as _Ne,a as HNe,l as qNe,b as UNe,k as GNe,m as zNe}from"./edges-d32062c0--RfIKLIO.js";import{l as XNe}from"./line-BM-2XH-S.js";import"./app-B0fd3cYb.js";import"./createText-6b48ae7d-BQ6Vxn2Q.js";import"./array-BKyUJesY.js";import"./path-CbwjOpE9.js";function NU(ct){throw new Error('Could not dynamically require "'+ct+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var Bse={exports:{}};(function(ct,_t){(function(Xt){ct.exports=Xt()})(function(){return function(){function Xt(gt,Sr,Di){function y(Ht,Jt){if(!Sr[Ht]){if(!gt[Ht]){var Xe=typeof NU=="function"&&NU;if(!Jt&&Xe)return Xe(Ht,!0);if(Wt)return Wt(Ht,!0);var Yi=new Error("Cannot find module '"+Ht+"'");throw Yi.code="MODULE_NOT_FOUND",Yi}var Ri=Sr[Ht]={exports:{}};gt[Ht][0].call(Ri.exports,function(En){var hu=gt[Ht][1][En];return y(hu||En)},Ri,Ri.exports,Xt,gt,Sr,Di)}return Sr[Ht].exports}for(var Wt=typeof NU=="function"&&NU,Bu=0;Bu0&&arguments[0]!==void 0?arguments[0]:{},Yi=Xe.defaultLayoutOptions,Ri=Yi===void 0?{}:Yi,En=Xe.algorithms,hu=En===void 0?["layered","stress","mrtree","radial","force","disco","sporeOverlap","sporeCompaction","rectpacking"]:En,Qc=Xe.workerFactory,Ru=Xe.workerUrl;if(y(this,Ht),this.defaultLayoutOptions=Ri,this.initialized=!1,typeof Ru>"u"&&typeof Qc>"u")throw new Error("Cannot construct an ELK without both 'workerUrl' and 'workerFactory'.");var Pr=Qc;typeof Ru<"u"&&typeof Qc>"u"&&(Pr=function(N1){return new Worker(N1)});var Mf=Pr(Ru);if(typeof Mf.postMessage!="function")throw new TypeError("Created worker does not provide the required 'postMessage' function.");this.worker=new Bu(Mf),this.worker.postMessage({cmd:"register",algorithms:hu}).then(function(L1){return Jt.initialized=!0}).catch(console.err)}return Di(Ht,[{key:"layout",value:function(Xe){var Yi=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},Ri=Yi.layoutOptions,En=Ri===void 0?this.defaultLayoutOptions:Ri,hu=Yi.logging,Qc=hu===void 0?!1:hu,Ru=Yi.measureExecutionTime,Pr=Ru===void 0?!1:Ru;return Xe?this.worker.postMessage({cmd:"layout",graph:Xe,layoutOptions:En,options:{logging:Qc,measureExecutionTime:Pr}}):Promise.reject(new Error("Missing mandatory parameter 'graph'."))}},{key:"knownLayoutAlgorithms",value:function(){return this.worker.postMessage({cmd:"algorithms"})}},{key:"knownLayoutOptions",value:function(){return this.worker.postMessage({cmd:"options"})}},{key:"knownLayoutCategories",value:function(){return this.worker.postMessage({cmd:"categories"})}},{key:"terminateWorker",value:function(){this.worker&&this.worker.terminate()}}]),Ht}();Sr.default=Wt;var Bu=function(){function Ht(Jt){var Xe=this;if(y(this,Ht),Jt===void 0)throw new Error("Missing mandatory parameter 'worker'.");this.resolvers={},this.worker=Jt,this.worker.onmessage=function(Yi){setTimeout(function(){Xe.receive(Xe,Yi)},0)}}return Di(Ht,[{key:"postMessage",value:function(Xe){var Yi=this.id||0;this.id=Yi+1,Xe.id=Yi;var Ri=this;return new Promise(function(En,hu){Ri.resolvers[Yi]=function(Qc,Ru){Qc?(Ri.convertGwtStyleError(Qc),hu(Qc)):En(Ru)},Ri.worker.postMessage(Xe)})}},{key:"receive",value:function(Xe,Yi){var Ri=Yi.data,En=Xe.resolvers[Ri.id];En&&(delete Xe.resolvers[Ri.id],Ri.error?En(Ri.error):En(null,Ri.data))}},{key:"terminate",value:function(){this.worker&&this.worker.terminate()}},{key:"convertGwtStyleError",value:function(Xe){if(Xe){var Yi=Xe.__java$exception;Yi&&(Yi.cause&&Yi.cause.backingJsObject&&(Xe.cause=Yi.cause.backingJsObject,this.convertGwtStyleError(Xe.cause)),delete Xe.__java$exception)}}}]),Ht}()},{}],2:[function(Xt,gt,Sr){(function(Di){(function(){var y;typeof window<"u"?y=window:typeof Di<"u"?y=Di:typeof self<"u"&&(y=self);var Wt;function Bu(){}function Ht(){}function Jt(){}function Xe(){}function Yi(){}function Ri(){}function En(){}function hu(){}function Qc(){}function Ru(){}function Pr(){}function Mf(){}function L1(){}function N1(){}function og(){}function V3(){}function $1(){}function ul(){}function C0n(){}function M0n(){}function Q2(){}function F(){}function T0n(){}function mE(){}function A0n(){}function S0n(){}function P0n(){}function I0n(){}function O0n(){}function FU(){}function D0n(){}function L0n(){}function N0n(){}function OO(){}function $0n(){}function x0n(){}function F0n(){}function DO(){}function B0n(){}function R0n(){}function BU(){}function K0n(){}function _0n(){}function yu(){}function ju(){}function Y2(){}function Z2(){}function H0n(){}function q0n(){}function U0n(){}function G0n(){}function RU(){}function Eu(){}function np(){}function ep(){}function z0n(){}function X0n(){}function LO(){}function V0n(){}function W0n(){}function J0n(){}function Q0n(){}function Y0n(){}function Z0n(){}function nbn(){}function ebn(){}function tbn(){}function ibn(){}function rbn(){}function cbn(){}function ubn(){}function obn(){}function sbn(){}function fbn(){}function hbn(){}function lbn(){}function abn(){}function dbn(){}function bbn(){}function wbn(){}function gbn(){}function pbn(){}function mbn(){}function vbn(){}function kbn(){}function ybn(){}function jbn(){}function Ebn(){}function Cbn(){}function Mbn(){}function Tbn(){}function KU(){}function Abn(){}function Sbn(){}function Pbn(){}function Ibn(){}function NO(){}function $O(){}function vE(){}function Obn(){}function Dbn(){}function xO(){}function Lbn(){}function Nbn(){}function $bn(){}function kE(){}function xbn(){}function Fbn(){}function Bbn(){}function Rbn(){}function Kbn(){}function _bn(){}function Hbn(){}function qbn(){}function Ubn(){}function _U(){}function Gbn(){}function zbn(){}function HU(){}function Xbn(){}function Vbn(){}function Wbn(){}function Jbn(){}function Qbn(){}function Ybn(){}function Zbn(){}function nwn(){}function ewn(){}function twn(){}function iwn(){}function rwn(){}function cwn(){}function FO(){}function uwn(){}function own(){}function swn(){}function fwn(){}function hwn(){}function lwn(){}function awn(){}function dwn(){}function bwn(){}function qU(){}function UU(){}function wwn(){}function gwn(){}function pwn(){}function mwn(){}function vwn(){}function kwn(){}function ywn(){}function jwn(){}function Ewn(){}function Cwn(){}function Mwn(){}function Twn(){}function Awn(){}function Swn(){}function Pwn(){}function Iwn(){}function Own(){}function Dwn(){}function Lwn(){}function Nwn(){}function $wn(){}function xwn(){}function Fwn(){}function Bwn(){}function Rwn(){}function Kwn(){}function _wn(){}function Hwn(){}function qwn(){}function Uwn(){}function Gwn(){}function zwn(){}function Xwn(){}function Vwn(){}function Wwn(){}function Jwn(){}function Qwn(){}function Ywn(){}function Zwn(){}function ngn(){}function egn(){}function tgn(){}function ign(){}function rgn(){}function cgn(){}function ugn(){}function ogn(){}function sgn(){}function fgn(){}function hgn(){}function lgn(){}function agn(){}function dgn(){}function bgn(){}function wgn(){}function ggn(){}function pgn(){}function mgn(){}function vgn(){}function kgn(){}function ygn(){}function jgn(){}function Egn(){}function Cgn(){}function Mgn(){}function Tgn(){}function Agn(){}function Sgn(){}function Pgn(){}function Ign(){}function Ogn(){}function Dgn(){}function Lgn(){}function Ngn(){}function $gn(){}function xgn(){}function Fgn(){}function Bgn(){}function Rgn(){}function Kgn(){}function _gn(){}function Hgn(){}function qgn(){}function Ugn(){}function Ggn(){}function zgn(){}function Xgn(){}function Vgn(){}function Wgn(){}function Jgn(){}function Qgn(){}function Ygn(){}function Zgn(){}function n2n(){}function e2n(){}function t2n(){}function i2n(){}function r2n(){}function c2n(){}function u2n(){}function GU(){}function o2n(){}function s2n(){}function f2n(){}function h2n(){}function l2n(){}function a2n(){}function d2n(){}function b2n(){}function w2n(){}function g2n(){}function p2n(){}function m2n(){}function v2n(){}function k2n(){}function y2n(){}function j2n(){}function E2n(){}function C2n(){}function M2n(){}function T2n(){}function A2n(){}function S2n(){}function P2n(){}function I2n(){}function O2n(){}function D2n(){}function L2n(){}function N2n(){}function $2n(){}function x2n(){}function F2n(){}function B2n(){}function R2n(){}function K2n(){}function _2n(){}function H2n(){}function q2n(){}function U2n(){}function G2n(){}function z2n(){}function X2n(){}function V2n(){}function W2n(){}function J2n(){}function Q2n(){}function Y2n(){}function Z2n(){}function npn(){}function epn(){}function tpn(){}function ipn(){}function rpn(){}function cpn(){}function upn(){}function opn(){}function spn(){}function fpn(){}function hpn(){}function lpn(){}function apn(){}function dpn(){}function bpn(){}function wpn(){}function gpn(){}function ppn(){}function mpn(){}function vpn(){}function kpn(){}function ypn(){}function jpn(){}function Epn(){}function Cpn(){}function Mpn(){}function zU(){}function Tpn(){}function Apn(){}function Spn(){}function Ppn(){}function Ipn(){}function Opn(){}function Dpn(){}function Lpn(){}function Npn(){}function $pn(){}function XU(){}function xpn(){}function Fpn(){}function Bpn(){}function Rpn(){}function Kpn(){}function _pn(){}function VU(){}function WU(){}function Hpn(){}function JU(){}function QU(){}function qpn(){}function Upn(){}function Gpn(){}function zpn(){}function Xpn(){}function Vpn(){}function Wpn(){}function Jpn(){}function Qpn(){}function Ypn(){}function Zpn(){}function YU(){}function n3n(){}function e3n(){}function t3n(){}function i3n(){}function r3n(){}function c3n(){}function u3n(){}function o3n(){}function s3n(){}function f3n(){}function h3n(){}function l3n(){}function a3n(){}function d3n(){}function b3n(){}function w3n(){}function g3n(){}function p3n(){}function m3n(){}function v3n(){}function k3n(){}function y3n(){}function j3n(){}function E3n(){}function C3n(){}function M3n(){}function T3n(){}function A3n(){}function S3n(){}function P3n(){}function I3n(){}function O3n(){}function D3n(){}function L3n(){}function N3n(){}function $3n(){}function x3n(){}function F3n(){}function B3n(){}function R3n(){}function K3n(){}function _3n(){}function H3n(){}function q3n(){}function U3n(){}function G3n(){}function z3n(){}function X3n(){}function V3n(){}function W3n(){}function J3n(){}function Q3n(){}function Y3n(){}function Z3n(){}function n4n(){}function e4n(){}function t4n(){}function i4n(){}function r4n(){}function c4n(){}function u4n(){}function o4n(){}function s4n(){}function f4n(){}function h4n(){}function l4n(){}function a4n(){}function d4n(){}function b4n(){}function w4n(){}function g4n(){}function p4n(){}function m4n(){}function v4n(){}function k4n(){}function y4n(){}function j4n(){}function E4n(){}function C4n(){}function M4n(){}function T4n(){}function A4n(){}function S4n(){}function P4n(){}function I4n(){}function O4n(){}function _se(){}function D4n(){}function L4n(){}function N4n(){}function $4n(){}function x4n(){}function F4n(){}function B4n(){}function R4n(){}function K4n(){}function _4n(){}function H4n(){}function q4n(){}function U4n(){}function G4n(){}function z4n(){}function X4n(){}function V4n(){}function W4n(){}function J4n(){}function Q4n(){}function Y4n(){}function Z4n(){}function nmn(){}function emn(){}function tmn(){}function imn(){}function rmn(){}function BO(){}function RO(){}function cmn(){}function KO(){}function umn(){}function omn(){}function smn(){}function fmn(){}function hmn(){}function lmn(){}function amn(){}function dmn(){}function bmn(){}function wmn(){}function ZU(){}function gmn(){}function pmn(){}function mmn(){}function Hse(){}function vmn(){}function kmn(){}function ymn(){}function jmn(){}function Emn(){}function Cmn(){}function Mmn(){}function Ka(){}function Tmn(){}function tp(){}function nG(){}function Amn(){}function Smn(){}function Pmn(){}function Imn(){}function Omn(){}function Dmn(){}function Lmn(){}function Nmn(){}function $mn(){}function xmn(){}function Fmn(){}function Bmn(){}function Rmn(){}function Kmn(){}function _mn(){}function Hmn(){}function qmn(){}function Umn(){}function Gmn(){}function hn(){}function zmn(){}function Xmn(){}function Vmn(){}function Wmn(){}function Jmn(){}function Qmn(){}function Ymn(){}function Zmn(){}function nvn(){}function evn(){}function tvn(){}function ivn(){}function rvn(){}function _O(){}function cvn(){}function uvn(){}function ovn(){}function yE(){}function svn(){}function HO(){}function jE(){}function fvn(){}function eG(){}function hvn(){}function lvn(){}function avn(){}function dvn(){}function bvn(){}function wvn(){}function EE(){}function gvn(){}function pvn(){}function CE(){}function mvn(){}function ME(){}function vvn(){}function tG(){}function kvn(){}function qO(){}function iG(){}function yvn(){}function jvn(){}function Evn(){}function Cvn(){}function qse(){}function Mvn(){}function Tvn(){}function Avn(){}function Svn(){}function Pvn(){}function Ivn(){}function Ovn(){}function Dvn(){}function Lvn(){}function Nvn(){}function W3(){}function UO(){}function $vn(){}function xvn(){}function Fvn(){}function Bvn(){}function Rvn(){}function Kvn(){}function _vn(){}function Hvn(){}function qvn(){}function Uvn(){}function Gvn(){}function zvn(){}function Xvn(){}function Vvn(){}function Wvn(){}function Jvn(){}function Qvn(){}function Yvn(){}function Zvn(){}function n6n(){}function e6n(){}function t6n(){}function i6n(){}function r6n(){}function c6n(){}function u6n(){}function o6n(){}function s6n(){}function f6n(){}function h6n(){}function l6n(){}function a6n(){}function d6n(){}function b6n(){}function w6n(){}function g6n(){}function p6n(){}function m6n(){}function v6n(){}function k6n(){}function y6n(){}function j6n(){}function E6n(){}function C6n(){}function M6n(){}function T6n(){}function A6n(){}function S6n(){}function P6n(){}function I6n(){}function O6n(){}function D6n(){}function L6n(){}function N6n(){}function $6n(){}function x6n(){}function F6n(){}function B6n(){}function R6n(){}function K6n(){}function _6n(){}function H6n(){}function q6n(){}function U6n(){}function G6n(){}function z6n(){}function X6n(){}function V6n(){}function W6n(){}function J6n(){}function Q6n(){}function Y6n(){}function Z6n(){}function n5n(){}function e5n(){}function t5n(){}function i5n(){}function r5n(){}function c5n(){}function u5n(){}function o5n(){}function s5n(){}function f5n(){}function h5n(){}function l5n(){}function a5n(){}function d5n(){}function b5n(){}function w5n(){}function g5n(){}function p5n(){}function m5n(){}function v5n(){}function k5n(){}function y5n(){}function j5n(){}function E5n(){}function C5n(){}function M5n(){}function T5n(){}function A5n(){}function rG(){}function S5n(){}function P5n(){}function GO(){n6()}function I5n(){u7()}function O5n(){aA()}function D5n(){Q$()}function L5n(){M5()}function N5n(){ann()}function $5n(){Us()}function x5n(){jZ()}function F5n(){zk()}function B5n(){o7()}function R5n(){$7()}function K5n(){aCn()}function _5n(){Hp()}function H5n(){KLn()}function q5n(){yQ()}function U5n(){SOn()}function G5n(){jQ()}function z5n(){pNn()}function X5n(){AOn()}function V5n(){cm()}function W5n(){nxn()}function J5n(){Z$n()}function Q5n(){EDn()}function Y5n(){exn()}function Z5n(){ua()}function n8n(){ZE()}function e8n(){ltn()}function t8n(){cn()}function i8n(){txn()}function r8n(){Pxn()}function c8n(){POn()}function u8n(){nKn()}function o8n(){IOn()}function s8n(){bUn()}function f8n(){qnn()}function h8n(){kl()}function l8n(){wBn()}function a8n(){lc()}function d8n(){ROn()}function b8n(){_p()}function w8n(){Men()}function g8n(){oa()}function p8n(){Ten()}function m8n(){Rf()}function v8n(){Qk()}function k8n(){EF()}function y8n(){Dx()}function uf(){wSn()}function j8n(){YM()}function E8n(){mA()}function cG(){Ue()}function C8n(){NT()}function M8n(){YY()}function uG(){D$()}function oG(){KA()}function T8n(){Fen()}function sG(n){Jn(n)}function A8n(n){this.a=n}function TE(n){this.a=n}function S8n(n){this.a=n}function P8n(n){this.a=n}function I8n(n){this.a=n}function O8n(n){this.a=n}function D8n(n){this.a=n}function L8n(n){this.a=n}function fG(n){this.a=n}function hG(n){this.a=n}function N8n(n){this.a=n}function $8n(n){this.a=n}function zO(n){this.a=n}function x8n(n){this.a=n}function F8n(n){this.a=n}function XO(n){this.a=n}function VO(n){this.a=n}function B8n(n){this.a=n}function WO(n){this.a=n}function R8n(n){this.a=n}function K8n(n){this.a=n}function _8n(n){this.a=n}function lG(n){this.b=n}function H8n(n){this.c=n}function q8n(n){this.a=n}function U8n(n){this.a=n}function G8n(n){this.a=n}function z8n(n){this.a=n}function X8n(n){this.a=n}function V8n(n){this.a=n}function W8n(n){this.a=n}function J8n(n){this.a=n}function Q8n(n){this.a=n}function Y8n(n){this.a=n}function Z8n(n){this.a=n}function n9n(n){this.a=n}function e9n(n){this.a=n}function aG(n){this.a=n}function dG(n){this.a=n}function AE(n){this.a=n}function z9(n){this.a=n}function _a(){this.a=[]}function t9n(n,e){n.a=e}function Use(n,e){n.a=e}function Gse(n,e){n.b=e}function zse(n,e){n.b=e}function Xse(n,e){n.b=e}function bG(n,e){n.j=e}function Vse(n,e){n.g=e}function Wse(n,e){n.i=e}function Jse(n,e){n.c=e}function Qse(n,e){n.c=e}function Yse(n,e){n.d=e}function Zse(n,e){n.d=e}function Ha(n,e){n.k=e}function nfe(n,e){n.c=e}function wG(n,e){n.c=e}function gG(n,e){n.a=e}function efe(n,e){n.a=e}function tfe(n,e){n.f=e}function ife(n,e){n.a=e}function rfe(n,e){n.b=e}function JO(n,e){n.d=e}function SE(n,e){n.i=e}function pG(n,e){n.o=e}function cfe(n,e){n.r=e}function ufe(n,e){n.a=e}function ofe(n,e){n.b=e}function i9n(n,e){n.e=e}function sfe(n,e){n.f=e}function mG(n,e){n.g=e}function ffe(n,e){n.e=e}function hfe(n,e){n.f=e}function lfe(n,e){n.f=e}function QO(n,e){n.a=e}function YO(n,e){n.b=e}function afe(n,e){n.n=e}function dfe(n,e){n.a=e}function bfe(n,e){n.c=e}function wfe(n,e){n.c=e}function gfe(n,e){n.c=e}function pfe(n,e){n.a=e}function mfe(n,e){n.a=e}function vfe(n,e){n.d=e}function kfe(n,e){n.d=e}function yfe(n,e){n.e=e}function jfe(n,e){n.e=e}function Efe(n,e){n.g=e}function Cfe(n,e){n.f=e}function Mfe(n,e){n.j=e}function Tfe(n,e){n.a=e}function Afe(n,e){n.a=e}function Sfe(n,e){n.b=e}function r9n(n){n.b=n.a}function c9n(n){n.c=n.d.d}function vG(n){this.a=n}function kG(n){this.a=n}function yG(n){this.a=n}function qa(n){this.a=n}function Ua(n){this.a=n}function X9(n){this.a=n}function u9n(n){this.a=n}function jG(n){this.a=n}function V9(n){this.a=n}function PE(n){this.a=n}function ol(n){this.a=n}function Sb(n){this.a=n}function o9n(n){this.a=n}function s9n(n){this.a=n}function ZO(n){this.b=n}function J3(n){this.b=n}function Q3(n){this.b=n}function nD(n){this.a=n}function f9n(n){this.a=n}function eD(n){this.c=n}function C(n){this.c=n}function h9n(n){this.c=n}function Xv(n){this.d=n}function EG(n){this.a=n}function Te(n){this.a=n}function l9n(n){this.a=n}function CG(n){this.a=n}function MG(n){this.a=n}function TG(n){this.a=n}function AG(n){this.a=n}function SG(n){this.a=n}function PG(n){this.a=n}function Y3(n){this.a=n}function a9n(n){this.a=n}function d9n(n){this.a=n}function Z3(n){this.a=n}function b9n(n){this.a=n}function w9n(n){this.a=n}function g9n(n){this.a=n}function p9n(n){this.a=n}function m9n(n){this.a=n}function v9n(n){this.a=n}function k9n(n){this.a=n}function y9n(n){this.a=n}function j9n(n){this.a=n}function E9n(n){this.a=n}function C9n(n){this.a=n}function M9n(n){this.a=n}function T9n(n){this.a=n}function A9n(n){this.a=n}function S9n(n){this.a=n}function Vv(n){this.a=n}function P9n(n){this.a=n}function I9n(n){this.a=n}function O9n(n){this.a=n}function D9n(n){this.a=n}function IE(n){this.a=n}function L9n(n){this.a=n}function N9n(n){this.a=n}function n4(n){this.a=n}function IG(n){this.a=n}function $9n(n){this.a=n}function x9n(n){this.a=n}function F9n(n){this.a=n}function B9n(n){this.a=n}function R9n(n){this.a=n}function K9n(n){this.a=n}function OG(n){this.a=n}function DG(n){this.a=n}function LG(n){this.a=n}function Wv(n){this.a=n}function OE(n){this.e=n}function e4(n){this.a=n}function _9n(n){this.a=n}function ip(n){this.a=n}function NG(n){this.a=n}function H9n(n){this.a=n}function q9n(n){this.a=n}function U9n(n){this.a=n}function G9n(n){this.a=n}function z9n(n){this.a=n}function X9n(n){this.a=n}function V9n(n){this.a=n}function W9n(n){this.a=n}function J9n(n){this.a=n}function Q9n(n){this.a=n}function Y9n(n){this.a=n}function $G(n){this.a=n}function Z9n(n){this.a=n}function n7n(n){this.a=n}function e7n(n){this.a=n}function t7n(n){this.a=n}function i7n(n){this.a=n}function r7n(n){this.a=n}function c7n(n){this.a=n}function u7n(n){this.a=n}function o7n(n){this.a=n}function s7n(n){this.a=n}function f7n(n){this.a=n}function h7n(n){this.a=n}function l7n(n){this.a=n}function a7n(n){this.a=n}function d7n(n){this.a=n}function b7n(n){this.a=n}function w7n(n){this.a=n}function g7n(n){this.a=n}function p7n(n){this.a=n}function m7n(n){this.a=n}function v7n(n){this.a=n}function k7n(n){this.a=n}function y7n(n){this.a=n}function j7n(n){this.a=n}function E7n(n){this.a=n}function C7n(n){this.a=n}function M7n(n){this.a=n}function T7n(n){this.a=n}function A7n(n){this.a=n}function S7n(n){this.a=n}function P7n(n){this.a=n}function I7n(n){this.a=n}function O7n(n){this.a=n}function D7n(n){this.a=n}function L7n(n){this.a=n}function N7n(n){this.a=n}function $7n(n){this.a=n}function x7n(n){this.a=n}function F7n(n){this.c=n}function B7n(n){this.b=n}function R7n(n){this.a=n}function K7n(n){this.a=n}function _7n(n){this.a=n}function H7n(n){this.a=n}function q7n(n){this.a=n}function U7n(n){this.a=n}function G7n(n){this.a=n}function z7n(n){this.a=n}function X7n(n){this.a=n}function V7n(n){this.a=n}function W7n(n){this.a=n}function J7n(n){this.a=n}function Q7n(n){this.a=n}function Y7n(n){this.a=n}function Z7n(n){this.a=n}function nkn(n){this.a=n}function ekn(n){this.a=n}function tkn(n){this.a=n}function ikn(n){this.a=n}function rkn(n){this.a=n}function ckn(n){this.a=n}function ukn(n){this.a=n}function okn(n){this.a=n}function skn(n){this.a=n}function fkn(n){this.a=n}function hkn(n){this.a=n}function lkn(n){this.a=n}function sl(n){this.a=n}function sg(n){this.a=n}function akn(n){this.a=n}function dkn(n){this.a=n}function bkn(n){this.a=n}function wkn(n){this.a=n}function gkn(n){this.a=n}function pkn(n){this.a=n}function mkn(n){this.a=n}function vkn(n){this.a=n}function kkn(n){this.a=n}function ykn(n){this.a=n}function jkn(n){this.a=n}function Ekn(n){this.a=n}function Ckn(n){this.a=n}function Mkn(n){this.a=n}function Tkn(n){this.a=n}function Akn(n){this.a=n}function Skn(n){this.a=n}function Pkn(n){this.a=n}function Ikn(n){this.a=n}function Okn(n){this.a=n}function Dkn(n){this.a=n}function Lkn(n){this.a=n}function Nkn(n){this.a=n}function $kn(n){this.a=n}function xkn(n){this.a=n}function Fkn(n){this.a=n}function DE(n){this.a=n}function Bkn(n){this.f=n}function Rkn(n){this.a=n}function Kkn(n){this.a=n}function _kn(n){this.a=n}function Hkn(n){this.a=n}function qkn(n){this.a=n}function Ukn(n){this.a=n}function Gkn(n){this.a=n}function zkn(n){this.a=n}function Xkn(n){this.a=n}function Vkn(n){this.a=n}function Wkn(n){this.a=n}function Jkn(n){this.a=n}function Qkn(n){this.a=n}function Ykn(n){this.a=n}function Zkn(n){this.a=n}function nyn(n){this.a=n}function eyn(n){this.a=n}function tyn(n){this.a=n}function iyn(n){this.a=n}function ryn(n){this.a=n}function cyn(n){this.a=n}function uyn(n){this.a=n}function oyn(n){this.a=n}function syn(n){this.a=n}function fyn(n){this.a=n}function hyn(n){this.a=n}function lyn(n){this.a=n}function ayn(n){this.a=n}function tD(n){this.a=n}function xG(n){this.a=n}function lt(n){this.b=n}function dyn(n){this.a=n}function byn(n){this.a=n}function wyn(n){this.a=n}function gyn(n){this.a=n}function pyn(n){this.a=n}function myn(n){this.a=n}function vyn(n){this.a=n}function kyn(n){this.b=n}function yyn(n){this.a=n}function W9(n){this.a=n}function jyn(n){this.a=n}function Eyn(n){this.a=n}function FG(n){this.c=n}function LE(n){this.e=n}function NE(n){this.a=n}function $E(n){this.a=n}function iD(n){this.a=n}function Cyn(n){this.d=n}function Myn(n){this.a=n}function BG(n){this.a=n}function RG(n){this.a=n}function Wd(n){this.e=n}function Pfe(){this.a=0}function de(){Hu(this)}function Z(){pL(this)}function rD(){sIn(this)}function Tyn(){}function Jd(){this.c=Gdn}function Ayn(n,e){n.b+=e}function Ife(n,e){e.Wb(n)}function Ofe(n){return n.a}function Dfe(n){return n.a}function Lfe(n){return n.a}function Nfe(n){return n.a}function $fe(n){return n.a}function M(n){return n.e}function xfe(){return null}function Ffe(){return null}function Bfe(){Cz(),pLe()}function Rfe(n){n.b.Of(n.e)}function Syn(n){n.b=new CD}function Jv(n,e){n.b=e-n.b}function Qv(n,e){n.a=e-n.a}function Kn(n,e){n.push(e)}function Pyn(n,e){n.sort(e)}function Iyn(n,e){e.jd(n.a)}function Kfe(n,e){gi(e,n)}function _fe(n,e,t){n.Yd(t,e)}function J9(n,e){n.e=e,e.b=n}function KG(n){oh(),this.a=n}function Oyn(n){oh(),this.a=n}function Dyn(n){oh(),this.a=n}function cD(n){m0(),this.a=n}function Lyn(n){O4(),VK.le(n)}function _G(){_G=F,new de}function Ga(){YTn.call(this)}function HG(){YTn.call(this)}function qG(){Ga.call(this)}function uD(){Ga.call(this)}function Nyn(){Ga.call(this)}function Q9(){Ga.call(this)}function Cu(){Ga.call(this)}function rp(){Ga.call(this)}function Pe(){Ga.call(this)}function Bo(){Ga.call(this)}function $yn(){Ga.call(this)}function nc(){Ga.call(this)}function xyn(){Ga.call(this)}function Fyn(){this.a=this}function xE(){this.Bb|=256}function Byn(){this.b=new GMn}function Pb(n,e){n.length=e}function FE(n,e){nn(n.a,e)}function Hfe(n,e){bnn(n.c,e)}function qfe(n,e){fi(n.b,e)}function Ufe(n,e){uA(n.a,e)}function Gfe(n,e){cx(n.a,e)}function t4(n,e){it(n.e,e)}function cp(n){jA(n.c,n.b)}function zfe(n,e){n.kc().Nb(e)}function UG(n){this.a=B5e(n)}function ni(){this.a=new de}function Ryn(){this.a=new de}function GG(){this.a=new rCn}function BE(){this.a=new Z}function oD(){this.a=new Z}function zG(){this.a=new Z}function hs(){this.a=new cbn}function za(){this.a=new NLn}function XG(){this.a=new _U}function VG(){this.a=new TOn}function WG(){this.a=new BAn}function Kyn(){this.a=new Z}function _yn(){this.a=new Z}function Hyn(){this.a=new Z}function JG(){this.a=new Z}function qyn(){this.d=new Z}function Uyn(){this.a=new zOn}function Gyn(){this.a=new ni}function zyn(){this.a=new de}function Xyn(){this.b=new de}function Vyn(){this.b=new Z}function QG(){this.e=new Z}function Wyn(){this.a=new Z5n}function Jyn(){this.d=new Z}function Qyn(){QIn.call(this)}function Yyn(){QIn.call(this)}function Zyn(){Z.call(this)}function YG(){qG.call(this)}function ZG(){BE.call(this)}function njn(){qC.call(this)}function ejn(){JG.call(this)}function Yv(){Tyn.call(this)}function sD(){Yv.call(this)}function up(){Tyn.call(this)}function nz(){up.call(this)}function tjn(){rz.call(this)}function ijn(){rz.call(this)}function rjn(){rz.call(this)}function cjn(){cz.call(this)}function Zv(){svn.call(this)}function ez(){svn.call(this)}function Mu(){Ct.call(this)}function ujn(){yjn.call(this)}function ojn(){yjn.call(this)}function sjn(){de.call(this)}function fjn(){de.call(this)}function hjn(){de.call(this)}function fD(){cxn.call(this)}function ljn(){ni.call(this)}function ajn(){xE.call(this)}function hD(){BX.call(this)}function tz(){de.call(this)}function lD(){BX.call(this)}function aD(){de.call(this)}function djn(){de.call(this)}function iz(){ME.call(this)}function bjn(){iz.call(this)}function wjn(){ME.call(this)}function gjn(){rG.call(this)}function rz(){this.a=new ni}function pjn(){this.a=new de}function mjn(){this.a=new Z}function cz(){this.a=new de}function op(){this.a=new Ct}function vjn(){this.j=new Z}function kjn(){this.a=new mEn}function yjn(){this.a=new mvn}function uz(){this.a=new Z4n}function n6(){n6=F,KK=new Ht}function dD(){dD=F,_K=new Ejn}function bD(){bD=F,HK=new jjn}function jjn(){XO.call(this,"")}function Ejn(){XO.call(this,"")}function Cjn(n){S$n.call(this,n)}function Mjn(n){S$n.call(this,n)}function oz(n){fG.call(this,n)}function sz(n){XEn.call(this,n)}function Xfe(n){XEn.call(this,n)}function Vfe(n){sz.call(this,n)}function Wfe(n){sz.call(this,n)}function Jfe(n){sz.call(this,n)}function Tjn(n){zN.call(this,n)}function Ajn(n){zN.call(this,n)}function Sjn(n){uSn.call(this,n)}function Pjn(n){Oz.call(this,n)}function e6(n){WE.call(this,n)}function fz(n){WE.call(this,n)}function Ijn(n){WE.call(this,n)}function hz(n){mje.call(this,n)}function lz(n){hz.call(this,n)}function ec(n){APn.call(this,n)}function Ojn(n){ec.call(this,n)}function sp(){z9.call(this,{})}function Djn(){Djn=F,dQn=new M0n}function RE(){RE=F,GK=new STn}function Ljn(){Ljn=F,oun=new Bu}function az(){az=F,sun=new N1}function KE(){KE=F,P8=new $1}function wD(n){b4(),this.a=n}function gD(n){RQ(),this.a=n}function Qd(n){nN(),this.f=n}function pD(n){nN(),this.f=n}function Njn(n){bSn(),this.a=n}function $jn(n){n.b=null,n.c=0}function Qfe(n,e){n.e=e,bqn(n,e)}function Yfe(n,e){n.a=e,cEe(n)}function mD(n,e,t){n.a[e.g]=t}function Zfe(n,e,t){kke(t,n,e)}function nhe(n,e){Wae(e.i,n.n)}function xjn(n,e){v6e(n).Cd(e)}function ehe(n,e){n.a.ec().Mc(e)}function Fjn(n,e){return n.g-e.g}function the(n,e){return n*n/e}function on(n){return Jn(n),n}function $(n){return Jn(n),n}function Y9(n){return Jn(n),n}function ihe(n){return new AE(n)}function rhe(n){return new qb(n)}function dz(n){return Jn(n),n}function che(n){return Jn(n),n}function _E(n){ec.call(this,n)}function Ir(n){ec.call(this,n)}function Bjn(n){ec.call(this,n)}function vD(n){APn.call(this,n)}function i4(n){ec.call(this,n)}function Gn(n){ec.call(this,n)}function Or(n){ec.call(this,n)}function Rjn(n){ec.call(this,n)}function fp(n){ec.call(this,n)}function Kl(n){ec.call(this,n)}function _l(n){ec.call(this,n)}function hp(n){ec.call(this,n)}function eh(n){ec.call(this,n)}function kD(n){ec.call(this,n)}function Le(n){ec.call(this,n)}function Ku(n){Jn(n),this.a=n}function bz(n){return ld(n),n}function t6(n){TW(n,n.length)}function i6(n){return n.b==n.c}function Ib(n){return!!n&&n.b}function uhe(n){return!!n&&n.k}function ohe(n){return!!n&&n.j}function she(n,e,t){n.c.Ef(e,t)}function Kjn(n,e){n.be(e),e.ae(n)}function lp(n){oh(),this.a=Se(n)}function yD(){this.a=Oe(Se(ur))}function _jn(){throw M(new Pe)}function fhe(){throw M(new Pe)}function wz(){throw M(new Pe)}function Hjn(){throw M(new Pe)}function hhe(){throw M(new Pe)}function lhe(){throw M(new Pe)}function HE(){HE=F,O4()}function Hl(){X9.call(this,"")}function r6(){X9.call(this,"")}function x1(){X9.call(this,"")}function fg(){X9.call(this,"")}function gz(n){Ir.call(this,n)}function pz(n){Ir.call(this,n)}function th(n){Gn.call(this,n)}function r4(n){Q3.call(this,n)}function qjn(n){r4.call(this,n)}function jD(n){BC.call(this,n)}function ED(n){JX.call(this,n,0)}function CD(){sJ.call(this,12,3)}function T(n,e){return kOn(n,e)}function qE(n,e){return o$(n,e)}function ahe(n,e){return n.a-e.a}function dhe(n,e){return n.a-e.a}function bhe(n,e){return n.a-e.a}function whe(n,e){return e in n.a}function Ujn(n){return n.a?n.b:0}function ghe(n){return n.a?n.b:0}function phe(n,e,t){e.Cd(n.a[t])}function mhe(n,e,t){e.Pe(n.a[t])}function vhe(n,e){n.b=new rr(e)}function khe(n,e){return n.b=e,n}function Gjn(n,e){return n.c=e,n}function zjn(n,e){return n.f=e,n}function yhe(n,e){return n.g=e,n}function mz(n,e){return n.a=e,n}function vz(n,e){return n.f=e,n}function jhe(n,e){return n.k=e,n}function kz(n,e){return n.a=e,n}function Ehe(n,e){return n.e=e,n}function yz(n,e){return n.e=e,n}function Che(n,e){return n.f=e,n}function Mhe(n,e){n.b=!0,n.d=e}function The(n,e){return n.b-e.b}function Ahe(n,e){return n.g-e.g}function She(n,e){return n?0:e-1}function Xjn(n,e){return n?0:e-1}function Phe(n,e){return n?e-1:0}function Ihe(n,e){return n.s-e.s}function Ohe(n,e){return e.rg(n)}function Yd(n,e){return n.b=e,n}function UE(n,e){return n.a=e,n}function Zd(n,e){return n.c=e,n}function n0(n,e){return n.d=e,n}function e0(n,e){return n.e=e,n}function jz(n,e){return n.f=e,n}function c6(n,e){return n.a=e,n}function c4(n,e){return n.b=e,n}function u4(n,e){return n.c=e,n}function an(n,e){return n.c=e,n}function Sn(n,e){return n.b=e,n}function dn(n,e){return n.d=e,n}function bn(n,e){return n.e=e,n}function Dhe(n,e){return n.f=e,n}function wn(n,e){return n.g=e,n}function gn(n,e){return n.a=e,n}function pn(n,e){return n.i=e,n}function mn(n,e){return n.j=e,n}function Lhe(n,e){ua(),ic(e,n)}function Nhe(n,e,t){Jbe(n.a,e,t)}function GE(n){$L.call(this,n)}function Vjn(n){Z5e.call(this,n)}function Wjn(n){SIn.call(this,n)}function Ez(n){SIn.call(this,n)}function F1(n){S0.call(this,n)}function Jjn(n){CN.call(this,n)}function Qjn(n){CN.call(this,n)}function Yjn(){DX.call(this,"")}function Li(){this.a=0,this.b=0}function Zjn(){this.b=0,this.a=0}function nEn(n,e){n.b=0,Zb(n,e)}function eEn(n,e){return n.k=e,n}function $he(n,e){return n.j=e,n}function xhe(n,e){n.c=e,n.b=!0}function tEn(){tEn=F,TQn=Xke()}function B1(){B1=F,voe=rke()}function iEn(){iEn=F,Ti=gye()}function Cz(){Cz=F,Da=z4()}function o4(){o4=F,Udn=cke()}function rEn(){rEn=F,ise=uke()}function Mz(){Mz=F,yc=tEe()}function of(n){return n.e&&n.e()}function cEn(n){return n.l|n.m<<22}function uEn(n,e){return n.c._b(e)}function oEn(n,e){return rBn(n.b,e)}function MD(n){return n?n.d:null}function Fhe(n){return n?n.g:null}function Bhe(n){return n?n.i:null}function Xa(n){return ll(n),n.o}function hg(n,e){return n.a+=e,n}function TD(n,e){return n.a+=e,n}function ql(n,e){return n.a+=e,n}function t0(n,e){return n.a+=e,n}function Tz(n,e){for(;n.Bd(e););}function zE(n){this.a=new ap(n)}function sEn(){throw M(new Pe)}function fEn(){throw M(new Pe)}function hEn(){throw M(new Pe)}function lEn(){throw M(new Pe)}function aEn(){throw M(new Pe)}function dEn(){throw M(new Pe)}function Ul(n){this.a=new iN(n)}function bEn(){this.a=new K5(Rln)}function wEn(){this.b=new K5(rln)}function gEn(){this.a=new K5(f1n)}function pEn(){this.b=new K5(Fq)}function mEn(){this.b=new K5(Fq)}function XE(n){this.a=0,this.b=n}function Az(n){zGn(),ILe(this,n)}function s4(n){return X1(n),n.a}function Z9(n){return n.b!=n.d.c}function Sz(n,e){return n.d[e.p]}function vEn(n,e){return XTe(n,e)}function Pz(n,e,t){n.splice(e,t)}function lg(n,e){for(;n.Re(e););}function kEn(n){n.c?Dqn(n):Lqn(n)}function yEn(){throw M(new Pe)}function jEn(){throw M(new Pe)}function EEn(){throw M(new Pe)}function CEn(){throw M(new Pe)}function MEn(){throw M(new Pe)}function TEn(){throw M(new Pe)}function AEn(){throw M(new Pe)}function SEn(){throw M(new Pe)}function PEn(){throw M(new Pe)}function IEn(){throw M(new Pe)}function Rhe(){throw M(new nc)}function Khe(){throw M(new nc)}function n7(n){this.a=new OEn(n)}function OEn(n){Ume(this,n,jje())}function e7(n){return!n||oIn(n)}function t7(n){return nh[n]!=-1}function _he(){cP!=0&&(cP=0),uP=-1}function DEn(){RK==null&&(RK=[])}function i7(n,e){Mg.call(this,n,e)}function f4(n,e){i7.call(this,n,e)}function LEn(n,e){this.a=n,this.b=e}function NEn(n,e){this.a=n,this.b=e}function $En(n,e){this.a=n,this.b=e}function xEn(n,e){this.a=n,this.b=e}function FEn(n,e){this.a=n,this.b=e}function BEn(n,e){this.a=n,this.b=e}function REn(n,e){this.a=n,this.b=e}function h4(n,e){this.e=n,this.d=e}function Iz(n,e){this.b=n,this.c=e}function KEn(n,e){this.b=n,this.a=e}function _En(n,e){this.b=n,this.a=e}function HEn(n,e){this.b=n,this.a=e}function qEn(n,e){this.b=n,this.a=e}function UEn(n,e){this.a=n,this.b=e}function AD(n,e){this.a=n,this.b=e}function GEn(n,e){this.a=n,this.f=e}function i0(n,e){this.g=n,this.i=e}function je(n,e){this.f=n,this.g=e}function zEn(n,e){this.b=n,this.c=e}function XEn(n){KX(n.dc()),this.c=n}function Hhe(n,e){this.a=n,this.b=e}function VEn(n,e){this.a=n,this.b=e}function WEn(n){this.a=u(Se(n),15)}function Oz(n){this.a=u(Se(n),15)}function JEn(n){this.a=u(Se(n),85)}function VE(n){this.b=u(Se(n),85)}function WE(n){this.b=u(Se(n),51)}function JE(){this.q=new y.Date}function SD(n,e){this.a=n,this.b=e}function QEn(n,e){return Zc(n.b,e)}function r7(n,e){return n.b.Hc(e)}function YEn(n,e){return n.b.Ic(e)}function ZEn(n,e){return n.b.Qc(e)}function nCn(n,e){return n.b.Hc(e)}function eCn(n,e){return n.c.uc(e)}function tCn(n,e){return rt(n.c,e)}function sf(n,e){return n.a._b(e)}function iCn(n,e){return n>e&&e0}function ND(n,e){return Ec(n,e)<0}function vCn(n,e){return JL(n.a,e)}function ole(n,e){yOn.call(this,n,e)}function Bz(n){wN(),uSn.call(this,n)}function Rz(n,e){bPn(n,n.length,e)}function s7(n,e){HPn(n,n.length,e)}function d6(n,e){return n.a.get(e)}function kCn(n,e){return Zc(n.e,e)}function Kz(n){return Jn(n),!1}function _z(n){this.a=u(Se(n),229)}function cC(n){In.call(this,n,21)}function uC(n,e){je.call(this,n,e)}function $D(n,e){je.call(this,n,e)}function yCn(n,e){this.b=n,this.a=e}function oC(n,e){this.d=n,this.e=e}function jCn(n,e){this.a=n,this.b=e}function ECn(n,e){this.a=n,this.b=e}function CCn(n,e){this.a=n,this.b=e}function MCn(n,e){this.a=n,this.b=e}function bp(n,e){this.a=n,this.b=e}function TCn(n,e){this.b=n,this.a=e}function Hz(n,e){this.b=n,this.a=e}function qz(n,e){je.call(this,n,e)}function Uz(n,e){je.call(this,n,e)}function ag(n,e){je.call(this,n,e)}function xD(n,e){je.call(this,n,e)}function FD(n,e){je.call(this,n,e)}function BD(n,e){je.call(this,n,e)}function sC(n,e){je.call(this,n,e)}function Gz(n,e){this.b=n,this.a=e}function fC(n,e){je.call(this,n,e)}function zz(n,e){this.b=n,this.a=e}function hC(n,e){je.call(this,n,e)}function ACn(n,e){this.b=n,this.a=e}function Xz(n,e){je.call(this,n,e)}function RD(n,e){je.call(this,n,e)}function f7(n,e){je.call(this,n,e)}function b6(n,e,t){n.splice(e,0,t)}function sle(n,e,t){n.Mb(t)&&e.Cd(t)}function fle(n,e,t){e.Pe(n.a.Ye(t))}function hle(n,e,t){e.Dd(n.a.Ze(t))}function lle(n,e,t){e.Cd(n.a.Kb(t))}function ale(n,e){return Au(n.c,e)}function dle(n,e){return Au(n.e,e)}function lC(n,e){je.call(this,n,e)}function aC(n,e){je.call(this,n,e)}function w6(n,e){je.call(this,n,e)}function Vz(n,e){je.call(this,n,e)}function ei(n,e){je.call(this,n,e)}function dC(n,e){je.call(this,n,e)}function SCn(n,e){this.a=n,this.b=e}function PCn(n,e){this.a=n,this.b=e}function ICn(n,e){this.a=n,this.b=e}function OCn(n,e){this.a=n,this.b=e}function DCn(n,e){this.a=n,this.b=e}function LCn(n,e){this.a=n,this.b=e}function NCn(n,e){this.b=n,this.a=e}function $Cn(n,e){this.b=n,this.a=e}function Wz(n,e){this.b=n,this.a=e}function d4(n,e){this.c=n,this.d=e}function xCn(n,e){this.e=n,this.d=e}function FCn(n,e){this.a=n,this.b=e}function BCn(n,e){this.a=n,this.b=e}function RCn(n,e){this.a=n,this.b=e}function KCn(n,e){this.b=n,this.a=e}function _Cn(n,e){this.b=e,this.c=n}function bC(n,e){je.call(this,n,e)}function h7(n,e){je.call(this,n,e)}function KD(n,e){je.call(this,n,e)}function Jz(n,e){je.call(this,n,e)}function g6(n,e){je.call(this,n,e)}function _D(n,e){je.call(this,n,e)}function HD(n,e){je.call(this,n,e)}function l7(n,e){je.call(this,n,e)}function Qz(n,e){je.call(this,n,e)}function qD(n,e){je.call(this,n,e)}function p6(n,e){je.call(this,n,e)}function Yz(n,e){je.call(this,n,e)}function m6(n,e){je.call(this,n,e)}function v6(n,e){je.call(this,n,e)}function Db(n,e){je.call(this,n,e)}function UD(n,e){je.call(this,n,e)}function GD(n,e){je.call(this,n,e)}function Zz(n,e){je.call(this,n,e)}function a7(n,e){je.call(this,n,e)}function dg(n,e){je.call(this,n,e)}function zD(n,e){je.call(this,n,e)}function wC(n,e){je.call(this,n,e)}function d7(n,e){je.call(this,n,e)}function Lb(n,e){je.call(this,n,e)}function gC(n,e){je.call(this,n,e)}function nX(n,e){je.call(this,n,e)}function XD(n,e){je.call(this,n,e)}function VD(n,e){je.call(this,n,e)}function WD(n,e){je.call(this,n,e)}function JD(n,e){je.call(this,n,e)}function QD(n,e){je.call(this,n,e)}function YD(n,e){je.call(this,n,e)}function ZD(n,e){je.call(this,n,e)}function HCn(n,e){this.b=n,this.a=e}function eX(n,e){je.call(this,n,e)}function qCn(n,e){this.a=n,this.b=e}function UCn(n,e){this.a=n,this.b=e}function GCn(n,e){this.a=n,this.b=e}function tX(n,e){je.call(this,n,e)}function iX(n,e){je.call(this,n,e)}function zCn(n,e){this.a=n,this.b=e}function ble(n,e){return k4(),e!=n}function b7(n){return oe(n.a),n.b}function nL(n){return yCe(n,n.c),n}function XCn(){return tEn(),new TQn}function VCn(){VC(),this.a=new kV}function WCn(){OA(),this.a=new ni}function JCn(){NN(),this.b=new ni}function QCn(n,e){this.b=n,this.d=e}function YCn(n,e){this.a=n,this.b=e}function ZCn(n,e){this.a=n,this.b=e}function nMn(n,e){this.a=n,this.b=e}function eMn(n,e){this.b=n,this.a=e}function rX(n,e){je.call(this,n,e)}function cX(n,e){je.call(this,n,e)}function pC(n,e){je.call(this,n,e)}function u0(n,e){je.call(this,n,e)}function eL(n,e){je.call(this,n,e)}function mC(n,e){je.call(this,n,e)}function uX(n,e){je.call(this,n,e)}function oX(n,e){je.call(this,n,e)}function w7(n,e){je.call(this,n,e)}function sX(n,e){je.call(this,n,e)}function tL(n,e){je.call(this,n,e)}function vC(n,e){je.call(this,n,e)}function iL(n,e){je.call(this,n,e)}function rL(n,e){je.call(this,n,e)}function cL(n,e){je.call(this,n,e)}function uL(n,e){je.call(this,n,e)}function fX(n,e){je.call(this,n,e)}function oL(n,e){je.call(this,n,e)}function hX(n,e){je.call(this,n,e)}function g7(n,e){je.call(this,n,e)}function sL(n,e){je.call(this,n,e)}function lX(n,e){je.call(this,n,e)}function p7(n,e){je.call(this,n,e)}function aX(n,e){je.call(this,n,e)}function tMn(n,e){this.b=n,this.a=e}function iMn(n,e){this.b=n,this.a=e}function rMn(n,e){this.b=n,this.a=e}function cMn(n,e){this.b=n,this.a=e}function dX(n,e){this.a=n,this.b=e}function uMn(n,e){this.a=n,this.b=e}function oMn(n,e){this.a=n,this.b=e}function V(n,e){this.a=n,this.b=e}function k6(n,e){je.call(this,n,e)}function m7(n,e){je.call(this,n,e)}function wp(n,e){je.call(this,n,e)}function y6(n,e){je.call(this,n,e)}function v7(n,e){je.call(this,n,e)}function fL(n,e){je.call(this,n,e)}function kC(n,e){je.call(this,n,e)}function j6(n,e){je.call(this,n,e)}function hL(n,e){je.call(this,n,e)}function yC(n,e){je.call(this,n,e)}function bg(n,e){je.call(this,n,e)}function k7(n,e){je.call(this,n,e)}function E6(n,e){je.call(this,n,e)}function C6(n,e){je.call(this,n,e)}function y7(n,e){je.call(this,n,e)}function jC(n,e){je.call(this,n,e)}function wg(n,e){je.call(this,n,e)}function lL(n,e){je.call(this,n,e)}function sMn(n,e){je.call(this,n,e)}function EC(n,e){je.call(this,n,e)}function fMn(n,e){this.a=n,this.b=e}function hMn(n,e){this.a=n,this.b=e}function lMn(n,e){this.a=n,this.b=e}function aMn(n,e){this.a=n,this.b=e}function dMn(n,e){this.a=n,this.b=e}function bMn(n,e){this.a=n,this.b=e}function bi(n,e){this.a=n,this.b=e}function wMn(n,e){this.a=n,this.b=e}function gMn(n,e){this.a=n,this.b=e}function pMn(n,e){this.a=n,this.b=e}function mMn(n,e){this.a=n,this.b=e}function vMn(n,e){this.a=n,this.b=e}function kMn(n,e){this.a=n,this.b=e}function yMn(n,e){this.b=n,this.a=e}function jMn(n,e){this.b=n,this.a=e}function EMn(n,e){this.b=n,this.a=e}function CMn(n,e){this.b=n,this.a=e}function MMn(n,e){this.a=n,this.b=e}function TMn(n,e){this.a=n,this.b=e}function CC(n,e){je.call(this,n,e)}function AMn(n,e){this.a=n,this.b=e}function SMn(n,e){this.a=n,this.b=e}function gp(n,e){je.call(this,n,e)}function PMn(n,e){this.f=n,this.c=e}function bX(n,e){return Au(n.g,e)}function wle(n,e){return Au(e.b,n)}function IMn(n,e){return wx(n.a,e)}function gle(n,e){return-n.b.af(e)}function ple(n,e){n&&Ve(hE,n,e)}function wX(n,e){n.i=null,kT(n,e)}function mle(n,e,t){yKn(e,oF(n,t))}function vle(n,e,t){yKn(e,oF(n,t))}function kle(n,e){VMe(n.a,u(e,58))}function OMn(n,e){U4e(n.a,u(e,12))}function MC(n,e){this.a=n,this.b=e}function DMn(n,e){this.a=n,this.b=e}function LMn(n,e){this.a=n,this.b=e}function NMn(n,e){this.a=n,this.b=e}function $Mn(n,e){this.a=n,this.b=e}function xMn(n,e){this.d=n,this.b=e}function FMn(n,e){this.e=n,this.a=e}function j7(n,e){this.b=n,this.c=e}function gX(n,e){this.i=n,this.g=e}function pX(n,e){this.d=n,this.e=e}function yle(n,e){cme(new ne(n),e)}function TC(n){return Rk(n.c,n.b)}function Kr(n){return n?n.md():null}function x(n){return n??null}function Ai(n){return typeof n===nB}function Nb(n){return typeof n===i3}function $b(n){return typeof n===dtn}function o0(n,e){return Ec(n,e)==0}function AC(n,e){return Ec(n,e)>=0}function M6(n,e){return Ec(n,e)!=0}function SC(n,e){return jve(n.Kc(),e)}function _1(n,e){return n.Rd().Xb(e)}function BMn(n){return eo(n),n.d.gc()}function PC(n){return F6(n==null),n}function T6(n,e){return n.a+=""+e,n}function Er(n,e){return n.a+=""+e,n}function A6(n,e){return n.a+=""+e,n}function Dc(n,e){return n.a+=""+e,n}function Re(n,e){return n.a+=""+e,n}function mX(n,e){return n.a+=""+e,n}function jle(n){return""+(Jn(n),n)}function RMn(n){Hu(this),f5(this,n)}function KMn(){oJ(),dW.call(this)}function _Mn(n,e){mW.call(this,n,e)}function HMn(n,e){mW.call(this,n,e)}function IC(n,e){mW.call(this,n,e)}function ir(n,e){xt(n,e,n.c.b,n.c)}function gg(n,e){xt(n,e,n.a,n.a.a)}function vX(n){return Ln(n,0),null}function qMn(){this.b=0,this.a=!1}function UMn(){this.b=0,this.a=!1}function GMn(){this.b=new ap(Qb(12))}function zMn(){zMn=F,kYn=Ce(jx())}function XMn(){XMn=F,HZn=Ce(iqn())}function VMn(){VMn=F,lre=Ce(xxn())}function kX(){kX=F,_G(),fun=new de}function ff(n){return n.a=0,n.b=0,n}function WMn(n,e){return n.a=e.g+1,n}function aL(n,e){Kb.call(this,n,e)}function Mn(n,e){Dt.call(this,n,e)}function pg(n,e){gX.call(this,n,e)}function JMn(n,e){T7.call(this,n,e)}function dL(n,e){Y4.call(this,n,e)}function Ge(n,e){iC(),Ve(yO,n,e)}function QMn(n,e){n.q.setTime(id(e))}function Ele(n){y.clearTimeout(n)}function Cle(n){return Se(n),new S6(n)}function YMn(n,e){return x(n)===x(e)}function ZMn(n,e){return n.a.a.a.cc(e)}function bL(n,e){return qo(n.a,0,e)}function yX(n){return Awe(u(n,74))}function pp(n){return wi((Jn(n),n))}function Mle(n){return wi((Jn(n),n))}function nTn(n){return Yc(n.l,n.m,n.h)}function jX(n,e){return jc(n.a,e.a)}function Tle(n,e){return KPn(n.a,e.a)}function Ale(n,e){return bt(n.a,e.a)}function ih(n,e){return n.indexOf(e)}function Sle(n,e){return n.j[e.p]==2}function s0(n,e){return n==e?0:n?1:-1}function OC(n){return n<10?"0"+n:""+n}function Vr(n){return typeof n===dtn}function Ple(n){return n==rb||n==Iw}function Ile(n){return n==rb||n==Pw}function eTn(n,e){return jc(n.g,e.g)}function EX(n){return qr(n.b.b,n,0)}function tTn(){rM.call(this,0,0,0,0)}function rh(){CG.call(this,new Ql)}function CX(n,e){F4(n,0,n.length,e)}function Ole(n,e){return nn(n.a,e),e}function Dle(n,e){return Fs(),e.a+=n}function Lle(n,e){return Fs(),e.a+=n}function Nle(n,e){return Fs(),e.c+=n}function $le(n,e){return nn(n.c,e),n}function MX(n,e){return Mo(n.a,e),n}function iTn(n){this.a=XCn(),this.b=n}function rTn(n){this.a=XCn(),this.b=n}function rr(n){this.a=n.a,this.b=n.b}function S6(n){this.a=n,GO.call(this)}function cTn(n){this.a=n,GO.call(this)}function mp(){Ho.call(this,0,0,0,0)}function DC(n){return Mo(new ii,n)}function uTn(n){return jM(u(n,123))}function fo(n){return n.vh()&&n.wh()}function mg(n){return n!=Qf&&n!=Pa}function hl(n){return n==Br||n==Xr}function vg(n){return n==us||n==Wf}function oTn(n){return n==P2||n==S2}function xle(n,e){return jc(n.g,e.g)}function sTn(n,e){return new Y4(e,n)}function Fle(n,e){return new Y4(e,n)}function TX(n){return rbe(n.b.Kc(),n.a)}function wL(n,e){um(n,e),G4(n,n.D)}function gL(n,e,t){aT(n,e),lT(n,t)}function kg(n,e,t){I0(n,e),P0(n,t)}function Ro(n,e,t){eu(n,e),tu(n,t)}function E7(n,e,t){_4(n,e),q4(n,t)}function C7(n,e,t){H4(n,e),U4(n,t)}function fTn(n,e,t){sV.call(this,n,e,t)}function AX(n){PMn.call(this,n,!0)}function hTn(){uC.call(this,"Tail",3)}function lTn(){uC.call(this,"Head",1)}function H1(n){dh(),mve.call(this,n)}function f0(n){rM.call(this,n,n,n,n)}function pL(n){n.c=K(ki,Bn,1,0,5,1)}function SX(n){return n.b&&xF(n),n.a}function PX(n){return n.b&&xF(n),n.c}function Ble(n,e){Uf||(n.b=e)}function Rle(n,e){return n[n.length]=e}function Kle(n,e){return n[n.length]=e}function _le(n,e){return Yb(e,Sf(n))}function Hle(n,e){return Yb(e,Sf(n))}function qle(n,e){return pT(dN(n.d),e)}function Ule(n,e){return pT(dN(n.g),e)}function Gle(n,e){return pT(dN(n.j),e)}function Ni(n,e){Dt.call(this,n.b,e)}function zle(n,e){ve(Sc(n.a),DOn(e))}function Xle(n,e){ve(no(n.a),LOn(e))}function Vle(n,e,t){Ro(t,t.i+n,t.j+e)}function aTn(n,e,t){$t(n.c[e.g],e.g,t)}function Wle(n,e,t){u(n.c,71).Gi(e,t)}function mL(n,e,t){return $t(n,e,t),t}function dTn(n){nu(n.Sf(),new D9n(n))}function yg(n){return n!=null?mt(n):0}function Jle(n){return n==null?0:mt(n)}function P6(n){nt(),Wd.call(this,n)}function bTn(n){this.a=n,qV.call(this,n)}function Tf(){Tf=F,y.Math.log(2)}function Ko(){Ko=F,rl=(pCn(),Moe)}function wTn(){wTn=F,YH=new j5(aU)}function Ie(){Ie=F,new gTn,new Z}function gTn(){new de,new de,new de}function Qle(){throw M(new Kl(QJn))}function Yle(){throw M(new Kl(QJn))}function Zle(){throw M(new Kl(YJn))}function n1e(){throw M(new Kl(YJn))}function vL(n){this.a=n,VE.call(this,n)}function kL(n){this.a=n,VE.call(this,n)}function pTn(n,e){m0(),this.a=n,this.b=e}function e1e(n,e){Se(e),Ag(n).Jc(new Ru)}function Yt(n,e){QL(n.c,n.c.length,e)}function tc(n){return n.ae?1:0}function OX(n,e){return Ec(n,e)>0?n:e}function Yc(n,e,t){return{l:n,m:e,h:t}}function t1e(n,e){n.a!=null&&OMn(e,n.a)}function i1e(n){Zi(n,null),Ii(n,null)}function r1e(n,e,t){return Ve(n.g,t,e)}function jg(n,e,t){return nZ(e,t,n.c)}function c1e(n,e,t){return Ve(n.k,t,e)}function u1e(n,e,t){return GOe(n,e,t),t}function o1e(n,e){return ko(),e.n.b+=n}function vTn(n){nJ.call(this),this.b=n}function DX(n){vV.call(this),this.a=n}function kTn(){uC.call(this,"Range",2)}function LC(n){this.b=n,this.a=new Z}function yTn(n){this.b=new $bn,this.a=n}function jTn(n){n.a=new OO,n.c=new OO}function ETn(n){n.a=new de,n.d=new de}function CTn(n){$N(n,null),xN(n,null)}function MTn(n,e){return XOe(n.a,e,null)}function s1e(n,e){return Ve(n.a,e.a,e)}function Ki(n){return new V(n.a,n.b)}function LX(n){return new V(n.c,n.d)}function f1e(n){return new V(n.c,n.d)}function I6(n,e){return cOe(n.c,n.b,e)}function D(n,e){return n!=null&&Tx(n,e)}function yL(n,e){return Yve(n.Kc(),e)!=-1}function NC(n){return n.Ob()?n.Pb():null}function h1e(n){this.b=(Dn(),new eD(n))}function NX(n){this.a=n,de.call(this)}function TTn(){T7.call(this,null,null)}function ATn(){_C.call(this,null,null)}function STn(){je.call(this,"INSTANCE",0)}function PTn(){LZ(),this.a=new K5(Ion)}function ITn(n){return ws(n,0,n.length)}function l1e(n,e){return new VTn(n.Kc(),e)}function $X(n,e){return n.a.Bc(e)!=null}function OTn(n,e){me(n),n.Gc(u(e,15))}function a1e(n,e,t){n.c.bd(e,u(t,136))}function d1e(n,e,t){n.c.Ui(e,u(t,136))}function DTn(n,e){n.c&&(tW(e),rOn(e))}function b1e(n,e){n.q.setHours(e),G5(n,e)}function w1e(n,e){a0(e,n.a.a.a,n.a.a.b)}function g1e(n,e,t,i){$t(n.a[e.g],t.g,i)}function jL(n,e,t){return n.a[e.g][t.g]}function p1e(n,e){return n.e[e.c.p][e.p]}function m1e(n,e){return n.c[e.c.p][e.p]}function Af(n,e){return n.a[e.c.p][e.p]}function v1e(n,e){return n.j[e.p]=IMe(e)}function EL(n,e){return n.a.Bc(e)!=null}function k1e(n,e){return $(R(e.a))<=n}function y1e(n,e){return $(R(e.a))>=n}function j1e(n,e){return RJ(n.f,e.Pg())}function vp(n,e){return n.a*e.a+n.b*e.b}function E1e(n,e){return n.a0?e/(n*n):e*100}function V1e(n,e){return n>0?e*e/n:e*e*100}function xb(n,e){return u(Nf(n.a,e),34)}function W1e(n,e){return ua(),Pn(n,e.e,e)}function J1e(n,e,t){return nC(),t.Mg(n,e)}function Q1e(n){return kl(),n.e.a+n.f.a/2}function Y1e(n,e,t){return kl(),t.e.a-n*e}function Z1e(n){return kl(),n.e.b+n.f.b/2}function nae(n,e,t){return kl(),t.e.b-n*e}function sAn(n){n.d=new cAn(n),n.e=new de}function fAn(){this.a=new C0,this.b=new C0}function hAn(n){this.c=n,this.a=1,this.b=1}function lAn(n){YF(),Syn(this),this.Ff(n)}function eae(n,e,t){YM(),n.pf(e)&&t.Cd(n)}function tae(n,e,t){return nn(e,jBn(n,t))}function a0(n,e,t){return n.a+=e,n.b+=t,n}function iae(n,e,t){return n.a*=e,n.b*=t,n}function ZX(n,e){return n.a=e.a,n.b=e.b,n}function HC(n){return n.a=-n.a,n.b=-n.b,n}function N6(n,e,t){return n.a-=e,n.b-=t,n}function aAn(n){Ct.call(this),c5(this,n)}function dAn(){je.call(this,"GROW_TREE",0)}function bAn(){je.call(this,"POLYOMINO",0)}function lo(n,e,t){Iu.call(this,n,e,t,2)}function rae(n,e,t){k5(Sc(n.a),e,DOn(t))}function wAn(n,e){a6(),T7.call(this,n,e)}function nV(n,e){Gl(),_C.call(this,n,e)}function gAn(n,e){Gl(),nV.call(this,n,e)}function pAn(n,e){Gl(),_C.call(this,n,e)}function cae(n,e){return n.c.Fc(u(e,136))}function uae(n,e,t){k5(no(n.a),e,LOn(t))}function mAn(n){this.c=n,eu(n,0),tu(n,0)}function PL(n,e){Ko(),oM.call(this,n,e)}function vAn(n,e){Ko(),PL.call(this,n,e)}function eV(n,e){Ko(),PL.call(this,n,e)}function tV(n,e){Ko(),oM.call(this,n,e)}function kAn(n,e){Ko(),eV.call(this,n,e)}function yAn(n,e){Ko(),tV.call(this,n,e)}function jAn(n,e){Ko(),oM.call(this,n,e)}function oae(n,e,t){return e.zl(n.e,n.c,t)}function sae(n,e,t){return e.Al(n.e,n.c,t)}function iV(n,e,t){return qA(ak(n,e),t)}function IL(n,e){return ea(n.e,u(e,54))}function fae(n){return n==null?null:NDe(n)}function hae(n){return n==null?null:Aje(n)}function lae(n){return n==null?null:Jr(n)}function aae(n){return n==null?null:Jr(n)}function un(n){return F6(n==null||Nb(n)),n}function R(n){return F6(n==null||$b(n)),n}function Oe(n){return F6(n==null||Ai(n)),n}function ll(n){n.o==null&&cMe(n)}function rV(n){if(!n)throw M(new Q9)}function dae(n){if(!n)throw M(new uD)}function oe(n){if(!n)throw M(new nc)}function Fb(n){if(!n)throw M(new Cu)}function EAn(n){if(!n)throw M(new Bo)}function m4(){m4=F,aE=new ujn,new ojn}function Tg(){Tg=F,D2=new lt("root")}function cV(){cxn.call(this),this.Bb|=hr}function bae(n,e){this.d=n,c9n(this),this.b=e}function uV(n,e){i$.call(this,n),this.a=e}function oV(n,e){i$.call(this,n),this.a=e}function sV(n,e,t){VM.call(this,n,e,t,null)}function CAn(n,e,t){VM.call(this,n,e,t,null)}function P7(n,e){this.c=n,h4.call(this,n,e)}function $6(n,e){this.a=n,P7.call(this,n,e)}function fV(n){this.q=new y.Date(id(n))}function MAn(n){return n>8?0:n+1}function TAn(n,e){Uf||nn(n.a,e)}function wae(n,e){return o7(),Q4(e.d.i,n)}function gae(n,e){return Hp(),new tUn(e,n)}function pae(n,e,t){return n.Ne(e,t)<=0?t:e}function mae(n,e,t){return n.Ne(e,t)<=0?e:t}function vae(n,e){return u(Nf(n.b,e),143)}function kae(n,e){return u(Nf(n.c,e),233)}function OL(n){return u(sn(n.a,n.b),294)}function AAn(n){return new V(n.c,n.d+n.a)}function SAn(n){return Jn(n),n?1231:1237}function PAn(n){return ko(),oTn(u(n,203))}function Bb(){Bb=F,ron=jn((go(),Gd))}function yae(n,e){e.a?MCe(n,e):EL(n.a,e.b)}function I7(n,e,t){++n.j,n.tj(),t$(n,e,t)}function IAn(n,e,t){++n.j,n.qj(e,n.Zi(e,t))}function OAn(n,e,t){var i;i=n.fd(e),i.Rb(t)}function hV(n,e,t){return t=So(n,e,6,t),t}function lV(n,e,t){return t=So(n,e,3,t),t}function aV(n,e,t){return t=So(n,e,9,t),t}function uh(n,e){return X7(e,xtn),n.f=e,n}function dV(n,e){return(e&et)%n.d.length}function DAn(n,e,t){return zen(n.c,n.b,e,t)}function LAn(n,e){this.c=n,S0.call(this,e)}function NAn(n,e){this.a=n,kyn.call(this,e)}function O7(n,e){this.a=n,kyn.call(this,e)}function Dt(n,e){lt.call(this,n),this.a=e}function bV(n,e){FG.call(this,n),this.a=e}function DL(n,e){FG.call(this,n),this.a=e}function jae(n){VY.call(this,0,0),this.f=n}function $An(n,e,t){return n.a+=ws(e,0,t),n}function D7(n){return!n.a&&(n.a=new C0n),n.a}function wV(n,e){var t;return t=n.e,n.e=e,t}function gV(n,e){var t;return t=e,!!n.Fe(t)}function Eae(n,e){return _n(),n==e?0:n?1:-1}function Rb(n,e){n.a.bd(n.b,e),++n.b,n.c=-1}function L7(n){n.b?L7(n.b):n.f.c.zc(n.e,n.d)}function xAn(n){Hu(n.e),n.d.b=n.d,n.d.a=n.d}function Cae(n,e,t){Va(),t9n(n,e.Ve(n.a,t))}function pV(n,e,t){return Pp(n,u(e,22),t)}function xs(n,e){return qE(new Array(e),n)}function Mae(n){return Ae(U1(n,32))^Ae(n)}function LL(n){return String.fromCharCode(n)}function Tae(n){return n==null?null:n.message}function Aae(n,e,t){return n.apply(e,t)}function Sae(n,e){var t;t=n[DB],t.call(n,e)}function Pae(n,e){var t;t=n[DB],t.call(n,e)}function Iae(n,e){return o7(),!Q4(e.d.i,n)}function mV(n,e,t,i){rM.call(this,n,e,t,i)}function FAn(){qC.call(this),this.a=new Li}function vV(){this.n=new Li,this.o=new Li}function BAn(){this.b=new Li,this.c=new Z}function RAn(){this.a=new Z,this.b=new Z}function KAn(){this.a=new _U,this.b=new Byn}function kV(){this.b=new Ql,this.a=new Ql}function _An(){this.b=new ni,this.a=new ni}function HAn(){this.b=new de,this.a=new de}function qAn(){this.b=new wEn,this.a=new H3n}function UAn(){this.a=new n8n,this.b=new Lpn}function GAn(){this.a=new Z,this.d=new Z}function qC(){this.n=new up,this.i=new mp}function zAn(n){this.a=(Co(n,mw),new Gc(n))}function XAn(n){this.a=(Co(n,mw),new Gc(n))}function Oae(n){return n<100?null:new F1(n)}function Dae(n,e){return n.n.a=(Jn(e),e+10)}function Lae(n,e){return n.n.a=(Jn(e),e+10)}function Nae(n,e){return e==n||km(TA(e),n)}function VAn(n,e){return Ve(n.a,e,"")==null}function $ae(n,e){var t;return t=e.qi(n.a),t}function tt(n,e){return n.a+=e.a,n.b+=e.b,n}function mi(n,e){return n.a-=e.a,n.b-=e.b,n}function xae(n){return Pb(n.j.c,0),n.a=-1,n}function yV(n,e,t){return t=So(n,e,11,t),t}function Fae(n,e,t){t!=null&&mT(e,Fx(n,t))}function Bae(n,e,t){t!=null&&vT(e,Fx(n,t))}function jp(n,e,t,i){q.call(this,n,e,t,i)}function jV(n,e,t,i){q.call(this,n,e,t,i)}function WAn(n,e,t,i){jV.call(this,n,e,t,i)}function JAn(n,e,t,i){bM.call(this,n,e,t,i)}function NL(n,e,t,i){bM.call(this,n,e,t,i)}function EV(n,e,t,i){bM.call(this,n,e,t,i)}function QAn(n,e,t,i){NL.call(this,n,e,t,i)}function CV(n,e,t,i){NL.call(this,n,e,t,i)}function Nn(n,e,t,i){EV.call(this,n,e,t,i)}function YAn(n,e,t,i){CV.call(this,n,e,t,i)}function ZAn(n,e,t,i){jW.call(this,n,e,t,i)}function Kb(n,e){Ir.call(this,k8+n+Td+e)}function MV(n,e){return n.jk().wi().ri(n,e)}function TV(n,e){return n.jk().wi().ti(n,e)}function nSn(n,e){return Jn(n),x(n)===x(e)}function An(n,e){return Jn(n),x(n)===x(e)}function Rae(n,e){return n.b.Bd(new ECn(n,e))}function Kae(n,e){return n.b.Bd(new CCn(n,e))}function eSn(n,e){return n.b.Bd(new MCn(n,e))}function _ae(n,e){return n.e=u(n.d.Kb(e),159)}function AV(n,e,t){return n.lastIndexOf(e,t)}function Hae(n,e,t){return bt(n[e.a],n[t.a])}function qae(n,e){return U(e,(cn(),Cj),n)}function Uae(n,e){return jc(e.a.d.p,n.a.d.p)}function Gae(n,e){return jc(n.a.d.p,e.a.d.p)}function zae(n,e){return bt(n.c-n.s,e.c-e.s)}function Xae(n,e){return bt(n.b.e.a,e.b.e.a)}function Vae(n,e){return bt(n.c.e.a,e.c.e.a)}function tSn(n){return n.c?qr(n.c.a,n,0):-1}function Ep(n){return n==Ud||n==tl||n==qc}function SV(n,e){this.c=n,oN.call(this,n,e)}function iSn(n,e,t){this.a=n,JX.call(this,e,t)}function rSn(n){this.c=n,IC.call(this,Ey,0)}function cSn(n,e,t){this.c=e,this.b=t,this.a=n}function N7(n){k4(),this.d=n,this.a=new Cg}function uSn(n){oh(),this.a=(Dn(),new r4(n))}function Wae(n,e){hl(n.f)?QCe(n,e):Sye(n,e)}function oSn(n,e){sbe.call(this,n,n.length,e)}function Jae(n,e){Uf||e&&(n.d=e)}function sSn(n,e){return D(e,15)&&xqn(n.c,e)}function Qae(n,e,t){return u(n.c,71).Wk(e,t)}function UC(n,e,t){return u(n.c,71).Xk(e,t)}function Yae(n,e,t){return oae(n,u(e,343),t)}function PV(n,e,t){return sae(n,u(e,343),t)}function Zae(n,e,t){return PKn(n,u(e,343),t)}function fSn(n,e,t){return _ye(n,u(e,343),t)}function x6(n,e){return e==null?null:tw(n.b,e)}function IV(n){return $b(n)?(Jn(n),n):n.ue()}function GC(n){return!isNaN(n)&&!isFinite(n)}function $L(n){jTn(this),vo(this),Bi(this,n)}function _u(n){pL(this),zV(this.c,0,n.Pc())}function _o(n,e,t){this.a=n,this.b=e,this.c=t}function hSn(n,e,t){this.a=n,this.b=e,this.c=t}function lSn(n,e,t){this.d=n,this.b=t,this.a=e}function aSn(n){this.a=n,fl(),vc(Date.now())}function dSn(n){bo(n.a),GJ(n.c,n.b),n.b=null}function xL(){xL=F,Oun=new $0n,AQn=new x0n}function bSn(){bSn=F,Ioe=K(ki,Bn,1,0,5,1)}function wSn(){wSn=F,Voe=K(ki,Bn,1,0,5,1)}function OV(){OV=F,Woe=K(ki,Bn,1,0,5,1)}function oh(){oh=F,new KG((Dn(),Dn(),sr))}function nde(n){return B4(),Ee((yNn(),IQn),n)}function ede(n){return Gu(),Ee((lNn(),xQn),n)}function tde(n){return YT(),Ee((JDn(),HQn),n)}function ide(n){return cT(),Ee((QDn(),qQn),n)}function rde(n){return NA(),Ee((Jxn(),UQn),n)}function cde(n){return wf(),Ee((fNn(),XQn),n)}function ude(n){return Uu(),Ee((sNn(),WQn),n)}function ode(n){return bu(),Ee((hNn(),QQn),n)}function sde(n){return VA(),Ee((zMn(),kYn),n)}function fde(n){return N0(),Ee((ENn(),jYn),n)}function hde(n){return Vp(),Ee((MNn(),CYn),n)}function lde(n){return A5(),Ee((CNn(),AYn),n)}function ade(n){return YE(),Ee((jDn(),SYn),n)}function dde(n){return uT(),Ee((YDn(),GYn),n)}function bde(n){return i5(),Ee((aNn(),pZn),n)}function wde(n){return Vi(),Ee((u$n(),yZn),n)}function gde(n){return nm(),Ee((ANn(),TZn),n)}function pde(n){return dd(),Ee((TNn(),DZn),n)}function DV(n,e){if(!n)throw M(new Gn(e))}function v4(n){if(!n)throw M(new Or(btn))}function FL(n,e){if(n!=e)throw M(new Bo)}function gSn(n,e,t){this.a=n,this.b=e,this.c=t}function LV(n,e,t){this.a=n,this.b=e,this.c=t}function pSn(n,e,t){this.a=n,this.b=e,this.c=t}function zC(n,e,t){this.b=n,this.a=e,this.c=t}function NV(n,e,t){this.b=n,this.c=e,this.a=t}function $V(n,e,t){this.a=n,this.b=e,this.c=t}function XC(n,e,t){this.e=e,this.b=n,this.d=t}function mSn(n,e,t){this.b=n,this.a=e,this.c=t}function mde(n,e,t){return Va(),n.a.Yd(e,t),e}function BL(n){var e;return e=new ubn,e.e=n,e}function xV(n){var e;return e=new qyn,e.b=n,e}function $7(){$7=F,CP=new sgn,MP=new fgn}function VC(){VC=F,XZn=new xgn,zZn=new Fgn}function Fs(){Fs=F,YZn=new G2n,ZZn=new z2n}function vde(n){return D0(),Ee((qLn(),fne),n)}function kde(n){return tr(),Ee((XMn(),HZn),n)}function yde(n){return OT(),Ee((PNn(),GZn),n)}function jde(n){return xf(),Ee((SNn(),tne),n)}function Ede(n){return ow(),Ee((o$n(),rne),n)}function Cde(n){return DA(),Ee(($xn(),hne),n)}function Mde(n){return Yp(),Ee((D$n(),lne),n)}function Tde(n){return QM(),Ee((cLn(),ane),n)}function Ade(n){return u5(),Ee((_Ln(),dne),n)}function Sde(n){return bT(),Ee((HLn(),bne),n)}function Pde(n){return o1(),Ee((s$n(),wne),n)}function Ide(n){return pk(),Ee((eLn(),gne),n)}function Ode(n){return jm(),Ee(($$n(),jne),n)}function Dde(n){return pr(),Ee((aFn(),Ene),n)}function Lde(n){return Z4(),Ee((GLn(),Cne),n)}function Nde(n){return vl(),Ee((zLn(),Tne),n)}function $de(n){return KM(),Ee((nLn(),Ane),n)}function xde(n){return Jk(),Ee((N$n(),yne),n)}function Fde(n){return hd(),Ee((ULn(),mne),n)}function Bde(n){return vA(),Ee((L$n(),vne),n)}function Rde(n){return hk(),Ee((tLn(),kne),n)}function Kde(n){return Yo(),Ee((h$n(),Sne),n)}function _de(n){return a1(),Ee((Xxn(),Yte),n)}function Hde(n){return g5(),Ee((XLn(),Zte),n)}function qde(n){return cw(),Ee((INn(),nie),n)}function Ude(n){return T5(),Ee((f$n(),eie),n)}function Gde(n){return ps(),Ee((dFn(),tie),n)}function zde(n){return lh(),Ee((ONn(),iie),n)}function Xde(n){return wk(),Ee((iLn(),rie),n)}function Vde(n){return gr(),Ee((JLn(),uie),n)}function Wde(n){return ST(),Ee((VLn(),oie),n)}function Jde(n){return d5(),Ee((WLn(),sie),n)}function Qde(n){return om(),Ee((QLn(),fie),n)}function Yde(n){return dT(),Ee((YLn(),hie),n)}function Zde(n){return DT(),Ee((ZLn(),lie),n)}function n0e(n){return O0(),Ee((oNn(),Aie),n)}function e0e(n){return n5(),Ee((rLn(),Die),n)}function t0e(n){return fh(),Ee((sLn(),Rie),n)}function i0e(n){return Pf(),Ee((fLn(),_ie),n)}function r0e(n){return af(),Ee((hLn(),tre),n)}function c0e(n){return M0(),Ee((lLn(),fre),n)}function u0e(n){return Qp(),Ee((BNn(),hre),n)}function o0e(n){return q5(),Ee((VMn(),lre),n)}function s0e(n){return b5(),Ee((nNn(),are),n)}function f0e(n){return w5(),Ee((FNn(),$re),n)}function h0e(n){return FM(),Ee((uLn(),xre),n)}function l0e(n){return yT(),Ee((oLn(),_re),n)}function a0e(n){return wA(),Ee((l$n(),qre),n)}function d0e(n){return Ok(),Ee((eNn(),Gre),n)}function b0e(n){return ZM(),Ee((aLn(),Ure),n)}function w0e(n){return sA(),Ee((xNn(),lce),n)}function g0e(n){return AT(),Ee((tNn(),ace),n)}function p0e(n){return XT(),Ee((iNn(),dce),n)}function m0e(n){return rA(),Ee((rNn(),wce),n)}function v0e(n){return _T(),Ee((cNn(),mce),n)}function k0e(n){return GM(),Ee((dLn(),Rce),n)}function y0e(n){return V4(),Ee((ZDn(),_Zn),n)}function j0e(n){return Vn(),Ee((x$n(),xZn),n)}function E0e(n){return nT(),Ee((uNn(),Kce),n)}function C0e(n){return N$(),Ee((bLn(),_ce),n)}function M0e(n){return R5(),Ee((a$n(),qce),n)}function T0e(n){return eC(),Ee((IDn(),Gce),n)}function A0e(n){return Fk(),Ee((bNn(),Uce),n)}function S0e(n){return tC(),Ee((ODn(),Xce),n)}function P0e(n){return ck(),Ee((wLn(),Vce),n)}function I0e(n){return Yk(),Ee((d$n(),Wce),n)}function O0e(n){return f6(),Ee((DDn(),lue),n)}function D0e(n){return Ak(),Ee((gLn(),aue),n)}function L0e(n){return pf(),Ee((w$n(),mue),n)}function N0e(n){return l1(),Ee((Lxn(),kue),n)}function $0e(n){return Rh(),Ee((F$n(),yue),n)}function x0e(n){return wd(),Ee((B$n(),Aue),n)}function F0e(n){return ci(),Ee((b$n(),zue),n)}function B0e(n){return $f(),Ee((wNn(),Xue),n)}function R0e(n){return El(),Ee((RNn(),Vue),n)}function K0e(n){return pA(),Ee((R$n(),Wue),n)}function _0e(n){return jl(),Ee((dNn(),Que),n)}function H0e(n){return To(),Ee((KNn(),Zue),n)}function q0e(n){return lw(),Ee((Wxn(),noe),n)}function U0e(n){return Bg(),Ee((g$n(),eoe),n)}function G0e(n){return Oi(),Ee((K$n(),toe),n)}function z0e(n){return zu(),Ee((_$n(),ioe),n)}function X0e(n){return en(),Ee((p$n(),roe),n)}function V0e(n){return go(),Ee((_Nn(),foe),n)}function W0e(n){return io(),Ee((Vxn(),hoe),n)}function J0e(n){return Gp(),Ee((gNn(),loe),n)}function Q0e(n,e){return Jn(n),n+(Jn(e),e)}function Y0e(n){return RL(),Ee((pLn(),aoe),n)}function Z0e(n){return qT(),Ee((HNn(),doe),n)}function nbe(n){return LT(),Ee((qNn(),goe),n)}function k4(){k4=F,tln=(en(),Wn),II=Zn}function RL(){RL=F,vdn=new VSn,kdn=new LPn}function ebe(n){return!n.e&&(n.e=new Z),n.e}function KL(n,e){this.c=n,this.a=e,this.b=e-n}function vSn(n,e,t){this.a=n,this.b=e,this.c=t}function _L(n,e,t){this.a=n,this.b=e,this.c=t}function FV(n,e,t){this.a=n,this.b=e,this.c=t}function BV(n,e,t){this.a=n,this.b=e,this.c=t}function kSn(n,e,t){this.a=n,this.b=e,this.c=t}function ySn(n,e,t){this.a=n,this.b=e,this.c=t}function Xl(n,e,t){this.e=n,this.a=e,this.c=t}function jSn(n,e,t){Ko(),tJ.call(this,n,e,t)}function HL(n,e,t){Ko(),RW.call(this,n,e,t)}function RV(n,e,t){Ko(),RW.call(this,n,e,t)}function KV(n,e,t){Ko(),RW.call(this,n,e,t)}function ESn(n,e,t){Ko(),HL.call(this,n,e,t)}function _V(n,e,t){Ko(),HL.call(this,n,e,t)}function CSn(n,e,t){Ko(),_V.call(this,n,e,t)}function MSn(n,e,t){Ko(),RV.call(this,n,e,t)}function TSn(n,e,t){Ko(),KV.call(this,n,e,t)}function qL(n){rM.call(this,n.d,n.c,n.a,n.b)}function HV(n){rM.call(this,n.d,n.c,n.a,n.b)}function qV(n){this.d=n,c9n(this),this.b=nwe(n.d)}function tbe(n){return Cm(),Ee((Nxn(),Poe),n)}function x7(n,e){return Se(n),Se(e),new NEn(n,e)}function Cp(n,e){return Se(n),Se(e),new RSn(n,e)}function ibe(n,e){return Se(n),Se(e),new KSn(n,e)}function rbe(n,e){return Se(n),Se(e),new qEn(n,e)}function UL(n){return oe(n.b!=0),Xo(n,n.a.a)}function cbe(n){return oe(n.b!=0),Xo(n,n.c.b)}function ube(n){return!n.c&&(n.c=new W3),n.c}function y4(n){var e;return e=new Z,b$(e,n),e}function obe(n){var e;return e=new ni,b$(e,n),e}function ASn(n){var e;return e=new GG,A$(e,n),e}function F7(n){var e;return e=new Ct,A$(e,n),e}function u(n,e){return F6(n==null||Tx(n,e)),n}function sbe(n,e,t){TPn.call(this,e,t),this.a=n}function SSn(n,e){this.c=n,this.b=e,this.a=!1}function PSn(){this.a=";,;",this.b="",this.c=""}function ISn(n,e,t){this.b=n,_Mn.call(this,e,t)}function UV(n,e,t){this.c=n,oC.call(this,e,t)}function GV(n,e,t){d4.call(this,n,e),this.b=t}function zV(n,e,t){Bnn(t,0,n,e,t.length,!1)}function Lh(n,e,t,i,r){n.b=e,n.c=t,n.d=i,n.a=r}function XV(n,e,t,i,r){n.d=e,n.c=t,n.a=i,n.b=r}function fbe(n,e){e&&(n.b=e,n.a=(X1(e),e.a))}function B7(n,e){if(!n)throw M(new Gn(e))}function Mp(n,e){if(!n)throw M(new Or(e))}function VV(n,e){if(!n)throw M(new Bjn(e))}function hbe(n,e){return ZE(),jc(n.d.p,e.d.p)}function lbe(n,e){return kl(),bt(n.e.b,e.e.b)}function abe(n,e){return kl(),bt(n.e.a,e.e.a)}function dbe(n,e){return jc(GSn(n.d),GSn(e.d))}function WC(n,e){return e&&vM(n,e.d)?e:null}function bbe(n,e){return e==(en(),Wn)?n.c:n.d}function WV(n){return Y1(dwe(Vr(n)?ds(n):n))}function wbe(n){return new V(n.c+n.b,n.d+n.a)}function OSn(n){return n!=null&&!lx(n,N9,$9)}function gbe(n,e){return(fBn(n)<<4|fBn(e))&ui}function DSn(n,e,t,i,r){n.c=e,n.d=t,n.b=i,n.a=r}function JV(n){var e,t;e=n.b,t=n.c,n.b=t,n.c=e}function QV(n){var e,t;t=n.d,e=n.a,n.d=e,n.a=t}function pbe(n,e){var t;return t=n.c,PQ(n,e),t}function YV(n,e){return e<0?n.g=-1:n.g=e,n}function JC(n,e){return Mme(n),n.a*=e,n.b*=e,n}function LSn(n,e,t){A$n.call(this,e,t),this.d=n}function R7(n,e,t){pX.call(this,n,e),this.c=t}function QC(n,e,t){pX.call(this,n,e),this.c=t}function ZV(n){OV(),ME.call(this),this.ci(n)}function NSn(){$4(),Bwe.call(this,(R1(),Ps))}function $Sn(n){return nt(),new Nh(0,n)}function xSn(){xSn=F,AU=(Dn(),new nD(IK))}function YC(){YC=F,new hZ((bD(),HK),(dD(),_K))}function FSn(){FSn=F,pun=K(Gi,J,17,256,0,1)}function BSn(){this.b=$(R(rn((Us(),y_))))}function GL(n){this.b=n,this.a=Ja(this.b.a).Od()}function RSn(n,e){this.b=n,this.a=e,GO.call(this)}function KSn(n,e){this.a=n,this.b=e,GO.call(this)}function _Sn(n,e,t){this.a=n,pg.call(this,e,t)}function HSn(n,e,t){this.a=n,pg.call(this,e,t)}function j4(n,e,t){var i;i=new qb(t),bf(n,e,i)}function nW(n,e,t){var i;return i=n[e],n[e]=t,i}function ZC(n){var e;return e=n.slice(),o$(e,n)}function nM(n){var e;return e=n.n,n.a.b+e.d+e.a}function qSn(n){var e;return e=n.n,n.e.b+e.d+e.a}function eW(n){var e;return e=n.n,n.e.a+e.b+e.c}function tW(n){n.a.b=n.b,n.b.a=n.a,n.a=n.b=null}function Fe(n,e){return xt(n,e,n.c.b,n.c),!0}function mbe(n){return n.a?n.a:vN(n)}function vbe(n){return Lp(),Kh(n)==At(ra(n))}function kbe(n){return Lp(),ra(n)==At(Kh(n))}function d0(n,e){return O5(n,new d4(e.a,e.b))}function ybe(n,e){return yM(),Nx(n,e),new lIn(n,e)}function jbe(n,e){return n.c=e)throw M(new YG)}function _b(n,e){return $k(n,(Jn(e),new a9n(e)))}function Ap(n,e){return $k(n,(Jn(e),new d9n(e)))}function SPn(n,e,t){return VLe(n,u(e,12),u(t,12))}function PPn(n){return Ou(),u(n,12).g.c.length!=0}function IPn(n){return Ou(),u(n,12).e.c.length!=0}function uwe(n,e){return Hp(),bt(e.a.o.a,n.a.o.a)}function owe(n,e){e.Bb&kc&&!n.a.o&&(n.a.o=e)}function swe(n,e){e.Ug("General 'Rotator",1),jDe(n)}function fwe(n,e,t){e.qf(t,$(R(ee(n.b,t)))*n.a)}function OPn(n,e,t){return Vg(),W4(n,e)&&W4(n,t)}function _6(n){return zu(),!n.Hc(Fl)&&!n.Hc(Ia)}function hwe(n){return n.e?qJ(n.e):null}function H6(n){return Vr(n)?""+n:$qn(n)}function yW(n){var e;for(e=n;e.f;)e=e.f;return e}function lwe(n,e,t){return $t(e,0,oW(e[0],t[0])),e}function Vl(n,e,t,i){var r;r=n.i,r.i=e,r.a=t,r.b=i}function q(n,e,t,i){ti.call(this,n,e,t),this.b=i}function Ci(n,e,t,i,r){c$.call(this,n,e,t,i,r,-1)}function q6(n,e,t,i,r){ok.call(this,n,e,t,i,r,-1)}function bM(n,e,t,i){R7.call(this,n,e,t),this.b=i}function DPn(n){PMn.call(this,n,!1),this.a=!1}function LPn(){sMn.call(this,"LOOKAHEAD_LAYOUT",1)}function NPn(n){this.b=n,kp.call(this,n),RTn(this)}function $Pn(n){this.b=n,A7.call(this,n),KTn(this)}function Hb(n,e,t){this.a=n,jp.call(this,e,t,5,6)}function jW(n,e,t,i){this.b=n,ti.call(this,e,t,i)}function xPn(n,e){this.b=n,H8n.call(this,n.b),this.a=e}function FPn(n){this.a=kRn(n.a),this.b=new _u(n.b)}function EW(n,e){m0(),Hhe.call(this,n,FT(new Ku(e)))}function wM(n,e){return nt(),new BW(n,e,0)}function rN(n,e){return nt(),new BW(6,n,e)}function _i(n,e){for(Jn(e);n.Ob();)e.Cd(n.Pb())}function Zc(n,e){return Ai(e)?AN(n,e):!!wr(n.f,e)}function cN(n,e){return e.Vh()?ea(n.b,u(e,54)):e}function awe(n,e){return An(n.substr(0,e.length),e)}function $h(n){return new ie(new UX(n.a.length,n.a))}function gM(n){return new V(n.c+n.b/2,n.d+n.a/2)}function dwe(n){return Yc(~n.l&ro,~n.m&ro,~n.h&Il)}function uN(n){return typeof n===vy||typeof n===eB}function Hu(n){n.f=new iTn(n),n.i=new rTn(n),++n.g}function BPn(n){if(!n)throw M(new nc);return n.d}function Sp(n){var e;return e=a5(n),oe(e!=null),e}function bwe(n){var e;return e=I5e(n),oe(e!=null),e}function C4(n,e){var t;return t=n.a.gc(),BJ(e,t),t-e}function fi(n,e){var t;return t=n.a.zc(e,n),t==null}function _7(n,e){return n.a.zc(e,(_n(),ga))==null}function CW(n){return new Tn(null,vwe(n,n.length))}function MW(n,e,t){return cGn(n,u(e,42),u(t,176))}function Pp(n,e,t){return _s(n.a,e),nW(n.b,e.g,t)}function wwe(n,e,t){E4(t,n.a.c.length),Go(n.a,t,e)}function B(n,e,t,i){xFn(e,t,n.length),gwe(n,e,t,i)}function gwe(n,e,t,i){var r;for(r=e;r0?y.Math.log(n/e):-100}function KPn(n,e){return Ec(n,e)<0?-1:Ec(n,e)>0?1:0}function H7(n,e){OTn(n,D(e,160)?e:u(e,2036).Rl())}function PW(n,e){if(n==null)throw M(new fp(e))}function vwe(n,e){return yme(e,n.length),new XSn(n,e)}function IW(n,e){return e?Bi(n,e):!1}function kwe(){return RE(),A(T(uQn,1),G,549,0,[GK])}function G6(n){return n.e==0?n:new Ya(-n.e,n.d,n.a)}function ywe(n,e){return bt(n.c.c+n.c.b,e.c.c+e.c.b)}function q7(n,e){xt(n.d,e,n.b.b,n.b),++n.a,n.c=null}function _Pn(n,e){return n.c?_Pn(n.c,e):nn(n.b,e),n}function jwe(n,e,t){var i;return i=Jb(n,e),qN(n,e,t),i}function HPn(n,e,t){var i;for(i=0;i=n.g}function $t(n,e,t){return dae(t==null||oPe(n,t)),n[e]=t}function $W(n,e){return zn(e,n.length+1),n.substr(e)}function gN(n,e){for(Jn(e);n.c=n?new Dz:Gme(n-1)}function Hi(n){return!n.a&&n.c?n.c.b:n.a}function KW(n){return D(n,616)?n:new oOn(n)}function X1(n){n.c?X1(n.c):(ta(n),n.d=!0)}function V6(n){n.c?n.c.$e():(n.d=!0,fTe(n))}function sIn(n){n.b=!1,n.c=!1,n.d=!1,n.a=!1}function fIn(n){var e,t;return e=n.c.i.c,t=n.d.i.c,e==t}function _we(n,e){var t;t=n.Ih(e),t>=0?n.ki(t):Pnn(n,e)}function hIn(n,e){n.c<0||n.b.b0;)n=n<<1|(n<0?1:0);return n}function mIn(n,e){var t;return t=new Lc(n),Kn(e.c,t),t}function vIn(n,e){n.u.Hc((zu(),Fl))&&zEe(n,e),h4e(n,e)}function mc(n,e){return x(n)===x(e)||n!=null&&rt(n,e)}function Cr(n,e){return JL(n.a,e)?n.b[u(e,22).g]:null}function nge(){return YE(),A(T(oon,1),G,489,0,[b_])}function ege(){return eC(),A(T($1n,1),G,490,0,[Bq])}function tge(){return tC(),A(T(zce,1),G,558,0,[Rq])}function ige(){return f6(),A(T(tan,1),G,539,0,[Hj])}function jM(n){return!n.n&&(n.n=new q(Ar,n,1,7)),n.n}function mN(n){return!n.c&&(n.c=new q(Qu,n,9,9)),n.c}function UW(n){return!n.c&&(n.c=new Nn(he,n,5,8)),n.c}function rge(n){return!n.b&&(n.b=new Nn(he,n,4,7)),n.b}function U7(n){return n.j.c.length=0,zW(n.c),xae(n.a),n}function P4(n){return n.e==rv&&jfe(n,Y8e(n.g,n.b)),n.e}function G7(n){return n.f==rv&&Cfe(n,q7e(n.g,n.b)),n.f}function We(n,e,t,i){return Hxn(n,e,t,!1),BT(n,i),n}function kIn(n,e){this.b=n,oN.call(this,n,e),RTn(this)}function yIn(n,e){this.b=n,SV.call(this,n,e),KTn(this)}function W6(n){this.d=n,this.a=this.d.b,this.b=this.d.c}function GW(n,e){this.b=n,this.c=e,this.a=new dp(this.b)}function Xi(n,e){return zn(e,n.length),n.charCodeAt(e)}function cge(n,e){DY(n,$(yl(e,"x")),$(yl(e,"y")))}function uge(n,e){DY(n,$(yl(e,"x")),$(yl(e,"y")))}function ut(n,e){return ta(n),new Tn(n,new tQ(e,n.a))}function _r(n,e){return ta(n),new Tn(n,new _J(e,n.a))}function Ub(n,e){return ta(n),new uV(n,new ILn(e,n.a))}function EM(n,e){return ta(n),new oV(n,new OLn(e,n.a))}function oge(n,e){return new GIn(u(Se(n),50),u(Se(e),50))}function sge(n,e){return bt(n.d.c+n.d.b/2,e.d.c+e.d.b/2)}function jIn(n,e,t){t.a?tu(n,e.b-n.f/2):eu(n,e.a-n.g/2)}function fge(n,e){return bt(n.g.c+n.g.b/2,e.g.c+e.g.b/2)}function hge(n,e){return $z(),bt((Jn(n),n),(Jn(e),e))}function lge(n){return n!=null&&r7(jO,n.toLowerCase())}function zW(n){var e;for(e=n.Kc();e.Ob();)e.Pb(),e.Qb()}function Ag(n){var e;return e=n.b,!e&&(n.b=e=new N8n(n)),e}function vN(n){var e;return e=Wme(n),e||null}function EIn(n,e){var t,i;return t=n/e,i=wi(t),t>i&&++i,i}function age(n,e,t){var i;i=u(n.d.Kb(t),159),i&&i.Nb(e)}function dge(n,e,t){wIe(n.a,t),zve(t),xCe(n.b,t),$Ie(e,t)}function CM(n,e,t,i){this.a=n,this.c=e,this.b=t,this.d=i}function XW(n,e,t,i){this.c=n,this.b=e,this.a=t,this.d=i}function CIn(n,e,t,i){this.c=n,this.b=e,this.d=t,this.a=i}function Ho(n,e,t,i){this.c=n,this.d=e,this.b=t,this.a=i}function MIn(n,e,t,i){this.a=n,this.d=e,this.c=t,this.b=i}function kN(n,e,t,i){this.a=n,this.e=e,this.d=t,this.c=i}function TIn(n,e,t,i){this.a=n,this.c=e,this.d=t,this.b=i}function yN(n,e,t){this.a=ktn,this.d=n,this.b=e,this.c=t}function Op(n,e,t,i){je.call(this,n,e),this.a=t,this.b=i}function AIn(n,e){this.d=(Jn(n),n),this.a=16449,this.c=e}function SIn(n){this.a=new Z,this.e=K(ye,J,53,n,0,2)}function bge(n){n.Ug("No crossing minimization",1),n.Vg()}function PIn(){ec.call(this,"There is no more element.")}function IIn(n,e,t,i){this.a=n,this.b=e,this.c=t,this.d=i}function OIn(n,e,t,i){this.a=n,this.b=e,this.c=t,this.d=i}function Za(n,e,t,i){this.e=n,this.a=e,this.c=t,this.d=i}function DIn(n,e,t,i){this.a=n,this.c=e,this.d=t,this.b=i}function LIn(n,e,t,i){Ko(),DLn.call(this,e,t,i),this.a=n}function NIn(n,e,t,i){Ko(),DLn.call(this,e,t,i),this.a=n}function jN(n,e,t){var i,r;return i=utn(n),r=e.ti(t,i),r}function al(n){var e,t;return t=(e=new Jd,e),K4(t,n),t}function EN(n){var e,t;return t=(e=new Jd,e),fnn(t,n),t}function wge(n,e){var t;return t=ee(n.f,e),HQ(e,t),null}function $In(n){return!n.b&&(n.b=new q(Vt,n,12,3)),n.b}function xIn(n){return F6(n==null||uN(n)&&n.Tm!==Q2),n}function MM(n){return n.n&&(n.e!==Fzn&&n.je(),n.j=null),n}function I4(n){if(eo(n.d),n.d.d!=n.c)throw M(new Bo)}function VW(n){return oe(n.b0&&bKn(this)}function FIn(n,e){this.a=n,bae.call(this,n,u(n.d,15).fd(e))}function gge(n,e){return bt(Su(n)*ao(n),Su(e)*ao(e))}function pge(n,e){return bt(Su(n)*ao(n),Su(e)*ao(e))}function mge(n){return _0(n)&&on(un(z(n,(cn(),Nd))))}function vge(n,e){return Pn(n,u(v(e,(cn(),Cv)),17),e)}function kge(n,e){return u(v(n,(W(),T3)),15).Fc(e),e}function WW(n,e){return n.b=e.b,n.c=e.c,n.d=e.d,n.a=e.a,n}function BIn(n,e,t,i){this.b=n,this.c=i,IC.call(this,e,t)}function yge(n,e,t){n.i=0,n.e=0,e!=t&&yFn(n,e,t)}function jge(n,e,t){n.i=0,n.e=0,e!=t&&jFn(n,e,t)}function Ege(n,e,t){return s6(),J5e(u(ee(n.e,e),529),t)}function Dp(n){var e;return e=n.f,e||(n.f=new h4(n,n.c))}function RIn(n,e){return Fg(n.j,e.s,e.c)+Fg(e.e,n.s,n.c)}function KIn(n,e){n.e&&!n.e.a&&(Ayn(n.e,e),KIn(n.e,e))}function _In(n,e){n.d&&!n.d.a&&(Ayn(n.d,e),_In(n.d,e))}function Cge(n,e){return-bt(Su(n)*ao(n),Su(e)*ao(e))}function Mge(n){return u(n.ld(),149).Pg()+":"+Jr(n.md())}function HIn(){tF(this,new oG),this.wb=(G1(),Hn),o4()}function qIn(n){this.b=new Z,hi(this.b,this.b),this.a=n}function JW(n,e){new Ct,this.a=new Mu,this.b=n,this.c=e}function j0(){j0=F,Pun=new FU,ZK=new FU,Iun=new D0n}function Dn(){Dn=F,sr=new A0n,Wh=new P0n,hP=new I0n}function QW(){QW=F,RQn=new nbn,_Qn=new aW,KQn=new ebn}function Lp(){Lp=F,mP=new Z,m_=new de,p_=new Z}function TM(n,e){if(n==null)throw M(new fp(e));return n}function AM(n){return!n.a&&(n.a=new q(Ye,n,10,11)),n.a}function ft(n){return!n.q&&(n.q=new q(Ss,n,11,10)),n.q}function H(n){return!n.s&&(n.s=new q(ku,n,21,17)),n.s}function Tge(n){return Se(n),IRn(new ie(ce(n.a.Kc(),new En)))}function Age(n,e){return wo(n),wo(e),Fjn(u(n,22),u(e,22))}function nd(n,e,t){var i,r;i=IV(t),r=new AE(i),bf(n,e,r)}function MN(n,e,t,i,r,c){ok.call(this,n,e,t,i,r,c?-2:-1)}function UIn(n,e,t,i){pX.call(this,e,t),this.b=n,this.a=i}function GIn(n,e){Vfe.call(this,new iN(n)),this.a=n,this.b=e}function YW(n){this.b=n,this.c=n,n.e=null,n.c=null,this.a=1}function Sge(n){Fs();var e;e=u(n.g,10),e.n.a=n.d.c+e.d.b}function O4(){O4=F;var n,e;e=!$8e(),n=new V3,VK=e?new og:n}function TN(n){return Dn(),D(n,59)?new jD(n):new BC(n)}function SM(n){return D(n,16)?new B6(u(n,16)):obe(n.Kc())}function Pge(n){return new HTn(n,n.e.Rd().gc()*n.c.Rd().gc())}function Ige(n){return new qTn(n,n.e.Rd().gc()*n.c.Rd().gc())}function ZW(n){return n&&n.hashCode?n.hashCode():l0(n)}function AN(n,e){return e==null?!!wr(n.f,null):zbe(n.i,e)}function Oge(n,e){var t;return t=$X(n.a,e),t&&(e.d=null),t}function zIn(n,e,t){return n.f?n.f.ef(e,t):!1}function z7(n,e,t,i){$t(n.c[e.g],t.g,i),$t(n.c[t.g],e.g,i)}function SN(n,e,t,i){$t(n.c[e.g],e.g,t),$t(n.b[e.g],e.g,i)}function Dge(n,e,t){return $(R(t.a))<=n&&$(R(t.b))>=e}function XIn(n,e){this.g=n,this.d=A(T(Qh,1),b1,10,0,[e])}function VIn(n){this.c=n,this.b=new Ul(u(Se(new tbn),50))}function WIn(n){this.c=n,this.b=new Ul(u(Se(new ewn),50))}function JIn(n){this.b=n,this.a=new Ul(u(Se(new Nbn),50))}function QIn(){this.b=new ni,this.d=new Ct,this.e=new ZG}function nJ(){this.c=new Li,this.d=new Li,this.e=new Li}function E0(){this.a=new Mu,this.b=(Co(3,mw),new Gc(3))}function Wl(n,e){this.e=n,this.a=ki,this.b=Qqn(e),this.c=e}function PM(n){this.c=n.c,this.d=n.d,this.b=n.b,this.a=n.a}function YIn(n,e,t,i,r,c){this.a=n,k$.call(this,e,t,i,r,c)}function ZIn(n,e,t,i,r,c){this.a=n,k$.call(this,e,t,i,r,c)}function V1(n,e,t,i,r,c,s){return new GN(n.e,e,t,i,r,c,s)}function Lge(n,e,t){return t>=0&&An(n.substr(t,e.length),e)}function nOn(n,e){return D(e,149)&&An(n.b,u(e,149).Pg())}function Nge(n,e){return n.a?e.Gh().Kc():u(e.Gh(),71).Ii()}function eOn(n,e){var t;return t=n.b.Qc(e),WDn(t,n.b.gc()),t}function X7(n,e){if(n==null)throw M(new fp(e));return n}function Hr(n){return n.u||(Zu(n),n.u=new NAn(n,n)),n.u}function PN(n){this.a=(Dn(),D(n,59)?new jD(n):new BC(n))}function au(n){var e;return e=u(Un(n,16),29),e||n.ii()}function IM(n,e){var t;return t=Xa(n.Rm),e==null?t:t+": "+e}function qo(n,e,t){return Fi(e,t,n.length),n.substr(e,t-e)}function tOn(n,e){qC.call(this),lQ(this),this.a=n,this.c=e}function $ge(n){n&&IM(n,n.ie())}function xge(n){HE(),y.setTimeout(function(){throw n},0)}function Fge(){return YT(),A(T(Bun,1),G,436,0,[o_,Fun])}function Bge(){return cT(),A(T(Kun,1),G,435,0,[Run,s_])}function Rge(){return uT(),A(T(bon,1),G,432,0,[v_,vP])}function Kge(){return V4(),A(T(KZn,1),G,517,0,[dj,L_])}function _ge(){return KM(),A(T(Qsn,1),G,429,0,[fH,Jsn])}function Hge(){return pk(),A(T($sn,1),G,428,0,[WP,Nsn])}function qge(){return QM(),A(T(Asn,1),G,431,0,[Tsn,V_])}function Uge(){return wk(),A(T(qhn,1),G,430,0,[UH,GH])}function Gge(){return n5(),A(T(Oie,1),G,531,0,[r9,i9])}function zge(){return yT(),A(T(Rln,1),G,501,0,[RI,L2])}function Xge(){return fh(),A(T(Bie,1),G,523,0,[mb,y1])}function Vge(){return Pf(),A(T(Kie,1),G,522,0,[Rd,Xf])}function Wge(){return af(),A(T(ere,1),G,528,0,[zw,Ea])}function Jge(){return hk(),A(T(Bsn,1),G,488,0,[Fsn,QP])}function Qge(){return GM(),A(T(S1n,1),G,491,0,[$q,A1n])}function Yge(){return N$(),A(T(N1n,1),G,492,0,[D1n,L1n])}function Zge(){return FM(),A(T(Bln,1),G,433,0,[dq,Fln])}function n2e(){return ZM(),A(T(_ln,1),G,434,0,[Kln,vq])}function e2e(){return M0(),A(T(sre,1),G,465,0,[Ca,I2])}function t2e(){return ck(),A(T(x1n,1),G,438,0,[Kq,JI])}function i2e(){return Ak(),A(T(ran,1),G,437,0,[YI,ian])}function r2e(){return RL(),A(T(dO,1),G,347,0,[vdn,kdn])}function OM(n,e,t,i){return t>=0?n.Uh(e,t,i):n.Ch(null,t,i)}function V7(n){return n.b.b==0?n.a.sf():UL(n.b)}function c2e(n){if(n.p!=5)throw M(new Cu);return Ae(n.f)}function u2e(n){if(n.p!=5)throw M(new Cu);return Ae(n.k)}function eJ(n){return x(n.a)===x((D$(),CU))&&rOe(n),n.a}function o2e(n,e){n.b=e,n.c>0&&n.b>0&&(n.g=cM(n.c,n.b,n.a))}function s2e(n,e){n.c=e,n.c>0&&n.b>0&&(n.g=cM(n.c,n.b,n.a))}function iOn(n,e){ufe(this,new V(n.a,n.b)),ofe(this,F7(e))}function C0(){Wfe.call(this,new ap(Qb(12))),KX(!0),this.a=2}function IN(n,e,t){nt(),Wd.call(this,n),this.b=e,this.a=t}function tJ(n,e,t){Ko(),LE.call(this,e),this.a=n,this.b=t}function rOn(n){var e;e=n.c.d.b,n.b=e,n.a=n.c.d,e.a=n.c.d.b=n}function f2e(n){return n.b==0?null:(oe(n.b!=0),Xo(n,n.a.a))}function Nc(n,e){return e==null?Kr(wr(n.f,null)):d6(n.i,e)}function cOn(n,e,t,i,r){return new rF(n,(B4(),i_),e,t,i,r)}function DM(n,e){return zDn(e),Lme(n,K(ye,_e,28,e,15,1),e)}function LM(n,e){return TM(n,"set1"),TM(e,"set2"),new VEn(n,e)}function h2e(n,e){var t=XK[n.charCodeAt(0)];return t??n}function uOn(n,e){var t,i;return t=e,i=new DO,LGn(n,t,i),i.d}function ON(n,e,t,i){var r;r=new FAn,e.a[t.g]=r,Pp(n.b,i,r)}function l2e(n,e){var t;return t=Ime(n.f,e),tt(HC(t),n.f.d)}function W7(n){var e;_me(n.a),dTn(n.a),e=new IE(n.a),HY(e)}function a2e(n,e){_qn(n,!0),nu(n.e.Rf(),new NV(n,!0,e))}function d2e(n,e){return Lp(),n==At(Kh(e))||n==At(ra(e))}function b2e(n,e){return kl(),u(v(e,(lc(),Sh)),17).a==n}function wi(n){return Math.max(Math.min(n,et),-2147483648)|0}function oOn(n){this.a=u(Se(n),277),this.b=(Dn(),new XX(n))}function sOn(n,e,t){this.i=new Z,this.b=n,this.g=e,this.a=t}function iJ(n,e,t){this.a=new Z,this.e=n,this.f=e,this.c=t}function NM(n,e,t){this.c=new Z,this.e=n,this.f=e,this.b=t}function fOn(n){qC.call(this),lQ(this),this.a=n,this.c=!0}function w2e(n){function e(){}return e.prototype=n||{},new e}function g2e(n){if(n.Ae())return null;var e=n.n;return rP[e]}function J7(n){return n.Db>>16!=3?null:u(n.Cb,27)}function Sf(n){return n.Db>>16!=9?null:u(n.Cb,27)}function hOn(n){return n.Db>>16!=6?null:u(n.Cb,74)}function M0(){M0=F,Ca=new cX(s3,0),I2=new cX(f3,1)}function fh(){fh=F,mb=new tX(f3,0),y1=new tX(s3,1)}function Pf(){Pf=F,Rd=new iX(_B,0),Xf=new iX("UP",1)}function lOn(){lOn=F,oQn=Ce((RE(),A(T(uQn,1),G,549,0,[GK])))}function aOn(n){var e;return e=new zE(Qb(n.length)),eY(e,n),e}function dOn(n,e){return n.b+=e.b,n.c+=e.c,n.d+=e.d,n.a+=e.a,n}function p2e(n,e){return Zxn(n,e)?(W$n(n),!0):!1}function dl(n,e){if(e==null)throw M(new rp);return F8e(n,e)}function Q7(n,e){var t;t=n.q.getHours(),n.q.setDate(e),G5(n,t)}function rJ(n,e,t){var i;i=n.Ih(e),i>=0?n.bi(i,t):ten(n,e,t)}function bOn(n,e){var t;return t=n.Ih(e),t>=0?n.Wh(t):hF(n,e)}function wOn(n,e){var t;for(Se(e),t=n.a;t;t=t.c)e.Yd(t.g,t.i)}function DN(n,e,t){var i;i=vFn(n,e,t),n.b=new ET(i.c.length)}function Sg(n,e,t){$M(),n&&Ve(yU,n,e),n&&Ve(hE,n,t)}function m2e(n,e){return VC(),_n(),u(e.a,17).a0}function cJ(n){var e;return e=n.d,e=n.bj(n.f),ve(n,e),e.Ob()}function gOn(n,e){var t;return t=new fW(e),_Kn(t,n),new _u(t)}function y2e(n){if(n.p!=0)throw M(new Cu);return M6(n.f,0)}function j2e(n){if(n.p!=0)throw M(new Cu);return M6(n.k,0)}function pOn(n){return n.Db>>16!=7?null:u(n.Cb,241)}function D4(n){return n.Db>>16!=6?null:u(n.Cb,241)}function mOn(n){return n.Db>>16!=7?null:u(n.Cb,167)}function At(n){return n.Db>>16!=11?null:u(n.Cb,27)}function Gb(n){return n.Db>>16!=17?null:u(n.Cb,29)}function vOn(n){return n.Db>>16!=3?null:u(n.Cb,155)}function uJ(n){var e;return ta(n),e=new ni,ut(n,new M9n(e))}function kOn(n,e){var t=n.a=n.a||[];return t[e]||(t[e]=n.ve(e))}function E2e(n,e){var t;t=n.q.getHours(),n.q.setMonth(e),G5(n,t)}function yOn(n,e){xC(this),this.f=e,this.g=n,MM(this),this.je()}function jOn(n,e){this.a=n,this.c=Ki(this.a),this.b=new PM(e)}function EOn(n,e,t){this.a=e,this.c=n,this.b=(Se(t),new _u(t))}function COn(n,e,t){this.a=e,this.c=n,this.b=(Se(t),new _u(t))}function MOn(n){this.a=n,this.b=K(Sie,J,2043,n.e.length,0,2)}function TOn(){this.a=new rh,this.e=new ni,this.g=0,this.i=0}function $M(){$M=F,yU=new de,hE=new de,ple(MQn,new wvn)}function AOn(){AOn=F,aie=Pu(new ii,(Vi(),zr),(tr(),bj))}function oJ(){oJ=F,die=Pu(new ii,(Vi(),zr),(tr(),bj))}function SOn(){SOn=F,wie=Pu(new ii,(Vi(),zr),(tr(),bj))}function POn(){POn=F,Lie=Ke(new ii,(Vi(),zr),(tr(),x8))}function ko(){ko=F,xie=Ke(new ii,(Vi(),zr),(tr(),x8))}function IOn(){IOn=F,Fie=Ke(new ii,(Vi(),zr),(tr(),x8))}function NN(){NN=F,Hie=Ke(new ii,(Vi(),zr),(tr(),x8))}function J6(n,e,t,i,r,c){return new ml(n.e,e,n.Lj(),t,i,r,c)}function Dr(n,e,t){return e==null?Vc(n.f,null,t):$0(n.i,e,t)}function Zi(n,e){n.c&&du(n.c.g,n),n.c=e,n.c&&nn(n.c.g,n)}function $i(n,e){n.c&&du(n.c.a,n),n.c=e,n.c&&nn(n.c.a,n)}function ic(n,e){n.i&&du(n.i.j,n),n.i=e,n.i&&nn(n.i.j,n)}function Ii(n,e){n.d&&du(n.d.e,n),n.d=e,n.d&&nn(n.d.e,n)}function $N(n,e){n.a&&du(n.a.k,n),n.a=e,n.a&&nn(n.a.k,n)}function xN(n,e){n.b&&du(n.b.f,n),n.b=e,n.b&&nn(n.b.f,n)}function OOn(n,e){$we(n,n.b,n.c),u(n.b.b,68),e&&u(e.b,68).b}function C2e(n,e){return bt(u(n.c,65).c.e.b,u(e.c,65).c.e.b)}function M2e(n,e){return bt(u(n.c,65).c.e.a,u(e.c,65).c.e.a)}function T2e(n){return Y$(),_n(),u(n.a,86).d.e!=0}function xM(n,e){D(n.Cb,184)&&(u(n.Cb,184).tb=null),zc(n,e)}function FN(n,e){D(n.Cb,90)&&hw(Zu(u(n.Cb,90)),4),zc(n,e)}function A2e(n,e){LY(n,e),D(n.Cb,90)&&hw(Zu(u(n.Cb,90)),2)}function S2e(n,e){var t,i;t=e.c,i=t!=null,i&&Ip(n,new qb(e.c))}function DOn(n){var e,t;return t=(o4(),e=new Jd,e),K4(t,n),t}function LOn(n){var e,t;return t=(o4(),e=new Jd,e),K4(t,n),t}function NOn(n){for(var e;;)if(e=n.Pb(),!n.Ob())return e}function P2e(n,e,t){return nn(n.a,(yM(),Nx(e,t),new i0(e,t))),n}function $c(n,e){return dr(),a$(e)?new eM(e,n):new j7(e,n)}function Y7(n){return dh(),Ec(n,0)>=0?ia(n):G6(ia(n1(n)))}function I2e(n){var e;return e=u(ZC(n.b),9),new _o(n.a,e,n.c)}function $On(n,e){var t;return t=u(tw(Dp(n.a),e),16),t?t.gc():0}function xOn(n,e,t){var i;oBn(e,t,n.c.length),i=t-e,Pz(n.c,e,i)}function Jl(n,e,t){oBn(e,t,n.gc()),this.c=n,this.a=e,this.b=t-e}function Np(n){this.c=new Ct,this.b=n.b,this.d=n.c,this.a=n.a}function BN(n){this.a=y.Math.cos(n),this.b=y.Math.sin(n)}function ed(n,e,t,i){this.c=n,this.d=i,$N(this,e),xN(this,t)}function sJ(n,e){Xfe.call(this,new ap(Qb(n))),Co(e,Ozn),this.a=e}function FOn(n,e,t){return new rF(n,(B4(),t_),null,!1,e,t)}function BOn(n,e,t){return new rF(n,(B4(),r_),e,t,null,!1)}function O2e(){return Gu(),A(T(xr,1),G,108,0,[xun,Yr,Aw])}function D2e(){return bu(),A(T(JQn,1),G,472,0,[kf,ma,Xs])}function L2e(){return Uu(),A(T(VQn,1),G,471,0,[Mh,pa,zs])}function N2e(){return wf(),A(T(Sw,1),G,237,0,[bc,Wc,wc])}function $2e(){return i5(),A(T(Pon,1),G,391,0,[E_,j_,C_])}function x2e(){return D0(),A(T(R_,1),G,372,0,[ub,va,cb])}function F2e(){return u5(),A(T(Psn,1),G,322,0,[B8,pj,Ssn])}function B2e(){return bT(),A(T(Osn,1),G,351,0,[Isn,VP,W_])}function R2e(){return hd(),A(T(pne,1),G,460,0,[Y_,mv,m2])}function K2e(){return Z4(),A(T(sH,1),G,299,0,[uH,oH,mj])}function _2e(){return vl(),A(T(Mne,1),G,311,0,[vj,k2,E3])}function H2e(){return g5(),A(T(Lhn,1),G,390,0,[FH,Dhn,MI])}function q2e(){return gr(),A(T(cie,1),G,463,0,[n9,Vu,Jc])}function U2e(){return ST(),A(T(zhn,1),G,387,0,[Uhn,zH,Ghn])}function G2e(){return d5(),A(T(Xhn,1),G,349,0,[VH,XH,Ij])}function z2e(){return om(),A(T(Whn,1),G,350,0,[WH,Vhn,e9])}function X2e(){return dT(),A(T(Yhn,1),G,352,0,[Qhn,JH,Jhn])}function V2e(){return DT(),A(T(Zhn,1),G,388,0,[QH,Ov,Gw])}function W2e(){return O0(),A(T(Tie,1),G,464,0,[Oj,t9,PI])}function If(n){return cc(A(T(Ei,1),J,8,0,[n.i.n,n.n,n.a]))}function J2e(){return b5(),A(T(gln,1),G,392,0,[wln,nq,Lj])}function ROn(){ROn=F,Fre=Pu(new ii,(Qp(),u9),(q5(),uln))}function FM(){FM=F,dq=new uX("DFS",0),Fln=new uX("BFS",1)}function KOn(n,e,t){var i;i=new E3n,i.b=e,i.a=t,++e.b,nn(n.d,i)}function Q2e(n,e,t){var i;i=new rr(t.d),tt(i,n),DY(e,i.a,i.b)}function Y2e(n,e){LTn(n,Ae(vi(w0(e,24),YA)),Ae(vi(e,YA)))}function zb(n,e){if(n<0||n>e)throw M(new Ir(Ptn+n+Itn+e))}function Ln(n,e){if(n<0||n>=e)throw M(new Ir(Ptn+n+Itn+e))}function zn(n,e){if(n<0||n>=e)throw M(new gz(Ptn+n+Itn+e))}function In(n,e){this.b=(Jn(n),n),this.a=e&vw?e:e|64|wh}function fJ(n){var e;return ta(n),e=(j0(),j0(),ZK),fT(n,e)}function Z2e(n,e,t){var i;return i=V5(n,e,!1),i.b<=e&&i.a<=t}function npe(){return nT(),A(T(O1n,1),G,439,0,[xq,I1n,P1n])}function epe(){return _T(),A(T(a1n,1),G,394,0,[l1n,Oq,h1n])}function tpe(){return XT(),A(T(f1n,1),G,445,0,[Bj,qI,Mq])}function ipe(){return rA(),A(T(bce,1),G,456,0,[Tq,Sq,Aq])}function rpe(){return Ok(),A(T(Uln,1),G,393,0,[KI,Hln,qln])}function cpe(){return AT(),A(T(s1n,1),G,300,0,[Cq,o1n,u1n])}function upe(){return jl(),A(T(ldn,1),G,346,0,[uO,M1,M9])}function ope(){return Fk(),A(T(Fq,1),G,444,0,[XI,VI,WI])}function spe(){return $f(),A(T(Zan,1),G,278,0,[Bv,Jw,Rv])}function fpe(){return Gp(),A(T(mdn,1),G,280,0,[pdn,Yw,aO])}function T0(n){return Se(n),D(n,16)?new _u(u(n,16)):y4(n.Kc())}function hJ(n,e){return n&&n.equals?n.equals(e):x(n)===x(e)}function vi(n,e){return Y1(ewe(Vr(n)?ds(n):n,Vr(e)?ds(e):e))}function lf(n,e){return Y1(twe(Vr(n)?ds(n):n,Vr(e)?ds(e):e))}function RN(n,e){return Y1(iwe(Vr(n)?ds(n):n,Vr(e)?ds(e):e))}function hpe(n,e){var t;return t=(Jn(n),n).g,rV(!!t),Jn(e),t(e)}function _On(n,e){var t,i;return i=C4(n,e),t=n.a.fd(i),new zEn(n,t)}function lpe(n){return n.Db>>16!=6?null:u(dF(n),241)}function ape(n){if(n.p!=2)throw M(new Cu);return Ae(n.f)&ui}function dpe(n){if(n.p!=2)throw M(new Cu);return Ae(n.k)&ui}function E(n){return oe(n.ai?1:0}function GOn(n,e){var t,i;return t=s$(e),i=t,u(ee(n.c,i),17).a}function KN(n,e,t){var i;i=n.d[e.p],n.d[e.p]=n.d[t.p],n.d[t.p]=i}function Cpe(n,e,t){var i;n.n&&e&&t&&(i=new uvn,nn(n.e,i))}function _N(n,e){if(fi(n.a,e),e.d)throw M(new ec(nXn));e.d=n}function dJ(n,e){this.a=new Z,this.d=new Z,this.f=n,this.c=e}function zOn(){this.c=new PTn,this.a=new $Ln,this.b=new Xyn,lCn()}function XOn(){qp(),this.b=new de,this.a=new de,this.c=new Z}function VOn(n,e,t){this.d=n,this.j=e,this.e=t,this.o=-1,this.p=3}function WOn(n,e,t){this.d=n,this.k=e,this.f=t,this.o=-1,this.p=5}function JOn(n,e,t,i,r,c){dQ.call(this,n,e,t,i,r),c&&(this.o=-2)}function QOn(n,e,t,i,r,c){bQ.call(this,n,e,t,i,r),c&&(this.o=-2)}function YOn(n,e,t,i,r,c){OJ.call(this,n,e,t,i,r),c&&(this.o=-2)}function ZOn(n,e,t,i,r,c){pQ.call(this,n,e,t,i,r),c&&(this.o=-2)}function nDn(n,e,t,i,r,c){DJ.call(this,n,e,t,i,r),c&&(this.o=-2)}function eDn(n,e,t,i,r,c){wQ.call(this,n,e,t,i,r),c&&(this.o=-2)}function tDn(n,e,t,i,r,c){gQ.call(this,n,e,t,i,r),c&&(this.o=-2)}function iDn(n,e,t,i,r,c){LJ.call(this,n,e,t,i,r),c&&(this.o=-2)}function rDn(n,e,t,i){LE.call(this,t),this.b=n,this.c=e,this.d=i}function cDn(n,e){this.f=n,this.a=($4(),MO),this.c=MO,this.b=e}function uDn(n,e){this.g=n,this.d=($4(),TO),this.a=TO,this.b=e}function bJ(n,e){!n.c&&(n.c=new Rt(n,0)),HA(n.c,(at(),F9),e)}function Mpe(n,e){return oMe(n,e,D(e,102)&&(u(e,19).Bb&hr)!=0)}function Tpe(n,e){return KPn(vc(n.q.getTime()),vc(e.q.getTime()))}function oDn(n){return XL(n.e.Rd().gc()*n.c.Rd().gc(),16,new O8n(n))}function Ape(n){return!!n.u&&Sc(n.u.a).i!=0&&!(n.n&&Ix(n.n))}function Spe(n){return!!n.a&&no(n.a.a).i!=0&&!(n.b&&Ox(n.b))}function wJ(n,e){return e==0?!!n.o&&n.o.f!=0:Cx(n,e)}function Ppe(n,e,t){var i;return i=u(n.Zb().xc(e),16),!!i&&i.Hc(t)}function sDn(n,e,t){var i;return i=u(n.Zb().xc(e),16),!!i&&i.Mc(t)}function fDn(n,e){var t;return t=1-e,n.a[t]=jT(n.a[t],t),jT(n,e)}function hDn(n,e){var t,i;return i=vi(n,mr),t=Bs(e,32),lf(t,i)}function lDn(n,e,t){var i;i=(Se(n),new _u(n)),O7e(new EOn(i,e,t))}function Z7(n,e,t){var i;i=(Se(n),new _u(n)),D7e(new COn(i,e,t))}function fc(n,e,t,i,r,c){return Hxn(n,e,t,c),CY(n,i),MY(n,r),n}function aDn(n,e,t,i){return n.a+=""+qo(e==null?gu:Jr(e),t,i),n}function xi(n,e){this.a=n,Xv.call(this,n),zb(e,n.gc()),this.b=e}function dDn(n){this.a=K(ki,Bn,1,QQ(y.Math.max(8,n))<<1,5,1)}function nk(n){return u(Ff(n,K(Qh,b1,10,n.c.length,0,1)),199)}function hh(n){return u(Ff(n,K(O_,rR,18,n.c.length,0,1)),483)}function bDn(n){return n.a?n.e.length==0?n.a.a:n.a.a+(""+n.e):n.c}function Q6(n){for(;n.d>0&&n.a[--n.d]==0;);n.a[n.d++]==0&&(n.e=0)}function wDn(n){return oe(n.b.b!=n.d.a),n.c=n.b=n.b.b,--n.a,n.c.c}function Ipe(n,e,t){n.a=e,n.c=t,n.b.a.$b(),vo(n.d),Pb(n.e.a.c,0)}function gDn(n,e){var t;n.e=new uz,t=aw(e),Yt(t,n.c),Iqn(n,t,0)}function ri(n,e,t,i){var r;r=new nG,r.a=e,r.b=t,r.c=i,Fe(n.a,r)}function Q(n,e,t,i){var r;r=new nG,r.a=e,r.b=t,r.c=i,Fe(n.b,r)}function pDn(n,e,t){if(n<0||et)throw M(new Ir(qje(n,e,t)))}function ek(n,e){if(n<0||n>=e)throw M(new Ir(kEe(n,e)));return n}function Ope(n){if(!("stack"in n))try{throw n}catch{}return n}function Pg(n){return s6(),D(n.g,10)?u(n.g,10):null}function Dpe(n){return Ag(n).dc()?!1:(e1e(n,new Pr),!0)}function id(n){var e;return Vr(n)?(e=n,e==-0?0:e):X4e(n)}function mDn(n,e){return D(e,44)?xx(n.a,u(e,44)):!1}function vDn(n,e){return D(e,44)?xx(n.a,u(e,44)):!1}function kDn(n,e){return D(e,44)?xx(n.a,u(e,44)):!1}function gJ(n){var e;return X1(n),e=new L0n,lg(n.a,new j9n(e)),e}function pJ(){var n,e,t;return e=(t=(n=new Jd,n),t),nn(n0n,e),e}function BM(n){var e;return X1(n),e=new N0n,lg(n.a,new E9n(e)),e}function Lpe(n,e){return n.a<=n.b?(e.Dd(n.a++),!0):!1}function yDn(n){P$.call(this,n,(B4(),e_),null,!1,null,!1)}function jDn(){jDn=F,SYn=Ce((YE(),A(T(oon,1),G,489,0,[b_])))}function EDn(){EDn=F,eln=wIn(Y(1),Y(4)),nln=wIn(Y(1),Y(2))}function Npe(n,e){return new _L(e,N6(Ki(e.e),n,n),(_n(),!0))}function RM(n){return new Gc((Co(n,cB),oT(nr(nr(5,n),n/10|0))))}function $pe(n){return XL(n.e.Rd().gc()*n.c.Rd().gc(),273,new I8n(n))}function CDn(n){return u(Ff(n,K(FZn,DXn,12,n.c.length,0,1)),2042)}function xpe(n){return ko(),!fr(n)&&!(!fr(n)&&n.c.i.c==n.d.i.c)}function Fpe(n,e){return _p(),u(v(e,(lc(),O2)),17).a>=n.gc()}function Y6(n,e){vLe(e,n),JV(n.d),JV(u(v(n,(cn(),mI)),214))}function HN(n,e){kLe(e,n),QV(n.d),QV(u(v(n,(cn(),mI)),214))}function Bpe(n,e,t){n.d&&du(n.d.e,n),n.d=e,n.d&&b0(n.d.e,t,n)}function Rpe(n,e,t){return t.f.c.length>0?MW(n.a,e,t):MW(n.b,e,t)}function Kpe(n,e,t){var i;i=i9e();try{return Aae(n,e,t)}finally{D3e(i)}}function A0(n,e){var t,i;return t=dl(n,e),i=null,t&&(i=t.pe()),i}function Z6(n,e){var t,i;return t=dl(n,e),i=null,t&&(i=t.se()),i}function L4(n,e){var t,i;return t=Jb(n,e),i=null,t&&(i=t.se()),i}function bl(n,e){var t,i;return t=dl(n,e),i=null,t&&(i=gnn(t)),i}function _pe(n,e,t){var i;return i=wm(t),FA(n.g,i,e),FA(n.i,e,t),e}function mJ(n,e,t){this.d=new $7n(this),this.e=n,this.i=e,this.f=t}function MDn(n,e,t,i){this.e=null,this.c=n,this.d=e,this.a=t,this.b=i}function TDn(n,e,t,i){ETn(this),this.c=n,this.e=e,this.f=t,this.b=i}function vJ(n,e,t,i){this.d=n,this.n=e,this.g=t,this.o=i,this.p=-1}function ADn(n,e,t,i){return D(t,59)?new iAn(n,e,t,i):new vW(n,e,t,i)}function N4(n){return D(n,16)?u(n,16).dc():!n.Kc().Ob()}function SDn(n){if(n.e.g!=n.b)throw M(new Bo);return!!n.c&&n.d>0}function be(n){return oe(n.b!=n.d.c),n.c=n.b,n.b=n.b.a,++n.a,n.c.c}function kJ(n,e){Jn(e),$t(n.a,n.c,e),n.c=n.c+1&n.a.length-1,JRn(n)}function W1(n,e){Jn(e),n.b=n.b-1&n.a.length-1,$t(n.a,n.b,e),JRn(n)}function PDn(n){var e;e=n.Gh(),this.a=D(e,71)?u(e,71).Ii():e.Kc()}function Hpe(n){return new In(Ame(u(n.a.md(),16).gc(),n.a.ld()),16)}function IDn(){IDn=F,Gce=Ce((eC(),A(T($1n,1),G,490,0,[Bq])))}function ODn(){ODn=F,Xce=Ce((tC(),A(T(zce,1),G,558,0,[Rq])))}function DDn(){DDn=F,lue=Ce((f6(),A(T(tan,1),G,539,0,[Hj])))}function qpe(){return dd(),A(T(Lon,1),G,389,0,[Ow,Don,P_,I_])}function Upe(){return B4(),A(T(lP,1),G,304,0,[e_,t_,i_,r_])}function Gpe(){return Vp(),A(T(EYn,1),G,332,0,[uj,cj,oj,sj])}function zpe(){return A5(),A(T(TYn,1),G,406,0,[fj,wP,gP,hj])}function Xpe(){return N0(),A(T(yYn,1),G,417,0,[rj,ij,a_,d_])}function Vpe(){return nm(),A(T(MZn,1),G,416,0,[rb,Iw,Pw,d2])}function Wpe(){return xf(),A(T(ene,1),G,421,0,[j3,lv,av,B_])}function Jpe(){return OT(),A(T(UZn,1),G,371,0,[F_,HP,qP,wj])}function Qpe(){return cw(),A(T(RH,1),G,203,0,[TI,BH,P2,S2])}function Ype(){return lh(),A(T(Hhn,1),G,284,0,[k1,_hn,HH,qH])}function Zpe(n){var e;return n.j==(en(),ae)&&(e=mHn(n),Au(e,Zn))}function n3e(n,e){var t;t=e.a,Zi(t,e.c.d),Ii(t,e.d.d),nw(t.a,n.n)}function yJ(n,e){var t;return t=u(Nf(n.b,e),67),!t&&(t=new Ct),t}function xp(n){return s6(),D(n.g,154)?u(n.g,154):null}function e3e(n){n.a=null,n.e=null,Pb(n.b.c,0),Pb(n.f.c,0),n.c=null}function KM(){KM=F,fH=new Zz(qm,0),Jsn=new Zz("TOP_LEFT",1)}function n5(){n5=F,r9=new eX("UPPER",0),i9=new eX("LOWER",1)}function t3e(n,e){return vp(new V(e.e.a+e.f.a/2,e.e.b+e.f.b/2),n)}function LDn(n,e){return u(ho(_b(u(ot(n.k,e),15).Oc(),w2)),113)}function NDn(n,e){return u(ho(Ap(u(ot(n.k,e),15).Oc(),w2)),113)}function i3e(){return Qp(),A(T(rln,1),G,405,0,[LI,c9,u9,o9])}function r3e(){return w5(),A(T(xln,1),G,353,0,[aq,BI,lq,hq])}function c3e(){return sA(),A(T(c1n,1),G,354,0,[Eq,i1n,r1n,t1n])}function u3e(){return go(),A(T(I9,1),G,386,0,[rE,Gd,iE,Qw])}function o3e(){return To(),A(T(Yue,1),G,291,0,[nE,nl,Aa,Zj])}function s3e(){return El(),A(T(aU,1),G,223,0,[lU,Yj,Kv,F3])}function f3e(){return qT(),A(T(Cdn,1),G,320,0,[wU,ydn,Edn,jdn])}function h3e(){return LT(),A(T(woe,1),G,415,0,[gU,Tdn,Mdn,Adn])}function l3e(n){return $M(),Zc(yU,n)?u(ee(yU,n),341).Qg():null}function Uo(n,e,t){return e<0?hF(n,t):u(t,69).wk().Bk(n,n.hi(),e)}function a3e(n,e,t){var i;return i=wm(t),FA(n.j,i,e),Ve(n.k,e,t),e}function d3e(n,e,t){var i;return i=wm(t),FA(n.d,i,e),Ve(n.e,e,t),e}function $Dn(n){var e,t;return e=(B1(),t=new HO,t),n&&AA(e,n),e}function jJ(n){var e;return e=n.aj(n.i),n.i>0&&Ic(n.g,0,e,0,n.i),e}function xDn(n,e){var t;for(t=n.j.c.length;t>24}function w3e(n){if(n.p!=1)throw M(new Cu);return Ae(n.k)<<24>>24}function g3e(n){if(n.p!=7)throw M(new Cu);return Ae(n.k)<<16>>16}function p3e(n){if(n.p!=7)throw M(new Cu);return Ae(n.f)<<16>>16}function Ig(n,e){return e.e==0||n.e==0?O8:(Am(),vF(n,e))}function RDn(n,e){return x(e)===x(n)?"(this Map)":e==null?gu:Jr(e)}function m3e(n,e,t){return tN(R(Kr(wr(n.f,e))),R(Kr(wr(n.f,t))))}function v3e(n,e,t){var i;i=u(ee(n.g,t),60),nn(n.a.c,new bi(e,i))}function KDn(n,e,t){n.i=0,n.e=0,e!=t&&(jFn(n,e,t),yFn(n,e,t))}function k3e(n,e,t,i,r){var c;c=yMe(r,t,i),nn(e,dEe(r,c)),rje(n,r,e)}function EJ(n,e,t,i,r){this.i=n,this.a=e,this.e=t,this.j=i,this.f=r}function _Dn(n,e){nJ.call(this),this.a=n,this.b=e,nn(this.a.b,this)}function HDn(n){this.b=new de,this.c=new de,this.d=new de,this.a=n}function qDn(n,e){var t;return t=new fg,n.Gd(t),t.a+="..",e.Hd(t),t.a}function UDn(n,e){var t;for(t=e;t;)a0(n,t.i,t.j),t=At(t);return n}function GDn(n,e,t){var i;return i=wm(t),Ve(n.b,i,e),Ve(n.c,e,t),e}function wl(n){var e;for(e=0;n.Ob();)n.Pb(),e=nr(e,1);return oT(e)}function Fh(n,e){dr();var t;return t=u(n,69).vk(),kje(t,e),t.xl(e)}function y3e(n,e,t){if(t){var i=t.oe();n.a[e]=i(t)}else delete n.a[e]}function CJ(n,e){var t;t=n.q.getHours(),n.q.setFullYear(e+ha),G5(n,t)}function j3e(n,e){return u(e==null?Kr(wr(n.f,null)):d6(n.i,e),288)}function MJ(n,e){return n==(Vn(),zt)&&e==zt?4:n==zt||e==zt?8:32}function _M(n,e,t){return RA(n,e,t,D(e,102)&&(u(e,19).Bb&hr)!=0)}function E3e(n,e,t){return Om(n,e,t,D(e,102)&&(u(e,19).Bb&hr)!=0)}function C3e(n,e,t){return bMe(n,e,t,D(e,102)&&(u(e,19).Bb&hr)!=0)}function TJ(n){n.b!=n.c&&(n.a=K(ki,Bn,1,8,5,1),n.b=0,n.c=0)}function e5(n){return oe(n.a=0&&n.a[t]===e[t];t--);return t<0}function HM(n){var e;return n?new fW(n):(e=new rh,A$(e,n),e)}function O3e(n,e){var t,i;i=!1;do t=lFn(n,e),i=i|t;while(t);return i}function D3e(n){n&&rme((az(),sun)),--cP,n&&uP!=-1&&(Ele(uP),uP=-1)}function qM(n){nnn(),LTn(this,Ae(vi(w0(n,24),YA)),Ae(vi(n,YA)))}function JDn(){JDn=F,HQn=Ce((YT(),A(T(Bun,1),G,436,0,[o_,Fun])))}function QDn(){QDn=F,qQn=Ce((cT(),A(T(Kun,1),G,435,0,[Run,s_])))}function YDn(){YDn=F,GYn=Ce((uT(),A(T(bon,1),G,432,0,[v_,vP])))}function ZDn(){ZDn=F,_Zn=Ce((V4(),A(T(KZn,1),G,517,0,[dj,L_])))}function nLn(){nLn=F,Ane=Ce((KM(),A(T(Qsn,1),G,429,0,[fH,Jsn])))}function eLn(){eLn=F,gne=Ce((pk(),A(T($sn,1),G,428,0,[WP,Nsn])))}function tLn(){tLn=F,kne=Ce((hk(),A(T(Bsn,1),G,488,0,[Fsn,QP])))}function iLn(){iLn=F,rie=Ce((wk(),A(T(qhn,1),G,430,0,[UH,GH])))}function rLn(){rLn=F,Die=Ce((n5(),A(T(Oie,1),G,531,0,[r9,i9])))}function cLn(){cLn=F,ane=Ce((QM(),A(T(Asn,1),G,431,0,[Tsn,V_])))}function uLn(){uLn=F,xre=Ce((FM(),A(T(Bln,1),G,433,0,[dq,Fln])))}function oLn(){oLn=F,_re=Ce((yT(),A(T(Rln,1),G,501,0,[RI,L2])))}function sLn(){sLn=F,Rie=Ce((fh(),A(T(Bie,1),G,523,0,[mb,y1])))}function fLn(){fLn=F,_ie=Ce((Pf(),A(T(Kie,1),G,522,0,[Rd,Xf])))}function hLn(){hLn=F,tre=Ce((af(),A(T(ere,1),G,528,0,[zw,Ea])))}function lLn(){lLn=F,fre=Ce((M0(),A(T(sre,1),G,465,0,[Ca,I2])))}function aLn(){aLn=F,Ure=Ce((ZM(),A(T(_ln,1),G,434,0,[Kln,vq])))}function dLn(){dLn=F,Rce=Ce((GM(),A(T(S1n,1),G,491,0,[$q,A1n])))}function bLn(){bLn=F,_ce=Ce((N$(),A(T(N1n,1),G,492,0,[D1n,L1n])))}function wLn(){wLn=F,Vce=Ce((ck(),A(T(x1n,1),G,438,0,[Kq,JI])))}function gLn(){gLn=F,aue=Ce((Ak(),A(T(ran,1),G,437,0,[YI,ian])))}function pLn(){pLn=F,aoe=Ce((RL(),A(T(dO,1),G,347,0,[vdn,kdn])))}function L3e(){return ci(),A(T(E9,1),G,88,0,[Jf,Xr,Br,Wf,us])}function N3e(){return en(),A(T(lr,1),Mc,64,0,[sc,Xn,Zn,ae,Wn])}function $3e(n,e,t){return u(e==null?Vc(n.f,null,t):$0(n.i,e,t),288)}function x3e(n){return(n.k==(Vn(),zt)||n.k==Zt)&&kt(n,(W(),H8))}function XN(n){return n.c&&n.d?aJ(n.c)+"->"+aJ(n.d):"e_"+l0(n)}function qi(n,e){var t,i;for(Jn(e),i=n.Kc();i.Ob();)t=i.Pb(),e.Cd(t)}function F3e(n,e){var t;t=new sp,nd(t,"x",e.a),nd(t,"y",e.b),Ip(n,t)}function B3e(n,e){var t;t=new sp,nd(t,"x",e.a),nd(t,"y",e.b),Ip(n,t)}function mLn(n,e){var t;for(t=e;t;)a0(n,-t.i,-t.j),t=At(t);return n}function SJ(n,e){var t,i;for(t=e,i=0;t>0;)i+=n.a[t],t-=t&-t;return i}function Go(n,e,t){var i;return i=(Ln(e,n.c.length),n.c[e]),n.c[e]=t,i}function PJ(n,e,t){n.a.c.length=0,fOe(n,e,t),n.a.c.length==0||xSe(n,e)}function tk(n){n.i=0,s7(n.b,null),s7(n.c,null),n.a=null,n.e=null,++n.g}function UM(){UM=F,Uf=!0,DQn=!1,LQn=!1,$Qn=!1,NQn=!1}function VN(n){UM(),!Uf&&(this.c=n,this.e=!0,this.a=new Z)}function vLn(n,e){this.c=0,this.b=e,HMn.call(this,n,17493),this.a=this.c}function kLn(n){jzn(),Syn(this),this.a=new Ct,sY(this,n),Fe(this.a,n)}function yLn(){pL(this),this.b=new V(St,St),this.a=new V(li,li)}function GM(){GM=F,$q=new fX(cin,0),A1n=new fX("TARGET_WIDTH",1)}function Og(n,e){return(ta(n),s4(new Tn(n,new tQ(e,n.a)))).Bd(v3)}function R3e(){return Vi(),A(T(Ion,1),G,367,0,[Vs,Jh,Oc,Kc,zr])}function K3e(){return ow(),A(T(ine,1),G,375,0,[gj,zP,XP,GP,UP])}function _3e(){return o1(),A(T(Lsn,1),G,348,0,[J_,Dsn,Q_,pv,gv])}function H3e(){return T5(),A(T($hn,1),G,323,0,[Nhn,KH,_H,Y8,Z8])}function q3e(){return Yo(),A(T(hfn,1),G,171,0,[Ej,U8,ya,G8,xw])}function U3e(){return wA(),A(T(Hre,1),G,368,0,[pq,bq,mq,wq,gq])}function G3e(){return R5(),A(T(Hce,1),G,373,0,[N2,D3,g9,w9,_j])}function z3e(){return Yk(),A(T(K1n,1),G,324,0,[F1n,_q,R1n,Hq,B1n])}function X3e(){return pf(),A(T(Zh,1),G,170,0,[xn,pi,Ph,Kd,E1])}function V3e(){return Bg(),A(T(A9,1),G,256,0,[Sa,eE,adn,T9,ddn])}function W3e(n){return HE(),function(){return Kpe(n,this,arguments)}}function fr(n){return!n.c||!n.d?!1:!!n.c.i&&n.c.i==n.d.i}function IJ(n,e){return D(e,143)?An(n.c,u(e,143).c):!1}function Zu(n){return n.t||(n.t=new myn(n),k5(new Njn(n),0,n.t)),n.t}function jLn(n){this.b=n,ne.call(this,n),this.a=u(Un(this.b.a,4),129)}function ELn(n){this.b=n,yp.call(this,n),this.a=u(Un(this.b.a,4),129)}function Rs(n,e,t,i,r){LLn.call(this,e,i,r),this.c=n,this.b=t}function OJ(n,e,t,i,r){VOn.call(this,e,i,r),this.c=n,this.a=t}function DJ(n,e,t,i,r){WOn.call(this,e,i,r),this.c=n,this.a=t}function LJ(n,e,t,i,r){LLn.call(this,e,i,r),this.c=n,this.a=t}function WN(n,e){var t;return t=u(Nf(n.d,e),23),t||u(Nf(n.e,e),23)}function CLn(n,e){var t,i;return t=e.ld(),i=n.Fe(t),!!i&&mc(i.e,e.md())}function MLn(n,e){var t;return t=e.ld(),new i0(t,n.e.pc(t,u(e.md(),16)))}function J3e(n,e){var t;return t=n.a.get(e),t??K(ki,Bn,1,0,5,1)}function TLn(n){var e;return e=n.length,An(Yn.substr(Yn.length-e,e),n)}function fe(n){if(pe(n))return n.c=n.a,n.a.Pb();throw M(new nc)}function NJ(n,e){return e==0||n.e==0?n:e>0?wqn(n,e):RBn(n,-e)}function Fp(n,e){return e==0||n.e==0?n:e>0?RBn(n,e):wqn(n,-e)}function $J(n){ole.call(this,n==null?gu:Jr(n),D(n,82)?u(n,82):null)}function ALn(n){var e;return n.c||(e=n.r,D(e,90)&&(n.c=u(e,29))),n.c}function JN(n){var e;return e=new E0,Ur(e,n),U(e,(cn(),Fr),null),e}function SLn(n){var e,t;return e=n.c.i,t=n.d.i,e.k==(Vn(),Zt)&&t.k==Zt}function QN(n){var e,t,i;return e=n&ro,t=n>>22&ro,i=n<0?Il:0,Yc(e,t,i)}function Q3e(n){var e,t,i,r;for(t=n,i=0,r=t.length;i=0?n.Lh(i,t,!0):H0(n,e,t)}function Z3e(n,e,t){return bt(vp(pm(n),Ki(e.b)),vp(pm(n),Ki(t.b)))}function n4e(n,e,t){return bt(vp(pm(n),Ki(e.e)),vp(pm(n),Ki(t.e)))}function e4e(n,e){return y.Math.min(J1(e.a,n.d.d.c),J1(e.b,n.d.d.c))}function ik(n,e){n._i(n.i+1),O6(n,n.i,n.Zi(n.i,e)),n.Mi(n.i++,e),n.Ni()}function t5(n){var e,t;++n.j,e=n.g,t=n.i,n.g=null,n.i=0,n.Oi(t,e),n.Ni()}function PLn(n,e,t){var i;i=new NX(n.a),f5(i,n.a.a),Vc(i.f,e,t),n.a.a=i}function xJ(n,e,t,i){var r;for(r=0;re)throw M(new Ir(Mnn(n,e,"index")));return n}function Yl(n,e){var t;return t=(Ln(e,n.c.length),n.c[e]),Pz(n.c,e,1),t}function RJ(n,e){var t,i;return t=(Jn(n),n),i=(Jn(e),e),t==i?0:te.p?-1:0}function FLn(n){var e;return n.a||(e=n.r,D(e,156)&&(n.a=u(e,156))),n.a}function o4e(n,e,t){var i;return++n.e,--n.f,i=u(n.d[e].gd(t),136),i.md()}function s4e(n){var e,t;return e=n.ld(),t=u(n.md(),16),x7(t.Nc(),new L8n(e))}function BLn(n,e){return Zc(n.a,e)?(Bp(n.a,e),!0):!1}function Rp(n,e,t){return ek(e,n.e.Rd().gc()),ek(t,n.c.Rd().gc()),n.a[e][t]}function XM(n,e,t){this.a=n,this.b=e,this.c=t,nn(n.t,this),nn(e.i,this)}function VM(n,e,t,i){this.f=n,this.e=e,this.d=t,this.b=i,this.c=i?i.d:null}function rk(){this.b=new Ct,this.a=new Ct,this.b=new Ct,this.a=new Ct}function $4(){$4=F;var n,e;MO=(o4(),e=new xE,e),TO=(n=new fD,n)}function f4e(n){var e;return ta(n),e=new ISn(n,n.a.e,n.a.d|4),new uV(n,e)}function RLn(n){var e;for(X1(n),e=0;n.a.Bd(new W0n);)e=nr(e,1);return e}function WM(n,e){return Jn(e),n.c=0,"Initial capacity must not be negative")}function JM(){JM=F,p9=new lt("org.eclipse.elk.labels.labelManager")}function KLn(){KLn=F,ysn=new Dt("separateLayerConnections",(OT(),F_))}function af(){af=F,zw=new rX("REGULAR",0),Ea=new rX("CRITICAL",1)}function ck(){ck=F,Kq=new lX("FIXED",0),JI=new lX("CENTER_NODE",1)}function QM(){QM=F,Tsn=new Jz("QUADRATIC",0),V_=new Jz("SCANLINE",1)}function _Ln(){_Ln=F,dne=Ce((u5(),A(T(Psn,1),G,322,0,[B8,pj,Ssn])))}function HLn(){HLn=F,bne=Ce((bT(),A(T(Osn,1),G,351,0,[Isn,VP,W_])))}function qLn(){qLn=F,fne=Ce((D0(),A(T(R_,1),G,372,0,[ub,va,cb])))}function ULn(){ULn=F,mne=Ce((hd(),A(T(pne,1),G,460,0,[Y_,mv,m2])))}function GLn(){GLn=F,Cne=Ce((Z4(),A(T(sH,1),G,299,0,[uH,oH,mj])))}function zLn(){zLn=F,Tne=Ce((vl(),A(T(Mne,1),G,311,0,[vj,k2,E3])))}function XLn(){XLn=F,Zte=Ce((g5(),A(T(Lhn,1),G,390,0,[FH,Dhn,MI])))}function VLn(){VLn=F,oie=Ce((ST(),A(T(zhn,1),G,387,0,[Uhn,zH,Ghn])))}function WLn(){WLn=F,sie=Ce((d5(),A(T(Xhn,1),G,349,0,[VH,XH,Ij])))}function JLn(){JLn=F,uie=Ce((gr(),A(T(cie,1),G,463,0,[n9,Vu,Jc])))}function QLn(){QLn=F,fie=Ce((om(),A(T(Whn,1),G,350,0,[WH,Vhn,e9])))}function YLn(){YLn=F,hie=Ce((dT(),A(T(Yhn,1),G,352,0,[Qhn,JH,Jhn])))}function ZLn(){ZLn=F,lie=Ce((DT(),A(T(Zhn,1),G,388,0,[QH,Ov,Gw])))}function nNn(){nNn=F,are=Ce((b5(),A(T(gln,1),G,392,0,[wln,nq,Lj])))}function eNn(){eNn=F,Gre=Ce((Ok(),A(T(Uln,1),G,393,0,[KI,Hln,qln])))}function tNn(){tNn=F,ace=Ce((AT(),A(T(s1n,1),G,300,0,[Cq,o1n,u1n])))}function iNn(){iNn=F,dce=Ce((XT(),A(T(f1n,1),G,445,0,[Bj,qI,Mq])))}function rNn(){rNn=F,wce=Ce((rA(),A(T(bce,1),G,456,0,[Tq,Sq,Aq])))}function cNn(){cNn=F,mce=Ce((_T(),A(T(a1n,1),G,394,0,[l1n,Oq,h1n])))}function uNn(){uNn=F,Kce=Ce((nT(),A(T(O1n,1),G,439,0,[xq,I1n,P1n])))}function oNn(){oNn=F,Aie=Ce((O0(),A(T(Tie,1),G,464,0,[Oj,t9,PI])))}function sNn(){sNn=F,WQn=Ce((Uu(),A(T(VQn,1),G,471,0,[Mh,pa,zs])))}function fNn(){fNn=F,XQn=Ce((wf(),A(T(Sw,1),G,237,0,[bc,Wc,wc])))}function hNn(){hNn=F,QQn=Ce((bu(),A(T(JQn,1),G,472,0,[kf,ma,Xs])))}function lNn(){lNn=F,xQn=Ce((Gu(),A(T(xr,1),G,108,0,[xun,Yr,Aw])))}function aNn(){aNn=F,pZn=Ce((i5(),A(T(Pon,1),G,391,0,[E_,j_,C_])))}function dNn(){dNn=F,Que=Ce((jl(),A(T(ldn,1),G,346,0,[uO,M1,M9])))}function bNn(){bNn=F,Uce=Ce((Fk(),A(T(Fq,1),G,444,0,[XI,VI,WI])))}function wNn(){wNn=F,Xue=Ce(($f(),A(T(Zan,1),G,278,0,[Bv,Jw,Rv])))}function gNn(){gNn=F,loe=Ce((Gp(),A(T(mdn,1),G,280,0,[pdn,Yw,aO])))}function Lf(n,e){return!n.o&&(n.o=new Iu((Cc(),il),T1,n,0)),wx(n.o,e)}function h4e(n,e){var t;n.C&&(t=u(Cr(n.b,e),127).n,t.d=n.C.d,t.a=n.C.a)}function UJ(n){var e,t,i,r;r=n.d,e=n.a,t=n.b,i=n.c,n.d=t,n.a=i,n.b=r,n.c=e}function l4e(n){return!n.g&&(n.g=new CE),!n.g.b&&(n.g.b=new byn(n)),n.g.b}function uk(n){return!n.g&&(n.g=new CE),!n.g.c&&(n.g.c=new pyn(n)),n.g.c}function a4e(n){return!n.g&&(n.g=new CE),!n.g.d&&(n.g.d=new wyn(n)),n.g.d}function d4e(n){return!n.g&&(n.g=new CE),!n.g.a&&(n.g.a=new gyn(n)),n.g.a}function b4e(n,e,t,i){return t&&(i=t.Rh(e,Ot(t.Dh(),n.c.uk()),null,i)),i}function w4e(n,e,t,i){return t&&(i=t.Th(e,Ot(t.Dh(),n.c.uk()),null,i)),i}function e$(n,e,t,i){var r;return r=K(ye,_e,28,e+1,15,1),vPe(r,n,e,t,i),r}function K(n,e,t,i,r,c){var s;return s=_Rn(r,i),r!=10&&A(T(n,c),e,t,r,s),s}function g4e(n,e,t){var i,r;for(r=new Y4(e,n),i=0;it||e=0?n.Lh(t,!0,!0):H0(n,e,!0)}function L4e(n,e,t){var i;return i=vFn(n,e,t),n.b=new ET(i.c.length),den(n,i)}function N4e(n){if(n.b<=0)throw M(new nc);return--n.b,n.a-=n.c.c,Y(n.a)}function $4e(n){var e;if(!n.a)throw M(new PIn);return e=n.a,n.a=At(n.a),e}function x4e(n){for(;!n.a;)if(!eSn(n.c,new C9n(n)))return!1;return!0}function Kp(n){var e;return Se(n),D(n,204)?(e=u(n,204),e):new _8n(n)}function F4e(n){YM(),u(n.of((Ue(),Ww)),181).Fc((zu(),tE)),n.qf(sU,null)}function YM(){YM=F,wue=new Emn,pue=new Cmn,gue=M6e((Ue(),sU),wue,Ta,pue)}function ZM(){ZM=F,Kln=new sX("LEAF_NUMBER",0),vq=new sX("NODE_SIZE",1)}function u$(n){n.a=K(ye,_e,28,n.b+1,15,1),n.c=K(ye,_e,28,n.b,15,1),n.d=0}function B4e(n,e){n.a.Ne(e.d,n.b)>0&&(nn(n.c,new GV(e.c,e.d,n.d)),n.b=e.d)}function nQ(n,e){if(n.g==null||e>=n.i)throw M(new aL(e,n.i));return n.g[e]}function kNn(n,e,t){if(rm(n,t),t!=null&&!n.fk(t))throw M(new uD);return t}function o$(n,e){return gk(e)!=10&&A(wo(e),e.Sm,e.__elementTypeId$,gk(e),n),n}function F4(n,e,t,i){var r;i=(j0(),i||Pun),r=n.slice(e,t),Tnn(r,n,e,t,-e,i)}function zo(n,e,t,i,r){return e<0?H0(n,t,i):u(t,69).wk().yk(n,n.hi(),e,i,r)}function R4e(n,e){return bt($(R(v(n,(W(),fb)))),$(R(v(e,fb))))}function yNn(){yNn=F,IQn=Ce((B4(),A(T(lP,1),G,304,0,[e_,t_,i_,r_])))}function B4(){B4=F,e_=new uC("All",0),t_=new lTn,i_=new kTn,r_=new hTn}function Uu(){Uu=F,Mh=new FD(s3,0),pa=new FD(qm,1),zs=new FD(f3,2)}function jNn(){jNn=F,KA(),s0n=St,mse=li,f0n=new V9(St),vse=new V9(li)}function ENn(){ENn=F,jYn=Ce((N0(),A(T(yYn,1),G,417,0,[rj,ij,a_,d_])))}function CNn(){CNn=F,AYn=Ce((A5(),A(T(TYn,1),G,406,0,[fj,wP,gP,hj])))}function MNn(){MNn=F,CYn=Ce((Vp(),A(T(EYn,1),G,332,0,[uj,cj,oj,sj])))}function TNn(){TNn=F,DZn=Ce((dd(),A(T(Lon,1),G,389,0,[Ow,Don,P_,I_])))}function ANn(){ANn=F,TZn=Ce((nm(),A(T(MZn,1),G,416,0,[rb,Iw,Pw,d2])))}function SNn(){SNn=F,tne=Ce((xf(),A(T(ene,1),G,421,0,[j3,lv,av,B_])))}function PNn(){PNn=F,GZn=Ce((OT(),A(T(UZn,1),G,371,0,[F_,HP,qP,wj])))}function INn(){INn=F,nie=Ce((cw(),A(T(RH,1),G,203,0,[TI,BH,P2,S2])))}function ONn(){ONn=F,iie=Ce((lh(),A(T(Hhn,1),G,284,0,[k1,_hn,HH,qH])))}function hk(){hk=F,Fsn=new Yz(kh,0),QP=new Yz("IMPROVE_STRAIGHTNESS",1)}function DNn(n,e){var t,i;return i=e/n.c.Rd().gc()|0,t=e%n.c.Rd().gc(),Rp(n,i,t)}function LNn(n){var e;if(n.nl())for(e=n.i-1;e>=0;--e)L(n,e);return jJ(n)}function eQ(n){var e,t;if(!n.b)return null;for(t=n.b;e=t.a[0];)t=e;return t}function NNn(n){var e,t;if(!n.b)return null;for(t=n.b;e=t.a[1];)t=e;return t}function K4e(n){return D(n,180)?""+u(n,180).a:n==null?null:Jr(n)}function _4e(n){return D(n,180)?""+u(n,180).a:n==null?null:Jr(n)}function $Nn(n,e){if(e.a)throw M(new ec(nXn));fi(n.a,e),e.a=n,!n.j&&(n.j=e)}function tQ(n,e){IC.call(this,e.zd(),e.yd()&-16449),Jn(n),this.a=n,this.c=e}function H4e(n,e){return new _L(e,a0(Ki(e.e),e.f.a+n,e.f.b+n),(_n(),!1))}function q4e(n,e){return k4(),nn(n,new bi(e,Y(e.e.c.length+e.g.c.length)))}function U4e(n,e){return k4(),nn(n,new bi(e,Y(e.e.c.length+e.g.c.length)))}function xNn(){xNn=F,lce=Ce((sA(),A(T(c1n,1),G,354,0,[Eq,i1n,r1n,t1n])))}function FNn(){FNn=F,$re=Ce((w5(),A(T(xln,1),G,353,0,[aq,BI,lq,hq])))}function BNn(){BNn=F,hre=Ce((Qp(),A(T(rln,1),G,405,0,[LI,c9,u9,o9])))}function RNn(){RNn=F,Vue=Ce((El(),A(T(aU,1),G,223,0,[lU,Yj,Kv,F3])))}function KNn(){KNn=F,Zue=Ce((To(),A(T(Yue,1),G,291,0,[nE,nl,Aa,Zj])))}function _Nn(){_Nn=F,foe=Ce((go(),A(T(I9,1),G,386,0,[rE,Gd,iE,Qw])))}function HNn(){HNn=F,doe=Ce((qT(),A(T(Cdn,1),G,320,0,[wU,ydn,Edn,jdn])))}function qNn(){qNn=F,goe=Ce((LT(),A(T(woe,1),G,415,0,[gU,Tdn,Mdn,Adn])))}function nT(){nT=F,xq=new oL(mVn,0),I1n=new oL(Crn,1),P1n=new oL(kh,2)}function Wb(n,e,t,i,r){return Jn(n),Jn(e),Jn(t),Jn(i),Jn(r),new AW(n,e,i)}function UNn(n,e){var t;return t=u(Bp(n.e,e),400),t?(tW(t),t.e):null}function du(n,e){var t;return t=qr(n,e,0),t==-1?!1:(Yl(n,t),!0)}function GNn(n,e,t){var i;return X1(n),i=new LO,i.a=e,n.a.Nb(new TCn(i,t)),i.a}function G4e(n){var e;return X1(n),e=K(Pi,Tr,28,0,15,1),lg(n.a,new y9n(e)),e}function iQ(n){var e;if(!E$(n))throw M(new nc);return n.e=1,e=n.d,n.d=null,e}function n1(n){var e;return Vr(n)&&(e=0-n,!isNaN(e))?e:Y1(tm(n))}function qr(n,e,t){for(;t=0?tA(n,t,!0,!0):H0(n,e,!0)}function cQ(n){var e;return e=cd(Un(n,32)),e==null&&(iu(n),e=cd(Un(n,32))),e}function uQ(n){var e;return n.Oh()||(e=se(n.Dh())-n.ji(),n.$h().Mk(e)),n.zh()}function QNn(n,e){con=new kE,MYn=e,L8=n,u(L8.b,68),XJ(L8,con,null),aGn(L8)}function i5(){i5=F,E_=new RD("XY",0),j_=new RD("X",1),C_=new RD("Y",2)}function bu(){bu=F,kf=new BD("TOP",0),ma=new BD(qm,1),Xs=new BD(Ftn,2)}function vl(){vl=F,vj=new GD(kh,0),k2=new GD("TOP",1),E3=new GD(Ftn,2)}function wk(){wk=F,UH=new nX("INPUT_ORDER",0),GH=new nX("PORT_DEGREE",1)}function R4(){R4=F,hun=Yc(ro,ro,524287),bQn=Yc(0,0,Ty),lun=QN(1),QN(2),aun=QN(0)}function a$(n){var e;return n.d!=n.r&&(e=gs(n),n.e=!!e&&e.lk()==bJn,n.d=e),n.e}function d$(n,e,t){var i;return i=n.g[e],O6(n,e,n.Zi(e,t)),n.Ri(e,t,i),n.Ni(),i}function rT(n,e){var t;return t=n.dd(e),t>=0?(n.gd(t),!0):!1}function b$(n,e){var t;for(Se(n),Se(e),t=!1;e.Ob();)t=t|n.Fc(e.Pb());return t}function Nf(n,e){var t;return t=u(ee(n.e,e),400),t?(DTn(n,t),t.e):null}function YNn(n){var e,t;return e=n/60|0,t=n%60,t==0?""+e:""+e+":"+(""+t)}function Jb(n,e){var t=n.a[e],i=(K$(),WK)[typeof t];return i?i(t):wY(typeof t)}function rc(n,e){var t,i;return ta(n),i=new _J(e,n.a),t=new rSn(i),new Tn(n,t)}function w$(n){var e;return e=n.b.c.length==0?null:sn(n.b,0),e!=null&&M$(n,0),e}function W4e(n,e){var t,i,r;r=e.c.i,t=u(ee(n.f,r),60),i=t.d.c-t.e.c,BQ(e.a,i,0)}function oQ(n,e){var t;for(++n.d,++n.c[e],t=e+1;t0&&arguments[0]!==void 0?arguments[0]:{},Yi=Xe.defaultLayoutOptions,Ri=Yi===void 0?{}:Yi,En=Xe.algorithms,hu=En===void 0?["layered","stress","mrtree","radial","force","disco","sporeOverlap","sporeCompaction","rectpacking"]:En,Qc=Xe.workerFactory,Ru=Xe.workerUrl;if(y(this,Ht),this.defaultLayoutOptions=Ri,this.initialized=!1,typeof Ru>"u"&&typeof Qc>"u")throw new Error("Cannot construct an ELK without both 'workerUrl' and 'workerFactory'.");var Pr=Qc;typeof Ru<"u"&&typeof Qc>"u"&&(Pr=function(N1){return new Worker(N1)});var Mf=Pr(Ru);if(typeof Mf.postMessage!="function")throw new TypeError("Created worker does not provide the required 'postMessage' function.");this.worker=new Bu(Mf),this.worker.postMessage({cmd:"register",algorithms:hu}).then(function(L1){return Jt.initialized=!0}).catch(console.err)}return Di(Ht,[{key:"layout",value:function(Xe){var Yi=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},Ri=Yi.layoutOptions,En=Ri===void 0?this.defaultLayoutOptions:Ri,hu=Yi.logging,Qc=hu===void 0?!1:hu,Ru=Yi.measureExecutionTime,Pr=Ru===void 0?!1:Ru;return Xe?this.worker.postMessage({cmd:"layout",graph:Xe,layoutOptions:En,options:{logging:Qc,measureExecutionTime:Pr}}):Promise.reject(new Error("Missing mandatory parameter 'graph'."))}},{key:"knownLayoutAlgorithms",value:function(){return this.worker.postMessage({cmd:"algorithms"})}},{key:"knownLayoutOptions",value:function(){return this.worker.postMessage({cmd:"options"})}},{key:"knownLayoutCategories",value:function(){return this.worker.postMessage({cmd:"categories"})}},{key:"terminateWorker",value:function(){this.worker&&this.worker.terminate()}}]),Ht}();Sr.default=Wt;var Bu=function(){function Ht(Jt){var Xe=this;if(y(this,Ht),Jt===void 0)throw new Error("Missing mandatory parameter 'worker'.");this.resolvers={},this.worker=Jt,this.worker.onmessage=function(Yi){setTimeout(function(){Xe.receive(Xe,Yi)},0)}}return Di(Ht,[{key:"postMessage",value:function(Xe){var Yi=this.id||0;this.id=Yi+1,Xe.id=Yi;var Ri=this;return new Promise(function(En,hu){Ri.resolvers[Yi]=function(Qc,Ru){Qc?(Ri.convertGwtStyleError(Qc),hu(Qc)):En(Ru)},Ri.worker.postMessage(Xe)})}},{key:"receive",value:function(Xe,Yi){var Ri=Yi.data,En=Xe.resolvers[Ri.id];En&&(delete Xe.resolvers[Ri.id],Ri.error?En(Ri.error):En(null,Ri.data))}},{key:"terminate",value:function(){this.worker&&this.worker.terminate()}},{key:"convertGwtStyleError",value:function(Xe){if(Xe){var Yi=Xe.__java$exception;Yi&&(Yi.cause&&Yi.cause.backingJsObject&&(Xe.cause=Yi.cause.backingJsObject,this.convertGwtStyleError(Xe.cause)),delete Xe.__java$exception)}}}]),Ht}()},{}],2:[function(Xt,gt,Sr){(function(Di){(function(){var y;typeof window<"u"?y=window:typeof Di<"u"?y=Di:typeof self<"u"&&(y=self);var Wt;function Bu(){}function Ht(){}function Jt(){}function Xe(){}function Yi(){}function Ri(){}function En(){}function hu(){}function Qc(){}function Ru(){}function Pr(){}function Mf(){}function L1(){}function N1(){}function og(){}function V3(){}function $1(){}function ul(){}function C0n(){}function M0n(){}function Q2(){}function F(){}function T0n(){}function mE(){}function A0n(){}function S0n(){}function P0n(){}function I0n(){}function O0n(){}function FU(){}function D0n(){}function L0n(){}function N0n(){}function OO(){}function $0n(){}function x0n(){}function F0n(){}function DO(){}function B0n(){}function R0n(){}function BU(){}function K0n(){}function _0n(){}function yu(){}function ju(){}function Y2(){}function Z2(){}function H0n(){}function q0n(){}function U0n(){}function G0n(){}function RU(){}function Eu(){}function np(){}function ep(){}function z0n(){}function X0n(){}function LO(){}function V0n(){}function W0n(){}function J0n(){}function Q0n(){}function Y0n(){}function Z0n(){}function nbn(){}function ebn(){}function tbn(){}function ibn(){}function rbn(){}function cbn(){}function ubn(){}function obn(){}function sbn(){}function fbn(){}function hbn(){}function lbn(){}function abn(){}function dbn(){}function bbn(){}function wbn(){}function gbn(){}function pbn(){}function mbn(){}function vbn(){}function kbn(){}function ybn(){}function jbn(){}function Ebn(){}function Cbn(){}function Mbn(){}function Tbn(){}function KU(){}function Abn(){}function Sbn(){}function Pbn(){}function Ibn(){}function NO(){}function $O(){}function vE(){}function Obn(){}function Dbn(){}function xO(){}function Lbn(){}function Nbn(){}function $bn(){}function kE(){}function xbn(){}function Fbn(){}function Bbn(){}function Rbn(){}function Kbn(){}function _bn(){}function Hbn(){}function qbn(){}function Ubn(){}function _U(){}function Gbn(){}function zbn(){}function HU(){}function Xbn(){}function Vbn(){}function Wbn(){}function Jbn(){}function Qbn(){}function Ybn(){}function Zbn(){}function nwn(){}function ewn(){}function twn(){}function iwn(){}function rwn(){}function cwn(){}function FO(){}function uwn(){}function own(){}function swn(){}function fwn(){}function hwn(){}function lwn(){}function awn(){}function dwn(){}function bwn(){}function qU(){}function UU(){}function wwn(){}function gwn(){}function pwn(){}function mwn(){}function vwn(){}function kwn(){}function ywn(){}function jwn(){}function Ewn(){}function Cwn(){}function Mwn(){}function Twn(){}function Awn(){}function Swn(){}function Pwn(){}function Iwn(){}function Own(){}function Dwn(){}function Lwn(){}function Nwn(){}function $wn(){}function xwn(){}function Fwn(){}function Bwn(){}function Rwn(){}function Kwn(){}function _wn(){}function Hwn(){}function qwn(){}function Uwn(){}function Gwn(){}function zwn(){}function Xwn(){}function Vwn(){}function Wwn(){}function Jwn(){}function Qwn(){}function Ywn(){}function Zwn(){}function ngn(){}function egn(){}function tgn(){}function ign(){}function rgn(){}function cgn(){}function ugn(){}function ogn(){}function sgn(){}function fgn(){}function hgn(){}function lgn(){}function agn(){}function dgn(){}function bgn(){}function wgn(){}function ggn(){}function pgn(){}function mgn(){}function vgn(){}function kgn(){}function ygn(){}function jgn(){}function Egn(){}function Cgn(){}function Mgn(){}function Tgn(){}function Agn(){}function Sgn(){}function Pgn(){}function Ign(){}function Ogn(){}function Dgn(){}function Lgn(){}function Ngn(){}function $gn(){}function xgn(){}function Fgn(){}function Bgn(){}function Rgn(){}function Kgn(){}function _gn(){}function Hgn(){}function qgn(){}function Ugn(){}function Ggn(){}function zgn(){}function Xgn(){}function Vgn(){}function Wgn(){}function Jgn(){}function Qgn(){}function Ygn(){}function Zgn(){}function n2n(){}function e2n(){}function t2n(){}function i2n(){}function r2n(){}function c2n(){}function u2n(){}function GU(){}function o2n(){}function s2n(){}function f2n(){}function h2n(){}function l2n(){}function a2n(){}function d2n(){}function b2n(){}function w2n(){}function g2n(){}function p2n(){}function m2n(){}function v2n(){}function k2n(){}function y2n(){}function j2n(){}function E2n(){}function C2n(){}function M2n(){}function T2n(){}function A2n(){}function S2n(){}function P2n(){}function I2n(){}function O2n(){}function D2n(){}function L2n(){}function N2n(){}function $2n(){}function x2n(){}function F2n(){}function B2n(){}function R2n(){}function K2n(){}function _2n(){}function H2n(){}function q2n(){}function U2n(){}function G2n(){}function z2n(){}function X2n(){}function V2n(){}function W2n(){}function J2n(){}function Q2n(){}function Y2n(){}function Z2n(){}function npn(){}function epn(){}function tpn(){}function ipn(){}function rpn(){}function cpn(){}function upn(){}function opn(){}function spn(){}function fpn(){}function hpn(){}function lpn(){}function apn(){}function dpn(){}function bpn(){}function wpn(){}function gpn(){}function ppn(){}function mpn(){}function vpn(){}function kpn(){}function ypn(){}function jpn(){}function Epn(){}function Cpn(){}function Mpn(){}function zU(){}function Tpn(){}function Apn(){}function Spn(){}function Ppn(){}function Ipn(){}function Opn(){}function Dpn(){}function Lpn(){}function Npn(){}function $pn(){}function XU(){}function xpn(){}function Fpn(){}function Bpn(){}function Rpn(){}function Kpn(){}function _pn(){}function VU(){}function WU(){}function Hpn(){}function JU(){}function QU(){}function qpn(){}function Upn(){}function Gpn(){}function zpn(){}function Xpn(){}function Vpn(){}function Wpn(){}function Jpn(){}function Qpn(){}function Ypn(){}function Zpn(){}function YU(){}function n3n(){}function e3n(){}function t3n(){}function i3n(){}function r3n(){}function c3n(){}function u3n(){}function o3n(){}function s3n(){}function f3n(){}function h3n(){}function l3n(){}function a3n(){}function d3n(){}function b3n(){}function w3n(){}function g3n(){}function p3n(){}function m3n(){}function v3n(){}function k3n(){}function y3n(){}function j3n(){}function E3n(){}function C3n(){}function M3n(){}function T3n(){}function A3n(){}function S3n(){}function P3n(){}function I3n(){}function O3n(){}function D3n(){}function L3n(){}function N3n(){}function $3n(){}function x3n(){}function F3n(){}function B3n(){}function R3n(){}function K3n(){}function _3n(){}function H3n(){}function q3n(){}function U3n(){}function G3n(){}function z3n(){}function X3n(){}function V3n(){}function W3n(){}function J3n(){}function Q3n(){}function Y3n(){}function Z3n(){}function n4n(){}function e4n(){}function t4n(){}function i4n(){}function r4n(){}function c4n(){}function u4n(){}function o4n(){}function s4n(){}function f4n(){}function h4n(){}function l4n(){}function a4n(){}function d4n(){}function b4n(){}function w4n(){}function g4n(){}function p4n(){}function m4n(){}function v4n(){}function k4n(){}function y4n(){}function j4n(){}function E4n(){}function C4n(){}function M4n(){}function T4n(){}function A4n(){}function S4n(){}function P4n(){}function I4n(){}function O4n(){}function _se(){}function D4n(){}function L4n(){}function N4n(){}function $4n(){}function x4n(){}function F4n(){}function B4n(){}function R4n(){}function K4n(){}function _4n(){}function H4n(){}function q4n(){}function U4n(){}function G4n(){}function z4n(){}function X4n(){}function V4n(){}function W4n(){}function J4n(){}function Q4n(){}function Y4n(){}function Z4n(){}function nmn(){}function emn(){}function tmn(){}function imn(){}function rmn(){}function BO(){}function RO(){}function cmn(){}function KO(){}function umn(){}function omn(){}function smn(){}function fmn(){}function hmn(){}function lmn(){}function amn(){}function dmn(){}function bmn(){}function wmn(){}function ZU(){}function gmn(){}function pmn(){}function mmn(){}function Hse(){}function vmn(){}function kmn(){}function ymn(){}function jmn(){}function Emn(){}function Cmn(){}function Mmn(){}function Ka(){}function Tmn(){}function tp(){}function nG(){}function Amn(){}function Smn(){}function Pmn(){}function Imn(){}function Omn(){}function Dmn(){}function Lmn(){}function Nmn(){}function $mn(){}function xmn(){}function Fmn(){}function Bmn(){}function Rmn(){}function Kmn(){}function _mn(){}function Hmn(){}function qmn(){}function Umn(){}function Gmn(){}function hn(){}function zmn(){}function Xmn(){}function Vmn(){}function Wmn(){}function Jmn(){}function Qmn(){}function Ymn(){}function Zmn(){}function nvn(){}function evn(){}function tvn(){}function ivn(){}function rvn(){}function _O(){}function cvn(){}function uvn(){}function ovn(){}function yE(){}function svn(){}function HO(){}function jE(){}function fvn(){}function eG(){}function hvn(){}function lvn(){}function avn(){}function dvn(){}function bvn(){}function wvn(){}function EE(){}function gvn(){}function pvn(){}function CE(){}function mvn(){}function ME(){}function vvn(){}function tG(){}function kvn(){}function qO(){}function iG(){}function yvn(){}function jvn(){}function Evn(){}function Cvn(){}function qse(){}function Mvn(){}function Tvn(){}function Avn(){}function Svn(){}function Pvn(){}function Ivn(){}function Ovn(){}function Dvn(){}function Lvn(){}function Nvn(){}function W3(){}function UO(){}function $vn(){}function xvn(){}function Fvn(){}function Bvn(){}function Rvn(){}function Kvn(){}function _vn(){}function Hvn(){}function qvn(){}function Uvn(){}function Gvn(){}function zvn(){}function Xvn(){}function Vvn(){}function Wvn(){}function Jvn(){}function Qvn(){}function Yvn(){}function Zvn(){}function n6n(){}function e6n(){}function t6n(){}function i6n(){}function r6n(){}function c6n(){}function u6n(){}function o6n(){}function s6n(){}function f6n(){}function h6n(){}function l6n(){}function a6n(){}function d6n(){}function b6n(){}function w6n(){}function g6n(){}function p6n(){}function m6n(){}function v6n(){}function k6n(){}function y6n(){}function j6n(){}function E6n(){}function C6n(){}function M6n(){}function T6n(){}function A6n(){}function S6n(){}function P6n(){}function I6n(){}function O6n(){}function D6n(){}function L6n(){}function N6n(){}function $6n(){}function x6n(){}function F6n(){}function B6n(){}function R6n(){}function K6n(){}function _6n(){}function H6n(){}function q6n(){}function U6n(){}function G6n(){}function z6n(){}function X6n(){}function V6n(){}function W6n(){}function J6n(){}function Q6n(){}function Y6n(){}function Z6n(){}function n5n(){}function e5n(){}function t5n(){}function i5n(){}function r5n(){}function c5n(){}function u5n(){}function o5n(){}function s5n(){}function f5n(){}function h5n(){}function l5n(){}function a5n(){}function d5n(){}function b5n(){}function w5n(){}function g5n(){}function p5n(){}function m5n(){}function v5n(){}function k5n(){}function y5n(){}function j5n(){}function E5n(){}function C5n(){}function M5n(){}function T5n(){}function A5n(){}function rG(){}function S5n(){}function P5n(){}function GO(){n6()}function I5n(){u7()}function O5n(){aA()}function D5n(){Q$()}function L5n(){M5()}function N5n(){ann()}function $5n(){Us()}function x5n(){jZ()}function F5n(){zk()}function B5n(){o7()}function R5n(){$7()}function K5n(){aCn()}function _5n(){Hp()}function H5n(){KLn()}function q5n(){yQ()}function U5n(){SOn()}function G5n(){jQ()}function z5n(){pNn()}function X5n(){AOn()}function V5n(){cm()}function W5n(){nxn()}function J5n(){Z$n()}function Q5n(){EDn()}function Y5n(){exn()}function Z5n(){ua()}function n8n(){ZE()}function e8n(){ltn()}function t8n(){cn()}function i8n(){txn()}function r8n(){Pxn()}function c8n(){POn()}function u8n(){nKn()}function o8n(){IOn()}function s8n(){bUn()}function f8n(){qnn()}function h8n(){kl()}function l8n(){wBn()}function a8n(){lc()}function d8n(){ROn()}function b8n(){_p()}function w8n(){Men()}function g8n(){oa()}function p8n(){Ten()}function m8n(){Rf()}function v8n(){Qk()}function k8n(){EF()}function y8n(){Dx()}function uf(){wSn()}function j8n(){YM()}function E8n(){mA()}function cG(){Ue()}function C8n(){NT()}function M8n(){YY()}function uG(){D$()}function oG(){KA()}function T8n(){Fen()}function sG(n){Jn(n)}function A8n(n){this.a=n}function TE(n){this.a=n}function S8n(n){this.a=n}function P8n(n){this.a=n}function I8n(n){this.a=n}function O8n(n){this.a=n}function D8n(n){this.a=n}function L8n(n){this.a=n}function fG(n){this.a=n}function hG(n){this.a=n}function N8n(n){this.a=n}function $8n(n){this.a=n}function zO(n){this.a=n}function x8n(n){this.a=n}function F8n(n){this.a=n}function XO(n){this.a=n}function VO(n){this.a=n}function B8n(n){this.a=n}function WO(n){this.a=n}function R8n(n){this.a=n}function K8n(n){this.a=n}function _8n(n){this.a=n}function lG(n){this.b=n}function H8n(n){this.c=n}function q8n(n){this.a=n}function U8n(n){this.a=n}function G8n(n){this.a=n}function z8n(n){this.a=n}function X8n(n){this.a=n}function V8n(n){this.a=n}function W8n(n){this.a=n}function J8n(n){this.a=n}function Q8n(n){this.a=n}function Y8n(n){this.a=n}function Z8n(n){this.a=n}function n9n(n){this.a=n}function e9n(n){this.a=n}function aG(n){this.a=n}function dG(n){this.a=n}function AE(n){this.a=n}function z9(n){this.a=n}function _a(){this.a=[]}function t9n(n,e){n.a=e}function Use(n,e){n.a=e}function Gse(n,e){n.b=e}function zse(n,e){n.b=e}function Xse(n,e){n.b=e}function bG(n,e){n.j=e}function Vse(n,e){n.g=e}function Wse(n,e){n.i=e}function Jse(n,e){n.c=e}function Qse(n,e){n.c=e}function Yse(n,e){n.d=e}function Zse(n,e){n.d=e}function Ha(n,e){n.k=e}function nfe(n,e){n.c=e}function wG(n,e){n.c=e}function gG(n,e){n.a=e}function efe(n,e){n.a=e}function tfe(n,e){n.f=e}function ife(n,e){n.a=e}function rfe(n,e){n.b=e}function JO(n,e){n.d=e}function SE(n,e){n.i=e}function pG(n,e){n.o=e}function cfe(n,e){n.r=e}function ufe(n,e){n.a=e}function ofe(n,e){n.b=e}function i9n(n,e){n.e=e}function sfe(n,e){n.f=e}function mG(n,e){n.g=e}function ffe(n,e){n.e=e}function hfe(n,e){n.f=e}function lfe(n,e){n.f=e}function QO(n,e){n.a=e}function YO(n,e){n.b=e}function afe(n,e){n.n=e}function dfe(n,e){n.a=e}function bfe(n,e){n.c=e}function wfe(n,e){n.c=e}function gfe(n,e){n.c=e}function pfe(n,e){n.a=e}function mfe(n,e){n.a=e}function vfe(n,e){n.d=e}function kfe(n,e){n.d=e}function yfe(n,e){n.e=e}function jfe(n,e){n.e=e}function Efe(n,e){n.g=e}function Cfe(n,e){n.f=e}function Mfe(n,e){n.j=e}function Tfe(n,e){n.a=e}function Afe(n,e){n.a=e}function Sfe(n,e){n.b=e}function r9n(n){n.b=n.a}function c9n(n){n.c=n.d.d}function vG(n){this.a=n}function kG(n){this.a=n}function yG(n){this.a=n}function qa(n){this.a=n}function Ua(n){this.a=n}function X9(n){this.a=n}function u9n(n){this.a=n}function jG(n){this.a=n}function V9(n){this.a=n}function PE(n){this.a=n}function ol(n){this.a=n}function Sb(n){this.a=n}function o9n(n){this.a=n}function s9n(n){this.a=n}function ZO(n){this.b=n}function J3(n){this.b=n}function Q3(n){this.b=n}function nD(n){this.a=n}function f9n(n){this.a=n}function eD(n){this.c=n}function C(n){this.c=n}function h9n(n){this.c=n}function Xv(n){this.d=n}function EG(n){this.a=n}function Te(n){this.a=n}function l9n(n){this.a=n}function CG(n){this.a=n}function MG(n){this.a=n}function TG(n){this.a=n}function AG(n){this.a=n}function SG(n){this.a=n}function PG(n){this.a=n}function Y3(n){this.a=n}function a9n(n){this.a=n}function d9n(n){this.a=n}function Z3(n){this.a=n}function b9n(n){this.a=n}function w9n(n){this.a=n}function g9n(n){this.a=n}function p9n(n){this.a=n}function m9n(n){this.a=n}function v9n(n){this.a=n}function k9n(n){this.a=n}function y9n(n){this.a=n}function j9n(n){this.a=n}function E9n(n){this.a=n}function C9n(n){this.a=n}function M9n(n){this.a=n}function T9n(n){this.a=n}function A9n(n){this.a=n}function S9n(n){this.a=n}function Vv(n){this.a=n}function P9n(n){this.a=n}function I9n(n){this.a=n}function O9n(n){this.a=n}function D9n(n){this.a=n}function IE(n){this.a=n}function L9n(n){this.a=n}function N9n(n){this.a=n}function n4(n){this.a=n}function IG(n){this.a=n}function $9n(n){this.a=n}function x9n(n){this.a=n}function F9n(n){this.a=n}function B9n(n){this.a=n}function R9n(n){this.a=n}function K9n(n){this.a=n}function OG(n){this.a=n}function DG(n){this.a=n}function LG(n){this.a=n}function Wv(n){this.a=n}function OE(n){this.e=n}function e4(n){this.a=n}function _9n(n){this.a=n}function ip(n){this.a=n}function NG(n){this.a=n}function H9n(n){this.a=n}function q9n(n){this.a=n}function U9n(n){this.a=n}function G9n(n){this.a=n}function z9n(n){this.a=n}function X9n(n){this.a=n}function V9n(n){this.a=n}function W9n(n){this.a=n}function J9n(n){this.a=n}function Q9n(n){this.a=n}function Y9n(n){this.a=n}function $G(n){this.a=n}function Z9n(n){this.a=n}function n7n(n){this.a=n}function e7n(n){this.a=n}function t7n(n){this.a=n}function i7n(n){this.a=n}function r7n(n){this.a=n}function c7n(n){this.a=n}function u7n(n){this.a=n}function o7n(n){this.a=n}function s7n(n){this.a=n}function f7n(n){this.a=n}function h7n(n){this.a=n}function l7n(n){this.a=n}function a7n(n){this.a=n}function d7n(n){this.a=n}function b7n(n){this.a=n}function w7n(n){this.a=n}function g7n(n){this.a=n}function p7n(n){this.a=n}function m7n(n){this.a=n}function v7n(n){this.a=n}function k7n(n){this.a=n}function y7n(n){this.a=n}function j7n(n){this.a=n}function E7n(n){this.a=n}function C7n(n){this.a=n}function M7n(n){this.a=n}function T7n(n){this.a=n}function A7n(n){this.a=n}function S7n(n){this.a=n}function P7n(n){this.a=n}function I7n(n){this.a=n}function O7n(n){this.a=n}function D7n(n){this.a=n}function L7n(n){this.a=n}function N7n(n){this.a=n}function $7n(n){this.a=n}function x7n(n){this.a=n}function F7n(n){this.c=n}function B7n(n){this.b=n}function R7n(n){this.a=n}function K7n(n){this.a=n}function _7n(n){this.a=n}function H7n(n){this.a=n}function q7n(n){this.a=n}function U7n(n){this.a=n}function G7n(n){this.a=n}function z7n(n){this.a=n}function X7n(n){this.a=n}function V7n(n){this.a=n}function W7n(n){this.a=n}function J7n(n){this.a=n}function Q7n(n){this.a=n}function Y7n(n){this.a=n}function Z7n(n){this.a=n}function nkn(n){this.a=n}function ekn(n){this.a=n}function tkn(n){this.a=n}function ikn(n){this.a=n}function rkn(n){this.a=n}function ckn(n){this.a=n}function ukn(n){this.a=n}function okn(n){this.a=n}function skn(n){this.a=n}function fkn(n){this.a=n}function hkn(n){this.a=n}function lkn(n){this.a=n}function sl(n){this.a=n}function sg(n){this.a=n}function akn(n){this.a=n}function dkn(n){this.a=n}function bkn(n){this.a=n}function wkn(n){this.a=n}function gkn(n){this.a=n}function pkn(n){this.a=n}function mkn(n){this.a=n}function vkn(n){this.a=n}function kkn(n){this.a=n}function ykn(n){this.a=n}function jkn(n){this.a=n}function Ekn(n){this.a=n}function Ckn(n){this.a=n}function Mkn(n){this.a=n}function Tkn(n){this.a=n}function Akn(n){this.a=n}function Skn(n){this.a=n}function Pkn(n){this.a=n}function Ikn(n){this.a=n}function Okn(n){this.a=n}function Dkn(n){this.a=n}function Lkn(n){this.a=n}function Nkn(n){this.a=n}function $kn(n){this.a=n}function xkn(n){this.a=n}function Fkn(n){this.a=n}function DE(n){this.a=n}function Bkn(n){this.f=n}function Rkn(n){this.a=n}function Kkn(n){this.a=n}function _kn(n){this.a=n}function Hkn(n){this.a=n}function qkn(n){this.a=n}function Ukn(n){this.a=n}function Gkn(n){this.a=n}function zkn(n){this.a=n}function Xkn(n){this.a=n}function Vkn(n){this.a=n}function Wkn(n){this.a=n}function Jkn(n){this.a=n}function Qkn(n){this.a=n}function Ykn(n){this.a=n}function Zkn(n){this.a=n}function nyn(n){this.a=n}function eyn(n){this.a=n}function tyn(n){this.a=n}function iyn(n){this.a=n}function ryn(n){this.a=n}function cyn(n){this.a=n}function uyn(n){this.a=n}function oyn(n){this.a=n}function syn(n){this.a=n}function fyn(n){this.a=n}function hyn(n){this.a=n}function lyn(n){this.a=n}function ayn(n){this.a=n}function tD(n){this.a=n}function xG(n){this.a=n}function lt(n){this.b=n}function dyn(n){this.a=n}function byn(n){this.a=n}function wyn(n){this.a=n}function gyn(n){this.a=n}function pyn(n){this.a=n}function myn(n){this.a=n}function vyn(n){this.a=n}function kyn(n){this.b=n}function yyn(n){this.a=n}function W9(n){this.a=n}function jyn(n){this.a=n}function Eyn(n){this.a=n}function FG(n){this.c=n}function LE(n){this.e=n}function NE(n){this.a=n}function $E(n){this.a=n}function iD(n){this.a=n}function Cyn(n){this.d=n}function Myn(n){this.a=n}function BG(n){this.a=n}function RG(n){this.a=n}function Wd(n){this.e=n}function Pfe(){this.a=0}function de(){Hu(this)}function Z(){pL(this)}function rD(){sIn(this)}function Tyn(){}function Jd(){this.c=Gdn}function Ayn(n,e){n.b+=e}function Ife(n,e){e.Wb(n)}function Ofe(n){return n.a}function Dfe(n){return n.a}function Lfe(n){return n.a}function Nfe(n){return n.a}function $fe(n){return n.a}function M(n){return n.e}function xfe(){return null}function Ffe(){return null}function Bfe(){Cz(),pLe()}function Rfe(n){n.b.Of(n.e)}function Syn(n){n.b=new CD}function Jv(n,e){n.b=e-n.b}function Qv(n,e){n.a=e-n.a}function Kn(n,e){n.push(e)}function Pyn(n,e){n.sort(e)}function Iyn(n,e){e.jd(n.a)}function Kfe(n,e){gi(e,n)}function _fe(n,e,t){n.Yd(t,e)}function J9(n,e){n.e=e,e.b=n}function KG(n){oh(),this.a=n}function Oyn(n){oh(),this.a=n}function Dyn(n){oh(),this.a=n}function cD(n){m0(),this.a=n}function Lyn(n){O4(),VK.le(n)}function _G(){_G=F,new de}function Ga(){YTn.call(this)}function HG(){YTn.call(this)}function qG(){Ga.call(this)}function uD(){Ga.call(this)}function Nyn(){Ga.call(this)}function Q9(){Ga.call(this)}function Cu(){Ga.call(this)}function rp(){Ga.call(this)}function Pe(){Ga.call(this)}function Bo(){Ga.call(this)}function $yn(){Ga.call(this)}function nc(){Ga.call(this)}function xyn(){Ga.call(this)}function Fyn(){this.a=this}function xE(){this.Bb|=256}function Byn(){this.b=new GMn}function Pb(n,e){n.length=e}function FE(n,e){nn(n.a,e)}function Hfe(n,e){bnn(n.c,e)}function qfe(n,e){fi(n.b,e)}function Ufe(n,e){uA(n.a,e)}function Gfe(n,e){cx(n.a,e)}function t4(n,e){it(n.e,e)}function cp(n){jA(n.c,n.b)}function zfe(n,e){n.kc().Nb(e)}function UG(n){this.a=B5e(n)}function ni(){this.a=new de}function Ryn(){this.a=new de}function GG(){this.a=new rCn}function BE(){this.a=new Z}function oD(){this.a=new Z}function zG(){this.a=new Z}function hs(){this.a=new cbn}function za(){this.a=new NLn}function XG(){this.a=new _U}function VG(){this.a=new TOn}function WG(){this.a=new BAn}function Kyn(){this.a=new Z}function _yn(){this.a=new Z}function Hyn(){this.a=new Z}function JG(){this.a=new Z}function qyn(){this.d=new Z}function Uyn(){this.a=new zOn}function Gyn(){this.a=new ni}function zyn(){this.a=new de}function Xyn(){this.b=new de}function Vyn(){this.b=new Z}function QG(){this.e=new Z}function Wyn(){this.a=new Z5n}function Jyn(){this.d=new Z}function Qyn(){QIn.call(this)}function Yyn(){QIn.call(this)}function Zyn(){Z.call(this)}function YG(){qG.call(this)}function ZG(){BE.call(this)}function njn(){qC.call(this)}function ejn(){JG.call(this)}function Yv(){Tyn.call(this)}function sD(){Yv.call(this)}function up(){Tyn.call(this)}function nz(){up.call(this)}function tjn(){rz.call(this)}function ijn(){rz.call(this)}function rjn(){rz.call(this)}function cjn(){cz.call(this)}function Zv(){svn.call(this)}function ez(){svn.call(this)}function Mu(){Ct.call(this)}function ujn(){yjn.call(this)}function ojn(){yjn.call(this)}function sjn(){de.call(this)}function fjn(){de.call(this)}function hjn(){de.call(this)}function fD(){cxn.call(this)}function ljn(){ni.call(this)}function ajn(){xE.call(this)}function hD(){BX.call(this)}function tz(){de.call(this)}function lD(){BX.call(this)}function aD(){de.call(this)}function djn(){de.call(this)}function iz(){ME.call(this)}function bjn(){iz.call(this)}function wjn(){ME.call(this)}function gjn(){rG.call(this)}function rz(){this.a=new ni}function pjn(){this.a=new de}function mjn(){this.a=new Z}function cz(){this.a=new de}function op(){this.a=new Ct}function vjn(){this.j=new Z}function kjn(){this.a=new mEn}function yjn(){this.a=new mvn}function uz(){this.a=new Z4n}function n6(){n6=F,KK=new Ht}function dD(){dD=F,_K=new Ejn}function bD(){bD=F,HK=new jjn}function jjn(){XO.call(this,"")}function Ejn(){XO.call(this,"")}function Cjn(n){S$n.call(this,n)}function Mjn(n){S$n.call(this,n)}function oz(n){fG.call(this,n)}function sz(n){XEn.call(this,n)}function Xfe(n){XEn.call(this,n)}function Vfe(n){sz.call(this,n)}function Wfe(n){sz.call(this,n)}function Jfe(n){sz.call(this,n)}function Tjn(n){zN.call(this,n)}function Ajn(n){zN.call(this,n)}function Sjn(n){uSn.call(this,n)}function Pjn(n){Oz.call(this,n)}function e6(n){WE.call(this,n)}function fz(n){WE.call(this,n)}function Ijn(n){WE.call(this,n)}function hz(n){mje.call(this,n)}function lz(n){hz.call(this,n)}function ec(n){APn.call(this,n)}function Ojn(n){ec.call(this,n)}function sp(){z9.call(this,{})}function Djn(){Djn=F,dQn=new M0n}function RE(){RE=F,GK=new STn}function Ljn(){Ljn=F,oun=new Bu}function az(){az=F,sun=new N1}function KE(){KE=F,P8=new $1}function wD(n){b4(),this.a=n}function gD(n){RQ(),this.a=n}function Qd(n){nN(),this.f=n}function pD(n){nN(),this.f=n}function Njn(n){bSn(),this.a=n}function $jn(n){n.b=null,n.c=0}function Qfe(n,e){n.e=e,bqn(n,e)}function Yfe(n,e){n.a=e,cEe(n)}function mD(n,e,t){n.a[e.g]=t}function Zfe(n,e,t){kke(t,n,e)}function nhe(n,e){Wae(e.i,n.n)}function xjn(n,e){v6e(n).Cd(e)}function ehe(n,e){n.a.ec().Mc(e)}function Fjn(n,e){return n.g-e.g}function the(n,e){return n*n/e}function on(n){return Jn(n),n}function $(n){return Jn(n),n}function Y9(n){return Jn(n),n}function ihe(n){return new AE(n)}function rhe(n){return new qb(n)}function dz(n){return Jn(n),n}function che(n){return Jn(n),n}function _E(n){ec.call(this,n)}function Ir(n){ec.call(this,n)}function Bjn(n){ec.call(this,n)}function vD(n){APn.call(this,n)}function i4(n){ec.call(this,n)}function Gn(n){ec.call(this,n)}function Or(n){ec.call(this,n)}function Rjn(n){ec.call(this,n)}function fp(n){ec.call(this,n)}function Kl(n){ec.call(this,n)}function _l(n){ec.call(this,n)}function hp(n){ec.call(this,n)}function eh(n){ec.call(this,n)}function kD(n){ec.call(this,n)}function Le(n){ec.call(this,n)}function Ku(n){Jn(n),this.a=n}function bz(n){return ld(n),n}function t6(n){TW(n,n.length)}function i6(n){return n.b==n.c}function Ib(n){return!!n&&n.b}function uhe(n){return!!n&&n.k}function ohe(n){return!!n&&n.j}function she(n,e,t){n.c.Ef(e,t)}function Kjn(n,e){n.be(e),e.ae(n)}function lp(n){oh(),this.a=Se(n)}function yD(){this.a=Oe(Se(ur))}function _jn(){throw M(new Pe)}function fhe(){throw M(new Pe)}function wz(){throw M(new Pe)}function Hjn(){throw M(new Pe)}function hhe(){throw M(new Pe)}function lhe(){throw M(new Pe)}function HE(){HE=F,O4()}function Hl(){X9.call(this,"")}function r6(){X9.call(this,"")}function x1(){X9.call(this,"")}function fg(){X9.call(this,"")}function gz(n){Ir.call(this,n)}function pz(n){Ir.call(this,n)}function th(n){Gn.call(this,n)}function r4(n){Q3.call(this,n)}function qjn(n){r4.call(this,n)}function jD(n){BC.call(this,n)}function ED(n){JX.call(this,n,0)}function CD(){sJ.call(this,12,3)}function T(n,e){return kOn(n,e)}function qE(n,e){return o$(n,e)}function ahe(n,e){return n.a-e.a}function dhe(n,e){return n.a-e.a}function bhe(n,e){return n.a-e.a}function whe(n,e){return e in n.a}function Ujn(n){return n.a?n.b:0}function ghe(n){return n.a?n.b:0}function phe(n,e,t){e.Cd(n.a[t])}function mhe(n,e,t){e.Pe(n.a[t])}function vhe(n,e){n.b=new rr(e)}function khe(n,e){return n.b=e,n}function Gjn(n,e){return n.c=e,n}function zjn(n,e){return n.f=e,n}function yhe(n,e){return n.g=e,n}function mz(n,e){return n.a=e,n}function vz(n,e){return n.f=e,n}function jhe(n,e){return n.k=e,n}function kz(n,e){return n.a=e,n}function Ehe(n,e){return n.e=e,n}function yz(n,e){return n.e=e,n}function Che(n,e){return n.f=e,n}function Mhe(n,e){n.b=!0,n.d=e}function The(n,e){return n.b-e.b}function Ahe(n,e){return n.g-e.g}function She(n,e){return n?0:e-1}function Xjn(n,e){return n?0:e-1}function Phe(n,e){return n?e-1:0}function Ihe(n,e){return n.s-e.s}function Ohe(n,e){return e.rg(n)}function Yd(n,e){return n.b=e,n}function UE(n,e){return n.a=e,n}function Zd(n,e){return n.c=e,n}function n0(n,e){return n.d=e,n}function e0(n,e){return n.e=e,n}function jz(n,e){return n.f=e,n}function c6(n,e){return n.a=e,n}function c4(n,e){return n.b=e,n}function u4(n,e){return n.c=e,n}function an(n,e){return n.c=e,n}function Sn(n,e){return n.b=e,n}function dn(n,e){return n.d=e,n}function bn(n,e){return n.e=e,n}function Dhe(n,e){return n.f=e,n}function wn(n,e){return n.g=e,n}function gn(n,e){return n.a=e,n}function pn(n,e){return n.i=e,n}function mn(n,e){return n.j=e,n}function Lhe(n,e){ua(),ic(e,n)}function Nhe(n,e,t){Jbe(n.a,e,t)}function GE(n){$L.call(this,n)}function Vjn(n){Z5e.call(this,n)}function Wjn(n){SIn.call(this,n)}function Ez(n){SIn.call(this,n)}function F1(n){S0.call(this,n)}function Jjn(n){CN.call(this,n)}function Qjn(n){CN.call(this,n)}function Yjn(){DX.call(this,"")}function Li(){this.a=0,this.b=0}function Zjn(){this.b=0,this.a=0}function nEn(n,e){n.b=0,Zb(n,e)}function eEn(n,e){return n.k=e,n}function $he(n,e){return n.j=e,n}function xhe(n,e){n.c=e,n.b=!0}function tEn(){tEn=F,TQn=Xke()}function B1(){B1=F,voe=rke()}function iEn(){iEn=F,Ti=gye()}function Cz(){Cz=F,Da=z4()}function o4(){o4=F,Udn=cke()}function rEn(){rEn=F,ise=uke()}function Mz(){Mz=F,yc=tEe()}function of(n){return n.e&&n.e()}function cEn(n){return n.l|n.m<<22}function uEn(n,e){return n.c._b(e)}function oEn(n,e){return rBn(n.b,e)}function MD(n){return n?n.d:null}function Fhe(n){return n?n.g:null}function Bhe(n){return n?n.i:null}function Xa(n){return ll(n),n.o}function hg(n,e){return n.a+=e,n}function TD(n,e){return n.a+=e,n}function ql(n,e){return n.a+=e,n}function t0(n,e){return n.a+=e,n}function Tz(n,e){for(;n.Bd(e););}function zE(n){this.a=new ap(n)}function sEn(){throw M(new Pe)}function fEn(){throw M(new Pe)}function hEn(){throw M(new Pe)}function lEn(){throw M(new Pe)}function aEn(){throw M(new Pe)}function dEn(){throw M(new Pe)}function Ul(n){this.a=new iN(n)}function bEn(){this.a=new K5(Rln)}function wEn(){this.b=new K5(rln)}function gEn(){this.a=new K5(f1n)}function pEn(){this.b=new K5(Fq)}function mEn(){this.b=new K5(Fq)}function XE(n){this.a=0,this.b=n}function Az(n){zGn(),ILe(this,n)}function s4(n){return X1(n),n.a}function Z9(n){return n.b!=n.d.c}function Sz(n,e){return n.d[e.p]}function vEn(n,e){return XTe(n,e)}function Pz(n,e,t){n.splice(e,t)}function lg(n,e){for(;n.Re(e););}function kEn(n){n.c?Dqn(n):Lqn(n)}function yEn(){throw M(new Pe)}function jEn(){throw M(new Pe)}function EEn(){throw M(new Pe)}function CEn(){throw M(new Pe)}function MEn(){throw M(new Pe)}function TEn(){throw M(new Pe)}function AEn(){throw M(new Pe)}function SEn(){throw M(new Pe)}function PEn(){throw M(new Pe)}function IEn(){throw M(new Pe)}function Rhe(){throw M(new nc)}function Khe(){throw M(new nc)}function n7(n){this.a=new OEn(n)}function OEn(n){Ume(this,n,jje())}function e7(n){return!n||oIn(n)}function t7(n){return nh[n]!=-1}function _he(){cP!=0&&(cP=0),uP=-1}function DEn(){RK==null&&(RK=[])}function i7(n,e){Mg.call(this,n,e)}function f4(n,e){i7.call(this,n,e)}function LEn(n,e){this.a=n,this.b=e}function NEn(n,e){this.a=n,this.b=e}function $En(n,e){this.a=n,this.b=e}function xEn(n,e){this.a=n,this.b=e}function FEn(n,e){this.a=n,this.b=e}function BEn(n,e){this.a=n,this.b=e}function REn(n,e){this.a=n,this.b=e}function h4(n,e){this.e=n,this.d=e}function Iz(n,e){this.b=n,this.c=e}function KEn(n,e){this.b=n,this.a=e}function _En(n,e){this.b=n,this.a=e}function HEn(n,e){this.b=n,this.a=e}function qEn(n,e){this.b=n,this.a=e}function UEn(n,e){this.a=n,this.b=e}function AD(n,e){this.a=n,this.b=e}function GEn(n,e){this.a=n,this.f=e}function i0(n,e){this.g=n,this.i=e}function je(n,e){this.f=n,this.g=e}function zEn(n,e){this.b=n,this.c=e}function XEn(n){KX(n.dc()),this.c=n}function Hhe(n,e){this.a=n,this.b=e}function VEn(n,e){this.a=n,this.b=e}function WEn(n){this.a=u(Se(n),15)}function Oz(n){this.a=u(Se(n),15)}function JEn(n){this.a=u(Se(n),85)}function VE(n){this.b=u(Se(n),85)}function WE(n){this.b=u(Se(n),51)}function JE(){this.q=new y.Date}function SD(n,e){this.a=n,this.b=e}function QEn(n,e){return Zc(n.b,e)}function r7(n,e){return n.b.Hc(e)}function YEn(n,e){return n.b.Ic(e)}function ZEn(n,e){return n.b.Qc(e)}function nCn(n,e){return n.b.Hc(e)}function eCn(n,e){return n.c.uc(e)}function tCn(n,e){return rt(n.c,e)}function sf(n,e){return n.a._b(e)}function iCn(n,e){return n>e&&e0}function ND(n,e){return Ec(n,e)<0}function vCn(n,e){return JL(n.a,e)}function ole(n,e){yOn.call(this,n,e)}function Bz(n){wN(),uSn.call(this,n)}function Rz(n,e){bPn(n,n.length,e)}function s7(n,e){HPn(n,n.length,e)}function d6(n,e){return n.a.get(e)}function kCn(n,e){return Zc(n.e,e)}function Kz(n){return Jn(n),!1}function _z(n){this.a=u(Se(n),229)}function cC(n){In.call(this,n,21)}function uC(n,e){je.call(this,n,e)}function $D(n,e){je.call(this,n,e)}function yCn(n,e){this.b=n,this.a=e}function oC(n,e){this.d=n,this.e=e}function jCn(n,e){this.a=n,this.b=e}function ECn(n,e){this.a=n,this.b=e}function CCn(n,e){this.a=n,this.b=e}function MCn(n,e){this.a=n,this.b=e}function bp(n,e){this.a=n,this.b=e}function TCn(n,e){this.b=n,this.a=e}function Hz(n,e){this.b=n,this.a=e}function qz(n,e){je.call(this,n,e)}function Uz(n,e){je.call(this,n,e)}function ag(n,e){je.call(this,n,e)}function xD(n,e){je.call(this,n,e)}function FD(n,e){je.call(this,n,e)}function BD(n,e){je.call(this,n,e)}function sC(n,e){je.call(this,n,e)}function Gz(n,e){this.b=n,this.a=e}function fC(n,e){je.call(this,n,e)}function zz(n,e){this.b=n,this.a=e}function hC(n,e){je.call(this,n,e)}function ACn(n,e){this.b=n,this.a=e}function Xz(n,e){je.call(this,n,e)}function RD(n,e){je.call(this,n,e)}function f7(n,e){je.call(this,n,e)}function b6(n,e,t){n.splice(e,0,t)}function sle(n,e,t){n.Mb(t)&&e.Cd(t)}function fle(n,e,t){e.Pe(n.a.Ye(t))}function hle(n,e,t){e.Dd(n.a.Ze(t))}function lle(n,e,t){e.Cd(n.a.Kb(t))}function ale(n,e){return Au(n.c,e)}function dle(n,e){return Au(n.e,e)}function lC(n,e){je.call(this,n,e)}function aC(n,e){je.call(this,n,e)}function w6(n,e){je.call(this,n,e)}function Vz(n,e){je.call(this,n,e)}function ei(n,e){je.call(this,n,e)}function dC(n,e){je.call(this,n,e)}function SCn(n,e){this.a=n,this.b=e}function PCn(n,e){this.a=n,this.b=e}function ICn(n,e){this.a=n,this.b=e}function OCn(n,e){this.a=n,this.b=e}function DCn(n,e){this.a=n,this.b=e}function LCn(n,e){this.a=n,this.b=e}function NCn(n,e){this.b=n,this.a=e}function $Cn(n,e){this.b=n,this.a=e}function Wz(n,e){this.b=n,this.a=e}function d4(n,e){this.c=n,this.d=e}function xCn(n,e){this.e=n,this.d=e}function FCn(n,e){this.a=n,this.b=e}function BCn(n,e){this.a=n,this.b=e}function RCn(n,e){this.a=n,this.b=e}function KCn(n,e){this.b=n,this.a=e}function _Cn(n,e){this.b=e,this.c=n}function bC(n,e){je.call(this,n,e)}function h7(n,e){je.call(this,n,e)}function KD(n,e){je.call(this,n,e)}function Jz(n,e){je.call(this,n,e)}function g6(n,e){je.call(this,n,e)}function _D(n,e){je.call(this,n,e)}function HD(n,e){je.call(this,n,e)}function l7(n,e){je.call(this,n,e)}function Qz(n,e){je.call(this,n,e)}function qD(n,e){je.call(this,n,e)}function p6(n,e){je.call(this,n,e)}function Yz(n,e){je.call(this,n,e)}function m6(n,e){je.call(this,n,e)}function v6(n,e){je.call(this,n,e)}function Db(n,e){je.call(this,n,e)}function UD(n,e){je.call(this,n,e)}function GD(n,e){je.call(this,n,e)}function Zz(n,e){je.call(this,n,e)}function a7(n,e){je.call(this,n,e)}function dg(n,e){je.call(this,n,e)}function zD(n,e){je.call(this,n,e)}function wC(n,e){je.call(this,n,e)}function d7(n,e){je.call(this,n,e)}function Lb(n,e){je.call(this,n,e)}function gC(n,e){je.call(this,n,e)}function nX(n,e){je.call(this,n,e)}function XD(n,e){je.call(this,n,e)}function VD(n,e){je.call(this,n,e)}function WD(n,e){je.call(this,n,e)}function JD(n,e){je.call(this,n,e)}function QD(n,e){je.call(this,n,e)}function YD(n,e){je.call(this,n,e)}function ZD(n,e){je.call(this,n,e)}function HCn(n,e){this.b=n,this.a=e}function eX(n,e){je.call(this,n,e)}function qCn(n,e){this.a=n,this.b=e}function UCn(n,e){this.a=n,this.b=e}function GCn(n,e){this.a=n,this.b=e}function tX(n,e){je.call(this,n,e)}function iX(n,e){je.call(this,n,e)}function zCn(n,e){this.a=n,this.b=e}function ble(n,e){return k4(),e!=n}function b7(n){return oe(n.a),n.b}function nL(n){return yCe(n,n.c),n}function XCn(){return tEn(),new TQn}function VCn(){VC(),this.a=new kV}function WCn(){OA(),this.a=new ni}function JCn(){NN(),this.b=new ni}function QCn(n,e){this.b=n,this.d=e}function YCn(n,e){this.a=n,this.b=e}function ZCn(n,e){this.a=n,this.b=e}function nMn(n,e){this.a=n,this.b=e}function eMn(n,e){this.b=n,this.a=e}function rX(n,e){je.call(this,n,e)}function cX(n,e){je.call(this,n,e)}function pC(n,e){je.call(this,n,e)}function u0(n,e){je.call(this,n,e)}function eL(n,e){je.call(this,n,e)}function mC(n,e){je.call(this,n,e)}function uX(n,e){je.call(this,n,e)}function oX(n,e){je.call(this,n,e)}function w7(n,e){je.call(this,n,e)}function sX(n,e){je.call(this,n,e)}function tL(n,e){je.call(this,n,e)}function vC(n,e){je.call(this,n,e)}function iL(n,e){je.call(this,n,e)}function rL(n,e){je.call(this,n,e)}function cL(n,e){je.call(this,n,e)}function uL(n,e){je.call(this,n,e)}function fX(n,e){je.call(this,n,e)}function oL(n,e){je.call(this,n,e)}function hX(n,e){je.call(this,n,e)}function g7(n,e){je.call(this,n,e)}function sL(n,e){je.call(this,n,e)}function lX(n,e){je.call(this,n,e)}function p7(n,e){je.call(this,n,e)}function aX(n,e){je.call(this,n,e)}function tMn(n,e){this.b=n,this.a=e}function iMn(n,e){this.b=n,this.a=e}function rMn(n,e){this.b=n,this.a=e}function cMn(n,e){this.b=n,this.a=e}function dX(n,e){this.a=n,this.b=e}function uMn(n,e){this.a=n,this.b=e}function oMn(n,e){this.a=n,this.b=e}function V(n,e){this.a=n,this.b=e}function k6(n,e){je.call(this,n,e)}function m7(n,e){je.call(this,n,e)}function wp(n,e){je.call(this,n,e)}function y6(n,e){je.call(this,n,e)}function v7(n,e){je.call(this,n,e)}function fL(n,e){je.call(this,n,e)}function kC(n,e){je.call(this,n,e)}function j6(n,e){je.call(this,n,e)}function hL(n,e){je.call(this,n,e)}function yC(n,e){je.call(this,n,e)}function bg(n,e){je.call(this,n,e)}function k7(n,e){je.call(this,n,e)}function E6(n,e){je.call(this,n,e)}function C6(n,e){je.call(this,n,e)}function y7(n,e){je.call(this,n,e)}function jC(n,e){je.call(this,n,e)}function wg(n,e){je.call(this,n,e)}function lL(n,e){je.call(this,n,e)}function sMn(n,e){je.call(this,n,e)}function EC(n,e){je.call(this,n,e)}function fMn(n,e){this.a=n,this.b=e}function hMn(n,e){this.a=n,this.b=e}function lMn(n,e){this.a=n,this.b=e}function aMn(n,e){this.a=n,this.b=e}function dMn(n,e){this.a=n,this.b=e}function bMn(n,e){this.a=n,this.b=e}function bi(n,e){this.a=n,this.b=e}function wMn(n,e){this.a=n,this.b=e}function gMn(n,e){this.a=n,this.b=e}function pMn(n,e){this.a=n,this.b=e}function mMn(n,e){this.a=n,this.b=e}function vMn(n,e){this.a=n,this.b=e}function kMn(n,e){this.a=n,this.b=e}function yMn(n,e){this.b=n,this.a=e}function jMn(n,e){this.b=n,this.a=e}function EMn(n,e){this.b=n,this.a=e}function CMn(n,e){this.b=n,this.a=e}function MMn(n,e){this.a=n,this.b=e}function TMn(n,e){this.a=n,this.b=e}function CC(n,e){je.call(this,n,e)}function AMn(n,e){this.a=n,this.b=e}function SMn(n,e){this.a=n,this.b=e}function gp(n,e){je.call(this,n,e)}function PMn(n,e){this.f=n,this.c=e}function bX(n,e){return Au(n.g,e)}function wle(n,e){return Au(e.b,n)}function IMn(n,e){return wx(n.a,e)}function gle(n,e){return-n.b.af(e)}function ple(n,e){n&&Ve(hE,n,e)}function wX(n,e){n.i=null,kT(n,e)}function mle(n,e,t){yKn(e,oF(n,t))}function vle(n,e,t){yKn(e,oF(n,t))}function kle(n,e){VMe(n.a,u(e,58))}function OMn(n,e){U4e(n.a,u(e,12))}function MC(n,e){this.a=n,this.b=e}function DMn(n,e){this.a=n,this.b=e}function LMn(n,e){this.a=n,this.b=e}function NMn(n,e){this.a=n,this.b=e}function $Mn(n,e){this.a=n,this.b=e}function xMn(n,e){this.d=n,this.b=e}function FMn(n,e){this.e=n,this.a=e}function j7(n,e){this.b=n,this.c=e}function gX(n,e){this.i=n,this.g=e}function pX(n,e){this.d=n,this.e=e}function yle(n,e){cme(new ne(n),e)}function TC(n){return Rk(n.c,n.b)}function Kr(n){return n?n.md():null}function x(n){return n??null}function Ai(n){return typeof n===nB}function Nb(n){return typeof n===i3}function $b(n){return typeof n===dtn}function o0(n,e){return Ec(n,e)==0}function AC(n,e){return Ec(n,e)>=0}function M6(n,e){return Ec(n,e)!=0}function SC(n,e){return jve(n.Kc(),e)}function _1(n,e){return n.Rd().Xb(e)}function BMn(n){return eo(n),n.d.gc()}function PC(n){return F6(n==null),n}function T6(n,e){return n.a+=""+e,n}function Er(n,e){return n.a+=""+e,n}function A6(n,e){return n.a+=""+e,n}function Dc(n,e){return n.a+=""+e,n}function Re(n,e){return n.a+=""+e,n}function mX(n,e){return n.a+=""+e,n}function jle(n){return""+(Jn(n),n)}function RMn(n){Hu(this),f5(this,n)}function KMn(){oJ(),dW.call(this)}function _Mn(n,e){mW.call(this,n,e)}function HMn(n,e){mW.call(this,n,e)}function IC(n,e){mW.call(this,n,e)}function ir(n,e){xt(n,e,n.c.b,n.c)}function gg(n,e){xt(n,e,n.a,n.a.a)}function vX(n){return Ln(n,0),null}function qMn(){this.b=0,this.a=!1}function UMn(){this.b=0,this.a=!1}function GMn(){this.b=new ap(Qb(12))}function zMn(){zMn=F,kYn=Ce(jx())}function XMn(){XMn=F,HZn=Ce(iqn())}function VMn(){VMn=F,lre=Ce(xxn())}function kX(){kX=F,_G(),fun=new de}function ff(n){return n.a=0,n.b=0,n}function WMn(n,e){return n.a=e.g+1,n}function aL(n,e){Kb.call(this,n,e)}function Mn(n,e){Dt.call(this,n,e)}function pg(n,e){gX.call(this,n,e)}function JMn(n,e){T7.call(this,n,e)}function dL(n,e){Y4.call(this,n,e)}function Ge(n,e){iC(),Ve(yO,n,e)}function QMn(n,e){n.q.setTime(id(e))}function Ele(n){y.clearTimeout(n)}function Cle(n){return Se(n),new S6(n)}function YMn(n,e){return x(n)===x(e)}function ZMn(n,e){return n.a.a.a.cc(e)}function bL(n,e){return qo(n.a,0,e)}function yX(n){return Awe(u(n,74))}function pp(n){return wi((Jn(n),n))}function Mle(n){return wi((Jn(n),n))}function nTn(n){return Yc(n.l,n.m,n.h)}function jX(n,e){return jc(n.a,e.a)}function Tle(n,e){return KPn(n.a,e.a)}function Ale(n,e){return bt(n.a,e.a)}function ih(n,e){return n.indexOf(e)}function Sle(n,e){return n.j[e.p]==2}function s0(n,e){return n==e?0:n?1:-1}function OC(n){return n<10?"0"+n:""+n}function Vr(n){return typeof n===dtn}function Ple(n){return n==rb||n==Iw}function Ile(n){return n==rb||n==Pw}function eTn(n,e){return jc(n.g,e.g)}function EX(n){return qr(n.b.b,n,0)}function tTn(){rM.call(this,0,0,0,0)}function rh(){CG.call(this,new Ql)}function CX(n,e){F4(n,0,n.length,e)}function Ole(n,e){return nn(n.a,e),e}function Dle(n,e){return Fs(),e.a+=n}function Lle(n,e){return Fs(),e.a+=n}function Nle(n,e){return Fs(),e.c+=n}function $le(n,e){return nn(n.c,e),n}function MX(n,e){return Mo(n.a,e),n}function iTn(n){this.a=XCn(),this.b=n}function rTn(n){this.a=XCn(),this.b=n}function rr(n){this.a=n.a,this.b=n.b}function S6(n){this.a=n,GO.call(this)}function cTn(n){this.a=n,GO.call(this)}function mp(){Ho.call(this,0,0,0,0)}function DC(n){return Mo(new ii,n)}function uTn(n){return jM(u(n,123))}function fo(n){return n.vh()&&n.wh()}function mg(n){return n!=Qf&&n!=Pa}function hl(n){return n==Br||n==Xr}function vg(n){return n==us||n==Wf}function oTn(n){return n==P2||n==S2}function xle(n,e){return jc(n.g,e.g)}function sTn(n,e){return new Y4(e,n)}function Fle(n,e){return new Y4(e,n)}function TX(n){return rbe(n.b.Kc(),n.a)}function wL(n,e){um(n,e),G4(n,n.D)}function gL(n,e,t){aT(n,e),lT(n,t)}function kg(n,e,t){I0(n,e),P0(n,t)}function Ro(n,e,t){eu(n,e),tu(n,t)}function E7(n,e,t){_4(n,e),q4(n,t)}function C7(n,e,t){H4(n,e),U4(n,t)}function fTn(n,e,t){sV.call(this,n,e,t)}function AX(n){PMn.call(this,n,!0)}function hTn(){uC.call(this,"Tail",3)}function lTn(){uC.call(this,"Head",1)}function H1(n){dh(),mve.call(this,n)}function f0(n){rM.call(this,n,n,n,n)}function pL(n){n.c=K(ki,Bn,1,0,5,1)}function SX(n){return n.b&&xF(n),n.a}function PX(n){return n.b&&xF(n),n.c}function Ble(n,e){Uf||(n.b=e)}function Rle(n,e){return n[n.length]=e}function Kle(n,e){return n[n.length]=e}function _le(n,e){return Yb(e,Sf(n))}function Hle(n,e){return Yb(e,Sf(n))}function qle(n,e){return pT(dN(n.d),e)}function Ule(n,e){return pT(dN(n.g),e)}function Gle(n,e){return pT(dN(n.j),e)}function Ni(n,e){Dt.call(this,n.b,e)}function zle(n,e){ve(Sc(n.a),DOn(e))}function Xle(n,e){ve(no(n.a),LOn(e))}function Vle(n,e,t){Ro(t,t.i+n,t.j+e)}function aTn(n,e,t){$t(n.c[e.g],e.g,t)}function Wle(n,e,t){u(n.c,71).Gi(e,t)}function mL(n,e,t){return $t(n,e,t),t}function dTn(n){nu(n.Sf(),new D9n(n))}function yg(n){return n!=null?mt(n):0}function Jle(n){return n==null?0:mt(n)}function P6(n){nt(),Wd.call(this,n)}function bTn(n){this.a=n,qV.call(this,n)}function Tf(){Tf=F,y.Math.log(2)}function Ko(){Ko=F,rl=(pCn(),Moe)}function wTn(){wTn=F,YH=new j5(aU)}function Ie(){Ie=F,new gTn,new Z}function gTn(){new de,new de,new de}function Qle(){throw M(new Kl(QJn))}function Yle(){throw M(new Kl(QJn))}function Zle(){throw M(new Kl(YJn))}function n1e(){throw M(new Kl(YJn))}function vL(n){this.a=n,VE.call(this,n)}function kL(n){this.a=n,VE.call(this,n)}function pTn(n,e){m0(),this.a=n,this.b=e}function e1e(n,e){Se(e),Ag(n).Jc(new Ru)}function Yt(n,e){QL(n.c,n.c.length,e)}function tc(n){return n.ae?1:0}function OX(n,e){return Ec(n,e)>0?n:e}function Yc(n,e,t){return{l:n,m:e,h:t}}function t1e(n,e){n.a!=null&&OMn(e,n.a)}function i1e(n){Zi(n,null),Ii(n,null)}function r1e(n,e,t){return Ve(n.g,t,e)}function jg(n,e,t){return nZ(e,t,n.c)}function c1e(n,e,t){return Ve(n.k,t,e)}function u1e(n,e,t){return GOe(n,e,t),t}function o1e(n,e){return ko(),e.n.b+=n}function vTn(n){nJ.call(this),this.b=n}function DX(n){vV.call(this),this.a=n}function kTn(){uC.call(this,"Range",2)}function LC(n){this.b=n,this.a=new Z}function yTn(n){this.b=new $bn,this.a=n}function jTn(n){n.a=new OO,n.c=new OO}function ETn(n){n.a=new de,n.d=new de}function CTn(n){$N(n,null),xN(n,null)}function MTn(n,e){return XOe(n.a,e,null)}function s1e(n,e){return Ve(n.a,e.a,e)}function Ki(n){return new V(n.a,n.b)}function LX(n){return new V(n.c,n.d)}function f1e(n){return new V(n.c,n.d)}function I6(n,e){return cOe(n.c,n.b,e)}function D(n,e){return n!=null&&Tx(n,e)}function yL(n,e){return Yve(n.Kc(),e)!=-1}function NC(n){return n.Ob()?n.Pb():null}function h1e(n){this.b=(Dn(),new eD(n))}function NX(n){this.a=n,de.call(this)}function TTn(){T7.call(this,null,null)}function ATn(){_C.call(this,null,null)}function STn(){je.call(this,"INSTANCE",0)}function PTn(){LZ(),this.a=new K5(Ion)}function ITn(n){return ws(n,0,n.length)}function l1e(n,e){return new VTn(n.Kc(),e)}function $X(n,e){return n.a.Bc(e)!=null}function OTn(n,e){me(n),n.Gc(u(e,15))}function a1e(n,e,t){n.c.bd(e,u(t,136))}function d1e(n,e,t){n.c.Ui(e,u(t,136))}function DTn(n,e){n.c&&(tW(e),rOn(e))}function b1e(n,e){n.q.setHours(e),G5(n,e)}function w1e(n,e){a0(e,n.a.a.a,n.a.a.b)}function g1e(n,e,t,i){$t(n.a[e.g],t.g,i)}function jL(n,e,t){return n.a[e.g][t.g]}function p1e(n,e){return n.e[e.c.p][e.p]}function m1e(n,e){return n.c[e.c.p][e.p]}function Af(n,e){return n.a[e.c.p][e.p]}function v1e(n,e){return n.j[e.p]=IMe(e)}function EL(n,e){return n.a.Bc(e)!=null}function k1e(n,e){return $(R(e.a))<=n}function y1e(n,e){return $(R(e.a))>=n}function j1e(n,e){return RJ(n.f,e.Pg())}function vp(n,e){return n.a*e.a+n.b*e.b}function E1e(n,e){return n.a0?e/(n*n):e*100}function V1e(n,e){return n>0?e*e/n:e*e*100}function xb(n,e){return u(Nf(n.a,e),34)}function W1e(n,e){return ua(),Pn(n,e.e,e)}function J1e(n,e,t){return nC(),t.Mg(n,e)}function Q1e(n){return kl(),n.e.a+n.f.a/2}function Y1e(n,e,t){return kl(),t.e.a-n*e}function Z1e(n){return kl(),n.e.b+n.f.b/2}function nae(n,e,t){return kl(),t.e.b-n*e}function sAn(n){n.d=new cAn(n),n.e=new de}function fAn(){this.a=new C0,this.b=new C0}function hAn(n){this.c=n,this.a=1,this.b=1}function lAn(n){YF(),Syn(this),this.Ff(n)}function eae(n,e,t){YM(),n.pf(e)&&t.Cd(n)}function tae(n,e,t){return nn(e,jBn(n,t))}function a0(n,e,t){return n.a+=e,n.b+=t,n}function iae(n,e,t){return n.a*=e,n.b*=t,n}function ZX(n,e){return n.a=e.a,n.b=e.b,n}function HC(n){return n.a=-n.a,n.b=-n.b,n}function N6(n,e,t){return n.a-=e,n.b-=t,n}function aAn(n){Ct.call(this),c5(this,n)}function dAn(){je.call(this,"GROW_TREE",0)}function bAn(){je.call(this,"POLYOMINO",0)}function lo(n,e,t){Iu.call(this,n,e,t,2)}function rae(n,e,t){k5(Sc(n.a),e,DOn(t))}function wAn(n,e){a6(),T7.call(this,n,e)}function nV(n,e){Gl(),_C.call(this,n,e)}function gAn(n,e){Gl(),nV.call(this,n,e)}function pAn(n,e){Gl(),_C.call(this,n,e)}function cae(n,e){return n.c.Fc(u(e,136))}function uae(n,e,t){k5(no(n.a),e,LOn(t))}function mAn(n){this.c=n,eu(n,0),tu(n,0)}function PL(n,e){Ko(),oM.call(this,n,e)}function vAn(n,e){Ko(),PL.call(this,n,e)}function eV(n,e){Ko(),PL.call(this,n,e)}function tV(n,e){Ko(),oM.call(this,n,e)}function kAn(n,e){Ko(),eV.call(this,n,e)}function yAn(n,e){Ko(),tV.call(this,n,e)}function jAn(n,e){Ko(),oM.call(this,n,e)}function oae(n,e,t){return e.zl(n.e,n.c,t)}function sae(n,e,t){return e.Al(n.e,n.c,t)}function iV(n,e,t){return qA(ak(n,e),t)}function IL(n,e){return ea(n.e,u(e,54))}function fae(n){return n==null?null:NDe(n)}function hae(n){return n==null?null:Aje(n)}function lae(n){return n==null?null:Jr(n)}function aae(n){return n==null?null:Jr(n)}function un(n){return F6(n==null||Nb(n)),n}function R(n){return F6(n==null||$b(n)),n}function Oe(n){return F6(n==null||Ai(n)),n}function ll(n){n.o==null&&cMe(n)}function rV(n){if(!n)throw M(new Q9)}function dae(n){if(!n)throw M(new uD)}function oe(n){if(!n)throw M(new nc)}function Fb(n){if(!n)throw M(new Cu)}function EAn(n){if(!n)throw M(new Bo)}function m4(){m4=F,aE=new ujn,new ojn}function Tg(){Tg=F,D2=new lt("root")}function cV(){cxn.call(this),this.Bb|=hr}function bae(n,e){this.d=n,c9n(this),this.b=e}function uV(n,e){i$.call(this,n),this.a=e}function oV(n,e){i$.call(this,n),this.a=e}function sV(n,e,t){VM.call(this,n,e,t,null)}function CAn(n,e,t){VM.call(this,n,e,t,null)}function P7(n,e){this.c=n,h4.call(this,n,e)}function $6(n,e){this.a=n,P7.call(this,n,e)}function fV(n){this.q=new y.Date(id(n))}function MAn(n){return n>8?0:n+1}function TAn(n,e){Uf||nn(n.a,e)}function wae(n,e){return o7(),Q4(e.d.i,n)}function gae(n,e){return Hp(),new tUn(e,n)}function pae(n,e,t){return n.Ne(e,t)<=0?t:e}function mae(n,e,t){return n.Ne(e,t)<=0?e:t}function vae(n,e){return u(Nf(n.b,e),143)}function kae(n,e){return u(Nf(n.c,e),233)}function OL(n){return u(sn(n.a,n.b),294)}function AAn(n){return new V(n.c,n.d+n.a)}function SAn(n){return Jn(n),n?1231:1237}function PAn(n){return ko(),oTn(u(n,203))}function Bb(){Bb=F,ron=jn((go(),Gd))}function yae(n,e){e.a?MCe(n,e):EL(n.a,e.b)}function I7(n,e,t){++n.j,n.tj(),t$(n,e,t)}function IAn(n,e,t){++n.j,n.qj(e,n.Zi(e,t))}function OAn(n,e,t){var i;i=n.fd(e),i.Rb(t)}function hV(n,e,t){return t=So(n,e,6,t),t}function lV(n,e,t){return t=So(n,e,3,t),t}function aV(n,e,t){return t=So(n,e,9,t),t}function uh(n,e){return X7(e,xtn),n.f=e,n}function dV(n,e){return(e&et)%n.d.length}function DAn(n,e,t){return zen(n.c,n.b,e,t)}function LAn(n,e){this.c=n,S0.call(this,e)}function NAn(n,e){this.a=n,kyn.call(this,e)}function O7(n,e){this.a=n,kyn.call(this,e)}function Dt(n,e){lt.call(this,n),this.a=e}function bV(n,e){FG.call(this,n),this.a=e}function DL(n,e){FG.call(this,n),this.a=e}function jae(n){VY.call(this,0,0),this.f=n}function $An(n,e,t){return n.a+=ws(e,0,t),n}function D7(n){return!n.a&&(n.a=new C0n),n.a}function wV(n,e){var t;return t=n.e,n.e=e,t}function gV(n,e){var t;return t=e,!!n.Fe(t)}function Eae(n,e){return _n(),n==e?0:n?1:-1}function Rb(n,e){n.a.bd(n.b,e),++n.b,n.c=-1}function L7(n){n.b?L7(n.b):n.f.c.zc(n.e,n.d)}function xAn(n){Hu(n.e),n.d.b=n.d,n.d.a=n.d}function Cae(n,e,t){Va(),t9n(n,e.Ve(n.a,t))}function pV(n,e,t){return Pp(n,u(e,22),t)}function xs(n,e){return qE(new Array(e),n)}function Mae(n){return Ae(U1(n,32))^Ae(n)}function LL(n){return String.fromCharCode(n)}function Tae(n){return n==null?null:n.message}function Aae(n,e,t){return n.apply(e,t)}function Sae(n,e){var t;t=n[DB],t.call(n,e)}function Pae(n,e){var t;t=n[DB],t.call(n,e)}function Iae(n,e){return o7(),!Q4(e.d.i,n)}function mV(n,e,t,i){rM.call(this,n,e,t,i)}function FAn(){qC.call(this),this.a=new Li}function vV(){this.n=new Li,this.o=new Li}function BAn(){this.b=new Li,this.c=new Z}function RAn(){this.a=new Z,this.b=new Z}function KAn(){this.a=new _U,this.b=new Byn}function kV(){this.b=new Ql,this.a=new Ql}function _An(){this.b=new ni,this.a=new ni}function HAn(){this.b=new de,this.a=new de}function qAn(){this.b=new wEn,this.a=new H3n}function UAn(){this.a=new n8n,this.b=new Lpn}function GAn(){this.a=new Z,this.d=new Z}function qC(){this.n=new up,this.i=new mp}function zAn(n){this.a=(Co(n,mw),new Gc(n))}function XAn(n){this.a=(Co(n,mw),new Gc(n))}function Oae(n){return n<100?null:new F1(n)}function Dae(n,e){return n.n.a=(Jn(e),e+10)}function Lae(n,e){return n.n.a=(Jn(e),e+10)}function Nae(n,e){return e==n||km(TA(e),n)}function VAn(n,e){return Ve(n.a,e,"")==null}function $ae(n,e){var t;return t=e.qi(n.a),t}function tt(n,e){return n.a+=e.a,n.b+=e.b,n}function mi(n,e){return n.a-=e.a,n.b-=e.b,n}function xae(n){return Pb(n.j.c,0),n.a=-1,n}function yV(n,e,t){return t=So(n,e,11,t),t}function Fae(n,e,t){t!=null&&mT(e,Fx(n,t))}function Bae(n,e,t){t!=null&&vT(e,Fx(n,t))}function jp(n,e,t,i){q.call(this,n,e,t,i)}function jV(n,e,t,i){q.call(this,n,e,t,i)}function WAn(n,e,t,i){jV.call(this,n,e,t,i)}function JAn(n,e,t,i){bM.call(this,n,e,t,i)}function NL(n,e,t,i){bM.call(this,n,e,t,i)}function EV(n,e,t,i){bM.call(this,n,e,t,i)}function QAn(n,e,t,i){NL.call(this,n,e,t,i)}function CV(n,e,t,i){NL.call(this,n,e,t,i)}function Nn(n,e,t,i){EV.call(this,n,e,t,i)}function YAn(n,e,t,i){CV.call(this,n,e,t,i)}function ZAn(n,e,t,i){jW.call(this,n,e,t,i)}function Kb(n,e){Ir.call(this,k8+n+Td+e)}function MV(n,e){return n.jk().wi().ri(n,e)}function TV(n,e){return n.jk().wi().ti(n,e)}function nSn(n,e){return Jn(n),x(n)===x(e)}function An(n,e){return Jn(n),x(n)===x(e)}function Rae(n,e){return n.b.Bd(new ECn(n,e))}function Kae(n,e){return n.b.Bd(new CCn(n,e))}function eSn(n,e){return n.b.Bd(new MCn(n,e))}function _ae(n,e){return n.e=u(n.d.Kb(e),159)}function AV(n,e,t){return n.lastIndexOf(e,t)}function Hae(n,e,t){return bt(n[e.a],n[t.a])}function qae(n,e){return U(e,(cn(),Cj),n)}function Uae(n,e){return jc(e.a.d.p,n.a.d.p)}function Gae(n,e){return jc(n.a.d.p,e.a.d.p)}function zae(n,e){return bt(n.c-n.s,e.c-e.s)}function Xae(n,e){return bt(n.b.e.a,e.b.e.a)}function Vae(n,e){return bt(n.c.e.a,e.c.e.a)}function tSn(n){return n.c?qr(n.c.a,n,0):-1}function Ep(n){return n==Ud||n==tl||n==qc}function SV(n,e){this.c=n,oN.call(this,n,e)}function iSn(n,e,t){this.a=n,JX.call(this,e,t)}function rSn(n){this.c=n,IC.call(this,Ey,0)}function cSn(n,e,t){this.c=e,this.b=t,this.a=n}function N7(n){k4(),this.d=n,this.a=new Cg}function uSn(n){oh(),this.a=(Dn(),new r4(n))}function Wae(n,e){hl(n.f)?QCe(n,e):Sye(n,e)}function oSn(n,e){sbe.call(this,n,n.length,e)}function Jae(n,e){Uf||e&&(n.d=e)}function sSn(n,e){return D(e,15)&&xqn(n.c,e)}function Qae(n,e,t){return u(n.c,71).Wk(e,t)}function UC(n,e,t){return u(n.c,71).Xk(e,t)}function Yae(n,e,t){return oae(n,u(e,343),t)}function PV(n,e,t){return sae(n,u(e,343),t)}function Zae(n,e,t){return PKn(n,u(e,343),t)}function fSn(n,e,t){return _ye(n,u(e,343),t)}function x6(n,e){return e==null?null:tw(n.b,e)}function IV(n){return $b(n)?(Jn(n),n):n.ue()}function GC(n){return!isNaN(n)&&!isFinite(n)}function $L(n){jTn(this),vo(this),Bi(this,n)}function _u(n){pL(this),zV(this.c,0,n.Pc())}function _o(n,e,t){this.a=n,this.b=e,this.c=t}function hSn(n,e,t){this.a=n,this.b=e,this.c=t}function lSn(n,e,t){this.d=n,this.b=t,this.a=e}function aSn(n){this.a=n,fl(),vc(Date.now())}function dSn(n){bo(n.a),GJ(n.c,n.b),n.b=null}function xL(){xL=F,Oun=new $0n,AQn=new x0n}function bSn(){bSn=F,Ioe=K(ki,Bn,1,0,5,1)}function wSn(){wSn=F,Voe=K(ki,Bn,1,0,5,1)}function OV(){OV=F,Woe=K(ki,Bn,1,0,5,1)}function oh(){oh=F,new KG((Dn(),Dn(),sr))}function nde(n){return B4(),Ee((yNn(),IQn),n)}function ede(n){return Gu(),Ee((lNn(),xQn),n)}function tde(n){return YT(),Ee((JDn(),HQn),n)}function ide(n){return cT(),Ee((QDn(),qQn),n)}function rde(n){return NA(),Ee((Jxn(),UQn),n)}function cde(n){return wf(),Ee((fNn(),XQn),n)}function ude(n){return Uu(),Ee((sNn(),WQn),n)}function ode(n){return bu(),Ee((hNn(),QQn),n)}function sde(n){return VA(),Ee((zMn(),kYn),n)}function fde(n){return N0(),Ee((ENn(),jYn),n)}function hde(n){return Vp(),Ee((MNn(),CYn),n)}function lde(n){return A5(),Ee((CNn(),AYn),n)}function ade(n){return YE(),Ee((jDn(),SYn),n)}function dde(n){return uT(),Ee((YDn(),GYn),n)}function bde(n){return i5(),Ee((aNn(),pZn),n)}function wde(n){return Vi(),Ee((u$n(),yZn),n)}function gde(n){return nm(),Ee((ANn(),TZn),n)}function pde(n){return dd(),Ee((TNn(),DZn),n)}function DV(n,e){if(!n)throw M(new Gn(e))}function v4(n){if(!n)throw M(new Or(btn))}function FL(n,e){if(n!=e)throw M(new Bo)}function gSn(n,e,t){this.a=n,this.b=e,this.c=t}function LV(n,e,t){this.a=n,this.b=e,this.c=t}function pSn(n,e,t){this.a=n,this.b=e,this.c=t}function zC(n,e,t){this.b=n,this.a=e,this.c=t}function NV(n,e,t){this.b=n,this.c=e,this.a=t}function $V(n,e,t){this.a=n,this.b=e,this.c=t}function XC(n,e,t){this.e=e,this.b=n,this.d=t}function mSn(n,e,t){this.b=n,this.a=e,this.c=t}function mde(n,e,t){return Va(),n.a.Yd(e,t),e}function BL(n){var e;return e=new ubn,e.e=n,e}function xV(n){var e;return e=new qyn,e.b=n,e}function $7(){$7=F,CP=new sgn,MP=new fgn}function VC(){VC=F,XZn=new xgn,zZn=new Fgn}function Fs(){Fs=F,YZn=new G2n,ZZn=new z2n}function vde(n){return D0(),Ee((qLn(),fne),n)}function kde(n){return tr(),Ee((XMn(),HZn),n)}function yde(n){return OT(),Ee((PNn(),GZn),n)}function jde(n){return xf(),Ee((SNn(),tne),n)}function Ede(n){return ow(),Ee((o$n(),rne),n)}function Cde(n){return DA(),Ee(($xn(),hne),n)}function Mde(n){return Yp(),Ee((D$n(),lne),n)}function Tde(n){return QM(),Ee((cLn(),ane),n)}function Ade(n){return u5(),Ee((_Ln(),dne),n)}function Sde(n){return bT(),Ee((HLn(),bne),n)}function Pde(n){return o1(),Ee((s$n(),wne),n)}function Ide(n){return pk(),Ee((eLn(),gne),n)}function Ode(n){return jm(),Ee(($$n(),jne),n)}function Dde(n){return pr(),Ee((aFn(),Ene),n)}function Lde(n){return Z4(),Ee((GLn(),Cne),n)}function Nde(n){return vl(),Ee((zLn(),Tne),n)}function $de(n){return KM(),Ee((nLn(),Ane),n)}function xde(n){return Jk(),Ee((N$n(),yne),n)}function Fde(n){return hd(),Ee((ULn(),mne),n)}function Bde(n){return vA(),Ee((L$n(),vne),n)}function Rde(n){return hk(),Ee((tLn(),kne),n)}function Kde(n){return Yo(),Ee((h$n(),Sne),n)}function _de(n){return a1(),Ee((Xxn(),Yte),n)}function Hde(n){return g5(),Ee((XLn(),Zte),n)}function qde(n){return cw(),Ee((INn(),nie),n)}function Ude(n){return T5(),Ee((f$n(),eie),n)}function Gde(n){return ps(),Ee((dFn(),tie),n)}function zde(n){return lh(),Ee((ONn(),iie),n)}function Xde(n){return wk(),Ee((iLn(),rie),n)}function Vde(n){return gr(),Ee((JLn(),uie),n)}function Wde(n){return ST(),Ee((VLn(),oie),n)}function Jde(n){return d5(),Ee((WLn(),sie),n)}function Qde(n){return om(),Ee((QLn(),fie),n)}function Yde(n){return dT(),Ee((YLn(),hie),n)}function Zde(n){return DT(),Ee((ZLn(),lie),n)}function n0e(n){return O0(),Ee((oNn(),Aie),n)}function e0e(n){return n5(),Ee((rLn(),Die),n)}function t0e(n){return fh(),Ee((sLn(),Rie),n)}function i0e(n){return Pf(),Ee((fLn(),_ie),n)}function r0e(n){return af(),Ee((hLn(),tre),n)}function c0e(n){return M0(),Ee((lLn(),fre),n)}function u0e(n){return Qp(),Ee((BNn(),hre),n)}function o0e(n){return q5(),Ee((VMn(),lre),n)}function s0e(n){return b5(),Ee((nNn(),are),n)}function f0e(n){return w5(),Ee((FNn(),$re),n)}function h0e(n){return FM(),Ee((uLn(),xre),n)}function l0e(n){return yT(),Ee((oLn(),_re),n)}function a0e(n){return wA(),Ee((l$n(),qre),n)}function d0e(n){return Ok(),Ee((eNn(),Gre),n)}function b0e(n){return ZM(),Ee((aLn(),Ure),n)}function w0e(n){return sA(),Ee((xNn(),lce),n)}function g0e(n){return AT(),Ee((tNn(),ace),n)}function p0e(n){return XT(),Ee((iNn(),dce),n)}function m0e(n){return rA(),Ee((rNn(),wce),n)}function v0e(n){return _T(),Ee((cNn(),mce),n)}function k0e(n){return GM(),Ee((dLn(),Rce),n)}function y0e(n){return V4(),Ee((ZDn(),_Zn),n)}function j0e(n){return Vn(),Ee((x$n(),xZn),n)}function E0e(n){return nT(),Ee((uNn(),Kce),n)}function C0e(n){return N$(),Ee((bLn(),_ce),n)}function M0e(n){return R5(),Ee((a$n(),qce),n)}function T0e(n){return eC(),Ee((IDn(),Gce),n)}function A0e(n){return Fk(),Ee((bNn(),Uce),n)}function S0e(n){return tC(),Ee((ODn(),Xce),n)}function P0e(n){return ck(),Ee((wLn(),Vce),n)}function I0e(n){return Yk(),Ee((d$n(),Wce),n)}function O0e(n){return f6(),Ee((DDn(),lue),n)}function D0e(n){return Ak(),Ee((gLn(),aue),n)}function L0e(n){return pf(),Ee((w$n(),mue),n)}function N0e(n){return l1(),Ee((Lxn(),kue),n)}function $0e(n){return Rh(),Ee((F$n(),yue),n)}function x0e(n){return wd(),Ee((B$n(),Aue),n)}function F0e(n){return ci(),Ee((b$n(),zue),n)}function B0e(n){return $f(),Ee((wNn(),Xue),n)}function R0e(n){return El(),Ee((RNn(),Vue),n)}function K0e(n){return pA(),Ee((R$n(),Wue),n)}function _0e(n){return jl(),Ee((dNn(),Que),n)}function H0e(n){return To(),Ee((KNn(),Zue),n)}function q0e(n){return lw(),Ee((Wxn(),noe),n)}function U0e(n){return Bg(),Ee((g$n(),eoe),n)}function G0e(n){return Oi(),Ee((K$n(),toe),n)}function z0e(n){return zu(),Ee((_$n(),ioe),n)}function X0e(n){return en(),Ee((p$n(),roe),n)}function V0e(n){return go(),Ee((_Nn(),foe),n)}function W0e(n){return io(),Ee((Vxn(),hoe),n)}function J0e(n){return Gp(),Ee((gNn(),loe),n)}function Q0e(n,e){return Jn(n),n+(Jn(e),e)}function Y0e(n){return RL(),Ee((pLn(),aoe),n)}function Z0e(n){return qT(),Ee((HNn(),doe),n)}function nbe(n){return LT(),Ee((qNn(),goe),n)}function k4(){k4=F,tln=(en(),Wn),II=Zn}function RL(){RL=F,vdn=new VSn,kdn=new LPn}function ebe(n){return!n.e&&(n.e=new Z),n.e}function KL(n,e){this.c=n,this.a=e,this.b=e-n}function vSn(n,e,t){this.a=n,this.b=e,this.c=t}function _L(n,e,t){this.a=n,this.b=e,this.c=t}function FV(n,e,t){this.a=n,this.b=e,this.c=t}function BV(n,e,t){this.a=n,this.b=e,this.c=t}function kSn(n,e,t){this.a=n,this.b=e,this.c=t}function ySn(n,e,t){this.a=n,this.b=e,this.c=t}function Xl(n,e,t){this.e=n,this.a=e,this.c=t}function jSn(n,e,t){Ko(),tJ.call(this,n,e,t)}function HL(n,e,t){Ko(),RW.call(this,n,e,t)}function RV(n,e,t){Ko(),RW.call(this,n,e,t)}function KV(n,e,t){Ko(),RW.call(this,n,e,t)}function ESn(n,e,t){Ko(),HL.call(this,n,e,t)}function _V(n,e,t){Ko(),HL.call(this,n,e,t)}function CSn(n,e,t){Ko(),_V.call(this,n,e,t)}function MSn(n,e,t){Ko(),RV.call(this,n,e,t)}function TSn(n,e,t){Ko(),KV.call(this,n,e,t)}function qL(n){rM.call(this,n.d,n.c,n.a,n.b)}function HV(n){rM.call(this,n.d,n.c,n.a,n.b)}function qV(n){this.d=n,c9n(this),this.b=nwe(n.d)}function tbe(n){return Cm(),Ee((Nxn(),Poe),n)}function x7(n,e){return Se(n),Se(e),new NEn(n,e)}function Cp(n,e){return Se(n),Se(e),new RSn(n,e)}function ibe(n,e){return Se(n),Se(e),new KSn(n,e)}function rbe(n,e){return Se(n),Se(e),new qEn(n,e)}function UL(n){return oe(n.b!=0),Xo(n,n.a.a)}function cbe(n){return oe(n.b!=0),Xo(n,n.c.b)}function ube(n){return!n.c&&(n.c=new W3),n.c}function y4(n){var e;return e=new Z,b$(e,n),e}function obe(n){var e;return e=new ni,b$(e,n),e}function ASn(n){var e;return e=new GG,A$(e,n),e}function F7(n){var e;return e=new Ct,A$(e,n),e}function u(n,e){return F6(n==null||Tx(n,e)),n}function sbe(n,e,t){TPn.call(this,e,t),this.a=n}function SSn(n,e){this.c=n,this.b=e,this.a=!1}function PSn(){this.a=";,;",this.b="",this.c=""}function ISn(n,e,t){this.b=n,_Mn.call(this,e,t)}function UV(n,e,t){this.c=n,oC.call(this,e,t)}function GV(n,e,t){d4.call(this,n,e),this.b=t}function zV(n,e,t){Bnn(t,0,n,e,t.length,!1)}function Lh(n,e,t,i,r){n.b=e,n.c=t,n.d=i,n.a=r}function XV(n,e,t,i,r){n.d=e,n.c=t,n.a=i,n.b=r}function fbe(n,e){e&&(n.b=e,n.a=(X1(e),e.a))}function B7(n,e){if(!n)throw M(new Gn(e))}function Mp(n,e){if(!n)throw M(new Or(e))}function VV(n,e){if(!n)throw M(new Bjn(e))}function hbe(n,e){return ZE(),jc(n.d.p,e.d.p)}function lbe(n,e){return kl(),bt(n.e.b,e.e.b)}function abe(n,e){return kl(),bt(n.e.a,e.e.a)}function dbe(n,e){return jc(GSn(n.d),GSn(e.d))}function WC(n,e){return e&&vM(n,e.d)?e:null}function bbe(n,e){return e==(en(),Wn)?n.c:n.d}function WV(n){return Y1(dwe(Vr(n)?ds(n):n))}function wbe(n){return new V(n.c+n.b,n.d+n.a)}function OSn(n){return n!=null&&!lx(n,N9,$9)}function gbe(n,e){return(fBn(n)<<4|fBn(e))&ui}function DSn(n,e,t,i,r){n.c=e,n.d=t,n.b=i,n.a=r}function JV(n){var e,t;e=n.b,t=n.c,n.b=t,n.c=e}function QV(n){var e,t;t=n.d,e=n.a,n.d=e,n.a=t}function pbe(n,e){var t;return t=n.c,PQ(n,e),t}function YV(n,e){return e<0?n.g=-1:n.g=e,n}function JC(n,e){return Mme(n),n.a*=e,n.b*=e,n}function LSn(n,e,t){A$n.call(this,e,t),this.d=n}function R7(n,e,t){pX.call(this,n,e),this.c=t}function QC(n,e,t){pX.call(this,n,e),this.c=t}function ZV(n){OV(),ME.call(this),this.ci(n)}function NSn(){$4(),Bwe.call(this,(R1(),Ps))}function $Sn(n){return nt(),new Nh(0,n)}function xSn(){xSn=F,AU=(Dn(),new nD(IK))}function YC(){YC=F,new hZ((bD(),HK),(dD(),_K))}function FSn(){FSn=F,pun=K(Gi,J,17,256,0,1)}function BSn(){this.b=$(R(rn((Us(),y_))))}function GL(n){this.b=n,this.a=Ja(this.b.a).Od()}function RSn(n,e){this.b=n,this.a=e,GO.call(this)}function KSn(n,e){this.a=n,this.b=e,GO.call(this)}function _Sn(n,e,t){this.a=n,pg.call(this,e,t)}function HSn(n,e,t){this.a=n,pg.call(this,e,t)}function j4(n,e,t){var i;i=new qb(t),bf(n,e,i)}function nW(n,e,t){var i;return i=n[e],n[e]=t,i}function ZC(n){var e;return e=n.slice(),o$(e,n)}function nM(n){var e;return e=n.n,n.a.b+e.d+e.a}function qSn(n){var e;return e=n.n,n.e.b+e.d+e.a}function eW(n){var e;return e=n.n,n.e.a+e.b+e.c}function tW(n){n.a.b=n.b,n.b.a=n.a,n.a=n.b=null}function Fe(n,e){return xt(n,e,n.c.b,n.c),!0}function mbe(n){return n.a?n.a:vN(n)}function vbe(n){return Lp(),Kh(n)==At(ra(n))}function kbe(n){return Lp(),ra(n)==At(Kh(n))}function d0(n,e){return O5(n,new d4(e.a,e.b))}function ybe(n,e){return yM(),Nx(n,e),new lIn(n,e)}function jbe(n,e){return n.c=e)throw M(new YG)}function _b(n,e){return $k(n,(Jn(e),new a9n(e)))}function Ap(n,e){return $k(n,(Jn(e),new d9n(e)))}function SPn(n,e,t){return VLe(n,u(e,12),u(t,12))}function PPn(n){return Ou(),u(n,12).g.c.length!=0}function IPn(n){return Ou(),u(n,12).e.c.length!=0}function uwe(n,e){return Hp(),bt(e.a.o.a,n.a.o.a)}function owe(n,e){e.Bb&kc&&!n.a.o&&(n.a.o=e)}function swe(n,e){e.Ug("General 'Rotator",1),jDe(n)}function fwe(n,e,t){e.qf(t,$(R(ee(n.b,t)))*n.a)}function OPn(n,e,t){return Vg(),W4(n,e)&&W4(n,t)}function _6(n){return zu(),!n.Hc(Fl)&&!n.Hc(Ia)}function hwe(n){return n.e?qJ(n.e):null}function H6(n){return Vr(n)?""+n:$qn(n)}function yW(n){var e;for(e=n;e.f;)e=e.f;return e}function lwe(n,e,t){return $t(e,0,oW(e[0],t[0])),e}function Vl(n,e,t,i){var r;r=n.i,r.i=e,r.a=t,r.b=i}function q(n,e,t,i){ti.call(this,n,e,t),this.b=i}function Ci(n,e,t,i,r){c$.call(this,n,e,t,i,r,-1)}function q6(n,e,t,i,r){ok.call(this,n,e,t,i,r,-1)}function bM(n,e,t,i){R7.call(this,n,e,t),this.b=i}function DPn(n){PMn.call(this,n,!1),this.a=!1}function LPn(){sMn.call(this,"LOOKAHEAD_LAYOUT",1)}function NPn(n){this.b=n,kp.call(this,n),RTn(this)}function $Pn(n){this.b=n,A7.call(this,n),KTn(this)}function Hb(n,e,t){this.a=n,jp.call(this,e,t,5,6)}function jW(n,e,t,i){this.b=n,ti.call(this,e,t,i)}function xPn(n,e){this.b=n,H8n.call(this,n.b),this.a=e}function FPn(n){this.a=kRn(n.a),this.b=new _u(n.b)}function EW(n,e){m0(),Hhe.call(this,n,FT(new Ku(e)))}function wM(n,e){return nt(),new BW(n,e,0)}function rN(n,e){return nt(),new BW(6,n,e)}function _i(n,e){for(Jn(e);n.Ob();)e.Cd(n.Pb())}function Zc(n,e){return Ai(e)?AN(n,e):!!wr(n.f,e)}function cN(n,e){return e.Vh()?ea(n.b,u(e,54)):e}function awe(n,e){return An(n.substr(0,e.length),e)}function $h(n){return new ie(new UX(n.a.length,n.a))}function gM(n){return new V(n.c+n.b/2,n.d+n.a/2)}function dwe(n){return Yc(~n.l&ro,~n.m&ro,~n.h&Il)}function uN(n){return typeof n===vy||typeof n===eB}function Hu(n){n.f=new iTn(n),n.i=new rTn(n),++n.g}function BPn(n){if(!n)throw M(new nc);return n.d}function Sp(n){var e;return e=a5(n),oe(e!=null),e}function bwe(n){var e;return e=I5e(n),oe(e!=null),e}function C4(n,e){var t;return t=n.a.gc(),BJ(e,t),t-e}function fi(n,e){var t;return t=n.a.zc(e,n),t==null}function _7(n,e){return n.a.zc(e,(_n(),ga))==null}function CW(n){return new Tn(null,vwe(n,n.length))}function MW(n,e,t){return cGn(n,u(e,42),u(t,176))}function Pp(n,e,t){return _s(n.a,e),nW(n.b,e.g,t)}function wwe(n,e,t){E4(t,n.a.c.length),Go(n.a,t,e)}function B(n,e,t,i){xFn(e,t,n.length),gwe(n,e,t,i)}function gwe(n,e,t,i){var r;for(r=e;r0?y.Math.log(n/e):-100}function KPn(n,e){return Ec(n,e)<0?-1:Ec(n,e)>0?1:0}function H7(n,e){OTn(n,D(e,160)?e:u(e,2036).Rl())}function PW(n,e){if(n==null)throw M(new fp(e))}function vwe(n,e){return yme(e,n.length),new XSn(n,e)}function IW(n,e){return e?Bi(n,e):!1}function kwe(){return RE(),A(T(uQn,1),G,549,0,[GK])}function G6(n){return n.e==0?n:new Ya(-n.e,n.d,n.a)}function ywe(n,e){return bt(n.c.c+n.c.b,e.c.c+e.c.b)}function q7(n,e){xt(n.d,e,n.b.b,n.b),++n.a,n.c=null}function _Pn(n,e){return n.c?_Pn(n.c,e):nn(n.b,e),n}function jwe(n,e,t){var i;return i=Jb(n,e),qN(n,e,t),i}function HPn(n,e,t){var i;for(i=0;i=n.g}function $t(n,e,t){return dae(t==null||oPe(n,t)),n[e]=t}function $W(n,e){return zn(e,n.length+1),n.substr(e)}function gN(n,e){for(Jn(e);n.c=n?new Dz:Gme(n-1)}function Hi(n){return!n.a&&n.c?n.c.b:n.a}function KW(n){return D(n,616)?n:new oOn(n)}function X1(n){n.c?X1(n.c):(ta(n),n.d=!0)}function V6(n){n.c?n.c.$e():(n.d=!0,fTe(n))}function sIn(n){n.b=!1,n.c=!1,n.d=!1,n.a=!1}function fIn(n){var e,t;return e=n.c.i.c,t=n.d.i.c,e==t}function _we(n,e){var t;t=n.Ih(e),t>=0?n.ki(t):Pnn(n,e)}function hIn(n,e){n.c<0||n.b.b0;)n=n<<1|(n<0?1:0);return n}function mIn(n,e){var t;return t=new Lc(n),Kn(e.c,t),t}function vIn(n,e){n.u.Hc((zu(),Fl))&&zEe(n,e),h4e(n,e)}function mc(n,e){return x(n)===x(e)||n!=null&&rt(n,e)}function Cr(n,e){return JL(n.a,e)?n.b[u(e,22).g]:null}function nge(){return YE(),A(T(oon,1),G,489,0,[b_])}function ege(){return eC(),A(T($1n,1),G,490,0,[Bq])}function tge(){return tC(),A(T(zce,1),G,558,0,[Rq])}function ige(){return f6(),A(T(tan,1),G,539,0,[Hj])}function jM(n){return!n.n&&(n.n=new q(Ar,n,1,7)),n.n}function mN(n){return!n.c&&(n.c=new q(Qu,n,9,9)),n.c}function UW(n){return!n.c&&(n.c=new Nn(he,n,5,8)),n.c}function rge(n){return!n.b&&(n.b=new Nn(he,n,4,7)),n.b}function U7(n){return n.j.c.length=0,zW(n.c),xae(n.a),n}function P4(n){return n.e==rv&&jfe(n,Y8e(n.g,n.b)),n.e}function G7(n){return n.f==rv&&Cfe(n,q7e(n.g,n.b)),n.f}function We(n,e,t,i){return Hxn(n,e,t,!1),BT(n,i),n}function kIn(n,e){this.b=n,oN.call(this,n,e),RTn(this)}function yIn(n,e){this.b=n,SV.call(this,n,e),KTn(this)}function W6(n){this.d=n,this.a=this.d.b,this.b=this.d.c}function GW(n,e){this.b=n,this.c=e,this.a=new dp(this.b)}function Xi(n,e){return zn(e,n.length),n.charCodeAt(e)}function cge(n,e){DY(n,$(yl(e,"x")),$(yl(e,"y")))}function uge(n,e){DY(n,$(yl(e,"x")),$(yl(e,"y")))}function ut(n,e){return ta(n),new Tn(n,new tQ(e,n.a))}function _r(n,e){return ta(n),new Tn(n,new _J(e,n.a))}function Ub(n,e){return ta(n),new uV(n,new ILn(e,n.a))}function EM(n,e){return ta(n),new oV(n,new OLn(e,n.a))}function oge(n,e){return new GIn(u(Se(n),50),u(Se(e),50))}function sge(n,e){return bt(n.d.c+n.d.b/2,e.d.c+e.d.b/2)}function jIn(n,e,t){t.a?tu(n,e.b-n.f/2):eu(n,e.a-n.g/2)}function fge(n,e){return bt(n.g.c+n.g.b/2,e.g.c+e.g.b/2)}function hge(n,e){return $z(),bt((Jn(n),n),(Jn(e),e))}function lge(n){return n!=null&&r7(jO,n.toLowerCase())}function zW(n){var e;for(e=n.Kc();e.Ob();)e.Pb(),e.Qb()}function Ag(n){var e;return e=n.b,!e&&(n.b=e=new N8n(n)),e}function vN(n){var e;return e=Wme(n),e||null}function EIn(n,e){var t,i;return t=n/e,i=wi(t),t>i&&++i,i}function age(n,e,t){var i;i=u(n.d.Kb(t),159),i&&i.Nb(e)}function dge(n,e,t){wIe(n.a,t),zve(t),xCe(n.b,t),$Ie(e,t)}function CM(n,e,t,i){this.a=n,this.c=e,this.b=t,this.d=i}function XW(n,e,t,i){this.c=n,this.b=e,this.a=t,this.d=i}function CIn(n,e,t,i){this.c=n,this.b=e,this.d=t,this.a=i}function Ho(n,e,t,i){this.c=n,this.d=e,this.b=t,this.a=i}function MIn(n,e,t,i){this.a=n,this.d=e,this.c=t,this.b=i}function kN(n,e,t,i){this.a=n,this.e=e,this.d=t,this.c=i}function TIn(n,e,t,i){this.a=n,this.c=e,this.d=t,this.b=i}function yN(n,e,t){this.a=ktn,this.d=n,this.b=e,this.c=t}function Op(n,e,t,i){je.call(this,n,e),this.a=t,this.b=i}function AIn(n,e){this.d=(Jn(n),n),this.a=16449,this.c=e}function SIn(n){this.a=new Z,this.e=K(ye,J,53,n,0,2)}function bge(n){n.Ug("No crossing minimization",1),n.Vg()}function PIn(){ec.call(this,"There is no more element.")}function IIn(n,e,t,i){this.a=n,this.b=e,this.c=t,this.d=i}function OIn(n,e,t,i){this.a=n,this.b=e,this.c=t,this.d=i}function Za(n,e,t,i){this.e=n,this.a=e,this.c=t,this.d=i}function DIn(n,e,t,i){this.a=n,this.c=e,this.d=t,this.b=i}function LIn(n,e,t,i){Ko(),DLn.call(this,e,t,i),this.a=n}function NIn(n,e,t,i){Ko(),DLn.call(this,e,t,i),this.a=n}function jN(n,e,t){var i,r;return i=utn(n),r=e.ti(t,i),r}function al(n){var e,t;return t=(e=new Jd,e),K4(t,n),t}function EN(n){var e,t;return t=(e=new Jd,e),fnn(t,n),t}function wge(n,e){var t;return t=ee(n.f,e),HQ(e,t),null}function $In(n){return!n.b&&(n.b=new q(Vt,n,12,3)),n.b}function xIn(n){return F6(n==null||uN(n)&&n.Tm!==Q2),n}function MM(n){return n.n&&(n.e!==Fzn&&n.je(),n.j=null),n}function I4(n){if(eo(n.d),n.d.d!=n.c)throw M(new Bo)}function VW(n){return oe(n.b0&&bKn(this)}function FIn(n,e){this.a=n,bae.call(this,n,u(n.d,15).fd(e))}function gge(n,e){return bt(Su(n)*ao(n),Su(e)*ao(e))}function pge(n,e){return bt(Su(n)*ao(n),Su(e)*ao(e))}function mge(n){return _0(n)&&on(un(z(n,(cn(),Nd))))}function vge(n,e){return Pn(n,u(v(e,(cn(),Cv)),17),e)}function kge(n,e){return u(v(n,(W(),T3)),15).Fc(e),e}function WW(n,e){return n.b=e.b,n.c=e.c,n.d=e.d,n.a=e.a,n}function BIn(n,e,t,i){this.b=n,this.c=i,IC.call(this,e,t)}function yge(n,e,t){n.i=0,n.e=0,e!=t&&yFn(n,e,t)}function jge(n,e,t){n.i=0,n.e=0,e!=t&&jFn(n,e,t)}function Ege(n,e,t){return s6(),J5e(u(ee(n.e,e),529),t)}function Dp(n){var e;return e=n.f,e||(n.f=new h4(n,n.c))}function RIn(n,e){return Fg(n.j,e.s,e.c)+Fg(e.e,n.s,n.c)}function KIn(n,e){n.e&&!n.e.a&&(Ayn(n.e,e),KIn(n.e,e))}function _In(n,e){n.d&&!n.d.a&&(Ayn(n.d,e),_In(n.d,e))}function Cge(n,e){return-bt(Su(n)*ao(n),Su(e)*ao(e))}function Mge(n){return u(n.ld(),149).Pg()+":"+Jr(n.md())}function HIn(){tF(this,new oG),this.wb=(G1(),Hn),o4()}function qIn(n){this.b=new Z,hi(this.b,this.b),this.a=n}function JW(n,e){new Ct,this.a=new Mu,this.b=n,this.c=e}function j0(){j0=F,Pun=new FU,ZK=new FU,Iun=new D0n}function Dn(){Dn=F,sr=new A0n,Wh=new P0n,hP=new I0n}function QW(){QW=F,RQn=new nbn,_Qn=new aW,KQn=new ebn}function Lp(){Lp=F,mP=new Z,m_=new de,p_=new Z}function TM(n,e){if(n==null)throw M(new fp(e));return n}function AM(n){return!n.a&&(n.a=new q(Ye,n,10,11)),n.a}function ft(n){return!n.q&&(n.q=new q(Ss,n,11,10)),n.q}function H(n){return!n.s&&(n.s=new q(ku,n,21,17)),n.s}function Tge(n){return Se(n),IRn(new ie(ce(n.a.Kc(),new En)))}function Age(n,e){return wo(n),wo(e),Fjn(u(n,22),u(e,22))}function nd(n,e,t){var i,r;i=IV(t),r=new AE(i),bf(n,e,r)}function MN(n,e,t,i,r,c){ok.call(this,n,e,t,i,r,c?-2:-1)}function UIn(n,e,t,i){pX.call(this,e,t),this.b=n,this.a=i}function GIn(n,e){Vfe.call(this,new iN(n)),this.a=n,this.b=e}function YW(n){this.b=n,this.c=n,n.e=null,n.c=null,this.a=1}function Sge(n){Fs();var e;e=u(n.g,10),e.n.a=n.d.c+e.d.b}function O4(){O4=F;var n,e;e=!$8e(),n=new V3,VK=e?new og:n}function TN(n){return Dn(),D(n,59)?new jD(n):new BC(n)}function SM(n){return D(n,16)?new B6(u(n,16)):obe(n.Kc())}function Pge(n){return new HTn(n,n.e.Rd().gc()*n.c.Rd().gc())}function Ige(n){return new qTn(n,n.e.Rd().gc()*n.c.Rd().gc())}function ZW(n){return n&&n.hashCode?n.hashCode():l0(n)}function AN(n,e){return e==null?!!wr(n.f,null):zbe(n.i,e)}function Oge(n,e){var t;return t=$X(n.a,e),t&&(e.d=null),t}function zIn(n,e,t){return n.f?n.f.ef(e,t):!1}function z7(n,e,t,i){$t(n.c[e.g],t.g,i),$t(n.c[t.g],e.g,i)}function SN(n,e,t,i){$t(n.c[e.g],e.g,t),$t(n.b[e.g],e.g,i)}function Dge(n,e,t){return $(R(t.a))<=n&&$(R(t.b))>=e}function XIn(n,e){this.g=n,this.d=A(T(Qh,1),b1,10,0,[e])}function VIn(n){this.c=n,this.b=new Ul(u(Se(new tbn),50))}function WIn(n){this.c=n,this.b=new Ul(u(Se(new ewn),50))}function JIn(n){this.b=n,this.a=new Ul(u(Se(new Nbn),50))}function QIn(){this.b=new ni,this.d=new Ct,this.e=new ZG}function nJ(){this.c=new Li,this.d=new Li,this.e=new Li}function E0(){this.a=new Mu,this.b=(Co(3,mw),new Gc(3))}function Wl(n,e){this.e=n,this.a=ki,this.b=Qqn(e),this.c=e}function PM(n){this.c=n.c,this.d=n.d,this.b=n.b,this.a=n.a}function YIn(n,e,t,i,r,c){this.a=n,k$.call(this,e,t,i,r,c)}function ZIn(n,e,t,i,r,c){this.a=n,k$.call(this,e,t,i,r,c)}function V1(n,e,t,i,r,c,s){return new GN(n.e,e,t,i,r,c,s)}function Lge(n,e,t){return t>=0&&An(n.substr(t,e.length),e)}function nOn(n,e){return D(e,149)&&An(n.b,u(e,149).Pg())}function Nge(n,e){return n.a?e.Gh().Kc():u(e.Gh(),71).Ii()}function eOn(n,e){var t;return t=n.b.Qc(e),WDn(t,n.b.gc()),t}function X7(n,e){if(n==null)throw M(new fp(e));return n}function Hr(n){return n.u||(Zu(n),n.u=new NAn(n,n)),n.u}function PN(n){this.a=(Dn(),D(n,59)?new jD(n):new BC(n))}function au(n){var e;return e=u(Un(n,16),29),e||n.ii()}function IM(n,e){var t;return t=Xa(n.Rm),e==null?t:t+": "+e}function qo(n,e,t){return Fi(e,t,n.length),n.substr(e,t-e)}function tOn(n,e){qC.call(this),lQ(this),this.a=n,this.c=e}function $ge(n){n&&IM(n,n.ie())}function xge(n){HE(),y.setTimeout(function(){throw n},0)}function Fge(){return YT(),A(T(Bun,1),G,436,0,[o_,Fun])}function Bge(){return cT(),A(T(Kun,1),G,435,0,[Run,s_])}function Rge(){return uT(),A(T(bon,1),G,432,0,[v_,vP])}function Kge(){return V4(),A(T(KZn,1),G,517,0,[dj,L_])}function _ge(){return KM(),A(T(Qsn,1),G,429,0,[fH,Jsn])}function Hge(){return pk(),A(T($sn,1),G,428,0,[WP,Nsn])}function qge(){return QM(),A(T(Asn,1),G,431,0,[Tsn,V_])}function Uge(){return wk(),A(T(qhn,1),G,430,0,[UH,GH])}function Gge(){return n5(),A(T(Oie,1),G,531,0,[r9,i9])}function zge(){return yT(),A(T(Rln,1),G,501,0,[RI,L2])}function Xge(){return fh(),A(T(Bie,1),G,523,0,[mb,y1])}function Vge(){return Pf(),A(T(Kie,1),G,522,0,[Rd,Xf])}function Wge(){return af(),A(T(ere,1),G,528,0,[zw,Ea])}function Jge(){return hk(),A(T(Bsn,1),G,488,0,[Fsn,QP])}function Qge(){return GM(),A(T(S1n,1),G,491,0,[$q,A1n])}function Yge(){return N$(),A(T(N1n,1),G,492,0,[D1n,L1n])}function Zge(){return FM(),A(T(Bln,1),G,433,0,[dq,Fln])}function n2e(){return ZM(),A(T(_ln,1),G,434,0,[Kln,vq])}function e2e(){return M0(),A(T(sre,1),G,465,0,[Ca,I2])}function t2e(){return ck(),A(T(x1n,1),G,438,0,[Kq,JI])}function i2e(){return Ak(),A(T(ran,1),G,437,0,[YI,ian])}function r2e(){return RL(),A(T(dO,1),G,347,0,[vdn,kdn])}function OM(n,e,t,i){return t>=0?n.Uh(e,t,i):n.Ch(null,t,i)}function V7(n){return n.b.b==0?n.a.sf():UL(n.b)}function c2e(n){if(n.p!=5)throw M(new Cu);return Ae(n.f)}function u2e(n){if(n.p!=5)throw M(new Cu);return Ae(n.k)}function eJ(n){return x(n.a)===x((D$(),CU))&&rOe(n),n.a}function o2e(n,e){n.b=e,n.c>0&&n.b>0&&(n.g=cM(n.c,n.b,n.a))}function s2e(n,e){n.c=e,n.c>0&&n.b>0&&(n.g=cM(n.c,n.b,n.a))}function iOn(n,e){ufe(this,new V(n.a,n.b)),ofe(this,F7(e))}function C0(){Wfe.call(this,new ap(Qb(12))),KX(!0),this.a=2}function IN(n,e,t){nt(),Wd.call(this,n),this.b=e,this.a=t}function tJ(n,e,t){Ko(),LE.call(this,e),this.a=n,this.b=t}function rOn(n){var e;e=n.c.d.b,n.b=e,n.a=n.c.d,e.a=n.c.d.b=n}function f2e(n){return n.b==0?null:(oe(n.b!=0),Xo(n,n.a.a))}function Nc(n,e){return e==null?Kr(wr(n.f,null)):d6(n.i,e)}function cOn(n,e,t,i,r){return new rF(n,(B4(),i_),e,t,i,r)}function DM(n,e){return zDn(e),Lme(n,K(ye,_e,28,e,15,1),e)}function LM(n,e){return TM(n,"set1"),TM(e,"set2"),new VEn(n,e)}function h2e(n,e){var t=XK[n.charCodeAt(0)];return t??n}function uOn(n,e){var t,i;return t=e,i=new DO,LGn(n,t,i),i.d}function ON(n,e,t,i){var r;r=new FAn,e.a[t.g]=r,Pp(n.b,i,r)}function l2e(n,e){var t;return t=Ime(n.f,e),tt(HC(t),n.f.d)}function W7(n){var e;_me(n.a),dTn(n.a),e=new IE(n.a),HY(e)}function a2e(n,e){_qn(n,!0),nu(n.e.Rf(),new NV(n,!0,e))}function d2e(n,e){return Lp(),n==At(Kh(e))||n==At(ra(e))}function b2e(n,e){return kl(),u(v(e,(lc(),Sh)),17).a==n}function wi(n){return Math.max(Math.min(n,et),-2147483648)|0}function oOn(n){this.a=u(Se(n),277),this.b=(Dn(),new XX(n))}function sOn(n,e,t){this.i=new Z,this.b=n,this.g=e,this.a=t}function iJ(n,e,t){this.a=new Z,this.e=n,this.f=e,this.c=t}function NM(n,e,t){this.c=new Z,this.e=n,this.f=e,this.b=t}function fOn(n){qC.call(this),lQ(this),this.a=n,this.c=!0}function w2e(n){function e(){}return e.prototype=n||{},new e}function g2e(n){if(n.Ae())return null;var e=n.n;return rP[e]}function J7(n){return n.Db>>16!=3?null:u(n.Cb,27)}function Sf(n){return n.Db>>16!=9?null:u(n.Cb,27)}function hOn(n){return n.Db>>16!=6?null:u(n.Cb,74)}function M0(){M0=F,Ca=new cX(s3,0),I2=new cX(f3,1)}function fh(){fh=F,mb=new tX(f3,0),y1=new tX(s3,1)}function Pf(){Pf=F,Rd=new iX(_B,0),Xf=new iX("UP",1)}function lOn(){lOn=F,oQn=Ce((RE(),A(T(uQn,1),G,549,0,[GK])))}function aOn(n){var e;return e=new zE(Qb(n.length)),eY(e,n),e}function dOn(n,e){return n.b+=e.b,n.c+=e.c,n.d+=e.d,n.a+=e.a,n}function p2e(n,e){return Zxn(n,e)?(W$n(n),!0):!1}function dl(n,e){if(e==null)throw M(new rp);return F8e(n,e)}function Q7(n,e){var t;t=n.q.getHours(),n.q.setDate(e),G5(n,t)}function rJ(n,e,t){var i;i=n.Ih(e),i>=0?n.bi(i,t):ten(n,e,t)}function bOn(n,e){var t;return t=n.Ih(e),t>=0?n.Wh(t):hF(n,e)}function wOn(n,e){var t;for(Se(e),t=n.a;t;t=t.c)e.Yd(t.g,t.i)}function DN(n,e,t){var i;i=vFn(n,e,t),n.b=new ET(i.c.length)}function Sg(n,e,t){$M(),n&&Ve(yU,n,e),n&&Ve(hE,n,t)}function m2e(n,e){return VC(),_n(),u(e.a,17).a0}function cJ(n){var e;return e=n.d,e=n.bj(n.f),ve(n,e),e.Ob()}function gOn(n,e){var t;return t=new fW(e),_Kn(t,n),new _u(t)}function y2e(n){if(n.p!=0)throw M(new Cu);return M6(n.f,0)}function j2e(n){if(n.p!=0)throw M(new Cu);return M6(n.k,0)}function pOn(n){return n.Db>>16!=7?null:u(n.Cb,241)}function D4(n){return n.Db>>16!=6?null:u(n.Cb,241)}function mOn(n){return n.Db>>16!=7?null:u(n.Cb,167)}function At(n){return n.Db>>16!=11?null:u(n.Cb,27)}function Gb(n){return n.Db>>16!=17?null:u(n.Cb,29)}function vOn(n){return n.Db>>16!=3?null:u(n.Cb,155)}function uJ(n){var e;return ta(n),e=new ni,ut(n,new M9n(e))}function kOn(n,e){var t=n.a=n.a||[];return t[e]||(t[e]=n.ve(e))}function E2e(n,e){var t;t=n.q.getHours(),n.q.setMonth(e),G5(n,t)}function yOn(n,e){xC(this),this.f=e,this.g=n,MM(this),this.je()}function jOn(n,e){this.a=n,this.c=Ki(this.a),this.b=new PM(e)}function EOn(n,e,t){this.a=e,this.c=n,this.b=(Se(t),new _u(t))}function COn(n,e,t){this.a=e,this.c=n,this.b=(Se(t),new _u(t))}function MOn(n){this.a=n,this.b=K(Sie,J,2043,n.e.length,0,2)}function TOn(){this.a=new rh,this.e=new ni,this.g=0,this.i=0}function $M(){$M=F,yU=new de,hE=new de,ple(MQn,new wvn)}function AOn(){AOn=F,aie=Pu(new ii,(Vi(),zr),(tr(),bj))}function oJ(){oJ=F,die=Pu(new ii,(Vi(),zr),(tr(),bj))}function SOn(){SOn=F,wie=Pu(new ii,(Vi(),zr),(tr(),bj))}function POn(){POn=F,Lie=Ke(new ii,(Vi(),zr),(tr(),x8))}function ko(){ko=F,xie=Ke(new ii,(Vi(),zr),(tr(),x8))}function IOn(){IOn=F,Fie=Ke(new ii,(Vi(),zr),(tr(),x8))}function NN(){NN=F,Hie=Ke(new ii,(Vi(),zr),(tr(),x8))}function J6(n,e,t,i,r,c){return new ml(n.e,e,n.Lj(),t,i,r,c)}function Dr(n,e,t){return e==null?Vc(n.f,null,t):$0(n.i,e,t)}function Zi(n,e){n.c&&du(n.c.g,n),n.c=e,n.c&&nn(n.c.g,n)}function $i(n,e){n.c&&du(n.c.a,n),n.c=e,n.c&&nn(n.c.a,n)}function ic(n,e){n.i&&du(n.i.j,n),n.i=e,n.i&&nn(n.i.j,n)}function Ii(n,e){n.d&&du(n.d.e,n),n.d=e,n.d&&nn(n.d.e,n)}function $N(n,e){n.a&&du(n.a.k,n),n.a=e,n.a&&nn(n.a.k,n)}function xN(n,e){n.b&&du(n.b.f,n),n.b=e,n.b&&nn(n.b.f,n)}function OOn(n,e){$we(n,n.b,n.c),u(n.b.b,68),e&&u(e.b,68).b}function C2e(n,e){return bt(u(n.c,65).c.e.b,u(e.c,65).c.e.b)}function M2e(n,e){return bt(u(n.c,65).c.e.a,u(e.c,65).c.e.a)}function T2e(n){return Y$(),_n(),u(n.a,86).d.e!=0}function xM(n,e){D(n.Cb,184)&&(u(n.Cb,184).tb=null),zc(n,e)}function FN(n,e){D(n.Cb,90)&&hw(Zu(u(n.Cb,90)),4),zc(n,e)}function A2e(n,e){LY(n,e),D(n.Cb,90)&&hw(Zu(u(n.Cb,90)),2)}function S2e(n,e){var t,i;t=e.c,i=t!=null,i&&Ip(n,new qb(e.c))}function DOn(n){var e,t;return t=(o4(),e=new Jd,e),K4(t,n),t}function LOn(n){var e,t;return t=(o4(),e=new Jd,e),K4(t,n),t}function NOn(n){for(var e;;)if(e=n.Pb(),!n.Ob())return e}function P2e(n,e,t){return nn(n.a,(yM(),Nx(e,t),new i0(e,t))),n}function $c(n,e){return dr(),a$(e)?new eM(e,n):new j7(e,n)}function Y7(n){return dh(),Ec(n,0)>=0?ia(n):G6(ia(n1(n)))}function I2e(n){var e;return e=u(ZC(n.b),9),new _o(n.a,e,n.c)}function $On(n,e){var t;return t=u(tw(Dp(n.a),e),16),t?t.gc():0}function xOn(n,e,t){var i;oBn(e,t,n.c.length),i=t-e,Pz(n.c,e,i)}function Jl(n,e,t){oBn(e,t,n.gc()),this.c=n,this.a=e,this.b=t-e}function Np(n){this.c=new Ct,this.b=n.b,this.d=n.c,this.a=n.a}function BN(n){this.a=y.Math.cos(n),this.b=y.Math.sin(n)}function ed(n,e,t,i){this.c=n,this.d=i,$N(this,e),xN(this,t)}function sJ(n,e){Xfe.call(this,new ap(Qb(n))),Co(e,Ozn),this.a=e}function FOn(n,e,t){return new rF(n,(B4(),t_),null,!1,e,t)}function BOn(n,e,t){return new rF(n,(B4(),r_),e,t,null,!1)}function O2e(){return Gu(),A(T(xr,1),G,108,0,[xun,Yr,Aw])}function D2e(){return bu(),A(T(JQn,1),G,472,0,[kf,ma,Xs])}function L2e(){return Uu(),A(T(VQn,1),G,471,0,[Mh,pa,zs])}function N2e(){return wf(),A(T(Sw,1),G,237,0,[bc,Wc,wc])}function $2e(){return i5(),A(T(Pon,1),G,391,0,[E_,j_,C_])}function x2e(){return D0(),A(T(R_,1),G,372,0,[ub,va,cb])}function F2e(){return u5(),A(T(Psn,1),G,322,0,[B8,pj,Ssn])}function B2e(){return bT(),A(T(Osn,1),G,351,0,[Isn,VP,W_])}function R2e(){return hd(),A(T(pne,1),G,460,0,[Y_,mv,m2])}function K2e(){return Z4(),A(T(sH,1),G,299,0,[uH,oH,mj])}function _2e(){return vl(),A(T(Mne,1),G,311,0,[vj,k2,E3])}function H2e(){return g5(),A(T(Lhn,1),G,390,0,[FH,Dhn,MI])}function q2e(){return gr(),A(T(cie,1),G,463,0,[n9,Vu,Jc])}function U2e(){return ST(),A(T(zhn,1),G,387,0,[Uhn,zH,Ghn])}function G2e(){return d5(),A(T(Xhn,1),G,349,0,[VH,XH,Ij])}function z2e(){return om(),A(T(Whn,1),G,350,0,[WH,Vhn,e9])}function X2e(){return dT(),A(T(Yhn,1),G,352,0,[Qhn,JH,Jhn])}function V2e(){return DT(),A(T(Zhn,1),G,388,0,[QH,Ov,Gw])}function W2e(){return O0(),A(T(Tie,1),G,464,0,[Oj,t9,PI])}function If(n){return cc(A(T(Ei,1),J,8,0,[n.i.n,n.n,n.a]))}function J2e(){return b5(),A(T(gln,1),G,392,0,[wln,nq,Lj])}function ROn(){ROn=F,Fre=Pu(new ii,(Qp(),u9),(q5(),uln))}function FM(){FM=F,dq=new uX("DFS",0),Fln=new uX("BFS",1)}function KOn(n,e,t){var i;i=new E3n,i.b=e,i.a=t,++e.b,nn(n.d,i)}function Q2e(n,e,t){var i;i=new rr(t.d),tt(i,n),DY(e,i.a,i.b)}function Y2e(n,e){LTn(n,Ae(vi(w0(e,24),YA)),Ae(vi(e,YA)))}function zb(n,e){if(n<0||n>e)throw M(new Ir(Ptn+n+Itn+e))}function Ln(n,e){if(n<0||n>=e)throw M(new Ir(Ptn+n+Itn+e))}function zn(n,e){if(n<0||n>=e)throw M(new gz(Ptn+n+Itn+e))}function In(n,e){this.b=(Jn(n),n),this.a=e&vw?e:e|64|wh}function fJ(n){var e;return ta(n),e=(j0(),j0(),ZK),fT(n,e)}function Z2e(n,e,t){var i;return i=V5(n,e,!1),i.b<=e&&i.a<=t}function npe(){return nT(),A(T(O1n,1),G,439,0,[xq,I1n,P1n])}function epe(){return _T(),A(T(a1n,1),G,394,0,[l1n,Oq,h1n])}function tpe(){return XT(),A(T(f1n,1),G,445,0,[Bj,qI,Mq])}function ipe(){return rA(),A(T(bce,1),G,456,0,[Tq,Sq,Aq])}function rpe(){return Ok(),A(T(Uln,1),G,393,0,[KI,Hln,qln])}function cpe(){return AT(),A(T(s1n,1),G,300,0,[Cq,o1n,u1n])}function upe(){return jl(),A(T(ldn,1),G,346,0,[uO,M1,M9])}function ope(){return Fk(),A(T(Fq,1),G,444,0,[XI,VI,WI])}function spe(){return $f(),A(T(Zan,1),G,278,0,[Bv,Jw,Rv])}function fpe(){return Gp(),A(T(mdn,1),G,280,0,[pdn,Yw,aO])}function T0(n){return Se(n),D(n,16)?new _u(u(n,16)):y4(n.Kc())}function hJ(n,e){return n&&n.equals?n.equals(e):x(n)===x(e)}function vi(n,e){return Y1(ewe(Vr(n)?ds(n):n,Vr(e)?ds(e):e))}function lf(n,e){return Y1(twe(Vr(n)?ds(n):n,Vr(e)?ds(e):e))}function RN(n,e){return Y1(iwe(Vr(n)?ds(n):n,Vr(e)?ds(e):e))}function hpe(n,e){var t;return t=(Jn(n),n).g,rV(!!t),Jn(e),t(e)}function _On(n,e){var t,i;return i=C4(n,e),t=n.a.fd(i),new zEn(n,t)}function lpe(n){return n.Db>>16!=6?null:u(dF(n),241)}function ape(n){if(n.p!=2)throw M(new Cu);return Ae(n.f)&ui}function dpe(n){if(n.p!=2)throw M(new Cu);return Ae(n.k)&ui}function E(n){return oe(n.ai?1:0}function GOn(n,e){var t,i;return t=s$(e),i=t,u(ee(n.c,i),17).a}function KN(n,e,t){var i;i=n.d[e.p],n.d[e.p]=n.d[t.p],n.d[t.p]=i}function Cpe(n,e,t){var i;n.n&&e&&t&&(i=new uvn,nn(n.e,i))}function _N(n,e){if(fi(n.a,e),e.d)throw M(new ec(nXn));e.d=n}function dJ(n,e){this.a=new Z,this.d=new Z,this.f=n,this.c=e}function zOn(){this.c=new PTn,this.a=new $Ln,this.b=new Xyn,lCn()}function XOn(){qp(),this.b=new de,this.a=new de,this.c=new Z}function VOn(n,e,t){this.d=n,this.j=e,this.e=t,this.o=-1,this.p=3}function WOn(n,e,t){this.d=n,this.k=e,this.f=t,this.o=-1,this.p=5}function JOn(n,e,t,i,r,c){dQ.call(this,n,e,t,i,r),c&&(this.o=-2)}function QOn(n,e,t,i,r,c){bQ.call(this,n,e,t,i,r),c&&(this.o=-2)}function YOn(n,e,t,i,r,c){OJ.call(this,n,e,t,i,r),c&&(this.o=-2)}function ZOn(n,e,t,i,r,c){pQ.call(this,n,e,t,i,r),c&&(this.o=-2)}function nDn(n,e,t,i,r,c){DJ.call(this,n,e,t,i,r),c&&(this.o=-2)}function eDn(n,e,t,i,r,c){wQ.call(this,n,e,t,i,r),c&&(this.o=-2)}function tDn(n,e,t,i,r,c){gQ.call(this,n,e,t,i,r),c&&(this.o=-2)}function iDn(n,e,t,i,r,c){LJ.call(this,n,e,t,i,r),c&&(this.o=-2)}function rDn(n,e,t,i){LE.call(this,t),this.b=n,this.c=e,this.d=i}function cDn(n,e){this.f=n,this.a=($4(),MO),this.c=MO,this.b=e}function uDn(n,e){this.g=n,this.d=($4(),TO),this.a=TO,this.b=e}function bJ(n,e){!n.c&&(n.c=new Rt(n,0)),HA(n.c,(at(),F9),e)}function Mpe(n,e){return oMe(n,e,D(e,102)&&(u(e,19).Bb&hr)!=0)}function Tpe(n,e){return KPn(vc(n.q.getTime()),vc(e.q.getTime()))}function oDn(n){return XL(n.e.Rd().gc()*n.c.Rd().gc(),16,new O8n(n))}function Ape(n){return!!n.u&&Sc(n.u.a).i!=0&&!(n.n&&Ix(n.n))}function Spe(n){return!!n.a&&no(n.a.a).i!=0&&!(n.b&&Ox(n.b))}function wJ(n,e){return e==0?!!n.o&&n.o.f!=0:Cx(n,e)}function Ppe(n,e,t){var i;return i=u(n.Zb().xc(e),16),!!i&&i.Hc(t)}function sDn(n,e,t){var i;return i=u(n.Zb().xc(e),16),!!i&&i.Mc(t)}function fDn(n,e){var t;return t=1-e,n.a[t]=jT(n.a[t],t),jT(n,e)}function hDn(n,e){var t,i;return i=vi(n,mr),t=Bs(e,32),lf(t,i)}function lDn(n,e,t){var i;i=(Se(n),new _u(n)),O7e(new EOn(i,e,t))}function Z7(n,e,t){var i;i=(Se(n),new _u(n)),D7e(new COn(i,e,t))}function fc(n,e,t,i,r,c){return Hxn(n,e,t,c),CY(n,i),MY(n,r),n}function aDn(n,e,t,i){return n.a+=""+qo(e==null?gu:Jr(e),t,i),n}function xi(n,e){this.a=n,Xv.call(this,n),zb(e,n.gc()),this.b=e}function dDn(n){this.a=K(ki,Bn,1,QQ(y.Math.max(8,n))<<1,5,1)}function nk(n){return u(Ff(n,K(Qh,b1,10,n.c.length,0,1)),199)}function hh(n){return u(Ff(n,K(O_,rR,18,n.c.length,0,1)),483)}function bDn(n){return n.a?n.e.length==0?n.a.a:n.a.a+(""+n.e):n.c}function Q6(n){for(;n.d>0&&n.a[--n.d]==0;);n.a[n.d++]==0&&(n.e=0)}function wDn(n){return oe(n.b.b!=n.d.a),n.c=n.b=n.b.b,--n.a,n.c.c}function Ipe(n,e,t){n.a=e,n.c=t,n.b.a.$b(),vo(n.d),Pb(n.e.a.c,0)}function gDn(n,e){var t;n.e=new uz,t=aw(e),Yt(t,n.c),Iqn(n,t,0)}function ri(n,e,t,i){var r;r=new nG,r.a=e,r.b=t,r.c=i,Fe(n.a,r)}function Q(n,e,t,i){var r;r=new nG,r.a=e,r.b=t,r.c=i,Fe(n.b,r)}function pDn(n,e,t){if(n<0||et)throw M(new Ir(qje(n,e,t)))}function ek(n,e){if(n<0||n>=e)throw M(new Ir(kEe(n,e)));return n}function Ope(n){if(!("stack"in n))try{throw n}catch{}return n}function Pg(n){return s6(),D(n.g,10)?u(n.g,10):null}function Dpe(n){return Ag(n).dc()?!1:(e1e(n,new Pr),!0)}function id(n){var e;return Vr(n)?(e=n,e==-0?0:e):X4e(n)}function mDn(n,e){return D(e,44)?xx(n.a,u(e,44)):!1}function vDn(n,e){return D(e,44)?xx(n.a,u(e,44)):!1}function kDn(n,e){return D(e,44)?xx(n.a,u(e,44)):!1}function gJ(n){var e;return X1(n),e=new L0n,lg(n.a,new j9n(e)),e}function pJ(){var n,e,t;return e=(t=(n=new Jd,n),t),nn(n0n,e),e}function BM(n){var e;return X1(n),e=new N0n,lg(n.a,new E9n(e)),e}function Lpe(n,e){return n.a<=n.b?(e.Dd(n.a++),!0):!1}function yDn(n){P$.call(this,n,(B4(),e_),null,!1,null,!1)}function jDn(){jDn=F,SYn=Ce((YE(),A(T(oon,1),G,489,0,[b_])))}function EDn(){EDn=F,eln=wIn(Y(1),Y(4)),nln=wIn(Y(1),Y(2))}function Npe(n,e){return new _L(e,N6(Ki(e.e),n,n),(_n(),!0))}function RM(n){return new Gc((Co(n,cB),oT(nr(nr(5,n),n/10|0))))}function $pe(n){return XL(n.e.Rd().gc()*n.c.Rd().gc(),273,new I8n(n))}function CDn(n){return u(Ff(n,K(FZn,DXn,12,n.c.length,0,1)),2042)}function xpe(n){return ko(),!fr(n)&&!(!fr(n)&&n.c.i.c==n.d.i.c)}function Fpe(n,e){return _p(),u(v(e,(lc(),O2)),17).a>=n.gc()}function Y6(n,e){vLe(e,n),JV(n.d),JV(u(v(n,(cn(),mI)),214))}function HN(n,e){kLe(e,n),QV(n.d),QV(u(v(n,(cn(),mI)),214))}function Bpe(n,e,t){n.d&&du(n.d.e,n),n.d=e,n.d&&b0(n.d.e,t,n)}function Rpe(n,e,t){return t.f.c.length>0?MW(n.a,e,t):MW(n.b,e,t)}function Kpe(n,e,t){var i;i=i9e();try{return Aae(n,e,t)}finally{D3e(i)}}function A0(n,e){var t,i;return t=dl(n,e),i=null,t&&(i=t.pe()),i}function Z6(n,e){var t,i;return t=dl(n,e),i=null,t&&(i=t.se()),i}function L4(n,e){var t,i;return t=Jb(n,e),i=null,t&&(i=t.se()),i}function bl(n,e){var t,i;return t=dl(n,e),i=null,t&&(i=gnn(t)),i}function _pe(n,e,t){var i;return i=wm(t),FA(n.g,i,e),FA(n.i,e,t),e}function mJ(n,e,t){this.d=new $7n(this),this.e=n,this.i=e,this.f=t}function MDn(n,e,t,i){this.e=null,this.c=n,this.d=e,this.a=t,this.b=i}function TDn(n,e,t,i){ETn(this),this.c=n,this.e=e,this.f=t,this.b=i}function vJ(n,e,t,i){this.d=n,this.n=e,this.g=t,this.o=i,this.p=-1}function ADn(n,e,t,i){return D(t,59)?new iAn(n,e,t,i):new vW(n,e,t,i)}function N4(n){return D(n,16)?u(n,16).dc():!n.Kc().Ob()}function SDn(n){if(n.e.g!=n.b)throw M(new Bo);return!!n.c&&n.d>0}function be(n){return oe(n.b!=n.d.c),n.c=n.b,n.b=n.b.a,++n.a,n.c.c}function kJ(n,e){Jn(e),$t(n.a,n.c,e),n.c=n.c+1&n.a.length-1,JRn(n)}function W1(n,e){Jn(e),n.b=n.b-1&n.a.length-1,$t(n.a,n.b,e),JRn(n)}function PDn(n){var e;e=n.Gh(),this.a=D(e,71)?u(e,71).Ii():e.Kc()}function Hpe(n){return new In(Ame(u(n.a.md(),16).gc(),n.a.ld()),16)}function IDn(){IDn=F,Gce=Ce((eC(),A(T($1n,1),G,490,0,[Bq])))}function ODn(){ODn=F,Xce=Ce((tC(),A(T(zce,1),G,558,0,[Rq])))}function DDn(){DDn=F,lue=Ce((f6(),A(T(tan,1),G,539,0,[Hj])))}function qpe(){return dd(),A(T(Lon,1),G,389,0,[Ow,Don,P_,I_])}function Upe(){return B4(),A(T(lP,1),G,304,0,[e_,t_,i_,r_])}function Gpe(){return Vp(),A(T(EYn,1),G,332,0,[uj,cj,oj,sj])}function zpe(){return A5(),A(T(TYn,1),G,406,0,[fj,wP,gP,hj])}function Xpe(){return N0(),A(T(yYn,1),G,417,0,[rj,ij,a_,d_])}function Vpe(){return nm(),A(T(MZn,1),G,416,0,[rb,Iw,Pw,d2])}function Wpe(){return xf(),A(T(ene,1),G,421,0,[j3,lv,av,B_])}function Jpe(){return OT(),A(T(UZn,1),G,371,0,[F_,HP,qP,wj])}function Qpe(){return cw(),A(T(RH,1),G,203,0,[TI,BH,P2,S2])}function Ype(){return lh(),A(T(Hhn,1),G,284,0,[k1,_hn,HH,qH])}function Zpe(n){var e;return n.j==(en(),ae)&&(e=mHn(n),Au(e,Zn))}function n3e(n,e){var t;t=e.a,Zi(t,e.c.d),Ii(t,e.d.d),nw(t.a,n.n)}function yJ(n,e){var t;return t=u(Nf(n.b,e),67),!t&&(t=new Ct),t}function xp(n){return s6(),D(n.g,154)?u(n.g,154):null}function e3e(n){n.a=null,n.e=null,Pb(n.b.c,0),Pb(n.f.c,0),n.c=null}function KM(){KM=F,fH=new Zz(qm,0),Jsn=new Zz("TOP_LEFT",1)}function n5(){n5=F,r9=new eX("UPPER",0),i9=new eX("LOWER",1)}function t3e(n,e){return vp(new V(e.e.a+e.f.a/2,e.e.b+e.f.b/2),n)}function LDn(n,e){return u(ho(_b(u(ot(n.k,e),15).Oc(),w2)),113)}function NDn(n,e){return u(ho(Ap(u(ot(n.k,e),15).Oc(),w2)),113)}function i3e(){return Qp(),A(T(rln,1),G,405,0,[LI,c9,u9,o9])}function r3e(){return w5(),A(T(xln,1),G,353,0,[aq,BI,lq,hq])}function c3e(){return sA(),A(T(c1n,1),G,354,0,[Eq,i1n,r1n,t1n])}function u3e(){return go(),A(T(I9,1),G,386,0,[rE,Gd,iE,Qw])}function o3e(){return To(),A(T(Yue,1),G,291,0,[nE,nl,Aa,Zj])}function s3e(){return El(),A(T(aU,1),G,223,0,[lU,Yj,Kv,F3])}function f3e(){return qT(),A(T(Cdn,1),G,320,0,[wU,ydn,Edn,jdn])}function h3e(){return LT(),A(T(woe,1),G,415,0,[gU,Tdn,Mdn,Adn])}function l3e(n){return $M(),Zc(yU,n)?u(ee(yU,n),341).Qg():null}function Uo(n,e,t){return e<0?hF(n,t):u(t,69).wk().Bk(n,n.hi(),e)}function a3e(n,e,t){var i;return i=wm(t),FA(n.j,i,e),Ve(n.k,e,t),e}function d3e(n,e,t){var i;return i=wm(t),FA(n.d,i,e),Ve(n.e,e,t),e}function $Dn(n){var e,t;return e=(B1(),t=new HO,t),n&&AA(e,n),e}function jJ(n){var e;return e=n.aj(n.i),n.i>0&&Ic(n.g,0,e,0,n.i),e}function xDn(n,e){var t;for(t=n.j.c.length;t>24}function w3e(n){if(n.p!=1)throw M(new Cu);return Ae(n.k)<<24>>24}function g3e(n){if(n.p!=7)throw M(new Cu);return Ae(n.k)<<16>>16}function p3e(n){if(n.p!=7)throw M(new Cu);return Ae(n.f)<<16>>16}function Ig(n,e){return e.e==0||n.e==0?O8:(Am(),vF(n,e))}function RDn(n,e){return x(e)===x(n)?"(this Map)":e==null?gu:Jr(e)}function m3e(n,e,t){return tN(R(Kr(wr(n.f,e))),R(Kr(wr(n.f,t))))}function v3e(n,e,t){var i;i=u(ee(n.g,t),60),nn(n.a.c,new bi(e,i))}function KDn(n,e,t){n.i=0,n.e=0,e!=t&&(jFn(n,e,t),yFn(n,e,t))}function k3e(n,e,t,i,r){var c;c=yMe(r,t,i),nn(e,dEe(r,c)),rje(n,r,e)}function EJ(n,e,t,i,r){this.i=n,this.a=e,this.e=t,this.j=i,this.f=r}function _Dn(n,e){nJ.call(this),this.a=n,this.b=e,nn(this.a.b,this)}function HDn(n){this.b=new de,this.c=new de,this.d=new de,this.a=n}function qDn(n,e){var t;return t=new fg,n.Gd(t),t.a+="..",e.Hd(t),t.a}function UDn(n,e){var t;for(t=e;t;)a0(n,t.i,t.j),t=At(t);return n}function GDn(n,e,t){var i;return i=wm(t),Ve(n.b,i,e),Ve(n.c,e,t),e}function wl(n){var e;for(e=0;n.Ob();)n.Pb(),e=nr(e,1);return oT(e)}function Fh(n,e){dr();var t;return t=u(n,69).vk(),kje(t,e),t.xl(e)}function y3e(n,e,t){if(t){var i=t.oe();n.a[e]=i(t)}else delete n.a[e]}function CJ(n,e){var t;t=n.q.getHours(),n.q.setFullYear(e+ha),G5(n,t)}function j3e(n,e){return u(e==null?Kr(wr(n.f,null)):d6(n.i,e),288)}function MJ(n,e){return n==(Vn(),zt)&&e==zt?4:n==zt||e==zt?8:32}function _M(n,e,t){return RA(n,e,t,D(e,102)&&(u(e,19).Bb&hr)!=0)}function E3e(n,e,t){return Om(n,e,t,D(e,102)&&(u(e,19).Bb&hr)!=0)}function C3e(n,e,t){return bMe(n,e,t,D(e,102)&&(u(e,19).Bb&hr)!=0)}function TJ(n){n.b!=n.c&&(n.a=K(ki,Bn,1,8,5,1),n.b=0,n.c=0)}function e5(n){return oe(n.a=0&&n.a[t]===e[t];t--);return t<0}function HM(n){var e;return n?new fW(n):(e=new rh,A$(e,n),e)}function O3e(n,e){var t,i;i=!1;do t=lFn(n,e),i=i|t;while(t);return i}function D3e(n){n&&rme((az(),sun)),--cP,n&&uP!=-1&&(Ele(uP),uP=-1)}function qM(n){nnn(),LTn(this,Ae(vi(w0(n,24),YA)),Ae(vi(n,YA)))}function JDn(){JDn=F,HQn=Ce((YT(),A(T(Bun,1),G,436,0,[o_,Fun])))}function QDn(){QDn=F,qQn=Ce((cT(),A(T(Kun,1),G,435,0,[Run,s_])))}function YDn(){YDn=F,GYn=Ce((uT(),A(T(bon,1),G,432,0,[v_,vP])))}function ZDn(){ZDn=F,_Zn=Ce((V4(),A(T(KZn,1),G,517,0,[dj,L_])))}function nLn(){nLn=F,Ane=Ce((KM(),A(T(Qsn,1),G,429,0,[fH,Jsn])))}function eLn(){eLn=F,gne=Ce((pk(),A(T($sn,1),G,428,0,[WP,Nsn])))}function tLn(){tLn=F,kne=Ce((hk(),A(T(Bsn,1),G,488,0,[Fsn,QP])))}function iLn(){iLn=F,rie=Ce((wk(),A(T(qhn,1),G,430,0,[UH,GH])))}function rLn(){rLn=F,Die=Ce((n5(),A(T(Oie,1),G,531,0,[r9,i9])))}function cLn(){cLn=F,ane=Ce((QM(),A(T(Asn,1),G,431,0,[Tsn,V_])))}function uLn(){uLn=F,xre=Ce((FM(),A(T(Bln,1),G,433,0,[dq,Fln])))}function oLn(){oLn=F,_re=Ce((yT(),A(T(Rln,1),G,501,0,[RI,L2])))}function sLn(){sLn=F,Rie=Ce((fh(),A(T(Bie,1),G,523,0,[mb,y1])))}function fLn(){fLn=F,_ie=Ce((Pf(),A(T(Kie,1),G,522,0,[Rd,Xf])))}function hLn(){hLn=F,tre=Ce((af(),A(T(ere,1),G,528,0,[zw,Ea])))}function lLn(){lLn=F,fre=Ce((M0(),A(T(sre,1),G,465,0,[Ca,I2])))}function aLn(){aLn=F,Ure=Ce((ZM(),A(T(_ln,1),G,434,0,[Kln,vq])))}function dLn(){dLn=F,Rce=Ce((GM(),A(T(S1n,1),G,491,0,[$q,A1n])))}function bLn(){bLn=F,_ce=Ce((N$(),A(T(N1n,1),G,492,0,[D1n,L1n])))}function wLn(){wLn=F,Vce=Ce((ck(),A(T(x1n,1),G,438,0,[Kq,JI])))}function gLn(){gLn=F,aue=Ce((Ak(),A(T(ran,1),G,437,0,[YI,ian])))}function pLn(){pLn=F,aoe=Ce((RL(),A(T(dO,1),G,347,0,[vdn,kdn])))}function L3e(){return ci(),A(T(E9,1),G,88,0,[Jf,Xr,Br,Wf,us])}function N3e(){return en(),A(T(lr,1),Mc,64,0,[sc,Xn,Zn,ae,Wn])}function $3e(n,e,t){return u(e==null?Vc(n.f,null,t):$0(n.i,e,t),288)}function x3e(n){return(n.k==(Vn(),zt)||n.k==Zt)&&kt(n,(W(),H8))}function XN(n){return n.c&&n.d?aJ(n.c)+"->"+aJ(n.d):"e_"+l0(n)}function qi(n,e){var t,i;for(Jn(e),i=n.Kc();i.Ob();)t=i.Pb(),e.Cd(t)}function F3e(n,e){var t;t=new sp,nd(t,"x",e.a),nd(t,"y",e.b),Ip(n,t)}function B3e(n,e){var t;t=new sp,nd(t,"x",e.a),nd(t,"y",e.b),Ip(n,t)}function mLn(n,e){var t;for(t=e;t;)a0(n,-t.i,-t.j),t=At(t);return n}function SJ(n,e){var t,i;for(t=e,i=0;t>0;)i+=n.a[t],t-=t&-t;return i}function Go(n,e,t){var i;return i=(Ln(e,n.c.length),n.c[e]),n.c[e]=t,i}function PJ(n,e,t){n.a.c.length=0,fOe(n,e,t),n.a.c.length==0||xSe(n,e)}function tk(n){n.i=0,s7(n.b,null),s7(n.c,null),n.a=null,n.e=null,++n.g}function UM(){UM=F,Uf=!0,DQn=!1,LQn=!1,$Qn=!1,NQn=!1}function VN(n){UM(),!Uf&&(this.c=n,this.e=!0,this.a=new Z)}function vLn(n,e){this.c=0,this.b=e,HMn.call(this,n,17493),this.a=this.c}function kLn(n){jzn(),Syn(this),this.a=new Ct,sY(this,n),Fe(this.a,n)}function yLn(){pL(this),this.b=new V(St,St),this.a=new V(li,li)}function GM(){GM=F,$q=new fX(cin,0),A1n=new fX("TARGET_WIDTH",1)}function Og(n,e){return(ta(n),s4(new Tn(n,new tQ(e,n.a)))).Bd(v3)}function R3e(){return Vi(),A(T(Ion,1),G,367,0,[Vs,Jh,Oc,Kc,zr])}function K3e(){return ow(),A(T(ine,1),G,375,0,[gj,zP,XP,GP,UP])}function _3e(){return o1(),A(T(Lsn,1),G,348,0,[J_,Dsn,Q_,pv,gv])}function H3e(){return T5(),A(T($hn,1),G,323,0,[Nhn,KH,_H,Y8,Z8])}function q3e(){return Yo(),A(T(hfn,1),G,171,0,[Ej,U8,ya,G8,xw])}function U3e(){return wA(),A(T(Hre,1),G,368,0,[pq,bq,mq,wq,gq])}function G3e(){return R5(),A(T(Hce,1),G,373,0,[N2,D3,g9,w9,_j])}function z3e(){return Yk(),A(T(K1n,1),G,324,0,[F1n,_q,R1n,Hq,B1n])}function X3e(){return pf(),A(T(Zh,1),G,170,0,[xn,pi,Ph,Kd,E1])}function V3e(){return Bg(),A(T(A9,1),G,256,0,[Sa,eE,adn,T9,ddn])}function W3e(n){return HE(),function(){return Kpe(n,this,arguments)}}function fr(n){return!n.c||!n.d?!1:!!n.c.i&&n.c.i==n.d.i}function IJ(n,e){return D(e,143)?An(n.c,u(e,143).c):!1}function Zu(n){return n.t||(n.t=new myn(n),k5(new Njn(n),0,n.t)),n.t}function jLn(n){this.b=n,ne.call(this,n),this.a=u(Un(this.b.a,4),129)}function ELn(n){this.b=n,yp.call(this,n),this.a=u(Un(this.b.a,4),129)}function Rs(n,e,t,i,r){LLn.call(this,e,i,r),this.c=n,this.b=t}function OJ(n,e,t,i,r){VOn.call(this,e,i,r),this.c=n,this.a=t}function DJ(n,e,t,i,r){WOn.call(this,e,i,r),this.c=n,this.a=t}function LJ(n,e,t,i,r){LLn.call(this,e,i,r),this.c=n,this.a=t}function WN(n,e){var t;return t=u(Nf(n.d,e),23),t||u(Nf(n.e,e),23)}function CLn(n,e){var t,i;return t=e.ld(),i=n.Fe(t),!!i&&mc(i.e,e.md())}function MLn(n,e){var t;return t=e.ld(),new i0(t,n.e.pc(t,u(e.md(),16)))}function J3e(n,e){var t;return t=n.a.get(e),t??K(ki,Bn,1,0,5,1)}function TLn(n){var e;return e=n.length,An(Yn.substr(Yn.length-e,e),n)}function fe(n){if(pe(n))return n.c=n.a,n.a.Pb();throw M(new nc)}function NJ(n,e){return e==0||n.e==0?n:e>0?wqn(n,e):RBn(n,-e)}function Fp(n,e){return e==0||n.e==0?n:e>0?RBn(n,e):wqn(n,-e)}function $J(n){ole.call(this,n==null?gu:Jr(n),D(n,82)?u(n,82):null)}function ALn(n){var e;return n.c||(e=n.r,D(e,90)&&(n.c=u(e,29))),n.c}function JN(n){var e;return e=new E0,Ur(e,n),U(e,(cn(),Fr),null),e}function SLn(n){var e,t;return e=n.c.i,t=n.d.i,e.k==(Vn(),Zt)&&t.k==Zt}function QN(n){var e,t,i;return e=n&ro,t=n>>22&ro,i=n<0?Il:0,Yc(e,t,i)}function Q3e(n){var e,t,i,r;for(t=n,i=0,r=t.length;i=0?n.Lh(i,t,!0):H0(n,e,t)}function Z3e(n,e,t){return bt(vp(pm(n),Ki(e.b)),vp(pm(n),Ki(t.b)))}function n4e(n,e,t){return bt(vp(pm(n),Ki(e.e)),vp(pm(n),Ki(t.e)))}function e4e(n,e){return y.Math.min(J1(e.a,n.d.d.c),J1(e.b,n.d.d.c))}function ik(n,e){n._i(n.i+1),O6(n,n.i,n.Zi(n.i,e)),n.Mi(n.i++,e),n.Ni()}function t5(n){var e,t;++n.j,e=n.g,t=n.i,n.g=null,n.i=0,n.Oi(t,e),n.Ni()}function PLn(n,e,t){var i;i=new NX(n.a),f5(i,n.a.a),Vc(i.f,e,t),n.a.a=i}function xJ(n,e,t,i){var r;for(r=0;re)throw M(new Ir(Mnn(n,e,"index")));return n}function Yl(n,e){var t;return t=(Ln(e,n.c.length),n.c[e]),Pz(n.c,e,1),t}function RJ(n,e){var t,i;return t=(Jn(n),n),i=(Jn(e),e),t==i?0:te.p?-1:0}function FLn(n){var e;return n.a||(e=n.r,D(e,156)&&(n.a=u(e,156))),n.a}function o4e(n,e,t){var i;return++n.e,--n.f,i=u(n.d[e].gd(t),136),i.md()}function s4e(n){var e,t;return e=n.ld(),t=u(n.md(),16),x7(t.Nc(),new L8n(e))}function BLn(n,e){return Zc(n.a,e)?(Bp(n.a,e),!0):!1}function Rp(n,e,t){return ek(e,n.e.Rd().gc()),ek(t,n.c.Rd().gc()),n.a[e][t]}function XM(n,e,t){this.a=n,this.b=e,this.c=t,nn(n.t,this),nn(e.i,this)}function VM(n,e,t,i){this.f=n,this.e=e,this.d=t,this.b=i,this.c=i?i.d:null}function rk(){this.b=new Ct,this.a=new Ct,this.b=new Ct,this.a=new Ct}function $4(){$4=F;var n,e;MO=(o4(),e=new xE,e),TO=(n=new fD,n)}function f4e(n){var e;return ta(n),e=new ISn(n,n.a.e,n.a.d|4),new uV(n,e)}function RLn(n){var e;for(X1(n),e=0;n.a.Bd(new W0n);)e=nr(e,1);return e}function WM(n,e){return Jn(e),n.c=0,"Initial capacity must not be negative")}function JM(){JM=F,p9=new lt("org.eclipse.elk.labels.labelManager")}function KLn(){KLn=F,ysn=new Dt("separateLayerConnections",(OT(),F_))}function af(){af=F,zw=new rX("REGULAR",0),Ea=new rX("CRITICAL",1)}function ck(){ck=F,Kq=new lX("FIXED",0),JI=new lX("CENTER_NODE",1)}function QM(){QM=F,Tsn=new Jz("QUADRATIC",0),V_=new Jz("SCANLINE",1)}function _Ln(){_Ln=F,dne=Ce((u5(),A(T(Psn,1),G,322,0,[B8,pj,Ssn])))}function HLn(){HLn=F,bne=Ce((bT(),A(T(Osn,1),G,351,0,[Isn,VP,W_])))}function qLn(){qLn=F,fne=Ce((D0(),A(T(R_,1),G,372,0,[ub,va,cb])))}function ULn(){ULn=F,mne=Ce((hd(),A(T(pne,1),G,460,0,[Y_,mv,m2])))}function GLn(){GLn=F,Cne=Ce((Z4(),A(T(sH,1),G,299,0,[uH,oH,mj])))}function zLn(){zLn=F,Tne=Ce((vl(),A(T(Mne,1),G,311,0,[vj,k2,E3])))}function XLn(){XLn=F,Zte=Ce((g5(),A(T(Lhn,1),G,390,0,[FH,Dhn,MI])))}function VLn(){VLn=F,oie=Ce((ST(),A(T(zhn,1),G,387,0,[Uhn,zH,Ghn])))}function WLn(){WLn=F,sie=Ce((d5(),A(T(Xhn,1),G,349,0,[VH,XH,Ij])))}function JLn(){JLn=F,uie=Ce((gr(),A(T(cie,1),G,463,0,[n9,Vu,Jc])))}function QLn(){QLn=F,fie=Ce((om(),A(T(Whn,1),G,350,0,[WH,Vhn,e9])))}function YLn(){YLn=F,hie=Ce((dT(),A(T(Yhn,1),G,352,0,[Qhn,JH,Jhn])))}function ZLn(){ZLn=F,lie=Ce((DT(),A(T(Zhn,1),G,388,0,[QH,Ov,Gw])))}function nNn(){nNn=F,are=Ce((b5(),A(T(gln,1),G,392,0,[wln,nq,Lj])))}function eNn(){eNn=F,Gre=Ce((Ok(),A(T(Uln,1),G,393,0,[KI,Hln,qln])))}function tNn(){tNn=F,ace=Ce((AT(),A(T(s1n,1),G,300,0,[Cq,o1n,u1n])))}function iNn(){iNn=F,dce=Ce((XT(),A(T(f1n,1),G,445,0,[Bj,qI,Mq])))}function rNn(){rNn=F,wce=Ce((rA(),A(T(bce,1),G,456,0,[Tq,Sq,Aq])))}function cNn(){cNn=F,mce=Ce((_T(),A(T(a1n,1),G,394,0,[l1n,Oq,h1n])))}function uNn(){uNn=F,Kce=Ce((nT(),A(T(O1n,1),G,439,0,[xq,I1n,P1n])))}function oNn(){oNn=F,Aie=Ce((O0(),A(T(Tie,1),G,464,0,[Oj,t9,PI])))}function sNn(){sNn=F,WQn=Ce((Uu(),A(T(VQn,1),G,471,0,[Mh,pa,zs])))}function fNn(){fNn=F,XQn=Ce((wf(),A(T(Sw,1),G,237,0,[bc,Wc,wc])))}function hNn(){hNn=F,QQn=Ce((bu(),A(T(JQn,1),G,472,0,[kf,ma,Xs])))}function lNn(){lNn=F,xQn=Ce((Gu(),A(T(xr,1),G,108,0,[xun,Yr,Aw])))}function aNn(){aNn=F,pZn=Ce((i5(),A(T(Pon,1),G,391,0,[E_,j_,C_])))}function dNn(){dNn=F,Que=Ce((jl(),A(T(ldn,1),G,346,0,[uO,M1,M9])))}function bNn(){bNn=F,Uce=Ce((Fk(),A(T(Fq,1),G,444,0,[XI,VI,WI])))}function wNn(){wNn=F,Xue=Ce(($f(),A(T(Zan,1),G,278,0,[Bv,Jw,Rv])))}function gNn(){gNn=F,loe=Ce((Gp(),A(T(mdn,1),G,280,0,[pdn,Yw,aO])))}function Lf(n,e){return!n.o&&(n.o=new Iu((Cc(),il),T1,n,0)),wx(n.o,e)}function h4e(n,e){var t;n.C&&(t=u(Cr(n.b,e),127).n,t.d=n.C.d,t.a=n.C.a)}function UJ(n){var e,t,i,r;r=n.d,e=n.a,t=n.b,i=n.c,n.d=t,n.a=i,n.b=r,n.c=e}function l4e(n){return!n.g&&(n.g=new CE),!n.g.b&&(n.g.b=new byn(n)),n.g.b}function uk(n){return!n.g&&(n.g=new CE),!n.g.c&&(n.g.c=new pyn(n)),n.g.c}function a4e(n){return!n.g&&(n.g=new CE),!n.g.d&&(n.g.d=new wyn(n)),n.g.d}function d4e(n){return!n.g&&(n.g=new CE),!n.g.a&&(n.g.a=new gyn(n)),n.g.a}function b4e(n,e,t,i){return t&&(i=t.Rh(e,Ot(t.Dh(),n.c.uk()),null,i)),i}function w4e(n,e,t,i){return t&&(i=t.Th(e,Ot(t.Dh(),n.c.uk()),null,i)),i}function e$(n,e,t,i){var r;return r=K(ye,_e,28,e+1,15,1),vPe(r,n,e,t,i),r}function K(n,e,t,i,r,c){var s;return s=_Rn(r,i),r!=10&&A(T(n,c),e,t,r,s),s}function g4e(n,e,t){var i,r;for(r=new Y4(e,n),i=0;it||e=0?n.Lh(t,!0,!0):H0(n,e,!0)}function L4e(n,e,t){var i;return i=vFn(n,e,t),n.b=new ET(i.c.length),den(n,i)}function N4e(n){if(n.b<=0)throw M(new nc);return--n.b,n.a-=n.c.c,Y(n.a)}function $4e(n){var e;if(!n.a)throw M(new PIn);return e=n.a,n.a=At(n.a),e}function x4e(n){for(;!n.a;)if(!eSn(n.c,new C9n(n)))return!1;return!0}function Kp(n){var e;return Se(n),D(n,204)?(e=u(n,204),e):new _8n(n)}function F4e(n){YM(),u(n.of((Ue(),Ww)),181).Fc((zu(),tE)),n.qf(sU,null)}function YM(){YM=F,wue=new Emn,pue=new Cmn,gue=M6e((Ue(),sU),wue,Ta,pue)}function ZM(){ZM=F,Kln=new sX("LEAF_NUMBER",0),vq=new sX("NODE_SIZE",1)}function u$(n){n.a=K(ye,_e,28,n.b+1,15,1),n.c=K(ye,_e,28,n.b,15,1),n.d=0}function B4e(n,e){n.a.Ne(e.d,n.b)>0&&(nn(n.c,new GV(e.c,e.d,n.d)),n.b=e.d)}function nQ(n,e){if(n.g==null||e>=n.i)throw M(new aL(e,n.i));return n.g[e]}function kNn(n,e,t){if(rm(n,t),t!=null&&!n.fk(t))throw M(new uD);return t}function o$(n,e){return gk(e)!=10&&A(wo(e),e.Sm,e.__elementTypeId$,gk(e),n),n}function F4(n,e,t,i){var r;i=(j0(),i||Pun),r=n.slice(e,t),Tnn(r,n,e,t,-e,i)}function zo(n,e,t,i,r){return e<0?H0(n,t,i):u(t,69).wk().yk(n,n.hi(),e,i,r)}function R4e(n,e){return bt($(R(v(n,(W(),fb)))),$(R(v(e,fb))))}function yNn(){yNn=F,IQn=Ce((B4(),A(T(lP,1),G,304,0,[e_,t_,i_,r_])))}function B4(){B4=F,e_=new uC("All",0),t_=new lTn,i_=new kTn,r_=new hTn}function Uu(){Uu=F,Mh=new FD(s3,0),pa=new FD(qm,1),zs=new FD(f3,2)}function jNn(){jNn=F,KA(),s0n=St,mse=li,f0n=new V9(St),vse=new V9(li)}function ENn(){ENn=F,jYn=Ce((N0(),A(T(yYn,1),G,417,0,[rj,ij,a_,d_])))}function CNn(){CNn=F,AYn=Ce((A5(),A(T(TYn,1),G,406,0,[fj,wP,gP,hj])))}function MNn(){MNn=F,CYn=Ce((Vp(),A(T(EYn,1),G,332,0,[uj,cj,oj,sj])))}function TNn(){TNn=F,DZn=Ce((dd(),A(T(Lon,1),G,389,0,[Ow,Don,P_,I_])))}function ANn(){ANn=F,TZn=Ce((nm(),A(T(MZn,1),G,416,0,[rb,Iw,Pw,d2])))}function SNn(){SNn=F,tne=Ce((xf(),A(T(ene,1),G,421,0,[j3,lv,av,B_])))}function PNn(){PNn=F,GZn=Ce((OT(),A(T(UZn,1),G,371,0,[F_,HP,qP,wj])))}function INn(){INn=F,nie=Ce((cw(),A(T(RH,1),G,203,0,[TI,BH,P2,S2])))}function ONn(){ONn=F,iie=Ce((lh(),A(T(Hhn,1),G,284,0,[k1,_hn,HH,qH])))}function hk(){hk=F,Fsn=new Yz(kh,0),QP=new Yz("IMPROVE_STRAIGHTNESS",1)}function DNn(n,e){var t,i;return i=e/n.c.Rd().gc()|0,t=e%n.c.Rd().gc(),Rp(n,i,t)}function LNn(n){var e;if(n.nl())for(e=n.i-1;e>=0;--e)L(n,e);return jJ(n)}function eQ(n){var e,t;if(!n.b)return null;for(t=n.b;e=t.a[0];)t=e;return t}function NNn(n){var e,t;if(!n.b)return null;for(t=n.b;e=t.a[1];)t=e;return t}function K4e(n){return D(n,180)?""+u(n,180).a:n==null?null:Jr(n)}function _4e(n){return D(n,180)?""+u(n,180).a:n==null?null:Jr(n)}function $Nn(n,e){if(e.a)throw M(new ec(nXn));fi(n.a,e),e.a=n,!n.j&&(n.j=e)}function tQ(n,e){IC.call(this,e.zd(),e.yd()&-16449),Jn(n),this.a=n,this.c=e}function H4e(n,e){return new _L(e,a0(Ki(e.e),e.f.a+n,e.f.b+n),(_n(),!1))}function q4e(n,e){return k4(),nn(n,new bi(e,Y(e.e.c.length+e.g.c.length)))}function U4e(n,e){return k4(),nn(n,new bi(e,Y(e.e.c.length+e.g.c.length)))}function xNn(){xNn=F,lce=Ce((sA(),A(T(c1n,1),G,354,0,[Eq,i1n,r1n,t1n])))}function FNn(){FNn=F,$re=Ce((w5(),A(T(xln,1),G,353,0,[aq,BI,lq,hq])))}function BNn(){BNn=F,hre=Ce((Qp(),A(T(rln,1),G,405,0,[LI,c9,u9,o9])))}function RNn(){RNn=F,Vue=Ce((El(),A(T(aU,1),G,223,0,[lU,Yj,Kv,F3])))}function KNn(){KNn=F,Zue=Ce((To(),A(T(Yue,1),G,291,0,[nE,nl,Aa,Zj])))}function _Nn(){_Nn=F,foe=Ce((go(),A(T(I9,1),G,386,0,[rE,Gd,iE,Qw])))}function HNn(){HNn=F,doe=Ce((qT(),A(T(Cdn,1),G,320,0,[wU,ydn,Edn,jdn])))}function qNn(){qNn=F,goe=Ce((LT(),A(T(woe,1),G,415,0,[gU,Tdn,Mdn,Adn])))}function nT(){nT=F,xq=new oL(mVn,0),I1n=new oL(Crn,1),P1n=new oL(kh,2)}function Wb(n,e,t,i,r){return Jn(n),Jn(e),Jn(t),Jn(i),Jn(r),new AW(n,e,i)}function UNn(n,e){var t;return t=u(Bp(n.e,e),400),t?(tW(t),t.e):null}function du(n,e){var t;return t=qr(n,e,0),t==-1?!1:(Yl(n,t),!0)}function GNn(n,e,t){var i;return X1(n),i=new LO,i.a=e,n.a.Nb(new TCn(i,t)),i.a}function G4e(n){var e;return X1(n),e=K(Pi,Tr,28,0,15,1),lg(n.a,new y9n(e)),e}function iQ(n){var e;if(!E$(n))throw M(new nc);return n.e=1,e=n.d,n.d=null,e}function n1(n){var e;return Vr(n)&&(e=0-n,!isNaN(e))?e:Y1(tm(n))}function qr(n,e,t){for(;t=0?tA(n,t,!0,!0):H0(n,e,!0)}function cQ(n){var e;return e=cd(Un(n,32)),e==null&&(iu(n),e=cd(Un(n,32))),e}function uQ(n){var e;return n.Oh()||(e=se(n.Dh())-n.ji(),n.$h().Mk(e)),n.zh()}function QNn(n,e){con=new kE,MYn=e,L8=n,u(L8.b,68),XJ(L8,con,null),aGn(L8)}function i5(){i5=F,E_=new RD("XY",0),j_=new RD("X",1),C_=new RD("Y",2)}function bu(){bu=F,kf=new BD("TOP",0),ma=new BD(qm,1),Xs=new BD(Ftn,2)}function vl(){vl=F,vj=new GD(kh,0),k2=new GD("TOP",1),E3=new GD(Ftn,2)}function wk(){wk=F,UH=new nX("INPUT_ORDER",0),GH=new nX("PORT_DEGREE",1)}function R4(){R4=F,hun=Yc(ro,ro,524287),bQn=Yc(0,0,Ty),lun=QN(1),QN(2),aun=QN(0)}function a$(n){var e;return n.d!=n.r&&(e=gs(n),n.e=!!e&&e.lk()==bJn,n.d=e),n.e}function d$(n,e,t){var i;return i=n.g[e],O6(n,e,n.Zi(e,t)),n.Ri(e,t,i),n.Ni(),i}function rT(n,e){var t;return t=n.dd(e),t>=0?(n.gd(t),!0):!1}function b$(n,e){var t;for(Se(n),Se(e),t=!1;e.Ob();)t=t|n.Fc(e.Pb());return t}function Nf(n,e){var t;return t=u(ee(n.e,e),400),t?(DTn(n,t),t.e):null}function YNn(n){var e,t;return e=n/60|0,t=n%60,t==0?""+e:""+e+":"+(""+t)}function Jb(n,e){var t=n.a[e],i=(K$(),WK)[typeof t];return i?i(t):wY(typeof t)}function rc(n,e){var t,i;return ta(n),i=new _J(e,n.a),t=new rSn(i),new Tn(n,t)}function w$(n){var e;return e=n.b.c.length==0?null:sn(n.b,0),e!=null&&M$(n,0),e}function W4e(n,e){var t,i,r;r=e.c.i,t=u(ee(n.f,r),60),i=t.d.c-t.e.c,BQ(e.a,i,0)}function oQ(n,e){var t;for(++n.d,++n.c[e],t=e+1;t=0;)++e[0]}function J4e(n,e){eu(n,e==null||GC((Jn(e),e))||isNaN((Jn(e),e))?0:(Jn(e),e))}function Q4e(n,e){tu(n,e==null||GC((Jn(e),e))||isNaN((Jn(e),e))?0:(Jn(e),e))}function Y4e(n,e){I0(n,e==null||GC((Jn(e),e))||isNaN((Jn(e),e))?0:(Jn(e),e))}function Z4e(n,e){P0(n,e==null||GC((Jn(e),e))||isNaN((Jn(e),e))?0:(Jn(e),e))}function nme(n,e,t){return vp(new V(t.e.a+t.f.a/2,t.e.b+t.f.b/2),n)==(Jn(e),e)}function eme(n,e){return D(e,102)&&u(e,19).Bb&hr?new dL(e,n):new Y4(e,n)}function tme(n,e){return D(e,102)&&u(e,19).Bb&hr?new dL(e,n):new Y4(e,n)}function gk(n){return n.__elementTypeCategory$==null?10:n.__elementTypeCategory$}function e$n(n,e){return e==(xL(),xL(),AQn)?n.toLocaleLowerCase():n.toLowerCase()}function t$n(n){if(!n.e)throw M(new nc);return n.c=n.a=n.e,n.e=n.e.e,--n.d,n.a.f}function sQ(n){if(!n.c)throw M(new nc);return n.e=n.a=n.c,n.c=n.c.c,++n.d,n.a.f}function i$n(n){var e;for(++n.a,e=n.c.a.length;n.an.a[i]&&(i=t);return i}function r$n(n){var e;return e=u(v(n,(W(),ob)),313),e?e.a==n:!1}function c$n(n){var e;return e=u(v(n,(W(),ob)),313),e?e.i==n:!1}function u$n(){u$n=F,yZn=Ce((Vi(),A(T(Ion,1),G,367,0,[Vs,Jh,Oc,Kc,zr])))}function o$n(){o$n=F,rne=Ce((ow(),A(T(ine,1),G,375,0,[gj,zP,XP,GP,UP])))}function s$n(){s$n=F,wne=Ce((o1(),A(T(Lsn,1),G,348,0,[J_,Dsn,Q_,pv,gv])))}function f$n(){f$n=F,eie=Ce((T5(),A(T($hn,1),G,323,0,[Nhn,KH,_H,Y8,Z8])))}function h$n(){h$n=F,Sne=Ce((Yo(),A(T(hfn,1),G,171,0,[Ej,U8,ya,G8,xw])))}function l$n(){l$n=F,qre=Ce((wA(),A(T(Hre,1),G,368,0,[pq,bq,mq,wq,gq])))}function a$n(){a$n=F,qce=Ce((R5(),A(T(Hce,1),G,373,0,[N2,D3,g9,w9,_j])))}function d$n(){d$n=F,Wce=Ce((Yk(),A(T(K1n,1),G,324,0,[F1n,_q,R1n,Hq,B1n])))}function b$n(){b$n=F,zue=Ce((ci(),A(T(E9,1),G,88,0,[Jf,Xr,Br,Wf,us])))}function w$n(){w$n=F,mue=Ce((pf(),A(T(Zh,1),G,170,0,[xn,pi,Ph,Kd,E1])))}function g$n(){g$n=F,eoe=Ce((Bg(),A(T(A9,1),G,256,0,[Sa,eE,adn,T9,ddn])))}function p$n(){p$n=F,roe=Ce((en(),A(T(lr,1),Mc,64,0,[sc,Xn,Zn,ae,Wn])))}function cT(){cT=F,Run=new Uz("BY_SIZE",0),s_=new Uz("BY_SIZE_AND_SHAPE",1)}function uT(){uT=F,v_=new Xz("EADES",0),vP=new Xz("FRUCHTERMAN_REINGOLD",1)}function pk(){pk=F,WP=new Qz("READING_DIRECTION",0),Nsn=new Qz("ROTATION",1)}function r5(){r5=F,PZn=new rwn,IZn=new own,AZn=new swn,SZn=new uwn,OZn=new fwn}function m$n(n){this.b=new Z,this.a=new Z,this.c=new Z,this.d=new Z,this.e=n}function v$n(n){this.g=n,this.f=new Z,this.a=y.Math.min(this.g.c.c,this.g.d.c)}function k$n(n,e,t){qC.call(this),lQ(this),this.a=n,this.c=t,this.b=e.d,this.f=e.e}function sme(n,e,t){var i,r;for(r=new C(t);r.a=0&&e0?e-1:e,eEn($he(U$n(YV(new op,t),n.n),n.j),n.k)}function Nr(n){var e,t;t=(e=new hD,e),ve((!n.q&&(n.q=new q(Ss,n,11,10)),n.q),t)}function fQ(n){return(n.i&2?"interface ":n.i&1?"":"class ")+(ll(n),n.o)}function oT(n){return Ec(n,et)>0?et:Ec(n,Wi)<0?Wi:Ae(n)}function Qb(n){return n<3?(Co(n,$zn),n+1):n=-.01&&n.a<=_f&&(n.a=0),n.b>=-.01&&n.b<=_f&&(n.b=0),n}function Dg(n){Vg();var e,t;for(t=Arn,e=0;et&&(t=n[e]);return t}function C$n(n,e){var t;if(t=oy(n.Dh(),e),!t)throw M(new Gn(ba+e+sK));return t}function Yb(n,e){var t;for(t=n;At(t);)if(t=At(t),t==e)return!0;return!1}function vme(n,e){var t,i,r;for(i=e.a.ld(),t=u(e.a.md(),16).gc(),r=0;rn||n>e)throw M(new pz("fromIndex: 0, toIndex: "+n+Mtn+e))}function S0(n){if(n<0)throw M(new Gn("Illegal Capacity: "+n));this.g=this.aj(n)}function hQ(n,e){return Tf(),Ks(fa),y.Math.abs(n-e)<=fa||n==e||isNaN(n)&&isNaN(e)}function m$(n,e){var t,i,r,c;for(i=n.d,r=0,c=i.length;r0&&(n.a/=e,n.b/=e),n}function jo(n){var e;return n.w?n.w:(e=lpe(n),e&&!e.Vh()&&(n.w=e),e)}function K4(n,e){var t,i;i=n.a,t=w5e(n,e,null),i!=e&&!n.e&&(t=Nm(n,e,t)),t&&t.oj()}function P$n(n,e,t){var i,r;i=e;do r=$(n.p[i.p])+t,n.p[i.p]=r,i=n.a[i.p];while(i!=e)}function I$n(n,e,t){var i=function(){return n.apply(i,arguments)};return e.apply(i,t),i}function Tme(n){var e;return n==null?null:(e=u(n,195),Bye(e,e.length))}function L(n,e){if(n.g==null||e>=n.i)throw M(new aL(e,n.i));return n.Wi(e,n.g[e])}function Ame(n,e){Dn();var t,i;for(i=new Z,t=0;t=14&&e<=16))),n}function Ee(n,e){var t;return Jn(e),t=n[":"+e],B7(!!t,"Enum constant undefined: "+e),t}function we(n,e,t,i,r,c){var s;return s=bN(n,e),G$n(t,s),s.i=r?8:0,s.f=i,s.e=r,s.g=c,s}function dQ(n,e,t,i,r){this.d=e,this.k=i,this.f=r,this.o=-1,this.p=1,this.c=n,this.a=t}function bQ(n,e,t,i,r){this.d=e,this.k=i,this.f=r,this.o=-1,this.p=2,this.c=n,this.a=t}function wQ(n,e,t,i,r){this.d=e,this.k=i,this.f=r,this.o=-1,this.p=6,this.c=n,this.a=t}function gQ(n,e,t,i,r){this.d=e,this.k=i,this.f=r,this.o=-1,this.p=7,this.c=n,this.a=t}function pQ(n,e,t,i,r){this.d=e,this.j=i,this.e=r,this.o=-1,this.p=4,this.c=n,this.a=t}function z$n(n,e){var t,i,r,c;for(i=e,r=0,c=i.length;r=0))throw M(new Gn("tolerance ("+n+") must be >= 0"));return n}function V$n(n,e){var t;return D(e,44)?n.c.Mc(e):(t=wx(n,e),VT(n,e),t)}function Mr(n,e,t){return ad(n,e),zc(n,t),e1(n,0),Zb(n,1),u1(n,!0),c1(n,!0),n}function vk(n,e){var t;if(t=n.gc(),e<0||e>t)throw M(new Kb(e,t));return new SV(n,e)}function wT(n,e){n.b=y.Math.max(n.b,e.d),n.e+=e.r+(n.a.c.length==0?0:n.c),nn(n.a,e)}function W$n(n){Fb(n.c>=0),_8e(n.d,n.c)<0&&(n.a=n.a-1&n.d.a.length-1,n.b=n.d.c),n.c=-1}function gT(n){var e,t;for(t=n.c.Cc().Kc();t.Ob();)e=u(t.Pb(),16),e.$b();n.c.$b(),n.d=0}function Fme(n){var e,t,i,r;for(t=n.a,i=0,r=t.length;i=0}function CQ(n,e){n.r>0&&n.c0&&n.g!=0&&CQ(n.i,e/n.r*n.i.d))}function MQ(n,e){var t;t=n.c,n.c=e,n.Db&4&&!(n.Db&1)&&it(n,new Ci(n,1,1,t,n.c))}function y$(n,e){var t;t=n.c,n.c=e,n.Db&4&&!(n.Db&1)&&it(n,new Ci(n,1,4,t,n.c))}function X4(n,e){var t;t=n.k,n.k=e,n.Db&4&&!(n.Db&1)&&it(n,new Ci(n,1,2,t,n.k))}function j$(n,e){var t;t=n.D,n.D=e,n.Db&4&&!(n.Db&1)&&it(n,new Ci(n,1,2,t,n.D))}function mT(n,e){var t;t=n.f,n.f=e,n.Db&4&&!(n.Db&1)&&it(n,new Ci(n,1,8,t,n.f))}function vT(n,e){var t;t=n.i,n.i=e,n.Db&4&&!(n.Db&1)&&it(n,new Ci(n,1,7,t,n.i))}function TQ(n,e){var t;t=n.a,n.a=e,n.Db&4&&!(n.Db&1)&&it(n,new Ci(n,1,8,t,n.a))}function AQ(n,e){var t;t=n.b,n.b=e,n.Db&4&&!(n.Db&1)&&it(n,new Ci(n,1,0,t,n.b))}function SQ(n,e){var t;t=n.b,n.b=e,n.Db&4&&!(n.Db&1)&&it(n,new Ci(n,1,0,t,n.b))}function PQ(n,e){var t;t=n.c,n.c=e,n.Db&4&&!(n.Db&1)&&it(n,new Ci(n,1,1,t,n.c))}function IQ(n,e){var t;t=n.d,n.d=e,n.Db&4&&!(n.Db&1)&&it(n,new Ci(n,1,1,t,n.d))}function Ume(n,e,t){var i;n.b=e,n.a=t,i=(n.a&512)==512?new gjn:new rG,n.c=rAe(i,n.b,n.a)}function oxn(n,e){return Sl(n.e,e)?(dr(),a$(e)?new eM(e,n):new j7(e,n)):new $Mn(e,n)}function Gme(n){var e,t;return 0>n?new Dz:(e=n+1,t=new vLn(e,n),new oV(null,t))}function zme(n,e){Dn();var t;return t=new ap(1),Ai(n)?Dr(t,n,e):Vc(t.f,n,e),new eD(t)}function Xme(n,e){var t,i;return t=n.c,i=e.e[n.p],i>0?u(sn(t.a,i-1),10):null}function Vme(n,e){var t,i;return t=n.o+n.p,i=e.o+e.p,te?(e<<=1,e>0?e:Y5):e}function E$(n){switch(_X(n.e!=3),n.e){case 2:return!1;case 0:return!0}return i4e(n)}function fxn(n,e){var t;return D(e,8)?(t=u(e,8),n.a==t.a&&n.b==t.b):!1}function Jme(n,e){var t;t=new kE,u(e.b,68),u(e.b,68),u(e.b,68),nu(e.a,new BV(n,t,e))}function hxn(n,e){var t,i;for(i=e.vc().Kc();i.Ob();)t=u(i.Pb(),44),Vk(n,t.ld(),t.md())}function OQ(n,e){var t;t=n.d,n.d=e,n.Db&4&&!(n.Db&1)&&it(n,new Ci(n,1,11,t,n.d))}function kT(n,e){var t;t=n.j,n.j=e,n.Db&4&&!(n.Db&1)&&it(n,new Ci(n,1,13,t,n.j))}function DQ(n,e){var t;t=n.b,n.b=e,n.Db&4&&!(n.Db&1)&&it(n,new Ci(n,1,21,t,n.b))}function Qme(n,e){(UM(),Uf?null:e.c).length==0&&TAn(e,new BU),Dr(n.a,Uf?null:e.c,e)}function Yme(n,e){e.Ug("Hierarchical port constraint processing",1),g9e(n),xLe(n),e.Vg()}function D0(){D0=F,ub=new KD("START",0),va=new KD("MIDDLE",1),cb=new KD("END",2)}function yT(){yT=F,RI=new oX("P1_NODE_PLACEMENT",0),L2=new oX("P2_EDGE_ROUTING",1)}function Q1(){Q1=F,y3=new lt(Jtn),jP=new lt(MXn),$8=new lt(TXn),lj=new lt(AXn)}function L0(n){var e;return FL(n.f.g,n.d),oe(n.b),n.c=n.a,e=u(n.a.Pb(),44),n.b=GQ(n),e}function LQ(n){var e;return n.b==null?(Gl(),Gl(),dE):(e=n.ul()?n.tl():n.sl(),e)}function lxn(n,e){var t;return t=e==null?-1:qr(n.b,e,0),t<0?!1:(M$(n,t),!0)}function _s(n,e){var t;return Jn(e),t=e.g,n.b[t]?!1:($t(n.b,t,e),++n.c,!0)}function jT(n,e){var t,i;return t=1-e,i=n.a[t],n.a[t]=i.a[e],i.a[e]=n,n.b=!0,i.b=!1,i}function Zme(n,e){var t,i;for(i=e.Kc();i.Ob();)t=u(i.Pb(),272),n.b=!0,fi(n.e,t),t.b=n}function nve(n,e){var t,i;return t=u(v(n,(cn(),Hw)),8),i=u(v(e,Hw),8),bt(t.b,i.b)}function C$(n,e,t){var i,r,c;return c=e>>5,r=e&31,i=vi(U1(n.n[t][c],Ae(Bs(r,1))),3),i}function axn(n,e,t){var i,r,c;for(c=n.a.length-1,r=n.b,i=0;i0?1:0:(!n.c&&(n.c=Y7(vc(n.f))),n.c).e}function yxn(n,e){e?n.B==null&&(n.B=n.D,n.D=null):n.B!=null&&(n.D=n.B,n.B=null)}function rve(n,e){return nm(),n==rb&&e==Iw||n==Iw&&e==rb||n==d2&&e==Pw||n==Pw&&e==d2}function cve(n,e){return nm(),n==rb&&e==Pw||n==rb&&e==d2||n==Iw&&e==d2||n==Iw&&e==Pw}function jxn(n,e){return Tf(),Ks(_f),y.Math.abs(0-e)<=_f||e==0||isNaN(0)&&isNaN(e)?0:n/e}function Exn(n,e){return $(R(ho($k(_r(new Tn(null,new In(n.c.b,16)),new I7n(n)),e))))}function FQ(n,e){return $(R(ho($k(_r(new Tn(null,new In(n.c.b,16)),new P7n(n)),e))))}function uve(){return pr(),A(T(cH,1),G,259,0,[ZP,cs,K8,nI,yv,v2,_8,vv,kv,eI])}function ove(){return ps(),A(T(Khn,1),G,243,0,[AI,Sj,Pj,Fhn,Bhn,xhn,Rhn,SI,pb,Uw])}function sve(n,e){var t;e.Ug("General Compactor",1),t=d8e(u(z(n,(oa(),yq)),393)),t.Cg(n)}function fve(n,e){var t,i;return t=u(z(n,(oa(),_I)),17),i=u(z(e,_I),17),jc(t.a,i.a)}function BQ(n,e,t){var i,r;for(r=ge(n,0);r.b!=r.d.c;)i=u(be(r),8),i.a+=e,i.b+=t;return n}function o5(n,e,t){var i;for(i=n.b[t&n.f];i;i=i.b)if(t==i.a&&sh(e,i.g))return i;return null}function s5(n,e,t){var i;for(i=n.c[t&n.f];i;i=i.d)if(t==i.f&&sh(e,i.i))return i;return null}function hve(n,e,t){var i,r,c;for(i=0,r=0;r>>31;i!=0&&(n[t]=i)}function P$(n,e,t,i,r,c){var s;this.c=n,s=new Z,pZ(n,s,e,n.b,t,i,r,c),this.a=new xi(s,0)}function Cxn(){this.c=new XE(0),this.b=new XE(Trn),this.d=new XE(lVn),this.a=new XE(QB)}function Vo(n,e,t,i,r,c,s){je.call(this,n,e),this.d=t,this.e=i,this.c=r,this.b=c,this.a=Of(s)}function Ut(n,e,t,i,r,c,s,f,h,l,a,d,g){return P_n(n,e,t,i,r,c,s,f,h,l,a,d,g),sx(n,!1),n}function lve(n){return n.b.c.i.k==(Vn(),Zt)?u(v(n.b.c.i,(W(),st)),12):n.b.c}function Mxn(n){return n.b.d.i.k==(Vn(),Zt)?u(v(n.b.d.i,(W(),st)),12):n.b.d}function ave(n){var e;return e=BM(n),o0(e.a,0)?(QE(),QE(),SQn):(QE(),new uAn(e.b))}function I$(n){var e;return e=gJ(n),o0(e.a,0)?(Ob(),Ob(),n_):(Ob(),new AL(e.b))}function O$(n){var e;return e=gJ(n),o0(e.a,0)?(Ob(),Ob(),n_):(Ob(),new AL(e.c))}function Txn(n){switch(n.g){case 2:return en(),Wn;case 4:return en(),Zn;default:return n}}function Axn(n){switch(n.g){case 1:return en(),ae;case 3:return en(),Xn;default:return n}}function Sxn(n){switch(n.g){case 0:return new hmn;case 1:return new lmn;default:return null}}function Hp(){Hp=F,x_=new Dt("edgelabelcenterednessanalysis.includelabel",(_n(),ga))}function RQ(){RQ=F,Mie=ah(WMn(Ke(Ke(new ii,(Vi(),Oc),(tr(),NP)),Kc,PP),zr),LP)}function Pxn(){Pxn=F,Pie=ah(WMn(Ke(Ke(new ii,(Vi(),Oc),(tr(),NP)),Kc,PP),zr),LP)}function D$(){D$=F,x9=new ljn,CU=A(T(ku,1),f2,179,0,[]),Joe=A(T(Ss,1),Gcn,62,0,[])}function V4(){V4=F,dj=new Vz("TO_INTERNAL_LTR",0),L_=new Vz("TO_INPUT_DIRECTION",1)}function Ou(){Ou=F,Ron=new wwn,Fon=new gwn,Bon=new pwn,xon=new mwn,Kon=new vwn,_on=new kwn}function dve(n,e){e.Ug(HXn,1),HY(Qhe(new IE((o6(),new kN(n,!1,!1,new qU))))),e.Vg()}function bve(n,e,t){t.Ug("DFS Treeifying phase",1),O8e(n,e),PTe(n,e),n.a=null,n.b=null,t.Vg()}function kk(n,e){return _n(),Ai(n)?RJ(n,Oe(e)):$b(n)?tN(n,R(e)):Nb(n)?rwe(n,un(e)):n.Fd(e)}function f5(n,e){var t,i;for(Jn(e),i=e.vc().Kc();i.Ob();)t=u(i.Pb(),44),n.zc(t.ld(),t.md())}function wve(n,e,t){var i;for(i=t.Kc();i.Ob();)if(!_M(n,e,i.Pb()))return!1;return!0}function gve(n,e,t,i,r){var c;return t&&(c=Ot(e.Dh(),n.c),r=t.Rh(e,-1-(c==-1?i:c),null,r)),r}function pve(n,e,t,i,r){var c;return t&&(c=Ot(e.Dh(),n.c),r=t.Th(e,-1-(c==-1?i:c),null,r)),r}function Ixn(n){var e;if(n.b==-2){if(n.e==0)e=-1;else for(e=0;n.a[e]==0;e++);n.b=e}return n.b}function mve(n){if(Jn(n),n.length==0)throw M(new th("Zero length BigInteger"));ESe(this,n)}function KQ(n){this.i=n.gc(),this.i>0&&(this.g=this.aj(this.i+(this.i/8|0)+1),n.Qc(this.g))}function Oxn(n,e,t){this.g=n,this.d=e,this.e=t,this.a=new Z,IEe(this),Dn(),Yt(this.a,null)}function _Q(n,e){e.q=n,n.d=y.Math.max(n.d,e.r),n.b+=e.d+(n.a.c.length==0?0:n.c),nn(n.a,e)}function W4(n,e){var t,i,r,c;return r=n.c,t=n.c+n.b,c=n.d,i=n.d+n.a,e.a>r&&e.ac&&e.br?t=r:zn(e,t+1),n.a=qo(n.a,0,e)+(""+i)+$W(n.a,t)}function Kxn(n,e){n.a=nr(n.a,1),n.c=y.Math.min(n.c,e),n.b=y.Math.max(n.b,e),n.d=nr(n.d,e)}function Mve(n,e){return e1||n.Ob())return++n.a,n.g=0,e=n.i,n.Ob(),e;throw M(new nc)}function Uxn(n){switch(n.a.g){case 1:return new WCn;case 3:return new WRn;default:return new s8n}}function qQ(n,e){switch(e){case 1:return!!n.n&&n.n.i!=0;case 2:return n.k!=null}return wJ(n,e)}function vc(n){return Ay>22),r=n.h+e.h+(i>>22),Yc(t&ro,i&ro,r&Il)}function Yxn(n,e){var t,i,r;return t=n.l-e.l,i=n.m-e.m+(t>>22),r=n.h-e.h+(i>>22),Yc(t&ro,i&ro,r&Il)}function zve(n){var e,t;for(RDe(n),t=new C(n.d);t.ai)throw M(new Kb(e,i));return n.Si()&&(t=gOn(n,t)),n.Ei(e,t)}function em(n,e,t,i,r){var c,s;for(s=t;s<=r;s++)for(c=e;c<=i;c++)Kg(n,c,s)||xA(n,c,s,!0,!1)}function u6e(n){Vg();var e,t,i;for(t=K(Ei,J,8,2,0,1),i=0,e=0;e<2;e++)i+=.5,t[e]=Z9e(i,n);return t}function tm(n){var e,t,i;return e=~n.l+1&ro,t=~n.m+(e==0?1:0)&ro,i=~n.h+(e==0&&t==0?1:0)&Il,Yc(e,t,i)}function QQ(n){var e;if(n<0)return Wi;if(n==0)return 0;for(e=Y5;!(e&n);e>>=1);return e}function R$(n,e,t){return n>=128?!1:n<64?M6(vi(Bs(1,n),t),0):M6(vi(Bs(1,n-64),e),0)}function Pk(n,e,t){return t==null?(!n.q&&(n.q=new de),Bp(n.q,e)):(!n.q&&(n.q=new de),Ve(n.q,e,t)),n}function U(n,e,t){return t==null?(!n.q&&(n.q=new de),Bp(n.q,e)):(!n.q&&(n.q=new de),Ve(n.q,e,t)),n}function fFn(n){var e,t;return t=new zM,Ur(t,n),U(t,(Q1(),y3),n),e=new de,$Pe(n,t,e),fDe(n,t,e),t}function hFn(n){var e,t;return e=n.t-n.k[n.o.p]*n.d+n.j[n.o.p]>n.f,t=n.u+n.e[n.o.p]*n.d>n.f*n.s*n.d,e||t}function lFn(n,e){var t,i,r,c;for(t=!1,i=n.a[e].length,c=0;c=0,"Negative initial capacity"),B7(e>=0,"Non-positive load factor"),Hu(this)}function s6e(n,e,t,i,r){var c,s;if(s=n.length,c=t.length,e<0||i<0||r<0||e+r>s||i+r>c)throw M(new qG)}function eY(n,e){Dn();var t,i,r,c,s;for(s=!1,i=e,r=0,c=i.length;r1||e>=0&&n.b<3)}function H$(n){var e,t,i;e=~n.l+1&ro,t=~n.m+(e==0?1:0)&ro,i=~n.h+(e==0&&t==0?1:0)&Il,n.l=e,n.m=t,n.h=i}function rY(n){Dn();var e,t,i;for(i=1,t=n.Kc();t.Ob();)e=t.Pb(),i=31*i+(e!=null?mt(e):0),i=i|0;return i}function d6e(n,e,t,i,r){var c;return c=Xnn(n,e),t&&H$(c),r&&(n=u7e(n,e),i?wa=tm(n):wa=Yc(n.l,n.m,n.h)),c}function yFn(n,e,t){n.g=uF(n,e,(en(),Zn),n.b),n.d=uF(n,t,Zn,n.b),!(n.g.c==0||n.d.c==0)&&YKn(n)}function jFn(n,e,t){n.g=uF(n,e,(en(),Wn),n.j),n.d=uF(n,t,Wn,n.j),!(n.g.c==0||n.d.c==0)&&YKn(n)}function cY(n,e){switch(e){case 7:return!!n.e&&n.e.i!=0;case 8:return!!n.d&&n.d.i!=0}return qY(n,e)}function b6e(n,e){switch(e.g){case 0:D(n.b,641)||(n.b=new Rxn);break;case 1:D(n.b,642)||(n.b=new BSn)}}function EFn(n){switch(n.g){case 0:return new gmn;default:throw M(new Gn(xS+(n.f!=null?n.f:""+n.g)))}}function CFn(n){switch(n.g){case 0:return new wmn;default:throw M(new Gn(xS+(n.f!=null?n.f:""+n.g)))}}function w6e(n,e,t){return!s4(ut(new Tn(null,new In(n.c,16)),new Z3(new hMn(e,t)))).Bd((Va(),v3))}function MFn(n,e){return vp(pm(u(v(e,(lc(),vb)),88)),new V(n.c.e.a-n.b.e.a,n.c.e.b-n.b.e.b))<=0}function g6e(n,e){for(;n.g==null&&!n.c?cJ(n):n.g==null||n.i!=0&&u(n.g[n.i-1],51).Ob();)kle(e,CA(n))}function ld(n){var e,t;for(t=new C(n.a.b);t.ai?1:0}function v6e(n){return nn(n.c,(qp(),bue)),hQ(n.a,$(R(rn((bx(),EI)))))?new tvn:new $kn(n)}function k6e(n){for(;!n.d||!n.d.Ob();)if(n.b&&!i6(n.b))n.d=u(Sp(n.b),51);else return null;return n.d}function oY(n){switch(n.g){case 1:return lVn;default:case 2:return 0;case 3:return QB;case 4:return Trn}}function y6e(){nt();var n;return IU||(n=_1e(sa("M",!0)),n=uM(sa("M",!1),n),IU=n,IU)}function LT(){LT=F,gU=new CC("ELK",0),Tdn=new CC("JSON",1),Mdn=new CC("DOT",2),Adn=new CC("SVG",3)}function d5(){d5=F,VH=new WD("STACKED",0),XH=new WD("REVERSE_STACKED",1),Ij=new WD("SEQUENCED",2)}function b5(){b5=F,wln=new eL(kh,0),nq=new eL("MIDDLE_TO_MIDDLE",1),Lj=new eL("AVOID_OVERLAP",2)}function cm(){cm=F,Esn=new Ygn,Csn=new Zgn,JZn=new Jgn,WZn=new n2n,VZn=new Qgn,jsn=(Jn(VZn),new O0n)}function NT(){NT=F,hdn=new f0(15),Jue=new Ni((Ue(),C1),hdn),C9=N3,udn=Pue,odn=Hd,fdn=_2,sdn=Vw}function Ng(n,e){var t,i,r,c,s;for(i=e,r=0,c=i.length;r=n.b.c.length||(fY(n,2*e+1),t=2*e+2,t0&&(e.Cd(t),t.i&&E5e(t))}function hY(n,e,t){var i;for(i=t-1;i>=0&&n[i]===e[i];i--);return i<0?0:ND(vi(n[i],mr),vi(e[i],mr))?-1:1}function SFn(n,e,t){var i,r;this.g=n,this.c=e,this.a=this,this.d=this,r=sxn(t),i=K(sQn,Cy,227,r,0,1),this.b=i}function X$(n,e,t,i,r){var c,s;for(s=t;s<=r;s++)for(c=e;c<=i;c++)if(Kg(n,c,s))return!0;return!1}function A6e(n,e){var t,i;for(i=n.Zb().Cc().Kc();i.Ob();)if(t=u(i.Pb(),16),t.Hc(e))return!0;return!1}function PFn(n,e,t){var i,r,c,s;for(Jn(t),s=!1,c=n.fd(e),r=t.Kc();r.Ob();)i=r.Pb(),c.Rb(i),s=!0;return s}function V$(n,e){var t,i;return i=u(Un(n.a,4),129),t=K(jU,MK,424,e,0,1),i!=null&&Ic(i,0,t,0,i.length),t}function IFn(n,e){var t;return t=new jF((n.f&256)!=0,n.i,n.a,n.d,(n.f&16)!=0,n.j,n.g,e),n.e!=null||(t.c=n),t}function S6e(n,e){var t;return n===e?!0:D(e,85)?(t=u(e,85),dnn(Ja(n),t.vc())):!1}function OFn(n,e,t){var i,r;for(r=t.Kc();r.Ob();)if(i=u(r.Pb(),44),n.Be(e,i.md()))return!0;return!1}function DFn(n,e,t){return n.d[e.p][t.p]||(O9e(n,e,t),n.d[e.p][t.p]=!0,n.d[t.p][e.p]=!0),n.a[e.p][t.p]}function P6e(n,e){var t;return!n||n==e||!kt(e,(W(),sb))?!1:(t=u(v(e,(W(),sb)),10),t!=n)}function W$(n){switch(n.i){case 2:return!0;case 1:return!1;case-1:++n.c;default:return n.$l()}}function LFn(n){switch(n.i){case-2:return!0;case-1:return!1;case 1:--n.c;default:return n._l()}}function NFn(n){yOn.call(this,"The given string does not match the expected format for individual spacings.",n)}function I6e(n,e){var t;e.Ug("Min Size Preprocessing",1),t=jnn(n),ht(n,(_h(),a9),t.a),ht(n,UI,t.b),e.Vg()}function O6e(n){var e,t,i;for(e=0,i=K(Ei,J,8,n.b,0,1),t=ge(n,0);t.b!=t.d.c;)i[e++]=u(be(t),8);return i}function J$(n,e,t){var i,r,c;for(i=new Ct,c=ge(t,0);c.b!=c.d.c;)r=u(be(c),8),Fe(i,new rr(r));PFn(n,e,i)}function D6e(n,e){var t;return t=nr(n,e),ND(RN(n,e),0)|AC(RN(n,t),0)?t:nr(Ey,RN(U1(t,63),1))}function L6e(n,e){var t,i;return t=u(n.d.Bc(e),16),t?(i=n.e.hc(),i.Gc(t),n.e.d-=t.gc(),t.$b(),i):null}function $Fn(n){var e;if(e=n.a.c.length,e>0)return E4(e-1,n.a.c.length),Yl(n.a,e-1);throw M(new $yn)}function xFn(n,e,t){if(n>e)throw M(new Gn(ZA+n+Qzn+e));if(n<0||e>t)throw M(new pz(ZA+n+Stn+e+Mtn+t))}function um(n,e){n.D==null&&n.B!=null&&(n.D=n.B,n.B=null),j$(n,e==null?null:(Jn(e),e)),n.C&&n.hl(null)}function N6e(n,e){var t;t=rn((bx(),EI))!=null&&e.Sg()!=null?$(R(e.Sg()))/$(R(rn(EI))):1,Ve(n.b,e,t)}function lY(n,e){var t,i;if(i=n.c[e],i!=0)for(n.c[e]=0,n.d-=i,t=e+1;tPS?n-t>PS:t-n>PS}function XFn(n,e){var t;for(t=0;tr&&(EKn(e.q,r),i=t!=e.q.d)),i}function VFn(n,e){var t,i,r,c,s,f,h,l;return h=e.i,l=e.j,i=n.f,r=i.i,c=i.j,s=h-r,f=l-c,t=y.Math.sqrt(s*s+f*f),t}function pY(n,e){var t,i;return i=WT(n),i||(t=(UF(),$Hn(e)),i=new Cyn(t),ve(i.El(),n)),i}function Lk(n,e){var t,i;return t=u(n.c.Bc(e),16),t?(i=n.hc(),i.Gc(t),n.d-=t.gc(),t.$b(),n.mc(i)):n.jc()}function G6e(n,e){var t,i;for(i=to(n.d,1)!=0,t=!0;t;)t=!1,t=e.c.mg(e.e,i),t=t|sy(n,e,i,!1),i=!i;$Q(n)}function WFn(n,e,t,i){var r,c;n.a=e,c=i?0:1,n.f=(r=new s_n(n.c,n.a,t,c),new Kqn(t,n.a,r,n.e,n.b,n.c==(O0(),t9)))}function xT(n){var e;return oe(n.a!=n.b),e=n.d.a[n.a],EAn(n.b==n.d.c&&e!=null),n.c=n.a,n.a=n.a+1&n.d.a.length-1,e}function JFn(n){var e;if(n.c!=0)return n.c;for(e=0;e=n.c.b:n.a<=n.c.b))throw M(new nc);return e=n.a,n.a+=n.c.c,++n.b,Y(e)}function ex(n){var e;return e=new DX(n.a),Ur(e,n),U(e,(W(),st),n),e.o.a=n.g,e.o.b=n.f,e.n.a=n.i,e.n.b=n.j,e}function tx(n){return(en(),mu).Hc(n.j)?$(R(v(n,(W(),jv)))):cc(A(T(Ei,1),J,8,0,[n.i.n,n.n,n.a])).b}function X6e(n){var e;return e=DC(Cie),u(v(n,(W(),Hc)),21).Hc((pr(),yv))&&Ke(e,(Vi(),Oc),(tr(),FP)),e}function V6e(n){var e,t,i,r;for(r=new ni,i=new C(n);i.a=0?e:-e;i>0;)i%2==0?(t*=t,i=i/2|0):(r*=t,i-=1);return e<0?1/r:r}function Z6e(n,e){var t,i,r;for(r=1,t=n,i=e>=0?e:-e;i>0;)i%2==0?(t*=t,i=i/2|0):(r*=t,i-=1);return e<0?1/r:r}function ea(n,e){var t,i,r,c;return c=(r=n?WT(n):null,O_n((i=e,r&&r.Gl(),i))),c==e&&(t=WT(n),t&&t.Gl()),c}function QFn(n,e,t){var i,r;return r=n.f,n.f=e,n.Db&4&&!(n.Db&1)&&(i=new Ci(n,1,0,r,e),t?t.nj(i):t=i),t}function YFn(n,e,t){var i,r;return r=n.b,n.b=e,n.Db&4&&!(n.Db&1)&&(i=new Ci(n,1,3,r,e),t?t.nj(i):t=i),t}function vY(n,e,t){var i,r;return r=n.a,n.a=e,n.Db&4&&!(n.Db&1)&&(i=new Ci(n,1,1,r,e),t?t.nj(i):t=i),t}function ZFn(n){var e,t;if(n!=null)for(t=0;t=i||e-129&&n<128?(FSn(),e=n+128,t=pun[e],!t&&(t=pun[e]=new vG(n)),t):new vG(n)}function sm(n){var e,t;return n>-129&&n<128?(nPn(),e=n+128,t=yun[e],!t&&(t=yun[e]=new yG(n)),t):new yG(n)}function tBn(n,e){var t;n.a.c.length>0&&(t=u(sn(n.a,n.a.c.length-1),579),sY(t,e))||nn(n.a,new kLn(e))}function c5e(n){Fs();var e,t;e=n.d.c-n.e.c,t=u(n.g,154),nu(t.b,new p7n(e)),nu(t.c,new m7n(e)),qi(t.i,new v7n(e))}function iBn(n){var e;return e=new x1,e.a+="VerticalSegment ",Dc(e,n.e),e.a+=" ",Re(e,RX(new yD,new C(n.k))),e.a}function ix(n,e){var t,i,r;for(t=0,r=uc(n,e).Kc();r.Ob();)i=u(r.Pb(),12),t+=v(i,(W(),Xu))!=null?1:0;return t}function Fg(n,e,t){var i,r,c;for(i=0,c=ge(n,0);c.b!=c.d.c&&(r=$(R(be(c))),!(r>t));)r>=e&&++i;return i}function rBn(n,e){Se(n);try{return n._b(e)}catch(t){if(t=It(t),D(t,212)||D(t,169))return!1;throw M(t)}}function yY(n,e){Se(n);try{return n.Hc(e)}catch(t){if(t=It(t),D(t,212)||D(t,169))return!1;throw M(t)}}function u5e(n,e){Se(n);try{return n.Mc(e)}catch(t){if(t=It(t),D(t,212)||D(t,169))return!1;throw M(t)}}function tw(n,e){Se(n);try{return n.xc(e)}catch(t){if(t=It(t),D(t,212)||D(t,169))return null;throw M(t)}}function o5e(n,e){Se(n);try{return n.Bc(e)}catch(t){if(t=It(t),D(t,212)||D(t,169))return null;throw M(t)}}function p5(n,e){switch(e.g){case 2:case 1:return uc(n,e);case 3:case 4:return Qo(uc(n,e))}return Dn(),Dn(),sr}function m5(n){var e;return n.Db&64?Hs(n):(e=new ls(Hs(n)),e.a+=" (name: ",Er(e,n.zb),e.a+=")",e.a)}function s5e(n){var e;return e=u(Nf(n.c.c,""),233),e||(e=new Np(u4(c4(new tp,""),"Other")),s1(n.c.c,"",e)),e}function jY(n,e,t){var i,r;return r=n.sb,n.sb=e,n.Db&4&&!(n.Db&1)&&(i=new Ci(n,1,4,r,e),t?t.nj(i):t=i),t}function EY(n,e,t){var i,r;return r=n.r,n.r=e,n.Db&4&&!(n.Db&1)&&(i=new Ci(n,1,8,r,n.r),t?t.nj(i):t=i),t}function f5e(n,e,t){var i,r;return i=new ml(n.e,4,13,(r=e.c,r||(On(),Zf)),null,f1(n,e),!1),t?t.nj(i):t=i,t}function h5e(n,e,t){var i,r;return i=new ml(n.e,3,13,null,(r=e.c,r||(On(),Zf)),f1(n,e),!1),t?t.nj(i):t=i,t}function r1(n,e){var t,i;return t=u(e,691),i=t.el(),!i&&t.fl(i=D(e,90)?new xMn(n,u(e,29)):new cDn(n,u(e,156))),i}function Nk(n,e,t){var i;n._i(n.i+1),i=n.Zi(e,t),e!=n.i&&Ic(n.g,e,n.g,e+1,n.i-e),$t(n.g,e,i),++n.i,n.Mi(e,t),n.Ni()}function l5e(n,e){var t;return e.a&&(t=e.a.a.length,n.a?Re(n.a,n.b):n.a=new mo(n.d),aDn(n.a,e.a,e.d.length,t)),n}function a5e(n,e){var t;n.c=e,n.a=p8e(e),n.a<54&&(n.f=(t=e.d>1?hDn(e.a[0],e.a[1]):hDn(e.a[0],0),id(e.e>0?t:n1(t))))}function $k(n,e){var t;return t=new LO,n.a.Bd(t)?(b4(),new wD(Jn(GNn(n,t.a,e)))):(X1(n),b4(),b4(),Dun)}function cBn(n,e){var t;n.c.length!=0&&(t=u(Ff(n,K(Qh,b1,10,n.c.length,0,1)),199),CX(t,new rgn),Y_n(t,e))}function uBn(n,e){var t;n.c.length!=0&&(t=u(Ff(n,K(Qh,b1,10,n.c.length,0,1)),199),CX(t,new cgn),Y_n(t,e))}function rt(n,e){return Ai(n)?An(n,e):$b(n)?nSn(n,e):Nb(n)?(Jn(n),x(n)===x(e)):pW(n)?n.Fb(e):hW(n)?YMn(n,e):hJ(n,e)}function Wo(n,e,t){if(e<0)Pnn(n,t);else{if(!t.rk())throw M(new Gn(ba+t.xe()+p8));u(t,69).wk().Ek(n,n.hi(),e)}}function oBn(n,e,t){if(n<0||e>t)throw M(new Ir(ZA+n+Stn+e+", size: "+t));if(n>e)throw M(new Gn(ZA+n+Qzn+e))}function sBn(n){var e;return n.Db&64?Hs(n):(e=new ls(Hs(n)),e.a+=" (source: ",Er(e,n.d),e.a+=")",e.a)}function fBn(n){return n>=65&&n<=70?n-65+10:n>=97&&n<=102?n-97+10:n>=48&&n<=57?n-48:0}function d5e(n){VA();var e,t,i,r;for(t=jx(),i=0,r=t.length;i=0?ia(n):G6(ia(n1(n))))}function aBn(n,e,t,i,r,c){this.e=new Z,this.f=(gr(),n9),nn(this.e,n),this.d=e,this.a=t,this.b=i,this.f=r,this.c=c}function g5e(n,e,t){n.n=Wa(Fa,[J,SB],[376,28],14,[t,wi(y.Math.ceil(e/32))],2),n.o=e,n.p=t,n.j=e-1>>1,n.k=t-1>>1}function dBn(n){return n-=n>>1&1431655765,n=(n>>2&858993459)+(n&858993459),n=(n>>4)+n&252645135,n+=n>>8,n+=n>>16,n&63}function bBn(n,e){var t,i;for(i=new ne(n);i.e!=i.i.gc();)if(t=u(ue(i),142),x(e)===x(t))return!0;return!1}function p5e(n,e,t){var i,r,c;return c=(r=Mm(n.b,e),r),c&&(i=u(qA(ak(n,c),""),29),i)?Qnn(n,i,e,t):null}function rx(n,e,t){var i,r,c;return c=(r=Mm(n.b,e),r),c&&(i=u(qA(ak(n,c),""),29),i)?Ynn(n,i,e,t):null}function m5e(n,e){var t;if(t=Lg(n.i,e),t==null)throw M(new eh("Node did not exist in input."));return HQ(e,t),null}function v5e(n,e){var t;if(t=oy(n,e),D(t,331))return u(t,35);throw M(new Gn(ba+e+"' is not a valid attribute"))}function k5(n,e,t){var i;if(i=n.gc(),e>i)throw M(new Kb(e,i));if(n.Si()&&n.Hc(t))throw M(new Gn(Vy));n.Gi(e,t)}function k5e(n,e){e.Ug("Sort end labels",1),qt(ut(rc(new Tn(null,new In(n.b,16)),new Hwn),new qwn),new Uwn),e.Vg()}function ci(){ci=F,Jf=new v7(i8,0),Xr=new v7(f3,1),Br=new v7(s3,2),Wf=new v7(_B,3),us=new v7("UP",4)}function Fk(){Fk=F,XI=new sL("P1_STRUCTURE",0),VI=new sL("P2_PROCESSING_ORDER",1),WI=new sL("P3_EXECUTION",2)}function wBn(){wBn=F,Rre=ah(ah(l6(ah(ah(l6(Ke(new ii,(Qp(),c9),(q5(),ZH)),u9),lln),dln),o9),oln),bln)}function y5e(n){switch(u(v(n,(W(),Od)),311).g){case 1:U(n,Od,(vl(),E3));break;case 2:U(n,Od,(vl(),k2))}}function j5e(n){switch(n){case 0:return new rjn;case 1:return new tjn;case 2:return new ijn;default:throw M(new Q9)}}function gBn(n){switch(n.g){case 2:return Xr;case 1:return Br;case 4:return Wf;case 3:return us;default:return Jf}}function AY(n,e){switch(n.b.g){case 0:case 1:return e;case 2:case 3:return new Ho(e.d,0,e.a,e.b);default:return null}}function SY(n){switch(n.g){case 1:return Wn;case 2:return Xn;case 3:return Zn;case 4:return ae;default:return sc}}function Bk(n){switch(n.g){case 1:return ae;case 2:return Wn;case 3:return Xn;case 4:return Zn;default:return sc}}function RT(n){switch(n.g){case 1:return Zn;case 2:return ae;case 3:return Wn;case 4:return Xn;default:return sc}}function PY(n,e,t,i){switch(e){case 1:return!n.n&&(n.n=new q(Ar,n,1,7)),n.n;case 2:return n.k}return yZ(n,e,t,i)}function y5(n,e,t){var i,r;return n.Pj()?(r=n.Qj(),i=lF(n,e,t),n.Jj(n.Ij(7,Y(t),i,e,r)),i):lF(n,e,t)}function cx(n,e){var t,i,r;n.d==null?(++n.e,--n.f):(r=e.ld(),t=e.Bi(),i=(t&et)%n.d.length,o4e(n,i,RHn(n,i,t,r)))}function fm(n,e){var t;t=(n.Bb&Gs)!=0,e?n.Bb|=Gs:n.Bb&=-1025,n.Db&4&&!(n.Db&1)&&it(n,new Rs(n,1,10,t,e))}function hm(n,e){var t;t=(n.Bb&vw)!=0,e?n.Bb|=vw:n.Bb&=-4097,n.Db&4&&!(n.Db&1)&&it(n,new Rs(n,1,12,t,e))}function lm(n,e){var t;t=(n.Bb&$u)!=0,e?n.Bb|=$u:n.Bb&=-8193,n.Db&4&&!(n.Db&1)&&it(n,new Rs(n,1,15,t,e))}function am(n,e){var t;t=(n.Bb&Tw)!=0,e?n.Bb|=Tw:n.Bb&=-2049,n.Db&4&&!(n.Db&1)&&it(n,new Rs(n,1,11,t,e))}function E5e(n){var e;n.g&&(e=n.c.kg()?n.f:n.a,len(e.a,n.o,!0),len(e.a,n.o,!1),U(n.o,(cn(),Kt),(Oi(),Ud)))}function C5e(n){var e;if(!n.a)throw M(new Or("Cannot offset an unassigned cut."));e=n.c-n.b,n.b+=e,_In(n,e),KIn(n,e)}function M5e(n,e){var t;if(t=ee(n.k,e),t==null)throw M(new eh("Port did not exist in input."));return HQ(e,t),null}function T5e(n){var e,t;for(t=xHn(jo(n)).Kc();t.Ob();)if(e=Oe(t.Pb()),U5(n,e))return A3e((mCn(),Boe),e);return null}function pBn(n){var e,t;for(t=n.p.a.ec().Kc();t.Ob();)if(e=u(t.Pb(),218),e.f&&n.b[e.c]<-1e-10)return e;return null}function A5e(n){var e,t;for(t=z1(new x1,91),e=!0;n.Ob();)e||(t.a+=ur),e=!1,Dc(t,n.Pb());return(t.a+="]",t).a}function S5e(n){var e,t,i;for(e=new Z,i=new C(n.b);i.ae?1:n==e?n==0?bt(1/n,1/e):0:isNaN(n)?isNaN(e)?0:1:-1}function I5e(n){var e;return e=n.a[n.c-1&n.a.length-1],e==null?null:(n.c=n.c-1&n.a.length-1,$t(n.a,n.c,null),e)}function O5e(n){var e,t,i;for(i=0,t=n.length,e=0;e=1?Xr:Wf):t}function $5e(n){switch(u(v(n,(cn(),$l)),223).g){case 1:return new Ppn;case 3:return new Npn;default:return new Spn}}function ta(n){if(n.c)ta(n.c);else if(n.d)throw M(new Or("Stream already terminated, can't be modified or used"))}function $0(n,e,t){var i;return i=n.a.get(e),n.a.set(e,t===void 0?null:t),i===void 0?(++n.c,++n.b.g):++n.d,i}function x5e(n,e,t){var i,r;for(r=n.a.ec().Kc();r.Ob();)if(i=u(r.Pb(),10),Mk(t,u(sn(e,i.p),16)))return i;return null}function OY(n,e,t){var i;return i=0,e&&(vg(n.a)?i+=e.f.a/2:i+=e.f.b/2),t&&(vg(n.a)?i+=t.f.a/2:i+=t.f.b/2),i}function F5e(n,e,t){var i;i=t,!i&&(i=YV(new op,0)),i.Ug(PXn,2),jRn(n.b,e,i.eh(1)),YIe(n,e,i.eh(1)),eLe(e,i.eh(1)),i.Vg()}function DY(n,e,t){var i,r;return i=(B1(),r=new yE,r),aT(i,e),lT(i,t),n&&ve((!n.a&&(n.a=new ti(xo,n,5)),n.a),i),i}function ox(n){var e;return n.Db&64?Hs(n):(e=new ls(Hs(n)),e.a+=" (identifier: ",Er(e,n.k),e.a+=")",e.a)}function sx(n,e){var t;t=(n.Bb&kc)!=0,e?n.Bb|=kc:n.Bb&=-32769,n.Db&4&&!(n.Db&1)&&it(n,new Rs(n,1,18,t,e))}function LY(n,e){var t;t=(n.Bb&kc)!=0,e?n.Bb|=kc:n.Bb&=-32769,n.Db&4&&!(n.Db&1)&&it(n,new Rs(n,1,18,t,e))}function dm(n,e){var t;t=(n.Bb&wh)!=0,e?n.Bb|=wh:n.Bb&=-16385,n.Db&4&&!(n.Db&1)&&it(n,new Rs(n,1,16,t,e))}function NY(n,e){var t;t=(n.Bb&hr)!=0,e?n.Bb|=hr:n.Bb&=-65537,n.Db&4&&!(n.Db&1)&&it(n,new Rs(n,1,20,t,e))}function $Y(n){var e;return e=K(fs,gh,28,2,15,1),n-=hr,e[0]=(n>>10)+Sy&ui,e[1]=(n&1023)+56320&ui,ws(e,0,e.length)}function B5e(n){var e;return e=sw(n),e>34028234663852886e22?St:e<-34028234663852886e22?li:e}function nr(n,e){var t;return Vr(n)&&Vr(e)&&(t=n+e,Ay"+td(e.c):"e_"+mt(e),n.b&&n.c?td(n.b)+"->"+td(n.c):"e_"+mt(n))}function _5e(n,e){return An(e.b&&e.c?td(e.b)+"->"+td(e.c):"e_"+mt(e),n.b&&n.c?td(n.b)+"->"+td(n.c):"e_"+mt(n))}function x0(n,e){return Tf(),Ks(fa),y.Math.abs(n-e)<=fa||n==e||isNaN(n)&&isNaN(e)?0:ne?1:s0(isNaN(n),isNaN(e))}function El(){El=F,lU=new kC(i8,0),Yj=new kC("POLYLINE",1),Kv=new kC("ORTHOGONAL",2),F3=new kC("SPLINES",3)}function _T(){_T=F,l1n=new uL("ASPECT_RATIO_DRIVEN",0),Oq=new uL("MAX_SCALE_DRIVEN",1),h1n=new uL("AREA_DRIVEN",2)}function H5e(n,e,t){var i;try{l6e(n,e,t)}catch(r){throw r=It(r),D(r,606)?(i=r,M(new $J(i))):M(r)}return e}function q5e(n){var e,t,i;for(t=0,i=n.length;te&&i.Ne(n[c-1],n[c])>0;--c)s=n[c],$t(n,c,n[c-1]),$t(n,c-1,s)}function vn(n,e){var t,i,r,c,s;if(t=e.f,s1(n.c.d,t,e),e.g!=null)for(r=e.g,c=0,s=r.length;ce){wDn(t);break}}q7(t,e)}function X5e(n,e){var t,i,r;i=Pg(e),r=$(R(rw(i,(cn(),Ws)))),t=y.Math.max(0,r/2-.5),I5(e,t,1),nn(n,new NCn(e,t))}function V5e(n,e,t){var i;t.Ug("Straight Line Edge Routing",1),t.dh(e,xrn),i=u(z(e,(Tg(),D2)),27),iGn(n,i),t.dh(e,DS)}function xY(n,e){n.n.c.length==0&&nn(n.n,new NM(n.s,n.t,n.i)),nn(n.b,e),gZ(u(sn(n.n,n.n.c.length-1),209),e),RUn(n,e)}function j5(n){var e;this.a=(e=u(n.e&&n.e(),9),new _o(e,u(xs(e,e.length),9),0)),this.b=K(ki,Bn,1,this.a.a.length,5,1)}function Jr(n){var e;return Array.isArray(n)&&n.Tm===Q2?Xa(wo(n))+"@"+(e=mt(n)>>>0,e.toString(16)):n.toString()}function W5e(n,e){return n.h==Ty&&n.m==0&&n.l==0?(e&&(wa=Yc(0,0,0)),nTn((R4(),lun))):(e&&(wa=Yc(n.l,n.m,n.h)),Yc(0,0,0))}function J5e(n,e){switch(e.g){case 2:return n.b;case 1:return n.c;case 4:return n.d;case 3:return n.a;default:return!1}}function yBn(n,e){switch(e.g){case 2:return n.b;case 1:return n.c;case 4:return n.d;case 3:return n.a;default:return!1}}function FY(n,e,t,i){switch(e){case 3:return n.f;case 4:return n.g;case 5:return n.i;case 6:return n.j}return PY(n,e,t,i)}function HT(n,e){if(e==n.d)return n.e;if(e==n.e)return n.d;throw M(new Gn("Node "+e+" not part of edge "+n))}function Q5e(n,e){var t;if(t=oy(n.Dh(),e),D(t,102))return u(t,19);throw M(new Gn(ba+e+"' is not a valid reference"))}function Jo(n,e,t,i){if(e<0)ten(n,t,i);else{if(!t.rk())throw M(new Gn(ba+t.xe()+p8));u(t,69).wk().Ck(n,n.hi(),e,i)}}function eo(n){var e;if(n.b){if(eo(n.b),n.b.d!=n.c)throw M(new Bo)}else n.d.dc()&&(e=u(n.f.c.xc(n.e),16),e&&(n.d=e))}function Y5e(n){Bb();var e,t,i,r;for(e=n.o.b,i=u(u(ot(n.r,(en(),ae)),21),87).Kc();i.Ob();)t=u(i.Pb(),117),r=t.e,r.b+=e}function Z5e(n){var e,t,i;for(this.a=new rh,i=new C(n);i.a=r)return e.c+t;return e.c+e.b.gc()}function e8e(n,e){m4();var t,i,r,c;for(i=LNn(n),r=e,F4(i,0,i.length,r),t=0;t0&&(i+=r,++t);return t>1&&(i+=n.d*(t-1)),i}function i8e(n){var e,t,i,r,c;return c=enn(n),t=e7(n.c),i=!t,i&&(r=new _a,bf(c,"knownLayouters",r),e=new lyn(r),qi(n.c,e)),c}function KY(n){var e,t,i;for(i=new Hl,i.a+="[",e=0,t=n.gc();e0&&(zn(e-1,n.length),n.charCodeAt(e-1)==58)&&!lx(n,N9,$9))}function _Y(n,e){var t;return x(n)===x(e)?!0:D(e,92)?(t=u(e,92),n.e==t.e&&n.d==t.d&&I3e(n,t.a)):!1}function zp(n){switch(en(),n.g){case 4:return Xn;case 1:return Zn;case 3:return ae;case 2:return Wn;default:return sc}}function o8e(n){var e,t;if(n.b)return n.b;for(t=Uf?null:n.d;t;){if(e=Uf?null:t.b,e)return e;t=Uf?null:t.d}return a4(),$un}function HY(n){var e,t,i;for(i=$(R(n.a.of((Ue(),iO)))),t=new C(n.a.Sf());t.a>5,e=n&31,i=K(ye,_e,28,t+1,15,1),i[t]=1<3;)r*=10,--c;n=(n+(r>>1))/r|0}return i.i=n,!0}function Ot(n,e){var t,i,r;if(t=(n.i==null&&bh(n),n.i),i=e.Lj(),i!=-1){for(r=t.length;i=0;--i)for(e=t[i],r=0;r>1,this.k=e-1>>1}function j8e(n){YM(),u(n.of((Ue(),Ta)),181).Hc((io(),hO))&&(u(n.of(Ww),181).Fc((zu(),B3)),u(n.of(Ta),181).Mc(hO))}function SBn(n){var e,t;e=n.d==(Yp(),dv),t=GZ(n),e&&!t||!e&&t?U(n.a,(cn(),Th),(Rh(),Uj)):U(n.a,(cn(),Th),(Rh(),qj))}function bx(){bx=F,nC(),EI=(cn(),gb),Qte=Of(A(T(Xq,1),Ern,149,0,[Tj,Ws,T2,wb,qw,IH,Av,Sv,OH,J8,M2,Bd,A2]))}function E8e(n,e){var t;return t=u(Wr(n,qu(new ju,new yu,new Eu,A(T(xr,1),G,108,0,[(Gu(),Yr)]))),15),t.Qc(WSn(t.gc()))}function PBn(n,e){var t,i;if(i=new Y3(n.a.ad(e,!0)),i.a.gc()<=1)throw M(new rp);return t=i.a.ec().Kc(),t.Pb(),u(t.Pb(),40)}function C8e(n,e,t){var i,r;return i=$(n.p[e.i.p])+$(n.d[e.i.p])+e.n.b+e.a.b,r=$(n.p[t.i.p])+$(n.d[t.i.p])+t.n.b+t.a.b,r-i}function WY(n,e){var t;return n.i>0&&(e.lengthn.i&&$t(e,n.i,null),e}function UT(n){var e;return n.Db&64?m5(n):(e=new ls(m5(n)),e.a+=" (instanceClassName: ",Er(e,n.D),e.a+=")",e.a)}function GT(n){var e,t,i,r;for(r=0,t=0,i=n.length;t0?(n._j(),i=e==null?0:mt(e),r=(i&et)%n.d.length,t=RHn(n,r,i,e),t!=-1):!1}function IBn(n,e){var t,i;n.a=nr(n.a,1),n.c=y.Math.min(n.c,e),n.b=y.Math.max(n.b,e),n.d+=e,t=e-n.f,i=n.e+t,n.f=i-n.e-t,n.e=i}function JY(n,e){switch(e){case 3:P0(n,0);return;case 4:I0(n,0);return;case 5:eu(n,0);return;case 6:tu(n,0);return}kY(n,e)}function F0(n,e){switch(e.g){case 1:return Cp(n.j,(Ou(),Fon));case 2:return Cp(n.j,(Ou(),Ron));default:return Dn(),Dn(),sr}}function QY(n){m0();var e;switch(e=n.Pc(),e.length){case 0:return qK;case 1:return new VL(Se(e[0]));default:return new PN(q5e(e))}}function OBn(n,e){n.Xj();try{n.d.bd(n.e++,e),n.f=n.d.j,n.g=-1}catch(t){throw t=It(t),D(t,77)?M(new Bo):M(t)}}function gx(){gx=F,TU=new Tvn,zdn=new Avn,Xdn=new Svn,Vdn=new Pvn,Wdn=new Ivn,Jdn=new Ovn,Qdn=new Dvn,Ydn=new Lvn,Zdn=new Nvn}function zT(n,e){kX();var t,i;return t=D7((KE(),KE(),P8)),i=null,e==t&&(i=u(Nc(fun,n),624)),i||(i=new JPn(n),e==t&&Dr(fun,n,i)),i}function DBn(n){cw();var e;return(n.q?n.q:(Dn(),Dn(),Wh))._b((cn(),db))?e=u(v(n,db),203):e=u(v(Hi(n),W8),203),e}function rw(n,e){var t,i;return i=null,kt(n,(cn(),yI))&&(t=u(v(n,yI),96),t.pf(e)&&(i=t.of(e))),i==null&&(i=v(Hi(n),e)),i}function LBn(n,e){var t,i,r;return D(e,44)?(t=u(e,44),i=t.ld(),r=tw(n.Rc(),i),sh(r,t.md())&&(r!=null||n.Rc()._b(i))):!1}function gf(n,e){var t,i,r;return n.f>0&&(n._j(),i=e==null?0:mt(e),r=(i&et)%n.d.length,t=xnn(n,r,i,e),t)?t.md():null}function Xc(n,e,t){var i,r,c;return n.Pj()?(i=n.i,c=n.Qj(),Nk(n,i,e),r=n.Ij(3,null,e,i,c),t?t.nj(r):t=r):Nk(n,n.i,e),t}function T8e(n,e,t){var i,r;return i=new ml(n.e,4,10,(r=e.c,D(r,90)?u(r,29):(On(),Is)),null,f1(n,e),!1),t?t.nj(i):t=i,t}function A8e(n,e,t){var i,r;return i=new ml(n.e,3,10,null,(r=e.c,D(r,90)?u(r,29):(On(),Is)),f1(n,e),!1),t?t.nj(i):t=i,t}function NBn(n){Bb();var e;return e=new rr(u(n.e.of((Ue(),_2)),8)),n.B.Hc((io(),Hv))&&(e.a<=0&&(e.a=20),e.b<=0&&(e.b=20)),e}function ia(n){dh();var e,t;return t=Ae(n),e=Ae(U1(n,32)),e!=0?new HOn(t,e):t>10||t<0?new gl(1,t):kQn[t]}function Kk(n,e){var t;return Vr(n)&&Vr(e)&&(t=n%e,Ay=0?c=c.a[1]:(r=c,c=c.a[0])}return r}function Hk(n,e,t){var i,r,c;for(r=null,c=n.b;c;){if(i=n.a.Ne(e,c.d),t&&i==0)return c;i<=0?c=c.a[0]:(r=c,c=c.a[1])}return r}function L8e(n,e,t,i){var r,c,s;return r=!1,xOe(n.f,t,i)&&(e9e(n.f,n.a[e][t],n.a[e][i]),c=n.a[e],s=c[i],c[i]=c[t],c[t]=s,r=!0),r}function BBn(n,e,t){var i,r,c,s;for(r=u(ee(n.b,t),183),i=0,s=new C(e.j);s.a>5,e&=31,r=n.d+t+(e==0?0:1),i=K(ye,_e,28,r,15,1),Oye(i,n.a,t,e),c=new Ya(n.e,r,i),Q6(c),c}function N8e(n,e){var t,i,r;for(i=new ie(ce(Qt(n).a.Kc(),new En));pe(i);)if(t=u(fe(i),18),r=t.d.i,r.c==e)return!1;return!0}function nZ(n,e,t){var i,r,c,s,f;return s=n.k,f=e.k,i=t[s.g][f.g],r=R(rw(n,i)),c=R(rw(e,i)),y.Math.max((Jn(r),r),(Jn(c),c))}function $8e(){return Error.stackTraceLimit>0?(y.Error.stackTraceLimit=Error.stackTraceLimit=64,!0):"stack"in new Error}function x8e(n,e){return Tf(),Tf(),Ks(fa),(y.Math.abs(n-e)<=fa||n==e||isNaN(n)&&isNaN(e)?0:ne?1:s0(isNaN(n),isNaN(e)))>0}function eZ(n,e){return Tf(),Tf(),Ks(fa),(y.Math.abs(n-e)<=fa||n==e||isNaN(n)&&isNaN(e)?0:ne?1:s0(isNaN(n),isNaN(e)))<0}function KBn(n,e){return Tf(),Tf(),Ks(fa),(y.Math.abs(n-e)<=fa||n==e||isNaN(n)&&isNaN(e)?0:ne?1:s0(isNaN(n),isNaN(e)))<=0}function mx(n,e){for(var t=0;!e[t]||e[t]=="";)t++;for(var i=e[t++];t0&&this.b>0&&(this.g=cM(this.c,this.b,this.a))}function F8e(n,e){var t=n.a,i;e=String(e),t.hasOwnProperty(e)&&(i=t[e]);var r=(K$(),WK)[typeof i],c=r?r(i):wY(typeof i);return c}function wm(n){var e,t,i;if(i=null,e=Eh in n.a,t=!e,t)throw M(new eh("Every element must have an id."));return i=Zp(dl(n,Eh)),i}function B0(n){var e,t;for(t=a_n(n),e=null;n.c==2;)Ze(n),e||(e=(nt(),nt(),new P6(2)),pd(e,t),t=e),t.Jm(a_n(n));return t}function VT(n,e){var t,i,r;return n._j(),i=e==null?0:mt(e),r=(i&et)%n.d.length,t=xnn(n,r,i,e),t?(V$n(n,t),t.md()):null}function XBn(n,e){return n.e>e.e?1:n.ee.d?n.e:n.d=48&&n<48+y.Math.min(10,10)?n-48:n>=97&&n<97?n-97+10:n>=65&&n<65?n-65+10:-1}function B8e(n,e){if(e.c==n)return e.d;if(e.d==n)return e.c;throw M(new Gn("Input edge is not connected to the input port."))}function R8e(n){if(JT(nv,n))return _n(),ov;if(JT(cK,n))return _n(),ga;throw M(new Gn("Expecting true or false"))}function rZ(n){switch(typeof n){case nB:return t1(n);case dtn:return pp(n);case i3:return SAn(n);default:return n==null?0:l0(n)}}function ah(n,e){if(n.a<0)throw M(new Or("Did not call before(...) or after(...) before calling add(...)."));return YX(n,n.a,e),n}function cZ(n){return $M(),D(n,162)?u(ee(hE,MQn),295).Rg(n):Zc(hE,wo(n))?u(ee(hE,wo(n)),295).Rg(n):null}function iu(n){var e,t;return n.Db&32||(t=(e=u(Un(n,16),29),se(e||n.ii())-se(n.ii())),t!=0&&Xp(n,32,K(ki,Bn,1,t,5,1))),n}function Xp(n,e,t){var i;n.Db&e?t==null?jCe(n,e):(i=Rx(n,e),i==-1?n.Eb=t:$t(cd(n.Eb),i,t)):t!=null&>e(n,e,t)}function K8e(n,e,t,i){var r,c;e.c.length!=0&&(r=$Me(t,i),c=xEe(e),qt(fT(new Tn(null,new In(c,1)),new L3n),new MIn(n,t,r,i)))}function _8e(n,e){var t,i,r,c;return i=n.a.length-1,t=e-n.b&i,c=n.c-e&i,r=n.c-n.b&i,EAn(t=c?(R6e(n,e),-1):(B6e(n,e),1)}function WT(n){var e,t,i;if(i=n.Jh(),!i)for(e=0,t=n.Ph();t;t=t.Ph()){if(++e>PB)return t.Qh();if(i=t.Jh(),i||t==n)break}return i}function WBn(n,e){var t;return x(e)===x(n)?!0:!D(e,21)||(t=u(e,21),t.gc()!=n.gc())?!1:n.Ic(t)}function H8e(n,e){return n.ee.e?1:n.fe.f?1:mt(n)-mt(e)}function JT(n,e){return Jn(n),e==null?!1:An(n,e)?!0:n.length==e.length&&An(n.toLowerCase(),e.toLowerCase())}function Ml(n){var e,t;return Ec(n,-129)>0&&Ec(n,128)<0?(ZSn(),e=Ae(n)+128,t=mun[e],!t&&(t=mun[e]=new kG(n)),t):new kG(n)}function dd(){dd=F,Ow=new aC(kh,0),Don=new aC("INSIDE_PORT_SIDE_GROUPS",1),P_=new aC("GROUP_MODEL_ORDER",2),I_=new aC(tin,3)}function q8e(n){var e;return n.b||xhe(n,(e=$ae(n.e,n.a),!e||!An(cK,gf((!e.b&&(e.b=new lo((On(),ar),pc,e)),e.b),"qualified")))),n.c}function U8e(n,e){var t,i;for(t=(zn(e,n.length),n.charCodeAt(e)),i=e+1;i2e3&&(hQn=n,uP=y.setTimeout(_he,10))),cP++==0?(ime((az(),sun)),!0):!1}function r9e(n,e,t){var i;(DQn?(o8e(n),!0):LQn||$Qn?(a4(),!0):NQn&&(a4(),!1))&&(i=new aSn(e),i.b=t,aje(n,i))}function kx(n,e){var t;t=!n.A.Hc((go(),Gd))||n.q==(Oi(),qc),n.u.Hc((zu(),Fl))?t?XDe(n,e):UGn(n,e):n.u.Hc(Ia)&&(t?dDe(n,e):czn(n,e))}function eRn(n){var e;x(z(n,(Ue(),R2)))===x((jl(),uO))&&(At(n)?(e=u(z(At(n),R2),346),ht(n,R2,e)):ht(n,R2,M9))}function c9e(n){var e,t;return kt(n.d.i,(cn(),Cv))?(e=u(v(n.c.i,Cv),17),t=u(v(n.d.i,Cv),17),jc(e.a,t.a)>0):!1}function tRn(n,e,t){return new Ho(y.Math.min(n.a,e.a)-t/2,y.Math.min(n.b,e.b)-t/2,y.Math.abs(n.a-e.a)+t,y.Math.abs(n.b-e.b)+t)}function iRn(n){var e;this.d=new Z,this.j=new Li,this.g=new Li,e=n.g.b,this.f=u(v(Hi(e),(cn(),Do)),88),this.e=$(R(nA(e,qw)))}function rRn(n){this.d=new Z,this.e=new Ql,this.c=K(ye,_e,28,(en(),A(T(lr,1),Mc,64,0,[sc,Xn,Zn,ae,Wn])).length,15,1),this.b=n}function sZ(n,e,t){var i;switch(i=t[n.g][e],n.g){case 1:case 3:return new V(0,i);case 2:case 4:return new V(i,0);default:return null}}function cRn(n,e,t){var i,r;r=u(V7(e.f),205);try{r.rf(n,t),hIn(e.f,r)}catch(c){throw c=It(c),D(c,103)?(i=c,M(i)):M(c)}}function uRn(n,e,t){var i,r,c,s,f,h;return i=null,f=Zen(z4(),e),c=null,f&&(r=null,h=Qen(f,t),s=null,h!=null&&(s=n.qf(f,h)),r=s,c=r),i=c,i}function yx(n,e,t,i){var r;if(r=n.length,e>=r)return r;for(e=e>0?e:0;ei&&$t(e,i,null),e}function oRn(n,e){var t,i;for(i=n.a.length,e.lengthi&&$t(e,i,null),e}function gm(n,e){var t,i;if(++n.j,e!=null&&(t=(i=n.a.Cb,D(i,99)?u(i,99).th():null),hCe(e,t))){Xp(n.a,4,t);return}Xp(n.a,4,u(e,129))}function u9e(n){var e;if(n==null)return null;if(e=lMe(Fc(n,!0)),e==null)throw M(new kD("Invalid hexBinary value: '"+n+"'"));return e}function QT(n,e,t){var i;e.a.length>0&&(nn(n.b,new SSn(e.a,t)),i=e.a.length,0i&&(e.a+=ITn(K(fs,gh,28,-i,15,1))))}function sRn(n,e,t){var i,r,c;if(!t[e.d])for(t[e.d]=!0,r=new C(xg(e));r.a=n.b>>1)for(i=n.c,t=n.b;t>e;--t)i=i.b;else for(i=n.a.a,t=0;t=0?n.Wh(r):hF(n,i)):t<0?hF(n,i):u(i,69).wk().Bk(n,n.hi(),t)}function aRn(n){var e,t,i;for(i=(!n.o&&(n.o=new Iu((Cc(),il),T1,n,0)),n.o),t=i.c.Kc();t.e!=t.i.gc();)e=u(t.Yj(),44),e.md();return uk(i)}function rn(n){var e;if(D(n.a,4)){if(e=cZ(n.a),e==null)throw M(new Or(NVn+n.b+"'. "+LVn+(ll(lE),lE.k)+bcn));return e}else return n.a}function b9e(n,e){var t,i;if(n.j.length!=e.j.length)return!1;for(t=0,i=n.j.length;t=64&&e<128&&(r=lf(r,Bs(1,e-64)));return r}function nA(n,e){var t,i;return i=null,kt(n,(Ue(),$3))&&(t=u(v(n,$3),96),t.pf(e)&&(i=t.of(e))),i==null&&Hi(n)&&(i=v(Hi(n),e)),i}function w9e(n,e){var t;return t=u(v(n,(cn(),Fr)),75),yL(e,LZn)?t?vo(t):(t=new Mu,U(n,Fr,t)):t&&U(n,Fr,null),t}function M5(){M5=F,aon=(Ue(),qan),g_=Ean,DYn=x2,lon=C1,xYn=(aA(),Uun),$Yn=Hun,FYn=zun,NYn=_un,LYn=(Q$(),son),w_=PYn,hon=IYn,pP=OYn}function eA(n){switch($z(),this.c=new Z,this.d=n,n.g){case 0:case 2:this.a=qW(Oon),this.b=St;break;case 3:case 1:this.a=Oon,this.b=li}}function g9e(n){var e;Ep(u(v(n,(cn(),Kt)),101))&&(e=n.b,nHn((Ln(0,e.c.length),u(e.c[0],30))),nHn(u(sn(e,e.c.length-1),30)))}function p9e(n,e){e.Ug("Self-Loop post-processing",1),qt(ut(ut(rc(new Tn(null,new In(n.b,16)),new s2n),new f2n),new h2n),new l2n),e.Vg()}function dRn(n,e,t){var i,r;if(n.c)eu(n.c,n.c.i+e),tu(n.c,n.c.j+t);else for(r=new C(n.b);r.a=0&&(t.d=n.t);break;case 3:n.t>=0&&(t.a=n.t)}n.C&&(t.b=n.C.b,t.c=n.C.c)}function T5(){T5=F,Nhn=new d7(Crn,0),KH=new d7(sR,1),_H=new d7("LINEAR_SEGMENTS",2),Y8=new d7("BRANDES_KOEPF",3),Z8=new d7(sVn,4)}function A5(){A5=F,fj=new hC(eS,0),wP=new hC(HB,1),gP=new hC(qB,2),hj=new hC(UB,3),fj.a=!1,wP.a=!0,gP.a=!1,hj.a=!0}function Vp(){Vp=F,uj=new fC(eS,0),cj=new fC(HB,1),oj=new fC(qB,2),sj=new fC(UB,3),uj.a=!1,cj.a=!0,oj.a=!1,sj.a=!0}function Wp(n,e,t,i){var r;return t>=0?n.Sh(e,t,i):(n.Ph()&&(i=(r=n.Fh(),r>=0?n.Ah(i):n.Ph().Th(n,-1-r,null,i))),n.Ch(e,t,i))}function fZ(n,e){switch(e){case 7:!n.e&&(n.e=new Nn(Vt,n,7,4)),me(n.e);return;case 8:!n.d&&(n.d=new Nn(Vt,n,8,5)),me(n.d);return}JY(n,e)}function ht(n,e,t){return t==null?(!n.o&&(n.o=new Iu((Cc(),il),T1,n,0)),VT(n.o,e)):(!n.o&&(n.o=new Iu((Cc(),il),T1,n,0)),Vk(n.o,e,t)),n}function pRn(n,e){Dn();var t,i,r,c;for(t=n,c=e,D(n,21)&&!D(e,21)&&(t=e,c=n),r=t.Kc();r.Ob();)if(i=r.Pb(),c.Hc(i))return!1;return!0}function j9e(n,e,t,i){if(e.at.b)return!0}return!1}function Tx(n,e){return Ai(n)?!!iQn[e]:n.Sm?!!n.Sm[e]:$b(n)?!!tQn[e]:Nb(n)?!!eQn[e]:!1}function E9e(n){var e;e=n.a;do e=u(fe(new ie(ce(ji(e).a.Kc(),new En))),18).c.i,e.k==(Vn(),Mi)&&n.b.Fc(e);while(e.k==(Vn(),Mi));n.b=Qo(n.b)}function mRn(n,e){var t,i,r;for(r=n,i=new ie(ce(ji(e).a.Kc(),new En));pe(i);)t=u(fe(i),18),t.c.i.c&&(r=y.Math.max(r,t.c.i.c.p));return r}function C9e(n,e){var t,i,r;for(r=0,i=u(u(ot(n.r,e),21),87).Kc();i.Ob();)t=u(i.Pb(),117),r+=t.d.d+t.b.Mf().b+t.d.a,i.Ob()&&(r+=n.w);return r}function M9e(n,e){var t,i,r;for(r=0,i=u(u(ot(n.r,e),21),87).Kc();i.Ob();)t=u(i.Pb(),117),r+=t.d.b+t.b.Mf().a+t.d.c,i.Ob()&&(r+=n.w);return r}function vRn(n){var e,t,i,r;if(i=0,r=aw(n),r.c.length==0)return 1;for(t=new C(r);t.a=0?n.Lh(s,t,!0):H0(n,c,t)):u(c,69).wk().yk(n,n.hi(),r,t,i)}function P9e(n,e,t,i){var r,c;c=e.pf((Ue(),K2))?u(e.of(K2),21):n.j,r=d5e(c),r!=(VA(),l_)&&(t&&!tZ(r)||bnn(aMe(n,r,i),e))}function I9e(n){switch(n.g){case 1:return N0(),rj;case 3:return N0(),ij;case 2:return N0(),d_;case 4:return N0(),a_;default:return null}}function O9e(n,e,t){if(n.e)switch(n.b){case 1:yge(n.c,e,t);break;case 0:jge(n.c,e,t)}else KDn(n.c,e,t);n.a[e.p][t.p]=n.c.i,n.a[t.p][e.p]=n.c.e}function kRn(n){var e,t;if(n==null)return null;for(t=K(Qh,J,199,n.length,0,2),e=0;e=0)return r;if(n.ol()){for(i=0;i=r)throw M(new Kb(e,r));if(n.Si()&&(i=n.dd(t),i>=0&&i!=e))throw M(new Gn(Vy));return n.Xi(e,t)}function hZ(n,e){if(this.a=u(Se(n),253),this.b=u(Se(e),253),n.Ed(e)>0||n==(dD(),_K)||e==(bD(),HK))throw M(new Gn("Invalid range: "+qDn(n,e)))}function yRn(n){var e,t;for(this.b=new Z,this.c=n,this.a=!1,t=new C(n.a);t.a0),(e&-e)==e)return wi(e*to(n,31)*4656612873077393e-25);do t=to(n,31),i=t%e;while(t-i+(e-1)<0);return wi(i)}function F9e(n,e,t){switch(t.g){case 1:n.a=e.a/2,n.b=0;break;case 2:n.a=e.a,n.b=e.b/2;break;case 3:n.a=e.a/2,n.b=e.b;break;case 4:n.a=0,n.b=e.b/2}}function qk(n,e,t,i){var r,c;for(r=e;r1&&(c=L9e(n,e)),c}function CRn(n){var e;return e=$(R(z(n,(Ue(),Qj))))*y.Math.sqrt((!n.a&&(n.a=new q(Ye,n,10,11)),n.a).i),new V(e,e/$(R(z(n,rO))))}function Sx(n){var e;return n.f&&n.f.Vh()&&(e=u(n.f,54),n.f=u(ea(n,e),84),n.f!=e&&n.Db&4&&!(n.Db&1)&&it(n,new Ci(n,9,8,e,n.f))),n.f}function Px(n){var e;return n.i&&n.i.Vh()&&(e=u(n.i,54),n.i=u(ea(n,e),84),n.i!=e&&n.Db&4&&!(n.Db&1)&&it(n,new Ci(n,9,7,e,n.i))),n.i}function br(n){var e;return n.b&&n.b.Db&64&&(e=n.b,n.b=u(ea(n,e),19),n.b!=e&&n.Db&4&&!(n.Db&1)&&it(n,new Ci(n,9,21,e,n.b))),n.b}function uA(n,e){var t,i,r;n.d==null?(++n.e,++n.f):(i=e.Bi(),uTe(n,n.f+1),r=(i&et)%n.d.length,t=n.d[r],!t&&(t=n.d[r]=n.dk()),t.Fc(e),++n.f)}function dZ(n,e,t){var i;return e.tk()?!1:e.Ik()!=-2?(i=e.ik(),i==null?t==null:rt(i,t)):e.qk()==n.e.Dh()&&t==null}function oA(){var n;Co(16,$zn),n=sxn(16),this.b=K(UK,Cy,303,n,0,1),this.c=K(UK,Cy,303,n,0,1),this.a=null,this.e=null,this.i=0,this.f=n-1,this.g=0}function Tl(n){vV.call(this),this.k=(Vn(),zt),this.j=(Co(6,mw),new Gc(6)),this.b=(Co(2,mw),new Gc(2)),this.d=new sD,this.f=new nz,this.a=n}function R9e(n){var e,t;n.c.length<=1||(e=Sqn(n,(en(),ae)),w_n(n,u(e.a,17).a,u(e.b,17).a),t=Sqn(n,Wn),w_n(n,u(t.a,17).a,u(t.b,17).a))}function K9e(n,e,t){var i,r;for(r=n.a.b,i=r.c.length;i102?-1:n<=57?n-48:n<65?-1:n<=70?n-65+10:n<97?-1:n-97+10}function Nx(n,e){if(n==null)throw M(new fp("null key in entry: null="+e));if(e==null)throw M(new fp("null value in entry: "+n+"=null"))}function q9e(n,e){for(var t,i;n.Ob();)if(!e.Ob()||(t=n.Pb(),i=e.Pb(),!(x(t)===x(i)||t!=null&&rt(t,i))))return!1;return!e.Ob()}function ARn(n,e){var t;return t=A(T(Pi,1),Tr,28,15,[Z$(n.a[0],e),Z$(n.a[1],e),Z$(n.a[2],e)]),n.d&&(t[0]=y.Math.max(t[0],t[2]),t[2]=t[0]),t}function SRn(n,e){var t;return t=A(T(Pi,1),Tr,28,15,[$T(n.a[0],e),$T(n.a[1],e),$T(n.a[2],e)]),n.d&&(t[0]=y.Math.max(t[0],t[2]),t[2]=t[0]),t}function wZ(n,e,t){Ep(u(v(e,(cn(),Kt)),101))||(PJ(n,e,h1(e,t)),PJ(n,e,h1(e,(en(),ae))),PJ(n,e,h1(e,Xn)),Dn(),Yt(e.j,new N7n(n)))}function PRn(n){var e,t;for(n.c||sOe(n),t=new Mu,e=new C(n.a),E(e);e.a0&&(zn(0,e.length),e.charCodeAt(0)==43)?(zn(1,e.length+1),e.substr(1)):e))}function i7e(n){var e;return n==null?null:new H1((e=Fc(n,!0),e.length>0&&(zn(0,e.length),e.charCodeAt(0)==43)?(zn(1,e.length+1),e.substr(1)):e))}function pZ(n,e,t,i,r,c,s,f){var h,l;i&&(h=i.a[0],h&&pZ(n,e,t,h,r,c,s,f),qx(n,t,i.d,r,c,s,f)&&e.Fc(i),l=i.a[1],l&&pZ(n,e,t,l,r,c,s,f))}function Kg(n,e,t){try{return o0(C$(n,e,t),1)}catch(i){throw i=It(i),D(i,333)?M(new Ir(GB+n.o+"*"+n.p+zB+e+ur+t+XB)):M(i)}}function NRn(n,e,t){try{return o0(C$(n,e,t),0)}catch(i){throw i=It(i),D(i,333)?M(new Ir(GB+n.o+"*"+n.p+zB+e+ur+t+XB)):M(i)}}function $Rn(n,e,t){try{return o0(C$(n,e,t),2)}catch(i){throw i=It(i),D(i,333)?M(new Ir(GB+n.o+"*"+n.p+zB+e+ur+t+XB)):M(i)}}function xRn(n,e){if(n.g==-1)throw M(new Cu);n.Xj();try{n.d.hd(n.g,e),n.f=n.d.j}catch(t){throw t=It(t),D(t,77)?M(new Bo):M(t)}}function r7e(n){var e,t,i,r,c;for(i=new C(n.b);i.ac&&$t(e,c,null),e}function c7e(n,e){var t,i;if(i=n.gc(),e==null){for(t=0;t0&&(h+=r),l[a]=s,s+=f*(h+i)}function BRn(n){var e,t,i;for(i=n.f,n.n=K(Pi,Tr,28,i,15,1),n.d=K(Pi,Tr,28,i,15,1),e=0;e0?n.c:0),++r;n.b=i,n.d=c}function qRn(n,e){var t;return t=A(T(Pi,1),Tr,28,15,[aZ(n,(wf(),bc),e),aZ(n,Wc,e),aZ(n,wc,e)]),n.f&&(t[0]=y.Math.max(t[0],t[2]),t[2]=t[0]),t}function d7e(n,e,t){var i;try{xA(n,e+n.j,t+n.k,!1,!0)}catch(r){throw r=It(r),D(r,77)?(i=r,M(new Ir(i.g+iS+e+ur+t+")."))):M(r)}}function b7e(n,e,t){var i;try{xA(n,e+n.j,t+n.k,!0,!1)}catch(r){throw r=It(r),D(r,77)?(i=r,M(new Ir(i.g+iS+e+ur+t+")."))):M(r)}}function URn(n){var e;kt(n,(cn(),ab))&&(e=u(v(n,ab),21),e.Hc((lw(),Qs))?(e.Mc(Qs),e.Fc(Ys)):e.Hc(Ys)&&(e.Mc(Ys),e.Fc(Qs)))}function GRn(n){var e;kt(n,(cn(),ab))&&(e=u(v(n,ab),21),e.Hc((lw(),nf))?(e.Mc(nf),e.Fc(Ms)):e.Hc(Ms)&&(e.Mc(Ms),e.Fc(nf)))}function Kx(n,e,t,i){var r,c,s,f;return n.a==null&&gje(n,e),s=e.b.j.c.length,c=t.d.p,f=i.d.p,r=f-1,r<0&&(r=s-1),c<=r?n.a[r]-n.a[c]:n.a[s-1]-n.a[c]+n.a[r]}function w7e(n){var e,t;if(!n.b)for(n.b=RM(u(n.f,27).kh().i),t=new ne(u(n.f,27).kh());t.e!=t.i.gc();)e=u(ue(t),135),nn(n.b,new pD(e));return n.b}function g7e(n){var e,t;if(!n.e)for(n.e=RM(mN(u(n.f,27)).i),t=new ne(mN(u(n.f,27)));t.e!=t.i.gc();)e=u(ue(t),123),nn(n.e,new Bkn(e));return n.e}function zRn(n){var e,t;if(!n.a)for(n.a=RM(AM(u(n.f,27)).i),t=new ne(AM(u(n.f,27)));t.e!=t.i.gc();)e=u(ue(t),27),nn(n.a,new ML(n,e));return n.a}function K0(n){var e;if(!n.C&&(n.D!=null||n.B!=null))if(e=iDe(n),e)n.hl(e);else try{n.hl(null)}catch(t){if(t=It(t),!D(t,63))throw M(t)}return n.C}function p7e(n){switch(n.q.g){case 5:gKn(n,(en(),Xn)),gKn(n,ae);break;case 4:mGn(n,(en(),Xn)),mGn(n,ae);break;default:y_n(n,(en(),Xn)),y_n(n,ae)}}function m7e(n){switch(n.q.g){case 5:pKn(n,(en(),Zn)),pKn(n,Wn);break;case 4:vGn(n,(en(),Zn)),vGn(n,Wn);break;default:j_n(n,(en(),Zn)),j_n(n,Wn)}}function _g(n,e){var t,i,r;for(r=new Li,i=n.Kc();i.Ob();)t=u(i.Pb(),36),Sm(t,r.a,0),r.a+=t.f.a+e,r.b=y.Math.max(r.b,t.f.b);return r.b>0&&(r.b+=e),r}function hA(n,e){var t,i,r;for(r=new Li,i=n.Kc();i.Ob();)t=u(i.Pb(),36),Sm(t,0,r.b),r.b+=t.f.b+e,r.a=y.Math.max(r.a,t.f.a);return r.a>0&&(r.a+=e),r}function XRn(n){var e,t,i;for(i=et,t=new C(n.a);t.a>16==6?n.Cb.Th(n,5,Ef,e):(i=br(u($n((t=u(Un(n,16),29),t||n.ii()),n.Db>>16),19)),n.Cb.Th(n,i.n,i.f,e))}function v7e(n){O4();var e=n.e;if(e&&e.stack){var t=e.stack,i=e+` `;return t.substring(0,i.length)==i&&(t=t.substring(i.length)),t.split(` diff --git a/assets/ganttDiagram-9a3bba1f-ChJgKPMr.js b/assets/ganttDiagram-9a3bba1f-DhA9Wawb.js similarity index 99% rename from assets/ganttDiagram-9a3bba1f-ChJgKPMr.js rename to assets/ganttDiagram-9a3bba1f-DhA9Wawb.js index 5ef203d..b1ce983 100644 --- a/assets/ganttDiagram-9a3bba1f-ChJgKPMr.js +++ b/assets/ganttDiagram-9a3bba1f-DhA9Wawb.js @@ -1,4 +1,4 @@ -import{av as Be,aw as Ze,ax as Xe,ay as qe,az as Dn,aA as Kt,aB as Mn,aC as ye,aD as ke,aE as nt,c as wt,s as Sn,g as _n,x as Un,y as Yn,b as Fn,a as Ln,A as En,m as An,l as qt,h as Pt,i as In,j as Wn,z as On}from"./mermaid.core-DtSoU78u.js";import{b as Hn,t as Ue,c as Nn,a as Vn,l as zn}from"./linear-CPhCWOMV.js";import{i as Pn}from"./init-Gi6I4Gst.js";import"./app-B0fd3cYb.js";function Rn(t,e){let n;if(e===void 0)for(const r of t)r!=null&&(n=r)&&(n=r);else{let r=-1;for(let i of t)(i=e(i,++r,t))!=null&&(n=i)&&(n=i)}return n}function Bn(t,e){let n;if(e===void 0)for(const r of t)r!=null&&(n>r||n===void 0&&r>=r)&&(n=r);else{let r=-1;for(let i of t)(i=e(i,++r,t))!=null&&(n>i||n===void 0&&i>=i)&&(n=i)}return n}function Zn(t){return t}var Bt=1,te=2,ue=3,Rt=4,Ye=1e-6;function Xn(t){return"translate("+t+",0)"}function qn(t){return"translate(0,"+t+")"}function Gn(t){return e=>+t(e)}function jn(t,e){return e=Math.max(0,t.bandwidth()-e*2)/2,t.round()&&(e=Math.round(e)),n=>+t(n)+e}function Qn(){return!this.__axis}function Ge(t,e){var n=[],r=null,i=null,s=6,a=6,k=3,Y=typeof window<"u"&&window.devicePixelRatio>1?0:.5,g=t===Bt||t===Rt?-1:1,b=t===Rt||t===te?"x":"y",U=t===Bt||t===ue?Xn:qn;function C(v){var q=r??(e.ticks?e.ticks.apply(e,n):e.domain()),y=i??(e.tickFormat?e.tickFormat.apply(e,n):Zn),L=Math.max(s,0)+k,O=e.range(),W=+O[0]+Y,B=+O[O.length-1]+Y,Z=(e.bandwidth?jn:Gn)(e.copy(),Y),Q=v.selection?v.selection():v,x=Q.selectAll(".domain").data([null]),A=Q.selectAll(".tick").data(q,e).order(),T=A.exit(),F=A.enter().append("g").attr("class","tick"),D=A.select("line"),w=A.select("text");x=x.merge(x.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),A=A.merge(F),D=D.merge(F.append("line").attr("stroke","currentColor").attr(b+"2",g*s)),w=w.merge(F.append("text").attr("fill","currentColor").attr(b,g*L).attr("dy",t===Bt?"0em":t===ue?"0.71em":"0.32em")),v!==Q&&(x=x.transition(v),A=A.transition(v),D=D.transition(v),w=w.transition(v),T=T.transition(v).attr("opacity",Ye).attr("transform",function(o){return isFinite(o=Z(o))?U(o+Y):this.getAttribute("transform")}),F.attr("opacity",Ye).attr("transform",function(o){var d=this.parentNode.__axis;return U((d&&isFinite(d=d(o))?d:Z(o))+Y)})),T.remove(),x.attr("d",t===Rt||t===te?a?"M"+g*a+","+W+"H"+Y+"V"+B+"H"+g*a:"M"+Y+","+W+"V"+B:a?"M"+W+","+g*a+"V"+Y+"H"+B+"V"+g*a:"M"+W+","+Y+"H"+B),A.attr("opacity",1).attr("transform",function(o){return U(Z(o)+Y)}),D.attr(b+"2",g*s),w.attr(b,g*L).text(y),Q.filter(Qn).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",t===te?"start":t===Rt?"end":"middle"),Q.each(function(){this.__axis=Z})}return C.scale=function(v){return arguments.length?(e=v,C):e},C.ticks=function(){return n=Array.from(arguments),C},C.tickArguments=function(v){return arguments.length?(n=v==null?[]:Array.from(v),C):n.slice()},C.tickValues=function(v){return arguments.length?(r=v==null?null:Array.from(v),C):r&&r.slice()},C.tickFormat=function(v){return arguments.length?(i=v,C):i},C.tickSize=function(v){return arguments.length?(s=a=+v,C):s},C.tickSizeInner=function(v){return arguments.length?(s=+v,C):s},C.tickSizeOuter=function(v){return arguments.length?(a=+v,C):a},C.tickPadding=function(v){return arguments.length?(k=+v,C):k},C.offset=function(v){return arguments.length?(Y=+v,C):Y},C}function Jn(t){return Ge(Bt,t)}function $n(t){return Ge(ue,t)}const Kn=Math.PI/180,tr=180/Math.PI,Gt=18,je=.96422,Qe=1,Je=.82521,$e=4/29,Ct=6/29,Ke=3*Ct*Ct,er=Ct*Ct*Ct;function tn(t){if(t instanceof ot)return new ot(t.l,t.a,t.b,t.opacity);if(t instanceof ut)return en(t);t instanceof Xe||(t=Dn(t));var e=ie(t.r),n=ie(t.g),r=ie(t.b),i=ee((.2225045*e+.7168786*n+.0606169*r)/Qe),s,a;return e===n&&n===r?s=a=i:(s=ee((.4360747*e+.3850649*n+.1430804*r)/je),a=ee((.0139322*e+.0971045*n+.7141733*r)/Je)),new ot(116*i-16,500*(s-i),200*(i-a),t.opacity)}function nr(t,e,n,r){return arguments.length===1?tn(t):new ot(t,e,n,r??1)}function ot(t,e,n,r){this.l=+t,this.a=+e,this.b=+n,this.opacity=+r}Be(ot,nr,Ze(qe,{brighter(t){return new ot(this.l+Gt*(t??1),this.a,this.b,this.opacity)},darker(t){return new ot(this.l-Gt*(t??1),this.a,this.b,this.opacity)},rgb(){var t=(this.l+16)/116,e=isNaN(this.a)?t:t+this.a/500,n=isNaN(this.b)?t:t-this.b/200;return e=je*ne(e),t=Qe*ne(t),n=Je*ne(n),new Xe(re(3.1338561*e-1.6168667*t-.4906146*n),re(-.9787684*e+1.9161415*t+.033454*n),re(.0719453*e-.2289914*t+1.4052427*n),this.opacity)}}));function ee(t){return t>er?Math.pow(t,1/3):t/Ke+$e}function ne(t){return t>Ct?t*t*t:Ke*(t-$e)}function re(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function ie(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function rr(t){if(t instanceof ut)return new ut(t.h,t.c,t.l,t.opacity);if(t instanceof ot||(t=tn(t)),t.a===0&&t.b===0)return new ut(NaN,0(t(s=new Date(+s)),s),i.ceil=s=>(t(s=new Date(s-1)),e(s,1),t(s),s),i.round=s=>{const a=i(s),k=i.ceil(s);return s-a(e(s=new Date(+s),a==null?1:Math.floor(a)),s),i.range=(s,a,k)=>{const Y=[];if(s=i.ceil(s),k=k==null?1:Math.floor(k),!(s0))return Y;let g;do Y.push(g=new Date(+s)),e(s,k),t(s);while(gK(a=>{if(a>=a)for(;t(a),!s(a);)a.setTime(a-1)},(a,k)=>{if(a>=a)if(k<0)for(;++k<=0;)for(;e(a,-1),!s(a););else for(;--k>=0;)for(;e(a,1),!s(a););}),n&&(i.count=(s,a)=>(se.setTime(+s),ae.setTime(+a),t(se),t(ae),Math.floor(n(se,ae))),i.every=s=>(s=Math.floor(s),!isFinite(s)||!(s>0)?null:s>1?i.filter(r?a=>r(a)%s===0:a=>i.count(0,a)%s===0):i)),i}const Mt=K(()=>{},(t,e)=>{t.setTime(+t+e)},(t,e)=>e-t);Mt.every=t=>(t=Math.floor(t),!isFinite(t)||!(t>0)?null:t>1?K(e=>{e.setTime(Math.floor(e/t)*t)},(e,n)=>{e.setTime(+e+n*t)},(e,n)=>(n-e)/t):Mt);Mt.range;const ft=1e3,rt=ft*60,ht=rt*60,dt=ht*24,pe=dt*7,Fe=dt*30,oe=dt*365,gt=K(t=>{t.setTime(t-t.getMilliseconds())},(t,e)=>{t.setTime(+t+e*ft)},(t,e)=>(e-t)/ft,t=>t.getUTCSeconds());gt.range;const Et=K(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*ft)},(t,e)=>{t.setTime(+t+e*rt)},(t,e)=>(e-t)/rt,t=>t.getMinutes());Et.range;const or=K(t=>{t.setUTCSeconds(0,0)},(t,e)=>{t.setTime(+t+e*rt)},(t,e)=>(e-t)/rt,t=>t.getUTCMinutes());or.range;const At=K(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*ft-t.getMinutes()*rt)},(t,e)=>{t.setTime(+t+e*ht)},(t,e)=>(e-t)/ht,t=>t.getHours());At.range;const cr=K(t=>{t.setUTCMinutes(0,0,0)},(t,e)=>{t.setTime(+t+e*ht)},(t,e)=>(e-t)/ht,t=>t.getUTCHours());cr.range;const yt=K(t=>t.setHours(0,0,0,0),(t,e)=>t.setDate(t.getDate()+e),(t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*rt)/dt,t=>t.getDate()-1);yt.range;const Te=K(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/dt,t=>t.getUTCDate()-1);Te.range;const lr=K(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/dt,t=>Math.floor(t/dt));lr.range;function Tt(t){return K(e=>{e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)},(e,n)=>{e.setDate(e.getDate()+n*7)},(e,n)=>(n-e-(n.getTimezoneOffset()-e.getTimezoneOffset())*rt)/pe)}const Ot=Tt(0),It=Tt(1),nn=Tt(2),rn=Tt(3),kt=Tt(4),sn=Tt(5),an=Tt(6);Ot.range;It.range;nn.range;rn.range;kt.range;sn.range;an.range;function vt(t){return K(e=>{e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)},(e,n)=>{e.setUTCDate(e.getUTCDate()+n*7)},(e,n)=>(n-e)/pe)}const on=vt(0),jt=vt(1),ur=vt(2),fr=vt(3),St=vt(4),hr=vt(5),dr=vt(6);on.range;jt.range;ur.range;fr.range;St.range;hr.range;dr.range;const Wt=K(t=>{t.setDate(1),t.setHours(0,0,0,0)},(t,e)=>{t.setMonth(t.getMonth()+e)},(t,e)=>e.getMonth()-t.getMonth()+(e.getFullYear()-t.getFullYear())*12,t=>t.getMonth());Wt.range;const mr=K(t=>{t.setUTCDate(1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCMonth(t.getUTCMonth()+e)},(t,e)=>e.getUTCMonth()-t.getUTCMonth()+(e.getUTCFullYear()-t.getUTCFullYear())*12,t=>t.getUTCMonth());mr.range;const mt=K(t=>{t.setMonth(0,1),t.setHours(0,0,0,0)},(t,e)=>{t.setFullYear(t.getFullYear()+e)},(t,e)=>e.getFullYear()-t.getFullYear(),t=>t.getFullYear());mt.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:K(e=>{e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)},(e,n)=>{e.setFullYear(e.getFullYear()+n*t)});mt.range;const pt=K(t=>{t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCFullYear(t.getUTCFullYear()+e)},(t,e)=>e.getUTCFullYear()-t.getUTCFullYear(),t=>t.getUTCFullYear());pt.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:K(e=>{e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,n)=>{e.setUTCFullYear(e.getUTCFullYear()+n*t)});pt.range;function gr(t,e,n,r,i,s){const a=[[gt,1,ft],[gt,5,5*ft],[gt,15,15*ft],[gt,30,30*ft],[s,1,rt],[s,5,5*rt],[s,15,15*rt],[s,30,30*rt],[i,1,ht],[i,3,3*ht],[i,6,6*ht],[i,12,12*ht],[r,1,dt],[r,2,2*dt],[n,1,pe],[e,1,Fe],[e,3,3*Fe],[t,1,oe]];function k(g,b,U){const C=bL).right(a,C);if(v===a.length)return t.every(Ue(g/oe,b/oe,U));if(v===0)return Mt.every(Math.max(Ue(g,b,U),1));const[q,y]=a[C/a[v-1][2]53)return null;"w"in l||(l.w=1),"Z"in l?(N=le(Yt(l.y,0,1)),j=N.getUTCDay(),N=j>4||j===0?jt.ceil(N):jt(N),N=Te.offset(N,(l.V-1)*7),l.y=N.getUTCFullYear(),l.m=N.getUTCMonth(),l.d=N.getUTCDate()+(l.w+6)%7):(N=ce(Yt(l.y,0,1)),j=N.getDay(),N=j>4||j===0?It.ceil(N):It(N),N=yt.offset(N,(l.V-1)*7),l.y=N.getFullYear(),l.m=N.getMonth(),l.d=N.getDate()+(l.w+6)%7)}else("W"in l||"U"in l)&&("w"in l||(l.w="u"in l?l.u%7:"W"in l?1:0),j="Z"in l?le(Yt(l.y,0,1)).getUTCDay():ce(Yt(l.y,0,1)).getDay(),l.m=0,l.d="W"in l?(l.w+6)%7+l.W*7-(j+5)%7:l.w+l.U*7-(j+6)%7);return"Z"in l?(l.H+=l.Z/100|0,l.M+=l.Z%100,le(l)):ce(l)}}function T(p,E,M,l){for(var R=0,N=E.length,j=M.length,J,et;R=j)return-1;if(J=E.charCodeAt(R++),J===37){if(J=E.charAt(R++),et=Q[J in Le?E.charAt(R++):J],!et||(l=et(p,M,l))<0)return-1}else if(J!=M.charCodeAt(l++))return-1}return l}function F(p,E,M){var l=g.exec(E.slice(M));return l?(p.p=b.get(l[0].toLowerCase()),M+l[0].length):-1}function D(p,E,M){var l=v.exec(E.slice(M));return l?(p.w=q.get(l[0].toLowerCase()),M+l[0].length):-1}function w(p,E,M){var l=U.exec(E.slice(M));return l?(p.w=C.get(l[0].toLowerCase()),M+l[0].length):-1}function o(p,E,M){var l=O.exec(E.slice(M));return l?(p.m=W.get(l[0].toLowerCase()),M+l[0].length):-1}function d(p,E,M){var l=y.exec(E.slice(M));return l?(p.m=L.get(l[0].toLowerCase()),M+l[0].length):-1}function m(p,E,M){return T(p,e,E,M)}function u(p,E,M){return T(p,n,E,M)}function S(p,E,M){return T(p,r,E,M)}function c(p){return a[p.getDay()]}function X(p){return s[p.getDay()]}function f(p){return Y[p.getMonth()]}function h(p){return k[p.getMonth()]}function _(p){return i[+(p.getHours()>=12)]}function G(p){return 1+~~(p.getMonth()/3)}function H(p){return a[p.getUTCDay()]}function V(p){return s[p.getUTCDay()]}function I(p){return Y[p.getUTCMonth()]}function z(p){return k[p.getUTCMonth()]}function st(p){return i[+(p.getUTCHours()>=12)]}function it(p){return 1+~~(p.getUTCMonth()/3)}return{format:function(p){var E=x(p+="",B);return E.toString=function(){return p},E},parse:function(p){var E=A(p+="",!1);return E.toString=function(){return p},E},utcFormat:function(p){var E=x(p+="",Z);return E.toString=function(){return p},E},utcParse:function(p){var E=A(p+="",!0);return E.toString=function(){return p},E}}}var Le={"-":"",_:" ",0:"0"},tt=/^\s*\d+/,Tr=/^%/,vr=/[\\^$*+?|[\]().{}]/g;function P(t,e,n){var r=t<0?"-":"",i=(r?-t:t)+"",s=i.length;return r+(s[e.toLowerCase(),n]))}function xr(t,e,n){var r=tt.exec(e.slice(n,n+1));return r?(t.w=+r[0],n+r[0].length):-1}function wr(t,e,n){var r=tt.exec(e.slice(n,n+1));return r?(t.u=+r[0],n+r[0].length):-1}function Cr(t,e,n){var r=tt.exec(e.slice(n,n+2));return r?(t.U=+r[0],n+r[0].length):-1}function Dr(t,e,n){var r=tt.exec(e.slice(n,n+2));return r?(t.V=+r[0],n+r[0].length):-1}function Mr(t,e,n){var r=tt.exec(e.slice(n,n+2));return r?(t.W=+r[0],n+r[0].length):-1}function Ee(t,e,n){var r=tt.exec(e.slice(n,n+4));return r?(t.y=+r[0],n+r[0].length):-1}function Ae(t,e,n){var r=tt.exec(e.slice(n,n+2));return r?(t.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}function Sr(t,e,n){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(n,n+6));return r?(t.Z=r[1]?0:-(r[2]+(r[3]||"00")),n+r[0].length):-1}function _r(t,e,n){var r=tt.exec(e.slice(n,n+1));return r?(t.q=r[0]*3-3,n+r[0].length):-1}function Ur(t,e,n){var r=tt.exec(e.slice(n,n+2));return r?(t.m=r[0]-1,n+r[0].length):-1}function Ie(t,e,n){var r=tt.exec(e.slice(n,n+2));return r?(t.d=+r[0],n+r[0].length):-1}function Yr(t,e,n){var r=tt.exec(e.slice(n,n+3));return r?(t.m=0,t.d=+r[0],n+r[0].length):-1}function We(t,e,n){var r=tt.exec(e.slice(n,n+2));return r?(t.H=+r[0],n+r[0].length):-1}function Fr(t,e,n){var r=tt.exec(e.slice(n,n+2));return r?(t.M=+r[0],n+r[0].length):-1}function Lr(t,e,n){var r=tt.exec(e.slice(n,n+2));return r?(t.S=+r[0],n+r[0].length):-1}function Er(t,e,n){var r=tt.exec(e.slice(n,n+3));return r?(t.L=+r[0],n+r[0].length):-1}function Ar(t,e,n){var r=tt.exec(e.slice(n,n+6));return r?(t.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function Ir(t,e,n){var r=Tr.exec(e.slice(n,n+1));return r?n+r[0].length:-1}function Wr(t,e,n){var r=tt.exec(e.slice(n));return r?(t.Q=+r[0],n+r[0].length):-1}function Or(t,e,n){var r=tt.exec(e.slice(n));return r?(t.s=+r[0],n+r[0].length):-1}function Oe(t,e){return P(t.getDate(),e,2)}function Hr(t,e){return P(t.getHours(),e,2)}function Nr(t,e){return P(t.getHours()%12||12,e,2)}function Vr(t,e){return P(1+yt.count(mt(t),t),e,3)}function cn(t,e){return P(t.getMilliseconds(),e,3)}function zr(t,e){return cn(t,e)+"000"}function Pr(t,e){return P(t.getMonth()+1,e,2)}function Rr(t,e){return P(t.getMinutes(),e,2)}function Br(t,e){return P(t.getSeconds(),e,2)}function Zr(t){var e=t.getDay();return e===0?7:e}function Xr(t,e){return P(Ot.count(mt(t)-1,t),e,2)}function ln(t){var e=t.getDay();return e>=4||e===0?kt(t):kt.ceil(t)}function qr(t,e){return t=ln(t),P(kt.count(mt(t),t)+(mt(t).getDay()===4),e,2)}function Gr(t){return t.getDay()}function jr(t,e){return P(It.count(mt(t)-1,t),e,2)}function Qr(t,e){return P(t.getFullYear()%100,e,2)}function Jr(t,e){return t=ln(t),P(t.getFullYear()%100,e,2)}function $r(t,e){return P(t.getFullYear()%1e4,e,4)}function Kr(t,e){var n=t.getDay();return t=n>=4||n===0?kt(t):kt.ceil(t),P(t.getFullYear()%1e4,e,4)}function ti(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+P(e/60|0,"0",2)+P(e%60,"0",2)}function He(t,e){return P(t.getUTCDate(),e,2)}function ei(t,e){return P(t.getUTCHours(),e,2)}function ni(t,e){return P(t.getUTCHours()%12||12,e,2)}function ri(t,e){return P(1+Te.count(pt(t),t),e,3)}function un(t,e){return P(t.getUTCMilliseconds(),e,3)}function ii(t,e){return un(t,e)+"000"}function si(t,e){return P(t.getUTCMonth()+1,e,2)}function ai(t,e){return P(t.getUTCMinutes(),e,2)}function oi(t,e){return P(t.getUTCSeconds(),e,2)}function ci(t){var e=t.getUTCDay();return e===0?7:e}function li(t,e){return P(on.count(pt(t)-1,t),e,2)}function fn(t){var e=t.getUTCDay();return e>=4||e===0?St(t):St.ceil(t)}function ui(t,e){return t=fn(t),P(St.count(pt(t),t)+(pt(t).getUTCDay()===4),e,2)}function fi(t){return t.getUTCDay()}function hi(t,e){return P(jt.count(pt(t)-1,t),e,2)}function di(t,e){return P(t.getUTCFullYear()%100,e,2)}function mi(t,e){return t=fn(t),P(t.getUTCFullYear()%100,e,2)}function gi(t,e){return P(t.getUTCFullYear()%1e4,e,4)}function yi(t,e){var n=t.getUTCDay();return t=n>=4||n===0?St(t):St.ceil(t),P(t.getUTCFullYear()%1e4,e,4)}function ki(){return"+0000"}function Ne(){return"%"}function Ve(t){return+t}function ze(t){return Math.floor(+t/1e3)}var xt,Qt;pi({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function pi(t){return xt=pr(t),Qt=xt.format,xt.parse,xt.utcFormat,xt.utcParse,xt}function Ti(t){return new Date(t)}function vi(t){return t instanceof Date?+t:+new Date(+t)}function hn(t,e,n,r,i,s,a,k,Y,g){var b=Nn(),U=b.invert,C=b.domain,v=g(".%L"),q=g(":%S"),y=g("%I:%M"),L=g("%I %p"),O=g("%a %d"),W=g("%b %d"),B=g("%B"),Z=g("%Y");function Q(x){return(Y(x)4&&(v+=7),C.add(v,n));return q.diff(y,"week")+1},k.isoWeekday=function(g){return this.$utils().u(g)?this.day()||7:this.day(this.day()%7?g:g-7)};var Y=k.startOf;k.startOf=function(g,b){var U=this.$utils(),C=!!U.u(b)||b;return U.p(g)==="isoweek"?C?this.date(this.date()-(this.isoWeekday()-1)).startOf("day"):this.date(this.date()-1-(this.isoWeekday()-1)+7).endOf("day"):Y.bind(this)(g,b)}}})})(dn);var xi=dn.exports;const wi=ke(xi);var mn={exports:{}};(function(t,e){(function(n,r){t.exports=r()})(ye,function(){var n={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},r=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|YYYY|YY?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,i=/\d\d/,s=/\d\d?/,a=/\d*[^-_:/,()\s\d]+/,k={},Y=function(y){return(y=+y)+(y>68?1900:2e3)},g=function(y){return function(L){this[y]=+L}},b=[/[+-]\d\d:?(\d\d)?|Z/,function(y){(this.zone||(this.zone={})).offset=function(L){if(!L||L==="Z")return 0;var O=L.match(/([+-]|\d\d)/g),W=60*O[1]+(+O[2]||0);return W===0?0:O[0]==="+"?-W:W}(y)}],U=function(y){var L=k[y];return L&&(L.indexOf?L:L.s.concat(L.f))},C=function(y,L){var O,W=k.meridiem;if(W){for(var B=1;B<=24;B+=1)if(y.indexOf(W(B,0,L))>-1){O=B>12;break}}else O=y===(L?"pm":"PM");return O},v={A:[a,function(y){this.afternoon=C(y,!1)}],a:[a,function(y){this.afternoon=C(y,!0)}],S:[/\d/,function(y){this.milliseconds=100*+y}],SS:[i,function(y){this.milliseconds=10*+y}],SSS:[/\d{3}/,function(y){this.milliseconds=+y}],s:[s,g("seconds")],ss:[s,g("seconds")],m:[s,g("minutes")],mm:[s,g("minutes")],H:[s,g("hours")],h:[s,g("hours")],HH:[s,g("hours")],hh:[s,g("hours")],D:[s,g("day")],DD:[i,g("day")],Do:[a,function(y){var L=k.ordinal,O=y.match(/\d+/);if(this.day=O[0],L)for(var W=1;W<=31;W+=1)L(W).replace(/\[|\]/g,"")===y&&(this.day=W)}],M:[s,g("month")],MM:[i,g("month")],MMM:[a,function(y){var L=U("months"),O=(U("monthsShort")||L.map(function(W){return W.slice(0,3)})).indexOf(y)+1;if(O<1)throw new Error;this.month=O%12||O}],MMMM:[a,function(y){var L=U("months").indexOf(y)+1;if(L<1)throw new Error;this.month=L%12||L}],Y:[/[+-]?\d+/,g("year")],YY:[i,function(y){this.year=Y(y)}],YYYY:[/\d{4}/,g("year")],Z:b,ZZ:b};function q(y){var L,O;L=y,O=k&&k.formats;for(var W=(y=L.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,function(F,D,w){var o=w&&w.toUpperCase();return D||O[w]||n[w]||O[o].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,function(d,m,u){return m||u.slice(1)})})).match(r),B=W.length,Z=0;Z-1)return new Date((c==="X"?1e3:1)*S);var f=q(c)(S),h=f.year,_=f.month,G=f.day,H=f.hours,V=f.minutes,I=f.seconds,z=f.milliseconds,st=f.zone,it=new Date,p=G||(h||_?1:it.getDate()),E=h||it.getFullYear(),M=0;h&&!_||(M=_>0?_-1:it.getMonth());var l=H||0,R=V||0,N=I||0,j=z||0;return st?new Date(Date.UTC(E,M,p,l,R,N,j+60*st.offset*1e3)):X?new Date(Date.UTC(E,M,p,l,R,N,j)):new Date(E,M,p,l,R,N,j)}catch{return new Date("")}}(Q,T,x),this.init(),o&&o!==!0&&(this.$L=this.locale(o).$L),w&&Q!=this.format(T)&&(this.$d=new Date("")),k={}}else if(T instanceof Array)for(var d=T.length,m=1;m<=d;m+=1){A[1]=T[m-1];var u=O.apply(this,A);if(u.isValid()){this.$d=u.$d,this.$L=u.$L,this.init();break}m===d&&(this.$d=new Date(""))}else B.call(this,Z)}}})})(mn);var Ci=mn.exports;const Di=ke(Ci);var gn={exports:{}};(function(t,e){(function(n,r){t.exports=r()})(ye,function(){return function(n,r){var i=r.prototype,s=i.format;i.format=function(a){var k=this,Y=this.$locale();if(!this.isValid())return s.bind(this)(a);var g=this.$utils(),b=(a||"YYYY-MM-DDTHH:mm:ssZ").replace(/\[([^\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g,function(U){switch(U){case"Q":return Math.ceil((k.$M+1)/3);case"Do":return Y.ordinal(k.$D);case"gggg":return k.weekYear();case"GGGG":return k.isoWeekYear();case"wo":return Y.ordinal(k.week(),"W");case"w":case"ww":return g.s(k.week(),U==="w"?1:2,"0");case"W":case"WW":return g.s(k.isoWeek(),U==="W"?1:2,"0");case"k":case"kk":return g.s(String(k.$H===0?24:k.$H),U==="k"?1:2,"0");case"X":return Math.floor(k.$d.getTime()/1e3);case"x":return k.$d.getTime();case"z":return"["+k.offsetName()+"]";case"zzz":return"["+k.offsetName("long")+"]";default:return U}});return s.bind(this)(b)}}})})(gn);var Mi=gn.exports;const Si=ke(Mi);var he=function(){var t=function(w,o,d,m){for(d=d||{},m=w.length;m--;d[w[m]]=o);return d},e=[6,8,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,30,32,33,35,37],n=[1,25],r=[1,26],i=[1,27],s=[1,28],a=[1,29],k=[1,30],Y=[1,31],g=[1,9],b=[1,10],U=[1,11],C=[1,12],v=[1,13],q=[1,14],y=[1,15],L=[1,16],O=[1,18],W=[1,19],B=[1,20],Z=[1,21],Q=[1,22],x=[1,24],A=[1,32],T={trace:function(){},yy:{},symbols_:{error:2,start:3,gantt:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NL:10,weekday:11,weekday_monday:12,weekday_tuesday:13,weekday_wednesday:14,weekday_thursday:15,weekday_friday:16,weekday_saturday:17,weekday_sunday:18,dateFormat:19,inclusiveEndDates:20,topAxis:21,axisFormat:22,tickInterval:23,excludes:24,includes:25,todayMarker:26,title:27,acc_title:28,acc_title_value:29,acc_descr:30,acc_descr_value:31,acc_descr_multiline_value:32,section:33,clickStatement:34,taskTxt:35,taskData:36,click:37,callbackname:38,callbackargs:39,href:40,clickStatementDebug:41,$accept:0,$end:1},terminals_:{2:"error",4:"gantt",6:"EOF",8:"SPACE",10:"NL",12:"weekday_monday",13:"weekday_tuesday",14:"weekday_wednesday",15:"weekday_thursday",16:"weekday_friday",17:"weekday_saturday",18:"weekday_sunday",19:"dateFormat",20:"inclusiveEndDates",21:"topAxis",22:"axisFormat",23:"tickInterval",24:"excludes",25:"includes",26:"todayMarker",27:"title",28:"acc_title",29:"acc_title_value",30:"acc_descr",31:"acc_descr_value",32:"acc_descr_multiline_value",33:"section",35:"taskTxt",36:"taskData",37:"click",38:"callbackname",39:"callbackargs",40:"href"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,1],[9,2],[34,2],[34,3],[34,3],[34,4],[34,3],[34,4],[34,2],[41,2],[41,3],[41,3],[41,4],[41,3],[41,4],[41,2]],performAction:function(o,d,m,u,S,c,X){var f=c.length-1;switch(S){case 1:return c[f-1];case 2:this.$=[];break;case 3:c[f-1].push(c[f]),this.$=c[f-1];break;case 4:case 5:this.$=c[f];break;case 6:case 7:this.$=[];break;case 8:u.setWeekday("monday");break;case 9:u.setWeekday("tuesday");break;case 10:u.setWeekday("wednesday");break;case 11:u.setWeekday("thursday");break;case 12:u.setWeekday("friday");break;case 13:u.setWeekday("saturday");break;case 14:u.setWeekday("sunday");break;case 15:u.setDateFormat(c[f].substr(11)),this.$=c[f].substr(11);break;case 16:u.enableInclusiveEndDates(),this.$=c[f].substr(18);break;case 17:u.TopAxis(),this.$=c[f].substr(8);break;case 18:u.setAxisFormat(c[f].substr(11)),this.$=c[f].substr(11);break;case 19:u.setTickInterval(c[f].substr(13)),this.$=c[f].substr(13);break;case 20:u.setExcludes(c[f].substr(9)),this.$=c[f].substr(9);break;case 21:u.setIncludes(c[f].substr(9)),this.$=c[f].substr(9);break;case 22:u.setTodayMarker(c[f].substr(12)),this.$=c[f].substr(12);break;case 24:u.setDiagramTitle(c[f].substr(6)),this.$=c[f].substr(6);break;case 25:this.$=c[f].trim(),u.setAccTitle(this.$);break;case 26:case 27:this.$=c[f].trim(),u.setAccDescription(this.$);break;case 28:u.addSection(c[f].substr(8)),this.$=c[f].substr(8);break;case 30:u.addTask(c[f-1],c[f]),this.$="task";break;case 31:this.$=c[f-1],u.setClickEvent(c[f-1],c[f],null);break;case 32:this.$=c[f-2],u.setClickEvent(c[f-2],c[f-1],c[f]);break;case 33:this.$=c[f-2],u.setClickEvent(c[f-2],c[f-1],null),u.setLink(c[f-2],c[f]);break;case 34:this.$=c[f-3],u.setClickEvent(c[f-3],c[f-2],c[f-1]),u.setLink(c[f-3],c[f]);break;case 35:this.$=c[f-2],u.setClickEvent(c[f-2],c[f],null),u.setLink(c[f-2],c[f-1]);break;case 36:this.$=c[f-3],u.setClickEvent(c[f-3],c[f-1],c[f]),u.setLink(c[f-3],c[f-2]);break;case 37:this.$=c[f-1],u.setLink(c[f-1],c[f]);break;case 38:case 44:this.$=c[f-1]+" "+c[f];break;case 39:case 40:case 42:this.$=c[f-2]+" "+c[f-1]+" "+c[f];break;case 41:case 43:this.$=c[f-3]+" "+c[f-2]+" "+c[f-1]+" "+c[f];break}},table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:17,12:n,13:r,14:i,15:s,16:a,17:k,18:Y,19:g,20:b,21:U,22:C,23:v,24:q,25:y,26:L,27:O,28:W,30:B,32:Z,33:Q,34:23,35:x,37:A},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:33,11:17,12:n,13:r,14:i,15:s,16:a,17:k,18:Y,19:g,20:b,21:U,22:C,23:v,24:q,25:y,26:L,27:O,28:W,30:B,32:Z,33:Q,34:23,35:x,37:A},t(e,[2,5]),t(e,[2,6]),t(e,[2,15]),t(e,[2,16]),t(e,[2,17]),t(e,[2,18]),t(e,[2,19]),t(e,[2,20]),t(e,[2,21]),t(e,[2,22]),t(e,[2,23]),t(e,[2,24]),{29:[1,34]},{31:[1,35]},t(e,[2,27]),t(e,[2,28]),t(e,[2,29]),{36:[1,36]},t(e,[2,8]),t(e,[2,9]),t(e,[2,10]),t(e,[2,11]),t(e,[2,12]),t(e,[2,13]),t(e,[2,14]),{38:[1,37],40:[1,38]},t(e,[2,4]),t(e,[2,25]),t(e,[2,26]),t(e,[2,30]),t(e,[2,31],{39:[1,39],40:[1,40]}),t(e,[2,37],{38:[1,41]}),t(e,[2,32],{40:[1,42]}),t(e,[2,33]),t(e,[2,35],{39:[1,43]}),t(e,[2,34]),t(e,[2,36])],defaultActions:{},parseError:function(o,d){if(d.recoverable)this.trace(o);else{var m=new Error(o);throw m.hash=d,m}},parse:function(o){var d=this,m=[0],u=[],S=[null],c=[],X=this.table,f="",h=0,_=0,G=2,H=1,V=c.slice.call(arguments,1),I=Object.create(this.lexer),z={yy:{}};for(var st in this.yy)Object.prototype.hasOwnProperty.call(this.yy,st)&&(z.yy[st]=this.yy[st]);I.setInput(o,z.yy),z.yy.lexer=I,z.yy.parser=this,typeof I.yylloc>"u"&&(I.yylloc={});var it=I.yylloc;c.push(it);var p=I.options&&I.options.ranges;typeof z.yy.parseError=="function"?this.parseError=z.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function E(){var ct;return ct=u.pop()||I.lex()||H,typeof ct!="number"&&(ct instanceof Array&&(u=ct,ct=u.pop()),ct=d.symbols_[ct]||ct),ct}for(var M,l,R,N,j={},J,et,Ut,zt;;){if(l=m[m.length-1],this.defaultActions[l]?R=this.defaultActions[l]:((M===null||typeof M>"u")&&(M=E()),R=X[l]&&X[l][M]),typeof R>"u"||!R.length||!R[0]){var $t="";zt=[];for(J in X[l])this.terminals_[J]&&J>G&&zt.push("'"+this.terminals_[J]+"'");I.showPosition?$t="Parse error on line "+(h+1)+`: +import{av as Be,aw as Ze,ax as Xe,ay as qe,az as Dn,aA as Kt,aB as Mn,aC as ye,aD as ke,aE as nt,c as wt,s as Sn,g as _n,x as Un,y as Yn,b as Fn,a as Ln,A as En,m as An,l as qt,h as Pt,i as In,j as Wn,z as On}from"./mermaid.core-C-ipfzeP.js";import{b as Hn,t as Ue,c as Nn,a as Vn,l as zn}from"./linear-BA-jiqnj.js";import{i as Pn}from"./init-Gi6I4Gst.js";import"./app-jADuhdjP.js";function Rn(t,e){let n;if(e===void 0)for(const r of t)r!=null&&(n=r)&&(n=r);else{let r=-1;for(let i of t)(i=e(i,++r,t))!=null&&(n=i)&&(n=i)}return n}function Bn(t,e){let n;if(e===void 0)for(const r of t)r!=null&&(n>r||n===void 0&&r>=r)&&(n=r);else{let r=-1;for(let i of t)(i=e(i,++r,t))!=null&&(n>i||n===void 0&&i>=i)&&(n=i)}return n}function Zn(t){return t}var Bt=1,te=2,ue=3,Rt=4,Ye=1e-6;function Xn(t){return"translate("+t+",0)"}function qn(t){return"translate(0,"+t+")"}function Gn(t){return e=>+t(e)}function jn(t,e){return e=Math.max(0,t.bandwidth()-e*2)/2,t.round()&&(e=Math.round(e)),n=>+t(n)+e}function Qn(){return!this.__axis}function Ge(t,e){var n=[],r=null,i=null,s=6,a=6,k=3,Y=typeof window<"u"&&window.devicePixelRatio>1?0:.5,g=t===Bt||t===Rt?-1:1,b=t===Rt||t===te?"x":"y",U=t===Bt||t===ue?Xn:qn;function C(v){var q=r??(e.ticks?e.ticks.apply(e,n):e.domain()),y=i??(e.tickFormat?e.tickFormat.apply(e,n):Zn),L=Math.max(s,0)+k,O=e.range(),W=+O[0]+Y,B=+O[O.length-1]+Y,Z=(e.bandwidth?jn:Gn)(e.copy(),Y),Q=v.selection?v.selection():v,x=Q.selectAll(".domain").data([null]),A=Q.selectAll(".tick").data(q,e).order(),T=A.exit(),F=A.enter().append("g").attr("class","tick"),D=A.select("line"),w=A.select("text");x=x.merge(x.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),A=A.merge(F),D=D.merge(F.append("line").attr("stroke","currentColor").attr(b+"2",g*s)),w=w.merge(F.append("text").attr("fill","currentColor").attr(b,g*L).attr("dy",t===Bt?"0em":t===ue?"0.71em":"0.32em")),v!==Q&&(x=x.transition(v),A=A.transition(v),D=D.transition(v),w=w.transition(v),T=T.transition(v).attr("opacity",Ye).attr("transform",function(o){return isFinite(o=Z(o))?U(o+Y):this.getAttribute("transform")}),F.attr("opacity",Ye).attr("transform",function(o){var d=this.parentNode.__axis;return U((d&&isFinite(d=d(o))?d:Z(o))+Y)})),T.remove(),x.attr("d",t===Rt||t===te?a?"M"+g*a+","+W+"H"+Y+"V"+B+"H"+g*a:"M"+Y+","+W+"V"+B:a?"M"+W+","+g*a+"V"+Y+"H"+B+"V"+g*a:"M"+W+","+Y+"H"+B),A.attr("opacity",1).attr("transform",function(o){return U(Z(o)+Y)}),D.attr(b+"2",g*s),w.attr(b,g*L).text(y),Q.filter(Qn).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",t===te?"start":t===Rt?"end":"middle"),Q.each(function(){this.__axis=Z})}return C.scale=function(v){return arguments.length?(e=v,C):e},C.ticks=function(){return n=Array.from(arguments),C},C.tickArguments=function(v){return arguments.length?(n=v==null?[]:Array.from(v),C):n.slice()},C.tickValues=function(v){return arguments.length?(r=v==null?null:Array.from(v),C):r&&r.slice()},C.tickFormat=function(v){return arguments.length?(i=v,C):i},C.tickSize=function(v){return arguments.length?(s=a=+v,C):s},C.tickSizeInner=function(v){return arguments.length?(s=+v,C):s},C.tickSizeOuter=function(v){return arguments.length?(a=+v,C):a},C.tickPadding=function(v){return arguments.length?(k=+v,C):k},C.offset=function(v){return arguments.length?(Y=+v,C):Y},C}function Jn(t){return Ge(Bt,t)}function $n(t){return Ge(ue,t)}const Kn=Math.PI/180,tr=180/Math.PI,Gt=18,je=.96422,Qe=1,Je=.82521,$e=4/29,Ct=6/29,Ke=3*Ct*Ct,er=Ct*Ct*Ct;function tn(t){if(t instanceof ot)return new ot(t.l,t.a,t.b,t.opacity);if(t instanceof ut)return en(t);t instanceof Xe||(t=Dn(t));var e=ie(t.r),n=ie(t.g),r=ie(t.b),i=ee((.2225045*e+.7168786*n+.0606169*r)/Qe),s,a;return e===n&&n===r?s=a=i:(s=ee((.4360747*e+.3850649*n+.1430804*r)/je),a=ee((.0139322*e+.0971045*n+.7141733*r)/Je)),new ot(116*i-16,500*(s-i),200*(i-a),t.opacity)}function nr(t,e,n,r){return arguments.length===1?tn(t):new ot(t,e,n,r??1)}function ot(t,e,n,r){this.l=+t,this.a=+e,this.b=+n,this.opacity=+r}Be(ot,nr,Ze(qe,{brighter(t){return new ot(this.l+Gt*(t??1),this.a,this.b,this.opacity)},darker(t){return new ot(this.l-Gt*(t??1),this.a,this.b,this.opacity)},rgb(){var t=(this.l+16)/116,e=isNaN(this.a)?t:t+this.a/500,n=isNaN(this.b)?t:t-this.b/200;return e=je*ne(e),t=Qe*ne(t),n=Je*ne(n),new Xe(re(3.1338561*e-1.6168667*t-.4906146*n),re(-.9787684*e+1.9161415*t+.033454*n),re(.0719453*e-.2289914*t+1.4052427*n),this.opacity)}}));function ee(t){return t>er?Math.pow(t,1/3):t/Ke+$e}function ne(t){return t>Ct?t*t*t:Ke*(t-$e)}function re(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function ie(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function rr(t){if(t instanceof ut)return new ut(t.h,t.c,t.l,t.opacity);if(t instanceof ot||(t=tn(t)),t.a===0&&t.b===0)return new ut(NaN,0(t(s=new Date(+s)),s),i.ceil=s=>(t(s=new Date(s-1)),e(s,1),t(s),s),i.round=s=>{const a=i(s),k=i.ceil(s);return s-a(e(s=new Date(+s),a==null?1:Math.floor(a)),s),i.range=(s,a,k)=>{const Y=[];if(s=i.ceil(s),k=k==null?1:Math.floor(k),!(s0))return Y;let g;do Y.push(g=new Date(+s)),e(s,k),t(s);while(gK(a=>{if(a>=a)for(;t(a),!s(a);)a.setTime(a-1)},(a,k)=>{if(a>=a)if(k<0)for(;++k<=0;)for(;e(a,-1),!s(a););else for(;--k>=0;)for(;e(a,1),!s(a););}),n&&(i.count=(s,a)=>(se.setTime(+s),ae.setTime(+a),t(se),t(ae),Math.floor(n(se,ae))),i.every=s=>(s=Math.floor(s),!isFinite(s)||!(s>0)?null:s>1?i.filter(r?a=>r(a)%s===0:a=>i.count(0,a)%s===0):i)),i}const Mt=K(()=>{},(t,e)=>{t.setTime(+t+e)},(t,e)=>e-t);Mt.every=t=>(t=Math.floor(t),!isFinite(t)||!(t>0)?null:t>1?K(e=>{e.setTime(Math.floor(e/t)*t)},(e,n)=>{e.setTime(+e+n*t)},(e,n)=>(n-e)/t):Mt);Mt.range;const ft=1e3,rt=ft*60,ht=rt*60,dt=ht*24,pe=dt*7,Fe=dt*30,oe=dt*365,gt=K(t=>{t.setTime(t-t.getMilliseconds())},(t,e)=>{t.setTime(+t+e*ft)},(t,e)=>(e-t)/ft,t=>t.getUTCSeconds());gt.range;const Et=K(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*ft)},(t,e)=>{t.setTime(+t+e*rt)},(t,e)=>(e-t)/rt,t=>t.getMinutes());Et.range;const or=K(t=>{t.setUTCSeconds(0,0)},(t,e)=>{t.setTime(+t+e*rt)},(t,e)=>(e-t)/rt,t=>t.getUTCMinutes());or.range;const At=K(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*ft-t.getMinutes()*rt)},(t,e)=>{t.setTime(+t+e*ht)},(t,e)=>(e-t)/ht,t=>t.getHours());At.range;const cr=K(t=>{t.setUTCMinutes(0,0,0)},(t,e)=>{t.setTime(+t+e*ht)},(t,e)=>(e-t)/ht,t=>t.getUTCHours());cr.range;const yt=K(t=>t.setHours(0,0,0,0),(t,e)=>t.setDate(t.getDate()+e),(t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*rt)/dt,t=>t.getDate()-1);yt.range;const Te=K(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/dt,t=>t.getUTCDate()-1);Te.range;const lr=K(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/dt,t=>Math.floor(t/dt));lr.range;function Tt(t){return K(e=>{e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)},(e,n)=>{e.setDate(e.getDate()+n*7)},(e,n)=>(n-e-(n.getTimezoneOffset()-e.getTimezoneOffset())*rt)/pe)}const Ot=Tt(0),It=Tt(1),nn=Tt(2),rn=Tt(3),kt=Tt(4),sn=Tt(5),an=Tt(6);Ot.range;It.range;nn.range;rn.range;kt.range;sn.range;an.range;function vt(t){return K(e=>{e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)},(e,n)=>{e.setUTCDate(e.getUTCDate()+n*7)},(e,n)=>(n-e)/pe)}const on=vt(0),jt=vt(1),ur=vt(2),fr=vt(3),St=vt(4),hr=vt(5),dr=vt(6);on.range;jt.range;ur.range;fr.range;St.range;hr.range;dr.range;const Wt=K(t=>{t.setDate(1),t.setHours(0,0,0,0)},(t,e)=>{t.setMonth(t.getMonth()+e)},(t,e)=>e.getMonth()-t.getMonth()+(e.getFullYear()-t.getFullYear())*12,t=>t.getMonth());Wt.range;const mr=K(t=>{t.setUTCDate(1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCMonth(t.getUTCMonth()+e)},(t,e)=>e.getUTCMonth()-t.getUTCMonth()+(e.getUTCFullYear()-t.getUTCFullYear())*12,t=>t.getUTCMonth());mr.range;const mt=K(t=>{t.setMonth(0,1),t.setHours(0,0,0,0)},(t,e)=>{t.setFullYear(t.getFullYear()+e)},(t,e)=>e.getFullYear()-t.getFullYear(),t=>t.getFullYear());mt.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:K(e=>{e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)},(e,n)=>{e.setFullYear(e.getFullYear()+n*t)});mt.range;const pt=K(t=>{t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCFullYear(t.getUTCFullYear()+e)},(t,e)=>e.getUTCFullYear()-t.getUTCFullYear(),t=>t.getUTCFullYear());pt.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:K(e=>{e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,n)=>{e.setUTCFullYear(e.getUTCFullYear()+n*t)});pt.range;function gr(t,e,n,r,i,s){const a=[[gt,1,ft],[gt,5,5*ft],[gt,15,15*ft],[gt,30,30*ft],[s,1,rt],[s,5,5*rt],[s,15,15*rt],[s,30,30*rt],[i,1,ht],[i,3,3*ht],[i,6,6*ht],[i,12,12*ht],[r,1,dt],[r,2,2*dt],[n,1,pe],[e,1,Fe],[e,3,3*Fe],[t,1,oe]];function k(g,b,U){const C=bL).right(a,C);if(v===a.length)return t.every(Ue(g/oe,b/oe,U));if(v===0)return Mt.every(Math.max(Ue(g,b,U),1));const[q,y]=a[C/a[v-1][2]53)return null;"w"in l||(l.w=1),"Z"in l?(N=le(Yt(l.y,0,1)),j=N.getUTCDay(),N=j>4||j===0?jt.ceil(N):jt(N),N=Te.offset(N,(l.V-1)*7),l.y=N.getUTCFullYear(),l.m=N.getUTCMonth(),l.d=N.getUTCDate()+(l.w+6)%7):(N=ce(Yt(l.y,0,1)),j=N.getDay(),N=j>4||j===0?It.ceil(N):It(N),N=yt.offset(N,(l.V-1)*7),l.y=N.getFullYear(),l.m=N.getMonth(),l.d=N.getDate()+(l.w+6)%7)}else("W"in l||"U"in l)&&("w"in l||(l.w="u"in l?l.u%7:"W"in l?1:0),j="Z"in l?le(Yt(l.y,0,1)).getUTCDay():ce(Yt(l.y,0,1)).getDay(),l.m=0,l.d="W"in l?(l.w+6)%7+l.W*7-(j+5)%7:l.w+l.U*7-(j+6)%7);return"Z"in l?(l.H+=l.Z/100|0,l.M+=l.Z%100,le(l)):ce(l)}}function T(p,E,M,l){for(var R=0,N=E.length,j=M.length,J,et;R=j)return-1;if(J=E.charCodeAt(R++),J===37){if(J=E.charAt(R++),et=Q[J in Le?E.charAt(R++):J],!et||(l=et(p,M,l))<0)return-1}else if(J!=M.charCodeAt(l++))return-1}return l}function F(p,E,M){var l=g.exec(E.slice(M));return l?(p.p=b.get(l[0].toLowerCase()),M+l[0].length):-1}function D(p,E,M){var l=v.exec(E.slice(M));return l?(p.w=q.get(l[0].toLowerCase()),M+l[0].length):-1}function w(p,E,M){var l=U.exec(E.slice(M));return l?(p.w=C.get(l[0].toLowerCase()),M+l[0].length):-1}function o(p,E,M){var l=O.exec(E.slice(M));return l?(p.m=W.get(l[0].toLowerCase()),M+l[0].length):-1}function d(p,E,M){var l=y.exec(E.slice(M));return l?(p.m=L.get(l[0].toLowerCase()),M+l[0].length):-1}function m(p,E,M){return T(p,e,E,M)}function u(p,E,M){return T(p,n,E,M)}function S(p,E,M){return T(p,r,E,M)}function c(p){return a[p.getDay()]}function X(p){return s[p.getDay()]}function f(p){return Y[p.getMonth()]}function h(p){return k[p.getMonth()]}function _(p){return i[+(p.getHours()>=12)]}function G(p){return 1+~~(p.getMonth()/3)}function H(p){return a[p.getUTCDay()]}function V(p){return s[p.getUTCDay()]}function I(p){return Y[p.getUTCMonth()]}function z(p){return k[p.getUTCMonth()]}function st(p){return i[+(p.getUTCHours()>=12)]}function it(p){return 1+~~(p.getUTCMonth()/3)}return{format:function(p){var E=x(p+="",B);return E.toString=function(){return p},E},parse:function(p){var E=A(p+="",!1);return E.toString=function(){return p},E},utcFormat:function(p){var E=x(p+="",Z);return E.toString=function(){return p},E},utcParse:function(p){var E=A(p+="",!0);return E.toString=function(){return p},E}}}var Le={"-":"",_:" ",0:"0"},tt=/^\s*\d+/,Tr=/^%/,vr=/[\\^$*+?|[\]().{}]/g;function P(t,e,n){var r=t<0?"-":"",i=(r?-t:t)+"",s=i.length;return r+(s[e.toLowerCase(),n]))}function xr(t,e,n){var r=tt.exec(e.slice(n,n+1));return r?(t.w=+r[0],n+r[0].length):-1}function wr(t,e,n){var r=tt.exec(e.slice(n,n+1));return r?(t.u=+r[0],n+r[0].length):-1}function Cr(t,e,n){var r=tt.exec(e.slice(n,n+2));return r?(t.U=+r[0],n+r[0].length):-1}function Dr(t,e,n){var r=tt.exec(e.slice(n,n+2));return r?(t.V=+r[0],n+r[0].length):-1}function Mr(t,e,n){var r=tt.exec(e.slice(n,n+2));return r?(t.W=+r[0],n+r[0].length):-1}function Ee(t,e,n){var r=tt.exec(e.slice(n,n+4));return r?(t.y=+r[0],n+r[0].length):-1}function Ae(t,e,n){var r=tt.exec(e.slice(n,n+2));return r?(t.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}function Sr(t,e,n){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(n,n+6));return r?(t.Z=r[1]?0:-(r[2]+(r[3]||"00")),n+r[0].length):-1}function _r(t,e,n){var r=tt.exec(e.slice(n,n+1));return r?(t.q=r[0]*3-3,n+r[0].length):-1}function Ur(t,e,n){var r=tt.exec(e.slice(n,n+2));return r?(t.m=r[0]-1,n+r[0].length):-1}function Ie(t,e,n){var r=tt.exec(e.slice(n,n+2));return r?(t.d=+r[0],n+r[0].length):-1}function Yr(t,e,n){var r=tt.exec(e.slice(n,n+3));return r?(t.m=0,t.d=+r[0],n+r[0].length):-1}function We(t,e,n){var r=tt.exec(e.slice(n,n+2));return r?(t.H=+r[0],n+r[0].length):-1}function Fr(t,e,n){var r=tt.exec(e.slice(n,n+2));return r?(t.M=+r[0],n+r[0].length):-1}function Lr(t,e,n){var r=tt.exec(e.slice(n,n+2));return r?(t.S=+r[0],n+r[0].length):-1}function Er(t,e,n){var r=tt.exec(e.slice(n,n+3));return r?(t.L=+r[0],n+r[0].length):-1}function Ar(t,e,n){var r=tt.exec(e.slice(n,n+6));return r?(t.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function Ir(t,e,n){var r=Tr.exec(e.slice(n,n+1));return r?n+r[0].length:-1}function Wr(t,e,n){var r=tt.exec(e.slice(n));return r?(t.Q=+r[0],n+r[0].length):-1}function Or(t,e,n){var r=tt.exec(e.slice(n));return r?(t.s=+r[0],n+r[0].length):-1}function Oe(t,e){return P(t.getDate(),e,2)}function Hr(t,e){return P(t.getHours(),e,2)}function Nr(t,e){return P(t.getHours()%12||12,e,2)}function Vr(t,e){return P(1+yt.count(mt(t),t),e,3)}function cn(t,e){return P(t.getMilliseconds(),e,3)}function zr(t,e){return cn(t,e)+"000"}function Pr(t,e){return P(t.getMonth()+1,e,2)}function Rr(t,e){return P(t.getMinutes(),e,2)}function Br(t,e){return P(t.getSeconds(),e,2)}function Zr(t){var e=t.getDay();return e===0?7:e}function Xr(t,e){return P(Ot.count(mt(t)-1,t),e,2)}function ln(t){var e=t.getDay();return e>=4||e===0?kt(t):kt.ceil(t)}function qr(t,e){return t=ln(t),P(kt.count(mt(t),t)+(mt(t).getDay()===4),e,2)}function Gr(t){return t.getDay()}function jr(t,e){return P(It.count(mt(t)-1,t),e,2)}function Qr(t,e){return P(t.getFullYear()%100,e,2)}function Jr(t,e){return t=ln(t),P(t.getFullYear()%100,e,2)}function $r(t,e){return P(t.getFullYear()%1e4,e,4)}function Kr(t,e){var n=t.getDay();return t=n>=4||n===0?kt(t):kt.ceil(t),P(t.getFullYear()%1e4,e,4)}function ti(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+P(e/60|0,"0",2)+P(e%60,"0",2)}function He(t,e){return P(t.getUTCDate(),e,2)}function ei(t,e){return P(t.getUTCHours(),e,2)}function ni(t,e){return P(t.getUTCHours()%12||12,e,2)}function ri(t,e){return P(1+Te.count(pt(t),t),e,3)}function un(t,e){return P(t.getUTCMilliseconds(),e,3)}function ii(t,e){return un(t,e)+"000"}function si(t,e){return P(t.getUTCMonth()+1,e,2)}function ai(t,e){return P(t.getUTCMinutes(),e,2)}function oi(t,e){return P(t.getUTCSeconds(),e,2)}function ci(t){var e=t.getUTCDay();return e===0?7:e}function li(t,e){return P(on.count(pt(t)-1,t),e,2)}function fn(t){var e=t.getUTCDay();return e>=4||e===0?St(t):St.ceil(t)}function ui(t,e){return t=fn(t),P(St.count(pt(t),t)+(pt(t).getUTCDay()===4),e,2)}function fi(t){return t.getUTCDay()}function hi(t,e){return P(jt.count(pt(t)-1,t),e,2)}function di(t,e){return P(t.getUTCFullYear()%100,e,2)}function mi(t,e){return t=fn(t),P(t.getUTCFullYear()%100,e,2)}function gi(t,e){return P(t.getUTCFullYear()%1e4,e,4)}function yi(t,e){var n=t.getUTCDay();return t=n>=4||n===0?St(t):St.ceil(t),P(t.getUTCFullYear()%1e4,e,4)}function ki(){return"+0000"}function Ne(){return"%"}function Ve(t){return+t}function ze(t){return Math.floor(+t/1e3)}var xt,Qt;pi({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function pi(t){return xt=pr(t),Qt=xt.format,xt.parse,xt.utcFormat,xt.utcParse,xt}function Ti(t){return new Date(t)}function vi(t){return t instanceof Date?+t:+new Date(+t)}function hn(t,e,n,r,i,s,a,k,Y,g){var b=Nn(),U=b.invert,C=b.domain,v=g(".%L"),q=g(":%S"),y=g("%I:%M"),L=g("%I %p"),O=g("%a %d"),W=g("%b %d"),B=g("%B"),Z=g("%Y");function Q(x){return(Y(x)4&&(v+=7),C.add(v,n));return q.diff(y,"week")+1},k.isoWeekday=function(g){return this.$utils().u(g)?this.day()||7:this.day(this.day()%7?g:g-7)};var Y=k.startOf;k.startOf=function(g,b){var U=this.$utils(),C=!!U.u(b)||b;return U.p(g)==="isoweek"?C?this.date(this.date()-(this.isoWeekday()-1)).startOf("day"):this.date(this.date()-1-(this.isoWeekday()-1)+7).endOf("day"):Y.bind(this)(g,b)}}})})(dn);var xi=dn.exports;const wi=ke(xi);var mn={exports:{}};(function(t,e){(function(n,r){t.exports=r()})(ye,function(){var n={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},r=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|YYYY|YY?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,i=/\d\d/,s=/\d\d?/,a=/\d*[^-_:/,()\s\d]+/,k={},Y=function(y){return(y=+y)+(y>68?1900:2e3)},g=function(y){return function(L){this[y]=+L}},b=[/[+-]\d\d:?(\d\d)?|Z/,function(y){(this.zone||(this.zone={})).offset=function(L){if(!L||L==="Z")return 0;var O=L.match(/([+-]|\d\d)/g),W=60*O[1]+(+O[2]||0);return W===0?0:O[0]==="+"?-W:W}(y)}],U=function(y){var L=k[y];return L&&(L.indexOf?L:L.s.concat(L.f))},C=function(y,L){var O,W=k.meridiem;if(W){for(var B=1;B<=24;B+=1)if(y.indexOf(W(B,0,L))>-1){O=B>12;break}}else O=y===(L?"pm":"PM");return O},v={A:[a,function(y){this.afternoon=C(y,!1)}],a:[a,function(y){this.afternoon=C(y,!0)}],S:[/\d/,function(y){this.milliseconds=100*+y}],SS:[i,function(y){this.milliseconds=10*+y}],SSS:[/\d{3}/,function(y){this.milliseconds=+y}],s:[s,g("seconds")],ss:[s,g("seconds")],m:[s,g("minutes")],mm:[s,g("minutes")],H:[s,g("hours")],h:[s,g("hours")],HH:[s,g("hours")],hh:[s,g("hours")],D:[s,g("day")],DD:[i,g("day")],Do:[a,function(y){var L=k.ordinal,O=y.match(/\d+/);if(this.day=O[0],L)for(var W=1;W<=31;W+=1)L(W).replace(/\[|\]/g,"")===y&&(this.day=W)}],M:[s,g("month")],MM:[i,g("month")],MMM:[a,function(y){var L=U("months"),O=(U("monthsShort")||L.map(function(W){return W.slice(0,3)})).indexOf(y)+1;if(O<1)throw new Error;this.month=O%12||O}],MMMM:[a,function(y){var L=U("months").indexOf(y)+1;if(L<1)throw new Error;this.month=L%12||L}],Y:[/[+-]?\d+/,g("year")],YY:[i,function(y){this.year=Y(y)}],YYYY:[/\d{4}/,g("year")],Z:b,ZZ:b};function q(y){var L,O;L=y,O=k&&k.formats;for(var W=(y=L.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,function(F,D,w){var o=w&&w.toUpperCase();return D||O[w]||n[w]||O[o].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,function(d,m,u){return m||u.slice(1)})})).match(r),B=W.length,Z=0;Z-1)return new Date((c==="X"?1e3:1)*S);var f=q(c)(S),h=f.year,_=f.month,G=f.day,H=f.hours,V=f.minutes,I=f.seconds,z=f.milliseconds,st=f.zone,it=new Date,p=G||(h||_?1:it.getDate()),E=h||it.getFullYear(),M=0;h&&!_||(M=_>0?_-1:it.getMonth());var l=H||0,R=V||0,N=I||0,j=z||0;return st?new Date(Date.UTC(E,M,p,l,R,N,j+60*st.offset*1e3)):X?new Date(Date.UTC(E,M,p,l,R,N,j)):new Date(E,M,p,l,R,N,j)}catch{return new Date("")}}(Q,T,x),this.init(),o&&o!==!0&&(this.$L=this.locale(o).$L),w&&Q!=this.format(T)&&(this.$d=new Date("")),k={}}else if(T instanceof Array)for(var d=T.length,m=1;m<=d;m+=1){A[1]=T[m-1];var u=O.apply(this,A);if(u.isValid()){this.$d=u.$d,this.$L=u.$L,this.init();break}m===d&&(this.$d=new Date(""))}else B.call(this,Z)}}})})(mn);var Ci=mn.exports;const Di=ke(Ci);var gn={exports:{}};(function(t,e){(function(n,r){t.exports=r()})(ye,function(){return function(n,r){var i=r.prototype,s=i.format;i.format=function(a){var k=this,Y=this.$locale();if(!this.isValid())return s.bind(this)(a);var g=this.$utils(),b=(a||"YYYY-MM-DDTHH:mm:ssZ").replace(/\[([^\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g,function(U){switch(U){case"Q":return Math.ceil((k.$M+1)/3);case"Do":return Y.ordinal(k.$D);case"gggg":return k.weekYear();case"GGGG":return k.isoWeekYear();case"wo":return Y.ordinal(k.week(),"W");case"w":case"ww":return g.s(k.week(),U==="w"?1:2,"0");case"W":case"WW":return g.s(k.isoWeek(),U==="W"?1:2,"0");case"k":case"kk":return g.s(String(k.$H===0?24:k.$H),U==="k"?1:2,"0");case"X":return Math.floor(k.$d.getTime()/1e3);case"x":return k.$d.getTime();case"z":return"["+k.offsetName()+"]";case"zzz":return"["+k.offsetName("long")+"]";default:return U}});return s.bind(this)(b)}}})})(gn);var Mi=gn.exports;const Si=ke(Mi);var he=function(){var t=function(w,o,d,m){for(d=d||{},m=w.length;m--;d[w[m]]=o);return d},e=[6,8,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,30,32,33,35,37],n=[1,25],r=[1,26],i=[1,27],s=[1,28],a=[1,29],k=[1,30],Y=[1,31],g=[1,9],b=[1,10],U=[1,11],C=[1,12],v=[1,13],q=[1,14],y=[1,15],L=[1,16],O=[1,18],W=[1,19],B=[1,20],Z=[1,21],Q=[1,22],x=[1,24],A=[1,32],T={trace:function(){},yy:{},symbols_:{error:2,start:3,gantt:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NL:10,weekday:11,weekday_monday:12,weekday_tuesday:13,weekday_wednesday:14,weekday_thursday:15,weekday_friday:16,weekday_saturday:17,weekday_sunday:18,dateFormat:19,inclusiveEndDates:20,topAxis:21,axisFormat:22,tickInterval:23,excludes:24,includes:25,todayMarker:26,title:27,acc_title:28,acc_title_value:29,acc_descr:30,acc_descr_value:31,acc_descr_multiline_value:32,section:33,clickStatement:34,taskTxt:35,taskData:36,click:37,callbackname:38,callbackargs:39,href:40,clickStatementDebug:41,$accept:0,$end:1},terminals_:{2:"error",4:"gantt",6:"EOF",8:"SPACE",10:"NL",12:"weekday_monday",13:"weekday_tuesday",14:"weekday_wednesday",15:"weekday_thursday",16:"weekday_friday",17:"weekday_saturday",18:"weekday_sunday",19:"dateFormat",20:"inclusiveEndDates",21:"topAxis",22:"axisFormat",23:"tickInterval",24:"excludes",25:"includes",26:"todayMarker",27:"title",28:"acc_title",29:"acc_title_value",30:"acc_descr",31:"acc_descr_value",32:"acc_descr_multiline_value",33:"section",35:"taskTxt",36:"taskData",37:"click",38:"callbackname",39:"callbackargs",40:"href"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,1],[9,2],[34,2],[34,3],[34,3],[34,4],[34,3],[34,4],[34,2],[41,2],[41,3],[41,3],[41,4],[41,3],[41,4],[41,2]],performAction:function(o,d,m,u,S,c,X){var f=c.length-1;switch(S){case 1:return c[f-1];case 2:this.$=[];break;case 3:c[f-1].push(c[f]),this.$=c[f-1];break;case 4:case 5:this.$=c[f];break;case 6:case 7:this.$=[];break;case 8:u.setWeekday("monday");break;case 9:u.setWeekday("tuesday");break;case 10:u.setWeekday("wednesday");break;case 11:u.setWeekday("thursday");break;case 12:u.setWeekday("friday");break;case 13:u.setWeekday("saturday");break;case 14:u.setWeekday("sunday");break;case 15:u.setDateFormat(c[f].substr(11)),this.$=c[f].substr(11);break;case 16:u.enableInclusiveEndDates(),this.$=c[f].substr(18);break;case 17:u.TopAxis(),this.$=c[f].substr(8);break;case 18:u.setAxisFormat(c[f].substr(11)),this.$=c[f].substr(11);break;case 19:u.setTickInterval(c[f].substr(13)),this.$=c[f].substr(13);break;case 20:u.setExcludes(c[f].substr(9)),this.$=c[f].substr(9);break;case 21:u.setIncludes(c[f].substr(9)),this.$=c[f].substr(9);break;case 22:u.setTodayMarker(c[f].substr(12)),this.$=c[f].substr(12);break;case 24:u.setDiagramTitle(c[f].substr(6)),this.$=c[f].substr(6);break;case 25:this.$=c[f].trim(),u.setAccTitle(this.$);break;case 26:case 27:this.$=c[f].trim(),u.setAccDescription(this.$);break;case 28:u.addSection(c[f].substr(8)),this.$=c[f].substr(8);break;case 30:u.addTask(c[f-1],c[f]),this.$="task";break;case 31:this.$=c[f-1],u.setClickEvent(c[f-1],c[f],null);break;case 32:this.$=c[f-2],u.setClickEvent(c[f-2],c[f-1],c[f]);break;case 33:this.$=c[f-2],u.setClickEvent(c[f-2],c[f-1],null),u.setLink(c[f-2],c[f]);break;case 34:this.$=c[f-3],u.setClickEvent(c[f-3],c[f-2],c[f-1]),u.setLink(c[f-3],c[f]);break;case 35:this.$=c[f-2],u.setClickEvent(c[f-2],c[f],null),u.setLink(c[f-2],c[f-1]);break;case 36:this.$=c[f-3],u.setClickEvent(c[f-3],c[f-1],c[f]),u.setLink(c[f-3],c[f-2]);break;case 37:this.$=c[f-1],u.setLink(c[f-1],c[f]);break;case 38:case 44:this.$=c[f-1]+" "+c[f];break;case 39:case 40:case 42:this.$=c[f-2]+" "+c[f-1]+" "+c[f];break;case 41:case 43:this.$=c[f-3]+" "+c[f-2]+" "+c[f-1]+" "+c[f];break}},table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:17,12:n,13:r,14:i,15:s,16:a,17:k,18:Y,19:g,20:b,21:U,22:C,23:v,24:q,25:y,26:L,27:O,28:W,30:B,32:Z,33:Q,34:23,35:x,37:A},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:33,11:17,12:n,13:r,14:i,15:s,16:a,17:k,18:Y,19:g,20:b,21:U,22:C,23:v,24:q,25:y,26:L,27:O,28:W,30:B,32:Z,33:Q,34:23,35:x,37:A},t(e,[2,5]),t(e,[2,6]),t(e,[2,15]),t(e,[2,16]),t(e,[2,17]),t(e,[2,18]),t(e,[2,19]),t(e,[2,20]),t(e,[2,21]),t(e,[2,22]),t(e,[2,23]),t(e,[2,24]),{29:[1,34]},{31:[1,35]},t(e,[2,27]),t(e,[2,28]),t(e,[2,29]),{36:[1,36]},t(e,[2,8]),t(e,[2,9]),t(e,[2,10]),t(e,[2,11]),t(e,[2,12]),t(e,[2,13]),t(e,[2,14]),{38:[1,37],40:[1,38]},t(e,[2,4]),t(e,[2,25]),t(e,[2,26]),t(e,[2,30]),t(e,[2,31],{39:[1,39],40:[1,40]}),t(e,[2,37],{38:[1,41]}),t(e,[2,32],{40:[1,42]}),t(e,[2,33]),t(e,[2,35],{39:[1,43]}),t(e,[2,34]),t(e,[2,36])],defaultActions:{},parseError:function(o,d){if(d.recoverable)this.trace(o);else{var m=new Error(o);throw m.hash=d,m}},parse:function(o){var d=this,m=[0],u=[],S=[null],c=[],X=this.table,f="",h=0,_=0,G=2,H=1,V=c.slice.call(arguments,1),I=Object.create(this.lexer),z={yy:{}};for(var st in this.yy)Object.prototype.hasOwnProperty.call(this.yy,st)&&(z.yy[st]=this.yy[st]);I.setInput(o,z.yy),z.yy.lexer=I,z.yy.parser=this,typeof I.yylloc>"u"&&(I.yylloc={});var it=I.yylloc;c.push(it);var p=I.options&&I.options.ranges;typeof z.yy.parseError=="function"?this.parseError=z.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function E(){var ct;return ct=u.pop()||I.lex()||H,typeof ct!="number"&&(ct instanceof Array&&(u=ct,ct=u.pop()),ct=d.symbols_[ct]||ct),ct}for(var M,l,R,N,j={},J,et,Ut,zt;;){if(l=m[m.length-1],this.defaultActions[l]?R=this.defaultActions[l]:((M===null||typeof M>"u")&&(M=E()),R=X[l]&&X[l][M]),typeof R>"u"||!R.length||!R[0]){var $t="";zt=[];for(J in X[l])this.terminals_[J]&&J>G&&zt.push("'"+this.terminals_[J]+"'");I.showPosition?$t="Parse error on line "+(h+1)+`: `+I.showPosition()+` Expecting `+zt.join(", ")+", got '"+(this.terminals_[M]||M)+"'":$t="Parse error on line "+(h+1)+": Unexpected "+(M==H?"end of input":"'"+(this.terminals_[M]||M)+"'"),this.parseError($t,{text:I.match,token:this.terminals_[M]||M,line:I.yylineno,loc:it,expected:zt})}if(R[0]instanceof Array&&R.length>1)throw new Error("Parse Error: multiple actions possible at state: "+l+", token: "+M);switch(R[0]){case 1:m.push(M),S.push(I.yytext),c.push(I.yylloc),m.push(R[1]),M=null,_=I.yyleng,f=I.yytext,h=I.yylineno,it=I.yylloc;break;case 2:if(et=this.productions_[R[1]][1],j.$=S[S.length-et],j._$={first_line:c[c.length-(et||1)].first_line,last_line:c[c.length-1].last_line,first_column:c[c.length-(et||1)].first_column,last_column:c[c.length-1].last_column},p&&(j._$.range=[c[c.length-(et||1)].range[0],c[c.length-1].range[1]]),N=this.performAction.apply(j,[f,_,h,z.yy,R[1],S,c].concat(V)),typeof N<"u")return N;et&&(m=m.slice(0,-1*et*2),S=S.slice(0,-1*et),c=c.slice(0,-1*et)),m.push(this.productions_[R[1]][0]),S.push(j.$),c.push(j._$),Ut=X[m[m.length-2]][m[m.length-1]],m.push(Ut);break;case 3:return!0}}return!0}},F=function(){var w={EOF:1,parseError:function(d,m){if(this.yy.parser)this.yy.parser.parseError(d,m);else throw new Error(d)},setInput:function(o,d){return this.yy=d||this.yy||{},this._input=o,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var o=this._input[0];this.yytext+=o,this.yyleng++,this.offset++,this.match+=o,this.matched+=o;var d=o.match(/(?:\r\n?|\n).*/g);return d?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),o},unput:function(o){var d=o.length,m=o.split(/(?:\r\n?|\n)/g);this._input=o+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-d),this.offset-=d;var u=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),m.length-1&&(this.yylineno-=m.length-1);var S=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:m?(m.length===u.length?this.yylloc.first_column:0)+u[u.length-m.length].length-m[0].length:this.yylloc.first_column-d},this.options.ranges&&(this.yylloc.range=[S[0],S[0]+this.yyleng-d]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(o){this.unput(this.match.slice(o))},pastInput:function(){var o=this.matched.substr(0,this.matched.length-this.match.length);return(o.length>20?"...":"")+o.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var o=this.match;return o.length<20&&(o+=this._input.substr(0,20-o.length)),(o.substr(0,20)+(o.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var o=this.pastInput(),d=new Array(o.length+1).join("-");return o+this.upcomingInput()+` diff --git a/assets/getting-started.html-BEbyiLnA.js b/assets/getting-started.html-CRhPVQIk.js similarity index 98% rename from assets/getting-started.html-BEbyiLnA.js rename to assets/getting-started.html-CRhPVQIk.js index 1d2a03a..3dd844a 100644 --- a/assets/getting-started.html-BEbyiLnA.js +++ b/assets/getting-started.html-CRhPVQIk.js @@ -1,4 +1,4 @@ -import{_ as u}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as c,o as d,c as k,e as o,w as a,b as n,d as s,a as p}from"./app-B0fd3cYb.js";const m={},v=n("h1",{id:"getting-started",tabindex:"-1"},[n("a",{class:"header-anchor",href:"#getting-started"},[n("span",null,"Getting started")])],-1),b=n("h2",{id:"installation",tabindex:"-1"},[n("a",{class:"header-anchor",href:"#installation"},[n("span",null,"Installation")])],-1),h=n("p",null,"You can install taskiq from pypi or directly from git using pip:",-1),g=n("div",{class:"language-bash","data-ext":"sh","data-title":"sh"},[n("pre",{class:"language-bash"},[n("code",null,[s("pip "),n("span",{class:"token function"},"install"),s(` taskiq +import{_ as u}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as c,o as d,c as k,e as o,w as a,b as n,d as s,a as p}from"./app-jADuhdjP.js";const m={},v=n("h1",{id:"getting-started",tabindex:"-1"},[n("a",{class:"header-anchor",href:"#getting-started"},[n("span",null,"Getting started")])],-1),b=n("h2",{id:"installation",tabindex:"-1"},[n("a",{class:"header-anchor",href:"#installation"},[n("span",null,"Installation")])],-1),h=n("p",null,"You can install taskiq from pypi or directly from git using pip:",-1),g=n("div",{class:"language-bash","data-ext":"sh","data-title":"sh"},[n("pre",{class:"language-bash"},[n("code",null,[s("pip "),n("span",{class:"token function"},"install"),s(` taskiq `)])])],-1),y=n("div",{class:"language-bash","data-ext":"sh","data-title":"sh"},[n("pre",{class:"language-bash"},[n("code",null,[s("pip "),n("span",{class:"token function"},"install"),s(` git+https://github.com/taskiq-python/taskiq.git `)])])],-1),w={href:"https://pypi.org/search/?q=taskiq",target:"_blank",rel:"noopener noreferrer"},_={class:"hint-container info"},f=n("p",{class:"hint-container-title"},"Cool tip!",-1),q={href:"https://pypi.org/project/taskiq-aio-pika/",target:"_blank",rel:"noopener noreferrer"},x={href:"https://pypi.org/project/taskiq-nats/",target:"_blank",rel:"noopener noreferrer"},A={href:"https://pypi.org/project/taskiq-redis/",target:"_blank",rel:"noopener noreferrer"},T=p(`

Running tasks

Now you need to create a python module with broker declaration. It's just a plain python file with the variable of your broker. For this particular example, I'm going to use the InMemoryBroker.

Important note

The InMemoryBroker doesn't send any data over the network, and you cannot use this broker in a real-world scenario, but it's still useful for local development if you do not want to set up a taskiq worker.

# broker.py
 from taskiq import InMemoryBroker
@@ -141,4 +141,4 @@ Returned value: 2
 `),n("span",{class:"token keyword"},"async"),s(),n("span",{class:"token keyword"},"def"),s(),n("span",{class:"token function"},"mytask"),n("span",{class:"token punctuation"},"("),n("span",{class:"token punctuation"},")"),n("span",{class:"token punctuation"},":"),s(`
     `),n("span",{class:"token keyword"},"await"),s(" asyncio"),n("span",{class:"token punctuation"},"."),s("sleep"),n("span",{class:"token punctuation"},"("),n("span",{class:"token number"},"2"),n("span",{class:"token punctuation"},")"),s(`
 `)])]),n("div",{class:"line-numbers","aria-hidden":"true"},[n("div",{class:"line-number"}),n("div",{class:"line-number"}),n("div",{class:"line-number"})])],-1),j=n("div",{class:"language-python line-numbers-mode","data-ext":"py","data-title":"py"},[n("pre",{class:"language-python"},[n("code",null,[n("span",{class:"token keyword"},"await"),s(" my_task"),n("span",{class:"token punctuation"},"."),s("kicker"),n("span",{class:"token punctuation"},"("),n("span",{class:"token punctuation"},")"),n("span",{class:"token punctuation"},"."),s("with_labels"),n("span",{class:"token punctuation"},"("),s("timeout"),n("span",{class:"token operator"},"="),n("span",{class:"token number"},"0.3"),n("span",{class:"token punctuation"},")"),n("span",{class:"token punctuation"},"."),s("kiq"),n("span",{class:"token punctuation"},"("),n("span",{class:"token punctuation"},")"),s(`
-`)])]),n("div",{class:"line-numbers","aria-hidden":"true"},[n("div",{class:"line-number"})])],-1),F={class:"hint-container caution"},Q=n("p",{class:"hint-container-title"},"Cool alert",-1),G={href:"https://docs.python.org/3/library/asyncio-eventloop.html#asyncio.loop.run_in_executor",target:"_blank",rel:"noopener noreferrer"};function V(W,O){const l=c("Tabs"),i=c("ExternalLinkIcon"),r=c("RouteLink");return d(),k("div",null,[v,b,h,o(l,{id:"9",data:[{id:"pypi"},{id:"git"}]},{title0:a(({value:t,isActive:e})=>[s("pypi")]),title1:a(({value:t,isActive:e})=>[s("git")]),tab0:a(({value:t,isActive:e})=>[g]),tab1:a(({value:t,isActive:e})=>[y]),_:1}),n("p",null,[s("After installation of the core library, you need to find the broker that fits you. You can do it using "),n("a",w,[s("PyPI"),o(i)]),s(" search.")]),n("div",_,[f,n("p",null,[s("We highly recommend "),n("a",q,[s("taskiq-aio-pika"),o(i)]),s(" or "),n("a",x,[s("taskiq-nats"),o(i)]),s(" as the broker and "),n("a",A,[s("taskiq-redis"),o(i)]),s(" as the result backend for production use.")])]),T,n("p",null,[s('You can get more information about taskiq types, CLI and internal structure in the "'),o(r,{to:"/guide/architecture-overview.html"},{default:a(()=>[s("Architecture overview")]),_:1}),s('" section.')]),B,I,n("p",null,[s("At first we must install the "),n("a",R,[s("taskiq-aio-pika"),o(i)]),s(" lib.")]),M,o(l,{id:"83",data:[{id:"linux|macos"},{id:"windows"}]},{title0:a(({value:t,isActive:e})=>[s("linux|macos")]),title1:a(({value:t,isActive:e})=>[s("windows")]),tab0:a(({value:t,isActive:e})=>[N]),tab1:a(({value:t,isActive:e})=>[P]),_:1}),n("p",null,[s("Now we need to start worker process by running taskiq cli command. You can get more info about the CLI in the "),o(r,{to:"/guide/cli.html"},{default:a(()=>[s("CLI")]),_:1}),s(" section.")]),S,n("p",null,[s("But the printed result value is not correct. That happens because we didn't provide any result backend that can store results of task execution. To store results, we can use the "),n("a",E,[s("taskiq-redis"),o(i)]),s(" library.")]),L,o(l,{id:"110",data:[{id:"linux|macos"},{id:"windows"}]},{title0:a(({value:t,isActive:e})=>[s("linux|macos")]),title1:a(({value:t,isActive:e})=>[s("windows")]),tab0:a(({value:t,isActive:e})=>[C]),tab1:a(({value:t,isActive:e})=>[Y]),_:1}),D,o(l,{id:"141",data:[{id:"decorator"},{id:"when calling"}]},{title0:a(({value:t,isActive:e})=>[s("decorator")]),title1:a(({value:t,isActive:e})=>[s("when calling")]),tab0:a(({value:t,isActive:e})=>[U]),tab1:a(({value:t,isActive:e})=>[j]),_:1}),n("div",F,[Q,n("p",null,[s("We use "),n("a",G,[s("run_in_executor"),o(i)]),s(" method to run sync functions. Timeouts will raise a TimeoutException, but synchronous function may not stop from execution. This is a constraint of python.")])])])}const $=u(m,[["render",V],["__file","getting-started.html.vue"]]),z=JSON.parse('{"path":"/guide/getting-started.html","title":"Getting started","lang":"en-US","frontmatter":{"title":"Getting started","order":2,"description":"Getting started Installation You can install taskiq from pypi or directly from git using pip: After installation of the core library, you need to find the broker that fits you. ...","head":[["meta",{"property":"og:url","content":"https://taskiq-python.github.io/guide/getting-started.html"}],["meta",{"property":"og:site_name","content":"Taskiq"}],["meta",{"property":"og:title","content":"Getting started"}],["meta",{"property":"og:description","content":"Getting started Installation You can install taskiq from pypi or directly from git using pip: After installation of the core library, you need to find the broker that fits you. ..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-04-20T00:01:02.000Z"}],["meta",{"property":"article:modified_time","content":"2024-04-20T00:01:02.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Getting started\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-04-20T00:01:02.000Z\\",\\"author\\":[]}"]]},"headers":[{"level":2,"title":"Installation","slug":"installation","link":"#installation","children":[]},{"level":2,"title":"Running tasks","slug":"running-tasks","link":"#running-tasks","children":[]},{"level":2,"title":"Distributed run","slug":"distributed-run","link":"#distributed-run","children":[]},{"level":2,"title":"Timeouts","slug":"timeouts","link":"#timeouts","children":[]}],"git":{"createdTime":1713571262000,"updatedTime":1713571262000,"contributors":[{"name":"Pavel Kirilin","email":"win10@list.ru","commits":1}]},"filePathRelative":"guide/getting-started.md","localizedDate":"April 20, 2024","autoDesc":true,"excerpt":"\\n

Installation

\\n

You can install taskiq from pypi or directly from git using pip:

\\n\\n

After installation of the core library, you need to find the broker that fits you. You can do it using PyPI search.

"}');export{$ as comp,z as data}; +`)])]),n("div",{class:"line-numbers","aria-hidden":"true"},[n("div",{class:"line-number"})])],-1),F={class:"hint-container caution"},Q=n("p",{class:"hint-container-title"},"Cool alert",-1),G={href:"https://docs.python.org/3/library/asyncio-eventloop.html#asyncio.loop.run_in_executor",target:"_blank",rel:"noopener noreferrer"};function V(W,O){const l=c("Tabs"),i=c("ExternalLinkIcon"),r=c("RouteLink");return d(),k("div",null,[v,b,h,o(l,{id:"9",data:[{id:"pypi"},{id:"git"}]},{title0:a(({value:t,isActive:e})=>[s("pypi")]),title1:a(({value:t,isActive:e})=>[s("git")]),tab0:a(({value:t,isActive:e})=>[g]),tab1:a(({value:t,isActive:e})=>[y]),_:1}),n("p",null,[s("After installation of the core library, you need to find the broker that fits you. You can do it using "),n("a",w,[s("PyPI"),o(i)]),s(" search.")]),n("div",_,[f,n("p",null,[s("We highly recommend "),n("a",q,[s("taskiq-aio-pika"),o(i)]),s(" or "),n("a",x,[s("taskiq-nats"),o(i)]),s(" as the broker and "),n("a",A,[s("taskiq-redis"),o(i)]),s(" as the result backend for production use.")])]),T,n("p",null,[s('You can get more information about taskiq types, CLI and internal structure in the "'),o(r,{to:"/guide/architecture-overview.html"},{default:a(()=>[s("Architecture overview")]),_:1}),s('" section.')]),B,I,n("p",null,[s("At first we must install the "),n("a",R,[s("taskiq-aio-pika"),o(i)]),s(" lib.")]),M,o(l,{id:"83",data:[{id:"linux|macos"},{id:"windows"}]},{title0:a(({value:t,isActive:e})=>[s("linux|macos")]),title1:a(({value:t,isActive:e})=>[s("windows")]),tab0:a(({value:t,isActive:e})=>[N]),tab1:a(({value:t,isActive:e})=>[P]),_:1}),n("p",null,[s("Now we need to start worker process by running taskiq cli command. You can get more info about the CLI in the "),o(r,{to:"/guide/cli.html"},{default:a(()=>[s("CLI")]),_:1}),s(" section.")]),S,n("p",null,[s("But the printed result value is not correct. That happens because we didn't provide any result backend that can store results of task execution. To store results, we can use the "),n("a",E,[s("taskiq-redis"),o(i)]),s(" library.")]),L,o(l,{id:"110",data:[{id:"linux|macos"},{id:"windows"}]},{title0:a(({value:t,isActive:e})=>[s("linux|macos")]),title1:a(({value:t,isActive:e})=>[s("windows")]),tab0:a(({value:t,isActive:e})=>[C]),tab1:a(({value:t,isActive:e})=>[Y]),_:1}),D,o(l,{id:"141",data:[{id:"decorator"},{id:"when calling"}]},{title0:a(({value:t,isActive:e})=>[s("decorator")]),title1:a(({value:t,isActive:e})=>[s("when calling")]),tab0:a(({value:t,isActive:e})=>[U]),tab1:a(({value:t,isActive:e})=>[j]),_:1}),n("div",F,[Q,n("p",null,[s("We use "),n("a",G,[s("run_in_executor"),o(i)]),s(" method to run sync functions. Timeouts will raise a TimeoutException, but synchronous function may not stop from execution. This is a constraint of python.")])])])}const $=u(m,[["render",V],["__file","getting-started.html.vue"]]),z=JSON.parse('{"path":"/guide/getting-started.html","title":"Getting started","lang":"en-US","frontmatter":{"title":"Getting started","order":2,"description":"Getting started Installation You can install taskiq from pypi or directly from git using pip: After installation of the core library, you need to find the broker that fits you. ...","head":[["meta",{"property":"og:url","content":"https://taskiq-python.github.io/guide/getting-started.html"}],["meta",{"property":"og:site_name","content":"Taskiq"}],["meta",{"property":"og:title","content":"Getting started"}],["meta",{"property":"og:description","content":"Getting started Installation You can install taskiq from pypi or directly from git using pip: After installation of the core library, you need to find the broker that fits you. ..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-04-26T20:07:59.000Z"}],["meta",{"property":"article:modified_time","content":"2024-04-26T20:07:59.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Getting started\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-04-26T20:07:59.000Z\\",\\"author\\":[]}"]]},"headers":[{"level":2,"title":"Installation","slug":"installation","link":"#installation","children":[]},{"level":2,"title":"Running tasks","slug":"running-tasks","link":"#running-tasks","children":[]},{"level":2,"title":"Distributed run","slug":"distributed-run","link":"#distributed-run","children":[]},{"level":2,"title":"Timeouts","slug":"timeouts","link":"#timeouts","children":[]}],"git":{"createdTime":1714162079000,"updatedTime":1714162079000,"contributors":[{"name":"Pavel Kirilin","email":"win10@list.ru","commits":1}]},"filePathRelative":"guide/getting-started.md","localizedDate":"April 26, 2024","autoDesc":true,"excerpt":"\\n

Installation

\\n

You can install taskiq from pypi or directly from git using pip:

\\n\\n

After installation of the core library, you need to find the broker that fits you. You can do it using PyPI search.

"}');export{$ as comp,z as data}; diff --git a/assets/gitGraphDiagram-96e6b4ee-DwZ-lZ0j.js b/assets/gitGraphDiagram-96e6b4ee-B1Ht6BvC.js similarity index 99% rename from assets/gitGraphDiagram-96e6b4ee-DwZ-lZ0j.js rename to assets/gitGraphDiagram-96e6b4ee-B1Ht6BvC.js index 0da60bc..d4b5971 100644 --- a/assets/gitGraphDiagram-96e6b4ee-DwZ-lZ0j.js +++ b/assets/gitGraphDiagram-96e6b4ee-B1Ht6BvC.js @@ -1,4 +1,4 @@ -import{c as C,s as vt,g as Ct,a as Ot,b as Pt,x as At,y as Gt,l as B,j as D,A as St,h as It,z as Nt,at as Ht,au as Bt}from"./mermaid.core-DtSoU78u.js";import"./app-B0fd3cYb.js";var mt=function(){var r=function(G,o,u,d){for(u=u||{},d=G.length;d--;u[G[d]]=o);return u},n=[1,3],l=[1,6],h=[1,4],i=[1,5],c=[2,5],p=[1,12],m=[5,7,13,19,21,23,24,26,28,31,37,40,47],x=[7,13,19,21,23,24,26,28,31,37,40],y=[7,12,13,19,21,23,24,26,28,31,37,40],a=[7,13,47],R=[1,42],_=[1,41],b=[7,13,29,32,35,38,47],f=[1,55],k=[1,56],g=[1,57],E=[7,13,32,35,42,47],z={trace:function(){},yy:{},symbols_:{error:2,start:3,eol:4,GG:5,document:6,EOF:7,":":8,DIR:9,options:10,body:11,OPT:12,NL:13,line:14,statement:15,commitStatement:16,mergeStatement:17,cherryPickStatement:18,acc_title:19,acc_title_value:20,acc_descr:21,acc_descr_value:22,acc_descr_multiline_value:23,section:24,branchStatement:25,CHECKOUT:26,ref:27,BRANCH:28,ORDER:29,NUM:30,CHERRY_PICK:31,COMMIT_ID:32,STR:33,PARENT_COMMIT:34,COMMIT_TAG:35,EMPTYSTR:36,MERGE:37,COMMIT_TYPE:38,commitType:39,COMMIT:40,commit_arg:41,COMMIT_MSG:42,NORMAL:43,REVERSE:44,HIGHLIGHT:45,ID:46,";":47,$accept:0,$end:1},terminals_:{2:"error",5:"GG",7:"EOF",8:":",9:"DIR",12:"OPT",13:"NL",19:"acc_title",20:"acc_title_value",21:"acc_descr",22:"acc_descr_value",23:"acc_descr_multiline_value",24:"section",26:"CHECKOUT",28:"BRANCH",29:"ORDER",30:"NUM",31:"CHERRY_PICK",32:"COMMIT_ID",33:"STR",34:"PARENT_COMMIT",35:"COMMIT_TAG",36:"EMPTYSTR",37:"MERGE",38:"COMMIT_TYPE",40:"COMMIT",42:"COMMIT_MSG",43:"NORMAL",44:"REVERSE",45:"HIGHLIGHT",46:"ID",47:";"},productions_:[0,[3,2],[3,3],[3,4],[3,5],[6,0],[6,2],[10,2],[10,1],[11,0],[11,2],[14,2],[14,1],[15,1],[15,1],[15,1],[15,2],[15,2],[15,1],[15,1],[15,1],[15,2],[25,2],[25,4],[18,3],[18,5],[18,5],[18,7],[18,7],[18,5],[18,5],[18,5],[18,7],[18,7],[18,7],[18,7],[17,2],[17,4],[17,4],[17,4],[17,6],[17,6],[17,6],[17,6],[17,6],[17,6],[17,8],[17,8],[17,8],[17,8],[17,8],[17,8],[16,2],[16,3],[16,3],[16,5],[16,5],[16,3],[16,5],[16,5],[16,5],[16,5],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,3],[16,5],[16,5],[16,5],[16,5],[16,5],[16,5],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[41,0],[41,1],[39,1],[39,1],[39,1],[27,1],[27,1],[4,1],[4,1],[4,1]],performAction:function(o,u,d,s,T,t,X){var e=t.length-1;switch(T){case 2:return t[e];case 3:return t[e-1];case 4:return s.setDirection(t[e-3]),t[e-1];case 6:s.setOptions(t[e-1]),this.$=t[e];break;case 7:t[e-1]+=t[e],this.$=t[e-1];break;case 9:this.$=[];break;case 10:t[e-1].push(t[e]),this.$=t[e-1];break;case 11:this.$=t[e-1];break;case 16:this.$=t[e].trim(),s.setAccTitle(this.$);break;case 17:case 18:this.$=t[e].trim(),s.setAccDescription(this.$);break;case 19:s.addSection(t[e].substr(8)),this.$=t[e].substr(8);break;case 21:s.checkout(t[e]);break;case 22:s.branch(t[e]);break;case 23:s.branch(t[e-2],t[e]);break;case 24:s.cherryPick(t[e],"",void 0);break;case 25:s.cherryPick(t[e-2],"",void 0,t[e]);break;case 26:s.cherryPick(t[e-2],"",t[e]);break;case 27:s.cherryPick(t[e-4],"",t[e],t[e-2]);break;case 28:s.cherryPick(t[e-4],"",t[e-2],t[e]);break;case 29:s.cherryPick(t[e],"",t[e-2]);break;case 30:s.cherryPick(t[e],"","");break;case 31:s.cherryPick(t[e-2],"","");break;case 32:s.cherryPick(t[e-4],"","",t[e-2]);break;case 33:s.cherryPick(t[e-4],"","",t[e]);break;case 34:s.cherryPick(t[e-2],"",t[e-4],t[e]);break;case 35:s.cherryPick(t[e-2],"","",t[e]);break;case 36:s.merge(t[e],"","","");break;case 37:s.merge(t[e-2],t[e],"","");break;case 38:s.merge(t[e-2],"",t[e],"");break;case 39:s.merge(t[e-2],"","",t[e]);break;case 40:s.merge(t[e-4],t[e],"",t[e-2]);break;case 41:s.merge(t[e-4],"",t[e],t[e-2]);break;case 42:s.merge(t[e-4],"",t[e-2],t[e]);break;case 43:s.merge(t[e-4],t[e-2],t[e],"");break;case 44:s.merge(t[e-4],t[e-2],"",t[e]);break;case 45:s.merge(t[e-4],t[e],t[e-2],"");break;case 46:s.merge(t[e-6],t[e-4],t[e-2],t[e]);break;case 47:s.merge(t[e-6],t[e],t[e-4],t[e-2]);break;case 48:s.merge(t[e-6],t[e-4],t[e],t[e-2]);break;case 49:s.merge(t[e-6],t[e-2],t[e-4],t[e]);break;case 50:s.merge(t[e-6],t[e],t[e-2],t[e-4]);break;case 51:s.merge(t[e-6],t[e-2],t[e],t[e-4]);break;case 52:s.commit(t[e]);break;case 53:s.commit("","",s.commitType.NORMAL,t[e]);break;case 54:s.commit("","",t[e],"");break;case 55:s.commit("","",t[e],t[e-2]);break;case 56:s.commit("","",t[e-2],t[e]);break;case 57:s.commit("",t[e],s.commitType.NORMAL,"");break;case 58:s.commit("",t[e-2],s.commitType.NORMAL,t[e]);break;case 59:s.commit("",t[e],s.commitType.NORMAL,t[e-2]);break;case 60:s.commit("",t[e-2],t[e],"");break;case 61:s.commit("",t[e],t[e-2],"");break;case 62:s.commit("",t[e-4],t[e-2],t[e]);break;case 63:s.commit("",t[e-4],t[e],t[e-2]);break;case 64:s.commit("",t[e-2],t[e-4],t[e]);break;case 65:s.commit("",t[e],t[e-4],t[e-2]);break;case 66:s.commit("",t[e],t[e-2],t[e-4]);break;case 67:s.commit("",t[e-2],t[e],t[e-4]);break;case 68:s.commit(t[e],"",s.commitType.NORMAL,"");break;case 69:s.commit(t[e],"",s.commitType.NORMAL,t[e-2]);break;case 70:s.commit(t[e-2],"",s.commitType.NORMAL,t[e]);break;case 71:s.commit(t[e-2],"",t[e],"");break;case 72:s.commit(t[e],"",t[e-2],"");break;case 73:s.commit(t[e],t[e-2],s.commitType.NORMAL,"");break;case 74:s.commit(t[e-2],t[e],s.commitType.NORMAL,"");break;case 75:s.commit(t[e-4],"",t[e-2],t[e]);break;case 76:s.commit(t[e-4],"",t[e],t[e-2]);break;case 77:s.commit(t[e-2],"",t[e-4],t[e]);break;case 78:s.commit(t[e],"",t[e-4],t[e-2]);break;case 79:s.commit(t[e],"",t[e-2],t[e-4]);break;case 80:s.commit(t[e-2],"",t[e],t[e-4]);break;case 81:s.commit(t[e-4],t[e],t[e-2],"");break;case 82:s.commit(t[e-4],t[e-2],t[e],"");break;case 83:s.commit(t[e-2],t[e],t[e-4],"");break;case 84:s.commit(t[e],t[e-2],t[e-4],"");break;case 85:s.commit(t[e],t[e-4],t[e-2],"");break;case 86:s.commit(t[e-2],t[e-4],t[e],"");break;case 87:s.commit(t[e-4],t[e],s.commitType.NORMAL,t[e-2]);break;case 88:s.commit(t[e-4],t[e-2],s.commitType.NORMAL,t[e]);break;case 89:s.commit(t[e-2],t[e],s.commitType.NORMAL,t[e-4]);break;case 90:s.commit(t[e],t[e-2],s.commitType.NORMAL,t[e-4]);break;case 91:s.commit(t[e],t[e-4],s.commitType.NORMAL,t[e-2]);break;case 92:s.commit(t[e-2],t[e-4],s.commitType.NORMAL,t[e]);break;case 93:s.commit(t[e-6],t[e-4],t[e-2],t[e]);break;case 94:s.commit(t[e-6],t[e-4],t[e],t[e-2]);break;case 95:s.commit(t[e-6],t[e-2],t[e-4],t[e]);break;case 96:s.commit(t[e-6],t[e],t[e-4],t[e-2]);break;case 97:s.commit(t[e-6],t[e-2],t[e],t[e-4]);break;case 98:s.commit(t[e-6],t[e],t[e-2],t[e-4]);break;case 99:s.commit(t[e-4],t[e-6],t[e-2],t[e]);break;case 100:s.commit(t[e-4],t[e-6],t[e],t[e-2]);break;case 101:s.commit(t[e-2],t[e-6],t[e-4],t[e]);break;case 102:s.commit(t[e],t[e-6],t[e-4],t[e-2]);break;case 103:s.commit(t[e-2],t[e-6],t[e],t[e-4]);break;case 104:s.commit(t[e],t[e-6],t[e-2],t[e-4]);break;case 105:s.commit(t[e],t[e-4],t[e-2],t[e-6]);break;case 106:s.commit(t[e-2],t[e-4],t[e],t[e-6]);break;case 107:s.commit(t[e],t[e-2],t[e-4],t[e-6]);break;case 108:s.commit(t[e-2],t[e],t[e-4],t[e-6]);break;case 109:s.commit(t[e-4],t[e-2],t[e],t[e-6]);break;case 110:s.commit(t[e-4],t[e],t[e-2],t[e-6]);break;case 111:s.commit(t[e-2],t[e-4],t[e-6],t[e]);break;case 112:s.commit(t[e],t[e-4],t[e-6],t[e-2]);break;case 113:s.commit(t[e-2],t[e],t[e-6],t[e-4]);break;case 114:s.commit(t[e],t[e-2],t[e-6],t[e-4]);break;case 115:s.commit(t[e-4],t[e-2],t[e-6],t[e]);break;case 116:s.commit(t[e-4],t[e],t[e-6],t[e-2]);break;case 117:this.$="";break;case 118:this.$=t[e];break;case 119:this.$=s.commitType.NORMAL;break;case 120:this.$=s.commitType.REVERSE;break;case 121:this.$=s.commitType.HIGHLIGHT;break}},table:[{3:1,4:2,5:n,7:l,13:h,47:i},{1:[3]},{3:7,4:2,5:n,7:l,13:h,47:i},{6:8,7:c,8:[1,9],9:[1,10],10:11,13:p},r(m,[2,124]),r(m,[2,125]),r(m,[2,126]),{1:[2,1]},{7:[1,13]},{6:14,7:c,10:11,13:p},{8:[1,15]},r(x,[2,9],{11:16,12:[1,17]}),r(y,[2,8]),{1:[2,2]},{7:[1,18]},{6:19,7:c,10:11,13:p},{7:[2,6],13:[1,22],14:20,15:21,16:23,17:24,18:25,19:[1,26],21:[1,27],23:[1,28],24:[1,29],25:30,26:[1,31],28:[1,35],31:[1,34],37:[1,33],40:[1,32]},r(y,[2,7]),{1:[2,3]},{7:[1,36]},r(x,[2,10]),{4:37,7:l,13:h,47:i},r(x,[2,12]),r(a,[2,13]),r(a,[2,14]),r(a,[2,15]),{20:[1,38]},{22:[1,39]},r(a,[2,18]),r(a,[2,19]),r(a,[2,20]),{27:40,33:R,46:_},r(a,[2,117],{41:43,32:[1,46],33:[1,48],35:[1,44],38:[1,45],42:[1,47]}),{27:49,33:R,46:_},{32:[1,50],35:[1,51]},{27:52,33:R,46:_},{1:[2,4]},r(x,[2,11]),r(a,[2,16]),r(a,[2,17]),r(a,[2,21]),r(b,[2,122]),r(b,[2,123]),r(a,[2,52]),{33:[1,53]},{39:54,43:f,44:k,45:g},{33:[1,58]},{33:[1,59]},r(a,[2,118]),r(a,[2,36],{32:[1,60],35:[1,62],38:[1,61]}),{33:[1,63]},{33:[1,64],36:[1,65]},r(a,[2,22],{29:[1,66]}),r(a,[2,53],{32:[1,68],38:[1,67],42:[1,69]}),r(a,[2,54],{32:[1,71],35:[1,70],42:[1,72]}),r(E,[2,119]),r(E,[2,120]),r(E,[2,121]),r(a,[2,57],{35:[1,73],38:[1,74],42:[1,75]}),r(a,[2,68],{32:[1,78],35:[1,76],38:[1,77]}),{33:[1,79]},{39:80,43:f,44:k,45:g},{33:[1,81]},r(a,[2,24],{34:[1,82],35:[1,83]}),{32:[1,84]},{32:[1,85]},{30:[1,86]},{39:87,43:f,44:k,45:g},{33:[1,88]},{33:[1,89]},{33:[1,90]},{33:[1,91]},{33:[1,92]},{33:[1,93]},{39:94,43:f,44:k,45:g},{33:[1,95]},{33:[1,96]},{39:97,43:f,44:k,45:g},{33:[1,98]},r(a,[2,37],{35:[1,100],38:[1,99]}),r(a,[2,38],{32:[1,102],35:[1,101]}),r(a,[2,39],{32:[1,103],38:[1,104]}),{33:[1,105]},{33:[1,106],36:[1,107]},{33:[1,108]},{33:[1,109]},r(a,[2,23]),r(a,[2,55],{32:[1,110],42:[1,111]}),r(a,[2,59],{38:[1,112],42:[1,113]}),r(a,[2,69],{32:[1,115],38:[1,114]}),r(a,[2,56],{32:[1,116],42:[1,117]}),r(a,[2,61],{35:[1,118],42:[1,119]}),r(a,[2,72],{32:[1,121],35:[1,120]}),r(a,[2,58],{38:[1,122],42:[1,123]}),r(a,[2,60],{35:[1,124],42:[1,125]}),r(a,[2,73],{35:[1,127],38:[1,126]}),r(a,[2,70],{32:[1,129],38:[1,128]}),r(a,[2,71],{32:[1,131],35:[1,130]}),r(a,[2,74],{35:[1,133],38:[1,132]}),{39:134,43:f,44:k,45:g},{33:[1,135]},{33:[1,136]},{33:[1,137]},{33:[1,138]},{39:139,43:f,44:k,45:g},r(a,[2,25],{35:[1,140]}),r(a,[2,26],{34:[1,141]}),r(a,[2,31],{34:[1,142]}),r(a,[2,29],{34:[1,143]}),r(a,[2,30],{34:[1,144]}),{33:[1,145]},{33:[1,146]},{39:147,43:f,44:k,45:g},{33:[1,148]},{39:149,43:f,44:k,45:g},{33:[1,150]},{33:[1,151]},{33:[1,152]},{33:[1,153]},{33:[1,154]},{33:[1,155]},{33:[1,156]},{39:157,43:f,44:k,45:g},{33:[1,158]},{33:[1,159]},{33:[1,160]},{39:161,43:f,44:k,45:g},{33:[1,162]},{39:163,43:f,44:k,45:g},{33:[1,164]},{33:[1,165]},{33:[1,166]},{39:167,43:f,44:k,45:g},{33:[1,168]},r(a,[2,43],{35:[1,169]}),r(a,[2,44],{38:[1,170]}),r(a,[2,42],{32:[1,171]}),r(a,[2,45],{35:[1,172]}),r(a,[2,40],{38:[1,173]}),r(a,[2,41],{32:[1,174]}),{33:[1,175],36:[1,176]},{33:[1,177]},{33:[1,178]},{33:[1,179]},{33:[1,180]},r(a,[2,66],{42:[1,181]}),r(a,[2,79],{32:[1,182]}),r(a,[2,67],{42:[1,183]}),r(a,[2,90],{38:[1,184]}),r(a,[2,80],{32:[1,185]}),r(a,[2,89],{38:[1,186]}),r(a,[2,65],{42:[1,187]}),r(a,[2,78],{32:[1,188]}),r(a,[2,64],{42:[1,189]}),r(a,[2,84],{35:[1,190]}),r(a,[2,77],{32:[1,191]}),r(a,[2,83],{35:[1,192]}),r(a,[2,63],{42:[1,193]}),r(a,[2,91],{38:[1,194]}),r(a,[2,62],{42:[1,195]}),r(a,[2,85],{35:[1,196]}),r(a,[2,86],{35:[1,197]}),r(a,[2,92],{38:[1,198]}),r(a,[2,76],{32:[1,199]}),r(a,[2,87],{38:[1,200]}),r(a,[2,75],{32:[1,201]}),r(a,[2,81],{35:[1,202]}),r(a,[2,82],{35:[1,203]}),r(a,[2,88],{38:[1,204]}),{33:[1,205]},{39:206,43:f,44:k,45:g},{33:[1,207]},{33:[1,208]},{39:209,43:f,44:k,45:g},{33:[1,210]},r(a,[2,27]),r(a,[2,32]),r(a,[2,28]),r(a,[2,33]),r(a,[2,34]),r(a,[2,35]),{33:[1,211]},{33:[1,212]},{33:[1,213]},{39:214,43:f,44:k,45:g},{33:[1,215]},{39:216,43:f,44:k,45:g},{33:[1,217]},{33:[1,218]},{33:[1,219]},{33:[1,220]},{33:[1,221]},{33:[1,222]},{33:[1,223]},{39:224,43:f,44:k,45:g},{33:[1,225]},{33:[1,226]},{33:[1,227]},{39:228,43:f,44:k,45:g},{33:[1,229]},{39:230,43:f,44:k,45:g},{33:[1,231]},{33:[1,232]},{33:[1,233]},{39:234,43:f,44:k,45:g},r(a,[2,46]),r(a,[2,48]),r(a,[2,47]),r(a,[2,49]),r(a,[2,51]),r(a,[2,50]),r(a,[2,107]),r(a,[2,108]),r(a,[2,105]),r(a,[2,106]),r(a,[2,110]),r(a,[2,109]),r(a,[2,114]),r(a,[2,113]),r(a,[2,112]),r(a,[2,111]),r(a,[2,116]),r(a,[2,115]),r(a,[2,104]),r(a,[2,103]),r(a,[2,102]),r(a,[2,101]),r(a,[2,99]),r(a,[2,100]),r(a,[2,98]),r(a,[2,97]),r(a,[2,96]),r(a,[2,95]),r(a,[2,93]),r(a,[2,94])],defaultActions:{7:[2,1],13:[2,2],18:[2,3],36:[2,4]},parseError:function(o,u){if(u.recoverable)this.trace(o);else{var d=new Error(o);throw d.hash=u,d}},parse:function(o){var u=this,d=[0],s=[],T=[null],t=[],X=this.table,e="",rt=0,ft=0,wt=2,pt=1,Lt=t.slice.call(arguments,1),O=Object.create(this.lexer),F={yy:{}};for(var ct in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ct)&&(F.yy[ct]=this.yy[ct]);O.setInput(o,F.yy),F.yy.lexer=O,F.yy.parser=this,typeof O.yylloc>"u"&&(O.yylloc={});var ot=O.yylloc;t.push(ot);var Rt=O.options&&O.options.ranges;typeof F.yy.parseError=="function"?this.parseError=F.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Mt(){var q;return q=s.pop()||O.lex()||pt,typeof q!="number"&&(q instanceof Array&&(s=q,q=s.pop()),q=u.symbols_[q]||q),q}for(var N,K,V,lt,J={},it,j,bt,st;;){if(K=d[d.length-1],this.defaultActions[K]?V=this.defaultActions[K]:((N===null||typeof N>"u")&&(N=Mt()),V=X[K]&&X[K][N]),typeof V>"u"||!V.length||!V[0]){var ht="";st=[];for(it in X[K])this.terminals_[it]&&it>wt&&st.push("'"+this.terminals_[it]+"'");O.showPosition?ht="Parse error on line "+(rt+1)+`: +import{c as C,s as vt,g as Ct,a as Ot,b as Pt,x as At,y as Gt,l as B,j as D,A as St,h as It,z as Nt,at as Ht,au as Bt}from"./mermaid.core-C-ipfzeP.js";import"./app-jADuhdjP.js";var mt=function(){var r=function(G,o,u,d){for(u=u||{},d=G.length;d--;u[G[d]]=o);return u},n=[1,3],l=[1,6],h=[1,4],i=[1,5],c=[2,5],p=[1,12],m=[5,7,13,19,21,23,24,26,28,31,37,40,47],x=[7,13,19,21,23,24,26,28,31,37,40],y=[7,12,13,19,21,23,24,26,28,31,37,40],a=[7,13,47],R=[1,42],_=[1,41],b=[7,13,29,32,35,38,47],f=[1,55],k=[1,56],g=[1,57],E=[7,13,32,35,42,47],z={trace:function(){},yy:{},symbols_:{error:2,start:3,eol:4,GG:5,document:6,EOF:7,":":8,DIR:9,options:10,body:11,OPT:12,NL:13,line:14,statement:15,commitStatement:16,mergeStatement:17,cherryPickStatement:18,acc_title:19,acc_title_value:20,acc_descr:21,acc_descr_value:22,acc_descr_multiline_value:23,section:24,branchStatement:25,CHECKOUT:26,ref:27,BRANCH:28,ORDER:29,NUM:30,CHERRY_PICK:31,COMMIT_ID:32,STR:33,PARENT_COMMIT:34,COMMIT_TAG:35,EMPTYSTR:36,MERGE:37,COMMIT_TYPE:38,commitType:39,COMMIT:40,commit_arg:41,COMMIT_MSG:42,NORMAL:43,REVERSE:44,HIGHLIGHT:45,ID:46,";":47,$accept:0,$end:1},terminals_:{2:"error",5:"GG",7:"EOF",8:":",9:"DIR",12:"OPT",13:"NL",19:"acc_title",20:"acc_title_value",21:"acc_descr",22:"acc_descr_value",23:"acc_descr_multiline_value",24:"section",26:"CHECKOUT",28:"BRANCH",29:"ORDER",30:"NUM",31:"CHERRY_PICK",32:"COMMIT_ID",33:"STR",34:"PARENT_COMMIT",35:"COMMIT_TAG",36:"EMPTYSTR",37:"MERGE",38:"COMMIT_TYPE",40:"COMMIT",42:"COMMIT_MSG",43:"NORMAL",44:"REVERSE",45:"HIGHLIGHT",46:"ID",47:";"},productions_:[0,[3,2],[3,3],[3,4],[3,5],[6,0],[6,2],[10,2],[10,1],[11,0],[11,2],[14,2],[14,1],[15,1],[15,1],[15,1],[15,2],[15,2],[15,1],[15,1],[15,1],[15,2],[25,2],[25,4],[18,3],[18,5],[18,5],[18,7],[18,7],[18,5],[18,5],[18,5],[18,7],[18,7],[18,7],[18,7],[17,2],[17,4],[17,4],[17,4],[17,6],[17,6],[17,6],[17,6],[17,6],[17,6],[17,8],[17,8],[17,8],[17,8],[17,8],[17,8],[16,2],[16,3],[16,3],[16,5],[16,5],[16,3],[16,5],[16,5],[16,5],[16,5],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,3],[16,5],[16,5],[16,5],[16,5],[16,5],[16,5],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[41,0],[41,1],[39,1],[39,1],[39,1],[27,1],[27,1],[4,1],[4,1],[4,1]],performAction:function(o,u,d,s,T,t,X){var e=t.length-1;switch(T){case 2:return t[e];case 3:return t[e-1];case 4:return s.setDirection(t[e-3]),t[e-1];case 6:s.setOptions(t[e-1]),this.$=t[e];break;case 7:t[e-1]+=t[e],this.$=t[e-1];break;case 9:this.$=[];break;case 10:t[e-1].push(t[e]),this.$=t[e-1];break;case 11:this.$=t[e-1];break;case 16:this.$=t[e].trim(),s.setAccTitle(this.$);break;case 17:case 18:this.$=t[e].trim(),s.setAccDescription(this.$);break;case 19:s.addSection(t[e].substr(8)),this.$=t[e].substr(8);break;case 21:s.checkout(t[e]);break;case 22:s.branch(t[e]);break;case 23:s.branch(t[e-2],t[e]);break;case 24:s.cherryPick(t[e],"",void 0);break;case 25:s.cherryPick(t[e-2],"",void 0,t[e]);break;case 26:s.cherryPick(t[e-2],"",t[e]);break;case 27:s.cherryPick(t[e-4],"",t[e],t[e-2]);break;case 28:s.cherryPick(t[e-4],"",t[e-2],t[e]);break;case 29:s.cherryPick(t[e],"",t[e-2]);break;case 30:s.cherryPick(t[e],"","");break;case 31:s.cherryPick(t[e-2],"","");break;case 32:s.cherryPick(t[e-4],"","",t[e-2]);break;case 33:s.cherryPick(t[e-4],"","",t[e]);break;case 34:s.cherryPick(t[e-2],"",t[e-4],t[e]);break;case 35:s.cherryPick(t[e-2],"","",t[e]);break;case 36:s.merge(t[e],"","","");break;case 37:s.merge(t[e-2],t[e],"","");break;case 38:s.merge(t[e-2],"",t[e],"");break;case 39:s.merge(t[e-2],"","",t[e]);break;case 40:s.merge(t[e-4],t[e],"",t[e-2]);break;case 41:s.merge(t[e-4],"",t[e],t[e-2]);break;case 42:s.merge(t[e-4],"",t[e-2],t[e]);break;case 43:s.merge(t[e-4],t[e-2],t[e],"");break;case 44:s.merge(t[e-4],t[e-2],"",t[e]);break;case 45:s.merge(t[e-4],t[e],t[e-2],"");break;case 46:s.merge(t[e-6],t[e-4],t[e-2],t[e]);break;case 47:s.merge(t[e-6],t[e],t[e-4],t[e-2]);break;case 48:s.merge(t[e-6],t[e-4],t[e],t[e-2]);break;case 49:s.merge(t[e-6],t[e-2],t[e-4],t[e]);break;case 50:s.merge(t[e-6],t[e],t[e-2],t[e-4]);break;case 51:s.merge(t[e-6],t[e-2],t[e],t[e-4]);break;case 52:s.commit(t[e]);break;case 53:s.commit("","",s.commitType.NORMAL,t[e]);break;case 54:s.commit("","",t[e],"");break;case 55:s.commit("","",t[e],t[e-2]);break;case 56:s.commit("","",t[e-2],t[e]);break;case 57:s.commit("",t[e],s.commitType.NORMAL,"");break;case 58:s.commit("",t[e-2],s.commitType.NORMAL,t[e]);break;case 59:s.commit("",t[e],s.commitType.NORMAL,t[e-2]);break;case 60:s.commit("",t[e-2],t[e],"");break;case 61:s.commit("",t[e],t[e-2],"");break;case 62:s.commit("",t[e-4],t[e-2],t[e]);break;case 63:s.commit("",t[e-4],t[e],t[e-2]);break;case 64:s.commit("",t[e-2],t[e-4],t[e]);break;case 65:s.commit("",t[e],t[e-4],t[e-2]);break;case 66:s.commit("",t[e],t[e-2],t[e-4]);break;case 67:s.commit("",t[e-2],t[e],t[e-4]);break;case 68:s.commit(t[e],"",s.commitType.NORMAL,"");break;case 69:s.commit(t[e],"",s.commitType.NORMAL,t[e-2]);break;case 70:s.commit(t[e-2],"",s.commitType.NORMAL,t[e]);break;case 71:s.commit(t[e-2],"",t[e],"");break;case 72:s.commit(t[e],"",t[e-2],"");break;case 73:s.commit(t[e],t[e-2],s.commitType.NORMAL,"");break;case 74:s.commit(t[e-2],t[e],s.commitType.NORMAL,"");break;case 75:s.commit(t[e-4],"",t[e-2],t[e]);break;case 76:s.commit(t[e-4],"",t[e],t[e-2]);break;case 77:s.commit(t[e-2],"",t[e-4],t[e]);break;case 78:s.commit(t[e],"",t[e-4],t[e-2]);break;case 79:s.commit(t[e],"",t[e-2],t[e-4]);break;case 80:s.commit(t[e-2],"",t[e],t[e-4]);break;case 81:s.commit(t[e-4],t[e],t[e-2],"");break;case 82:s.commit(t[e-4],t[e-2],t[e],"");break;case 83:s.commit(t[e-2],t[e],t[e-4],"");break;case 84:s.commit(t[e],t[e-2],t[e-4],"");break;case 85:s.commit(t[e],t[e-4],t[e-2],"");break;case 86:s.commit(t[e-2],t[e-4],t[e],"");break;case 87:s.commit(t[e-4],t[e],s.commitType.NORMAL,t[e-2]);break;case 88:s.commit(t[e-4],t[e-2],s.commitType.NORMAL,t[e]);break;case 89:s.commit(t[e-2],t[e],s.commitType.NORMAL,t[e-4]);break;case 90:s.commit(t[e],t[e-2],s.commitType.NORMAL,t[e-4]);break;case 91:s.commit(t[e],t[e-4],s.commitType.NORMAL,t[e-2]);break;case 92:s.commit(t[e-2],t[e-4],s.commitType.NORMAL,t[e]);break;case 93:s.commit(t[e-6],t[e-4],t[e-2],t[e]);break;case 94:s.commit(t[e-6],t[e-4],t[e],t[e-2]);break;case 95:s.commit(t[e-6],t[e-2],t[e-4],t[e]);break;case 96:s.commit(t[e-6],t[e],t[e-4],t[e-2]);break;case 97:s.commit(t[e-6],t[e-2],t[e],t[e-4]);break;case 98:s.commit(t[e-6],t[e],t[e-2],t[e-4]);break;case 99:s.commit(t[e-4],t[e-6],t[e-2],t[e]);break;case 100:s.commit(t[e-4],t[e-6],t[e],t[e-2]);break;case 101:s.commit(t[e-2],t[e-6],t[e-4],t[e]);break;case 102:s.commit(t[e],t[e-6],t[e-4],t[e-2]);break;case 103:s.commit(t[e-2],t[e-6],t[e],t[e-4]);break;case 104:s.commit(t[e],t[e-6],t[e-2],t[e-4]);break;case 105:s.commit(t[e],t[e-4],t[e-2],t[e-6]);break;case 106:s.commit(t[e-2],t[e-4],t[e],t[e-6]);break;case 107:s.commit(t[e],t[e-2],t[e-4],t[e-6]);break;case 108:s.commit(t[e-2],t[e],t[e-4],t[e-6]);break;case 109:s.commit(t[e-4],t[e-2],t[e],t[e-6]);break;case 110:s.commit(t[e-4],t[e],t[e-2],t[e-6]);break;case 111:s.commit(t[e-2],t[e-4],t[e-6],t[e]);break;case 112:s.commit(t[e],t[e-4],t[e-6],t[e-2]);break;case 113:s.commit(t[e-2],t[e],t[e-6],t[e-4]);break;case 114:s.commit(t[e],t[e-2],t[e-6],t[e-4]);break;case 115:s.commit(t[e-4],t[e-2],t[e-6],t[e]);break;case 116:s.commit(t[e-4],t[e],t[e-6],t[e-2]);break;case 117:this.$="";break;case 118:this.$=t[e];break;case 119:this.$=s.commitType.NORMAL;break;case 120:this.$=s.commitType.REVERSE;break;case 121:this.$=s.commitType.HIGHLIGHT;break}},table:[{3:1,4:2,5:n,7:l,13:h,47:i},{1:[3]},{3:7,4:2,5:n,7:l,13:h,47:i},{6:8,7:c,8:[1,9],9:[1,10],10:11,13:p},r(m,[2,124]),r(m,[2,125]),r(m,[2,126]),{1:[2,1]},{7:[1,13]},{6:14,7:c,10:11,13:p},{8:[1,15]},r(x,[2,9],{11:16,12:[1,17]}),r(y,[2,8]),{1:[2,2]},{7:[1,18]},{6:19,7:c,10:11,13:p},{7:[2,6],13:[1,22],14:20,15:21,16:23,17:24,18:25,19:[1,26],21:[1,27],23:[1,28],24:[1,29],25:30,26:[1,31],28:[1,35],31:[1,34],37:[1,33],40:[1,32]},r(y,[2,7]),{1:[2,3]},{7:[1,36]},r(x,[2,10]),{4:37,7:l,13:h,47:i},r(x,[2,12]),r(a,[2,13]),r(a,[2,14]),r(a,[2,15]),{20:[1,38]},{22:[1,39]},r(a,[2,18]),r(a,[2,19]),r(a,[2,20]),{27:40,33:R,46:_},r(a,[2,117],{41:43,32:[1,46],33:[1,48],35:[1,44],38:[1,45],42:[1,47]}),{27:49,33:R,46:_},{32:[1,50],35:[1,51]},{27:52,33:R,46:_},{1:[2,4]},r(x,[2,11]),r(a,[2,16]),r(a,[2,17]),r(a,[2,21]),r(b,[2,122]),r(b,[2,123]),r(a,[2,52]),{33:[1,53]},{39:54,43:f,44:k,45:g},{33:[1,58]},{33:[1,59]},r(a,[2,118]),r(a,[2,36],{32:[1,60],35:[1,62],38:[1,61]}),{33:[1,63]},{33:[1,64],36:[1,65]},r(a,[2,22],{29:[1,66]}),r(a,[2,53],{32:[1,68],38:[1,67],42:[1,69]}),r(a,[2,54],{32:[1,71],35:[1,70],42:[1,72]}),r(E,[2,119]),r(E,[2,120]),r(E,[2,121]),r(a,[2,57],{35:[1,73],38:[1,74],42:[1,75]}),r(a,[2,68],{32:[1,78],35:[1,76],38:[1,77]}),{33:[1,79]},{39:80,43:f,44:k,45:g},{33:[1,81]},r(a,[2,24],{34:[1,82],35:[1,83]}),{32:[1,84]},{32:[1,85]},{30:[1,86]},{39:87,43:f,44:k,45:g},{33:[1,88]},{33:[1,89]},{33:[1,90]},{33:[1,91]},{33:[1,92]},{33:[1,93]},{39:94,43:f,44:k,45:g},{33:[1,95]},{33:[1,96]},{39:97,43:f,44:k,45:g},{33:[1,98]},r(a,[2,37],{35:[1,100],38:[1,99]}),r(a,[2,38],{32:[1,102],35:[1,101]}),r(a,[2,39],{32:[1,103],38:[1,104]}),{33:[1,105]},{33:[1,106],36:[1,107]},{33:[1,108]},{33:[1,109]},r(a,[2,23]),r(a,[2,55],{32:[1,110],42:[1,111]}),r(a,[2,59],{38:[1,112],42:[1,113]}),r(a,[2,69],{32:[1,115],38:[1,114]}),r(a,[2,56],{32:[1,116],42:[1,117]}),r(a,[2,61],{35:[1,118],42:[1,119]}),r(a,[2,72],{32:[1,121],35:[1,120]}),r(a,[2,58],{38:[1,122],42:[1,123]}),r(a,[2,60],{35:[1,124],42:[1,125]}),r(a,[2,73],{35:[1,127],38:[1,126]}),r(a,[2,70],{32:[1,129],38:[1,128]}),r(a,[2,71],{32:[1,131],35:[1,130]}),r(a,[2,74],{35:[1,133],38:[1,132]}),{39:134,43:f,44:k,45:g},{33:[1,135]},{33:[1,136]},{33:[1,137]},{33:[1,138]},{39:139,43:f,44:k,45:g},r(a,[2,25],{35:[1,140]}),r(a,[2,26],{34:[1,141]}),r(a,[2,31],{34:[1,142]}),r(a,[2,29],{34:[1,143]}),r(a,[2,30],{34:[1,144]}),{33:[1,145]},{33:[1,146]},{39:147,43:f,44:k,45:g},{33:[1,148]},{39:149,43:f,44:k,45:g},{33:[1,150]},{33:[1,151]},{33:[1,152]},{33:[1,153]},{33:[1,154]},{33:[1,155]},{33:[1,156]},{39:157,43:f,44:k,45:g},{33:[1,158]},{33:[1,159]},{33:[1,160]},{39:161,43:f,44:k,45:g},{33:[1,162]},{39:163,43:f,44:k,45:g},{33:[1,164]},{33:[1,165]},{33:[1,166]},{39:167,43:f,44:k,45:g},{33:[1,168]},r(a,[2,43],{35:[1,169]}),r(a,[2,44],{38:[1,170]}),r(a,[2,42],{32:[1,171]}),r(a,[2,45],{35:[1,172]}),r(a,[2,40],{38:[1,173]}),r(a,[2,41],{32:[1,174]}),{33:[1,175],36:[1,176]},{33:[1,177]},{33:[1,178]},{33:[1,179]},{33:[1,180]},r(a,[2,66],{42:[1,181]}),r(a,[2,79],{32:[1,182]}),r(a,[2,67],{42:[1,183]}),r(a,[2,90],{38:[1,184]}),r(a,[2,80],{32:[1,185]}),r(a,[2,89],{38:[1,186]}),r(a,[2,65],{42:[1,187]}),r(a,[2,78],{32:[1,188]}),r(a,[2,64],{42:[1,189]}),r(a,[2,84],{35:[1,190]}),r(a,[2,77],{32:[1,191]}),r(a,[2,83],{35:[1,192]}),r(a,[2,63],{42:[1,193]}),r(a,[2,91],{38:[1,194]}),r(a,[2,62],{42:[1,195]}),r(a,[2,85],{35:[1,196]}),r(a,[2,86],{35:[1,197]}),r(a,[2,92],{38:[1,198]}),r(a,[2,76],{32:[1,199]}),r(a,[2,87],{38:[1,200]}),r(a,[2,75],{32:[1,201]}),r(a,[2,81],{35:[1,202]}),r(a,[2,82],{35:[1,203]}),r(a,[2,88],{38:[1,204]}),{33:[1,205]},{39:206,43:f,44:k,45:g},{33:[1,207]},{33:[1,208]},{39:209,43:f,44:k,45:g},{33:[1,210]},r(a,[2,27]),r(a,[2,32]),r(a,[2,28]),r(a,[2,33]),r(a,[2,34]),r(a,[2,35]),{33:[1,211]},{33:[1,212]},{33:[1,213]},{39:214,43:f,44:k,45:g},{33:[1,215]},{39:216,43:f,44:k,45:g},{33:[1,217]},{33:[1,218]},{33:[1,219]},{33:[1,220]},{33:[1,221]},{33:[1,222]},{33:[1,223]},{39:224,43:f,44:k,45:g},{33:[1,225]},{33:[1,226]},{33:[1,227]},{39:228,43:f,44:k,45:g},{33:[1,229]},{39:230,43:f,44:k,45:g},{33:[1,231]},{33:[1,232]},{33:[1,233]},{39:234,43:f,44:k,45:g},r(a,[2,46]),r(a,[2,48]),r(a,[2,47]),r(a,[2,49]),r(a,[2,51]),r(a,[2,50]),r(a,[2,107]),r(a,[2,108]),r(a,[2,105]),r(a,[2,106]),r(a,[2,110]),r(a,[2,109]),r(a,[2,114]),r(a,[2,113]),r(a,[2,112]),r(a,[2,111]),r(a,[2,116]),r(a,[2,115]),r(a,[2,104]),r(a,[2,103]),r(a,[2,102]),r(a,[2,101]),r(a,[2,99]),r(a,[2,100]),r(a,[2,98]),r(a,[2,97]),r(a,[2,96]),r(a,[2,95]),r(a,[2,93]),r(a,[2,94])],defaultActions:{7:[2,1],13:[2,2],18:[2,3],36:[2,4]},parseError:function(o,u){if(u.recoverable)this.trace(o);else{var d=new Error(o);throw d.hash=u,d}},parse:function(o){var u=this,d=[0],s=[],T=[null],t=[],X=this.table,e="",rt=0,ft=0,wt=2,pt=1,Lt=t.slice.call(arguments,1),O=Object.create(this.lexer),F={yy:{}};for(var ct in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ct)&&(F.yy[ct]=this.yy[ct]);O.setInput(o,F.yy),F.yy.lexer=O,F.yy.parser=this,typeof O.yylloc>"u"&&(O.yylloc={});var ot=O.yylloc;t.push(ot);var Rt=O.options&&O.options.ranges;typeof F.yy.parseError=="function"?this.parseError=F.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Mt(){var q;return q=s.pop()||O.lex()||pt,typeof q!="number"&&(q instanceof Array&&(s=q,q=s.pop()),q=u.symbols_[q]||q),q}for(var N,K,V,lt,J={},it,j,bt,st;;){if(K=d[d.length-1],this.defaultActions[K]?V=this.defaultActions[K]:((N===null||typeof N>"u")&&(N=Mt()),V=X[K]&&X[K][N]),typeof V>"u"||!V.length||!V[0]){var ht="";st=[];for(it in X[K])this.terminals_[it]&&it>wt&&st.push("'"+this.terminals_[it]+"'");O.showPosition?ht="Parse error on line "+(rt+1)+`: `+O.showPosition()+` Expecting `+st.join(", ")+", got '"+(this.terminals_[N]||N)+"'":ht="Parse error on line "+(rt+1)+": Unexpected "+(N==pt?"end of input":"'"+(this.terminals_[N]||N)+"'"),this.parseError(ht,{text:O.match,token:this.terminals_[N]||N,line:O.yylineno,loc:ot,expected:st})}if(V[0]instanceof Array&&V.length>1)throw new Error("Parse Error: multiple actions possible at state: "+K+", token: "+N);switch(V[0]){case 1:d.push(N),T.push(O.yytext),t.push(O.yylloc),d.push(V[1]),N=null,ft=O.yyleng,e=O.yytext,rt=O.yylineno,ot=O.yylloc;break;case 2:if(j=this.productions_[V[1]][1],J.$=T[T.length-j],J._$={first_line:t[t.length-(j||1)].first_line,last_line:t[t.length-1].last_line,first_column:t[t.length-(j||1)].first_column,last_column:t[t.length-1].last_column},Rt&&(J._$.range=[t[t.length-(j||1)].range[0],t[t.length-1].range[1]]),lt=this.performAction.apply(J,[e,ft,rt,F.yy,V[1],T,t].concat(Lt)),typeof lt<"u")return lt;j&&(d=d.slice(0,-1*j*2),T=T.slice(0,-1*j),t=t.slice(0,-1*j)),d.push(this.productions_[V[1]][0]),T.push(J.$),t.push(J._$),bt=X[d[d.length-2]][d[d.length-1]],d.push(bt);break;case 3:return!0}}return!0}},M=function(){var G={EOF:1,parseError:function(u,d){if(this.yy.parser)this.yy.parser.parseError(u,d);else throw new Error(u)},setInput:function(o,u){return this.yy=u||this.yy||{},this._input=o,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var o=this._input[0];this.yytext+=o,this.yyleng++,this.offset++,this.match+=o,this.matched+=o;var u=o.match(/(?:\r\n?|\n).*/g);return u?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),o},unput:function(o){var u=o.length,d=o.split(/(?:\r\n?|\n)/g);this._input=o+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-u),this.offset-=u;var s=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),d.length-1&&(this.yylineno-=d.length-1);var T=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:d?(d.length===s.length?this.yylloc.first_column:0)+s[s.length-d.length].length-d[0].length:this.yylloc.first_column-u},this.options.ranges&&(this.yylloc.range=[T[0],T[0]+this.yyleng-u]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(o){this.unput(this.match.slice(o))},pastInput:function(){var o=this.matched.substr(0,this.matched.length-this.match.length);return(o.length>20?"...":"")+o.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var o=this.match;return o.length<20&&(o+=this._input.substr(0,20-o.length)),(o.substr(0,20)+(o.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var o=this.pastInput(),u=new Array(o.length+1).join("-");return o+this.upcomingInput()+` diff --git a/assets/graph-GEpVUbdH.js b/assets/graph-BqpiDEwF.js similarity index 99% rename from assets/graph-GEpVUbdH.js rename to assets/graph-BqpiDEwF.js index 2ffc24f..99e71a7 100644 --- a/assets/graph-GEpVUbdH.js +++ b/assets/graph-BqpiDEwF.js @@ -1 +1 @@ -import{B as I,C as qe,S as O,D as A,E as Te,F as Xe,G as Je,H as Qe,I as Ee,J as G,K as X,L as We,M as Oe,N as ze,O as C,P as R,Q as we,R as me,T as Ve,U as Z,V as ke,W as en,X as P,Y as nn,Z as rn,_ as tn,$ as re,a0 as sn,a1 as an,a2 as un,a3 as ve,a4 as fn,a5 as B,a6 as on,a7 as dn,a8 as M,a9 as te,aa as ie}from"./mermaid.core-DtSoU78u.js";var hn="[object Symbol]";function J(e){return typeof e=="symbol"||I(e)&&qe(e)==hn}function $e(e,n){for(var r=-1,t=e==null?0:e.length,i=Array(t);++r-1}function T(e){return Te(e)?Xe(e):Je(e)}var yn=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Tn=/^\w*$/;function Q(e,n){if(A(e))return!1;var r=typeof e;return r=="number"||r=="symbol"||r=="boolean"||e==null||J(e)?!0:Tn.test(e)||!yn.test(e)||n!=null&&e in Object(n)}var En=500;function On(e){var n=Qe(e,function(t){return r.size===En&&r.clear(),t}),r=n.cache;return n}var wn=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,mn=/\\(\\)?/g,vn=On(function(e){var n=[];return e.charCodeAt(0)===46&&n.push(""),e.replace(wn,function(r,t,i,s){n.push(i?s.replace(mn,"$1"):t||r)}),n});function $n(e){return e==null?"":Le(e)}function Ie(e,n){return A(e)?e:Q(e,n)?[e]:vn($n(e))}var Ln=1/0;function U(e){if(typeof e=="string"||J(e))return e;var n=e+"";return n=="0"&&1/e==-Ln?"-0":n}function Ce(e,n){n=Ie(n,e);for(var r=0,t=n.length;e!=null&&r0&&r(u)?n>1?Se(u,n-1,r,t,i):W(i,u):t||(i[i.length]=u)}return i}function Cn(e,n,r,t){var i=-1,s=e==null?0:e.length;for(t&&s&&(r=e[++i]);++iu))return!1;var g=s.get(e),l=s.get(n);if(g&&l)return g==n&&l==e;var o=-1,d=!0,y=r&Qr?new S:void 0;for(s.set(e,n),s.set(n,e);++o=Zt){var g=n?null:Yt(e);if(g)return V(g);a=!1,i=Ue,f=new S}else f=n?[]:u;e:for(;++t1?i.setNode(s,r):i.setNode(s)}),this}setNode(n,r){return E(this._nodes,n)?(arguments.length>1&&(this._nodes[n]=r),this):(this._nodes[n]=arguments.length>1?r:this._defaultNodeLabelFn(n),this._isCompound&&(this._parent[n]=v,this._children[n]={},this._children[v][n]=!0),this._in[n]={},this._preds[n]={},this._out[n]={},this._sucs[n]={},++this._nodeCount,this)}node(n){return this._nodes[n]}hasNode(n){return E(this._nodes,n)}removeNode(n){var r=this;if(E(this._nodes,n)){var t=function(i){r.removeEdge(r._edgeObjs[i])};delete this._nodes[n],this._isCompound&&(this._removeFromParentsChildList(n),delete this._parent[n],m(this.children(n),function(i){r.setParent(i)}),delete this._children[n]),m(T(this._in[n]),t),delete this._in[n],delete this._preds[n],m(T(this._out[n]),t),delete this._out[n],delete this._sucs[n],--this._nodeCount}return this}setParent(n,r){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if($(r))r=v;else{r+="";for(var t=r;!$(t);t=this.parent(t))if(t===n)throw new Error("Setting "+r+" as parent of "+n+" would create a cycle");this.setNode(r)}return this.setNode(n),this._removeFromParentsChildList(n),this._parent[n]=r,this._children[r][n]=!0,this}_removeFromParentsChildList(n){delete this._children[this._parent[n]][n]}parent(n){if(this._isCompound){var r=this._parent[n];if(r!==v)return r}}children(n){if($(n)&&(n=v),this._isCompound){var r=this._children[n];if(r)return T(r)}else{if(n===v)return this.nodes();if(this.hasNode(n))return[]}}predecessors(n){var r=this._preds[n];if(r)return T(r)}successors(n){var r=this._sucs[n];if(r)return T(r)}neighbors(n){var r=this.predecessors(n);if(r)return Xt(r,this.successors(n))}isLeaf(n){var r;return this.isDirected()?r=this.successors(n):r=this.neighbors(n),r.length===0}filterNodes(n){var r=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});r.setGraph(this.graph());var t=this;m(this._nodes,function(a,u){n(u)&&r.setNode(u,a)}),m(this._edgeObjs,function(a){r.hasNode(a.v)&&r.hasNode(a.w)&&r.setEdge(a,t.edge(a))});var i={};function s(a){var u=t.parent(a);return u===void 0||r.hasNode(u)?(i[a]=u,u):u in i?i[u]:s(u)}return this._isCompound&&m(r.nodes(),function(a){r.setParent(a,s(a))}),r}setDefaultEdgeLabel(n){return te(n)||(n=M(n)),this._defaultEdgeLabelFn=n,this}edgeCount(){return this._edgeCount}edges(){return H(this._edgeObjs)}setPath(n,r){var t=this,i=arguments;return Kt(n,function(s,a){return i.length>1?t.setEdge(s,a,r):t.setEdge(s,a),a}),this}setEdge(){var n,r,t,i,s=!1,a=arguments[0];typeof a=="object"&&a!==null&&"v"in a?(n=a.v,r=a.w,t=a.name,arguments.length===2&&(i=arguments[1],s=!0)):(n=a,r=arguments[1],t=arguments[3],arguments.length>2&&(i=arguments[2],s=!0)),n=""+n,r=""+r,$(t)||(t=""+t);var u=L(this._isDirected,n,r,t);if(E(this._edgeLabels,u))return s&&(this._edgeLabels[u]=i),this;if(!$(t)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(n),this.setNode(r),this._edgeLabels[u]=s?i:this._defaultEdgeLabelFn(n,r,t);var f=Qt(this._isDirected,n,r,t);return n=f.v,r=f.w,Object.freeze(f),this._edgeObjs[u]=f,Ae(this._preds[r],n),Ae(this._sucs[n],r),this._in[r][u]=f,this._out[n][u]=f,this._edgeCount++,this}edge(n,r,t){var i=arguments.length===1?Y(this._isDirected,arguments[0]):L(this._isDirected,n,r,t);return this._edgeLabels[i]}hasEdge(n,r,t){var i=arguments.length===1?Y(this._isDirected,arguments[0]):L(this._isDirected,n,r,t);return E(this._edgeLabels,i)}removeEdge(n,r,t){var i=arguments.length===1?Y(this._isDirected,arguments[0]):L(this._isDirected,n,r,t),s=this._edgeObjs[i];return s&&(n=s.v,r=s.w,delete this._edgeLabels[i],delete this._edgeObjs[i],ye(this._preds[r],n),ye(this._sucs[n],r),delete this._in[r][i],delete this._out[n][i],this._edgeCount--),this}inEdges(n,r){var t=this._in[n];if(t){var i=H(t);return r?D(i,function(s){return s.v===r}):i}}outEdges(n,r){var t=this._out[n];if(t){var i=H(t);return r?D(i,function(s){return s.w===r}):i}}nodeEdges(n,r){var t=this.inEdges(n,r);if(t)return t.concat(this.outEdges(n,r))}}Ze.prototype._nodeCount=0;Ze.prototype._edgeCount=0;function Ae(e,n){e[n]?e[n]++:e[n]=1}function ye(e,n){--e[n]||delete e[n]}function L(e,n,r,t){var i=""+n,s=""+r;if(!e&&i>s){var a=i;i=s,s=a}return i+be+s+be+($(t)?Jt:t)}function Qt(e,n,r,t){var i=""+n,s=""+r;if(!e&&i>s){var a=i;i=s,s=a}var u={v:i,w:s};return t&&(u.name=t),u}function Y(e,n){return L(e,n.v,n.w,n.name)}export{Ze as G,j as a,Se as b,Ye as c,cn as d,ee as e,m as f,$e as g,E as h,J as i,xt as j,T as k,St as l,Ie as m,Ce as n,mt as o,$n as p,$ as q,D as r,Kt as s,U as t,H as v}; +import{B as I,C as qe,S as O,D as A,E as Te,F as Xe,G as Je,H as Qe,I as Ee,J as G,K as X,L as We,M as Oe,N as ze,O as C,P as R,Q as we,R as me,T as Ve,U as Z,V as ke,W as en,X as P,Y as nn,Z as rn,_ as tn,$ as re,a0 as sn,a1 as an,a2 as un,a3 as ve,a4 as fn,a5 as B,a6 as on,a7 as dn,a8 as M,a9 as te,aa as ie}from"./mermaid.core-C-ipfzeP.js";var hn="[object Symbol]";function J(e){return typeof e=="symbol"||I(e)&&qe(e)==hn}function $e(e,n){for(var r=-1,t=e==null?0:e.length,i=Array(t);++r-1}function T(e){return Te(e)?Xe(e):Je(e)}var yn=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Tn=/^\w*$/;function Q(e,n){if(A(e))return!1;var r=typeof e;return r=="number"||r=="symbol"||r=="boolean"||e==null||J(e)?!0:Tn.test(e)||!yn.test(e)||n!=null&&e in Object(n)}var En=500;function On(e){var n=Qe(e,function(t){return r.size===En&&r.clear(),t}),r=n.cache;return n}var wn=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,mn=/\\(\\)?/g,vn=On(function(e){var n=[];return e.charCodeAt(0)===46&&n.push(""),e.replace(wn,function(r,t,i,s){n.push(i?s.replace(mn,"$1"):t||r)}),n});function $n(e){return e==null?"":Le(e)}function Ie(e,n){return A(e)?e:Q(e,n)?[e]:vn($n(e))}var Ln=1/0;function U(e){if(typeof e=="string"||J(e))return e;var n=e+"";return n=="0"&&1/e==-Ln?"-0":n}function Ce(e,n){n=Ie(n,e);for(var r=0,t=n.length;e!=null&&r0&&r(u)?n>1?Se(u,n-1,r,t,i):W(i,u):t||(i[i.length]=u)}return i}function Cn(e,n,r,t){var i=-1,s=e==null?0:e.length;for(t&&s&&(r=e[++i]);++iu))return!1;var g=s.get(e),l=s.get(n);if(g&&l)return g==n&&l==e;var o=-1,d=!0,y=r&Qr?new S:void 0;for(s.set(e,n),s.set(n,e);++o=Zt){var g=n?null:Yt(e);if(g)return V(g);a=!1,i=Ue,f=new S}else f=n?[]:u;e:for(;++t1?i.setNode(s,r):i.setNode(s)}),this}setNode(n,r){return E(this._nodes,n)?(arguments.length>1&&(this._nodes[n]=r),this):(this._nodes[n]=arguments.length>1?r:this._defaultNodeLabelFn(n),this._isCompound&&(this._parent[n]=v,this._children[n]={},this._children[v][n]=!0),this._in[n]={},this._preds[n]={},this._out[n]={},this._sucs[n]={},++this._nodeCount,this)}node(n){return this._nodes[n]}hasNode(n){return E(this._nodes,n)}removeNode(n){var r=this;if(E(this._nodes,n)){var t=function(i){r.removeEdge(r._edgeObjs[i])};delete this._nodes[n],this._isCompound&&(this._removeFromParentsChildList(n),delete this._parent[n],m(this.children(n),function(i){r.setParent(i)}),delete this._children[n]),m(T(this._in[n]),t),delete this._in[n],delete this._preds[n],m(T(this._out[n]),t),delete this._out[n],delete this._sucs[n],--this._nodeCount}return this}setParent(n,r){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if($(r))r=v;else{r+="";for(var t=r;!$(t);t=this.parent(t))if(t===n)throw new Error("Setting "+r+" as parent of "+n+" would create a cycle");this.setNode(r)}return this.setNode(n),this._removeFromParentsChildList(n),this._parent[n]=r,this._children[r][n]=!0,this}_removeFromParentsChildList(n){delete this._children[this._parent[n]][n]}parent(n){if(this._isCompound){var r=this._parent[n];if(r!==v)return r}}children(n){if($(n)&&(n=v),this._isCompound){var r=this._children[n];if(r)return T(r)}else{if(n===v)return this.nodes();if(this.hasNode(n))return[]}}predecessors(n){var r=this._preds[n];if(r)return T(r)}successors(n){var r=this._sucs[n];if(r)return T(r)}neighbors(n){var r=this.predecessors(n);if(r)return Xt(r,this.successors(n))}isLeaf(n){var r;return this.isDirected()?r=this.successors(n):r=this.neighbors(n),r.length===0}filterNodes(n){var r=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});r.setGraph(this.graph());var t=this;m(this._nodes,function(a,u){n(u)&&r.setNode(u,a)}),m(this._edgeObjs,function(a){r.hasNode(a.v)&&r.hasNode(a.w)&&r.setEdge(a,t.edge(a))});var i={};function s(a){var u=t.parent(a);return u===void 0||r.hasNode(u)?(i[a]=u,u):u in i?i[u]:s(u)}return this._isCompound&&m(r.nodes(),function(a){r.setParent(a,s(a))}),r}setDefaultEdgeLabel(n){return te(n)||(n=M(n)),this._defaultEdgeLabelFn=n,this}edgeCount(){return this._edgeCount}edges(){return H(this._edgeObjs)}setPath(n,r){var t=this,i=arguments;return Kt(n,function(s,a){return i.length>1?t.setEdge(s,a,r):t.setEdge(s,a),a}),this}setEdge(){var n,r,t,i,s=!1,a=arguments[0];typeof a=="object"&&a!==null&&"v"in a?(n=a.v,r=a.w,t=a.name,arguments.length===2&&(i=arguments[1],s=!0)):(n=a,r=arguments[1],t=arguments[3],arguments.length>2&&(i=arguments[2],s=!0)),n=""+n,r=""+r,$(t)||(t=""+t);var u=L(this._isDirected,n,r,t);if(E(this._edgeLabels,u))return s&&(this._edgeLabels[u]=i),this;if(!$(t)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(n),this.setNode(r),this._edgeLabels[u]=s?i:this._defaultEdgeLabelFn(n,r,t);var f=Qt(this._isDirected,n,r,t);return n=f.v,r=f.w,Object.freeze(f),this._edgeObjs[u]=f,Ae(this._preds[r],n),Ae(this._sucs[n],r),this._in[r][u]=f,this._out[n][u]=f,this._edgeCount++,this}edge(n,r,t){var i=arguments.length===1?Y(this._isDirected,arguments[0]):L(this._isDirected,n,r,t);return this._edgeLabels[i]}hasEdge(n,r,t){var i=arguments.length===1?Y(this._isDirected,arguments[0]):L(this._isDirected,n,r,t);return E(this._edgeLabels,i)}removeEdge(n,r,t){var i=arguments.length===1?Y(this._isDirected,arguments[0]):L(this._isDirected,n,r,t),s=this._edgeObjs[i];return s&&(n=s.v,r=s.w,delete this._edgeLabels[i],delete this._edgeObjs[i],ye(this._preds[r],n),ye(this._sucs[n],r),delete this._in[r][i],delete this._out[n][i],this._edgeCount--),this}inEdges(n,r){var t=this._in[n];if(t){var i=H(t);return r?D(i,function(s){return s.v===r}):i}}outEdges(n,r){var t=this._out[n];if(t){var i=H(t);return r?D(i,function(s){return s.w===r}):i}}nodeEdges(n,r){var t=this.inEdges(n,r);if(t)return t.concat(this.outEdges(n,r))}}Ze.prototype._nodeCount=0;Ze.prototype._edgeCount=0;function Ae(e,n){e[n]?e[n]++:e[n]=1}function ye(e,n){--e[n]||delete e[n]}function L(e,n,r,t){var i=""+n,s=""+r;if(!e&&i>s){var a=i;i=s,s=a}return i+be+s+be+($(t)?Jt:t)}function Qt(e,n,r,t){var i=""+n,s=""+r;if(!e&&i>s){var a=i;i=s,s=a}var u={v:i,w:s};return t&&(u.name=t),u}function Y(e,n){return L(e,n.v,n.w,n.name)}export{Ze as G,j as a,Se as b,Ye as c,cn as d,ee as e,m as f,$e as g,E as h,J as i,xt as j,T as k,St as l,Ie as m,Ce as n,mt as o,$n as p,$ as q,D as r,Kt as s,U as t,H as v}; diff --git a/assets/index-fc10efb0-D8efEc6S.js b/assets/index-fc10efb0-CM7qMuFy.js similarity index 96% rename from assets/index-fc10efb0-D8efEc6S.js rename to assets/index-fc10efb0-CM7qMuFy.js index 529d89b..ad96a00 100644 --- a/assets/index-fc10efb0-D8efEc6S.js +++ b/assets/index-fc10efb0-CM7qMuFy.js @@ -1 +1 @@ -import{q as N,G as A}from"./graph-GEpVUbdH.js";import{m as $,l as q}from"./layout-DNn7Y9VF.js";import{c as H}from"./clone-DZIUJmqR.js";import{i as V,u as U,s as W,a as _,b as z,g as D,p as O,c as K,d as Q,e as Y,f as Z,h as J,j as p}from"./edges-d32062c0--RfIKLIO.js";import{l as s,c as T,q as S,h as L}from"./mermaid.core-DtSoU78u.js";import{c as I}from"./createText-6b48ae7d-BQ6Vxn2Q.js";function m(e){var t={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:tt(e),edges:et(e)};return N(e.graph())||(t.value=H(e.graph())),t}function tt(e){return $(e.nodes(),function(t){var n=e.node(t),r=e.parent(t),i={v:t};return N(n)||(i.value=n),N(r)||(i.parent=r),i})}function et(e){return $(e.edges(),function(t){var n=e.edge(t),r={v:t.v,w:t.w};return N(t.name)||(r.name=t.name),N(n)||(r.value=n),r})}let l={},g={},R={};const nt=()=>{g={},R={},l={}},B=(e,t)=>(s.trace("In isDescendant",t," ",e," = ",g[t].includes(e)),!!g[t].includes(e)),it=(e,t)=>(s.info("Descendants of ",t," is ",g[t]),s.info("Edge is ",e),e.v===t||e.w===t?!1:g[t]?g[t].includes(e.v)||B(e.v,t)||B(e.w,t)||g[t].includes(e.w):(s.debug("Tilt, ",t,",not in descendants"),!1)),P=(e,t,n,r)=>{s.warn("Copying children of ",e,"root",r,"data",t.node(e),r);const i=t.children(e)||[];e!==r&&i.push(e),s.warn("Copying (nodes) clusterId",e,"nodes",i),i.forEach(a=>{if(t.children(a).length>0)P(a,t,n,r);else{const d=t.node(a);s.info("cp ",a," to ",r," with parent ",e),n.setNode(a,d),r!==t.parent(a)&&(s.warn("Setting parent",a,t.parent(a)),n.setParent(a,t.parent(a))),e!==r&&a!==e?(s.debug("Setting parent",a,e),n.setParent(a,e)):(s.info("In copy ",e,"root",r,"data",t.node(e),r),s.debug("Not Setting parent for node=",a,"cluster!==rootId",e!==r,"node!==clusterId",a!==e));const u=t.edges(a);s.debug("Copying Edges",u),u.forEach(f=>{s.info("Edge",f);const h=t.edge(f.v,f.w,f.name);s.info("Edge data",h,r);try{it(f,r)?(s.info("Copying as ",f.v,f.w,h,f.name),n.setEdge(f.v,f.w,h,f.name),s.info("newGraph edges ",n.edges(),n.edge(n.edges()[0]))):s.info("Skipping copy of edge ",f.v,"-->",f.w," rootId: ",r," clusterId:",e)}catch(w){s.error(w)}})}s.debug("Removing node",a),t.removeNode(a)})},k=(e,t)=>{const n=t.children(e);let r=[...n];for(const i of n)R[i]=e,r=[...r,...k(i,t)];return r},C=(e,t)=>{s.trace("Searching",e);const n=t.children(e);if(s.trace("Searching children of id ",e,n),n.length<1)return s.trace("This is a valid node",e),e;for(const r of n){const i=C(r,t);if(i)return s.trace("Found replacement for",e," => ",i),i}},X=e=>!l[e]||!l[e].externalConnections?e:l[e]?l[e].id:e,st=(e,t)=>{if(!e||t>10){s.debug("Opting out, no graph ");return}else s.debug("Opting in, graph ");e.nodes().forEach(function(n){e.children(n).length>0&&(s.warn("Cluster identified",n," Replacement id in edges: ",C(n,e)),g[n]=k(n,e),l[n]={id:C(n,e),clusterData:e.node(n)})}),e.nodes().forEach(function(n){const r=e.children(n),i=e.edges();r.length>0?(s.debug("Cluster identified",n,g),i.forEach(a=>{if(a.v!==n&&a.w!==n){const d=B(a.v,n),u=B(a.w,n);d^u&&(s.warn("Edge: ",a," leaves cluster ",n),s.warn("Descendants of XXX ",n,": ",g[n]),l[n].externalConnections=!0)}})):s.debug("Not a cluster ",n,g)});for(let n of Object.keys(l)){const r=l[n].id,i=e.parent(r);i!==n&&l[i]&&!l[i].externalConnections&&(l[n].id=i)}e.edges().forEach(function(n){const r=e.edge(n);s.warn("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(n)),s.warn("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(e.edge(n)));let i=n.v,a=n.w;if(s.warn("Fix XXX",l,"ids:",n.v,n.w,"Translating: ",l[n.v]," --- ",l[n.w]),l[n.v]&&l[n.w]&&l[n.v]===l[n.w]){s.warn("Fixing and trixing link to self - removing XXX",n.v,n.w,n.name),s.warn("Fixing and trixing - removing XXX",n.v,n.w,n.name),i=X(n.v),a=X(n.w),e.removeEdge(n.v,n.w,n.name);const d=n.w+"---"+n.v;e.setNode(d,{domId:d,id:d,labelStyle:"",labelText:r.label,padding:0,shape:"labelRect",style:""});const u=structuredClone(r),f=structuredClone(r);u.label="",u.arrowTypeEnd="none",f.label="",u.fromCluster=n.v,f.toCluster=n.v,e.setEdge(i,d,u,n.name+"-cyclic-special"),e.setEdge(d,a,f,n.name+"-cyclic-special")}else if(l[n.v]||l[n.w]){if(s.warn("Fixing and trixing - removing XXX",n.v,n.w,n.name),i=X(n.v),a=X(n.w),e.removeEdge(n.v,n.w,n.name),i!==n.v){const d=e.parent(i);l[d].externalConnections=!0,r.fromCluster=n.v}if(a!==n.w){const d=e.parent(a);l[d].externalConnections=!0,r.toCluster=n.w}s.warn("Fix Replacing with XXX",i,a,n.name),e.setEdge(i,a,r,n.name)}}),s.warn("Adjusted Graph",m(e)),F(e,0),s.trace(l)},F=(e,t)=>{if(s.warn("extractor - ",t,m(e),e.children("D")),t>10){s.error("Bailing out");return}let n=e.nodes(),r=!1;for(const i of n){const a=e.children(i);r=r||a.length>0}if(!r){s.debug("Done, no node has children",e.nodes());return}s.debug("Nodes = ",n,t);for(const i of n)if(s.debug("Extracting node",i,l,l[i]&&!l[i].externalConnections,!e.parent(i),e.node(i),e.children("D")," Depth ",t),!l[i])s.debug("Not a cluster",i,t);else if(!l[i].externalConnections&&e.children(i)&&e.children(i).length>0){s.warn("Cluster without external connections, without a parent and with children",i,t);let d=e.graph().rankdir==="TB"?"LR":"TB";l[i]&&l[i].clusterData&&l[i].clusterData.dir&&(d=l[i].clusterData.dir,s.warn("Fixing dir",l[i].clusterData.dir,d));const u=new A({multigraph:!0,compound:!0}).setGraph({rankdir:d,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});s.warn("Old graph before copy",m(e)),P(i,e,u,i),e.setNode(i,{clusterNode:!0,id:i,clusterData:l[i].clusterData,labelText:l[i].labelText,graph:u}),s.warn("New graph after copy node: (",i,")",m(u)),s.debug("Old graph after copy",m(e))}else s.warn("Cluster ** ",i," **not meeting the criteria !externalConnections:",!l[i].externalConnections," no parent: ",!e.parent(i)," children ",e.children(i)&&e.children(i).length>0,e.children("D"),t),s.debug(l);n=e.nodes(),s.warn("New list of nodes",n);for(const i of n){const a=e.node(i);s.warn(" Now next level",i,a),a.clusterNode&&F(a.graph,t+1)}},G=(e,t)=>{if(t.length===0)return[];let n=Object.assign(t);return t.forEach(r=>{const i=e.children(r),a=G(e,i);n=[...n,...a]}),n},rt=e=>G(e,e.children()),at=(e,t)=>{s.info("Creating subgraph rect for ",t.id,t);const n=T(),r=e.insert("g").attr("class","cluster"+(t.class?" "+t.class:"")).attr("id",t.id),i=r.insert("rect",":first-child"),a=S(n.flowchart.htmlLabels),d=r.insert("g").attr("class","cluster-label"),u=t.labelType==="markdown"?I(d,t.labelText,{style:t.labelStyle,useHtmlLabels:a}):d.node().appendChild(J(t.labelText,t.labelStyle,void 0,!0));let f=u.getBBox();if(S(n.flowchart.htmlLabels)){const c=u.children[0],o=L(u);f=c.getBoundingClientRect(),o.attr("width",f.width),o.attr("height",f.height)}const h=0*t.padding,w=h/2,x=t.width<=f.width+h?f.width+h:t.width;t.width<=f.width+h?t.diff=(f.width-t.width)/2-t.padding/2:t.diff=-t.padding/2,s.trace("Data ",t,JSON.stringify(t)),i.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("x",t.x-x/2).attr("y",t.y-t.height/2-w).attr("width",x).attr("height",t.height+h);const{subGraphTitleTopMargin:v}=D(n);a?d.attr("transform",`translate(${t.x-f.width/2}, ${t.y-t.height/2+v})`):d.attr("transform",`translate(${t.x}, ${t.y-t.height/2+v})`);const y=i.node().getBBox();return t.width=y.width,t.height=y.height,t.intersect=function(c){return p(t,c)},r},ct=(e,t)=>{const n=e.insert("g").attr("class","note-cluster").attr("id",t.id),r=n.insert("rect",":first-child"),i=0*t.padding,a=i/2;r.attr("rx",t.rx).attr("ry",t.ry).attr("x",t.x-t.width/2-a).attr("y",t.y-t.height/2-a).attr("width",t.width+i).attr("height",t.height+i).attr("fill","none");const d=r.node().getBBox();return t.width=d.width,t.height=d.height,t.intersect=function(u){return p(t,u)},n},ot=(e,t)=>{const n=T(),r=e.insert("g").attr("class",t.classes).attr("id",t.id),i=r.insert("rect",":first-child"),a=r.insert("g").attr("class","cluster-label"),d=r.append("rect"),u=a.node().appendChild(J(t.labelText,t.labelStyle,void 0,!0));let f=u.getBBox();if(S(n.flowchart.htmlLabels)){const c=u.children[0],o=L(u);f=c.getBoundingClientRect(),o.attr("width",f.width),o.attr("height",f.height)}f=u.getBBox();const h=0*t.padding,w=h/2,x=t.width<=f.width+t.padding?f.width+t.padding:t.width;t.width<=f.width+t.padding?t.diff=(f.width+t.padding*0-t.width)/2:t.diff=-t.padding/2,i.attr("class","outer").attr("x",t.x-x/2-w).attr("y",t.y-t.height/2-w).attr("width",x+h).attr("height",t.height+h),d.attr("class","inner").attr("x",t.x-x/2-w).attr("y",t.y-t.height/2-w+f.height-1).attr("width",x+h).attr("height",t.height+h-f.height-3);const{subGraphTitleTopMargin:v}=D(n);a.attr("transform",`translate(${t.x-f.width/2}, ${t.y-t.height/2-t.padding/3+(S(n.flowchart.htmlLabels)?5:3)+v})`);const y=i.node().getBBox();return t.height=y.height,t.intersect=function(c){return p(t,c)},r},lt=(e,t)=>{const n=e.insert("g").attr("class",t.classes).attr("id",t.id),r=n.insert("rect",":first-child"),i=0*t.padding,a=i/2;r.attr("class","divider").attr("x",t.x-t.width/2-a).attr("y",t.y-t.height/2).attr("width",t.width+i).attr("height",t.height+i);const d=r.node().getBBox();return t.width=d.width,t.height=d.height,t.diff=-t.padding/2,t.intersect=function(u){return p(t,u)},n},ft={rect:at,roundedWithTitle:ot,noteGroup:ct,divider:lt};let j={};const dt=(e,t)=>{s.trace("Inserting cluster");const n=t.shape||"rect";j[t.id]=ft[n](e,t)},ut=()=>{j={}},M=async(e,t,n,r,i,a)=>{s.info("Graph in recursive render: XXX",m(t),i);const d=t.graph().rankdir;s.trace("Dir in recursive render - dir:",d);const u=e.insert("g").attr("class","root");t.nodes()?s.info("Recursive render XXX",t.nodes()):s.info("No nodes found for",t),t.edges().length>0&&s.trace("Recursive edges",t.edge(t.edges()[0]));const f=u.insert("g").attr("class","clusters"),h=u.insert("g").attr("class","edgePaths"),w=u.insert("g").attr("class","edgeLabels"),x=u.insert("g").attr("class","nodes");await Promise.all(t.nodes().map(async function(c){const o=t.node(c);if(i!==void 0){const b=JSON.parse(JSON.stringify(i.clusterData));s.info("Setting data for cluster XXX (",c,") ",b,i),t.setNode(i.id,b),t.parent(c)||(s.trace("Setting parent",c,i.id),t.setParent(c,i.id,b))}if(s.info("(Insert) Node XXX"+c+": "+JSON.stringify(t.node(c))),o&&o.clusterNode){s.info("Cluster identified",c,o.width,t.node(c));const b=await M(x,o.graph,n,r,t.node(c),a),E=b.elem;U(o,E),o.diff=b.diff||0,s.info("Node bounds (abc123)",c,o,o.width,o.x,o.y),W(E,o),s.warn("Recursive render complete ",E,o)}else t.children(c).length>0?(s.info("Cluster - the non recursive path XXX",c,o.id,o,t),s.info(C(o.id,t)),l[o.id]={id:C(o.id,t),node:o}):(s.info("Node - the non recursive path",c,o.id,o),await _(x,t.node(c),d))})),t.edges().forEach(function(c){const o=t.edge(c.v,c.w,c.name);s.info("Edge "+c.v+" -> "+c.w+": "+JSON.stringify(c)),s.info("Edge "+c.v+" -> "+c.w+": ",c," ",JSON.stringify(t.edge(c))),s.info("Fix",l,"ids:",c.v,c.w,"Translating: ",l[c.v],l[c.w]),z(w,o)}),t.edges().forEach(function(c){s.info("Edge "+c.v+" -> "+c.w+": "+JSON.stringify(c))}),s.info("#############################################"),s.info("### Layout ###"),s.info("#############################################"),s.info(t),q(t),s.info("Graph after layout:",m(t));let v=0;const{subGraphTitleTotalMargin:y}=D(a);return rt(t).forEach(function(c){const o=t.node(c);s.info("Position "+c+": "+JSON.stringify(t.node(c))),s.info("Position "+c+": ("+o.x,","+o.y,") width: ",o.width," height: ",o.height),o&&o.clusterNode?(o.y+=y,O(o)):t.children(c).length>0?(o.height+=y,dt(f,o),l[o.id].node=o):(o.y+=y/2,O(o))}),t.edges().forEach(function(c){const o=t.edge(c);s.info("Edge "+c.v+" -> "+c.w+": "+JSON.stringify(o),o),o.points.forEach(E=>E.y+=y/2);const b=K(h,c,o,l,n,t,r);Q(o,b)}),t.nodes().forEach(function(c){const o=t.node(c);s.info(c,o.type,o.diff),o.type==="group"&&(v=o.diff)}),{elem:u,diff:v}},bt=async(e,t,n,r,i)=>{V(e,n,r,i),Y(),Z(),ut(),nt(),s.warn("Graph at first:",JSON.stringify(m(t))),st(t),s.warn("Graph after:",JSON.stringify(m(t)));const a=T();await M(e,t,r,i,void 0,a)};export{bt as r}; +import{q as N,G as A}from"./graph-BqpiDEwF.js";import{m as $,l as q}from"./layout-B2i1mAr6.js";import{c as H}from"./clone-DMS6tHY3.js";import{i as V,u as U,s as W,a as _,b as z,g as D,p as O,c as K,d as Q,e as Y,f as Z,h as J,j as p}from"./edges-d32062c0-DS1UiBKj.js";import{l as s,c as T,q as S,h as L}from"./mermaid.core-C-ipfzeP.js";import{c as I}from"./createText-6b48ae7d-CHYbp3CC.js";function m(e){var t={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:tt(e),edges:et(e)};return N(e.graph())||(t.value=H(e.graph())),t}function tt(e){return $(e.nodes(),function(t){var n=e.node(t),r=e.parent(t),i={v:t};return N(n)||(i.value=n),N(r)||(i.parent=r),i})}function et(e){return $(e.edges(),function(t){var n=e.edge(t),r={v:t.v,w:t.w};return N(t.name)||(r.name=t.name),N(n)||(r.value=n),r})}let l={},g={},R={};const nt=()=>{g={},R={},l={}},B=(e,t)=>(s.trace("In isDescendant",t," ",e," = ",g[t].includes(e)),!!g[t].includes(e)),it=(e,t)=>(s.info("Descendants of ",t," is ",g[t]),s.info("Edge is ",e),e.v===t||e.w===t?!1:g[t]?g[t].includes(e.v)||B(e.v,t)||B(e.w,t)||g[t].includes(e.w):(s.debug("Tilt, ",t,",not in descendants"),!1)),P=(e,t,n,r)=>{s.warn("Copying children of ",e,"root",r,"data",t.node(e),r);const i=t.children(e)||[];e!==r&&i.push(e),s.warn("Copying (nodes) clusterId",e,"nodes",i),i.forEach(a=>{if(t.children(a).length>0)P(a,t,n,r);else{const d=t.node(a);s.info("cp ",a," to ",r," with parent ",e),n.setNode(a,d),r!==t.parent(a)&&(s.warn("Setting parent",a,t.parent(a)),n.setParent(a,t.parent(a))),e!==r&&a!==e?(s.debug("Setting parent",a,e),n.setParent(a,e)):(s.info("In copy ",e,"root",r,"data",t.node(e),r),s.debug("Not Setting parent for node=",a,"cluster!==rootId",e!==r,"node!==clusterId",a!==e));const u=t.edges(a);s.debug("Copying Edges",u),u.forEach(f=>{s.info("Edge",f);const h=t.edge(f.v,f.w,f.name);s.info("Edge data",h,r);try{it(f,r)?(s.info("Copying as ",f.v,f.w,h,f.name),n.setEdge(f.v,f.w,h,f.name),s.info("newGraph edges ",n.edges(),n.edge(n.edges()[0]))):s.info("Skipping copy of edge ",f.v,"-->",f.w," rootId: ",r," clusterId:",e)}catch(w){s.error(w)}})}s.debug("Removing node",a),t.removeNode(a)})},k=(e,t)=>{const n=t.children(e);let r=[...n];for(const i of n)R[i]=e,r=[...r,...k(i,t)];return r},C=(e,t)=>{s.trace("Searching",e);const n=t.children(e);if(s.trace("Searching children of id ",e,n),n.length<1)return s.trace("This is a valid node",e),e;for(const r of n){const i=C(r,t);if(i)return s.trace("Found replacement for",e," => ",i),i}},X=e=>!l[e]||!l[e].externalConnections?e:l[e]?l[e].id:e,st=(e,t)=>{if(!e||t>10){s.debug("Opting out, no graph ");return}else s.debug("Opting in, graph ");e.nodes().forEach(function(n){e.children(n).length>0&&(s.warn("Cluster identified",n," Replacement id in edges: ",C(n,e)),g[n]=k(n,e),l[n]={id:C(n,e),clusterData:e.node(n)})}),e.nodes().forEach(function(n){const r=e.children(n),i=e.edges();r.length>0?(s.debug("Cluster identified",n,g),i.forEach(a=>{if(a.v!==n&&a.w!==n){const d=B(a.v,n),u=B(a.w,n);d^u&&(s.warn("Edge: ",a," leaves cluster ",n),s.warn("Descendants of XXX ",n,": ",g[n]),l[n].externalConnections=!0)}})):s.debug("Not a cluster ",n,g)});for(let n of Object.keys(l)){const r=l[n].id,i=e.parent(r);i!==n&&l[i]&&!l[i].externalConnections&&(l[n].id=i)}e.edges().forEach(function(n){const r=e.edge(n);s.warn("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(n)),s.warn("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(e.edge(n)));let i=n.v,a=n.w;if(s.warn("Fix XXX",l,"ids:",n.v,n.w,"Translating: ",l[n.v]," --- ",l[n.w]),l[n.v]&&l[n.w]&&l[n.v]===l[n.w]){s.warn("Fixing and trixing link to self - removing XXX",n.v,n.w,n.name),s.warn("Fixing and trixing - removing XXX",n.v,n.w,n.name),i=X(n.v),a=X(n.w),e.removeEdge(n.v,n.w,n.name);const d=n.w+"---"+n.v;e.setNode(d,{domId:d,id:d,labelStyle:"",labelText:r.label,padding:0,shape:"labelRect",style:""});const u=structuredClone(r),f=structuredClone(r);u.label="",u.arrowTypeEnd="none",f.label="",u.fromCluster=n.v,f.toCluster=n.v,e.setEdge(i,d,u,n.name+"-cyclic-special"),e.setEdge(d,a,f,n.name+"-cyclic-special")}else if(l[n.v]||l[n.w]){if(s.warn("Fixing and trixing - removing XXX",n.v,n.w,n.name),i=X(n.v),a=X(n.w),e.removeEdge(n.v,n.w,n.name),i!==n.v){const d=e.parent(i);l[d].externalConnections=!0,r.fromCluster=n.v}if(a!==n.w){const d=e.parent(a);l[d].externalConnections=!0,r.toCluster=n.w}s.warn("Fix Replacing with XXX",i,a,n.name),e.setEdge(i,a,r,n.name)}}),s.warn("Adjusted Graph",m(e)),F(e,0),s.trace(l)},F=(e,t)=>{if(s.warn("extractor - ",t,m(e),e.children("D")),t>10){s.error("Bailing out");return}let n=e.nodes(),r=!1;for(const i of n){const a=e.children(i);r=r||a.length>0}if(!r){s.debug("Done, no node has children",e.nodes());return}s.debug("Nodes = ",n,t);for(const i of n)if(s.debug("Extracting node",i,l,l[i]&&!l[i].externalConnections,!e.parent(i),e.node(i),e.children("D")," Depth ",t),!l[i])s.debug("Not a cluster",i,t);else if(!l[i].externalConnections&&e.children(i)&&e.children(i).length>0){s.warn("Cluster without external connections, without a parent and with children",i,t);let d=e.graph().rankdir==="TB"?"LR":"TB";l[i]&&l[i].clusterData&&l[i].clusterData.dir&&(d=l[i].clusterData.dir,s.warn("Fixing dir",l[i].clusterData.dir,d));const u=new A({multigraph:!0,compound:!0}).setGraph({rankdir:d,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});s.warn("Old graph before copy",m(e)),P(i,e,u,i),e.setNode(i,{clusterNode:!0,id:i,clusterData:l[i].clusterData,labelText:l[i].labelText,graph:u}),s.warn("New graph after copy node: (",i,")",m(u)),s.debug("Old graph after copy",m(e))}else s.warn("Cluster ** ",i," **not meeting the criteria !externalConnections:",!l[i].externalConnections," no parent: ",!e.parent(i)," children ",e.children(i)&&e.children(i).length>0,e.children("D"),t),s.debug(l);n=e.nodes(),s.warn("New list of nodes",n);for(const i of n){const a=e.node(i);s.warn(" Now next level",i,a),a.clusterNode&&F(a.graph,t+1)}},G=(e,t)=>{if(t.length===0)return[];let n=Object.assign(t);return t.forEach(r=>{const i=e.children(r),a=G(e,i);n=[...n,...a]}),n},rt=e=>G(e,e.children()),at=(e,t)=>{s.info("Creating subgraph rect for ",t.id,t);const n=T(),r=e.insert("g").attr("class","cluster"+(t.class?" "+t.class:"")).attr("id",t.id),i=r.insert("rect",":first-child"),a=S(n.flowchart.htmlLabels),d=r.insert("g").attr("class","cluster-label"),u=t.labelType==="markdown"?I(d,t.labelText,{style:t.labelStyle,useHtmlLabels:a}):d.node().appendChild(J(t.labelText,t.labelStyle,void 0,!0));let f=u.getBBox();if(S(n.flowchart.htmlLabels)){const c=u.children[0],o=L(u);f=c.getBoundingClientRect(),o.attr("width",f.width),o.attr("height",f.height)}const h=0*t.padding,w=h/2,x=t.width<=f.width+h?f.width+h:t.width;t.width<=f.width+h?t.diff=(f.width-t.width)/2-t.padding/2:t.diff=-t.padding/2,s.trace("Data ",t,JSON.stringify(t)),i.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("x",t.x-x/2).attr("y",t.y-t.height/2-w).attr("width",x).attr("height",t.height+h);const{subGraphTitleTopMargin:v}=D(n);a?d.attr("transform",`translate(${t.x-f.width/2}, ${t.y-t.height/2+v})`):d.attr("transform",`translate(${t.x}, ${t.y-t.height/2+v})`);const y=i.node().getBBox();return t.width=y.width,t.height=y.height,t.intersect=function(c){return p(t,c)},r},ct=(e,t)=>{const n=e.insert("g").attr("class","note-cluster").attr("id",t.id),r=n.insert("rect",":first-child"),i=0*t.padding,a=i/2;r.attr("rx",t.rx).attr("ry",t.ry).attr("x",t.x-t.width/2-a).attr("y",t.y-t.height/2-a).attr("width",t.width+i).attr("height",t.height+i).attr("fill","none");const d=r.node().getBBox();return t.width=d.width,t.height=d.height,t.intersect=function(u){return p(t,u)},n},ot=(e,t)=>{const n=T(),r=e.insert("g").attr("class",t.classes).attr("id",t.id),i=r.insert("rect",":first-child"),a=r.insert("g").attr("class","cluster-label"),d=r.append("rect"),u=a.node().appendChild(J(t.labelText,t.labelStyle,void 0,!0));let f=u.getBBox();if(S(n.flowchart.htmlLabels)){const c=u.children[0],o=L(u);f=c.getBoundingClientRect(),o.attr("width",f.width),o.attr("height",f.height)}f=u.getBBox();const h=0*t.padding,w=h/2,x=t.width<=f.width+t.padding?f.width+t.padding:t.width;t.width<=f.width+t.padding?t.diff=(f.width+t.padding*0-t.width)/2:t.diff=-t.padding/2,i.attr("class","outer").attr("x",t.x-x/2-w).attr("y",t.y-t.height/2-w).attr("width",x+h).attr("height",t.height+h),d.attr("class","inner").attr("x",t.x-x/2-w).attr("y",t.y-t.height/2-w+f.height-1).attr("width",x+h).attr("height",t.height+h-f.height-3);const{subGraphTitleTopMargin:v}=D(n);a.attr("transform",`translate(${t.x-f.width/2}, ${t.y-t.height/2-t.padding/3+(S(n.flowchart.htmlLabels)?5:3)+v})`);const y=i.node().getBBox();return t.height=y.height,t.intersect=function(c){return p(t,c)},r},lt=(e,t)=>{const n=e.insert("g").attr("class",t.classes).attr("id",t.id),r=n.insert("rect",":first-child"),i=0*t.padding,a=i/2;r.attr("class","divider").attr("x",t.x-t.width/2-a).attr("y",t.y-t.height/2).attr("width",t.width+i).attr("height",t.height+i);const d=r.node().getBBox();return t.width=d.width,t.height=d.height,t.diff=-t.padding/2,t.intersect=function(u){return p(t,u)},n},ft={rect:at,roundedWithTitle:ot,noteGroup:ct,divider:lt};let j={};const dt=(e,t)=>{s.trace("Inserting cluster");const n=t.shape||"rect";j[t.id]=ft[n](e,t)},ut=()=>{j={}},M=async(e,t,n,r,i,a)=>{s.info("Graph in recursive render: XXX",m(t),i);const d=t.graph().rankdir;s.trace("Dir in recursive render - dir:",d);const u=e.insert("g").attr("class","root");t.nodes()?s.info("Recursive render XXX",t.nodes()):s.info("No nodes found for",t),t.edges().length>0&&s.trace("Recursive edges",t.edge(t.edges()[0]));const f=u.insert("g").attr("class","clusters"),h=u.insert("g").attr("class","edgePaths"),w=u.insert("g").attr("class","edgeLabels"),x=u.insert("g").attr("class","nodes");await Promise.all(t.nodes().map(async function(c){const o=t.node(c);if(i!==void 0){const b=JSON.parse(JSON.stringify(i.clusterData));s.info("Setting data for cluster XXX (",c,") ",b,i),t.setNode(i.id,b),t.parent(c)||(s.trace("Setting parent",c,i.id),t.setParent(c,i.id,b))}if(s.info("(Insert) Node XXX"+c+": "+JSON.stringify(t.node(c))),o&&o.clusterNode){s.info("Cluster identified",c,o.width,t.node(c));const b=await M(x,o.graph,n,r,t.node(c),a),E=b.elem;U(o,E),o.diff=b.diff||0,s.info("Node bounds (abc123)",c,o,o.width,o.x,o.y),W(E,o),s.warn("Recursive render complete ",E,o)}else t.children(c).length>0?(s.info("Cluster - the non recursive path XXX",c,o.id,o,t),s.info(C(o.id,t)),l[o.id]={id:C(o.id,t),node:o}):(s.info("Node - the non recursive path",c,o.id,o),await _(x,t.node(c),d))})),t.edges().forEach(function(c){const o=t.edge(c.v,c.w,c.name);s.info("Edge "+c.v+" -> "+c.w+": "+JSON.stringify(c)),s.info("Edge "+c.v+" -> "+c.w+": ",c," ",JSON.stringify(t.edge(c))),s.info("Fix",l,"ids:",c.v,c.w,"Translating: ",l[c.v],l[c.w]),z(w,o)}),t.edges().forEach(function(c){s.info("Edge "+c.v+" -> "+c.w+": "+JSON.stringify(c))}),s.info("#############################################"),s.info("### Layout ###"),s.info("#############################################"),s.info(t),q(t),s.info("Graph after layout:",m(t));let v=0;const{subGraphTitleTotalMargin:y}=D(a);return rt(t).forEach(function(c){const o=t.node(c);s.info("Position "+c+": "+JSON.stringify(t.node(c))),s.info("Position "+c+": ("+o.x,","+o.y,") width: ",o.width," height: ",o.height),o&&o.clusterNode?(o.y+=y,O(o)):t.children(c).length>0?(o.height+=y,dt(f,o),l[o.id].node=o):(o.y+=y/2,O(o))}),t.edges().forEach(function(c){const o=t.edge(c);s.info("Edge "+c.v+" -> "+c.w+": "+JSON.stringify(o),o),o.points.forEach(E=>E.y+=y/2);const b=K(h,c,o,l,n,t,r);Q(o,b)}),t.nodes().forEach(function(c){const o=t.node(c);s.info(c,o.type,o.diff),o.type==="group"&&(v=o.diff)}),{elem:u,diff:v}},bt=async(e,t,n,r,i)=>{V(e,n,r,i),Y(),Z(),ut(),nt(),s.warn("Graph at first:",JSON.stringify(m(t))),st(t),s.warn("Graph after:",JSON.stringify(m(t)));const a=T();await M(e,t,r,i,void 0,a)};export{bt as r}; diff --git a/assets/index.html-6wIM4NbS.js b/assets/index.html-BPeqKIe1.js similarity index 81% rename from assets/index.html-6wIM4NbS.js rename to assets/index.html-BPeqKIe1.js index ccacd58..525e3a7 100644 --- a/assets/index.html-6wIM4NbS.js +++ b/assets/index.html-BPeqKIe1.js @@ -1 +1 @@ -import{_ as n}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as i,o as s,c as r,b as e,e as a,w as l,d as o}from"./app-B0fd3cYb.js";const c={},p=e("h1",{id:"available-components",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#available-components"},[e("span",null,"Available components")])],-1),d=e("p",null,"In this section, you can find a list of officially supported plugins for the taskiq.",-1);function m(u,h){const t=i("RouteLink");return s(),r("div",null,[p,d,e("ul",null,[e("li",null,[a(t,{to:"/available-components/brokers.html"},{default:l(()=>[o("Available brokers")]),_:1})]),e("li",null,[a(t,{to:"/available-components/middlewares.html"},{default:l(()=>[o("Available middlewares")]),_:1})]),e("li",null,[a(t,{to:"/available-components/result-backends.html"},{default:l(()=>[o("Available result backends")]),_:1})]),e("li",null,[a(t,{to:"/available-components/schedule-sources.html"},{default:l(()=>[o("Available schedule sources")]),_:1})])])])}const v=n(c,[["render",m],["__file","index.html.vue"]]),_=JSON.parse('{"path":"/available-components/","title":"Available components","lang":"en-US","frontmatter":{"order":1,"dir":{"order":4},"description":"Available components In this section, you can find a list of officially supported plugins for the taskiq.","head":[["meta",{"property":"og:url","content":"https://taskiq-python.github.io/available-components/"}],["meta",{"property":"og:site_name","content":"Taskiq"}],["meta",{"property":"og:title","content":"Available components"}],["meta",{"property":"og:description","content":"Available components In this section, you can find a list of officially supported plugins for the taskiq."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-04-20T00:01:02.000Z"}],["meta",{"property":"article:modified_time","content":"2024-04-20T00:01:02.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Available components\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-04-20T00:01:02.000Z\\",\\"author\\":[]}"]]},"headers":[],"git":{"createdTime":1713571262000,"updatedTime":1713571262000,"contributors":[{"name":"Pavel Kirilin","email":"win10@list.ru","commits":1}]},"filePathRelative":"available-components/README.md","localizedDate":"April 20, 2024","autoDesc":true,"excerpt":"\\n

In this section, you can find a list of officially supported plugins for the taskiq.

\\n"}');export{v as comp,_ as data}; +import{_ as n}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as i,o as s,c as r,b as e,e as a,w as l,d as o}from"./app-jADuhdjP.js";const c={},p=e("h1",{id:"available-components",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#available-components"},[e("span",null,"Available components")])],-1),d=e("p",null,"In this section, you can find a list of officially supported plugins for the taskiq.",-1);function m(u,h){const t=i("RouteLink");return s(),r("div",null,[p,d,e("ul",null,[e("li",null,[a(t,{to:"/available-components/brokers.html"},{default:l(()=>[o("Available brokers")]),_:1})]),e("li",null,[a(t,{to:"/available-components/middlewares.html"},{default:l(()=>[o("Available middlewares")]),_:1})]),e("li",null,[a(t,{to:"/available-components/result-backends.html"},{default:l(()=>[o("Available result backends")]),_:1})]),e("li",null,[a(t,{to:"/available-components/schedule-sources.html"},{default:l(()=>[o("Available schedule sources")]),_:1})])])])}const v=n(c,[["render",m],["__file","index.html.vue"]]),_=JSON.parse('{"path":"/available-components/","title":"Available components","lang":"en-US","frontmatter":{"order":1,"dir":{"order":4},"description":"Available components In this section, you can find a list of officially supported plugins for the taskiq.","head":[["meta",{"property":"og:url","content":"https://taskiq-python.github.io/available-components/"}],["meta",{"property":"og:site_name","content":"Taskiq"}],["meta",{"property":"og:title","content":"Available components"}],["meta",{"property":"og:description","content":"Available components In this section, you can find a list of officially supported plugins for the taskiq."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-04-26T20:07:59.000Z"}],["meta",{"property":"article:modified_time","content":"2024-04-26T20:07:59.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Available components\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-04-26T20:07:59.000Z\\",\\"author\\":[]}"]]},"headers":[],"git":{"createdTime":1714162079000,"updatedTime":1714162079000,"contributors":[{"name":"Pavel Kirilin","email":"win10@list.ru","commits":1}]},"filePathRelative":"available-components/README.md","localizedDate":"April 26, 2024","autoDesc":true,"excerpt":"\\n

In this section, you can find a list of officially supported plugins for the taskiq.

\\n"}');export{v as comp,_ as data}; diff --git a/assets/index.html-DVTPXSZ3.js b/assets/index.html-D_T4WVh8.js similarity index 86% rename from assets/index.html-DVTPXSZ3.js rename to assets/index.html-D_T4WVh8.js index e9d0489..44a9b90 100644 --- a/assets/index.html-DVTPXSZ3.js +++ b/assets/index.html-D_T4WVh8.js @@ -1 +1 @@ -import{_ as s}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as l,o as r,c as o,b as e,e as n,w as i,d as t}from"./app-B0fd3cYb.js";const c={},d=e("h1",{id:"extending-taskiq",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#extending-taskiq"},[e("span",null,"Extending taskiq")])],-1),h=e("p",null,"Taskiq is super extendable. The core library comes with different abstract classes. You can implement these abstract classes to extend functionality.",-1),u=e("p",null,[t("All abstract classes can be found in "),e("code",null,"taskiq.abc"),t(" package.")],-1),p=e("h2",{id:"contents",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#contents"},[e("span",null,"Contents:")])],-1);function m(k,g){const a=l("RouteLink");return r(),o("div",null,[d,h,u,p,e("ul",null,[e("li",null,[n(a,{to:"/extending-taskiq/broker.html"},{default:i(()=>[t("Brokers")]),_:1})]),e("li",null,[n(a,{to:"/extending-taskiq/middleware.html"},{default:i(()=>[t("Middlewares")]),_:1})]),e("li",null,[n(a,{to:"/extending-taskiq/result-backend.html"},{default:i(()=>[t("Result backends")]),_:1})]),e("li",null,[n(a,{to:"/extending-taskiq/cli.html"},{default:i(()=>[t("CLI")]),_:1})]),e("li",null,[n(a,{to:"/extending-taskiq/schedule-sources.html"},{default:i(()=>[t("Schedule sources")]),_:1})])])])}const f=s(c,[["render",m],["__file","index.html.vue"]]),_=JSON.parse('{"path":"/extending-taskiq/","title":"Extending taskiq","lang":"en-US","frontmatter":{"dir":{"order":3},"description":"Extending taskiq Taskiq is super extendable. The core library comes with different abstract classes. You can implement these abstract classes to extend functionality. All abstra...","head":[["meta",{"property":"og:url","content":"https://taskiq-python.github.io/extending-taskiq/"}],["meta",{"property":"og:site_name","content":"Taskiq"}],["meta",{"property":"og:title","content":"Extending taskiq"}],["meta",{"property":"og:description","content":"Extending taskiq Taskiq is super extendable. The core library comes with different abstract classes. You can implement these abstract classes to extend functionality. All abstra..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-04-20T00:01:02.000Z"}],["meta",{"property":"article:modified_time","content":"2024-04-20T00:01:02.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Extending taskiq\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-04-20T00:01:02.000Z\\",\\"author\\":[]}"]]},"headers":[{"level":2,"title":"Contents:","slug":"contents","link":"#contents","children":[]}],"git":{"createdTime":1713571262000,"updatedTime":1713571262000,"contributors":[{"name":"Pavel Kirilin","email":"win10@list.ru","commits":1}]},"filePathRelative":"extending-taskiq/README.md","localizedDate":"April 20, 2024","autoDesc":true,"excerpt":"\\n

Taskiq is super extendable. The core library comes with different abstract classes.\\nYou can implement these abstract classes to extend functionality.

\\n

All abstract classes can be found in taskiq.abc package.

\\n

Contents:

\\n"}');export{f as comp,_ as data}; +import{_ as s}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as l,o as r,c as o,b as e,e as n,w as i,d as t}from"./app-jADuhdjP.js";const c={},d=e("h1",{id:"extending-taskiq",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#extending-taskiq"},[e("span",null,"Extending taskiq")])],-1),h=e("p",null,"Taskiq is super extendable. The core library comes with different abstract classes. You can implement these abstract classes to extend functionality.",-1),u=e("p",null,[t("All abstract classes can be found in "),e("code",null,"taskiq.abc"),t(" package.")],-1),p=e("h2",{id:"contents",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#contents"},[e("span",null,"Contents:")])],-1);function m(k,g){const a=l("RouteLink");return r(),o("div",null,[d,h,u,p,e("ul",null,[e("li",null,[n(a,{to:"/extending-taskiq/broker.html"},{default:i(()=>[t("Brokers")]),_:1})]),e("li",null,[n(a,{to:"/extending-taskiq/middleware.html"},{default:i(()=>[t("Middlewares")]),_:1})]),e("li",null,[n(a,{to:"/extending-taskiq/result-backend.html"},{default:i(()=>[t("Result backends")]),_:1})]),e("li",null,[n(a,{to:"/extending-taskiq/cli.html"},{default:i(()=>[t("CLI")]),_:1})]),e("li",null,[n(a,{to:"/extending-taskiq/schedule-sources.html"},{default:i(()=>[t("Schedule sources")]),_:1})])])])}const f=s(c,[["render",m],["__file","index.html.vue"]]),_=JSON.parse('{"path":"/extending-taskiq/","title":"Extending taskiq","lang":"en-US","frontmatter":{"dir":{"order":3},"description":"Extending taskiq Taskiq is super extendable. The core library comes with different abstract classes. You can implement these abstract classes to extend functionality. All abstra...","head":[["meta",{"property":"og:url","content":"https://taskiq-python.github.io/extending-taskiq/"}],["meta",{"property":"og:site_name","content":"Taskiq"}],["meta",{"property":"og:title","content":"Extending taskiq"}],["meta",{"property":"og:description","content":"Extending taskiq Taskiq is super extendable. The core library comes with different abstract classes. You can implement these abstract classes to extend functionality. All abstra..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-04-26T20:07:59.000Z"}],["meta",{"property":"article:modified_time","content":"2024-04-26T20:07:59.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Extending taskiq\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-04-26T20:07:59.000Z\\",\\"author\\":[]}"]]},"headers":[{"level":2,"title":"Contents:","slug":"contents","link":"#contents","children":[]}],"git":{"createdTime":1714162079000,"updatedTime":1714162079000,"contributors":[{"name":"Pavel Kirilin","email":"win10@list.ru","commits":1}]},"filePathRelative":"extending-taskiq/README.md","localizedDate":"April 26, 2024","autoDesc":true,"excerpt":"\\n

Taskiq is super extendable. The core library comes with different abstract classes.\\nYou can implement these abstract classes to extend functionality.

\\n

All abstract classes can be found in taskiq.abc package.

\\n

Contents:

\\n"}');export{f as comp,_ as data}; diff --git a/assets/index.html-DpgZdJ46.js b/assets/index.html-DhU2V3Rf.js similarity index 92% rename from assets/index.html-DpgZdJ46.js rename to assets/index.html-DhU2V3Rf.js index d0c601b..f2d973f 100644 --- a/assets/index.html-DpgZdJ46.js +++ b/assets/index.html-DhU2V3Rf.js @@ -1 +1 @@ -import{_ as t}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as e,c as n,a}from"./app-B0fd3cYb.js";const i={},r=a('

Introduction

What is taskiq

Taskiq is a library that helps you send and process python functions in a distributed manner. For example, you have many heavy to calculate functions you want to execute on another server. You can implement interservice communication by yourself, or you can use Taskiq to make the job done easily.

The core library doesn't have much functionality. It provides two built-in brokers, CLI, basic functionality for creating distributed tasks, and abstractions to extend the taskiq. The main idea of taskiq is to make it modular and easy to extend. We have libraries for many possible use cases, but if you lack something, you can adopt taskiq to fit your needs.

Why not use existing libraries?

We created this project because we couldn't find any project that can execute and send async functions using distributed queues like RabbitMQ.

You might have seen projects built on top of asyncio that solve a similar problem, but here's a comparison table of the taskiq and other projects.

Feature nameTaskiqArqAioTasks
Actively maintained
Multiple broker backends
Multiple result backends
Have a rich documentation
Startup & Shutdown events
Have ability to abort tasks
Custom serializers
Dependency injection
Task pipelines
Task schedules
Global middlewares

If you have a fully synchronous project, consider using celery or dramatiq instead.

',9),s=[r];function l(o,d){return e(),n("div",null,s)}const h=t(i,[["render",l],["__file","index.html.vue"]]),u=JSON.parse('{"path":"/guide/","title":"Introduction","lang":"en-US","frontmatter":{"order":1,"dir":{"order":1},"description":"Introduction What is taskiq Taskiq is a library that helps you send and process python functions in a distributed manner. For example, you have many heavy to calculate functions...","head":[["meta",{"property":"og:url","content":"https://taskiq-python.github.io/guide/"}],["meta",{"property":"og:site_name","content":"Taskiq"}],["meta",{"property":"og:title","content":"Introduction"}],["meta",{"property":"og:description","content":"Introduction What is taskiq Taskiq is a library that helps you send and process python functions in a distributed manner. For example, you have many heavy to calculate functions..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-04-20T00:01:02.000Z"}],["meta",{"property":"article:modified_time","content":"2024-04-20T00:01:02.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Introduction\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-04-20T00:01:02.000Z\\",\\"author\\":[]}"]]},"headers":[{"level":2,"title":"What is taskiq","slug":"what-is-taskiq","link":"#what-is-taskiq","children":[]},{"level":2,"title":"Why not use existing libraries?","slug":"why-not-use-existing-libraries","link":"#why-not-use-existing-libraries","children":[]}],"git":{"createdTime":1713571262000,"updatedTime":1713571262000,"contributors":[{"name":"Pavel Kirilin","email":"win10@list.ru","commits":1}]},"filePathRelative":"guide/README.md","localizedDate":"April 20, 2024","autoDesc":true,"excerpt":"\\n

What is taskiq

\\n

Taskiq is a library that helps you send and process python functions in a distributed manner.\\nFor example, you have many heavy to calculate functions you want to execute on another server.\\nYou can implement interservice communication by yourself, or you can use Taskiq to make the job done easily.

"}');export{h as comp,u as data}; +import{_ as t}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as e,c as n,a}from"./app-jADuhdjP.js";const i={},r=a('

Introduction

What is taskiq

Taskiq is a library that helps you send and process python functions in a distributed manner. For example, you have many heavy to calculate functions you want to execute on another server. You can implement interservice communication by yourself, or you can use Taskiq to make the job done easily.

The core library doesn't have much functionality. It provides two built-in brokers, CLI, basic functionality for creating distributed tasks, and abstractions to extend the taskiq. The main idea of taskiq is to make it modular and easy to extend. We have libraries for many possible use cases, but if you lack something, you can adopt taskiq to fit your needs.

Why not use existing libraries?

We created this project because we couldn't find any project that can execute and send async functions using distributed queues like RabbitMQ.

You might have seen projects built on top of asyncio that solve a similar problem, but here's a comparison table of the taskiq and other projects.

Feature nameTaskiqArqAioTasks
Actively maintained
Multiple broker backends
Multiple result backends
Have a rich documentation
Startup & Shutdown events
Have ability to abort tasks
Custom serializers
Dependency injection
Task pipelines
Task schedules
Global middlewares

If you have a fully synchronous project, consider using celery or dramatiq instead.

',9),s=[r];function l(o,d){return e(),n("div",null,s)}const h=t(i,[["render",l],["__file","index.html.vue"]]),u=JSON.parse('{"path":"/guide/","title":"Introduction","lang":"en-US","frontmatter":{"order":1,"dir":{"order":1},"description":"Introduction What is taskiq Taskiq is a library that helps you send and process python functions in a distributed manner. For example, you have many heavy to calculate functions...","head":[["meta",{"property":"og:url","content":"https://taskiq-python.github.io/guide/"}],["meta",{"property":"og:site_name","content":"Taskiq"}],["meta",{"property":"og:title","content":"Introduction"}],["meta",{"property":"og:description","content":"Introduction What is taskiq Taskiq is a library that helps you send and process python functions in a distributed manner. For example, you have many heavy to calculate functions..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-04-26T20:07:59.000Z"}],["meta",{"property":"article:modified_time","content":"2024-04-26T20:07:59.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Introduction\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-04-26T20:07:59.000Z\\",\\"author\\":[]}"]]},"headers":[{"level":2,"title":"What is taskiq","slug":"what-is-taskiq","link":"#what-is-taskiq","children":[]},{"level":2,"title":"Why not use existing libraries?","slug":"why-not-use-existing-libraries","link":"#why-not-use-existing-libraries","children":[]}],"git":{"createdTime":1714162079000,"updatedTime":1714162079000,"contributors":[{"name":"Pavel Kirilin","email":"win10@list.ru","commits":1}]},"filePathRelative":"guide/README.md","localizedDate":"April 26, 2024","autoDesc":true,"excerpt":"\\n

What is taskiq

\\n

Taskiq is a library that helps you send and process python functions in a distributed manner.\\nFor example, you have many heavy to calculate functions you want to execute on another server.\\nYou can implement interservice communication by yourself, or you can use Taskiq to make the job done easily.

"}');export{h as comp,u as data}; diff --git a/assets/index.html-BAdt9pMO.js b/assets/index.html-MEwknYNr.js similarity index 91% rename from assets/index.html-BAdt9pMO.js rename to assets/index.html-MEwknYNr.js index 5909bef..dacbdb6 100644 --- a/assets/index.html-BAdt9pMO.js +++ b/assets/index.html-MEwknYNr.js @@ -1,2 +1,2 @@ -import{_ as t}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as e,c as a,a as n}from"./app-B0fd3cYb.js";const s={},o=n(`

What is taskiq in a nutshell

Consider taskiq as an asyncio celery implementation. It uses almost the same patterns, but it's more modern and flexible.

It's not a drop-in replacement for any other task manager. It has a different ecosystem of libraries and a different set of features. Also, it doesn't work for synchronous projects. You won't be able to send tasks synchronously.

Installation

You can install taskiq with pip or your favorite dependency manager:

pip install taskiq
-
`,6),i=[o];function r(l,c){return e(),a("div",null,i)}const m=t(s,[["render",r],["__file","index.html.vue"]]),h=JSON.parse(`{"path":"/","title":"Task manager for asyncio","lang":"en-US","frontmatter":{"title":"Task manager for asyncio","home":true,"heroImage":"logo.svg","heroAlt":"logo","heroText":"Taskiq python","actions":[{"text":"Get Started","link":"/guide/getting-started.html","type":"primary"},{"text":"Introduction","link":"/guide/","type":"secondary"}],"head":[["meta",{"name":"google-site-verification","content":"hQCR5w2tmeuOvYIYXsOYU3u4kLNwT86lnqltANYlRQ0"}],["meta",{"name":"msvalidate.01","content":"97DC185FE0A2F5B123861F0790FDFB26"}],["meta",{"name":"yandex-verification","content":"9b105f7c58cbc920"}],["meta",{"property":"og:url","content":"https://taskiq-python.github.io/"}],["meta",{"property":"og:site_name","content":"Taskiq"}],["meta",{"property":"og:title","content":"Task manager for asyncio"}],["meta",{"property":"og:description","content":"What is taskiq in a nutshell Consider taskiq as an asyncio celery implementation. It uses almost the same patterns, but it's more modern and flexible. It's not a drop-in replace..."}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-04-20T00:01:02.000Z"}],["meta",{"property":"article:modified_time","content":"2024-04-20T00:01:02.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"Task manager for asyncio\\",\\"description\\":\\"What is taskiq in a nutshell Consider taskiq as an asyncio celery implementation. It uses almost the same patterns, but it's more modern and flexible. It's not a drop-in replace...\\"}"]],"features":[{"title":"Production ready","details":"Taskiq has proven that it can run in heavy production systems with high load."},{"title":"Fully asynchronous","details":"Taskiq can run both sync and async functions. You don't have to worry about it."},{"title":"Easily extensible","details":"Taskiq has a lot of replaceable components. It's super easy to implement your own broker or middleware."},{"title":"Strongly typed","details":"Taskiq provides correct autocompletion for most of its functionality."}],"footer":"MIT Licensed | Copyright© 2022-2023","description":"What is taskiq in a nutshell Consider taskiq as an asyncio celery implementation. It uses almost the same patterns, but it's more modern and flexible. It's not a drop-in replace..."},"headers":[{"level":2,"title":"What is taskiq in a nutshell","slug":"what-is-taskiq-in-a-nutshell","link":"#what-is-taskiq-in-a-nutshell","children":[]},{"level":2,"title":"Installation","slug":"installation","link":"#installation","children":[]}],"git":{"createdTime":1713571262000,"updatedTime":1713571262000,"contributors":[{"name":"Pavel Kirilin","email":"win10@list.ru","commits":1}]},"filePathRelative":"README.md","localizedDate":"April 20, 2024","autoDesc":true,"excerpt":"

What is taskiq in a nutshell

\\n

Consider taskiq as an asyncio celery implementation. It uses almost the same patterns, but it's more modern\\nand flexible.

\\n

It's not a drop-in replacement for any other task manager. It has a different ecosystem of libraries and a different set of features.\\nAlso, it doesn't work for synchronous projects. You won't be able to send tasks synchronously.

"}`);export{m as comp,h as data}; +import{_ as t}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as e,c as a,a as n}from"./app-jADuhdjP.js";const s={},o=n(`

What is taskiq in a nutshell

Consider taskiq as an asyncio celery implementation. It uses almost the same patterns, but it's more modern and flexible.

It's not a drop-in replacement for any other task manager. It has a different ecosystem of libraries and a different set of features. Also, it doesn't work for synchronous projects. You won't be able to send tasks synchronously.

Installation

You can install taskiq with pip or your favorite dependency manager:

pip install taskiq
+
`,6),i=[o];function r(l,c){return e(),a("div",null,i)}const m=t(s,[["render",r],["__file","index.html.vue"]]),h=JSON.parse(`{"path":"/","title":"Task manager for asyncio","lang":"en-US","frontmatter":{"title":"Task manager for asyncio","home":true,"heroImage":"logo.svg","heroAlt":"logo","heroText":"Taskiq python","actions":[{"text":"Get Started","link":"/guide/getting-started.html","type":"primary"},{"text":"Introduction","link":"/guide/","type":"secondary"}],"head":[["meta",{"name":"google-site-verification","content":"hQCR5w2tmeuOvYIYXsOYU3u4kLNwT86lnqltANYlRQ0"}],["meta",{"name":"msvalidate.01","content":"97DC185FE0A2F5B123861F0790FDFB26"}],["meta",{"name":"yandex-verification","content":"9b105f7c58cbc920"}],["meta",{"property":"og:url","content":"https://taskiq-python.github.io/"}],["meta",{"property":"og:site_name","content":"Taskiq"}],["meta",{"property":"og:title","content":"Task manager for asyncio"}],["meta",{"property":"og:description","content":"What is taskiq in a nutshell Consider taskiq as an asyncio celery implementation. It uses almost the same patterns, but it's more modern and flexible. It's not a drop-in replace..."}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-04-26T20:07:59.000Z"}],["meta",{"property":"article:modified_time","content":"2024-04-26T20:07:59.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"Task manager for asyncio\\",\\"description\\":\\"What is taskiq in a nutshell Consider taskiq as an asyncio celery implementation. It uses almost the same patterns, but it's more modern and flexible. It's not a drop-in replace...\\"}"]],"features":[{"title":"Production ready","details":"Taskiq has proven that it can run in heavy production systems with high load."},{"title":"Fully asynchronous","details":"Taskiq can run both sync and async functions. You don't have to worry about it."},{"title":"Easily extensible","details":"Taskiq has a lot of replaceable components. It's super easy to implement your own broker or middleware."},{"title":"Strongly typed","details":"Taskiq provides correct autocompletion for most of its functionality."}],"footer":"MIT Licensed | Copyright© 2022-2023","description":"What is taskiq in a nutshell Consider taskiq as an asyncio celery implementation. It uses almost the same patterns, but it's more modern and flexible. It's not a drop-in replace..."},"headers":[{"level":2,"title":"What is taskiq in a nutshell","slug":"what-is-taskiq-in-a-nutshell","link":"#what-is-taskiq-in-a-nutshell","children":[]},{"level":2,"title":"Installation","slug":"installation","link":"#installation","children":[]}],"git":{"createdTime":1714162079000,"updatedTime":1714162079000,"contributors":[{"name":"Pavel Kirilin","email":"win10@list.ru","commits":1}]},"filePathRelative":"README.md","localizedDate":"April 26, 2024","autoDesc":true,"excerpt":"

What is taskiq in a nutshell

\\n

Consider taskiq as an asyncio celery implementation. It uses almost the same patterns, but it's more modern\\nand flexible.

\\n

It's not a drop-in replacement for any other task manager. It has a different ecosystem of libraries and a different set of features.\\nAlso, it doesn't work for synchronous projects. You won't be able to send tasks synchronously.

"}`);export{m as comp,h as data}; diff --git a/assets/index.html-hKugmLE0.js b/assets/index.html-YlfwsOaT.js similarity index 81% rename from assets/index.html-hKugmLE0.js rename to assets/index.html-YlfwsOaT.js index d898511..9677acb 100644 --- a/assets/index.html-hKugmLE0.js +++ b/assets/index.html-YlfwsOaT.js @@ -1 +1 @@ -import{_ as t}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as a,c as n,b as e}from"./app-B0fd3cYb.js";const o={},i=e("h1",{id:"framework-integrations",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#framework-integrations"},[e("span",null,"Framework integrations")])],-1),r=e("p",null,"Taskiq is meant to be simple and adaptive. That's why we try to add different integrations to make development with taskiq and your favorite framework easy and fun!",-1),s=e("p",null,"Integrations with frameworks add two things:",-1),d=e("ol",null,[e("li",null,"Startup and Shutdown events;"),e("li",null,"Dependencies to use in your handler.")],-1),m=[i,r,s,d];function p(l,c){return a(),n("div",null,m)}const w=t(o,[["render",p],["__file","index.html.vue"]]),k=JSON.parse(`{"path":"/framework_integrations/","title":"Framework integrations","lang":"en-US","frontmatter":{"order":1,"dir":{"order":2},"description":"Framework integrations Taskiq is meant to be simple and adaptive. That's why we try to add different integrations to make development with taskiq and your favorite framework eas...","head":[["meta",{"property":"og:url","content":"https://taskiq-python.github.io/framework_integrations/"}],["meta",{"property":"og:site_name","content":"Taskiq"}],["meta",{"property":"og:title","content":"Framework integrations"}],["meta",{"property":"og:description","content":"Framework integrations Taskiq is meant to be simple and adaptive. That's why we try to add different integrations to make development with taskiq and your favorite framework eas..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-04-20T00:01:02.000Z"}],["meta",{"property":"article:modified_time","content":"2024-04-20T00:01:02.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Framework integrations\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-04-20T00:01:02.000Z\\",\\"author\\":[]}"]]},"headers":[],"git":{"createdTime":1713571262000,"updatedTime":1713571262000,"contributors":[{"name":"Pavel Kirilin","email":"win10@list.ru","commits":1}]},"filePathRelative":"framework_integrations/README.md","localizedDate":"April 20, 2024","autoDesc":true,"excerpt":"\\n

Taskiq is meant to be simple and adaptive. That's why we try to add different integrations to make development with taskiq and your favorite framework easy and fun!

\\n

Integrations with frameworks add two things:

\\n
    \\n
  1. Startup and Shutdown events;
  2. \\n
  3. Dependencies to use in your handler.
  4. \\n
"}`);export{w as comp,k as data}; +import{_ as t}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as a,c as n,b as e}from"./app-jADuhdjP.js";const o={},i=e("h1",{id:"framework-integrations",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#framework-integrations"},[e("span",null,"Framework integrations")])],-1),r=e("p",null,"Taskiq is meant to be simple and adaptive. That's why we try to add different integrations to make development with taskiq and your favorite framework easy and fun!",-1),s=e("p",null,"Integrations with frameworks add two things:",-1),d=e("ol",null,[e("li",null,"Startup and Shutdown events;"),e("li",null,"Dependencies to use in your handler.")],-1),m=[i,r,s,d];function p(l,c){return a(),n("div",null,m)}const w=t(o,[["render",p],["__file","index.html.vue"]]),k=JSON.parse(`{"path":"/framework_integrations/","title":"Framework integrations","lang":"en-US","frontmatter":{"order":1,"dir":{"order":2},"description":"Framework integrations Taskiq is meant to be simple and adaptive. That's why we try to add different integrations to make development with taskiq and your favorite framework eas...","head":[["meta",{"property":"og:url","content":"https://taskiq-python.github.io/framework_integrations/"}],["meta",{"property":"og:site_name","content":"Taskiq"}],["meta",{"property":"og:title","content":"Framework integrations"}],["meta",{"property":"og:description","content":"Framework integrations Taskiq is meant to be simple and adaptive. That's why we try to add different integrations to make development with taskiq and your favorite framework eas..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-04-26T20:07:59.000Z"}],["meta",{"property":"article:modified_time","content":"2024-04-26T20:07:59.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Framework integrations\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-04-26T20:07:59.000Z\\",\\"author\\":[]}"]]},"headers":[],"git":{"createdTime":1714162079000,"updatedTime":1714162079000,"contributors":[{"name":"Pavel Kirilin","email":"win10@list.ru","commits":1}]},"filePathRelative":"framework_integrations/README.md","localizedDate":"April 26, 2024","autoDesc":true,"excerpt":"\\n

Taskiq is meant to be simple and adaptive. That's why we try to add different integrations to make development with taskiq and your favorite framework easy and fun!

\\n

Integrations with frameworks add two things:

\\n
    \\n
  1. Startup and Shutdown events;
  2. \\n
  3. Dependencies to use in your handler.
  4. \\n
"}`);export{w as comp,k as data}; diff --git a/assets/infoDiagram-bcd20f53-BIcinyh4.js b/assets/infoDiagram-bcd20f53-B1gEzowG.js similarity index 98% rename from assets/infoDiagram-bcd20f53-BIcinyh4.js rename to assets/infoDiagram-bcd20f53-B1gEzowG.js index cb93b88..ca8789d 100644 --- a/assets/infoDiagram-bcd20f53-BIcinyh4.js +++ b/assets/infoDiagram-bcd20f53-B1gEzowG.js @@ -1,4 +1,4 @@ -import{l as Y,aK as D,i as M}from"./mermaid.core-DtSoU78u.js";import"./app-B0fd3cYb.js";var O=function(){var a=function(u,t,e,n){for(e=e||{},n=u.length;n--;e[u[n]]=t);return e},f=[6,9,10],m={trace:function(){},yy:{},symbols_:{error:2,start:3,info:4,document:5,EOF:6,line:7,statement:8,NL:9,showInfo:10,$accept:0,$end:1},terminals_:{2:"error",4:"info",6:"EOF",9:"NL",10:"showInfo"},productions_:[0,[3,3],[5,0],[5,2],[7,1],[7,1],[8,1]],performAction:function(t,e,n,s,r,i,d){switch(i.length-1,r){case 1:return s;case 4:break;case 6:s.setInfo(!0);break}},table:[{3:1,4:[1,2]},{1:[3]},a(f,[2,2],{5:3}),{6:[1,4],7:5,8:6,9:[1,7],10:[1,8]},{1:[2,1]},a(f,[2,3]),a(f,[2,4]),a(f,[2,5]),a(f,[2,6])],defaultActions:{4:[2,1]},parseError:function(t,e){if(e.recoverable)this.trace(t);else{var n=new Error(t);throw n.hash=e,n}},parse:function(t){var e=this,n=[0],s=[],r=[null],i=[],d=this.table,P="",v=0,L=0,N=2,T=1,R=i.slice.call(arguments,1),o=Object.create(this.lexer),p={yy:{}};for(var E in this.yy)Object.prototype.hasOwnProperty.call(this.yy,E)&&(p.yy[E]=this.yy[E]);o.setInput(t,p.yy),p.yy.lexer=o,p.yy.parser=this,typeof o.yylloc>"u"&&(o.yylloc={});var I=o.yylloc;i.push(I);var z=o.options&&o.options.ranges;typeof p.yy.parseError=="function"?this.parseError=p.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function U(){var y;return y=s.pop()||o.lex()||T,typeof y!="number"&&(y instanceof Array&&(s=y,y=s.pop()),y=e.symbols_[y]||y),y}for(var l,g,h,w,_={},b,c,F,S;;){if(g=n[n.length-1],this.defaultActions[g]?h=this.defaultActions[g]:((l===null||typeof l>"u")&&(l=U()),h=d[g]&&d[g][l]),typeof h>"u"||!h.length||!h[0]){var A="";S=[];for(b in d[g])this.terminals_[b]&&b>N&&S.push("'"+this.terminals_[b]+"'");o.showPosition?A="Parse error on line "+(v+1)+`: +import{l as Y,aK as D,i as M}from"./mermaid.core-C-ipfzeP.js";import"./app-jADuhdjP.js";var O=function(){var a=function(u,t,e,n){for(e=e||{},n=u.length;n--;e[u[n]]=t);return e},f=[6,9,10],m={trace:function(){},yy:{},symbols_:{error:2,start:3,info:4,document:5,EOF:6,line:7,statement:8,NL:9,showInfo:10,$accept:0,$end:1},terminals_:{2:"error",4:"info",6:"EOF",9:"NL",10:"showInfo"},productions_:[0,[3,3],[5,0],[5,2],[7,1],[7,1],[8,1]],performAction:function(t,e,n,s,r,i,d){switch(i.length-1,r){case 1:return s;case 4:break;case 6:s.setInfo(!0);break}},table:[{3:1,4:[1,2]},{1:[3]},a(f,[2,2],{5:3}),{6:[1,4],7:5,8:6,9:[1,7],10:[1,8]},{1:[2,1]},a(f,[2,3]),a(f,[2,4]),a(f,[2,5]),a(f,[2,6])],defaultActions:{4:[2,1]},parseError:function(t,e){if(e.recoverable)this.trace(t);else{var n=new Error(t);throw n.hash=e,n}},parse:function(t){var e=this,n=[0],s=[],r=[null],i=[],d=this.table,P="",v=0,L=0,N=2,T=1,R=i.slice.call(arguments,1),o=Object.create(this.lexer),p={yy:{}};for(var E in this.yy)Object.prototype.hasOwnProperty.call(this.yy,E)&&(p.yy[E]=this.yy[E]);o.setInput(t,p.yy),p.yy.lexer=o,p.yy.parser=this,typeof o.yylloc>"u"&&(o.yylloc={});var I=o.yylloc;i.push(I);var z=o.options&&o.options.ranges;typeof p.yy.parseError=="function"?this.parseError=p.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function U(){var y;return y=s.pop()||o.lex()||T,typeof y!="number"&&(y instanceof Array&&(s=y,y=s.pop()),y=e.symbols_[y]||y),y}for(var l,g,h,w,_={},b,c,F,S;;){if(g=n[n.length-1],this.defaultActions[g]?h=this.defaultActions[g]:((l===null||typeof l>"u")&&(l=U()),h=d[g]&&d[g][l]),typeof h>"u"||!h.length||!h[0]){var A="";S=[];for(b in d[g])this.terminals_[b]&&b>N&&S.push("'"+this.terminals_[b]+"'");o.showPosition?A="Parse error on line "+(v+1)+`: `+o.showPosition()+` Expecting `+S.join(", ")+", got '"+(this.terminals_[l]||l)+"'":A="Parse error on line "+(v+1)+": Unexpected "+(l==T?"end of input":"'"+(this.terminals_[l]||l)+"'"),this.parseError(A,{text:o.match,token:this.terminals_[l]||l,line:o.yylineno,loc:I,expected:S})}if(h[0]instanceof Array&&h.length>1)throw new Error("Parse Error: multiple actions possible at state: "+g+", token: "+l);switch(h[0]){case 1:n.push(l),r.push(o.yytext),i.push(o.yylloc),n.push(h[1]),l=null,L=o.yyleng,P=o.yytext,v=o.yylineno,I=o.yylloc;break;case 2:if(c=this.productions_[h[1]][1],_.$=r[r.length-c],_._$={first_line:i[i.length-(c||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(c||1)].first_column,last_column:i[i.length-1].last_column},z&&(_._$.range=[i[i.length-(c||1)].range[0],i[i.length-1].range[1]]),w=this.performAction.apply(_,[P,L,v,p.yy,h[1],r,i].concat(R)),typeof w<"u")return w;c&&(n=n.slice(0,-1*c*2),r=r.slice(0,-1*c),i=i.slice(0,-1*c)),n.push(this.productions_[h[1]][0]),r.push(_.$),i.push(_._$),F=d[n[n.length-2]][n[n.length-1]],n.push(F);break;case 3:return!0}}return!0}},k=function(){var u={EOF:1,parseError:function(e,n){if(this.yy.parser)this.yy.parser.parseError(e,n);else throw new Error(e)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t;var e=t.match(/(?:\r\n?|\n).*/g);return e?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var s=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var r=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===s.length?this.yylloc.first_column:0)+s[s.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[r[0],r[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+` diff --git a/assets/journeyDiagram-4fe6b3dc-BjI4ODEy.js b/assets/journeyDiagram-4fe6b3dc-BKWXBz7k.js similarity index 98% rename from assets/journeyDiagram-4fe6b3dc-BjI4ODEy.js rename to assets/journeyDiagram-4fe6b3dc-BKWXBz7k.js index 0a4bdc8..b243e7b 100644 --- a/assets/journeyDiagram-4fe6b3dc-BjI4ODEy.js +++ b/assets/journeyDiagram-4fe6b3dc-BKWXBz7k.js @@ -1,4 +1,4 @@ -import{c as A,x as yt,y as ft,s as dt,g as pt,b as gt,a as mt,A as xt,h as W,i as kt}from"./mermaid.core-DtSoU78u.js";import{d as _t,f as bt,a as vt,g as it}from"./svgDrawCommon-5ccd53ef-BJyTLJKe.js";import{a as Q}from"./arc-DjSouOTM.js";import"./app-B0fd3cYb.js";import"./path-CbwjOpE9.js";var G=function(){var t=function(p,s,r,a){for(r=r||{},a=p.length;a--;r[p[a]]=s);return r},e=[6,8,10,11,12,14,16,17,18],i=[1,9],l=[1,10],n=[1,11],h=[1,12],c=[1,13],f=[1,14],y={trace:function(){},yy:{},symbols_:{error:2,start:3,journey:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,title:11,acc_title:12,acc_title_value:13,acc_descr:14,acc_descr_value:15,acc_descr_multiline_value:16,section:17,taskName:18,taskData:19,$accept:0,$end:1},terminals_:{2:"error",4:"journey",6:"EOF",8:"SPACE",10:"NEWLINE",11:"title",12:"acc_title",13:"acc_title_value",14:"acc_descr",15:"acc_descr_value",16:"acc_descr_multiline_value",17:"section",18:"taskName",19:"taskData"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,2]],performAction:function(s,r,a,u,d,o,w){var k=o.length-1;switch(d){case 1:return o[k-1];case 2:this.$=[];break;case 3:o[k-1].push(o[k]),this.$=o[k-1];break;case 4:case 5:this.$=o[k];break;case 6:case 7:this.$=[];break;case 8:u.setDiagramTitle(o[k].substr(6)),this.$=o[k].substr(6);break;case 9:this.$=o[k].trim(),u.setAccTitle(this.$);break;case 10:case 11:this.$=o[k].trim(),u.setAccDescription(this.$);break;case 12:u.addSection(o[k].substr(8)),this.$=o[k].substr(8);break;case 13:u.addTask(o[k-1],o[k]),this.$="task";break}},table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:i,12:l,14:n,16:h,17:c,18:f},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:15,11:i,12:l,14:n,16:h,17:c,18:f},t(e,[2,5]),t(e,[2,6]),t(e,[2,8]),{13:[1,16]},{15:[1,17]},t(e,[2,11]),t(e,[2,12]),{19:[1,18]},t(e,[2,4]),t(e,[2,9]),t(e,[2,10]),t(e,[2,13])],defaultActions:{},parseError:function(s,r){if(r.recoverable)this.trace(s);else{var a=new Error(s);throw a.hash=r,a}},parse:function(s){var r=this,a=[0],u=[],d=[null],o=[],w=this.table,k="",R=0,Z=0,lt=2,J=1,ct=o.slice.call(arguments,1),x=Object.create(this.lexer),S={yy:{}};for(var z in this.yy)Object.prototype.hasOwnProperty.call(this.yy,z)&&(S.yy[z]=this.yy[z]);x.setInput(s,S.yy),S.yy.lexer=x,S.yy.parser=this,typeof x.yylloc>"u"&&(x.yylloc={});var Y=x.yylloc;o.push(Y);var ht=x.options&&x.options.ranges;typeof S.yy.parseError=="function"?this.parseError=S.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ut(){var T;return T=u.pop()||x.lex()||J,typeof T!="number"&&(T instanceof Array&&(u=T,T=u.pop()),T=r.symbols_[T]||T),T}for(var _,E,b,O,I={},N,$,K,B;;){if(E=a[a.length-1],this.defaultActions[E]?b=this.defaultActions[E]:((_===null||typeof _>"u")&&(_=ut()),b=w[E]&&w[E][_]),typeof b>"u"||!b.length||!b[0]){var q="";B=[];for(N in w[E])this.terminals_[N]&&N>lt&&B.push("'"+this.terminals_[N]+"'");x.showPosition?q="Parse error on line "+(R+1)+`: +import{c as A,x as yt,y as ft,s as dt,g as pt,b as gt,a as mt,A as xt,h as W,i as kt}from"./mermaid.core-C-ipfzeP.js";import{d as _t,f as bt,a as vt,g as it}from"./svgDrawCommon-5ccd53ef-Cvg07plX.js";import{a as Q}from"./arc-DTqpOiQk.js";import"./app-jADuhdjP.js";import"./path-CbwjOpE9.js";var G=function(){var t=function(p,s,r,a){for(r=r||{},a=p.length;a--;r[p[a]]=s);return r},e=[6,8,10,11,12,14,16,17,18],i=[1,9],l=[1,10],n=[1,11],h=[1,12],c=[1,13],f=[1,14],y={trace:function(){},yy:{},symbols_:{error:2,start:3,journey:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,title:11,acc_title:12,acc_title_value:13,acc_descr:14,acc_descr_value:15,acc_descr_multiline_value:16,section:17,taskName:18,taskData:19,$accept:0,$end:1},terminals_:{2:"error",4:"journey",6:"EOF",8:"SPACE",10:"NEWLINE",11:"title",12:"acc_title",13:"acc_title_value",14:"acc_descr",15:"acc_descr_value",16:"acc_descr_multiline_value",17:"section",18:"taskName",19:"taskData"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,2]],performAction:function(s,r,a,u,d,o,w){var k=o.length-1;switch(d){case 1:return o[k-1];case 2:this.$=[];break;case 3:o[k-1].push(o[k]),this.$=o[k-1];break;case 4:case 5:this.$=o[k];break;case 6:case 7:this.$=[];break;case 8:u.setDiagramTitle(o[k].substr(6)),this.$=o[k].substr(6);break;case 9:this.$=o[k].trim(),u.setAccTitle(this.$);break;case 10:case 11:this.$=o[k].trim(),u.setAccDescription(this.$);break;case 12:u.addSection(o[k].substr(8)),this.$=o[k].substr(8);break;case 13:u.addTask(o[k-1],o[k]),this.$="task";break}},table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:i,12:l,14:n,16:h,17:c,18:f},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:15,11:i,12:l,14:n,16:h,17:c,18:f},t(e,[2,5]),t(e,[2,6]),t(e,[2,8]),{13:[1,16]},{15:[1,17]},t(e,[2,11]),t(e,[2,12]),{19:[1,18]},t(e,[2,4]),t(e,[2,9]),t(e,[2,10]),t(e,[2,13])],defaultActions:{},parseError:function(s,r){if(r.recoverable)this.trace(s);else{var a=new Error(s);throw a.hash=r,a}},parse:function(s){var r=this,a=[0],u=[],d=[null],o=[],w=this.table,k="",R=0,Z=0,lt=2,J=1,ct=o.slice.call(arguments,1),x=Object.create(this.lexer),S={yy:{}};for(var z in this.yy)Object.prototype.hasOwnProperty.call(this.yy,z)&&(S.yy[z]=this.yy[z]);x.setInput(s,S.yy),S.yy.lexer=x,S.yy.parser=this,typeof x.yylloc>"u"&&(x.yylloc={});var Y=x.yylloc;o.push(Y);var ht=x.options&&x.options.ranges;typeof S.yy.parseError=="function"?this.parseError=S.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ut(){var T;return T=u.pop()||x.lex()||J,typeof T!="number"&&(T instanceof Array&&(u=T,T=u.pop()),T=r.symbols_[T]||T),T}for(var _,E,b,O,I={},N,$,K,B;;){if(E=a[a.length-1],this.defaultActions[E]?b=this.defaultActions[E]:((_===null||typeof _>"u")&&(_=ut()),b=w[E]&&w[E][_]),typeof b>"u"||!b.length||!b[0]){var q="";B=[];for(N in w[E])this.terminals_[N]&&N>lt&&B.push("'"+this.terminals_[N]+"'");x.showPosition?q="Parse error on line "+(R+1)+`: `+x.showPosition()+` Expecting `+B.join(", ")+", got '"+(this.terminals_[_]||_)+"'":q="Parse error on line "+(R+1)+": Unexpected "+(_==J?"end of input":"'"+(this.terminals_[_]||_)+"'"),this.parseError(q,{text:x.match,token:this.terminals_[_]||_,line:x.yylineno,loc:Y,expected:B})}if(b[0]instanceof Array&&b.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+_);switch(b[0]){case 1:a.push(_),d.push(x.yytext),o.push(x.yylloc),a.push(b[1]),_=null,Z=x.yyleng,k=x.yytext,R=x.yylineno,Y=x.yylloc;break;case 2:if($=this.productions_[b[1]][1],I.$=d[d.length-$],I._$={first_line:o[o.length-($||1)].first_line,last_line:o[o.length-1].last_line,first_column:o[o.length-($||1)].first_column,last_column:o[o.length-1].last_column},ht&&(I._$.range=[o[o.length-($||1)].range[0],o[o.length-1].range[1]]),O=this.performAction.apply(I,[k,Z,R,S.yy,b[1],d,o].concat(ct)),typeof O<"u")return O;$&&(a=a.slice(0,-1*$*2),d=d.slice(0,-1*$),o=o.slice(0,-1*$)),a.push(this.productions_[b[1]][0]),d.push(I.$),o.push(I._$),K=w[a[a.length-2]][a[a.length-1]],a.push(K);break;case 3:return!0}}return!0}},m=function(){var p={EOF:1,parseError:function(r,a){if(this.yy.parser)this.yy.parser.parseError(r,a);else throw new Error(r)},setInput:function(s,r){return this.yy=r||this.yy||{},this._input=s,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var s=this._input[0];this.yytext+=s,this.yyleng++,this.offset++,this.match+=s,this.matched+=s;var r=s.match(/(?:\r\n?|\n).*/g);return r?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),s},unput:function(s){var r=s.length,a=s.split(/(?:\r\n?|\n)/g);this._input=s+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-r),this.offset-=r;var u=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),a.length-1&&(this.yylineno-=a.length-1);var d=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:a?(a.length===u.length?this.yylloc.first_column:0)+u[u.length-a.length].length-a[0].length:this.yylloc.first_column-r},this.options.ranges&&(this.yylloc.range=[d[0],d[0]+this.yyleng-r]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(s){this.unput(this.match.slice(s))},pastInput:function(){var s=this.matched.substr(0,this.matched.length-this.match.length);return(s.length>20?"...":"")+s.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var s=this.match;return s.length<20&&(s+=this._input.substr(0,20-s.length)),(s.substr(0,20)+(s.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var s=this.pastInput(),r=new Array(s.length+1).join("-");return s+this.upcomingInput()+` diff --git a/assets/layout-DNn7Y9VF.js b/assets/layout-B2i1mAr6.js similarity index 99% rename from assets/layout-DNn7Y9VF.js rename to assets/layout-B2i1mAr6.js index aa3b005..a861ba6 100644 --- a/assets/layout-DNn7Y9VF.js +++ b/assets/layout-B2i1mAr6.js @@ -1 +1 @@ -import{i as F,b as xn,a as zn,c as L,k as Un,d as Hn,e as Kn,g as P,j as En,l as kn,m as yn,t as jn,n as Nn,o as Jn,p as Qn,f as s,G as x,h as w,q as g,r as M,v as y,s as V}from"./graph-GEpVUbdH.js";import{R as A,ag as Zn,ah as ne,ai as ee,a6 as Ln,aj as B,K as _n,_ as re,E as Cn,D as j,a4 as te,ak as ie,a3 as J,a2 as ae,Y as In,Q as oe,a8 as ue,al as H}from"./mermaid.core-DtSoU78u.js";var de=/\s/;function fe(n){for(var e=n.length;e--&&de.test(n.charAt(e)););return e}var se=/^\s+/;function ce(n){return n&&n.slice(0,fe(n)+1).replace(se,"")}var un=NaN,he=/^[-+]0x[0-9a-f]+$/i,le=/^0b[01]+$/i,ve=/^0o[0-7]+$/i,pe=parseInt;function we(n){if(typeof n=="number")return n;if(F(n))return un;if(A(n)){var e=typeof n.valueOf=="function"?n.valueOf():n;n=A(e)?e+"":e}if(typeof n!="string")return n===0?n:+n;n=ce(n);var r=le.test(n);return r||ve.test(n)?pe(n.slice(2),r?2:8):he.test(n)?un:+n}var dn=1/0,me=17976931348623157e292;function S(n){if(!n)return n===0?n:0;if(n=we(n),n===dn||n===-dn){var e=n<0?-1:1;return e*me}return n===n?n:0}function be(n){var e=S(n),r=e%1;return e===e?r?e-r:e:0}function _(n){var e=n==null?0:n.length;return e?xn(n,1):[]}function ge(n){return Zn(ne(n,void 0,_),n+"")}var xe=1,Ee=4;function ke(n){return zn(n,xe|Ee)}var fn=function(){return ee.Date.now()},Rn=Object.prototype,ye=Rn.hasOwnProperty,Ne=Ln(function(n,e){n=Object(n);var r=-1,t=e.length,i=t>2?e[2]:void 0;for(i&&B(e[0],e[1],i)&&(t=1);++r-1?i[o?e[a]:a]:void 0}}var Ce=Math.max;function Ie(n,e,r){var t=n==null?0:n.length;if(!t)return-1;var i=r==null?0:be(r);return i<0&&(i=Ce(t+i,0)),Hn(n,L(e),i)}var Q=_e(Ie);function Tn(n,e){var r=-1,t=Cn(n)?Array(n.length):[];return Kn(n,function(i,o,a){t[++r]=e(i,o,a)}),t}function m(n,e){var r=j(n)?P:Tn;return r(n,L(e))}function Re(n,e){return n==null?n:te(n,En(e),_n)}function Te(n,e){return n&&kn(n,En(e))}function Me(n,e){return n>e}function Mn(n,e){return ne||o&&a&&d&&!u&&!f||t&&a&&d||!r&&d||!i)return 1;if(!t&&!o&&!f&&n=u)return d;var f=r[t];return d*(f=="desc"?-1:1)}}return n.index-e.index}function Be(n,e,r){e.length?e=P(e,function(o){return j(o)?function(a){return Nn(a,o.length===1?o[0]:o)}:o}):e=[J];var t=-1;e=P(e,oe(L));var i=Tn(n,function(o,a,u){var d=P(e,function(f){return f(o)});return{criteria:d,index:++t,value:o}});return Se(i,function(o,a){return Ae(o,a,r)})}function Ge(n,e){return Pe(n,e,function(r,t){return Jn(n,t)})}var Y=ge(function(n,e){return n==null?{}:Ge(n,e)}),Ye=Math.ceil,Ve=Math.max;function $e(n,e,r,t){for(var i=-1,o=Ve(Ye((e-n)/(r||1)),0),a=Array(o);o--;)a[t?o:++i]=n,n+=r;return a}function De(n){return function(e,r,t){return t&&typeof t!="number"&&B(e,r,t)&&(r=t=void 0),e=S(e),r===void 0?(r=e,e=0):r=S(r),t=t===void 0?e1&&B(n,e[0],e[1])?e=[]:r>2&&B(e[0],e[1],e[2])&&(e=[e[0]]),Be(n,xn(e,1),[])}),qe=0;function en(n){var e=++qe;return Qn(n)+e}function We(n,e,r){for(var t=-1,i=n.length,o=e.length,a={};++t0;--u)if(a=e[u].dequeue(),a){t=t.concat(q(n,e,r,a,!0));break}}}return t}function q(n,e,r,t,i){var o=i?[]:void 0;return s(n.inEdges(t.v),function(a){var u=n.edge(a),d=n.node(a.v);i&&o.push({v:a.v,w:a.w}),d.out-=u,K(e,r,d)}),s(n.outEdges(t.v),function(a){var u=n.edge(a),d=a.w,f=n.node(d);f.in-=u,K(e,r,f)}),n.removeNode(t.v),o}function Je(n,e){var r=new x,t=0,i=0;s(n.nodes(),function(u){r.setNode(u,{v:u,in:0,out:0})}),s(n.edges(),function(u){var d=r.edge(u.v,u.w)||0,f=e(u),c=d+f;r.setEdge(u.v,u.w,c),i=Math.max(i,r.node(u.v).out+=f),t=Math.max(t,r.node(u.w).in+=f)});var o=N(i+t+3).map(function(){return new ze}),a=t+1;return s(r.nodes(),function(u){K(o,a,r.node(u))}),{graph:r,buckets:o,zeroIdx:a}}function K(n,e,r){r.out?r.in?n[r.out-r.in+e].enqueue(r):n[n.length-1].enqueue(r):n[0].enqueue(r)}function Qe(n){var e=n.graph().acyclicer==="greedy"?Ke(n,r(n)):Ze(n);s(e,function(t){var i=n.edge(t);n.removeEdge(t),i.forwardName=t.name,i.reversed=!0,n.setEdge(t.w,t.v,i,en("rev"))});function r(t){return function(i){return t.edge(i).weight}}}function Ze(n){var e=[],r={},t={};function i(o){w(t,o)||(t[o]=!0,r[o]=!0,s(n.outEdges(o),function(a){w(r,a.w)?e.push(a):i(a.w)}),delete r[o])}return s(n.nodes(),i),e}function nr(n){s(n.edges(),function(e){var r=n.edge(e);if(r.reversed){n.removeEdge(e);var t=r.forwardName;delete r.reversed,delete r.forwardName,n.setEdge(e.w,e.v,r,t)}})}function C(n,e,r,t){var i;do i=en(t);while(n.hasNode(i));return r.dummy=e,n.setNode(i,r),i}function er(n){var e=new x().setGraph(n.graph());return s(n.nodes(),function(r){e.setNode(r,n.node(r))}),s(n.edges(),function(r){var t=e.edge(r.v,r.w)||{weight:0,minlen:1},i=n.edge(r);e.setEdge(r.v,r.w,{weight:t.weight+i.weight,minlen:Math.max(t.minlen,i.minlen)})}),e}function On(n){var e=new x({multigraph:n.isMultigraph()}).setGraph(n.graph());return s(n.nodes(),function(r){n.children(r).length||e.setNode(r,n.node(r))}),s(n.edges(),function(r){e.setEdge(r,n.edge(r))}),e}function cn(n,e){var r=n.x,t=n.y,i=e.x-r,o=e.y-t,a=n.width/2,u=n.height/2;if(!i&&!o)throw new Error("Not possible to find intersection inside of the rectangle");var d,f;return Math.abs(o)*a>Math.abs(i)*u?(o<0&&(u=-u),d=u*i/o,f=u):(i<0&&(a=-a),d=a,f=a*o/i),{x:r+d,y:t+f}}function D(n){var e=m(N(Pn(n)+1),function(){return[]});return s(n.nodes(),function(r){var t=n.node(r),i=t.rank;g(i)||(e[i][t.order]=r)}),e}function rr(n){var e=R(m(n.nodes(),function(r){return n.node(r).rank}));s(n.nodes(),function(r){var t=n.node(r);w(t,"rank")&&(t.rank-=e)})}function tr(n){var e=R(m(n.nodes(),function(o){return n.node(o).rank})),r=[];s(n.nodes(),function(o){var a=n.node(o).rank-e;r[a]||(r[a]=[]),r[a].push(o)});var t=0,i=n.graph().nodeRankFactor;s(r,function(o,a){g(o)&&a%i!==0?--t:t&&s(o,function(u){n.node(u).rank+=t})})}function hn(n,e,r,t){var i={width:0,height:0};return arguments.length>=4&&(i.rank=r,i.order=t),C(n,"border",i,e)}function Pn(n){return E(m(n.nodes(),function(e){var r=n.node(e).rank;if(!g(r))return r}))}function ir(n,e){var r={lhs:[],rhs:[]};return s(n,function(t){e(t)?r.lhs.push(t):r.rhs.push(t)}),r}function ar(n,e){var r=fn();try{return e()}finally{console.log(n+" time: "+(fn()-r)+"ms")}}function or(n,e){return e()}function ur(n){function e(r){var t=n.children(r),i=n.node(r);if(t.length&&s(t,e),w(i,"minRank")){i.borderLeft=[],i.borderRight=[];for(var o=i.minRank,a=i.maxRank+1;oa.lim&&(u=a,d=!0);var f=M(e.edges(),function(c){return d===pn(n,n.node(c.v),u)&&d!==pn(n,n.node(c.w),u)});return nn(f,function(c){return T(e,c)})}function Dn(n,e,r,t){var i=r.v,o=r.w;n.removeEdge(i,o),n.setEdge(t.v,t.w,{}),an(n),tn(n,e),kr(n,e)}function kr(n,e){var r=Q(n.nodes(),function(i){return!e.node(i).parent}),t=xr(n,r);t=t.slice(1),s(t,function(i){var o=n.node(i).parent,a=e.edge(i,o),u=!1;a||(a=e.edge(o,i),u=!0),e.node(i).rank=e.node(o).rank+(u?a.minlen:-a.minlen)})}function yr(n,e,r){return n.hasEdge(e,r)}function pn(n,e,r){return r.low<=e.lim&&e.lim<=r.lim}function Nr(n){switch(n.graph().ranker){case"network-simplex":wn(n);break;case"tight-tree":_r(n);break;case"longest-path":Lr(n);break;default:wn(n)}}var Lr=rn;function _r(n){rn(n),Fn(n)}function wn(n){k(n)}function Cr(n){var e=C(n,"root",{},"_root"),r=Ir(n),t=E(y(r))-1,i=2*t+1;n.graph().nestingRoot=e,s(n.edges(),function(a){n.edge(a).minlen*=i});var o=Rr(n)+1;s(n.children(),function(a){qn(n,e,i,o,t,r,a)}),n.graph().nodeRankFactor=i}function qn(n,e,r,t,i,o,a){var u=n.children(a);if(!u.length){a!==e&&n.setEdge(e,a,{weight:0,minlen:r});return}var d=hn(n,"_bt"),f=hn(n,"_bb"),c=n.node(a);n.setParent(d,a),c.borderTop=d,n.setParent(f,a),c.borderBottom=f,s(u,function(h){qn(n,e,r,t,i,o,h);var l=n.node(h),v=l.borderTop?l.borderTop:h,p=l.borderBottom?l.borderBottom:h,b=l.borderTop?t:2*t,I=v!==p?1:i-o[a]+1;n.setEdge(d,v,{weight:b,minlen:I,nestingEdge:!0}),n.setEdge(p,f,{weight:b,minlen:I,nestingEdge:!0})}),n.parent(a)||n.setEdge(e,d,{weight:0,minlen:i+o[a]})}function Ir(n){var e={};function r(t,i){var o=n.children(t);o&&o.length&&s(o,function(a){r(a,i+1)}),e[t]=i}return s(n.children(),function(t){r(t,1)}),e}function Rr(n){return V(n.edges(),function(e,r){return e+n.edge(r).weight},0)}function Tr(n){var e=n.graph();n.removeNode(e.nestingRoot),delete e.nestingRoot,s(n.edges(),function(r){var t=n.edge(r);t.nestingEdge&&n.removeEdge(r)})}function Mr(n,e,r){var t={},i;s(r,function(o){for(var a=n.parent(o),u,d;a;){if(u=n.parent(a),u?(d=t[u],t[u]=a):(d=i,i=a),d&&d!==a){e.setEdge(d,a);return}a=u}})}function Or(n,e,r){var t=Pr(n),i=new x({compound:!0}).setGraph({root:t}).setDefaultNodeLabel(function(o){return n.node(o)});return s(n.nodes(),function(o){var a=n.node(o),u=n.parent(o);(a.rank===e||a.minRank<=e&&e<=a.maxRank)&&(i.setNode(o),i.setParent(o,u||t),s(n[r](o),function(d){var f=d.v===o?d.w:d.v,c=i.edge(f,o),h=g(c)?0:c.weight;i.setEdge(f,o,{weight:n.edge(d).weight+h})}),w(a,"minRank")&&i.setNode(o,{borderLeft:a.borderLeft[e],borderRight:a.borderRight[e]}))}),i}function Pr(n){for(var e;n.hasNode(e=en("_root")););return e}function Sr(n,e){for(var r=0,t=1;t0;)c%2&&(h+=u[c+1]),c=c-1>>1,u[c]+=f.weight;d+=f.weight*h})),d}function Ar(n){var e={},r=M(n.nodes(),function(u){return!n.children(u).length}),t=E(m(r,function(u){return n.node(u).rank})),i=m(N(t+1),function(){return[]});function o(u){if(!w(e,u)){e[u]=!0;var d=n.node(u);i[d.rank].push(u),s(n.successors(u),o)}}var a=O(r,function(u){return n.node(u).rank});return s(a,o),i}function Br(n,e){return m(e,function(r){var t=n.inEdges(r);if(t.length){var i=V(t,function(o,a){var u=n.edge(a),d=n.node(a.v);return{sum:o.sum+u.weight*d.order,weight:o.weight+u.weight}},{sum:0,weight:0});return{v:r,barycenter:i.sum/i.weight,weight:i.weight}}else return{v:r}})}function Gr(n,e){var r={};s(n,function(i,o){var a=r[i.v]={indegree:0,in:[],out:[],vs:[i.v],i:o};g(i.barycenter)||(a.barycenter=i.barycenter,a.weight=i.weight)}),s(e.edges(),function(i){var o=r[i.v],a=r[i.w];!g(o)&&!g(a)&&(a.indegree++,o.out.push(r[i.w]))});var t=M(r,function(i){return!i.indegree});return Yr(t)}function Yr(n){var e=[];function r(o){return function(a){a.merged||(g(a.barycenter)||g(o.barycenter)||a.barycenter>=o.barycenter)&&Vr(o,a)}}function t(o){return function(a){a.in.push(o),--a.indegree===0&&n.push(a)}}for(;n.length;){var i=n.pop();e.push(i),s(i.in.reverse(),r(i)),s(i.out,t(i))}return m(M(e,function(o){return!o.merged}),function(o){return Y(o,["vs","i","barycenter","weight"])})}function Vr(n,e){var r=0,t=0;n.weight&&(r+=n.barycenter*n.weight,t+=n.weight),e.weight&&(r+=e.barycenter*e.weight,t+=e.weight),n.vs=e.vs.concat(n.vs),n.barycenter=r/t,n.weight=t,n.i=Math.min(e.i,n.i),e.merged=!0}function $r(n,e){var r=ir(n,function(c){return w(c,"barycenter")}),t=r.lhs,i=O(r.rhs,function(c){return-c.i}),o=[],a=0,u=0,d=0;t.sort(Dr(!!e)),d=mn(o,i,d),s(t,function(c){d+=c.vs.length,o.push(c.vs),a+=c.barycenter*c.weight,u+=c.weight,d=mn(o,i,d)});var f={vs:_(o)};return u&&(f.barycenter=a/u,f.weight=u),f}function mn(n,e,r){for(var t;e.length&&(t=G(e)).i<=r;)e.pop(),n.push(t.vs),r++;return r}function Dr(n){return function(e,r){return e.barycenterr.barycenter?1:n?r.i-e.i:e.i-r.i}}function Wn(n,e,r,t){var i=n.children(e),o=n.node(e),a=o?o.borderLeft:void 0,u=o?o.borderRight:void 0,d={};a&&(i=M(i,function(p){return p!==a&&p!==u}));var f=Br(n,i);s(f,function(p){if(n.children(p.v).length){var b=Wn(n,p.v,r,t);d[p.v]=b,w(b,"barycenter")&&Wr(p,b)}});var c=Gr(f,r);qr(c,d);var h=$r(c,t);if(a&&(h.vs=_([a,h.vs,u]),n.predecessors(a).length)){var l=n.node(n.predecessors(a)[0]),v=n.node(n.predecessors(u)[0]);w(h,"barycenter")||(h.barycenter=0,h.weight=0),h.barycenter=(h.barycenter*h.weight+l.order+v.order)/(h.weight+2),h.weight+=2}return h}function qr(n,e){s(n,function(r){r.vs=_(r.vs.map(function(t){return e[t]?e[t].vs:t}))})}function Wr(n,e){g(n.barycenter)?(n.barycenter=e.barycenter,n.weight=e.weight):(n.barycenter=(n.barycenter*n.weight+e.barycenter*e.weight)/(n.weight+e.weight),n.weight+=e.weight)}function Xr(n){var e=Pn(n),r=bn(n,N(1,e+1),"inEdges"),t=bn(n,N(e-1,-1,-1),"outEdges"),i=Ar(n);gn(n,i);for(var o=Number.POSITIVE_INFINITY,a,u=0,d=0;d<4;++u,++d){zr(u%2?r:t,u%4>=2),i=D(n);var f=Sr(n,i);fa||u>e[d].lim));for(f=d,d=t;(d=n.parent(d))!==f;)o.push(d);return{path:i.concat(o.reverse()),lca:f}}function Kr(n){var e={},r=0;function t(i){var o=r;s(n.children(i),t),e[i]={low:o,lim:r++}}return s(n.children(),t),e}function jr(n,e){var r={};function t(i,o){var a=0,u=0,d=i.length,f=G(o);return s(o,function(c,h){var l=Qr(n,c),v=l?n.node(l).order:d;(l||c===f)&&(s(o.slice(u,h+1),function(p){s(n.predecessors(p),function(b){var I=n.node(b),on=I.order;(onf)&&Xn(r,l,c)})})}function i(o,a){var u=-1,d,f=0;return s(a,function(c,h){if(n.node(c).dummy==="border"){var l=n.predecessors(c);l.length&&(d=n.node(l[0]).order,t(a,f,h,u,d),f=h,u=d)}t(a,f,a.length,d,o.length)}),a}return V(e,i),r}function Qr(n,e){if(n.node(e).dummy)return Q(n.predecessors(e),function(r){return n.node(r).dummy})}function Xn(n,e,r){if(e>r){var t=e;e=r,r=t}var i=n[e];i||(n[e]=i={}),i[r]=!0}function Zr(n,e,r){if(e>r){var t=e;e=r,r=t}return w(n[e],r)}function nt(n,e,r,t){var i={},o={},a={};return s(e,function(u){s(u,function(d,f){i[d]=d,o[d]=d,a[d]=f})}),s(e,function(u){var d=-1;s(u,function(f){var c=t(f);if(c.length){c=O(c,function(b){return a[b]});for(var h=(c.length-1)/2,l=Math.floor(h),v=Math.ceil(h);l<=v;++l){var p=c[l];o[f]===f&&d2?e[2]:void 0;for(i&&B(e[0],e[1],i)&&(t=1);++r-1?i[o?e[a]:a]:void 0}}var Ce=Math.max;function Ie(n,e,r){var t=n==null?0:n.length;if(!t)return-1;var i=r==null?0:be(r);return i<0&&(i=Ce(t+i,0)),Hn(n,L(e),i)}var Q=_e(Ie);function Tn(n,e){var r=-1,t=Cn(n)?Array(n.length):[];return Kn(n,function(i,o,a){t[++r]=e(i,o,a)}),t}function m(n,e){var r=j(n)?P:Tn;return r(n,L(e))}function Re(n,e){return n==null?n:te(n,En(e),_n)}function Te(n,e){return n&&kn(n,En(e))}function Me(n,e){return n>e}function Mn(n,e){return ne||o&&a&&d&&!u&&!f||t&&a&&d||!r&&d||!i)return 1;if(!t&&!o&&!f&&n=u)return d;var f=r[t];return d*(f=="desc"?-1:1)}}return n.index-e.index}function Be(n,e,r){e.length?e=P(e,function(o){return j(o)?function(a){return Nn(a,o.length===1?o[0]:o)}:o}):e=[J];var t=-1;e=P(e,oe(L));var i=Tn(n,function(o,a,u){var d=P(e,function(f){return f(o)});return{criteria:d,index:++t,value:o}});return Se(i,function(o,a){return Ae(o,a,r)})}function Ge(n,e){return Pe(n,e,function(r,t){return Jn(n,t)})}var Y=ge(function(n,e){return n==null?{}:Ge(n,e)}),Ye=Math.ceil,Ve=Math.max;function $e(n,e,r,t){for(var i=-1,o=Ve(Ye((e-n)/(r||1)),0),a=Array(o);o--;)a[t?o:++i]=n,n+=r;return a}function De(n){return function(e,r,t){return t&&typeof t!="number"&&B(e,r,t)&&(r=t=void 0),e=S(e),r===void 0?(r=e,e=0):r=S(r),t=t===void 0?e1&&B(n,e[0],e[1])?e=[]:r>2&&B(e[0],e[1],e[2])&&(e=[e[0]]),Be(n,xn(e,1),[])}),qe=0;function en(n){var e=++qe;return Qn(n)+e}function We(n,e,r){for(var t=-1,i=n.length,o=e.length,a={};++t0;--u)if(a=e[u].dequeue(),a){t=t.concat(q(n,e,r,a,!0));break}}}return t}function q(n,e,r,t,i){var o=i?[]:void 0;return s(n.inEdges(t.v),function(a){var u=n.edge(a),d=n.node(a.v);i&&o.push({v:a.v,w:a.w}),d.out-=u,K(e,r,d)}),s(n.outEdges(t.v),function(a){var u=n.edge(a),d=a.w,f=n.node(d);f.in-=u,K(e,r,f)}),n.removeNode(t.v),o}function Je(n,e){var r=new x,t=0,i=0;s(n.nodes(),function(u){r.setNode(u,{v:u,in:0,out:0})}),s(n.edges(),function(u){var d=r.edge(u.v,u.w)||0,f=e(u),c=d+f;r.setEdge(u.v,u.w,c),i=Math.max(i,r.node(u.v).out+=f),t=Math.max(t,r.node(u.w).in+=f)});var o=N(i+t+3).map(function(){return new ze}),a=t+1;return s(r.nodes(),function(u){K(o,a,r.node(u))}),{graph:r,buckets:o,zeroIdx:a}}function K(n,e,r){r.out?r.in?n[r.out-r.in+e].enqueue(r):n[n.length-1].enqueue(r):n[0].enqueue(r)}function Qe(n){var e=n.graph().acyclicer==="greedy"?Ke(n,r(n)):Ze(n);s(e,function(t){var i=n.edge(t);n.removeEdge(t),i.forwardName=t.name,i.reversed=!0,n.setEdge(t.w,t.v,i,en("rev"))});function r(t){return function(i){return t.edge(i).weight}}}function Ze(n){var e=[],r={},t={};function i(o){w(t,o)||(t[o]=!0,r[o]=!0,s(n.outEdges(o),function(a){w(r,a.w)?e.push(a):i(a.w)}),delete r[o])}return s(n.nodes(),i),e}function nr(n){s(n.edges(),function(e){var r=n.edge(e);if(r.reversed){n.removeEdge(e);var t=r.forwardName;delete r.reversed,delete r.forwardName,n.setEdge(e.w,e.v,r,t)}})}function C(n,e,r,t){var i;do i=en(t);while(n.hasNode(i));return r.dummy=e,n.setNode(i,r),i}function er(n){var e=new x().setGraph(n.graph());return s(n.nodes(),function(r){e.setNode(r,n.node(r))}),s(n.edges(),function(r){var t=e.edge(r.v,r.w)||{weight:0,minlen:1},i=n.edge(r);e.setEdge(r.v,r.w,{weight:t.weight+i.weight,minlen:Math.max(t.minlen,i.minlen)})}),e}function On(n){var e=new x({multigraph:n.isMultigraph()}).setGraph(n.graph());return s(n.nodes(),function(r){n.children(r).length||e.setNode(r,n.node(r))}),s(n.edges(),function(r){e.setEdge(r,n.edge(r))}),e}function cn(n,e){var r=n.x,t=n.y,i=e.x-r,o=e.y-t,a=n.width/2,u=n.height/2;if(!i&&!o)throw new Error("Not possible to find intersection inside of the rectangle");var d,f;return Math.abs(o)*a>Math.abs(i)*u?(o<0&&(u=-u),d=u*i/o,f=u):(i<0&&(a=-a),d=a,f=a*o/i),{x:r+d,y:t+f}}function D(n){var e=m(N(Pn(n)+1),function(){return[]});return s(n.nodes(),function(r){var t=n.node(r),i=t.rank;g(i)||(e[i][t.order]=r)}),e}function rr(n){var e=R(m(n.nodes(),function(r){return n.node(r).rank}));s(n.nodes(),function(r){var t=n.node(r);w(t,"rank")&&(t.rank-=e)})}function tr(n){var e=R(m(n.nodes(),function(o){return n.node(o).rank})),r=[];s(n.nodes(),function(o){var a=n.node(o).rank-e;r[a]||(r[a]=[]),r[a].push(o)});var t=0,i=n.graph().nodeRankFactor;s(r,function(o,a){g(o)&&a%i!==0?--t:t&&s(o,function(u){n.node(u).rank+=t})})}function hn(n,e,r,t){var i={width:0,height:0};return arguments.length>=4&&(i.rank=r,i.order=t),C(n,"border",i,e)}function Pn(n){return E(m(n.nodes(),function(e){var r=n.node(e).rank;if(!g(r))return r}))}function ir(n,e){var r={lhs:[],rhs:[]};return s(n,function(t){e(t)?r.lhs.push(t):r.rhs.push(t)}),r}function ar(n,e){var r=fn();try{return e()}finally{console.log(n+" time: "+(fn()-r)+"ms")}}function or(n,e){return e()}function ur(n){function e(r){var t=n.children(r),i=n.node(r);if(t.length&&s(t,e),w(i,"minRank")){i.borderLeft=[],i.borderRight=[];for(var o=i.minRank,a=i.maxRank+1;oa.lim&&(u=a,d=!0);var f=M(e.edges(),function(c){return d===pn(n,n.node(c.v),u)&&d!==pn(n,n.node(c.w),u)});return nn(f,function(c){return T(e,c)})}function Dn(n,e,r,t){var i=r.v,o=r.w;n.removeEdge(i,o),n.setEdge(t.v,t.w,{}),an(n),tn(n,e),kr(n,e)}function kr(n,e){var r=Q(n.nodes(),function(i){return!e.node(i).parent}),t=xr(n,r);t=t.slice(1),s(t,function(i){var o=n.node(i).parent,a=e.edge(i,o),u=!1;a||(a=e.edge(o,i),u=!0),e.node(i).rank=e.node(o).rank+(u?a.minlen:-a.minlen)})}function yr(n,e,r){return n.hasEdge(e,r)}function pn(n,e,r){return r.low<=e.lim&&e.lim<=r.lim}function Nr(n){switch(n.graph().ranker){case"network-simplex":wn(n);break;case"tight-tree":_r(n);break;case"longest-path":Lr(n);break;default:wn(n)}}var Lr=rn;function _r(n){rn(n),Fn(n)}function wn(n){k(n)}function Cr(n){var e=C(n,"root",{},"_root"),r=Ir(n),t=E(y(r))-1,i=2*t+1;n.graph().nestingRoot=e,s(n.edges(),function(a){n.edge(a).minlen*=i});var o=Rr(n)+1;s(n.children(),function(a){qn(n,e,i,o,t,r,a)}),n.graph().nodeRankFactor=i}function qn(n,e,r,t,i,o,a){var u=n.children(a);if(!u.length){a!==e&&n.setEdge(e,a,{weight:0,minlen:r});return}var d=hn(n,"_bt"),f=hn(n,"_bb"),c=n.node(a);n.setParent(d,a),c.borderTop=d,n.setParent(f,a),c.borderBottom=f,s(u,function(h){qn(n,e,r,t,i,o,h);var l=n.node(h),v=l.borderTop?l.borderTop:h,p=l.borderBottom?l.borderBottom:h,b=l.borderTop?t:2*t,I=v!==p?1:i-o[a]+1;n.setEdge(d,v,{weight:b,minlen:I,nestingEdge:!0}),n.setEdge(p,f,{weight:b,minlen:I,nestingEdge:!0})}),n.parent(a)||n.setEdge(e,d,{weight:0,minlen:i+o[a]})}function Ir(n){var e={};function r(t,i){var o=n.children(t);o&&o.length&&s(o,function(a){r(a,i+1)}),e[t]=i}return s(n.children(),function(t){r(t,1)}),e}function Rr(n){return V(n.edges(),function(e,r){return e+n.edge(r).weight},0)}function Tr(n){var e=n.graph();n.removeNode(e.nestingRoot),delete e.nestingRoot,s(n.edges(),function(r){var t=n.edge(r);t.nestingEdge&&n.removeEdge(r)})}function Mr(n,e,r){var t={},i;s(r,function(o){for(var a=n.parent(o),u,d;a;){if(u=n.parent(a),u?(d=t[u],t[u]=a):(d=i,i=a),d&&d!==a){e.setEdge(d,a);return}a=u}})}function Or(n,e,r){var t=Pr(n),i=new x({compound:!0}).setGraph({root:t}).setDefaultNodeLabel(function(o){return n.node(o)});return s(n.nodes(),function(o){var a=n.node(o),u=n.parent(o);(a.rank===e||a.minRank<=e&&e<=a.maxRank)&&(i.setNode(o),i.setParent(o,u||t),s(n[r](o),function(d){var f=d.v===o?d.w:d.v,c=i.edge(f,o),h=g(c)?0:c.weight;i.setEdge(f,o,{weight:n.edge(d).weight+h})}),w(a,"minRank")&&i.setNode(o,{borderLeft:a.borderLeft[e],borderRight:a.borderRight[e]}))}),i}function Pr(n){for(var e;n.hasNode(e=en("_root")););return e}function Sr(n,e){for(var r=0,t=1;t0;)c%2&&(h+=u[c+1]),c=c-1>>1,u[c]+=f.weight;d+=f.weight*h})),d}function Ar(n){var e={},r=M(n.nodes(),function(u){return!n.children(u).length}),t=E(m(r,function(u){return n.node(u).rank})),i=m(N(t+1),function(){return[]});function o(u){if(!w(e,u)){e[u]=!0;var d=n.node(u);i[d.rank].push(u),s(n.successors(u),o)}}var a=O(r,function(u){return n.node(u).rank});return s(a,o),i}function Br(n,e){return m(e,function(r){var t=n.inEdges(r);if(t.length){var i=V(t,function(o,a){var u=n.edge(a),d=n.node(a.v);return{sum:o.sum+u.weight*d.order,weight:o.weight+u.weight}},{sum:0,weight:0});return{v:r,barycenter:i.sum/i.weight,weight:i.weight}}else return{v:r}})}function Gr(n,e){var r={};s(n,function(i,o){var a=r[i.v]={indegree:0,in:[],out:[],vs:[i.v],i:o};g(i.barycenter)||(a.barycenter=i.barycenter,a.weight=i.weight)}),s(e.edges(),function(i){var o=r[i.v],a=r[i.w];!g(o)&&!g(a)&&(a.indegree++,o.out.push(r[i.w]))});var t=M(r,function(i){return!i.indegree});return Yr(t)}function Yr(n){var e=[];function r(o){return function(a){a.merged||(g(a.barycenter)||g(o.barycenter)||a.barycenter>=o.barycenter)&&Vr(o,a)}}function t(o){return function(a){a.in.push(o),--a.indegree===0&&n.push(a)}}for(;n.length;){var i=n.pop();e.push(i),s(i.in.reverse(),r(i)),s(i.out,t(i))}return m(M(e,function(o){return!o.merged}),function(o){return Y(o,["vs","i","barycenter","weight"])})}function Vr(n,e){var r=0,t=0;n.weight&&(r+=n.barycenter*n.weight,t+=n.weight),e.weight&&(r+=e.barycenter*e.weight,t+=e.weight),n.vs=e.vs.concat(n.vs),n.barycenter=r/t,n.weight=t,n.i=Math.min(e.i,n.i),e.merged=!0}function $r(n,e){var r=ir(n,function(c){return w(c,"barycenter")}),t=r.lhs,i=O(r.rhs,function(c){return-c.i}),o=[],a=0,u=0,d=0;t.sort(Dr(!!e)),d=mn(o,i,d),s(t,function(c){d+=c.vs.length,o.push(c.vs),a+=c.barycenter*c.weight,u+=c.weight,d=mn(o,i,d)});var f={vs:_(o)};return u&&(f.barycenter=a/u,f.weight=u),f}function mn(n,e,r){for(var t;e.length&&(t=G(e)).i<=r;)e.pop(),n.push(t.vs),r++;return r}function Dr(n){return function(e,r){return e.barycenterr.barycenter?1:n?r.i-e.i:e.i-r.i}}function Wn(n,e,r,t){var i=n.children(e),o=n.node(e),a=o?o.borderLeft:void 0,u=o?o.borderRight:void 0,d={};a&&(i=M(i,function(p){return p!==a&&p!==u}));var f=Br(n,i);s(f,function(p){if(n.children(p.v).length){var b=Wn(n,p.v,r,t);d[p.v]=b,w(b,"barycenter")&&Wr(p,b)}});var c=Gr(f,r);qr(c,d);var h=$r(c,t);if(a&&(h.vs=_([a,h.vs,u]),n.predecessors(a).length)){var l=n.node(n.predecessors(a)[0]),v=n.node(n.predecessors(u)[0]);w(h,"barycenter")||(h.barycenter=0,h.weight=0),h.barycenter=(h.barycenter*h.weight+l.order+v.order)/(h.weight+2),h.weight+=2}return h}function qr(n,e){s(n,function(r){r.vs=_(r.vs.map(function(t){return e[t]?e[t].vs:t}))})}function Wr(n,e){g(n.barycenter)?(n.barycenter=e.barycenter,n.weight=e.weight):(n.barycenter=(n.barycenter*n.weight+e.barycenter*e.weight)/(n.weight+e.weight),n.weight+=e.weight)}function Xr(n){var e=Pn(n),r=bn(n,N(1,e+1),"inEdges"),t=bn(n,N(e-1,-1,-1),"outEdges"),i=Ar(n);gn(n,i);for(var o=Number.POSITIVE_INFINITY,a,u=0,d=0;d<4;++u,++d){zr(u%2?r:t,u%4>=2),i=D(n);var f=Sr(n,i);fa||u>e[d].lim));for(f=d,d=t;(d=n.parent(d))!==f;)o.push(d);return{path:i.concat(o.reverse()),lca:f}}function Kr(n){var e={},r=0;function t(i){var o=r;s(n.children(i),t),e[i]={low:o,lim:r++}}return s(n.children(),t),e}function jr(n,e){var r={};function t(i,o){var a=0,u=0,d=i.length,f=G(o);return s(o,function(c,h){var l=Qr(n,c),v=l?n.node(l).order:d;(l||c===f)&&(s(o.slice(u,h+1),function(p){s(n.predecessors(p),function(b){var I=n.node(b),on=I.order;(onf)&&Xn(r,l,c)})})}function i(o,a){var u=-1,d,f=0;return s(a,function(c,h){if(n.node(c).dummy==="border"){var l=n.predecessors(c);l.length&&(d=n.node(l[0]).order,t(a,f,h,u,d),f=h,u=d)}t(a,f,a.length,d,o.length)}),a}return V(e,i),r}function Qr(n,e){if(n.node(e).dummy)return Q(n.predecessors(e),function(r){return n.node(r).dummy})}function Xn(n,e,r){if(e>r){var t=e;e=r,r=t}var i=n[e];i||(n[e]=i={}),i[r]=!0}function Zr(n,e,r){if(e>r){var t=e;e=r,r=t}return w(n[e],r)}function nt(n,e,r,t){var i={},o={},a={};return s(e,function(u){s(u,function(d,f){i[d]=d,o[d]=d,a[d]=f})}),s(e,function(u){var d=-1;s(u,function(f){var c=t(f);if(c.length){c=O(c,function(b){return a[b]});for(var h=(c.length-1)/2,l=Math.floor(h),v=Math.ceil(h);l<=v;++l){var p=c[l];o[f]===f&&dt?1:n>=t?0:NaN}function hn(n,t){return n==null||t==null?NaN:tn?1:t>=n?0:NaN}function _(n){let t,e,r;n.length!==2?(t=$,e=(u,c)=>$(n(u),c),r=(u,c)=>n(u)-c):(t=n===$||n===hn?n:mn,e=n,r=n);function i(u,c,o=0,s=u.length){if(o>>1;e(u[h],c)<0?o=h+1:s=h}while(o>>1;e(u[h],c)<=0?o=h+1:s=h}while(oo&&r(u[h-1],c)>-r(u[h],c)?h-1:h}return{left:i,center:a,right:f}}function mn(){return 0}function ln(n){return n===null?NaN:+n}const sn=_($),dn=sn.right;_(ln).center;const gn=Math.sqrt(50),yn=Math.sqrt(10),Mn=Math.sqrt(2);function R(n,t,e){const r=(t-n)/Math.max(0,e),i=Math.floor(Math.log10(r)),f=r/Math.pow(10,i),a=f>=gn?10:f>=yn?5:f>=Mn?2:1;let u,c,o;return i<0?(o=Math.pow(10,-i)/a,u=Math.round(n*o),c=Math.round(t*o),u/ot&&--c,o=-o):(o=Math.pow(10,i)*a,u=Math.round(n/o),c=Math.round(t/o),u*ot&&--c),c0))return[];if(n===t)return[n];const r=t=i))return[];const u=f-i+1,c=new Array(u);if(r)if(a<0)for(let o=0;o=1e21?n.toLocaleString("en").replace(/,/g,""):n.toString(10)}function E(n,t){if((e=(n=t?n.toExponential(t-1):n.toExponential()).indexOf("e"))<0)return null;var e,r=n.slice(0,e);return[r.length>1?r[0]+r.slice(2):r,+n.slice(e+1)]}function v(n){return n=E(Math.abs(n)),n?n[1]:NaN}function jn(n,t){return function(e,r){for(var i=e.length,f=[],a=0,u=n[0],c=0;i>0&&u>0&&(c+u+1>r&&(u=Math.max(1,r-c)),f.push(e.substring(i-=u,i+u)),!((c+=u+1)>r));)u=n[a=(a+1)%n.length];return f.reverse().join(t)}}function Pn(n){return function(t){return t.replace(/[0-9]/g,function(e){return n[+e]})}}var zn=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function D(n){if(!(t=zn.exec(n)))throw new Error("invalid format: "+n);var t;return new G({fill:t[1],align:t[2],sign:t[3],symbol:t[4],zero:t[5],width:t[6],comma:t[7],precision:t[8]&&t[8].slice(1),trim:t[9],type:t[10]})}D.prototype=G.prototype;function G(n){this.fill=n.fill===void 0?" ":n.fill+"",this.align=n.align===void 0?">":n.align+"",this.sign=n.sign===void 0?"-":n.sign+"",this.symbol=n.symbol===void 0?"":n.symbol+"",this.zero=!!n.zero,this.width=n.width===void 0?void 0:+n.width,this.comma=!!n.comma,this.precision=n.precision===void 0?void 0:+n.precision,this.trim=!!n.trim,this.type=n.type===void 0?"":n.type+""}G.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function Fn(n){n:for(var t=n.length,e=1,r=-1,i;e0&&(r=0);break}return r>0?n.slice(0,r)+n.slice(i+1):n}var nn;function $n(n,t){var e=E(n,t);if(!e)return n+"";var r=e[0],i=e[1],f=i-(nn=Math.max(-8,Math.min(8,Math.floor(i/3)))*3)+1,a=r.length;return f===a?r:f>a?r+new Array(f-a+1).join("0"):f>0?r.slice(0,f)+"."+r.slice(f):"0."+new Array(1-f).join("0")+E(n,Math.max(0,t+f-1))[0]}function U(n,t){var e=E(n,t);if(!e)return n+"";var r=e[0],i=e[1];return i<0?"0."+new Array(-i).join("0")+r:r.length>i+1?r.slice(0,i+1)+"."+r.slice(i+1):r+new Array(i-r.length+2).join("0")}const Y={"%":(n,t)=>(n*100).toFixed(t),b:n=>Math.round(n).toString(2),c:n=>n+"",d:bn,e:(n,t)=>n.toExponential(t),f:(n,t)=>n.toFixed(t),g:(n,t)=>n.toPrecision(t),o:n=>Math.round(n).toString(8),p:(n,t)=>U(n*100,t),r:U,s:$n,X:n=>Math.round(n).toString(16).toUpperCase(),x:n=>Math.round(n).toString(16)};function Z(n){return n}var K=Array.prototype.map,Q=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function Rn(n){var t=n.grouping===void 0||n.thousands===void 0?Z:jn(K.call(n.grouping,Number),n.thousands+""),e=n.currency===void 0?"":n.currency[0]+"",r=n.currency===void 0?"":n.currency[1]+"",i=n.decimal===void 0?".":n.decimal+"",f=n.numerals===void 0?Z:Pn(K.call(n.numerals,String)),a=n.percent===void 0?"%":n.percent+"",u=n.minus===void 0?"−":n.minus+"",c=n.nan===void 0?"NaN":n.nan+"";function o(h){h=D(h);var l=h.fill,p=h.align,y=h.sign,S=h.symbol,k=h.zero,b=h.width,I=h.comma,w=h.precision,B=h.trim,d=h.type;d==="n"?(I=!0,d="g"):Y[d]||(w===void 0&&(w=12),B=!0,d="g"),(k||l==="0"&&p==="=")&&(k=!0,l="0",p="=");var en=S==="$"?e:S==="#"&&/[boxX]/.test(d)?"0"+d.toLowerCase():"",on=S==="$"?r:/[%p]/.test(d)?a:"",O=Y[d],an=/[defgprs%]/.test(d);w=w===void 0?6:/[gprs]/.test(d)?Math.max(1,Math.min(21,w)):Math.max(0,Math.min(20,w));function V(m){var N=en,g=on,x,X,j;if(d==="c")g=O(m)+g,m="";else{m=+m;var P=m<0||1/m<0;if(m=isNaN(m)?c:O(Math.abs(m),w),B&&(m=Fn(m)),P&&+m==0&&y!=="+"&&(P=!1),N=(P?y==="("?y:u:y==="-"||y==="("?"":y)+N,g=(d==="s"?Q[8+nn/3]:"")+g+(P&&y==="("?")":""),an){for(x=-1,X=m.length;++xj||j>57){g=(j===46?i+m.slice(x+1):m.slice(x))+g,m=m.slice(0,x);break}}}I&&!k&&(m=t(m,1/0));var z=N.length+m.length+g.length,M=z>1)+N+m+g+M.slice(z);break;default:m=M+N+m+g;break}return f(m)}return V.toString=function(){return h+""},V}function s(h,l){var p=o((h=D(h),h.type="f",h)),y=Math.max(-8,Math.min(8,Math.floor(v(l)/3)))*3,S=Math.pow(10,-y),k=Q[8+y/3];return function(b){return p(S*b)+k}}return{format:o,formatPrefix:s}}var F,tn,rn;En({thousands:",",grouping:[3],currency:["$",""]});function En(n){return F=Rn(n),tn=F.format,rn=F.formatPrefix,F}function Dn(n){return Math.max(0,-v(Math.abs(n)))}function In(n,t){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(v(t)/3)))*3-v(Math.abs(n)))}function Tn(n,t){return n=Math.abs(n),t=Math.abs(t)-n,Math.max(0,v(t)-v(n))+1}function Ln(n){return function(){return n}}function qn(n){return+n}var W=[0,1];function A(n){return n}function q(n,t){return(t-=n=+n)?function(e){return(e-n)/t}:Ln(isNaN(t)?NaN:.5)}function Cn(n,t){var e;return n>t&&(e=n,n=t,t=e),function(r){return Math.max(n,Math.min(t,r))}}function Gn(n,t,e){var r=n[0],i=n[1],f=t[0],a=t[1];return i2?Bn:Gn,c=o=null,h}function h(l){return l==null||isNaN(l=+l)?f:(c||(c=u(n.map(r),t,e)))(r(a(l)))}return h.invert=function(l){return a(i((o||(o=u(t,n.map(r),T)))(l)))},h.domain=function(l){return arguments.length?(n=Array.from(l,qn),s()):n.slice()},h.range=function(l){return arguments.length?(t=Array.from(l),s()):t.slice()},h.rangeRound=function(l){return t=Array.from(l),e=Sn,s()},h.clamp=function(l){return arguments.length?(a=l?!0:A,s()):a!==A},h.interpolate=function(l){return arguments.length?(e=l,s()):e},h.unknown=function(l){return arguments.length?(f=l,h):f},function(l,p){return r=l,i=p,s()}}function Xn(){return Vn()(A,A)}function Hn(n,t,e,r){var i=wn(n,t,e),f;switch(r=D(r??",f"),r.type){case"s":{var a=Math.max(Math.abs(n),Math.abs(t));return r.precision==null&&!isNaN(f=In(i,a))&&(r.precision=f),rn(r,a)}case"":case"e":case"g":case"p":case"r":{r.precision==null&&!isNaN(f=Tn(i,Math.max(Math.abs(n),Math.abs(t))))&&(r.precision=f-(r.type==="e"));break}case"f":case"%":{r.precision==null&&!isNaN(f=Dn(i))&&(r.precision=f-(r.type==="%")*2);break}}return tn(r)}function Jn(n){var t=n.domain;return n.ticks=function(e){var r=t();return pn(r[0],r[r.length-1],e??10)},n.tickFormat=function(e,r){var i=t();return Hn(i[0],i[i.length-1],e??10,r)},n.nice=function(e){e==null&&(e=10);var r=t(),i=0,f=r.length-1,a=r[i],u=r[f],c,o,s=10;for(u0;){if(o=L(a,u,e),o===c)return r[i]=a,r[f]=u,t(r);if(o>0)a=Math.floor(a/o)*o,u=Math.ceil(u/o)*o;else if(o<0)a=Math.ceil(a*o)/o,u=Math.floor(u*o)/o;else break;c=o}return n},n}function Un(){var n=Xn();return n.copy=function(){return On(n,Un())},cn.apply(n,arguments),Jn(n)}export{On as a,_ as b,Xn as c,Un as l,wn as t}; +import{aF as un,aG as T,aH as H,aI as J,aJ as fn}from"./mermaid.core-C-ipfzeP.js";import{i as cn}from"./init-Gi6I4Gst.js";function $(n,t){return n==null||t==null?NaN:nt?1:n>=t?0:NaN}function hn(n,t){return n==null||t==null?NaN:tn?1:t>=n?0:NaN}function _(n){let t,e,r;n.length!==2?(t=$,e=(u,c)=>$(n(u),c),r=(u,c)=>n(u)-c):(t=n===$||n===hn?n:mn,e=n,r=n);function i(u,c,o=0,s=u.length){if(o>>1;e(u[h],c)<0?o=h+1:s=h}while(o>>1;e(u[h],c)<=0?o=h+1:s=h}while(oo&&r(u[h-1],c)>-r(u[h],c)?h-1:h}return{left:i,center:a,right:f}}function mn(){return 0}function ln(n){return n===null?NaN:+n}const sn=_($),dn=sn.right;_(ln).center;const gn=Math.sqrt(50),yn=Math.sqrt(10),Mn=Math.sqrt(2);function R(n,t,e){const r=(t-n)/Math.max(0,e),i=Math.floor(Math.log10(r)),f=r/Math.pow(10,i),a=f>=gn?10:f>=yn?5:f>=Mn?2:1;let u,c,o;return i<0?(o=Math.pow(10,-i)/a,u=Math.round(n*o),c=Math.round(t*o),u/ot&&--c,o=-o):(o=Math.pow(10,i)*a,u=Math.round(n/o),c=Math.round(t/o),u*ot&&--c),c0))return[];if(n===t)return[n];const r=t=i))return[];const u=f-i+1,c=new Array(u);if(r)if(a<0)for(let o=0;o=1e21?n.toLocaleString("en").replace(/,/g,""):n.toString(10)}function E(n,t){if((e=(n=t?n.toExponential(t-1):n.toExponential()).indexOf("e"))<0)return null;var e,r=n.slice(0,e);return[r.length>1?r[0]+r.slice(2):r,+n.slice(e+1)]}function v(n){return n=E(Math.abs(n)),n?n[1]:NaN}function jn(n,t){return function(e,r){for(var i=e.length,f=[],a=0,u=n[0],c=0;i>0&&u>0&&(c+u+1>r&&(u=Math.max(1,r-c)),f.push(e.substring(i-=u,i+u)),!((c+=u+1)>r));)u=n[a=(a+1)%n.length];return f.reverse().join(t)}}function Pn(n){return function(t){return t.replace(/[0-9]/g,function(e){return n[+e]})}}var zn=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function D(n){if(!(t=zn.exec(n)))throw new Error("invalid format: "+n);var t;return new G({fill:t[1],align:t[2],sign:t[3],symbol:t[4],zero:t[5],width:t[6],comma:t[7],precision:t[8]&&t[8].slice(1),trim:t[9],type:t[10]})}D.prototype=G.prototype;function G(n){this.fill=n.fill===void 0?" ":n.fill+"",this.align=n.align===void 0?">":n.align+"",this.sign=n.sign===void 0?"-":n.sign+"",this.symbol=n.symbol===void 0?"":n.symbol+"",this.zero=!!n.zero,this.width=n.width===void 0?void 0:+n.width,this.comma=!!n.comma,this.precision=n.precision===void 0?void 0:+n.precision,this.trim=!!n.trim,this.type=n.type===void 0?"":n.type+""}G.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function Fn(n){n:for(var t=n.length,e=1,r=-1,i;e0&&(r=0);break}return r>0?n.slice(0,r)+n.slice(i+1):n}var nn;function $n(n,t){var e=E(n,t);if(!e)return n+"";var r=e[0],i=e[1],f=i-(nn=Math.max(-8,Math.min(8,Math.floor(i/3)))*3)+1,a=r.length;return f===a?r:f>a?r+new Array(f-a+1).join("0"):f>0?r.slice(0,f)+"."+r.slice(f):"0."+new Array(1-f).join("0")+E(n,Math.max(0,t+f-1))[0]}function U(n,t){var e=E(n,t);if(!e)return n+"";var r=e[0],i=e[1];return i<0?"0."+new Array(-i).join("0")+r:r.length>i+1?r.slice(0,i+1)+"."+r.slice(i+1):r+new Array(i-r.length+2).join("0")}const Y={"%":(n,t)=>(n*100).toFixed(t),b:n=>Math.round(n).toString(2),c:n=>n+"",d:bn,e:(n,t)=>n.toExponential(t),f:(n,t)=>n.toFixed(t),g:(n,t)=>n.toPrecision(t),o:n=>Math.round(n).toString(8),p:(n,t)=>U(n*100,t),r:U,s:$n,X:n=>Math.round(n).toString(16).toUpperCase(),x:n=>Math.round(n).toString(16)};function Z(n){return n}var K=Array.prototype.map,Q=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function Rn(n){var t=n.grouping===void 0||n.thousands===void 0?Z:jn(K.call(n.grouping,Number),n.thousands+""),e=n.currency===void 0?"":n.currency[0]+"",r=n.currency===void 0?"":n.currency[1]+"",i=n.decimal===void 0?".":n.decimal+"",f=n.numerals===void 0?Z:Pn(K.call(n.numerals,String)),a=n.percent===void 0?"%":n.percent+"",u=n.minus===void 0?"−":n.minus+"",c=n.nan===void 0?"NaN":n.nan+"";function o(h){h=D(h);var l=h.fill,p=h.align,y=h.sign,S=h.symbol,k=h.zero,b=h.width,I=h.comma,w=h.precision,B=h.trim,d=h.type;d==="n"?(I=!0,d="g"):Y[d]||(w===void 0&&(w=12),B=!0,d="g"),(k||l==="0"&&p==="=")&&(k=!0,l="0",p="=");var en=S==="$"?e:S==="#"&&/[boxX]/.test(d)?"0"+d.toLowerCase():"",on=S==="$"?r:/[%p]/.test(d)?a:"",O=Y[d],an=/[defgprs%]/.test(d);w=w===void 0?6:/[gprs]/.test(d)?Math.max(1,Math.min(21,w)):Math.max(0,Math.min(20,w));function V(m){var N=en,g=on,x,X,j;if(d==="c")g=O(m)+g,m="";else{m=+m;var P=m<0||1/m<0;if(m=isNaN(m)?c:O(Math.abs(m),w),B&&(m=Fn(m)),P&&+m==0&&y!=="+"&&(P=!1),N=(P?y==="("?y:u:y==="-"||y==="("?"":y)+N,g=(d==="s"?Q[8+nn/3]:"")+g+(P&&y==="("?")":""),an){for(x=-1,X=m.length;++xj||j>57){g=(j===46?i+m.slice(x+1):m.slice(x))+g,m=m.slice(0,x);break}}}I&&!k&&(m=t(m,1/0));var z=N.length+m.length+g.length,M=z>1)+N+m+g+M.slice(z);break;default:m=M+N+m+g;break}return f(m)}return V.toString=function(){return h+""},V}function s(h,l){var p=o((h=D(h),h.type="f",h)),y=Math.max(-8,Math.min(8,Math.floor(v(l)/3)))*3,S=Math.pow(10,-y),k=Q[8+y/3];return function(b){return p(S*b)+k}}return{format:o,formatPrefix:s}}var F,tn,rn;En({thousands:",",grouping:[3],currency:["$",""]});function En(n){return F=Rn(n),tn=F.format,rn=F.formatPrefix,F}function Dn(n){return Math.max(0,-v(Math.abs(n)))}function In(n,t){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(v(t)/3)))*3-v(Math.abs(n)))}function Tn(n,t){return n=Math.abs(n),t=Math.abs(t)-n,Math.max(0,v(t)-v(n))+1}function Ln(n){return function(){return n}}function qn(n){return+n}var W=[0,1];function A(n){return n}function q(n,t){return(t-=n=+n)?function(e){return(e-n)/t}:Ln(isNaN(t)?NaN:.5)}function Cn(n,t){var e;return n>t&&(e=n,n=t,t=e),function(r){return Math.max(n,Math.min(t,r))}}function Gn(n,t,e){var r=n[0],i=n[1],f=t[0],a=t[1];return i2?Bn:Gn,c=o=null,h}function h(l){return l==null||isNaN(l=+l)?f:(c||(c=u(n.map(r),t,e)))(r(a(l)))}return h.invert=function(l){return a(i((o||(o=u(t,n.map(r),T)))(l)))},h.domain=function(l){return arguments.length?(n=Array.from(l,qn),s()):n.slice()},h.range=function(l){return arguments.length?(t=Array.from(l),s()):t.slice()},h.rangeRound=function(l){return t=Array.from(l),e=Sn,s()},h.clamp=function(l){return arguments.length?(a=l?!0:A,s()):a!==A},h.interpolate=function(l){return arguments.length?(e=l,s()):e},h.unknown=function(l){return arguments.length?(f=l,h):f},function(l,p){return r=l,i=p,s()}}function Xn(){return Vn()(A,A)}function Hn(n,t,e,r){var i=wn(n,t,e),f;switch(r=D(r??",f"),r.type){case"s":{var a=Math.max(Math.abs(n),Math.abs(t));return r.precision==null&&!isNaN(f=In(i,a))&&(r.precision=f),rn(r,a)}case"":case"e":case"g":case"p":case"r":{r.precision==null&&!isNaN(f=Tn(i,Math.max(Math.abs(n),Math.abs(t))))&&(r.precision=f-(r.type==="e"));break}case"f":case"%":{r.precision==null&&!isNaN(f=Dn(i))&&(r.precision=f-(r.type==="%")*2);break}}return tn(r)}function Jn(n){var t=n.domain;return n.ticks=function(e){var r=t();return pn(r[0],r[r.length-1],e??10)},n.tickFormat=function(e,r){var i=t();return Hn(i[0],i[i.length-1],e??10,r)},n.nice=function(e){e==null&&(e=10);var r=t(),i=0,f=r.length-1,a=r[i],u=r[f],c,o,s=10;for(u0;){if(o=L(a,u,e),o===c)return r[i]=a,r[f]=u,t(r);if(o>0)a=Math.floor(a/o)*o,u=Math.ceil(u/o)*o;else if(o<0)a=Math.ceil(a*o)/o,u=Math.floor(u*o)/o;else break;c=o}return n},n}function Un(){var n=Xn();return n.copy=function(){return On(n,Un())},cn.apply(n,arguments),Jn(n)}export{On as a,_ as b,Xn as c,Un as l,wn as t}; diff --git a/assets/mermaid.core-DtSoU78u.js b/assets/mermaid.core-C-ipfzeP.js similarity index 64% rename from assets/mermaid.core-DtSoU78u.js rename to assets/mermaid.core-C-ipfzeP.js index db8c73c..c4de6a5 100644 --- a/assets/mermaid.core-DtSoU78u.js +++ b/assets/mermaid.core-C-ipfzeP.js @@ -1,17 +1,17 @@ -const __vite__fileDeps=["assets/c4Diagram-b2a90758-DKKdvQ2k.js","assets/svgDrawCommon-5ccd53ef-BJyTLJKe.js","assets/app-B0fd3cYb.js","assets/flowDiagram-5540d9b9-BFLw82D-.js","assets/flowDb-4b19a42f-DhxjmBHk.js","assets/graph-GEpVUbdH.js","assets/layout-DNn7Y9VF.js","assets/styles-3ed67cfa-BKeeaGoI.js","assets/index-fc10efb0-D8efEc6S.js","assets/clone-DZIUJmqR.js","assets/edges-d32062c0--RfIKLIO.js","assets/createText-6b48ae7d-BQ6Vxn2Q.js","assets/line-BM-2XH-S.js","assets/array-BKyUJesY.js","assets/path-CbwjOpE9.js","assets/channel-CAAfQTsA.js","assets/flowDiagram-v2-3b53844e-DHFDzB2E.js","assets/erDiagram-47591fe2-Q164TgqG.js","assets/gitGraphDiagram-96e6b4ee-DwZ-lZ0j.js","assets/ganttDiagram-9a3bba1f-ChJgKPMr.js","assets/linear-CPhCWOMV.js","assets/init-Gi6I4Gst.js","assets/infoDiagram-bcd20f53-BIcinyh4.js","assets/pieDiagram-79897490-BHBzTEwq.js","assets/arc-DjSouOTM.js","assets/ordinal-Cboi1Yqb.js","assets/quadrantDiagram-62f64e94-Dta4qjGu.js","assets/xychartDiagram-ab372869-DCFrL7jW.js","assets/requirementDiagram-05bf5f74-D1l8f3fw.js","assets/sequenceDiagram-acc0e65c--kJbrdcZ.js","assets/classDiagram-30eddba6-C4eJJRdf.js","assets/styles-991ebdfc-DtQmJnxz.js","assets/classDiagram-v2-f2df5561-CsbP5K0m.js","assets/stateDiagram-0ff1cf1a-BWw4tG75.js","assets/styles-d20c7d72-Dnn2fl5U.js","assets/stateDiagram-v2-9a9d610d-B3gSIDR2.js","assets/journeyDiagram-4fe6b3dc-BjI4ODEy.js","assets/flowchart-elk-definition-5fe447d6-DDvIZSFO.js","assets/timeline-definition-fea2a41d-SN4IvUvc.js","assets/mindmap-definition-f354de21-DqgSJ0H1.js","assets/sankeyDiagram-97764748-D-VPB9Pm.js","assets/Tableau10-B-NsZVaP.js","assets/blockDiagram-91b80b7a-FOIhVpAO.js"],__vite__mapDeps=i=>i.map(i=>__vite__fileDeps[i]); -import{_ as X}from"./app-B0fd3cYb.js";function mh(t){for(var e=[],i=1;ii.map(i=>__vite__fileDeps[i]); +import{_ as X}from"./app-jADuhdjP.js";function _h(t){for(var e=[],i=1;i=T?I:""+Array(T+1-B.length).join(y)+I},H={s:P,z:function(I){var T=-I.utcOffset(),y=Math.abs(T),B=Math.floor(y/60),x=y%60;return(T<=0?"+":"-")+P(B,2,"0")+":"+P(x,2,"0")},m:function I(T,y){if(T.date()1)return I(S[0])}else{var U=T.name;K[U]=T,x=U}return!B&&x&&(V=x),x||!B&&V},j=function(I,T){if(Jt(I))return I.clone();var y=typeof T=="object"?T:{};return y.date=I,y.args=arguments,new St(y)},z=H;z.l=Qt,z.i=Jt,z.w=function(I,T){return j(I,{locale:T.$L,utc:T.$u,x:T.$x,$offset:T.$offset})};var St=function(){function I(y){this.$L=Qt(y.locale,null,!0),this.parse(y),this.$x=this.$x||y.x||{},this[W]=!0}var T=I.prototype;return T.parse=function(y){this.$d=function(B){var x=B.date,E=B.utc;if(x===null)return new Date(NaN);if(z.u(x))return new Date;if(x instanceof Date)return new Date(x);if(typeof x=="string"&&!/Z$/i.test(x)){var S=x.match(k);if(S){var U=S[2]-1||0,D=(S[7]||"0").substring(0,3);return E?new Date(Date.UTC(S[1],U,S[3]||1,S[4]||0,S[5]||0,S[6]||0,D)):new Date(S[1],U,S[3]||1,S[4]||0,S[5]||0,S[6]||0,D)}}return new Date(x)}(y),this.init()},T.init=function(){var y=this.$d;this.$y=y.getFullYear(),this.$M=y.getMonth(),this.$D=y.getDate(),this.$W=y.getDay(),this.$H=y.getHours(),this.$m=y.getMinutes(),this.$s=y.getSeconds(),this.$ms=y.getMilliseconds()},T.$utils=function(){return z},T.isValid=function(){return this.$d.toString()!==v},T.isSame=function(y,B){var x=j(y);return this.startOf(B)<=x&&x<=this.endOf(B)},T.isAfter=function(y,B){return j(y)-1}function l(u){var f=u.replace(n,"");return f.replace(i,function(c,p){return String.fromCharCode(p)})}function h(u){if(!u)return t.BLANK_URL;var f=l(u).replace(r,"").replace(n,"").trim();if(!f)return t.BLANK_URL;if(a(f))return f;var c=f.match(o);if(!c)return f;var p=c[0];return e.test(p)?t.BLANK_URL:f}t.sanitizeUrl=h})(qs);var bh={value:()=>{}};function zs(){for(var t=0,e=arguments.length,i={},r;t=0&&(r=i.slice(n+1),i=i.slice(0,n)),i&&!e.hasOwnProperty(i))throw new Error("unknown type: "+i);return{type:i,name:r}})}$i.prototype=zs.prototype={constructor:$i,on:function(t,e){var i=this._,r=Th(t+"",i),n,o=-1,s=r.length;if(arguments.length<2){for(;++o0)for(var i=new Array(n),r=0,n,o;r=0&&(e=t.slice(0,i))!=="xmlns"&&(t=t.slice(i+1)),So.hasOwnProperty(e)?{space:So[e],local:t}:t}function kh(t){return function(){var e=this.ownerDocument,i=this.namespaceURI;return i===tn&&e.documentElement.namespaceURI===tn?e.createElement(t):e.createElementNS(i,t)}}function Sh(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}function Ws(t){var e=fr(t);return(e.local?Sh:kh)(e)}function wh(){}function vn(t){return t==null?wh:function(){return this.querySelector(t)}}function Bh(t){typeof t!="function"&&(t=vn(t));for(var e=this._groups,i=e.length,r=new Array(i),n=0;n=P&&(P=b+1);!(V=k[P])&&++P<_;);H._next=V||null}}return s=new yt(s,r),s._enter=a,s._exit=l,s}function Vh(t){return typeof t=="object"&&"length"in t?t:Array.from(t)}function Gh(){return new yt(this._exit||this._groups.map(Ys),this._parents)}function Xh(t,e,i){var r=this.enter(),n=this,o=this.exit();return typeof t=="function"?(r=t(r),r&&(r=r.selection())):r=r.append(t+""),e!=null&&(n=e(n),n&&(n=n.selection())),i==null?o.remove():i(o),r&&n?r.merge(n).order():n}function Kh(t){for(var e=t.selection?t.selection():t,i=this._groups,r=e._groups,n=i.length,o=r.length,s=Math.min(n,o),a=new Array(n),l=0;l=0;)(s=r[n])&&(o&&s.compareDocumentPosition(o)^4&&o.parentNode.insertBefore(s,o),o=s);return this}function Jh(t){t||(t=Qh);function e(f,c){return f&&c?t(f.__data__,c.__data__):!f-!c}for(var i=this._groups,r=i.length,n=new Array(r),o=0;oe?1:t>=e?0:NaN}function tc(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this}function ec(){return Array.from(this)}function ic(){for(var t=this._groups,e=0,i=t.length;e1?this.each((e==null?dc:typeof e=="function"?gc:pc)(t,e,i??"")):Oe(this.node(),t)}function Oe(t,e){return t.style.getPropertyValue(e)||Vs(t).getComputedStyle(t,null).getPropertyValue(e)}function _c(t){return function(){delete this[t]}}function yc(t,e){return function(){this[t]=e}}function Cc(t,e){return function(){var i=e.apply(this,arguments);i==null?delete this[t]:this[t]=i}}function xc(t,e){return arguments.length>1?this.each((e==null?_c:typeof e=="function"?Cc:yc)(t,e)):this.node()[t]}function Gs(t){return t.trim().split(/^|\s+/)}function kn(t){return t.classList||new Xs(t)}function Xs(t){this._node=t,this._names=Gs(t.getAttribute("class")||"")}Xs.prototype={add:function(t){var e=this._names.indexOf(t);e<0&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},remove:function(t){var e=this._names.indexOf(t);e>=0&&(this._names.splice(e,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};function Ks(t,e){for(var i=kn(t),r=-1,n=e.length;++r=0&&(i=e.slice(r+1),e=e.slice(0,r)),{type:e,name:i}})}function Gc(t){return function(){var e=this.__on;if(e){for(var i=0,r=-1,n=e.length,o;i>8&15|e>>4&240,e>>4&15|e&240,(e&15)<<4|e&15,1):i===8?Bi(e>>24&255,e>>16&255,e>>8&255,(e&255)/255):i===4?Bi(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|e&240,((e&15)<<4|e&15)/255):null):(e=ru.exec(t))?new mt(e[1],e[2],e[3],1):(e=nu.exec(t))?new mt(e[1]*255/100,e[2]*255/100,e[3]*255/100,1):(e=ou.exec(t))?Bi(e[1],e[2],e[3],e[4]):(e=su.exec(t))?Bi(e[1]*255/100,e[2]*255/100,e[3]*255/100,e[4]):(e=au.exec(t))?Oo(e[1],e[2]/100,e[3]/100,1):(e=lu.exec(t))?Oo(e[1],e[2]/100,e[3]/100,e[4]):wo.hasOwnProperty(t)?Lo(wo[t]):t==="transparent"?new mt(NaN,NaN,NaN,0):null}function Lo(t){return new mt(t>>16&255,t>>8&255,t&255,1)}function Bi(t,e,i,r){return r<=0&&(t=e=i=NaN),new mt(t,e,i,r)}function uu(t){return t instanceof yi||(t=hi(t)),t?(t=t.rgb(),new mt(t.r,t.g,t.b,t.opacity)):new mt}function en(t,e,i,r){return arguments.length===1?uu(t):new mt(t,e,i,r??1)}function mt(t,e,i,r){this.r=+t,this.g=+e,this.b=+i,this.opacity=+r}Sn(mt,en,ta(yi,{brighter(t){return t=t==null?Ui:Math.pow(Ui,t),new mt(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=t==null?ai:Math.pow(ai,t),new mt(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new mt(de(this.r),de(this.g),de(this.b),Yi(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:Fo,formatHex:Fo,formatHex8:fu,formatRgb:Eo,toString:Eo}));function Fo(){return`#${ue(this.r)}${ue(this.g)}${ue(this.b)}`}function fu(){return`#${ue(this.r)}${ue(this.g)}${ue(this.b)}${ue((isNaN(this.opacity)?1:this.opacity)*255)}`}function Eo(){const t=Yi(this.opacity);return`${t===1?"rgb(":"rgba("}${de(this.r)}, ${de(this.g)}, ${de(this.b)}${t===1?")":`, ${t})`}`}function Yi(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function de(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function ue(t){return t=de(t),(t<16?"0":"")+t.toString(16)}function Oo(t,e,i,r){return r<=0?t=e=i=NaN:i<=0||i>=1?t=e=NaN:e<=0&&(t=NaN),new Bt(t,e,i,r)}function ea(t){if(t instanceof Bt)return new Bt(t.h,t.s,t.l,t.opacity);if(t instanceof yi||(t=hi(t)),!t)return new Bt;if(t instanceof Bt)return t;t=t.rgb();var e=t.r/255,i=t.g/255,r=t.b/255,n=Math.min(e,i,r),o=Math.max(e,i,r),s=NaN,a=o-n,l=(o+n)/2;return a?(e===o?s=(i-r)/a+(i0&&l<1?0:s,new Bt(s,a,l,t.opacity)}function du(t,e,i,r){return arguments.length===1?ea(t):new Bt(t,e,i,r??1)}function Bt(t,e,i,r){this.h=+t,this.s=+e,this.l=+i,this.opacity=+r}Sn(Bt,du,ta(yi,{brighter(t){return t=t==null?Ui:Math.pow(Ui,t),new Bt(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?ai:Math.pow(ai,t),new Bt(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+(this.h<0)*360,e=isNaN(t)||isNaN(this.s)?0:this.s,i=this.l,r=i+(i<.5?i:1-i)*e,n=2*i-r;return new mt(Rr(t>=240?t-240:t+120,n,r),Rr(t,n,r),Rr(t<120?t+240:t-120,n,r),this.opacity)},clamp(){return new Bt(Mo(this.h),Ai(this.s),Ai(this.l),Yi(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const t=Yi(this.opacity);return`${t===1?"hsl(":"hsla("}${Mo(this.h)}, ${Ai(this.s)*100}%, ${Ai(this.l)*100}%${t===1?")":`, ${t})`}`}}));function Mo(t){return t=(t||0)%360,t<0?t+360:t}function Ai(t){return Math.max(0,Math.min(1,t||0))}function Rr(t,e,i){return(t<60?e+(i-e)*t/60:t<180?i:t<240?e+(i-e)*(240-t)/60:e)*255}const wn=t=>()=>t;function ia(t,e){return function(i){return t+i*e}}function pu(t,e,i){return t=Math.pow(t,i),e=Math.pow(e,i)-t,i=1/i,function(r){return Math.pow(t+r*e,i)}}function Lb(t,e){var i=e-t;return i?ia(t,i>180||i<-180?i-360*Math.round(i/360):i):wn(isNaN(t)?e:t)}function gu(t){return(t=+t)==1?ra:function(e,i){return i-e?pu(e,i,t):wn(isNaN(e)?i:e)}}function ra(t,e){var i=e-t;return i?ia(t,i):wn(isNaN(t)?e:t)}const Io=function t(e){var i=gu(e);function r(n,o){var s=i((n=en(n)).r,(o=en(o)).r),a=i(n.g,o.g),l=i(n.b,o.b),h=ra(n.opacity,o.opacity);return function(u){return n.r=s(u),n.g=a(u),n.b=l(u),n.opacity=h(u),n+""}}return r.gamma=t,r}(1);function re(t,e){return t=+t,e=+e,function(i){return t*(1-i)+e*i}}var rn=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,Pr=new RegExp(rn.source,"g");function mu(t){return function(){return t}}function _u(t){return function(e){return t(e)+""}}function yu(t,e){var i=rn.lastIndex=Pr.lastIndex=0,r,n,o,s=-1,a=[],l=[];for(t=t+"",e=e+"";(r=rn.exec(t))&&(n=Pr.exec(e));)(o=n.index)>i&&(o=e.slice(i,o),a[s]?a[s]+=o:a[++s]=o),(r=r[0])===(n=n[0])?a[s]?a[s]+=n:a[++s]=n:(a[++s]=null,l.push({i:s,x:re(r,n)})),i=Pr.lastIndex;return i180?u+=360:u-h>180&&(h+=360),c.push({i:f.push(n(f)+"rotate(",null,r)-2,x:re(h,u)})):u&&f.push(n(f)+"rotate("+u+r)}function a(h,u,f,c){h!==u?c.push({i:f.push(n(f)+"skewX(",null,r)-2,x:re(h,u)}):u&&f.push(n(f)+"skewX("+u+r)}function l(h,u,f,c,p,_){if(h!==f||u!==c){var v=p.push(n(p)+"scale(",null,",",null,")");_.push({i:v-4,x:re(h,f)},{i:v-2,x:re(u,c)})}else(f!==1||c!==1)&&p.push(n(p)+"scale("+f+","+c+")")}return function(h,u){var f=[],c=[];return h=t(h),u=t(u),o(h.translateX,h.translateY,u.translateX,u.translateY,f,c),s(h.rotate,u.rotate,f,c),a(h.skewX,u.skewX,f,c),l(h.scaleX,h.scaleY,u.scaleX,u.scaleY,f,c),h=u=null,function(p){for(var _=-1,v=c.length,k;++_=0&&t._call.call(void 0,e),t=t._next;--Me}function Do(){me=(Gi=ci.now())+dr,Me=Ze=0;try{ku()}finally{Me=0,wu(),me=0}}function Su(){var t=ci.now(),e=t-Gi;e>sa&&(dr-=e,Gi=t)}function wu(){for(var t,e=Vi,i,r=1/0;e;)e._call?(r>e._time&&(r=e._time),t=e,e=e._next):(i=e._next,e._next=null,e=t?t._next=i:Vi=i);Je=t,on(r)}function on(t){if(!Me){Ze&&(Ze=clearTimeout(Ze));var e=t-me;e>24?(t<1/0&&(Ze=setTimeout(Do,t-ci.now()-dr)),Ye&&(Ye=clearInterval(Ye))):(Ye||(Gi=ci.now(),Ye=setInterval(Su,sa)),Me=1,aa(Do))}}function No(t,e,i){var r=new Xi;return e=e==null?0:+e,r.restart(n=>{r.stop(),t(n+e)},e,i),r}var Bu=zs("start","end","cancel","interrupt"),Au=[],ha=0,Ro=1,sn=2,Di=3,Po=4,an=5,Ni=6;function pr(t,e,i,r,n,o){var s=t.__transition;if(!s)t.__transition={};else if(i in s)return;Lu(t,i,{name:e,index:r,group:n,on:Bu,tween:Au,time:o.time,delay:o.delay,duration:o.duration,ease:o.ease,timer:null,state:ha})}function An(t,e){var i=Ft(t,e);if(i.state>ha)throw new Error("too late; already scheduled");return i}function Rt(t,e){var i=Ft(t,e);if(i.state>Di)throw new Error("too late; already running");return i}function Ft(t,e){var i=t.__transition;if(!i||!(i=i[e]))throw new Error("transition not found");return i}function Lu(t,e,i){var r=t.__transition,n;r[e]=i,i.timer=la(o,0,i.time);function o(h){i.state=Ro,i.timer.restart(s,i.delay,i.time),i.delay<=h&&s(h-i.delay)}function s(h){var u,f,c,p;if(i.state!==Ro)return l();for(u in r)if(p=r[u],p.name===i.name){if(p.state===Di)return No(s);p.state===Po?(p.state=Ni,p.timer.stop(),p.on.call("interrupt",t,t.__data__,p.index,p.group),delete r[u]):+usn&&r.state=0&&(e=e.slice(0,i)),!e||e==="start"})}function af(t,e,i){var r,n,o=sf(e)?An:Rt;return function(){var s=o(this,t),a=s.on;a!==r&&(n=(r=a).copy()).on(e,i),s.on=n}}function lf(t,e){var i=this._id;return arguments.length<2?Ft(this.node(),i).on.on(t):this.each(af(i,t,e))}function hf(t){return function(){var e=this.parentNode;for(var i in this.__transition)if(+i!==t)return;e&&e.removeChild(this)}}function cf(){return this.on("end.remove",hf(this._id))}function uf(t){var e=this._name,i=this._id;typeof t!="function"&&(t=vn(t));for(var r=this._groups,n=r.length,o=new Array(n),s=0;s1?0:t<-1?Fn:Math.acos(t)}function Pb(t){return t>=1?zo:t<=-1?-zo:Math.asin(t)}function da(t){this._context=t}da.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:this._context.lineTo(t,e);break}}};function Df(t){return new da(t)}class pa{constructor(e,i){this._context=e,this._x=i}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line}point(e,i){switch(e=+e,i=+i,this._point){case 0:{this._point=1,this._line?this._context.lineTo(e,i):this._context.moveTo(e,i);break}case 1:this._point=2;default:{this._x?this._context.bezierCurveTo(this._x0=(this._x0+e)/2,this._y0,this._x0,i,e,i):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+i)/2,e,this._y0,e,i);break}}this._x0=e,this._y0=i}}function Nf(t){return new pa(t,!0)}function Rf(t){return new pa(t,!1)}function oe(){}function Ki(t,e,i){t._context.bezierCurveTo((2*t._x0+t._x1)/3,(2*t._y0+t._y1)/3,(t._x0+2*t._x1)/3,(t._y0+2*t._y1)/3,(t._x0+4*t._x1+e)/6,(t._y0+4*t._y1+i)/6)}function gr(t){this._context=t}gr.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:Ki(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:Ki(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function Pf(t){return new gr(t)}function ga(t){this._context=t}ga.prototype={areaStart:oe,areaEnd:oe,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x2,this._y2),this._context.closePath();break}case 2:{this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break}case 3:{this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4);break}}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x2=t,this._y2=e;break;case 1:this._point=2,this._x3=t,this._y3=e;break;case 2:this._point=3,this._x4=t,this._y4=e,this._context.moveTo((this._x0+4*this._x1+t)/6,(this._y0+4*this._y1+e)/6);break;default:Ki(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function qf(t){return new ga(t)}function ma(t){this._context=t}ma.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var i=(this._x0+4*this._x1+t)/6,r=(this._y0+4*this._y1+e)/6;this._line?this._context.lineTo(i,r):this._context.moveTo(i,r);break;case 3:this._point=4;default:Ki(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function zf(t){return new ma(t)}function _a(t,e){this._basis=new gr(t),this._beta=e}_a.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var t=this._x,e=this._y,i=t.length-1;if(i>0)for(var r=t[0],n=e[0],o=t[i]-r,s=e[i]-n,a=-1,l;++a<=i;)l=a/i,this._basis.point(this._beta*t[a]+(1-this._beta)*(r+l*o),this._beta*e[a]+(1-this._beta)*(n+l*s));this._x=this._y=null,this._basis.lineEnd()},point:function(t,e){this._x.push(+t),this._y.push(+e)}};const Wf=function t(e){function i(r){return e===1?new gr(r):new _a(r,e)}return i.beta=function(r){return t(+r)},i}(.85);function Zi(t,e,i){t._context.bezierCurveTo(t._x1+t._k*(t._x2-t._x0),t._y1+t._k*(t._y2-t._y0),t._x2+t._k*(t._x1-e),t._y2+t._k*(t._y1-i),t._x2,t._y2)}function En(t,e){this._context=t,this._k=(1-e)/6}En.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:Zi(this,this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2,this._x1=t,this._y1=e;break;case 2:this._point=3;default:Zi(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const Hf=function t(e){function i(r){return new En(r,e)}return i.tension=function(r){return t(+r)},i}(0);function On(t,e){this._context=t,this._k=(1-e)/6}On.prototype={areaStart:oe,areaEnd:oe,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:Zi(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const jf=function t(e){function i(r){return new On(r,e)}return i.tension=function(r){return t(+r)},i}(0);function Mn(t,e){this._context=t,this._k=(1-e)/6}Mn.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:Zi(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const Uf=function t(e){function i(r){return new Mn(r,e)}return i.tension=function(r){return t(+r)},i}(0);function In(t,e,i){var r=t._x1,n=t._y1,o=t._x2,s=t._y2;if(t._l01_a>qo){var a=2*t._l01_2a+3*t._l01_a*t._l12_a+t._l12_2a,l=3*t._l01_a*(t._l01_a+t._l12_a);r=(r*a-t._x0*t._l12_2a+t._x2*t._l01_2a)/l,n=(n*a-t._y0*t._l12_2a+t._y2*t._l01_2a)/l}if(t._l23_a>qo){var h=2*t._l23_2a+3*t._l23_a*t._l12_a+t._l12_2a,u=3*t._l23_a*(t._l23_a+t._l12_a);o=(o*h+t._x1*t._l23_2a-e*t._l12_2a)/u,s=(s*h+t._y1*t._l23_2a-i*t._l12_2a)/u}t._context.bezierCurveTo(r,n,o,s,t._x2,t._y2)}function ya(t,e){this._context=t,this._alpha=e}ya.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t=+t,e=+e,this._point){var i=this._x2-t,r=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(i*i+r*r,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3;default:In(this,t,e);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const Yf=function t(e){function i(r){return e?new ya(r,e):new En(r,0)}return i.alpha=function(r){return t(+r)},i}(.5);function Ca(t,e){this._context=t,this._alpha=e}Ca.prototype={areaStart:oe,areaEnd:oe,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},point:function(t,e){if(t=+t,e=+e,this._point){var i=this._x2-t,r=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(i*i+r*r,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:In(this,t,e);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const Vf=function t(e){function i(r){return e?new Ca(r,e):new On(r,0)}return i.alpha=function(r){return t(+r)},i}(.5);function xa(t,e){this._context=t,this._alpha=e}xa.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t=+t,e=+e,this._point){var i=this._x2-t,r=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(i*i+r*r,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:In(this,t,e);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const Gf=function t(e){function i(r){return e?new xa(r,e):new Mn(r,0)}return i.alpha=function(r){return t(+r)},i}(.5);function ba(t){this._context=t}ba.prototype={areaStart:oe,areaEnd:oe,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(t,e){t=+t,e=+e,this._point?this._context.lineTo(t,e):(this._point=1,this._context.moveTo(t,e))}};function Xf(t){return new ba(t)}function Wo(t){return t<0?-1:1}function Ho(t,e,i){var r=t._x1-t._x0,n=e-t._x1,o=(t._y1-t._y0)/(r||n<0&&-0),s=(i-t._y1)/(n||r<0&&-0),a=(o*n+s*r)/(r+n);return(Wo(o)+Wo(s))*Math.min(Math.abs(o),Math.abs(s),.5*Math.abs(a))||0}function jo(t,e){var i=t._x1-t._x0;return i?(3*(t._y1-t._y0)/i-e)/2:e}function qr(t,e,i){var r=t._x0,n=t._y0,o=t._x1,s=t._y1,a=(o-r)/3;t._context.bezierCurveTo(r+a,n+a*e,o-a,s-a*i,o,s)}function Ji(t){this._context=t}Ji.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:qr(this,this._t0,jo(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){var i=NaN;if(t=+t,e=+e,!(t===this._x1&&e===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,qr(this,jo(this,i=Ho(this,t,e)),i);break;default:qr(this,this._t0,i=Ho(this,t,e));break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e,this._t0=i}}};function Ta(t){this._context=new va(t)}(Ta.prototype=Object.create(Ji.prototype)).point=function(t,e){Ji.prototype.point.call(this,e,t)};function va(t){this._context=t}va.prototype={moveTo:function(t,e){this._context.moveTo(e,t)},closePath:function(){this._context.closePath()},lineTo:function(t,e){this._context.lineTo(e,t)},bezierCurveTo:function(t,e,i,r,n,o){this._context.bezierCurveTo(e,t,r,i,o,n)}};function Kf(t){return new Ji(t)}function Zf(t){return new Ta(t)}function ka(t){this._context=t}ka.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var t=this._x,e=this._y,i=t.length;if(i)if(this._line?this._context.lineTo(t[0],e[0]):this._context.moveTo(t[0],e[0]),i===2)this._context.lineTo(t[1],e[1]);else for(var r=Uo(t),n=Uo(e),o=0,s=1;s=0;--e)n[e]=(s[e]-n[e+1])/o[e];for(o[i-1]=(t[i]+n[i-1])/2,e=0;e=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,e),this._context.lineTo(t,e);else{var i=this._x*(1-this._t)+t*this._t;this._context.lineTo(i,this._y),this._context.lineTo(i,e)}break}}this._x=t,this._y=e}};function Qf(t){return new mr(t,.5)}function td(t){return new mr(t,0)}function ed(t){return new mr(t,1)}function Qe(t,e,i){this.k=t,this.x=e,this.y=i}Qe.prototype={constructor:Qe,scale:function(t){return t===1?this:new Qe(this.k*t,this.x,this.y)},translate:function(t,e){return t===0&e===0?this:new Qe(this.k,this.x+this.k*t,this.y+this.k*e)},apply:function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},applyX:function(t){return t*this.k+this.x},applyY:function(t){return t*this.k+this.y},invert:function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},invertX:function(t){return(t-this.x)/this.k},invertY:function(t){return(t-this.y)/this.k},rescaleX:function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},rescaleY:function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};Qe.prototype;/*! @license DOMPurify 3.1.0 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.1.0/LICENSE */const{entries:Sa,setPrototypeOf:Yo,isFrozen:id,getPrototypeOf:rd,getOwnPropertyDescriptor:nd}=Object;let{freeze:ut,seal:vt,create:wa}=Object,{apply:ln,construct:hn}=typeof Reflect<"u"&&Reflect;ut||(ut=function(e){return e});vt||(vt=function(e){return e});ln||(ln=function(e,i,r){return e.apply(i,r)});hn||(hn=function(e,i){return new e(...i)});const Fi=Ct(Array.prototype.forEach),Vo=Ct(Array.prototype.pop),Ve=Ct(Array.prototype.push),Ri=Ct(String.prototype.toLowerCase),zr=Ct(String.prototype.toString),Go=Ct(String.prototype.match),Ge=Ct(String.prototype.replace),od=Ct(String.prototype.indexOf),sd=Ct(String.prototype.trim),wt=Ct(Object.prototype.hasOwnProperty),pt=Ct(RegExp.prototype.test),Xe=ad(TypeError);function Ct(t){return function(e){for(var i=arguments.length,r=new Array(i>1?i-1:0),n=1;n2&&arguments[2]!==void 0?arguments[2]:Ri;Yo&&Yo(t,null);let r=e.length;for(;r--;){let n=e[r];if(typeof n=="string"){const o=i(n);o!==n&&(id(e)||(e[r]=o),n=o)}t[n]=!0}return t}function ld(t){for(let e=0;e/gm),dd=vt(/\${[\w\W]*}/gm),pd=vt(/^data-[\-\w.\u00B7-\uFFFF]/),gd=vt(/^aria-[\-\w]+$/),Ba=vt(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),md=vt(/^(?:\w+script|data):/i),_d=vt(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),Aa=vt(/^html$/i),yd=vt(/^[a-z][.\w]*(-[.\w]+)+$/i);var Qo=Object.freeze({__proto__:null,MUSTACHE_EXPR:ud,ERB_EXPR:fd,TMPLIT_EXPR:dd,DATA_ATTR:pd,ARIA_ATTR:gd,IS_ALLOWED_URI:Ba,IS_SCRIPT_OR_DATA:md,ATTR_WHITESPACE:_d,DOCTYPE_NAME:Aa,CUSTOM_ELEMENT:yd});const Cd=function(){return typeof window>"u"?null:window},xd=function(e,i){if(typeof e!="object"||typeof e.createPolicy!="function")return null;let r=null;const n="data-tt-policy-suffix";i&&i.hasAttribute(n)&&(r=i.getAttribute(n));const o="dompurify"+(r?"#"+r:"");try{return e.createPolicy(o,{createHTML(s){return s},createScriptURL(s){return s}})}catch{return console.warn("TrustedTypes policy "+o+" could not be created."),null}};function La(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Cd();const e=A=>La(A);if(e.version="3.1.0",e.removed=[],!t||!t.document||t.document.nodeType!==9)return e.isSupported=!1,e;let{document:i}=t;const r=i,n=r.currentScript,{DocumentFragment:o,HTMLTemplateElement:s,Node:a,Element:l,NodeFilter:h,NamedNodeMap:u=t.NamedNodeMap||t.MozNamedAttrMap,HTMLFormElement:f,DOMParser:c,trustedTypes:p}=t,_=l.prototype,v=Ei(_,"cloneNode"),k=Ei(_,"nextSibling"),N=Ei(_,"childNodes"),b=Ei(_,"parentNode");if(typeof s=="function"){const A=i.createElement("template");A.content&&A.content.ownerDocument&&(i=A.content.ownerDocument)}let P,H="";const{implementation:V,createNodeIterator:K,createDocumentFragment:W,getElementsByTagName:Jt}=i,{importNode:Qt}=r;let j={};e.isSupported=typeof Sa=="function"&&typeof b=="function"&&V&&V.createHTMLDocument!==void 0;const{MUSTACHE_EXPR:z,ERB_EXPR:St,TMPLIT_EXPR:te,DATA_ATTR:I,ARIA_ATTR:T,IS_SCRIPT_OR_DATA:y,ATTR_WHITESPACE:B,CUSTOM_ELEMENT:x}=Qo;let{IS_ALLOWED_URI:E}=Qo,S=null;const U=q({},[...Xo,...Wr,...Hr,...jr,...Ko]);let D=null;const Z=q({},[...Zo,...Ur,...Jo,...Oi]);let R=Object.seal(wa(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),tt=null,Et=null,Ot=!0,qt=!0,Mt=!1,it=!0,lt=!1,ee=!0,xt=!1,Fr=!1,Er=!1,Te=!1,vi=!1,ki=!1,ro=!0,no=!1;const ah="user-content-";let Or=!0,He=!1,ve={},ke=null;const oo=q({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]);let so=null;const ao=q({},["audio","video","img","source","image","track"]);let Mr=null;const lo=q({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),Si="http://www.w3.org/1998/Math/MathML",wi="http://www.w3.org/2000/svg",zt="http://www.w3.org/1999/xhtml";let Se=zt,Ir=!1,$r=null;const lh=q({},[Si,wi,zt],zr);let je=null;const hh=["application/xhtml+xml","text/html"],ch="text/html";let et=null,we=null;const uh=i.createElement("form"),ho=function(d){return d instanceof RegExp||d instanceof Function},Dr=function(){let d=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!(we&&we===d)){if((!d||typeof d!="object")&&(d={}),d=he(d),je=hh.indexOf(d.PARSER_MEDIA_TYPE)===-1?ch:d.PARSER_MEDIA_TYPE,et=je==="application/xhtml+xml"?zr:Ri,S=wt(d,"ALLOWED_TAGS")?q({},d.ALLOWED_TAGS,et):U,D=wt(d,"ALLOWED_ATTR")?q({},d.ALLOWED_ATTR,et):Z,$r=wt(d,"ALLOWED_NAMESPACES")?q({},d.ALLOWED_NAMESPACES,zr):lh,Mr=wt(d,"ADD_URI_SAFE_ATTR")?q(he(lo),d.ADD_URI_SAFE_ATTR,et):lo,so=wt(d,"ADD_DATA_URI_TAGS")?q(he(ao),d.ADD_DATA_URI_TAGS,et):ao,ke=wt(d,"FORBID_CONTENTS")?q({},d.FORBID_CONTENTS,et):oo,tt=wt(d,"FORBID_TAGS")?q({},d.FORBID_TAGS,et):{},Et=wt(d,"FORBID_ATTR")?q({},d.FORBID_ATTR,et):{},ve=wt(d,"USE_PROFILES")?d.USE_PROFILES:!1,Ot=d.ALLOW_ARIA_ATTR!==!1,qt=d.ALLOW_DATA_ATTR!==!1,Mt=d.ALLOW_UNKNOWN_PROTOCOLS||!1,it=d.ALLOW_SELF_CLOSE_IN_ATTR!==!1,lt=d.SAFE_FOR_TEMPLATES||!1,ee=d.SAFE_FOR_XML!==!1,xt=d.WHOLE_DOCUMENT||!1,Te=d.RETURN_DOM||!1,vi=d.RETURN_DOM_FRAGMENT||!1,ki=d.RETURN_TRUSTED_TYPE||!1,Er=d.FORCE_BODY||!1,ro=d.SANITIZE_DOM!==!1,no=d.SANITIZE_NAMED_PROPS||!1,Or=d.KEEP_CONTENT!==!1,He=d.IN_PLACE||!1,E=d.ALLOWED_URI_REGEXP||Ba,Se=d.NAMESPACE||zt,R=d.CUSTOM_ELEMENT_HANDLING||{},d.CUSTOM_ELEMENT_HANDLING&&ho(d.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(R.tagNameCheck=d.CUSTOM_ELEMENT_HANDLING.tagNameCheck),d.CUSTOM_ELEMENT_HANDLING&&ho(d.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(R.attributeNameCheck=d.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),d.CUSTOM_ELEMENT_HANDLING&&typeof d.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(R.allowCustomizedBuiltInElements=d.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),lt&&(qt=!1),vi&&(Te=!0),ve&&(S=q({},Ko),D=[],ve.html===!0&&(q(S,Xo),q(D,Zo)),ve.svg===!0&&(q(S,Wr),q(D,Ur),q(D,Oi)),ve.svgFilters===!0&&(q(S,Hr),q(D,Ur),q(D,Oi)),ve.mathMl===!0&&(q(S,jr),q(D,Jo),q(D,Oi))),d.ADD_TAGS&&(S===U&&(S=he(S)),q(S,d.ADD_TAGS,et)),d.ADD_ATTR&&(D===Z&&(D=he(D)),q(D,d.ADD_ATTR,et)),d.ADD_URI_SAFE_ATTR&&q(Mr,d.ADD_URI_SAFE_ATTR,et),d.FORBID_CONTENTS&&(ke===oo&&(ke=he(ke)),q(ke,d.FORBID_CONTENTS,et)),Or&&(S["#text"]=!0),xt&&q(S,["html","head","body"]),S.table&&(q(S,["tbody"]),delete tt.tbody),d.TRUSTED_TYPES_POLICY){if(typeof d.TRUSTED_TYPES_POLICY.createHTML!="function")throw Xe('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof d.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw Xe('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');P=d.TRUSTED_TYPES_POLICY,H=P.createHTML("")}else P===void 0&&(P=xd(p,n)),P!==null&&typeof H=="string"&&(H=P.createHTML(""));ut&&ut(d),we=d}},co=q({},["mi","mo","mn","ms","mtext"]),uo=q({},["foreignobject","desc","title","annotation-xml"]),fh=q({},["title","style","font","a","script"]),fo=q({},[...Wr,...Hr,...hd]),po=q({},[...jr,...cd]),dh=function(d){let m=b(d);(!m||!m.tagName)&&(m={namespaceURI:Se,tagName:"template"});const w=Ri(d.tagName),Y=Ri(m.tagName);return $r[d.namespaceURI]?d.namespaceURI===wi?m.namespaceURI===zt?w==="svg":m.namespaceURI===Si?w==="svg"&&(Y==="annotation-xml"||co[Y]):!!fo[w]:d.namespaceURI===Si?m.namespaceURI===zt?w==="math":m.namespaceURI===wi?w==="math"&&uo[Y]:!!po[w]:d.namespaceURI===zt?m.namespaceURI===wi&&!uo[Y]||m.namespaceURI===Si&&!co[Y]?!1:!po[w]&&(fh[w]||!fo[w]):!!(je==="application/xhtml+xml"&&$r[d.namespaceURI]):!1},Wt=function(d){Ve(e.removed,{element:d});try{d.parentNode.removeChild(d)}catch{d.remove()}},Nr=function(d,m){try{Ve(e.removed,{attribute:m.getAttributeNode(d),from:m})}catch{Ve(e.removed,{attribute:null,from:m})}if(m.removeAttribute(d),d==="is"&&!D[d])if(Te||vi)try{Wt(m)}catch{}else try{m.setAttribute(d,"")}catch{}},go=function(d){let m=null,w=null;if(Er)d=""+d;else{const nt=Go(d,/^[\r\n\t ]+/);w=nt&&nt[0]}je==="application/xhtml+xml"&&Se===zt&&(d=''+d+"");const Y=P?P.createHTML(d):d;if(Se===zt)try{m=new c().parseFromString(Y,je)}catch{}if(!m||!m.documentElement){m=V.createDocument(Se,"template",null);try{m.documentElement.innerHTML=Ir?H:Y}catch{}}const rt=m.body||m.documentElement;return d&&w&&rt.insertBefore(i.createTextNode(w),rt.childNodes[0]||null),Se===zt?Jt.call(m,xt?"html":"body")[0]:xt?m.documentElement:rt},mo=function(d){return K.call(d.ownerDocument||d,d,h.SHOW_ELEMENT|h.SHOW_COMMENT|h.SHOW_TEXT|h.SHOW_PROCESSING_INSTRUCTION|h.SHOW_CDATA_SECTION,null)},ph=function(d){return d instanceof f&&(typeof d.nodeName!="string"||typeof d.textContent!="string"||typeof d.removeChild!="function"||!(d.attributes instanceof u)||typeof d.removeAttribute!="function"||typeof d.setAttribute!="function"||typeof d.namespaceURI!="string"||typeof d.insertBefore!="function"||typeof d.hasChildNodes!="function")},_o=function(d){return typeof a=="function"&&d instanceof a},Ht=function(d,m,w){j[d]&&Fi(j[d],Y=>{Y.call(e,m,w,we)})},yo=function(d){let m=null;if(Ht("beforeSanitizeElements",d,null),ph(d))return Wt(d),!0;const w=et(d.nodeName);if(Ht("uponSanitizeElement",d,{tagName:w,allowedTags:S}),d.hasChildNodes()&&!_o(d.firstElementChild)&&pt(/<[/\w]/g,d.innerHTML)&&pt(/<[/\w]/g,d.textContent)||d.nodeType===7||ee&&d.nodeType===8&&pt(/<[/\w]/g,d.data))return Wt(d),!0;if(!S[w]||tt[w]){if(!tt[w]&&xo(w)&&(R.tagNameCheck instanceof RegExp&&pt(R.tagNameCheck,w)||R.tagNameCheck instanceof Function&&R.tagNameCheck(w)))return!1;if(Or&&!ke[w]){const Y=b(d)||d.parentNode,rt=N(d)||d.childNodes;if(rt&&Y){const nt=rt.length;for(let ft=nt-1;ft>=0;--ft)Y.insertBefore(v(rt[ft],!0),k(d))}}return Wt(d),!0}return d instanceof l&&!dh(d)||(w==="noscript"||w==="noembed"||w==="noframes")&&pt(/<\/no(script|embed|frames)/i,d.innerHTML)?(Wt(d),!0):(lt&&d.nodeType===3&&(m=d.textContent,Fi([z,St,te],Y=>{m=Ge(m,Y," ")}),d.textContent!==m&&(Ve(e.removed,{element:d.cloneNode()}),d.textContent=m)),Ht("afterSanitizeElements",d,null),!1)},Co=function(d,m,w){if(ro&&(m==="id"||m==="name")&&(w in i||w in uh))return!1;if(!(qt&&!Et[m]&&pt(I,m))){if(!(Ot&&pt(T,m))){if(!D[m]||Et[m]){if(!(xo(d)&&(R.tagNameCheck instanceof RegExp&&pt(R.tagNameCheck,d)||R.tagNameCheck instanceof Function&&R.tagNameCheck(d))&&(R.attributeNameCheck instanceof RegExp&&pt(R.attributeNameCheck,m)||R.attributeNameCheck instanceof Function&&R.attributeNameCheck(m))||m==="is"&&R.allowCustomizedBuiltInElements&&(R.tagNameCheck instanceof RegExp&&pt(R.tagNameCheck,w)||R.tagNameCheck instanceof Function&&R.tagNameCheck(w))))return!1}else if(!Mr[m]){if(!pt(E,Ge(w,B,""))){if(!((m==="src"||m==="xlink:href"||m==="href")&&d!=="script"&&od(w,"data:")===0&&so[d])){if(!(Mt&&!pt(y,Ge(w,B,"")))){if(w)return!1}}}}}}return!0},xo=function(d){return d!=="annotation-xml"&&Go(d,x)},bo=function(d){Ht("beforeSanitizeAttributes",d,null);const{attributes:m}=d;if(!m)return;const w={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:D};let Y=m.length;for(;Y--;){const rt=m[Y],{name:nt,namespaceURI:ft,value:le}=rt,Ue=et(nt);let dt=nt==="value"?le:sd(le);if(w.attrName=Ue,w.attrValue=dt,w.keepAttr=!0,w.forceKeepAttr=void 0,Ht("uponSanitizeAttribute",d,w),dt=w.attrValue,w.forceKeepAttr||(Nr(nt,d),!w.keepAttr))continue;if(!it&&pt(/\/>/i,dt)){Nr(nt,d);continue}lt&&Fi([z,St,te],vo=>{dt=Ge(dt,vo," ")});const To=et(d.nodeName);if(Co(To,Ue,dt)){if(no&&(Ue==="id"||Ue==="name")&&(Nr(nt,d),dt=ah+dt),P&&typeof p=="object"&&typeof p.getAttributeType=="function"&&!ft)switch(p.getAttributeType(To,Ue)){case"TrustedHTML":{dt=P.createHTML(dt);break}case"TrustedScriptURL":{dt=P.createScriptURL(dt);break}}try{ft?d.setAttributeNS(ft,nt,dt):d.setAttribute(nt,dt),Vo(e.removed)}catch{}}}Ht("afterSanitizeAttributes",d,null)},gh=function A(d){let m=null;const w=mo(d);for(Ht("beforeSanitizeShadowDOM",d,null);m=w.nextNode();)Ht("uponSanitizeShadowNode",m,null),!yo(m)&&(m.content instanceof o&&A(m.content),bo(m));Ht("afterSanitizeShadowDOM",d,null)};return e.sanitize=function(A){let d=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},m=null,w=null,Y=null,rt=null;if(Ir=!A,Ir&&(A=""),typeof A!="string"&&!_o(A))if(typeof A.toString=="function"){if(A=A.toString(),typeof A!="string")throw Xe("dirty is not a string, aborting")}else throw Xe("toString is not a function");if(!e.isSupported)return A;if(Fr||Dr(d),e.removed=[],typeof A=="string"&&(He=!1),He){if(A.nodeName){const le=et(A.nodeName);if(!S[le]||tt[le])throw Xe("root node is forbidden and cannot be sanitized in-place")}}else if(A instanceof a)m=go(""),w=m.ownerDocument.importNode(A,!0),w.nodeType===1&&w.nodeName==="BODY"||w.nodeName==="HTML"?m=w:m.appendChild(w);else{if(!Te&&!lt&&!xt&&A.indexOf("<")===-1)return P&&ki?P.createHTML(A):A;if(m=go(A),!m)return Te?null:ki?H:""}m&&Er&&Wt(m.firstChild);const nt=mo(He?A:m);for(;Y=nt.nextNode();)yo(Y)||(Y.content instanceof o&&gh(Y.content),bo(Y));if(He)return A;if(Te){if(vi)for(rt=W.call(m.ownerDocument);m.firstChild;)rt.appendChild(m.firstChild);else rt=m;return(D.shadowroot||D.shadowrootmode)&&(rt=Qt.call(r,rt,!0)),rt}let ft=xt?m.outerHTML:m.innerHTML;return xt&&S["!doctype"]&&m.ownerDocument&&m.ownerDocument.doctype&&m.ownerDocument.doctype.name&&pt(Aa,m.ownerDocument.doctype.name)&&(ft=" -`+ft),lt&&Fi([z,St,te],le=>{ft=Ge(ft,le," ")}),P&&ki?P.createHTML(ft):ft},e.setConfig=function(){let A=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Dr(A),Fr=!0},e.clearConfig=function(){we=null,Fr=!1},e.isValidAttribute=function(A,d,m){we||Dr({});const w=et(A),Y=et(d);return Co(w,Y,m)},e.addHook=function(A,d){typeof d=="function"&&(j[A]=j[A]||[],Ve(j[A],d))},e.removeHook=function(A){if(j[A])return Vo(j[A])},e.removeHooks=function(A){j[A]&&(j[A]=[])},e.removeAllHooks=function(){j={}},e}var Ie=La();const Pi={min:{r:0,g:0,b:0,s:0,l:0,a:0},max:{r:255,g:255,b:255,h:360,s:100,l:100,a:1},clamp:{r:t=>t>=255?255:t<0?0:t,g:t=>t>=255?255:t<0?0:t,b:t=>t>=255?255:t<0?0:t,h:t=>t%360,s:t=>t>=100?100:t<0?0:t,l:t=>t>=100?100:t<0?0:t,a:t=>t>=1?1:t<0?0:t},toLinear:t=>{const e=t/255;return t>.03928?Math.pow((e+.055)/1.055,2.4):e/12.92},hue2rgb:(t,e,i)=>(i<0&&(i+=1),i>1&&(i-=1),i<1/6?t+(e-t)*6*i:i<1/2?e:i<2/3?t+(e-t)*(2/3-i)*6:t),hsl2rgb:({h:t,s:e,l:i},r)=>{if(!e)return i*2.55;t/=360,e/=100,i/=100;const n=i<.5?i*(1+e):i+e-i*e,o=2*i-n;switch(r){case"r":return Pi.hue2rgb(o,n,t+1/3)*255;case"g":return Pi.hue2rgb(o,n,t)*255;case"b":return Pi.hue2rgb(o,n,t-1/3)*255}},rgb2hsl:({r:t,g:e,b:i},r)=>{t/=255,e/=255,i/=255;const n=Math.max(t,e,i),o=Math.min(t,e,i),s=(n+o)/2;if(r==="l")return s*100;if(n===o)return 0;const a=n-o,l=s>.5?a/(2-n-o):a/(n+o);if(r==="s")return l*100;switch(n){case t:return((e-i)/a+(ee>i?Math.min(e,Math.max(i,t)):Math.min(i,Math.max(e,t)),round:t=>Math.round(t*1e10)/1e10},Td=bd,vd={dec2hex:t=>{const e=Math.round(t).toString(16);return e.length>1?e:`0${e}`}},kd=vd,$={channel:Pi,lang:Td,unit:kd},ie={};for(let t=0;t<=255;t++)ie[t]=$.unit.dec2hex(t);const ot={ALL:0,RGB:1,HSL:2};class Sd{constructor(){this.type=ot.ALL}get(){return this.type}set(e){if(this.type&&this.type!==e)throw new Error("Cannot change both RGB and HSL channels at the same time");this.type=e}reset(){this.type=ot.ALL}is(e){return this.type===e}}class wd{constructor(e,i){this.color=i,this.changed=!1,this.data=e,this.type=new Sd}set(e,i){return this.color=i,this.changed=!1,this.data=e,this.type.type=ot.ALL,this}_ensureHSL(){const e=this.data,{h:i,s:r,l:n}=e;i===void 0&&(e.h=$.channel.rgb2hsl(e,"h")),r===void 0&&(e.s=$.channel.rgb2hsl(e,"s")),n===void 0&&(e.l=$.channel.rgb2hsl(e,"l"))}_ensureRGB(){const e=this.data,{r:i,g:r,b:n}=e;i===void 0&&(e.r=$.channel.hsl2rgb(e,"r")),r===void 0&&(e.g=$.channel.hsl2rgb(e,"g")),n===void 0&&(e.b=$.channel.hsl2rgb(e,"b"))}get r(){const e=this.data,i=e.r;return!this.type.is(ot.HSL)&&i!==void 0?i:(this._ensureHSL(),$.channel.hsl2rgb(e,"r"))}get g(){const e=this.data,i=e.g;return!this.type.is(ot.HSL)&&i!==void 0?i:(this._ensureHSL(),$.channel.hsl2rgb(e,"g"))}get b(){const e=this.data,i=e.b;return!this.type.is(ot.HSL)&&i!==void 0?i:(this._ensureHSL(),$.channel.hsl2rgb(e,"b"))}get h(){const e=this.data,i=e.h;return!this.type.is(ot.RGB)&&i!==void 0?i:(this._ensureRGB(),$.channel.rgb2hsl(e,"h"))}get s(){const e=this.data,i=e.s;return!this.type.is(ot.RGB)&&i!==void 0?i:(this._ensureRGB(),$.channel.rgb2hsl(e,"s"))}get l(){const e=this.data,i=e.l;return!this.type.is(ot.RGB)&&i!==void 0?i:(this._ensureRGB(),$.channel.rgb2hsl(e,"l"))}get a(){return this.data.a}set r(e){this.type.set(ot.RGB),this.changed=!0,this.data.r=e}set g(e){this.type.set(ot.RGB),this.changed=!0,this.data.g=e}set b(e){this.type.set(ot.RGB),this.changed=!0,this.data.b=e}set h(e){this.type.set(ot.HSL),this.changed=!0,this.data.h=e}set s(e){this.type.set(ot.HSL),this.changed=!0,this.data.s=e}set l(e){this.type.set(ot.HSL),this.changed=!0,this.data.l=e}set a(e){this.changed=!0,this.data.a=e}}const Bd=wd,_r=new Bd({r:0,g:0,b:0,a:0},"transparent"),Ee={re:/^#((?:[a-f0-9]{2}){2,4}|[a-f0-9]{3})$/i,parse:t=>{if(t.charCodeAt(0)!==35)return;const e=t.match(Ee.re);if(!e)return;const i=e[1],r=parseInt(i,16),n=i.length,o=n%4===0,s=n>4,a=s?1:17,l=s?8:4,h=o?0:-1,u=s?255:15;return _r.set({r:(r>>l*(h+3)&u)*a,g:(r>>l*(h+2)&u)*a,b:(r>>l*(h+1)&u)*a,a:o?(r&u)*a/255:1},t)},stringify:t=>{const{r:e,g:i,b:r,a:n}=t;return n<1?`#${ie[Math.round(e)]}${ie[Math.round(i)]}${ie[Math.round(r)]}${ie[Math.round(n*255)]}`:`#${ie[Math.round(e)]}${ie[Math.round(i)]}${ie[Math.round(r)]}`}},fe={re:/^hsla?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(?:deg|grad|rad|turn)?)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(%)?))?\s*?\)$/i,hueRe:/^(.+?)(deg|grad|rad|turn)$/i,_hue2deg:t=>{const e=t.match(fe.hueRe);if(e){const[,i,r]=e;switch(r){case"grad":return $.channel.clamp.h(parseFloat(i)*.9);case"rad":return $.channel.clamp.h(parseFloat(i)*180/Math.PI);case"turn":return $.channel.clamp.h(parseFloat(i)*360)}}return $.channel.clamp.h(parseFloat(t))},parse:t=>{const e=t.charCodeAt(0);if(e!==104&&e!==72)return;const i=t.match(fe.re);if(!i)return;const[,r,n,o,s,a]=i;return _r.set({h:fe._hue2deg(r),s:$.channel.clamp.s(parseFloat(n)),l:$.channel.clamp.l(parseFloat(o)),a:s?$.channel.clamp.a(a?parseFloat(s)/100:parseFloat(s)):1},t)},stringify:t=>{const{h:e,s:i,l:r,a:n}=t;return n<1?`hsla(${$.lang.round(e)}, ${$.lang.round(i)}%, ${$.lang.round(r)}%, ${n})`:`hsl(${$.lang.round(e)}, ${$.lang.round(i)}%, ${$.lang.round(r)}%)`}},ei={colors:{aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyanaqua:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",transparent:"#00000000",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"},parse:t=>{t=t.toLowerCase();const e=ei.colors[t];if(e)return Ee.parse(e)},stringify:t=>{const e=Ee.stringify(t);for(const i in ei.colors)if(ei.colors[i]===e)return i}},ti={re:/^rgba?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?)))?\s*?\)$/i,parse:t=>{const e=t.charCodeAt(0);if(e!==114&&e!==82)return;const i=t.match(ti.re);if(!i)return;const[,r,n,o,s,a,l,h,u]=i;return _r.set({r:$.channel.clamp.r(n?parseFloat(r)*2.55:parseFloat(r)),g:$.channel.clamp.g(s?parseFloat(o)*2.55:parseFloat(o)),b:$.channel.clamp.b(l?parseFloat(a)*2.55:parseFloat(a)),a:h?$.channel.clamp.a(u?parseFloat(h)/100:parseFloat(h)):1},t)},stringify:t=>{const{r:e,g:i,b:r,a:n}=t;return n<1?`rgba(${$.lang.round(e)}, ${$.lang.round(i)}, ${$.lang.round(r)}, ${$.lang.round(n)})`:`rgb(${$.lang.round(e)}, ${$.lang.round(i)}, ${$.lang.round(r)})`}},Dt={format:{keyword:ei,hex:Ee,rgb:ti,rgba:ti,hsl:fe,hsla:fe},parse:t=>{if(typeof t!="string")return t;const e=Ee.parse(t)||ti.parse(t)||fe.parse(t)||ei.parse(t);if(e)return e;throw new Error(`Unsupported color format: "${t}"`)},stringify:t=>!t.changed&&t.color?t.color:t.type.is(ot.HSL)||t.data.r===void 0?fe.stringify(t):t.a<1||!Number.isInteger(t.r)||!Number.isInteger(t.g)||!Number.isInteger(t.b)?ti.stringify(t):Ee.stringify(t)},Fa=(t,e)=>{const i=Dt.parse(t);for(const r in e)i[r]=$.channel.clamp[r](e[r]);return Dt.stringify(i)},ii=(t,e,i=0,r=1)=>{if(typeof t!="number")return Fa(t,{a:e});const n=_r.set({r:$.channel.clamp.r(t),g:$.channel.clamp.g(e),b:$.channel.clamp.b(i),a:$.channel.clamp.a(r)});return Dt.stringify(n)},Ad=t=>{const{r:e,g:i,b:r}=Dt.parse(t),n=.2126*$.channel.toLinear(e)+.7152*$.channel.toLinear(i)+.0722*$.channel.toLinear(r);return $.lang.round(n)},Ld=t=>Ad(t)>=.5,Fd=Ld,Ci=t=>!Fd(t),Ea=(t,e,i)=>{const r=Dt.parse(t),n=r[e],o=$.channel.clamp[e](n+i);return n!==o&&(r[e]=o),Dt.stringify(r)},L=(t,e)=>Ea(t,"l",e),M=(t,e)=>Ea(t,"l",-e),g=(t,e)=>{const i=Dt.parse(t),r={};for(const n in e)e[n]&&(r[n]=i[n]+e[n]);return Fa(t,r)},Ed=(t,e,i=50)=>{const{r,g:n,b:o,a:s}=Dt.parse(t),{r:a,g:l,b:h,a:u}=Dt.parse(e),f=i/100,c=f*2-1,p=s-u,v=((c*p===-1?c:(c+p)/(1+c*p))+1)/2,k=1-v,N=r*v+a*k,b=n*v+l*k,P=o*v+h*k,H=s*f+u*(1-f);return ii(N,b,P,H)},C=(t,e=100)=>{const i=Dt.parse(t);return i.r=255-i.r,i.g=255-i.g,i.b=255-i.b,Ed(i,t,e)};var Oa=typeof global=="object"&&global&&global.Object===Object&&global,Od=typeof self=="object"&&self&&self.Object===Object&&self,Pt=Oa||Od||Function("return this")(),Qi=Pt.Symbol,Ma=Object.prototype,Md=Ma.hasOwnProperty,Id=Ma.toString,Ke=Qi?Qi.toStringTag:void 0;function $d(t){var e=Md.call(t,Ke),i=t[Ke];try{t[Ke]=void 0;var r=!0}catch{}var n=Id.call(t);return r&&(e?t[Ke]=i:delete t[Ke]),n}var Dd=Object.prototype,Nd=Dd.toString;function Rd(t){return Nd.call(t)}var Pd="[object Null]",qd="[object Undefined]",ts=Qi?Qi.toStringTag:void 0;function qe(t){return t==null?t===void 0?qd:Pd:ts&&ts in Object(t)?$d(t):Rd(t)}function Ce(t){var e=typeof t;return t!=null&&(e=="object"||e=="function")}var zd="[object AsyncFunction]",Wd="[object Function]",Hd="[object GeneratorFunction]",jd="[object Proxy]";function $n(t){if(!Ce(t))return!1;var e=qe(t);return e==Wd||e==Hd||e==zd||e==jd}var Yr=Pt["__core-js_shared__"],es=function(){var t=/[^.]+$/.exec(Yr&&Yr.keys&&Yr.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""}();function Ud(t){return!!es&&es in t}var Yd=Function.prototype,Vd=Yd.toString;function xe(t){if(t!=null){try{return Vd.call(t)}catch{}try{return t+""}catch{}}return""}var Gd=/[\\^$.*+?()[\]{}|]/g,Xd=/^\[object .+?Constructor\]$/,Kd=Function.prototype,Zd=Object.prototype,Jd=Kd.toString,Qd=Zd.hasOwnProperty,tp=RegExp("^"+Jd.call(Qd).replace(Gd,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function ep(t){if(!Ce(t)||Ud(t))return!1;var e=$n(t)?tp:Xd;return e.test(xe(t))}function ip(t,e){return t==null?void 0:t[e]}function be(t,e){var i=ip(t,e);return ep(i)?i:void 0}var ui=be(Object,"create");function rp(){this.__data__=ui?ui(null):{},this.size=0}function np(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}var op="__lodash_hash_undefined__",sp=Object.prototype,ap=sp.hasOwnProperty;function lp(t){var e=this.__data__;if(ui){var i=e[t];return i===op?void 0:i}return ap.call(e,t)?e[t]:void 0}var hp=Object.prototype,cp=hp.hasOwnProperty;function up(t){var e=this.__data__;return ui?e[t]!==void 0:cp.call(e,t)}var fp="__lodash_hash_undefined__";function dp(t,e){var i=this.__data__;return this.size+=this.has(t)?0:1,i[t]=ui&&e===void 0?fp:e,this}function _e(t){var e=-1,i=t==null?0:t.length;for(this.clear();++e-1}function xp(t,e){var i=this.__data__,r=Cr(i,t);return r<0?(++this.size,i.push([t,e])):i[r][1]=e,this}function Zt(t){var e=-1,i=t==null?0:t.length;for(this.clear();++e-1&&t%1==0&&t<=Xp}function Tr(t){return t!=null&&Ra(t.length)&&!$n(t)}function Kp(t){return bi(t)&&Tr(t)}function Zp(){return!1}var Pa=typeof exports=="object"&&exports&&!exports.nodeType&&exports,ls=Pa&&typeof module=="object"&&module&&!module.nodeType&&module,Jp=ls&&ls.exports===Pa,hs=Jp?Pt.Buffer:void 0,Qp=hs?hs.isBuffer:void 0,tg=Qp||Zp;const Nn=tg;var eg="[object Object]",ig=Function.prototype,rg=Object.prototype,qa=ig.toString,ng=rg.hasOwnProperty,og=qa.call(Object);function sg(t){if(!bi(t)||qe(t)!=eg)return!1;var e=Da(t);if(e===null)return!0;var i=ng.call(e,"constructor")&&e.constructor;return typeof i=="function"&&i instanceof i&&qa.call(i)==og}var ag="[object Arguments]",lg="[object Array]",hg="[object Boolean]",cg="[object Date]",ug="[object Error]",fg="[object Function]",dg="[object Map]",pg="[object Number]",gg="[object Object]",mg="[object RegExp]",_g="[object Set]",yg="[object String]",Cg="[object WeakMap]",xg="[object ArrayBuffer]",bg="[object DataView]",Tg="[object Float32Array]",vg="[object Float64Array]",kg="[object Int8Array]",Sg="[object Int16Array]",wg="[object Int32Array]",Bg="[object Uint8Array]",Ag="[object Uint8ClampedArray]",Lg="[object Uint16Array]",Fg="[object Uint32Array]",G={};G[Tg]=G[vg]=G[kg]=G[Sg]=G[wg]=G[Bg]=G[Ag]=G[Lg]=G[Fg]=!0;G[ag]=G[lg]=G[xg]=G[hg]=G[bg]=G[cg]=G[ug]=G[fg]=G[dg]=G[pg]=G[gg]=G[mg]=G[_g]=G[yg]=G[Cg]=!1;function Eg(t){return bi(t)&&Ra(t.length)&&!!G[qe(t)]}function Og(t){return function(e){return t(e)}}var za=typeof exports=="object"&&exports&&!exports.nodeType&&exports,ri=za&&typeof module=="object"&&module&&!module.nodeType&&module,Mg=ri&&ri.exports===za,Vr=Mg&&Oa.process,cs=function(){try{var t=ri&&ri.require&&ri.require("util").types;return t||Vr&&Vr.binding&&Vr.binding("util")}catch{}}(),us=cs&&cs.isTypedArray,Ig=us?Og(us):Eg;const Rn=Ig;function un(t,e){if(!(e==="constructor"&&typeof t[e]=="function")&&e!="__proto__")return t[e]}var $g=Object.prototype,Dg=$g.hasOwnProperty;function Ng(t,e,i){var r=t[e];(!(Dg.call(t,e)&&yr(r,i))||i===void 0&&!(e in t))&&Dn(t,e,i)}function Rg(t,e,i,r){var n=!i;i||(i={});for(var o=-1,s=e.length;++o-1&&t%1==0&&t0){if(++e>=im)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}var sm=om(em);function am(t,e){return sm(Jg(t,e,Ua),t+"")}function lm(t,e,i){if(!Ce(i))return!1;var r=typeof e;return(r=="number"?Tr(i)&&Wa(e,i.length):r=="string"&&e in i)?yr(i[e],t):!1}function hm(t){return am(function(e,i){var r=-1,n=i.length,o=n>1?i[n-1]:void 0,s=n>2?i[2]:void 0;for(o=t.length>3&&typeof o=="function"?(n--,o):void 0,s&&lm(i[0],i[1],s)&&(o=n<3?void 0:o,n=1),e=Object(e);++r0?di(We,--kt):0,$e--,J===10&&($e=1,vr--),J}function At(){return J=kt2||fn(J)>3?"":" "}function bm(t,e){for(;--e&&At()&&!(J<48||J>102||J>57&&J<65||J>70&&J<97););return kr(t,zi()+(e<6&&pe()==32&&At()==32))}function dn(t){for(;At();)switch(J){case t:return kt;case 34:case 39:t!==34&&t!==39&&dn(J);break;case 40:t===41&&dn(t);break;case 92:At();break}return kt}function Tm(t,e){for(;At()&&t+J!==57;)if(t+J===84&&pe()===47)break;return"/*"+kr(e,kt-1)+"*"+Pn(t===47?t:At())}function vm(t){for(;!fn(pe());)At();return kr(t,kt)}function km(t){return Cm(Wi("",null,null,null,[""],t=ym(t),0,[0],t))}function Wi(t,e,i,r,n,o,s,a,l){for(var h=0,u=0,f=s,c=0,p=0,_=0,v=1,k=1,N=1,b=0,P="",H=n,V=o,K=r,W=P;k;)switch(_=b,b=At()){case 40:if(_!=108&&di(W,f-1)==58){pm(W+=qi(Gr(b),"&","&\f"),"&\f",Xa(h?a[h-1]:0))!=-1&&(N=-1);break}case 34:case 39:case 91:W+=Gr(b);break;case 9:case 10:case 13:case 32:W+=xm(_);break;case 92:W+=bm(zi()-1,7);continue;case 47:switch(pe()){case 42:case 47:Mi(Sm(Tm(At(),zi()),e,i,l),l);break;default:W+="/"}break;case 123*v:a[h++]=Vt(W)*N;case 125*v:case 59:case 0:switch(b){case 0:case 125:k=0;case 59+u:N==-1&&(W=qi(W,/\f/g,"")),p>0&&Vt(W)-f&&Mi(p>32?ps(W+";",r,i,f-1,l):ps(qi(W," ","")+";",r,i,f-2,l),l);break;case 59:W+=";";default:if(Mi(K=ds(W,e,i,h,u,n,a,P,H=[],V=[],f,o),o),b===123)if(u===0)Wi(W,e,K,K,H,o,f,a,V);else switch(c===99&&di(W,3)===110?100:c){case 100:case 108:case 109:case 115:Wi(t,K,K,r&&Mi(ds(t,K,K,0,0,n,a,P,n,H=[],f,V),V),n,V,f,a,r?H:V);break;default:Wi(W,K,K,K,[""],V,0,a,V)}}h=u=p=0,v=N=1,P=W="",f=s;break;case 58:f=1+Vt(W),p=_;default:if(v<1){if(b==123)--v;else if(b==125&&v++==0&&_m()==125)continue}switch(W+=Pn(b),b*v){case 38:N=u>0?1:(W+="\f",-1);break;case 44:a[h++]=(Vt(W)-1)*N,N=1;break;case 64:pe()===45&&(W+=Gr(At())),c=pe(),u=f=Vt(P=W+=vm(zi())),b++;break;case 45:_===45&&Vt(W)==2&&(v=0)}}return o}function ds(t,e,i,r,n,o,s,a,l,h,u,f){for(var c=n-1,p=n===0?o:[""],_=gm(p),v=0,k=0,N=0;v0?p[b]+" "+P:qi(P,/&\f/g,p[b])))&&(l[N++]=H);return qn(t,e,i,n===0?Va:a,l,h,u,f)}function Sm(t,e,i,r){return qn(t,e,i,Ya,Pn(mm()),pi(t,2,-2),0,r)}function ps(t,e,i,r,n){return qn(t,e,i,Ga,pi(t,0,r),pi(t,r+1,-1),r,n)}function pn(t,e){for(var i="",r=0;r{},debug:(...t)=>{},info:(...t)=>{},warn:(...t)=>{},error:(...t)=>{},fatal:(...t)=>{}},zn=function(t="fatal"){let e=Ut.fatal;typeof t=="string"?(t=t.toLowerCase(),t in Ut&&(e=Ut[t])):typeof t=="number"&&(e=t),O.trace=()=>{},O.debug=()=>{},O.info=()=>{},O.warn=()=>{},O.error=()=>{},O.fatal=()=>{},e<=Ut.fatal&&(O.fatal=console.error?console.error.bind(console,bt("FATAL"),"color: orange"):console.log.bind(console,"\x1B[35m",bt("FATAL"))),e<=Ut.error&&(O.error=console.error?console.error.bind(console,bt("ERROR"),"color: orange"):console.log.bind(console,"\x1B[31m",bt("ERROR"))),e<=Ut.warn&&(O.warn=console.warn?console.warn.bind(console,bt("WARN"),"color: orange"):console.log.bind(console,"\x1B[33m",bt("WARN"))),e<=Ut.info&&(O.info=console.info?console.info.bind(console,bt("INFO"),"color: lightblue"):console.log.bind(console,"\x1B[34m",bt("INFO"))),e<=Ut.debug&&(O.debug=console.debug?console.debug.bind(console,bt("DEBUG"),"color: lightgreen"):console.log.bind(console,"\x1B[32m",bt("DEBUG"))),e<=Ut.trace&&(O.trace=console.debug?console.debug.bind(console,bt("TRACE"),"color: lightgreen"):console.log.bind(console,"\x1B[32m",bt("TRACE")))},bt=t=>`%c${xh().format("ss.SSS")} : ${t} : `,Ti=//gi,Wm=t=>t?Qa(t).replace(/\\n/g,"#br#").split("#br#"):[""],Hm=(()=>{let t=!1;return()=>{t||(jm(),t=!0)}})();function jm(){const t="data-temp-href-target";Ie.addHook("beforeSanitizeAttributes",e=>{e.tagName==="A"&&e.hasAttribute("target")&&e.setAttribute(t,e.getAttribute("target")||"")}),Ie.addHook("afterSanitizeAttributes",e=>{e.tagName==="A"&&e.hasAttribute(t)&&(e.setAttribute("target",e.getAttribute(t)||""),e.removeAttribute(t),e.getAttribute("target")==="_blank"&&e.setAttribute("rel","noopener"))})}const Ja=t=>(Hm(),Ie.sanitize(t)),xs=(t,e)=>{var i;if(((i=e.flowchart)==null?void 0:i.htmlLabels)!==!1){const r=e.securityLevel;r==="antiscript"||r==="strict"?t=Ja(t):r!=="loose"&&(t=Qa(t),t=t.replace(//g,">"),t=t.replace(/=/g,"="),t=Gm(t))}return t},gi=(t,e)=>t&&(e.dompurifyConfig?t=Ie.sanitize(xs(t,e),e.dompurifyConfig).toString():t=Ie.sanitize(xs(t,e),{FORBID_TAGS:["style"]}).toString(),t),Um=(t,e)=>typeof t=="string"?gi(t,e):t.flat().map(i=>gi(i,e)),Ym=t=>Ti.test(t),Vm=t=>t.split(Ti),Gm=t=>t.replace(/#br#/g,"
"),Qa=t=>t.replace(Ti,"#br#"),Xm=t=>{let e="";return t&&(e=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,e=e.replaceAll(/\(/g,"\\("),e=e.replaceAll(/\)/g,"\\)")),e},tl=t=>!(t===!1||["false","null","0"].includes(String(t).trim().toLowerCase())),Km=function(...t){const e=t.filter(i=>!isNaN(i));return Math.max(...e)},Zm=function(...t){const e=t.filter(i=>!isNaN(i));return Math.min(...e)},qb=function(t){const e=t.split(/(,)/),i=[];for(let r=0;r0&&r+1Math.max(0,t.split(e).length-1),Jm=(t,e)=>{const i=Cn(t,"~"),r=Cn(e,"~");return i===1&&r===1},Qm=t=>{const e=Cn(t,"~");let i=!1;if(e<=1)return t;e%2!==0&&t.startsWith("~")&&(t=t.substring(1),i=!0);const r=[...t];let n=r.indexOf("~"),o=r.lastIndexOf("~");for(;n!==-1&&o!==-1&&n!==o;)r[n]="<",r[o]=">",n=r.indexOf("~"),o=r.lastIndexOf("~");return i&&r.unshift("~"),r.join("")},bs=()=>window.MathMLElement!==void 0,xn=/\$\$(.*)\$\$/g,Ts=t=>{var e;return(((e=t.match(xn))==null?void 0:e.length)??0)>0},zb=async(t,e)=>{t=await t0(t,e);const i=document.createElement("div");i.innerHTML=t,i.id="katex-temp",i.style.visibility="hidden",i.style.position="absolute",i.style.top="0";const r=document.querySelector("body");r==null||r.insertAdjacentElement("beforeend",i);const n={width:i.clientWidth,height:i.clientHeight};return i.remove(),n},t0=async(t,e)=>{if(!Ts(t))return t;if(!bs()&&!e.legacyMathML)return t.replace(xn,"MathML is unsupported in this environment.");const{default:i}=await X(()=>import("./katex-rPiVaalG.js"),[]);return t.split(Ti).map(r=>Ts(r)?` +`)),s+=f+r[l+1]}),s}var yh=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Ch(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var qs={exports:{}};(function(t,e){(function(i,r){t.exports=r()})(yh,function(){var i=1e3,r=6e4,n=36e5,o="millisecond",s="second",a="minute",l="hour",h="day",u="week",f="month",c="quarter",p="year",_="date",v="Invalid Date",k=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,N=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,b={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(I){var T=["th","st","nd","rd"],y=I%100;return"["+I+(T[(y-20)%10]||T[y]||T[0])+"]"}},P=function(I,T,y){var B=String(I);return!B||B.length>=T?I:""+Array(T+1-B.length).join(y)+I},j={s:P,z:function(I){var T=-I.utcOffset(),y=Math.abs(T),B=Math.floor(y/60),x=y%60;return(T<=0?"+":"-")+P(B,2,"0")+":"+P(x,2,"0")},m:function I(T,y){if(T.date()1)return I(S[0])}else{var Y=T.name;K[Y]=T,x=Y}return!B&&x&&(V=x),x||!B&&V},U=function(I,T){if(Qt(I))return I.clone();var y=typeof T=="object"?T:{};return y.date=I,y.args=arguments,new St(y)},W=j;W.l=te,W.i=Qt,W.w=function(I,T){return U(I,{locale:T.$L,utc:T.$u,x:T.$x,$offset:T.$offset})};var St=function(){function I(y){this.$L=te(y.locale,null,!0),this.parse(y),this.$x=this.$x||y.x||{},this[H]=!0}var T=I.prototype;return T.parse=function(y){this.$d=function(B){var x=B.date,E=B.utc;if(x===null)return new Date(NaN);if(W.u(x))return new Date;if(x instanceof Date)return new Date(x);if(typeof x=="string"&&!/Z$/i.test(x)){var S=x.match(k);if(S){var Y=S[2]-1||0,D=(S[7]||"0").substring(0,3);return E?new Date(Date.UTC(S[1],Y,S[3]||1,S[4]||0,S[5]||0,S[6]||0,D)):new Date(S[1],Y,S[3]||1,S[4]||0,S[5]||0,S[6]||0,D)}}return new Date(x)}(y),this.init()},T.init=function(){var y=this.$d;this.$y=y.getFullYear(),this.$M=y.getMonth(),this.$D=y.getDate(),this.$W=y.getDay(),this.$H=y.getHours(),this.$m=y.getMinutes(),this.$s=y.getSeconds(),this.$ms=y.getMilliseconds()},T.$utils=function(){return W},T.isValid=function(){return this.$d.toString()!==v},T.isSame=function(y,B){var x=U(y);return this.startOf(B)<=x&&x<=this.endOf(B)},T.isAfter=function(y,B){return U(y)-1}function l(u){var f=u.replace(n,"");return f.replace(i,function(c,p){return String.fromCharCode(p)})}function h(u){if(!u)return t.BLANK_URL;var f=l(u).replace(r,"").replace(n,"").trim();if(!f)return t.BLANK_URL;if(a(f))return f;var c=f.match(o);if(!c)return f;var p=c[0];return e.test(p)?t.BLANK_URL:f}t.sanitizeUrl=h})(zs);var Th={value:()=>{}};function Ws(){for(var t=0,e=arguments.length,i={},r;t=0&&(r=i.slice(n+1),i=i.slice(0,n)),i&&!e.hasOwnProperty(i))throw new Error("unknown type: "+i);return{type:i,name:r}})}$i.prototype=Ws.prototype={constructor:$i,on:function(t,e){var i=this._,r=vh(t+"",i),n,o=-1,s=r.length;if(arguments.length<2){for(;++o0)for(var i=new Array(n),r=0,n,o;r=0&&(e=t.slice(0,i))!=="xmlns"&&(t=t.slice(i+1)),wo.hasOwnProperty(e)?{space:wo[e],local:t}:t}function Sh(t){return function(){var e=this.ownerDocument,i=this.namespaceURI;return i===tn&&e.documentElement.namespaceURI===tn?e.createElement(t):e.createElementNS(i,t)}}function wh(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}function Hs(t){var e=fr(t);return(e.local?wh:Sh)(e)}function Bh(){}function vn(t){return t==null?Bh:function(){return this.querySelector(t)}}function Ah(t){typeof t!="function"&&(t=vn(t));for(var e=this._groups,i=e.length,r=new Array(i),n=0;n=P&&(P=b+1);!(V=k[P])&&++P<_;);j._next=V||null}}return s=new yt(s,r),s._enter=a,s._exit=l,s}function Gh(t){return typeof t=="object"&&"length"in t?t:Array.from(t)}function Xh(){return new yt(this._exit||this._groups.map(Vs),this._parents)}function Kh(t,e,i){var r=this.enter(),n=this,o=this.exit();return typeof t=="function"?(r=t(r),r&&(r=r.selection())):r=r.append(t+""),e!=null&&(n=e(n),n&&(n=n.selection())),i==null?o.remove():i(o),r&&n?r.merge(n).order():n}function Zh(t){for(var e=t.selection?t.selection():t,i=this._groups,r=e._groups,n=i.length,o=r.length,s=Math.min(n,o),a=new Array(n),l=0;l=0;)(s=r[n])&&(o&&s.compareDocumentPosition(o)^4&&o.parentNode.insertBefore(s,o),o=s);return this}function Qh(t){t||(t=tc);function e(f,c){return f&&c?t(f.__data__,c.__data__):!f-!c}for(var i=this._groups,r=i.length,n=new Array(r),o=0;oe?1:t>=e?0:NaN}function ec(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this}function ic(){return Array.from(this)}function rc(){for(var t=this._groups,e=0,i=t.length;e1?this.each((e==null?pc:typeof e=="function"?mc:gc)(t,e,i??"")):Oe(this.node(),t)}function Oe(t,e){return t.style.getPropertyValue(e)||Gs(t).getComputedStyle(t,null).getPropertyValue(e)}function yc(t){return function(){delete this[t]}}function Cc(t,e){return function(){this[t]=e}}function xc(t,e){return function(){var i=e.apply(this,arguments);i==null?delete this[t]:this[t]=i}}function bc(t,e){return arguments.length>1?this.each((e==null?yc:typeof e=="function"?xc:Cc)(t,e)):this.node()[t]}function Xs(t){return t.trim().split(/^|\s+/)}function kn(t){return t.classList||new Ks(t)}function Ks(t){this._node=t,this._names=Xs(t.getAttribute("class")||"")}Ks.prototype={add:function(t){var e=this._names.indexOf(t);e<0&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},remove:function(t){var e=this._names.indexOf(t);e>=0&&(this._names.splice(e,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};function Zs(t,e){for(var i=kn(t),r=-1,n=e.length;++r=0&&(i=e.slice(r+1),e=e.slice(0,r)),{type:e,name:i}})}function Xc(t){return function(){var e=this.__on;if(e){for(var i=0,r=-1,n=e.length,o;i>8&15|e>>4&240,e>>4&15|e&240,(e&15)<<4|e&15,1):i===8?Bi(e>>24&255,e>>16&255,e>>8&255,(e&255)/255):i===4?Bi(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|e&240,((e&15)<<4|e&15)/255):null):(e=nu.exec(t))?new mt(e[1],e[2],e[3],1):(e=ou.exec(t))?new mt(e[1]*255/100,e[2]*255/100,e[3]*255/100,1):(e=su.exec(t))?Bi(e[1],e[2],e[3],e[4]):(e=au.exec(t))?Bi(e[1]*255/100,e[2]*255/100,e[3]*255/100,e[4]):(e=lu.exec(t))?Mo(e[1],e[2]/100,e[3]/100,1):(e=hu.exec(t))?Mo(e[1],e[2]/100,e[3]/100,e[4]):Bo.hasOwnProperty(t)?Fo(Bo[t]):t==="transparent"?new mt(NaN,NaN,NaN,0):null}function Fo(t){return new mt(t>>16&255,t>>8&255,t&255,1)}function Bi(t,e,i,r){return r<=0&&(t=e=i=NaN),new mt(t,e,i,r)}function fu(t){return t instanceof yi||(t=hi(t)),t?(t=t.rgb(),new mt(t.r,t.g,t.b,t.opacity)):new mt}function en(t,e,i,r){return arguments.length===1?fu(t):new mt(t,e,i,r??1)}function mt(t,e,i,r){this.r=+t,this.g=+e,this.b=+i,this.opacity=+r}Sn(mt,en,ea(yi,{brighter(t){return t=t==null?Ui:Math.pow(Ui,t),new mt(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=t==null?ai:Math.pow(ai,t),new mt(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new mt(de(this.r),de(this.g),de(this.b),Yi(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:Eo,formatHex:Eo,formatHex8:du,formatRgb:Oo,toString:Oo}));function Eo(){return`#${ue(this.r)}${ue(this.g)}${ue(this.b)}`}function du(){return`#${ue(this.r)}${ue(this.g)}${ue(this.b)}${ue((isNaN(this.opacity)?1:this.opacity)*255)}`}function Oo(){const t=Yi(this.opacity);return`${t===1?"rgb(":"rgba("}${de(this.r)}, ${de(this.g)}, ${de(this.b)}${t===1?")":`, ${t})`}`}function Yi(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function de(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function ue(t){return t=de(t),(t<16?"0":"")+t.toString(16)}function Mo(t,e,i,r){return r<=0?t=e=i=NaN:i<=0||i>=1?t=e=NaN:e<=0&&(t=NaN),new At(t,e,i,r)}function ia(t){if(t instanceof At)return new At(t.h,t.s,t.l,t.opacity);if(t instanceof yi||(t=hi(t)),!t)return new At;if(t instanceof At)return t;t=t.rgb();var e=t.r/255,i=t.g/255,r=t.b/255,n=Math.min(e,i,r),o=Math.max(e,i,r),s=NaN,a=o-n,l=(o+n)/2;return a?(e===o?s=(i-r)/a+(i0&&l<1?0:s,new At(s,a,l,t.opacity)}function pu(t,e,i,r){return arguments.length===1?ia(t):new At(t,e,i,r??1)}function At(t,e,i,r){this.h=+t,this.s=+e,this.l=+i,this.opacity=+r}Sn(At,pu,ea(yi,{brighter(t){return t=t==null?Ui:Math.pow(Ui,t),new At(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?ai:Math.pow(ai,t),new At(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+(this.h<0)*360,e=isNaN(t)||isNaN(this.s)?0:this.s,i=this.l,r=i+(i<.5?i:1-i)*e,n=2*i-r;return new mt(Rr(t>=240?t-240:t+120,n,r),Rr(t,n,r),Rr(t<120?t+240:t-120,n,r),this.opacity)},clamp(){return new At(Io(this.h),Ai(this.s),Ai(this.l),Yi(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const t=Yi(this.opacity);return`${t===1?"hsl(":"hsla("}${Io(this.h)}, ${Ai(this.s)*100}%, ${Ai(this.l)*100}%${t===1?")":`, ${t})`}`}}));function Io(t){return t=(t||0)%360,t<0?t+360:t}function Ai(t){return Math.max(0,Math.min(1,t||0))}function Rr(t,e,i){return(t<60?e+(i-e)*t/60:t<180?i:t<240?e+(i-e)*(240-t)/60:e)*255}const wn=t=>()=>t;function ra(t,e){return function(i){return t+i*e}}function gu(t,e,i){return t=Math.pow(t,i),e=Math.pow(e,i)-t,i=1/i,function(r){return Math.pow(t+r*e,i)}}function Fb(t,e){var i=e-t;return i?ra(t,i>180||i<-180?i-360*Math.round(i/360):i):wn(isNaN(t)?e:t)}function mu(t){return(t=+t)==1?na:function(e,i){return i-e?gu(e,i,t):wn(isNaN(e)?i:e)}}function na(t,e){var i=e-t;return i?ra(t,i):wn(isNaN(t)?e:t)}const $o=function t(e){var i=mu(e);function r(n,o){var s=i((n=en(n)).r,(o=en(o)).r),a=i(n.g,o.g),l=i(n.b,o.b),h=na(n.opacity,o.opacity);return function(u){return n.r=s(u),n.g=a(u),n.b=l(u),n.opacity=h(u),n+""}}return r.gamma=t,r}(1);function ne(t,e){return t=+t,e=+e,function(i){return t*(1-i)+e*i}}var rn=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,Pr=new RegExp(rn.source,"g");function _u(t){return function(){return t}}function yu(t){return function(e){return t(e)+""}}function Cu(t,e){var i=rn.lastIndex=Pr.lastIndex=0,r,n,o,s=-1,a=[],l=[];for(t=t+"",e=e+"";(r=rn.exec(t))&&(n=Pr.exec(e));)(o=n.index)>i&&(o=e.slice(i,o),a[s]?a[s]+=o:a[++s]=o),(r=r[0])===(n=n[0])?a[s]?a[s]+=n:a[++s]=n:(a[++s]=null,l.push({i:s,x:ne(r,n)})),i=Pr.lastIndex;return i180?u+=360:u-h>180&&(h+=360),c.push({i:f.push(n(f)+"rotate(",null,r)-2,x:ne(h,u)})):u&&f.push(n(f)+"rotate("+u+r)}function a(h,u,f,c){h!==u?c.push({i:f.push(n(f)+"skewX(",null,r)-2,x:ne(h,u)}):u&&f.push(n(f)+"skewX("+u+r)}function l(h,u,f,c,p,_){if(h!==f||u!==c){var v=p.push(n(p)+"scale(",null,",",null,")");_.push({i:v-4,x:ne(h,f)},{i:v-2,x:ne(u,c)})}else(f!==1||c!==1)&&p.push(n(p)+"scale("+f+","+c+")")}return function(h,u){var f=[],c=[];return h=t(h),u=t(u),o(h.translateX,h.translateY,u.translateX,u.translateY,f,c),s(h.rotate,u.rotate,f,c),a(h.skewX,u.skewX,f,c),l(h.scaleX,h.scaleY,u.scaleX,u.scaleY,f,c),h=u=null,function(p){for(var _=-1,v=c.length,k;++_=0&&t._call.call(void 0,e),t=t._next;--Me}function No(){me=(Gi=ci.now())+dr,Me=Ze=0;try{Su()}finally{Me=0,Bu(),me=0}}function wu(){var t=ci.now(),e=t-Gi;e>aa&&(dr-=e,Gi=t)}function Bu(){for(var t,e=Vi,i,r=1/0;e;)e._call?(r>e._time&&(r=e._time),t=e,e=e._next):(i=e._next,e._next=null,e=t?t._next=i:Vi=i);Je=t,on(r)}function on(t){if(!Me){Ze&&(Ze=clearTimeout(Ze));var e=t-me;e>24?(t<1/0&&(Ze=setTimeout(No,t-ci.now()-dr)),Ye&&(Ye=clearInterval(Ye))):(Ye||(Gi=ci.now(),Ye=setInterval(wu,aa)),Me=1,la(No))}}function Ro(t,e,i){var r=new Xi;return e=e==null?0:+e,r.restart(n=>{r.stop(),t(n+e)},e,i),r}var Au=Ws("start","end","cancel","interrupt"),Lu=[],ca=0,Po=1,sn=2,Di=3,qo=4,an=5,Ni=6;function pr(t,e,i,r,n,o){var s=t.__transition;if(!s)t.__transition={};else if(i in s)return;Fu(t,i,{name:e,index:r,group:n,on:Au,tween:Lu,time:o.time,delay:o.delay,duration:o.duration,ease:o.ease,timer:null,state:ca})}function An(t,e){var i=Et(t,e);if(i.state>ca)throw new Error("too late; already scheduled");return i}function qt(t,e){var i=Et(t,e);if(i.state>Di)throw new Error("too late; already running");return i}function Et(t,e){var i=t.__transition;if(!i||!(i=i[e]))throw new Error("transition not found");return i}function Fu(t,e,i){var r=t.__transition,n;r[e]=i,i.timer=ha(o,0,i.time);function o(h){i.state=Po,i.timer.restart(s,i.delay,i.time),i.delay<=h&&s(h-i.delay)}function s(h){var u,f,c,p;if(i.state!==Po)return l();for(u in r)if(p=r[u],p.name===i.name){if(p.state===Di)return Ro(s);p.state===qo?(p.state=Ni,p.timer.stop(),p.on.call("interrupt",t,t.__data__,p.index,p.group),delete r[u]):+usn&&r.state=0&&(e=e.slice(0,i)),!e||e==="start"})}function lf(t,e,i){var r,n,o=af(e)?An:qt;return function(){var s=o(this,t),a=s.on;a!==r&&(n=(r=a).copy()).on(e,i),s.on=n}}function hf(t,e){var i=this._id;return arguments.length<2?Et(this.node(),i).on.on(t):this.each(lf(i,t,e))}function cf(t){return function(){var e=this.parentNode;for(var i in this.__transition)if(+i!==t)return;e&&e.removeChild(this)}}function uf(){return this.on("end.remove",cf(this._id))}function ff(t){var e=this._name,i=this._id;typeof t!="function"&&(t=vn(t));for(var r=this._groups,n=r.length,o=new Array(n),s=0;s1?0:t<-1?Fn:Math.acos(t)}function qb(t){return t>=1?Wo:t<=-1?-Wo:Math.asin(t)}function pa(t){this._context=t}pa.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:this._context.lineTo(t,e);break}}};function Nf(t){return new pa(t)}class ga{constructor(e,i){this._context=e,this._x=i}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line}point(e,i){switch(e=+e,i=+i,this._point){case 0:{this._point=1,this._line?this._context.lineTo(e,i):this._context.moveTo(e,i);break}case 1:this._point=2;default:{this._x?this._context.bezierCurveTo(this._x0=(this._x0+e)/2,this._y0,this._x0,i,e,i):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+i)/2,e,this._y0,e,i);break}}this._x0=e,this._y0=i}}function Rf(t){return new ga(t,!0)}function Pf(t){return new ga(t,!1)}function se(){}function Ki(t,e,i){t._context.bezierCurveTo((2*t._x0+t._x1)/3,(2*t._y0+t._y1)/3,(t._x0+2*t._x1)/3,(t._y0+2*t._y1)/3,(t._x0+4*t._x1+e)/6,(t._y0+4*t._y1+i)/6)}function gr(t){this._context=t}gr.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:Ki(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:Ki(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function qf(t){return new gr(t)}function ma(t){this._context=t}ma.prototype={areaStart:se,areaEnd:se,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x2,this._y2),this._context.closePath();break}case 2:{this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break}case 3:{this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4);break}}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x2=t,this._y2=e;break;case 1:this._point=2,this._x3=t,this._y3=e;break;case 2:this._point=3,this._x4=t,this._y4=e,this._context.moveTo((this._x0+4*this._x1+t)/6,(this._y0+4*this._y1+e)/6);break;default:Ki(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function zf(t){return new ma(t)}function _a(t){this._context=t}_a.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var i=(this._x0+4*this._x1+t)/6,r=(this._y0+4*this._y1+e)/6;this._line?this._context.lineTo(i,r):this._context.moveTo(i,r);break;case 3:this._point=4;default:Ki(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function Wf(t){return new _a(t)}function ya(t,e){this._basis=new gr(t),this._beta=e}ya.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var t=this._x,e=this._y,i=t.length-1;if(i>0)for(var r=t[0],n=e[0],o=t[i]-r,s=e[i]-n,a=-1,l;++a<=i;)l=a/i,this._basis.point(this._beta*t[a]+(1-this._beta)*(r+l*o),this._beta*e[a]+(1-this._beta)*(n+l*s));this._x=this._y=null,this._basis.lineEnd()},point:function(t,e){this._x.push(+t),this._y.push(+e)}};const Hf=function t(e){function i(r){return e===1?new gr(r):new ya(r,e)}return i.beta=function(r){return t(+r)},i}(.85);function Zi(t,e,i){t._context.bezierCurveTo(t._x1+t._k*(t._x2-t._x0),t._y1+t._k*(t._y2-t._y0),t._x2+t._k*(t._x1-e),t._y2+t._k*(t._y1-i),t._x2,t._y2)}function En(t,e){this._context=t,this._k=(1-e)/6}En.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:Zi(this,this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2,this._x1=t,this._y1=e;break;case 2:this._point=3;default:Zi(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const jf=function t(e){function i(r){return new En(r,e)}return i.tension=function(r){return t(+r)},i}(0);function On(t,e){this._context=t,this._k=(1-e)/6}On.prototype={areaStart:se,areaEnd:se,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:Zi(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const Uf=function t(e){function i(r){return new On(r,e)}return i.tension=function(r){return t(+r)},i}(0);function Mn(t,e){this._context=t,this._k=(1-e)/6}Mn.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:Zi(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const Yf=function t(e){function i(r){return new Mn(r,e)}return i.tension=function(r){return t(+r)},i}(0);function In(t,e,i){var r=t._x1,n=t._y1,o=t._x2,s=t._y2;if(t._l01_a>zo){var a=2*t._l01_2a+3*t._l01_a*t._l12_a+t._l12_2a,l=3*t._l01_a*(t._l01_a+t._l12_a);r=(r*a-t._x0*t._l12_2a+t._x2*t._l01_2a)/l,n=(n*a-t._y0*t._l12_2a+t._y2*t._l01_2a)/l}if(t._l23_a>zo){var h=2*t._l23_2a+3*t._l23_a*t._l12_a+t._l12_2a,u=3*t._l23_a*(t._l23_a+t._l12_a);o=(o*h+t._x1*t._l23_2a-e*t._l12_2a)/u,s=(s*h+t._y1*t._l23_2a-i*t._l12_2a)/u}t._context.bezierCurveTo(r,n,o,s,t._x2,t._y2)}function Ca(t,e){this._context=t,this._alpha=e}Ca.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t=+t,e=+e,this._point){var i=this._x2-t,r=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(i*i+r*r,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3;default:In(this,t,e);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const Vf=function t(e){function i(r){return e?new Ca(r,e):new En(r,0)}return i.alpha=function(r){return t(+r)},i}(.5);function xa(t,e){this._context=t,this._alpha=e}xa.prototype={areaStart:se,areaEnd:se,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},point:function(t,e){if(t=+t,e=+e,this._point){var i=this._x2-t,r=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(i*i+r*r,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:In(this,t,e);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const Gf=function t(e){function i(r){return e?new xa(r,e):new On(r,0)}return i.alpha=function(r){return t(+r)},i}(.5);function ba(t,e){this._context=t,this._alpha=e}ba.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t=+t,e=+e,this._point){var i=this._x2-t,r=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(i*i+r*r,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:In(this,t,e);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const Xf=function t(e){function i(r){return e?new ba(r,e):new Mn(r,0)}return i.alpha=function(r){return t(+r)},i}(.5);function Ta(t){this._context=t}Ta.prototype={areaStart:se,areaEnd:se,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(t,e){t=+t,e=+e,this._point?this._context.lineTo(t,e):(this._point=1,this._context.moveTo(t,e))}};function Kf(t){return new Ta(t)}function Ho(t){return t<0?-1:1}function jo(t,e,i){var r=t._x1-t._x0,n=e-t._x1,o=(t._y1-t._y0)/(r||n<0&&-0),s=(i-t._y1)/(n||r<0&&-0),a=(o*n+s*r)/(r+n);return(Ho(o)+Ho(s))*Math.min(Math.abs(o),Math.abs(s),.5*Math.abs(a))||0}function Uo(t,e){var i=t._x1-t._x0;return i?(3*(t._y1-t._y0)/i-e)/2:e}function qr(t,e,i){var r=t._x0,n=t._y0,o=t._x1,s=t._y1,a=(o-r)/3;t._context.bezierCurveTo(r+a,n+a*e,o-a,s-a*i,o,s)}function Ji(t){this._context=t}Ji.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:qr(this,this._t0,Uo(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){var i=NaN;if(t=+t,e=+e,!(t===this._x1&&e===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,qr(this,Uo(this,i=jo(this,t,e)),i);break;default:qr(this,this._t0,i=jo(this,t,e));break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e,this._t0=i}}};function va(t){this._context=new ka(t)}(va.prototype=Object.create(Ji.prototype)).point=function(t,e){Ji.prototype.point.call(this,e,t)};function ka(t){this._context=t}ka.prototype={moveTo:function(t,e){this._context.moveTo(e,t)},closePath:function(){this._context.closePath()},lineTo:function(t,e){this._context.lineTo(e,t)},bezierCurveTo:function(t,e,i,r,n,o){this._context.bezierCurveTo(e,t,r,i,o,n)}};function Zf(t){return new Ji(t)}function Jf(t){return new va(t)}function Sa(t){this._context=t}Sa.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var t=this._x,e=this._y,i=t.length;if(i)if(this._line?this._context.lineTo(t[0],e[0]):this._context.moveTo(t[0],e[0]),i===2)this._context.lineTo(t[1],e[1]);else for(var r=Yo(t),n=Yo(e),o=0,s=1;s=0;--e)n[e]=(s[e]-n[e+1])/o[e];for(o[i-1]=(t[i]+n[i-1])/2,e=0;e=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,e),this._context.lineTo(t,e);else{var i=this._x*(1-this._t)+t*this._t;this._context.lineTo(i,this._y),this._context.lineTo(i,e)}break}}this._x=t,this._y=e}};function td(t){return new mr(t,.5)}function ed(t){return new mr(t,0)}function id(t){return new mr(t,1)}function Qe(t,e,i){this.k=t,this.x=e,this.y=i}Qe.prototype={constructor:Qe,scale:function(t){return t===1?this:new Qe(this.k*t,this.x,this.y)},translate:function(t,e){return t===0&e===0?this:new Qe(this.k,this.x+this.k*t,this.y+this.k*e)},apply:function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},applyX:function(t){return t*this.k+this.x},applyY:function(t){return t*this.k+this.y},invert:function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},invertX:function(t){return(t-this.x)/this.k},invertY:function(t){return(t-this.y)/this.k},rescaleX:function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},rescaleY:function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};Qe.prototype;/*! @license DOMPurify 3.1.1 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.1.1/LICENSE */const{entries:wa,setPrototypeOf:Vo,isFrozen:rd,getPrototypeOf:nd,getOwnPropertyDescriptor:od}=Object;let{freeze:ut,seal:vt,create:Ba}=Object,{apply:ln,construct:hn}=typeof Reflect<"u"&&Reflect;ut||(ut=function(e){return e});vt||(vt=function(e){return e});ln||(ln=function(e,i,r){return e.apply(i,r)});hn||(hn=function(e,i){return new e(...i)});const Fi=Ct(Array.prototype.forEach),Go=Ct(Array.prototype.pop),Ve=Ct(Array.prototype.push),Ri=Ct(String.prototype.toLowerCase),zr=Ct(String.prototype.toString),Xo=Ct(String.prototype.match),Ge=Ct(String.prototype.replace),sd=Ct(String.prototype.indexOf),ad=Ct(String.prototype.trim),Bt=Ct(Object.prototype.hasOwnProperty),pt=Ct(RegExp.prototype.test),Xe=ld(TypeError);function Ct(t){return function(e){for(var i=arguments.length,r=new Array(i>1?i-1:0),n=1;n2&&arguments[2]!==void 0?arguments[2]:Ri;Vo&&Vo(t,null);let r=e.length;for(;r--;){let n=e[r];if(typeof n=="string"){const o=i(n);o!==n&&(rd(e)||(e[r]=o),n=o)}t[n]=!0}return t}function hd(t){for(let e=0;e/gm),pd=vt(/\${[\w\W]*}/gm),gd=vt(/^data-[\-\w.\u00B7-\uFFFF]/),md=vt(/^aria-[\-\w]+$/),Aa=vt(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),_d=vt(/^(?:\w+script|data):/i),yd=vt(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),La=vt(/^html$/i),Cd=vt(/^[a-z][.\w]*(-[.\w]+)+$/i);var ts=Object.freeze({__proto__:null,MUSTACHE_EXPR:fd,ERB_EXPR:dd,TMPLIT_EXPR:pd,DATA_ATTR:gd,ARIA_ATTR:md,IS_ALLOWED_URI:Aa,IS_SCRIPT_OR_DATA:_d,ATTR_WHITESPACE:yd,DOCTYPE_NAME:La,CUSTOM_ELEMENT:Cd});const xd=function(){return typeof window>"u"?null:window},bd=function(e,i){if(typeof e!="object"||typeof e.createPolicy!="function")return null;let r=null;const n="data-tt-policy-suffix";i&&i.hasAttribute(n)&&(r=i.getAttribute(n));const o="dompurify"+(r?"#"+r:"");try{return e.createPolicy(o,{createHTML(s){return s},createScriptURL(s){return s}})}catch{return console.warn("TrustedTypes policy "+o+" could not be created."),null}};function Fa(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:xd();const e=A=>Fa(A);if(e.version="3.1.1",e.removed=[],!t||!t.document||t.document.nodeType!==9)return e.isSupported=!1,e;let{document:i}=t;const r=i,n=r.currentScript,{DocumentFragment:o,HTMLTemplateElement:s,Node:a,Element:l,NodeFilter:h,NamedNodeMap:u=t.NamedNodeMap||t.MozNamedAttrMap,HTMLFormElement:f,DOMParser:c,trustedTypes:p}=t,_=l.prototype,v=Ei(_,"cloneNode"),k=Ei(_,"nextSibling"),N=Ei(_,"childNodes"),b=Ei(_,"parentNode");if(typeof s=="function"){const A=i.createElement("template");A.content&&A.content.ownerDocument&&(i=A.content.ownerDocument)}let P,j="";const{implementation:V,createNodeIterator:K,createDocumentFragment:H,getElementsByTagName:Qt}=i,{importNode:te}=r;let U={};e.isSupported=typeof wa=="function"&&typeof b=="function"&&V&&V.createHTMLDocument!==void 0;const{MUSTACHE_EXPR:W,ERB_EXPR:St,TMPLIT_EXPR:ee,DATA_ATTR:I,ARIA_ATTR:T,IS_SCRIPT_OR_DATA:y,ATTR_WHITESPACE:B,CUSTOM_ELEMENT:x}=ts;let{IS_ALLOWED_URI:E}=ts,S=null;const Y=z({},[...Ko,...Wr,...Hr,...jr,...Zo]);let D=null;const Z=z({},[...Jo,...Ur,...Qo,...Oi]);let R=Object.seal(Ba(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),tt=null,Ot=null,Mt=!0,Wt=!0,It=!1,it=!0,lt=!1,ie=!0,xt=!1,Fr=!1,Er=!1,Te=!1,vi=!1,ki=!1,ro=!0,no=!1;const lh="user-content-";let Or=!0,He=!1,ve={},ke=null;const oo=z({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]);let so=null;const ao=z({},["audio","video","img","source","image","track"]);let Mr=null;const lo=z({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),Si="http://www.w3.org/1998/Math/MathML",wi="http://www.w3.org/2000/svg",Ht="http://www.w3.org/1999/xhtml";let Se=Ht,Ir=!1,$r=null;const hh=z({},[Si,wi,Ht],zr);let je=null;const ch=["application/xhtml+xml","text/html"],uh="text/html";let et=null,we=null;const ho=255,fh=i.createElement("form"),co=function(d){return d instanceof RegExp||d instanceof Function},Dr=function(){let d=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!(we&&we===d)){if((!d||typeof d!="object")&&(d={}),d=he(d),je=ch.indexOf(d.PARSER_MEDIA_TYPE)===-1?uh:d.PARSER_MEDIA_TYPE,et=je==="application/xhtml+xml"?zr:Ri,S=Bt(d,"ALLOWED_TAGS")?z({},d.ALLOWED_TAGS,et):Y,D=Bt(d,"ALLOWED_ATTR")?z({},d.ALLOWED_ATTR,et):Z,$r=Bt(d,"ALLOWED_NAMESPACES")?z({},d.ALLOWED_NAMESPACES,zr):hh,Mr=Bt(d,"ADD_URI_SAFE_ATTR")?z(he(lo),d.ADD_URI_SAFE_ATTR,et):lo,so=Bt(d,"ADD_DATA_URI_TAGS")?z(he(ao),d.ADD_DATA_URI_TAGS,et):ao,ke=Bt(d,"FORBID_CONTENTS")?z({},d.FORBID_CONTENTS,et):oo,tt=Bt(d,"FORBID_TAGS")?z({},d.FORBID_TAGS,et):{},Ot=Bt(d,"FORBID_ATTR")?z({},d.FORBID_ATTR,et):{},ve=Bt(d,"USE_PROFILES")?d.USE_PROFILES:!1,Mt=d.ALLOW_ARIA_ATTR!==!1,Wt=d.ALLOW_DATA_ATTR!==!1,It=d.ALLOW_UNKNOWN_PROTOCOLS||!1,it=d.ALLOW_SELF_CLOSE_IN_ATTR!==!1,lt=d.SAFE_FOR_TEMPLATES||!1,ie=d.SAFE_FOR_XML!==!1,xt=d.WHOLE_DOCUMENT||!1,Te=d.RETURN_DOM||!1,vi=d.RETURN_DOM_FRAGMENT||!1,ki=d.RETURN_TRUSTED_TYPE||!1,Er=d.FORCE_BODY||!1,ro=d.SANITIZE_DOM!==!1,no=d.SANITIZE_NAMED_PROPS||!1,Or=d.KEEP_CONTENT!==!1,He=d.IN_PLACE||!1,E=d.ALLOWED_URI_REGEXP||Aa,Se=d.NAMESPACE||Ht,R=d.CUSTOM_ELEMENT_HANDLING||{},d.CUSTOM_ELEMENT_HANDLING&&co(d.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(R.tagNameCheck=d.CUSTOM_ELEMENT_HANDLING.tagNameCheck),d.CUSTOM_ELEMENT_HANDLING&&co(d.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(R.attributeNameCheck=d.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),d.CUSTOM_ELEMENT_HANDLING&&typeof d.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(R.allowCustomizedBuiltInElements=d.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),lt&&(Wt=!1),vi&&(Te=!0),ve&&(S=z({},Zo),D=[],ve.html===!0&&(z(S,Ko),z(D,Jo)),ve.svg===!0&&(z(S,Wr),z(D,Ur),z(D,Oi)),ve.svgFilters===!0&&(z(S,Hr),z(D,Ur),z(D,Oi)),ve.mathMl===!0&&(z(S,jr),z(D,Qo),z(D,Oi))),d.ADD_TAGS&&(S===Y&&(S=he(S)),z(S,d.ADD_TAGS,et)),d.ADD_ATTR&&(D===Z&&(D=he(D)),z(D,d.ADD_ATTR,et)),d.ADD_URI_SAFE_ATTR&&z(Mr,d.ADD_URI_SAFE_ATTR,et),d.FORBID_CONTENTS&&(ke===oo&&(ke=he(ke)),z(ke,d.FORBID_CONTENTS,et)),Or&&(S["#text"]=!0),xt&&z(S,["html","head","body"]),S.table&&(z(S,["tbody"]),delete tt.tbody),d.TRUSTED_TYPES_POLICY){if(typeof d.TRUSTED_TYPES_POLICY.createHTML!="function")throw Xe('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof d.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw Xe('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');P=d.TRUSTED_TYPES_POLICY,j=P.createHTML("")}else P===void 0&&(P=bd(p,n)),P!==null&&typeof j=="string"&&(j=P.createHTML(""));ut&&ut(d),we=d}},uo=z({},["mi","mo","mn","ms","mtext"]),fo=z({},["foreignobject","desc","title","annotation-xml"]),dh=z({},["title","style","font","a","script"]),po=z({},[...Wr,...Hr,...cd]),go=z({},[...jr,...ud]),ph=function(d){let m=b(d);(!m||!m.tagName)&&(m={namespaceURI:Se,tagName:"template"});const w=Ri(d.tagName),q=Ri(m.tagName);return $r[d.namespaceURI]?d.namespaceURI===wi?m.namespaceURI===Ht?w==="svg":m.namespaceURI===Si?w==="svg"&&(q==="annotation-xml"||uo[q]):!!po[w]:d.namespaceURI===Si?m.namespaceURI===Ht?w==="math":m.namespaceURI===wi?w==="math"&&fo[q]:!!go[w]:d.namespaceURI===Ht?m.namespaceURI===wi&&!fo[q]||m.namespaceURI===Si&&!uo[q]?!1:!go[w]&&(dh[w]||!po[w]):!!(je==="application/xhtml+xml"&&$r[d.namespaceURI]):!1},wt=function(d){Ve(e.removed,{element:d});try{d.parentNode.removeChild(d)}catch{d.remove()}},Nr=function(d,m){try{Ve(e.removed,{attribute:m.getAttributeNode(d),from:m})}catch{Ve(e.removed,{attribute:null,from:m})}if(m.removeAttribute(d),d==="is"&&!D[d])if(Te||vi)try{wt(m)}catch{}else try{m.setAttribute(d,"")}catch{}},mo=function(d){let m=null,w=null;if(Er)d=""+d;else{const nt=Xo(d,/^[\r\n\t ]+/);w=nt&&nt[0]}je==="application/xhtml+xml"&&Se===Ht&&(d=''+d+"");const q=P?P.createHTML(d):d;if(Se===Ht)try{m=new c().parseFromString(q,je)}catch{}if(!m||!m.documentElement){m=V.createDocument(Se,"template",null);try{m.documentElement.innerHTML=Ir?j:q}catch{}}const rt=m.body||m.documentElement;return d&&w&&rt.insertBefore(i.createTextNode(w),rt.childNodes[0]||null),Se===Ht?Qt.call(m,xt?"html":"body")[0]:xt?m.documentElement:rt},_o=function(d){return K.call(d.ownerDocument||d,d,h.SHOW_ELEMENT|h.SHOW_COMMENT|h.SHOW_TEXT|h.SHOW_PROCESSING_INSTRUCTION|h.SHOW_CDATA_SECTION,null)},gh=function(d){return d instanceof f&&(typeof d.__depth<"u"&&typeof d.__depth!="number"||typeof d.__removalCount<"u"&&typeof d.__removalCount!="number"||typeof d.nodeName!="string"||typeof d.textContent!="string"||typeof d.removeChild!="function"||!(d.attributes instanceof u)||typeof d.removeAttribute!="function"||typeof d.setAttribute!="function"||typeof d.namespaceURI!="string"||typeof d.insertBefore!="function"||typeof d.hasChildNodes!="function")},yo=function(d){return typeof a=="function"&&d instanceof a},jt=function(d,m,w){U[d]&&Fi(U[d],q=>{q.call(e,m,w,we)})},Co=function(d){let m=null;if(jt("beforeSanitizeElements",d,null),gh(d))return wt(d),!0;const w=et(d.nodeName);if(jt("uponSanitizeElement",d,{tagName:w,allowedTags:S}),d.hasChildNodes()&&!yo(d.firstElementChild)&&pt(/<[/\w]/g,d.innerHTML)&&pt(/<[/\w]/g,d.textContent)||d.nodeType===7||ie&&d.nodeType===8&&pt(/<[/\w]/g,d.data))return wt(d),!0;if(!S[w]||tt[w]){if(!tt[w]&&bo(w)&&(R.tagNameCheck instanceof RegExp&&pt(R.tagNameCheck,w)||R.tagNameCheck instanceof Function&&R.tagNameCheck(w)))return!1;if(Or&&!ke[w]){const q=b(d)||d.parentNode,rt=N(d)||d.childNodes;if(rt&&q){const nt=rt.length;for(let ft=nt-1;ft>=0;--ft){const $t=v(rt[ft],!0);$t.__removalCount=(d.__removalCount||0)+1,q.insertBefore($t,k(d))}}}return wt(d),!0}return d instanceof l&&!ph(d)||(w==="noscript"||w==="noembed"||w==="noframes")&&pt(/<\/no(script|embed|frames)/i,d.innerHTML)?(wt(d),!0):(lt&&d.nodeType===3&&(m=d.textContent,Fi([W,St,ee],q=>{m=Ge(m,q," ")}),d.textContent!==m&&(Ve(e.removed,{element:d.cloneNode()}),d.textContent=m)),jt("afterSanitizeElements",d,null),!1)},xo=function(d,m,w){if(ro&&(m==="id"||m==="name")&&(w in i||w in fh))return!1;if(!(Wt&&!Ot[m]&&pt(I,m))){if(!(Mt&&pt(T,m))){if(!D[m]||Ot[m]){if(!(bo(d)&&(R.tagNameCheck instanceof RegExp&&pt(R.tagNameCheck,d)||R.tagNameCheck instanceof Function&&R.tagNameCheck(d))&&(R.attributeNameCheck instanceof RegExp&&pt(R.attributeNameCheck,m)||R.attributeNameCheck instanceof Function&&R.attributeNameCheck(m))||m==="is"&&R.allowCustomizedBuiltInElements&&(R.tagNameCheck instanceof RegExp&&pt(R.tagNameCheck,w)||R.tagNameCheck instanceof Function&&R.tagNameCheck(w))))return!1}else if(!Mr[m]){if(!pt(E,Ge(w,B,""))){if(!((m==="src"||m==="xlink:href"||m==="href")&&d!=="script"&&sd(w,"data:")===0&&so[d])){if(!(It&&!pt(y,Ge(w,B,"")))){if(w)return!1}}}}}}return!0},bo=function(d){return d!=="annotation-xml"&&Xo(d,x)},To=function(d){jt("beforeSanitizeAttributes",d,null);const{attributes:m}=d;if(!m)return;const w={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:D};let q=m.length;for(;q--;){const rt=m[q],{name:nt,namespaceURI:ft,value:$t}=rt,Ue=et(nt);let dt=nt==="value"?$t:ad($t);if(w.attrName=Ue,w.attrValue=dt,w.keepAttr=!0,w.forceKeepAttr=void 0,jt("uponSanitizeAttribute",d,w),dt=w.attrValue,w.forceKeepAttr||(Nr(nt,d),!w.keepAttr))continue;if(!it&&pt(/\/>/i,dt)){Nr(nt,d);continue}lt&&Fi([W,St,ee],ko=>{dt=Ge(dt,ko," ")});const vo=et(d.nodeName);if(xo(vo,Ue,dt)){if(no&&(Ue==="id"||Ue==="name")&&(Nr(nt,d),dt=lh+dt),P&&typeof p=="object"&&typeof p.getAttributeType=="function"&&!ft)switch(p.getAttributeType(vo,Ue)){case"TrustedHTML":{dt=P.createHTML(dt);break}case"TrustedScriptURL":{dt=P.createScriptURL(dt);break}}try{ft?d.setAttributeNS(ft,nt,dt):d.setAttribute(nt,dt),Go(e.removed)}catch{}}}jt("afterSanitizeAttributes",d,null)},mh=function A(d){let m=null;const w=_o(d);for(jt("beforeSanitizeShadowDOM",d,null);m=w.nextNode();)jt("uponSanitizeShadowNode",m,null),!Co(m)&&(m.nodeType===1&&(m.parentNode&&m.parentNode.__depth?m.__depth=(m.__removalCount||0)+m.parentNode.__depth+1:m.__depth=1),m.__depth>=ho&&wt(m),m.content instanceof o&&(m.content.__depth=m.__depth,A(m.content)),To(m));jt("afterSanitizeShadowDOM",d,null)};return e.sanitize=function(A){let d=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},m=null,w=null,q=null,rt=null;if(Ir=!A,Ir&&(A=""),typeof A!="string"&&!yo(A))if(typeof A.toString=="function"){if(A=A.toString(),typeof A!="string")throw Xe("dirty is not a string, aborting")}else throw Xe("toString is not a function");if(!e.isSupported)return A;if(Fr||Dr(d),e.removed=[],typeof A=="string"&&(He=!1),He){if(A.nodeName){const $t=et(A.nodeName);if(!S[$t]||tt[$t])throw Xe("root node is forbidden and cannot be sanitized in-place")}}else if(A instanceof a)m=mo(""),w=m.ownerDocument.importNode(A,!0),w.nodeType===1&&w.nodeName==="BODY"||w.nodeName==="HTML"?m=w:m.appendChild(w);else{if(!Te&&!lt&&!xt&&A.indexOf("<")===-1)return P&&ki?P.createHTML(A):A;if(m=mo(A),!m)return Te?null:ki?j:""}m&&Er&&wt(m.firstChild);const nt=_o(He?A:m);for(;q=nt.nextNode();)Co(q)||(q.nodeType===1&&(q.parentNode&&q.parentNode.__depth?q.__depth=(q.__removalCount||0)+q.parentNode.__depth+1:q.__depth=1),q.__depth>=ho&&wt(q),q.content instanceof o&&(q.content.__depth=q.__depth,mh(q.content)),To(q));if(He)return A;if(Te){if(vi)for(rt=H.call(m.ownerDocument);m.firstChild;)rt.appendChild(m.firstChild);else rt=m;return(D.shadowroot||D.shadowrootmode)&&(rt=te.call(r,rt,!0)),rt}let ft=xt?m.outerHTML:m.innerHTML;return xt&&S["!doctype"]&&m.ownerDocument&&m.ownerDocument.doctype&&m.ownerDocument.doctype.name&&pt(La,m.ownerDocument.doctype.name)&&(ft=" +`+ft),lt&&Fi([W,St,ee],$t=>{ft=Ge(ft,$t," ")}),P&&ki?P.createHTML(ft):ft},e.setConfig=function(){let A=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Dr(A),Fr=!0},e.clearConfig=function(){we=null,Fr=!1},e.isValidAttribute=function(A,d,m){we||Dr({});const w=et(A),q=et(d);return xo(w,q,m)},e.addHook=function(A,d){typeof d=="function"&&(U[A]=U[A]||[],Ve(U[A],d))},e.removeHook=function(A){if(U[A])return Go(U[A])},e.removeHooks=function(A){U[A]&&(U[A]=[])},e.removeAllHooks=function(){U={}},e}var Ie=Fa();const Pi={min:{r:0,g:0,b:0,s:0,l:0,a:0},max:{r:255,g:255,b:255,h:360,s:100,l:100,a:1},clamp:{r:t=>t>=255?255:t<0?0:t,g:t=>t>=255?255:t<0?0:t,b:t=>t>=255?255:t<0?0:t,h:t=>t%360,s:t=>t>=100?100:t<0?0:t,l:t=>t>=100?100:t<0?0:t,a:t=>t>=1?1:t<0?0:t},toLinear:t=>{const e=t/255;return t>.03928?Math.pow((e+.055)/1.055,2.4):e/12.92},hue2rgb:(t,e,i)=>(i<0&&(i+=1),i>1&&(i-=1),i<1/6?t+(e-t)*6*i:i<1/2?e:i<2/3?t+(e-t)*(2/3-i)*6:t),hsl2rgb:({h:t,s:e,l:i},r)=>{if(!e)return i*2.55;t/=360,e/=100,i/=100;const n=i<.5?i*(1+e):i+e-i*e,o=2*i-n;switch(r){case"r":return Pi.hue2rgb(o,n,t+1/3)*255;case"g":return Pi.hue2rgb(o,n,t)*255;case"b":return Pi.hue2rgb(o,n,t-1/3)*255}},rgb2hsl:({r:t,g:e,b:i},r)=>{t/=255,e/=255,i/=255;const n=Math.max(t,e,i),o=Math.min(t,e,i),s=(n+o)/2;if(r==="l")return s*100;if(n===o)return 0;const a=n-o,l=s>.5?a/(2-n-o):a/(n+o);if(r==="s")return l*100;switch(n){case t:return((e-i)/a+(ee>i?Math.min(e,Math.max(i,t)):Math.min(i,Math.max(e,t)),round:t=>Math.round(t*1e10)/1e10},vd=Td,kd={dec2hex:t=>{const e=Math.round(t).toString(16);return e.length>1?e:`0${e}`}},Sd=kd,$={channel:Pi,lang:vd,unit:Sd},re={};for(let t=0;t<=255;t++)re[t]=$.unit.dec2hex(t);const ot={ALL:0,RGB:1,HSL:2};class wd{constructor(){this.type=ot.ALL}get(){return this.type}set(e){if(this.type&&this.type!==e)throw new Error("Cannot change both RGB and HSL channels at the same time");this.type=e}reset(){this.type=ot.ALL}is(e){return this.type===e}}class Bd{constructor(e,i){this.color=i,this.changed=!1,this.data=e,this.type=new wd}set(e,i){return this.color=i,this.changed=!1,this.data=e,this.type.type=ot.ALL,this}_ensureHSL(){const e=this.data,{h:i,s:r,l:n}=e;i===void 0&&(e.h=$.channel.rgb2hsl(e,"h")),r===void 0&&(e.s=$.channel.rgb2hsl(e,"s")),n===void 0&&(e.l=$.channel.rgb2hsl(e,"l"))}_ensureRGB(){const e=this.data,{r:i,g:r,b:n}=e;i===void 0&&(e.r=$.channel.hsl2rgb(e,"r")),r===void 0&&(e.g=$.channel.hsl2rgb(e,"g")),n===void 0&&(e.b=$.channel.hsl2rgb(e,"b"))}get r(){const e=this.data,i=e.r;return!this.type.is(ot.HSL)&&i!==void 0?i:(this._ensureHSL(),$.channel.hsl2rgb(e,"r"))}get g(){const e=this.data,i=e.g;return!this.type.is(ot.HSL)&&i!==void 0?i:(this._ensureHSL(),$.channel.hsl2rgb(e,"g"))}get b(){const e=this.data,i=e.b;return!this.type.is(ot.HSL)&&i!==void 0?i:(this._ensureHSL(),$.channel.hsl2rgb(e,"b"))}get h(){const e=this.data,i=e.h;return!this.type.is(ot.RGB)&&i!==void 0?i:(this._ensureRGB(),$.channel.rgb2hsl(e,"h"))}get s(){const e=this.data,i=e.s;return!this.type.is(ot.RGB)&&i!==void 0?i:(this._ensureRGB(),$.channel.rgb2hsl(e,"s"))}get l(){const e=this.data,i=e.l;return!this.type.is(ot.RGB)&&i!==void 0?i:(this._ensureRGB(),$.channel.rgb2hsl(e,"l"))}get a(){return this.data.a}set r(e){this.type.set(ot.RGB),this.changed=!0,this.data.r=e}set g(e){this.type.set(ot.RGB),this.changed=!0,this.data.g=e}set b(e){this.type.set(ot.RGB),this.changed=!0,this.data.b=e}set h(e){this.type.set(ot.HSL),this.changed=!0,this.data.h=e}set s(e){this.type.set(ot.HSL),this.changed=!0,this.data.s=e}set l(e){this.type.set(ot.HSL),this.changed=!0,this.data.l=e}set a(e){this.changed=!0,this.data.a=e}}const Ad=Bd,_r=new Ad({r:0,g:0,b:0,a:0},"transparent"),Ee={re:/^#((?:[a-f0-9]{2}){2,4}|[a-f0-9]{3})$/i,parse:t=>{if(t.charCodeAt(0)!==35)return;const e=t.match(Ee.re);if(!e)return;const i=e[1],r=parseInt(i,16),n=i.length,o=n%4===0,s=n>4,a=s?1:17,l=s?8:4,h=o?0:-1,u=s?255:15;return _r.set({r:(r>>l*(h+3)&u)*a,g:(r>>l*(h+2)&u)*a,b:(r>>l*(h+1)&u)*a,a:o?(r&u)*a/255:1},t)},stringify:t=>{const{r:e,g:i,b:r,a:n}=t;return n<1?`#${re[Math.round(e)]}${re[Math.round(i)]}${re[Math.round(r)]}${re[Math.round(n*255)]}`:`#${re[Math.round(e)]}${re[Math.round(i)]}${re[Math.round(r)]}`}},fe={re:/^hsla?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(?:deg|grad|rad|turn)?)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(%)?))?\s*?\)$/i,hueRe:/^(.+?)(deg|grad|rad|turn)$/i,_hue2deg:t=>{const e=t.match(fe.hueRe);if(e){const[,i,r]=e;switch(r){case"grad":return $.channel.clamp.h(parseFloat(i)*.9);case"rad":return $.channel.clamp.h(parseFloat(i)*180/Math.PI);case"turn":return $.channel.clamp.h(parseFloat(i)*360)}}return $.channel.clamp.h(parseFloat(t))},parse:t=>{const e=t.charCodeAt(0);if(e!==104&&e!==72)return;const i=t.match(fe.re);if(!i)return;const[,r,n,o,s,a]=i;return _r.set({h:fe._hue2deg(r),s:$.channel.clamp.s(parseFloat(n)),l:$.channel.clamp.l(parseFloat(o)),a:s?$.channel.clamp.a(a?parseFloat(s)/100:parseFloat(s)):1},t)},stringify:t=>{const{h:e,s:i,l:r,a:n}=t;return n<1?`hsla(${$.lang.round(e)}, ${$.lang.round(i)}%, ${$.lang.round(r)}%, ${n})`:`hsl(${$.lang.round(e)}, ${$.lang.round(i)}%, ${$.lang.round(r)}%)`}},ei={colors:{aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyanaqua:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",transparent:"#00000000",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"},parse:t=>{t=t.toLowerCase();const e=ei.colors[t];if(e)return Ee.parse(e)},stringify:t=>{const e=Ee.stringify(t);for(const i in ei.colors)if(ei.colors[i]===e)return i}},ti={re:/^rgba?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?)))?\s*?\)$/i,parse:t=>{const e=t.charCodeAt(0);if(e!==114&&e!==82)return;const i=t.match(ti.re);if(!i)return;const[,r,n,o,s,a,l,h,u]=i;return _r.set({r:$.channel.clamp.r(n?parseFloat(r)*2.55:parseFloat(r)),g:$.channel.clamp.g(s?parseFloat(o)*2.55:parseFloat(o)),b:$.channel.clamp.b(l?parseFloat(a)*2.55:parseFloat(a)),a:h?$.channel.clamp.a(u?parseFloat(h)/100:parseFloat(h)):1},t)},stringify:t=>{const{r:e,g:i,b:r,a:n}=t;return n<1?`rgba(${$.lang.round(e)}, ${$.lang.round(i)}, ${$.lang.round(r)}, ${$.lang.round(n)})`:`rgb(${$.lang.round(e)}, ${$.lang.round(i)}, ${$.lang.round(r)})`}},Rt={format:{keyword:ei,hex:Ee,rgb:ti,rgba:ti,hsl:fe,hsla:fe},parse:t=>{if(typeof t!="string")return t;const e=Ee.parse(t)||ti.parse(t)||fe.parse(t)||ei.parse(t);if(e)return e;throw new Error(`Unsupported color format: "${t}"`)},stringify:t=>!t.changed&&t.color?t.color:t.type.is(ot.HSL)||t.data.r===void 0?fe.stringify(t):t.a<1||!Number.isInteger(t.r)||!Number.isInteger(t.g)||!Number.isInteger(t.b)?ti.stringify(t):Ee.stringify(t)},Ea=(t,e)=>{const i=Rt.parse(t);for(const r in e)i[r]=$.channel.clamp[r](e[r]);return Rt.stringify(i)},ii=(t,e,i=0,r=1)=>{if(typeof t!="number")return Ea(t,{a:e});const n=_r.set({r:$.channel.clamp.r(t),g:$.channel.clamp.g(e),b:$.channel.clamp.b(i),a:$.channel.clamp.a(r)});return Rt.stringify(n)},Ld=t=>{const{r:e,g:i,b:r}=Rt.parse(t),n=.2126*$.channel.toLinear(e)+.7152*$.channel.toLinear(i)+.0722*$.channel.toLinear(r);return $.lang.round(n)},Fd=t=>Ld(t)>=.5,Ed=Fd,Ci=t=>!Ed(t),Oa=(t,e,i)=>{const r=Rt.parse(t),n=r[e],o=$.channel.clamp[e](n+i);return n!==o&&(r[e]=o),Rt.stringify(r)},L=(t,e)=>Oa(t,"l",e),M=(t,e)=>Oa(t,"l",-e),g=(t,e)=>{const i=Rt.parse(t),r={};for(const n in e)e[n]&&(r[n]=i[n]+e[n]);return Ea(t,r)},Od=(t,e,i=50)=>{const{r,g:n,b:o,a:s}=Rt.parse(t),{r:a,g:l,b:h,a:u}=Rt.parse(e),f=i/100,c=f*2-1,p=s-u,v=((c*p===-1?c:(c+p)/(1+c*p))+1)/2,k=1-v,N=r*v+a*k,b=n*v+l*k,P=o*v+h*k,j=s*f+u*(1-f);return ii(N,b,P,j)},C=(t,e=100)=>{const i=Rt.parse(t);return i.r=255-i.r,i.g=255-i.g,i.b=255-i.b,Od(i,t,e)};var Ma=typeof global=="object"&&global&&global.Object===Object&&global,Md=typeof self=="object"&&self&&self.Object===Object&&self,zt=Ma||Md||Function("return this")(),Qi=zt.Symbol,Ia=Object.prototype,Id=Ia.hasOwnProperty,$d=Ia.toString,Ke=Qi?Qi.toStringTag:void 0;function Dd(t){var e=Id.call(t,Ke),i=t[Ke];try{t[Ke]=void 0;var r=!0}catch{}var n=$d.call(t);return r&&(e?t[Ke]=i:delete t[Ke]),n}var Nd=Object.prototype,Rd=Nd.toString;function Pd(t){return Rd.call(t)}var qd="[object Null]",zd="[object Undefined]",es=Qi?Qi.toStringTag:void 0;function qe(t){return t==null?t===void 0?zd:qd:es&&es in Object(t)?Dd(t):Pd(t)}function Ce(t){var e=typeof t;return t!=null&&(e=="object"||e=="function")}var Wd="[object AsyncFunction]",Hd="[object Function]",jd="[object GeneratorFunction]",Ud="[object Proxy]";function $n(t){if(!Ce(t))return!1;var e=qe(t);return e==Hd||e==jd||e==Wd||e==Ud}var Yr=zt["__core-js_shared__"],is=function(){var t=/[^.]+$/.exec(Yr&&Yr.keys&&Yr.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""}();function Yd(t){return!!is&&is in t}var Vd=Function.prototype,Gd=Vd.toString;function xe(t){if(t!=null){try{return Gd.call(t)}catch{}try{return t+""}catch{}}return""}var Xd=/[\\^$.*+?()[\]{}|]/g,Kd=/^\[object .+?Constructor\]$/,Zd=Function.prototype,Jd=Object.prototype,Qd=Zd.toString,tp=Jd.hasOwnProperty,ep=RegExp("^"+Qd.call(tp).replace(Xd,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function ip(t){if(!Ce(t)||Yd(t))return!1;var e=$n(t)?ep:Kd;return e.test(xe(t))}function rp(t,e){return t==null?void 0:t[e]}function be(t,e){var i=rp(t,e);return ip(i)?i:void 0}var ui=be(Object,"create");function np(){this.__data__=ui?ui(null):{},this.size=0}function op(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}var sp="__lodash_hash_undefined__",ap=Object.prototype,lp=ap.hasOwnProperty;function hp(t){var e=this.__data__;if(ui){var i=e[t];return i===sp?void 0:i}return lp.call(e,t)?e[t]:void 0}var cp=Object.prototype,up=cp.hasOwnProperty;function fp(t){var e=this.__data__;return ui?e[t]!==void 0:up.call(e,t)}var dp="__lodash_hash_undefined__";function pp(t,e){var i=this.__data__;return this.size+=this.has(t)?0:1,i[t]=ui&&e===void 0?dp:e,this}function _e(t){var e=-1,i=t==null?0:t.length;for(this.clear();++e-1}function bp(t,e){var i=this.__data__,r=Cr(i,t);return r<0?(++this.size,i.push([t,e])):i[r][1]=e,this}function Jt(t){var e=-1,i=t==null?0:t.length;for(this.clear();++e-1&&t%1==0&&t<=Kp}function Tr(t){return t!=null&&Pa(t.length)&&!$n(t)}function Zp(t){return bi(t)&&Tr(t)}function Jp(){return!1}var qa=typeof exports=="object"&&exports&&!exports.nodeType&&exports,hs=qa&&typeof module=="object"&&module&&!module.nodeType&&module,Qp=hs&&hs.exports===qa,cs=Qp?zt.Buffer:void 0,tg=cs?cs.isBuffer:void 0,eg=tg||Jp;const Nn=eg;var ig="[object Object]",rg=Function.prototype,ng=Object.prototype,za=rg.toString,og=ng.hasOwnProperty,sg=za.call(Object);function ag(t){if(!bi(t)||qe(t)!=ig)return!1;var e=Na(t);if(e===null)return!0;var i=og.call(e,"constructor")&&e.constructor;return typeof i=="function"&&i instanceof i&&za.call(i)==sg}var lg="[object Arguments]",hg="[object Array]",cg="[object Boolean]",ug="[object Date]",fg="[object Error]",dg="[object Function]",pg="[object Map]",gg="[object Number]",mg="[object Object]",_g="[object RegExp]",yg="[object Set]",Cg="[object String]",xg="[object WeakMap]",bg="[object ArrayBuffer]",Tg="[object DataView]",vg="[object Float32Array]",kg="[object Float64Array]",Sg="[object Int8Array]",wg="[object Int16Array]",Bg="[object Int32Array]",Ag="[object Uint8Array]",Lg="[object Uint8ClampedArray]",Fg="[object Uint16Array]",Eg="[object Uint32Array]",G={};G[vg]=G[kg]=G[Sg]=G[wg]=G[Bg]=G[Ag]=G[Lg]=G[Fg]=G[Eg]=!0;G[lg]=G[hg]=G[bg]=G[cg]=G[Tg]=G[ug]=G[fg]=G[dg]=G[pg]=G[gg]=G[mg]=G[_g]=G[yg]=G[Cg]=G[xg]=!1;function Og(t){return bi(t)&&Pa(t.length)&&!!G[qe(t)]}function Mg(t){return function(e){return t(e)}}var Wa=typeof exports=="object"&&exports&&!exports.nodeType&&exports,ri=Wa&&typeof module=="object"&&module&&!module.nodeType&&module,Ig=ri&&ri.exports===Wa,Vr=Ig&&Ma.process,us=function(){try{var t=ri&&ri.require&&ri.require("util").types;return t||Vr&&Vr.binding&&Vr.binding("util")}catch{}}(),fs=us&&us.isTypedArray,$g=fs?Mg(fs):Og;const Rn=$g;function un(t,e){if(!(e==="constructor"&&typeof t[e]=="function")&&e!="__proto__")return t[e]}var Dg=Object.prototype,Ng=Dg.hasOwnProperty;function Rg(t,e,i){var r=t[e];(!(Ng.call(t,e)&&yr(r,i))||i===void 0&&!(e in t))&&Dn(t,e,i)}function Pg(t,e,i,r){var n=!i;i||(i={});for(var o=-1,s=e.length;++o-1&&t%1==0&&t0){if(++e>=rm)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}var am=sm(im);function lm(t,e){return am(Qg(t,e,Ya),t+"")}function hm(t,e,i){if(!Ce(i))return!1;var r=typeof e;return(r=="number"?Tr(i)&&Ha(e,i.length):r=="string"&&e in i)?yr(i[e],t):!1}function cm(t){return lm(function(e,i){var r=-1,n=i.length,o=n>1?i[n-1]:void 0,s=n>2?i[2]:void 0;for(o=t.length>3&&typeof o=="function"?(n--,o):void 0,s&&hm(i[0],i[1],s)&&(o=n<3?void 0:o,n=1),e=Object(e);++r0?di(We,--kt):0,$e--,J===10&&($e=1,vr--),J}function Lt(){return J=kt2||fn(J)>3?"":" "}function Tm(t,e){for(;--e&&Lt()&&!(J<48||J>102||J>57&&J<65||J>70&&J<97););return kr(t,zi()+(e<6&&pe()==32&&Lt()==32))}function dn(t){for(;Lt();)switch(J){case t:return kt;case 34:case 39:t!==34&&t!==39&&dn(J);break;case 40:t===41&&dn(t);break;case 92:Lt();break}return kt}function vm(t,e){for(;Lt()&&t+J!==57;)if(t+J===84&&pe()===47)break;return"/*"+kr(e,kt-1)+"*"+Pn(t===47?t:Lt())}function km(t){for(;!fn(pe());)Lt();return kr(t,kt)}function Sm(t){return xm(Wi("",null,null,null,[""],t=Cm(t),0,[0],t))}function Wi(t,e,i,r,n,o,s,a,l){for(var h=0,u=0,f=s,c=0,p=0,_=0,v=1,k=1,N=1,b=0,P="",j=n,V=o,K=r,H=P;k;)switch(_=b,b=Lt()){case 40:if(_!=108&&di(H,f-1)==58){gm(H+=qi(Gr(b),"&","&\f"),"&\f",Ka(h?a[h-1]:0))!=-1&&(N=-1);break}case 34:case 39:case 91:H+=Gr(b);break;case 9:case 10:case 13:case 32:H+=bm(_);break;case 92:H+=Tm(zi()-1,7);continue;case 47:switch(pe()){case 42:case 47:Mi(wm(vm(Lt(),zi()),e,i,l),l);break;default:H+="/"}break;case 123*v:a[h++]=Gt(H)*N;case 125*v:case 59:case 0:switch(b){case 0:case 125:k=0;case 59+u:N==-1&&(H=qi(H,/\f/g,"")),p>0&&Gt(H)-f&&Mi(p>32?gs(H+";",r,i,f-1,l):gs(qi(H," ","")+";",r,i,f-2,l),l);break;case 59:H+=";";default:if(Mi(K=ps(H,e,i,h,u,n,a,P,j=[],V=[],f,o),o),b===123)if(u===0)Wi(H,e,K,K,j,o,f,a,V);else switch(c===99&&di(H,3)===110?100:c){case 100:case 108:case 109:case 115:Wi(t,K,K,r&&Mi(ps(t,K,K,0,0,n,a,P,n,j=[],f,V),V),n,V,f,a,r?j:V);break;default:Wi(H,K,K,K,[""],V,0,a,V)}}h=u=p=0,v=N=1,P=H="",f=s;break;case 58:f=1+Gt(H),p=_;default:if(v<1){if(b==123)--v;else if(b==125&&v++==0&&ym()==125)continue}switch(H+=Pn(b),b*v){case 38:N=u>0?1:(H+="\f",-1);break;case 44:a[h++]=(Gt(H)-1)*N,N=1;break;case 64:pe()===45&&(H+=Gr(Lt())),c=pe(),u=f=Gt(P=H+=km(zi())),b++;break;case 45:_===45&&Gt(H)==2&&(v=0)}}return o}function ps(t,e,i,r,n,o,s,a,l,h,u,f){for(var c=n-1,p=n===0?o:[""],_=mm(p),v=0,k=0,N=0;v0?p[b]+" "+P:qi(P,/&\f/g,p[b])))&&(l[N++]=j);return qn(t,e,i,n===0?Ga:a,l,h,u,f)}function wm(t,e,i,r){return qn(t,e,i,Va,Pn(_m()),pi(t,2,-2),0,r)}function gs(t,e,i,r,n){return qn(t,e,i,Xa,pi(t,0,r),pi(t,r+1,-1),r,n)}function pn(t,e){for(var i="",r=0;r{},debug:(...t)=>{},info:(...t)=>{},warn:(...t)=>{},error:(...t)=>{},fatal:(...t)=>{}},zn=function(t="fatal"){let e=Yt.fatal;typeof t=="string"?(t=t.toLowerCase(),t in Yt&&(e=Yt[t])):typeof t=="number"&&(e=t),O.trace=()=>{},O.debug=()=>{},O.info=()=>{},O.warn=()=>{},O.error=()=>{},O.fatal=()=>{},e<=Yt.fatal&&(O.fatal=console.error?console.error.bind(console,bt("FATAL"),"color: orange"):console.log.bind(console,"\x1B[35m",bt("FATAL"))),e<=Yt.error&&(O.error=console.error?console.error.bind(console,bt("ERROR"),"color: orange"):console.log.bind(console,"\x1B[31m",bt("ERROR"))),e<=Yt.warn&&(O.warn=console.warn?console.warn.bind(console,bt("WARN"),"color: orange"):console.log.bind(console,"\x1B[33m",bt("WARN"))),e<=Yt.info&&(O.info=console.info?console.info.bind(console,bt("INFO"),"color: lightblue"):console.log.bind(console,"\x1B[34m",bt("INFO"))),e<=Yt.debug&&(O.debug=console.debug?console.debug.bind(console,bt("DEBUG"),"color: lightgreen"):console.log.bind(console,"\x1B[32m",bt("DEBUG"))),e<=Yt.trace&&(O.trace=console.debug?console.debug.bind(console,bt("TRACE"),"color: lightgreen"):console.log.bind(console,"\x1B[32m",bt("TRACE")))},bt=t=>`%c${bh().format("ss.SSS")} : ${t} : `,Ti=//gi,Hm=t=>t?tl(t).replace(/\\n/g,"#br#").split("#br#"):[""],jm=(()=>{let t=!1;return()=>{t||(Um(),t=!0)}})();function Um(){const t="data-temp-href-target";Ie.addHook("beforeSanitizeAttributes",e=>{e.tagName==="A"&&e.hasAttribute("target")&&e.setAttribute(t,e.getAttribute("target")||"")}),Ie.addHook("afterSanitizeAttributes",e=>{e.tagName==="A"&&e.hasAttribute(t)&&(e.setAttribute("target",e.getAttribute(t)||""),e.removeAttribute(t),e.getAttribute("target")==="_blank"&&e.setAttribute("rel","noopener"))})}const Qa=t=>(jm(),Ie.sanitize(t)),bs=(t,e)=>{var i;if(((i=e.flowchart)==null?void 0:i.htmlLabels)!==!1){const r=e.securityLevel;r==="antiscript"||r==="strict"?t=Qa(t):r!=="loose"&&(t=tl(t),t=t.replace(//g,">"),t=t.replace(/=/g,"="),t=Xm(t))}return t},gi=(t,e)=>t&&(e.dompurifyConfig?t=Ie.sanitize(bs(t,e),e.dompurifyConfig).toString():t=Ie.sanitize(bs(t,e),{FORBID_TAGS:["style"]}).toString(),t),Ym=(t,e)=>typeof t=="string"?gi(t,e):t.flat().map(i=>gi(i,e)),Vm=t=>Ti.test(t),Gm=t=>t.split(Ti),Xm=t=>t.replace(/#br#/g,"
"),tl=t=>t.replace(Ti,"#br#"),Km=t=>{let e="";return t&&(e=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,e=e.replaceAll(/\(/g,"\\("),e=e.replaceAll(/\)/g,"\\)")),e},el=t=>!(t===!1||["false","null","0"].includes(String(t).trim().toLowerCase())),Zm=function(...t){const e=t.filter(i=>!isNaN(i));return Math.max(...e)},Jm=function(...t){const e=t.filter(i=>!isNaN(i));return Math.min(...e)},zb=function(t){const e=t.split(/(,)/),i=[];for(let r=0;r0&&r+1Math.max(0,t.split(e).length-1),Qm=(t,e)=>{const i=Cn(t,"~"),r=Cn(e,"~");return i===1&&r===1},t0=t=>{const e=Cn(t,"~");let i=!1;if(e<=1)return t;e%2!==0&&t.startsWith("~")&&(t=t.substring(1),i=!0);const r=[...t];let n=r.indexOf("~"),o=r.lastIndexOf("~");for(;n!==-1&&o!==-1&&n!==o;)r[n]="<",r[o]=">",n=r.indexOf("~"),o=r.lastIndexOf("~");return i&&r.unshift("~"),r.join("")},Ts=()=>window.MathMLElement!==void 0,xn=/\$\$(.*)\$\$/g,vs=t=>{var e;return(((e=t.match(xn))==null?void 0:e.length)??0)>0},Wb=async(t,e)=>{t=await e0(t,e);const i=document.createElement("div");i.innerHTML=t,i.id="katex-temp",i.style.visibility="hidden",i.style.position="absolute",i.style.top="0";const r=document.querySelector("body");r==null||r.insertAdjacentElement("beforeend",i);const n={width:i.clientWidth,height:i.clientHeight};return i.remove(),n},e0=async(t,e)=>{if(!vs(t))return t;if(!Ts()&&!e.legacyMathML)return t.replace(xn,"MathML is unsupported in this environment.");const{default:i}=await X(()=>import("./katex-rPiVaalG.js"),[]);return t.split(Ti).map(r=>vs(r)?`
${r}
- `:`
${r}
`).join("").replace(xn,(r,n)=>i.renderToString(n,{throwOnError:!0,displayMode:!0,output:bs()?"mathml":"htmlAndMathml"}).replace(/\n/g," ").replace(//g,""))},Wn={getRows:Wm,sanitizeText:gi,sanitizeTextOrArray:Um,hasBreaks:Ym,splitBreaks:Vm,lineBreakRegex:Ti,removeScript:Ja,getUrl:Xm,evaluate:tl,getMax:Km,getMin:Zm},ct=(t,e)=>e?g(t,{s:-40,l:10}):g(t,{s:-40,l:-10}),Sr="#ffffff",wr="#f2f2f2";let e0=class{constructor(){this.background="#f4f4f4",this.primaryColor="#fff4dd",this.noteBkgColor="#fff5ad",this.noteTextColor="#333",this.THEME_COLOR_LIMIT=12,this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px"}updateColors(){var e,i,r,n,o,s,a,l,h,u,f;if(this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#333"),this.secondaryColor=this.secondaryColor||g(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||g(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||ct(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||ct(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||ct(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||ct(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#333",this.secondaryTextColor=this.secondaryTextColor||C(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||C(this.tertiaryColor),this.lineColor=this.lineColor||C(this.background),this.arrowheadColor=this.arrowheadColor||C(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.primaryBorderColor,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?M(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||"grey",this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||M(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||C(this.lineColor),this.sectionBkgColor=this.sectionBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||this.secondaryColor,this.sectionBkgColor2=this.sectionBkgColor2||this.primaryColor,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||this.primaryColor,this.activeTaskBorderColor=this.activeTaskBorderColor||this.primaryColor,this.activeTaskBkgColor=this.activeTaskBkgColor||L(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||this.tertiaryColor,this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||g(this.primaryColor,{h:30}),this.cScale4=this.cScale4||g(this.primaryColor,{h:60}),this.cScale5=this.cScale5||g(this.primaryColor,{h:90}),this.cScale6=this.cScale6||g(this.primaryColor,{h:120}),this.cScale7=this.cScale7||g(this.primaryColor,{h:150}),this.cScale8=this.cScale8||g(this.primaryColor,{h:210,l:150}),this.cScale9=this.cScale9||g(this.primaryColor,{h:270}),this.cScale10=this.cScale10||g(this.primaryColor,{h:300}),this.cScale11=this.cScale11||g(this.primaryColor,{h:330}),this.darkMode)for(let p=0;p{this[r]=e[r]}),this.updateColors(),i.forEach(r=>{this[r]=e[r]})}};const i0=t=>{const e=new e0;return e.calculate(t),e};let r0=class{constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=L(this.primaryColor,16),this.tertiaryColor=g(this.primaryColor,{h:-160}),this.primaryBorderColor=C(this.background),this.secondaryBorderColor=ct(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=ct(this.tertiaryColor,this.darkMode),this.primaryTextColor=C(this.primaryColor),this.secondaryTextColor=C(this.secondaryColor),this.tertiaryTextColor=C(this.tertiaryColor),this.lineColor=C(this.background),this.textColor=C(this.background),this.mainBkg="#1f2020",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=L(C("#323D47"),10),this.lineColor="calculated",this.border1="#81B1DB",this.border2=ii(255,255,255,.25),this.arrowheadColor="calculated",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="#181818",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#F9FFFE",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="calculated",this.activationBkgColor="calculated",this.sequenceNumberColor="black",this.sectionBkgColor=M("#EAE8D9",30),this.altSectionBkgColor="calculated",this.sectionBkgColor2="#EAE8D9",this.excludeBkgColor=M(this.sectionBkgColor,10),this.taskBorderColor=ii(255,255,255,70),this.taskBkgColor="calculated",this.taskTextColor="calculated",this.taskTextLightColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor=ii(255,255,255,50),this.activeTaskBkgColor="#81B1DB",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="grey",this.critBorderColor="#E83737",this.critBkgColor="#E83737",this.taskTextDarkColor="calculated",this.todayLineColor="#DB5757",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.labelColor="calculated",this.errorBkgColor="#a44141",this.errorTextColor="#ddd"}updateColors(){var e,i,r,n,o,s,a,l,h,u,f;this.secondBkg=L(this.mainBkg,16),this.lineColor=this.mainContrastColor,this.arrowheadColor=this.mainContrastColor,this.nodeBkg=this.mainBkg,this.nodeBorder=this.border1,this.clusterBkg=this.secondBkg,this.clusterBorder=this.border2,this.defaultLinkColor=this.lineColor,this.edgeLabelBackground=L(this.labelBackground,25),this.actorBorder=this.border1,this.actorBkg=this.mainBkg,this.actorTextColor=this.mainContrastColor,this.actorLineColor=this.mainContrastColor,this.signalColor=this.mainContrastColor,this.signalTextColor=this.mainContrastColor,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.mainContrastColor,this.loopTextColor=this.mainContrastColor,this.noteBorderColor=this.secondaryBorderColor,this.noteBkgColor=this.secondBkg,this.noteTextColor=this.secondaryTextColor,this.activationBorderColor=this.border1,this.activationBkgColor=this.secondBkg,this.altSectionBkgColor=this.background,this.taskBkgColor=L(this.mainBkg,23),this.taskTextColor=this.darkTextColor,this.taskTextLightColor=this.mainContrastColor,this.taskTextOutsideColor=this.taskTextLightColor,this.gridColor=this.mainContrastColor,this.doneTaskBkgColor=this.mainContrastColor,this.taskTextDarkColor=this.darkTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#555",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.primaryBorderColor,this.specialStateColor="#f4f4f4",this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=g(this.primaryColor,{h:64}),this.fillType3=g(this.secondaryColor,{h:64}),this.fillType4=g(this.primaryColor,{h:-64}),this.fillType5=g(this.secondaryColor,{h:-64}),this.fillType6=g(this.primaryColor,{h:128}),this.fillType7=g(this.secondaryColor,{h:128}),this.cScale1=this.cScale1||"#0b0000",this.cScale2=this.cScale2||"#4d1037",this.cScale3=this.cScale3||"#3f5258",this.cScale4=this.cScale4||"#4f2f1b",this.cScale5=this.cScale5||"#6e0a0a",this.cScale6=this.cScale6||"#3b0048",this.cScale7=this.cScale7||"#995a01",this.cScale8=this.cScale8||"#154706",this.cScale9=this.cScale9||"#161722",this.cScale10=this.cScale10||"#00296f",this.cScale11=this.cScale11||"#01629c",this.cScale12=this.cScale12||"#010029",this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||g(this.primaryColor,{h:30}),this.cScale4=this.cScale4||g(this.primaryColor,{h:60}),this.cScale5=this.cScale5||g(this.primaryColor,{h:90}),this.cScale6=this.cScale6||g(this.primaryColor,{h:120}),this.cScale7=this.cScale7||g(this.primaryColor,{h:150}),this.cScale8=this.cScale8||g(this.primaryColor,{h:210}),this.cScale9=this.cScale9||g(this.primaryColor,{h:270}),this.cScale10=this.cScale10||g(this.primaryColor,{h:300}),this.cScale11=this.cScale11||g(this.primaryColor,{h:330});for(let c=0;c{this[r]=e[r]}),this.updateColors(),i.forEach(r=>{this[r]=e[r]})}};const n0=t=>{const e=new r0;return e.calculate(t),e};let o0=class{constructor(){this.background="#f4f4f4",this.primaryColor="#ECECFF",this.secondaryColor=g(this.primaryColor,{h:120}),this.secondaryColor="#ffffde",this.tertiaryColor=g(this.primaryColor,{h:-160}),this.primaryBorderColor=ct(this.primaryColor,this.darkMode),this.secondaryBorderColor=ct(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=ct(this.tertiaryColor,this.darkMode),this.primaryTextColor=C(this.primaryColor),this.secondaryTextColor=C(this.secondaryColor),this.tertiaryTextColor=C(this.tertiaryColor),this.lineColor=C(this.background),this.textColor=C(this.background),this.background="white",this.mainBkg="#ECECFF",this.secondBkg="#ffffde",this.lineColor="#333333",this.border1="#9370DB",this.border2="#aaaa33",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="#e8e8e8",this.textColor="#333",this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="grey",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="calculated",this.altSectionBkgColor="calculated",this.sectionBkgColor2="calculated",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="calculated",this.taskTextColor=this.taskTextLightColor,this.taskTextDarkColor="calculated",this.taskTextOutsideColor=this.taskTextDarkColor,this.taskTextClickableColor="calculated",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBorderColor="calculated",this.critBkgColor="calculated",this.todayLineColor="calculated",this.sectionBkgColor=ii(102,102,255,.49),this.altSectionBkgColor="white",this.sectionBkgColor2="#fff400",this.taskBorderColor="#534fbc",this.taskBkgColor="#8a90dd",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="#534fbc",this.activeTaskBkgColor="#bfc7ff",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222",this.updateColors()}updateColors(){var e,i,r,n,o,s,a,l,h,u,f;this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||g(this.primaryColor,{h:30}),this.cScale4=this.cScale4||g(this.primaryColor,{h:60}),this.cScale5=this.cScale5||g(this.primaryColor,{h:90}),this.cScale6=this.cScale6||g(this.primaryColor,{h:120}),this.cScale7=this.cScale7||g(this.primaryColor,{h:150}),this.cScale8=this.cScale8||g(this.primaryColor,{h:210}),this.cScale9=this.cScale9||g(this.primaryColor,{h:270}),this.cScale10=this.cScale10||g(this.primaryColor,{h:300}),this.cScale11=this.cScale11||g(this.primaryColor,{h:330}),this.cScalePeer1=this.cScalePeer1||M(this.secondaryColor,45),this.cScalePeer2=this.cScalePeer2||M(this.tertiaryColor,40);for(let c=0;c{this[r]=e[r]}),this.updateColors(),i.forEach(r=>{this[r]=e[r]})}};const s0=t=>{const e=new o0;return e.calculate(t),e};let a0=class{constructor(){this.background="#f4f4f4",this.primaryColor="#cde498",this.secondaryColor="#cdffb2",this.background="white",this.mainBkg="#cde498",this.secondBkg="#cdffb2",this.lineColor="green",this.border1="#13540c",this.border2="#6eaa49",this.arrowheadColor="green",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.tertiaryColor=L("#cde498",10),this.primaryBorderColor=ct(this.primaryColor,this.darkMode),this.secondaryBorderColor=ct(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=ct(this.tertiaryColor,this.darkMode),this.primaryTextColor=C(this.primaryColor),this.secondaryTextColor=C(this.secondaryColor),this.tertiaryTextColor=C(this.primaryColor),this.lineColor=C(this.background),this.textColor=C(this.background),this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#333",this.edgeLabelBackground="#e8e8e8",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="grey",this.signalColor="#333",this.signalTextColor="#333",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="#326932",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="#6eaa49",this.altSectionBkgColor="white",this.sectionBkgColor2="#6eaa49",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="#487e3a",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222"}updateColors(){var e,i,r,n,o,s,a,l,h,u,f;this.actorBorder=M(this.mainBkg,20),this.actorBkg=this.mainBkg,this.labelBoxBkgColor=this.actorBkg,this.labelTextColor=this.actorTextColor,this.loopTextColor=this.actorTextColor,this.noteBorderColor=this.border2,this.noteTextColor=this.actorTextColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||g(this.primaryColor,{h:30}),this.cScale4=this.cScale4||g(this.primaryColor,{h:60}),this.cScale5=this.cScale5||g(this.primaryColor,{h:90}),this.cScale6=this.cScale6||g(this.primaryColor,{h:120}),this.cScale7=this.cScale7||g(this.primaryColor,{h:150}),this.cScale8=this.cScale8||g(this.primaryColor,{h:210}),this.cScale9=this.cScale9||g(this.primaryColor,{h:270}),this.cScale10=this.cScale10||g(this.primaryColor,{h:300}),this.cScale11=this.cScale11||g(this.primaryColor,{h:330}),this.cScalePeer1=this.cScalePeer1||M(this.secondaryColor,45),this.cScalePeer2=this.cScalePeer2||M(this.tertiaryColor,40);for(let c=0;c{this[r]=e[r]}),this.updateColors(),i.forEach(r=>{this[r]=e[r]})}};const l0=t=>{const e=new a0;return e.calculate(t),e};class h0{constructor(){this.primaryColor="#eee",this.contrast="#707070",this.secondaryColor=L(this.contrast,55),this.background="#ffffff",this.tertiaryColor=g(this.primaryColor,{h:-160}),this.primaryBorderColor=ct(this.primaryColor,this.darkMode),this.secondaryBorderColor=ct(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=ct(this.tertiaryColor,this.darkMode),this.primaryTextColor=C(this.primaryColor),this.secondaryTextColor=C(this.secondaryColor),this.tertiaryTextColor=C(this.tertiaryColor),this.lineColor=C(this.background),this.textColor=C(this.background),this.mainBkg="#eee",this.secondBkg="calculated",this.lineColor="#666",this.border1="#999",this.border2="calculated",this.note="#ffa",this.text="#333",this.critical="#d42",this.done="#bbb",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="white",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="calculated",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="calculated",this.altSectionBkgColor="white",this.sectionBkgColor2="calculated",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBkgColor="calculated",this.critBorderColor="calculated",this.todayLineColor="calculated",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222"}updateColors(){var e,i,r,n,o,s,a,l,h,u,f;this.secondBkg=L(this.contrast,55),this.border2=this.contrast,this.actorBorder=L(this.border1,23),this.actorBkg=this.mainBkg,this.actorTextColor=this.text,this.actorLineColor=this.lineColor,this.signalColor=this.text,this.signalTextColor=this.text,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.text,this.loopTextColor=this.text,this.noteBorderColor="#999",this.noteBkgColor="#666",this.noteTextColor="#fff",this.cScale0=this.cScale0||"#555",this.cScale1=this.cScale1||"#F4F4F4",this.cScale2=this.cScale2||"#555",this.cScale3=this.cScale3||"#BBB",this.cScale4=this.cScale4||"#777",this.cScale5=this.cScale5||"#999",this.cScale6=this.cScale6||"#DDD",this.cScale7=this.cScale7||"#FFF",this.cScale8=this.cScale8||"#DDD",this.cScale9=this.cScale9||"#BBB",this.cScale10=this.cScale10||"#999",this.cScale11=this.cScale11||"#777";for(let c=0;c{this[r]=e[r]}),this.updateColors(),i.forEach(r=>{this[r]=e[r]})}}const c0=t=>{const e=new h0;return e.calculate(t),e},Xt={base:{getThemeVariables:i0},dark:{getThemeVariables:n0},default:{getThemeVariables:s0},forest:{getThemeVariables:l0},neutral:{getThemeVariables:c0}},Yt={flowchart:{useMaxWidth:!0,titleTopMargin:25,subGraphTitleMargin:{top:0,bottom:0},diagramPadding:8,htmlLabels:!0,nodeSpacing:50,rankSpacing:50,curve:"basis",padding:15,defaultRenderer:"dagre-wrapper",wrappingWidth:200},sequence:{useMaxWidth:!0,hideUnusedParticipants:!1,activationWidth:10,diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",mirrorActors:!0,forceMenus:!1,bottomMarginAdj:1,rightAngles:!1,showSequenceNumbers:!1,actorFontSize:14,actorFontFamily:'"Open Sans", sans-serif',actorFontWeight:400,noteFontSize:14,noteFontFamily:'"trebuchet ms", verdana, arial, sans-serif',noteFontWeight:400,noteAlign:"center",messageFontSize:16,messageFontFamily:'"trebuchet ms", verdana, arial, sans-serif',messageFontWeight:400,wrap:!1,wrapPadding:10,labelBoxWidth:50,labelBoxHeight:20},gantt:{useMaxWidth:!0,titleTopMargin:25,barHeight:20,barGap:4,topPadding:50,rightPadding:75,leftPadding:75,gridLineStartPadding:35,fontSize:11,sectionFontSize:11,numberSectionStyles:4,axisFormat:"%Y-%m-%d",topAxis:!1,displayMode:"",weekday:"sunday"},journey:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,leftMargin:150,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,rightAngles:!1,taskFontSize:14,taskFontFamily:'"Open Sans", sans-serif',taskMargin:50,activationWidth:10,textPlacement:"fo",actorColours:["#8FBC8F","#7CFC00","#00FFFF","#20B2AA","#B0E0E6","#FFFFE0"],sectionFills:["#191970","#8B008B","#4B0082","#2F4F4F","#800000","#8B4513","#00008B"],sectionColours:["#fff"]},class:{useMaxWidth:!0,titleTopMargin:25,arrowMarkerAbsolute:!1,dividerMargin:10,padding:5,textHeight:10,defaultRenderer:"dagre-wrapper",htmlLabels:!1},state:{useMaxWidth:!0,titleTopMargin:25,dividerMargin:10,sizeUnit:5,padding:8,textHeight:10,titleShift:-15,noteMargin:10,forkWidth:70,forkHeight:7,miniPadding:2,fontSizeFactor:5.02,fontSize:24,labelHeight:16,edgeLengthFactor:"20",compositTitleSize:35,radius:5,defaultRenderer:"dagre-wrapper"},er:{useMaxWidth:!0,titleTopMargin:25,diagramPadding:20,layoutDirection:"TB",minEntityWidth:100,minEntityHeight:75,entityPadding:15,stroke:"gray",fill:"honeydew",fontSize:12},pie:{useMaxWidth:!0,textPosition:.75},quadrantChart:{useMaxWidth:!0,chartWidth:500,chartHeight:500,titleFontSize:20,titlePadding:10,quadrantPadding:5,xAxisLabelPadding:5,yAxisLabelPadding:5,xAxisLabelFontSize:16,yAxisLabelFontSize:16,quadrantLabelFontSize:16,quadrantTextTopPadding:5,pointTextPadding:5,pointLabelFontSize:12,pointRadius:5,xAxisPosition:"top",yAxisPosition:"left",quadrantInternalBorderStrokeWidth:1,quadrantExternalBorderStrokeWidth:2},xyChart:{useMaxWidth:!0,width:700,height:500,titleFontSize:20,titlePadding:10,showTitle:!0,xAxis:{$ref:"#/$defs/XYChartAxisConfig",showLabel:!0,labelFontSize:14,labelPadding:5,showTitle:!0,titleFontSize:16,titlePadding:5,showTick:!0,tickLength:5,tickWidth:2,showAxisLine:!0,axisLineWidth:2},yAxis:{$ref:"#/$defs/XYChartAxisConfig",showLabel:!0,labelFontSize:14,labelPadding:5,showTitle:!0,titleFontSize:16,titlePadding:5,showTick:!0,tickLength:5,tickWidth:2,showAxisLine:!0,axisLineWidth:2},chartOrientation:"vertical",plotReservedSpacePercent:50},requirement:{useMaxWidth:!0,rect_fill:"#f9f9f9",text_color:"#333",rect_border_size:"0.5px",rect_border_color:"#bbb",rect_min_width:200,rect_min_height:200,fontSize:14,rect_padding:10,line_height:20},mindmap:{useMaxWidth:!0,padding:10,maxNodeWidth:200},timeline:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,leftMargin:150,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,rightAngles:!1,taskFontSize:14,taskFontFamily:'"Open Sans", sans-serif',taskMargin:50,activationWidth:10,textPlacement:"fo",actorColours:["#8FBC8F","#7CFC00","#00FFFF","#20B2AA","#B0E0E6","#FFFFE0"],sectionFills:["#191970","#8B008B","#4B0082","#2F4F4F","#800000","#8B4513","#00008B"],sectionColours:["#fff"],disableMulticolor:!1},gitGraph:{useMaxWidth:!0,titleTopMargin:25,diagramPadding:8,nodeLabel:{width:75,height:100,x:-25,y:0},mainBranchName:"main",mainBranchOrder:0,showCommitLabel:!0,showBranches:!0,rotateCommitLabel:!0,parallelCommits:!1,arrowMarkerAbsolute:!1},c4:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,c4ShapeMargin:50,c4ShapePadding:20,width:216,height:60,boxMargin:10,c4ShapeInRow:4,nextLinePaddingX:0,c4BoundaryInRow:2,personFontSize:14,personFontFamily:'"Open Sans", sans-serif',personFontWeight:"normal",external_personFontSize:14,external_personFontFamily:'"Open Sans", sans-serif',external_personFontWeight:"normal",systemFontSize:14,systemFontFamily:'"Open Sans", sans-serif',systemFontWeight:"normal",external_systemFontSize:14,external_systemFontFamily:'"Open Sans", sans-serif',external_systemFontWeight:"normal",system_dbFontSize:14,system_dbFontFamily:'"Open Sans", sans-serif',system_dbFontWeight:"normal",external_system_dbFontSize:14,external_system_dbFontFamily:'"Open Sans", sans-serif',external_system_dbFontWeight:"normal",system_queueFontSize:14,system_queueFontFamily:'"Open Sans", sans-serif',system_queueFontWeight:"normal",external_system_queueFontSize:14,external_system_queueFontFamily:'"Open Sans", sans-serif',external_system_queueFontWeight:"normal",boundaryFontSize:14,boundaryFontFamily:'"Open Sans", sans-serif',boundaryFontWeight:"normal",messageFontSize:12,messageFontFamily:'"Open Sans", sans-serif',messageFontWeight:"normal",containerFontSize:14,containerFontFamily:'"Open Sans", sans-serif',containerFontWeight:"normal",external_containerFontSize:14,external_containerFontFamily:'"Open Sans", sans-serif',external_containerFontWeight:"normal",container_dbFontSize:14,container_dbFontFamily:'"Open Sans", sans-serif',container_dbFontWeight:"normal",external_container_dbFontSize:14,external_container_dbFontFamily:'"Open Sans", sans-serif',external_container_dbFontWeight:"normal",container_queueFontSize:14,container_queueFontFamily:'"Open Sans", sans-serif',container_queueFontWeight:"normal",external_container_queueFontSize:14,external_container_queueFontFamily:'"Open Sans", sans-serif',external_container_queueFontWeight:"normal",componentFontSize:14,componentFontFamily:'"Open Sans", sans-serif',componentFontWeight:"normal",external_componentFontSize:14,external_componentFontFamily:'"Open Sans", sans-serif',external_componentFontWeight:"normal",component_dbFontSize:14,component_dbFontFamily:'"Open Sans", sans-serif',component_dbFontWeight:"normal",external_component_dbFontSize:14,external_component_dbFontFamily:'"Open Sans", sans-serif',external_component_dbFontWeight:"normal",component_queueFontSize:14,component_queueFontFamily:'"Open Sans", sans-serif',component_queueFontWeight:"normal",external_component_queueFontSize:14,external_component_queueFontFamily:'"Open Sans", sans-serif',external_component_queueFontWeight:"normal",wrap:!0,wrapPadding:10,person_bg_color:"#08427B",person_border_color:"#073B6F",external_person_bg_color:"#686868",external_person_border_color:"#8A8A8A",system_bg_color:"#1168BD",system_border_color:"#3C7FC0",system_db_bg_color:"#1168BD",system_db_border_color:"#3C7FC0",system_queue_bg_color:"#1168BD",system_queue_border_color:"#3C7FC0",external_system_bg_color:"#999999",external_system_border_color:"#8A8A8A",external_system_db_bg_color:"#999999",external_system_db_border_color:"#8A8A8A",external_system_queue_bg_color:"#999999",external_system_queue_border_color:"#8A8A8A",container_bg_color:"#438DD5",container_border_color:"#3C7FC0",container_db_bg_color:"#438DD5",container_db_border_color:"#3C7FC0",container_queue_bg_color:"#438DD5",container_queue_border_color:"#3C7FC0",external_container_bg_color:"#B3B3B3",external_container_border_color:"#A6A6A6",external_container_db_bg_color:"#B3B3B3",external_container_db_border_color:"#A6A6A6",external_container_queue_bg_color:"#B3B3B3",external_container_queue_border_color:"#A6A6A6",component_bg_color:"#85BBF0",component_border_color:"#78A8D8",component_db_bg_color:"#85BBF0",component_db_border_color:"#78A8D8",component_queue_bg_color:"#85BBF0",component_queue_border_color:"#78A8D8",external_component_bg_color:"#CCCCCC",external_component_border_color:"#BFBFBF",external_component_db_bg_color:"#CCCCCC",external_component_db_border_color:"#BFBFBF",external_component_queue_bg_color:"#CCCCCC",external_component_queue_border_color:"#BFBFBF"},sankey:{useMaxWidth:!0,width:600,height:400,linkColor:"gradient",nodeAlignment:"justify",showValues:!0,prefix:"",suffix:""},block:{useMaxWidth:!0,padding:8},theme:"default",maxTextSize:5e4,maxEdges:500,darkMode:!1,fontFamily:'"trebuchet ms", verdana, arial, sans-serif;',logLevel:5,securityLevel:"strict",startOnLoad:!0,arrowMarkerAbsolute:!1,secure:["secure","securityLevel","startOnLoad","maxTextSize","maxEdges"],legacyMathML:!1,deterministicIds:!1,fontSize:16},el={...Yt,deterministicIDSeed:void 0,themeCSS:void 0,themeVariables:Xt.default.getThemeVariables(),sequence:{...Yt.sequence,messageFont:function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}},noteFont:function(){return{fontFamily:this.noteFontFamily,fontSize:this.noteFontSize,fontWeight:this.noteFontWeight}},actorFont:function(){return{fontFamily:this.actorFontFamily,fontSize:this.actorFontSize,fontWeight:this.actorFontWeight}}},gantt:{...Yt.gantt,tickInterval:void 0,useWidth:void 0},c4:{...Yt.c4,useWidth:void 0,personFont:function(){return{fontFamily:this.personFontFamily,fontSize:this.personFontSize,fontWeight:this.personFontWeight}},external_personFont:function(){return{fontFamily:this.external_personFontFamily,fontSize:this.external_personFontSize,fontWeight:this.external_personFontWeight}},systemFont:function(){return{fontFamily:this.systemFontFamily,fontSize:this.systemFontSize,fontWeight:this.systemFontWeight}},external_systemFont:function(){return{fontFamily:this.external_systemFontFamily,fontSize:this.external_systemFontSize,fontWeight:this.external_systemFontWeight}},system_dbFont:function(){return{fontFamily:this.system_dbFontFamily,fontSize:this.system_dbFontSize,fontWeight:this.system_dbFontWeight}},external_system_dbFont:function(){return{fontFamily:this.external_system_dbFontFamily,fontSize:this.external_system_dbFontSize,fontWeight:this.external_system_dbFontWeight}},system_queueFont:function(){return{fontFamily:this.system_queueFontFamily,fontSize:this.system_queueFontSize,fontWeight:this.system_queueFontWeight}},external_system_queueFont:function(){return{fontFamily:this.external_system_queueFontFamily,fontSize:this.external_system_queueFontSize,fontWeight:this.external_system_queueFontWeight}},containerFont:function(){return{fontFamily:this.containerFontFamily,fontSize:this.containerFontSize,fontWeight:this.containerFontWeight}},external_containerFont:function(){return{fontFamily:this.external_containerFontFamily,fontSize:this.external_containerFontSize,fontWeight:this.external_containerFontWeight}},container_dbFont:function(){return{fontFamily:this.container_dbFontFamily,fontSize:this.container_dbFontSize,fontWeight:this.container_dbFontWeight}},external_container_dbFont:function(){return{fontFamily:this.external_container_dbFontFamily,fontSize:this.external_container_dbFontSize,fontWeight:this.external_container_dbFontWeight}},container_queueFont:function(){return{fontFamily:this.container_queueFontFamily,fontSize:this.container_queueFontSize,fontWeight:this.container_queueFontWeight}},external_container_queueFont:function(){return{fontFamily:this.external_container_queueFontFamily,fontSize:this.external_container_queueFontSize,fontWeight:this.external_container_queueFontWeight}},componentFont:function(){return{fontFamily:this.componentFontFamily,fontSize:this.componentFontSize,fontWeight:this.componentFontWeight}},external_componentFont:function(){return{fontFamily:this.external_componentFontFamily,fontSize:this.external_componentFontSize,fontWeight:this.external_componentFontWeight}},component_dbFont:function(){return{fontFamily:this.component_dbFontFamily,fontSize:this.component_dbFontSize,fontWeight:this.component_dbFontWeight}},external_component_dbFont:function(){return{fontFamily:this.external_component_dbFontFamily,fontSize:this.external_component_dbFontSize,fontWeight:this.external_component_dbFontWeight}},component_queueFont:function(){return{fontFamily:this.component_queueFontFamily,fontSize:this.component_queueFontSize,fontWeight:this.component_queueFontWeight}},external_component_queueFont:function(){return{fontFamily:this.external_component_queueFontFamily,fontSize:this.external_component_queueFontSize,fontWeight:this.external_component_queueFontWeight}},boundaryFont:function(){return{fontFamily:this.boundaryFontFamily,fontSize:this.boundaryFontSize,fontWeight:this.boundaryFontWeight}},messageFont:function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}}},pie:{...Yt.pie,useWidth:984},xyChart:{...Yt.xyChart,useWidth:void 0},requirement:{...Yt.requirement,useWidth:void 0},gitGraph:{...Yt.gitGraph,useMaxWidth:!1},sankey:{...Yt.sankey,useMaxWidth:!1}},il=(t,e="")=>Object.keys(t).reduce((i,r)=>Array.isArray(t[r])?i:typeof t[r]=="object"&&t[r]!==null?[...i,e+r,...il(t[r],"")]:[...i,e+r],[]),u0=new Set(il(el,"")),f0=el,rr=t=>{if(O.debug("sanitizeDirective called with",t),!(typeof t!="object"||t==null)){if(Array.isArray(t)){t.forEach(e=>rr(e));return}for(const e of Object.keys(t)){if(O.debug("Checking key",e),e.startsWith("__")||e.includes("proto")||e.includes("constr")||!u0.has(e)||t[e]==null){O.debug("sanitize deleting key: ",e),delete t[e];continue}if(typeof t[e]=="object"){O.debug("sanitizing object",e),rr(t[e]);continue}const i=["themeCSS","fontFamily","altFontFamily"];for(const r of i)e.includes(r)&&(O.debug("sanitizing css option",e),t[e]=d0(t[e]))}if(t.themeVariables)for(const e of Object.keys(t.themeVariables)){const i=t.themeVariables[e];i!=null&&i.match&&!i.match(/^[\d "#%(),.;A-Za-z]+$/)&&(t.themeVariables[e]="")}O.debug("After sanitization",t)}},d0=t=>{let e=0,i=0;for(const r of t){if(e{for(const{id:e,detector:i,loader:r}of t)sl(e,i,r)},sl=(t,e,i)=>{De[t]?O.error(`Detector with key ${t} already exists`):De[t]={detector:e,loader:i},O.debug(`Detector with key ${t} added${i?" with loader":""}`)},g0=t=>De[t].loader,bn=(t,e,{depth:i=2,clobber:r=!1}={})=>{const n={depth:i,clobber:r};return Array.isArray(e)&&!Array.isArray(t)?(e.forEach(o=>bn(t,o,n)),t):Array.isArray(e)&&Array.isArray(t)?(e.forEach(o=>{t.includes(o)||t.push(o)}),t):t===void 0||i<=0?t!=null&&typeof t=="object"&&typeof e=="object"?Object.assign(t,e):e:(e!==void 0&&typeof t=="object"&&typeof e=="object"&&Object.keys(e).forEach(o=>{typeof e[o]=="object"&&(t[o]===void 0||typeof t[o]=="object")?(t[o]===void 0&&(t[o]=Array.isArray(e[o])?[]:{}),t[o]=bn(t[o],e[o],{depth:i-1,clobber:r})):(r||typeof t[o]!="object"&&typeof e[o]!="object")&&(t[o]=e[o])}),t)},st=bn,m0="​",_0={curveBasis:Pf,curveBasisClosed:qf,curveBasisOpen:zf,curveBumpX:Nf,curveBumpY:Rf,curveBundle:Wf,curveCardinalClosed:jf,curveCardinalOpen:Uf,curveCardinal:Hf,curveCatmullRomClosed:Vf,curveCatmullRomOpen:Gf,curveCatmullRom:Yf,curveLinear:Df,curveLinearClosed:Xf,curveMonotoneX:Kf,curveMonotoneY:Zf,curveNatural:Jf,curveStep:Qf,curveStepAfter:ed,curveStepBefore:td},y0=/\s*(?:(\w+)(?=:):|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi,C0=function(t,e){const i=al(t,/(?:init\b)|(?:initialize\b)/);let r={};if(Array.isArray(i)){const s=i.map(a=>a.args);rr(s),r=st(r,[...s])}else r=i.args;if(!r)return;let n=Br(t,e);const o="config";return r[o]!==void 0&&(n==="flowchart-v2"&&(n="flowchart"),r[n]=r[o],delete r[o]),r},al=function(t,e=null){try{const i=new RegExp(`[%]{2}(?![{]${y0.source})(?=[}][%]{2}).* -`,"ig");t=t.trim().replace(i,"").replace(/'/gm,'"'),O.debug(`Detecting diagram directive${e!==null?" type:"+e:""} based on the text:${t}`);let r;const n=[];for(;(r=ni.exec(t))!==null;)if(r.index===ni.lastIndex&&ni.lastIndex++,r&&!e||e&&r[1]&&r[1].match(e)||e&&r[2]&&r[2].match(e)){const o=r[1]?r[1]:r[2],s=r[3]?r[3].trim():r[4]?JSON.parse(r[4].trim()):null;n.push({type:o,args:s})}return n.length===0?{type:t,args:null}:n.length===1?n[0]:n}catch(i){return O.error(`ERROR: ${i.message} - Unable to parse directive type: '${e}' based on the text: '${t}'`),{type:void 0,args:null}}},x0=function(t){return t.replace(ni,"")},b0=function(t,e){for(const[i,r]of e.entries())if(r.match(t))return i;return-1};function T0(t,e){if(!t)return e;const i=`curve${t.charAt(0).toUpperCase()+t.slice(1)}`;return _0[i]??e}function v0(t,e){const i=t.trim();if(i)return e.securityLevel!=="loose"?qs.sanitizeUrl(i):i}const k0=(t,...e)=>{const i=t.split("."),r=i.length-1,n=i[r];let o=window;for(let s=0;s{i+=ll(n,e),e=n});const r=i/2;return Hn(t,r)}function w0(t){return t.length===1?t[0]:S0(t)}const vs=(t,e=2)=>{const i=Math.pow(10,e);return Math.round(t*i)/i},Hn=(t,e)=>{let i,r=e;for(const n of t){if(i){const o=ll(n,i);if(o=1)return{x:n.x,y:n.y};if(s>0&&s<1)return{x:vs((1-s)*i.x+s*n.x,5),y:vs((1-s)*i.y+s*n.y,5)}}}i=n}throw new Error("Could not find a suitable point for the given distance")},B0=(t,e,i)=>{O.info(`our points ${JSON.stringify(e)}`),e[0]!==i&&(e=e.reverse());const n=Hn(e,25),o=t?10:5,s=Math.atan2(e[0].y-n.y,e[0].x-n.x),a={x:0,y:0};return a.x=Math.sin(s)*o+(e[0].x+n.x)/2,a.y=-Math.cos(s)*o+(e[0].y+n.y)/2,a};function A0(t,e,i){const r=structuredClone(i);O.info("our points",r),e!=="start_left"&&e!=="start_right"&&r.reverse();const n=25+t,o=Hn(r,n),s=10+t*.5,a=Math.atan2(r[0].y-o.y,r[0].x-o.x),l={x:0,y:0};return e==="start_left"?(l.x=Math.sin(a+Math.PI)*s+(r[0].x+o.x)/2,l.y=-Math.cos(a+Math.PI)*s+(r[0].y+o.y)/2):e==="end_right"?(l.x=Math.sin(a-Math.PI)*s+(r[0].x+o.x)/2-5,l.y=-Math.cos(a-Math.PI)*s+(r[0].y+o.y)/2-5):e==="end_left"?(l.x=Math.sin(a)*s+(r[0].x+o.x)/2-5,l.y=-Math.cos(a)*s+(r[0].y+o.y)/2-5):(l.x=Math.sin(a)*s+(r[0].x+o.x)/2,l.y=-Math.cos(a)*s+(r[0].y+o.y)/2),l}function L0(t){let e="",i="";for(const r of t)r!==void 0&&(r.startsWith("color:")||r.startsWith("text-align:")?i=i+r+";":e=e+r+";");return{style:e,labelStyle:i}}let ks=0;const F0=()=>(ks++,"id-"+Math.random().toString(36).substr(2,12)+"-"+ks);function E0(t){let e="";const i="0123456789abcdef",r=i.length;for(let n=0;nE0(t.length),M0=function(){return{x:0,y:0,fill:void 0,anchor:"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0,valign:void 0,text:""}},I0=function(t,e){const i=e.text.replace(Wn.lineBreakRegex," "),[,r]=Un(e.fontSize),n=t.append("text");n.attr("x",e.x),n.attr("y",e.y),n.style("text-anchor",e.anchor),n.style("font-family",e.fontFamily),n.style("font-size",r),n.style("font-weight",e.fontWeight),n.attr("fill",e.fill),e.class!==void 0&&n.attr("class",e.class);const o=n.append("tspan");return o.attr("x",e.x+e.textMargin*2),o.attr("fill",e.fill),o.text(i),n},$0=xi((t,e,i)=>{if(!t||(i=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",joinWith:"
"},i),Wn.lineBreakRegex.test(t)))return t;const r=t.split(" "),n=[];let o="";return r.forEach((s,a)=>{const l=nr(`${s} `,i),h=nr(o,i);if(l>e){const{hyphenatedStrings:c,remainingWord:p}=D0(s,e,"-",i);n.push(o,...c),o=p}else h+l>=e?(n.push(o),o=s):o=[o,s].filter(Boolean).join(" ");a+1===r.length&&n.push(o)}),n.filter(s=>s!=="").join(i.joinWith)},(t,e,i)=>`${t}${e}${i.fontSize}${i.fontWeight}${i.fontFamily}${i.joinWith}`),D0=xi((t,e,i="-",r)=>{r=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",margin:0},r);const n=[...t],o=[];let s="";return n.forEach((a,l)=>{const h=`${s}${a}`;if(nr(h,r)>=e){const f=l+1,c=n.length===f,p=`${h}${i}`;o.push(c?h:p),s=""}else s=h}),{hyphenatedStrings:o,remainingWord:s}},(t,e,i="-",r)=>`${t}${e}${i}${r.fontSize}${r.fontWeight}${r.fontFamily}`);function N0(t,e){return jn(t,e).height}function nr(t,e){return jn(t,e).width}const jn=xi((t,e)=>{const{fontSize:i=12,fontFamily:r="Arial",fontWeight:n=400}=e;if(!t)return{width:0,height:0};const[,o]=Un(i),s=["sans-serif",r],a=t.split(Wn.lineBreakRegex),l=[],h=Tt("body");if(!h.remove)return{width:0,height:0,lineHeight:0};const u=h.append("svg");for(const c of s){let p=0;const _={width:0,height:0,lineHeight:0};for(const v of a){const k=M0();k.text=v||m0;const N=I0(u,k).style("font-size",o).style("font-weight",n).style("font-family",c),b=(N._groups||N)[0][0].getBBox();if(b.width===0&&b.height===0)throw new Error("svg element not in render tree");_.width=Math.round(Math.max(_.width,b.width)),p=Math.round(b.height),_.height+=p,_.lineHeight=Math.round(Math.max(_.lineHeight,p))}l.push(_)}u.remove();const f=isNaN(l[1].height)||isNaN(l[1].width)||isNaN(l[1].lineHeight)||l[0].height>l[1].height&&l[0].width>l[1].width&&l[0].lineHeight>l[1].lineHeight?0:1;return l[f]},(t,e)=>`${t}${e.fontSize}${e.fontWeight}${e.fontFamily}`);class R0{constructor(e=!1,i){this.count=0,this.count=i?i.length:0,this.next=e?()=>this.count++:()=>Date.now()}}let Ii;const P0=function(t){return Ii=Ii||document.createElement("div"),t=escape(t).replace(/%26/g,"&").replace(/%23/g,"#").replace(/%3B/g,";"),Ii.innerHTML=t,unescape(Ii.textContent)};function hl(t){return"str"in t}const q0=(t,e,i,r)=>{var n;if(!r)return;const o=(n=t.node())==null?void 0:n.getBBox();o&&t.append("text").text(r).attr("x",o.x+o.width/2).attr("y",-i).attr("class",e)},Un=t=>{if(typeof t=="number")return[t,t+"px"];const e=parseInt(t??"",10);return Number.isNaN(e)?[void 0,void 0]:t===String(e)?[e,t+"px"]:[e,t]};function cl(t,e){return cm({},t,e)}const oi={assignWithDepth:st,wrapLabel:$0,calculateTextHeight:N0,calculateTextWidth:nr,calculateTextDimensions:jn,cleanAndMerge:cl,detectInit:C0,detectDirective:al,isSubstringInArray:b0,interpolateToCurve:T0,calcLabelPosition:w0,calcCardinalityPosition:B0,calcTerminalLabelPosition:A0,formatUrl:v0,getStylesFromArray:L0,generateId:F0,random:O0,runFunc:k0,entityDecode:P0,insertTitle:q0,parseFontSize:Un,InitIDGenerator:R0},z0=function(t){let e=t;return e=e.replace(/style.*:\S*#.*;/g,function(i){return i.substring(0,i.length-1)}),e=e.replace(/classDef.*:\S*#.*;/g,function(i){return i.substring(0,i.length-1)}),e=e.replace(/#\w+;/g,function(i){const r=i.substring(1,i.length-1);return/^\+?\d+$/.test(r)?"fl°°"+r+"¶ß":"fl°"+r+"¶ß"}),e},W0=function(t){return t.replace(/fl°°/g,"&#").replace(/fl°/g,"&").replace(/¶ß/g,";")},Ss="10.9.0",Ne=Object.freeze(f0);let gt=st({},Ne),ul,Re=[],si=st({},Ne);const Ar=(t,e)=>{let i=st({},t),r={};for(const n of e)pl(n),r=st(r,n);if(i=st(i,r),r.theme&&r.theme in Xt){const n=st({},ul),o=st(n.themeVariables||{},r.themeVariables);i.theme&&i.theme in Xt&&(i.themeVariables=Xt[i.theme].getThemeVariables(o))}return si=i,gl(si),si},H0=t=>(gt=st({},Ne),gt=st(gt,t),t.theme&&Xt[t.theme]&&(gt.themeVariables=Xt[t.theme].getThemeVariables(t.themeVariables)),Ar(gt,Re),gt),j0=t=>{ul=st({},t)},U0=t=>(gt=st(gt,t),Ar(gt,Re),gt),fl=()=>st({},gt),dl=t=>(gl(t),st(si,t),Nt()),Nt=()=>st({},si),pl=t=>{t&&(["secure",...gt.secure??[]].forEach(e=>{Object.hasOwn(t,e)&&(O.debug(`Denied attempt to modify a secure key ${e}`,t[e]),delete t[e])}),Object.keys(t).forEach(e=>{e.startsWith("__")&&delete t[e]}),Object.keys(t).forEach(e=>{typeof t[e]=="string"&&(t[e].includes("<")||t[e].includes(">")||t[e].includes("url(data:"))&&delete t[e],typeof t[e]=="object"&&pl(t[e])}))},Y0=t=>{rr(t),t.fontFamily&&(!t.themeVariables||!t.themeVariables.fontFamily)&&(t.themeVariables={fontFamily:t.fontFamily}),Re.push(t),Ar(gt,Re)},or=(t=gt)=>{Re=[],Ar(t,Re)},V0={LAZY_LOAD_DEPRECATED:"The configuration options lazyLoadedDiagrams and loadExternalDiagramsAtStartup are deprecated. Please use registerExternalDiagrams instead."},ws={},G0=t=>{ws[t]||(O.warn(V0[t]),ws[t]=!0)},gl=t=>{t&&(t.lazyLoadedDiagrams||t.loadExternalDiagramsAtStartup)&&G0("LAZY_LOAD_DEPRECATED")},ml="c4",X0=t=>/^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(t),K0=async()=>{const{diagram:t}=await X(()=>import("./c4Diagram-b2a90758-DKKdvQ2k.js"),__vite__mapDeps([0,1,2]));return{id:ml,diagram:t}},Z0={id:ml,detector:X0,loader:K0},J0=Z0,_l="flowchart",Q0=(t,e)=>{var i,r;return((i=e==null?void 0:e.flowchart)==null?void 0:i.defaultRenderer)==="dagre-wrapper"||((r=e==null?void 0:e.flowchart)==null?void 0:r.defaultRenderer)==="elk"?!1:/^\s*graph/.test(t)},t_=async()=>{const{diagram:t}=await X(()=>import("./flowDiagram-5540d9b9-BFLw82D-.js"),__vite__mapDeps([3,4,5,6,7,8,9,10,11,12,13,14,15,2]));return{id:_l,diagram:t}},e_={id:_l,detector:Q0,loader:t_},i_=e_,yl="flowchart-v2",r_=(t,e)=>{var i,r,n;return((i=e==null?void 0:e.flowchart)==null?void 0:i.defaultRenderer)==="dagre-d3"||((r=e==null?void 0:e.flowchart)==null?void 0:r.defaultRenderer)==="elk"?!1:/^\s*graph/.test(t)&&((n=e==null?void 0:e.flowchart)==null?void 0:n.defaultRenderer)==="dagre-wrapper"?!0:/^\s*flowchart/.test(t)},n_=async()=>{const{diagram:t}=await X(()=>import("./flowDiagram-v2-3b53844e-DHFDzB2E.js"),__vite__mapDeps([16,4,7,5,8,6,9,10,11,12,13,14,15,2]));return{id:yl,diagram:t}},o_={id:yl,detector:r_,loader:n_},s_=o_,Cl="er",a_=t=>/^\s*erDiagram/.test(t),l_=async()=>{const{diagram:t}=await X(()=>import("./erDiagram-47591fe2-Q164TgqG.js"),__vite__mapDeps([17,5,6,12,13,14,2]));return{id:Cl,diagram:t}},h_={id:Cl,detector:a_,loader:l_},c_=h_,xl="gitGraph",u_=t=>/^\s*gitGraph/.test(t),f_=async()=>{const{diagram:t}=await X(()=>import("./gitGraphDiagram-96e6b4ee-DwZ-lZ0j.js"),__vite__mapDeps([18,2]));return{id:xl,diagram:t}},d_={id:xl,detector:u_,loader:f_},p_=d_,bl="gantt",g_=t=>/^\s*gantt/.test(t),m_=async()=>{const{diagram:t}=await X(()=>import("./ganttDiagram-9a3bba1f-ChJgKPMr.js"),__vite__mapDeps([19,20,21,2]));return{id:bl,diagram:t}},__={id:bl,detector:g_,loader:m_},y_=__,Tl="info",C_=t=>/^\s*info/.test(t),x_=async()=>{const{diagram:t}=await X(()=>import("./infoDiagram-bcd20f53-BIcinyh4.js"),__vite__mapDeps([22,2]));return{id:Tl,diagram:t}},b_={id:Tl,detector:C_,loader:x_},vl="pie",T_=t=>/^\s*pie/.test(t),v_=async()=>{const{diagram:t}=await X(()=>import("./pieDiagram-79897490-BHBzTEwq.js"),__vite__mapDeps([23,24,14,25,21,13,2]));return{id:vl,diagram:t}},k_={id:vl,detector:T_,loader:v_},kl="quadrantChart",S_=t=>/^\s*quadrantChart/.test(t),w_=async()=>{const{diagram:t}=await X(()=>import("./quadrantDiagram-62f64e94-Dta4qjGu.js"),__vite__mapDeps([26,20,21,2]));return{id:kl,diagram:t}},B_={id:kl,detector:S_,loader:w_},A_=B_,Sl="xychart",L_=t=>/^\s*xychart-beta/.test(t),F_=async()=>{const{diagram:t}=await X(()=>import("./xychartDiagram-ab372869-DCFrL7jW.js"),__vite__mapDeps([27,11,21,25,20,12,13,14,2]));return{id:Sl,diagram:t}},E_={id:Sl,detector:L_,loader:F_},O_=E_,wl="requirement",M_=t=>/^\s*requirement(Diagram)?/.test(t),I_=async()=>{const{diagram:t}=await X(()=>import("./requirementDiagram-05bf5f74-D1l8f3fw.js"),__vite__mapDeps([28,5,6,12,13,14,2]));return{id:wl,diagram:t}},$_={id:wl,detector:M_,loader:I_},D_=$_,Bl="sequence",N_=t=>/^\s*sequenceDiagram/.test(t),R_=async()=>{const{diagram:t}=await X(()=>import("./sequenceDiagram-acc0e65c--kJbrdcZ.js"),__vite__mapDeps([29,1,2]));return{id:Bl,diagram:t}},P_={id:Bl,detector:N_,loader:R_},q_=P_,Al="class",z_=(t,e)=>{var i;return((i=e==null?void 0:e.class)==null?void 0:i.defaultRenderer)==="dagre-wrapper"?!1:/^\s*classDiagram/.test(t)},W_=async()=>{const{diagram:t}=await X(()=>import("./classDiagram-30eddba6-C4eJJRdf.js"),__vite__mapDeps([30,31,5,6,12,13,14,2]));return{id:Al,diagram:t}},H_={id:Al,detector:z_,loader:W_},j_=H_,Ll="classDiagram",U_=(t,e)=>{var i;return/^\s*classDiagram/.test(t)&&((i=e==null?void 0:e.class)==null?void 0:i.defaultRenderer)==="dagre-wrapper"?!0:/^\s*classDiagram-v2/.test(t)},Y_=async()=>{const{diagram:t}=await X(()=>import("./classDiagram-v2-f2df5561-CsbP5K0m.js"),__vite__mapDeps([32,31,5,8,6,9,10,11,12,13,14,2]));return{id:Ll,diagram:t}},V_={id:Ll,detector:U_,loader:Y_},G_=V_,Fl="state",X_=(t,e)=>{var i;return((i=e==null?void 0:e.state)==null?void 0:i.defaultRenderer)==="dagre-wrapper"?!1:/^\s*stateDiagram/.test(t)},K_=async()=>{const{diagram:t}=await X(()=>import("./stateDiagram-0ff1cf1a-BWw4tG75.js"),__vite__mapDeps([33,34,5,6,12,13,14,2]));return{id:Fl,diagram:t}},Z_={id:Fl,detector:X_,loader:K_},J_=Z_,El="stateDiagram",Q_=(t,e)=>{var i;return!!(/^\s*stateDiagram-v2/.test(t)||/^\s*stateDiagram/.test(t)&&((i=e==null?void 0:e.state)==null?void 0:i.defaultRenderer)==="dagre-wrapper")},ty=async()=>{const{diagram:t}=await X(()=>import("./stateDiagram-v2-9a9d610d-B3gSIDR2.js"),__vite__mapDeps([35,34,5,8,6,9,10,11,12,13,14,2]));return{id:El,diagram:t}},ey={id:El,detector:Q_,loader:ty},iy=ey,Ol="journey",ry=t=>/^\s*journey/.test(t),ny=async()=>{const{diagram:t}=await X(()=>import("./journeyDiagram-4fe6b3dc-BjI4ODEy.js"),__vite__mapDeps([36,1,24,14,2]));return{id:Ol,diagram:t}},oy={id:Ol,detector:ry,loader:ny},sy=oy,ay=function(t,e){for(let i of e)t.attr(i[0],i[1])},ly=function(t,e,i){let r=new Map;return i?(r.set("width","100%"),r.set("style",`max-width: ${e}px;`)):(r.set("height",t),r.set("width",e)),r},Ml=function(t,e,i,r){const n=ly(e,i,r);ay(t,n)},hy=function(t,e,i,r){const n=e.node().getBBox(),o=n.width,s=n.height;O.info(`SVG bounds: ${o}x${s}`,n);let a=0,l=0;O.info(`Graph bounds: ${a}x${l}`,t),a=o+i*2,l=s+i*2,O.info(`Calculated bounds: ${a}x${l}`),Ml(e,l,a,r);const h=`${n.x-i} ${n.y-i} ${n.width+2*i} ${n.height+2*i}`;e.attr("viewBox",h)},Hi={},cy=(t,e,i)=>{let r="";return t in Hi&&Hi[t]?r=Hi[t](i):O.warn(`No theme found for ${t}`),` & { + `:`
${r}
`).join("").replace(xn,(r,n)=>i.renderToString(n,{throwOnError:!0,displayMode:!0,output:Ts()?"mathml":"htmlAndMathml"}).replace(/\n/g," ").replace(//g,""))},Wn={getRows:Hm,sanitizeText:gi,sanitizeTextOrArray:Ym,hasBreaks:Vm,splitBreaks:Gm,lineBreakRegex:Ti,removeScript:Qa,getUrl:Km,evaluate:el,getMax:Zm,getMin:Jm},ct=(t,e)=>e?g(t,{s:-40,l:10}):g(t,{s:-40,l:-10}),Sr="#ffffff",wr="#f2f2f2";let i0=class{constructor(){this.background="#f4f4f4",this.primaryColor="#fff4dd",this.noteBkgColor="#fff5ad",this.noteTextColor="#333",this.THEME_COLOR_LIMIT=12,this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px"}updateColors(){var e,i,r,n,o,s,a,l,h,u,f;if(this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#333"),this.secondaryColor=this.secondaryColor||g(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||g(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||ct(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||ct(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||ct(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||ct(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#333",this.secondaryTextColor=this.secondaryTextColor||C(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||C(this.tertiaryColor),this.lineColor=this.lineColor||C(this.background),this.arrowheadColor=this.arrowheadColor||C(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.primaryBorderColor,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?M(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||"grey",this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||M(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||C(this.lineColor),this.sectionBkgColor=this.sectionBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||this.secondaryColor,this.sectionBkgColor2=this.sectionBkgColor2||this.primaryColor,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||this.primaryColor,this.activeTaskBorderColor=this.activeTaskBorderColor||this.primaryColor,this.activeTaskBkgColor=this.activeTaskBkgColor||L(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||this.tertiaryColor,this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||g(this.primaryColor,{h:30}),this.cScale4=this.cScale4||g(this.primaryColor,{h:60}),this.cScale5=this.cScale5||g(this.primaryColor,{h:90}),this.cScale6=this.cScale6||g(this.primaryColor,{h:120}),this.cScale7=this.cScale7||g(this.primaryColor,{h:150}),this.cScale8=this.cScale8||g(this.primaryColor,{h:210,l:150}),this.cScale9=this.cScale9||g(this.primaryColor,{h:270}),this.cScale10=this.cScale10||g(this.primaryColor,{h:300}),this.cScale11=this.cScale11||g(this.primaryColor,{h:330}),this.darkMode)for(let p=0;p{this[r]=e[r]}),this.updateColors(),i.forEach(r=>{this[r]=e[r]})}};const r0=t=>{const e=new i0;return e.calculate(t),e};let n0=class{constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=L(this.primaryColor,16),this.tertiaryColor=g(this.primaryColor,{h:-160}),this.primaryBorderColor=C(this.background),this.secondaryBorderColor=ct(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=ct(this.tertiaryColor,this.darkMode),this.primaryTextColor=C(this.primaryColor),this.secondaryTextColor=C(this.secondaryColor),this.tertiaryTextColor=C(this.tertiaryColor),this.lineColor=C(this.background),this.textColor=C(this.background),this.mainBkg="#1f2020",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=L(C("#323D47"),10),this.lineColor="calculated",this.border1="#81B1DB",this.border2=ii(255,255,255,.25),this.arrowheadColor="calculated",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="#181818",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#F9FFFE",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="calculated",this.activationBkgColor="calculated",this.sequenceNumberColor="black",this.sectionBkgColor=M("#EAE8D9",30),this.altSectionBkgColor="calculated",this.sectionBkgColor2="#EAE8D9",this.excludeBkgColor=M(this.sectionBkgColor,10),this.taskBorderColor=ii(255,255,255,70),this.taskBkgColor="calculated",this.taskTextColor="calculated",this.taskTextLightColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor=ii(255,255,255,50),this.activeTaskBkgColor="#81B1DB",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="grey",this.critBorderColor="#E83737",this.critBkgColor="#E83737",this.taskTextDarkColor="calculated",this.todayLineColor="#DB5757",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.labelColor="calculated",this.errorBkgColor="#a44141",this.errorTextColor="#ddd"}updateColors(){var e,i,r,n,o,s,a,l,h,u,f;this.secondBkg=L(this.mainBkg,16),this.lineColor=this.mainContrastColor,this.arrowheadColor=this.mainContrastColor,this.nodeBkg=this.mainBkg,this.nodeBorder=this.border1,this.clusterBkg=this.secondBkg,this.clusterBorder=this.border2,this.defaultLinkColor=this.lineColor,this.edgeLabelBackground=L(this.labelBackground,25),this.actorBorder=this.border1,this.actorBkg=this.mainBkg,this.actorTextColor=this.mainContrastColor,this.actorLineColor=this.mainContrastColor,this.signalColor=this.mainContrastColor,this.signalTextColor=this.mainContrastColor,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.mainContrastColor,this.loopTextColor=this.mainContrastColor,this.noteBorderColor=this.secondaryBorderColor,this.noteBkgColor=this.secondBkg,this.noteTextColor=this.secondaryTextColor,this.activationBorderColor=this.border1,this.activationBkgColor=this.secondBkg,this.altSectionBkgColor=this.background,this.taskBkgColor=L(this.mainBkg,23),this.taskTextColor=this.darkTextColor,this.taskTextLightColor=this.mainContrastColor,this.taskTextOutsideColor=this.taskTextLightColor,this.gridColor=this.mainContrastColor,this.doneTaskBkgColor=this.mainContrastColor,this.taskTextDarkColor=this.darkTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#555",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.primaryBorderColor,this.specialStateColor="#f4f4f4",this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=g(this.primaryColor,{h:64}),this.fillType3=g(this.secondaryColor,{h:64}),this.fillType4=g(this.primaryColor,{h:-64}),this.fillType5=g(this.secondaryColor,{h:-64}),this.fillType6=g(this.primaryColor,{h:128}),this.fillType7=g(this.secondaryColor,{h:128}),this.cScale1=this.cScale1||"#0b0000",this.cScale2=this.cScale2||"#4d1037",this.cScale3=this.cScale3||"#3f5258",this.cScale4=this.cScale4||"#4f2f1b",this.cScale5=this.cScale5||"#6e0a0a",this.cScale6=this.cScale6||"#3b0048",this.cScale7=this.cScale7||"#995a01",this.cScale8=this.cScale8||"#154706",this.cScale9=this.cScale9||"#161722",this.cScale10=this.cScale10||"#00296f",this.cScale11=this.cScale11||"#01629c",this.cScale12=this.cScale12||"#010029",this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||g(this.primaryColor,{h:30}),this.cScale4=this.cScale4||g(this.primaryColor,{h:60}),this.cScale5=this.cScale5||g(this.primaryColor,{h:90}),this.cScale6=this.cScale6||g(this.primaryColor,{h:120}),this.cScale7=this.cScale7||g(this.primaryColor,{h:150}),this.cScale8=this.cScale8||g(this.primaryColor,{h:210}),this.cScale9=this.cScale9||g(this.primaryColor,{h:270}),this.cScale10=this.cScale10||g(this.primaryColor,{h:300}),this.cScale11=this.cScale11||g(this.primaryColor,{h:330});for(let c=0;c{this[r]=e[r]}),this.updateColors(),i.forEach(r=>{this[r]=e[r]})}};const o0=t=>{const e=new n0;return e.calculate(t),e};let s0=class{constructor(){this.background="#f4f4f4",this.primaryColor="#ECECFF",this.secondaryColor=g(this.primaryColor,{h:120}),this.secondaryColor="#ffffde",this.tertiaryColor=g(this.primaryColor,{h:-160}),this.primaryBorderColor=ct(this.primaryColor,this.darkMode),this.secondaryBorderColor=ct(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=ct(this.tertiaryColor,this.darkMode),this.primaryTextColor=C(this.primaryColor),this.secondaryTextColor=C(this.secondaryColor),this.tertiaryTextColor=C(this.tertiaryColor),this.lineColor=C(this.background),this.textColor=C(this.background),this.background="white",this.mainBkg="#ECECFF",this.secondBkg="#ffffde",this.lineColor="#333333",this.border1="#9370DB",this.border2="#aaaa33",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="#e8e8e8",this.textColor="#333",this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="grey",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="calculated",this.altSectionBkgColor="calculated",this.sectionBkgColor2="calculated",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="calculated",this.taskTextColor=this.taskTextLightColor,this.taskTextDarkColor="calculated",this.taskTextOutsideColor=this.taskTextDarkColor,this.taskTextClickableColor="calculated",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBorderColor="calculated",this.critBkgColor="calculated",this.todayLineColor="calculated",this.sectionBkgColor=ii(102,102,255,.49),this.altSectionBkgColor="white",this.sectionBkgColor2="#fff400",this.taskBorderColor="#534fbc",this.taskBkgColor="#8a90dd",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="#534fbc",this.activeTaskBkgColor="#bfc7ff",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222",this.updateColors()}updateColors(){var e,i,r,n,o,s,a,l,h,u,f;this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||g(this.primaryColor,{h:30}),this.cScale4=this.cScale4||g(this.primaryColor,{h:60}),this.cScale5=this.cScale5||g(this.primaryColor,{h:90}),this.cScale6=this.cScale6||g(this.primaryColor,{h:120}),this.cScale7=this.cScale7||g(this.primaryColor,{h:150}),this.cScale8=this.cScale8||g(this.primaryColor,{h:210}),this.cScale9=this.cScale9||g(this.primaryColor,{h:270}),this.cScale10=this.cScale10||g(this.primaryColor,{h:300}),this.cScale11=this.cScale11||g(this.primaryColor,{h:330}),this.cScalePeer1=this.cScalePeer1||M(this.secondaryColor,45),this.cScalePeer2=this.cScalePeer2||M(this.tertiaryColor,40);for(let c=0;c{this[r]=e[r]}),this.updateColors(),i.forEach(r=>{this[r]=e[r]})}};const a0=t=>{const e=new s0;return e.calculate(t),e};let l0=class{constructor(){this.background="#f4f4f4",this.primaryColor="#cde498",this.secondaryColor="#cdffb2",this.background="white",this.mainBkg="#cde498",this.secondBkg="#cdffb2",this.lineColor="green",this.border1="#13540c",this.border2="#6eaa49",this.arrowheadColor="green",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.tertiaryColor=L("#cde498",10),this.primaryBorderColor=ct(this.primaryColor,this.darkMode),this.secondaryBorderColor=ct(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=ct(this.tertiaryColor,this.darkMode),this.primaryTextColor=C(this.primaryColor),this.secondaryTextColor=C(this.secondaryColor),this.tertiaryTextColor=C(this.primaryColor),this.lineColor=C(this.background),this.textColor=C(this.background),this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#333",this.edgeLabelBackground="#e8e8e8",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="grey",this.signalColor="#333",this.signalTextColor="#333",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="#326932",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="#6eaa49",this.altSectionBkgColor="white",this.sectionBkgColor2="#6eaa49",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="#487e3a",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222"}updateColors(){var e,i,r,n,o,s,a,l,h,u,f;this.actorBorder=M(this.mainBkg,20),this.actorBkg=this.mainBkg,this.labelBoxBkgColor=this.actorBkg,this.labelTextColor=this.actorTextColor,this.loopTextColor=this.actorTextColor,this.noteBorderColor=this.border2,this.noteTextColor=this.actorTextColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||g(this.primaryColor,{h:30}),this.cScale4=this.cScale4||g(this.primaryColor,{h:60}),this.cScale5=this.cScale5||g(this.primaryColor,{h:90}),this.cScale6=this.cScale6||g(this.primaryColor,{h:120}),this.cScale7=this.cScale7||g(this.primaryColor,{h:150}),this.cScale8=this.cScale8||g(this.primaryColor,{h:210}),this.cScale9=this.cScale9||g(this.primaryColor,{h:270}),this.cScale10=this.cScale10||g(this.primaryColor,{h:300}),this.cScale11=this.cScale11||g(this.primaryColor,{h:330}),this.cScalePeer1=this.cScalePeer1||M(this.secondaryColor,45),this.cScalePeer2=this.cScalePeer2||M(this.tertiaryColor,40);for(let c=0;c{this[r]=e[r]}),this.updateColors(),i.forEach(r=>{this[r]=e[r]})}};const h0=t=>{const e=new l0;return e.calculate(t),e};class c0{constructor(){this.primaryColor="#eee",this.contrast="#707070",this.secondaryColor=L(this.contrast,55),this.background="#ffffff",this.tertiaryColor=g(this.primaryColor,{h:-160}),this.primaryBorderColor=ct(this.primaryColor,this.darkMode),this.secondaryBorderColor=ct(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=ct(this.tertiaryColor,this.darkMode),this.primaryTextColor=C(this.primaryColor),this.secondaryTextColor=C(this.secondaryColor),this.tertiaryTextColor=C(this.tertiaryColor),this.lineColor=C(this.background),this.textColor=C(this.background),this.mainBkg="#eee",this.secondBkg="calculated",this.lineColor="#666",this.border1="#999",this.border2="calculated",this.note="#ffa",this.text="#333",this.critical="#d42",this.done="#bbb",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="white",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="calculated",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="calculated",this.altSectionBkgColor="white",this.sectionBkgColor2="calculated",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBkgColor="calculated",this.critBorderColor="calculated",this.todayLineColor="calculated",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222"}updateColors(){var e,i,r,n,o,s,a,l,h,u,f;this.secondBkg=L(this.contrast,55),this.border2=this.contrast,this.actorBorder=L(this.border1,23),this.actorBkg=this.mainBkg,this.actorTextColor=this.text,this.actorLineColor=this.lineColor,this.signalColor=this.text,this.signalTextColor=this.text,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.text,this.loopTextColor=this.text,this.noteBorderColor="#999",this.noteBkgColor="#666",this.noteTextColor="#fff",this.cScale0=this.cScale0||"#555",this.cScale1=this.cScale1||"#F4F4F4",this.cScale2=this.cScale2||"#555",this.cScale3=this.cScale3||"#BBB",this.cScale4=this.cScale4||"#777",this.cScale5=this.cScale5||"#999",this.cScale6=this.cScale6||"#DDD",this.cScale7=this.cScale7||"#FFF",this.cScale8=this.cScale8||"#DDD",this.cScale9=this.cScale9||"#BBB",this.cScale10=this.cScale10||"#999",this.cScale11=this.cScale11||"#777";for(let c=0;c{this[r]=e[r]}),this.updateColors(),i.forEach(r=>{this[r]=e[r]})}}const u0=t=>{const e=new c0;return e.calculate(t),e},Kt={base:{getThemeVariables:r0},dark:{getThemeVariables:o0},default:{getThemeVariables:a0},forest:{getThemeVariables:h0},neutral:{getThemeVariables:u0}},Vt={flowchart:{useMaxWidth:!0,titleTopMargin:25,subGraphTitleMargin:{top:0,bottom:0},diagramPadding:8,htmlLabels:!0,nodeSpacing:50,rankSpacing:50,curve:"basis",padding:15,defaultRenderer:"dagre-wrapper",wrappingWidth:200},sequence:{useMaxWidth:!0,hideUnusedParticipants:!1,activationWidth:10,diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",mirrorActors:!0,forceMenus:!1,bottomMarginAdj:1,rightAngles:!1,showSequenceNumbers:!1,actorFontSize:14,actorFontFamily:'"Open Sans", sans-serif',actorFontWeight:400,noteFontSize:14,noteFontFamily:'"trebuchet ms", verdana, arial, sans-serif',noteFontWeight:400,noteAlign:"center",messageFontSize:16,messageFontFamily:'"trebuchet ms", verdana, arial, sans-serif',messageFontWeight:400,wrap:!1,wrapPadding:10,labelBoxWidth:50,labelBoxHeight:20},gantt:{useMaxWidth:!0,titleTopMargin:25,barHeight:20,barGap:4,topPadding:50,rightPadding:75,leftPadding:75,gridLineStartPadding:35,fontSize:11,sectionFontSize:11,numberSectionStyles:4,axisFormat:"%Y-%m-%d",topAxis:!1,displayMode:"",weekday:"sunday"},journey:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,leftMargin:150,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,rightAngles:!1,taskFontSize:14,taskFontFamily:'"Open Sans", sans-serif',taskMargin:50,activationWidth:10,textPlacement:"fo",actorColours:["#8FBC8F","#7CFC00","#00FFFF","#20B2AA","#B0E0E6","#FFFFE0"],sectionFills:["#191970","#8B008B","#4B0082","#2F4F4F","#800000","#8B4513","#00008B"],sectionColours:["#fff"]},class:{useMaxWidth:!0,titleTopMargin:25,arrowMarkerAbsolute:!1,dividerMargin:10,padding:5,textHeight:10,defaultRenderer:"dagre-wrapper",htmlLabels:!1},state:{useMaxWidth:!0,titleTopMargin:25,dividerMargin:10,sizeUnit:5,padding:8,textHeight:10,titleShift:-15,noteMargin:10,forkWidth:70,forkHeight:7,miniPadding:2,fontSizeFactor:5.02,fontSize:24,labelHeight:16,edgeLengthFactor:"20",compositTitleSize:35,radius:5,defaultRenderer:"dagre-wrapper"},er:{useMaxWidth:!0,titleTopMargin:25,diagramPadding:20,layoutDirection:"TB",minEntityWidth:100,minEntityHeight:75,entityPadding:15,stroke:"gray",fill:"honeydew",fontSize:12},pie:{useMaxWidth:!0,textPosition:.75},quadrantChart:{useMaxWidth:!0,chartWidth:500,chartHeight:500,titleFontSize:20,titlePadding:10,quadrantPadding:5,xAxisLabelPadding:5,yAxisLabelPadding:5,xAxisLabelFontSize:16,yAxisLabelFontSize:16,quadrantLabelFontSize:16,quadrantTextTopPadding:5,pointTextPadding:5,pointLabelFontSize:12,pointRadius:5,xAxisPosition:"top",yAxisPosition:"left",quadrantInternalBorderStrokeWidth:1,quadrantExternalBorderStrokeWidth:2},xyChart:{useMaxWidth:!0,width:700,height:500,titleFontSize:20,titlePadding:10,showTitle:!0,xAxis:{$ref:"#/$defs/XYChartAxisConfig",showLabel:!0,labelFontSize:14,labelPadding:5,showTitle:!0,titleFontSize:16,titlePadding:5,showTick:!0,tickLength:5,tickWidth:2,showAxisLine:!0,axisLineWidth:2},yAxis:{$ref:"#/$defs/XYChartAxisConfig",showLabel:!0,labelFontSize:14,labelPadding:5,showTitle:!0,titleFontSize:16,titlePadding:5,showTick:!0,tickLength:5,tickWidth:2,showAxisLine:!0,axisLineWidth:2},chartOrientation:"vertical",plotReservedSpacePercent:50},requirement:{useMaxWidth:!0,rect_fill:"#f9f9f9",text_color:"#333",rect_border_size:"0.5px",rect_border_color:"#bbb",rect_min_width:200,rect_min_height:200,fontSize:14,rect_padding:10,line_height:20},mindmap:{useMaxWidth:!0,padding:10,maxNodeWidth:200},timeline:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,leftMargin:150,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,rightAngles:!1,taskFontSize:14,taskFontFamily:'"Open Sans", sans-serif',taskMargin:50,activationWidth:10,textPlacement:"fo",actorColours:["#8FBC8F","#7CFC00","#00FFFF","#20B2AA","#B0E0E6","#FFFFE0"],sectionFills:["#191970","#8B008B","#4B0082","#2F4F4F","#800000","#8B4513","#00008B"],sectionColours:["#fff"],disableMulticolor:!1},gitGraph:{useMaxWidth:!0,titleTopMargin:25,diagramPadding:8,nodeLabel:{width:75,height:100,x:-25,y:0},mainBranchName:"main",mainBranchOrder:0,showCommitLabel:!0,showBranches:!0,rotateCommitLabel:!0,parallelCommits:!1,arrowMarkerAbsolute:!1},c4:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,c4ShapeMargin:50,c4ShapePadding:20,width:216,height:60,boxMargin:10,c4ShapeInRow:4,nextLinePaddingX:0,c4BoundaryInRow:2,personFontSize:14,personFontFamily:'"Open Sans", sans-serif',personFontWeight:"normal",external_personFontSize:14,external_personFontFamily:'"Open Sans", sans-serif',external_personFontWeight:"normal",systemFontSize:14,systemFontFamily:'"Open Sans", sans-serif',systemFontWeight:"normal",external_systemFontSize:14,external_systemFontFamily:'"Open Sans", sans-serif',external_systemFontWeight:"normal",system_dbFontSize:14,system_dbFontFamily:'"Open Sans", sans-serif',system_dbFontWeight:"normal",external_system_dbFontSize:14,external_system_dbFontFamily:'"Open Sans", sans-serif',external_system_dbFontWeight:"normal",system_queueFontSize:14,system_queueFontFamily:'"Open Sans", sans-serif',system_queueFontWeight:"normal",external_system_queueFontSize:14,external_system_queueFontFamily:'"Open Sans", sans-serif',external_system_queueFontWeight:"normal",boundaryFontSize:14,boundaryFontFamily:'"Open Sans", sans-serif',boundaryFontWeight:"normal",messageFontSize:12,messageFontFamily:'"Open Sans", sans-serif',messageFontWeight:"normal",containerFontSize:14,containerFontFamily:'"Open Sans", sans-serif',containerFontWeight:"normal",external_containerFontSize:14,external_containerFontFamily:'"Open Sans", sans-serif',external_containerFontWeight:"normal",container_dbFontSize:14,container_dbFontFamily:'"Open Sans", sans-serif',container_dbFontWeight:"normal",external_container_dbFontSize:14,external_container_dbFontFamily:'"Open Sans", sans-serif',external_container_dbFontWeight:"normal",container_queueFontSize:14,container_queueFontFamily:'"Open Sans", sans-serif',container_queueFontWeight:"normal",external_container_queueFontSize:14,external_container_queueFontFamily:'"Open Sans", sans-serif',external_container_queueFontWeight:"normal",componentFontSize:14,componentFontFamily:'"Open Sans", sans-serif',componentFontWeight:"normal",external_componentFontSize:14,external_componentFontFamily:'"Open Sans", sans-serif',external_componentFontWeight:"normal",component_dbFontSize:14,component_dbFontFamily:'"Open Sans", sans-serif',component_dbFontWeight:"normal",external_component_dbFontSize:14,external_component_dbFontFamily:'"Open Sans", sans-serif',external_component_dbFontWeight:"normal",component_queueFontSize:14,component_queueFontFamily:'"Open Sans", sans-serif',component_queueFontWeight:"normal",external_component_queueFontSize:14,external_component_queueFontFamily:'"Open Sans", sans-serif',external_component_queueFontWeight:"normal",wrap:!0,wrapPadding:10,person_bg_color:"#08427B",person_border_color:"#073B6F",external_person_bg_color:"#686868",external_person_border_color:"#8A8A8A",system_bg_color:"#1168BD",system_border_color:"#3C7FC0",system_db_bg_color:"#1168BD",system_db_border_color:"#3C7FC0",system_queue_bg_color:"#1168BD",system_queue_border_color:"#3C7FC0",external_system_bg_color:"#999999",external_system_border_color:"#8A8A8A",external_system_db_bg_color:"#999999",external_system_db_border_color:"#8A8A8A",external_system_queue_bg_color:"#999999",external_system_queue_border_color:"#8A8A8A",container_bg_color:"#438DD5",container_border_color:"#3C7FC0",container_db_bg_color:"#438DD5",container_db_border_color:"#3C7FC0",container_queue_bg_color:"#438DD5",container_queue_border_color:"#3C7FC0",external_container_bg_color:"#B3B3B3",external_container_border_color:"#A6A6A6",external_container_db_bg_color:"#B3B3B3",external_container_db_border_color:"#A6A6A6",external_container_queue_bg_color:"#B3B3B3",external_container_queue_border_color:"#A6A6A6",component_bg_color:"#85BBF0",component_border_color:"#78A8D8",component_db_bg_color:"#85BBF0",component_db_border_color:"#78A8D8",component_queue_bg_color:"#85BBF0",component_queue_border_color:"#78A8D8",external_component_bg_color:"#CCCCCC",external_component_border_color:"#BFBFBF",external_component_db_bg_color:"#CCCCCC",external_component_db_border_color:"#BFBFBF",external_component_queue_bg_color:"#CCCCCC",external_component_queue_border_color:"#BFBFBF"},sankey:{useMaxWidth:!0,width:600,height:400,linkColor:"gradient",nodeAlignment:"justify",showValues:!0,prefix:"",suffix:""},block:{useMaxWidth:!0,padding:8},theme:"default",maxTextSize:5e4,maxEdges:500,darkMode:!1,fontFamily:'"trebuchet ms", verdana, arial, sans-serif;',logLevel:5,securityLevel:"strict",startOnLoad:!0,arrowMarkerAbsolute:!1,secure:["secure","securityLevel","startOnLoad","maxTextSize","maxEdges"],legacyMathML:!1,deterministicIds:!1,fontSize:16},il={...Vt,deterministicIDSeed:void 0,themeCSS:void 0,themeVariables:Kt.default.getThemeVariables(),sequence:{...Vt.sequence,messageFont:function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}},noteFont:function(){return{fontFamily:this.noteFontFamily,fontSize:this.noteFontSize,fontWeight:this.noteFontWeight}},actorFont:function(){return{fontFamily:this.actorFontFamily,fontSize:this.actorFontSize,fontWeight:this.actorFontWeight}}},gantt:{...Vt.gantt,tickInterval:void 0,useWidth:void 0},c4:{...Vt.c4,useWidth:void 0,personFont:function(){return{fontFamily:this.personFontFamily,fontSize:this.personFontSize,fontWeight:this.personFontWeight}},external_personFont:function(){return{fontFamily:this.external_personFontFamily,fontSize:this.external_personFontSize,fontWeight:this.external_personFontWeight}},systemFont:function(){return{fontFamily:this.systemFontFamily,fontSize:this.systemFontSize,fontWeight:this.systemFontWeight}},external_systemFont:function(){return{fontFamily:this.external_systemFontFamily,fontSize:this.external_systemFontSize,fontWeight:this.external_systemFontWeight}},system_dbFont:function(){return{fontFamily:this.system_dbFontFamily,fontSize:this.system_dbFontSize,fontWeight:this.system_dbFontWeight}},external_system_dbFont:function(){return{fontFamily:this.external_system_dbFontFamily,fontSize:this.external_system_dbFontSize,fontWeight:this.external_system_dbFontWeight}},system_queueFont:function(){return{fontFamily:this.system_queueFontFamily,fontSize:this.system_queueFontSize,fontWeight:this.system_queueFontWeight}},external_system_queueFont:function(){return{fontFamily:this.external_system_queueFontFamily,fontSize:this.external_system_queueFontSize,fontWeight:this.external_system_queueFontWeight}},containerFont:function(){return{fontFamily:this.containerFontFamily,fontSize:this.containerFontSize,fontWeight:this.containerFontWeight}},external_containerFont:function(){return{fontFamily:this.external_containerFontFamily,fontSize:this.external_containerFontSize,fontWeight:this.external_containerFontWeight}},container_dbFont:function(){return{fontFamily:this.container_dbFontFamily,fontSize:this.container_dbFontSize,fontWeight:this.container_dbFontWeight}},external_container_dbFont:function(){return{fontFamily:this.external_container_dbFontFamily,fontSize:this.external_container_dbFontSize,fontWeight:this.external_container_dbFontWeight}},container_queueFont:function(){return{fontFamily:this.container_queueFontFamily,fontSize:this.container_queueFontSize,fontWeight:this.container_queueFontWeight}},external_container_queueFont:function(){return{fontFamily:this.external_container_queueFontFamily,fontSize:this.external_container_queueFontSize,fontWeight:this.external_container_queueFontWeight}},componentFont:function(){return{fontFamily:this.componentFontFamily,fontSize:this.componentFontSize,fontWeight:this.componentFontWeight}},external_componentFont:function(){return{fontFamily:this.external_componentFontFamily,fontSize:this.external_componentFontSize,fontWeight:this.external_componentFontWeight}},component_dbFont:function(){return{fontFamily:this.component_dbFontFamily,fontSize:this.component_dbFontSize,fontWeight:this.component_dbFontWeight}},external_component_dbFont:function(){return{fontFamily:this.external_component_dbFontFamily,fontSize:this.external_component_dbFontSize,fontWeight:this.external_component_dbFontWeight}},component_queueFont:function(){return{fontFamily:this.component_queueFontFamily,fontSize:this.component_queueFontSize,fontWeight:this.component_queueFontWeight}},external_component_queueFont:function(){return{fontFamily:this.external_component_queueFontFamily,fontSize:this.external_component_queueFontSize,fontWeight:this.external_component_queueFontWeight}},boundaryFont:function(){return{fontFamily:this.boundaryFontFamily,fontSize:this.boundaryFontSize,fontWeight:this.boundaryFontWeight}},messageFont:function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}}},pie:{...Vt.pie,useWidth:984},xyChart:{...Vt.xyChart,useWidth:void 0},requirement:{...Vt.requirement,useWidth:void 0},gitGraph:{...Vt.gitGraph,useMaxWidth:!1},sankey:{...Vt.sankey,useMaxWidth:!1}},rl=(t,e="")=>Object.keys(t).reduce((i,r)=>Array.isArray(t[r])?i:typeof t[r]=="object"&&t[r]!==null?[...i,e+r,...rl(t[r],"")]:[...i,e+r],[]),f0=new Set(rl(il,"")),d0=il,rr=t=>{if(O.debug("sanitizeDirective called with",t),!(typeof t!="object"||t==null)){if(Array.isArray(t)){t.forEach(e=>rr(e));return}for(const e of Object.keys(t)){if(O.debug("Checking key",e),e.startsWith("__")||e.includes("proto")||e.includes("constr")||!f0.has(e)||t[e]==null){O.debug("sanitize deleting key: ",e),delete t[e];continue}if(typeof t[e]=="object"){O.debug("sanitizing object",e),rr(t[e]);continue}const i=["themeCSS","fontFamily","altFontFamily"];for(const r of i)e.includes(r)&&(O.debug("sanitizing css option",e),t[e]=p0(t[e]))}if(t.themeVariables)for(const e of Object.keys(t.themeVariables)){const i=t.themeVariables[e];i!=null&&i.match&&!i.match(/^[\d "#%(),.;A-Za-z]+$/)&&(t.themeVariables[e]="")}O.debug("After sanitization",t)}},p0=t=>{let e=0,i=0;for(const r of t){if(e{for(const{id:e,detector:i,loader:r}of t)al(e,i,r)},al=(t,e,i)=>{De[t]?O.error(`Detector with key ${t} already exists`):De[t]={detector:e,loader:i},O.debug(`Detector with key ${t} added${i?" with loader":""}`)},m0=t=>De[t].loader,bn=(t,e,{depth:i=2,clobber:r=!1}={})=>{const n={depth:i,clobber:r};return Array.isArray(e)&&!Array.isArray(t)?(e.forEach(o=>bn(t,o,n)),t):Array.isArray(e)&&Array.isArray(t)?(e.forEach(o=>{t.includes(o)||t.push(o)}),t):t===void 0||i<=0?t!=null&&typeof t=="object"&&typeof e=="object"?Object.assign(t,e):e:(e!==void 0&&typeof t=="object"&&typeof e=="object"&&Object.keys(e).forEach(o=>{typeof e[o]=="object"&&(t[o]===void 0||typeof t[o]=="object")?(t[o]===void 0&&(t[o]=Array.isArray(e[o])?[]:{}),t[o]=bn(t[o],e[o],{depth:i-1,clobber:r})):(r||typeof t[o]!="object"&&typeof e[o]!="object")&&(t[o]=e[o])}),t)},st=bn,_0="​",y0={curveBasis:qf,curveBasisClosed:zf,curveBasisOpen:Wf,curveBumpX:Rf,curveBumpY:Pf,curveBundle:Hf,curveCardinalClosed:Uf,curveCardinalOpen:Yf,curveCardinal:jf,curveCatmullRomClosed:Gf,curveCatmullRomOpen:Xf,curveCatmullRom:Vf,curveLinear:Nf,curveLinearClosed:Kf,curveMonotoneX:Zf,curveMonotoneY:Jf,curveNatural:Qf,curveStep:td,curveStepAfter:id,curveStepBefore:ed},C0=/\s*(?:(\w+)(?=:):|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi,x0=function(t,e){const i=ll(t,/(?:init\b)|(?:initialize\b)/);let r={};if(Array.isArray(i)){const s=i.map(a=>a.args);rr(s),r=st(r,[...s])}else r=i.args;if(!r)return;let n=Br(t,e);const o="config";return r[o]!==void 0&&(n==="flowchart-v2"&&(n="flowchart"),r[n]=r[o],delete r[o]),r},ll=function(t,e=null){try{const i=new RegExp(`[%]{2}(?![{]${C0.source})(?=[}][%]{2}).* +`,"ig");t=t.trim().replace(i,"").replace(/'/gm,'"'),O.debug(`Detecting diagram directive${e!==null?" type:"+e:""} based on the text:${t}`);let r;const n=[];for(;(r=ni.exec(t))!==null;)if(r.index===ni.lastIndex&&ni.lastIndex++,r&&!e||e&&r[1]&&r[1].match(e)||e&&r[2]&&r[2].match(e)){const o=r[1]?r[1]:r[2],s=r[3]?r[3].trim():r[4]?JSON.parse(r[4].trim()):null;n.push({type:o,args:s})}return n.length===0?{type:t,args:null}:n.length===1?n[0]:n}catch(i){return O.error(`ERROR: ${i.message} - Unable to parse directive type: '${e}' based on the text: '${t}'`),{type:void 0,args:null}}},b0=function(t){return t.replace(ni,"")},T0=function(t,e){for(const[i,r]of e.entries())if(r.match(t))return i;return-1};function v0(t,e){if(!t)return e;const i=`curve${t.charAt(0).toUpperCase()+t.slice(1)}`;return y0[i]??e}function k0(t,e){const i=t.trim();if(i)return e.securityLevel!=="loose"?zs.sanitizeUrl(i):i}const S0=(t,...e)=>{const i=t.split("."),r=i.length-1,n=i[r];let o=window;for(let s=0;s{i+=hl(n,e),e=n});const r=i/2;return Hn(t,r)}function B0(t){return t.length===1?t[0]:w0(t)}const ks=(t,e=2)=>{const i=Math.pow(10,e);return Math.round(t*i)/i},Hn=(t,e)=>{let i,r=e;for(const n of t){if(i){const o=hl(n,i);if(o=1)return{x:n.x,y:n.y};if(s>0&&s<1)return{x:ks((1-s)*i.x+s*n.x,5),y:ks((1-s)*i.y+s*n.y,5)}}}i=n}throw new Error("Could not find a suitable point for the given distance")},A0=(t,e,i)=>{O.info(`our points ${JSON.stringify(e)}`),e[0]!==i&&(e=e.reverse());const n=Hn(e,25),o=t?10:5,s=Math.atan2(e[0].y-n.y,e[0].x-n.x),a={x:0,y:0};return a.x=Math.sin(s)*o+(e[0].x+n.x)/2,a.y=-Math.cos(s)*o+(e[0].y+n.y)/2,a};function L0(t,e,i){const r=structuredClone(i);O.info("our points",r),e!=="start_left"&&e!=="start_right"&&r.reverse();const n=25+t,o=Hn(r,n),s=10+t*.5,a=Math.atan2(r[0].y-o.y,r[0].x-o.x),l={x:0,y:0};return e==="start_left"?(l.x=Math.sin(a+Math.PI)*s+(r[0].x+o.x)/2,l.y=-Math.cos(a+Math.PI)*s+(r[0].y+o.y)/2):e==="end_right"?(l.x=Math.sin(a-Math.PI)*s+(r[0].x+o.x)/2-5,l.y=-Math.cos(a-Math.PI)*s+(r[0].y+o.y)/2-5):e==="end_left"?(l.x=Math.sin(a)*s+(r[0].x+o.x)/2-5,l.y=-Math.cos(a)*s+(r[0].y+o.y)/2-5):(l.x=Math.sin(a)*s+(r[0].x+o.x)/2,l.y=-Math.cos(a)*s+(r[0].y+o.y)/2),l}function F0(t){let e="",i="";for(const r of t)r!==void 0&&(r.startsWith("color:")||r.startsWith("text-align:")?i=i+r+";":e=e+r+";");return{style:e,labelStyle:i}}let Ss=0;const E0=()=>(Ss++,"id-"+Math.random().toString(36).substr(2,12)+"-"+Ss);function O0(t){let e="";const i="0123456789abcdef",r=i.length;for(let n=0;nO0(t.length),I0=function(){return{x:0,y:0,fill:void 0,anchor:"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0,valign:void 0,text:""}},$0=function(t,e){const i=e.text.replace(Wn.lineBreakRegex," "),[,r]=Un(e.fontSize),n=t.append("text");n.attr("x",e.x),n.attr("y",e.y),n.style("text-anchor",e.anchor),n.style("font-family",e.fontFamily),n.style("font-size",r),n.style("font-weight",e.fontWeight),n.attr("fill",e.fill),e.class!==void 0&&n.attr("class",e.class);const o=n.append("tspan");return o.attr("x",e.x+e.textMargin*2),o.attr("fill",e.fill),o.text(i),n},D0=xi((t,e,i)=>{if(!t||(i=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",joinWith:"
"},i),Wn.lineBreakRegex.test(t)))return t;const r=t.split(" "),n=[];let o="";return r.forEach((s,a)=>{const l=nr(`${s} `,i),h=nr(o,i);if(l>e){const{hyphenatedStrings:c,remainingWord:p}=N0(s,e,"-",i);n.push(o,...c),o=p}else h+l>=e?(n.push(o),o=s):o=[o,s].filter(Boolean).join(" ");a+1===r.length&&n.push(o)}),n.filter(s=>s!=="").join(i.joinWith)},(t,e,i)=>`${t}${e}${i.fontSize}${i.fontWeight}${i.fontFamily}${i.joinWith}`),N0=xi((t,e,i="-",r)=>{r=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",margin:0},r);const n=[...t],o=[];let s="";return n.forEach((a,l)=>{const h=`${s}${a}`;if(nr(h,r)>=e){const f=l+1,c=n.length===f,p=`${h}${i}`;o.push(c?h:p),s=""}else s=h}),{hyphenatedStrings:o,remainingWord:s}},(t,e,i="-",r)=>`${t}${e}${i}${r.fontSize}${r.fontWeight}${r.fontFamily}`);function R0(t,e){return jn(t,e).height}function nr(t,e){return jn(t,e).width}const jn=xi((t,e)=>{const{fontSize:i=12,fontFamily:r="Arial",fontWeight:n=400}=e;if(!t)return{width:0,height:0};const[,o]=Un(i),s=["sans-serif",r],a=t.split(Wn.lineBreakRegex),l=[],h=Tt("body");if(!h.remove)return{width:0,height:0,lineHeight:0};const u=h.append("svg");for(const c of s){let p=0;const _={width:0,height:0,lineHeight:0};for(const v of a){const k=I0();k.text=v||_0;const N=$0(u,k).style("font-size",o).style("font-weight",n).style("font-family",c),b=(N._groups||N)[0][0].getBBox();if(b.width===0&&b.height===0)throw new Error("svg element not in render tree");_.width=Math.round(Math.max(_.width,b.width)),p=Math.round(b.height),_.height+=p,_.lineHeight=Math.round(Math.max(_.lineHeight,p))}l.push(_)}u.remove();const f=isNaN(l[1].height)||isNaN(l[1].width)||isNaN(l[1].lineHeight)||l[0].height>l[1].height&&l[0].width>l[1].width&&l[0].lineHeight>l[1].lineHeight?0:1;return l[f]},(t,e)=>`${t}${e.fontSize}${e.fontWeight}${e.fontFamily}`);class P0{constructor(e=!1,i){this.count=0,this.count=i?i.length:0,this.next=e?()=>this.count++:()=>Date.now()}}let Ii;const q0=function(t){return Ii=Ii||document.createElement("div"),t=escape(t).replace(/%26/g,"&").replace(/%23/g,"#").replace(/%3B/g,";"),Ii.innerHTML=t,unescape(Ii.textContent)};function cl(t){return"str"in t}const z0=(t,e,i,r)=>{var n;if(!r)return;const o=(n=t.node())==null?void 0:n.getBBox();o&&t.append("text").text(r).attr("x",o.x+o.width/2).attr("y",-i).attr("class",e)},Un=t=>{if(typeof t=="number")return[t,t+"px"];const e=parseInt(t??"",10);return Number.isNaN(e)?[void 0,void 0]:t===String(e)?[e,t+"px"]:[e,t]};function ul(t,e){return um({},t,e)}const oi={assignWithDepth:st,wrapLabel:D0,calculateTextHeight:R0,calculateTextWidth:nr,calculateTextDimensions:jn,cleanAndMerge:ul,detectInit:x0,detectDirective:ll,isSubstringInArray:T0,interpolateToCurve:v0,calcLabelPosition:B0,calcCardinalityPosition:A0,calcTerminalLabelPosition:L0,formatUrl:k0,getStylesFromArray:F0,generateId:E0,random:M0,runFunc:S0,entityDecode:q0,insertTitle:z0,parseFontSize:Un,InitIDGenerator:P0},W0=function(t){let e=t;return e=e.replace(/style.*:\S*#.*;/g,function(i){return i.substring(0,i.length-1)}),e=e.replace(/classDef.*:\S*#.*;/g,function(i){return i.substring(0,i.length-1)}),e=e.replace(/#\w+;/g,function(i){const r=i.substring(1,i.length-1);return/^\+?\d+$/.test(r)?"fl°°"+r+"¶ß":"fl°"+r+"¶ß"}),e},H0=function(t){return t.replace(/fl°°/g,"&#").replace(/fl°/g,"&").replace(/¶ß/g,";")},ws="10.9.0",Ne=Object.freeze(d0);let gt=st({},Ne),fl,Re=[],si=st({},Ne);const Ar=(t,e)=>{let i=st({},t),r={};for(const n of e)gl(n),r=st(r,n);if(i=st(i,r),r.theme&&r.theme in Kt){const n=st({},fl),o=st(n.themeVariables||{},r.themeVariables);i.theme&&i.theme in Kt&&(i.themeVariables=Kt[i.theme].getThemeVariables(o))}return si=i,ml(si),si},j0=t=>(gt=st({},Ne),gt=st(gt,t),t.theme&&Kt[t.theme]&&(gt.themeVariables=Kt[t.theme].getThemeVariables(t.themeVariables)),Ar(gt,Re),gt),U0=t=>{fl=st({},t)},Y0=t=>(gt=st(gt,t),Ar(gt,Re),gt),dl=()=>st({},gt),pl=t=>(ml(t),st(si,t),Pt()),Pt=()=>st({},si),gl=t=>{t&&(["secure",...gt.secure??[]].forEach(e=>{Object.hasOwn(t,e)&&(O.debug(`Denied attempt to modify a secure key ${e}`,t[e]),delete t[e])}),Object.keys(t).forEach(e=>{e.startsWith("__")&&delete t[e]}),Object.keys(t).forEach(e=>{typeof t[e]=="string"&&(t[e].includes("<")||t[e].includes(">")||t[e].includes("url(data:"))&&delete t[e],typeof t[e]=="object"&&gl(t[e])}))},V0=t=>{rr(t),t.fontFamily&&(!t.themeVariables||!t.themeVariables.fontFamily)&&(t.themeVariables={fontFamily:t.fontFamily}),Re.push(t),Ar(gt,Re)},or=(t=gt)=>{Re=[],Ar(t,Re)},G0={LAZY_LOAD_DEPRECATED:"The configuration options lazyLoadedDiagrams and loadExternalDiagramsAtStartup are deprecated. Please use registerExternalDiagrams instead."},Bs={},X0=t=>{Bs[t]||(O.warn(G0[t]),Bs[t]=!0)},ml=t=>{t&&(t.lazyLoadedDiagrams||t.loadExternalDiagramsAtStartup)&&X0("LAZY_LOAD_DEPRECATED")},_l="c4",K0=t=>/^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(t),Z0=async()=>{const{diagram:t}=await X(()=>import("./c4Diagram-b2a90758-CahBlEC7.js"),__vite__mapDeps([0,1,2]));return{id:_l,diagram:t}},J0={id:_l,detector:K0,loader:Z0},Q0=J0,yl="flowchart",t_=(t,e)=>{var i,r;return((i=e==null?void 0:e.flowchart)==null?void 0:i.defaultRenderer)==="dagre-wrapper"||((r=e==null?void 0:e.flowchart)==null?void 0:r.defaultRenderer)==="elk"?!1:/^\s*graph/.test(t)},e_=async()=>{const{diagram:t}=await X(()=>import("./flowDiagram-5540d9b9-Clyh1kHc.js"),__vite__mapDeps([3,4,5,6,7,8,9,10,11,12,13,14,15,2]));return{id:yl,diagram:t}},i_={id:yl,detector:t_,loader:e_},r_=i_,Cl="flowchart-v2",n_=(t,e)=>{var i,r,n;return((i=e==null?void 0:e.flowchart)==null?void 0:i.defaultRenderer)==="dagre-d3"||((r=e==null?void 0:e.flowchart)==null?void 0:r.defaultRenderer)==="elk"?!1:/^\s*graph/.test(t)&&((n=e==null?void 0:e.flowchart)==null?void 0:n.defaultRenderer)==="dagre-wrapper"?!0:/^\s*flowchart/.test(t)},o_=async()=>{const{diagram:t}=await X(()=>import("./flowDiagram-v2-3b53844e-Bb6VMKdJ.js"),__vite__mapDeps([16,4,7,5,8,6,9,10,11,12,13,14,15,2]));return{id:Cl,diagram:t}},s_={id:Cl,detector:n_,loader:o_},a_=s_,xl="er",l_=t=>/^\s*erDiagram/.test(t),h_=async()=>{const{diagram:t}=await X(()=>import("./erDiagram-47591fe2-CF3J04Xc.js"),__vite__mapDeps([17,5,6,12,13,14,2]));return{id:xl,diagram:t}},c_={id:xl,detector:l_,loader:h_},u_=c_,bl="gitGraph",f_=t=>/^\s*gitGraph/.test(t),d_=async()=>{const{diagram:t}=await X(()=>import("./gitGraphDiagram-96e6b4ee-B1Ht6BvC.js"),__vite__mapDeps([18,2]));return{id:bl,diagram:t}},p_={id:bl,detector:f_,loader:d_},g_=p_,Tl="gantt",m_=t=>/^\s*gantt/.test(t),__=async()=>{const{diagram:t}=await X(()=>import("./ganttDiagram-9a3bba1f-DhA9Wawb.js"),__vite__mapDeps([19,20,21,2]));return{id:Tl,diagram:t}},y_={id:Tl,detector:m_,loader:__},C_=y_,vl="info",x_=t=>/^\s*info/.test(t),b_=async()=>{const{diagram:t}=await X(()=>import("./infoDiagram-bcd20f53-B1gEzowG.js"),__vite__mapDeps([22,2]));return{id:vl,diagram:t}},T_={id:vl,detector:x_,loader:b_},kl="pie",v_=t=>/^\s*pie/.test(t),k_=async()=>{const{diagram:t}=await X(()=>import("./pieDiagram-79897490-1xy3UHtv.js"),__vite__mapDeps([23,24,14,25,21,13,2]));return{id:kl,diagram:t}},S_={id:kl,detector:v_,loader:k_},Sl="quadrantChart",w_=t=>/^\s*quadrantChart/.test(t),B_=async()=>{const{diagram:t}=await X(()=>import("./quadrantDiagram-62f64e94-BhYvtKPo.js"),__vite__mapDeps([26,20,21,2]));return{id:Sl,diagram:t}},A_={id:Sl,detector:w_,loader:B_},L_=A_,wl="xychart",F_=t=>/^\s*xychart-beta/.test(t),E_=async()=>{const{diagram:t}=await X(()=>import("./xychartDiagram-ab372869-kZ1xnALt.js"),__vite__mapDeps([27,11,21,25,20,12,13,14,2]));return{id:wl,diagram:t}},O_={id:wl,detector:F_,loader:E_},M_=O_,Bl="requirement",I_=t=>/^\s*requirement(Diagram)?/.test(t),$_=async()=>{const{diagram:t}=await X(()=>import("./requirementDiagram-05bf5f74-D4RT194D.js"),__vite__mapDeps([28,5,6,12,13,14,2]));return{id:Bl,diagram:t}},D_={id:Bl,detector:I_,loader:$_},N_=D_,Al="sequence",R_=t=>/^\s*sequenceDiagram/.test(t),P_=async()=>{const{diagram:t}=await X(()=>import("./sequenceDiagram-acc0e65c-CLkJOcA6.js"),__vite__mapDeps([29,1,2]));return{id:Al,diagram:t}},q_={id:Al,detector:R_,loader:P_},z_=q_,Ll="class",W_=(t,e)=>{var i;return((i=e==null?void 0:e.class)==null?void 0:i.defaultRenderer)==="dagre-wrapper"?!1:/^\s*classDiagram/.test(t)},H_=async()=>{const{diagram:t}=await X(()=>import("./classDiagram-30eddba6-KuGcj35X.js"),__vite__mapDeps([30,31,5,6,12,13,14,2]));return{id:Ll,diagram:t}},j_={id:Ll,detector:W_,loader:H_},U_=j_,Fl="classDiagram",Y_=(t,e)=>{var i;return/^\s*classDiagram/.test(t)&&((i=e==null?void 0:e.class)==null?void 0:i.defaultRenderer)==="dagre-wrapper"?!0:/^\s*classDiagram-v2/.test(t)},V_=async()=>{const{diagram:t}=await X(()=>import("./classDiagram-v2-f2df5561-IDS9n2HR.js"),__vite__mapDeps([32,31,5,8,6,9,10,11,12,13,14,2]));return{id:Fl,diagram:t}},G_={id:Fl,detector:Y_,loader:V_},X_=G_,El="state",K_=(t,e)=>{var i;return((i=e==null?void 0:e.state)==null?void 0:i.defaultRenderer)==="dagre-wrapper"?!1:/^\s*stateDiagram/.test(t)},Z_=async()=>{const{diagram:t}=await X(()=>import("./stateDiagram-0ff1cf1a-CKs1dX20.js"),__vite__mapDeps([33,34,5,6,12,13,14,2]));return{id:El,diagram:t}},J_={id:El,detector:K_,loader:Z_},Q_=J_,Ol="stateDiagram",ty=(t,e)=>{var i;return!!(/^\s*stateDiagram-v2/.test(t)||/^\s*stateDiagram/.test(t)&&((i=e==null?void 0:e.state)==null?void 0:i.defaultRenderer)==="dagre-wrapper")},ey=async()=>{const{diagram:t}=await X(()=>import("./stateDiagram-v2-9a9d610d-E7eH8vbq.js"),__vite__mapDeps([35,34,5,8,6,9,10,11,12,13,14,2]));return{id:Ol,diagram:t}},iy={id:Ol,detector:ty,loader:ey},ry=iy,Ml="journey",ny=t=>/^\s*journey/.test(t),oy=async()=>{const{diagram:t}=await X(()=>import("./journeyDiagram-4fe6b3dc-BKWXBz7k.js"),__vite__mapDeps([36,1,24,14,2]));return{id:Ml,diagram:t}},sy={id:Ml,detector:ny,loader:oy},ay=sy,ly=function(t,e){for(let i of e)t.attr(i[0],i[1])},hy=function(t,e,i){let r=new Map;return i?(r.set("width","100%"),r.set("style",`max-width: ${e}px;`)):(r.set("height",t),r.set("width",e)),r},Il=function(t,e,i,r){const n=hy(e,i,r);ly(t,n)},cy=function(t,e,i,r){const n=e.node().getBBox(),o=n.width,s=n.height;O.info(`SVG bounds: ${o}x${s}`,n);let a=0,l=0;O.info(`Graph bounds: ${a}x${l}`,t),a=o+i*2,l=s+i*2,O.info(`Calculated bounds: ${a}x${l}`),Il(e,l,a,r);const h=`${n.x-i} ${n.y-i} ${n.width+2*i} ${n.height+2*i}`;e.attr("viewBox",h)},Hi={},uy=(t,e,i)=>{let r="";return t in Hi&&Hi[t]?r=Hi[t](i):O.warn(`No theme found for ${t}`),` & { font-family: ${i.fontFamily}; font-size: ${i.fontSize}; fill: ${i.textColor} @@ -60,32 +60,32 @@ import{_ as X}from"./app-B0fd3cYb.js";function mh(t){for(var e=[],i=1;i{e!==void 0&&(Hi[t]=e)},fy=cy;let Yn="",Vn="",Gn="";const Xn=t=>gi(t,Nt()),dy=()=>{Yn="",Gn="",Vn=""},py=t=>{Yn=Xn(t).replace(/^\s+/g,"")},gy=()=>Yn,my=t=>{Gn=Xn(t).replace(/\n\s+/g,` -`)},_y=()=>Gn,yy=t=>{Vn=Xn(t)},Cy=()=>Vn,xy=Object.freeze(Object.defineProperty({__proto__:null,clear:dy,getAccDescription:_y,getAccTitle:gy,getDiagramTitle:Cy,setAccDescription:my,setAccTitle:py,setDiagramTitle:yy},Symbol.toStringTag,{value:"Module"})),by=O,Ty=zn,Kn=Nt,Yb=dl,Vb=Ne,vy=t=>gi(t,Kn()),ky=hy,Sy=()=>xy,sr={},ar=(t,e,i)=>{var r;if(sr[t])throw new Error(`Diagram ${t} already registered.`);sr[t]=e,i&&sl(t,i),uy(t,e.styles),(r=e.injectUtils)==null||r.call(e,by,Ty,Kn,vy,ky,Sy(),()=>{})},Zn=t=>{if(t in sr)return sr[t];throw new wy(t)};class wy extends Error{constructor(e){super(`Diagram ${e} not found.`)}}const By=t=>{var e;const{securityLevel:i}=Kn();let r=Tt("body");if(i==="sandbox"){const s=((e=Tt(`#i${t}`).node())==null?void 0:e.contentDocument)??document;r=Tt(s.body)}return r.select(`#${t}`)},Ay=(t,e,i)=>{O.debug(`rendering svg for syntax error -`);const r=By(e),n=r.append("g");r.attr("viewBox","0 0 2412 512"),Ml(r,100,512,!0),n.append("path").attr("class","error-icon").attr("d","m411.313,123.313c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32-9.375,9.375-20.688-20.688c-12.484-12.5-32.766-12.5-45.25,0l-16,16c-1.261,1.261-2.304,2.648-3.31,4.051-21.739-8.561-45.324-13.426-70.065-13.426-105.867,0-192,86.133-192,192s86.133,192 192,192 192-86.133 192-192c0-24.741-4.864-48.327-13.426-70.065 1.402-1.007 2.79-2.049 4.051-3.31l16-16c12.5-12.492 12.5-32.758 0-45.25l-20.688-20.688 9.375-9.375 32.001-31.999zm-219.313,100.687c-52.938,0-96,43.063-96,96 0,8.836-7.164,16-16,16s-16-7.164-16-16c0-70.578 57.422-128 128-128 8.836,0 16,7.164 16,16s-7.164,16-16,16z"),n.append("path").attr("class","error-icon").attr("d","m459.02,148.98c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l16,16c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16.001-16z"),n.append("path").attr("class","error-icon").attr("d","m340.395,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16-16c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l15.999,16z"),n.append("path").attr("class","error-icon").attr("d","m400,64c8.844,0 16-7.164 16-16v-32c0-8.836-7.156-16-16-16-8.844,0-16,7.164-16,16v32c0,8.836 7.156,16 16,16z"),n.append("path").attr("class","error-icon").attr("d","m496,96.586h-32c-8.844,0-16,7.164-16,16 0,8.836 7.156,16 16,16h32c8.844,0 16-7.164 16-16 0-8.836-7.156-16-16-16z"),n.append("path").attr("class","error-icon").attr("d","m436.98,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688l32-32c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32c-6.251,6.25-6.251,16.375-0.001,22.625z"),n.append("text").attr("class","error-text").attr("x",1440).attr("y",250).attr("font-size","150px").style("text-anchor","middle").text("Syntax error in text"),n.append("text").attr("class","error-text").attr("x",1250).attr("y",400).attr("font-size","100px").style("text-anchor","middle").text(`mermaid version ${i}`)},Il={draw:Ay},Ly=Il,Fy={db:{},renderer:Il,parser:{parser:{yy:{}},parse:()=>{}}},Ey=Fy,$l="flowchart-elk",Oy=(t,e)=>{var i;return!!(/^\s*flowchart-elk/.test(t)||/^\s*flowchart|graph/.test(t)&&((i=e==null?void 0:e.flowchart)==null?void 0:i.defaultRenderer)==="elk")},My=async()=>{const{diagram:t}=await X(()=>import("./flowchart-elk-definition-5fe447d6-DDvIZSFO.js"),__vite__mapDeps([37,4,10,11,12,13,14,2]));return{id:$l,diagram:t}},Iy={id:$l,detector:Oy,loader:My},$y=Iy,Dl="timeline",Dy=t=>/^\s*timeline/.test(t),Ny=async()=>{const{diagram:t}=await X(()=>import("./timeline-definition-fea2a41d-SN4IvUvc.js"),__vite__mapDeps([38,24,14,2]));return{id:Dl,diagram:t}},Ry={id:Dl,detector:Dy,loader:Ny},Py=Ry,Nl="mindmap",qy=t=>/^\s*mindmap/.test(t),zy=async()=>{const{diagram:t}=await X(()=>import("./mindmap-definition-f354de21-DqgSJ0H1.js"),__vite__mapDeps([39,11,2]));return{id:Nl,diagram:t}},Wy={id:Nl,detector:qy,loader:zy},Hy=Wy,Rl="sankey",jy=t=>/^\s*sankey-beta/.test(t),Uy=async()=>{const{diagram:t}=await X(()=>import("./sankeyDiagram-97764748-D-VPB9Pm.js"),__vite__mapDeps([40,25,21,41,2]));return{id:Rl,diagram:t}},Yy={id:Rl,detector:jy,loader:Uy},Vy=Yy,Pl="block",Gy=t=>/^\s*block-beta/.test(t),Xy=async()=>{const{diagram:t}=await X(()=>import("./blockDiagram-91b80b7a-FOIhVpAO.js"),__vite__mapDeps([42,9,5,10,11,12,13,14,25,21,15,41,2]));return{id:Pl,diagram:t}},Ky={id:Pl,detector:Gy,loader:Xy},Zy=Ky;let Bs=!1;const Jn=()=>{Bs||(Bs=!0,ar("error",Ey,t=>t.toLowerCase().trim()==="error"),ar("---",{db:{clear:()=>{}},styles:{},renderer:{draw:()=>{}},parser:{parser:{yy:{}},parse:()=>{throw new Error("Diagrams beginning with --- are not valid. If you were trying to use a YAML front-matter, please ensure that you've correctly opened and closed the YAML front-matter with un-indented `---` blocks")}},init:()=>null},t=>t.toLowerCase().trimStart().startsWith("---")),ol(J0,G_,j_,c_,y_,b_,k_,D_,q_,$y,s_,i_,Hy,Py,p_,iy,J_,sy,A_,Vy,O_,Zy))};class ql{constructor(e,i={}){this.text=e,this.metadata=i,this.type="graph",this.text=z0(e),this.text+=` -`;const r=Nt();try{this.type=Br(e,r)}catch(o){this.type="error",this.detectError=o}const n=Zn(this.type);O.debug("Type "+this.type),this.db=n.db,this.renderer=n.renderer,this.parser=n.parser,this.parser.parser.yy=this.db,this.init=n.init,this.parse()}parse(){var e,i,r,n,o;if(this.detectError)throw this.detectError;(i=(e=this.db).clear)==null||i.call(e);const s=Nt();(r=this.init)==null||r.call(this,s),this.metadata.title&&((o=(n=this.db).setDiagramTitle)==null||o.call(n,this.metadata.title)),this.parser.parse(this.text)}async render(e,i){await this.renderer.draw(this.text,e,i,this)}getParser(){return this.parser}getType(){return this.type}}const Jy=async(t,e={})=>{const i=Br(t,Nt());try{Zn(i)}catch{const n=g0(i);if(!n)throw new nl(`Diagram ${i} not found.`);const{id:o,diagram:s}=await n();ar(o,s)}return new ql(t,e)};let As=[];const Qy=()=>{As.forEach(t=>{t()}),As=[]},tC="graphics-document document";function eC(t,e){t.attr("role",tC),e!==""&&t.attr("aria-roledescription",e)}function iC(t,e,i,r){if(t.insert!==void 0){if(i){const n=`chart-desc-${r}`;t.attr("aria-describedby",n),t.insert("desc",":first-child").attr("id",n).text(i)}if(e){const n=`chart-title-${r}`;t.attr("aria-labelledby",n),t.insert("title",":first-child").attr("id",n).text(e)}}}const rC=t=>t.replace(/^\s*%%(?!{)[^\n]+\n?/gm,"").trimStart();/*! js-yaml 4.1.0 https://github.com/nodeca/js-yaml @license MIT */function zl(t){return typeof t>"u"||t===null}function nC(t){return typeof t=="object"&&t!==null}function oC(t){return Array.isArray(t)?t:zl(t)?[]:[t]}function sC(t,e){var i,r,n,o;if(e)for(o=Object.keys(e),i=0,r=o.length;i{e!==void 0&&(Hi[t]=e)},dy=uy;let Yn="",Vn="",Gn="";const Xn=t=>gi(t,Pt()),py=()=>{Yn="",Gn="",Vn=""},gy=t=>{Yn=Xn(t).replace(/^\s+/g,"")},my=()=>Yn,_y=t=>{Gn=Xn(t).replace(/\n\s+/g,` +`)},yy=()=>Gn,Cy=t=>{Vn=Xn(t)},xy=()=>Vn,by=Object.freeze(Object.defineProperty({__proto__:null,clear:py,getAccDescription:yy,getAccTitle:my,getDiagramTitle:xy,setAccDescription:_y,setAccTitle:gy,setDiagramTitle:Cy},Symbol.toStringTag,{value:"Module"})),Ty=O,vy=zn,Kn=Pt,Vb=pl,Gb=Ne,ky=t=>gi(t,Kn()),Sy=cy,wy=()=>by,sr={},ar=(t,e,i)=>{var r;if(sr[t])throw new Error(`Diagram ${t} already registered.`);sr[t]=e,i&&al(t,i),fy(t,e.styles),(r=e.injectUtils)==null||r.call(e,Ty,vy,Kn,ky,Sy,wy(),()=>{})},Zn=t=>{if(t in sr)return sr[t];throw new By(t)};class By extends Error{constructor(e){super(`Diagram ${e} not found.`)}}const Ay=t=>{var e;const{securityLevel:i}=Kn();let r=Tt("body");if(i==="sandbox"){const s=((e=Tt(`#i${t}`).node())==null?void 0:e.contentDocument)??document;r=Tt(s.body)}return r.select(`#${t}`)},Ly=(t,e,i)=>{O.debug(`rendering svg for syntax error +`);const r=Ay(e),n=r.append("g");r.attr("viewBox","0 0 2412 512"),Il(r,100,512,!0),n.append("path").attr("class","error-icon").attr("d","m411.313,123.313c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32-9.375,9.375-20.688-20.688c-12.484-12.5-32.766-12.5-45.25,0l-16,16c-1.261,1.261-2.304,2.648-3.31,4.051-21.739-8.561-45.324-13.426-70.065-13.426-105.867,0-192,86.133-192,192s86.133,192 192,192 192-86.133 192-192c0-24.741-4.864-48.327-13.426-70.065 1.402-1.007 2.79-2.049 4.051-3.31l16-16c12.5-12.492 12.5-32.758 0-45.25l-20.688-20.688 9.375-9.375 32.001-31.999zm-219.313,100.687c-52.938,0-96,43.063-96,96 0,8.836-7.164,16-16,16s-16-7.164-16-16c0-70.578 57.422-128 128-128 8.836,0 16,7.164 16,16s-7.164,16-16,16z"),n.append("path").attr("class","error-icon").attr("d","m459.02,148.98c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l16,16c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16.001-16z"),n.append("path").attr("class","error-icon").attr("d","m340.395,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16-16c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l15.999,16z"),n.append("path").attr("class","error-icon").attr("d","m400,64c8.844,0 16-7.164 16-16v-32c0-8.836-7.156-16-16-16-8.844,0-16,7.164-16,16v32c0,8.836 7.156,16 16,16z"),n.append("path").attr("class","error-icon").attr("d","m496,96.586h-32c-8.844,0-16,7.164-16,16 0,8.836 7.156,16 16,16h32c8.844,0 16-7.164 16-16 0-8.836-7.156-16-16-16z"),n.append("path").attr("class","error-icon").attr("d","m436.98,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688l32-32c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32c-6.251,6.25-6.251,16.375-0.001,22.625z"),n.append("text").attr("class","error-text").attr("x",1440).attr("y",250).attr("font-size","150px").style("text-anchor","middle").text("Syntax error in text"),n.append("text").attr("class","error-text").attr("x",1250).attr("y",400).attr("font-size","100px").style("text-anchor","middle").text(`mermaid version ${i}`)},$l={draw:Ly},Fy=$l,Ey={db:{},renderer:$l,parser:{parser:{yy:{}},parse:()=>{}}},Oy=Ey,Dl="flowchart-elk",My=(t,e)=>{var i;return!!(/^\s*flowchart-elk/.test(t)||/^\s*flowchart|graph/.test(t)&&((i=e==null?void 0:e.flowchart)==null?void 0:i.defaultRenderer)==="elk")},Iy=async()=>{const{diagram:t}=await X(()=>import("./flowchart-elk-definition-5fe447d6-BEWKu2rj.js"),__vite__mapDeps([37,4,10,11,12,13,14,2]));return{id:Dl,diagram:t}},$y={id:Dl,detector:My,loader:Iy},Dy=$y,Nl="timeline",Ny=t=>/^\s*timeline/.test(t),Ry=async()=>{const{diagram:t}=await X(()=>import("./timeline-definition-fea2a41d-D-z6TUtQ.js"),__vite__mapDeps([38,24,14,2]));return{id:Nl,diagram:t}},Py={id:Nl,detector:Ny,loader:Ry},qy=Py,Rl="mindmap",zy=t=>/^\s*mindmap/.test(t),Wy=async()=>{const{diagram:t}=await X(()=>import("./mindmap-definition-f354de21-BUH3f6M3.js"),__vite__mapDeps([39,11,2]));return{id:Rl,diagram:t}},Hy={id:Rl,detector:zy,loader:Wy},jy=Hy,Pl="sankey",Uy=t=>/^\s*sankey-beta/.test(t),Yy=async()=>{const{diagram:t}=await X(()=>import("./sankeyDiagram-97764748-DI8dDJR4.js"),__vite__mapDeps([40,25,21,41,2]));return{id:Pl,diagram:t}},Vy={id:Pl,detector:Uy,loader:Yy},Gy=Vy,ql="block",Xy=t=>/^\s*block-beta/.test(t),Ky=async()=>{const{diagram:t}=await X(()=>import("./blockDiagram-91b80b7a-Cdw71yKW.js"),__vite__mapDeps([42,9,5,10,11,12,13,14,25,21,15,41,2]));return{id:ql,diagram:t}},Zy={id:ql,detector:Xy,loader:Ky},Jy=Zy;let As=!1;const Jn=()=>{As||(As=!0,ar("error",Oy,t=>t.toLowerCase().trim()==="error"),ar("---",{db:{clear:()=>{}},styles:{},renderer:{draw:()=>{}},parser:{parser:{yy:{}},parse:()=>{throw new Error("Diagrams beginning with --- are not valid. If you were trying to use a YAML front-matter, please ensure that you've correctly opened and closed the YAML front-matter with un-indented `---` blocks")}},init:()=>null},t=>t.toLowerCase().trimStart().startsWith("---")),sl(Q0,X_,U_,u_,C_,T_,S_,N_,z_,Dy,a_,r_,jy,qy,g_,ry,Q_,ay,L_,Gy,M_,Jy))};class zl{constructor(e,i={}){this.text=e,this.metadata=i,this.type="graph",this.text=W0(e),this.text+=` +`;const r=Pt();try{this.type=Br(e,r)}catch(o){this.type="error",this.detectError=o}const n=Zn(this.type);O.debug("Type "+this.type),this.db=n.db,this.renderer=n.renderer,this.parser=n.parser,this.parser.parser.yy=this.db,this.init=n.init,this.parse()}parse(){var e,i,r,n,o;if(this.detectError)throw this.detectError;(i=(e=this.db).clear)==null||i.call(e);const s=Pt();(r=this.init)==null||r.call(this,s),this.metadata.title&&((o=(n=this.db).setDiagramTitle)==null||o.call(n,this.metadata.title)),this.parser.parse(this.text)}async render(e,i){await this.renderer.draw(this.text,e,i,this)}getParser(){return this.parser}getType(){return this.type}}const Qy=async(t,e={})=>{const i=Br(t,Pt());try{Zn(i)}catch{const n=m0(i);if(!n)throw new ol(`Diagram ${i} not found.`);const{id:o,diagram:s}=await n();ar(o,s)}return new zl(t,e)};let Ls=[];const tC=()=>{Ls.forEach(t=>{t()}),Ls=[]},eC="graphics-document document";function iC(t,e){t.attr("role",eC),e!==""&&t.attr("aria-roledescription",e)}function rC(t,e,i,r){if(t.insert!==void 0){if(i){const n=`chart-desc-${r}`;t.attr("aria-describedby",n),t.insert("desc",":first-child").attr("id",n).text(i)}if(e){const n=`chart-title-${r}`;t.attr("aria-labelledby",n),t.insert("title",":first-child").attr("id",n).text(e)}}}const nC=t=>t.replace(/^\s*%%(?!{)[^\n]+\n?/gm,"").trimStart();/*! js-yaml 4.1.0 https://github.com/nodeca/js-yaml @license MIT */function Wl(t){return typeof t>"u"||t===null}function oC(t){return typeof t=="object"&&t!==null}function sC(t){return Array.isArray(t)?t:Wl(t)?[]:[t]}function aC(t,e){var i,r,n,o;if(e)for(o=Object.keys(e),i=0,r=o.length;ia&&(o=" ... ",e=r-a+o.length),i-r>a&&(s=" ...",i=r+a-s.length),{str:o+t.slice(e,i).replace(/\t/g,"→")+s,pos:r-e+o.length}}function Zr(t,e){return ht.repeat(" ",e-t.length)+t}function gC(t,e){if(e=Object.create(e||null),!t.buffer)return null;e.maxLength||(e.maxLength=79),typeof e.indent!="number"&&(e.indent=1),typeof e.linesBefore!="number"&&(e.linesBefore=3),typeof e.linesAfter!="number"&&(e.linesAfter=2);for(var i=/\r?\n|\r|\0/g,r=[0],n=[],o,s=-1;o=i.exec(t.buffer);)n.push(o.index),r.push(o.index+o[0].length),t.position<=o.index&&s<0&&(s=r.length-2);s<0&&(s=r.length-1);var a="",l,h,u=Math.min(t.line+e.linesAfter,n.length).toString().length,f=e.maxLength-(e.indent+u+3);for(l=1;l<=e.linesBefore&&!(s-l<0);l++)h=Kr(t.buffer,r[s-l],n[s-l],t.position-(r[s]-r[s-l]),f),a=ht.repeat(" ",e.indent)+Zr((t.line-l+1).toString(),u)+" | "+h.str+` +`+t.mark.snippet),r+" "+i):r}function mi(t,e){Error.call(this),this.name="YAMLException",this.reason=t,this.mark=e,this.message=Hl(this,!1),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack||""}mi.prototype=Object.create(Error.prototype);mi.prototype.constructor=mi;mi.prototype.toString=function(e){return this.name+": "+Hl(this,e)};var Xt=mi;function Kr(t,e,i,r,n){var o="",s="",a=Math.floor(n/2)-1;return r-e>a&&(o=" ... ",e=r-a+o.length),i-r>a&&(s=" ...",i=r+a-s.length),{str:o+t.slice(e,i).replace(/\t/g,"→")+s,pos:r-e+o.length}}function Zr(t,e){return ht.repeat(" ",e-t.length)+t}function mC(t,e){if(e=Object.create(e||null),!t.buffer)return null;e.maxLength||(e.maxLength=79),typeof e.indent!="number"&&(e.indent=1),typeof e.linesBefore!="number"&&(e.linesBefore=3),typeof e.linesAfter!="number"&&(e.linesAfter=2);for(var i=/\r?\n|\r|\0/g,r=[0],n=[],o,s=-1;o=i.exec(t.buffer);)n.push(o.index),r.push(o.index+o[0].length),t.position<=o.index&&s<0&&(s=r.length-2);s<0&&(s=r.length-1);var a="",l,h,u=Math.min(t.line+e.linesAfter,n.length).toString().length,f=e.maxLength-(e.indent+u+3);for(l=1;l<=e.linesBefore&&!(s-l<0);l++)h=Kr(t.buffer,r[s-l],n[s-l],t.position-(r[s]-r[s-l]),f),a=ht.repeat(" ",e.indent)+Zr((t.line-l+1).toString(),u)+" | "+h.str+` `+a;for(h=Kr(t.buffer,r[s],n[s],t.position,f),a+=ht.repeat(" ",e.indent)+Zr((t.line+1).toString(),u)+" | "+h.str+` `,a+=ht.repeat("-",e.indent+u+3+h.pos)+`^ `,l=1;l<=e.linesAfter&&!(s+l>=n.length);l++)h=Kr(t.buffer,r[s+l],n[s+l],t.position-(r[s]-r[s+l]),f),a+=ht.repeat(" ",e.indent)+Zr((t.line+l+1).toString(),u)+" | "+h.str+` -`;return a.replace(/\n$/,"")}var mC=gC,_C=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],yC=["scalar","sequence","mapping"];function CC(t){var e={};return t!==null&&Object.keys(t).forEach(function(i){t[i].forEach(function(r){e[String(r)]=i})}),e}function xC(t,e){if(e=e||{},Object.keys(e).forEach(function(i){if(_C.indexOf(i)===-1)throw new Gt('Unknown option "'+i+'" is met in definition of "'+t+'" YAML type.')}),this.options=e,this.tag=t,this.kind=e.kind||null,this.resolve=e.resolve||function(){return!0},this.construct=e.construct||function(i){return i},this.instanceOf=e.instanceOf||null,this.predicate=e.predicate||null,this.represent=e.represent||null,this.representName=e.representName||null,this.defaultStyle=e.defaultStyle||null,this.multi=e.multi||!1,this.styleAliases=CC(e.styleAliases||null),yC.indexOf(this.kind)===-1)throw new Gt('Unknown kind "'+this.kind+'" is specified for "'+t+'" YAML type.')}var at=xC;function Ls(t,e){var i=[];return t[e].forEach(function(r){var n=i.length;i.forEach(function(o,s){o.tag===r.tag&&o.kind===r.kind&&o.multi===r.multi&&(n=s)}),i[n]=r}),i}function bC(){var t={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}},e,i;function r(n){n.multi?(t.multi[n.kind].push(n),t.multi.fallback.push(n)):t[n.kind][n.tag]=t.fallback[n.tag]=n}for(e=0,i=arguments.length;e=0?"0b"+t.toString(2):"-0b"+t.toString(2).slice(1)},octal:function(t){return t>=0?"0o"+t.toString(8):"-0o"+t.toString(8).slice(1)},decimal:function(t){return t.toString(10)},hexadecimal:function(t){return t>=0?"0x"+t.toString(16).toUpperCase():"-0x"+t.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),WC=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function HC(t){return!(t===null||!WC.test(t)||t[t.length-1]==="_")}function jC(t){var e,i;return e=t.replace(/_/g,"").toLowerCase(),i=e[0]==="-"?-1:1,"+-".indexOf(e[0])>=0&&(e=e.slice(1)),e===".inf"?i===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:e===".nan"?NaN:i*parseFloat(e,10)}var UC=/^[-+]?[0-9]+e/;function YC(t,e){var i;if(isNaN(t))switch(e){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===t)switch(e){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===t)switch(e){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(ht.isNegativeZero(t))return"-0.0";return i=t.toString(10),UC.test(i)?i.replace("e",".e"):i}function VC(t){return Object.prototype.toString.call(t)==="[object Number]"&&(t%1!==0||ht.isNegativeZero(t))}var GC=new at("tag:yaml.org,2002:float",{kind:"scalar",resolve:HC,construct:jC,predicate:VC,represent:YC,defaultStyle:"lowercase"}),Hl=wC.extend({implicit:[FC,IC,zC,GC]}),XC=Hl,jl=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),Ul=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");function KC(t){return t===null?!1:jl.exec(t)!==null||Ul.exec(t)!==null}function ZC(t){var e,i,r,n,o,s,a,l=0,h=null,u,f,c;if(e=jl.exec(t),e===null&&(e=Ul.exec(t)),e===null)throw new Error("Date resolve error");if(i=+e[1],r=+e[2]-1,n=+e[3],!e[4])return new Date(Date.UTC(i,r,n));if(o=+e[4],s=+e[5],a=+e[6],e[7]){for(l=e[7].slice(0,3);l.length<3;)l+="0";l=+l}return e[9]&&(u=+e[10],f=+(e[11]||0),h=(u*60+f)*6e4,e[9]==="-"&&(h=-h)),c=new Date(Date.UTC(i,r,n,o,s,a,l)),h&&c.setTime(c.getTime()-h),c}function JC(t){return t.toISOString()}var QC=new at("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:KC,construct:ZC,instanceOf:Date,represent:JC});function tx(t){return t==="<<"||t===null}var ex=new at("tag:yaml.org,2002:merge",{kind:"scalar",resolve:tx}),Qn=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/= -\r`;function ix(t){if(t===null)return!1;var e,i,r=0,n=t.length,o=Qn;for(i=0;i64)){if(e<0)return!1;r+=6}return r%8===0}function rx(t){var e,i,r=t.replace(/[\r\n=]/g,""),n=r.length,o=Qn,s=0,a=[];for(e=0;e>16&255),a.push(s>>8&255),a.push(s&255)),s=s<<6|o.indexOf(r.charAt(e));return i=n%4*6,i===0?(a.push(s>>16&255),a.push(s>>8&255),a.push(s&255)):i===18?(a.push(s>>10&255),a.push(s>>2&255)):i===12&&a.push(s>>4&255),new Uint8Array(a)}function nx(t){var e="",i=0,r,n,o=t.length,s=Qn;for(r=0;r>18&63],e+=s[i>>12&63],e+=s[i>>6&63],e+=s[i&63]),i=(i<<8)+t[r];return n=o%3,n===0?(e+=s[i>>18&63],e+=s[i>>12&63],e+=s[i>>6&63],e+=s[i&63]):n===2?(e+=s[i>>10&63],e+=s[i>>4&63],e+=s[i<<2&63],e+=s[64]):n===1&&(e+=s[i>>2&63],e+=s[i<<4&63],e+=s[64],e+=s[64]),e}function ox(t){return Object.prototype.toString.call(t)==="[object Uint8Array]"}var sx=new at("tag:yaml.org,2002:binary",{kind:"scalar",resolve:ix,construct:rx,predicate:ox,represent:nx}),ax=Object.prototype.hasOwnProperty,lx=Object.prototype.toString;function hx(t){if(t===null)return!0;var e=[],i,r,n,o,s,a=t;for(i=0,r=a.length;i>10)+55296,(t-65536&1023)+56320)}var Kl=new Array(256),Zl=new Array(256);for(var Be=0;Be<256;Be++)Kl[Be]=Os(Be)?1:0,Zl[Be]=Os(Be);function Lx(t,e){this.input=t,this.filename=e.filename||null,this.schema=e.schema||xx,this.onWarning=e.onWarning||null,this.legacy=e.legacy||!1,this.json=e.json||!1,this.listener=e.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=t.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.firstTabInLine=-1,this.documents=[]}function Jl(t,e){var i={name:t.filename,buffer:t.input.slice(0,-1),position:t.position,line:t.line,column:t.position-t.lineStart};return i.snippet=mC(i),new Gt(e,i)}function F(t,e){throw Jl(t,e)}function cr(t,e){t.onWarning&&t.onWarning.call(null,Jl(t,e))}var Ms={YAML:function(e,i,r){var n,o,s;e.version!==null&&F(e,"duplication of %YAML directive"),r.length!==1&&F(e,"YAML directive accepts exactly one argument"),n=/^([0-9]+)\.([0-9]+)$/.exec(r[0]),n===null&&F(e,"ill-formed argument of the YAML directive"),o=parseInt(n[1],10),s=parseInt(n[2],10),o!==1&&F(e,"unacceptable YAML version of the document"),e.version=r[0],e.checkLineBreaks=s<2,s!==1&&s!==2&&cr(e,"unsupported YAML version of the document")},TAG:function(e,i,r){var n,o;r.length!==2&&F(e,"TAG directive accepts exactly two arguments"),n=r[0],o=r[1],Gl.test(n)||F(e,"ill-formed tag handle (first argument) of the TAG directive"),se.call(e.tagMap,n)&&F(e,'there is a previously declared suffix for "'+n+'" tag handle'),Xl.test(o)||F(e,"ill-formed tag prefix (second argument) of the TAG directive");try{o=decodeURIComponent(o)}catch{F(e,"tag prefix is malformed: "+o)}e.tagMap[n]=o}};function ne(t,e,i,r){var n,o,s,a;if(e1&&(t.result+=ht.repeat(` -`,e-1))}function Fx(t,e,i){var r,n,o,s,a,l,h,u,f=t.kind,c=t.result,p;if(p=t.input.charCodeAt(t.position),_t(p)||Ae(p)||p===35||p===38||p===42||p===33||p===124||p===62||p===39||p===34||p===37||p===64||p===96||(p===63||p===45)&&(n=t.input.charCodeAt(t.position+1),_t(n)||i&&Ae(n)))return!1;for(t.kind="scalar",t.result="",o=s=t.position,a=!1;p!==0;){if(p===58){if(n=t.input.charCodeAt(t.position+1),_t(n)||i&&Ae(n))break}else if(p===35){if(r=t.input.charCodeAt(t.position-1),_t(r))break}else{if(t.position===t.lineStart&&Lr(t)||i&&Ae(p))break;if($t(p))if(l=t.line,h=t.lineStart,u=t.lineIndent,Q(t,!1,-1),t.lineIndent>=e){a=!0,p=t.input.charCodeAt(t.position);continue}else{t.position=s,t.line=l,t.lineStart=h,t.lineIndent=u;break}}a&&(ne(t,o,s,!1),eo(t,t.line-l),o=s=t.position,a=!1),ge(p)||(s=t.position+1),p=t.input.charCodeAt(++t.position)}return ne(t,o,s,!1),t.result?!0:(t.kind=f,t.result=c,!1)}function Ex(t,e){var i,r,n;if(i=t.input.charCodeAt(t.position),i!==39)return!1;for(t.kind="scalar",t.result="",t.position++,r=n=t.position;(i=t.input.charCodeAt(t.position))!==0;)if(i===39)if(ne(t,r,t.position,!0),i=t.input.charCodeAt(++t.position),i===39)r=t.position,t.position++,n=t.position;else return!0;else $t(i)?(ne(t,r,n,!0),eo(t,Q(t,!1,e)),r=n=t.position):t.position===t.lineStart&&Lr(t)?F(t,"unexpected end of the document within a single quoted scalar"):(t.position++,n=t.position);F(t,"unexpected end of the stream within a single quoted scalar")}function Ox(t,e){var i,r,n,o,s,a;if(a=t.input.charCodeAt(t.position),a!==34)return!1;for(t.kind="scalar",t.result="",t.position++,i=r=t.position;(a=t.input.charCodeAt(t.position))!==0;){if(a===34)return ne(t,i,t.position,!0),t.position++,!0;if(a===92){if(ne(t,i,t.position,!0),a=t.input.charCodeAt(++t.position),$t(a))Q(t,!1,e);else if(a<256&&Kl[a])t.result+=Zl[a],t.position++;else if((s=wx(a))>0){for(n=s,o=0;n>0;n--)a=t.input.charCodeAt(++t.position),(s=Sx(a))>=0?o=(o<<4)+s:F(t,"expected hexadecimal character");t.result+=Ax(o),t.position++}else F(t,"unknown escape sequence");i=r=t.position}else $t(a)?(ne(t,i,r,!0),eo(t,Q(t,!1,e)),i=r=t.position):t.position===t.lineStart&&Lr(t)?F(t,"unexpected end of the document within a double quoted scalar"):(t.position++,r=t.position)}F(t,"unexpected end of the stream within a double quoted scalar")}function Mx(t,e){var i=!0,r,n,o,s=t.tag,a,l=t.anchor,h,u,f,c,p,_=Object.create(null),v,k,N,b;if(b=t.input.charCodeAt(t.position),b===91)u=93,p=!1,a=[];else if(b===123)u=125,p=!0,a={};else return!1;for(t.anchor!==null&&(t.anchorMap[t.anchor]=a),b=t.input.charCodeAt(++t.position);b!==0;){if(Q(t,!0,e),b=t.input.charCodeAt(t.position),b===u)return t.position++,t.tag=s,t.anchor=l,t.kind=p?"mapping":"sequence",t.result=a,!0;i?b===44&&F(t,"expected the node content, but found ','"):F(t,"missed comma between flow collection entries"),k=v=N=null,f=c=!1,b===63&&(h=t.input.charCodeAt(t.position+1),_t(h)&&(f=c=!0,t.position++,Q(t,!0,e))),r=t.line,n=t.lineStart,o=t.position,Pe(t,e,lr,!1,!0),k=t.tag,v=t.result,Q(t,!0,e),b=t.input.charCodeAt(t.position),(c||t.line===r)&&b===58&&(f=!0,b=t.input.charCodeAt(++t.position),Q(t,!0,e),Pe(t,e,lr,!1,!0),N=t.result),p?Le(t,a,_,k,v,N,r,n,o):f?a.push(Le(t,null,_,k,v,N,r,n,o)):a.push(v),Q(t,!0,e),b=t.input.charCodeAt(t.position),b===44?(i=!0,b=t.input.charCodeAt(++t.position)):i=!1}F(t,"unexpected end of the stream within a flow collection")}function Ix(t,e){var i,r,n=Jr,o=!1,s=!1,a=e,l=0,h=!1,u,f;if(f=t.input.charCodeAt(t.position),f===124)r=!1;else if(f===62)r=!0;else return!1;for(t.kind="scalar",t.result="";f!==0;)if(f=t.input.charCodeAt(++t.position),f===43||f===45)Jr===n?n=f===43?Fs:bx:F(t,"repeat of a chomping mode identifier");else if((u=Bx(f))>=0)u===0?F(t,"bad explicit indentation width of a block scalar; it cannot be less than one"):s?F(t,"repeat of an indentation width identifier"):(a=e+u-1,s=!0);else break;if(ge(f)){do f=t.input.charCodeAt(++t.position);while(ge(f));if(f===35)do f=t.input.charCodeAt(++t.position);while(!$t(f)&&f!==0)}for(;f!==0;){for(to(t),t.lineIndent=0,f=t.input.charCodeAt(t.position);(!s||t.lineIndenta&&(a=t.lineIndent),$t(f)){l++;continue}if(t.lineIndent=0?"0b"+t.toString(2):"-0b"+t.toString(2).slice(1)},octal:function(t){return t>=0?"0o"+t.toString(8):"-0o"+t.toString(8).slice(1)},decimal:function(t){return t.toString(10)},hexadecimal:function(t){return t>=0?"0x"+t.toString(16).toUpperCase():"-0x"+t.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),HC=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function jC(t){return!(t===null||!HC.test(t)||t[t.length-1]==="_")}function UC(t){var e,i;return e=t.replace(/_/g,"").toLowerCase(),i=e[0]==="-"?-1:1,"+-".indexOf(e[0])>=0&&(e=e.slice(1)),e===".inf"?i===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:e===".nan"?NaN:i*parseFloat(e,10)}var YC=/^[-+]?[0-9]+e/;function VC(t,e){var i;if(isNaN(t))switch(e){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===t)switch(e){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===t)switch(e){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(ht.isNegativeZero(t))return"-0.0";return i=t.toString(10),YC.test(i)?i.replace("e",".e"):i}function GC(t){return Object.prototype.toString.call(t)==="[object Number]"&&(t%1!==0||ht.isNegativeZero(t))}var XC=new at("tag:yaml.org,2002:float",{kind:"scalar",resolve:jC,construct:UC,predicate:GC,represent:VC,defaultStyle:"lowercase"}),jl=BC.extend({implicit:[EC,$C,WC,XC]}),KC=jl,Ul=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),Yl=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");function ZC(t){return t===null?!1:Ul.exec(t)!==null||Yl.exec(t)!==null}function JC(t){var e,i,r,n,o,s,a,l=0,h=null,u,f,c;if(e=Ul.exec(t),e===null&&(e=Yl.exec(t)),e===null)throw new Error("Date resolve error");if(i=+e[1],r=+e[2]-1,n=+e[3],!e[4])return new Date(Date.UTC(i,r,n));if(o=+e[4],s=+e[5],a=+e[6],e[7]){for(l=e[7].slice(0,3);l.length<3;)l+="0";l=+l}return e[9]&&(u=+e[10],f=+(e[11]||0),h=(u*60+f)*6e4,e[9]==="-"&&(h=-h)),c=new Date(Date.UTC(i,r,n,o,s,a,l)),h&&c.setTime(c.getTime()-h),c}function QC(t){return t.toISOString()}var tx=new at("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:ZC,construct:JC,instanceOf:Date,represent:QC});function ex(t){return t==="<<"||t===null}var ix=new at("tag:yaml.org,2002:merge",{kind:"scalar",resolve:ex}),Qn=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/= +\r`;function rx(t){if(t===null)return!1;var e,i,r=0,n=t.length,o=Qn;for(i=0;i64)){if(e<0)return!1;r+=6}return r%8===0}function nx(t){var e,i,r=t.replace(/[\r\n=]/g,""),n=r.length,o=Qn,s=0,a=[];for(e=0;e>16&255),a.push(s>>8&255),a.push(s&255)),s=s<<6|o.indexOf(r.charAt(e));return i=n%4*6,i===0?(a.push(s>>16&255),a.push(s>>8&255),a.push(s&255)):i===18?(a.push(s>>10&255),a.push(s>>2&255)):i===12&&a.push(s>>4&255),new Uint8Array(a)}function ox(t){var e="",i=0,r,n,o=t.length,s=Qn;for(r=0;r>18&63],e+=s[i>>12&63],e+=s[i>>6&63],e+=s[i&63]),i=(i<<8)+t[r];return n=o%3,n===0?(e+=s[i>>18&63],e+=s[i>>12&63],e+=s[i>>6&63],e+=s[i&63]):n===2?(e+=s[i>>10&63],e+=s[i>>4&63],e+=s[i<<2&63],e+=s[64]):n===1&&(e+=s[i>>2&63],e+=s[i<<4&63],e+=s[64],e+=s[64]),e}function sx(t){return Object.prototype.toString.call(t)==="[object Uint8Array]"}var ax=new at("tag:yaml.org,2002:binary",{kind:"scalar",resolve:rx,construct:nx,predicate:sx,represent:ox}),lx=Object.prototype.hasOwnProperty,hx=Object.prototype.toString;function cx(t){if(t===null)return!0;var e=[],i,r,n,o,s,a=t;for(i=0,r=a.length;i>10)+55296,(t-65536&1023)+56320)}var Zl=new Array(256),Jl=new Array(256);for(var Be=0;Be<256;Be++)Zl[Be]=Ms(Be)?1:0,Jl[Be]=Ms(Be);function Fx(t,e){this.input=t,this.filename=e.filename||null,this.schema=e.schema||bx,this.onWarning=e.onWarning||null,this.legacy=e.legacy||!1,this.json=e.json||!1,this.listener=e.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=t.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.firstTabInLine=-1,this.documents=[]}function Ql(t,e){var i={name:t.filename,buffer:t.input.slice(0,-1),position:t.position,line:t.line,column:t.position-t.lineStart};return i.snippet=_C(i),new Xt(e,i)}function F(t,e){throw Ql(t,e)}function cr(t,e){t.onWarning&&t.onWarning.call(null,Ql(t,e))}var Is={YAML:function(e,i,r){var n,o,s;e.version!==null&&F(e,"duplication of %YAML directive"),r.length!==1&&F(e,"YAML directive accepts exactly one argument"),n=/^([0-9]+)\.([0-9]+)$/.exec(r[0]),n===null&&F(e,"ill-formed argument of the YAML directive"),o=parseInt(n[1],10),s=parseInt(n[2],10),o!==1&&F(e,"unacceptable YAML version of the document"),e.version=r[0],e.checkLineBreaks=s<2,s!==1&&s!==2&&cr(e,"unsupported YAML version of the document")},TAG:function(e,i,r){var n,o;r.length!==2&&F(e,"TAG directive accepts exactly two arguments"),n=r[0],o=r[1],Xl.test(n)||F(e,"ill-formed tag handle (first argument) of the TAG directive"),ae.call(e.tagMap,n)&&F(e,'there is a previously declared suffix for "'+n+'" tag handle'),Kl.test(o)||F(e,"ill-formed tag prefix (second argument) of the TAG directive");try{o=decodeURIComponent(o)}catch{F(e,"tag prefix is malformed: "+o)}e.tagMap[n]=o}};function oe(t,e,i,r){var n,o,s,a;if(e1&&(t.result+=ht.repeat(` +`,e-1))}function Ex(t,e,i){var r,n,o,s,a,l,h,u,f=t.kind,c=t.result,p;if(p=t.input.charCodeAt(t.position),_t(p)||Ae(p)||p===35||p===38||p===42||p===33||p===124||p===62||p===39||p===34||p===37||p===64||p===96||(p===63||p===45)&&(n=t.input.charCodeAt(t.position+1),_t(n)||i&&Ae(n)))return!1;for(t.kind="scalar",t.result="",o=s=t.position,a=!1;p!==0;){if(p===58){if(n=t.input.charCodeAt(t.position+1),_t(n)||i&&Ae(n))break}else if(p===35){if(r=t.input.charCodeAt(t.position-1),_t(r))break}else{if(t.position===t.lineStart&&Lr(t)||i&&Ae(p))break;if(Nt(p))if(l=t.line,h=t.lineStart,u=t.lineIndent,Q(t,!1,-1),t.lineIndent>=e){a=!0,p=t.input.charCodeAt(t.position);continue}else{t.position=s,t.line=l,t.lineStart=h,t.lineIndent=u;break}}a&&(oe(t,o,s,!1),eo(t,t.line-l),o=s=t.position,a=!1),ge(p)||(s=t.position+1),p=t.input.charCodeAt(++t.position)}return oe(t,o,s,!1),t.result?!0:(t.kind=f,t.result=c,!1)}function Ox(t,e){var i,r,n;if(i=t.input.charCodeAt(t.position),i!==39)return!1;for(t.kind="scalar",t.result="",t.position++,r=n=t.position;(i=t.input.charCodeAt(t.position))!==0;)if(i===39)if(oe(t,r,t.position,!0),i=t.input.charCodeAt(++t.position),i===39)r=t.position,t.position++,n=t.position;else return!0;else Nt(i)?(oe(t,r,n,!0),eo(t,Q(t,!1,e)),r=n=t.position):t.position===t.lineStart&&Lr(t)?F(t,"unexpected end of the document within a single quoted scalar"):(t.position++,n=t.position);F(t,"unexpected end of the stream within a single quoted scalar")}function Mx(t,e){var i,r,n,o,s,a;if(a=t.input.charCodeAt(t.position),a!==34)return!1;for(t.kind="scalar",t.result="",t.position++,i=r=t.position;(a=t.input.charCodeAt(t.position))!==0;){if(a===34)return oe(t,i,t.position,!0),t.position++,!0;if(a===92){if(oe(t,i,t.position,!0),a=t.input.charCodeAt(++t.position),Nt(a))Q(t,!1,e);else if(a<256&&Zl[a])t.result+=Jl[a],t.position++;else if((s=Bx(a))>0){for(n=s,o=0;n>0;n--)a=t.input.charCodeAt(++t.position),(s=wx(a))>=0?o=(o<<4)+s:F(t,"expected hexadecimal character");t.result+=Lx(o),t.position++}else F(t,"unknown escape sequence");i=r=t.position}else Nt(a)?(oe(t,i,r,!0),eo(t,Q(t,!1,e)),i=r=t.position):t.position===t.lineStart&&Lr(t)?F(t,"unexpected end of the document within a double quoted scalar"):(t.position++,r=t.position)}F(t,"unexpected end of the stream within a double quoted scalar")}function Ix(t,e){var i=!0,r,n,o,s=t.tag,a,l=t.anchor,h,u,f,c,p,_=Object.create(null),v,k,N,b;if(b=t.input.charCodeAt(t.position),b===91)u=93,p=!1,a=[];else if(b===123)u=125,p=!0,a={};else return!1;for(t.anchor!==null&&(t.anchorMap[t.anchor]=a),b=t.input.charCodeAt(++t.position);b!==0;){if(Q(t,!0,e),b=t.input.charCodeAt(t.position),b===u)return t.position++,t.tag=s,t.anchor=l,t.kind=p?"mapping":"sequence",t.result=a,!0;i?b===44&&F(t,"expected the node content, but found ','"):F(t,"missed comma between flow collection entries"),k=v=N=null,f=c=!1,b===63&&(h=t.input.charCodeAt(t.position+1),_t(h)&&(f=c=!0,t.position++,Q(t,!0,e))),r=t.line,n=t.lineStart,o=t.position,Pe(t,e,lr,!1,!0),k=t.tag,v=t.result,Q(t,!0,e),b=t.input.charCodeAt(t.position),(c||t.line===r)&&b===58&&(f=!0,b=t.input.charCodeAt(++t.position),Q(t,!0,e),Pe(t,e,lr,!1,!0),N=t.result),p?Le(t,a,_,k,v,N,r,n,o):f?a.push(Le(t,null,_,k,v,N,r,n,o)):a.push(v),Q(t,!0,e),b=t.input.charCodeAt(t.position),b===44?(i=!0,b=t.input.charCodeAt(++t.position)):i=!1}F(t,"unexpected end of the stream within a flow collection")}function $x(t,e){var i,r,n=Jr,o=!1,s=!1,a=e,l=0,h=!1,u,f;if(f=t.input.charCodeAt(t.position),f===124)r=!1;else if(f===62)r=!0;else return!1;for(t.kind="scalar",t.result="";f!==0;)if(f=t.input.charCodeAt(++t.position),f===43||f===45)Jr===n?n=f===43?Es:Tx:F(t,"repeat of a chomping mode identifier");else if((u=Ax(f))>=0)u===0?F(t,"bad explicit indentation width of a block scalar; it cannot be less than one"):s?F(t,"repeat of an indentation width identifier"):(a=e+u-1,s=!0);else break;if(ge(f)){do f=t.input.charCodeAt(++t.position);while(ge(f));if(f===35)do f=t.input.charCodeAt(++t.position);while(!Nt(f)&&f!==0)}for(;f!==0;){for(to(t),t.lineIndent=0,f=t.input.charCodeAt(t.position);(!s||t.lineIndenta&&(a=t.lineIndent),Nt(f)){l++;continue}if(t.lineIndente)&&l!==0)F(t,"bad indentation of a sequence entry");else if(t.lineIndente)&&(k&&(s=t.line,a=t.lineStart,l=t.position),Pe(t,e,hr,!0,n)&&(k?_=t.result:v=t.result),k||(Le(t,f,c,p,_,v,s,a,l),p=_=v=null),Q(t,!0,-1),b=t.input.charCodeAt(t.position)),(t.line===o||t.lineIndent>e)&&b!==0)F(t,"bad indentation of a mapping entry");else if(t.lineIndente?l=1:t.lineIndent===e?l=0:t.lineIndente?l=1:t.lineIndent===e?l=0:t.lineIndent tag; it should be "scalar", not "'+t.kind+'"'),f=0,c=t.implicitTypes.length;f"),t.result!==null&&_.kind!==t.kind&&F(t,"unacceptable node kind for !<"+t.tag+'> tag; it should be "'+_.kind+'", not "'+t.kind+'"'),_.resolve(t.result,t.tag)?(t.result=_.construct(t.result,t.tag),t.anchor!==null&&(t.anchorMap[t.anchor]=t.result)):F(t,"cannot resolve a node with !<"+t.tag+"> explicit tag")}return t.listener!==null&&t.listener("close",t),t.tag!==null||t.anchor!==null||u}function Px(t){var e=t.position,i,r,n,o=!1,s;for(t.version=null,t.checkLineBreaks=t.legacy,t.tagMap=Object.create(null),t.anchorMap=Object.create(null);(s=t.input.charCodeAt(t.position))!==0&&(Q(t,!0,-1),s=t.input.charCodeAt(t.position),!(t.lineIndent>0||s!==37));){for(o=!0,s=t.input.charCodeAt(++t.position),i=t.position;s!==0&&!_t(s);)s=t.input.charCodeAt(++t.position);for(r=t.input.slice(i,t.position),n=[],r.length<1&&F(t,"directive name must not be less than one character in length");s!==0;){for(;ge(s);)s=t.input.charCodeAt(++t.position);if(s===35){do s=t.input.charCodeAt(++t.position);while(s!==0&&!$t(s));break}if($t(s))break;for(i=t.position;s!==0&&!_t(s);)s=t.input.charCodeAt(++t.position);n.push(t.input.slice(i,t.position))}s!==0&&to(t),se.call(Ms,r)?Ms[r](t,r,n):cr(t,'unknown document directive "'+r+'"')}if(Q(t,!0,-1),t.lineIndent===0&&t.input.charCodeAt(t.position)===45&&t.input.charCodeAt(t.position+1)===45&&t.input.charCodeAt(t.position+2)===45?(t.position+=3,Q(t,!0,-1)):o&&F(t,"directives end mark is expected"),Pe(t,t.lineIndent-1,hr,!1,!0),Q(t,!0,-1),t.checkLineBreaks&&vx.test(t.input.slice(e,t.position))&&cr(t,"non-ASCII line breaks are interpreted as content"),t.documents.push(t.result),t.position===t.lineStart&&Lr(t)){t.input.charCodeAt(t.position)===46&&(t.position+=3,Q(t,!0,-1));return}if(t.position"u"&&(i=e,e=null);var r=Ql(t,i);if(typeof e!="function")return r;for(var n=0,o=r.length;nt.replace(/\r\n?/g,` -`).replace(/<(\w+)([^>]*)>/g,(e,i,r)=>"<"+i+r.replace(/="([^"]*)"/g,"='$1'")+">"),Xx=t=>{const{text:e,metadata:i}=Vx(t),{displayMode:r,title:n,config:o={}}=i;return r&&(o.gantt||(o.gantt={}),o.gantt.displayMode=r),{title:n,config:o,text:e}},Kx=t=>{const e=oi.detectInit(t)??{},i=oi.detectDirective(t,"wrap");return Array.isArray(i)?e.wrap=i.some(({type:r})=>{}):(i==null?void 0:i.type)==="wrap"&&(e.wrap=!0),{text:x0(t),directive:e}};function th(t){const e=Gx(t),i=Xx(e),r=Kx(i.text),n=cl(i.config,r.directive);return t=rC(r.text),{code:t,title:i.title,config:n}}const Zx=5e4,Jx="graph TB;a[Maximum text size in diagram exceeded];style a fill:#faa",Qx="sandbox",tb="loose",eb="http://www.w3.org/2000/svg",ib="http://www.w3.org/1999/xlink",rb="http://www.w3.org/1999/xhtml",nb="100%",ob="100%",sb="border:0;margin:0;",ab="margin:0",lb="allow-top-navigation-by-user-activation allow-popups",hb='The "iframe" tag is not supported by your browser.',cb=["foreignobject"],ub=["dominant-baseline"];function eh(t){const e=th(t);return or(),Y0(e.config??{}),e}async function fb(t,e){Jn(),t=eh(t).code;try{await io(t)}catch(i){if(e!=null&&e.suppressErrors)return!1;throw i}return!0}const Ds=(t,e,i=[])=>` -.${t} ${e} { ${i.join(" !important; ")} !important; }`,db=(t,e={})=>{var i;let r="";if(t.themeCSS!==void 0&&(r+=` +`,o?1+l:l),o=!0,s=!0,l=0,i=t.position;!Nt(f)&&f!==0;)f=t.input.charCodeAt(++t.position);oe(t,i,t.position,!1)}return!0}function Ds(t,e){var i,r=t.tag,n=t.anchor,o=[],s,a=!1,l;if(t.firstTabInLine!==-1)return!1;for(t.anchor!==null&&(t.anchorMap[t.anchor]=o),l=t.input.charCodeAt(t.position);l!==0&&(t.firstTabInLine!==-1&&(t.position=t.firstTabInLine,F(t,"tab characters must not be used in indentation")),!(l!==45||(s=t.input.charCodeAt(t.position+1),!_t(s))));){if(a=!0,t.position++,Q(t,!0,-1)&&t.lineIndent<=e){o.push(null),l=t.input.charCodeAt(t.position);continue}if(i=t.line,Pe(t,e,Gl,!1,!0),o.push(t.result),Q(t,!0,-1),l=t.input.charCodeAt(t.position),(t.line===i||t.lineIndent>e)&&l!==0)F(t,"bad indentation of a sequence entry");else if(t.lineIndente)&&(k&&(s=t.line,a=t.lineStart,l=t.position),Pe(t,e,hr,!0,n)&&(k?_=t.result:v=t.result),k||(Le(t,f,c,p,_,v,s,a,l),p=_=v=null),Q(t,!0,-1),b=t.input.charCodeAt(t.position)),(t.line===o||t.lineIndent>e)&&b!==0)F(t,"bad indentation of a mapping entry");else if(t.lineIndente?l=1:t.lineIndent===e?l=0:t.lineIndente?l=1:t.lineIndent===e?l=0:t.lineIndent tag; it should be "scalar", not "'+t.kind+'"'),f=0,c=t.implicitTypes.length;f"),t.result!==null&&_.kind!==t.kind&&F(t,"unacceptable node kind for !<"+t.tag+'> tag; it should be "'+_.kind+'", not "'+t.kind+'"'),_.resolve(t.result,t.tag)?(t.result=_.construct(t.result,t.tag),t.anchor!==null&&(t.anchorMap[t.anchor]=t.result)):F(t,"cannot resolve a node with !<"+t.tag+"> explicit tag")}return t.listener!==null&&t.listener("close",t),t.tag!==null||t.anchor!==null||u}function qx(t){var e=t.position,i,r,n,o=!1,s;for(t.version=null,t.checkLineBreaks=t.legacy,t.tagMap=Object.create(null),t.anchorMap=Object.create(null);(s=t.input.charCodeAt(t.position))!==0&&(Q(t,!0,-1),s=t.input.charCodeAt(t.position),!(t.lineIndent>0||s!==37));){for(o=!0,s=t.input.charCodeAt(++t.position),i=t.position;s!==0&&!_t(s);)s=t.input.charCodeAt(++t.position);for(r=t.input.slice(i,t.position),n=[],r.length<1&&F(t,"directive name must not be less than one character in length");s!==0;){for(;ge(s);)s=t.input.charCodeAt(++t.position);if(s===35){do s=t.input.charCodeAt(++t.position);while(s!==0&&!Nt(s));break}if(Nt(s))break;for(i=t.position;s!==0&&!_t(s);)s=t.input.charCodeAt(++t.position);n.push(t.input.slice(i,t.position))}s!==0&&to(t),ae.call(Is,r)?Is[r](t,r,n):cr(t,'unknown document directive "'+r+'"')}if(Q(t,!0,-1),t.lineIndent===0&&t.input.charCodeAt(t.position)===45&&t.input.charCodeAt(t.position+1)===45&&t.input.charCodeAt(t.position+2)===45?(t.position+=3,Q(t,!0,-1)):o&&F(t,"directives end mark is expected"),Pe(t,t.lineIndent-1,hr,!1,!0),Q(t,!0,-1),t.checkLineBreaks&&kx.test(t.input.slice(e,t.position))&&cr(t,"non-ASCII line breaks are interpreted as content"),t.documents.push(t.result),t.position===t.lineStart&&Lr(t)){t.input.charCodeAt(t.position)===46&&(t.position+=3,Q(t,!0,-1));return}if(t.position"u"&&(i=e,e=null);var r=th(t,i);if(typeof e!="function")return r;for(var n=0,o=r.length;nt.replace(/\r\n?/g,` +`).replace(/<(\w+)([^>]*)>/g,(e,i,r)=>"<"+i+r.replace(/="([^"]*)"/g,"='$1'")+">"),Kx=t=>{const{text:e,metadata:i}=Gx(t),{displayMode:r,title:n,config:o={}}=i;return r&&(o.gantt||(o.gantt={}),o.gantt.displayMode=r),{title:n,config:o,text:e}},Zx=t=>{const e=oi.detectInit(t)??{},i=oi.detectDirective(t,"wrap");return Array.isArray(i)?e.wrap=i.some(({type:r})=>{}):(i==null?void 0:i.type)==="wrap"&&(e.wrap=!0),{text:b0(t),directive:e}};function eh(t){const e=Xx(t),i=Kx(e),r=Zx(i.text),n=ul(i.config,r.directive);return t=nC(r.text),{code:t,title:i.title,config:n}}const Jx=5e4,Qx="graph TB;a[Maximum text size in diagram exceeded];style a fill:#faa",tb="sandbox",eb="loose",ib="http://www.w3.org/2000/svg",rb="http://www.w3.org/1999/xlink",nb="http://www.w3.org/1999/xhtml",ob="100%",sb="100%",ab="border:0;margin:0;",lb="margin:0",hb="allow-top-navigation-by-user-activation allow-popups",cb='The "iframe" tag is not supported by your browser.',ub=["foreignobject"],fb=["dominant-baseline"];function ih(t){const e=eh(t);return or(),V0(e.config??{}),e}async function db(t,e){Jn(),t=ih(t).code;try{await io(t)}catch(i){if(e!=null&&e.suppressErrors)return!1;throw i}return!0}const Ns=(t,e,i=[])=>` +.${t} ${e} { ${i.join(" !important; ")} !important; }`,pb=(t,e={})=>{var i;let r="";if(t.themeCSS!==void 0&&(r+=` ${t.themeCSS}`),t.fontFamily!==void 0&&(r+=` :root { --mermaid-font-family: ${t.fontFamily}}`),t.altFontFamily!==void 0&&(r+=` -:root { --mermaid-alt-font-family: ${t.altFontFamily}}`),!Xr(e)){const a=t.htmlLabels||((i=t.flowchart)==null?void 0:i.htmlLabels)?["> *","span"]:["rect","polygon","ellipse","circle","path"];for(const l in e){const h=e[l];Xr(h.styles)||a.forEach(u=>{r+=Ds(h.id,u,h.styles)}),Xr(h.textStyles)||(r+=Ds(h.id,"tspan",h.textStyles))}}return r},pb=(t,e,i,r)=>{const n=db(t,i),o=fy(e,n,t.themeVariables);return pn(km(`${r}{${o}}`),wm)},gb=(t="",e,i)=>{let r=t;return!i&&!e&&(r=r.replace(/marker-end="url\([\d+./:=?A-Za-z-]*?#/g,'marker-end="url(#')),r=W0(r),r=r.replace(/
/g,"
"),r},mb=(t="",e)=>{var i,r;const n=(r=(i=e==null?void 0:e.viewBox)==null?void 0:i.baseVal)!=null&&r.height?e.viewBox.baseVal.height+"px":ob,o=btoa(''+t+"");return``},Ns=(t,e,i,r,n)=>{const o=t.append("div");o.attr("id",i),r&&o.attr("style",r);const s=o.append("svg").attr("id",e).attr("width","100%").attr("xmlns",eb);return n&&s.attr("xmlns:xlink",n),s.append("g"),t};function Rs(t,e){return t.append("iframe").attr("id",e).attr("style","width: 100%; height: 100%;").attr("sandbox","")}const _b=(t,e,i,r)=>{var n,o,s;(n=t.getElementById(e))==null||n.remove(),(o=t.getElementById(i))==null||o.remove(),(s=t.getElementById(r))==null||s.remove()},yb=async function(t,e,i){var r,n,o,s,a,l;Jn();const h=eh(e);e=h.code;const u=Nt();O.debug(u),e.length>((u==null?void 0:u.maxTextSize)??Zx)&&(e=Jx);const f="#"+t,c="i"+t,p="#"+c,_="d"+t,v="#"+_;let k=Tt("body");const N=u.securityLevel===Qx,b=u.securityLevel===tb,P=u.fontFamily;if(i!==void 0){if(i&&(i.innerHTML=""),N){const E=Rs(Tt(i),c);k=Tt(E.nodes()[0].contentDocument.body),k.node().style.margin=0}else k=Tt(i);Ns(k,t,_,`font-family: ${P}`,ib)}else{if(_b(document,t,_,c),N){const E=Rs(Tt("body"),c);k=Tt(E.nodes()[0].contentDocument.body),k.node().style.margin=0}else k=Tt("body");Ns(k,t,_)}let H,V;try{H=await io(e,{title:h.title})}catch(E){H=new ql("error"),V=E}const K=k.select(v).node(),W=H.type,Jt=K.firstChild,Qt=Jt.firstChild,j=(n=(r=H.renderer).getClasses)==null?void 0:n.call(r,e,H),z=pb(u,W,j,f),St=document.createElement("style");St.innerHTML=z,Jt.insertBefore(St,Qt);try{await H.renderer.draw(e,t,Ss,H)}catch(E){throw Ly.draw(e,t,Ss),E}const te=k.select(`${v} svg`),I=(s=(o=H.db).getAccTitle)==null?void 0:s.call(o),T=(l=(a=H.db).getAccDescription)==null?void 0:l.call(a);xb(W,te,I,T),k.select(`[id="${t}"]`).selectAll("foreignobject > *").attr("xmlns",rb);let y=k.select(v).node().innerHTML;if(O.debug("config.arrowMarkerAbsolute",u.arrowMarkerAbsolute),y=gb(y,N,tl(u.arrowMarkerAbsolute)),N){const E=k.select(v+" svg").node();y=mb(y,E)}else b||(y=Ie.sanitize(y,{ADD_TAGS:cb,ADD_ATTR:ub}));if(Qy(),V)throw V;const x=Tt(N?p:v).node();return x&&"remove"in x&&x.remove(),{svg:y,bindFunctions:H.db.bindFunctions}};function Cb(t={}){var e;t!=null&&t.fontFamily&&!((e=t.themeVariables)!=null&&e.fontFamily)&&(t.themeVariables||(t.themeVariables={}),t.themeVariables.fontFamily=t.fontFamily),j0(t),t!=null&&t.theme&&t.theme in Xt?t.themeVariables=Xt[t.theme].getThemeVariables(t.themeVariables):t&&(t.themeVariables=Xt.default.getThemeVariables(t.themeVariables));const i=typeof t=="object"?H0(t):fl();zn(i.logLevel),Jn()}const io=(t,e={})=>{const{code:i}=th(t);return Jy(i,e)};function xb(t,e,i,r){eC(e,t),iC(e,i,r,e.attr("id"))}const ye=Object.freeze({render:yb,parse:fb,getDiagramFromText:io,initialize:Cb,getConfig:Nt,setConfig:dl,getSiteConfig:fl,updateSiteConfig:U0,reset:()=>{or()},globalReset:()=>{or(Ne)},defaultConfig:Ne});zn(Nt().logLevel);or(Nt());const bb=async()=>{O.debug("Loading registered diagrams");const e=(await Promise.allSettled(Object.entries(De).map(async([i,{detector:r,loader:n}])=>{if(n)try{Zn(i)}catch{try{const{diagram:s,id:a}=await n();ar(a,s,r)}catch(s){throw O.error(`Failed to load external diagram with key ${i}. Removing from detectors.`),delete De[i],s}}}))).filter(i=>i.status==="rejected");if(e.length>0){O.error(`Failed to load ${e.length} external diagrams`);for(const i of e)O.error(i);throw new Error(`Failed to load ${e.length} external diagrams`)}},Tb=(t,e,i)=>{O.warn(t),hl(t)?(i&&i(t.str,t.hash),e.push({...t,message:t.str,error:t})):(i&&i(t),t instanceof Error&&e.push({str:t.message,message:t.message,hash:t.name,error:t}))},ih=async function(t={querySelector:".mermaid"}){try{await vb(t)}catch(e){if(hl(e)&&O.error(e.str),Lt.parseError&&Lt.parseError(e),!t.suppressErrors)throw O.error("Use the suppressErrors option to suppress these errors"),e}},vb=async function({postRenderCallback:t,querySelector:e,nodes:i}={querySelector:".mermaid"}){const r=ye.getConfig();O.debug(`${t?"":"No "}Callback function found`);let n;if(i)n=i;else if(e)n=document.querySelectorAll(e);else throw new Error("Nodes and querySelector are both undefined");O.debug(`Found ${n.length} diagrams`),(r==null?void 0:r.startOnLoad)!==void 0&&(O.debug("Start On Load: "+(r==null?void 0:r.startOnLoad)),ye.updateSiteConfig({startOnLoad:r==null?void 0:r.startOnLoad}));const o=new oi.InitIDGenerator(r.deterministicIds,r.deterministicIDSeed);let s;const a=[];for(const l of Array.from(n)){O.info("Rendering diagram: "+l.id);/*! Check if previously processed */if(l.getAttribute("data-processed"))continue;l.setAttribute("data-processed","true");const h=`mermaid-${o.next()}`;s=l.innerHTML,s=mh(oi.entityDecode(s)).trim().replace(//gi,"
");const u=oi.detectInit(s);u&&O.debug("Detected early reinit: ",u);try{const{svg:f,bindFunctions:c}=await sh(h,s,l);l.innerHTML=f,t&&await t(h),c&&c(l)}catch(f){Tb(f,a,Lt.parseError)}}if(a.length>0)throw a[0]},rh=function(t){ye.initialize(t)},kb=async function(t,e,i){O.warn("mermaid.init is deprecated. Please use run instead."),t&&rh(t);const r={postRenderCallback:i,querySelector:".mermaid"};typeof e=="string"?r.querySelector=e:e&&(e instanceof HTMLElement?r.nodes=[e]:r.nodes=e),await ih(r)},Sb=async(t,{lazyLoad:e=!0}={})=>{ol(...t),e===!1&&await bb()},nh=function(){if(Lt.startOnLoad){const{startOnLoad:t}=ye.getConfig();t&&Lt.run().catch(e=>O.error("Mermaid failed to initialize",e))}};if(typeof document<"u"){/*! +:root { --mermaid-alt-font-family: ${t.altFontFamily}}`),!Xr(e)){const a=t.htmlLabels||((i=t.flowchart)==null?void 0:i.htmlLabels)?["> *","span"]:["rect","polygon","ellipse","circle","path"];for(const l in e){const h=e[l];Xr(h.styles)||a.forEach(u=>{r+=Ns(h.id,u,h.styles)}),Xr(h.textStyles)||(r+=Ns(h.id,"tspan",h.textStyles))}}return r},gb=(t,e,i,r)=>{const n=pb(t,i),o=dy(e,n,t.themeVariables);return pn(Sm(`${r}{${o}}`),Bm)},mb=(t="",e,i)=>{let r=t;return!i&&!e&&(r=r.replace(/marker-end="url\([\d+./:=?A-Za-z-]*?#/g,'marker-end="url(#')),r=H0(r),r=r.replace(/
/g,"
"),r},_b=(t="",e)=>{var i,r;const n=(r=(i=e==null?void 0:e.viewBox)==null?void 0:i.baseVal)!=null&&r.height?e.viewBox.baseVal.height+"px":sb,o=btoa(''+t+"");return``},Rs=(t,e,i,r,n)=>{const o=t.append("div");o.attr("id",i),r&&o.attr("style",r);const s=o.append("svg").attr("id",e).attr("width","100%").attr("xmlns",ib);return n&&s.attr("xmlns:xlink",n),s.append("g"),t};function Ps(t,e){return t.append("iframe").attr("id",e).attr("style","width: 100%; height: 100%;").attr("sandbox","")}const yb=(t,e,i,r)=>{var n,o,s;(n=t.getElementById(e))==null||n.remove(),(o=t.getElementById(i))==null||o.remove(),(s=t.getElementById(r))==null||s.remove()},Cb=async function(t,e,i){var r,n,o,s,a,l;Jn();const h=ih(e);e=h.code;const u=Pt();O.debug(u),e.length>((u==null?void 0:u.maxTextSize)??Jx)&&(e=Qx);const f="#"+t,c="i"+t,p="#"+c,_="d"+t,v="#"+_;let k=Tt("body");const N=u.securityLevel===tb,b=u.securityLevel===eb,P=u.fontFamily;if(i!==void 0){if(i&&(i.innerHTML=""),N){const E=Ps(Tt(i),c);k=Tt(E.nodes()[0].contentDocument.body),k.node().style.margin=0}else k=Tt(i);Rs(k,t,_,`font-family: ${P}`,rb)}else{if(yb(document,t,_,c),N){const E=Ps(Tt("body"),c);k=Tt(E.nodes()[0].contentDocument.body),k.node().style.margin=0}else k=Tt("body");Rs(k,t,_)}let j,V;try{j=await io(e,{title:h.title})}catch(E){j=new zl("error"),V=E}const K=k.select(v).node(),H=j.type,Qt=K.firstChild,te=Qt.firstChild,U=(n=(r=j.renderer).getClasses)==null?void 0:n.call(r,e,j),W=gb(u,H,U,f),St=document.createElement("style");St.innerHTML=W,Qt.insertBefore(St,te);try{await j.renderer.draw(e,t,ws,j)}catch(E){throw Fy.draw(e,t,ws),E}const ee=k.select(`${v} svg`),I=(s=(o=j.db).getAccTitle)==null?void 0:s.call(o),T=(l=(a=j.db).getAccDescription)==null?void 0:l.call(a);bb(H,ee,I,T),k.select(`[id="${t}"]`).selectAll("foreignobject > *").attr("xmlns",nb);let y=k.select(v).node().innerHTML;if(O.debug("config.arrowMarkerAbsolute",u.arrowMarkerAbsolute),y=mb(y,N,el(u.arrowMarkerAbsolute)),N){const E=k.select(v+" svg").node();y=_b(y,E)}else b||(y=Ie.sanitize(y,{ADD_TAGS:ub,ADD_ATTR:fb}));if(tC(),V)throw V;const x=Tt(N?p:v).node();return x&&"remove"in x&&x.remove(),{svg:y,bindFunctions:j.db.bindFunctions}};function xb(t={}){var e;t!=null&&t.fontFamily&&!((e=t.themeVariables)!=null&&e.fontFamily)&&(t.themeVariables||(t.themeVariables={}),t.themeVariables.fontFamily=t.fontFamily),U0(t),t!=null&&t.theme&&t.theme in Kt?t.themeVariables=Kt[t.theme].getThemeVariables(t.themeVariables):t&&(t.themeVariables=Kt.default.getThemeVariables(t.themeVariables));const i=typeof t=="object"?j0(t):dl();zn(i.logLevel),Jn()}const io=(t,e={})=>{const{code:i}=eh(t);return Qy(i,e)};function bb(t,e,i,r){iC(e,t),rC(e,i,r,e.attr("id"))}const ye=Object.freeze({render:Cb,parse:db,getDiagramFromText:io,initialize:xb,getConfig:Pt,setConfig:pl,getSiteConfig:dl,updateSiteConfig:Y0,reset:()=>{or()},globalReset:()=>{or(Ne)},defaultConfig:Ne});zn(Pt().logLevel);or(Pt());const Tb=async()=>{O.debug("Loading registered diagrams");const e=(await Promise.allSettled(Object.entries(De).map(async([i,{detector:r,loader:n}])=>{if(n)try{Zn(i)}catch{try{const{diagram:s,id:a}=await n();ar(a,s,r)}catch(s){throw O.error(`Failed to load external diagram with key ${i}. Removing from detectors.`),delete De[i],s}}}))).filter(i=>i.status==="rejected");if(e.length>0){O.error(`Failed to load ${e.length} external diagrams`);for(const i of e)O.error(i);throw new Error(`Failed to load ${e.length} external diagrams`)}},vb=(t,e,i)=>{O.warn(t),cl(t)?(i&&i(t.str,t.hash),e.push({...t,message:t.str,error:t})):(i&&i(t),t instanceof Error&&e.push({str:t.message,message:t.message,hash:t.name,error:t}))},rh=async function(t={querySelector:".mermaid"}){try{await kb(t)}catch(e){if(cl(e)&&O.error(e.str),Ft.parseError&&Ft.parseError(e),!t.suppressErrors)throw O.error("Use the suppressErrors option to suppress these errors"),e}},kb=async function({postRenderCallback:t,querySelector:e,nodes:i}={querySelector:".mermaid"}){const r=ye.getConfig();O.debug(`${t?"":"No "}Callback function found`);let n;if(i)n=i;else if(e)n=document.querySelectorAll(e);else throw new Error("Nodes and querySelector are both undefined");O.debug(`Found ${n.length} diagrams`),(r==null?void 0:r.startOnLoad)!==void 0&&(O.debug("Start On Load: "+(r==null?void 0:r.startOnLoad)),ye.updateSiteConfig({startOnLoad:r==null?void 0:r.startOnLoad}));const o=new oi.InitIDGenerator(r.deterministicIds,r.deterministicIDSeed);let s;const a=[];for(const l of Array.from(n)){O.info("Rendering diagram: "+l.id);/*! Check if previously processed */if(l.getAttribute("data-processed"))continue;l.setAttribute("data-processed","true");const h=`mermaid-${o.next()}`;s=l.innerHTML,s=_h(oi.entityDecode(s)).trim().replace(//gi,"
");const u=oi.detectInit(s);u&&O.debug("Detected early reinit: ",u);try{const{svg:f,bindFunctions:c}=await ah(h,s,l);l.innerHTML=f,t&&await t(h),c&&c(l)}catch(f){vb(f,a,Ft.parseError)}}if(a.length>0)throw a[0]},nh=function(t){ye.initialize(t)},Sb=async function(t,e,i){O.warn("mermaid.init is deprecated. Please use run instead."),t&&nh(t);const r={postRenderCallback:i,querySelector:".mermaid"};typeof e=="string"?r.querySelector=e:e&&(e instanceof HTMLElement?r.nodes=[e]:r.nodes=e),await rh(r)},wb=async(t,{lazyLoad:e=!0}={})=>{sl(...t),e===!1&&await Tb()},oh=function(){if(Ft.startOnLoad){const{startOnLoad:t}=ye.getConfig();t&&Ft.run().catch(e=>O.error("Mermaid failed to initialize",e))}};if(typeof document<"u"){/*! * Wait for document loaded before starting the execution - */window.addEventListener("load",nh,!1)}const wb=function(t){Lt.parseError=t},ur=[];let Qr=!1;const oh=async()=>{if(!Qr){for(Qr=!0;ur.length>0;){const t=ur.shift();if(t)try{await t()}catch(e){O.error("Error executing queue",e)}}Qr=!1}},Bb=async(t,e)=>new Promise((i,r)=>{const n=()=>new Promise((o,s)=>{ye.parse(t,e).then(a=>{o(a),i(a)},a=>{var l;O.error("Error parsing",a),(l=Lt.parseError)==null||l.call(Lt,a),s(a),r(a)})});ur.push(n),oh().catch(r)}),sh=(t,e,i)=>new Promise((r,n)=>{const o=()=>new Promise((s,a)=>{ye.render(t,e,i).then(l=>{s(l),r(l)},l=>{var h;O.error("Error parsing",l),(h=Lt.parseError)==null||h.call(Lt,l),a(l),n(l)})});ur.push(o),oh().catch(n)}),Lt={startOnLoad:!0,mermaidAPI:ye,parse:Bb,render:sh,init:kb,run:ih,registerExternalDiagrams:Sb,initialize:rh,parseError:void 0,contentLoaded:nh,setParseErrorHandler:wb,detectType:Br},Gb=Object.freeze(Object.defineProperty({__proto__:null,default:Lt},Symbol.toStringTag,{value:"Module"}));export{os as $,dy as A,bi as B,qe as C,ir as D,Tr as E,jg as F,Fm as G,xi as H,er as I,Rg as J,Ha as K,Da as L,Rp as M,Pp as N,Nm as O,cs as P,Og as Q,Ce as R,Qi as S,qp as T,Nn as U,Np as V,jp as W,ze as X,Ng as Y,ae as Z,yr as _,_y as a,s0 as a$,Rn as a0,Ra as a1,Wa as a2,Ua as a3,$p as a4,_n as a5,am as a6,Kp as a7,Qg as a8,$n as a9,ra as aA,Lb as aB,_h as aC,yh as aD,xh as aE,wn as aF,re as aG,hi as aH,Io as aI,yu as aJ,By as aK,Nb as aL,f0 as aM,cl as aN,Un as aO,Fn as aP,Ob as aQ,$b as aR,zo as aS,qo as aT,Db as aU,Ib as aV,Fb as aW,Eb as aX,Pb as aY,Rb as aZ,Mb as a_,Xr as aa,yt as ab,Qs as ac,Ah as ad,sg as ae,ii as af,sm as ag,Jg as ah,Pt as ai,lm as aj,Dn as ak,cm as al,$ as am,Dt as an,W0 as ao,Pf as ap,mh as aq,Yb as ar,qb as as,ky as at,O0 as au,Sn as av,ta as aw,mt as ax,yi as ay,uu as az,my as b,Nt as b0,Ts as b1,zb as b2,m0 as b3,F0 as b4,xy as b5,Ci as b6,L as b7,M as b8,Gb as b9,Kn as c,gi as d,st as e,nr as f,gy as g,Tt as h,Ml as i,Wn as j,N0 as k,O as l,qs as m,Ti as n,Df as o,L0 as p,tl as q,t0 as r,py as s,T0 as t,hy as u,Vb as v,$0 as w,yy as x,Cy as y,oi as z}; + */window.addEventListener("load",oh,!1)}const Bb=function(t){Ft.parseError=t},ur=[];let Qr=!1;const sh=async()=>{if(!Qr){for(Qr=!0;ur.length>0;){const t=ur.shift();if(t)try{await t()}catch(e){O.error("Error executing queue",e)}}Qr=!1}},Ab=async(t,e)=>new Promise((i,r)=>{const n=()=>new Promise((o,s)=>{ye.parse(t,e).then(a=>{o(a),i(a)},a=>{var l;O.error("Error parsing",a),(l=Ft.parseError)==null||l.call(Ft,a),s(a),r(a)})});ur.push(n),sh().catch(r)}),ah=(t,e,i)=>new Promise((r,n)=>{const o=()=>new Promise((s,a)=>{ye.render(t,e,i).then(l=>{s(l),r(l)},l=>{var h;O.error("Error parsing",l),(h=Ft.parseError)==null||h.call(Ft,l),a(l),n(l)})});ur.push(o),sh().catch(n)}),Ft={startOnLoad:!0,mermaidAPI:ye,parse:Ab,render:ah,init:Sb,run:rh,registerExternalDiagrams:wb,initialize:nh,parseError:void 0,contentLoaded:oh,setParseErrorHandler:Bb,detectType:Br},Xb=Object.freeze(Object.defineProperty({__proto__:null,default:Ft},Symbol.toStringTag,{value:"Module"}));export{ss as $,py as A,bi as B,qe as C,ir as D,Tr as E,Ug as F,Em as G,xi as H,er as I,Pg as J,ja as K,Na as L,Pp as M,qp as N,Rm as O,us as P,Mg as Q,Ce as R,Qi as S,zp as T,Nn as U,Rp as V,Up as W,ze as X,Rg as Y,le as Z,yr as _,yy as a,a0 as a$,Rn as a0,Pa as a1,Ha as a2,Ya as a3,Dp as a4,_n as a5,lm as a6,Zp as a7,tm as a8,$n as a9,na as aA,Fb as aB,yh as aC,Ch as aD,bh as aE,wn as aF,ne as aG,hi as aH,$o as aI,Cu as aJ,Ay as aK,Rb as aL,d0 as aM,ul as aN,Un as aO,Fn as aP,Mb as aQ,Db as aR,Wo as aS,zo as aT,Nb as aU,$b as aV,Eb as aW,Ob as aX,qb as aY,Pb as aZ,Ib as a_,Xr as aa,yt as ab,ta as ac,Lh as ad,ag as ae,ii as af,am as ag,Qg as ah,zt as ai,hm as aj,Dn as ak,um as al,$ as am,Rt as an,H0 as ao,qf as ap,_h as aq,Vb as ar,zb as as,Sy as at,M0 as au,Sn as av,ea as aw,mt as ax,yi as ay,fu as az,_y as b,Pt as b0,vs as b1,Wb as b2,_0 as b3,E0 as b4,by as b5,Ci as b6,L as b7,M as b8,Xb as b9,Kn as c,gi as d,st as e,nr as f,my as g,Tt as h,Il as i,Wn as j,R0 as k,O as l,zs as m,Ti as n,Nf as o,F0 as p,el as q,e0 as r,gy as s,v0 as t,cy as u,Gb as v,D0 as w,Cy as x,xy as y,oi as z}; diff --git a/assets/message-format.html-C5G0FPtR.js b/assets/message-format.html-AWYDHReT.js similarity index 96% rename from assets/message-format.html-C5G0FPtR.js rename to assets/message-format.html-AWYDHReT.js index ee0c74c..f89e58a 100644 --- a/assets/message-format.html-C5G0FPtR.js +++ b/assets/message-format.html-AWYDHReT.js @@ -1,4 +1,4 @@ -import{_ as c}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as i,o as p,c as u,e as o,w as a,b as s,d as e,a as m}from"./app-B0fd3cYb.js";const d={},k=s("h1",{id:"taskiq-message-format",tabindex:"-1"},[s("a",{class:"header-anchor",href:"#taskiq-message-format"},[s("span",null,"Taskiq message format")])],-1),g=s("p",null,"Taskiq doesn't force you to use any specific message format. We define default message format, but you can use any format you want.",-1),b=s("p",null,"The default message format is:",-1),h=s("div",{class:"language-json line-numbers-mode","data-ext":"json","data-title":"json"},[s("pre",{class:"language-json"},[s("code",null,[s("span",{class:"token punctuation"},"{"),e(` +import{_ as c}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as i,o as p,c as u,e as o,w as a,b as s,d as e,a as m}from"./app-jADuhdjP.js";const d={},k=s("h1",{id:"taskiq-message-format",tabindex:"-1"},[s("a",{class:"header-anchor",href:"#taskiq-message-format"},[s("span",null,"Taskiq message format")])],-1),g=s("p",null,"Taskiq doesn't force you to use any specific message format. We define default message format, but you can use any format you want.",-1),b=s("p",null,"The default message format is:",-1),h=s("div",{class:"language-json line-numbers-mode","data-ext":"json","data-title":"json"},[s("pre",{class:"language-json"},[s("code",null,[s("span",{class:"token punctuation"},"{"),e(` `),s("span",{class:"token property"},'"task_name"'),s("span",{class:"token operator"},":"),e(),s("span",{class:"token string"},'"my_project.module1.task"'),s("span",{class:"token punctuation"},","),e(` `),s("span",{class:"token property"},'"args"'),s("span",{class:"token operator"},":"),e(),s("span",{class:"token punctuation"},"["),s("span",{class:"token number"},"1"),s("span",{class:"token punctuation"},","),e(),s("span",{class:"token number"},"2"),s("span",{class:"token punctuation"},","),e(),s("span",{class:"token number"},"3"),s("span",{class:"token punctuation"},"]"),s("span",{class:"token punctuation"},","),e(` `),s("span",{class:"token property"},'"kwargs"'),s("span",{class:"token operator"},":"),e(),s("span",{class:"token punctuation"},"{"),s("span",{class:"token property"},'"a"'),s("span",{class:"token operator"},":"),e(),s("span",{class:"token number"},"1"),s("span",{class:"token punctuation"},","),e(),s("span",{class:"token property"},'"b"'),s("span",{class:"token operator"},":"),e(),s("span",{class:"token number"},"2"),s("span",{class:"token punctuation"},","),e(),s("span",{class:"token property"},'"c"'),s("span",{class:"token operator"},":"),e(),s("span",{class:"token number"},"3"),s("span",{class:"token punctuation"},"}"),s("span",{class:"token punctuation"},","),e(` @@ -43,4 +43,4 @@ import{_ as c}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as i,o as p, `)])]),s("div",{class:"line-numbers","aria-hidden":"true"},[s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"})])],-1),y=s("p",null,"But this can be easily changed by creating your own implementation of the TaskiqFormatter class or TaskiqSerializer class.",-1),v=s("h3",{id:"serializers",tabindex:"-1"},[s("a",{class:"header-anchor",href:"#serializers"},[s("span",null,"Serializers")])],-1),_=s("p",null,"Serializers define the format of the message but not the structure. For example, if you want to use msgpack or ORJson to serialize your message, you should update the serializer of your broker.",-1),T=s("p",null,"Be default, Taskiq uses JSON serializer. But we also have some implementations of other serializers:",-1),q={href:"https://pypi.org/project/orjson/",target:"_blank",rel:"noopener noreferrer"},z={href:"https://pypi.org/project/msgpack/",target:"_blank",rel:"noopener noreferrer"},w={href:"https://pypi.org/project/cbor2/",target:"_blank",rel:"noopener noreferrer"},j=s("p",null,[e("To define your own serializer, you have to subclass the TaskiqSerializer class and implement "),s("code",null,"dumpb"),e(" and "),s("code",null,"loadb"),e(" methods. You can take a look at the existing implementations from the "),s("code",null,"taskiq.serializers"),e(" module.")],-1),x=s("p",null,"To install taskiq with libraries for non-JSON serializers, you should install taskiq with extras.",-1),S=s("div",{class:"language-bash line-numbers-mode","data-ext":"sh","data-title":"sh"},[s("pre",{class:"language-bash"},[s("code",null,[e("pip "),s("span",{class:"token function"},"install"),e(),s("span",{class:"token string"},'"taskiq[orjson]"'),e(` `)])]),s("div",{class:"line-numbers","aria-hidden":"true"},[s("div",{class:"line-number"})])],-1),A=s("div",{class:"language-bash line-numbers-mode","data-ext":"sh","data-title":"sh"},[s("pre",{class:"language-bash"},[s("code",null,[e("pip "),s("span",{class:"token function"},"install"),e(),s("span",{class:"token string"},'"taskiq[msgpack]"'),e(` `)])]),s("div",{class:"line-numbers","aria-hidden":"true"},[s("div",{class:"line-number"})])],-1),N=s("div",{class:"language-bash line-numbers-mode","data-ext":"sh","data-title":"sh"},[s("pre",{class:"language-bash"},[s("code",null,[e("pip "),s("span",{class:"token function"},"install"),e(),s("span",{class:"token string"},'"taskiq[cbor]"'),e(` -`)])]),s("div",{class:"line-numbers","aria-hidden":"true"},[s("div",{class:"line-number"})])],-1),B=m('

Formatters

Formatters define the format of the message. It might be useful if you'd like to send a task to a celery worker for a different project. You can do it in seriazier as well, but formatters give you correct type hints.

By default we use a formatter that dumps the message to dict and serializes it using serializer. But you can define your own formatter to send a message in any format you want. To define a new formatter, you have to subclass the TaskiqFormatter class and implement dumps and loads methods. As an example, you can take a look at the JSONFormatter from taskiq.formatters implementation.

',3);function O(F,J){const l=i("Tabs"),r=i("ExternalLinkIcon");return p(),u("div",null,[k,g,b,o(l,{id:"9",data:[{id:"example"},{id:"json schema"}]},{title0:a(({value:n,isActive:t})=>[e("example")]),title1:a(({value:n,isActive:t})=>[e("json schema")]),tab0:a(({value:n,isActive:t})=>[h]),tab1:a(({value:n,isActive:t})=>[f]),_:1}),y,v,_,T,s("ul",null,[s("li",null,[e("ORJSONSerializer - faster "),s("a",q,[e("JSON implementation"),o(r)]),e(". Also, it supports datetime and UUID serialization.")]),s("li",null,[e("MSGPackSerializer - "),s("a",z,[e("MsgPack"),o(r)]),e(" format serializer. It might be useful to send less data over the network.")]),s("li",null,[e("CBORSerializer - "),s("a",w,[e("CBOR"),o(r)]),e(" format serializer. It is also has a smaller size than JSON.")])]),j,x,o(l,{id:"52",data:[{id:"orjson"},{id:"msgpack"},{id:"cbor"}]},{title0:a(({value:n,isActive:t})=>[e("orjson")]),title1:a(({value:n,isActive:t})=>[e("msgpack")]),title2:a(({value:n,isActive:t})=>[e("cbor")]),tab0:a(({value:n,isActive:t})=>[S]),tab1:a(({value:n,isActive:t})=>[A]),tab2:a(({value:n,isActive:t})=>[N]),_:1}),B])}const C=c(d,[["render",O],["__file","message-format.html.vue"]]),P=JSON.parse(`{"path":"/guide/message-format.html","title":"Taskiq message format","lang":"en-US","frontmatter":{"order":11,"description":"Taskiq message format Taskiq doesn't force you to use any specific message format. We define default message format, but you can use any format you want. The default message for...","head":[["meta",{"property":"og:url","content":"https://taskiq-python.github.io/guide/message-format.html"}],["meta",{"property":"og:site_name","content":"Taskiq"}],["meta",{"property":"og:title","content":"Taskiq message format"}],["meta",{"property":"og:description","content":"Taskiq message format Taskiq doesn't force you to use any specific message format. We define default message format, but you can use any format you want. The default message for..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-04-20T00:01:02.000Z"}],["meta",{"property":"article:modified_time","content":"2024-04-20T00:01:02.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Taskiq message format\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-04-20T00:01:02.000Z\\",\\"author\\":[]}"]]},"headers":[{"level":3,"title":"Serializers","slug":"serializers","link":"#serializers","children":[]},{"level":3,"title":"Formatters","slug":"formatters","link":"#formatters","children":[]}],"git":{"createdTime":1713571262000,"updatedTime":1713571262000,"contributors":[{"name":"Pavel Kirilin","email":"win10@list.ru","commits":1}]},"filePathRelative":"guide/message-format.md","localizedDate":"April 20, 2024","autoDesc":true,"excerpt":"\\n

Taskiq doesn't force you to use any specific message format. We define default message format,\\nbut you can use any format you want.

\\n

The default message format is:

\\n\\n

But this can be easily changed by creating your own implementation of the TaskiqFormatter class or TaskiqSerializer class.

"}`);export{C as comp,P as data}; +`)])]),s("div",{class:"line-numbers","aria-hidden":"true"},[s("div",{class:"line-number"})])],-1),B=m('

Formatters

Formatters define the format of the message. It might be useful if you'd like to send a task to a celery worker for a different project. You can do it in seriazier as well, but formatters give you correct type hints.

By default we use a formatter that dumps the message to dict and serializes it using serializer. But you can define your own formatter to send a message in any format you want. To define a new formatter, you have to subclass the TaskiqFormatter class and implement dumps and loads methods. As an example, you can take a look at the JSONFormatter from taskiq.formatters implementation.

',3);function O(F,J){const l=i("Tabs"),r=i("ExternalLinkIcon");return p(),u("div",null,[k,g,b,o(l,{id:"9",data:[{id:"example"},{id:"json schema"}]},{title0:a(({value:n,isActive:t})=>[e("example")]),title1:a(({value:n,isActive:t})=>[e("json schema")]),tab0:a(({value:n,isActive:t})=>[h]),tab1:a(({value:n,isActive:t})=>[f]),_:1}),y,v,_,T,s("ul",null,[s("li",null,[e("ORJSONSerializer - faster "),s("a",q,[e("JSON implementation"),o(r)]),e(". Also, it supports datetime and UUID serialization.")]),s("li",null,[e("MSGPackSerializer - "),s("a",z,[e("MsgPack"),o(r)]),e(" format serializer. It might be useful to send less data over the network.")]),s("li",null,[e("CBORSerializer - "),s("a",w,[e("CBOR"),o(r)]),e(" format serializer. It is also has a smaller size than JSON.")])]),j,x,o(l,{id:"52",data:[{id:"orjson"},{id:"msgpack"},{id:"cbor"}]},{title0:a(({value:n,isActive:t})=>[e("orjson")]),title1:a(({value:n,isActive:t})=>[e("msgpack")]),title2:a(({value:n,isActive:t})=>[e("cbor")]),tab0:a(({value:n,isActive:t})=>[S]),tab1:a(({value:n,isActive:t})=>[A]),tab2:a(({value:n,isActive:t})=>[N]),_:1}),B])}const C=c(d,[["render",O],["__file","message-format.html.vue"]]),P=JSON.parse(`{"path":"/guide/message-format.html","title":"Taskiq message format","lang":"en-US","frontmatter":{"order":11,"description":"Taskiq message format Taskiq doesn't force you to use any specific message format. We define default message format, but you can use any format you want. The default message for...","head":[["meta",{"property":"og:url","content":"https://taskiq-python.github.io/guide/message-format.html"}],["meta",{"property":"og:site_name","content":"Taskiq"}],["meta",{"property":"og:title","content":"Taskiq message format"}],["meta",{"property":"og:description","content":"Taskiq message format Taskiq doesn't force you to use any specific message format. We define default message format, but you can use any format you want. The default message for..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-04-26T20:07:59.000Z"}],["meta",{"property":"article:modified_time","content":"2024-04-26T20:07:59.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Taskiq message format\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-04-26T20:07:59.000Z\\",\\"author\\":[]}"]]},"headers":[{"level":3,"title":"Serializers","slug":"serializers","link":"#serializers","children":[]},{"level":3,"title":"Formatters","slug":"formatters","link":"#formatters","children":[]}],"git":{"createdTime":1714162079000,"updatedTime":1714162079000,"contributors":[{"name":"Pavel Kirilin","email":"win10@list.ru","commits":1}]},"filePathRelative":"guide/message-format.md","localizedDate":"April 26, 2024","autoDesc":true,"excerpt":"\\n

Taskiq doesn't force you to use any specific message format. We define default message format,\\nbut you can use any format you want.

\\n

The default message format is:

\\n\\n

But this can be easily changed by creating your own implementation of the TaskiqFormatter class or TaskiqSerializer class.

"}`);export{C as comp,P as data}; diff --git a/assets/middleware.html-Bhbwml-y.js b/assets/middleware.html-otmDcQQS.js similarity index 96% rename from assets/middleware.html-Bhbwml-y.js rename to assets/middleware.html-otmDcQQS.js index 0bf6841..5eaf9c1 100644 --- a/assets/middleware.html-Bhbwml-y.js +++ b/assets/middleware.html-otmDcQQS.js @@ -1,4 +1,4 @@ -import{_ as p}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as c,o as r,c as u,b as s,d as n,e as o,w as e}from"./app-B0fd3cYb.js";const k={},d=s("h1",{id:"middlewares",tabindex:"-1"},[s("a",{class:"header-anchor",href:"#middlewares"},[s("span",null,"Middlewares")])],-1),m=s("p",null,"Middlewares are super helpful. You can inject some code before or after task's execution.",-1),b={href:"https://github.com/taskiq-python/taskiq/blob/master/taskiq/abc/middleware.py",target:"_blank",rel:"noopener noreferrer"},w=s("code",null,"taskiq.abc.middleware.TaskiqMiddleware",-1),y=s("p",null,"For example:",-1),v=s("div",{class:"language-python line-numbers-mode","data-ext":"py","data-title":"py"},[s("pre",{class:"language-python"},[s("code",null,[s("span",{class:"token keyword"},"from"),n(" time "),s("span",{class:"token keyword"},"import"),n(` sleep +import{_ as p}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as c,o as r,c as u,b as s,d as n,e as o,w as e}from"./app-jADuhdjP.js";const k={},d=s("h1",{id:"middlewares",tabindex:"-1"},[s("a",{class:"header-anchor",href:"#middlewares"},[s("span",null,"Middlewares")])],-1),m=s("p",null,"Middlewares are super helpful. You can inject some code before or after task's execution.",-1),b={href:"https://github.com/taskiq-python/taskiq/blob/master/taskiq/abc/middleware.py",target:"_blank",rel:"noopener noreferrer"},w=s("code",null,"taskiq.abc.middleware.TaskiqMiddleware",-1),y=s("p",null,"For example:",-1),v=s("div",{class:"language-python line-numbers-mode","data-ext":"py","data-title":"py"},[s("pre",{class:"language-python"},[s("code",null,[s("span",{class:"token keyword"},"from"),n(" time "),s("span",{class:"token keyword"},"import"),n(` sleep `),s("span",{class:"token keyword"},"from"),n(" typing "),s("span",{class:"token keyword"},"import"),n(` Any `),s("span",{class:"token keyword"},"from"),n(" taskiq "),s("span",{class:"token keyword"},"import"),n(" TaskiqMessage"),s("span",{class:"token punctuation"},","),n(" TaskiqMiddleware"),s("span",{class:"token punctuation"},","),n(` TaskiqResult @@ -46,4 +46,4 @@ import{_ as p}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as c,o as r, `),s("span",{class:"token punctuation"},")"),n(),s("span",{class:"token operator"},"-"),s("span",{class:"token operator"},">"),n(),s("span",{class:"token boolean"},"None"),s("span",{class:"token punctuation"},":"),n(` `),s("span",{class:"token keyword"},"await"),n(" sleep"),s("span",{class:"token punctuation"},"("),s("span",{class:"token number"},"1"),s("span",{class:"token punctuation"},")"),n(` `),s("span",{class:"token keyword"},"print"),s("span",{class:"token punctuation"},"("),s("span",{class:"token string"},'"Post save"'),s("span",{class:"token punctuation"},")"),n(` -`)])]),s("div",{class:"line-numbers","aria-hidden":"true"},[s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"})])],-1),h=s("p",null,[n("Also, middlewares always have reference to the current broker in "),s("code",null,"self.broker"),n(" field. If you want to kick a message during the execution of some middleware hooks, you may use "),s("code",null,"self.broker"),n(" to do so.")],-1),g={href:"https://github.com/taskiq-python/taskiq-pipelines",target:"_blank",rel:"noopener noreferrer"};function _(q,T){const l=c("ExternalLinkIcon"),i=c("Tabs");return r(),u("div",null,[d,m,s("p",null,[n("Middlewares must implement "),s("a",b,[w,o(l)]),n(" abstract class. Every method of a middleware can be either sync or async. Taskiq will execute it as you expect.")]),y,o(i,{id:"12",data:[{id:"sync"},{id:"async"}]},{title0:e(({value:a,isActive:t})=>[n("sync")]),title1:e(({value:a,isActive:t})=>[n("async")]),tab0:e(({value:a,isActive:t})=>[v]),tab1:e(({value:a,isActive:t})=>[f]),_:1}),h,s("p",null,[s("a",g,[n("Taskiq-pipelines"),o(l)]),n(" uses middlewares to call next tasks.")])])}const N=p(k,[["render",_],["__file","middleware.html.vue"]]),A=JSON.parse(`{"path":"/extending-taskiq/middleware.html","title":"Middlewares","lang":"en-US","frontmatter":{"order":2,"description":"Middlewares Middlewares are super helpful. You can inject some code before or after task's execution. Middlewares must implement taskiq.abc.middleware.TaskiqMiddleware abstract ...","head":[["meta",{"property":"og:url","content":"https://taskiq-python.github.io/extending-taskiq/middleware.html"}],["meta",{"property":"og:site_name","content":"Taskiq"}],["meta",{"property":"og:title","content":"Middlewares"}],["meta",{"property":"og:description","content":"Middlewares Middlewares are super helpful. You can inject some code before or after task's execution. Middlewares must implement taskiq.abc.middleware.TaskiqMiddleware abstract ..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-04-20T00:01:02.000Z"}],["meta",{"property":"article:modified_time","content":"2024-04-20T00:01:02.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Middlewares\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-04-20T00:01:02.000Z\\",\\"author\\":[]}"]]},"headers":[],"git":{"createdTime":1713571262000,"updatedTime":1713571262000,"contributors":[{"name":"Pavel Kirilin","email":"win10@list.ru","commits":1}]},"filePathRelative":"extending-taskiq/middleware.md","localizedDate":"April 20, 2024","autoDesc":true,"excerpt":"\\n

Middlewares are super helpful. You can inject some code before or after task's execution.

\\n

Middlewares must implement taskiq.abc.middleware.TaskiqMiddleware abstract class.\\nEvery method of a middleware can be either sync or async. Taskiq will execute it\\nas you expect.

"}`);export{N as comp,A as data}; +`)])]),s("div",{class:"line-numbers","aria-hidden":"true"},[s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"}),s("div",{class:"line-number"})])],-1),h=s("p",null,[n("Also, middlewares always have reference to the current broker in "),s("code",null,"self.broker"),n(" field. If you want to kick a message during the execution of some middleware hooks, you may use "),s("code",null,"self.broker"),n(" to do so.")],-1),g={href:"https://github.com/taskiq-python/taskiq-pipelines",target:"_blank",rel:"noopener noreferrer"};function _(q,T){const l=c("ExternalLinkIcon"),i=c("Tabs");return r(),u("div",null,[d,m,s("p",null,[n("Middlewares must implement "),s("a",b,[w,o(l)]),n(" abstract class. Every method of a middleware can be either sync or async. Taskiq will execute it as you expect.")]),y,o(i,{id:"12",data:[{id:"sync"},{id:"async"}]},{title0:e(({value:a,isActive:t})=>[n("sync")]),title1:e(({value:a,isActive:t})=>[n("async")]),tab0:e(({value:a,isActive:t})=>[v]),tab1:e(({value:a,isActive:t})=>[f]),_:1}),h,s("p",null,[s("a",g,[n("Taskiq-pipelines"),o(l)]),n(" uses middlewares to call next tasks.")])])}const N=p(k,[["render",_],["__file","middleware.html.vue"]]),A=JSON.parse(`{"path":"/extending-taskiq/middleware.html","title":"Middlewares","lang":"en-US","frontmatter":{"order":2,"description":"Middlewares Middlewares are super helpful. You can inject some code before or after task's execution. Middlewares must implement taskiq.abc.middleware.TaskiqMiddleware abstract ...","head":[["meta",{"property":"og:url","content":"https://taskiq-python.github.io/extending-taskiq/middleware.html"}],["meta",{"property":"og:site_name","content":"Taskiq"}],["meta",{"property":"og:title","content":"Middlewares"}],["meta",{"property":"og:description","content":"Middlewares Middlewares are super helpful. You can inject some code before or after task's execution. Middlewares must implement taskiq.abc.middleware.TaskiqMiddleware abstract ..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-04-26T20:07:59.000Z"}],["meta",{"property":"article:modified_time","content":"2024-04-26T20:07:59.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Middlewares\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-04-26T20:07:59.000Z\\",\\"author\\":[]}"]]},"headers":[],"git":{"createdTime":1714162079000,"updatedTime":1714162079000,"contributors":[{"name":"Pavel Kirilin","email":"win10@list.ru","commits":1}]},"filePathRelative":"extending-taskiq/middleware.md","localizedDate":"April 26, 2024","autoDesc":true,"excerpt":"\\n

Middlewares are super helpful. You can inject some code before or after task's execution.

\\n

Middlewares must implement taskiq.abc.middleware.TaskiqMiddleware abstract class.\\nEvery method of a middleware can be either sync or async. Taskiq will execute it\\nas you expect.

"}`);export{N as comp,A as data}; diff --git a/assets/middlewares.html-CcZh3fiR.js b/assets/middlewares.html-6RWN0FIV.js similarity index 95% rename from assets/middlewares.html-CcZh3fiR.js rename to assets/middlewares.html-6RWN0FIV.js index 2398321..4a2ecac 100644 --- a/assets/middlewares.html-CcZh3fiR.js +++ b/assets/middlewares.html-6RWN0FIV.js @@ -1,4 +1,4 @@ -import{_ as r}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as l,o as d,c as p,e as c,w as s,a as i,d as a,b as e}from"./app-B0fd3cYb.js";const u={},m=i(`

Available middlewares

Middlewares allow you to execute code when specific event occurs. Taskiq has several default middlewares.

Simple retry middleware

This middleware allows you to restart functions on errors. If exception was raised during task execution, the task would be resent with same parameters.

To enable this middleware, add it to the list of middlewares for a broker.

from taskiq import ZeroMQBroker, SimpleRetryMiddleware
+import{_ as r}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as l,o as d,c as p,e as c,w as s,a as i,d as a,b as e}from"./app-jADuhdjP.js";const u={},m=i(`

Available middlewares

Middlewares allow you to execute code when specific event occurs. Taskiq has several default middlewares.

Simple retry middleware

This middleware allows you to restart functions on errors. If exception was raised during task execution, the task would be resent with same parameters.

To enable this middleware, add it to the list of middlewares for a broker.

from taskiq import ZeroMQBroker, SimpleRetryMiddleware
 
 broker = ZeroMQBroker().with_middlewares(
     SimpleRetryMiddleware(default_retry_count=3),
@@ -15,4 +15,4 @@ broker = ZeroMQBroker= ZeroMQBroker().with_middlewares(
     PrometheusMiddleware(server_addr="0.0.0.0", server_port=9000),
 )
-

After that, metrics will be available at port 9000. Of course, this parameter can be configured. If you have other metrics, they'll be shown as well.

`,2);function w(b,y){const o=l("Tabs");return d(),p("div",null,[m,c(o,{id:"29",data:[{id:"only prometheus"},{id:"taskiq with extras"}]},{title0:s(({value:n,isActive:t})=>[a("only prometheus")]),title1:s(({value:n,isActive:t})=>[a("taskiq with extras")]),tab0:s(({value:n,isActive:t})=>[h]),tab1:s(({value:n,isActive:t})=>[k]),_:1}),v])}const _=r(u,[["render",w],["__file","middlewares.html.vue"]]),x=JSON.parse('{"path":"/available-components/middlewares.html","title":"Available middlewares","lang":"en-US","frontmatter":{"order":5,"description":"Available middlewares Middlewares allow you to execute code when specific event occurs. Taskiq has several default middlewares. Simple retry middleware This middleware allows yo...","head":[["meta",{"property":"og:url","content":"https://taskiq-python.github.io/available-components/middlewares.html"}],["meta",{"property":"og:site_name","content":"Taskiq"}],["meta",{"property":"og:title","content":"Available middlewares"}],["meta",{"property":"og:description","content":"Available middlewares Middlewares allow you to execute code when specific event occurs. Taskiq has several default middlewares. Simple retry middleware This middleware allows yo..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-04-20T00:01:02.000Z"}],["meta",{"property":"article:modified_time","content":"2024-04-20T00:01:02.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Available middlewares\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-04-20T00:01:02.000Z\\",\\"author\\":[]}"]]},"headers":[{"level":3,"title":"Simple retry middleware","slug":"simple-retry-middleware","link":"#simple-retry-middleware","children":[]},{"level":3,"title":"Prometheus middleware","slug":"prometheus-middleware","link":"#prometheus-middleware","children":[]}],"git":{"createdTime":1713571262000,"updatedTime":1713571262000,"contributors":[{"name":"Pavel Kirilin","email":"win10@list.ru","commits":1}]},"filePathRelative":"available-components/middlewares.md","localizedDate":"April 20, 2024","autoDesc":true,"excerpt":"\\n

Middlewares allow you to execute code when specific event occurs.\\nTaskiq has several default middlewares.

\\n

Simple retry middleware

\\n

This middleware allows you to restart functions on errors. If exception was raised during task execution,\\nthe task would be resent with same parameters.

"}');export{_ as comp,x as data}; +

After that, metrics will be available at port 9000. Of course, this parameter can be configured. If you have other metrics, they'll be shown as well.

`,2);function w(b,y){const o=l("Tabs");return d(),p("div",null,[m,c(o,{id:"29",data:[{id:"only prometheus"},{id:"taskiq with extras"}]},{title0:s(({value:n,isActive:t})=>[a("only prometheus")]),title1:s(({value:n,isActive:t})=>[a("taskiq with extras")]),tab0:s(({value:n,isActive:t})=>[h]),tab1:s(({value:n,isActive:t})=>[k]),_:1}),v])}const _=r(u,[["render",w],["__file","middlewares.html.vue"]]),x=JSON.parse('{"path":"/available-components/middlewares.html","title":"Available middlewares","lang":"en-US","frontmatter":{"order":5,"description":"Available middlewares Middlewares allow you to execute code when specific event occurs. Taskiq has several default middlewares. Simple retry middleware This middleware allows yo...","head":[["meta",{"property":"og:url","content":"https://taskiq-python.github.io/available-components/middlewares.html"}],["meta",{"property":"og:site_name","content":"Taskiq"}],["meta",{"property":"og:title","content":"Available middlewares"}],["meta",{"property":"og:description","content":"Available middlewares Middlewares allow you to execute code when specific event occurs. Taskiq has several default middlewares. Simple retry middleware This middleware allows yo..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-04-26T20:07:59.000Z"}],["meta",{"property":"article:modified_time","content":"2024-04-26T20:07:59.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Available middlewares\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-04-26T20:07:59.000Z\\",\\"author\\":[]}"]]},"headers":[{"level":3,"title":"Simple retry middleware","slug":"simple-retry-middleware","link":"#simple-retry-middleware","children":[]},{"level":3,"title":"Prometheus middleware","slug":"prometheus-middleware","link":"#prometheus-middleware","children":[]}],"git":{"createdTime":1714162079000,"updatedTime":1714162079000,"contributors":[{"name":"Pavel Kirilin","email":"win10@list.ru","commits":1}]},"filePathRelative":"available-components/middlewares.md","localizedDate":"April 26, 2024","autoDesc":true,"excerpt":"\\n

Middlewares allow you to execute code when specific event occurs.\\nTaskiq has several default middlewares.

\\n

Simple retry middleware

\\n

This middleware allows you to restart functions on errors. If exception was raised during task execution,\\nthe task would be resent with same parameters.

"}');export{_ as comp,x as data}; diff --git a/assets/mindmap-definition-f354de21-DqgSJ0H1.js b/assets/mindmap-definition-f354de21-BUH3f6M3.js similarity index 99% rename from assets/mindmap-definition-f354de21-DqgSJ0H1.js rename to assets/mindmap-definition-f354de21-BUH3f6M3.js index bda9f83..336d9dd 100644 --- a/assets/mindmap-definition-f354de21-DqgSJ0H1.js +++ b/assets/mindmap-definition-f354de21-BUH3f6M3.js @@ -1,4 +1,4 @@ -import{aC as hi,aD as rl,l as Er,c as ci,aK as al,u as nl,aM as ja,d as en,h as il,b6 as sl,b7 as ol,b8 as ul,aO as ll}from"./mermaid.core-DtSoU78u.js";import{c as fl}from"./createText-6b48ae7d-BQ6Vxn2Q.js";import"./app-B0fd3cYb.js";function Xe(t){"@babel/helpers - typeof";return Xe=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Xe(t)}function vi(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function $i(t,e){for(var r=0;rt.length)&&(e=t.length);for(var r=0,a=new Array(e);rt.length)&&(e=t.length);for(var r=0,a=new Array(e);r=t.length?{done:!0}:{done:!1,value:t[a++]}},e:function(u){throw u},f:n}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var i=!0,s=!1,o;return{s:function(){r=r.call(t)},n:function(){var u=r.next();return i=u.done,u},e:function(u){s=!0,o=u},f:function(){try{!i&&r.return!=null&&r.return()}finally{if(s)throw o}}}}var Ye=typeof window>"u"?null:window,_i=Ye?Ye.navigator:null;Ye&&Ye.document;var gl=Xe(""),so=Xe({}),pl=Xe(function(){}),yl=typeof HTMLElement>"u"?"undefined":Xe(HTMLElement),xa=function(e){return e&&e.instanceString&&Ge(e.instanceString)?e.instanceString():null},ve=function(e){return e!=null&&Xe(e)==gl},Ge=function(e){return e!=null&&Xe(e)===pl},Re=function(e){return!pt(e)&&(Array.isArray?Array.isArray(e):e!=null&&e instanceof Array)},Ce=function(e){return e!=null&&Xe(e)===so&&!Re(e)&&e.constructor===Object},ml=function(e){return e!=null&&Xe(e)===so},ne=function(e){return e!=null&&Xe(e)===Xe(1)&&!isNaN(e)},bl=function(e){return ne(e)&&Math.floor(e)===e},tn=function(e){if(yl!=="undefined")return e!=null&&e instanceof HTMLElement},pt=function(e){return Ta(e)||oo(e)},Ta=function(e){return xa(e)==="collection"&&e._private.single},oo=function(e){return xa(e)==="collection"&&!e._private.single},gi=function(e){return xa(e)==="core"},uo=function(e){return xa(e)==="stylesheet"},El=function(e){return xa(e)==="event"},jt=function(e){return e==null?!0:!!(e===""||e.match(/^\s+$/))},wl=function(e){return typeof HTMLElement>"u"?!1:e instanceof HTMLElement},xl=function(e){return Ce(e)&&ne(e.x1)&&ne(e.x2)&&ne(e.y1)&&ne(e.y2)},Tl=function(e){return ml(e)&&Ge(e.then)},Cl=function(){return _i&&_i.userAgent.match(/msie|trident|edge/i)},ha=function(e,r){r||(r=function(){if(arguments.length===1)return arguments[0];if(arguments.length===0)return"undefined";for(var i=[],s=0;sr?1:0},Ml=function(e,r){return-1*fo(e,r)},be=Object.assign!=null?Object.assign.bind(Object):function(t){for(var e=arguments,r=1;r1&&(g-=1),g<1/6?v+(p-v)*6*g:g<1/2?p:g<2/3?v+(p-v)*(2/3-g)*6:v}var h=new RegExp("^"+Ll+"$").exec(e);if(h){if(a=parseInt(h[1]),a<0?a=(360- -1*a%360)%360:a>360&&(a=a%360),a/=360,n=parseFloat(h[2]),n<0||n>100||(n=n/100,i=parseFloat(h[3]),i<0||i>100)||(i=i/100,s=h[4],s!==void 0&&(s=parseFloat(s),s<0||s>1)))return;if(n===0)o=u=l=Math.round(i*255);else{var d=i<.5?i*(1+n):i+n-i*n,c=2*i-d;o=Math.round(255*f(c,d,a+1/3)),u=Math.round(255*f(c,d,a)),l=Math.round(255*f(c,d,a-1/3))}r=[o,u,l,s]}return r},kl=function(e){var r,a=new RegExp("^"+Dl+"$").exec(e);if(a){r=[];for(var n=[],i=1;i<=3;i++){var s=a[i];if(s[s.length-1]==="%"&&(n[i]=!0),s=parseFloat(s),n[i]&&(s=s/100*255),s<0||s>255)return;r.push(Math.floor(s))}var o=n[1]||n[2]||n[3],u=n[1]&&n[2]&&n[3];if(o&&!u)return;var l=a[4];if(l!==void 0){if(l=parseFloat(l),l<0||l>1)return;r.push(l)}}return r},Pl=function(e){return Fl[e.toLowerCase()]},Bl=function(e){return(Re(e)?e:null)||Pl(e)||Il(e)||kl(e)||Rl(e)},Fl={transparent:[0,0,0,0],aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],grey:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},ho=function(e){for(var r=e.map,a=e.keys,n=a.length,i=0;i=e||E<0||h&&x>=i}function y(){var S=Rn();if(g(S))return b(S);o=setTimeout(y,p(S))}function b(S){return o=void 0,d&&a?c(S):(a=n=void 0,s)}function m(){o!==void 0&&clearTimeout(o),l=0,a=u=n=o=void 0}function T(){return o===void 0?s:b(Rn())}function C(){var S=Rn(),E=g(S);if(a=arguments,n=this,u=S,E){if(o===void 0)return v(u);if(h)return clearTimeout(o),o=setTimeout(y,e),c(u)}return o===void 0&&(o=setTimeout(y,e)),s}return C.cancel=m,C.flush=T,C}var gn=xf,kn=Ye?Ye.performance:null,po=kn&&kn.now?function(){return kn.now()}:function(){return Date.now()},Tf=function(){if(Ye){if(Ye.requestAnimationFrame)return function(t){Ye.requestAnimationFrame(t)};if(Ye.mozRequestAnimationFrame)return function(t){Ye.mozRequestAnimationFrame(t)};if(Ye.webkitRequestAnimationFrame)return function(t){Ye.webkitRequestAnimationFrame(t)};if(Ye.msRequestAnimationFrame)return function(t){Ye.msRequestAnimationFrame(t)}}return function(t){t&&setTimeout(function(){t(po())},1e3/60)}}(),rn=function(e){return Tf(e)},$t=po,Nr=9261,yo=65599,ia=5381,mo=function(e){for(var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Nr,a=r,n;n=e.next(),!n.done;)a=a*yo+n.value|0;return a},ca=function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Nr;return r*yo+e|0},va=function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:ia;return(r<<5)+r+e|0},Cf=function(e,r){return e*2097152+r},qt=function(e){return e[0]*2097152+e[1]},Ia=function(e,r){return[ca(e[0],r[0]),va(e[1],r[1])]},Df=function(e,r){var a={value:0,done:!1},n=0,i=e.length,s={next:function(){return n=0&&!(e[n]===r&&(e.splice(n,1),a));n--);},bi=function(e){e.splice(0,e.length)},If=function(e,r){for(var a=0;a"u"?"undefined":Xe(Set))!==kf?Set:Pf,pn=function(e,r){var a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(e===void 0||r===void 0||!gi(e)){ze("An element must have a core reference and parameters set");return}var n=r.group;if(n==null&&(r.data&&r.data.source!=null&&r.data.target!=null?n="edges":n="nodes"),n!=="nodes"&&n!=="edges"){ze("An element must be of type `nodes` or `edges`; you specified `"+n+"`");return}this.length=1,this[0]=this;var i=this._private={cy:e,single:!0,data:r.data||{},position:r.position||{x:0,y:0},autoWidth:void 0,autoHeight:void 0,autoPadding:void 0,compoundBoundsClean:!1,listeners:[],group:n,style:{},rstyle:{},styleCxts:[],styleKeys:{},removed:!0,selected:!!r.selected,selectable:r.selectable===void 0?!0:!!r.selectable,locked:!!r.locked,grabbed:!1,grabbable:r.grabbable===void 0?!0:!!r.grabbable,pannable:r.pannable===void 0?n==="edges":!!r.pannable,active:!1,classes:new Ur,animation:{current:[],queue:[]},rscratch:{},scratch:r.scratch||{},edges:[],children:[],parent:r.parent&&r.parent.isNode()?r.parent:null,traversalCache:{},backgrounding:!1,bbCache:null,bbCacheShift:{x:0,y:0},bodyBounds:null,overlayBounds:null,labelBounds:{all:null,source:null,target:null,main:null},arrowBounds:{source:null,target:null,"mid-source":null,"mid-target":null}};if(i.position.x==null&&(i.position.x=0),i.position.y==null&&(i.position.y=0),r.renderedPosition){var s=r.renderedPosition,o=e.pan(),u=e.zoom();i.position={x:(s.x-o.x)/u,y:(s.y-o.y)/u}}var l=[];Re(r.classes)?l=r.classes:ve(r.classes)&&(l=r.classes.split(/\s+/));for(var f=0,h=l.length;fb?1:0},f=function(y,b,m,T,C){var S;if(m==null&&(m=0),C==null&&(C=a),m<0)throw new Error("lo must be non-negative");for(T==null&&(T=y.length);mD;0<=D?w++:w--)x.push(w);return x}).apply(this).reverse(),E=[],T=0,C=S.length;TL;0<=L?++x:--x)A.push(s(y,m));return A},p=function(y,b,m,T){var C,S,E;for(T==null&&(T=a),C=y[m];m>b;){if(E=m-1>>1,S=y[E],T(C,S)<0){y[m]=S,m=E;continue}break}return y[m]=C},g=function(y,b,m){var T,C,S,E,x;for(m==null&&(m=a),C=y.length,x=b,S=y[b],T=2*b+1;T0;){var S=b.pop(),E=g(S),x=S.id();if(d[x]=E,E!==1/0)for(var w=S.neighborhood().intersect(v),D=0;D0)for(P.unshift(k);h[V];){var F=h[V];P.unshift(F.edge),P.unshift(F.node),B=F.node,V=B.id()}return o.spawn(P)}}}},zf={kruskal:function(e){e=e||function(m){return 1};for(var r=this.byGroup(),a=r.nodes,n=r.edges,i=a.length,s=new Array(i),o=a,u=function(T){for(var C=0;C0;){if(C(),E++,T===f){for(var x=[],w=i,D=f,L=y[D];x.unshift(w),L!=null&&x.unshift(L),w=g[D],w!=null;)D=w.id(),L=y[D];return{found:!0,distance:h[T],path:this.spawn(x),steps:E}}c[T]=!0;for(var A=m._private.edges,M=0;ML&&(v[D]=L,b[D]=w,m[D]=C),!i){var A=w*f+x;!i&&v[A]>L&&(v[A]=L,b[A]=x,m[A]=C)}}}for(var M=0;M1&&arguments[1]!==void 0?arguments[1]:s,Ae=m(fe),xe=[],we=Ae;;){if(we==null)return r.spawn();var De=b(we),j=De.edge,N=De.pred;if(xe.unshift(we[0]),we.same(ge)&&xe.length>0)break;j!=null&&xe.unshift(j),we=N}return u.spawn(xe)},S=0;S=0;f--){var h=l[f],d=h[1],c=h[2];(r[d]===o&&r[c]===u||r[d]===u&&r[c]===o)&&l.splice(f,1)}for(var v=0;vn;){var i=Math.floor(Math.random()*r.length);r=qf(i,e,r),a--}return r},Wf={kargerStein:function(){var e=this,r=this.byGroup(),a=r.nodes,n=r.edges;n.unmergeBy(function(P){return P.isLoop()});var i=a.length,s=n.length,o=Math.ceil(Math.pow(Math.log(i)/Math.LN2,2)),u=Math.floor(i/Xf);if(i<2){ze("At least 2 nodes are required for Karger-Stein algorithm");return}for(var l=[],f=0;f1&&arguments[1]!==void 0?arguments[1]:0,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,n=1/0,i=r;i1&&arguments[1]!==void 0?arguments[1]:0,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,n=-1/0,i=r;i1&&arguments[1]!==void 0?arguments[1]:0,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,n=0,i=0,s=r;s1&&arguments[1]!==void 0?arguments[1]:0,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,s=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0;n?e=e.slice(r,a):(a0&&e.splice(0,r));for(var o=0,u=e.length-1;u>=0;u--){var l=e[u];s?isFinite(l)||(e[u]=-1/0,o++):e.splice(u,1)}i&&e.sort(function(d,c){return d-c});var f=e.length,h=Math.floor(f/2);return f%2!==0?e[h+1+o]:(e[h-1+o]+e[h+o])/2},eh=function(e){return Math.PI*e/180},Ra=function(e,r){return Math.atan2(r,e)-Math.PI/2},Ei=Math.log2||function(t){return Math.log(t)/Math.log(2)},Do=function(e){return e>0?1:e<0?-1:0},gr=function(e,r){return Math.sqrt(ur(e,r))},ur=function(e,r){var a=r.x-e.x,n=r.y-e.y;return a*a+n*n},th=function(e){for(var r=e.length,a=0,n=0;n=e.x1&&e.y2>=e.y1)return{x1:e.x1,y1:e.y1,x2:e.x2,y2:e.y2,w:e.x2-e.x1,h:e.y2-e.y1};if(e.w!=null&&e.h!=null&&e.w>=0&&e.h>=0)return{x1:e.x1,y1:e.y1,x2:e.x1+e.w,y2:e.y1+e.h,w:e.w,h:e.h}}},ah=function(e){return{x1:e.x1,x2:e.x2,w:e.w,y1:e.y1,y2:e.y2,h:e.h}},nh=function(e){e.x1=1/0,e.y1=1/0,e.x2=-1/0,e.y2=-1/0,e.w=0,e.h=0},ih=function(e,r,a){return{x1:e.x1+r,x2:e.x2+r,y1:e.y1+a,y2:e.y2+a,w:e.w,h:e.h}},So=function(e,r){e.x1=Math.min(e.x1,r.x1),e.x2=Math.max(e.x2,r.x2),e.w=e.x2-e.x1,e.y1=Math.min(e.y1,r.y1),e.y2=Math.max(e.y2,r.y2),e.h=e.y2-e.y1},sh=function(e,r,a){e.x1=Math.min(e.x1,r),e.x2=Math.max(e.x2,r),e.w=e.x2-e.x1,e.y1=Math.min(e.y1,a),e.y2=Math.max(e.y2,a),e.h=e.y2-e.y1},_a=function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return e.x1-=r,e.x2+=r,e.y1-=r,e.y2+=r,e.w=e.x2-e.x1,e.h=e.y2-e.y1,e},Ha=function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[0],a,n,i,s;if(r.length===1)a=n=i=s=r[0];else if(r.length===2)a=i=r[0],s=n=r[1];else if(r.length===4){var o=St(r,4);a=o[0],n=o[1],i=o[2],s=o[3]}return e.x1-=s,e.x2+=n,e.y1-=a,e.y2+=i,e.w=e.x2-e.x1,e.h=e.y2-e.y1,e},Ji=function(e,r){e.x1=r.x1,e.y1=r.y1,e.x2=r.x2,e.y2=r.y2,e.w=e.x2-e.x1,e.h=e.y2-e.y1},wi=function(e,r){return!(e.x1>r.x2||r.x1>e.x2||e.x2r.y2||r.y1>e.y2)},Gr=function(e,r,a){return e.x1<=r&&r<=e.x2&&e.y1<=a&&a<=e.y2},oh=function(e,r){return Gr(e,r.x,r.y)},Lo=function(e,r){return Gr(e,r.x1,r.y1)&&Gr(e,r.x2,r.y2)},Ao=function(e,r,a,n,i,s,o){var u=arguments.length>7&&arguments[7]!==void 0?arguments[7]:"auto",l=u==="auto"?pr(i,s):u,f=i/2,h=s/2;l=Math.min(l,f,h);var d=l!==f,c=l!==h,v;if(d){var p=a-f+l-o,g=n-h-o,y=a+f-l+o,b=g;if(v=Zt(e,r,a,n,p,g,y,b,!1),v.length>0)return v}if(c){var m=a+f+o,T=n-h+l-o,C=m,S=n+h-l+o;if(v=Zt(e,r,a,n,m,T,C,S,!1),v.length>0)return v}if(d){var E=a-f+l-o,x=n+h+o,w=a+f-l+o,D=x;if(v=Zt(e,r,a,n,E,x,w,D,!1),v.length>0)return v}if(c){var L=a-f-o,A=n-h+l-o,M=L,O=n+h-l+o;if(v=Zt(e,r,a,n,L,A,M,O,!1),v.length>0)return v}var I;{var R=a-f+l,k=n-h+l;if(I=sa(e,r,a,n,R,k,l+o),I.length>0&&I[0]<=R&&I[1]<=k)return[I[0],I[1]]}{var P=a+f-l,B=n-h+l;if(I=sa(e,r,a,n,P,B,l+o),I.length>0&&I[0]>=P&&I[1]<=B)return[I[0],I[1]]}{var V=a+f-l,F=n+h-l;if(I=sa(e,r,a,n,V,F,l+o),I.length>0&&I[0]>=V&&I[1]>=F)return[I[0],I[1]]}{var G=a-f+l,Y=n+h-l;if(I=sa(e,r,a,n,G,Y,l+o),I.length>0&&I[0]<=G&&I[1]>=Y)return[I[0],I[1]]}return[]},uh=function(e,r,a,n,i,s,o){var u=o,l=Math.min(a,i),f=Math.max(a,i),h=Math.min(n,s),d=Math.max(n,s);return l-u<=e&&e<=f+u&&h-u<=r&&r<=d+u},lh=function(e,r,a,n,i,s,o,u,l){var f={x1:Math.min(a,o,i)-l,x2:Math.max(a,o,i)+l,y1:Math.min(n,u,s)-l,y2:Math.max(n,u,s)+l};return!(ef.x2||rf.y2)},fh=function(e,r,a,n){a-=n;var i=r*r-4*e*a;if(i<0)return[];var s=Math.sqrt(i),o=2*e,u=(-r+s)/o,l=(-r-s)/o;return[u,l]},hh=function(e,r,a,n,i){var s=1e-5;e===0&&(e=s),r/=e,a/=e,n/=e;var o,u,l,f,h,d,c,v;if(u=(3*a-r*r)/9,l=-(27*n)+r*(9*a-2*(r*r)),l/=54,o=u*u*u+l*l,i[1]=0,c=r/3,o>0){h=l+Math.sqrt(o),h=h<0?-Math.pow(-h,1/3):Math.pow(h,1/3),d=l-Math.sqrt(o),d=d<0?-Math.pow(-d,1/3):Math.pow(d,1/3),i[0]=-c+h+d,c+=(h+d)/2,i[4]=i[2]=-c,c=Math.sqrt(3)*(-d+h)/2,i[3]=c,i[5]=-c;return}if(i[5]=i[3]=0,o===0){v=l<0?-Math.pow(-l,1/3):Math.pow(l,1/3),i[0]=-c+2*v,i[4]=i[2]=-(v+c);return}u=-u,f=u*u*u,f=Math.acos(l/Math.sqrt(f)),v=2*Math.sqrt(u),i[0]=-c+v*Math.cos(f/3),i[2]=-c+v*Math.cos((f+2*Math.PI)/3),i[4]=-c+v*Math.cos((f+4*Math.PI)/3)},ch=function(e,r,a,n,i,s,o,u){var l=1*a*a-4*a*i+2*a*o+4*i*i-4*i*o+o*o+n*n-4*n*s+2*n*u+4*s*s-4*s*u+u*u,f=1*9*a*i-3*a*a-3*a*o-6*i*i+3*i*o+9*n*s-3*n*n-3*n*u-6*s*s+3*s*u,h=1*3*a*a-6*a*i+a*o-a*e+2*i*i+2*i*e-o*e+3*n*n-6*n*s+n*u-n*r+2*s*s+2*s*r-u*r,d=1*a*i-a*a+a*e-i*e+n*s-n*n+n*r-s*r,c=[];hh(l,f,h,d,c);for(var v=1e-7,p=[],g=0;g<6;g+=2)Math.abs(c[g+1])=0&&c[g]<=1&&p.push(c[g]);p.push(1),p.push(0);for(var y=-1,b,m,T,C=0;C=0?Tl?(e-i)*(e-i)+(r-s)*(r-s):f-d},dt=function(e,r,a){for(var n,i,s,o,u,l=0,f=0;f=e&&e>=s||n<=e&&e<=s)u=(e-n)/(s-n)*(o-i)+i,u>r&&l++;else continue;return l%2!==0},Yt=function(e,r,a,n,i,s,o,u,l){var f=new Array(a.length),h;u[0]!=null?(h=Math.atan(u[1]/u[0]),u[0]<0?h=h+Math.PI/2:h=-h-Math.PI/2):h=u;for(var d=Math.cos(-h),c=Math.sin(-h),v=0;v0){var g=sn(f,-l);p=nn(g)}else p=f;return dt(e,r,p)},dh=function(e,r,a,n,i,s,o,u){for(var l=new Array(a.length*2),f=0;f=0&&g<=1&&b.push(g),y>=0&&y<=1&&b.push(y),b.length===0)return[];var m=b[0]*u[0]+e,T=b[0]*u[1]+r;if(b.length>1){if(b[0]==b[1])return[m,T];var C=b[1]*u[0]+e,S=b[1]*u[1]+r;return[m,T,C,S]}else return[m,T]},Bn=function(e,r,a){return r<=e&&e<=a||a<=e&&e<=r?e:e<=r&&r<=a||a<=r&&r<=e?r:a},Zt=function(e,r,a,n,i,s,o,u,l){var f=e-i,h=a-e,d=o-i,c=r-s,v=n-r,p=u-s,g=d*c-p*f,y=h*c-v*f,b=p*h-d*v;if(b!==0){var m=g/b,T=y/b,C=.001,S=0-C,E=1+C;return S<=m&&m<=E&&S<=T&&T<=E?[e+m*h,r+m*v]:l?[e+m*h,r+m*v]:[]}else return g===0||y===0?Bn(e,a,o)===o?[o,u]:Bn(e,a,i)===i?[i,s]:Bn(i,o,a)===a?[a,n]:[]:[]},pa=function(e,r,a,n,i,s,o,u){var l=[],f,h=new Array(a.length),d=!0;s==null&&(d=!1);var c;if(d){for(var v=0;v0){var p=sn(h,-u);c=nn(p)}else c=h}else c=a;for(var g,y,b,m,T=0;T2){for(var v=[f[0],f[1]],p=Math.pow(v[0]-e,2)+Math.pow(v[1]-r,2),g=1;gf&&(f=T)},get:function(m){return l[m]}},d=0;d0?R=I.edgesTo(O)[0]:R=O.edgesTo(I)[0];var k=n(R);O=O.id(),x[O]>x[A]+k&&(x[O]=x[A]+k,w.nodes.indexOf(O)<0?w.push(O):w.updateItem(O),E[O]=0,S[O]=[]),x[O]==x[A]+k&&(E[O]=E[O]+E[A],S[O].push(A))}else for(var P=0;P0;){for(var G=C.pop(),Y=0;Y0&&o.push(a[u]);o.length!==0&&i.push(n.collection(o))}return i},Nh=function(e,r){for(var a=0;a5&&arguments[5]!==void 0?arguments[5]:Rh,o=n,u,l,f=0;f=2?ea(e,r,a,0,as,kh):ea(e,r,a,0,rs)},squaredEuclidean:function(e,r,a){return ea(e,r,a,0,as)},manhattan:function(e,r,a){return ea(e,r,a,0,rs)},max:function(e,r,a){return ea(e,r,a,-1/0,Ph)}};zr["squared-euclidean"]=zr.squaredEuclidean;zr.squaredeuclidean=zr.squaredEuclidean;function mn(t,e,r,a,n,i){var s;return Ge(t)?s=t:s=zr[t]||zr.euclidean,e===0&&Ge(t)?s(n,i):s(e,r,a,n,i)}var Bh=tt({k:2,m:2,sensitivityThreshold:1e-4,distance:"euclidean",maxIterations:10,attributes:[],testMode:!1,testCentroids:null}),Ti=function(e){return Bh(e)},on=function(e,r,a,n,i){var s=i!=="kMedoids",o=s?function(h){return a[h]}:function(h){return n[h](a)},u=function(d){return n[d](r)},l=a,f=r;return mn(e,n.length,o,u,l,f)},Fn=function(e,r,a){for(var n=a.length,i=new Array(n),s=new Array(n),o=new Array(r),u=null,l=0;la)return!1}return!0},zh=function(e,r,a){for(var n=0;no&&(o=r[l][f],u=f);i[u].push(e[l])}for(var h=0;h=i.threshold||i.mode==="dendrogram"&&e.length===1)return!1;var v=r[s],p=r[n[s]],g;i.mode==="dendrogram"?g={left:v,right:p,key:v.key}:g={value:v.value.concat(p.value),key:v.key},e[v.index]=g,e.splice(p.index,1),r[v.key]=g;for(var y=0;ya[p.key][b.key]&&(u=a[p.key][b.key])):i.linkage==="max"?(u=a[v.key][b.key],a[v.key][b.key]0&&n.push(i);return n},ls=function(e,r,a){for(var n=[],i=0;io&&(s=l,o=r[i*e+l])}s>0&&n.push(s)}for(var f=0;fl&&(u=f,l=h)}a[i]=s[u]}return n=ls(e,r,a),n},fs=function(e){for(var r=this.cy(),a=this.nodes(),n=jh(e),i={},s=0;s=L?(A=L,L=O,M=I):O>A&&(A=O);for(var R=0;R0?1:0;E[w%n.minIterations*o+G]=Y,F+=Y}if(F>0&&(w>=n.minIterations-1||w==n.maxIterations-1)){for(var _=0,q=0;q1||S>1)&&(o=!0),h[m]=[],b.outgoers().forEach(function(x){x.isEdge()&&h[m].push(x.id())})}else d[m]=[void 0,b.target().id()]}):s.forEach(function(b){var m=b.id();if(b.isNode()){var T=b.degree(!0);T%2&&(u?l?o=!0:l=m:u=m),h[m]=[],b.connectedEdges().forEach(function(C){return h[m].push(C.id())})}else d[m]=[b.source().id(),b.target().id()]});var c={found:!1,trail:void 0};if(o)return c;if(l&&u)if(i){if(f&&l!=f)return c;f=l}else{if(f&&l!=f&&u!=f)return c;f||(f=l)}else f||(f=s[0].id());var v=function(m){for(var T=m,C=[m],S,E,x;h[T].length;)S=h[T].shift(),E=d[S][0],x=d[S][1],T!=x?(h[x]=h[x].filter(function(w){return w!=S}),T=x):!i&&T!=E&&(h[E]=h[E].filter(function(w){return w!=S}),T=E),C.unshift(S),C.unshift(T);return C},p=[],g=[];for(g=v(f);g.length!=1;)h[g[0]].length==0?(p.unshift(s.getElementById(g.shift())),p.unshift(s.getElementById(g.shift()))):g=v(g.shift()).concat(g);p.unshift(s.getElementById(g.shift()));for(var y in h)if(h[y].length)return c;return c.found=!0,c.trail=this.spawn(p,!0),c}},Ba=function(){var e=this,r={},a=0,n=0,i=[],s=[],o={},u=function(d,c){for(var v=s.length-1,p=[],g=e.spawn();s[v].x!=d||s[v].y!=c;)p.push(s.pop().edge),v--;p.push(s.pop().edge),p.forEach(function(y){var b=y.connectedNodes().intersection(e);g.merge(y),b.forEach(function(m){var T=m.id(),C=m.connectedEdges().intersection(e);g.merge(m),r[T].cutVertex?g.merge(C.filter(function(S){return S.isLoop()})):g.merge(C)})}),i.push(g)},l=function h(d,c,v){d===v&&(n+=1),r[c]={id:a,low:a++,cutVertex:!1};var p=e.getElementById(c).connectedEdges().intersection(e);if(p.size()===0)i.push(e.spawn(e.getElementById(c)));else{var g,y,b,m;p.forEach(function(T){g=T.source().id(),y=T.target().id(),b=g===c?y:g,b!==v&&(m=T.id(),o[m]||(o[m]=!0,s.push({x:c,y:b,edge:T})),b in r?r[c].low=Math.min(r[c].low,r[b].id):(h(d,b,c),r[c].low=Math.min(r[c].low,r[b].low),r[c].id<=r[b].low&&(r[c].cutVertex=!0,u(c,b))))})}};e.forEach(function(h){if(h.isNode()){var d=h.id();d in r||(n=0,l(d,d),r[d].cutVertex=n>1)}});var f=Object.keys(r).filter(function(h){return r[h].cutVertex}).map(function(h){return e.getElementById(h)});return{cut:e.spawn(f),components:i}},oc={hopcroftTarjanBiconnected:Ba,htbc:Ba,htb:Ba,hopcroftTarjanBiconnectedComponents:Ba},Fa=function(){var e=this,r={},a=0,n=[],i=[],s=e.spawn(e),o=function u(l){i.push(l),r[l]={index:a,low:a++,explored:!1};var f=e.getElementById(l).connectedEdges().intersection(e);if(f.forEach(function(p){var g=p.target().id();g!==l&&(g in r||u(g),r[g].explored||(r[l].low=Math.min(r[l].low,r[g].low)))}),r[l].index===r[l].low){for(var h=e.spawn();;){var d=i.pop();if(h.merge(e.getElementById(d)),r[d].low=r[l].index,r[d].explored=!0,d===l)break}var c=h.edgesWith(h),v=h.merge(c);n.push(v),s=s.difference(v)}};return e.forEach(function(u){if(u.isNode()){var l=u.id();l in r||o(l)}}),{cut:s,components:n}},uc={tarjanStronglyConnected:Fa,tsc:Fa,tscc:Fa,tarjanStronglyConnectedComponents:Fa},Po={};[da,Gf,zf,Uf,Yf,Hf,Wf,bh,kr,Pr,Zn,Ih,Hh,Qh,nc,sc,oc,uc].forEach(function(t){be(Po,t)});/*! Embeddable Minimum Strictly-Compliant Promises/A+ 1.1.1 Thenable @@ -13,7 +13,7 @@ https://github.com/jquery/jquery/blob/master/src/event.js */var ru=function(e,r){this.recycle(e,r)};function ra(){return!1}function za(){return!0}ru.prototype={instanceString:function(){return"event"},recycle:function(e,r){if(this.isImmediatePropagationStopped=this.isPropagationStopped=this.isDefaultPrevented=ra,e!=null&&e.preventDefault?(this.type=e.type,this.isDefaultPrevented=e.defaultPrevented?za:ra):e!=null&&e.type?r=e:this.type=e,r!=null&&(this.originalEvent=r.originalEvent,this.type=r.type!=null?r.type:this.type,this.cy=r.cy,this.target=r.target,this.position=r.position,this.renderedPosition=r.renderedPosition,this.namespace=r.namespace,this.layout=r.layout),this.cy!=null&&this.position!=null&&this.renderedPosition==null){var a=this.position,n=this.cy.zoom(),i=this.cy.pan();this.renderedPosition={x:a.x*n+i.x,y:a.y*n+i.y}}this.timeStamp=e&&e.timeStamp||Date.now()},preventDefault:function(){this.isDefaultPrevented=za;var e=this.originalEvent;e&&e.preventDefault&&e.preventDefault()},stopPropagation:function(){this.isPropagationStopped=za;var e=this.originalEvent;e&&e.stopPropagation&&e.stopPropagation()},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=za,this.stopPropagation()},isDefaultPrevented:ra,isPropagationStopped:ra,isImmediatePropagationStopped:ra};var au=/^([^.]+)(\.(?:[^.]+))?$/,jd=".*",nu={qualifierCompare:function(e,r){return e===r},eventMatches:function(){return!0},addEventFields:function(){},callbackContext:function(e){return e},beforeEmit:function(){},afterEmit:function(){},bubble:function(){return!1},parent:function(){return null},context:null},Cs=Object.keys(nu),eg={};function Tn(){for(var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:eg,e=arguments.length>1?arguments[1]:void 0,r=0;r=0;o--)s(o);return this};ar.removeAllListeners=function(){return this.removeListener("*")};ar.emit=ar.trigger=function(t,e,r){var a=this.listeners,n=a.length;return this.emitting++,Re(e)||(e=[e]),tg(this,function(i,s){r!=null&&(a=[{event:s.event,type:s.type,namespace:s.namespace,callback:r}],n=a.length);for(var o=function(f){var h=a[f];if(h.type===s.type&&(!h.namespace||h.namespace===s.namespace||h.namespace===jd)&&i.eventMatches(i.context,h,s)){var d=[s];e!=null&&If(d,e),i.beforeEmit(i.context,h,s),h.conf&&h.conf.one&&(i.listeners=i.listeners.filter(function(p){return p!==h}));var c=i.callbackContext(i.context,h,s),v=h.callback.apply(c,d);i.afterEmit(i.context,h,s),v===!1&&(s.stopPropagation(),s.preventDefault())}},u=0;u1&&!s){var o=this.length-1,u=this[o],l=u._private.data.id;this[o]=void 0,this[e]=u,i.set(l,{ele:u,index:e})}return this.length--,this},unmergeOne:function(e){e=e[0];var r=this._private,a=e._private.data.id,n=r.map,i=n.get(a);if(!i)return this;var s=i.index;return this.unmergeAt(s),this},unmerge:function(e){var r=this._private.cy;if(!e)return this;if(e&&ve(e)){var a=e;e=r.mutableElements().filter(a)}for(var n=0;n=0;r--){var a=this[r];e(a)&&this.unmergeAt(r)}return this},map:function(e,r){for(var a=[],n=this,i=0;ia&&(a=u,n=o)}return{value:a,ele:n}},min:function(e,r){for(var a=1/0,n,i=this,s=0;s=0&&i"u"?"undefined":Xe(Symbol))!=e&&Xe(Symbol.iterator)!=e;r&&(un[Symbol.iterator]=function(){var a=this,n={value:void 0,done:!1},i=0,s=this.length;return no({next:function(){return i1&&arguments[1]!==void 0?arguments[1]:!0,a=this[0],n=a.cy();if(n.styleEnabled()&&a){this.cleanStyle();var i=a._private.style[e];return i??(r?n.style().getDefaultProperty(e):null)}},numericStyle:function(e){var r=this[0];if(r.cy().styleEnabled()&&r){var a=r.pstyle(e);return a.pfValue!==void 0?a.pfValue:a.value}},numericStyleUnits:function(e){var r=this[0];if(r.cy().styleEnabled()&&r)return r.pstyle(e).units},renderedStyle:function(e){var r=this.cy();if(!r.styleEnabled())return this;var a=this[0];if(a)return r.style().getRenderedStyle(a,e)},style:function(e,r){var a=this.cy();if(!a.styleEnabled())return this;var n=!1,i=a.style();if(Ce(e)){var s=e;i.applyBypass(this,s,n),this.emitAndNotify("style")}else if(ve(e))if(r===void 0){var o=this[0];return o?i.getStylePropertyValue(o,e):void 0}else i.applyBypass(this,e,r,n),this.emitAndNotify("style");else if(e===void 0){var u=this[0];return u?i.getRawStyle(u):void 0}return this},removeStyle:function(e){var r=this.cy();if(!r.styleEnabled())return this;var a=!1,n=r.style(),i=this;if(e===void 0)for(var s=0;s0&&e.push(f[0]),e.push(o[0])}return this.spawn(e,!0).filter(t)},"neighborhood"),closedNeighborhood:function(e){return this.neighborhood().add(this).filter(e)},openNeighborhood:function(e){return this.neighborhood(e)}});it.neighbourhood=it.neighborhood;it.closedNeighbourhood=it.closedNeighborhood;it.openNeighbourhood=it.openNeighborhood;be(it,{source:wt(function(e){var r=this[0],a;return r&&(a=r._private.source||r.cy().collection()),a&&e?a.filter(e):a},"source"),target:wt(function(e){var r=this[0],a;return r&&(a=r._private.target||r.cy().collection()),a&&e?a.filter(e):a},"target"),sources:Ns({attr:"source"}),targets:Ns({attr:"target"})});function Ns(t){return function(r){for(var a=[],n=0;n0);return s},component:function(){var e=this[0];return e.cy().mutableElements().components(e)[0]}});it.componentsOf=it.components;var et=function(e,r){var a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(e===void 0){ze("A collection must have a reference to the core");return}var i=new Bt,s=!1;if(!r)r=[];else if(r.length>0&&Ce(r[0])&&!Ta(r[0])){s=!0;for(var o=[],u=new Ur,l=0,f=r.length;l0&&arguments[0]!==void 0?arguments[0]:!0,e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,r=this,a=r.cy(),n=a._private,i=[],s=[],o,u=0,l=r.length;u0){for(var B=o.length===r.length?r:new et(a,o),V=0;V0&&arguments[0]!==void 0?arguments[0]:!0,e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,r=this,a=[],n={},i=r._private.cy;function s(O){for(var I=O._private.edges,R=0;R0&&(t?L.emitAndNotify("remove"):e&&L.emit("remove"));for(var A=0;A0?A=O:L=O;while(Math.abs(M)>s&&++I=i?b(D,I):R===0?I:T(D,L,L+l)}var S=!1;function E(){S=!0,(t!==e||r!==a)&&m()}var x=function(L){return S||E(),t===e&&r===a?L:L===0?0:L===1?1:g(C(L),e,a)};x.getControlPoints=function(){return[{x:t,y:e},{x:r,y:a}]};var w="generateBezier("+[t,e,r,a]+")";return x.toString=function(){return w},x}/*! Runge-Kutta spring physics function generator. Adapted from Framer.js, copyright Koen Bok. MIT License: http://en.wikipedia.org/wiki/MIT_License */var cg=function(){function t(a){return-a.tension*a.x-a.friction*a.v}function e(a,n,i){var s={x:a.x+i.dx*n,v:a.v+i.dv*n,tension:a.tension,friction:a.friction};return{dx:s.v,dv:t(s)}}function r(a,n){var i={dx:a.v,dv:t(a)},s=e(a,n*.5,i),o=e(a,n*.5,s),u=e(a,n,o),l=1/6*(i.dx+2*(s.dx+o.dx)+u.dx),f=1/6*(i.dv+2*(s.dv+o.dv)+u.dv);return a.x=a.x+l*n,a.v=a.v+f*n,a}return function a(n,i,s){var o={x:-1,v:0,tension:null,friction:null},u=[0],l=0,f=1/1e4,h=16/1e3,d,c,v;for(n=parseFloat(n)||500,i=parseFloat(i)||20,s=s||null,o.tension=n,o.friction=i,d=s!==null,d?(l=a(n,i),c=l/s*h):c=h;v=r(v||o,c),u.push(1+v.x),l+=16,Math.abs(v.x)>f&&Math.abs(v.v)>f;);return d?function(p){return u[p*(u.length-1)|0]}:l}}(),ke=function(e,r,a,n){var i=hg(e,r,a,n);return function(s,o,u){return s+(o-s)*i(u)}},Wa={linear:function(e,r,a){return e+(r-e)*a},ease:ke(.25,.1,.25,1),"ease-in":ke(.42,0,1,1),"ease-out":ke(0,0,.58,1),"ease-in-out":ke(.42,0,.58,1),"ease-in-sine":ke(.47,0,.745,.715),"ease-out-sine":ke(.39,.575,.565,1),"ease-in-out-sine":ke(.445,.05,.55,.95),"ease-in-quad":ke(.55,.085,.68,.53),"ease-out-quad":ke(.25,.46,.45,.94),"ease-in-out-quad":ke(.455,.03,.515,.955),"ease-in-cubic":ke(.55,.055,.675,.19),"ease-out-cubic":ke(.215,.61,.355,1),"ease-in-out-cubic":ke(.645,.045,.355,1),"ease-in-quart":ke(.895,.03,.685,.22),"ease-out-quart":ke(.165,.84,.44,1),"ease-in-out-quart":ke(.77,0,.175,1),"ease-in-quint":ke(.755,.05,.855,.06),"ease-out-quint":ke(.23,1,.32,1),"ease-in-out-quint":ke(.86,0,.07,1),"ease-in-expo":ke(.95,.05,.795,.035),"ease-out-expo":ke(.19,1,.22,1),"ease-in-out-expo":ke(1,0,0,1),"ease-in-circ":ke(.6,.04,.98,.335),"ease-out-circ":ke(.075,.82,.165,1),"ease-in-out-circ":ke(.785,.135,.15,.86),spring:function(e,r,a){if(a===0)return Wa.linear;var n=cg(e,r,a);return function(i,s,o){return i+(s-i)*n(o)}},"cubic-bezier":ke};function Rs(t,e,r,a,n){if(a===1||e===r)return r;var i=n(e,r,a);return t==null||((t.roundValue||t.color)&&(i=Math.round(i)),t.min!==void 0&&(i=Math.max(i,t.min)),t.max!==void 0&&(i=Math.min(i,t.max))),i}function ks(t,e){return t.pfValue!=null||t.value!=null?t.pfValue!=null&&(e==null||e.type.units!=="%")?t.pfValue:t.value:t}function Sr(t,e,r,a,n){var i=n!=null?n.type:null;r<0?r=0:r>1&&(r=1);var s=ks(t,n),o=ks(e,n);if(ne(s)&&ne(o))return Rs(i,s,o,r,a);if(Re(s)&&Re(o)){for(var u=[],l=0;l0?(c==="spring"&&v.push(s.duration),s.easingImpl=Wa[c].apply(null,v)):s.easingImpl=Wa[c]}var p=s.easingImpl,g;if(s.duration===0?g=1:g=(r-u)/s.duration,s.applying&&(g=s.progress),g<0?g=0:g>1&&(g=1),s.delay==null){var y=s.startPosition,b=s.position;if(b&&n&&!t.locked()){var m={};aa(y.x,b.x)&&(m.x=Sr(y.x,b.x,g,p)),aa(y.y,b.y)&&(m.y=Sr(y.y,b.y,g,p)),t.position(m)}var T=s.startPan,C=s.pan,S=i.pan,E=C!=null&&a;E&&(aa(T.x,C.x)&&(S.x=Sr(T.x,C.x,g,p)),aa(T.y,C.y)&&(S.y=Sr(T.y,C.y,g,p)),t.emit("pan"));var x=s.startZoom,w=s.zoom,D=w!=null&&a;D&&(aa(x,w)&&(i.zoom=ga(i.minZoom,Sr(x,w,g,p),i.maxZoom)),t.emit("zoom")),(E||D)&&t.emit("viewport");var L=s.style;if(L&&L.length>0&&n){for(var A=0;A=0;E--){var x=S[E];x()}S.splice(0,S.length)},b=c.length-1;b>=0;b--){var m=c[b],T=m._private;if(T.stopped){c.splice(b,1),T.hooked=!1,T.playing=!1,T.started=!1,y(T.frames);continue}!T.playing&&!T.applying||(T.playing&&T.applying&&(T.applying=!1),T.started||dg(f,m,t),vg(f,m,t,h),T.applying&&(T.applying=!1),y(T.frames),T.step!=null&&T.step(t),m.completed()&&(c.splice(b,1),T.hooked=!1,T.playing=!1,T.started=!1,y(T.completes)),p=!0)}return!h&&c.length===0&&v.length===0&&a.push(f),p}for(var i=!1,s=0;s0?e.notify("draw",r):e.notify("draw")),r.unmerge(a),e.emit("step")}var gg={animate:Oe.animate(),animation:Oe.animation(),animated:Oe.animated(),clearQueue:Oe.clearQueue(),delay:Oe.delay(),delayAnimation:Oe.delayAnimation(),stop:Oe.stop(),addToAnimationPool:function(e){var r=this;r.styleEnabled()&&r._private.aniEles.merge(e)},stopAnimationLoop:function(){this._private.animationsRunning=!1},startAnimationLoop:function(){var e=this;if(e._private.animationsRunning=!0,!e.styleEnabled())return;function r(){e._private.animationsRunning&&rn(function(i){Ps(i,e),r()})}var a=e.renderer();a&&a.beforeRender?a.beforeRender(function(i,s){Ps(s,e)},a.beforeRenderPriorities.animations):r()}},pg={qualifierCompare:function(e,r){return e==null||r==null?e==null&&r==null:e.sameText(r)},eventMatches:function(e,r,a){var n=r.qualifier;return n!=null?e!==a.target&&Ta(a.target)&&n.matches(a.target):!0},addEventFields:function(e,r){r.cy=e,r.target=e},callbackContext:function(e,r,a){return r.qualifier!=null?a.target:e}},Ua=function(e){return ve(e)?new tr(e):e},fu={createEmitter:function(){var e=this._private;return e.emitter||(e.emitter=new Tn(pg,this)),this},emitter:function(){return this._private.emitter},on:function(e,r,a){return this.emitter().on(e,Ua(r),a),this},removeListener:function(e,r,a){return this.emitter().removeListener(e,Ua(r),a),this},removeAllListeners:function(){return this.emitter().removeAllListeners(),this},one:function(e,r,a){return this.emitter().one(e,Ua(r),a),this},once:function(e,r,a){return this.emitter().one(e,Ua(r),a),this},emit:function(e,r){return this.emitter().emit(e,r),this},emitAndNotify:function(e,r){return this.emit(e),this.notify(e,r),this}};Oe.eventAliasesOn(fu);var ei={png:function(e){var r=this._private.renderer;return e=e||{},r.png(e)},jpg:function(e){var r=this._private.renderer;return e=e||{},e.bg=e.bg||"#fff",r.jpg(e)}};ei.jpeg=ei.jpg;var Ka={layout:function(e){var r=this;if(e==null){ze("Layout options must be specified to make a layout");return}if(e.name==null){ze("A `name` must be specified to make a layout");return}var a=e.name,n=r.extension("layout",a);if(n==null){ze("No such layout `"+a+"` found. Did you forget to import it and `cytoscape.use()` it?");return}var i;ve(e.eles)?i=r.$(e.eles):i=e.eles!=null?e.eles:r.$();var s=new n(be({},e,{cy:r,eles:i}));return s}};Ka.createLayout=Ka.makeLayout=Ka.layout;var yg={notify:function(e,r){var a=this._private;if(this.batching()){a.batchNotifications=a.batchNotifications||{};var n=a.batchNotifications[e]=a.batchNotifications[e]||this.collection();r!=null&&n.merge(r);return}if(a.notificationsEnabled){var i=this.renderer();this.destroyed()||!i||i.notify(e,r)}},notifications:function(e){var r=this._private;return e===void 0?r.notificationsEnabled:(r.notificationsEnabled=!!e,this)},noNotifications:function(e){this.notifications(!1),e(),this.notifications(!0)},batching:function(){return this._private.batchCount>0},startBatch:function(){var e=this._private;return e.batchCount==null&&(e.batchCount=0),e.batchCount===0&&(e.batchStyleEles=this.collection(),e.batchNotifications={}),e.batchCount++,this},endBatch:function(){var e=this._private;if(e.batchCount===0)return this;if(e.batchCount--,e.batchCount===0){e.batchStyleEles.updateStyle();var r=this.renderer();Object.keys(e.batchNotifications).forEach(function(a){var n=e.batchNotifications[a];n.empty()?r.notify(a):r.notify(a,n)})}return this},batch:function(e){return this.startBatch(),e(),this.endBatch(),this},batchData:function(e){var r=this;return this.batch(function(){for(var a=Object.keys(e),n=0;n0;)r.removeChild(r.childNodes[0]);e._private.renderer=null,e.mutableElements().forEach(function(a){var n=a._private;n.rscratch={},n.rstyle={},n.animation.current=[],n.animation.queue=[]})},onRender:function(e){return this.on("render",e)},offRender:function(e){return this.off("render",e)}};ti.invalidateDimensions=ti.resize;var Za={collection:function(e,r){return ve(e)?this.$(e):pt(e)?e.collection():Re(e)?(r||(r={}),new et(this,e,r.unique,r.removed)):new et(this)},nodes:function(e){var r=this.$(function(a){return a.isNode()});return e?r.filter(e):r},edges:function(e){var r=this.$(function(a){return a.isEdge()});return e?r.filter(e):r},$:function(e){var r=this._private.elements;return e?r.filter(e):r.spawnSelf()},mutableElements:function(){return this._private.elements}};Za.elements=Za.filter=Za.$;var ot={},la="t",bg="f";ot.apply=function(t){for(var e=this,r=e._private,a=r.cy,n=a.collection(),i=0;i0;if(d||h&&c){var v=void 0;d&&c||d?v=l.properties:c&&(v=l.mappedProperties);for(var p=0;p1&&(T=1),o.color){var S=a.valueMin[0],E=a.valueMax[0],x=a.valueMin[1],w=a.valueMax[1],D=a.valueMin[2],L=a.valueMax[2],A=a.valueMin[3]==null?1:a.valueMin[3],M=a.valueMax[3]==null?1:a.valueMax[3],O=[Math.round(S+(E-S)*T),Math.round(x+(w-x)*T),Math.round(D+(L-D)*T),Math.round(A+(M-A)*T)];i={bypass:a.bypass,name:a.name,value:O,strValue:"rgb("+O[0]+", "+O[1]+", "+O[2]+")"}}else if(o.number){var I=a.valueMin+(a.valueMax-a.valueMin)*T;i=this.parse(a.name,I,a.bypass,d)}else return!1;if(!i)return p(),!1;i.mapping=a,a=i;break}case s.data:{for(var R=a.field.split("."),k=h.data,P=0;P0&&i>0){for(var o={},u=!1,l=0;l0?t.delayAnimation(s).play().promise().then(m):m()}).then(function(){return t.animation({style:o,duration:i,easing:t.pstyle("transition-timing-function").value,queue:!1}).play().promise()}).then(function(){r.removeBypasses(t,n),t.emitAndNotify("style"),a.transitioning=!1})}else a.transitioning&&(this.removeBypasses(t,n),t.emitAndNotify("style"),a.transitioning=!1)};ot.checkTrigger=function(t,e,r,a,n,i){var s=this.properties[e],o=n(s);o!=null&&o(r,a)&&i(s)};ot.checkZOrderTrigger=function(t,e,r,a){var n=this;this.checkTrigger(t,e,r,a,function(i){return i.triggersZOrder},function(){n._private.cy.notify("zorder",t)})};ot.checkBoundsTrigger=function(t,e,r,a){this.checkTrigger(t,e,r,a,function(n){return n.triggersBounds},function(n){t.dirtyCompoundBoundsCache(),t.dirtyBoundingBoxCache(),n.triggersBoundsOfParallelBeziers&&e==="curve-style"&&(r==="bezier"||a==="bezier")&&t.parallelEdges().forEach(function(i){i.isBundledBezier()&&i.dirtyBoundingBoxCache()}),n.triggersBoundsOfConnectedEdges&&e==="display"&&(r==="none"||a==="none")&&t.connectedEdges().forEach(function(i){i.dirtyBoundingBoxCache()})})};ot.checkTriggers=function(t,e,r,a){t.dirtyStyleCache(),this.checkZOrderTrigger(t,e,r,a),this.checkBoundsTrigger(t,e,r,a)};var La={};La.applyBypass=function(t,e,r,a){var n=this,i=[],s=!0;if(e==="*"||e==="**"){if(r!==void 0)for(var o=0;on.length?a=a.substr(n.length):a=""}function u(){i.length>s.length?i=i.substr(s.length):i=""}for(;;){var l=a.match(/^\s*$/);if(l)break;var f=a.match(/^\s*((?:.|\s)+?)\s*\{((?:.|\s)+?)\}/);if(!f){Ne("Halting stylesheet parsing: String stylesheet contains more to parse but no selector and block found in: "+a);break}n=f[0];var h=f[1];if(h!=="core"){var d=new tr(h);if(d.invalid){Ne("Skipping parsing of block: Invalid selector found in string stylesheet: "+h),o();continue}}var c=f[2],v=!1;i=c;for(var p=[];;){var g=i.match(/^\s*$/);if(g)break;var y=i.match(/^\s*(.+?)\s*:\s*(.+?)(?:\s*;|\s*$)/);if(!y){Ne("Skipping parsing of block: Invalid formatting of style property and value definitions found in:"+c),v=!0;break}s=y[0];var b=y[1],m=y[2],T=e.properties[b];if(!T){Ne("Skipping property: Invalid property name in: "+s),u();continue}var C=r.parse(b,m);if(!C){Ne("Skipping property: Invalid property definition in: "+s),u();continue}p.push({name:b,val:m}),u()}if(v){o();break}r.selector(h);for(var S=0;S=7&&e[0]==="d"&&(f=new RegExp(o.data.regex).exec(e))){if(r)return!1;var d=o.data;return{name:t,value:f,strValue:""+e,mapped:d,field:f[1],bypass:r}}else if(e.length>=10&&e[0]==="m"&&(h=new RegExp(o.mapData.regex).exec(e))){if(r||l.multiple)return!1;var c=o.mapData;if(!(l.color||l.number))return!1;var v=this.parse(t,h[4]);if(!v||v.mapped)return!1;var p=this.parse(t,h[5]);if(!p||p.mapped)return!1;if(v.pfValue===p.pfValue||v.strValue===p.strValue)return Ne("`"+t+": "+e+"` is not a valid mapper because the output range is zero; converting to `"+t+": "+v.strValue+"`"),this.parse(t,v.strValue);if(l.color){var g=v.value,y=p.value,b=g[0]===y[0]&&g[1]===y[1]&&g[2]===y[2]&&(g[3]===y[3]||(g[3]==null||g[3]===1)&&(y[3]==null||y[3]===1));if(b)return!1}return{name:t,value:h,strValue:""+e,mapped:c,field:h[1],fieldMin:parseFloat(h[2]),fieldMax:parseFloat(h[3]),valueMin:v.value,valueMax:p.value,bypass:r}}}if(l.multiple&&a!=="multiple"){var m;if(u?m=e.split(/\s+/):Re(e)?m=e:m=[e],l.evenMultiple&&m.length%2!==0)return null;for(var T=[],C=[],S=[],E="",x=!1,w=0;w0?" ":"")+D.strValue}return l.validate&&!l.validate(T,C)?null:l.singleEnum&&x?T.length===1&&ve(T[0])?{name:t,value:T[0],strValue:T[0],bypass:r}:null:{name:t,value:T,pfValue:S,strValue:E,bypass:r,units:C}}var L=function(){for(var W=0;Wl.max||l.strictMax&&e===l.max))return null;var R={name:t,value:e,strValue:""+e+(A||""),units:A,bypass:r};return l.unitless||A!=="px"&&A!=="em"?R.pfValue=e:R.pfValue=A==="px"||!A?e:this.getEmSizeInPixels()*e,(A==="ms"||A==="s")&&(R.pfValue=A==="ms"?e:1e3*e),(A==="deg"||A==="rad")&&(R.pfValue=A==="rad"?e:eh(e)),A==="%"&&(R.pfValue=e/100),R}else if(l.propList){var k=[],P=""+e;if(P!=="none"){for(var B=P.split(/\s*,\s*|\s+/),V=0;V0&&o>0&&!isNaN(a.w)&&!isNaN(a.h)&&a.w>0&&a.h>0){u=Math.min((s-2*r)/a.w,(o-2*r)/a.h),u=u>this._private.maxZoom?this._private.maxZoom:u,u=u=a.minZoom&&(a.maxZoom=r),this},minZoom:function(e){return e===void 0?this._private.minZoom:this.zoomRange({min:e})},maxZoom:function(e){return e===void 0?this._private.maxZoom:this.zoomRange({max:e})},getZoomedViewport:function(e){var r=this._private,a=r.pan,n=r.zoom,i,s,o=!1;if(r.zoomingEnabled||(o=!0),ne(e)?s=e:Ce(e)&&(s=e.level,e.position!=null?i=yn(e.position,n,a):e.renderedPosition!=null&&(i=e.renderedPosition),i!=null&&!r.panningEnabled&&(o=!0)),s=s>r.maxZoom?r.maxZoom:s,s=sr.maxZoom||!r.zoomingEnabled?s=!0:(r.zoom=u,i.push("zoom"))}if(n&&(!s||!e.cancelOnFailedZoom)&&r.panningEnabled){var l=e.pan;ne(l.x)&&(r.pan.x=l.x,o=!1),ne(l.y)&&(r.pan.y=l.y,o=!1),o||i.push("pan")}return i.length>0&&(i.push("viewport"),this.emit(i.join(" ")),this.notify("viewport")),this},center:function(e){var r=this.getCenterPan(e);return r&&(this._private.pan=r,this.emit("pan viewport"),this.notify("viewport")),this},getCenterPan:function(e,r){if(this._private.panningEnabled){if(ve(e)){var a=e;e=this.mutableElements().filter(a)}else pt(e)||(e=this.mutableElements());if(e.length!==0){var n=e.boundingBox(),i=this.width(),s=this.height();r=r===void 0?this._private.zoom:r;var o={x:(i-r*(n.x1+n.x2))/2,y:(s-r*(n.y1+n.y2))/2};return o}}},reset:function(){return!this._private.panningEnabled||!this._private.zoomingEnabled?this:(this.viewport({pan:{x:0,y:0},zoom:1}),this)},invalidateSize:function(){this._private.sizeCache=null},size:function(){var e=this._private,r=e.container,a=this;return e.sizeCache=e.sizeCache||(r?function(){var n=a.window().getComputedStyle(r),i=function(o){return parseFloat(n.getPropertyValue(o))};return{width:r.clientWidth-i("padding-left")-i("padding-right"),height:r.clientHeight-i("padding-top")-i("padding-bottom")}}():{width:1,height:1})},width:function(){return this.size().width},height:function(){return this.size().height},extent:function(){var e=this._private.pan,r=this._private.zoom,a=this.renderedExtent(),n={x1:(a.x1-e.x)/r,x2:(a.x2-e.x)/r,y1:(a.y1-e.y)/r,y2:(a.y2-e.y)/r};return n.w=n.x2-n.x1,n.h=n.y2-n.y1,n},renderedExtent:function(){var e=this.width(),r=this.height();return{x1:0,y1:0,x2:e,y2:r,w:e,h:r}},multiClickDebounceTime:function(e){if(e)this._private.multiClickDebounceTime=e;else return this._private.multiClickDebounceTime;return this}};mr.centre=mr.center;mr.autolockNodes=mr.autolock;mr.autoungrabifyNodes=mr.autoungrabify;var Ea={data:Oe.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeData:Oe.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),scratch:Oe.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:Oe.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0})};Ea.attr=Ea.data;Ea.removeAttr=Ea.removeData;var wa=function(e){var r=this;e=be({},e);var a=e.container;a&&!tn(a)&&tn(a[0])&&(a=a[0]);var n=a?a._cyreg:null;n=n||{},n&&n.cy&&(n.cy.destroy(),n={});var i=n.readies=n.readies||[];a&&(a._cyreg=n),n.cy=r;var s=Ye!==void 0&&a!==void 0&&!e.headless,o=e;o.layout=be({name:s?"grid":"null"},o.layout),o.renderer=be({name:s?"canvas":"null"},o.renderer);var u=function(v,p,g){return p!==void 0?p:g!==void 0?g:v},l=this._private={container:a,ready:!1,options:o,elements:new et(this),listeners:[],aniEles:new et(this),data:o.data||{},scratch:{},layout:null,renderer:null,destroyed:!1,notificationsEnabled:!0,minZoom:1e-50,maxZoom:1e50,zoomingEnabled:u(!0,o.zoomingEnabled),userZoomingEnabled:u(!0,o.userZoomingEnabled),panningEnabled:u(!0,o.panningEnabled),userPanningEnabled:u(!0,o.userPanningEnabled),boxSelectionEnabled:u(!0,o.boxSelectionEnabled),autolock:u(!1,o.autolock,o.autolockNodes),autoungrabify:u(!1,o.autoungrabify,o.autoungrabifyNodes),autounselectify:u(!1,o.autounselectify),styleEnabled:o.styleEnabled===void 0?s:o.styleEnabled,zoom:ne(o.zoom)?o.zoom:1,pan:{x:Ce(o.pan)&&ne(o.pan.x)?o.pan.x:0,y:Ce(o.pan)&&ne(o.pan.y)?o.pan.y:0},animation:{current:[],queue:[]},hasCompoundNodes:!1,multiClickDebounceTime:u(250,o.multiClickDebounceTime)};this.createEmitter(),this.selectionType(o.selectionType),this.zoomRange({min:o.minZoom,max:o.maxZoom});var f=function(v,p){var g=v.some(Tl);if(g)return $r.all(v).then(p);p(v)};l.styleEnabled&&r.setStyle([]);var h=be({},o,o.renderer);r.initRenderer(h);var d=function(v,p,g){r.notifications(!1);var y=r.mutableElements();y.length>0&&y.remove(),v!=null&&(Ce(v)||Re(v))&&r.add(v),r.one("layoutready",function(m){r.notifications(!0),r.emit(m),r.one("load",p),r.emitAndNotify("load")}).one("layoutstop",function(){r.one("done",g),r.emit("done")});var b=be({},r._private.options.layout);b.eles=r.elements(),r.layout(b).run()};f([o.style,o.elements],function(c){var v=c[0],p=c[1];l.styleEnabled&&r.style().append(v),d(p,function(){r.startAnimationLoop(),l.ready=!0,Ge(o.ready)&&r.on("ready",o.ready);for(var g=0;g0,u=gt(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()}),l;if(pt(e.roots))l=e.roots;else if(Re(e.roots)){for(var f=[],h=0;h0;){var I=O(),R=D(I,A);if(R)I.outgoers().filter(function(te){return te.isNode()&&a.has(te)}).forEach(M);else if(R===null){Ne("Detected double maximal shift for node `"+I.id()+"`. Bailing maximal adjustment due to cycle. Use `options.maximal: true` only on DAGs.");break}}}w();var k=0;if(e.avoidOverlap)for(var P=0;P0&&y[0].length<=3?we/2:0),N=2*Math.PI/y[ce].length*fe;return ce===0&&y[0].length===1&&(j=1),{x:ee.x+j*Math.cos(N),y:ee.y+j*Math.sin(N)}}else{var De={x:ee.x+(fe+1-(ge+1)/2)*Ae,y:(ce+1)*xe};return De}};return a.nodes().layoutPositions(this,e,me),this};var Cg={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,radius:void 0,startAngle:3/2*Math.PI,sweep:void 0,clockwise:!0,sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,r){return!0},ready:void 0,stop:void 0,transform:function(e,r){return r}};function cu(t){this.options=be({},Cg,t)}cu.prototype.run=function(){var t=this.options,e=t,r=t.cy,a=e.eles,n=e.counterclockwise!==void 0?!e.counterclockwise:e.clockwise,i=a.nodes().not(":parent");e.sort&&(i=i.sort(e.sort));for(var s=gt(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()}),o={x:s.x1+s.w/2,y:s.y1+s.h/2},u=e.sweep===void 0?2*Math.PI-2*Math.PI/i.length:e.sweep,l=u/Math.max(1,i.length-1),f,h=0,d=0;d1&&e.avoidOverlap){h*=1.75;var y=Math.cos(l)-Math.cos(0),b=Math.sin(l)-Math.sin(0),m=Math.sqrt(h*h/(y*y+b*b));f=Math.max(m,f)}var T=function(S,E){var x=e.startAngle+E*l*(n?1:-1),w=f*Math.cos(x),D=f*Math.sin(x),L={x:o.x+w,y:o.y+D};return L};return a.nodes().layoutPositions(this,e,T),this};var Dg={fit:!0,padding:30,startAngle:3/2*Math.PI,sweep:void 0,clockwise:!0,equidistant:!1,minNodeSpacing:10,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,height:void 0,width:void 0,spacingFactor:void 0,concentric:function(e){return e.degree()},levelWidth:function(e){return e.maxDegree()/4},animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,r){return!0},ready:void 0,stop:void 0,transform:function(e,r){return r}};function vu(t){this.options=be({},Dg,t)}vu.prototype.run=function(){for(var t=this.options,e=t,r=e.counterclockwise!==void 0?!e.counterclockwise:e.clockwise,a=t.cy,n=e.eles,i=n.nodes().not(":parent"),s=gt(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:a.width(),h:a.height()}),o={x:s.x1+s.w/2,y:s.y1+s.h/2},u=[],l=0,f=0;f0){var C=Math.abs(b[0].value-T.value);C>=g&&(b=[],y.push(b))}b.push(T)}var S=l+e.minNodeSpacing;if(!e.avoidOverlap){var E=y.length>0&&y[0].length>1,x=Math.min(s.w,s.h)/2-S,w=x/(y.length+E?1:0);S=Math.min(S,w)}for(var D=0,L=0;L1&&e.avoidOverlap){var I=Math.cos(O)-Math.cos(0),R=Math.sin(O)-Math.sin(0),k=Math.sqrt(S*S/(I*I+R*R));D=Math.max(k,D)}A.r=D,D+=S}if(e.equidistant){for(var P=0,B=0,V=0;V=t.numIter||(Rg(a,t),a.temperature=a.temperature*t.coolingFactor,a.temperature=t.animationThreshold&&i(),rn(h)}};f()}else{for(;l;)l=s(u),u++;Gs(a,t),o()}return this};An.prototype.stop=function(){return this.stopped=!0,this.thread&&this.thread.stop(),this.emit("layoutstop"),this};An.prototype.destroy=function(){return this.thread&&this.thread.stop(),this};var Lg=function(e,r,a){for(var n=a.eles.edges(),i=a.eles.nodes(),s=gt(a.boundingBox?a.boundingBox:{x1:0,y1:0,w:e.width(),h:e.height()}),o={isCompound:e.hasCompoundNodes(),layoutNodes:[],idToIndex:{},nodeSize:i.size(),graphSet:[],indexToGraph:[],layoutEdges:[],edgeSize:n.size(),temperature:a.initialTemp,clientWidth:s.w,clientHeight:s.h,boundingBox:s},u=a.eles.components(),l={},f=0;f0){o.graphSet.push(x);for(var f=0;fn.count?0:n.graph},Og=function t(e,r,a,n){var i=n.graphSet[a];if(-10)var h=n.nodeOverlap*f,d=Math.sqrt(o*o+u*u),c=h*o/d,v=h*u/d;else var p=fn(e,o,u),g=fn(r,-1*o,-1*u),y=g.x-p.x,b=g.y-p.y,m=y*y+b*b,d=Math.sqrt(m),h=(e.nodeRepulsion+r.nodeRepulsion)/m,c=h*y/d,v=h*b/d;e.isLocked||(e.offsetX-=c,e.offsetY-=v),r.isLocked||(r.offsetX+=c,r.offsetY+=v)}},Bg=function(e,r,a,n){if(a>0)var i=e.maxX-r.minX;else var i=r.maxX-e.minX;if(n>0)var s=e.maxY-r.minY;else var s=r.maxY-e.minY;return i>=0&&s>=0?Math.sqrt(i*i+s*s):0},fn=function(e,r,a){var n=e.positionX,i=e.positionY,s=e.height||1,o=e.width||1,u=a/r,l=s/o,f={};return r===0&&0a?(f.x=n,f.y=i+s/2,f):0r&&-1*l<=u&&u<=l?(f.x=n-o/2,f.y=i-o*a/2/r,f):0=l)?(f.x=n+s*r/2/a,f.y=i+s/2,f):(0>a&&(u<=-1*l||u>=l)&&(f.x=n-s*r/2/a,f.y=i-s/2),f)},Fg=function(e,r){for(var a=0;aa){var g=r.gravity*c/p,y=r.gravity*v/p;d.offsetX+=g,d.offsetY+=y}}}}},zg=function(e,r){var a=[],n=0,i=-1;for(a.push.apply(a,e.graphSet[0]),i+=e.graphSet[0].length;n<=i;){var s=a[n++],o=e.idToIndex[s],u=e.layoutNodes[o],l=u.children;if(0a)var i={x:a*e/n,y:a*r/n};else var i={x:e,y:r};return i},$g=function t(e,r){var a=e.parentId;if(a!=null){var n=r.layoutNodes[r.idToIndex[a]],i=!1;if((n.maxX==null||e.maxX+n.padRight>n.maxX)&&(n.maxX=e.maxX+n.padRight,i=!0),(n.minX==null||e.minX-n.padLeftn.maxY)&&(n.maxY=e.maxY+n.padBottom,i=!0),(n.minY==null||e.minY-n.padTopy&&(v+=g+r.componentSpacing,c=0,p=0,g=0)}}},Yg={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,avoidOverlapPadding:10,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,condense:!1,rows:void 0,cols:void 0,position:function(e){},sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,r){return!0},ready:void 0,stop:void 0,transform:function(e,r){return r}};function gu(t){this.options=be({},Yg,t)}gu.prototype.run=function(){var t=this.options,e=t,r=t.cy,a=e.eles,n=a.nodes().not(":parent");e.sort&&(n=n.sort(e.sort));var i=gt(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()});if(i.h===0||i.w===0)a.nodes().layoutPositions(this,e,function(Y){return{x:i.x1,y:i.y1}});else{var s=n.size(),o=Math.sqrt(s*i.h/i.w),u=Math.round(o),l=Math.round(i.w/i.h*o),f=function(_){if(_==null)return Math.min(u,l);var q=Math.min(u,l);q==u?u=_:l=_},h=function(_){if(_==null)return Math.max(u,l);var q=Math.max(u,l);q==u?u=_:l=_},d=e.rows,c=e.cols!=null?e.cols:e.columns;if(d!=null&&c!=null)u=d,l=c;else if(d!=null&&c==null)u=d,l=Math.ceil(s/u);else if(d==null&&c!=null)l=c,u=Math.ceil(s/l);else if(l*u>s){var v=f(),p=h();(v-1)*p>=s?f(v-1):(p-1)*v>=s&&h(p-1)}else for(;l*u=s?h(y+1):f(g+1)}var b=i.w/l,m=i.h/u;if(e.condense&&(b=0,m=0),e.avoidOverlap)for(var T=0;T=l&&(I=0,O++)},k={},P=0;P(I=vh(t,e,R[k],R[k+1],R[k+2],R[k+3])))return g(E,I),!0}else if(w.edgeType==="bezier"||w.edgeType==="multibezier"||w.edgeType==="self"||w.edgeType==="compound"){for(var R=w.allpts,k=0;k+5(I=ch(t,e,R[k],R[k+1],R[k+2],R[k+3],R[k+4],R[k+5])))return g(E,I),!0}for(var P=P||x.source,B=B||x.target,V=n.getArrowWidth(D,L),F=[{name:"source",x:w.arrowStartX,y:w.arrowStartY,angle:w.srcArrowAngle},{name:"target",x:w.arrowEndX,y:w.arrowEndY,angle:w.tgtArrowAngle},{name:"mid-source",x:w.midX,y:w.midY,angle:w.midsrcArrowAngle},{name:"mid-target",x:w.midX,y:w.midY,angle:w.midtgtArrowAngle}],k=0;k0&&(y(P),y(B))}function m(E,x,w){return At(E,x,w)}function T(E,x){var w=E._private,D=d,L;x?L=x+"-":L="",E.boundingBox();var A=w.labelBounds[x||"main"],M=E.pstyle(L+"label").value,O=E.pstyle("text-events").strValue==="yes";if(!(!O||!M)){var I=m(w.rscratch,"labelX",x),R=m(w.rscratch,"labelY",x),k=m(w.rscratch,"labelAngle",x),P=E.pstyle(L+"text-margin-x").pfValue,B=E.pstyle(L+"text-margin-y").pfValue,V=A.x1-D-P,F=A.x2+D-P,G=A.y1-D-B,Y=A.y2+D-B;if(k){var _=Math.cos(k),q=Math.sin(k),U=function(me,te){return me=me-I,te=te-R,{x:me*_-te*q+I,y:me*q+te*_+R}},z=U(V,G),H=U(V,Y),W=U(F,G),J=U(F,Y),ee=[z.x+P,z.y+B,W.x+P,W.y+B,J.x+P,J.y+B,H.x+P,H.y+B];if(dt(t,e,ee))return g(E),!0}else if(Gr(A,t,e))return g(E),!0}}for(var C=s.length-1;C>=0;C--){var S=s[C];S.isNode()?y(S)||T(S):b(S)||T(S)||T(S,"source")||T(S,"target")}return o};wr.getAllInBox=function(t,e,r,a){var n=this.getCachedZSortedEles().interactive,i=[],s=Math.min(t,r),o=Math.max(t,r),u=Math.min(e,a),l=Math.max(e,a);t=s,r=o,e=u,a=l;for(var f=gt({x1:t,y1:e,x2:r,y2:a}),h=0;h0?-(Math.PI-e.ang):Math.PI+e.ang},Kg=function(e,r,a,n,i){if(e!==Ys?_s(r,e,kt):Wg(bt,kt),_s(r,a,bt),Us=kt.nx*bt.ny-kt.ny*bt.nx,$s=kt.nx*bt.nx-kt.ny*-bt.ny,Ut=Math.asin(Math.max(-1,Math.min(1,Us))),Math.abs(Ut)<1e-6){ri=r.x,ai=r.y,fr=Ar=0;return}hr=1,Qa=!1,$s<0?Ut<0?Ut=Math.PI+Ut:(Ut=Math.PI-Ut,hr=-1,Qa=!0):Ut>0&&(hr=-1,Qa=!0),r.radius!==void 0?Ar=r.radius:Ar=n,or=Ut/2,$a=Math.min(kt.len/2,bt.len/2),i?(Rt=Math.abs(Math.cos(or)*Ar/Math.sin(or)),Rt>$a?(Rt=$a,fr=Math.abs(Rt*Math.sin(or)/Math.cos(or))):fr=Ar):(Rt=Math.min($a,Ar),fr=Math.abs(Rt*Math.sin(or)/Math.cos(or))),ni=r.x+bt.nx*Rt,ii=r.y+bt.ny*Rt,ri=ni-bt.ny*fr*hr,ai=ii+bt.nx*fr*hr,bu=r.x+kt.nx*Rt,Eu=r.y+kt.ny*Rt,Ys=r};function wu(t,e){e.radius===0?t.lineTo(e.cx,e.cy):t.arc(e.cx,e.cy,e.radius,e.startAngle,e.endAngle,e.counterClockwise)}function ki(t,e,r,a){var n=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0;return a===0||e.radius===0?{cx:e.x,cy:e.y,radius:0,startX:e.x,startY:e.y,stopX:e.x,stopY:e.y,startAngle:void 0,endAngle:void 0,counterClockwise:void 0}:(Kg(t,e,r,a,n),{cx:ri,cy:ai,radius:fr,startX:bu,startY:Eu,stopX:ni,stopY:ii,startAngle:kt.ang+Math.PI/2*hr,endAngle:bt.ang-Math.PI/2*hr,counterClockwise:Qa})}var ut={};ut.findMidptPtsEtc=function(t,e){var r=e.posPts,a=e.intersectionPts,n=e.vectorNormInverse,i,s=t.pstyle("source-endpoint"),o=t.pstyle("target-endpoint"),u=s.units!=null&&o.units!=null,l=function(C,S,E,x){var w=x-S,D=E-C,L=Math.sqrt(D*D+w*w);return{x:-w/L,y:D/L}},f=t.pstyle("edge-distances").value;switch(f){case"node-position":i=r;break;case"intersection":i=a;break;case"endpoints":{if(u){var h=this.manualEndptToPx(t.source()[0],s),d=St(h,2),c=d[0],v=d[1],p=this.manualEndptToPx(t.target()[0],o),g=St(p,2),y=g[0],b=g[1],m={x1:c,y1:v,x2:y,y2:b};n=l(c,v,y,b),i=m}else Ne("Edge ".concat(t.id()," has edge-distances:endpoints specified without manual endpoints specified via source-endpoint and target-endpoint. Falling back on edge-distances:intersection (default).")),i=a;break}}return{midptPts:i,vectorNormInverse:n}};ut.findHaystackPoints=function(t){for(var e=0;e0?Math.max(pe-ye,0):Math.min(pe+ye,0)},M=A(D,x),O=A(L,w),I=!1;b===l?y=Math.abs(M)>Math.abs(O)?n:a:b===u||b===o?(y=a,I=!0):(b===i||b===s)&&(y=n,I=!0);var R=y===a,k=R?O:M,P=R?L:D,B=Do(P),V=!1;!(I&&(T||S))&&(b===o&&P<0||b===u&&P>0||b===i&&P>0||b===s&&P<0)&&(B*=-1,k=B*Math.abs(k),V=!0);var F;if(T){var G=C<0?1+C:C;F=G*k}else{var Y=C<0?k:0;F=Y+C*B}var _=function(pe){return Math.abs(pe)=Math.abs(k)},q=_(F),U=_(Math.abs(k)-Math.abs(F)),z=q||U;if(z&&!V)if(R){var H=Math.abs(P)<=d/2,W=Math.abs(D)<=c/2;if(H){var J=(f.x1+f.x2)/2,ee=f.y1,oe=f.y2;r.segpts=[J,ee,J,oe]}else if(W){var me=(f.y1+f.y2)/2,te=f.x1,ie=f.x2;r.segpts=[te,me,ie,me]}else r.segpts=[f.x1,f.y2]}else{var ue=Math.abs(P)<=h/2,ce=Math.abs(L)<=v/2;if(ue){var fe=(f.y1+f.y2)/2,ge=f.x1,Ae=f.x2;r.segpts=[ge,fe,Ae,fe]}else if(ce){var xe=(f.x1+f.x2)/2,we=f.y1,De=f.y2;r.segpts=[xe,we,xe,De]}else r.segpts=[f.x2,f.y1]}else if(R){var j=f.y1+F+(g?d/2*B:0),N=f.x1,$=f.x2;r.segpts=[N,j,$,j]}else{var Q=f.x1+F+(g?h/2*B:0),K=f.y1,X=f.y2;r.segpts=[Q,K,Q,X]}if(r.isRound){var ae=t.pstyle("taxi-radius").value,Z=t.pstyle("radius-type").value[0]==="arc-radius";r.radii=new Array(r.segpts.length/2).fill(ae),r.isArcRadius=new Array(r.segpts.length/2).fill(Z)}};ut.tryToCorrectInvalidPoints=function(t,e){var r=t._private.rscratch;if(r.edgeType==="bezier"){var a=e.srcPos,n=e.tgtPos,i=e.srcW,s=e.srcH,o=e.tgtW,u=e.tgtH,l=e.srcShape,f=e.tgtShape,h=e.srcCornerRadius,d=e.tgtCornerRadius,c=e.srcRs,v=e.tgtRs,p=!ne(r.startX)||!ne(r.startY),g=!ne(r.arrowStartX)||!ne(r.arrowStartY),y=!ne(r.endX)||!ne(r.endY),b=!ne(r.arrowEndX)||!ne(r.arrowEndY),m=3,T=this.getArrowWidth(t.pstyle("width").pfValue,t.pstyle("arrow-scale").value)*this.arrowShapeWidth,C=m*T,S=gr({x:r.ctrlpts[0],y:r.ctrlpts[1]},{x:r.startX,y:r.startY}),E=SO.poolIndex()){var I=M;M=O,O=I}var R=w.srcPos=M.position(),k=w.tgtPos=O.position(),P=w.srcW=M.outerWidth(),B=w.srcH=M.outerHeight(),V=w.tgtW=O.outerWidth(),F=w.tgtH=O.outerHeight(),G=w.srcShape=r.nodeShapes[e.getNodeShape(M)],Y=w.tgtShape=r.nodeShapes[e.getNodeShape(O)],_=w.srcCornerRadius=M.pstyle("corner-radius").value==="auto"?"auto":M.pstyle("corner-radius").pfValue,q=w.tgtCornerRadius=O.pstyle("corner-radius").value==="auto"?"auto":O.pstyle("corner-radius").pfValue,U=w.tgtRs=O._private.rscratch,z=w.srcRs=M._private.rscratch;w.dirCounts={north:0,west:0,south:0,east:0,northwest:0,southwest:0,northeast:0,southeast:0};for(var H=0;H0){var oe=i,me=ur(oe,Mr(r)),te=ur(oe,Mr(ee)),ie=me;if(te2){var ue=ur(oe,{x:ee[2],y:ee[3]});ue0){var X=s,ae=ur(X,Mr(r)),Z=ur(X,Mr(K)),re=ae;if(Z2){var pe=ur(X,{x:K[2],y:K[3]});pe=v||E){g={cp:T,segment:S};break}}if(g)break}var x=g.cp,w=g.segment,D=(v-y)/w.length,L=w.t1-w.t0,A=c?w.t0+L*D:w.t1-L*D;A=ga(0,A,1),e=Rr(x.p0,x.p1,x.p2,A),d=Qg(x.p0,x.p1,x.p2,A);break}case"straight":case"segments":case"haystack":{for(var M=0,O,I,R,k,P=a.allpts.length,B=0;B+3=v));B+=2);var V=v-I,F=V/O;F=ga(0,F,1),e=rh(R,k,F),d=Cu(R,k);break}}s("labelX",h,e.x),s("labelY",h,e.y),s("labelAutoAngle",h,d)}};l("source"),l("target"),this.applyLabelDimensions(t)}};Gt.applyLabelDimensions=function(t){this.applyPrefixedLabelDimensions(t),t.isEdge()&&(this.applyPrefixedLabelDimensions(t,"source"),this.applyPrefixedLabelDimensions(t,"target"))};Gt.applyPrefixedLabelDimensions=function(t,e){var r=t._private,a=this.getLabelText(t,e),n=this.calculateLabelDimensions(t,a),i=t.pstyle("line-height").pfValue,s=t.pstyle("text-wrap").strValue,o=At(r.rscratch,"labelWrapCachedLines",e)||[],u=s!=="wrap"?1:Math.max(o.length,1),l=n.height/u,f=l*i,h=n.width,d=n.height+(u-1)*(i-1)*l;Kt(r.rstyle,"labelWidth",e,h),Kt(r.rscratch,"labelWidth",e,h),Kt(r.rstyle,"labelHeight",e,d),Kt(r.rscratch,"labelHeight",e,d),Kt(r.rscratch,"labelLineHeight",e,f)};Gt.getLabelText=function(t,e){var r=t._private,a=e?e+"-":"",n=t.pstyle(a+"label").strValue,i=t.pstyle("text-transform").value,s=function(V,F){return F?(Kt(r.rscratch,V,e,F),F):At(r.rscratch,V,e)};if(!n)return"";i=="none"||(i=="uppercase"?n=n.toUpperCase():i=="lowercase"&&(n=n.toLowerCase()));var o=t.pstyle("text-wrap").value;if(o==="wrap"){var u=s("labelKey");if(u!=null&&s("labelWrapKey")===u)return s("labelWrapCachedText");for(var l="​",f=n.split(` `),h=t.pstyle("text-max-width").pfValue,d=t.pstyle("text-overflow-wrap").value,c=d==="anywhere",v=[],p=/[\s\u200b]+/,g=c?"":" ",y=0;yh){for(var S=b.split(p),E="",x=0;xM)break;O+=n[k],k===n.length-1&&(R=!0)}return R||(O+=I),O}return n};Gt.getLabelJustification=function(t){var e=t.pstyle("text-justification").strValue,r=t.pstyle("text-halign").strValue;if(e==="auto")if(t.isNode())switch(r){case"left":return"right";case"right":return"left";default:return"center"}else return"center";else return e};Gt.calculateLabelDimensions=function(t,e){var r=this,a=dr(e,t._private.labelDimsKey),n=r.labelDimCache||(r.labelDimCache=[]),i=n[a];if(i!=null)return i;var s=0,o=t.pstyle("font-style").strValue,u=t.pstyle("font-size").pfValue,l=t.pstyle("font-family").strValue,f=t.pstyle("font-weight").strValue,h=this.labelCalcCanvas,d=this.labelCalcCanvasContext;if(!h){h=this.labelCalcCanvas=document.createElement("canvas"),d=this.labelCalcCanvasContext=h.getContext("2d");var c=h.style;c.position="absolute",c.left="-9999px",c.top="-9999px",c.zIndex="-1",c.visibility="hidden",c.pointerEvents="none"}d.font="".concat(o," ").concat(f," ").concat(u,"px ").concat(l);for(var v=0,p=0,g=e.split(` -`),y=0;y1&&arguments[1]!==void 0?arguments[1]:!0;if(e.merge(s),o)for(var u=0;u=t.desktopTapThreshold2}var ft=n(N);Ie&&(t.hoverData.tapholdCancelled=!0);var xt=function(){var It=t.hoverData.dragDelta=t.hoverData.dragDelta||[];It.length===0?(It.push(de[0]),It.push(de[1])):(It[0]+=de[0],It[1]+=de[1])};Q=!0,a(he,["mousemove","vmousemove","tapdrag"],N,{x:Z[0],y:Z[1]});var mt=function(){t.data.bgActivePosistion=void 0,t.hoverData.selecting||K.emit({originalEvent:N,type:"boxstart",position:{x:Z[0],y:Z[1]}}),ye[4]=1,t.hoverData.selecting=!0,t.redrawHint("select",!0),t.redraw()};if(t.hoverData.which===3){if(Ie){var vt={originalEvent:N,type:"cxtdrag",position:{x:Z[0],y:Z[1]}};le?le.emit(vt):K.emit(vt),t.hoverData.cxtDragged=!0,(!t.hoverData.cxtOver||he!==t.hoverData.cxtOver)&&(t.hoverData.cxtOver&&t.hoverData.cxtOver.emit({originalEvent:N,type:"cxtdragout",position:{x:Z[0],y:Z[1]}}),t.hoverData.cxtOver=he,he&&he.emit({originalEvent:N,type:"cxtdragover",position:{x:Z[0],y:Z[1]}}))}}else if(t.hoverData.dragging){if(Q=!0,K.panningEnabled()&&K.userPanningEnabled()){var Mt;if(t.hoverData.justStartedPan){var Vt=t.hoverData.mdownPos;Mt={x:(Z[0]-Vt[0])*X,y:(Z[1]-Vt[1])*X},t.hoverData.justStartedPan=!1}else Mt={x:de[0]*X,y:de[1]*X};K.panBy(Mt),K.emit("dragpan"),t.hoverData.dragged=!0}Z=t.projectIntoViewport(N.clientX,N.clientY)}else if(ye[4]==1&&(le==null||le.pannable())){if(Ie){if(!t.hoverData.dragging&&K.boxSelectionEnabled()&&(ft||!K.panningEnabled()||!K.userPanningEnabled()))mt();else if(!t.hoverData.selecting&&K.panningEnabled()&&K.userPanningEnabled()){var Tt=i(le,t.hoverData.downs);Tt&&(t.hoverData.dragging=!0,t.hoverData.justStartedPan=!0,ye[4]=0,t.data.bgActivePosistion=Mr(re),t.redrawHint("select",!0),t.redraw())}le&&le.pannable()&&le.active()&&le.unactivate()}}else{if(le&&le.pannable()&&le.active()&&le.unactivate(),(!le||!le.grabbed())&&he!=Ee&&(Ee&&a(Ee,["mouseout","tapdragout"],N,{x:Z[0],y:Z[1]}),he&&a(he,["mouseover","tapdragover"],N,{x:Z[0],y:Z[1]}),t.hoverData.last=he),le)if(Ie){if(K.boxSelectionEnabled()&&ft)le&&le.grabbed()&&(g(Fe),le.emit("freeon"),Fe.emit("free"),t.dragData.didDrag&&(le.emit("dragfreeon"),Fe.emit("dragfree"))),mt();else if(le&&le.grabbed()&&t.nodeIsDraggable(le)){var $e=!t.dragData.didDrag;$e&&t.redrawHint("eles",!0),t.dragData.didDrag=!0,t.hoverData.draggingEles||v(Fe,{inDragLayer:!0});var We={x:0,y:0};if(ne(de[0])&&ne(de[1])&&(We.x+=de[0],We.y+=de[1],$e)){var at=t.hoverData.dragDelta;at&&ne(at[0])&&ne(at[1])&&(We.x+=at[0],We.y+=at[1])}t.hoverData.draggingEles=!0,Fe.silentShift(We).emit("position drag"),t.redrawHint("drag",!0),t.redraw()}}else xt();Q=!0}if(ye[2]=Z[0],ye[3]=Z[1],Q)return N.stopPropagation&&N.stopPropagation(),N.preventDefault&&N.preventDefault(),!1}},!1);var D,L,A;t.registerBinding(e,"mouseup",function(N){var $=t.hoverData.capture;if($){t.hoverData.capture=!1;var Q=t.cy,K=t.projectIntoViewport(N.clientX,N.clientY),X=t.selection,ae=t.findNearestElement(K[0],K[1],!0,!1),Z=t.dragData.possibleDragElements,re=t.hoverData.down,pe=n(N);if(t.data.bgActivePosistion&&(t.redrawHint("select",!0),t.redraw()),t.hoverData.tapholdCancelled=!0,t.data.bgActivePosistion=void 0,re&&re.unactivate(),t.hoverData.which===3){var ye={originalEvent:N,type:"cxttapend",position:{x:K[0],y:K[1]}};if(re?re.emit(ye):Q.emit(ye),!t.hoverData.cxtDragged){var he={originalEvent:N,type:"cxttap",position:{x:K[0],y:K[1]}};re?re.emit(he):Q.emit(he)}t.hoverData.cxtDragged=!1,t.hoverData.which=null}else if(t.hoverData.which===1){if(a(ae,["mouseup","tapend","vmouseup"],N,{x:K[0],y:K[1]}),!t.dragData.didDrag&&!t.hoverData.dragged&&!t.hoverData.selecting&&!t.hoverData.isOverThresholdDrag&&(a(re,["click","tap","vclick"],N,{x:K[0],y:K[1]}),L=!1,N.timeStamp-A<=Q.multiClickDebounceTime()?(D&&clearTimeout(D),L=!0,A=null,a(re,["dblclick","dbltap","vdblclick"],N,{x:K[0],y:K[1]})):(D=setTimeout(function(){L||a(re,["oneclick","onetap","voneclick"],N,{x:K[0],y:K[1]})},Q.multiClickDebounceTime()),A=N.timeStamp)),re==null&&!t.dragData.didDrag&&!t.hoverData.selecting&&!t.hoverData.dragged&&!n(N)&&(Q.$(r).unselect(["tapunselect"]),Z.length>0&&t.redrawHint("eles",!0),t.dragData.possibleDragElements=Z=Q.collection()),ae==re&&!t.dragData.didDrag&&!t.hoverData.selecting&&ae!=null&&ae._private.selectable&&(t.hoverData.dragging||(Q.selectionType()==="additive"||pe?ae.selected()?ae.unselect(["tapunselect"]):ae.select(["tapselect"]):pe||(Q.$(r).unmerge(ae).unselect(["tapunselect"]),ae.select(["tapselect"]))),t.redrawHint("eles",!0)),t.hoverData.selecting){var Ee=Q.collection(t.getAllInBox(X[0],X[1],X[2],X[3]));t.redrawHint("select",!0),Ee.length>0&&t.redrawHint("eles",!0),Q.emit({type:"boxend",originalEvent:N,position:{x:K[0],y:K[1]}});var le=function(Ie){return Ie.selectable()&&!Ie.selected()};Q.selectionType()==="additive"||pe||Q.$(r).unmerge(Ee).unselect(),Ee.emit("box").stdFilter(le).select().emit("boxselect"),t.redraw()}if(t.hoverData.dragging&&(t.hoverData.dragging=!1,t.redrawHint("select",!0),t.redrawHint("eles",!0),t.redraw()),!X[4]){t.redrawHint("drag",!0),t.redrawHint("eles",!0);var de=re&&re.grabbed();g(Z),de&&(re.emit("freeon"),Z.emit("free"),t.dragData.didDrag&&(re.emit("dragfreeon"),Z.emit("dragfree")))}}X[4]=0,t.hoverData.down=null,t.hoverData.cxtStarted=!1,t.hoverData.draggingEles=!1,t.hoverData.selecting=!1,t.hoverData.isOverThresholdDrag=!1,t.dragData.didDrag=!1,t.hoverData.dragged=!1,t.hoverData.dragDelta=[],t.hoverData.mdownPos=null,t.hoverData.mdownGPos=null}},!1);var M=function(N){if(!t.scrollingPage){var $=t.cy,Q=$.zoom(),K=$.pan(),X=t.projectIntoViewport(N.clientX,N.clientY),ae=[X[0]*Q+K.x,X[1]*Q+K.y];if(t.hoverData.draggingEles||t.hoverData.dragging||t.hoverData.cxtStarted||x()){N.preventDefault();return}if($.panningEnabled()&&$.userPanningEnabled()&&$.zoomingEnabled()&&$.userZoomingEnabled()){N.preventDefault(),t.data.wheelZooming=!0,clearTimeout(t.data.wheelTimeout),t.data.wheelTimeout=setTimeout(function(){t.data.wheelZooming=!1,t.redrawHint("eles",!0),t.redraw()},150);var Z;N.deltaY!=null?Z=N.deltaY/-250:N.wheelDeltaY!=null?Z=N.wheelDeltaY/1e3:Z=N.wheelDelta/1e3,Z=Z*t.wheelSensitivity;var re=N.deltaMode===1;re&&(Z*=33);var pe=$.zoom()*Math.pow(10,Z);N.type==="gesturechange"&&(pe=t.gestureStartZoom*N.scale),$.zoom({level:pe,renderedPosition:{x:ae[0],y:ae[1]}}),$.emit(N.type==="gesturechange"?"pinchzoom":"scrollzoom")}}};t.registerBinding(t.container,"wheel",M,!0),t.registerBinding(e,"scroll",function(N){t.scrollingPage=!0,clearTimeout(t.scrollingPageTimeout),t.scrollingPageTimeout=setTimeout(function(){t.scrollingPage=!1},250)},!0),t.registerBinding(t.container,"gesturestart",function(N){t.gestureStartZoom=t.cy.zoom(),t.hasTouchStarted||N.preventDefault()},!0),t.registerBinding(t.container,"gesturechange",function(j){t.hasTouchStarted||M(j)},!0),t.registerBinding(t.container,"mouseout",function(N){var $=t.projectIntoViewport(N.clientX,N.clientY);t.cy.emit({originalEvent:N,type:"mouseout",position:{x:$[0],y:$[1]}})},!1),t.registerBinding(t.container,"mouseover",function(N){var $=t.projectIntoViewport(N.clientX,N.clientY);t.cy.emit({originalEvent:N,type:"mouseover",position:{x:$[0],y:$[1]}})},!1);var O,I,R,k,P,B,V,F,G,Y,_,q,U,z=function(N,$,Q,K){return Math.sqrt((Q-N)*(Q-N)+(K-$)*(K-$))},H=function(N,$,Q,K){return(Q-N)*(Q-N)+(K-$)*(K-$)},W;t.registerBinding(t.container,"touchstart",W=function(N){if(t.hasTouchStarted=!0,!!w(N)){b(),t.touchData.capture=!0,t.data.bgActivePosistion=void 0;var $=t.cy,Q=t.touchData.now,K=t.touchData.earlier;if(N.touches[0]){var X=t.projectIntoViewport(N.touches[0].clientX,N.touches[0].clientY);Q[0]=X[0],Q[1]=X[1]}if(N.touches[1]){var X=t.projectIntoViewport(N.touches[1].clientX,N.touches[1].clientY);Q[2]=X[0],Q[3]=X[1]}if(N.touches[2]){var X=t.projectIntoViewport(N.touches[2].clientX,N.touches[2].clientY);Q[4]=X[0],Q[5]=X[1]}if(N.touches[1]){t.touchData.singleTouchMoved=!0,g(t.dragData.touchDragEles);var ae=t.findContainerClientCoords();G=ae[0],Y=ae[1],_=ae[2],q=ae[3],O=N.touches[0].clientX-G,I=N.touches[0].clientY-Y,R=N.touches[1].clientX-G,k=N.touches[1].clientY-Y,U=0<=O&&O<=_&&0<=R&&R<=_&&0<=I&&I<=q&&0<=k&&k<=q;var Z=$.pan(),re=$.zoom();P=z(O,I,R,k),B=H(O,I,R,k),V=[(O+R)/2,(I+k)/2],F=[(V[0]-Z.x)/re,(V[1]-Z.y)/re];var pe=200,ye=pe*pe;if(B=1){for(var Ze=t.touchData.startPosition=[null,null,null,null,null,null],Ue=0;Ue=t.touchTapThreshold2}if($&&t.touchData.cxt){N.preventDefault();var Ze=N.touches[0].clientX-G,Ue=N.touches[0].clientY-Y,ct=N.touches[1].clientX-G,Qe=N.touches[1].clientY-Y,ft=H(Ze,Ue,ct,Qe),xt=ft/B,mt=150,vt=mt*mt,Mt=1.5,Vt=Mt*Mt;if(xt>=Vt||ft>=vt){t.touchData.cxt=!1,t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var Tt={originalEvent:N,type:"cxttapend",position:{x:X[0],y:X[1]}};t.touchData.start?(t.touchData.start.unactivate().emit(Tt),t.touchData.start=null):K.emit(Tt)}}if($&&t.touchData.cxt){var Tt={originalEvent:N,type:"cxtdrag",position:{x:X[0],y:X[1]}};t.data.bgActivePosistion=void 0,t.redrawHint("select",!0),t.touchData.start?t.touchData.start.emit(Tt):K.emit(Tt),t.touchData.start&&(t.touchData.start._private.grabbed=!1),t.touchData.cxtDragged=!0;var $e=t.findNearestElement(X[0],X[1],!0,!0);(!t.touchData.cxtOver||$e!==t.touchData.cxtOver)&&(t.touchData.cxtOver&&t.touchData.cxtOver.emit({originalEvent:N,type:"cxtdragout",position:{x:X[0],y:X[1]}}),t.touchData.cxtOver=$e,$e&&$e.emit({originalEvent:N,type:"cxtdragover",position:{x:X[0],y:X[1]}}))}else if($&&N.touches[2]&&K.boxSelectionEnabled())N.preventDefault(),t.data.bgActivePosistion=void 0,this.lastThreeTouch=+new Date,t.touchData.selecting||K.emit({originalEvent:N,type:"boxstart",position:{x:X[0],y:X[1]}}),t.touchData.selecting=!0,t.touchData.didSelect=!0,Q[4]=1,!Q||Q.length===0||Q[0]===void 0?(Q[0]=(X[0]+X[2]+X[4])/3,Q[1]=(X[1]+X[3]+X[5])/3,Q[2]=(X[0]+X[2]+X[4])/3+1,Q[3]=(X[1]+X[3]+X[5])/3+1):(Q[2]=(X[0]+X[2]+X[4])/3,Q[3]=(X[1]+X[3]+X[5])/3),t.redrawHint("select",!0),t.redraw();else if($&&N.touches[1]&&!t.touchData.didSelect&&K.zoomingEnabled()&&K.panningEnabled()&&K.userZoomingEnabled()&&K.userPanningEnabled()){N.preventDefault(),t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var We=t.dragData.touchDragEles;if(We){t.redrawHint("drag",!0);for(var at=0;at0&&!t.hoverData.draggingEles&&!t.swipePanning&&t.data.bgActivePosistion!=null&&(t.data.bgActivePosistion=void 0,t.redrawHint("select",!0),t.redraw())}},!1);var ee;t.registerBinding(e,"touchcancel",ee=function(N){var $=t.touchData.start;t.touchData.capture=!1,$&&$.unactivate()});var oe,me,te,ie;if(t.registerBinding(e,"touchend",oe=function(N){var $=t.touchData.start,Q=t.touchData.capture;if(Q)N.touches.length===0&&(t.touchData.capture=!1),N.preventDefault();else return;var K=t.selection;t.swipePanning=!1,t.hoverData.draggingEles=!1;var X=t.cy,ae=X.zoom(),Z=t.touchData.now,re=t.touchData.earlier;if(N.touches[0]){var pe=t.projectIntoViewport(N.touches[0].clientX,N.touches[0].clientY);Z[0]=pe[0],Z[1]=pe[1]}if(N.touches[1]){var pe=t.projectIntoViewport(N.touches[1].clientX,N.touches[1].clientY);Z[2]=pe[0],Z[3]=pe[1]}if(N.touches[2]){var pe=t.projectIntoViewport(N.touches[2].clientX,N.touches[2].clientY);Z[4]=pe[0],Z[5]=pe[1]}$&&$.unactivate();var ye;if(t.touchData.cxt){if(ye={originalEvent:N,type:"cxttapend",position:{x:Z[0],y:Z[1]}},$?$.emit(ye):X.emit(ye),!t.touchData.cxtDragged){var he={originalEvent:N,type:"cxttap",position:{x:Z[0],y:Z[1]}};$?$.emit(he):X.emit(he)}t.touchData.start&&(t.touchData.start._private.grabbed=!1),t.touchData.cxt=!1,t.touchData.start=null,t.redraw();return}if(!N.touches[2]&&X.boxSelectionEnabled()&&t.touchData.selecting){t.touchData.selecting=!1;var Ee=X.collection(t.getAllInBox(K[0],K[1],K[2],K[3]));K[0]=void 0,K[1]=void 0,K[2]=void 0,K[3]=void 0,K[4]=0,t.redrawHint("select",!0),X.emit({type:"boxend",originalEvent:N,position:{x:Z[0],y:Z[1]}});var le=function(vt){return vt.selectable()&&!vt.selected()};Ee.emit("box").stdFilter(le).select().emit("boxselect"),Ee.nonempty()&&t.redrawHint("eles",!0),t.redraw()}if($!=null&&$.unactivate(),N.touches[2])t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);else if(!N.touches[1]){if(!N.touches[0]){if(!N.touches[0]){t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var de=t.dragData.touchDragEles;if($!=null){var Fe=$._private.grabbed;g(de),t.redrawHint("drag",!0),t.redrawHint("eles",!0),Fe&&($.emit("freeon"),de.emit("free"),t.dragData.didDrag&&($.emit("dragfreeon"),de.emit("dragfree"))),a($,["touchend","tapend","vmouseup","tapdragout"],N,{x:Z[0],y:Z[1]}),$.unactivate(),t.touchData.start=null}else{var Ie=t.findNearestElement(Z[0],Z[1],!0,!0);a(Ie,["touchend","tapend","vmouseup","tapdragout"],N,{x:Z[0],y:Z[1]})}var lt=t.touchData.startPosition[0]-Z[0],Ze=lt*lt,Ue=t.touchData.startPosition[1]-Z[1],ct=Ue*Ue,Qe=Ze+ct,ft=Qe*ae*ae;t.touchData.singleTouchMoved||($||X.$(":selected").unselect(["tapunselect"]),a($,["tap","vclick"],N,{x:Z[0],y:Z[1]}),me=!1,N.timeStamp-ie<=X.multiClickDebounceTime()?(te&&clearTimeout(te),me=!0,ie=null,a($,["dbltap","vdblclick"],N,{x:Z[0],y:Z[1]})):(te=setTimeout(function(){me||a($,["onetap","voneclick"],N,{x:Z[0],y:Z[1]})},X.multiClickDebounceTime()),ie=N.timeStamp)),$!=null&&!t.dragData.didDrag&&$._private.selectable&&ft"u"){var ue=[],ce=function(N){return{clientX:N.clientX,clientY:N.clientY,force:1,identifier:N.pointerId,pageX:N.pageX,pageY:N.pageY,radiusX:N.width/2,radiusY:N.height/2,screenX:N.screenX,screenY:N.screenY,target:N.target}},fe=function(N){return{event:N,touch:ce(N)}},ge=function(N){ue.push(fe(N))},Ae=function(N){for(var $=0;$0)return G[0]}return null},v=Object.keys(d),p=0;p0?c:Ao(i,s,e,r,a,n,o,u)},checkPoint:function(e,r,a,n,i,s,o,u){u=u==="auto"?pr(n,i):u;var l=2*u;if(Yt(e,r,this.points,s,o,n,i-l,[0,-1],a)||Yt(e,r,this.points,s,o,n-l,i,[0,-1],a))return!0;var f=n/2+2*a,h=i/2+2*a,d=[s-f,o-h,s-f,o,s+f,o,s+f,o-h];return!!(dt(e,r,d)||cr(e,r,l,l,s+n/2-u,o+i/2-u,a)||cr(e,r,l,l,s-n/2+u,o+i/2-u,a))}}};Ht.registerNodeShapes=function(){var t=this.nodeShapes={},e=this;this.generateEllipse(),this.generatePolygon("triangle",ht(3,0)),this.generateRoundPolygon("round-triangle",ht(3,0)),this.generatePolygon("rectangle",ht(4,0)),t.square=t.rectangle,this.generateRoundRectangle(),this.generateCutRectangle(),this.generateBarrel(),this.generateBottomRoundrectangle();{var r=[0,1,1,0,0,-1,-1,0];this.generatePolygon("diamond",r),this.generateRoundPolygon("round-diamond",r)}this.generatePolygon("pentagon",ht(5,0)),this.generateRoundPolygon("round-pentagon",ht(5,0)),this.generatePolygon("hexagon",ht(6,0)),this.generateRoundPolygon("round-hexagon",ht(6,0)),this.generatePolygon("heptagon",ht(7,0)),this.generateRoundPolygon("round-heptagon",ht(7,0)),this.generatePolygon("octagon",ht(8,0)),this.generateRoundPolygon("round-octagon",ht(8,0));var a=new Array(20);{var n=Wn(5,0),i=Wn(5,Math.PI/5),s=.5*(3-Math.sqrt(5));s*=1.57;for(var o=0;o=e.deqFastCost*T)break}else if(l){if(b>=e.deqCost*c||b>=e.deqAvgCost*d)break}else if(m>=e.deqNoDrawCost*Yn)break;var C=e.deq(a,g,p);if(C.length>0)for(var S=0;S0&&(e.onDeqd(a,v),!l&&e.shouldRedraw(a,v,g,p)&&i())},o=e.priority||mi;n.beforeRender(s,o(a))}}}},jg=function(){function t(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:an;vi(this,t),this.idsByKey=new Bt,this.keyForId=new Bt,this.cachesByLvl=new Bt,this.lvls=[],this.getKey=e,this.doesEleInvalidateKey=r}return di(t,[{key:"getIdsFor",value:function(r){r==null&&ze("Can not get id list for null key");var a=this.idsByKey,n=this.idsByKey.get(r);return n||(n=new Ur,a.set(r,n)),n}},{key:"addIdForKey",value:function(r,a){r!=null&&this.getIdsFor(r).add(a)}},{key:"deleteIdForKey",value:function(r,a){r!=null&&this.getIdsFor(r).delete(a)}},{key:"getNumberOfIdsForKey",value:function(r){return r==null?0:this.getIdsFor(r).size}},{key:"updateKeyMappingFor",value:function(r){var a=r.id(),n=this.keyForId.get(a),i=this.getKey(r);this.deleteIdForKey(n,a),this.addIdForKey(i,a),this.keyForId.set(a,i)}},{key:"deleteKeyMappingFor",value:function(r){var a=r.id(),n=this.keyForId.get(a);this.deleteIdForKey(n,a),this.keyForId.delete(a)}},{key:"keyHasChangedFor",value:function(r){var a=r.id(),n=this.keyForId.get(a),i=this.getKey(r);return n!==i}},{key:"isInvalid",value:function(r){return this.keyHasChangedFor(r)||this.doesEleInvalidateKey(r)}},{key:"getCachesAt",value:function(r){var a=this.cachesByLvl,n=this.lvls,i=a.get(r);return i||(i=new Bt,a.set(r,i),n.push(r)),i}},{key:"getCache",value:function(r,a){return this.getCachesAt(a).get(r)}},{key:"get",value:function(r,a){var n=this.getKey(r),i=this.getCache(n,a);return i!=null&&this.updateKeyMappingFor(r),i}},{key:"getForCachedKey",value:function(r,a){var n=this.keyForId.get(r.id()),i=this.getCache(n,a);return i}},{key:"hasCache",value:function(r,a){return this.getCachesAt(a).has(r)}},{key:"has",value:function(r,a){var n=this.getKey(r);return this.hasCache(n,a)}},{key:"setCache",value:function(r,a,n){n.key=r,this.getCachesAt(a).set(r,n)}},{key:"set",value:function(r,a,n){var i=this.getKey(r);this.setCache(i,a,n),this.updateKeyMappingFor(r)}},{key:"deleteCache",value:function(r,a){this.getCachesAt(a).delete(r)}},{key:"delete",value:function(r,a){var n=this.getKey(r);this.deleteCache(n,a)}},{key:"invalidateKey",value:function(r){var a=this;this.lvls.forEach(function(n){return a.deleteCache(r,n)})}},{key:"invalidate",value:function(r){var a=r.id(),n=this.keyForId.get(a);this.deleteKeyMappingFor(r);var i=this.doesEleInvalidateKey(r);return i&&this.invalidateKey(n),i||this.getNumberOfIdsForKey(n)===0}}]),t}(),Ws=25,Ya=50,Ja=-4,si=3,ep=7.99,tp=8,rp=1024,ap=1024,np=1024,ip=.2,sp=.8,op=10,up=.15,lp=.1,fp=.9,hp=.9,cp=100,vp=1,Ir={dequeue:"dequeue",downscale:"downscale",highQuality:"highQuality"},dp=tt({getKey:null,doesEleInvalidateKey:an,drawElement:null,getBoundingBox:null,getRotationPoint:null,getRotationOffset:null,isVisible:Eo,allowEdgeTxrCaching:!0,allowParentTxrCaching:!0}),ua=function(e,r){var a=this;a.renderer=e,a.onDequeues=[];var n=dp(r);be(a,n),a.lookup=new jg(n.getKey,n.doesEleInvalidateKey),a.setupDequeueing()},qe=ua.prototype;qe.reasons=Ir;qe.getTextureQueue=function(t){var e=this;return e.eleImgCaches=e.eleImgCaches||{},e.eleImgCaches[t]=e.eleImgCaches[t]||[]};qe.getRetiredTextureQueue=function(t){var e=this,r=e.eleImgCaches.retired=e.eleImgCaches.retired||{},a=r[t]=r[t]||[];return a};qe.getElementQueue=function(){var t=this,e=t.eleCacheQueue=t.eleCacheQueue||new Da(function(r,a){return a.reqs-r.reqs});return e};qe.getElementKeyToQueue=function(){var t=this,e=t.eleKeyToCacheQueue=t.eleKeyToCacheQueue||{};return e};qe.getElement=function(t,e,r,a,n){var i=this,s=this.renderer,o=s.cy.zoom(),u=this.lookup;if(!e||e.w===0||e.h===0||isNaN(e.w)||isNaN(e.h)||!t.visible()||t.removed()||!i.allowEdgeTxrCaching&&t.isEdge()||!i.allowParentTxrCaching&&t.isParent())return null;if(a==null&&(a=Math.ceil(Ei(o*r))),a=ep||a>si)return null;var l=Math.pow(2,a),f=e.h*l,h=e.w*l,d=s.eleTextBiggerThanMin(t,l);if(!this.isVisible(t,d))return null;var c=u.get(t,a);if(c&&c.invalidated&&(c.invalidated=!1,c.texture.invalidatedWidth-=c.width),c)return c;var v;if(f<=Ws?v=Ws:f<=Ya?v=Ya:v=Math.ceil(f/Ya)*Ya,f>np||h>ap)return null;var p=i.getTextureQueue(v),g=p[p.length-2],y=function(){return i.recycleTexture(v,h)||i.addTexture(v,h)};g||(g=p[p.length-1]),g||(g=y()),g.width-g.usedWidtha;L--)w=i.getElement(t,e,r,L,Ir.downscale);D()}else return i.queueElement(t,S.level-1),S;else{var A;if(!m&&!T&&!C)for(var M=a-1;M>=Ja;M--){var O=u.get(t,M);if(O){A=O;break}}if(b(A))return i.queueElement(t,a),A;g.context.translate(g.usedWidth,0),g.context.scale(l,l),this.drawElement(g.context,t,e,d,!1),g.context.scale(1/l,1/l),g.context.translate(-g.usedWidth,0)}return c={x:g.usedWidth,texture:g,level:a,scale:l,width:h,height:f,scaledLabelShown:d},g.usedWidth+=Math.ceil(h+tp),g.eleCaches.push(c),u.set(t,a,c),i.checkTextureFullness(g),c};qe.invalidateElements=function(t){for(var e=0;e=ip*t.width&&this.retireTexture(t)};qe.checkTextureFullness=function(t){var e=this,r=e.getTextureQueue(t.height);t.usedWidth/t.width>sp&&t.fullnessChecks>=op?er(r,t):t.fullnessChecks++};qe.retireTexture=function(t){var e=this,r=t.height,a=e.getTextureQueue(r),n=this.lookup;er(a,t),t.retired=!0;for(var i=t.eleCaches,s=0;s=e)return s.retired=!1,s.usedWidth=0,s.invalidatedWidth=0,s.fullnessChecks=0,bi(s.eleCaches),s.context.setTransform(1,0,0,1,0,0),s.context.clearRect(0,0,s.width,s.height),er(n,s),a.push(s),s}};qe.queueElement=function(t,e){var r=this,a=r.getElementQueue(),n=r.getElementKeyToQueue(),i=this.getKey(t),s=n[i];if(s)s.level=Math.max(s.level,e),s.eles.merge(t),s.reqs++,a.updateItem(s);else{var o={eles:t.spawn().merge(t),level:e,reqs:1,key:i};a.push(o),n[i]=o}};qe.dequeue=function(t){for(var e=this,r=e.getElementQueue(),a=e.getElementKeyToQueue(),n=[],i=e.lookup,s=0;s0;s++){var o=r.pop(),u=o.key,l=o.eles[0],f=i.hasCache(l,o.level);if(a[u]=null,f)continue;n.push(o);var h=e.getBoundingBox(l);e.getElement(l,h,t,o.level,Ir.dequeue)}return n};qe.removeFromQueue=function(t){var e=this,r=e.getElementQueue(),a=e.getElementKeyToQueue(),n=this.getKey(t),i=a[n];i!=null&&(i.eles.length===1?(i.reqs=yi,r.updateItem(i),r.pop(),a[n]=null):i.eles.unmerge(t))};qe.onDequeue=function(t){this.onDequeues.push(t)};qe.offDequeue=function(t){er(this.onDequeues,t)};qe.setupDequeueing=Ou.setupDequeueing({deqRedrawThreshold:cp,deqCost:up,deqAvgCost:lp,deqNoDrawCost:fp,deqFastCost:hp,deq:function(e,r,a){return e.dequeue(r,a)},onDeqd:function(e,r){for(var a=0;a=pp||r>cn)return null}a.validateLayersElesOrdering(r,t);var u=a.layersByLevel,l=Math.pow(2,r),f=u[r]=u[r]||[],h,d=a.levelIsComplete(r,t),c,v=function(){var D=function(I){if(a.validateLayersElesOrdering(I,t),a.levelIsComplete(I,t))return c=u[I],!0},L=function(I){if(!c)for(var R=r+I;fa<=R&&R<=cn&&!D(R);R+=I);};L(1),L(-1);for(var A=f.length-1;A>=0;A--){var M=f[A];M.invalid&&er(f,M)}};if(!d)v();else return f;var p=function(){if(!h){h=gt();for(var D=0;DCp)return null;var M=a.makeLayer(h,r);if(L!=null){var O=f.indexOf(L)+1;f.splice(O,0,M)}else(D.insert===void 0||D.insert)&&f.unshift(M);return M};if(a.skipping&&!o)return null;for(var y=null,b=t.length/gp,m=!o,T=0;T=b||!Lo(y.bb,C.boundingBox()))&&(y=g({insert:!0,after:y}),!y))return null;c||m?a.queueLayer(y,C):a.drawEleInLayer(y,C,r,e),y.eles.push(C),E[r]=y}return c||(m?null:f)};rt.getEleLevelForLayerLevel=function(t,e){return t};rt.drawEleInLayer=function(t,e,r,a){var n=this,i=this.renderer,s=t.context,o=e.boundingBox();o.w===0||o.h===0||!e.visible()||(r=n.getEleLevelForLayerLevel(r,a),i.setImgSmoothing(s,!1),i.drawCachedElement(s,e,null,null,r,Dp),i.setImgSmoothing(s,!0))};rt.levelIsComplete=function(t,e){var r=this,a=r.layersByLevel[t];if(!a||a.length===0)return!1;for(var n=0,i=0;i0||s.invalid)return!1;n+=s.eles.length}return n===e.length};rt.validateLayersElesOrdering=function(t,e){var r=this.layersByLevel[t];if(r)for(var a=0;a0){e=!0;break}}return e};rt.invalidateElements=function(t){var e=this;t.length!==0&&(e.lastInvalidationTime=$t(),!(t.length===0||!e.haveLayers())&&e.updateElementsInLayers(t,function(a,n,i){e.invalidateLayer(a)}))};rt.invalidateLayer=function(t){if(this.lastInvalidationTime=$t(),!t.invalid){var e=t.level,r=t.eles,a=this.layersByLevel[e];er(a,t),t.elesQueue=[],t.invalid=!0,t.replacement&&(t.replacement.invalid=!0);for(var n=0;n3&&arguments[3]!==void 0?arguments[3]:!0,n=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,i=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0,s=this,o=e._private.rscratch;if(!(i&&!e.visible())&&!(o.badLine||o.allpts==null||isNaN(o.allpts[0]))){var u;r&&(u=r,t.translate(-u.x1,-u.y1));var l=i?e.pstyle("opacity").value:1,f=i?e.pstyle("line-opacity").value:1,h=e.pstyle("curve-style").value,d=e.pstyle("line-style").value,c=e.pstyle("width").pfValue,v=e.pstyle("line-cap").value,p=l*f,g=l*f,y=function(){var A=arguments.length>0&&arguments[0]!==void 0?arguments[0]:p;h==="straight-triangle"?(s.eleStrokeStyle(t,e,A),s.drawEdgeTrianglePath(e,t,o.allpts)):(t.lineWidth=c,t.lineCap=v,s.eleStrokeStyle(t,e,A),s.drawEdgePath(e,t,o.allpts,d),t.lineCap="butt")},b=function(){n&&s.drawEdgeOverlay(t,e)},m=function(){n&&s.drawEdgeUnderlay(t,e)},T=function(){var A=arguments.length>0&&arguments[0]!==void 0?arguments[0]:g;s.drawArrowheads(t,e,A)},C=function(){s.drawElementText(t,e,null,a)};t.lineJoin="round";var S=e.pstyle("ghost").value==="yes";if(S){var E=e.pstyle("ghost-offset-x").pfValue,x=e.pstyle("ghost-offset-y").pfValue,w=e.pstyle("ghost-opacity").value,D=p*w;t.translate(E,x),y(D),T(D),t.translate(-E,-x)}m(),y(),T(),b(),C(),r&&t.translate(u.x1,u.y1)}};var Iu=function(e){if(!["overlay","underlay"].includes(e))throw new Error("Invalid state");return function(r,a){if(a.visible()){var n=a.pstyle("".concat(e,"-opacity")).value;if(n!==0){var i=this,s=i.usePaths(),o=a._private.rscratch,u=a.pstyle("".concat(e,"-padding")).pfValue,l=2*u,f=a.pstyle("".concat(e,"-color")).value;r.lineWidth=l,o.edgeType==="self"&&!s?r.lineCap="butt":r.lineCap="round",i.colorStrokeStyle(r,f[0],f[1],f[2],n),i.drawEdgePath(a,r,o.allpts,"solid")}}}};Xt.drawEdgeOverlay=Iu("overlay");Xt.drawEdgeUnderlay=Iu("underlay");Xt.drawEdgePath=function(t,e,r,a){var n=t._private.rscratch,i=e,s,o=!1,u=this.usePaths(),l=t.pstyle("line-dash-pattern").pfValue,f=t.pstyle("line-dash-offset").pfValue;if(u){var h=r.join("$"),d=n.pathCacheKey&&n.pathCacheKey===h;d?(s=e=n.pathCache,o=!0):(s=e=new Path2D,n.pathCacheKey=h,n.pathCache=s)}if(i.setLineDash)switch(a){case"dotted":i.setLineDash([1,1]);break;case"dashed":i.setLineDash(l),i.lineDashOffset=f;break;case"solid":i.setLineDash([]);break}if(!o&&!n.badLine)switch(e.beginPath&&e.beginPath(),e.moveTo(r[0],r[1]),n.edgeType){case"bezier":case"self":case"compound":case"multibezier":for(var c=2;c+35&&arguments[5]!==void 0?arguments[5]:!0,s=this;if(a==null){if(i&&!s.eleTextBiggerThanMin(e))return}else if(a===!1)return;if(e.isNode()){var o=e.pstyle("label");if(!o||!o.value)return;var u=s.getLabelJustification(e);t.textAlign=u,t.textBaseline="bottom"}else{var l=e.element()._private.rscratch.badLine,f=e.pstyle("label"),h=e.pstyle("source-label"),d=e.pstyle("target-label");if(l||(!f||!f.value)&&(!h||!h.value)&&(!d||!d.value))return;t.textAlign="center",t.textBaseline="bottom"}var c=!r,v;r&&(v=r,t.translate(-v.x1,-v.y1)),n==null?(s.drawText(t,e,null,c,i),e.isEdge()&&(s.drawText(t,e,"source",c,i),s.drawText(t,e,"target",c,i))):s.drawText(t,e,n,c,i),r&&t.translate(v.x1,v.y1)};xr.getFontCache=function(t){var e;this.fontCaches=this.fontCaches||[];for(var r=0;r2&&arguments[2]!==void 0?arguments[2]:!0,a=e.pstyle("font-style").strValue,n=e.pstyle("font-size").pfValue+"px",i=e.pstyle("font-family").strValue,s=e.pstyle("font-weight").strValue,o=r?e.effectiveOpacity()*e.pstyle("text-opacity").value:1,u=e.pstyle("text-outline-opacity").value*o,l=e.pstyle("color").value,f=e.pstyle("text-outline-color").value;t.font=a+" "+s+" "+n+" "+i,t.lineJoin="round",this.colorFillStyle(t,l[0],l[1],l[2],o),this.colorStrokeStyle(t,f[0],f[1],f[2],u)};function Hn(t,e,r,a,n){var i=arguments.length>5&&arguments[5]!==void 0?arguments[5]:5,s=arguments.length>6?arguments[6]:void 0;t.beginPath(),t.moveTo(e+i,r),t.lineTo(e+a-i,r),t.quadraticCurveTo(e+a,r,e+a,r+i),t.lineTo(e+a,r+n-i),t.quadraticCurveTo(e+a,r+n,e+a-i,r+n),t.lineTo(e+i,r+n),t.quadraticCurveTo(e,r+n,e,r+n-i),t.lineTo(e,r+i),t.quadraticCurveTo(e,r,e+i,r),t.closePath(),s?t.stroke():t.fill()}xr.getTextAngle=function(t,e){var r,a=t._private,n=a.rscratch,i=e?e+"-":"",s=t.pstyle(i+"text-rotation"),o=At(n,"labelAngle",e);return s.strValue==="autorotate"?r=t.isEdge()?o:0:s.strValue==="none"?r=0:r=s.pfValue,r};xr.drawText=function(t,e,r){var a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,n=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,i=e._private,s=i.rscratch,o=n?e.effectiveOpacity():1;if(!(n&&(o===0||e.pstyle("text-opacity").value===0))){r==="main"&&(r=null);var u=At(s,"labelX",r),l=At(s,"labelY",r),f,h,d=this.getLabelText(e,r);if(d!=null&&d!==""&&!isNaN(u)&&!isNaN(l)){this.setupTextStyle(t,e,n);var c=r?r+"-":"",v=At(s,"labelWidth",r),p=At(s,"labelHeight",r),g=e.pstyle(c+"text-margin-x").pfValue,y=e.pstyle(c+"text-margin-y").pfValue,b=e.isEdge(),m=e.pstyle("text-halign").value,T=e.pstyle("text-valign").value;b&&(m="center",T="center"),u+=g,l+=y;var C;switch(a?C=this.getTextAngle(e,r):C=0,C!==0&&(f=u,h=l,t.translate(f,h),t.rotate(C),u=0,l=0),T){case"top":break;case"center":l+=p/2;break;case"bottom":l+=p;break}var S=e.pstyle("text-background-opacity").value,E=e.pstyle("text-border-opacity").value,x=e.pstyle("text-border-width").pfValue,w=e.pstyle("text-background-padding").pfValue,D=e.pstyle("text-background-shape").strValue,L=D.indexOf("round")===0,A=2;if(S>0||x>0&&E>0){var M=u-w;switch(m){case"left":M-=v;break;case"center":M-=v/2;break}var O=l-p-w,I=v+2*w,R=p+2*w;if(S>0){var k=t.fillStyle,P=e.pstyle("text-background-color").value;t.fillStyle="rgba("+P[0]+","+P[1]+","+P[2]+","+S*o+")",L?Hn(t,M,O,I,R,A):t.fillRect(M,O,I,R),t.fillStyle=k}if(x>0&&E>0){var B=t.strokeStyle,V=t.lineWidth,F=e.pstyle("text-border-color").value,G=e.pstyle("text-border-style").value;if(t.strokeStyle="rgba("+F[0]+","+F[1]+","+F[2]+","+E*o+")",t.lineWidth=x,t.setLineDash)switch(G){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash([4,2]);break;case"double":t.lineWidth=x/4,t.setLineDash([]);break;case"solid":t.setLineDash([]);break}if(L?Hn(t,M,O,I,R,A,"stroke"):t.strokeRect(M,O,I,R),G==="double"){var Y=x/2;L?Hn(t,M+Y,O+Y,I-Y*2,R-Y*2,A,"stroke"):t.strokeRect(M+Y,O+Y,I-Y*2,R-Y*2)}t.setLineDash&&t.setLineDash([]),t.lineWidth=V,t.strokeStyle=B}}var _=2*e.pstyle("text-outline-width").pfValue;if(_>0&&(t.lineWidth=_),e.pstyle("text-wrap").value==="wrap"){var q=At(s,"labelWrapCachedLines",r),U=At(s,"labelLineHeight",r),z=v/2,H=this.getLabelJustification(e);switch(H==="auto"||(m==="left"?H==="left"?u+=-v:H==="center"&&(u+=-z):m==="center"?H==="left"?u+=-z:H==="right"&&(u+=z):m==="right"&&(H==="center"?u+=z:H==="right"&&(u+=v))),T){case"top":l-=(q.length-1)*U;break;case"center":case"bottom":l-=(q.length-1)*U;break}for(var W=0;W0&&t.strokeText(q[W],u,l),t.fillText(q[W],u,l),l+=U}else _>0&&t.strokeText(d,u,l),t.fillText(d,u,l);C!==0&&(t.rotate(-C),t.translate(-f,-h))}}};var Zr={};Zr.drawNode=function(t,e,r){var a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,n=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,i=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0,s=this,o,u,l=e._private,f=l.rscratch,h=e.position();if(!(!ne(h.x)||!ne(h.y))&&!(i&&!e.visible())){var d=i?e.effectiveOpacity():1,c=s.usePaths(),v,p=!1,g=e.padding();o=e.width()+2*g,u=e.height()+2*g;var y;r&&(y=r,t.translate(-y.x1,-y.y1));for(var b=e.pstyle("background-image"),m=b.value,T=new Array(m.length),C=new Array(m.length),S=0,E=0;E0&&arguments[0]!==void 0?arguments[0]:M;s.eleFillStyle(t,e,ae)},W=function(){var ae=arguments.length>0&&arguments[0]!==void 0?arguments[0]:F;s.colorStrokeStyle(t,O[0],O[1],O[2],ae)},J=function(){var ae=arguments.length>0&&arguments[0]!==void 0?arguments[0]:q;s.colorStrokeStyle(t,Y[0],Y[1],Y[2],ae)},ee=function(ae,Z,re,pe){var ye=s.nodePathCache=s.nodePathCache||[],he=bo(re==="polygon"?re+","+pe.join(","):re,""+Z,""+ae,""+z),Ee=ye[he],le,de=!1;return Ee!=null?(le=Ee,de=!0,f.pathCache=le):(le=new Path2D,ye[he]=f.pathCache=le),{path:le,cacheHit:de}},oe=e.pstyle("shape").strValue,me=e.pstyle("shape-polygon-points").pfValue;if(c){t.translate(h.x,h.y);var te=ee(o,u,oe,me);v=te.path,p=te.cacheHit}var ie=function(){if(!p){var ae=h;c&&(ae={x:0,y:0}),s.nodeShapes[s.getNodeShape(e)].draw(v||t,ae.x,ae.y,o,u,z,f)}c?t.fill(v):t.fill()},ue=function(){for(var ae=arguments.length>0&&arguments[0]!==void 0?arguments[0]:d,Z=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,re=l.backgrounding,pe=0,ye=0;ye0&&arguments[0]!==void 0?arguments[0]:!1,Z=arguments.length>1&&arguments[1]!==void 0?arguments[1]:d;s.hasPie(e)&&(s.drawPie(t,e,Z),ae&&(c||s.nodeShapes[s.getNodeShape(e)].draw(t,h.x,h.y,o,u,z,f)))},fe=function(){var ae=arguments.length>0&&arguments[0]!==void 0?arguments[0]:d,Z=(L>0?L:-L)*ae,re=L>0?0:255;L!==0&&(s.colorFillStyle(t,re,re,re,Z),c?t.fill(v):t.fill())},ge=function(){if(A>0){if(t.lineWidth=A,t.lineCap=k,t.lineJoin=R,t.setLineDash)switch(I){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash(B),t.lineDashOffset=V;break;case"solid":case"double":t.setLineDash([]);break}if(P!=="center"){if(t.save(),t.lineWidth*=2,P==="inside")c?t.clip(v):t.clip();else{var ae=new Path2D;ae.rect(-o/2-A,-u/2-A,o+2*A,u+2*A),ae.addPath(v),t.clip(ae,"evenodd")}c?t.stroke(v):t.stroke(),t.restore()}else c?t.stroke(v):t.stroke();if(I==="double"){t.lineWidth=A/3;var Z=t.globalCompositeOperation;t.globalCompositeOperation="destination-out",c?t.stroke(v):t.stroke(),t.globalCompositeOperation=Z}t.setLineDash&&t.setLineDash([])}},Ae=function(){if(G>0){if(t.lineWidth=G,t.lineCap="butt",t.setLineDash)switch(_){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash([4,2]);break;case"solid":case"double":t.setLineDash([]);break}var ae=h;c&&(ae={x:0,y:0});var Z=s.getNodeShape(e),re=A;P==="inside"&&(re=0),P==="outside"&&(re*=2);var pe=(o+re+(G+U))/o,ye=(u+re+(G+U))/u,he=o*pe,Ee=u*ye,le=s.nodeShapes[Z].points,de;if(c){var Fe=ee(he,Ee,Z,le);de=Fe.path}if(Z==="ellipse")s.drawEllipsePath(de||t,ae.x,ae.y,he,Ee);else if(["round-diamond","round-heptagon","round-hexagon","round-octagon","round-pentagon","round-polygon","round-triangle","round-tag"].includes(Z)){var Ie=0,lt=0,Ze=0;Z==="round-diamond"?Ie=(re+U+G)*1.4:Z==="round-heptagon"?(Ie=(re+U+G)*1.075,Ze=-(re/2+U+G)/35):Z==="round-hexagon"?Ie=(re+U+G)*1.12:Z==="round-pentagon"?(Ie=(re+U+G)*1.13,Ze=-(re/2+U+G)/15):Z==="round-tag"?(Ie=(re+U+G)*1.12,lt=(re/2+G+U)*.07):Z==="round-triangle"&&(Ie=(re+U+G)*(Math.PI/2),Ze=-(re+U/2+G)/Math.PI),Ie!==0&&(pe=(o+Ie)/o,he=o*pe,["round-hexagon","round-tag"].includes(Z)||(ye=(u+Ie)/u,Ee=u*ye)),z=z==="auto"?No(he,Ee):z;for(var Ue=he/2,ct=Ee/2,Qe=z+(re+G+U)/2,ft=new Array(le.length/2),xt=new Array(le.length/2),mt=0;mt0){if(n=n||a.position(),i==null||s==null){var c=a.padding();i=a.width()+2*c,s=a.height()+2*c}o.colorFillStyle(r,f[0],f[1],f[2],l),o.nodeShapes[h].draw(r,n.x,n.y,i+u*2,s+u*2,d),r.fill()}}}};Zr.drawNodeOverlay=Ru("overlay");Zr.drawNodeUnderlay=Ru("underlay");Zr.hasPie=function(t){return t=t[0],t._private.hasPie};Zr.drawPie=function(t,e,r,a){e=e[0],a=a||e.position();var n=e.cy().style(),i=e.pstyle("pie-size"),s=a.x,o=a.y,u=e.width(),l=e.height(),f=Math.min(u,l)/2,h=0,d=this.usePaths();d&&(s=0,o=0),i.units==="%"?f=f*i.pfValue:i.pfValue!==void 0&&(f=i.pfValue/2);for(var c=1;c<=n.pieBackgroundN;c++){var v=e.pstyle("pie-"+c+"-background-size").value,p=e.pstyle("pie-"+c+"-background-color").value,g=e.pstyle("pie-"+c+"-background-opacity").value*r,y=v/100;y+h>1&&(y=1-h);var b=1.5*Math.PI+2*Math.PI*h,m=2*Math.PI*y,T=b+m;v===0||h>=1||h+y>1||(t.beginPath(),t.moveTo(s,o),t.arc(s,o,f,b,T),t.closePath(),this.colorFillStyle(t,p[0],p[1],p[2],g),t.fill(),h+=y)}};var yt={},Bp=100;yt.getPixelRatio=function(){var t=this.data.contexts[0];if(this.forcedPixelRatio!=null)return this.forcedPixelRatio;var e=t.backingStorePixelRatio||t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1;return(window.devicePixelRatio||1)/e};yt.paintCache=function(t){for(var e=this.paintCaches=this.paintCaches||[],r=!0,a,n=0;ns.minMbLowQualFrames&&(s.motionBlurPxRatio=s.mbPxRBlurry)),s.clearingMotionBlur&&(s.motionBlurPxRatio=1),s.textureDrawLastFrame&&!h&&(f[s.NODE]=!0,f[s.SELECT_BOX]=!0);var b=u.style(),m=u.zoom(),T=n!==void 0?n:m,C=u.pan(),S={x:C.x,y:C.y},E={zoom:m,pan:{x:C.x,y:C.y}},x=s.prevViewport,w=x===void 0||E.zoom!==x.zoom||E.pan.x!==x.pan.x||E.pan.y!==x.pan.y;!w&&!(p&&!v)&&(s.motionBlurPxRatio=1),i&&(S=i),T*=o,S.x*=o,S.y*=o;var D=s.getCachedZSortedEles();function L(te,ie,ue,ce,fe){var ge=te.globalCompositeOperation;te.globalCompositeOperation="destination-out",s.colorFillStyle(te,255,255,255,s.motionBlurTransparency),te.fillRect(ie,ue,ce,fe),te.globalCompositeOperation=ge}function A(te,ie){var ue,ce,fe,ge;!s.clearingMotionBlur&&(te===l.bufferContexts[s.MOTIONBLUR_BUFFER_NODE]||te===l.bufferContexts[s.MOTIONBLUR_BUFFER_DRAG])?(ue={x:C.x*c,y:C.y*c},ce=m*c,fe=s.canvasWidth*c,ge=s.canvasHeight*c):(ue=S,ce=T,fe=s.canvasWidth,ge=s.canvasHeight),te.setTransform(1,0,0,1,0,0),ie==="motionBlur"?L(te,0,0,fe,ge):!e&&(ie===void 0||ie)&&te.clearRect(0,0,fe,ge),r||(te.translate(ue.x,ue.y),te.scale(ce,ce)),i&&te.translate(i.x,i.y),n&&te.scale(n,n)}if(h||(s.textureDrawLastFrame=!1),h){if(s.textureDrawLastFrame=!0,!s.textureCache){s.textureCache={},s.textureCache.bb=u.mutableElements().boundingBox(),s.textureCache.texture=s.data.bufferCanvases[s.TEXTURE_BUFFER];var M=s.data.bufferContexts[s.TEXTURE_BUFFER];M.setTransform(1,0,0,1,0,0),M.clearRect(0,0,s.canvasWidth*s.textureMult,s.canvasHeight*s.textureMult),s.render({forcedContext:M,drawOnlyNodeLayer:!0,forcedPxRatio:o*s.textureMult});var E=s.textureCache.viewport={zoom:u.zoom(),pan:u.pan(),width:s.canvasWidth,height:s.canvasHeight};E.mpan={x:(0-E.pan.x)/E.zoom,y:(0-E.pan.y)/E.zoom}}f[s.DRAG]=!1,f[s.NODE]=!1;var O=l.contexts[s.NODE],I=s.textureCache.texture,E=s.textureCache.viewport;O.setTransform(1,0,0,1,0,0),d?L(O,0,0,E.width,E.height):O.clearRect(0,0,E.width,E.height);var R=b.core("outside-texture-bg-color").value,k=b.core("outside-texture-bg-opacity").value;s.colorFillStyle(O,R[0],R[1],R[2],k),O.fillRect(0,0,E.width,E.height);var m=u.zoom();A(O,!1),O.clearRect(E.mpan.x,E.mpan.y,E.width/E.zoom/o,E.height/E.zoom/o),O.drawImage(I,E.mpan.x,E.mpan.y,E.width/E.zoom/o,E.height/E.zoom/o)}else s.textureOnViewport&&!e&&(s.textureCache=null);var P=u.extent(),B=s.pinching||s.hoverData.dragging||s.swipePanning||s.data.wheelZooming||s.hoverData.draggingEles||s.cy.animated(),V=s.hideEdgesOnViewport&&B,F=[];if(F[s.NODE]=!f[s.NODE]&&d&&!s.clearedForMotionBlur[s.NODE]||s.clearingMotionBlur,F[s.NODE]&&(s.clearedForMotionBlur[s.NODE]=!0),F[s.DRAG]=!f[s.DRAG]&&d&&!s.clearedForMotionBlur[s.DRAG]||s.clearingMotionBlur,F[s.DRAG]&&(s.clearedForMotionBlur[s.DRAG]=!0),f[s.NODE]||r||a||F[s.NODE]){var G=d&&!F[s.NODE]&&c!==1,O=e||(G?s.data.bufferContexts[s.MOTIONBLUR_BUFFER_NODE]:l.contexts[s.NODE]),Y=d&&!G?"motionBlur":void 0;A(O,Y),V?s.drawCachedNodes(O,D.nondrag,o,P):s.drawLayeredElements(O,D.nondrag,o,P),s.debug&&s.drawDebugPoints(O,D.nondrag),!r&&!d&&(f[s.NODE]=!1)}if(!a&&(f[s.DRAG]||r||F[s.DRAG])){var G=d&&!F[s.DRAG]&&c!==1,O=e||(G?s.data.bufferContexts[s.MOTIONBLUR_BUFFER_DRAG]:l.contexts[s.DRAG]);A(O,d&&!G?"motionBlur":void 0),V?s.drawCachedNodes(O,D.drag,o,P):s.drawCachedElements(O,D.drag,o,P),s.debug&&s.drawDebugPoints(O,D.drag),!r&&!d&&(f[s.DRAG]=!1)}if(s.showFps||!a&&f[s.SELECT_BOX]&&!r){var O=e||l.contexts[s.SELECT_BOX];if(A(O),s.selection[4]==1&&(s.hoverData.selecting||s.touchData.selecting)){var m=s.cy.zoom(),_=b.core("selection-box-border-width").value/m;O.lineWidth=_,O.fillStyle="rgba("+b.core("selection-box-color").value[0]+","+b.core("selection-box-color").value[1]+","+b.core("selection-box-color").value[2]+","+b.core("selection-box-opacity").value+")",O.fillRect(s.selection[0],s.selection[1],s.selection[2]-s.selection[0],s.selection[3]-s.selection[1]),_>0&&(O.strokeStyle="rgba("+b.core("selection-box-border-color").value[0]+","+b.core("selection-box-border-color").value[1]+","+b.core("selection-box-border-color").value[2]+","+b.core("selection-box-opacity").value+")",O.strokeRect(s.selection[0],s.selection[1],s.selection[2]-s.selection[0],s.selection[3]-s.selection[1]))}if(l.bgActivePosistion&&!s.hoverData.selecting){var m=s.cy.zoom(),q=l.bgActivePosistion;O.fillStyle="rgba("+b.core("active-bg-color").value[0]+","+b.core("active-bg-color").value[1]+","+b.core("active-bg-color").value[2]+","+b.core("active-bg-opacity").value+")",O.beginPath(),O.arc(q.x,q.y,b.core("active-bg-size").pfValue/m,0,2*Math.PI),O.fill()}var U=s.lastRedrawTime;if(s.showFps&&U){U=Math.round(U);var z=Math.round(1e3/U);O.setTransform(1,0,0,1,0,0),O.fillStyle="rgba(255, 0, 0, 0.75)",O.strokeStyle="rgba(255, 0, 0, 0.75)",O.lineWidth=1,O.fillText("1 frame = "+U+" ms = "+z+" fps",0,20);var H=60;O.strokeRect(0,30,250,20),O.fillRect(0,30,250*Math.min(z/H,1),20)}r||(f[s.SELECT_BOX]=!1)}if(d&&c!==1){var W=l.contexts[s.NODE],J=s.data.bufferCanvases[s.MOTIONBLUR_BUFFER_NODE],ee=l.contexts[s.DRAG],oe=s.data.bufferCanvases[s.MOTIONBLUR_BUFFER_DRAG],me=function(ie,ue,ce){ie.setTransform(1,0,0,1,0,0),ce||!y?ie.clearRect(0,0,s.canvasWidth,s.canvasHeight):L(ie,0,0,s.canvasWidth,s.canvasHeight);var fe=c;ie.drawImage(ue,0,0,s.canvasWidth*fe,s.canvasHeight*fe,0,0,s.canvasWidth,s.canvasHeight)};(f[s.NODE]||F[s.NODE])&&(me(W,J,F[s.NODE]),f[s.NODE]=!1),(f[s.DRAG]||F[s.DRAG])&&(me(ee,oe,F[s.DRAG]),f[s.DRAG]=!1)}s.prevViewport=E,s.clearingMotionBlur&&(s.clearingMotionBlur=!1,s.motionBlurCleared=!0,s.motionBlur=!0),d&&(s.motionBlurTimeout=setTimeout(function(){s.motionBlurTimeout=null,s.clearedForMotionBlur[s.NODE]=!1,s.clearedForMotionBlur[s.DRAG]=!1,s.motionBlur=!1,s.clearingMotionBlur=!h,s.mbFrames=0,f[s.NODE]=!0,f[s.DRAG]=!0,s.redraw()},Bp)),e||u.emit("render")};var sr={};sr.drawPolygonPath=function(t,e,r,a,n,i){var s=a/2,o=n/2;t.beginPath&&t.beginPath(),t.moveTo(e+s*i[0],r+o*i[1]);for(var u=1;u0&&s>0){c.clearRect(0,0,i,s),c.globalCompositeOperation="source-over";var v=this.getCachedZSortedEles();if(t.full)c.translate(-a.x1*l,-a.y1*l),c.scale(l,l),this.drawElements(c,v),c.scale(1/l,1/l),c.translate(a.x1*l,a.y1*l);else{var p=e.pan(),g={x:p.x*l,y:p.y*l};l*=e.zoom(),c.translate(g.x,g.y),c.scale(l,l),this.drawElements(c,v),c.scale(1/l,1/l),c.translate(-g.x,-g.y)}t.bg&&(c.globalCompositeOperation="destination-over",c.fillStyle=t.bg,c.rect(0,0,i,s),c.fill())}return d};function Fp(t,e){for(var r=atob(t),a=new ArrayBuffer(r.length),n=new Uint8Array(a),i=0;i"u"?"undefined":Xe(OffscreenCanvas))!=="undefined"?r=new OffscreenCanvas(t,e):(r=document.createElement("canvas"),r.width=t,r.height=e),r};[Mu,zt,Xt,Bi,xr,Zr,yt,sr,Na,Bu].forEach(function(t){be(Se,t)});var Vp=[{name:"null",impl:mu},{name:"base",impl:Au},{name:"canvas",impl:Gp}],Up=[{type:"layout",extensions:qg},{type:"renderer",extensions:Vp}],Gu={},zu={};function Vu(t,e,r){var a=r,n=function(x){Ne("Can not register `"+e+"` for `"+t+"` since `"+x+"` already exists in the prototype and can not be overridden")};if(t==="core"){if(wa.prototype[e])return n(e);wa.prototype[e]=r}else if(t==="collection"){if(et.prototype[e])return n(e);et.prototype[e]=r}else if(t==="layout"){for(var i=function(x){this.options=x,r.call(this,x),Ce(this._private)||(this._private={}),this._private.cy=x.cy,this._private.listeners=[],this.createEmitter()},s=i.prototype=Object.create(r.prototype),o=[],u=0;uv&&(this.rect.x-=(this.labelWidth-v)/2,this.setWidth(this.labelWidth)),this.labelHeight>p&&(this.labelPos=="center"?this.rect.y-=(this.labelHeight-p)/2:this.labelPos=="top"&&(this.rect.y-=this.labelHeight-p),this.setHeight(this.labelHeight))}}},h.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==s.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},h.prototype.transform=function(c){var v=this.rect.x;v>u.WORLD_BOUNDARY?v=u.WORLD_BOUNDARY:v<-u.WORLD_BOUNDARY&&(v=-u.WORLD_BOUNDARY);var p=this.rect.y;p>u.WORLD_BOUNDARY?p=u.WORLD_BOUNDARY:p<-u.WORLD_BOUNDARY&&(p=-u.WORLD_BOUNDARY);var g=new f(v,p),y=c.inverseTransformPoint(g);this.setLocation(y.x,y.y)},h.prototype.getLeft=function(){return this.rect.x},h.prototype.getRight=function(){return this.rect.x+this.rect.width},h.prototype.getTop=function(){return this.rect.y},h.prototype.getBottom=function(){return this.rect.y+this.rect.height},h.prototype.getParent=function(){return this.owner==null?null:this.owner.getParent()},r.exports=h},function(r,a,n){function i(s,o){s==null&&o==null?(this.x=0,this.y=0):(this.x=s,this.y=o)}i.prototype.getX=function(){return this.x},i.prototype.getY=function(){return this.y},i.prototype.setX=function(s){this.x=s},i.prototype.setY=function(s){this.y=s},i.prototype.getDifference=function(s){return new DimensionD(this.x-s.x,this.y-s.y)},i.prototype.getCopy=function(){return new i(this.x,this.y)},i.prototype.translate=function(s){return this.x+=s.width,this.y+=s.height,this},r.exports=i},function(r,a,n){var i=n(2),s=n(10),o=n(0),u=n(6),l=n(3),f=n(1),h=n(13),d=n(12),c=n(11);function v(g,y,b){i.call(this,b),this.estimatedSize=s.MIN_VALUE,this.margin=o.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=g,y!=null&&y instanceof u?this.graphManager=y:y!=null&&y instanceof Layout&&(this.graphManager=y.graphManager)}v.prototype=Object.create(i.prototype);for(var p in i)v[p]=i[p];v.prototype.getNodes=function(){return this.nodes},v.prototype.getEdges=function(){return this.edges},v.prototype.getGraphManager=function(){return this.graphManager},v.prototype.getParent=function(){return this.parent},v.prototype.getLeft=function(){return this.left},v.prototype.getRight=function(){return this.right},v.prototype.getTop=function(){return this.top},v.prototype.getBottom=function(){return this.bottom},v.prototype.isConnected=function(){return this.isConnected},v.prototype.add=function(g,y,b){if(y==null&&b==null){var m=g;if(this.graphManager==null)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(m)>-1)throw"Node already in graph!";return m.owner=this,this.getNodes().push(m),m}else{var T=g;if(!(this.getNodes().indexOf(y)>-1&&this.getNodes().indexOf(b)>-1))throw"Source or target not in graph!";if(!(y.owner==b.owner&&y.owner==this))throw"Both owners must be this graph!";return y.owner!=b.owner?null:(T.source=y,T.target=b,T.isInterGraph=!1,this.getEdges().push(T),y.edges.push(T),b!=y&&b.edges.push(T),T)}},v.prototype.remove=function(g){var y=g;if(g instanceof l){if(y==null)throw"Node is null!";if(!(y.owner!=null&&y.owner==this))throw"Owner graph is invalid!";if(this.graphManager==null)throw"Owner graph manager is invalid!";for(var b=y.edges.slice(),m,T=b.length,C=0;C-1&&x>-1))throw"Source and/or target doesn't know this edge!";m.source.edges.splice(E,1),m.target!=m.source&&m.target.edges.splice(x,1);var S=m.source.owner.getEdges().indexOf(m);if(S==-1)throw"Not in owner's edge list!";m.source.owner.getEdges().splice(S,1)}},v.prototype.updateLeftTop=function(){for(var g=s.MAX_VALUE,y=s.MAX_VALUE,b,m,T,C=this.getNodes(),S=C.length,E=0;Eb&&(g=b),y>m&&(y=m)}return g==s.MAX_VALUE?null:(C[0].getParent().paddingLeft!=null?T=C[0].getParent().paddingLeft:T=this.margin,this.left=y-T,this.top=g-T,new d(this.left,this.top))},v.prototype.updateBounds=function(g){for(var y=s.MAX_VALUE,b=-s.MAX_VALUE,m=s.MAX_VALUE,T=-s.MAX_VALUE,C,S,E,x,w,D=this.nodes,L=D.length,A=0;AC&&(y=C),bE&&(m=E),TC&&(y=C),bE&&(m=E),T=this.nodes.length){var L=0;b.forEach(function(A){A.owner==g&&L++}),L==this.nodes.length&&(this.isConnected=!0)}},r.exports=v},function(r,a,n){var i,s=n(1);function o(u){i=n(5),this.layout=u,this.graphs=[],this.edges=[]}o.prototype.addRoot=function(){var u=this.layout.newGraph(),l=this.layout.newNode(null),f=this.add(u,l);return this.setRootGraph(f),this.rootGraph},o.prototype.add=function(u,l,f,h,d){if(f==null&&h==null&&d==null){if(u==null)throw"Graph is null!";if(l==null)throw"Parent node is null!";if(this.graphs.indexOf(u)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(u),u.parent!=null)throw"Already has a parent!";if(l.child!=null)throw"Already has a child!";return u.parent=l,l.child=u,u}else{d=f,h=l,f=u;var c=h.getOwner(),v=d.getOwner();if(!(c!=null&&c.getGraphManager()==this))throw"Source not in this graph mgr!";if(!(v!=null&&v.getGraphManager()==this))throw"Target not in this graph mgr!";if(c==v)return f.isInterGraph=!1,c.add(f,h,d);if(f.isInterGraph=!0,f.source=h,f.target=d,this.edges.indexOf(f)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(f),!(f.source!=null&&f.target!=null))throw"Edge source and/or target is null!";if(!(f.source.edges.indexOf(f)==-1&&f.target.edges.indexOf(f)==-1))throw"Edge already in source and/or target incidency list!";return f.source.edges.push(f),f.target.edges.push(f),f}},o.prototype.remove=function(u){if(u instanceof i){var l=u;if(l.getGraphManager()!=this)throw"Graph not in this graph mgr";if(!(l==this.rootGraph||l.parent!=null&&l.parent.graphManager==this))throw"Invalid parent node!";var f=[];f=f.concat(l.getEdges());for(var h,d=f.length,c=0;c=u.getRight()?l[0]+=Math.min(u.getX()-o.getX(),o.getRight()-u.getRight()):u.getX()<=o.getX()&&u.getRight()>=o.getRight()&&(l[0]+=Math.min(o.getX()-u.getX(),u.getRight()-o.getRight())),o.getY()<=u.getY()&&o.getBottom()>=u.getBottom()?l[1]+=Math.min(u.getY()-o.getY(),o.getBottom()-u.getBottom()):u.getY()<=o.getY()&&u.getBottom()>=o.getBottom()&&(l[1]+=Math.min(o.getY()-u.getY(),u.getBottom()-o.getBottom()));var d=Math.abs((u.getCenterY()-o.getCenterY())/(u.getCenterX()-o.getCenterX()));u.getCenterY()===o.getCenterY()&&u.getCenterX()===o.getCenterX()&&(d=1);var c=d*l[0],v=l[1]/d;l[0]c)return l[0]=f,l[1]=p,l[2]=d,l[3]=D,!1;if(hd)return l[0]=v,l[1]=h,l[2]=x,l[3]=c,!1;if(fd?(l[0]=y,l[1]=b,O=!0):(l[0]=g,l[1]=p,O=!0):R===P&&(f>d?(l[0]=v,l[1]=p,O=!0):(l[0]=m,l[1]=b,O=!0)),-k===P?d>f?(l[2]=w,l[3]=D,I=!0):(l[2]=x,l[3]=E,I=!0):k===P&&(d>f?(l[2]=S,l[3]=E,I=!0):(l[2]=L,l[3]=D,I=!0)),O&&I)return!1;if(f>d?h>c?(B=this.getCardinalDirection(R,P,4),V=this.getCardinalDirection(k,P,2)):(B=this.getCardinalDirection(-R,P,3),V=this.getCardinalDirection(-k,P,1)):h>c?(B=this.getCardinalDirection(-R,P,1),V=this.getCardinalDirection(-k,P,3)):(B=this.getCardinalDirection(R,P,2),V=this.getCardinalDirection(k,P,4)),!O)switch(B){case 1:G=p,F=f+-C/P,l[0]=F,l[1]=G;break;case 2:F=m,G=h+T*P,l[0]=F,l[1]=G;break;case 3:G=b,F=f+C/P,l[0]=F,l[1]=G;break;case 4:F=y,G=h+-T*P,l[0]=F,l[1]=G;break}if(!I)switch(V){case 1:_=E,Y=d+-M/P,l[2]=Y,l[3]=_;break;case 2:Y=L,_=c+A*P,l[2]=Y,l[3]=_;break;case 3:_=D,Y=d+M/P,l[2]=Y,l[3]=_;break;case 4:Y=w,_=c+-A*P,l[2]=Y,l[3]=_;break}}return!1},s.getCardinalDirection=function(o,u,l){return o>u?l:1+l%4},s.getIntersection=function(o,u,l,f){if(f==null)return this.getIntersection2(o,u,l);var h=o.x,d=o.y,c=u.x,v=u.y,p=l.x,g=l.y,y=f.x,b=f.y,m=void 0,T=void 0,C=void 0,S=void 0,E=void 0,x=void 0,w=void 0,D=void 0,L=void 0;return C=v-d,E=h-c,w=c*d-h*v,S=b-g,x=p-y,D=y*g-p*b,L=C*x-S*E,L===0?null:(m=(E*D-x*w)/L,T=(S*w-C*D)/L,new i(m,T))},s.angleOfVector=function(o,u,l,f){var h=void 0;return o!==l?(h=Math.atan((f-u)/(l-o)),l0?1:s<0?-1:0},i.floor=function(s){return s<0?Math.ceil(s):Math.floor(s)},i.ceil=function(s){return s<0?Math.floor(s):Math.ceil(s)},r.exports=i},function(r,a,n){function i(){}i.MAX_VALUE=2147483647,i.MIN_VALUE=-2147483648,r.exports=i},function(r,a,n){var i=function(){function h(d,c){for(var v=0;v"u"?"undefined":i(o);return o==null||u!="object"&&u!="function"},r.exports=s},function(r,a,n){function i(p){if(Array.isArray(p)){for(var g=0,y=Array(p.length);g0&&g;){for(C.push(E[0]);C.length>0&&g;){var x=C[0];C.splice(0,1),T.add(x);for(var w=x.getEdges(),m=0;m-1&&E.splice(M,1)}T=new Set,S=new Map}}return p},v.prototype.createDummyNodesForBendpoints=function(p){for(var g=[],y=p.source,b=this.graphManager.calcLowestCommonAncestor(p.source,p.target),m=0;m0){for(var b=this.edgeToDummyNodes.get(y),m=0;m=0&&g.splice(D,1);var L=S.getNeighborsList();L.forEach(function(O){if(y.indexOf(O)<0){var I=b.get(O),R=I-1;R==1&&x.push(O),b.set(O,R)}})}y=y.concat(x),(g.length==1||g.length==2)&&(m=!0,T=g[0])}return T},v.prototype.setGraphManager=function(p){this.graphManager=p},r.exports=v},function(r,a,n){function i(){}i.seed=1,i.x=0,i.nextDouble=function(){return i.x=Math.sin(i.seed++)*1e4,i.x-Math.floor(i.x)},r.exports=i},function(r,a,n){var i=n(4);function s(o,u){this.lworldOrgX=0,this.lworldOrgY=0,this.ldeviceOrgX=0,this.ldeviceOrgY=0,this.lworldExtX=1,this.lworldExtY=1,this.ldeviceExtX=1,this.ldeviceExtY=1}s.prototype.getWorldOrgX=function(){return this.lworldOrgX},s.prototype.setWorldOrgX=function(o){this.lworldOrgX=o},s.prototype.getWorldOrgY=function(){return this.lworldOrgY},s.prototype.setWorldOrgY=function(o){this.lworldOrgY=o},s.prototype.getWorldExtX=function(){return this.lworldExtX},s.prototype.setWorldExtX=function(o){this.lworldExtX=o},s.prototype.getWorldExtY=function(){return this.lworldExtY},s.prototype.setWorldExtY=function(o){this.lworldExtY=o},s.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},s.prototype.setDeviceOrgX=function(o){this.ldeviceOrgX=o},s.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},s.prototype.setDeviceOrgY=function(o){this.ldeviceOrgY=o},s.prototype.getDeviceExtX=function(){return this.ldeviceExtX},s.prototype.setDeviceExtX=function(o){this.ldeviceExtX=o},s.prototype.getDeviceExtY=function(){return this.ldeviceExtY},s.prototype.setDeviceExtY=function(o){this.ldeviceExtY=o},s.prototype.transformX=function(o){var u=0,l=this.lworldExtX;return l!=0&&(u=this.ldeviceOrgX+(o-this.lworldOrgX)*this.ldeviceExtX/l),u},s.prototype.transformY=function(o){var u=0,l=this.lworldExtY;return l!=0&&(u=this.ldeviceOrgY+(o-this.lworldOrgY)*this.ldeviceExtY/l),u},s.prototype.inverseTransformX=function(o){var u=0,l=this.ldeviceExtX;return l!=0&&(u=this.lworldOrgX+(o-this.ldeviceOrgX)*this.lworldExtX/l),u},s.prototype.inverseTransformY=function(o){var u=0,l=this.ldeviceExtY;return l!=0&&(u=this.lworldOrgY+(o-this.ldeviceOrgY)*this.lworldExtY/l),u},s.prototype.inverseTransformPoint=function(o){var u=new i(this.inverseTransformX(o.x),this.inverseTransformY(o.y));return u},r.exports=s},function(r,a,n){function i(c){if(Array.isArray(c)){for(var v=0,p=Array(c.length);vo.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*o.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(c-o.ADAPTATION_LOWER_NODE_LIMIT)/(o.ADAPTATION_UPPER_NODE_LIMIT-o.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-o.COOLING_ADAPTATION_FACTOR))),this.maxNodeDisplacement=o.MAX_NODE_DISPLACEMENT_INCREMENTAL):(c>o.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(o.COOLING_ADAPTATION_FACTOR,1-(c-o.ADAPTATION_LOWER_NODE_LIMIT)/(o.ADAPTATION_UPPER_NODE_LIMIT-o.ADAPTATION_LOWER_NODE_LIMIT)*(1-o.COOLING_ADAPTATION_FACTOR)):this.coolingFactor=1,this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=o.MAX_NODE_DISPLACEMENT),this.maxIterations=Math.max(this.getAllNodes().length*5,this.maxIterations),this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},h.prototype.calcSpringForces=function(){for(var c=this.getAllEdges(),v,p=0;p0&&arguments[0]!==void 0?arguments[0]:!0,v=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,p,g,y,b,m=this.getAllNodes(),T;if(this.useFRGridVariant)for(this.totalIterations%o.GRID_CALCULATION_CHECK_PERIOD==1&&c&&this.updateGrid(),T=new Set,p=0;pC||T>C)&&(c.gravitationForceX=-this.gravityConstant*y,c.gravitationForceY=-this.gravityConstant*b)):(C=v.getEstimatedSize()*this.compoundGravityRangeFactor,(m>C||T>C)&&(c.gravitationForceX=-this.gravityConstant*y*this.compoundGravityConstant,c.gravitationForceY=-this.gravityConstant*b*this.compoundGravityConstant))},h.prototype.isConverged=function(){var c,v=!1;return this.totalIterations>this.maxIterations/3&&(v=Math.abs(this.totalDisplacement-this.oldTotalDisplacement)<2),c=this.totalDisplacement=m.length||C>=m[0].length)){for(var S=0;Sh}}]),l}();r.exports=u},function(r,a,n){var i=function(){function u(l,f){for(var h=0;h2&&arguments[2]!==void 0?arguments[2]:1,d=arguments.length>3&&arguments[3]!==void 0?arguments[3]:-1,c=arguments.length>4&&arguments[4]!==void 0?arguments[4]:-1;s(this,u),this.sequence1=l,this.sequence2=f,this.match_score=h,this.mismatch_penalty=d,this.gap_penalty=c,this.iMax=l.length+1,this.jMax=f.length+1,this.grid=new Array(this.iMax);for(var v=0;v=0;l--){var f=this.listeners[l];f.event===o&&f.callback===u&&this.listeners.splice(l,1)}},s.emit=function(o,u){for(var l=0;lf.coolingFactor*f.maxNodeDisplacement&&(this.displacementX=f.coolingFactor*f.maxNodeDisplacement*o.sign(this.displacementX)),Math.abs(this.displacementY)>f.coolingFactor*f.maxNodeDisplacement&&(this.displacementY=f.coolingFactor*f.maxNodeDisplacement*o.sign(this.displacementY)),this.child==null?this.moveBy(this.displacementX,this.displacementY):this.child.getNodes().length==0?this.moveBy(this.displacementX,this.displacementY):this.propogateDisplacementToChildren(this.displacementX,this.displacementY),f.totalDisplacement+=Math.abs(this.displacementX)+Math.abs(this.displacementY),this.springForceX=0,this.springForceY=0,this.repulsionForceX=0,this.repulsionForceY=0,this.gravitationForceX=0,this.gravitationForceY=0,this.displacementX=0,this.displacementY=0},u.prototype.propogateDisplacementToChildren=function(f,h){for(var d=this.getChild().getNodes(),c,v=0;v0)this.positionNodesRadially(E);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var x=new Set(this.getAllNodes()),w=this.nodesWithGravity.filter(function(D){return x.has(D)});this.graphManager.setAllNodesToApplyGravitation(w),this.positionNodesRandomly()}}return this.initSpringEmbedder(),this.runSpringEmbedder(),!0},C.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished)if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;if(this.totalIterations%d.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged())if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;this.coolingCycle++,this.layoutQuality==0?this.coolingAdjuster=this.coolingCycle:this.layoutQuality==1&&(this.coolingAdjuster=this.coolingCycle/3),this.coolingFactor=Math.max(this.initialCoolingFactor-Math.pow(this.coolingCycle,Math.log(100*(this.initialCoolingFactor-this.finalTemperature))/Math.log(this.maxCoolingCycle))/100*this.coolingAdjuster,this.finalTemperature),this.animationPeriod=Math.ceil(this.initialAnimationPeriod*Math.sqrt(this.coolingFactor))}if(this.isTreeGrowing){if(this.growTreeIterations%10==0)if(this.prunedNodesAll.length>0){this.graphManager.updateBounds(),this.updateGrid(),this.growTree(this.prunedNodesAll),this.graphManager.resetAllNodesToApplyGravitation();var E=new Set(this.getAllNodes()),x=this.nodesWithGravity.filter(function(L){return E.has(L)});this.graphManager.setAllNodesToApplyGravitation(x),this.graphManager.updateBounds(),this.updateGrid(),this.coolingFactor=d.DEFAULT_COOLING_FACTOR_INCREMENTAL}else this.isTreeGrowing=!1,this.isGrowthFinished=!0;this.growTreeIterations++}if(this.isGrowthFinished){if(this.isConverged())return!0;this.afterGrowthIterations%10==0&&(this.graphManager.updateBounds(),this.updateGrid()),this.coolingFactor=d.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var w=!this.isTreeGrowing&&!this.isGrowthFinished,D=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(w,D),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},C.prototype.getPositionsData=function(){for(var E=this.graphManager.getAllNodes(),x={},w=0;w1){var O;for(O=0;OD&&(D=Math.floor(M.y)),A=Math.floor(M.x+h.DEFAULT_COMPONENT_SEPERATION)}this.transform(new p(c.WORLD_CENTER_X-M.x/2,c.WORLD_CENTER_Y-M.y/2))},C.radialLayout=function(E,x,w){var D=Math.max(this.maxDiagonalInTree(E),h.DEFAULT_RADIAL_SEPARATION);C.branchRadialLayout(x,null,0,359,0,D);var L=m.calculateBounds(E),A=new T;A.setDeviceOrgX(L.getMinX()),A.setDeviceOrgY(L.getMinY()),A.setWorldOrgX(w.x),A.setWorldOrgY(w.y);for(var M=0;M1;){var _=Y[0];Y.splice(0,1);var q=P.indexOf(_);q>=0&&P.splice(q,1),F--,B--}x!=null?G=(P.indexOf(Y[0])+1)%F:G=0;for(var U=Math.abs(D-w)/B,z=G;V!=B;z=++z%F){var H=P[z].getOtherEnd(E);if(H!=x){var W=(w+V*U)%360,J=(W+U)%360;C.branchRadialLayout(H,E,W,J,L+A,A),V++}}},C.maxDiagonalInTree=function(E){for(var x=y.MIN_VALUE,w=0;wx&&(x=L)}return x},C.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},C.prototype.groupZeroDegreeMembers=function(){var E=this,x={};this.memberGroups={},this.idToDummyNode={};for(var w=[],D=this.graphManager.getAllNodes(),L=0;L"u"&&(x[O]=[]),x[O]=x[O].concat(A)}Object.keys(x).forEach(function(I){if(x[I].length>1){var R="DummyCompound_"+I;E.memberGroups[R]=x[I];var k=x[I][0].getParent(),P=new l(E.graphManager);P.id=R,P.paddingLeft=k.paddingLeft||0,P.paddingRight=k.paddingRight||0,P.paddingBottom=k.paddingBottom||0,P.paddingTop=k.paddingTop||0,E.idToDummyNode[R]=P;var B=E.getGraphManager().add(E.newGraph(),P),V=k.getChild();V.add(P);for(var F=0;F=0;E--){var x=this.compoundOrder[E],w=x.id,D=x.paddingLeft,L=x.paddingTop;this.adjustLocations(this.tiledMemberPack[w],x.rect.x,x.rect.y,D,L)}},C.prototype.repopulateZeroDegreeMembers=function(){var E=this,x=this.tiledZeroDegreePack;Object.keys(x).forEach(function(w){var D=E.idToDummyNode[w],L=D.paddingLeft,A=D.paddingTop;E.adjustLocations(x[w],D.rect.x,D.rect.y,L,A)})},C.prototype.getToBeTiled=function(E){var x=E.id;if(this.toBeTiled[x]!=null)return this.toBeTiled[x];var w=E.getChild();if(w==null)return this.toBeTiled[x]=!1,!1;for(var D=w.getNodes(),L=0;L0)return this.toBeTiled[x]=!1,!1;if(A.getChild()==null){this.toBeTiled[A.id]=!1;continue}if(!this.getToBeTiled(A))return this.toBeTiled[x]=!1,!1}return this.toBeTiled[x]=!0,!0},C.prototype.getNodeDegree=function(E){E.id;for(var x=E.getEdges(),w=0,D=0;DI&&(I=k.rect.height)}w+=I+E.verticalPadding}},C.prototype.tileCompoundMembers=function(E,x){var w=this;this.tiledMemberPack=[],Object.keys(E).forEach(function(D){var L=x[D];w.tiledMemberPack[D]=w.tileNodes(E[D],L.paddingLeft+L.paddingRight),L.rect.width=w.tiledMemberPack[D].width,L.rect.height=w.tiledMemberPack[D].height})},C.prototype.tileNodes=function(E,x){var w=h.TILING_PADDING_VERTICAL,D=h.TILING_PADDING_HORIZONTAL,L={rows:[],rowWidth:[],rowHeight:[],width:0,height:x,verticalPadding:w,horizontalPadding:D};E.sort(function(O,I){return O.rect.width*O.rect.height>I.rect.width*I.rect.height?-1:O.rect.width*O.rect.height0&&(M+=E.horizontalPadding),E.rowWidth[w]=M,E.width0&&(O+=E.verticalPadding);var I=0;O>E.rowHeight[w]&&(I=E.rowHeight[w],E.rowHeight[w]=O,I=E.rowHeight[w]-I),E.height+=I,E.rows[w].push(x)},C.prototype.getShortestRowIndex=function(E){for(var x=-1,w=Number.MAX_VALUE,D=0;Dw&&(x=D,w=E.rowWidth[D]);return x},C.prototype.canAddHorizontal=function(E,x,w){var D=this.getShortestRowIndex(E);if(D<0)return!0;var L=E.rowWidth[D];if(L+E.horizontalPadding+x<=E.width)return!0;var A=0;E.rowHeight[D]0&&(A=w+E.verticalPadding-E.rowHeight[D]);var M;E.width-L>=x+E.horizontalPadding?M=(E.height+A)/(L+x+E.horizontalPadding):M=(E.height+A)/E.width,A=w+E.verticalPadding;var O;return E.widthA&&x!=w){D.splice(-1,1),E.rows[w].push(L),E.rowWidth[x]=E.rowWidth[x]-A,E.rowWidth[w]=E.rowWidth[w]+A,E.width=E.rowWidth[instance.getLongestRowIndex(E)];for(var M=Number.MIN_VALUE,O=0;OM&&(M=D[O].height);x>0&&(M+=E.verticalPadding);var I=E.rowHeight[x]+E.rowHeight[w];E.rowHeight[x]=M,E.rowHeight[w]0)for(var V=L;V<=A;V++)B[0]+=this.grid[V][M-1].length+this.grid[V][M].length-1;if(A0)for(var V=M;V<=O;V++)B[3]+=this.grid[L-1][V].length+this.grid[L][V].length-1;for(var F=y.MAX_VALUE,G,Y,_=0;_0){var O;O=T.getGraphManager().add(T.newGraph(),w),this.processChildrenList(O,x,T)}}},p.prototype.stop=function(){return this.stopped=!0,this};var y=function(m){m("layout","cose-bilkent",p)};typeof cytoscape<"u"&&y(cytoscape),a.exports=y}])})})(Yu);var qp=Yu.exports;const Wp=rl(qp);var fi=function(){var t=function(T,C,S,E){for(S=S||{},E=T.length;E--;S[T[E]]=C);return S},e=[1,4],r=[1,13],a=[1,12],n=[1,15],i=[1,16],s=[1,20],o=[1,19],u=[6,7,8],l=[1,26],f=[1,24],h=[1,25],d=[6,7,11],c=[1,6,13,15,16,19,22],v=[1,33],p=[1,34],g=[1,6,7,11,13,15,16,19,22],y={trace:function(){},yy:{},symbols_:{error:2,start:3,mindMap:4,spaceLines:5,SPACELINE:6,NL:7,MINDMAP:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,node:14,ICON:15,CLASS:16,nodeWithId:17,nodeWithoutId:18,NODE_DSTART:19,NODE_DESCR:20,NODE_DEND:21,NODE_ID:22,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"MINDMAP",11:"EOF",13:"SPACELIST",15:"ICON",16:"CLASS",19:"NODE_DSTART",20:"NODE_DESCR",21:"NODE_DEND",22:"NODE_ID"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,2],[12,2],[12,2],[12,1],[12,1],[12,1],[12,1],[12,1],[14,1],[14,1],[18,3],[17,1],[17,4]],performAction:function(C,S,E,x,w,D,L){var A=D.length-1;switch(w){case 6:case 7:return x;case 8:x.getLogger().trace("Stop NL ");break;case 9:x.getLogger().trace("Stop EOF ");break;case 11:x.getLogger().trace("Stop NL2 ");break;case 12:x.getLogger().trace("Stop EOF2 ");break;case 15:x.getLogger().info("Node: ",D[A].id),x.addNode(D[A-1].length,D[A].id,D[A].descr,D[A].type);break;case 16:x.getLogger().trace("Icon: ",D[A]),x.decorateNode({icon:D[A]});break;case 17:case 21:x.decorateNode({class:D[A]});break;case 18:x.getLogger().trace("SPACELIST");break;case 19:x.getLogger().trace("Node: ",D[A].id),x.addNode(0,D[A].id,D[A].descr,D[A].type);break;case 20:x.decorateNode({icon:D[A]});break;case 25:x.getLogger().trace("node found ..",D[A-2]),this.$={id:D[A-1],descr:D[A-1],type:x.getType(D[A-2],D[A])};break;case 26:this.$={id:D[A],descr:D[A],type:x.nodeType.DEFAULT};break;case 27:x.getLogger().trace("node found ..",D[A-3]),this.$={id:D[A-3],descr:D[A-1],type:x.getType(D[A-2],D[A])};break}},table:[{3:1,4:2,5:3,6:[1,5],8:e},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:e},{6:r,7:[1,10],9:9,12:11,13:a,14:14,15:n,16:i,17:17,18:18,19:s,22:o},t(u,[2,3]),{1:[2,2]},t(u,[2,4]),t(u,[2,5]),{1:[2,6],6:r,12:21,13:a,14:14,15:n,16:i,17:17,18:18,19:s,22:o},{6:r,9:22,12:11,13:a,14:14,15:n,16:i,17:17,18:18,19:s,22:o},{6:l,7:f,10:23,11:h},t(d,[2,22],{17:17,18:18,14:27,15:[1,28],16:[1,29],19:s,22:o}),t(d,[2,18]),t(d,[2,19]),t(d,[2,20]),t(d,[2,21]),t(d,[2,23]),t(d,[2,24]),t(d,[2,26],{19:[1,30]}),{20:[1,31]},{6:l,7:f,10:32,11:h},{1:[2,7],6:r,12:21,13:a,14:14,15:n,16:i,17:17,18:18,19:s,22:o},t(c,[2,14],{7:v,11:p}),t(g,[2,8]),t(g,[2,9]),t(g,[2,10]),t(d,[2,15]),t(d,[2,16]),t(d,[2,17]),{20:[1,35]},{21:[1,36]},t(c,[2,13],{7:v,11:p}),t(g,[2,11]),t(g,[2,12]),{21:[1,37]},t(d,[2,25]),t(d,[2,27])],defaultActions:{2:[2,1],6:[2,2]},parseError:function(C,S){if(S.recoverable)this.trace(C);else{var E=new Error(C);throw E.hash=S,E}},parse:function(C){var S=this,E=[0],x=[],w=[null],D=[],L=this.table,A="",M=0,O=0,I=2,R=1,k=D.slice.call(arguments,1),P=Object.create(this.lexer),B={yy:{}};for(var V in this.yy)Object.prototype.hasOwnProperty.call(this.yy,V)&&(B.yy[V]=this.yy[V]);P.setInput(C,B.yy),B.yy.lexer=P,B.yy.parser=this,typeof P.yylloc>"u"&&(P.yylloc={});var F=P.yylloc;D.push(F);var G=P.options&&P.options.ranges;typeof B.yy.parseError=="function"?this.parseError=B.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Y(){var te;return te=x.pop()||P.lex()||R,typeof te!="number"&&(te instanceof Array&&(x=te,te=x.pop()),te=S.symbols_[te]||te),te}for(var _,q,U,z,H={},W,J,ee,oe;;){if(q=E[E.length-1],this.defaultActions[q]?U=this.defaultActions[q]:((_===null||typeof _>"u")&&(_=Y()),U=L[q]&&L[q][_]),typeof U>"u"||!U.length||!U[0]){var me="";oe=[];for(W in L[q])this.terminals_[W]&&W>I&&oe.push("'"+this.terminals_[W]+"'");P.showPosition?me="Parse error on line "+(M+1)+`: +`),y=0;y1&&arguments[1]!==void 0?arguments[1]:!0;if(e.merge(s),o)for(var u=0;u=t.desktopTapThreshold2}var ft=n(N);Ie&&(t.hoverData.tapholdCancelled=!0);var xt=function(){var It=t.hoverData.dragDelta=t.hoverData.dragDelta||[];It.length===0?(It.push(de[0]),It.push(de[1])):(It[0]+=de[0],It[1]+=de[1])};Q=!0,a(he,["mousemove","vmousemove","tapdrag"],N,{x:Z[0],y:Z[1]});var mt=function(){t.data.bgActivePosistion=void 0,t.hoverData.selecting||K.emit({originalEvent:N,type:"boxstart",position:{x:Z[0],y:Z[1]}}),ye[4]=1,t.hoverData.selecting=!0,t.redrawHint("select",!0),t.redraw()};if(t.hoverData.which===3){if(Ie){var vt={originalEvent:N,type:"cxtdrag",position:{x:Z[0],y:Z[1]}};le?le.emit(vt):K.emit(vt),t.hoverData.cxtDragged=!0,(!t.hoverData.cxtOver||he!==t.hoverData.cxtOver)&&(t.hoverData.cxtOver&&t.hoverData.cxtOver.emit({originalEvent:N,type:"cxtdragout",position:{x:Z[0],y:Z[1]}}),t.hoverData.cxtOver=he,he&&he.emit({originalEvent:N,type:"cxtdragover",position:{x:Z[0],y:Z[1]}}))}}else if(t.hoverData.dragging){if(Q=!0,K.panningEnabled()&&K.userPanningEnabled()){var Mt;if(t.hoverData.justStartedPan){var Vt=t.hoverData.mdownPos;Mt={x:(Z[0]-Vt[0])*X,y:(Z[1]-Vt[1])*X},t.hoverData.justStartedPan=!1}else Mt={x:de[0]*X,y:de[1]*X};K.panBy(Mt),K.emit("dragpan"),t.hoverData.dragged=!0}Z=t.projectIntoViewport(N.clientX,N.clientY)}else if(ye[4]==1&&(le==null||le.pannable())){if(Ie){if(!t.hoverData.dragging&&K.boxSelectionEnabled()&&(ft||!K.panningEnabled()||!K.userPanningEnabled()))mt();else if(!t.hoverData.selecting&&K.panningEnabled()&&K.userPanningEnabled()){var Tt=i(le,t.hoverData.downs);Tt&&(t.hoverData.dragging=!0,t.hoverData.justStartedPan=!0,ye[4]=0,t.data.bgActivePosistion=Mr(re),t.redrawHint("select",!0),t.redraw())}le&&le.pannable()&&le.active()&&le.unactivate()}}else{if(le&&le.pannable()&&le.active()&&le.unactivate(),(!le||!le.grabbed())&&he!=Ee&&(Ee&&a(Ee,["mouseout","tapdragout"],N,{x:Z[0],y:Z[1]}),he&&a(he,["mouseover","tapdragover"],N,{x:Z[0],y:Z[1]}),t.hoverData.last=he),le)if(Ie){if(K.boxSelectionEnabled()&&ft)le&&le.grabbed()&&(g(Fe),le.emit("freeon"),Fe.emit("free"),t.dragData.didDrag&&(le.emit("dragfreeon"),Fe.emit("dragfree"))),mt();else if(le&&le.grabbed()&&t.nodeIsDraggable(le)){var $e=!t.dragData.didDrag;$e&&t.redrawHint("eles",!0),t.dragData.didDrag=!0,t.hoverData.draggingEles||v(Fe,{inDragLayer:!0});var We={x:0,y:0};if(ne(de[0])&&ne(de[1])&&(We.x+=de[0],We.y+=de[1],$e)){var at=t.hoverData.dragDelta;at&&ne(at[0])&&ne(at[1])&&(We.x+=at[0],We.y+=at[1])}t.hoverData.draggingEles=!0,Fe.silentShift(We).emit("position drag"),t.redrawHint("drag",!0),t.redraw()}}else xt();Q=!0}if(ye[2]=Z[0],ye[3]=Z[1],Q)return N.stopPropagation&&N.stopPropagation(),N.preventDefault&&N.preventDefault(),!1}},!1);var D,L,A;t.registerBinding(e,"mouseup",function(N){var $=t.hoverData.capture;if($){t.hoverData.capture=!1;var Q=t.cy,K=t.projectIntoViewport(N.clientX,N.clientY),X=t.selection,ae=t.findNearestElement(K[0],K[1],!0,!1),Z=t.dragData.possibleDragElements,re=t.hoverData.down,pe=n(N);if(t.data.bgActivePosistion&&(t.redrawHint("select",!0),t.redraw()),t.hoverData.tapholdCancelled=!0,t.data.bgActivePosistion=void 0,re&&re.unactivate(),t.hoverData.which===3){var ye={originalEvent:N,type:"cxttapend",position:{x:K[0],y:K[1]}};if(re?re.emit(ye):Q.emit(ye),!t.hoverData.cxtDragged){var he={originalEvent:N,type:"cxttap",position:{x:K[0],y:K[1]}};re?re.emit(he):Q.emit(he)}t.hoverData.cxtDragged=!1,t.hoverData.which=null}else if(t.hoverData.which===1){if(a(ae,["mouseup","tapend","vmouseup"],N,{x:K[0],y:K[1]}),!t.dragData.didDrag&&!t.hoverData.dragged&&!t.hoverData.selecting&&!t.hoverData.isOverThresholdDrag&&(a(re,["click","tap","vclick"],N,{x:K[0],y:K[1]}),L=!1,N.timeStamp-A<=Q.multiClickDebounceTime()?(D&&clearTimeout(D),L=!0,A=null,a(re,["dblclick","dbltap","vdblclick"],N,{x:K[0],y:K[1]})):(D=setTimeout(function(){L||a(re,["oneclick","onetap","voneclick"],N,{x:K[0],y:K[1]})},Q.multiClickDebounceTime()),A=N.timeStamp)),re==null&&!t.dragData.didDrag&&!t.hoverData.selecting&&!t.hoverData.dragged&&!n(N)&&(Q.$(r).unselect(["tapunselect"]),Z.length>0&&t.redrawHint("eles",!0),t.dragData.possibleDragElements=Z=Q.collection()),ae==re&&!t.dragData.didDrag&&!t.hoverData.selecting&&ae!=null&&ae._private.selectable&&(t.hoverData.dragging||(Q.selectionType()==="additive"||pe?ae.selected()?ae.unselect(["tapunselect"]):ae.select(["tapselect"]):pe||(Q.$(r).unmerge(ae).unselect(["tapunselect"]),ae.select(["tapselect"]))),t.redrawHint("eles",!0)),t.hoverData.selecting){var Ee=Q.collection(t.getAllInBox(X[0],X[1],X[2],X[3]));t.redrawHint("select",!0),Ee.length>0&&t.redrawHint("eles",!0),Q.emit({type:"boxend",originalEvent:N,position:{x:K[0],y:K[1]}});var le=function(Ie){return Ie.selectable()&&!Ie.selected()};Q.selectionType()==="additive"||pe||Q.$(r).unmerge(Ee).unselect(),Ee.emit("box").stdFilter(le).select().emit("boxselect"),t.redraw()}if(t.hoverData.dragging&&(t.hoverData.dragging=!1,t.redrawHint("select",!0),t.redrawHint("eles",!0),t.redraw()),!X[4]){t.redrawHint("drag",!0),t.redrawHint("eles",!0);var de=re&&re.grabbed();g(Z),de&&(re.emit("freeon"),Z.emit("free"),t.dragData.didDrag&&(re.emit("dragfreeon"),Z.emit("dragfree")))}}X[4]=0,t.hoverData.down=null,t.hoverData.cxtStarted=!1,t.hoverData.draggingEles=!1,t.hoverData.selecting=!1,t.hoverData.isOverThresholdDrag=!1,t.dragData.didDrag=!1,t.hoverData.dragged=!1,t.hoverData.dragDelta=[],t.hoverData.mdownPos=null,t.hoverData.mdownGPos=null}},!1);var M=function(N){if(!t.scrollingPage){var $=t.cy,Q=$.zoom(),K=$.pan(),X=t.projectIntoViewport(N.clientX,N.clientY),ae=[X[0]*Q+K.x,X[1]*Q+K.y];if(t.hoverData.draggingEles||t.hoverData.dragging||t.hoverData.cxtStarted||x()){N.preventDefault();return}if($.panningEnabled()&&$.userPanningEnabled()&&$.zoomingEnabled()&&$.userZoomingEnabled()){N.preventDefault(),t.data.wheelZooming=!0,clearTimeout(t.data.wheelTimeout),t.data.wheelTimeout=setTimeout(function(){t.data.wheelZooming=!1,t.redrawHint("eles",!0),t.redraw()},150);var Z;N.deltaY!=null?Z=N.deltaY/-250:N.wheelDeltaY!=null?Z=N.wheelDeltaY/1e3:Z=N.wheelDelta/1e3,Z=Z*t.wheelSensitivity;var re=N.deltaMode===1;re&&(Z*=33);var pe=$.zoom()*Math.pow(10,Z);N.type==="gesturechange"&&(pe=t.gestureStartZoom*N.scale),$.zoom({level:pe,renderedPosition:{x:ae[0],y:ae[1]}}),$.emit(N.type==="gesturechange"?"pinchzoom":"scrollzoom")}}};t.registerBinding(t.container,"wheel",M,!0),t.registerBinding(e,"scroll",function(N){t.scrollingPage=!0,clearTimeout(t.scrollingPageTimeout),t.scrollingPageTimeout=setTimeout(function(){t.scrollingPage=!1},250)},!0),t.registerBinding(t.container,"gesturestart",function(N){t.gestureStartZoom=t.cy.zoom(),t.hasTouchStarted||N.preventDefault()},!0),t.registerBinding(t.container,"gesturechange",function(j){t.hasTouchStarted||M(j)},!0),t.registerBinding(t.container,"mouseout",function(N){var $=t.projectIntoViewport(N.clientX,N.clientY);t.cy.emit({originalEvent:N,type:"mouseout",position:{x:$[0],y:$[1]}})},!1),t.registerBinding(t.container,"mouseover",function(N){var $=t.projectIntoViewport(N.clientX,N.clientY);t.cy.emit({originalEvent:N,type:"mouseover",position:{x:$[0],y:$[1]}})},!1);var O,I,R,k,P,B,V,F,G,Y,_,q,U,z=function(N,$,Q,K){return Math.sqrt((Q-N)*(Q-N)+(K-$)*(K-$))},H=function(N,$,Q,K){return(Q-N)*(Q-N)+(K-$)*(K-$)},W;t.registerBinding(t.container,"touchstart",W=function(N){if(t.hasTouchStarted=!0,!!w(N)){b(),t.touchData.capture=!0,t.data.bgActivePosistion=void 0;var $=t.cy,Q=t.touchData.now,K=t.touchData.earlier;if(N.touches[0]){var X=t.projectIntoViewport(N.touches[0].clientX,N.touches[0].clientY);Q[0]=X[0],Q[1]=X[1]}if(N.touches[1]){var X=t.projectIntoViewport(N.touches[1].clientX,N.touches[1].clientY);Q[2]=X[0],Q[3]=X[1]}if(N.touches[2]){var X=t.projectIntoViewport(N.touches[2].clientX,N.touches[2].clientY);Q[4]=X[0],Q[5]=X[1]}if(N.touches[1]){t.touchData.singleTouchMoved=!0,g(t.dragData.touchDragEles);var ae=t.findContainerClientCoords();G=ae[0],Y=ae[1],_=ae[2],q=ae[3],O=N.touches[0].clientX-G,I=N.touches[0].clientY-Y,R=N.touches[1].clientX-G,k=N.touches[1].clientY-Y,U=0<=O&&O<=_&&0<=R&&R<=_&&0<=I&&I<=q&&0<=k&&k<=q;var Z=$.pan(),re=$.zoom();P=z(O,I,R,k),B=H(O,I,R,k),V=[(O+R)/2,(I+k)/2],F=[(V[0]-Z.x)/re,(V[1]-Z.y)/re];var pe=200,ye=pe*pe;if(B=1){for(var Ze=t.touchData.startPosition=[null,null,null,null,null,null],Ue=0;Ue=t.touchTapThreshold2}if($&&t.touchData.cxt){N.preventDefault();var Ze=N.touches[0].clientX-G,Ue=N.touches[0].clientY-Y,ct=N.touches[1].clientX-G,Qe=N.touches[1].clientY-Y,ft=H(Ze,Ue,ct,Qe),xt=ft/B,mt=150,vt=mt*mt,Mt=1.5,Vt=Mt*Mt;if(xt>=Vt||ft>=vt){t.touchData.cxt=!1,t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var Tt={originalEvent:N,type:"cxttapend",position:{x:X[0],y:X[1]}};t.touchData.start?(t.touchData.start.unactivate().emit(Tt),t.touchData.start=null):K.emit(Tt)}}if($&&t.touchData.cxt){var Tt={originalEvent:N,type:"cxtdrag",position:{x:X[0],y:X[1]}};t.data.bgActivePosistion=void 0,t.redrawHint("select",!0),t.touchData.start?t.touchData.start.emit(Tt):K.emit(Tt),t.touchData.start&&(t.touchData.start._private.grabbed=!1),t.touchData.cxtDragged=!0;var $e=t.findNearestElement(X[0],X[1],!0,!0);(!t.touchData.cxtOver||$e!==t.touchData.cxtOver)&&(t.touchData.cxtOver&&t.touchData.cxtOver.emit({originalEvent:N,type:"cxtdragout",position:{x:X[0],y:X[1]}}),t.touchData.cxtOver=$e,$e&&$e.emit({originalEvent:N,type:"cxtdragover",position:{x:X[0],y:X[1]}}))}else if($&&N.touches[2]&&K.boxSelectionEnabled())N.preventDefault(),t.data.bgActivePosistion=void 0,this.lastThreeTouch=+new Date,t.touchData.selecting||K.emit({originalEvent:N,type:"boxstart",position:{x:X[0],y:X[1]}}),t.touchData.selecting=!0,t.touchData.didSelect=!0,Q[4]=1,!Q||Q.length===0||Q[0]===void 0?(Q[0]=(X[0]+X[2]+X[4])/3,Q[1]=(X[1]+X[3]+X[5])/3,Q[2]=(X[0]+X[2]+X[4])/3+1,Q[3]=(X[1]+X[3]+X[5])/3+1):(Q[2]=(X[0]+X[2]+X[4])/3,Q[3]=(X[1]+X[3]+X[5])/3),t.redrawHint("select",!0),t.redraw();else if($&&N.touches[1]&&!t.touchData.didSelect&&K.zoomingEnabled()&&K.panningEnabled()&&K.userZoomingEnabled()&&K.userPanningEnabled()){N.preventDefault(),t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var We=t.dragData.touchDragEles;if(We){t.redrawHint("drag",!0);for(var at=0;at0&&!t.hoverData.draggingEles&&!t.swipePanning&&t.data.bgActivePosistion!=null&&(t.data.bgActivePosistion=void 0,t.redrawHint("select",!0),t.redraw())}},!1);var ee;t.registerBinding(e,"touchcancel",ee=function(N){var $=t.touchData.start;t.touchData.capture=!1,$&&$.unactivate()});var oe,me,te,ie;if(t.registerBinding(e,"touchend",oe=function(N){var $=t.touchData.start,Q=t.touchData.capture;if(Q)N.touches.length===0&&(t.touchData.capture=!1),N.preventDefault();else return;var K=t.selection;t.swipePanning=!1,t.hoverData.draggingEles=!1;var X=t.cy,ae=X.zoom(),Z=t.touchData.now,re=t.touchData.earlier;if(N.touches[0]){var pe=t.projectIntoViewport(N.touches[0].clientX,N.touches[0].clientY);Z[0]=pe[0],Z[1]=pe[1]}if(N.touches[1]){var pe=t.projectIntoViewport(N.touches[1].clientX,N.touches[1].clientY);Z[2]=pe[0],Z[3]=pe[1]}if(N.touches[2]){var pe=t.projectIntoViewport(N.touches[2].clientX,N.touches[2].clientY);Z[4]=pe[0],Z[5]=pe[1]}$&&$.unactivate();var ye;if(t.touchData.cxt){if(ye={originalEvent:N,type:"cxttapend",position:{x:Z[0],y:Z[1]}},$?$.emit(ye):X.emit(ye),!t.touchData.cxtDragged){var he={originalEvent:N,type:"cxttap",position:{x:Z[0],y:Z[1]}};$?$.emit(he):X.emit(he)}t.touchData.start&&(t.touchData.start._private.grabbed=!1),t.touchData.cxt=!1,t.touchData.start=null,t.redraw();return}if(!N.touches[2]&&X.boxSelectionEnabled()&&t.touchData.selecting){t.touchData.selecting=!1;var Ee=X.collection(t.getAllInBox(K[0],K[1],K[2],K[3]));K[0]=void 0,K[1]=void 0,K[2]=void 0,K[3]=void 0,K[4]=0,t.redrawHint("select",!0),X.emit({type:"boxend",originalEvent:N,position:{x:Z[0],y:Z[1]}});var le=function(vt){return vt.selectable()&&!vt.selected()};Ee.emit("box").stdFilter(le).select().emit("boxselect"),Ee.nonempty()&&t.redrawHint("eles",!0),t.redraw()}if($!=null&&$.unactivate(),N.touches[2])t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);else if(!N.touches[1]){if(!N.touches[0]){if(!N.touches[0]){t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var de=t.dragData.touchDragEles;if($!=null){var Fe=$._private.grabbed;g(de),t.redrawHint("drag",!0),t.redrawHint("eles",!0),Fe&&($.emit("freeon"),de.emit("free"),t.dragData.didDrag&&($.emit("dragfreeon"),de.emit("dragfree"))),a($,["touchend","tapend","vmouseup","tapdragout"],N,{x:Z[0],y:Z[1]}),$.unactivate(),t.touchData.start=null}else{var Ie=t.findNearestElement(Z[0],Z[1],!0,!0);a(Ie,["touchend","tapend","vmouseup","tapdragout"],N,{x:Z[0],y:Z[1]})}var lt=t.touchData.startPosition[0]-Z[0],Ze=lt*lt,Ue=t.touchData.startPosition[1]-Z[1],ct=Ue*Ue,Qe=Ze+ct,ft=Qe*ae*ae;t.touchData.singleTouchMoved||($||X.$(":selected").unselect(["tapunselect"]),a($,["tap","vclick"],N,{x:Z[0],y:Z[1]}),me=!1,N.timeStamp-ie<=X.multiClickDebounceTime()?(te&&clearTimeout(te),me=!0,ie=null,a($,["dbltap","vdblclick"],N,{x:Z[0],y:Z[1]})):(te=setTimeout(function(){me||a($,["onetap","voneclick"],N,{x:Z[0],y:Z[1]})},X.multiClickDebounceTime()),ie=N.timeStamp)),$!=null&&!t.dragData.didDrag&&$._private.selectable&&ft"u"){var ue=[],ce=function(N){return{clientX:N.clientX,clientY:N.clientY,force:1,identifier:N.pointerId,pageX:N.pageX,pageY:N.pageY,radiusX:N.width/2,radiusY:N.height/2,screenX:N.screenX,screenY:N.screenY,target:N.target}},fe=function(N){return{event:N,touch:ce(N)}},ge=function(N){ue.push(fe(N))},Ae=function(N){for(var $=0;$0)return G[0]}return null},v=Object.keys(d),p=0;p0?c:Ao(i,s,e,r,a,n,o,u)},checkPoint:function(e,r,a,n,i,s,o,u){u=u==="auto"?pr(n,i):u;var l=2*u;if(Yt(e,r,this.points,s,o,n,i-l,[0,-1],a)||Yt(e,r,this.points,s,o,n-l,i,[0,-1],a))return!0;var f=n/2+2*a,h=i/2+2*a,d=[s-f,o-h,s-f,o,s+f,o,s+f,o-h];return!!(dt(e,r,d)||cr(e,r,l,l,s+n/2-u,o+i/2-u,a)||cr(e,r,l,l,s-n/2+u,o+i/2-u,a))}}};Ht.registerNodeShapes=function(){var t=this.nodeShapes={},e=this;this.generateEllipse(),this.generatePolygon("triangle",ht(3,0)),this.generateRoundPolygon("round-triangle",ht(3,0)),this.generatePolygon("rectangle",ht(4,0)),t.square=t.rectangle,this.generateRoundRectangle(),this.generateCutRectangle(),this.generateBarrel(),this.generateBottomRoundrectangle();{var r=[0,1,1,0,0,-1,-1,0];this.generatePolygon("diamond",r),this.generateRoundPolygon("round-diamond",r)}this.generatePolygon("pentagon",ht(5,0)),this.generateRoundPolygon("round-pentagon",ht(5,0)),this.generatePolygon("hexagon",ht(6,0)),this.generateRoundPolygon("round-hexagon",ht(6,0)),this.generatePolygon("heptagon",ht(7,0)),this.generateRoundPolygon("round-heptagon",ht(7,0)),this.generatePolygon("octagon",ht(8,0)),this.generateRoundPolygon("round-octagon",ht(8,0));var a=new Array(20);{var n=Wn(5,0),i=Wn(5,Math.PI/5),s=.5*(3-Math.sqrt(5));s*=1.57;for(var o=0;o=e.deqFastCost*T)break}else if(l){if(b>=e.deqCost*c||b>=e.deqAvgCost*d)break}else if(m>=e.deqNoDrawCost*Yn)break;var C=e.deq(a,g,p);if(C.length>0)for(var S=0;S0&&(e.onDeqd(a,v),!l&&e.shouldRedraw(a,v,g,p)&&i())},o=e.priority||mi;n.beforeRender(s,o(a))}}}},jg=function(){function t(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:an;vi(this,t),this.idsByKey=new Bt,this.keyForId=new Bt,this.cachesByLvl=new Bt,this.lvls=[],this.getKey=e,this.doesEleInvalidateKey=r}return di(t,[{key:"getIdsFor",value:function(r){r==null&&ze("Can not get id list for null key");var a=this.idsByKey,n=this.idsByKey.get(r);return n||(n=new Ur,a.set(r,n)),n}},{key:"addIdForKey",value:function(r,a){r!=null&&this.getIdsFor(r).add(a)}},{key:"deleteIdForKey",value:function(r,a){r!=null&&this.getIdsFor(r).delete(a)}},{key:"getNumberOfIdsForKey",value:function(r){return r==null?0:this.getIdsFor(r).size}},{key:"updateKeyMappingFor",value:function(r){var a=r.id(),n=this.keyForId.get(a),i=this.getKey(r);this.deleteIdForKey(n,a),this.addIdForKey(i,a),this.keyForId.set(a,i)}},{key:"deleteKeyMappingFor",value:function(r){var a=r.id(),n=this.keyForId.get(a);this.deleteIdForKey(n,a),this.keyForId.delete(a)}},{key:"keyHasChangedFor",value:function(r){var a=r.id(),n=this.keyForId.get(a),i=this.getKey(r);return n!==i}},{key:"isInvalid",value:function(r){return this.keyHasChangedFor(r)||this.doesEleInvalidateKey(r)}},{key:"getCachesAt",value:function(r){var a=this.cachesByLvl,n=this.lvls,i=a.get(r);return i||(i=new Bt,a.set(r,i),n.push(r)),i}},{key:"getCache",value:function(r,a){return this.getCachesAt(a).get(r)}},{key:"get",value:function(r,a){var n=this.getKey(r),i=this.getCache(n,a);return i!=null&&this.updateKeyMappingFor(r),i}},{key:"getForCachedKey",value:function(r,a){var n=this.keyForId.get(r.id()),i=this.getCache(n,a);return i}},{key:"hasCache",value:function(r,a){return this.getCachesAt(a).has(r)}},{key:"has",value:function(r,a){var n=this.getKey(r);return this.hasCache(n,a)}},{key:"setCache",value:function(r,a,n){n.key=r,this.getCachesAt(a).set(r,n)}},{key:"set",value:function(r,a,n){var i=this.getKey(r);this.setCache(i,a,n),this.updateKeyMappingFor(r)}},{key:"deleteCache",value:function(r,a){this.getCachesAt(a).delete(r)}},{key:"delete",value:function(r,a){var n=this.getKey(r);this.deleteCache(n,a)}},{key:"invalidateKey",value:function(r){var a=this;this.lvls.forEach(function(n){return a.deleteCache(r,n)})}},{key:"invalidate",value:function(r){var a=r.id(),n=this.keyForId.get(a);this.deleteKeyMappingFor(r);var i=this.doesEleInvalidateKey(r);return i&&this.invalidateKey(n),i||this.getNumberOfIdsForKey(n)===0}}]),t}(),Ws=25,Ya=50,Ja=-4,si=3,ep=7.99,tp=8,rp=1024,ap=1024,np=1024,ip=.2,sp=.8,op=10,up=.15,lp=.1,fp=.9,hp=.9,cp=100,vp=1,Ir={dequeue:"dequeue",downscale:"downscale",highQuality:"highQuality"},dp=tt({getKey:null,doesEleInvalidateKey:an,drawElement:null,getBoundingBox:null,getRotationPoint:null,getRotationOffset:null,isVisible:Eo,allowEdgeTxrCaching:!0,allowParentTxrCaching:!0}),ua=function(e,r){var a=this;a.renderer=e,a.onDequeues=[];var n=dp(r);be(a,n),a.lookup=new jg(n.getKey,n.doesEleInvalidateKey),a.setupDequeueing()},qe=ua.prototype;qe.reasons=Ir;qe.getTextureQueue=function(t){var e=this;return e.eleImgCaches=e.eleImgCaches||{},e.eleImgCaches[t]=e.eleImgCaches[t]||[]};qe.getRetiredTextureQueue=function(t){var e=this,r=e.eleImgCaches.retired=e.eleImgCaches.retired||{},a=r[t]=r[t]||[];return a};qe.getElementQueue=function(){var t=this,e=t.eleCacheQueue=t.eleCacheQueue||new Da(function(r,a){return a.reqs-r.reqs});return e};qe.getElementKeyToQueue=function(){var t=this,e=t.eleKeyToCacheQueue=t.eleKeyToCacheQueue||{};return e};qe.getElement=function(t,e,r,a,n){var i=this,s=this.renderer,o=s.cy.zoom(),u=this.lookup;if(!e||e.w===0||e.h===0||isNaN(e.w)||isNaN(e.h)||!t.visible()||t.removed()||!i.allowEdgeTxrCaching&&t.isEdge()||!i.allowParentTxrCaching&&t.isParent())return null;if(a==null&&(a=Math.ceil(Ei(o*r))),a=ep||a>si)return null;var l=Math.pow(2,a),f=e.h*l,h=e.w*l,d=s.eleTextBiggerThanMin(t,l);if(!this.isVisible(t,d))return null;var c=u.get(t,a);if(c&&c.invalidated&&(c.invalidated=!1,c.texture.invalidatedWidth-=c.width),c)return c;var v;if(f<=Ws?v=Ws:f<=Ya?v=Ya:v=Math.ceil(f/Ya)*Ya,f>np||h>ap)return null;var p=i.getTextureQueue(v),g=p[p.length-2],y=function(){return i.recycleTexture(v,h)||i.addTexture(v,h)};g||(g=p[p.length-1]),g||(g=y()),g.width-g.usedWidtha;L--)w=i.getElement(t,e,r,L,Ir.downscale);D()}else return i.queueElement(t,S.level-1),S;else{var A;if(!m&&!T&&!C)for(var M=a-1;M>=Ja;M--){var O=u.get(t,M);if(O){A=O;break}}if(b(A))return i.queueElement(t,a),A;g.context.translate(g.usedWidth,0),g.context.scale(l,l),this.drawElement(g.context,t,e,d,!1),g.context.scale(1/l,1/l),g.context.translate(-g.usedWidth,0)}return c={x:g.usedWidth,texture:g,level:a,scale:l,width:h,height:f,scaledLabelShown:d},g.usedWidth+=Math.ceil(h+tp),g.eleCaches.push(c),u.set(t,a,c),i.checkTextureFullness(g),c};qe.invalidateElements=function(t){for(var e=0;e=ip*t.width&&this.retireTexture(t)};qe.checkTextureFullness=function(t){var e=this,r=e.getTextureQueue(t.height);t.usedWidth/t.width>sp&&t.fullnessChecks>=op?er(r,t):t.fullnessChecks++};qe.retireTexture=function(t){var e=this,r=t.height,a=e.getTextureQueue(r),n=this.lookup;er(a,t),t.retired=!0;for(var i=t.eleCaches,s=0;s=e)return s.retired=!1,s.usedWidth=0,s.invalidatedWidth=0,s.fullnessChecks=0,bi(s.eleCaches),s.context.setTransform(1,0,0,1,0,0),s.context.clearRect(0,0,s.width,s.height),er(n,s),a.push(s),s}};qe.queueElement=function(t,e){var r=this,a=r.getElementQueue(),n=r.getElementKeyToQueue(),i=this.getKey(t),s=n[i];if(s)s.level=Math.max(s.level,e),s.eles.merge(t),s.reqs++,a.updateItem(s);else{var o={eles:t.spawn().merge(t),level:e,reqs:1,key:i};a.push(o),n[i]=o}};qe.dequeue=function(t){for(var e=this,r=e.getElementQueue(),a=e.getElementKeyToQueue(),n=[],i=e.lookup,s=0;s0;s++){var o=r.pop(),u=o.key,l=o.eles[0],f=i.hasCache(l,o.level);if(a[u]=null,f)continue;n.push(o);var h=e.getBoundingBox(l);e.getElement(l,h,t,o.level,Ir.dequeue)}return n};qe.removeFromQueue=function(t){var e=this,r=e.getElementQueue(),a=e.getElementKeyToQueue(),n=this.getKey(t),i=a[n];i!=null&&(i.eles.length===1?(i.reqs=yi,r.updateItem(i),r.pop(),a[n]=null):i.eles.unmerge(t))};qe.onDequeue=function(t){this.onDequeues.push(t)};qe.offDequeue=function(t){er(this.onDequeues,t)};qe.setupDequeueing=Ou.setupDequeueing({deqRedrawThreshold:cp,deqCost:up,deqAvgCost:lp,deqNoDrawCost:fp,deqFastCost:hp,deq:function(e,r,a){return e.dequeue(r,a)},onDeqd:function(e,r){for(var a=0;a=pp||r>cn)return null}a.validateLayersElesOrdering(r,t);var u=a.layersByLevel,l=Math.pow(2,r),f=u[r]=u[r]||[],h,d=a.levelIsComplete(r,t),c,v=function(){var D=function(I){if(a.validateLayersElesOrdering(I,t),a.levelIsComplete(I,t))return c=u[I],!0},L=function(I){if(!c)for(var R=r+I;fa<=R&&R<=cn&&!D(R);R+=I);};L(1),L(-1);for(var A=f.length-1;A>=0;A--){var M=f[A];M.invalid&&er(f,M)}};if(!d)v();else return f;var p=function(){if(!h){h=gt();for(var D=0;DCp)return null;var M=a.makeLayer(h,r);if(L!=null){var O=f.indexOf(L)+1;f.splice(O,0,M)}else(D.insert===void 0||D.insert)&&f.unshift(M);return M};if(a.skipping&&!o)return null;for(var y=null,b=t.length/gp,m=!o,T=0;T=b||!Lo(y.bb,C.boundingBox()))&&(y=g({insert:!0,after:y}),!y))return null;c||m?a.queueLayer(y,C):a.drawEleInLayer(y,C,r,e),y.eles.push(C),E[r]=y}return c||(m?null:f)};rt.getEleLevelForLayerLevel=function(t,e){return t};rt.drawEleInLayer=function(t,e,r,a){var n=this,i=this.renderer,s=t.context,o=e.boundingBox();o.w===0||o.h===0||!e.visible()||(r=n.getEleLevelForLayerLevel(r,a),i.setImgSmoothing(s,!1),i.drawCachedElement(s,e,null,null,r,Dp),i.setImgSmoothing(s,!0))};rt.levelIsComplete=function(t,e){var r=this,a=r.layersByLevel[t];if(!a||a.length===0)return!1;for(var n=0,i=0;i0||s.invalid)return!1;n+=s.eles.length}return n===e.length};rt.validateLayersElesOrdering=function(t,e){var r=this.layersByLevel[t];if(r)for(var a=0;a0){e=!0;break}}return e};rt.invalidateElements=function(t){var e=this;t.length!==0&&(e.lastInvalidationTime=$t(),!(t.length===0||!e.haveLayers())&&e.updateElementsInLayers(t,function(a,n,i){e.invalidateLayer(a)}))};rt.invalidateLayer=function(t){if(this.lastInvalidationTime=$t(),!t.invalid){var e=t.level,r=t.eles,a=this.layersByLevel[e];er(a,t),t.elesQueue=[],t.invalid=!0,t.replacement&&(t.replacement.invalid=!0);for(var n=0;n3&&arguments[3]!==void 0?arguments[3]:!0,n=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,i=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0,s=this,o=e._private.rscratch;if(!(i&&!e.visible())&&!(o.badLine||o.allpts==null||isNaN(o.allpts[0]))){var u;r&&(u=r,t.translate(-u.x1,-u.y1));var l=i?e.pstyle("opacity").value:1,f=i?e.pstyle("line-opacity").value:1,h=e.pstyle("curve-style").value,d=e.pstyle("line-style").value,c=e.pstyle("width").pfValue,v=e.pstyle("line-cap").value,p=l*f,g=l*f,y=function(){var A=arguments.length>0&&arguments[0]!==void 0?arguments[0]:p;h==="straight-triangle"?(s.eleStrokeStyle(t,e,A),s.drawEdgeTrianglePath(e,t,o.allpts)):(t.lineWidth=c,t.lineCap=v,s.eleStrokeStyle(t,e,A),s.drawEdgePath(e,t,o.allpts,d),t.lineCap="butt")},b=function(){n&&s.drawEdgeOverlay(t,e)},m=function(){n&&s.drawEdgeUnderlay(t,e)},T=function(){var A=arguments.length>0&&arguments[0]!==void 0?arguments[0]:g;s.drawArrowheads(t,e,A)},C=function(){s.drawElementText(t,e,null,a)};t.lineJoin="round";var S=e.pstyle("ghost").value==="yes";if(S){var E=e.pstyle("ghost-offset-x").pfValue,x=e.pstyle("ghost-offset-y").pfValue,w=e.pstyle("ghost-opacity").value,D=p*w;t.translate(E,x),y(D),T(D),t.translate(-E,-x)}m(),y(),T(),b(),C(),r&&t.translate(u.x1,u.y1)}};var Iu=function(e){if(!["overlay","underlay"].includes(e))throw new Error("Invalid state");return function(r,a){if(a.visible()){var n=a.pstyle("".concat(e,"-opacity")).value;if(n!==0){var i=this,s=i.usePaths(),o=a._private.rscratch,u=a.pstyle("".concat(e,"-padding")).pfValue,l=2*u,f=a.pstyle("".concat(e,"-color")).value;r.lineWidth=l,o.edgeType==="self"&&!s?r.lineCap="butt":r.lineCap="round",i.colorStrokeStyle(r,f[0],f[1],f[2],n),i.drawEdgePath(a,r,o.allpts,"solid")}}}};Xt.drawEdgeOverlay=Iu("overlay");Xt.drawEdgeUnderlay=Iu("underlay");Xt.drawEdgePath=function(t,e,r,a){var n=t._private.rscratch,i=e,s,o=!1,u=this.usePaths(),l=t.pstyle("line-dash-pattern").pfValue,f=t.pstyle("line-dash-offset").pfValue;if(u){var h=r.join("$"),d=n.pathCacheKey&&n.pathCacheKey===h;d?(s=e=n.pathCache,o=!0):(s=e=new Path2D,n.pathCacheKey=h,n.pathCache=s)}if(i.setLineDash)switch(a){case"dotted":i.setLineDash([1,1]);break;case"dashed":i.setLineDash(l),i.lineDashOffset=f;break;case"solid":i.setLineDash([]);break}if(!o&&!n.badLine)switch(e.beginPath&&e.beginPath(),e.moveTo(r[0],r[1]),n.edgeType){case"bezier":case"self":case"compound":case"multibezier":for(var c=2;c+35&&arguments[5]!==void 0?arguments[5]:!0,s=this;if(a==null){if(i&&!s.eleTextBiggerThanMin(e))return}else if(a===!1)return;if(e.isNode()){var o=e.pstyle("label");if(!o||!o.value)return;var u=s.getLabelJustification(e);t.textAlign=u,t.textBaseline="bottom"}else{var l=e.element()._private.rscratch.badLine,f=e.pstyle("label"),h=e.pstyle("source-label"),d=e.pstyle("target-label");if(l||(!f||!f.value)&&(!h||!h.value)&&(!d||!d.value))return;t.textAlign="center",t.textBaseline="bottom"}var c=!r,v;r&&(v=r,t.translate(-v.x1,-v.y1)),n==null?(s.drawText(t,e,null,c,i),e.isEdge()&&(s.drawText(t,e,"source",c,i),s.drawText(t,e,"target",c,i))):s.drawText(t,e,n,c,i),r&&t.translate(v.x1,v.y1)};xr.getFontCache=function(t){var e;this.fontCaches=this.fontCaches||[];for(var r=0;r2&&arguments[2]!==void 0?arguments[2]:!0,a=e.pstyle("font-style").strValue,n=e.pstyle("font-size").pfValue+"px",i=e.pstyle("font-family").strValue,s=e.pstyle("font-weight").strValue,o=r?e.effectiveOpacity()*e.pstyle("text-opacity").value:1,u=e.pstyle("text-outline-opacity").value*o,l=e.pstyle("color").value,f=e.pstyle("text-outline-color").value;t.font=a+" "+s+" "+n+" "+i,t.lineJoin="round",this.colorFillStyle(t,l[0],l[1],l[2],o),this.colorStrokeStyle(t,f[0],f[1],f[2],u)};function Hn(t,e,r,a,n){var i=arguments.length>5&&arguments[5]!==void 0?arguments[5]:5,s=arguments.length>6?arguments[6]:void 0;t.beginPath(),t.moveTo(e+i,r),t.lineTo(e+a-i,r),t.quadraticCurveTo(e+a,r,e+a,r+i),t.lineTo(e+a,r+n-i),t.quadraticCurveTo(e+a,r+n,e+a-i,r+n),t.lineTo(e+i,r+n),t.quadraticCurveTo(e,r+n,e,r+n-i),t.lineTo(e,r+i),t.quadraticCurveTo(e,r,e+i,r),t.closePath(),s?t.stroke():t.fill()}xr.getTextAngle=function(t,e){var r,a=t._private,n=a.rscratch,i=e?e+"-":"",s=t.pstyle(i+"text-rotation"),o=At(n,"labelAngle",e);return s.strValue==="autorotate"?r=t.isEdge()?o:0:s.strValue==="none"?r=0:r=s.pfValue,r};xr.drawText=function(t,e,r){var a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,n=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,i=e._private,s=i.rscratch,o=n?e.effectiveOpacity():1;if(!(n&&(o===0||e.pstyle("text-opacity").value===0))){r==="main"&&(r=null);var u=At(s,"labelX",r),l=At(s,"labelY",r),f,h,d=this.getLabelText(e,r);if(d!=null&&d!==""&&!isNaN(u)&&!isNaN(l)){this.setupTextStyle(t,e,n);var c=r?r+"-":"",v=At(s,"labelWidth",r),p=At(s,"labelHeight",r),g=e.pstyle(c+"text-margin-x").pfValue,y=e.pstyle(c+"text-margin-y").pfValue,b=e.isEdge(),m=e.pstyle("text-halign").value,T=e.pstyle("text-valign").value;b&&(m="center",T="center"),u+=g,l+=y;var C;switch(a?C=this.getTextAngle(e,r):C=0,C!==0&&(f=u,h=l,t.translate(f,h),t.rotate(C),u=0,l=0),T){case"top":break;case"center":l+=p/2;break;case"bottom":l+=p;break}var S=e.pstyle("text-background-opacity").value,E=e.pstyle("text-border-opacity").value,x=e.pstyle("text-border-width").pfValue,w=e.pstyle("text-background-padding").pfValue,D=e.pstyle("text-background-shape").strValue,L=D.indexOf("round")===0,A=2;if(S>0||x>0&&E>0){var M=u-w;switch(m){case"left":M-=v;break;case"center":M-=v/2;break}var O=l-p-w,I=v+2*w,R=p+2*w;if(S>0){var k=t.fillStyle,P=e.pstyle("text-background-color").value;t.fillStyle="rgba("+P[0]+","+P[1]+","+P[2]+","+S*o+")",L?Hn(t,M,O,I,R,A):t.fillRect(M,O,I,R),t.fillStyle=k}if(x>0&&E>0){var B=t.strokeStyle,V=t.lineWidth,F=e.pstyle("text-border-color").value,G=e.pstyle("text-border-style").value;if(t.strokeStyle="rgba("+F[0]+","+F[1]+","+F[2]+","+E*o+")",t.lineWidth=x,t.setLineDash)switch(G){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash([4,2]);break;case"double":t.lineWidth=x/4,t.setLineDash([]);break;case"solid":t.setLineDash([]);break}if(L?Hn(t,M,O,I,R,A,"stroke"):t.strokeRect(M,O,I,R),G==="double"){var Y=x/2;L?Hn(t,M+Y,O+Y,I-Y*2,R-Y*2,A,"stroke"):t.strokeRect(M+Y,O+Y,I-Y*2,R-Y*2)}t.setLineDash&&t.setLineDash([]),t.lineWidth=V,t.strokeStyle=B}}var _=2*e.pstyle("text-outline-width").pfValue;if(_>0&&(t.lineWidth=_),e.pstyle("text-wrap").value==="wrap"){var q=At(s,"labelWrapCachedLines",r),U=At(s,"labelLineHeight",r),z=v/2,H=this.getLabelJustification(e);switch(H==="auto"||(m==="left"?H==="left"?u+=-v:H==="center"&&(u+=-z):m==="center"?H==="left"?u+=-z:H==="right"&&(u+=z):m==="right"&&(H==="center"?u+=z:H==="right"&&(u+=v))),T){case"top":l-=(q.length-1)*U;break;case"center":case"bottom":l-=(q.length-1)*U;break}for(var W=0;W0&&t.strokeText(q[W],u,l),t.fillText(q[W],u,l),l+=U}else _>0&&t.strokeText(d,u,l),t.fillText(d,u,l);C!==0&&(t.rotate(-C),t.translate(-f,-h))}}};var Zr={};Zr.drawNode=function(t,e,r){var a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,n=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,i=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0,s=this,o,u,l=e._private,f=l.rscratch,h=e.position();if(!(!ne(h.x)||!ne(h.y))&&!(i&&!e.visible())){var d=i?e.effectiveOpacity():1,c=s.usePaths(),v,p=!1,g=e.padding();o=e.width()+2*g,u=e.height()+2*g;var y;r&&(y=r,t.translate(-y.x1,-y.y1));for(var b=e.pstyle("background-image"),m=b.value,T=new Array(m.length),C=new Array(m.length),S=0,E=0;E0&&arguments[0]!==void 0?arguments[0]:M;s.eleFillStyle(t,e,ae)},W=function(){var ae=arguments.length>0&&arguments[0]!==void 0?arguments[0]:F;s.colorStrokeStyle(t,O[0],O[1],O[2],ae)},J=function(){var ae=arguments.length>0&&arguments[0]!==void 0?arguments[0]:q;s.colorStrokeStyle(t,Y[0],Y[1],Y[2],ae)},ee=function(ae,Z,re,pe){var ye=s.nodePathCache=s.nodePathCache||[],he=bo(re==="polygon"?re+","+pe.join(","):re,""+Z,""+ae,""+z),Ee=ye[he],le,de=!1;return Ee!=null?(le=Ee,de=!0,f.pathCache=le):(le=new Path2D,ye[he]=f.pathCache=le),{path:le,cacheHit:de}},oe=e.pstyle("shape").strValue,me=e.pstyle("shape-polygon-points").pfValue;if(c){t.translate(h.x,h.y);var te=ee(o,u,oe,me);v=te.path,p=te.cacheHit}var ie=function(){if(!p){var ae=h;c&&(ae={x:0,y:0}),s.nodeShapes[s.getNodeShape(e)].draw(v||t,ae.x,ae.y,o,u,z,f)}c?t.fill(v):t.fill()},ue=function(){for(var ae=arguments.length>0&&arguments[0]!==void 0?arguments[0]:d,Z=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,re=l.backgrounding,pe=0,ye=0;ye0&&arguments[0]!==void 0?arguments[0]:!1,Z=arguments.length>1&&arguments[1]!==void 0?arguments[1]:d;s.hasPie(e)&&(s.drawPie(t,e,Z),ae&&(c||s.nodeShapes[s.getNodeShape(e)].draw(t,h.x,h.y,o,u,z,f)))},fe=function(){var ae=arguments.length>0&&arguments[0]!==void 0?arguments[0]:d,Z=(L>0?L:-L)*ae,re=L>0?0:255;L!==0&&(s.colorFillStyle(t,re,re,re,Z),c?t.fill(v):t.fill())},ge=function(){if(A>0){if(t.lineWidth=A,t.lineCap=k,t.lineJoin=R,t.setLineDash)switch(I){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash(B),t.lineDashOffset=V;break;case"solid":case"double":t.setLineDash([]);break}if(P!=="center"){if(t.save(),t.lineWidth*=2,P==="inside")c?t.clip(v):t.clip();else{var ae=new Path2D;ae.rect(-o/2-A,-u/2-A,o+2*A,u+2*A),ae.addPath(v),t.clip(ae,"evenodd")}c?t.stroke(v):t.stroke(),t.restore()}else c?t.stroke(v):t.stroke();if(I==="double"){t.lineWidth=A/3;var Z=t.globalCompositeOperation;t.globalCompositeOperation="destination-out",c?t.stroke(v):t.stroke(),t.globalCompositeOperation=Z}t.setLineDash&&t.setLineDash([])}},Ae=function(){if(G>0){if(t.lineWidth=G,t.lineCap="butt",t.setLineDash)switch(_){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash([4,2]);break;case"solid":case"double":t.setLineDash([]);break}var ae=h;c&&(ae={x:0,y:0});var Z=s.getNodeShape(e),re=A;P==="inside"&&(re=0),P==="outside"&&(re*=2);var pe=(o+re+(G+U))/o,ye=(u+re+(G+U))/u,he=o*pe,Ee=u*ye,le=s.nodeShapes[Z].points,de;if(c){var Fe=ee(he,Ee,Z,le);de=Fe.path}if(Z==="ellipse")s.drawEllipsePath(de||t,ae.x,ae.y,he,Ee);else if(["round-diamond","round-heptagon","round-hexagon","round-octagon","round-pentagon","round-polygon","round-triangle","round-tag"].includes(Z)){var Ie=0,lt=0,Ze=0;Z==="round-diamond"?Ie=(re+U+G)*1.4:Z==="round-heptagon"?(Ie=(re+U+G)*1.075,Ze=-(re/2+U+G)/35):Z==="round-hexagon"?Ie=(re+U+G)*1.12:Z==="round-pentagon"?(Ie=(re+U+G)*1.13,Ze=-(re/2+U+G)/15):Z==="round-tag"?(Ie=(re+U+G)*1.12,lt=(re/2+G+U)*.07):Z==="round-triangle"&&(Ie=(re+U+G)*(Math.PI/2),Ze=-(re+U/2+G)/Math.PI),Ie!==0&&(pe=(o+Ie)/o,he=o*pe,["round-hexagon","round-tag"].includes(Z)||(ye=(u+Ie)/u,Ee=u*ye)),z=z==="auto"?No(he,Ee):z;for(var Ue=he/2,ct=Ee/2,Qe=z+(re+G+U)/2,ft=new Array(le.length/2),xt=new Array(le.length/2),mt=0;mt0){if(n=n||a.position(),i==null||s==null){var c=a.padding();i=a.width()+2*c,s=a.height()+2*c}o.colorFillStyle(r,f[0],f[1],f[2],l),o.nodeShapes[h].draw(r,n.x,n.y,i+u*2,s+u*2,d),r.fill()}}}};Zr.drawNodeOverlay=Ru("overlay");Zr.drawNodeUnderlay=Ru("underlay");Zr.hasPie=function(t){return t=t[0],t._private.hasPie};Zr.drawPie=function(t,e,r,a){e=e[0],a=a||e.position();var n=e.cy().style(),i=e.pstyle("pie-size"),s=a.x,o=a.y,u=e.width(),l=e.height(),f=Math.min(u,l)/2,h=0,d=this.usePaths();d&&(s=0,o=0),i.units==="%"?f=f*i.pfValue:i.pfValue!==void 0&&(f=i.pfValue/2);for(var c=1;c<=n.pieBackgroundN;c++){var v=e.pstyle("pie-"+c+"-background-size").value,p=e.pstyle("pie-"+c+"-background-color").value,g=e.pstyle("pie-"+c+"-background-opacity").value*r,y=v/100;y+h>1&&(y=1-h);var b=1.5*Math.PI+2*Math.PI*h,m=2*Math.PI*y,T=b+m;v===0||h>=1||h+y>1||(t.beginPath(),t.moveTo(s,o),t.arc(s,o,f,b,T),t.closePath(),this.colorFillStyle(t,p[0],p[1],p[2],g),t.fill(),h+=y)}};var yt={},Bp=100;yt.getPixelRatio=function(){var t=this.data.contexts[0];if(this.forcedPixelRatio!=null)return this.forcedPixelRatio;var e=t.backingStorePixelRatio||t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1;return(window.devicePixelRatio||1)/e};yt.paintCache=function(t){for(var e=this.paintCaches=this.paintCaches||[],r=!0,a,n=0;ns.minMbLowQualFrames&&(s.motionBlurPxRatio=s.mbPxRBlurry)),s.clearingMotionBlur&&(s.motionBlurPxRatio=1),s.textureDrawLastFrame&&!h&&(f[s.NODE]=!0,f[s.SELECT_BOX]=!0);var b=u.style(),m=u.zoom(),T=n!==void 0?n:m,C=u.pan(),S={x:C.x,y:C.y},E={zoom:m,pan:{x:C.x,y:C.y}},x=s.prevViewport,w=x===void 0||E.zoom!==x.zoom||E.pan.x!==x.pan.x||E.pan.y!==x.pan.y;!w&&!(p&&!v)&&(s.motionBlurPxRatio=1),i&&(S=i),T*=o,S.x*=o,S.y*=o;var D=s.getCachedZSortedEles();function L(te,ie,ue,ce,fe){var ge=te.globalCompositeOperation;te.globalCompositeOperation="destination-out",s.colorFillStyle(te,255,255,255,s.motionBlurTransparency),te.fillRect(ie,ue,ce,fe),te.globalCompositeOperation=ge}function A(te,ie){var ue,ce,fe,ge;!s.clearingMotionBlur&&(te===l.bufferContexts[s.MOTIONBLUR_BUFFER_NODE]||te===l.bufferContexts[s.MOTIONBLUR_BUFFER_DRAG])?(ue={x:C.x*c,y:C.y*c},ce=m*c,fe=s.canvasWidth*c,ge=s.canvasHeight*c):(ue=S,ce=T,fe=s.canvasWidth,ge=s.canvasHeight),te.setTransform(1,0,0,1,0,0),ie==="motionBlur"?L(te,0,0,fe,ge):!e&&(ie===void 0||ie)&&te.clearRect(0,0,fe,ge),r||(te.translate(ue.x,ue.y),te.scale(ce,ce)),i&&te.translate(i.x,i.y),n&&te.scale(n,n)}if(h||(s.textureDrawLastFrame=!1),h){if(s.textureDrawLastFrame=!0,!s.textureCache){s.textureCache={},s.textureCache.bb=u.mutableElements().boundingBox(),s.textureCache.texture=s.data.bufferCanvases[s.TEXTURE_BUFFER];var M=s.data.bufferContexts[s.TEXTURE_BUFFER];M.setTransform(1,0,0,1,0,0),M.clearRect(0,0,s.canvasWidth*s.textureMult,s.canvasHeight*s.textureMult),s.render({forcedContext:M,drawOnlyNodeLayer:!0,forcedPxRatio:o*s.textureMult});var E=s.textureCache.viewport={zoom:u.zoom(),pan:u.pan(),width:s.canvasWidth,height:s.canvasHeight};E.mpan={x:(0-E.pan.x)/E.zoom,y:(0-E.pan.y)/E.zoom}}f[s.DRAG]=!1,f[s.NODE]=!1;var O=l.contexts[s.NODE],I=s.textureCache.texture,E=s.textureCache.viewport;O.setTransform(1,0,0,1,0,0),d?L(O,0,0,E.width,E.height):O.clearRect(0,0,E.width,E.height);var R=b.core("outside-texture-bg-color").value,k=b.core("outside-texture-bg-opacity").value;s.colorFillStyle(O,R[0],R[1],R[2],k),O.fillRect(0,0,E.width,E.height);var m=u.zoom();A(O,!1),O.clearRect(E.mpan.x,E.mpan.y,E.width/E.zoom/o,E.height/E.zoom/o),O.drawImage(I,E.mpan.x,E.mpan.y,E.width/E.zoom/o,E.height/E.zoom/o)}else s.textureOnViewport&&!e&&(s.textureCache=null);var P=u.extent(),B=s.pinching||s.hoverData.dragging||s.swipePanning||s.data.wheelZooming||s.hoverData.draggingEles||s.cy.animated(),V=s.hideEdgesOnViewport&&B,F=[];if(F[s.NODE]=!f[s.NODE]&&d&&!s.clearedForMotionBlur[s.NODE]||s.clearingMotionBlur,F[s.NODE]&&(s.clearedForMotionBlur[s.NODE]=!0),F[s.DRAG]=!f[s.DRAG]&&d&&!s.clearedForMotionBlur[s.DRAG]||s.clearingMotionBlur,F[s.DRAG]&&(s.clearedForMotionBlur[s.DRAG]=!0),f[s.NODE]||r||a||F[s.NODE]){var G=d&&!F[s.NODE]&&c!==1,O=e||(G?s.data.bufferContexts[s.MOTIONBLUR_BUFFER_NODE]:l.contexts[s.NODE]),Y=d&&!G?"motionBlur":void 0;A(O,Y),V?s.drawCachedNodes(O,D.nondrag,o,P):s.drawLayeredElements(O,D.nondrag,o,P),s.debug&&s.drawDebugPoints(O,D.nondrag),!r&&!d&&(f[s.NODE]=!1)}if(!a&&(f[s.DRAG]||r||F[s.DRAG])){var G=d&&!F[s.DRAG]&&c!==1,O=e||(G?s.data.bufferContexts[s.MOTIONBLUR_BUFFER_DRAG]:l.contexts[s.DRAG]);A(O,d&&!G?"motionBlur":void 0),V?s.drawCachedNodes(O,D.drag,o,P):s.drawCachedElements(O,D.drag,o,P),s.debug&&s.drawDebugPoints(O,D.drag),!r&&!d&&(f[s.DRAG]=!1)}if(s.showFps||!a&&f[s.SELECT_BOX]&&!r){var O=e||l.contexts[s.SELECT_BOX];if(A(O),s.selection[4]==1&&(s.hoverData.selecting||s.touchData.selecting)){var m=s.cy.zoom(),_=b.core("selection-box-border-width").value/m;O.lineWidth=_,O.fillStyle="rgba("+b.core("selection-box-color").value[0]+","+b.core("selection-box-color").value[1]+","+b.core("selection-box-color").value[2]+","+b.core("selection-box-opacity").value+")",O.fillRect(s.selection[0],s.selection[1],s.selection[2]-s.selection[0],s.selection[3]-s.selection[1]),_>0&&(O.strokeStyle="rgba("+b.core("selection-box-border-color").value[0]+","+b.core("selection-box-border-color").value[1]+","+b.core("selection-box-border-color").value[2]+","+b.core("selection-box-opacity").value+")",O.strokeRect(s.selection[0],s.selection[1],s.selection[2]-s.selection[0],s.selection[3]-s.selection[1]))}if(l.bgActivePosistion&&!s.hoverData.selecting){var m=s.cy.zoom(),q=l.bgActivePosistion;O.fillStyle="rgba("+b.core("active-bg-color").value[0]+","+b.core("active-bg-color").value[1]+","+b.core("active-bg-color").value[2]+","+b.core("active-bg-opacity").value+")",O.beginPath(),O.arc(q.x,q.y,b.core("active-bg-size").pfValue/m,0,2*Math.PI),O.fill()}var U=s.lastRedrawTime;if(s.showFps&&U){U=Math.round(U);var z=Math.round(1e3/U);O.setTransform(1,0,0,1,0,0),O.fillStyle="rgba(255, 0, 0, 0.75)",O.strokeStyle="rgba(255, 0, 0, 0.75)",O.lineWidth=1,O.fillText("1 frame = "+U+" ms = "+z+" fps",0,20);var H=60;O.strokeRect(0,30,250,20),O.fillRect(0,30,250*Math.min(z/H,1),20)}r||(f[s.SELECT_BOX]=!1)}if(d&&c!==1){var W=l.contexts[s.NODE],J=s.data.bufferCanvases[s.MOTIONBLUR_BUFFER_NODE],ee=l.contexts[s.DRAG],oe=s.data.bufferCanvases[s.MOTIONBLUR_BUFFER_DRAG],me=function(ie,ue,ce){ie.setTransform(1,0,0,1,0,0),ce||!y?ie.clearRect(0,0,s.canvasWidth,s.canvasHeight):L(ie,0,0,s.canvasWidth,s.canvasHeight);var fe=c;ie.drawImage(ue,0,0,s.canvasWidth*fe,s.canvasHeight*fe,0,0,s.canvasWidth,s.canvasHeight)};(f[s.NODE]||F[s.NODE])&&(me(W,J,F[s.NODE]),f[s.NODE]=!1),(f[s.DRAG]||F[s.DRAG])&&(me(ee,oe,F[s.DRAG]),f[s.DRAG]=!1)}s.prevViewport=E,s.clearingMotionBlur&&(s.clearingMotionBlur=!1,s.motionBlurCleared=!0,s.motionBlur=!0),d&&(s.motionBlurTimeout=setTimeout(function(){s.motionBlurTimeout=null,s.clearedForMotionBlur[s.NODE]=!1,s.clearedForMotionBlur[s.DRAG]=!1,s.motionBlur=!1,s.clearingMotionBlur=!h,s.mbFrames=0,f[s.NODE]=!0,f[s.DRAG]=!0,s.redraw()},Bp)),e||u.emit("render")};var sr={};sr.drawPolygonPath=function(t,e,r,a,n,i){var s=a/2,o=n/2;t.beginPath&&t.beginPath(),t.moveTo(e+s*i[0],r+o*i[1]);for(var u=1;u0&&s>0){c.clearRect(0,0,i,s),c.globalCompositeOperation="source-over";var v=this.getCachedZSortedEles();if(t.full)c.translate(-a.x1*l,-a.y1*l),c.scale(l,l),this.drawElements(c,v),c.scale(1/l,1/l),c.translate(a.x1*l,a.y1*l);else{var p=e.pan(),g={x:p.x*l,y:p.y*l};l*=e.zoom(),c.translate(g.x,g.y),c.scale(l,l),this.drawElements(c,v),c.scale(1/l,1/l),c.translate(-g.x,-g.y)}t.bg&&(c.globalCompositeOperation="destination-over",c.fillStyle=t.bg,c.rect(0,0,i,s),c.fill())}return d};function Fp(t,e){for(var r=atob(t),a=new ArrayBuffer(r.length),n=new Uint8Array(a),i=0;i"u"?"undefined":Xe(OffscreenCanvas))!=="undefined"?r=new OffscreenCanvas(t,e):(r=document.createElement("canvas"),r.width=t,r.height=e),r};[Mu,zt,Xt,Bi,xr,Zr,yt,sr,Na,Bu].forEach(function(t){be(Se,t)});var Vp=[{name:"null",impl:mu},{name:"base",impl:Au},{name:"canvas",impl:Gp}],Up=[{type:"layout",extensions:qg},{type:"renderer",extensions:Vp}],Gu={},zu={};function Vu(t,e,r){var a=r,n=function(x){Ne("Can not register `"+e+"` for `"+t+"` since `"+x+"` already exists in the prototype and can not be overridden")};if(t==="core"){if(wa.prototype[e])return n(e);wa.prototype[e]=r}else if(t==="collection"){if(et.prototype[e])return n(e);et.prototype[e]=r}else if(t==="layout"){for(var i=function(x){this.options=x,r.call(this,x),Ce(this._private)||(this._private={}),this._private.cy=x.cy,this._private.listeners=[],this.createEmitter()},s=i.prototype=Object.create(r.prototype),o=[],u=0;uv&&(this.rect.x-=(this.labelWidth-v)/2,this.setWidth(this.labelWidth)),this.labelHeight>p&&(this.labelPos=="center"?this.rect.y-=(this.labelHeight-p)/2:this.labelPos=="top"&&(this.rect.y-=this.labelHeight-p),this.setHeight(this.labelHeight))}}},h.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==s.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},h.prototype.transform=function(c){var v=this.rect.x;v>u.WORLD_BOUNDARY?v=u.WORLD_BOUNDARY:v<-u.WORLD_BOUNDARY&&(v=-u.WORLD_BOUNDARY);var p=this.rect.y;p>u.WORLD_BOUNDARY?p=u.WORLD_BOUNDARY:p<-u.WORLD_BOUNDARY&&(p=-u.WORLD_BOUNDARY);var g=new f(v,p),y=c.inverseTransformPoint(g);this.setLocation(y.x,y.y)},h.prototype.getLeft=function(){return this.rect.x},h.prototype.getRight=function(){return this.rect.x+this.rect.width},h.prototype.getTop=function(){return this.rect.y},h.prototype.getBottom=function(){return this.rect.y+this.rect.height},h.prototype.getParent=function(){return this.owner==null?null:this.owner.getParent()},r.exports=h},function(r,a,n){function i(s,o){s==null&&o==null?(this.x=0,this.y=0):(this.x=s,this.y=o)}i.prototype.getX=function(){return this.x},i.prototype.getY=function(){return this.y},i.prototype.setX=function(s){this.x=s},i.prototype.setY=function(s){this.y=s},i.prototype.getDifference=function(s){return new DimensionD(this.x-s.x,this.y-s.y)},i.prototype.getCopy=function(){return new i(this.x,this.y)},i.prototype.translate=function(s){return this.x+=s.width,this.y+=s.height,this},r.exports=i},function(r,a,n){var i=n(2),s=n(10),o=n(0),u=n(6),l=n(3),f=n(1),h=n(13),d=n(12),c=n(11);function v(g,y,b){i.call(this,b),this.estimatedSize=s.MIN_VALUE,this.margin=o.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=g,y!=null&&y instanceof u?this.graphManager=y:y!=null&&y instanceof Layout&&(this.graphManager=y.graphManager)}v.prototype=Object.create(i.prototype);for(var p in i)v[p]=i[p];v.prototype.getNodes=function(){return this.nodes},v.prototype.getEdges=function(){return this.edges},v.prototype.getGraphManager=function(){return this.graphManager},v.prototype.getParent=function(){return this.parent},v.prototype.getLeft=function(){return this.left},v.prototype.getRight=function(){return this.right},v.prototype.getTop=function(){return this.top},v.prototype.getBottom=function(){return this.bottom},v.prototype.isConnected=function(){return this.isConnected},v.prototype.add=function(g,y,b){if(y==null&&b==null){var m=g;if(this.graphManager==null)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(m)>-1)throw"Node already in graph!";return m.owner=this,this.getNodes().push(m),m}else{var T=g;if(!(this.getNodes().indexOf(y)>-1&&this.getNodes().indexOf(b)>-1))throw"Source or target not in graph!";if(!(y.owner==b.owner&&y.owner==this))throw"Both owners must be this graph!";return y.owner!=b.owner?null:(T.source=y,T.target=b,T.isInterGraph=!1,this.getEdges().push(T),y.edges.push(T),b!=y&&b.edges.push(T),T)}},v.prototype.remove=function(g){var y=g;if(g instanceof l){if(y==null)throw"Node is null!";if(!(y.owner!=null&&y.owner==this))throw"Owner graph is invalid!";if(this.graphManager==null)throw"Owner graph manager is invalid!";for(var b=y.edges.slice(),m,T=b.length,C=0;C-1&&x>-1))throw"Source and/or target doesn't know this edge!";m.source.edges.splice(E,1),m.target!=m.source&&m.target.edges.splice(x,1);var S=m.source.owner.getEdges().indexOf(m);if(S==-1)throw"Not in owner's edge list!";m.source.owner.getEdges().splice(S,1)}},v.prototype.updateLeftTop=function(){for(var g=s.MAX_VALUE,y=s.MAX_VALUE,b,m,T,C=this.getNodes(),S=C.length,E=0;Eb&&(g=b),y>m&&(y=m)}return g==s.MAX_VALUE?null:(C[0].getParent().paddingLeft!=null?T=C[0].getParent().paddingLeft:T=this.margin,this.left=y-T,this.top=g-T,new d(this.left,this.top))},v.prototype.updateBounds=function(g){for(var y=s.MAX_VALUE,b=-s.MAX_VALUE,m=s.MAX_VALUE,T=-s.MAX_VALUE,C,S,E,x,w,D=this.nodes,L=D.length,A=0;AC&&(y=C),bE&&(m=E),TC&&(y=C),bE&&(m=E),T=this.nodes.length){var L=0;b.forEach(function(A){A.owner==g&&L++}),L==this.nodes.length&&(this.isConnected=!0)}},r.exports=v},function(r,a,n){var i,s=n(1);function o(u){i=n(5),this.layout=u,this.graphs=[],this.edges=[]}o.prototype.addRoot=function(){var u=this.layout.newGraph(),l=this.layout.newNode(null),f=this.add(u,l);return this.setRootGraph(f),this.rootGraph},o.prototype.add=function(u,l,f,h,d){if(f==null&&h==null&&d==null){if(u==null)throw"Graph is null!";if(l==null)throw"Parent node is null!";if(this.graphs.indexOf(u)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(u),u.parent!=null)throw"Already has a parent!";if(l.child!=null)throw"Already has a child!";return u.parent=l,l.child=u,u}else{d=f,h=l,f=u;var c=h.getOwner(),v=d.getOwner();if(!(c!=null&&c.getGraphManager()==this))throw"Source not in this graph mgr!";if(!(v!=null&&v.getGraphManager()==this))throw"Target not in this graph mgr!";if(c==v)return f.isInterGraph=!1,c.add(f,h,d);if(f.isInterGraph=!0,f.source=h,f.target=d,this.edges.indexOf(f)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(f),!(f.source!=null&&f.target!=null))throw"Edge source and/or target is null!";if(!(f.source.edges.indexOf(f)==-1&&f.target.edges.indexOf(f)==-1))throw"Edge already in source and/or target incidency list!";return f.source.edges.push(f),f.target.edges.push(f),f}},o.prototype.remove=function(u){if(u instanceof i){var l=u;if(l.getGraphManager()!=this)throw"Graph not in this graph mgr";if(!(l==this.rootGraph||l.parent!=null&&l.parent.graphManager==this))throw"Invalid parent node!";var f=[];f=f.concat(l.getEdges());for(var h,d=f.length,c=0;c=u.getRight()?l[0]+=Math.min(u.getX()-o.getX(),o.getRight()-u.getRight()):u.getX()<=o.getX()&&u.getRight()>=o.getRight()&&(l[0]+=Math.min(o.getX()-u.getX(),u.getRight()-o.getRight())),o.getY()<=u.getY()&&o.getBottom()>=u.getBottom()?l[1]+=Math.min(u.getY()-o.getY(),o.getBottom()-u.getBottom()):u.getY()<=o.getY()&&u.getBottom()>=o.getBottom()&&(l[1]+=Math.min(o.getY()-u.getY(),u.getBottom()-o.getBottom()));var d=Math.abs((u.getCenterY()-o.getCenterY())/(u.getCenterX()-o.getCenterX()));u.getCenterY()===o.getCenterY()&&u.getCenterX()===o.getCenterX()&&(d=1);var c=d*l[0],v=l[1]/d;l[0]c)return l[0]=f,l[1]=p,l[2]=d,l[3]=D,!1;if(hd)return l[0]=v,l[1]=h,l[2]=x,l[3]=c,!1;if(fd?(l[0]=y,l[1]=b,O=!0):(l[0]=g,l[1]=p,O=!0):R===P&&(f>d?(l[0]=v,l[1]=p,O=!0):(l[0]=m,l[1]=b,O=!0)),-k===P?d>f?(l[2]=w,l[3]=D,I=!0):(l[2]=x,l[3]=E,I=!0):k===P&&(d>f?(l[2]=S,l[3]=E,I=!0):(l[2]=L,l[3]=D,I=!0)),O&&I)return!1;if(f>d?h>c?(B=this.getCardinalDirection(R,P,4),V=this.getCardinalDirection(k,P,2)):(B=this.getCardinalDirection(-R,P,3),V=this.getCardinalDirection(-k,P,1)):h>c?(B=this.getCardinalDirection(-R,P,1),V=this.getCardinalDirection(-k,P,3)):(B=this.getCardinalDirection(R,P,2),V=this.getCardinalDirection(k,P,4)),!O)switch(B){case 1:G=p,F=f+-C/P,l[0]=F,l[1]=G;break;case 2:F=m,G=h+T*P,l[0]=F,l[1]=G;break;case 3:G=b,F=f+C/P,l[0]=F,l[1]=G;break;case 4:F=y,G=h+-T*P,l[0]=F,l[1]=G;break}if(!I)switch(V){case 1:_=E,Y=d+-M/P,l[2]=Y,l[3]=_;break;case 2:Y=L,_=c+A*P,l[2]=Y,l[3]=_;break;case 3:_=D,Y=d+M/P,l[2]=Y,l[3]=_;break;case 4:Y=w,_=c+-A*P,l[2]=Y,l[3]=_;break}}return!1},s.getCardinalDirection=function(o,u,l){return o>u?l:1+l%4},s.getIntersection=function(o,u,l,f){if(f==null)return this.getIntersection2(o,u,l);var h=o.x,d=o.y,c=u.x,v=u.y,p=l.x,g=l.y,y=f.x,b=f.y,m=void 0,T=void 0,C=void 0,S=void 0,E=void 0,x=void 0,w=void 0,D=void 0,L=void 0;return C=v-d,E=h-c,w=c*d-h*v,S=b-g,x=p-y,D=y*g-p*b,L=C*x-S*E,L===0?null:(m=(E*D-x*w)/L,T=(S*w-C*D)/L,new i(m,T))},s.angleOfVector=function(o,u,l,f){var h=void 0;return o!==l?(h=Math.atan((f-u)/(l-o)),l0?1:s<0?-1:0},i.floor=function(s){return s<0?Math.ceil(s):Math.floor(s)},i.ceil=function(s){return s<0?Math.floor(s):Math.ceil(s)},r.exports=i},function(r,a,n){function i(){}i.MAX_VALUE=2147483647,i.MIN_VALUE=-2147483648,r.exports=i},function(r,a,n){var i=function(){function h(d,c){for(var v=0;v"u"?"undefined":i(o);return o==null||u!="object"&&u!="function"},r.exports=s},function(r,a,n){function i(p){if(Array.isArray(p)){for(var g=0,y=Array(p.length);g0&&g;){for(C.push(E[0]);C.length>0&&g;){var x=C[0];C.splice(0,1),T.add(x);for(var w=x.getEdges(),m=0;m-1&&E.splice(M,1)}T=new Set,S=new Map}}return p},v.prototype.createDummyNodesForBendpoints=function(p){for(var g=[],y=p.source,b=this.graphManager.calcLowestCommonAncestor(p.source,p.target),m=0;m0){for(var b=this.edgeToDummyNodes.get(y),m=0;m=0&&g.splice(D,1);var L=S.getNeighborsList();L.forEach(function(O){if(y.indexOf(O)<0){var I=b.get(O),R=I-1;R==1&&x.push(O),b.set(O,R)}})}y=y.concat(x),(g.length==1||g.length==2)&&(m=!0,T=g[0])}return T},v.prototype.setGraphManager=function(p){this.graphManager=p},r.exports=v},function(r,a,n){function i(){}i.seed=1,i.x=0,i.nextDouble=function(){return i.x=Math.sin(i.seed++)*1e4,i.x-Math.floor(i.x)},r.exports=i},function(r,a,n){var i=n(4);function s(o,u){this.lworldOrgX=0,this.lworldOrgY=0,this.ldeviceOrgX=0,this.ldeviceOrgY=0,this.lworldExtX=1,this.lworldExtY=1,this.ldeviceExtX=1,this.ldeviceExtY=1}s.prototype.getWorldOrgX=function(){return this.lworldOrgX},s.prototype.setWorldOrgX=function(o){this.lworldOrgX=o},s.prototype.getWorldOrgY=function(){return this.lworldOrgY},s.prototype.setWorldOrgY=function(o){this.lworldOrgY=o},s.prototype.getWorldExtX=function(){return this.lworldExtX},s.prototype.setWorldExtX=function(o){this.lworldExtX=o},s.prototype.getWorldExtY=function(){return this.lworldExtY},s.prototype.setWorldExtY=function(o){this.lworldExtY=o},s.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},s.prototype.setDeviceOrgX=function(o){this.ldeviceOrgX=o},s.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},s.prototype.setDeviceOrgY=function(o){this.ldeviceOrgY=o},s.prototype.getDeviceExtX=function(){return this.ldeviceExtX},s.prototype.setDeviceExtX=function(o){this.ldeviceExtX=o},s.prototype.getDeviceExtY=function(){return this.ldeviceExtY},s.prototype.setDeviceExtY=function(o){this.ldeviceExtY=o},s.prototype.transformX=function(o){var u=0,l=this.lworldExtX;return l!=0&&(u=this.ldeviceOrgX+(o-this.lworldOrgX)*this.ldeviceExtX/l),u},s.prototype.transformY=function(o){var u=0,l=this.lworldExtY;return l!=0&&(u=this.ldeviceOrgY+(o-this.lworldOrgY)*this.ldeviceExtY/l),u},s.prototype.inverseTransformX=function(o){var u=0,l=this.ldeviceExtX;return l!=0&&(u=this.lworldOrgX+(o-this.ldeviceOrgX)*this.lworldExtX/l),u},s.prototype.inverseTransformY=function(o){var u=0,l=this.ldeviceExtY;return l!=0&&(u=this.lworldOrgY+(o-this.ldeviceOrgY)*this.lworldExtY/l),u},s.prototype.inverseTransformPoint=function(o){var u=new i(this.inverseTransformX(o.x),this.inverseTransformY(o.y));return u},r.exports=s},function(r,a,n){function i(c){if(Array.isArray(c)){for(var v=0,p=Array(c.length);vo.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*o.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(c-o.ADAPTATION_LOWER_NODE_LIMIT)/(o.ADAPTATION_UPPER_NODE_LIMIT-o.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-o.COOLING_ADAPTATION_FACTOR))),this.maxNodeDisplacement=o.MAX_NODE_DISPLACEMENT_INCREMENTAL):(c>o.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(o.COOLING_ADAPTATION_FACTOR,1-(c-o.ADAPTATION_LOWER_NODE_LIMIT)/(o.ADAPTATION_UPPER_NODE_LIMIT-o.ADAPTATION_LOWER_NODE_LIMIT)*(1-o.COOLING_ADAPTATION_FACTOR)):this.coolingFactor=1,this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=o.MAX_NODE_DISPLACEMENT),this.maxIterations=Math.max(this.getAllNodes().length*5,this.maxIterations),this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},h.prototype.calcSpringForces=function(){for(var c=this.getAllEdges(),v,p=0;p0&&arguments[0]!==void 0?arguments[0]:!0,v=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,p,g,y,b,m=this.getAllNodes(),T;if(this.useFRGridVariant)for(this.totalIterations%o.GRID_CALCULATION_CHECK_PERIOD==1&&c&&this.updateGrid(),T=new Set,p=0;pC||T>C)&&(c.gravitationForceX=-this.gravityConstant*y,c.gravitationForceY=-this.gravityConstant*b)):(C=v.getEstimatedSize()*this.compoundGravityRangeFactor,(m>C||T>C)&&(c.gravitationForceX=-this.gravityConstant*y*this.compoundGravityConstant,c.gravitationForceY=-this.gravityConstant*b*this.compoundGravityConstant))},h.prototype.isConverged=function(){var c,v=!1;return this.totalIterations>this.maxIterations/3&&(v=Math.abs(this.totalDisplacement-this.oldTotalDisplacement)<2),c=this.totalDisplacement=m.length||C>=m[0].length)){for(var S=0;Sh}}]),l}();r.exports=u},function(r,a,n){var i=function(){function u(l,f){for(var h=0;h2&&arguments[2]!==void 0?arguments[2]:1,d=arguments.length>3&&arguments[3]!==void 0?arguments[3]:-1,c=arguments.length>4&&arguments[4]!==void 0?arguments[4]:-1;s(this,u),this.sequence1=l,this.sequence2=f,this.match_score=h,this.mismatch_penalty=d,this.gap_penalty=c,this.iMax=l.length+1,this.jMax=f.length+1,this.grid=new Array(this.iMax);for(var v=0;v=0;l--){var f=this.listeners[l];f.event===o&&f.callback===u&&this.listeners.splice(l,1)}},s.emit=function(o,u){for(var l=0;lf.coolingFactor*f.maxNodeDisplacement&&(this.displacementX=f.coolingFactor*f.maxNodeDisplacement*o.sign(this.displacementX)),Math.abs(this.displacementY)>f.coolingFactor*f.maxNodeDisplacement&&(this.displacementY=f.coolingFactor*f.maxNodeDisplacement*o.sign(this.displacementY)),this.child==null?this.moveBy(this.displacementX,this.displacementY):this.child.getNodes().length==0?this.moveBy(this.displacementX,this.displacementY):this.propogateDisplacementToChildren(this.displacementX,this.displacementY),f.totalDisplacement+=Math.abs(this.displacementX)+Math.abs(this.displacementY),this.springForceX=0,this.springForceY=0,this.repulsionForceX=0,this.repulsionForceY=0,this.gravitationForceX=0,this.gravitationForceY=0,this.displacementX=0,this.displacementY=0},u.prototype.propogateDisplacementToChildren=function(f,h){for(var d=this.getChild().getNodes(),c,v=0;v0)this.positionNodesRadially(E);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var x=new Set(this.getAllNodes()),w=this.nodesWithGravity.filter(function(D){return x.has(D)});this.graphManager.setAllNodesToApplyGravitation(w),this.positionNodesRandomly()}}return this.initSpringEmbedder(),this.runSpringEmbedder(),!0},C.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished)if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;if(this.totalIterations%d.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged())if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;this.coolingCycle++,this.layoutQuality==0?this.coolingAdjuster=this.coolingCycle:this.layoutQuality==1&&(this.coolingAdjuster=this.coolingCycle/3),this.coolingFactor=Math.max(this.initialCoolingFactor-Math.pow(this.coolingCycle,Math.log(100*(this.initialCoolingFactor-this.finalTemperature))/Math.log(this.maxCoolingCycle))/100*this.coolingAdjuster,this.finalTemperature),this.animationPeriod=Math.ceil(this.initialAnimationPeriod*Math.sqrt(this.coolingFactor))}if(this.isTreeGrowing){if(this.growTreeIterations%10==0)if(this.prunedNodesAll.length>0){this.graphManager.updateBounds(),this.updateGrid(),this.growTree(this.prunedNodesAll),this.graphManager.resetAllNodesToApplyGravitation();var E=new Set(this.getAllNodes()),x=this.nodesWithGravity.filter(function(L){return E.has(L)});this.graphManager.setAllNodesToApplyGravitation(x),this.graphManager.updateBounds(),this.updateGrid(),this.coolingFactor=d.DEFAULT_COOLING_FACTOR_INCREMENTAL}else this.isTreeGrowing=!1,this.isGrowthFinished=!0;this.growTreeIterations++}if(this.isGrowthFinished){if(this.isConverged())return!0;this.afterGrowthIterations%10==0&&(this.graphManager.updateBounds(),this.updateGrid()),this.coolingFactor=d.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var w=!this.isTreeGrowing&&!this.isGrowthFinished,D=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(w,D),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},C.prototype.getPositionsData=function(){for(var E=this.graphManager.getAllNodes(),x={},w=0;w1){var O;for(O=0;OD&&(D=Math.floor(M.y)),A=Math.floor(M.x+h.DEFAULT_COMPONENT_SEPERATION)}this.transform(new p(c.WORLD_CENTER_X-M.x/2,c.WORLD_CENTER_Y-M.y/2))},C.radialLayout=function(E,x,w){var D=Math.max(this.maxDiagonalInTree(E),h.DEFAULT_RADIAL_SEPARATION);C.branchRadialLayout(x,null,0,359,0,D);var L=m.calculateBounds(E),A=new T;A.setDeviceOrgX(L.getMinX()),A.setDeviceOrgY(L.getMinY()),A.setWorldOrgX(w.x),A.setWorldOrgY(w.y);for(var M=0;M1;){var _=Y[0];Y.splice(0,1);var q=P.indexOf(_);q>=0&&P.splice(q,1),F--,B--}x!=null?G=(P.indexOf(Y[0])+1)%F:G=0;for(var U=Math.abs(D-w)/B,z=G;V!=B;z=++z%F){var H=P[z].getOtherEnd(E);if(H!=x){var W=(w+V*U)%360,J=(W+U)%360;C.branchRadialLayout(H,E,W,J,L+A,A),V++}}},C.maxDiagonalInTree=function(E){for(var x=y.MIN_VALUE,w=0;wx&&(x=L)}return x},C.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},C.prototype.groupZeroDegreeMembers=function(){var E=this,x={};this.memberGroups={},this.idToDummyNode={};for(var w=[],D=this.graphManager.getAllNodes(),L=0;L"u"&&(x[O]=[]),x[O]=x[O].concat(A)}Object.keys(x).forEach(function(I){if(x[I].length>1){var R="DummyCompound_"+I;E.memberGroups[R]=x[I];var k=x[I][0].getParent(),P=new l(E.graphManager);P.id=R,P.paddingLeft=k.paddingLeft||0,P.paddingRight=k.paddingRight||0,P.paddingBottom=k.paddingBottom||0,P.paddingTop=k.paddingTop||0,E.idToDummyNode[R]=P;var B=E.getGraphManager().add(E.newGraph(),P),V=k.getChild();V.add(P);for(var F=0;F=0;E--){var x=this.compoundOrder[E],w=x.id,D=x.paddingLeft,L=x.paddingTop;this.adjustLocations(this.tiledMemberPack[w],x.rect.x,x.rect.y,D,L)}},C.prototype.repopulateZeroDegreeMembers=function(){var E=this,x=this.tiledZeroDegreePack;Object.keys(x).forEach(function(w){var D=E.idToDummyNode[w],L=D.paddingLeft,A=D.paddingTop;E.adjustLocations(x[w],D.rect.x,D.rect.y,L,A)})},C.prototype.getToBeTiled=function(E){var x=E.id;if(this.toBeTiled[x]!=null)return this.toBeTiled[x];var w=E.getChild();if(w==null)return this.toBeTiled[x]=!1,!1;for(var D=w.getNodes(),L=0;L0)return this.toBeTiled[x]=!1,!1;if(A.getChild()==null){this.toBeTiled[A.id]=!1;continue}if(!this.getToBeTiled(A))return this.toBeTiled[x]=!1,!1}return this.toBeTiled[x]=!0,!0},C.prototype.getNodeDegree=function(E){E.id;for(var x=E.getEdges(),w=0,D=0;DI&&(I=k.rect.height)}w+=I+E.verticalPadding}},C.prototype.tileCompoundMembers=function(E,x){var w=this;this.tiledMemberPack=[],Object.keys(E).forEach(function(D){var L=x[D];w.tiledMemberPack[D]=w.tileNodes(E[D],L.paddingLeft+L.paddingRight),L.rect.width=w.tiledMemberPack[D].width,L.rect.height=w.tiledMemberPack[D].height})},C.prototype.tileNodes=function(E,x){var w=h.TILING_PADDING_VERTICAL,D=h.TILING_PADDING_HORIZONTAL,L={rows:[],rowWidth:[],rowHeight:[],width:0,height:x,verticalPadding:w,horizontalPadding:D};E.sort(function(O,I){return O.rect.width*O.rect.height>I.rect.width*I.rect.height?-1:O.rect.width*O.rect.height0&&(M+=E.horizontalPadding),E.rowWidth[w]=M,E.width0&&(O+=E.verticalPadding);var I=0;O>E.rowHeight[w]&&(I=E.rowHeight[w],E.rowHeight[w]=O,I=E.rowHeight[w]-I),E.height+=I,E.rows[w].push(x)},C.prototype.getShortestRowIndex=function(E){for(var x=-1,w=Number.MAX_VALUE,D=0;Dw&&(x=D,w=E.rowWidth[D]);return x},C.prototype.canAddHorizontal=function(E,x,w){var D=this.getShortestRowIndex(E);if(D<0)return!0;var L=E.rowWidth[D];if(L+E.horizontalPadding+x<=E.width)return!0;var A=0;E.rowHeight[D]0&&(A=w+E.verticalPadding-E.rowHeight[D]);var M;E.width-L>=x+E.horizontalPadding?M=(E.height+A)/(L+x+E.horizontalPadding):M=(E.height+A)/E.width,A=w+E.verticalPadding;var O;return E.widthA&&x!=w){D.splice(-1,1),E.rows[w].push(L),E.rowWidth[x]=E.rowWidth[x]-A,E.rowWidth[w]=E.rowWidth[w]+A,E.width=E.rowWidth[instance.getLongestRowIndex(E)];for(var M=Number.MIN_VALUE,O=0;OM&&(M=D[O].height);x>0&&(M+=E.verticalPadding);var I=E.rowHeight[x]+E.rowHeight[w];E.rowHeight[x]=M,E.rowHeight[w]0)for(var V=L;V<=A;V++)B[0]+=this.grid[V][M-1].length+this.grid[V][M].length-1;if(A0)for(var V=M;V<=O;V++)B[3]+=this.grid[L-1][V].length+this.grid[L][V].length-1;for(var F=y.MAX_VALUE,G,Y,_=0;_0){var O;O=T.getGraphManager().add(T.newGraph(),w),this.processChildrenList(O,x,T)}}},p.prototype.stop=function(){return this.stopped=!0,this};var y=function(m){m("layout","cose-bilkent",p)};typeof cytoscape<"u"&&y(cytoscape),a.exports=y}])})})(Yu);var qp=Yu.exports;const Wp=rl(qp);var fi=function(){var t=function(T,C,S,E){for(S=S||{},E=T.length;E--;S[T[E]]=C);return S},e=[1,4],r=[1,13],a=[1,12],n=[1,15],i=[1,16],s=[1,20],o=[1,19],u=[6,7,8],l=[1,26],f=[1,24],h=[1,25],d=[6,7,11],c=[1,6,13,15,16,19,22],v=[1,33],p=[1,34],g=[1,6,7,11,13,15,16,19,22],y={trace:function(){},yy:{},symbols_:{error:2,start:3,mindMap:4,spaceLines:5,SPACELINE:6,NL:7,MINDMAP:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,node:14,ICON:15,CLASS:16,nodeWithId:17,nodeWithoutId:18,NODE_DSTART:19,NODE_DESCR:20,NODE_DEND:21,NODE_ID:22,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"MINDMAP",11:"EOF",13:"SPACELIST",15:"ICON",16:"CLASS",19:"NODE_DSTART",20:"NODE_DESCR",21:"NODE_DEND",22:"NODE_ID"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,2],[12,2],[12,2],[12,1],[12,1],[12,1],[12,1],[12,1],[14,1],[14,1],[18,3],[17,1],[17,4]],performAction:function(C,S,E,x,w,D,L){var A=D.length-1;switch(w){case 6:case 7:return x;case 8:x.getLogger().trace("Stop NL ");break;case 9:x.getLogger().trace("Stop EOF ");break;case 11:x.getLogger().trace("Stop NL2 ");break;case 12:x.getLogger().trace("Stop EOF2 ");break;case 15:x.getLogger().info("Node: ",D[A].id),x.addNode(D[A-1].length,D[A].id,D[A].descr,D[A].type);break;case 16:x.getLogger().trace("Icon: ",D[A]),x.decorateNode({icon:D[A]});break;case 17:case 21:x.decorateNode({class:D[A]});break;case 18:x.getLogger().trace("SPACELIST");break;case 19:x.getLogger().trace("Node: ",D[A].id),x.addNode(0,D[A].id,D[A].descr,D[A].type);break;case 20:x.decorateNode({icon:D[A]});break;case 25:x.getLogger().trace("node found ..",D[A-2]),this.$={id:D[A-1],descr:D[A-1],type:x.getType(D[A-2],D[A])};break;case 26:this.$={id:D[A],descr:D[A],type:x.nodeType.DEFAULT};break;case 27:x.getLogger().trace("node found ..",D[A-3]),this.$={id:D[A-3],descr:D[A-1],type:x.getType(D[A-2],D[A])};break}},table:[{3:1,4:2,5:3,6:[1,5],8:e},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:e},{6:r,7:[1,10],9:9,12:11,13:a,14:14,15:n,16:i,17:17,18:18,19:s,22:o},t(u,[2,3]),{1:[2,2]},t(u,[2,4]),t(u,[2,5]),{1:[2,6],6:r,12:21,13:a,14:14,15:n,16:i,17:17,18:18,19:s,22:o},{6:r,9:22,12:11,13:a,14:14,15:n,16:i,17:17,18:18,19:s,22:o},{6:l,7:f,10:23,11:h},t(d,[2,22],{17:17,18:18,14:27,15:[1,28],16:[1,29],19:s,22:o}),t(d,[2,18]),t(d,[2,19]),t(d,[2,20]),t(d,[2,21]),t(d,[2,23]),t(d,[2,24]),t(d,[2,26],{19:[1,30]}),{20:[1,31]},{6:l,7:f,10:32,11:h},{1:[2,7],6:r,12:21,13:a,14:14,15:n,16:i,17:17,18:18,19:s,22:o},t(c,[2,14],{7:v,11:p}),t(g,[2,8]),t(g,[2,9]),t(g,[2,10]),t(d,[2,15]),t(d,[2,16]),t(d,[2,17]),{20:[1,35]},{21:[1,36]},t(c,[2,13],{7:v,11:p}),t(g,[2,11]),t(g,[2,12]),{21:[1,37]},t(d,[2,25]),t(d,[2,27])],defaultActions:{2:[2,1],6:[2,2]},parseError:function(C,S){if(S.recoverable)this.trace(C);else{var E=new Error(C);throw E.hash=S,E}},parse:function(C){var S=this,E=[0],x=[],w=[null],D=[],L=this.table,A="",M=0,O=0,I=2,R=1,k=D.slice.call(arguments,1),P=Object.create(this.lexer),B={yy:{}};for(var V in this.yy)Object.prototype.hasOwnProperty.call(this.yy,V)&&(B.yy[V]=this.yy[V]);P.setInput(C,B.yy),B.yy.lexer=P,B.yy.parser=this,typeof P.yylloc>"u"&&(P.yylloc={});var F=P.yylloc;D.push(F);var G=P.options&&P.options.ranges;typeof B.yy.parseError=="function"?this.parseError=B.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Y(){var te;return te=x.pop()||P.lex()||R,typeof te!="number"&&(te instanceof Array&&(x=te,te=x.pop()),te=S.symbols_[te]||te),te}for(var _,q,U,z,H={},W,J,ee,oe;;){if(q=E[E.length-1],this.defaultActions[q]?U=this.defaultActions[q]:((_===null||typeof _>"u")&&(_=Y()),U=L[q]&&L[q][_]),typeof U>"u"||!U.length||!U[0]){var me="";oe=[];for(W in L[q])this.terminals_[W]&&W>I&&oe.push("'"+this.terminals_[W]+"'");P.showPosition?me="Parse error on line "+(M+1)+`: `+P.showPosition()+` Expecting `+oe.join(", ")+", got '"+(this.terminals_[_]||_)+"'":me="Parse error on line "+(M+1)+": Unexpected "+(_==R?"end of input":"'"+(this.terminals_[_]||_)+"'"),this.parseError(me,{text:P.match,token:this.terminals_[_]||_,line:P.yylineno,loc:F,expected:oe})}if(U[0]instanceof Array&&U.length>1)throw new Error("Parse Error: multiple actions possible at state: "+q+", token: "+_);switch(U[0]){case 1:E.push(_),w.push(P.yytext),D.push(P.yylloc),E.push(U[1]),_=null,O=P.yyleng,A=P.yytext,M=P.yylineno,F=P.yylloc;break;case 2:if(J=this.productions_[U[1]][1],H.$=w[w.length-J],H._$={first_line:D[D.length-(J||1)].first_line,last_line:D[D.length-1].last_line,first_column:D[D.length-(J||1)].first_column,last_column:D[D.length-1].last_column},G&&(H._$.range=[D[D.length-(J||1)].range[0],D[D.length-1].range[1]]),z=this.performAction.apply(H,[A,O,M,B.yy,U[1],w,D].concat(k)),typeof z<"u")return z;J&&(E=E.slice(0,-1*J*2),w=w.slice(0,-1*J),D=D.slice(0,-1*J)),E.push(this.productions_[U[1]][0]),w.push(H.$),D.push(H._$),ee=L[E[E.length-2]][E[E.length-1]],E.push(ee);break;case 3:return!0}}return!0}},b=function(){var T={EOF:1,parseError:function(S,E){if(this.yy.parser)this.yy.parser.parseError(S,E);else throw new Error(S)},setInput:function(C,S){return this.yy=S||this.yy||{},this._input=C,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var C=this._input[0];this.yytext+=C,this.yyleng++,this.offset++,this.match+=C,this.matched+=C;var S=C.match(/(?:\r\n?|\n).*/g);return S?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),C},unput:function(C){var S=C.length,E=C.split(/(?:\r\n?|\n)/g);this._input=C+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-S),this.offset-=S;var x=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),E.length-1&&(this.yylineno-=E.length-1);var w=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:E?(E.length===x.length?this.yylloc.first_column:0)+x[x.length-E.length].length-E[0].length:this.yylloc.first_column-S},this.options.ranges&&(this.yylloc.range=[w[0],w[0]+this.yyleng-S]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(C){this.unput(this.match.slice(C))},pastInput:function(){var C=this.matched.substr(0,this.matched.length-this.match.length);return(C.length>20?"...":"")+C.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var C=this.match;return C.length<20&&(C+=this._input.substr(0,20-C.length)),(C.substr(0,20)+(C.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var C=this.pastInput(),S=new Array(C.length+1).join("-");return C+this.upcomingInput()+` diff --git a/assets/pieDiagram-79897490-BHBzTEwq.js b/assets/pieDiagram-79897490-1xy3UHtv.js similarity index 98% rename from assets/pieDiagram-79897490-BHBzTEwq.js rename to assets/pieDiagram-79897490-1xy3UHtv.js index e691795..ae66d43 100644 --- a/assets/pieDiagram-79897490-BHBzTEwq.js +++ b/assets/pieDiagram-79897490-1xy3UHtv.js @@ -1,4 +1,4 @@ -import{aL as H,aM as at,x as lt,y as ot,s as ct,g as ht,b as ut,a as yt,A as ft,d as pt,c as et,l as it,aN as gt,aK as dt,aO as mt,i as _t}from"./mermaid.core-DtSoU78u.js";import{a as tt}from"./arc-DjSouOTM.js";import{o as xt}from"./ordinal-Cboi1Yqb.js";import{a as kt}from"./array-BKyUJesY.js";import{c as F}from"./path-CbwjOpE9.js";import"./app-B0fd3cYb.js";import"./init-Gi6I4Gst.js";function vt(e,u){return ue?1:u>=e?0:NaN}function bt(e){return e}function St(){var e=bt,u=vt,$=null,p=F(0),g=F(H),A=F(0);function y(a){var l,d=(a=kt(a)).length,m,I,T=0,_=new Array(d),v=new Array(d),c=+p.apply(this,arguments),E=Math.min(H,Math.max(-H,g.apply(this,arguments)-c)),O,w=Math.min(Math.abs(E)/d,A.apply(this,arguments)),b=w*(E<0?-1:1),t;for(l=0;l0&&(T+=t);for(u!=null?_.sort(function(i,n){return u(v[i],v[n])}):$!=null&&_.sort(function(i,n){return $(a[i],a[n])}),l=0,I=T?(E-d*b)/T:0;l0?t*I:0)+b,v[m]={data:a[m],index:l,value:t,startAngle:c,endAngle:O,padAngle:w};return v}return y.value=function(a){return arguments.length?(e=typeof a=="function"?a:F(+a),y):e},y.sortValues=function(a){return arguments.length?(u=a,$=null,y):u},y.sort=function(a){return arguments.length?($=a,u=null,y):$},y.startAngle=function(a){return arguments.length?(p=typeof a=="function"?a:F(+a),y):p},y.endAngle=function(a){return arguments.length?(g=typeof a=="function"?a:F(+a),y):g},y.padAngle=function(a){return arguments.length?(A=typeof a=="function"?a:F(+a),y):A},y}var J=function(){var e=function(b,t,i,n){for(i=i||{},n=b.length;n--;i[b[n]]=t);return i},u=[1,3],$=[1,4],p=[1,5],g=[1,6],A=[1,10,12,14,16,18,19,20,21,22],y=[2,4],a=[1,5,10,12,14,16,18,19,20,21,22],l=[20,21,22],d=[2,7],m=[1,12],I=[1,13],T=[1,14],_=[1,15],v=[1,16],c=[1,17],E={trace:function(){},yy:{},symbols_:{error:2,start:3,eol:4,PIE:5,document:6,showData:7,line:8,statement:9,txt:10,value:11,title:12,title_value:13,acc_title:14,acc_title_value:15,acc_descr:16,acc_descr_value:17,acc_descr_multiline_value:18,section:19,NEWLINE:20,";":21,EOF:22,$accept:0,$end:1},terminals_:{2:"error",5:"PIE",7:"showData",10:"txt",11:"value",12:"title",13:"title_value",14:"acc_title",15:"acc_title_value",16:"acc_descr",17:"acc_descr_value",18:"acc_descr_multiline_value",19:"section",20:"NEWLINE",21:";",22:"EOF"},productions_:[0,[3,2],[3,2],[3,3],[6,0],[6,2],[8,2],[9,0],[9,2],[9,2],[9,2],[9,2],[9,1],[9,1],[4,1],[4,1],[4,1]],performAction:function(t,i,n,r,o,s,P){var x=s.length-1;switch(o){case 3:r.setShowData(!0);break;case 6:this.$=s[x-1];break;case 8:r.addSection(s[x-1],r.cleanupValue(s[x]));break;case 9:this.$=s[x].trim(),r.setDiagramTitle(this.$);break;case 10:this.$=s[x].trim(),r.setAccTitle(this.$);break;case 11:case 12:this.$=s[x].trim(),r.setAccDescription(this.$);break;case 13:r.addSection(s[x].substr(8)),this.$=s[x].substr(8);break}},table:[{3:1,4:2,5:u,20:$,21:p,22:g},{1:[3]},{3:7,4:2,5:u,20:$,21:p,22:g},e(A,y,{6:8,7:[1,9]}),e(a,[2,14]),e(a,[2,15]),e(a,[2,16]),{1:[2,1]},e(l,d,{8:10,9:11,1:[2,2],10:m,12:I,14:T,16:_,18:v,19:c}),e(A,y,{6:18}),e(A,[2,5]),{4:19,20:$,21:p,22:g},{11:[1,20]},{13:[1,21]},{15:[1,22]},{17:[1,23]},e(l,[2,12]),e(l,[2,13]),e(l,d,{8:10,9:11,1:[2,3],10:m,12:I,14:T,16:_,18:v,19:c}),e(A,[2,6]),e(l,[2,8]),e(l,[2,9]),e(l,[2,10]),e(l,[2,11])],defaultActions:{7:[2,1]},parseError:function(t,i){if(i.recoverable)this.trace(t);else{var n=new Error(t);throw n.hash=i,n}},parse:function(t){var i=this,n=[0],r=[],o=[null],s=[],P=this.table,x="",f=0,V=0,R=2,M=1,B=s.slice.call(arguments,1),h=Object.create(this.lexer),N={yy:{}};for(var Y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Y)&&(N.yy[Y]=this.yy[Y]);h.setInput(t,N.yy),N.yy.lexer=h,N.yy.parser=this,typeof h.yylloc>"u"&&(h.yylloc={});var K=h.yylloc;s.push(K);var st=h.options&&h.options.ranges;typeof N.yy.parseError=="function"?this.parseError=N.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function rt(){var C;return C=r.pop()||h.lex()||M,typeof C!="number"&&(C instanceof Array&&(r=C,C=r.pop()),C=i.symbols_[C]||C),C}for(var k,L,S,Z,z={},j,D,X,W;;){if(L=n[n.length-1],this.defaultActions[L]?S=this.defaultActions[L]:((k===null||typeof k>"u")&&(k=rt()),S=P[L]&&P[L][k]),typeof S>"u"||!S.length||!S[0]){var q="";W=[];for(j in P[L])this.terminals_[j]&&j>R&&W.push("'"+this.terminals_[j]+"'");h.showPosition?q="Parse error on line "+(f+1)+`: +import{aL as H,aM as at,x as lt,y as ot,s as ct,g as ht,b as ut,a as yt,A as ft,d as pt,c as et,l as it,aN as gt,aK as dt,aO as mt,i as _t}from"./mermaid.core-C-ipfzeP.js";import{a as tt}from"./arc-DTqpOiQk.js";import{o as xt}from"./ordinal-Cboi1Yqb.js";import{a as kt}from"./array-BKyUJesY.js";import{c as F}from"./path-CbwjOpE9.js";import"./app-jADuhdjP.js";import"./init-Gi6I4Gst.js";function vt(e,u){return ue?1:u>=e?0:NaN}function bt(e){return e}function St(){var e=bt,u=vt,$=null,p=F(0),g=F(H),A=F(0);function y(a){var l,d=(a=kt(a)).length,m,I,T=0,_=new Array(d),v=new Array(d),c=+p.apply(this,arguments),E=Math.min(H,Math.max(-H,g.apply(this,arguments)-c)),O,w=Math.min(Math.abs(E)/d,A.apply(this,arguments)),b=w*(E<0?-1:1),t;for(l=0;l0&&(T+=t);for(u!=null?_.sort(function(i,n){return u(v[i],v[n])}):$!=null&&_.sort(function(i,n){return $(a[i],a[n])}),l=0,I=T?(E-d*b)/T:0;l0?t*I:0)+b,v[m]={data:a[m],index:l,value:t,startAngle:c,endAngle:O,padAngle:w};return v}return y.value=function(a){return arguments.length?(e=typeof a=="function"?a:F(+a),y):e},y.sortValues=function(a){return arguments.length?(u=a,$=null,y):u},y.sort=function(a){return arguments.length?($=a,u=null,y):$},y.startAngle=function(a){return arguments.length?(p=typeof a=="function"?a:F(+a),y):p},y.endAngle=function(a){return arguments.length?(g=typeof a=="function"?a:F(+a),y):g},y.padAngle=function(a){return arguments.length?(A=typeof a=="function"?a:F(+a),y):A},y}var J=function(){var e=function(b,t,i,n){for(i=i||{},n=b.length;n--;i[b[n]]=t);return i},u=[1,3],$=[1,4],p=[1,5],g=[1,6],A=[1,10,12,14,16,18,19,20,21,22],y=[2,4],a=[1,5,10,12,14,16,18,19,20,21,22],l=[20,21,22],d=[2,7],m=[1,12],I=[1,13],T=[1,14],_=[1,15],v=[1,16],c=[1,17],E={trace:function(){},yy:{},symbols_:{error:2,start:3,eol:4,PIE:5,document:6,showData:7,line:8,statement:9,txt:10,value:11,title:12,title_value:13,acc_title:14,acc_title_value:15,acc_descr:16,acc_descr_value:17,acc_descr_multiline_value:18,section:19,NEWLINE:20,";":21,EOF:22,$accept:0,$end:1},terminals_:{2:"error",5:"PIE",7:"showData",10:"txt",11:"value",12:"title",13:"title_value",14:"acc_title",15:"acc_title_value",16:"acc_descr",17:"acc_descr_value",18:"acc_descr_multiline_value",19:"section",20:"NEWLINE",21:";",22:"EOF"},productions_:[0,[3,2],[3,2],[3,3],[6,0],[6,2],[8,2],[9,0],[9,2],[9,2],[9,2],[9,2],[9,1],[9,1],[4,1],[4,1],[4,1]],performAction:function(t,i,n,r,o,s,P){var x=s.length-1;switch(o){case 3:r.setShowData(!0);break;case 6:this.$=s[x-1];break;case 8:r.addSection(s[x-1],r.cleanupValue(s[x]));break;case 9:this.$=s[x].trim(),r.setDiagramTitle(this.$);break;case 10:this.$=s[x].trim(),r.setAccTitle(this.$);break;case 11:case 12:this.$=s[x].trim(),r.setAccDescription(this.$);break;case 13:r.addSection(s[x].substr(8)),this.$=s[x].substr(8);break}},table:[{3:1,4:2,5:u,20:$,21:p,22:g},{1:[3]},{3:7,4:2,5:u,20:$,21:p,22:g},e(A,y,{6:8,7:[1,9]}),e(a,[2,14]),e(a,[2,15]),e(a,[2,16]),{1:[2,1]},e(l,d,{8:10,9:11,1:[2,2],10:m,12:I,14:T,16:_,18:v,19:c}),e(A,y,{6:18}),e(A,[2,5]),{4:19,20:$,21:p,22:g},{11:[1,20]},{13:[1,21]},{15:[1,22]},{17:[1,23]},e(l,[2,12]),e(l,[2,13]),e(l,d,{8:10,9:11,1:[2,3],10:m,12:I,14:T,16:_,18:v,19:c}),e(A,[2,6]),e(l,[2,8]),e(l,[2,9]),e(l,[2,10]),e(l,[2,11])],defaultActions:{7:[2,1]},parseError:function(t,i){if(i.recoverable)this.trace(t);else{var n=new Error(t);throw n.hash=i,n}},parse:function(t){var i=this,n=[0],r=[],o=[null],s=[],P=this.table,x="",f=0,V=0,R=2,M=1,B=s.slice.call(arguments,1),h=Object.create(this.lexer),N={yy:{}};for(var Y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Y)&&(N.yy[Y]=this.yy[Y]);h.setInput(t,N.yy),N.yy.lexer=h,N.yy.parser=this,typeof h.yylloc>"u"&&(h.yylloc={});var K=h.yylloc;s.push(K);var st=h.options&&h.options.ranges;typeof N.yy.parseError=="function"?this.parseError=N.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function rt(){var C;return C=r.pop()||h.lex()||M,typeof C!="number"&&(C instanceof Array&&(r=C,C=r.pop()),C=i.symbols_[C]||C),C}for(var k,L,S,Z,z={},j,D,X,W;;){if(L=n[n.length-1],this.defaultActions[L]?S=this.defaultActions[L]:((k===null||typeof k>"u")&&(k=rt()),S=P[L]&&P[L][k]),typeof S>"u"||!S.length||!S[0]){var q="";W=[];for(j in P[L])this.terminals_[j]&&j>R&&W.push("'"+this.terminals_[j]+"'");h.showPosition?q="Parse error on line "+(f+1)+`: `+h.showPosition()+` Expecting `+W.join(", ")+", got '"+(this.terminals_[k]||k)+"'":q="Parse error on line "+(f+1)+": Unexpected "+(k==M?"end of input":"'"+(this.terminals_[k]||k)+"'"),this.parseError(q,{text:h.match,token:this.terminals_[k]||k,line:h.yylineno,loc:K,expected:W})}if(S[0]instanceof Array&&S.length>1)throw new Error("Parse Error: multiple actions possible at state: "+L+", token: "+k);switch(S[0]){case 1:n.push(k),o.push(h.yytext),s.push(h.yylloc),n.push(S[1]),k=null,V=h.yyleng,x=h.yytext,f=h.yylineno,K=h.yylloc;break;case 2:if(D=this.productions_[S[1]][1],z.$=o[o.length-D],z._$={first_line:s[s.length-(D||1)].first_line,last_line:s[s.length-1].last_line,first_column:s[s.length-(D||1)].first_column,last_column:s[s.length-1].last_column},st&&(z._$.range=[s[s.length-(D||1)].range[0],s[s.length-1].range[1]]),Z=this.performAction.apply(z,[x,V,f,N.yy,S[1],o,s].concat(B)),typeof Z<"u")return Z;D&&(n=n.slice(0,-1*D*2),o=o.slice(0,-1*D),s=s.slice(0,-1*D)),n.push(this.productions_[S[1]][0]),o.push(z.$),s.push(z._$),X=P[n[n.length-2]][n[n.length-1]],n.push(X);break;case 3:return!0}}return!0}},O=function(){var b={EOF:1,parseError:function(i,n){if(this.yy.parser)this.yy.parser.parseError(i,n);else throw new Error(i)},setInput:function(t,i){return this.yy=i||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t;var i=t.match(/(?:\r\n?|\n).*/g);return i?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var i=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-i),this.offset-=i;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var o=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[0].length:this.yylloc.first_column-i},this.options.ranges&&(this.yylloc.range=[o[0],o[0]+this.yyleng-i]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),i=new Array(t.length+1).join("-");return t+this.upcomingInput()+` diff --git a/assets/quadrantDiagram-62f64e94-Dta4qjGu.js b/assets/quadrantDiagram-62f64e94-BhYvtKPo.js similarity index 99% rename from assets/quadrantDiagram-62f64e94-Dta4qjGu.js rename to assets/quadrantDiagram-62f64e94-BhYvtKPo.js index bd8a87e..1fb705f 100644 --- a/assets/quadrantDiagram-62f64e94-Dta4qjGu.js +++ b/assets/quadrantDiagram-62f64e94-BhYvtKPo.js @@ -1,4 +1,4 @@ -import{a$ as vt,c as yt,aM as D,l as ot,s as Lt,g as Ct,x as zt,y as bt,a as Et,b as Dt,A as It,h as gt,i as Bt,d as wt}from"./mermaid.core-DtSoU78u.js";import{l as mt}from"./linear-CPhCWOMV.js";import"./app-B0fd3cYb.js";import"./init-Gi6I4Gst.js";var pt=function(){var e=function(K,n,r,l){for(r=r||{},l=K.length;l--;r[K[l]]=n);return r},s=[1,3],h=[1,4],x=[1,5],f=[1,6],d=[1,7],c=[1,5,13,15,17,19,20,25,27,28,29,30,31,32,33,34,37,38,40,41,42,43,44,45,46,47,48,49,50],g=[1,5,6,13,15,17,19,20,25,27,28,29,30,31,32,33,34,37,38,40,41,42,43,44,45,46,47,48,49,50],i=[32,33,34],y=[2,7],p=[1,13],B=[1,17],N=[1,18],V=[1,19],I=[1,20],b=[1,21],M=[1,22],X=[1,23],C=[1,24],it=[1,25],at=[1,26],nt=[1,27],U=[1,30],Q=[1,31],T=[1,32],m=[1,33],_=[1,34],t=[1,35],A=[1,36],S=[1,37],k=[1,38],F=[1,39],P=[1,40],v=[1,41],L=[1,42],O=[1,57],Y=[1,58],z=[5,22,26,32,33,34,40,41,42,43,44,45,46,47,48,49,50,51],ht={trace:function(){},yy:{},symbols_:{error:2,start:3,eol:4,SPACE:5,QUADRANT:6,document:7,line:8,statement:9,axisDetails:10,quadrantDetails:11,points:12,title:13,title_value:14,acc_title:15,acc_title_value:16,acc_descr:17,acc_descr_value:18,acc_descr_multiline_value:19,section:20,text:21,point_start:22,point_x:23,point_y:24,"X-AXIS":25,"AXIS-TEXT-DELIMITER":26,"Y-AXIS":27,QUADRANT_1:28,QUADRANT_2:29,QUADRANT_3:30,QUADRANT_4:31,NEWLINE:32,SEMI:33,EOF:34,alphaNumToken:35,textNoTagsToken:36,STR:37,MD_STR:38,alphaNum:39,PUNCTUATION:40,AMP:41,NUM:42,ALPHA:43,COMMA:44,PLUS:45,EQUALS:46,MULT:47,DOT:48,BRKT:49,UNDERSCORE:50,MINUS:51,$accept:0,$end:1},terminals_:{2:"error",5:"SPACE",6:"QUADRANT",13:"title",14:"title_value",15:"acc_title",16:"acc_title_value",17:"acc_descr",18:"acc_descr_value",19:"acc_descr_multiline_value",20:"section",22:"point_start",23:"point_x",24:"point_y",25:"X-AXIS",26:"AXIS-TEXT-DELIMITER",27:"Y-AXIS",28:"QUADRANT_1",29:"QUADRANT_2",30:"QUADRANT_3",31:"QUADRANT_4",32:"NEWLINE",33:"SEMI",34:"EOF",37:"STR",38:"MD_STR",40:"PUNCTUATION",41:"AMP",42:"NUM",43:"ALPHA",44:"COMMA",45:"PLUS",46:"EQUALS",47:"MULT",48:"DOT",49:"BRKT",50:"UNDERSCORE",51:"MINUS"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[9,0],[9,2],[9,1],[9,1],[9,1],[9,2],[9,2],[9,2],[9,1],[9,1],[12,4],[10,4],[10,3],[10,2],[10,4],[10,3],[10,2],[11,2],[11,2],[11,2],[11,2],[4,1],[4,1],[4,1],[21,1],[21,2],[21,1],[21,1],[39,1],[39,2],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[36,1],[36,1],[36,1]],performAction:function(n,r,l,o,q,a,et){var u=a.length-1;switch(q){case 12:this.$=a[u].trim(),o.setDiagramTitle(this.$);break;case 13:this.$=a[u].trim(),o.setAccTitle(this.$);break;case 14:case 15:this.$=a[u].trim(),o.setAccDescription(this.$);break;case 16:o.addSection(a[u].substr(8)),this.$=a[u].substr(8);break;case 17:o.addPoint(a[u-3],a[u-1],a[u]);break;case 18:o.setXAxisLeftText(a[u-2]),o.setXAxisRightText(a[u]);break;case 19:a[u-1].text+=" ⟶ ",o.setXAxisLeftText(a[u-1]);break;case 20:o.setXAxisLeftText(a[u]);break;case 21:o.setYAxisBottomText(a[u-2]),o.setYAxisTopText(a[u]);break;case 22:a[u-1].text+=" ⟶ ",o.setYAxisBottomText(a[u-1]);break;case 23:o.setYAxisBottomText(a[u]);break;case 24:o.setQuadrant1Text(a[u]);break;case 25:o.setQuadrant2Text(a[u]);break;case 26:o.setQuadrant3Text(a[u]);break;case 27:o.setQuadrant4Text(a[u]);break;case 31:this.$={text:a[u],type:"text"};break;case 32:this.$={text:a[u-1].text+""+a[u],type:a[u-1].type};break;case 33:this.$={text:a[u],type:"text"};break;case 34:this.$={text:a[u],type:"markdown"};break;case 35:this.$=a[u];break;case 36:this.$=a[u-1]+""+a[u];break}},table:[{3:1,4:2,5:s,6:h,32:x,33:f,34:d},{1:[3]},{3:8,4:2,5:s,6:h,32:x,33:f,34:d},{3:9,4:2,5:s,6:h,32:x,33:f,34:d},e(c,[2,4],{7:10}),e(g,[2,28]),e(g,[2,29]),e(g,[2,30]),{1:[2,1]},{1:[2,2]},e(i,y,{8:11,9:12,10:14,11:15,12:16,21:28,35:29,1:[2,3],5:p,13:B,15:N,17:V,19:I,20:b,25:M,27:X,28:C,29:it,30:at,31:nt,37:U,38:Q,40:T,41:m,42:_,43:t,44:A,45:S,46:k,47:F,48:P,49:v,50:L}),e(c,[2,5]),{4:43,32:x,33:f,34:d},e(i,y,{10:14,11:15,12:16,21:28,35:29,9:44,5:p,13:B,15:N,17:V,19:I,20:b,25:M,27:X,28:C,29:it,30:at,31:nt,37:U,38:Q,40:T,41:m,42:_,43:t,44:A,45:S,46:k,47:F,48:P,49:v,50:L}),e(i,[2,9]),e(i,[2,10]),e(i,[2,11]),{14:[1,45]},{16:[1,46]},{18:[1,47]},e(i,[2,15]),e(i,[2,16]),{21:48,35:29,37:U,38:Q,40:T,41:m,42:_,43:t,44:A,45:S,46:k,47:F,48:P,49:v,50:L},{21:49,35:29,37:U,38:Q,40:T,41:m,42:_,43:t,44:A,45:S,46:k,47:F,48:P,49:v,50:L},{21:50,35:29,37:U,38:Q,40:T,41:m,42:_,43:t,44:A,45:S,46:k,47:F,48:P,49:v,50:L},{21:51,35:29,37:U,38:Q,40:T,41:m,42:_,43:t,44:A,45:S,46:k,47:F,48:P,49:v,50:L},{21:52,35:29,37:U,38:Q,40:T,41:m,42:_,43:t,44:A,45:S,46:k,47:F,48:P,49:v,50:L},{21:53,35:29,37:U,38:Q,40:T,41:m,42:_,43:t,44:A,45:S,46:k,47:F,48:P,49:v,50:L},{5:O,22:[1,54],35:56,36:55,40:T,41:m,42:_,43:t,44:A,45:S,46:k,47:F,48:P,49:v,50:L,51:Y},e(z,[2,31]),e(z,[2,33]),e(z,[2,34]),e(z,[2,37]),e(z,[2,38]),e(z,[2,39]),e(z,[2,40]),e(z,[2,41]),e(z,[2,42]),e(z,[2,43]),e(z,[2,44]),e(z,[2,45]),e(z,[2,46]),e(z,[2,47]),e(c,[2,6]),e(i,[2,8]),e(i,[2,12]),e(i,[2,13]),e(i,[2,14]),e(i,[2,20],{36:55,35:56,5:O,26:[1,59],40:T,41:m,42:_,43:t,44:A,45:S,46:k,47:F,48:P,49:v,50:L,51:Y}),e(i,[2,23],{36:55,35:56,5:O,26:[1,60],40:T,41:m,42:_,43:t,44:A,45:S,46:k,47:F,48:P,49:v,50:L,51:Y}),e(i,[2,24],{36:55,35:56,5:O,40:T,41:m,42:_,43:t,44:A,45:S,46:k,47:F,48:P,49:v,50:L,51:Y}),e(i,[2,25],{36:55,35:56,5:O,40:T,41:m,42:_,43:t,44:A,45:S,46:k,47:F,48:P,49:v,50:L,51:Y}),e(i,[2,26],{36:55,35:56,5:O,40:T,41:m,42:_,43:t,44:A,45:S,46:k,47:F,48:P,49:v,50:L,51:Y}),e(i,[2,27],{36:55,35:56,5:O,40:T,41:m,42:_,43:t,44:A,45:S,46:k,47:F,48:P,49:v,50:L,51:Y}),{23:[1,61]},e(z,[2,32]),e(z,[2,48]),e(z,[2,49]),e(z,[2,50]),e(i,[2,19],{35:29,21:62,37:U,38:Q,40:T,41:m,42:_,43:t,44:A,45:S,46:k,47:F,48:P,49:v,50:L}),e(i,[2,22],{35:29,21:63,37:U,38:Q,40:T,41:m,42:_,43:t,44:A,45:S,46:k,47:F,48:P,49:v,50:L}),{24:[1,64]},e(i,[2,18],{36:55,35:56,5:O,40:T,41:m,42:_,43:t,44:A,45:S,46:k,47:F,48:P,49:v,50:L,51:Y}),e(i,[2,21],{36:55,35:56,5:O,40:T,41:m,42:_,43:t,44:A,45:S,46:k,47:F,48:P,49:v,50:L,51:Y}),e(i,[2,17])],defaultActions:{8:[2,1],9:[2,2]},parseError:function(n,r){if(r.recoverable)this.trace(n);else{var l=new Error(n);throw l.hash=r,l}},parse:function(n){var r=this,l=[0],o=[],q=[null],a=[],et=this.table,u="",st=0,qt=0,St=2,Tt=1,kt=a.slice.call(arguments,1),E=Object.create(this.lexer),Z={yy:{}};for(var dt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,dt)&&(Z.yy[dt]=this.yy[dt]);E.setInput(n,Z.yy),Z.yy.lexer=E,Z.yy.parser=this,typeof E.yylloc>"u"&&(E.yylloc={});var ut=E.yylloc;a.push(ut);var Ft=E.options&&E.options.ranges;typeof Z.yy.parseError=="function"?this.parseError=Z.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Pt(){var j;return j=o.pop()||E.lex()||Tt,typeof j!="number"&&(j instanceof Array&&(o=j,j=o.pop()),j=r.symbols_[j]||j),j}for(var W,J,H,xt,tt={},rt,$,_t,lt;;){if(J=l[l.length-1],this.defaultActions[J]?H=this.defaultActions[J]:((W===null||typeof W>"u")&&(W=Pt()),H=et[J]&&et[J][W]),typeof H>"u"||!H.length||!H[0]){var ft="";lt=[];for(rt in et[J])this.terminals_[rt]&&rt>St&<.push("'"+this.terminals_[rt]+"'");E.showPosition?ft="Parse error on line "+(st+1)+`: +import{a$ as vt,c as yt,aM as D,l as ot,s as Lt,g as Ct,x as zt,y as bt,a as Et,b as Dt,A as It,h as gt,i as Bt,d as wt}from"./mermaid.core-C-ipfzeP.js";import{l as mt}from"./linear-BA-jiqnj.js";import"./app-jADuhdjP.js";import"./init-Gi6I4Gst.js";var pt=function(){var e=function(K,n,r,l){for(r=r||{},l=K.length;l--;r[K[l]]=n);return r},s=[1,3],h=[1,4],x=[1,5],f=[1,6],d=[1,7],c=[1,5,13,15,17,19,20,25,27,28,29,30,31,32,33,34,37,38,40,41,42,43,44,45,46,47,48,49,50],g=[1,5,6,13,15,17,19,20,25,27,28,29,30,31,32,33,34,37,38,40,41,42,43,44,45,46,47,48,49,50],i=[32,33,34],y=[2,7],p=[1,13],B=[1,17],N=[1,18],V=[1,19],I=[1,20],b=[1,21],M=[1,22],X=[1,23],C=[1,24],it=[1,25],at=[1,26],nt=[1,27],U=[1,30],Q=[1,31],T=[1,32],m=[1,33],_=[1,34],t=[1,35],A=[1,36],S=[1,37],k=[1,38],F=[1,39],P=[1,40],v=[1,41],L=[1,42],O=[1,57],Y=[1,58],z=[5,22,26,32,33,34,40,41,42,43,44,45,46,47,48,49,50,51],ht={trace:function(){},yy:{},symbols_:{error:2,start:3,eol:4,SPACE:5,QUADRANT:6,document:7,line:8,statement:9,axisDetails:10,quadrantDetails:11,points:12,title:13,title_value:14,acc_title:15,acc_title_value:16,acc_descr:17,acc_descr_value:18,acc_descr_multiline_value:19,section:20,text:21,point_start:22,point_x:23,point_y:24,"X-AXIS":25,"AXIS-TEXT-DELIMITER":26,"Y-AXIS":27,QUADRANT_1:28,QUADRANT_2:29,QUADRANT_3:30,QUADRANT_4:31,NEWLINE:32,SEMI:33,EOF:34,alphaNumToken:35,textNoTagsToken:36,STR:37,MD_STR:38,alphaNum:39,PUNCTUATION:40,AMP:41,NUM:42,ALPHA:43,COMMA:44,PLUS:45,EQUALS:46,MULT:47,DOT:48,BRKT:49,UNDERSCORE:50,MINUS:51,$accept:0,$end:1},terminals_:{2:"error",5:"SPACE",6:"QUADRANT",13:"title",14:"title_value",15:"acc_title",16:"acc_title_value",17:"acc_descr",18:"acc_descr_value",19:"acc_descr_multiline_value",20:"section",22:"point_start",23:"point_x",24:"point_y",25:"X-AXIS",26:"AXIS-TEXT-DELIMITER",27:"Y-AXIS",28:"QUADRANT_1",29:"QUADRANT_2",30:"QUADRANT_3",31:"QUADRANT_4",32:"NEWLINE",33:"SEMI",34:"EOF",37:"STR",38:"MD_STR",40:"PUNCTUATION",41:"AMP",42:"NUM",43:"ALPHA",44:"COMMA",45:"PLUS",46:"EQUALS",47:"MULT",48:"DOT",49:"BRKT",50:"UNDERSCORE",51:"MINUS"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[9,0],[9,2],[9,1],[9,1],[9,1],[9,2],[9,2],[9,2],[9,1],[9,1],[12,4],[10,4],[10,3],[10,2],[10,4],[10,3],[10,2],[11,2],[11,2],[11,2],[11,2],[4,1],[4,1],[4,1],[21,1],[21,2],[21,1],[21,1],[39,1],[39,2],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[36,1],[36,1],[36,1]],performAction:function(n,r,l,o,q,a,et){var u=a.length-1;switch(q){case 12:this.$=a[u].trim(),o.setDiagramTitle(this.$);break;case 13:this.$=a[u].trim(),o.setAccTitle(this.$);break;case 14:case 15:this.$=a[u].trim(),o.setAccDescription(this.$);break;case 16:o.addSection(a[u].substr(8)),this.$=a[u].substr(8);break;case 17:o.addPoint(a[u-3],a[u-1],a[u]);break;case 18:o.setXAxisLeftText(a[u-2]),o.setXAxisRightText(a[u]);break;case 19:a[u-1].text+=" ⟶ ",o.setXAxisLeftText(a[u-1]);break;case 20:o.setXAxisLeftText(a[u]);break;case 21:o.setYAxisBottomText(a[u-2]),o.setYAxisTopText(a[u]);break;case 22:a[u-1].text+=" ⟶ ",o.setYAxisBottomText(a[u-1]);break;case 23:o.setYAxisBottomText(a[u]);break;case 24:o.setQuadrant1Text(a[u]);break;case 25:o.setQuadrant2Text(a[u]);break;case 26:o.setQuadrant3Text(a[u]);break;case 27:o.setQuadrant4Text(a[u]);break;case 31:this.$={text:a[u],type:"text"};break;case 32:this.$={text:a[u-1].text+""+a[u],type:a[u-1].type};break;case 33:this.$={text:a[u],type:"text"};break;case 34:this.$={text:a[u],type:"markdown"};break;case 35:this.$=a[u];break;case 36:this.$=a[u-1]+""+a[u];break}},table:[{3:1,4:2,5:s,6:h,32:x,33:f,34:d},{1:[3]},{3:8,4:2,5:s,6:h,32:x,33:f,34:d},{3:9,4:2,5:s,6:h,32:x,33:f,34:d},e(c,[2,4],{7:10}),e(g,[2,28]),e(g,[2,29]),e(g,[2,30]),{1:[2,1]},{1:[2,2]},e(i,y,{8:11,9:12,10:14,11:15,12:16,21:28,35:29,1:[2,3],5:p,13:B,15:N,17:V,19:I,20:b,25:M,27:X,28:C,29:it,30:at,31:nt,37:U,38:Q,40:T,41:m,42:_,43:t,44:A,45:S,46:k,47:F,48:P,49:v,50:L}),e(c,[2,5]),{4:43,32:x,33:f,34:d},e(i,y,{10:14,11:15,12:16,21:28,35:29,9:44,5:p,13:B,15:N,17:V,19:I,20:b,25:M,27:X,28:C,29:it,30:at,31:nt,37:U,38:Q,40:T,41:m,42:_,43:t,44:A,45:S,46:k,47:F,48:P,49:v,50:L}),e(i,[2,9]),e(i,[2,10]),e(i,[2,11]),{14:[1,45]},{16:[1,46]},{18:[1,47]},e(i,[2,15]),e(i,[2,16]),{21:48,35:29,37:U,38:Q,40:T,41:m,42:_,43:t,44:A,45:S,46:k,47:F,48:P,49:v,50:L},{21:49,35:29,37:U,38:Q,40:T,41:m,42:_,43:t,44:A,45:S,46:k,47:F,48:P,49:v,50:L},{21:50,35:29,37:U,38:Q,40:T,41:m,42:_,43:t,44:A,45:S,46:k,47:F,48:P,49:v,50:L},{21:51,35:29,37:U,38:Q,40:T,41:m,42:_,43:t,44:A,45:S,46:k,47:F,48:P,49:v,50:L},{21:52,35:29,37:U,38:Q,40:T,41:m,42:_,43:t,44:A,45:S,46:k,47:F,48:P,49:v,50:L},{21:53,35:29,37:U,38:Q,40:T,41:m,42:_,43:t,44:A,45:S,46:k,47:F,48:P,49:v,50:L},{5:O,22:[1,54],35:56,36:55,40:T,41:m,42:_,43:t,44:A,45:S,46:k,47:F,48:P,49:v,50:L,51:Y},e(z,[2,31]),e(z,[2,33]),e(z,[2,34]),e(z,[2,37]),e(z,[2,38]),e(z,[2,39]),e(z,[2,40]),e(z,[2,41]),e(z,[2,42]),e(z,[2,43]),e(z,[2,44]),e(z,[2,45]),e(z,[2,46]),e(z,[2,47]),e(c,[2,6]),e(i,[2,8]),e(i,[2,12]),e(i,[2,13]),e(i,[2,14]),e(i,[2,20],{36:55,35:56,5:O,26:[1,59],40:T,41:m,42:_,43:t,44:A,45:S,46:k,47:F,48:P,49:v,50:L,51:Y}),e(i,[2,23],{36:55,35:56,5:O,26:[1,60],40:T,41:m,42:_,43:t,44:A,45:S,46:k,47:F,48:P,49:v,50:L,51:Y}),e(i,[2,24],{36:55,35:56,5:O,40:T,41:m,42:_,43:t,44:A,45:S,46:k,47:F,48:P,49:v,50:L,51:Y}),e(i,[2,25],{36:55,35:56,5:O,40:T,41:m,42:_,43:t,44:A,45:S,46:k,47:F,48:P,49:v,50:L,51:Y}),e(i,[2,26],{36:55,35:56,5:O,40:T,41:m,42:_,43:t,44:A,45:S,46:k,47:F,48:P,49:v,50:L,51:Y}),e(i,[2,27],{36:55,35:56,5:O,40:T,41:m,42:_,43:t,44:A,45:S,46:k,47:F,48:P,49:v,50:L,51:Y}),{23:[1,61]},e(z,[2,32]),e(z,[2,48]),e(z,[2,49]),e(z,[2,50]),e(i,[2,19],{35:29,21:62,37:U,38:Q,40:T,41:m,42:_,43:t,44:A,45:S,46:k,47:F,48:P,49:v,50:L}),e(i,[2,22],{35:29,21:63,37:U,38:Q,40:T,41:m,42:_,43:t,44:A,45:S,46:k,47:F,48:P,49:v,50:L}),{24:[1,64]},e(i,[2,18],{36:55,35:56,5:O,40:T,41:m,42:_,43:t,44:A,45:S,46:k,47:F,48:P,49:v,50:L,51:Y}),e(i,[2,21],{36:55,35:56,5:O,40:T,41:m,42:_,43:t,44:A,45:S,46:k,47:F,48:P,49:v,50:L,51:Y}),e(i,[2,17])],defaultActions:{8:[2,1],9:[2,2]},parseError:function(n,r){if(r.recoverable)this.trace(n);else{var l=new Error(n);throw l.hash=r,l}},parse:function(n){var r=this,l=[0],o=[],q=[null],a=[],et=this.table,u="",st=0,qt=0,St=2,Tt=1,kt=a.slice.call(arguments,1),E=Object.create(this.lexer),Z={yy:{}};for(var dt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,dt)&&(Z.yy[dt]=this.yy[dt]);E.setInput(n,Z.yy),Z.yy.lexer=E,Z.yy.parser=this,typeof E.yylloc>"u"&&(E.yylloc={});var ut=E.yylloc;a.push(ut);var Ft=E.options&&E.options.ranges;typeof Z.yy.parseError=="function"?this.parseError=Z.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Pt(){var j;return j=o.pop()||E.lex()||Tt,typeof j!="number"&&(j instanceof Array&&(o=j,j=o.pop()),j=r.symbols_[j]||j),j}for(var W,J,H,xt,tt={},rt,$,_t,lt;;){if(J=l[l.length-1],this.defaultActions[J]?H=this.defaultActions[J]:((W===null||typeof W>"u")&&(W=Pt()),H=et[J]&&et[J][W]),typeof H>"u"||!H.length||!H[0]){var ft="";lt=[];for(rt in et[J])this.terminals_[rt]&&rt>St&<.push("'"+this.terminals_[rt]+"'");E.showPosition?ft="Parse error on line "+(st+1)+`: `+E.showPosition()+` Expecting `+lt.join(", ")+", got '"+(this.terminals_[W]||W)+"'":ft="Parse error on line "+(st+1)+": Unexpected "+(W==Tt?"end of input":"'"+(this.terminals_[W]||W)+"'"),this.parseError(ft,{text:E.match,token:this.terminals_[W]||W,line:E.yylineno,loc:ut,expected:lt})}if(H[0]instanceof Array&&H.length>1)throw new Error("Parse Error: multiple actions possible at state: "+J+", token: "+W);switch(H[0]){case 1:l.push(W),q.push(E.yytext),a.push(E.yylloc),l.push(H[1]),W=null,qt=E.yyleng,u=E.yytext,st=E.yylineno,ut=E.yylloc;break;case 2:if($=this.productions_[H[1]][1],tt.$=q[q.length-$],tt._$={first_line:a[a.length-($||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-($||1)].first_column,last_column:a[a.length-1].last_column},Ft&&(tt._$.range=[a[a.length-($||1)].range[0],a[a.length-1].range[1]]),xt=this.performAction.apply(tt,[u,qt,st,Z.yy,H[1],q,a].concat(kt)),typeof xt<"u")return xt;$&&(l=l.slice(0,-1*$*2),q=q.slice(0,-1*$),a=a.slice(0,-1*$)),l.push(this.productions_[H[1]][0]),q.push(tt.$),a.push(tt._$),_t=et[l[l.length-2]][l[l.length-1]],l.push(_t);break;case 3:return!0}}return!0}},At=function(){var K={EOF:1,parseError:function(r,l){if(this.yy.parser)this.yy.parser.parseError(r,l);else throw new Error(r)},setInput:function(n,r){return this.yy=r||this.yy||{},this._input=n,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var n=this._input[0];this.yytext+=n,this.yyleng++,this.offset++,this.match+=n,this.matched+=n;var r=n.match(/(?:\r\n?|\n).*/g);return r?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),n},unput:function(n){var r=n.length,l=n.split(/(?:\r\n?|\n)/g);this._input=n+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-r),this.offset-=r;var o=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),l.length-1&&(this.yylineno-=l.length-1);var q=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:l?(l.length===o.length?this.yylloc.first_column:0)+o[o.length-l.length].length-l[0].length:this.yylloc.first_column-r},this.options.ranges&&(this.yylloc.range=[q[0],q[0]+this.yyleng-r]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(n){this.unput(this.match.slice(n))},pastInput:function(){var n=this.matched.substr(0,this.matched.length-this.match.length);return(n.length>20?"...":"")+n.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var n=this.match;return n.length<20&&(n+=this._input.substr(0,20-n.length)),(n.substr(0,20)+(n.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var n=this.pastInput(),r=new Array(n.length+1).join("-");return n+this.upcomingInput()+` diff --git a/assets/requirementDiagram-05bf5f74-D1l8f3fw.js b/assets/requirementDiagram-05bf5f74-D4RT194D.js similarity index 98% rename from assets/requirementDiagram-05bf5f74-D1l8f3fw.js rename to assets/requirementDiagram-05bf5f74-D4RT194D.js index 9bfd1b5..d545e3e 100644 --- a/assets/requirementDiagram-05bf5f74-D1l8f3fw.js +++ b/assets/requirementDiagram-05bf5f74-D4RT194D.js @@ -1,4 +1,4 @@ -import{c as Te,s as Ce,g as Fe,b as Me,a as De,l as Ne,A as Pe,h as oe,i as Ye,j as ke}from"./mermaid.core-DtSoU78u.js";import{G as Ue}from"./graph-GEpVUbdH.js";import{l as Be}from"./layout-DNn7Y9VF.js";import{l as Qe}from"./line-BM-2XH-S.js";import"./app-B0fd3cYb.js";import"./array-BKyUJesY.js";import"./path-CbwjOpE9.js";var ce=function(){var e=function(V,i,n,a){for(n=n||{},a=V.length;a--;n[V[a]]=i);return n},t=[1,3],l=[1,4],c=[1,5],u=[1,6],d=[5,6,8,9,11,13,31,32,33,34,35,36,44,62,63],p=[1,18],h=[2,7],o=[1,22],g=[1,23],R=[1,24],A=[1,25],T=[1,26],N=[1,27],v=[1,20],k=[1,28],x=[1,29],F=[62,63],de=[5,8,9,11,13,31,32,33,34,35,36,44,51,53,62,63],pe=[1,47],fe=[1,48],ye=[1,49],_e=[1,50],ge=[1,51],Ee=[1,52],Re=[1,53],O=[53,54],M=[1,64],D=[1,60],P=[1,61],Y=[1,62],U=[1,63],B=[1,65],j=[1,69],z=[1,70],X=[1,67],J=[1,68],m=[5,8,9,11,13,31,32,33,34,35,36,44,62,63],ie={trace:function(){},yy:{},symbols_:{error:2,start:3,directive:4,NEWLINE:5,RD:6,diagram:7,EOF:8,acc_title:9,acc_title_value:10,acc_descr:11,acc_descr_value:12,acc_descr_multiline_value:13,requirementDef:14,elementDef:15,relationshipDef:16,requirementType:17,requirementName:18,STRUCT_START:19,requirementBody:20,ID:21,COLONSEP:22,id:23,TEXT:24,text:25,RISK:26,riskLevel:27,VERIFYMTHD:28,verifyType:29,STRUCT_STOP:30,REQUIREMENT:31,FUNCTIONAL_REQUIREMENT:32,INTERFACE_REQUIREMENT:33,PERFORMANCE_REQUIREMENT:34,PHYSICAL_REQUIREMENT:35,DESIGN_CONSTRAINT:36,LOW_RISK:37,MED_RISK:38,HIGH_RISK:39,VERIFY_ANALYSIS:40,VERIFY_DEMONSTRATION:41,VERIFY_INSPECTION:42,VERIFY_TEST:43,ELEMENT:44,elementName:45,elementBody:46,TYPE:47,type:48,DOCREF:49,ref:50,END_ARROW_L:51,relationship:52,LINE:53,END_ARROW_R:54,CONTAINS:55,COPIES:56,DERIVES:57,SATISFIES:58,VERIFIES:59,REFINES:60,TRACES:61,unqString:62,qString:63,$accept:0,$end:1},terminals_:{2:"error",5:"NEWLINE",6:"RD",8:"EOF",9:"acc_title",10:"acc_title_value",11:"acc_descr",12:"acc_descr_value",13:"acc_descr_multiline_value",19:"STRUCT_START",21:"ID",22:"COLONSEP",24:"TEXT",26:"RISK",28:"VERIFYMTHD",30:"STRUCT_STOP",31:"REQUIREMENT",32:"FUNCTIONAL_REQUIREMENT",33:"INTERFACE_REQUIREMENT",34:"PERFORMANCE_REQUIREMENT",35:"PHYSICAL_REQUIREMENT",36:"DESIGN_CONSTRAINT",37:"LOW_RISK",38:"MED_RISK",39:"HIGH_RISK",40:"VERIFY_ANALYSIS",41:"VERIFY_DEMONSTRATION",42:"VERIFY_INSPECTION",43:"VERIFY_TEST",44:"ELEMENT",47:"TYPE",49:"DOCREF",51:"END_ARROW_L",53:"LINE",54:"END_ARROW_R",55:"CONTAINS",56:"COPIES",57:"DERIVES",58:"SATISFIES",59:"VERIFIES",60:"REFINES",61:"TRACES",62:"unqString",63:"qString"},productions_:[0,[3,3],[3,2],[3,4],[4,2],[4,2],[4,1],[7,0],[7,2],[7,2],[7,2],[7,2],[7,2],[14,5],[20,5],[20,5],[20,5],[20,5],[20,2],[20,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[27,1],[27,1],[27,1],[29,1],[29,1],[29,1],[29,1],[15,5],[46,5],[46,5],[46,2],[46,1],[16,5],[16,5],[52,1],[52,1],[52,1],[52,1],[52,1],[52,1],[52,1],[18,1],[18,1],[23,1],[23,1],[25,1],[25,1],[45,1],[45,1],[48,1],[48,1],[50,1],[50,1]],performAction:function(i,n,a,r,f,s,W){var _=s.length-1;switch(f){case 4:this.$=s[_].trim(),r.setAccTitle(this.$);break;case 5:case 6:this.$=s[_].trim(),r.setAccDescription(this.$);break;case 7:this.$=[];break;case 13:r.addRequirement(s[_-3],s[_-4]);break;case 14:r.setNewReqId(s[_-2]);break;case 15:r.setNewReqText(s[_-2]);break;case 16:r.setNewReqRisk(s[_-2]);break;case 17:r.setNewReqVerifyMethod(s[_-2]);break;case 20:this.$=r.RequirementType.REQUIREMENT;break;case 21:this.$=r.RequirementType.FUNCTIONAL_REQUIREMENT;break;case 22:this.$=r.RequirementType.INTERFACE_REQUIREMENT;break;case 23:this.$=r.RequirementType.PERFORMANCE_REQUIREMENT;break;case 24:this.$=r.RequirementType.PHYSICAL_REQUIREMENT;break;case 25:this.$=r.RequirementType.DESIGN_CONSTRAINT;break;case 26:this.$=r.RiskLevel.LOW_RISK;break;case 27:this.$=r.RiskLevel.MED_RISK;break;case 28:this.$=r.RiskLevel.HIGH_RISK;break;case 29:this.$=r.VerifyType.VERIFY_ANALYSIS;break;case 30:this.$=r.VerifyType.VERIFY_DEMONSTRATION;break;case 31:this.$=r.VerifyType.VERIFY_INSPECTION;break;case 32:this.$=r.VerifyType.VERIFY_TEST;break;case 33:r.addElement(s[_-3]);break;case 34:r.setNewElementType(s[_-2]);break;case 35:r.setNewElementDocRef(s[_-2]);break;case 38:r.addRelationship(s[_-2],s[_],s[_-4]);break;case 39:r.addRelationship(s[_-2],s[_-4],s[_]);break;case 40:this.$=r.Relationships.CONTAINS;break;case 41:this.$=r.Relationships.COPIES;break;case 42:this.$=r.Relationships.DERIVES;break;case 43:this.$=r.Relationships.SATISFIES;break;case 44:this.$=r.Relationships.VERIFIES;break;case 45:this.$=r.Relationships.REFINES;break;case 46:this.$=r.Relationships.TRACES;break}},table:[{3:1,4:2,6:t,9:l,11:c,13:u},{1:[3]},{3:8,4:2,5:[1,7],6:t,9:l,11:c,13:u},{5:[1,9]},{10:[1,10]},{12:[1,11]},e(d,[2,6]),{3:12,4:2,6:t,9:l,11:c,13:u},{1:[2,2]},{4:17,5:p,7:13,8:h,9:l,11:c,13:u,14:14,15:15,16:16,17:19,23:21,31:o,32:g,33:R,34:A,35:T,36:N,44:v,62:k,63:x},e(d,[2,4]),e(d,[2,5]),{1:[2,1]},{8:[1,30]},{4:17,5:p,7:31,8:h,9:l,11:c,13:u,14:14,15:15,16:16,17:19,23:21,31:o,32:g,33:R,34:A,35:T,36:N,44:v,62:k,63:x},{4:17,5:p,7:32,8:h,9:l,11:c,13:u,14:14,15:15,16:16,17:19,23:21,31:o,32:g,33:R,34:A,35:T,36:N,44:v,62:k,63:x},{4:17,5:p,7:33,8:h,9:l,11:c,13:u,14:14,15:15,16:16,17:19,23:21,31:o,32:g,33:R,34:A,35:T,36:N,44:v,62:k,63:x},{4:17,5:p,7:34,8:h,9:l,11:c,13:u,14:14,15:15,16:16,17:19,23:21,31:o,32:g,33:R,34:A,35:T,36:N,44:v,62:k,63:x},{4:17,5:p,7:35,8:h,9:l,11:c,13:u,14:14,15:15,16:16,17:19,23:21,31:o,32:g,33:R,34:A,35:T,36:N,44:v,62:k,63:x},{18:36,62:[1,37],63:[1,38]},{45:39,62:[1,40],63:[1,41]},{51:[1,42],53:[1,43]},e(F,[2,20]),e(F,[2,21]),e(F,[2,22]),e(F,[2,23]),e(F,[2,24]),e(F,[2,25]),e(de,[2,49]),e(de,[2,50]),{1:[2,3]},{8:[2,8]},{8:[2,9]},{8:[2,10]},{8:[2,11]},{8:[2,12]},{19:[1,44]},{19:[2,47]},{19:[2,48]},{19:[1,45]},{19:[2,53]},{19:[2,54]},{52:46,55:pe,56:fe,57:ye,58:_e,59:ge,60:Ee,61:Re},{52:54,55:pe,56:fe,57:ye,58:_e,59:ge,60:Ee,61:Re},{5:[1,55]},{5:[1,56]},{53:[1,57]},e(O,[2,40]),e(O,[2,41]),e(O,[2,42]),e(O,[2,43]),e(O,[2,44]),e(O,[2,45]),e(O,[2,46]),{54:[1,58]},{5:M,20:59,21:D,24:P,26:Y,28:U,30:B},{5:j,30:z,46:66,47:X,49:J},{23:71,62:k,63:x},{23:72,62:k,63:x},e(m,[2,13]),{22:[1,73]},{22:[1,74]},{22:[1,75]},{22:[1,76]},{5:M,20:77,21:D,24:P,26:Y,28:U,30:B},e(m,[2,19]),e(m,[2,33]),{22:[1,78]},{22:[1,79]},{5:j,30:z,46:80,47:X,49:J},e(m,[2,37]),e(m,[2,38]),e(m,[2,39]),{23:81,62:k,63:x},{25:82,62:[1,83],63:[1,84]},{27:85,37:[1,86],38:[1,87],39:[1,88]},{29:89,40:[1,90],41:[1,91],42:[1,92],43:[1,93]},e(m,[2,18]),{48:94,62:[1,95],63:[1,96]},{50:97,62:[1,98],63:[1,99]},e(m,[2,36]),{5:[1,100]},{5:[1,101]},{5:[2,51]},{5:[2,52]},{5:[1,102]},{5:[2,26]},{5:[2,27]},{5:[2,28]},{5:[1,103]},{5:[2,29]},{5:[2,30]},{5:[2,31]},{5:[2,32]},{5:[1,104]},{5:[2,55]},{5:[2,56]},{5:[1,105]},{5:[2,57]},{5:[2,58]},{5:M,20:106,21:D,24:P,26:Y,28:U,30:B},{5:M,20:107,21:D,24:P,26:Y,28:U,30:B},{5:M,20:108,21:D,24:P,26:Y,28:U,30:B},{5:M,20:109,21:D,24:P,26:Y,28:U,30:B},{5:j,30:z,46:110,47:X,49:J},{5:j,30:z,46:111,47:X,49:J},e(m,[2,14]),e(m,[2,15]),e(m,[2,16]),e(m,[2,17]),e(m,[2,34]),e(m,[2,35])],defaultActions:{8:[2,2],12:[2,1],30:[2,3],31:[2,8],32:[2,9],33:[2,10],34:[2,11],35:[2,12],37:[2,47],38:[2,48],40:[2,53],41:[2,54],83:[2,51],84:[2,52],86:[2,26],87:[2,27],88:[2,28],90:[2,29],91:[2,30],92:[2,31],93:[2,32],95:[2,55],96:[2,56],98:[2,57],99:[2,58]},parseError:function(i,n){if(n.recoverable)this.trace(i);else{var a=new Error(i);throw a.hash=n,a}},parse:function(i){var n=this,a=[0],r=[],f=[null],s=[],W=this.table,_="",Z=0,me=0,Ve=2,Ie=1,qe=s.slice.call(arguments,1),E=Object.create(this.lexer),L={yy:{}};for(var ne in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ne)&&(L.yy[ne]=this.yy[ne]);E.setInput(i,L.yy),L.yy.lexer=E,L.yy.parser=this,typeof E.yylloc>"u"&&(E.yylloc={});var se=E.yylloc;s.push(se);var Oe=E.options&&E.options.ranges;typeof L.yy.parseError=="function"?this.parseError=L.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Le(){var $;return $=r.pop()||E.lex()||Ie,typeof $!="number"&&($ instanceof Array&&(r=$,$=r.pop()),$=n.symbols_[$]||$),$}for(var I,C,S,ae,Q={},ee,w,be,te;;){if(C=a[a.length-1],this.defaultActions[C]?S=this.defaultActions[C]:((I===null||typeof I>"u")&&(I=Le()),S=W[C]&&W[C][I]),typeof S>"u"||!S.length||!S[0]){var le="";te=[];for(ee in W[C])this.terminals_[ee]&&ee>Ve&&te.push("'"+this.terminals_[ee]+"'");E.showPosition?le="Parse error on line "+(Z+1)+`: +import{c as Te,s as Ce,g as Fe,b as Me,a as De,l as Ne,A as Pe,h as oe,i as Ye,j as ke}from"./mermaid.core-C-ipfzeP.js";import{G as Ue}from"./graph-BqpiDEwF.js";import{l as Be}from"./layout-B2i1mAr6.js";import{l as Qe}from"./line-BVHj5-SV.js";import"./app-jADuhdjP.js";import"./array-BKyUJesY.js";import"./path-CbwjOpE9.js";var ce=function(){var e=function(V,i,n,a){for(n=n||{},a=V.length;a--;n[V[a]]=i);return n},t=[1,3],l=[1,4],c=[1,5],u=[1,6],d=[5,6,8,9,11,13,31,32,33,34,35,36,44,62,63],p=[1,18],h=[2,7],o=[1,22],g=[1,23],R=[1,24],A=[1,25],T=[1,26],N=[1,27],v=[1,20],k=[1,28],x=[1,29],F=[62,63],de=[5,8,9,11,13,31,32,33,34,35,36,44,51,53,62,63],pe=[1,47],fe=[1,48],ye=[1,49],_e=[1,50],ge=[1,51],Ee=[1,52],Re=[1,53],O=[53,54],M=[1,64],D=[1,60],P=[1,61],Y=[1,62],U=[1,63],B=[1,65],j=[1,69],z=[1,70],X=[1,67],J=[1,68],m=[5,8,9,11,13,31,32,33,34,35,36,44,62,63],ie={trace:function(){},yy:{},symbols_:{error:2,start:3,directive:4,NEWLINE:5,RD:6,diagram:7,EOF:8,acc_title:9,acc_title_value:10,acc_descr:11,acc_descr_value:12,acc_descr_multiline_value:13,requirementDef:14,elementDef:15,relationshipDef:16,requirementType:17,requirementName:18,STRUCT_START:19,requirementBody:20,ID:21,COLONSEP:22,id:23,TEXT:24,text:25,RISK:26,riskLevel:27,VERIFYMTHD:28,verifyType:29,STRUCT_STOP:30,REQUIREMENT:31,FUNCTIONAL_REQUIREMENT:32,INTERFACE_REQUIREMENT:33,PERFORMANCE_REQUIREMENT:34,PHYSICAL_REQUIREMENT:35,DESIGN_CONSTRAINT:36,LOW_RISK:37,MED_RISK:38,HIGH_RISK:39,VERIFY_ANALYSIS:40,VERIFY_DEMONSTRATION:41,VERIFY_INSPECTION:42,VERIFY_TEST:43,ELEMENT:44,elementName:45,elementBody:46,TYPE:47,type:48,DOCREF:49,ref:50,END_ARROW_L:51,relationship:52,LINE:53,END_ARROW_R:54,CONTAINS:55,COPIES:56,DERIVES:57,SATISFIES:58,VERIFIES:59,REFINES:60,TRACES:61,unqString:62,qString:63,$accept:0,$end:1},terminals_:{2:"error",5:"NEWLINE",6:"RD",8:"EOF",9:"acc_title",10:"acc_title_value",11:"acc_descr",12:"acc_descr_value",13:"acc_descr_multiline_value",19:"STRUCT_START",21:"ID",22:"COLONSEP",24:"TEXT",26:"RISK",28:"VERIFYMTHD",30:"STRUCT_STOP",31:"REQUIREMENT",32:"FUNCTIONAL_REQUIREMENT",33:"INTERFACE_REQUIREMENT",34:"PERFORMANCE_REQUIREMENT",35:"PHYSICAL_REQUIREMENT",36:"DESIGN_CONSTRAINT",37:"LOW_RISK",38:"MED_RISK",39:"HIGH_RISK",40:"VERIFY_ANALYSIS",41:"VERIFY_DEMONSTRATION",42:"VERIFY_INSPECTION",43:"VERIFY_TEST",44:"ELEMENT",47:"TYPE",49:"DOCREF",51:"END_ARROW_L",53:"LINE",54:"END_ARROW_R",55:"CONTAINS",56:"COPIES",57:"DERIVES",58:"SATISFIES",59:"VERIFIES",60:"REFINES",61:"TRACES",62:"unqString",63:"qString"},productions_:[0,[3,3],[3,2],[3,4],[4,2],[4,2],[4,1],[7,0],[7,2],[7,2],[7,2],[7,2],[7,2],[14,5],[20,5],[20,5],[20,5],[20,5],[20,2],[20,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[27,1],[27,1],[27,1],[29,1],[29,1],[29,1],[29,1],[15,5],[46,5],[46,5],[46,2],[46,1],[16,5],[16,5],[52,1],[52,1],[52,1],[52,1],[52,1],[52,1],[52,1],[18,1],[18,1],[23,1],[23,1],[25,1],[25,1],[45,1],[45,1],[48,1],[48,1],[50,1],[50,1]],performAction:function(i,n,a,r,f,s,W){var _=s.length-1;switch(f){case 4:this.$=s[_].trim(),r.setAccTitle(this.$);break;case 5:case 6:this.$=s[_].trim(),r.setAccDescription(this.$);break;case 7:this.$=[];break;case 13:r.addRequirement(s[_-3],s[_-4]);break;case 14:r.setNewReqId(s[_-2]);break;case 15:r.setNewReqText(s[_-2]);break;case 16:r.setNewReqRisk(s[_-2]);break;case 17:r.setNewReqVerifyMethod(s[_-2]);break;case 20:this.$=r.RequirementType.REQUIREMENT;break;case 21:this.$=r.RequirementType.FUNCTIONAL_REQUIREMENT;break;case 22:this.$=r.RequirementType.INTERFACE_REQUIREMENT;break;case 23:this.$=r.RequirementType.PERFORMANCE_REQUIREMENT;break;case 24:this.$=r.RequirementType.PHYSICAL_REQUIREMENT;break;case 25:this.$=r.RequirementType.DESIGN_CONSTRAINT;break;case 26:this.$=r.RiskLevel.LOW_RISK;break;case 27:this.$=r.RiskLevel.MED_RISK;break;case 28:this.$=r.RiskLevel.HIGH_RISK;break;case 29:this.$=r.VerifyType.VERIFY_ANALYSIS;break;case 30:this.$=r.VerifyType.VERIFY_DEMONSTRATION;break;case 31:this.$=r.VerifyType.VERIFY_INSPECTION;break;case 32:this.$=r.VerifyType.VERIFY_TEST;break;case 33:r.addElement(s[_-3]);break;case 34:r.setNewElementType(s[_-2]);break;case 35:r.setNewElementDocRef(s[_-2]);break;case 38:r.addRelationship(s[_-2],s[_],s[_-4]);break;case 39:r.addRelationship(s[_-2],s[_-4],s[_]);break;case 40:this.$=r.Relationships.CONTAINS;break;case 41:this.$=r.Relationships.COPIES;break;case 42:this.$=r.Relationships.DERIVES;break;case 43:this.$=r.Relationships.SATISFIES;break;case 44:this.$=r.Relationships.VERIFIES;break;case 45:this.$=r.Relationships.REFINES;break;case 46:this.$=r.Relationships.TRACES;break}},table:[{3:1,4:2,6:t,9:l,11:c,13:u},{1:[3]},{3:8,4:2,5:[1,7],6:t,9:l,11:c,13:u},{5:[1,9]},{10:[1,10]},{12:[1,11]},e(d,[2,6]),{3:12,4:2,6:t,9:l,11:c,13:u},{1:[2,2]},{4:17,5:p,7:13,8:h,9:l,11:c,13:u,14:14,15:15,16:16,17:19,23:21,31:o,32:g,33:R,34:A,35:T,36:N,44:v,62:k,63:x},e(d,[2,4]),e(d,[2,5]),{1:[2,1]},{8:[1,30]},{4:17,5:p,7:31,8:h,9:l,11:c,13:u,14:14,15:15,16:16,17:19,23:21,31:o,32:g,33:R,34:A,35:T,36:N,44:v,62:k,63:x},{4:17,5:p,7:32,8:h,9:l,11:c,13:u,14:14,15:15,16:16,17:19,23:21,31:o,32:g,33:R,34:A,35:T,36:N,44:v,62:k,63:x},{4:17,5:p,7:33,8:h,9:l,11:c,13:u,14:14,15:15,16:16,17:19,23:21,31:o,32:g,33:R,34:A,35:T,36:N,44:v,62:k,63:x},{4:17,5:p,7:34,8:h,9:l,11:c,13:u,14:14,15:15,16:16,17:19,23:21,31:o,32:g,33:R,34:A,35:T,36:N,44:v,62:k,63:x},{4:17,5:p,7:35,8:h,9:l,11:c,13:u,14:14,15:15,16:16,17:19,23:21,31:o,32:g,33:R,34:A,35:T,36:N,44:v,62:k,63:x},{18:36,62:[1,37],63:[1,38]},{45:39,62:[1,40],63:[1,41]},{51:[1,42],53:[1,43]},e(F,[2,20]),e(F,[2,21]),e(F,[2,22]),e(F,[2,23]),e(F,[2,24]),e(F,[2,25]),e(de,[2,49]),e(de,[2,50]),{1:[2,3]},{8:[2,8]},{8:[2,9]},{8:[2,10]},{8:[2,11]},{8:[2,12]},{19:[1,44]},{19:[2,47]},{19:[2,48]},{19:[1,45]},{19:[2,53]},{19:[2,54]},{52:46,55:pe,56:fe,57:ye,58:_e,59:ge,60:Ee,61:Re},{52:54,55:pe,56:fe,57:ye,58:_e,59:ge,60:Ee,61:Re},{5:[1,55]},{5:[1,56]},{53:[1,57]},e(O,[2,40]),e(O,[2,41]),e(O,[2,42]),e(O,[2,43]),e(O,[2,44]),e(O,[2,45]),e(O,[2,46]),{54:[1,58]},{5:M,20:59,21:D,24:P,26:Y,28:U,30:B},{5:j,30:z,46:66,47:X,49:J},{23:71,62:k,63:x},{23:72,62:k,63:x},e(m,[2,13]),{22:[1,73]},{22:[1,74]},{22:[1,75]},{22:[1,76]},{5:M,20:77,21:D,24:P,26:Y,28:U,30:B},e(m,[2,19]),e(m,[2,33]),{22:[1,78]},{22:[1,79]},{5:j,30:z,46:80,47:X,49:J},e(m,[2,37]),e(m,[2,38]),e(m,[2,39]),{23:81,62:k,63:x},{25:82,62:[1,83],63:[1,84]},{27:85,37:[1,86],38:[1,87],39:[1,88]},{29:89,40:[1,90],41:[1,91],42:[1,92],43:[1,93]},e(m,[2,18]),{48:94,62:[1,95],63:[1,96]},{50:97,62:[1,98],63:[1,99]},e(m,[2,36]),{5:[1,100]},{5:[1,101]},{5:[2,51]},{5:[2,52]},{5:[1,102]},{5:[2,26]},{5:[2,27]},{5:[2,28]},{5:[1,103]},{5:[2,29]},{5:[2,30]},{5:[2,31]},{5:[2,32]},{5:[1,104]},{5:[2,55]},{5:[2,56]},{5:[1,105]},{5:[2,57]},{5:[2,58]},{5:M,20:106,21:D,24:P,26:Y,28:U,30:B},{5:M,20:107,21:D,24:P,26:Y,28:U,30:B},{5:M,20:108,21:D,24:P,26:Y,28:U,30:B},{5:M,20:109,21:D,24:P,26:Y,28:U,30:B},{5:j,30:z,46:110,47:X,49:J},{5:j,30:z,46:111,47:X,49:J},e(m,[2,14]),e(m,[2,15]),e(m,[2,16]),e(m,[2,17]),e(m,[2,34]),e(m,[2,35])],defaultActions:{8:[2,2],12:[2,1],30:[2,3],31:[2,8],32:[2,9],33:[2,10],34:[2,11],35:[2,12],37:[2,47],38:[2,48],40:[2,53],41:[2,54],83:[2,51],84:[2,52],86:[2,26],87:[2,27],88:[2,28],90:[2,29],91:[2,30],92:[2,31],93:[2,32],95:[2,55],96:[2,56],98:[2,57],99:[2,58]},parseError:function(i,n){if(n.recoverable)this.trace(i);else{var a=new Error(i);throw a.hash=n,a}},parse:function(i){var n=this,a=[0],r=[],f=[null],s=[],W=this.table,_="",Z=0,me=0,Ve=2,Ie=1,qe=s.slice.call(arguments,1),E=Object.create(this.lexer),L={yy:{}};for(var ne in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ne)&&(L.yy[ne]=this.yy[ne]);E.setInput(i,L.yy),L.yy.lexer=E,L.yy.parser=this,typeof E.yylloc>"u"&&(E.yylloc={});var se=E.yylloc;s.push(se);var Oe=E.options&&E.options.ranges;typeof L.yy.parseError=="function"?this.parseError=L.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Le(){var $;return $=r.pop()||E.lex()||Ie,typeof $!="number"&&($ instanceof Array&&(r=$,$=r.pop()),$=n.symbols_[$]||$),$}for(var I,C,S,ae,Q={},ee,w,be,te;;){if(C=a[a.length-1],this.defaultActions[C]?S=this.defaultActions[C]:((I===null||typeof I>"u")&&(I=Le()),S=W[C]&&W[C][I]),typeof S>"u"||!S.length||!S[0]){var le="";te=[];for(ee in W[C])this.terminals_[ee]&&ee>Ve&&te.push("'"+this.terminals_[ee]+"'");E.showPosition?le="Parse error on line "+(Z+1)+`: `+E.showPosition()+` Expecting `+te.join(", ")+", got '"+(this.terminals_[I]||I)+"'":le="Parse error on line "+(Z+1)+": Unexpected "+(I==Ie?"end of input":"'"+(this.terminals_[I]||I)+"'"),this.parseError(le,{text:E.match,token:this.terminals_[I]||I,line:E.yylineno,loc:se,expected:te})}if(S[0]instanceof Array&&S.length>1)throw new Error("Parse Error: multiple actions possible at state: "+C+", token: "+I);switch(S[0]){case 1:a.push(I),f.push(E.yytext),s.push(E.yylloc),a.push(S[1]),I=null,me=E.yyleng,_=E.yytext,Z=E.yylineno,se=E.yylloc;break;case 2:if(w=this.productions_[S[1]][1],Q.$=f[f.length-w],Q._$={first_line:s[s.length-(w||1)].first_line,last_line:s[s.length-1].last_line,first_column:s[s.length-(w||1)].first_column,last_column:s[s.length-1].last_column},Oe&&(Q._$.range=[s[s.length-(w||1)].range[0],s[s.length-1].range[1]]),ae=this.performAction.apply(Q,[_,me,Z,L.yy,S[1],f,s].concat(qe)),typeof ae<"u")return ae;w&&(a=a.slice(0,-1*w*2),f=f.slice(0,-1*w),s=s.slice(0,-1*w)),a.push(this.productions_[S[1]][0]),f.push(Q.$),s.push(Q._$),be=W[a[a.length-2]][a[a.length-1]],a.push(be);break;case 3:return!0}}return!0}},$e=function(){var V={EOF:1,parseError:function(n,a){if(this.yy.parser)this.yy.parser.parseError(n,a);else throw new Error(n)},setInput:function(i,n){return this.yy=n||this.yy||{},this._input=i,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var i=this._input[0];this.yytext+=i,this.yyleng++,this.offset++,this.match+=i,this.matched+=i;var n=i.match(/(?:\r\n?|\n).*/g);return n?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),i},unput:function(i){var n=i.length,a=i.split(/(?:\r\n?|\n)/g);this._input=i+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-n),this.offset-=n;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),a.length-1&&(this.yylineno-=a.length-1);var f=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:a?(a.length===r.length?this.yylloc.first_column:0)+r[r.length-a.length].length-a[0].length:this.yylloc.first_column-n},this.options.ranges&&(this.yylloc.range=[f[0],f[0]+this.yyleng-n]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(i){this.unput(this.match.slice(i))},pastInput:function(){var i=this.matched.substr(0,this.matched.length-this.match.length);return(i.length>20?"...":"")+i.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var i=this.match;return i.length<20&&(i+=this._input.substr(0,20-i.length)),(i.substr(0,20)+(i.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var i=this.pastInput(),n=new Array(i.length+1).join("-");return i+this.upcomingInput()+` diff --git a/assets/result-backend.html-ipc74sbw.js b/assets/result-backend.html-Bwx4m9cb.js similarity index 97% rename from assets/result-backend.html-ipc74sbw.js rename to assets/result-backend.html-Bwx4m9cb.js index ec0a57b..576d2aa 100644 --- a/assets/result-backend.html-ipc74sbw.js +++ b/assets/result-backend.html-Bwx4m9cb.js @@ -1,4 +1,4 @@ -import{_ as n}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as s,c as a,a as t}from"./app-B0fd3cYb.js";const e={},o=t(`

Result backend

Result backends are used to store information about task execution. To create new result_backend you have to implement taskiq.abc.result_backend.AsyncResultBackend class.

Here's a minimal example of a result backend:

from typing import TypeVar
+import{_ as n}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as s,c as a,a as t}from"./app-jADuhdjP.js";const e={},o=t(`

Result backend

Result backends are used to store information about task execution. To create new result_backend you have to implement taskiq.abc.result_backend.AsyncResultBackend class.

Here's a minimal example of a result backend:

from typing import TypeVar
 
 from taskiq import TaskiqResult
 from taskiq.abc.result_backend import AsyncResultBackend
@@ -60,4 +60,4 @@ _ReturnType = TypeVarreturn ...  # type: ignore
-

Cool tip!

It's a good practice to skip fetching logs from the storage unless with_logs=True is explicitly specified.

Important note!

with_logs param is now deprecated. It will be removed in future releases.

`,6),p=[o];function i(c,l){return s(),a("div",null,p)}const k=n(e,[["render",i],["__file","result-backend.html.vue"]]),d=JSON.parse(`{"path":"/extending-taskiq/result-backend.html","title":"Result backend","lang":"en-US","frontmatter":{"order":3,"description":"Result backend Result backends are used to store information about task execution. To create new result_backend you have to implement taskiq.abc.result_backend.AsyncResultBacken...","head":[["meta",{"property":"og:url","content":"https://taskiq-python.github.io/extending-taskiq/result-backend.html"}],["meta",{"property":"og:site_name","content":"Taskiq"}],["meta",{"property":"og:title","content":"Result backend"}],["meta",{"property":"og:description","content":"Result backend Result backends are used to store information about task execution. To create new result_backend you have to implement taskiq.abc.result_backend.AsyncResultBacken..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-04-20T00:01:02.000Z"}],["meta",{"property":"article:modified_time","content":"2024-04-20T00:01:02.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Result backend\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-04-20T00:01:02.000Z\\",\\"author\\":[]}"]]},"headers":[],"git":{"createdTime":1713571262000,"updatedTime":1713571262000,"contributors":[{"name":"Pavel Kirilin","email":"win10@list.ru","commits":1}]},"filePathRelative":"extending-taskiq/result-backend.md","localizedDate":"April 20, 2024","autoDesc":true,"excerpt":"\\n

Result backends are used to store information about task execution.\\nTo create new result_backend you have to implement taskiq.abc.result_backend.AsyncResultBackend class.

\\n

Here's a minimal example of a result backend:

\\n
from typing import TypeVar\\n\\nfrom taskiq import TaskiqResult\\nfrom taskiq.abc.result_backend import AsyncResultBackend\\n\\n_ReturnType = TypeVar(\\"_ReturnType\\")\\n\\n\\nclass MyResultBackend(AsyncResultBackend[_ReturnType]):\\n    async def startup(self) -> None:\\n        \\"\\"\\"Do something when starting broker.\\"\\"\\"\\n\\n    async def shutdown(self) -> None:\\n        \\"\\"\\"Do something on shutdown.\\"\\"\\"\\n\\n    async def set_result(\\n        self,\\n        task_id: str,\\n        result: TaskiqResult[_ReturnType],\\n    ) -> None:\\n        \\"\\"\\"\\n        Set result in your backend.\\n\\n        :param task_id: current task id.\\n        :param result: result of execution.\\n        \\"\\"\\"\\n\\n    async def get_result(\\n        self,\\n        task_id: str,\\n        with_logs: bool = False,\\n    ) -> TaskiqResult[_ReturnType]:\\n        \\"\\"\\"\\n        Here you must retrieve result by id.\\n\\n        Logs is a part of a result.\\n        Here we have a parameter whether you want to\\n        fetch result with logs or not, because logs\\n        can have a lot of info and sometimes it's critical\\n        to get only needed information.\\n\\n        :param task_id: id of a task.\\n        :param with_logs: whether to fetch logs.\\n        :return: result.\\n        \\"\\"\\"\\n        return ...  # type: ignore\\n\\n    async def is_result_ready(\\n        self,\\n        task_id: str,\\n    ) -> bool:\\n        \\"\\"\\"\\n        Check if result exists.\\n\\n        This function must check whether result\\n        is available in your result backend\\n        without fetching the result.\\n\\n        :param task_id: id of a task.\\n        :return: True if result is ready.\\n        \\"\\"\\"\\n        return ...  # type: ignore\\n
"}`);export{k as comp,d as data}; +

Cool tip!

It's a good practice to skip fetching logs from the storage unless with_logs=True is explicitly specified.

Important note!

with_logs param is now deprecated. It will be removed in future releases.

`,6),p=[o];function i(c,l){return s(),a("div",null,p)}const k=n(e,[["render",i],["__file","result-backend.html.vue"]]),d=JSON.parse(`{"path":"/extending-taskiq/result-backend.html","title":"Result backend","lang":"en-US","frontmatter":{"order":3,"description":"Result backend Result backends are used to store information about task execution. To create new result_backend you have to implement taskiq.abc.result_backend.AsyncResultBacken...","head":[["meta",{"property":"og:url","content":"https://taskiq-python.github.io/extending-taskiq/result-backend.html"}],["meta",{"property":"og:site_name","content":"Taskiq"}],["meta",{"property":"og:title","content":"Result backend"}],["meta",{"property":"og:description","content":"Result backend Result backends are used to store information about task execution. To create new result_backend you have to implement taskiq.abc.result_backend.AsyncResultBacken..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-04-26T20:07:59.000Z"}],["meta",{"property":"article:modified_time","content":"2024-04-26T20:07:59.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Result backend\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-04-26T20:07:59.000Z\\",\\"author\\":[]}"]]},"headers":[],"git":{"createdTime":1714162079000,"updatedTime":1714162079000,"contributors":[{"name":"Pavel Kirilin","email":"win10@list.ru","commits":1}]},"filePathRelative":"extending-taskiq/result-backend.md","localizedDate":"April 26, 2024","autoDesc":true,"excerpt":"\\n

Result backends are used to store information about task execution.\\nTo create new result_backend you have to implement taskiq.abc.result_backend.AsyncResultBackend class.

\\n

Here's a minimal example of a result backend:

\\n
from typing import TypeVar\\n\\nfrom taskiq import TaskiqResult\\nfrom taskiq.abc.result_backend import AsyncResultBackend\\n\\n_ReturnType = TypeVar(\\"_ReturnType\\")\\n\\n\\nclass MyResultBackend(AsyncResultBackend[_ReturnType]):\\n    async def startup(self) -> None:\\n        \\"\\"\\"Do something when starting broker.\\"\\"\\"\\n\\n    async def shutdown(self) -> None:\\n        \\"\\"\\"Do something on shutdown.\\"\\"\\"\\n\\n    async def set_result(\\n        self,\\n        task_id: str,\\n        result: TaskiqResult[_ReturnType],\\n    ) -> None:\\n        \\"\\"\\"\\n        Set result in your backend.\\n\\n        :param task_id: current task id.\\n        :param result: result of execution.\\n        \\"\\"\\"\\n\\n    async def get_result(\\n        self,\\n        task_id: str,\\n        with_logs: bool = False,\\n    ) -> TaskiqResult[_ReturnType]:\\n        \\"\\"\\"\\n        Here you must retrieve result by id.\\n\\n        Logs is a part of a result.\\n        Here we have a parameter whether you want to\\n        fetch result with logs or not, because logs\\n        can have a lot of info and sometimes it's critical\\n        to get only needed information.\\n\\n        :param task_id: id of a task.\\n        :param with_logs: whether to fetch logs.\\n        :return: result.\\n        \\"\\"\\"\\n        return ...  # type: ignore\\n\\n    async def is_result_ready(\\n        self,\\n        task_id: str,\\n    ) -> bool:\\n        \\"\\"\\"\\n        Check if result exists.\\n\\n        This function must check whether result\\n        is available in your result backend\\n        without fetching the result.\\n\\n        :param task_id: id of a task.\\n        :return: True if result is ready.\\n        \\"\\"\\"\\n        return ...  # type: ignore\\n
"}`);export{k as comp,d as data}; diff --git a/assets/result-backends.html-T6NaD9vv.js b/assets/result-backends.html-BYKfba-F.js similarity index 87% rename from assets/result-backends.html-T6NaD9vv.js rename to assets/result-backends.html-BYKfba-F.js index 2732bcf..2bb7e5c 100644 --- a/assets/result-backends.html-T6NaD9vv.js +++ b/assets/result-backends.html-BYKfba-F.js @@ -1,2 +1,2 @@ -import{_ as r}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as l,o as i,c as o,b as t,d as e,e as s,a as n}from"./app-B0fd3cYb.js";const c={},d=n('

Available result backends

Result backends are used to store execution results. This includes:

  • return value;
  • Execution time in seconds.

DummyResultBackend

This result backend doesn't do anything. It doesn't store results and cannot be used in cases, where you need actual results.

This broker will always return None for any return_value. Please be careful.

Redis result backend

',7),u={href:"https://pypi.org/project/taskiq-redis/",target:"_blank",rel:"noopener noreferrer"},p=n(`
pip install taskiq-redis
-
`,1),m={href:"https://github.com/taskiq-python/taskiq-redis",target:"_blank",rel:"noopener noreferrer"};function h(b,k){const a=l("ExternalLinkIcon");return i(),o("div",null,[d,t("p",null,[e("This result backend is not part of the core taskiq library. You can install it as a separate package "),t("a",u,[e("taskiq-redis"),s(a)]),e(".")]),p,t("p",null,[e("You can read more about parameters and abilities of this broker in "),t("a",m,[e("README.md"),s(a)]),e(".")])])}const _=r(c,[["render",h],["__file","result-backends.html.vue"]]),g=JSON.parse(`{"path":"/available-components/result-backends.html","title":"Available result backends","lang":"en-US","frontmatter":{"order":3,"description":"Available result backends Result backends are used to store execution results. This includes: return value; Execution time in seconds. DummyResultBackend This result backend doe...","head":[["meta",{"property":"og:url","content":"https://taskiq-python.github.io/available-components/result-backends.html"}],["meta",{"property":"og:site_name","content":"Taskiq"}],["meta",{"property":"og:title","content":"Available result backends"}],["meta",{"property":"og:description","content":"Available result backends Result backends are used to store execution results. This includes: return value; Execution time in seconds. DummyResultBackend This result backend doe..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-04-20T00:01:02.000Z"}],["meta",{"property":"article:modified_time","content":"2024-04-20T00:01:02.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Available result backends\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-04-20T00:01:02.000Z\\",\\"author\\":[]}"]]},"headers":[{"level":2,"title":"DummyResultBackend","slug":"dummyresultbackend","link":"#dummyresultbackend","children":[]},{"level":2,"title":"Redis result backend","slug":"redis-result-backend","link":"#redis-result-backend","children":[]}],"git":{"createdTime":1713571262000,"updatedTime":1713571262000,"contributors":[{"name":"Pavel Kirilin","email":"win10@list.ru","commits":1}]},"filePathRelative":"available-components/result-backends.md","localizedDate":"April 20, 2024","autoDesc":true,"excerpt":"\\n

Result backends are used to store execution results.\\nThis includes:

\\n
    \\n
  • return value;
  • \\n
  • Execution time in seconds.
  • \\n
\\n

DummyResultBackend

\\n

This result backend doesn't do anything. It doesn't store results and cannot be used in cases,\\nwhere you need actual results.

"}`);export{_ as comp,g as data}; +import{_ as r}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as l,o as i,c as o,b as t,d as e,e as s,a as n}from"./app-jADuhdjP.js";const c={},d=n('

Available result backends

Result backends are used to store execution results. This includes:

  • return value;
  • Execution time in seconds.

DummyResultBackend

This result backend doesn't do anything. It doesn't store results and cannot be used in cases, where you need actual results.

This broker will always return None for any return_value. Please be careful.

Redis result backend

',7),u={href:"https://pypi.org/project/taskiq-redis/",target:"_blank",rel:"noopener noreferrer"},p=n(`
pip install taskiq-redis
+
`,1),m={href:"https://github.com/taskiq-python/taskiq-redis",target:"_blank",rel:"noopener noreferrer"};function h(b,k){const a=l("ExternalLinkIcon");return i(),o("div",null,[d,t("p",null,[e("This result backend is not part of the core taskiq library. You can install it as a separate package "),t("a",u,[e("taskiq-redis"),s(a)]),e(".")]),p,t("p",null,[e("You can read more about parameters and abilities of this broker in "),t("a",m,[e("README.md"),s(a)]),e(".")])])}const _=r(c,[["render",h],["__file","result-backends.html.vue"]]),g=JSON.parse(`{"path":"/available-components/result-backends.html","title":"Available result backends","lang":"en-US","frontmatter":{"order":3,"description":"Available result backends Result backends are used to store execution results. This includes: return value; Execution time in seconds. DummyResultBackend This result backend doe...","head":[["meta",{"property":"og:url","content":"https://taskiq-python.github.io/available-components/result-backends.html"}],["meta",{"property":"og:site_name","content":"Taskiq"}],["meta",{"property":"og:title","content":"Available result backends"}],["meta",{"property":"og:description","content":"Available result backends Result backends are used to store execution results. This includes: return value; Execution time in seconds. DummyResultBackend This result backend doe..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-04-26T20:07:59.000Z"}],["meta",{"property":"article:modified_time","content":"2024-04-26T20:07:59.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Available result backends\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-04-26T20:07:59.000Z\\",\\"author\\":[]}"]]},"headers":[{"level":2,"title":"DummyResultBackend","slug":"dummyresultbackend","link":"#dummyresultbackend","children":[]},{"level":2,"title":"Redis result backend","slug":"redis-result-backend","link":"#redis-result-backend","children":[]}],"git":{"createdTime":1714162079000,"updatedTime":1714162079000,"contributors":[{"name":"Pavel Kirilin","email":"win10@list.ru","commits":1}]},"filePathRelative":"available-components/result-backends.md","localizedDate":"April 26, 2024","autoDesc":true,"excerpt":"\\n

Result backends are used to store execution results.\\nThis includes:

\\n
    \\n
  • return value;
  • \\n
  • Execution time in seconds.
  • \\n
\\n

DummyResultBackend

\\n

This result backend doesn't do anything. It doesn't store results and cannot be used in cases,\\nwhere you need actual results.

"}`);export{_ as comp,g as data}; diff --git a/assets/sankeyDiagram-97764748-D-VPB9Pm.js b/assets/sankeyDiagram-97764748-DI8dDJR4.js similarity index 99% rename from assets/sankeyDiagram-97764748-D-VPB9Pm.js rename to assets/sankeyDiagram-97764748-DI8dDJR4.js index c1d70fc..f29a746 100644 --- a/assets/sankeyDiagram-97764748-D-VPB9Pm.js +++ b/assets/sankeyDiagram-97764748-DI8dDJR4.js @@ -1,4 +1,4 @@ -import{c as rt,g as mt,s as kt,a as _t,b as xt,y as vt,x as bt,A as wt,j as St,v as Lt,h as G,u as Et}from"./mermaid.core-DtSoU78u.js";import{o as At}from"./ordinal-Cboi1Yqb.js";import{s as Tt}from"./Tableau10-B-NsZVaP.js";import"./app-B0fd3cYb.js";import"./init-Gi6I4Gst.js";function ot(t,n){let s;if(n===void 0)for(const a of t)a!=null&&(s=a)&&(s=a);else{let a=-1;for(let u of t)(u=n(u,++a,t))!=null&&(s=u)&&(s=u)}return s}function yt(t,n){let s;if(n===void 0)for(const a of t)a!=null&&(s>a||s===void 0&&a>=a)&&(s=a);else{let a=-1;for(let u of t)(u=n(u,++a,t))!=null&&(s>u||s===void 0&&u>=u)&&(s=u)}return s}function Z(t,n){let s=0;if(n===void 0)for(let a of t)(a=+a)&&(s+=a);else{let a=-1;for(let u of t)(u=+n(u,++a,t))&&(s+=u)}return s}function Mt(t){return t.target.depth}function Nt(t){return t.depth}function Pt(t,n){return n-1-t.height}function dt(t,n){return t.sourceLinks.length?t.depth:n-1}function Ct(t){return t.targetLinks.length?t.depth:t.sourceLinks.length?yt(t.sourceLinks,Mt)-1:0}function Y(t){return function(){return t}}function lt(t,n){return H(t.source,n.source)||t.index-n.index}function at(t,n){return H(t.target,n.target)||t.index-n.index}function H(t,n){return t.y0-n.y0}function J(t){return t.value}function It(t){return t.index}function $t(t){return t.nodes}function Ot(t){return t.links}function ct(t,n){const s=t.get(n);if(!s)throw new Error("missing: "+n);return s}function ut({nodes:t}){for(const n of t){let s=n.y0,a=s;for(const u of n.sourceLinks)u.y0=s+u.width/2,s+=u.width;for(const u of n.targetLinks)u.y1=a+u.width/2,a+=u.width}}function jt(){let t=0,n=0,s=1,a=1,u=24,_=8,g,p=It,i=dt,o,c,m=$t,b=Ot,y=6;function x(){const e={nodes:m.apply(null,arguments),links:b.apply(null,arguments)};return E(e),L(e),A(e),N(e),S(e),ut(e),e}x.update=function(e){return ut(e),e},x.nodeId=function(e){return arguments.length?(p=typeof e=="function"?e:Y(e),x):p},x.nodeAlign=function(e){return arguments.length?(i=typeof e=="function"?e:Y(e),x):i},x.nodeSort=function(e){return arguments.length?(o=e,x):o},x.nodeWidth=function(e){return arguments.length?(u=+e,x):u},x.nodePadding=function(e){return arguments.length?(_=g=+e,x):_},x.nodes=function(e){return arguments.length?(m=typeof e=="function"?e:Y(e),x):m},x.links=function(e){return arguments.length?(b=typeof e=="function"?e:Y(e),x):b},x.linkSort=function(e){return arguments.length?(c=e,x):c},x.size=function(e){return arguments.length?(t=n=0,s=+e[0],a=+e[1],x):[s-t,a-n]},x.extent=function(e){return arguments.length?(t=+e[0][0],s=+e[1][0],n=+e[0][1],a=+e[1][1],x):[[t,n],[s,a]]},x.iterations=function(e){return arguments.length?(y=+e,x):y};function E({nodes:e,links:f}){for(const[h,r]of e.entries())r.index=h,r.sourceLinks=[],r.targetLinks=[];const l=new Map(e.map((h,r)=>[p(h,r,e),h]));for(const[h,r]of f.entries()){r.index=h;let{source:k,target:v}=r;typeof k!="object"&&(k=r.source=ct(l,k)),typeof v!="object"&&(v=r.target=ct(l,v)),k.sourceLinks.push(r),v.targetLinks.push(r)}if(c!=null)for(const{sourceLinks:h,targetLinks:r}of e)h.sort(c),r.sort(c)}function L({nodes:e}){for(const f of e)f.value=f.fixedValue===void 0?Math.max(Z(f.sourceLinks,J),Z(f.targetLinks,J)):f.fixedValue}function A({nodes:e}){const f=e.length;let l=new Set(e),h=new Set,r=0;for(;l.size;){for(const k of l){k.depth=r;for(const{target:v}of k.sourceLinks)h.add(v)}if(++r>f)throw new Error("circular link");l=h,h=new Set}}function N({nodes:e}){const f=e.length;let l=new Set(e),h=new Set,r=0;for(;l.size;){for(const k of l){k.height=r;for(const{source:v}of k.targetLinks)h.add(v)}if(++r>f)throw new Error("circular link");l=h,h=new Set}}function I({nodes:e}){const f=ot(e,r=>r.depth)+1,l=(s-t-u)/(f-1),h=new Array(f);for(const r of e){const k=Math.max(0,Math.min(f-1,Math.floor(i.call(null,r,f))));r.layer=k,r.x0=t+k*l,r.x1=r.x0+u,h[k]?h[k].push(r):h[k]=[r]}if(o)for(const r of h)r.sort(o);return h}function j(e){const f=yt(e,l=>(a-n-(l.length-1)*g)/Z(l,J));for(const l of e){let h=n;for(const r of l){r.y0=h,r.y1=h+r.value*f,h=r.y1+g;for(const k of r.sourceLinks)k.width=k.value*f}h=(a-h+g)/(l.length+1);for(let r=0;rl.length)-1)),j(f);for(let l=0;l0))continue;let U=(R/z-v.y0)*f;v.y0+=U,v.y1+=U,w(v)}o===void 0&&k.sort(H),P(k,l)}}function O(e,f,l){for(let h=e.length,r=h-2;r>=0;--r){const k=e[r];for(const v of k){let R=0,z=0;for(const{target:W,value:K}of v.sourceLinks){let F=K*(W.layer-v.layer);R+=V(v,W)*F,z+=F}if(!(z>0))continue;let U=(R/z-v.y0)*f;v.y0+=U,v.y1+=U,w(v)}o===void 0&&k.sort(H),P(k,l)}}function P(e,f){const l=e.length>>1,h=e[l];d(e,h.y0-g,l-1,f),C(e,h.y1+g,l+1,f),d(e,a,e.length-1,f),C(e,n,0,f)}function C(e,f,l,h){for(;l1e-6&&(r.y0+=k,r.y1+=k),f=r.y1+g}}function d(e,f,l,h){for(;l>=0;--l){const r=e[l],k=(r.y1-f)*h;k>1e-6&&(r.y0-=k,r.y1-=k),f=r.y0-g}}function w({sourceLinks:e,targetLinks:f}){if(c===void 0){for(const{source:{sourceLinks:l}}of f)l.sort(at);for(const{target:{targetLinks:l}}of e)l.sort(lt)}}function $(e){if(c===void 0)for(const{sourceLinks:f,targetLinks:l}of e)f.sort(at),l.sort(lt)}function T(e,f){let l=e.y0-(e.sourceLinks.length-1)*g/2;for(const{target:h,width:r}of e.sourceLinks){if(h===f)break;l+=r+g}for(const{source:h,width:r}of f.targetLinks){if(h===e)break;l-=r}return l}function V(e,f){let l=f.y0-(f.targetLinks.length-1)*g/2;for(const{source:h,width:r}of f.targetLinks){if(h===e)break;l+=r+g}for(const{target:h,width:r}of e.sourceLinks){if(h===f)break;l-=r}return l}return x}var tt=Math.PI,et=2*tt,D=1e-6,zt=et-D;function nt(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function gt(){return new nt}nt.prototype=gt.prototype={constructor:nt,moveTo:function(t,n){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+n)},closePath:function(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(t,n){this._+="L"+(this._x1=+t)+","+(this._y1=+n)},quadraticCurveTo:function(t,n,s,a){this._+="Q"+ +t+","+ +n+","+(this._x1=+s)+","+(this._y1=+a)},bezierCurveTo:function(t,n,s,a,u,_){this._+="C"+ +t+","+ +n+","+ +s+","+ +a+","+(this._x1=+u)+","+(this._y1=+_)},arcTo:function(t,n,s,a,u){t=+t,n=+n,s=+s,a=+a,u=+u;var _=this._x1,g=this._y1,p=s-t,i=a-n,o=_-t,c=g-n,m=o*o+c*c;if(u<0)throw new Error("negative radius: "+u);if(this._x1===null)this._+="M"+(this._x1=t)+","+(this._y1=n);else if(m>D)if(!(Math.abs(c*p-i*o)>D)||!u)this._+="L"+(this._x1=t)+","+(this._y1=n);else{var b=s-_,y=a-g,x=p*p+i*i,E=b*b+y*y,L=Math.sqrt(x),A=Math.sqrt(m),N=u*Math.tan((tt-Math.acos((x+m-E)/(2*L*A)))/2),I=N/A,j=N/L;Math.abs(I-1)>D&&(this._+="L"+(t+I*o)+","+(n+I*c)),this._+="A"+u+","+u+",0,0,"+ +(c*b>o*y)+","+(this._x1=t+j*p)+","+(this._y1=n+j*i)}},arc:function(t,n,s,a,u,_){t=+t,n=+n,s=+s,_=!!_;var g=s*Math.cos(a),p=s*Math.sin(a),i=t+g,o=n+p,c=1^_,m=_?a-u:u-a;if(s<0)throw new Error("negative radius: "+s);this._x1===null?this._+="M"+i+","+o:(Math.abs(this._x1-i)>D||Math.abs(this._y1-o)>D)&&(this._+="L"+i+","+o),s&&(m<0&&(m=m%et+et),m>zt?this._+="A"+s+","+s+",0,1,"+c+","+(t-g)+","+(n-p)+"A"+s+","+s+",0,1,"+c+","+(this._x1=i)+","+(this._y1=o):m>D&&(this._+="A"+s+","+s+",0,"+ +(m>=tt)+","+c+","+(this._x1=t+s*Math.cos(u))+","+(this._y1=n+s*Math.sin(u))))},rect:function(t,n,s,a){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+n)+"h"+ +s+"v"+ +a+"h"+-s+"Z"},toString:function(){return this._}};function ht(t){return function(){return t}}function Dt(t){return t[0]}function Bt(t){return t[1]}var Vt=Array.prototype.slice;function Rt(t){return t.source}function Ut(t){return t.target}function Wt(t){var n=Rt,s=Ut,a=Dt,u=Bt,_=null;function g(){var p,i=Vt.call(arguments),o=n.apply(this,i),c=s.apply(this,i);if(_||(_=p=gt()),t(_,+a.apply(this,(i[0]=o,i)),+u.apply(this,i),+a.apply(this,(i[0]=c,i)),+u.apply(this,i)),p)return _=null,p+""||null}return g.source=function(p){return arguments.length?(n=p,g):n},g.target=function(p){return arguments.length?(s=p,g):s},g.x=function(p){return arguments.length?(a=typeof p=="function"?p:ht(+p),g):a},g.y=function(p){return arguments.length?(u=typeof p=="function"?p:ht(+p),g):u},g.context=function(p){return arguments.length?(_=p??null,g):_},g}function Ft(t,n,s,a,u){t.moveTo(n,s),t.bezierCurveTo(n=(n+a)/2,s,n,u,a,u)}function Gt(){return Wt(Ft)}function Yt(t){return[t.source.x1,t.y0]}function Ht(t){return[t.target.x0,t.y1]}function Xt(){return Gt().source(Yt).target(Ht)}var it=function(){var t=function(p,i,o,c){for(o=o||{},c=p.length;c--;o[p[c]]=i);return o},n=[1,9],s=[1,10],a=[1,5,10,12],u={trace:function(){},yy:{},symbols_:{error:2,start:3,SANKEY:4,NEWLINE:5,csv:6,opt_eof:7,record:8,csv_tail:9,EOF:10,"field[source]":11,COMMA:12,"field[target]":13,"field[value]":14,field:15,escaped:16,non_escaped:17,DQUOTE:18,ESCAPED_TEXT:19,NON_ESCAPED_TEXT:20,$accept:0,$end:1},terminals_:{2:"error",4:"SANKEY",5:"NEWLINE",10:"EOF",11:"field[source]",12:"COMMA",13:"field[target]",14:"field[value]",18:"DQUOTE",19:"ESCAPED_TEXT",20:"NON_ESCAPED_TEXT"},productions_:[0,[3,4],[6,2],[9,2],[9,0],[7,1],[7,0],[8,5],[15,1],[15,1],[16,3],[17,1]],performAction:function(i,o,c,m,b,y,x){var E=y.length-1;switch(b){case 7:const L=m.findOrCreateNode(y[E-4].trim().replaceAll('""','"')),A=m.findOrCreateNode(y[E-2].trim().replaceAll('""','"')),N=parseFloat(y[E].trim());m.addLink(L,A,N);break;case 8:case 9:case 11:this.$=y[E];break;case 10:this.$=y[E-1];break}},table:[{3:1,4:[1,2]},{1:[3]},{5:[1,3]},{6:4,8:5,15:6,16:7,17:8,18:n,20:s},{1:[2,6],7:11,10:[1,12]},t(s,[2,4],{9:13,5:[1,14]}),{12:[1,15]},t(a,[2,8]),t(a,[2,9]),{19:[1,16]},t(a,[2,11]),{1:[2,1]},{1:[2,5]},t(s,[2,2]),{6:17,8:5,15:6,16:7,17:8,18:n,20:s},{15:18,16:7,17:8,18:n,20:s},{18:[1,19]},t(s,[2,3]),{12:[1,20]},t(a,[2,10]),{15:21,16:7,17:8,18:n,20:s},t([1,5,10],[2,7])],defaultActions:{11:[2,1],12:[2,5]},parseError:function(i,o){if(o.recoverable)this.trace(i);else{var c=new Error(i);throw c.hash=o,c}},parse:function(i){var o=this,c=[0],m=[],b=[null],y=[],x=this.table,E="",L=0,A=0,N=2,I=1,j=y.slice.call(arguments,1),S=Object.create(this.lexer),M={yy:{}};for(var O in this.yy)Object.prototype.hasOwnProperty.call(this.yy,O)&&(M.yy[O]=this.yy[O]);S.setInput(i,M.yy),M.yy.lexer=S,M.yy.parser=this,typeof S.yylloc>"u"&&(S.yylloc={});var P=S.yylloc;y.push(P);var C=S.options&&S.options.ranges;typeof M.yy.parseError=="function"?this.parseError=M.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function d(){var v;return v=m.pop()||S.lex()||I,typeof v!="number"&&(v instanceof Array&&(m=v,v=m.pop()),v=o.symbols_[v]||v),v}for(var w,$,T,V,e={},f,l,h,r;;){if($=c[c.length-1],this.defaultActions[$]?T=this.defaultActions[$]:((w===null||typeof w>"u")&&(w=d()),T=x[$]&&x[$][w]),typeof T>"u"||!T.length||!T[0]){var k="";r=[];for(f in x[$])this.terminals_[f]&&f>N&&r.push("'"+this.terminals_[f]+"'");S.showPosition?k="Parse error on line "+(L+1)+`: +import{c as rt,g as mt,s as kt,a as _t,b as xt,y as vt,x as bt,A as wt,j as St,v as Lt,h as G,u as Et}from"./mermaid.core-C-ipfzeP.js";import{o as At}from"./ordinal-Cboi1Yqb.js";import{s as Tt}from"./Tableau10-B-NsZVaP.js";import"./app-jADuhdjP.js";import"./init-Gi6I4Gst.js";function ot(t,n){let s;if(n===void 0)for(const a of t)a!=null&&(s=a)&&(s=a);else{let a=-1;for(let u of t)(u=n(u,++a,t))!=null&&(s=u)&&(s=u)}return s}function yt(t,n){let s;if(n===void 0)for(const a of t)a!=null&&(s>a||s===void 0&&a>=a)&&(s=a);else{let a=-1;for(let u of t)(u=n(u,++a,t))!=null&&(s>u||s===void 0&&u>=u)&&(s=u)}return s}function Z(t,n){let s=0;if(n===void 0)for(let a of t)(a=+a)&&(s+=a);else{let a=-1;for(let u of t)(u=+n(u,++a,t))&&(s+=u)}return s}function Mt(t){return t.target.depth}function Nt(t){return t.depth}function Pt(t,n){return n-1-t.height}function dt(t,n){return t.sourceLinks.length?t.depth:n-1}function Ct(t){return t.targetLinks.length?t.depth:t.sourceLinks.length?yt(t.sourceLinks,Mt)-1:0}function Y(t){return function(){return t}}function lt(t,n){return H(t.source,n.source)||t.index-n.index}function at(t,n){return H(t.target,n.target)||t.index-n.index}function H(t,n){return t.y0-n.y0}function J(t){return t.value}function It(t){return t.index}function $t(t){return t.nodes}function Ot(t){return t.links}function ct(t,n){const s=t.get(n);if(!s)throw new Error("missing: "+n);return s}function ut({nodes:t}){for(const n of t){let s=n.y0,a=s;for(const u of n.sourceLinks)u.y0=s+u.width/2,s+=u.width;for(const u of n.targetLinks)u.y1=a+u.width/2,a+=u.width}}function jt(){let t=0,n=0,s=1,a=1,u=24,_=8,g,p=It,i=dt,o,c,m=$t,b=Ot,y=6;function x(){const e={nodes:m.apply(null,arguments),links:b.apply(null,arguments)};return E(e),L(e),A(e),N(e),S(e),ut(e),e}x.update=function(e){return ut(e),e},x.nodeId=function(e){return arguments.length?(p=typeof e=="function"?e:Y(e),x):p},x.nodeAlign=function(e){return arguments.length?(i=typeof e=="function"?e:Y(e),x):i},x.nodeSort=function(e){return arguments.length?(o=e,x):o},x.nodeWidth=function(e){return arguments.length?(u=+e,x):u},x.nodePadding=function(e){return arguments.length?(_=g=+e,x):_},x.nodes=function(e){return arguments.length?(m=typeof e=="function"?e:Y(e),x):m},x.links=function(e){return arguments.length?(b=typeof e=="function"?e:Y(e),x):b},x.linkSort=function(e){return arguments.length?(c=e,x):c},x.size=function(e){return arguments.length?(t=n=0,s=+e[0],a=+e[1],x):[s-t,a-n]},x.extent=function(e){return arguments.length?(t=+e[0][0],s=+e[1][0],n=+e[0][1],a=+e[1][1],x):[[t,n],[s,a]]},x.iterations=function(e){return arguments.length?(y=+e,x):y};function E({nodes:e,links:f}){for(const[h,r]of e.entries())r.index=h,r.sourceLinks=[],r.targetLinks=[];const l=new Map(e.map((h,r)=>[p(h,r,e),h]));for(const[h,r]of f.entries()){r.index=h;let{source:k,target:v}=r;typeof k!="object"&&(k=r.source=ct(l,k)),typeof v!="object"&&(v=r.target=ct(l,v)),k.sourceLinks.push(r),v.targetLinks.push(r)}if(c!=null)for(const{sourceLinks:h,targetLinks:r}of e)h.sort(c),r.sort(c)}function L({nodes:e}){for(const f of e)f.value=f.fixedValue===void 0?Math.max(Z(f.sourceLinks,J),Z(f.targetLinks,J)):f.fixedValue}function A({nodes:e}){const f=e.length;let l=new Set(e),h=new Set,r=0;for(;l.size;){for(const k of l){k.depth=r;for(const{target:v}of k.sourceLinks)h.add(v)}if(++r>f)throw new Error("circular link");l=h,h=new Set}}function N({nodes:e}){const f=e.length;let l=new Set(e),h=new Set,r=0;for(;l.size;){for(const k of l){k.height=r;for(const{source:v}of k.targetLinks)h.add(v)}if(++r>f)throw new Error("circular link");l=h,h=new Set}}function I({nodes:e}){const f=ot(e,r=>r.depth)+1,l=(s-t-u)/(f-1),h=new Array(f);for(const r of e){const k=Math.max(0,Math.min(f-1,Math.floor(i.call(null,r,f))));r.layer=k,r.x0=t+k*l,r.x1=r.x0+u,h[k]?h[k].push(r):h[k]=[r]}if(o)for(const r of h)r.sort(o);return h}function j(e){const f=yt(e,l=>(a-n-(l.length-1)*g)/Z(l,J));for(const l of e){let h=n;for(const r of l){r.y0=h,r.y1=h+r.value*f,h=r.y1+g;for(const k of r.sourceLinks)k.width=k.value*f}h=(a-h+g)/(l.length+1);for(let r=0;rl.length)-1)),j(f);for(let l=0;l0))continue;let U=(R/z-v.y0)*f;v.y0+=U,v.y1+=U,w(v)}o===void 0&&k.sort(H),P(k,l)}}function O(e,f,l){for(let h=e.length,r=h-2;r>=0;--r){const k=e[r];for(const v of k){let R=0,z=0;for(const{target:W,value:K}of v.sourceLinks){let F=K*(W.layer-v.layer);R+=V(v,W)*F,z+=F}if(!(z>0))continue;let U=(R/z-v.y0)*f;v.y0+=U,v.y1+=U,w(v)}o===void 0&&k.sort(H),P(k,l)}}function P(e,f){const l=e.length>>1,h=e[l];d(e,h.y0-g,l-1,f),C(e,h.y1+g,l+1,f),d(e,a,e.length-1,f),C(e,n,0,f)}function C(e,f,l,h){for(;l1e-6&&(r.y0+=k,r.y1+=k),f=r.y1+g}}function d(e,f,l,h){for(;l>=0;--l){const r=e[l],k=(r.y1-f)*h;k>1e-6&&(r.y0-=k,r.y1-=k),f=r.y0-g}}function w({sourceLinks:e,targetLinks:f}){if(c===void 0){for(const{source:{sourceLinks:l}}of f)l.sort(at);for(const{target:{targetLinks:l}}of e)l.sort(lt)}}function $(e){if(c===void 0)for(const{sourceLinks:f,targetLinks:l}of e)f.sort(at),l.sort(lt)}function T(e,f){let l=e.y0-(e.sourceLinks.length-1)*g/2;for(const{target:h,width:r}of e.sourceLinks){if(h===f)break;l+=r+g}for(const{source:h,width:r}of f.targetLinks){if(h===e)break;l-=r}return l}function V(e,f){let l=f.y0-(f.targetLinks.length-1)*g/2;for(const{source:h,width:r}of f.targetLinks){if(h===e)break;l+=r+g}for(const{target:h,width:r}of e.sourceLinks){if(h===f)break;l-=r}return l}return x}var tt=Math.PI,et=2*tt,D=1e-6,zt=et-D;function nt(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function gt(){return new nt}nt.prototype=gt.prototype={constructor:nt,moveTo:function(t,n){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+n)},closePath:function(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(t,n){this._+="L"+(this._x1=+t)+","+(this._y1=+n)},quadraticCurveTo:function(t,n,s,a){this._+="Q"+ +t+","+ +n+","+(this._x1=+s)+","+(this._y1=+a)},bezierCurveTo:function(t,n,s,a,u,_){this._+="C"+ +t+","+ +n+","+ +s+","+ +a+","+(this._x1=+u)+","+(this._y1=+_)},arcTo:function(t,n,s,a,u){t=+t,n=+n,s=+s,a=+a,u=+u;var _=this._x1,g=this._y1,p=s-t,i=a-n,o=_-t,c=g-n,m=o*o+c*c;if(u<0)throw new Error("negative radius: "+u);if(this._x1===null)this._+="M"+(this._x1=t)+","+(this._y1=n);else if(m>D)if(!(Math.abs(c*p-i*o)>D)||!u)this._+="L"+(this._x1=t)+","+(this._y1=n);else{var b=s-_,y=a-g,x=p*p+i*i,E=b*b+y*y,L=Math.sqrt(x),A=Math.sqrt(m),N=u*Math.tan((tt-Math.acos((x+m-E)/(2*L*A)))/2),I=N/A,j=N/L;Math.abs(I-1)>D&&(this._+="L"+(t+I*o)+","+(n+I*c)),this._+="A"+u+","+u+",0,0,"+ +(c*b>o*y)+","+(this._x1=t+j*p)+","+(this._y1=n+j*i)}},arc:function(t,n,s,a,u,_){t=+t,n=+n,s=+s,_=!!_;var g=s*Math.cos(a),p=s*Math.sin(a),i=t+g,o=n+p,c=1^_,m=_?a-u:u-a;if(s<0)throw new Error("negative radius: "+s);this._x1===null?this._+="M"+i+","+o:(Math.abs(this._x1-i)>D||Math.abs(this._y1-o)>D)&&(this._+="L"+i+","+o),s&&(m<0&&(m=m%et+et),m>zt?this._+="A"+s+","+s+",0,1,"+c+","+(t-g)+","+(n-p)+"A"+s+","+s+",0,1,"+c+","+(this._x1=i)+","+(this._y1=o):m>D&&(this._+="A"+s+","+s+",0,"+ +(m>=tt)+","+c+","+(this._x1=t+s*Math.cos(u))+","+(this._y1=n+s*Math.sin(u))))},rect:function(t,n,s,a){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+n)+"h"+ +s+"v"+ +a+"h"+-s+"Z"},toString:function(){return this._}};function ht(t){return function(){return t}}function Dt(t){return t[0]}function Bt(t){return t[1]}var Vt=Array.prototype.slice;function Rt(t){return t.source}function Ut(t){return t.target}function Wt(t){var n=Rt,s=Ut,a=Dt,u=Bt,_=null;function g(){var p,i=Vt.call(arguments),o=n.apply(this,i),c=s.apply(this,i);if(_||(_=p=gt()),t(_,+a.apply(this,(i[0]=o,i)),+u.apply(this,i),+a.apply(this,(i[0]=c,i)),+u.apply(this,i)),p)return _=null,p+""||null}return g.source=function(p){return arguments.length?(n=p,g):n},g.target=function(p){return arguments.length?(s=p,g):s},g.x=function(p){return arguments.length?(a=typeof p=="function"?p:ht(+p),g):a},g.y=function(p){return arguments.length?(u=typeof p=="function"?p:ht(+p),g):u},g.context=function(p){return arguments.length?(_=p??null,g):_},g}function Ft(t,n,s,a,u){t.moveTo(n,s),t.bezierCurveTo(n=(n+a)/2,s,n,u,a,u)}function Gt(){return Wt(Ft)}function Yt(t){return[t.source.x1,t.y0]}function Ht(t){return[t.target.x0,t.y1]}function Xt(){return Gt().source(Yt).target(Ht)}var it=function(){var t=function(p,i,o,c){for(o=o||{},c=p.length;c--;o[p[c]]=i);return o},n=[1,9],s=[1,10],a=[1,5,10,12],u={trace:function(){},yy:{},symbols_:{error:2,start:3,SANKEY:4,NEWLINE:5,csv:6,opt_eof:7,record:8,csv_tail:9,EOF:10,"field[source]":11,COMMA:12,"field[target]":13,"field[value]":14,field:15,escaped:16,non_escaped:17,DQUOTE:18,ESCAPED_TEXT:19,NON_ESCAPED_TEXT:20,$accept:0,$end:1},terminals_:{2:"error",4:"SANKEY",5:"NEWLINE",10:"EOF",11:"field[source]",12:"COMMA",13:"field[target]",14:"field[value]",18:"DQUOTE",19:"ESCAPED_TEXT",20:"NON_ESCAPED_TEXT"},productions_:[0,[3,4],[6,2],[9,2],[9,0],[7,1],[7,0],[8,5],[15,1],[15,1],[16,3],[17,1]],performAction:function(i,o,c,m,b,y,x){var E=y.length-1;switch(b){case 7:const L=m.findOrCreateNode(y[E-4].trim().replaceAll('""','"')),A=m.findOrCreateNode(y[E-2].trim().replaceAll('""','"')),N=parseFloat(y[E].trim());m.addLink(L,A,N);break;case 8:case 9:case 11:this.$=y[E];break;case 10:this.$=y[E-1];break}},table:[{3:1,4:[1,2]},{1:[3]},{5:[1,3]},{6:4,8:5,15:6,16:7,17:8,18:n,20:s},{1:[2,6],7:11,10:[1,12]},t(s,[2,4],{9:13,5:[1,14]}),{12:[1,15]},t(a,[2,8]),t(a,[2,9]),{19:[1,16]},t(a,[2,11]),{1:[2,1]},{1:[2,5]},t(s,[2,2]),{6:17,8:5,15:6,16:7,17:8,18:n,20:s},{15:18,16:7,17:8,18:n,20:s},{18:[1,19]},t(s,[2,3]),{12:[1,20]},t(a,[2,10]),{15:21,16:7,17:8,18:n,20:s},t([1,5,10],[2,7])],defaultActions:{11:[2,1],12:[2,5]},parseError:function(i,o){if(o.recoverable)this.trace(i);else{var c=new Error(i);throw c.hash=o,c}},parse:function(i){var o=this,c=[0],m=[],b=[null],y=[],x=this.table,E="",L=0,A=0,N=2,I=1,j=y.slice.call(arguments,1),S=Object.create(this.lexer),M={yy:{}};for(var O in this.yy)Object.prototype.hasOwnProperty.call(this.yy,O)&&(M.yy[O]=this.yy[O]);S.setInput(i,M.yy),M.yy.lexer=S,M.yy.parser=this,typeof S.yylloc>"u"&&(S.yylloc={});var P=S.yylloc;y.push(P);var C=S.options&&S.options.ranges;typeof M.yy.parseError=="function"?this.parseError=M.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function d(){var v;return v=m.pop()||S.lex()||I,typeof v!="number"&&(v instanceof Array&&(m=v,v=m.pop()),v=o.symbols_[v]||v),v}for(var w,$,T,V,e={},f,l,h,r;;){if($=c[c.length-1],this.defaultActions[$]?T=this.defaultActions[$]:((w===null||typeof w>"u")&&(w=d()),T=x[$]&&x[$][w]),typeof T>"u"||!T.length||!T[0]){var k="";r=[];for(f in x[$])this.terminals_[f]&&f>N&&r.push("'"+this.terminals_[f]+"'");S.showPosition?k="Parse error on line "+(L+1)+`: `+S.showPosition()+` Expecting `+r.join(", ")+", got '"+(this.terminals_[w]||w)+"'":k="Parse error on line "+(L+1)+": Unexpected "+(w==I?"end of input":"'"+(this.terminals_[w]||w)+"'"),this.parseError(k,{text:S.match,token:this.terminals_[w]||w,line:S.yylineno,loc:P,expected:r})}if(T[0]instanceof Array&&T.length>1)throw new Error("Parse Error: multiple actions possible at state: "+$+", token: "+w);switch(T[0]){case 1:c.push(w),b.push(S.yytext),y.push(S.yylloc),c.push(T[1]),w=null,A=S.yyleng,E=S.yytext,L=S.yylineno,P=S.yylloc;break;case 2:if(l=this.productions_[T[1]][1],e.$=b[b.length-l],e._$={first_line:y[y.length-(l||1)].first_line,last_line:y[y.length-1].last_line,first_column:y[y.length-(l||1)].first_column,last_column:y[y.length-1].last_column},C&&(e._$.range=[y[y.length-(l||1)].range[0],y[y.length-1].range[1]]),V=this.performAction.apply(e,[E,A,L,M.yy,T[1],b,y].concat(j)),typeof V<"u")return V;l&&(c=c.slice(0,-1*l*2),b=b.slice(0,-1*l),y=y.slice(0,-1*l)),c.push(this.productions_[T[1]][0]),b.push(e.$),y.push(e._$),h=x[c[c.length-2]][c[c.length-1]],c.push(h);break;case 3:return!0}}return!0}},_=function(){var p={EOF:1,parseError:function(o,c){if(this.yy.parser)this.yy.parser.parseError(o,c);else throw new Error(o)},setInput:function(i,o){return this.yy=o||this.yy||{},this._input=i,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var i=this._input[0];this.yytext+=i,this.yyleng++,this.offset++,this.match+=i,this.matched+=i;var o=i.match(/(?:\r\n?|\n).*/g);return o?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),i},unput:function(i){var o=i.length,c=i.split(/(?:\r\n?|\n)/g);this._input=i+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-o),this.offset-=o;var m=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),c.length-1&&(this.yylineno-=c.length-1);var b=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:c?(c.length===m.length?this.yylloc.first_column:0)+m[m.length-c.length].length-c[0].length:this.yylloc.first_column-o},this.options.ranges&&(this.yylloc.range=[b[0],b[0]+this.yyleng-o]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(i){this.unput(this.match.slice(i))},pastInput:function(){var i=this.matched.substr(0,this.matched.length-this.match.length);return(i.length>20?"...":"")+i.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var i=this.match;return i.length<20&&(i+=this._input.substr(0,20-i.length)),(i.substr(0,20)+(i.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var i=this.pastInput(),o=new Array(i.length+1).join("-");return i+this.upcomingInput()+` diff --git a/assets/schedule-sources.html-uG2w0B1h.js b/assets/schedule-sources.html-CEOCBfjr.js similarity index 97% rename from assets/schedule-sources.html-uG2w0B1h.js rename to assets/schedule-sources.html-CEOCBfjr.js index 1058be4..441ec94 100644 --- a/assets/schedule-sources.html-uG2w0B1h.js +++ b/assets/schedule-sources.html-CEOCBfjr.js @@ -1,4 +1,4 @@ -import{_ as s}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as n,c as a,a as e}from"./app-B0fd3cYb.js";const t={},o=e(`

Schedule source

Schedule sources are used to get schedule for tasks. To create new schedule source you have to implement the taskiq.abc.schedule_source.ScheduleSource abstract class.

Here's a minimal example of a schedule source:

from typing import List
+import{_ as s}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as n,c as a,a as e}from"./app-jADuhdjP.js";const t={},o=e(`

Schedule source

Schedule sources are used to get schedule for tasks. To create new schedule source you have to implement the taskiq.abc.schedule_source.ScheduleSource abstract class.

Here's a minimal example of a schedule source:

from typing import List
 
 from taskiq import ScheduledTask, ScheduleSource
 
@@ -52,4 +52,4 @@ import{_ as s}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as n,c as a,
 
         :param task: task that just have sent
         """
-

You can implement a schedule source that write schedules in the database and have delayed tasks in runtime.

`,5),p=[o];function c(l,u){return n(),a("div",null,p)}const k=s(t,[["render",c],["__file","schedule-sources.html.vue"]]),d=JSON.parse(`{"path":"/extending-taskiq/schedule-sources.html","title":"Schedule source","lang":"en-US","frontmatter":{"order":5,"description":"Schedule source Schedule sources are used to get schedule for tasks. To create new schedule source you have to implement the taskiq.abc.schedule_source.ScheduleSource abstract c...","head":[["meta",{"property":"og:url","content":"https://taskiq-python.github.io/extending-taskiq/schedule-sources.html"}],["meta",{"property":"og:site_name","content":"Taskiq"}],["meta",{"property":"og:title","content":"Schedule source"}],["meta",{"property":"og:description","content":"Schedule source Schedule sources are used to get schedule for tasks. To create new schedule source you have to implement the taskiq.abc.schedule_source.ScheduleSource abstract c..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-04-20T00:01:02.000Z"}],["meta",{"property":"article:modified_time","content":"2024-04-20T00:01:02.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Schedule source\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-04-20T00:01:02.000Z\\",\\"author\\":[]}"]]},"headers":[],"git":{"createdTime":1713571262000,"updatedTime":1713571262000,"contributors":[{"name":"Pavel Kirilin","email":"win10@list.ru","commits":1}]},"filePathRelative":"extending-taskiq/schedule-sources.md","localizedDate":"April 20, 2024","autoDesc":true,"excerpt":"\\n

Schedule sources are used to get schedule for tasks.\\nTo create new schedule source you have to implement the taskiq.abc.schedule_source.ScheduleSource abstract class.

\\n

Here's a minimal example of a schedule source:

\\n
from typing import List\\n\\nfrom taskiq import ScheduledTask, ScheduleSource\\n\\n\\nclass MyScheduleSource(ScheduleSource):\\n    async def startup(self) -> None:\\n        \\"\\"\\"Do something when starting broker.\\"\\"\\"\\n\\n    async def shutdown(self) -> None:\\n        \\"\\"\\"Do something on shutdown.\\"\\"\\"\\n\\n    async def get_schedules(self) -> List[\\"ScheduledTask\\"]:\\n        # Here you must return list of scheduled tasks from your source.\\n        return [\\n            ScheduledTask(\\n                task_name=\\"\\",\\n                labels={},\\n                args=[],\\n                kwargs={},\\n                cron=\\"* * * * *\\",\\n            ),\\n        ]\\n\\n    # This method is optional. You may not implement this.\\n    # It's just a helper to people to be able to interact with your source.\\n    async def add_schedule(self, schedule: \\"ScheduledTask\\") -> None:\\n        print(\\"New schedule added:\\", schedule)\\n\\n    # This method is completely optional, but if you want to support\\n    # schedule cancelation, you must implement it.\\n    async def delete_schedule(self, schedule_id: str) -> None:\\n        print(\\"Deleting schedule:\\", schedule_id)\\n\\n    # This method is optional. You may not implement this.\\n    # It's just a helper to people to be able to interact with your source.\\n    async def pre_send(self, task: \\"ScheduledTask\\") -> None:\\n        \\"\\"\\"\\n        Actions to execute before task will be sent to broker.\\n\\n        This method may raise ScheduledTaskCancelledError.\\n        This cancels the task execution.\\n\\n        :param task: task that will be sent\\n        \\"\\"\\"\\n\\n    # This method is optional. You may not implement this.\\n    # It's just a helper to people to be able to interact with your source.\\n    async def post_send(self, task: \\"ScheduledTask\\") -> None:\\n        \\"\\"\\"\\n        Actions to execute after task was sent to broker.\\n\\n        :param task: task that just have sent\\n        \\"\\"\\"\\n
"}`);export{k as comp,d as data}; +

You can implement a schedule source that write schedules in the database and have delayed tasks in runtime.

`,5),p=[o];function c(l,u){return n(),a("div",null,p)}const k=s(t,[["render",c],["__file","schedule-sources.html.vue"]]),d=JSON.parse(`{"path":"/extending-taskiq/schedule-sources.html","title":"Schedule source","lang":"en-US","frontmatter":{"order":5,"description":"Schedule source Schedule sources are used to get schedule for tasks. To create new schedule source you have to implement the taskiq.abc.schedule_source.ScheduleSource abstract c...","head":[["meta",{"property":"og:url","content":"https://taskiq-python.github.io/extending-taskiq/schedule-sources.html"}],["meta",{"property":"og:site_name","content":"Taskiq"}],["meta",{"property":"og:title","content":"Schedule source"}],["meta",{"property":"og:description","content":"Schedule source Schedule sources are used to get schedule for tasks. To create new schedule source you have to implement the taskiq.abc.schedule_source.ScheduleSource abstract c..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-04-26T20:07:59.000Z"}],["meta",{"property":"article:modified_time","content":"2024-04-26T20:07:59.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Schedule source\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-04-26T20:07:59.000Z\\",\\"author\\":[]}"]]},"headers":[],"git":{"createdTime":1714162079000,"updatedTime":1714162079000,"contributors":[{"name":"Pavel Kirilin","email":"win10@list.ru","commits":1}]},"filePathRelative":"extending-taskiq/schedule-sources.md","localizedDate":"April 26, 2024","autoDesc":true,"excerpt":"\\n

Schedule sources are used to get schedule for tasks.\\nTo create new schedule source you have to implement the taskiq.abc.schedule_source.ScheduleSource abstract class.

\\n

Here's a minimal example of a schedule source:

\\n
from typing import List\\n\\nfrom taskiq import ScheduledTask, ScheduleSource\\n\\n\\nclass MyScheduleSource(ScheduleSource):\\n    async def startup(self) -> None:\\n        \\"\\"\\"Do something when starting broker.\\"\\"\\"\\n\\n    async def shutdown(self) -> None:\\n        \\"\\"\\"Do something on shutdown.\\"\\"\\"\\n\\n    async def get_schedules(self) -> List[\\"ScheduledTask\\"]:\\n        # Here you must return list of scheduled tasks from your source.\\n        return [\\n            ScheduledTask(\\n                task_name=\\"\\",\\n                labels={},\\n                args=[],\\n                kwargs={},\\n                cron=\\"* * * * *\\",\\n            ),\\n        ]\\n\\n    # This method is optional. You may not implement this.\\n    # It's just a helper to people to be able to interact with your source.\\n    async def add_schedule(self, schedule: \\"ScheduledTask\\") -> None:\\n        print(\\"New schedule added:\\", schedule)\\n\\n    # This method is completely optional, but if you want to support\\n    # schedule cancelation, you must implement it.\\n    async def delete_schedule(self, schedule_id: str) -> None:\\n        print(\\"Deleting schedule:\\", schedule_id)\\n\\n    # This method is optional. You may not implement this.\\n    # It's just a helper to people to be able to interact with your source.\\n    async def pre_send(self, task: \\"ScheduledTask\\") -> None:\\n        \\"\\"\\"\\n        Actions to execute before task will be sent to broker.\\n\\n        This method may raise ScheduledTaskCancelledError.\\n        This cancels the task execution.\\n\\n        :param task: task that will be sent\\n        \\"\\"\\"\\n\\n    # This method is optional. You may not implement this.\\n    # It's just a helper to people to be able to interact with your source.\\n    async def post_send(self, task: \\"ScheduledTask\\") -> None:\\n        \\"\\"\\"\\n        Actions to execute after task was sent to broker.\\n\\n        :param task: task that just have sent\\n        \\"\\"\\"\\n
"}`);export{k as comp,d as data}; diff --git a/assets/schedule-sources.html-Bu-GGcR7.js b/assets/schedule-sources.html-Deft308h.js similarity index 95% rename from assets/schedule-sources.html-Bu-GGcR7.js rename to assets/schedule-sources.html-Deft308h.js index 4fb1878..5a22e6d 100644 --- a/assets/schedule-sources.html-Bu-GGcR7.js +++ b/assets/schedule-sources.html-Deft308h.js @@ -1,4 +1,4 @@ -import{_ as c}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as l,o as i,c as u,b as e,d as s,e as t,w as o,a as n}from"./app-B0fd3cYb.js";const p={},r=n(`

Available schedule sources

These objects are used to fetch current schedule for tasks. Currently we have only one schedule source.

RedisScheduleSource

This source is capable of adding new schedules in runtime. It uses Redis as a storage for schedules. To use this source you need to install taskiq-redis package.

from taskiq_redis import RedisScheduleSource
+import{_ as c}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as l,o as i,c as u,b as e,d as s,e as t,w as o,a as n}from"./app-jADuhdjP.js";const p={},r=n(`

Available schedule sources

These objects are used to fetch current schedule for tasks. Currently we have only one schedule source.

RedisScheduleSource

This source is capable of adding new schedules in runtime. It uses Redis as a storage for schedules. To use this source you need to install taskiq-redis package.

from taskiq_redis import RedisScheduleSource
 
 from taskiq import TaskiqScheduler
 
@@ -27,4 +27,4 @@ scheduler = TaskiqScheduler=broker,
     sources=[LabelScheduleSource(broker)],
 )
-

Cool notice!

In order to resolve all labels correctly, don't forget to import all task modules using CLI interface.

`,3);function f(_,w){const a=l("RouteLink");return i(),u("div",null,[r,e("p",null,[s("For more information on how to use dynamic schedule sources read "),t(a,{to:"/guide/scheduling-tasks.html#dynamic-scheduling"},{default:o(()=>[s("Dynamic scheduling section")]),_:1}),s(".")]),d,e("ul",null,[h,e("li",null,[k,s(" - timezone offset for cron values. Explained "),t(a,{to:"/guide/scheduling-tasks.html#working-with-timezones"},{default:o(()=>[s("here")]),_:1})]),m,v,b,g]),y])}const T=c(p,[["render",f],["__file","schedule-sources.html.vue"]]),x=JSON.parse('{"path":"/available-components/schedule-sources.html","title":"Available schedule sources","lang":"en-US","frontmatter":{"order":4,"description":"Available schedule sources These objects are used to fetch current schedule for tasks. Currently we have only one schedule source. RedisScheduleSource This source is capable of ...","head":[["meta",{"property":"og:url","content":"https://taskiq-python.github.io/available-components/schedule-sources.html"}],["meta",{"property":"og:site_name","content":"Taskiq"}],["meta",{"property":"og:title","content":"Available schedule sources"}],["meta",{"property":"og:description","content":"Available schedule sources These objects are used to fetch current schedule for tasks. Currently we have only one schedule source. RedisScheduleSource This source is capable of ..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-04-20T00:01:02.000Z"}],["meta",{"property":"article:modified_time","content":"2024-04-20T00:01:02.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Available schedule sources\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-04-20T00:01:02.000Z\\",\\"author\\":[]}"]]},"headers":[{"level":2,"title":"RedisScheduleSource","slug":"redisschedulesource","link":"#redisschedulesource","children":[]},{"level":2,"title":"LabelScheduleSource","slug":"labelschedulesource","link":"#labelschedulesource","children":[]}],"git":{"createdTime":1713571262000,"updatedTime":1713571262000,"contributors":[{"name":"Pavel Kirilin","email":"win10@list.ru","commits":1}]},"filePathRelative":"available-components/schedule-sources.md","localizedDate":"April 20, 2024","autoDesc":true,"excerpt":"\\n

These objects are used to fetch current schedule for tasks.\\nCurrently we have only one schedule source.

\\n

RedisScheduleSource

\\n

This source is capable of adding new schedules in runtime. It uses Redis as a storage for schedules.\\nTo use this source you need to install taskiq-redis package.

"}');export{T as comp,x as data}; +

Cool notice!

In order to resolve all labels correctly, don't forget to import all task modules using CLI interface.

`,3);function f(_,w){const a=l("RouteLink");return i(),u("div",null,[r,e("p",null,[s("For more information on how to use dynamic schedule sources read "),t(a,{to:"/guide/scheduling-tasks.html#dynamic-scheduling"},{default:o(()=>[s("Dynamic scheduling section")]),_:1}),s(".")]),d,e("ul",null,[h,e("li",null,[k,s(" - timezone offset for cron values. Explained "),t(a,{to:"/guide/scheduling-tasks.html#working-with-timezones"},{default:o(()=>[s("here")]),_:1})]),m,v,b,g]),y])}const T=c(p,[["render",f],["__file","schedule-sources.html.vue"]]),x=JSON.parse('{"path":"/available-components/schedule-sources.html","title":"Available schedule sources","lang":"en-US","frontmatter":{"order":4,"description":"Available schedule sources These objects are used to fetch current schedule for tasks. Currently we have only one schedule source. RedisScheduleSource This source is capable of ...","head":[["meta",{"property":"og:url","content":"https://taskiq-python.github.io/available-components/schedule-sources.html"}],["meta",{"property":"og:site_name","content":"Taskiq"}],["meta",{"property":"og:title","content":"Available schedule sources"}],["meta",{"property":"og:description","content":"Available schedule sources These objects are used to fetch current schedule for tasks. Currently we have only one schedule source. RedisScheduleSource This source is capable of ..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-04-26T20:07:59.000Z"}],["meta",{"property":"article:modified_time","content":"2024-04-26T20:07:59.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Available schedule sources\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-04-26T20:07:59.000Z\\",\\"author\\":[]}"]]},"headers":[{"level":2,"title":"RedisScheduleSource","slug":"redisschedulesource","link":"#redisschedulesource","children":[]},{"level":2,"title":"LabelScheduleSource","slug":"labelschedulesource","link":"#labelschedulesource","children":[]}],"git":{"createdTime":1714162079000,"updatedTime":1714162079000,"contributors":[{"name":"Pavel Kirilin","email":"win10@list.ru","commits":1}]},"filePathRelative":"available-components/schedule-sources.md","localizedDate":"April 26, 2024","autoDesc":true,"excerpt":"\\n

These objects are used to fetch current schedule for tasks.\\nCurrently we have only one schedule source.

\\n

RedisScheduleSource

\\n

This source is capable of adding new schedules in runtime. It uses Redis as a storage for schedules.\\nTo use this source you need to install taskiq-redis package.

"}');export{T as comp,x as data}; diff --git a/assets/scheduling-tasks.html-C_aRL6t1.js b/assets/scheduling-tasks.html-CWyyMHnD.js similarity index 97% rename from assets/scheduling-tasks.html-C_aRL6t1.js rename to assets/scheduling-tasks.html-CWyyMHnD.js index 15dc3b9..09bdf03 100644 --- a/assets/scheduling-tasks.html-C_aRL6t1.js +++ b/assets/scheduling-tasks.html-CWyyMHnD.js @@ -1,4 +1,4 @@ -import{_ as p}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as o,o as l,c as u,b as n,d as s,e as a,w as i,a as e}from"./app-B0fd3cYb.js";const r={},d=e(`

Scheduling tasks

Sometimes you may want to execute some tasks according to some schedule. For example, you maybe want to call a function every day at 2 pm.

That's not a problem if you use taskiq. We have primitives that can help you to solve your problems.

Let's imagine we have a module, as shown below, and we want to execute the heavy_task every 5 minutes. What should we do?

from taskiq_aio_pika import AioPikaBroker
+import{_ as p}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as o,o as l,c as u,b as n,d as s,e as a,w as i,a as e}from"./app-jADuhdjP.js";const r={},d=e(`

Scheduling tasks

Sometimes you may want to execute some tasks according to some schedule. For example, you maybe want to call a function every day at 2 pm.

That's not a problem if you use taskiq. We have primitives that can help you to solve your problems.

Let's imagine we have a module, as shown below, and we want to execute the heavy_task every 5 minutes. What should we do?

from taskiq_aio_pika import AioPikaBroker
 
 broker = AioPikaBroker("amqp://guest:guest@localhost:5672/")
 
@@ -80,4 +80,4 @@ scheduler = TaskiqSchedulerawait schedule.unschedule()
 

Or it can be done manually, by calling delete_schedule on schedule source providing it whith schedule_id.

    await redis_source.delete_schedule(schedule.schedule_id)
-
`,13);function y(g,w){const t=o("RouteLink"),c=o("ExternalLinkIcon");return l(),u("div",null,[d,n("p",null,[s("You can check list of available schedule sources in the "),a(t,{to:"/available-components/schedule-sources.html"},{default:i(()=>[s("Available schedule sources")]),_:1}),s(" section.")]),k,n("p",null,[s("Taskiq scheduler assumes that if time has no specific timezone, it's in "),n("a",m,[s("UTC"),a(c)]),s(". Sometimes, this behavior might not be convinient for developers.")]),h,n("p",null,[s("Sometimes you may want to add new schedules to the scheduler on the fly. For example, you may want to run a specific function in several minutes from now. You can easily do it with ScheduleSources that support dynamic scheduling. Currently we suggest to use the "),v,s(" for that purpose. List of schedulers with dynamic task addition will be extended in the future. For list of available schedule sources see "),a(t,{to:"/available-components/schedule-sources.html"},{default:i(()=>[s("Available schedule sources")]),_:1}),s(".")]),b])}const q=p(r,[["render",y],["__file","scheduling-tasks.html.vue"]]),x=JSON.parse(`{"path":"/guide/scheduling-tasks.html","title":"Scheduling tasks","lang":"en-US","frontmatter":{"order":8,"description":"Scheduling tasks Sometimes you may want to execute some tasks according to some schedule. For example, you maybe want to call a function every day at 2 pm. That's not a problem ...","head":[["meta",{"property":"og:url","content":"https://taskiq-python.github.io/guide/scheduling-tasks.html"}],["meta",{"property":"og:site_name","content":"Taskiq"}],["meta",{"property":"og:title","content":"Scheduling tasks"}],["meta",{"property":"og:description","content":"Scheduling tasks Sometimes you may want to execute some tasks according to some schedule. For example, you maybe want to call a function every day at 2 pm. That's not a problem ..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-04-20T00:01:02.000Z"}],["meta",{"property":"article:modified_time","content":"2024-04-20T00:01:02.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Scheduling tasks\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-04-20T00:01:02.000Z\\",\\"author\\":[]}"]]},"headers":[{"level":2,"title":"Multiple sources","slug":"multiple-sources","link":"#multiple-sources","children":[]},{"level":2,"title":"Working with timezones","slug":"working-with-timezones","link":"#working-with-timezones","children":[]},{"level":2,"title":"Skipping first run","slug":"skipping-first-run","link":"#skipping-first-run","children":[]},{"level":2,"title":"Dynamic scheduling","slug":"dynamic-scheduling","link":"#dynamic-scheduling","children":[]}],"git":{"createdTime":1713571262000,"updatedTime":1713571262000,"contributors":[{"name":"Pavel Kirilin","email":"win10@list.ru","commits":1}]},"filePathRelative":"guide/scheduling-tasks.md","localizedDate":"April 20, 2024","autoDesc":true,"excerpt":"\\n

Sometimes you may want to execute some tasks according to some schedule.\\nFor example, you maybe want to call a function every day at 2 pm.

\\n

That's not a problem if you use taskiq. We have primitives that can help you to solve your problems.

\\n

Let's imagine we have a module, as shown below, and we want to execute the heavy_task every 5 minutes.\\nWhat should we do?

"}`);export{q as comp,x as data}; +
`,13);function y(g,w){const t=o("RouteLink"),c=o("ExternalLinkIcon");return l(),u("div",null,[d,n("p",null,[s("You can check list of available schedule sources in the "),a(t,{to:"/available-components/schedule-sources.html"},{default:i(()=>[s("Available schedule sources")]),_:1}),s(" section.")]),k,n("p",null,[s("Taskiq scheduler assumes that if time has no specific timezone, it's in "),n("a",m,[s("UTC"),a(c)]),s(". Sometimes, this behavior might not be convinient for developers.")]),h,n("p",null,[s("Sometimes you may want to add new schedules to the scheduler on the fly. For example, you may want to run a specific function in several minutes from now. You can easily do it with ScheduleSources that support dynamic scheduling. Currently we suggest to use the "),v,s(" for that purpose. List of schedulers with dynamic task addition will be extended in the future. For list of available schedule sources see "),a(t,{to:"/available-components/schedule-sources.html"},{default:i(()=>[s("Available schedule sources")]),_:1}),s(".")]),b])}const q=p(r,[["render",y],["__file","scheduling-tasks.html.vue"]]),x=JSON.parse(`{"path":"/guide/scheduling-tasks.html","title":"Scheduling tasks","lang":"en-US","frontmatter":{"order":8,"description":"Scheduling tasks Sometimes you may want to execute some tasks according to some schedule. For example, you maybe want to call a function every day at 2 pm. That's not a problem ...","head":[["meta",{"property":"og:url","content":"https://taskiq-python.github.io/guide/scheduling-tasks.html"}],["meta",{"property":"og:site_name","content":"Taskiq"}],["meta",{"property":"og:title","content":"Scheduling tasks"}],["meta",{"property":"og:description","content":"Scheduling tasks Sometimes you may want to execute some tasks according to some schedule. For example, you maybe want to call a function every day at 2 pm. That's not a problem ..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-04-26T20:07:59.000Z"}],["meta",{"property":"article:modified_time","content":"2024-04-26T20:07:59.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Scheduling tasks\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-04-26T20:07:59.000Z\\",\\"author\\":[]}"]]},"headers":[{"level":2,"title":"Multiple sources","slug":"multiple-sources","link":"#multiple-sources","children":[]},{"level":2,"title":"Working with timezones","slug":"working-with-timezones","link":"#working-with-timezones","children":[]},{"level":2,"title":"Skipping first run","slug":"skipping-first-run","link":"#skipping-first-run","children":[]},{"level":2,"title":"Dynamic scheduling","slug":"dynamic-scheduling","link":"#dynamic-scheduling","children":[]}],"git":{"createdTime":1714162079000,"updatedTime":1714162079000,"contributors":[{"name":"Pavel Kirilin","email":"win10@list.ru","commits":1}]},"filePathRelative":"guide/scheduling-tasks.md","localizedDate":"April 26, 2024","autoDesc":true,"excerpt":"\\n

Sometimes you may want to execute some tasks according to some schedule.\\nFor example, you maybe want to call a function every day at 2 pm.

\\n

That's not a problem if you use taskiq. We have primitives that can help you to solve your problems.

\\n

Let's imagine we have a module, as shown below, and we want to execute the heavy_task every 5 minutes.\\nWhat should we do?

"}`);export{q as comp,x as data}; diff --git a/assets/sequenceDiagram-acc0e65c--kJbrdcZ.js b/assets/sequenceDiagram-acc0e65c-CLkJOcA6.js similarity index 99% rename from assets/sequenceDiagram-acc0e65c--kJbrdcZ.js rename to assets/sequenceDiagram-acc0e65c-CLkJOcA6.js index 2cb1677..eccfcd0 100644 --- a/assets/sequenceDiagram-acc0e65c--kJbrdcZ.js +++ b/assets/sequenceDiagram-acc0e65c-CLkJOcA6.js @@ -1,4 +1,4 @@ -import{g as we,y as ve,x as _e,c as st,s as $t,b as ke,a as Pe,A as Le,l as X,d as At,j as v,e as Ie,h as Lt,i as Ae,z as B,b1 as nt,b2 as wt,m as te,r as ee,b0 as Bt,aO as se,b3 as Ne}from"./mermaid.core-DtSoU78u.js";import{d as Se,a as Me,g as Nt,b as zt,c as Re,e as Ce}from"./svgDrawCommon-5ccd53ef-BJyTLJKe.js";import"./app-B0fd3cYb.js";var Yt=function(){var t=function(dt,w,k,L){for(k=k||{},L=dt.length;L--;k[dt[L]]=w);return k},e=[1,2],c=[1,3],s=[1,4],i=[2,4],a=[1,9],o=[1,11],l=[1,13],p=[1,14],r=[1,16],x=[1,17],T=[1,18],u=[1,24],g=[1,25],m=[1,26],_=[1,27],I=[1,28],V=[1,29],S=[1,30],O=[1,31],R=[1,32],q=[1,33],z=[1,34],J=[1,35],$=[1,36],H=[1,37],U=[1,38],F=[1,39],W=[1,41],Z=[1,42],K=[1,43],Q=[1,44],tt=[1,45],N=[1,46],y=[1,4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,47,48,49,50,52,53,54,59,60,61,62,70],P=[4,5,16,50,52,53],j=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,50,52,53,54,59,60,61,62,70],rt=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,49,50,52,53,54,59,60,61,62,70],A=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,48,50,52,53,54,59,60,61,62,70],Gt=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,47,50,52,53,54,59,60,61,62,70],ht=[68,69,70],ot=[1,120],Mt={trace:function(){},yy:{},symbols_:{error:2,start:3,SPACE:4,NEWLINE:5,SD:6,document:7,line:8,statement:9,box_section:10,box_line:11,participant_statement:12,create:13,box:14,restOfLine:15,end:16,signal:17,autonumber:18,NUM:19,off:20,activate:21,actor:22,deactivate:23,note_statement:24,links_statement:25,link_statement:26,properties_statement:27,details_statement:28,title:29,legacy_title:30,acc_title:31,acc_title_value:32,acc_descr:33,acc_descr_value:34,acc_descr_multiline_value:35,loop:36,rect:37,opt:38,alt:39,else_sections:40,par:41,par_sections:42,par_over:43,critical:44,option_sections:45,break:46,option:47,and:48,else:49,participant:50,AS:51,participant_actor:52,destroy:53,note:54,placement:55,text2:56,over:57,actor_pair:58,links:59,link:60,properties:61,details:62,spaceList:63,",":64,left_of:65,right_of:66,signaltype:67,"+":68,"-":69,ACTOR:70,SOLID_OPEN_ARROW:71,DOTTED_OPEN_ARROW:72,SOLID_ARROW:73,DOTTED_ARROW:74,SOLID_CROSS:75,DOTTED_CROSS:76,SOLID_POINT:77,DOTTED_POINT:78,TXT:79,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NEWLINE",6:"SD",13:"create",14:"box",15:"restOfLine",16:"end",18:"autonumber",19:"NUM",20:"off",21:"activate",23:"deactivate",29:"title",30:"legacy_title",31:"acc_title",32:"acc_title_value",33:"acc_descr",34:"acc_descr_value",35:"acc_descr_multiline_value",36:"loop",37:"rect",38:"opt",39:"alt",41:"par",43:"par_over",44:"critical",46:"break",47:"option",48:"and",49:"else",50:"participant",51:"AS",52:"participant_actor",53:"destroy",54:"note",57:"over",59:"links",60:"link",61:"properties",62:"details",64:",",65:"left_of",66:"right_of",68:"+",69:"-",70:"ACTOR",71:"SOLID_OPEN_ARROW",72:"DOTTED_OPEN_ARROW",73:"SOLID_ARROW",74:"DOTTED_ARROW",75:"SOLID_CROSS",76:"DOTTED_CROSS",77:"SOLID_POINT",78:"DOTTED_POINT",79:"TXT"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[10,0],[10,2],[11,2],[11,1],[11,1],[9,1],[9,2],[9,4],[9,2],[9,4],[9,3],[9,3],[9,2],[9,3],[9,3],[9,2],[9,2],[9,2],[9,2],[9,2],[9,1],[9,1],[9,2],[9,2],[9,1],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[45,1],[45,4],[42,1],[42,4],[40,1],[40,4],[12,5],[12,3],[12,5],[12,3],[12,3],[24,4],[24,4],[25,3],[26,3],[27,3],[28,3],[63,2],[63,1],[58,3],[58,1],[55,1],[55,1],[17,5],[17,5],[17,4],[22,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[56,1]],performAction:function(w,k,L,b,M,h,Et){var d=h.length-1;switch(M){case 3:return b.apply(h[d]),h[d];case 4:case 9:this.$=[];break;case 5:case 10:h[d-1].push(h[d]),this.$=h[d-1];break;case 6:case 7:case 11:case 12:this.$=h[d];break;case 8:case 13:this.$=[];break;case 15:h[d].type="createParticipant",this.$=h[d];break;case 16:h[d-1].unshift({type:"boxStart",boxData:b.parseBoxData(h[d-2])}),h[d-1].push({type:"boxEnd",boxText:h[d-2]}),this.$=h[d-1];break;case 18:this.$={type:"sequenceIndex",sequenceIndex:Number(h[d-2]),sequenceIndexStep:Number(h[d-1]),sequenceVisible:!0,signalType:b.LINETYPE.AUTONUMBER};break;case 19:this.$={type:"sequenceIndex",sequenceIndex:Number(h[d-1]),sequenceIndexStep:1,sequenceVisible:!0,signalType:b.LINETYPE.AUTONUMBER};break;case 20:this.$={type:"sequenceIndex",sequenceVisible:!1,signalType:b.LINETYPE.AUTONUMBER};break;case 21:this.$={type:"sequenceIndex",sequenceVisible:!0,signalType:b.LINETYPE.AUTONUMBER};break;case 22:this.$={type:"activeStart",signalType:b.LINETYPE.ACTIVE_START,actor:h[d-1]};break;case 23:this.$={type:"activeEnd",signalType:b.LINETYPE.ACTIVE_END,actor:h[d-1]};break;case 29:b.setDiagramTitle(h[d].substring(6)),this.$=h[d].substring(6);break;case 30:b.setDiagramTitle(h[d].substring(7)),this.$=h[d].substring(7);break;case 31:this.$=h[d].trim(),b.setAccTitle(this.$);break;case 32:case 33:this.$=h[d].trim(),b.setAccDescription(this.$);break;case 34:h[d-1].unshift({type:"loopStart",loopText:b.parseMessage(h[d-2]),signalType:b.LINETYPE.LOOP_START}),h[d-1].push({type:"loopEnd",loopText:h[d-2],signalType:b.LINETYPE.LOOP_END}),this.$=h[d-1];break;case 35:h[d-1].unshift({type:"rectStart",color:b.parseMessage(h[d-2]),signalType:b.LINETYPE.RECT_START}),h[d-1].push({type:"rectEnd",color:b.parseMessage(h[d-2]),signalType:b.LINETYPE.RECT_END}),this.$=h[d-1];break;case 36:h[d-1].unshift({type:"optStart",optText:b.parseMessage(h[d-2]),signalType:b.LINETYPE.OPT_START}),h[d-1].push({type:"optEnd",optText:b.parseMessage(h[d-2]),signalType:b.LINETYPE.OPT_END}),this.$=h[d-1];break;case 37:h[d-1].unshift({type:"altStart",altText:b.parseMessage(h[d-2]),signalType:b.LINETYPE.ALT_START}),h[d-1].push({type:"altEnd",signalType:b.LINETYPE.ALT_END}),this.$=h[d-1];break;case 38:h[d-1].unshift({type:"parStart",parText:b.parseMessage(h[d-2]),signalType:b.LINETYPE.PAR_START}),h[d-1].push({type:"parEnd",signalType:b.LINETYPE.PAR_END}),this.$=h[d-1];break;case 39:h[d-1].unshift({type:"parStart",parText:b.parseMessage(h[d-2]),signalType:b.LINETYPE.PAR_OVER_START}),h[d-1].push({type:"parEnd",signalType:b.LINETYPE.PAR_END}),this.$=h[d-1];break;case 40:h[d-1].unshift({type:"criticalStart",criticalText:b.parseMessage(h[d-2]),signalType:b.LINETYPE.CRITICAL_START}),h[d-1].push({type:"criticalEnd",signalType:b.LINETYPE.CRITICAL_END}),this.$=h[d-1];break;case 41:h[d-1].unshift({type:"breakStart",breakText:b.parseMessage(h[d-2]),signalType:b.LINETYPE.BREAK_START}),h[d-1].push({type:"breakEnd",optText:b.parseMessage(h[d-2]),signalType:b.LINETYPE.BREAK_END}),this.$=h[d-1];break;case 43:this.$=h[d-3].concat([{type:"option",optionText:b.parseMessage(h[d-1]),signalType:b.LINETYPE.CRITICAL_OPTION},h[d]]);break;case 45:this.$=h[d-3].concat([{type:"and",parText:b.parseMessage(h[d-1]),signalType:b.LINETYPE.PAR_AND},h[d]]);break;case 47:this.$=h[d-3].concat([{type:"else",altText:b.parseMessage(h[d-1]),signalType:b.LINETYPE.ALT_ELSE},h[d]]);break;case 48:h[d-3].draw="participant",h[d-3].type="addParticipant",h[d-3].description=b.parseMessage(h[d-1]),this.$=h[d-3];break;case 49:h[d-1].draw="participant",h[d-1].type="addParticipant",this.$=h[d-1];break;case 50:h[d-3].draw="actor",h[d-3].type="addParticipant",h[d-3].description=b.parseMessage(h[d-1]),this.$=h[d-3];break;case 51:h[d-1].draw="actor",h[d-1].type="addParticipant",this.$=h[d-1];break;case 52:h[d-1].type="destroyParticipant",this.$=h[d-1];break;case 53:this.$=[h[d-1],{type:"addNote",placement:h[d-2],actor:h[d-1].actor,text:h[d]}];break;case 54:h[d-2]=[].concat(h[d-1],h[d-1]).slice(0,2),h[d-2][0]=h[d-2][0].actor,h[d-2][1]=h[d-2][1].actor,this.$=[h[d-1],{type:"addNote",placement:b.PLACEMENT.OVER,actor:h[d-2].slice(0,2),text:h[d]}];break;case 55:this.$=[h[d-1],{type:"addLinks",actor:h[d-1].actor,text:h[d]}];break;case 56:this.$=[h[d-1],{type:"addALink",actor:h[d-1].actor,text:h[d]}];break;case 57:this.$=[h[d-1],{type:"addProperties",actor:h[d-1].actor,text:h[d]}];break;case 58:this.$=[h[d-1],{type:"addDetails",actor:h[d-1].actor,text:h[d]}];break;case 61:this.$=[h[d-2],h[d]];break;case 62:this.$=h[d];break;case 63:this.$=b.PLACEMENT.LEFTOF;break;case 64:this.$=b.PLACEMENT.RIGHTOF;break;case 65:this.$=[h[d-4],h[d-1],{type:"addMessage",from:h[d-4].actor,to:h[d-1].actor,signalType:h[d-3],msg:h[d],activate:!0},{type:"activeStart",signalType:b.LINETYPE.ACTIVE_START,actor:h[d-1]}];break;case 66:this.$=[h[d-4],h[d-1],{type:"addMessage",from:h[d-4].actor,to:h[d-1].actor,signalType:h[d-3],msg:h[d]},{type:"activeEnd",signalType:b.LINETYPE.ACTIVE_END,actor:h[d-4]}];break;case 67:this.$=[h[d-3],h[d-1],{type:"addMessage",from:h[d-3].actor,to:h[d-1].actor,signalType:h[d-2],msg:h[d]}];break;case 68:this.$={type:"addParticipant",actor:h[d]};break;case 69:this.$=b.LINETYPE.SOLID_OPEN;break;case 70:this.$=b.LINETYPE.DOTTED_OPEN;break;case 71:this.$=b.LINETYPE.SOLID;break;case 72:this.$=b.LINETYPE.DOTTED;break;case 73:this.$=b.LINETYPE.SOLID_CROSS;break;case 74:this.$=b.LINETYPE.DOTTED_CROSS;break;case 75:this.$=b.LINETYPE.SOLID_POINT;break;case 76:this.$=b.LINETYPE.DOTTED_POINT;break;case 77:this.$=b.parseMessage(h[d].trim().substring(1));break}},table:[{3:1,4:e,5:c,6:s},{1:[3]},{3:5,4:e,5:c,6:s},{3:6,4:e,5:c,6:s},t([1,4,5,13,14,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,50,52,53,54,59,60,61,62,70],i,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:a,5:o,8:8,9:10,12:12,13:l,14:p,17:15,18:r,21:x,22:40,23:T,24:19,25:20,26:21,27:22,28:23,29:u,30:g,31:m,33:_,35:I,36:V,37:S,38:O,39:R,41:q,43:z,44:J,46:$,50:H,52:U,53:F,54:W,59:Z,60:K,61:Q,62:tt,70:N},t(y,[2,5]),{9:47,12:12,13:l,14:p,17:15,18:r,21:x,22:40,23:T,24:19,25:20,26:21,27:22,28:23,29:u,30:g,31:m,33:_,35:I,36:V,37:S,38:O,39:R,41:q,43:z,44:J,46:$,50:H,52:U,53:F,54:W,59:Z,60:K,61:Q,62:tt,70:N},t(y,[2,7]),t(y,[2,8]),t(y,[2,14]),{12:48,50:H,52:U,53:F},{15:[1,49]},{5:[1,50]},{5:[1,53],19:[1,51],20:[1,52]},{22:54,70:N},{22:55,70:N},{5:[1,56]},{5:[1,57]},{5:[1,58]},{5:[1,59]},{5:[1,60]},t(y,[2,29]),t(y,[2,30]),{32:[1,61]},{34:[1,62]},t(y,[2,33]),{15:[1,63]},{15:[1,64]},{15:[1,65]},{15:[1,66]},{15:[1,67]},{15:[1,68]},{15:[1,69]},{15:[1,70]},{22:71,70:N},{22:72,70:N},{22:73,70:N},{67:74,71:[1,75],72:[1,76],73:[1,77],74:[1,78],75:[1,79],76:[1,80],77:[1,81],78:[1,82]},{55:83,57:[1,84],65:[1,85],66:[1,86]},{22:87,70:N},{22:88,70:N},{22:89,70:N},{22:90,70:N},t([5,51,64,71,72,73,74,75,76,77,78,79],[2,68]),t(y,[2,6]),t(y,[2,15]),t(P,[2,9],{10:91}),t(y,[2,17]),{5:[1,93],19:[1,92]},{5:[1,94]},t(y,[2,21]),{5:[1,95]},{5:[1,96]},t(y,[2,24]),t(y,[2,25]),t(y,[2,26]),t(y,[2,27]),t(y,[2,28]),t(y,[2,31]),t(y,[2,32]),t(j,i,{7:97}),t(j,i,{7:98}),t(j,i,{7:99}),t(rt,i,{40:100,7:101}),t(A,i,{42:102,7:103}),t(A,i,{7:103,42:104}),t(Gt,i,{45:105,7:106}),t(j,i,{7:107}),{5:[1,109],51:[1,108]},{5:[1,111],51:[1,110]},{5:[1,112]},{22:115,68:[1,113],69:[1,114],70:N},t(ht,[2,69]),t(ht,[2,70]),t(ht,[2,71]),t(ht,[2,72]),t(ht,[2,73]),t(ht,[2,74]),t(ht,[2,75]),t(ht,[2,76]),{22:116,70:N},{22:118,58:117,70:N},{70:[2,63]},{70:[2,64]},{56:119,79:ot},{56:121,79:ot},{56:122,79:ot},{56:123,79:ot},{4:[1,126],5:[1,128],11:125,12:127,16:[1,124],50:H,52:U,53:F},{5:[1,129]},t(y,[2,19]),t(y,[2,20]),t(y,[2,22]),t(y,[2,23]),{4:a,5:o,8:8,9:10,12:12,13:l,14:p,16:[1,130],17:15,18:r,21:x,22:40,23:T,24:19,25:20,26:21,27:22,28:23,29:u,30:g,31:m,33:_,35:I,36:V,37:S,38:O,39:R,41:q,43:z,44:J,46:$,50:H,52:U,53:F,54:W,59:Z,60:K,61:Q,62:tt,70:N},{4:a,5:o,8:8,9:10,12:12,13:l,14:p,16:[1,131],17:15,18:r,21:x,22:40,23:T,24:19,25:20,26:21,27:22,28:23,29:u,30:g,31:m,33:_,35:I,36:V,37:S,38:O,39:R,41:q,43:z,44:J,46:$,50:H,52:U,53:F,54:W,59:Z,60:K,61:Q,62:tt,70:N},{4:a,5:o,8:8,9:10,12:12,13:l,14:p,16:[1,132],17:15,18:r,21:x,22:40,23:T,24:19,25:20,26:21,27:22,28:23,29:u,30:g,31:m,33:_,35:I,36:V,37:S,38:O,39:R,41:q,43:z,44:J,46:$,50:H,52:U,53:F,54:W,59:Z,60:K,61:Q,62:tt,70:N},{16:[1,133]},{4:a,5:o,8:8,9:10,12:12,13:l,14:p,16:[2,46],17:15,18:r,21:x,22:40,23:T,24:19,25:20,26:21,27:22,28:23,29:u,30:g,31:m,33:_,35:I,36:V,37:S,38:O,39:R,41:q,43:z,44:J,46:$,49:[1,134],50:H,52:U,53:F,54:W,59:Z,60:K,61:Q,62:tt,70:N},{16:[1,135]},{4:a,5:o,8:8,9:10,12:12,13:l,14:p,16:[2,44],17:15,18:r,21:x,22:40,23:T,24:19,25:20,26:21,27:22,28:23,29:u,30:g,31:m,33:_,35:I,36:V,37:S,38:O,39:R,41:q,43:z,44:J,46:$,48:[1,136],50:H,52:U,53:F,54:W,59:Z,60:K,61:Q,62:tt,70:N},{16:[1,137]},{16:[1,138]},{4:a,5:o,8:8,9:10,12:12,13:l,14:p,16:[2,42],17:15,18:r,21:x,22:40,23:T,24:19,25:20,26:21,27:22,28:23,29:u,30:g,31:m,33:_,35:I,36:V,37:S,38:O,39:R,41:q,43:z,44:J,46:$,47:[1,139],50:H,52:U,53:F,54:W,59:Z,60:K,61:Q,62:tt,70:N},{4:a,5:o,8:8,9:10,12:12,13:l,14:p,16:[1,140],17:15,18:r,21:x,22:40,23:T,24:19,25:20,26:21,27:22,28:23,29:u,30:g,31:m,33:_,35:I,36:V,37:S,38:O,39:R,41:q,43:z,44:J,46:$,50:H,52:U,53:F,54:W,59:Z,60:K,61:Q,62:tt,70:N},{15:[1,141]},t(y,[2,49]),{15:[1,142]},t(y,[2,51]),t(y,[2,52]),{22:143,70:N},{22:144,70:N},{56:145,79:ot},{56:146,79:ot},{56:147,79:ot},{64:[1,148],79:[2,62]},{5:[2,55]},{5:[2,77]},{5:[2,56]},{5:[2,57]},{5:[2,58]},t(y,[2,16]),t(P,[2,10]),{12:149,50:H,52:U,53:F},t(P,[2,12]),t(P,[2,13]),t(y,[2,18]),t(y,[2,34]),t(y,[2,35]),t(y,[2,36]),t(y,[2,37]),{15:[1,150]},t(y,[2,38]),{15:[1,151]},t(y,[2,39]),t(y,[2,40]),{15:[1,152]},t(y,[2,41]),{5:[1,153]},{5:[1,154]},{56:155,79:ot},{56:156,79:ot},{5:[2,67]},{5:[2,53]},{5:[2,54]},{22:157,70:N},t(P,[2,11]),t(rt,i,{7:101,40:158}),t(A,i,{7:103,42:159}),t(Gt,i,{7:106,45:160}),t(y,[2,48]),t(y,[2,50]),{5:[2,65]},{5:[2,66]},{79:[2,61]},{16:[2,47]},{16:[2,45]},{16:[2,43]}],defaultActions:{5:[2,1],6:[2,2],85:[2,63],86:[2,64],119:[2,55],120:[2,77],121:[2,56],122:[2,57],123:[2,58],145:[2,67],146:[2,53],147:[2,54],155:[2,65],156:[2,66],157:[2,61],158:[2,47],159:[2,45],160:[2,43]},parseError:function(w,k){if(k.recoverable)this.trace(w);else{var L=new Error(w);throw L.hash=k,L}},parse:function(w){var k=this,L=[0],b=[],M=[null],h=[],Et=this.table,d="",_t=0,Xt=0,Te=2,Jt=1,be=h.slice.call(arguments,1),Y=Object.create(this.lexer),pt={yy:{}};for(var Ct in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Ct)&&(pt.yy[Ct]=this.yy[Ct]);Y.setInput(w,pt.yy),pt.yy.lexer=Y,pt.yy.parser=this,typeof Y.yylloc>"u"&&(Y.yylloc={});var Dt=Y.yylloc;h.push(Dt);var Ee=Y.options&&Y.options.ranges;typeof pt.yy.parseError=="function"?this.parseError=pt.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function me(){var lt;return lt=b.pop()||Y.lex()||Jt,typeof lt!="number"&&(lt instanceof Array&&(b=lt,lt=b.pop()),lt=k.symbols_[lt]||lt),lt}for(var G,ut,et,Vt,yt={},kt,ct,Zt,Pt;;){if(ut=L[L.length-1],this.defaultActions[ut]?et=this.defaultActions[ut]:((G===null||typeof G>"u")&&(G=me()),et=Et[ut]&&Et[ut][G]),typeof et>"u"||!et.length||!et[0]){var Ot="";Pt=[];for(kt in Et[ut])this.terminals_[kt]&&kt>Te&&Pt.push("'"+this.terminals_[kt]+"'");Y.showPosition?Ot="Parse error on line "+(_t+1)+`: +import{g as we,y as ve,x as _e,c as st,s as $t,b as ke,a as Pe,A as Le,l as X,d as At,j as v,e as Ie,h as Lt,i as Ae,z as B,b1 as nt,b2 as wt,m as te,r as ee,b0 as Bt,aO as se,b3 as Ne}from"./mermaid.core-C-ipfzeP.js";import{d as Se,a as Me,g as Nt,b as zt,c as Re,e as Ce}from"./svgDrawCommon-5ccd53ef-Cvg07plX.js";import"./app-jADuhdjP.js";var Yt=function(){var t=function(dt,w,k,L){for(k=k||{},L=dt.length;L--;k[dt[L]]=w);return k},e=[1,2],c=[1,3],s=[1,4],i=[2,4],a=[1,9],o=[1,11],l=[1,13],p=[1,14],r=[1,16],x=[1,17],T=[1,18],u=[1,24],g=[1,25],m=[1,26],_=[1,27],I=[1,28],V=[1,29],S=[1,30],O=[1,31],R=[1,32],q=[1,33],z=[1,34],J=[1,35],$=[1,36],H=[1,37],U=[1,38],F=[1,39],W=[1,41],Z=[1,42],K=[1,43],Q=[1,44],tt=[1,45],N=[1,46],y=[1,4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,47,48,49,50,52,53,54,59,60,61,62,70],P=[4,5,16,50,52,53],j=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,50,52,53,54,59,60,61,62,70],rt=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,49,50,52,53,54,59,60,61,62,70],A=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,48,50,52,53,54,59,60,61,62,70],Gt=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,47,50,52,53,54,59,60,61,62,70],ht=[68,69,70],ot=[1,120],Mt={trace:function(){},yy:{},symbols_:{error:2,start:3,SPACE:4,NEWLINE:5,SD:6,document:7,line:8,statement:9,box_section:10,box_line:11,participant_statement:12,create:13,box:14,restOfLine:15,end:16,signal:17,autonumber:18,NUM:19,off:20,activate:21,actor:22,deactivate:23,note_statement:24,links_statement:25,link_statement:26,properties_statement:27,details_statement:28,title:29,legacy_title:30,acc_title:31,acc_title_value:32,acc_descr:33,acc_descr_value:34,acc_descr_multiline_value:35,loop:36,rect:37,opt:38,alt:39,else_sections:40,par:41,par_sections:42,par_over:43,critical:44,option_sections:45,break:46,option:47,and:48,else:49,participant:50,AS:51,participant_actor:52,destroy:53,note:54,placement:55,text2:56,over:57,actor_pair:58,links:59,link:60,properties:61,details:62,spaceList:63,",":64,left_of:65,right_of:66,signaltype:67,"+":68,"-":69,ACTOR:70,SOLID_OPEN_ARROW:71,DOTTED_OPEN_ARROW:72,SOLID_ARROW:73,DOTTED_ARROW:74,SOLID_CROSS:75,DOTTED_CROSS:76,SOLID_POINT:77,DOTTED_POINT:78,TXT:79,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NEWLINE",6:"SD",13:"create",14:"box",15:"restOfLine",16:"end",18:"autonumber",19:"NUM",20:"off",21:"activate",23:"deactivate",29:"title",30:"legacy_title",31:"acc_title",32:"acc_title_value",33:"acc_descr",34:"acc_descr_value",35:"acc_descr_multiline_value",36:"loop",37:"rect",38:"opt",39:"alt",41:"par",43:"par_over",44:"critical",46:"break",47:"option",48:"and",49:"else",50:"participant",51:"AS",52:"participant_actor",53:"destroy",54:"note",57:"over",59:"links",60:"link",61:"properties",62:"details",64:",",65:"left_of",66:"right_of",68:"+",69:"-",70:"ACTOR",71:"SOLID_OPEN_ARROW",72:"DOTTED_OPEN_ARROW",73:"SOLID_ARROW",74:"DOTTED_ARROW",75:"SOLID_CROSS",76:"DOTTED_CROSS",77:"SOLID_POINT",78:"DOTTED_POINT",79:"TXT"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[10,0],[10,2],[11,2],[11,1],[11,1],[9,1],[9,2],[9,4],[9,2],[9,4],[9,3],[9,3],[9,2],[9,3],[9,3],[9,2],[9,2],[9,2],[9,2],[9,2],[9,1],[9,1],[9,2],[9,2],[9,1],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[45,1],[45,4],[42,1],[42,4],[40,1],[40,4],[12,5],[12,3],[12,5],[12,3],[12,3],[24,4],[24,4],[25,3],[26,3],[27,3],[28,3],[63,2],[63,1],[58,3],[58,1],[55,1],[55,1],[17,5],[17,5],[17,4],[22,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[56,1]],performAction:function(w,k,L,b,M,h,Et){var d=h.length-1;switch(M){case 3:return b.apply(h[d]),h[d];case 4:case 9:this.$=[];break;case 5:case 10:h[d-1].push(h[d]),this.$=h[d-1];break;case 6:case 7:case 11:case 12:this.$=h[d];break;case 8:case 13:this.$=[];break;case 15:h[d].type="createParticipant",this.$=h[d];break;case 16:h[d-1].unshift({type:"boxStart",boxData:b.parseBoxData(h[d-2])}),h[d-1].push({type:"boxEnd",boxText:h[d-2]}),this.$=h[d-1];break;case 18:this.$={type:"sequenceIndex",sequenceIndex:Number(h[d-2]),sequenceIndexStep:Number(h[d-1]),sequenceVisible:!0,signalType:b.LINETYPE.AUTONUMBER};break;case 19:this.$={type:"sequenceIndex",sequenceIndex:Number(h[d-1]),sequenceIndexStep:1,sequenceVisible:!0,signalType:b.LINETYPE.AUTONUMBER};break;case 20:this.$={type:"sequenceIndex",sequenceVisible:!1,signalType:b.LINETYPE.AUTONUMBER};break;case 21:this.$={type:"sequenceIndex",sequenceVisible:!0,signalType:b.LINETYPE.AUTONUMBER};break;case 22:this.$={type:"activeStart",signalType:b.LINETYPE.ACTIVE_START,actor:h[d-1]};break;case 23:this.$={type:"activeEnd",signalType:b.LINETYPE.ACTIVE_END,actor:h[d-1]};break;case 29:b.setDiagramTitle(h[d].substring(6)),this.$=h[d].substring(6);break;case 30:b.setDiagramTitle(h[d].substring(7)),this.$=h[d].substring(7);break;case 31:this.$=h[d].trim(),b.setAccTitle(this.$);break;case 32:case 33:this.$=h[d].trim(),b.setAccDescription(this.$);break;case 34:h[d-1].unshift({type:"loopStart",loopText:b.parseMessage(h[d-2]),signalType:b.LINETYPE.LOOP_START}),h[d-1].push({type:"loopEnd",loopText:h[d-2],signalType:b.LINETYPE.LOOP_END}),this.$=h[d-1];break;case 35:h[d-1].unshift({type:"rectStart",color:b.parseMessage(h[d-2]),signalType:b.LINETYPE.RECT_START}),h[d-1].push({type:"rectEnd",color:b.parseMessage(h[d-2]),signalType:b.LINETYPE.RECT_END}),this.$=h[d-1];break;case 36:h[d-1].unshift({type:"optStart",optText:b.parseMessage(h[d-2]),signalType:b.LINETYPE.OPT_START}),h[d-1].push({type:"optEnd",optText:b.parseMessage(h[d-2]),signalType:b.LINETYPE.OPT_END}),this.$=h[d-1];break;case 37:h[d-1].unshift({type:"altStart",altText:b.parseMessage(h[d-2]),signalType:b.LINETYPE.ALT_START}),h[d-1].push({type:"altEnd",signalType:b.LINETYPE.ALT_END}),this.$=h[d-1];break;case 38:h[d-1].unshift({type:"parStart",parText:b.parseMessage(h[d-2]),signalType:b.LINETYPE.PAR_START}),h[d-1].push({type:"parEnd",signalType:b.LINETYPE.PAR_END}),this.$=h[d-1];break;case 39:h[d-1].unshift({type:"parStart",parText:b.parseMessage(h[d-2]),signalType:b.LINETYPE.PAR_OVER_START}),h[d-1].push({type:"parEnd",signalType:b.LINETYPE.PAR_END}),this.$=h[d-1];break;case 40:h[d-1].unshift({type:"criticalStart",criticalText:b.parseMessage(h[d-2]),signalType:b.LINETYPE.CRITICAL_START}),h[d-1].push({type:"criticalEnd",signalType:b.LINETYPE.CRITICAL_END}),this.$=h[d-1];break;case 41:h[d-1].unshift({type:"breakStart",breakText:b.parseMessage(h[d-2]),signalType:b.LINETYPE.BREAK_START}),h[d-1].push({type:"breakEnd",optText:b.parseMessage(h[d-2]),signalType:b.LINETYPE.BREAK_END}),this.$=h[d-1];break;case 43:this.$=h[d-3].concat([{type:"option",optionText:b.parseMessage(h[d-1]),signalType:b.LINETYPE.CRITICAL_OPTION},h[d]]);break;case 45:this.$=h[d-3].concat([{type:"and",parText:b.parseMessage(h[d-1]),signalType:b.LINETYPE.PAR_AND},h[d]]);break;case 47:this.$=h[d-3].concat([{type:"else",altText:b.parseMessage(h[d-1]),signalType:b.LINETYPE.ALT_ELSE},h[d]]);break;case 48:h[d-3].draw="participant",h[d-3].type="addParticipant",h[d-3].description=b.parseMessage(h[d-1]),this.$=h[d-3];break;case 49:h[d-1].draw="participant",h[d-1].type="addParticipant",this.$=h[d-1];break;case 50:h[d-3].draw="actor",h[d-3].type="addParticipant",h[d-3].description=b.parseMessage(h[d-1]),this.$=h[d-3];break;case 51:h[d-1].draw="actor",h[d-1].type="addParticipant",this.$=h[d-1];break;case 52:h[d-1].type="destroyParticipant",this.$=h[d-1];break;case 53:this.$=[h[d-1],{type:"addNote",placement:h[d-2],actor:h[d-1].actor,text:h[d]}];break;case 54:h[d-2]=[].concat(h[d-1],h[d-1]).slice(0,2),h[d-2][0]=h[d-2][0].actor,h[d-2][1]=h[d-2][1].actor,this.$=[h[d-1],{type:"addNote",placement:b.PLACEMENT.OVER,actor:h[d-2].slice(0,2),text:h[d]}];break;case 55:this.$=[h[d-1],{type:"addLinks",actor:h[d-1].actor,text:h[d]}];break;case 56:this.$=[h[d-1],{type:"addALink",actor:h[d-1].actor,text:h[d]}];break;case 57:this.$=[h[d-1],{type:"addProperties",actor:h[d-1].actor,text:h[d]}];break;case 58:this.$=[h[d-1],{type:"addDetails",actor:h[d-1].actor,text:h[d]}];break;case 61:this.$=[h[d-2],h[d]];break;case 62:this.$=h[d];break;case 63:this.$=b.PLACEMENT.LEFTOF;break;case 64:this.$=b.PLACEMENT.RIGHTOF;break;case 65:this.$=[h[d-4],h[d-1],{type:"addMessage",from:h[d-4].actor,to:h[d-1].actor,signalType:h[d-3],msg:h[d],activate:!0},{type:"activeStart",signalType:b.LINETYPE.ACTIVE_START,actor:h[d-1]}];break;case 66:this.$=[h[d-4],h[d-1],{type:"addMessage",from:h[d-4].actor,to:h[d-1].actor,signalType:h[d-3],msg:h[d]},{type:"activeEnd",signalType:b.LINETYPE.ACTIVE_END,actor:h[d-4]}];break;case 67:this.$=[h[d-3],h[d-1],{type:"addMessage",from:h[d-3].actor,to:h[d-1].actor,signalType:h[d-2],msg:h[d]}];break;case 68:this.$={type:"addParticipant",actor:h[d]};break;case 69:this.$=b.LINETYPE.SOLID_OPEN;break;case 70:this.$=b.LINETYPE.DOTTED_OPEN;break;case 71:this.$=b.LINETYPE.SOLID;break;case 72:this.$=b.LINETYPE.DOTTED;break;case 73:this.$=b.LINETYPE.SOLID_CROSS;break;case 74:this.$=b.LINETYPE.DOTTED_CROSS;break;case 75:this.$=b.LINETYPE.SOLID_POINT;break;case 76:this.$=b.LINETYPE.DOTTED_POINT;break;case 77:this.$=b.parseMessage(h[d].trim().substring(1));break}},table:[{3:1,4:e,5:c,6:s},{1:[3]},{3:5,4:e,5:c,6:s},{3:6,4:e,5:c,6:s},t([1,4,5,13,14,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,50,52,53,54,59,60,61,62,70],i,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:a,5:o,8:8,9:10,12:12,13:l,14:p,17:15,18:r,21:x,22:40,23:T,24:19,25:20,26:21,27:22,28:23,29:u,30:g,31:m,33:_,35:I,36:V,37:S,38:O,39:R,41:q,43:z,44:J,46:$,50:H,52:U,53:F,54:W,59:Z,60:K,61:Q,62:tt,70:N},t(y,[2,5]),{9:47,12:12,13:l,14:p,17:15,18:r,21:x,22:40,23:T,24:19,25:20,26:21,27:22,28:23,29:u,30:g,31:m,33:_,35:I,36:V,37:S,38:O,39:R,41:q,43:z,44:J,46:$,50:H,52:U,53:F,54:W,59:Z,60:K,61:Q,62:tt,70:N},t(y,[2,7]),t(y,[2,8]),t(y,[2,14]),{12:48,50:H,52:U,53:F},{15:[1,49]},{5:[1,50]},{5:[1,53],19:[1,51],20:[1,52]},{22:54,70:N},{22:55,70:N},{5:[1,56]},{5:[1,57]},{5:[1,58]},{5:[1,59]},{5:[1,60]},t(y,[2,29]),t(y,[2,30]),{32:[1,61]},{34:[1,62]},t(y,[2,33]),{15:[1,63]},{15:[1,64]},{15:[1,65]},{15:[1,66]},{15:[1,67]},{15:[1,68]},{15:[1,69]},{15:[1,70]},{22:71,70:N},{22:72,70:N},{22:73,70:N},{67:74,71:[1,75],72:[1,76],73:[1,77],74:[1,78],75:[1,79],76:[1,80],77:[1,81],78:[1,82]},{55:83,57:[1,84],65:[1,85],66:[1,86]},{22:87,70:N},{22:88,70:N},{22:89,70:N},{22:90,70:N},t([5,51,64,71,72,73,74,75,76,77,78,79],[2,68]),t(y,[2,6]),t(y,[2,15]),t(P,[2,9],{10:91}),t(y,[2,17]),{5:[1,93],19:[1,92]},{5:[1,94]},t(y,[2,21]),{5:[1,95]},{5:[1,96]},t(y,[2,24]),t(y,[2,25]),t(y,[2,26]),t(y,[2,27]),t(y,[2,28]),t(y,[2,31]),t(y,[2,32]),t(j,i,{7:97}),t(j,i,{7:98}),t(j,i,{7:99}),t(rt,i,{40:100,7:101}),t(A,i,{42:102,7:103}),t(A,i,{7:103,42:104}),t(Gt,i,{45:105,7:106}),t(j,i,{7:107}),{5:[1,109],51:[1,108]},{5:[1,111],51:[1,110]},{5:[1,112]},{22:115,68:[1,113],69:[1,114],70:N},t(ht,[2,69]),t(ht,[2,70]),t(ht,[2,71]),t(ht,[2,72]),t(ht,[2,73]),t(ht,[2,74]),t(ht,[2,75]),t(ht,[2,76]),{22:116,70:N},{22:118,58:117,70:N},{70:[2,63]},{70:[2,64]},{56:119,79:ot},{56:121,79:ot},{56:122,79:ot},{56:123,79:ot},{4:[1,126],5:[1,128],11:125,12:127,16:[1,124],50:H,52:U,53:F},{5:[1,129]},t(y,[2,19]),t(y,[2,20]),t(y,[2,22]),t(y,[2,23]),{4:a,5:o,8:8,9:10,12:12,13:l,14:p,16:[1,130],17:15,18:r,21:x,22:40,23:T,24:19,25:20,26:21,27:22,28:23,29:u,30:g,31:m,33:_,35:I,36:V,37:S,38:O,39:R,41:q,43:z,44:J,46:$,50:H,52:U,53:F,54:W,59:Z,60:K,61:Q,62:tt,70:N},{4:a,5:o,8:8,9:10,12:12,13:l,14:p,16:[1,131],17:15,18:r,21:x,22:40,23:T,24:19,25:20,26:21,27:22,28:23,29:u,30:g,31:m,33:_,35:I,36:V,37:S,38:O,39:R,41:q,43:z,44:J,46:$,50:H,52:U,53:F,54:W,59:Z,60:K,61:Q,62:tt,70:N},{4:a,5:o,8:8,9:10,12:12,13:l,14:p,16:[1,132],17:15,18:r,21:x,22:40,23:T,24:19,25:20,26:21,27:22,28:23,29:u,30:g,31:m,33:_,35:I,36:V,37:S,38:O,39:R,41:q,43:z,44:J,46:$,50:H,52:U,53:F,54:W,59:Z,60:K,61:Q,62:tt,70:N},{16:[1,133]},{4:a,5:o,8:8,9:10,12:12,13:l,14:p,16:[2,46],17:15,18:r,21:x,22:40,23:T,24:19,25:20,26:21,27:22,28:23,29:u,30:g,31:m,33:_,35:I,36:V,37:S,38:O,39:R,41:q,43:z,44:J,46:$,49:[1,134],50:H,52:U,53:F,54:W,59:Z,60:K,61:Q,62:tt,70:N},{16:[1,135]},{4:a,5:o,8:8,9:10,12:12,13:l,14:p,16:[2,44],17:15,18:r,21:x,22:40,23:T,24:19,25:20,26:21,27:22,28:23,29:u,30:g,31:m,33:_,35:I,36:V,37:S,38:O,39:R,41:q,43:z,44:J,46:$,48:[1,136],50:H,52:U,53:F,54:W,59:Z,60:K,61:Q,62:tt,70:N},{16:[1,137]},{16:[1,138]},{4:a,5:o,8:8,9:10,12:12,13:l,14:p,16:[2,42],17:15,18:r,21:x,22:40,23:T,24:19,25:20,26:21,27:22,28:23,29:u,30:g,31:m,33:_,35:I,36:V,37:S,38:O,39:R,41:q,43:z,44:J,46:$,47:[1,139],50:H,52:U,53:F,54:W,59:Z,60:K,61:Q,62:tt,70:N},{4:a,5:o,8:8,9:10,12:12,13:l,14:p,16:[1,140],17:15,18:r,21:x,22:40,23:T,24:19,25:20,26:21,27:22,28:23,29:u,30:g,31:m,33:_,35:I,36:V,37:S,38:O,39:R,41:q,43:z,44:J,46:$,50:H,52:U,53:F,54:W,59:Z,60:K,61:Q,62:tt,70:N},{15:[1,141]},t(y,[2,49]),{15:[1,142]},t(y,[2,51]),t(y,[2,52]),{22:143,70:N},{22:144,70:N},{56:145,79:ot},{56:146,79:ot},{56:147,79:ot},{64:[1,148],79:[2,62]},{5:[2,55]},{5:[2,77]},{5:[2,56]},{5:[2,57]},{5:[2,58]},t(y,[2,16]),t(P,[2,10]),{12:149,50:H,52:U,53:F},t(P,[2,12]),t(P,[2,13]),t(y,[2,18]),t(y,[2,34]),t(y,[2,35]),t(y,[2,36]),t(y,[2,37]),{15:[1,150]},t(y,[2,38]),{15:[1,151]},t(y,[2,39]),t(y,[2,40]),{15:[1,152]},t(y,[2,41]),{5:[1,153]},{5:[1,154]},{56:155,79:ot},{56:156,79:ot},{5:[2,67]},{5:[2,53]},{5:[2,54]},{22:157,70:N},t(P,[2,11]),t(rt,i,{7:101,40:158}),t(A,i,{7:103,42:159}),t(Gt,i,{7:106,45:160}),t(y,[2,48]),t(y,[2,50]),{5:[2,65]},{5:[2,66]},{79:[2,61]},{16:[2,47]},{16:[2,45]},{16:[2,43]}],defaultActions:{5:[2,1],6:[2,2],85:[2,63],86:[2,64],119:[2,55],120:[2,77],121:[2,56],122:[2,57],123:[2,58],145:[2,67],146:[2,53],147:[2,54],155:[2,65],156:[2,66],157:[2,61],158:[2,47],159:[2,45],160:[2,43]},parseError:function(w,k){if(k.recoverable)this.trace(w);else{var L=new Error(w);throw L.hash=k,L}},parse:function(w){var k=this,L=[0],b=[],M=[null],h=[],Et=this.table,d="",_t=0,Xt=0,Te=2,Jt=1,be=h.slice.call(arguments,1),Y=Object.create(this.lexer),pt={yy:{}};for(var Ct in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Ct)&&(pt.yy[Ct]=this.yy[Ct]);Y.setInput(w,pt.yy),pt.yy.lexer=Y,pt.yy.parser=this,typeof Y.yylloc>"u"&&(Y.yylloc={});var Dt=Y.yylloc;h.push(Dt);var Ee=Y.options&&Y.options.ranges;typeof pt.yy.parseError=="function"?this.parseError=pt.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function me(){var lt;return lt=b.pop()||Y.lex()||Jt,typeof lt!="number"&&(lt instanceof Array&&(b=lt,lt=b.pop()),lt=k.symbols_[lt]||lt),lt}for(var G,ut,et,Vt,yt={},kt,ct,Zt,Pt;;){if(ut=L[L.length-1],this.defaultActions[ut]?et=this.defaultActions[ut]:((G===null||typeof G>"u")&&(G=me()),et=Et[ut]&&Et[ut][G]),typeof et>"u"||!et.length||!et[0]){var Ot="";Pt=[];for(kt in Et[ut])this.terminals_[kt]&&kt>Te&&Pt.push("'"+this.terminals_[kt]+"'");Y.showPosition?Ot="Parse error on line "+(_t+1)+`: `+Y.showPosition()+` Expecting `+Pt.join(", ")+", got '"+(this.terminals_[G]||G)+"'":Ot="Parse error on line "+(_t+1)+": Unexpected "+(G==Jt?"end of input":"'"+(this.terminals_[G]||G)+"'"),this.parseError(Ot,{text:Y.match,token:this.terminals_[G]||G,line:Y.yylineno,loc:Dt,expected:Pt})}if(et[0]instanceof Array&&et.length>1)throw new Error("Parse Error: multiple actions possible at state: "+ut+", token: "+G);switch(et[0]){case 1:L.push(G),M.push(Y.yytext),h.push(Y.yylloc),L.push(et[1]),G=null,Xt=Y.yyleng,d=Y.yytext,_t=Y.yylineno,Dt=Y.yylloc;break;case 2:if(ct=this.productions_[et[1]][1],yt.$=M[M.length-ct],yt._$={first_line:h[h.length-(ct||1)].first_line,last_line:h[h.length-1].last_line,first_column:h[h.length-(ct||1)].first_column,last_column:h[h.length-1].last_column},Ee&&(yt._$.range=[h[h.length-(ct||1)].range[0],h[h.length-1].range[1]]),Vt=this.performAction.apply(yt,[d,Xt,_t,pt.yy,et[1],M,h].concat(be)),typeof Vt<"u")return Vt;ct&&(L=L.slice(0,-1*ct*2),M=M.slice(0,-1*ct),h=h.slice(0,-1*ct)),L.push(this.productions_[et[1]][0]),M.push(yt.$),h.push(yt._$),Zt=Et[L[L.length-2]][L[L.length-1]],L.push(Zt);break;case 3:return!0}}return!0}},ye=function(){var dt={EOF:1,parseError:function(k,L){if(this.yy.parser)this.yy.parser.parseError(k,L);else throw new Error(k)},setInput:function(w,k){return this.yy=k||this.yy||{},this._input=w,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var w=this._input[0];this.yytext+=w,this.yyleng++,this.offset++,this.match+=w,this.matched+=w;var k=w.match(/(?:\r\n?|\n).*/g);return k?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),w},unput:function(w){var k=w.length,L=w.split(/(?:\r\n?|\n)/g);this._input=w+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-k),this.offset-=k;var b=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),L.length-1&&(this.yylineno-=L.length-1);var M=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:L?(L.length===b.length?this.yylloc.first_column:0)+b[b.length-L.length].length-L[0].length:this.yylloc.first_column-k},this.options.ranges&&(this.yylloc.range=[M[0],M[0]+this.yyleng-k]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(w){this.unput(this.match.slice(w))},pastInput:function(){var w=this.matched.substr(0,this.matched.length-this.match.length);return(w.length>20?"...":"")+w.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var w=this.match;return w.length<20&&(w+=this._input.substr(0,20-w.length)),(w.substr(0,20)+(w.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var w=this.pastInput(),k=new Array(w.length+1).join("-");return w+this.upcomingInput()+` diff --git a/assets/state-and-deps.html-BOZGNHxc.js b/assets/state-and-deps.html-B3AeqqiO.js similarity index 99% rename from assets/state-and-deps.html-BOZGNHxc.js rename to assets/state-and-deps.html-B3AeqqiO.js index 5374802..e68b80b 100644 --- a/assets/state-and-deps.html-BOZGNHxc.js +++ b/assets/state-and-deps.html-B3AeqqiO.js @@ -1,4 +1,4 @@ -import{_ as r}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as p,o as k,c as d,e as o,w as a,b as n,d as s,a as l}from"./app-B0fd3cYb.js";const m={},b=l('

State and Dependencies

State

The TaskiqState is a global variable where you can keep the variables you want to use later. For example, you want to open a database connection pool at a broker's startup.

This can be achieved by adding event handlers.

You can use one of these events:

  • WORKER_STARTUP
  • CLIENT_STARTUP
  • WORKER_SHUTDOWN
  • CLIENT_SHUTDOWN

Worker events are called when you start listening to the broker messages using taskiq. Client events are called when you call the startup method of your broker from your code.

This is an example of code using event handlers:

',8),v=n("div",{class:"language-python line-numbers-mode","data-ext":"py","data-title":"py"},[n("pre",{class:"language-python"},[n("code",null,[n("span",{class:"token keyword"},"import"),s(` asyncio +import{_ as r}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as p,o as k,c as d,e as o,w as a,b as n,d as s,a as l}from"./app-jADuhdjP.js";const m={},b=l('

State and Dependencies

State

The TaskiqState is a global variable where you can keep the variables you want to use later. For example, you want to open a database connection pool at a broker's startup.

This can be achieved by adding event handlers.

You can use one of these events:

  • WORKER_STARTUP
  • CLIENT_STARTUP
  • WORKER_SHUTDOWN
  • CLIENT_SHUTDOWN

Worker events are called when you start listening to the broker messages using taskiq. Client events are called when you call the startup method of your broker from your code.

This is an example of code using event handlers:

',8),v=n("div",{class:"language-python line-numbers-mode","data-ext":"py","data-title":"py"},[n("pre",{class:"language-python"},[n("code",null,[n("span",{class:"token keyword"},"import"),s(` asyncio `),n("span",{class:"token keyword"},"from"),s(" typing "),n("span",{class:"token keyword"},"import"),s(" Annotated"),n("span",{class:"token punctuation"},","),s(` Optional `),n("span",{class:"token keyword"},"from"),s(" redis"),n("span",{class:"token punctuation"},"."),s("asyncio "),n("span",{class:"token keyword"},"import"),s(" ConnectionPool"),n("span",{class:"token punctuation"},","),s(" Redis "),n("span",{class:"token comment"},"# type: ignore"),s(` @@ -392,4 +392,4 @@ broker `),n("span",{class:"token operator"},"="),s(" AioPikaBroker"),n("span",{c `),n("span",{class:"token comment"},"# Here we commit if everything is fine."),s(` `),n("span",{class:"token keyword"},"await"),s(" trans"),n("span",{class:"token punctuation"},"."),s("commit"),n("span",{class:"token punctuation"},"("),n("span",{class:"token punctuation"},")"),s(` `)])]),n("div",{class:"line-numbers","aria-hidden":"true"},[n("div",{class:"line-number"}),n("div",{class:"line-number"}),n("div",{class:"line-number"}),n("div",{class:"line-number"}),n("div",{class:"line-number"}),n("div",{class:"line-number"}),n("div",{class:"line-number"}),n("div",{class:"line-number"}),n("div",{class:"line-number"}),n("div",{class:"line-number"}),n("div",{class:"line-number"}),n("div",{class:"line-number"}),n("div",{class:"line-number"}),n("div",{class:"line-number"})])],-1),pn=l(`

If you don't want to propagate exceptions in dependencies, you can add --no-propagate-errors option to worker command.

taskiq worker my_file:broker --no-propagate-errors
-

In this case, no exception will ever going to be propagated to any dependency.

Generics

Taskiq supports generic dependencies. You can create a generic class that is generic over another class and takskiq will be able to resolve generics based on type annotations.

Default dependencies

By default taskiq has only two dependencies:

  • Context from taskiq.context.Context
  • TaskiqState from taskiq.state.TaskiqState

Adding first-level dependencies

You can expand default list of available dependencies for you application. Taskiq have an ability to add new first-level dependencies using brokers.

The AsyncBroker interface has a function called add_dependency_context and you can add more default dependencies to the taskiq. This may be useful for libraries if you want to add new dependencies to users.

`,11);function un(rn,kn){const c=p("Tabs"),u=p("ExternalLinkIcon"),i=p("Mermaid");return k(),d("div",null,[b,o(c,{id:"43",data:[{id:"Annotated 3.10+"},{id:"default values"}]},{title0:a(({value:e,isActive:t})=>[s("Annotated 3.10+")]),title1:a(({value:e,isActive:t})=>[s("default values")]),tab0:a(({value:e,isActive:t})=>[v]),tab1:a(({value:e,isActive:t})=>[y]),_:1}),w,h,f,_,g,n("p",null,[s("We use the "),n("a",T,[s("taskiq-dependencies"),o(u)]),s(" package to provide autocompetion. You can easily integrate it in your own project.")]),A,o(c,{id:"84",data:[{id:"Annotated 3.10+"},{id:"default values"}]},{title0:a(({value:e,isActive:t})=>[s("Annotated 3.10+")]),title1:a(({value:e,isActive:t})=>[s("default values")]),tab0:a(({value:e,isActive:t})=>[q]),tab1:a(({value:e,isActive:t})=>[x]),_:1}),D,o(c,{id:"95",data:[{id:"Annotated 3.10+"},{id:"default values"}]},{title0:a(({value:e,isActive:t})=>[s("Annotated 3.10+")]),title1:a(({value:e,isActive:t})=>[s("default values")]),tab0:a(({value:e,isActive:t})=>[S]),tab1:a(({value:e,isActive:t})=>[N]),_:1}),R,C,E,G,I,o(c,{id:"118",data:[{id:"Annotated 3.10+"},{id:"default values"}]},{title0:a(({value:e,isActive:t})=>[s("Annotated 3.10+")]),title1:a(({value:e,isActive:t})=>[s("default values")]),tab0:a(({value:e,isActive:t})=>[B]),tab1:a(({value:e,isActive:t})=>[O]),_:1}),H,o(c,{id:"132",data:[{id:"Annotated 3.10+"},{id:"default values"}]},{title0:a(({value:e,isActive:t})=>[s("Annotated 3.10+")]),title1:a(({value:e,isActive:t})=>[s("default values")]),tab0:a(({value:e,isActive:t})=>[P]),tab1:a(({value:e,isActive:t})=>[W]),_:1}),F,o(i,{id:"mermaid-143",code:"eJxLL0osyFAIceFSAALH6OT83Nz8vPiU1IJYsIhTNJBpCGE7g9hGELZLdG5lfElicTaE66igq2un4ITEdoZoB7MhhjtD2QC8vBpx"}),U,o(i,{id:"mermaid-147",code:"eJxLL0osyFAIceFSAALH6OT83Nz8vPiU1IJYsIhTNJBpCGG7ROdWxpckFmdDuM4gKSMIu7g0CWJQeWZJRn5piUJyYnJGKlgKbK4hhsGpeSkQKxV0de0UnCBsQzDHGWIzmA1xlzOUDQCEcyvm"}),L,Y,K,o(c,{id:"157",data:[{id:"Annotated 3.10+"},{id:"default values"}]},{title0:a(({value:e,isActive:t})=>[s("Annotated 3.10+")]),title1:a(({value:e,isActive:t})=>[s("default values")]),tab0:a(({value:e,isActive:t})=>[J]),tab1:a(({value:e,isActive:t})=>[M]),_:1}),z,V,Z,j,o(c,{id:"177",data:[{id:"Annotated 3.10+"},{id:"default values"}]},{title0:a(({value:e,isActive:t})=>[s("Annotated 3.10+")]),title1:a(({value:e,isActive:t})=>[s("default values")]),tab0:a(({value:e,isActive:t})=>[Q]),tab1:a(({value:e,isActive:t})=>[X]),_:1}),$,nn,o(c,{id:"191",data:[{id:"Annotated 3.10+"},{id:"default values"}]},{title0:a(({value:e,isActive:t})=>[s("Annotated 3.10+")]),title1:a(({value:e,isActive:t})=>[s("default values")]),tab0:a(({value:e,isActive:t})=>[sn]),tab1:a(({value:e,isActive:t})=>[an]),_:1}),en,tn,on,o(c,{id:"208",data:[{id:"Annotated 3.10+"},{id:"default values"}]},{title0:a(({value:e,isActive:t})=>[s("Annotated 3.10+")]),title1:a(({value:e,isActive:t})=>[s("default values")]),tab0:a(({value:e,isActive:t})=>[cn]),tab1:a(({value:e,isActive:t})=>[ln]),_:1}),pn])}const bn=r(m,[["render",un],["__file","state-and-deps.html.vue"]]),vn=JSON.parse(`{"path":"/guide/state-and-deps.html","title":"State and Dependencies","lang":"en-US","frontmatter":{"order":7,"description":"State and Dependencies State The TaskiqState is a global variable where you can keep the variables you want to use later. For example, you want to open a database connection poo...","head":[["meta",{"property":"og:url","content":"https://taskiq-python.github.io/guide/state-and-deps.html"}],["meta",{"property":"og:site_name","content":"Taskiq"}],["meta",{"property":"og:title","content":"State and Dependencies"}],["meta",{"property":"og:description","content":"State and Dependencies State The TaskiqState is a global variable where you can keep the variables you want to use later. For example, you want to open a database connection poo..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-04-20T00:01:02.000Z"}],["meta",{"property":"article:modified_time","content":"2024-04-20T00:01:02.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"State and Dependencies\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-04-20T00:01:02.000Z\\",\\"author\\":[]}"]]},"headers":[{"level":2,"title":"State","slug":"state","link":"#state","children":[]},{"level":2,"title":"Dependencies","slug":"dependencies","link":"#dependencies","children":[{"level":3,"title":"How dependencies are useful","slug":"how-dependencies-are-useful","link":"#how-dependencies-are-useful","children":[]},{"level":3,"title":"How do dependencies work","slug":"how-do-dependencies-work","link":"#how-do-dependencies-work","children":[]},{"level":3,"title":"Class as a dependency","slug":"class-as-a-dependency","link":"#class-as-a-dependency","children":[]},{"level":3,"title":"Generator dependencies","slug":"generator-dependencies","link":"#generator-dependencies","children":[]}]},{"level":2,"title":"Generics","slug":"generics","link":"#generics","children":[{"level":3,"title":"Default dependencies","slug":"default-dependencies","link":"#default-dependencies","children":[]},{"level":3,"title":"Adding first-level dependencies","slug":"adding-first-level-dependencies","link":"#adding-first-level-dependencies","children":[]}]}],"git":{"createdTime":1713571262000,"updatedTime":1713571262000,"contributors":[{"name":"Pavel Kirilin","email":"win10@list.ru","commits":1}]},"filePathRelative":"guide/state-and-deps.md","localizedDate":"April 20, 2024","autoDesc":true,"excerpt":"\\n

State

\\n

The TaskiqState is a global variable where you can keep the variables you want to use later.\\nFor example, you want to open a database connection pool at a broker's startup.

\\n

This can be achieved by adding event handlers.

\\n

You can use one of these events:

"}`);export{bn as comp,vn as data}; +

In this case, no exception will ever going to be propagated to any dependency.

Generics

Taskiq supports generic dependencies. You can create a generic class that is generic over another class and takskiq will be able to resolve generics based on type annotations.

Default dependencies

By default taskiq has only two dependencies:

  • Context from taskiq.context.Context
  • TaskiqState from taskiq.state.TaskiqState

Adding first-level dependencies

You can expand default list of available dependencies for you application. Taskiq have an ability to add new first-level dependencies using brokers.

The AsyncBroker interface has a function called add_dependency_context and you can add more default dependencies to the taskiq. This may be useful for libraries if you want to add new dependencies to users.

`,11);function un(rn,kn){const c=p("Tabs"),u=p("ExternalLinkIcon"),i=p("Mermaid");return k(),d("div",null,[b,o(c,{id:"43",data:[{id:"Annotated 3.10+"},{id:"default values"}]},{title0:a(({value:e,isActive:t})=>[s("Annotated 3.10+")]),title1:a(({value:e,isActive:t})=>[s("default values")]),tab0:a(({value:e,isActive:t})=>[v]),tab1:a(({value:e,isActive:t})=>[y]),_:1}),w,h,f,_,g,n("p",null,[s("We use the "),n("a",T,[s("taskiq-dependencies"),o(u)]),s(" package to provide autocompetion. You can easily integrate it in your own project.")]),A,o(c,{id:"84",data:[{id:"Annotated 3.10+"},{id:"default values"}]},{title0:a(({value:e,isActive:t})=>[s("Annotated 3.10+")]),title1:a(({value:e,isActive:t})=>[s("default values")]),tab0:a(({value:e,isActive:t})=>[q]),tab1:a(({value:e,isActive:t})=>[x]),_:1}),D,o(c,{id:"95",data:[{id:"Annotated 3.10+"},{id:"default values"}]},{title0:a(({value:e,isActive:t})=>[s("Annotated 3.10+")]),title1:a(({value:e,isActive:t})=>[s("default values")]),tab0:a(({value:e,isActive:t})=>[S]),tab1:a(({value:e,isActive:t})=>[N]),_:1}),R,C,E,G,I,o(c,{id:"118",data:[{id:"Annotated 3.10+"},{id:"default values"}]},{title0:a(({value:e,isActive:t})=>[s("Annotated 3.10+")]),title1:a(({value:e,isActive:t})=>[s("default values")]),tab0:a(({value:e,isActive:t})=>[B]),tab1:a(({value:e,isActive:t})=>[O]),_:1}),H,o(c,{id:"132",data:[{id:"Annotated 3.10+"},{id:"default values"}]},{title0:a(({value:e,isActive:t})=>[s("Annotated 3.10+")]),title1:a(({value:e,isActive:t})=>[s("default values")]),tab0:a(({value:e,isActive:t})=>[P]),tab1:a(({value:e,isActive:t})=>[W]),_:1}),F,o(i,{id:"mermaid-143",code:"eJxLL0osyFAIceFSAALH6OT83Nz8vPiU1IJYsIhTNJBpCGE7g9hGELZLdG5lfElicTaE66igq2un4ITEdoZoB7MhhjtD2QC8vBpx"}),U,o(i,{id:"mermaid-147",code:"eJxLL0osyFAIceFSAALH6OT83Nz8vPiU1IJYsIhTNJBpCGG7ROdWxpckFmdDuM4gKSMIu7g0CWJQeWZJRn5piUJyYnJGKlgKbK4hhsGpeSkQKxV0de0UnCBsQzDHGWIzmA1xlzOUDQCEcyvm"}),L,Y,K,o(c,{id:"157",data:[{id:"Annotated 3.10+"},{id:"default values"}]},{title0:a(({value:e,isActive:t})=>[s("Annotated 3.10+")]),title1:a(({value:e,isActive:t})=>[s("default values")]),tab0:a(({value:e,isActive:t})=>[J]),tab1:a(({value:e,isActive:t})=>[M]),_:1}),z,V,Z,j,o(c,{id:"177",data:[{id:"Annotated 3.10+"},{id:"default values"}]},{title0:a(({value:e,isActive:t})=>[s("Annotated 3.10+")]),title1:a(({value:e,isActive:t})=>[s("default values")]),tab0:a(({value:e,isActive:t})=>[Q]),tab1:a(({value:e,isActive:t})=>[X]),_:1}),$,nn,o(c,{id:"191",data:[{id:"Annotated 3.10+"},{id:"default values"}]},{title0:a(({value:e,isActive:t})=>[s("Annotated 3.10+")]),title1:a(({value:e,isActive:t})=>[s("default values")]),tab0:a(({value:e,isActive:t})=>[sn]),tab1:a(({value:e,isActive:t})=>[an]),_:1}),en,tn,on,o(c,{id:"208",data:[{id:"Annotated 3.10+"},{id:"default values"}]},{title0:a(({value:e,isActive:t})=>[s("Annotated 3.10+")]),title1:a(({value:e,isActive:t})=>[s("default values")]),tab0:a(({value:e,isActive:t})=>[cn]),tab1:a(({value:e,isActive:t})=>[ln]),_:1}),pn])}const bn=r(m,[["render",un],["__file","state-and-deps.html.vue"]]),vn=JSON.parse(`{"path":"/guide/state-and-deps.html","title":"State and Dependencies","lang":"en-US","frontmatter":{"order":7,"description":"State and Dependencies State The TaskiqState is a global variable where you can keep the variables you want to use later. For example, you want to open a database connection poo...","head":[["meta",{"property":"og:url","content":"https://taskiq-python.github.io/guide/state-and-deps.html"}],["meta",{"property":"og:site_name","content":"Taskiq"}],["meta",{"property":"og:title","content":"State and Dependencies"}],["meta",{"property":"og:description","content":"State and Dependencies State The TaskiqState is a global variable where you can keep the variables you want to use later. For example, you want to open a database connection poo..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-04-26T20:07:59.000Z"}],["meta",{"property":"article:modified_time","content":"2024-04-26T20:07:59.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"State and Dependencies\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-04-26T20:07:59.000Z\\",\\"author\\":[]}"]]},"headers":[{"level":2,"title":"State","slug":"state","link":"#state","children":[]},{"level":2,"title":"Dependencies","slug":"dependencies","link":"#dependencies","children":[{"level":3,"title":"How dependencies are useful","slug":"how-dependencies-are-useful","link":"#how-dependencies-are-useful","children":[]},{"level":3,"title":"How do dependencies work","slug":"how-do-dependencies-work","link":"#how-do-dependencies-work","children":[]},{"level":3,"title":"Class as a dependency","slug":"class-as-a-dependency","link":"#class-as-a-dependency","children":[]},{"level":3,"title":"Generator dependencies","slug":"generator-dependencies","link":"#generator-dependencies","children":[]}]},{"level":2,"title":"Generics","slug":"generics","link":"#generics","children":[{"level":3,"title":"Default dependencies","slug":"default-dependencies","link":"#default-dependencies","children":[]},{"level":3,"title":"Adding first-level dependencies","slug":"adding-first-level-dependencies","link":"#adding-first-level-dependencies","children":[]}]}],"git":{"createdTime":1714162079000,"updatedTime":1714162079000,"contributors":[{"name":"Pavel Kirilin","email":"win10@list.ru","commits":1}]},"filePathRelative":"guide/state-and-deps.md","localizedDate":"April 26, 2024","autoDesc":true,"excerpt":"\\n

State

\\n

The TaskiqState is a global variable where you can keep the variables you want to use later.\\nFor example, you want to open a database connection pool at a broker's startup.

\\n

This can be achieved by adding event handlers.

\\n

You can use one of these events:

"}`);export{bn as comp,vn as data}; diff --git a/assets/stateDiagram-0ff1cf1a-BWw4tG75.js b/assets/stateDiagram-0ff1cf1a-CKs1dX20.js similarity index 97% rename from assets/stateDiagram-0ff1cf1a-BWw4tG75.js rename to assets/stateDiagram-0ff1cf1a-CKs1dX20.js index d9318b3..2543f53 100644 --- a/assets/stateDiagram-0ff1cf1a-BWw4tG75.js +++ b/assets/stateDiagram-0ff1cf1a-CKs1dX20.js @@ -1 +1 @@ -import{p as P,d as N,s as W}from"./styles-d20c7d72-Dnn2fl5U.js";import{c as t,h as H,l as b,i as R,j as T,ap as v,z as U}from"./mermaid.core-DtSoU78u.js";import{G as C}from"./graph-GEpVUbdH.js";import{l as F}from"./layout-DNn7Y9VF.js";import{l as $}from"./line-BM-2XH-S.js";import"./app-B0fd3cYb.js";import"./array-BKyUJesY.js";import"./path-CbwjOpE9.js";const O=e=>e.append("circle").attr("class","start-state").attr("r",t().state.sizeUnit).attr("cx",t().state.padding+t().state.sizeUnit).attr("cy",t().state.padding+t().state.sizeUnit),X=e=>e.append("line").style("stroke","grey").style("stroke-dasharray","3").attr("x1",t().state.textHeight).attr("class","divider").attr("x2",t().state.textHeight*2).attr("y1",0).attr("y2",0),J=(e,i)=>{const o=e.append("text").attr("x",2*t().state.padding).attr("y",t().state.textHeight+2*t().state.padding).attr("font-size",t().state.fontSize).attr("class","state-title").text(i.id),c=o.node().getBBox();return e.insert("rect",":first-child").attr("x",t().state.padding).attr("y",t().state.padding).attr("width",c.width+2*t().state.padding).attr("height",c.height+2*t().state.padding).attr("rx",t().state.radius),o},Y=(e,i)=>{const o=function(l,m,w){const E=l.append("tspan").attr("x",2*t().state.padding).text(m);w||E.attr("dy",t().state.textHeight)},s=e.append("text").attr("x",2*t().state.padding).attr("y",t().state.textHeight+1.3*t().state.padding).attr("font-size",t().state.fontSize).attr("class","state-title").text(i.descriptions[0]).node().getBBox(),g=s.height,p=e.append("text").attr("x",t().state.padding).attr("y",g+t().state.padding*.4+t().state.dividerMargin+t().state.textHeight).attr("class","state-description");let a=!0,r=!0;i.descriptions.forEach(function(l){a||(o(p,l,r),r=!1),a=!1});const y=e.append("line").attr("x1",t().state.padding).attr("y1",t().state.padding+g+t().state.dividerMargin/2).attr("y2",t().state.padding+g+t().state.dividerMargin/2).attr("class","descr-divider"),x=p.node().getBBox(),d=Math.max(x.width,s.width);return y.attr("x2",d+3*t().state.padding),e.insert("rect",":first-child").attr("x",t().state.padding).attr("y",t().state.padding).attr("width",d+2*t().state.padding).attr("height",x.height+g+2*t().state.padding).attr("rx",t().state.radius),e},I=(e,i,o)=>{const c=t().state.padding,s=2*t().state.padding,g=e.node().getBBox(),p=g.width,a=g.x,r=e.append("text").attr("x",0).attr("y",t().state.titleShift).attr("font-size",t().state.fontSize).attr("class","state-title").text(i.id),x=r.node().getBBox().width+s;let d=Math.max(x,p);d===p&&(d=d+s);let l;const m=e.node().getBBox();i.doc,l=a-c,x>p&&(l=(p-d)/2+c),Math.abs(a-m.x)p&&(l=a-(x-p)/2);const w=1-t().state.textHeight;return e.insert("rect",":first-child").attr("x",l).attr("y",w).attr("class",o?"alt-composit":"composit").attr("width",d).attr("height",m.height+t().state.textHeight+t().state.titleShift+1).attr("rx","0"),r.attr("x",l+c),x<=p&&r.attr("x",a+(d-s)/2-x/2+c),e.insert("rect",":first-child").attr("x",l).attr("y",t().state.titleShift-t().state.textHeight-t().state.padding).attr("width",d).attr("height",t().state.textHeight*3).attr("rx",t().state.radius),e.insert("rect",":first-child").attr("x",l).attr("y",t().state.titleShift-t().state.textHeight-t().state.padding).attr("width",d).attr("height",m.height+3+2*t().state.textHeight).attr("rx",t().state.radius),e},_=e=>(e.append("circle").attr("class","end-state-outer").attr("r",t().state.sizeUnit+t().state.miniPadding).attr("cx",t().state.padding+t().state.sizeUnit+t().state.miniPadding).attr("cy",t().state.padding+t().state.sizeUnit+t().state.miniPadding),e.append("circle").attr("class","end-state-inner").attr("r",t().state.sizeUnit).attr("cx",t().state.padding+t().state.sizeUnit+2).attr("cy",t().state.padding+t().state.sizeUnit+2)),q=(e,i)=>{let o=t().state.forkWidth,c=t().state.forkHeight;if(i.parentId){let s=o;o=c,c=s}return e.append("rect").style("stroke","black").style("fill","black").attr("width",o).attr("height",c).attr("x",t().state.padding).attr("y",t().state.padding)},Z=(e,i,o,c)=>{let s=0;const g=c.append("text");g.style("text-anchor","start"),g.attr("class","noteText");let p=e.replace(/\r\n/g,"
");p=p.replace(/\n/g,"
");const a=p.split(T.lineBreakRegex);let r=1.25*t().state.noteMargin;for(const y of a){const x=y.trim();if(x.length>0){const d=g.append("tspan");if(d.text(x),r===0){const l=d.node().getBBox();r+=l.height}s+=r,d.attr("x",i+t().state.noteMargin),d.attr("y",o+s+1.25*t().state.noteMargin)}}return{textWidth:g.node().getBBox().width,textHeight:s}},j=(e,i)=>{i.attr("class","state-note");const o=i.append("rect").attr("x",0).attr("y",t().state.padding),c=i.append("g"),{textWidth:s,textHeight:g}=Z(e,0,0,c);return o.attr("height",g+2*t().state.noteMargin),o.attr("width",s+t().state.noteMargin*2),o},L=function(e,i){const o=i.id,c={id:o,label:i.id,width:0,height:0},s=e.append("g").attr("id",o).attr("class","stateGroup");i.type==="start"&&O(s),i.type==="end"&&_(s),(i.type==="fork"||i.type==="join")&&q(s,i),i.type==="note"&&j(i.note.text,s),i.type==="divider"&&X(s),i.type==="default"&&i.descriptions.length===0&&J(s,i),i.type==="default"&&i.descriptions.length>0&&Y(s,i);const g=s.node().getBBox();return c.width=g.width+2*t().state.padding,c.height=g.height+2*t().state.padding,c};let G=0;const K=function(e,i,o){const c=function(r){switch(r){case N.relationType.AGGREGATION:return"aggregation";case N.relationType.EXTENSION:return"extension";case N.relationType.COMPOSITION:return"composition";case N.relationType.DEPENDENCY:return"dependency"}};i.points=i.points.filter(r=>!Number.isNaN(r.y));const s=i.points,g=$().x(function(r){return r.x}).y(function(r){return r.y}).curve(v),p=e.append("path").attr("d",g(s)).attr("id","edge"+G).attr("class","transition");let a="";if(t().state.arrowMarkerAbsolute&&(a=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,a=a.replace(/\(/g,"\\("),a=a.replace(/\)/g,"\\)")),p.attr("marker-end","url("+a+"#"+c(N.relationType.DEPENDENCY)+"End)"),o.title!==void 0){const r=e.append("g").attr("class","stateLabel"),{x:y,y:x}=U.calcLabelPosition(i.points),d=T.getRows(o.title);let l=0;const m=[];let w=0,E=0;for(let u=0;u<=d.length;u++){const h=r.append("text").attr("text-anchor","middle").text(d[u]).attr("x",y).attr("y",x+l),f=h.node().getBBox();w=Math.max(w,f.width),E=Math.min(E,f.x),b.info(f.x,y,x+l),l===0&&(l=h.node().getBBox().height,b.info("Title height",l,x)),m.push(h)}let k=l*d.length;if(d.length>1){const u=(d.length-1)*l*.5;m.forEach((h,f)=>h.attr("y",x+f*l-u)),k=l*d.length}const n=r.node().getBBox();r.insert("rect",":first-child").attr("class","box").attr("x",y-w/2-t().state.padding/2).attr("y",x-k/2-t().state.padding/2-3.5).attr("width",w+t().state.padding).attr("height",k+t().state.padding),b.info(n)}G++};let B;const z={},Q=function(){},V=function(e){e.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},D=function(e,i,o,c){B=t().state;const s=t().securityLevel;let g;s==="sandbox"&&(g=H("#i"+i));const p=s==="sandbox"?H(g.nodes()[0].contentDocument.body):H("body"),a=s==="sandbox"?g.nodes()[0].contentDocument:document;b.debug("Rendering diagram "+e);const r=p.select(`[id='${i}']`);V(r);const y=c.db.getRootDoc();A(y,r,void 0,!1,p,a,c);const x=B.padding,d=r.node().getBBox(),l=d.width+x*2,m=d.height+x*2,w=l*1.75;R(r,m,w,B.useMaxWidth),r.attr("viewBox",`${d.x-B.padding} ${d.y-B.padding} `+l+" "+m)},tt=e=>e?e.length*B.fontSizeFactor:1,A=(e,i,o,c,s,g,p)=>{const a=new C({compound:!0,multigraph:!0});let r,y=!0;for(r=0;r{const f=h.parentElement;let S=0,M=0;f&&(f.parentElement&&(S=f.parentElement.getBBox().width),M=parseInt(f.getAttribute("data-x-shift"),10),Number.isNaN(M)&&(M=0)),h.setAttribute("x1",0-M+8),h.setAttribute("x2",S-M-8)})):b.debug("No Node "+n+": "+JSON.stringify(a.node(n)))});let E=w.getBBox();a.edges().forEach(function(n){n!==void 0&&a.edge(n)!==void 0&&(b.debug("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(a.edge(n))),K(i,a.edge(n),a.edge(n).relation))}),E=w.getBBox();const k={id:o||"root",label:o||"root",width:0,height:0};return k.width=E.width+2*B.padding,k.height=E.height+2*B.padding,b.debug("Doc rendered",k,a),k},et={setConf:Q,draw:D},lt={parser:P,db:N,renderer:et,styles:W,init:e=>{e.state||(e.state={}),e.state.arrowMarkerAbsolute=e.arrowMarkerAbsolute,N.clear()}};export{lt as diagram}; +import{p as P,d as N,s as W}from"./styles-d20c7d72-XvJt-R4X.js";import{c as t,h as H,l as b,i as R,j as T,ap as v,z as U}from"./mermaid.core-C-ipfzeP.js";import{G as C}from"./graph-BqpiDEwF.js";import{l as F}from"./layout-B2i1mAr6.js";import{l as $}from"./line-BVHj5-SV.js";import"./app-jADuhdjP.js";import"./array-BKyUJesY.js";import"./path-CbwjOpE9.js";const O=e=>e.append("circle").attr("class","start-state").attr("r",t().state.sizeUnit).attr("cx",t().state.padding+t().state.sizeUnit).attr("cy",t().state.padding+t().state.sizeUnit),X=e=>e.append("line").style("stroke","grey").style("stroke-dasharray","3").attr("x1",t().state.textHeight).attr("class","divider").attr("x2",t().state.textHeight*2).attr("y1",0).attr("y2",0),J=(e,i)=>{const o=e.append("text").attr("x",2*t().state.padding).attr("y",t().state.textHeight+2*t().state.padding).attr("font-size",t().state.fontSize).attr("class","state-title").text(i.id),c=o.node().getBBox();return e.insert("rect",":first-child").attr("x",t().state.padding).attr("y",t().state.padding).attr("width",c.width+2*t().state.padding).attr("height",c.height+2*t().state.padding).attr("rx",t().state.radius),o},Y=(e,i)=>{const o=function(l,m,w){const E=l.append("tspan").attr("x",2*t().state.padding).text(m);w||E.attr("dy",t().state.textHeight)},s=e.append("text").attr("x",2*t().state.padding).attr("y",t().state.textHeight+1.3*t().state.padding).attr("font-size",t().state.fontSize).attr("class","state-title").text(i.descriptions[0]).node().getBBox(),g=s.height,p=e.append("text").attr("x",t().state.padding).attr("y",g+t().state.padding*.4+t().state.dividerMargin+t().state.textHeight).attr("class","state-description");let a=!0,r=!0;i.descriptions.forEach(function(l){a||(o(p,l,r),r=!1),a=!1});const y=e.append("line").attr("x1",t().state.padding).attr("y1",t().state.padding+g+t().state.dividerMargin/2).attr("y2",t().state.padding+g+t().state.dividerMargin/2).attr("class","descr-divider"),x=p.node().getBBox(),d=Math.max(x.width,s.width);return y.attr("x2",d+3*t().state.padding),e.insert("rect",":first-child").attr("x",t().state.padding).attr("y",t().state.padding).attr("width",d+2*t().state.padding).attr("height",x.height+g+2*t().state.padding).attr("rx",t().state.radius),e},I=(e,i,o)=>{const c=t().state.padding,s=2*t().state.padding,g=e.node().getBBox(),p=g.width,a=g.x,r=e.append("text").attr("x",0).attr("y",t().state.titleShift).attr("font-size",t().state.fontSize).attr("class","state-title").text(i.id),x=r.node().getBBox().width+s;let d=Math.max(x,p);d===p&&(d=d+s);let l;const m=e.node().getBBox();i.doc,l=a-c,x>p&&(l=(p-d)/2+c),Math.abs(a-m.x)p&&(l=a-(x-p)/2);const w=1-t().state.textHeight;return e.insert("rect",":first-child").attr("x",l).attr("y",w).attr("class",o?"alt-composit":"composit").attr("width",d).attr("height",m.height+t().state.textHeight+t().state.titleShift+1).attr("rx","0"),r.attr("x",l+c),x<=p&&r.attr("x",a+(d-s)/2-x/2+c),e.insert("rect",":first-child").attr("x",l).attr("y",t().state.titleShift-t().state.textHeight-t().state.padding).attr("width",d).attr("height",t().state.textHeight*3).attr("rx",t().state.radius),e.insert("rect",":first-child").attr("x",l).attr("y",t().state.titleShift-t().state.textHeight-t().state.padding).attr("width",d).attr("height",m.height+3+2*t().state.textHeight).attr("rx",t().state.radius),e},_=e=>(e.append("circle").attr("class","end-state-outer").attr("r",t().state.sizeUnit+t().state.miniPadding).attr("cx",t().state.padding+t().state.sizeUnit+t().state.miniPadding).attr("cy",t().state.padding+t().state.sizeUnit+t().state.miniPadding),e.append("circle").attr("class","end-state-inner").attr("r",t().state.sizeUnit).attr("cx",t().state.padding+t().state.sizeUnit+2).attr("cy",t().state.padding+t().state.sizeUnit+2)),q=(e,i)=>{let o=t().state.forkWidth,c=t().state.forkHeight;if(i.parentId){let s=o;o=c,c=s}return e.append("rect").style("stroke","black").style("fill","black").attr("width",o).attr("height",c).attr("x",t().state.padding).attr("y",t().state.padding)},Z=(e,i,o,c)=>{let s=0;const g=c.append("text");g.style("text-anchor","start"),g.attr("class","noteText");let p=e.replace(/\r\n/g,"
");p=p.replace(/\n/g,"
");const a=p.split(T.lineBreakRegex);let r=1.25*t().state.noteMargin;for(const y of a){const x=y.trim();if(x.length>0){const d=g.append("tspan");if(d.text(x),r===0){const l=d.node().getBBox();r+=l.height}s+=r,d.attr("x",i+t().state.noteMargin),d.attr("y",o+s+1.25*t().state.noteMargin)}}return{textWidth:g.node().getBBox().width,textHeight:s}},j=(e,i)=>{i.attr("class","state-note");const o=i.append("rect").attr("x",0).attr("y",t().state.padding),c=i.append("g"),{textWidth:s,textHeight:g}=Z(e,0,0,c);return o.attr("height",g+2*t().state.noteMargin),o.attr("width",s+t().state.noteMargin*2),o},L=function(e,i){const o=i.id,c={id:o,label:i.id,width:0,height:0},s=e.append("g").attr("id",o).attr("class","stateGroup");i.type==="start"&&O(s),i.type==="end"&&_(s),(i.type==="fork"||i.type==="join")&&q(s,i),i.type==="note"&&j(i.note.text,s),i.type==="divider"&&X(s),i.type==="default"&&i.descriptions.length===0&&J(s,i),i.type==="default"&&i.descriptions.length>0&&Y(s,i);const g=s.node().getBBox();return c.width=g.width+2*t().state.padding,c.height=g.height+2*t().state.padding,c};let G=0;const K=function(e,i,o){const c=function(r){switch(r){case N.relationType.AGGREGATION:return"aggregation";case N.relationType.EXTENSION:return"extension";case N.relationType.COMPOSITION:return"composition";case N.relationType.DEPENDENCY:return"dependency"}};i.points=i.points.filter(r=>!Number.isNaN(r.y));const s=i.points,g=$().x(function(r){return r.x}).y(function(r){return r.y}).curve(v),p=e.append("path").attr("d",g(s)).attr("id","edge"+G).attr("class","transition");let a="";if(t().state.arrowMarkerAbsolute&&(a=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,a=a.replace(/\(/g,"\\("),a=a.replace(/\)/g,"\\)")),p.attr("marker-end","url("+a+"#"+c(N.relationType.DEPENDENCY)+"End)"),o.title!==void 0){const r=e.append("g").attr("class","stateLabel"),{x:y,y:x}=U.calcLabelPosition(i.points),d=T.getRows(o.title);let l=0;const m=[];let w=0,E=0;for(let u=0;u<=d.length;u++){const h=r.append("text").attr("text-anchor","middle").text(d[u]).attr("x",y).attr("y",x+l),f=h.node().getBBox();w=Math.max(w,f.width),E=Math.min(E,f.x),b.info(f.x,y,x+l),l===0&&(l=h.node().getBBox().height,b.info("Title height",l,x)),m.push(h)}let k=l*d.length;if(d.length>1){const u=(d.length-1)*l*.5;m.forEach((h,f)=>h.attr("y",x+f*l-u)),k=l*d.length}const n=r.node().getBBox();r.insert("rect",":first-child").attr("class","box").attr("x",y-w/2-t().state.padding/2).attr("y",x-k/2-t().state.padding/2-3.5).attr("width",w+t().state.padding).attr("height",k+t().state.padding),b.info(n)}G++};let B;const z={},Q=function(){},V=function(e){e.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},D=function(e,i,o,c){B=t().state;const s=t().securityLevel;let g;s==="sandbox"&&(g=H("#i"+i));const p=s==="sandbox"?H(g.nodes()[0].contentDocument.body):H("body"),a=s==="sandbox"?g.nodes()[0].contentDocument:document;b.debug("Rendering diagram "+e);const r=p.select(`[id='${i}']`);V(r);const y=c.db.getRootDoc();A(y,r,void 0,!1,p,a,c);const x=B.padding,d=r.node().getBBox(),l=d.width+x*2,m=d.height+x*2,w=l*1.75;R(r,m,w,B.useMaxWidth),r.attr("viewBox",`${d.x-B.padding} ${d.y-B.padding} `+l+" "+m)},tt=e=>e?e.length*B.fontSizeFactor:1,A=(e,i,o,c,s,g,p)=>{const a=new C({compound:!0,multigraph:!0});let r,y=!0;for(r=0;r{const f=h.parentElement;let S=0,M=0;f&&(f.parentElement&&(S=f.parentElement.getBBox().width),M=parseInt(f.getAttribute("data-x-shift"),10),Number.isNaN(M)&&(M=0)),h.setAttribute("x1",0-M+8),h.setAttribute("x2",S-M-8)})):b.debug("No Node "+n+": "+JSON.stringify(a.node(n)))});let E=w.getBBox();a.edges().forEach(function(n){n!==void 0&&a.edge(n)!==void 0&&(b.debug("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(a.edge(n))),K(i,a.edge(n),a.edge(n).relation))}),E=w.getBBox();const k={id:o||"root",label:o||"root",width:0,height:0};return k.width=E.width+2*B.padding,k.height=E.height+2*B.padding,b.debug("Doc rendered",k,a),k},et={setConf:Q,draw:D},lt={parser:P,db:N,renderer:et,styles:W,init:e=>{e.state||(e.state={}),e.state.arrowMarkerAbsolute=e.arrowMarkerAbsolute,N.clear()}};export{lt as diagram}; diff --git a/assets/stateDiagram-v2-9a9d610d-B3gSIDR2.js b/assets/stateDiagram-v2-9a9d610d-E7eH8vbq.js similarity index 90% rename from assets/stateDiagram-v2-9a9d610d-B3gSIDR2.js rename to assets/stateDiagram-v2-9a9d610d-E7eH8vbq.js index 01f29d8..ea54b97 100644 --- a/assets/stateDiagram-v2-9a9d610d-B3gSIDR2.js +++ b/assets/stateDiagram-v2-9a9d610d-E7eH8vbq.js @@ -1 +1 @@ -import{p as J,d as B,s as Q,D as H,a as X,S as Z,b as F,c as I}from"./styles-d20c7d72-Dnn2fl5U.js";import{G as tt}from"./graph-GEpVUbdH.js";import{l as E,c as g,h as x,z as et,i as ot,j as w}from"./mermaid.core-DtSoU78u.js";import{r as st}from"./index-fc10efb0-D8efEc6S.js";import"./layout-DNn7Y9VF.js";import"./app-B0fd3cYb.js";import"./clone-DZIUJmqR.js";import"./edges-d32062c0--RfIKLIO.js";import"./createText-6b48ae7d-BQ6Vxn2Q.js";import"./line-BM-2XH-S.js";import"./array-BKyUJesY.js";import"./path-CbwjOpE9.js";const h="rect",C="rectWithTitle",nt="start",it="end",ct="divider",rt="roundedWithTitle",lt="note",at="noteGroup",_="statediagram",dt="state",Et=`${_}-${dt}`,U="transition",St="note",Tt="note-edge",pt=`${U} ${Tt}`,_t=`${_}-${St}`,ut="cluster",Dt=`${_}-${ut}`,bt="cluster-alt",ft=`${_}-${bt}`,V="parent",Y="note",At="state",N="----",ht=`${N}${Y}`,M=`${N}${V}`,m="fill:none",z="fill: #333",W="c",j="text",q="normal";let y={},d=0;const yt=function(t){const n=Object.keys(t);for(const e of n)t[e]},gt=function(t,n){return n.db.extract(n.db.getRootDocV2()),n.db.getClasses()};function $t(t){return t==null?"":t.classes?t.classes.join(" "):""}function R(t="",n=0,e="",i=N){const c=e!==null&&e.length>0?`${i}${e}`:"";return`${At}-${t}${c}-${n}`}const A=(t,n,e,i,c,r)=>{const o=e.id,u=$t(i[o]);if(o!=="root"){let T=h;e.start===!0&&(T=nt),e.start===!1&&(T=it),e.type!==H&&(T=e.type),y[o]||(y[o]={id:o,shape:T,description:w.sanitizeText(o,g()),classes:`${u} ${Et}`});const s=y[o];e.description&&(Array.isArray(s.description)?(s.shape=C,s.description.push(e.description)):s.description.length>0?(s.shape=C,s.description===o?s.description=[e.description]:s.description=[s.description,e.description]):(s.shape=h,s.description=e.description),s.description=w.sanitizeTextOrArray(s.description,g())),s.description.length===1&&s.shape===C&&(s.shape=h),!s.type&&e.doc&&(E.info("Setting cluster for ",o,G(e)),s.type="group",s.dir=G(e),s.shape=e.type===X?ct:rt,s.classes=s.classes+" "+Dt+" "+(r?ft:""));const p={labelStyle:"",shape:s.shape,labelText:s.description,classes:s.classes,style:"",id:o,dir:s.dir,domId:R(o,d),type:s.type,padding:15};if(p.centerLabel=!0,e.note){const l={labelStyle:"",shape:lt,labelText:e.note.text,classes:_t,style:"",id:o+ht+"-"+d,domId:R(o,d,Y),type:s.type,padding:15},a={labelStyle:"",shape:at,labelText:e.note.text,classes:s.classes,style:"",id:o+M,domId:R(o,d,V),type:"group",padding:0};d++;const D=o+M;t.setNode(D,a),t.setNode(l.id,l),t.setNode(o,p),t.setParent(o,D),t.setParent(l.id,D);let S=o,b=l.id;e.note.position==="left of"&&(S=l.id,b=o),t.setEdge(S,b,{arrowhead:"none",arrowType:"",style:m,labelStyle:"",classes:pt,arrowheadStyle:z,labelpos:W,labelType:j,thickness:q})}else t.setNode(o,p)}n&&n.id!=="root"&&(E.trace("Setting node ",o," to be child of its parent ",n.id),t.setParent(o,n.id)),e.doc&&(E.trace("Adding nodes children "),xt(t,e,e.doc,i,c,!r))},xt=(t,n,e,i,c,r)=>{E.trace("items",e),e.forEach(o=>{switch(o.stmt){case F:A(t,n,o,i,c,r);break;case H:A(t,n,o,i,c,r);break;case Z:{A(t,n,o.state1,i,c,r),A(t,n,o.state2,i,c,r);const u={id:"edge"+d,arrowhead:"normal",arrowTypeEnd:"arrow_barb",style:m,labelStyle:"",label:w.sanitizeText(o.description,g()),arrowheadStyle:z,labelpos:W,labelType:j,thickness:q,classes:U};t.setEdge(o.state1.id,o.state2.id,u,d),d++}break}})},G=(t,n=I)=>{let e=n;if(t.doc)for(let i=0;i{t.state||(t.state={}),t.state.arrowMarkerAbsolute=t.arrowMarkerAbsolute,B.clear()}};export{Vt as diagram}; +import{p as J,d as B,s as Q,D as H,a as X,S as Z,b as F,c as I}from"./styles-d20c7d72-XvJt-R4X.js";import{G as tt}from"./graph-BqpiDEwF.js";import{l as E,c as g,h as x,z as et,i as ot,j as w}from"./mermaid.core-C-ipfzeP.js";import{r as st}from"./index-fc10efb0-CM7qMuFy.js";import"./layout-B2i1mAr6.js";import"./app-jADuhdjP.js";import"./clone-DMS6tHY3.js";import"./edges-d32062c0-DS1UiBKj.js";import"./createText-6b48ae7d-CHYbp3CC.js";import"./line-BVHj5-SV.js";import"./array-BKyUJesY.js";import"./path-CbwjOpE9.js";const h="rect",C="rectWithTitle",nt="start",it="end",ct="divider",rt="roundedWithTitle",lt="note",at="noteGroup",_="statediagram",dt="state",Et=`${_}-${dt}`,U="transition",St="note",Tt="note-edge",pt=`${U} ${Tt}`,_t=`${_}-${St}`,ut="cluster",Dt=`${_}-${ut}`,bt="cluster-alt",ft=`${_}-${bt}`,V="parent",Y="note",At="state",N="----",ht=`${N}${Y}`,M=`${N}${V}`,m="fill:none",z="fill: #333",W="c",j="text",q="normal";let y={},d=0;const yt=function(t){const n=Object.keys(t);for(const e of n)t[e]},gt=function(t,n){return n.db.extract(n.db.getRootDocV2()),n.db.getClasses()};function $t(t){return t==null?"":t.classes?t.classes.join(" "):""}function R(t="",n=0,e="",i=N){const c=e!==null&&e.length>0?`${i}${e}`:"";return`${At}-${t}${c}-${n}`}const A=(t,n,e,i,c,r)=>{const o=e.id,u=$t(i[o]);if(o!=="root"){let T=h;e.start===!0&&(T=nt),e.start===!1&&(T=it),e.type!==H&&(T=e.type),y[o]||(y[o]={id:o,shape:T,description:w.sanitizeText(o,g()),classes:`${u} ${Et}`});const s=y[o];e.description&&(Array.isArray(s.description)?(s.shape=C,s.description.push(e.description)):s.description.length>0?(s.shape=C,s.description===o?s.description=[e.description]:s.description=[s.description,e.description]):(s.shape=h,s.description=e.description),s.description=w.sanitizeTextOrArray(s.description,g())),s.description.length===1&&s.shape===C&&(s.shape=h),!s.type&&e.doc&&(E.info("Setting cluster for ",o,G(e)),s.type="group",s.dir=G(e),s.shape=e.type===X?ct:rt,s.classes=s.classes+" "+Dt+" "+(r?ft:""));const p={labelStyle:"",shape:s.shape,labelText:s.description,classes:s.classes,style:"",id:o,dir:s.dir,domId:R(o,d),type:s.type,padding:15};if(p.centerLabel=!0,e.note){const l={labelStyle:"",shape:lt,labelText:e.note.text,classes:_t,style:"",id:o+ht+"-"+d,domId:R(o,d,Y),type:s.type,padding:15},a={labelStyle:"",shape:at,labelText:e.note.text,classes:s.classes,style:"",id:o+M,domId:R(o,d,V),type:"group",padding:0};d++;const D=o+M;t.setNode(D,a),t.setNode(l.id,l),t.setNode(o,p),t.setParent(o,D),t.setParent(l.id,D);let S=o,b=l.id;e.note.position==="left of"&&(S=l.id,b=o),t.setEdge(S,b,{arrowhead:"none",arrowType:"",style:m,labelStyle:"",classes:pt,arrowheadStyle:z,labelpos:W,labelType:j,thickness:q})}else t.setNode(o,p)}n&&n.id!=="root"&&(E.trace("Setting node ",o," to be child of its parent ",n.id),t.setParent(o,n.id)),e.doc&&(E.trace("Adding nodes children "),xt(t,e,e.doc,i,c,!r))},xt=(t,n,e,i,c,r)=>{E.trace("items",e),e.forEach(o=>{switch(o.stmt){case F:A(t,n,o,i,c,r);break;case H:A(t,n,o,i,c,r);break;case Z:{A(t,n,o.state1,i,c,r),A(t,n,o.state2,i,c,r);const u={id:"edge"+d,arrowhead:"normal",arrowTypeEnd:"arrow_barb",style:m,labelStyle:"",label:w.sanitizeText(o.description,g()),arrowheadStyle:z,labelpos:W,labelType:j,thickness:q,classes:U};t.setEdge(o.state1.id,o.state2.id,u,d),d++}break}})},G=(t,n=I)=>{let e=n;if(t.doc)for(let i=0;i{t.state||(t.state={}),t.state.arrowMarkerAbsolute=t.arrowMarkerAbsolute,B.clear()}};export{Vt as diagram}; diff --git a/assets/style-Cob-xZnp.css b/assets/style-DatvG0Bt.css similarity index 58% rename from assets/style-Cob-xZnp.css rename to assets/style-DatvG0Bt.css index 795c173..f2d42a4 100644 --- a/assets/style-Cob-xZnp.css +++ b/assets/style-DatvG0Bt.css @@ -1 +1 @@ -@charset "UTF-8";html[data-theme=dark]{--text-color: #9e9e9e;--bg-color: #0d1117;--bg-color-secondary: #161b22;--bg-color-tertiary: #21262c;--border-color: #30363d;--box-shadow: #282a32;--card-shadow: rgba(0, 0, 0, .3);--black: #fff;--grey-dark: #999;--grey-light: #666;--white: #000;--grey-darker: #bbb;--grey-lighter: #333;--grey14: #111;--bg-color-light: #161b22;--bg-color-back: #0d1117;--bg-color-float: #161b22;--bg-color-blur: rgba(13, 17, 23, .9);--bg-color-float-blur: rgba(22, 27, 34, .9);--text-color-light: #a8a8a8;--text-color-lighter: #b1b1b1;--text-color-bright: #c5c5c5;--border-color-light: #2e333a;--border-color-dark: #394048}:root{--theme-color: #960018;--text-color: #2c3e50;--bg-color: #fff;--bg-color-secondary: #f8f8f8;--bg-color-tertiary: #efeef4;--border-color: #eaecef;--box-shadow: #f0f1f2;--card-shadow: rgba(0, 0, 0, .15);--black: #000;--grey-dark: #666;--grey-light: #999;--white: #fff;--grey-darker: #333;--grey-lighter: #bbb;--grey14: #eee;--navbar-height: 3.75rem;--navbar-horizontal-padding: 1.5rem;--navbar-vertical-padding: .7rem;--navbar-mobile-height: 3.25rem;--navbar-mobile-horizontal-padding: 1rem;--navbar-mobile-vertical-padding: .5rem;--sidebar-width: 18rem;--sidebar-mobile-width: 16rem;--content-width: 780px;--home-page-width: 1160px;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", STHeiti, "Microsoft YaHei", SimSun, sans-serif;--font-family-heading: Georgia Pro, Crimson, Georgia, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", STHeiti, "Microsoft YaHei", SimSun, sans-serif;--font-family-mono: Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace;--line-numbers-width: 2.5rem;--color-transition: .3s ease;--transform-transition: .3s ease;--vp-bg: var(--bg-color);--vp-bgl: var(--bg-color-light);--vp-bglt: var(--bg-color-tertiary);--vp-c: var(--text-color);--vp-cl: var(--text-color-light);--vp-clt: var(--text-color-lighter);--vp-brc: var(--border-color);--vp-brcd: var(--border-color-dark);--vp-tc: var(--theme-color);--vp-tcl: var(--theme-color-light);--vp-ct: var(--color-transition);--vp-tt: var(--transform-transition);--bg-color-light: #fff;--bg-color-back: #f8f8f8;--bg-color-float: #fff;--bg-color-blur: rgba(255, 255, 255, .9);--bg-color-float-blur: rgba(255, 255, 255, .9);--text-color-light: #3a5169;--text-color-lighter: #476582;--text-color-bright: #6a8bad;--border-color-light: #eceef1;--border-color-dark: #cfd4db;--theme-color-dark: #870016;--theme-color-light: #ba001e;--theme-color-mask: rgba(150, 0, 24, .15)}:root{--badge-tip-color: #42b983;--badge-warning-color: #f4cd00;--badge-danger-color: #f55;--badge-info-color: #0295ff;--badge-note-color: #666}.vp-badge{display:inline-block;vertical-align:center;height:18px;padding:0 6px;border-radius:3px;background:var(--vp-tc);color:var(--white);font-size:14px;line-height:18px;transition:background var(--vp-ct),color var(--vp-ct)}.vp-badge+.vp-badge{margin-inline-start:5px}h1 .vp-badge,h2 .vp-badge,h3 .vp-badge,h4 .vp-badge,h5 .vp-badge,h6 .vp-badge{vertical-align:top}.vp-badge.tip{background:var(--badge-tip-color)}.vp-badge.warning{background:var(--badge-warning-color)}.vp-badge.danger{background:var(--badge-danger-color)}.vp-badge.info{background:var(--badge-info-color)}.vp-badge.note{background:var(--badge-note-color)}.font-icon{display:inline-block}.theme-hope-content .font-icon{vertical-align:middle}@media screen{.sr-only{position:absolute;overflow:hidden;clip:rect 0,0,0,0;width:1px;height:1px;margin:-1px;padding:0;border:0}}@media print{.sr-only{display:none}}.vp-catalog-wrapper{margin-top:8px;margin-bottom:8px}.vp-catalog-wrapper.index ol{padding-inline-start:0}.vp-catalog-wrapper.index li{list-style-type:none}.vp-catalog-wrapper.index .vp-catalogs{padding-inline-start:0}.vp-catalog-wrapper.index .vp-catalog{list-style-type:none}.vp-catalog-wrapper.index .vp-catalog-title:before{content:"§" counter(catalog-item,upper-roman) " "}.vp-catalog-wrapper.index .vp-child-catalogs{counter-reset:child-catalog}.vp-catalog-wrapper.index .vp-child-catalog{counter-increment:child-catalog}.vp-catalog-wrapper.index .vp-child-catalog .vp-catalog-title:before{content:counter(catalog-item) "." counter(child-catalog) " "}.vp-catalog-wrapper.index .vp-sub-catalogs{padding-inline-start:.5rem}.vp-catalogs{margin:0;counter-reset:catalog-item}.vp-catalogs.deep{padding-inline-start:0}.vp-catalogs.deep .vp-catalog{list-style-type:none}.vp-catalogs .font-icon{vertical-align:baseline;margin-inline-end:.25rem}.vp-catalog{counter-increment:catalog-item}.vp-catalog-main-title{margin-top:calc(.5rem - var(--navbar-height, 3.6rem));margin-bottom:.5rem;padding-top:var(--navbar-height, 3.6rem);font-weight:500;font-size:1.75rem}.vp-catalog-main-title:first-child{margin-bottom:.5rem!important}.vp-catalog-main-title:only-child{margin-bottom:0!important}.vp-catalog-main-title .vp-link{text-decoration:none!important}.vp-catalog-child-title{margin-bottom:.5rem!important}.vp-catalog-child-title.has-children{margin-top:calc(.5rem - var(--navbar-height, 3.6rem));padding-top:var(--navbar-height, 3.6rem);border-bottom:1px solid var(--catalog-border-color);font-weight:500;font-size:1.3rem;transition:border-color .3s}.vp-catalog-child-title.has-children:only-child{margin-bottom:0!important}.vp-catalog-child-title .vp-link{text-decoration:none!important}.vp-catalog-sub-title{font-weight:500;font-size:1.1rem}.vp-catalog-sub-title:only-child{margin-bottom:0!important}.vp-catalog-title{color:inherit;text-decoration:none}.vp-catalog-title:hover{color:var(--catalog-active-color)}.vp-child-catalogs{margin:0}.vp-child-catalog{list-style-type:disc}.vp-sub-catalogs{counter-reset:sub-catalog}.vp-sub-catalog{counter-increment:sub-catalog}.vp-sub-catalog .vp-link:before{content:counter(catalog-item) "." counter(child-catalog) "." counter(sub-catalog) " "}.vp-sub-catalogs-wrapper{display:flex;flex-wrap:wrap}.vp-sub-catalog-link{display:inline-block;margin:4px 8px;padding:4px 8px;border-radius:6px;background-color:var(--catalog-bg-secondary-color);line-height:1.5;overflow-wrap:break-word;transition:background-color .3s,color .3s}.vp-sub-catalog-link:hover{background-color:var(--catalog-hover-color);color:var(--catalog-bg-color);text-decoration:none!important}.vp-catalog-header-anchor{font-size:.85em;float:left;margin-left:-1em;padding-right:0;margin-top:.125em;opacity:0;-webkit-user-select:none;-moz-user-select:none;user-select:none;text-decoration:none;content:"¶"}@media print{.vp-catalog-header-anchor{display:none}}h2:hover .vp-catalog-header-anchor,h3:hover .vp-catalog-header-anchor{opacity:1;text-decoration:none}.vp-catalog-header-anchor:focus-visible{opacity:1}.vp-empty-catalog{font-size:1.25rem;text-align:center}:root{--catalog-bg-color: #fff;--catalog-bg-secondary-color: #f8f8f8;--catalog-border-color: #e5e5e5;--catalog-active-color: #3eaf7c;--catalog-hover-color: #71cda3}.vp-back-to-top-button{position:fixed!important;bottom:4rem;inset-inline-end:1rem;z-index:100;width:48px;height:48px;padding:8px;border-width:0;border-radius:50%;background:var(--back-to-top-bg-color);color:var(--back-to-top-color);box-shadow:2px 2px 10px 4px var(--back-to-top-shadow);cursor:pointer}@media (max-width: 959px){.vp-back-to-top-button{transform:scale(.8);transform-origin:100% 100%}}@media print{.vp-back-to-top-button{display:none}}.vp-back-to-top-button:hover{color:var(--back-to-top-color-hover)}.vp-back-to-top-button .back-to-top-icon{overflow:hidden;width:100%;height:100%;background:currentcolor;border-radius:50%;-webkit-mask-image:var(--back-to-top-icon);mask-image:var(--back-to-top-icon);-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:cover;mask-size:cover}.vp-scroll-progress{position:absolute;right:-2px;bottom:-2px;width:52px;height:52px}.vp-scroll-progress svg{width:100%;height:100%}.vp-scroll-progress circle{opacity:.9;transform:rotate(-90deg);transform-origin:50% 50%}.back-to-top-enter-active,.back-to-top-leave-active{transition:opacity .3s}.back-to-top-enter-from,.back-to-top-leave-to{opacity:0}:root{--back-to-top-z-index: 5;--back-to-top-icon: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%201024%201024'%3e%3cpath%20d='M512%20843.2c-36.2%200-66.4-13.6-85.8-21.8-10.8-4.6-22.6%203.6-21.8%2015.2l7%20102c.4%206.2%207.6%209.4%2012.6%205.6l29-22c3.6-2.8%209-1.8%2011.4%202l41%2064.2c3%204.8%2010.2%204.8%2013.2%200l41-64.2c2.4-3.8%207.8-4.8%2011.4-2l29%2022c5%203.8%2012.2.6%2012.6-5.6l7-102c.8-11.6-11-20-21.8-15.2-19.6%208.2-49.6%2021.8-85.8%2021.8'/%3e%3cpath%20d='m795.4%20586.2-96-98.2C699.4%20172%20513%2032%20513%2032S324.8%20172%20324.8%20488l-96%2098.2c-3.6%203.6-5.2%209-4.4%2014.2L261.2%20824c1.8%2011.4%2014.2%2017%2023.6%2010.8L419%20744s41.4%2040%2094.2%2040%2092.2-40%2092.2-40l134.2%2090.8c9.2%206.2%2021.6.6%2023.6-10.8l37-223.8c.4-5.2-1.2-10.4-4.8-14M513%20384c-34%200-61.4-28.6-61.4-64s27.6-64%2061.4-64c34%200%2061.4%2028.6%2061.4%2064S547%20384%20513%20384'/%3e%3c/svg%3e");--back-to-top-bg-color: #fff;--back-to-top-color: #3eaf7c;--back-to-top-color-hover: #71cda3;--back-to-top-shadow: rgb(0 0 0 / 20%)}:root{--external-link-icon-color: #aaa}.external-link-icon{position:relative;display:inline-block;color:var(--external-link-icon-color);vertical-align:middle;top:-1px}@media print{.external-link-icon{display:none}}.external-link-icon-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}:root{--nprogress-color: #29d;--nprogress-z-index: 1031}#nprogress{pointer-events:none}#nprogress .bar{background:var(--nprogress-color);position:fixed;z-index:var(--nprogress-z-index);top:0;left:0;width:100%;height:2px}div[class*=language-]:hover:before{display:none}div[class*=language-]:hover .vp-copy-code-button{opacity:1}.vp-copy-code-button{position:absolute;top:.5em;right:.5em;z-index:5;width:2.5rem;height:2.5rem;padding:0;border-width:0;border-radius:.5rem;background:transparent;outline:none;opacity:0;cursor:pointer;transition:opacity .4s}@media print{.vp-copy-code-button{display:none}}.vp-copy-code-button:focus,.vp-copy-code-button.copied{opacity:1}.vp-copy-code-button:hover,.vp-copy-code-button.copied{background:var(--copy-code-hover)}.vp-copy-code-button.copied .vp-copy-icon{-webkit-mask-image:var(--code-copied-icon);mask-image:var(--code-copied-icon)}.vp-copy-code-button.copied:after{content:attr(data-copied);position:absolute;top:0;right:calc(100% + .25rem);display:block;height:1.25rem;padding:.625rem;border-radius:.5rem;background:var(--copy-code-hover);color:var(--copy-code-color);font-weight:500;line-height:1.25rem;white-space:nowrap}.vp-copy-icon{width:1.25rem;height:1.25rem;padding:.625rem;background:currentcolor;color:var(--copy-code-color);font-size:1.25rem;-webkit-mask-image:var(--code-copy-icon);mask-image:var(--code-copy-icon);-webkit-mask-position:50%;mask-position:50%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:1em;mask-size:1em}:root{--code-copy-icon: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20height='20'%20width='20'%20stroke='rgba(128,128,128,1)'%20stroke-width='2'%3e%3cpath%20stroke-linecap='round'%20stroke-linejoin='round'%20d='M9%205H7a2%202%200%200%200-2%202v12a2%202%200%200%200%202%202h10a2%202%200%200%200%202-2V7a2%202%200%200%200-2-2h-2M9%205a2%202%200%200%200%202%202h2a2%202%200%200%200%202-2M9%205a2%202%200%200%201%202-2h2a2%202%200%200%201%202%202'%20/%3e%3c/svg%3e");--code-copied-icon: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20height='20'%20width='20'%20stroke='rgba(128,128,128,1)'%20stroke-width='2'%3e%3cpath%20stroke-linecap='round'%20stroke-linejoin='round'%20d='M9%205H7a2%202%200%200%200-2%202v12a2%202%200%200%200%202%202h10a2%202%200%200%200%202-2V7a2%202%200%200%200-2-2h-2M9%205a2%202%200%200%200%202%202h2a2%202%200%200%200%202-2M9%205a2%202%200%200%201%202-2h2a2%202%200%200%201%202%202m-6%209%202%202%204-4'%20/%3e%3c/svg%3e");--copy-code-color: #9e9e9e;--copy-code-hover: rgb(0 0 0 / 50%)}:root{--important-title-color: #230555;--important-bg-color: #f4eefe;--important-border-color: #a371f7;--important-code-bg-color: rgb(163 113 247 / 10%);--info-title-color: #193c47;--info-bg-color: #eef9fd;--info-border-color: #4cb3d4;--info-code-bg-color: rgb(76 179 212 / 10%);--note-title-color: #474748;--note-bg-color: #fdfdfe;--note-border-color: #ccc;--note-code-bg-color: rgb(212 213 216 / 20%);--tip-title-color: #003100;--tip-bg-color: #e6f6e6;--tip-border-color: #009400;--tip-code-bg-color: rgb(0 148 0 / 15%);--warning-title-color: #4d3800;--warning-bg-color: #fff8e6;--warning-border-color: #e6a700;--warning-code-bg-color: rgb(230 167 0 / 15%);--caution-title-color: #4b1113;--caution-bg-color: #ffebec;--caution-border-color: #e13238;--caution-code-bg-color: rgb(225 50 56 / 15%);--detail-bg-color: #eee;--detail-text-color: inherit;--detail-code-bg-color: rgb(127 127 127 / 15%)}html[data-theme=dark]{--important-title-color: #f4eefe;--important-bg-color: #230555;--info-title-color: #eef9fd;--info-bg-color: #193c47;--note-title-color: #fdfdfe;--note-bg-color: #474748;--tip-title-color: #e6f6e6;--tip-bg-color: #003100;--warning-title-color: #fff8e6;--warning-bg-color: #4d3800;--caution-title-color: #ffebec;--caution-bg-color: #4b1113;--detail-bg-color: #333;--detail-text-color: #a8a8a8}.hint-container{position:relative;transition:background var(--vp-ct),border-color var(--vp-ct),color var(--vp-ct)}@media print{.hint-container{page-break-inside:avoid}}.hint-container .hint-container-title{position:relative;font-weight:600;line-height:1.25}.hint-container.important,.hint-container.info,.hint-container.note,.hint-container.tip,.hint-container.warning,.hint-container.caution{margin:1rem 0;padding:.25rem 1rem;border-inline-start-width:.3rem;border-inline-start-style:solid;border-radius:.5rem;color:inherit}@media (max-width: 419px){.hint-container.important,.hint-container.info,.hint-container.note,.hint-container.tip,.hint-container.warning,.hint-container.caution{margin-inline:-.75rem}}.hint-container.important .hint-container-title,.hint-container.info .hint-container-title,.hint-container.note .hint-container-title,.hint-container.tip .hint-container-title,.hint-container.warning .hint-container-title,.hint-container.caution .hint-container-title{padding-inline-start:1.75rem}@media print{.hint-container.important .hint-container-title,.hint-container.info .hint-container-title,.hint-container.note .hint-container-title,.hint-container.tip .hint-container-title,.hint-container.warning .hint-container-title,.hint-container.caution .hint-container-title{padding-inline-start:0}}.hint-container.important .hint-container-title:before,.hint-container.info .hint-container-title:before,.hint-container.note .hint-container-title:before,.hint-container.tip .hint-container-title:before,.hint-container.warning .hint-container-title:before,.hint-container.caution .hint-container-title:before{content:" ";position:absolute;top:calc(50% - .6125em);inset-inline-start:0;width:1.25em;height:1.25em;background-position:left;background-repeat:no-repeat}@media print{.hint-container.important .hint-container-title:before,.hint-container.info .hint-container-title:before,.hint-container.note .hint-container-title:before,.hint-container.tip .hint-container-title:before,.hint-container.warning .hint-container-title:before,.hint-container.caution .hint-container-title:before{display:none}}.hint-container.important p,.hint-container.info p,.hint-container.note p,.hint-container.tip p,.hint-container.warning p,.hint-container.caution p{line-height:1.5}.hint-container.important a,.hint-container.info a,.hint-container.note a,.hint-container.tip a,.hint-container.warning a,.hint-container.caution a{color:var(--vp-tc)}.hint-container.important{border-color:var(--important-border-color);background:var(--important-bg-color)}.hint-container.important>.hint-container-title{color:var(--important-title-color)}.hint-container.important>.hint-container-title:before{background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 1024'%3E%3Cpath d='M512 981.333a84.992 84.992 0 0 1-84.907-84.906h169.814A84.992 84.992 0 0 1 512 981.333zm384-128H128v-42.666l85.333-85.334v-256A298.325 298.325 0 0 1 448 177.92V128a64 64 0 0 1 128 0v49.92a298.325 298.325 0 0 1 234.667 291.413v256L896 810.667v42.666zm-426.667-256v85.334h85.334v-85.334h-85.334zm0-256V512h85.334V341.333h-85.334z' fill='%23a371f7'/%3E%3C/svg%3E")}.hint-container.important code{background:var(--important-code-bg-color)}.hint-container.info{border-color:var(--info-border-color);background:var(--info-bg-color)}.hint-container.info>.hint-container-title{color:var(--info-title-color)}.hint-container.info>.hint-container-title:before{background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm-1-11v6h2v-6h-2zm0-4v2h2V7h-2z' fill='%234cb3d4'/%3E%3C/svg%3E")}.hint-container.info code{background:var(--info-code-bg-color)}.hint-container.note{border-color:var(--note-border-color);background:var(--note-bg-color)}.hint-container.note>.hint-container-title{color:var(--note-title-color)}.hint-container.note>.hint-container-title:before{background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm-1-11v6h2v-6h-2zm0-4v2h2V7h-2z' fill='%23ccc'/%3E%3C/svg%3E")}.hint-container.note code{background:var(--note-code-bg-color)}.hint-container.tip{border-color:var(--tip-border-color);background:var(--tip-bg-color)}.hint-container.tip>.hint-container-title{color:var(--tip-title-color)}.hint-container.tip>.hint-container-title:before{background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23009400' d='M7.941 18c-.297-1.273-1.637-2.314-2.187-3a8 8 0 1 1 12.49.002c-.55.685-1.888 1.726-2.185 2.998H7.94zM16 20v1a2 2 0 0 1-2 2h-4a2 2 0 0 1-2-2v-1h8zm-3-9.995V6l-4.5 6.005H11v4l4.5-6H13z'/%3E%3C/svg%3E")}.hint-container.tip code{background:var(--tip-code-bg-color)}.hint-container.warning{border-color:var(--warning-border-color);background:var(--warning-bg-color)}.hint-container.warning>.hint-container-title{color:var(--warning-title-color)}.hint-container.warning>.hint-container-title:before{background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 1024'%3E%3Cpath d='M576.286 752.57v-95.425q0-7.031-4.771-11.802t-11.3-4.772h-96.43q-6.528 0-11.3 4.772t-4.77 11.802v95.424q0 7.031 4.77 11.803t11.3 4.77h96.43q6.528 0 11.3-4.77t4.77-11.803zm-1.005-187.836 9.04-230.524q0-6.027-5.022-9.543-6.529-5.524-12.053-5.524H456.754q-5.524 0-12.053 5.524-5.022 3.516-5.022 10.547l8.538 229.52q0 5.023 5.022 8.287t12.053 3.265h92.913q7.032 0 11.803-3.265t5.273-8.287zM568.25 95.65l385.714 707.142q17.578 31.641-1.004 63.282-8.538 14.564-23.354 23.102t-31.892 8.538H126.286q-17.076 0-31.892-8.538T71.04 866.074q-18.582-31.641-1.004-63.282L455.75 95.65q8.538-15.57 23.605-24.61T512 62t32.645 9.04 23.605 24.61z' fill='%23e6a700'/%3E%3C/svg%3E")}.hint-container.warning code{background:var(--warning-code-bg-color)}.hint-container.caution{border-color:var(--caution-border-color);background:var(--caution-bg-color)}.hint-container.caution>.hint-container-title{color:var(--caution-title-color)}.hint-container.caution>.hint-container-title:before{background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2c5.523 0 10 4.477 10 10v3.764a2 2 0 0 1-1.106 1.789L18 19v1a3 3 0 0 1-2.824 2.995L14.95 23a2.5 2.5 0 0 0 .044-.33L15 22.5V22a2 2 0 0 0-1.85-1.995L13 20h-2a2 2 0 0 0-1.995 1.85L9 22v.5c0 .171.017.339.05.5H9a3 3 0 0 1-3-3v-1l-2.894-1.447A2 2 0 0 1 2 15.763V12C2 6.477 6.477 2 12 2zm-4 9a2 2 0 1 0 0 4 2 2 0 0 0 0-4zm8 0a2 2 0 1 0 0 4 2 2 0 0 0 0-4z' fill='%23e13238'/%3E%3C/svg%3E")}.hint-container.caution code{background:var(--caution-code-bg-color)}.hint-container.details{position:relative;display:block;margin:1rem 0;padding:1.5rem;border-radius:.5rem;background:var(--detail-bg-color);color:var(--detail-text-color);transition:background var(--vp-tt),color var(--vp-tt)}@media (max-width: 419px){.hint-container.details{margin-inline:-.75rem}}.hint-container.details h4{margin-top:0}.hint-container.details figure:last-child,.hint-container.details p:last-child{margin-bottom:0;padding-bottom:0}.hint-container.details a{color:var(--vp-tc)}.hint-container.details code{background:var(--detail-code-bg-color)}.hint-container.details summary{position:relative;margin:-1.5rem;padding-block:1.5rem;padding-inline:4rem 1.5rem;list-style:none;cursor:pointer}.hint-container.details summary::-webkit-details-marker{display:none}.hint-container.details summary::marker{color:transparent;font-size:0}.hint-container.details summary:before,.hint-container.details summary:after{content:" ";position:absolute;top:calc(50% - .75rem);inset-inline-start:1.5rem;width:1.5rem;height:1.5rem}.hint-container.details summary:before{border-radius:50%;background:#ccc;transition:background var(--vp-ct),transform var(--vp-tt)}html[data-theme=dark] .hint-container.details summary:before{background:#555}.hint-container.details summary:after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(0,0,0,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E");line-height:normal;transition:transform var(--vp-tt);transform:rotate(90deg)}html[data-theme=dark] .hint-container.details summary:after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(255,255,255,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E")}.hint-container.details[open]>summary{margin-bottom:.5em}.hint-container.details[open]>summary:after{transform:rotate(180deg)}.mermaid-preview .node rect,.mermaid-preview .clusters rect,.mermaid-preview rect.note,.mermaid-preview .actor,.mermaid-wrapper .node rect,.mermaid-wrapper .clusters rect,.mermaid-wrapper rect.note,.mermaid-wrapper .actor{rx:8;ry:8}.mermaid-wrapper{position:relative;overflow-x:auto;padding:.6em .4em;text-align:center;transition:all 1s}@media (max-width: 419px){.mermaid-wrapper{margin:0 -1.5rem;padding:.6em 0}}.mermaid-loading{color:var(--vp-tc)}@media print{.mermaid-content{page-break-inside:avoid}}.mermaid-actions{text-align:end}@media print{.mermaid-actions{display:none}}.mermaid-preview{position:fixed;top:0;right:0;bottom:0;left:0;z-index:800;display:flex;align-items:center;justify-content:center;background-color:#fffc}html[data-theme=dark] .mermaid-preview{background-color:#000c}.mermaid-preview svg{max-width:100%;max-height:100%}.preview-button,.download-button{border-width:0;background:transparent;cursor:pointer;width:2rem;height:2rem;padding:.25rem;color:var(--grey-dark)}@media (max-width: 719px){.preview-button,.download-button{width:1.5rem;height:1.5rem}}.preview-button:hover,.download-button:hover{color:var(--vp-tc)}.preview-button svg,.download-button svg{width:100%;height:100%}:root{--tab-bg-color: var(--vp-bg);--tab-nav-text-color: var(--vp-c);--tab-nav-bg-color: #e0e0e0;--tab-nav-hover-color: #eee}html[data-theme=dark]{--tab-nav-bg-color: #34343f;--tab-nav-hover-color: #2d2d38}.vp-tabs{margin:1.5rem 0;border:2px solid var(--vp-brc);border-radius:8px}@media (max-width: 419px){.theme-hope-content>.vp-tabs{margin-inline:-1.5rem;border-radius:0}}.vp-tabs-nav{overflow-x:auto;margin:0;padding:0;border-radius:8px 8px 0 0;background:var(--tab-nav-bg-color);list-style:none;white-space:nowrap;transition:background var(--vp-ct)}@media print{.vp-tabs-nav{display:none}}@media (max-width: 419px){.vp-tabs-nav{border-radius:0}}.vp-tab-nav{border-width:0;position:relative;min-width:4rem;margin:0;padding:.5em 1em;border-radius:8px 8px 0 0;background:transparent;color:var(--tab-nav-text-color);font-weight:600;font-size:.85em;line-height:1.75;cursor:pointer;transition:background var(--vp-ct),color var(--vp-ct)}.vp-tab-nav:hover{background:var(--tab-nav-hover-color)}.vp-tab-nav:before,.vp-tab-nav:after{content:" ";position:absolute;bottom:0;z-index:1;width:8px;height:8px}.vp-tab-nav:before{right:100%}.vp-tab-nav:after{left:100%}.vp-tab-nav.active{background:var(--tab-bg-color)}.vp-tab-nav.active:before{background:radial-gradient(16px at left top,transparent 50%,var(--tab-bg-color) 50%)}.vp-tab-nav.active:after{background:radial-gradient(16px at right top,transparent 50%,var(--tab-bg-color) 50%)}.vp-tab-nav:first-child:before{display:none}.vp-tab{display:none;padding:1rem .75rem;background:var(--tab-bg-color);transition:background var(--vp-ct)}@media print{.vp-tab{display:block;padding:.5rem}}.vp-tab.active{display:block}.vp-tab:nth-child(n+2) .vp-tab-title{border-top:none}.vp-tab-title{display:none;padding:.25rem 0;border-top:1px solid var(--vp-brc);font-weight:500}@media print{.vp-tab-title{display:block}}/*! PhotoSwipe main CSS by Dmytro Semenov | photoswipe.com */.pswp{--pswp-bg: #000;--pswp-placeholder-bg: #222;--pswp-root-z-index: 100000;--pswp-preloader-color: rgba(79, 79, 79, .4);--pswp-preloader-color-secondary: rgba(255, 255, 255, .9);--pswp-icon-color: #fff;--pswp-icon-color-secondary: #4f4f4f;--pswp-icon-stroke-color: #4f4f4f;--pswp-icon-stroke-width: 2px;--pswp-error-text-color: var(--pswp-icon-color)}.pswp{position:fixed;top:0;left:0;width:100%;height:100%;z-index:var(--pswp-root-z-index);display:none;touch-action:none;outline:0;opacity:.003;contain:layout style size;-webkit-tap-highlight-color:rgba(0,0,0,0)}.pswp:focus{outline:0}.pswp *{box-sizing:border-box}.pswp img{max-width:none}.pswp--open{display:block}.pswp,.pswp__bg{transform:translateZ(0);will-change:opacity}.pswp__bg{opacity:.005;background:var(--pswp-bg)}.pswp,.pswp__scroll-wrap{overflow:hidden}.pswp__scroll-wrap,.pswp__bg,.pswp__container,.pswp__item,.pswp__content,.pswp__img,.pswp__zoom-wrap{position:absolute;top:0;left:0;width:100%;height:100%}.pswp__img,.pswp__zoom-wrap{width:auto;height:auto}.pswp--click-to-zoom.pswp--zoom-allowed .pswp__img{cursor:zoom-in}.pswp--click-to-zoom.pswp--zoomed-in .pswp__img{cursor:move;cursor:grab}.pswp--click-to-zoom.pswp--zoomed-in .pswp__img:active{cursor:grabbing}.pswp--no-mouse-drag.pswp--zoomed-in .pswp__img,.pswp--no-mouse-drag.pswp--zoomed-in .pswp__img:active,.pswp__img{cursor:zoom-out}.pswp__container,.pswp__img,.pswp__button,.pswp__counter{-webkit-user-select:none;-moz-user-select:none;user-select:none}.pswp__item{z-index:1;overflow:hidden}.pswp__hidden{display:none!important}.pswp__content{pointer-events:none}.pswp__content>*{pointer-events:auto}.pswp__error-msg-container{display:grid}.pswp__error-msg{margin:auto;font-size:1em;line-height:1;color:var(--pswp-error-text-color)}.pswp .pswp__hide-on-close{opacity:.005;will-change:opacity;transition:opacity var(--pswp-transition-duration) cubic-bezier(.4,0,.22,1);z-index:10;pointer-events:none}.pswp--ui-visible .pswp__hide-on-close{opacity:1;pointer-events:auto}.pswp__button{position:relative;display:block;width:50px;height:60px;padding:0;margin:0;overflow:hidden;cursor:pointer;background:none;border:0;box-shadow:none;opacity:.85;-webkit-appearance:none;-webkit-touch-callout:none}.pswp__button:hover,.pswp__button:active,.pswp__button:focus{transition:none;padding:0;background:none;border:0;box-shadow:none;opacity:1}.pswp__button:disabled{opacity:.3;cursor:auto}.pswp__icn{fill:var(--pswp-icon-color);color:var(--pswp-icon-color-secondary)}.pswp__icn{position:absolute;top:14px;left:9px;width:32px;height:32px;overflow:hidden;pointer-events:none}.pswp__icn-shadow{stroke:var(--pswp-icon-stroke-color);stroke-width:var(--pswp-icon-stroke-width);fill:none}.pswp__icn:focus{outline:0}div.pswp__img--placeholder,.pswp__img--with-bg{background:var(--pswp-placeholder-bg)}.pswp__top-bar{position:absolute;left:0;top:0;width:100%;height:60px;display:flex;flex-direction:row;justify-content:flex-end;z-index:10;pointer-events:none!important}.pswp__top-bar>*{pointer-events:auto;will-change:opacity}.pswp__button--close{margin-right:6px}.pswp__button--arrow{position:absolute;width:75px;height:100px;top:50%;margin-top:-50px}.pswp__button--arrow:disabled{display:none;cursor:default}.pswp__button--arrow .pswp__icn{top:50%;margin-top:-30px;width:60px;height:60px;background:none;border-radius:0}.pswp--one-slide .pswp__button--arrow{display:none}.pswp--touch .pswp__button--arrow{visibility:hidden}.pswp--has_mouse .pswp__button--arrow{visibility:visible}.pswp__button--arrow--prev{right:auto;left:0}.pswp__button--arrow--next{right:0}.pswp__button--arrow--next .pswp__icn{left:auto;right:14px;transform:scaleX(-1)}.pswp__button--zoom{display:none}.pswp--zoom-allowed .pswp__button--zoom{display:block}.pswp--zoomed-in .pswp__zoom-icn-bar-v{display:none}.pswp__preloader{position:relative;overflow:hidden;width:50px;height:60px;margin-right:auto}.pswp__preloader .pswp__icn{opacity:0;transition:opacity .2s linear;animation:pswp-clockwise .6s linear infinite}.pswp__preloader--active .pswp__icn{opacity:.85}@keyframes pswp-clockwise{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.pswp__counter{height:30px;margin-top:15px;margin-inline-start:20px;font-size:14px;line-height:30px;color:var(--pswp-icon-color);text-shadow:1px 1px 3px var(--pswp-icon-color-secondary);opacity:.85}.pswp--one-slide .pswp__counter{display:none}.photo-swipe-loading{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center}.photo-swipe-bullets-indicator{position:absolute;bottom:30px;left:50%;display:flex;flex-direction:row;align-items:center;transform:translate(-50%)}.photo-swipe-bullet{width:12px;height:6px;margin:0 5px;border-radius:3px;background:var(--photo-swipe-bullet);transition:width .3s,color .3s}.photo-swipe-bullet.active{width:30px;background:var(--photo-swipe-bullet-active)}:root{--photo-swipe-bullet: #fff;--photo-swipe-bullet-active: #3eaf7c}.search-pro-button{border-width:0;background:transparent;display:inline-flex;align-items:center;box-sizing:content-box;height:1.25rem;margin-inline:1rem 0;margin-top:0;margin-bottom:0;padding:.5rem;border:0;border:1px solid var(--vp-bgl);border-radius:1rem;background:var(--vp-bgl);color:var(--vp-c);font-weight:500;cursor:pointer;transition:background var(--vp-ct),color var(--vp-ct)}@media print{.search-pro-button{display:none}}@media (max-width: 959px){.search-pro-button{border-radius:50%}}.search-pro-button:hover{border:1px solid var(--vp-tc);background-color:var(--vp-bglt);color:var(--vp-clt)}.search-pro-button .search-icon{width:1.25rem;height:1.25rem}.search-pro-placeholder{margin-inline:.25rem;font-size:1rem}@media (max-width: 959px){.search-pro-placeholder{display:none}}.search-pro-key-hints{font-size:.75rem}@media (max-width: 959px){.search-pro-key-hints{display:none}}.search-pro-key{display:inline-block;min-width:1em;margin-inline:.125rem;padding:.25rem;border:1px solid var(--vp-brc);border-radius:4px;box-shadow:1px 1px 4px 0 var(--card-shadow);line-height:1;letter-spacing:-.1em;transition:background var(--vp-ct),color var(--vp-ct),border var(--vp-ct) box-shadow var(--vp-ct)}@keyframes search-pro-fade-in{0%{opacity:.2}to{opacity:1}}.search-pro-modal-wrapper{position:fixed;top:0;right:0;bottom:0;left:0;z-index:997;display:flex;align-items:center;justify-content:center;overflow:auto;cursor:default}.search-pro-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:998;animation:.25s search-pro-fade-in;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.search-pro-modal{position:absolute;z-index:999;display:flex;flex-direction:column;width:calc(100% - 6rem);max-width:50em;border-radius:10px;background:var(--vp-bg);box-shadow:2px 2px 10px 0 var(--card-shadow);transition:background var(--vp-ct);animation:.15s pwa-opened}@media (max-width: 1280px){.search-pro-modal{animation:.25s pwa-mobile}}@media (max-width: 719px){.search-pro-modal{top:0;right:0;bottom:0;left:0;box-sizing:border-box;width:100%;max-width:unset;padding:env(--safe-area-inset-top) env(--safe-area-inset-right) env(--safe-area-inset-bottom) env(--safe-area-inset-left)}}.search-pro-box{display:flex;margin:1rem}.search-pro-box form{position:relative;display:flex;flex:1}.search-pro-box label{position:absolute;top:calc(50% - .75rem);inset-inline-start:.5rem;color:var(--vp-tc)}.search-pro-box label .search-icon{width:1.5rem;height:1.5rem}.search-pro-clear-button{border-width:0;background:transparent;cursor:pointer;position:absolute;top:calc(50% - 10px);inset-inline-end:.75rem;padding:0;color:var(--vp-tc)}.search-pro-clear-button:hover{border-radius:50%;background-color:#0000001a}.search-pro-close-button{border-width:0;background:transparent;cursor:pointer;display:none;margin-inline:.5rem -.5rem;padding:.5rem;color:var(--grey-darker);font-size:1rem}@media (max-width: 719px){.search-pro-close-button{display:block}}.search-pro-input{flex:1;width:0;margin:0;padding-block:.25rem;padding-inline:2.5rem 2rem;border:0;border:2px solid var(--vp-tc);border-radius:8px;background:var(--vp-bg);color:var(--vp-c);outline:none;font-size:1.25rem;line-height:2.5;-webkit-appearance:none;-moz-appearance:none;appearance:none}.search-pro-input::-webkit-search-cancel-button{display:none}.search-pro-suggestions{position:absolute;inset:calc(100% + 4px) 0 auto;z-index:20;overflow:visible;overflow-y:auto;max-height:50vh;margin:0;padding:0;border-radius:.5rem;background-color:var(--vp-bg);box-shadow:2px 2px 10px 0 var(--card-shadow);list-style:none;line-height:1.5}.search-pro-suggestion{padding:.25rem 1rem;border-top:1px solid var(--vp-brc);cursor:pointer}.search-pro-suggestion:first-child{border-top:none}.search-pro-suggestion.active,.search-pro-suggestion:hover{background-color:var(--vp-bglt)}.search-pro-auto-complete{display:none;float:right;margin:0 .5rem;padding:4px;border:1px solid var(--vp-brc);border-radius:4px;box-shadow:1px 1px 4px 0 var(--card-shadow);font-size:12px;line-height:1}.search-pro-suggestion.active .search-pro-auto-complete{display:block}.search-pro-result-wrapper{flex-grow:1;overflow-y:auto;min-height:40vh;max-height:calc(80vh - 10rem);padding:0 1rem}@media (max-width: 719px){.search-pro-result-wrapper{min-height:unset;max-height:unset}}.search-pro-result-wrapper.loading,.search-pro-result-wrapper.empty{display:flex;align-items:center;justify-content:center;padding:1.5rem;font-weight:600;font-size:22px;text-align:center}.search-pro-hints{margin-top:1rem;padding:.75rem .5rem;box-shadow:0 -1px 4px 0 var(--card-shadow);line-height:1}.search-pro-hint{display:inline-flex;align-items:center;margin:0 .5rem}.search-pro-hint kbd{margin:0 .5rem;padding:2px;border:1px solid var(--vp-brc);border-radius:4px;box-shadow:1px 1px 4px 0 var(--card-shadow)}.search-pro-hint kbd+kbd{margin-inline-start:-.25rem}.search-pro-hint svg{display:block;width:15px;height:15px}:root{--balloon-border-radius: 2px;--balloon-color: rgba(16, 16, 16, .95);--balloon-text-color: #fff;--balloon-font-size: 12px;--balloon-move: 4px}button[aria-label][data-balloon-pos]{overflow:visible}[aria-label][data-balloon-pos]{position:relative;cursor:pointer}[aria-label][data-balloon-pos]:after{opacity:0;pointer-events:none;transition:all .18s ease-out .18s;text-indent:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;font-weight:400;font-style:normal;text-shadow:none;font-size:var(--balloon-font-size);background:var(--balloon-color);border-radius:2px;color:var(--balloon-text-color);border-radius:var(--balloon-border-radius);content:attr(aria-label);padding:.5em 1em;position:absolute;white-space:nowrap;z-index:10}[aria-label][data-balloon-pos]:before{width:0;height:0;border:5px solid transparent;border-top-color:var(--balloon-color);opacity:0;pointer-events:none;transition:all .18s ease-out .18s;content:"";position:absolute;z-index:10}[aria-label][data-balloon-pos]:hover:before,[aria-label][data-balloon-pos]:hover:after,[aria-label][data-balloon-pos][data-balloon-visible]:before,[aria-label][data-balloon-pos][data-balloon-visible]:after,[aria-label][data-balloon-pos]:not([data-balloon-nofocus]):focus:before,[aria-label][data-balloon-pos]:not([data-balloon-nofocus]):focus:after{opacity:1;pointer-events:none}[aria-label][data-balloon-pos].font-awesome:after{font-family:FontAwesome,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif}[aria-label][data-balloon-pos][data-balloon-break]:after{white-space:pre}[aria-label][data-balloon-pos][data-balloon-break][data-balloon-length]:after{white-space:pre-line;word-break:break-word}[aria-label][data-balloon-pos][data-balloon-blunt]:before,[aria-label][data-balloon-pos][data-balloon-blunt]:after{transition:none}[aria-label][data-balloon-pos][data-balloon-pos=up]:hover:after,[aria-label][data-balloon-pos][data-balloon-pos=up][data-balloon-visible]:after,[aria-label][data-balloon-pos][data-balloon-pos=down]:hover:after,[aria-label][data-balloon-pos][data-balloon-pos=down][data-balloon-visible]:after{transform:translate(-50%)}[aria-label][data-balloon-pos][data-balloon-pos=up]:hover:before,[aria-label][data-balloon-pos][data-balloon-pos=up][data-balloon-visible]:before,[aria-label][data-balloon-pos][data-balloon-pos=down]:hover:before,[aria-label][data-balloon-pos][data-balloon-pos=down][data-balloon-visible]:before{transform:translate(-50%)}[aria-label][data-balloon-pos][data-balloon-pos*=-left]:after{left:0}[aria-label][data-balloon-pos][data-balloon-pos*=-left]:before{left:5px}[aria-label][data-balloon-pos][data-balloon-pos*=-right]:after{right:0}[aria-label][data-balloon-pos][data-balloon-pos*=-right]:before{right:5px}[aria-label][data-balloon-pos][data-balloon-po*=-left]:hover:after,[aria-label][data-balloon-pos][data-balloon-po*=-left][data-balloon-visible]:after,[aria-label][data-balloon-pos][data-balloon-pos*=-right]:hover:after,[aria-label][data-balloon-pos][data-balloon-pos*=-right][data-balloon-visible]:after{transform:translate(0)}[aria-label][data-balloon-pos][data-balloon-po*=-left]:hover:before,[aria-label][data-balloon-pos][data-balloon-po*=-left][data-balloon-visible]:before,[aria-label][data-balloon-pos][data-balloon-pos*=-right]:hover:before,[aria-label][data-balloon-pos][data-balloon-pos*=-right][data-balloon-visible]:before{transform:translate(0)}[aria-label][data-balloon-pos][data-balloon-pos^=up]:before,[aria-label][data-balloon-pos][data-balloon-pos^=up]:after{bottom:100%;transform-origin:top;transform:translateY(var(--balloon-move))}[aria-label][data-balloon-pos][data-balloon-pos^=up]:after{margin-bottom:10px}[aria-label][data-balloon-pos][data-balloon-pos=up]:before,[aria-label][data-balloon-pos][data-balloon-pos=up]:after{left:50%;transform:translate(-50%,var(--balloon-move))}[aria-label][data-balloon-pos][data-balloon-pos^=down]:before,[aria-label][data-balloon-pos][data-balloon-pos^=down]:after{top:100%;transform:translateY(calc(var(--balloon-move) * -1))}[aria-label][data-balloon-pos][data-balloon-pos^=down]:after{margin-top:10px}[aria-label][data-balloon-pos][data-balloon-pos^=down]:before{width:0;height:0;border:5px solid transparent;border-bottom-color:var(--balloon-color)}[aria-label][data-balloon-pos][data-balloon-pos=down]:after,[aria-label][data-balloon-pos][data-balloon-pos=down]:before{left:50%;transform:translate(-50%,calc(var(--balloon-move) * -1))}[aria-label][data-balloon-pos][data-balloon-pos=left]:hover:after,[aria-label][data-balloon-pos][data-balloon-pos=left][data-balloon-visible]:after,[aria-label][data-balloon-pos][data-balloon-pos=right]:hover:after,[aria-label][data-balloon-pos][data-balloon-pos=right][data-balloon-visible]:after{transform:translateY(-50%)}[aria-label][data-balloon-pos][data-balloon-pos=left]:hover:before,[aria-label][data-balloon-pos][data-balloon-pos=left][data-balloon-visible]:before,[aria-label][data-balloon-pos][data-balloon-pos=right]:hover:before,[aria-label][data-balloon-pos][data-balloon-pos=right][data-balloon-visible]:before{transform:translateY(-50%)}[aria-label][data-balloon-pos][data-balloon-pos=left]:after,[aria-label][data-balloon-pos][data-balloon-pos=left]:before{right:100%;top:50%;transform:translate(var(--balloon-move),-50%)}[aria-label][data-balloon-pos][data-balloon-pos=left]:after{margin-right:10px}[aria-label][data-balloon-pos][data-balloon-pos=left]:before{width:0;height:0;border:5px solid transparent;border-left-color:var(--balloon-color)}[aria-label][data-balloon-pos][data-balloon-pos=right]:after,[aria-label][data-balloon-pos][data-balloon-pos=right]:before{left:100%;top:50%;transform:translate(calc(var(--balloon-move) * -1),-50%)}[aria-label][data-balloon-pos][data-balloon-pos=right]:after{margin-left:10px}[aria-label][data-balloon-pos][data-balloon-pos=right]:before{width:0;height:0;border:5px solid transparent;border-right-color:var(--balloon-color)}[aria-label][data-balloon-pos][data-balloon-length]:after{white-space:normal}[aria-label][data-balloon-pos][data-balloon-length=small]:after{width:80px}[aria-label][data-balloon-pos][data-balloon-length=medium]:after{width:150px}[aria-label][data-balloon-pos][data-balloon-length=large]:after{width:260px}[aria-label][data-balloon-pos][data-balloon-length=xlarge]:after{width:380px}@media screen and (max-width: 768px){[aria-label][data-balloon-pos][data-balloon-length=xlarge]:after{width:90vw}}[aria-label][data-balloon-pos][data-balloon-length=fit]:after{width:100%}:root{--navbar-bg-color: var(--bg-color-float-blur);--sidebar-bg-color: var(--bg-color-blur)}html[data-theme=dark]{--navbar-bg-color: var(--bg-color-blur);--sidebar-bg-color: var(--bg-color-blur)}#app{--code-hl-bg-color: var(--code-highlight-line-color);--code-ln-color: var(--code-line-color);--code-ln-wrapper-width: var(--line-numbers-width);--code-tabs-nav-text-color: var(--code-color);--code-tabs-nav-bg-color: var(--code-border-color);--code-tabs-nav-hover-color: var(--code-highlight-line-color);--sidebar-space: var(--sidebar-width)}@media (max-width: 959px){#app{--navbar-height: var(--navbar-mobile-height);--navbar-vertical-padding: var(--navbar-mobile-vertical-padding);--navbar-horizontal-padding: var(--navbar-mobile-horizontal-padding);--sidebar-width: var(--sidebar-mobile-width)}}@media (min-width: 1440px){#app{--sidebar-space: clamp( var(--sidebar-width), max(0px, calc((100vw - var(--content-width)) / 2 - 2rem)) , 100vw )}}.vp-copy-code-button{--copy-code-color: var(--code-ln-color);--copy-code-hover: var(--code-hl-bg-color)}.DocSearch-Button,.DocSearch{--docsearch-primary-color: var(--theme-color);--docsearch-text-color: var(--text-color);--docsearch-highlight-color: var(--theme-color);--docsearch-muted-color: var(--grey-light);--docsearch-container-background: rgb(9 10 17 / 80%);--docsearch-modal-background: var(--bg-color-float);--docsearch-searchbox-background: var(--bg-color-secondary);--docsearch-searchbox-focus-background: var(--bg-color);--docsearch-searchbox-shadow: inset 0 0 0 2px var(--theme-color);--docsearch-hit-color: var(--text-color-light);--docsearch-hit-active-color: var(--bg-color);--docsearch-hit-background: var(--bg-color);--docsearch-hit-shadow: 0 1px 3px 0 var(--border-color);--docsearch-footer-background: var(--bg-color)}html[data-theme=dark] .DocSearch-Button,html[data-theme=dark] .DocSearch{--docsearch-logo-color: var(--text-color);--docsearch-modal-shadow: inset 1px 1px 0 0 #2c2e40, 0 3px 8px 0 #000309;--docsearch-key-shadow: inset 0 -2px 0 0 #282d55, inset 0 0 1px 1px #51577d, 0 2px 2px 0 rgb(3 4 9 / 30%);--docsearch-key-gradient: linear-gradient(-225deg, #444950, #1c1e21);--docsearch-footer-shadow: inset 0 1px 0 0 rgb(73 76 106 / 50%), 0 -4px 8px 0 rgb(0 0 0 / 20%)}.vp-back-to-top-button{--back-to-top-color: var(--theme-color);--back-to-top-color-hover: var(--theme-color-light);--back-to-top-bg-color: var(--bg-color)}.vp-catalog-wrapper{--catalog-bg-color: var(--bg-color);--catalog-bg-secondary-color: var(--bg-color-light);--catalog-border-color: var(--border-color);--catalog-active-color: var(--theme-color);--catalog-hover-color: var(--theme-color-light)}.external-link-icon{--external-link-icon-color: var(--grey-light)}#nprogress{--nprogress-color: var(--theme-color)}body{--photo-swipe-bullet: var(--white);--photo-swipe-bullet-active: var(--theme-color);--pwa-text-color: var(--text-color);--pwa-bg-color: var(--bg-color);--pwa-border-color: var(--border-color);--pwa-btn-text-color: var(--bg-color);--pwa-btn-bg-color: var(--theme-color);--pwa-btn-hover-bg-color: var(--theme-color-light);--pwa-shadow-color: var(--card-shadow);--pwa-content-color: var(--grey-darker);--pwa-content-light-color: var(--grey-dark)}.language-modal-mask{--redirect-bg-color: var(--bg-color);--redirect-bg-color-light: var(--bg-color-light);--redirect-bg-color-lighter: var(--bg-color-tertiary);--redirect-text-color: var(--text-color);--redirect-primary-color: var(--theme-color);--redirect-primary-hover-color: var(--theme-color-light);--redirect-primary-text-color: var(--white)}.search-box{--search-bg-color: var(--bg-color);--search-accent-color: var(--theme-color);--search-text-color: var(--text-color);--search-border-color: var(--border-color);--search-item-text-color: var(--text-color-lighter);--search-item-focus-bg-color: var(--bg-color-secondary)}.waline-wrapper{--waline-bg-color: var(--bg-color);--waline-bg-color-light: var(--bg-color-secondary);--waline-text-color: var(--text-color);--waline-border: 1px solid var(--border-color);--waline-border-color: var(--border-color);--waline-theme-color: var(--theme-color);--waline-active-color: var(--theme-color-light)}html,body{margin:0;padding:0;background:#fff}html{font-size:16px;font-display:optional;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent}@media print{html{font-size:12pt}}body{min-height:100vh;color:#2c3e50}a{color:#3eaf7c;font-weight:500;text-decoration:none;overflow-wrap:break-word}kbd{display:inline-block;min-width:1em;margin-inline:.125rem;padding:.25em;border:1px solid #eee;border-radius:.25em;box-shadow:1px 1px 4px #00000026;line-height:1;letter-spacing:-.1em;text-align:center}code{margin:0;padding:.2rem .4rem;border-radius:5px;background:#7f7f7f1f;font-size:.85em;overflow-wrap:break-word}table code{padding:.1rem .4rem}p a code{color:#3eaf7c;font-weight:400}strong{font-weight:600}h1,h2,h3,h4,h5,h6{font-weight:500;line-height:1.25;overflow-wrap:break-word}h1:focus-visible,h2:focus-visible,h3:focus-visible,h4:focus-visible,h5:focus-visible,h6:focus-visible{outline:none}h1{font-size:2rem}h2{padding-bottom:.3rem;border-bottom:1px solid #eaecef;font-size:1.65rem}h3{font-size:1.35rem}h4{font-size:1.15rem}h5{font-size:1.05rem}h6{font-size:1rem}a.header-anchor{position:relative;color:inherit}a.header-anchor:hover:before{content:"¶";position:absolute;bottom:0;left:-.75em;color:var(--c-brand);font-size:.75em}a.header-anchor:focus-visible{outline:none}a.header-anchor:focus-visible:before{content:"¶";position:absolute;left:-.75em;color:var(--c-brand);outline:auto}p,ul,ol{line-height:1.6;overflow-wrap:break-word}@media print{p,ul,ol{line-height:1.5}}ul,ol{padding-inline-start:1.2em}blockquote{margin:1rem 0;padding:.25rem 0 .25rem 1rem;border-inline-start:.2rem solid #ddd;color:#666;font-size:1rem;overflow-wrap:break-word}blockquote>p{margin:0}hr{border:0;border-top:1px solid #eaecef}table{display:block;overflow-x:auto;margin:1rem 0;border-collapse:collapse}tr:nth-child(odd){background:#f6f8fa}th,td{padding:.6em 1em;border:1px solid #dfe2e5}pre{direction:ltr}@page{margin:2cm;font-size:12pt;size:a4}@media print{*,:after,:before{box-shadow:none!important;text-shadow:none!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}a{color:inherit;font-weight:inherit!important;font-size:inherit!important;text-decoration:underline}a[href^="http://"]:after,a[href^="https://"]:after{content:" (" attr(href) ") "}abbr[title]:after{content:" (" attr(title) ")"}pre{border:1px solid #eee;white-space:pre-wrap!important}pre>code{white-space:pre-wrap!important}blockquote{border-inline-start:.2rem solid #ddd;color:inherit}blockquote,pre{orphans:5;widows:5}img,tr,canvas{page-break-inside:avoid}}@font-face{font-weight:400;font-style:normal;font-family:Crimson;src:url(data:font/truetype;charset=utf-8;base64,AAEAAAANAIAAAwBQRkZUTYr5mwEAAAyMAAAAHEdERUYAKQATAAAMbAAAAB5PUy8yVsJ0MgAAAVgAAABgY21hcBiKDzgAAAHcAAABWGdhc3D//wADAAAMZAAAAAhnbHlmr+DBdQAAA1AAAAdsaGVhZBZwt+8AAADcAAAANmhoZWEFawEuAAABFAAAACRobXR4BksA9gAAAbgAAAAibG9jYQlsC24AAAM0AAAAHG1heHAAEQBZAAABOAAAACBuYW1lLaFDVAAACrwAAAFrcG9zdAC1AHoAAAwoAAAAPAABAAAAAQAAqBd2H18PPPUACwQAAAAAANqqufwAAAAA2qq5/AAb/9wB4QMeAAAACAACAAAAAAAAAAEAAAMs/ywAXAH9AAAAAAHhAAEAAAAAAAAAAAAAAAAAAAAEAAEAAAANAFkAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAH1AZAABQAAApkCzAAAAI8CmQLMAAAB6wAzAQkAAAIABgMAAAAAAAAAAAABEAAAAAAAAAAAAAAAUGZFZADAADAAOQMs/ywAXAMsANQAAAABAAAAAAMYAAAAAAAgAAEBpwAfAAAAAAFVAAAB/QAfAH0ALQA+ABsAPgAyACgAPgAxAAAAAAADAAAAAwAAABwAAQAAAAAAUgADAAEAAAAcAAQANgAAAAQABAABAAAAOf//AAAAL///AAAAAQAEAAAAAAADAAQABQAGAAcACAAJAAoACwAMAAABBgAAAQAAAAAAAAABAgAAAAIAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAwQFBgcICQoLDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACYAJgAmAGIAwAEeAZIBzgJAApYC2gNiA7YAAQAf/9wBhwMeABIAAAEGBwYHATAXFjM2NzY3ASYnJjcBgxwLCgH+zgMECxIKCgIBLgEDAwMDHhQFBgP85wMEAQgJBgMOAwMDEwAAAAIAH//9Ad0CkAAQACEAABMWFxYXNjc2NzQnJicGBwYHNyY3NjcWFxYXFAcGByYnJjcfATo6amo7OQE5OmxrOjkBXQIlJEE5IyIBIyJEOSQjAgFOkV5eBAReXoqJXl4EBF5eggJ0UlEDA09Qe3xVVgMDU1OEAAAAAAEAff/9AYACkQA+AAA3FAcGBwYHBiMGFQYXNjc2MzIXFhc2JzQnIicmJyY1JjURNjc2MSYnJicjBgcGBwYVFBUUFxYXNjc2NzIXFhXkAQEEBRgYDAMBBB4ZGhweGxofBAEDDBgZBQQBAQMEAQIDBAIFNTZCAgMDBA0XFw0LBQV3GBMVDAgEBAUKCgUCAQICAQIFCgoFBAQIDBUTGAGnLxkbBAYFAQIZGh4BAgECBQUEAwUHBwEICRYAAAAAAQAtAAAB0QKRADoAADcGFxYXITY3NjcmJyYjIgcGBwYHBisBNjc2NzY3NjUmJyYnBgcGBxQXFhc2NzY3FhcWFxYHBgcGBwYHLgEEAwMBYwURERADBwYFBAMDAg8VEx/LJkBAOhsQDwIxMkxSMjIHCAYGCSYmPTIfHwEBCgoeLkJBQg8EBQQCETAwKQICAgEBBCgUEylJSUYhJicsRDIzAgY1NRoEBQYBEyEhAwEjIjYlJCQtQlBQSAAAAAABAD7/+wG+ApEASgAANwYXFhcWFxYzNjc2NyYnJic2NzY3JicmIwYHBgcUFxYXNjc2NxYXFhcGBwYHBgcUFRQXNjc2NxYXFhcGBwYnIicmJyYnJiciBwYXPwEIBwUaHB0VZU5NBAMvLi8eIB4DAywsKzwrKxgEAwUIHR4wLRscAQMvLz8BAQYKEhEQNSYmAgImJSsWExQPCw0NFREMDQE7DgsLBQwFBgE8PWpMKSoGECQkMkAiIQIdHyUHBwcBCRscAwEbGSpCIyUOAgMCAwwIAwUEAQEoKD9XJSQBBQYODg8PAQ0NFQAAAgAb//oB4QKTACIAJQAANxQXFhchFRQXFjMyNzYjNTM2NzY1NCcmJyMRNCcmIwYHBgcBExEbAgMFASEJCRIdCAkBRgIBAQUEBTwFAwgHCQkG/vjmxgUGBgOwBQIBAwKzAgQDCBAMDQEBlAYGBgEICQf+cwEs/tQAAQA+//sBvgKTAEoAADcGFxYXFhcWMzY3NjcmJyYnIgcGBzY3NjczMjc2NzY3NjU0JyYnBgcGByMGBwYHFBcWMzY3NjMWFxYHBgcGJyInJicmJyYnIgcGFz8BCAcFGhwdFWVOTQQBMjJbFx8gFwoJCQlWKB0dFQ4JCAQDBQMdHSKXCREQEgMCBA4bGhNYJyUBAiYlKxYTFA8LDQ0VEQwNATsOCwsFDAUGATw9akU2NwMFBggrMC8uAgICExcZBgQCAgMBAwQBMVNUWAUFBAYFBAMxMTNZIyQBBQYODg8PAQ0NFQAAAgAy//oBzQKXACAAMwAANxQXFhc2NzY3NicmJyIHBgc2NzY3NCcmJwYHBgcGBwYXNyY3Njc2FxYXFgcGBwYHJicmNzM1NV5aOTsCAioqahoiIRsnWFhFAwIHQ0tMOTAZGQFbBAQaGxkXRB8fAQEfIDE9Hh4E511FRwQDPT1ZPEJBBQwLF4Y9PRMGCwwBEiwsPDZFRkkTHyAbCAcBAjAwREYsLQEFREVQAAAAAAEAKP/7AdUCiwApAAATFhcWMzI3Njc2NzYzIQYHBgcWFxYzMjcBNjc2NzQnJiMiBwYjIQYHBgcoAwYHAwYDAwELEBEdAQUJYWJXAQ8PDgcDAQ4LCQgBAQEEBhUVFv7JBgsNDAH6DQMCAQEFKRITFMjHjQcFBgMCPxYSEwoEAgMBAhkrKiAAAAADAD7/9wG/ApIAKABBAFgAADcGFxYXNjc2NyYnJicmJzQ3Njc2NyYnJiMGBwYHFhcWFxYVFAcGBwYHNyY3Njc2MzIzMhcyFxYXFhcGBwYHIicmNxMmNzY3FhcWFRQHBgcGByIjIicmJyY3PwE1M1ZQODgDAykpMQIBAyYlJQMCMC9HRjExAgIiIiMCAiMvLwNTBBQTKgEBAQECAQIBEjU1CAEdHjMrISICGAMYGSYvGxoTEx8CAQIBBAMfJCQBoU8tLQECMjFPOC4uGwIBAgEWJiU7SCYoAjEwQzopKhMBAgECEykpQAQsIiEbAQEBBywsQjUeHQEiI0QBZSMhIAECJiYvKh8gFAEBAhAfIEYAAAIAMf/6AcsClwAgADMAABMGFxYXMjc2NwYHBgcUFxYXNjc2NzY3NjUmJyYnBgcGBzcmNzY3FhcWFRQHBgcGJyYnJjc0AyopahoiIRsoV1hFAwIHQ0tMODEZGQE2NF5ZOjoBWgMfHzE9Hh4EGhoaF0QeHwUBy0dBQgUMCxeFPj0SBwsLAREsLD01RkVPV0dFBQQ8PU8UPCwtAQVFRUklIRsHCAECMDBPAAAADACWAAEAAAAAAAEABwAQAAEAAAAAAAIABwAoAAEAAAAAAAMABwBAAAEAAAAAAAQABwBYAAEAAAAAAAUAHgCeAAEAAAAAAAYABwDNAAMAAQQJAAEADgAAAAMAAQQJAAIADgAYAAMAAQQJAAMADgAwAAMAAQQJAAQADgBIAAMAAQQJAAUAPABgAAMAAQQJAAYADgC9AEMAcgBpAG0AcwBvAG4AAENyaW1zb24AAEMAcgBpAG0AcwBvAG4AAENyaW1zb24AAEMAcgBpAG0AcwBvAG4AAENyaW1zb24AAEMAcgBpAG0AcwBvAG4AAENyaW1zb24AAFYAZQByAHMAaQBvAG4AIAAxAC4AMAA7ACAARgBvAG4AdABFAGQAaQB0AG8AcgAgACgAdgAxAC4AMAApAABWZXJzaW9uIDEuMDsgRm9udEVkaXRvciAodjEuMCkAAEMAcgBpAG0AcwBvAG4AAENyaW1zb24AAAACAAAAAAAAADIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0AAAABAAIAEwAUABUAFgAXABgAGQAaABsAHAAAAAH//wACAAEAAAAMAAAAFgAAAAIAAQADAAwAAQAEAAAAAgAAAAAAAAABAAAAANWkJwgAAAAA2qq5/AAAAADaqrn8) format("truetype")}html,body{background:var(--bg-color)}:root{color-scheme:light}html[data-theme=dark]{color-scheme:dark}body{color:var(--text-color);font-family:var(--font-family)}@media (min-width: 1440px){body{font-size:17px}}a{color:var(--theme-color)}kbd{border-color:var(--border-color-dark);background:var(--bg-color-secondary);font-family:var(--font-family-mono)}code{font-family:var(--font-family-mono)}html[data-theme=dark] code{background:#333}p a code{color:var(--theme-color)}blockquote{border-color:#eee;color:#666}html[data-theme=dark] blockquote{border-color:#333}h1,h2,h3,h4,h5,h6{font-family:var(--font-family-heading)}@media (max-width: 419px){h1{font-size:1.9rem}}h2,hr{border-color:var(--border-color)}tr:nth-child(odd){background:var(--bg-color-secondary)}th,td{border-color:var(--border-color-dark)}@media print{@page{--text-color: #000 !important;--bg-color: #fff !important}div[class*=language-]{position:relative!important}}.theme-hope-content:not(.custom)>*:first-child{margin-top:0}.vp-breadcrumb{max-width:var(--content-width, 740px);margin-inline:auto;padding-inline:2.5rem;position:relative;z-index:2;padding-top:1rem;font-size:15px}@media (max-width: 959px){.vp-breadcrumb{padding-inline:1.5rem}}@media print{.vp-breadcrumb{max-width:unset}}@media (max-width: 959px){.vp-breadcrumb{font-size:14px}}@media (max-width: 419px){.vp-breadcrumb{padding-top:.5rem;font-size:12.8px}}@media print{.vp-breadcrumb{display:none}}.vp-breadcrumb .icon{margin-inline-end:.25em;font-size:1em}.vp-breadcrumb img.icon{vertical-align:-.125em;height:1em}.vp-breadcrumb a{display:inline-block;padding:0 .5em}.vp-breadcrumb a:before{position:relative;bottom:.125rem;margin-inline-end:.25em}.vp-breadcrumb a:hover{color:var(--theme-color)}.vp-breadcrumb ol{margin:0;padding-inline-start:0;list-style:none}.vp-breadcrumb li{display:inline-block;line-height:1.5}.vp-breadcrumb li:first-child a{padding-inline-start:0}.vp-breadcrumb li:last-child a{padding-inline-end:0}.vp-breadcrumb li.is-active a{color:var(--grey-light);cursor:default;pointer-events:none}.vp-breadcrumb li+li:before{content:"/";color:var(--grey-light)}.toggle-sidebar-wrapper{position:fixed;top:var(--navbar-height);bottom:0;inset-inline-start:var(--sidebar-space);z-index:100;display:flex;align-items:center;justify-content:center;font-size:2rem;transition:inset-inline-start var(--transform-transition)}@media (max-width: 719px){.toggle-sidebar-wrapper{display:none}}@media (min-width: 1440px){.toggle-sidebar-wrapper{display:none}}.toggle-sidebar-wrapper:hover{background:#7f7f7f0d;cursor:pointer}.toggle-sidebar-wrapper .arrow{display:inline-block;vertical-align:middle;width:1em;height:1em;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(0,0,0,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E");background-position:center;background-repeat:no-repeat;line-height:normal;transition:all .3s}html[data-theme=dark] .toggle-sidebar-wrapper .arrow{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(255,255,255,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E")}.toggle-sidebar-wrapper .arrow.down{transform:rotate(180deg)}html[dir=rtl] .toggle-sidebar-wrapper .arrow.down{transform:rotate(-180deg)}.toggle-sidebar-wrapper .arrow.end{transform:rotate(90deg)}html[dir=rtl] .toggle-sidebar-wrapper .arrow.end,.toggle-sidebar-wrapper .arrow.start{transform:rotate(-90deg)}html[dir=rtl] .toggle-sidebar-wrapper .arrow.start{transform:rotate(90deg)}.theme-container{display:flex;flex-direction:column;justify-content:space-between;min-height:100vh}.theme-container .vp-page{padding-top:var(--navbar-height);padding-inline-start:calc(var(--sidebar-space) + 2rem)}@media (max-width: 719px){.theme-container .vp-page{padding-inline:0}}@media (min-width: 1440px){.theme-container .vp-page{padding-inline-end:calc(100vw - var(--content-width) - var(--sidebar-space) - 6rem)}}.theme-container .vp-sidebar{top:var(--navbar-height)}.theme-container.no-navbar .vp-page{padding-top:0}.theme-container.no-navbar .vp-sidebar{top:0}@media (max-width: 719px){.theme-container.no-navbar .vp-sidebar{top:0}}@media (max-width: 719px){.theme-container.hide-navbar .vp-sidebar{top:0}}.theme-container.sidebar-collapsed .vp-page{padding-inline-start:0}.theme-container.sidebar-collapsed .vp-sidebar{box-shadow:none;transform:translate(-100%)}html[dir=rtl] .theme-container.sidebar-collapsed .vp-sidebar{transform:translate(100%)}.theme-container.sidebar-collapsed .toggle-sidebar-wrapper{inset-inline-start:0}.theme-container.no-sidebar .vp-page{padding-inline:0}@media (min-width: 1440px){.theme-container.no-sidebar.has-toc .vp-page{padding-inline-end:16rem}}.theme-container.no-sidebar .vp-toggle-sidebar-button,.theme-container.no-sidebar .toggle-sidebar-wrapper,.theme-container.no-sidebar .vp-sidebar{display:none}.theme-container.sidebar-open .vp-sidebar{box-shadow:2px 0 8px var(--card-shadow);transform:translate(0)}.fade-slide-y-enter-active{transition:all .3s ease!important}.fade-slide-y-leave-active{transition:all .3s cubic-bezier(1,.5,.8,1)!important}.fade-slide-y-enter-from,.fade-slide-y-leave-to{opacity:0;transform:translateY(10px)}.vp-feature-wrapper{position:relative}.vp-feature-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background-attachment:fixed;background-position:50%;background-size:cover}.vp-feature-bg.light{display:inline-block}.vp-feature-bg.dark,html[data-theme=dark] .vp-feature-bg.light{display:none}html[data-theme=dark] .vp-feature-bg.dark{display:inline-block}.vp-feature{position:relative;z-index:1;margin:0 auto;padding:1.5rem 1rem;color:var(--text-color-lighter);text-align:center}.vp-feature-bg+.vp-feature{color:#222}html[data-theme=dark] .vp-feature-bg+.vp-feature{color:#eee}.vp-feature-bg+.vp-feature .icon{color:inherit}.vp-feature-image{height:10rem;margin:0 auto}@media (max-width: 959px){.vp-feature-image{height:8rem}}.vp-feature-image.light{display:inline-block}.vp-feature-image.dark,html[data-theme=dark] .vp-feature-image.light{display:none}html[data-theme=dark] .vp-feature-image.dark{display:inline-block}.vp-feature-header{margin-bottom:1.5rem;border-bottom:none;font-size:3rem;font-family:var(--font-family);text-align:center}@media (max-width: 959px){.vp-feature-header{font-size:2.5rem}}@media (max-width: 719px){.vp-feature-header{font-size:2.25rem}}@media (max-width: 419px){.vp-feature-header{font-size:2rem}}.vp-feature-description{font-size:1.125rem}.vp-features{z-index:1;display:flex;flex-wrap:wrap;align-items:stretch;place-content:stretch center;margin:1rem 0;text-align:start}@media print{.vp-features{display:block}}.vp-features:first-child{border-top:1px solid var(--border-color)}.vp-feature-item{position:relative;display:block;flex-basis:calc(33% - 3rem);margin:.5rem;padding:1rem;border-radius:.5rem;color:inherit;transition:background var(--color-transition),box-shadow var(--color-transition),transform var(--transform-transition)}@media (min-width: 1440px){.vp-feature-item{flex-basis:calc(25% - 3rem)}}@media (max-width: 959px){.vp-feature-item{flex-basis:calc(50% - 3rem)}}@media (max-width: 719px){.vp-feature-item{flex-basis:100%;font-size:.95rem}}@media (max-width: 419px){.vp-feature-item{margin:.5rem 0;font-size:.9rem}}.vp-feature-item.link{cursor:pointer}@media print{.vp-feature-item.link{text-decoration:none}}.vp-feature-item .icon{display:inline-block;height:1.1em;margin-inline-end:.5rem;color:var(--theme-color);font-weight:400;font-size:1.1em}.vp-feature-item:hover{background-color:var(--bg-color-secondary);box-shadow:0 2px 12px 0 var(--card-shadow);transform:translate(-2px,-2px);transform:scale(1.05)}.vp-feature-bg+.vp-feature .vp-feature-item:hover{background-color:transparent}.vp-feature-item:only-child{flex-basis:100%}.vp-feature-item:first-child:nth-last-child(2),.vp-feature-item:nth-child(2):last-child{flex-basis:calc(50% - 3rem)}@media (max-width: 719px){.vp-feature-item:first-child:nth-last-child(2),.vp-feature-item:nth-child(2):last-child{flex-basis:100%}}.vp-feature-title{margin:.25rem 0 .5rem;font-weight:700;font-size:1.3rem;font-family:var(--font-family)}@media (max-width: 419px){.vp-feature-title{font-size:1.2rem}}.vp-feature-details{margin:0;line-height:1.4}.vp-footer-wrapper{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-evenly;padding-block:.75rem;padding-inline:calc(var(--sidebar-space) + 2rem) 2rem;border-top:1px solid var(--border-color);background:var(--bg-color);color:var(--grey-dark);text-align:center;transition:border-top-color var(--color-transition),background var(--color-transition),padding var(--transform-transition)}@media (max-width: 719px){.vp-footer-wrapper{padding-inline-start:2rem}}@media (min-width: 1440px){.vp-footer-wrapper{z-index:50;padding-inline-start:2rem}}@media print{.vp-footer-wrapper{margin:0!important;padding:0!important}}@media (max-width: 419px){.vp-footer-wrapper{display:block}}.no-sidebar .vp-footer-wrapper,.sidebar-collapsed .vp-footer-wrapper{padding-inline-start:2rem}.vp-footer{margin:.5rem 1rem;font-size:14px}@media print{.vp-footer{display:none}}.vp-copyright{margin:6px 0;font-size:13px}.vp-page:not(.not-found)+.vp-footer-wrapper{margin-top:-2rem}.vp-hero-info-wrapper{position:relative;display:flex;align-items:center;justify-content:center;margin-inline:auto}.vp-hero-info-wrapper.fullscreen{height:calc(100vh - var(--navbar-height))!important}.vp-hero-info{z-index:1;width:100%;padding-inline:2.5rem}@media (max-width: 959px){.vp-hero-info{padding-inline:1.5rem}}@media (min-width: 959px){.vp-hero-info{display:flex;align-items:center;justify-content:space-evenly}}.vp-hero-mask{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background-position:50%;background-size:cover}.vp-hero-mask:after{content:" ";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;display:block}.vp-hero-mask.light{display:block}html[data-theme=dark] .vp-hero-mask.light,.vp-hero-mask.dark{display:none}html[data-theme=dark] .vp-hero-mask.dark{display:block}.vp-hero-infos{z-index:1;margin:0 .5rem}.vp-hero-image{display:block;max-width:100%;max-height:18rem;margin:1rem}@media (max-width: 959px){.vp-hero-image{margin:2rem auto}}@media (max-width: 719px){.vp-hero-image{max-height:16rem;margin:1.5rem auto}}@media (max-width: 419px){.vp-hero-image{max-height:14rem}}.vp-hero-image.light{display:block}html[data-theme=dark] .vp-hero-image.light,.vp-hero-image.dark{display:none}html[data-theme=dark] .vp-hero-image.dark{display:block}#main-title{margin:.5rem 0;background:linear-gradient(120deg,var(--theme-color-light),var(--theme-color) 30%,#967e00 100%);-webkit-background-clip:text;background-clip:text;font-weight:700;font-size:3.6rem;font-family:var(--font-family);line-height:1.5;-webkit-text-fill-color:transparent}@media (max-width: 719px){#main-title{margin:0}}@media (max-width: 959px){#main-title{font-size:2.5rem;text-align:center}}@media (max-width: 719px){#main-title{font-size:2.25rem;text-align:center}}@media (max-width: 419px){#main-title{margin:0 auto;font-size:2rem}}#main-description,.vp-hero-actions{margin:1.8rem 0}@media (max-width: 719px){#main-description,.vp-hero-actions{margin:1.5rem 0}}@media (max-width: 959px){#main-description,.vp-hero-actions{margin:1.5rem auto;text-align:center}}@media (max-width: 419px){#main-description,.vp-hero-actions{margin:1.2rem 0}}#main-description{max-width:35rem;color:var(--text-color-light);font-weight:500;font-size:1.6rem;line-height:1.3}@media (max-width: 719px){#main-description{font-size:1.4rem}}@media (max-width: 419px){#main-description{font-size:1.2rem}}.vp-hero-action{display:inline-block;overflow:hidden;min-width:4rem;margin:.5rem;padding:.5em 1.5rem;border-radius:2rem;background:var(--bg-color-secondary);color:var(--text-color);font-size:1.2rem;text-align:center;transition:color var(--color-transition),color var(--color-transition),transform var(--transform-transition)}@media (max-width: 719px){.vp-hero-action{padding:.5rem 1rem;font-size:1.1rem}}@media (max-width: 419px){.vp-hero-action{font-size:1rem}}@media print{.vp-hero-action{text-decoration:none}}.vp-hero-action:hover{background:var(--bg-color-tertiary)}.vp-hero-action.primary{border-color:var(--theme-color);background:var(--theme-color);color:var(--white)}.vp-hero-action.primary:hover{border-color:var(--theme-color-light);background:var(--theme-color-light)}.vp-project-home:not(.pure) .vp-hero-action:active{transform:scale(.96)}.vp-hero-action .icon{margin-inline-end:.25em}.vp-highlight-wrapper{position:relative;display:flex;align-items:center;justify-content:center}.vp-highlight-wrapper:nth-child(odd) .vp-highlight{flex-direction:row-reverse}.vp-highlight{z-index:1;display:flex;flex:1;align-items:center;justify-content:flex-end;max-width:var(--home-page-width);margin:0 auto;padding:1.5rem 2.5rem;color:#222}@media (max-width: 719px){.vp-highlight{display:block;padding-inline:1.5rem;text-align:center}}html[data-theme=dark] .vp-highlight{color:#eee}.vp-highlight-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background-attachment:fixed;background-position:50%;background-size:cover}.vp-highlight-bg.light{display:inline-block}.vp-highlight-bg.dark,html[data-theme=dark] .vp-highlight-bg.light{display:none}html[data-theme=dark] .vp-highlight-bg.dark{display:inline-block}.vp-highlight-image{width:12rem;margin:2rem 4rem}@media (max-width: 959px){.vp-highlight-image{width:10rem}}@media (max-width: 719px){.vp-highlight-image{width:8rem;margin:0 auto}}.vp-highlight-image.light{display:inline-block}.vp-highlight-image.dark,html[data-theme=dark] .vp-highlight-image.light{display:none}html[data-theme=dark] .vp-highlight-image.dark{display:inline-block}.vp-highlight-info-wrapper{display:flex;flex:1;justify-content:center;padding:2rem}@media (max-width: 719px){.vp-highlight-info-wrapper{padding:1rem 0}}.vp-highlight-info-wrapper:only-child{flex:1 0 100%}.vp-highlight-info{text-align:start}.vp-highlight-header{margin-bottom:1.5rem;border-bottom:none;font-size:3rem;font-family:var(--font-family)}@media (max-width: 959px){.vp-highlight-header{font-size:2.5rem}}@media (max-width: 719px){.vp-highlight-header{font-size:2.25rem;text-align:center}}@media (max-width: 419px){.vp-highlight-header{font-size:2rem}}.vp-highlight-description{font-size:1.125rem}.vp-highlights{margin-inline-start:-1.25em;padding-inline-start:0}.vp-highlight-item-wrapper{padding:.5em .5em .5em 1.75em;border-radius:.5rem;list-style:none}.vp-highlight-item-wrapper.link{cursor:pointer}.vp-highlight-item-wrapper:hover{background-color:var(--bg-color-secondary);box-shadow:0 2px 12px 0 var(--card-shadow);transition:transform var(--transform-transition);transform:translate(-2px,-2px)}.vp-highlight-bg+.vp-highlight .vp-highlight-item-wrapper:hover{background-color:transparent}.vp-highlight-item-wrapper::marker{font-weight:700}.vp-highlight-item{display:list-item;color:inherit;list-style:initial}@media print{.vp-highlight-item{text-decoration:none}}.vp-highlight-title{margin:0;font-weight:600;font-size:1.125rem;font-family:var(--font-family)}.vp-highlight-title .icon{margin-inline-end:.25em;font-size:1em}.vp-highlight-title img.icon{vertical-align:-.125em;height:1em}.vp-highlight-details{margin:.5rem 0 0}.vp-project-home{--content-width: var(--home-page-width);display:block;flex:1;padding-top:var(--navbar-height)}@media screen{.vp-project-home .vp-hero-info-wrapper:not(.fullscreen) .vp-hero-info{max-width:var(--home-page-width)}}@media screen{.vp-project-home .vp-feature{max-width:var(--home-page-width)}}.vp-project-home .theme-hope-content{padding-bottom:1.5rem!important}.vp-project-home .theme-hope-content:empty{padding:0!important}.not-found-hint{padding:2rem}.not-found-hint .error-code{margin:0;font-weight:700;font-size:4rem;line-height:4rem}.not-found-hint .error-title{font-weight:700}.not-found-hint .error-hint{margin:0;padding:12px 0;font-weight:600;font-size:20px;line-height:20px;letter-spacing:2px}.vp-page.not-found{display:flex;flex-direction:column;align-items:center;justify-content:center;box-sizing:border-box;width:100vw;max-width:var(--home-page-width);margin:0 auto;padding:calc(var(--navbar-height) + 1rem) 1rem 1rem!important;text-align:center}.vp-page.not-found .action-button{display:inline-block;box-sizing:border-box;margin:.25rem;padding:.75rem 1rem;border-width:0;border-bottom:1px solid var(--theme-color-dark);border-radius:3rem;background:var(--theme-color);color:var(--white);outline:none;font-size:1rem;transition:background var(--color-transition)}.vp-page.not-found .action-button:hover{background:var(--theme-color-light);cursor:pointer}.vp-page-nav{display:flex;flex-wrap:wrap;max-width:var(--content-width, 740px);min-height:2rem;margin-inline:auto;margin-top:0;padding-block:.5rem;padding-inline:2rem;border-top:1px solid var(--border-color)}@media (max-width: 959px){.vp-page-nav{padding-inline:1rem}}@media print{.vp-page-nav{display:none}}.vp-page-nav .nav-link{display:inline-block;flex-grow:1;margin:.25rem;padding:.25rem .5rem;border:1px solid var(--border-color);border-radius:.25rem}.vp-page-nav .nav-link:hover{background:var(--bg-color-secondary)}.vp-page-nav .nav-link .hint{color:var(--grey-light);font-size:.875rem;line-height:2}.vp-page-nav .nav-link .arrow{display:inline-block;vertical-align:middle;width:1em;height:1em;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(0,0,0,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E");background-position:center;background-repeat:no-repeat;line-height:normal;transition:all .3s;font-size:.75rem}html[data-theme=dark] .vp-page-nav .nav-link .arrow{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(255,255,255,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E")}.vp-page-nav .nav-link .arrow.down{transform:rotate(180deg)}html[dir=rtl] .vp-page-nav .nav-link .arrow.down{transform:rotate(-180deg)}.vp-page-nav .nav-link .arrow.end{transform:rotate(90deg)}html[dir=rtl] .vp-page-nav .nav-link .arrow.end,.vp-page-nav .nav-link .arrow.start{transform:rotate(-90deg)}html[dir=rtl] .vp-page-nav .nav-link .arrow.start{transform:rotate(90deg)}.vp-page-nav .prev{text-align:start}.vp-page-nav .prev .icon{margin-inline-end:.25em;font-size:1em}.vp-page-nav .prev img.icon{vertical-align:-.125em;height:1em}.vp-page-nav .next{text-align:end}.vp-page-nav .next .icon{margin-inline-start:.25em;font-size:1em}.vp-page-nav .next img.icon{vertical-align:-.125em;height:1em}.vp-page-title{max-width:var(--content-width, 740px);margin-inline:auto;padding-inline:2.5rem;position:relative;z-index:1;padding-top:1rem;padding-bottom:0}@media (max-width: 959px){.vp-page-title{padding-inline:1.5rem}}@media print{.vp-page-title{max-width:unset}}@media print{.vp-page-title{padding-inline:0!important}}@media (max-width: 959px){.vp-page-title{padding-top:.5rem}}.vp-page-title h1{margin-top:calc(0px - var(--navbar-height))!important;margin-bottom:1rem;padding-top:var(--navbar-height)!important;font-size:2.2rem}@media (max-width: 959px){.vp-page-title h1{margin-bottom:.5rem}}.vp-page-title h1 .icon{margin-inline-end:.25em;color:var(--theme-color);font-size:.9em}.vp-page-title h1 img.icon{vertical-align:-.125em;height:1em}.theme-hope-content:not(.custom){padding-top:0!important}.theme-hope-content:not(.custom) h1:first-child,.theme-hope-content:not(.custom) h2:first-child,.theme-hope-content:not(.custom) h3:first-child,.theme-hope-content:not(.custom) h4:first-child,.theme-hope-content:not(.custom) h5:first-child,.theme-hope-content:not(.custom) h6:first-child{margin-top:calc(.5rem - var(--navbar-height))!important;padding-top:var(--navbar-height)!important}.theme-hope-content:not(.custom)>h1:first-child{display:none}.vp-page{display:block;flex-grow:1;padding-bottom:2rem;transition:padding var(--transform-transition)}@media print{.vp-page{min-height:auto!important;margin:0!important;padding:0!important}}.page-cover{width:var(--content-width);margin-inline:auto}@media (max-width: 719px){.page-cover{width:100%}}.page-cover img{-o-object-fit:cover;object-fit:cover;width:100%;max-height:25vh;border-radius:.5rem}@media (max-width: 719px){.page-cover img{border-radius:0}}#vp-comment{max-width:var(--content-width, 740px);margin:0 auto;padding:2rem 2.5rem}@media (max-width: 959px){#vp-comment{padding:1.5rem}}@media (max-width: 419px){#vp-comment{padding:1rem 1.5rem}}@media print{#vp-comment{max-width:unset}}.vp-skip-link{top:.25rem;inset-inline-start:.25rem;z-index:999;padding:.65rem 1.5rem;border-radius:.5rem;background:var(--bg-color);color:var(--theme-color);box-shadow:var(--card-shadow);font-weight:700;font-size:.9em;text-decoration:none}@media print{.vp-skip-link{display:none}}.vp-skip-link:focus{clip:auto;width:auto;height:auto;-webkit-clip-path:none;clip-path:none}.theme-hope-content pre{overflow:auto;margin:.85rem 0;padding:1rem;border-radius:6px;line-height:1.375}.theme-hope-content pre code{padding:0;border-radius:0;background:transparent!important;color:var(--code-color);font-family:var(--font-family-mono);text-align:left;white-space:pre;word-spacing:normal;word-wrap:normal;word-break:normal;overflow-wrap:unset;-webkit-hyphens:none;hyphens:none;-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}@media print{.theme-hope-content pre code{white-space:pre-wrap}}.theme-hope-content .line-number{font-family:var(--font-family-mono)}div[class*=language-]{position:relative;border-radius:6px;background:var(--code-bg-color);font-size:16px}@media (max-width: 419px){.theme-hope-content>div[class*=language-]{margin:.85rem -1.5rem;border-radius:0}}div[class*=language-]:before{content:attr(data-title);position:absolute;top:0;right:1em;z-index:3;color:var(--code-line-color);font-size:.75rem}div[class*=language-] pre{position:relative;z-index:1;scrollbar-gutter:stable}div[class*=language-] .highlight-lines{position:absolute;top:0;bottom:0;left:0;width:100%;padding:1rem 0;line-height:1.375;-webkit-user-select:none;-moz-user-select:none;user-select:none}div[class*=language-] .highlight-line{background:var(--code-highlight-line-color)}div[class*=language-].line-numbers-mode:after{content:"";position:absolute;top:0;bottom:0;left:0;z-index:2;width:var(--line-numbers-width);border-right:1px solid var(--code-highlight-line-color);border-radius:6px 0 0 6px}@media (max-width: 419px){div[class*=language-].line-numbers-mode:after{border-radius:0}}@media print{div[class*=language-].line-numbers-mode:after{display:none}}div[class*=language-].line-numbers-mode .highlight-line{position:relative}div[class*=language-].line-numbers-mode .highlight-line:before{content:" ";position:absolute;top:0;left:0;z-index:3;display:block;width:var(--line-numbers-width);height:100%}div[class*=language-].line-numbers-mode pre{vertical-align:middle;margin-left:var(--line-numbers-width);padding-left:.5rem}@media print{div[class*=language-].line-numbers-mode pre{margin-left:0;padding-left:1rem}}div[class*=language-].line-numbers-mode .line-numbers{position:absolute;top:0;bottom:0;left:0;display:flex;flex-direction:column;width:var(--line-numbers-width);padding:1rem 0;color:var(--code-line-color);counter-reset:line-number;text-align:center}@media print{div[class*=language-].line-numbers-mode .line-numbers{display:none}}div[class*=language-].line-numbers-mode .line-number{position:relative;z-index:4;display:flex;flex:1;align-items:center;justify-content:center;-webkit-user-select:none;-moz-user-select:none;user-select:none}div[class*=language-].line-numbers-mode .line-number:before{content:counter(line-number);display:block;font-size:.8em;line-height:1;counter-increment:line-number}div[class*=language-]:not(.line-numbers-mode) .line-numbers{display:none}html[data-theme=light] #app{--code-color: #383a42;--code-line-color: rgba(56, 58, 66, .67);--code-bg-color: #ecf4fa;--code-border-color: #c3def3;--code-highlight-line-color: #d8e9f6}html[data-theme=light] code[class*=language-],html[data-theme=light] pre[class*=language-]{-moz-tab-size:2;-o-tab-size:2;tab-size:2}html[data-theme=light] code[class*=language-]::-moz-selection,html[data-theme=light] code[class*=language-] ::-moz-selection,html[data-theme=light] pre[class*=language-]::-moz-selection,html[data-theme=light] pre[class*=language-] ::-moz-selection{background:#e5e5e6;color:inherit}html[data-theme=light] code[class*=language-]::selection,html[data-theme=light] code[class*=language-] ::selection,html[data-theme=light] pre[class*=language-]::selection,html[data-theme=light] pre[class*=language-] ::selection{background:#e5e5e6;color:inherit}html[data-theme=light] .token.comment,html[data-theme=light] .token.prolog,html[data-theme=light] .token.cdata{color:#a0a1a7}html[data-theme=light] .token.doctype,html[data-theme=light] .token.punctuation,html[data-theme=light] .token.entity{color:#383a42}html[data-theme=light] .token.attr-name,html[data-theme=light] .token.class-name,html[data-theme=light] .token.boolean,html[data-theme=light] .token.constant,html[data-theme=light] .token.number,html[data-theme=light] .token.atrule{color:#b76b01}html[data-theme=light] .token.keyword{color:#a626a4}html[data-theme=light] .token.property,html[data-theme=light] .token.tag,html[data-theme=light] .token.symbol,html[data-theme=light] .token.deleted,html[data-theme=light] .token.important{color:#e45649}html[data-theme=light] .token.selector,html[data-theme=light] .token.string,html[data-theme=light] .token.char,html[data-theme=light] .token.builtin,html[data-theme=light] .token.inserted,html[data-theme=light] .token.regex,html[data-theme=light] .token.attr-value,html[data-theme=light] .token.attr-value>.token.punctuation{color:#50a14f}html[data-theme=light] .token.variable,html[data-theme=light] .token.operator,html[data-theme=light] .token.function{color:#4078f2}html[data-theme=light] .token.url{color:#0184bc}html[data-theme=light] .token.attr-value>.token.punctuation.attr-equals,html[data-theme=light] .token.special-attr>.token.attr-value>.token.value.css{color:#383a42}html[data-theme=light] .language-css .token.selector{color:#e45649}html[data-theme=light] .language-css .token.property{color:#383a42}html[data-theme=light] .language-css .token.function,html[data-theme=light] .language-css .token.url>.token.function{color:#0184bc}html[data-theme=light] .language-css .token.url>.token.string.url{color:#50a14f}html[data-theme=light] .language-css .token.important,html[data-theme=light] .language-css .token.atrule .token.rule,html[data-theme=light] .language-javascript .token.operator{color:#a626a4}html[data-theme=light] .language-javascript .token.template-string>.token.interpolation>.token.interpolation-punctuation.punctuation{color:#ca1243}html[data-theme=light] .language-json .token.operator{color:#383a42}html[data-theme=light] .language-json .token.null.keyword{color:#b76b01}html[data-theme=light] .language-markdown .token.url,html[data-theme=light] .language-markdown .token.url>.token.operator,html[data-theme=light] .language-markdown .token.url-reference.url>.token.string{color:#383a42}html[data-theme=light] .language-markdown .token.url>.token.content{color:#4078f2}html[data-theme=light] .language-markdown .token.url>.token.url,html[data-theme=light] .language-markdown .token.url-reference.url{color:#0184bc}html[data-theme=light] .language-markdown .token.blockquote.punctuation,html[data-theme=light] .language-markdown .token.hr.punctuation{color:#a0a1a7;font-style:italic}html[data-theme=light] .language-markdown .token.code-snippet{color:#50a14f}html[data-theme=light] .language-markdown .token.bold .token.content{color:#b76b01}html[data-theme=light] .language-markdown .token.italic .token.content{color:#a626a4}html[data-theme=light] .language-markdown .token.strike .token.content,html[data-theme=light] .language-markdown .token.strike .token.punctuation,html[data-theme=light] .language-markdown .token.list.punctuation,html[data-theme=light] .language-markdown .token.title.important>.token.punctuation{color:#e45649}html[data-theme=light] .token.bold{font-weight:700}html[data-theme=light] .token.comment,html[data-theme=light] .token.italic{font-style:italic}html[data-theme=light] .token.entity{cursor:help}html[data-theme=light] .token.namespace{opacity:.8}html[data-theme=dark] #app{--code-color: #abb2bf;--code-line-color: rgba(171, 178, 191, .67);--code-bg-color: #282c34;--code-border-color: #343e51;--code-highlight-line-color: #2f3542}html[data-theme=dark] code[class*=language-],html[data-theme=dark] pre[class*=language-]{text-shadow:0 1px rgba(0,0,0,.3);-moz-tab-size:2;-o-tab-size:2;tab-size:2}@media print{html[data-theme=dark] code[class*=language-],html[data-theme=dark] pre[class*=language-]{text-shadow:none}}html[data-theme=dark] code[class*=language-]::-moz-selection,html[data-theme=dark] code[class*=language-] ::-moz-selection,html[data-theme=dark] pre[class*=language-]::-moz-selection,html[data-theme=dark] pre[class*=language-] ::-moz-selection{background:#3e4451;color:inherit;text-shadow:none}html[data-theme=dark] code[class*=language-]::selection,html[data-theme=dark] code[class*=language-] ::selection,html[data-theme=dark] pre[class*=language-]::selection,html[data-theme=dark] pre[class*=language-] ::selection{background:#3e4451;color:inherit;text-shadow:none}html[data-theme=dark] .token.comment,html[data-theme=dark] .token.prolog,html[data-theme=dark] .token.cdata{color:#5c6370}html[data-theme=dark] .token.doctype,html[data-theme=dark] .token.punctuation,html[data-theme=dark] .token.entity{color:#abb2bf}html[data-theme=dark] .token.attr-name,html[data-theme=dark] .token.class-name,html[data-theme=dark] .token.boolean,html[data-theme=dark] .token.constant,html[data-theme=dark] .token.number,html[data-theme=dark] .token.atrule{color:#d19a66}html[data-theme=dark] .token.keyword{color:#c678dd}html[data-theme=dark] .token.property,html[data-theme=dark] .token.tag,html[data-theme=dark] .token.symbol,html[data-theme=dark] .token.deleted,html[data-theme=dark] .token.important{color:#e06c75}html[data-theme=dark] .token.selector,html[data-theme=dark] .token.string,html[data-theme=dark] .token.char,html[data-theme=dark] .token.builtin,html[data-theme=dark] .token.inserted,html[data-theme=dark] .token.regex,html[data-theme=dark] .token.attr-value,html[data-theme=dark] .token.attr-value>.token.punctuation{color:#98c379}html[data-theme=dark] .token.variable,html[data-theme=dark] .token.operator,html[data-theme=dark] .token.function{color:#61afef}html[data-theme=dark] .token.url{color:#56b6c2}html[data-theme=dark] .token.attr-value>.token.punctuation.attr-equals,html[data-theme=dark] .token.special-attr>.token.attr-value>.token.value.css{color:#abb2bf}html[data-theme=dark] .language-css .token.selector{color:#e06c75}html[data-theme=dark] .language-css .token.property{color:#abb2bf}html[data-theme=dark] .language-css .token.function,html[data-theme=dark] .language-css .token.url>.token.function{color:#56b6c2}html[data-theme=dark] .language-css .token.url>.token.string.url{color:#98c379}html[data-theme=dark] .language-css .token.important,html[data-theme=dark] .language-css .token.atrule .token.rule,html[data-theme=dark] .language-javascript .token.operator{color:#c678dd}html[data-theme=dark] .language-javascript .token.template-string>.token.interpolation>.token.interpolation-punctuation.punctuation{color:#be5046}html[data-theme=dark] .language-json .token.operator{color:#abb2bf}html[data-theme=dark] .language-json .token.null.keyword{color:#d19a66}html[data-theme=dark] .language-markdown .token.url,html[data-theme=dark] .language-markdown .token.url>.token.operator,html[data-theme=dark] .language-markdown .token.url-reference.url>.token.string{color:#abb2bf}html[data-theme=dark] .language-markdown .token.url>.token.content{color:#61afef}html[data-theme=dark] .language-markdown .token.url>.token.url,html[data-theme=dark] .language-markdown .token.url-reference.url{color:#56b6c2}html[data-theme=dark] .language-markdown .token.blockquote.punctuation,html[data-theme=dark] .language-markdown .token.hr.punctuation{color:#5c6370;font-style:italic}html[data-theme=dark] .language-markdown .token.code-snippet{color:#98c379}html[data-theme=dark] .language-markdown .token.bold .token.content{color:#d19a66}html[data-theme=dark] .language-markdown .token.italic .token.content{color:#c678dd}html[data-theme=dark] .language-markdown .token.strike .token.content,html[data-theme=dark] .language-markdown .token.strike .token.punctuation,html[data-theme=dark] .language-markdown .token.list.punctuation,html[data-theme=dark] .language-markdown .token.title.important>.token.punctuation{color:#e06c75}html[data-theme=dark] .token.bold{font-weight:700}html[data-theme=dark] .token.comment,html[data-theme=dark] .token.italic{font-style:italic}html[data-theme=dark] .token.entity{cursor:help}html[data-theme=dark] .token.namespace{opacity:.8}.sr-only{position:absolute;overflow:hidden;clip:rect(0,0,0,0);width:1px;height:1px;margin:-1px;padding:0;border-width:0;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none}@media print{.theme-hope-content{margin:0!important;padding-inline:0!important}}.theme-hope-content.custom{margin:0;padding:0}.theme-hope-content:not(.custom){max-width:var(--content-width, 740px);margin:0 auto;padding:2rem 2.5rem;padding-top:0}@media (max-width: 959px){.theme-hope-content:not(.custom){padding:1.5rem}}@media (max-width: 419px){.theme-hope-content:not(.custom){padding:1rem 1.5rem}}@media print{.theme-hope-content:not(.custom){max-width:unset}}.theme-hope-content:not(.custom)>h1,.theme-hope-content:not(.custom)>h2,.theme-hope-content:not(.custom)>h3,.theme-hope-content:not(.custom)>h4,.theme-hope-content:not(.custom)>h5,.theme-hope-content:not(.custom)>h6{margin-top:calc(.5rem - var(--navbar-height));margin-bottom:.5rem;padding-top:calc(1rem + var(--navbar-height));outline:none}.theme-container.no-navbar .theme-hope-content:not(.custom)>h1,.theme-container.no-navbar .theme-hope-content:not(.custom)>h2,.theme-container.no-navbar .theme-hope-content:not(.custom)>h3,.theme-container.no-navbar .theme-hope-content:not(.custom)>h4,.theme-container.no-navbar .theme-hope-content:not(.custom)>h5,.theme-container.no-navbar .theme-hope-content:not(.custom)>h6{margin-top:1.5rem;padding-top:0}.theme-hope-content:not(.custom)>p,.theme-hope-content:not(.custom)>ul p,.theme-hope-content:not(.custom)>ol p{text-align:justify;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}@media (max-width: 419px){.theme-hope-content:not(.custom)>p,.theme-hope-content:not(.custom)>ul p,.theme-hope-content:not(.custom)>ol p{text-align:start}}@media print{.theme-hope-content:not(.custom)>p,.theme-hope-content:not(.custom)>ul p,.theme-hope-content:not(.custom)>ol p{text-align:start}}.theme-hope-content a:not(.header-anchor):hover{text-decoration:underline}.theme-hope-content img{max-width:100%}::view-transition-old(root),::view-transition-new(root){animation:none;mix-blend-mode:normal}html[data-theme=light]::view-transition-old(root),html[data-theme=dark]::view-transition-new(root){z-index:1}html[data-theme=light]::view-transition-new(root),html[data-theme=dark]::view-transition-old(root){z-index:99999}@media (min-width: 1280px){.chart-wrapper::-webkit-scrollbar,.flowchart-wrapper::-webkit-scrollbar,.mermaid-wrapper::-webkit-scrollbar{width:8px;height:8px}.chart-wrapper::-webkit-scrollbar-track-piece,.flowchart-wrapper::-webkit-scrollbar-track-piece,.mermaid-wrapper::-webkit-scrollbar-track-piece{border-radius:8px;background:#0000001a}}html[dir=rtl] a.header-anchor:before{right:-.75em}#docsearch-container{min-width:145.7px!important}@media (max-width: 959px){#docsearch-container{min-width:36px!important}}.DocSearch.DocSearch-Button{margin-left:0}@media (max-width: 959px){.DocSearch.DocSearch-Button{min-width:36px!important}}.DocSearch .DocSearch-Button-Placeholder{display:inline-block;padding:4px 12px 4px 6px;font-size:14px}@media (max-width: 719px){.DocSearch .DocSearch-Button-Placeholder{display:none}}.DocSearch .DocSearch-Search-Icon{width:1.25em;height:1.25em}@media (max-width: 959px){.DocSearch .DocSearch-Button-Keys{display:none}}.DocSearch .DocSearch-Button-Key{background:var(--bg-color);box-shadow:none}:root{scrollbar-width:thin}@media (prefers-reduced-motion: no-preference){:root{scroll-behavior:smooth}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track-piece{border-radius:6px;background:#0000001a}::-webkit-scrollbar-thumb{border-radius:6px;background:var(--theme-color)}::-webkit-scrollbar-thumb:active{background:var(--theme-color-light)}@media (max-width: 719px){.hide-in-mobile{display:none!important}}@media (max-width: 959px){.hide-in-pad{display:none!important}}.page-author-item{display:inline-block;margin:0 4px;font-weight:400;overflow-wrap:break-word}.page-category-info{flex-wrap:wrap}.page-category-item{display:inline-block;margin:.125em .25em;padding:0 .25em;border-radius:.25em;background:var(--bg-color-secondary);color:var(--text-color-light);font-weight:700;font-size:.75rem;line-height:2;transition:background var(--color-transition),color var(--color-transition)}@media print{.page-category-item{padding:0;font-weight:400}.page-category-item:after{content:", "}.page-category-item:last-of-type:after{content:""}}.page-category-item.clickable>span:hover{color:var(--theme-color);cursor:pointer}.page-category-item.category0{background:#fde5e7;color:#ec2f3e}html[data-theme=dark] .page-category-item.category0{background:#340509;color:#ba111f}.page-category-item.category0:hover{background:#f9bec3}html[data-theme=dark] .page-category-item.category0:hover{background:#53080e}.page-category-item.category1{background:#ffeee8;color:#fb7649}html[data-theme=dark] .page-category-item.category1{background:#441201;color:#f54205}.page-category-item.category1:hover{background:#fed4c6}html[data-theme=dark] .page-category-item.category1:hover{background:#6d1d02}.page-category-item.category2{background:#fef5e7;color:#f5b041}html[data-theme=dark] .page-category-item.category2{background:#3e2703;color:#e08e0b}.page-category-item.category2:hover{background:#fce6c4}html[data-theme=dark] .page-category-item.category2:hover{background:#633f05}.page-category-item.category3{background:#eafaf1;color:#55d98d}html[data-theme=dark] .page-category-item.category3{background:#0c331c;color:#29b866}.page-category-item.category3:hover{background:#caf3db}html[data-theme=dark] .page-category-item.category3:hover{background:#12522d}.page-category-item.category4{background:#e6f9ee;color:#36d278}html[data-theme=dark] .page-category-item.category4{background:#092917;color:#219552}.page-category-item.category4:hover{background:#c0f1d5}html[data-theme=dark] .page-category-item.category4:hover{background:#0f4224}.page-category-item.category5{background:#e1fcfc;color:#16e1e1}html[data-theme=dark] .page-category-item.category5{background:#042929;color:#0e9595}.page-category-item.category5:hover{background:#b4f8f8}html[data-theme=dark] .page-category-item.category5:hover{background:#064242}.page-category-item.category6{background:#e4f0fe;color:#2589f6}html[data-theme=dark] .page-category-item.category6{background:#021b36;color:#0862c3}.page-category-item.category6:hover{background:#bbdafc}html[data-theme=dark] .page-category-item.category6:hover{background:#042c57}.page-category-item.category7{background:#f7f1fd;color:#bb8ced}html[data-theme=dark] .page-category-item.category7{background:#2a0b4b;color:#9851e4}.page-category-item.category7:hover{background:#eadbfa}html[data-theme=dark] .page-category-item.category7:hover{background:#431277}.page-category-item.category8{background:#fdeaf5;color:#ef59ab}html[data-theme=dark] .page-category-item.category8{background:#400626;color:#e81689}.page-category-item.category8:hover{background:#facbe5}html[data-theme=dark] .page-category-item.category8:hover{background:#670a3d}.page-original-info{position:relative;display:inline-block;vertical-align:middle;overflow:hidden;padding:0 .5em;border:.5px solid var(--grey-dark);border-radius:.75em;background:var(--bg-color);font-size:.75em;line-height:1.5!important}.page-info{display:flex;flex-wrap:wrap;align-items:center;place-content:stretch flex-start;color:var(--grey-dark);font-size:14px}@media print{.page-info{display:flex!important}}.page-info>span{display:flex;align-items:center;max-width:100%;margin-inline-end:.5em;line-height:2}@media (min-width: 1440px){.page-info>span{font-size:1.1em}}@media (max-width: 419px){.page-info>span{margin-inline-end:.3em;font-size:.875em}}@media print{.page-info>span{display:flex!important}}.page-info .icon{position:relative;display:inline-block;vertical-align:middle;width:1em;height:1em;margin-inline-end:.25em}.page-info a{color:inherit}.page-info a:hover,.page-info a:active{color:var(--theme-color)}.vp-page-meta{max-width:var(--content-width, 740px);margin-inline:auto;padding-inline:2.5rem;display:flex;flex-wrap:wrap;justify-content:space-between;overflow:auto;padding-top:.75rem;padding-bottom:.75rem}@media (max-width: 959px){.vp-page-meta{padding-inline:1.5rem}}@media print{.vp-page-meta{max-width:unset}}@media print{.vp-page-meta{margin:0!important;padding-inline:0!important}}@media (max-width: 719px){.vp-page-meta{display:block}}.vp-page-meta .vp-meta-item{flex-grow:1}.vp-page-meta .vp-meta-item .vp-meta-label{font-weight:500}.vp-page-meta .vp-meta-item .vp-meta-label:not(a){color:var(--text-color-lighter)}.vp-page-meta .vp-meta-item .vp-meta-info{color:var(--grey-dark);font-weight:400}.vp-page-meta .git-info{text-align:end}.vp-page-meta .edit-link{margin-top:.25rem;margin-bottom:.25rem;margin-inline-end:.5rem;font-size:14px}@media print{.vp-page-meta .edit-link{display:none}}.vp-page-meta .edit-link .icon{position:relative;bottom:-.125em;width:1em;height:1em;margin-inline-end:.25em}.vp-page-meta .update-time,.vp-page-meta .contributors{margin-top:.25rem;margin-bottom:.25rem;font-size:14px}@media (max-width: 719px){.vp-page-meta .update-time,.vp-page-meta .contributors{font-size:13px;text-align:start}}.print-button{border-width:0;background:transparent;cursor:pointer;box-sizing:content-box;width:1rem;height:1rem;padding:.5rem;border-radius:.25em;color:inherit;font-size:1rem;transform:translateY(.25rem)}@media print{.print-button{display:none}}.page-tag-info{flex-wrap:wrap}.page-tag-item{position:relative;display:inline-block;vertical-align:middle;overflow:hidden;min-width:1.5rem;margin:.125rem;padding:.125rem .25rem .125rem .625rem;background:var(--bg-color-secondary);background:linear-gradient(135deg,transparent .75em,var(--bg-color-secondary) 0) top,linear-gradient(45deg,transparent .75em,var(--bg-color-secondary) 0) bottom;background-size:100% 52%!important;background-repeat:no-repeat!important;color:var(--text-color-light);font-weight:700;font-size:.625rem;line-height:1.5;text-align:center;transition:background var(--color-transition),color var(--color-transition)}@media print{.page-tag-item{padding:0;font-weight:400}.page-tag-item:after{content:", "}.page-tag-item:last-of-type:after{content:""}}.page-tag-item.clickable:hover{cursor:pointer}.page-tag-item.tag0{background:#fde5e7;background:linear-gradient(135deg,transparent .75em,#fde5e7 0) top,linear-gradient(45deg,transparent .75em,#fde5e7 0) bottom;color:#ec2f3e}html[data-theme=dark] .page-tag-item.tag0{background:#340509;background:linear-gradient(135deg,transparent .75em,#340509 0) top,linear-gradient(45deg,transparent .75em,#340509 0) bottom;color:#ba111f}.page-tag-item.tag0.clickable:hover{background:#f9bec3;background:linear-gradient(135deg,transparent .75em,#f9bec3 0) top,linear-gradient(45deg,transparent .75em,#f9bec3 0) bottom}html[data-theme=dark] .page-tag-item.tag0.clickable:hover{background:#53080e;background:linear-gradient(135deg,transparent .75em,#53080e 0) top,linear-gradient(45deg,transparent .75em,#53080e 0) bottom}.page-tag-item.tag1{background:#ffeee8;background:linear-gradient(135deg,transparent .75em,#ffeee8 0) top,linear-gradient(45deg,transparent .75em,#ffeee8 0) bottom;color:#fb7649}html[data-theme=dark] .page-tag-item.tag1{background:#441201;background:linear-gradient(135deg,transparent .75em,#441201 0) top,linear-gradient(45deg,transparent .75em,#441201 0) bottom;color:#f54205}.page-tag-item.tag1.clickable:hover{background:#fed4c6;background:linear-gradient(135deg,transparent .75em,#fed4c6 0) top,linear-gradient(45deg,transparent .75em,#fed4c6 0) bottom}html[data-theme=dark] .page-tag-item.tag1.clickable:hover{background:#6d1d02;background:linear-gradient(135deg,transparent .75em,#6d1d02 0) top,linear-gradient(45deg,transparent .75em,#6d1d02 0) bottom}.page-tag-item.tag2{background:#fef5e7;background:linear-gradient(135deg,transparent .75em,#fef5e7 0) top,linear-gradient(45deg,transparent .75em,#fef5e7 0) bottom;color:#f5b041}html[data-theme=dark] .page-tag-item.tag2{background:#3e2703;background:linear-gradient(135deg,transparent .75em,#3e2703 0) top,linear-gradient(45deg,transparent .75em,#3e2703 0) bottom;color:#e08e0b}.page-tag-item.tag2.clickable:hover{background:#fce6c4;background:linear-gradient(135deg,transparent .75em,#fce6c4 0) top,linear-gradient(45deg,transparent .75em,#fce6c4 0) bottom}html[data-theme=dark] .page-tag-item.tag2.clickable:hover{background:#633f05;background:linear-gradient(135deg,transparent .75em,#633f05 0) top,linear-gradient(45deg,transparent .75em,#633f05 0) bottom}.page-tag-item.tag3{background:#eafaf1;background:linear-gradient(135deg,transparent .75em,#eafaf1 0) top,linear-gradient(45deg,transparent .75em,#eafaf1 0) bottom;color:#55d98d}html[data-theme=dark] .page-tag-item.tag3{background:#0c331c;background:linear-gradient(135deg,transparent .75em,#0c331c 0) top,linear-gradient(45deg,transparent .75em,#0c331c 0) bottom;color:#29b866}.page-tag-item.tag3.clickable:hover{background:#caf3db;background:linear-gradient(135deg,transparent .75em,#caf3db 0) top,linear-gradient(45deg,transparent .75em,#caf3db 0) bottom}html[data-theme=dark] .page-tag-item.tag3.clickable:hover{background:#12522d;background:linear-gradient(135deg,transparent .75em,#12522d 0) top,linear-gradient(45deg,transparent .75em,#12522d 0) bottom}.page-tag-item.tag4{background:#e6f9ee;background:linear-gradient(135deg,transparent .75em,#e6f9ee 0) top,linear-gradient(45deg,transparent .75em,#e6f9ee 0) bottom;color:#36d278}html[data-theme=dark] .page-tag-item.tag4{background:#092917;background:linear-gradient(135deg,transparent .75em,#092917 0) top,linear-gradient(45deg,transparent .75em,#092917 0) bottom;color:#219552}.page-tag-item.tag4.clickable:hover{background:#c0f1d5;background:linear-gradient(135deg,transparent .75em,#c0f1d5 0) top,linear-gradient(45deg,transparent .75em,#c0f1d5 0) bottom}html[data-theme=dark] .page-tag-item.tag4.clickable:hover{background:#0f4224;background:linear-gradient(135deg,transparent .75em,#0f4224 0) top,linear-gradient(45deg,transparent .75em,#0f4224 0) bottom}.page-tag-item.tag5{background:#e1fcfc;background:linear-gradient(135deg,transparent .75em,#e1fcfc 0) top,linear-gradient(45deg,transparent .75em,#e1fcfc 0) bottom;color:#16e1e1}html[data-theme=dark] .page-tag-item.tag5{background:#042929;background:linear-gradient(135deg,transparent .75em,#042929 0) top,linear-gradient(45deg,transparent .75em,#042929 0) bottom;color:#0e9595}.page-tag-item.tag5.clickable:hover{background:#b4f8f8;background:linear-gradient(135deg,transparent .75em,#b4f8f8 0) top,linear-gradient(45deg,transparent .75em,#b4f8f8 0) bottom}html[data-theme=dark] .page-tag-item.tag5.clickable:hover{background:#064242;background:linear-gradient(135deg,transparent .75em,#064242 0) top,linear-gradient(45deg,transparent .75em,#064242 0) bottom}.page-tag-item.tag6{background:#e4f0fe;background:linear-gradient(135deg,transparent .75em,#e4f0fe 0) top,linear-gradient(45deg,transparent .75em,#e4f0fe 0) bottom;color:#2589f6}html[data-theme=dark] .page-tag-item.tag6{background:#021b36;background:linear-gradient(135deg,transparent .75em,#021b36 0) top,linear-gradient(45deg,transparent .75em,#021b36 0) bottom;color:#0862c3}.page-tag-item.tag6.clickable:hover{background:#bbdafc;background:linear-gradient(135deg,transparent .75em,#bbdafc 0) top,linear-gradient(45deg,transparent .75em,#bbdafc 0) bottom}html[data-theme=dark] .page-tag-item.tag6.clickable:hover{background:#042c57;background:linear-gradient(135deg,transparent .75em,#042c57 0) top,linear-gradient(45deg,transparent .75em,#042c57 0) bottom}.page-tag-item.tag7{background:#f7f1fd;background:linear-gradient(135deg,transparent .75em,#f7f1fd 0) top,linear-gradient(45deg,transparent .75em,#f7f1fd 0) bottom;color:#bb8ced}html[data-theme=dark] .page-tag-item.tag7{background:#2a0b4b;background:linear-gradient(135deg,transparent .75em,#2a0b4b 0) top,linear-gradient(45deg,transparent .75em,#2a0b4b 0) bottom;color:#9851e4}.page-tag-item.tag7.clickable:hover{background:#eadbfa;background:linear-gradient(135deg,transparent .75em,#eadbfa 0) top,linear-gradient(45deg,transparent .75em,#eadbfa 0) bottom}html[data-theme=dark] .page-tag-item.tag7.clickable:hover{background:#431277;background:linear-gradient(135deg,transparent .75em,#431277 0) top,linear-gradient(45deg,transparent .75em,#431277 0) bottom}.page-tag-item.tag8{background:#fdeaf5;background:linear-gradient(135deg,transparent .75em,#fdeaf5 0) top,linear-gradient(45deg,transparent .75em,#fdeaf5 0) bottom;color:#ef59ab}html[data-theme=dark] .page-tag-item.tag8{background:#400626;background:linear-gradient(135deg,transparent .75em,#400626 0) top,linear-gradient(45deg,transparent .75em,#400626 0) bottom;color:#e81689}.page-tag-item.tag8.clickable:hover{background:#facbe5;background:linear-gradient(135deg,transparent .75em,#facbe5 0) top,linear-gradient(45deg,transparent .75em,#facbe5 0) bottom}html[data-theme=dark] .page-tag-item.tag8.clickable:hover{background:#670a3d;background:linear-gradient(135deg,transparent .75em,#670a3d 0) top,linear-gradient(45deg,transparent .75em,#670a3d 0) bottom}.vp-toc-placeholder{margin-inline:auto;padding-inline:2.5rem;position:sticky;top:calc(var(--navbar-height) + .5rem);z-index:99;display:none;max-width:var(--content-width, 740px)}@media (max-width: 959px){.vp-toc-placeholder{padding-inline:1.5rem}}@media print{.vp-toc-placeholder{max-width:unset}}@media (max-width: 719px){.hide-navbar .vp-toc-placeholder{top:.5rem}}@media (min-width: 1440px){.vp-toc-placeholder{top:calc(var(--navbar-height) + 2rem)}}@media print{.vp-toc-placeholder{display:none!important}}.vp-toc-placeholder+.theme-hope-content:not(.custom){padding-top:0}.has-toc .vp-toc-placeholder{display:block}#toc{margin-bottom:1rem;border-radius:8px;background:var(--bg-color-secondary)}@media (min-width: 1440px){#toc{position:absolute;inset-inline-start:calc(100% + 1rem);min-width:10rem;max-width:15rem;margin-bottom:0;border-radius:0;background:transparent}}.vp-toc-header{padding:.5rem 1rem;font-weight:600}@media (min-width: 1440px){.vp-toc-header{padding-top:0;font-size:.875rem}}.vp-toc-header .arrow{display:inline-block;vertical-align:middle;width:1em;height:1em;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(0,0,0,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E");background-position:center;background-repeat:no-repeat;line-height:normal;transition:all .3s}html[data-theme=dark] .vp-toc-header .arrow{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(255,255,255,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E")}.vp-toc-header .arrow.down{transform:rotate(180deg)}html[dir=rtl] .vp-toc-header .arrow.down{transform:rotate(-180deg)}.vp-toc-header .arrow.end{transform:rotate(90deg)}html[dir=rtl] .vp-toc-header .arrow.end,.vp-toc-header .arrow.start{transform:rotate(-90deg)}html[dir=rtl] .vp-toc-header .arrow.start{transform:rotate(90deg)}@media (min-width: 1440px){.vp-toc-header .arrow{display:none}}.vp-toc-header .print-button{display:none}@media (min-width: 1440px){.vp-toc-header .print-button{display:inline-block}}.vp-toc-wrapper{position:relative;overflow:hidden auto;height:0;max-height:8rem;margin:0 .5rem;padding-inline-start:8px;text-overflow:ellipsis;white-space:nowrap;transition:height .5s;scroll-behavior:smooth}@media (min-width: 1440px){.vp-toc-wrapper{height:auto;max-height:75vh}}.vp-toc-wrapper.open{height:auto;margin-top:.5rem;padding-bottom:.5rem}.vp-toc-wrapper::-webkit-scrollbar-track-piece{background:transparent}.vp-toc-wrapper::-webkit-scrollbar{width:3px}.vp-toc-wrapper::-webkit-scrollbar-thumb:vertical{background:#ddd}html[data-theme=dark] .vp-toc-wrapper::-webkit-scrollbar-thumb:vertical{background:#333}.vp-toc-wrapper:before{content:" ";position:absolute;top:0;bottom:0;inset-inline-start:0;z-index:-1;width:2px;background:var(--border-color)}.vp-toc-list{position:relative;margin:0;padding:0}.vp-toc-marker{position:absolute;top:0;inset-inline-start:0;z-index:2;display:none;width:2px;height:1.7rem;background:var(--theme-color);transition:top var(--transform-transition)}@media (min-width: 1440px){.vp-toc-marker{display:block}}.vp-toc-link{position:relative;display:block;overflow:hidden;max-width:100%;color:var(--grey-light);line-height:inherit;text-overflow:ellipsis;white-space:nowrap}.vp-toc-link.level2{padding-inline-start:0px;font-size:14px}.vp-toc-link.level3{padding-inline-start:8px;font-size:13px}.vp-toc-link.level4{padding-inline-start:16px;font-size:12px}.vp-toc-link.level5{padding-inline-start:24px;font-size:11px}.vp-toc-link.level6{padding-inline-start:32px;font-size:10px}.vp-toc-item{position:relative;box-sizing:border-box;height:1.7rem;list-style:none;line-height:1.7rem}@media (min-width: 1440px){.vp-toc-item{padding:0 .5rem}}.vp-toc-item:hover>.vp-toc-link{color:var(--theme-color)}.vp-toc-item.active>.vp-toc-link{color:var(--theme-color);font-weight:700}.dropdown-wrapper{cursor:pointer}.dropdown-wrapper:not(:hover) .arrow{transform:rotate(-180deg)}.dropdown-wrapper .dropdown-title{border-width:0;background:transparent;cursor:pointer;padding:0 .25rem;color:var(--grey-dark);font-weight:500;font-size:inherit;font-family:inherit;line-height:inherit;cursor:inherit}.dropdown-wrapper .dropdown-title:hover{border-color:transparent}.dropdown-wrapper .dropdown-title .icon{margin-inline-end:.25em;font-size:1em}.dropdown-wrapper .dropdown-title .arrow{display:inline-block;vertical-align:middle;width:1em;height:1em;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(0,0,0,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E");background-position:center;background-repeat:no-repeat;line-height:normal;transition:all .3s;font-size:1.2em}html[data-theme=dark] .dropdown-wrapper .dropdown-title .arrow{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(255,255,255,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E")}.dropdown-wrapper .dropdown-title .arrow.down{transform:rotate(180deg)}html[dir=rtl] .dropdown-wrapper .dropdown-title .arrow.down{transform:rotate(-180deg)}.dropdown-wrapper .dropdown-title .arrow.end{transform:rotate(90deg)}html[dir=rtl] .dropdown-wrapper .dropdown-title .arrow.end,.dropdown-wrapper .dropdown-title .arrow.start{transform:rotate(-90deg)}html[dir=rtl] .dropdown-wrapper .dropdown-title .arrow.start{transform:rotate(90deg)}.dropdown-wrapper ul{margin:0;padding:0;list-style-type:none}.dropdown-wrapper .nav-dropdown{position:absolute;top:100%;inset-inline-end:0;overflow-y:auto;box-sizing:border-box;min-width:6rem;max-height:calc(100vh - var(--navbar-height));margin:0;padding:.5rem .75rem;border:1px solid var(--grey14);border-radius:.5rem;background:var(--bg-color);box-shadow:2px 2px 10px var(--card-shadow);text-align:start;white-space:nowrap;opacity:0;visibility:hidden;transition:all .18s ease-out;transform:scale(.9)}.dropdown-wrapper:hover .nav-dropdown,.dropdown-wrapper.open .nav-dropdown{z-index:2;opacity:1;visibility:visible;transform:none}.dropdown-wrapper .nav-link{position:relative;display:block;margin-bottom:0;border-bottom:none;color:var(--grey-dark);font-weight:400;font-size:.875rem;line-height:1.7rem;transition:color var(--color-transition)}.dropdown-wrapper .nav-link:hover,.dropdown-wrapper .nav-link.active{color:var(--theme-color)}.dropdown-wrapper .dropdown-subtitle{margin:0;padding:.5rem .25rem 0;color:var(--grey-light);font-weight:600;font-size:.75rem;line-height:2;text-transform:uppercase}.dropdown-wrapper .dropdown-subitem-wrapper{padding:0 0 .25rem}.dropdown-wrapper .dropdown-item{color:inherit;line-height:1.7rem}.dropdown-wrapper .dropdown-item:last-child .dropdown-subtitle{padding-top:0}.dropdown-wrapper .dropdown-item:last-child .dropdown-subitem-wrapper{padding-bottom:0}.nav-screen-dropdown-title{border-width:0;background:transparent;position:relative;display:flex;align-items:center;width:100%;padding:0;color:var(--grey-dark);font-size:inherit;font-family:inherit;text-align:start;cursor:pointer}.nav-screen-dropdown-title:hover,.nav-screen-dropdown-title.active{color:var(--text-color)}.nav-screen-dropdown-title .title{flex:1}.nav-screen-dropdown-title .arrow{display:inline-block;vertical-align:middle;width:1em;height:1em;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(0,0,0,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E");background-position:center;background-repeat:no-repeat;line-height:normal;transition:all .3s}html[data-theme=dark] .nav-screen-dropdown-title .arrow{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(255,255,255,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E")}.nav-screen-dropdown-title .arrow.down{transform:rotate(180deg)}html[dir=rtl] .nav-screen-dropdown-title .arrow.down{transform:rotate(-180deg)}.nav-screen-dropdown-title .arrow.end{transform:rotate(90deg)}html[dir=rtl] .nav-screen-dropdown-title .arrow.end,.nav-screen-dropdown-title .arrow.start{transform:rotate(-90deg)}html[dir=rtl] .nav-screen-dropdown-title .arrow.start{transform:rotate(90deg)}.nav-screen-dropdown{overflow:hidden;margin:.5rem 0 0;padding:0;list-style:none;transition:transform .1s ease-out;transform:scaleY(1);transform-origin:top}.nav-screen-dropdown.hide{height:0;margin:0;transform:scaleY(0)}.nav-screen-dropdown .nav-link{position:relative;display:block;padding-inline-start:.5rem;font-weight:400;line-height:2}.nav-screen-dropdown .nav-link:hover,.nav-screen-dropdown .nav-link.active{color:var(--theme-color)}.nav-screen-dropdown .nav-link .icon{font-size:1em}.nav-screen-dropdown .dropdown-item{color:inherit;line-height:1.7rem}.nav-screen-dropdown .dropdown-subtitle{margin:0;padding-inline-start:.25rem;color:var(--grey-light);font-weight:600;font-size:.75rem;line-height:2;text-transform:uppercase}.nav-screen-dropdown .dropdown-subtitle .nav-link{padding:0}.nav-screen-dropdown .dropdown-subitem-wrapper{margin:0;padding:0;list-style:none}.nav-screen-dropdown .dropdown-subitem{padding-inline-start:.5rem;font-size:.9em}.nav-screen-links{display:none;padding-bottom:.75rem}@media (max-width: 719px){.nav-screen-links{display:block}}.nav-screen-links .navbar-links-item{position:relative;display:block;padding:12px 4px 11px 0;border-bottom:1px solid var(--border-color);font-size:16px;line-height:1.5rem}.nav-screen-links .nav-link{display:inline-block;width:100%;color:var(--grey-dark);font-weight:400}.nav-screen-links .nav-link:hover{color:var(--text-color)}.nav-screen-links .nav-link.active{color:var(--theme-color)}.vp-nav-screen-container{max-width:320px;margin:0 auto;padding:2rem 0 4rem}#nav-screen{position:fixed;inset:var(--navbar-height) 0 0 0;z-index:150;display:none;overflow-y:auto;padding:0 2rem;background:var(--bg-color)}@media (max-width: 719px){#nav-screen{display:block}}#nav-screen.fade-enter-active,#nav-screen.fade-leave-active{transition:opacity .25s}#nav-screen.fade-enter-active .vp-nav-screen-container,#nav-screen.fade-leave-active .vp-nav-screen-container{transition:transform .25s ease}#nav-screen.fade-enter-from,#nav-screen.fade-leave-to{opacity:0}#nav-screen.fade-enter-from .vp-nav-screen-container,#nav-screen.fade-leave-to .vp-nav-screen-container{transform:translateY(-8px)}#nav-screen .icon{margin-inline-end:.25em;font-size:1em}#nav-screen img.icon{vertical-align:-.125em;height:1em}.vp-outlook-wrapper{display:flex;justify-content:space-around}.vp-nav-logo{vertical-align:top;height:var(--navbar-line-height);margin-inline-end:.8rem}.vp-nav-logo.light{display:inline-block}.vp-nav-logo.dark,html[data-theme=dark] .vp-nav-logo.light{display:none}html[data-theme=dark] .vp-nav-logo.dark{display:inline-block}.vp-site-name{position:relative;color:var(--text-color);font-size:1.25rem}@media (max-width: 719px){.vp-site-name{overflow:hidden;width:calc(100vw - 9.4rem);text-overflow:ellipsis;white-space:nowrap}}.vp-brand:hover .vp-site-name{color:var(--theme-color)}.vp-navbar .vp-nav-links{display:flex;align-items:center;font-size:.875rem}.vp-navbar .vp-nav-item{position:relative;margin:0 .25rem;line-height:2rem}.vp-navbar .vp-nav-item:first-child{margin-inline-start:0}.vp-navbar .vp-nav-item:last-child{margin-inline-end:0}.vp-navbar .vp-nav-item>.nav-link{color:var(--grey-dark)}.vp-navbar .vp-nav-item>.nav-link:after{content:" ";position:absolute;inset:auto 50% 0;height:2px;border-radius:1px;background:var(--theme-color-light);visibility:hidden;transition:inset .2s ease-in-out}.vp-navbar .vp-nav-item>.nav-link.active{color:var(--theme-color)}.vp-navbar .vp-nav-item>.nav-link:hover:after,.vp-navbar .vp-nav-item>.nav-link.active:after{inset:auto 0 0;visibility:visible}.vp-navbar{--navbar-line-height: calc( var(--navbar-height) - var(--navbar-vertical-padding) * 2 );position:fixed;inset:0 0 auto;z-index:175;display:flex;align-items:center;justify-content:space-between;box-sizing:border-box;height:var(--navbar-height);padding:var(--navbar-vertical-padding) var(--navbar-horizontal-padding);background:var(--navbar-bg-color);box-shadow:0 2px 8px var(--card-shadow);line-height:var(--navbar-line-height);white-space:nowrap;transition:transform var(--transform-transition);-webkit-backdrop-filter:saturate(150%) blur(12px);backdrop-filter:saturate(150%) blur(12px)}@media print{.vp-navbar{display:none}}.hide-navbar .vp-navbar.auto-hide{transform:translateY(-100%)}.vp-navbar .nav-link{padding:0 .25rem;color:var(--grey-dark)}.vp-navbar .nav-link.active{color:var(--theme-color)}.vp-navbar .nav-link .icon{margin-inline-end:.25em;font-size:1em}.vp-navbar .nav-link img.icon{vertical-align:-.125em;height:1em}.vp-navbar.hide-icon .vp-nav-links .icon{display:none!important}.vp-navbar-start,.vp-navbar-end,.vp-navbar-center{display:flex;flex:1;align-items:center}.vp-navbar-start>*,.vp-navbar-end>*,.vp-navbar-center>*{position:relative;margin:0 .25rem!important}.vp-navbar-start>*:first-child,.vp-navbar-end>*:first-child,.vp-navbar-center>*:first-child{margin-inline-start:0!important}.vp-navbar-start>*:last-child,.vp-navbar-end>*:last-child,.vp-navbar-center>*:last-child{margin-inline-end:0!important}.vp-navbar-start{justify-content:start}.vp-navbar-center{justify-content:center}.vp-navbar-end{justify-content:end}.vp-navbar .vp-action{margin:0!important}.vp-navbar .vp-action-link{display:inline-block;margin:auto;padding:6px;color:var(--grey-dark);line-height:1}.vp-navbar .vp-action-link:hover,.vp-navbar .vp-action-link:active{color:var(--theme-color)}.vp-toggle-navbar-button{border-width:0;background:transparent;cursor:pointer;position:relative;display:none;align-items:center;justify-content:center;padding:6px}@media screen and (max-width: 719px){.vp-toggle-navbar-button{display:flex}}.vp-toggle-navbar-button>span{position:relative;overflow:hidden;width:16px;height:14px}.vp-toggle-navbar-button .vp-top,.vp-toggle-navbar-button .vp-middle,.vp-toggle-navbar-button .vp-bottom{position:absolute;width:16px;height:2px;background:var(--grey-dark);transition:top .25s,background .5s,transform .25s}.vp-toggle-navbar-button .vp-top{top:0;left:0;transform:translate(0)}.vp-toggle-navbar-button .vp-middle{top:6px;left:0;transform:translate(8px)}.vp-toggle-navbar-button .vp-bottom{top:12px;left:0;transform:translate(4px)}.vp-toggle-navbar-button:hover .vp-top{top:0;left:0;transform:translate(4px)}.vp-toggle-navbar-button:hover .vp-middle{top:6;left:0;transform:translate(0)}.vp-toggle-navbar-button:hover .vp-bottom{top:12px;left:0;transform:translate(8px)}.vp-toggle-navbar-button.is-active .vp-top{top:6px;transform:translate(0) rotate(225deg)}.vp-toggle-navbar-button.is-active .vp-middle{top:6px;transform:translate(16px)}.vp-toggle-navbar-button.is-active .vp-bottom{top:6px;transform:translate(0) rotate(135deg)}.vp-toggle-navbar-button.is-active:hover .vp-top,.vp-toggle-navbar-button.is-active:hover .vp-middle,.vp-toggle-navbar-button.is-active:hover .vp-bottom{background:var(--theme-color);transition:top .25s,background .25s,transform .25s}.vp-toggle-sidebar-button{border-width:0;background:transparent;cursor:pointer;display:none;vertical-align:middle;box-sizing:content-box;width:1rem;height:1rem;padding:.5rem;font:unset;transition:transform .2s ease-in-out}@media screen and (max-width: 719px){.vp-toggle-sidebar-button{display:block;padding-inline-end:var(--navbar-mobile-horizontal-padding)}}.vp-toggle-sidebar-button:before,.vp-toggle-sidebar-button:after,.vp-toggle-sidebar-button .icon{display:block;width:100%;height:2px;border-radius:.05em;background:var(--grey-dark);transition:transform .2s ease-in-out}.vp-toggle-sidebar-button:before{content:" ";margin-top:.125em}.sidebar-open .vp-toggle-sidebar-button:before{transform:translateY(.34rem) rotate(135deg)}.vp-toggle-sidebar-button:after{content:" ";margin-bottom:.125em}.sidebar-open .vp-toggle-sidebar-button:after{transform:translateY(-.34rem) rotate(-135deg)}.vp-toggle-sidebar-button .icon{margin:.2em 0}.sidebar-open .vp-toggle-sidebar-button .icon{transform:scale(0)}.appearance-title{display:block;margin:0;padding:0 .25rem;color:var(--grey-light);font-weight:600;font-size:.75rem;line-height:2}#appearance-switch{border-width:0;background:transparent;vertical-align:middle;padding:6px;color:var(--grey-dark);cursor:pointer;transition:color var(--color-transition)}#appearance-switch:hover{color:var(--theme-color)}#appearance-switch .icon{width:1.25rem;height:1.25rem}.outlook-button{border-width:0;background:transparent;cursor:pointer;position:relative;padding:.375rem;color:var(--grey-dark)}.outlook-button .icon{vertical-align:middle;width:1.25rem;height:1.25rem}.outlook-dropdown{position:absolute;top:100%;inset-inline-end:0;overflow-y:auto;box-sizing:border-box;min-width:100px;margin:0;padding:.5rem .75rem;border:1px solid var(--grey14);border-radius:.25rem;background:var(--bg-color);box-shadow:2px 2px 10px var(--card-shadow);text-align:start;white-space:nowrap;opacity:0;visibility:hidden;transition:all .18s ease-out;transform:scale(.8)}.outlook-dropdown>*:not(:last-child){padding-bottom:.5rem;border-bottom:1px solid var(--grey14)}.outlook-button:hover .outlook-dropdown,.outlook-button.open .outlook-dropdown{z-index:2;opacity:1;visibility:visible;transform:scale(1)}.theme-color-title{display:block;margin:0;padding:0 .25rem;color:var(--grey-light);font-weight:600;font-size:.75rem;line-height:2}#theme-color-picker{display:flex;margin:0;padding:0;list-style-type:none;font-size:14px}#theme-color-picker li span{display:inline-block;vertical-align:middle;width:15px;height:15px;margin:0 2px;border-radius:2px}#theme-color-picker li span.theme-color,#theme-color-picker li span.theme-color html[data-theme=dark]{background:#960018}@media print{.full-screen-wrapper{display:none}}.full-screen-title{display:block;margin:0;padding:0 .25rem;color:var(--grey-light);font-weight:600;font-size:.75rem;line-height:2}.full-screen,.cancel-full-screen{border-width:0;background:transparent;vertical-align:middle;padding:.375rem;color:var(--grey-dark);cursor:pointer}.full-screen:hover,.cancel-full-screen:hover{color:var(--theme-color)}.full-screen .icon,.cancel-full-screen .icon{width:1.25rem;height:1.25rem}.enter-fullscreen-icon:hover,.cancel-fullscreen-icon{color:var(--theme-color)}.cancel-fullscreen-icon:hover{color:var(--grey-dark)}.vp-sidebar-header{display:flex;align-items:center;overflow:hidden;box-sizing:border-box;width:calc(100% - 1rem);margin:0;margin-inline:.5rem;padding:.25rem .5rem;border-width:0;border-radius:.375rem;background:transparent;color:var(--text-color);font-size:1.1em;line-height:1.5;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:color .15s ease;transform:rotate(0)}.vp-sidebar-header.open{color:inherit}.vp-sidebar-header.clickable:hover{background:var(--bg-color-secondary)}.vp-sidebar-header.clickable.exact{border-inline-start-color:var(--theme-color);color:var(--theme-color)}.vp-sidebar-header.clickable.exact a{color:inherit}.vp-sidebar-header .vp-sidebar-title{flex:1}.vp-sidebar-header .vp-arrow{display:inline-block;vertical-align:middle;width:1em;height:1em;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(0,0,0,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E");background-position:center;background-repeat:no-repeat;line-height:normal;transition:all .3s;font-size:1.5em}html[data-theme=dark] .vp-sidebar-header .vp-arrow{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(255,255,255,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E")}.vp-sidebar-header .vp-arrow.down{transform:rotate(180deg)}html[dir=rtl] .vp-sidebar-header .vp-arrow.down{transform:rotate(-180deg)}.vp-sidebar-header .vp-arrow.end{transform:rotate(90deg)}html[dir=rtl] .vp-sidebar-header .vp-arrow.end,.vp-sidebar-header .vp-arrow.start{transform:rotate(-90deg)}html[dir=rtl] .vp-sidebar-header .vp-arrow.start{transform:rotate(90deg)}button.vp-sidebar-header{outline:none;font-weight:inherit;font-family:inherit;line-height:inherit;text-align:start;cursor:pointer}.vp-sidebar-link{display:inline-block;box-sizing:border-box;width:calc(100% - 1rem);margin-inline:.5rem;padding:.25rem .5rem;border-radius:.375rem;color:var(--text-color);font-weight:400;font-size:1em;line-height:1.5}.vp-sidebar-link:hover{background:var(--bg-color-secondary)}.vp-sidebar-link.active{background:var(--theme-color-mask);color:var(--theme-color);font-weight:500}.vp-sidebar-link.active .icon{color:var(--theme-color)}.vp-sidebar-group:not(.collapsible) .vp-sidebar-header:not(.clickable){color:inherit;cursor:auto}.vp-sidebar-group .vp-sidebar-group{padding-inline-start:.75rem}.vp-sidebar-group .vp-sidebar-group .vp-sidebar-header{font-size:1em}.vp-sidebar-group .vp-sidebar-link{padding-inline-start:1.25rem}.vp-sidebar-links,.vp-sidebar-links ul{margin:0;padding:0}.vp-sidebar-links li{list-style-type:none}.vp-sidebar>.vp-sidebar-links{padding:1.5rem 0}@media (max-width: 719px){.vp-sidebar>.vp-sidebar-links{padding:1rem 0}}.vp-sidebar>.vp-sidebar-links>li>.vp-sidebar-link{font-size:1.1em}.vp-sidebar>.vp-sidebar-links>li:not(:first-child){margin-top:.5rem}.vp-sidebar{position:fixed;top:0;bottom:0;inset-inline-start:0;z-index:1;overflow-y:auto;width:var(--sidebar-width);margin:0;padding-inline-start:calc(var(--sidebar-space) - var(--sidebar-width));background:var(--sidebar-bg-color);box-shadow:2px 0 8px var(--card-shadow);font-size:.94rem;transition:padding var(--transform-transition),transform var(--transform-transition);-webkit-backdrop-filter:saturate(150%) blur(12px);backdrop-filter:saturate(150%) blur(12px);scrollbar-color:var(--theme-color) var(--border-color);scrollbar-width:thin}@media (max-width: 959px){.vp-sidebar{font-size:.86em}}@media (max-width: 719px){.vp-sidebar{z-index:125;box-shadow:none;transform:translate(-100%)}html[dir=rtl] .vp-sidebar{transform:translate(100%)}}@media (min-width: 1440px){.vp-sidebar{padding-bottom:3rem;box-shadow:none;font-size:1rem}}@media print{.vp-sidebar{display:none}}.vp-sidebar a{display:inline-block;color:var(--text-color);font-weight:400}.vp-sidebar .icon{margin-inline-end:.25em;font-size:1em}.vp-sidebar img.icon{vertical-align:-.125em;height:1em}.vp-sidebar.hide-icon .icon{display:none!important}.vp-sidebar-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9;background:#00000026}.vp-sidebar-mask.fade-enter-active,.vp-sidebar-mask.fade-leave-active{transition:opacity .25s}.vp-sidebar-mask.fade-enter-from,.vp-sidebar-mask.fade-leave-to{opacity:0}.vp-site-name{visibility:hidden}.vp-hero-info img{max-width:60%!important;padding:1rem}.vp-actions{align-items:flex-end}.search-pro-result-wrapper{scrollbar-color:var(--vp-tc) var(--vp-brc);scrollbar-width:thin}@media (max-width: 419px){.search-pro-result-wrapper{font-size:14px}}.search-pro-result-wrapper::-webkit-scrollbar{width:6px;height:6px}.search-pro-result-wrapper::-webkit-scrollbar-track-piece{border-radius:6px;background:#0000001a}.search-pro-result-wrapper::-webkit-scrollbar-thumb{border-radius:6px;background:var(--vp-tc)}.search-pro-result-wrapper::-webkit-scrollbar-thumb:active{background:var(--vp-tcl)}.search-pro-result-wrapper mark{border-radius:.25em;line-height:1}.search-pro-result-list{margin:0;padding:0}.search-pro-result-list-item{display:block;list-style:none}.search-pro-result-title{position:sticky;top:-2px;z-index:10;margin:-4px;margin-bottom:.25rem;padding:4px;background:var(--vp-bg);color:var(--vp-tc);font-weight:600;font-size:.85em;line-height:2rem;text-indent:.5em}.search-pro-result-item.active .search-pro-result-title{color:var(--vp-tc)}.search-pro-result-type{display:block;width:1rem;height:1rem;margin-inline-start:-.5rem;padding:.5rem;color:var(--vp-tc)}.search-pro-remove-icon{border-width:0;background:transparent;cursor:pointer;box-sizing:content-box;height:1.5rem;padding:0;border-radius:50%;color:var(--vp-tc);font-size:1rem}.search-pro-remove-icon svg{width:1.5rem;height:1.5rem}.search-pro-remove-icon:hover{background:#8080804d}.search-pro-result-content{display:flex;flex-grow:1;flex-direction:column;align-items:stretch;justify-content:center;line-height:1.5}.search-pro-result-content .content-header{margin-bottom:.25rem;border-bottom:1px solid var(--vp-brcd);font-size:.9em}.search-pro-result-item{display:flex;align-items:center;margin:.5rem 0;padding:.5rem .75rem;border-radius:.25rem;background:var(--vp-bgl);color:inherit;box-shadow:0 1px 3px 0 var(--card-shadow);font-weight:400;white-space:pre-wrap;word-wrap:break-word}.search-pro-result-item strong{color:var(--vp-tc)}.search-pro-result-item:hover,.search-pro-result-item.active{background-color:var(--vp-tcl);color:var(--white);cursor:pointer}.search-pro-result-item:hover .search-pro-result-type,.search-pro-result-item:hover .search-pro-remove-icon,.search-pro-result-item:hover strong,.search-pro-result-item.active .search-pro-result-type,.search-pro-result-item.active .search-pro-remove-icon,.search-pro-result-item.active strong{color:var(--white)} +@charset "UTF-8";html[data-theme=dark]{--text-color: #9e9e9e;--bg-color: #0d1117;--bg-color-secondary: #161b22;--bg-color-tertiary: #21262c;--border-color: #30363d;--box-shadow: #282a32;--card-shadow: rgba(0, 0, 0, .3);--black: #fff;--grey-dark: #999;--grey-light: #666;--white: #000;--grey-darker: #bbb;--grey-lighter: #333;--grey14: #111;--bg-color-light: #161b22;--bg-color-back: #0d1117;--bg-color-float: #161b22;--bg-color-blur: rgba(13, 17, 23, .9);--bg-color-float-blur: rgba(22, 27, 34, .9);--text-color-light: #a8a8a8;--text-color-lighter: #b1b1b1;--text-color-bright: #c5c5c5;--border-color-light: #2e333a;--border-color-dark: #394048}:root{--theme-color: #960018;--text-color: #2c3e50;--bg-color: #fff;--bg-color-secondary: #f8f8f8;--bg-color-tertiary: #efeef4;--border-color: #eaecef;--box-shadow: #f0f1f2;--card-shadow: rgba(0, 0, 0, .15);--black: #000;--grey-dark: #666;--grey-light: #999;--white: #fff;--grey-darker: #333;--grey-lighter: #bbb;--grey14: #eee;--navbar-height: 3.75rem;--navbar-horizontal-padding: 1.5rem;--navbar-vertical-padding: .7rem;--navbar-mobile-height: 3.25rem;--navbar-mobile-horizontal-padding: 1rem;--navbar-mobile-vertical-padding: .5rem;--sidebar-width: 18rem;--sidebar-mobile-width: 16rem;--content-width: 780px;--home-page-width: 1160px;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", STHeiti, "Microsoft YaHei", SimSun, sans-serif;--font-family-heading: Georgia Pro, Crimson, Georgia, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", STHeiti, "Microsoft YaHei", SimSun, sans-serif;--font-family-mono: Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace;--line-numbers-width: 2.5rem;--color-transition: .3s ease;--transform-transition: .3s ease;--vp-bg: var(--bg-color);--vp-bgl: var(--bg-color-light);--vp-bglt: var(--bg-color-tertiary);--vp-c: var(--text-color);--vp-cl: var(--text-color-light);--vp-clt: var(--text-color-lighter);--vp-brc: var(--border-color);--vp-brcd: var(--border-color-dark);--vp-tc: var(--theme-color);--vp-tcl: var(--theme-color-light);--vp-ct: var(--color-transition);--vp-tt: var(--transform-transition);--bg-color-light: #fff;--bg-color-back: #f8f8f8;--bg-color-float: #fff;--bg-color-blur: rgba(255, 255, 255, .9);--bg-color-float-blur: rgba(255, 255, 255, .9);--text-color-light: #3a5169;--text-color-lighter: #476582;--text-color-bright: #6a8bad;--border-color-light: #eceef1;--border-color-dark: #cfd4db;--theme-color-dark: #870016;--theme-color-light: #ba001e;--theme-color-mask: rgba(150, 0, 24, .15)}:root{--badge-tip-color: #42b983;--badge-warning-color: #f4cd00;--badge-danger-color: #f55;--badge-info-color: #0295ff;--badge-note-color: #666}.vp-badge{display:inline-block;vertical-align:center;height:18px;padding:0 6px;border-radius:3px;background:var(--vp-tc);color:var(--white);font-size:14px;line-height:18px;transition:background var(--vp-ct),color var(--vp-ct)}.vp-badge+.vp-badge{margin-inline-start:5px}h1 .vp-badge,h2 .vp-badge,h3 .vp-badge,h4 .vp-badge,h5 .vp-badge,h6 .vp-badge{vertical-align:top}.vp-badge.tip{background:var(--badge-tip-color)}.vp-badge.warning{background:var(--badge-warning-color)}.vp-badge.danger{background:var(--badge-danger-color)}.vp-badge.info{background:var(--badge-info-color)}.vp-badge.note{background:var(--badge-note-color)}.font-icon{display:inline-block}.theme-hope-content .font-icon{vertical-align:middle}@media screen{.sr-only{position:absolute;overflow:hidden;clip:rect 0,0,0,0;width:1px;height:1px;margin:-1px;padding:0;border:0}}@media print{.sr-only{display:none}}.vp-catalog-wrapper{margin-top:8px;margin-bottom:8px}.vp-catalog-wrapper.index ol{padding-inline-start:0}.vp-catalog-wrapper.index li{list-style-type:none}.vp-catalog-wrapper.index .vp-catalogs{padding-inline-start:0}.vp-catalog-wrapper.index .vp-catalog{list-style-type:none}.vp-catalog-wrapper.index .vp-catalog-title:before{content:"§" counter(catalog-item,upper-roman) " "}.vp-catalog-wrapper.index .vp-child-catalogs{counter-reset:child-catalog}.vp-catalog-wrapper.index .vp-child-catalog{counter-increment:child-catalog}.vp-catalog-wrapper.index .vp-child-catalog .vp-catalog-title:before{content:counter(catalog-item) "." counter(child-catalog) " "}.vp-catalog-wrapper.index .vp-sub-catalogs{padding-inline-start:.5rem}.vp-catalogs{margin:0;counter-reset:catalog-item}.vp-catalogs.deep{padding-inline-start:0}.vp-catalogs.deep .vp-catalog{list-style-type:none}.vp-catalogs .font-icon{vertical-align:baseline;margin-inline-end:.25rem}.vp-catalog{counter-increment:catalog-item}.vp-catalog-main-title{margin-top:calc(.5rem - var(--navbar-height, 3.6rem));margin-bottom:.5rem;padding-top:var(--navbar-height, 3.6rem);font-weight:500;font-size:1.75rem}.vp-catalog-main-title:first-child{margin-bottom:.5rem!important}.vp-catalog-main-title:only-child{margin-bottom:0!important}.vp-catalog-main-title .vp-link{text-decoration:none!important}.vp-catalog-child-title{margin-bottom:.5rem!important}.vp-catalog-child-title.has-children{margin-top:calc(.5rem - var(--navbar-height, 3.6rem));padding-top:var(--navbar-height, 3.6rem);border-bottom:1px solid var(--catalog-border-color);font-weight:500;font-size:1.3rem;transition:border-color .3s}.vp-catalog-child-title.has-children:only-child{margin-bottom:0!important}.vp-catalog-child-title .vp-link{text-decoration:none!important}.vp-catalog-sub-title{font-weight:500;font-size:1.1rem}.vp-catalog-sub-title:only-child{margin-bottom:0!important}.vp-catalog-title{color:inherit;text-decoration:none}.vp-catalog-title:hover{color:var(--catalog-active-color)}.vp-child-catalogs{margin:0}.vp-child-catalog{list-style-type:disc}.vp-sub-catalogs{counter-reset:sub-catalog}.vp-sub-catalog{counter-increment:sub-catalog}.vp-sub-catalog .vp-link:before{content:counter(catalog-item) "." counter(child-catalog) "." counter(sub-catalog) " "}.vp-sub-catalogs-wrapper{display:flex;flex-wrap:wrap}.vp-sub-catalog-link{display:inline-block;margin:4px 8px;padding:4px 8px;border-radius:6px;background-color:var(--catalog-bg-secondary-color);line-height:1.5;overflow-wrap:break-word;transition:background-color .3s,color .3s}.vp-sub-catalog-link:hover{background-color:var(--catalog-hover-color);color:var(--catalog-bg-color);text-decoration:none!important}.vp-catalog-header-anchor{font-size:.85em;float:left;margin-left:-1em;padding-right:0;margin-top:.125em;opacity:0;-webkit-user-select:none;-moz-user-select:none;user-select:none;text-decoration:none;content:"¶"}@media print{.vp-catalog-header-anchor{display:none}}h2:hover .vp-catalog-header-anchor,h3:hover .vp-catalog-header-anchor{opacity:1;text-decoration:none}.vp-catalog-header-anchor:focus-visible{opacity:1}.vp-empty-catalog{font-size:1.25rem;text-align:center}:root{--catalog-bg-color: #fff;--catalog-bg-secondary-color: #f8f8f8;--catalog-border-color: #e5e5e5;--catalog-active-color: #3eaf7c;--catalog-hover-color: #71cda3}.vp-back-to-top-button{position:fixed!important;bottom:4rem;inset-inline-end:1rem;z-index:100;width:48px;height:48px;padding:8px;border-width:0;border-radius:50%;background:var(--back-to-top-bg-color);color:var(--back-to-top-color);box-shadow:2px 2px 10px 4px var(--back-to-top-shadow);cursor:pointer}@media (max-width: 959px){.vp-back-to-top-button{transform:scale(.8);transform-origin:100% 100%}}@media print{.vp-back-to-top-button{display:none}}.vp-back-to-top-button:hover{color:var(--back-to-top-color-hover)}.vp-back-to-top-button .back-to-top-icon{overflow:hidden;width:100%;height:100%;background:currentcolor;border-radius:50%;-webkit-mask-image:var(--back-to-top-icon);mask-image:var(--back-to-top-icon);-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:cover;mask-size:cover}.vp-scroll-progress{position:absolute;right:-2px;bottom:-2px;width:52px;height:52px}.vp-scroll-progress svg{width:100%;height:100%}.vp-scroll-progress circle{opacity:.9;transform:rotate(-90deg);transform-origin:50% 50%}.back-to-top-enter-active,.back-to-top-leave-active{transition:opacity .3s}.back-to-top-enter-from,.back-to-top-leave-to{opacity:0}:root{--back-to-top-z-index: 5;--back-to-top-icon: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%201024%201024'%3e%3cpath%20d='M512%20843.2c-36.2%200-66.4-13.6-85.8-21.8-10.8-4.6-22.6%203.6-21.8%2015.2l7%20102c.4%206.2%207.6%209.4%2012.6%205.6l29-22c3.6-2.8%209-1.8%2011.4%202l41%2064.2c3%204.8%2010.2%204.8%2013.2%200l41-64.2c2.4-3.8%207.8-4.8%2011.4-2l29%2022c5%203.8%2012.2.6%2012.6-5.6l7-102c.8-11.6-11-20-21.8-15.2-19.6%208.2-49.6%2021.8-85.8%2021.8'/%3e%3cpath%20d='m795.4%20586.2-96-98.2C699.4%20172%20513%2032%20513%2032S324.8%20172%20324.8%20488l-96%2098.2c-3.6%203.6-5.2%209-4.4%2014.2L261.2%20824c1.8%2011.4%2014.2%2017%2023.6%2010.8L419%20744s41.4%2040%2094.2%2040%2092.2-40%2092.2-40l134.2%2090.8c9.2%206.2%2021.6.6%2023.6-10.8l37-223.8c.4-5.2-1.2-10.4-4.8-14M513%20384c-34%200-61.4-28.6-61.4-64s27.6-64%2061.4-64c34%200%2061.4%2028.6%2061.4%2064S547%20384%20513%20384'/%3e%3c/svg%3e");--back-to-top-bg-color: #fff;--back-to-top-color: #3eaf7c;--back-to-top-color-hover: #71cda3;--back-to-top-shadow: rgb(0 0 0 / 20%)}:root{--external-link-icon-color: #aaa}.external-link-icon{position:relative;display:inline-block;color:var(--external-link-icon-color);vertical-align:middle;top:-1px}@media print{.external-link-icon{display:none}}.external-link-icon-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}:root{--nprogress-color: #29d;--nprogress-z-index: 1031}#nprogress{pointer-events:none}#nprogress .bar{background:var(--nprogress-color);position:fixed;z-index:var(--nprogress-z-index);top:0;left:0;width:100%;height:2px}div[class*=language-]:hover:before{display:none}div[class*=language-]:hover .vp-copy-code-button{opacity:1}.vp-copy-code-button{position:absolute;top:.5em;right:.5em;z-index:5;width:2.5rem;height:2.5rem;padding:0;border-width:0;border-radius:.5rem;background:transparent;outline:none;opacity:0;cursor:pointer;transition:opacity .4s}@media print{.vp-copy-code-button{display:none}}.vp-copy-code-button:focus,.vp-copy-code-button.copied{opacity:1}.vp-copy-code-button:hover,.vp-copy-code-button.copied{background:var(--copy-code-hover)}.vp-copy-code-button.copied .vp-copy-icon{-webkit-mask-image:var(--code-copied-icon);mask-image:var(--code-copied-icon)}.vp-copy-code-button.copied:after{content:attr(data-copied);position:absolute;top:0;right:calc(100% + .25rem);display:block;height:1.25rem;padding:.625rem;border-radius:.5rem;background:var(--copy-code-hover);color:var(--copy-code-color);font-weight:500;line-height:1.25rem;white-space:nowrap}.vp-copy-icon{width:1.25rem;height:1.25rem;padding:.625rem;background:currentcolor;color:var(--copy-code-color);font-size:1.25rem;-webkit-mask-image:var(--code-copy-icon);mask-image:var(--code-copy-icon);-webkit-mask-position:50%;mask-position:50%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:1em;mask-size:1em}:root{--code-copy-icon: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20height='20'%20width='20'%20stroke='rgba(128,128,128,1)'%20stroke-width='2'%3e%3cpath%20stroke-linecap='round'%20stroke-linejoin='round'%20d='M9%205H7a2%202%200%200%200-2%202v12a2%202%200%200%200%202%202h10a2%202%200%200%200%202-2V7a2%202%200%200%200-2-2h-2M9%205a2%202%200%200%200%202%202h2a2%202%200%200%200%202-2M9%205a2%202%200%200%201%202-2h2a2%202%200%200%201%202%202'%20/%3e%3c/svg%3e");--code-copied-icon: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20height='20'%20width='20'%20stroke='rgba(128,128,128,1)'%20stroke-width='2'%3e%3cpath%20stroke-linecap='round'%20stroke-linejoin='round'%20d='M9%205H7a2%202%200%200%200-2%202v12a2%202%200%200%200%202%202h10a2%202%200%200%200%202-2V7a2%202%200%200%200-2-2h-2M9%205a2%202%200%200%200%202%202h2a2%202%200%200%200%202-2M9%205a2%202%200%200%201%202-2h2a2%202%200%200%201%202%202m-6%209%202%202%204-4'%20/%3e%3c/svg%3e");--copy-code-color: #9e9e9e;--copy-code-hover: rgb(0 0 0 / 50%)}:root{--important-title-color: #230555;--important-bg-color: #f4eefe;--important-border-color: #a371f7;--important-code-bg-color: rgb(163 113 247 / 10%);--info-title-color: #193c47;--info-bg-color: #eef9fd;--info-border-color: #4cb3d4;--info-code-bg-color: rgb(76 179 212 / 10%);--note-title-color: #474748;--note-bg-color: #fdfdfe;--note-border-color: #ccc;--note-code-bg-color: rgb(212 213 216 / 20%);--tip-title-color: #003100;--tip-bg-color: #e6f6e6;--tip-border-color: #009400;--tip-code-bg-color: rgb(0 148 0 / 15%);--warning-title-color: #4d3800;--warning-bg-color: #fff8e6;--warning-border-color: #e6a700;--warning-code-bg-color: rgb(230 167 0 / 15%);--caution-title-color: #4b1113;--caution-bg-color: #ffebec;--caution-border-color: #e13238;--caution-code-bg-color: rgb(225 50 56 / 15%);--detail-bg-color: #eee;--detail-text-color: inherit;--detail-code-bg-color: rgb(127 127 127 / 15%)}html[data-theme=dark]{--important-title-color: #f4eefe;--important-bg-color: #230555;--info-title-color: #eef9fd;--info-bg-color: #193c47;--note-title-color: #fdfdfe;--note-bg-color: #474748;--tip-title-color: #e6f6e6;--tip-bg-color: #003100;--warning-title-color: #fff8e6;--warning-bg-color: #4d3800;--caution-title-color: #ffebec;--caution-bg-color: #4b1113;--detail-bg-color: #333;--detail-text-color: #a8a8a8}.hint-container{position:relative;transition:background var(--vp-ct),border-color var(--vp-ct),color var(--vp-ct)}@media print{.hint-container{page-break-inside:avoid}}.hint-container .hint-container-title{position:relative;font-weight:600;line-height:1.25}.hint-container.important,.hint-container.info,.hint-container.note,.hint-container.tip,.hint-container.warning,.hint-container.caution{margin:1rem 0;padding:.25rem 1rem;border-inline-start-width:.3rem;border-inline-start-style:solid;border-radius:.5rem;color:inherit}@media (max-width: 419px){.hint-container.important,.hint-container.info,.hint-container.note,.hint-container.tip,.hint-container.warning,.hint-container.caution{margin-inline:-.75rem}}.hint-container.important .hint-container-title,.hint-container.info .hint-container-title,.hint-container.note .hint-container-title,.hint-container.tip .hint-container-title,.hint-container.warning .hint-container-title,.hint-container.caution .hint-container-title{padding-inline-start:1.75rem}@media print{.hint-container.important .hint-container-title,.hint-container.info .hint-container-title,.hint-container.note .hint-container-title,.hint-container.tip .hint-container-title,.hint-container.warning .hint-container-title,.hint-container.caution .hint-container-title{padding-inline-start:0}}.hint-container.important .hint-container-title:before,.hint-container.info .hint-container-title:before,.hint-container.note .hint-container-title:before,.hint-container.tip .hint-container-title:before,.hint-container.warning .hint-container-title:before,.hint-container.caution .hint-container-title:before{content:" ";position:absolute;top:calc(50% - .6125em);inset-inline-start:0;width:1.25em;height:1.25em;background-position:left;background-repeat:no-repeat}@media print{.hint-container.important .hint-container-title:before,.hint-container.info .hint-container-title:before,.hint-container.note .hint-container-title:before,.hint-container.tip .hint-container-title:before,.hint-container.warning .hint-container-title:before,.hint-container.caution .hint-container-title:before{display:none}}.hint-container.important p,.hint-container.info p,.hint-container.note p,.hint-container.tip p,.hint-container.warning p,.hint-container.caution p{line-height:1.5}.hint-container.important a,.hint-container.info a,.hint-container.note a,.hint-container.tip a,.hint-container.warning a,.hint-container.caution a{color:var(--vp-tc)}.hint-container.important{border-color:var(--important-border-color);background:var(--important-bg-color)}.hint-container.important>.hint-container-title{color:var(--important-title-color)}.hint-container.important>.hint-container-title:before{background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 1024'%3E%3Cpath d='M512 981.333a84.992 84.992 0 0 1-84.907-84.906h169.814A84.992 84.992 0 0 1 512 981.333zm384-128H128v-42.666l85.333-85.334v-256A298.325 298.325 0 0 1 448 177.92V128a64 64 0 0 1 128 0v49.92a298.325 298.325 0 0 1 234.667 291.413v256L896 810.667v42.666zm-426.667-256v85.334h85.334v-85.334h-85.334zm0-256V512h85.334V341.333h-85.334z' fill='%23a371f7'/%3E%3C/svg%3E")}.hint-container.important code{background:var(--important-code-bg-color)}.hint-container.info{border-color:var(--info-border-color);background:var(--info-bg-color)}.hint-container.info>.hint-container-title{color:var(--info-title-color)}.hint-container.info>.hint-container-title:before{background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm-1-11v6h2v-6h-2zm0-4v2h2V7h-2z' fill='%234cb3d4'/%3E%3C/svg%3E")}.hint-container.info code{background:var(--info-code-bg-color)}.hint-container.note{border-color:var(--note-border-color);background:var(--note-bg-color)}.hint-container.note>.hint-container-title{color:var(--note-title-color)}.hint-container.note>.hint-container-title:before{background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm-1-11v6h2v-6h-2zm0-4v2h2V7h-2z' fill='%23ccc'/%3E%3C/svg%3E")}.hint-container.note code{background:var(--note-code-bg-color)}.hint-container.tip{border-color:var(--tip-border-color);background:var(--tip-bg-color)}.hint-container.tip>.hint-container-title{color:var(--tip-title-color)}.hint-container.tip>.hint-container-title:before{background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23009400' d='M7.941 18c-.297-1.273-1.637-2.314-2.187-3a8 8 0 1 1 12.49.002c-.55.685-1.888 1.726-2.185 2.998H7.94zM16 20v1a2 2 0 0 1-2 2h-4a2 2 0 0 1-2-2v-1h8zm-3-9.995V6l-4.5 6.005H11v4l4.5-6H13z'/%3E%3C/svg%3E")}.hint-container.tip code{background:var(--tip-code-bg-color)}.hint-container.warning{border-color:var(--warning-border-color);background:var(--warning-bg-color)}.hint-container.warning>.hint-container-title{color:var(--warning-title-color)}.hint-container.warning>.hint-container-title:before{background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 1024'%3E%3Cpath d='M576.286 752.57v-95.425q0-7.031-4.771-11.802t-11.3-4.772h-96.43q-6.528 0-11.3 4.772t-4.77 11.802v95.424q0 7.031 4.77 11.803t11.3 4.77h96.43q6.528 0 11.3-4.77t4.77-11.803zm-1.005-187.836 9.04-230.524q0-6.027-5.022-9.543-6.529-5.524-12.053-5.524H456.754q-5.524 0-12.053 5.524-5.022 3.516-5.022 10.547l8.538 229.52q0 5.023 5.022 8.287t12.053 3.265h92.913q7.032 0 11.803-3.265t5.273-8.287zM568.25 95.65l385.714 707.142q17.578 31.641-1.004 63.282-8.538 14.564-23.354 23.102t-31.892 8.538H126.286q-17.076 0-31.892-8.538T71.04 866.074q-18.582-31.641-1.004-63.282L455.75 95.65q8.538-15.57 23.605-24.61T512 62t32.645 9.04 23.605 24.61z' fill='%23e6a700'/%3E%3C/svg%3E")}.hint-container.warning code{background:var(--warning-code-bg-color)}.hint-container.caution{border-color:var(--caution-border-color);background:var(--caution-bg-color)}.hint-container.caution>.hint-container-title{color:var(--caution-title-color)}.hint-container.caution>.hint-container-title:before{background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2c5.523 0 10 4.477 10 10v3.764a2 2 0 0 1-1.106 1.789L18 19v1a3 3 0 0 1-2.824 2.995L14.95 23a2.5 2.5 0 0 0 .044-.33L15 22.5V22a2 2 0 0 0-1.85-1.995L13 20h-2a2 2 0 0 0-1.995 1.85L9 22v.5c0 .171.017.339.05.5H9a3 3 0 0 1-3-3v-1l-2.894-1.447A2 2 0 0 1 2 15.763V12C2 6.477 6.477 2 12 2zm-4 9a2 2 0 1 0 0 4 2 2 0 0 0 0-4zm8 0a2 2 0 1 0 0 4 2 2 0 0 0 0-4z' fill='%23e13238'/%3E%3C/svg%3E")}.hint-container.caution code{background:var(--caution-code-bg-color)}.hint-container.details{position:relative;display:block;margin:1rem 0;padding:1.5rem;border-radius:.5rem;background:var(--detail-bg-color);color:var(--detail-text-color);transition:background var(--vp-tt),color var(--vp-tt)}@media (max-width: 419px){.hint-container.details{margin-inline:-.75rem}}.hint-container.details h4{margin-top:0}.hint-container.details figure:last-child,.hint-container.details p:last-child{margin-bottom:0;padding-bottom:0}.hint-container.details a{color:var(--vp-tc)}.hint-container.details code{background:var(--detail-code-bg-color)}.hint-container.details summary{position:relative;margin:-1.5rem;padding-block:1.5rem;padding-inline:4rem 1.5rem;list-style:none;cursor:pointer}.hint-container.details summary::-webkit-details-marker{display:none}.hint-container.details summary::marker{color:transparent;font-size:0}.hint-container.details summary:before,.hint-container.details summary:after{content:" ";position:absolute;top:calc(50% - .75rem);inset-inline-start:1.5rem;width:1.5rem;height:1.5rem}.hint-container.details summary:before{border-radius:50%;background:#ccc;transition:background var(--vp-ct),transform var(--vp-tt)}html[data-theme=dark] .hint-container.details summary:before{background:#555}.hint-container.details summary:after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(0,0,0,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E");line-height:normal;transition:transform var(--vp-tt);transform:rotate(90deg)}html[data-theme=dark] .hint-container.details summary:after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(255,255,255,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E")}.hint-container.details[open]>summary{margin-bottom:.5em}.hint-container.details[open]>summary:after{transform:rotate(180deg)}.mermaid-preview .node rect,.mermaid-preview .clusters rect,.mermaid-preview rect.note,.mermaid-preview .actor,.mermaid-wrapper .node rect,.mermaid-wrapper .clusters rect,.mermaid-wrapper rect.note,.mermaid-wrapper .actor{rx:8;ry:8}.mermaid-wrapper{position:relative;overflow-x:auto;padding:.6em .4em;text-align:center;transition:all 1s}@media (max-width: 419px){.mermaid-wrapper{margin:0 -1.5rem;padding:.6em 0}}.mermaid-loading{color:var(--vp-tc)}@media print{.mermaid-content{page-break-inside:avoid}}.mermaid-actions{text-align:end}@media print{.mermaid-actions{display:none}}.mermaid-preview{position:fixed;top:0;right:0;bottom:0;left:0;z-index:800;display:flex;align-items:center;justify-content:center;background-color:#fffc}html[data-theme=dark] .mermaid-preview{background-color:#000c}.mermaid-preview svg{max-width:100%;max-height:100%}.preview-button,.download-button{border-width:0;background:transparent;cursor:pointer;width:2rem;height:2rem;padding:.25rem;color:var(--grey-dark)}@media (max-width: 719px){.preview-button,.download-button{width:1.5rem;height:1.5rem}}.preview-button:hover,.download-button:hover{color:var(--vp-tc)}.preview-button svg,.download-button svg{width:100%;height:100%}:root{--tab-bg-color: var(--vp-bg);--tab-nav-text-color: var(--vp-c);--tab-nav-bg-color: #e0e0e0;--tab-nav-hover-color: #eee}html[data-theme=dark]{--tab-nav-bg-color: #34343f;--tab-nav-hover-color: #2d2d38}.vp-tabs{margin:1.5rem 0;border:2px solid var(--vp-brc);border-radius:8px}@media (max-width: 419px){.theme-hope-content>.vp-tabs{margin-inline:-1.5rem;border-radius:0}}.vp-tabs-nav{overflow-x:auto;margin:0;padding:0;border-radius:8px 8px 0 0;background:var(--tab-nav-bg-color);list-style:none;white-space:nowrap;transition:background var(--vp-ct)}@media print{.vp-tabs-nav{display:none}}@media (max-width: 419px){.vp-tabs-nav{border-radius:0}}.vp-tab-nav{border-width:0;position:relative;min-width:4rem;margin:0;padding:.5em 1em;border-radius:8px 8px 0 0;background:transparent;color:var(--tab-nav-text-color);font-weight:600;font-size:.85em;line-height:1.75;cursor:pointer;transition:background var(--vp-ct),color var(--vp-ct)}.vp-tab-nav:hover{background:var(--tab-nav-hover-color)}.vp-tab-nav:before,.vp-tab-nav:after{content:" ";position:absolute;bottom:0;z-index:1;width:8px;height:8px}.vp-tab-nav:before{right:100%}.vp-tab-nav:after{left:100%}.vp-tab-nav.active{background:var(--tab-bg-color)}.vp-tab-nav.active:before{background:radial-gradient(16px at left top,transparent 50%,var(--tab-bg-color) 50%)}.vp-tab-nav.active:after{background:radial-gradient(16px at right top,transparent 50%,var(--tab-bg-color) 50%)}.vp-tab-nav:first-child:before{display:none}.vp-tab{display:none;padding:1rem .75rem;background:var(--tab-bg-color);transition:background var(--vp-ct)}@media print{.vp-tab{display:block;padding:.5rem}}.vp-tab.active{display:block}.vp-tab:nth-child(n+2) .vp-tab-title{border-top:none}.vp-tab-title{display:none;padding:.25rem 0;border-top:1px solid var(--vp-brc);font-weight:500}@media print{.vp-tab-title{display:block}}/*! PhotoSwipe main CSS by Dmytro Semenov | photoswipe.com */.pswp{--pswp-bg: #000;--pswp-placeholder-bg: #222;--pswp-root-z-index: 100000;--pswp-preloader-color: rgba(79, 79, 79, .4);--pswp-preloader-color-secondary: rgba(255, 255, 255, .9);--pswp-icon-color: #fff;--pswp-icon-color-secondary: #4f4f4f;--pswp-icon-stroke-color: #4f4f4f;--pswp-icon-stroke-width: 2px;--pswp-error-text-color: var(--pswp-icon-color)}.pswp{position:fixed;top:0;left:0;width:100%;height:100%;z-index:var(--pswp-root-z-index);display:none;touch-action:none;outline:0;opacity:.003;contain:layout style size;-webkit-tap-highlight-color:rgba(0,0,0,0)}.pswp:focus{outline:0}.pswp *{box-sizing:border-box}.pswp img{max-width:none}.pswp--open{display:block}.pswp,.pswp__bg{transform:translateZ(0);will-change:opacity}.pswp__bg{opacity:.005;background:var(--pswp-bg)}.pswp,.pswp__scroll-wrap{overflow:hidden}.pswp__scroll-wrap,.pswp__bg,.pswp__container,.pswp__item,.pswp__content,.pswp__img,.pswp__zoom-wrap{position:absolute;top:0;left:0;width:100%;height:100%}.pswp__img,.pswp__zoom-wrap{width:auto;height:auto}.pswp--click-to-zoom.pswp--zoom-allowed .pswp__img{cursor:zoom-in}.pswp--click-to-zoom.pswp--zoomed-in .pswp__img{cursor:move;cursor:grab}.pswp--click-to-zoom.pswp--zoomed-in .pswp__img:active{cursor:grabbing}.pswp--no-mouse-drag.pswp--zoomed-in .pswp__img,.pswp--no-mouse-drag.pswp--zoomed-in .pswp__img:active,.pswp__img{cursor:zoom-out}.pswp__container,.pswp__img,.pswp__button,.pswp__counter{-webkit-user-select:none;-moz-user-select:none;user-select:none}.pswp__item{z-index:1;overflow:hidden}.pswp__hidden{display:none!important}.pswp__content{pointer-events:none}.pswp__content>*{pointer-events:auto}.pswp__error-msg-container{display:grid}.pswp__error-msg{margin:auto;font-size:1em;line-height:1;color:var(--pswp-error-text-color)}.pswp .pswp__hide-on-close{opacity:.005;will-change:opacity;transition:opacity var(--pswp-transition-duration) cubic-bezier(.4,0,.22,1);z-index:10;pointer-events:none}.pswp--ui-visible .pswp__hide-on-close{opacity:1;pointer-events:auto}.pswp__button{position:relative;display:block;width:50px;height:60px;padding:0;margin:0;overflow:hidden;cursor:pointer;background:none;border:0;box-shadow:none;opacity:.85;-webkit-appearance:none;-webkit-touch-callout:none}.pswp__button:hover,.pswp__button:active,.pswp__button:focus{transition:none;padding:0;background:none;border:0;box-shadow:none;opacity:1}.pswp__button:disabled{opacity:.3;cursor:auto}.pswp__icn{fill:var(--pswp-icon-color);color:var(--pswp-icon-color-secondary)}.pswp__icn{position:absolute;top:14px;left:9px;width:32px;height:32px;overflow:hidden;pointer-events:none}.pswp__icn-shadow{stroke:var(--pswp-icon-stroke-color);stroke-width:var(--pswp-icon-stroke-width);fill:none}.pswp__icn:focus{outline:0}div.pswp__img--placeholder,.pswp__img--with-bg{background:var(--pswp-placeholder-bg)}.pswp__top-bar{position:absolute;left:0;top:0;width:100%;height:60px;display:flex;flex-direction:row;justify-content:flex-end;z-index:10;pointer-events:none!important}.pswp__top-bar>*{pointer-events:auto;will-change:opacity}.pswp__button--close{margin-right:6px}.pswp__button--arrow{position:absolute;width:75px;height:100px;top:50%;margin-top:-50px}.pswp__button--arrow:disabled{display:none;cursor:default}.pswp__button--arrow .pswp__icn{top:50%;margin-top:-30px;width:60px;height:60px;background:none;border-radius:0}.pswp--one-slide .pswp__button--arrow{display:none}.pswp--touch .pswp__button--arrow{visibility:hidden}.pswp--has_mouse .pswp__button--arrow{visibility:visible}.pswp__button--arrow--prev{right:auto;left:0}.pswp__button--arrow--next{right:0}.pswp__button--arrow--next .pswp__icn{left:auto;right:14px;transform:scaleX(-1)}.pswp__button--zoom{display:none}.pswp--zoom-allowed .pswp__button--zoom{display:block}.pswp--zoomed-in .pswp__zoom-icn-bar-v{display:none}.pswp__preloader{position:relative;overflow:hidden;width:50px;height:60px;margin-right:auto}.pswp__preloader .pswp__icn{opacity:0;transition:opacity .2s linear;animation:pswp-clockwise .6s linear infinite}.pswp__preloader--active .pswp__icn{opacity:.85}@keyframes pswp-clockwise{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.pswp__counter{height:30px;margin-top:15px;margin-inline-start:20px;font-size:14px;line-height:30px;color:var(--pswp-icon-color);text-shadow:1px 1px 3px var(--pswp-icon-color-secondary);opacity:.85}.pswp--one-slide .pswp__counter{display:none}.photo-swipe-loading{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center}.photo-swipe-bullets-indicator{position:absolute;bottom:30px;left:50%;display:flex;flex-direction:row;align-items:center;transform:translate(-50%)}.photo-swipe-bullet{width:12px;height:6px;margin:0 5px;border-radius:3px;background:var(--photo-swipe-bullet);transition:width .3s,color .3s}.photo-swipe-bullet.active{width:30px;background:var(--photo-swipe-bullet-active)}:root{--photo-swipe-bullet: #fff;--photo-swipe-bullet-active: #3eaf7c}.search-pro-button{border-width:0;background:transparent;display:inline-flex;align-items:center;box-sizing:content-box;height:1.25rem;margin-inline:1rem 0;margin-top:0;margin-bottom:0;padding:.5rem;border:0;border:1px solid var(--vp-bgl);border-radius:1rem;background:var(--vp-bgl);color:var(--vp-c);font-weight:500;cursor:pointer;transition:background var(--vp-ct),color var(--vp-ct)}@media print{.search-pro-button{display:none}}@media (max-width: 959px){.search-pro-button{border-radius:50%}}.search-pro-button:hover{border:1px solid var(--vp-tc);background-color:var(--vp-bglt);color:var(--vp-clt)}.search-pro-button .search-icon{width:1.25rem;height:1.25rem}.search-pro-placeholder{margin-inline:.25rem;font-size:1rem}@media (max-width: 959px){.search-pro-placeholder{display:none}}.search-pro-key-hints{font-size:.75rem}@media (max-width: 959px){.search-pro-key-hints{display:none}}.search-pro-key{display:inline-block;min-width:1em;margin-inline:.125rem;padding:.25rem;border:1px solid var(--vp-brc);border-radius:4px;box-shadow:1px 1px 4px 0 var(--card-shadow);line-height:1;letter-spacing:-.1em;transition:background var(--vp-ct),color var(--vp-ct),border var(--vp-ct) box-shadow var(--vp-ct)}@keyframes search-pro-fade-in{0%{opacity:.2}to{opacity:1}}.search-pro-modal-wrapper{position:fixed;top:0;right:0;bottom:0;left:0;z-index:997;display:flex;align-items:center;justify-content:center;overflow:auto;cursor:default}.search-pro-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:998;animation:.25s search-pro-fade-in;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.search-pro-modal{position:absolute;z-index:999;display:flex;flex-direction:column;width:calc(100% - 6rem);max-width:50em;border-radius:10px;background:var(--vp-bg);box-shadow:2px 2px 10px 0 var(--card-shadow);transition:background var(--vp-ct);animation:.15s pwa-opened}@media (max-width: 1280px){.search-pro-modal{animation:.25s pwa-mobile}}@media (max-width: 719px){.search-pro-modal{top:0;right:0;bottom:0;left:0;box-sizing:border-box;width:100%;max-width:unset;padding:env(--safe-area-inset-top) env(--safe-area-inset-right) env(--safe-area-inset-bottom) env(--safe-area-inset-left)}}.search-pro-box{display:flex;margin:1rem}.search-pro-box form{position:relative;display:flex;flex:1}.search-pro-box label{position:absolute;top:calc(50% - .75rem);inset-inline-start:.5rem;color:var(--vp-tc)}.search-pro-box label .search-icon{width:1.5rem;height:1.5rem}.search-pro-clear-button{border-width:0;background:transparent;cursor:pointer;position:absolute;top:calc(50% - 10px);inset-inline-end:.75rem;padding:0;color:var(--vp-tc)}.search-pro-clear-button:hover{border-radius:50%;background-color:#0000001a}.search-pro-close-button{border-width:0;background:transparent;cursor:pointer;display:none;margin-inline:.5rem -.5rem;padding:.5rem;color:var(--grey-darker);font-size:1rem}@media (max-width: 719px){.search-pro-close-button{display:block}}.search-pro-input{flex:1;width:0;margin:0;padding-block:.25rem;padding-inline:2.5rem 2rem;border:0;border:2px solid var(--vp-tc);border-radius:8px;background:var(--vp-bg);color:var(--vp-c);outline:none;font-size:1.25rem;line-height:2.5;-webkit-appearance:none;-moz-appearance:none;appearance:none}.search-pro-input::-webkit-search-cancel-button{display:none}.search-pro-suggestions{position:absolute;inset:calc(100% + 4px) 0 auto;z-index:20;overflow:visible;overflow-y:auto;max-height:50vh;margin:0;padding:0;border-radius:.5rem;background-color:var(--vp-bg);box-shadow:2px 2px 10px 0 var(--card-shadow);list-style:none;line-height:1.5}.search-pro-suggestion{padding:.25rem 1rem;border-top:1px solid var(--vp-brc);cursor:pointer}.search-pro-suggestion:first-child{border-top:none}.search-pro-suggestion.active,.search-pro-suggestion:hover{background-color:var(--vp-bglt)}.search-pro-auto-complete{display:none;float:right;margin:0 .5rem;padding:4px;border:1px solid var(--vp-brc);border-radius:4px;box-shadow:1px 1px 4px 0 var(--card-shadow);font-size:12px;line-height:1}.search-pro-suggestion.active .search-pro-auto-complete{display:block}.search-pro-result-wrapper{flex-grow:1;overflow-y:auto;min-height:40vh;max-height:calc(80vh - 10rem);padding:0 1rem}@media (max-width: 719px){.search-pro-result-wrapper{min-height:unset;max-height:unset}}.search-pro-result-wrapper.loading,.search-pro-result-wrapper.empty{display:flex;align-items:center;justify-content:center;padding:1.5rem;font-weight:600;font-size:22px;text-align:center}.search-pro-hints{margin-top:1rem;padding:.75rem .5rem;box-shadow:0 -1px 4px 0 var(--card-shadow);line-height:1}.search-pro-hint{display:inline-flex;align-items:center;margin:0 .5rem}.search-pro-hint kbd{margin:0 .5rem;padding:2px;border:1px solid var(--vp-brc);border-radius:4px;box-shadow:1px 1px 4px 0 var(--card-shadow)}.search-pro-hint kbd+kbd{margin-inline-start:-.25rem}.search-pro-hint svg{display:block;width:15px;height:15px}:root{--balloon-border-radius: 2px;--balloon-color: rgba(16, 16, 16, .95);--balloon-text-color: #fff;--balloon-font-size: 12px;--balloon-move: 4px}button[aria-label][data-balloon-pos]{overflow:visible}[aria-label][data-balloon-pos]{position:relative;cursor:pointer}[aria-label][data-balloon-pos]:after{opacity:0;pointer-events:none;transition:all .18s ease-out .18s;text-indent:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;font-weight:400;font-style:normal;text-shadow:none;font-size:var(--balloon-font-size);background:var(--balloon-color);border-radius:2px;color:var(--balloon-text-color);border-radius:var(--balloon-border-radius);content:attr(aria-label);padding:.5em 1em;position:absolute;white-space:nowrap;z-index:10}[aria-label][data-balloon-pos]:before{width:0;height:0;border:5px solid transparent;border-top-color:var(--balloon-color);opacity:0;pointer-events:none;transition:all .18s ease-out .18s;content:"";position:absolute;z-index:10}[aria-label][data-balloon-pos]:hover:before,[aria-label][data-balloon-pos]:hover:after,[aria-label][data-balloon-pos][data-balloon-visible]:before,[aria-label][data-balloon-pos][data-balloon-visible]:after,[aria-label][data-balloon-pos]:not([data-balloon-nofocus]):focus:before,[aria-label][data-balloon-pos]:not([data-balloon-nofocus]):focus:after{opacity:1;pointer-events:none}[aria-label][data-balloon-pos].font-awesome:after{font-family:FontAwesome,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif}[aria-label][data-balloon-pos][data-balloon-break]:after{white-space:pre}[aria-label][data-balloon-pos][data-balloon-break][data-balloon-length]:after{white-space:pre-line;word-break:break-word}[aria-label][data-balloon-pos][data-balloon-blunt]:before,[aria-label][data-balloon-pos][data-balloon-blunt]:after{transition:none}[aria-label][data-balloon-pos][data-balloon-pos=up]:hover:after,[aria-label][data-balloon-pos][data-balloon-pos=up][data-balloon-visible]:after,[aria-label][data-balloon-pos][data-balloon-pos=down]:hover:after,[aria-label][data-balloon-pos][data-balloon-pos=down][data-balloon-visible]:after{transform:translate(-50%)}[aria-label][data-balloon-pos][data-balloon-pos=up]:hover:before,[aria-label][data-balloon-pos][data-balloon-pos=up][data-balloon-visible]:before,[aria-label][data-balloon-pos][data-balloon-pos=down]:hover:before,[aria-label][data-balloon-pos][data-balloon-pos=down][data-balloon-visible]:before{transform:translate(-50%)}[aria-label][data-balloon-pos][data-balloon-pos*=-left]:after{left:0}[aria-label][data-balloon-pos][data-balloon-pos*=-left]:before{left:5px}[aria-label][data-balloon-pos][data-balloon-pos*=-right]:after{right:0}[aria-label][data-balloon-pos][data-balloon-pos*=-right]:before{right:5px}[aria-label][data-balloon-pos][data-balloon-po*=-left]:hover:after,[aria-label][data-balloon-pos][data-balloon-po*=-left][data-balloon-visible]:after,[aria-label][data-balloon-pos][data-balloon-pos*=-right]:hover:after,[aria-label][data-balloon-pos][data-balloon-pos*=-right][data-balloon-visible]:after{transform:translate(0)}[aria-label][data-balloon-pos][data-balloon-po*=-left]:hover:before,[aria-label][data-balloon-pos][data-balloon-po*=-left][data-balloon-visible]:before,[aria-label][data-balloon-pos][data-balloon-pos*=-right]:hover:before,[aria-label][data-balloon-pos][data-balloon-pos*=-right][data-balloon-visible]:before{transform:translate(0)}[aria-label][data-balloon-pos][data-balloon-pos^=up]:before,[aria-label][data-balloon-pos][data-balloon-pos^=up]:after{bottom:100%;transform-origin:top;transform:translateY(var(--balloon-move))}[aria-label][data-balloon-pos][data-balloon-pos^=up]:after{margin-bottom:10px}[aria-label][data-balloon-pos][data-balloon-pos=up]:before,[aria-label][data-balloon-pos][data-balloon-pos=up]:after{left:50%;transform:translate(-50%,var(--balloon-move))}[aria-label][data-balloon-pos][data-balloon-pos^=down]:before,[aria-label][data-balloon-pos][data-balloon-pos^=down]:after{top:100%;transform:translateY(calc(var(--balloon-move) * -1))}[aria-label][data-balloon-pos][data-balloon-pos^=down]:after{margin-top:10px}[aria-label][data-balloon-pos][data-balloon-pos^=down]:before{width:0;height:0;border:5px solid transparent;border-bottom-color:var(--balloon-color)}[aria-label][data-balloon-pos][data-balloon-pos=down]:after,[aria-label][data-balloon-pos][data-balloon-pos=down]:before{left:50%;transform:translate(-50%,calc(var(--balloon-move) * -1))}[aria-label][data-balloon-pos][data-balloon-pos=left]:hover:after,[aria-label][data-balloon-pos][data-balloon-pos=left][data-balloon-visible]:after,[aria-label][data-balloon-pos][data-balloon-pos=right]:hover:after,[aria-label][data-balloon-pos][data-balloon-pos=right][data-balloon-visible]:after{transform:translateY(-50%)}[aria-label][data-balloon-pos][data-balloon-pos=left]:hover:before,[aria-label][data-balloon-pos][data-balloon-pos=left][data-balloon-visible]:before,[aria-label][data-balloon-pos][data-balloon-pos=right]:hover:before,[aria-label][data-balloon-pos][data-balloon-pos=right][data-balloon-visible]:before{transform:translateY(-50%)}[aria-label][data-balloon-pos][data-balloon-pos=left]:after,[aria-label][data-balloon-pos][data-balloon-pos=left]:before{right:100%;top:50%;transform:translate(var(--balloon-move),-50%)}[aria-label][data-balloon-pos][data-balloon-pos=left]:after{margin-right:10px}[aria-label][data-balloon-pos][data-balloon-pos=left]:before{width:0;height:0;border:5px solid transparent;border-left-color:var(--balloon-color)}[aria-label][data-balloon-pos][data-balloon-pos=right]:after,[aria-label][data-balloon-pos][data-balloon-pos=right]:before{left:100%;top:50%;transform:translate(calc(var(--balloon-move) * -1),-50%)}[aria-label][data-balloon-pos][data-balloon-pos=right]:after{margin-left:10px}[aria-label][data-balloon-pos][data-balloon-pos=right]:before{width:0;height:0;border:5px solid transparent;border-right-color:var(--balloon-color)}[aria-label][data-balloon-pos][data-balloon-length]:after{white-space:normal}[aria-label][data-balloon-pos][data-balloon-length=small]:after{width:80px}[aria-label][data-balloon-pos][data-balloon-length=medium]:after{width:150px}[aria-label][data-balloon-pos][data-balloon-length=large]:after{width:260px}[aria-label][data-balloon-pos][data-balloon-length=xlarge]:after{width:380px}@media screen and (max-width: 768px){[aria-label][data-balloon-pos][data-balloon-length=xlarge]:after{width:90vw}}[aria-label][data-balloon-pos][data-balloon-length=fit]:after{width:100%}:root{--navbar-bg-color: var(--bg-color-float-blur);--sidebar-bg-color: var(--bg-color-blur)}html[data-theme=dark]{--navbar-bg-color: var(--bg-color-blur);--sidebar-bg-color: var(--bg-color-blur)}#app{--code-hl-bg-color: var(--code-highlight-line-color);--code-ln-color: var(--code-line-color);--code-ln-wrapper-width: var(--line-numbers-width);--code-tabs-nav-text-color: var(--code-color);--code-tabs-nav-bg-color: var(--code-border-color);--code-tabs-nav-hover-color: var(--code-highlight-line-color);--sidebar-space: var(--sidebar-width)}@media (max-width: 959px){#app{--navbar-height: var(--navbar-mobile-height);--navbar-vertical-padding: var(--navbar-mobile-vertical-padding);--navbar-horizontal-padding: var(--navbar-mobile-horizontal-padding);--sidebar-width: var(--sidebar-mobile-width)}}@media (min-width: 1440px){#app{--sidebar-space: clamp( var(--sidebar-width), max(0px, calc((100vw - var(--content-width)) / 2 - 2rem)) , 100vw )}}.vp-copy-code-button{--copy-code-color: var(--code-ln-color);--copy-code-hover: var(--code-hl-bg-color)}.DocSearch-Button,.DocSearch{--docsearch-primary-color: var(--theme-color);--docsearch-text-color: var(--text-color);--docsearch-highlight-color: var(--theme-color);--docsearch-muted-color: var(--grey-light);--docsearch-container-background: rgb(9 10 17 / 80%);--docsearch-modal-background: var(--bg-color-float);--docsearch-searchbox-background: var(--bg-color-secondary);--docsearch-searchbox-focus-background: var(--bg-color);--docsearch-searchbox-shadow: inset 0 0 0 2px var(--theme-color);--docsearch-hit-color: var(--text-color-light);--docsearch-hit-active-color: var(--bg-color);--docsearch-hit-background: var(--bg-color);--docsearch-hit-shadow: 0 1px 3px 0 var(--border-color);--docsearch-footer-background: var(--bg-color)}html[data-theme=dark] .DocSearch-Button,html[data-theme=dark] .DocSearch{--docsearch-logo-color: var(--text-color);--docsearch-modal-shadow: inset 1px 1px 0 0 #2c2e40, 0 3px 8px 0 #000309;--docsearch-key-shadow: inset 0 -2px 0 0 #282d55, inset 0 0 1px 1px #51577d, 0 2px 2px 0 rgb(3 4 9 / 30%);--docsearch-key-gradient: linear-gradient(-225deg, #444950, #1c1e21);--docsearch-footer-shadow: inset 0 1px 0 0 rgb(73 76 106 / 50%), 0 -4px 8px 0 rgb(0 0 0 / 20%)}.vp-back-to-top-button{--back-to-top-color: var(--theme-color);--back-to-top-color-hover: var(--theme-color-light);--back-to-top-bg-color: var(--bg-color)}.vp-catalog-wrapper{--catalog-bg-color: var(--bg-color);--catalog-bg-secondary-color: var(--bg-color-light);--catalog-border-color: var(--border-color);--catalog-active-color: var(--theme-color);--catalog-hover-color: var(--theme-color-light)}.external-link-icon{--external-link-icon-color: var(--grey-light)}#nprogress{--nprogress-color: var(--theme-color)}body{--photo-swipe-bullet: var(--white);--photo-swipe-bullet-active: var(--theme-color);--pwa-text-color: var(--text-color);--pwa-bg-color: var(--bg-color);--pwa-border-color: var(--border-color);--pwa-btn-text-color: var(--bg-color);--pwa-btn-bg-color: var(--theme-color);--pwa-btn-hover-bg-color: var(--theme-color-light);--pwa-shadow-color: var(--card-shadow);--pwa-content-color: var(--grey-darker);--pwa-content-light-color: var(--grey-dark)}.language-modal-mask{--redirect-bg-color: var(--bg-color);--redirect-bg-color-light: var(--bg-color-light);--redirect-bg-color-lighter: var(--bg-color-tertiary);--redirect-text-color: var(--text-color);--redirect-primary-color: var(--theme-color);--redirect-primary-hover-color: var(--theme-color-light);--redirect-primary-text-color: var(--white)}.search-box{--search-bg-color: var(--bg-color);--search-accent-color: var(--theme-color);--search-text-color: var(--text-color);--search-border-color: var(--border-color);--search-item-text-color: var(--text-color-lighter);--search-item-focus-bg-color: var(--bg-color-secondary)}.waline-wrapper{--waline-bg-color: var(--bg-color);--waline-bg-color-light: var(--bg-color-secondary);--waline-text-color: var(--text-color);--waline-border: 1px solid var(--border-color);--waline-border-color: var(--border-color);--waline-theme-color: var(--theme-color);--waline-active-color: var(--theme-color-light)}html,body{margin:0;padding:0;background:#fff}html{font-size:16px;font-display:optional;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent}@media print{html{font-size:12pt}}body{min-height:100vh;color:#2c3e50}a{color:#3eaf7c;font-weight:500;text-decoration:none;overflow-wrap:break-word}kbd{display:inline-block;min-width:1em;margin-inline:.125rem;padding:.25em;border:1px solid #eee;border-radius:.25em;box-shadow:1px 1px 4px #00000026;line-height:1;letter-spacing:-.1em;text-align:center}code{margin:0;padding:.2rem .4rem;border-radius:5px;background:#7f7f7f1f;font-size:.85em;overflow-wrap:break-word}table code{padding:.1rem .4rem}p a code{color:#3eaf7c;font-weight:400}strong{font-weight:600}h1,h2,h3,h4,h5,h6{font-weight:500;line-height:1.25;overflow-wrap:break-word}h1:focus-visible,h2:focus-visible,h3:focus-visible,h4:focus-visible,h5:focus-visible,h6:focus-visible{outline:none}h1{font-size:2rem}h2{padding-bottom:.3rem;border-bottom:1px solid #eaecef;font-size:1.65rem}h3{font-size:1.35rem}h4{font-size:1.15rem}h5{font-size:1.05rem}h6{font-size:1rem}a.header-anchor{position:relative;color:inherit}a.header-anchor:hover:before{content:"¶";position:absolute;bottom:0;left:-.75em;color:var(--c-brand);font-size:.75em}a.header-anchor:focus-visible{outline:none}a.header-anchor:focus-visible:before{content:"¶";position:absolute;left:-.75em;color:var(--c-brand);outline:auto}p,ul,ol{line-height:1.6;overflow-wrap:break-word}@media print{p,ul,ol{line-height:1.5}}ul,ol{padding-inline-start:1.2em}blockquote{margin:1rem 0;padding:.25rem 0 .25rem 1rem;border-inline-start:.2rem solid #ddd;color:#666;font-size:1rem;overflow-wrap:break-word}blockquote>p{margin:0}hr{border:0;border-top:1px solid #eaecef}table{display:block;overflow-x:auto;margin:1rem 0;border-collapse:collapse}tr:nth-child(odd){background:#f6f8fa}th,td{padding:.6em 1em;border:1px solid #dfe2e5}pre{direction:ltr}@page{margin:2cm;font-size:12pt;size:a4}@media print{*,:after,:before{box-shadow:none!important;text-shadow:none!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}a{color:inherit;font-weight:inherit!important;font-size:inherit!important;text-decoration:underline}a[href^="http://"]:after,a[href^="https://"]:after{content:" (" attr(href) ") "}abbr[title]:after{content:" (" attr(title) ")"}pre{border:1px solid #eee;white-space:pre-wrap!important}pre>code{white-space:pre-wrap!important}blockquote{border-inline-start:.2rem solid #ddd;color:inherit}blockquote,pre{orphans:5;widows:5}img,tr,canvas{page-break-inside:avoid}}@font-face{font-weight:400;font-style:normal;font-family:Crimson;src:url(data:font/truetype;charset=utf-8;base64,AAEAAAANAIAAAwBQRkZUTYr5mwEAAAyMAAAAHEdERUYAKQATAAAMbAAAAB5PUy8yVsJ0MgAAAVgAAABgY21hcBiKDzgAAAHcAAABWGdhc3D//wADAAAMZAAAAAhnbHlmr+DBdQAAA1AAAAdsaGVhZBZwt+8AAADcAAAANmhoZWEFawEuAAABFAAAACRobXR4BksA9gAAAbgAAAAibG9jYQlsC24AAAM0AAAAHG1heHAAEQBZAAABOAAAACBuYW1lLaFDVAAACrwAAAFrcG9zdAC1AHoAAAwoAAAAPAABAAAAAQAAqBd2H18PPPUACwQAAAAAANqqufwAAAAA2qq5/AAb/9wB4QMeAAAACAACAAAAAAAAAAEAAAMs/ywAXAH9AAAAAAHhAAEAAAAAAAAAAAAAAAAAAAAEAAEAAAANAFkAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAH1AZAABQAAApkCzAAAAI8CmQLMAAAB6wAzAQkAAAIABgMAAAAAAAAAAAABEAAAAAAAAAAAAAAAUGZFZADAADAAOQMs/ywAXAMsANQAAAABAAAAAAMYAAAAAAAgAAEBpwAfAAAAAAFVAAAB/QAfAH0ALQA+ABsAPgAyACgAPgAxAAAAAAADAAAAAwAAABwAAQAAAAAAUgADAAEAAAAcAAQANgAAAAQABAABAAAAOf//AAAAL///AAAAAQAEAAAAAAADAAQABQAGAAcACAAJAAoACwAMAAABBgAAAQAAAAAAAAABAgAAAAIAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAwQFBgcICQoLDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACYAJgAmAGIAwAEeAZIBzgJAApYC2gNiA7YAAQAf/9wBhwMeABIAAAEGBwYHATAXFjM2NzY3ASYnJjcBgxwLCgH+zgMECxIKCgIBLgEDAwMDHhQFBgP85wMEAQgJBgMOAwMDEwAAAAIAH//9Ad0CkAAQACEAABMWFxYXNjc2NzQnJicGBwYHNyY3NjcWFxYXFAcGByYnJjcfATo6amo7OQE5OmxrOjkBXQIlJEE5IyIBIyJEOSQjAgFOkV5eBAReXoqJXl4EBF5eggJ0UlEDA09Qe3xVVgMDU1OEAAAAAAEAff/9AYACkQA+AAA3FAcGBwYHBiMGFQYXNjc2MzIXFhc2JzQnIicmJyY1JjURNjc2MSYnJicjBgcGBwYVFBUUFxYXNjc2NzIXFhXkAQEEBRgYDAMBBB4ZGhweGxofBAEDDBgZBQQBAQMEAQIDBAIFNTZCAgMDBA0XFw0LBQV3GBMVDAgEBAUKCgUCAQICAQIFCgoFBAQIDBUTGAGnLxkbBAYFAQIZGh4BAgECBQUEAwUHBwEICRYAAAAAAQAtAAAB0QKRADoAADcGFxYXITY3NjcmJyYjIgcGBwYHBisBNjc2NzY3NjUmJyYnBgcGBxQXFhc2NzY3FhcWFxYHBgcGBwYHLgEEAwMBYwURERADBwYFBAMDAg8VEx/LJkBAOhsQDwIxMkxSMjIHCAYGCSYmPTIfHwEBCgoeLkJBQg8EBQQCETAwKQICAgEBBCgUEylJSUYhJicsRDIzAgY1NRoEBQYBEyEhAwEjIjYlJCQtQlBQSAAAAAABAD7/+wG+ApEASgAANwYXFhcWFxYzNjc2NyYnJic2NzY3JicmIwYHBgcUFxYXNjc2NxYXFhcGBwYHBgcUFRQXNjc2NxYXFhcGBwYnIicmJyYnJiciBwYXPwEIBwUaHB0VZU5NBAMvLi8eIB4DAywsKzwrKxgEAwUIHR4wLRscAQMvLz8BAQYKEhEQNSYmAgImJSsWExQPCw0NFREMDQE7DgsLBQwFBgE8PWpMKSoGECQkMkAiIQIdHyUHBwcBCRscAwEbGSpCIyUOAgMCAwwIAwUEAQEoKD9XJSQBBQYODg8PAQ0NFQAAAgAb//oB4QKTACIAJQAANxQXFhchFRQXFjMyNzYjNTM2NzY1NCcmJyMRNCcmIwYHBgcBExEbAgMFASEJCRIdCAkBRgIBAQUEBTwFAwgHCQkG/vjmxgUGBgOwBQIBAwKzAgQDCBAMDQEBlAYGBgEICQf+cwEs/tQAAQA+//sBvgKTAEoAADcGFxYXFhcWMzY3NjcmJyYnIgcGBzY3NjczMjc2NzY3NjU0JyYnBgcGByMGBwYHFBcWMzY3NjMWFxYHBgcGJyInJicmJyYnIgcGFz8BCAcFGhwdFWVOTQQBMjJbFx8gFwoJCQlWKB0dFQ4JCAQDBQMdHSKXCREQEgMCBA4bGhNYJyUBAiYlKxYTFA8LDQ0VEQwNATsOCwsFDAUGATw9akU2NwMFBggrMC8uAgICExcZBgQCAgMBAwQBMVNUWAUFBAYFBAMxMTNZIyQBBQYODg8PAQ0NFQAAAgAy//oBzQKXACAAMwAANxQXFhc2NzY3NicmJyIHBgc2NzY3NCcmJwYHBgcGBwYXNyY3Njc2FxYXFgcGBwYHJicmNzM1NV5aOTsCAioqahoiIRsnWFhFAwIHQ0tMOTAZGQFbBAQaGxkXRB8fAQEfIDE9Hh4E511FRwQDPT1ZPEJBBQwLF4Y9PRMGCwwBEiwsPDZFRkkTHyAbCAcBAjAwREYsLQEFREVQAAAAAAEAKP/7AdUCiwApAAATFhcWMzI3Njc2NzYzIQYHBgcWFxYzMjcBNjc2NzQnJiMiBwYjIQYHBgcoAwYHAwYDAwELEBEdAQUJYWJXAQ8PDgcDAQ4LCQgBAQEEBhUVFv7JBgsNDAH6DQMCAQEFKRITFMjHjQcFBgMCPxYSEwoEAgMBAhkrKiAAAAADAD7/9wG/ApIAKABBAFgAADcGFxYXNjc2NyYnJicmJzQ3Njc2NyYnJiMGBwYHFhcWFxYVFAcGBwYHNyY3Njc2MzIzMhcyFxYXFhcGBwYHIicmNxMmNzY3FhcWFRQHBgcGByIjIicmJyY3PwE1M1ZQODgDAykpMQIBAyYlJQMCMC9HRjExAgIiIiMCAiMvLwNTBBQTKgEBAQECAQIBEjU1CAEdHjMrISICGAMYGSYvGxoTEx8CAQIBBAMfJCQBoU8tLQECMjFPOC4uGwIBAgEWJiU7SCYoAjEwQzopKhMBAgECEykpQAQsIiEbAQEBBywsQjUeHQEiI0QBZSMhIAECJiYvKh8gFAEBAhAfIEYAAAIAMf/6AcsClwAgADMAABMGFxYXMjc2NwYHBgcUFxYXNjc2NzY3NjUmJyYnBgcGBzcmNzY3FhcWFRQHBgcGJyYnJjc0AyopahoiIRsoV1hFAwIHQ0tMODEZGQE2NF5ZOjoBWgMfHzE9Hh4EGhoaF0QeHwUBy0dBQgUMCxeFPj0SBwsLAREsLD01RkVPV0dFBQQ8PU8UPCwtAQVFRUklIRsHCAECMDBPAAAADACWAAEAAAAAAAEABwAQAAEAAAAAAAIABwAoAAEAAAAAAAMABwBAAAEAAAAAAAQABwBYAAEAAAAAAAUAHgCeAAEAAAAAAAYABwDNAAMAAQQJAAEADgAAAAMAAQQJAAIADgAYAAMAAQQJAAMADgAwAAMAAQQJAAQADgBIAAMAAQQJAAUAPABgAAMAAQQJAAYADgC9AEMAcgBpAG0AcwBvAG4AAENyaW1zb24AAEMAcgBpAG0AcwBvAG4AAENyaW1zb24AAEMAcgBpAG0AcwBvAG4AAENyaW1zb24AAEMAcgBpAG0AcwBvAG4AAENyaW1zb24AAFYAZQByAHMAaQBvAG4AIAAxAC4AMAA7ACAARgBvAG4AdABFAGQAaQB0AG8AcgAgACgAdgAxAC4AMAApAABWZXJzaW9uIDEuMDsgRm9udEVkaXRvciAodjEuMCkAAEMAcgBpAG0AcwBvAG4AAENyaW1zb24AAAACAAAAAAAAADIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0AAAABAAIAEwAUABUAFgAXABgAGQAaABsAHAAAAAH//wACAAEAAAAMAAAAFgAAAAIAAQADAAwAAQAEAAAAAgAAAAAAAAABAAAAANWkJwgAAAAA2qq5/AAAAADaqrn8) format("truetype")}html,body{background:var(--bg-color)}:root{color-scheme:light}html[data-theme=dark]{color-scheme:dark}body{color:var(--text-color);font-family:var(--font-family)}@media (min-width: 1440px){body{font-size:17px}}a{color:var(--theme-color)}kbd{border-color:var(--border-color-dark);background:var(--bg-color-secondary);font-family:var(--font-family-mono)}code{font-family:var(--font-family-mono)}html[data-theme=dark] code{background:#333}p a code{color:var(--theme-color)}blockquote{border-color:#eee;color:#666}html[data-theme=dark] blockquote{border-color:#333}h1,h2,h3,h4,h5,h6{font-family:var(--font-family-heading)}@media (max-width: 419px){h1{font-size:1.9rem}}h2,hr{border-color:var(--border-color)}tr:nth-child(odd){background:var(--bg-color-secondary)}th,td{border-color:var(--border-color-dark)}@media print{@page{--text-color: #000 !important;--bg-color: #fff !important}div[class*=language-]{position:relative!important}}.theme-hope-content:not(.custom)>*:first-child{margin-top:0}.vp-breadcrumb{max-width:var(--content-width, 740px);margin-inline:auto;padding-inline:2.5rem;position:relative;z-index:2;padding-top:1rem;font-size:15px}@media (max-width: 959px){.vp-breadcrumb{padding-inline:1.5rem}}@media print{.vp-breadcrumb{max-width:unset}}@media (max-width: 959px){.vp-breadcrumb{font-size:14px}}@media (max-width: 419px){.vp-breadcrumb{padding-top:.5rem;font-size:12.8px}}@media print{.vp-breadcrumb{display:none}}.vp-breadcrumb .icon{margin-inline-end:.25em;font-size:1em}.vp-breadcrumb img.icon{vertical-align:-.125em;height:1em}.vp-breadcrumb a{display:inline-block;padding:0 .5em}.vp-breadcrumb a:before{position:relative;bottom:.125rem;margin-inline-end:.25em}.vp-breadcrumb a:hover{color:var(--theme-color)}.vp-breadcrumb ol{margin:0;padding-inline-start:0;list-style:none}.vp-breadcrumb li{display:inline-block;line-height:1.5}.vp-breadcrumb li:first-child a{padding-inline-start:0}.vp-breadcrumb li:last-child a{padding-inline-end:0}.vp-breadcrumb li.is-active a{color:var(--grey-light);cursor:default;pointer-events:none}.vp-breadcrumb li+li:before{content:"/";color:var(--grey-light)}.toggle-sidebar-wrapper{position:fixed;top:var(--navbar-height);bottom:0;inset-inline-start:var(--sidebar-space);z-index:100;display:flex;align-items:center;justify-content:center;font-size:2rem;transition:inset-inline-start var(--transform-transition)}@media (max-width: 719px){.toggle-sidebar-wrapper{display:none}}@media (min-width: 1440px){.toggle-sidebar-wrapper{display:none}}.toggle-sidebar-wrapper:hover{background:#7f7f7f0d;cursor:pointer}.toggle-sidebar-wrapper .arrow{display:inline-block;vertical-align:middle;width:1em;height:1em;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(0,0,0,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E");background-position:center;background-repeat:no-repeat;line-height:normal;transition:all .3s}html[data-theme=dark] .toggle-sidebar-wrapper .arrow{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(255,255,255,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E")}.toggle-sidebar-wrapper .arrow.down{transform:rotate(180deg)}html[dir=rtl] .toggle-sidebar-wrapper .arrow.down{transform:rotate(-180deg)}.toggle-sidebar-wrapper .arrow.end{transform:rotate(90deg)}html[dir=rtl] .toggle-sidebar-wrapper .arrow.end,.toggle-sidebar-wrapper .arrow.start{transform:rotate(-90deg)}html[dir=rtl] .toggle-sidebar-wrapper .arrow.start{transform:rotate(90deg)}.theme-container{display:flex;flex-direction:column;justify-content:space-between;min-height:100vh}.theme-container .vp-page{padding-top:var(--navbar-height);padding-inline-start:calc(var(--sidebar-space) + 2rem)}@media (max-width: 719px){.theme-container .vp-page{padding-inline:0}}@media (min-width: 1440px){.theme-container .vp-page{padding-inline-end:calc(100vw - var(--content-width) - var(--sidebar-space) - 6rem)}}.theme-container .vp-sidebar{top:var(--navbar-height)}.theme-container.no-navbar .vp-page{padding-top:0}.theme-container.no-navbar .vp-sidebar{top:0}@media (max-width: 719px){.theme-container.no-navbar .vp-sidebar{top:0}}@media (max-width: 719px){.theme-container.hide-navbar .vp-sidebar{top:0}}.theme-container.sidebar-collapsed .vp-page{padding-inline-start:0}.theme-container.sidebar-collapsed .vp-sidebar{box-shadow:none;transform:translate(-100%)}html[dir=rtl] .theme-container.sidebar-collapsed .vp-sidebar{transform:translate(100%)}.theme-container.sidebar-collapsed .toggle-sidebar-wrapper{inset-inline-start:0}.theme-container.no-sidebar .vp-page{padding-inline:0}@media (min-width: 1440px){.theme-container.no-sidebar.has-toc .vp-page{padding-inline-end:16rem}}.theme-container.no-sidebar .vp-toggle-sidebar-button,.theme-container.no-sidebar .toggle-sidebar-wrapper,.theme-container.no-sidebar .vp-sidebar{display:none}.theme-container.sidebar-open .vp-sidebar{box-shadow:2px 0 8px var(--card-shadow);transform:translate(0)}.fade-slide-y-enter-active{transition:all .3s ease!important}.fade-slide-y-leave-active{transition:all .3s cubic-bezier(1,.5,.8,1)!important}.fade-slide-y-enter-from,.fade-slide-y-leave-to{opacity:0;transform:translateY(10px)}.vp-feature-wrapper{position:relative}.vp-feature-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background-attachment:fixed;background-position:50%;background-size:cover}.vp-feature-bg.light{display:inline-block}.vp-feature-bg.dark,html[data-theme=dark] .vp-feature-bg.light{display:none}html[data-theme=dark] .vp-feature-bg.dark{display:inline-block}.vp-feature{position:relative;z-index:1;margin:0 auto;padding:1.5rem 1rem;color:var(--text-color-lighter);text-align:center}.vp-feature-bg+.vp-feature{color:#222}html[data-theme=dark] .vp-feature-bg+.vp-feature{color:#eee}.vp-feature-bg+.vp-feature .icon{color:inherit}.vp-feature-image{height:10rem;margin:0 auto}@media (max-width: 959px){.vp-feature-image{height:8rem}}.vp-feature-image.light{display:inline-block}.vp-feature-image.dark,html[data-theme=dark] .vp-feature-image.light{display:none}html[data-theme=dark] .vp-feature-image.dark{display:inline-block}.vp-feature-header{margin-bottom:1.5rem;border-bottom:none;font-size:3rem;font-family:var(--font-family);text-align:center}@media (max-width: 959px){.vp-feature-header{font-size:2.5rem}}@media (max-width: 719px){.vp-feature-header{font-size:2.25rem}}@media (max-width: 419px){.vp-feature-header{font-size:2rem}}.vp-feature-description{font-size:1.125rem}.vp-features{z-index:1;display:flex;flex-wrap:wrap;align-items:stretch;place-content:stretch center;margin:1rem 0;text-align:start}@media print{.vp-features{display:block}}.vp-features:first-child{border-top:1px solid var(--border-color)}.vp-feature-item{position:relative;display:block;flex-basis:calc(33% - 3rem);margin:.5rem;padding:1rem;border-radius:.5rem;color:inherit;transition:background var(--color-transition),box-shadow var(--color-transition),transform var(--transform-transition)}@media (min-width: 1440px){.vp-feature-item{flex-basis:calc(25% - 3rem)}}@media (max-width: 959px){.vp-feature-item{flex-basis:calc(50% - 3rem)}}@media (max-width: 719px){.vp-feature-item{flex-basis:100%;font-size:.95rem}}@media (max-width: 419px){.vp-feature-item{margin:.5rem 0;font-size:.9rem}}.vp-feature-item.link{cursor:pointer}@media print{.vp-feature-item.link{text-decoration:none}}.vp-feature-item .icon{display:inline-block;height:1.1em;margin-inline-end:.5rem;color:var(--theme-color);font-weight:400;font-size:1.1em}.vp-feature-item:hover{background-color:var(--bg-color-secondary);box-shadow:0 2px 12px 0 var(--card-shadow);transform:translate(-2px,-2px);transform:scale(1.05)}.vp-feature-bg+.vp-feature .vp-feature-item:hover{background-color:transparent}.vp-feature-item:only-child{flex-basis:100%}.vp-feature-item:first-child:nth-last-child(2),.vp-feature-item:nth-child(2):last-child{flex-basis:calc(50% - 3rem)}@media (max-width: 719px){.vp-feature-item:first-child:nth-last-child(2),.vp-feature-item:nth-child(2):last-child{flex-basis:100%}}.vp-feature-title{margin:.25rem 0 .5rem;font-weight:700;font-size:1.3rem;font-family:var(--font-family)}@media (max-width: 419px){.vp-feature-title{font-size:1.2rem}}.vp-feature-details{margin:0;line-height:1.4}.vp-footer-wrapper{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-evenly;padding-block:.75rem;padding-inline:calc(var(--sidebar-space) + 2rem) 2rem;border-top:1px solid var(--border-color);background:var(--bg-color);color:var(--grey-dark);text-align:center;transition:border-top-color var(--color-transition),background var(--color-transition),padding var(--transform-transition)}@media (max-width: 719px){.vp-footer-wrapper{padding-inline-start:2rem}}@media (min-width: 1440px){.vp-footer-wrapper{z-index:50;padding-inline-start:2rem}}@media print{.vp-footer-wrapper{margin:0!important;padding:0!important}}@media (max-width: 419px){.vp-footer-wrapper{display:block}}.no-sidebar .vp-footer-wrapper,.sidebar-collapsed .vp-footer-wrapper{padding-inline-start:2rem}.vp-footer{margin:.5rem 1rem;font-size:14px}@media print{.vp-footer{display:none}}.vp-copyright{margin:6px 0;font-size:13px}.vp-page:not(.not-found)+.vp-footer-wrapper{margin-top:-2rem}.vp-hero-info-wrapper{position:relative;display:flex;align-items:center;justify-content:center;margin-inline:auto}.vp-hero-info-wrapper.fullscreen{height:calc(100vh - var(--navbar-height))!important}.vp-hero-info{z-index:1;width:100%;padding-inline:2.5rem}@media (max-width: 959px){.vp-hero-info{padding-inline:1.5rem}}@media (min-width: 959px){.vp-hero-info{display:flex;align-items:center;justify-content:space-evenly}}.vp-hero-mask{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background-position:50%;background-size:cover}.vp-hero-mask:after{content:" ";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;display:block}.vp-hero-mask.light{display:block}html[data-theme=dark] .vp-hero-mask.light,.vp-hero-mask.dark{display:none}html[data-theme=dark] .vp-hero-mask.dark{display:block}.vp-hero-infos{z-index:1;margin:0 .5rem}.vp-hero-image{display:block;max-width:100%;max-height:18rem;margin:1rem}@media (max-width: 959px){.vp-hero-image{margin:2rem auto}}@media (max-width: 719px){.vp-hero-image{max-height:16rem;margin:1.5rem auto}}@media (max-width: 419px){.vp-hero-image{max-height:14rem}}.vp-hero-image.light{display:block}html[data-theme=dark] .vp-hero-image.light,.vp-hero-image.dark{display:none}html[data-theme=dark] .vp-hero-image.dark{display:block}#main-title{margin:.5rem 0;background:linear-gradient(120deg,var(--theme-color-light),var(--theme-color) 30%,#967e00 100%);-webkit-background-clip:text;background-clip:text;font-weight:700;font-size:3.6rem;font-family:var(--font-family);line-height:1.5;-webkit-text-fill-color:transparent}@media (max-width: 719px){#main-title{margin:0}}@media (max-width: 959px){#main-title{font-size:2.5rem;text-align:center}}@media (max-width: 719px){#main-title{font-size:2.25rem;text-align:center}}@media (max-width: 419px){#main-title{margin:0 auto;font-size:2rem}}#main-description,.vp-hero-actions{margin:1.8rem 0}@media (max-width: 719px){#main-description,.vp-hero-actions{margin:1.5rem 0}}@media (max-width: 959px){#main-description,.vp-hero-actions{margin:1.5rem auto;text-align:center}}@media (max-width: 419px){#main-description,.vp-hero-actions{margin:1.2rem 0}}#main-description{max-width:35rem;color:var(--text-color-light);font-weight:500;font-size:1.6rem;line-height:1.3}@media (max-width: 719px){#main-description{font-size:1.4rem}}@media (max-width: 419px){#main-description{font-size:1.2rem}}.vp-hero-action{display:inline-block;overflow:hidden;min-width:4rem;margin:.5rem;padding:.5em 1.5rem;border-radius:2rem;background:var(--bg-color-secondary);color:var(--text-color);font-size:1.2rem;text-align:center;transition:color var(--color-transition),color var(--color-transition),transform var(--transform-transition)}@media (max-width: 719px){.vp-hero-action{padding:.5rem 1rem;font-size:1.1rem}}@media (max-width: 419px){.vp-hero-action{font-size:1rem}}@media print{.vp-hero-action{text-decoration:none}}.vp-hero-action:hover{background:var(--bg-color-tertiary)}.vp-hero-action.primary{border-color:var(--theme-color);background:var(--theme-color);color:var(--white)}.vp-hero-action.primary:hover{border-color:var(--theme-color-light);background:var(--theme-color-light)}.vp-project-home:not(.pure) .vp-hero-action:active{transform:scale(.96)}.vp-hero-action .icon{margin-inline-end:.25em}.vp-highlight-wrapper{position:relative;display:flex;align-items:center;justify-content:center}.vp-highlight-wrapper:nth-child(odd) .vp-highlight{flex-direction:row-reverse}.vp-highlight{z-index:1;display:flex;flex:1;align-items:center;justify-content:flex-end;max-width:var(--home-page-width);margin:0 auto;padding:1.5rem 2.5rem;color:#222}@media (max-width: 719px){.vp-highlight{display:block;padding-inline:1.5rem;text-align:center}}html[data-theme=dark] .vp-highlight{color:#eee}.vp-highlight-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background-attachment:fixed;background-position:50%;background-size:cover}.vp-highlight-bg.light{display:inline-block}.vp-highlight-bg.dark,html[data-theme=dark] .vp-highlight-bg.light{display:none}html[data-theme=dark] .vp-highlight-bg.dark{display:inline-block}.vp-highlight-image{width:12rem;margin:2rem 4rem}@media (max-width: 959px){.vp-highlight-image{width:10rem}}@media (max-width: 719px){.vp-highlight-image{width:8rem;margin:0 auto}}.vp-highlight-image.light{display:inline-block}.vp-highlight-image.dark,html[data-theme=dark] .vp-highlight-image.light{display:none}html[data-theme=dark] .vp-highlight-image.dark{display:inline-block}.vp-highlight-info-wrapper{display:flex;flex:1;justify-content:center;padding:2rem}@media (max-width: 719px){.vp-highlight-info-wrapper{padding:1rem 0}}.vp-highlight-info-wrapper:only-child{flex:1 0 100%}.vp-highlight-info{text-align:start}.vp-highlight-header{margin-bottom:1.5rem;border-bottom:none;font-size:3rem;font-family:var(--font-family)}@media (max-width: 959px){.vp-highlight-header{font-size:2.5rem}}@media (max-width: 719px){.vp-highlight-header{font-size:2.25rem;text-align:center}}@media (max-width: 419px){.vp-highlight-header{font-size:2rem}}.vp-highlight-description{font-size:1.125rem}.vp-highlights{margin-inline-start:-1.25em;padding-inline-start:0}.vp-highlight-item-wrapper{padding:.5em .5em .5em 1.75em;border-radius:.5rem;list-style:none}.vp-highlight-item-wrapper.link{cursor:pointer}.vp-highlight-item-wrapper:hover{background-color:var(--bg-color-secondary);box-shadow:0 2px 12px 0 var(--card-shadow);transition:transform var(--transform-transition);transform:translate(-2px,-2px)}.vp-highlight-bg+.vp-highlight .vp-highlight-item-wrapper:hover{background-color:transparent}.vp-highlight-item-wrapper::marker{font-weight:700}.vp-highlight-item{display:list-item;color:inherit;list-style:initial}@media print{.vp-highlight-item{text-decoration:none}}.vp-highlight-title{margin:0;font-weight:600;font-size:1.125rem;font-family:var(--font-family)}.vp-highlight-title .icon{margin-inline-end:.25em;font-size:1em}.vp-highlight-title img.icon{vertical-align:-.125em;height:1em}.vp-highlight-details{margin:.5rem 0 0}.vp-project-home{--content-width: var(--home-page-width);display:block;flex:1;padding-top:var(--navbar-height)}@media screen{.vp-project-home .vp-hero-info-wrapper:not(.fullscreen) .vp-hero-info{max-width:var(--home-page-width)}}@media screen{.vp-project-home .vp-feature{max-width:var(--home-page-width)}}.vp-project-home .theme-hope-content{padding-bottom:1.5rem!important}.vp-project-home .theme-hope-content:empty{padding:0!important}.not-found-hint{padding:2rem}.not-found-hint .error-code{margin:0;font-weight:700;font-size:4rem;line-height:4rem}.not-found-hint .error-title{font-weight:700}.not-found-hint .error-hint{margin:0;padding:12px 0;font-weight:600;font-size:20px;line-height:20px;letter-spacing:2px}.vp-page.not-found{display:flex;flex-direction:column;align-items:center;justify-content:center;box-sizing:border-box;width:100vw;max-width:var(--home-page-width);margin:0 auto;padding:calc(var(--navbar-height) + 1rem) 1rem 1rem!important;text-align:center}.vp-page.not-found .action-button{display:inline-block;box-sizing:border-box;margin:.25rem;padding:.75rem 1rem;border-width:0;border-bottom:1px solid var(--theme-color-dark);border-radius:3rem;background:var(--theme-color);color:var(--white);outline:none;font-size:1rem;transition:background var(--color-transition)}.vp-page.not-found .action-button:hover{background:var(--theme-color-light);cursor:pointer}.vp-page-nav{display:flex;flex-wrap:wrap;max-width:var(--content-width, 740px);min-height:2rem;margin-inline:auto;margin-top:0;padding-block:.5rem;padding-inline:2rem;border-top:1px solid var(--border-color)}@media (max-width: 959px){.vp-page-nav{padding-inline:1rem}}@media print{.vp-page-nav{display:none}}.vp-page-nav .nav-link{display:inline-block;flex-grow:1;margin:.25rem;padding:.25rem .5rem;border:1px solid var(--border-color);border-radius:.25rem}.vp-page-nav .nav-link:hover{background:var(--bg-color-secondary)}.vp-page-nav .nav-link .hint{color:var(--grey-light);font-size:.875rem;line-height:2}.vp-page-nav .nav-link .arrow{display:inline-block;vertical-align:middle;width:1em;height:1em;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(0,0,0,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E");background-position:center;background-repeat:no-repeat;line-height:normal;transition:all .3s;font-size:.75rem}html[data-theme=dark] .vp-page-nav .nav-link .arrow{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(255,255,255,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E")}.vp-page-nav .nav-link .arrow.down{transform:rotate(180deg)}html[dir=rtl] .vp-page-nav .nav-link .arrow.down{transform:rotate(-180deg)}.vp-page-nav .nav-link .arrow.end{transform:rotate(90deg)}html[dir=rtl] .vp-page-nav .nav-link .arrow.end,.vp-page-nav .nav-link .arrow.start{transform:rotate(-90deg)}html[dir=rtl] .vp-page-nav .nav-link .arrow.start{transform:rotate(90deg)}.vp-page-nav .prev{text-align:start}.vp-page-nav .prev .icon{margin-inline-end:.25em;font-size:1em}.vp-page-nav .prev img.icon{vertical-align:-.125em;height:1em}.vp-page-nav .next{text-align:end}.vp-page-nav .next .icon{margin-inline-start:.25em;font-size:1em}.vp-page-nav .next img.icon{vertical-align:-.125em;height:1em}.vp-page-title{max-width:var(--content-width, 740px);margin-inline:auto;padding-inline:2.5rem;position:relative;z-index:1;padding-top:1rem;padding-bottom:0}@media (max-width: 959px){.vp-page-title{padding-inline:1.5rem}}@media print{.vp-page-title{max-width:unset}}@media print{.vp-page-title{padding-inline:0!important}}@media (max-width: 959px){.vp-page-title{padding-top:.5rem}}.vp-page-title h1{margin-top:calc(0px - var(--navbar-height))!important;margin-bottom:1rem;padding-top:var(--navbar-height)!important;font-size:2.2rem}@media (max-width: 959px){.vp-page-title h1{margin-bottom:.5rem}}.vp-page-title h1 .icon{margin-inline-end:.25em;color:var(--theme-color);font-size:.9em}.vp-page-title h1 img.icon{vertical-align:-.125em;height:1em}.theme-hope-content:not(.custom){padding-top:0!important}.theme-hope-content:not(.custom) h1:first-child,.theme-hope-content:not(.custom) h2:first-child,.theme-hope-content:not(.custom) h3:first-child,.theme-hope-content:not(.custom) h4:first-child,.theme-hope-content:not(.custom) h5:first-child,.theme-hope-content:not(.custom) h6:first-child{margin-top:calc(.5rem - var(--navbar-height))!important;padding-top:var(--navbar-height)!important}.theme-hope-content:not(.custom)>h1:first-child{display:none}.vp-page{display:block;flex-grow:1;padding-bottom:2rem;transition:padding var(--transform-transition)}@media print{.vp-page{min-height:auto!important;margin:0!important;padding:0!important}}.page-cover{width:var(--content-width);margin-inline:auto}@media (max-width: 719px){.page-cover{width:100%}}.page-cover img{-o-object-fit:cover;object-fit:cover;width:100%;max-height:25vh;border-radius:.5rem}@media (max-width: 719px){.page-cover img{border-radius:0}}#vp-comment{max-width:var(--content-width, 740px);margin:0 auto;padding:2rem 2.5rem}@media (max-width: 959px){#vp-comment{padding:1.5rem}}@media (max-width: 419px){#vp-comment{padding:1rem 1.5rem}}@media print{#vp-comment{max-width:unset}}.vp-skip-link{top:.25rem;inset-inline-start:.25rem;z-index:999;padding:.65rem 1.5rem;border-radius:.5rem;background:var(--bg-color);color:var(--theme-color);box-shadow:var(--card-shadow);font-weight:700;font-size:.9em;text-decoration:none}@media print{.vp-skip-link{display:none}}.vp-skip-link:focus{clip:auto;width:auto;height:auto;clip-path:none}.theme-hope-content pre{overflow:auto;margin:.85rem 0;padding:1rem;border-radius:6px;line-height:1.375}.theme-hope-content pre code{padding:0;border-radius:0;background:transparent!important;color:var(--code-color);font-family:var(--font-family-mono);text-align:left;white-space:pre;word-spacing:normal;word-wrap:normal;word-break:normal;overflow-wrap:unset;-webkit-hyphens:none;hyphens:none;-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}@media print{.theme-hope-content pre code{white-space:pre-wrap}}.theme-hope-content .line-number{font-family:var(--font-family-mono)}div[class*=language-]{position:relative;border-radius:6px;background:var(--code-bg-color);font-size:16px}@media (max-width: 419px){.theme-hope-content>div[class*=language-]{margin:.85rem -1.5rem;border-radius:0}}div[class*=language-]:before{content:attr(data-title);position:absolute;top:0;right:1em;z-index:3;color:var(--code-line-color);font-size:.75rem}div[class*=language-] pre{position:relative;z-index:1;scrollbar-gutter:stable}div[class*=language-] .highlight-lines{position:absolute;top:0;bottom:0;left:0;width:100%;padding:1rem 0;line-height:1.375;-webkit-user-select:none;-moz-user-select:none;user-select:none}div[class*=language-] .highlight-line{background:var(--code-highlight-line-color)}div[class*=language-].line-numbers-mode:after{content:"";position:absolute;top:0;bottom:0;left:0;z-index:2;width:var(--line-numbers-width);border-right:1px solid var(--code-highlight-line-color);border-radius:6px 0 0 6px}@media (max-width: 419px){div[class*=language-].line-numbers-mode:after{border-radius:0}}@media print{div[class*=language-].line-numbers-mode:after{display:none}}div[class*=language-].line-numbers-mode .highlight-line{position:relative}div[class*=language-].line-numbers-mode .highlight-line:before{content:" ";position:absolute;top:0;left:0;z-index:3;display:block;width:var(--line-numbers-width);height:100%}div[class*=language-].line-numbers-mode pre{vertical-align:middle;margin-left:var(--line-numbers-width);padding-left:.5rem}@media print{div[class*=language-].line-numbers-mode pre{margin-left:0;padding-left:1rem}}div[class*=language-].line-numbers-mode .line-numbers{position:absolute;top:0;bottom:0;left:0;display:flex;flex-direction:column;width:var(--line-numbers-width);padding:1rem 0;color:var(--code-line-color);counter-reset:line-number;text-align:center}@media print{div[class*=language-].line-numbers-mode .line-numbers{display:none}}div[class*=language-].line-numbers-mode .line-number{position:relative;z-index:4;display:flex;flex:1;align-items:center;justify-content:center;-webkit-user-select:none;-moz-user-select:none;user-select:none}div[class*=language-].line-numbers-mode .line-number:before{content:counter(line-number);display:block;font-size:.8em;line-height:1;counter-increment:line-number}div[class*=language-]:not(.line-numbers-mode) .line-numbers{display:none}html[data-theme=light] #app{--code-color: #383a42;--code-line-color: rgba(56, 58, 66, .67);--code-bg-color: #ecf4fa;--code-border-color: #c3def3;--code-highlight-line-color: #d8e9f6}html[data-theme=light] code[class*=language-],html[data-theme=light] pre[class*=language-]{-moz-tab-size:2;-o-tab-size:2;tab-size:2}html[data-theme=light] code[class*=language-]::-moz-selection,html[data-theme=light] code[class*=language-] ::-moz-selection,html[data-theme=light] pre[class*=language-]::-moz-selection,html[data-theme=light] pre[class*=language-] ::-moz-selection{background:#e5e5e6;color:inherit}html[data-theme=light] code[class*=language-]::selection,html[data-theme=light] code[class*=language-] ::selection,html[data-theme=light] pre[class*=language-]::selection,html[data-theme=light] pre[class*=language-] ::selection{background:#e5e5e6;color:inherit}html[data-theme=light] .token.comment,html[data-theme=light] .token.prolog,html[data-theme=light] .token.cdata{color:#a0a1a7}html[data-theme=light] .token.doctype,html[data-theme=light] .token.punctuation,html[data-theme=light] .token.entity{color:#383a42}html[data-theme=light] .token.attr-name,html[data-theme=light] .token.class-name,html[data-theme=light] .token.boolean,html[data-theme=light] .token.constant,html[data-theme=light] .token.number,html[data-theme=light] .token.atrule{color:#b76b01}html[data-theme=light] .token.keyword{color:#a626a4}html[data-theme=light] .token.property,html[data-theme=light] .token.tag,html[data-theme=light] .token.symbol,html[data-theme=light] .token.deleted,html[data-theme=light] .token.important{color:#e45649}html[data-theme=light] .token.selector,html[data-theme=light] .token.string,html[data-theme=light] .token.char,html[data-theme=light] .token.builtin,html[data-theme=light] .token.inserted,html[data-theme=light] .token.regex,html[data-theme=light] .token.attr-value,html[data-theme=light] .token.attr-value>.token.punctuation{color:#50a14f}html[data-theme=light] .token.variable,html[data-theme=light] .token.operator,html[data-theme=light] .token.function{color:#4078f2}html[data-theme=light] .token.url{color:#0184bc}html[data-theme=light] .token.attr-value>.token.punctuation.attr-equals,html[data-theme=light] .token.special-attr>.token.attr-value>.token.value.css{color:#383a42}html[data-theme=light] .language-css .token.selector{color:#e45649}html[data-theme=light] .language-css .token.property{color:#383a42}html[data-theme=light] .language-css .token.function,html[data-theme=light] .language-css .token.url>.token.function{color:#0184bc}html[data-theme=light] .language-css .token.url>.token.string.url{color:#50a14f}html[data-theme=light] .language-css .token.important,html[data-theme=light] .language-css .token.atrule .token.rule,html[data-theme=light] .language-javascript .token.operator{color:#a626a4}html[data-theme=light] .language-javascript .token.template-string>.token.interpolation>.token.interpolation-punctuation.punctuation{color:#ca1243}html[data-theme=light] .language-json .token.operator{color:#383a42}html[data-theme=light] .language-json .token.null.keyword{color:#b76b01}html[data-theme=light] .language-markdown .token.url,html[data-theme=light] .language-markdown .token.url>.token.operator,html[data-theme=light] .language-markdown .token.url-reference.url>.token.string{color:#383a42}html[data-theme=light] .language-markdown .token.url>.token.content{color:#4078f2}html[data-theme=light] .language-markdown .token.url>.token.url,html[data-theme=light] .language-markdown .token.url-reference.url{color:#0184bc}html[data-theme=light] .language-markdown .token.blockquote.punctuation,html[data-theme=light] .language-markdown .token.hr.punctuation{color:#a0a1a7;font-style:italic}html[data-theme=light] .language-markdown .token.code-snippet{color:#50a14f}html[data-theme=light] .language-markdown .token.bold .token.content{color:#b76b01}html[data-theme=light] .language-markdown .token.italic .token.content{color:#a626a4}html[data-theme=light] .language-markdown .token.strike .token.content,html[data-theme=light] .language-markdown .token.strike .token.punctuation,html[data-theme=light] .language-markdown .token.list.punctuation,html[data-theme=light] .language-markdown .token.title.important>.token.punctuation{color:#e45649}html[data-theme=light] .token.bold{font-weight:700}html[data-theme=light] .token.comment,html[data-theme=light] .token.italic{font-style:italic}html[data-theme=light] .token.entity{cursor:help}html[data-theme=light] .token.namespace{opacity:.8}html[data-theme=dark] #app{--code-color: #abb2bf;--code-line-color: rgba(171, 178, 191, .67);--code-bg-color: #282c34;--code-border-color: #343e51;--code-highlight-line-color: #2f3542}html[data-theme=dark] code[class*=language-],html[data-theme=dark] pre[class*=language-]{text-shadow:0 1px rgba(0,0,0,.3);-moz-tab-size:2;-o-tab-size:2;tab-size:2}@media print{html[data-theme=dark] code[class*=language-],html[data-theme=dark] pre[class*=language-]{text-shadow:none}}html[data-theme=dark] code[class*=language-]::-moz-selection,html[data-theme=dark] code[class*=language-] ::-moz-selection,html[data-theme=dark] pre[class*=language-]::-moz-selection,html[data-theme=dark] pre[class*=language-] ::-moz-selection{background:#3e4451;color:inherit;text-shadow:none}html[data-theme=dark] code[class*=language-]::selection,html[data-theme=dark] code[class*=language-] ::selection,html[data-theme=dark] pre[class*=language-]::selection,html[data-theme=dark] pre[class*=language-] ::selection{background:#3e4451;color:inherit;text-shadow:none}html[data-theme=dark] .token.comment,html[data-theme=dark] .token.prolog,html[data-theme=dark] .token.cdata{color:#5c6370}html[data-theme=dark] .token.doctype,html[data-theme=dark] .token.punctuation,html[data-theme=dark] .token.entity{color:#abb2bf}html[data-theme=dark] .token.attr-name,html[data-theme=dark] .token.class-name,html[data-theme=dark] .token.boolean,html[data-theme=dark] .token.constant,html[data-theme=dark] .token.number,html[data-theme=dark] .token.atrule{color:#d19a66}html[data-theme=dark] .token.keyword{color:#c678dd}html[data-theme=dark] .token.property,html[data-theme=dark] .token.tag,html[data-theme=dark] .token.symbol,html[data-theme=dark] .token.deleted,html[data-theme=dark] .token.important{color:#e06c75}html[data-theme=dark] .token.selector,html[data-theme=dark] .token.string,html[data-theme=dark] .token.char,html[data-theme=dark] .token.builtin,html[data-theme=dark] .token.inserted,html[data-theme=dark] .token.regex,html[data-theme=dark] .token.attr-value,html[data-theme=dark] .token.attr-value>.token.punctuation{color:#98c379}html[data-theme=dark] .token.variable,html[data-theme=dark] .token.operator,html[data-theme=dark] .token.function{color:#61afef}html[data-theme=dark] .token.url{color:#56b6c2}html[data-theme=dark] .token.attr-value>.token.punctuation.attr-equals,html[data-theme=dark] .token.special-attr>.token.attr-value>.token.value.css{color:#abb2bf}html[data-theme=dark] .language-css .token.selector{color:#e06c75}html[data-theme=dark] .language-css .token.property{color:#abb2bf}html[data-theme=dark] .language-css .token.function,html[data-theme=dark] .language-css .token.url>.token.function{color:#56b6c2}html[data-theme=dark] .language-css .token.url>.token.string.url{color:#98c379}html[data-theme=dark] .language-css .token.important,html[data-theme=dark] .language-css .token.atrule .token.rule,html[data-theme=dark] .language-javascript .token.operator{color:#c678dd}html[data-theme=dark] .language-javascript .token.template-string>.token.interpolation>.token.interpolation-punctuation.punctuation{color:#be5046}html[data-theme=dark] .language-json .token.operator{color:#abb2bf}html[data-theme=dark] .language-json .token.null.keyword{color:#d19a66}html[data-theme=dark] .language-markdown .token.url,html[data-theme=dark] .language-markdown .token.url>.token.operator,html[data-theme=dark] .language-markdown .token.url-reference.url>.token.string{color:#abb2bf}html[data-theme=dark] .language-markdown .token.url>.token.content{color:#61afef}html[data-theme=dark] .language-markdown .token.url>.token.url,html[data-theme=dark] .language-markdown .token.url-reference.url{color:#56b6c2}html[data-theme=dark] .language-markdown .token.blockquote.punctuation,html[data-theme=dark] .language-markdown .token.hr.punctuation{color:#5c6370;font-style:italic}html[data-theme=dark] .language-markdown .token.code-snippet{color:#98c379}html[data-theme=dark] .language-markdown .token.bold .token.content{color:#d19a66}html[data-theme=dark] .language-markdown .token.italic .token.content{color:#c678dd}html[data-theme=dark] .language-markdown .token.strike .token.content,html[data-theme=dark] .language-markdown .token.strike .token.punctuation,html[data-theme=dark] .language-markdown .token.list.punctuation,html[data-theme=dark] .language-markdown .token.title.important>.token.punctuation{color:#e06c75}html[data-theme=dark] .token.bold{font-weight:700}html[data-theme=dark] .token.comment,html[data-theme=dark] .token.italic{font-style:italic}html[data-theme=dark] .token.entity{cursor:help}html[data-theme=dark] .token.namespace{opacity:.8}.sr-only{position:absolute;overflow:hidden;clip:rect(0,0,0,0);width:1px;height:1px;margin:-1px;padding:0;border-width:0;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none}@media print{.theme-hope-content{margin:0!important;padding-inline:0!important}}.theme-hope-content.custom{margin:0;padding:0}.theme-hope-content:not(.custom){max-width:var(--content-width, 740px);margin:0 auto;padding:2rem 2.5rem;padding-top:0}@media (max-width: 959px){.theme-hope-content:not(.custom){padding:1.5rem}}@media (max-width: 419px){.theme-hope-content:not(.custom){padding:1rem 1.5rem}}@media print{.theme-hope-content:not(.custom){max-width:unset}}.theme-hope-content:not(.custom)>h1,.theme-hope-content:not(.custom)>h2,.theme-hope-content:not(.custom)>h3,.theme-hope-content:not(.custom)>h4,.theme-hope-content:not(.custom)>h5,.theme-hope-content:not(.custom)>h6{margin-top:calc(.5rem - var(--navbar-height));margin-bottom:.5rem;padding-top:calc(1rem + var(--navbar-height));outline:none}.theme-container.no-navbar .theme-hope-content:not(.custom)>h1,.theme-container.no-navbar .theme-hope-content:not(.custom)>h2,.theme-container.no-navbar .theme-hope-content:not(.custom)>h3,.theme-container.no-navbar .theme-hope-content:not(.custom)>h4,.theme-container.no-navbar .theme-hope-content:not(.custom)>h5,.theme-container.no-navbar .theme-hope-content:not(.custom)>h6{margin-top:1.5rem;padding-top:0}.theme-hope-content:not(.custom)>p,.theme-hope-content:not(.custom)>ul p,.theme-hope-content:not(.custom)>ol p{text-align:justify;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}@media (max-width: 419px){.theme-hope-content:not(.custom)>p,.theme-hope-content:not(.custom)>ul p,.theme-hope-content:not(.custom)>ol p{text-align:start}}@media print{.theme-hope-content:not(.custom)>p,.theme-hope-content:not(.custom)>ul p,.theme-hope-content:not(.custom)>ol p{text-align:start}}.theme-hope-content a:not(.header-anchor):hover{text-decoration:underline}.theme-hope-content img{max-width:100%}::view-transition-old(root),::view-transition-new(root){animation:none;mix-blend-mode:normal}html[data-theme=light]::view-transition-old(root),html[data-theme=dark]::view-transition-new(root){z-index:1}html[data-theme=light]::view-transition-new(root),html[data-theme=dark]::view-transition-old(root){z-index:99999}@media (min-width: 1280px){.chart-wrapper::-webkit-scrollbar,.flowchart-wrapper::-webkit-scrollbar,.mermaid-wrapper::-webkit-scrollbar{width:8px;height:8px}.chart-wrapper::-webkit-scrollbar-track-piece,.flowchart-wrapper::-webkit-scrollbar-track-piece,.mermaid-wrapper::-webkit-scrollbar-track-piece{border-radius:8px;background:#0000001a}}html[dir=rtl] a.header-anchor:before{right:-.75em}#docsearch-container{min-width:145.7px!important}@media (max-width: 959px){#docsearch-container{min-width:36px!important}}.DocSearch.DocSearch-Button{margin-left:0}@media (max-width: 959px){.DocSearch.DocSearch-Button{min-width:36px!important}}.DocSearch .DocSearch-Button-Placeholder{display:inline-block;padding:4px 12px 4px 6px;font-size:14px}@media (max-width: 719px){.DocSearch .DocSearch-Button-Placeholder{display:none}}.DocSearch .DocSearch-Search-Icon{width:1.25em;height:1.25em}@media (max-width: 959px){.DocSearch .DocSearch-Button-Keys{display:none}}.DocSearch .DocSearch-Button-Key{background:var(--bg-color);box-shadow:none}:root{scrollbar-width:thin}@media (prefers-reduced-motion: no-preference){:root{scroll-behavior:smooth}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track-piece{border-radius:6px;background:#0000001a}::-webkit-scrollbar-thumb{border-radius:6px;background:var(--theme-color)}::-webkit-scrollbar-thumb:active{background:var(--theme-color-light)}@media (max-width: 719px){.hide-in-mobile{display:none!important}}@media (max-width: 959px){.hide-in-pad{display:none!important}}.page-author-item{display:inline-block;margin:0 4px;font-weight:400;overflow-wrap:break-word}.page-category-info{flex-wrap:wrap}.page-category-item{display:inline-block;margin:.125em .25em;padding:0 .25em;border-radius:.25em;background:var(--bg-color-secondary);color:var(--text-color-light);font-weight:700;font-size:.75rem;line-height:2;transition:background var(--color-transition),color var(--color-transition)}@media print{.page-category-item{padding:0;font-weight:400}.page-category-item:after{content:", "}.page-category-item:last-of-type:after{content:""}}.page-category-item.clickable>span:hover{color:var(--theme-color);cursor:pointer}.page-category-item.category0{background:#fde5e7;color:#ec2f3e}html[data-theme=dark] .page-category-item.category0{background:#340509;color:#ba111f}.page-category-item.category0:hover{background:#f9bec3}html[data-theme=dark] .page-category-item.category0:hover{background:#53080e}.page-category-item.category1{background:#ffeee8;color:#fb7649}html[data-theme=dark] .page-category-item.category1{background:#441201;color:#f54205}.page-category-item.category1:hover{background:#fed4c6}html[data-theme=dark] .page-category-item.category1:hover{background:#6d1d02}.page-category-item.category2{background:#fef5e7;color:#f5b041}html[data-theme=dark] .page-category-item.category2{background:#3e2703;color:#e08e0b}.page-category-item.category2:hover{background:#fce6c4}html[data-theme=dark] .page-category-item.category2:hover{background:#633f05}.page-category-item.category3{background:#eafaf1;color:#55d98d}html[data-theme=dark] .page-category-item.category3{background:#0c331c;color:#29b866}.page-category-item.category3:hover{background:#caf3db}html[data-theme=dark] .page-category-item.category3:hover{background:#12522d}.page-category-item.category4{background:#e6f9ee;color:#36d278}html[data-theme=dark] .page-category-item.category4{background:#092917;color:#219552}.page-category-item.category4:hover{background:#c0f1d5}html[data-theme=dark] .page-category-item.category4:hover{background:#0f4224}.page-category-item.category5{background:#e1fcfc;color:#16e1e1}html[data-theme=dark] .page-category-item.category5{background:#042929;color:#0e9595}.page-category-item.category5:hover{background:#b4f8f8}html[data-theme=dark] .page-category-item.category5:hover{background:#064242}.page-category-item.category6{background:#e4f0fe;color:#2589f6}html[data-theme=dark] .page-category-item.category6{background:#021b36;color:#0862c3}.page-category-item.category6:hover{background:#bbdafc}html[data-theme=dark] .page-category-item.category6:hover{background:#042c57}.page-category-item.category7{background:#f7f1fd;color:#bb8ced}html[data-theme=dark] .page-category-item.category7{background:#2a0b4b;color:#9851e4}.page-category-item.category7:hover{background:#eadbfa}html[data-theme=dark] .page-category-item.category7:hover{background:#431277}.page-category-item.category8{background:#fdeaf5;color:#ef59ab}html[data-theme=dark] .page-category-item.category8{background:#400626;color:#e81689}.page-category-item.category8:hover{background:#facbe5}html[data-theme=dark] .page-category-item.category8:hover{background:#670a3d}.page-original-info{position:relative;display:inline-block;vertical-align:middle;overflow:hidden;padding:0 .5em;border:.5px solid var(--grey-dark);border-radius:.75em;background:var(--bg-color);font-size:.75em;line-height:1.5!important}.page-info{display:flex;flex-wrap:wrap;align-items:center;place-content:stretch flex-start;color:var(--grey-dark);font-size:14px}@media print{.page-info{display:flex!important}}.page-info>span{display:flex;align-items:center;max-width:100%;margin-inline-end:.5em;line-height:2}@media (min-width: 1440px){.page-info>span{font-size:1.1em}}@media (max-width: 419px){.page-info>span{margin-inline-end:.3em;font-size:.875em}}@media print{.page-info>span{display:flex!important}}.page-info .icon{position:relative;display:inline-block;vertical-align:middle;width:1em;height:1em;margin-inline-end:.25em}.page-info a{color:inherit}.page-info a:hover,.page-info a:active{color:var(--theme-color)}.vp-page-meta{max-width:var(--content-width, 740px);margin-inline:auto;padding-inline:2.5rem;display:flex;flex-wrap:wrap;justify-content:space-between;overflow:auto;padding-top:.75rem;padding-bottom:.75rem}@media (max-width: 959px){.vp-page-meta{padding-inline:1.5rem}}@media print{.vp-page-meta{max-width:unset}}@media print{.vp-page-meta{margin:0!important;padding-inline:0!important}}@media (max-width: 719px){.vp-page-meta{display:block}}.vp-page-meta .vp-meta-item{flex-grow:1}.vp-page-meta .vp-meta-item .vp-meta-label{font-weight:500}.vp-page-meta .vp-meta-item .vp-meta-label:not(a){color:var(--text-color-lighter)}.vp-page-meta .vp-meta-item .vp-meta-info{color:var(--grey-dark);font-weight:400}.vp-page-meta .git-info{text-align:end}.vp-page-meta .edit-link{margin-top:.25rem;margin-bottom:.25rem;margin-inline-end:.5rem;font-size:14px}@media print{.vp-page-meta .edit-link{display:none}}.vp-page-meta .edit-link .icon{position:relative;bottom:-.125em;width:1em;height:1em;margin-inline-end:.25em}.vp-page-meta .update-time,.vp-page-meta .contributors{margin-top:.25rem;margin-bottom:.25rem;font-size:14px}@media (max-width: 719px){.vp-page-meta .update-time,.vp-page-meta .contributors{font-size:13px;text-align:start}}.print-button{border-width:0;background:transparent;cursor:pointer;box-sizing:content-box;width:1rem;height:1rem;padding:.5rem;border-radius:.25em;color:inherit;font-size:1rem;transform:translateY(.25rem)}@media print{.print-button{display:none}}.page-tag-info{flex-wrap:wrap}.page-tag-item{position:relative;display:inline-block;vertical-align:middle;overflow:hidden;min-width:1.5rem;margin:.125rem;padding:.125rem .25rem .125rem .625rem;background:var(--bg-color-secondary);background:linear-gradient(135deg,transparent .75em,var(--bg-color-secondary) 0) top,linear-gradient(45deg,transparent .75em,var(--bg-color-secondary) 0) bottom;background-size:100% 52%!important;background-repeat:no-repeat!important;color:var(--text-color-light);font-weight:700;font-size:.625rem;line-height:1.5;text-align:center;transition:background var(--color-transition),color var(--color-transition)}@media print{.page-tag-item{padding:0;font-weight:400}.page-tag-item:after{content:", "}.page-tag-item:last-of-type:after{content:""}}.page-tag-item.clickable:hover{cursor:pointer}.page-tag-item.tag0{background:#fde5e7;background:linear-gradient(135deg,transparent .75em,#fde5e7 0) top,linear-gradient(45deg,transparent .75em,#fde5e7 0) bottom;color:#ec2f3e}html[data-theme=dark] .page-tag-item.tag0{background:#340509;background:linear-gradient(135deg,transparent .75em,#340509 0) top,linear-gradient(45deg,transparent .75em,#340509 0) bottom;color:#ba111f}.page-tag-item.tag0.clickable:hover{background:#f9bec3;background:linear-gradient(135deg,transparent .75em,#f9bec3 0) top,linear-gradient(45deg,transparent .75em,#f9bec3 0) bottom}html[data-theme=dark] .page-tag-item.tag0.clickable:hover{background:#53080e;background:linear-gradient(135deg,transparent .75em,#53080e 0) top,linear-gradient(45deg,transparent .75em,#53080e 0) bottom}.page-tag-item.tag1{background:#ffeee8;background:linear-gradient(135deg,transparent .75em,#ffeee8 0) top,linear-gradient(45deg,transparent .75em,#ffeee8 0) bottom;color:#fb7649}html[data-theme=dark] .page-tag-item.tag1{background:#441201;background:linear-gradient(135deg,transparent .75em,#441201 0) top,linear-gradient(45deg,transparent .75em,#441201 0) bottom;color:#f54205}.page-tag-item.tag1.clickable:hover{background:#fed4c6;background:linear-gradient(135deg,transparent .75em,#fed4c6 0) top,linear-gradient(45deg,transparent .75em,#fed4c6 0) bottom}html[data-theme=dark] .page-tag-item.tag1.clickable:hover{background:#6d1d02;background:linear-gradient(135deg,transparent .75em,#6d1d02 0) top,linear-gradient(45deg,transparent .75em,#6d1d02 0) bottom}.page-tag-item.tag2{background:#fef5e7;background:linear-gradient(135deg,transparent .75em,#fef5e7 0) top,linear-gradient(45deg,transparent .75em,#fef5e7 0) bottom;color:#f5b041}html[data-theme=dark] .page-tag-item.tag2{background:#3e2703;background:linear-gradient(135deg,transparent .75em,#3e2703 0) top,linear-gradient(45deg,transparent .75em,#3e2703 0) bottom;color:#e08e0b}.page-tag-item.tag2.clickable:hover{background:#fce6c4;background:linear-gradient(135deg,transparent .75em,#fce6c4 0) top,linear-gradient(45deg,transparent .75em,#fce6c4 0) bottom}html[data-theme=dark] .page-tag-item.tag2.clickable:hover{background:#633f05;background:linear-gradient(135deg,transparent .75em,#633f05 0) top,linear-gradient(45deg,transparent .75em,#633f05 0) bottom}.page-tag-item.tag3{background:#eafaf1;background:linear-gradient(135deg,transparent .75em,#eafaf1 0) top,linear-gradient(45deg,transparent .75em,#eafaf1 0) bottom;color:#55d98d}html[data-theme=dark] .page-tag-item.tag3{background:#0c331c;background:linear-gradient(135deg,transparent .75em,#0c331c 0) top,linear-gradient(45deg,transparent .75em,#0c331c 0) bottom;color:#29b866}.page-tag-item.tag3.clickable:hover{background:#caf3db;background:linear-gradient(135deg,transparent .75em,#caf3db 0) top,linear-gradient(45deg,transparent .75em,#caf3db 0) bottom}html[data-theme=dark] .page-tag-item.tag3.clickable:hover{background:#12522d;background:linear-gradient(135deg,transparent .75em,#12522d 0) top,linear-gradient(45deg,transparent .75em,#12522d 0) bottom}.page-tag-item.tag4{background:#e6f9ee;background:linear-gradient(135deg,transparent .75em,#e6f9ee 0) top,linear-gradient(45deg,transparent .75em,#e6f9ee 0) bottom;color:#36d278}html[data-theme=dark] .page-tag-item.tag4{background:#092917;background:linear-gradient(135deg,transparent .75em,#092917 0) top,linear-gradient(45deg,transparent .75em,#092917 0) bottom;color:#219552}.page-tag-item.tag4.clickable:hover{background:#c0f1d5;background:linear-gradient(135deg,transparent .75em,#c0f1d5 0) top,linear-gradient(45deg,transparent .75em,#c0f1d5 0) bottom}html[data-theme=dark] .page-tag-item.tag4.clickable:hover{background:#0f4224;background:linear-gradient(135deg,transparent .75em,#0f4224 0) top,linear-gradient(45deg,transparent .75em,#0f4224 0) bottom}.page-tag-item.tag5{background:#e1fcfc;background:linear-gradient(135deg,transparent .75em,#e1fcfc 0) top,linear-gradient(45deg,transparent .75em,#e1fcfc 0) bottom;color:#16e1e1}html[data-theme=dark] .page-tag-item.tag5{background:#042929;background:linear-gradient(135deg,transparent .75em,#042929 0) top,linear-gradient(45deg,transparent .75em,#042929 0) bottom;color:#0e9595}.page-tag-item.tag5.clickable:hover{background:#b4f8f8;background:linear-gradient(135deg,transparent .75em,#b4f8f8 0) top,linear-gradient(45deg,transparent .75em,#b4f8f8 0) bottom}html[data-theme=dark] .page-tag-item.tag5.clickable:hover{background:#064242;background:linear-gradient(135deg,transparent .75em,#064242 0) top,linear-gradient(45deg,transparent .75em,#064242 0) bottom}.page-tag-item.tag6{background:#e4f0fe;background:linear-gradient(135deg,transparent .75em,#e4f0fe 0) top,linear-gradient(45deg,transparent .75em,#e4f0fe 0) bottom;color:#2589f6}html[data-theme=dark] .page-tag-item.tag6{background:#021b36;background:linear-gradient(135deg,transparent .75em,#021b36 0) top,linear-gradient(45deg,transparent .75em,#021b36 0) bottom;color:#0862c3}.page-tag-item.tag6.clickable:hover{background:#bbdafc;background:linear-gradient(135deg,transparent .75em,#bbdafc 0) top,linear-gradient(45deg,transparent .75em,#bbdafc 0) bottom}html[data-theme=dark] .page-tag-item.tag6.clickable:hover{background:#042c57;background:linear-gradient(135deg,transparent .75em,#042c57 0) top,linear-gradient(45deg,transparent .75em,#042c57 0) bottom}.page-tag-item.tag7{background:#f7f1fd;background:linear-gradient(135deg,transparent .75em,#f7f1fd 0) top,linear-gradient(45deg,transparent .75em,#f7f1fd 0) bottom;color:#bb8ced}html[data-theme=dark] .page-tag-item.tag7{background:#2a0b4b;background:linear-gradient(135deg,transparent .75em,#2a0b4b 0) top,linear-gradient(45deg,transparent .75em,#2a0b4b 0) bottom;color:#9851e4}.page-tag-item.tag7.clickable:hover{background:#eadbfa;background:linear-gradient(135deg,transparent .75em,#eadbfa 0) top,linear-gradient(45deg,transparent .75em,#eadbfa 0) bottom}html[data-theme=dark] .page-tag-item.tag7.clickable:hover{background:#431277;background:linear-gradient(135deg,transparent .75em,#431277 0) top,linear-gradient(45deg,transparent .75em,#431277 0) bottom}.page-tag-item.tag8{background:#fdeaf5;background:linear-gradient(135deg,transparent .75em,#fdeaf5 0) top,linear-gradient(45deg,transparent .75em,#fdeaf5 0) bottom;color:#ef59ab}html[data-theme=dark] .page-tag-item.tag8{background:#400626;background:linear-gradient(135deg,transparent .75em,#400626 0) top,linear-gradient(45deg,transparent .75em,#400626 0) bottom;color:#e81689}.page-tag-item.tag8.clickable:hover{background:#facbe5;background:linear-gradient(135deg,transparent .75em,#facbe5 0) top,linear-gradient(45deg,transparent .75em,#facbe5 0) bottom}html[data-theme=dark] .page-tag-item.tag8.clickable:hover{background:#670a3d;background:linear-gradient(135deg,transparent .75em,#670a3d 0) top,linear-gradient(45deg,transparent .75em,#670a3d 0) bottom}.vp-toc-placeholder{margin-inline:auto;padding-inline:2.5rem;position:sticky;top:calc(var(--navbar-height) + .5rem);z-index:99;display:none;max-width:var(--content-width, 740px)}@media (max-width: 959px){.vp-toc-placeholder{padding-inline:1.5rem}}@media print{.vp-toc-placeholder{max-width:unset}}@media (max-width: 719px){.hide-navbar .vp-toc-placeholder{top:.5rem}}@media (min-width: 1440px){.vp-toc-placeholder{top:calc(var(--navbar-height) + 2rem)}}@media print{.vp-toc-placeholder{display:none!important}}.vp-toc-placeholder+.theme-hope-content:not(.custom){padding-top:0}.has-toc .vp-toc-placeholder{display:block}#toc{margin-bottom:1rem;border-radius:8px;background:var(--bg-color-secondary)}@media (min-width: 1440px){#toc{position:absolute;inset-inline-start:calc(100% + 1rem);min-width:10rem;max-width:15rem;margin-bottom:0;border-radius:0;background:transparent}}.vp-toc-header{padding:.5rem 1rem;font-weight:600}@media (min-width: 1440px){.vp-toc-header{padding-top:0;font-size:.875rem}}.vp-toc-header .arrow{display:inline-block;vertical-align:middle;width:1em;height:1em;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(0,0,0,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E");background-position:center;background-repeat:no-repeat;line-height:normal;transition:all .3s}html[data-theme=dark] .vp-toc-header .arrow{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(255,255,255,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E")}.vp-toc-header .arrow.down{transform:rotate(180deg)}html[dir=rtl] .vp-toc-header .arrow.down{transform:rotate(-180deg)}.vp-toc-header .arrow.end{transform:rotate(90deg)}html[dir=rtl] .vp-toc-header .arrow.end,.vp-toc-header .arrow.start{transform:rotate(-90deg)}html[dir=rtl] .vp-toc-header .arrow.start{transform:rotate(90deg)}@media (min-width: 1440px){.vp-toc-header .arrow{display:none}}.vp-toc-header .print-button{display:none}@media (min-width: 1440px){.vp-toc-header .print-button{display:inline-block}}.vp-toc-wrapper{position:relative;overflow:hidden auto;height:0;max-height:8rem;margin:0 .5rem;padding-inline-start:8px;text-overflow:ellipsis;white-space:nowrap;transition:height .5s;scroll-behavior:smooth}@media (min-width: 1440px){.vp-toc-wrapper{height:auto;max-height:75vh}}.vp-toc-wrapper.open{height:auto;margin-top:.5rem;padding-bottom:.5rem}.vp-toc-wrapper::-webkit-scrollbar-track-piece{background:transparent}.vp-toc-wrapper::-webkit-scrollbar{width:3px}.vp-toc-wrapper::-webkit-scrollbar-thumb:vertical{background:#ddd}html[data-theme=dark] .vp-toc-wrapper::-webkit-scrollbar-thumb:vertical{background:#333}.vp-toc-wrapper:before{content:" ";position:absolute;top:0;bottom:0;inset-inline-start:0;z-index:-1;width:2px;background:var(--border-color)}.vp-toc-list{position:relative;margin:0;padding:0}.vp-toc-marker{position:absolute;top:0;inset-inline-start:0;z-index:2;display:none;width:2px;height:1.7rem;background:var(--theme-color);transition:top var(--transform-transition)}@media (min-width: 1440px){.vp-toc-marker{display:block}}.vp-toc-link{position:relative;display:block;overflow:hidden;max-width:100%;color:var(--grey-light);line-height:inherit;text-overflow:ellipsis;white-space:nowrap}.vp-toc-link.level2{padding-inline-start:0px;font-size:14px}.vp-toc-link.level3{padding-inline-start:8px;font-size:13px}.vp-toc-link.level4{padding-inline-start:16px;font-size:12px}.vp-toc-link.level5{padding-inline-start:24px;font-size:11px}.vp-toc-link.level6{padding-inline-start:32px;font-size:10px}.vp-toc-item{position:relative;box-sizing:border-box;height:1.7rem;list-style:none;line-height:1.7rem}@media (min-width: 1440px){.vp-toc-item{padding:0 .5rem}}.vp-toc-item:hover>.vp-toc-link{color:var(--theme-color)}.vp-toc-item.active>.vp-toc-link{color:var(--theme-color);font-weight:700}.dropdown-wrapper{cursor:pointer}.dropdown-wrapper:not(:hover) .arrow{transform:rotate(-180deg)}.dropdown-wrapper .dropdown-title{border-width:0;background:transparent;cursor:pointer;padding:0 .25rem;color:var(--grey-dark);font-weight:500;font-size:inherit;font-family:inherit;line-height:inherit;cursor:inherit}.dropdown-wrapper .dropdown-title:hover{border-color:transparent}.dropdown-wrapper .dropdown-title .icon{margin-inline-end:.25em;font-size:1em}.dropdown-wrapper .dropdown-title .arrow{display:inline-block;vertical-align:middle;width:1em;height:1em;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(0,0,0,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E");background-position:center;background-repeat:no-repeat;line-height:normal;transition:all .3s;font-size:1.2em}html[data-theme=dark] .dropdown-wrapper .dropdown-title .arrow{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(255,255,255,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E")}.dropdown-wrapper .dropdown-title .arrow.down{transform:rotate(180deg)}html[dir=rtl] .dropdown-wrapper .dropdown-title .arrow.down{transform:rotate(-180deg)}.dropdown-wrapper .dropdown-title .arrow.end{transform:rotate(90deg)}html[dir=rtl] .dropdown-wrapper .dropdown-title .arrow.end,.dropdown-wrapper .dropdown-title .arrow.start{transform:rotate(-90deg)}html[dir=rtl] .dropdown-wrapper .dropdown-title .arrow.start{transform:rotate(90deg)}.dropdown-wrapper ul{margin:0;padding:0;list-style-type:none}.dropdown-wrapper .nav-dropdown{position:absolute;top:100%;inset-inline-end:0;overflow-y:auto;box-sizing:border-box;min-width:6rem;max-height:calc(100vh - var(--navbar-height));margin:0;padding:.5rem .75rem;border:1px solid var(--grey14);border-radius:.5rem;background:var(--bg-color);box-shadow:2px 2px 10px var(--card-shadow);text-align:start;white-space:nowrap;opacity:0;visibility:hidden;transition:all .18s ease-out;transform:scale(.9)}.dropdown-wrapper:hover .nav-dropdown,.dropdown-wrapper.open .nav-dropdown{z-index:2;opacity:1;visibility:visible;transform:none}.dropdown-wrapper .nav-link{position:relative;display:block;margin-bottom:0;border-bottom:none;color:var(--grey-dark);font-weight:400;font-size:.875rem;line-height:1.7rem;transition:color var(--color-transition)}.dropdown-wrapper .nav-link:hover,.dropdown-wrapper .nav-link.active{color:var(--theme-color)}.dropdown-wrapper .dropdown-subtitle{margin:0;padding:.5rem .25rem 0;color:var(--grey-light);font-weight:600;font-size:.75rem;line-height:2;text-transform:uppercase}.dropdown-wrapper .dropdown-subitem-wrapper{padding:0 0 .25rem}.dropdown-wrapper .dropdown-item{color:inherit;line-height:1.7rem}.dropdown-wrapper .dropdown-item:last-child .dropdown-subtitle{padding-top:0}.dropdown-wrapper .dropdown-item:last-child .dropdown-subitem-wrapper{padding-bottom:0}.nav-screen-dropdown-title{border-width:0;background:transparent;position:relative;display:flex;align-items:center;width:100%;padding:0;color:var(--grey-dark);font-size:inherit;font-family:inherit;text-align:start;cursor:pointer}.nav-screen-dropdown-title:hover,.nav-screen-dropdown-title.active{color:var(--text-color)}.nav-screen-dropdown-title .title{flex:1}.nav-screen-dropdown-title .arrow{display:inline-block;vertical-align:middle;width:1em;height:1em;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(0,0,0,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E");background-position:center;background-repeat:no-repeat;line-height:normal;transition:all .3s}html[data-theme=dark] .nav-screen-dropdown-title .arrow{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(255,255,255,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E")}.nav-screen-dropdown-title .arrow.down{transform:rotate(180deg)}html[dir=rtl] .nav-screen-dropdown-title .arrow.down{transform:rotate(-180deg)}.nav-screen-dropdown-title .arrow.end{transform:rotate(90deg)}html[dir=rtl] .nav-screen-dropdown-title .arrow.end,.nav-screen-dropdown-title .arrow.start{transform:rotate(-90deg)}html[dir=rtl] .nav-screen-dropdown-title .arrow.start{transform:rotate(90deg)}.nav-screen-dropdown{overflow:hidden;margin:.5rem 0 0;padding:0;list-style:none;transition:transform .1s ease-out;transform:scaleY(1);transform-origin:top}.nav-screen-dropdown.hide{height:0;margin:0;transform:scaleY(0)}.nav-screen-dropdown .nav-link{position:relative;display:block;padding-inline-start:.5rem;font-weight:400;line-height:2}.nav-screen-dropdown .nav-link:hover,.nav-screen-dropdown .nav-link.active{color:var(--theme-color)}.nav-screen-dropdown .nav-link .icon{font-size:1em}.nav-screen-dropdown .dropdown-item{color:inherit;line-height:1.7rem}.nav-screen-dropdown .dropdown-subtitle{margin:0;padding-inline-start:.25rem;color:var(--grey-light);font-weight:600;font-size:.75rem;line-height:2;text-transform:uppercase}.nav-screen-dropdown .dropdown-subtitle .nav-link{padding:0}.nav-screen-dropdown .dropdown-subitem-wrapper{margin:0;padding:0;list-style:none}.nav-screen-dropdown .dropdown-subitem{padding-inline-start:.5rem;font-size:.9em}.nav-screen-links{display:none;padding-bottom:.75rem}@media (max-width: 719px){.nav-screen-links{display:block}}.nav-screen-links .navbar-links-item{position:relative;display:block;padding:12px 4px 11px 0;border-bottom:1px solid var(--border-color);font-size:16px;line-height:1.5rem}.nav-screen-links .nav-link{display:inline-block;width:100%;color:var(--grey-dark);font-weight:400}.nav-screen-links .nav-link:hover{color:var(--text-color)}.nav-screen-links .nav-link.active{color:var(--theme-color)}.vp-nav-screen-container{max-width:320px;margin:0 auto;padding:2rem 0 4rem}#nav-screen{position:fixed;inset:var(--navbar-height) 0 0 0;z-index:150;display:none;overflow-y:auto;padding:0 2rem;background:var(--bg-color)}@media (max-width: 719px){#nav-screen{display:block}}#nav-screen.fade-enter-active,#nav-screen.fade-leave-active{transition:opacity .25s}#nav-screen.fade-enter-active .vp-nav-screen-container,#nav-screen.fade-leave-active .vp-nav-screen-container{transition:transform .25s ease}#nav-screen.fade-enter-from,#nav-screen.fade-leave-to{opacity:0}#nav-screen.fade-enter-from .vp-nav-screen-container,#nav-screen.fade-leave-to .vp-nav-screen-container{transform:translateY(-8px)}#nav-screen .icon{margin-inline-end:.25em;font-size:1em}#nav-screen img.icon{vertical-align:-.125em;height:1em}.vp-outlook-wrapper{display:flex;justify-content:space-around}.vp-nav-logo{vertical-align:top;height:var(--navbar-line-height);margin-inline-end:.8rem}.vp-nav-logo.light{display:inline-block}.vp-nav-logo.dark,html[data-theme=dark] .vp-nav-logo.light{display:none}html[data-theme=dark] .vp-nav-logo.dark{display:inline-block}.vp-site-name{position:relative;color:var(--text-color);font-size:1.25rem}@media (max-width: 719px){.vp-site-name{overflow:hidden;width:calc(100vw - 9.4rem);text-overflow:ellipsis;white-space:nowrap}}.vp-brand:hover .vp-site-name{color:var(--theme-color)}.vp-navbar .vp-nav-links{display:flex;align-items:center;font-size:.875rem}.vp-navbar .vp-nav-item{position:relative;margin:0 .25rem;line-height:2rem}.vp-navbar .vp-nav-item:first-child{margin-inline-start:0}.vp-navbar .vp-nav-item:last-child{margin-inline-end:0}.vp-navbar .vp-nav-item>.nav-link{color:var(--grey-dark)}.vp-navbar .vp-nav-item>.nav-link:after{content:" ";position:absolute;inset:auto 50% 0;height:2px;border-radius:1px;background:var(--theme-color-light);visibility:hidden;transition:inset .2s ease-in-out}.vp-navbar .vp-nav-item>.nav-link.active{color:var(--theme-color)}.vp-navbar .vp-nav-item>.nav-link:hover:after,.vp-navbar .vp-nav-item>.nav-link.active:after{inset:auto 0 0;visibility:visible}.vp-navbar{--navbar-line-height: calc( var(--navbar-height) - var(--navbar-vertical-padding) * 2 );position:fixed;inset:0 0 auto;z-index:175;display:flex;align-items:center;justify-content:space-between;box-sizing:border-box;height:var(--navbar-height);padding:var(--navbar-vertical-padding) var(--navbar-horizontal-padding);background:var(--navbar-bg-color);box-shadow:0 2px 8px var(--card-shadow);line-height:var(--navbar-line-height);white-space:nowrap;transition:transform var(--transform-transition);-webkit-backdrop-filter:saturate(150%) blur(12px);backdrop-filter:saturate(150%) blur(12px)}@media print{.vp-navbar{display:none}}.hide-navbar .vp-navbar.auto-hide{transform:translateY(-100%)}.vp-navbar .nav-link{padding:0 .25rem;color:var(--grey-dark)}.vp-navbar .nav-link.active{color:var(--theme-color)}.vp-navbar .nav-link .icon{margin-inline-end:.25em;font-size:1em}.vp-navbar .nav-link img.icon{vertical-align:-.125em;height:1em}.vp-navbar.hide-icon .vp-nav-links .icon{display:none!important}.vp-navbar-start,.vp-navbar-end,.vp-navbar-center{display:flex;flex:1;align-items:center}.vp-navbar-start>*,.vp-navbar-end>*,.vp-navbar-center>*{position:relative;margin:0 .25rem!important}.vp-navbar-start>*:first-child,.vp-navbar-end>*:first-child,.vp-navbar-center>*:first-child{margin-inline-start:0!important}.vp-navbar-start>*:last-child,.vp-navbar-end>*:last-child,.vp-navbar-center>*:last-child{margin-inline-end:0!important}.vp-navbar-start{justify-content:start}.vp-navbar-center{justify-content:center}.vp-navbar-end{justify-content:end}.vp-navbar .vp-action{margin:0!important}.vp-navbar .vp-action-link{display:inline-block;margin:auto;padding:6px;color:var(--grey-dark);line-height:1}.vp-navbar .vp-action-link:hover,.vp-navbar .vp-action-link:active{color:var(--theme-color)}.vp-toggle-navbar-button{border-width:0;background:transparent;cursor:pointer;position:relative;display:none;align-items:center;justify-content:center;padding:6px}@media screen and (max-width: 719px){.vp-toggle-navbar-button{display:flex}}.vp-toggle-navbar-button>span{position:relative;overflow:hidden;width:16px;height:14px}.vp-toggle-navbar-button .vp-top,.vp-toggle-navbar-button .vp-middle,.vp-toggle-navbar-button .vp-bottom{position:absolute;width:16px;height:2px;background:var(--grey-dark);transition:top .25s,background .5s,transform .25s}.vp-toggle-navbar-button .vp-top{top:0;left:0;transform:translate(0)}.vp-toggle-navbar-button .vp-middle{top:6px;left:0;transform:translate(8px)}.vp-toggle-navbar-button .vp-bottom{top:12px;left:0;transform:translate(4px)}.vp-toggle-navbar-button:hover .vp-top{top:0;left:0;transform:translate(4px)}.vp-toggle-navbar-button:hover .vp-middle{top:6;left:0;transform:translate(0)}.vp-toggle-navbar-button:hover .vp-bottom{top:12px;left:0;transform:translate(8px)}.vp-toggle-navbar-button.is-active .vp-top{top:6px;transform:translate(0) rotate(225deg)}.vp-toggle-navbar-button.is-active .vp-middle{top:6px;transform:translate(16px)}.vp-toggle-navbar-button.is-active .vp-bottom{top:6px;transform:translate(0) rotate(135deg)}.vp-toggle-navbar-button.is-active:hover .vp-top,.vp-toggle-navbar-button.is-active:hover .vp-middle,.vp-toggle-navbar-button.is-active:hover .vp-bottom{background:var(--theme-color);transition:top .25s,background .25s,transform .25s}.vp-toggle-sidebar-button{border-width:0;background:transparent;cursor:pointer;display:none;vertical-align:middle;box-sizing:content-box;width:1rem;height:1rem;padding:.5rem;font:unset;transition:transform .2s ease-in-out}@media screen and (max-width: 719px){.vp-toggle-sidebar-button{display:block;padding-inline-end:var(--navbar-mobile-horizontal-padding)}}.vp-toggle-sidebar-button:before,.vp-toggle-sidebar-button:after,.vp-toggle-sidebar-button .icon{display:block;width:100%;height:2px;border-radius:.05em;background:var(--grey-dark);transition:transform .2s ease-in-out}.vp-toggle-sidebar-button:before{content:" ";margin-top:.125em}.sidebar-open .vp-toggle-sidebar-button:before{transform:translateY(.34rem) rotate(135deg)}.vp-toggle-sidebar-button:after{content:" ";margin-bottom:.125em}.sidebar-open .vp-toggle-sidebar-button:after{transform:translateY(-.34rem) rotate(-135deg)}.vp-toggle-sidebar-button .icon{margin:.2em 0}.sidebar-open .vp-toggle-sidebar-button .icon{transform:scale(0)}.appearance-title{display:block;margin:0;padding:0 .25rem;color:var(--grey-light);font-weight:600;font-size:.75rem;line-height:2}#appearance-switch{border-width:0;background:transparent;vertical-align:middle;padding:6px;color:var(--grey-dark);cursor:pointer;transition:color var(--color-transition)}#appearance-switch:hover{color:var(--theme-color)}#appearance-switch .icon{width:1.25rem;height:1.25rem}.outlook-button{border-width:0;background:transparent;cursor:pointer;position:relative;padding:.375rem;color:var(--grey-dark)}.outlook-button .icon{vertical-align:middle;width:1.25rem;height:1.25rem}.outlook-dropdown{position:absolute;top:100%;inset-inline-end:0;overflow-y:auto;box-sizing:border-box;min-width:100px;margin:0;padding:.5rem .75rem;border:1px solid var(--grey14);border-radius:.25rem;background:var(--bg-color);box-shadow:2px 2px 10px var(--card-shadow);text-align:start;white-space:nowrap;opacity:0;visibility:hidden;transition:all .18s ease-out;transform:scale(.8)}.outlook-dropdown>*:not(:last-child){padding-bottom:.5rem;border-bottom:1px solid var(--grey14)}.outlook-button:hover .outlook-dropdown,.outlook-button.open .outlook-dropdown{z-index:2;opacity:1;visibility:visible;transform:scale(1)}.theme-color-title{display:block;margin:0;padding:0 .25rem;color:var(--grey-light);font-weight:600;font-size:.75rem;line-height:2}#theme-color-picker{display:flex;margin:0;padding:0;list-style-type:none;font-size:14px}#theme-color-picker li span{display:inline-block;vertical-align:middle;width:15px;height:15px;margin:0 2px;border-radius:2px}#theme-color-picker li span.theme-color,#theme-color-picker li span.theme-color html[data-theme=dark]{background:#960018}@media print{.full-screen-wrapper{display:none}}.full-screen-title{display:block;margin:0;padding:0 .25rem;color:var(--grey-light);font-weight:600;font-size:.75rem;line-height:2}.full-screen,.cancel-full-screen{border-width:0;background:transparent;vertical-align:middle;padding:.375rem;color:var(--grey-dark);cursor:pointer}.full-screen:hover,.cancel-full-screen:hover{color:var(--theme-color)}.full-screen .icon,.cancel-full-screen .icon{width:1.25rem;height:1.25rem}.enter-fullscreen-icon:hover,.cancel-fullscreen-icon{color:var(--theme-color)}.cancel-fullscreen-icon:hover{color:var(--grey-dark)}.vp-sidebar-header{display:flex;align-items:center;overflow:hidden;box-sizing:border-box;width:calc(100% - 1rem);margin:0;margin-inline:.5rem;padding:.25rem .5rem;border-width:0;border-radius:.375rem;background:transparent;color:var(--text-color);font-size:1.1em;line-height:1.5;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:color .15s ease;transform:rotate(0)}.vp-sidebar-header.open{color:inherit}.vp-sidebar-header.clickable:hover{background:var(--bg-color-secondary)}.vp-sidebar-header.clickable.exact{border-inline-start-color:var(--theme-color);color:var(--theme-color)}.vp-sidebar-header.clickable.exact a{color:inherit}.vp-sidebar-header .vp-sidebar-title{flex:1}.vp-sidebar-header .vp-arrow{display:inline-block;vertical-align:middle;width:1em;height:1em;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(0,0,0,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E");background-position:center;background-repeat:no-repeat;line-height:normal;transition:all .3s;font-size:1.5em}html[data-theme=dark] .vp-sidebar-header .vp-arrow{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(255,255,255,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E")}.vp-sidebar-header .vp-arrow.down{transform:rotate(180deg)}html[dir=rtl] .vp-sidebar-header .vp-arrow.down{transform:rotate(-180deg)}.vp-sidebar-header .vp-arrow.end{transform:rotate(90deg)}html[dir=rtl] .vp-sidebar-header .vp-arrow.end,.vp-sidebar-header .vp-arrow.start{transform:rotate(-90deg)}html[dir=rtl] .vp-sidebar-header .vp-arrow.start{transform:rotate(90deg)}button.vp-sidebar-header{outline:none;font-weight:inherit;font-family:inherit;line-height:inherit;text-align:start;cursor:pointer}.vp-sidebar-link{display:inline-block;box-sizing:border-box;width:calc(100% - 1rem);margin-inline:.5rem;padding:.25rem .5rem;border-radius:.375rem;color:var(--text-color);font-weight:400;font-size:1em;line-height:1.5}.vp-sidebar-link:hover{background:var(--bg-color-secondary)}.vp-sidebar-link.active{background:var(--theme-color-mask);color:var(--theme-color);font-weight:500}.vp-sidebar-link.active .icon{color:var(--theme-color)}.vp-sidebar-group:not(.collapsible) .vp-sidebar-header:not(.clickable){color:inherit;cursor:auto}.vp-sidebar-group .vp-sidebar-group{padding-inline-start:.75rem}.vp-sidebar-group .vp-sidebar-group .vp-sidebar-header{font-size:1em}.vp-sidebar-group .vp-sidebar-link{padding-inline-start:1.25rem}.vp-sidebar-links,.vp-sidebar-links ul{margin:0;padding:0}.vp-sidebar-links li{list-style-type:none}.vp-sidebar>.vp-sidebar-links{padding:1.5rem 0}@media (max-width: 719px){.vp-sidebar>.vp-sidebar-links{padding:1rem 0}}.vp-sidebar>.vp-sidebar-links>li>.vp-sidebar-link{font-size:1.1em}.vp-sidebar>.vp-sidebar-links>li:not(:first-child){margin-top:.5rem}.vp-sidebar{position:fixed;top:0;bottom:0;inset-inline-start:0;z-index:1;overflow-y:auto;width:var(--sidebar-width);margin:0;padding-inline-start:calc(var(--sidebar-space) - var(--sidebar-width));background:var(--sidebar-bg-color);box-shadow:2px 0 8px var(--card-shadow);font-size:.94rem;transition:padding var(--transform-transition),transform var(--transform-transition);-webkit-backdrop-filter:saturate(150%) blur(12px);backdrop-filter:saturate(150%) blur(12px);scrollbar-color:var(--theme-color) var(--border-color);scrollbar-width:thin}@media (max-width: 959px){.vp-sidebar{font-size:.86em}}@media (max-width: 719px){.vp-sidebar{z-index:125;box-shadow:none;transform:translate(-100%)}html[dir=rtl] .vp-sidebar{transform:translate(100%)}}@media (min-width: 1440px){.vp-sidebar{padding-bottom:3rem;box-shadow:none;font-size:1rem}}@media print{.vp-sidebar{display:none}}.vp-sidebar a{display:inline-block;color:var(--text-color);font-weight:400}.vp-sidebar .icon{margin-inline-end:.25em;font-size:1em}.vp-sidebar img.icon{vertical-align:-.125em;height:1em}.vp-sidebar.hide-icon .icon{display:none!important}.vp-sidebar-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9;background:#00000026}.vp-sidebar-mask.fade-enter-active,.vp-sidebar-mask.fade-leave-active{transition:opacity .25s}.vp-sidebar-mask.fade-enter-from,.vp-sidebar-mask.fade-leave-to{opacity:0}.vp-site-name{visibility:hidden}.vp-hero-info img{max-width:60%!important;padding:1rem}.vp-actions{align-items:flex-end}.search-pro-result-wrapper{scrollbar-color:var(--vp-tc) var(--vp-brc);scrollbar-width:thin}@media (max-width: 419px){.search-pro-result-wrapper{font-size:14px}}.search-pro-result-wrapper::-webkit-scrollbar{width:6px;height:6px}.search-pro-result-wrapper::-webkit-scrollbar-track-piece{border-radius:6px;background:#0000001a}.search-pro-result-wrapper::-webkit-scrollbar-thumb{border-radius:6px;background:var(--vp-tc)}.search-pro-result-wrapper::-webkit-scrollbar-thumb:active{background:var(--vp-tcl)}.search-pro-result-wrapper mark{border-radius:.25em;line-height:1}.search-pro-result-list{margin:0;padding:0}.search-pro-result-list-item{display:block;list-style:none}.search-pro-result-title{position:sticky;top:-2px;z-index:10;margin:-4px;margin-bottom:.25rem;padding:4px;background:var(--vp-bg);color:var(--vp-tc);font-weight:600;font-size:.85em;line-height:2rem;text-indent:.5em}.search-pro-result-item.active .search-pro-result-title{color:var(--vp-tc)}.search-pro-result-type{display:block;width:1rem;height:1rem;margin-inline-start:-.5rem;padding:.5rem;color:var(--vp-tc)}.search-pro-remove-icon{border-width:0;background:transparent;cursor:pointer;box-sizing:content-box;height:1.5rem;padding:0;border-radius:50%;color:var(--vp-tc);font-size:1rem}.search-pro-remove-icon svg{width:1.5rem;height:1.5rem}.search-pro-remove-icon:hover{background:#8080804d}.search-pro-result-content{display:flex;flex-grow:1;flex-direction:column;align-items:stretch;justify-content:center;line-height:1.5}.search-pro-result-content .content-header{margin-bottom:.25rem;border-bottom:1px solid var(--vp-brcd);font-size:.9em}.search-pro-result-item{display:flex;align-items:center;margin:.5rem 0;padding:.5rem .75rem;border-radius:.25rem;background:var(--vp-bgl);color:inherit;box-shadow:0 1px 3px 0 var(--card-shadow);font-weight:400;white-space:pre-wrap;word-wrap:break-word}.search-pro-result-item strong{color:var(--vp-tc)}.search-pro-result-item:hover,.search-pro-result-item.active{background-color:var(--vp-tcl);color:var(--white);cursor:pointer}.search-pro-result-item:hover .search-pro-result-type,.search-pro-result-item:hover .search-pro-remove-icon,.search-pro-result-item:hover strong,.search-pro-result-item.active .search-pro-result-type,.search-pro-result-item.active .search-pro-remove-icon,.search-pro-result-item.active strong{color:var(--white)} diff --git a/assets/styles-3ed67cfa-BKeeaGoI.js b/assets/styles-3ed67cfa-DgRYFxrn.js similarity index 98% rename from assets/styles-3ed67cfa-BKeeaGoI.js rename to assets/styles-3ed67cfa-DgRYFxrn.js index e854c52..69d9a6e 100644 --- a/assets/styles-3ed67cfa-BKeeaGoI.js +++ b/assets/styles-3ed67cfa-DgRYFxrn.js @@ -1,4 +1,4 @@ -import{G as R}from"./graph-GEpVUbdH.js";import{ab as z,ac as F,ad as j,ae as U,a9 as H,p as A,l as g,q as K,c as S,j as G,r as q,t as E,o as L,h as C,z as W,u as X,af as J}from"./mermaid.core-DtSoU78u.js";import{r as Q}from"./index-fc10efb0-D8efEc6S.js";import{c as Y}from"./channel-CAAfQTsA.js";function Z(e){return typeof e=="string"?new z([document.querySelectorAll(e)],[document.documentElement]):new z([j(e)],F)}function pe(e,l){return!!e.children(l).length}function be(e){return N(e.v)+":"+N(e.w)+":"+N(e.name)}var O=/:/g;function N(e){return e?String(e).replace(O,"\\:"):""}function ee(e,l){l&&e.attr("style",l)}function fe(e,l,c){l&&e.attr("class",l).attr("class",c+" "+e.attr("class"))}function ue(e,l){var c=l.graph();if(U(c)){var a=c.transition;if(H(a))return a(e)}return e}function te(e,l){var c=e.append("foreignObject").attr("width","100000"),a=c.append("xhtml:div");a.attr("xmlns","http://www.w3.org/1999/xhtml");var i=l.label;switch(typeof i){case"function":a.insert(i);break;case"object":a.insert(function(){return i});break;default:a.html(i)}ee(a,l.labelStyle),a.style("display","inline-block"),a.style("white-space","nowrap");var d=a.node().getBoundingClientRect();return c.attr("width",d.width).attr("height",d.height),c}const P={},re=function(e){const l=Object.keys(e);for(const c of l)P[c]=e[c]},V=async function(e,l,c,a,i,d){const u=a.select(`[id="${c}"]`),n=Object.keys(e);for(const p of n){const r=e[p];let y="default";r.classes.length>0&&(y=r.classes.join(" ")),y=y+" flowchart-label";const w=A(r.styles);let t=r.text!==void 0?r.text:r.id,s;if(g.info("vertex",r,r.labelType),r.labelType==="markdown")g.info("vertex",r,r.labelType);else if(K(S().flowchart.htmlLabels))s=te(u,{label:t}).node(),s.parentNode.removeChild(s);else{const k=i.createElementNS("http://www.w3.org/2000/svg","text");k.setAttribute("style",w.labelStyle.replace("color:","fill:"));const _=t.split(G.lineBreakRegex);for(const $ of _){const v=i.createElementNS("http://www.w3.org/2000/svg","tspan");v.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),v.setAttribute("dy","1em"),v.setAttribute("x","1"),v.textContent=$,k.appendChild(v)}s=k}let b=0,o="";switch(r.type){case"round":b=5,o="rect";break;case"square":o="rect";break;case"diamond":o="question";break;case"hexagon":o="hexagon";break;case"odd":o="rect_left_inv_arrow";break;case"lean_right":o="lean_right";break;case"lean_left":o="lean_left";break;case"trapezoid":o="trapezoid";break;case"inv_trapezoid":o="inv_trapezoid";break;case"odd_right":o="rect_left_inv_arrow";break;case"circle":o="circle";break;case"ellipse":o="ellipse";break;case"stadium":o="stadium";break;case"subroutine":o="subroutine";break;case"cylinder":o="cylinder";break;case"group":o="rect";break;case"doublecircle":o="doublecircle";break;default:o="rect"}const T=await q(t,S());l.setNode(r.id,{labelStyle:w.labelStyle,shape:o,labelText:T,labelType:r.labelType,rx:b,ry:b,class:y,style:w.style,id:r.id,link:r.link,linkTarget:r.linkTarget,tooltip:d.db.getTooltip(r.id)||"",domId:d.db.lookUpDomId(r.id),haveCallback:r.haveCallback,width:r.type==="group"?500:void 0,dir:r.dir,type:r.type,props:r.props,padding:S().flowchart.padding}),g.info("setNode",{labelStyle:w.labelStyle,labelType:r.labelType,shape:o,labelText:T,rx:b,ry:b,class:y,style:w.style,id:r.id,domId:d.db.lookUpDomId(r.id),width:r.type==="group"?500:void 0,type:r.type,dir:r.dir,props:r.props,padding:S().flowchart.padding})}},M=async function(e,l,c){g.info("abc78 edges = ",e);let a=0,i={},d,u;if(e.defaultStyle!==void 0){const n=A(e.defaultStyle);d=n.style,u=n.labelStyle}for(const n of e){a++;const p="L-"+n.start+"-"+n.end;i[p]===void 0?(i[p]=0,g.info("abc78 new entry",p,i[p])):(i[p]++,g.info("abc78 new entry",p,i[p]));let r=p+"-"+i[p];g.info("abc78 new link id to be used is",p,r,i[p]);const y="LS-"+n.start,w="LE-"+n.end,t={style:"",labelStyle:""};switch(t.minlen=n.length||1,n.type==="arrow_open"?t.arrowhead="none":t.arrowhead="normal",t.arrowTypeStart="arrow_open",t.arrowTypeEnd="arrow_open",n.type){case"double_arrow_cross":t.arrowTypeStart="arrow_cross";case"arrow_cross":t.arrowTypeEnd="arrow_cross";break;case"double_arrow_point":t.arrowTypeStart="arrow_point";case"arrow_point":t.arrowTypeEnd="arrow_point";break;case"double_arrow_circle":t.arrowTypeStart="arrow_circle";case"arrow_circle":t.arrowTypeEnd="arrow_circle";break}let s="",b="";switch(n.stroke){case"normal":s="fill:none;",d!==void 0&&(s=d),u!==void 0&&(b=u),t.thickness="normal",t.pattern="solid";break;case"dotted":t.thickness="normal",t.pattern="dotted",t.style="fill:none;stroke-width:2px;stroke-dasharray:3;";break;case"thick":t.thickness="thick",t.pattern="solid",t.style="stroke-width: 3.5px;fill:none;";break;case"invisible":t.thickness="invisible",t.pattern="solid",t.style="stroke-width: 0;fill:none;";break}if(n.style!==void 0){const o=A(n.style);s=o.style,b=o.labelStyle}t.style=t.style+=s,t.labelStyle=t.labelStyle+=b,n.interpolate!==void 0?t.curve=E(n.interpolate,L):e.defaultInterpolate!==void 0?t.curve=E(e.defaultInterpolate,L):t.curve=E(P.curve,L),n.text===void 0?n.style!==void 0&&(t.arrowheadStyle="fill: #333"):(t.arrowheadStyle="fill: #333",t.labelpos="c"),t.labelType=n.labelType,t.label=await q(n.text.replace(G.lineBreakRegex,` +import{G as R}from"./graph-BqpiDEwF.js";import{ab as z,ac as F,ad as j,ae as U,a9 as H,p as A,l as g,q as K,c as S,j as G,r as q,t as E,o as L,h as C,z as W,u as X,af as J}from"./mermaid.core-C-ipfzeP.js";import{r as Q}from"./index-fc10efb0-CM7qMuFy.js";import{c as Y}from"./channel-DIrwI8QF.js";function Z(e){return typeof e=="string"?new z([document.querySelectorAll(e)],[document.documentElement]):new z([j(e)],F)}function pe(e,l){return!!e.children(l).length}function be(e){return N(e.v)+":"+N(e.w)+":"+N(e.name)}var O=/:/g;function N(e){return e?String(e).replace(O,"\\:"):""}function ee(e,l){l&&e.attr("style",l)}function fe(e,l,c){l&&e.attr("class",l).attr("class",c+" "+e.attr("class"))}function ue(e,l){var c=l.graph();if(U(c)){var a=c.transition;if(H(a))return a(e)}return e}function te(e,l){var c=e.append("foreignObject").attr("width","100000"),a=c.append("xhtml:div");a.attr("xmlns","http://www.w3.org/1999/xhtml");var i=l.label;switch(typeof i){case"function":a.insert(i);break;case"object":a.insert(function(){return i});break;default:a.html(i)}ee(a,l.labelStyle),a.style("display","inline-block"),a.style("white-space","nowrap");var d=a.node().getBoundingClientRect();return c.attr("width",d.width).attr("height",d.height),c}const P={},re=function(e){const l=Object.keys(e);for(const c of l)P[c]=e[c]},V=async function(e,l,c,a,i,d){const u=a.select(`[id="${c}"]`),n=Object.keys(e);for(const p of n){const r=e[p];let y="default";r.classes.length>0&&(y=r.classes.join(" ")),y=y+" flowchart-label";const w=A(r.styles);let t=r.text!==void 0?r.text:r.id,s;if(g.info("vertex",r,r.labelType),r.labelType==="markdown")g.info("vertex",r,r.labelType);else if(K(S().flowchart.htmlLabels))s=te(u,{label:t}).node(),s.parentNode.removeChild(s);else{const k=i.createElementNS("http://www.w3.org/2000/svg","text");k.setAttribute("style",w.labelStyle.replace("color:","fill:"));const _=t.split(G.lineBreakRegex);for(const $ of _){const v=i.createElementNS("http://www.w3.org/2000/svg","tspan");v.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),v.setAttribute("dy","1em"),v.setAttribute("x","1"),v.textContent=$,k.appendChild(v)}s=k}let b=0,o="";switch(r.type){case"round":b=5,o="rect";break;case"square":o="rect";break;case"diamond":o="question";break;case"hexagon":o="hexagon";break;case"odd":o="rect_left_inv_arrow";break;case"lean_right":o="lean_right";break;case"lean_left":o="lean_left";break;case"trapezoid":o="trapezoid";break;case"inv_trapezoid":o="inv_trapezoid";break;case"odd_right":o="rect_left_inv_arrow";break;case"circle":o="circle";break;case"ellipse":o="ellipse";break;case"stadium":o="stadium";break;case"subroutine":o="subroutine";break;case"cylinder":o="cylinder";break;case"group":o="rect";break;case"doublecircle":o="doublecircle";break;default:o="rect"}const T=await q(t,S());l.setNode(r.id,{labelStyle:w.labelStyle,shape:o,labelText:T,labelType:r.labelType,rx:b,ry:b,class:y,style:w.style,id:r.id,link:r.link,linkTarget:r.linkTarget,tooltip:d.db.getTooltip(r.id)||"",domId:d.db.lookUpDomId(r.id),haveCallback:r.haveCallback,width:r.type==="group"?500:void 0,dir:r.dir,type:r.type,props:r.props,padding:S().flowchart.padding}),g.info("setNode",{labelStyle:w.labelStyle,labelType:r.labelType,shape:o,labelText:T,rx:b,ry:b,class:y,style:w.style,id:r.id,domId:d.db.lookUpDomId(r.id),width:r.type==="group"?500:void 0,type:r.type,dir:r.dir,props:r.props,padding:S().flowchart.padding})}},M=async function(e,l,c){g.info("abc78 edges = ",e);let a=0,i={},d,u;if(e.defaultStyle!==void 0){const n=A(e.defaultStyle);d=n.style,u=n.labelStyle}for(const n of e){a++;const p="L-"+n.start+"-"+n.end;i[p]===void 0?(i[p]=0,g.info("abc78 new entry",p,i[p])):(i[p]++,g.info("abc78 new entry",p,i[p]));let r=p+"-"+i[p];g.info("abc78 new link id to be used is",p,r,i[p]);const y="LS-"+n.start,w="LE-"+n.end,t={style:"",labelStyle:""};switch(t.minlen=n.length||1,n.type==="arrow_open"?t.arrowhead="none":t.arrowhead="normal",t.arrowTypeStart="arrow_open",t.arrowTypeEnd="arrow_open",n.type){case"double_arrow_cross":t.arrowTypeStart="arrow_cross";case"arrow_cross":t.arrowTypeEnd="arrow_cross";break;case"double_arrow_point":t.arrowTypeStart="arrow_point";case"arrow_point":t.arrowTypeEnd="arrow_point";break;case"double_arrow_circle":t.arrowTypeStart="arrow_circle";case"arrow_circle":t.arrowTypeEnd="arrow_circle";break}let s="",b="";switch(n.stroke){case"normal":s="fill:none;",d!==void 0&&(s=d),u!==void 0&&(b=u),t.thickness="normal",t.pattern="solid";break;case"dotted":t.thickness="normal",t.pattern="dotted",t.style="fill:none;stroke-width:2px;stroke-dasharray:3;";break;case"thick":t.thickness="thick",t.pattern="solid",t.style="stroke-width: 3.5px;fill:none;";break;case"invisible":t.thickness="invisible",t.pattern="solid",t.style="stroke-width: 0;fill:none;";break}if(n.style!==void 0){const o=A(n.style);s=o.style,b=o.labelStyle}t.style=t.style+=s,t.labelStyle=t.labelStyle+=b,n.interpolate!==void 0?t.curve=E(n.interpolate,L):e.defaultInterpolate!==void 0?t.curve=E(e.defaultInterpolate,L):t.curve=E(P.curve,L),n.text===void 0?n.style!==void 0&&(t.arrowheadStyle="fill: #333"):(t.arrowheadStyle="fill: #333",t.labelpos="c"),t.labelType=n.labelType,t.label=await q(n.text.replace(G.lineBreakRegex,` `),S()),n.style===void 0&&(t.style=t.style||"stroke: #333; stroke-width: 1.5px;fill:none;"),t.labelStyle=t.labelStyle.replace("color:","fill:"),t.id=r,t.classes="flowchart-link "+y+" "+w,l.setEdge(n.start,n.end,t,a)}},le=function(e,l){return l.db.getClasses()},ae=async function(e,l,c,a){g.info("Drawing flowchart");let i=a.db.getDirection();i===void 0&&(i="TD");const{securityLevel:d,flowchart:u}=S(),n=u.nodeSpacing||50,p=u.rankSpacing||50;let r;d==="sandbox"&&(r=C("#i"+l));const y=d==="sandbox"?C(r.nodes()[0].contentDocument.body):C("body"),w=d==="sandbox"?r.nodes()[0].contentDocument:document,t=new R({multigraph:!0,compound:!0}).setGraph({rankdir:i,nodesep:n,ranksep:p,marginx:0,marginy:0}).setDefaultEdgeLabel(function(){return{}});let s;const b=a.db.getSubGraphs();g.info("Subgraphs - ",b);for(let f=b.length-1;f>=0;f--)s=b[f],g.info("Subgraph - ",s),a.db.addVertex(s.id,{text:s.title,type:s.labelType},"group",void 0,s.classes,s.dir);const o=a.db.getVertices(),T=a.db.getEdges();g.info("Edges",T);let k=0;for(k=b.length-1;k>=0;k--){s=b[k],Z("cluster").append("text");for(let f=0;f{const c=Y,a=c(e,"r"),i=c(e,"g"),d=c(e,"b");return J(a,i,d,l)},ne=e=>`.label { font-family: ${e.fontFamily}; color: ${e.nodeTextColor||e.textColor}; diff --git a/assets/styles-991ebdfc-DtQmJnxz.js b/assets/styles-991ebdfc-BNUFY_Cz.js similarity index 99% rename from assets/styles-991ebdfc-DtQmJnxz.js rename to assets/styles-991ebdfc-BNUFY_Cz.js index 4c903a2..d339a3f 100644 --- a/assets/styles-991ebdfc-DtQmJnxz.js +++ b/assets/styles-991ebdfc-BNUFY_Cz.js @@ -1,4 +1,4 @@ -import{s as ut,g as rt,a as at,b as lt,c as F,x as ct,y as ot,j as v,A as ht,l as At,z as We,h as z,d as pt,as as Re}from"./mermaid.core-DtSoU78u.js";var Ve=function(){var e=function(x,u,a,h){for(a=a||{},h=x.length;h--;a[x[h]]=u);return a},i=[1,17],r=[1,18],l=[1,19],o=[1,39],A=[1,40],g=[1,25],D=[1,23],B=[1,24],_=[1,31],fe=[1,32],de=[1,33],Ee=[1,34],Ce=[1,35],me=[1,36],be=[1,26],ge=[1,27],ke=[1,28],Te=[1,29],d=[1,43],Fe=[1,30],E=[1,42],C=[1,44],m=[1,41],k=[1,45],ye=[1,9],c=[1,8,9],Y=[1,56],j=[1,57],Q=[1,58],X=[1,59],H=[1,60],De=[1,61],Be=[1,62],W=[1,8,9,39],Ge=[1,74],M=[1,8,9,12,13,21,37,39,42,59,60,61,62,63,64,65,70,72],q=[1,8,9,12,13,19,21,37,39,42,46,59,60,61,62,63,64,65,70,72,74,80,95,97,98],J=[13,74,80,95,97,98],G=[13,64,65,74,80,95,97,98],Ue=[13,59,60,61,62,63,74,80,95,97,98],_e=[1,93],Z=[1,110],$=[1,108],ee=[1,102],te=[1,103],se=[1,104],ie=[1,105],ne=[1,106],ue=[1,107],re=[1,109],Se=[1,8,9,37,39,42],ae=[1,8,9,21],ze=[1,8,9,78],S=[1,8,9,21,73,74,78,80,81,82,83,84,85],Ne={trace:function(){},yy:{},symbols_:{error:2,start:3,mermaidDoc:4,statements:5,graphConfig:6,CLASS_DIAGRAM:7,NEWLINE:8,EOF:9,statement:10,classLabel:11,SQS:12,STR:13,SQE:14,namespaceName:15,alphaNumToken:16,className:17,classLiteralName:18,GENERICTYPE:19,relationStatement:20,LABEL:21,namespaceStatement:22,classStatement:23,memberStatement:24,annotationStatement:25,clickStatement:26,styleStatement:27,cssClassStatement:28,noteStatement:29,direction:30,acc_title:31,acc_title_value:32,acc_descr:33,acc_descr_value:34,acc_descr_multiline_value:35,namespaceIdentifier:36,STRUCT_START:37,classStatements:38,STRUCT_STOP:39,NAMESPACE:40,classIdentifier:41,STYLE_SEPARATOR:42,members:43,CLASS:44,ANNOTATION_START:45,ANNOTATION_END:46,MEMBER:47,SEPARATOR:48,relation:49,NOTE_FOR:50,noteText:51,NOTE:52,direction_tb:53,direction_bt:54,direction_rl:55,direction_lr:56,relationType:57,lineType:58,AGGREGATION:59,EXTENSION:60,COMPOSITION:61,DEPENDENCY:62,LOLLIPOP:63,LINE:64,DOTTED_LINE:65,CALLBACK:66,LINK:67,LINK_TARGET:68,CLICK:69,CALLBACK_NAME:70,CALLBACK_ARGS:71,HREF:72,STYLE:73,ALPHA:74,stylesOpt:75,CSSCLASS:76,style:77,COMMA:78,styleComponent:79,NUM:80,COLON:81,UNIT:82,SPACE:83,BRKT:84,PCT:85,commentToken:86,textToken:87,graphCodeTokens:88,textNoTagsToken:89,TAGSTART:90,TAGEND:91,"==":92,"--":93,DEFAULT:94,MINUS:95,keywords:96,UNICODE_TEXT:97,BQUOTE_STR:98,$accept:0,$end:1},terminals_:{2:"error",7:"CLASS_DIAGRAM",8:"NEWLINE",9:"EOF",12:"SQS",13:"STR",14:"SQE",19:"GENERICTYPE",21:"LABEL",31:"acc_title",32:"acc_title_value",33:"acc_descr",34:"acc_descr_value",35:"acc_descr_multiline_value",37:"STRUCT_START",39:"STRUCT_STOP",40:"NAMESPACE",42:"STYLE_SEPARATOR",44:"CLASS",45:"ANNOTATION_START",46:"ANNOTATION_END",47:"MEMBER",48:"SEPARATOR",50:"NOTE_FOR",52:"NOTE",53:"direction_tb",54:"direction_bt",55:"direction_rl",56:"direction_lr",59:"AGGREGATION",60:"EXTENSION",61:"COMPOSITION",62:"DEPENDENCY",63:"LOLLIPOP",64:"LINE",65:"DOTTED_LINE",66:"CALLBACK",67:"LINK",68:"LINK_TARGET",69:"CLICK",70:"CALLBACK_NAME",71:"CALLBACK_ARGS",72:"HREF",73:"STYLE",74:"ALPHA",76:"CSSCLASS",78:"COMMA",80:"NUM",81:"COLON",82:"UNIT",83:"SPACE",84:"BRKT",85:"PCT",88:"graphCodeTokens",90:"TAGSTART",91:"TAGEND",92:"==",93:"--",94:"DEFAULT",95:"MINUS",96:"keywords",97:"UNICODE_TEXT",98:"BQUOTE_STR"},productions_:[0,[3,1],[3,1],[4,1],[6,4],[5,1],[5,2],[5,3],[11,3],[15,1],[15,2],[17,1],[17,1],[17,2],[17,2],[17,2],[10,1],[10,2],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,2],[10,2],[10,1],[22,4],[22,5],[36,2],[38,1],[38,2],[38,3],[23,1],[23,3],[23,4],[23,6],[41,2],[41,3],[25,4],[43,1],[43,2],[24,1],[24,2],[24,1],[24,1],[20,3],[20,4],[20,4],[20,5],[29,3],[29,2],[30,1],[30,1],[30,1],[30,1],[49,3],[49,2],[49,2],[49,1],[57,1],[57,1],[57,1],[57,1],[57,1],[58,1],[58,1],[26,3],[26,4],[26,3],[26,4],[26,4],[26,5],[26,3],[26,4],[26,4],[26,5],[26,4],[26,5],[26,5],[26,6],[27,3],[28,3],[75,1],[75,3],[77,1],[77,2],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[86,1],[86,1],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[89,1],[89,1],[89,1],[89,1],[16,1],[16,1],[16,1],[16,1],[18,1],[51,1]],performAction:function(u,a,h,n,f,t,U){var s=t.length-1;switch(f){case 8:this.$=t[s-1];break;case 9:case 11:case 12:this.$=t[s];break;case 10:case 13:this.$=t[s-1]+t[s];break;case 14:case 15:this.$=t[s-1]+"~"+t[s]+"~";break;case 16:n.addRelation(t[s]);break;case 17:t[s-1].title=n.cleanupLabel(t[s]),n.addRelation(t[s-1]);break;case 27:this.$=t[s].trim(),n.setAccTitle(this.$);break;case 28:case 29:this.$=t[s].trim(),n.setAccDescription(this.$);break;case 30:n.addClassesToNamespace(t[s-3],t[s-1]);break;case 31:n.addClassesToNamespace(t[s-4],t[s-1]);break;case 32:this.$=t[s],n.addNamespace(t[s]);break;case 33:this.$=[t[s]];break;case 34:this.$=[t[s-1]];break;case 35:t[s].unshift(t[s-2]),this.$=t[s];break;case 37:n.setCssClass(t[s-2],t[s]);break;case 38:n.addMembers(t[s-3],t[s-1]);break;case 39:n.setCssClass(t[s-5],t[s-3]),n.addMembers(t[s-5],t[s-1]);break;case 40:this.$=t[s],n.addClass(t[s]);break;case 41:this.$=t[s-1],n.addClass(t[s-1]),n.setClassLabel(t[s-1],t[s]);break;case 42:n.addAnnotation(t[s],t[s-2]);break;case 43:this.$=[t[s]];break;case 44:t[s].push(t[s-1]),this.$=t[s];break;case 45:break;case 46:n.addMember(t[s-1],n.cleanupLabel(t[s]));break;case 47:break;case 48:break;case 49:this.$={id1:t[s-2],id2:t[s],relation:t[s-1],relationTitle1:"none",relationTitle2:"none"};break;case 50:this.$={id1:t[s-3],id2:t[s],relation:t[s-1],relationTitle1:t[s-2],relationTitle2:"none"};break;case 51:this.$={id1:t[s-3],id2:t[s],relation:t[s-2],relationTitle1:"none",relationTitle2:t[s-1]};break;case 52:this.$={id1:t[s-4],id2:t[s],relation:t[s-2],relationTitle1:t[s-3],relationTitle2:t[s-1]};break;case 53:n.addNote(t[s],t[s-1]);break;case 54:n.addNote(t[s]);break;case 55:n.setDirection("TB");break;case 56:n.setDirection("BT");break;case 57:n.setDirection("RL");break;case 58:n.setDirection("LR");break;case 59:this.$={type1:t[s-2],type2:t[s],lineType:t[s-1]};break;case 60:this.$={type1:"none",type2:t[s],lineType:t[s-1]};break;case 61:this.$={type1:t[s-1],type2:"none",lineType:t[s]};break;case 62:this.$={type1:"none",type2:"none",lineType:t[s]};break;case 63:this.$=n.relationType.AGGREGATION;break;case 64:this.$=n.relationType.EXTENSION;break;case 65:this.$=n.relationType.COMPOSITION;break;case 66:this.$=n.relationType.DEPENDENCY;break;case 67:this.$=n.relationType.LOLLIPOP;break;case 68:this.$=n.lineType.LINE;break;case 69:this.$=n.lineType.DOTTED_LINE;break;case 70:case 76:this.$=t[s-2],n.setClickEvent(t[s-1],t[s]);break;case 71:case 77:this.$=t[s-3],n.setClickEvent(t[s-2],t[s-1]),n.setTooltip(t[s-2],t[s]);break;case 72:this.$=t[s-2],n.setLink(t[s-1],t[s]);break;case 73:this.$=t[s-3],n.setLink(t[s-2],t[s-1],t[s]);break;case 74:this.$=t[s-3],n.setLink(t[s-2],t[s-1]),n.setTooltip(t[s-2],t[s]);break;case 75:this.$=t[s-4],n.setLink(t[s-3],t[s-2],t[s]),n.setTooltip(t[s-3],t[s-1]);break;case 78:this.$=t[s-3],n.setClickEvent(t[s-2],t[s-1],t[s]);break;case 79:this.$=t[s-4],n.setClickEvent(t[s-3],t[s-2],t[s-1]),n.setTooltip(t[s-3],t[s]);break;case 80:this.$=t[s-3],n.setLink(t[s-2],t[s]);break;case 81:this.$=t[s-4],n.setLink(t[s-3],t[s-1],t[s]);break;case 82:this.$=t[s-4],n.setLink(t[s-3],t[s-1]),n.setTooltip(t[s-3],t[s]);break;case 83:this.$=t[s-5],n.setLink(t[s-4],t[s-2],t[s]),n.setTooltip(t[s-4],t[s-1]);break;case 84:this.$=t[s-2],n.setCssStyle(t[s-1],t[s]);break;case 85:n.setCssClass(t[s-1],t[s]);break;case 86:this.$=[t[s]];break;case 87:t[s-2].push(t[s]),this.$=t[s-2];break;case 89:this.$=t[s-1]+t[s];break}},table:[{3:1,4:2,5:3,6:4,7:[1,6],10:5,16:37,17:20,18:38,20:7,22:8,23:9,24:10,25:11,26:12,27:13,28:14,29:15,30:16,31:i,33:r,35:l,36:21,40:o,41:22,44:A,45:g,47:D,48:B,50:_,52:fe,53:de,54:Ee,55:Ce,56:me,66:be,67:ge,69:ke,73:Te,74:d,76:Fe,80:E,95:C,97:m,98:k},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,3]},e(ye,[2,5],{8:[1,46]}),{8:[1,47]},e(c,[2,16],{21:[1,48]}),e(c,[2,18]),e(c,[2,19]),e(c,[2,20]),e(c,[2,21]),e(c,[2,22]),e(c,[2,23]),e(c,[2,24]),e(c,[2,25]),e(c,[2,26]),{32:[1,49]},{34:[1,50]},e(c,[2,29]),e(c,[2,45],{49:51,57:54,58:55,13:[1,52],21:[1,53],59:Y,60:j,61:Q,62:X,63:H,64:De,65:Be}),{37:[1,63]},e(W,[2,36],{37:[1,65],42:[1,64]}),e(c,[2,47]),e(c,[2,48]),{16:66,74:d,80:E,95:C,97:m},{16:37,17:67,18:38,74:d,80:E,95:C,97:m,98:k},{16:37,17:68,18:38,74:d,80:E,95:C,97:m,98:k},{16:37,17:69,18:38,74:d,80:E,95:C,97:m,98:k},{74:[1,70]},{13:[1,71]},{16:37,17:72,18:38,74:d,80:E,95:C,97:m,98:k},{13:Ge,51:73},e(c,[2,55]),e(c,[2,56]),e(c,[2,57]),e(c,[2,58]),e(M,[2,11],{16:37,18:38,17:75,19:[1,76],74:d,80:E,95:C,97:m,98:k}),e(M,[2,12],{19:[1,77]}),{15:78,16:79,74:d,80:E,95:C,97:m},{16:37,17:80,18:38,74:d,80:E,95:C,97:m,98:k},e(q,[2,112]),e(q,[2,113]),e(q,[2,114]),e(q,[2,115]),e([1,8,9,12,13,19,21,37,39,42,59,60,61,62,63,64,65,70,72],[2,116]),e(ye,[2,6],{10:5,20:7,22:8,23:9,24:10,25:11,26:12,27:13,28:14,29:15,30:16,17:20,36:21,41:22,16:37,18:38,5:81,31:i,33:r,35:l,40:o,44:A,45:g,47:D,48:B,50:_,52:fe,53:de,54:Ee,55:Ce,56:me,66:be,67:ge,69:ke,73:Te,74:d,76:Fe,80:E,95:C,97:m,98:k}),{5:82,10:5,16:37,17:20,18:38,20:7,22:8,23:9,24:10,25:11,26:12,27:13,28:14,29:15,30:16,31:i,33:r,35:l,36:21,40:o,41:22,44:A,45:g,47:D,48:B,50:_,52:fe,53:de,54:Ee,55:Ce,56:me,66:be,67:ge,69:ke,73:Te,74:d,76:Fe,80:E,95:C,97:m,98:k},e(c,[2,17]),e(c,[2,27]),e(c,[2,28]),{13:[1,84],16:37,17:83,18:38,74:d,80:E,95:C,97:m,98:k},{49:85,57:54,58:55,59:Y,60:j,61:Q,62:X,63:H,64:De,65:Be},e(c,[2,46]),{58:86,64:De,65:Be},e(J,[2,62],{57:87,59:Y,60:j,61:Q,62:X,63:H}),e(G,[2,63]),e(G,[2,64]),e(G,[2,65]),e(G,[2,66]),e(G,[2,67]),e(Ue,[2,68]),e(Ue,[2,69]),{8:[1,89],23:90,38:88,41:22,44:A},{16:91,74:d,80:E,95:C,97:m},{43:92,47:_e},{46:[1,94]},{13:[1,95]},{13:[1,96]},{70:[1,97],72:[1,98]},{21:Z,73:$,74:ee,75:99,77:100,79:101,80:te,81:se,82:ie,83:ne,84:ue,85:re},{74:[1,111]},{13:Ge,51:112},e(c,[2,54]),e(c,[2,117]),e(M,[2,13]),e(M,[2,14]),e(M,[2,15]),{37:[2,32]},{15:113,16:79,37:[2,9],74:d,80:E,95:C,97:m},e(Se,[2,40],{11:114,12:[1,115]}),e(ye,[2,7]),{9:[1,116]},e(ae,[2,49]),{16:37,17:117,18:38,74:d,80:E,95:C,97:m,98:k},{13:[1,119],16:37,17:118,18:38,74:d,80:E,95:C,97:m,98:k},e(J,[2,61],{57:120,59:Y,60:j,61:Q,62:X,63:H}),e(J,[2,60]),{39:[1,121]},{23:90,38:122,41:22,44:A},{8:[1,123],39:[2,33]},e(W,[2,37],{37:[1,124]}),{39:[1,125]},{39:[2,43],43:126,47:_e},{16:37,17:127,18:38,74:d,80:E,95:C,97:m,98:k},e(c,[2,70],{13:[1,128]}),e(c,[2,72],{13:[1,130],68:[1,129]}),e(c,[2,76],{13:[1,131],71:[1,132]}),{13:[1,133]},e(c,[2,84],{78:[1,134]}),e(ze,[2,86],{79:135,21:Z,73:$,74:ee,80:te,81:se,82:ie,83:ne,84:ue,85:re}),e(S,[2,88]),e(S,[2,90]),e(S,[2,91]),e(S,[2,92]),e(S,[2,93]),e(S,[2,94]),e(S,[2,95]),e(S,[2,96]),e(S,[2,97]),e(S,[2,98]),e(c,[2,85]),e(c,[2,53]),{37:[2,10]},e(Se,[2,41]),{13:[1,136]},{1:[2,4]},e(ae,[2,51]),e(ae,[2,50]),{16:37,17:137,18:38,74:d,80:E,95:C,97:m,98:k},e(J,[2,59]),e(c,[2,30]),{39:[1,138]},{23:90,38:139,39:[2,34],41:22,44:A},{43:140,47:_e},e(W,[2,38]),{39:[2,44]},e(c,[2,42]),e(c,[2,71]),e(c,[2,73]),e(c,[2,74],{68:[1,141]}),e(c,[2,77]),e(c,[2,78],{13:[1,142]}),e(c,[2,80],{13:[1,144],68:[1,143]}),{21:Z,73:$,74:ee,77:145,79:101,80:te,81:se,82:ie,83:ne,84:ue,85:re},e(S,[2,89]),{14:[1,146]},e(ae,[2,52]),e(c,[2,31]),{39:[2,35]},{39:[1,147]},e(c,[2,75]),e(c,[2,79]),e(c,[2,81]),e(c,[2,82],{68:[1,148]}),e(ze,[2,87],{79:135,21:Z,73:$,74:ee,80:te,81:se,82:ie,83:ne,84:ue,85:re}),e(Se,[2,8]),e(W,[2,39]),e(c,[2,83])],defaultActions:{2:[2,1],3:[2,2],4:[2,3],78:[2,32],113:[2,10],116:[2,4],126:[2,44],139:[2,35]},parseError:function(u,a){if(a.recoverable)this.trace(u);else{var h=new Error(u);throw h.hash=a,h}},parse:function(u){var a=this,h=[0],n=[],f=[null],t=[],U=this.table,s="",le=0,Ke=0,tt=2,Ye=1,st=t.slice.call(arguments,1),b=Object.create(this.lexer),I={yy:{}};for(var ve in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ve)&&(I.yy[ve]=this.yy[ve]);b.setInput(u,I.yy),I.yy.lexer=b,I.yy.parser=this,typeof b.yylloc>"u"&&(b.yylloc={});var xe=b.yylloc;t.push(xe);var it=b.options&&b.options.ranges;typeof I.yy.parseError=="function"?this.parseError=I.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function nt(){var L;return L=n.pop()||b.lex()||Ye,typeof L!="number"&&(L instanceof Array&&(n=L,L=n.pop()),L=a.symbols_[L]||L),L}for(var T,R,y,Oe,P={},ce,N,je,oe;;){if(R=h[h.length-1],this.defaultActions[R]?y=this.defaultActions[R]:((T===null||typeof T>"u")&&(T=nt()),y=U[R]&&U[R][T]),typeof y>"u"||!y.length||!y[0]){var Ie="";oe=[];for(ce in U[R])this.terminals_[ce]&&ce>tt&&oe.push("'"+this.terminals_[ce]+"'");b.showPosition?Ie="Parse error on line "+(le+1)+`: +import{s as ut,g as rt,a as at,b as lt,c as F,x as ct,y as ot,j as v,A as ht,l as At,z as We,h as z,d as pt,as as Re}from"./mermaid.core-C-ipfzeP.js";var Ve=function(){var e=function(x,u,a,h){for(a=a||{},h=x.length;h--;a[x[h]]=u);return a},i=[1,17],r=[1,18],l=[1,19],o=[1,39],A=[1,40],g=[1,25],D=[1,23],B=[1,24],_=[1,31],fe=[1,32],de=[1,33],Ee=[1,34],Ce=[1,35],me=[1,36],be=[1,26],ge=[1,27],ke=[1,28],Te=[1,29],d=[1,43],Fe=[1,30],E=[1,42],C=[1,44],m=[1,41],k=[1,45],ye=[1,9],c=[1,8,9],Y=[1,56],j=[1,57],Q=[1,58],X=[1,59],H=[1,60],De=[1,61],Be=[1,62],W=[1,8,9,39],Ge=[1,74],M=[1,8,9,12,13,21,37,39,42,59,60,61,62,63,64,65,70,72],q=[1,8,9,12,13,19,21,37,39,42,46,59,60,61,62,63,64,65,70,72,74,80,95,97,98],J=[13,74,80,95,97,98],G=[13,64,65,74,80,95,97,98],Ue=[13,59,60,61,62,63,74,80,95,97,98],_e=[1,93],Z=[1,110],$=[1,108],ee=[1,102],te=[1,103],se=[1,104],ie=[1,105],ne=[1,106],ue=[1,107],re=[1,109],Se=[1,8,9,37,39,42],ae=[1,8,9,21],ze=[1,8,9,78],S=[1,8,9,21,73,74,78,80,81,82,83,84,85],Ne={trace:function(){},yy:{},symbols_:{error:2,start:3,mermaidDoc:4,statements:5,graphConfig:6,CLASS_DIAGRAM:7,NEWLINE:8,EOF:9,statement:10,classLabel:11,SQS:12,STR:13,SQE:14,namespaceName:15,alphaNumToken:16,className:17,classLiteralName:18,GENERICTYPE:19,relationStatement:20,LABEL:21,namespaceStatement:22,classStatement:23,memberStatement:24,annotationStatement:25,clickStatement:26,styleStatement:27,cssClassStatement:28,noteStatement:29,direction:30,acc_title:31,acc_title_value:32,acc_descr:33,acc_descr_value:34,acc_descr_multiline_value:35,namespaceIdentifier:36,STRUCT_START:37,classStatements:38,STRUCT_STOP:39,NAMESPACE:40,classIdentifier:41,STYLE_SEPARATOR:42,members:43,CLASS:44,ANNOTATION_START:45,ANNOTATION_END:46,MEMBER:47,SEPARATOR:48,relation:49,NOTE_FOR:50,noteText:51,NOTE:52,direction_tb:53,direction_bt:54,direction_rl:55,direction_lr:56,relationType:57,lineType:58,AGGREGATION:59,EXTENSION:60,COMPOSITION:61,DEPENDENCY:62,LOLLIPOP:63,LINE:64,DOTTED_LINE:65,CALLBACK:66,LINK:67,LINK_TARGET:68,CLICK:69,CALLBACK_NAME:70,CALLBACK_ARGS:71,HREF:72,STYLE:73,ALPHA:74,stylesOpt:75,CSSCLASS:76,style:77,COMMA:78,styleComponent:79,NUM:80,COLON:81,UNIT:82,SPACE:83,BRKT:84,PCT:85,commentToken:86,textToken:87,graphCodeTokens:88,textNoTagsToken:89,TAGSTART:90,TAGEND:91,"==":92,"--":93,DEFAULT:94,MINUS:95,keywords:96,UNICODE_TEXT:97,BQUOTE_STR:98,$accept:0,$end:1},terminals_:{2:"error",7:"CLASS_DIAGRAM",8:"NEWLINE",9:"EOF",12:"SQS",13:"STR",14:"SQE",19:"GENERICTYPE",21:"LABEL",31:"acc_title",32:"acc_title_value",33:"acc_descr",34:"acc_descr_value",35:"acc_descr_multiline_value",37:"STRUCT_START",39:"STRUCT_STOP",40:"NAMESPACE",42:"STYLE_SEPARATOR",44:"CLASS",45:"ANNOTATION_START",46:"ANNOTATION_END",47:"MEMBER",48:"SEPARATOR",50:"NOTE_FOR",52:"NOTE",53:"direction_tb",54:"direction_bt",55:"direction_rl",56:"direction_lr",59:"AGGREGATION",60:"EXTENSION",61:"COMPOSITION",62:"DEPENDENCY",63:"LOLLIPOP",64:"LINE",65:"DOTTED_LINE",66:"CALLBACK",67:"LINK",68:"LINK_TARGET",69:"CLICK",70:"CALLBACK_NAME",71:"CALLBACK_ARGS",72:"HREF",73:"STYLE",74:"ALPHA",76:"CSSCLASS",78:"COMMA",80:"NUM",81:"COLON",82:"UNIT",83:"SPACE",84:"BRKT",85:"PCT",88:"graphCodeTokens",90:"TAGSTART",91:"TAGEND",92:"==",93:"--",94:"DEFAULT",95:"MINUS",96:"keywords",97:"UNICODE_TEXT",98:"BQUOTE_STR"},productions_:[0,[3,1],[3,1],[4,1],[6,4],[5,1],[5,2],[5,3],[11,3],[15,1],[15,2],[17,1],[17,1],[17,2],[17,2],[17,2],[10,1],[10,2],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,2],[10,2],[10,1],[22,4],[22,5],[36,2],[38,1],[38,2],[38,3],[23,1],[23,3],[23,4],[23,6],[41,2],[41,3],[25,4],[43,1],[43,2],[24,1],[24,2],[24,1],[24,1],[20,3],[20,4],[20,4],[20,5],[29,3],[29,2],[30,1],[30,1],[30,1],[30,1],[49,3],[49,2],[49,2],[49,1],[57,1],[57,1],[57,1],[57,1],[57,1],[58,1],[58,1],[26,3],[26,4],[26,3],[26,4],[26,4],[26,5],[26,3],[26,4],[26,4],[26,5],[26,4],[26,5],[26,5],[26,6],[27,3],[28,3],[75,1],[75,3],[77,1],[77,2],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[86,1],[86,1],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[89,1],[89,1],[89,1],[89,1],[16,1],[16,1],[16,1],[16,1],[18,1],[51,1]],performAction:function(u,a,h,n,f,t,U){var s=t.length-1;switch(f){case 8:this.$=t[s-1];break;case 9:case 11:case 12:this.$=t[s];break;case 10:case 13:this.$=t[s-1]+t[s];break;case 14:case 15:this.$=t[s-1]+"~"+t[s]+"~";break;case 16:n.addRelation(t[s]);break;case 17:t[s-1].title=n.cleanupLabel(t[s]),n.addRelation(t[s-1]);break;case 27:this.$=t[s].trim(),n.setAccTitle(this.$);break;case 28:case 29:this.$=t[s].trim(),n.setAccDescription(this.$);break;case 30:n.addClassesToNamespace(t[s-3],t[s-1]);break;case 31:n.addClassesToNamespace(t[s-4],t[s-1]);break;case 32:this.$=t[s],n.addNamespace(t[s]);break;case 33:this.$=[t[s]];break;case 34:this.$=[t[s-1]];break;case 35:t[s].unshift(t[s-2]),this.$=t[s];break;case 37:n.setCssClass(t[s-2],t[s]);break;case 38:n.addMembers(t[s-3],t[s-1]);break;case 39:n.setCssClass(t[s-5],t[s-3]),n.addMembers(t[s-5],t[s-1]);break;case 40:this.$=t[s],n.addClass(t[s]);break;case 41:this.$=t[s-1],n.addClass(t[s-1]),n.setClassLabel(t[s-1],t[s]);break;case 42:n.addAnnotation(t[s],t[s-2]);break;case 43:this.$=[t[s]];break;case 44:t[s].push(t[s-1]),this.$=t[s];break;case 45:break;case 46:n.addMember(t[s-1],n.cleanupLabel(t[s]));break;case 47:break;case 48:break;case 49:this.$={id1:t[s-2],id2:t[s],relation:t[s-1],relationTitle1:"none",relationTitle2:"none"};break;case 50:this.$={id1:t[s-3],id2:t[s],relation:t[s-1],relationTitle1:t[s-2],relationTitle2:"none"};break;case 51:this.$={id1:t[s-3],id2:t[s],relation:t[s-2],relationTitle1:"none",relationTitle2:t[s-1]};break;case 52:this.$={id1:t[s-4],id2:t[s],relation:t[s-2],relationTitle1:t[s-3],relationTitle2:t[s-1]};break;case 53:n.addNote(t[s],t[s-1]);break;case 54:n.addNote(t[s]);break;case 55:n.setDirection("TB");break;case 56:n.setDirection("BT");break;case 57:n.setDirection("RL");break;case 58:n.setDirection("LR");break;case 59:this.$={type1:t[s-2],type2:t[s],lineType:t[s-1]};break;case 60:this.$={type1:"none",type2:t[s],lineType:t[s-1]};break;case 61:this.$={type1:t[s-1],type2:"none",lineType:t[s]};break;case 62:this.$={type1:"none",type2:"none",lineType:t[s]};break;case 63:this.$=n.relationType.AGGREGATION;break;case 64:this.$=n.relationType.EXTENSION;break;case 65:this.$=n.relationType.COMPOSITION;break;case 66:this.$=n.relationType.DEPENDENCY;break;case 67:this.$=n.relationType.LOLLIPOP;break;case 68:this.$=n.lineType.LINE;break;case 69:this.$=n.lineType.DOTTED_LINE;break;case 70:case 76:this.$=t[s-2],n.setClickEvent(t[s-1],t[s]);break;case 71:case 77:this.$=t[s-3],n.setClickEvent(t[s-2],t[s-1]),n.setTooltip(t[s-2],t[s]);break;case 72:this.$=t[s-2],n.setLink(t[s-1],t[s]);break;case 73:this.$=t[s-3],n.setLink(t[s-2],t[s-1],t[s]);break;case 74:this.$=t[s-3],n.setLink(t[s-2],t[s-1]),n.setTooltip(t[s-2],t[s]);break;case 75:this.$=t[s-4],n.setLink(t[s-3],t[s-2],t[s]),n.setTooltip(t[s-3],t[s-1]);break;case 78:this.$=t[s-3],n.setClickEvent(t[s-2],t[s-1],t[s]);break;case 79:this.$=t[s-4],n.setClickEvent(t[s-3],t[s-2],t[s-1]),n.setTooltip(t[s-3],t[s]);break;case 80:this.$=t[s-3],n.setLink(t[s-2],t[s]);break;case 81:this.$=t[s-4],n.setLink(t[s-3],t[s-1],t[s]);break;case 82:this.$=t[s-4],n.setLink(t[s-3],t[s-1]),n.setTooltip(t[s-3],t[s]);break;case 83:this.$=t[s-5],n.setLink(t[s-4],t[s-2],t[s]),n.setTooltip(t[s-4],t[s-1]);break;case 84:this.$=t[s-2],n.setCssStyle(t[s-1],t[s]);break;case 85:n.setCssClass(t[s-1],t[s]);break;case 86:this.$=[t[s]];break;case 87:t[s-2].push(t[s]),this.$=t[s-2];break;case 89:this.$=t[s-1]+t[s];break}},table:[{3:1,4:2,5:3,6:4,7:[1,6],10:5,16:37,17:20,18:38,20:7,22:8,23:9,24:10,25:11,26:12,27:13,28:14,29:15,30:16,31:i,33:r,35:l,36:21,40:o,41:22,44:A,45:g,47:D,48:B,50:_,52:fe,53:de,54:Ee,55:Ce,56:me,66:be,67:ge,69:ke,73:Te,74:d,76:Fe,80:E,95:C,97:m,98:k},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,3]},e(ye,[2,5],{8:[1,46]}),{8:[1,47]},e(c,[2,16],{21:[1,48]}),e(c,[2,18]),e(c,[2,19]),e(c,[2,20]),e(c,[2,21]),e(c,[2,22]),e(c,[2,23]),e(c,[2,24]),e(c,[2,25]),e(c,[2,26]),{32:[1,49]},{34:[1,50]},e(c,[2,29]),e(c,[2,45],{49:51,57:54,58:55,13:[1,52],21:[1,53],59:Y,60:j,61:Q,62:X,63:H,64:De,65:Be}),{37:[1,63]},e(W,[2,36],{37:[1,65],42:[1,64]}),e(c,[2,47]),e(c,[2,48]),{16:66,74:d,80:E,95:C,97:m},{16:37,17:67,18:38,74:d,80:E,95:C,97:m,98:k},{16:37,17:68,18:38,74:d,80:E,95:C,97:m,98:k},{16:37,17:69,18:38,74:d,80:E,95:C,97:m,98:k},{74:[1,70]},{13:[1,71]},{16:37,17:72,18:38,74:d,80:E,95:C,97:m,98:k},{13:Ge,51:73},e(c,[2,55]),e(c,[2,56]),e(c,[2,57]),e(c,[2,58]),e(M,[2,11],{16:37,18:38,17:75,19:[1,76],74:d,80:E,95:C,97:m,98:k}),e(M,[2,12],{19:[1,77]}),{15:78,16:79,74:d,80:E,95:C,97:m},{16:37,17:80,18:38,74:d,80:E,95:C,97:m,98:k},e(q,[2,112]),e(q,[2,113]),e(q,[2,114]),e(q,[2,115]),e([1,8,9,12,13,19,21,37,39,42,59,60,61,62,63,64,65,70,72],[2,116]),e(ye,[2,6],{10:5,20:7,22:8,23:9,24:10,25:11,26:12,27:13,28:14,29:15,30:16,17:20,36:21,41:22,16:37,18:38,5:81,31:i,33:r,35:l,40:o,44:A,45:g,47:D,48:B,50:_,52:fe,53:de,54:Ee,55:Ce,56:me,66:be,67:ge,69:ke,73:Te,74:d,76:Fe,80:E,95:C,97:m,98:k}),{5:82,10:5,16:37,17:20,18:38,20:7,22:8,23:9,24:10,25:11,26:12,27:13,28:14,29:15,30:16,31:i,33:r,35:l,36:21,40:o,41:22,44:A,45:g,47:D,48:B,50:_,52:fe,53:de,54:Ee,55:Ce,56:me,66:be,67:ge,69:ke,73:Te,74:d,76:Fe,80:E,95:C,97:m,98:k},e(c,[2,17]),e(c,[2,27]),e(c,[2,28]),{13:[1,84],16:37,17:83,18:38,74:d,80:E,95:C,97:m,98:k},{49:85,57:54,58:55,59:Y,60:j,61:Q,62:X,63:H,64:De,65:Be},e(c,[2,46]),{58:86,64:De,65:Be},e(J,[2,62],{57:87,59:Y,60:j,61:Q,62:X,63:H}),e(G,[2,63]),e(G,[2,64]),e(G,[2,65]),e(G,[2,66]),e(G,[2,67]),e(Ue,[2,68]),e(Ue,[2,69]),{8:[1,89],23:90,38:88,41:22,44:A},{16:91,74:d,80:E,95:C,97:m},{43:92,47:_e},{46:[1,94]},{13:[1,95]},{13:[1,96]},{70:[1,97],72:[1,98]},{21:Z,73:$,74:ee,75:99,77:100,79:101,80:te,81:se,82:ie,83:ne,84:ue,85:re},{74:[1,111]},{13:Ge,51:112},e(c,[2,54]),e(c,[2,117]),e(M,[2,13]),e(M,[2,14]),e(M,[2,15]),{37:[2,32]},{15:113,16:79,37:[2,9],74:d,80:E,95:C,97:m},e(Se,[2,40],{11:114,12:[1,115]}),e(ye,[2,7]),{9:[1,116]},e(ae,[2,49]),{16:37,17:117,18:38,74:d,80:E,95:C,97:m,98:k},{13:[1,119],16:37,17:118,18:38,74:d,80:E,95:C,97:m,98:k},e(J,[2,61],{57:120,59:Y,60:j,61:Q,62:X,63:H}),e(J,[2,60]),{39:[1,121]},{23:90,38:122,41:22,44:A},{8:[1,123],39:[2,33]},e(W,[2,37],{37:[1,124]}),{39:[1,125]},{39:[2,43],43:126,47:_e},{16:37,17:127,18:38,74:d,80:E,95:C,97:m,98:k},e(c,[2,70],{13:[1,128]}),e(c,[2,72],{13:[1,130],68:[1,129]}),e(c,[2,76],{13:[1,131],71:[1,132]}),{13:[1,133]},e(c,[2,84],{78:[1,134]}),e(ze,[2,86],{79:135,21:Z,73:$,74:ee,80:te,81:se,82:ie,83:ne,84:ue,85:re}),e(S,[2,88]),e(S,[2,90]),e(S,[2,91]),e(S,[2,92]),e(S,[2,93]),e(S,[2,94]),e(S,[2,95]),e(S,[2,96]),e(S,[2,97]),e(S,[2,98]),e(c,[2,85]),e(c,[2,53]),{37:[2,10]},e(Se,[2,41]),{13:[1,136]},{1:[2,4]},e(ae,[2,51]),e(ae,[2,50]),{16:37,17:137,18:38,74:d,80:E,95:C,97:m,98:k},e(J,[2,59]),e(c,[2,30]),{39:[1,138]},{23:90,38:139,39:[2,34],41:22,44:A},{43:140,47:_e},e(W,[2,38]),{39:[2,44]},e(c,[2,42]),e(c,[2,71]),e(c,[2,73]),e(c,[2,74],{68:[1,141]}),e(c,[2,77]),e(c,[2,78],{13:[1,142]}),e(c,[2,80],{13:[1,144],68:[1,143]}),{21:Z,73:$,74:ee,77:145,79:101,80:te,81:se,82:ie,83:ne,84:ue,85:re},e(S,[2,89]),{14:[1,146]},e(ae,[2,52]),e(c,[2,31]),{39:[2,35]},{39:[1,147]},e(c,[2,75]),e(c,[2,79]),e(c,[2,81]),e(c,[2,82],{68:[1,148]}),e(ze,[2,87],{79:135,21:Z,73:$,74:ee,80:te,81:se,82:ie,83:ne,84:ue,85:re}),e(Se,[2,8]),e(W,[2,39]),e(c,[2,83])],defaultActions:{2:[2,1],3:[2,2],4:[2,3],78:[2,32],113:[2,10],116:[2,4],126:[2,44],139:[2,35]},parseError:function(u,a){if(a.recoverable)this.trace(u);else{var h=new Error(u);throw h.hash=a,h}},parse:function(u){var a=this,h=[0],n=[],f=[null],t=[],U=this.table,s="",le=0,Ke=0,tt=2,Ye=1,st=t.slice.call(arguments,1),b=Object.create(this.lexer),I={yy:{}};for(var ve in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ve)&&(I.yy[ve]=this.yy[ve]);b.setInput(u,I.yy),I.yy.lexer=b,I.yy.parser=this,typeof b.yylloc>"u"&&(b.yylloc={});var xe=b.yylloc;t.push(xe);var it=b.options&&b.options.ranges;typeof I.yy.parseError=="function"?this.parseError=I.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function nt(){var L;return L=n.pop()||b.lex()||Ye,typeof L!="number"&&(L instanceof Array&&(n=L,L=n.pop()),L=a.symbols_[L]||L),L}for(var T,R,y,Oe,P={},ce,N,je,oe;;){if(R=h[h.length-1],this.defaultActions[R]?y=this.defaultActions[R]:((T===null||typeof T>"u")&&(T=nt()),y=U[R]&&U[R][T]),typeof y>"u"||!y.length||!y[0]){var Ie="";oe=[];for(ce in U[R])this.terminals_[ce]&&ce>tt&&oe.push("'"+this.terminals_[ce]+"'");b.showPosition?Ie="Parse error on line "+(le+1)+`: `+b.showPosition()+` Expecting `+oe.join(", ")+", got '"+(this.terminals_[T]||T)+"'":Ie="Parse error on line "+(le+1)+": Unexpected "+(T==Ye?"end of input":"'"+(this.terminals_[T]||T)+"'"),this.parseError(Ie,{text:b.match,token:this.terminals_[T]||T,line:b.yylineno,loc:xe,expected:oe})}if(y[0]instanceof Array&&y.length>1)throw new Error("Parse Error: multiple actions possible at state: "+R+", token: "+T);switch(y[0]){case 1:h.push(T),f.push(b.yytext),t.push(b.yylloc),h.push(y[1]),T=null,Ke=b.yyleng,s=b.yytext,le=b.yylineno,xe=b.yylloc;break;case 2:if(N=this.productions_[y[1]][1],P.$=f[f.length-N],P._$={first_line:t[t.length-(N||1)].first_line,last_line:t[t.length-1].last_line,first_column:t[t.length-(N||1)].first_column,last_column:t[t.length-1].last_column},it&&(P._$.range=[t[t.length-(N||1)].range[0],t[t.length-1].range[1]]),Oe=this.performAction.apply(P,[s,Ke,le,I.yy,y[1],f,t].concat(st)),typeof Oe<"u")return Oe;N&&(h=h.slice(0,-1*N*2),f=f.slice(0,-1*N),t=t.slice(0,-1*N)),h.push(this.productions_[y[1]][0]),f.push(P.$),t.push(P._$),je=U[h[h.length-2]][h[h.length-1]],h.push(je);break;case 3:return!0}}return!0}},et=function(){var x={EOF:1,parseError:function(a,h){if(this.yy.parser)this.yy.parser.parseError(a,h);else throw new Error(a)},setInput:function(u,a){return this.yy=a||this.yy||{},this._input=u,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var u=this._input[0];this.yytext+=u,this.yyleng++,this.offset++,this.match+=u,this.matched+=u;var a=u.match(/(?:\r\n?|\n).*/g);return a?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),u},unput:function(u){var a=u.length,h=u.split(/(?:\r\n?|\n)/g);this._input=u+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-a),this.offset-=a;var n=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),h.length-1&&(this.yylineno-=h.length-1);var f=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:h?(h.length===n.length?this.yylloc.first_column:0)+n[n.length-h.length].length-h[0].length:this.yylloc.first_column-a},this.options.ranges&&(this.yylloc.range=[f[0],f[0]+this.yyleng-a]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(u){this.unput(this.match.slice(u))},pastInput:function(){var u=this.matched.substr(0,this.matched.length-this.match.length);return(u.length>20?"...":"")+u.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var u=this.match;return u.length<20&&(u+=this._input.substr(0,20-u.length)),(u.substr(0,20)+(u.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var u=this.pastInput(),a=new Array(u.length+1).join("-");return u+this.upcomingInput()+` diff --git a/assets/styles-d20c7d72-Dnn2fl5U.js b/assets/styles-d20c7d72-XvJt-R4X.js similarity index 99% rename from assets/styles-d20c7d72-Dnn2fl5U.js rename to assets/styles-d20c7d72-XvJt-R4X.js index 52d5755..2d7c332 100644 --- a/assets/styles-d20c7d72-Dnn2fl5U.js +++ b/assets/styles-d20c7d72-XvJt-R4X.js @@ -1,4 +1,4 @@ -import{c as Y,g as Ut,s as zt,a as Mt,b as Ht,x as Xt,y as Kt,l as D,j as ot,A as Wt,b4 as Jt}from"./mermaid.core-DtSoU78u.js";var gt=function(){var t=function(C,r,n,i){for(n=n||{},i=C.length;i--;n[C[i]]=r);return n},s=[1,2],a=[1,3],h=[1,4],f=[2,4],d=[1,9],y=[1,11],k=[1,15],u=[1,16],E=[1,17],T=[1,18],R=[1,30],G=[1,19],j=[1,20],U=[1,21],z=[1,22],M=[1,23],H=[1,25],X=[1,26],K=[1,27],W=[1,28],J=[1,29],q=[1,32],Q=[1,33],Z=[1,34],tt=[1,35],w=[1,31],c=[1,4,5,15,16,18,20,21,23,24,25,26,27,28,32,34,36,37,41,44,45,46,47,50],et=[1,4,5,13,14,15,16,18,20,21,23,24,25,26,27,28,32,34,36,37,41,44,45,46,47,50],Dt=[4,5,15,16,18,20,21,23,24,25,26,27,28,32,34,36,37,41,44,45,46,47,50],ht={trace:function(){},yy:{},symbols_:{error:2,start:3,SPACE:4,NL:5,SD:6,document:7,line:8,statement:9,classDefStatement:10,cssClassStatement:11,idStatement:12,DESCR:13,"-->":14,HIDE_EMPTY:15,scale:16,WIDTH:17,COMPOSIT_STATE:18,STRUCT_START:19,STRUCT_STOP:20,STATE_DESCR:21,AS:22,ID:23,FORK:24,JOIN:25,CHOICE:26,CONCURRENT:27,note:28,notePosition:29,NOTE_TEXT:30,direction:31,acc_title:32,acc_title_value:33,acc_descr:34,acc_descr_value:35,acc_descr_multiline_value:36,classDef:37,CLASSDEF_ID:38,CLASSDEF_STYLEOPTS:39,DEFAULT:40,class:41,CLASSENTITY_IDS:42,STYLECLASS:43,direction_tb:44,direction_bt:45,direction_rl:46,direction_lr:47,eol:48,";":49,EDGE_STATE:50,STYLE_SEPARATOR:51,left_of:52,right_of:53,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NL",6:"SD",13:"DESCR",14:"-->",15:"HIDE_EMPTY",16:"scale",17:"WIDTH",18:"COMPOSIT_STATE",19:"STRUCT_START",20:"STRUCT_STOP",21:"STATE_DESCR",22:"AS",23:"ID",24:"FORK",25:"JOIN",26:"CHOICE",27:"CONCURRENT",28:"note",30:"NOTE_TEXT",32:"acc_title",33:"acc_title_value",34:"acc_descr",35:"acc_descr_value",36:"acc_descr_multiline_value",37:"classDef",38:"CLASSDEF_ID",39:"CLASSDEF_STYLEOPTS",40:"DEFAULT",41:"class",42:"CLASSENTITY_IDS",43:"STYLECLASS",44:"direction_tb",45:"direction_bt",46:"direction_rl",47:"direction_lr",49:";",50:"EDGE_STATE",51:"STYLE_SEPARATOR",52:"left_of",53:"right_of"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[9,1],[9,1],[9,1],[9,2],[9,3],[9,4],[9,1],[9,2],[9,1],[9,4],[9,3],[9,6],[9,1],[9,1],[9,1],[9,1],[9,4],[9,4],[9,1],[9,2],[9,2],[9,1],[10,3],[10,3],[11,3],[31,1],[31,1],[31,1],[31,1],[48,1],[48,1],[12,1],[12,1],[12,3],[12,3],[29,1],[29,1]],performAction:function(r,n,i,o,p,e,$){var l=e.length-1;switch(p){case 3:return o.setRootDoc(e[l]),e[l];case 4:this.$=[];break;case 5:e[l]!="nl"&&(e[l-1].push(e[l]),this.$=e[l-1]);break;case 6:case 7:this.$=e[l];break;case 8:this.$="nl";break;case 11:this.$=e[l];break;case 12:const B=e[l-1];B.description=o.trimColon(e[l]),this.$=B;break;case 13:this.$={stmt:"relation",state1:e[l-2],state2:e[l]};break;case 14:const ft=o.trimColon(e[l]);this.$={stmt:"relation",state1:e[l-3],state2:e[l-1],description:ft};break;case 18:this.$={stmt:"state",id:e[l-3],type:"default",description:"",doc:e[l-1]};break;case 19:var A=e[l],O=e[l-2].trim();if(e[l].match(":")){var st=e[l].split(":");A=st[0],O=[O,st[1]]}this.$={stmt:"state",id:A,type:"default",description:O};break;case 20:this.$={stmt:"state",id:e[l-3],type:"default",description:e[l-5],doc:e[l-1]};break;case 21:this.$={stmt:"state",id:e[l],type:"fork"};break;case 22:this.$={stmt:"state",id:e[l],type:"join"};break;case 23:this.$={stmt:"state",id:e[l],type:"choice"};break;case 24:this.$={stmt:"state",id:o.getDividerId(),type:"divider"};break;case 25:this.$={stmt:"state",id:e[l-1].trim(),note:{position:e[l-2].trim(),text:e[l].trim()}};break;case 28:this.$=e[l].trim(),o.setAccTitle(this.$);break;case 29:case 30:this.$=e[l].trim(),o.setAccDescription(this.$);break;case 31:case 32:this.$={stmt:"classDef",id:e[l-1].trim(),classes:e[l].trim()};break;case 33:this.$={stmt:"applyClass",id:e[l-1].trim(),styleClass:e[l].trim()};break;case 34:o.setDirection("TB"),this.$={stmt:"dir",value:"TB"};break;case 35:o.setDirection("BT"),this.$={stmt:"dir",value:"BT"};break;case 36:o.setDirection("RL"),this.$={stmt:"dir",value:"RL"};break;case 37:o.setDirection("LR"),this.$={stmt:"dir",value:"LR"};break;case 40:case 41:this.$={stmt:"state",id:e[l].trim(),type:"default",description:""};break;case 42:this.$={stmt:"state",id:e[l-2].trim(),classes:[e[l].trim()],type:"default",description:""};break;case 43:this.$={stmt:"state",id:e[l-2].trim(),classes:[e[l].trim()],type:"default",description:""};break}},table:[{3:1,4:s,5:a,6:h},{1:[3]},{3:5,4:s,5:a,6:h},{3:6,4:s,5:a,6:h},t([1,4,5,15,16,18,21,23,24,25,26,27,28,32,34,36,37,41,44,45,46,47,50],f,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:d,5:y,8:8,9:10,10:12,11:13,12:14,15:k,16:u,18:E,21:T,23:R,24:G,25:j,26:U,27:z,28:M,31:24,32:H,34:X,36:K,37:W,41:J,44:q,45:Q,46:Z,47:tt,50:w},t(c,[2,5]),{9:36,10:12,11:13,12:14,15:k,16:u,18:E,21:T,23:R,24:G,25:j,26:U,27:z,28:M,31:24,32:H,34:X,36:K,37:W,41:J,44:q,45:Q,46:Z,47:tt,50:w},t(c,[2,7]),t(c,[2,8]),t(c,[2,9]),t(c,[2,10]),t(c,[2,11],{13:[1,37],14:[1,38]}),t(c,[2,15]),{17:[1,39]},t(c,[2,17],{19:[1,40]}),{22:[1,41]},t(c,[2,21]),t(c,[2,22]),t(c,[2,23]),t(c,[2,24]),{29:42,30:[1,43],52:[1,44],53:[1,45]},t(c,[2,27]),{33:[1,46]},{35:[1,47]},t(c,[2,30]),{38:[1,48],40:[1,49]},{42:[1,50]},t(et,[2,40],{51:[1,51]}),t(et,[2,41],{51:[1,52]}),t(c,[2,34]),t(c,[2,35]),t(c,[2,36]),t(c,[2,37]),t(c,[2,6]),t(c,[2,12]),{12:53,23:R,50:w},t(c,[2,16]),t(Dt,f,{7:54}),{23:[1,55]},{23:[1,56]},{22:[1,57]},{23:[2,44]},{23:[2,45]},t(c,[2,28]),t(c,[2,29]),{39:[1,58]},{39:[1,59]},{43:[1,60]},{23:[1,61]},{23:[1,62]},t(c,[2,13],{13:[1,63]}),{4:d,5:y,8:8,9:10,10:12,11:13,12:14,15:k,16:u,18:E,20:[1,64],21:T,23:R,24:G,25:j,26:U,27:z,28:M,31:24,32:H,34:X,36:K,37:W,41:J,44:q,45:Q,46:Z,47:tt,50:w},t(c,[2,19],{19:[1,65]}),{30:[1,66]},{23:[1,67]},t(c,[2,31]),t(c,[2,32]),t(c,[2,33]),t(et,[2,42]),t(et,[2,43]),t(c,[2,14]),t(c,[2,18]),t(Dt,f,{7:68}),t(c,[2,25]),t(c,[2,26]),{4:d,5:y,8:8,9:10,10:12,11:13,12:14,15:k,16:u,18:E,20:[1,69],21:T,23:R,24:G,25:j,26:U,27:z,28:M,31:24,32:H,34:X,36:K,37:W,41:J,44:q,45:Q,46:Z,47:tt,50:w},t(c,[2,20])],defaultActions:{5:[2,1],6:[2,2],44:[2,44],45:[2,45]},parseError:function(r,n){if(n.recoverable)this.trace(r);else{var i=new Error(r);throw i.hash=n,i}},parse:function(r){var n=this,i=[0],o=[],p=[null],e=[],$=this.table,l="",A=0,O=0,st=2,B=1,ft=e.slice.call(arguments,1),S=Object.create(this.lexer),v={yy:{}};for(var dt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,dt)&&(v.yy[dt]=this.yy[dt]);S.setInput(r,v.yy),v.yy.lexer=S,v.yy.parser=this,typeof S.yylloc>"u"&&(S.yylloc={});var yt=S.yylloc;e.push(yt);var Gt=S.options&&S.options.ranges;typeof v.yy.parseError=="function"?this.parseError=v.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function jt(){var x;return x=o.pop()||S.lex()||B,typeof x!="number"&&(x instanceof Array&&(o=x,x=o.pop()),x=n.symbols_[x]||x),x}for(var _,L,m,pt,N={},it,b,Ct,rt;;){if(L=i[i.length-1],this.defaultActions[L]?m=this.defaultActions[L]:((_===null||typeof _>"u")&&(_=jt()),m=$[L]&&$[L][_]),typeof m>"u"||!m.length||!m[0]){var St="";rt=[];for(it in $[L])this.terminals_[it]&&it>st&&rt.push("'"+this.terminals_[it]+"'");S.showPosition?St="Parse error on line "+(A+1)+`: +import{c as Y,g as Ut,s as zt,a as Mt,b as Ht,x as Xt,y as Kt,l as D,j as ot,A as Wt,b4 as Jt}from"./mermaid.core-C-ipfzeP.js";var gt=function(){var t=function(C,r,n,i){for(n=n||{},i=C.length;i--;n[C[i]]=r);return n},s=[1,2],a=[1,3],h=[1,4],f=[2,4],d=[1,9],y=[1,11],k=[1,15],u=[1,16],E=[1,17],T=[1,18],R=[1,30],G=[1,19],j=[1,20],U=[1,21],z=[1,22],M=[1,23],H=[1,25],X=[1,26],K=[1,27],W=[1,28],J=[1,29],q=[1,32],Q=[1,33],Z=[1,34],tt=[1,35],w=[1,31],c=[1,4,5,15,16,18,20,21,23,24,25,26,27,28,32,34,36,37,41,44,45,46,47,50],et=[1,4,5,13,14,15,16,18,20,21,23,24,25,26,27,28,32,34,36,37,41,44,45,46,47,50],Dt=[4,5,15,16,18,20,21,23,24,25,26,27,28,32,34,36,37,41,44,45,46,47,50],ht={trace:function(){},yy:{},symbols_:{error:2,start:3,SPACE:4,NL:5,SD:6,document:7,line:8,statement:9,classDefStatement:10,cssClassStatement:11,idStatement:12,DESCR:13,"-->":14,HIDE_EMPTY:15,scale:16,WIDTH:17,COMPOSIT_STATE:18,STRUCT_START:19,STRUCT_STOP:20,STATE_DESCR:21,AS:22,ID:23,FORK:24,JOIN:25,CHOICE:26,CONCURRENT:27,note:28,notePosition:29,NOTE_TEXT:30,direction:31,acc_title:32,acc_title_value:33,acc_descr:34,acc_descr_value:35,acc_descr_multiline_value:36,classDef:37,CLASSDEF_ID:38,CLASSDEF_STYLEOPTS:39,DEFAULT:40,class:41,CLASSENTITY_IDS:42,STYLECLASS:43,direction_tb:44,direction_bt:45,direction_rl:46,direction_lr:47,eol:48,";":49,EDGE_STATE:50,STYLE_SEPARATOR:51,left_of:52,right_of:53,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NL",6:"SD",13:"DESCR",14:"-->",15:"HIDE_EMPTY",16:"scale",17:"WIDTH",18:"COMPOSIT_STATE",19:"STRUCT_START",20:"STRUCT_STOP",21:"STATE_DESCR",22:"AS",23:"ID",24:"FORK",25:"JOIN",26:"CHOICE",27:"CONCURRENT",28:"note",30:"NOTE_TEXT",32:"acc_title",33:"acc_title_value",34:"acc_descr",35:"acc_descr_value",36:"acc_descr_multiline_value",37:"classDef",38:"CLASSDEF_ID",39:"CLASSDEF_STYLEOPTS",40:"DEFAULT",41:"class",42:"CLASSENTITY_IDS",43:"STYLECLASS",44:"direction_tb",45:"direction_bt",46:"direction_rl",47:"direction_lr",49:";",50:"EDGE_STATE",51:"STYLE_SEPARATOR",52:"left_of",53:"right_of"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[9,1],[9,1],[9,1],[9,2],[9,3],[9,4],[9,1],[9,2],[9,1],[9,4],[9,3],[9,6],[9,1],[9,1],[9,1],[9,1],[9,4],[9,4],[9,1],[9,2],[9,2],[9,1],[10,3],[10,3],[11,3],[31,1],[31,1],[31,1],[31,1],[48,1],[48,1],[12,1],[12,1],[12,3],[12,3],[29,1],[29,1]],performAction:function(r,n,i,o,p,e,$){var l=e.length-1;switch(p){case 3:return o.setRootDoc(e[l]),e[l];case 4:this.$=[];break;case 5:e[l]!="nl"&&(e[l-1].push(e[l]),this.$=e[l-1]);break;case 6:case 7:this.$=e[l];break;case 8:this.$="nl";break;case 11:this.$=e[l];break;case 12:const B=e[l-1];B.description=o.trimColon(e[l]),this.$=B;break;case 13:this.$={stmt:"relation",state1:e[l-2],state2:e[l]};break;case 14:const ft=o.trimColon(e[l]);this.$={stmt:"relation",state1:e[l-3],state2:e[l-1],description:ft};break;case 18:this.$={stmt:"state",id:e[l-3],type:"default",description:"",doc:e[l-1]};break;case 19:var A=e[l],O=e[l-2].trim();if(e[l].match(":")){var st=e[l].split(":");A=st[0],O=[O,st[1]]}this.$={stmt:"state",id:A,type:"default",description:O};break;case 20:this.$={stmt:"state",id:e[l-3],type:"default",description:e[l-5],doc:e[l-1]};break;case 21:this.$={stmt:"state",id:e[l],type:"fork"};break;case 22:this.$={stmt:"state",id:e[l],type:"join"};break;case 23:this.$={stmt:"state",id:e[l],type:"choice"};break;case 24:this.$={stmt:"state",id:o.getDividerId(),type:"divider"};break;case 25:this.$={stmt:"state",id:e[l-1].trim(),note:{position:e[l-2].trim(),text:e[l].trim()}};break;case 28:this.$=e[l].trim(),o.setAccTitle(this.$);break;case 29:case 30:this.$=e[l].trim(),o.setAccDescription(this.$);break;case 31:case 32:this.$={stmt:"classDef",id:e[l-1].trim(),classes:e[l].trim()};break;case 33:this.$={stmt:"applyClass",id:e[l-1].trim(),styleClass:e[l].trim()};break;case 34:o.setDirection("TB"),this.$={stmt:"dir",value:"TB"};break;case 35:o.setDirection("BT"),this.$={stmt:"dir",value:"BT"};break;case 36:o.setDirection("RL"),this.$={stmt:"dir",value:"RL"};break;case 37:o.setDirection("LR"),this.$={stmt:"dir",value:"LR"};break;case 40:case 41:this.$={stmt:"state",id:e[l].trim(),type:"default",description:""};break;case 42:this.$={stmt:"state",id:e[l-2].trim(),classes:[e[l].trim()],type:"default",description:""};break;case 43:this.$={stmt:"state",id:e[l-2].trim(),classes:[e[l].trim()],type:"default",description:""};break}},table:[{3:1,4:s,5:a,6:h},{1:[3]},{3:5,4:s,5:a,6:h},{3:6,4:s,5:a,6:h},t([1,4,5,15,16,18,21,23,24,25,26,27,28,32,34,36,37,41,44,45,46,47,50],f,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:d,5:y,8:8,9:10,10:12,11:13,12:14,15:k,16:u,18:E,21:T,23:R,24:G,25:j,26:U,27:z,28:M,31:24,32:H,34:X,36:K,37:W,41:J,44:q,45:Q,46:Z,47:tt,50:w},t(c,[2,5]),{9:36,10:12,11:13,12:14,15:k,16:u,18:E,21:T,23:R,24:G,25:j,26:U,27:z,28:M,31:24,32:H,34:X,36:K,37:W,41:J,44:q,45:Q,46:Z,47:tt,50:w},t(c,[2,7]),t(c,[2,8]),t(c,[2,9]),t(c,[2,10]),t(c,[2,11],{13:[1,37],14:[1,38]}),t(c,[2,15]),{17:[1,39]},t(c,[2,17],{19:[1,40]}),{22:[1,41]},t(c,[2,21]),t(c,[2,22]),t(c,[2,23]),t(c,[2,24]),{29:42,30:[1,43],52:[1,44],53:[1,45]},t(c,[2,27]),{33:[1,46]},{35:[1,47]},t(c,[2,30]),{38:[1,48],40:[1,49]},{42:[1,50]},t(et,[2,40],{51:[1,51]}),t(et,[2,41],{51:[1,52]}),t(c,[2,34]),t(c,[2,35]),t(c,[2,36]),t(c,[2,37]),t(c,[2,6]),t(c,[2,12]),{12:53,23:R,50:w},t(c,[2,16]),t(Dt,f,{7:54}),{23:[1,55]},{23:[1,56]},{22:[1,57]},{23:[2,44]},{23:[2,45]},t(c,[2,28]),t(c,[2,29]),{39:[1,58]},{39:[1,59]},{43:[1,60]},{23:[1,61]},{23:[1,62]},t(c,[2,13],{13:[1,63]}),{4:d,5:y,8:8,9:10,10:12,11:13,12:14,15:k,16:u,18:E,20:[1,64],21:T,23:R,24:G,25:j,26:U,27:z,28:M,31:24,32:H,34:X,36:K,37:W,41:J,44:q,45:Q,46:Z,47:tt,50:w},t(c,[2,19],{19:[1,65]}),{30:[1,66]},{23:[1,67]},t(c,[2,31]),t(c,[2,32]),t(c,[2,33]),t(et,[2,42]),t(et,[2,43]),t(c,[2,14]),t(c,[2,18]),t(Dt,f,{7:68}),t(c,[2,25]),t(c,[2,26]),{4:d,5:y,8:8,9:10,10:12,11:13,12:14,15:k,16:u,18:E,20:[1,69],21:T,23:R,24:G,25:j,26:U,27:z,28:M,31:24,32:H,34:X,36:K,37:W,41:J,44:q,45:Q,46:Z,47:tt,50:w},t(c,[2,20])],defaultActions:{5:[2,1],6:[2,2],44:[2,44],45:[2,45]},parseError:function(r,n){if(n.recoverable)this.trace(r);else{var i=new Error(r);throw i.hash=n,i}},parse:function(r){var n=this,i=[0],o=[],p=[null],e=[],$=this.table,l="",A=0,O=0,st=2,B=1,ft=e.slice.call(arguments,1),S=Object.create(this.lexer),v={yy:{}};for(var dt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,dt)&&(v.yy[dt]=this.yy[dt]);S.setInput(r,v.yy),v.yy.lexer=S,v.yy.parser=this,typeof S.yylloc>"u"&&(S.yylloc={});var yt=S.yylloc;e.push(yt);var Gt=S.options&&S.options.ranges;typeof v.yy.parseError=="function"?this.parseError=v.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function jt(){var x;return x=o.pop()||S.lex()||B,typeof x!="number"&&(x instanceof Array&&(o=x,x=o.pop()),x=n.symbols_[x]||x),x}for(var _,L,m,pt,N={},it,b,Ct,rt;;){if(L=i[i.length-1],this.defaultActions[L]?m=this.defaultActions[L]:((_===null||typeof _>"u")&&(_=jt()),m=$[L]&&$[L][_]),typeof m>"u"||!m.length||!m[0]){var St="";rt=[];for(it in $[L])this.terminals_[it]&&it>st&&rt.push("'"+this.terminals_[it]+"'");S.showPosition?St="Parse error on line "+(A+1)+`: `+S.showPosition()+` Expecting `+rt.join(", ")+", got '"+(this.terminals_[_]||_)+"'":St="Parse error on line "+(A+1)+": Unexpected "+(_==B?"end of input":"'"+(this.terminals_[_]||_)+"'"),this.parseError(St,{text:S.match,token:this.terminals_[_]||_,line:S.yylineno,loc:yt,expected:rt})}if(m[0]instanceof Array&&m.length>1)throw new Error("Parse Error: multiple actions possible at state: "+L+", token: "+_);switch(m[0]){case 1:i.push(_),p.push(S.yytext),e.push(S.yylloc),i.push(m[1]),_=null,O=S.yyleng,l=S.yytext,A=S.yylineno,yt=S.yylloc;break;case 2:if(b=this.productions_[m[1]][1],N.$=p[p.length-b],N._$={first_line:e[e.length-(b||1)].first_line,last_line:e[e.length-1].last_line,first_column:e[e.length-(b||1)].first_column,last_column:e[e.length-1].last_column},Gt&&(N._$.range=[e[e.length-(b||1)].range[0],e[e.length-1].range[1]]),pt=this.performAction.apply(N,[l,O,A,v.yy,m[1],p,e].concat(ft)),typeof pt<"u")return pt;b&&(i=i.slice(0,-1*b*2),p=p.slice(0,-1*b),e=e.slice(0,-1*b)),i.push(this.productions_[m[1]][0]),p.push(N.$),e.push(N._$),Ct=$[i[i.length-2]][i[i.length-1]],i.push(Ct);break;case 3:return!0}}return!0}},Yt=function(){var C={EOF:1,parseError:function(n,i){if(this.yy.parser)this.yy.parser.parseError(n,i);else throw new Error(n)},setInput:function(r,n){return this.yy=n||this.yy||{},this._input=r,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var r=this._input[0];this.yytext+=r,this.yyleng++,this.offset++,this.match+=r,this.matched+=r;var n=r.match(/(?:\r\n?|\n).*/g);return n?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),r},unput:function(r){var n=r.length,i=r.split(/(?:\r\n?|\n)/g);this._input=r+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-n),this.offset-=n;var o=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1);var p=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===o.length?this.yylloc.first_column:0)+o[o.length-i.length].length-i[0].length:this.yylloc.first_column-n},this.options.ranges&&(this.yylloc.range=[p[0],p[0]+this.yyleng-n]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(r){this.unput(this.match.slice(r))},pastInput:function(){var r=this.matched.substr(0,this.matched.length-this.match.length);return(r.length>20?"...":"")+r.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var r=this.match;return r.length<20&&(r+=this._input.substr(0,20-r.length)),(r.substr(0,20)+(r.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var r=this.pastInput(),n=new Array(r.length+1).join("-");return r+this.upcomingInput()+` diff --git a/assets/svgDrawCommon-5ccd53ef-BJyTLJKe.js b/assets/svgDrawCommon-5ccd53ef-Cvg07plX.js similarity index 95% rename from assets/svgDrawCommon-5ccd53ef-BJyTLJKe.js rename to assets/svgDrawCommon-5ccd53ef-Cvg07plX.js index 763b7a8..07da873 100644 --- a/assets/svgDrawCommon-5ccd53ef-BJyTLJKe.js +++ b/assets/svgDrawCommon-5ccd53ef-Cvg07plX.js @@ -1 +1 @@ -import{n as o,m as i}from"./mermaid.core-DtSoU78u.js";const l=(s,t)=>{const e=s.append("rect");if(e.attr("x",t.x),e.attr("y",t.y),e.attr("fill",t.fill),e.attr("stroke",t.stroke),e.attr("width",t.width),e.attr("height",t.height),t.name&&e.attr("name",t.name),t.rx!==void 0&&e.attr("rx",t.rx),t.ry!==void 0&&e.attr("ry",t.ry),t.attrs!==void 0)for(const r in t.attrs)e.attr(r,t.attrs[r]);return t.class!==void 0&&e.attr("class",t.class),e},x=(s,t)=>{const e={x:t.startx,y:t.starty,width:t.stopx-t.startx,height:t.stopy-t.starty,fill:t.fill,stroke:t.stroke,class:"rect"};l(s,e).lower()},d=(s,t)=>{const e=t.text.replace(o," "),r=s.append("text");r.attr("x",t.x),r.attr("y",t.y),r.attr("class","legend"),r.style("text-anchor",t.anchor),t.class!==void 0&&r.attr("class",t.class);const n=r.append("tspan");return n.attr("x",t.x+t.textMargin*2),n.text(e),r},h=(s,t,e,r)=>{const n=s.append("image");n.attr("x",t),n.attr("y",e);const a=i.sanitizeUrl(r);n.attr("xlink:href",a)},y=(s,t,e,r)=>{const n=s.append("use");n.attr("x",t),n.attr("y",e);const a=i.sanitizeUrl(r);n.attr("xlink:href",`#${a}`)},g=()=>({x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0}),m=()=>({x:0,y:0,width:100,height:100,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0});export{x as a,m as b,y as c,l as d,h as e,d as f,g}; +import{n as o,m as i}from"./mermaid.core-C-ipfzeP.js";const l=(s,t)=>{const e=s.append("rect");if(e.attr("x",t.x),e.attr("y",t.y),e.attr("fill",t.fill),e.attr("stroke",t.stroke),e.attr("width",t.width),e.attr("height",t.height),t.name&&e.attr("name",t.name),t.rx!==void 0&&e.attr("rx",t.rx),t.ry!==void 0&&e.attr("ry",t.ry),t.attrs!==void 0)for(const r in t.attrs)e.attr(r,t.attrs[r]);return t.class!==void 0&&e.attr("class",t.class),e},x=(s,t)=>{const e={x:t.startx,y:t.starty,width:t.stopx-t.startx,height:t.stopy-t.starty,fill:t.fill,stroke:t.stroke,class:"rect"};l(s,e).lower()},d=(s,t)=>{const e=t.text.replace(o," "),r=s.append("text");r.attr("x",t.x),r.attr("y",t.y),r.attr("class","legend"),r.style("text-anchor",t.anchor),t.class!==void 0&&r.attr("class",t.class);const n=r.append("tspan");return n.attr("x",t.x+t.textMargin*2),n.text(e),r},h=(s,t,e,r)=>{const n=s.append("image");n.attr("x",t),n.attr("y",e);const a=i.sanitizeUrl(r);n.attr("xlink:href",a)},y=(s,t,e,r)=>{const n=s.append("use");n.attr("x",t),n.attr("y",e);const a=i.sanitizeUrl(r);n.attr("xlink:href",`#${a}`)},g=()=>({x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0}),m=()=>({x:0,y:0,width:100,height:100,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0});export{x as a,m as b,y as c,l as d,h as e,d as f,g}; diff --git a/assets/taskiq-with-aiogram.html-OK5Skn8j.js b/assets/taskiq-with-aiogram.html-CiLPbNDv.js similarity index 95% rename from assets/taskiq-with-aiogram.html-OK5Skn8j.js rename to assets/taskiq-with-aiogram.html-CiLPbNDv.js index 0140834..d6ad474 100644 --- a/assets/taskiq-with-aiogram.html-OK5Skn8j.js +++ b/assets/taskiq-with-aiogram.html-CiLPbNDv.js @@ -1,4 +1,4 @@ -import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as o,o as i,c as p,b as n,d as s,e as t,a as c}from"./app-B0fd3cYb.js";const l={},r=n("h1",{id:"taskiq-aiogram",tabindex:"-1"},[n("a",{class:"header-anchor",href:"#taskiq-aiogram"},[n("span",null,"Taskiq + Aiogram")])],-1),u={href:"https://github.com/taskiq-python/taskiq-aiogram",target:"_blank",rel:"noopener noreferrer"},d={href:"https://docs.aiogram.dev/en/latest/",target:"_blank",rel:"noopener noreferrer"},k=c(`

This integration allows you to easily send delayed messages or run intensive functions without blocking the message handing.

This integration adds three main dependencies which you can use in your taskiq functions:

  • aiogram.Bot - the bot instance that you can use to send messages or perform other actions. If multiple bots listen to the same dispatcher, this dependency will be resolved to the latest bot passed in the taskiq_aiogram.init function.
  • aiogram.Dispatcher - current dispatcher instance.
  • List[aiogram.Bot] - list of all bots that were passed to the taskiq_aiogram.init function.

To enable the integration, please install the taskiq-aiogram library:

pip install "taskiq-aiogram"
+import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as o,o as i,c as p,b as n,d as s,e as t,a as c}from"./app-jADuhdjP.js";const l={},r=n("h1",{id:"taskiq-aiogram",tabindex:"-1"},[n("a",{class:"header-anchor",href:"#taskiq-aiogram"},[n("span",null,"Taskiq + Aiogram")])],-1),u={href:"https://github.com/taskiq-python/taskiq-aiogram",target:"_blank",rel:"noopener noreferrer"},d={href:"https://docs.aiogram.dev/en/latest/",target:"_blank",rel:"noopener noreferrer"},k=c(`

This integration allows you to easily send delayed messages or run intensive functions without blocking the message handing.

This integration adds three main dependencies which you can use in your taskiq functions:

  • aiogram.Bot - the bot instance that you can use to send messages or perform other actions. If multiple bots listen to the same dispatcher, this dependency will be resolved to the latest bot passed in the taskiq_aiogram.init function.
  • aiogram.Dispatcher - current dispatcher instance.
  • List[aiogram.Bot] - list of all bots that were passed to the taskiq_aiogram.init function.

To enable the integration, please install the taskiq-aiogram library:

pip install "taskiq-aiogram"
 

After the installation is complete, add an initialization function call to your broker's main file so it becomes something like this:

import asyncio
 
 import taskiq_aiogram
@@ -42,7 +42,7 @@ bot = Bot(@dp.startup()
 async def setup_taskiq(bot: Bot, *_args, **_kwargs):
     # Here we check if it's a clien-side,
-    # Becuase otherwise you're going to
+    # Because otherwise you're going to
     # create infinite loop of startup events.
     if not broker.is_worker_process:
         logging.info("Setting up taskiq")
@@ -72,4 +72,4 @@ bot = Bot(.basicConfig(level=logging.INFO, stream=sys.stdout)
     asyncio.run(main())
 
-

That's it. Now you can easily call tasks from your bots and access bots from within your tasks.

`,10);function m(v,g){const a=o("ExternalLinkIcon");return i(),p("div",null,[r,n("p",null,[n("a",u,[s("Taskiq-Aiogram"),t(a)]),s(" is a nice integration with one of the best telegram bot libraries - "),n("a",d,[s("aiogram"),t(a)]),s(".")]),k])}const y=e(l,[["render",m],["__file","taskiq-with-aiogram.html.vue"]]),w=JSON.parse('{"path":"/framework_integrations/taskiq-with-aiogram.html","title":"Taskiq + Aiogram","lang":"en-US","frontmatter":{"description":"Taskiq + Aiogram Taskiq-Aiogram is a nice integration with one of the best telegram bot libraries - aiogram. This integration allows you to easily send delayed messages or run i...","head":[["meta",{"property":"og:url","content":"https://taskiq-python.github.io/framework_integrations/taskiq-with-aiogram.html"}],["meta",{"property":"og:site_name","content":"Taskiq"}],["meta",{"property":"og:title","content":"Taskiq + Aiogram"}],["meta",{"property":"og:description","content":"Taskiq + Aiogram Taskiq-Aiogram is a nice integration with one of the best telegram bot libraries - aiogram. This integration allows you to easily send delayed messages or run i..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-04-20T00:01:02.000Z"}],["meta",{"property":"article:modified_time","content":"2024-04-20T00:01:02.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Taskiq + Aiogram\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-04-20T00:01:02.000Z\\",\\"author\\":[]}"]]},"headers":[],"git":{"createdTime":1713571262000,"updatedTime":1713571262000,"contributors":[{"name":"Pavel Kirilin","email":"win10@list.ru","commits":1}]},"filePathRelative":"framework_integrations/taskiq-with-aiogram.md","localizedDate":"April 20, 2024","autoDesc":true,"excerpt":"\\n

Taskiq-Aiogram is a nice integration with one of the best telegram bot libraries - aiogram.

\\n

This integration allows you to easily send delayed messages or run intensive functions without blocking the message handing.

"}');export{y as comp,w as data}; +

That's it. Now you can easily call tasks from your bots and access bots from within your tasks.

`,10);function m(v,g){const a=o("ExternalLinkIcon");return i(),p("div",null,[r,n("p",null,[n("a",u,[s("Taskiq-Aiogram"),t(a)]),s(" is a nice integration with one of the best telegram bot libraries - "),n("a",d,[s("aiogram"),t(a)]),s(".")]),k])}const y=e(l,[["render",m],["__file","taskiq-with-aiogram.html.vue"]]),w=JSON.parse('{"path":"/framework_integrations/taskiq-with-aiogram.html","title":"Taskiq + Aiogram","lang":"en-US","frontmatter":{"description":"Taskiq + Aiogram Taskiq-Aiogram is a nice integration with one of the best telegram bot libraries - aiogram. This integration allows you to easily send delayed messages or run i...","head":[["meta",{"property":"og:url","content":"https://taskiq-python.github.io/framework_integrations/taskiq-with-aiogram.html"}],["meta",{"property":"og:site_name","content":"Taskiq"}],["meta",{"property":"og:title","content":"Taskiq + Aiogram"}],["meta",{"property":"og:description","content":"Taskiq + Aiogram Taskiq-Aiogram is a nice integration with one of the best telegram bot libraries - aiogram. This integration allows you to easily send delayed messages or run i..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-04-26T20:07:59.000Z"}],["meta",{"property":"article:modified_time","content":"2024-04-26T20:07:59.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Taskiq + Aiogram\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-04-26T20:07:59.000Z\\",\\"author\\":[]}"]]},"headers":[],"git":{"createdTime":1714162079000,"updatedTime":1714162079000,"contributors":[{"name":"Pavel Kirilin","email":"win10@list.ru","commits":1}]},"filePathRelative":"framework_integrations/taskiq-with-aiogram.md","localizedDate":"April 26, 2024","autoDesc":true,"excerpt":"\\n

Taskiq-Aiogram is a nice integration with one of the best telegram bot libraries - aiogram.

\\n

This integration allows you to easily send delayed messages or run intensive functions without blocking the message handing.

"}');export{y as comp,w as data}; diff --git a/assets/taskiq-with-aiohttp.html-D98UARBe.js b/assets/taskiq-with-aiohttp.html-BiJhLlAm.js similarity index 97% rename from assets/taskiq-with-aiohttp.html-D98UARBe.js rename to assets/taskiq-with-aiohttp.html-BiJhLlAm.js index 4debe62..4b1da5c 100644 --- a/assets/taskiq-with-aiohttp.html-D98UARBe.js +++ b/assets/taskiq-with-aiohttp.html-BiJhLlAm.js @@ -1,4 +1,4 @@ -import{_ as r}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as l,o as d,c as u,b as n,d as e,e as a,w as t,a as p}from"./app-B0fd3cYb.js";const k={},m=n("h1",{id:"taskiq-aiohttp",tabindex:"-1"},[n("a",{class:"header-anchor",href:"#taskiq-aiohttp"},[n("span",null,"Taskiq + AioHTTP")])],-1),v=n("p",null,"AioHTTP is a framework for building robust applications. We created several libraries to make the experience with AioHTTP even better.",-1),h=n("h1",{id:"dependency-injection-for-aiohttp",tabindex:"-1"},[n("a",{class:"header-anchor",href:"#dependency-injection-for-aiohttp"},[n("span",null,"Dependency injection for AioHTTP")])],-1),b={href:"https://pypi.org/project/aiohttp-deps/",target:"_blank",rel:"noopener noreferrer"},y=p(`

To install it, simply run:

pip install "aiohttp-deps"
+import{_ as r}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as l,o as d,c as u,b as n,d as e,e as a,w as t,a as p}from"./app-jADuhdjP.js";const k={},m=n("h1",{id:"taskiq-aiohttp",tabindex:"-1"},[n("a",{class:"header-anchor",href:"#taskiq-aiohttp"},[n("span",null,"Taskiq + AioHTTP")])],-1),v=n("p",null,"AioHTTP is a framework for building robust applications. We created several libraries to make the experience with AioHTTP even better.",-1),h=n("h1",{id:"dependency-injection-for-aiohttp",tabindex:"-1"},[n("a",{class:"header-anchor",href:"#dependency-injection-for-aiohttp"},[n("span",null,"Dependency injection for AioHTTP")])],-1),b={href:"https://pypi.org/project/aiohttp-deps/",target:"_blank",rel:"noopener noreferrer"},y=p(`

To install it, simply run:

pip install "aiohttp-deps"
 

After the installation, please add startup event to your application to initialize dependencies context.

from aiohttp import web
 import aiohttp_deps
 
@@ -75,4 +75,4 @@ taskiq_aiohttp.init.custom_dependency_context = {}
     await client.close()
-
`,3);function j(D,W){const s=l("ExternalLinkIcon"),c=l("Tabs");return d(),u("div",null,[m,v,h,n("p",null,[e("We created a library "),n("a",b,[e("aiohttp-deps"),a(s)]),e(" to add FastAPI-like dependency injection in AioHTTP.")]),y,n("p",null,[e("You can read more about dependency injection and available dependencies in the project's "),n("a",g,[e("README.md"),a(s)]),e(".")]),f,n("p",null,[e("We highly recommend using aiohttp with aiohttp-deps because it allows us to reuse the same dependencies for your handlers and tasks. First of all, you should install the "),n("a",_,[e("taskiq-aiohttp"),a(s)]),e(" library.")]),T,a(c,{id:"37",data:[{id:"Annotated 3.10+"},{id:"default values"}]},{title0:t(({value:i,isActive:o})=>[e("Annotated 3.10+")]),title1:t(({value:i,isActive:o})=>[e("default values")]),tab0:t(({value:i,isActive:o})=>[w]),tab1:t(({value:i,isActive:o})=>[q]),_:1}),A,x,n("p",null,[e("You can find more detailed examples in the "),n("a",P,[e("examples repo"),a(s)]),e(".")]),H])}const S=r(k,[["render",j],["__file","taskiq-with-aiohttp.html.vue"]]),N=JSON.parse('{"path":"/framework_integrations/taskiq-with-aiohttp.html","title":"Taskiq + AioHTTP","lang":"en-US","frontmatter":{"order":2,"description":"Taskiq + AioHTTP AioHTTP is a framework for building robust applications. We created several libraries to make the experience with AioHTTP even better. Dependency injection for ...","head":[["meta",{"property":"og:url","content":"https://taskiq-python.github.io/framework_integrations/taskiq-with-aiohttp.html"}],["meta",{"property":"og:site_name","content":"Taskiq"}],["meta",{"property":"og:title","content":"Taskiq + AioHTTP"}],["meta",{"property":"og:description","content":"Taskiq + AioHTTP AioHTTP is a framework for building robust applications. We created several libraries to make the experience with AioHTTP even better. Dependency injection for ..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-04-20T00:01:02.000Z"}],["meta",{"property":"article:modified_time","content":"2024-04-20T00:01:02.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Taskiq + AioHTTP\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-04-20T00:01:02.000Z\\",\\"author\\":[]}"]]},"headers":[{"level":2,"title":"Adding taskiq integration","slug":"adding-taskiq-integration","link":"#adding-taskiq-integration","children":[]},{"level":2,"title":"Testing","slug":"testing","link":"#testing","children":[]}],"git":{"createdTime":1713571262000,"updatedTime":1713571262000,"contributors":[{"name":"Pavel Kirilin","email":"win10@list.ru","commits":1}]},"filePathRelative":"framework_integrations/taskiq-with-aiohttp.md","localizedDate":"April 20, 2024","autoDesc":true,"excerpt":"\\n

AioHTTP is a framework for building robust applications. We created several libraries to make the experience with AioHTTP even better.

\\n

Dependency injection for AioHTTP

\\n

We created a library aiohttp-deps to add FastAPI-like dependency injection in AioHTTP.

"}');export{S as comp,N as data}; +
`,3);function j(D,W){const s=l("ExternalLinkIcon"),c=l("Tabs");return d(),u("div",null,[m,v,h,n("p",null,[e("We created a library "),n("a",b,[e("aiohttp-deps"),a(s)]),e(" to add FastAPI-like dependency injection in AioHTTP.")]),y,n("p",null,[e("You can read more about dependency injection and available dependencies in the project's "),n("a",g,[e("README.md"),a(s)]),e(".")]),f,n("p",null,[e("We highly recommend using aiohttp with aiohttp-deps because it allows us to reuse the same dependencies for your handlers and tasks. First of all, you should install the "),n("a",_,[e("taskiq-aiohttp"),a(s)]),e(" library.")]),T,a(c,{id:"37",data:[{id:"Annotated 3.10+"},{id:"default values"}]},{title0:t(({value:i,isActive:o})=>[e("Annotated 3.10+")]),title1:t(({value:i,isActive:o})=>[e("default values")]),tab0:t(({value:i,isActive:o})=>[w]),tab1:t(({value:i,isActive:o})=>[q]),_:1}),A,x,n("p",null,[e("You can find more detailed examples in the "),n("a",P,[e("examples repo"),a(s)]),e(".")]),H])}const S=r(k,[["render",j],["__file","taskiq-with-aiohttp.html.vue"]]),N=JSON.parse('{"path":"/framework_integrations/taskiq-with-aiohttp.html","title":"Taskiq + AioHTTP","lang":"en-US","frontmatter":{"order":2,"description":"Taskiq + AioHTTP AioHTTP is a framework for building robust applications. We created several libraries to make the experience with AioHTTP even better. Dependency injection for ...","head":[["meta",{"property":"og:url","content":"https://taskiq-python.github.io/framework_integrations/taskiq-with-aiohttp.html"}],["meta",{"property":"og:site_name","content":"Taskiq"}],["meta",{"property":"og:title","content":"Taskiq + AioHTTP"}],["meta",{"property":"og:description","content":"Taskiq + AioHTTP AioHTTP is a framework for building robust applications. We created several libraries to make the experience with AioHTTP even better. Dependency injection for ..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-04-26T20:07:59.000Z"}],["meta",{"property":"article:modified_time","content":"2024-04-26T20:07:59.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Taskiq + AioHTTP\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-04-26T20:07:59.000Z\\",\\"author\\":[]}"]]},"headers":[{"level":2,"title":"Adding taskiq integration","slug":"adding-taskiq-integration","link":"#adding-taskiq-integration","children":[]},{"level":2,"title":"Testing","slug":"testing","link":"#testing","children":[]}],"git":{"createdTime":1714162079000,"updatedTime":1714162079000,"contributors":[{"name":"Pavel Kirilin","email":"win10@list.ru","commits":1}]},"filePathRelative":"framework_integrations/taskiq-with-aiohttp.md","localizedDate":"April 26, 2024","autoDesc":true,"excerpt":"\\n

AioHTTP is a framework for building robust applications. We created several libraries to make the experience with AioHTTP even better.

\\n

Dependency injection for AioHTTP

\\n

We created a library aiohttp-deps to add FastAPI-like dependency injection in AioHTTP.

"}');export{S as comp,N as data}; diff --git a/assets/taskiq-with-fastapi.html-D1WvGENP.js b/assets/taskiq-with-fastapi.html-BhXpthaG.js similarity index 96% rename from assets/taskiq-with-fastapi.html-D1WvGENP.js rename to assets/taskiq-with-fastapi.html-BhXpthaG.js index 20efe27..87b669e 100644 --- a/assets/taskiq-with-fastapi.html-D1WvGENP.js +++ b/assets/taskiq-with-fastapi.html-BhXpthaG.js @@ -1,4 +1,4 @@ -import{_ as u}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as i,o as d,c as k,b as n,d as s,e,w as a,a as p}from"./app-B0fd3cYb.js";const m={},v=n("h1",{id:"taskiq-fastapi",tabindex:"-1"},[n("a",{class:"header-anchor",href:"#taskiq-fastapi"},[n("span",null,"Taskiq + FastAPI")])],-1),y=n("p",null,"FastAPI is a highly popular async web framework in Python. It has gained its popularity because of two things:",-1),h=n("ol",null,[n("li",null,"It's easy to use;"),n("li",null,"Cool dependency injection.")],-1),b={href:"https://github.com/taskiq-python/taskiq-fastapi",target:"_blank",rel:"noopener noreferrer"},f=p(`

Let's see what we got here. In this library, we provide users with only one public function called init. It takes a broker and a string path (as in uvicorn) to the fastapi application (or factory function). People should call this function in their main broker file.

from taskiq import ZeroMQBroker
+import{_ as u}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as i,o as d,c as k,b as n,d as s,e,w as a,a as p}from"./app-jADuhdjP.js";const m={},v=n("h1",{id:"taskiq-fastapi",tabindex:"-1"},[n("a",{class:"header-anchor",href:"#taskiq-fastapi"},[n("span",null,"Taskiq + FastAPI")])],-1),y=n("p",null,"FastAPI is a highly popular async web framework in Python. It has gained its popularity because of two things:",-1),h=n("ol",null,[n("li",null,"It's easy to use;"),n("li",null,"Cool dependency injection.")],-1),b={href:"https://github.com/taskiq-python/taskiq-fastapi",target:"_blank",rel:"noopener noreferrer"},f=p(`

Let's see what we got here. In this library, we provide users with only one public function called init. It takes a broker and a string path (as in uvicorn) to the fastapi application (or factory function). People should call this function in their main broker file.

from taskiq import ZeroMQBroker
 import taskiq_fastapi
 
 broker = ZeroMQBroker()
@@ -62,4 +62,4 @@ app = FastAPI.custom_dependency_context = {}
 
-

This fixture has autouse flag, which means it would run on every test automatically.

`,5);function x(P,F){const c=i("ExternalLinkIcon"),l=i("Tabs"),r=i("RouteLink");return d(),k("div",null,[v,y,h,n("p",null,[s('In taskiq, we try to make our libraries easy to use, and We have a dependency injection too. So we have created the library "'),n("a",b,[s("taskiq-fastapi"),e(c)]),s('" to make integration with FastAPI as smooth as possible.')]),f,e(l,{id:"55",data:[{id:"Annotated 3.10+"},{id:"default values"}]},{title0:a(({value:t,isActive:o})=>[s("Annotated 3.10+")]),title1:a(({value:t,isActive:o})=>[s("default values")]),tab0:a(({value:t,isActive:o})=>[w]),tab1:a(({value:t,isActive:o})=>[g]),_:1}),_,n("p",null,[s("And that's it. Now you can use your taskiq tasks with functions and classes that depend on FastAPI dependenices. You can find bigger examples in the "),n("a",q,[s("examples repo"),e(c)]),s(".")]),T,n("p",null,[s("Testing is no different from general testing advice from articles about "),e(r,{to:"/guide/testing-taskiq.html"},{default:a(()=>[s("testing")]),_:1}),s(". But if you use "),I,s(" in your tests, you need to provide it with a custom dependency context because it doesn't run as a worker process.")]),A])}const C=u(m,[["render",x],["__file","taskiq-with-fastapi.html.vue"]]),D=JSON.parse(`{"path":"/framework_integrations/taskiq-with-fastapi.html","title":"Taskiq + FastAPI","lang":"en-US","frontmatter":{"order":1,"description":"Taskiq + FastAPI FastAPI is a highly popular async web framework in Python. It has gained its popularity because of two things: It's easy to use; Cool dependency injection. In t...","head":[["meta",{"property":"og:url","content":"https://taskiq-python.github.io/framework_integrations/taskiq-with-fastapi.html"}],["meta",{"property":"og:site_name","content":"Taskiq"}],["meta",{"property":"og:title","content":"Taskiq + FastAPI"}],["meta",{"property":"og:description","content":"Taskiq + FastAPI FastAPI is a highly popular async web framework in Python. It has gained its popularity because of two things: It's easy to use; Cool dependency injection. In t..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-04-20T00:01:02.000Z"}],["meta",{"property":"article:modified_time","content":"2024-04-20T00:01:02.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Taskiq + FastAPI\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-04-20T00:01:02.000Z\\",\\"author\\":[]}"]]},"headers":[{"level":2,"title":"Testing","slug":"testing","link":"#testing","children":[]}],"git":{"createdTime":1713571262000,"updatedTime":1713571262000,"contributors":[{"name":"Pavel Kirilin","email":"win10@list.ru","commits":1}]},"filePathRelative":"framework_integrations/taskiq-with-fastapi.md","localizedDate":"April 20, 2024","autoDesc":true,"excerpt":"\\n

FastAPI is a highly popular async web framework in Python. It has gained its popularity because of two things:

\\n
    \\n
  1. It's easy to use;
  2. \\n
  3. Cool dependency injection.
  4. \\n
\\n

In taskiq, we try to make our libraries easy to use, and We have a dependency injection too. So we have created the library \\"taskiq-fastapi\\" to make integration with FastAPI as smooth as possible.

"}`);export{C as comp,D as data}; +

This fixture has autouse flag, which means it would run on every test automatically.

`,5);function x(P,F){const c=i("ExternalLinkIcon"),l=i("Tabs"),r=i("RouteLink");return d(),k("div",null,[v,y,h,n("p",null,[s('In taskiq, we try to make our libraries easy to use, and We have a dependency injection too. So we have created the library "'),n("a",b,[s("taskiq-fastapi"),e(c)]),s('" to make integration with FastAPI as smooth as possible.')]),f,e(l,{id:"55",data:[{id:"Annotated 3.10+"},{id:"default values"}]},{title0:a(({value:t,isActive:o})=>[s("Annotated 3.10+")]),title1:a(({value:t,isActive:o})=>[s("default values")]),tab0:a(({value:t,isActive:o})=>[w]),tab1:a(({value:t,isActive:o})=>[g]),_:1}),_,n("p",null,[s("And that's it. Now you can use your taskiq tasks with functions and classes that depend on FastAPI dependenices. You can find bigger examples in the "),n("a",q,[s("examples repo"),e(c)]),s(".")]),T,n("p",null,[s("Testing is no different from general testing advice from articles about "),e(r,{to:"/guide/testing-taskiq.html"},{default:a(()=>[s("testing")]),_:1}),s(". But if you use "),I,s(" in your tests, you need to provide it with a custom dependency context because it doesn't run as a worker process.")]),A])}const C=u(m,[["render",x],["__file","taskiq-with-fastapi.html.vue"]]),D=JSON.parse(`{"path":"/framework_integrations/taskiq-with-fastapi.html","title":"Taskiq + FastAPI","lang":"en-US","frontmatter":{"order":1,"description":"Taskiq + FastAPI FastAPI is a highly popular async web framework in Python. It has gained its popularity because of two things: It's easy to use; Cool dependency injection. In t...","head":[["meta",{"property":"og:url","content":"https://taskiq-python.github.io/framework_integrations/taskiq-with-fastapi.html"}],["meta",{"property":"og:site_name","content":"Taskiq"}],["meta",{"property":"og:title","content":"Taskiq + FastAPI"}],["meta",{"property":"og:description","content":"Taskiq + FastAPI FastAPI is a highly popular async web framework in Python. It has gained its popularity because of two things: It's easy to use; Cool dependency injection. In t..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-04-26T20:07:59.000Z"}],["meta",{"property":"article:modified_time","content":"2024-04-26T20:07:59.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Taskiq + FastAPI\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-04-26T20:07:59.000Z\\",\\"author\\":[]}"]]},"headers":[{"level":2,"title":"Testing","slug":"testing","link":"#testing","children":[]}],"git":{"createdTime":1714162079000,"updatedTime":1714162079000,"contributors":[{"name":"Pavel Kirilin","email":"win10@list.ru","commits":1}]},"filePathRelative":"framework_integrations/taskiq-with-fastapi.md","localizedDate":"April 26, 2024","autoDesc":true,"excerpt":"\\n

FastAPI is a highly popular async web framework in Python. It has gained its popularity because of two things:

\\n
    \\n
  1. It's easy to use;
  2. \\n
  3. Cool dependency injection.
  4. \\n
\\n

In taskiq, we try to make our libraries easy to use, and We have a dependency injection too. So we have created the library \\"taskiq-fastapi\\" to make integration with FastAPI as smooth as possible.

"}`);export{C as comp,D as data}; diff --git a/assets/testing-taskiq.html-Cj0e6GeQ.js b/assets/testing-taskiq.html-D3uGnFNX.js similarity index 98% rename from assets/testing-taskiq.html-Cj0e6GeQ.js rename to assets/testing-taskiq.html-D3uGnFNX.js index f23cb23..72f09e8 100644 --- a/assets/testing-taskiq.html-Cj0e6GeQ.js +++ b/assets/testing-taskiq.html-D3uGnFNX.js @@ -1,4 +1,4 @@ -import{_ as r}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as l,o as u,c as d,e as o,w as a,b as n,d as s,a as c}from"./app-B0fd3cYb.js";const k={},m=c('

Testing with taskiq

Every time we write programs, we want them to be correct. To achieve this, we use tests. Taskiq allows you to write tests easily as if tasks were normal functions.

Let's dive into examples.

Preparations

Environment setup

For testing you maybe don't want to use actual distributed broker. But still you want to validate your logic. Since python is an interpreted language, you can easily replace you broker with another one if the expression is correct.

We can set an environment variable, that indicates that currently we're running in testing environment.

',7),v=n("div",{class:"language-bash line-numbers-mode","data-ext":"sh","data-title":"sh"},[n("pre",{class:"language-bash"},[n("code",null,[n("span",{class:"token builtin class-name"},"export"),s(),n("span",{class:"token assign-left variable"},"ENVIRONMENT"),n("span",{class:"token operator"},"="),n("span",{class:"token string"},'"pytest"'),s(` +import{_ as r}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as l,o as u,c as d,e as o,w as a,b as n,d as s,a as c}from"./app-jADuhdjP.js";const k={},m=c('

Testing with taskiq

Every time we write programs, we want them to be correct. To achieve this, we use tests. Taskiq allows you to write tests easily as if tasks were normal functions.

Let's dive into examples.

Preparations

Environment setup

For testing you maybe don't want to use actual distributed broker. But still you want to validate your logic. Since python is an interpreted language, you can easily replace you broker with another one if the expression is correct.

We can set an environment variable, that indicates that currently we're running in testing environment.

',7),v=n("div",{class:"language-bash line-numbers-mode","data-ext":"sh","data-title":"sh"},[n("pre",{class:"language-bash"},[n("code",null,[n("span",{class:"token builtin class-name"},"export"),s(),n("span",{class:"token assign-left variable"},"ENVIRONMENT"),n("span",{class:"token operator"},"="),n("span",{class:"token string"},'"pytest"'),s(` pytest `),n("span",{class:"token parameter variable"},"-vv"),s(` `)])]),n("div",{class:"line-numbers","aria-hidden":"true"},[n("div",{class:"line-number"}),n("div",{class:"line-number"})])],-1),y=n("div",{class:"language-powershell line-numbers-mode","data-ext":"powershell","data-title":"powershell"},[n("pre",{class:"language-powershell"},[n("code",null,[n("span",{class:"token variable"},"$env"),s(":ENVIRONMENT = "),n("span",{class:"token string"},"'pytest'"),s(` pytest `),n("span",{class:"token operator"},"-"),s(`vv @@ -102,4 +102,4 @@ broker: AsyncBroker = await task.wait_result() assert str(result.return_value).endswith("taskiq.py") -

This should pass. And that's it for now.

`,7);function E(N,I){const i=l("Tabs"),p=l("ExternalLinkIcon");return u(),d("div",null,[m,o(i,{id:"21",data:[{id:"linux|macos"},{id:"windows"}]},{title0:a(({value:e,isActive:t})=>[s("linux|macos")]),title1:a(({value:e,isActive:t})=>[s("windows")]),tab0:a(({value:e,isActive:t})=>[v]),tab1:a(({value:e,isActive:t})=>[y]),_:1}),n("p",null,[s("Or we can even tell pytest to set this environment for us, just before executing tests using "),n("a",b,[s("pytest-env"),o(p)]),s(" plugin.")]),o(i,{id:"32",data:[{id:"pytest.ini"},{id:"pyproject.toml"}]},{title0:a(({value:e,isActive:t})=>[s("pytest.ini")]),title1:a(({value:e,isActive:t})=>[s("pyproject.toml")]),tab0:a(({value:e,isActive:t})=>[h]),tab1:a(({value:e,isActive:t})=>[w]),_:1},8,["data"]),g,n("p",null,[s("Since taskiq is fully async, we suggest using "),n("a",f,[s("anyio"),o(p)]),s(" to run async functions in pytest. Install the "),n("a",_,[s("lib"),o(p)]),s(" and place this fixture somewhere in your root "),x,s(" file.")]),q,o(i,{id:"85",data:[{id:"Annotated 3.10+"},{id:"default values"}]},{title0:a(({value:e,isActive:t})=>[s("Annotated 3.10+")]),title1:a(({value:e,isActive:t})=>[s("default values")]),tab0:a(({value:e,isActive:t})=>[T]),tab1:a(({value:e,isActive:t})=>[A]),_:1}),j])}const M=r(k,[["render",E],["__file","testing-taskiq.html.vue"]]),V=JSON.parse(`{"path":"/guide/testing-taskiq.html","title":"Testing with taskiq","lang":"en-US","frontmatter":{"order":10,"description":"Testing with taskiq Every time we write programs, we want them to be correct. To achieve this, we use tests. Taskiq allows you to write tests easily as if tasks were normal func...","head":[["meta",{"property":"og:url","content":"https://taskiq-python.github.io/guide/testing-taskiq.html"}],["meta",{"property":"og:site_name","content":"Taskiq"}],["meta",{"property":"og:title","content":"Testing with taskiq"}],["meta",{"property":"og:description","content":"Testing with taskiq Every time we write programs, we want them to be correct. To achieve this, we use tests. Taskiq allows you to write tests easily as if tasks were normal func..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-04-20T00:01:02.000Z"}],["meta",{"property":"article:modified_time","content":"2024-04-20T00:01:02.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Testing with taskiq\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-04-20T00:01:02.000Z\\",\\"author\\":[]}"]]},"headers":[{"level":2,"title":"Preparations","slug":"preparations","link":"#preparations","children":[{"level":3,"title":"Environment setup","slug":"environment-setup","link":"#environment-setup","children":[]},{"level":3,"title":"Async tests","slug":"async-tests","link":"#async-tests","children":[]}]},{"level":2,"title":"Testing tasks","slug":"testing-tasks","link":"#testing-tasks","children":[]},{"level":2,"title":"Dependency injection","slug":"dependency-injection","link":"#dependency-injection","children":[]}],"git":{"createdTime":1713571262000,"updatedTime":1713571262000,"contributors":[{"name":"Pavel Kirilin","email":"win10@list.ru","commits":1}]},"filePathRelative":"guide/testing-taskiq.md","localizedDate":"April 20, 2024","autoDesc":true,"excerpt":"\\n

Every time we write programs, we want them to be correct. To achieve this, we use tests.\\nTaskiq allows you to write tests easily as if tasks were normal functions.

\\n

Let's dive into examples.

\\n

Preparations

\\n

Environment setup

\\n

For testing you maybe don't want to use actual distributed broker. But still you want to validate your logic.\\nSince python is an interpreted language, you can easily replace you broker with another one if the expression is correct.

"}`);export{M as comp,V as data}; +

This should pass. And that's it for now.

`,7);function E(N,I){const i=l("Tabs"),p=l("ExternalLinkIcon");return u(),d("div",null,[m,o(i,{id:"21",data:[{id:"linux|macos"},{id:"windows"}]},{title0:a(({value:e,isActive:t})=>[s("linux|macos")]),title1:a(({value:e,isActive:t})=>[s("windows")]),tab0:a(({value:e,isActive:t})=>[v]),tab1:a(({value:e,isActive:t})=>[y]),_:1}),n("p",null,[s("Or we can even tell pytest to set this environment for us, just before executing tests using "),n("a",b,[s("pytest-env"),o(p)]),s(" plugin.")]),o(i,{id:"32",data:[{id:"pytest.ini"},{id:"pyproject.toml"}]},{title0:a(({value:e,isActive:t})=>[s("pytest.ini")]),title1:a(({value:e,isActive:t})=>[s("pyproject.toml")]),tab0:a(({value:e,isActive:t})=>[h]),tab1:a(({value:e,isActive:t})=>[w]),_:1},8,["data"]),g,n("p",null,[s("Since taskiq is fully async, we suggest using "),n("a",f,[s("anyio"),o(p)]),s(" to run async functions in pytest. Install the "),n("a",_,[s("lib"),o(p)]),s(" and place this fixture somewhere in your root "),x,s(" file.")]),q,o(i,{id:"85",data:[{id:"Annotated 3.10+"},{id:"default values"}]},{title0:a(({value:e,isActive:t})=>[s("Annotated 3.10+")]),title1:a(({value:e,isActive:t})=>[s("default values")]),tab0:a(({value:e,isActive:t})=>[T]),tab1:a(({value:e,isActive:t})=>[A]),_:1}),j])}const M=r(k,[["render",E],["__file","testing-taskiq.html.vue"]]),V=JSON.parse(`{"path":"/guide/testing-taskiq.html","title":"Testing with taskiq","lang":"en-US","frontmatter":{"order":10,"description":"Testing with taskiq Every time we write programs, we want them to be correct. To achieve this, we use tests. Taskiq allows you to write tests easily as if tasks were normal func...","head":[["meta",{"property":"og:url","content":"https://taskiq-python.github.io/guide/testing-taskiq.html"}],["meta",{"property":"og:site_name","content":"Taskiq"}],["meta",{"property":"og:title","content":"Testing with taskiq"}],["meta",{"property":"og:description","content":"Testing with taskiq Every time we write programs, we want them to be correct. To achieve this, we use tests. Taskiq allows you to write tests easily as if tasks were normal func..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-04-26T20:07:59.000Z"}],["meta",{"property":"article:modified_time","content":"2024-04-26T20:07:59.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Testing with taskiq\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-04-26T20:07:59.000Z\\",\\"author\\":[]}"]]},"headers":[{"level":2,"title":"Preparations","slug":"preparations","link":"#preparations","children":[{"level":3,"title":"Environment setup","slug":"environment-setup","link":"#environment-setup","children":[]},{"level":3,"title":"Async tests","slug":"async-tests","link":"#async-tests","children":[]}]},{"level":2,"title":"Testing tasks","slug":"testing-tasks","link":"#testing-tasks","children":[]},{"level":2,"title":"Dependency injection","slug":"dependency-injection","link":"#dependency-injection","children":[]}],"git":{"createdTime":1714162079000,"updatedTime":1714162079000,"contributors":[{"name":"Pavel Kirilin","email":"win10@list.ru","commits":1}]},"filePathRelative":"guide/testing-taskiq.md","localizedDate":"April 26, 2024","autoDesc":true,"excerpt":"\\n

Every time we write programs, we want them to be correct. To achieve this, we use tests.\\nTaskiq allows you to write tests easily as if tasks were normal functions.

\\n

Let's dive into examples.

\\n

Preparations

\\n

Environment setup

\\n

For testing you maybe don't want to use actual distributed broker. But still you want to validate your logic.\\nSince python is an interpreted language, you can easily replace you broker with another one if the expression is correct.

"}`);export{M as comp,V as data}; diff --git a/assets/timeline-definition-fea2a41d-SN4IvUvc.js b/assets/timeline-definition-fea2a41d-D-z6TUtQ.js similarity index 99% rename from assets/timeline-definition-fea2a41d-SN4IvUvc.js rename to assets/timeline-definition-fea2a41d-D-z6TUtQ.js index 6ca1669..834c763 100644 --- a/assets/timeline-definition-fea2a41d-SN4IvUvc.js +++ b/assets/timeline-definition-fea2a41d-D-z6TUtQ.js @@ -1,4 +1,4 @@ -import{b5 as ft,A as gt,c as mt,l as E,h as G,u as xt,b6 as bt,b7 as _t,b8 as kt}from"./mermaid.core-DtSoU78u.js";import{a as D}from"./arc-DjSouOTM.js";import"./app-B0fd3cYb.js";import"./path-CbwjOpE9.js";var K=function(){var n=function(g,i,r,c){for(r=r||{},c=g.length;c--;r[g[c]]=i);return r},t=[6,8,10,11,12,14,16,17,20,21],e=[1,9],a=[1,10],s=[1,11],h=[1,12],l=[1,13],p=[1,16],y=[1,17],f={trace:function(){},yy:{},symbols_:{error:2,start:3,timeline:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,title:11,acc_title:12,acc_title_value:13,acc_descr:14,acc_descr_value:15,acc_descr_multiline_value:16,section:17,period_statement:18,event_statement:19,period:20,event:21,$accept:0,$end:1},terminals_:{2:"error",4:"timeline",6:"EOF",8:"SPACE",10:"NEWLINE",11:"title",12:"acc_title",13:"acc_title_value",14:"acc_descr",15:"acc_descr_value",16:"acc_descr_multiline_value",17:"section",20:"period",21:"event"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,1],[9,1],[18,1],[19,1]],performAction:function(i,r,c,d,u,o,$){var x=o.length-1;switch(u){case 1:return o[x-1];case 2:this.$=[];break;case 3:o[x-1].push(o[x]),this.$=o[x-1];break;case 4:case 5:this.$=o[x];break;case 6:case 7:this.$=[];break;case 8:d.getCommonDb().setDiagramTitle(o[x].substr(6)),this.$=o[x].substr(6);break;case 9:this.$=o[x].trim(),d.getCommonDb().setAccTitle(this.$);break;case 10:case 11:this.$=o[x].trim(),d.getCommonDb().setAccDescription(this.$);break;case 12:d.addSection(o[x].substr(8)),this.$=o[x].substr(8);break;case 15:d.addTask(o[x],0,""),this.$=o[x];break;case 16:d.addEvent(o[x].substr(2)),this.$=o[x];break}},table:[{3:1,4:[1,2]},{1:[3]},n(t,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:e,12:a,14:s,16:h,17:l,18:14,19:15,20:p,21:y},n(t,[2,7],{1:[2,1]}),n(t,[2,3]),{9:18,11:e,12:a,14:s,16:h,17:l,18:14,19:15,20:p,21:y},n(t,[2,5]),n(t,[2,6]),n(t,[2,8]),{13:[1,19]},{15:[1,20]},n(t,[2,11]),n(t,[2,12]),n(t,[2,13]),n(t,[2,14]),n(t,[2,15]),n(t,[2,16]),n(t,[2,4]),n(t,[2,9]),n(t,[2,10])],defaultActions:{},parseError:function(i,r){if(r.recoverable)this.trace(i);else{var c=new Error(i);throw c.hash=r,c}},parse:function(i){var r=this,c=[0],d=[],u=[null],o=[],$=this.table,x="",T=0,W=0,C=2,A=1,B=o.slice.call(arguments,1),k=Object.create(this.lexer),w={yy:{}};for(var v in this.yy)Object.prototype.hasOwnProperty.call(this.yy,v)&&(w.yy[v]=this.yy[v]);k.setInput(i,w.yy),w.yy.lexer=k,w.yy.parser=this,typeof k.yylloc>"u"&&(k.yylloc={});var I=k.yylloc;o.push(I);var P=k.options&&k.options.ranges;typeof w.yy.parseError=="function"?this.parseError=w.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function z(){var M;return M=d.pop()||k.lex()||A,typeof M!="number"&&(M instanceof Array&&(d=M,M=d.pop()),M=r.symbols_[M]||M),M}for(var _,L,S,Z,R={},O,N,Y,j;;){if(L=c[c.length-1],this.defaultActions[L]?S=this.defaultActions[L]:((_===null||typeof _>"u")&&(_=z()),S=$[L]&&$[L][_]),typeof S>"u"||!S.length||!S[0]){var J="";j=[];for(O in $[L])this.terminals_[O]&&O>C&&j.push("'"+this.terminals_[O]+"'");k.showPosition?J="Parse error on line "+(T+1)+`: +import{b5 as ft,A as gt,c as mt,l as E,h as G,u as xt,b6 as bt,b7 as _t,b8 as kt}from"./mermaid.core-C-ipfzeP.js";import{a as D}from"./arc-DTqpOiQk.js";import"./app-jADuhdjP.js";import"./path-CbwjOpE9.js";var K=function(){var n=function(g,i,r,c){for(r=r||{},c=g.length;c--;r[g[c]]=i);return r},t=[6,8,10,11,12,14,16,17,20,21],e=[1,9],a=[1,10],s=[1,11],h=[1,12],l=[1,13],p=[1,16],y=[1,17],f={trace:function(){},yy:{},symbols_:{error:2,start:3,timeline:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,title:11,acc_title:12,acc_title_value:13,acc_descr:14,acc_descr_value:15,acc_descr_multiline_value:16,section:17,period_statement:18,event_statement:19,period:20,event:21,$accept:0,$end:1},terminals_:{2:"error",4:"timeline",6:"EOF",8:"SPACE",10:"NEWLINE",11:"title",12:"acc_title",13:"acc_title_value",14:"acc_descr",15:"acc_descr_value",16:"acc_descr_multiline_value",17:"section",20:"period",21:"event"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,1],[9,1],[18,1],[19,1]],performAction:function(i,r,c,d,u,o,$){var x=o.length-1;switch(u){case 1:return o[x-1];case 2:this.$=[];break;case 3:o[x-1].push(o[x]),this.$=o[x-1];break;case 4:case 5:this.$=o[x];break;case 6:case 7:this.$=[];break;case 8:d.getCommonDb().setDiagramTitle(o[x].substr(6)),this.$=o[x].substr(6);break;case 9:this.$=o[x].trim(),d.getCommonDb().setAccTitle(this.$);break;case 10:case 11:this.$=o[x].trim(),d.getCommonDb().setAccDescription(this.$);break;case 12:d.addSection(o[x].substr(8)),this.$=o[x].substr(8);break;case 15:d.addTask(o[x],0,""),this.$=o[x];break;case 16:d.addEvent(o[x].substr(2)),this.$=o[x];break}},table:[{3:1,4:[1,2]},{1:[3]},n(t,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:e,12:a,14:s,16:h,17:l,18:14,19:15,20:p,21:y},n(t,[2,7],{1:[2,1]}),n(t,[2,3]),{9:18,11:e,12:a,14:s,16:h,17:l,18:14,19:15,20:p,21:y},n(t,[2,5]),n(t,[2,6]),n(t,[2,8]),{13:[1,19]},{15:[1,20]},n(t,[2,11]),n(t,[2,12]),n(t,[2,13]),n(t,[2,14]),n(t,[2,15]),n(t,[2,16]),n(t,[2,4]),n(t,[2,9]),n(t,[2,10])],defaultActions:{},parseError:function(i,r){if(r.recoverable)this.trace(i);else{var c=new Error(i);throw c.hash=r,c}},parse:function(i){var r=this,c=[0],d=[],u=[null],o=[],$=this.table,x="",T=0,W=0,C=2,A=1,B=o.slice.call(arguments,1),k=Object.create(this.lexer),w={yy:{}};for(var v in this.yy)Object.prototype.hasOwnProperty.call(this.yy,v)&&(w.yy[v]=this.yy[v]);k.setInput(i,w.yy),w.yy.lexer=k,w.yy.parser=this,typeof k.yylloc>"u"&&(k.yylloc={});var I=k.yylloc;o.push(I);var P=k.options&&k.options.ranges;typeof w.yy.parseError=="function"?this.parseError=w.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function z(){var M;return M=d.pop()||k.lex()||A,typeof M!="number"&&(M instanceof Array&&(d=M,M=d.pop()),M=r.symbols_[M]||M),M}for(var _,L,S,Z,R={},O,N,Y,j;;){if(L=c[c.length-1],this.defaultActions[L]?S=this.defaultActions[L]:((_===null||typeof _>"u")&&(_=z()),S=$[L]&&$[L][_]),typeof S>"u"||!S.length||!S[0]){var J="";j=[];for(O in $[L])this.terminals_[O]&&O>C&&j.push("'"+this.terminals_[O]+"'");k.showPosition?J="Parse error on line "+(T+1)+`: `+k.showPosition()+` Expecting `+j.join(", ")+", got '"+(this.terminals_[_]||_)+"'":J="Parse error on line "+(T+1)+": Unexpected "+(_==A?"end of input":"'"+(this.terminals_[_]||_)+"'"),this.parseError(J,{text:k.match,token:this.terminals_[_]||_,line:k.yylineno,loc:I,expected:j})}if(S[0]instanceof Array&&S.length>1)throw new Error("Parse Error: multiple actions possible at state: "+L+", token: "+_);switch(S[0]){case 1:c.push(_),u.push(k.yytext),o.push(k.yylloc),c.push(S[1]),_=null,W=k.yyleng,x=k.yytext,T=k.yylineno,I=k.yylloc;break;case 2:if(N=this.productions_[S[1]][1],R.$=u[u.length-N],R._$={first_line:o[o.length-(N||1)].first_line,last_line:o[o.length-1].last_line,first_column:o[o.length-(N||1)].first_column,last_column:o[o.length-1].last_column},P&&(R._$.range=[o[o.length-(N||1)].range[0],o[o.length-1].range[1]]),Z=this.performAction.apply(R,[x,W,T,w.yy,S[1],u,o].concat(B)),typeof Z<"u")return Z;N&&(c=c.slice(0,-1*N*2),u=u.slice(0,-1*N),o=o.slice(0,-1*N)),c.push(this.productions_[S[1]][0]),u.push(R.$),o.push(R._$),Y=$[c[c.length-2]][c[c.length-1]],c.push(Y);break;case 3:return!0}}return!0}},b=function(){var g={EOF:1,parseError:function(r,c){if(this.yy.parser)this.yy.parser.parseError(r,c);else throw new Error(r)},setInput:function(i,r){return this.yy=r||this.yy||{},this._input=i,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var i=this._input[0];this.yytext+=i,this.yyleng++,this.offset++,this.match+=i,this.matched+=i;var r=i.match(/(?:\r\n?|\n).*/g);return r?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),i},unput:function(i){var r=i.length,c=i.split(/(?:\r\n?|\n)/g);this._input=i+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-r),this.offset-=r;var d=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),c.length-1&&(this.yylineno-=c.length-1);var u=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:c?(c.length===d.length?this.yylloc.first_column:0)+d[d.length-c.length].length-c[0].length:this.yylloc.first_column-r},this.options.ranges&&(this.yylloc.range=[u[0],u[0]+this.yyleng-r]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(i){this.unput(this.match.slice(i))},pastInput:function(){var i=this.matched.substr(0,this.matched.length-this.match.length);return(i.length>20?"...":"")+i.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var i=this.match;return i.length<20&&(i+=this._input.substr(0,20-i.length)),(i.substr(0,20)+(i.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var i=this.pastInput(),r=new Array(i.length+1).join("-");return i+this.upcomingInput()+` diff --git a/assets/xychartDiagram-ab372869-DCFrL7jW.js b/assets/xychartDiagram-ab372869-kZ1xnALt.js similarity index 99% rename from assets/xychartDiagram-ab372869-DCFrL7jW.js rename to assets/xychartDiagram-ab372869-kZ1xnALt.js index eee3533..1ff49ba 100644 --- a/assets/xychartDiagram-ab372869-DCFrL7jW.js +++ b/assets/xychartDiagram-ab372869-kZ1xnALt.js @@ -1,4 +1,4 @@ -import{a$ as zt,b0 as ot,aN as wt,aM as Ft,s as Nt,g as Xt,x as Yt,y as St,a as Ht,b as $t,A as Ut,l as Ct,aK as qt,i as jt,d as Gt}from"./mermaid.core-DtSoU78u.js";import{a as Qt}from"./createText-6b48ae7d-BQ6Vxn2Q.js";import{i as Kt}from"./init-Gi6I4Gst.js";import{o as Zt}from"./ordinal-Cboi1Yqb.js";import{l as ft}from"./linear-CPhCWOMV.js";import{l as pt}from"./line-BM-2XH-S.js";import"./app-B0fd3cYb.js";import"./array-BKyUJesY.js";import"./path-CbwjOpE9.js";function Jt(e,t,i){e=+e,t=+t,i=(n=arguments.length)<2?(t=e,e=0,1):n<3?1:+i;for(var s=-1,n=Math.max(0,Math.ceil((t-e)/i))|0,o=new Array(n);++s"u"&&(k.yylloc={});var tt=k.yylloc;a.push(tt);var Wt=k.options&&k.options.ranges;typeof B.yy.parseError=="function"?this.parseError=B.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Ot(){var I;return I=g.pop()||k.lex()||xt,typeof I!="number"&&(I instanceof Array&&(g=I,I=g.pop()),I=l.symbols_[I]||I),I}for(var D,W,v,it,O={},q,M,dt,j;;){if(W=u[u.length-1],this.defaultActions[W]?v=this.defaultActions[W]:((D===null||typeof D>"u")&&(D=Ot()),v=F[W]&&F[W][D]),typeof v>"u"||!v.length||!v[0]){var et="";j=[];for(q in F[W])this.terminals_[q]&&q>Vt&&j.push("'"+this.terminals_[q]+"'");k.showPosition?et="Parse error on line "+(U+1)+`: +import{a$ as zt,b0 as ot,aN as wt,aM as Ft,s as Nt,g as Xt,x as Yt,y as St,a as Ht,b as $t,A as Ut,l as Ct,aK as qt,i as jt,d as Gt}from"./mermaid.core-C-ipfzeP.js";import{a as Qt}from"./createText-6b48ae7d-CHYbp3CC.js";import{i as Kt}from"./init-Gi6I4Gst.js";import{o as Zt}from"./ordinal-Cboi1Yqb.js";import{l as ft}from"./linear-BA-jiqnj.js";import{l as pt}from"./line-BVHj5-SV.js";import"./app-jADuhdjP.js";import"./array-BKyUJesY.js";import"./path-CbwjOpE9.js";function Jt(e,t,i){e=+e,t=+t,i=(n=arguments.length)<2?(t=e,e=0,1):n<3?1:+i;for(var s=-1,n=Math.max(0,Math.ceil((t-e)/i))|0,o=new Array(n);++s"u"&&(k.yylloc={});var tt=k.yylloc;a.push(tt);var Wt=k.options&&k.options.ranges;typeof B.yy.parseError=="function"?this.parseError=B.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Ot(){var I;return I=g.pop()||k.lex()||xt,typeof I!="number"&&(I instanceof Array&&(g=I,I=g.pop()),I=l.symbols_[I]||I),I}for(var D,W,v,it,O={},q,M,dt,j;;){if(W=u[u.length-1],this.defaultActions[W]?v=this.defaultActions[W]:((D===null||typeof D>"u")&&(D=Ot()),v=F[W]&&F[W][D]),typeof v>"u"||!v.length||!v[0]){var et="";j=[];for(q in F[W])this.terminals_[q]&&q>Vt&&j.push("'"+this.terminals_[q]+"'");k.showPosition?et="Parse error on line "+(U+1)+`: `+k.showPosition()+` Expecting `+j.join(", ")+", got '"+(this.terminals_[D]||D)+"'":et="Parse error on line "+(U+1)+": Unexpected "+(D==xt?"end of input":"'"+(this.terminals_[D]||D)+"'"),this.parseError(et,{text:k.match,token:this.terminals_[D]||D,line:k.yylineno,loc:tt,expected:j})}if(v[0]instanceof Array&&v.length>1)throw new Error("Parse Error: multiple actions possible at state: "+W+", token: "+D);switch(v[0]){case 1:u.push(D),b.push(k.yytext),a.push(k.yylloc),u.push(v[1]),D=null,gt=k.yyleng,x=k.yytext,U=k.yylineno,tt=k.yylloc;break;case 2:if(M=this.productions_[v[1]][1],O.$=b[b.length-M],O._$={first_line:a[a.length-(M||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(M||1)].first_column,last_column:a[a.length-1].last_column},Wt&&(O._$.range=[a[a.length-(M||1)].range[0],a[a.length-1].range[1]]),it=this.performAction.apply(O,[x,gt,U,B.yy,v[1],b,a].concat(Bt)),typeof it<"u")return it;M&&(u=u.slice(0,-1*M*2),b=b.slice(0,-1*M),a=a.slice(0,-1*M)),u.push(this.productions_[v[1]][0]),b.push(O.$),a.push(O._$),dt=F[u[u.length-2]][u[u.length-1]],u.push(dt);break;case 3:return!0}}return!0}},It=function(){var V={EOF:1,parseError:function(l,u){if(this.yy.parser)this.yy.parser.parseError(l,u);else throw new Error(l)},setInput:function(r,l){return this.yy=l||this.yy||{},this._input=r,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var r=this._input[0];this.yytext+=r,this.yyleng++,this.offset++,this.match+=r,this.matched+=r;var l=r.match(/(?:\r\n?|\n).*/g);return l?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),r},unput:function(r){var l=r.length,u=r.split(/(?:\r\n?|\n)/g);this._input=r+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-l),this.offset-=l;var g=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),u.length-1&&(this.yylineno-=u.length-1);var b=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:u?(u.length===g.length?this.yylloc.first_column:0)+g[g.length-u.length].length-u[0].length:this.yylloc.first_column-l},this.options.ranges&&(this.yylloc.range=[b[0],b[0]+this.yyleng-l]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(r){this.unput(this.match.slice(r))},pastInput:function(){var r=this.matched.substr(0,this.matched.length-this.match.length);return(r.length>20?"...":"")+r.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var r=this.match;return r.length<20&&(r+=this._input.substr(0,20-r.length)),(r.substr(0,20)+(r.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var r=this.pastInput(),l=new Array(r.length+1).join("-");return r+this.upcomingInput()+` diff --git a/available-components/brokers.html b/available-components/brokers.html index ff82396..10146d8 100644 --- a/available-components/brokers.html +++ b/available-components/brokers.html @@ -28,13 +28,13 @@ document.documentElement.setAttribute("data-theme", "dark"); } - Available brokers | Taskiq - - - + Available brokers | Taskiq + + + -
Skip to main content

Available brokers

...

Available brokers

In this section we'll list officially supported brokers.

InMemoryBroker

This is a special broker for local development. It uses the same functions to execute tasks, but all tasks are executed locally in the current thread. By default it uses InMemoryResultBackend but this can be overridden.

ZeroMQBroker

This broker uses ZMQopen in new window to communicate between worker and client processes. It's suitable for small projects with only ONE worker process, because of the ZMQ architecture.

It publishes messages on the local port. All worker processes are reading messages from this port. If you run many worker processes, all tasks will be executed N times, where N is the total number of worker processes.

Be careful!

If you choose this type of broker, please run taskiq with -w 1 parameter, otherwise you may encounter undefined behavior.

To run this broker please install the pyzmqopen in new window lib. Or you can taskiq with zmq extra.

Only PyZMQ
pip install pyzmq
+    
Skip to main content

Available brokers

...

Available brokers

In this section we'll list officially supported brokers.

InMemoryBroker

This is a special broker for local development. It uses the same functions to execute tasks, but all tasks are executed locally in the current thread. By default it uses InMemoryResultBackend but this can be overridden.

ZeroMQBroker

This broker uses ZMQopen in new window to communicate between worker and client processes. It's suitable for small projects with only ONE worker process, because of the ZMQ architecture.

It publishes messages on the local port. All worker processes are reading messages from this port. If you run many worker processes, all tasks will be executed N times, where N is the total number of worker processes.

Be careful!

If you choose this type of broker, please run taskiq with -w 1 parameter, otherwise you may encounter undefined behavior.

To run this broker please install the pyzmqopen in new window lib. Or you can taskiq with zmq extra.

Only PyZMQ
pip install pyzmq
 

Async shared broker and shared tasks

This is also a special broker. You cannot use it directly. It's used to create shared tasks. These tasks can be imported along with user defined tasks. To define a shared task please use this broker.

from taskiq.brokers.shared_broker import async_shared_broker
 
@@ -49,6 +49,6 @@
 

Redis broker

Project link: taskiq-redisopen in new window.

pip install taskiq-redis
 

NATS broker

Project link: taskiq-natsopen in new window.

pip install taskiq-nats
 
- + diff --git a/available-components/index.html b/available-components/index.html index 0a0fe7c..679de05 100644 --- a/available-components/index.html +++ b/available-components/index.html @@ -28,13 +28,13 @@ document.documentElement.setAttribute("data-theme", "dark"); } - Available components | Taskiq - - - + Available components | Taskiq + + + -
Skip to main content

Available components

...

Available components

In this section, you can find a list of officially supported plugins for the taskiq.

- +
Skip to main content

Available components

...

Available components

In this section, you can find a list of officially supported plugins for the taskiq.

+ diff --git a/available-components/middlewares.html b/available-components/middlewares.html index 917c847..459746b 100644 --- a/available-components/middlewares.html +++ b/available-components/middlewares.html @@ -28,13 +28,13 @@ document.documentElement.setAttribute("data-theme", "dark"); } - Available middlewares | Taskiq - - - + Available middlewares | Taskiq + + + -
Skip to main content

Available middlewares

...

Available middlewares

Middlewares allow you to execute code when specific event occurs. Taskiq has several default middlewares.

Simple retry middleware

This middleware allows you to restart functions on errors. If exception was raised during task execution, the task would be resent with same parameters.

To enable this middleware, add it to the list of middlewares for a broker.

from taskiq import ZeroMQBroker, SimpleRetryMiddleware
+    
Skip to main content

Available middlewares

...

Available middlewares

Middlewares allow you to execute code when specific event occurs. Taskiq has several default middlewares.

Simple retry middleware

This middleware allows you to restart functions on errors. If exception was raised during task execution, the task would be resent with same parameters.

To enable this middleware, add it to the list of middlewares for a broker.

from taskiq import ZeroMQBroker, SimpleRetryMiddleware
 
 broker = ZeroMQBroker().with_middlewares(
     SimpleRetryMiddleware(default_retry_count=3),
@@ -52,6 +52,6 @@
     PrometheusMiddleware(server_addr="0.0.0.0", server_port=9000),
 )
 

After that, metrics will be available at port 9000. Of course, this parameter can be configured. If you have other metrics, they'll be shown as well.

- + diff --git a/available-components/result-backends.html b/available-components/result-backends.html index a70dfa2..1cb85bc 100644 --- a/available-components/result-backends.html +++ b/available-components/result-backends.html @@ -28,14 +28,14 @@ document.documentElement.setAttribute("data-theme", "dark"); } - Available result backends | Taskiq - - - + Available result backends | Taskiq + + + -
Skip to main content

Available result backends

...

Available result backends

Result backends are used to store execution results. This includes:

  • return value;
  • Execution time in seconds.

DummyResultBackend

This result backend doesn't do anything. It doesn't store results and cannot be used in cases, where you need actual results.

This broker will always return None for any return_value. Please be careful.

Redis result backend

This result backend is not part of the core taskiq library. You can install it as a separate package taskiq-redisopen in new window.

pip install taskiq-redis
+    
Skip to main content

Available result backends

...

Available result backends

Result backends are used to store execution results. This includes:

  • return value;
  • Execution time in seconds.

DummyResultBackend

This result backend doesn't do anything. It doesn't store results and cannot be used in cases, where you need actual results.

This broker will always return None for any return_value. Please be careful.

Redis result backend

This result backend is not part of the core taskiq library. You can install it as a separate package taskiq-redisopen in new window.

pip install taskiq-redis
 

You can read more about parameters and abilities of this broker in README.mdopen in new window.

- + diff --git a/available-components/schedule-sources.html b/available-components/schedule-sources.html index c7794c1..159a309 100644 --- a/available-components/schedule-sources.html +++ b/available-components/schedule-sources.html @@ -28,13 +28,13 @@ document.documentElement.setAttribute("data-theme", "dark"); } - Available schedule sources | Taskiq - - - + Available schedule sources | Taskiq + + + -
Skip to main content

Available schedule sources

...

Available schedule sources

These objects are used to fetch current schedule for tasks. Currently we have only one schedule source.

RedisScheduleSource

This source is capable of adding new schedules in runtime. It uses Redis as a storage for schedules. To use this source you need to install taskiq-redis package.

from taskiq_redis import RedisScheduleSource
+    
Skip to main content

Available schedule sources

...

Available schedule sources

These objects are used to fetch current schedule for tasks. Currently we have only one schedule source.

RedisScheduleSource

This source is capable of adding new schedules in runtime. It uses Redis as a storage for schedules. To use this source you need to install taskiq-redis package.

from taskiq_redis import RedisScheduleSource
 
 from taskiq import TaskiqScheduler
 
@@ -64,6 +64,6 @@
     sources=[LabelScheduleSource(broker)],
 )
 

Cool notice!

In order to resolve all labels correctly, don't forget to import all task modules using CLI interface.

- + diff --git a/contrib.html b/contrib.html index b085e8b..1155dc5 100644 --- a/contrib.html +++ b/contrib.html @@ -28,19 +28,19 @@ document.documentElement.setAttribute("data-theme", "dark"); } - Contribution guide | Taskiq - - - + Contribution guide | Taskiq + + + -
Skip to main content

Contribution guide

...

Contribution guide

We love contributions. This guide is for all folks who want to make taskiq better together. We have several rules for contributors:

  • Please do not add malware.
  • Please make sure that your request solves the problem.

If you struggle with something or feel frustrated, you either create an issue, create a discussionsopen in new window. page or publish a draft PR and ask your question in the description.

We have lots of tests in CI. But since CI runs from first-time contributors should be approved, you better test locally. It just takes less time to prepare PR for merging.

Setting up environment

We use poetry for managing dependencies. To install it, please follow the official guide in documentationopen in new window.

After you have cloned the taskiq repo, install dependencies using this command:

poetry install
+    
Skip to main content

Contribution guide

...

Contribution guide

We love contributions. This guide is for all folks who want to make taskiq better together. We have several rules for contributors:

  • Please do not add malware.
  • Please make sure that your request solves the problem.

If you struggle with something or feel frustrated, you either create an issue, create a discussionsopen in new window. page or publish a draft PR and ask your question in the description.

We have lots of tests in CI. But since CI runs from first-time contributors should be approved, you better test locally. It just takes less time to prepare PR for merging.

Setting up environment

We use poetry for managing dependencies. To install it, please follow the official guide in documentationopen in new window.

After you have cloned the taskiq repo, install dependencies using this command:

poetry install
 

It will install all required dependencies. If you want to run pytest against different python environments, please install pyenv using instructions from its readmeopen in new window.

After pyenv is ready, you can install all python versions using this command:

pyenv install
 

Linting

We have pre-commit configured with all our settings. We highly recommend you to install it as a git hook using pre-commit install command.

But even without installation, you can run all lints manually:

pre-commit run -a
 

Testing

You can run pytest without any parameters and it will do the thing.

pytest
 

If you want to speedup testings, you can run it with -n option from pytest-xdistopen in new window to run tests in parallel.

pytest -n 2
 

Also we use tox to test against different environments. You can publish a PR to run pytest with different python versions, but if you want to do it locally, just run tox command.

tox
 

Tox assumes that you've installed python versions using pyenv with command above.

- + diff --git a/extending-taskiq/broker.html b/extending-taskiq/broker.html index 1eab72a..2d06c91 100644 --- a/extending-taskiq/broker.html +++ b/extending-taskiq/broker.html @@ -28,13 +28,13 @@ document.documentElement.setAttribute("data-theme", "dark"); } - Brokers | Taskiq - - - + Brokers | Taskiq + + + -
Skip to main content

Brokers

...

Brokers

To add a new broker you need to implement two methods kick and listen of the taskiq.abc.broker.AsyncBroker abstract class. But along with them we have helper methods. Such as shutdown and startup.

Here is a template for new brokers:

from typing import AsyncGenerator, Union
+    
Skip to main content

Brokers

...

Brokers

To add a new broker you need to implement two methods kick and listen of the taskiq.abc.broker.AsyncBroker abstract class. But along with them we have helper methods. Such as shutdown and startup.

Here is a template for new brokers:

from typing import AsyncGenerator, Union
 
 from taskiq import AckableMessage, AsyncBroker, BrokerMessage
 
@@ -78,6 +78,6 @@
          reject=message.reject
       )
 

Conventions

For brokers, we have several conventions. It's good if your broker implements them. These rules are optional, and it's ok if your broker doesn't implement them.

  1. If the message has the delay label with int or float number, this task's execution must be delayed with the same number of seconds as in the delay label.
  2. If the message has the priority label, this message must be sent with priority. Tasks with higher priorities are executed sooner.
- + diff --git a/extending-taskiq/cli.html b/extending-taskiq/cli.html index e74128e..340c588 100644 --- a/extending-taskiq/cli.html +++ b/extending-taskiq/cli.html @@ -28,13 +28,13 @@ document.documentElement.setAttribute("data-theme", "dark"); } - CLI | Taskiq - - - + CLI | Taskiq + + + -
Skip to main content

CLI

...

CLI

You can easily add new subcommands to taskiq. All default subcommands also use this mechanism, since it's easy to use.

At first you need to add a class that implements taskiq.abc.cmd.TaskiqCMD abstract class.

from argparse import ArgumentParser
+    
Skip to main content

CLI

...

CLI

You can easily add new subcommands to taskiq. All default subcommands also use this mechanism, since it's easy to use.

At first you need to add a class that implements taskiq.abc.cmd.TaskiqCMD abstract class.

from argparse import ArgumentParser
 from typing import Sequence
 
 from taskiq.abc.cmd import TaskiqCMD
@@ -76,6 +76,6 @@
 
$ taskiq demo --test aaa
 Namespace(test='aaa')
 
- + diff --git a/extending-taskiq/index.html b/extending-taskiq/index.html index e314dbc..fce1eef 100644 --- a/extending-taskiq/index.html +++ b/extending-taskiq/index.html @@ -28,13 +28,13 @@ document.documentElement.setAttribute("data-theme", "dark"); } - Extending taskiq | Taskiq - - - + Extending taskiq | Taskiq + + + -
Skip to main content

Extending taskiq

...

Extending taskiq

Taskiq is super extendable. The core library comes with different abstract classes. You can implement these abstract classes to extend functionality.

All abstract classes can be found in taskiq.abc package.

Contents:

- +
Skip to main content

Extending taskiq

...

Extending taskiq

Taskiq is super extendable. The core library comes with different abstract classes. You can implement these abstract classes to extend functionality.

All abstract classes can be found in taskiq.abc package.

Contents:

+ diff --git a/extending-taskiq/middleware.html b/extending-taskiq/middleware.html index 850067d..3acf5dc 100644 --- a/extending-taskiq/middleware.html +++ b/extending-taskiq/middleware.html @@ -28,13 +28,13 @@ document.documentElement.setAttribute("data-theme", "dark"); } - Middlewares | Taskiq - - - + Middlewares | Taskiq + + + -
Skip to main content

Middlewares

...

Middlewares

Middlewares are super helpful. You can inject some code before or after task's execution.

Middlewares must implement taskiq.abc.middleware.TaskiqMiddlewareopen in new window abstract class. Every method of a middleware can be either sync or async. Taskiq will execute it as you expect.

For example:

sync
from time import sleep
+    
Skip to main content

Middlewares

...

Middlewares

Middlewares are super helpful. You can inject some code before or after task's execution.

Middlewares must implement taskiq.abc.middleware.TaskiqMiddlewareopen in new window abstract class. Every method of a middleware can be either sync or async. Taskiq will execute it as you expect.

For example:

sync
from time import sleep
 from typing import Any
 
 from taskiq import TaskiqMessage, TaskiqMiddleware, TaskiqResult
@@ -83,6 +83,6 @@
         await sleep(1)
         print("Post save")
 

Also, middlewares always have reference to the current broker in self.broker field. If you want to kick a message during the execution of some middleware hooks, you may use self.broker to do so.

Taskiq-pipelinesopen in new window uses middlewares to call next tasks.

- + diff --git a/extending-taskiq/result-backend.html b/extending-taskiq/result-backend.html index fc7df85..cb3043a 100644 --- a/extending-taskiq/result-backend.html +++ b/extending-taskiq/result-backend.html @@ -28,13 +28,13 @@ document.documentElement.setAttribute("data-theme", "dark"); } - Result backend | Taskiq - - - + Result backend | Taskiq + + + -
Skip to main content

Result backend

...

Result backend

Result backends are used to store information about task execution. To create new result_backend you have to implement taskiq.abc.result_backend.AsyncResultBackend class.

Here's a minimal example of a result backend:

from typing import TypeVar
+    
Skip to main content

Result backend

...

Result backend

Result backends are used to store information about task execution. To create new result_backend you have to implement taskiq.abc.result_backend.AsyncResultBackend class.

Here's a minimal example of a result backend:

from typing import TypeVar
 
 from taskiq import TaskiqResult
 from taskiq.abc.result_backend import AsyncResultBackend
@@ -97,6 +97,6 @@
         """
         return ...  # type: ignore
 

Cool tip!

It's a good practice to skip fetching logs from the storage unless with_logs=True is explicitly specified.

Important note!

with_logs param is now deprecated. It will be removed in future releases.

- + diff --git a/extending-taskiq/schedule-sources.html b/extending-taskiq/schedule-sources.html index ef3b636..c47c3d2 100644 --- a/extending-taskiq/schedule-sources.html +++ b/extending-taskiq/schedule-sources.html @@ -28,13 +28,13 @@ document.documentElement.setAttribute("data-theme", "dark"); } - Schedule source | Taskiq - - - + Schedule source | Taskiq + + + -
Skip to main content

Schedule source

...

Schedule source

Schedule sources are used to get schedule for tasks. To create new schedule source you have to implement the taskiq.abc.schedule_source.ScheduleSource abstract class.

Here's a minimal example of a schedule source:

from typing import List
+    
Skip to main content

Schedule source

...

Schedule source

Schedule sources are used to get schedule for tasks. To create new schedule source you have to implement the taskiq.abc.schedule_source.ScheduleSource abstract class.

Here's a minimal example of a schedule source:

from typing import List
 
 from taskiq import ScheduledTask, ScheduleSource
 
@@ -89,6 +89,6 @@
         :param task: task that just have sent
         """
 

You can implement a schedule source that write schedules in the database and have delayed tasks in runtime.

- + diff --git a/framework_integrations/faststream.html b/framework_integrations/faststream.html index 392350f..8f03b6b 100644 --- a/framework_integrations/faststream.html +++ b/framework_integrations/faststream.html @@ -28,13 +28,13 @@ document.documentElement.setAttribute("data-theme", "dark"); } - Taskiq + FastStream | Taskiq - - - + Taskiq + FastStream | Taskiq + + + -
Skip to main content

Taskiq + FastStream

...

Taskiq + FastStream

FastStreamopen in new window is a library that allows you to write consumers and producers for different message brokers almost like taskiq. But the differense is that taskiq is more focused on tasks for a specific project and more like celery but async, while FastStream is more focused on events and defining how different systems communicate with each other using distributed brokers.

If you want to declare communication between different projects you can use taskiq, but it might be a bit more complex than using FastStream.

Although these libraries solve different problems, they have integration between each other, so you can use FastStream as a broker for taskiq. It allows FastStream to use taskiq's scheduler along with its own features.

To use FastStream as a broker for taskiq you need to install the taskiq-faststream library:

pip install "taskiq-faststream"
+    
Skip to main content

Taskiq + FastStream

...

Taskiq + FastStream

FastStreamopen in new window is a library that allows you to write consumers and producers for different message brokers almost like taskiq. But the differense is that taskiq is more focused on tasks for a specific project and more like celery but async, while FastStream is more focused on events and defining how different systems communicate with each other using distributed brokers.

If you want to declare communication between different projects you can use taskiq, but it might be a bit more complex than using FastStream.

Although these libraries solve different problems, they have integration between each other, so you can use FastStream as a broker for taskiq. It allows FastStream to use taskiq's scheduler along with its own features.

To use FastStream as a broker for taskiq you need to install the taskiq-faststream library:

pip install "taskiq-faststream"
 

And you can use it like this:

from faststream import FastStream
 from faststream.kafka import KafkaBroker
 from taskiq_faststream import BrokerWrapper
@@ -44,6 +44,6 @@
 
 taskiq_broker = BrokerWrapper(broker)
 

You can read more about scheduling tasks for FastStream in the FastStream documentationopen in new window.

- + diff --git a/framework_integrations/index.html b/framework_integrations/index.html index c0d9785..f68d42a 100644 --- a/framework_integrations/index.html +++ b/framework_integrations/index.html @@ -28,13 +28,13 @@ document.documentElement.setAttribute("data-theme", "dark"); } - Framework integrations | Taskiq - - - + Framework integrations | Taskiq + + + -
Skip to main content

Framework integrations

...

Framework integrations

Taskiq is meant to be simple and adaptive. That's why we try to add different integrations to make development with taskiq and your favorite framework easy and fun!

Integrations with frameworks add two things:

  1. Startup and Shutdown events;
  2. Dependencies to use in your handler.
- +
Skip to main content

Framework integrations

...

Framework integrations

Taskiq is meant to be simple and adaptive. That's why we try to add different integrations to make development with taskiq and your favorite framework easy and fun!

Integrations with frameworks add two things:

  1. Startup and Shutdown events;
  2. Dependencies to use in your handler.
+ diff --git a/framework_integrations/taskiq-with-aiogram.html b/framework_integrations/taskiq-with-aiogram.html index eeb488d..9b869b8 100644 --- a/framework_integrations/taskiq-with-aiogram.html +++ b/framework_integrations/taskiq-with-aiogram.html @@ -28,13 +28,13 @@ document.documentElement.setAttribute("data-theme", "dark"); } - Taskiq + Aiogram | Taskiq - - - + Taskiq + Aiogram | Taskiq + + + -
Skip to main content

Taskiq + Aiogram

...

Taskiq + Aiogram

Taskiq-Aiogramopen in new window is a nice integration with one of the best telegram bot libraries - aiogramopen in new window.

This integration allows you to easily send delayed messages or run intensive functions without blocking the message handing.

This integration adds three main dependencies which you can use in your taskiq functions:

  • aiogram.Bot - the bot instance that you can use to send messages or perform other actions. If multiple bots listen to the same dispatcher, this dependency will be resolved to the latest bot passed in the taskiq_aiogram.init function.
  • aiogram.Dispatcher - current dispatcher instance.
  • List[aiogram.Bot] - list of all bots that were passed to the taskiq_aiogram.init function.

To enable the integration, please install the taskiq-aiogram library:

pip install "taskiq-aiogram"
+    
Skip to main content

Taskiq + Aiogram

...

Taskiq + Aiogram

Taskiq-Aiogramopen in new window is a nice integration with one of the best telegram bot libraries - aiogramopen in new window.

This integration allows you to easily send delayed messages or run intensive functions without blocking the message handing.

This integration adds three main dependencies which you can use in your taskiq functions:

  • aiogram.Bot - the bot instance that you can use to send messages or perform other actions. If multiple bots listen to the same dispatcher, this dependency will be resolved to the latest bot passed in the taskiq_aiogram.init function.
  • aiogram.Dispatcher - current dispatcher instance.
  • List[aiogram.Bot] - list of all bots that were passed to the taskiq_aiogram.init function.

To enable the integration, please install the taskiq-aiogram library:

pip install "taskiq-aiogram"
 

After the installation is complete, add an initialization function call to your broker's main file so it becomes something like this:

import asyncio
 
 import taskiq_aiogram
@@ -78,7 +78,7 @@
 @dp.startup()
 async def setup_taskiq(bot: Bot, *_args, **_kwargs):
     # Here we check if it's a clien-side,
-    # Becuase otherwise you're going to
+    # Because otherwise you're going to
     # create infinite loop of startup events.
     if not broker.is_worker_process:
         logging.info("Setting up taskiq")
@@ -109,6 +109,6 @@
     asyncio.run(main())
 
 

That's it. Now you can easily call tasks from your bots and access bots from within your tasks.

- + diff --git a/framework_integrations/taskiq-with-aiohttp.html b/framework_integrations/taskiq-with-aiohttp.html index d3d8727..57c336e 100644 --- a/framework_integrations/taskiq-with-aiohttp.html +++ b/framework_integrations/taskiq-with-aiohttp.html @@ -28,13 +28,13 @@ document.documentElement.setAttribute("data-theme", "dark"); } - Taskiq + AioHTTP | Taskiq - - - + Taskiq + AioHTTP | Taskiq + + + -
Skip to main content

Taskiq + AioHTTP

...

Taskiq + AioHTTP

AioHTTP is a framework for building robust applications. We created several libraries to make the experience with AioHTTP even better.

Dependency injection for AioHTTP

We created a library aiohttp-depsopen in new window to add FastAPI-like dependency injection in AioHTTP.

To install it, simply run:

pip install "aiohttp-deps"
+    
Skip to main content

Taskiq + AioHTTP

...

Taskiq + AioHTTP

AioHTTP is a framework for building robust applications. We created several libraries to make the experience with AioHTTP even better.

Dependency injection for AioHTTP

We created a library aiohttp-depsopen in new window to add FastAPI-like dependency injection in AioHTTP.

To install it, simply run:

pip install "aiohttp-deps"
 

After the installation, please add startup event to your application to initialize dependencies context.

from aiohttp import web
 import aiohttp_deps
 
@@ -112,6 +112,6 @@
     broker.custom_dependency_context = {}
     await client.close()
 
- + diff --git a/framework_integrations/taskiq-with-fastapi.html b/framework_integrations/taskiq-with-fastapi.html index 8d9417f..d0d24af 100644 --- a/framework_integrations/taskiq-with-fastapi.html +++ b/framework_integrations/taskiq-with-fastapi.html @@ -28,13 +28,13 @@ document.documentElement.setAttribute("data-theme", "dark"); } - Taskiq + FastAPI | Taskiq - - - + Taskiq + FastAPI | Taskiq + + + -
Skip to main content

Taskiq + FastAPI

...

Taskiq + FastAPI

FastAPI is a highly popular async web framework in Python. It has gained its popularity because of two things:

  1. It's easy to use;
  2. Cool dependency injection.

In taskiq, we try to make our libraries easy to use, and We have a dependency injection too. So we have created the library "taskiq-fastapiopen in new window" to make integration with FastAPI as smooth as possible.

Let's see what we got here. In this library, we provide users with only one public function called init. It takes a broker and a string path (as in uvicorn) to the fastapi application (or factory function). People should call this function in their main broker file.

from taskiq import ZeroMQBroker
+    
Skip to main content

Taskiq + FastAPI

...

Taskiq + FastAPI

FastAPI is a highly popular async web framework in Python. It has gained its popularity because of two things:

  1. It's easy to use;
  2. Cool dependency injection.

In taskiq, we try to make our libraries easy to use, and We have a dependency injection too. So we have created the library "taskiq-fastapiopen in new window" to make integration with FastAPI as smooth as possible.

Let's see what we got here. In this library, we provide users with only one public function called init. It takes a broker and a string path (as in uvicorn) to the fastapi application (or factory function). People should call this function in their main broker file.

from taskiq import ZeroMQBroker
 import taskiq_fastapi
 
 broker = ZeroMQBroker()
@@ -99,6 +99,6 @@
     broker.custom_dependency_context = {}
 
 

This fixture has autouse flag, which means it would run on every test automatically.

- + diff --git a/guide/architecture-overview.html b/guide/architecture-overview.html index 6043f79..2706ae6 100644 --- a/guide/architecture-overview.html +++ b/guide/architecture-overview.html @@ -28,13 +28,13 @@ document.documentElement.setAttribute("data-theme", "dark"); } - Architecture overview | Taskiq - - - + Architecture overview | Taskiq + + + -
Skip to main content

Architecture overview

...

Architecture overview

Taskiq has very simple structure. On the client side all messages are sent by kickers using brokers. On the worker side all messages received by the broker and results are stored in result backends.

On the sequence diagram it looks like this:

Cool tip!

If you use dark theme and cannot see words on diagram, try switching to light theme and back to dark.

Let's discuss every component.

Broker

Brokers are the most critical element of the taskiq. Every broker must implement the AsyncBroker abstract class from taskiq.abc.brokeropen in new window to make things work.

AsyncBroker class has two main methods to implement:

  • kick
  • listen

The kick method puts the message in the external system. For example, it may call the PUB command in Redis.

The listen is a method with an infinite loop that reads messages from the external system and creates a task for processing messages. For example, it subscribes to the Redis channel and waits for new messages.

Kicker

Kicker is an object that used to form a message for broker. This class isn't extendable. To form a message kicker uses labels, task name and arguments.

When you call the task.kiq on a task, it generates a Kicker instance and is a shortening for the task.kicker().kiq(...). You can use kicker to change broker, add labels, or even change task_id.

import asyncio
+    
Skip to main content

Architecture overview

...

Architecture overview

Taskiq has very simple structure. On the client side all messages are sent by kickers using brokers. On the worker side all messages received by the broker and results are stored in result backends.

On the sequence diagram it looks like this:

Cool tip!

If you use dark theme and cannot see words on diagram, try switching to light theme and back to dark.

Let's discuss every component.

Broker

Brokers are the most critical element of the taskiq. Every broker must implement the AsyncBroker abstract class from taskiq.abc.brokeropen in new window to make things work.

AsyncBroker class has two main methods to implement:

  • kick
  • listen

The kick method puts the message in the external system. For example, it may call the PUB command in Redis.

The listen is a method with an infinite loop that reads messages from the external system and creates a task for processing messages. For example, it subscribes to the Redis channel and waits for new messages.

Kicker

Kicker is an object that used to form a message for broker. This class isn't extendable. To form a message kicker uses labels, task name and arguments.

When you call the task.kiq on a task, it generates a Kicker instance and is a shortening for the task.kicker().kiq(...). You can use kicker to change broker, add labels, or even change task_id.

import asyncio
 
 from taskiq.brokers.inmemory_broker import InMemoryBroker
 
@@ -135,6 +135,6 @@
 async def my_task(context: Context = TaskiqDepends()):
    await context.requeue()
 

Calling requeue or reject stops task execution and either drops the message, or puts it back to the queue.

Also, with context you'll be able to get current message that was received by the broker or even instance of a broker who received a message. This may be useful for lib developers.

- + diff --git a/guide/cli.html b/guide/cli.html index 8ddd098..8727d67 100644 --- a/guide/cli.html +++ b/guide/cli.html @@ -28,13 +28,13 @@ document.documentElement.setAttribute("data-theme", "dark"); } - CLI | Taskiq - - - + CLI | Taskiq + + + -
Skip to main content

CLI

...

CLI

Core library comes with CLI program called taskiq, which is used to run different subcommands.

By default taskiq is shipped with only two commands: worker and scheduler. You can search for more taskiq plugins using pypi. Some plugins may add new commands to taskiq.

Worker

To run worker process, you have to specify the broker you want to use and modules with defined tasks. Like this:

taskiq worker mybroker:broker_var my_project.module1 my_project.module2
+    
Skip to main content

CLI

...

CLI

Core library comes with CLI program called taskiq, which is used to run different subcommands.

By default taskiq is shipped with only two commands: worker and scheduler. You can search for more taskiq plugins using pypi. Some plugins may add new commands to taskiq.

Worker

To run worker process, you have to specify the broker you want to use and modules with defined tasks. Like this:

taskiq worker mybroker:broker_var my_project.module1 my_project.module2
 

Auto importing

Enumerating all modules with tasks is not an option sometimes. That's why taskiq can auto-discover tasks in current directory recursively.

We have two options for this:

  • --tasks-pattern or -tp. It's a glob pattern of files to import. By default it is **/tasks.py which searches for all tasks.py files. May be specified multiple times.
  • --fs-discover or -fsd. This option enables search of task files in current directory recursively, using the given pattern.

Acknowledgements

The taskiq supports three types of acknowledgements:

  • when_received - task is acknowledged when it is received by the worker.
  • when_executed - task is acknowledged right after it is executed by the worker.
  • when_saved - task is acknowledged when the result of execution is saved in the result backend.

This can be configured using --ack-type parameter. For example:

taskiq worker --ack-type when_executed mybroker:broker
 

Type casts

One of features taskiq have is automatic type casts. For example you have a type-hinted task like this:

async def task(val: int) -> int:
     return val + 1
@@ -43,6 +43,6 @@
 

To enable this option simply pass the --reload or -r option to worker taskiq CLI.

Also this option supports .gitignore files. If you have such file in your directory, it won't reload worker when you modify ignored files. To disable this functionality pass --do-not-use-gitignore option.

Other parameters

  • --no-configure-logging - disables default logging configuration for workers.
  • --log-level is used to set a log level (default INFO).
  • --max-async-tasks - maximum number of simultaneously running async tasks.
  • --max-prefetch - number of tasks to be prefetched before execution. (Useful for systems with high message rates, but brokers should support acknowledgements).
  • --max-threadpool-threads - number of threads for sync function exection.
  • --no-propagate-errors - if this parameter is enabled, exceptions won't be thrown in generator dependencies.
  • --receiver - python path to custom receiver class.
  • --receiver_arg - custom args for receiver.
  • --ack-type - Type of acknowledgement. This parameter is used to set when to acknowledge the task. Possible values are when_received, when_executed, when_saved. Default is when_saved.
  • max-tasks-per-child - maximum number of tasks to be executed by a single worker process before restart.
  • --shutdown-timeout - maximum amount of time for graceful broker's shutdown in seconds.
  • --wait-tasks-timeout - if cannot read new messages from the broker or maximum number of tasks is reached, worker will wait for all current tasks to finish. This parameter sets the maximum amount of time to wait until shutdown.

Scheduler

Scheduler is used to schedule tasks as described in Scheduling tasks section.

To run it simply run

taskiq scheduler <path to scheduler> [optional module to import]...
 

For example

taskiq scheduler my_project.broker:scheduler my_project.module1 my_project.module2
 

Parameters

Path to scheduler is the only required argument.

  • --tasks-pattern or -tp. It's a glob pattern of files to import. By default it is **/tasks.py which searches for all tasks.py files. May be specified multiple times.
  • --fs-discover or -fsd. This option enables search of task files in current directory recursively, using the given pattern.
  • --no-configure-logging - use this parameter if your application configures custom logging.
  • --log-level is used to set a log level (default INFO).
  • --skip-first-run - skip first run of scheduler. This option skips running tasks immediately after scheduler start.
- + diff --git a/guide/dynamic-brokers.html b/guide/dynamic-brokers.html index f017cef..7d49aeb 100644 --- a/guide/dynamic-brokers.html +++ b/guide/dynamic-brokers.html @@ -28,13 +28,13 @@ document.documentElement.setAttribute("data-theme", "dark"); } - Dynamic Environments | Taskiq - - - + Dynamic Environments | Taskiq + + + -
Skip to main content

Dynamic Environments

...

This article is for people who want to:

  • Create brokers dynamically.
  • Register tasks, and run them inside their code.
  • Implement more complex logic.

Taskiq allows you to set up broker instances throughout your application and register tasks for dynamic execution. However, tasks created this way won't be found by the taskiq worker command.

To define tasks and assign them to a broker, use register_task method.

import asyncio
+    
Skip to main content

Dynamic Environments

...

This article is for people who want to:

  • Create brokers dynamically.
  • Register tasks, and run them inside their code.
  • Implement more complex logic.

Taskiq allows you to set up broker instances throughout your application and register tasks for dynamic execution. However, tasks created this way won't be found by the taskiq worker command.

To define tasks and assign them to a broker, use register_task method.

import asyncio
 
 from taskiq_redis import ListQueueBroker
 
@@ -154,6 +154,6 @@
 if __name__ == "__main__":
     asyncio.run(main())
 
- + diff --git a/guide/getting-started.html b/guide/getting-started.html index ce3f5f7..7293cdf 100644 --- a/guide/getting-started.html +++ b/guide/getting-started.html @@ -28,13 +28,13 @@ document.documentElement.setAttribute("data-theme", "dark"); } - Getting started | Taskiq - - - + Getting started | Taskiq + + + -
Skip to main content

Getting started

...

Getting started

Installation

You can install taskiq from pypi or directly from git using pip:

pypi
pip install taskiq
+    
Skip to main content

Getting started

...

Getting started

Installation

You can install taskiq from pypi or directly from git using pip:

pypi
pip install taskiq
 

After installation of the core library, you need to find the broker that fits you. You can do it using PyPIopen in new window search.

Cool tip!

We highly recommend taskiq-aio-pikaopen in new window or taskiq-natsopen in new window as the broker and taskiq-redisopen in new window as the result backend for production use.

Running tasks

Now you need to create a python module with broker declaration. It's just a plain python file with the variable of your broker. For this particular example, I'm going to use the InMemoryBroker.

Important note

The InMemoryBroker doesn't send any data over the network, and you cannot use this broker in a real-world scenario, but it's still useful for local development if you do not want to set up a taskiq worker.

# broker.py
 from taskiq import InMemoryBroker
@@ -178,6 +178,6 @@
     await asyncio.sleep(2)
 

Cool alert

We use run_in_executoropen in new window method to run sync functions. Timeouts will raise a TimeoutException, but synchronous function may not stop from execution. This is a constraint of python.

- + diff --git a/guide/index.html b/guide/index.html index 430ad6d..95afef5 100644 --- a/guide/index.html +++ b/guide/index.html @@ -28,13 +28,13 @@ document.documentElement.setAttribute("data-theme", "dark"); } - Introduction | Taskiq - - - + Introduction | Taskiq + + + -
Skip to main content

Introduction

...

Introduction

What is taskiq

Taskiq is a library that helps you send and process python functions in a distributed manner. For example, you have many heavy to calculate functions you want to execute on another server. You can implement interservice communication by yourself, or you can use Taskiq to make the job done easily.

The core library doesn't have much functionality. It provides two built-in brokers, CLI, basic functionality for creating distributed tasks, and abstractions to extend the taskiq. The main idea of taskiq is to make it modular and easy to extend. We have libraries for many possible use cases, but if you lack something, you can adopt taskiq to fit your needs.

Why not use existing libraries?

We created this project because we couldn't find any project that can execute and send async functions using distributed queues like RabbitMQ.

You might have seen projects built on top of asyncio that solve a similar problem, but here's a comparison table of the taskiq and other projects.

Feature nameTaskiqArqAioTasks
Actively maintained
Multiple broker backends
Multiple result backends
Have a rich documentation
Startup & Shutdown events
Have ability to abort tasks
Custom serializers
Dependency injection
Task pipelines
Task schedules
Global middlewares

If you have a fully synchronous project, consider using celery or dramatiq instead.

- +
Skip to main content

Introduction

...

Introduction

What is taskiq

Taskiq is a library that helps you send and process python functions in a distributed manner. For example, you have many heavy to calculate functions you want to execute on another server. You can implement interservice communication by yourself, or you can use Taskiq to make the job done easily.

The core library doesn't have much functionality. It provides two built-in brokers, CLI, basic functionality for creating distributed tasks, and abstractions to extend the taskiq. The main idea of taskiq is to make it modular and easy to extend. We have libraries for many possible use cases, but if you lack something, you can adopt taskiq to fit your needs.

Why not use existing libraries?

We created this project because we couldn't find any project that can execute and send async functions using distributed queues like RabbitMQ.

You might have seen projects built on top of asyncio that solve a similar problem, but here's a comparison table of the taskiq and other projects.

Feature nameTaskiqArqAioTasks
Actively maintained
Multiple broker backends
Multiple result backends
Have a rich documentation
Startup & Shutdown events
Have ability to abort tasks
Custom serializers
Dependency injection
Task pipelines
Task schedules
Global middlewares

If you have a fully synchronous project, consider using celery or dramatiq instead.

+ diff --git a/guide/message-format.html b/guide/message-format.html index 8333205..cd51e8c 100644 --- a/guide/message-format.html +++ b/guide/message-format.html @@ -28,13 +28,13 @@ document.documentElement.setAttribute("data-theme", "dark"); } - Taskiq message format | Taskiq - - - + Taskiq message format | Taskiq + + + -
Skip to main content

Taskiq message format

...

Taskiq message format

Taskiq doesn't force you to use any specific message format. We define default message format, but you can use any format you want.

The default message format is:

example
{
+    
Skip to main content

Taskiq message format

...

Taskiq message format

Taskiq doesn't force you to use any specific message format. We define default message format, but you can use any format you want.

The default message format is:

example
{
     "task_name": "my_project.module1.task",
     "args": [1, 2, 3],
     "kwargs": {"a": 1, "b": 2, "c": 3},
@@ -80,6 +80,6 @@
 

Formatters

Formatters define the format of the message. It might be useful if you'd like to send a task to a celery worker for a different project. You can do it in seriazier as well, but formatters give you correct type hints.

By default we use a formatter that dumps the message to dict and serializes it using serializer. But you can define your own formatter to send a message in any format you want. To define a new formatter, you have to subclass the TaskiqFormatter class and implement dumps and loads methods. As an example, you can take a look at the JSONFormatter from taskiq.formatters implementation.

- + diff --git a/guide/scheduling-tasks.html b/guide/scheduling-tasks.html index 5527eb9..c70cf9b 100644 --- a/guide/scheduling-tasks.html +++ b/guide/scheduling-tasks.html @@ -28,13 +28,13 @@ document.documentElement.setAttribute("data-theme", "dark"); } - Scheduling tasks | Taskiq - - - + Scheduling tasks | Taskiq + + + -
Skip to main content

Scheduling tasks

...

Scheduling tasks

Sometimes you may want to execute some tasks according to some schedule. For example, you maybe want to call a function every day at 2 pm.

That's not a problem if you use taskiq. We have primitives that can help you to solve your problems.

Let's imagine we have a module, as shown below, and we want to execute the heavy_task every 5 minutes. What should we do?

from taskiq_aio_pika import AioPikaBroker
+    
Skip to main content

Scheduling tasks

...

Scheduling tasks

Sometimes you may want to execute some tasks according to some schedule. For example, you maybe want to call a function every day at 2 pm.

That's not a problem if you use taskiq. We have primitives that can help you to solve your problems.

Let's imagine we have a module, as shown below, and we want to execute the heavy_task every 5 minutes. What should we do?

from taskiq_aio_pika import AioPikaBroker
 
 broker = AioPikaBroker("amqp://guest:guest@localhost:5672/")
 
@@ -117,6 +117,6 @@
     await schedule.unschedule()
 

Or it can be done manually, by calling delete_schedule on schedule source providing it whith schedule_id.

    await redis_source.delete_schedule(schedule.schedule_id)
 
- + diff --git a/guide/state-and-deps.html b/guide/state-and-deps.html index c62e110..c754f74 100644 --- a/guide/state-and-deps.html +++ b/guide/state-and-deps.html @@ -28,13 +28,13 @@ document.documentElement.setAttribute("data-theme", "dark"); } - State and Dependencies | Taskiq - - - + State and Dependencies | Taskiq + + + -
Skip to main content

State and Dependencies

...

State and Dependencies

State

The TaskiqState is a global variable where you can keep the variables you want to use later. For example, you want to open a database connection pool at a broker's startup.

This can be achieved by adding event handlers.

You can use one of these events:

  • WORKER_STARTUP
  • CLIENT_STARTUP
  • WORKER_SHUTDOWN
  • CLIENT_SHUTDOWN

Worker events are called when you start listening to the broker messages using taskiq. Client events are called when you call the startup method of your broker from your code.

This is an example of code using event handlers:

Annotated 3.10+
import asyncio
+    
Skip to main content

State and Dependencies

...

State and Dependencies

State

The TaskiqState is a global variable where you can keep the variables you want to use later. For example, you want to open a database connection pool at a broker's startup.

This can be achieved by adding event handlers.

You can use one of these events:

  • WORKER_STARTUP
  • CLIENT_STARTUP
  • WORKER_SHUTDOWN
  • CLIENT_SHUTDOWN

Worker events are called when you start listening to the broker messages using taskiq. Client events are called when you call the startup method of your broker from your code.

This is an example of code using event handlers:

Annotated 3.10+
import asyncio
 from typing import Annotated, Optional
 
 from redis.asyncio import ConnectionPool, Redis  # type: ignore
@@ -429,6 +429,6 @@
     await trans.commit()
 

If you don't want to propagate exceptions in dependencies, you can add --no-propagate-errors option to worker command.

taskiq worker my_file:broker --no-propagate-errors
 

In this case, no exception will ever going to be propagated to any dependency.

Generics

Taskiq supports generic dependencies. You can create a generic class that is generic over another class and takskiq will be able to resolve generics based on type annotations.

Default dependencies

By default taskiq has only two dependencies:

  • Context from taskiq.context.Context
  • TaskiqState from taskiq.state.TaskiqState

Adding first-level dependencies

You can expand default list of available dependencies for you application. Taskiq have an ability to add new first-level dependencies using brokers.

The AsyncBroker interface has a function called add_dependency_context and you can add more default dependencies to the taskiq. This may be useful for libraries if you want to add new dependencies to users.

- + diff --git a/guide/testing-taskiq.html b/guide/testing-taskiq.html index 536a675..76b853e 100644 --- a/guide/testing-taskiq.html +++ b/guide/testing-taskiq.html @@ -28,13 +28,13 @@ document.documentElement.setAttribute("data-theme", "dark"); } - Testing with taskiq | Taskiq - - - + Testing with taskiq | Taskiq + + + -
Skip to main content

Testing with taskiq

...

Testing with taskiq

Every time we write programs, we want them to be correct. To achieve this, we use tests. Taskiq allows you to write tests easily as if tasks were normal functions.

Let's dive into examples.

Preparations

Environment setup

For testing you maybe don't want to use actual distributed broker. But still you want to validate your logic. Since python is an interpreted language, you can easily replace you broker with another one if the expression is correct.

We can set an environment variable, that indicates that currently we're running in testing environment.

linux|macos
export ENVIRONMENT="pytest"
+    
Skip to main content

Testing with taskiq

...

Testing with taskiq

Every time we write programs, we want them to be correct. To achieve this, we use tests. Taskiq allows you to write tests easily as if tasks were normal functions.

Let's dive into examples.

Preparations

Environment setup

For testing you maybe don't want to use actual distributed broker. But still you want to validate your logic. Since python is an interpreted language, you can easily replace you broker with another one if the expression is correct.

We can set an environment variable, that indicates that currently we're running in testing environment.

linux|macos
export ENVIRONMENT="pytest"
 pytest -vv
 
- + diff --git a/index.html b/index.html index 1076656..f6db238 100644 --- a/index.html +++ b/index.html @@ -28,14 +28,14 @@ document.documentElement.setAttribute("data-theme", "dark"); } - Task manager for asyncio | Taskiq - - - + Task manager for asyncio | Taskiq + + +
Skip to main content
logo

Taskiq python

Async Distributed Task Manager

Get StartedIntroduction

Production ready

Taskiq has proven that it can run in heavy production systems with high load.

Fully asynchronous

Taskiq can run both sync and async functions. You don't have to worry about it.

Easily extensible

Taskiq has a lot of replaceable components. It's super easy to implement your own broker or middleware.

Strongly typed

Taskiq provides correct autocompletion for most of its functionality.

What is taskiq in a nutshell

Consider taskiq as an asyncio celery implementation. It uses almost the same patterns, but it's more modern and flexible.

It's not a drop-in replacement for any other task manager. It has a different ecosystem of libraries and a different set of features. Also, it doesn't work for synchronous projects. You won't be able to send tasks synchronously.

Installation

You can install taskiq with pip or your favorite dependency manager:

pip install taskiq
 
- + diff --git a/search-pro.worker.js b/search-pro.worker.js index 0fa5c3e..87dbb6d 100644 --- a/search-pro.worker.js +++ b/search-pro.worker.js @@ -1,2 +1,2 @@ -const V=Object.entries,et=Object.fromEntries,st="ENTRIES",L="KEYS",T="VALUES",_="";class D{set;_type;_path;constructor(t,s){const n=t._tree,o=Array.from(n.keys());this.set=t,this._type=s,this._path=o.length>0?[{node:n,keys:o}]:[]}next(){const t=this.dive();return this.backtrack(),t}dive(){if(this._path.length===0)return{done:!0,value:void 0};const{node:t,keys:s}=E(this._path);if(E(s)===_)return{done:!1,value:this.result()};const n=t.get(E(s));return this._path.push({node:n,keys:Array.from(n.keys())}),this.dive()}backtrack(){if(this._path.length===0)return;const t=E(this._path).keys;t.pop(),!(t.length>0)&&(this._path.pop(),this.backtrack())}key(){return this.set._prefix+this._path.map(({keys:t})=>E(t)).filter(t=>t!==_).join("")}value(){return E(this._path).node.get(_)}result(){switch(this._type){case T:return this.value();case L:return this.key();default:return[this.key(),this.value()]}}[Symbol.iterator](){return this}}const E=e=>e[e.length-1],nt=(e,t,s)=>{const n=new Map;if(t===void 0)return n;const o=t.length+1,u=o+s,i=new Uint8Array(u*o).fill(s+1);for(let r=0;r{const d=u*i;t:for(const c of e.keys())if(c===_){const a=o[d-1];a<=s&&n.set(r,[e.get(c),a])}else{let a=u;for(let h=0;hs)continue t}R(e.get(c),t,s,n,o,a,i,r+c)}};class C{_tree;_prefix;_size=void 0;constructor(t=new Map,s=""){this._tree=t,this._prefix=s}atPrefix(t){if(!t.startsWith(this._prefix))throw new Error("Mismatched prefix");const[s,n]=x(this._tree,t.slice(this._prefix.length));if(s===void 0){const[o,u]=O(n);for(const i of o.keys())if(i!==_&&i.startsWith(u)){const r=new Map;return r.set(i.slice(u.length),o.get(i)),new C(r,t)}}return new C(s,t)}clear(){this._size=void 0,this._tree.clear()}delete(t){return this._size=void 0,ot(this._tree,t)}entries(){return new D(this,st)}forEach(t){for(const[s,n]of this)t(s,n,this)}fuzzyGet(t,s){return nt(this._tree,t,s)}get(t){const s=k(this._tree,t);return s!==void 0?s.get(_):void 0}has(t){const s=k(this._tree,t);return s!==void 0&&s.has(_)}keys(){return new D(this,L)}set(t,s){if(typeof t!="string")throw new Error("key must be a string");return this._size=void 0,I(this._tree,t).set(_,s),this}get size(){if(this._size)return this._size;this._size=0;const t=this.entries();for(;!t.next().done;)this._size+=1;return this._size}update(t,s){if(typeof t!="string")throw new Error("key must be a string");this._size=void 0;const n=I(this._tree,t);return n.set(_,s(n.get(_))),this}fetch(t,s){if(typeof t!="string")throw new Error("key must be a string");this._size=void 0;const n=I(this._tree,t);let o=n.get(_);return o===void 0&&n.set(_,o=s()),o}values(){return new D(this,T)}[Symbol.iterator](){return this.entries()}static from(t){const s=new C;for(const[n,o]of t)s.set(n,o);return s}static fromObject(t){return C.from(Object.entries(t))}}const x=(e,t,s=[])=>{if(t.length===0||e==null)return[e,s];for(const n of e.keys())if(n!==_&&t.startsWith(n))return s.push([e,n]),x(e.get(n),t.slice(n.length),s);return s.push([e,t]),x(void 0,"",s)},k=(e,t)=>{if(t.length===0||e==null)return e;for(const s of e.keys())if(s!==_&&t.startsWith(s))return k(e.get(s),t.slice(s.length))},I=(e,t)=>{const s=t.length;t:for(let n=0;e&&n{const[s,n]=x(e,t);if(s!==void 0){if(s.delete(_),s.size===0)W(n);else if(s.size===1){const[o,u]=s.entries().next().value;q(n,o,u)}}},W=e=>{if(e.length===0)return;const[t,s]=O(e);if(t.delete(s),t.size===0)W(e.slice(0,-1));else if(t.size===1){const[n,o]=t.entries().next().value;n!==_&&q(e.slice(0,-1),n,o)}},q=(e,t,s)=>{if(e.length===0)return;const[n,o]=O(e);n.set(o+t,s),n.delete(o)},O=e=>e[e.length-1],ut=(e,t)=>{const s=e._idToShortId.get(t);if(s!=null)return e._storedFields.get(s)},it=/[\n\r -#%-*,-/:;?@[-\]_{}\u00A0\u00A1\u00A7\u00AB\u00B6\u00B7\u00BB\u00BF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061E\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u09FD\u0A76\u0AF0\u0C77\u0C84\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166E\u1680\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2000-\u200A\u2010-\u2029\u202F-\u2043\u2045-\u2051\u2053-\u205F\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E4F\u3000-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]+/u,M="or",$="and",rt="and_not",ct=(e,t)=>{e.includes(t)||e.push(t)},N=(e,t)=>{for(const s of t)e.includes(s)||e.push(s)},P=({score:e},{score:t})=>t-e,lt=()=>new Map,b=e=>{const t=new Map;for(const s of Object.keys(e))t.set(parseInt(s,10),e[s]);return t},G=(e,t)=>Object.prototype.hasOwnProperty.call(e,t)?e[t]:void 0,ht={[M]:(e,t)=>{for(const s of t.keys()){const n=e.get(s);if(n==null)e.set(s,t.get(s));else{const{score:o,terms:u,match:i}=t.get(s);n.score=n.score+o,n.match=Object.assign(n.match,i),N(n.terms,u)}}return e},[$]:(e,t)=>{const s=new Map;for(const n of t.keys()){const o=e.get(n);if(o==null)continue;const{score:u,terms:i,match:r}=t.get(n);N(o.terms,i),s.set(n,{score:o.score+u,terms:o.terms,match:Object.assign(o.match,r)})}return s},[rt]:(e,t)=>{for(const s of t.keys())e.delete(s);return e}},dt=(e,t,s,n,o,u)=>{const{k:i,b:r,d}=u;return Math.log(1+(s-t+.5)/(t+.5))*(d+e*(i+1)/(e+i*(1-r+r*n/o)))},at=e=>(t,s,n)=>{const o=typeof e.fuzzy=="function"?e.fuzzy(t,s,n):e.fuzzy||!1,u=typeof e.prefix=="function"?e.prefix(t,s,n):e.prefix===!0;return{term:t,fuzzy:o,prefix:u}},H=(e,t,s,n)=>{for(const o of Object.keys(e._fieldIds))if(e._fieldIds[o]===s){e._options.logger("warn",`SlimSearch: document with ID ${e._documentIds.get(t)} has changed before removal: term "${n}" was not present in field "${o}". Removing a document after it has changed can corrupt the index!`,"version_conflict");return}},ft=(e,t,s,n)=>{if(!e._index.has(n)){H(e,s,t,n);return}const o=e._index.fetch(n,lt),u=o.get(t);u==null||u.get(s)==null?H(e,s,t,n):u.get(s)<=1?u.size<=1?o.delete(t):u.delete(s):u.set(s,u.get(s)-1),e._index.get(n).size===0&&e._index.delete(n)},gt={k:1.2,b:.7,d:.5},mt={idField:"id",extractField:(e,t)=>e[t],tokenize:e=>e.split(it),processTerm:e=>e.toLowerCase(),fields:void 0,searchOptions:void 0,storeFields:[],logger:(e,t)=>{typeof console?.[e]=="function"&&console[e](t)},autoVacuum:!0},J={combineWith:M,prefix:!1,fuzzy:!1,maxFuzzy:6,boost:{},weights:{fuzzy:.45,prefix:.375},bm25:gt},pt={combineWith:$,prefix:(e,t,s)=>t===s.length-1},Ft={batchSize:1e3,batchWait:10},U={minDirtFactor:.1,minDirtCount:20},_t={...Ft,...U},K=Symbol("*"),yt=(e,t)=>{const s=new Map,n={...e._options.searchOptions,...t};for(const[o,u]of e._documentIds){const i=n.boostDocument?n.boostDocument(u,"",e._storedFields.get(o)):1;s.set(o,{score:i,terms:[],match:{}})}return s},X=(e,t=M)=>{if(e.length===0)return new Map;const s=t.toLowerCase(),n=ht[s];if(!n)throw new Error(`Invalid combination operator: ${t}`);return e.reduce(n)||new Map},S=(e,t,s,n,o,u,i,r,d=new Map)=>{if(o==null)return d;for(const c of Object.keys(u)){const a=u[c],h=e._fieldIds[c],g=o.get(h);if(g==null)continue;let m=g.size;const p=e._avgFieldLength[h];for(const l of g.keys()){if(!e._documentIds.has(l)){ft(e,h,l,s),m-=1;continue}const f=i?i(e._documentIds.get(l),s,e._storedFields.get(l)):1;if(!f)continue;const y=g.get(l),F=e._fieldLength.get(l)[h],v=dt(y,m,e._documentCount,F,p,r),z=n*a*f*v,A=d.get(l);if(A){A.score+=z,ct(A.terms,t);const w=G(A.match,s);w?w.push(c):A.match[s]=[c]}else d.set(l,{score:z,terms:[t],match:{[s]:[c]}})}}return d},At=(e,t,s)=>{const n={...e._options.searchOptions,...s},o=(n.fields||e._options.fields).reduce((l,f)=>({...l,[f]:G(n.boost,f)||1}),{}),{boostDocument:u,weights:i,maxFuzzy:r,bm25:d}=n,{fuzzy:c,prefix:a}={...J.weights,...i},h=e._index.get(t.term),g=S(e,t.term,t.term,1,h,o,u,d);let m,p;if(t.prefix&&(m=e._index.atPrefix(t.term)),t.fuzzy){const l=t.fuzzy===!0?.2:t.fuzzy,f=l<1?Math.min(r,Math.round(t.term.length*l)):l;f&&(p=e._index.fuzzyGet(t.term,f))}if(m)for(const[l,f]of m){const y=l.length-t.term.length;if(!y)continue;p?.delete(l);const F=a*l.length/(l.length+.3*y);S(e,t.term,l,F,f,o,u,d,g)}if(p)for(const l of p.keys()){const[f,y]=p.get(l);if(!y)continue;const F=c*l.length/(l.length+y);S(e,t.term,l,F,f,o,u,d,g)}return g},Y=(e,t,s={})=>{if(t===K)return yt(e,s);if(typeof t!="string"){const a={...s,...t,queries:void 0},h=t.queries.map(g=>Y(e,g,a));return X(h,a.combineWith)}const{tokenize:n,processTerm:o,searchOptions:u}=e._options,i={tokenize:n,processTerm:o,...u,...s},{tokenize:r,processTerm:d}=i,c=r(t).flatMap(a=>d(a)).filter(a=>!!a).map(at(i)).map(a=>At(e,a,i));return X(c,i.combineWith)},Q=(e,t,s={})=>{const n=Y(e,t,s),o=[];for(const[u,{score:i,terms:r,match:d}]of n){const c=r.length||1,a={id:e._documentIds.get(u),score:i*c,terms:Object.keys(d),queryTerms:r,match:d};Object.assign(a,e._storedFields.get(u)),(s.filter==null||s.filter(a))&&o.push(a)}return t===K&&s.boostDocument==null&&e._options.searchOptions.boostDocument==null||o.sort(P),o},Ct=(e,t,s={})=>{s={...e._options.autoSuggestOptions,...s};const n=new Map;for(const{score:u,terms:i}of Q(e,t,s)){const r=i.join(" "),d=n.get(r);d!=null?(d.score+=u,d.count+=1):n.set(r,{score:u,terms:i,count:1})}const o=[];for(const[u,{score:i,terms:r,count:d}]of n)o.push({suggestion:u,terms:r,score:i/d});return o.sort(P),o};class Et{_options;_index;_documentCount;_documentIds;_idToShortId;_fieldIds;_fieldLength;_avgFieldLength;_nextId;_storedFields;_dirtCount;_currentVacuum;_enqueuedVacuum;_enqueuedVacuumConditions;constructor(t){if(t?.fields==null)throw new Error('SlimSearch: option "fields" must be provided');const s=t.autoVacuum==null||t.autoVacuum===!0?_t:t.autoVacuum;this._options={...mt,...t,autoVacuum:s,searchOptions:{...J,...t.searchOptions||{}},autoSuggestOptions:{...pt,...t.autoSuggestOptions||{}}},this._index=new C,this._documentCount=0,this._documentIds=new Map,this._idToShortId=new Map,this._fieldIds={},this._fieldLength=new Map,this._avgFieldLength=[],this._nextId=0,this._storedFields=new Map,this._dirtCount=0,this._currentVacuum=null,this._enqueuedVacuum=null,this._enqueuedVacuumConditions=U,this.addFields(this._options.fields)}get isVacuuming(){return this._currentVacuum!=null}get dirtCount(){return this._dirtCount}get dirtFactor(){return this._dirtCount/(1+this._documentCount+this._dirtCount)}get documentCount(){return this._documentCount}get termCount(){return this._index.size}toJSON(){const t=[];for(const[s,n]of this._index){const o={};for(const[u,i]of n)o[u]=Object.fromEntries(i);t.push([s,o])}return{documentCount:this._documentCount,nextId:this._nextId,documentIds:Object.fromEntries(this._documentIds),fieldIds:this._fieldIds,fieldLength:Object.fromEntries(this._fieldLength),averageFieldLength:this._avgFieldLength,storedFields:Object.fromEntries(this._storedFields),dirtCount:this._dirtCount,index:t,serializationVersion:2}}addFields(t){for(let s=0;s{if(c!==1&&c!==2)throw new Error("SlimSearch: cannot deserialize an index created with an incompatible version");const h=new Et(a);h._documentCount=t,h._nextId=s,h._documentIds=b(n),h._idToShortId=new Map,h._fieldIds=o,h._fieldLength=b(u),h._avgFieldLength=i,h._storedFields=b(r),h._dirtCount=d||0,h._index=new C;for(const[g,m]of h._documentIds)h._idToShortId.set(m,g);for(const[g,m]of e){const p=new Map;for(const l of Object.keys(m)){let f=m[l];c===1&&(f=f.ds),p.set(parseInt(l,10),b(f))}h._index.set(g,p)}return h},B=(e,t)=>{const s=e.toLowerCase(),n=t.toLowerCase(),o=[];let u=0,i=0;const r=(c,a=!1)=>{let h="";i===0?h=c.length>20?`… ${c.slice(-20)}`:c:a?h=c.length+i>100?`${c.slice(0,100-i)}… `:c:h=c.length>20?`${c.slice(0,20)} … ${c.slice(-20)}`:c,h&&o.push(h),i+=h.length,a||(o.push(["mark",t]),i+=t.length,i>=100&&o.push(" …"))};let d=s.indexOf(n,u);if(d===-1)return null;for(;d>=0;){const c=d+n.length;if(r(e.slice(u,d)),u=c,i>100)break;d=s.indexOf(n,u)}return i<100&&r(e.slice(u),!0),o},wt=(e,t)=>t.contents.reduce((s,[,n])=>s+n,0)-e.contents.reduce((s,[,n])=>s+n,0),xt=(e,t)=>Math.max(...t.contents.map(([,s])=>s))-Math.max(...e.contents.map(([,s])=>s)),Z=(e,t,s={})=>{const n={};return Q(t,e,{boost:{h:2,t:1,c:4},prefix:!0,...s}).forEach(o=>{const{id:u,terms:i,score:r}=o,d=u.includes("@"),c=u.includes("#"),[a,h]=u.split(/[#@]/),g=Number(a),m=i.sort((l,f)=>l.length-f.length).filter((l,f)=>i.slice(f+1).every(y=>!y.includes(l))),{contents:p}=n[g]??={title:"",contents:[]};if(d)p.push([{type:"customField",id:g,index:h,display:m.map(l=>o.c.map(f=>B(f,l))).flat().filter(l=>l!==null)},r]);else{const l=m.map(f=>B(o.h,f)).filter(f=>f!==null);if(l.length&&p.push([{type:c?"heading":"title",id:g,...c&&{anchor:h},display:l},r]),"t"in o)for(const f of o.t){const y=m.map(F=>B(f,F)).filter(F=>F!==null);y.length&&p.push([{type:"text",id:g,...c&&{anchor:h},display:y},r])}}}),V(n).sort(([,o],[,u])=>"max"==="total"?wt(o,u):xt(o,u)).map(([o,{title:u,contents:i}])=>{if(!u){const r=ut(t,o);r&&(u=r.h)}return{title:u,contents:i.map(([r])=>r)}})},tt=(e,t,s={})=>{const n=Ct(t,e,{fuzzy:.2,maxFuzzy:3,...s}).map(({suggestion:o})=>o);return e.includes(" ")?n:n.filter(o=>!o.includes(" "))},bt=et(V(JSON.parse("{\"/\":{\"documentCount\":94,\"nextId\":94,\"documentIds\":{\"0\":\"0\",\"1\":\"0#what-is-taskiq-in-a-nutshell\",\"2\":\"0#installation\",\"3\":\"1\",\"4\":\"1#setting-up-environment\",\"5\":\"1#linting\",\"6\":\"1#testing\",\"7\":\"2\",\"8\":\"3\",\"9\":\"3#inmemorybroker\",\"10\":\"3#zeromqbroker\",\"11\":\"3#async-shared-broker-and-shared-tasks\",\"12\":\"3#custom-brokers\",\"13\":\"3#aiopikabroker-for-rabbitmq\",\"14\":\"3#redis-broker\",\"15\":\"3#nats-broker\",\"16\":\"4\",\"17\":\"4#simple-retry-middleware\",\"18\":\"4#prometheus-middleware\",\"19\":\"5\",\"20\":\"5#dummyresultbackend\",\"21\":\"5#redis-result-backend\",\"22\":\"6\",\"23\":\"6#redisschedulesource\",\"24\":\"6#labelschedulesource\",\"25\":\"7\",\"26\":\"7#contents\",\"27\":\"8\",\"28\":\"8#acknowledgement\",\"29\":\"8#conventions\",\"30\":\"9\",\"31\":\"10\",\"32\":\"11\",\"33\":\"12\",\"34\":\"13\",\"35\":\"14\",\"36\":\"15\",\"37\":\"16\",\"38\":\"16#adding-taskiq-integration\",\"39\":\"16#testing\",\"40\":\"17\",\"41\":\"17#testing\",\"42\":\"18\",\"43\":\"18#what-is-taskiq\",\"44\":\"18#why-not-use-existing-libraries\",\"45\":\"19\",\"46\":\"19#broker\",\"47\":\"19#kicker\",\"48\":\"19#messages\",\"49\":\"19#result-backend\",\"50\":\"19#workers\",\"51\":\"19#middlewares\",\"52\":\"19#context\",\"53\":\"20\",\"54\":\"20#worker\",\"55\":\"20#auto-importing\",\"56\":\"20#acknowledgements\",\"57\":\"20#type-casts\",\"58\":\"20#hot-reload\",\"59\":\"20#other-parameters\",\"60\":\"20#scheduler\",\"61\":\"20#parameters\",\"62\":\"21\",\"63\":\"22\",\"64\":\"22#installation\",\"65\":\"22#running-tasks\",\"66\":\"22#distributed-run\",\"67\":\"22#timeouts\",\"68\":\"23\",\"69\":\"23#serializers\",\"70\":\"23#formatters\",\"71\":\"24\",\"72\":\"24#multiple-sources\",\"73\":\"24#working-with-timezones\",\"74\":\"24#skipping-first-run\",\"75\":\"24#dynamic-scheduling\",\"76\":\"25\",\"77\":\"25#state\",\"78\":\"25#dependencies\",\"79\":\"25#how-dependencies-are-useful\",\"80\":\"25#how-do-dependencies-work\",\"81\":\"25#class-as-a-dependency\",\"82\":\"25#generator-dependencies\",\"83\":\"25#exception-handling\",\"84\":\"25#generics\",\"85\":\"25#default-dependencies\",\"86\":\"25#adding-first-level-dependencies\",\"87\":\"26\",\"88\":\"26#preparations\",\"89\":\"26#environment-setup\",\"90\":\"26#async-tests\",\"91\":\"26#testing-tasks\",\"92\":\"26#dependency-injection\",\"93\":\"27\"},\"fieldIds\":{\"h\":0,\"t\":1,\"c\":2},\"fieldLength\":{\"0\":[4],\"1\":[6,52],\"2\":[1,12],\"3\":[2,77],\"4\":[3,48],\"5\":[1,30],\"6\":[1,55],\"7\":[2,22],\"8\":[2,10],\"9\":[1,33],\"10\":[1,73],\"11\":[5,54],\"12\":[2,31],\"13\":[4,8],\"14\":[2,7],\"15\":[2,7],\"16\":[2,16],\"17\":[3,65],\"18\":[2,55],\"19\":[3,17],\"20\":[1,31],\"21\":[3,33],\"22\":[3,17],\"23\":[1,51],\"24\":[1,99],\"25\":[2,27],\"26\":[2,7],\"27\":[1,120],\"28\":[1,66],\"29\":[1,54],\"30\":[1,117],\"31\":[1,68],\"32\":[2,121],\"33\":[2,114],\"34\":[2,37],\"35\":[3,97],\"36\":[3,188],\"37\":[3,77],\"38\":[3,137],\"39\":[1,95],\"40\":[3,183],\"41\":[1,92],\"42\":[1],\"43\":[3,79],\"44\":[6,86],\"45\":[2,54],\"46\":[1,61],\"47\":[1,84],\"48\":[1,70],\"49\":[2,55],\"50\":[1,106],\"51\":[1,130],\"52\":[1,70],\"53\":[1,37],\"54\":[1,27],\"55\":[2,58],\"56\":[1,37],\"57\":[2,72],\"58\":[2,58],\"59\":[2,111],\"60\":[1,30],\"61\":[1,71],\"62\":[2,193],\"63\":[2],\"64\":[1,45],\"65\":[2,177],\"66\":[2,177],\"67\":[1,52],\"68\":[3,36],\"69\":[1,92],\"70\":[1,74],\"71\":[2,158],\"72\":[2,85],\"73\":[3,73],\"74\":[3,71],\"75\":[2,173],\"76\":[3],\"77\":[1,77],\"78\":[1,50],\"79\":[4,111],\"80\":[4,84],\"81\":[4,48],\"82\":[2,36],\"83\":[2,62],\"84\":[1,26],\"85\":[2,12],\"86\":[4,44],\"87\":[3,31],\"88\":[1],\"89\":[2,59],\"90\":[2,95],\"91\":[2,78],\"92\":[2,146],\"93\":[1,3]},\"averageFieldLength\":[2.0319148936170217,68.39338588822422],\"storedFields\":{\"0\":{\"h\":\"Task manager for asyncio\"},\"1\":{\"h\":\"What is taskiq in a nutshell\",\"t\":[\"Consider taskiq as an asyncio celery implementation. It uses almost the same patterns, but it's more modern and flexible.\",\"It's not a drop-in replacement for any other task manager. It has a different ecosystem of libraries and a different set of features. Also, it doesn't work for synchronous projects. You won't be able to send tasks synchronously.\"]},\"2\":{\"h\":\"Installation\",\"t\":[\"You can install taskiq with pip or your favorite dependency manager:\",\"pip install taskiq\\n\"]},\"3\":{\"h\":\"Contribution guide\",\"t\":[\"We love contributions. This guide is for all folks who want to make taskiq better together. We have several rules for contributors:\",\"Please do not add malware.\",\"Please make sure that your request solves the problem.\",\"If you struggle with something or feel frustrated, you either create an issue, create a discussions. page or publish a draft PR and ask your question in the description.\",\"We have lots of tests in CI. But since CI runs from first-time contributors should be approved, you better test locally. It just takes less time to prepare PR for merging.\"]},\"4\":{\"h\":\"Setting up environment\",\"t\":[\"We use poetry for managing dependencies. To install it, please follow the official guide in documentation.\",\"After you have cloned the taskiq repo, install dependencies using this command:\",\"poetry install \",\"It will install all required dependencies. If you want to run pytest against different python environments, please install pyenv using instructions from its readme.\",\"After pyenv is ready, you can install all python versions using this command:\",\"pyenv install \"]},\"5\":{\"h\":\"Linting\",\"t\":[\"We have pre-commit configured with all our settings. We highly recommend you to install it as a git hook using pre-commit install command.\",\"But even without installation, you can run all lints manually:\",\"pre-commit run -a \"]},\"6\":{\"h\":\"Testing\",\"t\":[\"You can run pytest without any parameters and it will do the thing.\",\"pytest \",\"If you want to speedup testings, you can run it with -n option from pytest-xdist to run tests in parallel.\",\"pytest -n 2 \",\"Also we use tox to test against different environments. You can publish a PR to run pytest with different python versions, but if you want to do it locally, just run tox command.\",\"tox \",\"Tox assumes that you've installed python versions using pyenv with command above.\"]},\"7\":{\"h\":\"Available components\",\"t\":[\"In this section, you can find a list of officially supported plugins for the taskiq.\",\"Available brokers\",\"Available middlewares\",\"Available result backends\",\"Available schedule sources\"]},\"8\":{\"h\":\"Available brokers\",\"t\":[\"In this section we'll list officially supported brokers.\"]},\"9\":{\"h\":\"InMemoryBroker\",\"t\":[\"This is a special broker for local development. It uses the same functions to execute tasks, but all tasks are executed locally in the current thread. By default it uses InMemoryResultBackend but this can be overridden.\"]},\"10\":{\"h\":\"ZeroMQBroker\",\"t\":[\"This broker uses ZMQ to communicate between worker and client processes. It's suitable for small projects with only ONE worker process, because of the ZMQ architecture.\",\"It publishes messages on the local port. All worker processes are reading messages from this port. If you run many worker processes, all tasks will be executed N times, where N is the total number of worker processes.\",\"Be careful!\",\"If you choose this type of broker, please run taskiq with -w 1 parameter, otherwise you may encounter undefined behavior.\",\"To run this broker please install the pyzmq lib. Or you can taskiq with zmq extra.\"]},\"11\":{\"h\":\"Async shared broker and shared tasks\",\"t\":[\"This is also a special broker. You cannot use it directly. It's used to create shared tasks. These tasks can be imported along with user defined tasks. To define a shared task please use this broker.\",\"from taskiq.brokers.shared_broker import async_shared_broker @async_shared_broker.task def my_task() -> bool: return True \",\"To kiq this task you have to options:\",\"Explicitly define broker using kicker for this kiq;\",\"Add default broker for all shared tasks.\"]},\"12\":{\"h\":\"Custom brokers\",\"t\":[\"These brokers are not parts of the core taskiq lib. You can install them as a separate packages.\",\"You can read more about parameters and abilities of these brokers in README.md of each repo.\"]},\"13\":{\"h\":\"AioPikaBroker (for RabbitMQ)\",\"t\":[\"Project link: taskiq-aio-pika.\",\"pip install taskiq-aio-pika \"]},\"14\":{\"h\":\"Redis broker\",\"t\":[\"Project link: taskiq-redis.\",\"pip install taskiq-redis \"]},\"15\":{\"h\":\"NATS broker\",\"t\":[\"Project link: taskiq-nats.\",\"pip install taskiq-nats \"]},\"16\":{\"h\":\"Available middlewares\",\"t\":[\"Middlewares allow you to execute code when specific event occurs. Taskiq has several default middlewares.\"]},\"17\":{\"h\":\"Simple retry middleware\",\"t\":[\"This middleware allows you to restart functions on errors. If exception was raised during task execution, the task would be resent with same parameters.\",\"To enable this middleware, add it to the list of middlewares for a broker.\",\"from taskiq import ZeroMQBroker, SimpleRetryMiddleware broker = ZeroMQBroker().with_middlewares( SimpleRetryMiddleware(default_retry_count=3), ) \",\"After that you can add a label to task that you want to restart on error.\",\" @broker.task(retry_on_error=True, max_retries=20) async def test(): raise Exception(\\\"AAAAA!\\\") \",\"retry_on_error enables retries for a task. max_retries is the maximum number of times,.\"]},\"18\":{\"h\":\"Prometheus middleware\",\"t\":[\"You can enable prometheus metrics for workers by adding PrometheusMiddleware. To do so, you need to install prometheus_client package or you can install metrics extras for taskiq.\",\"from taskiq import ZeroMQBroker, PrometheusMiddleware broker = ZeroMQBroker().with_middlewares( PrometheusMiddleware(server_addr=\\\"0.0.0.0\\\", server_port=9000), ) \",\"After that, metrics will be available at port 9000. Of course, this parameter can be configured.\\nIf you have other metrics, they'll be shown as well.\"]},\"19\":{\"h\":\"Available result backends\",\"t\":[\"Result backends are used to store execution results. This includes:\",\"return value;\",\"Execution time in seconds.\"]},\"20\":{\"h\":\"DummyResultBackend\",\"t\":[\"This result backend doesn't do anything. It doesn't store results and cannot be used in cases, where you need actual results.\",\"This broker will always return None for any return_value. Please be careful.\"]},\"21\":{\"h\":\"Redis result backend\",\"t\":[\"This result backend is not part of the core taskiq library. You can install it as a separate package taskiq-redis.\",\"pip install taskiq-redis \",\"You can read more about parameters and abilities of this broker in README.md.\"]},\"22\":{\"h\":\"Available schedule sources\",\"t\":[\"These objects are used to fetch current schedule for tasks. Currently we have only one schedule source.\"]},\"23\":{\"h\":\"RedisScheduleSource\",\"t\":[\"This source is capable of adding new schedules in runtime. It uses Redis as a storage for schedules. To use this source you need to install taskiq-redis package.\",\"from taskiq_redis import RedisScheduleSource from taskiq import TaskiqScheduler redis_source = RedisScheduleSource(\\\"redis://localhost:6379/0\\\") scheduler = TaskiqScheduler(broker, sources=[redis_source]) \",\"For more information on how to use dynamic schedule sources read Dynamic scheduling section.\"]},\"24\":{\"h\":\"LabelScheduleSource\",\"t\":[\"This source parses labels of tasks, and if it finds a schedule label, it considers this task as scheduled.\",\"The format of the schedule label is the following:\",\"@broker.task( schedule=[ { \\\"cron\\\": \\\"* * * * *\\\", # type: str, either cron or time shoule be specified. \\\"cron_offset\\\": None # type: str | timedelta | None, can be ommited. \\\"time\\\": None # type: datetime | None, either cron or time shoule be specified. \\\"args\\\": [], # type List[Any] | None, can be omitted. \\\"kwargs\\\": {}, # type: Dict[str, Any] | None, can be omitted. \\\"labels\\\": {}, # type: Dict[str, Any] | None, can be omitted. } ] ) async def my_task(): ... \",\"Parameters:\",\"cron - crontab string when to run the task.\",\"cron_offset - timezone offset for cron values. Explained here\",\"time - specific time when send the task.\",\"args - args to use, when invoking the task.\",\"kwargs - key-word arguments to use when invoking the task.\",\"labels - additional labels to use when invoking the task.\",\"To enable this source, just add it to the list of sources:\",\"from taskiq.scheduler import TaskiqScheduler from taskiq.schedule_sources import LabelScheduleSource broker = ... scheduler = TaskiqScheduler( broker=broker, sources=[LabelScheduleSource(broker)], ) \",\"Cool notice!\",\"In order to resolve all labels correctly, don't forget to import\\nall task modules using CLI interface.\"]},\"25\":{\"h\":\"Extending taskiq\",\"t\":[\"Taskiq is super extendable. The core library comes with different abstract classes. You can implement these abstract classes to extend functionality.\",\"All abstract classes can be found in taskiq.abc package.\"]},\"26\":{\"h\":\"Contents:\",\"t\":[\"Brokers\",\"Middlewares\",\"Result backends\",\"CLI\",\"Schedule sources\"]},\"27\":{\"h\":\"Brokers\",\"t\":[\"To add a new broker you need to implement two methods kick and listen of the taskiq.abc.broker.AsyncBroker abstract class. But along with them we have helper methods. Such as shutdown and startup.\",\"Here is a template for new brokers:\",\"from typing import AsyncGenerator, Union from taskiq import AckableMessage, AsyncBroker, BrokerMessage class MyBroker(AsyncBroker): def __init__(self) -> None: # Please call this super method to set default values to # many different fields. super().__init__() async def startup(self) -> None: # Here you can do some startup magic. # Like opening a connection. return await super().startup() async def shutdown(self) -> None: # Here you can perform shutdown operations. # Like closing connections. return await super().shutdown() async def kick(self, message: BrokerMessage) -> None: # Send a message.message. pass async def listen(self) -> AsyncGenerator[Union[bytes, AckableMessage], None]: while True: # Get new message. new_message: bytes = ... # type: ignore # Yield it! yield new_message \",\"The kick method takes a BrokerMessage as a parameter. The BrokerMessage class is a handy helper class for brokers. You can use information from the BrokerMessage to alter the delivery method.\",\"\\\"cool warning!\\\"\",\"As a broker developer, please send only raw bytes from the message field of a BrokerMessage if possible. Serializing it to the string may result in a problem if message bytes are not utf-8 compatible.\"]},\"28\":{\"h\":\"Acknowledgement\",\"t\":[\"The listen method should yield raw bytes of a message. But if your broker supports acking or rejecting messages, the broker should return taskiq.AckableMessage with required fields.\",\"For example:\",\" async def listen(self) -> AsyncGenerator[AckableMessage, None]: for message in self.my_channel: yield AckableMessage( data=message.bytes, # Ack is a function that takes no parameters. # So you either set here method of a message, # or you can make a closure. ack=message.ack # Can be set to None if broker doesn't support it. reject=message.reject ) \"]},\"29\":{\"h\":\"Conventions\",\"t\":[\"For brokers, we have several conventions. It's good if your broker implements them. These rules are optional, and it's ok if your broker doesn't implement them.\",\"If the message has the delay label with int or float number, this task's execution must be delayed with the same number of seconds as in the delay label.\",\"If the message has the priority label, this message must be sent with priority. Tasks with\\nhigher priorities are executed sooner.\"]},\"30\":{\"h\":\"CLI\",\"t\":[\"You can easily add new subcommands to taskiq. All default subcommands also use this mechanism, since it's easy to use.\",\"At first you need to add a class that implements taskiq.abc.cmd.TaskiqCMD abstract class.\",\"from argparse import ArgumentParser from typing import Sequence from taskiq.abc.cmd import TaskiqCMD class MyCommand(TaskiqCMD): short_help = \\\"Demo command\\\" def exec(self, args: Sequence[str]) -> None: parser = ArgumentParser() parser.add_argument( \\\"--test\\\", dest=\\\"test\\\", default=\\\"default\\\", help=\\\"My test parameter.\\\", ) parsed = parser.parse_args(args) print(parsed) \",\"In the exec method, you should parse incoming arguments. But since all CLI arguments to taskiq are shifted you can ignore the args parameter.\",\"Also, you can use your favorite tool to build CLI, like click or typer.\",\"After you have such class, you need to add entrypoint that points to that class.\",\"You can read more about entry points in python documentation. The subcommand name is the same as the name of the entry point you've created.\",\"$ taskiq demo --help usage: demo [-h] [--test TEST] optional arguments: -h, --help show this help message and exit --test TEST My test parameter. \",\"$ taskiq demo --test aaa Namespace(test='aaa') \"]},\"31\":{\"h\":\"Middlewares\",\"t\":[\"Middlewares are super helpful. You can inject some code before or after task's execution.\",\"Middlewares must implement taskiq.abc.middleware.TaskiqMiddleware abstract class. Every method of a middleware can be either sync or async. Taskiq will execute it as you expect.\",\"For example:\",\"Also, middlewares always have reference to the current broker in self.broker field. If you want to kick a message during the execution of some middleware hooks, you may use self.broker to do so.\",\"Taskiq-pipelines uses middlewares to\\ncall next tasks.\"]},\"32\":{\"h\":\"Result backend\",\"t\":[\"Result backends are used to store information about task execution. To create new result_backend you have to implement taskiq.abc.result_backend.AsyncResultBackend class.\",\"Here's a minimal example of a result backend:\",\"from typing import TypeVar from taskiq import TaskiqResult from taskiq.abc.result_backend import AsyncResultBackend _ReturnType = TypeVar(\\\"_ReturnType\\\") class MyResultBackend(AsyncResultBackend[_ReturnType]): async def startup(self) -> None: \\\"\\\"\\\"Do something when starting broker.\\\"\\\"\\\" async def shutdown(self) -> None: \\\"\\\"\\\"Do something on shutdown.\\\"\\\"\\\" async def set_result( self, task_id: str, result: TaskiqResult[_ReturnType], ) -> None: \\\"\\\"\\\" Set result in your backend. :param task_id: current task id. :param result: result of execution. \\\"\\\"\\\" async def get_result( self, task_id: str, with_logs: bool = False, ) -> TaskiqResult[_ReturnType]: \\\"\\\"\\\" Here you must retrieve result by id. Logs is a part of a result. Here we have a parameter whether you want to fetch result with logs or not, because logs can have a lot of info and sometimes it's critical to get only needed information. :param task_id: id of a task. :param with_logs: whether to fetch logs. :return: result. \\\"\\\"\\\" return ... # type: ignore async def is_result_ready( self, task_id: str, ) -> bool: \\\"\\\"\\\" Check if result exists. This function must check whether result is available in your result backend without fetching the result. :param task_id: id of a task. :return: True if result is ready. \\\"\\\"\\\" return ... # type: ignore \",\"Cool tip!\",\"It's a good practice to skip fetching logs from the storage unless with_logs=True is explicitly specified.\",\"Important note!\",\"with_logs param is now deprecated. It will be removed in future releases.\"]},\"33\":{\"h\":\"Schedule source\",\"t\":[\"Schedule sources are used to get schedule for tasks. To create new schedule source you have to implement the taskiq.abc.schedule_source.ScheduleSource abstract class.\",\"Here's a minimal example of a schedule source:\",\"from typing import List from taskiq import ScheduledTask, ScheduleSource class MyScheduleSource(ScheduleSource): async def startup(self) -> None: \\\"\\\"\\\"Do something when starting broker.\\\"\\\"\\\" async def shutdown(self) -> None: \\\"\\\"\\\"Do something on shutdown.\\\"\\\"\\\" async def get_schedules(self) -> List[\\\"ScheduledTask\\\"]: # Here you must return list of scheduled tasks from your source. return [ ScheduledTask( task_name=\\\"\\\", labels={}, args=[], kwargs={}, cron=\\\"* * * * *\\\", ), ] # This method is optional. You may not implement this. # It's just a helper to people to be able to interact with your source. async def add_schedule(self, schedule: \\\"ScheduledTask\\\") -> None: print(\\\"New schedule added:\\\", schedule) # This method is completely optional, but if you want to support # schedule cancelation, you must implement it. async def delete_schedule(self, schedule_id: str) -> None: print(\\\"Deleting schedule:\\\", schedule_id) # This method is optional. You may not implement this. # It's just a helper to people to be able to interact with your source. async def pre_send(self, task: \\\"ScheduledTask\\\") -> None: \\\"\\\"\\\" Actions to execute before task will be sent to broker. This method may raise ScheduledTaskCancelledError. This cancels the task execution. :param task: task that will be sent \\\"\\\"\\\" # This method is optional. You may not implement this. # It's just a helper to people to be able to interact with your source. async def post_send(self, task: \\\"ScheduledTask\\\") -> None: \\\"\\\"\\\" Actions to execute after task was sent to broker. :param task: task that just have sent \\\"\\\"\\\" \",\"You can implement a schedule source that write schedules in the database and have delayed tasks in runtime.\"]},\"34\":{\"h\":\"Framework integrations\",\"t\":[\"Taskiq is meant to be simple and adaptive. That's why we try to add different integrations to make development with taskiq and your favorite framework easy and fun!\",\"Integrations with frameworks add two things:\",\"Startup and Shutdown events;\",\"Dependencies to use in your handler.\"]},\"35\":{\"h\":\"Taskiq + FastStream\",\"t\":[\"FastStream is a library that allows you to write consumers and producers for different message brokers almost like taskiq. But the differense is that taskiq is more focused on tasks for a specific project and more like celery but async, while FastStream is more focused on events and defining how different systems communicate with each other using distributed brokers.\",\"If you want to declare communication between different projects you can use taskiq, but it might be a bit more complex than using FastStream.\",\"Although these libraries solve different problems, they have integration between each other, so you can use FastStream as a broker for taskiq. It allows FastStream to use taskiq's scheduler along with its own features.\",\"To use FastStream as a broker for taskiq you need to install the taskiq-faststream library:\",\"pip install \\\"taskiq-faststream\\\" \",\"And you can use it like this:\",\"from faststream import FastStream from faststream.kafka import KafkaBroker from taskiq_faststream import BrokerWrapper broker = KafkaBroker(\\\"localhost:9092\\\") app = FastStream(broker) taskiq_broker = BrokerWrapper(broker) \",\"You can read more about scheduling tasks for FastStream in the FastStream documentation.\"]},\"36\":{\"h\":\"Taskiq + Aiogram\",\"t\":[\"Taskiq-Aiogram is a nice integration with one of the best telegram bot libraries - aiogram.\",\"This integration allows you to easily send delayed messages or run intensive functions without blocking the message handing.\",\"This integration adds three main dependencies which you can use in your taskiq functions:\",\"aiogram.Bot - the bot instance that you can use to send messages or perform other actions. If multiple bots listen to the same dispatcher, this dependency will be resolved to the latest bot passed in the taskiq_aiogram.init function.\",\"aiogram.Dispatcher - current dispatcher instance.\",\"List[aiogram.Bot] - list of all bots that were passed to the taskiq_aiogram.init function.\",\"To enable the integration, please install the taskiq-aiogram library:\",\"pip install \\\"taskiq-aiogram\\\" \",\"After the installation is complete, add an initialization function call to your broker's main file so it becomes something like this:\",\"import asyncio import taskiq_aiogram from aiogram import Bot from taskiq import TaskiqDepends from taskiq_redis import ListQueueBroker broker = ListQueueBroker(\\\"redis://localhost\\\") # This line is going to initialize everything. taskiq_aiogram.init( broker, # This is path to the dispatcher. \\\"bot:dp\\\", # This is path to the bot instance. \\\"bot:bot\\\", # You can specify more bots here. ) @broker.task(task_name=\\\"my_task\\\") async def my_task(chat_id: int, bot: Bot = TaskiqDepends()) -> None: print(\\\"I'm a task\\\") await asyncio.sleep(4) await bot.send_message(chat_id, \\\"task completed\\\") \",\"Let's see how to use this integration.\",\"import asyncio import logging import sys from aiogram import Bot, Dispatcher, types from aiogram.filters import Command from tkq import broker, my_task dp = Dispatcher() bot = Bot(token=\\\"TOKEN\\\") # Taskiq calls this function when starting the worker. @dp.startup() async def setup_taskiq(bot: Bot, *_args, **_kwargs): # Here we check if it's a clien-side, # Becuase otherwise you're going to # create infinite loop of startup events. if not broker.is_worker_process: logging.info(\\\"Setting up taskiq\\\") await broker.startup() # Taskiq calls this function when shutting down the worker. @dp.shutdown() async def shutdown_taskiq(bot: Bot, *_args, **_kwargs): if not broker.is_worker_process: logging.info(\\\"Shutting down taskiq\\\") await broker.shutdown() ## Simple command to handle @dp.message(Command(\\\"task\\\")) async def message(message: types.Message): await my_task.kiq(message.chat.id) ## Main function that starts the bot. async def main(): await dp.start_polling(bot) if __name__ == \\\"__main__\\\": logging.basicConfig(level=logging.INFO, stream=sys.stdout) asyncio.run(main()) \",\"That's it. Now you can easily call tasks from your bots and access bots from within your tasks.\"]},\"37\":{\"h\":\"Taskiq + AioHTTP\",\"t\":[\"AioHTTP is a framework for building robust applications. We created several libraries to make the experience with AioHTTP even better.\",\"We created a library aiohttp-deps to add FastAPI-like dependency injection in AioHTTP.\",\"To install it, simply run:\",\"pip install \\\"aiohttp-deps\\\" \",\"After the installation, please add startup event to your application to initialize dependencies context.\",\"from aiohttp import web import aiohttp_deps app = web.Application() # This startup event makes all the magic happen. # It parses current handlers and create dependency graphs for them. app.on_startup.append(aiohttp_deps.init) web.run_app(app) \",\"You can read more about dependency injection and available dependencies in the project's README.md.\"]},\"38\":{\"h\":\"Adding taskiq integration\",\"t\":[\"We highly recommend using aiohttp with aiohttp-deps because it allows us to reuse the same dependencies for your handlers and tasks. First of all, you should install the taskiq-aiohttp library.\",\"pip install \\\"taskiq-aiohttp\\\" \",\"After the installation is complete, add an initialization function call to your broker's main file so it becomes something like this:\",\"import taskiq_aiohttp broker = MyBroker() # The second argument is a path to web.Application variable. # Also you can provide here a factory function that takes no # arguments and returns an application. This function can be async. taskiq_aiohttp.init(broker, \\\"my_project.main:app\\\") \",\"From this point, you'll be able to reuse the same dependencies as with aiohttp-deps. Let's take a look at this function:\",\"In this example, we depend on the current application. We can use its state in a current task or any other dependency. We can take db_pool from your application's state, which is the same pool, as the one you've created on AiohTTP's startup. But this application is only a mock of your application. It has correct types and all your variables that you filled on startup, but it doesn't handle any request. This integration adds two main dependencies:\",\"web.Application - current application.\",\"web.Request - mocked request. This request only exists to be able to use the same dependencies.\",\"You can find more detailed examples in the examples repo.\"]},\"39\":{\"h\":\"Testing\",\"t\":[\"Writing tests for AioHTTP with taskiq is as easy as writing tests for the aiohttp application. The only difference is that, if you want to use InMemoryBroker, then you need to add context for dependency injection. It's easier to call populate_context when creating a test_client fixture.\",\"import taskiq_aiohttp @pytest.fixture async def test_client( app: web.Application, ) -> AsyncGenerator[TestClient, None]: \\\"\\\"\\\" Create a test client. This function creates a TestServer and a test client for the application. Also this fixture populates context with needed variables. :param app: current application. :yield: ready to use client. \\\"\\\"\\\" loop = asyncio.get_running_loop() server = TestServer(app) client = TestClient(server, loop=loop) await client.start_server() # This is important part. # Since InMemoryBroker doesn't # run as a worker process, we have to populate # broker's context by hand. taskiq_aiohttp.populate_context( broker=broker, server=server.runner.server, app=app, loop=loop, ) yield client broker.custom_dependency_context = {} await client.close() \"]},\"40\":{\"h\":\"Taskiq + FastAPI\",\"t\":[\"FastAPI is a highly popular async web framework in Python. It has gained its popularity because of two things:\",\"It's easy to use;\",\"Cool dependency injection.\",\"In taskiq, we try to make our libraries easy to use, and We have a dependency injection too. So we have created the library \\\"taskiq-fastapi\\\" to make integration with FastAPI as smooth as possible.\",\"Let's see what we got here. In this library, we provide users with only one public function called init. It takes a broker and a string path (as in uvicorn) to the fastapi application (or factory function). People should call this function in their main broker file.\",\"from taskiq import ZeroMQBroker import taskiq_fastapi broker = ZeroMQBroker() taskiq_fastapi.init(broker, \\\"my_package.application:app\\\") \",\"There are two rules to make everything work as you expect:\",\"Add TaskiqDepends as a default value for every parameter with Request or HTTPConnection types in base dependencies. Or if you use Annotated, please annotate these types with TaskiqDepends.\",\"Use only TaskiqDepends in tasks.\",\"Cool and important note!\",\"The Request or HTTPConnection that you'll get injected in your task is not the same request or connection you have had in your handler when you were sending the task!\",\"Many fastapi dependency functions depend on fastapi.Request. We provide a mocked request to such dependencies. But taskiq cannot resolve dependencies until you explicitly specify that this parameter must be injected.\",\"As an example. If you previously had a dependency like this:\",\"from fastapi import Request from typing import Any def get_redis_pool(request: Request) -> Any: return request.app.state.redis_pool \",\"To make it resolvable in taskiq, people should mark default fastapi dependencies (such as Request and HTTPConnection) with TaskiqDepends. Like this:\",\"Also you want to call startup of your brokers somewhere.\",\"from fastapi import FastAPI from your_project.taskiq import broker app = FastAPI() @app.on_event(\\\"startup\\\") async def app_startup(): if not broker.is_worker_process: await broker.startup() @app.on_event(\\\"shutdown\\\") async def app_shutdown(): if not broker.is_worker_process: await broker.shutdown() \",\"And that's it. Now you can use your taskiq tasks with functions and classes that depend on FastAPI dependenices. You can find bigger examples in the examples repo.\"]},\"41\":{\"h\":\"Testing\",\"t\":[\"Testing is no different from general testing advice from articles about testing. But if you use InMemoryBroker in your tests, you need to provide it with a custom dependency context because it doesn't run as a worker process.\",\"Let's imagine that you have a fixture of your application. It returns a new fastapi application to use in tests.\",\" @pytest.fixture def fastapi_app() -> FastAPI: return get_app() \",\"Right after this fixture, we define another one.\",\"import taskiq_fastapi @pytest.fixture(autouse=True) def init_taskiq_deps(fastapi_app: FastAPI): # This is important part. Here we add dependency context, # this thing helps in resolving dependencies for tasks # for inmemory broker. taskiq_fastapi.populate_dependency_context(broker, fastapi_app) yield broker.custom_dependency_context = {} \",\"This fixture has autouse flag, which means it would run on every test automatically.\"]},\"42\":{\"h\":\"Introduction\"},\"43\":{\"h\":\"What is taskiq\",\"t\":[\"Taskiq is a library that helps you send and process python functions in a distributed manner. For example, you have many heavy to calculate functions you want to execute on another server. You can implement interservice communication by yourself, or you can use Taskiq to make the job done easily.\",\"The core library doesn't have much functionality. It provides two built-in brokers, CLI, basic functionality for creating distributed tasks, and abstractions to extend the taskiq. The main idea of taskiq is to make it modular and easy to extend. We have libraries for many possible use cases, but if you lack something, you can adopt taskiq to fit your needs.\"]},\"44\":{\"h\":\"Why not use existing libraries?\",\"t\":[\"We created this project because we couldn't find any project that can execute and send async functions using distributed queues like RabbitMQ.\",\"You might have seen projects built on top of asyncio that solve a similar problem, but here's a comparison table of the taskiq and other projects.\",\"Feature name\",\"Taskiq\",\"Arq\",\"AioTasks\",\"Actively maintained\",\"✅\",\"✅\",\"❌\",\"Multiple broker backends\",\"✅\",\"❌\",\"✅\",\"Multiple result backends\",\"✅\",\"❌\",\"❌\",\"Have a rich documentation\",\"✅\",\"❌\",\"❌\",\"Startup & Shutdown events\",\"✅\",\"✅\",\"❌\",\"Have ability to abort tasks\",\"❌\",\"✅\",\"❌\",\"Custom serializers\",\"✅\",\"✅\",\"❌\",\"Dependency injection\",\"✅\",\"❌\",\"❌\",\"Task pipelines\",\"✅\",\"✅\",\"❌\",\"Task schedules\",\"✅\",\"✅\",\"❌\",\"Global middlewares\",\"✅\",\"❌\",\"❌\",\"If you have a fully synchronous project, consider using celery or dramatiq instead.\"]},\"45\":{\"h\":\"Architecture overview\",\"t\":[\"Taskiq has very simple structure. On the client side all messages are sent by kickers using brokers. On the worker side all messages received by the broker and results are stored in result backends.\",\"On the sequence diagram it looks like this:\",\"Cool tip!\",\"If you use dark theme and cannot see words on diagram, try switching to light theme and back to dark.\",\"Let's discuss every component.\"]},\"46\":{\"h\":\"Broker\",\"t\":[\"Brokers are the most critical element of the taskiq. Every broker must implement the AsyncBroker abstract class from taskiq.abc.broker to make things work.\",\"AsyncBroker class has two main methods to implement:\",\"kick\",\"listen\",\"The kick method puts the message in the external system. For example, it may call the PUB command in Redis.\",\"The listen is a method with an infinite loop that reads messages from the external system and creates a task for processing messages. For example, it subscribes to the Redis channel and waits for new messages.\"]},\"47\":{\"h\":\"Kicker\",\"t\":[\"Kicker is an object that used to form a message for broker. This class isn't extendable. To form a message kicker uses labels, task name and arguments.\",\"When you call the task.kiq on a task, it generates a Kicker instance and is a shortening for the task.kicker().kiq(...). You can use kicker to change broker, add labels, or even change task_id.\",\"import asyncio from taskiq.brokers.inmemory_broker import InMemoryBroker broker = InMemoryBroker() second_broker = InMemoryBroker() @broker.task async def my_async_task() -> None: \\\"\\\"\\\"My lovely task.\\\"\\\"\\\" await asyncio.sleep(1) print(\\\"Hello\\\") async def main(): # This task was initially assigned to broker, # but this time it is going to be sent using # the second broker with additional label `delay=1`. task = await my_async_task.kicker().with_broker(second_broker).with_labels(delay=1).kiq() print(await task.get_result()) asyncio.run(main()) \"]},\"48\":{\"h\":\"Messages\",\"t\":[\"Every message has labels. You can define labels using task decorator, or you can add them using kicker.\",\"For example:\",\" @broker.task(my_label=1, label2=\\\"something\\\") async def my_async_task() -> None: \\\"\\\"\\\"My lovely task.\\\"\\\"\\\" await asyncio.sleep(1) print(\\\"Hello\\\") async def main(): await my_async_task.kiq() \",\"It's equivalent to this\",\" @broker.task async def my_async_task() -> None: \\\"\\\"\\\"My lovely task.\\\"\\\"\\\" await asyncio.sleep(1) print(\\\"Hello\\\") async def main(): await my_async_task.kicker().with_labels( my_label=1, label2=\\\"something\\\", ).kiq() \",\"Also you can assign custom task names using decorator. This is useful to be sure that task names are unique and resolved correctly. Also it may be useful to balance message routing in some brokers.\",\"for example:\",\"@broker.task(task_name=\\\"my_tasks.add_one\\\", label1=1) async def my_async_task() -> None: \\\"\\\"\\\"My lovely task.\\\"\\\"\\\" await asyncio.sleep(1) print(\\\"Hello\\\") \"]},\"49\":{\"h\":\"Result backend\",\"t\":[\"Result backend is used to store and get results of the execution. Results have type TaskiqResult from taskiq.result.\",\"Every ResultBackend must implement AsyncResultBackend from taskiq.abc.result_backend. By default, brokers use DummyResultBackend. It doesn't do anything and cannot be used in real-world scenarios. But some brokers can override it. For example InMemoryBroker by default uses InMemoryResultBackend and returns correct results.\"]},\"50\":{\"h\":\"Workers\",\"t\":[\"Taskiq has a command line interface to run workers. It's simple to get it to work.\",\"You have to provide a path to your broker. As an example, if you want to start listening to new tasks with a broker that is stored in a variable my broker in the module my_project.broker run this in your terminal:\",\"taskiq worker my_project.broker:mybroker \",\"taskiq can discover task modules to import automatically, if you add the -fsd (file system discover) option.\",\"Let's assume we have project with the following structure:\",\"test_project ├── broker.py ├── submodule │ └── tasks.py └── utils └── tasks.py \",\"You can specify all tasks modules to import manually.\",\"taskiq worker test_project.broker:broker test_project.submodule.tasks test_project.utils.tasks \",\"Or you can let taskiq find all python modules named tasks in current directory recursively.\",\"taskiq worker test_project.broker:broker -fsd \",\"If you have uvloop installed, taskiq will automatically install new policies to event loop. You can get more info about the CLI in the CLI section.\",\"Cool info\",\"By default we start two processes, if you want to change this value, please take a look at --help.\"]},\"51\":{\"h\":\"Middlewares\",\"t\":[\"Middlewares are used to modify message, or take some actions before or after task is complete.\",\"You can write your own middlewares by subclassing the taskiq.abc.middleware.TaskiqMiddleware.\",\"Every hook can be sync or async. Taskiq will execute it.\",\"For example, this is a valid middleware.\",\"import asyncio from taskiq.abc.middleware import TaskiqMiddleware from taskiq.message import TaskiqMessage class MyMiddleware(TaskiqMiddleware): async def pre_send(self, message: \\\"TaskiqMessage\\\") -> TaskiqMessage: await asyncio.sleep(1) message.labels[\\\"my_label\\\"] = \\\"my_value\\\" return message def post_send(self, message: \\\"TaskiqMessage\\\") -> None: print(f\\\"Message {message} was sent.\\\") \",\"Here are methods you can implement in the order they are executed:\",\"pre_send - executed on the client side before the message is sent. Here you can modify the message.\",\"post_send - executed right after the message was sent.\",\"pre_execute - executed on the worker side after the message was received by a worker and before its execution.\",\"on_error - executed after the task was executed if the exception was found.\",\"post_execute - executed after the message was executed.\",\"post_save - executed after the result was saved in the result backend.\",\"You can use sync or async hooks without changing anything, but adding async to the hook signature.\",\"important note\",\"If exception happens in middlewares it won't be caught. Please ensure that you have try\\\\except for all edge cases of your middleware.\",\"Middlewares can store information in message.labels for later use. For example SimpleRetryMiddleware uses labels to remember number of failed attempts.\"]},\"52\":{\"h\":\"Context\",\"t\":[\"Context is a useful class with some additional functions. You can use context to get broker that runs this task, from inside of the task.\",\"Or it has ability to control the flow of execution. Here's example of how to get the context.\",\"Also through contexts you can reject or requeue a task. It's easy as this:\",\"Calling requeue or reject stops task execution and either drops the message, or puts it back to the queue.\",\"Also, with context you'll be able to get current message that was received by the broker\\nor even instance of a broker who received a message. This may be useful for lib developers.\"]},\"53\":{\"h\":\"CLI\",\"t\":[\"Core library comes with CLI program called taskiq, which is used to run different subcommands.\",\"By default taskiq is shipped with only two commands: worker and scheduler. You can search for more taskiq plugins using pypi. Some plugins may add new commands to taskiq.\"]},\"54\":{\"h\":\"Worker\",\"t\":[\"To run worker process, you have to specify the broker you want to use and modules with defined tasks. Like this:\",\"taskiq worker mybroker:broker_var my_project.module1 my_project.module2 \"]},\"55\":{\"h\":\"Auto importing\",\"t\":[\"Enumerating all modules with tasks is not an option sometimes. That's why taskiq can auto-discover tasks in current directory recursively.\",\"We have two options for this:\",\"--tasks-pattern or -tp. It's a glob pattern of files to import. By default it is **/tasks.py which searches for all tasks.py files. May be specified multiple times.\",\"--fs-discover or -fsd. This option enables search of task files in current directory recursively, using the given pattern.\"]},\"56\":{\"h\":\"Acknowledgements\",\"t\":[\"The taskiq supports three types of acknowledgements:\",\"when_received - task is acknowledged when it is received by the worker.\",\"when_executed - task is acknowledged right after it is executed by the worker.\",\"when_saved - task is acknowledged when the result of execution is saved in the result backend.\",\"This can be configured using --ack-type parameter. For example:\",\"taskiq worker --ack-type when_executed mybroker:broker \"]},\"57\":{\"h\":\"Type casts\",\"t\":[\"One of features taskiq have is automatic type casts. For example you have a type-hinted task like this:\",\"async def task(val: int) -> int: return val + 1 \",\"If you'll call task.kiq(\\\"2\\\") you'll get 3 as the returned value. Because we parse signatures of tasks and cast incoming parameters to target types. If type-cast fails you won't throw any error. It just leave the value as is. That functionality allows you to use pydantic models, or dataclasses as the input parameters.\",\"To disable this pass the --no-parse option to the taskiq.\"]},\"58\":{\"h\":\"Hot reload\",\"t\":[\"This is annoying to restart workers every time you modify tasks. That's why taskiq supports hot-reload. Reload is unavailable by default. To enable this feature install taskiq with reload extra.\",\"To enable this option simply pass the --reload or -r option to worker taskiq CLI.\",\"Also this option supports .gitignore files. If you have such file in your directory, it won't reload worker when you modify ignored files. To disable this functionality pass --do-not-use-gitignore option.\"]},\"59\":{\"h\":\"Other parameters\",\"t\":[\"--no-configure-logging - disables default logging configuration for workers.\",\"--log-level is used to set a log level (default INFO).\",\"--max-async-tasks - maximum number of simultaneously running async tasks.\",\"--max-prefetch - number of tasks to be prefetched before execution. (Useful for systems with high message rates, but brokers should support acknowledgements).\",\"--max-threadpool-threads - number of threads for sync function exection.\",\"--no-propagate-errors - if this parameter is enabled, exceptions won't be thrown in generator dependencies.\",\"--receiver - python path to custom receiver class.\",\"--receiver_arg - custom args for receiver.\",\"--ack-type - Type of acknowledgement. This parameter is used to set when to acknowledge the task. Possible values are when_received, when_executed, when_saved. Default is when_saved.\",\"max-tasks-per-child - maximum number of tasks to be executed by a single worker process before restart.\",\"--shutdown-timeout - maximum amount of time for graceful broker's shutdown in seconds.\",\"--wait-tasks-timeout - if cannot read new messages from the broker or maximum number of tasks is reached, worker will wait for all current tasks to finish. This parameter sets the maximum amount of time to wait until shutdown.\"]},\"60\":{\"h\":\"Scheduler\",\"t\":[\"Scheduler is used to schedule tasks as described in Scheduling tasks section.\",\"To run it simply run\",\"taskiq scheduler [optional module to import]... \",\"For example\",\"taskiq scheduler my_project.broker:scheduler my_project.module1 my_project.module2 \"]},\"61\":{\"h\":\"Parameters\",\"t\":[\"Path to scheduler is the only required argument.\",\"--tasks-pattern or -tp. It's a glob pattern of files to import. By default it is **/tasks.py which searches for all tasks.py files. May be specified multiple times.\",\"--fs-discover or -fsd. This option enables search of task files in current directory recursively, using the given pattern.\",\"--no-configure-logging - use this parameter if your application configures custom logging.\",\"--log-level is used to set a log level (default INFO).\",\"--skip-first-run - skip first run of scheduler. This option skips running tasks immediately after scheduler start.\"]},\"62\":{\"h\":\"Dynamic Environments\",\"t\":[\"This article is for people who want to:\",\"Create brokers dynamically.\",\"Register tasks, and run them inside their code.\",\"Implement more complex logic.\",\"Taskiq allows you to set up broker instances throughout your application and register tasks for dynamic execution. However, tasks created this way won't be found by the taskiq worker command.\",\"To define tasks and assign them to a broker, use register_task method.\",\"import asyncio from taskiq_redis import ListQueueBroker async def main() -> None: # Here we define a broker. dyn_broker = ListQueueBroker(\\\"redis://localhost\\\") await dyn_broker.startup() # Now we register lambda as a task. dyn_task = dyn_broker.register_task( lambda x: print(\\\"A\\\", x), task_name=\\\"dyn_task\\\", ) # now we can send it. await dyn_task.kiq(x=1) await dyn_broker.shutdown() if __name__ == \\\"__main__\\\": asyncio.run(main()) \",\"In this example, the task is defined using a lambda within the main function. As the lambda is not visible outside of the main function scope, the task is not executable by taskiq worker command.\",\"To overcome this issue, you can:\",\"Create a dynamic worker task within the current event loop.\",\"Implement your own broker listener with the information about all of your tasks.\",\"Here's an example of a dynamic worker task creation:\",\"import asyncio from taskiq_redis import ListQueueBroker from taskiq.api import run_receiver_task async def main() -> None: # Here we define a broker. dyn_broker = ListQueueBroker(\\\"redis://localhost\\\") await dyn_broker.startup() worker_task = asyncio.create_task(run_receiver_task(dyn_broker)) # Now we register lambda as a task. dyn_task = dyn_broker.register_task( lambda x: print(\\\"A\\\", x), task_name=\\\"dyn_task\\\", ) # Now we can send it. await dyn_task.kiq(x=1) await asyncio.sleep(2) worker_task.cancel() try: await worker_task except asyncio.CancelledError: print(\\\"Worker successfully exited.\\\") await dyn_broker.shutdown() if __name__ == \\\"__main__\\\": asyncio.run(main()) \",\"In this example, a named dynamic lambda task is created and registered in a broker, similar to the previous example. The difference is the creation of a new receiver coroutine for the worker task. It will listen to the new messages and execute them. The worker task will be executed in the current event loop. After exiting the scope, the worker task will get cancelled. For illustration purposes it is cancelled explicitly.\",\"It's possible to run a scheduler in the current event loop as well:\",\"import asyncio import datetime from taskiq_redis import ListQueueBroker from taskiq import TaskiqScheduler from taskiq.api import run_receiver_task, run_scheduler_task from taskiq.schedule_sources import LabelScheduleSource async def main() -> None: # Here we define a broker. dyn_broker = ListQueueBroker(\\\"redis://localhost\\\") dyn_scheduler = TaskiqScheduler(dyn_broker, [LabelScheduleSource(dyn_broker)]) await dyn_broker.startup() # Now we register lambda as a task. dyn_task = dyn_broker.register_task( lambda x: print(\\\"A\\\", x), task_name=\\\"dyn_task\\\", # We add a schedule when to run task. schedule=[ { # Here we also can specify cron instead of time. \\\"time\\\": datetime.datetime.utcnow() + datetime.timedelta(seconds=2), \\\"args\\\": [22], }, ], ) # We create scheduler after the task declaration, # so we don't have to wait a minute before it gets to the task. # However, defining a scheduler before the task declaration is also possible. # But we have to wait till it gets to task execution for the second time. worker_task = asyncio.create_task(run_receiver_task(dyn_broker)) scheduler_task = asyncio.create_task(run_scheduler_task(dyn_scheduler)) # We still able to send the task. await dyn_task.kiq(x=1) await asyncio.sleep(10) worker_task.cancel() try: await worker_task except asyncio.CancelledError: print(\\\"Worker successfully exited.\\\") scheduler_task.cancel() try: await scheduler_task except asyncio.CancelledError: print(\\\"Scheduler successfully exited.\\\") await dyn_broker.shutdown() if __name__ == \\\"__main__\\\": asyncio.run(main()) \"]},\"63\":{\"h\":\"Getting started\"},\"64\":{\"h\":\"Installation\",\"t\":[\"You can install taskiq from pypi or directly from git using pip:\",\"After installation of the core library, you need to find the broker that fits you. You can do it using PyPI search.\",\"Cool tip!\",\"We highly recommend taskiq-aio-pika or taskiq-nats as the broker and taskiq-redis as the result backend for production use.\"]},\"65\":{\"h\":\"Running tasks\",\"t\":[\"Now you need to create a python module with broker declaration. It's just a plain python file with the variable of your broker. For this particular example, I'm going to use the InMemoryBroker.\",\"Important note\",\"The InMemoryBroker doesn't send any data over the network, and you cannot use this broker in a real-world scenario, but it's still useful for local development if you do not want to set up a taskiq worker.\",\"# broker.py from taskiq import InMemoryBroker broker = InMemoryBroker() \",\"And that's it. Now let's add some tasks and the main function. You can add tasks in separate modules. You can find more information about that further. Also, we call the startup method at the beginning of the main function.\",\"# broker.py import asyncio from taskiq import InMemoryBroker broker = InMemoryBroker() @broker.task async def add_one(value: int) -> int: return value + 1 async def main() -> None: # Never forget to call startup in the beginning. await broker.startup() # Send the task to the broker. task = await add_one.kiq(1) # Wait for the result. result = await task.wait_result(timeout=2) print(f\\\"Task execution took: {result.execution_time} seconds.\\\") if not result.is_err: print(f\\\"Returned value: {result.return_value}\\\") else: print(\\\"Error found while executing task.\\\") await broker.shutdown() if __name__ == \\\"__main__\\\": asyncio.run(main()) \",\"Cool warning!\",\"Calling the startup method is necessary. If you don't call it, you may get an undefined behaviour.\",\"If you run this code, you will get this in your terminal:\",\"❯ python mybroker.py Task execution took: 7.3909759521484375e-06 seconds. Returned value: 2 \",\"Ok, the code of the task execution is a little bit fancier than an ordinary function call, but it's still relatively simple to understand. To send a task to the broker, you need to call the .kiq method on the function, it returns the TaskiqTask object that can check whether the result is ready or not. Also it has methods to wait for the result to become available.\",\"You can get more information about taskiq types, CLI and internal structure in the \\\"Architecture overview\\\" section.\"]},\"66\":{\"h\":\"Distributed run\",\"t\":[\"Now let's change InMemoryBroker to some distributed broker instead. In this example we are going to use broker that works with rabbitMQ.\",\"At first we must install the taskiq-aio-pika lib.\",\"pip install taskiq-aio-pika \",\"After the installation, replace the broker we defined earlier with the broker from the taskiq-aio-pika.\",\"from taskiq_aio_pika import AioPikaBroker broker = AioPikaBroker('amqp://guest:guest@localhost:5672') \",\"Also, AioPika broker requires to call startup before using it. Add this line at the beginning of the main function.\",\"await broker.startup() \",\"That's all you need to do.\",\"Complete code\",\"# broker.py import asyncio from taskiq_aio_pika import AioPikaBroker broker = AioPikaBroker(\\\"amqp://guest:guest@localhost:5672\\\") @broker.task async def add_one(value: int) -> int: return value + 1 async def main() -> None: await broker.startup() # Send the task to the broker. task = await add_one.kiq(1) # Wait for the result. result = await task.wait_result(timeout=2) print(f\\\"Task execution took: {result.execution_time} seconds.\\\") if not result.is_err: print(f\\\"Returned value: {result.return_value}\\\") else: print(\\\"Error found while executing task.\\\") await broker.shutdown() if __name__ == \\\"__main__\\\": asyncio.run(main()) \",\"Let's run the worker process. First of all, we need rabbitMQ up and running. I highly recommend you use docker.\",\"Now we need to start worker process by running taskiq cli command. You can get more info about the CLI in the CLI section.\",\"taskiq worker broker:broker \",\"After the worker is up, we can run our script as an ordinary python file and see how the worker executes tasks.\",\"$ python broker.py Task execution took: 0.0 seconds. Returned value: None \",\"But the printed result value is not correct. That happens because we didn't provide any result backend that can store results of task execution. To store results, we can use the taskiq-redis library.\",\"pip install taskiq-redis \",\"After the installation, add a new result backend to the broker.\",\"from taskiq_redis import RedisAsyncResultBackend broker = AioPikaBroker( \\\"amqp://guest:guest@localhost:5672\\\", ).with_result_backend(RedisAsyncResultBackend(\\\"redis://localhost\\\")) \",\"Now we need to start redis.\",\"Complete code\",\"# broker.py import asyncio from taskiq_aio_pika import AioPikaBroker from taskiq_redis import RedisAsyncResultBackend broker = AioPikaBroker( \\\"amqp://guest:guest@localhost:5672\\\", ).with_result_backend(RedisAsyncResultBackend(\\\"redis://localhost\\\")) @broker.task async def add_one(value: int) -> int: return value + 1 async def main() -> None: await broker.startup() # Send the task to the broker. task = await add_one.kiq(1) # Wait for the result. result = await task.wait_result(timeout=2) print(f\\\"Task execution took: {result.execution_time} seconds.\\\") if not result.is_err: print(f\\\"Returned value: {result.return_value}\\\") else: print(\\\"Error found while executing task.\\\") await broker.shutdown() if __name__ == \\\"__main__\\\": asyncio.run(main()) \",\"Let's run taskiq once again. The command is the same.\",\"taskiq worker broker:broker \",\"Now, if we run this file with python, we can get the correct results with a valid execution time.\",\"$ python broker.py Task execution took: 1.0013580322265625e-05 seconds. Returned value: 2 \",\"Continue reading to get more information about taskiq internals.\"]},\"67\":{\"h\":\"Timeouts\",\"t\":[\"If you want to restrict amount of time you want to run task, just add timeout label to the task.\",\"You can do it either with decorator or when calling the task.\",\"Cool alert\",\"We use run_in_executor method to run sync functions. Timeouts will raise a TimeoutException, but\\nsynchronous function may not stop from execution. This is a constraint of python.\"]},\"68\":{\"h\":\"Taskiq message format\",\"t\":[\"Taskiq doesn't force you to use any specific message format. We define default message format, but you can use any format you want.\",\"The default message format is:\",\"But this can be easily changed by creating your own implementation of the TaskiqFormatter class or TaskiqSerializer class.\"]},\"69\":{\"h\":\"Serializers\",\"t\":[\"Serializers define the format of the message but not the structure. For example, if you want to use msgpack or ORJson to serialize your message, you should update the serializer of your broker.\",\"Be default, Taskiq uses JSON serializer. But we also have some implementations of other serializers:\",\"ORJSONSerializer - faster JSON implementation. Also, it supports datetime and UUID serialization.\",\"MSGPackSerializer - MsgPack format serializer. It might be useful to send less data over the network.\",\"CBORSerializer - CBOR format serializer. It is also has a smaller size than JSON.\",\"To define your own serializer, you have to subclass the TaskiqSerializer class and implement dumpb and loadb methods. You can take a look at the existing implementations from the taskiq.serializers module.\",\"To install taskiq with libraries for non-JSON serializers, you should install taskiq with extras.\"]},\"70\":{\"h\":\"Formatters\",\"t\":[\"Formatters define the format of the message. It might be useful if you'd like to send a task to a celery worker for a different project. You can do it in seriazier as well, but formatters give you correct type hints.\",\"By default we use a formatter that dumps the message to dict and serializes it using serializer. But you can define your own formatter to send a message in any format you want. To define a new formatter, you have to subclass the TaskiqFormatter class and implement dumps and loads methods.\\nAs an example, you can take a look at the JSONFormatter from taskiq.formatters implementation.\"]},\"71\":{\"h\":\"Scheduling tasks\",\"t\":[\"Sometimes you may want to execute some tasks according to some schedule. For example, you maybe want to call a function every day at 2 pm.\",\"That's not a problem if you use taskiq. We have primitives that can help you to solve your problems.\",\"Let's imagine we have a module, as shown below, and we want to execute the heavy_task every 5 minutes. What should we do?\",\"from taskiq_aio_pika import AioPikaBroker broker = AioPikaBroker(\\\"amqp://guest:guest@localhost:5672/\\\") @broker.task async def heavy_task(value: int) -> int: return value + 1 \",\"Of course we can implement loop like this:\",\" while True: await heavy_task.kiq(1) await asyncio.sleep(timedelta(minutes=5).total_seconds) \",\"But if you have many schedules it may be a little painful to implement. So let me introduce you the TaskiqScheduler. Let's add scheduler to our module.\",\"from taskiq_aio_pika import AioPikaBroker from taskiq.schedule_sources import LabelScheduleSource from taskiq import TaskiqScheduler broker = AioPikaBroker(\\\"amqp://guest:guest@localhost:5672/\\\") scheduler = TaskiqScheduler( broker=broker, sources=[LabelScheduleSource(broker)], ) @broker.task(schedule=[{\\\"cron\\\": \\\"*/5 * * * *\\\", \\\"args\\\": [1]}]) async def heavy_task(value: int) -> int: return value + 1 \",\"That's it.\",\"Now we need to start our scheduler with the taskiq scheduler command. Like this:\",\"taskiq scheduler module:scheduler \",\"Be careful!\",\"Please always run only one instance of the scheduler! If you run more than one scheduler at a time, please be careful since it may execute one task N times, where N is the number of running scheduler instances.\",\"This command will import the scheduler you defined and start sending tasks to your broker.\",\"Cool tip!\",\"The scheduler doesn't execute tasks. It only sends them.\",\"You can check list of available schedule sources in the Available schedule sources section.\"]},\"72\":{\"h\":\"Multiple sources\",\"t\":[\"Sometimes you may want to use multiple sources to assemble a schedule for tasks. The TaskiqScheduler can do so. But it's obvious how to merge schedules from different sources.\",\"That's why you can pass a custom merge function to resolve all possible conflicts or if you want to have more complex logic aside from sources. For example, filter out some task schedules.\",\"Currently we have only two default functions to merge tasks. You can find them in the taskiq.scheduler.merge_functions module.\",\"preserve_all - simply adds new schedules to the old ones.\",\"only_unique - adds schedule only if it was not added by previous sources.\",\"Every time we update schedule it gets task from the source and executes this function to merge them together.\"]},\"73\":{\"h\":\"Working with timezones\",\"t\":[\"Sometimes, you want to be specific in terms of time zones. We have you covered. Our ScheduledTask model has fields for that. Use these fields or not, it's up to the specific schedule source.\",\"Taskiq scheduler assumes that if time has no specific timezone, it's in UTC. Sometimes, this behavior might not be convinient for developers.\",\"For the time field of ScheduledTask we use timezone information from datetime to check if a task should run.\",\"For cron tasks, we have an additional field called cron_offset that can be used to specify an offset of the cron task. An offset can be a string like Europe/Berlin or an instance of the timedelta class.\"]},\"74\":{\"h\":\"Skipping first run\",\"t\":[\"By default, when you start the scheduler it will get all tasks from the schedule source and check whether they should have been executed in this minute. If tasks should have been executed, they will be executed.\",\"This behaviour might be not convinient for some developers. For example, if you have a task that should be executed on every minute, it will be executed once you start the scheduler, even if it was executed a few seconds ago.\",\"To avoid this behaviour, you can pass the --skip-first-run flag to the taskiq scheduler command. In this case, the scheduler will wait until the start of the next minute and then start executing tasks.\",\"taskiq scheduler module:scheduler --skip-first-run \"]},\"75\":{\"h\":\"Dynamic scheduling\",\"t\":[\"Sometimes you may want to add new schedules to the scheduler on the fly. For example, you may want to run a specific function in several minutes from now. You can easily do it with ScheduleSources that support dynamic scheduling. Currently we suggest to use the RedisScheduleSource for that purpose. List of schedulers with dynamic task addition will be extended in the future. For list of available schedule sources see Available schedule sources.\",\"Here's an example of using redis schedule source:\",\"from taskiq_redis import ListQueueBroker, RedisScheduleSource from taskiq import TaskiqScheduler # Here's the broker that is going to execute tasks broker = ListQueueBroker(\\\"redis://localhost:6379/0\\\") # Here's the source that is used to store scheduled tasks redis_source = RedisScheduleSource(\\\"redis://localhost:6379/0\\\") # And here's the scheduler that is used to query scheduled sources scheduler = TaskiqScheduler(broker, sources=[redis_source]) @broker.task async def my_task(arg1: int, arg2: str) -> None: \\\"\\\"\\\"Example task.\\\"\\\"\\\" print(\\\"Hello from my_task!\\\", arg1, arg2) # noqa: T201 \",\"Now we can use this source to add new schedules in runtime. Here's an example:\",\" await redis_source.startup() await my_task.schedule_by_time( redis_source, # It's better to use UTC time, or add tzinfo to datetime. datetime.datetime.utcnow() + datetime.timedelta(minutes=1, seconds=5), # You can pass args and kwargs here as usual 11, arg2=\\\"arg2\\\", ) \",\"Or if you want to use cron schedules instead, just use schedule_by_cron method.\",\" await my_task.schedule_by_cron( redis_source, \\\"*/5 * * * *\\\", 11, arg2=\\\"arg2\\\", ) \",\"If you want to pass additional labels, you can call these methods on the Kicker instance.\",\" schedule = ( await my_task.kicker() .with_labels(label1=\\\"value\\\") .schedule_by_time( redis_source, datetime.datetime.utcnow() + datetime.timedelta(seconds=10), 11, arg2=\\\"arg2\\\", ) ) \",\"Cool warning!\",\"The with_broker method won't do anything in this case, since we have a broker assigned to each scheduler.\",\"Each of these methods return you an instance of the CreatedSchedule class. This object has unique schedule ID and some helper methods. For example, you can use the unschedule method to remove the schedule from the source.\",\" schedule = await my_task.schedule_by_time( redis_source, datetime.datetime.utcnow() + datetime.timedelta(minutes=1, seconds=5), 11, arg2=\\\"arg2\\\", ) await schedule.unschedule() \",\"Or it can be done manually, by calling delete_schedule on schedule source providing it whith schedule_id.\",\" await redis_source.delete_schedule(schedule.schedule_id) \"]},\"76\":{\"h\":\"State and Dependencies\"},\"77\":{\"h\":\"State\",\"t\":[\"The TaskiqState is a global variable where you can keep the variables you want to use later. For example, you want to open a database connection pool at a broker's startup.\",\"This can be achieved by adding event handlers.\",\"You can use one of these events:\",\"WORKER_STARTUP\",\"CLIENT_STARTUP\",\"WORKER_SHUTDOWN\",\"CLIENT_SHUTDOWN\",\"Worker events are called when you start listening to the broker messages using taskiq. Client events are called when you call the startup method of your broker from your code.\",\"This is an example of code using event handlers:\",\"Cool tip!\",\"If you want to add handlers programmatically, you can use the broker.add_event_handler function.\",\"As you can see in this example, this worker will initialize the Redis pool at the startup. You can access the state from the context.\"]},\"78\":{\"h\":\"Dependencies\",\"t\":[\"Using context directly is nice, but this way you won't get code-completion.\",\"That's why we suggest you try TaskiqDependencies. The implementation is very similar to FastApi's dependencies. You can use classes, functions, and generators as dependencies.\",\"We use the taskiq-dependencies package to provide autocompetion. You can easily integrate it in your own project.\"]},\"79\":{\"h\":\"How dependencies are useful\",\"t\":[\"You can use dependencies for better autocompletion and reduce the amount of code you write. Since the state is generic, we cannot guess the types of the state fields. Dependencies can be annotated with type hints and therefore provide better auto-completion.\",\"Let's assume that you've stored a Redis connection pool in the state as in the example above.\",\"@broker.on_event(TaskiqEvents.WORKER_STARTUP) async def startup(state: TaskiqState) -> None: # Here we store connection pool on startup for later use. state.redis = ConnectionPool.from_url(\\\"redis://localhost/1\\\") \",\"You can access this variable by using the current execution context directly, like this:\",\"If you hit the TAB button after the context.state. expression, your IDE won't give you any auto-completion. But we can create a dependency function to add auto-completion.\",\"Now, this dependency injection will be autocompleted. But, of course, state fields cannot be autocompleted, even in dependencies. But this way, you won't make any typos while writing tasks.\"]},\"80\":{\"h\":\"How do dependencies work\",\"t\":[\"We build a graph of dependencies on startup. If the parameter of the function has the default value of TaskiqDepends this parameter will be treated as a dependency.\",\"Dependencies can also depend on something. Also dependencies are optimized to not evaluate things many times.\",\"For example:\",\"In this code, the dependency common_dep is going to be evaluated only once and the dep1 and the dep2 are going to receive the same value. You can control this behavior by using the use_cache=False parameter to you dependency. This parameter will force the dependency to reevaluate all it's subdependencies.\",\"In this example we cannot predict the result. Since the dep2 doesn't use cache for the common_dep function.\",\"The graph for cached dependencies looks like this:\",\"The dependencies graph for my_task where dep2 doesn't use cached value for common_dep looks like this:\"]},\"81\":{\"h\":\"Class as a dependency\",\"t\":[\"You can use classes as dependencies, and they can also use other dependencies too.\",\"Let's see an example:\",\"As you can see, the dependency for my_task function is declared with TaskiqDependency(). It's because you can omit the class if it's declared in type-hint for the parameter. This feature doesn't work with dependency functions, it's only for classes.\",\"You can pass dependencies for classes in the constructor.\"]},\"82\":{\"h\":\"Generator dependencies\",\"t\":[\"Generator dependencies are used to perform startup before task execution and teardown after the task execution.\",\"In this example, we can do something at startup before the execution and at shutdown after the task is completed.\",\"If you want to do something asynchronously, convert this function to an asynchronous generator. Like this:\"]},\"83\":{\"h\":\"Exception handling\",\"t\":[\"Generator dependencies can handle exceptions that happen in tasks. This feature is handy if you want your system to be more atomic.\",\"For example, if you open a database transaction in your dependency and want to commit it only if the function you execute is completed successfully.\",\"If you don't want to propagate exceptions in dependencies, you can add --no-propagate-errors option to worker command.\",\"taskiq worker my_file:broker --no-propagate-errors \",\"In this case, no exception will ever going to be propagated to any dependency.\"]},\"84\":{\"h\":\"Generics\",\"t\":[\"Taskiq supports generic dependencies. You can create a generic class that is generic over another class and takskiq will be able to resolve generics based on type annotations.\"]},\"85\":{\"h\":\"Default dependencies\",\"t\":[\"By default taskiq has only two dependencies:\",\"Context from taskiq.context.Context\",\"TaskiqState from taskiq.state.TaskiqState\"]},\"86\":{\"h\":\"Adding first-level dependencies\",\"t\":[\"You can expand default list of available dependencies for you application. Taskiq have an ability to add new first-level dependencies using brokers.\",\"The AsyncBroker interface has a function called add_dependency_context and you can add\\nmore default dependencies to the taskiq. This may be useful for libraries if you want to\\nadd new dependencies to users.\"]},\"87\":{\"h\":\"Testing with taskiq\",\"t\":[\"Every time we write programs, we want them to be correct. To achieve this, we use tests. Taskiq allows you to write tests easily as if tasks were normal functions.\",\"Let's dive into examples.\"]},\"88\":{\"h\":\"Preparations\"},\"89\":{\"h\":\"Environment setup\",\"t\":[\"For testing you maybe don't want to use actual distributed broker. But still you want to validate your logic. Since python is an interpreted language, you can easily replace you broker with another one if the expression is correct.\",\"We can set an environment variable, that indicates that currently we're running in testing environment.\",\"Or we can even tell pytest to set this environment for us, just before executing tests using pytest-env plugin.\"]},\"90\":{\"h\":\"Async tests\",\"t\":[\"Since taskiq is fully async, we suggest using anyio to run async functions in pytest. Install the lib and place this fixture somewhere in your root conftest.py file.\",\"@pytest.fixture def anyio_backend(): return 'asyncio' \",\"After the preparations are done, we need to modify the broker's file in your project.\",\"import os from taskiq import AsyncBroker, InMemoryBroker, ZeroMQBroker env = os.environ.get(\\\"ENVIRONMENT\\\") broker: AsyncBroker = ZeroMQBroker() if env and env == \\\"pytest\\\": broker = InMemoryBroker() \",\"As you can see, we added an if statement. If the expression is true, we replace our broker with an imemory broker. The main point here is to not have an actual connection during testing. It's useful because inmemory broker has the same interface as a real broker, but it doesn't send tasks actually.\"]},\"91\":{\"h\":\"Testing tasks\",\"t\":[\"Let's define a task.\",\"from your_project.taskiq import broker @broker.task async def parse_int(val: str) -> int: return int(val) \",\"This simple task may be defined anywhere in your project. If you want to test it, just import it and call as a normal function.\",\"import pytest from your_project.tasks import parse_int @pytest.mark.anyio async def test_task(): assert await parse_int(\\\"11\\\") == 11 \",\"And that's it. Test should pass.\",\"What if you want to test a function that uses task. Let's define such function.\",\"from your_project.taskiq import broker @broker.task async def parse_int(val: str) -> int: return int(val) async def parse_and_add_one(val: str) -> int: task = await parse_int.kiq(val) result = await task.wait_result() return result.return_value + 1 \",\"And since we replaced our broker with InMemoryBroker, we can just call it. It would work as you expect and tests should pass.\",\"@pytest.mark.anyio async def test_add_one(): assert await parse_and_add_one(\\\"11\\\") == 12 \"]},\"92\":{\"h\":\"Dependency injection\",\"t\":[\"If you use dependencies in your tasks, you may think that this can become a problem. But it's not. Here's what we came up with. We added a method called add_dependency_context to the broker. It sets base dependencies for dependency resolution. You can use it for tests.\",\"Let's add a task that depends on Path. I guess this example is not meant to be used in production code bases, but it's suitable for illustration purposes.\",\"To test the task itself, it's not different to the example without dependencies, but we jsut need to pass all expected dependencies manually as function's arguments or key-word arguments.\",\"import pytest from your_project.taskiq import broker from pathlib import Path @pytest.mark.anyio async def test_modify_path(): modified = await modify_path(Path.cwd()) assert str(modified).endswith(\\\"taskiq.py\\\") \",\"But what if we want to test task execution? Well, you don't need to provide dependencies manually, you must mutate dependency_context before calling a task. We suggest to do it in fixtures.\",\"import pytest from your_project.taskiq import broker from pathlib import Path # We use autouse, so this fixture # is called automatically before all tests. @pytest.fixture(scope=\\\"function\\\", autouse=True) async def init_taskiq_dependencies(): # Here we use Path, but you can use other # pytest fixtures here. E.G. FastAPI app. broker.add_dependency_context({Path: Path.cwd()}) yield # After the test we clear all custom dependencies. broker.custom_dependency_context = {} \",\"This fixture will update dependency context for our broker before every test. Now tasks with dependencies can be used. Let's try it out.\",\"@pytest.mark.anyio async def test_modify_path(): task = await modify_path.kiq() result = await task.wait_result() assert str(result.return_value).endswith(\\\"taskiq.py\\\") \",\"This should pass. And that's it for now.\"]},\"93\":{\"h\":\"\",\"t\":[\"404 Not Found\"]}},\"dirtCount\":0,\"index\":[[\"5\",{\"1\":{\"71\":2,\"75\":1}}],[\"5672\",{\"1\":{\"66\":4,\"71\":2}}],[\"7\",{\"1\":{\"65\":1}}],[\"x=1\",{\"1\":{\"62\":3}}],[\"x\",{\"1\":{\"62\":6}}],[\"xdist\",{\"1\":{\"6\":1}}],[\"\",{\"1\":{\"11\":1,\"27\":5,\"28\":1,\"30\":1,\"32\":5,\"33\":7,\"36\":1,\"39\":1,\"40\":1,\"41\":1,\"47\":1,\"48\":3,\"51\":2,\"57\":1,\"62\":3,\"65\":2,\"66\":4,\"71\":2,\"75\":1,\"79\":1,\"91\":3}}],[\"12\",{\"1\":{\"91\":1}}],[\"11\",{\"1\":{\"75\":4,\"91\":3}}],[\"10\",{\"1\":{\"62\":1}}],[\"1\",{\"1\":{\"10\":1,\"47\":1,\"48\":3,\"51\":1,\"57\":1,\"65\":2,\"66\":5,\"71\":4,\"79\":1,\"91\":1}}],[\"zones\",{\"1\":{\"73\":1}}],[\"zmq\",{\"1\":{\"10\":3}}],[\"zeromqbroker\",{\"0\":{\"10\":1},\"1\":{\"17\":2,\"18\":2,\"40\":2,\"90\":2}}],[\"22\",{\"1\":{\"62\":1}}],[\"2\",{\"1\":{\"6\":1,\"57\":1,\"62\":1,\"65\":1,\"66\":1,\"71\":1}}],[\"g\",{\"1\":{\"92\":1}}],[\"guess\",{\"1\":{\"79\":1,\"92\":1}}],[\"guest\",{\"1\":{\"66\":8,\"71\":4}}],[\"guide\",{\"0\":{\"3\":1},\"1\":{\"3\":1,\"4\":1}}],[\"graph\",{\"1\":{\"80\":3}}],[\"graphs\",{\"1\":{\"37\":1}}],[\"graceful\",{\"1\":{\"59\":1}}],[\"give\",{\"1\":{\"70\":1,\"79\":1}}],[\"given\",{\"1\":{\"55\":1,\"61\":1}}],[\"gitignore\",{\"1\":{\"58\":2}}],[\"git\",{\"1\":{\"5\":1,\"64\":1}}],[\"glob\",{\"1\":{\"55\":1,\"61\":1}}],[\"global\",{\"1\":{\"44\":1,\"77\":1}}],[\"generics\",{\"0\":{\"84\":1},\"1\":{\"84\":1}}],[\"generic\",{\"1\":{\"79\":1,\"84\":3}}],[\"generators\",{\"1\":{\"78\":1}}],[\"generator\",{\"0\":{\"82\":1},\"1\":{\"59\":1,\"82\":2,\"83\":1}}],[\"generates\",{\"1\":{\"47\":1}}],[\"general\",{\"1\":{\"41\":1}}],[\"getting\",{\"0\":{\"63\":1}}],[\"gets\",{\"1\":{\"62\":2,\"72\":1}}],[\"get\",{\"1\":{\"27\":1,\"32\":2,\"33\":2,\"39\":1,\"40\":2,\"41\":1,\"47\":1,\"49\":1,\"50\":2,\"52\":3,\"57\":1,\"62\":1,\"65\":3,\"66\":3,\"74\":1,\"78\":1,\"90\":1}}],[\"gained\",{\"1\":{\"40\":1}}],[\"got\",{\"1\":{\"40\":1}}],[\"going\",{\"1\":{\"36\":2,\"47\":1,\"65\":1,\"66\":1,\"75\":1,\"80\":2,\"83\":1}}],[\"good\",{\"1\":{\"29\":1,\"32\":1}}],[\"hit\",{\"1\":{\"79\":1}}],[\"hint\",{\"1\":{\"81\":1}}],[\"hints\",{\"1\":{\"70\":1,\"79\":1}}],[\"hinted\",{\"1\":{\"57\":1}}],[\"high\",{\"1\":{\"59\":1}}],[\"higher\",{\"1\":{\"29\":1}}],[\"highly\",{\"1\":{\"5\":1,\"38\":1,\"40\":1,\"64\":1,\"66\":1}}],[\"httpconnection\",{\"1\":{\"40\":3}}],[\"h\",{\"1\":{\"30\":2}}],[\"hello\",{\"1\":{\"47\":1,\"48\":3,\"75\":1}}],[\"helps\",{\"1\":{\"41\":1,\"43\":1}}],[\"helpful\",{\"1\":{\"31\":1}}],[\"help=\",{\"1\":{\"30\":1}}],[\"help\",{\"1\":{\"30\":4,\"50\":1,\"71\":1}}],[\"helper\",{\"1\":{\"27\":2,\"33\":3,\"75\":1}}],[\"heavy\",{\"1\":{\"43\":1,\"71\":4}}],[\"here\",{\"1\":{\"24\":1,\"27\":3,\"28\":1,\"32\":3,\"33\":2,\"36\":2,\"38\":1,\"40\":1,\"41\":1,\"44\":1,\"51\":2,\"52\":1,\"62\":5,\"75\":6,\"79\":1,\"90\":1,\"92\":3}}],[\"hot\",{\"0\":{\"58\":1},\"1\":{\"58\":1}}],[\"however\",{\"1\":{\"62\":2}}],[\"how\",{\"0\":{\"79\":1,\"80\":1},\"1\":{\"23\":1,\"35\":1,\"36\":1,\"52\":1,\"66\":1,\"72\":1}}],[\"hooks\",{\"1\":{\"31\":1,\"51\":1}}],[\"hook\",{\"1\":{\"5\":1,\"51\":2}}],[\"had\",{\"1\":{\"40\":2}}],[\"happens\",{\"1\":{\"51\":1,\"66\":1}}],[\"happen\",{\"1\":{\"37\":1,\"83\":1}}],[\"handling\",{\"0\":{\"83\":1}}],[\"handle\",{\"1\":{\"36\":1,\"38\":1,\"83\":1}}],[\"handlers\",{\"1\":{\"37\":1,\"38\":1,\"77\":3}}],[\"handler\",{\"1\":{\"34\":1,\"40\":1,\"77\":1}}],[\"hand\",{\"1\":{\"39\":1}}],[\"handing\",{\"1\":{\"36\":1}}],[\"handy\",{\"1\":{\"27\":1,\"83\":1}}],[\"have\",{\"1\":{\"3\":2,\"4\":1,\"5\":1,\"11\":1,\"18\":1,\"22\":1,\"27\":1,\"29\":1,\"30\":1,\"31\":1,\"32\":3,\"33\":3,\"35\":1,\"39\":1,\"40\":3,\"41\":1,\"43\":3,\"44\":4,\"49\":1,\"50\":3,\"51\":1,\"54\":1,\"55\":1,\"57\":2,\"58\":1,\"62\":2,\"69\":2,\"70\":1,\"71\":3,\"72\":2,\"73\":2,\"74\":3,\"75\":1,\"86\":1,\"90\":1}}],[\"has\",{\"1\":{\"1\":1,\"16\":1,\"29\":2,\"38\":1,\"40\":1,\"41\":1,\"45\":1,\"46\":1,\"48\":1,\"50\":1,\"52\":1,\"65\":1,\"69\":1,\"73\":2,\"75\":1,\"80\":1,\"85\":1,\"86\":1,\"90\":1}}],[\"url\",{\"1\":{\"79\":1}}],[\"uuid\",{\"1\":{\"69\":1}}],[\"uvloop\",{\"1\":{\"50\":1}}],[\"uvicorn\",{\"1\":{\"40\":1}}],[\"utc\",{\"1\":{\"73\":1,\"75\":1}}],[\"utcnow\",{\"1\":{\"62\":1,\"75\":3}}],[\"utils\",{\"1\":{\"50\":2}}],[\"utf\",{\"1\":{\"27\":1}}],[\"unschedule\",{\"1\":{\"75\":2}}],[\"understand\",{\"1\":{\"65\":1}}],[\"undefined\",{\"1\":{\"10\":1,\"65\":1}}],[\"unavailable\",{\"1\":{\"58\":1}}],[\"unique\",{\"1\":{\"48\":1,\"72\":1,\"75\":1}}],[\"union\",{\"1\":{\"27\":2}}],[\"until\",{\"1\":{\"40\":1,\"59\":1,\"74\":1}}],[\"unless\",{\"1\":{\"32\":1}}],[\"usual\",{\"1\":{\"75\":1}}],[\"us\",{\"1\":{\"38\":1,\"89\":1}}],[\"usage\",{\"1\":{\"30\":1}}],[\"using\",{\"1\":{\"4\":3,\"5\":1,\"6\":1,\"11\":1,\"24\":1,\"35\":2,\"38\":1,\"44\":2,\"45\":1,\"47\":1,\"48\":3,\"53\":1,\"55\":1,\"56\":1,\"61\":1,\"62\":1,\"64\":2,\"66\":1,\"70\":1,\"75\":1,\"77\":2,\"78\":1,\"79\":1,\"80\":1,\"86\":1,\"89\":1,\"90\":1}}],[\"useful\",{\"0\":{\"79\":1},\"1\":{\"48\":2,\"52\":2,\"59\":1,\"65\":1,\"69\":1,\"70\":1,\"86\":1,\"90\":1}}],[\"users\",{\"1\":{\"40\":1,\"86\":1}}],[\"user\",{\"1\":{\"11\":1}}],[\"used\",{\"1\":{\"11\":1,\"19\":1,\"20\":1,\"22\":1,\"32\":1,\"33\":1,\"47\":1,\"49\":2,\"51\":1,\"53\":1,\"59\":2,\"60\":1,\"61\":1,\"73\":1,\"75\":2,\"82\":1,\"92\":2}}],[\"use\",{\"0\":{\"44\":1},\"1\":{\"4\":1,\"6\":1,\"11\":2,\"23\":2,\"24\":3,\"27\":1,\"30\":3,\"31\":1,\"34\":1,\"35\":5,\"36\":3,\"38\":2,\"39\":2,\"40\":5,\"41\":2,\"43\":2,\"45\":1,\"47\":1,\"49\":1,\"51\":2,\"52\":1,\"54\":1,\"57\":1,\"58\":1,\"61\":1,\"62\":1,\"64\":1,\"65\":2,\"66\":3,\"67\":1,\"68\":2,\"69\":1,\"70\":1,\"71\":1,\"72\":1,\"73\":2,\"75\":6,\"77\":3,\"78\":2,\"79\":2,\"80\":3,\"81\":2,\"87\":1,\"89\":1,\"92\":5}}],[\"uses\",{\"1\":{\"1\":1,\"9\":2,\"10\":1,\"23\":1,\"31\":1,\"47\":1,\"49\":1,\"51\":1,\"69\":1,\"91\":1}}],[\"update\",{\"1\":{\"69\":1,\"72\":1,\"92\":1}}],[\"up\",{\"0\":{\"4\":1},\"1\":{\"36\":1,\"62\":1,\"65\":1,\"66\":2,\"73\":1,\"92\":1}}],[\"e\",{\"1\":{\"92\":1}}],[\"evaluated\",{\"1\":{\"80\":1}}],[\"evaluate\",{\"1\":{\"80\":1}}],[\"ever\",{\"1\":{\"83\":1}}],[\"everything\",{\"1\":{\"36\":1,\"40\":1}}],[\"every\",{\"1\":{\"31\":1,\"40\":1,\"41\":1,\"45\":1,\"46\":1,\"48\":1,\"49\":1,\"51\":1,\"58\":1,\"71\":2,\"72\":1,\"74\":1,\"87\":1,\"92\":1}}],[\"events\",{\"1\":{\"34\":1,\"35\":1,\"36\":1,\"44\":1,\"77\":3}}],[\"event\",{\"1\":{\"16\":1,\"37\":2,\"40\":2,\"50\":1,\"62\":3,\"77\":3,\"79\":1}}],[\"even\",{\"1\":{\"5\":1,\"37\":1,\"47\":1,\"52\":1,\"74\":1,\"79\":1,\"89\":1}}],[\"europe\",{\"1\":{\"73\":1}}],[\"else\",{\"1\":{\"65\":1,\"66\":2}}],[\"element\",{\"1\":{\"46\":1}}],[\"err\",{\"1\":{\"65\":1,\"66\":2}}],[\"error=true\",{\"1\":{\"17\":1}}],[\"error\",{\"1\":{\"17\":2,\"51\":1,\"57\":1,\"65\":1,\"66\":2}}],[\"errors\",{\"1\":{\"17\":1,\"59\":1,\"83\":2}}],[\"edge\",{\"1\":{\"51\":1}}],[\"equivalent\",{\"1\":{\"48\":1}}],[\"earlier\",{\"1\":{\"66\":1}}],[\"easier\",{\"1\":{\"39\":1}}],[\"easily\",{\"1\":{\"30\":1,\"36\":2,\"43\":1,\"68\":1,\"75\":1,\"78\":1,\"87\":1,\"89\":1}}],[\"easy\",{\"1\":{\"30\":1,\"34\":1,\"39\":1,\"40\":2,\"43\":1,\"52\":1}}],[\"each\",{\"1\":{\"12\":1,\"35\":2,\"75\":2}}],[\"except\",{\"1\":{\"51\":1,\"62\":3}}],[\"exceptions\",{\"1\":{\"59\":1,\"83\":2}}],[\"exception\",{\"0\":{\"83\":1},\"1\":{\"17\":2,\"51\":2,\"83\":1}}],[\"existing\",{\"0\":{\"44\":1},\"1\":{\"69\":1}}],[\"exists\",{\"1\":{\"32\":1,\"38\":1}}],[\"exiting\",{\"1\":{\"62\":1}}],[\"exited\",{\"1\":{\"62\":3}}],[\"exit\",{\"1\":{\"30\":1}}],[\"expand\",{\"1\":{\"86\":1}}],[\"expression\",{\"1\":{\"79\":1,\"89\":1,\"90\":1}}],[\"experience\",{\"1\":{\"37\":1}}],[\"expected\",{\"1\":{\"92\":1}}],[\"expect\",{\"1\":{\"31\":1,\"40\":1,\"91\":1}}],[\"explained\",{\"1\":{\"24\":1}}],[\"explicitly\",{\"1\":{\"11\":1,\"32\":1,\"40\":1,\"62\":1}}],[\"exection\",{\"1\":{\"59\":1}}],[\"exec\",{\"1\":{\"30\":2}}],[\"executor\",{\"1\":{\"67\":1}}],[\"executing\",{\"1\":{\"65\":1,\"66\":2,\"74\":1,\"89\":1}}],[\"execution\",{\"1\":{\"17\":1,\"19\":2,\"29\":1,\"31\":2,\"32\":2,\"33\":1,\"49\":1,\"51\":1,\"52\":2,\"56\":1,\"59\":1,\"62\":2,\"65\":4,\"66\":8,\"67\":1,\"79\":1,\"82\":3,\"92\":1}}],[\"executable\",{\"1\":{\"62\":1}}],[\"executes\",{\"1\":{\"66\":1,\"72\":1}}],[\"executed\",{\"1\":{\"9\":1,\"10\":1,\"29\":1,\"51\":9,\"56\":3,\"59\":2,\"62\":1,\"74\":6}}],[\"execute\",{\"1\":{\"9\":1,\"16\":1,\"31\":1,\"33\":2,\"43\":1,\"44\":1,\"51\":3,\"62\":1,\"71\":4,\"75\":1,\"83\":1}}],[\"examples\",{\"1\":{\"38\":2,\"40\":2,\"87\":1}}],[\"example\",{\"1\":{\"28\":1,\"31\":1,\"32\":1,\"33\":1,\"38\":1,\"40\":1,\"43\":1,\"46\":2,\"48\":2,\"49\":1,\"50\":1,\"51\":2,\"52\":1,\"56\":1,\"57\":1,\"60\":1,\"62\":4,\"65\":1,\"66\":1,\"69\":1,\"70\":1,\"71\":1,\"72\":1,\"74\":1,\"75\":5,\"77\":3,\"79\":1,\"80\":2,\"81\":1,\"82\":1,\"83\":1,\"92\":2}}],[\"external\",{\"1\":{\"46\":2}}],[\"extended\",{\"1\":{\"75\":1}}],[\"extend\",{\"1\":{\"25\":1,\"43\":2}}],[\"extendable\",{\"1\":{\"25\":1,\"47\":1}}],[\"extending\",{\"0\":{\"25\":1}}],[\"extras\",{\"1\":{\"18\":1,\"69\":1}}],[\"extra\",{\"1\":{\"10\":1,\"58\":1}}],[\"endswith\",{\"1\":{\"92\":2}}],[\"environ\",{\"1\":{\"90\":1}}],[\"environments\",{\"0\":{\"62\":1},\"1\":{\"4\":1,\"6\":1}}],[\"environment\",{\"0\":{\"4\":1,\"89\":1},\"1\":{\"89\":3,\"90\":1}}],[\"env\",{\"1\":{\"89\":1,\"90\":3}}],[\"enumerating\",{\"1\":{\"55\":1}}],[\"ensure\",{\"1\":{\"51\":1}}],[\"entry\",{\"1\":{\"30\":2}}],[\"entrypoint\",{\"1\":{\"30\":1}}],[\"enabled\",{\"1\":{\"59\":1}}],[\"enables\",{\"1\":{\"17\":1,\"55\":1,\"61\":1}}],[\"enable\",{\"1\":{\"17\":1,\"18\":1,\"24\":1,\"36\":1,\"58\":2}}],[\"encounter\",{\"1\":{\"10\":1}}],[\"either\",{\"1\":{\"3\":1,\"24\":2,\"28\":1,\"31\":1,\"52\":1,\"67\":1}}],[\"ecosystem\",{\"1\":{\"1\":1}}],[\"r\",{\"1\":{\"58\":1}}],[\"root\",{\"1\":{\"90\":1}}],[\"routing\",{\"1\":{\"48\":1}}],[\"robust\",{\"1\":{\"37\":1}}],[\"rich\",{\"1\":{\"44\":1}}],[\"right\",{\"1\":{\"41\":1,\"51\":1,\"56\":1}}],[\"rates\",{\"1\":{\"59\":1}}],[\"raw\",{\"1\":{\"27\":1,\"28\":1}}],[\"raise\",{\"1\":{\"17\":1,\"33\":1,\"67\":1}}],[\"raised\",{\"1\":{\"17\":1}}],[\"rabbitmq\",{\"0\":{\"13\":1},\"1\":{\"44\":1,\"66\":2}}],[\"runner\",{\"1\":{\"39\":1}}],[\"running\",{\"0\":{\"65\":1},\"1\":{\"39\":1,\"59\":1,\"61\":1,\"66\":2,\"71\":1,\"89\":1}}],[\"runtime\",{\"1\":{\"23\":1,\"33\":1,\"75\":1}}],[\"run\",{\"0\":{\"66\":1,\"74\":1},\"1\":{\"4\":1,\"5\":2,\"6\":5,\"10\":3,\"24\":1,\"36\":2,\"37\":2,\"39\":1,\"41\":2,\"47\":1,\"50\":2,\"53\":1,\"54\":1,\"60\":2,\"61\":2,\"62\":12,\"65\":2,\"66\":6,\"67\":3,\"71\":2,\"73\":1,\"74\":2,\"75\":1,\"90\":1}}],[\"runs\",{\"1\":{\"3\":1,\"52\":1}}],[\"rules\",{\"1\":{\"3\":1,\"29\":1,\"40\":1}}],[\"reevaluate\",{\"1\":{\"80\":1}}],[\"reduce\",{\"1\":{\"79\":1}}],[\"redisasyncresultbackend\",{\"1\":{\"66\":4}}],[\"redisschedulesource\",{\"0\":{\"23\":1},\"1\":{\"23\":2,\"75\":3}}],[\"redis\",{\"0\":{\"14\":1,\"21\":1},\"1\":{\"14\":2,\"21\":2,\"23\":6,\"36\":2,\"40\":2,\"46\":2,\"62\":6,\"64\":1,\"66\":7,\"75\":12,\"77\":1,\"79\":3}}],[\"registered\",{\"1\":{\"62\":1}}],[\"register\",{\"1\":{\"62\":9}}],[\"relatively\",{\"1\":{\"65\":1}}],[\"reload\",{\"0\":{\"58\":1},\"1\":{\"58\":5}}],[\"releases\",{\"1\":{\"32\":1}}],[\"remove\",{\"1\":{\"75\":1}}],[\"removed\",{\"1\":{\"32\":1}}],[\"remember\",{\"1\":{\"51\":1}}],[\"reached\",{\"1\":{\"59\":1}}],[\"real\",{\"1\":{\"49\":1,\"65\":1,\"90\":1}}],[\"reads\",{\"1\":{\"46\":1}}],[\"read\",{\"1\":{\"12\":1,\"21\":1,\"23\":1,\"30\":1,\"35\":1,\"37\":1,\"59\":1}}],[\"reading\",{\"1\":{\"10\":1,\"66\":1}}],[\"ready\",{\"1\":{\"4\":1,\"32\":2,\"39\":1,\"65\":1}}],[\"readme\",{\"1\":{\"4\":1,\"12\":1,\"21\":1,\"37\":1}}],[\"receive\",{\"1\":{\"80\":1}}],[\"receiver\",{\"1\":{\"59\":4,\"62\":5}}],[\"received\",{\"1\":{\"45\":1,\"51\":1,\"52\":2,\"56\":2,\"59\":1}}],[\"recursively\",{\"1\":{\"50\":1,\"55\":2,\"61\":1}}],[\"recommend\",{\"1\":{\"5\":1,\"38\":1,\"64\":1,\"66\":1}}],[\"reuse\",{\"1\":{\"38\":2}}],[\"re\",{\"1\":{\"36\":1,\"89\":1}}],[\"reference\",{\"1\":{\"31\":1}}],[\"reject\",{\"1\":{\"28\":1,\"52\":2}}],[\"reject=message\",{\"1\":{\"28\":1}}],[\"rejecting\",{\"1\":{\"28\":1}}],[\"resolution\",{\"1\":{\"92\":1}}],[\"resolving\",{\"1\":{\"41\":1}}],[\"resolvable\",{\"1\":{\"40\":1}}],[\"resolved\",{\"1\":{\"36\":1,\"48\":1}}],[\"resolve\",{\"1\":{\"24\":1,\"40\":1,\"72\":1,\"84\":1}}],[\"restrict\",{\"1\":{\"67\":1}}],[\"restart\",{\"1\":{\"17\":2,\"58\":1,\"59\":1}}],[\"resent\",{\"1\":{\"17\":1}}],[\"resultbackend\",{\"1\":{\"49\":1}}],[\"results\",{\"1\":{\"19\":1,\"20\":2,\"45\":1,\"49\":3,\"66\":3}}],[\"result\",{\"0\":{\"19\":1,\"21\":1,\"32\":1,\"49\":1},\"1\":{\"7\":1,\"19\":1,\"20\":1,\"21\":1,\"26\":1,\"27\":1,\"32\":21,\"44\":1,\"45\":1,\"47\":1,\"49\":3,\"51\":2,\"56\":2,\"64\":1,\"65\":8,\"66\":17,\"80\":1,\"91\":3,\"92\":3}}],[\"retrieve\",{\"1\":{\"32\":1}}],[\"retries\",{\"1\":{\"17\":2}}],[\"retries=20\",{\"1\":{\"17\":1}}],[\"retry\",{\"0\":{\"17\":1},\"1\":{\"17\":3}}],[\"returned\",{\"1\":{\"57\":1,\"65\":2,\"66\":4}}],[\"returns\",{\"1\":{\"38\":1,\"41\":1,\"49\":1,\"65\":1}}],[\"returntype\",{\"1\":{\"32\":5}}],[\"return\",{\"1\":{\"11\":1,\"19\":1,\"20\":2,\"27\":2,\"28\":1,\"32\":4,\"33\":2,\"40\":1,\"41\":1,\"51\":1,\"57\":1,\"65\":2,\"66\":4,\"71\":2,\"75\":1,\"90\":1,\"91\":4,\"92\":1}}],[\"requires\",{\"1\":{\"66\":1}}],[\"required\",{\"1\":{\"4\":1,\"28\":1,\"61\":1}}],[\"requeue\",{\"1\":{\"52\":2}}],[\"request\",{\"1\":{\"3\":1,\"38\":4,\"40\":10}}],[\"replaced\",{\"1\":{\"91\":1}}],[\"replace\",{\"1\":{\"66\":1,\"89\":1,\"90\":1}}],[\"replacement\",{\"1\":{\"1\":1}}],[\"repo\",{\"1\":{\"4\":1,\"12\":1,\"38\":1,\"40\":1}}],[\"level\",{\"0\":{\"86\":1},\"1\":{\"59\":2,\"61\":2,\"86\":1}}],[\"level=logging\",{\"1\":{\"36\":1}}],[\"leave\",{\"1\":{\"57\":1}}],[\"let\",{\"1\":{\"36\":1,\"38\":1,\"40\":1,\"41\":1,\"45\":1,\"50\":2,\"65\":1,\"66\":3,\"71\":3,\"79\":1,\"81\":1,\"87\":1,\"91\":2,\"92\":2}}],[\"less\",{\"1\":{\"3\":1,\"69\":1}}],[\"language\",{\"1\":{\"89\":1}}],[\"lambda\",{\"1\":{\"62\":9}}],[\"later\",{\"1\":{\"51\":1,\"77\":1,\"79\":1}}],[\"latest\",{\"1\":{\"36\":1}}],[\"lack\",{\"1\":{\"43\":1}}],[\"label1=\",{\"1\":{\"75\":1}}],[\"label1=1\",{\"1\":{\"48\":1}}],[\"label2=\",{\"1\":{\"48\":2}}],[\"label=1\",{\"1\":{\"48\":2}}],[\"labels=\",{\"1\":{\"33\":1}}],[\"labels\",{\"1\":{\"24\":5,\"47\":3,\"48\":3,\"51\":3,\"75\":2}}],[\"labelschedulesource\",{\"0\":{\"24\":1},\"1\":{\"24\":2,\"62\":2,\"71\":2}}],[\"label\",{\"1\":{\"17\":1,\"24\":2,\"29\":3,\"47\":1,\"51\":1,\"67\":1}}],[\"ll\",{\"1\":{\"8\":1,\"18\":1,\"38\":1,\"40\":1,\"52\":1,\"57\":2}}],[\"little\",{\"1\":{\"65\":1,\"71\":1}}],[\"light\",{\"1\":{\"45\":1}}],[\"like\",{\"1\":{\"27\":2,\"30\":1,\"35\":3,\"36\":1,\"37\":1,\"38\":1,\"40\":2,\"44\":1,\"45\":1,\"54\":1,\"57\":1,\"70\":1,\"71\":2,\"73\":1,\"79\":1,\"80\":2,\"82\":1}}],[\"line\",{\"1\":{\"36\":1,\"50\":1,\"66\":1}}],[\"link\",{\"1\":{\"13\":1,\"14\":1,\"15\":1}}],[\"lints\",{\"1\":{\"5\":1}}],[\"linting\",{\"0\":{\"5\":1}}],[\"library\",{\"1\":{\"21\":1,\"25\":1,\"35\":2,\"36\":1,\"37\":1,\"38\":1,\"40\":2,\"43\":2,\"53\":1,\"64\":1,\"66\":1}}],[\"libraries\",{\"0\":{\"44\":1},\"1\":{\"1\":1,\"35\":1,\"36\":1,\"37\":1,\"40\":1,\"43\":1,\"69\":1,\"86\":1}}],[\"lib\",{\"1\":{\"10\":1,\"12\":1,\"52\":1,\"66\":1,\"90\":1}}],[\"listqueuebroker\",{\"1\":{\"36\":2,\"62\":6,\"75\":2}}],[\"listener\",{\"1\":{\"62\":1}}],[\"listening\",{\"1\":{\"50\":1,\"77\":1}}],[\"listen\",{\"1\":{\"27\":2,\"28\":2,\"36\":1,\"46\":2,\"62\":1}}],[\"list\",{\"1\":{\"7\":1,\"8\":1,\"17\":1,\"24\":2,\"33\":3,\"36\":2,\"71\":1,\"75\":2,\"86\":1}}],[\"loads\",{\"1\":{\"70\":1}}],[\"loadb\",{\"1\":{\"69\":1}}],[\"looks\",{\"1\":{\"45\":1,\"80\":2}}],[\"look\",{\"1\":{\"38\":1,\"50\":1,\"69\":1,\"70\":1}}],[\"loop=loop\",{\"1\":{\"39\":2}}],[\"loop\",{\"1\":{\"36\":1,\"39\":2,\"46\":1,\"50\":1,\"62\":3,\"71\":1}}],[\"logic\",{\"1\":{\"62\":1,\"72\":1,\"89\":1}}],[\"log\",{\"1\":{\"59\":2,\"61\":2}}],[\"logging\",{\"1\":{\"36\":4,\"59\":2,\"61\":2}}],[\"logs=true\",{\"1\":{\"32\":1}}],[\"logs\",{\"1\":{\"32\":8}}],[\"lot\",{\"1\":{\"32\":1}}],[\"lots\",{\"1\":{\"3\":1}}],[\"localhost\",{\"1\":{\"23\":1,\"35\":1,\"36\":1,\"62\":3,\"66\":6,\"71\":2,\"75\":2,\"79\":1}}],[\"local\",{\"1\":{\"9\":1,\"10\":1,\"65\":1}}],[\"locally\",{\"1\":{\"3\":1,\"6\":1,\"9\":1}}],[\"lovely\",{\"1\":{\"47\":1,\"48\":3}}],[\"love\",{\"1\":{\"3\":1}}],[\"bigger\",{\"1\":{\"40\":1}}],[\"bit\",{\"1\":{\"35\":1,\"65\":1}}],[\"balance\",{\"1\":{\"48\":1}}],[\"back\",{\"1\":{\"45\":1,\"52\":1}}],[\"backend\",{\"0\":{\"21\":1,\"32\":1,\"49\":1},\"1\":{\"20\":1,\"21\":1,\"32\":6,\"49\":2,\"51\":1,\"56\":1,\"64\":1,\"66\":4,\"90\":1}}],[\"backends\",{\"0\":{\"19\":1},\"1\":{\"7\":1,\"19\":1,\"26\":1,\"32\":1,\"44\":2,\"45\":1}}],[\"basic\",{\"1\":{\"43\":1}}],[\"basicconfig\",{\"1\":{\"36\":1}}],[\"bases\",{\"1\":{\"92\":1}}],[\"based\",{\"1\":{\"84\":1}}],[\"base\",{\"1\":{\"40\":1,\"92\":1}}],[\"blocking\",{\"1\":{\"36\":1}}],[\"bots\",{\"1\":{\"36\":5}}],[\"bot\",{\"1\":{\"36\":22}}],[\"bool\",{\"1\":{\"11\":1,\"32\":2}}],[\"built\",{\"1\":{\"43\":1,\"44\":1}}],[\"building\",{\"1\":{\"37\":1}}],[\"build\",{\"1\":{\"30\":1,\"80\":1}}],[\"button\",{\"1\":{\"79\":1}}],[\"but\",{\"1\":{\"1\":1,\"3\":1,\"5\":1,\"6\":1,\"9\":2,\"27\":1,\"28\":1,\"30\":1,\"33\":1,\"35\":3,\"38\":2,\"40\":1,\"41\":1,\"43\":1,\"44\":1,\"47\":1,\"49\":1,\"51\":1,\"59\":1,\"62\":1,\"65\":2,\"66\":1,\"67\":1,\"68\":2,\"69\":2,\"70\":2,\"71\":1,\"72\":1,\"78\":1,\"79\":3,\"89\":1,\"90\":1,\"92\":5}}],[\"bytes\",{\"1\":{\"27\":4,\"28\":2}}],[\"by\",{\"1\":{\"9\":1,\"18\":1,\"32\":1,\"39\":1,\"43\":1,\"45\":2,\"49\":2,\"50\":1,\"51\":2,\"52\":1,\"53\":1,\"55\":1,\"56\":2,\"58\":1,\"59\":1,\"61\":1,\"62\":2,\"66\":1,\"68\":1,\"70\":1,\"72\":1,\"74\":1,\"75\":6,\"77\":1,\"79\":1,\"80\":1,\"85\":1}}],[\"brokerwrapper\",{\"1\":{\"35\":2}}],[\"brokermessage\",{\"1\":{\"27\":6}}],[\"broker=broker\",{\"1\":{\"24\":1,\"39\":1,\"71\":1}}],[\"broker\",{\"0\":{\"11\":1,\"14\":1,\"15\":1,\"46\":1},\"1\":{\"9\":1,\"10\":3,\"11\":7,\"17\":3,\"18\":1,\"20\":1,\"21\":1,\"23\":1,\"24\":3,\"27\":3,\"28\":3,\"29\":2,\"31\":3,\"32\":1,\"33\":3,\"35\":6,\"36\":9,\"38\":3,\"39\":2,\"40\":9,\"41\":3,\"44\":1,\"45\":1,\"46\":2,\"47\":10,\"48\":3,\"50\":10,\"52\":3,\"54\":2,\"56\":1,\"59\":2,\"60\":1,\"62\":23,\"64\":2,\"65\":12,\"66\":27,\"69\":1,\"71\":6,\"75\":6,\"77\":4,\"79\":1,\"83\":1,\"89\":2,\"90\":7,\"91\":5,\"92\":6}}],[\"brokers\",{\"0\":{\"8\":1,\"12\":1,\"27\":1},\"1\":{\"7\":1,\"8\":1,\"11\":1,\"12\":2,\"26\":1,\"27\":2,\"29\":1,\"35\":2,\"40\":1,\"43\":1,\"45\":1,\"46\":1,\"47\":1,\"48\":1,\"49\":2,\"59\":1,\"62\":1,\"86\":1}}],[\"been\",{\"1\":{\"74\":2}}],[\"berlin\",{\"1\":{\"73\":1}}],[\"below\",{\"1\":{\"71\":1}}],[\"behaviour\",{\"1\":{\"65\":1,\"74\":2}}],[\"behavior\",{\"1\":{\"10\":1,\"73\":1,\"80\":1}}],[\"beginning\",{\"1\":{\"65\":2,\"66\":1}}],[\"become\",{\"1\":{\"65\":1,\"92\":1}}],[\"becomes\",{\"1\":{\"36\":1,\"38\":1}}],[\"becuase\",{\"1\":{\"36\":1}}],[\"because\",{\"1\":{\"10\":1,\"32\":1,\"38\":1,\"40\":1,\"41\":1,\"44\":1,\"57\":1,\"66\":1,\"81\":1,\"90\":1}}],[\"best\",{\"1\":{\"36\":1}}],[\"before\",{\"1\":{\"31\":1,\"33\":1,\"51\":3,\"59\":2,\"62\":2,\"66\":1,\"82\":2,\"89\":1,\"92\":3}}],[\"between\",{\"1\":{\"10\":1,\"35\":2}}],[\"better\",{\"1\":{\"3\":2,\"37\":1,\"75\":1,\"79\":2}}],[\"be\",{\"1\":{\"1\":1,\"3\":1,\"9\":1,\"10\":2,\"11\":1,\"17\":1,\"18\":3,\"20\":2,\"24\":6,\"25\":1,\"28\":1,\"29\":2,\"31\":1,\"32\":1,\"33\":5,\"34\":1,\"35\":1,\"36\":1,\"38\":3,\"40\":1,\"47\":1,\"48\":2,\"49\":1,\"51\":2,\"52\":2,\"55\":1,\"56\":1,\"59\":3,\"61\":1,\"62\":2,\"68\":1,\"69\":2,\"70\":1,\"71\":3,\"73\":4,\"74\":4,\"75\":2,\"77\":1,\"79\":3,\"80\":2,\"83\":2,\"84\":1,\"86\":1,\"87\":1,\"91\":1,\"92\":2}}],[\"pm\",{\"1\":{\"71\":1}}],[\"purpose\",{\"1\":{\"75\":1}}],[\"purposes\",{\"1\":{\"62\":1,\"92\":1}}],[\"pub\",{\"1\":{\"46\":1}}],[\"public\",{\"1\":{\"40\":1}}],[\"publishes\",{\"1\":{\"10\":1}}],[\"publish\",{\"1\":{\"3\":1,\"6\":1}}],[\"puts\",{\"1\":{\"46\":1,\"52\":1}}],[\"per\",{\"1\":{\"59\":1}}],[\"perform\",{\"1\":{\"27\":1,\"36\":1,\"82\":1}}],[\"people\",{\"1\":{\"33\":3,\"40\":2,\"62\":1}}],[\"pika\",{\"1\":{\"13\":2,\"64\":1,\"66\":6,\"71\":2}}],[\"pipelines\",{\"1\":{\"31\":1,\"44\":1}}],[\"pip\",{\"1\":{\"2\":2,\"13\":1,\"14\":1,\"15\":1,\"21\":1,\"35\":1,\"36\":1,\"37\":1,\"38\":1,\"64\":1,\"66\":2}}],[\"policies\",{\"1\":{\"50\":1}}],[\"polling\",{\"1\":{\"36\":1}}],[\"popularity\",{\"1\":{\"40\":1}}],[\"popular\",{\"1\":{\"40\":1}}],[\"populates\",{\"1\":{\"39\":1}}],[\"populate\",{\"1\":{\"39\":3,\"41\":1}}],[\"pool\",{\"1\":{\"38\":2,\"40\":2,\"77\":2,\"79\":2}}],[\"post\",{\"1\":{\"33\":1,\"51\":4}}],[\"possible\",{\"1\":{\"27\":1,\"40\":1,\"43\":1,\"59\":1,\"62\":2,\"72\":1}}],[\"point\",{\"1\":{\"30\":1,\"38\":1,\"90\":1}}],[\"points\",{\"1\":{\"30\":2}}],[\"port=9000\",{\"1\":{\"18\":1}}],[\"port\",{\"1\":{\"10\":2,\"18\":1}}],[\"poetry\",{\"1\":{\"4\":2}}],[\"place\",{\"1\":{\"90\":1}}],[\"plain\",{\"1\":{\"65\":1}}],[\"plugin\",{\"1\":{\"89\":1}}],[\"plugins\",{\"1\":{\"7\":1,\"53\":2}}],[\"please\",{\"1\":{\"3\":2,\"4\":2,\"10\":2,\"11\":1,\"20\":1,\"27\":2,\"36\":1,\"37\":1,\"40\":1,\"50\":1,\"51\":1,\"71\":2}}],[\"pydantic\",{\"1\":{\"57\":1}}],[\"pypi\",{\"1\":{\"53\":1,\"64\":2}}],[\"py\",{\"1\":{\"50\":3,\"55\":2,\"61\":2,\"65\":3,\"66\":4,\"90\":1,\"92\":2}}],[\"pyzmq\",{\"1\":{\"10\":1}}],[\"pyenv\",{\"1\":{\"4\":3,\"6\":1}}],[\"python\",{\"1\":{\"4\":2,\"6\":2,\"30\":1,\"40\":1,\"43\":1,\"50\":1,\"59\":1,\"65\":3,\"66\":4,\"67\":1,\"89\":1}}],[\"pytest\",{\"1\":{\"4\":1,\"6\":5,\"39\":1,\"41\":2,\"89\":2,\"90\":3,\"91\":3,\"92\":6}}],[\"practice\",{\"1\":{\"32\":1}}],[\"primitives\",{\"1\":{\"71\":1}}],[\"printed\",{\"1\":{\"66\":1}}],[\"print\",{\"1\":{\"30\":1,\"33\":2,\"36\":1,\"47\":2,\"48\":3,\"51\":1,\"62\":6,\"65\":3,\"66\":6,\"75\":1}}],[\"priorities\",{\"1\":{\"29\":1}}],[\"priority\",{\"1\":{\"29\":2}}],[\"preparations\",{\"0\":{\"88\":1},\"1\":{\"90\":1}}],[\"prepare\",{\"1\":{\"3\":1}}],[\"predict\",{\"1\":{\"80\":1}}],[\"preserve\",{\"1\":{\"72\":1}}],[\"previous\",{\"1\":{\"62\":1,\"72\":1}}],[\"previously\",{\"1\":{\"40\":1}}],[\"prefetched\",{\"1\":{\"59\":1}}],[\"prefetch\",{\"1\":{\"59\":1}}],[\"pre\",{\"1\":{\"5\":3,\"33\":1,\"51\":3}}],[\"pr\",{\"1\":{\"3\":2,\"6\":1}}],[\"providing\",{\"1\":{\"75\":1}}],[\"provides\",{\"1\":{\"43\":1}}],[\"provide\",{\"1\":{\"38\":1,\"40\":2,\"41\":1,\"50\":1,\"66\":1,\"78\":1,\"79\":1,\"92\":1}}],[\"production\",{\"1\":{\"64\":1,\"92\":1}}],[\"producers\",{\"1\":{\"35\":1}}],[\"propagated\",{\"1\":{\"83\":1}}],[\"propagate\",{\"1\":{\"59\":1,\"83\":3}}],[\"programs\",{\"1\":{\"87\":1}}],[\"programmatically\",{\"1\":{\"77\":1}}],[\"program\",{\"1\":{\"53\":1}}],[\"prometheusmiddleware\",{\"1\":{\"18\":3}}],[\"prometheus\",{\"0\":{\"18\":1},\"1\":{\"18\":2}}],[\"project\",{\"1\":{\"13\":1,\"14\":1,\"15\":1,\"35\":1,\"37\":1,\"38\":1,\"40\":1,\"44\":3,\"50\":8,\"54\":2,\"60\":3,\"70\":1,\"78\":1,\"90\":1,\"91\":4,\"92\":2}}],[\"projects\",{\"1\":{\"1\":1,\"10\":1,\"35\":1,\"44\":2}}],[\"processing\",{\"1\":{\"46\":1}}],[\"process\",{\"1\":{\"10\":1,\"36\":2,\"39\":1,\"40\":2,\"41\":1,\"43\":1,\"54\":1,\"59\":1,\"66\":2}}],[\"processes\",{\"1\":{\"10\":4,\"50\":1}}],[\"problems\",{\"1\":{\"35\":1,\"71\":1}}],[\"problem\",{\"1\":{\"3\":1,\"27\":1,\"44\":1,\"71\":1,\"92\":1}}],[\"painful\",{\"1\":{\"71\":1}}],[\"pattern\",{\"1\":{\"55\":3,\"61\":3}}],[\"patterns\",{\"1\":{\"1\":1}}],[\"pathlib\",{\"1\":{\"92\":2}}],[\"path\",{\"1\":{\"36\":2,\"38\":1,\"40\":1,\"50\":1,\"59\":1,\"61\":1,\"92\":11}}],[\"passed\",{\"1\":{\"36\":2}}],[\"pass\",{\"1\":{\"27\":1,\"57\":1,\"58\":2,\"72\":1,\"74\":1,\"75\":2,\"81\":1,\"91\":2,\"92\":2}}],[\"package\",{\"1\":{\"18\":1,\"21\":1,\"23\":1,\"25\":1,\"40\":1,\"78\":1}}],[\"packages\",{\"1\":{\"12\":1}}],[\"parse\",{\"1\":{\"30\":2,\"57\":2,\"91\":7}}],[\"parsed\",{\"1\":{\"30\":2}}],[\"parser\",{\"1\":{\"30\":3}}],[\"parses\",{\"1\":{\"24\":1,\"37\":1}}],[\"particular\",{\"1\":{\"65\":1}}],[\"part\",{\"1\":{\"21\":1,\"32\":1,\"39\":1,\"41\":1}}],[\"parts\",{\"1\":{\"12\":1}}],[\"param\",{\"1\":{\"32\":6,\"33\":2,\"39\":1}}],[\"parameter\",{\"1\":{\"10\":1,\"18\":1,\"27\":1,\"30\":3,\"32\":1,\"40\":2,\"56\":1,\"59\":3,\"61\":1,\"80\":4,\"81\":1}}],[\"parameters\",{\"0\":{\"59\":1,\"61\":1},\"1\":{\"6\":1,\"12\":1,\"17\":1,\"21\":1,\"24\":1,\"28\":1,\"57\":2}}],[\"parallel\",{\"1\":{\"6\":1}}],[\"page\",{\"1\":{\"3\":1}}],[\"writing\",{\"1\":{\"39\":2,\"79\":1}}],[\"write\",{\"1\":{\"33\":1,\"35\":1,\"51\":1,\"79\":1,\"87\":2}}],[\"way\",{\"1\":{\"62\":1,\"78\":1,\"79\":1}}],[\"wait\",{\"1\":{\"59\":3,\"62\":2,\"65\":3,\"66\":4,\"74\":1,\"91\":1,\"92\":1}}],[\"waits\",{\"1\":{\"46\":1}}],[\"warning\",{\"1\":{\"27\":1,\"65\":1,\"75\":1}}],[\"was\",{\"1\":{\"17\":1,\"33\":1,\"47\":1,\"51\":7,\"52\":1,\"72\":1,\"74\":1}}],[\"want\",{\"1\":{\"3\":1,\"4\":1,\"6\":2,\"17\":1,\"31\":1,\"32\":1,\"33\":1,\"35\":1,\"39\":1,\"40\":1,\"43\":1,\"50\":2,\"54\":1,\"62\":1,\"65\":1,\"67\":2,\"68\":1,\"69\":1,\"70\":1,\"71\":3,\"72\":2,\"73\":1,\"75\":4,\"77\":3,\"82\":1,\"83\":3,\"86\":1,\"87\":1,\"89\":2,\"91\":2,\"92\":1}}],[\"w\",{\"1\":{\"10\":1}}],[\"will\",{\"1\":{\"4\":1,\"6\":1,\"10\":1,\"18\":1,\"20\":1,\"31\":1,\"32\":1,\"33\":2,\"36\":1,\"50\":1,\"51\":1,\"59\":1,\"62\":3,\"65\":1,\"67\":1,\"71\":1,\"74\":4,\"75\":1,\"77\":1,\"79\":1,\"80\":2,\"83\":1,\"84\":1,\"92\":1}}],[\"within\",{\"1\":{\"36\":1,\"62\":2}}],[\"without\",{\"1\":{\"5\":1,\"6\":1,\"32\":1,\"36\":1,\"51\":1,\"92\":1}}],[\"with\",{\"0\":{\"73\":1,\"87\":1},\"1\":{\"2\":1,\"3\":1,\"5\":1,\"6\":3,\"10\":3,\"11\":1,\"17\":2,\"18\":1,\"25\":1,\"27\":1,\"28\":1,\"29\":4,\"32\":5,\"33\":3,\"34\":2,\"35\":2,\"36\":1,\"37\":1,\"38\":2,\"39\":2,\"40\":6,\"41\":1,\"46\":1,\"47\":3,\"48\":1,\"50\":2,\"52\":2,\"53\":2,\"54\":1,\"55\":1,\"58\":1,\"59\":1,\"62\":1,\"65\":2,\"66\":6,\"67\":1,\"69\":2,\"71\":1,\"75\":4,\"79\":1,\"81\":2,\"89\":1,\"90\":1,\"91\":1,\"92\":2}}],[\"whith\",{\"1\":{\"75\":1}}],[\"which\",{\"1\":{\"36\":1,\"38\":1,\"41\":1,\"53\":1,\"55\":1,\"61\":1}}],[\"while\",{\"1\":{\"27\":1,\"35\":1,\"65\":1,\"66\":2,\"71\":1,\"79\":1}}],[\"why\",{\"0\":{\"44\":1},\"1\":{\"34\":1,\"55\":1,\"58\":1,\"72\":1,\"78\":1}}],[\"whether\",{\"1\":{\"32\":3,\"65\":1,\"74\":1}}],[\"when\",{\"1\":{\"16\":1,\"24\":5,\"32\":1,\"33\":1,\"36\":2,\"39\":1,\"40\":1,\"47\":1,\"56\":6,\"58\":1,\"59\":5,\"62\":1,\"67\":1,\"74\":1,\"77\":2}}],[\"where\",{\"1\":{\"10\":1,\"20\":1,\"71\":1,\"77\":1,\"80\":1}}],[\"who\",{\"1\":{\"3\":1,\"52\":1,\"62\":1}}],[\"what\",{\"0\":{\"1\":1,\"43\":1},\"1\":{\"40\":1,\"71\":1,\"91\":1,\"92\":2}}],[\"web\",{\"1\":{\"37\":3,\"38\":3,\"39\":1,\"40\":1}}],[\"were\",{\"1\":{\"36\":1,\"40\":1,\"87\":1}}],[\"well\",{\"1\":{\"18\":1,\"62\":1,\"70\":1,\"92\":1}}],[\"we\",{\"1\":{\"3\":3,\"4\":1,\"5\":2,\"6\":1,\"8\":1,\"22\":1,\"27\":1,\"29\":1,\"32\":1,\"34\":1,\"36\":1,\"37\":2,\"38\":4,\"39\":1,\"40\":6,\"41\":2,\"43\":1,\"44\":2,\"50\":2,\"55\":1,\"57\":1,\"62\":14,\"64\":1,\"65\":1,\"66\":11,\"67\":1,\"68\":1,\"69\":1,\"70\":1,\"71\":6,\"72\":2,\"73\":3,\"75\":3,\"78\":2,\"79\":3,\"80\":2,\"82\":1,\"87\":3,\"89\":3,\"90\":4,\"91\":2,\"92\":8}}],[\"world\",{\"1\":{\"49\":1,\"65\":1}}],[\"words\",{\"1\":{\"45\":1}}],[\"word\",{\"1\":{\"24\":1,\"92\":1}}],[\"working\",{\"0\":{\"73\":1}}],[\"works\",{\"1\":{\"66\":1}}],[\"workers\",{\"0\":{\"50\":1},\"1\":{\"18\":1,\"50\":1,\"58\":1,\"59\":1}}],[\"worker\",{\"0\":{\"54\":1},\"1\":{\"10\":5,\"36\":4,\"39\":1,\"40\":2,\"41\":1,\"45\":1,\"50\":3,\"51\":2,\"53\":1,\"54\":2,\"56\":3,\"58\":2,\"59\":2,\"62\":15,\"65\":1,\"66\":6,\"70\":1,\"77\":4,\"79\":1,\"83\":2}}],[\"work\",{\"0\":{\"80\":1},\"1\":{\"1\":1,\"40\":1,\"46\":1,\"50\":1,\"81\":1,\"91\":1}}],[\"would\",{\"1\":{\"17\":1,\"41\":1,\"91\":1}}],[\"won\",{\"1\":{\"1\":1,\"51\":1,\"57\":1,\"58\":1,\"59\":1,\"62\":1,\"75\":1,\"78\":1,\"79\":2}}],[\"os\",{\"1\":{\"90\":2}}],[\"old\",{\"1\":{\"72\":1}}],[\"obvious\",{\"1\":{\"72\":1}}],[\"object\",{\"1\":{\"47\":1,\"65\":1,\"75\":1}}],[\"objects\",{\"1\":{\"22\":1}}],[\"out\",{\"1\":{\"72\":1,\"92\":1}}],[\"outside\",{\"1\":{\"62\":1}}],[\"our\",{\"1\":{\"5\":1,\"40\":1,\"66\":1,\"71\":2,\"73\":1,\"90\":1,\"91\":1,\"92\":1}}],[\"over\",{\"1\":{\"65\":1,\"69\":1,\"84\":1}}],[\"overcome\",{\"1\":{\"62\":1}}],[\"override\",{\"1\":{\"49\":1}}],[\"overridden\",{\"1\":{\"9\":1}}],[\"overview\",{\"0\":{\"45\":1},\"1\":{\"65\":1}}],[\"own\",{\"1\":{\"35\":1,\"51\":1,\"62\":1,\"68\":1,\"69\":1,\"70\":1,\"78\":1}}],[\"ok\",{\"1\":{\"29\":1,\"65\":1}}],[\"optimized\",{\"1\":{\"80\":1}}],[\"optional\",{\"1\":{\"29\":1,\"30\":1,\"33\":4,\"60\":1}}],[\"options\",{\"1\":{\"11\":1,\"55\":1}}],[\"option\",{\"1\":{\"6\":1,\"50\":1,\"55\":2,\"57\":1,\"58\":4,\"61\":2,\"83\":1}}],[\"open\",{\"1\":{\"77\":1,\"83\":1}}],[\"opening\",{\"1\":{\"27\":1}}],[\"operations\",{\"1\":{\"27\":1}}],[\"omit\",{\"1\":{\"81\":1}}],[\"omitted\",{\"1\":{\"24\":3}}],[\"ommited\",{\"1\":{\"24\":1}}],[\"occurs\",{\"1\":{\"16\":1}}],[\"once\",{\"1\":{\"66\":1,\"74\":1,\"80\":1}}],[\"on\",{\"1\":{\"10\":1,\"17\":4,\"23\":1,\"32\":1,\"33\":1,\"35\":2,\"37\":1,\"38\":3,\"40\":4,\"41\":1,\"43\":1,\"44\":1,\"45\":4,\"47\":1,\"51\":3,\"65\":1,\"74\":1,\"75\":3,\"79\":2,\"80\":2,\"84\":1,\"92\":1}}],[\"ones\",{\"1\":{\"72\":1}}],[\"one\",{\"1\":{\"10\":1,\"22\":1,\"36\":1,\"38\":1,\"40\":1,\"41\":1,\"48\":1,\"57\":1,\"65\":2,\"66\":4,\"71\":3,\"77\":1,\"89\":1,\"91\":3}}],[\"only\",{\"1\":{\"10\":1,\"22\":1,\"27\":1,\"32\":1,\"38\":2,\"39\":1,\"40\":2,\"53\":1,\"61\":1,\"71\":2,\"72\":3,\"80\":1,\"81\":1,\"83\":1,\"85\":1}}],[\"orjsonserializer\",{\"1\":{\"69\":1}}],[\"orjson\",{\"1\":{\"69\":1}}],[\"ordinary\",{\"1\":{\"65\":1,\"66\":1}}],[\"order\",{\"1\":{\"24\":1,\"51\":1}}],[\"or\",{\"1\":{\"2\":1,\"3\":2,\"10\":1,\"18\":1,\"24\":2,\"28\":2,\"29\":1,\"30\":1,\"31\":2,\"32\":1,\"36\":2,\"38\":1,\"40\":5,\"43\":1,\"44\":1,\"47\":1,\"48\":1,\"50\":1,\"51\":4,\"52\":5,\"55\":2,\"57\":1,\"58\":1,\"59\":1,\"61\":2,\"64\":2,\"65\":1,\"67\":1,\"68\":1,\"69\":1,\"72\":1,\"73\":2,\"75\":3,\"89\":1,\"92\":1}}],[\"offset\",{\"1\":{\"24\":3,\"73\":3}}],[\"officially\",{\"1\":{\"7\":1,\"8\":1}}],[\"official\",{\"1\":{\"4\":1}}],[\"of\",{\"1\":{\"1\":2,\"3\":1,\"7\":1,\"10\":3,\"12\":3,\"17\":2,\"18\":1,\"21\":2,\"23\":1,\"24\":3,\"27\":2,\"28\":2,\"29\":1,\"30\":1,\"31\":2,\"32\":6,\"33\":2,\"36\":3,\"38\":2,\"40\":2,\"41\":1,\"43\":1,\"44\":2,\"46\":1,\"49\":1,\"51\":2,\"52\":4,\"55\":2,\"56\":2,\"57\":2,\"59\":8,\"61\":3,\"62\":5,\"64\":1,\"65\":3,\"66\":3,\"67\":2,\"68\":1,\"69\":3,\"70\":1,\"71\":4,\"73\":4,\"74\":1,\"75\":5,\"77\":3,\"79\":3,\"80\":3,\"86\":1}}],[\"otherwise\",{\"1\":{\"10\":1,\"36\":1}}],[\"other\",{\"0\":{\"59\":1},\"1\":{\"1\":1,\"18\":1,\"35\":2,\"36\":1,\"38\":1,\"44\":1,\"69\":1,\"81\":1,\"92\":1}}],[\"d\",{\"1\":{\"70\":1}}],[\"dyn\",{\"1\":{\"62\":27}}],[\"dynamically\",{\"1\":{\"62\":1}}],[\"dynamic\",{\"0\":{\"62\":1,\"75\":1},\"1\":{\"23\":2,\"62\":4,\"75\":2}}],[\"day\",{\"1\":{\"71\":1}}],[\"dark\",{\"1\":{\"45\":2}}],[\"data\",{\"1\":{\"65\":1,\"69\":1}}],[\"dataclasses\",{\"1\":{\"57\":1}}],[\"database\",{\"1\":{\"33\":1,\"77\":1,\"83\":1}}],[\"data=message\",{\"1\":{\"28\":1}}],[\"datetime\",{\"1\":{\"24\":1,\"62\":4,\"69\":1,\"73\":1,\"75\":10}}],[\"db\",{\"1\":{\"38\":1}}],[\"dp\",{\"1\":{\"36\":6}}],[\"dumps\",{\"1\":{\"70\":2}}],[\"dumpb\",{\"1\":{\"69\":1}}],[\"dummyresultbackend\",{\"0\":{\"20\":1},\"1\":{\"49\":1}}],[\"during\",{\"1\":{\"17\":1,\"31\":1,\"90\":1}}],[\"declaration\",{\"1\":{\"62\":2,\"65\":1}}],[\"declared\",{\"1\":{\"81\":2}}],[\"declare\",{\"1\":{\"35\":1}}],[\"decorator\",{\"1\":{\"48\":2,\"67\":1}}],[\"detailed\",{\"1\":{\"38\":1}}],[\"dep2\",{\"1\":{\"80\":3}}],[\"dep1\",{\"1\":{\"80\":1}}],[\"dep\",{\"1\":{\"80\":3}}],[\"depends\",{\"1\":{\"92\":1}}],[\"dependenices\",{\"1\":{\"40\":1}}],[\"dependencies\",{\"0\":{\"76\":1,\"78\":1,\"79\":1,\"80\":1,\"82\":1,\"85\":1,\"86\":1},\"1\":{\"4\":3,\"34\":1,\"36\":1,\"37\":2,\"38\":4,\"40\":4,\"41\":1,\"59\":1,\"78\":3,\"79\":3,\"80\":5,\"81\":3,\"82\":1,\"83\":2,\"84\":1,\"85\":1,\"86\":4,\"92\":8}}],[\"dependency\",{\"0\":{\"81\":1,\"92\":1},\"1\":{\"2\":1,\"36\":1,\"37\":3,\"38\":1,\"39\":2,\"40\":4,\"41\":4,\"44\":1,\"79\":2,\"80\":4,\"81\":2,\"83\":2,\"86\":1,\"92\":6}}],[\"depend\",{\"1\":{\"38\":1,\"40\":2,\"80\":1}}],[\"deps\",{\"1\":{\"37\":4,\"38\":2,\"41\":1}}],[\"deprecated\",{\"1\":{\"32\":1}}],[\"described\",{\"1\":{\"60\":1}}],[\"description\",{\"1\":{\"3\":1}}],[\"dest=\",{\"1\":{\"30\":1}}],[\"demo\",{\"1\":{\"30\":4}}],[\"deleting\",{\"1\":{\"33\":1}}],[\"delete\",{\"1\":{\"33\":1,\"75\":2}}],[\"delay=1\",{\"1\":{\"47\":1}}],[\"delayed\",{\"1\":{\"29\":1,\"33\":1,\"36\":1}}],[\"delay\",{\"1\":{\"29\":2}}],[\"delivery\",{\"1\":{\"27\":1}}],[\"developers\",{\"1\":{\"52\":1,\"73\":1,\"74\":1}}],[\"developer\",{\"1\":{\"27\":1}}],[\"development\",{\"1\":{\"9\":1,\"34\":1,\"65\":1}}],[\"defining\",{\"1\":{\"35\":1,\"62\":1}}],[\"define\",{\"1\":{\"11\":2,\"41\":1,\"48\":1,\"62\":4,\"68\":1,\"69\":2,\"70\":3,\"91\":2}}],[\"defined\",{\"1\":{\"11\":1,\"54\":1,\"62\":1,\"66\":1,\"71\":1,\"91\":1}}],[\"def\",{\"1\":{\"11\":1,\"17\":1,\"24\":1,\"27\":5,\"28\":1,\"30\":1,\"32\":5,\"33\":7,\"36\":5,\"39\":1,\"40\":3,\"41\":2,\"47\":2,\"48\":5,\"51\":2,\"57\":1,\"62\":3,\"65\":2,\"66\":4,\"71\":2,\"75\":1,\"79\":1,\"90\":1,\"91\":5,\"92\":3}}],[\"default=\",{\"1\":{\"30\":1}}],[\"default\",{\"0\":{\"85\":1},\"1\":{\"9\":1,\"11\":1,\"16\":1,\"17\":1,\"27\":1,\"30\":2,\"40\":2,\"49\":2,\"50\":1,\"53\":1,\"55\":1,\"58\":1,\"59\":3,\"61\":2,\"68\":2,\"69\":1,\"70\":1,\"72\":1,\"74\":1,\"80\":1,\"85\":1,\"86\":2}}],[\"dramatiq\",{\"1\":{\"44\":1}}],[\"draft\",{\"1\":{\"3\":1}}],[\"drops\",{\"1\":{\"52\":1}}],[\"drop\",{\"1\":{\"1\":1}}],[\"dive\",{\"1\":{\"87\":1}}],[\"didn\",{\"1\":{\"66\":1}}],[\"directory\",{\"1\":{\"50\":1,\"55\":2,\"58\":1,\"61\":1}}],[\"directly\",{\"1\":{\"11\":1,\"64\":1,\"78\":1,\"79\":1}}],[\"diagram\",{\"1\":{\"45\":2}}],[\"disables\",{\"1\":{\"59\":1}}],[\"disable\",{\"1\":{\"57\":1,\"58\":1}}],[\"discover\",{\"1\":{\"50\":2,\"55\":2,\"61\":1}}],[\"discuss\",{\"1\":{\"45\":1}}],[\"discussions\",{\"1\":{\"3\":1}}],[\"dispatcher\",{\"1\":{\"36\":6}}],[\"distributed\",{\"0\":{\"66\":1},\"1\":{\"35\":1,\"43\":2,\"44\":1,\"66\":1,\"89\":1}}],[\"difference\",{\"1\":{\"39\":1,\"62\":1}}],[\"differense\",{\"1\":{\"35\":1}}],[\"different\",{\"1\":{\"1\":2,\"4\":1,\"6\":2,\"25\":1,\"27\":1,\"34\":1,\"35\":4,\"41\":1,\"53\":1,\"70\":1,\"72\":1,\"92\":1}}],[\"dict\",{\"1\":{\"24\":2,\"70\":1}}],[\"docker\",{\"1\":{\"66\":1}}],[\"documentation\",{\"1\":{\"4\":1,\"30\":1,\"35\":1,\"44\":1}}],[\"down\",{\"1\":{\"36\":2}}],[\"done\",{\"1\":{\"43\":1,\"75\":1,\"90\":1}}],[\"don\",{\"1\":{\"24\":1,\"62\":1,\"65\":1,\"83\":1,\"89\":1,\"92\":1}}],[\"do\",{\"0\":{\"80\":1},\"1\":{\"3\":1,\"6\":2,\"18\":1,\"20\":1,\"27\":1,\"31\":1,\"32\":2,\"33\":2,\"49\":1,\"58\":1,\"64\":1,\"65\":1,\"66\":1,\"67\":1,\"70\":1,\"71\":1,\"72\":1,\"75\":2,\"82\":2,\"92\":1}}],[\"doesn\",{\"1\":{\"1\":1,\"20\":2,\"28\":1,\"29\":1,\"38\":1,\"39\":1,\"41\":1,\"43\":1,\"49\":1,\"65\":1,\"68\":1,\"71\":1,\"80\":2,\"81\":1,\"90\":1}}],[\"nice\",{\"1\":{\"36\":1,\"78\":1}}],[\"named\",{\"1\":{\"50\":1,\"62\":1}}],[\"names\",{\"1\":{\"48\":2}}],[\"namespace\",{\"1\":{\"30\":1}}],[\"name=\",{\"1\":{\"33\":1,\"36\":1,\"48\":1,\"62\":3}}],[\"name\",{\"1\":{\"30\":2,\"36\":1,\"44\":1,\"47\":1,\"62\":3,\"65\":1,\"66\":2}}],[\"nats\",{\"0\":{\"15\":1},\"1\":{\"15\":2,\"64\":1}}],[\"necessary\",{\"1\":{\"65\":1}}],[\"never\",{\"1\":{\"65\":1}}],[\"network\",{\"1\":{\"65\":1,\"69\":1}}],[\"next\",{\"1\":{\"31\":1,\"74\":1}}],[\"new\",{\"1\":{\"23\":1,\"27\":5,\"30\":1,\"32\":1,\"33\":2,\"41\":1,\"46\":1,\"50\":2,\"53\":1,\"59\":1,\"62\":2,\"66\":1,\"70\":1,\"72\":1,\"75\":2,\"86\":2}}],[\"needs\",{\"1\":{\"43\":1}}],[\"needed\",{\"1\":{\"32\":1,\"39\":1}}],[\"need\",{\"1\":{\"18\":1,\"20\":1,\"23\":1,\"27\":1,\"30\":2,\"35\":1,\"39\":1,\"41\":1,\"64\":1,\"65\":2,\"66\":4,\"71\":1,\"90\":1,\"92\":2}}],[\"normal\",{\"1\":{\"87\":1,\"91\":1}}],[\"noqa\",{\"1\":{\"75\":1}}],[\"non\",{\"1\":{\"69\":1}}],[\"none\",{\"1\":{\"20\":1,\"24\":7,\"27\":5,\"28\":2,\"30\":1,\"32\":3,\"33\":6,\"36\":1,\"39\":1,\"47\":1,\"48\":3,\"51\":1,\"62\":3,\"65\":1,\"66\":3,\"75\":1,\"79\":1}}],[\"now\",{\"1\":{\"32\":1,\"36\":1,\"40\":1,\"62\":5,\"65\":2,\"66\":4,\"71\":1,\"75\":2,\"79\":1,\"92\":2}}],[\"no\",{\"1\":{\"28\":1,\"38\":1,\"41\":1,\"57\":1,\"59\":2,\"61\":1,\"73\":1,\"83\":3}}],[\"note\",{\"1\":{\"32\":1,\"40\":1,\"51\":1,\"65\":1}}],[\"notice\",{\"1\":{\"24\":1}}],[\"not\",{\"0\":{\"44\":1},\"1\":{\"1\":1,\"3\":1,\"12\":1,\"21\":1,\"27\":1,\"32\":1,\"33\":3,\"36\":2,\"40\":3,\"55\":1,\"58\":1,\"62\":2,\"65\":3,\"66\":3,\"67\":1,\"69\":1,\"71\":1,\"72\":1,\"73\":2,\"74\":1,\"80\":1,\"90\":1,\"92\":3,\"93\":1}}],[\"number\",{\"1\":{\"10\":1,\"17\":1,\"29\":2,\"51\":1,\"59\":5,\"71\":1}}],[\"nutshell\",{\"0\":{\"1\":1}}],[\"n\",{\"1\":{\"6\":2,\"10\":2,\"71\":2}}],[\"fs\",{\"1\":{\"55\":1,\"61\":1}}],[\"fsd\",{\"1\":{\"50\":2,\"55\":1,\"61\":1}}],[\"f\",{\"1\":{\"51\":1,\"65\":2,\"66\":4}}],[\"further\",{\"1\":{\"65\":1}}],[\"fully\",{\"1\":{\"44\":1,\"90\":1}}],[\"fun\",{\"1\":{\"34\":1}}],[\"function\",{\"1\":{\"28\":1,\"32\":1,\"36\":6,\"38\":4,\"39\":1,\"40\":3,\"59\":1,\"62\":2,\"65\":4,\"66\":1,\"67\":1,\"71\":1,\"72\":2,\"75\":1,\"77\":1,\"79\":1,\"80\":2,\"81\":1,\"82\":1,\"83\":1,\"86\":1,\"91\":3,\"92\":2}}],[\"functionality\",{\"1\":{\"25\":1,\"43\":2,\"57\":1,\"58\":1}}],[\"functions\",{\"1\":{\"9\":1,\"17\":1,\"36\":2,\"40\":2,\"43\":2,\"44\":1,\"52\":1,\"67\":1,\"72\":2,\"78\":1,\"81\":1,\"87\":1,\"90\":1}}],[\"future\",{\"1\":{\"32\":1,\"75\":1}}],[\"fancier\",{\"1\":{\"65\":1}}],[\"fails\",{\"1\":{\"57\":1}}],[\"failed\",{\"1\":{\"51\":1}}],[\"factory\",{\"1\":{\"38\":1,\"40\":1}}],[\"faster\",{\"1\":{\"69\":1}}],[\"fastapi\",{\"0\":{\"40\":1},\"1\":{\"37\":1,\"40\":14,\"41\":8,\"78\":1,\"92\":1}}],[\"faststream\",{\"0\":{\"35\":1},\"1\":{\"35\":15}}],[\"false\",{\"1\":{\"32\":1}}],[\"favorite\",{\"1\":{\"2\":1,\"30\":1,\"34\":1}}],[\"fly\",{\"1\":{\"75\":1}}],[\"flow\",{\"1\":{\"52\":1}}],[\"float\",{\"1\":{\"29\":1}}],[\"flag\",{\"1\":{\"41\":1,\"74\":1}}],[\"flexible\",{\"1\":{\"1\":1}}],[\"finish\",{\"1\":{\"59\":1}}],[\"finds\",{\"1\":{\"24\":1}}],[\"find\",{\"1\":{\"7\":1,\"38\":1,\"40\":1,\"44\":1,\"50\":1,\"64\":1,\"65\":1,\"72\":1}}],[\"fits\",{\"1\":{\"64\":1}}],[\"fit\",{\"1\":{\"43\":1}}],[\"fixtures\",{\"1\":{\"92\":2}}],[\"fixture\",{\"1\":{\"39\":3,\"41\":5,\"90\":2,\"92\":3}}],[\"filter\",{\"1\":{\"72\":1}}],[\"filters\",{\"1\":{\"36\":1}}],[\"filled\",{\"1\":{\"38\":1}}],[\"files\",{\"1\":{\"55\":3,\"58\":2,\"61\":3}}],[\"file\",{\"1\":{\"36\":1,\"38\":1,\"40\":1,\"50\":1,\"58\":1,\"65\":1,\"66\":2,\"83\":1,\"90\":2}}],[\"field\",{\"1\":{\"27\":1,\"31\":1,\"73\":2}}],[\"fields\",{\"1\":{\"27\":1,\"28\":1,\"73\":2,\"79\":2}}],[\"first\",{\"0\":{\"74\":1,\"86\":1},\"1\":{\"3\":1,\"30\":1,\"38\":1,\"61\":2,\"66\":2,\"74\":2,\"86\":1}}],[\"frameworks\",{\"1\":{\"34\":1}}],[\"framework\",{\"0\":{\"34\":1},\"1\":{\"34\":1,\"37\":1,\"40\":1}}],[\"from\",{\"1\":{\"3\":1,\"4\":1,\"6\":1,\"10\":1,\"11\":1,\"17\":1,\"18\":1,\"23\":2,\"24\":2,\"27\":4,\"30\":3,\"32\":4,\"33\":3,\"35\":3,\"36\":8,\"37\":1,\"38\":2,\"40\":5,\"41\":2,\"46\":2,\"47\":1,\"49\":2,\"51\":2,\"52\":1,\"59\":1,\"62\":7,\"64\":2,\"65\":2,\"66\":6,\"67\":1,\"69\":1,\"70\":1,\"71\":4,\"72\":3,\"73\":1,\"74\":1,\"75\":5,\"77\":2,\"79\":1,\"85\":2,\"90\":1,\"91\":3,\"92\":4}}],[\"frustrated\",{\"1\":{\"3\":1}}],[\"few\",{\"1\":{\"74\":1}}],[\"feature\",{\"1\":{\"44\":1,\"58\":1,\"81\":1,\"83\":1}}],[\"features\",{\"1\":{\"1\":1,\"35\":1,\"57\":1}}],[\"fetching\",{\"1\":{\"32\":2}}],[\"fetch\",{\"1\":{\"22\":1,\"32\":2}}],[\"feel\",{\"1\":{\"3\":1}}],[\"focused\",{\"1\":{\"35\":2}}],[\"found\",{\"1\":{\"25\":1,\"51\":1,\"62\":1,\"65\":1,\"66\":2,\"93\":1}}],[\"following\",{\"1\":{\"24\":1,\"50\":1}}],[\"follow\",{\"1\":{\"4\":1}}],[\"folks\",{\"1\":{\"3\":1}}],[\"force\",{\"1\":{\"68\":1,\"80\":1}}],[\"form\",{\"1\":{\"47\":2}}],[\"formatter\",{\"1\":{\"70\":3}}],[\"formatters\",{\"0\":{\"70\":1},\"1\":{\"70\":3}}],[\"format\",{\"0\":{\"68\":1},\"1\":{\"24\":1,\"68\":4,\"69\":3,\"70\":2}}],[\"forget\",{\"1\":{\"24\":1,\"65\":1}}],[\"for\",{\"0\":{\"0\":1,\"13\":1},\"1\":{\"1\":2,\"3\":3,\"4\":1,\"7\":1,\"9\":1,\"10\":1,\"11\":2,\"17\":2,\"18\":2,\"20\":1,\"22\":1,\"23\":2,\"24\":1,\"27\":2,\"28\":2,\"29\":1,\"31\":1,\"33\":1,\"35\":5,\"37\":2,\"38\":1,\"39\":4,\"40\":1,\"41\":2,\"43\":3,\"46\":4,\"47\":2,\"48\":2,\"49\":1,\"51\":4,\"52\":1,\"53\":1,\"55\":2,\"56\":1,\"57\":1,\"59\":6,\"60\":1,\"61\":1,\"62\":5,\"64\":1,\"65\":4,\"66\":2,\"69\":2,\"70\":1,\"71\":1,\"72\":2,\"73\":4,\"74\":2,\"75\":4,\"77\":1,\"79\":2,\"80\":5,\"81\":4,\"83\":1,\"86\":2,\"89\":2,\"92\":5}}],[\"msgpackserializer\",{\"1\":{\"69\":1}}],[\"msgpack\",{\"1\":{\"69\":2}}],[\"m\",{\"1\":{\"36\":1,\"65\":1}}],[\"mutate\",{\"1\":{\"92\":1}}],[\"much\",{\"1\":{\"43\":1}}],[\"multiple\",{\"0\":{\"72\":1},\"1\":{\"36\":1,\"44\":2,\"55\":1,\"61\":1,\"72\":1}}],[\"must\",{\"1\":{\"29\":2,\"31\":1,\"32\":2,\"33\":2,\"40\":1,\"46\":1,\"49\":1,\"66\":1,\"92\":1}}],[\"minutes=1\",{\"1\":{\"75\":2}}],[\"minutes=5\",{\"1\":{\"71\":1}}],[\"minutes\",{\"1\":{\"71\":1,\"75\":1}}],[\"minute\",{\"1\":{\"62\":1,\"74\":3}}],[\"minimal\",{\"1\":{\"32\":1,\"33\":1}}],[\"might\",{\"1\":{\"35\":1,\"44\":1,\"69\":1,\"70\":1,\"73\":1,\"74\":1}}],[\"middleware\",{\"0\":{\"17\":1,\"18\":1},\"1\":{\"17\":2,\"31\":3,\"51\":4}}],[\"middlewares\",{\"0\":{\"16\":1,\"31\":1,\"51\":1},\"1\":{\"7\":1,\"16\":2,\"17\":2,\"18\":1,\"26\":1,\"31\":4,\"44\":1,\"51\":4}}],[\"md\",{\"1\":{\"12\":1,\"21\":1,\"37\":1}}],[\"mymiddleware\",{\"1\":{\"51\":1}}],[\"myschedulesource\",{\"1\":{\"33\":1}}],[\"myresultbackend\",{\"1\":{\"32\":1}}],[\"mycommand\",{\"1\":{\"30\":1}}],[\"mybroker\",{\"1\":{\"27\":1,\"38\":1,\"50\":1,\"54\":1,\"56\":1,\"65\":1}}],[\"my\",{\"1\":{\"11\":1,\"24\":1,\"28\":1,\"30\":2,\"36\":4,\"38\":1,\"40\":1,\"47\":3,\"48\":11,\"50\":3,\"51\":2,\"54\":2,\"60\":3,\"75\":6,\"80\":1,\"81\":1,\"83\":1}}],[\"merge\",{\"1\":{\"72\":5}}],[\"merging\",{\"1\":{\"3\":1}}],[\"me\",{\"1\":{\"71\":1}}],[\"means\",{\"1\":{\"41\":1}}],[\"meant\",{\"1\":{\"34\":1,\"92\":1}}],[\"mechanism\",{\"1\":{\"30\":1}}],[\"message\",{\"0\":{\"68\":1},\"1\":{\"27\":8,\"28\":3,\"29\":3,\"30\":1,\"31\":1,\"35\":1,\"36\":7,\"46\":1,\"47\":2,\"48\":2,\"51\":14,\"52\":3,\"59\":1,\"68\":3,\"69\":2,\"70\":3}}],[\"messages\",{\"0\":{\"48\":1},\"1\":{\"10\":2,\"28\":1,\"36\":2,\"45\":2,\"46\":3,\"59\":1,\"62\":1,\"77\":1}}],[\"method\",{\"1\":{\"27\":3,\"28\":2,\"30\":1,\"31\":1,\"33\":5,\"46\":2,\"62\":1,\"65\":3,\"67\":1,\"75\":3,\"77\":1,\"92\":1}}],[\"methods\",{\"1\":{\"27\":2,\"46\":1,\"51\":1,\"65\":1,\"69\":1,\"70\":1,\"75\":3}}],[\"metrics\",{\"1\":{\"18\":4}}],[\"mark\",{\"1\":{\"40\":1,\"91\":2,\"92\":2}}],[\"maintained\",{\"1\":{\"44\":1}}],[\"main\",{\"1\":{\"36\":6,\"38\":3,\"40\":1,\"43\":1,\"46\":1,\"47\":2,\"48\":2,\"62\":11,\"65\":5,\"66\":7,\"90\":1}}],[\"magic\",{\"1\":{\"27\":1,\"37\":1}}],[\"maximum\",{\"1\":{\"17\":1,\"59\":5}}],[\"max\",{\"1\":{\"17\":2,\"59\":4}}],[\"maybe\",{\"1\":{\"71\":1,\"89\":1}}],[\"may\",{\"1\":{\"10\":1,\"27\":1,\"31\":1,\"33\":4,\"46\":1,\"48\":1,\"52\":1,\"53\":1,\"55\":1,\"61\":1,\"65\":1,\"67\":1,\"71\":3,\"72\":1,\"75\":2,\"86\":1,\"91\":1,\"92\":1}}],[\"manner\",{\"1\":{\"43\":1}}],[\"many\",{\"1\":{\"10\":1,\"27\":1,\"40\":1,\"43\":2,\"71\":1,\"80\":1}}],[\"manually\",{\"1\":{\"5\":1,\"50\":1,\"75\":1,\"92\":2}}],[\"managing\",{\"1\":{\"4\":1}}],[\"manager\",{\"0\":{\"0\":1},\"1\":{\"1\":1,\"2\":1}}],[\"malware\",{\"1\":{\"3\":1}}],[\"makes\",{\"1\":{\"37\":1}}],[\"make\",{\"1\":{\"3\":2,\"28\":1,\"34\":1,\"37\":1,\"40\":4,\"43\":2,\"46\":1,\"79\":1}}],[\"most\",{\"1\":{\"46\":1}}],[\"mocked\",{\"1\":{\"38\":1,\"40\":1}}],[\"mock\",{\"1\":{\"38\":1}}],[\"modified\",{\"1\":{\"92\":2}}],[\"modify\",{\"1\":{\"51\":2,\"58\":2,\"90\":1,\"92\":4}}],[\"model\",{\"1\":{\"73\":1}}],[\"models\",{\"1\":{\"57\":1}}],[\"modern\",{\"1\":{\"1\":1}}],[\"module2\",{\"1\":{\"54\":1,\"60\":1}}],[\"module1\",{\"1\":{\"54\":1,\"60\":1}}],[\"module\",{\"1\":{\"50\":1,\"60\":1,\"65\":1,\"69\":1,\"71\":3,\"72\":1,\"74\":1}}],[\"modules\",{\"1\":{\"24\":1,\"50\":3,\"54\":1,\"55\":1,\"65\":1}}],[\"modular\",{\"1\":{\"43\":1}}],[\"more\",{\"1\":{\"1\":1,\"12\":1,\"21\":1,\"23\":1,\"30\":1,\"35\":5,\"36\":1,\"37\":1,\"38\":1,\"50\":1,\"53\":1,\"62\":1,\"65\":2,\"66\":2,\"71\":1,\"72\":1,\"83\":1,\"86\":1}}],[\"saved\",{\"1\":{\"51\":1,\"56\":2,\"59\":2}}],[\"save\",{\"1\":{\"51\":1}}],[\"same\",{\"1\":{\"1\":1,\"9\":1,\"17\":1,\"29\":1,\"30\":1,\"36\":1,\"38\":4,\"40\":1,\"66\":1,\"80\":1,\"90\":1}}],[\"script\",{\"1\":{\"66\":1}}],[\"scenario\",{\"1\":{\"65\":1}}],[\"scenarios\",{\"1\":{\"49\":1}}],[\"scope=\",{\"1\":{\"92\":1}}],[\"scope\",{\"1\":{\"62\":2}}],[\"scheduling\",{\"0\":{\"71\":1,\"75\":1},\"1\":{\"23\":1,\"35\":1,\"60\":1,\"75\":1}}],[\"schedule=\",{\"1\":{\"24\":1,\"62\":1,\"71\":1}}],[\"scheduledtaskcancellederror\",{\"1\":{\"33\":1}}],[\"scheduledtask\",{\"1\":{\"33\":6,\"73\":2}}],[\"scheduled\",{\"1\":{\"24\":1,\"33\":1,\"75\":2}}],[\"schedulers\",{\"1\":{\"75\":1}}],[\"scheduler>\",{\"1\":{\"60\":1}}],[\"scheduler\",{\"0\":{\"60\":1},\"1\":{\"23\":1,\"24\":2,\"35\":1,\"53\":1,\"60\":4,\"61\":3,\"62\":11,\"71\":11,\"72\":1,\"73\":1,\"74\":6,\"75\":4}}],[\"schedulesources\",{\"1\":{\"75\":1}}],[\"schedulesource\",{\"1\":{\"33\":3}}],[\"schedules\",{\"1\":{\"23\":2,\"33\":2,\"44\":1,\"71\":1,\"72\":3,\"75\":3}}],[\"schedule\",{\"0\":{\"22\":1,\"33\":1},\"1\":{\"7\":1,\"22\":2,\"23\":1,\"24\":3,\"26\":1,\"33\":15,\"60\":1,\"62\":2,\"71\":4,\"72\":3,\"73\":1,\"74\":1,\"75\":19}}],[\"switching\",{\"1\":{\"45\":1}}],[\"smooth\",{\"1\":{\"40\":1}}],[\"smaller\",{\"1\":{\"69\":1}}],[\"small\",{\"1\":{\"10\":1}}],[\"sleep\",{\"1\":{\"36\":1,\"47\":1,\"48\":3,\"51\":1,\"62\":2,\"71\":1}}],[\"system\",{\"1\":{\"46\":2,\"50\":1,\"83\":1}}],[\"systems\",{\"1\":{\"35\":1,\"59\":1}}],[\"sys\",{\"1\":{\"36\":1}}],[\"sync\",{\"1\":{\"31\":1,\"51\":2,\"59\":1,\"67\":1}}],[\"synchronously\",{\"1\":{\"1\":1}}],[\"synchronous\",{\"1\":{\"1\":1,\"44\":1,\"67\":1}}],[\"skipping\",{\"0\":{\"74\":1}}],[\"skips\",{\"1\":{\"61\":1}}],[\"skip\",{\"1\":{\"32\":1,\"61\":2,\"74\":2}}],[\"still\",{\"1\":{\"62\":1,\"65\":2,\"89\":1}}],[\"stop\",{\"1\":{\"67\":1}}],[\"stops\",{\"1\":{\"52\":1}}],[\"storage\",{\"1\":{\"23\":1,\"32\":1}}],[\"stored\",{\"1\":{\"45\":1,\"50\":1,\"79\":1}}],[\"store\",{\"1\":{\"19\":1,\"20\":1,\"32\":1,\"49\":1,\"51\":1,\"66\":2,\"75\":1,\"79\":1}}],[\"statement\",{\"1\":{\"90\":1}}],[\"state\",{\"0\":{\"76\":1,\"77\":1},\"1\":{\"38\":2,\"40\":1,\"77\":1,\"79\":7,\"85\":1}}],[\"started\",{\"0\":{\"63\":1}}],[\"start\",{\"1\":{\"36\":1,\"39\":1,\"50\":2,\"61\":1,\"66\":2,\"71\":2,\"74\":4,\"77\":1}}],[\"starts\",{\"1\":{\"36\":1}}],[\"starting\",{\"1\":{\"32\":1,\"33\":1,\"36\":1}}],[\"startup\",{\"1\":{\"27\":4,\"32\":1,\"33\":1,\"34\":1,\"36\":3,\"37\":3,\"38\":2,\"40\":4,\"44\":1,\"62\":3,\"65\":4,\"66\":4,\"75\":1,\"77\":5,\"79\":3,\"80\":1,\"82\":2}}],[\"stdout\",{\"1\":{\"36\":1}}],[\"structure\",{\"1\":{\"45\":1,\"50\":1,\"65\":1,\"69\":1}}],[\"struggle\",{\"1\":{\"3\":1}}],[\"stream=sys\",{\"1\":{\"36\":1}}],[\"string\",{\"1\":{\"24\":1,\"27\":1,\"40\":1,\"73\":1}}],[\"str\",{\"1\":{\"24\":4,\"30\":1,\"32\":3,\"33\":1,\"75\":1,\"91\":3,\"92\":2}}],[\"size\",{\"1\":{\"69\":1}}],[\"single\",{\"1\":{\"59\":1}}],[\"since\",{\"1\":{\"3\":1,\"30\":2,\"39\":1,\"71\":1,\"75\":1,\"79\":1,\"80\":1,\"89\":1,\"90\":1,\"91\":1}}],[\"signatures\",{\"1\":{\"57\":1}}],[\"signature\",{\"1\":{\"51\":1}}],[\"simultaneously\",{\"1\":{\"59\":1}}],[\"similar\",{\"1\":{\"44\":1,\"62\":1,\"78\":1}}],[\"simply\",{\"1\":{\"37\":1,\"58\":1,\"60\":1,\"72\":1}}],[\"simpleretrymiddleware\",{\"1\":{\"17\":2,\"51\":1}}],[\"simple\",{\"0\":{\"17\":1},\"1\":{\"34\":1,\"36\":1,\"45\":1,\"50\":1,\"65\":1,\"91\":1}}],[\"side\",{\"1\":{\"36\":1,\"45\":2,\"51\":2}}],[\"shipped\",{\"1\":{\"53\":1}}],[\"shifted\",{\"1\":{\"30\":1}}],[\"shutting\",{\"1\":{\"36\":2}}],[\"shutdown\",{\"1\":{\"27\":4,\"32\":2,\"33\":2,\"34\":1,\"36\":3,\"40\":3,\"44\":1,\"59\":3,\"62\":3,\"65\":1,\"66\":2,\"77\":2,\"82\":1}}],[\"show\",{\"1\":{\"30\":1}}],[\"shown\",{\"1\":{\"18\":1,\"71\":1}}],[\"shortening\",{\"1\":{\"47\":1}}],[\"short\",{\"1\":{\"30\":1}}],[\"shoule\",{\"1\":{\"24\":2}}],[\"should\",{\"1\":{\"3\":1,\"28\":2,\"30\":1,\"38\":1,\"40\":2,\"59\":1,\"69\":2,\"71\":1,\"73\":1,\"74\":3,\"91\":2,\"92\":1}}],[\"shared\",{\"0\":{\"11\":2},\"1\":{\"11\":6}}],[\"specify\",{\"1\":{\"36\":1,\"40\":1,\"50\":1,\"54\":1,\"62\":1,\"73\":1}}],[\"specified\",{\"1\":{\"24\":2,\"32\":1,\"55\":1,\"61\":1}}],[\"specific\",{\"1\":{\"16\":1,\"24\":1,\"35\":1,\"68\":1,\"73\":3,\"75\":1}}],[\"special\",{\"1\":{\"9\":1,\"11\":1}}],[\"speedup\",{\"1\":{\"6\":1}}],[\"suggest\",{\"1\":{\"75\":1,\"78\":1,\"90\":1,\"92\":1}}],[\"successfully\",{\"1\":{\"62\":3,\"83\":1}}],[\"such\",{\"1\":{\"27\":1,\"30\":1,\"40\":2,\"58\":1,\"91\":1}}],[\"subdependencies\",{\"1\":{\"80\":1}}],[\"subclass\",{\"1\":{\"69\":1,\"70\":1}}],[\"subclassing\",{\"1\":{\"51\":1}}],[\"subcommand\",{\"1\":{\"30\":1}}],[\"subcommands\",{\"1\":{\"30\":2,\"53\":1}}],[\"submodule\",{\"1\":{\"50\":2}}],[\"subscribes\",{\"1\":{\"46\":1}}],[\"support\",{\"1\":{\"28\":1,\"33\":1,\"59\":1,\"75\":1}}],[\"supports\",{\"1\":{\"28\":1,\"56\":1,\"58\":2,\"69\":1,\"84\":1}}],[\"supported\",{\"1\":{\"7\":1,\"8\":1}}],[\"super\",{\"1\":{\"25\":1,\"27\":4,\"31\":1}}],[\"suitable\",{\"1\":{\"10\":1,\"92\":1}}],[\"sure\",{\"1\":{\"3\":1,\"48\":1}}],[\"solve\",{\"1\":{\"35\":1,\"44\":1,\"71\":1}}],[\"solves\",{\"1\":{\"3\":1}}],[\"sooner\",{\"1\":{\"29\":1}}],[\"somewhere\",{\"1\":{\"40\":1,\"90\":1}}],[\"sometimes\",{\"1\":{\"32\":1,\"55\":1,\"71\":1,\"72\":1,\"73\":2,\"75\":1}}],[\"something\",{\"1\":{\"3\":1,\"32\":2,\"33\":2,\"36\":1,\"38\":1,\"43\":1,\"48\":2,\"80\":1,\"82\":2}}],[\"some\",{\"1\":{\"27\":1,\"31\":2,\"48\":1,\"49\":1,\"51\":1,\"52\":1,\"53\":1,\"65\":1,\"66\":1,\"69\":1,\"71\":2,\"72\":1,\"74\":1,\"75\":1}}],[\"source\",{\"0\":{\"33\":1},\"1\":{\"22\":1,\"23\":4,\"24\":2,\"33\":8,\"72\":1,\"73\":1,\"74\":1,\"75\":13}}],[\"sources=\",{\"1\":{\"23\":1,\"24\":1,\"71\":1,\"75\":1}}],[\"sources\",{\"0\":{\"22\":1,\"72\":1},\"1\":{\"7\":1,\"23\":1,\"24\":2,\"26\":1,\"33\":1,\"62\":1,\"71\":3,\"72\":4,\"75\":3}}],[\"so\",{\"1\":{\"18\":1,\"28\":1,\"31\":1,\"35\":1,\"36\":1,\"38\":1,\"40\":1,\"62\":1,\"71\":1,\"72\":1,\"92\":1}}],[\"searches\",{\"1\":{\"55\":1,\"61\":1}}],[\"search\",{\"1\":{\"53\":1,\"55\":1,\"61\":1,\"64\":1}}],[\"seen\",{\"1\":{\"44\":1}}],[\"see\",{\"1\":{\"36\":1,\"40\":1,\"45\":1,\"66\":1,\"75\":1,\"77\":1,\"81\":2,\"90\":1}}],[\"sequence\",{\"1\":{\"30\":2,\"45\":1}}],[\"sent\",{\"1\":{\"29\":1,\"33\":4,\"45\":1,\"47\":1,\"51\":3}}],[\"sends\",{\"1\":{\"71\":1}}],[\"sending\",{\"1\":{\"40\":1,\"71\":1}}],[\"send\",{\"1\":{\"1\":1,\"24\":1,\"27\":2,\"33\":2,\"36\":3,\"43\":1,\"44\":1,\"51\":4,\"62\":3,\"65\":3,\"66\":2,\"69\":1,\"70\":2,\"90\":1}}],[\"seriazier\",{\"1\":{\"70\":1}}],[\"serialization\",{\"1\":{\"69\":1}}],[\"serializes\",{\"1\":{\"70\":1}}],[\"serializer\",{\"1\":{\"69\":5,\"70\":1}}],[\"serializers\",{\"0\":{\"69\":1},\"1\":{\"44\":1,\"69\":4}}],[\"serialize\",{\"1\":{\"69\":1}}],[\"serializing\",{\"1\":{\"27\":1}}],[\"server=server\",{\"1\":{\"39\":1}}],[\"server\",{\"1\":{\"18\":2,\"39\":4,\"43\":1}}],[\"self\",{\"1\":{\"27\":5,\"28\":2,\"30\":1,\"31\":2,\"32\":5,\"33\":7,\"51\":2}}],[\"second\",{\"1\":{\"38\":1,\"47\":3,\"62\":1}}],[\"seconds=10\",{\"1\":{\"75\":1}}],[\"seconds=5\",{\"1\":{\"75\":2}}],[\"seconds=2\",{\"1\":{\"62\":1}}],[\"seconds\",{\"1\":{\"19\":1,\"29\":1,\"59\":1,\"65\":2,\"66\":4,\"71\":1,\"74\":1}}],[\"section\",{\"1\":{\"7\":1,\"8\":1,\"23\":1,\"50\":1,\"60\":1,\"65\":1,\"66\":1,\"71\":1}}],[\"separate\",{\"1\":{\"12\":1,\"21\":1,\"65\":1}}],[\"several\",{\"1\":{\"3\":1,\"16\":1,\"29\":1,\"37\":1,\"75\":1}}],[\"sets\",{\"1\":{\"59\":1,\"92\":1}}],[\"setup\",{\"0\":{\"89\":1},\"1\":{\"36\":1}}],[\"settings\",{\"1\":{\"5\":1}}],[\"setting\",{\"0\":{\"4\":1},\"1\":{\"36\":1}}],[\"set\",{\"1\":{\"1\":1,\"27\":1,\"28\":2,\"32\":2,\"59\":2,\"61\":1,\"62\":1,\"65\":1,\"89\":2}}],[\"s\",{\"1\":{\"1\":2,\"10\":1,\"11\":1,\"29\":3,\"30\":1,\"31\":1,\"32\":3,\"33\":4,\"34\":1,\"35\":1,\"36\":4,\"37\":1,\"38\":4,\"39\":2,\"40\":3,\"41\":1,\"44\":1,\"45\":1,\"48\":1,\"50\":2,\"52\":2,\"55\":2,\"58\":1,\"59\":1,\"61\":1,\"62\":2,\"65\":5,\"66\":4,\"71\":4,\"72\":2,\"73\":2,\"75\":6,\"77\":1,\"78\":2,\"79\":1,\"80\":1,\"81\":4,\"87\":1,\"90\":2,\"91\":3,\"92\":8}}],[\"tzinfo\",{\"1\":{\"75\":1}}],[\"t201\",{\"1\":{\"75\":1}}],[\"tp\",{\"1\":{\"55\":1,\"61\":1}}],[\"tkq\",{\"1\":{\"36\":1}}],[\"transaction\",{\"1\":{\"83\":1}}],[\"treated\",{\"1\":{\"80\":1}}],[\"try\",{\"1\":{\"34\":1,\"40\":1,\"45\":1,\"51\":1,\"62\":3,\"78\":1,\"92\":1}}],[\"true\",{\"1\":{\"11\":1,\"27\":1,\"32\":1,\"71\":1,\"90\":1}}],[\"till\",{\"1\":{\"62\":1}}],[\"tip\",{\"1\":{\"32\":1,\"45\":1,\"64\":1,\"71\":1,\"77\":1}}],[\"timeoutexception\",{\"1\":{\"67\":1}}],[\"timeouts\",{\"0\":{\"67\":1},\"1\":{\"67\":1}}],[\"timeout=2\",{\"1\":{\"65\":1,\"66\":2}}],[\"timeout\",{\"1\":{\"59\":2,\"67\":1}}],[\"timezones\",{\"0\":{\"73\":1}}],[\"timezone\",{\"1\":{\"24\":1,\"73\":2}}],[\"timedelta\",{\"1\":{\"24\":1,\"62\":1,\"71\":1,\"73\":1,\"75\":3}}],[\"times\",{\"1\":{\"10\":1,\"17\":1,\"55\":1,\"61\":1,\"71\":1,\"80\":1}}],[\"time\",{\"1\":{\"3\":2,\"19\":1,\"24\":5,\"47\":1,\"58\":1,\"59\":2,\"62\":3,\"65\":1,\"66\":3,\"67\":1,\"71\":1,\"72\":1,\"73\":3,\"75\":4,\"87\":1}}],[\"typos\",{\"1\":{\"79\":1}}],[\"typing\",{\"1\":{\"27\":1,\"30\":1,\"32\":1,\"33\":1,\"40\":1}}],[\"types\",{\"1\":{\"36\":2,\"38\":1,\"40\":2,\"56\":1,\"57\":1,\"65\":1,\"79\":1}}],[\"typevar\",{\"1\":{\"32\":2}}],[\"typer\",{\"1\":{\"30\":1}}],[\"type\",{\"0\":{\"57\":1},\"1\":{\"10\":1,\"24\":6,\"27\":1,\"32\":2,\"49\":1,\"56\":2,\"57\":3,\"59\":2,\"70\":1,\"79\":1,\"81\":1,\"84\":1}}],[\"tell\",{\"1\":{\"89\":1}}],[\"telegram\",{\"1\":{\"36\":1}}],[\"teardown\",{\"1\":{\"82\":1}}],[\"terms\",{\"1\":{\"73\":1}}],[\"terminal\",{\"1\":{\"50\":1,\"65\":1}}],[\"template\",{\"1\":{\"27\":1}}],[\"testclient\",{\"1\":{\"39\":2}}],[\"test=\",{\"1\":{\"30\":1}}],[\"testings\",{\"1\":{\"6\":1}}],[\"testing\",{\"0\":{\"6\":1,\"39\":1,\"41\":1,\"87\":1,\"91\":1},\"1\":{\"41\":3,\"89\":2,\"90\":1}}],[\"test\",{\"1\":{\"3\":1,\"6\":1,\"17\":1,\"30\":9,\"39\":4,\"41\":1,\"50\":5,\"91\":5,\"92\":6}}],[\"testserver\",{\"1\":{\"39\":2}}],[\"tests\",{\"0\":{\"90\":1},\"1\":{\"3\":1,\"6\":1,\"39\":2,\"41\":2,\"87\":2,\"89\":1,\"91\":1,\"92\":2}}],[\"two\",{\"1\":{\"27\":1,\"34\":1,\"38\":1,\"40\":2,\"43\":1,\"46\":1,\"50\":1,\"53\":1,\"55\":1,\"72\":1,\"85\":1}}],[\"takskiq\",{\"1\":{\"84\":1}}],[\"take\",{\"1\":{\"38\":2,\"50\":1,\"51\":1,\"69\":1,\"70\":1}}],[\"takes\",{\"1\":{\"3\":1,\"27\":1,\"28\":1,\"38\":1,\"40\":1}}],[\"tab\",{\"1\":{\"79\":1}}],[\"table\",{\"1\":{\"44\":1}}],[\"target\",{\"1\":{\"57\":1}}],[\"tasks\",{\"0\":{\"11\":1,\"65\":1,\"71\":1,\"91\":1},\"1\":{\"1\":1,\"9\":2,\"10\":1,\"11\":4,\"22\":1,\"24\":1,\"29\":1,\"31\":1,\"33\":3,\"35\":2,\"36\":2,\"38\":1,\"40\":2,\"41\":1,\"43\":1,\"44\":1,\"48\":1,\"50\":7,\"54\":1,\"55\":5,\"57\":1,\"58\":1,\"59\":8,\"60\":2,\"61\":4,\"62\":5,\"65\":2,\"66\":1,\"71\":3,\"72\":2,\"73\":1,\"74\":3,\"75\":2,\"79\":1,\"83\":1,\"87\":1,\"90\":1,\"91\":1,\"92\":2}}],[\"taskiqevents\",{\"1\":{\"79\":1}}],[\"taskiqdependency\",{\"1\":{\"81\":1}}],[\"taskiqdependencies\",{\"1\":{\"78\":1}}],[\"taskiqdepends\",{\"1\":{\"36\":2,\"40\":4,\"80\":1}}],[\"taskiqstate\",{\"1\":{\"77\":1,\"79\":1,\"85\":2}}],[\"taskiqserializer\",{\"1\":{\"68\":1,\"69\":1}}],[\"taskiqscheduler\",{\"1\":{\"23\":2,\"24\":2,\"62\":2,\"71\":3,\"72\":1,\"75\":2}}],[\"taskiqformatter\",{\"1\":{\"68\":1,\"70\":1}}],[\"taskiqtask\",{\"1\":{\"65\":1}}],[\"taskiqmessage\",{\"1\":{\"51\":4}}],[\"taskiqmiddleware\",{\"1\":{\"31\":1,\"51\":3}}],[\"taskiqresult\",{\"1\":{\"32\":3,\"49\":1}}],[\"taskiqcmd\",{\"1\":{\"30\":3}}],[\"taskiq\",{\"0\":{\"1\":1,\"25\":1,\"35\":1,\"36\":1,\"37\":1,\"38\":1,\"40\":1,\"43\":1,\"68\":1,\"87\":1},\"1\":{\"1\":1,\"2\":2,\"3\":1,\"4\":1,\"7\":1,\"10\":2,\"11\":1,\"12\":1,\"13\":2,\"14\":2,\"15\":2,\"16\":1,\"17\":1,\"18\":2,\"21\":3,\"23\":3,\"24\":2,\"25\":2,\"27\":2,\"28\":1,\"30\":6,\"31\":3,\"32\":3,\"33\":2,\"34\":2,\"35\":10,\"36\":16,\"38\":4,\"39\":3,\"40\":9,\"41\":3,\"43\":5,\"44\":2,\"45\":1,\"46\":2,\"47\":1,\"49\":2,\"50\":7,\"51\":4,\"53\":4,\"54\":1,\"55\":1,\"56\":2,\"57\":2,\"58\":3,\"60\":2,\"62\":10,\"64\":4,\"65\":4,\"66\":15,\"68\":1,\"69\":4,\"70\":1,\"71\":7,\"72\":1,\"73\":1,\"74\":2,\"75\":2,\"77\":1,\"78\":1,\"83\":1,\"84\":1,\"85\":3,\"86\":2,\"87\":1,\"90\":2,\"91\":2,\"92\":5}}],[\"task\",{\"0\":{\"0\":1},\"1\":{\"1\":1,\"11\":4,\"17\":5,\"24\":9,\"29\":1,\"31\":1,\"32\":10,\"33\":10,\"36\":9,\"38\":1,\"40\":2,\"44\":2,\"46\":1,\"47\":12,\"48\":15,\"50\":1,\"51\":2,\"52\":4,\"55\":1,\"56\":3,\"57\":3,\"59\":1,\"61\":1,\"62\":51,\"65\":9,\"66\":15,\"67\":3,\"70\":1,\"71\":7,\"72\":2,\"73\":2,\"74\":1,\"75\":9,\"80\":1,\"81\":1,\"82\":3,\"91\":8,\"92\":6}}],[\"thrown\",{\"1\":{\"59\":1}}],[\"throw\",{\"1\":{\"57\":1}}],[\"throughout\",{\"1\":{\"62\":1}}],[\"through\",{\"1\":{\"52\":1}}],[\"three\",{\"1\":{\"36\":1,\"56\":1}}],[\"threads\",{\"1\":{\"59\":2}}],[\"threadpool\",{\"1\":{\"59\":1}}],[\"thread\",{\"1\":{\"9\":1}}],[\"than\",{\"1\":{\"35\":1,\"65\":1,\"69\":1,\"71\":1}}],[\"that\",{\"1\":{\"3\":1,\"6\":1,\"17\":2,\"18\":1,\"28\":1,\"30\":3,\"33\":3,\"34\":1,\"35\":2,\"36\":4,\"38\":2,\"39\":1,\"40\":4,\"41\":1,\"43\":1,\"44\":2,\"46\":1,\"47\":1,\"48\":1,\"50\":1,\"51\":1,\"52\":2,\"55\":1,\"57\":1,\"58\":1,\"64\":1,\"65\":3,\"66\":4,\"70\":1,\"71\":3,\"72\":1,\"73\":3,\"74\":1,\"75\":5,\"78\":1,\"79\":1,\"83\":1,\"84\":1,\"89\":2,\"91\":2,\"92\":3}}],[\"think\",{\"1\":{\"92\":1}}],[\"things\",{\"1\":{\"34\":1,\"40\":1,\"46\":1,\"80\":1}}],[\"thing\",{\"1\":{\"6\":1,\"41\":1}}],[\"this\",{\"1\":{\"3\":1,\"4\":2,\"7\":1,\"8\":1,\"9\":2,\"10\":4,\"11\":4,\"17\":2,\"18\":1,\"19\":1,\"20\":2,\"21\":2,\"23\":2,\"24\":3,\"27\":1,\"29\":2,\"30\":2,\"32\":1,\"33\":9,\"35\":1,\"36\":10,\"37\":1,\"38\":8,\"39\":3,\"40\":5,\"41\":4,\"44\":1,\"45\":1,\"47\":3,\"48\":2,\"50\":2,\"51\":1,\"52\":3,\"54\":1,\"55\":2,\"56\":1,\"57\":2,\"58\":5,\"59\":3,\"61\":3,\"62\":5,\"65\":4,\"66\":3,\"67\":1,\"68\":1,\"71\":3,\"72\":1,\"73\":1,\"74\":4,\"75\":3,\"77\":4,\"78\":1,\"79\":4,\"80\":7,\"81\":1,\"82\":3,\"83\":2,\"86\":1,\"87\":1,\"89\":1,\"90\":1,\"91\":1,\"92\":5}}],[\"therefore\",{\"1\":{\"79\":1}}],[\"there\",{\"1\":{\"40\":1}}],[\"their\",{\"1\":{\"40\":1,\"62\":1}}],[\"then\",{\"1\":{\"39\":1,\"74\":1}}],[\"they\",{\"1\":{\"18\":1,\"35\":1,\"51\":1,\"74\":2,\"81\":1}}],[\"theme\",{\"1\":{\"45\":2}}],[\"them\",{\"1\":{\"12\":1,\"27\":1,\"29\":2,\"37\":1,\"48\":1,\"62\":3,\"71\":1,\"72\":2,\"87\":1}}],[\"these\",{\"1\":{\"11\":1,\"12\":2,\"22\":1,\"25\":1,\"29\":1,\"35\":1,\"40\":1,\"73\":1,\"75\":2,\"77\":1}}],[\"the\",{\"1\":{\"1\":1,\"3\":2,\"4\":2,\"6\":1,\"7\":1,\"9\":2,\"10\":4,\"12\":1,\"17\":3,\"21\":1,\"24\":9,\"25\":1,\"27\":7,\"28\":2,\"29\":6,\"30\":6,\"31\":2,\"32\":2,\"33\":3,\"35\":3,\"36\":15,\"37\":4,\"38\":10,\"39\":3,\"40\":6,\"43\":4,\"44\":1,\"45\":4,\"46\":10,\"47\":3,\"49\":1,\"50\":5,\"51\":14,\"52\":6,\"54\":1,\"55\":1,\"56\":5,\"57\":5,\"58\":1,\"59\":3,\"61\":2,\"62\":23,\"64\":4,\"65\":22,\"66\":25,\"67\":2,\"68\":2,\"69\":8,\"70\":5,\"71\":8,\"72\":4,\"73\":4,\"74\":8,\"75\":13,\"77\":9,\"78\":2,\"79\":9,\"80\":14,\"81\":4,\"82\":3,\"83\":1,\"86\":2,\"89\":1,\"90\":6,\"92\":4}}],[\"top\",{\"1\":{\"44\":1}}],[\"took\",{\"1\":{\"65\":2,\"66\":4}}],[\"too\",{\"1\":{\"40\":1,\"81\":1}}],[\"tool\",{\"1\":{\"30\":1}}],[\"token\",{\"1\":{\"36\":1}}],[\"token=\",{\"1\":{\"36\":1}}],[\"total\",{\"1\":{\"10\":1,\"71\":1}}],[\"tox\",{\"1\":{\"6\":4}}],[\"together\",{\"1\":{\"3\":1,\"72\":1}}],[\"to\",{\"1\":{\"1\":1,\"3\":2,\"4\":2,\"5\":1,\"6\":5,\"9\":1,\"10\":2,\"11\":4,\"16\":1,\"17\":5,\"18\":2,\"19\":1,\"22\":1,\"23\":3,\"24\":8,\"25\":1,\"27\":6,\"28\":1,\"30\":7,\"31\":4,\"32\":7,\"33\":17,\"34\":4,\"35\":5,\"36\":13,\"37\":5,\"38\":6,\"39\":5,\"40\":9,\"41\":2,\"43\":7,\"44\":1,\"45\":2,\"46\":3,\"47\":5,\"48\":3,\"49\":1,\"50\":11,\"51\":3,\"52\":5,\"53\":2,\"54\":3,\"55\":1,\"57\":4,\"58\":5,\"59\":8,\"60\":4,\"61\":3,\"62\":14,\"64\":1,\"65\":11,\"66\":11,\"67\":4,\"68\":1,\"69\":6,\"70\":6,\"71\":9,\"72\":8,\"73\":4,\"74\":2,\"75\":14,\"77\":4,\"78\":2,\"79\":1,\"80\":5,\"82\":3,\"83\":6,\"84\":1,\"86\":4,\"87\":3,\"89\":3,\"90\":3,\"91\":2,\"92\":8}}],[\"t\",{\"1\":{\"1\":2,\"20\":2,\"24\":1,\"28\":1,\"29\":1,\"38\":1,\"39\":1,\"41\":1,\"43\":1,\"44\":1,\"47\":1,\"49\":1,\"51\":1,\"57\":1,\"58\":1,\"59\":1,\"62\":2,\"65\":2,\"66\":1,\"68\":1,\"71\":1,\"75\":1,\"78\":1,\"79\":2,\"80\":2,\"81\":1,\"83\":1,\"89\":1,\"90\":1,\"92\":1}}],[\"cwd\",{\"1\":{\"92\":2}}],[\"cbor\",{\"1\":{\"69\":1}}],[\"cborserializer\",{\"1\":{\"69\":1}}],[\"cmd\",{\"1\":{\"30\":2}}],[\"child\",{\"1\":{\"59\":1}}],[\"changing\",{\"1\":{\"51\":1}}],[\"changed\",{\"1\":{\"68\":1}}],[\"change\",{\"1\":{\"47\":2,\"50\":1,\"66\":1}}],[\"channel\",{\"1\":{\"28\":1,\"46\":1}}],[\"chat\",{\"1\":{\"36\":3}}],[\"check\",{\"1\":{\"32\":2,\"36\":1,\"65\":1,\"71\":1,\"73\":1,\"74\":1}}],[\"choose\",{\"1\":{\"10\":1}}],[\"creation\",{\"1\":{\"62\":2}}],[\"creating\",{\"1\":{\"39\":1,\"43\":1,\"68\":1}}],[\"creates\",{\"1\":{\"39\":1,\"46\":1}}],[\"createdschedule\",{\"1\":{\"75\":1}}],[\"created\",{\"1\":{\"30\":1,\"37\":2,\"38\":1,\"40\":1,\"44\":1,\"62\":2}}],[\"create\",{\"1\":{\"3\":2,\"11\":1,\"32\":1,\"33\":1,\"36\":1,\"37\":1,\"39\":1,\"62\":6,\"65\":1,\"79\":1,\"84\":1}}],[\"critical\",{\"1\":{\"32\":1,\"46\":1}}],[\"cron=\",{\"1\":{\"33\":1}}],[\"crontab\",{\"1\":{\"24\":1}}],[\"cron\",{\"1\":{\"24\":7,\"62\":1,\"71\":1,\"73\":3,\"75\":3}}],[\"custom\",{\"0\":{\"12\":1},\"1\":{\"39\":1,\"41\":2,\"44\":1,\"48\":1,\"59\":2,\"61\":1,\"72\":1,\"92\":2}}],[\"currently\",{\"1\":{\"22\":1,\"72\":1,\"75\":1,\"89\":1}}],[\"current\",{\"1\":{\"9\":1,\"22\":1,\"31\":1,\"32\":1,\"36\":1,\"37\":1,\"38\":3,\"39\":1,\"50\":1,\"52\":1,\"55\":2,\"59\":1,\"61\":1,\"62\":3,\"79\":1}}],[\"came\",{\"1\":{\"92\":1}}],[\"cached\",{\"1\":{\"80\":2}}],[\"cache\",{\"1\":{\"80\":1}}],[\"cache=false\",{\"1\":{\"80\":1}}],[\"case\",{\"1\":{\"74\":1,\"75\":1,\"83\":1}}],[\"cases\",{\"1\":{\"20\":1,\"43\":1,\"51\":1}}],[\"cast\",{\"1\":{\"57\":2}}],[\"casts\",{\"0\":{\"57\":1},\"1\":{\"57\":1}}],[\"caught\",{\"1\":{\"51\":1}}],[\"calculate\",{\"1\":{\"43\":1}}],[\"calling\",{\"1\":{\"52\":1,\"65\":1,\"67\":1,\"75\":1,\"92\":1}}],[\"called\",{\"1\":{\"40\":1,\"53\":1,\"73\":1,\"77\":2,\"86\":1,\"92\":2}}],[\"calls\",{\"1\":{\"36\":2}}],[\"call\",{\"1\":{\"27\":1,\"31\":1,\"36\":2,\"38\":1,\"39\":1,\"40\":2,\"46\":1,\"47\":1,\"57\":1,\"65\":5,\"66\":1,\"71\":1,\"75\":1,\"77\":1,\"91\":2}}],[\"capable\",{\"1\":{\"23\":1}}],[\"careful\",{\"1\":{\"10\":1,\"20\":1,\"71\":2}}],[\"cancelled\",{\"1\":{\"62\":2}}],[\"cancellederror\",{\"1\":{\"62\":3}}],[\"cancel\",{\"1\":{\"62\":3}}],[\"cancels\",{\"1\":{\"33\":1}}],[\"cancelation\",{\"1\":{\"33\":1}}],[\"cannot\",{\"1\":{\"11\":1,\"20\":1,\"40\":1,\"45\":1,\"49\":1,\"59\":1,\"65\":1,\"79\":2,\"80\":1}}],[\"can\",{\"1\":{\"2\":1,\"4\":1,\"5\":1,\"6\":3,\"7\":1,\"9\":1,\"10\":1,\"11\":1,\"12\":2,\"17\":1,\"18\":3,\"21\":2,\"24\":4,\"25\":2,\"27\":3,\"28\":2,\"30\":4,\"31\":2,\"32\":1,\"33\":1,\"35\":4,\"36\":4,\"37\":1,\"38\":5,\"40\":2,\"43\":3,\"44\":1,\"47\":1,\"48\":3,\"49\":1,\"50\":4,\"51\":6,\"52\":2,\"53\":1,\"55\":1,\"56\":1,\"62\":4,\"64\":2,\"65\":4,\"66\":5,\"67\":1,\"68\":2,\"69\":1,\"70\":3,\"71\":3,\"72\":3,\"73\":2,\"74\":1,\"75\":6,\"77\":6,\"78\":2,\"79\":4,\"80\":2,\"81\":5,\"82\":1,\"83\":2,\"84\":1,\"86\":2,\"89\":3,\"90\":1,\"91\":1,\"92\":4}}],[\"clear\",{\"1\":{\"92\":1}}],[\"close\",{\"1\":{\"39\":1}}],[\"closure\",{\"1\":{\"28\":1}}],[\"closing\",{\"1\":{\"27\":1}}],[\"cloned\",{\"1\":{\"4\":1}}],[\"class\",{\"0\":{\"81\":1},\"1\":{\"27\":4,\"30\":5,\"31\":1,\"32\":2,\"33\":2,\"46\":2,\"47\":1,\"51\":1,\"52\":1,\"59\":1,\"68\":2,\"69\":1,\"70\":1,\"73\":1,\"75\":1,\"81\":1,\"84\":2}}],[\"classes\",{\"1\":{\"25\":3,\"40\":1,\"78\":1,\"81\":3}}],[\"clien\",{\"1\":{\"36\":1}}],[\"client\",{\"1\":{\"10\":1,\"18\":1,\"39\":9,\"45\":1,\"51\":1,\"77\":3}}],[\"click\",{\"1\":{\"30\":1}}],[\"cli\",{\"0\":{\"30\":1,\"53\":1},\"1\":{\"24\":1,\"26\":1,\"30\":2,\"43\":1,\"50\":2,\"53\":1,\"58\":1,\"65\":1,\"66\":3}}],[\"covered\",{\"1\":{\"73\":1}}],[\"coroutine\",{\"1\":{\"62\":1}}],[\"correct\",{\"1\":{\"38\":1,\"49\":1,\"66\":2,\"70\":1,\"87\":1,\"89\":1}}],[\"correctly\",{\"1\":{\"24\":1,\"48\":1}}],[\"core\",{\"1\":{\"12\":1,\"21\":1,\"25\":1,\"43\":1,\"53\":1,\"64\":1}}],[\"cool\",{\"1\":{\"24\":1,\"27\":1,\"32\":1,\"40\":2,\"45\":1,\"50\":1,\"64\":1,\"65\":1,\"67\":1,\"71\":1,\"75\":1,\"77\":1}}],[\"couldn\",{\"1\":{\"44\":1}}],[\"course\",{\"1\":{\"18\":1,\"71\":1,\"79\":1}}],[\"count=3\",{\"1\":{\"17\":1}}],[\"code\",{\"1\":{\"16\":1,\"31\":1,\"62\":1,\"65\":2,\"66\":2,\"77\":2,\"78\":1,\"79\":1,\"80\":1,\"92\":1}}],[\"component\",{\"1\":{\"45\":1}}],[\"components\",{\"0\":{\"7\":1}}],[\"comparison\",{\"1\":{\"44\":1}}],[\"compatible\",{\"1\":{\"27\":1}}],[\"completion\",{\"1\":{\"78\":1,\"79\":3}}],[\"completed\",{\"1\":{\"36\":1,\"82\":1,\"83\":1}}],[\"complete\",{\"1\":{\"36\":1,\"38\":1,\"51\":1,\"66\":2}}],[\"completely\",{\"1\":{\"33\":1}}],[\"complex\",{\"1\":{\"35\":1,\"62\":1,\"72\":1}}],[\"comes\",{\"1\":{\"25\":1,\"53\":1}}],[\"common\",{\"1\":{\"80\":3}}],[\"communication\",{\"1\":{\"35\":1,\"43\":1}}],[\"communicate\",{\"1\":{\"10\":1,\"35\":1}}],[\"commit\",{\"1\":{\"5\":3,\"83\":1}}],[\"commands\",{\"1\":{\"53\":2}}],[\"command\",{\"1\":{\"4\":2,\"5\":1,\"6\":2,\"30\":1,\"36\":3,\"46\":1,\"50\":1,\"62\":2,\"66\":2,\"71\":2,\"74\":1,\"83\":1}}],[\"convert\",{\"1\":{\"82\":1}}],[\"conventions\",{\"0\":{\"29\":1},\"1\":{\"29\":1}}],[\"convinient\",{\"1\":{\"73\":1,\"74\":1}}],[\"conftest\",{\"1\":{\"90\":1}}],[\"conflicts\",{\"1\":{\"72\":1}}],[\"configuration\",{\"1\":{\"59\":1}}],[\"configures\",{\"1\":{\"61\":1}}],[\"configure\",{\"1\":{\"59\":1,\"61\":1}}],[\"configured\",{\"1\":{\"5\":1,\"18\":1,\"56\":1}}],[\"constructor\",{\"1\":{\"81\":1}}],[\"constraint\",{\"1\":{\"67\":1}}],[\"consumers\",{\"1\":{\"35\":1}}],[\"considers\",{\"1\":{\"24\":1}}],[\"consider\",{\"1\":{\"1\":1,\"44\":1}}],[\"connectionpool\",{\"1\":{\"79\":1}}],[\"connections\",{\"1\":{\"27\":1}}],[\"connection\",{\"1\":{\"27\":1,\"40\":1,\"77\":1,\"79\":2,\"90\":1}}],[\"continue\",{\"1\":{\"66\":1}}],[\"control\",{\"1\":{\"52\":1,\"80\":1}}],[\"contributors\",{\"1\":{\"3\":2}}],[\"contributions\",{\"1\":{\"3\":1}}],[\"contribution\",{\"0\":{\"3\":1}}],[\"contexts\",{\"1\":{\"52\":1}}],[\"context\",{\"0\":{\"52\":1},\"1\":{\"37\":1,\"39\":6,\"41\":4,\"52\":4,\"77\":1,\"78\":1,\"79\":2,\"85\":3,\"86\":1,\"92\":5}}],[\"contents\",{\"0\":{\"26\":1}}],[\"ci\",{\"1\":{\"3\":2}}],[\"celery\",{\"1\":{\"1\":1,\"35\":1,\"44\":1,\"70\":1}}],[\"avoid\",{\"1\":{\"74\":1}}],[\"available\",{\"0\":{\"7\":1,\"8\":1,\"16\":1,\"19\":1,\"22\":1},\"1\":{\"7\":4,\"18\":1,\"32\":1,\"37\":1,\"65\":1,\"71\":2,\"75\":2,\"86\":1}}],[\"ago\",{\"1\":{\"74\":1}}],[\"again\",{\"1\":{\"66\":1}}],[\"against\",{\"1\":{\"4\":1,\"6\":1}}],[\"amqp\",{\"1\":{\"66\":4,\"71\":2}}],[\"amount\",{\"1\":{\"59\":2,\"67\":1,\"79\":1}}],[\"api\",{\"1\":{\"62\":2}}],[\"app=app\",{\"1\":{\"39\":1}}],[\"append\",{\"1\":{\"37\":1}}],[\"application\",{\"1\":{\"37\":2,\"38\":8,\"39\":4,\"40\":2,\"41\":2,\"61\":1,\"62\":1,\"86\":1}}],[\"applications\",{\"1\":{\"37\":1}}],[\"app\",{\"1\":{\"35\":1,\"37\":4,\"38\":1,\"39\":3,\"40\":7,\"41\":4,\"92\":1}}],[\"approved\",{\"1\":{\"3\":1}}],[\"autocompleted\",{\"1\":{\"79\":2}}],[\"autocompletion\",{\"1\":{\"79\":1}}],[\"autocompetion\",{\"1\":{\"78\":1}}],[\"automatic\",{\"1\":{\"57\":1}}],[\"automatically\",{\"1\":{\"41\":1,\"50\":2,\"92\":1}}],[\"auto\",{\"0\":{\"55\":1},\"1\":{\"55\":1,\"79\":3}}],[\"autouse\",{\"1\":{\"41\":1,\"92\":1}}],[\"autouse=true\",{\"1\":{\"41\":1,\"92\":1}}],[\"adopt\",{\"1\":{\"43\":1}}],[\"advice\",{\"1\":{\"41\":1}}],[\"adaptive\",{\"1\":{\"34\":1}}],[\"adds\",{\"1\":{\"36\":1,\"38\":1,\"72\":2}}],[\"added\",{\"1\":{\"33\":1,\"72\":1,\"90\":1,\"92\":1}}],[\"addition\",{\"1\":{\"75\":1}}],[\"additional\",{\"1\":{\"24\":1,\"47\":1,\"52\":1,\"73\":1,\"75\":1}}],[\"adding\",{\"0\":{\"38\":1,\"86\":1},\"1\":{\"18\":1,\"23\":1,\"51\":1,\"77\":1}}],[\"addr=\",{\"1\":{\"18\":1}}],[\"add\",{\"1\":{\"3\":1,\"11\":1,\"17\":2,\"24\":1,\"27\":1,\"30\":4,\"33\":1,\"34\":2,\"36\":1,\"37\":2,\"38\":1,\"39\":1,\"40\":1,\"41\":1,\"47\":1,\"48\":2,\"50\":1,\"53\":1,\"62\":1,\"65\":4,\"66\":6,\"67\":1,\"71\":1,\"75\":3,\"77\":2,\"79\":1,\"83\":1,\"86\":4,\"91\":3,\"92\":3}}],[\"aaa\",{\"1\":{\"30\":2}}],[\"aaaaa\",{\"1\":{\"17\":1}}],[\"await\",{\"1\":{\"27\":2,\"36\":6,\"39\":2,\"40\":2,\"47\":3,\"48\":5,\"51\":1,\"62\":14,\"65\":4,\"66\":9,\"71\":2,\"75\":7,\"91\":4,\"92\":3}}],[\"achieve\",{\"1\":{\"87\":1}}],[\"achieved\",{\"1\":{\"77\":1}}],[\"according\",{\"1\":{\"71\":1}}],[\"access\",{\"1\":{\"36\":1,\"77\":1,\"79\":1}}],[\"actively\",{\"1\":{\"44\":1}}],[\"actions\",{\"1\":{\"33\":2,\"36\":1,\"51\":1}}],[\"actually\",{\"1\":{\"90\":1}}],[\"actual\",{\"1\":{\"20\":1,\"89\":1,\"90\":1}}],[\"acknowledge\",{\"1\":{\"59\":1}}],[\"acknowledged\",{\"1\":{\"56\":3}}],[\"acknowledgements\",{\"0\":{\"56\":1},\"1\":{\"56\":1,\"59\":1}}],[\"acknowledgement\",{\"0\":{\"28\":1},\"1\":{\"59\":1}}],[\"ack=message\",{\"1\":{\"28\":1}}],[\"ack\",{\"1\":{\"28\":2,\"56\":2,\"59\":1}}],[\"acking\",{\"1\":{\"28\":1}}],[\"ackablemessage\",{\"1\":{\"27\":2,\"28\":3}}],[\"atomic\",{\"1\":{\"83\":1}}],[\"attempts\",{\"1\":{\"51\":1}}],[\"at\",{\"1\":{\"18\":1,\"30\":1,\"38\":1,\"50\":1,\"65\":1,\"66\":2,\"69\":1,\"70\":1,\"71\":2,\"77\":2,\"82\":2}}],[\"aiopika\",{\"1\":{\"66\":1}}],[\"aiopikabroker\",{\"0\":{\"13\":1},\"1\":{\"66\":7,\"71\":4}}],[\"aiotasks\",{\"1\":{\"44\":1}}],[\"aiohttp\",{\"0\":{\"37\":1},\"1\":{\"37\":8,\"38\":8,\"39\":4}}],[\"aiogram\",{\"0\":{\"36\":1},\"1\":{\"36\":14}}],[\"aio\",{\"1\":{\"13\":2,\"64\":1,\"66\":6,\"71\":2}}],[\"article\",{\"1\":{\"62\":1}}],[\"articles\",{\"1\":{\"41\":1}}],[\"arq\",{\"1\":{\"44\":1}}],[\"arg2=\",{\"1\":{\"75\":4}}],[\"arg2\",{\"1\":{\"75\":6}}],[\"arg1\",{\"1\":{\"75\":2}}],[\"arg\",{\"1\":{\"59\":1}}],[\"argument\",{\"1\":{\"30\":1,\"38\":1,\"61\":1}}],[\"argumentparser\",{\"1\":{\"30\":2}}],[\"arguments\",{\"1\":{\"24\":1,\"30\":3,\"38\":1,\"47\":1,\"92\":2}}],[\"argparse\",{\"1\":{\"30\":1}}],[\"args=\",{\"1\":{\"33\":1}}],[\"args\",{\"1\":{\"24\":3,\"30\":4,\"36\":2,\"59\":1,\"62\":1,\"71\":1,\"75\":1}}],[\"architecture\",{\"0\":{\"45\":1},\"1\":{\"10\":1,\"65\":1}}],[\"are\",{\"0\":{\"79\":1},\"1\":{\"9\":1,\"10\":1,\"12\":1,\"19\":1,\"22\":1,\"27\":1,\"29\":2,\"30\":1,\"31\":1,\"32\":1,\"33\":1,\"40\":1,\"45\":2,\"46\":1,\"48\":1,\"51\":3,\"59\":1,\"66\":1,\"77\":2,\"80\":2,\"82\":1,\"90\":1}}],[\"ability\",{\"1\":{\"44\":1,\"52\":1,\"86\":1}}],[\"abilities\",{\"1\":{\"12\":1,\"21\":1}}],[\"abc\",{\"1\":{\"25\":1,\"27\":1,\"30\":2,\"31\":1,\"32\":2,\"33\":1,\"46\":1,\"49\":1,\"51\":2}}],[\"abstractions\",{\"1\":{\"43\":1}}],[\"abstract\",{\"1\":{\"25\":3,\"27\":1,\"30\":1,\"31\":1,\"33\":1,\"46\":1}}],[\"abort\",{\"1\":{\"44\":1}}],[\"about\",{\"1\":{\"12\":1,\"21\":1,\"30\":1,\"32\":1,\"35\":1,\"37\":1,\"41\":1,\"50\":1,\"62\":1,\"65\":2,\"66\":2}}],[\"above\",{\"1\":{\"6\":1,\"79\":1}}],[\"able\",{\"1\":{\"1\":1,\"33\":3,\"38\":2,\"52\":1,\"62\":1,\"84\":1}}],[\"after\",{\"1\":{\"4\":2,\"17\":1,\"18\":1,\"30\":1,\"31\":1,\"33\":1,\"36\":1,\"37\":1,\"38\":1,\"41\":1,\"51\":6,\"56\":1,\"61\":1,\"62\":2,\"64\":1,\"66\":3,\"79\":1,\"82\":2,\"90\":1,\"92\":1}}],[\"alert\",{\"1\":{\"67\":1}}],[\"although\",{\"1\":{\"35\":1}}],[\"alter\",{\"1\":{\"27\":1}}],[\"always\",{\"1\":{\"20\":1,\"31\":1,\"71\":1}}],[\"along\",{\"1\":{\"11\":1,\"27\":1,\"35\":1}}],[\"allows\",{\"1\":{\"17\":1,\"35\":2,\"36\":1,\"38\":1,\"57\":1,\"62\":1,\"87\":1}}],[\"allow\",{\"1\":{\"16\":1}}],[\"all\",{\"1\":{\"3\":1,\"4\":2,\"5\":2,\"9\":1,\"10\":2,\"11\":1,\"24\":2,\"25\":1,\"30\":2,\"36\":1,\"37\":1,\"38\":2,\"45\":2,\"50\":2,\"51\":1,\"55\":2,\"59\":1,\"61\":1,\"62\":1,\"66\":2,\"72\":2,\"74\":1,\"80\":1,\"92\":3}}],[\"also\",{\"1\":{\"1\":1,\"6\":1,\"11\":1,\"30\":2,\"31\":1,\"38\":1,\"39\":1,\"40\":1,\"48\":2,\"52\":2,\"58\":1,\"62\":2,\"65\":2,\"66\":1,\"69\":3,\"80\":2,\"81\":1}}],[\"almost\",{\"1\":{\"1\":1,\"35\":1}}],[\"annotations\",{\"1\":{\"84\":1}}],[\"annotate\",{\"1\":{\"40\":1}}],[\"annotated\",{\"1\":{\"40\":1,\"79\":1}}],[\"annoying\",{\"1\":{\"58\":1}}],[\"another\",{\"1\":{\"41\":1,\"43\":1,\"84\":1,\"89\":1}}],[\"anywhere\",{\"1\":{\"91\":1}}],[\"anyio\",{\"1\":{\"90\":2,\"91\":2,\"92\":2}}],[\"anything\",{\"1\":{\"20\":1,\"49\":1,\"51\":1,\"75\":1}}],[\"any\",{\"1\":{\"1\":1,\"6\":1,\"20\":1,\"24\":3,\"38\":2,\"40\":2,\"44\":1,\"57\":1,\"65\":1,\"66\":1,\"68\":2,\"70\":1,\"79\":2,\"83\":1}}],[\"and\",{\"0\":{\"11\":1,\"76\":1},\"1\":{\"1\":2,\"3\":1,\"6\":1,\"10\":1,\"12\":1,\"20\":1,\"21\":1,\"24\":1,\"27\":2,\"29\":1,\"30\":1,\"32\":1,\"33\":1,\"34\":4,\"35\":4,\"36\":1,\"37\":2,\"38\":3,\"39\":1,\"40\":6,\"43\":3,\"44\":2,\"45\":3,\"46\":2,\"47\":2,\"48\":1,\"49\":3,\"51\":1,\"52\":1,\"53\":1,\"54\":1,\"57\":1,\"62\":5,\"64\":1,\"65\":4,\"66\":2,\"69\":3,\"70\":3,\"71\":2,\"72\":1,\"74\":2,\"75\":3,\"78\":1,\"79\":2,\"80\":2,\"81\":1,\"82\":2,\"83\":1,\"84\":1,\"86\":1,\"90\":2,\"91\":6,\"92\":1}}],[\"an\",{\"1\":{\"1\":1,\"3\":1,\"36\":1,\"38\":2,\"40\":1,\"46\":1,\"47\":1,\"50\":1,\"55\":1,\"62\":1,\"65\":2,\"66\":1,\"70\":1,\"73\":4,\"75\":3,\"77\":1,\"81\":1,\"82\":1,\"86\":1,\"89\":2,\"90\":3}}],[\"aside\",{\"1\":{\"72\":1}}],[\"assert\",{\"1\":{\"91\":2,\"92\":2}}],[\"assemble\",{\"1\":{\"72\":1}}],[\"assume\",{\"1\":{\"50\":1,\"79\":1}}],[\"assumes\",{\"1\":{\"6\":1,\"73\":1}}],[\"assign\",{\"1\":{\"48\":1,\"62\":1}}],[\"assigned\",{\"1\":{\"47\":1,\"75\":1}}],[\"asynchronous\",{\"1\":{\"82\":1}}],[\"asynchronously\",{\"1\":{\"82\":1}}],[\"asyncresultbackend\",{\"1\":{\"32\":3,\"49\":1}}],[\"asyncgenerator\",{\"1\":{\"27\":2,\"28\":1,\"39\":1}}],[\"asyncbroker\",{\"1\":{\"27\":3,\"46\":2,\"86\":1,\"90\":2}}],[\"async\",{\"0\":{\"11\":1,\"90\":1},\"1\":{\"11\":2,\"17\":1,\"24\":1,\"27\":4,\"28\":1,\"31\":1,\"32\":5,\"33\":7,\"35\":1,\"36\":5,\"38\":1,\"39\":1,\"40\":3,\"44\":1,\"47\":4,\"48\":10,\"51\":4,\"57\":1,\"59\":2,\"62\":3,\"65\":2,\"66\":4,\"71\":2,\"75\":1,\"79\":1,\"90\":2,\"91\":5,\"92\":3}}],[\"asyncio\",{\"0\":{\"0\":1},\"1\":{\"1\":1,\"36\":4,\"39\":1,\"44\":1,\"47\":3,\"48\":3,\"51\":2,\"62\":14,\"65\":2,\"66\":4,\"71\":1,\"90\":1}}],[\"ask\",{\"1\":{\"3\":1}}],[\"as\",{\"0\":{\"81\":1},\"1\":{\"1\":1,\"5\":1,\"12\":1,\"18\":1,\"21\":1,\"23\":1,\"24\":1,\"27\":3,\"29\":1,\"30\":1,\"31\":1,\"35\":2,\"38\":2,\"39\":3,\"40\":7,\"41\":1,\"50\":1,\"52\":1,\"57\":3,\"60\":1,\"62\":5,\"64\":2,\"66\":1,\"70\":2,\"71\":1,\"75\":1,\"77\":1,\"78\":1,\"79\":1,\"80\":1,\"81\":2,\"87\":1,\"90\":2,\"91\":2,\"92\":1}}],[\"a\",{\"0\":{\"1\":1,\"81\":1},\"1\":{\"1\":3,\"3\":2,\"5\":2,\"6\":1,\"7\":1,\"9\":1,\"11\":2,\"12\":1,\"17\":3,\"21\":1,\"23\":1,\"24\":1,\"27\":10,\"28\":4,\"30\":1,\"31\":2,\"32\":9,\"33\":6,\"35\":5,\"36\":3,\"37\":2,\"38\":5,\"39\":5,\"40\":7,\"41\":4,\"43\":2,\"44\":4,\"46\":2,\"47\":5,\"50\":5,\"51\":2,\"52\":4,\"55\":1,\"57\":1,\"59\":2,\"61\":2,\"62\":20,\"65\":6,\"66\":2,\"67\":2,\"69\":2,\"70\":7,\"71\":5,\"72\":2,\"73\":2,\"74\":2,\"75\":2,\"77\":3,\"79\":2,\"80\":2,\"83\":1,\"84\":1,\"86\":1,\"90\":1,\"91\":3,\"92\":4}}],[\"illustration\",{\"1\":{\"62\":1,\"92\":1}}],[\"imemory\",{\"1\":{\"90\":1}}],[\"immediately\",{\"1\":{\"61\":1}}],[\"imagine\",{\"1\":{\"41\":1,\"71\":1}}],[\"implements\",{\"1\":{\"29\":1,\"30\":1}}],[\"implement\",{\"1\":{\"25\":1,\"27\":1,\"29\":1,\"31\":1,\"32\":1,\"33\":6,\"43\":1,\"46\":2,\"49\":1,\"51\":1,\"62\":2,\"69\":1,\"70\":1,\"71\":2}}],[\"implementations\",{\"1\":{\"69\":2}}],[\"implementation\",{\"1\":{\"1\":1,\"68\":1,\"69\":1,\"70\":1,\"78\":1}}],[\"importing\",{\"0\":{\"55\":1}}],[\"important\",{\"1\":{\"32\":1,\"39\":1,\"40\":1,\"41\":1,\"51\":1,\"65\":1}}],[\"import\",{\"1\":{\"11\":1,\"17\":1,\"18\":1,\"23\":2,\"24\":3,\"27\":2,\"30\":3,\"32\":3,\"33\":2,\"35\":3,\"36\":11,\"37\":2,\"38\":1,\"39\":1,\"40\":6,\"41\":1,\"47\":2,\"50\":2,\"51\":3,\"55\":1,\"60\":1,\"61\":1,\"62\":11,\"65\":3,\"66\":7,\"71\":5,\"75\":2,\"90\":2,\"91\":5,\"92\":6}}],[\"imported\",{\"1\":{\"11\":1}}],[\"i\",{\"1\":{\"36\":1,\"65\":1,\"66\":1,\"92\":1}}],[\"ide\",{\"1\":{\"79\":1}}],[\"idea\",{\"1\":{\"43\":1}}],[\"id\",{\"1\":{\"32\":10,\"33\":2,\"36\":3,\"47\":1,\"75\":3}}],[\"ignored\",{\"1\":{\"58\":1}}],[\"ignore\",{\"1\":{\"27\":1,\"30\":1,\"32\":2}}],[\"if\",{\"1\":{\"3\":1,\"4\":1,\"6\":2,\"10\":2,\"17\":1,\"18\":1,\"24\":1,\"27\":2,\"28\":2,\"29\":4,\"31\":1,\"32\":2,\"33\":1,\"35\":1,\"36\":5,\"39\":1,\"40\":4,\"41\":1,\"43\":1,\"44\":1,\"45\":1,\"50\":4,\"51\":2,\"57\":2,\"58\":1,\"59\":2,\"61\":1,\"62\":3,\"65\":5,\"66\":5,\"67\":1,\"69\":1,\"70\":1,\"71\":3,\"72\":2,\"73\":2,\"74\":3,\"75\":2,\"77\":1,\"79\":1,\"80\":1,\"81\":1,\"82\":1,\"83\":4,\"86\":1,\"87\":1,\"89\":1,\"90\":3,\"91\":2,\"92\":2}}],[\"itself\",{\"1\":{\"92\":1}}],[\"its\",{\"1\":{\"4\":1,\"35\":1,\"38\":1,\"40\":1,\"51\":1}}],[\"it\",{\"1\":{\"1\":5,\"3\":1,\"4\":2,\"5\":1,\"6\":3,\"9\":2,\"10\":2,\"11\":2,\"17\":1,\"20\":1,\"21\":1,\"23\":1,\"24\":3,\"27\":2,\"28\":1,\"29\":2,\"30\":1,\"31\":1,\"32\":3,\"33\":4,\"35\":3,\"36\":3,\"37\":2,\"38\":4,\"39\":1,\"40\":5,\"41\":4,\"43\":2,\"45\":1,\"46\":2,\"47\":2,\"48\":2,\"49\":2,\"50\":2,\"51\":2,\"52\":3,\"55\":2,\"56\":2,\"57\":1,\"58\":1,\"60\":1,\"61\":2,\"62\":7,\"64\":1,\"65\":7,\"66\":1,\"67\":1,\"69\":3,\"70\":3,\"71\":4,\"72\":3,\"73\":2,\"74\":3,\"75\":4,\"78\":1,\"80\":1,\"81\":3,\"83\":1,\"90\":2,\"91\":5,\"92\":8}}],[\"indicates\",{\"1\":{\"89\":1}}],[\"input\",{\"1\":{\"57\":1}}],[\"inside\",{\"1\":{\"52\":1,\"62\":1}}],[\"instead\",{\"1\":{\"44\":1,\"62\":1,\"66\":1,\"75\":1}}],[\"instances\",{\"1\":{\"62\":1,\"71\":1}}],[\"instance\",{\"1\":{\"36\":3,\"47\":1,\"52\":1,\"71\":1,\"73\":1,\"75\":2}}],[\"installed\",{\"1\":{\"6\":1,\"50\":1}}],[\"install\",{\"1\":{\"2\":2,\"4\":7,\"5\":2,\"10\":1,\"12\":1,\"13\":1,\"14\":1,\"15\":1,\"18\":2,\"21\":2,\"23\":1,\"35\":2,\"36\":2,\"37\":2,\"38\":2,\"50\":1,\"58\":1,\"64\":1,\"66\":3,\"69\":2,\"90\":1}}],[\"installation\",{\"0\":{\"2\":1,\"64\":1},\"1\":{\"5\":1,\"36\":1,\"37\":1,\"38\":1,\"64\":1,\"66\":2}}],[\"instructions\",{\"1\":{\"4\":1}}],[\"infinite\",{\"1\":{\"36\":1,\"46\":1}}],[\"info\",{\"1\":{\"32\":1,\"36\":3,\"50\":2,\"59\":1,\"61\":1,\"66\":1}}],[\"information\",{\"1\":{\"23\":1,\"27\":1,\"32\":2,\"51\":1,\"62\":1,\"65\":2,\"66\":1,\"73\":1}}],[\"injected\",{\"1\":{\"40\":2}}],[\"injection\",{\"0\":{\"92\":1},\"1\":{\"37\":2,\"39\":1,\"40\":2,\"44\":1,\"79\":1}}],[\"inject\",{\"1\":{\"31\":1}}],[\"incoming\",{\"1\":{\"30\":1,\"57\":1}}],[\"includes\",{\"1\":{\"19\":1}}],[\"into\",{\"1\":{\"87\":1}}],[\"introduce\",{\"1\":{\"71\":1}}],[\"introduction\",{\"0\":{\"42\":1}}],[\"integrate\",{\"1\":{\"78\":1}}],[\"integration\",{\"0\":{\"38\":1},\"1\":{\"35\":1,\"36\":5,\"38\":1,\"40\":1}}],[\"integrations\",{\"0\":{\"34\":1},\"1\":{\"34\":2}}],[\"intensive\",{\"1\":{\"36\":1}}],[\"interpreted\",{\"1\":{\"89\":1}}],[\"internals\",{\"1\":{\"66\":1}}],[\"internal\",{\"1\":{\"65\":1}}],[\"interservice\",{\"1\":{\"43\":1}}],[\"interact\",{\"1\":{\"33\":3}}],[\"interface\",{\"1\":{\"24\":1,\"50\":1,\"86\":1,\"90\":1}}],[\"int\",{\"1\":{\"29\":1,\"36\":1,\"57\":2,\"65\":2,\"66\":4,\"71\":4,\"75\":1,\"91\":10}}],[\"initially\",{\"1\":{\"47\":1}}],[\"initialize\",{\"1\":{\"36\":1,\"37\":1,\"77\":1}}],[\"initialization\",{\"1\":{\"36\":1,\"38\":1}}],[\"init\",{\"1\":{\"27\":2,\"36\":3,\"37\":1,\"38\":1,\"40\":2,\"41\":1,\"92\":1}}],[\"invoking\",{\"1\":{\"24\":3}}],[\"inmemory\",{\"1\":{\"41\":1,\"47\":1,\"90\":1}}],[\"inmemoryresultbackend\",{\"1\":{\"9\":1,\"49\":1}}],[\"inmemorybroker\",{\"0\":{\"9\":1},\"1\":{\"39\":2,\"41\":1,\"47\":3,\"49\":1,\"65\":6,\"66\":1,\"90\":2,\"91\":1}}],[\"in\",{\"0\":{\"1\":1},\"1\":{\"1\":1,\"3\":2,\"4\":1,\"6\":1,\"7\":1,\"8\":1,\"9\":1,\"12\":1,\"19\":1,\"20\":1,\"21\":1,\"23\":1,\"24\":1,\"25\":1,\"27\":1,\"28\":1,\"29\":1,\"30\":2,\"31\":1,\"32\":3,\"33\":2,\"34\":1,\"35\":1,\"36\":2,\"37\":2,\"38\":3,\"40\":11,\"41\":3,\"43\":2,\"45\":1,\"46\":2,\"48\":1,\"49\":1,\"50\":5,\"51\":4,\"55\":2,\"56\":1,\"58\":1,\"59\":2,\"60\":1,\"61\":1,\"62\":5,\"65\":5,\"66\":2,\"67\":1,\"70\":2,\"71\":1,\"72\":1,\"73\":2,\"74\":2,\"75\":4,\"77\":1,\"78\":1,\"79\":3,\"80\":2,\"81\":2,\"82\":1,\"83\":4,\"89\":1,\"90\":3,\"91\":1,\"92\":3}}],[\"isn\",{\"1\":{\"47\":1}}],[\"issue\",{\"1\":{\"3\":1,\"62\":1}}],[\"is\",{\"0\":{\"1\":1,\"43\":1},\"1\":{\"3\":1,\"4\":1,\"9\":1,\"10\":1,\"11\":1,\"17\":1,\"21\":1,\"23\":1,\"24\":1,\"25\":1,\"27\":2,\"28\":1,\"30\":1,\"32\":6,\"33\":4,\"34\":1,\"35\":4,\"36\":7,\"37\":1,\"38\":4,\"39\":3,\"40\":4,\"41\":2,\"43\":2,\"46\":1,\"47\":3,\"48\":1,\"49\":1,\"50\":1,\"51\":3,\"52\":1,\"53\":2,\"55\":2,\"56\":6,\"57\":2,\"58\":2,\"59\":5,\"60\":1,\"61\":3,\"62\":8,\"65\":4,\"66\":5,\"67\":1,\"68\":1,\"69\":1,\"71\":1,\"75\":3,\"77\":2,\"78\":2,\"79\":1,\"80\":1,\"81\":1,\"82\":1,\"83\":2,\"84\":1,\"89\":2,\"90\":3,\"92\":2}}]],\"serializationVersion\":2}}")).map(([e,t])=>[e,zt(t,{fields:["h","t","c"],storeFields:["h","t","c"]})]));self.onmessage=({data:{type:e="all",query:t,locale:s,options:n,id:o}})=>{const u=bt[s];e==="suggest"?self.postMessage([e,o,tt(t,u,n)]):e==="search"?self.postMessage([e,o,Z(t,u,n)]):self.postMessage({suggestions:[e,o,tt(t,u,n)],results:[e,o,Z(t,u,n)]})}; +const V=Object.entries,et=Object.fromEntries,st="ENTRIES",L="KEYS",T="VALUES",_="";class D{set;_type;_path;constructor(t,s){const n=t._tree,o=Array.from(n.keys());this.set=t,this._type=s,this._path=o.length>0?[{node:n,keys:o}]:[]}next(){const t=this.dive();return this.backtrack(),t}dive(){if(this._path.length===0)return{done:!0,value:void 0};const{node:t,keys:s}=E(this._path);if(E(s)===_)return{done:!1,value:this.result()};const n=t.get(E(s));return this._path.push({node:n,keys:Array.from(n.keys())}),this.dive()}backtrack(){if(this._path.length===0)return;const t=E(this._path).keys;t.pop(),!(t.length>0)&&(this._path.pop(),this.backtrack())}key(){return this.set._prefix+this._path.map(({keys:t})=>E(t)).filter(t=>t!==_).join("")}value(){return E(this._path).node.get(_)}result(){switch(this._type){case T:return this.value();case L:return this.key();default:return[this.key(),this.value()]}}[Symbol.iterator](){return this}}const E=e=>e[e.length-1],nt=(e,t,s)=>{const n=new Map;if(t===void 0)return n;const o=t.length+1,u=o+s,i=new Uint8Array(u*o).fill(s+1);for(let r=0;r{const d=u*i;t:for(const c of e.keys())if(c===_){const a=o[d-1];a<=s&&n.set(r,[e.get(c),a])}else{let a=u;for(let h=0;hs)continue t}R(e.get(c),t,s,n,o,a,i,r+c)}};class C{_tree;_prefix;_size=void 0;constructor(t=new Map,s=""){this._tree=t,this._prefix=s}atPrefix(t){if(!t.startsWith(this._prefix))throw new Error("Mismatched prefix");const[s,n]=x(this._tree,t.slice(this._prefix.length));if(s===void 0){const[o,u]=O(n);for(const i of o.keys())if(i!==_&&i.startsWith(u)){const r=new Map;return r.set(i.slice(u.length),o.get(i)),new C(r,t)}}return new C(s,t)}clear(){this._size=void 0,this._tree.clear()}delete(t){return this._size=void 0,ot(this._tree,t)}entries(){return new D(this,st)}forEach(t){for(const[s,n]of this)t(s,n,this)}fuzzyGet(t,s){return nt(this._tree,t,s)}get(t){const s=k(this._tree,t);return s!==void 0?s.get(_):void 0}has(t){const s=k(this._tree,t);return s!==void 0&&s.has(_)}keys(){return new D(this,L)}set(t,s){if(typeof t!="string")throw new Error("key must be a string");return this._size=void 0,I(this._tree,t).set(_,s),this}get size(){if(this._size)return this._size;this._size=0;const t=this.entries();for(;!t.next().done;)this._size+=1;return this._size}update(t,s){if(typeof t!="string")throw new Error("key must be a string");this._size=void 0;const n=I(this._tree,t);return n.set(_,s(n.get(_))),this}fetch(t,s){if(typeof t!="string")throw new Error("key must be a string");this._size=void 0;const n=I(this._tree,t);let o=n.get(_);return o===void 0&&n.set(_,o=s()),o}values(){return new D(this,T)}[Symbol.iterator](){return this.entries()}static from(t){const s=new C;for(const[n,o]of t)s.set(n,o);return s}static fromObject(t){return C.from(Object.entries(t))}}const x=(e,t,s=[])=>{if(t.length===0||e==null)return[e,s];for(const n of e.keys())if(n!==_&&t.startsWith(n))return s.push([e,n]),x(e.get(n),t.slice(n.length),s);return s.push([e,t]),x(void 0,"",s)},k=(e,t)=>{if(t.length===0||e==null)return e;for(const s of e.keys())if(s!==_&&t.startsWith(s))return k(e.get(s),t.slice(s.length))},I=(e,t)=>{const s=t.length;t:for(let n=0;e&&n{const[s,n]=x(e,t);if(s!==void 0){if(s.delete(_),s.size===0)W(n);else if(s.size===1){const[o,u]=s.entries().next().value;q(n,o,u)}}},W=e=>{if(e.length===0)return;const[t,s]=O(e);if(t.delete(s),t.size===0)W(e.slice(0,-1));else if(t.size===1){const[n,o]=t.entries().next().value;n!==_&&q(e.slice(0,-1),n,o)}},q=(e,t,s)=>{if(e.length===0)return;const[n,o]=O(e);n.set(o+t,s),n.delete(o)},O=e=>e[e.length-1],ut=(e,t)=>{const s=e._idToShortId.get(t);if(s!=null)return e._storedFields.get(s)},it=/[\n\r -#%-*,-/:;?@[-\]_{}\u00A0\u00A1\u00A7\u00AB\u00B6\u00B7\u00BB\u00BF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061E\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u09FD\u0A76\u0AF0\u0C77\u0C84\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166E\u1680\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2000-\u200A\u2010-\u2029\u202F-\u2043\u2045-\u2051\u2053-\u205F\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E4F\u3000-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]+/u,M="or",$="and",rt="and_not",ct=(e,t)=>{e.includes(t)||e.push(t)},N=(e,t)=>{for(const s of t)e.includes(s)||e.push(s)},P=({score:e},{score:t})=>t-e,lt=()=>new Map,b=e=>{const t=new Map;for(const s of Object.keys(e))t.set(parseInt(s,10),e[s]);return t},G=(e,t)=>Object.prototype.hasOwnProperty.call(e,t)?e[t]:void 0,ht={[M]:(e,t)=>{for(const s of t.keys()){const n=e.get(s);if(n==null)e.set(s,t.get(s));else{const{score:o,terms:u,match:i}=t.get(s);n.score=n.score+o,n.match=Object.assign(n.match,i),N(n.terms,u)}}return e},[$]:(e,t)=>{const s=new Map;for(const n of t.keys()){const o=e.get(n);if(o==null)continue;const{score:u,terms:i,match:r}=t.get(n);N(o.terms,i),s.set(n,{score:o.score+u,terms:o.terms,match:Object.assign(o.match,r)})}return s},[rt]:(e,t)=>{for(const s of t.keys())e.delete(s);return e}},dt=(e,t,s,n,o,u)=>{const{k:i,b:r,d}=u;return Math.log(1+(s-t+.5)/(t+.5))*(d+e*(i+1)/(e+i*(1-r+r*n/o)))},at=e=>(t,s,n)=>{const o=typeof e.fuzzy=="function"?e.fuzzy(t,s,n):e.fuzzy||!1,u=typeof e.prefix=="function"?e.prefix(t,s,n):e.prefix===!0;return{term:t,fuzzy:o,prefix:u}},H=(e,t,s,n)=>{for(const o of Object.keys(e._fieldIds))if(e._fieldIds[o]===s){e._options.logger("warn",`SlimSearch: document with ID ${e._documentIds.get(t)} has changed before removal: term "${n}" was not present in field "${o}". Removing a document after it has changed can corrupt the index!`,"version_conflict");return}},ft=(e,t,s,n)=>{if(!e._index.has(n)){H(e,s,t,n);return}const o=e._index.fetch(n,lt),u=o.get(t);u==null||u.get(s)==null?H(e,s,t,n):u.get(s)<=1?u.size<=1?o.delete(t):u.delete(s):u.set(s,u.get(s)-1),e._index.get(n).size===0&&e._index.delete(n)},gt={k:1.2,b:.7,d:.5},mt={idField:"id",extractField:(e,t)=>e[t],tokenize:e=>e.split(it),processTerm:e=>e.toLowerCase(),fields:void 0,searchOptions:void 0,storeFields:[],logger:(e,t)=>{typeof console?.[e]=="function"&&console[e](t)},autoVacuum:!0},J={combineWith:M,prefix:!1,fuzzy:!1,maxFuzzy:6,boost:{},weights:{fuzzy:.45,prefix:.375},bm25:gt},pt={combineWith:$,prefix:(e,t,s)=>t===s.length-1},Ft={batchSize:1e3,batchWait:10},U={minDirtFactor:.1,minDirtCount:20},_t={...Ft,...U},K=Symbol("*"),yt=(e,t)=>{const s=new Map,n={...e._options.searchOptions,...t};for(const[o,u]of e._documentIds){const i=n.boostDocument?n.boostDocument(u,"",e._storedFields.get(o)):1;s.set(o,{score:i,terms:[],match:{}})}return s},X=(e,t=M)=>{if(e.length===0)return new Map;const s=t.toLowerCase(),n=ht[s];if(!n)throw new Error(`Invalid combination operator: ${t}`);return e.reduce(n)||new Map},S=(e,t,s,n,o,u,i,r,d=new Map)=>{if(o==null)return d;for(const c of Object.keys(u)){const a=u[c],h=e._fieldIds[c],g=o.get(h);if(g==null)continue;let m=g.size;const p=e._avgFieldLength[h];for(const l of g.keys()){if(!e._documentIds.has(l)){ft(e,h,l,s),m-=1;continue}const f=i?i(e._documentIds.get(l),s,e._storedFields.get(l)):1;if(!f)continue;const y=g.get(l),F=e._fieldLength.get(l)[h],v=dt(y,m,e._documentCount,F,p,r),z=n*a*f*v,A=d.get(l);if(A){A.score+=z,ct(A.terms,t);const w=G(A.match,s);w?w.push(c):A.match[s]=[c]}else d.set(l,{score:z,terms:[t],match:{[s]:[c]}})}}return d},At=(e,t,s)=>{const n={...e._options.searchOptions,...s},o=(n.fields||e._options.fields).reduce((l,f)=>({...l,[f]:G(n.boost,f)||1}),{}),{boostDocument:u,weights:i,maxFuzzy:r,bm25:d}=n,{fuzzy:c,prefix:a}={...J.weights,...i},h=e._index.get(t.term),g=S(e,t.term,t.term,1,h,o,u,d);let m,p;if(t.prefix&&(m=e._index.atPrefix(t.term)),t.fuzzy){const l=t.fuzzy===!0?.2:t.fuzzy,f=l<1?Math.min(r,Math.round(t.term.length*l)):l;f&&(p=e._index.fuzzyGet(t.term,f))}if(m)for(const[l,f]of m){const y=l.length-t.term.length;if(!y)continue;p?.delete(l);const F=a*l.length/(l.length+.3*y);S(e,t.term,l,F,f,o,u,d,g)}if(p)for(const l of p.keys()){const[f,y]=p.get(l);if(!y)continue;const F=c*l.length/(l.length+y);S(e,t.term,l,F,f,o,u,d,g)}return g},Y=(e,t,s={})=>{if(t===K)return yt(e,s);if(typeof t!="string"){const a={...s,...t,queries:void 0},h=t.queries.map(g=>Y(e,g,a));return X(h,a.combineWith)}const{tokenize:n,processTerm:o,searchOptions:u}=e._options,i={tokenize:n,processTerm:o,...u,...s},{tokenize:r,processTerm:d}=i,c=r(t).flatMap(a=>d(a)).filter(a=>!!a).map(at(i)).map(a=>At(e,a,i));return X(c,i.combineWith)},Q=(e,t,s={})=>{const n=Y(e,t,s),o=[];for(const[u,{score:i,terms:r,match:d}]of n){const c=r.length||1,a={id:e._documentIds.get(u),score:i*c,terms:Object.keys(d),queryTerms:r,match:d};Object.assign(a,e._storedFields.get(u)),(s.filter==null||s.filter(a))&&o.push(a)}return t===K&&s.boostDocument==null&&e._options.searchOptions.boostDocument==null||o.sort(P),o},Ct=(e,t,s={})=>{s={...e._options.autoSuggestOptions,...s};const n=new Map;for(const{score:u,terms:i}of Q(e,t,s)){const r=i.join(" "),d=n.get(r);d!=null?(d.score+=u,d.count+=1):n.set(r,{score:u,terms:i,count:1})}const o=[];for(const[u,{score:i,terms:r,count:d}]of n)o.push({suggestion:u,terms:r,score:i/d});return o.sort(P),o};class Et{_options;_index;_documentCount;_documentIds;_idToShortId;_fieldIds;_fieldLength;_avgFieldLength;_nextId;_storedFields;_dirtCount;_currentVacuum;_enqueuedVacuum;_enqueuedVacuumConditions;constructor(t){if(t?.fields==null)throw new Error('SlimSearch: option "fields" must be provided');const s=t.autoVacuum==null||t.autoVacuum===!0?_t:t.autoVacuum;this._options={...mt,...t,autoVacuum:s,searchOptions:{...J,...t.searchOptions||{}},autoSuggestOptions:{...pt,...t.autoSuggestOptions||{}}},this._index=new C,this._documentCount=0,this._documentIds=new Map,this._idToShortId=new Map,this._fieldIds={},this._fieldLength=new Map,this._avgFieldLength=[],this._nextId=0,this._storedFields=new Map,this._dirtCount=0,this._currentVacuum=null,this._enqueuedVacuum=null,this._enqueuedVacuumConditions=U,this.addFields(this._options.fields)}get isVacuuming(){return this._currentVacuum!=null}get dirtCount(){return this._dirtCount}get dirtFactor(){return this._dirtCount/(1+this._documentCount+this._dirtCount)}get documentCount(){return this._documentCount}get termCount(){return this._index.size}toJSON(){const t=[];for(const[s,n]of this._index){const o={};for(const[u,i]of n)o[u]=Object.fromEntries(i);t.push([s,o])}return{documentCount:this._documentCount,nextId:this._nextId,documentIds:Object.fromEntries(this._documentIds),fieldIds:this._fieldIds,fieldLength:Object.fromEntries(this._fieldLength),averageFieldLength:this._avgFieldLength,storedFields:Object.fromEntries(this._storedFields),dirtCount:this._dirtCount,index:t,serializationVersion:2}}addFields(t){for(let s=0;s{if(c!==1&&c!==2)throw new Error("SlimSearch: cannot deserialize an index created with an incompatible version");const h=new Et(a);h._documentCount=t,h._nextId=s,h._documentIds=b(n),h._idToShortId=new Map,h._fieldIds=o,h._fieldLength=b(u),h._avgFieldLength=i,h._storedFields=b(r),h._dirtCount=d||0,h._index=new C;for(const[g,m]of h._documentIds)h._idToShortId.set(m,g);for(const[g,m]of e){const p=new Map;for(const l of Object.keys(m)){let f=m[l];c===1&&(f=f.ds),p.set(parseInt(l,10),b(f))}h._index.set(g,p)}return h},B=(e,t)=>{const s=e.toLowerCase(),n=t.toLowerCase(),o=[];let u=0,i=0;const r=(c,a=!1)=>{let h="";i===0?h=c.length>20?`… ${c.slice(-20)}`:c:a?h=c.length+i>100?`${c.slice(0,100-i)}… `:c:h=c.length>20?`${c.slice(0,20)} … ${c.slice(-20)}`:c,h&&o.push(h),i+=h.length,a||(o.push(["mark",t]),i+=t.length,i>=100&&o.push(" …"))};let d=s.indexOf(n,u);if(d===-1)return null;for(;d>=0;){const c=d+n.length;if(r(e.slice(u,d)),u=c,i>100)break;d=s.indexOf(n,u)}return i<100&&r(e.slice(u),!0),o},wt=(e,t)=>t.contents.reduce((s,[,n])=>s+n,0)-e.contents.reduce((s,[,n])=>s+n,0),xt=(e,t)=>Math.max(...t.contents.map(([,s])=>s))-Math.max(...e.contents.map(([,s])=>s)),Z=(e,t,s={})=>{const n={};return Q(t,e,{boost:{h:2,t:1,c:4},prefix:!0,...s}).forEach(o=>{const{id:u,terms:i,score:r}=o,d=u.includes("@"),c=u.includes("#"),[a,h]=u.split(/[#@]/),g=Number(a),m=i.sort((l,f)=>l.length-f.length).filter((l,f)=>i.slice(f+1).every(y=>!y.includes(l))),{contents:p}=n[g]??={title:"",contents:[]};if(d)p.push([{type:"customField",id:g,index:h,display:m.map(l=>o.c.map(f=>B(f,l))).flat().filter(l=>l!==null)},r]);else{const l=m.map(f=>B(o.h,f)).filter(f=>f!==null);if(l.length&&p.push([{type:c?"heading":"title",id:g,...c&&{anchor:h},display:l},r]),"t"in o)for(const f of o.t){const y=m.map(F=>B(f,F)).filter(F=>F!==null);y.length&&p.push([{type:"text",id:g,...c&&{anchor:h},display:y},r])}}}),V(n).sort(([,o],[,u])=>"max"==="total"?wt(o,u):xt(o,u)).map(([o,{title:u,contents:i}])=>{if(!u){const r=ut(t,o);r&&(u=r.h)}return{title:u,contents:i.map(([r])=>r)}})},tt=(e,t,s={})=>{const n=Ct(t,e,{fuzzy:.2,maxFuzzy:3,...s}).map(({suggestion:o})=>o);return e.includes(" ")?n:n.filter(o=>!o.includes(" "))},bt=et(V(JSON.parse("{\"/\":{\"documentCount\":94,\"nextId\":94,\"documentIds\":{\"0\":\"0\",\"1\":\"0#what-is-taskiq-in-a-nutshell\",\"2\":\"0#installation\",\"3\":\"1\",\"4\":\"1#setting-up-environment\",\"5\":\"1#linting\",\"6\":\"1#testing\",\"7\":\"2\",\"8\":\"3\",\"9\":\"3#inmemorybroker\",\"10\":\"3#zeromqbroker\",\"11\":\"3#async-shared-broker-and-shared-tasks\",\"12\":\"3#custom-brokers\",\"13\":\"3#aiopikabroker-for-rabbitmq\",\"14\":\"3#redis-broker\",\"15\":\"3#nats-broker\",\"16\":\"4\",\"17\":\"4#simple-retry-middleware\",\"18\":\"4#prometheus-middleware\",\"19\":\"5\",\"20\":\"5#dummyresultbackend\",\"21\":\"5#redis-result-backend\",\"22\":\"6\",\"23\":\"6#redisschedulesource\",\"24\":\"6#labelschedulesource\",\"25\":\"7\",\"26\":\"7#contents\",\"27\":\"8\",\"28\":\"8#acknowledgement\",\"29\":\"8#conventions\",\"30\":\"9\",\"31\":\"10\",\"32\":\"11\",\"33\":\"12\",\"34\":\"13\",\"35\":\"14\",\"36\":\"15\",\"37\":\"16\",\"38\":\"16#adding-taskiq-integration\",\"39\":\"16#testing\",\"40\":\"17\",\"41\":\"17#testing\",\"42\":\"18\",\"43\":\"18#what-is-taskiq\",\"44\":\"18#why-not-use-existing-libraries\",\"45\":\"19\",\"46\":\"19#broker\",\"47\":\"19#kicker\",\"48\":\"19#messages\",\"49\":\"19#result-backend\",\"50\":\"19#workers\",\"51\":\"19#middlewares\",\"52\":\"19#context\",\"53\":\"20\",\"54\":\"20#worker\",\"55\":\"20#auto-importing\",\"56\":\"20#acknowledgements\",\"57\":\"20#type-casts\",\"58\":\"20#hot-reload\",\"59\":\"20#other-parameters\",\"60\":\"20#scheduler\",\"61\":\"20#parameters\",\"62\":\"21\",\"63\":\"22\",\"64\":\"22#installation\",\"65\":\"22#running-tasks\",\"66\":\"22#distributed-run\",\"67\":\"22#timeouts\",\"68\":\"23\",\"69\":\"23#serializers\",\"70\":\"23#formatters\",\"71\":\"24\",\"72\":\"24#multiple-sources\",\"73\":\"24#working-with-timezones\",\"74\":\"24#skipping-first-run\",\"75\":\"24#dynamic-scheduling\",\"76\":\"25\",\"77\":\"25#state\",\"78\":\"25#dependencies\",\"79\":\"25#how-dependencies-are-useful\",\"80\":\"25#how-do-dependencies-work\",\"81\":\"25#class-as-a-dependency\",\"82\":\"25#generator-dependencies\",\"83\":\"25#exception-handling\",\"84\":\"25#generics\",\"85\":\"25#default-dependencies\",\"86\":\"25#adding-first-level-dependencies\",\"87\":\"26\",\"88\":\"26#preparations\",\"89\":\"26#environment-setup\",\"90\":\"26#async-tests\",\"91\":\"26#testing-tasks\",\"92\":\"26#dependency-injection\",\"93\":\"27\"},\"fieldIds\":{\"h\":0,\"t\":1,\"c\":2},\"fieldLength\":{\"0\":[4],\"1\":[6,52],\"2\":[1,12],\"3\":[2,77],\"4\":[3,48],\"5\":[1,30],\"6\":[1,55],\"7\":[2,22],\"8\":[2,10],\"9\":[1,33],\"10\":[1,73],\"11\":[5,54],\"12\":[2,31],\"13\":[4,8],\"14\":[2,7],\"15\":[2,7],\"16\":[2,16],\"17\":[3,65],\"18\":[2,55],\"19\":[3,17],\"20\":[1,31],\"21\":[3,33],\"22\":[3,17],\"23\":[1,51],\"24\":[1,99],\"25\":[2,27],\"26\":[2,7],\"27\":[1,120],\"28\":[1,66],\"29\":[1,54],\"30\":[1,117],\"31\":[1,68],\"32\":[2,121],\"33\":[2,114],\"34\":[2,37],\"35\":[3,97],\"36\":[3,188],\"37\":[3,77],\"38\":[3,137],\"39\":[1,95],\"40\":[3,183],\"41\":[1,92],\"42\":[1],\"43\":[3,79],\"44\":[6,86],\"45\":[2,54],\"46\":[1,61],\"47\":[1,84],\"48\":[1,70],\"49\":[2,55],\"50\":[1,106],\"51\":[1,130],\"52\":[1,70],\"53\":[1,37],\"54\":[1,27],\"55\":[2,58],\"56\":[1,37],\"57\":[2,72],\"58\":[2,58],\"59\":[2,111],\"60\":[1,30],\"61\":[1,71],\"62\":[2,193],\"63\":[2],\"64\":[1,45],\"65\":[2,177],\"66\":[2,177],\"67\":[1,52],\"68\":[3,36],\"69\":[1,92],\"70\":[1,74],\"71\":[2,158],\"72\":[2,85],\"73\":[3,73],\"74\":[3,71],\"75\":[2,173],\"76\":[3],\"77\":[1,77],\"78\":[1,50],\"79\":[4,111],\"80\":[4,84],\"81\":[4,48],\"82\":[2,36],\"83\":[2,62],\"84\":[1,26],\"85\":[2,12],\"86\":[4,44],\"87\":[3,31],\"88\":[1],\"89\":[2,59],\"90\":[2,95],\"91\":[2,78],\"92\":[2,146],\"93\":[1,3]},\"averageFieldLength\":[2.0319148936170217,68.39338588822422],\"storedFields\":{\"0\":{\"h\":\"Task manager for asyncio\"},\"1\":{\"h\":\"What is taskiq in a nutshell\",\"t\":[\"Consider taskiq as an asyncio celery implementation. It uses almost the same patterns, but it's more modern and flexible.\",\"It's not a drop-in replacement for any other task manager. It has a different ecosystem of libraries and a different set of features. Also, it doesn't work for synchronous projects. You won't be able to send tasks synchronously.\"]},\"2\":{\"h\":\"Installation\",\"t\":[\"You can install taskiq with pip or your favorite dependency manager:\",\"pip install taskiq\\n\"]},\"3\":{\"h\":\"Contribution guide\",\"t\":[\"We love contributions. This guide is for all folks who want to make taskiq better together. We have several rules for contributors:\",\"Please do not add malware.\",\"Please make sure that your request solves the problem.\",\"If you struggle with something or feel frustrated, you either create an issue, create a discussions. page or publish a draft PR and ask your question in the description.\",\"We have lots of tests in CI. But since CI runs from first-time contributors should be approved, you better test locally. It just takes less time to prepare PR for merging.\"]},\"4\":{\"h\":\"Setting up environment\",\"t\":[\"We use poetry for managing dependencies. To install it, please follow the official guide in documentation.\",\"After you have cloned the taskiq repo, install dependencies using this command:\",\"poetry install \",\"It will install all required dependencies. If you want to run pytest against different python environments, please install pyenv using instructions from its readme.\",\"After pyenv is ready, you can install all python versions using this command:\",\"pyenv install \"]},\"5\":{\"h\":\"Linting\",\"t\":[\"We have pre-commit configured with all our settings. We highly recommend you to install it as a git hook using pre-commit install command.\",\"But even without installation, you can run all lints manually:\",\"pre-commit run -a \"]},\"6\":{\"h\":\"Testing\",\"t\":[\"You can run pytest without any parameters and it will do the thing.\",\"pytest \",\"If you want to speedup testings, you can run it with -n option from pytest-xdist to run tests in parallel.\",\"pytest -n 2 \",\"Also we use tox to test against different environments. You can publish a PR to run pytest with different python versions, but if you want to do it locally, just run tox command.\",\"tox \",\"Tox assumes that you've installed python versions using pyenv with command above.\"]},\"7\":{\"h\":\"Available components\",\"t\":[\"In this section, you can find a list of officially supported plugins for the taskiq.\",\"Available brokers\",\"Available middlewares\",\"Available result backends\",\"Available schedule sources\"]},\"8\":{\"h\":\"Available brokers\",\"t\":[\"In this section we'll list officially supported brokers.\"]},\"9\":{\"h\":\"InMemoryBroker\",\"t\":[\"This is a special broker for local development. It uses the same functions to execute tasks, but all tasks are executed locally in the current thread. By default it uses InMemoryResultBackend but this can be overridden.\"]},\"10\":{\"h\":\"ZeroMQBroker\",\"t\":[\"This broker uses ZMQ to communicate between worker and client processes. It's suitable for small projects with only ONE worker process, because of the ZMQ architecture.\",\"It publishes messages on the local port. All worker processes are reading messages from this port. If you run many worker processes, all tasks will be executed N times, where N is the total number of worker processes.\",\"Be careful!\",\"If you choose this type of broker, please run taskiq with -w 1 parameter, otherwise you may encounter undefined behavior.\",\"To run this broker please install the pyzmq lib. Or you can taskiq with zmq extra.\"]},\"11\":{\"h\":\"Async shared broker and shared tasks\",\"t\":[\"This is also a special broker. You cannot use it directly. It's used to create shared tasks. These tasks can be imported along with user defined tasks. To define a shared task please use this broker.\",\"from taskiq.brokers.shared_broker import async_shared_broker @async_shared_broker.task def my_task() -> bool: return True \",\"To kiq this task you have to options:\",\"Explicitly define broker using kicker for this kiq;\",\"Add default broker for all shared tasks.\"]},\"12\":{\"h\":\"Custom brokers\",\"t\":[\"These brokers are not parts of the core taskiq lib. You can install them as a separate packages.\",\"You can read more about parameters and abilities of these brokers in README.md of each repo.\"]},\"13\":{\"h\":\"AioPikaBroker (for RabbitMQ)\",\"t\":[\"Project link: taskiq-aio-pika.\",\"pip install taskiq-aio-pika \"]},\"14\":{\"h\":\"Redis broker\",\"t\":[\"Project link: taskiq-redis.\",\"pip install taskiq-redis \"]},\"15\":{\"h\":\"NATS broker\",\"t\":[\"Project link: taskiq-nats.\",\"pip install taskiq-nats \"]},\"16\":{\"h\":\"Available middlewares\",\"t\":[\"Middlewares allow you to execute code when specific event occurs. Taskiq has several default middlewares.\"]},\"17\":{\"h\":\"Simple retry middleware\",\"t\":[\"This middleware allows you to restart functions on errors. If exception was raised during task execution, the task would be resent with same parameters.\",\"To enable this middleware, add it to the list of middlewares for a broker.\",\"from taskiq import ZeroMQBroker, SimpleRetryMiddleware broker = ZeroMQBroker().with_middlewares( SimpleRetryMiddleware(default_retry_count=3), ) \",\"After that you can add a label to task that you want to restart on error.\",\" @broker.task(retry_on_error=True, max_retries=20) async def test(): raise Exception(\\\"AAAAA!\\\") \",\"retry_on_error enables retries for a task. max_retries is the maximum number of times,.\"]},\"18\":{\"h\":\"Prometheus middleware\",\"t\":[\"You can enable prometheus metrics for workers by adding PrometheusMiddleware. To do so, you need to install prometheus_client package or you can install metrics extras for taskiq.\",\"from taskiq import ZeroMQBroker, PrometheusMiddleware broker = ZeroMQBroker().with_middlewares( PrometheusMiddleware(server_addr=\\\"0.0.0.0\\\", server_port=9000), ) \",\"After that, metrics will be available at port 9000. Of course, this parameter can be configured.\\nIf you have other metrics, they'll be shown as well.\"]},\"19\":{\"h\":\"Available result backends\",\"t\":[\"Result backends are used to store execution results. This includes:\",\"return value;\",\"Execution time in seconds.\"]},\"20\":{\"h\":\"DummyResultBackend\",\"t\":[\"This result backend doesn't do anything. It doesn't store results and cannot be used in cases, where you need actual results.\",\"This broker will always return None for any return_value. Please be careful.\"]},\"21\":{\"h\":\"Redis result backend\",\"t\":[\"This result backend is not part of the core taskiq library. You can install it as a separate package taskiq-redis.\",\"pip install taskiq-redis \",\"You can read more about parameters and abilities of this broker in README.md.\"]},\"22\":{\"h\":\"Available schedule sources\",\"t\":[\"These objects are used to fetch current schedule for tasks. Currently we have only one schedule source.\"]},\"23\":{\"h\":\"RedisScheduleSource\",\"t\":[\"This source is capable of adding new schedules in runtime. It uses Redis as a storage for schedules. To use this source you need to install taskiq-redis package.\",\"from taskiq_redis import RedisScheduleSource from taskiq import TaskiqScheduler redis_source = RedisScheduleSource(\\\"redis://localhost:6379/0\\\") scheduler = TaskiqScheduler(broker, sources=[redis_source]) \",\"For more information on how to use dynamic schedule sources read Dynamic scheduling section.\"]},\"24\":{\"h\":\"LabelScheduleSource\",\"t\":[\"This source parses labels of tasks, and if it finds a schedule label, it considers this task as scheduled.\",\"The format of the schedule label is the following:\",\"@broker.task( schedule=[ { \\\"cron\\\": \\\"* * * * *\\\", # type: str, either cron or time shoule be specified. \\\"cron_offset\\\": None # type: str | timedelta | None, can be ommited. \\\"time\\\": None # type: datetime | None, either cron or time shoule be specified. \\\"args\\\": [], # type List[Any] | None, can be omitted. \\\"kwargs\\\": {}, # type: Dict[str, Any] | None, can be omitted. \\\"labels\\\": {}, # type: Dict[str, Any] | None, can be omitted. } ] ) async def my_task(): ... \",\"Parameters:\",\"cron - crontab string when to run the task.\",\"cron_offset - timezone offset for cron values. Explained here\",\"time - specific time when send the task.\",\"args - args to use, when invoking the task.\",\"kwargs - key-word arguments to use when invoking the task.\",\"labels - additional labels to use when invoking the task.\",\"To enable this source, just add it to the list of sources:\",\"from taskiq.scheduler import TaskiqScheduler from taskiq.schedule_sources import LabelScheduleSource broker = ... scheduler = TaskiqScheduler( broker=broker, sources=[LabelScheduleSource(broker)], ) \",\"Cool notice!\",\"In order to resolve all labels correctly, don't forget to import\\nall task modules using CLI interface.\"]},\"25\":{\"h\":\"Extending taskiq\",\"t\":[\"Taskiq is super extendable. The core library comes with different abstract classes. You can implement these abstract classes to extend functionality.\",\"All abstract classes can be found in taskiq.abc package.\"]},\"26\":{\"h\":\"Contents:\",\"t\":[\"Brokers\",\"Middlewares\",\"Result backends\",\"CLI\",\"Schedule sources\"]},\"27\":{\"h\":\"Brokers\",\"t\":[\"To add a new broker you need to implement two methods kick and listen of the taskiq.abc.broker.AsyncBroker abstract class. But along with them we have helper methods. Such as shutdown and startup.\",\"Here is a template for new brokers:\",\"from typing import AsyncGenerator, Union from taskiq import AckableMessage, AsyncBroker, BrokerMessage class MyBroker(AsyncBroker): def __init__(self) -> None: # Please call this super method to set default values to # many different fields. super().__init__() async def startup(self) -> None: # Here you can do some startup magic. # Like opening a connection. return await super().startup() async def shutdown(self) -> None: # Here you can perform shutdown operations. # Like closing connections. return await super().shutdown() async def kick(self, message: BrokerMessage) -> None: # Send a message.message. pass async def listen(self) -> AsyncGenerator[Union[bytes, AckableMessage], None]: while True: # Get new message. new_message: bytes = ... # type: ignore # Yield it! yield new_message \",\"The kick method takes a BrokerMessage as a parameter. The BrokerMessage class is a handy helper class for brokers. You can use information from the BrokerMessage to alter the delivery method.\",\"\\\"cool warning!\\\"\",\"As a broker developer, please send only raw bytes from the message field of a BrokerMessage if possible. Serializing it to the string may result in a problem if message bytes are not utf-8 compatible.\"]},\"28\":{\"h\":\"Acknowledgement\",\"t\":[\"The listen method should yield raw bytes of a message. But if your broker supports acking or rejecting messages, the broker should return taskiq.AckableMessage with required fields.\",\"For example:\",\" async def listen(self) -> AsyncGenerator[AckableMessage, None]: for message in self.my_channel: yield AckableMessage( data=message.bytes, # Ack is a function that takes no parameters. # So you either set here method of a message, # or you can make a closure. ack=message.ack # Can be set to None if broker doesn't support it. reject=message.reject ) \"]},\"29\":{\"h\":\"Conventions\",\"t\":[\"For brokers, we have several conventions. It's good if your broker implements them. These rules are optional, and it's ok if your broker doesn't implement them.\",\"If the message has the delay label with int or float number, this task's execution must be delayed with the same number of seconds as in the delay label.\",\"If the message has the priority label, this message must be sent with priority. Tasks with\\nhigher priorities are executed sooner.\"]},\"30\":{\"h\":\"CLI\",\"t\":[\"You can easily add new subcommands to taskiq. All default subcommands also use this mechanism, since it's easy to use.\",\"At first you need to add a class that implements taskiq.abc.cmd.TaskiqCMD abstract class.\",\"from argparse import ArgumentParser from typing import Sequence from taskiq.abc.cmd import TaskiqCMD class MyCommand(TaskiqCMD): short_help = \\\"Demo command\\\" def exec(self, args: Sequence[str]) -> None: parser = ArgumentParser() parser.add_argument( \\\"--test\\\", dest=\\\"test\\\", default=\\\"default\\\", help=\\\"My test parameter.\\\", ) parsed = parser.parse_args(args) print(parsed) \",\"In the exec method, you should parse incoming arguments. But since all CLI arguments to taskiq are shifted you can ignore the args parameter.\",\"Also, you can use your favorite tool to build CLI, like click or typer.\",\"After you have such class, you need to add entrypoint that points to that class.\",\"You can read more about entry points in python documentation. The subcommand name is the same as the name of the entry point you've created.\",\"$ taskiq demo --help usage: demo [-h] [--test TEST] optional arguments: -h, --help show this help message and exit --test TEST My test parameter. \",\"$ taskiq demo --test aaa Namespace(test='aaa') \"]},\"31\":{\"h\":\"Middlewares\",\"t\":[\"Middlewares are super helpful. You can inject some code before or after task's execution.\",\"Middlewares must implement taskiq.abc.middleware.TaskiqMiddleware abstract class. Every method of a middleware can be either sync or async. Taskiq will execute it as you expect.\",\"For example:\",\"Also, middlewares always have reference to the current broker in self.broker field. If you want to kick a message during the execution of some middleware hooks, you may use self.broker to do so.\",\"Taskiq-pipelines uses middlewares to\\ncall next tasks.\"]},\"32\":{\"h\":\"Result backend\",\"t\":[\"Result backends are used to store information about task execution. To create new result_backend you have to implement taskiq.abc.result_backend.AsyncResultBackend class.\",\"Here's a minimal example of a result backend:\",\"from typing import TypeVar from taskiq import TaskiqResult from taskiq.abc.result_backend import AsyncResultBackend _ReturnType = TypeVar(\\\"_ReturnType\\\") class MyResultBackend(AsyncResultBackend[_ReturnType]): async def startup(self) -> None: \\\"\\\"\\\"Do something when starting broker.\\\"\\\"\\\" async def shutdown(self) -> None: \\\"\\\"\\\"Do something on shutdown.\\\"\\\"\\\" async def set_result( self, task_id: str, result: TaskiqResult[_ReturnType], ) -> None: \\\"\\\"\\\" Set result in your backend. :param task_id: current task id. :param result: result of execution. \\\"\\\"\\\" async def get_result( self, task_id: str, with_logs: bool = False, ) -> TaskiqResult[_ReturnType]: \\\"\\\"\\\" Here you must retrieve result by id. Logs is a part of a result. Here we have a parameter whether you want to fetch result with logs or not, because logs can have a lot of info and sometimes it's critical to get only needed information. :param task_id: id of a task. :param with_logs: whether to fetch logs. :return: result. \\\"\\\"\\\" return ... # type: ignore async def is_result_ready( self, task_id: str, ) -> bool: \\\"\\\"\\\" Check if result exists. This function must check whether result is available in your result backend without fetching the result. :param task_id: id of a task. :return: True if result is ready. \\\"\\\"\\\" return ... # type: ignore \",\"Cool tip!\",\"It's a good practice to skip fetching logs from the storage unless with_logs=True is explicitly specified.\",\"Important note!\",\"with_logs param is now deprecated. It will be removed in future releases.\"]},\"33\":{\"h\":\"Schedule source\",\"t\":[\"Schedule sources are used to get schedule for tasks. To create new schedule source you have to implement the taskiq.abc.schedule_source.ScheduleSource abstract class.\",\"Here's a minimal example of a schedule source:\",\"from typing import List from taskiq import ScheduledTask, ScheduleSource class MyScheduleSource(ScheduleSource): async def startup(self) -> None: \\\"\\\"\\\"Do something when starting broker.\\\"\\\"\\\" async def shutdown(self) -> None: \\\"\\\"\\\"Do something on shutdown.\\\"\\\"\\\" async def get_schedules(self) -> List[\\\"ScheduledTask\\\"]: # Here you must return list of scheduled tasks from your source. return [ ScheduledTask( task_name=\\\"\\\", labels={}, args=[], kwargs={}, cron=\\\"* * * * *\\\", ), ] # This method is optional. You may not implement this. # It's just a helper to people to be able to interact with your source. async def add_schedule(self, schedule: \\\"ScheduledTask\\\") -> None: print(\\\"New schedule added:\\\", schedule) # This method is completely optional, but if you want to support # schedule cancelation, you must implement it. async def delete_schedule(self, schedule_id: str) -> None: print(\\\"Deleting schedule:\\\", schedule_id) # This method is optional. You may not implement this. # It's just a helper to people to be able to interact with your source. async def pre_send(self, task: \\\"ScheduledTask\\\") -> None: \\\"\\\"\\\" Actions to execute before task will be sent to broker. This method may raise ScheduledTaskCancelledError. This cancels the task execution. :param task: task that will be sent \\\"\\\"\\\" # This method is optional. You may not implement this. # It's just a helper to people to be able to interact with your source. async def post_send(self, task: \\\"ScheduledTask\\\") -> None: \\\"\\\"\\\" Actions to execute after task was sent to broker. :param task: task that just have sent \\\"\\\"\\\" \",\"You can implement a schedule source that write schedules in the database and have delayed tasks in runtime.\"]},\"34\":{\"h\":\"Framework integrations\",\"t\":[\"Taskiq is meant to be simple and adaptive. That's why we try to add different integrations to make development with taskiq and your favorite framework easy and fun!\",\"Integrations with frameworks add two things:\",\"Startup and Shutdown events;\",\"Dependencies to use in your handler.\"]},\"35\":{\"h\":\"Taskiq + FastStream\",\"t\":[\"FastStream is a library that allows you to write consumers and producers for different message brokers almost like taskiq. But the differense is that taskiq is more focused on tasks for a specific project and more like celery but async, while FastStream is more focused on events and defining how different systems communicate with each other using distributed brokers.\",\"If you want to declare communication between different projects you can use taskiq, but it might be a bit more complex than using FastStream.\",\"Although these libraries solve different problems, they have integration between each other, so you can use FastStream as a broker for taskiq. It allows FastStream to use taskiq's scheduler along with its own features.\",\"To use FastStream as a broker for taskiq you need to install the taskiq-faststream library:\",\"pip install \\\"taskiq-faststream\\\" \",\"And you can use it like this:\",\"from faststream import FastStream from faststream.kafka import KafkaBroker from taskiq_faststream import BrokerWrapper broker = KafkaBroker(\\\"localhost:9092\\\") app = FastStream(broker) taskiq_broker = BrokerWrapper(broker) \",\"You can read more about scheduling tasks for FastStream in the FastStream documentation.\"]},\"36\":{\"h\":\"Taskiq + Aiogram\",\"t\":[\"Taskiq-Aiogram is a nice integration with one of the best telegram bot libraries - aiogram.\",\"This integration allows you to easily send delayed messages or run intensive functions without blocking the message handing.\",\"This integration adds three main dependencies which you can use in your taskiq functions:\",\"aiogram.Bot - the bot instance that you can use to send messages or perform other actions. If multiple bots listen to the same dispatcher, this dependency will be resolved to the latest bot passed in the taskiq_aiogram.init function.\",\"aiogram.Dispatcher - current dispatcher instance.\",\"List[aiogram.Bot] - list of all bots that were passed to the taskiq_aiogram.init function.\",\"To enable the integration, please install the taskiq-aiogram library:\",\"pip install \\\"taskiq-aiogram\\\" \",\"After the installation is complete, add an initialization function call to your broker's main file so it becomes something like this:\",\"import asyncio import taskiq_aiogram from aiogram import Bot from taskiq import TaskiqDepends from taskiq_redis import ListQueueBroker broker = ListQueueBroker(\\\"redis://localhost\\\") # This line is going to initialize everything. taskiq_aiogram.init( broker, # This is path to the dispatcher. \\\"bot:dp\\\", # This is path to the bot instance. \\\"bot:bot\\\", # You can specify more bots here. ) @broker.task(task_name=\\\"my_task\\\") async def my_task(chat_id: int, bot: Bot = TaskiqDepends()) -> None: print(\\\"I'm a task\\\") await asyncio.sleep(4) await bot.send_message(chat_id, \\\"task completed\\\") \",\"Let's see how to use this integration.\",\"import asyncio import logging import sys from aiogram import Bot, Dispatcher, types from aiogram.filters import Command from tkq import broker, my_task dp = Dispatcher() bot = Bot(token=\\\"TOKEN\\\") # Taskiq calls this function when starting the worker. @dp.startup() async def setup_taskiq(bot: Bot, *_args, **_kwargs): # Here we check if it's a clien-side, # Because otherwise you're going to # create infinite loop of startup events. if not broker.is_worker_process: logging.info(\\\"Setting up taskiq\\\") await broker.startup() # Taskiq calls this function when shutting down the worker. @dp.shutdown() async def shutdown_taskiq(bot: Bot, *_args, **_kwargs): if not broker.is_worker_process: logging.info(\\\"Shutting down taskiq\\\") await broker.shutdown() ## Simple command to handle @dp.message(Command(\\\"task\\\")) async def message(message: types.Message): await my_task.kiq(message.chat.id) ## Main function that starts the bot. async def main(): await dp.start_polling(bot) if __name__ == \\\"__main__\\\": logging.basicConfig(level=logging.INFO, stream=sys.stdout) asyncio.run(main()) \",\"That's it. Now you can easily call tasks from your bots and access bots from within your tasks.\"]},\"37\":{\"h\":\"Taskiq + AioHTTP\",\"t\":[\"AioHTTP is a framework for building robust applications. We created several libraries to make the experience with AioHTTP even better.\",\"We created a library aiohttp-deps to add FastAPI-like dependency injection in AioHTTP.\",\"To install it, simply run:\",\"pip install \\\"aiohttp-deps\\\" \",\"After the installation, please add startup event to your application to initialize dependencies context.\",\"from aiohttp import web import aiohttp_deps app = web.Application() # This startup event makes all the magic happen. # It parses current handlers and create dependency graphs for them. app.on_startup.append(aiohttp_deps.init) web.run_app(app) \",\"You can read more about dependency injection and available dependencies in the project's README.md.\"]},\"38\":{\"h\":\"Adding taskiq integration\",\"t\":[\"We highly recommend using aiohttp with aiohttp-deps because it allows us to reuse the same dependencies for your handlers and tasks. First of all, you should install the taskiq-aiohttp library.\",\"pip install \\\"taskiq-aiohttp\\\" \",\"After the installation is complete, add an initialization function call to your broker's main file so it becomes something like this:\",\"import taskiq_aiohttp broker = MyBroker() # The second argument is a path to web.Application variable. # Also you can provide here a factory function that takes no # arguments and returns an application. This function can be async. taskiq_aiohttp.init(broker, \\\"my_project.main:app\\\") \",\"From this point, you'll be able to reuse the same dependencies as with aiohttp-deps. Let's take a look at this function:\",\"In this example, we depend on the current application. We can use its state in a current task or any other dependency. We can take db_pool from your application's state, which is the same pool, as the one you've created on AiohTTP's startup. But this application is only a mock of your application. It has correct types and all your variables that you filled on startup, but it doesn't handle any request. This integration adds two main dependencies:\",\"web.Application - current application.\",\"web.Request - mocked request. This request only exists to be able to use the same dependencies.\",\"You can find more detailed examples in the examples repo.\"]},\"39\":{\"h\":\"Testing\",\"t\":[\"Writing tests for AioHTTP with taskiq is as easy as writing tests for the aiohttp application. The only difference is that, if you want to use InMemoryBroker, then you need to add context for dependency injection. It's easier to call populate_context when creating a test_client fixture.\",\"import taskiq_aiohttp @pytest.fixture async def test_client( app: web.Application, ) -> AsyncGenerator[TestClient, None]: \\\"\\\"\\\" Create a test client. This function creates a TestServer and a test client for the application. Also this fixture populates context with needed variables. :param app: current application. :yield: ready to use client. \\\"\\\"\\\" loop = asyncio.get_running_loop() server = TestServer(app) client = TestClient(server, loop=loop) await client.start_server() # This is important part. # Since InMemoryBroker doesn't # run as a worker process, we have to populate # broker's context by hand. taskiq_aiohttp.populate_context( broker=broker, server=server.runner.server, app=app, loop=loop, ) yield client broker.custom_dependency_context = {} await client.close() \"]},\"40\":{\"h\":\"Taskiq + FastAPI\",\"t\":[\"FastAPI is a highly popular async web framework in Python. It has gained its popularity because of two things:\",\"It's easy to use;\",\"Cool dependency injection.\",\"In taskiq, we try to make our libraries easy to use, and We have a dependency injection too. So we have created the library \\\"taskiq-fastapi\\\" to make integration with FastAPI as smooth as possible.\",\"Let's see what we got here. In this library, we provide users with only one public function called init. It takes a broker and a string path (as in uvicorn) to the fastapi application (or factory function). People should call this function in their main broker file.\",\"from taskiq import ZeroMQBroker import taskiq_fastapi broker = ZeroMQBroker() taskiq_fastapi.init(broker, \\\"my_package.application:app\\\") \",\"There are two rules to make everything work as you expect:\",\"Add TaskiqDepends as a default value for every parameter with Request or HTTPConnection types in base dependencies. Or if you use Annotated, please annotate these types with TaskiqDepends.\",\"Use only TaskiqDepends in tasks.\",\"Cool and important note!\",\"The Request or HTTPConnection that you'll get injected in your task is not the same request or connection you have had in your handler when you were sending the task!\",\"Many fastapi dependency functions depend on fastapi.Request. We provide a mocked request to such dependencies. But taskiq cannot resolve dependencies until you explicitly specify that this parameter must be injected.\",\"As an example. If you previously had a dependency like this:\",\"from fastapi import Request from typing import Any def get_redis_pool(request: Request) -> Any: return request.app.state.redis_pool \",\"To make it resolvable in taskiq, people should mark default fastapi dependencies (such as Request and HTTPConnection) with TaskiqDepends. Like this:\",\"Also you want to call startup of your brokers somewhere.\",\"from fastapi import FastAPI from your_project.taskiq import broker app = FastAPI() @app.on_event(\\\"startup\\\") async def app_startup(): if not broker.is_worker_process: await broker.startup() @app.on_event(\\\"shutdown\\\") async def app_shutdown(): if not broker.is_worker_process: await broker.shutdown() \",\"And that's it. Now you can use your taskiq tasks with functions and classes that depend on FastAPI dependenices. You can find bigger examples in the examples repo.\"]},\"41\":{\"h\":\"Testing\",\"t\":[\"Testing is no different from general testing advice from articles about testing. But if you use InMemoryBroker in your tests, you need to provide it with a custom dependency context because it doesn't run as a worker process.\",\"Let's imagine that you have a fixture of your application. It returns a new fastapi application to use in tests.\",\" @pytest.fixture def fastapi_app() -> FastAPI: return get_app() \",\"Right after this fixture, we define another one.\",\"import taskiq_fastapi @pytest.fixture(autouse=True) def init_taskiq_deps(fastapi_app: FastAPI): # This is important part. Here we add dependency context, # this thing helps in resolving dependencies for tasks # for inmemory broker. taskiq_fastapi.populate_dependency_context(broker, fastapi_app) yield broker.custom_dependency_context = {} \",\"This fixture has autouse flag, which means it would run on every test automatically.\"]},\"42\":{\"h\":\"Introduction\"},\"43\":{\"h\":\"What is taskiq\",\"t\":[\"Taskiq is a library that helps you send and process python functions in a distributed manner. For example, you have many heavy to calculate functions you want to execute on another server. You can implement interservice communication by yourself, or you can use Taskiq to make the job done easily.\",\"The core library doesn't have much functionality. It provides two built-in brokers, CLI, basic functionality for creating distributed tasks, and abstractions to extend the taskiq. The main idea of taskiq is to make it modular and easy to extend. We have libraries for many possible use cases, but if you lack something, you can adopt taskiq to fit your needs.\"]},\"44\":{\"h\":\"Why not use existing libraries?\",\"t\":[\"We created this project because we couldn't find any project that can execute and send async functions using distributed queues like RabbitMQ.\",\"You might have seen projects built on top of asyncio that solve a similar problem, but here's a comparison table of the taskiq and other projects.\",\"Feature name\",\"Taskiq\",\"Arq\",\"AioTasks\",\"Actively maintained\",\"✅\",\"✅\",\"❌\",\"Multiple broker backends\",\"✅\",\"❌\",\"✅\",\"Multiple result backends\",\"✅\",\"❌\",\"❌\",\"Have a rich documentation\",\"✅\",\"❌\",\"❌\",\"Startup & Shutdown events\",\"✅\",\"✅\",\"❌\",\"Have ability to abort tasks\",\"❌\",\"✅\",\"❌\",\"Custom serializers\",\"✅\",\"✅\",\"❌\",\"Dependency injection\",\"✅\",\"❌\",\"❌\",\"Task pipelines\",\"✅\",\"✅\",\"❌\",\"Task schedules\",\"✅\",\"✅\",\"❌\",\"Global middlewares\",\"✅\",\"❌\",\"❌\",\"If you have a fully synchronous project, consider using celery or dramatiq instead.\"]},\"45\":{\"h\":\"Architecture overview\",\"t\":[\"Taskiq has very simple structure. On the client side all messages are sent by kickers using brokers. On the worker side all messages received by the broker and results are stored in result backends.\",\"On the sequence diagram it looks like this:\",\"Cool tip!\",\"If you use dark theme and cannot see words on diagram, try switching to light theme and back to dark.\",\"Let's discuss every component.\"]},\"46\":{\"h\":\"Broker\",\"t\":[\"Brokers are the most critical element of the taskiq. Every broker must implement the AsyncBroker abstract class from taskiq.abc.broker to make things work.\",\"AsyncBroker class has two main methods to implement:\",\"kick\",\"listen\",\"The kick method puts the message in the external system. For example, it may call the PUB command in Redis.\",\"The listen is a method with an infinite loop that reads messages from the external system and creates a task for processing messages. For example, it subscribes to the Redis channel and waits for new messages.\"]},\"47\":{\"h\":\"Kicker\",\"t\":[\"Kicker is an object that used to form a message for broker. This class isn't extendable. To form a message kicker uses labels, task name and arguments.\",\"When you call the task.kiq on a task, it generates a Kicker instance and is a shortening for the task.kicker().kiq(...). You can use kicker to change broker, add labels, or even change task_id.\",\"import asyncio from taskiq.brokers.inmemory_broker import InMemoryBroker broker = InMemoryBroker() second_broker = InMemoryBroker() @broker.task async def my_async_task() -> None: \\\"\\\"\\\"My lovely task.\\\"\\\"\\\" await asyncio.sleep(1) print(\\\"Hello\\\") async def main(): # This task was initially assigned to broker, # but this time it is going to be sent using # the second broker with additional label `delay=1`. task = await my_async_task.kicker().with_broker(second_broker).with_labels(delay=1).kiq() print(await task.get_result()) asyncio.run(main()) \"]},\"48\":{\"h\":\"Messages\",\"t\":[\"Every message has labels. You can define labels using task decorator, or you can add them using kicker.\",\"For example:\",\" @broker.task(my_label=1, label2=\\\"something\\\") async def my_async_task() -> None: \\\"\\\"\\\"My lovely task.\\\"\\\"\\\" await asyncio.sleep(1) print(\\\"Hello\\\") async def main(): await my_async_task.kiq() \",\"It's equivalent to this\",\" @broker.task async def my_async_task() -> None: \\\"\\\"\\\"My lovely task.\\\"\\\"\\\" await asyncio.sleep(1) print(\\\"Hello\\\") async def main(): await my_async_task.kicker().with_labels( my_label=1, label2=\\\"something\\\", ).kiq() \",\"Also you can assign custom task names using decorator. This is useful to be sure that task names are unique and resolved correctly. Also it may be useful to balance message routing in some brokers.\",\"for example:\",\"@broker.task(task_name=\\\"my_tasks.add_one\\\", label1=1) async def my_async_task() -> None: \\\"\\\"\\\"My lovely task.\\\"\\\"\\\" await asyncio.sleep(1) print(\\\"Hello\\\") \"]},\"49\":{\"h\":\"Result backend\",\"t\":[\"Result backend is used to store and get results of the execution. Results have type TaskiqResult from taskiq.result.\",\"Every ResultBackend must implement AsyncResultBackend from taskiq.abc.result_backend. By default, brokers use DummyResultBackend. It doesn't do anything and cannot be used in real-world scenarios. But some brokers can override it. For example InMemoryBroker by default uses InMemoryResultBackend and returns correct results.\"]},\"50\":{\"h\":\"Workers\",\"t\":[\"Taskiq has a command line interface to run workers. It's simple to get it to work.\",\"You have to provide a path to your broker. As an example, if you want to start listening to new tasks with a broker that is stored in a variable my broker in the module my_project.broker run this in your terminal:\",\"taskiq worker my_project.broker:mybroker \",\"taskiq can discover task modules to import automatically, if you add the -fsd (file system discover) option.\",\"Let's assume we have project with the following structure:\",\"test_project ├── broker.py ├── submodule │ └── tasks.py └── utils └── tasks.py \",\"You can specify all tasks modules to import manually.\",\"taskiq worker test_project.broker:broker test_project.submodule.tasks test_project.utils.tasks \",\"Or you can let taskiq find all python modules named tasks in current directory recursively.\",\"taskiq worker test_project.broker:broker -fsd \",\"If you have uvloop installed, taskiq will automatically install new policies to event loop. You can get more info about the CLI in the CLI section.\",\"Cool info\",\"By default we start two processes, if you want to change this value, please take a look at --help.\"]},\"51\":{\"h\":\"Middlewares\",\"t\":[\"Middlewares are used to modify message, or take some actions before or after task is complete.\",\"You can write your own middlewares by subclassing the taskiq.abc.middleware.TaskiqMiddleware.\",\"Every hook can be sync or async. Taskiq will execute it.\",\"For example, this is a valid middleware.\",\"import asyncio from taskiq.abc.middleware import TaskiqMiddleware from taskiq.message import TaskiqMessage class MyMiddleware(TaskiqMiddleware): async def pre_send(self, message: \\\"TaskiqMessage\\\") -> TaskiqMessage: await asyncio.sleep(1) message.labels[\\\"my_label\\\"] = \\\"my_value\\\" return message def post_send(self, message: \\\"TaskiqMessage\\\") -> None: print(f\\\"Message {message} was sent.\\\") \",\"Here are methods you can implement in the order they are executed:\",\"pre_send - executed on the client side before the message is sent. Here you can modify the message.\",\"post_send - executed right after the message was sent.\",\"pre_execute - executed on the worker side after the message was received by a worker and before its execution.\",\"on_error - executed after the task was executed if the exception was found.\",\"post_execute - executed after the message was executed.\",\"post_save - executed after the result was saved in the result backend.\",\"You can use sync or async hooks without changing anything, but adding async to the hook signature.\",\"important note\",\"If exception happens in middlewares it won't be caught. Please ensure that you have try\\\\except for all edge cases of your middleware.\",\"Middlewares can store information in message.labels for later use. For example SimpleRetryMiddleware uses labels to remember number of failed attempts.\"]},\"52\":{\"h\":\"Context\",\"t\":[\"Context is a useful class with some additional functions. You can use context to get broker that runs this task, from inside of the task.\",\"Or it has ability to control the flow of execution. Here's example of how to get the context.\",\"Also through contexts you can reject or requeue a task. It's easy as this:\",\"Calling requeue or reject stops task execution and either drops the message, or puts it back to the queue.\",\"Also, with context you'll be able to get current message that was received by the broker\\nor even instance of a broker who received a message. This may be useful for lib developers.\"]},\"53\":{\"h\":\"CLI\",\"t\":[\"Core library comes with CLI program called taskiq, which is used to run different subcommands.\",\"By default taskiq is shipped with only two commands: worker and scheduler. You can search for more taskiq plugins using pypi. Some plugins may add new commands to taskiq.\"]},\"54\":{\"h\":\"Worker\",\"t\":[\"To run worker process, you have to specify the broker you want to use and modules with defined tasks. Like this:\",\"taskiq worker mybroker:broker_var my_project.module1 my_project.module2 \"]},\"55\":{\"h\":\"Auto importing\",\"t\":[\"Enumerating all modules with tasks is not an option sometimes. That's why taskiq can auto-discover tasks in current directory recursively.\",\"We have two options for this:\",\"--tasks-pattern or -tp. It's a glob pattern of files to import. By default it is **/tasks.py which searches for all tasks.py files. May be specified multiple times.\",\"--fs-discover or -fsd. This option enables search of task files in current directory recursively, using the given pattern.\"]},\"56\":{\"h\":\"Acknowledgements\",\"t\":[\"The taskiq supports three types of acknowledgements:\",\"when_received - task is acknowledged when it is received by the worker.\",\"when_executed - task is acknowledged right after it is executed by the worker.\",\"when_saved - task is acknowledged when the result of execution is saved in the result backend.\",\"This can be configured using --ack-type parameter. For example:\",\"taskiq worker --ack-type when_executed mybroker:broker \"]},\"57\":{\"h\":\"Type casts\",\"t\":[\"One of features taskiq have is automatic type casts. For example you have a type-hinted task like this:\",\"async def task(val: int) -> int: return val + 1 \",\"If you'll call task.kiq(\\\"2\\\") you'll get 3 as the returned value. Because we parse signatures of tasks and cast incoming parameters to target types. If type-cast fails you won't throw any error. It just leave the value as is. That functionality allows you to use pydantic models, or dataclasses as the input parameters.\",\"To disable this pass the --no-parse option to the taskiq.\"]},\"58\":{\"h\":\"Hot reload\",\"t\":[\"This is annoying to restart workers every time you modify tasks. That's why taskiq supports hot-reload. Reload is unavailable by default. To enable this feature install taskiq with reload extra.\",\"To enable this option simply pass the --reload or -r option to worker taskiq CLI.\",\"Also this option supports .gitignore files. If you have such file in your directory, it won't reload worker when you modify ignored files. To disable this functionality pass --do-not-use-gitignore option.\"]},\"59\":{\"h\":\"Other parameters\",\"t\":[\"--no-configure-logging - disables default logging configuration for workers.\",\"--log-level is used to set a log level (default INFO).\",\"--max-async-tasks - maximum number of simultaneously running async tasks.\",\"--max-prefetch - number of tasks to be prefetched before execution. (Useful for systems with high message rates, but brokers should support acknowledgements).\",\"--max-threadpool-threads - number of threads for sync function exection.\",\"--no-propagate-errors - if this parameter is enabled, exceptions won't be thrown in generator dependencies.\",\"--receiver - python path to custom receiver class.\",\"--receiver_arg - custom args for receiver.\",\"--ack-type - Type of acknowledgement. This parameter is used to set when to acknowledge the task. Possible values are when_received, when_executed, when_saved. Default is when_saved.\",\"max-tasks-per-child - maximum number of tasks to be executed by a single worker process before restart.\",\"--shutdown-timeout - maximum amount of time for graceful broker's shutdown in seconds.\",\"--wait-tasks-timeout - if cannot read new messages from the broker or maximum number of tasks is reached, worker will wait for all current tasks to finish. This parameter sets the maximum amount of time to wait until shutdown.\"]},\"60\":{\"h\":\"Scheduler\",\"t\":[\"Scheduler is used to schedule tasks as described in Scheduling tasks section.\",\"To run it simply run\",\"taskiq scheduler [optional module to import]... \",\"For example\",\"taskiq scheduler my_project.broker:scheduler my_project.module1 my_project.module2 \"]},\"61\":{\"h\":\"Parameters\",\"t\":[\"Path to scheduler is the only required argument.\",\"--tasks-pattern or -tp. It's a glob pattern of files to import. By default it is **/tasks.py which searches for all tasks.py files. May be specified multiple times.\",\"--fs-discover or -fsd. This option enables search of task files in current directory recursively, using the given pattern.\",\"--no-configure-logging - use this parameter if your application configures custom logging.\",\"--log-level is used to set a log level (default INFO).\",\"--skip-first-run - skip first run of scheduler. This option skips running tasks immediately after scheduler start.\"]},\"62\":{\"h\":\"Dynamic Environments\",\"t\":[\"This article is for people who want to:\",\"Create brokers dynamically.\",\"Register tasks, and run them inside their code.\",\"Implement more complex logic.\",\"Taskiq allows you to set up broker instances throughout your application and register tasks for dynamic execution. However, tasks created this way won't be found by the taskiq worker command.\",\"To define tasks and assign them to a broker, use register_task method.\",\"import asyncio from taskiq_redis import ListQueueBroker async def main() -> None: # Here we define a broker. dyn_broker = ListQueueBroker(\\\"redis://localhost\\\") await dyn_broker.startup() # Now we register lambda as a task. dyn_task = dyn_broker.register_task( lambda x: print(\\\"A\\\", x), task_name=\\\"dyn_task\\\", ) # now we can send it. await dyn_task.kiq(x=1) await dyn_broker.shutdown() if __name__ == \\\"__main__\\\": asyncio.run(main()) \",\"In this example, the task is defined using a lambda within the main function. As the lambda is not visible outside of the main function scope, the task is not executable by taskiq worker command.\",\"To overcome this issue, you can:\",\"Create a dynamic worker task within the current event loop.\",\"Implement your own broker listener with the information about all of your tasks.\",\"Here's an example of a dynamic worker task creation:\",\"import asyncio from taskiq_redis import ListQueueBroker from taskiq.api import run_receiver_task async def main() -> None: # Here we define a broker. dyn_broker = ListQueueBroker(\\\"redis://localhost\\\") await dyn_broker.startup() worker_task = asyncio.create_task(run_receiver_task(dyn_broker)) # Now we register lambda as a task. dyn_task = dyn_broker.register_task( lambda x: print(\\\"A\\\", x), task_name=\\\"dyn_task\\\", ) # Now we can send it. await dyn_task.kiq(x=1) await asyncio.sleep(2) worker_task.cancel() try: await worker_task except asyncio.CancelledError: print(\\\"Worker successfully exited.\\\") await dyn_broker.shutdown() if __name__ == \\\"__main__\\\": asyncio.run(main()) \",\"In this example, a named dynamic lambda task is created and registered in a broker, similar to the previous example. The difference is the creation of a new receiver coroutine for the worker task. It will listen to the new messages and execute them. The worker task will be executed in the current event loop. After exiting the scope, the worker task will get cancelled. For illustration purposes it is cancelled explicitly.\",\"It's possible to run a scheduler in the current event loop as well:\",\"import asyncio import datetime from taskiq_redis import ListQueueBroker from taskiq import TaskiqScheduler from taskiq.api import run_receiver_task, run_scheduler_task from taskiq.schedule_sources import LabelScheduleSource async def main() -> None: # Here we define a broker. dyn_broker = ListQueueBroker(\\\"redis://localhost\\\") dyn_scheduler = TaskiqScheduler(dyn_broker, [LabelScheduleSource(dyn_broker)]) await dyn_broker.startup() # Now we register lambda as a task. dyn_task = dyn_broker.register_task( lambda x: print(\\\"A\\\", x), task_name=\\\"dyn_task\\\", # We add a schedule when to run task. schedule=[ { # Here we also can specify cron instead of time. \\\"time\\\": datetime.datetime.utcnow() + datetime.timedelta(seconds=2), \\\"args\\\": [22], }, ], ) # We create scheduler after the task declaration, # so we don't have to wait a minute before it gets to the task. # However, defining a scheduler before the task declaration is also possible. # But we have to wait till it gets to task execution for the second time. worker_task = asyncio.create_task(run_receiver_task(dyn_broker)) scheduler_task = asyncio.create_task(run_scheduler_task(dyn_scheduler)) # We still able to send the task. await dyn_task.kiq(x=1) await asyncio.sleep(10) worker_task.cancel() try: await worker_task except asyncio.CancelledError: print(\\\"Worker successfully exited.\\\") scheduler_task.cancel() try: await scheduler_task except asyncio.CancelledError: print(\\\"Scheduler successfully exited.\\\") await dyn_broker.shutdown() if __name__ == \\\"__main__\\\": asyncio.run(main()) \"]},\"63\":{\"h\":\"Getting started\"},\"64\":{\"h\":\"Installation\",\"t\":[\"You can install taskiq from pypi or directly from git using pip:\",\"After installation of the core library, you need to find the broker that fits you. You can do it using PyPI search.\",\"Cool tip!\",\"We highly recommend taskiq-aio-pika or taskiq-nats as the broker and taskiq-redis as the result backend for production use.\"]},\"65\":{\"h\":\"Running tasks\",\"t\":[\"Now you need to create a python module with broker declaration. It's just a plain python file with the variable of your broker. For this particular example, I'm going to use the InMemoryBroker.\",\"Important note\",\"The InMemoryBroker doesn't send any data over the network, and you cannot use this broker in a real-world scenario, but it's still useful for local development if you do not want to set up a taskiq worker.\",\"# broker.py from taskiq import InMemoryBroker broker = InMemoryBroker() \",\"And that's it. Now let's add some tasks and the main function. You can add tasks in separate modules. You can find more information about that further. Also, we call the startup method at the beginning of the main function.\",\"# broker.py import asyncio from taskiq import InMemoryBroker broker = InMemoryBroker() @broker.task async def add_one(value: int) -> int: return value + 1 async def main() -> None: # Never forget to call startup in the beginning. await broker.startup() # Send the task to the broker. task = await add_one.kiq(1) # Wait for the result. result = await task.wait_result(timeout=2) print(f\\\"Task execution took: {result.execution_time} seconds.\\\") if not result.is_err: print(f\\\"Returned value: {result.return_value}\\\") else: print(\\\"Error found while executing task.\\\") await broker.shutdown() if __name__ == \\\"__main__\\\": asyncio.run(main()) \",\"Cool warning!\",\"Calling the startup method is necessary. If you don't call it, you may get an undefined behaviour.\",\"If you run this code, you will get this in your terminal:\",\"❯ python mybroker.py Task execution took: 7.3909759521484375e-06 seconds. Returned value: 2 \",\"Ok, the code of the task execution is a little bit fancier than an ordinary function call, but it's still relatively simple to understand. To send a task to the broker, you need to call the .kiq method on the function, it returns the TaskiqTask object that can check whether the result is ready or not. Also it has methods to wait for the result to become available.\",\"You can get more information about taskiq types, CLI and internal structure in the \\\"Architecture overview\\\" section.\"]},\"66\":{\"h\":\"Distributed run\",\"t\":[\"Now let's change InMemoryBroker to some distributed broker instead. In this example we are going to use broker that works with rabbitMQ.\",\"At first we must install the taskiq-aio-pika lib.\",\"pip install taskiq-aio-pika \",\"After the installation, replace the broker we defined earlier with the broker from the taskiq-aio-pika.\",\"from taskiq_aio_pika import AioPikaBroker broker = AioPikaBroker('amqp://guest:guest@localhost:5672') \",\"Also, AioPika broker requires to call startup before using it. Add this line at the beginning of the main function.\",\"await broker.startup() \",\"That's all you need to do.\",\"Complete code\",\"# broker.py import asyncio from taskiq_aio_pika import AioPikaBroker broker = AioPikaBroker(\\\"amqp://guest:guest@localhost:5672\\\") @broker.task async def add_one(value: int) -> int: return value + 1 async def main() -> None: await broker.startup() # Send the task to the broker. task = await add_one.kiq(1) # Wait for the result. result = await task.wait_result(timeout=2) print(f\\\"Task execution took: {result.execution_time} seconds.\\\") if not result.is_err: print(f\\\"Returned value: {result.return_value}\\\") else: print(\\\"Error found while executing task.\\\") await broker.shutdown() if __name__ == \\\"__main__\\\": asyncio.run(main()) \",\"Let's run the worker process. First of all, we need rabbitMQ up and running. I highly recommend you use docker.\",\"Now we need to start worker process by running taskiq cli command. You can get more info about the CLI in the CLI section.\",\"taskiq worker broker:broker \",\"After the worker is up, we can run our script as an ordinary python file and see how the worker executes tasks.\",\"$ python broker.py Task execution took: 0.0 seconds. Returned value: None \",\"But the printed result value is not correct. That happens because we didn't provide any result backend that can store results of task execution. To store results, we can use the taskiq-redis library.\",\"pip install taskiq-redis \",\"After the installation, add a new result backend to the broker.\",\"from taskiq_redis import RedisAsyncResultBackend broker = AioPikaBroker( \\\"amqp://guest:guest@localhost:5672\\\", ).with_result_backend(RedisAsyncResultBackend(\\\"redis://localhost\\\")) \",\"Now we need to start redis.\",\"Complete code\",\"# broker.py import asyncio from taskiq_aio_pika import AioPikaBroker from taskiq_redis import RedisAsyncResultBackend broker = AioPikaBroker( \\\"amqp://guest:guest@localhost:5672\\\", ).with_result_backend(RedisAsyncResultBackend(\\\"redis://localhost\\\")) @broker.task async def add_one(value: int) -> int: return value + 1 async def main() -> None: await broker.startup() # Send the task to the broker. task = await add_one.kiq(1) # Wait for the result. result = await task.wait_result(timeout=2) print(f\\\"Task execution took: {result.execution_time} seconds.\\\") if not result.is_err: print(f\\\"Returned value: {result.return_value}\\\") else: print(\\\"Error found while executing task.\\\") await broker.shutdown() if __name__ == \\\"__main__\\\": asyncio.run(main()) \",\"Let's run taskiq once again. The command is the same.\",\"taskiq worker broker:broker \",\"Now, if we run this file with python, we can get the correct results with a valid execution time.\",\"$ python broker.py Task execution took: 1.0013580322265625e-05 seconds. Returned value: 2 \",\"Continue reading to get more information about taskiq internals.\"]},\"67\":{\"h\":\"Timeouts\",\"t\":[\"If you want to restrict amount of time you want to run task, just add timeout label to the task.\",\"You can do it either with decorator or when calling the task.\",\"Cool alert\",\"We use run_in_executor method to run sync functions. Timeouts will raise a TimeoutException, but\\nsynchronous function may not stop from execution. This is a constraint of python.\"]},\"68\":{\"h\":\"Taskiq message format\",\"t\":[\"Taskiq doesn't force you to use any specific message format. We define default message format, but you can use any format you want.\",\"The default message format is:\",\"But this can be easily changed by creating your own implementation of the TaskiqFormatter class or TaskiqSerializer class.\"]},\"69\":{\"h\":\"Serializers\",\"t\":[\"Serializers define the format of the message but not the structure. For example, if you want to use msgpack or ORJson to serialize your message, you should update the serializer of your broker.\",\"Be default, Taskiq uses JSON serializer. But we also have some implementations of other serializers:\",\"ORJSONSerializer - faster JSON implementation. Also, it supports datetime and UUID serialization.\",\"MSGPackSerializer - MsgPack format serializer. It might be useful to send less data over the network.\",\"CBORSerializer - CBOR format serializer. It is also has a smaller size than JSON.\",\"To define your own serializer, you have to subclass the TaskiqSerializer class and implement dumpb and loadb methods. You can take a look at the existing implementations from the taskiq.serializers module.\",\"To install taskiq with libraries for non-JSON serializers, you should install taskiq with extras.\"]},\"70\":{\"h\":\"Formatters\",\"t\":[\"Formatters define the format of the message. It might be useful if you'd like to send a task to a celery worker for a different project. You can do it in seriazier as well, but formatters give you correct type hints.\",\"By default we use a formatter that dumps the message to dict and serializes it using serializer. But you can define your own formatter to send a message in any format you want. To define a new formatter, you have to subclass the TaskiqFormatter class and implement dumps and loads methods.\\nAs an example, you can take a look at the JSONFormatter from taskiq.formatters implementation.\"]},\"71\":{\"h\":\"Scheduling tasks\",\"t\":[\"Sometimes you may want to execute some tasks according to some schedule. For example, you maybe want to call a function every day at 2 pm.\",\"That's not a problem if you use taskiq. We have primitives that can help you to solve your problems.\",\"Let's imagine we have a module, as shown below, and we want to execute the heavy_task every 5 minutes. What should we do?\",\"from taskiq_aio_pika import AioPikaBroker broker = AioPikaBroker(\\\"amqp://guest:guest@localhost:5672/\\\") @broker.task async def heavy_task(value: int) -> int: return value + 1 \",\"Of course we can implement loop like this:\",\" while True: await heavy_task.kiq(1) await asyncio.sleep(timedelta(minutes=5).total_seconds) \",\"But if you have many schedules it may be a little painful to implement. So let me introduce you the TaskiqScheduler. Let's add scheduler to our module.\",\"from taskiq_aio_pika import AioPikaBroker from taskiq.schedule_sources import LabelScheduleSource from taskiq import TaskiqScheduler broker = AioPikaBroker(\\\"amqp://guest:guest@localhost:5672/\\\") scheduler = TaskiqScheduler( broker=broker, sources=[LabelScheduleSource(broker)], ) @broker.task(schedule=[{\\\"cron\\\": \\\"*/5 * * * *\\\", \\\"args\\\": [1]}]) async def heavy_task(value: int) -> int: return value + 1 \",\"That's it.\",\"Now we need to start our scheduler with the taskiq scheduler command. Like this:\",\"taskiq scheduler module:scheduler \",\"Be careful!\",\"Please always run only one instance of the scheduler! If you run more than one scheduler at a time, please be careful since it may execute one task N times, where N is the number of running scheduler instances.\",\"This command will import the scheduler you defined and start sending tasks to your broker.\",\"Cool tip!\",\"The scheduler doesn't execute tasks. It only sends them.\",\"You can check list of available schedule sources in the Available schedule sources section.\"]},\"72\":{\"h\":\"Multiple sources\",\"t\":[\"Sometimes you may want to use multiple sources to assemble a schedule for tasks. The TaskiqScheduler can do so. But it's obvious how to merge schedules from different sources.\",\"That's why you can pass a custom merge function to resolve all possible conflicts or if you want to have more complex logic aside from sources. For example, filter out some task schedules.\",\"Currently we have only two default functions to merge tasks. You can find them in the taskiq.scheduler.merge_functions module.\",\"preserve_all - simply adds new schedules to the old ones.\",\"only_unique - adds schedule only if it was not added by previous sources.\",\"Every time we update schedule it gets task from the source and executes this function to merge them together.\"]},\"73\":{\"h\":\"Working with timezones\",\"t\":[\"Sometimes, you want to be specific in terms of time zones. We have you covered. Our ScheduledTask model has fields for that. Use these fields or not, it's up to the specific schedule source.\",\"Taskiq scheduler assumes that if time has no specific timezone, it's in UTC. Sometimes, this behavior might not be convinient for developers.\",\"For the time field of ScheduledTask we use timezone information from datetime to check if a task should run.\",\"For cron tasks, we have an additional field called cron_offset that can be used to specify an offset of the cron task. An offset can be a string like Europe/Berlin or an instance of the timedelta class.\"]},\"74\":{\"h\":\"Skipping first run\",\"t\":[\"By default, when you start the scheduler it will get all tasks from the schedule source and check whether they should have been executed in this minute. If tasks should have been executed, they will be executed.\",\"This behaviour might be not convinient for some developers. For example, if you have a task that should be executed on every minute, it will be executed once you start the scheduler, even if it was executed a few seconds ago.\",\"To avoid this behaviour, you can pass the --skip-first-run flag to the taskiq scheduler command. In this case, the scheduler will wait until the start of the next minute and then start executing tasks.\",\"taskiq scheduler module:scheduler --skip-first-run \"]},\"75\":{\"h\":\"Dynamic scheduling\",\"t\":[\"Sometimes you may want to add new schedules to the scheduler on the fly. For example, you may want to run a specific function in several minutes from now. You can easily do it with ScheduleSources that support dynamic scheduling. Currently we suggest to use the RedisScheduleSource for that purpose. List of schedulers with dynamic task addition will be extended in the future. For list of available schedule sources see Available schedule sources.\",\"Here's an example of using redis schedule source:\",\"from taskiq_redis import ListQueueBroker, RedisScheduleSource from taskiq import TaskiqScheduler # Here's the broker that is going to execute tasks broker = ListQueueBroker(\\\"redis://localhost:6379/0\\\") # Here's the source that is used to store scheduled tasks redis_source = RedisScheduleSource(\\\"redis://localhost:6379/0\\\") # And here's the scheduler that is used to query scheduled sources scheduler = TaskiqScheduler(broker, sources=[redis_source]) @broker.task async def my_task(arg1: int, arg2: str) -> None: \\\"\\\"\\\"Example task.\\\"\\\"\\\" print(\\\"Hello from my_task!\\\", arg1, arg2) # noqa: T201 \",\"Now we can use this source to add new schedules in runtime. Here's an example:\",\" await redis_source.startup() await my_task.schedule_by_time( redis_source, # It's better to use UTC time, or add tzinfo to datetime. datetime.datetime.utcnow() + datetime.timedelta(minutes=1, seconds=5), # You can pass args and kwargs here as usual 11, arg2=\\\"arg2\\\", ) \",\"Or if you want to use cron schedules instead, just use schedule_by_cron method.\",\" await my_task.schedule_by_cron( redis_source, \\\"*/5 * * * *\\\", 11, arg2=\\\"arg2\\\", ) \",\"If you want to pass additional labels, you can call these methods on the Kicker instance.\",\" schedule = ( await my_task.kicker() .with_labels(label1=\\\"value\\\") .schedule_by_time( redis_source, datetime.datetime.utcnow() + datetime.timedelta(seconds=10), 11, arg2=\\\"arg2\\\", ) ) \",\"Cool warning!\",\"The with_broker method won't do anything in this case, since we have a broker assigned to each scheduler.\",\"Each of these methods return you an instance of the CreatedSchedule class. This object has unique schedule ID and some helper methods. For example, you can use the unschedule method to remove the schedule from the source.\",\" schedule = await my_task.schedule_by_time( redis_source, datetime.datetime.utcnow() + datetime.timedelta(minutes=1, seconds=5), 11, arg2=\\\"arg2\\\", ) await schedule.unschedule() \",\"Or it can be done manually, by calling delete_schedule on schedule source providing it whith schedule_id.\",\" await redis_source.delete_schedule(schedule.schedule_id) \"]},\"76\":{\"h\":\"State and Dependencies\"},\"77\":{\"h\":\"State\",\"t\":[\"The TaskiqState is a global variable where you can keep the variables you want to use later. For example, you want to open a database connection pool at a broker's startup.\",\"This can be achieved by adding event handlers.\",\"You can use one of these events:\",\"WORKER_STARTUP\",\"CLIENT_STARTUP\",\"WORKER_SHUTDOWN\",\"CLIENT_SHUTDOWN\",\"Worker events are called when you start listening to the broker messages using taskiq. Client events are called when you call the startup method of your broker from your code.\",\"This is an example of code using event handlers:\",\"Cool tip!\",\"If you want to add handlers programmatically, you can use the broker.add_event_handler function.\",\"As you can see in this example, this worker will initialize the Redis pool at the startup. You can access the state from the context.\"]},\"78\":{\"h\":\"Dependencies\",\"t\":[\"Using context directly is nice, but this way you won't get code-completion.\",\"That's why we suggest you try TaskiqDependencies. The implementation is very similar to FastApi's dependencies. You can use classes, functions, and generators as dependencies.\",\"We use the taskiq-dependencies package to provide autocompetion. You can easily integrate it in your own project.\"]},\"79\":{\"h\":\"How dependencies are useful\",\"t\":[\"You can use dependencies for better autocompletion and reduce the amount of code you write. Since the state is generic, we cannot guess the types of the state fields. Dependencies can be annotated with type hints and therefore provide better auto-completion.\",\"Let's assume that you've stored a Redis connection pool in the state as in the example above.\",\"@broker.on_event(TaskiqEvents.WORKER_STARTUP) async def startup(state: TaskiqState) -> None: # Here we store connection pool on startup for later use. state.redis = ConnectionPool.from_url(\\\"redis://localhost/1\\\") \",\"You can access this variable by using the current execution context directly, like this:\",\"If you hit the TAB button after the context.state. expression, your IDE won't give you any auto-completion. But we can create a dependency function to add auto-completion.\",\"Now, this dependency injection will be autocompleted. But, of course, state fields cannot be autocompleted, even in dependencies. But this way, you won't make any typos while writing tasks.\"]},\"80\":{\"h\":\"How do dependencies work\",\"t\":[\"We build a graph of dependencies on startup. If the parameter of the function has the default value of TaskiqDepends this parameter will be treated as a dependency.\",\"Dependencies can also depend on something. Also dependencies are optimized to not evaluate things many times.\",\"For example:\",\"In this code, the dependency common_dep is going to be evaluated only once and the dep1 and the dep2 are going to receive the same value. You can control this behavior by using the use_cache=False parameter to you dependency. This parameter will force the dependency to reevaluate all it's subdependencies.\",\"In this example we cannot predict the result. Since the dep2 doesn't use cache for the common_dep function.\",\"The graph for cached dependencies looks like this:\",\"The dependencies graph for my_task where dep2 doesn't use cached value for common_dep looks like this:\"]},\"81\":{\"h\":\"Class as a dependency\",\"t\":[\"You can use classes as dependencies, and they can also use other dependencies too.\",\"Let's see an example:\",\"As you can see, the dependency for my_task function is declared with TaskiqDependency(). It's because you can omit the class if it's declared in type-hint for the parameter. This feature doesn't work with dependency functions, it's only for classes.\",\"You can pass dependencies for classes in the constructor.\"]},\"82\":{\"h\":\"Generator dependencies\",\"t\":[\"Generator dependencies are used to perform startup before task execution and teardown after the task execution.\",\"In this example, we can do something at startup before the execution and at shutdown after the task is completed.\",\"If you want to do something asynchronously, convert this function to an asynchronous generator. Like this:\"]},\"83\":{\"h\":\"Exception handling\",\"t\":[\"Generator dependencies can handle exceptions that happen in tasks. This feature is handy if you want your system to be more atomic.\",\"For example, if you open a database transaction in your dependency and want to commit it only if the function you execute is completed successfully.\",\"If you don't want to propagate exceptions in dependencies, you can add --no-propagate-errors option to worker command.\",\"taskiq worker my_file:broker --no-propagate-errors \",\"In this case, no exception will ever going to be propagated to any dependency.\"]},\"84\":{\"h\":\"Generics\",\"t\":[\"Taskiq supports generic dependencies. You can create a generic class that is generic over another class and takskiq will be able to resolve generics based on type annotations.\"]},\"85\":{\"h\":\"Default dependencies\",\"t\":[\"By default taskiq has only two dependencies:\",\"Context from taskiq.context.Context\",\"TaskiqState from taskiq.state.TaskiqState\"]},\"86\":{\"h\":\"Adding first-level dependencies\",\"t\":[\"You can expand default list of available dependencies for you application. Taskiq have an ability to add new first-level dependencies using brokers.\",\"The AsyncBroker interface has a function called add_dependency_context and you can add\\nmore default dependencies to the taskiq. This may be useful for libraries if you want to\\nadd new dependencies to users.\"]},\"87\":{\"h\":\"Testing with taskiq\",\"t\":[\"Every time we write programs, we want them to be correct. To achieve this, we use tests. Taskiq allows you to write tests easily as if tasks were normal functions.\",\"Let's dive into examples.\"]},\"88\":{\"h\":\"Preparations\"},\"89\":{\"h\":\"Environment setup\",\"t\":[\"For testing you maybe don't want to use actual distributed broker. But still you want to validate your logic. Since python is an interpreted language, you can easily replace you broker with another one if the expression is correct.\",\"We can set an environment variable, that indicates that currently we're running in testing environment.\",\"Or we can even tell pytest to set this environment for us, just before executing tests using pytest-env plugin.\"]},\"90\":{\"h\":\"Async tests\",\"t\":[\"Since taskiq is fully async, we suggest using anyio to run async functions in pytest. Install the lib and place this fixture somewhere in your root conftest.py file.\",\"@pytest.fixture def anyio_backend(): return 'asyncio' \",\"After the preparations are done, we need to modify the broker's file in your project.\",\"import os from taskiq import AsyncBroker, InMemoryBroker, ZeroMQBroker env = os.environ.get(\\\"ENVIRONMENT\\\") broker: AsyncBroker = ZeroMQBroker() if env and env == \\\"pytest\\\": broker = InMemoryBroker() \",\"As you can see, we added an if statement. If the expression is true, we replace our broker with an imemory broker. The main point here is to not have an actual connection during testing. It's useful because inmemory broker has the same interface as a real broker, but it doesn't send tasks actually.\"]},\"91\":{\"h\":\"Testing tasks\",\"t\":[\"Let's define a task.\",\"from your_project.taskiq import broker @broker.task async def parse_int(val: str) -> int: return int(val) \",\"This simple task may be defined anywhere in your project. If you want to test it, just import it and call as a normal function.\",\"import pytest from your_project.tasks import parse_int @pytest.mark.anyio async def test_task(): assert await parse_int(\\\"11\\\") == 11 \",\"And that's it. Test should pass.\",\"What if you want to test a function that uses task. Let's define such function.\",\"from your_project.taskiq import broker @broker.task async def parse_int(val: str) -> int: return int(val) async def parse_and_add_one(val: str) -> int: task = await parse_int.kiq(val) result = await task.wait_result() return result.return_value + 1 \",\"And since we replaced our broker with InMemoryBroker, we can just call it. It would work as you expect and tests should pass.\",\"@pytest.mark.anyio async def test_add_one(): assert await parse_and_add_one(\\\"11\\\") == 12 \"]},\"92\":{\"h\":\"Dependency injection\",\"t\":[\"If you use dependencies in your tasks, you may think that this can become a problem. But it's not. Here's what we came up with. We added a method called add_dependency_context to the broker. It sets base dependencies for dependency resolution. You can use it for tests.\",\"Let's add a task that depends on Path. I guess this example is not meant to be used in production code bases, but it's suitable for illustration purposes.\",\"To test the task itself, it's not different to the example without dependencies, but we jsut need to pass all expected dependencies manually as function's arguments or key-word arguments.\",\"import pytest from your_project.taskiq import broker from pathlib import Path @pytest.mark.anyio async def test_modify_path(): modified = await modify_path(Path.cwd()) assert str(modified).endswith(\\\"taskiq.py\\\") \",\"But what if we want to test task execution? Well, you don't need to provide dependencies manually, you must mutate dependency_context before calling a task. We suggest to do it in fixtures.\",\"import pytest from your_project.taskiq import broker from pathlib import Path # We use autouse, so this fixture # is called automatically before all tests. @pytest.fixture(scope=\\\"function\\\", autouse=True) async def init_taskiq_dependencies(): # Here we use Path, but you can use other # pytest fixtures here. E.G. FastAPI app. broker.add_dependency_context({Path: Path.cwd()}) yield # After the test we clear all custom dependencies. broker.custom_dependency_context = {} \",\"This fixture will update dependency context for our broker before every test. Now tasks with dependencies can be used. Let's try it out.\",\"@pytest.mark.anyio async def test_modify_path(): task = await modify_path.kiq() result = await task.wait_result() assert str(result.return_value).endswith(\\\"taskiq.py\\\") \",\"This should pass. And that's it for now.\"]},\"93\":{\"h\":\"\",\"t\":[\"404 Not Found\"]}},\"dirtCount\":0,\"index\":[[\"5\",{\"1\":{\"71\":2,\"75\":1}}],[\"5672\",{\"1\":{\"66\":4,\"71\":2}}],[\"7\",{\"1\":{\"65\":1}}],[\"x=1\",{\"1\":{\"62\":3}}],[\"x\",{\"1\":{\"62\":6}}],[\"xdist\",{\"1\":{\"6\":1}}],[\"\",{\"1\":{\"11\":1,\"27\":5,\"28\":1,\"30\":1,\"32\":5,\"33\":7,\"36\":1,\"39\":1,\"40\":1,\"41\":1,\"47\":1,\"48\":3,\"51\":2,\"57\":1,\"62\":3,\"65\":2,\"66\":4,\"71\":2,\"75\":1,\"79\":1,\"91\":3}}],[\"12\",{\"1\":{\"91\":1}}],[\"11\",{\"1\":{\"75\":4,\"91\":3}}],[\"10\",{\"1\":{\"62\":1}}],[\"1\",{\"1\":{\"10\":1,\"47\":1,\"48\":3,\"51\":1,\"57\":1,\"65\":2,\"66\":5,\"71\":4,\"79\":1,\"91\":1}}],[\"zones\",{\"1\":{\"73\":1}}],[\"zmq\",{\"1\":{\"10\":3}}],[\"zeromqbroker\",{\"0\":{\"10\":1},\"1\":{\"17\":2,\"18\":2,\"40\":2,\"90\":2}}],[\"22\",{\"1\":{\"62\":1}}],[\"2\",{\"1\":{\"6\":1,\"57\":1,\"62\":1,\"65\":1,\"66\":1,\"71\":1}}],[\"g\",{\"1\":{\"92\":1}}],[\"guess\",{\"1\":{\"79\":1,\"92\":1}}],[\"guest\",{\"1\":{\"66\":8,\"71\":4}}],[\"guide\",{\"0\":{\"3\":1},\"1\":{\"3\":1,\"4\":1}}],[\"graph\",{\"1\":{\"80\":3}}],[\"graphs\",{\"1\":{\"37\":1}}],[\"graceful\",{\"1\":{\"59\":1}}],[\"give\",{\"1\":{\"70\":1,\"79\":1}}],[\"given\",{\"1\":{\"55\":1,\"61\":1}}],[\"gitignore\",{\"1\":{\"58\":2}}],[\"git\",{\"1\":{\"5\":1,\"64\":1}}],[\"glob\",{\"1\":{\"55\":1,\"61\":1}}],[\"global\",{\"1\":{\"44\":1,\"77\":1}}],[\"generics\",{\"0\":{\"84\":1},\"1\":{\"84\":1}}],[\"generic\",{\"1\":{\"79\":1,\"84\":3}}],[\"generators\",{\"1\":{\"78\":1}}],[\"generator\",{\"0\":{\"82\":1},\"1\":{\"59\":1,\"82\":2,\"83\":1}}],[\"generates\",{\"1\":{\"47\":1}}],[\"general\",{\"1\":{\"41\":1}}],[\"getting\",{\"0\":{\"63\":1}}],[\"gets\",{\"1\":{\"62\":2,\"72\":1}}],[\"get\",{\"1\":{\"27\":1,\"32\":2,\"33\":2,\"39\":1,\"40\":2,\"41\":1,\"47\":1,\"49\":1,\"50\":2,\"52\":3,\"57\":1,\"62\":1,\"65\":3,\"66\":3,\"74\":1,\"78\":1,\"90\":1}}],[\"gained\",{\"1\":{\"40\":1}}],[\"got\",{\"1\":{\"40\":1}}],[\"going\",{\"1\":{\"36\":2,\"47\":1,\"65\":1,\"66\":1,\"75\":1,\"80\":2,\"83\":1}}],[\"good\",{\"1\":{\"29\":1,\"32\":1}}],[\"hit\",{\"1\":{\"79\":1}}],[\"hint\",{\"1\":{\"81\":1}}],[\"hints\",{\"1\":{\"70\":1,\"79\":1}}],[\"hinted\",{\"1\":{\"57\":1}}],[\"high\",{\"1\":{\"59\":1}}],[\"higher\",{\"1\":{\"29\":1}}],[\"highly\",{\"1\":{\"5\":1,\"38\":1,\"40\":1,\"64\":1,\"66\":1}}],[\"httpconnection\",{\"1\":{\"40\":3}}],[\"h\",{\"1\":{\"30\":2}}],[\"hello\",{\"1\":{\"47\":1,\"48\":3,\"75\":1}}],[\"helps\",{\"1\":{\"41\":1,\"43\":1}}],[\"helpful\",{\"1\":{\"31\":1}}],[\"help=\",{\"1\":{\"30\":1}}],[\"help\",{\"1\":{\"30\":4,\"50\":1,\"71\":1}}],[\"helper\",{\"1\":{\"27\":2,\"33\":3,\"75\":1}}],[\"heavy\",{\"1\":{\"43\":1,\"71\":4}}],[\"here\",{\"1\":{\"24\":1,\"27\":3,\"28\":1,\"32\":3,\"33\":2,\"36\":2,\"38\":1,\"40\":1,\"41\":1,\"44\":1,\"51\":2,\"52\":1,\"62\":5,\"75\":6,\"79\":1,\"90\":1,\"92\":3}}],[\"hot\",{\"0\":{\"58\":1},\"1\":{\"58\":1}}],[\"however\",{\"1\":{\"62\":2}}],[\"how\",{\"0\":{\"79\":1,\"80\":1},\"1\":{\"23\":1,\"35\":1,\"36\":1,\"52\":1,\"66\":1,\"72\":1}}],[\"hooks\",{\"1\":{\"31\":1,\"51\":1}}],[\"hook\",{\"1\":{\"5\":1,\"51\":2}}],[\"had\",{\"1\":{\"40\":2}}],[\"happens\",{\"1\":{\"51\":1,\"66\":1}}],[\"happen\",{\"1\":{\"37\":1,\"83\":1}}],[\"handling\",{\"0\":{\"83\":1}}],[\"handle\",{\"1\":{\"36\":1,\"38\":1,\"83\":1}}],[\"handlers\",{\"1\":{\"37\":1,\"38\":1,\"77\":3}}],[\"handler\",{\"1\":{\"34\":1,\"40\":1,\"77\":1}}],[\"hand\",{\"1\":{\"39\":1}}],[\"handing\",{\"1\":{\"36\":1}}],[\"handy\",{\"1\":{\"27\":1,\"83\":1}}],[\"have\",{\"1\":{\"3\":2,\"4\":1,\"5\":1,\"11\":1,\"18\":1,\"22\":1,\"27\":1,\"29\":1,\"30\":1,\"31\":1,\"32\":3,\"33\":3,\"35\":1,\"39\":1,\"40\":3,\"41\":1,\"43\":3,\"44\":4,\"49\":1,\"50\":3,\"51\":1,\"54\":1,\"55\":1,\"57\":2,\"58\":1,\"62\":2,\"69\":2,\"70\":1,\"71\":3,\"72\":2,\"73\":2,\"74\":3,\"75\":1,\"86\":1,\"90\":1}}],[\"has\",{\"1\":{\"1\":1,\"16\":1,\"29\":2,\"38\":1,\"40\":1,\"41\":1,\"45\":1,\"46\":1,\"48\":1,\"50\":1,\"52\":1,\"65\":1,\"69\":1,\"73\":2,\"75\":1,\"80\":1,\"85\":1,\"86\":1,\"90\":1}}],[\"url\",{\"1\":{\"79\":1}}],[\"uuid\",{\"1\":{\"69\":1}}],[\"uvloop\",{\"1\":{\"50\":1}}],[\"uvicorn\",{\"1\":{\"40\":1}}],[\"utc\",{\"1\":{\"73\":1,\"75\":1}}],[\"utcnow\",{\"1\":{\"62\":1,\"75\":3}}],[\"utils\",{\"1\":{\"50\":2}}],[\"utf\",{\"1\":{\"27\":1}}],[\"unschedule\",{\"1\":{\"75\":2}}],[\"understand\",{\"1\":{\"65\":1}}],[\"undefined\",{\"1\":{\"10\":1,\"65\":1}}],[\"unavailable\",{\"1\":{\"58\":1}}],[\"unique\",{\"1\":{\"48\":1,\"72\":1,\"75\":1}}],[\"union\",{\"1\":{\"27\":2}}],[\"until\",{\"1\":{\"40\":1,\"59\":1,\"74\":1}}],[\"unless\",{\"1\":{\"32\":1}}],[\"usual\",{\"1\":{\"75\":1}}],[\"us\",{\"1\":{\"38\":1,\"89\":1}}],[\"usage\",{\"1\":{\"30\":1}}],[\"using\",{\"1\":{\"4\":3,\"5\":1,\"6\":1,\"11\":1,\"24\":1,\"35\":2,\"38\":1,\"44\":2,\"45\":1,\"47\":1,\"48\":3,\"53\":1,\"55\":1,\"56\":1,\"61\":1,\"62\":1,\"64\":2,\"66\":1,\"70\":1,\"75\":1,\"77\":2,\"78\":1,\"79\":1,\"80\":1,\"86\":1,\"89\":1,\"90\":1}}],[\"useful\",{\"0\":{\"79\":1},\"1\":{\"48\":2,\"52\":2,\"59\":1,\"65\":1,\"69\":1,\"70\":1,\"86\":1,\"90\":1}}],[\"users\",{\"1\":{\"40\":1,\"86\":1}}],[\"user\",{\"1\":{\"11\":1}}],[\"used\",{\"1\":{\"11\":1,\"19\":1,\"20\":1,\"22\":1,\"32\":1,\"33\":1,\"47\":1,\"49\":2,\"51\":1,\"53\":1,\"59\":2,\"60\":1,\"61\":1,\"73\":1,\"75\":2,\"82\":1,\"92\":2}}],[\"use\",{\"0\":{\"44\":1},\"1\":{\"4\":1,\"6\":1,\"11\":2,\"23\":2,\"24\":3,\"27\":1,\"30\":3,\"31\":1,\"34\":1,\"35\":5,\"36\":3,\"38\":2,\"39\":2,\"40\":5,\"41\":2,\"43\":2,\"45\":1,\"47\":1,\"49\":1,\"51\":2,\"52\":1,\"54\":1,\"57\":1,\"58\":1,\"61\":1,\"62\":1,\"64\":1,\"65\":2,\"66\":3,\"67\":1,\"68\":2,\"69\":1,\"70\":1,\"71\":1,\"72\":1,\"73\":2,\"75\":6,\"77\":3,\"78\":2,\"79\":2,\"80\":3,\"81\":2,\"87\":1,\"89\":1,\"92\":5}}],[\"uses\",{\"1\":{\"1\":1,\"9\":2,\"10\":1,\"23\":1,\"31\":1,\"47\":1,\"49\":1,\"51\":1,\"69\":1,\"91\":1}}],[\"update\",{\"1\":{\"69\":1,\"72\":1,\"92\":1}}],[\"up\",{\"0\":{\"4\":1},\"1\":{\"36\":1,\"62\":1,\"65\":1,\"66\":2,\"73\":1,\"92\":1}}],[\"e\",{\"1\":{\"92\":1}}],[\"evaluated\",{\"1\":{\"80\":1}}],[\"evaluate\",{\"1\":{\"80\":1}}],[\"ever\",{\"1\":{\"83\":1}}],[\"everything\",{\"1\":{\"36\":1,\"40\":1}}],[\"every\",{\"1\":{\"31\":1,\"40\":1,\"41\":1,\"45\":1,\"46\":1,\"48\":1,\"49\":1,\"51\":1,\"58\":1,\"71\":2,\"72\":1,\"74\":1,\"87\":1,\"92\":1}}],[\"events\",{\"1\":{\"34\":1,\"35\":1,\"36\":1,\"44\":1,\"77\":3}}],[\"event\",{\"1\":{\"16\":1,\"37\":2,\"40\":2,\"50\":1,\"62\":3,\"77\":3,\"79\":1}}],[\"even\",{\"1\":{\"5\":1,\"37\":1,\"47\":1,\"52\":1,\"74\":1,\"79\":1,\"89\":1}}],[\"europe\",{\"1\":{\"73\":1}}],[\"else\",{\"1\":{\"65\":1,\"66\":2}}],[\"element\",{\"1\":{\"46\":1}}],[\"err\",{\"1\":{\"65\":1,\"66\":2}}],[\"error=true\",{\"1\":{\"17\":1}}],[\"error\",{\"1\":{\"17\":2,\"51\":1,\"57\":1,\"65\":1,\"66\":2}}],[\"errors\",{\"1\":{\"17\":1,\"59\":1,\"83\":2}}],[\"edge\",{\"1\":{\"51\":1}}],[\"equivalent\",{\"1\":{\"48\":1}}],[\"earlier\",{\"1\":{\"66\":1}}],[\"easier\",{\"1\":{\"39\":1}}],[\"easily\",{\"1\":{\"30\":1,\"36\":2,\"43\":1,\"68\":1,\"75\":1,\"78\":1,\"87\":1,\"89\":1}}],[\"easy\",{\"1\":{\"30\":1,\"34\":1,\"39\":1,\"40\":2,\"43\":1,\"52\":1}}],[\"each\",{\"1\":{\"12\":1,\"35\":2,\"75\":2}}],[\"except\",{\"1\":{\"51\":1,\"62\":3}}],[\"exceptions\",{\"1\":{\"59\":1,\"83\":2}}],[\"exception\",{\"0\":{\"83\":1},\"1\":{\"17\":2,\"51\":2,\"83\":1}}],[\"existing\",{\"0\":{\"44\":1},\"1\":{\"69\":1}}],[\"exists\",{\"1\":{\"32\":1,\"38\":1}}],[\"exiting\",{\"1\":{\"62\":1}}],[\"exited\",{\"1\":{\"62\":3}}],[\"exit\",{\"1\":{\"30\":1}}],[\"expand\",{\"1\":{\"86\":1}}],[\"expression\",{\"1\":{\"79\":1,\"89\":1,\"90\":1}}],[\"experience\",{\"1\":{\"37\":1}}],[\"expected\",{\"1\":{\"92\":1}}],[\"expect\",{\"1\":{\"31\":1,\"40\":1,\"91\":1}}],[\"explained\",{\"1\":{\"24\":1}}],[\"explicitly\",{\"1\":{\"11\":1,\"32\":1,\"40\":1,\"62\":1}}],[\"exection\",{\"1\":{\"59\":1}}],[\"exec\",{\"1\":{\"30\":2}}],[\"executor\",{\"1\":{\"67\":1}}],[\"executing\",{\"1\":{\"65\":1,\"66\":2,\"74\":1,\"89\":1}}],[\"execution\",{\"1\":{\"17\":1,\"19\":2,\"29\":1,\"31\":2,\"32\":2,\"33\":1,\"49\":1,\"51\":1,\"52\":2,\"56\":1,\"59\":1,\"62\":2,\"65\":4,\"66\":8,\"67\":1,\"79\":1,\"82\":3,\"92\":1}}],[\"executable\",{\"1\":{\"62\":1}}],[\"executes\",{\"1\":{\"66\":1,\"72\":1}}],[\"executed\",{\"1\":{\"9\":1,\"10\":1,\"29\":1,\"51\":9,\"56\":3,\"59\":2,\"62\":1,\"74\":6}}],[\"execute\",{\"1\":{\"9\":1,\"16\":1,\"31\":1,\"33\":2,\"43\":1,\"44\":1,\"51\":3,\"62\":1,\"71\":4,\"75\":1,\"83\":1}}],[\"examples\",{\"1\":{\"38\":2,\"40\":2,\"87\":1}}],[\"example\",{\"1\":{\"28\":1,\"31\":1,\"32\":1,\"33\":1,\"38\":1,\"40\":1,\"43\":1,\"46\":2,\"48\":2,\"49\":1,\"50\":1,\"51\":2,\"52\":1,\"56\":1,\"57\":1,\"60\":1,\"62\":4,\"65\":1,\"66\":1,\"69\":1,\"70\":1,\"71\":1,\"72\":1,\"74\":1,\"75\":5,\"77\":3,\"79\":1,\"80\":2,\"81\":1,\"82\":1,\"83\":1,\"92\":2}}],[\"external\",{\"1\":{\"46\":2}}],[\"extended\",{\"1\":{\"75\":1}}],[\"extend\",{\"1\":{\"25\":1,\"43\":2}}],[\"extendable\",{\"1\":{\"25\":1,\"47\":1}}],[\"extending\",{\"0\":{\"25\":1}}],[\"extras\",{\"1\":{\"18\":1,\"69\":1}}],[\"extra\",{\"1\":{\"10\":1,\"58\":1}}],[\"endswith\",{\"1\":{\"92\":2}}],[\"environ\",{\"1\":{\"90\":1}}],[\"environments\",{\"0\":{\"62\":1},\"1\":{\"4\":1,\"6\":1}}],[\"environment\",{\"0\":{\"4\":1,\"89\":1},\"1\":{\"89\":3,\"90\":1}}],[\"env\",{\"1\":{\"89\":1,\"90\":3}}],[\"enumerating\",{\"1\":{\"55\":1}}],[\"ensure\",{\"1\":{\"51\":1}}],[\"entry\",{\"1\":{\"30\":2}}],[\"entrypoint\",{\"1\":{\"30\":1}}],[\"enabled\",{\"1\":{\"59\":1}}],[\"enables\",{\"1\":{\"17\":1,\"55\":1,\"61\":1}}],[\"enable\",{\"1\":{\"17\":1,\"18\":1,\"24\":1,\"36\":1,\"58\":2}}],[\"encounter\",{\"1\":{\"10\":1}}],[\"either\",{\"1\":{\"3\":1,\"24\":2,\"28\":1,\"31\":1,\"52\":1,\"67\":1}}],[\"ecosystem\",{\"1\":{\"1\":1}}],[\"r\",{\"1\":{\"58\":1}}],[\"root\",{\"1\":{\"90\":1}}],[\"routing\",{\"1\":{\"48\":1}}],[\"robust\",{\"1\":{\"37\":1}}],[\"rich\",{\"1\":{\"44\":1}}],[\"right\",{\"1\":{\"41\":1,\"51\":1,\"56\":1}}],[\"rates\",{\"1\":{\"59\":1}}],[\"raw\",{\"1\":{\"27\":1,\"28\":1}}],[\"raise\",{\"1\":{\"17\":1,\"33\":1,\"67\":1}}],[\"raised\",{\"1\":{\"17\":1}}],[\"rabbitmq\",{\"0\":{\"13\":1},\"1\":{\"44\":1,\"66\":2}}],[\"runner\",{\"1\":{\"39\":1}}],[\"running\",{\"0\":{\"65\":1},\"1\":{\"39\":1,\"59\":1,\"61\":1,\"66\":2,\"71\":1,\"89\":1}}],[\"runtime\",{\"1\":{\"23\":1,\"33\":1,\"75\":1}}],[\"run\",{\"0\":{\"66\":1,\"74\":1},\"1\":{\"4\":1,\"5\":2,\"6\":5,\"10\":3,\"24\":1,\"36\":2,\"37\":2,\"39\":1,\"41\":2,\"47\":1,\"50\":2,\"53\":1,\"54\":1,\"60\":2,\"61\":2,\"62\":12,\"65\":2,\"66\":6,\"67\":3,\"71\":2,\"73\":1,\"74\":2,\"75\":1,\"90\":1}}],[\"runs\",{\"1\":{\"3\":1,\"52\":1}}],[\"rules\",{\"1\":{\"3\":1,\"29\":1,\"40\":1}}],[\"reevaluate\",{\"1\":{\"80\":1}}],[\"reduce\",{\"1\":{\"79\":1}}],[\"redisasyncresultbackend\",{\"1\":{\"66\":4}}],[\"redisschedulesource\",{\"0\":{\"23\":1},\"1\":{\"23\":2,\"75\":3}}],[\"redis\",{\"0\":{\"14\":1,\"21\":1},\"1\":{\"14\":2,\"21\":2,\"23\":6,\"36\":2,\"40\":2,\"46\":2,\"62\":6,\"64\":1,\"66\":7,\"75\":12,\"77\":1,\"79\":3}}],[\"registered\",{\"1\":{\"62\":1}}],[\"register\",{\"1\":{\"62\":9}}],[\"relatively\",{\"1\":{\"65\":1}}],[\"reload\",{\"0\":{\"58\":1},\"1\":{\"58\":5}}],[\"releases\",{\"1\":{\"32\":1}}],[\"remove\",{\"1\":{\"75\":1}}],[\"removed\",{\"1\":{\"32\":1}}],[\"remember\",{\"1\":{\"51\":1}}],[\"reached\",{\"1\":{\"59\":1}}],[\"real\",{\"1\":{\"49\":1,\"65\":1,\"90\":1}}],[\"reads\",{\"1\":{\"46\":1}}],[\"read\",{\"1\":{\"12\":1,\"21\":1,\"23\":1,\"30\":1,\"35\":1,\"37\":1,\"59\":1}}],[\"reading\",{\"1\":{\"10\":1,\"66\":1}}],[\"ready\",{\"1\":{\"4\":1,\"32\":2,\"39\":1,\"65\":1}}],[\"readme\",{\"1\":{\"4\":1,\"12\":1,\"21\":1,\"37\":1}}],[\"receive\",{\"1\":{\"80\":1}}],[\"receiver\",{\"1\":{\"59\":4,\"62\":5}}],[\"received\",{\"1\":{\"45\":1,\"51\":1,\"52\":2,\"56\":2,\"59\":1}}],[\"recursively\",{\"1\":{\"50\":1,\"55\":2,\"61\":1}}],[\"recommend\",{\"1\":{\"5\":1,\"38\":1,\"64\":1,\"66\":1}}],[\"reuse\",{\"1\":{\"38\":2}}],[\"re\",{\"1\":{\"36\":1,\"89\":1}}],[\"reference\",{\"1\":{\"31\":1}}],[\"reject\",{\"1\":{\"28\":1,\"52\":2}}],[\"reject=message\",{\"1\":{\"28\":1}}],[\"rejecting\",{\"1\":{\"28\":1}}],[\"resolution\",{\"1\":{\"92\":1}}],[\"resolving\",{\"1\":{\"41\":1}}],[\"resolvable\",{\"1\":{\"40\":1}}],[\"resolved\",{\"1\":{\"36\":1,\"48\":1}}],[\"resolve\",{\"1\":{\"24\":1,\"40\":1,\"72\":1,\"84\":1}}],[\"restrict\",{\"1\":{\"67\":1}}],[\"restart\",{\"1\":{\"17\":2,\"58\":1,\"59\":1}}],[\"resent\",{\"1\":{\"17\":1}}],[\"resultbackend\",{\"1\":{\"49\":1}}],[\"results\",{\"1\":{\"19\":1,\"20\":2,\"45\":1,\"49\":3,\"66\":3}}],[\"result\",{\"0\":{\"19\":1,\"21\":1,\"32\":1,\"49\":1},\"1\":{\"7\":1,\"19\":1,\"20\":1,\"21\":1,\"26\":1,\"27\":1,\"32\":21,\"44\":1,\"45\":1,\"47\":1,\"49\":3,\"51\":2,\"56\":2,\"64\":1,\"65\":8,\"66\":17,\"80\":1,\"91\":3,\"92\":3}}],[\"retrieve\",{\"1\":{\"32\":1}}],[\"retries\",{\"1\":{\"17\":2}}],[\"retries=20\",{\"1\":{\"17\":1}}],[\"retry\",{\"0\":{\"17\":1},\"1\":{\"17\":3}}],[\"returned\",{\"1\":{\"57\":1,\"65\":2,\"66\":4}}],[\"returns\",{\"1\":{\"38\":1,\"41\":1,\"49\":1,\"65\":1}}],[\"returntype\",{\"1\":{\"32\":5}}],[\"return\",{\"1\":{\"11\":1,\"19\":1,\"20\":2,\"27\":2,\"28\":1,\"32\":4,\"33\":2,\"40\":1,\"41\":1,\"51\":1,\"57\":1,\"65\":2,\"66\":4,\"71\":2,\"75\":1,\"90\":1,\"91\":4,\"92\":1}}],[\"requires\",{\"1\":{\"66\":1}}],[\"required\",{\"1\":{\"4\":1,\"28\":1,\"61\":1}}],[\"requeue\",{\"1\":{\"52\":2}}],[\"request\",{\"1\":{\"3\":1,\"38\":4,\"40\":10}}],[\"replaced\",{\"1\":{\"91\":1}}],[\"replace\",{\"1\":{\"66\":1,\"89\":1,\"90\":1}}],[\"replacement\",{\"1\":{\"1\":1}}],[\"repo\",{\"1\":{\"4\":1,\"12\":1,\"38\":1,\"40\":1}}],[\"level\",{\"0\":{\"86\":1},\"1\":{\"59\":2,\"61\":2,\"86\":1}}],[\"level=logging\",{\"1\":{\"36\":1}}],[\"leave\",{\"1\":{\"57\":1}}],[\"let\",{\"1\":{\"36\":1,\"38\":1,\"40\":1,\"41\":1,\"45\":1,\"50\":2,\"65\":1,\"66\":3,\"71\":3,\"79\":1,\"81\":1,\"87\":1,\"91\":2,\"92\":2}}],[\"less\",{\"1\":{\"3\":1,\"69\":1}}],[\"language\",{\"1\":{\"89\":1}}],[\"lambda\",{\"1\":{\"62\":9}}],[\"later\",{\"1\":{\"51\":1,\"77\":1,\"79\":1}}],[\"latest\",{\"1\":{\"36\":1}}],[\"lack\",{\"1\":{\"43\":1}}],[\"label1=\",{\"1\":{\"75\":1}}],[\"label1=1\",{\"1\":{\"48\":1}}],[\"label2=\",{\"1\":{\"48\":2}}],[\"label=1\",{\"1\":{\"48\":2}}],[\"labels=\",{\"1\":{\"33\":1}}],[\"labels\",{\"1\":{\"24\":5,\"47\":3,\"48\":3,\"51\":3,\"75\":2}}],[\"labelschedulesource\",{\"0\":{\"24\":1},\"1\":{\"24\":2,\"62\":2,\"71\":2}}],[\"label\",{\"1\":{\"17\":1,\"24\":2,\"29\":3,\"47\":1,\"51\":1,\"67\":1}}],[\"ll\",{\"1\":{\"8\":1,\"18\":1,\"38\":1,\"40\":1,\"52\":1,\"57\":2}}],[\"little\",{\"1\":{\"65\":1,\"71\":1}}],[\"light\",{\"1\":{\"45\":1}}],[\"like\",{\"1\":{\"27\":2,\"30\":1,\"35\":3,\"36\":1,\"37\":1,\"38\":1,\"40\":2,\"44\":1,\"45\":1,\"54\":1,\"57\":1,\"70\":1,\"71\":2,\"73\":1,\"79\":1,\"80\":2,\"82\":1}}],[\"line\",{\"1\":{\"36\":1,\"50\":1,\"66\":1}}],[\"link\",{\"1\":{\"13\":1,\"14\":1,\"15\":1}}],[\"lints\",{\"1\":{\"5\":1}}],[\"linting\",{\"0\":{\"5\":1}}],[\"library\",{\"1\":{\"21\":1,\"25\":1,\"35\":2,\"36\":1,\"37\":1,\"38\":1,\"40\":2,\"43\":2,\"53\":1,\"64\":1,\"66\":1}}],[\"libraries\",{\"0\":{\"44\":1},\"1\":{\"1\":1,\"35\":1,\"36\":1,\"37\":1,\"40\":1,\"43\":1,\"69\":1,\"86\":1}}],[\"lib\",{\"1\":{\"10\":1,\"12\":1,\"52\":1,\"66\":1,\"90\":1}}],[\"listqueuebroker\",{\"1\":{\"36\":2,\"62\":6,\"75\":2}}],[\"listener\",{\"1\":{\"62\":1}}],[\"listening\",{\"1\":{\"50\":1,\"77\":1}}],[\"listen\",{\"1\":{\"27\":2,\"28\":2,\"36\":1,\"46\":2,\"62\":1}}],[\"list\",{\"1\":{\"7\":1,\"8\":1,\"17\":1,\"24\":2,\"33\":3,\"36\":2,\"71\":1,\"75\":2,\"86\":1}}],[\"loads\",{\"1\":{\"70\":1}}],[\"loadb\",{\"1\":{\"69\":1}}],[\"looks\",{\"1\":{\"45\":1,\"80\":2}}],[\"look\",{\"1\":{\"38\":1,\"50\":1,\"69\":1,\"70\":1}}],[\"loop=loop\",{\"1\":{\"39\":2}}],[\"loop\",{\"1\":{\"36\":1,\"39\":2,\"46\":1,\"50\":1,\"62\":3,\"71\":1}}],[\"logic\",{\"1\":{\"62\":1,\"72\":1,\"89\":1}}],[\"log\",{\"1\":{\"59\":2,\"61\":2}}],[\"logging\",{\"1\":{\"36\":4,\"59\":2,\"61\":2}}],[\"logs=true\",{\"1\":{\"32\":1}}],[\"logs\",{\"1\":{\"32\":8}}],[\"lot\",{\"1\":{\"32\":1}}],[\"lots\",{\"1\":{\"3\":1}}],[\"localhost\",{\"1\":{\"23\":1,\"35\":1,\"36\":1,\"62\":3,\"66\":6,\"71\":2,\"75\":2,\"79\":1}}],[\"local\",{\"1\":{\"9\":1,\"10\":1,\"65\":1}}],[\"locally\",{\"1\":{\"3\":1,\"6\":1,\"9\":1}}],[\"lovely\",{\"1\":{\"47\":1,\"48\":3}}],[\"love\",{\"1\":{\"3\":1}}],[\"bigger\",{\"1\":{\"40\":1}}],[\"bit\",{\"1\":{\"35\":1,\"65\":1}}],[\"balance\",{\"1\":{\"48\":1}}],[\"back\",{\"1\":{\"45\":1,\"52\":1}}],[\"backend\",{\"0\":{\"21\":1,\"32\":1,\"49\":1},\"1\":{\"20\":1,\"21\":1,\"32\":6,\"49\":2,\"51\":1,\"56\":1,\"64\":1,\"66\":4,\"90\":1}}],[\"backends\",{\"0\":{\"19\":1},\"1\":{\"7\":1,\"19\":1,\"26\":1,\"32\":1,\"44\":2,\"45\":1}}],[\"basic\",{\"1\":{\"43\":1}}],[\"basicconfig\",{\"1\":{\"36\":1}}],[\"bases\",{\"1\":{\"92\":1}}],[\"based\",{\"1\":{\"84\":1}}],[\"base\",{\"1\":{\"40\":1,\"92\":1}}],[\"blocking\",{\"1\":{\"36\":1}}],[\"bots\",{\"1\":{\"36\":5}}],[\"bot\",{\"1\":{\"36\":22}}],[\"bool\",{\"1\":{\"11\":1,\"32\":2}}],[\"built\",{\"1\":{\"43\":1,\"44\":1}}],[\"building\",{\"1\":{\"37\":1}}],[\"build\",{\"1\":{\"30\":1,\"80\":1}}],[\"button\",{\"1\":{\"79\":1}}],[\"but\",{\"1\":{\"1\":1,\"3\":1,\"5\":1,\"6\":1,\"9\":2,\"27\":1,\"28\":1,\"30\":1,\"33\":1,\"35\":3,\"38\":2,\"40\":1,\"41\":1,\"43\":1,\"44\":1,\"47\":1,\"49\":1,\"51\":1,\"59\":1,\"62\":1,\"65\":2,\"66\":1,\"67\":1,\"68\":2,\"69\":2,\"70\":2,\"71\":1,\"72\":1,\"78\":1,\"79\":3,\"89\":1,\"90\":1,\"92\":5}}],[\"bytes\",{\"1\":{\"27\":4,\"28\":2}}],[\"by\",{\"1\":{\"9\":1,\"18\":1,\"32\":1,\"39\":1,\"43\":1,\"45\":2,\"49\":2,\"50\":1,\"51\":2,\"52\":1,\"53\":1,\"55\":1,\"56\":2,\"58\":1,\"59\":1,\"61\":1,\"62\":2,\"66\":1,\"68\":1,\"70\":1,\"72\":1,\"74\":1,\"75\":6,\"77\":1,\"79\":1,\"80\":1,\"85\":1}}],[\"brokerwrapper\",{\"1\":{\"35\":2}}],[\"brokermessage\",{\"1\":{\"27\":6}}],[\"broker=broker\",{\"1\":{\"24\":1,\"39\":1,\"71\":1}}],[\"broker\",{\"0\":{\"11\":1,\"14\":1,\"15\":1,\"46\":1},\"1\":{\"9\":1,\"10\":3,\"11\":7,\"17\":3,\"18\":1,\"20\":1,\"21\":1,\"23\":1,\"24\":3,\"27\":3,\"28\":3,\"29\":2,\"31\":3,\"32\":1,\"33\":3,\"35\":6,\"36\":9,\"38\":3,\"39\":2,\"40\":9,\"41\":3,\"44\":1,\"45\":1,\"46\":2,\"47\":10,\"48\":3,\"50\":10,\"52\":3,\"54\":2,\"56\":1,\"59\":2,\"60\":1,\"62\":23,\"64\":2,\"65\":12,\"66\":27,\"69\":1,\"71\":6,\"75\":6,\"77\":4,\"79\":1,\"83\":1,\"89\":2,\"90\":7,\"91\":5,\"92\":6}}],[\"brokers\",{\"0\":{\"8\":1,\"12\":1,\"27\":1},\"1\":{\"7\":1,\"8\":1,\"11\":1,\"12\":2,\"26\":1,\"27\":2,\"29\":1,\"35\":2,\"40\":1,\"43\":1,\"45\":1,\"46\":1,\"47\":1,\"48\":1,\"49\":2,\"59\":1,\"62\":1,\"86\":1}}],[\"been\",{\"1\":{\"74\":2}}],[\"berlin\",{\"1\":{\"73\":1}}],[\"below\",{\"1\":{\"71\":1}}],[\"behaviour\",{\"1\":{\"65\":1,\"74\":2}}],[\"behavior\",{\"1\":{\"10\":1,\"73\":1,\"80\":1}}],[\"beginning\",{\"1\":{\"65\":2,\"66\":1}}],[\"become\",{\"1\":{\"65\":1,\"92\":1}}],[\"becomes\",{\"1\":{\"36\":1,\"38\":1}}],[\"because\",{\"1\":{\"10\":1,\"32\":1,\"36\":1,\"38\":1,\"40\":1,\"41\":1,\"44\":1,\"57\":1,\"66\":1,\"81\":1,\"90\":1}}],[\"best\",{\"1\":{\"36\":1}}],[\"before\",{\"1\":{\"31\":1,\"33\":1,\"51\":3,\"59\":2,\"62\":2,\"66\":1,\"82\":2,\"89\":1,\"92\":3}}],[\"between\",{\"1\":{\"10\":1,\"35\":2}}],[\"better\",{\"1\":{\"3\":2,\"37\":1,\"75\":1,\"79\":2}}],[\"be\",{\"1\":{\"1\":1,\"3\":1,\"9\":1,\"10\":2,\"11\":1,\"17\":1,\"18\":3,\"20\":2,\"24\":6,\"25\":1,\"28\":1,\"29\":2,\"31\":1,\"32\":1,\"33\":5,\"34\":1,\"35\":1,\"36\":1,\"38\":3,\"40\":1,\"47\":1,\"48\":2,\"49\":1,\"51\":2,\"52\":2,\"55\":1,\"56\":1,\"59\":3,\"61\":1,\"62\":2,\"68\":1,\"69\":2,\"70\":1,\"71\":3,\"73\":4,\"74\":4,\"75\":2,\"77\":1,\"79\":3,\"80\":2,\"83\":2,\"84\":1,\"86\":1,\"87\":1,\"91\":1,\"92\":2}}],[\"pm\",{\"1\":{\"71\":1}}],[\"purpose\",{\"1\":{\"75\":1}}],[\"purposes\",{\"1\":{\"62\":1,\"92\":1}}],[\"pub\",{\"1\":{\"46\":1}}],[\"public\",{\"1\":{\"40\":1}}],[\"publishes\",{\"1\":{\"10\":1}}],[\"publish\",{\"1\":{\"3\":1,\"6\":1}}],[\"puts\",{\"1\":{\"46\":1,\"52\":1}}],[\"per\",{\"1\":{\"59\":1}}],[\"perform\",{\"1\":{\"27\":1,\"36\":1,\"82\":1}}],[\"people\",{\"1\":{\"33\":3,\"40\":2,\"62\":1}}],[\"pika\",{\"1\":{\"13\":2,\"64\":1,\"66\":6,\"71\":2}}],[\"pipelines\",{\"1\":{\"31\":1,\"44\":1}}],[\"pip\",{\"1\":{\"2\":2,\"13\":1,\"14\":1,\"15\":1,\"21\":1,\"35\":1,\"36\":1,\"37\":1,\"38\":1,\"64\":1,\"66\":2}}],[\"policies\",{\"1\":{\"50\":1}}],[\"polling\",{\"1\":{\"36\":1}}],[\"popularity\",{\"1\":{\"40\":1}}],[\"popular\",{\"1\":{\"40\":1}}],[\"populates\",{\"1\":{\"39\":1}}],[\"populate\",{\"1\":{\"39\":3,\"41\":1}}],[\"pool\",{\"1\":{\"38\":2,\"40\":2,\"77\":2,\"79\":2}}],[\"post\",{\"1\":{\"33\":1,\"51\":4}}],[\"possible\",{\"1\":{\"27\":1,\"40\":1,\"43\":1,\"59\":1,\"62\":2,\"72\":1}}],[\"point\",{\"1\":{\"30\":1,\"38\":1,\"90\":1}}],[\"points\",{\"1\":{\"30\":2}}],[\"port=9000\",{\"1\":{\"18\":1}}],[\"port\",{\"1\":{\"10\":2,\"18\":1}}],[\"poetry\",{\"1\":{\"4\":2}}],[\"place\",{\"1\":{\"90\":1}}],[\"plain\",{\"1\":{\"65\":1}}],[\"plugin\",{\"1\":{\"89\":1}}],[\"plugins\",{\"1\":{\"7\":1,\"53\":2}}],[\"please\",{\"1\":{\"3\":2,\"4\":2,\"10\":2,\"11\":1,\"20\":1,\"27\":2,\"36\":1,\"37\":1,\"40\":1,\"50\":1,\"51\":1,\"71\":2}}],[\"pydantic\",{\"1\":{\"57\":1}}],[\"pypi\",{\"1\":{\"53\":1,\"64\":2}}],[\"py\",{\"1\":{\"50\":3,\"55\":2,\"61\":2,\"65\":3,\"66\":4,\"90\":1,\"92\":2}}],[\"pyzmq\",{\"1\":{\"10\":1}}],[\"pyenv\",{\"1\":{\"4\":3,\"6\":1}}],[\"python\",{\"1\":{\"4\":2,\"6\":2,\"30\":1,\"40\":1,\"43\":1,\"50\":1,\"59\":1,\"65\":3,\"66\":4,\"67\":1,\"89\":1}}],[\"pytest\",{\"1\":{\"4\":1,\"6\":5,\"39\":1,\"41\":2,\"89\":2,\"90\":3,\"91\":3,\"92\":6}}],[\"practice\",{\"1\":{\"32\":1}}],[\"primitives\",{\"1\":{\"71\":1}}],[\"printed\",{\"1\":{\"66\":1}}],[\"print\",{\"1\":{\"30\":1,\"33\":2,\"36\":1,\"47\":2,\"48\":3,\"51\":1,\"62\":6,\"65\":3,\"66\":6,\"75\":1}}],[\"priorities\",{\"1\":{\"29\":1}}],[\"priority\",{\"1\":{\"29\":2}}],[\"preparations\",{\"0\":{\"88\":1},\"1\":{\"90\":1}}],[\"prepare\",{\"1\":{\"3\":1}}],[\"predict\",{\"1\":{\"80\":1}}],[\"preserve\",{\"1\":{\"72\":1}}],[\"previous\",{\"1\":{\"62\":1,\"72\":1}}],[\"previously\",{\"1\":{\"40\":1}}],[\"prefetched\",{\"1\":{\"59\":1}}],[\"prefetch\",{\"1\":{\"59\":1}}],[\"pre\",{\"1\":{\"5\":3,\"33\":1,\"51\":3}}],[\"pr\",{\"1\":{\"3\":2,\"6\":1}}],[\"providing\",{\"1\":{\"75\":1}}],[\"provides\",{\"1\":{\"43\":1}}],[\"provide\",{\"1\":{\"38\":1,\"40\":2,\"41\":1,\"50\":1,\"66\":1,\"78\":1,\"79\":1,\"92\":1}}],[\"production\",{\"1\":{\"64\":1,\"92\":1}}],[\"producers\",{\"1\":{\"35\":1}}],[\"propagated\",{\"1\":{\"83\":1}}],[\"propagate\",{\"1\":{\"59\":1,\"83\":3}}],[\"programs\",{\"1\":{\"87\":1}}],[\"programmatically\",{\"1\":{\"77\":1}}],[\"program\",{\"1\":{\"53\":1}}],[\"prometheusmiddleware\",{\"1\":{\"18\":3}}],[\"prometheus\",{\"0\":{\"18\":1},\"1\":{\"18\":2}}],[\"project\",{\"1\":{\"13\":1,\"14\":1,\"15\":1,\"35\":1,\"37\":1,\"38\":1,\"40\":1,\"44\":3,\"50\":8,\"54\":2,\"60\":3,\"70\":1,\"78\":1,\"90\":1,\"91\":4,\"92\":2}}],[\"projects\",{\"1\":{\"1\":1,\"10\":1,\"35\":1,\"44\":2}}],[\"processing\",{\"1\":{\"46\":1}}],[\"process\",{\"1\":{\"10\":1,\"36\":2,\"39\":1,\"40\":2,\"41\":1,\"43\":1,\"54\":1,\"59\":1,\"66\":2}}],[\"processes\",{\"1\":{\"10\":4,\"50\":1}}],[\"problems\",{\"1\":{\"35\":1,\"71\":1}}],[\"problem\",{\"1\":{\"3\":1,\"27\":1,\"44\":1,\"71\":1,\"92\":1}}],[\"painful\",{\"1\":{\"71\":1}}],[\"pattern\",{\"1\":{\"55\":3,\"61\":3}}],[\"patterns\",{\"1\":{\"1\":1}}],[\"pathlib\",{\"1\":{\"92\":2}}],[\"path\",{\"1\":{\"36\":2,\"38\":1,\"40\":1,\"50\":1,\"59\":1,\"61\":1,\"92\":11}}],[\"passed\",{\"1\":{\"36\":2}}],[\"pass\",{\"1\":{\"27\":1,\"57\":1,\"58\":2,\"72\":1,\"74\":1,\"75\":2,\"81\":1,\"91\":2,\"92\":2}}],[\"package\",{\"1\":{\"18\":1,\"21\":1,\"23\":1,\"25\":1,\"40\":1,\"78\":1}}],[\"packages\",{\"1\":{\"12\":1}}],[\"parse\",{\"1\":{\"30\":2,\"57\":2,\"91\":7}}],[\"parsed\",{\"1\":{\"30\":2}}],[\"parser\",{\"1\":{\"30\":3}}],[\"parses\",{\"1\":{\"24\":1,\"37\":1}}],[\"particular\",{\"1\":{\"65\":1}}],[\"part\",{\"1\":{\"21\":1,\"32\":1,\"39\":1,\"41\":1}}],[\"parts\",{\"1\":{\"12\":1}}],[\"param\",{\"1\":{\"32\":6,\"33\":2,\"39\":1}}],[\"parameter\",{\"1\":{\"10\":1,\"18\":1,\"27\":1,\"30\":3,\"32\":1,\"40\":2,\"56\":1,\"59\":3,\"61\":1,\"80\":4,\"81\":1}}],[\"parameters\",{\"0\":{\"59\":1,\"61\":1},\"1\":{\"6\":1,\"12\":1,\"17\":1,\"21\":1,\"24\":1,\"28\":1,\"57\":2}}],[\"parallel\",{\"1\":{\"6\":1}}],[\"page\",{\"1\":{\"3\":1}}],[\"writing\",{\"1\":{\"39\":2,\"79\":1}}],[\"write\",{\"1\":{\"33\":1,\"35\":1,\"51\":1,\"79\":1,\"87\":2}}],[\"way\",{\"1\":{\"62\":1,\"78\":1,\"79\":1}}],[\"wait\",{\"1\":{\"59\":3,\"62\":2,\"65\":3,\"66\":4,\"74\":1,\"91\":1,\"92\":1}}],[\"waits\",{\"1\":{\"46\":1}}],[\"warning\",{\"1\":{\"27\":1,\"65\":1,\"75\":1}}],[\"was\",{\"1\":{\"17\":1,\"33\":1,\"47\":1,\"51\":7,\"52\":1,\"72\":1,\"74\":1}}],[\"want\",{\"1\":{\"3\":1,\"4\":1,\"6\":2,\"17\":1,\"31\":1,\"32\":1,\"33\":1,\"35\":1,\"39\":1,\"40\":1,\"43\":1,\"50\":2,\"54\":1,\"62\":1,\"65\":1,\"67\":2,\"68\":1,\"69\":1,\"70\":1,\"71\":3,\"72\":2,\"73\":1,\"75\":4,\"77\":3,\"82\":1,\"83\":3,\"86\":1,\"87\":1,\"89\":2,\"91\":2,\"92\":1}}],[\"w\",{\"1\":{\"10\":1}}],[\"will\",{\"1\":{\"4\":1,\"6\":1,\"10\":1,\"18\":1,\"20\":1,\"31\":1,\"32\":1,\"33\":2,\"36\":1,\"50\":1,\"51\":1,\"59\":1,\"62\":3,\"65\":1,\"67\":1,\"71\":1,\"74\":4,\"75\":1,\"77\":1,\"79\":1,\"80\":2,\"83\":1,\"84\":1,\"92\":1}}],[\"within\",{\"1\":{\"36\":1,\"62\":2}}],[\"without\",{\"1\":{\"5\":1,\"6\":1,\"32\":1,\"36\":1,\"51\":1,\"92\":1}}],[\"with\",{\"0\":{\"73\":1,\"87\":1},\"1\":{\"2\":1,\"3\":1,\"5\":1,\"6\":3,\"10\":3,\"11\":1,\"17\":2,\"18\":1,\"25\":1,\"27\":1,\"28\":1,\"29\":4,\"32\":5,\"33\":3,\"34\":2,\"35\":2,\"36\":1,\"37\":1,\"38\":2,\"39\":2,\"40\":6,\"41\":1,\"46\":1,\"47\":3,\"48\":1,\"50\":2,\"52\":2,\"53\":2,\"54\":1,\"55\":1,\"58\":1,\"59\":1,\"62\":1,\"65\":2,\"66\":6,\"67\":1,\"69\":2,\"71\":1,\"75\":4,\"79\":1,\"81\":2,\"89\":1,\"90\":1,\"91\":1,\"92\":2}}],[\"whith\",{\"1\":{\"75\":1}}],[\"which\",{\"1\":{\"36\":1,\"38\":1,\"41\":1,\"53\":1,\"55\":1,\"61\":1}}],[\"while\",{\"1\":{\"27\":1,\"35\":1,\"65\":1,\"66\":2,\"71\":1,\"79\":1}}],[\"why\",{\"0\":{\"44\":1},\"1\":{\"34\":1,\"55\":1,\"58\":1,\"72\":1,\"78\":1}}],[\"whether\",{\"1\":{\"32\":3,\"65\":1,\"74\":1}}],[\"when\",{\"1\":{\"16\":1,\"24\":5,\"32\":1,\"33\":1,\"36\":2,\"39\":1,\"40\":1,\"47\":1,\"56\":6,\"58\":1,\"59\":5,\"62\":1,\"67\":1,\"74\":1,\"77\":2}}],[\"where\",{\"1\":{\"10\":1,\"20\":1,\"71\":1,\"77\":1,\"80\":1}}],[\"who\",{\"1\":{\"3\":1,\"52\":1,\"62\":1}}],[\"what\",{\"0\":{\"1\":1,\"43\":1},\"1\":{\"40\":1,\"71\":1,\"91\":1,\"92\":2}}],[\"web\",{\"1\":{\"37\":3,\"38\":3,\"39\":1,\"40\":1}}],[\"were\",{\"1\":{\"36\":1,\"40\":1,\"87\":1}}],[\"well\",{\"1\":{\"18\":1,\"62\":1,\"70\":1,\"92\":1}}],[\"we\",{\"1\":{\"3\":3,\"4\":1,\"5\":2,\"6\":1,\"8\":1,\"22\":1,\"27\":1,\"29\":1,\"32\":1,\"34\":1,\"36\":1,\"37\":2,\"38\":4,\"39\":1,\"40\":6,\"41\":2,\"43\":1,\"44\":2,\"50\":2,\"55\":1,\"57\":1,\"62\":14,\"64\":1,\"65\":1,\"66\":11,\"67\":1,\"68\":1,\"69\":1,\"70\":1,\"71\":6,\"72\":2,\"73\":3,\"75\":3,\"78\":2,\"79\":3,\"80\":2,\"82\":1,\"87\":3,\"89\":3,\"90\":4,\"91\":2,\"92\":8}}],[\"world\",{\"1\":{\"49\":1,\"65\":1}}],[\"words\",{\"1\":{\"45\":1}}],[\"word\",{\"1\":{\"24\":1,\"92\":1}}],[\"working\",{\"0\":{\"73\":1}}],[\"works\",{\"1\":{\"66\":1}}],[\"workers\",{\"0\":{\"50\":1},\"1\":{\"18\":1,\"50\":1,\"58\":1,\"59\":1}}],[\"worker\",{\"0\":{\"54\":1},\"1\":{\"10\":5,\"36\":4,\"39\":1,\"40\":2,\"41\":1,\"45\":1,\"50\":3,\"51\":2,\"53\":1,\"54\":2,\"56\":3,\"58\":2,\"59\":2,\"62\":15,\"65\":1,\"66\":6,\"70\":1,\"77\":4,\"79\":1,\"83\":2}}],[\"work\",{\"0\":{\"80\":1},\"1\":{\"1\":1,\"40\":1,\"46\":1,\"50\":1,\"81\":1,\"91\":1}}],[\"would\",{\"1\":{\"17\":1,\"41\":1,\"91\":1}}],[\"won\",{\"1\":{\"1\":1,\"51\":1,\"57\":1,\"58\":1,\"59\":1,\"62\":1,\"75\":1,\"78\":1,\"79\":2}}],[\"os\",{\"1\":{\"90\":2}}],[\"old\",{\"1\":{\"72\":1}}],[\"obvious\",{\"1\":{\"72\":1}}],[\"object\",{\"1\":{\"47\":1,\"65\":1,\"75\":1}}],[\"objects\",{\"1\":{\"22\":1}}],[\"out\",{\"1\":{\"72\":1,\"92\":1}}],[\"outside\",{\"1\":{\"62\":1}}],[\"our\",{\"1\":{\"5\":1,\"40\":1,\"66\":1,\"71\":2,\"73\":1,\"90\":1,\"91\":1,\"92\":1}}],[\"over\",{\"1\":{\"65\":1,\"69\":1,\"84\":1}}],[\"overcome\",{\"1\":{\"62\":1}}],[\"override\",{\"1\":{\"49\":1}}],[\"overridden\",{\"1\":{\"9\":1}}],[\"overview\",{\"0\":{\"45\":1},\"1\":{\"65\":1}}],[\"own\",{\"1\":{\"35\":1,\"51\":1,\"62\":1,\"68\":1,\"69\":1,\"70\":1,\"78\":1}}],[\"ok\",{\"1\":{\"29\":1,\"65\":1}}],[\"optimized\",{\"1\":{\"80\":1}}],[\"optional\",{\"1\":{\"29\":1,\"30\":1,\"33\":4,\"60\":1}}],[\"options\",{\"1\":{\"11\":1,\"55\":1}}],[\"option\",{\"1\":{\"6\":1,\"50\":1,\"55\":2,\"57\":1,\"58\":4,\"61\":2,\"83\":1}}],[\"open\",{\"1\":{\"77\":1,\"83\":1}}],[\"opening\",{\"1\":{\"27\":1}}],[\"operations\",{\"1\":{\"27\":1}}],[\"omit\",{\"1\":{\"81\":1}}],[\"omitted\",{\"1\":{\"24\":3}}],[\"ommited\",{\"1\":{\"24\":1}}],[\"occurs\",{\"1\":{\"16\":1}}],[\"once\",{\"1\":{\"66\":1,\"74\":1,\"80\":1}}],[\"on\",{\"1\":{\"10\":1,\"17\":4,\"23\":1,\"32\":1,\"33\":1,\"35\":2,\"37\":1,\"38\":3,\"40\":4,\"41\":1,\"43\":1,\"44\":1,\"45\":4,\"47\":1,\"51\":3,\"65\":1,\"74\":1,\"75\":3,\"79\":2,\"80\":2,\"84\":1,\"92\":1}}],[\"ones\",{\"1\":{\"72\":1}}],[\"one\",{\"1\":{\"10\":1,\"22\":1,\"36\":1,\"38\":1,\"40\":1,\"41\":1,\"48\":1,\"57\":1,\"65\":2,\"66\":4,\"71\":3,\"77\":1,\"89\":1,\"91\":3}}],[\"only\",{\"1\":{\"10\":1,\"22\":1,\"27\":1,\"32\":1,\"38\":2,\"39\":1,\"40\":2,\"53\":1,\"61\":1,\"71\":2,\"72\":3,\"80\":1,\"81\":1,\"83\":1,\"85\":1}}],[\"orjsonserializer\",{\"1\":{\"69\":1}}],[\"orjson\",{\"1\":{\"69\":1}}],[\"ordinary\",{\"1\":{\"65\":1,\"66\":1}}],[\"order\",{\"1\":{\"24\":1,\"51\":1}}],[\"or\",{\"1\":{\"2\":1,\"3\":2,\"10\":1,\"18\":1,\"24\":2,\"28\":2,\"29\":1,\"30\":1,\"31\":2,\"32\":1,\"36\":2,\"38\":1,\"40\":5,\"43\":1,\"44\":1,\"47\":1,\"48\":1,\"50\":1,\"51\":4,\"52\":5,\"55\":2,\"57\":1,\"58\":1,\"59\":1,\"61\":2,\"64\":2,\"65\":1,\"67\":1,\"68\":1,\"69\":1,\"72\":1,\"73\":2,\"75\":3,\"89\":1,\"92\":1}}],[\"offset\",{\"1\":{\"24\":3,\"73\":3}}],[\"officially\",{\"1\":{\"7\":1,\"8\":1}}],[\"official\",{\"1\":{\"4\":1}}],[\"of\",{\"1\":{\"1\":2,\"3\":1,\"7\":1,\"10\":3,\"12\":3,\"17\":2,\"18\":1,\"21\":2,\"23\":1,\"24\":3,\"27\":2,\"28\":2,\"29\":1,\"30\":1,\"31\":2,\"32\":6,\"33\":2,\"36\":3,\"38\":2,\"40\":2,\"41\":1,\"43\":1,\"44\":2,\"46\":1,\"49\":1,\"51\":2,\"52\":4,\"55\":2,\"56\":2,\"57\":2,\"59\":8,\"61\":3,\"62\":5,\"64\":1,\"65\":3,\"66\":3,\"67\":2,\"68\":1,\"69\":3,\"70\":1,\"71\":4,\"73\":4,\"74\":1,\"75\":5,\"77\":3,\"79\":3,\"80\":3,\"86\":1}}],[\"otherwise\",{\"1\":{\"10\":1,\"36\":1}}],[\"other\",{\"0\":{\"59\":1},\"1\":{\"1\":1,\"18\":1,\"35\":2,\"36\":1,\"38\":1,\"44\":1,\"69\":1,\"81\":1,\"92\":1}}],[\"d\",{\"1\":{\"70\":1}}],[\"dyn\",{\"1\":{\"62\":27}}],[\"dynamically\",{\"1\":{\"62\":1}}],[\"dynamic\",{\"0\":{\"62\":1,\"75\":1},\"1\":{\"23\":2,\"62\":4,\"75\":2}}],[\"day\",{\"1\":{\"71\":1}}],[\"dark\",{\"1\":{\"45\":2}}],[\"data\",{\"1\":{\"65\":1,\"69\":1}}],[\"dataclasses\",{\"1\":{\"57\":1}}],[\"database\",{\"1\":{\"33\":1,\"77\":1,\"83\":1}}],[\"data=message\",{\"1\":{\"28\":1}}],[\"datetime\",{\"1\":{\"24\":1,\"62\":4,\"69\":1,\"73\":1,\"75\":10}}],[\"db\",{\"1\":{\"38\":1}}],[\"dp\",{\"1\":{\"36\":6}}],[\"dumps\",{\"1\":{\"70\":2}}],[\"dumpb\",{\"1\":{\"69\":1}}],[\"dummyresultbackend\",{\"0\":{\"20\":1},\"1\":{\"49\":1}}],[\"during\",{\"1\":{\"17\":1,\"31\":1,\"90\":1}}],[\"declaration\",{\"1\":{\"62\":2,\"65\":1}}],[\"declared\",{\"1\":{\"81\":2}}],[\"declare\",{\"1\":{\"35\":1}}],[\"decorator\",{\"1\":{\"48\":2,\"67\":1}}],[\"detailed\",{\"1\":{\"38\":1}}],[\"dep2\",{\"1\":{\"80\":3}}],[\"dep1\",{\"1\":{\"80\":1}}],[\"dep\",{\"1\":{\"80\":3}}],[\"depends\",{\"1\":{\"92\":1}}],[\"dependenices\",{\"1\":{\"40\":1}}],[\"dependencies\",{\"0\":{\"76\":1,\"78\":1,\"79\":1,\"80\":1,\"82\":1,\"85\":1,\"86\":1},\"1\":{\"4\":3,\"34\":1,\"36\":1,\"37\":2,\"38\":4,\"40\":4,\"41\":1,\"59\":1,\"78\":3,\"79\":3,\"80\":5,\"81\":3,\"82\":1,\"83\":2,\"84\":1,\"85\":1,\"86\":4,\"92\":8}}],[\"dependency\",{\"0\":{\"81\":1,\"92\":1},\"1\":{\"2\":1,\"36\":1,\"37\":3,\"38\":1,\"39\":2,\"40\":4,\"41\":4,\"44\":1,\"79\":2,\"80\":4,\"81\":2,\"83\":2,\"86\":1,\"92\":6}}],[\"depend\",{\"1\":{\"38\":1,\"40\":2,\"80\":1}}],[\"deps\",{\"1\":{\"37\":4,\"38\":2,\"41\":1}}],[\"deprecated\",{\"1\":{\"32\":1}}],[\"described\",{\"1\":{\"60\":1}}],[\"description\",{\"1\":{\"3\":1}}],[\"dest=\",{\"1\":{\"30\":1}}],[\"demo\",{\"1\":{\"30\":4}}],[\"deleting\",{\"1\":{\"33\":1}}],[\"delete\",{\"1\":{\"33\":1,\"75\":2}}],[\"delay=1\",{\"1\":{\"47\":1}}],[\"delayed\",{\"1\":{\"29\":1,\"33\":1,\"36\":1}}],[\"delay\",{\"1\":{\"29\":2}}],[\"delivery\",{\"1\":{\"27\":1}}],[\"developers\",{\"1\":{\"52\":1,\"73\":1,\"74\":1}}],[\"developer\",{\"1\":{\"27\":1}}],[\"development\",{\"1\":{\"9\":1,\"34\":1,\"65\":1}}],[\"defining\",{\"1\":{\"35\":1,\"62\":1}}],[\"define\",{\"1\":{\"11\":2,\"41\":1,\"48\":1,\"62\":4,\"68\":1,\"69\":2,\"70\":3,\"91\":2}}],[\"defined\",{\"1\":{\"11\":1,\"54\":1,\"62\":1,\"66\":1,\"71\":1,\"91\":1}}],[\"def\",{\"1\":{\"11\":1,\"17\":1,\"24\":1,\"27\":5,\"28\":1,\"30\":1,\"32\":5,\"33\":7,\"36\":5,\"39\":1,\"40\":3,\"41\":2,\"47\":2,\"48\":5,\"51\":2,\"57\":1,\"62\":3,\"65\":2,\"66\":4,\"71\":2,\"75\":1,\"79\":1,\"90\":1,\"91\":5,\"92\":3}}],[\"default=\",{\"1\":{\"30\":1}}],[\"default\",{\"0\":{\"85\":1},\"1\":{\"9\":1,\"11\":1,\"16\":1,\"17\":1,\"27\":1,\"30\":2,\"40\":2,\"49\":2,\"50\":1,\"53\":1,\"55\":1,\"58\":1,\"59\":3,\"61\":2,\"68\":2,\"69\":1,\"70\":1,\"72\":1,\"74\":1,\"80\":1,\"85\":1,\"86\":2}}],[\"dramatiq\",{\"1\":{\"44\":1}}],[\"draft\",{\"1\":{\"3\":1}}],[\"drops\",{\"1\":{\"52\":1}}],[\"drop\",{\"1\":{\"1\":1}}],[\"dive\",{\"1\":{\"87\":1}}],[\"didn\",{\"1\":{\"66\":1}}],[\"directory\",{\"1\":{\"50\":1,\"55\":2,\"58\":1,\"61\":1}}],[\"directly\",{\"1\":{\"11\":1,\"64\":1,\"78\":1,\"79\":1}}],[\"diagram\",{\"1\":{\"45\":2}}],[\"disables\",{\"1\":{\"59\":1}}],[\"disable\",{\"1\":{\"57\":1,\"58\":1}}],[\"discover\",{\"1\":{\"50\":2,\"55\":2,\"61\":1}}],[\"discuss\",{\"1\":{\"45\":1}}],[\"discussions\",{\"1\":{\"3\":1}}],[\"dispatcher\",{\"1\":{\"36\":6}}],[\"distributed\",{\"0\":{\"66\":1},\"1\":{\"35\":1,\"43\":2,\"44\":1,\"66\":1,\"89\":1}}],[\"difference\",{\"1\":{\"39\":1,\"62\":1}}],[\"differense\",{\"1\":{\"35\":1}}],[\"different\",{\"1\":{\"1\":2,\"4\":1,\"6\":2,\"25\":1,\"27\":1,\"34\":1,\"35\":4,\"41\":1,\"53\":1,\"70\":1,\"72\":1,\"92\":1}}],[\"dict\",{\"1\":{\"24\":2,\"70\":1}}],[\"docker\",{\"1\":{\"66\":1}}],[\"documentation\",{\"1\":{\"4\":1,\"30\":1,\"35\":1,\"44\":1}}],[\"down\",{\"1\":{\"36\":2}}],[\"done\",{\"1\":{\"43\":1,\"75\":1,\"90\":1}}],[\"don\",{\"1\":{\"24\":1,\"62\":1,\"65\":1,\"83\":1,\"89\":1,\"92\":1}}],[\"do\",{\"0\":{\"80\":1},\"1\":{\"3\":1,\"6\":2,\"18\":1,\"20\":1,\"27\":1,\"31\":1,\"32\":2,\"33\":2,\"49\":1,\"58\":1,\"64\":1,\"65\":1,\"66\":1,\"67\":1,\"70\":1,\"71\":1,\"72\":1,\"75\":2,\"82\":2,\"92\":1}}],[\"doesn\",{\"1\":{\"1\":1,\"20\":2,\"28\":1,\"29\":1,\"38\":1,\"39\":1,\"41\":1,\"43\":1,\"49\":1,\"65\":1,\"68\":1,\"71\":1,\"80\":2,\"81\":1,\"90\":1}}],[\"nice\",{\"1\":{\"36\":1,\"78\":1}}],[\"named\",{\"1\":{\"50\":1,\"62\":1}}],[\"names\",{\"1\":{\"48\":2}}],[\"namespace\",{\"1\":{\"30\":1}}],[\"name=\",{\"1\":{\"33\":1,\"36\":1,\"48\":1,\"62\":3}}],[\"name\",{\"1\":{\"30\":2,\"36\":1,\"44\":1,\"47\":1,\"62\":3,\"65\":1,\"66\":2}}],[\"nats\",{\"0\":{\"15\":1},\"1\":{\"15\":2,\"64\":1}}],[\"necessary\",{\"1\":{\"65\":1}}],[\"never\",{\"1\":{\"65\":1}}],[\"network\",{\"1\":{\"65\":1,\"69\":1}}],[\"next\",{\"1\":{\"31\":1,\"74\":1}}],[\"new\",{\"1\":{\"23\":1,\"27\":5,\"30\":1,\"32\":1,\"33\":2,\"41\":1,\"46\":1,\"50\":2,\"53\":1,\"59\":1,\"62\":2,\"66\":1,\"70\":1,\"72\":1,\"75\":2,\"86\":2}}],[\"needs\",{\"1\":{\"43\":1}}],[\"needed\",{\"1\":{\"32\":1,\"39\":1}}],[\"need\",{\"1\":{\"18\":1,\"20\":1,\"23\":1,\"27\":1,\"30\":2,\"35\":1,\"39\":1,\"41\":1,\"64\":1,\"65\":2,\"66\":4,\"71\":1,\"90\":1,\"92\":2}}],[\"normal\",{\"1\":{\"87\":1,\"91\":1}}],[\"noqa\",{\"1\":{\"75\":1}}],[\"non\",{\"1\":{\"69\":1}}],[\"none\",{\"1\":{\"20\":1,\"24\":7,\"27\":5,\"28\":2,\"30\":1,\"32\":3,\"33\":6,\"36\":1,\"39\":1,\"47\":1,\"48\":3,\"51\":1,\"62\":3,\"65\":1,\"66\":3,\"75\":1,\"79\":1}}],[\"now\",{\"1\":{\"32\":1,\"36\":1,\"40\":1,\"62\":5,\"65\":2,\"66\":4,\"71\":1,\"75\":2,\"79\":1,\"92\":2}}],[\"no\",{\"1\":{\"28\":1,\"38\":1,\"41\":1,\"57\":1,\"59\":2,\"61\":1,\"73\":1,\"83\":3}}],[\"note\",{\"1\":{\"32\":1,\"40\":1,\"51\":1,\"65\":1}}],[\"notice\",{\"1\":{\"24\":1}}],[\"not\",{\"0\":{\"44\":1},\"1\":{\"1\":1,\"3\":1,\"12\":1,\"21\":1,\"27\":1,\"32\":1,\"33\":3,\"36\":2,\"40\":3,\"55\":1,\"58\":1,\"62\":2,\"65\":3,\"66\":3,\"67\":1,\"69\":1,\"71\":1,\"72\":1,\"73\":2,\"74\":1,\"80\":1,\"90\":1,\"92\":3,\"93\":1}}],[\"number\",{\"1\":{\"10\":1,\"17\":1,\"29\":2,\"51\":1,\"59\":5,\"71\":1}}],[\"nutshell\",{\"0\":{\"1\":1}}],[\"n\",{\"1\":{\"6\":2,\"10\":2,\"71\":2}}],[\"fs\",{\"1\":{\"55\":1,\"61\":1}}],[\"fsd\",{\"1\":{\"50\":2,\"55\":1,\"61\":1}}],[\"f\",{\"1\":{\"51\":1,\"65\":2,\"66\":4}}],[\"further\",{\"1\":{\"65\":1}}],[\"fully\",{\"1\":{\"44\":1,\"90\":1}}],[\"fun\",{\"1\":{\"34\":1}}],[\"function\",{\"1\":{\"28\":1,\"32\":1,\"36\":6,\"38\":4,\"39\":1,\"40\":3,\"59\":1,\"62\":2,\"65\":4,\"66\":1,\"67\":1,\"71\":1,\"72\":2,\"75\":1,\"77\":1,\"79\":1,\"80\":2,\"81\":1,\"82\":1,\"83\":1,\"86\":1,\"91\":3,\"92\":2}}],[\"functionality\",{\"1\":{\"25\":1,\"43\":2,\"57\":1,\"58\":1}}],[\"functions\",{\"1\":{\"9\":1,\"17\":1,\"36\":2,\"40\":2,\"43\":2,\"44\":1,\"52\":1,\"67\":1,\"72\":2,\"78\":1,\"81\":1,\"87\":1,\"90\":1}}],[\"future\",{\"1\":{\"32\":1,\"75\":1}}],[\"fancier\",{\"1\":{\"65\":1}}],[\"fails\",{\"1\":{\"57\":1}}],[\"failed\",{\"1\":{\"51\":1}}],[\"factory\",{\"1\":{\"38\":1,\"40\":1}}],[\"faster\",{\"1\":{\"69\":1}}],[\"fastapi\",{\"0\":{\"40\":1},\"1\":{\"37\":1,\"40\":14,\"41\":8,\"78\":1,\"92\":1}}],[\"faststream\",{\"0\":{\"35\":1},\"1\":{\"35\":15}}],[\"false\",{\"1\":{\"32\":1}}],[\"favorite\",{\"1\":{\"2\":1,\"30\":1,\"34\":1}}],[\"fly\",{\"1\":{\"75\":1}}],[\"flow\",{\"1\":{\"52\":1}}],[\"float\",{\"1\":{\"29\":1}}],[\"flag\",{\"1\":{\"41\":1,\"74\":1}}],[\"flexible\",{\"1\":{\"1\":1}}],[\"finish\",{\"1\":{\"59\":1}}],[\"finds\",{\"1\":{\"24\":1}}],[\"find\",{\"1\":{\"7\":1,\"38\":1,\"40\":1,\"44\":1,\"50\":1,\"64\":1,\"65\":1,\"72\":1}}],[\"fits\",{\"1\":{\"64\":1}}],[\"fit\",{\"1\":{\"43\":1}}],[\"fixtures\",{\"1\":{\"92\":2}}],[\"fixture\",{\"1\":{\"39\":3,\"41\":5,\"90\":2,\"92\":3}}],[\"filter\",{\"1\":{\"72\":1}}],[\"filters\",{\"1\":{\"36\":1}}],[\"filled\",{\"1\":{\"38\":1}}],[\"files\",{\"1\":{\"55\":3,\"58\":2,\"61\":3}}],[\"file\",{\"1\":{\"36\":1,\"38\":1,\"40\":1,\"50\":1,\"58\":1,\"65\":1,\"66\":2,\"83\":1,\"90\":2}}],[\"field\",{\"1\":{\"27\":1,\"31\":1,\"73\":2}}],[\"fields\",{\"1\":{\"27\":1,\"28\":1,\"73\":2,\"79\":2}}],[\"first\",{\"0\":{\"74\":1,\"86\":1},\"1\":{\"3\":1,\"30\":1,\"38\":1,\"61\":2,\"66\":2,\"74\":2,\"86\":1}}],[\"frameworks\",{\"1\":{\"34\":1}}],[\"framework\",{\"0\":{\"34\":1},\"1\":{\"34\":1,\"37\":1,\"40\":1}}],[\"from\",{\"1\":{\"3\":1,\"4\":1,\"6\":1,\"10\":1,\"11\":1,\"17\":1,\"18\":1,\"23\":2,\"24\":2,\"27\":4,\"30\":3,\"32\":4,\"33\":3,\"35\":3,\"36\":8,\"37\":1,\"38\":2,\"40\":5,\"41\":2,\"46\":2,\"47\":1,\"49\":2,\"51\":2,\"52\":1,\"59\":1,\"62\":7,\"64\":2,\"65\":2,\"66\":6,\"67\":1,\"69\":1,\"70\":1,\"71\":4,\"72\":3,\"73\":1,\"74\":1,\"75\":5,\"77\":2,\"79\":1,\"85\":2,\"90\":1,\"91\":3,\"92\":4}}],[\"frustrated\",{\"1\":{\"3\":1}}],[\"few\",{\"1\":{\"74\":1}}],[\"feature\",{\"1\":{\"44\":1,\"58\":1,\"81\":1,\"83\":1}}],[\"features\",{\"1\":{\"1\":1,\"35\":1,\"57\":1}}],[\"fetching\",{\"1\":{\"32\":2}}],[\"fetch\",{\"1\":{\"22\":1,\"32\":2}}],[\"feel\",{\"1\":{\"3\":1}}],[\"focused\",{\"1\":{\"35\":2}}],[\"found\",{\"1\":{\"25\":1,\"51\":1,\"62\":1,\"65\":1,\"66\":2,\"93\":1}}],[\"following\",{\"1\":{\"24\":1,\"50\":1}}],[\"follow\",{\"1\":{\"4\":1}}],[\"folks\",{\"1\":{\"3\":1}}],[\"force\",{\"1\":{\"68\":1,\"80\":1}}],[\"form\",{\"1\":{\"47\":2}}],[\"formatter\",{\"1\":{\"70\":3}}],[\"formatters\",{\"0\":{\"70\":1},\"1\":{\"70\":3}}],[\"format\",{\"0\":{\"68\":1},\"1\":{\"24\":1,\"68\":4,\"69\":3,\"70\":2}}],[\"forget\",{\"1\":{\"24\":1,\"65\":1}}],[\"for\",{\"0\":{\"0\":1,\"13\":1},\"1\":{\"1\":2,\"3\":3,\"4\":1,\"7\":1,\"9\":1,\"10\":1,\"11\":2,\"17\":2,\"18\":2,\"20\":1,\"22\":1,\"23\":2,\"24\":1,\"27\":2,\"28\":2,\"29\":1,\"31\":1,\"33\":1,\"35\":5,\"37\":2,\"38\":1,\"39\":4,\"40\":1,\"41\":2,\"43\":3,\"46\":4,\"47\":2,\"48\":2,\"49\":1,\"51\":4,\"52\":1,\"53\":1,\"55\":2,\"56\":1,\"57\":1,\"59\":6,\"60\":1,\"61\":1,\"62\":5,\"64\":1,\"65\":4,\"66\":2,\"69\":2,\"70\":1,\"71\":1,\"72\":2,\"73\":4,\"74\":2,\"75\":4,\"77\":1,\"79\":2,\"80\":5,\"81\":4,\"83\":1,\"86\":2,\"89\":2,\"92\":5}}],[\"msgpackserializer\",{\"1\":{\"69\":1}}],[\"msgpack\",{\"1\":{\"69\":2}}],[\"m\",{\"1\":{\"36\":1,\"65\":1}}],[\"mutate\",{\"1\":{\"92\":1}}],[\"much\",{\"1\":{\"43\":1}}],[\"multiple\",{\"0\":{\"72\":1},\"1\":{\"36\":1,\"44\":2,\"55\":1,\"61\":1,\"72\":1}}],[\"must\",{\"1\":{\"29\":2,\"31\":1,\"32\":2,\"33\":2,\"40\":1,\"46\":1,\"49\":1,\"66\":1,\"92\":1}}],[\"minutes=1\",{\"1\":{\"75\":2}}],[\"minutes=5\",{\"1\":{\"71\":1}}],[\"minutes\",{\"1\":{\"71\":1,\"75\":1}}],[\"minute\",{\"1\":{\"62\":1,\"74\":3}}],[\"minimal\",{\"1\":{\"32\":1,\"33\":1}}],[\"might\",{\"1\":{\"35\":1,\"44\":1,\"69\":1,\"70\":1,\"73\":1,\"74\":1}}],[\"middleware\",{\"0\":{\"17\":1,\"18\":1},\"1\":{\"17\":2,\"31\":3,\"51\":4}}],[\"middlewares\",{\"0\":{\"16\":1,\"31\":1,\"51\":1},\"1\":{\"7\":1,\"16\":2,\"17\":2,\"18\":1,\"26\":1,\"31\":4,\"44\":1,\"51\":4}}],[\"md\",{\"1\":{\"12\":1,\"21\":1,\"37\":1}}],[\"mymiddleware\",{\"1\":{\"51\":1}}],[\"myschedulesource\",{\"1\":{\"33\":1}}],[\"myresultbackend\",{\"1\":{\"32\":1}}],[\"mycommand\",{\"1\":{\"30\":1}}],[\"mybroker\",{\"1\":{\"27\":1,\"38\":1,\"50\":1,\"54\":1,\"56\":1,\"65\":1}}],[\"my\",{\"1\":{\"11\":1,\"24\":1,\"28\":1,\"30\":2,\"36\":4,\"38\":1,\"40\":1,\"47\":3,\"48\":11,\"50\":3,\"51\":2,\"54\":2,\"60\":3,\"75\":6,\"80\":1,\"81\":1,\"83\":1}}],[\"merge\",{\"1\":{\"72\":5}}],[\"merging\",{\"1\":{\"3\":1}}],[\"me\",{\"1\":{\"71\":1}}],[\"means\",{\"1\":{\"41\":1}}],[\"meant\",{\"1\":{\"34\":1,\"92\":1}}],[\"mechanism\",{\"1\":{\"30\":1}}],[\"message\",{\"0\":{\"68\":1},\"1\":{\"27\":8,\"28\":3,\"29\":3,\"30\":1,\"31\":1,\"35\":1,\"36\":7,\"46\":1,\"47\":2,\"48\":2,\"51\":14,\"52\":3,\"59\":1,\"68\":3,\"69\":2,\"70\":3}}],[\"messages\",{\"0\":{\"48\":1},\"1\":{\"10\":2,\"28\":1,\"36\":2,\"45\":2,\"46\":3,\"59\":1,\"62\":1,\"77\":1}}],[\"method\",{\"1\":{\"27\":3,\"28\":2,\"30\":1,\"31\":1,\"33\":5,\"46\":2,\"62\":1,\"65\":3,\"67\":1,\"75\":3,\"77\":1,\"92\":1}}],[\"methods\",{\"1\":{\"27\":2,\"46\":1,\"51\":1,\"65\":1,\"69\":1,\"70\":1,\"75\":3}}],[\"metrics\",{\"1\":{\"18\":4}}],[\"mark\",{\"1\":{\"40\":1,\"91\":2,\"92\":2}}],[\"maintained\",{\"1\":{\"44\":1}}],[\"main\",{\"1\":{\"36\":6,\"38\":3,\"40\":1,\"43\":1,\"46\":1,\"47\":2,\"48\":2,\"62\":11,\"65\":5,\"66\":7,\"90\":1}}],[\"magic\",{\"1\":{\"27\":1,\"37\":1}}],[\"maximum\",{\"1\":{\"17\":1,\"59\":5}}],[\"max\",{\"1\":{\"17\":2,\"59\":4}}],[\"maybe\",{\"1\":{\"71\":1,\"89\":1}}],[\"may\",{\"1\":{\"10\":1,\"27\":1,\"31\":1,\"33\":4,\"46\":1,\"48\":1,\"52\":1,\"53\":1,\"55\":1,\"61\":1,\"65\":1,\"67\":1,\"71\":3,\"72\":1,\"75\":2,\"86\":1,\"91\":1,\"92\":1}}],[\"manner\",{\"1\":{\"43\":1}}],[\"many\",{\"1\":{\"10\":1,\"27\":1,\"40\":1,\"43\":2,\"71\":1,\"80\":1}}],[\"manually\",{\"1\":{\"5\":1,\"50\":1,\"75\":1,\"92\":2}}],[\"managing\",{\"1\":{\"4\":1}}],[\"manager\",{\"0\":{\"0\":1},\"1\":{\"1\":1,\"2\":1}}],[\"malware\",{\"1\":{\"3\":1}}],[\"makes\",{\"1\":{\"37\":1}}],[\"make\",{\"1\":{\"3\":2,\"28\":1,\"34\":1,\"37\":1,\"40\":4,\"43\":2,\"46\":1,\"79\":1}}],[\"most\",{\"1\":{\"46\":1}}],[\"mocked\",{\"1\":{\"38\":1,\"40\":1}}],[\"mock\",{\"1\":{\"38\":1}}],[\"modified\",{\"1\":{\"92\":2}}],[\"modify\",{\"1\":{\"51\":2,\"58\":2,\"90\":1,\"92\":4}}],[\"model\",{\"1\":{\"73\":1}}],[\"models\",{\"1\":{\"57\":1}}],[\"modern\",{\"1\":{\"1\":1}}],[\"module2\",{\"1\":{\"54\":1,\"60\":1}}],[\"module1\",{\"1\":{\"54\":1,\"60\":1}}],[\"module\",{\"1\":{\"50\":1,\"60\":1,\"65\":1,\"69\":1,\"71\":3,\"72\":1,\"74\":1}}],[\"modules\",{\"1\":{\"24\":1,\"50\":3,\"54\":1,\"55\":1,\"65\":1}}],[\"modular\",{\"1\":{\"43\":1}}],[\"more\",{\"1\":{\"1\":1,\"12\":1,\"21\":1,\"23\":1,\"30\":1,\"35\":5,\"36\":1,\"37\":1,\"38\":1,\"50\":1,\"53\":1,\"62\":1,\"65\":2,\"66\":2,\"71\":1,\"72\":1,\"83\":1,\"86\":1}}],[\"saved\",{\"1\":{\"51\":1,\"56\":2,\"59\":2}}],[\"save\",{\"1\":{\"51\":1}}],[\"same\",{\"1\":{\"1\":1,\"9\":1,\"17\":1,\"29\":1,\"30\":1,\"36\":1,\"38\":4,\"40\":1,\"66\":1,\"80\":1,\"90\":1}}],[\"script\",{\"1\":{\"66\":1}}],[\"scenario\",{\"1\":{\"65\":1}}],[\"scenarios\",{\"1\":{\"49\":1}}],[\"scope=\",{\"1\":{\"92\":1}}],[\"scope\",{\"1\":{\"62\":2}}],[\"scheduling\",{\"0\":{\"71\":1,\"75\":1},\"1\":{\"23\":1,\"35\":1,\"60\":1,\"75\":1}}],[\"schedule=\",{\"1\":{\"24\":1,\"62\":1,\"71\":1}}],[\"scheduledtaskcancellederror\",{\"1\":{\"33\":1}}],[\"scheduledtask\",{\"1\":{\"33\":6,\"73\":2}}],[\"scheduled\",{\"1\":{\"24\":1,\"33\":1,\"75\":2}}],[\"schedulers\",{\"1\":{\"75\":1}}],[\"scheduler>\",{\"1\":{\"60\":1}}],[\"scheduler\",{\"0\":{\"60\":1},\"1\":{\"23\":1,\"24\":2,\"35\":1,\"53\":1,\"60\":4,\"61\":3,\"62\":11,\"71\":11,\"72\":1,\"73\":1,\"74\":6,\"75\":4}}],[\"schedulesources\",{\"1\":{\"75\":1}}],[\"schedulesource\",{\"1\":{\"33\":3}}],[\"schedules\",{\"1\":{\"23\":2,\"33\":2,\"44\":1,\"71\":1,\"72\":3,\"75\":3}}],[\"schedule\",{\"0\":{\"22\":1,\"33\":1},\"1\":{\"7\":1,\"22\":2,\"23\":1,\"24\":3,\"26\":1,\"33\":15,\"60\":1,\"62\":2,\"71\":4,\"72\":3,\"73\":1,\"74\":1,\"75\":19}}],[\"switching\",{\"1\":{\"45\":1}}],[\"smooth\",{\"1\":{\"40\":1}}],[\"smaller\",{\"1\":{\"69\":1}}],[\"small\",{\"1\":{\"10\":1}}],[\"sleep\",{\"1\":{\"36\":1,\"47\":1,\"48\":3,\"51\":1,\"62\":2,\"71\":1}}],[\"system\",{\"1\":{\"46\":2,\"50\":1,\"83\":1}}],[\"systems\",{\"1\":{\"35\":1,\"59\":1}}],[\"sys\",{\"1\":{\"36\":1}}],[\"sync\",{\"1\":{\"31\":1,\"51\":2,\"59\":1,\"67\":1}}],[\"synchronously\",{\"1\":{\"1\":1}}],[\"synchronous\",{\"1\":{\"1\":1,\"44\":1,\"67\":1}}],[\"skipping\",{\"0\":{\"74\":1}}],[\"skips\",{\"1\":{\"61\":1}}],[\"skip\",{\"1\":{\"32\":1,\"61\":2,\"74\":2}}],[\"still\",{\"1\":{\"62\":1,\"65\":2,\"89\":1}}],[\"stop\",{\"1\":{\"67\":1}}],[\"stops\",{\"1\":{\"52\":1}}],[\"storage\",{\"1\":{\"23\":1,\"32\":1}}],[\"stored\",{\"1\":{\"45\":1,\"50\":1,\"79\":1}}],[\"store\",{\"1\":{\"19\":1,\"20\":1,\"32\":1,\"49\":1,\"51\":1,\"66\":2,\"75\":1,\"79\":1}}],[\"statement\",{\"1\":{\"90\":1}}],[\"state\",{\"0\":{\"76\":1,\"77\":1},\"1\":{\"38\":2,\"40\":1,\"77\":1,\"79\":7,\"85\":1}}],[\"started\",{\"0\":{\"63\":1}}],[\"start\",{\"1\":{\"36\":1,\"39\":1,\"50\":2,\"61\":1,\"66\":2,\"71\":2,\"74\":4,\"77\":1}}],[\"starts\",{\"1\":{\"36\":1}}],[\"starting\",{\"1\":{\"32\":1,\"33\":1,\"36\":1}}],[\"startup\",{\"1\":{\"27\":4,\"32\":1,\"33\":1,\"34\":1,\"36\":3,\"37\":3,\"38\":2,\"40\":4,\"44\":1,\"62\":3,\"65\":4,\"66\":4,\"75\":1,\"77\":5,\"79\":3,\"80\":1,\"82\":2}}],[\"stdout\",{\"1\":{\"36\":1}}],[\"structure\",{\"1\":{\"45\":1,\"50\":1,\"65\":1,\"69\":1}}],[\"struggle\",{\"1\":{\"3\":1}}],[\"stream=sys\",{\"1\":{\"36\":1}}],[\"string\",{\"1\":{\"24\":1,\"27\":1,\"40\":1,\"73\":1}}],[\"str\",{\"1\":{\"24\":4,\"30\":1,\"32\":3,\"33\":1,\"75\":1,\"91\":3,\"92\":2}}],[\"size\",{\"1\":{\"69\":1}}],[\"single\",{\"1\":{\"59\":1}}],[\"since\",{\"1\":{\"3\":1,\"30\":2,\"39\":1,\"71\":1,\"75\":1,\"79\":1,\"80\":1,\"89\":1,\"90\":1,\"91\":1}}],[\"signatures\",{\"1\":{\"57\":1}}],[\"signature\",{\"1\":{\"51\":1}}],[\"simultaneously\",{\"1\":{\"59\":1}}],[\"similar\",{\"1\":{\"44\":1,\"62\":1,\"78\":1}}],[\"simply\",{\"1\":{\"37\":1,\"58\":1,\"60\":1,\"72\":1}}],[\"simpleretrymiddleware\",{\"1\":{\"17\":2,\"51\":1}}],[\"simple\",{\"0\":{\"17\":1},\"1\":{\"34\":1,\"36\":1,\"45\":1,\"50\":1,\"65\":1,\"91\":1}}],[\"side\",{\"1\":{\"36\":1,\"45\":2,\"51\":2}}],[\"shipped\",{\"1\":{\"53\":1}}],[\"shifted\",{\"1\":{\"30\":1}}],[\"shutting\",{\"1\":{\"36\":2}}],[\"shutdown\",{\"1\":{\"27\":4,\"32\":2,\"33\":2,\"34\":1,\"36\":3,\"40\":3,\"44\":1,\"59\":3,\"62\":3,\"65\":1,\"66\":2,\"77\":2,\"82\":1}}],[\"show\",{\"1\":{\"30\":1}}],[\"shown\",{\"1\":{\"18\":1,\"71\":1}}],[\"shortening\",{\"1\":{\"47\":1}}],[\"short\",{\"1\":{\"30\":1}}],[\"shoule\",{\"1\":{\"24\":2}}],[\"should\",{\"1\":{\"3\":1,\"28\":2,\"30\":1,\"38\":1,\"40\":2,\"59\":1,\"69\":2,\"71\":1,\"73\":1,\"74\":3,\"91\":2,\"92\":1}}],[\"shared\",{\"0\":{\"11\":2},\"1\":{\"11\":6}}],[\"specify\",{\"1\":{\"36\":1,\"40\":1,\"50\":1,\"54\":1,\"62\":1,\"73\":1}}],[\"specified\",{\"1\":{\"24\":2,\"32\":1,\"55\":1,\"61\":1}}],[\"specific\",{\"1\":{\"16\":1,\"24\":1,\"35\":1,\"68\":1,\"73\":3,\"75\":1}}],[\"special\",{\"1\":{\"9\":1,\"11\":1}}],[\"speedup\",{\"1\":{\"6\":1}}],[\"suggest\",{\"1\":{\"75\":1,\"78\":1,\"90\":1,\"92\":1}}],[\"successfully\",{\"1\":{\"62\":3,\"83\":1}}],[\"such\",{\"1\":{\"27\":1,\"30\":1,\"40\":2,\"58\":1,\"91\":1}}],[\"subdependencies\",{\"1\":{\"80\":1}}],[\"subclass\",{\"1\":{\"69\":1,\"70\":1}}],[\"subclassing\",{\"1\":{\"51\":1}}],[\"subcommand\",{\"1\":{\"30\":1}}],[\"subcommands\",{\"1\":{\"30\":2,\"53\":1}}],[\"submodule\",{\"1\":{\"50\":2}}],[\"subscribes\",{\"1\":{\"46\":1}}],[\"support\",{\"1\":{\"28\":1,\"33\":1,\"59\":1,\"75\":1}}],[\"supports\",{\"1\":{\"28\":1,\"56\":1,\"58\":2,\"69\":1,\"84\":1}}],[\"supported\",{\"1\":{\"7\":1,\"8\":1}}],[\"super\",{\"1\":{\"25\":1,\"27\":4,\"31\":1}}],[\"suitable\",{\"1\":{\"10\":1,\"92\":1}}],[\"sure\",{\"1\":{\"3\":1,\"48\":1}}],[\"solve\",{\"1\":{\"35\":1,\"44\":1,\"71\":1}}],[\"solves\",{\"1\":{\"3\":1}}],[\"sooner\",{\"1\":{\"29\":1}}],[\"somewhere\",{\"1\":{\"40\":1,\"90\":1}}],[\"sometimes\",{\"1\":{\"32\":1,\"55\":1,\"71\":1,\"72\":1,\"73\":2,\"75\":1}}],[\"something\",{\"1\":{\"3\":1,\"32\":2,\"33\":2,\"36\":1,\"38\":1,\"43\":1,\"48\":2,\"80\":1,\"82\":2}}],[\"some\",{\"1\":{\"27\":1,\"31\":2,\"48\":1,\"49\":1,\"51\":1,\"52\":1,\"53\":1,\"65\":1,\"66\":1,\"69\":1,\"71\":2,\"72\":1,\"74\":1,\"75\":1}}],[\"source\",{\"0\":{\"33\":1},\"1\":{\"22\":1,\"23\":4,\"24\":2,\"33\":8,\"72\":1,\"73\":1,\"74\":1,\"75\":13}}],[\"sources=\",{\"1\":{\"23\":1,\"24\":1,\"71\":1,\"75\":1}}],[\"sources\",{\"0\":{\"22\":1,\"72\":1},\"1\":{\"7\":1,\"23\":1,\"24\":2,\"26\":1,\"33\":1,\"62\":1,\"71\":3,\"72\":4,\"75\":3}}],[\"so\",{\"1\":{\"18\":1,\"28\":1,\"31\":1,\"35\":1,\"36\":1,\"38\":1,\"40\":1,\"62\":1,\"71\":1,\"72\":1,\"92\":1}}],[\"searches\",{\"1\":{\"55\":1,\"61\":1}}],[\"search\",{\"1\":{\"53\":1,\"55\":1,\"61\":1,\"64\":1}}],[\"seen\",{\"1\":{\"44\":1}}],[\"see\",{\"1\":{\"36\":1,\"40\":1,\"45\":1,\"66\":1,\"75\":1,\"77\":1,\"81\":2,\"90\":1}}],[\"sequence\",{\"1\":{\"30\":2,\"45\":1}}],[\"sent\",{\"1\":{\"29\":1,\"33\":4,\"45\":1,\"47\":1,\"51\":3}}],[\"sends\",{\"1\":{\"71\":1}}],[\"sending\",{\"1\":{\"40\":1,\"71\":1}}],[\"send\",{\"1\":{\"1\":1,\"24\":1,\"27\":2,\"33\":2,\"36\":3,\"43\":1,\"44\":1,\"51\":4,\"62\":3,\"65\":3,\"66\":2,\"69\":1,\"70\":2,\"90\":1}}],[\"seriazier\",{\"1\":{\"70\":1}}],[\"serialization\",{\"1\":{\"69\":1}}],[\"serializes\",{\"1\":{\"70\":1}}],[\"serializer\",{\"1\":{\"69\":5,\"70\":1}}],[\"serializers\",{\"0\":{\"69\":1},\"1\":{\"44\":1,\"69\":4}}],[\"serialize\",{\"1\":{\"69\":1}}],[\"serializing\",{\"1\":{\"27\":1}}],[\"server=server\",{\"1\":{\"39\":1}}],[\"server\",{\"1\":{\"18\":2,\"39\":4,\"43\":1}}],[\"self\",{\"1\":{\"27\":5,\"28\":2,\"30\":1,\"31\":2,\"32\":5,\"33\":7,\"51\":2}}],[\"second\",{\"1\":{\"38\":1,\"47\":3,\"62\":1}}],[\"seconds=10\",{\"1\":{\"75\":1}}],[\"seconds=5\",{\"1\":{\"75\":2}}],[\"seconds=2\",{\"1\":{\"62\":1}}],[\"seconds\",{\"1\":{\"19\":1,\"29\":1,\"59\":1,\"65\":2,\"66\":4,\"71\":1,\"74\":1}}],[\"section\",{\"1\":{\"7\":1,\"8\":1,\"23\":1,\"50\":1,\"60\":1,\"65\":1,\"66\":1,\"71\":1}}],[\"separate\",{\"1\":{\"12\":1,\"21\":1,\"65\":1}}],[\"several\",{\"1\":{\"3\":1,\"16\":1,\"29\":1,\"37\":1,\"75\":1}}],[\"sets\",{\"1\":{\"59\":1,\"92\":1}}],[\"setup\",{\"0\":{\"89\":1},\"1\":{\"36\":1}}],[\"settings\",{\"1\":{\"5\":1}}],[\"setting\",{\"0\":{\"4\":1},\"1\":{\"36\":1}}],[\"set\",{\"1\":{\"1\":1,\"27\":1,\"28\":2,\"32\":2,\"59\":2,\"61\":1,\"62\":1,\"65\":1,\"89\":2}}],[\"s\",{\"1\":{\"1\":2,\"10\":1,\"11\":1,\"29\":3,\"30\":1,\"31\":1,\"32\":3,\"33\":4,\"34\":1,\"35\":1,\"36\":4,\"37\":1,\"38\":4,\"39\":2,\"40\":3,\"41\":1,\"44\":1,\"45\":1,\"48\":1,\"50\":2,\"52\":2,\"55\":2,\"58\":1,\"59\":1,\"61\":1,\"62\":2,\"65\":5,\"66\":4,\"71\":4,\"72\":2,\"73\":2,\"75\":6,\"77\":1,\"78\":2,\"79\":1,\"80\":1,\"81\":4,\"87\":1,\"90\":2,\"91\":3,\"92\":8}}],[\"tzinfo\",{\"1\":{\"75\":1}}],[\"t201\",{\"1\":{\"75\":1}}],[\"tp\",{\"1\":{\"55\":1,\"61\":1}}],[\"tkq\",{\"1\":{\"36\":1}}],[\"transaction\",{\"1\":{\"83\":1}}],[\"treated\",{\"1\":{\"80\":1}}],[\"try\",{\"1\":{\"34\":1,\"40\":1,\"45\":1,\"51\":1,\"62\":3,\"78\":1,\"92\":1}}],[\"true\",{\"1\":{\"11\":1,\"27\":1,\"32\":1,\"71\":1,\"90\":1}}],[\"till\",{\"1\":{\"62\":1}}],[\"tip\",{\"1\":{\"32\":1,\"45\":1,\"64\":1,\"71\":1,\"77\":1}}],[\"timeoutexception\",{\"1\":{\"67\":1}}],[\"timeouts\",{\"0\":{\"67\":1},\"1\":{\"67\":1}}],[\"timeout=2\",{\"1\":{\"65\":1,\"66\":2}}],[\"timeout\",{\"1\":{\"59\":2,\"67\":1}}],[\"timezones\",{\"0\":{\"73\":1}}],[\"timezone\",{\"1\":{\"24\":1,\"73\":2}}],[\"timedelta\",{\"1\":{\"24\":1,\"62\":1,\"71\":1,\"73\":1,\"75\":3}}],[\"times\",{\"1\":{\"10\":1,\"17\":1,\"55\":1,\"61\":1,\"71\":1,\"80\":1}}],[\"time\",{\"1\":{\"3\":2,\"19\":1,\"24\":5,\"47\":1,\"58\":1,\"59\":2,\"62\":3,\"65\":1,\"66\":3,\"67\":1,\"71\":1,\"72\":1,\"73\":3,\"75\":4,\"87\":1}}],[\"typos\",{\"1\":{\"79\":1}}],[\"typing\",{\"1\":{\"27\":1,\"30\":1,\"32\":1,\"33\":1,\"40\":1}}],[\"types\",{\"1\":{\"36\":2,\"38\":1,\"40\":2,\"56\":1,\"57\":1,\"65\":1,\"79\":1}}],[\"typevar\",{\"1\":{\"32\":2}}],[\"typer\",{\"1\":{\"30\":1}}],[\"type\",{\"0\":{\"57\":1},\"1\":{\"10\":1,\"24\":6,\"27\":1,\"32\":2,\"49\":1,\"56\":2,\"57\":3,\"59\":2,\"70\":1,\"79\":1,\"81\":1,\"84\":1}}],[\"tell\",{\"1\":{\"89\":1}}],[\"telegram\",{\"1\":{\"36\":1}}],[\"teardown\",{\"1\":{\"82\":1}}],[\"terms\",{\"1\":{\"73\":1}}],[\"terminal\",{\"1\":{\"50\":1,\"65\":1}}],[\"template\",{\"1\":{\"27\":1}}],[\"testclient\",{\"1\":{\"39\":2}}],[\"test=\",{\"1\":{\"30\":1}}],[\"testings\",{\"1\":{\"6\":1}}],[\"testing\",{\"0\":{\"6\":1,\"39\":1,\"41\":1,\"87\":1,\"91\":1},\"1\":{\"41\":3,\"89\":2,\"90\":1}}],[\"test\",{\"1\":{\"3\":1,\"6\":1,\"17\":1,\"30\":9,\"39\":4,\"41\":1,\"50\":5,\"91\":5,\"92\":6}}],[\"testserver\",{\"1\":{\"39\":2}}],[\"tests\",{\"0\":{\"90\":1},\"1\":{\"3\":1,\"6\":1,\"39\":2,\"41\":2,\"87\":2,\"89\":1,\"91\":1,\"92\":2}}],[\"two\",{\"1\":{\"27\":1,\"34\":1,\"38\":1,\"40\":2,\"43\":1,\"46\":1,\"50\":1,\"53\":1,\"55\":1,\"72\":1,\"85\":1}}],[\"takskiq\",{\"1\":{\"84\":1}}],[\"take\",{\"1\":{\"38\":2,\"50\":1,\"51\":1,\"69\":1,\"70\":1}}],[\"takes\",{\"1\":{\"3\":1,\"27\":1,\"28\":1,\"38\":1,\"40\":1}}],[\"tab\",{\"1\":{\"79\":1}}],[\"table\",{\"1\":{\"44\":1}}],[\"target\",{\"1\":{\"57\":1}}],[\"tasks\",{\"0\":{\"11\":1,\"65\":1,\"71\":1,\"91\":1},\"1\":{\"1\":1,\"9\":2,\"10\":1,\"11\":4,\"22\":1,\"24\":1,\"29\":1,\"31\":1,\"33\":3,\"35\":2,\"36\":2,\"38\":1,\"40\":2,\"41\":1,\"43\":1,\"44\":1,\"48\":1,\"50\":7,\"54\":1,\"55\":5,\"57\":1,\"58\":1,\"59\":8,\"60\":2,\"61\":4,\"62\":5,\"65\":2,\"66\":1,\"71\":3,\"72\":2,\"73\":1,\"74\":3,\"75\":2,\"79\":1,\"83\":1,\"87\":1,\"90\":1,\"91\":1,\"92\":2}}],[\"taskiqevents\",{\"1\":{\"79\":1}}],[\"taskiqdependency\",{\"1\":{\"81\":1}}],[\"taskiqdependencies\",{\"1\":{\"78\":1}}],[\"taskiqdepends\",{\"1\":{\"36\":2,\"40\":4,\"80\":1}}],[\"taskiqstate\",{\"1\":{\"77\":1,\"79\":1,\"85\":2}}],[\"taskiqserializer\",{\"1\":{\"68\":1,\"69\":1}}],[\"taskiqscheduler\",{\"1\":{\"23\":2,\"24\":2,\"62\":2,\"71\":3,\"72\":1,\"75\":2}}],[\"taskiqformatter\",{\"1\":{\"68\":1,\"70\":1}}],[\"taskiqtask\",{\"1\":{\"65\":1}}],[\"taskiqmessage\",{\"1\":{\"51\":4}}],[\"taskiqmiddleware\",{\"1\":{\"31\":1,\"51\":3}}],[\"taskiqresult\",{\"1\":{\"32\":3,\"49\":1}}],[\"taskiqcmd\",{\"1\":{\"30\":3}}],[\"taskiq\",{\"0\":{\"1\":1,\"25\":1,\"35\":1,\"36\":1,\"37\":1,\"38\":1,\"40\":1,\"43\":1,\"68\":1,\"87\":1},\"1\":{\"1\":1,\"2\":2,\"3\":1,\"4\":1,\"7\":1,\"10\":2,\"11\":1,\"12\":1,\"13\":2,\"14\":2,\"15\":2,\"16\":1,\"17\":1,\"18\":2,\"21\":3,\"23\":3,\"24\":2,\"25\":2,\"27\":2,\"28\":1,\"30\":6,\"31\":3,\"32\":3,\"33\":2,\"34\":2,\"35\":10,\"36\":16,\"38\":4,\"39\":3,\"40\":9,\"41\":3,\"43\":5,\"44\":2,\"45\":1,\"46\":2,\"47\":1,\"49\":2,\"50\":7,\"51\":4,\"53\":4,\"54\":1,\"55\":1,\"56\":2,\"57\":2,\"58\":3,\"60\":2,\"62\":10,\"64\":4,\"65\":4,\"66\":15,\"68\":1,\"69\":4,\"70\":1,\"71\":7,\"72\":1,\"73\":1,\"74\":2,\"75\":2,\"77\":1,\"78\":1,\"83\":1,\"84\":1,\"85\":3,\"86\":2,\"87\":1,\"90\":2,\"91\":2,\"92\":5}}],[\"task\",{\"0\":{\"0\":1},\"1\":{\"1\":1,\"11\":4,\"17\":5,\"24\":9,\"29\":1,\"31\":1,\"32\":10,\"33\":10,\"36\":9,\"38\":1,\"40\":2,\"44\":2,\"46\":1,\"47\":12,\"48\":15,\"50\":1,\"51\":2,\"52\":4,\"55\":1,\"56\":3,\"57\":3,\"59\":1,\"61\":1,\"62\":51,\"65\":9,\"66\":15,\"67\":3,\"70\":1,\"71\":7,\"72\":2,\"73\":2,\"74\":1,\"75\":9,\"80\":1,\"81\":1,\"82\":3,\"91\":8,\"92\":6}}],[\"thrown\",{\"1\":{\"59\":1}}],[\"throw\",{\"1\":{\"57\":1}}],[\"throughout\",{\"1\":{\"62\":1}}],[\"through\",{\"1\":{\"52\":1}}],[\"three\",{\"1\":{\"36\":1,\"56\":1}}],[\"threads\",{\"1\":{\"59\":2}}],[\"threadpool\",{\"1\":{\"59\":1}}],[\"thread\",{\"1\":{\"9\":1}}],[\"than\",{\"1\":{\"35\":1,\"65\":1,\"69\":1,\"71\":1}}],[\"that\",{\"1\":{\"3\":1,\"6\":1,\"17\":2,\"18\":1,\"28\":1,\"30\":3,\"33\":3,\"34\":1,\"35\":2,\"36\":4,\"38\":2,\"39\":1,\"40\":4,\"41\":1,\"43\":1,\"44\":2,\"46\":1,\"47\":1,\"48\":1,\"50\":1,\"51\":1,\"52\":2,\"55\":1,\"57\":1,\"58\":1,\"64\":1,\"65\":3,\"66\":4,\"70\":1,\"71\":3,\"72\":1,\"73\":3,\"74\":1,\"75\":5,\"78\":1,\"79\":1,\"83\":1,\"84\":1,\"89\":2,\"91\":2,\"92\":3}}],[\"think\",{\"1\":{\"92\":1}}],[\"things\",{\"1\":{\"34\":1,\"40\":1,\"46\":1,\"80\":1}}],[\"thing\",{\"1\":{\"6\":1,\"41\":1}}],[\"this\",{\"1\":{\"3\":1,\"4\":2,\"7\":1,\"8\":1,\"9\":2,\"10\":4,\"11\":4,\"17\":2,\"18\":1,\"19\":1,\"20\":2,\"21\":2,\"23\":2,\"24\":3,\"27\":1,\"29\":2,\"30\":2,\"32\":1,\"33\":9,\"35\":1,\"36\":10,\"37\":1,\"38\":8,\"39\":3,\"40\":5,\"41\":4,\"44\":1,\"45\":1,\"47\":3,\"48\":2,\"50\":2,\"51\":1,\"52\":3,\"54\":1,\"55\":2,\"56\":1,\"57\":2,\"58\":5,\"59\":3,\"61\":3,\"62\":5,\"65\":4,\"66\":3,\"67\":1,\"68\":1,\"71\":3,\"72\":1,\"73\":1,\"74\":4,\"75\":3,\"77\":4,\"78\":1,\"79\":4,\"80\":7,\"81\":1,\"82\":3,\"83\":2,\"86\":1,\"87\":1,\"89\":1,\"90\":1,\"91\":1,\"92\":5}}],[\"therefore\",{\"1\":{\"79\":1}}],[\"there\",{\"1\":{\"40\":1}}],[\"their\",{\"1\":{\"40\":1,\"62\":1}}],[\"then\",{\"1\":{\"39\":1,\"74\":1}}],[\"they\",{\"1\":{\"18\":1,\"35\":1,\"51\":1,\"74\":2,\"81\":1}}],[\"theme\",{\"1\":{\"45\":2}}],[\"them\",{\"1\":{\"12\":1,\"27\":1,\"29\":2,\"37\":1,\"48\":1,\"62\":3,\"71\":1,\"72\":2,\"87\":1}}],[\"these\",{\"1\":{\"11\":1,\"12\":2,\"22\":1,\"25\":1,\"29\":1,\"35\":1,\"40\":1,\"73\":1,\"75\":2,\"77\":1}}],[\"the\",{\"1\":{\"1\":1,\"3\":2,\"4\":2,\"6\":1,\"7\":1,\"9\":2,\"10\":4,\"12\":1,\"17\":3,\"21\":1,\"24\":9,\"25\":1,\"27\":7,\"28\":2,\"29\":6,\"30\":6,\"31\":2,\"32\":2,\"33\":3,\"35\":3,\"36\":15,\"37\":4,\"38\":10,\"39\":3,\"40\":6,\"43\":4,\"44\":1,\"45\":4,\"46\":10,\"47\":3,\"49\":1,\"50\":5,\"51\":14,\"52\":6,\"54\":1,\"55\":1,\"56\":5,\"57\":5,\"58\":1,\"59\":3,\"61\":2,\"62\":23,\"64\":4,\"65\":22,\"66\":25,\"67\":2,\"68\":2,\"69\":8,\"70\":5,\"71\":8,\"72\":4,\"73\":4,\"74\":8,\"75\":13,\"77\":9,\"78\":2,\"79\":9,\"80\":14,\"81\":4,\"82\":3,\"83\":1,\"86\":2,\"89\":1,\"90\":6,\"92\":4}}],[\"top\",{\"1\":{\"44\":1}}],[\"took\",{\"1\":{\"65\":2,\"66\":4}}],[\"too\",{\"1\":{\"40\":1,\"81\":1}}],[\"tool\",{\"1\":{\"30\":1}}],[\"token\",{\"1\":{\"36\":1}}],[\"token=\",{\"1\":{\"36\":1}}],[\"total\",{\"1\":{\"10\":1,\"71\":1}}],[\"tox\",{\"1\":{\"6\":4}}],[\"together\",{\"1\":{\"3\":1,\"72\":1}}],[\"to\",{\"1\":{\"1\":1,\"3\":2,\"4\":2,\"5\":1,\"6\":5,\"9\":1,\"10\":2,\"11\":4,\"16\":1,\"17\":5,\"18\":2,\"19\":1,\"22\":1,\"23\":3,\"24\":8,\"25\":1,\"27\":6,\"28\":1,\"30\":7,\"31\":4,\"32\":7,\"33\":17,\"34\":4,\"35\":5,\"36\":13,\"37\":5,\"38\":6,\"39\":5,\"40\":9,\"41\":2,\"43\":7,\"44\":1,\"45\":2,\"46\":3,\"47\":5,\"48\":3,\"49\":1,\"50\":11,\"51\":3,\"52\":5,\"53\":2,\"54\":3,\"55\":1,\"57\":4,\"58\":5,\"59\":8,\"60\":4,\"61\":3,\"62\":14,\"64\":1,\"65\":11,\"66\":11,\"67\":4,\"68\":1,\"69\":6,\"70\":6,\"71\":9,\"72\":8,\"73\":4,\"74\":2,\"75\":14,\"77\":4,\"78\":2,\"79\":1,\"80\":5,\"82\":3,\"83\":6,\"84\":1,\"86\":4,\"87\":3,\"89\":3,\"90\":3,\"91\":2,\"92\":8}}],[\"t\",{\"1\":{\"1\":2,\"20\":2,\"24\":1,\"28\":1,\"29\":1,\"38\":1,\"39\":1,\"41\":1,\"43\":1,\"44\":1,\"47\":1,\"49\":1,\"51\":1,\"57\":1,\"58\":1,\"59\":1,\"62\":2,\"65\":2,\"66\":1,\"68\":1,\"71\":1,\"75\":1,\"78\":1,\"79\":2,\"80\":2,\"81\":1,\"83\":1,\"89\":1,\"90\":1,\"92\":1}}],[\"cwd\",{\"1\":{\"92\":2}}],[\"cbor\",{\"1\":{\"69\":1}}],[\"cborserializer\",{\"1\":{\"69\":1}}],[\"cmd\",{\"1\":{\"30\":2}}],[\"child\",{\"1\":{\"59\":1}}],[\"changing\",{\"1\":{\"51\":1}}],[\"changed\",{\"1\":{\"68\":1}}],[\"change\",{\"1\":{\"47\":2,\"50\":1,\"66\":1}}],[\"channel\",{\"1\":{\"28\":1,\"46\":1}}],[\"chat\",{\"1\":{\"36\":3}}],[\"check\",{\"1\":{\"32\":2,\"36\":1,\"65\":1,\"71\":1,\"73\":1,\"74\":1}}],[\"choose\",{\"1\":{\"10\":1}}],[\"creation\",{\"1\":{\"62\":2}}],[\"creating\",{\"1\":{\"39\":1,\"43\":1,\"68\":1}}],[\"creates\",{\"1\":{\"39\":1,\"46\":1}}],[\"createdschedule\",{\"1\":{\"75\":1}}],[\"created\",{\"1\":{\"30\":1,\"37\":2,\"38\":1,\"40\":1,\"44\":1,\"62\":2}}],[\"create\",{\"1\":{\"3\":2,\"11\":1,\"32\":1,\"33\":1,\"36\":1,\"37\":1,\"39\":1,\"62\":6,\"65\":1,\"79\":1,\"84\":1}}],[\"critical\",{\"1\":{\"32\":1,\"46\":1}}],[\"cron=\",{\"1\":{\"33\":1}}],[\"crontab\",{\"1\":{\"24\":1}}],[\"cron\",{\"1\":{\"24\":7,\"62\":1,\"71\":1,\"73\":3,\"75\":3}}],[\"custom\",{\"0\":{\"12\":1},\"1\":{\"39\":1,\"41\":2,\"44\":1,\"48\":1,\"59\":2,\"61\":1,\"72\":1,\"92\":2}}],[\"currently\",{\"1\":{\"22\":1,\"72\":1,\"75\":1,\"89\":1}}],[\"current\",{\"1\":{\"9\":1,\"22\":1,\"31\":1,\"32\":1,\"36\":1,\"37\":1,\"38\":3,\"39\":1,\"50\":1,\"52\":1,\"55\":2,\"59\":1,\"61\":1,\"62\":3,\"79\":1}}],[\"came\",{\"1\":{\"92\":1}}],[\"cached\",{\"1\":{\"80\":2}}],[\"cache\",{\"1\":{\"80\":1}}],[\"cache=false\",{\"1\":{\"80\":1}}],[\"case\",{\"1\":{\"74\":1,\"75\":1,\"83\":1}}],[\"cases\",{\"1\":{\"20\":1,\"43\":1,\"51\":1}}],[\"cast\",{\"1\":{\"57\":2}}],[\"casts\",{\"0\":{\"57\":1},\"1\":{\"57\":1}}],[\"caught\",{\"1\":{\"51\":1}}],[\"calculate\",{\"1\":{\"43\":1}}],[\"calling\",{\"1\":{\"52\":1,\"65\":1,\"67\":1,\"75\":1,\"92\":1}}],[\"called\",{\"1\":{\"40\":1,\"53\":1,\"73\":1,\"77\":2,\"86\":1,\"92\":2}}],[\"calls\",{\"1\":{\"36\":2}}],[\"call\",{\"1\":{\"27\":1,\"31\":1,\"36\":2,\"38\":1,\"39\":1,\"40\":2,\"46\":1,\"47\":1,\"57\":1,\"65\":5,\"66\":1,\"71\":1,\"75\":1,\"77\":1,\"91\":2}}],[\"capable\",{\"1\":{\"23\":1}}],[\"careful\",{\"1\":{\"10\":1,\"20\":1,\"71\":2}}],[\"cancelled\",{\"1\":{\"62\":2}}],[\"cancellederror\",{\"1\":{\"62\":3}}],[\"cancel\",{\"1\":{\"62\":3}}],[\"cancels\",{\"1\":{\"33\":1}}],[\"cancelation\",{\"1\":{\"33\":1}}],[\"cannot\",{\"1\":{\"11\":1,\"20\":1,\"40\":1,\"45\":1,\"49\":1,\"59\":1,\"65\":1,\"79\":2,\"80\":1}}],[\"can\",{\"1\":{\"2\":1,\"4\":1,\"5\":1,\"6\":3,\"7\":1,\"9\":1,\"10\":1,\"11\":1,\"12\":2,\"17\":1,\"18\":3,\"21\":2,\"24\":4,\"25\":2,\"27\":3,\"28\":2,\"30\":4,\"31\":2,\"32\":1,\"33\":1,\"35\":4,\"36\":4,\"37\":1,\"38\":5,\"40\":2,\"43\":3,\"44\":1,\"47\":1,\"48\":3,\"49\":1,\"50\":4,\"51\":6,\"52\":2,\"53\":1,\"55\":1,\"56\":1,\"62\":4,\"64\":2,\"65\":4,\"66\":5,\"67\":1,\"68\":2,\"69\":1,\"70\":3,\"71\":3,\"72\":3,\"73\":2,\"74\":1,\"75\":6,\"77\":6,\"78\":2,\"79\":4,\"80\":2,\"81\":5,\"82\":1,\"83\":2,\"84\":1,\"86\":2,\"89\":3,\"90\":1,\"91\":1,\"92\":4}}],[\"clear\",{\"1\":{\"92\":1}}],[\"close\",{\"1\":{\"39\":1}}],[\"closure\",{\"1\":{\"28\":1}}],[\"closing\",{\"1\":{\"27\":1}}],[\"cloned\",{\"1\":{\"4\":1}}],[\"class\",{\"0\":{\"81\":1},\"1\":{\"27\":4,\"30\":5,\"31\":1,\"32\":2,\"33\":2,\"46\":2,\"47\":1,\"51\":1,\"52\":1,\"59\":1,\"68\":2,\"69\":1,\"70\":1,\"73\":1,\"75\":1,\"81\":1,\"84\":2}}],[\"classes\",{\"1\":{\"25\":3,\"40\":1,\"78\":1,\"81\":3}}],[\"clien\",{\"1\":{\"36\":1}}],[\"client\",{\"1\":{\"10\":1,\"18\":1,\"39\":9,\"45\":1,\"51\":1,\"77\":3}}],[\"click\",{\"1\":{\"30\":1}}],[\"cli\",{\"0\":{\"30\":1,\"53\":1},\"1\":{\"24\":1,\"26\":1,\"30\":2,\"43\":1,\"50\":2,\"53\":1,\"58\":1,\"65\":1,\"66\":3}}],[\"covered\",{\"1\":{\"73\":1}}],[\"coroutine\",{\"1\":{\"62\":1}}],[\"correct\",{\"1\":{\"38\":1,\"49\":1,\"66\":2,\"70\":1,\"87\":1,\"89\":1}}],[\"correctly\",{\"1\":{\"24\":1,\"48\":1}}],[\"core\",{\"1\":{\"12\":1,\"21\":1,\"25\":1,\"43\":1,\"53\":1,\"64\":1}}],[\"cool\",{\"1\":{\"24\":1,\"27\":1,\"32\":1,\"40\":2,\"45\":1,\"50\":1,\"64\":1,\"65\":1,\"67\":1,\"71\":1,\"75\":1,\"77\":1}}],[\"couldn\",{\"1\":{\"44\":1}}],[\"course\",{\"1\":{\"18\":1,\"71\":1,\"79\":1}}],[\"count=3\",{\"1\":{\"17\":1}}],[\"code\",{\"1\":{\"16\":1,\"31\":1,\"62\":1,\"65\":2,\"66\":2,\"77\":2,\"78\":1,\"79\":1,\"80\":1,\"92\":1}}],[\"component\",{\"1\":{\"45\":1}}],[\"components\",{\"0\":{\"7\":1}}],[\"comparison\",{\"1\":{\"44\":1}}],[\"compatible\",{\"1\":{\"27\":1}}],[\"completion\",{\"1\":{\"78\":1,\"79\":3}}],[\"completed\",{\"1\":{\"36\":1,\"82\":1,\"83\":1}}],[\"complete\",{\"1\":{\"36\":1,\"38\":1,\"51\":1,\"66\":2}}],[\"completely\",{\"1\":{\"33\":1}}],[\"complex\",{\"1\":{\"35\":1,\"62\":1,\"72\":1}}],[\"comes\",{\"1\":{\"25\":1,\"53\":1}}],[\"common\",{\"1\":{\"80\":3}}],[\"communication\",{\"1\":{\"35\":1,\"43\":1}}],[\"communicate\",{\"1\":{\"10\":1,\"35\":1}}],[\"commit\",{\"1\":{\"5\":3,\"83\":1}}],[\"commands\",{\"1\":{\"53\":2}}],[\"command\",{\"1\":{\"4\":2,\"5\":1,\"6\":2,\"30\":1,\"36\":3,\"46\":1,\"50\":1,\"62\":2,\"66\":2,\"71\":2,\"74\":1,\"83\":1}}],[\"convert\",{\"1\":{\"82\":1}}],[\"conventions\",{\"0\":{\"29\":1},\"1\":{\"29\":1}}],[\"convinient\",{\"1\":{\"73\":1,\"74\":1}}],[\"conftest\",{\"1\":{\"90\":1}}],[\"conflicts\",{\"1\":{\"72\":1}}],[\"configuration\",{\"1\":{\"59\":1}}],[\"configures\",{\"1\":{\"61\":1}}],[\"configure\",{\"1\":{\"59\":1,\"61\":1}}],[\"configured\",{\"1\":{\"5\":1,\"18\":1,\"56\":1}}],[\"constructor\",{\"1\":{\"81\":1}}],[\"constraint\",{\"1\":{\"67\":1}}],[\"consumers\",{\"1\":{\"35\":1}}],[\"considers\",{\"1\":{\"24\":1}}],[\"consider\",{\"1\":{\"1\":1,\"44\":1}}],[\"connectionpool\",{\"1\":{\"79\":1}}],[\"connections\",{\"1\":{\"27\":1}}],[\"connection\",{\"1\":{\"27\":1,\"40\":1,\"77\":1,\"79\":2,\"90\":1}}],[\"continue\",{\"1\":{\"66\":1}}],[\"control\",{\"1\":{\"52\":1,\"80\":1}}],[\"contributors\",{\"1\":{\"3\":2}}],[\"contributions\",{\"1\":{\"3\":1}}],[\"contribution\",{\"0\":{\"3\":1}}],[\"contexts\",{\"1\":{\"52\":1}}],[\"context\",{\"0\":{\"52\":1},\"1\":{\"37\":1,\"39\":6,\"41\":4,\"52\":4,\"77\":1,\"78\":1,\"79\":2,\"85\":3,\"86\":1,\"92\":5}}],[\"contents\",{\"0\":{\"26\":1}}],[\"ci\",{\"1\":{\"3\":2}}],[\"celery\",{\"1\":{\"1\":1,\"35\":1,\"44\":1,\"70\":1}}],[\"avoid\",{\"1\":{\"74\":1}}],[\"available\",{\"0\":{\"7\":1,\"8\":1,\"16\":1,\"19\":1,\"22\":1},\"1\":{\"7\":4,\"18\":1,\"32\":1,\"37\":1,\"65\":1,\"71\":2,\"75\":2,\"86\":1}}],[\"ago\",{\"1\":{\"74\":1}}],[\"again\",{\"1\":{\"66\":1}}],[\"against\",{\"1\":{\"4\":1,\"6\":1}}],[\"amqp\",{\"1\":{\"66\":4,\"71\":2}}],[\"amount\",{\"1\":{\"59\":2,\"67\":1,\"79\":1}}],[\"api\",{\"1\":{\"62\":2}}],[\"app=app\",{\"1\":{\"39\":1}}],[\"append\",{\"1\":{\"37\":1}}],[\"application\",{\"1\":{\"37\":2,\"38\":8,\"39\":4,\"40\":2,\"41\":2,\"61\":1,\"62\":1,\"86\":1}}],[\"applications\",{\"1\":{\"37\":1}}],[\"app\",{\"1\":{\"35\":1,\"37\":4,\"38\":1,\"39\":3,\"40\":7,\"41\":4,\"92\":1}}],[\"approved\",{\"1\":{\"3\":1}}],[\"autocompleted\",{\"1\":{\"79\":2}}],[\"autocompletion\",{\"1\":{\"79\":1}}],[\"autocompetion\",{\"1\":{\"78\":1}}],[\"automatic\",{\"1\":{\"57\":1}}],[\"automatically\",{\"1\":{\"41\":1,\"50\":2,\"92\":1}}],[\"auto\",{\"0\":{\"55\":1},\"1\":{\"55\":1,\"79\":3}}],[\"autouse\",{\"1\":{\"41\":1,\"92\":1}}],[\"autouse=true\",{\"1\":{\"41\":1,\"92\":1}}],[\"adopt\",{\"1\":{\"43\":1}}],[\"advice\",{\"1\":{\"41\":1}}],[\"adaptive\",{\"1\":{\"34\":1}}],[\"adds\",{\"1\":{\"36\":1,\"38\":1,\"72\":2}}],[\"added\",{\"1\":{\"33\":1,\"72\":1,\"90\":1,\"92\":1}}],[\"addition\",{\"1\":{\"75\":1}}],[\"additional\",{\"1\":{\"24\":1,\"47\":1,\"52\":1,\"73\":1,\"75\":1}}],[\"adding\",{\"0\":{\"38\":1,\"86\":1},\"1\":{\"18\":1,\"23\":1,\"51\":1,\"77\":1}}],[\"addr=\",{\"1\":{\"18\":1}}],[\"add\",{\"1\":{\"3\":1,\"11\":1,\"17\":2,\"24\":1,\"27\":1,\"30\":4,\"33\":1,\"34\":2,\"36\":1,\"37\":2,\"38\":1,\"39\":1,\"40\":1,\"41\":1,\"47\":1,\"48\":2,\"50\":1,\"53\":1,\"62\":1,\"65\":4,\"66\":6,\"67\":1,\"71\":1,\"75\":3,\"77\":2,\"79\":1,\"83\":1,\"86\":4,\"91\":3,\"92\":3}}],[\"aaa\",{\"1\":{\"30\":2}}],[\"aaaaa\",{\"1\":{\"17\":1}}],[\"await\",{\"1\":{\"27\":2,\"36\":6,\"39\":2,\"40\":2,\"47\":3,\"48\":5,\"51\":1,\"62\":14,\"65\":4,\"66\":9,\"71\":2,\"75\":7,\"91\":4,\"92\":3}}],[\"achieve\",{\"1\":{\"87\":1}}],[\"achieved\",{\"1\":{\"77\":1}}],[\"according\",{\"1\":{\"71\":1}}],[\"access\",{\"1\":{\"36\":1,\"77\":1,\"79\":1}}],[\"actively\",{\"1\":{\"44\":1}}],[\"actions\",{\"1\":{\"33\":2,\"36\":1,\"51\":1}}],[\"actually\",{\"1\":{\"90\":1}}],[\"actual\",{\"1\":{\"20\":1,\"89\":1,\"90\":1}}],[\"acknowledge\",{\"1\":{\"59\":1}}],[\"acknowledged\",{\"1\":{\"56\":3}}],[\"acknowledgements\",{\"0\":{\"56\":1},\"1\":{\"56\":1,\"59\":1}}],[\"acknowledgement\",{\"0\":{\"28\":1},\"1\":{\"59\":1}}],[\"ack=message\",{\"1\":{\"28\":1}}],[\"ack\",{\"1\":{\"28\":2,\"56\":2,\"59\":1}}],[\"acking\",{\"1\":{\"28\":1}}],[\"ackablemessage\",{\"1\":{\"27\":2,\"28\":3}}],[\"atomic\",{\"1\":{\"83\":1}}],[\"attempts\",{\"1\":{\"51\":1}}],[\"at\",{\"1\":{\"18\":1,\"30\":1,\"38\":1,\"50\":1,\"65\":1,\"66\":2,\"69\":1,\"70\":1,\"71\":2,\"77\":2,\"82\":2}}],[\"aiopika\",{\"1\":{\"66\":1}}],[\"aiopikabroker\",{\"0\":{\"13\":1},\"1\":{\"66\":7,\"71\":4}}],[\"aiotasks\",{\"1\":{\"44\":1}}],[\"aiohttp\",{\"0\":{\"37\":1},\"1\":{\"37\":8,\"38\":8,\"39\":4}}],[\"aiogram\",{\"0\":{\"36\":1},\"1\":{\"36\":14}}],[\"aio\",{\"1\":{\"13\":2,\"64\":1,\"66\":6,\"71\":2}}],[\"article\",{\"1\":{\"62\":1}}],[\"articles\",{\"1\":{\"41\":1}}],[\"arq\",{\"1\":{\"44\":1}}],[\"arg2=\",{\"1\":{\"75\":4}}],[\"arg2\",{\"1\":{\"75\":6}}],[\"arg1\",{\"1\":{\"75\":2}}],[\"arg\",{\"1\":{\"59\":1}}],[\"argument\",{\"1\":{\"30\":1,\"38\":1,\"61\":1}}],[\"argumentparser\",{\"1\":{\"30\":2}}],[\"arguments\",{\"1\":{\"24\":1,\"30\":3,\"38\":1,\"47\":1,\"92\":2}}],[\"argparse\",{\"1\":{\"30\":1}}],[\"args=\",{\"1\":{\"33\":1}}],[\"args\",{\"1\":{\"24\":3,\"30\":4,\"36\":2,\"59\":1,\"62\":1,\"71\":1,\"75\":1}}],[\"architecture\",{\"0\":{\"45\":1},\"1\":{\"10\":1,\"65\":1}}],[\"are\",{\"0\":{\"79\":1},\"1\":{\"9\":1,\"10\":1,\"12\":1,\"19\":1,\"22\":1,\"27\":1,\"29\":2,\"30\":1,\"31\":1,\"32\":1,\"33\":1,\"40\":1,\"45\":2,\"46\":1,\"48\":1,\"51\":3,\"59\":1,\"66\":1,\"77\":2,\"80\":2,\"82\":1,\"90\":1}}],[\"ability\",{\"1\":{\"44\":1,\"52\":1,\"86\":1}}],[\"abilities\",{\"1\":{\"12\":1,\"21\":1}}],[\"abc\",{\"1\":{\"25\":1,\"27\":1,\"30\":2,\"31\":1,\"32\":2,\"33\":1,\"46\":1,\"49\":1,\"51\":2}}],[\"abstractions\",{\"1\":{\"43\":1}}],[\"abstract\",{\"1\":{\"25\":3,\"27\":1,\"30\":1,\"31\":1,\"33\":1,\"46\":1}}],[\"abort\",{\"1\":{\"44\":1}}],[\"about\",{\"1\":{\"12\":1,\"21\":1,\"30\":1,\"32\":1,\"35\":1,\"37\":1,\"41\":1,\"50\":1,\"62\":1,\"65\":2,\"66\":2}}],[\"above\",{\"1\":{\"6\":1,\"79\":1}}],[\"able\",{\"1\":{\"1\":1,\"33\":3,\"38\":2,\"52\":1,\"62\":1,\"84\":1}}],[\"after\",{\"1\":{\"4\":2,\"17\":1,\"18\":1,\"30\":1,\"31\":1,\"33\":1,\"36\":1,\"37\":1,\"38\":1,\"41\":1,\"51\":6,\"56\":1,\"61\":1,\"62\":2,\"64\":1,\"66\":3,\"79\":1,\"82\":2,\"90\":1,\"92\":1}}],[\"alert\",{\"1\":{\"67\":1}}],[\"although\",{\"1\":{\"35\":1}}],[\"alter\",{\"1\":{\"27\":1}}],[\"always\",{\"1\":{\"20\":1,\"31\":1,\"71\":1}}],[\"along\",{\"1\":{\"11\":1,\"27\":1,\"35\":1}}],[\"allows\",{\"1\":{\"17\":1,\"35\":2,\"36\":1,\"38\":1,\"57\":1,\"62\":1,\"87\":1}}],[\"allow\",{\"1\":{\"16\":1}}],[\"all\",{\"1\":{\"3\":1,\"4\":2,\"5\":2,\"9\":1,\"10\":2,\"11\":1,\"24\":2,\"25\":1,\"30\":2,\"36\":1,\"37\":1,\"38\":2,\"45\":2,\"50\":2,\"51\":1,\"55\":2,\"59\":1,\"61\":1,\"62\":1,\"66\":2,\"72\":2,\"74\":1,\"80\":1,\"92\":3}}],[\"also\",{\"1\":{\"1\":1,\"6\":1,\"11\":1,\"30\":2,\"31\":1,\"38\":1,\"39\":1,\"40\":1,\"48\":2,\"52\":2,\"58\":1,\"62\":2,\"65\":2,\"66\":1,\"69\":3,\"80\":2,\"81\":1}}],[\"almost\",{\"1\":{\"1\":1,\"35\":1}}],[\"annotations\",{\"1\":{\"84\":1}}],[\"annotate\",{\"1\":{\"40\":1}}],[\"annotated\",{\"1\":{\"40\":1,\"79\":1}}],[\"annoying\",{\"1\":{\"58\":1}}],[\"another\",{\"1\":{\"41\":1,\"43\":1,\"84\":1,\"89\":1}}],[\"anywhere\",{\"1\":{\"91\":1}}],[\"anyio\",{\"1\":{\"90\":2,\"91\":2,\"92\":2}}],[\"anything\",{\"1\":{\"20\":1,\"49\":1,\"51\":1,\"75\":1}}],[\"any\",{\"1\":{\"1\":1,\"6\":1,\"20\":1,\"24\":3,\"38\":2,\"40\":2,\"44\":1,\"57\":1,\"65\":1,\"66\":1,\"68\":2,\"70\":1,\"79\":2,\"83\":1}}],[\"and\",{\"0\":{\"11\":1,\"76\":1},\"1\":{\"1\":2,\"3\":1,\"6\":1,\"10\":1,\"12\":1,\"20\":1,\"21\":1,\"24\":1,\"27\":2,\"29\":1,\"30\":1,\"32\":1,\"33\":1,\"34\":4,\"35\":4,\"36\":1,\"37\":2,\"38\":3,\"39\":1,\"40\":6,\"43\":3,\"44\":2,\"45\":3,\"46\":2,\"47\":2,\"48\":1,\"49\":3,\"51\":1,\"52\":1,\"53\":1,\"54\":1,\"57\":1,\"62\":5,\"64\":1,\"65\":4,\"66\":2,\"69\":3,\"70\":3,\"71\":2,\"72\":1,\"74\":2,\"75\":3,\"78\":1,\"79\":2,\"80\":2,\"81\":1,\"82\":2,\"83\":1,\"84\":1,\"86\":1,\"90\":2,\"91\":6,\"92\":1}}],[\"an\",{\"1\":{\"1\":1,\"3\":1,\"36\":1,\"38\":2,\"40\":1,\"46\":1,\"47\":1,\"50\":1,\"55\":1,\"62\":1,\"65\":2,\"66\":1,\"70\":1,\"73\":4,\"75\":3,\"77\":1,\"81\":1,\"82\":1,\"86\":1,\"89\":2,\"90\":3}}],[\"aside\",{\"1\":{\"72\":1}}],[\"assert\",{\"1\":{\"91\":2,\"92\":2}}],[\"assemble\",{\"1\":{\"72\":1}}],[\"assume\",{\"1\":{\"50\":1,\"79\":1}}],[\"assumes\",{\"1\":{\"6\":1,\"73\":1}}],[\"assign\",{\"1\":{\"48\":1,\"62\":1}}],[\"assigned\",{\"1\":{\"47\":1,\"75\":1}}],[\"asynchronous\",{\"1\":{\"82\":1}}],[\"asynchronously\",{\"1\":{\"82\":1}}],[\"asyncresultbackend\",{\"1\":{\"32\":3,\"49\":1}}],[\"asyncgenerator\",{\"1\":{\"27\":2,\"28\":1,\"39\":1}}],[\"asyncbroker\",{\"1\":{\"27\":3,\"46\":2,\"86\":1,\"90\":2}}],[\"async\",{\"0\":{\"11\":1,\"90\":1},\"1\":{\"11\":2,\"17\":1,\"24\":1,\"27\":4,\"28\":1,\"31\":1,\"32\":5,\"33\":7,\"35\":1,\"36\":5,\"38\":1,\"39\":1,\"40\":3,\"44\":1,\"47\":4,\"48\":10,\"51\":4,\"57\":1,\"59\":2,\"62\":3,\"65\":2,\"66\":4,\"71\":2,\"75\":1,\"79\":1,\"90\":2,\"91\":5,\"92\":3}}],[\"asyncio\",{\"0\":{\"0\":1},\"1\":{\"1\":1,\"36\":4,\"39\":1,\"44\":1,\"47\":3,\"48\":3,\"51\":2,\"62\":14,\"65\":2,\"66\":4,\"71\":1,\"90\":1}}],[\"ask\",{\"1\":{\"3\":1}}],[\"as\",{\"0\":{\"81\":1},\"1\":{\"1\":1,\"5\":1,\"12\":1,\"18\":1,\"21\":1,\"23\":1,\"24\":1,\"27\":3,\"29\":1,\"30\":1,\"31\":1,\"35\":2,\"38\":2,\"39\":3,\"40\":7,\"41\":1,\"50\":1,\"52\":1,\"57\":3,\"60\":1,\"62\":5,\"64\":2,\"66\":1,\"70\":2,\"71\":1,\"75\":1,\"77\":1,\"78\":1,\"79\":1,\"80\":1,\"81\":2,\"87\":1,\"90\":2,\"91\":2,\"92\":1}}],[\"a\",{\"0\":{\"1\":1,\"81\":1},\"1\":{\"1\":3,\"3\":2,\"5\":2,\"6\":1,\"7\":1,\"9\":1,\"11\":2,\"12\":1,\"17\":3,\"21\":1,\"23\":1,\"24\":1,\"27\":10,\"28\":4,\"30\":1,\"31\":2,\"32\":9,\"33\":6,\"35\":5,\"36\":3,\"37\":2,\"38\":5,\"39\":5,\"40\":7,\"41\":4,\"43\":2,\"44\":4,\"46\":2,\"47\":5,\"50\":5,\"51\":2,\"52\":4,\"55\":1,\"57\":1,\"59\":2,\"61\":2,\"62\":20,\"65\":6,\"66\":2,\"67\":2,\"69\":2,\"70\":7,\"71\":5,\"72\":2,\"73\":2,\"74\":2,\"75\":2,\"77\":3,\"79\":2,\"80\":2,\"83\":1,\"84\":1,\"86\":1,\"90\":1,\"91\":3,\"92\":4}}],[\"illustration\",{\"1\":{\"62\":1,\"92\":1}}],[\"imemory\",{\"1\":{\"90\":1}}],[\"immediately\",{\"1\":{\"61\":1}}],[\"imagine\",{\"1\":{\"41\":1,\"71\":1}}],[\"implements\",{\"1\":{\"29\":1,\"30\":1}}],[\"implement\",{\"1\":{\"25\":1,\"27\":1,\"29\":1,\"31\":1,\"32\":1,\"33\":6,\"43\":1,\"46\":2,\"49\":1,\"51\":1,\"62\":2,\"69\":1,\"70\":1,\"71\":2}}],[\"implementations\",{\"1\":{\"69\":2}}],[\"implementation\",{\"1\":{\"1\":1,\"68\":1,\"69\":1,\"70\":1,\"78\":1}}],[\"importing\",{\"0\":{\"55\":1}}],[\"important\",{\"1\":{\"32\":1,\"39\":1,\"40\":1,\"41\":1,\"51\":1,\"65\":1}}],[\"import\",{\"1\":{\"11\":1,\"17\":1,\"18\":1,\"23\":2,\"24\":3,\"27\":2,\"30\":3,\"32\":3,\"33\":2,\"35\":3,\"36\":11,\"37\":2,\"38\":1,\"39\":1,\"40\":6,\"41\":1,\"47\":2,\"50\":2,\"51\":3,\"55\":1,\"60\":1,\"61\":1,\"62\":11,\"65\":3,\"66\":7,\"71\":5,\"75\":2,\"90\":2,\"91\":5,\"92\":6}}],[\"imported\",{\"1\":{\"11\":1}}],[\"i\",{\"1\":{\"36\":1,\"65\":1,\"66\":1,\"92\":1}}],[\"ide\",{\"1\":{\"79\":1}}],[\"idea\",{\"1\":{\"43\":1}}],[\"id\",{\"1\":{\"32\":10,\"33\":2,\"36\":3,\"47\":1,\"75\":3}}],[\"ignored\",{\"1\":{\"58\":1}}],[\"ignore\",{\"1\":{\"27\":1,\"30\":1,\"32\":2}}],[\"if\",{\"1\":{\"3\":1,\"4\":1,\"6\":2,\"10\":2,\"17\":1,\"18\":1,\"24\":1,\"27\":2,\"28\":2,\"29\":4,\"31\":1,\"32\":2,\"33\":1,\"35\":1,\"36\":5,\"39\":1,\"40\":4,\"41\":1,\"43\":1,\"44\":1,\"45\":1,\"50\":4,\"51\":2,\"57\":2,\"58\":1,\"59\":2,\"61\":1,\"62\":3,\"65\":5,\"66\":5,\"67\":1,\"69\":1,\"70\":1,\"71\":3,\"72\":2,\"73\":2,\"74\":3,\"75\":2,\"77\":1,\"79\":1,\"80\":1,\"81\":1,\"82\":1,\"83\":4,\"86\":1,\"87\":1,\"89\":1,\"90\":3,\"91\":2,\"92\":2}}],[\"itself\",{\"1\":{\"92\":1}}],[\"its\",{\"1\":{\"4\":1,\"35\":1,\"38\":1,\"40\":1,\"51\":1}}],[\"it\",{\"1\":{\"1\":5,\"3\":1,\"4\":2,\"5\":1,\"6\":3,\"9\":2,\"10\":2,\"11\":2,\"17\":1,\"20\":1,\"21\":1,\"23\":1,\"24\":3,\"27\":2,\"28\":1,\"29\":2,\"30\":1,\"31\":1,\"32\":3,\"33\":4,\"35\":3,\"36\":3,\"37\":2,\"38\":4,\"39\":1,\"40\":5,\"41\":4,\"43\":2,\"45\":1,\"46\":2,\"47\":2,\"48\":2,\"49\":2,\"50\":2,\"51\":2,\"52\":3,\"55\":2,\"56\":2,\"57\":1,\"58\":1,\"60\":1,\"61\":2,\"62\":7,\"64\":1,\"65\":7,\"66\":1,\"67\":1,\"69\":3,\"70\":3,\"71\":4,\"72\":3,\"73\":2,\"74\":3,\"75\":4,\"78\":1,\"80\":1,\"81\":3,\"83\":1,\"90\":2,\"91\":5,\"92\":8}}],[\"indicates\",{\"1\":{\"89\":1}}],[\"input\",{\"1\":{\"57\":1}}],[\"inside\",{\"1\":{\"52\":1,\"62\":1}}],[\"instead\",{\"1\":{\"44\":1,\"62\":1,\"66\":1,\"75\":1}}],[\"instances\",{\"1\":{\"62\":1,\"71\":1}}],[\"instance\",{\"1\":{\"36\":3,\"47\":1,\"52\":1,\"71\":1,\"73\":1,\"75\":2}}],[\"installed\",{\"1\":{\"6\":1,\"50\":1}}],[\"install\",{\"1\":{\"2\":2,\"4\":7,\"5\":2,\"10\":1,\"12\":1,\"13\":1,\"14\":1,\"15\":1,\"18\":2,\"21\":2,\"23\":1,\"35\":2,\"36\":2,\"37\":2,\"38\":2,\"50\":1,\"58\":1,\"64\":1,\"66\":3,\"69\":2,\"90\":1}}],[\"installation\",{\"0\":{\"2\":1,\"64\":1},\"1\":{\"5\":1,\"36\":1,\"37\":1,\"38\":1,\"64\":1,\"66\":2}}],[\"instructions\",{\"1\":{\"4\":1}}],[\"infinite\",{\"1\":{\"36\":1,\"46\":1}}],[\"info\",{\"1\":{\"32\":1,\"36\":3,\"50\":2,\"59\":1,\"61\":1,\"66\":1}}],[\"information\",{\"1\":{\"23\":1,\"27\":1,\"32\":2,\"51\":1,\"62\":1,\"65\":2,\"66\":1,\"73\":1}}],[\"injected\",{\"1\":{\"40\":2}}],[\"injection\",{\"0\":{\"92\":1},\"1\":{\"37\":2,\"39\":1,\"40\":2,\"44\":1,\"79\":1}}],[\"inject\",{\"1\":{\"31\":1}}],[\"incoming\",{\"1\":{\"30\":1,\"57\":1}}],[\"includes\",{\"1\":{\"19\":1}}],[\"into\",{\"1\":{\"87\":1}}],[\"introduce\",{\"1\":{\"71\":1}}],[\"introduction\",{\"0\":{\"42\":1}}],[\"integrate\",{\"1\":{\"78\":1}}],[\"integration\",{\"0\":{\"38\":1},\"1\":{\"35\":1,\"36\":5,\"38\":1,\"40\":1}}],[\"integrations\",{\"0\":{\"34\":1},\"1\":{\"34\":2}}],[\"intensive\",{\"1\":{\"36\":1}}],[\"interpreted\",{\"1\":{\"89\":1}}],[\"internals\",{\"1\":{\"66\":1}}],[\"internal\",{\"1\":{\"65\":1}}],[\"interservice\",{\"1\":{\"43\":1}}],[\"interact\",{\"1\":{\"33\":3}}],[\"interface\",{\"1\":{\"24\":1,\"50\":1,\"86\":1,\"90\":1}}],[\"int\",{\"1\":{\"29\":1,\"36\":1,\"57\":2,\"65\":2,\"66\":4,\"71\":4,\"75\":1,\"91\":10}}],[\"initially\",{\"1\":{\"47\":1}}],[\"initialize\",{\"1\":{\"36\":1,\"37\":1,\"77\":1}}],[\"initialization\",{\"1\":{\"36\":1,\"38\":1}}],[\"init\",{\"1\":{\"27\":2,\"36\":3,\"37\":1,\"38\":1,\"40\":2,\"41\":1,\"92\":1}}],[\"invoking\",{\"1\":{\"24\":3}}],[\"inmemory\",{\"1\":{\"41\":1,\"47\":1,\"90\":1}}],[\"inmemoryresultbackend\",{\"1\":{\"9\":1,\"49\":1}}],[\"inmemorybroker\",{\"0\":{\"9\":1},\"1\":{\"39\":2,\"41\":1,\"47\":3,\"49\":1,\"65\":6,\"66\":1,\"90\":2,\"91\":1}}],[\"in\",{\"0\":{\"1\":1},\"1\":{\"1\":1,\"3\":2,\"4\":1,\"6\":1,\"7\":1,\"8\":1,\"9\":1,\"12\":1,\"19\":1,\"20\":1,\"21\":1,\"23\":1,\"24\":1,\"25\":1,\"27\":1,\"28\":1,\"29\":1,\"30\":2,\"31\":1,\"32\":3,\"33\":2,\"34\":1,\"35\":1,\"36\":2,\"37\":2,\"38\":3,\"40\":11,\"41\":3,\"43\":2,\"45\":1,\"46\":2,\"48\":1,\"49\":1,\"50\":5,\"51\":4,\"55\":2,\"56\":1,\"58\":1,\"59\":2,\"60\":1,\"61\":1,\"62\":5,\"65\":5,\"66\":2,\"67\":1,\"70\":2,\"71\":1,\"72\":1,\"73\":2,\"74\":2,\"75\":4,\"77\":1,\"78\":1,\"79\":3,\"80\":2,\"81\":2,\"82\":1,\"83\":4,\"89\":1,\"90\":3,\"91\":1,\"92\":3}}],[\"isn\",{\"1\":{\"47\":1}}],[\"issue\",{\"1\":{\"3\":1,\"62\":1}}],[\"is\",{\"0\":{\"1\":1,\"43\":1},\"1\":{\"3\":1,\"4\":1,\"9\":1,\"10\":1,\"11\":1,\"17\":1,\"21\":1,\"23\":1,\"24\":1,\"25\":1,\"27\":2,\"28\":1,\"30\":1,\"32\":6,\"33\":4,\"34\":1,\"35\":4,\"36\":7,\"37\":1,\"38\":4,\"39\":3,\"40\":4,\"41\":2,\"43\":2,\"46\":1,\"47\":3,\"48\":1,\"49\":1,\"50\":1,\"51\":3,\"52\":1,\"53\":2,\"55\":2,\"56\":6,\"57\":2,\"58\":2,\"59\":5,\"60\":1,\"61\":3,\"62\":8,\"65\":4,\"66\":5,\"67\":1,\"68\":1,\"69\":1,\"71\":1,\"75\":3,\"77\":2,\"78\":2,\"79\":1,\"80\":1,\"81\":1,\"82\":1,\"83\":2,\"84\":1,\"89\":2,\"90\":3,\"92\":2}}]],\"serializationVersion\":2}}")).map(([e,t])=>[e,zt(t,{fields:["h","t","c"],storeFields:["h","t","c"]})]));self.onmessage=({data:{type:e="all",query:t,locale:s,options:n,id:o}})=>{const u=bt[s];e==="suggest"?self.postMessage([e,o,tt(t,u,n)]):e==="search"?self.postMessage([e,o,Z(t,u,n)]):self.postMessage({suggestions:[e,o,tt(t,u,n)],results:[e,o,Z(t,u,n)]})}; //# sourceMappingURL=index.js.map diff --git a/sitemap.xml b/sitemap.xml index b042250..34dc638 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -1,3 +1,3 @@ -https://taskiq-python.github.io/2024-04-20T00:01:02.000Zdailyhttps://taskiq-python.github.io/contrib.html2024-04-20T00:01:02.000Zdailyhttps://taskiq-python.github.io/available-components/2024-04-20T00:01:02.000Zdailyhttps://taskiq-python.github.io/available-components/brokers.html2024-04-20T00:01:02.000Zdailyhttps://taskiq-python.github.io/available-components/middlewares.html2024-04-20T00:01:02.000Zdailyhttps://taskiq-python.github.io/available-components/result-backends.html2024-04-20T00:01:02.000Zdailyhttps://taskiq-python.github.io/available-components/schedule-sources.html2024-04-20T00:01:02.000Zdailyhttps://taskiq-python.github.io/extending-taskiq/2024-04-20T00:01:02.000Zdailyhttps://taskiq-python.github.io/extending-taskiq/broker.html2024-04-20T00:01:02.000Zdailyhttps://taskiq-python.github.io/extending-taskiq/cli.html2024-04-20T00:01:02.000Zdailyhttps://taskiq-python.github.io/extending-taskiq/middleware.html2024-04-20T00:01:02.000Zdailyhttps://taskiq-python.github.io/extending-taskiq/result-backend.html2024-04-20T00:01:02.000Zdailyhttps://taskiq-python.github.io/extending-taskiq/schedule-sources.html2024-04-20T00:01:02.000Zdailyhttps://taskiq-python.github.io/framework_integrations/2024-04-20T00:01:02.000Zdailyhttps://taskiq-python.github.io/framework_integrations/faststream.html2024-04-20T00:01:02.000Zdailyhttps://taskiq-python.github.io/framework_integrations/taskiq-with-aiogram.html2024-04-20T00:01:02.000Zdailyhttps://taskiq-python.github.io/framework_integrations/taskiq-with-aiohttp.html2024-04-20T00:01:02.000Zdailyhttps://taskiq-python.github.io/framework_integrations/taskiq-with-fastapi.html2024-04-20T00:01:02.000Zdailyhttps://taskiq-python.github.io/guide/2024-04-20T00:01:02.000Zdailyhttps://taskiq-python.github.io/guide/architecture-overview.html2024-04-20T00:01:02.000Zdailyhttps://taskiq-python.github.io/guide/cli.html2024-04-20T00:01:02.000Zdailyhttps://taskiq-python.github.io/guide/dynamic-brokers.html2024-04-20T00:01:02.000Zdailyhttps://taskiq-python.github.io/guide/getting-started.html2024-04-20T00:01:02.000Zdailyhttps://taskiq-python.github.io/guide/message-format.html2024-04-20T00:01:02.000Zdailyhttps://taskiq-python.github.io/guide/scheduling-tasks.html2024-04-20T00:01:02.000Zdailyhttps://taskiq-python.github.io/guide/state-and-deps.html2024-04-20T00:01:02.000Zdailyhttps://taskiq-python.github.io/guide/testing-taskiq.html2024-04-20T00:01:02.000Zdaily \ No newline at end of file +https://taskiq-python.github.io/2024-04-26T20:07:59.000Zdailyhttps://taskiq-python.github.io/contrib.html2024-04-26T20:07:59.000Zdailyhttps://taskiq-python.github.io/available-components/2024-04-26T20:07:59.000Zdailyhttps://taskiq-python.github.io/available-components/brokers.html2024-04-26T20:07:59.000Zdailyhttps://taskiq-python.github.io/available-components/middlewares.html2024-04-26T20:07:59.000Zdailyhttps://taskiq-python.github.io/available-components/result-backends.html2024-04-26T20:07:59.000Zdailyhttps://taskiq-python.github.io/available-components/schedule-sources.html2024-04-26T20:07:59.000Zdailyhttps://taskiq-python.github.io/extending-taskiq/2024-04-26T20:07:59.000Zdailyhttps://taskiq-python.github.io/extending-taskiq/broker.html2024-04-26T20:07:59.000Zdailyhttps://taskiq-python.github.io/extending-taskiq/cli.html2024-04-26T20:07:59.000Zdailyhttps://taskiq-python.github.io/extending-taskiq/middleware.html2024-04-26T20:07:59.000Zdailyhttps://taskiq-python.github.io/extending-taskiq/result-backend.html2024-04-26T20:07:59.000Zdailyhttps://taskiq-python.github.io/extending-taskiq/schedule-sources.html2024-04-26T20:07:59.000Zdailyhttps://taskiq-python.github.io/framework_integrations/2024-04-26T20:07:59.000Zdailyhttps://taskiq-python.github.io/framework_integrations/faststream.html2024-04-26T20:07:59.000Zdailyhttps://taskiq-python.github.io/framework_integrations/taskiq-with-aiogram.html2024-04-26T20:07:59.000Zdailyhttps://taskiq-python.github.io/framework_integrations/taskiq-with-aiohttp.html2024-04-26T20:07:59.000Zdailyhttps://taskiq-python.github.io/framework_integrations/taskiq-with-fastapi.html2024-04-26T20:07:59.000Zdailyhttps://taskiq-python.github.io/guide/2024-04-26T20:07:59.000Zdailyhttps://taskiq-python.github.io/guide/architecture-overview.html2024-04-26T20:07:59.000Zdailyhttps://taskiq-python.github.io/guide/cli.html2024-04-26T20:07:59.000Zdailyhttps://taskiq-python.github.io/guide/dynamic-brokers.html2024-04-26T20:07:59.000Zdailyhttps://taskiq-python.github.io/guide/getting-started.html2024-04-26T20:07:59.000Zdailyhttps://taskiq-python.github.io/guide/message-format.html2024-04-26T20:07:59.000Zdailyhttps://taskiq-python.github.io/guide/scheduling-tasks.html2024-04-26T20:07:59.000Zdailyhttps://taskiq-python.github.io/guide/state-and-deps.html2024-04-26T20:07:59.000Zdailyhttps://taskiq-python.github.io/guide/testing-taskiq.html2024-04-26T20:07:59.000Zdaily \ No newline at end of file