diff --git a/2026/aidevcon-london/404.html b/2026/aidevcon-london/404.html index 313aed9a75e9c5dc3a4cf1cf16acc32b254d5b09..7b8fa786b474585b0688dbc21c5fef566b217524 100644 --- a/2026/aidevcon-london/404.html +++ b/2026/aidevcon-london/404.html @@ -19,12 +19,12 @@ - + - +
diff --git a/2026/aidevcon-london/assets/HttpHeaderExample-UM3qS7BW.js b/2026/aidevcon-london/assets/HttpHeaderExample-UM3qS7BW.js new file mode 100644 index 0000000000000000000000000000000000000000..2f7ef2322f3a3df7cb039d688d6ba8851e1ddcdc --- /dev/null +++ b/2026/aidevcon-london/assets/HttpHeaderExample-UM3qS7BW.js @@ -0,0 +1 @@ +import{T as e,_t as t,b as n,p as r,x as i,z as a}from"./modules/shiki-BMQKBaOU.js";import{it as o}from"./index-cw2gNXXR.js";var s={key:1,class:`http-schema-layout`},c=e({__name:`HttpHeaderExample`,props:{variant:{default:`solution`}},setup(e){let{$slidev:c,$nav:l,$clicksContext:u,$clicks:d,$page:f,$renderContext:p,$frontmatter:m}=o(),h=e;return(e,o)=>(a(),n(`section`,{class:t([`http-request-panel deck-panel`,`http-request-panel--${h.variant}`])},[h.variant===`problem`?(a(),n(r,{key:0},[o[0]||=i(`

MCP over HTTP today

POST /mcp/ HTTP/1.1Host: hf.co/mcpContent-Type: application/json
{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "hf.hub_search",
"arguments": {
"query": "image generation models",
"type": "model"
}
}
}
`,3)],64)):h.variant===`tool`?(a(),n(`div`,s,[...o[1]||=[i(`
tool definition
{
"name": "hf.generate_image",
"inputSchema": {
"properties": {
"prompt": { "type": "string" },
"size": { "type": "string" },
"pipeline": {
"type": "string",
"x-mcp-header": "Pipeline"
}
}
}
}
Ordinary tool inputprompt and size stay in the JSON body.
One routable parameterx-mcp-header tells clients what to mirror into HTTP.
Infrastructure hintThe edge can choose image infrastructure without parsing the packet.
`,2)]])):(a(),n(r,{key:2},[o[2]||=i(`

Router can see

tool definition
namehf.generate_image
x-mcp-headerPipeline
POST /mcp/ HTTP/1.1Host: hf.co/mcpMcp-Method: tools/callMcp-Name: hf.generate_imageMcp-Param-Pipeline: image-generation
{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "hf.generate_image",
"arguments": {
"prompt": "robot on a skateboard",
"pipeline": "image-generation"
}
}
}
`,4)],64))],2))}});export{c as t}; \ No newline at end of file diff --git a/2026/aidevcon-london/assets/HttpRouteMap-Bng6aSA7.js b/2026/aidevcon-london/assets/HttpRouteMap-Bng6aSA7.js new file mode 100644 index 0000000000000000000000000000000000000000..9ac9e23e537f9878f63ac1065d81ddeadb174f66 --- /dev/null +++ b/2026/aidevcon-london/assets/HttpRouteMap-Bng6aSA7.js @@ -0,0 +1 @@ +import{S as e,T as t,V as n,_ as r,_t as i,b as a,bt as o,p as s,z as c}from"./modules/shiki-BMQKBaOU.js";import{it as l,vt as u}from"./index-cw2gNXXR.js";var d={class:`http-route-map__svg`,viewBox:`0 0 640 420`,role:`img`,"aria-label":`Regions and client connecting through a global endpoint`},f={class:`http-route-map__nodes`},p=[`transform`],m=[`width`,`height`,`rx`],h=[`x`,`y`],g={class:`http-route-map__edges`},_=[`d`,`marker-end`],v={class:`http-route-note`},y=u(t({__name:`HttpRouteMap`,props:{mode:{default:`solution`}},setup(t){let{$slidev:u,$nav:y,$clicksContext:b,$clicks:x,$page:S,$renderContext:C,$frontmatter:w}=l(),T=t,E={regionA:{id:`regionA`,label:`Hub Query`,x:48,y:44,w:180,h:64,rx:18,tone:`blue`,kind:`service`},regionB:{id:`regionB`,label:`Image Gen`,x:412,y:44,w:180,h:64,rx:18,tone:`red`,kind:`service`},endpoint:{id:`endpoint`,label:`HF MCP Edge`,x:48,y:160,w:544,h:64,rx:32,kind:`endpoint`},client:{id:`client`,label:`Client`,x:230,y:330,w:180,h:68,rx:34,tone:`blue`,kind:`client`}},D=[E.regionA,E.regionB,E.endpoint,E.client],O=[{id:`region-a-request`,from:`regionA`,to:`endpoint`,fromSide:`bottom`,toSide:`top`,tone:`blue`,fromOffsetX:-8,toOffsetX:-190},{id:`region-a-response`,from:`endpoint`,to:`regionA`,fromSide:`top`,toSide:`bottom`,tone:`blue`,dashed:!0,fromOffsetX:-174,toOffsetX:8},{id:`region-b-request`,from:`regionB`,to:`endpoint`,fromSide:`bottom`,toSide:`top`,tone:`red`,fromOffsetX:-8,toOffsetX:174},{id:`region-b-response`,from:`endpoint`,to:`regionB`,fromSide:`top`,toSide:`bottom`,tone:`red`,dashed:!0,fromOffsetX:190,toOffsetX:8},{id:`client-blue-request`,from:`client`,to:`endpoint`,fromSide:`top`,toSide:`bottom`,tone:`blue`,fromOffsetX:-28,toOffsetX:-28},{id:`client-blue-response`,from:`endpoint`,to:`client`,fromSide:`bottom`,toSide:`top`,tone:`blue`,dashed:!0,fromOffsetX:-14,toOffsetX:-14},{id:`client-red-request`,from:`client`,to:`endpoint`,fromSide:`top`,toSide:`bottom`,tone:`red`,fromOffsetX:28,toOffsetX:28},{id:`client-red-response`,from:`endpoint`,to:`client`,fromSide:`bottom`,toSide:`top`,tone:`red`,dashed:!0,fromOffsetX:42,toOffsetX:42}];function k(e,t,n=0){return t===`top`?{x:e.x+e.w/2+n,y:e.y}:t===`bottom`?{x:e.x+e.w/2+n,y:e.y+e.h}:t===`left`?{x:e.x,y:e.y+e.h/2}:{x:e.x+e.w,y:e.y+e.h/2}}function A(e){let t=k(E[e.from],e.fromSide,e.fromOffsetX),n=k(E[e.to],e.toSide,e.toOffsetX);return`M ${t.x} ${t.y} L ${n.x} ${n.y}`}return(t,l)=>(c(),a(`section`,{class:i([`http-route-map deck-panel`,`http-route-map--${T.mode}`])},[(c(),a(`svg`,d,[l[0]||=r(`defs`,null,[r(`marker`,{id:`http-route-arrow-blue`,markerWidth:`12`,markerHeight:`12`,refX:`10`,refY:`6`,orient:`auto`,markerUnits:`userSpaceOnUse`},[r(`path`,{d:`M 0 0 L 12 6 L 0 12 z`})]),r(`marker`,{id:`http-route-arrow-red`,markerWidth:`12`,markerHeight:`12`,refX:`10`,refY:`6`,orient:`auto`,markerUnits:`userSpaceOnUse`},[r(`path`,{d:`M 0 0 L 12 6 L 0 12 z`})])],-1),r(`g`,f,[(c(),a(s,null,n(D,e=>r(`g`,{key:e.id,class:i([`http-route-node`,[`http-route-node--${e.kind}`,e.tone&&`http-route-node--${e.tone}`]]),transform:`translate(${e.x} ${e.y})`},[r(`rect`,{width:e.w,height:e.h,rx:e.rx},null,8,m),r(`text`,{x:e.w/2,y:e.h/2},o(e.label),9,h)],10,p)),64))]),r(`g`,g,[(c(),a(s,null,n(O,e=>r(`path`,{key:e.id,class:i([`http-route-edge`,[`http-route-edge--${e.tone}`,e.dashed&&`http-route-edge--dashed`]]),d:A(e),"marker-end":`url(#http-route-arrow-${e.tone})`},null,10,_)),64))])])),r(`div`,v,[T.mode===`problem`?(c(),a(s,{key:0},[l[1]||=e(` Edge only sees `,-1),l[2]||=r(`strong`,null,`POST /mcp`,-1),l[3]||=e(`; routing fields are buried in JSON. `,-1)],64)):(c(),a(s,{key:1},[l[4]||=e(` Edge sees `,-1),l[5]||=r(`strong`,null,`Mcp-Name`,-1),l[6]||=e(` and `,-1),l[7]||=r(`strong`,null,`Mcp-Param-Pipeline`,-1),l[8]||=e(`. `,-1)],64))])],2))}}),[[`__scopeId`,`data-v-26c46c5e`]]);export{y as t}; \ No newline at end of file diff --git a/2026/aidevcon-london/assets/McpSpecTransportTimeline-cqjmY3kA.js b/2026/aidevcon-london/assets/McpSpecTransportTimeline-cqjmY3kA.js new file mode 100644 index 0000000000000000000000000000000000000000..c85cd8255a0dda180961b1c155af3dc9db64fdda --- /dev/null +++ b/2026/aidevcon-london/assets/McpSpecTransportTimeline-cqjmY3kA.js @@ -0,0 +1 @@ +import{T as e,V as t,_ as n,_t as r,b as i,p as a,y as o,z as s}from"./modules/shiki-BMQKBaOU.js";import{it as c,vt as l}from"./index-cw2gNXXR.js";var u={class:`spec-timeline__axis`},d={class:`spec-timeline__axis-track`},f={class:`spec-timeline__tick spec-timeline__tick--now spec-timeline__tick--col-5`},p={key:0},m={class:`spec-timeline__tick spec-timeline__tick--future spec-timeline__tick--col-6`},h={key:0},g={class:`spec-timeline__body`},_={class:`spec-timeline__lane spec-timeline__lane--transport`},v={class:`spec-timeline__hotspots`,"aria-hidden":`true`},y={key:0,class:`spec-timeline__bar spec-timeline__bar--stateless-stdio`},b={class:`spec-timeline__lane spec-timeline__lane--remote`},x={class:`spec-timeline__hotspots`,"aria-hidden":`true`},S={key:0,class:`spec-timeline__bar spec-timeline__bar--stateless`},C={class:`spec-timeline__lane spec-timeline__lane--auth`},w={class:`spec-timeline__hotspots`,"aria-hidden":`true`},T=l(e({__name:`McpSpecTransportTimeline`,props:{variant:{default:`full`}},setup(e){let{$slidev:l,$nav:T,$clicksContext:E,$clicks:D,$page:O,$renderContext:k,$frontmatter:A}=c(),j=e.variant===`before`;return(e,c)=>(s(),i(`section`,{class:r([`spec-timeline`,{"spec-timeline--before":j}]),"aria-label":`MCP specification transport and authorization evolution`},[n(`div`,u,[c[4]||=n(`div`,{class:`spec-timeline__axis-spacer`,"aria-hidden":`true`},null,-1),n(`div`,d,[c[0]||=n(`div`,{class:`spec-timeline__tick spec-timeline__tick--past spec-timeline__tick--col-1`},[n(`strong`,null,`2024-11`)],-1),c[1]||=n(`div`,{class:`spec-timeline__tick spec-timeline__tick--col-2`},[n(`strong`,null,`2025-03`)],-1),c[2]||=n(`div`,{class:`spec-timeline__tick spec-timeline__tick--col-3`},[n(`strong`,null,`2025-06`)],-1),c[3]||=n(`div`,{class:`spec-timeline__tick spec-timeline__tick--col-4`},[n(`strong`,null,`2025-11`)],-1),n(`div`,f,[j?o(`v-if`,!0):(s(),i(`strong`,p,`2026-07`))]),n(`div`,m,[j?o(`v-if`,!0):(s(),i(`strong`,h,`...`))])])]),n(`div`,g,[c[15]||=n(`div`,{class:`spec-timeline__lane-label spec-timeline__lane-label--transport`},[n(`span`,null,`Local`)],-1),n(`div`,_,[c[7]||=n(`div`,{class:`spec-timeline__grid-lines`,"aria-hidden":`true`},null,-1),n(`div`,v,[(s(),i(a,null,t(6,e=>n(`div`,{key:`transport-${e}`,class:r(`spec-timeline__hotspot spec-timeline__hotspot--${e}`)},null,2)),64))]),n(`div`,{class:r([`spec-timeline__bar spec-timeline__bar--stdio`,{"spec-timeline__bar--stdio-before":j,"spec-timeline__bar--stdio-after":!j}])},[...c[5]||=[n(`strong`,null,`STDIO`,-1)]],2),j?o(`v-if`,!0):(s(),i(`div`,y,[...c[6]||=[n(`strong`,null,`Stateless STDIO`,-1)]]))]),c[16]||=n(`div`,{class:`spec-timeline__lane-label spec-timeline__lane-label--remote`},[n(`span`,null,`Remote`)],-1),n(`div`,b,[c[9]||=n(`div`,{class:`spec-timeline__grid-lines`,"aria-hidden":`true`},null,-1),n(`div`,x,[(s(),i(a,null,t(6,e=>n(`div`,{key:`remote-${e}`,class:r(`spec-timeline__hotspot spec-timeline__hotspot--${e}`)},null,2)),64))]),c[10]||=n(`div`,{class:`spec-timeline__bar spec-timeline__bar--sse`},[n(`strong`,null,`SSE`)],-1),c[11]||=n(`div`,{class:`spec-timeline__bar spec-timeline__bar--streamable`},[n(`strong`,null,`Streamable HTTP`)],-1),j?o(`v-if`,!0):(s(),i(`div`,S,[...c[8]||=[n(`strong`,null,`Stateless HTTP`,-1)]]))]),c[17]||=n(`div`,{class:`spec-timeline__lane-label spec-timeline__lane-label--auth`},[n(`span`,null,`Auth`)],-1),n(`div`,C,[c[13]||=n(`div`,{class:`spec-timeline__grid-lines`,"aria-hidden":`true`},null,-1),n(`div`,w,[(s(),i(a,null,t(6,e=>n(`div`,{key:`auth-${e}`,class:r(`spec-timeline__hotspot spec-timeline__hotspot--${e}`)},null,2)),64))]),c[14]||=n(`div`,{class:`spec-timeline__bar spec-timeline__bar--auth-as`},[n(`strong`,null,`OAuth AS`)],-1),n(`div`,{class:r([`spec-timeline__bar spec-timeline__bar--auth-rs`,{"spec-timeline__bar--auth-rs-before":j}])},[...c[12]||=[n(`strong`,null,`OAuth Resource Server`,-1)]],2)])])],2))}}),[[`__scopeId`,`data-v-5e29e849`]]);export{T as t}; \ No newline at end of file diff --git a/2026/aidevcon-london/assets/default-DcmGGORi.js b/2026/aidevcon-london/assets/default-DcmGGORi.js new file mode 100644 index 0000000000000000000000000000000000000000..784b98a6b39ff8b4a0df2a289c8a9e732f0d8664 --- /dev/null +++ b/2026/aidevcon-london/assets/default-DcmGGORi.js @@ -0,0 +1 @@ +import{H as e,T as t,b as n,bt as r,y as i,z as a}from"./modules/shiki-BMQKBaOU.js";import{it as o}from"./index-cw2gNXXR.js";var s={class:`slidev-layout default-layout`},c={key:0,class:`kicker`},l=t({__name:`default`,props:{kicker:{}},setup(t){let{$slidev:l,$nav:u,$clicksContext:d,$clicks:f,$page:p,$renderContext:m,$frontmatter:h}=o();return(o,l)=>(a(),n(`section`,s,[t.kicker?(a(),n(`div`,c,r(t.kicker),1)):i(`v-if`,!0),e(o.$slots,`default`)]))}});export{l as t}; \ No newline at end of file diff --git a/2026/aidevcon-london/assets/huggingface-mark-logo-BzDcJTjv.svg b/2026/aidevcon-london/assets/huggingface-mark-logo-BzDcJTjv.svg new file mode 100644 index 0000000000000000000000000000000000000000..ce69d68e17ca8f54e2f6258e248f5c31fd65fc7a --- /dev/null +++ b/2026/aidevcon-london/assets/huggingface-mark-logo-BzDcJTjv.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/2026/aidevcon-london/assets/index-cw2gNXXR.js b/2026/aidevcon-london/assets/index-cw2gNXXR.js new file mode 100644 index 0000000000000000000000000000000000000000..3ba71b904a851ec81d16770da81561a2409e8c51 --- /dev/null +++ b/2026/aidevcon-london/assets/index-cw2gNXXR.js @@ -0,0 +1,65 @@ +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./slidev/md-BIPMeRIP.js","./modules/shiki-BMQKBaOU.js","./rolldown-runtime-QTnfLwEv.js","./modules/shiki-BhczoDnk.css","./md-Dg-2Ig4i.js","./default-DcmGGORi.js","./md-BpFBDJ-I.js","./md-uZ0O8MyL.js","./md-DjcAA7-W.js","./useDrawings-BkOkFJPM.js","./modules/vue-DcLb0Un4.js","./md-DsgxFg7L2.js","./wrench-MAYTdx4I.js","./md-DMmtzoWc.css","./md-Cl-Gm-Dq2.js","./McpSpecTransportTimeline-cqjmY3kA.js","./McpSpecTransportTimeline-Ch_RG7t7.css","./md-CE5iyUO42.js","./mcp_weekly_init_tool_calls-DYuMHE2K.js","./md-BpsDipUN.css","./md-IISVRXyW2.js","./md-DL2ti6_7.css","./md-Drr1VWKt.js","./md-BCa6WYkT.css","./md-DH6OtSpH.js","./md-Ba6Zgw6i.css","./md-Dl8x_Iyt.js","./md-JveUwtsu.css","./md-BwAqqZee.js","./md-Fa6c-M0R.js","./md-BjpvoEw0.css","./md-D1YYAizP.js","./md-DgHQRnHm.css","./md-DpH7A3Br.js","./slidev/md-CiAN5L_K.js","./md-DsjicBWs.js","./md-D5OkqXnt.js","./md-B2u0OYdW.css","./md-SPbwse0y.js","./md-xgwNNhIf.js","./md-D3KQl0X-.js","./md-Bnbn9wNX.js","./md-D4hmql8c.js","./HttpHeaderExample-UM3qS7BW.js","./HttpRouteMap-Bng6aSA7.js","./HttpRouteMap-wz681R0j.css","./md-DWFMaKEI.js","./md-KN7s3Ntv.js","./md-30nXOLWT.js","./md-yBHkRbzr.css","./md-C36yyUm5.js","./md-uUgHcMX7.js","./modules/file-saver-DJvf_BAX.js","./slidev/print-BBsWBbHc.js","./slidev/SlideWrapper-Bygmag9f.js","./SlideWrapper-DyDeIrov.css","./print-DvsinzX5.css","./slidev/entry-CH3pAsyP.js","./entry-CQkCdRep.css","./slidev/overview-Bk3S41zn.js","./slidev/SlideContainer-DJlIQWjd.js","./SlideContainer-DfEYZ3xE.css","./slidev/NoteDisplay-DQz322Ni.js","./NoteDisplay-CT2scfjF.css","./slidev/DrawingPreview-CvsGsDPT.js","./slidev/IconButton-Cs_ae-Io.js","./slidev/NoteEditable-DaV32WGZ.js","./modules/unplugin-icons-CTUR52Kd.js","./slidev/notes-B1zxkKYD.js","./slidev/TimerBar-kR_GcbMH.js","./slidev/Modal-D7y0dmeV.js","./slidev/notes-edit-By5o5rlc.js","./slidev/presenter-Dmq3UP5q.js","./slidev/shortcuts-C6gnGEp7.js","./shortcuts-DEFRQbIv.css","./slidev/DrawingControls-DwNaXGu8.js","./DrawingControls-Dhbx0szf.css","./presenter-Caeb5SvA.css","./slidev/play-gDJClcOx.js","./play-D_7yfuao.css","./slidev/404-DNBeJd0_.js","./404-VQkf1Vlw.css"])))=>i.map(i=>d[i]); +import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{A as t,E as n,F as r,I as i,J as a,L as o,N as s,P as c,R as l,T as u,U as d,Y as f,_ as p,b as m,bt as h,ct as g,dt as _,ft as v,g as y,gt as b,ht as x,k as S,lt as C,nt as w,ot as T,p as ee,pt as te,rt as ne,s as re,t as ie,v as E,w as ae,y as oe,z as se}from"./modules/shiki-BMQKBaOU.js";import{A as D,B as ce,E as le,L as ue,P as O,R as de,T as fe,V as pe,a as me,b as he,c as ge,d as _e,g as ve,h as k,i as ye,j as be,k as A,l as xe,m as Se,o as Ce,w as we,x as Te,z as Ee}from"./modules/vue-DcLb0Un4.js";(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin===`use-credentials`?t.credentials=`include`:e.crossOrigin===`anonymous`?t.credentials=`omit`:t.credentials=`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var j={theme:`default`,title:`Tessl + MCP`,titleTemplate:`%s - Slidev`,addons:[],remoteAssets:!1,monaco:!0,monacoTypesSource:`local`,monacoTypesAdditionalPackages:[],monacoTypesIgnorePackages:[],monacoRunAdditionalDeps:[],monacoRunUseStrict:!0,download:!1,export:{},info:`

Starter Slidev deck for Tessl + MCP.

+`,highlighter:`shiki`,twoslash:!0,lineNumbers:!1,colorSchema:`auto`,routerMode:`hash`,aspectRatio:1.7777777777777777,canvasWidth:980,exportFilename:``,selectable:!1,themeConfig:{},fonts:{sans:[`"Inter"`,`ui-sans-serif`,`system-ui`,`-apple-system`,`BlinkMacSystemFont`,`"Segoe UI"`,`Roboto`,`"Helvetica Neue"`,`Arial`,`"Noto Sans"`,`sans-serif`,`"Apple Color Emoji"`,`"Segoe UI Emoji"`,`"Segoe UI Symbol"`,`"Noto Color Emoji"`],serif:[`ui-serif`,`Georgia`,`Cambria`,`"Times New Roman"`,`Times`,`serif`],mono:[`"JetBrains Mono"`,`ui-monospace`,`SFMono-Regular`,`Menlo`,`Monaco`,`Consolas`,`"Liberation Mono"`,`"Courier New"`,`monospace`],webfonts:[`Inter`,`JetBrains Mono`],provider:`google`,local:[`Avenir Next`],italic:!1,weights:[`200`,`400`,`600`]},favicon:`https://cdn.jsdelivr.net/gh/slidevjs/slidev/assets/favicon.png`,drawings:{enabled:!0,persist:!1,presenterOnly:!1,syncAll:!0},plantUmlServer:`https://www.plantuml.com/plantuml`,codeCopy:!0,magicMoveCopy:!0,author:`Shaun Smith`,record:`dev`,css:`unocss`,presenter:!0,browserExporter:`dev`,htmlAttrs:{},transition:null,editor:!0,contextMenu:null,wakeLock:!0,mdc:!0,comark:!1,seoMeta:{},notesAutoRuby:{},duration:`30min`,timer:`stopwatch`,magicMoveDuration:800,preloadImages:!0,clickAnimation:``,class:`deck-root`,slidesTitle:`Tessl + MCP - Slidev`};function De(e,t,n){return Math.min(n,Math.max(t,e))}function Oe(...e){return Ae(e).reduce((e,t)=>e+t,0)}function ke(e){return e??=[],Array.isArray(e)?e:[e]}function Ae(e){return ke(e).flat(1)}function je(e){return Array.from(new Set(e))}function Me(...e){let t,n,r;e.length===1?(t=0,r=1,[n]=e):[t,n,r=1]=e;let i=[],a=t;for(;at(e,n)).filter(Ne))}var Fe=`build`,Ie=y(()=>j.aspectRatio),Le=y(()=>j.canvasWidth),Re=y(()=>Math.ceil(Le.value/Ie.value)),ze=y(()=>Pe(j.themeConfig||{},(e,t)=>[`--slidev-theme-${e}`,t])),Be=j.slidesTitle,Ve=`./#/`,He=[Object.values([])[0],Object.values([])[0]].filter(Boolean),Ue=new Set([`link`,`style`,`script`,`noscript`]),We=new Set([`title`,`titleTemplate`,`script`,`style`,`noscript`]),Ge=new Set([`base`,`meta`,`link`,`style`,`script`,`noscript`]),Ke=new Set([`title`,`base`,`htmlAttrs`,`bodyAttrs`,`meta`,`link`,`style`,`script`,`noscript`]),qe=new Set([`base`,`title`,`titleTemplate`,`bodyAttrs`,`htmlAttrs`,`templateParams`]),Je=new Set([`key`,`tagPosition`,`tagPriority`,`tagDuplicateStrategy`,`innerHTML`,`textContent`,`processTemplateParams`]),Ye=new Set([`templateParams`,`htmlAttrs`,`bodyAttrs`]),Xe=new Set([`theme-color`,`google-site-verification`,`og`,`article`,`book`,`profile`,`twitter`,`author`]);function Ze(e,t={},n){for(let r in e){let i=e[r],a=n?`${n}:${r}`:r;typeof i==`object`&&i?Ze(i,t,a):typeof i==`function`&&(t[a]=i)}return t}var Qe=(()=>{if(console.createTask)return console.createTask;let e={run:e=>e()};return()=>e})();function $e(e,t,n,r){for(let i=n;ie[i](...t)):e[i](...t);if(n&&typeof n.then==`function`)return Promise.resolve(n).then(()=>$e(e,t,i+1,r))}catch(e){return Promise.reject(e)}}function et(e,t,n){if(e.length>0)return $e(e,t,0,Qe(n))}function tt(e,t,n){if(e.length>0){let r=Qe(n);return Promise.all(e.map(e=>r.run(()=>e(...t))))}}function nt(e,t){for(let n of[...e])n(t)}var rt=class{_hooks;_before;_after;_deprecatedHooks;_deprecatedMessages;constructor(){this._hooks={},this._before=void 0,this._after=void 0,this._deprecatedMessages=void 0,this._deprecatedHooks={},this.hook=this.hook.bind(this),this.callHook=this.callHook.bind(this),this.callHookWith=this.callHookWith.bind(this)}hook(e,t,n={}){if(!e||typeof t!=`function`)return()=>{};let r=e,i;for(;this._deprecatedHooks[e];)i=this._deprecatedHooks[e],e=i.to;if(i&&!n.allowDeprecated){let e=i.message;e||=`${r} hook has been deprecated`+(i.to?`, please use ${i.to}`:``),this._deprecatedMessages||=new Set,this._deprecatedMessages.has(e)||(console.warn(e),this._deprecatedMessages.add(e))}if(!t.name)try{Object.defineProperty(t,"name",{get:()=>`_`+e.replace(/\W+/g,`_`)+`_hook_cb`,configurable:!0})}catch{}return this._hooks[e]=this._hooks[e]||[],this._hooks[e].push(t),()=>{t&&=(this.removeHook(e,t),void 0)}}hookOnce(e,t){let n,r=(...e)=>(typeof n==`function`&&n(),n=void 0,r=void 0,t(...e));return n=this.hook(e,r),n}removeHook(e,t){let n=this._hooks[e];if(n){let r=n.indexOf(t);r!==-1&&n.splice(r,1),n.length===0&&(this._hooks[e]=void 0)}}clearHook(e){this._hooks[e]=void 0}deprecateHook(e,t){this._deprecatedHooks[e]=typeof t==`string`?{to:t}:t;let n=this._hooks[e]||[];this._hooks[e]=void 0;for(let t of n)this.hook(e,t)}deprecateHooks(e){for(let t in e)this.deprecateHook(t,e[t])}addHooks(e){let t=Ze(e),n=Object.keys(t).map(e=>this.hook(e,t[e]));return()=>{for(let e of n)e();n.length=0}}removeHooks(e){let t=Ze(e);for(let e in t)this.removeHook(e,t[e])}removeAllHooks(){this._hooks={}}callHook(e,...t){return this.callHookWith(et,e,t)}callHookParallel(e,...t){return this.callHookWith(tt,e,t)}callHookWith(e,t,n){let r=this._before||this._after?{name:t,args:n,context:{}}:void 0;this._before&&nt(this._before,r);let i=e(this._hooks[t]?[...this._hooks[t]]:[],n,t);return i instanceof Promise?i.finally(()=>{this._after&&r&&nt(this._after,r)}):(this._after&&r&&nt(this._after,r),i)}beforeEach(e){return this._before=this._before||[],this._before.push(e),()=>{if(this._before!==void 0){let t=this._before.indexOf(e);t!==-1&&this._before.splice(t,1)}}}afterEach(e){return this._after=this._after||[],this._after.push(e),()=>{if(this._after!==void 0){let t=this._after.indexOf(e);t!==-1&&this._after.splice(t,1)}}}};function it(){return new rt}var at=[`name`,`property`,`http-equiv`],ot=new Set([`viewport`,`description`,`keywords`,`robots`]);function st(e){let t=e.split(`:`);return t.length?Xe.has(t[1]):!1}function ct(e){let{props:t,tag:n}=e;if(qe.has(n))return n;if(n===`link`&&t.rel===`canonical`)return`canonical`;if(n===`link`&&t.rel===`alternate`){if(t.hreflang)return`alternate:${t.hreflang}`;if(t.type)return`alternate:${t.type}:${t.href||``}`}if(t.charset)return`charset`;if(e.tag===`meta`){for(let r of at)if(t[r]!==void 0){let i=t[r],a=i&&typeof i==`string`&&i.includes(`:`),o=i&&ot.has(i);return`${n}:${i}${!(a||o)&&e.key?`:key:${e.key}`:``}`}}if(e.key)return`${n}:key:${e.key}`;if(t.id)return`${n}:id:${t.id}`;if(n===`link`&&t.rel===`alternate`)return`alternate:${t.href||``}`;if(We.has(n)){let t=e.textContent||e.innerHTML;if(t)return`${n}:content:${t}`}}function lt(e){return e._h||e._d||e.textContent||e.innerHTML||`${e.tag}:${Object.entries(e.props).map(([e,t])=>`${e}:${String(t)}`).join(`,`)}`}function ut(e,t,n){typeof e==`function`&&(!n||n!==`titleTemplate`&&!(n[0]===`o`&&n[1]===`n`))&&(e=e());let r=t?t(n,e):e;if(Array.isArray(r))return r.map(e=>ut(e,t));if(r?.constructor===Object){let e={};for(let n of Object.keys(r))e[n]=ut(r[n],t,n);return e}return r}function dt(e,t){let n=e===`style`?new Map:new Set;function r(t){if(t==null||t===void 0)return;let r=String(t).trim();if(r)if(e===`style`){let[e,...t]=r.split(`:`).map(e=>e?e.trim():``);e&&t.length&&n.set(e,t.join(`:`))}else r.split(` `).filter(Boolean).forEach(e=>n.add(e))}return typeof t==`string`?e===`style`?t.split(`;`).forEach(r):r(t):Array.isArray(t)?t.forEach(e=>r(e)):t&&typeof t==`object`&&Object.entries(t).forEach(([t,i])=>{i&&i!==`false`&&(e===`style`?n.set(String(t).trim(),String(i)):r(t))}),n}function ft(e,t){if(e.props=e.props||{},!t)return e;if(e.tag===`templateParams`)return e.props=t,e;let n=Ge.has(e.tag)||e.tag===`htmlAttrs`||e.tag===`bodyAttrs`;return Object.entries(t).forEach(([r,i])=>{if(r===`__proto__`||r===`constructor`||r===`prototype`)return;if(i===null){e.props[r]=null;return}if(r===`class`||r===`style`){e.props[r]=dt(r,i);return}if(Je.has(r)){if((r===`textContent`||r===`innerHTML`)&&typeof i==`object`){let n=t.type;if(t.type||(n=`application/json`),!n?.endsWith(`json`)&&n!==`speculationrules`)return;t.type=n,e.props.type=n,e[r]=JSON.stringify(i)}else e[r]=i;return}let a=r.startsWith(`data-`),o=n&&!a?r.toLowerCase():r,s=String(i),c=e.tag===`meta`&&o===`content`;s===`true`||s===``?e.props[o]=a||c?s:!0:!i&&a&&s===`false`?e.props[o]=`false`:i!==void 0&&(e.props[o]=i)}),e}function pt(e,t){let n=ft({tag:e,props:{}},typeof t==`object`&&typeof t!=`function`?t:{[e===`script`||e===`noscript`||e===`style`?`innerHTML`:`textContent`]:t});return n.key&&Ue.has(n.tag)&&(n.props[`data-hid`]=n._h=n.key),n.tag===`script`&&typeof n.innerHTML==`object`&&(n.innerHTML=JSON.stringify(n.innerHTML),n.props.type=n.props.type||`application/json`),Array.isArray(n.props.content)?n.props.content.map(e=>({...n,props:{...n.props,content:e}})):n}function mt(e,t){if(!e)return[];typeof e==`function`&&(e=e());let n=(e,n)=>{for(let r=0;r{if(t!==void 0)for(let n of Array.isArray(t)?t:[t])r.push(pt(e,n))}),r.flat()}var ht=(e,t)=>e._w===t._w?e._p-t._p:e._w-t._w,gt={base:-10,title:10},_t={critical:-8,high:-1,low:2},vt={meta:{"content-security-policy":-30,charset:-20,viewport:-15},link:{preconnect:20,stylesheet:60,preload:70,modulepreload:70,prefetch:90,"dns-prefetch":90,prerender:90},script:{async:30,defer:80,sync:50},style:{imported:40,sync:60}},yt=/@import/,bt=e=>e===``||e===!0;function xt(e,t){if(typeof t.tagPriority==`number`)return t.tagPriority;let n=100,r=_t[t.tagPriority]||0,i=e.resolvedOptions.disableCapoSorting?{link:{},script:{},style:{}}:vt;if(t.tag in gt)n=gt[t.tag];else if(t.tag===`meta`){let e=t.props[`http-equiv`]===`content-security-policy`?`content-security-policy`:t.props.charset?`charset`:t.props.name===`viewport`?`viewport`:null;e&&(n=vt.meta[e])}else if(t.tag===`link`&&t.props.rel)n=i.link[t.props.rel];else if(t.tag===`script`){let e=String(t.props.type);bt(t.props.async)?n=i.script.async:t.props.src&&!bt(t.props.defer)&&!bt(t.props.async)&&e!==`module`&&!e.endsWith(`json`)||t.innerHTML&&!e.endsWith(`json`)?n=i.script.sync:(bt(t.props.defer)&&t.props.src&&!bt(t.props.async)||e===`module`)&&(n=i.script.defer)}else t.tag===`style`&&(n=t.innerHTML&&yt.test(t.innerHTML)?i.style.imported:i.style.sync);return(n||100)+r}function St(e,t){let n=typeof t==`function`?t(e):t,r=n.key||String(e.plugins.size+1);e.plugins.get(r)||(e.plugins.set(r,n),e.hooks.addHooks(n.hooks||{}))}function Ct(e={}){let t=it();t.addHooks(e.hooks||{});let n=!e.document,r=new Map,i=new Map,a=new Set,o={_entryCount:1,plugins:i,dirty:!1,resolvedOptions:e,hooks:t,ssr:n,entries:r,headEntries(){return[...r.values()]},use:e=>St(o,e),push(e,i){let s={...i||{}};delete s.head;let c=s._index??o._entryCount++,l={_i:c,input:e,options:s},u={_poll(e=!1){o.dirty=!0,!e&&a.add(c),t.callHook(`entries:updated`,o)},dispose(){r.delete(c)&&o.invalidate()},patch(e){(!s.mode||s.mode===`server`&&n||s.mode===`client`&&!n)&&(l.input=e,r.set(c,l),u._poll())}};return u.patch(e),u},async resolveTags(){let n={tagMap:new Map,tags:[],entries:[...o.entries.values()]};for(await t.callHook(`entries:resolve`,n);a.size;){let n=a.values().next().value;a.delete(n);let i=r.get(n);if(i){let n={tags:mt(i.input,e.propResolvers||[]).map(e=>Object.assign(e,i.options)),entry:i};await t.callHook(`entries:normalize`,n),i._tags=n.tags.map((e,t)=>(e._w=xt(o,e),e._p=(i._i<<10)+t,e._d=ct(e),e._d||(e._h=lt(e)),e))}}let i=!1;n.entries.flatMap(e=>(e._tags||[]).map(e=>({...e,props:{...e.props}}))).sort(ht).reduce((e,t)=>{let n=t._d||t._h;if(!e.has(n))return e.set(n,t);let r=e.get(n);if((t?.tagDuplicateStrategy||(Ye.has(t.tag)?`merge`:null)||(t.key&&t.key===r.key?`merge`:null))===`merge`){let i={...r.props};Object.entries(t.props).forEach(([e,t])=>i[e]=e===`style`?new Map([...r.props.style||new Map,...t]):e===`class`?new Set([...r.props.class||new Set,...t]):t),e.set(n,{...t,props:i})}else t._p>>10==r._p>>10&&t.tag===`meta`&&st(n)?(e.set(n,Object.assign([...Array.isArray(r)?r:[r],t],t)),i=!0):(t._w===r._w?t._p>r._p:t?._wSt(o,e)),o.hooks.callHook(`init`,o),e.init?.forEach(e=>e&&o.push(e)),o}var wt=(e,t)=>ne(t)?x(t):t,Tt=`usehead`;function Et(e){return{install(t){t.config.globalProperties.$unhead=e,t.config.globalProperties.$head=e,t.provide(Tt,e)}}.install}function Dt(){if(S()){let e=t(Tt);if(e)return e}throw Error(`useHead() was called without provide context, ensure you call it through the setup() function.`)}function Ot(e,t={}){let n=t.head||Dt();return n.ssr?n.push(e||{},t):kt(n,e,t)}function kt(e,t,a={}){let o=g(!1),s;return f(()=>{let n=o.value?{}:ut(t,wt);s?s.patch(n):s=e.push(n,a)}),n()&&(r(()=>{s.dispose()}),i(()=>{o.value=!0}),c(()=>{o.value=!1})),s}function At(e){if(e===!1||e===`false`)return null;if(e==null||e===!0||e===`true`)return`+1`;if(typeof e==`string`&&`+-`.includes(e[0]))return e;let t=+e;return Number.isNaN(t)?(console.error(`Invalid "at" prop value: ${e}`),null):t<=0?(console.warn(`[Slidev] "at" prop value must be greater than 0, but got ${e}, has been set to 1`),1):t}function jt(e){return Array.isArray(e)?[At(e[0]),At(e[1])]:null}function Mt(e,t=0,n){let r=g(!1),i=new Map,a=new Map,s={get current(){return De(+e.value,t,s.total)},set current(n){e.value=r.value?De(n,t,s.total):n},clicksStart:t,get relativeSizeMap(){return i},get maxMap(){return a},get isMounted(){return r.value},setup(){o(()=>{r.value=!0,a=C(a),w(e)||(s.current=e.value)}),l(()=>{r.value=!1,i=new Map,a=new Map})},calculateSince(e,t=1){let n=At(e);if(n==null)return null;let r,i,a;if(typeof n==`string`){let e=s.currentOffset,o=+n;r=e+o,i=e+o+t-1,a=o+t-1}else r=n,i=n+t-1,a=0;return{start:r,end:1/0,max:i,delta:a,currentOffset:y(()=>s.current-r),isCurrent:y(()=>s.current===r),isActive:y(()=>s.current>=r)}},calculateRange(e){let t=jt(e);if(t==null)return null;let[n,r]=t,i,a,o;return typeof n==`string`?(i=s.currentOffset+ +n,o=+n):(i=n,o=0),typeof r==`string`?(a=i+ +r,o+=+r):a=r,{start:i,end:a,max:a,delta:o,currentOffset:y(()=>s.current-i),isCurrent:y(()=>s.current===i),isActive:y(()=>i<=s.current&&s.currentx(t),e=>{r.value=Math.max(e,n)}),Mt(r,n,e?.meta?.clicks)}var Pt=(e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n},Ft={},It={class:`px-4 py-10 text-center text-red-700 dark:text-red-500 font-bold font-mono`};function Lt(e,t){return se(),m(`div`,It,h(`Failed to fetch this slide. Please check your network connection.`))}var M=Pt(Ft,[[`render`,Lt]]),Rt={class:`h-full w-full flex items-center justify-center gap-2 slidev-slide-loading`},zt=u({__name:`SlideLoading`,setup(e){let t=g(!1);return o(()=>{setTimeout(()=>{t.value=!0},200)}),(e,n)=>(se(),m(`div`,Rt,[t.value?(se(),m(ee,{key:0},[n[0]||=p(`div`,{class:`i-svg-spinners-90-ring-with-bg text-xl`},null,-1),n[1]||=p(`div`,null,`Loading slide...`,-1)],64)):oe(`v-if`,!0)]))}}),Bt=T({theme:`default`,title:`Tessl + MCP`,author:`Shaun Smith`,info:`Starter Slidev deck for Tessl + MCP. +`,class:`deck-root`,highlighter:`shiki`,lineNumbers:!1,drawings:{persist:!1},mdc:!0,fonts:{sans:`Inter`,mono:`JetBrains Mono`}}),Vt=C({get layout(){return Bt.layout},get transition(){return Bt.transition},get class(){return Bt.class},get clicks(){return Bt.clicks},get name(){return Bt.name},get preload(){return Bt.preload},slide:{content:``,revision:`o6fk6o`,frontmatterRaw:`theme: default +title: Tessl + MCP +author: Shaun Smith +info: | + Starter Slidev deck for Tessl + MCP. +class: deck-root +highlighter: shiki +lineNumbers: false +drawings: + persist: false +# transition: fade-out +mdc: true +fonts: + sans: Inter + mono: JetBrains Mono +`,note:``,title:`Tessl + MCP`,index:0,noteHTML:``,raw:``,frontmatter:Bt,filepath:``,start:0,id:0,no:1},__clicksContext:null,__preloaded:!1}),Ht=T({}),Ut=C({get layout(){return Ht.layout},get transition(){return Ht.transition},get class(){return Ht.class},get clicks(){return Ht.clicks},get name(){return Ht.name},get preload(){return Ht.preload},slide:{content:``,revision:`v05yx5`,note:``,index:1,noteHTML:``,raw:``,frontmatter:Ht,filepath:``,start:28,id:1,no:2},__clicksContext:null,__preloaded:!1}),Wt=T({}),Gt=C({get layout(){return Wt.layout},get transition(){return Wt.transition},get class(){return Wt.class},get clicks(){return Wt.clicks},get name(){return Wt.name},get preload(){return Wt.preload},slide:{content:``,revision:`5ldbac`,note:``,index:2,noteHTML:``,raw:``,frontmatter:Wt,filepath:``,start:70,id:2,no:3},__clicksContext:null,__preloaded:!1}),Kt=T({}),qt=C({get layout(){return Kt.layout},get transition(){return Kt.transition},get class(){return Kt.class},get clicks(){return Kt.clicks},get name(){return Kt.name},get preload(){return Kt.preload},slide:{content:``,revision:`-gbznel`,note:``,title:`Topics`,level:1,index:3,noteHTML:``,raw:``,frontmatter:Kt,filepath:``,start:74,id:3,no:4},__clicksContext:null,__preloaded:!1}),Jt=T({}),Yt=C({get layout(){return Jt.layout},get transition(){return Jt.transition},get class(){return Jt.class},get clicks(){return Jt.clicks},get name(){return Jt.name},get preload(){return Jt.preload},slide:{content:``,revision:`euknf6`,note:``,title:`MCP At Hugging Face`,level:1,index:4,noteHTML:``,raw:``,frontmatter:Jt,filepath:``,start:91,id:4,no:5},__clicksContext:null,__preloaded:!1}),Xt=T({}),Zt=C({get layout(){return Xt.layout},get transition(){return Xt.transition},get class(){return Xt.class},get clicks(){return Xt.clicks},get name(){return Xt.name},get preload(){return Xt.preload},slide:{content:``,revision:`-7kwerx`,note:``,title:`Today, MCP design is bi-directional`,level:1,index:5,noteHTML:``,raw:``,frontmatter:Xt,filepath:``,start:119,id:5,no:6},__clicksContext:null,__preloaded:!1}),Qt=T({}),$t=C({get layout(){return Qt.layout},get transition(){return Qt.transition},get class(){return Qt.class},get clicks(){return Qt.clicks},get name(){return Qt.name},get preload(){return Qt.preload},slide:{content:``,revision:`-p6trl4`,note:``,title:`Current Transports`,level:1,index:6,noteHTML:``,raw:``,frontmatter:Qt,filepath:``,start:128,id:6,no:7},__clicksContext:null,__preloaded:!1}),en=T({}),tn=C({get layout(){return en.layout},get transition(){return en.transition},get class(){return en.class},get clicks(){return en.clicks},get name(){return en.name},get preload(){return en.preload},slide:{content:``,revision:`-iwfjuf`,note:``,index:7,noteHTML:``,raw:``,frontmatter:en,filepath:``,start:136,id:7,no:8},__clicksContext:null,__preloaded:!1}),nn=T({}),rn=C({get layout(){return nn.layout},get transition(){return nn.transition},get class(){return nn.class},get clicks(){return nn.clicks},get name(){return nn.name},get preload(){return nn.preload},slide:{content:``,revision:`-uymqea`,note:``,index:8,noteHTML:``,raw:``,frontmatter:nn,filepath:``,start:148,id:8,no:9},__clicksContext:null,__preloaded:!1}),an=T({}),on=C({get layout(){return an.layout},get transition(){return an.transition},get class(){return an.class},get clicks(){return an.clicks},get name(){return an.name},get preload(){return an.preload},slide:{content:``,revision:`968iq9`,note:``,index:9,noteHTML:``,raw:``,frontmatter:an,filepath:``,start:160,id:9,no:10},__clicksContext:null,__preloaded:!1}),sn=T({}),cn=C({get layout(){return sn.layout},get transition(){return sn.transition},get class(){return sn.class},get clicks(){return sn.clicks},get name(){return sn.name},get preload(){return sn.preload},slide:{content:``,revision:`o7eyip`,note:``,title:`Understanding Activity`,level:1,index:10,noteHTML:``,raw:``,frontmatter:sn,filepath:``,start:171,id:10,no:11},__clicksContext:null,__preloaded:!1}),ln=T({}),un=C({get layout(){return ln.layout},get transition(){return ln.transition},get class(){return ln.class},get clicks(){return ln.clicks},get name(){return ln.name},get preload(){return ln.preload},slide:{content:``,revision:`pfsfz`,note:``,index:11,noteHTML:``,raw:``,frontmatter:ln,filepath:``,start:206,id:11,no:12},__clicksContext:null,__preloaded:!1}),dn=T({}),fn=C({get layout(){return dn.layout},get transition(){return dn.transition},get class(){return dn.class},get clicks(){return dn.clicks},get name(){return dn.name},get preload(){return dn.preload},slide:{content:``,revision:`mivh0`,note:``,title:`MCP Clients Dataset`,level:1,index:12,noteHTML:``,raw:``,frontmatter:dn,filepath:``,start:218,id:12,no:13},__clicksContext:null,__preloaded:!1}),pn=T({}),mn=C({get layout(){return pn.layout},get transition(){return pn.transition},get class(){return pn.class},get clicks(){return pn.clicks},get name(){return pn.name},get preload(){return pn.preload},slide:{content:``,revision:`dpqwp9`,note:``,title:`Scaling MCP in Production...`,level:1,index:13,noteHTML:``,raw:``,frontmatter:pn,filepath:``,start:253,id:13,no:14},__clicksContext:null,__preloaded:!1}),hn=T({}),gn=C({get layout(){return hn.layout},get transition(){return hn.transition},get class(){return hn.class},get clicks(){return hn.clicks},get name(){return hn.name},get preload(){return hn.preload},slide:{content:``,revision:`-ly2tat`,note:``,index:14,noteHTML:``,raw:``,frontmatter:hn,filepath:``,start:263,id:14,no:15},__clicksContext:null,__preloaded:!1}),_n=T({}),vn=C({get layout(){return _n.layout},get transition(){return _n.transition},get class(){return _n.class},get clicks(){return _n.clicks},get name(){return _n.name},get preload(){return _n.preload},slide:{content:``,revision:`x67tzi`,note:``,title:`Main Issues with Statefulness`,level:1,index:15,noteHTML:``,raw:``,frontmatter:_n,filepath:``,start:278,id:15,no:16},__clicksContext:null,__preloaded:!1}),yn=T({layout:`section`}),bn=C({get layout(){return yn.layout},get transition(){return yn.transition},get class(){return yn.class},get clicks(){return yn.clicks},get name(){return yn.name},get preload(){return yn.preload},slide:{content:``,revision:`yzv8m6`,frontmatterRaw:`layout: section +`,note:``,title:"2026-07-28 Specification: `The Stateless Core`",level:1,index:16,noteHTML:``,raw:``,frontmatter:yn,filepath:``,start:312,id:16,no:17},__clicksContext:null,__preloaded:!1}),xn=T({}),Sn=C({get layout(){return xn.layout},get transition(){return xn.transition},get class(){return xn.class},get clicks(){return xn.clicks},get name(){return xn.name},get preload(){return xn.preload},slide:{content:``,revision:`3p3i6l`,note:``,title:`2026-07-28 Release Candidate`,level:1,index:17,noteHTML:``,raw:``,frontmatter:xn,filepath:``,start:319,id:17,no:18},__clicksContext:null,__preloaded:!1}),Cn=T({}),wn=C({get layout(){return Cn.layout},get transition(){return Cn.transition},get class(){return Cn.class},get clicks(){return Cn.clicks},get name(){return Cn.name},get preload(){return Cn.preload},slide:{content:``,revision:`g6zbtj`,note:``,title:`SEP-2260, SEP-2257: "Simplifications"`,level:1,index:18,noteHTML:``,raw:``,frontmatter:Cn,filepath:``,start:328,id:18,no:19},__clicksContext:null,__preloaded:!1}),Tn=T({}),En=C({get layout(){return Tn.layout},get transition(){return Tn.transition},get class(){return Tn.class},get clicks(){return Tn.clicks},get name(){return Tn.name},get preload(){return Tn.preload},slide:{content:``,revision:`n1qs71`,note:``,title:`SEP-2575: Make MCP Stateless`,level:1,index:19,noteHTML:``,raw:``,frontmatter:Tn,filepath:``,start:367,id:19,no:20},__clicksContext:null,__preloaded:!1}),Dn=T({}),On=C({get layout(){return Dn.layout},get transition(){return Dn.transition},get class(){return Dn.class},get clicks(){return Dn.clicks},get name(){return Dn.name},get preload(){return Dn.preload},slide:{content:``,revision:`xfq9i1`,note:``,title:`SEP-2459: Cache Control`,level:1,index:20,noteHTML:``,raw:``,frontmatter:Dn,filepath:``,start:425,id:20,no:21},__clicksContext:null,__preloaded:!1}),kn=T({}),An=C({get layout(){return kn.layout},get transition(){return kn.transition},get class(){return kn.class},get clicks(){return kn.clicks},get name(){return kn.name},get preload(){return kn.preload},slide:{content:``,revision:`-9ci6mw`,note:``,title:`SEP-2322: Stateful Elicitations`,level:1,index:21,noteHTML:``,raw:``,frontmatter:kn,filepath:``,start:462,id:21,no:22},__clicksContext:null,__preloaded:!1}),jn=T({}),Mn=C({get layout(){return jn.layout},get transition(){return jn.transition},get class(){return jn.class},get clicks(){return jn.clicks},get name(){return jn.name},get preload(){return jn.preload},slide:{content:``,revision:`-1otx7i`,note:``,title:`SEP-2322: Stateless Elicitations`,level:1,index:22,noteHTML:``,raw:``,frontmatter:jn,filepath:``,start:509,id:22,no:23},__clicksContext:null,__preloaded:!1}),Nn=T({}),Pn=C({get layout(){return Nn.layout},get transition(){return Nn.transition},get class(){return Nn.class},get clicks(){return Nn.clicks},get name(){return Nn.name},get preload(){return Nn.preload},slide:{content:``,revision:`-l1d70o`,note:``,title:`SEP-2243: HTTP Standardization`,level:1,index:23,noteHTML:``,raw:``,frontmatter:Nn,filepath:``,start:548,id:23,no:24},__clicksContext:null,__preloaded:!1}),Fn=T({}),In=C({get layout(){return Fn.layout},get transition(){return Fn.transition},get class(){return Fn.class},get clicks(){return Fn.clicks},get name(){return Fn.name},get preload(){return Fn.preload},slide:{content:``,revision:`-mpno3s`,note:``,title:`SEP-2243: Tool Data in HTTP Headers`,level:1,index:24,noteHTML:``,raw:``,frontmatter:Fn,filepath:``,start:557,id:24,no:25},__clicksContext:null,__preloaded:!1}),Ln=T({}),Rn=C({get layout(){return Ln.layout},get transition(){return Ln.transition},get class(){return Ln.class},get clicks(){return Ln.clicks},get name(){return Ln.name},get preload(){return Ln.preload},slide:{content:``,revision:`q8nyc4`,note:``,title:`SEP-2243: Routable MCP Traffic`,level:1,index:25,noteHTML:``,raw:``,frontmatter:Ln,filepath:``,start:565,id:25,no:26},__clicksContext:null,__preloaded:!1}),zn=T({}),Bn=C({get layout(){return zn.layout},get transition(){return zn.transition},get class(){return zn.class},get clicks(){return zn.clicks},get name(){return zn.name},get preload(){return zn.preload},slide:{content:``,revision:`4x7giz`,note:``,title:`Scaling MCP in Production`,level:1,index:26,noteHTML:``,raw:``,frontmatter:zn,filepath:``,start:574,id:26,no:27},__clicksContext:null,__preloaded:!1}),Vn=T({}),Hn=C({get layout(){return Vn.layout},get transition(){return Vn.transition},get class(){return Vn.class},get clicks(){return Vn.clicks},get name(){return Vn.name},get preload(){return Vn.preload},slide:{content:``,revision:`-9pu91k`,note:``,title:`Migration Path`,level:1,index:27,noteHTML:``,raw:``,frontmatter:Vn,filepath:``,start:582,id:27,no:28},__clicksContext:null,__preloaded:!1}),Un=T({}),Wn=C({get layout(){return Un.layout},get transition(){return Un.transition},get class(){return Un.class},get clicks(){return Un.clicks},get name(){return Un.name},get preload(){return Un.preload},slide:{content:``,revision:`-afsy1`,note:``,title:`Hugging Face sponsors Hack Monty`,level:1,index:28,noteHTML:``,raw:``,frontmatter:Un,filepath:``,start:596,id:28,no:29},__clicksContext:null,__preloaded:!1}),Gn=`modulepreload`,Kn=function(e,t){return new URL(e,t).href},qn={},N=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}r=o(t.map(t=>{if(t=Kn(t,n),t in qn)return;qn[t]=!0;let r=t.endsWith(`.css`),i=r?`[rel="stylesheet"]`:``;if(n)for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}else if(document.querySelector(`link[href="${t}"]${i}`))return;let o=document.createElement(`link`);if(o.rel=r?`stylesheet`:Gn,r||(o.as=`script`),o.crossOrigin=``,o.href=t,a&&o.setAttribute(`nonce`,a),document.head.appendChild(o),r)return new Promise((e,n)=>{o.addEventListener(`load`,e),o.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})},P=Array(29),F=(e,t)=>ae({loader:t,delay:300,loadingComponent:zt,errorComponent:M,onError:t=>console.error(`Failed to load slide `+(e+1),t)}),Jn=async()=>{try{return P[0]??=await N(()=>import(`./slidev/md-BIPMeRIP.js`),__vite__mapDeps([0,1,2,3]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),M}},Yn=async()=>{try{return P[1]??=await N(()=>import(`./md-Dg-2Ig4i.js`),__vite__mapDeps([4,5,1,2,3]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),M}},Xn=async()=>{try{return P[2]??=await N(()=>import(`./md-BpFBDJ-I.js`),__vite__mapDeps([6,5,1,2,3]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),M}},Zn=async()=>{try{return P[3]??=await N(()=>import(`./md-uZ0O8MyL.js`),__vite__mapDeps([7,5,1,2,3]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),M}},Qn=async()=>{try{return P[4]??=await N(()=>import(`./md-DjcAA7-W.js`),__vite__mapDeps([8,5,1,2,3,9,10]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),M}},$n=async()=>{try{return P[5]??=await N(()=>import(`./md-DsgxFg7L2.js`),__vite__mapDeps([11,5,1,2,3,12,13]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),M}},er=async()=>{try{return P[6]??=await N(()=>import(`./md-Cl-Gm-Dq2.js`),__vite__mapDeps([14,15,1,2,3,16,5]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),M}},tr=async()=>{try{return P[7]??=await N(()=>import(`./md-CE5iyUO42.js`),__vite__mapDeps([17,18,5,1,2,3,19]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),M}},nr=async()=>{try{return P[8]??=await N(()=>import(`./md-IISVRXyW2.js`),__vite__mapDeps([20,5,1,2,3,21]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),M}},rr=async()=>{try{return P[9]??=await N(()=>import(`./md-Drr1VWKt.js`),__vite__mapDeps([22,18,5,1,2,3,23]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),M}},ir=async()=>{try{return P[10]??=await N(()=>import(`./md-DH6OtSpH.js`),__vite__mapDeps([24,5,1,2,3,25]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),M}},ar=async()=>{try{return P[11]??=await N(()=>import(`./md-Dl8x_Iyt.js`),__vite__mapDeps([26,5,1,2,3,27]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),M}},or=async()=>{try{return P[12]??=await N(()=>import(`./md-BwAqqZee.js`),__vite__mapDeps([28,5,1,2,3]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),M}},sr=async()=>{try{return P[13]??=await N(()=>import(`./md-Fa6c-M0R.js`),__vite__mapDeps([29,5,1,2,3,30]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),M}},cr=async()=>{try{return P[14]??=await N(()=>import(`./md-D1YYAizP.js`),__vite__mapDeps([31,5,1,2,3,32]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),M}},lr=async()=>{try{return P[15]??=await N(()=>import(`./md-DpH7A3Br.js`),__vite__mapDeps([33,5,1,2,3]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),M}},ur=async()=>{try{return P[16]??=await N(()=>import(`./slidev/md-CiAN5L_K.js`),__vite__mapDeps([34,1,2,3]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),M}},dr=async()=>{try{return P[17]??=await N(()=>import(`./md-DsjicBWs.js`),__vite__mapDeps([35,15,1,2,3,16,5]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),M}},fr=async()=>{try{return P[18]??=await N(()=>import(`./md-D5OkqXnt.js`),__vite__mapDeps([36,5,1,2,3,12,37]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),M}},pr=async()=>{try{return P[19]??=await N(()=>import(`./md-SPbwse0y.js`),__vite__mapDeps([38,5,1,2,3]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),M}},mr=async()=>{try{return P[20]??=await N(()=>import(`./md-xgwNNhIf.js`),__vite__mapDeps([39,5,1,2,3]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),M}},hr=async()=>{try{return P[21]??=await N(()=>import(`./md-D3KQl0X-.js`),__vite__mapDeps([40,5,1,2,3]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),M}},gr=async()=>{try{return P[22]??=await N(()=>import(`./md-Bnbn9wNX.js`),__vite__mapDeps([41,5,1,2,3]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),M}},_r=async()=>{try{return P[23]??=await N(()=>import(`./md-D4hmql8c.js`),__vite__mapDeps([42,43,1,2,3,44,45,5]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),M}},vr=async()=>{try{return P[24]??=await N(()=>import(`./md-DWFMaKEI.js`),__vite__mapDeps([46,43,1,2,3,5]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),M}},yr=async()=>{try{return P[25]??=await N(()=>import(`./md-KN7s3Ntv.js`),__vite__mapDeps([47,43,1,2,3,44,45,5]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),M}},br=async()=>{try{return P[26]??=await N(()=>import(`./md-30nXOLWT.js`),__vite__mapDeps([48,5,1,2,3,49]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),M}},xr=async()=>{try{return P[27]??=await N(()=>import(`./md-C36yyUm5.js`),__vite__mapDeps([50,5,1,2,3]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),M}},Sr=async()=>{try{return P[28]??=await N(()=>import(`./md-uUgHcMX7.js`),__vite__mapDeps([51,5,1,2,3]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),M}},I=_([{no:1,meta:Vt,load:Jn,component:F(0,Jn)},{no:2,meta:Ut,load:Yn,component:F(1,Yn)},{no:3,meta:Gt,load:Xn,component:F(2,Xn)},{no:4,meta:qt,load:Zn,component:F(3,Zn)},{no:5,meta:Yt,load:Qn,component:F(4,Qn)},{no:6,meta:Zt,load:$n,component:F(5,$n)},{no:7,meta:$t,load:er,component:F(6,er)},{no:8,meta:tn,load:tr,component:F(7,tr)},{no:9,meta:rn,load:nr,component:F(8,nr)},{no:10,meta:on,load:rr,component:F(9,rr)},{no:11,meta:cn,load:ir,component:F(10,ir)},{no:12,meta:un,load:ar,component:F(11,ar)},{no:13,meta:fn,load:or,component:F(12,or)},{no:14,meta:mn,load:sr,component:F(13,sr)},{no:15,meta:gn,load:cr,component:F(14,cr)},{no:16,meta:vn,load:lr,component:F(15,lr)},{no:17,meta:bn,load:ur,component:F(16,ur)},{no:18,meta:Sn,load:dr,component:F(17,dr)},{no:19,meta:wn,load:fr,component:F(18,fr)},{no:20,meta:En,load:pr,component:F(19,pr)},{no:21,meta:On,load:mr,component:F(20,mr)},{no:22,meta:An,load:hr,component:F(21,hr)},{no:23,meta:Mn,load:gr,component:F(22,gr)},{no:24,meta:Pn,load:_r,component:F(23,_r)},{no:25,meta:In,load:vr,component:F(24,vr)},{no:26,meta:Rn,load:yr,component:F(25,yr)},{no:27,meta:Bn,load:br,component:F(26,br)},{no:28,meta:Hn,load:xr,component:F(27,xr)},{no:29,meta:Wn,load:Sr,component:F(28,Sr)}]),Cr=/[a-z]/i;function wr(e){if(typeof e==`number`)return{seconds:e,relative:!1};let t=e.startsWith(`+`);t&&(e=e.slice(1));let n=0;if(e.includes(`:`)){let t=e.split(`:`).map(Number),r=0,i=0,a=0;if(t.length===3)r=t[0],i=t[1],a=t[2];else if(t.length===2)i=t[0],a=t[1];else if(t.length===1)a=t[0];else throw TypeError(`Invalid timestamp format`);if(Number.isNaN(r)||Number.isNaN(i)||Number.isNaN(a))throw TypeError(`Invalid timestamp format`);n=(r||0)*3600+(i||0)*60+(a||0)}else if(!Cr.test(e))n=Number(e);else{let t={s:1,sec:1,secs:1,m:60,min:60,mins:60,h:3600,hr:3600,hrs:3600,hour:3600,hours:3600,day:86400,days:86400,week:604800,weeks:604800,month:2629746,months:2629746,year:31556952,years:31556952},r=/([\d.]+)([a-z]+)/gi,i=e.matchAll(r);if(i)for(let e of i){let r=Number(e[1]);if(Number.isNaN(r))throw TypeError(`Invalid timestamp value: ${e[1]}`);let i=e[2].toLowerCase();if(!(i in t))throw TypeError(`Invalid timestamp unit: ${i}`);n+=r*t[i]}let a=e.replace(r,``).trim();if(a)throw TypeError(`Unknown timestamp remaining: ${a}`)}return{seconds:n,relative:t}}function Tr(e,t){if(!t||t===`all`||t===`*`)return Me(1,e+1);if(t===`none`)return[];let n=[];for(let r of t.split(/[,;]/g))if(!r.includes(`-`))n.push(+r);else{let[t,i]=r.split(`-`,2);n.push(...Me(+t,i?+i+1:e+1))}return je(n).filter(t=>t<=e).sort((e,t)=>e-t)}var Er=`$$slidev-clicks-context`,Dr=`$$slidev-page`,Or=`$$slidev-slide-element`,kr=`$$slidev-slide-scale`,Ar=`$$slidev-context`,jr=`$$slidev-route`,Mr=`$$slidev-render-context`,Nr=`$$slidev-fontmatter`,Pr=`$$slidev-slide-zoom`,Fr=`slidev-vclick-target`,Ir=`slidev-vclick-hidden`,Lr=`slidev-vclick-hidden-explicitly`,Rr=`slidev-vclick-current`,zr=`slidev-vclick-prior`,Br=`slidev-vclick-anim-`,Vr=999999,Hr=[`localhost`,`127.0.0.1`],Ur=[`clicks`,`clicksStart`,`disabled`,`hide`,`hideInToc`,`layout`,`level`,`preload`,`routeAlias`,`src`,`title`,`transition`,`zoom`,`dragPos`,`lang`,`clickAnimation`],Wr=[...Ur,`theme`,`titleTemplate`,`info`,`author`,`keywords`,`presenter`,`browserExporter`,`download`,`exportFilename`,`export`,`highlighter`,`lineNumbers`,`monaco`,`monacoTypesSource`,`monacoTypesAdditionalPackages`,`monacoRunAdditionalDeps`,`monacoRunUseStrict`,`remoteAssets`,`selectable`,`record`,`colorSchema`,`routerMode`,`aspectRatio`,`canvasWidth`,`themeConfig`,`favicon`,`plantUmlServer`,`fonts`,`defaults`,`drawings`,`htmlAttrs`,`mdc`,`comark`,`contextMenu`,`wakeLock`,`seoMeta`,`notesAutoRuby`,`magicMoveDuration`,`preloadImages`];function Gr(e,t,{mode:n=`replace`}={}){let r=pe();return y({get(){let n=r.currentRoute.value.query[e];return n==null?t??null:Array.isArray(n)?n.filter(Boolean):n},set(i){s(()=>{(r.currentRoute.value.query[e]??t?.toString())!==i.toString()&&r[b(n)]({query:{...r.currentRoute.value.query,[e]:`${i}`===t?void 0:i}})})}})}function Kr(){let e=A(Ar),t=te(e,`nav`),n=A(Er).value,r=te(n,`current`),i=A(Dr),a=A(Mr),o=A(Nr,{});return{$slidev:e,$nav:t,$clicksContext:n,$clicks:r,$page:i,$route:A(jr,void 0),$renderContext:a,$frontmatter:o,$scale:A(kr,g(1)),$zoom:A(Pr,y(()=>1))}}function qr(e,t){return{...be(e,t===0?Wr:Ur),frontmatter:e}}function Jr(e){return I.value.find(t=>t.no===+e||t.meta.slide?.frontmatter.routeAlias===e)}function Yr(e,t,n=!1){(typeof e==`number`||typeof e==`string`)&&(e=Jr(e));let r=e.meta.slide?.frontmatter.routeAlias??e.no;return n?`/export/${r}`:t?`/presenter/${r}`:`/${r}`}function Xr(e){let{$page:t,$nav:n}=Kr();O(()=>{a(()=>n.value.currentSlideNo,(n,r)=>{t.value===n&&e(n,r)},{immediate:!0})})}function Zr(e){let{$page:t,$nav:n}=Kr();O(()=>{a(()=>n.value.currentSlideNo,(n,r)=>{t.value===r&&e(n,r)})})}var Qr={"slide-left":`slide-left | slide-right`,"slide-right":`slide-right | slide-left`,"slide-up":`slide-up | slide-down`,"slide-down":`slide-down | slide-up`};function $r(e,t=!1){if(!e||(typeof e==`string`&&(e={name:e}),!e.name))return;let n=e.name.includes(`|`)?e.name:Qr[e.name]||e.name;if(n.includes(`|`)){let[e,r]=n.split(`|`).map(e=>e.trim());n=t?r:e}if(n)return{...e,name:n}}function ei(e,t,n){let r=e>0?n?.meta?.transition:t?.meta?.transition;return r||=j.transition||void 0,$r(r,e<0)}var ti=g(!1),ni=g(!1),ri=g(!1),ii=g(!1),ai=g(!1),oi=g(!1),si=g(!0),ci=T(new Set),li=y(()=>ci.size>0),ui=xe({xs:460,...me}),di=fe(),fi=ve(),pi=y(()=>di.height.value-di.width.value/Ie.value>120),mi=Se(D?document.body:null),hi=ge(),gi=y(()=>[`INPUT`,`TEXTAREA`].includes(hi.value?.tagName||``)),_i=y(()=>[`BUTTON`,`A`].includes(hi.value?.tagName||``));k(`slidev-camera`,`default`,{listenToStorageChanges:!1}),k(`slidev-mic`,`default`,{listenToStorageChanges:!1});var vi=k(`slidev-scale`,0),yi=k(`slidev-wake-lock`,!0),bi=k(`slidev-hide-cursor-idle`,!0);k(`slidev-skip-export-pdf-tip`,!1),k(`slidev-export-capture-delay`,400,{listenToStorageChanges:!1});var xi=k(`slidev-presenter-cursor`,!0,{listenToStorageChanges:!1}),Si=k(`slidev-cursor-style`,`cursor`,{listenToStorageChanges:!1});function Ci(){xi.value=!xi.value}var wi=k(`slidev-show-editor`,!1,{listenToStorageChanges:!1}),Ti=k(`slidev-editor-vertical`,!1,{listenToStorageChanges:!1}),Ei=k(`slidev-editor-width`,D?window.innerWidth*.4:318,{listenToStorageChanges:!1}),Di=k(`slidev-editor-height`,D?window.innerHeight*.4:300,{listenToStorageChanges:!1}),Oi=_(null),ki=k(`slidev-presenter-font-size`,1,{listenToStorageChanges:!1}),Ai=k(`slidev-presenter-layout`,1,{listenToStorageChanges:!1}),ji={invert:!1,contrast:1,brightness:1,hueRotate:0,saturate:1,sepia:0},Mi=k(`slidev-viewer-css-filter`,ji,{listenToStorageChanges:!1,mergeDefaults:!0,deep:!0}),Ni=y(()=>Object.keys(ji).some(e=>Mi.value[e]!==ji[e]));function Pi(){Ai.value+=1,Ai.value>3&&(Ai.value=1)}function Fi(){ki.value=Math.min(2,ki.value+.1)}function Ii(){ki.value=Math.max(.5,ki.value-.1)}var Li=ue(ii),Ri=k(`slidev-sync-directions`,{viewerSend:!0,viewerReceive:!0,presenterSend:!0,presenterReceive:!0},{listenToStorageChanges:!1,mergeDefaults:!0});function zi(e,t,n=1){let r=t.meta.slide.level??n;r&&r>n&&e.length>0?zi(e[e.length-1].children,t,n+1):e.push({no:t.no,children:[],level:n,titleLevel:r,path:Yr(t.meta.slide?.frontmatter?.routeAlias??t.no,!1),hideInToc:!!t.meta?.slide?.frontmatter?.hideInToc,title:t.meta?.slide?.title})}function Bi(e,t,n=!1,r,i){return e.map(e=>{let a={...e,active:e.no===i?.value,hasActiveParent:n};return a.children.length>0&&(a.children=Bi(a.children,t,a.active||a.hasActiveParent,a,i)),r&&(a.active||a.activeParent)&&(r.activeParent=!0),a})}function Vi(e,t=1){return e.filter(e=>!e.hideInToc).map(e=>({...e,children:Vi(e.children,t+1)}))}function Hi(e,t,n){let r=y(()=>e.value.filter(e=>e.meta?.slide?.title).reduce((e,t)=>(zi(e,t),e),[])),i=y(()=>Bi(r.value,n.value,void 0,void 0,t));return y(()=>Vi(i.value))}function Ui(e,t,n=g(0),r,i,o){let s=y(()=>I.value.length),c=g(0),l=g(0),u=y(()=>Yr(e.value,r.value)),d=y(()=>e.value.no),f=y(()=>e.value.meta?.layout||(d.value===1?`cover`:`default`)),p=y(()=>t.value.current),m=y(()=>t.value.clicksStart),h=y(()=>t.value.total),_=y(()=>I.value[Math.min(I.value.length,d.value+1)-1]),v=y(()=>I.value[Math.max(1,d.value-1)-1]),b=y(()=>d.valued.value>1||p.value>0),S=y(()=>i.value?void 0:ei(c.value,e.value,v.value));a(e,(e,t)=>{c.value=e.no-t.no});async function C(e){return!1}let w=Hi(I,d,e);async function T(){l.value=1,h.value<=n.value?await te():n.value+=1}async function ee(){l.value=-1,n.value<=m.value?await ne(!0):--n.value}async function te(e=!1){l.value=1,d.value1&&await E(d.value-1,e&&!i.value?Vr:void 0)}function re(){return E(1)}function ie(){return E(s.value)}async function E(e,t=0,i=!1){ai.value=!1;let a=d.value!==e,s=t!==n.value,c=Jr(e)?.meta,l=c?.slide?.frontmatter.clicksStart??0;t=De(t,l,c?.__clicksContext?.total??999999),(i||a||s)&&await o?.push({path:Yr(e,r.value,o.currentRoute.value.name===`export`),query:{...o.currentRoute.value.query,clicks:t===0?void 0:t.toString(),embedded:location.search.includes(`embedded`)?`true`:void 0}})}function ae(){o?.push({path:Yr(d.value,!0),query:{...o.currentRoute.value.query}})}function oe(){o?.push({path:Yr(d.value,!1),query:{...o.currentRoute.value.query}})}return{slides:I,total:s,currentPath:u,currentSlideNo:d,currentPage:d,currentSlideRoute:e,currentLayout:f,currentTransition:S,clicksDirection:l,nextRoute:_,prevRoute:v,clicksContext:t,clicks:p,clicksStart:m,clicksTotal:h,hasNext:b,hasPrev:x,tocTree:w,navDirection:c,openInEditor:C,next:T,prev:ee,go:E,goLast:ie,goFirst:re,nextSlide:te,prevSlide:ne,enterPresenter:ae,exitPresenter:oe}}function Wi(e,t){let n=async()=>{};return{...Ui(y(()=>e),y(()=>t),g(Vr),g(!1),g(!1)),next:n,prev:n,nextSlide:n,prevSlide:n,goFirst:n,goLast:n,go:n}}var Gi=le(()=>{let e=pe(),t=ce(),n=y(()=>(e?.currentRoute?.value?.query,new URLSearchParams(location.search))),r=y(()=>n.value.has(`print`)||t.name===`export`),i=g(n.value.get(`print`)===`clicks`),a=y(()=>n.value.has(`embedded`)),o=y(()=>t.name===`play`),s=y(()=>t.name===`presenter`),c=y(()=>t.name===`notes`),l=y(()=>!s.value&&(!j.remote||n.value.get(`password`)===j.remote)),u=y(()=>!!t.params.no),d=y(()=>u.value?Jr(t.params.no)?.no??1:1),f=y(()=>I.value[d.value-1]),p=g(Tr(I.value.length,t?.query?.range)),m=Gr(`clicks`,`0`),h=y(()=>v(f.value)),_=y({get(){let e=+(m.value||0);return Number.isNaN(e)&&(e=0),e},set(e){ai.value=!1,m.value=e.toString()}});function v(e){if(e?.meta?.__clicksContext)return e.meta.__clicksContext;let t=e.no,n=Mt(y({get(){return d.value===t?Math.max(+(m.value??0),n.clicksStart):d.value>t?Vr:n.clicksStart},set(e){d.value===t&&(m.value=e.toString())}}),e?.meta.slide?.frontmatter.clicksStart??0,e?.meta.clicks);return e?.meta&&(e.meta.__clicksContext=n),n}return{router:e,currentRoute:y(()=>t),isPrintMode:r,isPrintWithClicks:i,isEmbedded:a,isPlaying:o,isPresenter:s,isNotesViewer:c,isPresenterAvailable:l,hasPrimarySlide:u,currentSlideNo:d,currentSlideRoute:f,clicksContext:h,queryClicksRaw:m,queryClicks:_,printRange:p,getPrimaryClicks:v}}),Ki=le(()=>{let e=Gi(),t=pe(),n=Ui(e.currentSlideRoute,e.clicksContext,e.queryClicks,e.isPresenter,e.isPrintMode,t);return a([n.total,e.currentRoute],async()=>{let t=e.currentRoute.value.params.no;e.hasPrimarySlide.value&&!Jr(t)&&(t&&t!==`index.html`?await n.go(n.total.value,0,!0):await n.go(1,0,!0))},{flush:`pre`,immediate:!0}),{...n,...e}}),qi=he(),Ji=k(`slidev-color-schema`,`auto`),Yi=y(()=>j.colorSchema!==`auto`),Xi=y({get(){return Yi.value?j.colorSchema===`dark`:Ji.value===`auto`?qi.value:Ji.value===`dark`},set(e){Yi.value||(Ji.value=e===qi.value?`auto`:e?`dark`:`light`)}}),Zi=ue(Xi);D&&a(Xi,e=>{let t=window.document.createElement(`style`);t.appendChild(document.createTextNode(`*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}`)),window.document.head.appendChild(t);let n=document.querySelector(`html`);n.classList.toggle(`dark`,e),n.classList.toggle(`light`,!e),window.getComputedStyle(t).opacity,document.head.removeChild(t)},{immediate:!0});function Qi(){let{isPrintMode:e}=Ki();Te(y(()=>e.value?` +@page { + size: ${Le.value}px ${Re.value}px; + margin: 0px; +} + +* { + transition: none !important; + transition-duration: 0s !important; +}`:``))}var $i=Symbol.for(`yaml.alias`),ea=Symbol.for(`yaml.document`),ta=Symbol.for(`yaml.map`),na=Symbol.for(`yaml.pair`),ra=Symbol.for(`yaml.scalar`),ia=Symbol.for(`yaml.seq`),L=Symbol.for(`yaml.node.type`),aa=e=>!!e&&typeof e==`object`&&e[L]===$i,oa=e=>!!e&&typeof e==`object`&&e[L]===ea,sa=e=>!!e&&typeof e==`object`&&e[L]===ta,R=e=>!!e&&typeof e==`object`&&e[L]===na,z=e=>!!e&&typeof e==`object`&&e[L]===ra,ca=e=>!!e&&typeof e==`object`&&e[L]===ia;function B(e){if(e&&typeof e==`object`)switch(e[L]){case ta:case ia:return!0}return!1}function V(e){if(e&&typeof e==`object`)switch(e[L]){case $i:case ta:case ra:case ia:return!0}return!1}var la=e=>(z(e)||B(e))&&!!e.anchor,H=Symbol(`break visit`),ua=Symbol(`skip children`),U=Symbol(`remove node`);function da(e,t){let n=ha(t);oa(e)?fa(null,e.contents,n,Object.freeze([e]))===U&&(e.contents=null):fa(null,e,n,Object.freeze([]))}da.BREAK=H,da.SKIP=ua,da.REMOVE=U;function fa(e,t,n,r){let i=ga(e,t,n,r);if(V(i)||R(i))return _a(e,r,i),fa(e,i,n,r);if(typeof i!=`symbol`){if(B(t)){r=Object.freeze(r.concat(t));for(let e=0;ee.replace(/[!,[\]{}]/g,e=>va[e]),ba=class e{constructor(t,n){this.docStart=null,this.docEnd=!1,this.yaml=Object.assign({},e.defaultYaml,t),this.tags=Object.assign({},e.defaultTags,n)}clone(){let t=new e(this.yaml,this.tags);return t.docStart=this.docStart,t}atDocument(){let t=new e(this.yaml,this.tags);switch(this.yaml.version){case`1.1`:this.atNextDocument=!0;break;case`1.2`:this.atNextDocument=!1,this.yaml={explicit:e.defaultYaml.explicit,version:`1.2`},this.tags=Object.assign({},e.defaultTags);break}return t}add(t,n){this.atNextDocument&&=(this.yaml={explicit:e.defaultYaml.explicit,version:`1.1`},this.tags=Object.assign({},e.defaultTags),!1);let r=t.trim().split(/[ \t]+/),i=r.shift();switch(i){case`%TAG`:{if(r.length!==2&&(n(0,`%TAG directive should contain exactly two parts`),r.length<2))return!1;let[e,t]=r;return this.tags[e]=t,!0}case`%YAML`:{if(this.yaml.explicit=!0,r.length!==1)return n(0,`%YAML directive should contain exactly one part`),!1;let[e]=r;if(e===`1.1`||e===`1.2`)return this.yaml.version=e,!0;{let t=/^\d+\.\d+$/.test(e);return n(6,`Unsupported YAML version ${e}`,t),!1}}default:return n(0,`Unknown directive ${i}`,!0),!1}}tagName(e,t){if(e===`!`)return`!`;if(e[0]!==`!`)return t(`Not a valid tag: ${e}`),null;if(e[1]===`<`){let n=e.slice(2,-1);return n===`!`||n===`!!`?(t(`Verbatim tags aren't resolved, so ${e} is invalid.`),null):(e[e.length-1]!==`>`&&t(`Verbatim tags must end with a >`),n)}let[,n,r]=e.match(/^(.*!)([^!]*)$/s);r||t(`The ${e} tag has no suffix`);let i=this.tags[n];if(i)try{return i+decodeURIComponent(r)}catch(e){return t(String(e)),null}return n===`!`?e:(t(`Could not resolve tag: ${e}`),null)}tagString(e){for(let[t,n]of Object.entries(this.tags))if(e.startsWith(n))return t+ya(e.substring(n.length));return e[0]===`!`?e:`!<${e}>`}toString(e){let t=this.yaml.explicit?[`%YAML ${this.yaml.version||`1.2`}`]:[],n=Object.entries(this.tags),r;if(e&&n.length>0&&V(e.contents)){let t={};da(e.contents,(e,n)=>{V(n)&&n.tag&&(t[n.tag]=!0)}),r=Object.keys(t)}else r=[];for(let[i,a]of n)i===`!!`&&a===`tag:yaml.org,2002:`||(!e||r.some(e=>e.startsWith(a)))&&t.push(`%TAG ${i} ${a}`);return t.join(` +`)}};ba.defaultYaml={explicit:!1,version:`1.2`},ba.defaultTags={"!!":`tag:yaml.org,2002:`};function xa(e){if(/[\x00-\x19\s,[\]{}]/.test(e)){let t=`Anchor must not contain whitespace or control characters: ${JSON.stringify(e)}`;throw Error(t)}return!0}function Sa(e,t,n,r){if(r&&typeof r==`object`)if(Array.isArray(r))for(let t=0,n=r.length;tW(e,String(t),n));if(e&&typeof e.toJSON==`function`){if(!n||!la(e))return e.toJSON(t,n);let r={aliasCount:0,count:1,res:void 0};n.anchors.set(e,r),n.onCreate=e=>{r.res=e,delete n.onCreate};let i=e.toJSON(t,n);return n.onCreate&&n.onCreate(i),i}return typeof e==`bigint`&&!n?.keep?Number(e):e}var Ca=class{constructor(e){Object.defineProperty(this,L,{value:e})}clone(){let e=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return this.range&&(e.range=this.range.slice()),e}toJS(e,{mapAsMap:t,maxAliasCount:n,onAnchor:r,reviver:i}={}){if(!oa(e))throw TypeError(`A document argument is required`);let a={anchors:new Map,doc:e,keep:!0,mapAsMap:t===!0,mapKeyWarned:!1,maxAliasCount:typeof n==`number`?n:100},o=W(this,``,a);if(typeof r==`function`)for(let{count:e,res:t}of a.anchors.values())r(t,e);return typeof i==`function`?Sa(i,{"":o},``,o):o}},wa=class extends Ca{constructor(e){super($i),this.source=e,Object.defineProperty(this,"tag",{set(){throw Error(`Alias nodes cannot have tags`)}})}resolve(e,t){if(t?.maxAliasCount===0)throw ReferenceError(`Alias resolution is disabled`);let n;t?.aliasResolveCache?n=t.aliasResolveCache:(n=[],da(e,{Node:(e,t)=>{(aa(t)||la(t))&&n.push(t)}}),t&&(t.aliasResolveCache=n));let r;for(let e of n){if(e===this)break;e.anchor===this.source&&(r=e)}return r}toJSON(e,t){if(!t)return{source:this.source};let{anchors:n,doc:r,maxAliasCount:i}=t,a=this.resolve(r,t);if(!a){let e=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw ReferenceError(e)}let o=n.get(a);if(o||=(W(a,null,t),n.get(a)),o?.res===void 0)throw ReferenceError(`This should not happen: Alias anchor was not resolved?`);if(i>=0&&(o.count+=1,o.aliasCount===0&&(o.aliasCount=Ta(r,a,n)),o.count*o.aliasCount>i))throw ReferenceError(`Excessive alias count indicates a resource exhaustion attack`);return o.res}toString(e,t,n){let r=`*${this.source}`;if(e){if(xa(this.source),e.options.verifyAliasOrder&&!e.anchors.has(this.source)){let e=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw Error(e)}if(e.implicitKey)return`${r} `}return r}};function Ta(e,t,n){if(aa(t)){let r=t.resolve(e),i=n&&r&&n.get(r);return i?i.count*i.aliasCount:0}else if(B(t)){let r=0;for(let i of t.items){let t=Ta(e,i,n);t>r&&(r=t)}return r}else if(R(t)){let r=Ta(e,t.key,n),i=Ta(e,t.value,n);return Math.max(r,i)}return 1}var Ea=e=>!e||typeof e!=`function`&&typeof e!=`object`,G=class extends Ca{constructor(e){super(ra),this.value=e}toJSON(e,t){return t?.keep?this.value:W(this.value,e,t)}toString(){return String(this.value)}};G.BLOCK_FOLDED=`BLOCK_FOLDED`,G.BLOCK_LITERAL=`BLOCK_LITERAL`,G.PLAIN=`PLAIN`,G.QUOTE_DOUBLE=`QUOTE_DOUBLE`,G.QUOTE_SINGLE=`QUOTE_SINGLE`;var Da=`tag:yaml.org,2002:`;function Oa(e,t,n){if(t){let e=n.filter(e=>e.tag===t),r=e.find(e=>!e.format)??e[0];if(!r)throw Error(`Tag ${t} not found`);return r}return n.find(t=>t.identify?.(e)&&!t.format)}function ka(e,t,n){if(oa(e)&&(e=e.contents),V(e))return e;if(R(e)){let t=n.schema[ta].createNode?.(n.schema,null,n);return t.items.push(e),t}(e instanceof String||e instanceof Number||e instanceof Boolean||typeof BigInt<`u`&&e instanceof BigInt)&&(e=e.valueOf());let{aliasDuplicateObjects:r,onAnchor:i,onTagObj:a,schema:o,sourceObjects:s}=n,c;if(r&&e&&typeof e==`object`){if(c=s.get(e),c)return c.anchor??=i(e),new wa(c.anchor);c={anchor:null,node:null},s.set(e,c)}t?.startsWith(`!!`)&&(t=Da+t.slice(2));let l=Oa(e,t,o.tags);if(!l){if(e&&typeof e.toJSON==`function`&&(e=e.toJSON()),!e||typeof e!=`object`){let t=new G(e);return c&&(c.node=t),t}l=e instanceof Map?o[ta]:Symbol.iterator in Object(e)?o[ia]:o[ta]}a&&(a(l),delete n.onTagObj);let u=l?.createNode?l.createNode(n.schema,e,n):typeof l?.nodeClass?.from==`function`?l.nodeClass.from(n.schema,e,n):new G(e);return t?u.tag=t:l.default||(u.tag=l.tag),c&&(c.node=u),u}function Aa(e,t,n){let r=n;for(let e=t.length-1;e>=0;--e){let n=t[e];if(typeof n==`number`&&Number.isInteger(n)&&n>=0){let e=[];e[n]=r,r=e}else r=new Map([[n,r]])}return ka(r,void 0,{aliasDuplicateObjects:!1,keepUndefined:!1,onAnchor:()=>{throw Error(`This should not happen, please report a bug.`)},schema:e,sourceObjects:new Map})}var ja=e=>e==null||typeof e==`object`&&!!e[Symbol.iterator]().next().done,Ma=class extends Ca{constructor(e,t){super(e),Object.defineProperty(this,"schema",{value:t,configurable:!0,enumerable:!1,writable:!0})}clone(e){let t=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return e&&(t.schema=e),t.items=t.items.map(t=>V(t)||R(t)?t.clone(e):t),this.range&&(t.range=this.range.slice()),t}addIn(e,t){if(ja(e))this.add(t);else{let[n,...r]=e,i=this.get(n,!0);if(B(i))i.addIn(r,t);else if(i===void 0&&this.schema)this.set(n,Aa(this.schema,r,t));else throw Error(`Expected YAML collection at ${n}. Remaining path: ${r}`)}}deleteIn(e){let[t,...n]=e;if(n.length===0)return this.delete(t);let r=this.get(t,!0);if(B(r))return r.deleteIn(n);throw Error(`Expected YAML collection at ${t}. Remaining path: ${n}`)}getIn(e,t){let[n,...r]=e,i=this.get(n,!0);return r.length===0?!t&&z(i)?i.value:i:B(i)?i.getIn(r,t):void 0}hasAllNullValues(e){return this.items.every(t=>{if(!R(t))return!1;let n=t.value;return n==null||e&&z(n)&&n.value==null&&!n.commentBefore&&!n.comment&&!n.tag})}hasIn(e){let[t,...n]=e;if(n.length===0)return this.has(t);let r=this.get(t,!0);return B(r)?r.hasIn(n):!1}setIn(e,t){let[n,...r]=e;if(r.length===0)this.set(n,t);else{let e=this.get(n,!0);if(B(e))e.setIn(r,t);else if(e===void 0&&this.schema)this.set(n,Aa(this.schema,r,t));else throw Error(`Expected YAML collection at ${n}. Remaining path: ${r}`)}}},Na=e=>e.replace(/^(?!$)(?: $)?/gm,`#`);function Pa(e,t){return/^\n+$/.test(e)?e.substring(1):t?e.replace(/^(?! *$)/gm,t):e}var Fa=(e,t,n)=>e.endsWith(` +`)?Pa(n,t):n.includes(` +`)?` +`+Pa(n,t):(e.endsWith(` `)?``:` `)+n,Ia=`flow`,La=`block`,Ra=`quoted`;function za(e,t,n=`flow`,{indentAtStart:r,lineWidth:i=80,minContentWidth:a=20,onFold:o,onOverflow:s}={}){if(!i||i<0)return e;ii-Math.max(2,a)?l.push(0):d=i-r);let f,p,m=!1,h=-1,g=-1,_=-1;n===`block`&&(h=Ba(e,h,t.length),h!==-1&&(d=h+c));for(let r;r=e[h+=1];){if(n===`quoted`&&r===`\\`){switch(g=h,e[h+1]){case`x`:h+=3;break;case`u`:h+=5;break;case`U`:h+=9;break;default:h+=1}_=h}if(r===` +`)n===`block`&&(h=Ba(e,h,t.length)),d=h+t.length+c,f=void 0;else{if(r===` `&&p&&p!==` `&&p!==` +`&&p!==` `){let t=e[h+1];t&&t!==` `&&t!==` +`&&t!==` `&&(f=h)}if(h>=d)if(f)l.push(f),d=f+c,f=void 0;else if(n===`quoted`){for(;p===` `||p===` `;)p=r,r=e[h+=1],m=!0;let t=h>_+1?h-2:g-1;if(u[t])return e;l.push(t),u[t]=!0,d=t+c,f=void 0}else m=!0}p=r}if(m&&s&&s(),l.length===0)return e;o&&o();let v=e.slice(0,l[0]);for(let r=0;r({indentAtStart:t?e.indent.length:e.indentAtStart,lineWidth:e.options.lineWidth,minContentWidth:e.options.minContentWidth}),Ha=e=>/^(%|---|\.\.\.)/m.test(e);function Ua(e,t,n){if(!t||t<0)return!1;let r=t-n,i=e.length;if(i<=r)return!1;for(let t=0,n=0;tr)return!0;if(n=t+1,i-n<=r)return!1}return!0}function Wa(e,t){let n=JSON.stringify(e);if(t.options.doubleQuotedAsJSON)return n;let{implicitKey:r}=t,i=t.options.doubleQuotedMinMultiLineLength,a=t.indent||(Ha(e)?` `:``),o=``,s=0;for(let e=0,t=n[e];t;t=n[++e])if(t===` `&&n[e+1]===`\\`&&n[e+2]===`n`&&(o+=n.slice(s,e)+`\\ `,e+=1,s=e,t=`\\`),t===`\\`)switch(n[e+1]){case`u`:{o+=n.slice(s,e);let t=n.substr(e+2,4);switch(t){case`0000`:o+=`\\0`;break;case`0007`:o+=`\\a`;break;case`000b`:o+=`\\v`;break;case`001b`:o+=`\\e`;break;case`0085`:o+=`\\N`;break;case`00a0`:o+=`\\_`;break;case`2028`:o+=`\\L`;break;case`2029`:o+=`\\P`;break;default:t.substr(0,2)===`00`?o+=`\\x`+t.substr(2):o+=n.substr(e,6)}e+=5,s=e+1}break;case`n`:if(r||n[e+2]===`"`||n.length +`;let d,f;for(f=n.length;f>0;--f){let e=n[f-1];if(e!==` +`&&e!==` `&&e!==` `)break}let p=n.substring(f),m=p.indexOf(` +`);m===-1?d=`-`:n===p||m!==p.length-1?(d=`+`,a&&a()):d=``,p&&=(n=n.slice(0,-p.length),p[p.length-1]===` +`&&(p=p.slice(0,-1)),p.replace(qa,`$&${l}`));let h=!1,g,_=-1;for(g=0;g{i=!0});let s=za(`${v}${e}${p}`,l,La,a);if(!i)return`>${y}\n${l}${s}`}return n=n.replace(/\n+/g,`$&${l}`),`|${y}\n${l}${v}${n}${p}`}function Ya(e,t,n,r){let{type:i,value:a}=e,{actualString:o,implicitKey:s,indent:c,indentStep:l,inFlow:u}=t;if(s&&a.includes(` +`)||u&&/[[\]{},]/.test(a))return Ka(a,t);if(/^[\n\t ,[\]{}#&*!|>'"%@`]|^[?-]$|^[?-][ \t]|[\n:][ \t]|[ \t]\n|[\n\t ]#|[\n\t :]$/.test(a))return s||u||!a.includes(` +`)?Ka(a,t):Ja(e,t,n,r);if(!s&&!u&&i!==G.PLAIN&&a.includes(` +`))return Ja(e,t,n,r);if(Ha(a)){if(c===``)return t.forceBlockIndent=!0,Ja(e,t,n,r);if(s&&c===l)return Ka(a,t)}let d=a.replace(/\n+/g,`$&\n${c}`);if(o){let e=e=>e.default&&e.tag!==`tag:yaml.org,2002:str`&&e.test?.test(d),{compat:n,tags:r}=t.doc.schema;if(r.some(e)||n?.some(e))return Ka(a,t)}return s?d:za(d,c,Ia,Va(t,!1))}function Xa(e,t,n,r){let{implicitKey:i,inFlow:a}=t,o=typeof e.value==`string`?e:Object.assign({},e,{value:String(e.value)}),{type:s}=e;s!==G.QUOTE_DOUBLE&&/[\x00-\x08\x0b-\x1f\x7f-\x9f\u{D800}-\u{DFFF}]/u.test(o.value)&&(s=G.QUOTE_DOUBLE);let c=e=>{switch(e){case G.BLOCK_FOLDED:case G.BLOCK_LITERAL:return i||a?Ka(o.value,t):Ja(o,t,n,r);case G.QUOTE_DOUBLE:return Wa(o.value,t);case G.QUOTE_SINGLE:return Ga(o.value,t);case G.PLAIN:return Ya(o,t,n,r);default:return null}},l=c(s);if(l===null){let{defaultKeyType:e,defaultStringType:n}=t.options,r=i&&e||n;if(l=c(r),l===null)throw Error(`Unsupported default string type ${r}`)}return l}function Za(e,t){let n=Object.assign({blockQuote:!0,commentString:Na,defaultKeyType:null,defaultStringType:`PLAIN`,directives:null,doubleQuotedAsJSON:!1,doubleQuotedMinMultiLineLength:40,falseStr:`false`,flowCollectionPadding:!0,indentSeq:!0,lineWidth:80,minContentWidth:20,nullStr:`null`,simpleKeys:!1,singleQuote:null,trailingComma:!1,trueStr:`true`,verifyAliasOrder:!0},e.schema.toStringOptions,t),r;switch(n.collectionStyle){case`block`:r=!1;break;case`flow`:r=!0;break;default:r=null}return{anchors:new Set,doc:e,flowCollectionPadding:n.flowCollectionPadding?` `:``,indent:``,indentStep:typeof n.indent==`number`?` `.repeat(n.indent):` `,inFlow:r,options:n}}function Qa(e,t){if(t.tag){let n=e.filter(e=>e.tag===t.tag);if(n.length>0)return n.find(e=>e.format===t.format)??n[0]}let n,r;if(z(t)){r=t.value;let i=e.filter(e=>e.identify?.(r));if(i.length>1){let e=i.filter(e=>e.test);e.length>0&&(i=e)}n=i.find(e=>e.format===t.format)??i.find(e=>!e.format)}else r=t,n=e.find(e=>e.nodeClass&&r instanceof e.nodeClass);if(!n){let e=r?.constructor?.name??(r===null?`null`:typeof r);throw Error(`Tag not resolved for ${e} value`)}return n}function $a(e,t,{anchors:n,doc:r}){if(!r.directives)return``;let i=[],a=(z(e)||B(e))&&e.anchor;a&&xa(a)&&(n.add(a),i.push(`&${a}`));let o=e.tag??(t.default?null:t.tag);return o&&i.push(r.directives.tagString(o)),i.join(` `)}function eo(e,t,n,r){if(R(e))return e.toString(t,n,r);if(aa(e)){if(t.doc.directives)return e.toString(t);if(t.resolvedAliases?.has(e))throw TypeError(`Cannot stringify circular structure without alias nodes`);t.resolvedAliases?t.resolvedAliases.add(e):t.resolvedAliases=new Set([e]),e=e.resolve(t.doc)}let i,a=V(e)?e:t.doc.createNode(e,{onTagObj:e=>i=e});i??=Qa(t.doc.schema.tags,a);let o=$a(a,i,t);o.length>0&&(t.indentAtStart=(t.indentAtStart??0)+o.length+1);let s=typeof i.stringify==`function`?i.stringify(a,t,n,r):z(a)?Xa(a,t,n,r):a.toString(t,n,r);return o?z(a)||s[0]===`{`||s[0]===`[`?`${o} ${s}`:`${o}\n${t.indent}${s}`:s}function to({key:e,value:t},n,r,i){let{allNullValues:a,doc:o,indent:s,indentStep:c,options:{commentString:l,indentSeq:u,simpleKeys:d}}=n,f=V(e)&&e.comment||null;if(d){if(f)throw Error(`With simple keys, key nodes cannot have comments`);if(B(e)||!V(e)&&typeof e==`object`)throw Error(`With simple keys, collection cannot be used as a key value`)}let p=!d&&(!e||f&&t==null&&!n.inFlow||B(e)||(z(e)?e.type===G.BLOCK_FOLDED||e.type===G.BLOCK_LITERAL:typeof e==`object`));n=Object.assign({},n,{allNullValues:!1,implicitKey:!p&&(d||!a),indent:s+c});let m=!1,h=!1,g=eo(e,n,()=>m=!0,()=>h=!0);if(!p&&!n.inFlow&&g.length>1024){if(d)throw Error(`With simple keys, single line scalar must not span more than 1024 characters`);p=!0}if(n.inFlow){if(a||t==null)return m&&r&&r(),g===``?`?`:p?`? ${g}`:g}else if(a&&!d||t==null&&p)return g=`? ${g}`,f&&!m?g+=Fa(g,n.indent,l(f)):h&&i&&i(),g;m&&(f=null),p?(f&&(g+=Fa(g,n.indent,l(f))),g=`? ${g}\n${s}:`):(g=`${g}:`,f&&(g+=Fa(g,n.indent,l(f))));let _,v,y;V(t)?(_=!!t.spaceBefore,v=t.commentBefore,y=t.comment):(_=!1,v=null,y=null,t&&typeof t==`object`&&(t=o.createNode(t))),n.implicitKey=!1,!p&&!f&&z(t)&&(n.indentAtStart=g.length+1),h=!1,!u&&c.length>=2&&!n.inFlow&&!p&&ca(t)&&!t.flow&&!t.tag&&!t.anchor&&(n.indent=n.indent.substring(2));let b=!1,x=eo(t,n,()=>b=!0,()=>h=!0),S=` `;if(f||_||v){if(S=_?` +`:``,v){let e=l(v);S+=`\n${Pa(e,n.indent)}`}x===``&&!n.inFlow?S===` +`&&y&&(S=` + +`):S+=`\n${n.indent}`}else if(!p&&B(t)){let e=x[0],r=x.indexOf(` +`),i=r!==-1,a=n.inFlow??t.flow??t.items.length===0;if(i||!a){let t=!1;if(i&&(e===`&`||e===`!`)){let n=x.indexOf(` `);e===`&`&&n!==-1&&ne===ro||typeof e==`symbol`&&e.description===ro,default:`key`,tag:`tag:yaml.org,2002:merge`,test:/^<<$/,resolve:()=>Object.assign(new G(Symbol(ro)),{addToJSMap:oo}),stringify:()=>ro},ao=(e,t)=>(io.identify(t)||z(t)&&(!t.type||t.type===G.PLAIN)&&io.identify(t.value))&&e?.doc.schema.tags.some(e=>e.tag===io.tag&&e.default);function oo(e,t,n){let r=co(e,n);if(ca(r))for(let n of r.items)so(e,t,n);else if(Array.isArray(r))for(let n of r)so(e,t,n);else so(e,t,r)}function so(e,t,n){let r=co(e,n);if(!sa(r))throw Error(`Merge sources must be maps or map aliases`);let i=r.toJSON(null,e,Map);for(let[e,n]of i)t instanceof Map?t.has(e)||t.set(e,n):t instanceof Set?t.add(e):Object.prototype.hasOwnProperty.call(t,e)||Object.defineProperty(t,e,{value:n,writable:!0,enumerable:!0,configurable:!0});return t}function co(e,t){return e&&aa(t)?t.resolve(e.doc,e):t}function lo(e,t,{key:n,value:r}){if(V(n)&&n.addToJSMap)n.addToJSMap(e,t,r);else if(ao(e,n))oo(e,t,r);else{let i=W(n,``,e);if(t instanceof Map)t.set(i,W(r,i,e));else if(t instanceof Set)t.add(i);else{let a=uo(n,i,e),o=W(r,a,e);a in t?Object.defineProperty(t,a,{value:o,writable:!0,enumerable:!0,configurable:!0}):t[a]=o}}return t}function uo(e,t,n){if(t===null)return``;if(typeof t!=`object`)return String(t);if(V(e)&&n?.doc){let t=Za(n.doc,{});t.anchors=new Set;for(let e of n.anchors.keys())t.anchors.add(e.anchor);t.inFlow=!0,t.inStringifyKey=!0;let r=e.toString(t);if(!n.mapKeyWarned){let e=JSON.stringify(r);e.length>40&&(e=e.substring(0,36)+`..."`),no(n.doc.options.logLevel,`Keys with collection values will be stringified due to JS Object restrictions: ${e}. Set mapAsMap: true to use object keys.`),n.mapKeyWarned=!0}return r}return JSON.stringify(t)}function fo(e,t,n){return new po(ka(e,void 0,n),ka(t,void 0,n))}var po=class e{constructor(e,t=null){Object.defineProperty(this,L,{value:na}),this.key=e,this.value=t}clone(t){let{key:n,value:r}=this;return V(n)&&(n=n.clone(t)),V(r)&&(r=r.clone(t)),new e(n,r)}toJSON(e,t){return lo(t,t?.mapAsMap?new Map:{},this)}toString(e,t,n){return e?.doc?to(this,e,t,n):JSON.stringify(this)}};function mo(e,t,n){return(t.inFlow??e.flow?go:ho)(e,t,n)}function ho({comment:e,items:t},n,{blockItemPrefix:r,flowChars:i,itemIndent:a,onChompKeep:o,onComment:s}){let{indent:c,options:{commentString:l}}=n,u=Object.assign({},n,{indent:a,type:null}),d=!1,f=[];for(let e=0;eo=null,()=>d=!0);o&&(s+=Fa(s,a,l(o))),d&&o&&(d=!1),f.push(r+s)}let p;if(f.length===0)p=i.start+i.end;else{p=f[0];for(let e=1;ea=null);l||=d.length>u||o.includes(` +`),n0&&(l||=d.reduce((e,t)=>e+t.length+2,2)+(o.length+2)>t.options.lineWidth),l&&(o+=`,`)),a&&(o+=Fa(o,r,s(a))),d.push(o),u=d.length}let{start:f,end:p}=n;if(d.length===0)return f+p;if(!l){let e=d.reduce((e,t)=>e+t.length+2,2);l=t.options.lineWidth>0&&e>t.options.lineWidth}if(l){let e=f;for(let t of d)e+=t?`\n${a}${i}${t}`:` +`;return`${e}\n${i}${p}`}else return`${f}${o}${d.join(` `)}${o}${p}`}function _o({indent:e,options:{commentString:t}},n,r,i){if(r&&i&&(r=r.replace(/^\n+/,``)),r){let i=Pa(t(r),e);n.push(i.trimStart())}}function vo(e,t){let n=z(t)?t.value:t;for(let r of e)if(R(r)&&(r.key===t||r.key===n||z(r.key)&&r.key.value===n))return r}var K=class extends Ma{static get tagName(){return`tag:yaml.org,2002:map`}constructor(e){super(ta,e),this.items=[]}static from(e,t,n){let{keepUndefined:r,replacer:i}=n,a=new this(e),o=(e,o)=>{if(typeof i==`function`)o=i.call(t,e,o);else if(Array.isArray(i)&&!i.includes(e))return;(o!==void 0||r)&&a.items.push(fo(e,o,n))};if(t instanceof Map)for(let[e,n]of t)o(e,n);else if(t&&typeof t==`object`)for(let e of Object.keys(t))o(e,t[e]);return typeof e.sortMapEntries==`function`&&a.items.sort(e.sortMapEntries),a}add(e,t){let n;n=R(e)?e:!e||typeof e!=`object`||!(`key`in e)?new po(e,e?.value):new po(e.key,e.value);let r=vo(this.items,n.key),i=this.schema?.sortMapEntries;if(r){if(!t)throw Error(`Key ${n.key} already set`);z(r.value)&&Ea(n.value)?r.value.value=n.value:r.value=n.value}else if(i){let e=this.items.findIndex(e=>i(n,e)<0);e===-1?this.items.push(n):this.items.splice(e,0,n)}else this.items.push(n)}delete(e){let t=vo(this.items,e);return t?this.items.splice(this.items.indexOf(t),1).length>0:!1}get(e,t){let n=vo(this.items,e)?.value;return(!t&&z(n)?n.value:n)??void 0}has(e){return!!vo(this.items,e)}set(e,t){this.add(new po(e,t),!0)}toJSON(e,t,n){let r=n?new n:t?.mapAsMap?new Map:{};t?.onCreate&&t.onCreate(r);for(let e of this.items)lo(t,r,e);return r}toString(e,t,n){if(!e)return JSON.stringify(this);for(let e of this.items)if(!R(e))throw Error(`Map items must all be pairs; found ${JSON.stringify(e)} instead`);return!e.allNullValues&&this.hasAllNullValues(!1)&&(e=Object.assign({},e,{allNullValues:!0})),mo(this,e,{blockItemPrefix:``,flowChars:{start:`{`,end:`}`},itemIndent:e.indent||``,onChompKeep:n,onComment:t})}},yo={collection:`map`,default:!0,nodeClass:K,tag:`tag:yaml.org,2002:map`,resolve(e,t){return sa(e)||t(`Expected a mapping for this tag`),e},createNode:(e,t,n)=>K.from(e,t,n)},bo=class extends Ma{static get tagName(){return`tag:yaml.org,2002:seq`}constructor(e){super(ia,e),this.items=[]}add(e){this.items.push(e)}delete(e){let t=xo(e);return typeof t==`number`?this.items.splice(t,1).length>0:!1}get(e,t){let n=xo(e);if(typeof n!=`number`)return;let r=this.items[n];return!t&&z(r)?r.value:r}has(e){let t=xo(e);return typeof t==`number`&&t=0?t:null}var So={collection:`seq`,default:!0,nodeClass:bo,tag:`tag:yaml.org,2002:seq`,resolve(e,t){return ca(e)||t(`Expected a sequence for this tag`),e},createNode:(e,t,n)=>bo.from(e,t,n)};function Co(e){return typeof e==`bigint`||Number.isInteger(e)}var wo=({value:e})=>JSON.stringify(e),To=[{identify:e=>typeof e==`string`,default:!0,tag:`tag:yaml.org,2002:str`,resolve:e=>e,stringify:wo},{identify:e=>e==null,createNode:()=>new G(null),default:!0,tag:`tag:yaml.org,2002:null`,test:/^null$/,resolve:()=>null,stringify:wo},{identify:e=>typeof e==`boolean`,default:!0,tag:`tag:yaml.org,2002:bool`,test:/^true$|^false$/,resolve:e=>e===`true`,stringify:wo},{identify:Co,default:!0,tag:`tag:yaml.org,2002:int`,test:/^-?(?:0|[1-9][0-9]*)$/,resolve:(e,t,{intAsBigInt:n})=>n?BigInt(e):parseInt(e,10),stringify:({value:e})=>Co(e)?e.toString():JSON.stringify(e)},{identify:e=>typeof e==`number`,default:!0,tag:`tag:yaml.org,2002:float`,test:/^-?(?:0|[1-9][0-9]*)(?:\.[0-9]*)?(?:[eE][-+]?[0-9]+)?$/,resolve:e=>parseFloat(e),stringify:wo}];[yo,So].concat(To,{default:!0,tag:``,test:/^/,resolve(e,t){return t(`Unresolved plain scalar ${JSON.stringify(e)}`),e}});function Eo(e,t,n){let{replacer:r}=n,i=new bo(e);i.tag=`tag:yaml.org,2002:pairs`;let a=0;if(t&&Symbol.iterator in Object(t))for(let e of t){typeof r==`function`&&(e=r.call(t,String(a++),e));let o,s;if(Array.isArray(e))if(e.length===2)o=e[0],s=e[1];else throw TypeError(`Expected [key, value] tuple: ${e}`);else if(e&&e instanceof Object){let t=Object.keys(e);if(t.length===1)o=t[0],s=e[o];else throw TypeError(`Expected tuple with one key, not ${t.length} keys`)}else o=e;i.items.push(fo(o,s,n))}return i}var Do=class e extends bo{constructor(){super(),this.add=K.prototype.add.bind(this),this.delete=K.prototype.delete.bind(this),this.get=K.prototype.get.bind(this),this.has=K.prototype.has.bind(this),this.set=K.prototype.set.bind(this),this.tag=e.tag}toJSON(e,t){if(!t)return super.toJSON(e);let n=new Map;t?.onCreate&&t.onCreate(n);for(let e of this.items){let r,i;if(R(e)?(r=W(e.key,``,t),i=W(e.value,r,t)):r=W(e,``,t),n.has(r))throw Error(`Ordered maps must not include duplicate keys`);n.set(r,i)}return n}static from(e,t,n){let r=Eo(e,t,n),i=new this;return i.items=r.items,i}};Do.tag=`tag:yaml.org,2002:omap`;var Oo=class e extends K{constructor(t){super(t),this.tag=e.tag}add(e){let t;t=R(e)?e:e&&typeof e==`object`&&`key`in e&&`value`in e&&e.value===null?new po(e.key,null):new po(e,null),vo(this.items,t.key)||this.items.push(t)}get(e,t){let n=vo(this.items,e);return!t&&R(n)?z(n.key)?n.key.value:n.key:n}set(e,t){if(typeof t!=`boolean`)throw Error(`Expected boolean value for set(key, value) in a YAML set, not ${typeof t}`);let n=vo(this.items,e);n&&!t?this.items.splice(this.items.indexOf(n),1):!n&&t&&this.items.push(new po(e))}toJSON(e,t){return super.toJSON(e,t,Set)}toString(e,t,n){if(!e)return JSON.stringify(this);if(this.hasAllNullValues(!0))return super.toString(Object.assign({},e,{allNullValues:!0}),t,n);throw Error(`Set items must all have null values`)}static from(e,t,n){let{replacer:r}=n,i=new this(e);if(t&&Symbol.iterator in Object(t))for(let e of t)typeof r==`function`&&(e=r.call(t,e,e)),i.items.push(fo(e,null,n));return i}};Oo.tag=`tag:yaml.org,2002:set`;var ko=Symbol(`break visit`),Ao=Symbol(`skip children`),jo=Symbol(`remove item`);function Mo(e,t){`type`in e&&e.type===`document`&&(e={start:e.start,value:e.value}),No(Object.freeze([]),e,t)}Mo.BREAK=ko,Mo.SKIP=Ao,Mo.REMOVE=jo,Mo.itemAtPath=(e,t)=>{let n=e;for(let[e,r]of t){let t=n?.[e];if(t&&`items`in t)n=t.items[r];else return}return n},Mo.parentCollection=(e,t)=>{let n=Mo.itemAtPath(e,t.slice(0,-1)),r=t[t.length-1][0],i=n?.[r];if(i&&`items`in i)return i;throw Error(`Parent collection not found`)};function No(e,t,n){let r=n(t,e);if(typeof r==`symbol`)return r;for(let i of[`key`,`value`]){let a=t[i];if(a&&`items`in a){for(let t=0;tLo.push(e)),q(Io,`$onPatch`,e=>Ro.push(e)),Fo(),q(Io,`$patch`,async()=>!1);var zo=T([{channels:[],enabled:!0,init(e,t,n,r=!1){let i;if(!r)i=new BroadcastChannel(e),i.addEventListener(`message`,e=>t(e.data)),this.channels.push(i);else if(r){this.listener=function(n){n&&n.key===e&&n.newValue&&t(JSON.parse(n.newValue))},window.addEventListener(`storage`,this.listener);let n=window.localStorage.getItem(e);n&&t(JSON.parse(n))}return(t,n=!1)=>{this.enabled&&(!r&&i&&!n&&i.postMessage(v(t)),r&&!n&&window.localStorage.setItem(e,JSON.stringify(t)))}},disable(){this.enabled=!1,this.channels.forEach(e=>e.close()),this.listener&&window.removeEventListener(`storage`,this.listener)}}]),Bo=new Map,Vo=g({});function Ho(e,t,n=!1){let r=[],i=!1,o=!1,s,c,l=T(t);function u(e){r.push(e)}function d(e,t){l[e]!==t&&(clearTimeout(s),i=!0,l[e]=t,s=setTimeout(()=>i=!1,0))}function f(e){i||(clearTimeout(c),o=!0,Object.entries(e).forEach(([e,t])=>{l[e]=t}),c=setTimeout(()=>o=!1,0))}function p(e){Bo.set(e,{onUpdate:f,persist:n,state:l}),Vo.value[e]=zo.map(t=>t.init(e,f,l,n)).filter(e=>!!e);function t(){Vo.value[e].forEach(e=>e?.(v(l),o)),i||r.forEach(e=>e(l))}a(l,t,{deep:!0})}return{init:p,onPatch:u,onUpdate:f,patch:d,state:l}}var{init:Uo,onPatch:Wo,onUpdate:Go,patch:Ko,state:qo}=Ho(Io,Io,!1),Jo=T({page:0,clicks:0,timer:{status:`stopped`,slides:{},startedAt:0,pausedAt:0}}),Yo=[],Xo=[];q(Jo,`$syncUp`,!0),q(Jo,`$syncDown`,!0),q(Jo,`$paused`,!1),q(Jo,`$onSet`,e=>Yo.push(e)),q(Jo,`$onPatch`,e=>Xo.push(e)),Fo(),q(Jo,`$patch`,async()=>!1);var{init:Zo,onPatch:Qo,onUpdate:$o,patch:es,state:ts}=Ho(Jo,{page:1,clicks:0,clicksTotal:0,timer:{status:`stopped`,slides:{},startedAt:0,pausedAt:0}});function ns(){let e=n().appContext.app,t=T({nav:Ki(),configs:j,themeConfigs:y(()=>j.themeConfig)});e.provide(Mr,g(`none`)),e.provide(Ar,t),e.provide(Dr,y(()=>t.nav.currentSlideNo)),e.provide(Er,_(Nt()));for(let e of He)e();let{clicksContext:r,currentSlideNo:i,hasPrimarySlide:o,isNotesViewer:s,isPresenter:c,isPrintMode:l}=Ki();Ot({title:Be,htmlAttrs:j.htmlAttrs}),Qi(),Zo(`${Be} - shared`),Uo(`${Be} - drawings`);let u=`${location.origin}_${Po()}`,d=y(()=>c.value?`presenter`:`viewer`);function f(){(c.value?Ri.value.presenterSend:Ri.value.viewerSend)&&(s.value||l.value||!c.value&&!Hr.includes(location.host.split(`:`)[0])||(es(`page`,+i.value),es(`clicks`,r.value.current),es(`clicksTotal`,r.value.total),es(`lastUpdate`,{id:u,type:d.value,time:Date.now()})))}let p=pe();p.afterEach(f),a(r,f),Qo(e=>{(c.value?Ri.value.presenterReceive:Ri.value.viewerReceive)&&(!o.value||l.value||e.lastUpdate?.type!==d.value&&(+e.page==+i.value&&+r.value.current==+e.clicks||(ai.value=!1,p.replace({path:Yr(e.page,c.value),query:{...p.currentRoute.value.query,clicks:e.clicks||0}}))))})}var rs=u({__name:`App`,setup(e){return ns(),f(()=>{for(let[e,t]of Object.entries(ze.value))document.body.style.setProperty(e,t.toString())}),(e,t)=>{let n=d(`RouterView`);return se(),E(n)}}}),is=[Object.values([])[0],Object.values([])[0]].filter(Boolean);async function as(e,t={}){let n=t.document||e.resolvedOptions.document;if(!n||!e.dirty)return;let r={shouldRender:!0,tags:[]};if(await e.hooks.callHook(`dom:beforeRender`,r),r.shouldRender)return e._domUpdatePromise||=new Promise(async t=>{let r=new Map,i=new Promise(t=>{e.resolveTags().then(e=>{t(e.map(e=>{let t=r.get(e._d)||0,n={tag:e,id:(t?`${e._d}:${t}`:e._d)||e._h,shouldRender:!0};return e._d&&st(e._d)&&r.set(e._d,t+1),n}))})}),a=e._dom;if(!a){a={title:n.title,elMap:new Map().set(`htmlAttrs`,n.documentElement).set(`bodyAttrs`,n.body)};for(let e of[`body`,`head`]){let t=n[e]?.children;for(let e of t){let t=e.tagName.toLowerCase();if(!Ge.has(t))continue;let n=ft({tag:t,props:{}},{innerHTML:e.innerHTML,...e.getAttributeNames().reduce((t,n)=>(t[n]=e.getAttribute(n),t),{})||{}});if(n.key=e.getAttribute(`data-hid`)||void 0,n._d=ct(n)||lt(n),a.elMap.has(n._d)){let t=1,r=n._d;for(;a.elMap.has(r);)r=`${n._d}:${t++}`;a.elMap.set(r,e)}else a.elMap.set(n._d,e)}}}a.pendingSideEffects={...a.sideEffects},a.sideEffects={};function o(e,t,n){let r=`${e}:${t}`;a.sideEffects[r]=n,delete a.pendingSideEffects[r]}function s({id:e,$el:t,tag:r}){let i=r.tag.endsWith(`Attrs`);a.elMap.set(e,t),i||(r.textContent&&r.textContent!==t.textContent&&(t.textContent=r.textContent),r.innerHTML&&r.innerHTML!==t.innerHTML&&(t.innerHTML=r.innerHTML),o(e,`el`,()=>{t?.remove(),a.elMap.delete(e)}));for(let a in r.props){if(!Object.prototype.hasOwnProperty.call(r.props,a))continue;let s=r.props[a];if(a.startsWith(`on`)&&typeof s==`function`){let e=t?.dataset;if(e&&e[`${a}fired`]){let e=a.slice(0,-5);s.call(t,new Event(e.substring(2)))}t.getAttribute(`data-${a}`)!==``&&((r.tag===`bodyAttrs`?n.defaultView:t).addEventListener(a.substring(2),s.bind(t)),t.setAttribute(`data-${a}`,``));continue}let c=`attr:${a}`;if(a===`class`){if(!s)continue;for(let n of s)i&&o(e,`${c}:${n}`,()=>t.classList.remove(n)),!t.classList.contains(n)&&t.classList.add(n)}else if(a===`style`){if(!s)continue;for(let[n,r]of s)o(e,`${c}:${n}`,()=>{t.style.removeProperty(n)}),t.style.setProperty(n,r)}else s!==!1&&s!==null&&(t.getAttribute(a)!==s&&t.setAttribute(a,s===!0?``:String(s)),i&&o(e,c,()=>t.removeAttribute(a)))}}let c=[],l={bodyClose:void 0,bodyOpen:void 0,head:void 0},u=await i;for(let e of u){let{tag:t,shouldRender:r,id:i}=e;if(r){if(t.tag===`title`){n.title=t.textContent,o(`title`,``,()=>n.title=a.title);continue}e.$el=e.$el||a.elMap.get(i),e.$el?s(e):Ge.has(t.tag)&&c.push(e)}}for(let e of c){let t=e.tag.tagPosition||`head`;e.$el=n.createElement(e.tag.tag),s(e),l[t]=l[t]||n.createDocumentFragment(),l[t].appendChild(e.$el)}for(let t of u)await e.hooks.callHook(`dom:renderTag`,t,n,o);l.head&&n.head.appendChild(l.head),l.bodyOpen&&n.body.insertBefore(l.bodyOpen,n.body.firstChild),l.bodyClose&&n.body.appendChild(l.bodyClose);for(let e in a.pendingSideEffects)a.pendingSideEffects[e]();e._dom=a,await e.hooks.callHook(`dom:rendered`,{renders:u}),t()}).finally(()=>{e._domUpdatePromise=void 0,e.dirty=!1}),e._domUpdatePromise}function os(e={}){let t=e.domOptions?.render||as;e.document=e.document||(typeof window<`u`?document:void 0);let n=e.document?.head.querySelector(`script[id="unhead:payload"]`)?.innerHTML||!1;return Ct({...e,plugins:[...e.plugins||[],{key:`client`,hooks:{"entries:updated":t}}],init:[n?JSON.parse(n):!1,...e.init||[]]})}function ss(e,t){let n=0;return()=>{let r=++n;t(()=>{n===r&&e()})}}function cs(e={}){let t=os({domOptions:{render:ss(()=>as(t),e=>setTimeout(e,0))},...e});return t.install=Et(t),t}function ls(e,t=``){let n=[`slidev-page`,t],r=e?.meta?.slide?.no;return r!=null&&n.push(`slidev-page-${r}`),n.filter(Boolean).join(` `)}async function us(){let{saveAs:t}=await N(async()=>{let{saveAs:t}=await import(`./modules/file-saver-DJvf_BAX.js`).then(t=>e(t.t(),1));return{saveAs:t}},__vite__mapDeps([52,2]),import.meta.url);t(typeof j.download==`string`?j.download:j.exportFilename?`${j.exportFilename}.pdf`:`./slidev-exported.pdf`,`${j.title}.pdf`)}function ds(e,t,n){return(e.instance?.$).provides[t]??n}var fs=/[\s,]+/;function ps(e,t){let n=t.map(e=>`${Br}${e}`);e.classList.forEach(t=>{t.startsWith(`slidev-vclick-anim-`)&&!n.includes(t)&&e.classList.remove(t)}),n.forEach(t=>e.classList.add(t))}function ms(){return{install(e){e.directive(`click`,{name:`v-click`,mounted(e,t){let n=gs(e,t,t.value);n!=null&&(e.classList.toggle(Fr,!0),e.dataset.slidevClicksStart=String(n.start),Number.isFinite(n.end)&&(e.dataset.slidevClicksEnd=String(n.end)),e.watchStopHandle=f(()=>{let t=n.isActive.value,r=n.isCurrent.value,i=t&&!r;n.flagHide?(e.classList.toggle(Ir,t),e.classList.toggle(Lr,t)):e.classList.toggle(Ir,!t),ps(e,n.flagAnimations.value),e.classList.toggle(Rr,r),e.classList.toggle(zr,i)}))},unmounted:_s}),e.directive(`after`,{name:`v-after`,mounted(e,t){let n=gs(e,t,`+0`);n!=null&&(e.classList.toggle(Fr,!0),e.watchStopHandle=f(()=>{let t=n.isActive.value,r=n.isCurrent.value,i=t&&!r;n.flagHide?(e.classList.toggle(Ir,t),e.classList.toggle(Lr,t)):e.classList.toggle(Ir,!t),ps(e,n.flagAnimations.value),e.classList.toggle(Rr,r),e.classList.toggle(zr,i)}))},unmounted:_s}),e.directive(`click-hide`,{name:`v-click-hide`,mounted(e,t){let n=gs(e,t,t.value,!0);n!=null&&(e.classList.toggle(Fr,!0),e.watchStopHandle=f(()=>{let t=n.isActive.value,r=n.isCurrent.value,i=t&&!r;e.classList.toggle(Ir,t),e.classList.toggle(Lr,t),ps(e,n.flagAnimations.value),e.classList.toggle(Rr,r),e.classList.toggle(zr,i)}))},unmounted:_s})}}}var hs=new Map;function gs(e,t,n,r=!1){let i=ds(t,Er)?.value,a=ds(t,Nr);if(!e||!i)return null;let o=r||t.modifiers.hide!==!1&&t.modifiers.hide!=null,s=Object.keys({...t.modifiers}).filter(e=>e!==`hide`),c=y(()=>{if(s.length>0)return s;let e=a?.clickAnimation||j.clickAnimation;return e?e.split(fs).filter(Boolean):[]}),l=i.calculate(n);if(!l)return null;i.register(e,l);let u=y(()=>o?!l.isActive.value:l.isActive.value),d=y(()=>u.value?`shown`:Number.isFinite(l.end)?i.current{setTimeout(n.update,300)},{flush:`post`,immediate:!0});return{...n,stop:r}}function ys(e){return{info:g(Jr(e)?.meta.slide??null),update:async()=>{}}}var bs={};function xs(e){function t(e){return bs[e]??=ys(e)}return{info:y({get(){return t(b(e)).info.value},set(n){t(b(e)).info.value=n}}),update:async(n,r)=>{let i=t(r??b(e)),a=await i.update(n);return a&&(i.info.value=a),a}}}function Ss(e){return()=>{}}function Cs(e,t,n,r=!1){function i(t){return e?ds(e,t):A(t)}let o=i(Mr),s=i(`$$slidev-fontmatter`)??{},c=i(Dr),l=y(()=>Ss(c.value)),u=i(`$$slidev-slide-scale`)??g(1),d=i(`$$slidev-slide-zoom`)??g(1),{left:f,top:p,stop:m}=vs(i(`$$slidev-slide-element`)??g()),{isPrintMode:h}=Ki(),_=[`slide`,`presenter`].includes(o.value)&&!h.value,v=e?`directive`:`prop`,b=Po(),x;if(Array.isArray(t)?x=t:typeof t==`string`&&t.includes(`,`)?x=t.split(`,`).map(Number):t!=null&&(v=`frontmatter`,b=`${t}`,t=s?.dragPos?.[b],x=t?.split(`,`).map(Number)),v!==`frontmatter`&&!n)throw Error("[Slidev] Can not identify the source position of the v-drag element, please provide an explicit `id` prop.");let S=[m],C=!r&&t!=null&&!Number.isFinite(x?.[3]);x??=[NaN,NaN,0];let w=g(x[2]),T=g(x[0]+x[2]/2),ee=g(r?0:x[4]??0),te=y(()=>ee.value*Math.PI/180),ne=y(()=>Math.sin(te.value)),re=y(()=>Math.cos(te.value)),ie=g(),E=g({left:0,top:0,width:0,height:0}),ae=g(0);function oe(){if(!ie.value)return;let e=ie.value.getBoundingClientRect();E.value={left:e.left/d.value,top:e.top/d.value,width:e.width/d.value,height:e.height/d.value},ae.value=(E.value.width+E.value.height)/u.value/(Math.abs(ne.value)+Math.abs(re.value))-w.value}S.push(a(w,oe,{flush:`post`}));let se=g(x[3]??0),D=C?y({get:()=>(C?ae.value:se.value)||0,set:e=>!C&&(se.value=e)}):se,ce=g(C?x[1]:x[1]+x[3]/2),le=C?y({get:()=>ce.value+D.value/2,set:e=>ce.value=e-D.value/2}):ce,ue=y(()=>Number.isFinite(T.value)?{position:`absolute`,zIndex:100,left:`${T.value-w.value/2}px`,top:`${le.value-D.value/2}px`,width:`${w.value}px`,height:C?void 0:`${D.value}px`,transformOrigin:`center center`,transform:`rotate(${ee.value}deg)`}:{position:`absolute`,zIndex:100});S.push(a([T,le,w,D,ee],([e,t,r,i,a])=>{let o=[e-r/2,t-i/2,r].map(Math.round).join();C?o+=v===`directive`?`,NaN`:`,_`:o+=`,${Math.round(i)}`,Math.round(a)!==0&&(o+=`,${Math.round(a)}`),v===`directive`&&(o=`[${o}]`),l.value(b,o,v,n)}));let O={dragId:b,dataSource:v,markdownSource:n,isArrow:r,zoom:d,autoHeight:C,x0:T,y0:le,width:w,height:D,rotate:ee,container:ie,containerStyle:ue,watchStopHandles:S,dragging:y(()=>Oi.value===O),mounted(){_&&(oe(),t||setTimeout(()=>{oe(),T.value=(E.value.left+E.value.width/2-f.value)/u.value,le.value=(E.value.top-p.value)/u.value,w.value=E.value.width/u.value,D.value=E.value.height/u.value},100))},unmounted(){_&&O.stopDragging()},startDragging(){_&&(oe(),Oi.value=O)},stopDragging(){_&&Oi.value===O&&(Oi.value=null)}};return S.push(Ce(ie,e=>{let t=document.querySelector(`#drag-control-container`);t&&e.target&&t.contains(e.target)||O.stopDragging()}),a(we(),e=>{e||O.stopDragging()})),O}function ws(){return{install(e){e.directive(`drag`,{name:`v-drag`,created(e,t,n){let r=Cs(t,t.value,n.props?.markdownSource);n.props&&(n.props={...n.props},delete n.props.markdownSource),r.container.value=e,e.draggingState=r,e.dataset.dragId=r.dragId,r.watchStopHandles.push(a(r.containerStyle,t=>{for(let[n,r]of Object.entries(t))r&&(e.style[n]=r)},{immediate:!0})),e.addEventListener(`dblclick`,r.startDragging)},mounted(e){e.draggingState.mounted()},unmounted(e){let t=e.draggingState;t.unmounted(),e.removeEventListener(`dblclick`,t.startDragging),t.watchStopHandles.forEach(e=>e())}})}}}function Ts(){return Math.floor(Math.random()*2**31)}var Es=class{constructor(e){this.seed=e}next(){return this.seed?(2**31-1&(this.seed=Math.imul(48271,this.seed)))/2**31:Math.random()}};function Ds(e,t,n){if(e&&e.length){let[r,i]=t,a=Math.PI/180*n,o=Math.cos(a),s=Math.sin(a);for(let t of e){let[e,n]=t;t[0]=(e-r)*o-(n-i)*s+r,t[1]=(e-r)*s+(n-i)*o+i}}}function Os(e,t,n){let r=[];e.forEach(e=>r.push(...e)),Ds(r,t,n)}function ks(e,t){return e[0]===t[0]&&e[1]===t[1]}function As(e,t,n,r=1){let i=n,a=Math.max(t,.1),o=e[0]&&e[0][0]&&typeof e[0][0]==`number`?[e]:e,s=[0,0];if(i)for(let e of o)Ds(e,s,i);let c=js(o,a,r);if(i){for(let e of o)Ds(e,s,-i);Os(c,s,-i)}return c}function js(e,t,n){let r=[];for(let t of e){let e=[...t];ks(e[0],e[e.length-1])||e.push([e[0][0],e[0][1]]),e.length>2&&r.push(e)}let i=[];t=Math.max(t,.1);let a=[];for(let e of r)for(let t=0;te.ymint.ymin?1:e.xt.x?1:e.ymax===t.ymax?0:(e.ymax-t.ymax)/Math.abs(e.ymax-t.ymax)),!a.length)return i;let o=[],s=a[0].ymin,c=0;for(;o.length||a.length;){if(a.length){let e=-1;for(let t=0;ts);t++)e=t;a.splice(0,e+1).forEach(e=>{o.push({s,edge:e})})}if(o=o.filter(e=>!(e.edge.ymax<=s)),o.sort((e,t)=>e.edge.x===t.edge.x?0:(e.edge.x-t.edge.x)/Math.abs(e.edge.x-t.edge.x)),(n!==1||c%t===0)&&o.length>1)for(let e=0;e=o.length)break;let n=o[e].edge,r=o[t].edge;i.push([[Math.round(n.x),s],[Math.round(r.x),s]])}s+=n,o.forEach(e=>{e.edge.x=e.edge.x+n*e.edge.islope}),c++}return i}function Ms(e,t){let n=t.hachureAngle+90,r=t.hachureGap;r<0&&(r=t.strokeWidth*4),r=Math.round(Math.max(r,.1));let i=1;return t.roughness>=1&&(t.randomizer?.next()||Math.random())>.7&&(i=r),As(e,r,n,i||1)}var Ns=class{constructor(e){this.helper=e}fillPolygons(e,t){return this._fillPolygons(e,t)}_fillPolygons(e,t){let n=Ms(e,t);return{type:`fillSketch`,ops:this.renderLines(n,t)}}renderLines(e,t){let n=[];for(let r of e)n.push(...this.helper.doubleLineOps(r[0][0],r[0][1],r[1][0],r[1][1],t));return n}};function Ps(e){let t=e[0],n=e[1];return Math.sqrt((t[0]-n[0])**2+(t[1]-n[1])**2)}var Fs=class extends Ns{fillPolygons(e,t){let n=t.hachureGap;n<0&&(n=t.strokeWidth*4),n=Math.max(n,.1);let r=Ms(e,Object.assign({},t,{hachureGap:n})),i=Math.PI/180*t.hachureAngle,a=[],o=n*.5*Math.cos(i),s=n*.5*Math.sin(i);for(let[e,t]of r)Ps([e,t])&&a.push([[e[0]-o,e[1]+s],[...t]],[[e[0]+o,e[1]-s],[...t]]);return{type:`fillSketch`,ops:this.renderLines(a,t)}}},Is=class extends Ns{fillPolygons(e,t){let n=this._fillPolygons(e,t),r=Object.assign({},t,{hachureAngle:t.hachureAngle+90}),i=this._fillPolygons(e,r);return n.ops=n.ops.concat(i.ops),n}},Ls=class{constructor(e){this.helper=e}fillPolygons(e,t){t=Object.assign({},t,{hachureAngle:0});let n=Ms(e,t);return this.dotsOnLines(n,t)}dotsOnLines(e,t){let n=[],r=t.hachureGap;r<0&&(r=t.strokeWidth*4),r=Math.max(r,.1);let i=t.fillWeight;i<0&&(i=t.strokeWidth/2);let a=r/4;for(let o of e){let e=Ps(o),s=e/r,c=Math.ceil(s)-1,l=e-c*r,u=(o[0][0]+o[1][0])/2-r/4,d=Math.min(o[0][1],o[1][1]);for(let e=0;e{let a=Ps(e),o=Math.floor(a/(n+r)),s=(a+r-o*(n+r))/2,c=e[0],l=e[1];c[0]>l[0]&&(c=e[1],l=e[0]);let u=Math.atan((l[1]-c[1])/(l[0]-c[0]));for(let e=0;e{let i=Ps(e),a=Math.round(i/(2*t)),o=e[0],s=e[1];o[0]>s[0]&&(o=e[1],s=e[0]);let c=Math.atan((s[1]-o[1])/(s[0]-o[0]));for(let e=0;er%2?e+n:e+t);a.push({key:`C`,data:e}),t=e[4],n=e[5];break}case`Q`:a.push({key:`Q`,data:[...s]}),t=s[2],n=s[3];break;case`q`:{let e=s.map((e,r)=>r%2?e+n:e+t);a.push({key:`Q`,data:e}),t=e[2],n=e[3];break}case`A`:a.push({key:`A`,data:[...s]}),t=s[5],n=s[6];break;case`a`:t+=s[5],n+=s[6],a.push({key:`A`,data:[s[0],s[1],s[2],s[3],s[4],t,n]});break;case`H`:a.push({key:`H`,data:[...s]}),t=s[0];break;case`h`:t+=s[0],a.push({key:`H`,data:[t]});break;case`V`:a.push({key:`V`,data:[...s]}),n=s[0];break;case`v`:n+=s[0],a.push({key:`V`,data:[n]});break;case`S`:a.push({key:`S`,data:[...s]}),t=s[2],n=s[3];break;case`s`:{let e=s.map((e,r)=>r%2?e+n:e+t);a.push({key:`S`,data:e}),t=e[2],n=e[3];break}case`T`:a.push({key:`T`,data:[...s]}),t=s[0],n=s[1];break;case`t`:t+=s[0],n+=s[1],a.push({key:`T`,data:[t,n]});break;case`Z`:case`z`:a.push({key:`Z`,data:[]}),t=r,n=i;break}return a}function Ys(e){let t=[],n=``,r=0,i=0,a=0,o=0,s=0,c=0;for(let{key:l,data:u}of e){switch(l){case`M`:t.push({key:`M`,data:[...u]}),[r,i]=u,[a,o]=u;break;case`C`:t.push({key:`C`,data:[...u]}),r=u[4],i=u[5],s=u[2],c=u[3];break;case`L`:t.push({key:`L`,data:[...u]}),[r,i]=u;break;case`H`:r=u[0],t.push({key:`L`,data:[r,i]});break;case`V`:i=u[0],t.push({key:`L`,data:[r,i]});break;case`S`:{let e=0,a=0;n===`C`||n===`S`?(e=r+(r-s),a=i+(i-c)):(e=r,a=i),t.push({key:`C`,data:[e,a,...u]}),s=u[0],c=u[1],r=u[2],i=u[3];break}case`T`:{let[e,a]=u,o=0,l=0;n===`Q`||n===`T`?(o=r+(r-s),l=i+(i-c)):(o=r,l=i);let d=r+2*(o-r)/3,f=i+2*(l-i)/3,p=e+2*(o-e)/3,m=a+2*(l-a)/3;t.push({key:`C`,data:[d,f,p,m,e,a]}),s=o,c=l,r=e,i=a;break}case`Q`:{let[e,n,a,o]=u,l=r+2*(e-r)/3,d=i+2*(n-i)/3,f=a+2*(e-a)/3,p=o+2*(n-o)/3;t.push({key:`C`,data:[l,d,f,p,a,o]}),s=e,c=n,r=a,i=o;break}case`A`:{let e=Math.abs(u[0]),n=Math.abs(u[1]),a=u[2],o=u[3],s=u[4],c=u[5],l=u[6];e===0||n===0?(t.push({key:`C`,data:[r,i,c,l,c,l]}),r=c,i=l):(r!==c||i!==l)&&(Qs(r,i,c,l,e,n,a,o,s).forEach(function(e){t.push({key:`C`,data:e})}),r=c,i=l);break}case`Z`:t.push({key:`Z`,data:[]}),r=a,i=o;break}n=l}return t}function Xs(e){return Math.PI*e/180}function Zs(e,t,n){return[e*Math.cos(n)-t*Math.sin(n),e*Math.sin(n)+t*Math.cos(n)]}function Qs(e,t,n,r,i,a,o,s,c,l){let u=Xs(o),d=[],f=0,p=0,m=0,h=0;if(l)[f,p,m,h]=l;else{[e,t]=Zs(e,t,-u),[n,r]=Zs(n,r,-u);let o=(e-n)/2,l=(t-r)/2,d=o*o/(i*i)+l*l/(a*a);d>1&&(d=Math.sqrt(d),i=d*i,a=d*a);let g=s===c?-1:1,_=i*i,v=a*a,y=_*v-_*l*l-v*o*o,b=_*l*l+v*o*o,x=g*Math.sqrt(Math.abs(y/b));m=x*i*l/a+(e+n)/2,h=x*-a*o/i+(t+r)/2,f=Math.asin(parseFloat(((t-h)/a).toFixed(9))),p=Math.asin(parseFloat(((r-h)/a).toFixed(9))),ep&&(f-=Math.PI*2),!c&&p>f&&(p-=Math.PI*2)}let g=p-f;if(Math.abs(g)>Math.PI*120/180){let e=p,t=n,s=r;p=c&&p>f?f+Math.PI*120/180*1:f+Math.PI*120/180*-1,n=m+i*Math.cos(p),r=h+a*Math.sin(p),d=Qs(n,r,t,s,i,a,o,0,c,[p,e,m,h])}g=p-f;let _=Math.cos(f),v=Math.sin(f),y=Math.cos(p),b=Math.sin(p),x=Math.tan(g/4),S=4/3*i*x,C=4/3*a*x,w=[e,t],T=[e+S*v,t-C*_],ee=[n+S*b,r-C*y],te=[n,r];if(T[0]=2*w[0]-T[0],T[1]=2*w[1]-T[1],l)return[T,ee,te].concat(d);{d=[T,ee,te].concat(d);let e=[];for(let t=0;t2){let i=[];for(let t=0;tMath.PI*2&&(p=0,m=Math.PI*2);let h=Math.PI*2/c.curveStepCount,g=Math.min(h/2,(m-p)/2),_=Cc(g,l,u,d,f,p,m,1,c);if(!c.disableMultiStroke){let e=Cc(g,l,u,d,f,p,m,1.5,c);_.push(...e)}return o&&(s?_.push(...vc(l,u,l+d*Math.cos(p),u+f*Math.sin(p),c),...vc(l,u,l+d*Math.cos(m),u+f*Math.sin(m),c)):_.push({op:`lineTo`,data:[l,u]},{op:`lineTo`,data:[l+d*Math.cos(p),u+f*Math.sin(p)]})),{type:`path`,ops:_}}function cc(e,t){let n=Ys(Js(qs(e))),r=[],i=[0,0],a=[0,0];for(let{key:e,data:o}of n)switch(e){case`M`:a=[o[0],o[1]],i=[o[0],o[1]];break;case`L`:r.push(...vc(a[0],a[1],o[0],o[1],t)),a=[o[0],o[1]];break;case`C`:{let[e,n,i,s,c,l]=o;r.push(...wc(e,n,i,s,c,l,a,t)),a=[c,l];break}case`Z`:r.push(...vc(a[0],a[1],i[0],i[1],t)),a=[i[0],i[1]];break}return{type:`path`,ops:r}}function lc(e,t){let n=[];for(let r of e)if(r.length){let e=t.maxRandomnessOffset||0,i=r.length;if(i>2){n.push({op:`move`,data:[r[0][0]+X(e,t),r[0][1]+X(e,t)]});for(let a=1;aMath.PI*2&&(d=0,f=Math.PI*2);let p=(f-d)/o.curveStepCount,m=[];for(let e=d;e<=f;e+=p)m.push([s+l*Math.cos(e),c+u*Math.sin(e)]);return m.push([s+l*Math.cos(f),c+u*Math.sin(f)]),m.push([s,c]),uc([m],o)}function fc(e,t){return X(e,t)}function pc(e,t,n){return _c(e,t,n)}function mc(e,t,n,r,i){return vc(e,t,n,r,i,!0)}function hc(e){let t=Object.assign({},e);return t.randomizer=void 0,e.seed&&(t.seed=e.seed+1),t}function gc(e){return e.randomizer||=new Es(e.seed||0),e.randomizer.next()}function _c(e,t,n,r=1){return n.roughness*r*(gc(n)*(t-e)+e)}function X(e,t,n=1){return _c(-e,e,t,n)}function vc(e,t,n,r,i,a=!1){let o=a?i.disableMultiStrokeFill:i.disableMultiStroke,s=yc(e,t,n,r,i,!0,!1);if(o)return s;let c=yc(e,t,n,r,i,!0,!0);return s.concat(c)}function yc(e,t,n,r,i,a,o){let s=(e-n)**2+(t-r)**2,c=Math.sqrt(s),l=1;l=c<200?1:c>500?.4:-.0016668*c+1.233334;let u=i.maxRandomnessOffset||0;u*u*100>s&&(u=c/10);let d=u/2,f=.2+gc(i)*.2,p=i.bowing*i.maxRandomnessOffset*(r-t)/200,m=i.bowing*i.maxRandomnessOffset*(e-n)/200;p=X(p,i,l),m=X(m,i,l);let h=[],g=()=>X(d,i,l),_=()=>X(u,i,l),v=i.preserveVertices;return a&&(o?h.push({op:`move`,data:[e+(v?0:g()),t+(v?0:g())]}):h.push({op:`move`,data:[e+(v?0:X(u,i,l)),t+(v?0:X(u,i,l))]})),o?h.push({op:`bcurveTo`,data:[p+e+(n-e)*f+g(),m+t+(r-t)*f+g(),p+e+2*(n-e)*f+g(),m+t+2*(r-t)*f+g(),n+(v?0:g()),r+(v?0:g())]}):h.push({op:`bcurveTo`,data:[p+e+(n-e)*f+_(),m+t+(r-t)*f+_(),p+e+2*(n-e)*f+_(),m+t+2*(r-t)*f+_(),n+(v?0:_()),r+(v?0:_())]}),h}function bc(e,t,n){if(!e.length)return[];let r=[];r.push([e[0][0]+X(t,n),e[0][1]+X(t,n)]),r.push([e[0][0]+X(t,n),e[0][1]+X(t,n)]);for(let i=1;i3){let a=[],o=1-n.curveTightness;i.push({op:`move`,data:[e[1][0],e[1][1]]});for(let t=1;t+21&&i.push(n):i.push(n),i.push(e[t+3])}else{let r=.5,a=e[t+0],o=e[t+1],s=e[t+2],c=e[t+3],l=Ac(a,o,r),u=Ac(o,s,r),d=Ac(s,c,r),f=Ac(l,u,r),p=Ac(u,d,r),m=Ac(f,p,r);Mc([a,l,f,m],0,n,i),Mc([m,p,d,c],0,n,i)}return i}function Nc(e,t){return Pc(e,0,e.length,t)}function Pc(e,t,n,r,i){let a=i||[],o=e[t],s=e[n-1],c=0,l=1;for(let r=t+1;rc&&(c=t,l=r)}return Math.sqrt(c)>r?(Pc(e,t,l+1,r,a),Pc(e,l,n,r,a)):(a.length||a.push(o),a.push(s)),a}function Fc(e,t=.15,n){let r=[],i=(e.length-1)/3;for(let n=0;n0?Pc(r,0,r.length,n):r}function Ic(e,t,n){let r=Ys(Js(qs(e))),i=[],a=[],o=[0,0],s=[],c=()=>{s.length>=4&&a.push(...Fc(s,t)),s=[]},l=()=>{c(),a.length&&(i.push(a),a=[])};for(let{key:e,data:t}of r)switch(e){case`M`:l(),o=[t[0],t[1]],a.push(o);break;case`L`:c(),a.push([t[0],t[1]]);break;case`C`:if(!s.length){let e=a.length?a[a.length-1]:o;s.push([e[0],e[1]])}s.push([t[0],t[1]]),s.push([t[2],t[3]]),s.push([t[4],t[5]]);break;case`Z`:c(),a.push([o[0],o[1]]);break}if(l(),!n)return i;let u=[];for(let e of i){let t=Nc(e,n);t.length&&u.push(t)}return u}var Z=`none`,Lc=class{constructor(e){this.defaultOptions={maxRandomnessOffset:2,roughness:1,bowing:1,stroke:`#000`,strokeWidth:1,curveTightness:0,curveFitting:.95,curveStepCount:9,fillStyle:`hachure`,fillWeight:-1,hachureAngle:-41,hachureGap:-1,dashOffset:-1,dashGap:-1,zigzagOffset:-1,seed:0,disableMultiStroke:!1,disableMultiStrokeFill:!1,preserveVertices:!1,fillShapeRoughnessGain:.8},this.config=e||{},this.config.options&&(this.defaultOptions=this._o(this.config.options))}static newSeed(){return Ts()}_o(e){return e?Object.assign({},this.defaultOptions,e):this.defaultOptions}_d(e,t,n){return{shape:e,sets:t||[],options:n||this.defaultOptions}}line(e,t,n,r,i){let a=this._o(i);return this._d(`line`,[Y(e,t,n,r,a)],a)}rectangle(e,t,n,r,i){let a=this._o(i),o=[],s=nc(e,t,n,r,a);if(a.fill){let i=[[e,t],[e+n,t],[e+n,t+r],[e,t+r]];a.fillStyle===`solid`?o.push(lc([i],a)):o.push(uc([i],a))}return a.stroke!==Z&&o.push(s),this._d(`rectangle`,o,a)}ellipse(e,t,n,r,i){let a=this._o(i),o=[],s=ac(n,r,a),c=oc(e,t,a,s);if(a.fill)if(a.fillStyle===`solid`){let n=oc(e,t,a,s).opset;n.type=`fillPath`,o.push(n)}else o.push(uc([c.estimatedPoints],a));return a.stroke!==Z&&o.push(c.opset),this._d(`ellipse`,o,a)}circle(e,t,n,r){let i=this.ellipse(e,t,n,n,r);return i.shape=`circle`,i}linearPath(e,t){let n=this._o(t);return this._d(`linearPath`,[ec(e,!1,n)],n)}arc(e,t,n,r,i,a,o=!1,s){let c=this._o(s),l=[],u=sc(e,t,n,r,i,a,o,!0,c);if(o&&c.fill)if(c.fillStyle===`solid`){let o=Object.assign({},c);o.disableMultiStroke=!0;let s=sc(e,t,n,r,i,a,!0,!1,o);s.type=`fillPath`,l.push(s)}else l.push(dc(e,t,n,r,i,a,c));return c.stroke!==Z&&l.push(u),this._d(`arc`,l,c)}curve(e,t){let n=this._o(t),r=[],i=rc(e,n);if(n.fill&&n.fill!==Z)if(n.fillStyle===`solid`){let t=rc(e,Object.assign(Object.assign({},n),{disableMultiStroke:!0,roughness:n.roughness?n.roughness+n.fillShapeRoughnessGain:0}));r.push({type:`fillPath`,ops:this._mergedShape(t.ops)})}else{let t=[],i=e;if(i.length){let e=typeof i[0][0]==`number`?[i]:i;for(let r of e)r.length<3?t.push(...r):r.length===3?t.push(...Fc(Ec([r[0],r[0],r[1],r[2]]),10,(1+n.roughness)/2)):t.push(...Fc(Ec(r),10,(1+n.roughness)/2))}t.length&&r.push(uc([t],n))}return n.stroke!==Z&&r.push(i),this._d(`curve`,r,n)}polygon(e,t){let n=this._o(t),r=[],i=ec(e,!0,n);return n.fill&&(n.fillStyle===`solid`?r.push(lc([e],n)):r.push(uc([e],n))),n.stroke!==Z&&r.push(i),this._d(`polygon`,r,n)}path(e,t){let n=this._o(t),r=[];if(!e)return this._d(`path`,r,n);e=(e||``).replace(/\n/g,` `).replace(/(-\s)/g,`-`).replace(`/(ss)/g`,` `);let i=n.fill&&n.fill!==`transparent`&&n.fill!==Z,a=n.stroke!==Z,o=!!(n.simplification&&n.simplification<1),s=o?4-4*(n.simplification||1):(1+n.roughness)/2,c=Ic(e,1,s),l=cc(e,n);if(i)if(n.fillStyle===`solid`)if(c.length===1){let t=cc(e,Object.assign(Object.assign({},n),{disableMultiStroke:!0,roughness:n.roughness?n.roughness+n.fillShapeRoughnessGain:0}));r.push({type:`fillPath`,ops:this._mergedShape(t.ops)})}else r.push(lc(c,n));else r.push(uc(c,n));return a&&(o?c.forEach(e=>{r.push(ec(e,!1,n))}):r.push(l)),this._d(`path`,r,n)}opsToPath(e,t){let n=``;for(let r of e.ops){let e=typeof t==`number`&&t>=0?r.data.map(e=>+e.toFixed(t)):r.data;switch(r.op){case`move`:n+=`M${e[0]} ${e[1]} `;break;case`bcurveTo`:n+=`C${e[0]} ${e[1]}, ${e[2]} ${e[3]}, ${e[4]} ${e[5]} `;break;case`lineTo`:n+=`L${e[0]} ${e[1]} `;break}}return n.trim()}toPaths(e){let t=e.sets||[],n=e.options||this.defaultOptions,r=[];for(let e of t){let t=null;switch(e.type){case`path`:t={d:this.opsToPath(e),stroke:n.stroke,strokeWidth:n.strokeWidth,fill:Z};break;case`fillPath`:t={d:this.opsToPath(e),stroke:Z,strokeWidth:0,fill:n.fill||Z};break;case`fillSketch`:t=this.fillSketch(e,n);break}t&&r.push(t)}return r}fillSketch(e,t){let n=t.fillWeight;return n<0&&(n=t.strokeWidth/2),{d:this.opsToPath(e),stroke:t.fill||Z,strokeWidth:n,fill:Z}}_mergedShape(e){return e.filter((e,t)=>t===0?!0:e.op!==`move`)}},Rc=`http://www.w3.org/2000/svg`,zc=800,Bc=null;function Vc(){return Bc||=new Lc().defaultOptions,Bc}function Hc(e,t,n){return{...Vc(),maxRandomnessOffset:2,roughness:e===`highlight`?3:1.5,bowing:1,stroke:`#000`,strokeWidth:1.5,curveTightness:0,curveFitting:.95,curveStepCount:9,fillStyle:`hachure`,fillWeight:-1,hachureAngle:-41,hachureGap:-1,dashOffset:-1,dashGap:-1,zigzagOffset:-1,disableMultiStroke:e!==`double`,disableMultiStrokeFill:!1,seed:t,...n}}function Uc(e){let t=e.padding;if(t||t===0){if(typeof t==`number`)return[t,t,t,t];if(Array.isArray(t)){let e=t;if(e.length)switch(e.length){case 4:return[...e];case 1:return[e[0],e[0],e[0],e[0]];case 2:return[...e,...e];case 3:return[...e,e[1]];default:return[e[0],e[1],e[2],e[3]]}}}return[5,5,5,5]}function Wc(e,t,n,r,i,a){let o=[],s=n.strokeWidth||2,c=Uc(n),l=n.animate===void 0?!0:!!n.animate,u=n.iterations||2,d=+!!n.rtl,f=Hc(`single`,a,n);switch(n.type){case`underline`:{let e=t.y+t.h+c[2];for(let n=d;ne.setAttribute(t,n);for(let r of t){let t=document.createElementNS(Rc,`path`);if(d(t,`d`,r),d(t,`fill`,`none`),d(t,`stroke`,n.color||`currentColor`),d(t,`stroke-width`,`${s}`),n.opacity!==void 0&&d(t,`style`,`opacity:${n.opacity}`),l){let e=t.getTotalLength();a.push(e),u+=e}e.appendChild(t),c.push(t)}if(l){let e=0;for(let t=0;tsetTimeout(t,e))}function Kc(e){let t=[];for(let n of e){let e=``;for(let r of n.ops){let n=r.data;switch(r.op){case`move`:e.trim()&&t.push(e.trim()),e=`M${n[0]} ${n[1]} `;break;case`bcurveTo`:e+=`C${n[0]} ${n[1]}, ${n[2]} ${n[3]}, ${n[4]} ${n[5]} `;break;case`lineTo`:e+=`L${n[0]} ${n[1]} `;break}}e.trim()&&t.push(e.trim())}return t}function qc(){if(!window.__rno_kf_s){let e=window.__rno_kf_s=document.createElement(`style`);e.textContent=`@keyframes rough-notation-dash { to { stroke-dashoffset: 0; } }`,document.head.appendChild(e)}}var Jc=Object.defineProperty,Yc=(e,t,n)=>t in e?Jc(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Q=(e,t,n)=>(Yc(e,typeof t==`symbol`?t:t+``,n),n),Xc=class{constructor(e,t){Q(this,`_state`,`unattached`),Q(this,`_config`),Q(this,`_resizing`,!1),Q(this,`_ro`),Q(this,`_seed`,Ts()),Q(this,`_e`),Q(this,`_svg`),Q(this,`_lastSizes`,[]),Q(this,`_animationDelay`,0),Q(this,`_resizeListener`,()=>{this._resizing||(this._resizing=!0,setTimeout(()=>{this._resizing=!1,this._state===`showing`&&this.haveRectsChanged()&&this.show()},400))}),Q(this,`pendingRefresh`),this._e=e,this._config=JSON.parse(JSON.stringify(t)),this.attach()}getConfig(e){return this._config[e]}setConfig(e,t){this._config[e]!==t&&(this._config[e]=t,this.refresh())}get animate(){return this._config.animate}set animate(e){this._config.animate=e}get animationDuration(){return this._config.animationDuration}set animationDuration(e){this._config.animationDuration=e}get iterations(){return this._config.iterations}set iterations(e){this._config.iterations=e}get color(){return this._config.color}set color(e){this._config.color!==e&&(this._config.color=e,this.refresh())}get class(){return this._config.class}set class(e){this._config.class!==e&&(this._config.class=e,this._svg&&this._svg.setAttribute(`class`,[`rough-annotation`,this._config.class||``].filter(Boolean).join(` `)))}get strokeWidth(){return this._config.strokeWidth}set strokeWidth(e){this._config.strokeWidth!==e&&(this._config.strokeWidth=e,this.refresh())}get padding(){return this._config.padding}set padding(e){this._config.padding!==e&&(this._config.padding=e,this.refresh())}attach(){if(this._state===`unattached`&&this._e.parentElement){qc();let e=this._svg=document.createElementNS(Rc,`svg`);e.setAttribute(`class`,[`rough-annotation`,this._config.class||``].filter(Boolean).join(` `));let t=e.style;t.position=`absolute`,t.top=`0`,t.left=`0`,t.overflow=`visible`,t.pointerEvents=`none`,t.width=`100px`,t.height=`100px`;let n=this._config.type===`highlight`;if(this._e.insertAdjacentElement(n?`beforebegin`:`afterend`,e),this._state=`not-showing`,n){let e=window.getComputedStyle(this._e).position;(!e||e===`static`)&&(this._e.style.position=`relative`)}this.attachListeners()}}detachListeners(){window.removeEventListener(`resize`,this._resizeListener),this._ro&&this._ro.unobserve(this._e)}attachListeners(){this.detachListeners(),window.addEventListener(`resize`,this._resizeListener,{passive:!0}),!this._ro&&`ResizeObserver`in window&&(this._ro=new window.ResizeObserver(e=>{for(let t of e)t.contentRect&&this._resizeListener()})),this._ro&&this._ro.observe(this._e)}haveRectsChanged(){if(this._lastSizes.length){let e=this.rects();if(e.length===this._lastSizes.length){for(let t=0;tMath.round(e)===Math.round(t);return n(e.x,t.x)&&n(e.y,t.y)&&n(e.w,t.w)&&n(e.h,t.h)}isShowing(){return this._state!==`not-showing`}refresh(){this.isShowing()&&!this.pendingRefresh&&(this.pendingRefresh=Promise.resolve().then(()=>{this.isShowing()&&this.show(),delete this.pendingRefresh}))}async show(){switch(this._state){case`unattached`:break;case`showing`:this.hide(),this._svg&&await this.render(this._svg,!0);break;case`not-showing`:this.attach(),this._svg&&await this.render(this._svg,!1);break}}hide(){if(this._svg)for(;this._svg.lastChild;)this._svg.removeChild(this._svg.lastChild);this._state=`not-showing`}remove(){this._svg&&this._svg.parentElement&&this._svg.parentElement.removeChild(this._svg),this._svg=void 0,this._state=`unattached`,this.detachListeners()}async render(e,t){let n=this._config;t&&(n=JSON.parse(JSON.stringify(this._config)),n.animate=!1);let r=this.rects(),i=0;r.forEach(e=>i+=e.w);let a=n.animationDuration||zc,o=0,s=[];for(let t=0;tObject.assign(e,{type:`box`}),circle:e=>Object.assign(e,{type:`circle`}),underline:e=>Object.assign(e,{type:`underline`}),highlight:e=>Object.assign(e,{type:`highlight`}),"strike-through":e=>Object.assign(e,{type:`strike-through`}),"crossed-off":e=>Object.assign(e,{type:`crossed-off`}),bracket:e=>Object.assign(e,{type:`bracket`}),strike:e=>Object.assign(e,{type:`strike-through`}),cross:e=>Object.assign(e,{type:`crossed-off`}),crossed:e=>Object.assign(e,{type:`crossed-off`}),linethrough:e=>Object.assign(e,{type:`strike-through`}),"line-through":e=>Object.assign(e,{type:`strike-through`}),black:e=>$(e,`text-black`),blue:e=>$(e,`text-blue`),cyan:e=>$(e,`text-cyan`),gray:e=>$(e,`text-gray`),green:e=>$(e,`text-green`),indigo:e=>$(e,`text-indigo`),lime:e=>$(e,`text-lime`),orange:e=>$(e,`text-orange`),pink:e=>$(e,`text-pink`),purple:e=>$(e,`text-purple`),red:e=>$(e,`text-red`),teal:e=>$(e,`text-teal`),white:e=>$(e,`text-white`),yellow:e=>$(e,`text-yellow`)},$c=[[/^delay-?(\d+)?$/,(e,t,n)=>(t.delay=(e[1]?Number.parseInt(e[1]):n)||300,t)],[/^(?:op|opacity)-?(\d+)?$/,(e,t,n)=>(t.opacity=((e[1]?Number.parseInt(e[1]):n)||100)/100,t)]];function el(){return{install(e){e.directive(`mark`,{name:`v-mark`,mounted:(e,t)=>{let{isPrintMode:n}=Ki(),r=y(()=>{let e=typeof t.value==`object`&&!Array.isArray(t.value)?{...t.value}:{at:t.value},r={at:e.at},i=Object.entries(t.modifiers).filter(([e,t])=>{if(Qc[e])return r=Qc[e](r,t),!1;for(let[n,i]of $c){let a=e.match(n);if(a)return r=i(a,r,t),!1}return!0});i.length&&console.warn(`[Slidev] Invalid modifiers for v-mark:`,i);let a={...r,...e};return a.type||=`underline`,n.value&&(a.animationDuration=1),a}),i=Zc(e,r.value),a=gs(e,t,r.value.at);if(!a){i.show();return}e.watchStopHandle=f(()=>{let e;r.value.class&&(i.class=r.value.class),r.value.color&&(i.color=r.value.color);let t=r.value.at;e=t===!0?!0:t===!1?!1:a.isActive.value,e!=null&&(e?i.show():i.hide())})},unmounted:e=>{e.watchStopHandle?.()}})}}}function tl(){return{install(e){let t=ye();e.directive(`motion`,{name:`v-motion`,mounted(e,n,r,i){let o=ds(n,Er),s=ds(n,Dr),c=ds(n,Mr),{currentPage:l,clicks:u,isPrintMode:d}=Ki(),f=r.props={...r.props},p={...f.initial,...f.variants?.[`slidev-initial`]},m={...f.enter,...f.variants?.[`slidev-enter`]},h={...f.leave,...f.variants?.[`slidev-leave`]};delete f.initial,delete f.enter,delete f.leave;let g=`${Po()}-`,_=[];for(let e of Object.keys(f))if(e.startsWith(`click-`)){let t=e.slice(6),n=t.includes(`-`)?t.split(`-`).map(Number):+t,r=g+t;_.push({id:r,at:n,variant:{...f[e]},info:o?.value.calculate(n)}),delete f[e]}_.sort((e,t)=>(Array.isArray(e.at)?e.at[0]:e.at)-(Array.isArray(t.at)?t.at[0]:t.at)),t.created(e,n,r,i),t.mounted(e,n,r,i);let v=e.motionInstance;v.clickIds=_.map(e=>e.id),v.set(p),v.watchStopHandle=a([s,l,u].filter(Boolean),()=>{let t=hs.get(e)?.visibilityState.value??`shown`;if(!o?.value||![`slide`,`presenter`].includes(c?.value??``)){let e={...p,...m};for(let{variant:t}of _)Object.assign(e,t);v.set(e)}else if(d.value||s?.value===l.value)if(t===`shown`){let e={...p,...m};for(let{variant:t,info:n}of _)(!n||n.isActive.value)&&Object.assign(e,t);d.value?v.set(e):v.apply(e)}else v.apply(t===`before`?p:h);else v.apply((s?.value??-1)>l.value?p:h)},{immediate:!0})},unmounted(e){e.motionInstance.watchStopHandle()}})}}}function nl(e){return e}var rl=nl(e=>{if(!e.some(e=>e.path===`/print`)){let t=e.findIndex(e=>e.name===`NotFound`);e.splice(t>=0?t:e.length,0,{name:`print`,path:`/print`,component:()=>N(()=>import(`./slidev/print-BBsWBbHc.js`),__vite__mapDeps([53,54,1,2,3,10,55,56]),import.meta.url)})}return e}),il=[Object.values([])[0],Object.values([rl])[0]].filter(Boolean);function al(){let e=[];function t(e){if(!j.remote||j.remote===e.query.password)return!0;if(j.remote&&e.query.password===void 0){let e=prompt(`Enter password`);if(j.remote===e)return!0}return e.params.no?{path:`/${e.params.no}`}:{path:``}}return e.push({name:`entry`,path:`/entry`,component:()=>N(()=>import(`./slidev/entry-CH3pAsyP.js`),__vite__mapDeps([57,1,2,3,58]),import.meta.url),beforeEnter:t},{name:`overview`,path:`/overview`,component:()=>N(()=>import(`./slidev/overview-Bk3S41zn.js`),__vite__mapDeps([59,60,1,2,3,10,61,54,55,62,63,64,9,65,66,67]),import.meta.url),beforeEnter:t},{name:`notes`,path:`/notes`,component:()=>N(()=>import(`./slidev/notes-B1zxkKYD.js`),__vite__mapDeps([68,1,2,3,69,10,62,63,65,70]),import.meta.url),beforeEnter:t},{name:`notes-edit`,path:`/notes-edit`,component:()=>N(()=>import(`./slidev/notes-edit-By5o5rlc.js`),__vite__mapDeps([71,1,2,3,65,70,10]),import.meta.url),beforeEnter:t},{name:`presenter`,path:`/presenter/:no`,component:()=>N(()=>import(`./slidev/presenter-Dmq3UP5q.js`),__vite__mapDeps([72,60,1,2,3,10,61,73,54,55,9,64,65,74,69,62,63,75,76,66,77]),import.meta.url),beforeEnter:t},{path:`/presenter`,redirect:{path:`/presenter/1`}}),e.push({name:`play`,path:`/:no`,component:()=>N(()=>import(`./slidev/play-gDJClcOx.js`),__vite__mapDeps([78,60,1,2,3,10,61,73,54,55,9,64,65,74,70,67,79]),import.meta.url)},{path:``,redirect:{path:`/1`}},{path:`/:pathMatch(.*)*`,name:`NotFound`,component:()=>N(()=>import(`./slidev/404-DNBeJd0_.js`),__vite__mapDeps([80,1,2,3,10,81]),import.meta.url)}),il.reduce((e,t)=>t(e),e)}async function ol(e){function t(){document.documentElement.style.setProperty(`--vh`,`${window.innerHeight*.01}px`)}t(),window.addEventListener(`resize`,t);let n=de({history:Ee(`./`),routes:al()});e.use(n),e.use(cs()),e.use(ms()),e.use(el()),e.use(ws()),e.use(tl()),e.use(ie,{container:`#twoslash-container`});let r={app:e,router:n};for(let e of is)await e(r)}async function sl(){let e=re(rs);await ol(e),e.mount(`#app`)}sl();export{Jr as $,gi as A,j as At,ni as B,oi as C,Ve as Ct,ai as D,Be as Dt,bi as E,Le as Et,ki as F,Ri as G,xi as H,si as I,Pi as J,Li as K,li as L,pi as M,fi as N,Fi as O,De as Ot,Ai as P,di as Q,wi as R,Ii as S,Fe as St,Ni as T,Re as Tt,ti as U,ii as V,vi as W,ji as X,Mi as Y,yi as Z,Ki as _,N as _t,ls as a,Vr as at,ui as b,Nt as bt,Wo as c,Nr as ct,q as d,Or as dt,Yr as et,Fo as f,kr as ft,Wi as g,I as gt,Zi as h,wr as ht,us as i,Kr as it,_i as j,Ti as k,Me as kt,Ko as l,Mr as lt,Xi as m,Ar as mt,ys as n,Zr as nt,ts as o,Er as ot,Yi as p,Pr as pt,Ci as q,vs as r,qr as rt,qo as s,Dr as st,xs as t,Xr as tt,Ho as u,jr as ut,Oi as v,Pt as vt,mi as w,Ie as wt,Si as x,Ot as xt,hi as y,Mt as yt,ri as z}; \ No newline at end of file diff --git a/2026/aidevcon-london/assets/index-zlFssJbf.css b/2026/aidevcon-london/assets/index-zlFssJbf.css new file mode 100644 index 0000000000000000000000000000000000000000..6a9e87112632477234745bd5a9ea576c3ee979a9 --- /dev/null +++ b/2026/aidevcon-london/assets/index-zlFssJbf.css @@ -0,0 +1 @@ +*,:before,:after{box-sizing:border-box;border-style:solid;border-width:0;border-color:var(--un-default-border-color,#e5e7eb)}:before,:after{--un-content:""}html,:host{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}body{line-height:inherit;margin:0}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-feature-settings:normal;font-variation-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}*,:before,:after,::backdrop{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 #0000;--un-ring-shadow:0 0 #0000;--un-shadow-inset: ;--un-shadow:0 0 #0000;--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:#93c5fd80;--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }.prose{color:var(--un-prose-body);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--un-prose-lead);margin-top:1.2em;margin-bottom:1.2em;font-size:1.25em;line-height:1.6}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--un-prose-links);font-weight:500;text-decoration:underline}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--un-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em;list-style-type:decimal}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em;list-style-type:disc}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--un-prose-counters);font-weight:400}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--un-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--un-prose-headings);margin-top:1.25em;font-weight:600}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--un-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--un-prose-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--un-prose-quote-borders);quotes:"“""”""‘""’";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em;font-style:italic;font-weight:500}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--un-prose-headings);margin-top:0;margin-bottom:.888889em;font-size:2.25em;font-weight:800;line-height:1.11111}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:900}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--un-prose-headings);margin-top:2em;margin-bottom:1em;font-size:1.5em;font-weight:700;line-height:1.33333}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:800}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--un-prose-headings);margin-top:1.6em;margin-bottom:.6em;font-size:1.25em;font-weight:600;line-height:1.6}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--un-prose-headings);margin-top:1.5em;margin-bottom:.5em;font-weight:600;line-height:1.5}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em;display:block}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--un-prose-kbd);box-shadow:0 0 0 1px rgb(var(--un-prose-kbd-shadows) / 10%), 0 3px 0 rgb(var(--un-prose-kbd-shadows) / 10%);padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;border-radius:.3125rem;padding-inline-start:.375em;font-family:inherit;font-size:.875em;font-weight:500}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--un-prose-code);font-size:.875em;font-weight:600}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before,.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--un-prose-pre-code);background-color:var(--un-prose-pre-bg);padding-top:.857143em;padding-inline-end:1.14286em;padding-bottom:.857143em;border-radius:.375rem;margin-top:1.71429em;margin-bottom:1.71429em;padding-inline-start:1.14286em;font-size:.875em;font-weight:400;line-height:1.71429;overflow-x:auto}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit;background-color:#0000;border-width:0;border-radius:0;padding:0}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before,.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){table-layout:auto;width:100%;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.71429}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--un-prose-th-borders)}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--un-prose-headings);vertical-align:bottom;padding-inline-end:.571429em;padding-bottom:.571429em;padding-inline-start:.571429em;font-weight:600}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--un-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--un-prose-th-borders)}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--un-prose-captions);margin-top:.857143em;font-size:.875em;line-height:1.42857}.prose{font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where():not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.571429em;padding-inline-end:.571429em;padding-bottom:.571429em;padding-inline-start:.571429em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where():not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose{--un-prose-body:#374151;--un-prose-invert-body:#d1d5db;--un-prose-headings:#111827;--un-prose-invert-headings:white;--un-prose-lead:#4b5563;--un-prose-invert-lead:#9ca3af;--un-prose-links:#111827;--un-prose-invert-links:white;--un-prose-bold:#111827;--un-prose-invert-bold:white;--un-prose-counters:#6b7280;--un-prose-invert-counters:#9ca3af;--un-prose-bullets:#d1d5db;--un-prose-invert-bullets:#4b5563;--un-prose-hr:#e5e7eb;--un-prose-invert-hr:#374151;--un-prose-quotes:#111827;--un-prose-invert-quotes:#f3f4f6;--un-prose-quote-borders:#e5e7eb;--un-prose-invert-quote-borders:#374151;--un-prose-captions:#6b7280;--un-prose-invert-captions:#9ca3af;--un-prose-kbd:#111827;--un-prose-invert-kbd:white;--un-prose-kbd-shadows:#111827;--un-prose-invert-kbd-shadows:white;--un-prose-code:#111827;--un-prose-invert-code:white;--un-prose-pre-code:#e5e7eb;--un-prose-invert-pre-code:#d1d5db;--un-prose-pre-bg:#1f2937;--un-prose-invert-pre-bg:#00000080;--un-prose-th-borders:#d1d5db;--un-prose-invert-th-borders:#4b5563;--un-prose-td-borders:#e5e7eb;--un-prose-invert-td-borders:#374151}.dark .dark\:prose-invert{--un-prose-body:var(--un-prose-invert-body);--un-prose-headings:var(--un-prose-invert-headings);--un-prose-lead:var(--un-prose-invert-lead);--un-prose-links:var(--un-prose-invert-links);--un-prose-bold:var(--un-prose-invert-bold);--un-prose-counters:var(--un-prose-invert-counters);--un-prose-bullets:var(--un-prose-invert-bullets);--un-prose-hr:var(--un-prose-invert-hr);--un-prose-quotes:var(--un-prose-invert-quotes);--un-prose-quote-borders:var(--un-prose-invert-quote-borders);--un-prose-captions:var(--un-prose-invert-captions);--un-prose-kbd:var(--un-prose-invert-kbd);--un-prose-kbd-shadows:var(--un-prose-invert-kbd-shadows);--un-prose-code:var(--un-prose-invert-code);--un-prose-pre-code:var(--un-prose-invert-pre-code);--un-prose-pre-bg:var(--un-prose-invert-pre-bg);--un-prose-th-borders:var(--un-prose-invert-th-borders);--un-prose-td-borders:var(--un-prose-invert-td-borders)}.container{width:100%}.z-context-menu{z-index:60}.z-label,[z-label=""]{z-index:40}.z-menu{z-index:20}.z-modal{z-index:70}.z-nav{z-index:50}.slidev-glass-effect{--un-bg-opacity:1;background-color:rgb(255 255 255/var(--un-bg-opacity)) ;--un-shadow:var(--un-shadow-inset) 0 20px 25px -5px var(--un-shadow-color,#0000001a),var(--un-shadow-inset) 0 8px 10px -6px var(--un-shadow-color,#0000001a);box-shadow:var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow);--un-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--un-backdrop-blur) var(--un-backdrop-brightness) var(--un-backdrop-contrast) var(--un-backdrop-grayscale) var(--un-backdrop-hue-rotate) var(--un-backdrop-invert) var(--un-backdrop-opacity) var(--un-backdrop-saturate) var(--un-backdrop-sepia);backdrop-filter:var(--un-backdrop-blur) var(--un-backdrop-brightness) var(--un-backdrop-contrast) var(--un-backdrop-grayscale) var(--un-backdrop-hue-rotate) var(--un-backdrop-invert) var(--un-backdrop-opacity) var(--un-backdrop-saturate) var(--un-backdrop-sepia);border-width:1px;border-color:#9ca3af33;--un-bg-opacity:.75!important}.border-main,.dark [border~=dark\:main],.dark [dark\:border~=main],[border-main=""],[border~=main]{border-color:#9ca3af33}.border-primary,.hover\:border-primary:hover{border-color:var(--slidev-theme-primary)}.bg-active{background-color:#9ca3af1a}.bg-main,[bg-main=""]{--un-bg-opacity:1;background-color:rgb(255 255 255/var(--un-bg-opacity)) }.dark .bg-main,.dark .slidev-glass-effect,.dark [bg-main=""]{--un-bg-opacity:1;background-color:rgb(18 18 18/var(--un-bg-opacity)) }.bg-primary,[bg-primary=""]{background-color:var(--slidev-theme-primary) }.hover\:bg-active:hover,[hover\:bg-active=""]:hover{background-color:#9ca3af1a}.dark .text-main,.dark [text-main=""]{--un-text-opacity:1;color:rgb(221 221 221/var(--un-text-opacity)) }.text-main,[text-main=""]{--un-text-opacity:1;color:rgb(24 24 24/var(--un-text-opacity)) }.text-primary,[text-primary=""]{color:var(--slidev-theme-primary) }@media print{.print-container{width:100%}}@media (width>=640px){.container{max-width:640px}@media print{.print-container{max-width:640px}}}@media (width>=768px){.container{max-width:768px}@media print{.print-container{max-width:768px}}}@media (width>=1024px){.container{max-width:1024px}@media print{.print-container{max-width:1024px}}}@media (width>=1280px){.container{max-width:1280px}@media print{.print-container{max-width:1280px}}}@media (width>=1536px){.container{max-width:1536px}@media print{.print-container{max-width:1536px}}}.shiki-magic-move-container{white-space:pre;position:relative}.shiki-magic-move-line-number{opacity:.3;-webkit-user-select:none;user-select:none}.shiki-magic-move-item{transition:color var(--smm-duration,.5s) var(--smm-easing,"ease");display:inline-block}.shiki-magic-move-enter-active,.shiki-magic-move-leave-active,.shiki-magic-move-move{transition:all var(--smm-duration,.5s) var(--smm-easing,"ease")}.shiki-magic-move-container-resize,.shiki-magic-move-container-restyle{transition:all var(--smm-duration,.5s) var(--smm-easing,"ease");transition-delay:calc(var(--smm-duration,.5s)*var(--smm-delay-container,1))}.shiki-magic-move-move{transition-delay:calc(var(--smm-duration,.5s)*var(--smm-delay-move,1) + var(--smm-stagger,0));z-index:1}.shiki-magic-move-enter-active{transition-delay:calc(var(--smm-duration,.5s)*var(--smm-delay-enter,1) + var(--smm-stagger,0));z-index:1}.shiki-magic-move-leave-active{transition-delay:calc(var(--smm-duration,.5s)*var(--smm-delay-leave,1) + var(--smm-stagger,0))}.shiki-magic-move-enter-from,.shiki-magic-move-leave-to{opacity:0}br.shiki-magic-move-leave-active{display:none}:root{--color-note:#0969da;--color-tip:#1a7f37;--color-warning:#9a6700;--color-severe:#bc4c00;--color-caution:#d1242f;--color-important:#8250df}@media (prefers-color-scheme:dark){:root{--color-note:#2f81f7;--color-tip:#3fb950;--color-warning:#d29922;--color-severe:#db6d28;--color-caution:#f85149;--color-important:#a371f7}}.markdown-alert{color:inherit;border-left:.25em solid #888;margin-bottom:16px;padding:.5rem 1rem}.markdown-alert>:first-child{margin-top:0}.markdown-alert>:last-child{margin-bottom:0}.markdown-alert .markdown-alert-title{align-items:center;font-weight:500;line-height:1;display:flex}.markdown-alert .markdown-alert-title .octicon{vertical-align:text-bottom;fill:currentColor;margin-right:.5rem;display:inline-block;overflow:visible!important}.markdown-alert.markdown-alert-note{border-left-color:var(--color-note)}.markdown-alert.markdown-alert-note .markdown-alert-title{color:var(--color-note)}.markdown-alert.markdown-alert-important{border-left-color:var(--color-important)}.markdown-alert.markdown-alert-important .markdown-alert-title{color:var(--color-important)}.markdown-alert.markdown-alert-warning{border-left-color:var(--color-warning)}.markdown-alert.markdown-alert-warning .markdown-alert-title{color:var(--color-warning)}.markdown-alert.markdown-alert-tip{border-left-color:var(--color-tip)}.markdown-alert.markdown-alert-tip .markdown-alert-title{color:var(--color-tip)}.markdown-alert.markdown-alert-caution{border-left-color:var(--color-caution)}.markdown-alert.markdown-alert-caution .markdown-alert-title{color:var(--color-caution)}:root{--slidev-code-background:#f5f5f5;--slidev-code-foreground:#1b1b1b;--slidev-code-font-family:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--slidev-code-padding:8px;--slidev-code-font-size:12px;--slidev-code-line-height:18px;--slidev-code-radius:4px;--slidev-code-margin:4px 0;--slidev-theme-primary:#3ab9d5;--slidev-transition-duration:.5s;--slidev-slide-container-background:black;--slidev-controls-foreground:white;--slidev-code-tab-divider:#e5e5e5;--slidev-code-tab-text-color:#67676c;--slidev-code-tab-font-size:12px;--slidev-code-tab-active-text-color:#3c3c43}html.dark{--slidev-code-background:#1b1b1b;--slidev-code-foreground:#eee;--slidev-code-tab-divider:#222;--slidev-code-tab-text-color:#98989f;--slidev-code-tab-active-text-color:#dfdfd6}html,body,#app,#page-root{width:100%;height:100vh;height:calc(var(--vh,1vh) * 100);-webkit-print-color-adjust:exact;print-color-adjust:exact;--un-bg-opacity:1;background-color:rgb(255 255 255/var(--un-bg-opacity)) ;margin:0;padding:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;overflow:hidden}.dark html,.dark body,.dark #app,.dark #page-root{--un-bg-opacity:1;background-color:rgb(18 18 18/var(--un-bg-opacity)) }html{background:0 0}.slidev-icon-btn{aspect-ratio:1;-webkit-user-select:none;user-select:none;cursor:pointer;vertical-align:middle;opacity:.75;border-radius:.25rem;outline:none;justify-content:center;align-items:center;padding:.25rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1);display:inline-flex;position:relative}@media (width>=768px){.slidev-icon-btn{padding:.5rem}}.slidev-icon-btn:hover{--un-bg-opacity:.1;background-color:rgb(156 163 175/var(--un-bg-opacity)) ;opacity:1}.slidev-icon-btn:focus-visible{opacity:1;--un-outline-color-opacity:1;outline-width:2px;outline-color:rgb(0 0 0/var(--un-outline-color-opacity)) ;outline-offset:2px;outline-style:solid}.dark .slidev-icon-btn:focus-visible{--un-outline-color-opacity:1;outline-color:rgb(255 255 255/var(--un-outline-color-opacity)) }.slidev-icon-btn.shallow{opacity:.3}.slidev-icon-btn.active{opacity:1}.slidev-icon-btn.disabled{opacity:.25;pointer-events:none}.slidev-layout a.slidev-icon-btn{border-style:none}.slidev-layout a.slidev-icon-btn:hover{--un-text-opacity:1;color:rgb(255 255 255/var(--un-text-opacity)) ;border-style:none}.slidev-icon{vertical-align:sub;line-height:1em;display:inline-block}.slidev-page{width:100%;position:relative;top:0;left:0;right:0}.slidev-note-with-clicks .slidev-note-fade{color:#888c}.dark .slidev-note-with-clicks .slidev-note-fade{color:#a1a1a1cc}.slidev-note-click-mark{-webkit-user-select:none;user-select:none;--un-text-opacity:1;color:rgb(167 139 250/var(--un-text-opacity)) ;background-color:#a78bfa1a;border-width:1px;border-color:#0000;border-radius:.25rem;align-items:center;padding-left:.25rem;padding-right:.25rem;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.7em;display:inline-flex}.slidev-note-click-mark.slidev-note-click-mark-active{--un-border-opacity:1;border-width:1px;border-color:rgb(167 139 250/var(--un-border-opacity))}.slidev-note-click-mark.slidev-note-click-mark-past{filter:saturate(0);opacity:.5}.slidev-note-click-mark.slidev-note-click-mark-future{opacity:.5}.slidev-note-click-mark:before{content:"";--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' width='1.2em' height='1.2em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M23 28a1 1 0 0 1-.71-.29l-6.13-6.14l-3.33 5a1 1 0 0 1-1 .44a1 1 0 0 1-.81-.7l-6-20A1 1 0 0 1 6.29 5l20 6a1 1 0 0 1 .7.81a1 1 0 0 1-.44 1l-5 3.33l6.14 6.13a1 1 0 0 1 0 1.42l-4 4A1 1 0 0 1 23 28m0-2.41L25.59 23l-7.16-7.15l5.25-3.5L7.49 7.49l4.86 16.19l3.5-5.25Z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;opacity:.8;background-color:currentColor;width:1.2em;height:1.2em;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%}.slidev-note-click-mark:after{content:attr(data-clicks);display:inline-block;transform:translateY(.1em)}.slidev-form-button{--un-text-opacity:1;color:rgb(255 255 255/var(--un-text-opacity)) ;--un-border-opacity:1;border-bottom-width:2px;border-color:rgb(55 65 81/var(--un-border-opacity));--un-bg-opacity:1;background-color:rgb(107 114 128/var(--un-bg-opacity)) ;border-radius:.25rem;padding:.25rem 1rem}.slidev-form-button:hover{--un-border-opacity:1;border-color:rgb(75 85 99/var(--un-border-opacity));--un-bg-opacity:1;background-color:rgb(156 163 175/var(--un-bg-opacity)) }.slidev-form-button.primary{--un-border-opacity:1;border-color:rgb(17 94 89/var(--un-border-opacity));--un-bg-opacity:1;background-color:rgb(13 148 136/var(--un-bg-opacity)) }.slidev-form-button.primary:hover{--un-border-opacity:1;border-color:rgb(15 118 110/var(--un-border-opacity));--un-bg-opacity:1;background-color:rgb(20 184 166/var(--un-bg-opacity)) }.rough-annotation{transform:scale(calc(1 / var(--slidev-slide-scale)))}#twoslash-container{position:fixed}#twoslash-container .v-popper__wrapper:not(.no-slide-scale>*){zoom:var(--slidev-slide-scale)}#twoslash-container .v-popper__popper:not(.no-slide-scale>*){translate:calc(10px * (1 - var(--slidev-slide-scale))) 0;width:max-content}.slidev-note ul{margin:0}html.dark:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html.dark .shiki{color:var(--shiki-dark,inherit);--twoslash-popup-bg:var(--shiki-dark-bg,inherit)}html.dark .shiki span{color:var(--shiki-dark)}html:not(.dark) .shiki{color:var(--shiki-light,inherit);--twoslash-popup-bg:var(--shiki-light-bg,inherit)}html:not(.dark) .shiki span{color:var(--shiki-light)}.twoslash-meta-line.twoslash-popover-line{margin-top:-10px}.slidev-code-wrapper{scroll-padding:var(--slidev-code-padding);margin:var(--slidev-code-margin)!important}.slidev-code-wrapper:-webkit-scrollbar{width:0}.slidev-code{background:var(--slidev-code-background);overflow:auto;font-family:var(--slidev-code-font-family)!important;padding:var(--slidev-code-padding)!important;font-size:var(--slidev-code-font-size)!important;line-height:var(--slidev-code-line-height)!important;border-radius:var(--slidev-code-radius)!important}.slidev-code-block-title,.slidev-code-group-tabs{background:var(--slidev-code-background);color:var(--slidev-code-tab-text-color);padding-left:var(--slidev-code-padding);padding-right:var(--slidev-code-padding);font-size:var(--slidev-code-tab-font-size);border-radius:var(--slidev-code-radius) var(--slidev-code-radius) 0 0;box-shadow:inset 0 -1px var(--slidev-code-tab-divider);align-items:center;gap:8px;display:flex}.slidev-code-block-title{padding:var(--slidev-code-padding)}.slidev-code-tab{font-size:var(--slidev-code-tab-font-size);white-space:nowrap;cursor:pointer;padding:var(--slidev-code-padding);color:var(--slidev-code-tab-text-color);border-bottom:2px solid #0000;align-items:center;gap:8px;transition:color .25s;display:flex;position:relative}.slidev-code-tab:hover{color:var(--slidev-code-tab-active-text-color)!important}.slidev-code-group-blocks .slidev-code-wrapper{margin:0!important}.slidev-code-group-blocks .slidev-code{border-radius:0 0 var(--slidev-code-radius) var(--slidev-code-radius)!important}.slidev-code-group-blocks .slidev-code-wrapper.active{display:block}.slidev-code-group-blocks .slidev-code-wrapper{display:none}.slidev-code-block-title+.slidev-code,.slidev-code-group-tabs+.slidev-code{border-top-left-radius:0!important;border-top-right-radius:0!important}.slidev-code .slidev-code-dishonored{opacity:.3;pointer-events:none}.slidev-code-line-numbers .slidev-code code{counter-reset:step;counter-increment:step calc(var(--start,1) - 1)}.slidev-code-line-numbers .slidev-code code .line:before{content:counter(step);counter-increment:step;text-align:right;--un-text-opacity:1;width:1rem;color:rgb(156 163 175/var(--un-text-opacity)) ;margin-right:1.5rem;display:inline-block}.dark .slidev-code-line-numbers .slidev-code code .line:before{--un-text-opacity:1;color:rgb(75 85 99/var(--un-text-opacity)) }.slidev-note :not(pre)>code,.slidev-layout :not(pre)>code{background:var(--slidev-code-background);border-radius:var(--slidev-code-radius);padding:.125rem .375rem;font-size:.9em;font-weight:300}.slidev-note :not(pre)>code:after,.slidev-note :not(pre)>code:before{content:""}.slidev-layout :not(pre)>code:before{margin-right:-.08em}.katex,.katex :after,.katex :before{border-color:currentColor}.slidev-katex-wrapper .mord.dishonored{opacity:.3}.slide-left-enter-active,.slide-left-leave-active,.slide-right-enter-active,.slide-right-leave-active,.slide-up-enter-active,.slide-up-leave-active,.slide-down-enter-active,.slide-down-leave-active{transition:all var(--slidev-transition-duration) ease}.slide-left-enter-from,.slide-right-leave-to{translate:100%}.slide-left-leave-to,.slide-right-enter-from{translate:-100%}.slide-up-enter-from,.slide-down-leave-to{translate:0 100%}.slide-up-leave-to,.slide-down-enter-from{translate:0 -100%}.fade-enter-active,.fade-leave-active{transition:opacity var(--slidev-transition-duration) ease}.fade-enter-from,.fade-leave-to{opacity:0}.fade-out-leave-active{transition:opacity calc(var(--slidev-transition-duration) * .6) ease-out}.fade-out-enter-active{transition:opacity calc(var(--slidev-transition-duration) * .8) ease-in;transition-delay:calc(var(--slidev-transition-duration) * .6)}.fade-out-enter-from,.fade-out-leave-to{opacity:0}:root{--twoslash-popup-bg:var(--slidev-code-background);--twoslash-popup-color:var(--slidev-code-foreground);--twoslash-docs-color:inherit;--twoslash-docs-font:inherit;--twoslash-code-font:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--twoslash-underline-color:#8888;--twoslash-border-color:#8888;--twoslash-cursor-color:var(--slidev-theme-primary);--twoslash-matched-color:var(--slidev-theme-primary)}.twoslash-popup-container{font-size:13px}.twoslash-popup-container .twoslash-popup-code{font-size:.85em}.twoslash-floating .twoslash-popup-docs-tags .twoslash-popup-docs-tag-name{color:inherit;opacity:.5}.slidev-vclick-target{transition:all .1s}.slidev-vclick-target.slidev-vclick-anim-none{transition:none}.slidev-vclick-target.slidev-vclick-anim-fade-in{transition:all .3s}.slidev-vclick-hidden{opacity:0!important;pointer-events:none!important;-webkit-user-select:none!important;user-select:none!important}.slidev-vclick-hidden.slidev-vclick-anim-fade{opacity:.5!important}.slidev-vclick-hidden.slidev-vclick-anim-fade-in{opacity:0!important}.slidev-vclick-hidden.slidev-vclick-anim-up{translate:0 20px}.slidev-vclick-hidden.slidev-vclick-anim-down{translate:0 -20px}.slidev-vclick-hidden.slidev-vclick-anim-left{translate:20px}.slidev-vclick-hidden.slidev-vclick-anim-right{translate:-20px}.slidev-vclick-hidden.slidev-vclick-anim-scale{scale:.9}.slidev-vclick-display-none{display:none!important}.slidev-vclick-fade{opacity:.5}.slidev-layout{height:100%;padding:2.5rem 3.5rem;font-size:1.1rem}.slidev-layout pre,.slidev-layout code{-webkit-user-select:text;user-select:text}.slidev-layout h1{margin-bottom:1rem;font-size:2.25rem;line-height:2.5rem}.slidev-layout h6{letter-spacing:.1em;text-transform:uppercase;padding-top:.25rem;font-size:.875rem;font-weight:500;line-height:1.25rem}:where(.slidev-layout) h6{opacity:.4}.slidev-layout p{margin-top:1rem;margin-bottom:1rem;line-height:1.5rem}.slidev-layout ul{list-style:square}.slidev-layout ol{list-style:decimal}.slidev-layout li{line-height:1.8em}.slidev-layout blockquote{background:var(--slidev-code-background);color:var(--slidev-code-foreground);border-left-width:1px;border-color:var(--slidev-theme-primary);border-radius:.25rem;padding:.25rem .5rem;font-size:.875rem;line-height:1.25rem}.slidev-layout blockquote>*{margin-top:0;margin-bottom:0}.slidev-layout table{width:100%}.slidev-layout tr{border-color:#9ca3af33;border-bottom-width:1px}.slidev-layout th{text-align:left;font-weight:400}.slidev-layout a{border-style:dashed;border-color:currentColor;border-bottom-width:1px}.slidev-layout a:hover{color:var(--slidev-theme-primary) ;border-style:solid}.slidev-layout td,.slidev-layout th{padding:.75rem .5rem}.slidev-layout b,.slidev-layout strong{font-weight:600}.slidev-layout kbd{--un-bg-opacity:.05;background-color:rgb(156 163 175/var(--un-bg-opacity)) ;border-width:1px 1px 2px;border-color:#9ca3af33;border-radius:.25rem;padding:.125rem .25rem;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.75rem;line-height:1rem}.slidev-layout h1,[dir=ltr] h1,.slidev-layout [dir=ltr] h1,.slidev-layout h6,[dir=ltr] h6,.slidev-layout [dir=ltr] h6{margin-left:-.05em;margin-right:0}.slidev-layout li,[dir=ltr] li,.slidev-layout [dir=ltr] li{margin-left:1.1em;margin-right:0;padding-left:.2em;padding-right:0}[dir=rtl] h1,.slidev-layout [dir=rtl] h1,[dir=rtl] h6,.slidev-layout [dir=rtl] h6{margin-left:0;margin-right:-.05em}[dir=rtl] li,.slidev-layout [dir=rtl] li{margin-left:0;margin-right:1.1em;padding-left:0;padding-right:.2em}.slidev-layout h1+p{opacity:.5;margin-top:-.5rem;margin-bottom:1rem}.slidev-layout p+h2,.slidev-layout ul+h2,.slidev-layout table+h2{margin-top:2.5rem}.slidev-layout h1{margin-bottom:1rem;margin-left:-.05em;font-size:2.25rem;line-height:2.5rem}.slidev-layout h2{font-size:1.875rem;line-height:2.25rem}.slidev-layout h3{font-size:1.5rem;line-height:2rem}.slidev-layout h4{font-size:1.25rem;line-height:1.75rem}.slidev-layout h5{font-size:1rem;line-height:1.5rem}.slidev-layout h6{letter-spacing:.1em;text-transform:uppercase;margin-left:-.05em;padding-top:.25rem;font-size:.875rem;font-weight:500;line-height:1.25rem}.slidev-layout h6:not(.opacity-100){opacity:.4}.slidev-layout.cover,.slidev-layout.intro{height:100%;display:grid}.slidev-layout.cover h1,.slidev-layout.intro h1{font-size:3.75rem;line-height:5rem}.slidev-layout.fact{text-align:center;height:100%;display:grid}.slidev-layout.fact h1{font-size:6rem;font-weight:700;line-height:1}.slidev-layout.fact h1+p{font-size:1.5rem;font-weight:700;line-height:2rem}.slidev-layout.statement{text-align:center;height:100%;display:grid}.slidev-layout.statement h1{font-size:3.75rem;font-weight:700;line-height:1}.slidev-layout.quote{height:100%;display:grid}.slidev-layout.quote h1+p{margin-top:.5rem}.slidev-layout.section h1{font-size:3.75rem;font-weight:500;line-height:5rem}:root{--prism-scheme:light;--prism-foreground:#6e6e6e;--prism-background:#f4f4f4;--prism-comment:#a8a8a8;--prism-string:#555;--prism-literal:#333;--prism-keyword:#000;--prism-function:#4f4f4f;--prism-deleted:#333;--prism-class:#333;--prism-builtin:#757575;--prism-property:#333;--prism-namespace:#4f4f4f;--prism-punctuation:#ababab;--prism-decorator:var(--prism-class);--prism-operator:var(--prism-punctuation);--prism-number:var(--prism-literal);--prism-boolean:var(--prism-literal);--prism-variable:var(--prism-literal);--prism-constant:var(--prism-literal);--prism-symbol:var(--prism-literal);--prism-interpolation:var(--prism-literal);--prism-selector:var(--prism-keyword);--prism-keyword-control:var(--prism-keyword);--prism-regex:var(--prism-string);--prism-json-property:var(--prism-property);--prism-inline-background:var(--prism-background);--prism-comment-style:italic;--prism-url-decoration:underline;--prism-line-number:#a5a5a5;--prism-line-number-gutter:#333;--prism-line-highlight-background:#eee;--prism-selection-background:#ddd;--prism-marker-color:var(--prism-foreground);--prism-marker-opacity:.4;--prism-marker-font-size:.8em;--prism-font-size:1em;--prism-line-height:1.5em;--prism-font-family:monospace;--prism-inline-font-size:var(--prism-font-size);--prism-block-font-size:var(--prism-font-size);--prism-tab-size:2;--prism-block-padding-x:1em;--prism-block-padding-y:1em;--prism-block-margin-x:0;--prism-block-margin-y:.5em;--prism-block-radius:.3em;--prism-inline-padding-x:.3em;--prism-inline-padding-y:.1em;--prism-inline-radius:.3em}div[class*=language-],pre[class*=language-],code[class*=language-]{font-size:var(--prism-font-size);font-family:var(--prism-font-family);text-align:left;white-space:pre;word-spacing:normal;word-break:normal;line-height:var(--prism-line-height);-moz-tab-size:var(--prism-tab-size);-o-tab-size:var(--prism-tab-size);tab-size:var(--prism-tab-size);-webkit-hyphens:none;hyphens:none;direction:ltr;color:var(--prism-foreground)!important}div[class*=language-],pre[class*=language-]{font-size:var(--prism-block-font-size);padding:var(--prism-block-padding-y) var(--prism-block-padding-x);margin:var(--prism-block-margin-y) var(--prism-block-margin-x);border-radius:var(--prism-block-radius);background:var(--prism-background);overflow:auto}:not(pre)>code[class*=language-]{font-size:var(--prism-inline-font-size);padding:var(--prism-inline-padding-y) var(--prism-inline-padding-x);border-radius:var(--prism-inline-radius);background:var(--prism-inline-background)}pre[class*=language-]::-moz-selection{background:var(--prism-selection-background)}pre[class*=language-] ::-moz-selection{background:var(--prism-selection-background)}code[class*=language-]::-moz-selection{background:var(--prism-selection-background)}code[class*=language-] ::-moz-selection{background:var(--prism-selection-background)}pre[class*=language-]::selection{background:var(--prism-selection-background)}pre[class*=language-] ::selection{background:var(--prism-selection-background)}code[class*=language-]::selection{background:var(--prism-selection-background)}code[class*=language-] ::selection{background:var(--prism-selection-background)}.token.comment,.token.prolog,.token.doctype,.token.cdata{color:var(--prism-comment);font-style:var(--prism-comment-style)}.token.namespace{color:var(--prism-namespace)}.token.interpolation{color:var(--prism-interpolation)}.token.string{color:var(--prism-string)}.token.punctuation{color:var(--prism-punctuation)}.token.operator{color:var(--prism-operator)}.token.keyword.module,.token.keyword.control-flow{color:var(--prism-keyword-control)}.token.url,.token.symbol,.token.inserted{color:var(--prism-symbol)}.token.constant{color:var(--prism-constant)}.token.string.url{-webkit-text-decoration:var(--prism-url-decoration);text-decoration:var(--prism-url-decoration)}.token.boolean,.language-json .token.boolean{color:var(--prism-boolean)}.token.number,.language-json .token.number{color:var(--prism-number)}.token.variable{color:var(--prism-variable)}.token.keyword{color:var(--prism-keyword)}.token.atrule,.token.attr-value,.token.selector{color:var(--prism-selector)}.token.function{color:var(--prism-function)}.token.deleted{color:var(--prism-deleted)}.token.important,.token.bold{font-weight:700}.token.italic{font-style:italic}.token.class-name{color:var(--prism-class)}.token.tag,.token.builtin{color:var(--prism-builtin)}.token.attr-name,.token.property,.token.entity{color:var(--prism-property)}.language-json .token.property{color:var(--prism-json-property)}.token.regex{color:var(--prism-regex)}.token.decorator,.token.annotation{color:var(--prism-decorator)}.line-numbers .line-numbers-rows{border-right-color:var(--prism-line-number)}.line-numbers-rows>span:before{color:var(--prism-line-number-gutter)}.line-highlight{background:var(--prism-line-highlight-background)}.cm-s-vars.CodeMirror{background-color:var(--cm-background);color:var(--cm-foreground)}.cm-s-vars .CodeMirror-gutters{background:var(--cm-line-number-gutter);color:var(--cm-line-number);border:none}.cm-s-vars .CodeMirror-guttermarker,.cm-s-vars .CodeMirror-guttermarker-subtle,.cm-s-vars .CodeMirror-linenumber{color:var(--cm-line-number)}.cm-s-vars div.CodeMirror-selected,.cm-s-vars.CodeMirror-focused div.CodeMirror-selected{background:var(--cm-selection-background)}.cm-s-vars .CodeMirror-line::selection{background:var(--cm-selection-background)}.cm-s-vars .CodeMirror-line>span::selection{background:var(--cm-selection-background)}.cm-s-vars .CodeMirror-line>span>span::selection{background:var(--cm-selection-background)}.cm-s-vars .CodeMirror-line::-moz-selection{background:var(--cm-selection-background)}.cm-s-vars .CodeMirror-line>span::-moz-selection{background:var(--cm-selection-background)}.cm-s-vars .CodeMirror-line>span>span::-moz-selection{background:var(--cm-selection-background)}.cm-s-vars .CodeMirror-activeline-background{background:var(--cm-line-highlight-background)}.cm-s-vars .cm-keyword{color:var(--cm-keyword)}.cm-s-vars .cm-variable,.cm-s-vars .cm-variable-2,.cm-s-vars .cm-variable-3,.cm-s-vars .cm-type{color:var(--cm-variable)}.cm-s-vars .cm-builtin{color:var(--cm-builtin)}.cm-s-vars .cm-atom{color:var(--cm-literal)}.cm-s-vars .cm-number{color:var(--cm-number)}.cm-s-vars .cm-def{color:var(--cm-decorator)}.cm-s-vars .cm-string,.cm-s-vars .cm-string-2{color:var(--cm-string)}.cm-s-vars .cm-comment{color:var(--cm-comment)}.cm-s-vars .cm-tag{color:var(--cm-builtin)}.cm-s-vars .cm-meta{color:var(--cm-namespace)}.cm-s-vars .cm-attribute,.cm-s-vars .cm-property{color:var(--cm-property)}.cm-s-vars .cm-qualifier{color:var(--cm-keyword)}.cm-s-vars .cm-error{color:var(--prism-deleted)}.cm-s-vars .cm-operator,.cm-s-vars .cm-bracket{color:var(--cm-punctuation)}.cm-s-vars .CodeMirror-matchingbracket{text-decoration:underline}.cm-s-vars .CodeMirror-cursor{border-left:1px solid}:root{--cm-scheme:var(--prism-scheme);--cm-foreground:var(--prism-foreground);--cm-background:var(--prism-background);--cm-comment:var(--prism-comment);--cm-string:var(--prism-string);--cm-literal:var(--prism-literal);--cm-keyword:var(--prism-keyword);--cm-function:var(--prism-function);--cm-deleted:var(--prism-deleted);--cm-class:var(--prism-class);--cm-builtin:var(--prism-builtin);--cm-property:var(--prism-property);--cm-namespace:var(--prism-namespace);--cm-punctuation:var(--prism-punctuation);--cm-decorator:var(--prism-decorator);--cm-operator:var(--prism-operator);--cm-number:var(--prism-number);--cm-boolean:var(--prism-boolean);--cm-variable:var(--prism-variable);--cm-constant:var(--prism-constant);--cm-symbol:var(--prism-symbol);--cm-interpolation:var(--prism-interpolation);--cm-selector:var(--prism-selector);--cm-keyword-control:var(--prism-keyword-control);--cm-regex:var(--prism-regex);--cm-json-property:var(--prism-json-property);--cm-inline-background:var(--prism-inline-background);--cm-comment-style:var(--prism-comment-style);--cm-url-decoration:var(--prism-url-decoration);--cm-line-number:var(--prism-line-number);--cm-line-number-gutter:var(--prism-line-number-gutter);--cm-line-highlight-background:var(--prism-line-highlight-background);--cm-selection-background:var(--prism-selection-background);--cm-marker-color:var(--prism-marker-color);--cm-marker-opacity:var(--prism-marker-opacity);--cm-marker-font-size:var(--prism-marker-font-size);--cm-font-size:var(--prism-font-size);--cm-line-height:var(--prism-line-height);--cm-font-family:var(--prism-font-family);--cm-inline-font-size:var(--prism-inline-font-size);--cm-block-font-size:var(--prism-block-font-size);--cm-tab-size:var(--prism-tab-size);--cm-block-padding-x:var(--prism-block-padding-x);--cm-block-padding-y:var(--prism-block-padding-y);--cm-block-margin-x:var(--prism-block-margin-x);--cm-block-margin-y:var(--prism-block-margin-y);--cm-block-radius:var(--prism-block-radius);--cm-inline-padding-x:var(--prism-inline-padding-x);--cm-inline-padding-y:var(--prism-inline-padding-y);--cm-inline-radius:var(--prism-inline-radius);--prism-font-family:var(--slidev-code-font-family);--prism-background:var(--slidev-code-background)}html:not(.dark){--prism-foreground:#393a34;--prism-comment:#a0ada0;--prism-string:#b56959;--prism-literal:#2f8a89;--prism-number:#296aa3;--prism-keyword:#1c6b48;--prism-function:#6c7834;--prism-boolean:#1c6b48;--prism-constant:#a65e2b;--prism-deleted:#a14f55;--prism-class:#2993a3;--prism-builtin:#ab5959;--prism-property:#b58451;--prism-namespace:#b05a78;--prism-punctuation:#8e8f8b;--prism-decorator:#bd8f8f;--prism-regex:#ab5e3f;--prism-json-property:#698c96}html.dark{--prism-foreground:#d4cfbf;--prism-comment:#758575;--prism-string:#d48372;--prism-literal:#429988;--prism-keyword:#4d9375;--prism-boolean:#1c6b48;--prism-number:#6394bf;--prism-variable:#c2b36e;--prism-function:#a1b567;--prism-deleted:#a14f55;--prism-class:#54b1bf;--prism-builtin:#e0a569;--prism-property:#dd8e6e;--prism-namespace:#db889a;--prism-punctuation:#858585;--prism-decorator:#bd8f8f;--prism-regex:#ab5e3f;--prism-json-property:#6b8b9e;--prism-line-number:#888;--prism-line-number-gutter:#eee;--prism-line-highlight-background:#444;--prism-selection-background:#444}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--deck-bg:#0b0c0f;--deck-surface:#14161b;--deck-surface-2:#1c1f26;--deck-surface-3:#262a33;--deck-border:#262a33;--deck-border-2:#3a3f4a;--deck-text:#f0ece2;--deck-muted:#b9b3a5;--deck-dim:#7d786d;--deck-accent:#f5a400;--deck-accent-hi:#ffc649;--deck-accent-bg:#f5a40014;--deck-accent-line:#f5a40047;--deck-info:#6aa3f7;--deck-info-bg:#6aa3f71a;--deck-info-line:#6aa3f752;--deck-ok:#6ad19c;--deck-no:#f06b5a;--deck-font-mono:"JetBrains Mono", "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--deck-font-sans:Inter, -apple-system, BlinkMacSystemFont, system-ui, sans-serif;--deck-radius:8px;--deck-radius-sm:3px;--deck-shadow:0 14px 34px #0000004d, 0 0 18px #f5a40009;--deck-footer-safe:42px}.slidev-layout{background:radial-gradient(circle at 88% 8%, #f5a40011, transparent 30%), linear-gradient(135deg, #f5a40007, transparent 36%), var(--deck-bg);color:var(--deck-text);font-family:var(--deck-font-mono);padding:42px 58px calc(42px + var(--deck-footer-safe));letter-spacing:-.01em}.slidev-layout:before{content:"";pointer-events:none;background-image:linear-gradient(#f5a40006 1px,#0000 1px),linear-gradient(90deg,#f5a40006 1px,#0000 1px);background-size:48px 48px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000006b,#0000 70%);mask-image:linear-gradient(#0000006b,#0000 70%)}.slidev-layout:after{content:"github.com/evalstate";z-index:20;color:#1f2228;min-height:26px;font-family:var(--deck-font-sans);letter-spacing:-.035em;pointer-events:none;background:url(./huggingface-mark-logo-BzDcJTjv.svg) 10px/18px 18px no-repeat,url("data:image/svg+xml,%3csvg%20width='98'%20height='96'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M48.854%200C21.839%200%200%2022%200%2049.217c0%2021.756%2013.993%2040.172%2033.405%2046.69%202.427.49%203.316-1.059%203.316-2.362%200-1.141-.08-5.052-.08-9.127-13.59%202.934-16.42-5.867-16.42-5.867-2.184-5.704-5.42-7.17-5.42-7.17-4.448-3.015.324-3.015.324-3.015%204.934.326%207.523%205.052%207.523%205.052%204.367%207.496%2011.404%205.378%2014.235%204.074.404-3.178%201.699-5.378%203.074-6.6-10.839-1.141-22.243-5.378-22.243-24.283%200-5.378%201.94-9.778%205.014-13.2-.485-1.222-2.184-6.275.486-13.038%200%200%204.125-1.304%2013.426%205.052a46.97%2046.97%200%200%201%2012.214-1.63c4.125%200%208.33.571%2012.213%201.63%209.302-6.356%2013.427-5.052%2013.427-5.052%202.67%206.763.97%2011.816.485%2013.038%203.155%203.422%205.015%207.822%205.015%2013.2%200%2018.905-11.404%2023.06-22.324%2024.283%201.78%201.548%203.316%204.481%203.316%209.126%200%206.6-.08%2011.897-.08%2013.526%200%201.304.89%202.853%203.316%202.364%2019.412-6.52%2033.405-24.935%2033.405-46.691C97.707%2022%2075.788%200%2048.854%200z'%20fill='%2324292f'/%3e%3c/svg%3e") 34px/18px 18px no-repeat,#f2efe7f0;border:1px solid #f0ece238;border-radius:2px;align-items:center;padding:0 10px 0 58px;font-size:12.5px;font-weight:600;display:flex;position:absolute;bottom:12px;right:24px;box-shadow:0 8px 18px #00000038}.slidev-layout>*{z-index:1;position:relative}.slidev-layout h1{color:var(--deck-text);letter-spacing:-.045em;margin-bottom:1rem;font-size:2.42rem;font-weight:650;line-height:1.05}.slidev-layout h2{color:var(--deck-muted);letter-spacing:-.02em;font-size:1.25rem;font-weight:500;line-height:1.35}.slidev-layout p,.slidev-layout li{color:var(--deck-muted);font-size:1.04rem;line-height:1.55}.slidev-layout strong{color:var(--deck-text)}.slidev-layout a{color:var(--deck-accent-hi);border-bottom:1px solid var(--deck-accent-line);text-decoration:none}.slidev-layout code{font-family:var(--deck-font-mono)}.slidev-layout :not(pre)>code{color:var(--deck-accent-hi);background:var(--deck-surface-2);border:1px solid var(--deck-border);border-radius:var(--deck-radius-sm);white-space:nowrap;padding:.08em .32em;font-size:.92em}.slidev-layout pre{border:1px solid var(--deck-border-2);border-radius:var(--deck-radius);box-shadow:var(--deck-shadow)}.kicker{color:var(--deck-dim);letter-spacing:.18em;text-transform:uppercase;align-items:center;gap:.55rem;margin-bottom:.85rem;font-size:.62rem;font-weight:700;display:inline-flex}.kicker:before{content:"❯";color:var(--deck-accent)}.deck-panel{background:color-mix(in srgb, var(--deck-surface) 92%, transparent);border:1px solid var(--deck-border);border-radius:var(--deck-radius);box-shadow:var(--deck-shadow)}.card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1.2rem 0 1.3rem;display:grid}.agenda-slide,.migration-path-slide,.related-seps-slide{align-content:center;height:100%;display:grid}.agenda-slide{max-width:980px}.agenda-slide .kicker,.migration-path-slide .kicker,.related-seps-slide .kicker{margin-bottom:.7rem}.agenda-slide h1,.migration-path-slide h1,.related-seps-slide h1{letter-spacing:-.08em;margin:0 0 1.35rem;font-size:clamp(3rem,7.2vw,4.8rem);line-height:.94}.agenda-list,.migration-path-list{gap:.72rem;display:grid}.agenda-list{max-width:920px}.agenda-list div{color:var(--deck-text);letter-spacing:-.058em;border-left:5px solid var(--deck-accent);border-radius:0 var(--deck-radius) var(--deck-radius) 0;background:linear-gradient(90deg,#f5a40029,#0000 82%),#14161b94;padding:.7rem .9rem .78rem;font-size:clamp(1.56rem,3.25vw,2.28rem);font-weight:750;line-height:1.05}.statefulness-slide{grid-template-columns:repeat(2,minmax(0,1fr));align-content:center;gap:1rem;height:calc(100% - 5.1rem);display:grid}.statefulness-list{border:1px solid var(--deck-border);border-radius:calc(var(--deck-radius) + 7px);background:radial-gradient(circle at 88% 18%,#6aa3f70f,#0000 34%),#14161ba3;min-height:0;padding:1.08rem 1.16rem 1.15rem}.statefulness-list--accent{background:radial-gradient(circle at 88% 18%,#ffc64914,#0000 34%),#14161bad;border-color:#ffc64973}.statefulness-list h2{color:var(--deck-accent-hi);letter-spacing:-.06em;font-size:clamp(1.42rem,3vw,1.95rem);line-height:1;margin:0 0 .72rem!important}.statefulness-list ul{margin:0;padding-left:1.18rem}.statefulness-list>ul{gap:.72rem;display:grid}.statefulness-list li{color:var(--deck-muted);font-size:clamp(1.05rem,1.95vw,1.32rem);line-height:1.24}.statefulness-list li::marker{color:var(--deck-accent)}.statefulness-list li li{color:var(--deck-dim);margin-top:.16rem;font-size:.86em;line-height:1.18}.statefulness-list li li::marker{color:var(--deck-info)}.statefulness-list strong{color:var(--deck-text)}.migration-path-slide{max-width:940px}.migration-path-list{gap:.85rem}.migration-path-list div{border:1px solid var(--deck-border);border-radius:calc(var(--deck-radius) + 8px);background:radial-gradient(circle at 8%,#f5a40014,#0000 34%),#14161ba3;grid-template-columns:9rem minmax(0,1fr);align-items:center;gap:1rem;padding:1rem 1.15rem;display:grid}.migration-path-list span{color:var(--deck-accent-hi);letter-spacing:-.06em;font-size:clamp(1.45rem,3.5vw,2.24rem);font-weight:900;line-height:1}.migration-path-list strong{color:var(--deck-text);letter-spacing:-.065em;font-size:clamp(1.62rem,3.8vw,2.5rem);line-height:1}.related-seps-slide{max-width:1040px}.related-seps-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;display:grid}.related-seps-list div{border:1px solid var(--deck-border);border-radius:calc(var(--deck-radius) + 8px);background:radial-gradient(circle at 86% 18%,#6aa3f712,#0000 34%),#14161ba3;align-content:center;min-height:7.1rem;padding:1rem 1.05rem;display:grid}.related-seps-list strong,.related-seps-list span{display:block}.related-seps-list strong{color:var(--deck-accent-hi);letter-spacing:-.058em;font-size:clamp(1.35rem,3.2vw,2rem);line-height:1}.related-seps-list span{color:var(--deck-text);letter-spacing:-.04em;margin-top:.45rem;font-size:clamp(1rem,2vw,1.32rem);font-weight:700;line-height:1.16}.hackmonty-slide{grid-template-rows:auto minmax(0,1fr);align-items:center;gap:1rem;height:100%;display:grid}.hackmonty-slide h1{letter-spacing:-.075em;text-wrap:balance;margin:0;font-size:clamp(2.8rem,6.4vw,4.35rem);line-height:.96}.hackmonty-slide img{object-fit:contain;border-radius:calc(var(--deck-radius) + 10px);max-width:min(100%,1080px);max-height:100%;box-shadow:var(--deck-shadow);border:1px solid #ffc6496b;place-self:center}.protocol-diagram{width:min(600px,100%);height:360px;margin:.25rem auto 0}.remote-mcp-diagram{width:min(920px,100%);height:400px;margin:.35rem auto 0}.remote-mcp-diagram--wide{width:min(1080px,100%);height:430px}.spec-timeline-diagram{width:min(960px,100%);height:440px;margin:.45rem auto 0}.understanding-activity-slide{grid-template-columns:minmax(0,.92fr) minmax(360px,.78fr);align-items:stretch;gap:1.25rem;height:calc(100% - 4.9rem);display:grid}.slidev-layout:has(.understanding-activity-slide)>h1{margin-bottom:1.35rem}.understanding-activity-copy{flex-direction:column;justify-content:center;min-width:0;min-height:0;display:flex}.understanding-activity-copy h2{color:var(--deck-accent-hi);letter-spacing:-.075em;font-size:clamp(1.36rem,2.75vw,1.86rem);line-height:.98;margin:0 0 .82rem!important}.understanding-activity-copy .compact-point-list{gap:.62rem}.understanding-activity-copy .compact-point-list>div{padding:.84rem .92rem}.understanding-activity-copy .compact-point-list strong{font-size:1.18rem;line-height:1.08}.understanding-activity-copy .compact-point-list span{margin-top:.28rem;font-size:.86rem;line-height:1.28}.understanding-activity-table{min-width:0;min-height:0}.traffic-chart-slide,.weekly-activity-slide,.conversion-chart-slide,.protocol-efficiency-slide{inset:18px 26px calc(14px + var(--deck-footer-safe));width:auto;height:auto;margin:0;position:absolute!important}:is(.slidev-layout:has(.traffic-chart-slide),.slidev-layout:has(.weekly-activity-slide),.slidev-layout:has(.conversion-chart-slide),.slidev-layout:has(.protocol-efficiency-slide)){padding:0}.chart-slide{--chart-slide-header-height:4.15rem;grid-template-rows:auto minmax(0,1fr);gap:.42rem;display:grid}.chart-slide__header{min-height:var(--chart-slide-header-height);justify-content:space-between;align-items:start;gap:1.5rem;padding-right:12rem;display:flex}.chart-slide__header h1{color:var(--deck-text);letter-spacing:-.055em;margin:0;font-size:clamp(1.86rem,3.85vw,2.14rem);line-height:1}.chart-slide__header h2{color:var(--deck-muted);letter-spacing:-.025em;margin:.42rem 0 0;font-size:1.04rem;line-height:1.25}.chart-slide__header p{color:var(--deck-muted);margin:.45rem 0 0;font-size:.92rem}.chart-slide__kicker{color:var(--deck-accent-hi);letter-spacing:.16em;text-transform:uppercase;margin:0 0 .32rem;font-size:.72rem;font-weight:900}.conversion-chart-slide .chart-slide__header{padding-right:22rem}.protocol-efficiency-slide .chart-slide__header{padding-right:0}.chart-slide>:where(.activity-chart,.conversion-chart,.protocol-efficiency){min-height:0}:where(.activity-chart,.conversion-chart){box-sizing:border-box;height:100%;padding:var(--deck-chart-padding,.9rem 1rem .75rem);background:radial-gradient(circle at var(--deck-chart-glow-x,78%) var(--deck-chart-glow-y,12%), #6aa3f712, transparent 28%), #14161bbd;border:1px solid var(--deck-border);border-radius:var(--deck-radius);box-shadow:var(--deck-shadow)}.activity-chart,.conversion-chart{position:relative;overflow:visible}:where(.activity-chart__header,.conversion-chart__header){justify-content:space-between;align-items:start;gap:var(--deck-chart-header-gap,1.5rem);margin-bottom:.25rem;display:flex}:where(.activity-chart,.conversion-chart) h1{font-size:var(--deck-chart-title-size,2.55rem);margin:0}:where(.activity-chart,.conversion-chart) p{color:var(--deck-muted);font-size:var(--deck-chart-subtitle-size,.92rem);margin:.45rem 0 0}.conversion-chart__stats div{text-align:right;background:var(--deck-accent-bg);border:1px solid var(--deck-accent-line);border-radius:var(--deck-radius-sm);padding:.7rem .85rem}.conversion-chart__stats{top:calc(-1 * (var(--chart-slide-header-height) + .42rem));z-index:2;gap:.65rem;display:flex;position:absolute;right:1.1rem}.conversion-chart__stats div{min-width:126px}.conversion-chart__stats span{color:var(--deck-dim);letter-spacing:.14em;text-transform:uppercase;font-size:.58rem;font-style:normal;font-weight:800;display:block}.conversion-chart__stats strong{color:var(--deck-accent-hi);font-size:var(--deck-chart-stat-size,1.65rem);line-height:1.1;display:block}:where(.activity-chart__svg,.conversion-chart__svg){width:100%;overflow:visible}.activity-chart__svg,.conversion-chart__svg{height:100%}:where(.activity-chart__plot-bg,.conversion-chart__plot-bg){fill:#0b0c0f57;stroke:var(--deck-border)}:where(.activity-chart__grid,.conversion-chart__grid) line{stroke:#f0ece214;stroke-width:1px}:where(.activity-chart__axis text,.activity-chart__x-axis text,.activity-chart__legend text,.activity-chart__line-label,.conversion-chart__axis text,.conversion-chart__x-axis text,.conversion-chart__legend text,.conversion-chart__peak text){fill:var(--deck-dim);font-family:var(--deck-font-mono);letter-spacing:.02em;font-size:20px;font-weight:700}:where(.activity-chart__axis--left,.conversion-chart__axis--left) text:first-child{fill:var(--deck-accent-hi)}:where(.activity-chart__axis--right,.conversion-chart__axis--right) text:first-child{fill:var(--deck-info)}:where(.activity-chart__x-axis,.conversion-chart__x-axis) text{font-size:19px}.activity-chart__bars rect{fill:var(--activity-chart-bar-fill);opacity:.82}.activity-chart__bars rect.is-partial{opacity:.5}.activity-chart__line{fill:none;stroke:var(--activity-chart-line-stroke);stroke-width:4px;stroke-linecap:round;stroke-linejoin:round}.activity-chart__legend rect{fill:var(--activity-chart-bar-fill)}.activity-chart__legend line{stroke:var(--deck-info);stroke-width:4px;stroke-linecap:round}.activity-chart__line-label{fill:var(--deck-info);font-weight:850}.hf-mcp-slide{grid-template-columns:minmax(390px,.92fr) minmax(0,1.08fr);align-items:center;gap:1.55rem;min-height:calc(100% - 4.4rem);display:grid}.hf-mcp-copy{min-width:0}.hf-mcp-copy h2{max-width:540px;color:var(--deck-text);letter-spacing:-.055em;margin:0 0 1rem;font-size:clamp(1.82rem,3.2vw,2.18rem);font-weight:650;line-height:1.04}.hf-mcp-capabilities{grid-template-columns:repeat(2,minmax(0,1fr));gap:.72rem;display:grid}.hf-mcp-capabilities>div{border:1px solid var(--deck-border);border-radius:var(--deck-radius);background:linear-gradient(135deg,#f5a4000e,#0000 58%),#14161b94;min-width:0;padding:.72rem .82rem}.hf-mcp-capabilities strong,.hf-mcp-capabilities span{display:block}.hf-mcp-capabilities strong{color:var(--deck-text);letter-spacing:-.035em;font-size:.92rem;line-height:1.1}.hf-mcp-capabilities span{color:var(--deck-muted);margin-top:.22rem;font-size:.62rem;line-height:1.32}.hf-mcp-models{flex-wrap:wrap;gap:.44rem;margin-top:.88rem;display:flex}.hf-mcp-models span{min-height:1.58rem;color:var(--deck-accent-hi);border:1px solid var(--deck-accent-line);letter-spacing:.02em;white-space:nowrap;background:#f5a40012;border-radius:999px;align-items:center;padding:.22rem .52rem;font-size:.58rem;font-weight:800;display:inline-flex}.hf-mcp-video-frame{background:radial-gradient(circle at 16% 20%,#f5a40014,#0000 32%),radial-gradient(circle at 88% 82%,#6aa3f711,#0000 34%),#0b0c0fb8;justify-self:end;width:min(720px,100%);height:min(430px,100vh - 250px);min-height:350px;padding:.55rem;position:relative;overflow:hidden}.hf-mcp-video-frame:after{content:"";pointer-events:none;border-radius:calc(var(--deck-radius) - 2px);position:absolute;inset:.55rem;box-shadow:inset 0 0 0 1px #f0ece214}.hf-mcp-video{object-fit:contain;border-radius:calc(var(--deck-radius) - 2px);background:#000;width:100%;height:100%;display:block}.mermaid{border:1px solid var(--deck-border);border-radius:var(--deck-radius);min-height:420px;box-shadow:var(--deck-shadow);background:#14161bc2;justify-content:center;align-items:center;padding:1rem;display:flex}.slidev-layout blockquote{border-left:4px solid var(--deck-accent);background:var(--deck-accent-bg);color:var(--deck-text);padding:.8rem 1rem}.slidev-layout:has(.title-intro){padding:0;overflow:hidden}.title-intro{text-align:center;place-items:center;display:grid;position:absolute;inset:0}.title-intro main{width:min(980px,88%)}.title-intro h1{color:var(--deck-text);letter-spacing:-.07em;margin:0;font-size:5.4rem;font-weight:650;line-height:1.05}.title-intro h2{max-width:780px;color:var(--deck-muted);letter-spacing:-.02em;margin:1.15rem auto 0;font-size:1.55rem;font-weight:500;line-height:1.35}.title-intro p{color:var(--deck-dim);letter-spacing:.16em;text-transform:uppercase;margin-top:2.4rem;font-size:.85rem}.title-intro-mark{color:#f5a4000a;letter-spacing:-.12em;pointer-events:none;font-size:23rem;font-weight:800;line-height:1;position:absolute;bottom:-.28em;right:-.2em}.about-intro{grid-template-columns:minmax(0,1.04fr) minmax(390px,.96fr);align-items:center;gap:2.45rem;min-height:100%;display:grid}.about-intro h1{letter-spacing:-.06em;margin-top:0;margin-bottom:.75rem;font-size:3.18rem}.about-intro h1 code{color:var(--deck-accent-hi);letter-spacing:-.04em;font-size:.52em;font-weight:600}.about-intro h1 :not(pre)>code,.about-intro :not(pre)>code{background:0 0;border:0;padding:0}.about-points{margin:1.35rem 0 0;padding-left:1.2rem}.about-points li{font-size:1.16rem;line-height:1.48}.about-social-table{border-collapse:separate;border-spacing:0 .43rem;width:min(520px,100%);margin-top:1.42rem}.about-social-table td{color:var(--deck-muted);letter-spacing:-.02em;vertical-align:middle;font-size:.98rem;font-weight:650}.about-social-table td:first-child{width:3.25rem;padding:0 .72rem 0 0}.about-social-table td:last-child{border:1px solid var(--deck-border);border-radius:0 var(--deck-radius-sm) var(--deck-radius-sm) 0;background:#14161bad;border-left:0;width:100%;padding:.48rem .78rem}.social-icon-cell:before{content:"";width:2.48rem;height:2.48rem;display:block}.social-icon-cell{position:relative}.social-icon{object-fit:contain;border-radius:var(--deck-radius-sm);background:#f0ece2eb;border:1px solid #f0ece22e;width:2.48rem;height:2.48rem;padding:.34rem;position:absolute;top:50%;left:0;transform:translateY(-50%);box-shadow:0 10px 24px #00000042}.social-icon-hf{box-shadow:none;background:0 0;border-color:#0000;padding:.18rem}.social-icon-github,.social-icon-x{background:#f0ece2eb}.about-logo-panel{background:radial-gradient(circle at 50% 4%,#ffc64912,#0000 34%),radial-gradient(circle at 50% 92%,#6aa3f714,#0000 34%),#14161bdb;grid-template-rows:1.05fr auto .95fr;place-items:center;height:430px;padding:2.45rem;display:grid}.about-hf-logo{object-fit:contain;filter:drop-shadow(0 8px 18px #00000047);width:min(360px,92%);max-height:160px}.about-mcp-logo{object-fit:contain;border:1px solid var(--deck-border-2);filter:invert();background:linear-gradient(#f0ece214,#f0ece205),#0b0c0f57;border-radius:32px;width:154px;height:154px;padding:1.08rem;box-shadow:0 12px 28px #00000047,inset 0 0 0 1px #ffffff06}.about-logo-divider{background:linear-gradient(90deg, transparent, var(--deck-border-2), transparent);width:74%;height:1px}.text-image-slide{grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);align-items:stretch;gap:1.35rem;height:calc(100% - 5.25rem);display:grid}.text-image-slide__copy{flex-direction:column;justify-content:center;min-width:0;min-height:0;display:flex}.dataset-link-card{color:var(--deck-text);border-radius:calc(var(--deck-radius) + 8px);box-shadow:var(--deck-shadow), inset 0 0 0 1px #ffffff06;background:radial-gradient(circle at 8% 32%,#ffc64914,#0000 34%),linear-gradient(135deg,#f5a40012,#6aa3f709),#14161bc2;border:1px solid #ffc64994;gap:.16rem;margin:.25rem 0 1.15rem;padding:1rem 1.08rem;text-decoration:none;display:grid}.dataset-link-card span{color:var(--deck-muted);letter-spacing:.04em;font-size:.76rem;font-weight:800}.dataset-link-card strong{color:var(--deck-accent-hi);letter-spacing:-.055em;font-size:clamp(1.5rem,3.6vw,2.12rem);line-height:1}.compact-point-list{gap:.72rem;display:grid}.compact-point-list>div{border:1px solid var(--deck-border);border-radius:var(--deck-radius);background:#14161b8f;padding:.72rem .82rem}.compact-point-list strong,.compact-point-list span{display:block}.compact-point-list strong{color:var(--deck-text);letter-spacing:-.035em;font-size:1.02rem}.compact-point-list span{color:var(--deck-muted);margin-top:.14rem;font-size:.72rem;line-height:1.3}.stateless-discovery-slide{grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr);align-items:start;gap:1rem;height:calc(100% - 4.9rem);display:grid}.slidev-layout:has(.stateless-discovery-slide)>h1{color:var(--deck-text);text-shadow:0 0 14px #ffc64909}.stateless-discovery-copy{flex-direction:column;justify-content:start;min-width:0;min-height:0;display:flex}.stateless-discovery-copy .kicker{margin:0 0 .48rem}.stateless-discovery-copy h2{color:var(--deck-accent-hi);letter-spacing:-.075em;text-shadow:0 0 12px #ffc64909;font-size:clamp(1.68rem,3.62vw,2.38rem);line-height:.96;margin:0 0 .72rem!important}.stateless-discovery-copy .compact-point-list{gap:.52rem;margin:0}.stateless-discovery-copy .compact-point-list>div{padding:.72rem .86rem}.stateless-discovery-copy .compact-point-list dt{color:var(--deck-text);letter-spacing:-.035em;margin:0;font-size:1.28rem;font-weight:750;line-height:1.08}.stateless-discovery-copy .compact-point-list dd{color:var(--deck-muted);margin:.34rem 0 0;font-size:.94rem;line-height:1.24}.stateless-discovery-json{background:#0b0c0f8a;justify-self:end;width:min(100%,468px);min-width:0;min-height:0;padding:.64rem;overflow:hidden}.stateless-discovery-json .http-json{background:#0b0c0f61;border-color:#ffc6493d;height:100%;padding:.7rem .78rem;font-size:.76rem;line-height:1.16}.stateless-discovery-json .http-json-line{font-size:clamp(.58rem,.98vw,.76rem);line-height:1.27}.stateless-discovery-json .http-json-line--indent{padding-left:.86rem}.stateless-discovery-json .http-json-line--indent-2{padding-left:1.72rem}.stateless-discovery-json .http-json-line--indent-3{padding-left:2.58rem}.stateless-discovery-json .http-json mark{background:#ffc649c7}.stateless-discovery-json__gap{color:var(--deck-accent-hi);letter-spacing:.12em;text-transform:uppercase;margin:.2rem 0 .18rem;font-weight:850}.cache-control-slide{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);align-items:start;gap:1.15rem;height:calc(100% - 4.9rem);display:grid}.cache-control-copy{min-width:0}.cache-control-copy h2{color:var(--deck-accent-hi);letter-spacing:-.075em;font-size:clamp(1.72rem,3.45vw,2.32rem);line-height:.96;margin:0 0 .8rem!important}.cache-control-copy .compact-point-list{gap:.62rem}.cache-control-copy .compact-point-list>div{padding:.8rem .9rem}.cache-control-copy .compact-point-list strong{font-size:1.12rem;line-height:1.08}.cache-control-copy .compact-point-list span{margin-top:.32rem;font-size:.84rem;line-height:1.28}.cache-scope-table{background:radial-gradient(circle at 88% 12%,#ffc6490f,#0000 34%),#14161bb8;min-width:0;padding:1rem 1.05rem 1.1rem}.cache-scope-table .kicker{margin-bottom:.7rem}.cache-scope-table table{border-collapse:separate;border-spacing:0;border:1px solid var(--deck-border-2);border-radius:var(--deck-radius);background:#0b0c0f73;width:100%;overflow:hidden}.cache-scope-table th,.cache-scope-table td{border-bottom:1px solid var(--deck-border);vertical-align:top;padding:.82rem .9rem}.cache-scope-table tr:last-child td{border-bottom:0}.cache-scope-table th{color:var(--deck-text);letter-spacing:.12em;text-align:left;text-transform:uppercase;background:#f5a4001a;font-size:.76rem;font-weight:850}.cache-scope-table td{color:var(--deck-muted);font-size:.88rem;line-height:1.35}.cache-scope-table td:first-child{width:8.5rem;color:var(--deck-accent-hi);white-space:nowrap;font-weight:800}.mrtr-contrast-slide,.mrtr-cumulative-slide{align-items:start;gap:1.2rem;height:calc(100% - 4.9rem);display:grid}.mrtr-contrast-slide{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr)}.mrtr-cumulative-slide{grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr)}.mrtr-contrast-copy,.mrtr-cumulative-copy{min-width:0}.mrtr-contrast-copy h2,.mrtr-cumulative-copy h2{color:var(--deck-accent-hi);letter-spacing:-.075em;font-size:clamp(1.72rem,3.45vw,2.34rem);line-height:.96;margin:0 0 .82rem!important}.mrtr-contrast-copy .compact-point-list{gap:.62rem}.mrtr-contrast-copy .compact-point-list>div{padding:.82rem .9rem}.mrtr-contrast-copy .compact-point-list strong{font-size:1.13rem;line-height:1.08}.mrtr-contrast-copy .compact-point-list span{margin-top:.3rem;font-size:.86rem;line-height:1.28}.mrtr-stateful-flow,.mrtr-cumulative-flow{background:radial-gradient(circle at 88% 12%,#ffc6490f,#0000 34%),#14161bb8;min-width:0;padding:1rem 1.05rem}.mrtr-stateful-flow .kicker{margin-bottom:.8rem}.mrtr-flow-row{grid-template-columns:7rem minmax(4rem,.76fr) 4.4rem minmax(3.3rem,.58fr) 4.4rem;align-items:center;gap:.48rem;margin:.5rem 0;display:grid}.mrtr-node{min-width:0;color:var(--deck-text);text-align:center;border:1px solid var(--deck-info-line);border-radius:var(--deck-radius);background:#6aa3f714;padding:.78rem .56rem;font-size:1.02rem;font-weight:800;line-height:1}.mrtr-node--client{background:#f5a40014;border-color:#ffc6496b}.mrtr-node--lb{background:#6ad19c14;border-color:#6ad19c61}.mrtr-node--warn{background:#f06b5a14;border-color:#f06b5a75}.mrtr-arrow{color:var(--deck-muted);letter-spacing:.06em;text-align:center;text-transform:uppercase;font-size:.62rem;font-weight:800}.mrtr-arrow:after{content:" →";color:var(--deck-accent-hi)}.mrtr-sse{color:var(--deck-muted);text-align:center;border:1px dashed var(--deck-border-2);border-radius:var(--deck-radius);background:#0b0c0f57;margin:.72rem 2.2rem;padding:.68rem .9rem;font-size:.92rem;font-weight:750}.mrtr-problem{color:var(--deck-text);text-align:center;border-radius:var(--deck-radius);background:#f06b5a1a;border:1px solid #f06b5a80;margin-top:.85rem;padding:.82rem .9rem;font-size:1.1rem;font-weight:850}.mrtr-lede{max-width:26rem;color:var(--deck-muted);margin:0 0 1rem;font-size:1.02rem;line-height:1.38}.mrtr-field-strip{gap:.55rem;display:grid}.mrtr-field-strip span{color:var(--deck-accent-hi);border:1px solid var(--deck-border);border-radius:var(--deck-radius);background:#14161b94;padding:.72rem .82rem;font-size:.92rem;font-weight:800;display:block}.mrtr-field-strip span:before{content:"+ ";color:var(--deck-muted)}.mrtr-cumulative-flow{gap:.72rem;display:grid}.mrtr-step{border:1px solid var(--deck-border);border-radius:var(--deck-radius);background:#0b0c0f6b;grid-template-columns:3.2rem minmax(0,1fr);align-items:center;gap:.78rem;padding:.88rem .94rem;display:grid}.mrtr-step strong{width:2.25rem;height:2.25rem;color:var(--deck-bg);background:var(--deck-muted);border-radius:999px;place-items:center;font-size:1rem;font-weight:900;display:grid}.mrtr-step span{color:var(--deck-muted);font-size:1.02rem;line-height:1.25}.mrtr-step--accent{background:#f5a40014;border-color:#ffc64975}.mrtr-step--accent strong,.mrtr-step--final strong{background:var(--deck-accent-hi)}.mrtr-step--final{background:#6ad19c14;border-color:#6ad19c73}.mrtr-step--final span{color:var(--deck-text);font-weight:750}.dataset-screenshot{background:radial-gradient(circle at 76% 12%,#6aa3f712,#0000 32%),#0b0c0fc2;min-width:0;min-height:0;margin:0;overflow:hidden}.dataset-screenshot img{object-fit:cover;object-position:50% 0%;filter:saturate(.92)contrast(1.04);width:100%;height:100%;display:block}.simplifications-slide{grid-template-columns:minmax(0,.46fr) minmax(0,.54fr);grid-template-areas:"copy visual";align-items:start;gap:1.2rem 1.35rem;width:100%;height:calc(100% - 5.35rem);display:grid}.simplifications-copy{flex-direction:column;grid-area:copy;justify-content:start;min-width:0;min-height:0;display:flex}.simplifications-copy .kicker{margin-bottom:.48rem}.simplifications-copy h2{color:var(--deck-accent-hi);letter-spacing:-.075em;font-size:clamp(1.72rem,3.45vw,2.38rem);line-height:.96;margin:0 0 .82rem!important}.simplifications-copy .compact-point-list{gap:.62rem}.simplifications-copy .compact-point-list>div{padding:.76rem .86rem}.simplifications-copy .compact-point-list strong{font-size:1.14rem;line-height:1.08}.simplifications-copy .compact-point-list span{margin-top:.32rem;font-size:.84rem;line-height:1.26}.simplifications-webcam,.simplifications-protocol{background:radial-gradient(circle at 78% 14%,#6aa3f711,#0000 32%),#0b0c0fb8;min-width:0;min-height:0;margin:0;overflow:hidden}.simplifications-visual{flex-direction:column;grid-area:visual;gap:.75rem;min-width:0;min-height:0;display:flex}.simplifications-webcam{aspect-ratio:2020/670;align-self:start;width:100%;position:relative}.simplifications-webcam img{object-fit:contain;object-position:50% 50%;filter:saturate(.95)contrast(1.04);width:100%;height:100%;display:block}.simplifications-protocol{justify-self:end;width:100%;height:285px;margin-top:0;padding:.68rem}.http-standardization-problem{grid-template-columns:minmax(0,.92fr) minmax(430px,1.08fr);align-items:stretch;gap:1.35rem;height:calc(100% - 4.35rem);display:grid}.http-standardization-schema{place-items:stretch center;height:calc(100% - 4.35rem);display:grid}.http-standardization-schema>.http-request-panel{width:min(1120px,100%)}.http-request-panel{background:radial-gradient(circle at 78% 18%,#6aa3f70f,#0000 30%),#14161bc7;grid-template-rows:auto auto auto minmax(0,1fr);gap:.62rem;min-width:0;min-height:0;padding:.95rem;display:grid}.http-request-panel--tool{grid-template-rows:minmax(0,1fr);padding:1.25rem}.http-request-panel--solution{gap:.48rem;padding:.8rem}.http-request-panel h2{color:var(--deck-muted);text-align:center;letter-spacing:-.04em;margin:0;font-size:1.18rem;font-weight:800;line-height:1}.http-request-panel--solution h2{font-size:1.05rem}.http-tool-panel{border-radius:var(--deck-radius);background:linear-gradient(135deg,#f5a4001b,#0000 56%),#0b0c0f47;border:1px solid #ffc64952;min-width:0;padding:.62rem .78rem}.http-tool-panel--schema{min-height:0;padding:1.15rem 1.25rem}.http-schema-layout{grid-template-columns:minmax(0,1.22fr) minmax(300px,.78fr);align-items:stretch;gap:1rem;min-height:0;display:grid}.http-schema-notes{align-content:center;gap:.72rem;display:grid}.http-schema-notes>div{border:1px solid var(--deck-border);border-radius:var(--deck-radius);background:#14161b94;padding:.85rem .95rem}.http-schema-notes strong,.http-schema-notes span{display:block}.http-schema-notes strong{color:var(--deck-text);letter-spacing:-.04em;font-size:1rem}.http-schema-notes span{color:var(--deck-muted);margin-top:.24rem;font-size:.72rem;line-height:1.35}.http-schema-notes code{color:var(--deck-accent-hi)}.http-request-panel--solution .http-tool-panel{padding:.48rem .62rem}.http-request-panel--solution .http-tool-panel span{margin-bottom:.18rem;font-size:.52rem}.http-tool-panel span{color:var(--deck-dim);letter-spacing:.16em;text-transform:uppercase;margin-bottom:.32rem;font-size:.62rem;font-weight:900;display:block}.http-code-row{min-width:0;color:var(--deck-text);grid-template-columns:8.5rem minmax(0,1fr);align-items:baseline;gap:.62rem;font-size:.74rem;line-height:1.28;display:grid}.http-code-row+.http-code-row{margin-top:.18rem}.http-code-row em{color:var(--deck-dim);font-style:normal}.http-code-row strong{min-width:0;color:var(--deck-text);white-space:nowrap;text-overflow:ellipsis;font-weight:750;overflow:hidden}.http-json-line{color:var(--deck-text);white-space:nowrap;font-size:.74rem;line-height:1.34}.http-request-panel--tool .http-json-line{font-size:.92rem;line-height:1.28}.http-json-line--indent{padding-left:1.2rem}.http-json-line--indent-2{padding-left:2.4rem}.http-json-line--indent-3{padding-left:3.6rem}.http-json-line--indent-4{padding-left:4.8rem}.http-json-line em{color:var(--deck-muted);font-style:normal}.http-json-line strong{color:var(--deck-text)}.http-request-line{color:var(--deck-info);border-radius:var(--deck-radius);background:#6aa3f71a;border:1px solid #6aa3f73d;padding:.68rem .84rem;font-size:.94rem;line-height:1.28}.http-request-panel--problem .http-request-line{color:var(--deck-muted);background:#14161b70;border-color:#b9b3a538}.http-request-line--solution{background:linear-gradient(135deg,#f5a4001f,#0000 64%),#6aa3f71a;border-color:#ffc6497a}.http-request-panel--solution .http-request-line{padding:.48rem .62rem;font-size:.78rem;line-height:1.18}.http-request-panel--solution .http-json-line{font-size:.62rem;line-height:1.12}.http-request-panel--solution .http-json{padding:.58rem .66rem}.http-request-line strong,.http-request-line span{display:block}.http-request-line mark{display:inline-block}.http-json{min-height:0;color:var(--deck-text);border:1px solid var(--deck-border);border-radius:var(--deck-radius);box-shadow:none;background:#0b0c0f57;margin:0;padding:.78rem .88rem;font-size:.78rem;line-height:1.18;overflow:hidden}.http-json--packet{align-content:start;display:grid}.http-json mark,.http-tool-panel mark,.http-request-line mark{color:#19160b;background:var(--deck-accent-hi);border-radius:var(--deck-radius-sm);padding:.02rem .18rem}:is(.slidev-layout:has(.intro-video),.slidev-layout:has(.intro-video-root)){background:#000;padding:0;overflow:hidden}.slidev-layout:has(.intro-video):before{display:none}.slidev-layout:has(.intro-video-root):before{display:none}.intro-video{z-index:0;object-fit:cover;filter:saturate(.82)brightness(.9);background:#000;width:100%;height:100%;position:absolute;inset:0}.i-carbon-camera{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M29 26H3a1 1 0 0 1-1-1V8a1 1 0 0 1 1-1h6.46l1.71-2.55A1 1 0 0 1 12 4h8a1 1 0 0 1 .83.45L22.54 7H29a1 1 0 0 1 1 1v17a1 1 0 0 1-1 1M4 24h24V9h-6a1 1 0 0 1-.83-.45L19.46 6h-6.92l-1.71 2.55A1 1 0 0 1 10 9H4Z'/%3E%3Cpath fill='currentColor' d='M16 22a6 6 0 1 1 6-6a6 6 0 0 1-6 6m0-10a4 4 0 1 0 4 4a4 4 0 0 0-4-4'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1em;height:1em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.i-carbon-magic-wand{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M29.414 24L12 6.586a2.05 2.05 0 0 0-2.828 0L6.586 9.172a2 2 0 0 0 0 2.828l17.413 17.414a2 2 0 0 0 2.828 0l2.587-2.586a2 2 0 0 0 0-2.828M8 10.586L10.586 8l5 5l-2.587 2.587zM25.413 28l-11-10.999L17 14.414l11 11ZM2 16l2-2l2 2l-2 2zM14 4l2-2l2 2l-2 2zM2 4l2-2l2 2l-2 2z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1em;height:1em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.i-carbon-magic-wand-filled{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M29.414 24L12 6.586a2.05 2.05 0 0 0-2.828 0L6.586 9.172a2 2 0 0 0 0 2.828l17.413 17.414a2 2 0 0 0 2.828 0l2.587-2.586a2 2 0 0 0 0-2.828M8 10.586L10.586 8l5 5l-2.587 2.587zM2 16l2-2l2 2l-2 2zM14 4l2-2l2 2l-2 2zM2 4l2-2l2 2l-2 2z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1em;height:1em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.i-carbon-moon{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M13.503 5.414a15.076 15.076 0 0 0 11.593 18.194a11.1 11.1 0 0 1-7.975 3.39c-.138 0-.278.005-.418 0a11.094 11.094 0 0 1-3.2-21.584M14.98 3a1 1 0 0 0-.175.016a13.096 13.096 0 0 0 1.825 25.981c.164.006.328 0 .49 0a13.07 13.07 0 0 0 10.703-5.555a1.01 1.01 0 0 0-.783-1.565A13.08 13.08 0 0 1 15.89 4.38A1.015 1.015 0 0 0 14.98 3'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1em;height:1em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.i-carbon-sun{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M16 12.005a4 4 0 1 1-4 4a4.005 4.005 0 0 1 4-4m0-2a6 6 0 1 0 6 6a6 6 0 0 0-6-6M5.394 6.813L6.81 5.399l3.505 3.506L8.9 10.319zM2 15.005h5v2H2zm3.394 10.193L8.9 21.692l1.414 1.414l-3.505 3.506zM15 25.005h2v5h-2zm6.687-1.9l1.414-1.414l3.506 3.506l-1.414 1.414zm3.313-8.1h5v2h-5zm-3.313-6.101l3.506-3.506l1.414 1.414l-3.506 3.506zM15 2.005h2v5h-2z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1em;height:1em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.i-carbon\:apps{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M8 4v4H4V4Zm2-2H2v8h8Zm8 2v4h-4V4Zm2-2h-8v8h8Zm8 2v4h-4V4Zm2-2h-8v8h8ZM8 14v4H4v-4Zm2-2H2v8h8Zm8 2v4h-4v-4Zm2-2h-8v8h8Zm8 2v4h-4v-4Zm2-2h-8v8h8ZM8 24v4H4v-4Zm2-2H2v8h8Zm8 2v4h-4v-4Zm2-2h-8v8h8Zm8 2v4h-4v-4Zm2-2h-8v8h8Z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1em;height:1em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.i-carbon\:arrow-down{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M24.59 16.59L17 24.17V4h-2v20.17l-7.59-7.58L6 18l10 10l10-10z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1em;height:1em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.i-carbon\:arrow-left{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='m14 26l1.41-1.41L7.83 17H28v-2H7.83l7.58-7.59L14 6L4 16z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1em;height:1em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.i-carbon\:arrow-right{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='m18 6l-1.43 1.393L24.15 15H4v2h20.15l-7.58 7.573L18 26l10-10z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1em;height:1em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.i-carbon\:arrow-up{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M16 4L6 14l1.41 1.41L15 7.83V28h2V7.83l7.59 7.58L26 14z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1em;height:1em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.i-carbon\:arrow-up-right{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M10 6v2h12.59L6 24.59L7.41 26L24 9.41V22h2V6z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1em;height:1em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.i-carbon\:catalog{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M26 2H8a2 2 0 0 0-2 2v4H4v2h2v5H4v2h2v5H4v2h2v4a2 2 0 0 0 2 2h18a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2m0 26H8v-4h2v-2H8v-5h2v-2H8v-5h2V8H8V4h18Z'/%3E%3Cpath fill='currentColor' d='M14 8h8v2h-8zm0 7h8v2h-8zm0 7h8v2h-8z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1em;height:1em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.i-carbon\:checkbox{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M26 4H6a2 2 0 0 0-2 2v20a2 2 0 0 0 2 2h20a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2M6 26V6h20v20Z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1em;height:1em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.i-carbon\:checkmark{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='m13 24l-9-9l1.414-1.414L13 21.171L26.586 7.586L28 9z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1em;height:1em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.i-carbon\:cics-program{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='m20.17 19l-2.59 2.59L19 23l4-4l-4-4l-1.42 1.41zm-8.34 0l2.59-2.59L13 15l-4 4l4 4l1.42-1.41z'/%3E%3Ccircle cx='9' cy='8' r='1' fill='currentColor'/%3E%3Ccircle cx='6' cy='8' r='1' fill='currentColor'/%3E%3Cpath fill='currentColor' d='M28 4H4c-1.103 0-2 .898-2 2v20c0 1.103.897 2 2 2h24c1.103 0 2-.897 2-2V6c0-1.102-.897-2-2-2m0 2v4H4V6zM4 26V12h24v14z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1em;height:1em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.i-carbon\:close{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M17.414 16L24 9.414L22.586 8L16 14.586L9.414 8L8 9.414L14.586 16L8 22.586L9.414 24L16 17.414L22.586 24L24 22.586z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1em;height:1em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.i-carbon\:close-outline{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M16 2C8.2 2 2 8.2 2 16s6.2 14 14 14s14-6.2 14-14S23.8 2 16 2m0 26C9.4 28 4 22.6 4 16S9.4 4 16 4s12 5.4 12 12s-5.4 12-12 12'/%3E%3Cpath fill='currentColor' d='M21.4 23L16 17.6L10.6 23L9 21.4l5.4-5.4L9 10.6L10.6 9l5.4 5.4L21.4 9l1.6 1.6l-5.4 5.4l5.4 5.4z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1em;height:1em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.i-carbon\:cursor-1{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M23 28a1 1 0 0 1-.71-.29l-6.13-6.14l-3.33 5a1 1 0 0 1-1 .44a1 1 0 0 1-.81-.7l-6-20A1 1 0 0 1 6.29 5l20 6a1 1 0 0 1 .7.81a1 1 0 0 1-.44 1l-5 3.33l6.14 6.13a1 1 0 0 1 0 1.42l-4 4A1 1 0 0 1 23 28m0-2.41L25.59 23l-7.16-7.15l5.25-3.5L7.49 7.49l4.86 16.19l3.5-5.25Z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1em;height:1em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.i-carbon\:document-pdf{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M30 18v-2h-6v10h2v-4h3v-2h-3v-2zm-11 8h-4V16h4a3.003 3.003 0 0 1 3 3v4a3.003 3.003 0 0 1-3 3m-2-2h2a1 1 0 0 0 1-1v-4a1 1 0 0 0-1-1h-2Zm-6-8H6v10h2v-3h3a2.003 2.003 0 0 0 2-2v-3a2 2 0 0 0-2-2m-3 5v-3h3l.001 3Z'/%3E%3Cpath fill='currentColor' d='M22 14v-4a.91.91 0 0 0-.3-.7l-7-7A.9.9 0 0 0 14 2H4a2.006 2.006 0 0 0-2 2v24a2 2 0 0 0 2 2h16v-2H4V4h8v6a2.006 2.006 0 0 0 2 2h6v2Zm-8-4V4.4l5.6 5.6Z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1em;height:1em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.i-carbon\:download{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M26 24v4H6v-4H4v4a2 2 0 0 0 2 2h20a2 2 0 0 0 2-2v-4Zm0-10l-1.41-1.41L17 20.17V2h-2v18.17l-7.59-7.58L6 14l10 10z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1em;height:1em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.i-carbon\:drop-photo{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M19 26a4 4 0 1 1 4-4a4.005 4.005 0 0 1-4 4m0-6a2 2 0 1 0 2 2a2 2 0 0 0-2-2'/%3E%3Cpath fill='currentColor' d='M27 29H11a2 2 0 0 1-2-2v-9a2 2 0 0 1 2-2h3.28l.543-1.632A2 2 0 0 1 16.721 13h4.558a2 2 0 0 1 1.898 1.368L23.72 16H27a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2m-16-2h16v-9h-4.72l-1-3h-4.56l-1 3H11Zm16-16h2v2h-2zm0-4h2v2h-2zm0-4h2v2h-2zm-4 0h2v2h-2zm-4 0h2v2h-2zm-4 0h2v2h-2zm-4 0h2v2h-2zM7 3h2v2H7zM3 3h2v2H3zm0 4h2v2H3zm0 4h2v2H3zm0 4h2v2H3zm0 4h2v2H3zm0 4h2v2H3zm0 4h2v2H3z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1em;height:1em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.i-carbon\:edit{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M2 26h28v2H2zM25.4 9c.8-.8.8-2 0-2.8l-3.6-3.6c-.8-.8-2-.8-2.8 0l-15 15V24h6.4zm-5-5L24 7.6l-3 3L17.4 7zM6 22v-3.6l10-10l3.6 3.6l-10 10z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1em;height:1em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.i-carbon\:erase{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M7 27h23v2H7zm20.38-16.49l-7.93-7.92a2 2 0 0 0-2.83 0l-14 14a2 2 0 0 0 0 2.83L7.13 24h9.59l10.66-10.66a2 2 0 0 0 0-2.83M15.89 22H8l-4-4l6.31-6.31l7.93 7.92Zm3.76-3.76l-7.92-7.93L18 4l8 7.93Z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1em;height:1em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.i-carbon\:error{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M2 16A14 14 0 1 0 16 2A14 14 0 0 0 2 16m23.15 7.75L8.25 6.85a12 12 0 0 1 16.9 16.9M8.24 25.16a12 12 0 0 1-1.4-16.89l16.89 16.89a12 12 0 0 1-15.49 0'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1em;height:1em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.i-carbon\:help{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M16 2a14 14 0 1 0 14 14A14 14 0 0 0 16 2m0 26a12 12 0 1 1 12-12a12 12 0 0 1-12 12'/%3E%3Ccircle cx='16' cy='23.5' r='1.5' fill='currentColor'/%3E%3Cpath fill='currentColor' d='M17 8h-1.5a4.49 4.49 0 0 0-4.5 4.5v.5h2v-.5a2.5 2.5 0 0 1 2.5-2.5H17a2.5 2.5 0 0 1 0 5h-2v4.5h2V17a4.5 4.5 0 0 0 0-9'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1em;height:1em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.i-carbon\:information{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M17 22v-8h-4v2h2v6h-3v2h8v-2zM16 8a1.5 1.5 0 1 0 1.5 1.5A1.5 1.5 0 0 0 16 8'/%3E%3Cpath fill='currentColor' d='M16 30a14 14 0 1 1 14-14a14 14 0 0 1-14 14m0-26a12 12 0 1 0 12 12A12 12 0 0 0 16 4'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1em;height:1em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.i-carbon\:list-boxes{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M16 8h14v2H16zm0 14h14v2H16zm-6-8H4a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v6a2 2 0 0 1-2 2M4 6v6h6.001L10 6Zm6 22H4a2 2 0 0 1-2-2v-6a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v6a2 2 0 0 1-2 2m-6-8v6h6.001L10 20Z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1em;height:1em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.i-carbon\:maximize{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M20 2v2h6.586L18 12.582L19.414 14L28 5.414V12h2V2zm-6 17.416L12.592 18L4 26.586V20H2v10h10v-2H5.414z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1em;height:1em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.i-carbon\:minimize{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M4 18v2h6.586L2 28.582L3.414 30L12 21.414V28h2V18zM30 3.416L28.592 2L20 10.586V4h-2v10h10v-2h-6.586z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1em;height:1em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.i-carbon\:pause{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M12 8v16H8V8zm0-2H8a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h4a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2m12 2v16h-4V8zm0-2h-4a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h4a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1em;height:1em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.i-carbon\:pen{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M27.307 6.107L30 3.414L28.586 2l-2.693 2.693L24.8 3.6a1.933 1.933 0 0 0-2.8 0l-18 18V28h6.4l18-18a1.933 1.933 0 0 0 0-2.8ZM9.6 26H6v-3.6L23.4 5L27 8.6ZM9 11.586L16.586 4L18 5.414L10.414 13z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1em;height:1em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.i-carbon\:pin{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M28.59 13.31L30 11.9L20 2l-1.31 1.42l1.18 1.18l-11.49 9.72l-1.72-1.71L5.25 14l5.66 5.68L2 28.58L3.41 30l8.91-8.91L18 26.75l1.39-1.42l-1.71-1.71l9.72-11.49ZM16.26 22.2L9.8 15.74L21.29 6L26 10.71Z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1em;height:1em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.i-carbon\:pin-filled{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M28.586 13.314L30 11.9L20 2l-1.314 1.415l1.186 1.186L8.38 14.322l-1.716-1.715L5.25 14l5.657 5.677L2 28.583L3.41 30l8.911-8.909L18 26.748l1.393-1.414l-1.716-1.716l9.724-11.49Z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1em;height:1em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.i-carbon\:play{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M7 28a1 1 0 0 1-1-1V5a1 1 0 0 1 1.482-.876l20 11a1 1 0 0 1 0 1.752l-20 11A1 1 0 0 1 7 28M8 6.69v18.62L24.925 16Z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1em;height:1em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.i-carbon\:presentation-file{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M15 10h2v8h-2zm5 4h2v4h-2zm-10-2h2v6h-2z'/%3E%3Cpath fill='currentColor' d='M25 4h-8V2h-2v2H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h8v6h-4v2h10v-2h-4v-6h8a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2m0 16H7V6h18Z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1em;height:1em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.i-carbon\:radio-button{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M16 2a14 14 0 1 0 14 14A14 14 0 0 0 16 2m0 26a12 12 0 1 1 12-12a12 12 0 0 1-12 12'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1em;height:1em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.i-carbon\:redo{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M12 10h12.185l-3.587-3.586L22 5l6 6l-6 6l-1.402-1.415L24.182 12H12a6 6 0 0 0 0 12h8v2h-8a8 8 0 0 1 0-16'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1em;height:1em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.i-carbon\:renew{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M12 10H6.78A11 11 0 0 1 27 16h2A13 13 0 0 0 6 7.68V4H4v8h8Zm8 12h5.22A11 11 0 0 1 5 16H3a13 13 0 0 0 23 8.32V28h2v-8h-8Z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1em;height:1em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.i-carbon\:settings-adjust{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M30 8h-4.1c-.5-2.3-2.5-4-4.9-4s-4.4 1.7-4.9 4H2v2h14.1c.5 2.3 2.5 4 4.9 4s4.4-1.7 4.9-4H30zm-9 4c-1.7 0-3-1.3-3-3s1.3-3 3-3s3 1.3 3 3s-1.3 3-3 3M2 24h4.1c.5 2.3 2.5 4 4.9 4s4.4-1.7 4.9-4H30v-2H15.9c-.5-2.3-2.5-4-4.9-4s-4.4 1.7-4.9 4H2zm9-4c1.7 0 3 1.3 3 3s-1.3 3-3 3s-3-1.3-3-3s1.3-3 3-3'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1em;height:1em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.i-carbon\:template{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M26 6v4H6V6zm0-2H6a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h20a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2M10 16v10H6V16zm0-2H6a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h4a2 2 0 0 0 2-2V16a2 2 0 0 0-2-2m16 2v10H16V16zm0-2H16a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V16a2 2 0 0 0-2-2'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1em;height:1em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.i-carbon\:text-annotation-toggle{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath d='M29.537 13.76l-3.297-3.297a1.586 1.586 0 0 0-2.24 0L10 24.467V30h5.533l14.004-14a1.586 1.586 0 0 0 0-2.24zM14.704 28H12v-2.704l9.44-9.441l2.705 2.704zM25.56 17.145l-2.704-2.704l2.267-2.267l2.704 2.704z' fill='currentColor'/%3E%3Cpath d='M11 17h2v-7h3V8H8v2h3v7z' fill='currentColor'/%3E%3Cpath d='M8 20H4V4h16v4h2V4a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h4z' fill='currentColor'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1em;height:1em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.i-carbon\:time{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M16 30a14 14 0 1 1 14-14a14 14 0 0 1-14 14m0-26a12 12 0 1 0 12 12A12 12 0 0 0 16 4'/%3E%3Cpath fill='currentColor' d='M20.59 22L15 16.41V7h2v8.58l5 5.01z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1em;height:1em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.i-carbon\:timer{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M15 11h2v9h-2zm-2-9h6v2h-6z'/%3E%3Cpath fill='currentColor' d='m28 9l-1.42-1.41l-2.25 2.25a10.94 10.94 0 1 0 1.18 1.65ZM16 26a9 9 0 1 1 9-9a9 9 0 0 1-9 9'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1em;height:1em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.i-carbon\:trash-can{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M12 12h2v12h-2zm6 0h2v12h-2z'/%3E%3Cpath fill='currentColor' d='M4 6v2h2v20a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V8h2V6Zm4 22V8h16v20Zm4-26h8v2h-8z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1em;height:1em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.i-carbon\:undo{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M20 10H7.815l3.587-3.586L10 5l-6 6l6 6l1.402-1.415L7.818 12H20a6 6 0 0 1 0 12h-8v2h8a8 8 0 0 0 0-16'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1em;height:1em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.i-carbon\:user-speaker{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M29.415 19L27.7 17.285A3 3 0 0 0 28 16a3 3 0 1 0-3 3a3 3 0 0 0 1.286-.3L28 20.414V28h-6v-3a7.01 7.01 0 0 0-7-7H9a7.01 7.01 0 0 0-7 7v5h28v-9.586A2 2 0 0 0 29.415 19M4 25a5.006 5.006 0 0 1 5-5h6a5.006 5.006 0 0 1 5 5v3H4Z'/%3E%3Cpath fill='currentColor' d='M12 4a5 5 0 1 1-5 5a5 5 0 0 1 5-5m0-2a7 7 0 1 0 7 7a7 7 0 0 0-7-7'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1em;height:1em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.i-carbon\:zoom-in{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M18 12h-4V8h-2v4H8v2h4v4h2v-4h4z'/%3E%3Cpath fill='currentColor' d='M21.448 20A10.86 10.86 0 0 0 24 13a11 11 0 1 0-11 11a10.86 10.86 0 0 0 7-2.552L27.586 29L29 27.586ZM13 22a9 9 0 1 1 9-9a9.01 9.01 0 0 1-9 9'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1em;height:1em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.i-carbon\:zoom-out{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M8 12h10v2H8z'/%3E%3Cpath fill='currentColor' d='M21.448 20A10.86 10.86 0 0 0 24 13a11 11 0 1 0-11 11a10.86 10.86 0 0 0 7-2.552L27.586 29L29 27.586ZM13 22a9 9 0 1 1 9-9a9.01 9.01 0 0 1-9 9'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1em;height:1em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.i-ph-cursor-duotone{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 256 256' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cg fill='currentColor'%3E%3Cpath d='M213.66 201L201 213.66a8 8 0 0 1-11.31 0l-51.31-51.31a8 8 0 0 0-13 2.46l-17.82 46.41a8 8 0 0 1-14.85-.71L40.41 50.44a8 8 0 0 1 10-10l160.1 52.24a8 8 0 0 1 .71 14.85l-46.41 17.82a8 8 0 0 0-2.46 13l51.31 51.31a8 8 0 0 1 0 11.34' opacity='.2'/%3E%3Cpath d='M168 132.69L214.08 115l.33-.13a16 16 0 0 0-1.41-29.8L52.92 32.8A15.95 15.95 0 0 0 32.8 52.92L85.07 213a15.82 15.82 0 0 0 14.41 11h.78a15.84 15.84 0 0 0 14.61-9.59l.13-.33L132.69 168L184 219.31a16 16 0 0 0 22.63 0l12.68-12.68a16 16 0 0 0 0-22.63ZM195.31 208L144 156.69a16 16 0 0 0-26 4.93c0 .11-.09.22-.13.32l-17.65 46L48 48l159.85 52.2l-45.95 17.64l-.32.13a16 16 0 0 0-4.93 26L208 195.31Z'/%3E%3C/g%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1em;height:1em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.i-ph-cursor-fill{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 256 256' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='m220.49 207.8l-12.69 12.69a12 12 0 0 1-17 0l-56.57-56.57L115 214.08l-.13.33a15.84 15.84 0 0 1-14.61 9.59h-.78a15.82 15.82 0 0 1-14.41-11L32.8 52.92A15.95 15.95 0 0 1 52.92 32.8L213 85.07a16 16 0 0 1 1.41 29.8l-.33.13l-50.16 19.27l56.57 56.56a12 12 0 0 1 0 16.97'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1em;height:1em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.i-ph\:arrow-down-bold{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 256 256' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='m208.49 152.49l-72 72a12 12 0 0 1-17 0l-72-72a12 12 0 0 1 17-17L116 187V40a12 12 0 0 1 24 0v147l51.51-51.52a12 12 0 0 1 17 17Z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1em;height:1em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.i-ph\:arrow-up-bold{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 256 256' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M208.49 120.49a12 12 0 0 1-17 0L140 69v147a12 12 0 0 1-24 0V69l-51.51 51.49a12 12 0 0 1-17-17l72-72a12 12 0 0 1 17 0l72 72a12 12 0 0 1 0 17'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1em;height:1em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.i-svg-spinners-90-ring-with-bg{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M12,1A11,11,0,1,0,23,12,11,11,0,0,0,12,1Zm0,19a8,8,0,1,1,8-8A8,8,0,0,1,12,20Z' opacity='.25'/%3E%3Cpath fill='currentColor' d='M10.14,1.16a11,11,0,0,0-9,8.92A1.59,1.59,0,0,0,2.46,12,1.52,1.52,0,0,0,4.11,10.7a8,8,0,0,1,6.66-6.61A1.42,1.42,0,0,0,12,2.69h0A1.57,1.57,0,0,0,10.14,1.16Z'%3E%3CanimateTransform attributeName='transform' dur='0.75s' repeatCount='indefinite' type='rotate' values='0 12 12;360 12 12'/%3E%3C/path%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1em;height:1em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.pointer-events-none,[pointer-events-none=""]{pointer-events:none}.visible{visibility:visible}.absolute,[absolute=""]{position:absolute}.fixed,[fixed=""]{position:fixed}.relative,[relative=""]{position:relative}.inset-0,[inset-0=""]{inset:0}[end~="128"]{inset-inline-end:32rem}[end~="9"]{inset-inline-end:2.25rem}.-top-15px{top:-15px}.-top-20{top:-5rem}.bottom-\[-6px\]{bottom:-6px}.bottom-0,[bottom-0=""]{bottom:0}.bottom-1,[bottom-1=""]{bottom:.25rem}.bottom-10{bottom:2.5rem}.bottom-5{bottom:1.25rem}.left-0,[left-0=""]{left:0}.left-1{left:.25rem}.left-1\/2{left:50%}.left-110\%{left:110%}.right--2,[right--2=""]{right:-.5rem}.right-\[-6px\]{right:-6px}.right-0,[right-0=""]{right:0}.right-0\.5,[right-0\.5=""]{right:.125rem}.right-1,[right-1=""]{right:.25rem}.right-4{right:1rem}.right-5,[right-5=""]{right:1.25rem}.top-\[-6px\]{top:-6px}.top-0,[top-0=""]{top:0}.top-0\.5,[top-0\.5=""]{top:.125rem}.top-1\/2,.top-50\%{top:50%}.top-4{top:1rem}.top-5{top:1.25rem}.-z-1{z-index:-1}.z-1,[z-1=""]{z-index:1}.z-10,[z-10=""]{z-index:10}.grid,[grid=""]{display:grid}.grid-cols-\[1fr_max-content\]{grid-template-columns:1fr max-content}.grid-cols-\[35px_1fr\]{grid-template-columns:35px 1fr}.grid-rows-\[1fr_max-content\]{grid-template-rows:1fr max-content}.grid-rows-\[1fr_min-content\]{grid-template-rows:1fr min-content}.grid-rows-\[auto_max-content\]{grid-template-rows:auto max-content}.grid-rows-\[max-content_1fr\]{grid-template-rows:max-content 1fr}.m--1,[m--1=""]{margin:-.25rem}.m-1{margin:.25rem}.m-auto,.ma{margin:auto}.m0,[m0=""]{margin:0}.children\:my-auto>*,.my-auto,.mya{margin-top:auto;margin-bottom:auto}.mx--1\.2{margin-left:-.3rem;margin-right:-.3rem}.mx-auto{margin-left:auto;margin-right:auto}.my-1,.my1{margin-top:.25rem;margin-bottom:.25rem}.my2{margin-top:.5rem;margin-bottom:.5rem}.my4{margin-top:1rem;margin-bottom:1rem}.my5{margin-top:1.25rem;margin-bottom:1.25rem}.-mt-0\.5{margin-top:-.125rem}.mb-4{margin-bottom:1rem}.mb2{margin-bottom:.5rem}.ml--4{margin-left:-1rem}.mr--3,[mr--3=""]{margin-right:-.75rem}.mr--8{margin-right:-2rem}.mr-2{margin-right:.5rem}.mr1{margin-right:.25rem}.ms{margin-inline-start:1rem}.mt-0\.5{margin-top:.125rem}.mt-1,.mt1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-px{margin-top:1px}.block{display:block}.inline-block{display:inline-block}.\!hidden{display:none!important}.hidden,[hidden=""],.group:hover .group-hover\:hidden,.group:not(:hover) .group-not-hover\:hidden{display:none}.aspect-ratio-initial{aspect-ratio:initial}.h-\[40px\]{height:40px}.h-\[calc\(var\(--vh\,1vh\)\*100\)\]{height:calc(var(--vh,1vh) * 100)}.h-0\.7{height:.175rem}.h-1\.5,[h-1\.5=""]{height:.375rem}.h-1px{height:1px}.h-2,.h2,[h-2=""]{height:.5rem}.h-22px,[h-22px=""]{height:22px}.h-40{height:10rem}.h-4px{height:4px}.h-5,.h5,[h-5=""],[h5=""]{height:1.25rem}.h-6{height:1.5rem}.h-8,[h-8=""]{height:2rem}.h-9,[h-9=""]{height:2.25rem}.h-full,[h-full=""]{height:100%}.h-max{height:max-content}.h-screen{height:100vh}.h1,[h1=""]{height:.25rem}.h3{height:.75rem}.max-h-full{max-height:100%}.max-h-full\!{max-height:100%!important}.max-w-150{max-width:37.5rem}.max-w-250,[max-w-250=""]{max-width:62.5rem}.max-w-90,[max-w-90=""]{max-width:22.5rem}.max-w-full{max-width:100%}.max-w-full\!{max-width:100%!important}.max-w-xs{max-width:20rem}.min-h-50{min-height:12.5rem}.min-h-full\!{min-height:100%!important}.min-w-16{min-width:4rem}.min-w-30,[min-w-30=""]{min-width:7.5rem}.min-w-40{min-width:10rem}.min-w-90,[min-w-90=""]{min-width:22.5rem}.min-w-full\!{min-width:100%!important}.w-\[40px\]{width:40px}.w-0{width:0}.w-1\.5,[w-1\.5=""]{width:.375rem}.w-13{width:3.25rem}.w-1px,[w-1px=""]{width:1px}.w-2,[w-2=""]{width:.5rem}.w-20,[w-20=""]{width:5rem}.w-200{width:50rem}.w-22px{width:22px}.w-250,[w-250=""]{width:62.5rem}.w-30,[w-30=""]{width:7.5rem}.w-5,[w-5=""]{width:1.25rem}.w-6{width:1.5rem}.w-60,[w-60=""]{width:15rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-9,[w-9=""]{width:2.25rem}.w-90,[w-90=""]{width:22.5rem}.w-full,[w-full=""]{width:100%}.w-full\!{width:100%!important}.w-screen{width:100vw}.w1,[w1=""]{width:.25rem}.flex,[flex=""],[flex~=\~]{display:flex}.flex-1{flex:1}.flex-auto,[flex-auto=""]{flex:auto}.flex-none{flex:none}[flex~=row]{flex-direction:row}.flex-col,[flex-col=""],[flex~=col]{flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-wrap-reverse{flex-wrap:wrap-reverse}.table,[table=""]{display:table}.table-cell,[table-cell=""]{display:table-cell}.table-row,[table-row=""]{display:table-row}.border-collapse,[border-collapse=""]{border-collapse:collapse}.translate-0{--un-translate-x:0;--un-translate-y:0;transform:translateX(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotateZ(var(--un-rotate-z)) skewX(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z))}.translate-y--50\%{--un-translate-y:-50%;transform:translateX(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotateZ(var(--un-rotate-z)) skewX(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z))}.-rotate-45{--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-rotate:-45deg;transform:translateX(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotateZ(var(--un-rotate-z)) skewX(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z))}.scale-102{--un-scale-x:1.02;--un-scale-y:1.02;transform:translateX(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotateZ(var(--un-rotate-z)) skewX(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z))}.scale-85{--un-scale-x:.85;--un-scale-y:.85;transform:translateX(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotateZ(var(--un-rotate-z)) skewX(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z))}.scale-x-80{--un-scale-x:.8;transform:translateX(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotateZ(var(--un-rotate-z)) skewX(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z))}.transform,[transform=""]{transform:translateX(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotateZ(var(--un-rotate-z)) skewX(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z))}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.animate-fade-in{animation:1s linear fade-in}.animate-duration-100{animation-duration:.1s}.cursor-default{cursor:default}.cursor-pointer,[cursor-pointer=""]{cursor:pointer}.touch-none{touch-action:none}.important\:\[\&_\*\]\:select-none *{-webkit-user-select:none!important;user-select:none!important}.select-none,[select-none=""],[select-none~=default\:]:default{-webkit-user-select:none;user-select:none}.resize{resize:both}.resize-none{resize:none}.break-after-page{break-after:page}.items-end{align-items:flex-end}.items-center,[flex~=items-center],[items-center=""]{align-items:center}.justify-center,[flex~=justify-center],[justify-center=""]{justify-content:center}.justify-items-start{justify-items:start}.gap-0\.2{gap:.05rem}.gap-0\.5{gap:.125rem}.gap-1,[flex~=gap-1]{gap:.25rem}.gap-2,[flex~=gap-2],[gap-2=""]{gap:.5rem}.gap-4,[flex~=gap-4]{gap:1rem}.gap-5{gap:1.25rem}.gap-px{gap:1px}.gap-x-8{column-gap:2rem}.gap-y-4{row-gap:1rem}.of-auto,.overflow-auto{overflow:auto}.of-hidden,.overflow-hidden,[of-hidden=""],[overflow-hidden=""]{overflow:hidden}.of-x-visible{overflow-x:visible}.of-y-auto,.overflow-y-auto{overflow-y:auto}.whitespace-nowrap,.ws-nowrap,[ws-nowrap=""]{white-space:nowrap}.b,.border,.dark .dark\:border,.dark [dark\:border~=\~],[b=""],[border=""],[border~=\~]{border-width:1px}.border-2,[b~="2"]{border-width:2px}[b~="100%"]{border-width:100%}[b~="16"]{border-width:16px}[b~="50%"]{border-width:50%}[b~="64"]{border-width:64px}[border~="0"]{border-width:0}.border-x,[b~=x]{border-left-width:1px;border-right-width:1px}[b~=y],[border~=y]{border-top-width:1px;border-bottom-width:1px}.border-b,[b~=b],[border~=b]{border-bottom-width:1px}.border-l{border-left-width:1px}.border-r,[border~=r]{border-right-width:1px}.border-r-2{border-right-width:2px}.border-t,[border-t=""],[border~=t]{border-top-width:1px}.border-inline{border-inline-width:1px}.b-dark{--un-border-opacity:1;border-color:rgb(34 34 34/var(--un-border-opacity))}.border-gray,.dark .dark\:b-gray-400,[border-gray=""]{--un-border-opacity:1;border-color:rgb(156 163 175/var(--un-border-opacity))}.border-gray-300\/50{border-color:#d1d5db80}.border-transparent,[border~=transparent]{border-color:#0000}.border-white{--un-border-opacity:1;border-color:rgb(255 255 255/var(--un-border-opacity))}.dark .dark\:border-gray-500,.dark [dark\:border-gray-500=""]{--un-border-opacity:1;border-color:rgb(107 114 128/var(--un-border-opacity))}[b-dark~="1"]{--un-border-opacity:1;border-color:rgb(60 60 60/var(--un-border-opacity))}.dark [b~=dark\:b-gray-400]{--un-border-opacity:1;--un-border-bottom-opacity:var(--un-border-opacity);border-bottom-color:rgb(156 163 175/var(--un-border-bottom-opacity))}[b~=b-dark]{--un-border-opacity:1;--un-border-bottom-opacity:var(--un-border-opacity);border-bottom-color:rgb(34 34 34/var(--un-border-bottom-opacity))}.rounded,[border~=rounded],[rounded=""]{border-radius:.25rem}.rounded-1\/2{border-radius:50%}.rounded-full,[rounded-full=""]{border-radius:9999px}.rounded-md,[border~=rounded-md]{border-radius:.375rem}.rounded-l{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-r{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.rounded-lb{border-bottom-left-radius:.25rem}.rounded-tl{border-top-left-radius:.25rem}.\!border-none{border-style:none!important}.b-dashed{border-style:dashed}[b~=b-dashed]{border-bottom-style:dashed}.bg-blue{--un-bg-opacity:1;background-color:rgb(96 165 250/var(--un-bg-opacity)) }.bg-current{background-color:currentColor}.bg-cyan\:10,[bg-cyan\:10=""]{background-color:#22d3ee1a}.bg-gray,[bg-gray=""]{--un-bg-opacity:1;background-color:rgb(156 163 175/var(--un-bg-opacity)) }.bg-gray\:10,.bg-gray\/10{background-color:#9ca3af1a}.bg-gray\:4,[bg-gray\:4=""]{background-color:#9ca3af0a}.bg-gray\:5,.bg-gray\/5,[bg-gray\:5=""]{background-color:#9ca3af0d}.bg-gray\/20{background-color:#9ca3af33}.bg-green{--un-bg-opacity:1;background-color:rgb(74 222 128/var(--un-bg-opacity)) }.bg-red{--un-bg-opacity:1;background-color:rgb(248 113 113/var(--un-bg-opacity)) }.bg-transparent{background-color:#0000}.bg-yellow{--un-bg-opacity:1;background-color:rgb(250 204 21/var(--un-bg-opacity)) }.dark .dark\:bg-gray-800,.dark [dark\:bg-gray-800=""]{--un-bg-opacity:1;background-color:rgb(31 41 55/var(--un-bg-opacity)) }[bg~=black]{--un-bg-opacity:1;background-color:rgb(0 0 0/var(--un-bg-opacity)) }.hover\:bg-gray-400:hover{--un-bg-opacity:1;background-color:rgb(156 163 175/var(--un-bg-opacity)) }.hover\:bg-gray\/20:hover{background-color:#9ca3af33}[bg-transparent~=placeholder\:]::placeholder{background-color:#0000}.\!bg-opacity-75{--un-bg-opacity:.75!important}.bg-opacity-30,[bg-opacity-30=""]{--un-bg-opacity:.3}[bg~=opacity-80]{--un-bg-opacity:.8}.hover\:bg-opacity-10:hover{--un-bg-opacity:.1}[stroke-width~="1"]{stroke-width:1px}[stroke-width~="2"]{stroke-width:2px}[stroke-width~="2.2"]{stroke-width:2.2px}[stroke-width~="2.25"]{stroke-width:2.25px}[stroke-width~="3"]{stroke-width:3px}.dark .dark\:stroke-black{--un-stroke-opacity:1;stroke:rgb(0 0 0/var(--un-stroke-opacity)) }.stroke-white{--un-stroke-opacity:1;stroke:rgb(255 255 255/var(--un-stroke-opacity)) }.object-cover{object-fit:cover}.object-contain{object-fit:contain}.\!p-4{padding:1rem!important}.p-1,.p1,[p~="1"],[p1=""]{padding:.25rem}.p-16{padding:4rem}.p-2,.p2,[p2=""]{padding:.5rem}.p0{padding:0}.p0\.5,[p0\.5=""]{padding:.125rem}.p3{padding:.75rem}.p4{padding:1rem}.p5{padding:1.25rem}.px,.px-4,.px4,[p~=x-4],[px=""],[px4=""]{padding-left:1rem;padding-right:1rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2,.px2,[px2=""]{padding-left:.5rem;padding-right:.5rem}.px-3,.px3,[px3=""]{padding-left:.75rem;padding-right:.75rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px1{padding-left:.25rem;padding-right:.25rem}.py-1,.py1{padding-top:.25rem;padding-bottom:.25rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-2,.py2,[p~=y-2],[py-2=""],[py2=""]{padding-top:.5rem;padding-bottom:.5rem}.py-20{padding-top:5rem;padding-bottom:5rem}.py-3,.py3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py0\.5{padding-top:.125rem;padding-bottom:.125rem}.py1\.5{padding-top:.375rem;padding-bottom:.375rem}.pb2{padding-bottom:.5rem}.pl-0{padding-left:0}.pl-4,[pl-4=""]{padding-left:1rem}.pl1,[pl1=""]{padding-left:.25rem}.pl2,[pl2=""]{padding-left:.5rem}.pr-3,[pr-3=""]{padding-right:.75rem}.pr-4,[pr-4=""]{padding-right:1rem}.pt-\.5{padding-top:.125rem}.pt-15\%{padding-top:15%}.pt5{padding-top:1.25rem}.text-center{text-align:center}.text-right,[text-right=""]{text-align:right}.text-nowrap{text-wrap:nowrap}.align-top,[align-top=""]{vertical-align:top}.vertical-middle,[vertical-middle=""]{vertical-align:middle}.text-1\.2em{font-size:1.2em}.text-11px{font-size:11px}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3em{font-size:3em}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-9xl,[text-9xl=""]{font-size:8rem;line-height:1}.text-base{font-size:1rem;line-height:1.5rem}.text-lg,[text-lg=""]{font-size:1.125rem;line-height:1.75rem}.text-sm,[text-sm=""]{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs,[text-xs=""]{font-size:.75rem;line-height:1rem}[text~="1"]{font-size:.25rem}[text~="18"]{font-size:4.5rem}[text~="2"]{font-size:.5rem}[text~="4"]{font-size:1rem}[text-sm~=default\:]:default{font-size:.875rem;line-height:1.25rem}.\!text-current{color:currentColor!important}.dark .dark\:text-blue3{--un-text-opacity:1;color:rgb(147 197 253/var(--un-text-opacity)) }.dark .dark\:text-green,.text-green{--un-text-opacity:1;color:rgb(74 222 128/var(--un-text-opacity)) }.dark .dark\:text-green3{--un-text-opacity:1;color:rgb(134 239 172/var(--un-text-opacity)) }.dark .dark\:text-red-500{--un-text-opacity:1;color:rgb(239 68 68/var(--un-text-opacity)) }.dark .dark\:text-red3{--un-text-opacity:1;color:rgb(252 165 165/var(--un-text-opacity)) }.dark .dark\:text-yellow3{--un-text-opacity:1;color:rgb(253 224 71/var(--un-text-opacity)) }.text-\$slidev-controls-foreground{color:var(--slidev-controls-foreground) }.text-black{--un-text-opacity:1;color:rgb(0 0 0/var(--un-text-opacity)) }.text-blue{--un-text-opacity:1;color:rgb(96 165 250/var(--un-text-opacity)) }.text-blue6{--un-text-opacity:1;color:rgb(37 99 235/var(--un-text-opacity)) }.text-cyan{--un-text-opacity:1;color:rgb(34 211 238/var(--un-text-opacity)) }.text-cyan\:75,[text-cyan\:75=""]{color:#22d3eebf}.text-gray,.text-gray-400{--un-text-opacity:1;color:rgb(156 163 175/var(--un-text-opacity)) }.text-gray-500{--un-text-opacity:1;color:rgb(107 114 128/var(--un-text-opacity)) }.text-green-500{--un-text-opacity:1;color:rgb(34 197 94/var(--un-text-opacity)) }.text-green6{--un-text-opacity:1;color:rgb(22 163 74/var(--un-text-opacity)) }.text-indigo{--un-text-opacity:1;color:rgb(129 140 248/var(--un-text-opacity)) }.text-lime{--un-text-opacity:1;color:rgb(163 230 53/var(--un-text-opacity)) }.text-orange{--un-text-opacity:1;color:rgb(251 146 60/var(--un-text-opacity)) }.text-pink{--un-text-opacity:1;color:rgb(244 114 182/var(--un-text-opacity)) }.text-purple{--un-text-opacity:1;color:rgb(192 132 252/var(--un-text-opacity)) }.dark .dark\:color-red-400,.text-red,.text-red-400{--un-text-opacity:1;color:rgb(248 113 113/var(--un-text-opacity)) }.text-red-700{--un-text-opacity:1;color:rgb(185 28 28/var(--un-text-opacity)) }.color-red-600,.text-red6{--un-text-opacity:1;color:rgb(220 38 38/var(--un-text-opacity)) }.text-teal{--un-text-opacity:1;color:rgb(45 212 191/var(--un-text-opacity)) }.text-white{--un-text-opacity:1;color:rgb(255 255 255/var(--un-text-opacity)) }.text-yellow{--un-text-opacity:1;color:rgb(250 204 21/var(--un-text-opacity)) }.text-yellow6{--un-text-opacity:1;color:rgb(202 138 4/var(--un-text-opacity)) }.important-text-op-50,.text-opacity-50\!{--un-text-opacity:.5!important}.font-bold,[font-bold=""]{font-weight:700}.font-light{font-weight:300}.leading-1\.6em{line-height:1.6em}.font-mono,[font-mono=""]{font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.uppercase{text-transform:uppercase}.italic{font-style:italic}.line-through{text-decoration-line:line-through}.underline{text-decoration-line:underline}.tab,[tab~=default\:]:default{tab-size:4}.\!opacity-0,.important\:op0{opacity:0!important}.\!opacity-100{opacity:1!important}.op-60{opacity:.6}.op-80,.op80,.opacity-80,.group:hover .group-hover\:op80{opacity:.8}.op0,.opacity-0,[op0=""]{opacity:0}.op100,[op100=""],.group:hover .group-hover\:op100{opacity:1}.op15{opacity:.15}.op20{opacity:.2}.op25,.opacity-25,[op25=""]{opacity:.25}.op30{opacity:.3}.op35{opacity:.35}.op40,.opacity-40,[op40=""]{opacity:.4}.op50,.opacity-50,[op50=""]{opacity:.5}.op75,[op75=""]{opacity:.75}.opacity-10,[opacity-10=""]{opacity:.1}.opacity-5{opacity:.05}.focus-within\:opacity-100:focus-within,.hover\:op-100:hover,.hover\:op100:hover,.hover\:opacity-100:hover{opacity:1}.hover\:opacity-90:hover{opacity:.9}[hover~=op100]:hover,.focus-visible\:opacity-100:focus-visible{opacity:1}.shadow,[shadow~=\~]{--un-shadow:var(--un-shadow-inset) 0 1px 3px 0 var(--un-shadow-color,#0000001a),var(--un-shadow-inset) 0 1px 2px -1px var(--un-shadow-color,#0000001a);box-shadow:var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow)}.shadow-xl{--un-shadow:var(--un-shadow-inset) 0 20px 25px -5px var(--un-shadow-color,#0000001a),var(--un-shadow-inset) 0 8px 10px -6px var(--un-shadow-color,#0000001a);box-shadow:var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow)}.outline{outline-style:solid}.outline-none,[outline-none=""]{outline-offset:2px;outline:2px solid #0000}.\!backdrop-blur-0px{--un-backdrop-blur:blur(0px)!important;-webkit-backdrop-filter:var(--un-backdrop-blur) var(--un-backdrop-brightness) var(--un-backdrop-contrast) var(--un-backdrop-grayscale) var(--un-backdrop-hue-rotate) var(--un-backdrop-invert) var(--un-backdrop-opacity) var(--un-backdrop-saturate) var(--un-backdrop-sepia)!important;backdrop-filter:var(--un-backdrop-blur) var(--un-backdrop-brightness) var(--un-backdrop-contrast) var(--un-backdrop-grayscale) var(--un-backdrop-hue-rotate) var(--un-backdrop-invert) var(--un-backdrop-opacity) var(--un-backdrop-saturate) var(--un-backdrop-sepia)!important}.backdrop-blur-5px{--un-backdrop-blur:blur(5px);-webkit-backdrop-filter:var(--un-backdrop-blur) var(--un-backdrop-brightness) var(--un-backdrop-contrast) var(--un-backdrop-grayscale) var(--un-backdrop-hue-rotate) var(--un-backdrop-invert) var(--un-backdrop-opacity) var(--un-backdrop-saturate) var(--un-backdrop-sepia);backdrop-filter:var(--un-backdrop-blur) var(--un-backdrop-brightness) var(--un-backdrop-contrast) var(--un-backdrop-grayscale) var(--un-backdrop-hue-rotate) var(--un-backdrop-invert) var(--un-backdrop-opacity) var(--un-backdrop-saturate) var(--un-backdrop-sepia)}.blur,[blur=""]{--un-blur:blur(8px);filter:var(--un-blur) var(--un-brightness) var(--un-contrast) var(--un-drop-shadow) var(--un-grayscale) var(--un-hue-rotate) var(--un-invert) var(--un-saturate) var(--un-sepia)}[blur~="-1"]{--un-blur:blur(-1px);filter:var(--un-blur) var(--un-brightness) var(--un-contrast) var(--un-drop-shadow) var(--un-grayscale) var(--un-hue-rotate) var(--un-invert) var(--un-saturate) var(--un-sepia)}.filter,[filter=""]{filter:var(--un-blur) var(--un-brightness) var(--un-contrast) var(--un-drop-shadow) var(--un-grayscale) var(--un-hue-rotate) var(--un-invert) var(--un-saturate) var(--un-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-property:all;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-property:opacity;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}[transition-all~="0"]{transition-property:all;transition-duration:0s;transition-timing-function:cubic-bezier(.4,0,.2,1)}[transition-all~="4"]{transition-property:all;transition-duration:4ms;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-400{transition-duration:.4s}.ease{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.view-transition-name{view-transition-name:name}@media (width<=767.9px){.lt-md\:hidden{display:none}.lt-md\:flex-col{flex-direction:column}}@media (width>=1024px){.lg\:m-2{margin:.5rem}.lg\:p-2{padding:.5rem}.lg\:p-4{padding:1rem}} diff --git a/2026/aidevcon-london/assets/md-30nXOLWT.js b/2026/aidevcon-london/assets/md-30nXOLWT.js new file mode 100644 index 0000000000000000000000000000000000000000..0a96e063ef6774c0e7f16f4c70c6415ec2ab9e4d --- /dev/null +++ b/2026/aidevcon-london/assets/md-30nXOLWT.js @@ -0,0 +1 @@ +import{C as e,D as t,T as n,V as r,Z as i,_ as a,_t as o,b as s,bt as c,gt as l,p as u,v as d,vt as f,x as p,z as m}from"./modules/shiki-BMQKBaOU.js";import{it as h,rt as g,vt as _}from"./index-cw2gNXXR.js";import{t as v}from"./default-DcmGGORi.js";var y={class:`routable-burst`,"aria-labelledby":`routable-burst-title`},b=[`viewBox`],x={class:`routable-burst__edges`},S=[`d`],C=[`d`],w=[`id`,`d`],T={class:`routable-burst__packets`,filter:`url(#routable-burst-glow)`},E=[`dur`,`begin`],D=[`href`],O=[`transform`],k=[`width`,`height`],A={class:`routable-burst__role`,x:`18`,y:`27`},j=[`y`],M=1200,N=520,P=_(n({__name:`RoutableMcpTrafficBurst`,setup(e){let{$slidev:t,$nav:n,$clicksContext:i,$clicks:d,$page:f,$renderContext:g,$frontmatter:_}=h(),v=[{id:`client`,role:`clients`,title:`MCP clients`,x:52,y:205,w:214,h:110},{id:`edge`,role:`http edge`,title:`Router`,x:450,y:204,w:218,h:112},{id:`server-a`,role:`server`,title:`Server 01`,x:875,y:52,w:214,h:78},{id:`server-b`,role:`server`,title:`Server 02`,x:875,y:154,w:214,h:78},{id:`server-c`,role:`server`,title:`Server 03`,x:875,y:256,w:214,h:78},{id:`server-d`,role:`server`,title:`Server 04`,x:875,y:358,w:214,h:78}],P=new Map(v.map(e=>[e.id,e])),F=[`server-c`,`server-a`,`server-d`,`server-b`,`server-a`,`server-c`,`server-d`,`server-b`],I=[`hot`,`cool`,`ok`],L=Array.from({length:68},(e,t)=>({id:t,target:F[t%F.length],delay:-(t*.115+t%5*.021),duration:2.05+t%7*.08,lane:t%5-2,tone:I[t%I.length]}));function R(e,t,n=0){return{x:t===`left`?e.x:e.x+e.w,y:e.y+e.h/2+n*4.4}}function z(e,t,n=0){let r=P.get(e),i=P.get(t),a=R(r,`right`,n),o=R(i,`left`,n),s=o.x-a.x;return`M ${a.x} ${a.y} C ${a.x+s*.46} ${a.y}, ${o.x-s*.42} ${o.y}, ${o.x} ${o.y}`}function B(e){let t=P.get(`client`),n=P.get(`edge`),r=P.get(e.target),i=R(t,`right`,e.lane),a=R(n,`left`,e.lane),o=R(n,`right`,e.lane),s=R(r,`left`,e.lane),c=a.x-i.x,l=s.x-o.x;return[`M ${i.x} ${i.y}`,`C ${i.x+c*.44} ${i.y}, ${a.x-c*.44} ${a.y}, ${a.x} ${a.y}`,`L ${o.x} ${o.y}`,`C ${o.x+l*.4} ${o.y}, ${s.x-l*.44} ${s.y}, ${s.x} ${s.y}`].join(` `)}return(e,t)=>(m(),s(`section`,y,[(m(),s(`svg`,{class:`routable-burst__canvas`,viewBox:`0 0 ${M} ${N}`,role:`img`},[t[0]||=p(`High-volume routable MCP tools calls`,2),a(`g`,x,[a(`path`,{d:z(`client`,`edge`),"marker-end":`url(#routable-burst-arrow)`},null,8,S),(m(),s(u,null,r([`server-a`,`server-b`,`server-c`,`server-d`],e=>a(`path`,{key:e,d:z(`edge`,e),"marker-end":`url(#routable-burst-arrow)`},null,8,C)),64))]),(m(!0),s(u,null,r(l(L),e=>(m(),s(`path`,{id:`routable-burst-route-${e.id}`,key:`route-${e.id}`,class:`routable-burst__route`,d:B(e)},null,8,w))),128)),a(`g`,T,[(m(!0),s(u,null,r(l(L),e=>(m(),s(`circle`,{key:e.id,r:`7.5`,class:o([`routable-burst__packet`,`routable-burst__packet--${e.tone}`])},[a(`animateMotion`,{dur:`${e.duration}s`,begin:`${e.delay}s`,repeatCount:`indefinite`,rotate:`auto`},[a(`mpath`,{href:`#routable-burst-route-${e.id}`},null,8,D)],8,E)],2))),128))]),t[1]||=p(`routed bytools/callclients keepCached Tool List`,2),(m(),s(u,null,r(v,e=>a(`g`,{key:e.id,class:o([`routable-burst__node`,`routable-burst__node--${e.id}`]),transform:`translate(${e.x} ${e.y})`},[a(`rect`,{width:e.w,height:e.h,rx:`16`},null,8,k),a(`text`,A,c(e.role),1),a(`text`,{class:`routable-burst__title`,x:`18`,y:e.h>90?68:55},c(e.title),9,j)],10,O)),64)),t[2]||=p(`every request carriesMcp-Method: tools/callstateless hot pathHigh volume, no affinityhot path is just tools/call; discovery and lists are cached`,2)],8,b))]))}}),[[`__scopeId`,`data-v-8afe06f4`]]),F={class:`remote-mcp-diagram remote-mcp-diagram--wide`},I={__name:`slides.md__slidev_27`,setup(n){let{$slidev:r,$nav:o,$clicksContext:s,$clicks:c,$page:u,$renderContext:p,$frontmatter:_}=h();return s.setup(),(n,r)=>{let o=P;return m(),d(v,f(t(l(g)(l(_),26))),{default:i(()=>[r[0]||=a(`h1`,null,`Scaling MCP in Production`,-1),a(`div`,F,[e(o)])]),_:1},16)}}};export{I as default}; \ No newline at end of file diff --git a/2026/aidevcon-london/assets/md-Bnbn9wNX.js b/2026/aidevcon-london/assets/md-Bnbn9wNX.js new file mode 100644 index 0000000000000000000000000000000000000000..ea0d5f20c63344f5af8b351de1b02b370bd76d1e --- /dev/null +++ b/2026/aidevcon-london/assets/md-Bnbn9wNX.js @@ -0,0 +1 @@ +import{D as e,S as t,Z as n,_ as r,gt as i,v as a,vt as o,z as s}from"./modules/shiki-BMQKBaOU.js";import{it as c,rt as l}from"./index-cw2gNXXR.js";import{t as u}from"./default-DcmGGORi.js";var d={__name:`slides.md__slidev_23`,setup(d){let{$slidev:f,$nav:p,$clicksContext:m,$clicks:h,$page:g,$renderContext:_,$frontmatter:v}=c();return m.setup(),(c,d)=>(s(),a(u,o(e(i(l)(i(v),22))),{default:n(()=>[...d[0]||=[r(`h1`,null,`SEP-2322: Stateless Elicitations`,-1),r(`div`,{class:`mrtr-cumulative-slide`},[r(`section`,{class:`mrtr-cumulative-copy`},[r(`h2`,null,`After: retry with context`),r(`p`,{class:`mrtr-lede`},[t(`The server returns `),r(`code`,null,`input_required`),t(`. The client retries with everything learned so far.`)]),r(`div`,{class:`mrtr-field-strip`},[r(`span`,null,`original arguments`),r(`span`,null,`inputResponses`),r(`span`,null,`requestState?`)])]),r(`aside`,{class:`mrtr-cumulative-flow deck-panel`},[r(`div`,{class:`mrtr-step`},[r(`strong`,null,`1`),r(`span`,null,[t(`Client sends `),r(`code`,null,`tools/call`)])]),r(`div`,{class:`mrtr-step mrtr-step--accent`},[r(`strong`,null,`2`),r(`span`,null,[t(`Server returns `),r(`code`,null,`resultType: "input_required"`)])]),r(`div`,{class:`mrtr-step`},[r(`strong`,null,`3`),r(`span`,null,`Client collects elicitation / sampling / roots responses`)]),r(`div`,{class:`mrtr-step mrtr-step--final`},[r(`strong`,null,`4`),r(`span`,null,[t(`Client replays `),r(`code`,null,`tools/call`),t(` with cumulative input`)])])])],-1)]]),_:1},16))}};export{d as default}; \ No newline at end of file diff --git a/2026/aidevcon-london/assets/md-BpFBDJ-I.js b/2026/aidevcon-london/assets/md-BpFBDJ-I.js new file mode 100644 index 0000000000000000000000000000000000000000..fc05ca41f55a64c36b6ff4b629eb79327c60c2ba --- /dev/null +++ b/2026/aidevcon-london/assets/md-BpFBDJ-I.js @@ -0,0 +1 @@ +import{C as e,D as t,L as n,T as r,Z as i,b as a,ct as o,gt as s,v as c,vt as l,z as u}from"./modules/shiki-BMQKBaOU.js";import{it as d,rt as f}from"./index-cw2gNXXR.js";import{t as p}from"./default-DcmGGORi.js";var m=r({__name:`IntroVideo`,setup(e){let{$slidev:t,$nav:r,$clicksContext:i,$clicks:s,$page:c,$renderContext:l,$frontmatter:f}=d(),p=o();return n(()=>{p.value&&(p.value.muted=!0,p.value.defaultMuted=!0,p.value.play().catch(()=>{}))}),(e,t)=>(u(),a(`video`,{ref_key:`video`,ref:p,class:`intro-video`,src:`intro/intro-spaces.webm`,autoplay:``,loop:``,muted:``,playsinline:``},null,512))}}),h={__name:`slides.md__slidev_3`,setup(n){let{$slidev:r,$nav:a,$clicksContext:o,$clicks:h,$page:g,$renderContext:_,$frontmatter:v}=d();return o.setup(),(n,r)=>{let a=m;return u(),c(p,l(t(s(f)(s(v),2))),{default:i(()=>[e(a)]),_:1},16)}}};export{h as default}; \ No newline at end of file diff --git a/2026/aidevcon-london/assets/md-BwAqqZee.js b/2026/aidevcon-london/assets/md-BwAqqZee.js new file mode 100644 index 0000000000000000000000000000000000000000..43aab6e600244c7aadbed355484bf86fb6e513ce --- /dev/null +++ b/2026/aidevcon-london/assets/md-BwAqqZee.js @@ -0,0 +1 @@ +import{D as e,Z as t,_ as n,gt as r,v as i,vt as a,z as o}from"./modules/shiki-BMQKBaOU.js";import{it as s,rt as c}from"./index-cw2gNXXR.js";import{t as l}from"./default-DcmGGORi.js";var u={__name:`slides.md__slidev_13`,setup(u){let{$slidev:d,$nav:f,$clicksContext:p,$clicks:m,$page:h,$renderContext:g,$frontmatter:_}=s();return p.setup(),(s,u)=>(o(),i(l,a(e(r(c)(r(_),12))),{default:t(()=>[...u[0]||=[n(`h1`,null,`MCP Clients Dataset`,-1),n(`div`,{class:`clients-dataset-slide text-image-slide`},[n(`section`,{class:`text-image-slide__copy`},[n(`p`,{class:`kicker`},`Open dataset`),n(`a`,{class:`dataset-link-card`,href:`https://hf.co/datasets/evalstate/mcp-clients`},[n(`span`,null,`hf.co/datasets/evalstate`),n(`strong`,null,`mcp-clients`)]),n(`div`,{class:`compact-point-list`},[n(`div`,null,[n(`strong`,null,`Clients`),n(`span`,null,`names, versions, last-seen activity`)]),n(`div`,null,[n(`strong`,null,`Capabilities`),n(`span`,null,`tools, prompts, roots, sampling, elicitation`)]),n(`div`,null,[n(`strong`,null,`Extensions`),n(`span`,null,`track emerging feature support over time`)])])]),n(`figure`,{class:`dataset-screenshot deck-panel`},[n(`img`,{src:`images/clients-data.png`,alt:`Hugging Face Data Studio table for the mcp-clients dataset`})])],-1)]]),_:1},16))}};export{u as default}; \ No newline at end of file diff --git a/2026/aidevcon-london/assets/md-C36yyUm5.js b/2026/aidevcon-london/assets/md-C36yyUm5.js new file mode 100644 index 0000000000000000000000000000000000000000..2d8c2b84f785f3d4ef688af553a1f34092e67e75 --- /dev/null +++ b/2026/aidevcon-london/assets/md-C36yyUm5.js @@ -0,0 +1 @@ +import{D as e,Z as t,_ as n,gt as r,v as i,vt as a,z as o}from"./modules/shiki-BMQKBaOU.js";import{it as s,rt as c}from"./index-cw2gNXXR.js";import{t as l}from"./default-DcmGGORi.js";var u={__name:`slides.md__slidev_28`,setup(u){let{$slidev:d,$nav:f,$clicksContext:p,$clicks:m,$page:h,$renderContext:g,$frontmatter:_}=s();return p.setup(),(s,u)=>(o(),i(l,a(e(r(c)(r(_),27))),{default:t(()=>[...u[0]||=[n(`div`,{class:`migration-path-slide`},[n(`p`,{class:`kicker`},`migration path`),n(`h1`,null,`Migration Path`),n(`div`,{class:`migration-path-list`},[n(`div`,null,[n(`span`,null,`Now`),n(`strong`,null,`Release Candidate Specification`)]),n(`div`,null,[n(`span`,null,`30 Jun 2026`),n(`strong`,null,`Beta SDKs`)]),n(`div`,null,[n(`span`,null,`28 Jul 2026`),n(`strong`,null,`Planned release date`)])])],-1)]]),_:1},16))}};export{u as default}; \ No newline at end of file diff --git a/2026/aidevcon-london/assets/md-CE5iyUO42.js b/2026/aidevcon-london/assets/md-CE5iyUO42.js new file mode 100644 index 0000000000000000000000000000000000000000..d7f908005bdcdb0c3e3095121ccf3c9742f554d2 --- /dev/null +++ b/2026/aidevcon-london/assets/md-CE5iyUO42.js @@ -0,0 +1 @@ +import{C as e,D as t,S as n,T as r,V as i,Z as a,_ as o,_t as s,b as c,bt as l,g as u,gt as d,p as f,v as p,vt as m,x as h,z as g}from"./modules/shiki-BMQKBaOU.js";import{it as _,rt as v,vt as y}from"./index-cw2gNXXR.js";import{t as b}from"./mcp_weekly_init_tool_calls-DYuMHE2K.js";import{t as x}from"./default-DcmGGORi.js";var ee={schema:`deck.mcp-remote-share-excluding-fallback.v1`,source:`/home/shaun/source/hf-mcp-stats/data`,window:{start:`2025-06-09`,end:`2026-05-31`},filter:`exclude clients whose name or version contains 'fallback'`,rows:[{week_start:`2025-06-09`,week_end:`2025-06-15`,mcp_remote_share_pct:16.6702,usage_index_0_100:.4447,mcp_remote_requests:3103,total_requests:18614,fallback_excluded_requests:3274},{week_start:`2025-06-16`,week_end:`2025-06-22`,mcp_remote_share_pct:8.0352,usage_index_0_100:.7745,mcp_remote_requests:2605,total_requests:32420,fallback_excluded_requests:2711},{week_start:`2025-06-23`,week_end:`2025-06-29`,mcp_remote_share_pct:7.1146,usage_index_0_100:1.3764,mcp_remote_requests:4099,total_requests:57614,fallback_excluded_requests:4236},{week_start:`2025-06-30`,week_end:`2025-07-06`,mcp_remote_share_pct:10.1201,usage_index_0_100:1.1556,mcp_remote_requests:4895,total_requests:48369,fallback_excluded_requests:5125},{week_start:`2025-07-07`,week_end:`2025-07-13`,mcp_remote_share_pct:5.6525,usage_index_0_100:1.8436,mcp_remote_requests:4362,total_requests:77169,fallback_excluded_requests:4561},{week_start:`2025-07-14`,week_end:`2025-07-20`,mcp_remote_share_pct:6.0428,usage_index_0_100:2.1515,mcp_remote_requests:5442,total_requests:90057,fallback_excluded_requests:6072},{week_start:`2025-07-21`,week_end:`2025-07-27`,mcp_remote_share_pct:6.1912,usage_index_0_100:1.8731,mcp_remote_requests:4854,total_requests:78401,fallback_excluded_requests:5917},{week_start:`2025-07-28`,week_end:`2025-08-03`,mcp_remote_share_pct:8.4519,usage_index_0_100:1.3701,mcp_remote_requests:4847,total_requests:57348,fallback_excluded_requests:5763},{week_start:`2025-08-04`,week_end:`2025-08-10`,mcp_remote_share_pct:3.7597,usage_index_0_100:3.2713,mcp_remote_requests:5148,total_requests:136926,fallback_excluded_requests:5986},{week_start:`2025-08-11`,week_end:`2025-08-17`,mcp_remote_share_pct:.5624,usage_index_0_100:22.8233,mcp_remote_requests:5373,total_requests:955319,fallback_excluded_requests:6212},{week_start:`2025-08-18`,week_end:`2025-08-24`,mcp_remote_share_pct:.4236,usage_index_0_100:36.2975,mcp_remote_requests:6436,total_requests:1519312,fallback_excluded_requests:7308},{week_start:`2025-08-25`,week_end:`2025-08-31`,mcp_remote_share_pct:.7141,usage_index_0_100:21.6785,mcp_remote_requests:6480,total_requests:907402,fallback_excluded_requests:7003},{week_start:`2025-09-01`,week_end:`2025-09-07`,mcp_remote_share_pct:1.7441,usage_index_0_100:11.3872,mcp_remote_requests:8313,total_requests:476636,fallback_excluded_requests:8841},{week_start:`2025-09-08`,week_end:`2025-09-14`,mcp_remote_share_pct:1.7814,usage_index_0_100:11.8583,mcp_remote_requests:8842,total_requests:496356,fallback_excluded_requests:9594},{week_start:`2025-09-15`,week_end:`2025-09-21`,mcp_remote_share_pct:1.6504,usage_index_0_100:12.0799,mcp_remote_requests:8345,total_requests:505631,fallback_excluded_requests:8885},{week_start:`2025-09-22`,week_end:`2025-09-28`,mcp_remote_share_pct:1.3216,usage_index_0_100:13.3537,mcp_remote_requests:7387,total_requests:558949,fallback_excluded_requests:8185},{week_start:`2025-09-29`,week_end:`2025-10-05`,mcp_remote_share_pct:1.3594,usage_index_0_100:17.4953,mcp_remote_requests:9955,total_requests:732305,fallback_excluded_requests:10579},{week_start:`2025-10-06`,week_end:`2025-10-12`,mcp_remote_share_pct:1.3592,usage_index_0_100:16.8598,mcp_remote_requests:9592,total_requests:705705,fallback_excluded_requests:10017},{week_start:`2025-10-13`,week_end:`2025-10-19`,mcp_remote_share_pct:1.0415,usage_index_0_100:19.3652,mcp_remote_requests:8442,total_requests:810573,fallback_excluded_requests:8822},{week_start:`2025-10-20`,week_end:`2025-10-26`,mcp_remote_share_pct:.6909,usage_index_0_100:22.1937,mcp_remote_requests:6418,total_requests:928966,fallback_excluded_requests:6657},{week_start:`2025-10-27`,week_end:`2025-11-02`,mcp_remote_share_pct:.5264,usage_index_0_100:24.9452,mcp_remote_requests:5496,total_requests:1044139,fallback_excluded_requests:6015},{week_start:`2025-11-03`,week_end:`2025-11-09`,mcp_remote_share_pct:.4194,usage_index_0_100:25.3815,mcp_remote_requests:4456,total_requests:1062400,fallback_excluded_requests:4787},{week_start:`2025-11-10`,week_end:`2025-11-16`,mcp_remote_share_pct:.4395,usage_index_0_100:19.3233,mcp_remote_requests:3555,total_requests:808821,fallback_excluded_requests:4008},{week_start:`2025-11-17`,week_end:`2025-11-23`,mcp_remote_share_pct:.3562,usage_index_0_100:20.2534,mcp_remote_requests:3020,total_requests:847753,fallback_excluded_requests:3335},{week_start:`2025-11-24`,week_end:`2025-11-30`,mcp_remote_share_pct:.3372,usage_index_0_100:21.3487,mcp_remote_requests:3013,total_requests:893597,fallback_excluded_requests:3389},{week_start:`2025-12-01`,week_end:`2025-12-07`,mcp_remote_share_pct:.5084,usage_index_0_100:23.7881,mcp_remote_requests:5062,total_requests:995705,fallback_excluded_requests:6564},{week_start:`2025-12-08`,week_end:`2025-12-14`,mcp_remote_share_pct:.2746,usage_index_0_100:25.4638,mcp_remote_requests:2927,total_requests:1065846,fallback_excluded_requests:4133},{week_start:`2025-12-15`,week_end:`2025-12-21`,mcp_remote_share_pct:.5325,usage_index_0_100:26.4422,mcp_remote_requests:5894,total_requests:1106800,fallback_excluded_requests:6211},{week_start:`2025-12-22`,week_end:`2025-12-28`,mcp_remote_share_pct:.324,usage_index_0_100:25.1551,mcp_remote_requests:3411,total_requests:1052925,fallback_excluded_requests:3584},{week_start:`2025-12-29`,week_end:`2026-01-04`,mcp_remote_share_pct:.259,usage_index_0_100:26.071,mcp_remote_requests:2826,total_requests:1091261,fallback_excluded_requests:2961},{week_start:`2026-01-05`,week_end:`2026-01-11`,mcp_remote_share_pct:.32,usage_index_0_100:28.9726,mcp_remote_requests:3881,total_requests:1212714,fallback_excluded_requests:4027},{week_start:`2026-01-12`,week_end:`2026-01-18`,mcp_remote_share_pct:.3937,usage_index_0_100:30.9878,mcp_remote_requests:5106,total_requests:1297065,fallback_excluded_requests:5323},{week_start:`2026-01-19`,week_end:`2026-01-25`,mcp_remote_share_pct:.6513,usage_index_0_100:38.6516,mcp_remote_requests:10537,total_requests:1617852,fallback_excluded_requests:10711},{week_start:`2026-01-26`,week_end:`2026-02-01`,mcp_remote_share_pct:.7202,usage_index_0_100:43.5598,mcp_remote_requests:13131,total_requests:1823295,fallback_excluded_requests:13324},{week_start:`2026-02-02`,week_end:`2026-02-08`,mcp_remote_share_pct:.6455,usage_index_0_100:47.2443,mcp_remote_requests:12764,total_requests:1977517,fallback_excluded_requests:13169},{week_start:`2026-02-09`,week_end:`2026-02-15`,mcp_remote_share_pct:.5878,usage_index_0_100:55.4553,mcp_remote_requests:13643,total_requests:2321205,fallback_excluded_requests:13886},{week_start:`2026-02-16`,week_end:`2026-02-22`,mcp_remote_share_pct:.6639,usage_index_0_100:58.0267,mcp_remote_requests:16125,total_requests:2428837,fallback_excluded_requests:16410},{week_start:`2026-02-23`,week_end:`2026-03-01`,mcp_remote_share_pct:.888,usage_index_0_100:54.546,mcp_remote_requests:20275,total_requests:2283145,fallback_excluded_requests:20653},{week_start:`2026-03-02`,week_end:`2026-03-08`,mcp_remote_share_pct:.8696,usage_index_0_100:58.4263,mcp_remote_requests:21266,total_requests:2445565,fallback_excluded_requests:21776},{week_start:`2026-03-09`,week_end:`2026-03-15`,mcp_remote_share_pct:1.2465,usage_index_0_100:46.4605,mcp_remote_requests:24240,total_requests:1944709,fallback_excluded_requests:24761},{week_start:`2026-03-16`,week_end:`2026-03-22`,mcp_remote_share_pct:1.0554,usage_index_0_100:47.424,mcp_remote_requests:20951,total_requests:1985038,fallback_excluded_requests:21411},{week_start:`2026-03-23`,week_end:`2026-03-29`,mcp_remote_share_pct:1.0029,usage_index_0_100:69.9312,mcp_remote_requests:29355,total_requests:2927128,fallback_excluded_requests:30138},{week_start:`2026-03-30`,week_end:`2026-04-05`,mcp_remote_share_pct:.4224,usage_index_0_100:84.1147,mcp_remote_requests:14873,total_requests:3520809,fallback_excluded_requests:15572},{week_start:`2026-04-06`,week_end:`2026-04-12`,mcp_remote_share_pct:.3144,usage_index_0_100:98.7667,mcp_remote_requests:12999,total_requests:4134105,fallback_excluded_requests:13518},{week_start:`2026-04-13`,week_end:`2026-04-19`,mcp_remote_share_pct:.4437,usage_index_0_100:99.8649,mcp_remote_requests:18545,total_requests:4180073,fallback_excluded_requests:18965},{week_start:`2026-04-20`,week_end:`2026-04-26`,mcp_remote_share_pct:.6103,usage_index_0_100:95.9172,mcp_remote_requests:24503,total_requests:4014831,fallback_excluded_requests:25057},{week_start:`2026-04-27`,week_end:`2026-05-03`,mcp_remote_share_pct:1.279,usage_index_0_100:97.0647,mcp_remote_requests:51963,total_requests:4062864,fallback_excluded_requests:52369},{week_start:`2026-05-04`,week_end:`2026-05-10`,mcp_remote_share_pct:1.2394,usage_index_0_100:100,mcp_remote_requests:51877,total_requests:4185726,fallback_excluded_requests:52187},{week_start:`2026-05-11`,week_end:`2026-05-17`,mcp_remote_share_pct:.6255,usage_index_0_100:99.1806,mcp_remote_requests:25968,total_requests:4151430,fallback_excluded_requests:26690},{week_start:`2026-05-18`,week_end:`2026-05-24`,mcp_remote_share_pct:.6288,usage_index_0_100:89.0583,mcp_remote_requests:23439,total_requests:3727736,fallback_excluded_requests:24076},{week_start:`2026-05-25`,week_end:`2026-05-31`,mcp_remote_share_pct:.5653,usage_index_0_100:84.8464,mcp_remote_requests:20077,total_requests:3551439,fallback_excluded_requests:20497}]},S={class:`activity-chart`},C=[`viewBox`],w=[`x`,`y`],T={class:`activity-chart__grid`},E=[`x1`,`x2`,`y1`,`y2`],D=[`x1`,`x2`,`y1`,`y2`],O={class:`activity-chart__bars`},k=[`x`,`y`,`width`,`height`],A=[`points`],j={class:`activity-chart__axis activity-chart__axis--left`},M=[`x`,`y`],te=[`x`,`y`],ne={class:`activity-chart__axis activity-chart__axis--right`},re=[`x`,`y`],ie=[`x`,`y`],N={class:`activity-chart__x-axis`},P=[`x`,`y`],F=1200,I=560,L=y(r({__name:`McpRemoteNoFallbackChart`,setup(e){let{$slidev:t,$nav:n,$clicksContext:r,$clicks:a,$page:p,$renderContext:m,$frontmatter:v}=_(),y=new Map(ee.rows.map(e=>[e.week_start,e])),x=b.rows.map(e=>({...e,...y.get(e.week_start)??{week_end:e.week_end,mcp_remote_share_pct:0,mcp_remote_requests:0,total_requests:0,fallback_excluded_requests:0}})).toSorted((e,t)=>e.week_start.localeCompare(t.week_start)),L={left:92,right:120,top:42,bottom:62},R=F-L.left-L.right,z=I-L.top-L.bottom,B=Math.max(4,Math.min(11,R/Math.max(1,x.length)*.34));function V(e){let[t,n,r]=e.split(`-`).map(Number);return new Date(Date.UTC(t,n-1,r))}function H(e){if(e<=0)return 1;let t=10**Math.floor(Math.log10(e)),n=e/t;return(n<=2?2:n<=5?5:10)*t}let U=V(x[0].week_start),W=V(x.at(-1).week_start),G=U.getTime(),K=Math.max(1,W.getTime()-G),q=H(Math.max(...x.map(e=>e.init_requests))),J=H(Math.max(...x.map(e=>e.mcp_remote_share_pct)));function Y(e){return L.left+(V(e).getTime()-G)/K*R}function X(e){return L.top+(1-e/q)*z}function Z(e){return L.top+(1-e/J)*z}function ae(e){return e>=1e6?`${(e/1e6).toFixed(e>=1e7?0:1)}M`:e>=1e3?`${(e/1e3).toFixed(e>=1e5?0:1)}k`:`${e}`}let Q=u(()=>[0,q*.25,q*.5,q*.75,q]),oe=u(()=>[0,J*.5,J]),se=u(()=>x.map(e=>`${Y(e.week_start).toFixed(1)},${Z(e.mcp_remote_share_pct).toFixed(1)}`).join(` `)),$=u(()=>{let e=[],t=new Date(Date.UTC(U.getUTCFullYear(),U.getUTCMonth(),1)),n=new Intl.DateTimeFormat(`en`,{month:`short`}),r=0;for(;t.getTime()<=W.getTime();){let i=L.left+(t.getTime()-G)/K*R;r%2==0&&i>=L.left&&i<=L.left+R&&e.push({label:n.format(t),x:i}),t.setUTCMonth(t.getUTCMonth()+1),r+=1}return e});return(e,t)=>(g(),c(`section`,S,[(g(),c(`svg`,{class:`activity-chart__svg`,viewBox:`0 0 ${F} ${I}`,role:`img`},[t[0]||=h(``,1),o(`rect`,{x:L.left,y:L.top,width:R,height:z,class:`activity-chart__plot-bg`},null,8,w),o(`g`,T,[(g(!0),c(f,null,i(Q.value,e=>(g(),c(`line`,{key:`init-grid-${e}`,x1:L.left,x2:L.left+R,y1:X(e),y2:X(e)},null,8,E))),128)),(g(!0),c(f,null,i($.value,e=>(g(),c(`line`,{key:`month-grid-${e.label}-${e.x}`,x1:e.x,x2:e.x,y1:L.top,y2:L.top+z},null,8,D))),128))]),o(`g`,O,[(g(!0),c(f,null,i(d(x),e=>(g(),c(`rect`,{key:e.week_start,x:Y(e.week_start)-d(B)/2,y:X(e.init_requests),width:d(B),height:L.top+z-X(e.init_requests),rx:`2`,class:s({"is-partial":e.partial_week})},null,10,k))),128))]),o(`polyline`,{class:`activity-chart__line`,points:se.value,filter:`url(#remote-clients-line-glow)`},null,8,A),o(`g`,j,[o(`text`,{x:L.left,y:L.top-18},`Initializations`,8,M),(g(!0),c(f,null,i(Q.value,e=>(g(),c(`text`,{key:`init-label-${e}`,x:L.left-14,y:X(e)+4,"text-anchor":`end`},l(ae(e)),9,te))),128))]),o(`g`,ne,[o(`text`,{x:L.left+R,y:L.top-18,"text-anchor":`end`},` mcp-remote traffic `,8,re),(g(!0),c(f,null,i(oe.value,e=>(g(),c(`text`,{key:`share-label-${e}`,x:L.left+R+14,y:Z(e)+4},l(e)+`% `,9,ie))),128))]),o(`g`,N,[(g(!0),c(f,null,i($.value,e=>(g(),c(`text`,{key:`month-label-${e.label}-${e.x}`,x:e.x,y:L.top+z+38,"text-anchor":`middle`},l(e.label),9,P))),128))])],8,C))]))}}),[[`__scopeId`,`data-v-85880327`]]),R={class:`weekly-activity-slide chart-slide`},z={__name:`slides.md__slidev_8`,setup(r){let{$slidev:i,$nav:s,$clicksContext:c,$clicks:l,$page:u,$renderContext:f,$frontmatter:h}=_();return c.setup(),(r,i)=>{let s=L;return g(),p(x,m(t(d(v)(d(h),7))),{default:a(()=>[o(`div`,R,[i[0]||=o(`header`,{class:`chart-slide__header`},[o(`div`,null,[o(`h1`,null,`Streamable HTTP adoption`),o(`h2`,null,[n(`Proportion of `),o(`code`,null,`mcp-remote`),n(` usage`)])])],-1),e(s)])]),_:1},16)}}};export{z as default}; \ No newline at end of file diff --git a/2026/aidevcon-london/assets/md-Cl-Gm-Dq2.js b/2026/aidevcon-london/assets/md-Cl-Gm-Dq2.js new file mode 100644 index 0000000000000000000000000000000000000000..445a3dd373d3df4c450193f49b95aaba59cdb3d4 --- /dev/null +++ b/2026/aidevcon-london/assets/md-Cl-Gm-Dq2.js @@ -0,0 +1 @@ +import{C as e,D as t,Z as n,_ as r,gt as i,v as a,vt as o,z as s}from"./modules/shiki-BMQKBaOU.js";import{it as c,rt as l}from"./index-cw2gNXXR.js";import{t as u}from"./default-DcmGGORi.js";import{t as d}from"./McpSpecTransportTimeline-cqjmY3kA.js";var f={class:`spec-timeline-diagram`},p={__name:`slides.md__slidev_7`,setup(p){let{$slidev:m,$nav:h,$clicksContext:g,$clicks:_,$page:v,$renderContext:y,$frontmatter:b}=c();return g.setup(),(c,p)=>{let m=d;return s(),a(u,o(t(i(l)(i(b),6))),{default:n(()=>[p[0]||=r(`h1`,null,`Current Transports`,-1),r(`div`,f,[e(m,{variant:`before`})])]),_:1},16)}}};export{p as default}; \ No newline at end of file diff --git a/2026/aidevcon-london/assets/md-D1YYAizP.js b/2026/aidevcon-london/assets/md-D1YYAizP.js new file mode 100644 index 0000000000000000000000000000000000000000..97e1c3d116f29b22f1eca23da587020a27b6208a --- /dev/null +++ b/2026/aidevcon-london/assets/md-D1YYAizP.js @@ -0,0 +1 @@ +import{C as e,D as t,T as n,V as r,Z as i,_ as a,_t as o,b as s,bt as c,gt as l,p as u,v as d,vt as f,yt as p,z as m}from"./modules/shiki-BMQKBaOU.js";import{it as h,rt as g,vt as _}from"./index-cw2gNXXR.js";import{t as v}from"./default-DcmGGORi.js";var y={class:`protocol-efficiency`},b={class:`protocol-efficiency__body`},x={class:`protocol-efficiency__bars`,"aria-label":`Protocol message mix per 10 million MCP requests`},S={class:`protocol-efficiency__row-copy`},C={class:`protocol-efficiency__track`},w={class:`protocol-efficiency__meta`},T=_(n({__name:`McpProtocolEfficiency`,setup(e){let{$slidev:t,$nav:n,$clicksContext:i,$clicks:l,$page:d,$renderContext:f,$frontmatter:g}=h(),_=[{id:`all`,label:`All MCP protocol messages`,value:1e7,pct:100,color:`neutral`,note:`baseline`},{id:`initialize`,label:`initialize`,value:1216172,pct:12.16,color:`amber`,note:`setup / handshake`},{id:`tools`,label:`tools/call:*`,value:62232,pct:.622,color:`blue`,note:`actual tool invocation`}];function v(e){return new Intl.NumberFormat(`en-US`).format(e)}function T(e){return e===100?`100%`:`${Math.max(e,.9)}%`}return(e,t)=>(m(),s(`section`,y,[a(`div`,b,[a(`div`,x,[(m(),s(u,null,r(_,e=>a(`article`,{key:e.id,class:o([`protocol-efficiency__row`,`protocol-efficiency__row--${e.color}`])},[a(`div`,S,[a(`div`,null,[a(`h2`,null,c(e.label),1),a(`p`,null,c(e.note),1)]),a(`strong`,null,c(v(e.value)),1)]),a(`div`,C,[a(`div`,{class:`protocol-efficiency__bar`,style:p({width:T(e.pct)})},null,4)]),a(`div`,w,[a(`span`,null,c(e.pct===100?`100%`:`${e.pct.toFixed((e.pct,2))}%`),1),t[0]||=a(`em`,null,`of all MCP protocol messages`,-1)])],2)),64))]),t[1]||=a(`aside`,{class:`protocol-efficiency__callout`},[a(`span`,null,`Tool calls`),a(`strong`,null,`0.62%`),a(`p`,null,`Only ~62k of every 10M protocol messages are actual tool calls.`)],-1)])]))}}),[[`__scopeId`,`data-v-8e36bcf6`]]),E={class:`protocol-efficiency-slide chart-slide`},D={__name:`slides.md__slidev_15`,setup(n){let{$slidev:r,$nav:o,$clicksContext:s,$clicks:c,$page:u,$renderContext:p,$frontmatter:_}=h();return s.setup(),(n,r)=>{let o=T;return m(),d(v,f(t(l(g)(l(_),14))),{default:i(()=>[a(`div`,E,[r[0]||=a(`header`,{class:`chart-slide__header`},[a(`div`,null,[a(`h1`,null,`Examining 10M Protocol Messages`)])],-1),e(o)])]),_:1},16)}}};export{D as default}; \ No newline at end of file diff --git a/2026/aidevcon-london/assets/md-D3KQl0X-.js b/2026/aidevcon-london/assets/md-D3KQl0X-.js new file mode 100644 index 0000000000000000000000000000000000000000..31bfc3482a5802eb10ed3c86f113d5688d1b5198 --- /dev/null +++ b/2026/aidevcon-london/assets/md-D3KQl0X-.js @@ -0,0 +1 @@ +import{D as e,Z as t,_ as n,gt as r,v as i,vt as a,z as o}from"./modules/shiki-BMQKBaOU.js";import{it as s,rt as c}from"./index-cw2gNXXR.js";import{t as l}from"./default-DcmGGORi.js";var u={__name:`slides.md__slidev_22`,setup(u){let{$slidev:d,$nav:f,$clicksContext:p,$clicks:m,$page:h,$renderContext:g,$frontmatter:_}=s();return p.setup(),(s,u)=>(o(),i(l,a(e(r(c)(r(_),21))),{default:t(()=>[...u[0]||=[n(`h1`,null,`SEP-2322: Stateful Elicitations`,-1),n(`div`,{class:`mrtr-contrast-slide`},[n(`section`,{class:`mrtr-contrast-copy`},[n(`h2`,null,`Before: wait for the answer`),n(`div`,{class:`compact-point-list`},[n(`div`,null,[n(`strong`,null,`SSE POST response stream stays open`),n(`span`,null,`The server asks for more input on the original stream.`)]),n(`div`,null,[n(`strong`,null,`Client POSTs the answer`),n(`span`,null,`The elicitation response is a new JSON-RPC HTTP request.`)]),n(`div`,null,[n(`strong`,null,`Load balancer parses JSON`),n(`span`,null,`It must route by JSON-RPC request id, or use shared storage.`)])])]),n(`aside`,{class:`mrtr-stateful-flow deck-panel`},[n(`div`,{class:`kicker`},`stateful turn-taking`),n(`div`,{class:`mrtr-flow-row`},[n(`div`,{class:`mrtr-node mrtr-node--client`},`Client`),n(`div`,{class:`mrtr-arrow`},`POST tools/call`),n(`div`,{class:`mrtr-node mrtr-node--lb`},`LB`),n(`div`,{class:`mrtr-arrow`},`route`),n(`div`,{class:`mrtr-node`},`A`)]),n(`div`,{class:`mrtr-sse`},`elicitation over SSE · Server A waits…`),n(`div`,{class:`mrtr-flow-row`},[n(`div`,{class:`mrtr-node mrtr-node--client`},`Client`),n(`div`,{class:`mrtr-arrow`},`POST answer`),n(`div`,{class:`mrtr-node mrtr-node--warn`},`LB`),n(`div`,{class:`mrtr-arrow`},`inspect id`),n(`div`,{class:`mrtr-node`},`A`)]),n(`div`,{class:`mrtr-problem`},`Routing depends on the JSON-RPC request id`)])],-1)]]),_:1},16))}};export{u as default}; \ No newline at end of file diff --git a/2026/aidevcon-london/assets/md-D4hmql8c.js b/2026/aidevcon-london/assets/md-D4hmql8c.js new file mode 100644 index 0000000000000000000000000000000000000000..e9ae25f6e9363fd01177337f138532472685832e --- /dev/null +++ b/2026/aidevcon-london/assets/md-D4hmql8c.js @@ -0,0 +1 @@ +import{C as e,D as t,Z as n,_ as r,gt as i,v as a,vt as o,z as s}from"./modules/shiki-BMQKBaOU.js";import{it as c,rt as l}from"./index-cw2gNXXR.js";import{t as u}from"./default-DcmGGORi.js";import{t as d}from"./HttpHeaderExample-UM3qS7BW.js";import{t as f}from"./HttpRouteMap-Bng6aSA7.js";var p={class:`http-standardization-problem`},m={__name:`slides.md__slidev_24`,setup(m){let{$slidev:h,$nav:g,$clicksContext:_,$clicks:v,$page:y,$renderContext:b,$frontmatter:x}=c();return _.setup(),(c,m)=>{let h=f,g=d;return s(),a(u,o(t(i(l)(i(x),23))),{default:n(()=>[m[0]||=r(`h1`,null,`SEP-2243: HTTP Standardization`,-1),r(`div`,p,[e(h,{mode:`problem`}),e(g,{variant:`problem`})])]),_:1},16)}}};export{m as default}; \ No newline at end of file diff --git a/2026/aidevcon-london/assets/md-D5OkqXnt.js b/2026/aidevcon-london/assets/md-D5OkqXnt.js new file mode 100644 index 0000000000000000000000000000000000000000..3d8d2536b887b4b59cf08146f942c799db9ac702 --- /dev/null +++ b/2026/aidevcon-london/assets/md-D5OkqXnt.js @@ -0,0 +1 @@ +import{C as e,D as t,F as n,J as r,T as i,V as a,W as o,Z as s,_ as c,_t as l,b as u,bt as d,ct as f,f as p,gt as m,h,p as g,v as _,vt as v,x as y,y as b,z as x}from"./modules/shiki-BMQKBaOU.js";import{it as S,rt as C,vt as w}from"./index-cw2gNXXR.js";import{t as T}from"./default-DcmGGORi.js";import{a as E,i as D,n as O,o as k,r as A,t as j}from"./wrench-MAYTdx4I.js";var M={class:`simplified-rails`,"aria-label":`Simplified MCP capabilities`},N={class:`cap-row`},P={class:`cap-row`},F=w(i({__name:`SimplificationsProtocolRails`,setup(e){let{$slidev:t,$nav:n,$clicksContext:r,$clicks:i,$page:s,$renderContext:f,$frontmatter:p}=S(),m=[{title:`Tools`,icon:j},{title:`Resources`,icon:k},{title:`Prompts`,icon:A}],h=[{title:`Roots`,icon:E,removed:!0},{title:`Sampling`,icon:O,removed:!0},{title:`Elicitation`,icon:D}];return(e,t)=>(x(),u(`section`,M,[c(`div`,N,[(x(),u(g,null,a(m,e=>c(`article`,{key:e.title,class:`cap-slab`},[(x(),_(o(e.icon),{"stroke-width":2.2})),c(`strong`,null,d(e.title),1)])),64))]),t[0]||=y(`
MCP Server
MCP Client
`,3),c(`div`,P,[(x(),u(g,null,a(h,e=>c(`article`,{key:e.title,class:l([`cap-slab`,{"cap-slab--removed":e.removed}])},[(x(),_(o(e.icon),{"stroke-width":2.2})),c(`strong`,null,d(e.title),1)],2)),64))])]))}}),[[`__scopeId`,`data-v-5cf1e099`]]),I={class:`clickable-image-popover`},L=[`src`,`alt`],R=[`aria-label`],z=[`src`,`alt`],B=w(i({__name:`ClickableImagePopover`,props:{src:{},alt:{},prompt:{default:`click to enlarge`}},setup(e){let{$slidev:t,$nav:i,$clicksContext:a,$clicks:o,$page:s,$renderContext:l,$frontmatter:m}=S(),g=e,v=f(!1);function y(){v.value=!1}function C(e){e.key===`Escape`&&y()}return r(v,e=>{e?window.addEventListener(`keydown`,C):window.removeEventListener(`keydown`,C)}),n(()=>window.removeEventListener(`keydown`,C)),(e,t)=>(x(),u(`figure`,I,[c(`button`,{class:`clickable-image-popover__trigger`,type:`button`,onClick:t[0]||=e=>v.value=!0},[c(`img`,{src:g.src,alt:g.alt},null,8,L),c(`span`,null,d(g.prompt),1)]),(x(),_(h,{to:`body`},[v.value?(x(),u(`div`,{key:0,class:`clickable-image-popover__overlay`,role:`dialog`,"aria-modal":`true`,"aria-label":g.alt,onClick:y},[c(`button`,{class:`clickable-image-popover__close`,type:`button`,"aria-label":`Close enlarged image`,onClick:y},` × `),c(`div`,{class:`clickable-image-popover__frame`,onClick:t[1]||=p(()=>{},[`stop`])},[c(`img`,{src:g.src,alt:g.alt},null,8,z)])],8,R)):b(`v-if`,!0)]))]))}}),[[`__scopeId`,`data-v-7c88547c`]]),V={class:`simplifications-slide`},H={class:`simplifications-visual`},U={class:`simplifications-protocol deck-panel`},W={__name:`slides.md__slidev_19`,setup(n){let{$slidev:r,$nav:i,$clicksContext:a,$clicks:o,$page:l,$renderContext:u,$frontmatter:d}=S();return a.setup(),(n,r)=>{let i=B,a=F;return x(),_(T,v(t(m(C)(m(d),18))),{default:s(()=>[r[1]||=c(`h1`,null,`SEP-2260, SEP-2257: "Simplifications"`,-1),c(`div`,V,[r[0]||=c(`section`,{class:`simplifications-copy`},[c(`h2`,null,`Simplify and Deprecate`),c(`div`,{class:`compact-point-list`},[c(`div`,null,[c(`strong`,null,`No unsolicited Server → Client calls`),c(`span`,null,`Server requests must be contained inside a client-initiated request.`)]),c(`div`,null,[c(`strong`,null,`Drop the fragile GET/SSE handler`),c(`span`,null,`No speculative open channel just in case the server wants to call back.`)]),c(`div`,null,[c(`strong`,null,`Deprecate Sampling + Roots`),c(`span`,null,`Retire underused protocol surface instead of standardizing around it.`)])])],-1),c(`section`,H,[e(i,{class:`simplifications-webcam deck-panel`,src:`images/mcp-webcam.png`,alt:`mcp-webcam demo screenshot`}),c(`aside`,U,[e(a)])])])]),_:1},16)}}};export{W as default}; \ No newline at end of file diff --git a/2026/aidevcon-london/assets/md-DH6OtSpH.js b/2026/aidevcon-london/assets/md-DH6OtSpH.js new file mode 100644 index 0000000000000000000000000000000000000000..08643f5f7ae5040f047eba18b5dc12ad71aac947 --- /dev/null +++ b/2026/aidevcon-london/assets/md-DH6OtSpH.js @@ -0,0 +1,1155 @@ +import{C as e,D as t,T as n,V as r,Z as i,_ as a,_t as o,b as s,bt as c,gt as l,p as u,v as d,vt as f,yt as p,z as m}from"./modules/shiki-BMQKBaOU.js";import{it as h,rt as g,vt as _}from"./index-cw2gNXXR.js";import{t as v}from"./default-DcmGGORi.js";var y=`client_name,sessions,converted_sessions,unconverted_sessions,conversion_rate_pct,matched_tool_calls,distinct_versions\r +claude-code,17641870,31875,17609995,0.181,228218,273\r +Anthropic/ClaudeAI,7621549,32042,7589507,0.42,156957,1\r +mcp,1320271,33256,1287015,2.519,100132,2\r +codex-mcp-client,1146476,3058,1143418,0.267,18606,86\r +chat-ui-mcp,519874,51571,468303,9.92,124352,1\r +openai-mcp,503180,466296,36884,92.67,470845,1\r +claude-ai,501957,18431,483526,3.672,18643,1\r +Anthropic,472788,0,472788,0.0,0,1\r +docker-mcp-gateway,323269,7462,315807,2.308,42345,1\r +cursor-vscode,233012,994,232018,0.427,6446,1\r +mcp-remote-fallback-test,232933,0,232933,0.0,0,1\r +ConversationalAI,166065,19,166046,0.011,22,240\r +sheet-add-in,101713,11,101702,0.011,47,1\r +ms-mcp-catalog-client,87610,4,87606,0.005,9,1\r +gemini-cli-mcp-client (via mcp-remote 0.1.37),69275,15,69260,0.022,36,18\r +codex-mcp-client (via mcp-remote 0.1.37),63472,209,63263,0.329,1784,55\r +lmstudio-mcp-server-session,53117,2056,51061,3.871,10402,1\r +mcp (via mcp-remote 0.1.16),47576,14842,32734,31.196,74083,1\r +Anthropic/Toolbox,41856,31,41825,0.074,102,1\r +gemini-cli-mcp-client,41739,319,41420,0.764,1158,66\r +Cursor MCP Availability,32698,0,32698,0.0,0,1\r +mcpdd,30988,0,30988,0.0,0,1\r +mcp-health-checker,27993,0,27993,0.0,0,1\r +factory-cli,26721,44,26677,0.165,272,85\r +opencode,25269,20653,4616,81.733,41703,157\r +mcporter,23438,142,23296,0.606,143,12\r +Cursor,21870,103,21767,0.471,257,1\r +SearchWebRole.AspNetCore,19884,9448,10436,47.516,9639,1\r +hydra-codex-mcp-preflight,19236,0,19236,0.0,0,1\r +antigravity-client,17338,138,17200,0.796,708,1\r +tfy-llm-gateway-client,16310,15225,1085,93.348,54103,1\r +roder-backend,13429,0,13429,0.0,0,1\r +mcp (via mcp-remote 0.1.37),12464,1404,11060,11.264,8277,1\r +Visual Studio Code,10996,1347,9649,12.25,7641,44\r +workglow-mcp-client,10932,0,10932,0.0,0,1\r +mcpproxy-go,10451,5,10446,0.048,31,1\r +openclaw-bundle-mcp,10020,109,9911,1.088,421,1\r +chat-ui-health-check,8391,0,8391,0.0,0,1\r +ToolServer,7916,719,7197,9.083,720,1\r +ai-sdk-mcp-client,7445,35,7410,0.47,78,1\r +github-copilot-developer,7438,99,7339,1.331,545,72\r +Mistral,6693,0,6693,0.0,0,1\r +Smithery Connect,6284,9,6275,0.143,122,1\r +claude-code (via mcp-remote 0.1.37),6242,185,6057,2.964,1020,71\r +claude-ai (via mcp-remote 0.1.37),5774,21,5753,0.364,123,1\r +Windsurf,5609,110,5499,1.961,563,1\r +llama-webui-mcp,5531,110,5421,1.989,408,1\r +mcp-gateway-registry,5414,0,5414,0.0,0,1\r +platform-catalog,5202,0,5202,0.0,0,1\r +antigravity-client (via mcp-remote 0.1.37),5082,33,5049,0.649,194,1\r +Java SDK MCP Client,4430,526,3904,11.874,657,2\r +assistant-cortex-api,4417,1,4416,0.023,2,1\r +mocop-gateway-go,4374,23,4351,0.526,23,4\r +openclaw-bundle-mcp (via mcp-remote 0.1.37),4105,2,4103,0.049,3,1\r +Cherry Studio,4032,45,3987,1.116,298,26\r +glama,4027,0,4027,0.0,0,1\r +GleanClient,3676,3,3673,0.082,3,1\r +amp-mcp-client,3400,17,3383,0.5,75,1\r +solo-router,3353,0,3353,0.0,0,1\r +rush-probe,3282,0,3282,0.0,0,1\r +(unknown),2947,1568,1379,53.207,1582,1\r +mcp-client,2916,0,2916,0.0,0,2\r +mcp-proxy (via mcp-remote 0.1.37),2702,0,2702,0.0,0,1\r +isee-probe,2595,0,2595,0.0,0,1\r +BB8-MCP-Broker-conn-64cabf7f,2537,0,2537,0.0,0,1\r +openai-mcp (Agent Builder),2471,2376,95,96.155,2380,1\r +BB8-MCP-Broker-conn-60b55b4c,2462,0,2462,0.0,0,1\r +PlayMCP,2212,0,2212,0.0,0,1\r +codex-mcp-client (via mcp-remote 0.1.29),2207,2,2205,0.091,2,18\r +Replit-Agent-MCP-Client,2196,5,2191,0.228,5,1\r +llama-ui-mcp,2191,24,2167,1.095,169,1\r +BB8-MCP-Broker-conn-dbe45ee2,2007,0,2007,0.0,0,1\r +metamcp-client,1915,11,1904,0.574,13,1\r +Agent iOS,1862,0,1862,0.0,0,1\r +Manus,1823,651,1172,35.71,4200,17\r +groq-mcp-client,1802,1297,505,71.976,2851,1\r +Grafana Assistant,1746,1,1745,0.057,1,1\r +lke-mcp-client,1687,0,1687,0.0,0,1\r +MCP Gateway AMI,1620,505,1115,31.173,560,1\r +Workato MCP Connector,1496,0,1496,0.0,0,1\r +kiro,1495,56,1439,3.746,668,1\r +claude-code (via mcp-remote 0.1.30),1424,13,1411,0.913,72,27\r +curl-client,1385,0,1385,0.0,0,2\r +amelia-mcp-client,1385,5,1380,0.361,7,2\r +bolt-api,1354,3,1351,0.222,7,37\r +aibuildai-preflight,1347,0,1347,0.0,0,1\r +Cline,1328,24,1304,1.807,92,20\r +toolhive-vmcp,1268,0,1268,0.0,0,2\r +mcp-gateway,1255,14,1241,1.116,20,3\r +Roo Code,1220,50,1170,4.098,209,11\r +continue-client,1195,5,1190,0.418,9,1\r +AI Gateway,1185,0,1185,0.0,0,1\r +BB8-MCP-Broker-conn-c371ad82,1155,0,1155,0.0,0,1\r +@n8n/n8n-nodes-langchain.mcpClientTool,1141,252,889,22.086,252,2\r +Kelivo MCP,1052,2,1050,0.19,4,1\r +gitmc-org-mcp-scanner,972,0,972,0.0,0,1\r +smithery-probe,955,0,955,0.0,0,1\r +nexus-worker,852,2,850,0.235,51,1\r +cosine-cli,834,2,832,0.24,3,1\r +Q DEV CLI (via mcp-remote 0.1.37),820,0,820,0.0,0,1\r +tfy-transport-probe,771,0,771,0.0,0,1\r +Zed,768,11,757,1.432,39,1\r +Anthropic/Cowork,734,610,124,83.106,3764,1\r +connectors-manager,726,172,554,23.691,172,1\r +qwen-cli-mcp-client-huggingface,704,14,690,1.989,51,1\r +Windsurf (via mcp-remote 0.1.37),703,13,690,1.849,55,1\r +opencode (via mcp-remote 0.1.37),702,638,64,90.883,2228,37\r +Google ASM-Core,694,0,694,0.0,0,1\r +Visual Studio Code - Insiders,681,118,563,17.327,896,15\r +custom3p-desktop,680,7,673,1.029,20,20\r +omp-coding-agent,673,17,656,2.526,112,1\r +mcproxy-remote,673,1,672,0.149,1,1\r +Poke,657,535,122,81.431,560,1\r +mcp-test-client,641,10,631,1.56,217,10\r +Roo Code (via mcp-remote 0.1.37),631,9,622,1.426,65,7\r +Q DEV CLI,606,17,589,2.805,113,1\r +sproutos,597,0,597,0.0,0,1\r +dovkie-monitor,587,0,587,0.0,0,1\r +Anthropic/ClaudeCodeDesktop,581,537,44,92.427,4245,1\r +local-agent-mode-huggingface (via mcp-remote 0.1.37),562,33,529,5.872,315,1\r +codex-mcp-client (via mcp-remote 0.1.30),557,3,554,0.539,8,13\r +local-agent-mode-hf-mcp-server (via mcp-remote 0.1.37),552,8,544,1.449,22,1\r +augment-mcp-client,536,1,535,0.187,3,1\r +dev.warp.Warp-Stable,529,2,527,0.378,43,20\r +HuggingFace,526,0,526,0.0,0,1\r +hais-mcp-wallet,494,1,493,0.202,1,1\r +cursor-vscode (via mcp-remote 0.1.37),480,4,476,0.833,27,1\r +Anthropic/API,477,31,446,6.499,143,1\r +VTENEXT/MCP-Client,466,0,466,0.0,0,1\r +archestra-platform,458,0,458,0.0,0,17\r +test,457,58,399,12.691,159,8\r +Trae,453,13,440,2.87,127,2\r +Kai 9000,429,18,411,4.196,110,1\r +Cline (via mcp-remote 0.1.37),426,5,421,1.174,14,11\r +lmstudio-mcp-server-session (via mcp-remote 0.1.37),426,15,411,3.521,43,1\r +hf-mcp-server,416,4,412,0.962,12,2\r +hf,416,1,415,0.24,3,2\r +Airia MCP Gateway,413,0,413,0.0,0,1\r +q-chat-plugin,397,0,397,0.0,0,1\r +openai-mcp (Responses API),397,97,300,24.433,234,1\r +mcp-client-huggingface,385,6,379,1.558,15,1\r +metricly-mcp-hub,382,1,381,0.262,1,1\r +openacme-huggingface,362,0,362,0.0,0,1\r +h2ogpte_introspect,358,0,358,0.0,0,1\r +tfy-gateway-virtual,331,0,331,0.0,0,1\r +1DD919D0-D810-4D10-B291-5B0141A1EF5F,331,0,331,0.0,0,1\r +koi-remote-mcp-scanner,328,0,328,0.0,0,1\r +AgentBrowser,319,14,305,4.389,31,1\r +mad-dashboard,318,0,318,0.0,0,1\r +mcp-client-hf-mcp,301,18,283,5.98,328,1\r +flowise-client,299,18,281,6.02,18,1\r +goose-desktop,283,13,270,4.594,112,7\r +codex-mcp-client (via mcp-remote 0.1.18),272,0,272,0.0,0,13\r +routermcp,272,17,255,6.25,18,1\r +hermes-agent,270,3,267,1.111,16,1\r +fast-agent-mcp,266,113,153,42.481,309,28\r +egnyte-mcp-client-configurations,264,0,264,0.0,0,1\r +ps-mcp-tools-probe,263,0,263,0.0,0,1\r +WyvernChat,263,0,263,0.0,0,1\r +litellm-ui,258,1,257,0.388,1,1\r +inspector-client,254,24,230,9.449,58,4\r +thisilabs,253,153,100,60.474,272,1\r +manifest-generator,253,0,253,0.0,0,1\r +coco-mcp-client,250,5,245,2.0,6,1\r +kiro (via mcp-remote 0.1.37),249,6,243,2.41,47,1\r +@n8n/mcp-registry.huggingFace,247,4,243,1.619,4,1\r +Zia Agent MCP Client,246,4,242,1.626,18,1\r +mcporter (via mcp-remote 0.1.37),239,7,232,2.929,7,4\r +Copilot,239,2,237,0.837,4,1\r +nai-mcp-client,234,0,234,0.0,0,1\r +Super MCP Integration,231,0,231,0.0,0,1\r +qwen-cli-mcp-client-huggingface-skills,228,7,221,3.07,16,1\r +openai-mcp (ChatGPT),228,0,228,0.0,0,1\r +TraeCN,224,4,220,1.786,8,1\r +mcpgw-upstream,223,0,223,0.0,0,1\r +figma-synapse-client,219,0,219,0.0,0,1\r +actionist,215,2,213,0.93,5,1\r +@cline/core,214,4,210,1.869,11,1\r +nexus-gateway,208,3,205,1.442,13,1\r +Rush,206,0,206,0.0,0,1\r +AgentPulse,206,0,206,0.0,0,1\r +xai-backend,205,32,173,15.61,40,1\r +BB8-MCP-Broker-conn-6d3f9d9b,195,0,195,0.0,0,1\r +mcp-use,192,139,53,72.396,139,2\r +tracelet-probe,190,0,190,0.0,0,1\r +registry-health-checker,185,0,185,0.0,0,1\r +conduit,175,0,175,0.0,0,1\r +dev.warp.Warp,174,0,174,0.0,0,15\r +DeepChat,173,8,165,4.624,50,18\r +chatwise,172,0,172,0.0,0,24\r +@librechat/api-client,169,17,152,10.059,55,1\r +Kai,168,2,166,1.19,7,1\r +craft-agent,167,10,157,5.988,74,1\r +mission-mcp-doctor,164,0,164,0.0,0,1\r +qwen-cli-mcp-client-hugging-face,163,1,162,0.613,10,1\r +aigc-client,160,0,160,0.0,0,1\r +40mcp-connector,159,0,159,0.0,0,1\r +multi-agent-platform,155,6,149,3.871,6,1\r +mcp-studio-scanner,155,0,155,0.0,0,1\r +chatgpt2api,153,0,153,0.0,0,1\r +kyoto,151,0,151,0.0,0,1\r +mcp-inspector-ui,149,29,120,19.463,53,1\r +dova,146,114,32,78.082,253,2\r +probe,146,7,139,4.795,36,8\r +Bifrost-huggingface,142,2,140,1.408,4,1\r +claude-rs,142,0,142,0.0,0,1\r +McpGateway,138,5,133,3.623,10,1\r +SynthAI.Api,138,0,138,0.0,0,1\r +Azure API Management,137,6,131,4.38,7,1\r +Glue AI,137,0,137,0.0,0,1\r +mcpjungle mcp client for https://huggingface.co/mcp,135,73,62,54.074,74,1\r +lmstudio-mcp-bridge,135,1,134,0.741,4,1\r +grok-shell-grok_com_hugging_face,134,1,133,0.746,1,21\r +agent-store-client,132,33,99,25.0,117,1\r +claude-ai (via mcp-remote 0.1.36),130,0,130,0.0,0,1\r +Kwaipilot-client,127,7,120,5.512,21,1\r +kilo,126,112,14,88.889,385,9\r +proxy-hf-mcp-server,124,0,124,0.0,0,1\r +openint-healthcheck,123,0,123,0.0,0,1\r +jetbrains-ai-assistant-client,121,3,118,2.479,25,1\r +continuum-sync,118,0,118,0.0,0,1\r +mcp-ktor,116,0,116,0.0,0,3\r +esan-agent,110,2,108,1.818,2,1\r +raiwork,108,2,106,1.852,3,1\r +huggingface,108,1,107,0.926,1,2\r +mcp-streamable-proxy-client,105,1,104,0.952,10,1\r +mcp-proxy-detector,104,0,104,0.0,0,1\r +BB8-MCP-Broker-conn-e0b63b9b,101,0,101,0.0,0,1\r +registry-tool-scraper,100,0,100,0.0,0,1\r +notion-mcp-client,97,35,62,36.082,37,1\r +bridge-inspector,95,6,89,6.316,6,1\r +Osaurus,93,0,93,0.0,0,28\r +MintMCP Client,92,0,92,0.0,0,1\r +chatbox-mcp-client,92,23,69,25.0,180,1\r +ViPEW,91,0,91,0.0,0,1\r +openclaw-mcp-huggingface,91,0,91,0.0,0,1\r +rmcp,90,14,76,15.556,34,9\r +59145A67-7CBF-437B-922A-3EED9C141646,90,1,89,1.111,3,1\r +tedix-mcp-scanner,88,14,74,15.909,14,1\r +docker,88,0,88,0.0,0,1\r +Hugging Face,85,0,85,0.0,0,2\r +unichat-client-mcp,84,0,84,0.0,0,1\r +MintlifyAgentRank,84,0,84,0.0,0,1\r +my-go-client,83,0,83,0.0,0,1\r +bluenexus-mcp-client,81,24,57,29.63,24,3\r +q-chat-plugin (via mcp-remote 0.1.37),80,0,80,0.0,0,1\r +ai-voice-call-core,80,0,80,0.0,0,1\r +hugging face,79,0,79,0.0,0,1\r +junie-client,79,0,79,0.0,0,1\r +enforce-gateway-go,79,0,79,0.0,0,1\r +python-client,78,54,24,69.231,1576,1\r +MCP Gateway,76,67,9,88.158,67,1\r +picoclaw,75,0,75,0.0,0,1\r +solver,74,72,2,97.297,7688,1\r +MCP Security Scanner,74,0,74,0.0,0,1\r +pi-mcp-probe,73,0,73,0.0,0,1\r +mcp-robot,73,0,73,0.0,0,1\r +Cherry Studio (via mcp-remote 0.1.37),72,4,68,5.556,36,8\r +tap-platform-mcp-client,72,0,72,0.0,0,1\r +@n8n/n8n-nodes-langchain.mcpClient,71,3,68,4.225,3,1\r +VisualStudio,70,6,64,8.571,10,18\r +py-client,69,0,69,0.0,0,1\r +mcp-sec-ratelimit-scanner,69,0,69,0.0,0,1\r +claude-ai (via mcp-remote 0.1.17),68,0,68,0.0,0,1\r +qwen-cli-mcp-client-hf-mcp-server,67,0,67,0.0,0,1\r +LocalAIAgent,67,4,63,5.97,10,1\r +hugging_face_mcp_b75cfb,67,11,56,16.418,40,1\r +local-agent-mode-homelab-huggingface (via mcp-remote 0.1.37),66,1,65,1.515,3,1\r +BeldenIQ,66,0,66,0.0,0,1\r +continue-client (via mcp-remote 0.1.37),65,0,65,0.0,0,1\r +pipeline_mcp,65,52,13,80.0,284,1\r +dartantic_ai,63,0,63,0.0,0,1\r +mcptotal-client,63,0,63,0.0,0,1\r +iris-self-discover,62,0,62,0.0,0,1\r +AERA-MCP-Audit,62,38,24,61.29,25297,1\r +grok-shell-huggingface,62,0,62,0.0,0,8\r +github-copilot-developer (via mcp-remote 0.1.37),61,1,60,1.639,1,16\r +mcp-hub,60,2,58,3.333,5,2\r +Hugging Face MCP,59,0,59,0.0,0,1\r +amp-mcp-client (via mcp-remote 0.1.37),57,7,50,12.281,27,1\r +local-agent-mode-huggingface-flux (via mcp-remote 0.1.37),57,0,57,0.0,0,1\r +tfy-agent-mcp-client,56,1,55,1.786,1,1\r +mcphost,55,1,54,1.818,1,1\r +mcp-live-test,55,0,55,0.0,0,1\r +tanka-output-v4,55,43,12,78.182,43,1\r +Privacy AI,54,4,50,7.407,11,7\r +bio-agents-platform,53,0,53,0.0,0,1\r +junie-client (via mcp-remote 0.1.37),53,1,52,1.887,25,1\r +platform-client,53,0,53,0.0,0,1\r +dev.warp.Warp-Preview,52,2,50,3.846,7,10\r +verify-mcp,52,0,52,0.0,0,1\r +daily-huggingface,52,52,0,100.0,156,1\r +llama-stack-bff-client,51,0,51,0.0,0,1\r +layla,51,13,38,25.49,20,13\r +crabeye-mcp-bridge/huggingface,51,2,49,3.922,4,1\r +toolhive,49,0,49,0.0,0,1\r +span-pipeline,49,0,49,0.0,0,1\r +pi-mcp-huggingface,49,32,17,65.306,188,1\r +Intility.Gpt.Backend,48,0,48,0.0,0,1\r +AbacusAI TUI,48,0,48,0.0,0,1\r +openclaw-mcp-adapter (via mcp-remote 0.1.37),48,0,48,0.0,0,1\r +openstatus-health-check,45,0,45,0.0,0,1\r +vllm-dashboard,45,0,45,0.0,0,1\r +omelette-go,45,26,19,57.778,82,1\r +tracelet-virtual-mcp,45,2,43,4.444,3,1\r +monamis-runtime,44,0,44,0.0,0,1\r +claude-ai (via mcp-remote 0.1.18),44,0,44,0.0,0,1\r +SynthAI.Tests,44,0,44,0.0,0,1\r +yua-backend,44,10,34,22.727,41,1\r +huggingface (via mcp-remote 0.1.37),44,4,40,9.091,10,1\r +mcpwn,43,5,38,11.628,886,1\r +Visual Studio Code Agents - Insiders,43,5,38,11.628,33,6\r +0xKobold,43,0,43,0.0,0,1\r +ai-agents-mcp-client,43,0,43,0.0,0,7\r +hf-mcp,43,0,43,0.0,0,1\r +docker agent,41,2,39,4.878,5,1\r +crabeye-mcp-bridge/hf-mcp-server,41,0,41,0.0,0,1\r +tanka-assistant,41,27,14,65.854,27,1\r +smoke,40,0,40,0.0,0,3\r +local-agent-mode-HuggingFace (via mcp-remote 0.1.37),40,0,40,0.0,0,1\r +1mcp,40,2,38,5.0,6,2\r +mcpjungle mcp client for https://huggingface.co/mcp?login,40,13,27,32.5,13,1\r +mcp-remote-test-client (via mcp-remote 0.1.31),40,0,40,0.0,0,1\r +rush-agent,39,4,35,10.256,7,1\r +openclaw-huggingface (via mcp-remote 0.1.37),39,0,39,0.0,0,1\r +zigent,39,1,38,2.564,22,1\r +mission-mcp-gateway,38,0,38,0.0,0,1\r +BB8-MCP-Broker-conn-0b508b54,38,0,38,0.0,0,1\r +rmcp (via mcp-remote 0.1.37),38,0,38,0.0,0,4\r +hf-mcp-server-client,38,0,38,0.0,0,1\r +mcp-router (via mcp-remote 0.1.37),37,1,36,2.703,2,1\r +workato-genie-mcp-client,37,37,0,100.0,37,1\r +clawcentral,37,0,37,0.0,0,1\r +talk2me-voice-agent,36,0,36,0.0,0,1\r +proctor-mcp-client,36,0,36,0.0,0,1\r +aiaw,35,26,9,74.286,99,5\r +mcp-gateway-fetcher,35,0,35,0.0,0,1\r +local-agent-mode-hf-gradio (via mcp-remote 0.1.37),35,0,35,0.0,0,1\r +agent,35,31,4,88.571,109,2\r +CopilotChatWebApi,34,1,33,2.941,2,1\r +aurocx-client,34,4,30,11.765,9,1\r +cursor-vscode (via mcp-remote 0.1.30),34,0,34,0.0,0,1\r +augment-mcp-client (via mcp-remote 0.1.37),34,1,33,2.941,2,1\r +mcp-remote-test-client (via mcp-remote 0.1.29),34,0,34,0.0,0,1\r +mcp-drift,34,0,34,0.0,0,1\r +Postman Client,34,1,33,2.941,1,1\r +mcp-helper,33,33,0,100.0,33,1\r +@huggingface/responses.js,33,0,33,0.0,0,1\r +toolathlon-live (via mcp-remote 0.1.37),33,11,22,33.333,70,1\r +grok-shell-hf-mcp-server,33,0,33,0.0,0,8\r +p,33,11,22,33.333,30,3\r +ModelContextProtocol.Core,33,0,33,0.0,0,1\r +zh,33,0,33,0.0,0,1\r +CopilotFlow,33,0,33,0.0,0,1\r +jarvis,33,24,9,72.727,208,1\r +Dify,33,28,5,84.848,28,2\r +LocalAI-WebUI,32,4,28,12.5,37,1\r +securemcp-gateway,32,0,32,0.0,0,1\r +MstyStudio (via mcp-remote 0.1.37),32,0,32,0.0,0,3\r +flowmap-operator,32,0,32,0.0,0,1\r +portal,32,0,32,0.0,0,1\r +local-agent-mode-huggingface-custom (via mcp-remote 0.1.37),31,2,29,6.452,2,1\r +BB8-MCP-Broker-conn-28df9687,31,3,28,9.677,4,1\r +Studio,31,19,12,61.29,86,1\r +nawah,30,0,30,0.0,0,1\r +claude-ai (via mcp-remote 0.1.41),30,0,30,0.0,0,1\r +t,30,1,29,3.333,2,2\r +mcp-test-client (via mcp-remote 0.1.37),29,0,29,0.0,0,1\r +concierge-forwarder-probe,29,0,29,0.0,0,1\r +hub-agent,29,0,29,0.0,0,1\r +mcp-tool-sync,29,0,29,0.0,0,1\r +AgentPlatform,28,22,6,78.571,22,1\r +grok-validator,28,0,28,0.0,0,1\r +Jan Streamable Client,28,2,26,7.143,20,1\r +Visual Studio Code (via mcp-remote 0.1.37),28,0,28,0.0,0,8\r +mcpchecker,28,0,28,0.0,0,1\r +qwen-cli-mcp-client-hf,28,0,28,0.0,0,1\r +mcp-health-client,28,0,28,0.0,0,1\r +Cline (via mcp-remote 0.1.29),28,0,28,0.0,0,3\r +goose-cli,27,4,23,14.815,31,5\r +BB8-MCP-Broker-conn-a8e6970d,27,0,27,0.0,0,1\r +nvcf-responses-mcp-client,27,12,15,44.444,20,1\r +Noruxa,27,2,25,7.407,2,1\r +BB8-MCP-Broker-conn-0196e527,27,0,27,0.0,0,1\r +ai-tool-executor,26,3,23,11.538,4,1\r +keycard-probe,26,0,26,0.0,0,1\r +genesis-gateway,26,10,16,38.462,12,1\r +archestra-inspector,26,1,25,3.846,1,2\r +databricks-langchain-client,26,8,18,30.769,8,1\r +hv-status-probe,25,0,25,0.0,0,1\r +Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/),25,0,25,0.0,0,1\r +langsmith-mcp-proxy,25,0,25,0.0,0,1\r +test-client,24,9,15,37.5,54,2\r +HF-MCP,24,0,24,0.0,0,1\r +huggingface-agent-mcp-client,24,23,1,95.833,69,1\r +linxclaw,24,0,24,0.0,0,1\r +Windsurf (via mcp-remote 0.1.15),24,0,24,0.0,0,1\r +bolt,24,0,24,0.0,0,1\r +egocodex-mcp-smoke,24,0,24,0.0,0,1\r +qoder-cli-mcp-client,23,0,23,0.0,0,1\r +mcp-remote-test-client (via mcp-remote 0.1.38),23,0,23,0.0,0,1\r +google-ai-edge-gallery,22,1,21,4.545,1,1\r +rex (via mcp-remote 0.1.37),22,0,22,0.0,0,1\r +claude-console,22,0,22,0.0,0,1\r +ai-debugger-web,22,4,18,18.182,16,1\r +github-copilot-developer-test,21,0,21,0.0,0,8\r +mavis-mcp,21,1,20,4.762,2,1\r +dev.warp.Warp-Stable (via mcp-remote 0.1.37),20,0,20,0.0,0,13\r +clawbuddy,20,6,14,30.0,11,1\r +executor-probe,20,0,20,0.0,0,1\r +celeste-agent,20,1,19,5.0,2,1\r +zerotwo-mcp-client-8ba77feb-eed6-4358-845e-4cf5f05b0eb9,20,0,20,0.0,0,1\r +hermes,20,0,20,0.0,0,3\r +antigravity-client (via mcp-remote 0.1.30),19,0,19,0.0,0,1\r +pinkfish,19,1,18,5.263,1,1\r +Programs,19,0,19,0.0,0,1\r +Air (via mcp-remote 0.1.37),19,0,19,0.0,0,1\r +concierge-bootstrap,19,0,19,0.0,0,1\r +jackfruit-research-mcp-handshake,19,0,19,0.0,0,1\r +huggingface_hub.MCPClient,18,2,16,11.111,7,4\r +chatbot,18,0,18,0.0,0,1\r +local-agent-mode-HuggingFace-Images (via mcp-remote 0.1.37),18,0,18,0.0,0,1\r +com.raycast.macos,18,4,14,22.222,15,6\r +TreatGPT-Web,17,0,17,0.0,0,1\r +c,17,11,6,64.706,14,2\r +AppIdea,17,0,17,0.0,0,1\r +Neurons,17,4,13,23.529,27,1\r +vsc-aitoolkit-HuggingFaceMCPServer,16,2,14,12.5,6,3\r +cherry-studio-app,16,1,15,6.25,1,1\r +mcp-shield-scanner,16,0,16,0.0,0,1\r +local-agent-mode-hf-mcp-server (via mcp-remote 0.1.17),16,1,15,6.25,3,1\r +exchange-experience-api,16,0,16,0.0,0,1\r +Tooler.API,16,3,13,18.75,5,1\r +@smolagents/mcp-client-sandbox,16,2,14,12.5,2,1\r +Msty Claw,16,1,15,6.25,2,1\r +mcp-introspector,16,0,16,0.0,0,1\r +mosaic-companion,15,1,14,6.667,8,1\r +ChatMcpiOSClient,15,4,11,26.667,7,1\r +universal-mcp-bridge,15,1,14,6.667,1,1\r +claude-ai (via mcp-remote 0.1.29),15,1,14,6.667,3,1\r +GenVR Workflow,15,3,12,20.0,3,1\r +pi-mcp-hf-mcp-server,15,6,9,40.0,21,1\r +mcs,15,0,15,0.0,0,1\r +ui5flow-mcp-client,15,0,15,0.0,0,1\r +@librechat/api-client (via mcp-remote 0.1.37),15,0,15,0.0,0,1\r +step2_test,15,9,6,60.0,12,1\r +conformance-test-client,15,0,15,0.0,0,1\r +dust-mcp-client,15,0,15,0.0,0,1\r +CC4ALL Admin,14,0,14,0.0,0,1\r +evaos-smoke,14,0,14,0.0,0,1\r +abacusai-agent,14,0,14,0.0,0,1\r +mcp-ollama-chatbot,14,1,13,7.143,6,1\r +Air,14,1,13,7.143,5,1\r +agentgateway-dashboard,14,0,14,0.0,0,1\r +nuvin,14,0,14,0.0,0,1\r +ironclaw,14,0,14,0.0,0,3\r +mcp-cli,14,1,13,7.143,6,1\r +mcptools,14,12,2,85.714,12,1\r +Huggingface,14,1,13,7.143,1,2\r +wekala,14,0,14,0.0,0,1\r +mcp-extractor,14,0,14,0.0,0,1\r +compose-connectors,14,0,14,0.0,0,1\r +nyx,13,7,6,53.846,7,1\r +lava-federation-http,13,10,3,76.923,10,1\r +agent-flow,13,9,4,69.231,57,2\r +nuclei,13,0,13,0.0,0,1\r +mcp-tool-explorer,13,2,11,15.385,6,2\r +mcp-queryset-gen,13,11,2,84.615,49,1\r +streamable-http-client,13,1,12,7.692,1,1\r +dmhai-itgr-test,13,0,13,0.0,0,1\r +solarwinds_mcp_verifier,13,0,13,0.0,0,1\r +claude-code (via mcp-remote 0.1.29),12,0,12,0.0,0,5\r +mcp-prompt-list,12,0,12,0.0,0,1\r +alma,12,0,12,0.0,0,1\r +pillar-agent,12,0,12,0.0,0,1\r +claude-ai (via mcp-remote 0.1.30),12,0,12,0.0,0,1\r +openacme-__test__,12,0,12,0.0,0,1\r +mcp-playground,12,2,10,16.667,2,2\r +mcpregistry,12,0,12,0.0,0,1\r +curl,12,2,10,16.667,28,5\r +codex-check,12,1,11,8.333,1,2\r +databricks-webapp,11,0,11,0.0,0,1\r +openclaw-bundle-mcp (via mcp-remote 0.1.36),11,0,11,0.0,0,1\r +mcp-remote-test-client (via mcp-remote 0.1.35),11,0,11,0.0,0,1\r +diag,11,0,11,0.0,0,4\r +mcp-web-client,11,3,8,27.273,3,1\r +codemoss-ide,11,0,11,0.0,0,1\r +WebMCP,11,0,11,0.0,0,1\r +claude-ai (via mcp-remote 0.1.12),11,0,11,0.0,0,1\r +grok-shell-grok_com_허깅페이스,11,0,11,0.0,0,2\r +MCP Playground,11,1,10,9.091,10,1\r +21st-desktop,11,0,11,0.0,0,1\r +ramparts,11,0,11,0.0,0,1\r +insomnia-test,11,0,11,0.0,0,1\r +aui-workflow-client,11,0,11,0.0,0,1\r +gemma.hf_mcp,11,7,4,63.636,7,1\r +local-agent-mode-hf-mcp-server (via mcp-remote 0.1.12),11,0,11,0.0,0,1\r +Playground,11,0,11,0.0,0,1\r +artific,11,0,11,0.0,0,1\r +grok-shell-hugging-face,11,0,11,0.0,0,3\r +seekrflow,10,0,10,0.0,0,1\r +claude-ai (via mcp-remote 0.1.31),10,0,10,0.0,0,1\r +local-agent-mode-huggingface (via mcp-remote 0.1.36),10,0,10,0.0,0,1\r +Firebase Studio,10,0,10,0.0,0,1\r +local-agent-mode-hf-mcp-server (via mcp-remote 0.1.18),10,1,9,10.0,8,1\r +devrel-index-probe,10,0,10,0.0,0,1\r +cloud-ai-tools-validator,10,0,10,0.0,0,1\r +hf-vision-mcp,10,0,10,0.0,0,1\r +DMH-AI,10,2,8,20.0,2,1\r +make-app-mcp-client,10,0,10,0.0,0,3\r +BB8-MCP-Broker-conn-f484d2e9,10,0,10,0.0,0,1\r +MCP-Security-Scanner,10,0,10,0.0,0,1\r +page-assist,10,5,5,50.0,10,1\r +crush,10,0,10,0.0,0,2\r +TypingMind,10,0,10,0.0,0,1\r +knot,9,9,0,100.0,36,1\r +hrbr-probe,9,0,9,0.0,0,1\r +MCP-02-HuggingFace-Ollama,9,0,9,0.0,0,1\r +osbot,9,1,8,11.111,4,1\r +slim-tools,9,3,6,33.333,4,1\r +Daneel,9,8,1,88.889,8,1\r +agent-seo,9,0,9,0.0,0,1\r +local-agent-mode-huggingface-hub (via mcp-remote 0.1.37),9,0,9,0.0,0,1\r +hrbr,9,0,9,0.0,0,1\r +drio-upstream-discovery,9,0,9,0.0,0,1\r +interpreter-client,9,0,9,0.0,0,1\r +seance,9,0,9,0.0,0,1\r +local-agent-mode-Hugging Face (via mcp-remote 0.1.37),9,0,9,0.0,0,1\r +agentgrade,9,0,9,0.0,0,1\r +mcp-client-cli,9,0,9,0.0,0,1\r +Playground MCP Client,9,0,9,0.0,0,1\r +local-agent-mode-mcp-remote (via mcp-remote 0.1.37),9,0,9,0.0,0,1\r +pi-mcp-hugging-face,9,3,6,33.333,28,1\r +mcphero,8,0,8,0.0,0,1\r +nutest-mcp-handshake-client,8,0,8,0.0,0,1\r +Context,8,3,5,37.5,16,1\r +external-mcp-client,8,0,8,0.0,0,1\r +audit-tool,8,0,8,0.0,0,1\r +Zed (via mcp-remote 0.1.37),8,0,8,0.0,0,1\r +hf-mcp-server (via mcp-remote 0.1.37),8,0,8,0.0,0,1\r +mcp-store-discovery,8,0,8,0.0,0,1\r +wiseai-mcp-bridge,8,0,8,0.0,0,1\r +coda-agent-runtime,8,2,6,25.0,2,1\r +openclaw-direct (via mcp-remote 0.1.37),8,5,3,62.5,5,1\r +jetbrains-ai-assistant-client (via mcp-remote 0.1.37),8,0,8,0.0,0,1\r +omnibot-android,8,1,7,12.5,1,1\r +nin-connect,8,3,5,37.5,3,1\r +Spring AI MCP Client,8,0,8,0.0,0,1\r +mcp-rugpull-research,8,0,8,0.0,0,1\r +my-mcp-orchestrator,8,0,8,0.0,0,1\r +omp-coding-agent (via mcp-remote 0.1.37),7,0,7,0.0,0,1\r +spiderfoot,7,0,7,0.0,0,1\r +helper-for-huggingface,7,0,7,0.0,0,1\r +wmcp-probe,7,0,7,0.0,0,1\r +npayload-primus,7,2,5,28.571,2,1\r +umai-mcp-prober,7,0,7,0.0,0,1\r +Insomnia,7,1,6,14.286,4,2\r +pochi,7,0,7,0.0,0,1\r +koda-client,7,0,7,0.0,0,1\r +mcp (via mcp-remote 0.1.30),7,0,7,0.0,0,1\r +Jabberwocky,7,4,3,57.143,55,1\r +HFMCP.GenImage.Web,7,0,7,0.0,0,1\r +ael,7,0,7,0.0,0,1\r +vsc-aitoolkit-hugging face,7,0,7,0.0,0,4\r +mr-claw,7,1,6,14.286,1,1\r +qwen-cli-mcp-client-huggingface (via mcp-remote 0.1.37),7,0,7,0.0,0,1\r +mcprouter-client,7,0,7,0.0,0,1\r +factory-cli (via mcp-remote 0.1.37),7,0,7,0.0,0,3\r +proxyward-dashboard,7,0,7,0.0,0,1\r +pi-mcp-huggingface (via mcp-remote 0.1.37),7,6,1,85.714,14,1\r +codex-probe,7,0,7,0.0,0,3\r +milo-mcp-rugpull-watch,7,0,7,0.0,0,1\r +v3-bench,7,3,4,42.857,3,1\r +copilot-cli,7,0,7,0.0,0,1\r +mcp-ts-oauth-client,7,0,7,0.0,0,1\r +lovable-agent,7,0,7,0.0,0,1\r +x,7,0,7,0.0,0,1\r +External MCP: huggingface_mcp,7,0,7,0.0,0,1\r +connectivity-probe (via mcp-remote 0.1.16),7,0,7,0.0,0,1\r +aisec-registry-probe,7,0,7,0.0,0,1\r +infersec-api,7,4,3,57.143,4,1\r +local-agent-mode-hf-mcp-server (via mcp-remote 0.1.41),7,0,7,0.0,0,1\r +mcp (via mcp-remote 0.1.26),7,4,3,57.143,16,1\r +aozora,6,0,6,0.0,0,1\r +my-test-client (via mcp-remote 0.1.37),6,3,3,50.0,3,1\r +mcp-inspector,6,2,4,33.333,3,1\r +com.dillon.chat,6,2,4,33.333,9,1\r +mcpdebugger.dev,6,0,6,0.0,0,1\r +hv-agent-cmcp_huggingface_co,6,1,5,16.667,1,1\r +mcp-remote-test-client (via mcp-remote 0.1.33),6,0,6,0.0,0,1\r +MemoryGraph,6,0,6,0.0,0,1\r +antigravity-tester (via mcp-remote 0.1.37),6,0,6,0.0,0,1\r +wrapper-client-huggingface,6,0,6,0.0,0,1\r +com.raycast.macos (via mcp-remote 0.1.37),6,5,1,83.333,41,1\r +curl-test,6,1,5,16.667,1,2\r +openclaw-check,6,0,6,0.0,0,1\r +desktop-commander,6,0,6,0.0,0,1\r +operant-gateway-preflight,6,0,6,0.0,0,1\r +mcp-remote-test-client (via mcp-remote 1.12.0),6,0,6,0.0,0,1\r +executor-mcp,6,0,6,0.0,0,1\r +JetBrains-PY/copilot-intellij,6,2,4,33.333,17,4\r +grok-shell-grok_com_huggingface,6,0,6,0.0,0,2\r +local-client,6,4,2,66.667,4,1\r +SeekerClaw,6,0,6,0.0,0,1\r +connector:custom-mcp:hf-mcp-server,6,0,6,0.0,0,1\r +xyne-claw-auth,6,1,5,16.667,3,1\r +lyra-mcp-health-audit,6,0,6,0.0,0,1\r +databricks-onechat,6,0,6,0.0,0,1\r +opencode-debug,5,0,5,0.0,0,5\r +sami-client,5,1,4,20.0,1,1\r +mcp-bridge,5,5,0,100.0,11,1\r +000a0009-0b68-413f-990a-241d01207cb5,5,0,5,0.0,0,1\r +Hugging,5,0,5,0.0,0,1\r +hermes-test,5,0,5,0.0,0,2\r +gemini-cli-mcp-client-huggingface-skills,5,0,5,0.0,0,1\r +AHS-Tester,5,0,5,0.0,0,1\r +Huggingface MCP,5,0,5,0.0,0,1\r +grok-shell-grok_com_huggingface_remote,5,3,2,60.0,68,1\r +smart-pc-builder,5,0,5,0.0,0,1\r +check,5,0,5,0.0,0,1\r +tool-proxy,5,4,1,80.0,4,1\r +codex-smoke,5,0,5,0.0,0,2\r +codex-cli,5,3,2,60.0,9,1\r +mcpstone-probe,5,0,5,0.0,0,1\r +workr-seed,5,0,5,0.0,0,1\r +cli,5,3,2,60.0,6,2\r +r,5,1,4,20.0,20,2\r +LogicGrid,5,0,5,0.0,0,1\r +mcp-review-bot-preauth,5,0,5,0.0,0,1\r +codex-config-check,5,0,5,0.0,0,2\r +mcp-streamable-http-bridge-huggingface,5,0,5,0.0,0,1\r +Visual Studio Code - Insiders (via mcp-remote 0.1.37),5,0,5,0.0,0,3\r +multiAgent-backend,5,0,5,0.0,0,1\r +verify-client,5,0,5,0.0,0,1\r +note-gen,5,0,5,0.0,0,1\r +JetBrains-IU/copilot-intellij,5,1,4,20.0,1,2\r +ONIT Connector,4,0,4,0.0,0,1\r +zerotwo-mcp-client-huggingface_1771511074884,4,0,4,0.0,0,1\r +agenttool,4,0,4,0.0,0,1\r +mcp-tools-client,4,0,4,0.0,0,1\r +AiTop Club Ambassador aitop.cz,4,0,4,0.0,0,1\r +mcp-use Inspector,4,2,2,50.0,4,1\r +codex,4,2,2,50.0,2,1\r +remio-mcp-runtime,4,0,4,0.0,0,1\r +higo,4,2,2,50.0,4,1\r +grok-shell-huggingface-skills,4,0,4,0.0,0,1\r +mcp-http-bridge-homelab-huggingface (via mcp-remote 0.1.37),4,0,4,0.0,0,1\r +MCP OAuth Debug Client,4,0,4,0.0,0,1\r +mcp-bridge-probe,4,0,4,0.0,0,1\r +MCPInspector-iOS,4,3,1,75.0,3,1\r +bluenexus-probe,4,0,4,0.0,0,1\r +mcp-remote-test-client (via mcp-remote 1.29.0),4,0,4,0.0,0,1\r +ONIT MCP Sync,4,0,4,0.0,0,1\r +yua,4,0,4,0.0,0,1\r +CodeFuse,4,0,4,0.0,0,1\r +meshclaw-probe (via mcp-remote 0.1.37),4,0,4,0.0,0,1\r +mcp-remote-test-client (via mcp-remote 1.23.0),4,0,4,0.0,0,1\r +opencode-test,4,0,4,0.0,0,2\r +BB8-MCP-Broker-conn-87d87afb,4,0,4,0.0,0,1\r +unichat-client,4,0,4,0.0,0,1\r +audit,4,0,4,0.0,0,3\r +BB8-MCP-Broker-conn-c09b2772,4,0,4,0.0,0,1\r +asm-test,4,0,4,0.0,0,1\r +Postman Client - 576f2e2a-af7c-4505-8b69-411f474f5be6,4,0,4,0.0,0,1\r +MultiAgentClient,4,0,4,0.0,0,1\r +openclaw-kaggle-test,4,1,3,25.0,1,1\r +BB8-MCP-Broker-conn-0463355b,4,0,4,0.0,0,1\r +MCPRegistry-Crawler,4,0,4,0.0,0,1\r +mcpx::huggingface,4,0,4,0.0,0,1\r +onit-wiki-refresh,4,0,4,0.0,0,1\r +mcpc,4,0,4,0.0,0,3\r +@smolagents/mcp-client,4,2,2,50.0,4,1\r +frank,4,1,3,25.0,16,1\r +capframe-mcp-recon-http,4,0,4,0.0,0,1\r +mcp-check (via mcp-remote 0.1.37),4,0,4,0.0,0,1\r +curltest,4,0,4,0.0,0,2\r +hoot-backend,4,0,4,0.0,0,1\r +Positron,4,0,4,0.0,0,2\r +mcp-remote,4,0,4,0.0,0,3\r +trace-gen,4,0,4,0.0,0,1\r +Bifrost-hf_hosted,4,0,4,0.0,0,1\r +grader,4,0,4,0.0,0,2\r +concierge-tool-bridge,4,4,0,100.0,15,1\r +AionUi,4,0,4,0.0,0,2\r +mcp-remote-rs-test-client,4,0,4,0.0,0,1\r +proxyward-debug,4,0,4,0.0,0,1\r +mcp-proxy-discovery,4,0,4,0.0,0,1\r +example-client,4,1,3,25.0,1,1\r +agent-native-cloud-poc,4,0,4,0.0,0,1\r +Copilot MCP Gateway,4,0,4,0.0,0,1\r +checkmcp,4,0,4,0.0,0,1\r +mcp-emacs (via mcp-remote 0.1.37),4,2,2,50.0,6,1\r +HiDestina,4,0,4,0.0,0,1\r +codex-cli-test,3,0,3,0.0,0,1\r +omni-test,3,0,3,0.0,0,1\r +argentica,3,0,3,0.0,0,1\r +agentlytics,3,0,3,0.0,0,1\r +goose,3,0,3,0.0,0,1\r +codex-setup-probe,3,0,3,0.0,0,1\r +VSCodium,3,0,3,0.0,0,1\r +Bifrost-HuggingFace,3,0,3,0.0,0,1\r +Elosia,3,0,3,0.0,0,1\r +threat-intelligence,3,0,3,0.0,0,1\r +gemini-cli-mcp-client (via mcp-remote 0.1.12),3,0,3,0.0,0,3\r +agent-builder-control-plane,3,0,3,0.0,0,1\r +glama-mcp-inspector,3,0,3,0.0,0,1\r +OpenAgentic,3,0,3,0.0,0,1\r +mcp-client-hf,3,0,3,0.0,0,1\r +KoboldAI Lite MCP,3,0,3,0.0,0,1\r +symphony-snapshotter,3,0,3,0.0,0,2\r +universal-chatbot,3,0,3,0.0,0,1\r +Postman Client - dd74bd5c-d99f-4b0c-b822-9ca475df0d17,3,0,3,0.0,0,1\r +my-mcp,3,1,2,33.333,1,1\r +scan-my-mcp,3,0,3,0.0,0,1\r +proxy-test,3,0,3,0.0,0,1\r +hf-official-client,3,0,3,0.0,0,1\r +chrome-devtools,3,0,3,0.0,0,1\r +lungani,3,1,2,33.333,1,1\r +gateway-mcp-proxy,3,0,3,0.0,0,1\r +mcp-url-validator,3,0,3,0.0,0,1\r +mcpdiff,3,0,3,0.0,0,1\r +mcp-router,3,0,3,0.0,0,1\r +Toolbase,3,0,3,0.0,0,1\r +mcp-scraper,3,0,3,0.0,0,1\r +K Intelligence Studio,3,3,0,100.0,3,1\r +manifest-tool-runner,3,2,1,66.667,12,1\r +codex-mcp-client (via mcp-remote 0.1.31),3,0,3,0.0,0,1\r +toolsense,3,0,3,0.0,0,1\r +OfficeAI,3,1,2,33.333,18,1\r +blockbrain-connection-tester,3,0,3,0.0,0,1\r +llama-ui,3,0,3,0.0,0,1\r +origon-core,3,2,1,66.667,2,1\r +s,3,0,3,0.0,0,1\r +conformance-origin-test,3,0,3,0.0,0,1\r +CustomMcpClient,3,0,3,0.0,0,1\r +grok-shell-grok_com_huggingface_full,3,0,3,0.0,0,1\r +pipelines-tool-worker,3,0,3,0.0,0,1\r +nextchat-mcp-client-Hugging-Face,3,0,3,0.0,0,1\r +JetBrains.IntelliJ IDEA,3,0,3,0.0,0,1\r +aigw-mcp-client,3,0,3,0.0,0,2\r +codex-mcp-client (via mcp-remote 0.1.36),3,0,3,0.0,0,1\r +BB8-MCP-Broker-conn-5cbcb405,3,0,3,0.0,0,1\r +mcp-evaluator,3,0,3,0.0,0,1\r +example-client (via mcp-remote 0.1.37),3,0,3,0.0,0,1\r +OCI-Chat-Test,3,0,3,0.0,0,1\r +ssrf-test,3,0,3,0.0,0,1\r +claude-code-test,3,0,3,0.0,0,1\r +claude-cli,3,0,3,0.0,0,1\r +loach,3,0,3,0.0,0,1\r +Dev ChatBot-HuggingFace,3,0,3,0.0,0,1\r +codex-debug,3,0,3,0.0,0,2\r +copilot-mcp-probe,3,0,3,0.0,0,1\r +agent-os-backend,3,0,3,0.0,0,1\r +codex-hf-mcp,3,0,3,0.0,0,1\r +strand-mcp-probe,3,0,3,0.0,0,1\r +roo-code,3,0,3,0.0,0,1\r +LocalAI,3,1,2,33.333,1,1\r +nuclei-origin-test,3,0,3,0.0,0,1\r +inspector,3,0,3,0.0,0,2\r +mcp-protolab,3,0,3,0.0,0,1\r +mcp-probe,3,0,3,0.0,0,2\r +conformance-session-id-test,3,0,3,0.0,0,1\r +Alice,3,0,3,0.0,0,1\r +agentflow-v3,3,0,3,0.0,0,1\r +protos-probe,3,0,3,0.0,0,1\r +mcp-guard,3,0,3,0.0,0,1\r +botrix-probe,3,1,2,33.333,1,1\r +mcprism-live-runner,3,0,3,0.0,0,2\r +seance-debug,3,0,3,0.0,0,1\r +数据巡查,3,1,2,33.333,1,1\r +codex-hf-mcp-install-check,3,0,3,0.0,0,1\r +final-hf-mcp-validation,2,0,2,0.0,0,1\r +systemprompt,2,0,2,0.0,0,1\r +kiro-check,2,0,2,0.0,0,1\r +mcp-remote-test-client (via mcp-remote 1.24.0),2,0,2,0.0,0,1\r +Enchanté,2,2,0,100.0,19,1\r +bilt-agent-registry-mcp-gateway,2,1,1,50.0,1,1\r +mcp-rest-proxy,2,0,2,0.0,0,1\r +kat-probe,2,0,2,0.0,0,1\r +mcp-review-probe,2,0,2,0.0,0,1\r +aionui-mcp-test,2,0,2,0.0,0,1\r +mcp-s client,2,0,2,0.0,0,1\r +codex-hfco-probe,2,0,2,0.0,0,1\r +BoltAI,2,0,2,0.0,0,1\r +bulk-mcp-check,2,0,2,0.0,0,1\r +reno-design-spec,2,0,2,0.0,0,1\r +mcp-noauth-probe,2,0,2,0.0,0,1\r +caspian-agent,2,2,0,100.0,582,1\r +mcp-ecosystem-scanner,2,0,2,0.0,0,1\r +mcp-gateway-discovery,2,0,2,0.0,0,1\r +tool_116,2,1,1,50.0,5,1\r +agentic-kernel,2,0,2,0.0,0,1\r +ClaudeAndroid,2,0,2,0.0,0,1\r +fl-mcp-research,2,0,2,0.0,0,1\r +Antigravity-Tester (via mcp-remote 0.1.37),2,0,2,0.0,0,1\r +Aether Android,2,0,2,0.0,0,1\r +codex-local-config-check,2,0,2,0.0,0,1\r +catalog-extractor (via mcp-remote 0.1.16),2,0,2,0.0,0,1\r +dataset-pipeline,2,0,2,0.0,0,1\r +codex-auth-test,2,0,2,0.0,0,1\r +agentgateway,2,0,2,0.0,0,1\r +comcom-verifier,2,0,2,0.0,0,1\r +security-audit,2,0,2,0.0,0,1\r +concierge-probe,2,0,2,0.0,0,1\r +grok,2,0,2,0.0,0,1\r +codex-mcp-test,2,1,1,50.0,1,1\r +mcp-test-harness (via mcp-remote 0.1.37),2,0,2,0.0,0,1\r +TreatGPT,2,0,2,0.0,0,1\r +tester,2,0,2,0.0,0,1\r +manus,2,0,2,0.0,0,1\r +BB8-MCP-Broker-conn-ae19925b,2,0,2,0.0,0,1\r +agent-client,2,0,2,0.0,0,1\r +capframe-probe,2,0,2,0.0,0,1\r +platform-mcp-gateway,2,0,2,0.0,0,1\r +neworange-mcp-remote-test-client (via neworange-mcp-remote 0.1.39),2,0,2,0.0,0,1\r +Lovable MCP Client,2,0,2,0.0,0,1\r +auth-probe,2,0,2,0.0,0,2\r +mcp-remote-test-client (via mcp-remote 1.11.0),2,0,2,0.0,0,1\r +mcp-codeexec,2,0,2,0.0,0,1\r +connector:custom-mcp:hugging-face,2,0,2,0.0,0,1\r +lisa-mcp-client,2,1,1,50.0,1,1\r +Raccoon,2,0,2,0.0,0,1\r +local-agent-mode-Hugging Face (Gradio) (via mcp-remote 0.1.37),2,0,2,0.0,0,1\r +AAH-discover,2,0,2,0.0,0,1\r +gateway-mcp-multi-target-proxy,2,0,2,0.0,0,1\r +missionward,2,0,2,0.0,0,1\r +llmp-scanner,2,0,2,0.0,0,1\r +dappier-api,2,0,2,0.0,0,1\r +469c6544-42c9-4ac0-9648-fd56a417ac66,2,1,1,50.0,1,1\r +mcp-remote-test-client (via mcp-remote 1.25.0),2,0,2,0.0,0,1\r +super-mcp-router,2,0,2,0.0,0,1\r +BB8-MCP-Broker-conn-75ec7d63,2,0,2,0.0,0,1\r +local-agent-mode-huggingface-fix (via mcp-remote 0.1.37),2,0,2,0.0,0,1\r +probe (via mcp-remote 0.1.37),2,0,2,0.0,0,1\r +mcp-dataset-probe,2,0,2,0.0,0,1\r +mcp-contract-test,2,0,2,0.0,0,1\r +poc,2,1,1,50.0,5,1\r +smoke-test,2,0,2,0.0,0,2\r +h2ogpte_introspect (via mcp-remote 0.1.37),2,0,2,0.0,0,1\r +hf-mcp-eval,2,0,2,0.0,0,1\r +esan,2,0,2,0.0,0,1\r +codex-local-probe (via mcp-remote 0.1.37),2,1,1,50.0,1,1\r +huggingface-client,2,0,2,0.0,0,1\r +hf-mcp-golden-eval,2,2,0,100.0,70,1\r +zerotwo-mcp-client-huggingface_1777695951427,2,1,1,50.0,2,1\r +mavis,2,1,1,50.0,4,1\r +mcp-remote-test-client (via mcp-remote 0.1.38-enterit-2),2,0,2,0.0,0,1\r +structure-generator (via mcp-remote 0.1.37),2,0,2,0.0,0,1\r +mcp-remote-test-client (via mcp-remote 0.1.38-enterit-1),2,0,2,0.0,0,1\r +cequence-internal-crawler,2,0,2,0.0,0,1\r +gateway-auto-discovery,2,0,2,0.0,0,1\r +genvoice-sync,2,0,2,0.0,0,1\r +aimap-scanner,2,0,2,0.0,0,1\r +mcp-researcher,2,0,2,0.0,0,1\r +ZeroShield Gateway,2,0,2,0.0,0,1\r +halvo-mcp-proxy-client (via mcp-remote 0.1.37),2,0,2,0.0,0,1\r +avap-external-gateway-streamable,2,0,2,0.0,0,1\r +mobeus-mcp-tester,2,0,2,0.0,0,1\r +zapier-mcp-client,2,0,2,0.0,0,1\r +unilib-mcp-poc-tester,2,0,2,0.0,0,1\r +Antigravity-Demo (via mcp-remote 0.1.37),2,2,0,100.0,2,1\r +blinko-mcp-client,2,0,2,0.0,0,1\r +mcp-tester,2,0,2,0.0,0,1\r +3782591c-aaf3-4461-b98c-e74a518d3d40,2,1,1,50.0,1,1\r +mcp-lens,2,0,2,0.0,0,1\r +mcpwn_client_1,2,0,2,0.0,0,1\r +Crowe Logic Code,2,0,2,0.0,0,1\r +ToolGateway-MCP-Explorer,2,0,2,0.0,0,1\r +sprout,2,0,2,0.0,0,1\r +cakewalk-discovery,2,0,2,0.0,0,1\r +mcpping,2,1,1,50.0,2,1\r +nexus-test,2,0,2,0.0,0,1\r +codex-manual-mcp-audit,2,0,2,0.0,0,1\r +gateway-client,2,0,2,0.0,0,1\r +tool-list-capture (via mcp-remote 0.1.16),2,0,2,0.0,0,1\r +JetBrains.PyCharm,2,0,2,0.0,0,1\r +mcpjungle mcp client for https://hf.co/mcp,2,0,2,0.0,0,1\r +mcp-remote-test-client (via mcp-remote 0.1.32),2,0,2,0.0,0,1\r +sim-platform,2,0,2,0.0,0,1\r +mcp-health,2,0,2,0.0,0,2\r +ozwell-chat-smoke,2,0,2,0.0,0,1\r +better-clawd,2,0,2,0.0,0,1\r +intercom-mcp-streamable-http-client,2,0,2,0.0,0,1\r +Postman Client - 4ad0c2b5-7721-4949-80f5-475545a43758,2,0,2,0.0,0,1\r +roo,2,0,2,0.0,0,1\r +conduit-smoke,2,0,2,0.0,0,2\r +mcpwn_client_0,2,0,2,0.0,0,1\r +onyx-dcr-audit,2,0,2,0.0,0,1\r +mcp-cli (via mcp-remote 0.1.37),2,0,2,0.0,0,1\r +trovata-admin-app-console,2,0,2,0.0,0,1\r +langdock-client,2,0,2,0.0,0,1\r +jaimes-test,2,0,2,0.0,0,1\r +Antigravity,2,0,2,0.0,0,1\r +openclaw,2,1,1,50.0,3,2\r +codex-mcp-tool-test,2,0,2,0.0,0,1\r +nuwacom-mcp-test,2,0,2,0.0,0,1\r +hermes-check,2,0,2,0.0,0,1\r +lyra-self-audit,2,0,2,0.0,0,2\r +umai-v2,2,0,2,0.0,0,1\r +72F312AF-5969-44F6-8F4C-8DBCE4134FB1,2,0,2,0.0,0,1\r +highflame-admin,2,0,2,0.0,0,1\r +orbit-active-probe,2,0,2,0.0,0,1\r +Superagent,2,0,2,0.0,0,1\r +celeste-probe,2,0,2,0.0,0,1\r +codex-mcp-audit,2,0,2,0.0,0,1\r +neworange-mcp-remote-fallback-test,2,0,2,0.0,0,1\r +mcp-test-harness,2,1,1,50.0,1,1\r +cursor-curl,2,1,1,50.0,4,1\r +curl-probe,1,0,1,0.0,0,1\r +a,1,0,1,0.0,0,1\r +llmp-mcp-scanner,1,0,1,0.0,0,1\r +mcp (via mcp-remote 0.1.36),1,1,0,100.0,4,1\r +quicksuite-prm-probe,1,0,1,0.0,0,1\r +aidr-auth-probe,1,0,1,0.0,0,1\r +discovery,1,0,1,0.0,0,1\r +foundry-poc,1,0,1,0.0,0,1\r +BB8-MCP-Broker-conn-ad9909e2,1,0,1,0.0,0,1\r +step1_probe,1,0,1,0.0,0,1\r +d,1,0,1,0.0,0,1\r +MAF-ImageGen-01,1,0,1,0.0,0,1\r +fortis-managed-agents,1,0,1,0.0,0,1\r +generation-service,1,0,1,0.0,0,1\r +figr-probe,1,0,1,0.0,0,1\r +ainek,1,0,1,0.0,0,1\r +mcp-connector,1,0,1,0.0,0,1\r +MindFront,1,0,1,0.0,0,1\r +Postman Client - 43a9d0e7-4a83-496f-bb3e-2932d0361e7e,1,0,1,0.0,0,1\r +Postman Client - d18432bd-4446-4fdd-9d27-974edb143c15,1,0,1,0.0,0,1\r +bunny,1,0,1,0.0,0,1\r +OCI Enterprise AI Chat MCP preset test,1,1,0,100.0,1,1\r + Hugging Face,1,0,1,0.0,0,1\r +lumi-probe,1,0,1,0.0,0,1\r +oten-audit,1,0,1,0.0,0,1\r +harbor-qa,1,0,1,0.0,0,1\r +mcp-measurement-research,1,0,1,0.0,0,1\r +fs-mcp-bridge,1,0,1,0.0,0,1\r +Postman Client - 68d716ac-8e51-4236-b7ca-9e415f3bf749,1,0,1,0.0,0,1\r +BoltAI (via mcp-remote 0.1.37),1,0,1,0.0,0,1\r +qwen-cli-mcp-client-claude.ai Hugging Face,1,0,1,0.0,0,1\r +mcp-unpack,1,0,1,0.0,0,1\r +wiki-refresh,1,0,1,0.0,0,1\r +scout,1,1,0,100.0,11,1\r +taksamai,1,0,1,0.0,0,1\r +olympus-curl-test,1,1,0,100.0,1,1\r +coollab-probe,1,0,1,0.0,0,1\r +sold-check,1,0,1,0.0,0,1\r +chloe-test,1,0,1,0.0,0,1\r +addy-probe,1,0,1,0.0,0,1\r +phase1-validation,1,0,1,0.0,0,1\r +adv,1,1,0,100.0,1,1\r +diag (via mcp-remote 0.1.37),1,0,1,0.0,0,1\r +knowledge-sources,1,0,1,0.0,0,1\r +curl-test-client,1,0,1,0.0,0,1\r +unauth-test,1,1,0,100.0,2,1\r +Postman Client - 1e7fc90a-df84-493a-a7b8-7de2e5440283,1,0,1,0.0,0,1\r +mcp-registry,1,0,1,0.0,0,1\r +grid-meta-mcp-client,1,0,1,0.0,0,1\r +capy-mcp-client,1,0,1,0.0,0,1\r +aionrs,1,0,1,0.0,0,1\r +Postman Client - 45b550a7-d3b5-4b3e-a4e3-846415d484ef,1,0,1,0.0,0,1\r +modular-agent,1,0,1,0.0,0,1\r +gamma-remote-mcp-auth-enricher,1,0,1,0.0,0,1\r +Reuters Assistant Backend,1,0,1,0.0,0,1\r +circuitry-mcp-client,1,0,1,0.0,0,1\r +foldcanvas-probe,1,0,1,0.0,0,1\r +ai-fed-hugging-face,1,0,1,0.0,0,1\r +claude-ai (via mcp-remote 0.1.16),1,0,1,0.0,0,1\r +linear-agent,1,0,1,0.0,0,1\r +avap-gateway,1,0,1,0.0,0,1\r +vps-test,1,0,1,0.0,0,1\r +BB8-MCP-Broker-conn-b668bbbc,1,0,1,0.0,0,1\r +cc-statusline,1,0,1,0.0,0,1\r +mcp-state-client,1,0,1,0.0,0,1\r +AI Backend MCP Client,1,0,1,0.0,0,1\r +Postman Client - 696896b28e4b8ba4533fe2e9,1,0,1,0.0,0,1\r +Postman Client - bed6931a-5608-42a0-94f6-fb830c53ac91,1,0,1,0.0,0,1\r +code-server,1,0,1,0.0,0,1\r +mcp-version-probe,1,0,1,0.0,0,1\r +native-tenant-api-discovery,1,0,1,0.0,0,1\r +harbor-probe,1,0,1,0.0,0,1\r +Mission Probe,1,0,1,0.0,0,1\r +mcp-spec-conformance-test,1,0,1,0.0,0,1\r +malaika-cursor-audit,1,0,1,0.0,0,1\r +porto-probe,1,0,1,0.0,0,1\r +codex-test,1,0,1,0.0,0,1\r +code-pilot-ai,1,0,1,0.0,0,1\r +triage,1,0,1,0.0,0,1\r +mcp-auth-probe,1,0,1,0.0,0,1\r +JetBrains-RD/copilot-intellij,1,0,1,0.0,0,1\r +zenlytic-zoe,1,0,1,0.0,0,1\r +supabase-edge-fn,1,0,1,0.0,0,1\r +OneServer Marketplace,1,0,1,0.0,0,1\r +lmstudio-config-test,1,1,0,100.0,1,1\r +AgentCoreRegistry,1,0,1,0.0,0,1\r +smoke (via mcp-remote 0.1.37),1,0,1,0.0,0,1\r +violet-code,1,0,1,0.0,0,1\r +shibumi-mcp-tester,1,0,1,0.0,0,1\r +pi-hf-query,1,1,0,100.0,1,1\r +otot-smoke,1,0,1,0.0,0,1\r +claude-code (via mcp-remote 0.1.18),1,0,1,0.0,0,1\r +cloud-ai-agent-executor,1,1,0,100.0,1,1\r +circuitry-smoke,1,0,1,0.0,0,1\r +agentforge-mcp-client,1,0,1,0.0,0,1\r +claw-mcp-probe,1,0,1,0.0,0,1\r +hub-byo-test,1,0,1,0.0,0,1\r +freeze-tools,1,0,1,0.0,0,1\r +codex-post-restart-smoke,1,0,1,0.0,0,1\r +audit-probe-anon-init,1,0,1,0.0,0,1\r +lisa-discovery,1,0,1,0.0,0,1\r +BB8-MCP-Broker-conn-8f7a25c5,1,0,1,0.0,0,1\r +verify,1,0,1,0.0,0,1\r +sr,1,0,1,0.0,0,1\r +Postman Client - 8869b8ba-05d9-43a7-8769-acb5c1aedbe1,1,0,1,0.0,0,1\r +morphed-url-probe,1,0,1,0.0,0,1\r +EndlessSource,1,0,1,0.0,0,1\r +stack-install-probe,1,0,1,0.0,0,1\r +Postman Client - e1f3c319-495a-4c01-a9d5-082537762897,1,0,1,0.0,0,1\r +Postman Client (via mcp-remote 0.1.37),1,1,0,100.0,1,1\r +roo-connectivity-test,1,0,1,0.0,0,1\r +runlayer-watch,1,0,1,0.0,0,1\r +audit-probe-A,1,0,1,0.0,0,1\r +codebuddy-test,1,0,1,0.0,0,1\r +nuclei-mcp-scan,1,0,1,0.0,0,1\r +qwen-cli-mcp-client-huggingface-tools,1,0,1,0.0,0,1\r +catalog-test,1,0,1,0.0,0,1\r +MCP Streamable HTTP Client,1,0,1,0.0,0,1\r +huggingface_hub.MCPClient (via mcp-remote 0.1.37),1,0,1,0.0,0,1\r +Postman Client - 09587389-f2f0-4fda-8a38-a54c3475d48a,1,0,1,0.0,0,1\r +bio-agents-probe,1,0,1,0.0,0,1\r +hf-plugin-precheck,1,0,1,0.0,0,1\r +avap-agent-tools-discovery,1,0,1,0.0,0,1\r +AIAgentCreator,1,0,1,0.0,0,1\r +copilot-validation,1,0,1,0.0,0,1\r +oatbox-probe,1,0,1,0.0,0,1\r +interview-mcp-client,1,1,0,100.0,1,1\r +Postman Client - 467c3efa-160a-4cfc-b2f3-f5191a74a5e5,1,0,1,0.0,0,1\r +wize-rooms-agent,1,0,1,0.0,0,1\r +ozwell-spike,1,0,1,0.0,0,1\r +external-test,1,0,1,0.0,0,1\r +Dev ChatBot-huggingface-8c10dac6,1,0,1,0.0,0,1\r +Dev ChatBot-huggingface-92d476a7,1,0,1,0.0,0,1\r +GenAIWithMEAI,1,0,1,0.0,0,1\r +mcphub-health-checker,1,0,1,0.0,0,1\r +zstrike-manual-test,1,1,0,100.0,1,1\r +codex-hf-env-check,1,0,1,0.0,0,1\r +gigacode-plugin-jetbrains,1,0,1,0.0,0,1\r +gemini-cli-mcp-client-hf-mcp-server,1,0,1,0.0,0,1\r +test (via mcp-remote 0.1.16),1,0,1,0.0,0,1\r +Dev ChatBot-huggingface-ba36f8e6,1,0,1,0.0,0,1\r +Huggin Face,1,0,1,0.0,0,1\r +PotatoAI,1,0,1,0.0,0,1\r +hyperagent,1,0,1,0.0,0,1\r +local-test,1,0,1,0.0,0,1\r +apps-radar-openai-sdk-detector,1,0,1,0.0,0,1\r +pi-mcp-hf-mcp-server (via mcp-remote 0.1.37),1,0,1,0.0,0,1\r +BB8-MCP-Broker-conn-5ca8486d,1,0,1,0.0,0,1\r +bilt-gateway-probe,1,0,1,0.0,0,1\r +mcp-hub (via mcp-remote 0.1.37),1,0,1,0.0,0,1\r +AgenticLoop,1,0,1,0.0,0,1\r +BB8-MCP-Broker-conn-237f02dd,1,0,1,0.0,0,1\r +abstract-agent,1,0,1,0.0,0,1\r +cursor-vscode (via mcp-remote 0.1.29),1,0,1,0.0,0,1\r +Postman Client - b6725af2-479b-4ed2-8c2e-9a89f1295d88,1,0,1,0.0,0,1\r +mcp-compat-probe,1,0,1,0.0,0,1\r +agenttool-probe,1,0,1,0.0,0,1\r +oten-probe,1,0,1,0.0,0,1\r +litellm-test,1,0,1,0.0,0,1\r +oic-mcp-gateway,1,0,1,0.0,0,1\r +solo-router-populate,1,0,1,0.0,0,1\r +grok-shell-Hugging Face,1,0,1,0.0,0,1\r +BB8-MCP-Broker-conn-5788a3ee,1,0,1,0.0,0,1\r +tembo,1,0,1,0.0,0,1\r +VSCodium - Insiders,1,0,1,0.0,0,1\r +evaos-probe,1,0,1,0.0,0,1\r +cw-v8,1,0,1,0.0,0,1\r +vscode,1,0,1,0.0,0,1\r +Postman Client - f7e45b27-e84c-4780-a1cc-b82c957946aa,1,0,1,0.0,0,1\r +v0.app,1,0,1,0.0,0,1\r +roder-test,1,0,1,0.0,0,1\r +cc-from-code-001,1,0,1,0.0,0,1\r +use-mcp-react-client,1,0,1,0.0,0,1\r +Research Client,1,0,1,0.0,0,1\r +oten-executor,1,1,0,100.0,1,1\r +Postman Client - 3f654c68-f8a0-4a8c-8dd1-5e1ff9b5aec2,1,0,1,0.0,0,1\r +rmcp (via mcp-remote 0.1.15),1,0,1,0.0,0,1\r +Dev ChatBot-huggingface-5be8ce72,1,0,1,0.0,0,1\r +magoneai-connector,1,1,0,100.0,1,1\r +Krater.ai,1,0,1,0.0,0,1\r +hv-discovery-probe,1,0,1,0.0,0,1\r +agentheya,1,0,1,0.0,0,1\r +hrbr-tool-probe,1,0,1,0.0,0,1\r +__guest__,1,0,1,0.0,0,1\r +nexus,1,0,1,0.0,0,1\r +Postman Client - 22be138c-6bc1-4920-9b72-e416cbea8a7a,1,0,1,0.0,0,1\r +deloryx-orchestrator,1,1,0,100.0,1,1\r +exchange-mcp-registry,1,0,1,0.0,0,1\r +nimbalyst-test (via mcp-remote 0.1.30),1,0,1,0.0,0,1\r +codex-mcp-check-hf-mcp-server (via mcp-remote 0.1.37),1,0,1,0.0,0,1\r +ozwell-smoke,1,0,1,0.0,0,1\r +mcp-go-oauth-example,1,0,1,0.0,0,1\r +agent-os-probe,1,0,1,0.0,0,1\r +Davidoutz.Www,1,0,1,0.0,0,1\r +zerotwo-mcp-client-5739c2bc-45d5-4899-98b2-baf7ecfa49ac,1,0,1,0.0,0,1\r +morphed-external-mcp-client,1,0,1,0.0,0,1\r +Postman Client - ad21b33c-2b9c-4fa2-87ad-6718130e67b6,1,0,1,0.0,0,1\r +openclaw-hf-query,1,0,1,0.0,0,1\r +oatbox,1,0,1,0.0,0,1\r +openclaw-hf-wamu,1,1,0,100.0,7,1\r +aivene,1,0,1,0.0,0,1\r +caspian-test,1,0,1,0.0,0,1\r +iris-self,1,0,1,0.0,0,1\r +open-mcp-server-tool-tester,1,0,1,0.0,0,1\r +gb10,1,0,1,0.0,0,1\r +Postman Client - 364c91c5-d8bb-4591-aff2-25a49b75c0b8,1,0,1,0.0,0,1\r +mcp-ssrf-recon,1,1,0,100.0,3,1\r +zo-probe,1,0,1,0.0,0,1\r +quest-mcp-adaptor,1,0,1,0.0,0,1\r +spara-probe,1,0,1,0.0,0,1\r +stack-install-test,1,0,1,0.0,0,1\r +Loop,1,0,1,0.0,0,1\r +Postman Client - bab445b7-fe8b-4c1b-9633-5ec19a44ac8a,1,0,1,0.0,0,1\r +lobehub-mcp-client,1,0,1,0.0,0,1\r +Cortex Code,1,0,1,0.0,0,1\r +pentest,1,1,0,100.0,2,1\r +Postman Client - c985af7b-8917-459f-ba0c-6a11356a99f7,1,0,1,0.0,0,1\r +Context (via mcp-remote 0.1.37),1,0,1,0.0,0,1\r +Dev ChatBot-huggingface-custom-1779971149729,1,0,1,0.0,0,1\r +symphony-harness,1,0,1,0.0,0,1\r +Msty Claw (via mcp-remote 0.1.37),1,0,1,0.0,0,1\r +zerotwo-mcp-client-static_provider_huggingface_0974bf11-51db-4947-b610-a778d5394864,1,0,1,0.0,0,1\r +security-test,1,1,0,100.0,2,1\r +Postman Client - 84a96ca7-04fd-4535-a961-18c65221abae,1,0,1,0.0,0,1\r +test (via mcp-remote 0.1.37),1,0,1,0.0,0,1\r +mission-verifier,1,0,1,0.0,0,1\r +lyra-smoke,1,0,1,0.0,0,1\r +pi-hf-test,1,0,1,0.0,0,1\r +local-agent-mode-huggingface-images (via mcp-remote 0.1.37),1,0,1,0.0,0,1\r +@native/native-mcp-discovery-poc,1,0,1,0.0,0,1\r +hadrian-gateway-ui,1,0,1,0.0,0,1\r +zax-vector-probe,1,0,1,0.0,0,1\r +glean-audit,1,0,1,0.0,0,1\r +cco-security-scanner,1,0,1,0.0,0,1\r +test2,1,0,1,0.0,0,1\r +simple-oauth-client,1,0,1,0.0,0,1\r +BB8-MCP-Broker-conn-af10d11c,1,1,0,100.0,1,1\r +apps-radar-detector,1,0,1,0.0,0,1\r +test-4d9e837f-6f18-42d4-9f99-fbd425a00207-client,1,0,1,0.0,0,1\r +Postman Client - 4fb1796b-24ad-42c1-8e36-f6652d5aae85,1,0,1,0.0,0,1\r +auth-test,1,1,0,100.0,2,1\r +mcp-descriptor-dumper,1,0,1,0.0,0,1\r +mcp-gateway-probe,1,0,1,0.0,0,1\r +codex-final-mcp-audit,1,0,1,0.0,0,1\r +databricks,1,0,1,0.0,0,1\r +`,b={class:`conversion-efficiency deck-panel`},x={class:`conversion-efficiency__rows`},S={key:0,class:`conversion-efficiency__gap`},C={class:`conversion-efficiency__name`},w=1e3,T=_(n({__name:`ClientConversionEfficiencyTable`,setup(e){let{$slidev:t,$nav:n,$clicksContext:i,$clicks:l,$page:d,$renderContext:f,$frontmatter:g}=h();function _(e){let[t,...n]=e.trim().split(/\r?\n/),r=t.split(`,`),i=e=>r.indexOf(e);return n.map(e=>{let t=e.split(`,`);return{client_name:t[i(`client_name`)],sessions:Number(t[i(`sessions`)]),conversion_rate_pct:Number(t[i(`conversion_rate_pct`)])}}).filter(e=>e.client_name&&e.sessions>=w)}let v=_(y).filter(e=>e.client_name!==`(unknown)`),T=v.toSorted((e,t)=>t.conversion_rate_pct-e.conversion_rate_pct||t.sessions-e.sessions).slice(0,7),E=v.toSorted((e,t)=>e.conversion_rate_pct-t.conversion_rate_pct||t.sessions-e.sessions).slice(0,7),D=[...T.map(e=>({...e,kind:`top`})),{kind:`gap`},...E.map(e=>({...e,kind:`bottom`}))];function O(e){return e===0?`0%`:e>=10?`${e.toFixed(1)}%`:`${e.toFixed(2)}%`}return(e,t)=>(m(),s(`section`,b,[a(`header`,null,[t[0]||=a(`p`,null,`Session conversion efficiency`,-1),a(`span`,null,`clients with ≥`+c(w.toLocaleString())+` sessions`,1)]),a(`div`,x,[(m(),s(u,null,r(D,(e,t)=>(m(),s(u,{key:t},[e.kind===`gap`?(m(),s(`div`,S,`…`)):(m(),s(`div`,{key:1,class:o([`conversion-efficiency__row`,`conversion-efficiency__row--${e.kind}`])},[a(`div`,{class:`conversion-efficiency__bar`,style:p({"--bar-width":`${e.conversion_rate_pct}%`})},null,4),a(`span`,C,c(e.client_name),1),a(`strong`,null,c(O(e.conversion_rate_pct)),1)],2))],64))),64))])]))}}),[[`__scopeId`,`data-v-3769703d`]]),E={class:`understanding-activity-slide`},D={class:`understanding-activity-table`},O={__name:`slides.md__slidev_11`,setup(n){let{$slidev:r,$nav:o,$clicksContext:s,$clicks:c,$page:u,$renderContext:p,$frontmatter:_}=h();return s.setup(),(n,r)=>{let o=T;return m(),d(v,f(t(l(g)(l(_),10))),{default:i(()=>[r[1]||=a(`h1`,null,`Understanding Activity`,-1),a(`div`,E,[r[0]||=a(`section`,{class:`understanding-activity-copy`},[a(`div`,{class:`compact-point-list`},[a(`div`,null,[a(`strong`,null,`Initializations are a bad proxy`),a(`span`,null,`Can’t measure ambient installation or caching; doesn’t correlate to tool calls.`)]),a(`div`,null,[a(`strong`,null,`Tool calls: more ≠ better`),a(`span`,null,`High volume may indicate poor tool design, discovery problems, or erratic clients.`)]),a(`div`,null,[a(`strong`,null,`Session conversion is preferred`),a(`span`,null,`Clients that connect and make at least one tool call reduce skew from testing and idle installs.`)]),a(`div`,null,[a(`strong`,null,`Workload shape still matters`),a(`span`,null,`Session length and burstiness distinguish interactive use from agentic loops.`)])])],-1),a(`aside`,D,[e(o)])])]),_:1},16)}}};export{O as default}; \ No newline at end of file diff --git a/2026/aidevcon-london/assets/md-DWFMaKEI.js b/2026/aidevcon-london/assets/md-DWFMaKEI.js new file mode 100644 index 0000000000000000000000000000000000000000..5cd65d16d3a6c385d097cc4b7bdae927fc5bfa11 --- /dev/null +++ b/2026/aidevcon-london/assets/md-DWFMaKEI.js @@ -0,0 +1 @@ +import{C as e,D as t,Z as n,_ as r,gt as i,v as a,vt as o,z as s}from"./modules/shiki-BMQKBaOU.js";import{it as c,rt as l}from"./index-cw2gNXXR.js";import{t as u}from"./default-DcmGGORi.js";import{t as d}from"./HttpHeaderExample-UM3qS7BW.js";var f={class:`http-standardization-schema`},p={__name:`slides.md__slidev_25`,setup(p){let{$slidev:m,$nav:h,$clicksContext:g,$clicks:_,$page:v,$renderContext:y,$frontmatter:b}=c();return g.setup(),(c,p)=>{let m=d;return s(),a(u,o(t(i(l)(i(b),24))),{default:n(()=>[p[0]||=r(`h1`,null,`SEP-2243: Tool Data in HTTP Headers`,-1),r(`div`,f,[e(m,{variant:`tool`})])]),_:1},16)}}};export{p as default}; \ No newline at end of file diff --git a/2026/aidevcon-london/assets/md-Dg-2Ig4i.js b/2026/aidevcon-london/assets/md-Dg-2Ig4i.js new file mode 100644 index 0000000000000000000000000000000000000000..682bc56b30d8dd3a97906ea0ccdf47c2d8b9238f --- /dev/null +++ b/2026/aidevcon-london/assets/md-Dg-2Ig4i.js @@ -0,0 +1 @@ +import{D as e,S as t,Z as n,_ as r,gt as i,v as a,vt as o,z as s}from"./modules/shiki-BMQKBaOU.js";import{it as c,rt as l}from"./index-cw2gNXXR.js";import{t as u}from"./default-DcmGGORi.js";var d={__name:`slides.md__slidev_2`,setup(d){let{$slidev:f,$nav:p,$clicksContext:m,$clicks:h,$page:g,$renderContext:_,$frontmatter:v}=c();return m.setup(),(c,d)=>(s(),a(u,o(e(i(l)(i(v),1))),{default:n(()=>[...d[0]||=[r(`div`,{class:`about-intro`},[r(`section`,null,[r(`div`,{class:`kicker`},`about me`),r(`h1`,null,[t(`Shaun Smith `),r(`code`,null,`@evalstate`)]),r(`ul`,{class:`about-points`},[r(`li`,null,`Open Source @ Hugging Face`),r(`li`,null,`MCP Maintainer and Moderator`),r(`li`,null,`huggingface/mcp`),r(`li`,null,`huggingface/skills`),r(`li`,null,`huggingface/upskill`),r(`li`,null,[t(`Maintainer of `),r(`code`,null,`fast-agent`)])]),r(`table`,{class:`about-social-table`},[r(`tbody`,null,[r(`tr`,null,[r(`td`,{class:`social-icon-cell`},[r(`img`,{class:`social-icon social-icon-hf`,src:`intro/huggingface-mark-logo.svg`,alt:`Hugging Face`})]),r(`td`,null,`huggingface.co/evalstate`)]),r(`tr`,null,[r(`td`,{class:`social-icon-cell`},[r(`img`,{class:`social-icon social-icon-github`,src:`intro/github-mark.svg`,alt:`GitHub`})]),r(`td`,null,`github.com/evalstate`)]),r(`tr`,null,[r(`td`,{class:`social-icon-cell`},[r(`img`,{class:`social-icon social-icon-x`,src:`intro/xcom-logo-black.png`,alt:`X`})]),r(`td`,null,`x.com/evalstate`)])])])]),r(`aside`,{class:`about-logo-panel deck-panel`},[r(`img`,{class:`about-hf-logo`,src:`intro/hf_logo.svg`,alt:`Hugging Face`}),r(`div`,{class:`about-logo-divider`}),r(`img`,{class:`about-mcp-logo`,src:`intro/mcp-icon.svg`,alt:`Model Context Protocol`})])],-1)]]),_:1},16))}};export{d as default}; \ No newline at end of file diff --git a/2026/aidevcon-london/assets/md-DjcAA7-W.js b/2026/aidevcon-london/assets/md-DjcAA7-W.js new file mode 100644 index 0000000000000000000000000000000000000000..138298bfc3d5fb9d5d08904d8a36a5e439068bcd --- /dev/null +++ b/2026/aidevcon-london/assets/md-DjcAA7-W.js @@ -0,0 +1 @@ +import{C as e,D as t,L as n,T as r,Z as i,_ as a,b as o,ct as s,gt as c,v as l,vt as u,z as d}from"./modules/shiki-BMQKBaOU.js";import{it as f,nt as p,rt as m,tt as h}from"./index-cw2gNXXR.js";import{t as g}from"./default-DcmGGORi.js";import"./useDrawings-BkOkFJPM.js";var _=r({__name:`HfMcpServerVideo`,setup(e){let{$slidev:t,$nav:r,$clicksContext:i,$clicks:a,$page:c,$renderContext:l,$frontmatter:u}=f(),m=s();function g(){m.value&&(m.value.muted=!0,m.value.defaultMuted=!0)}function _(){m.value&&(g(),m.value.currentTime=0,m.value.play().catch(()=>{}))}function v(){m.value&&(m.value.pause(),m.value.currentTime=0)}return n(g),h(_),p(v),(e,t)=>(d(),o(`video`,{ref_key:`video`,ref:m,class:`hf-mcp-video`,src:`videos/dynamic-space-final.mp4`,loop:``,muted:``,playsinline:``,preload:`auto`},null,512))}}),v={class:`hf-mcp-slide`},y={class:`hf-mcp-video-frame deck-panel`},b={__name:`slides.md__slidev_5`,setup(n){let{$slidev:r,$nav:o,$clicksContext:s,$clicks:p,$page:h,$renderContext:b,$frontmatter:x}=f();return s.setup(),(n,r)=>{let o=_;return d(),l(g,u(t(c(m)(c(x),4))),{default:i(()=>[r[1]||=a(`h1`,null,`MCP At Hugging Face`,-1),a(`div`,v,[r[0]||=a(`section`,{class:`hf-mcp-copy`},[a(`h2`,null,`The Hub for Agents and Assistants`),a(`div`,{class:`hf-mcp-capabilities`},[a(`div`,null,[a(`strong`,null,`Inference gateway`),a(`span`,null,`Route agents to multimodal models and hosted endpoints.`)]),a(`div`,null,[a(`strong`,null,`Research workspace`),a(`span`,null,`Inspect datasets, find models, and run experiments.`)]),a(`div`,null,[a(`strong`,null,`Sandboxes`),a(`span`,null,`Create and manage isolated execution environments.`)]),a(`div`,null,[a(`strong`,null,`Access modes`),a(`span`,null,`Support authenticated and unauthenticated workflows.`)])]),a(`div`,{class:`hf-mcp-models`,"aria-label":`Example models`},[a(`span`,null,`Qwen 3.5-35B-A3B`),a(`span`,null,`Flux.1-Krea-Dev`),a(`span`,null,`Qwen-Edit LoRA`),a(`span`,null,`Wan2.2 First/Last Frame`)])],-1),a(`aside`,y,[e(o)])])]),_:1},16)}}};export{b as default}; \ No newline at end of file diff --git a/2026/aidevcon-london/assets/md-Dl8x_Iyt.js b/2026/aidevcon-london/assets/md-Dl8x_Iyt.js new file mode 100644 index 0000000000000000000000000000000000000000..49ab179cded7529d7c8e8715eef060fd2bf2c080 --- /dev/null +++ b/2026/aidevcon-london/assets/md-Dl8x_Iyt.js @@ -0,0 +1 @@ +import{C as e,D as t,T as n,V as r,Z as i,_ as a,b as o,bt as s,g as c,gt as l,p as u,v as d,vt as f,x as p,z as m}from"./modules/shiki-BMQKBaOU.js";import{it as h,rt as g,vt as _}from"./index-cw2gNXXR.js";import{t as v}from"./default-DcmGGORi.js";var y={schema:`deck.session-conversion-daily.v1`,source:`data-viz/session_conversion_daily_2026-04-07_to_2026-06-01.csv`,window:{start:`2026-04-07`,end:`2026-05-31`},rolling_window_days:3,rows:[{day:`2026-04-07`,sessions:314821,converted_sessions:4169,unconverted_sessions:310652,conversion_rate_pct:1.324,converted_sessions_3d_avg:4169,matched_tool_calls:10256},{day:`2026-04-08`,sessions:589737,converted_sessions:8662,unconverted_sessions:581075,conversion_rate_pct:1.469,converted_sessions_3d_avg:6415.5,matched_tool_calls:23345},{day:`2026-04-09`,sessions:644458,converted_sessions:8511,unconverted_sessions:635947,conversion_rate_pct:1.321,converted_sessions_3d_avg:7114,matched_tool_calls:22026},{day:`2026-04-10`,sessions:608635,converted_sessions:7393,unconverted_sessions:601242,conversion_rate_pct:1.215,converted_sessions_3d_avg:8188.7,matched_tool_calls:19561},{day:`2026-04-11`,sessions:470483,converted_sessions:6647,unconverted_sessions:463836,conversion_rate_pct:1.413,converted_sessions_3d_avg:7517,matched_tool_calls:21228},{day:`2026-04-12`,sessions:643160,converted_sessions:7443,unconverted_sessions:635717,conversion_rate_pct:1.157,converted_sessions_3d_avg:7161,matched_tool_calls:19840},{day:`2026-04-13`,sessions:687886,converted_sessions:7750,unconverted_sessions:680136,conversion_rate_pct:1.127,converted_sessions_3d_avg:7280,matched_tool_calls:30836},{day:`2026-04-14`,sessions:634645,converted_sessions:7722,unconverted_sessions:626923,conversion_rate_pct:1.217,converted_sessions_3d_avg:7638.3,matched_tool_calls:23297},{day:`2026-04-15`,sessions:614895,converted_sessions:7394,unconverted_sessions:607501,conversion_rate_pct:1.202,converted_sessions_3d_avg:7622,matched_tool_calls:24600},{day:`2026-04-16`,sessions:582299,converted_sessions:9351,unconverted_sessions:572948,conversion_rate_pct:1.606,converted_sessions_3d_avg:8155.7,matched_tool_calls:22717},{day:`2026-04-17`,sessions:577521,converted_sessions:9564,unconverted_sessions:567957,conversion_rate_pct:1.656,converted_sessions_3d_avg:8769.7,matched_tool_calls:19140},{day:`2026-04-18`,sessions:568282,converted_sessions:7848,unconverted_sessions:560434,conversion_rate_pct:1.381,converted_sessions_3d_avg:8921,matched_tool_calls:15900},{day:`2026-04-19`,sessions:522448,converted_sessions:7922,unconverted_sessions:514526,conversion_rate_pct:1.516,converted_sessions_3d_avg:8444.7,matched_tool_calls:28382},{day:`2026-04-20`,sessions:614289,converted_sessions:10367,unconverted_sessions:603922,conversion_rate_pct:1.688,converted_sessions_3d_avg:8712.3,matched_tool_calls:21414},{day:`2026-04-21`,sessions:554452,converted_sessions:11376,unconverted_sessions:543076,conversion_rate_pct:2.052,converted_sessions_3d_avg:9888.3,matched_tool_calls:22870},{day:`2026-04-22`,sessions:575411,converted_sessions:12025,unconverted_sessions:563386,conversion_rate_pct:2.09,converted_sessions_3d_avg:11256,matched_tool_calls:27095},{day:`2026-04-23`,sessions:595175,converted_sessions:11647,unconverted_sessions:583528,conversion_rate_pct:1.957,converted_sessions_3d_avg:11682.7,matched_tool_calls:27748},{day:`2026-04-24`,sessions:639929,converted_sessions:11860,unconverted_sessions:628069,conversion_rate_pct:1.853,converted_sessions_3d_avg:11844,matched_tool_calls:24121},{day:`2026-04-25`,sessions:509405,converted_sessions:11264,unconverted_sessions:498141,conversion_rate_pct:2.211,converted_sessions_3d_avg:11590.3,matched_tool_calls:23264},{day:`2026-04-26`,sessions:536579,converted_sessions:10788,unconverted_sessions:525791,conversion_rate_pct:2.011,converted_sessions_3d_avg:11304,matched_tool_calls:26232},{day:`2026-04-27`,sessions:584984,converted_sessions:12452,unconverted_sessions:572532,conversion_rate_pct:2.129,converted_sessions_3d_avg:11501.3,matched_tool_calls:23867},{day:`2026-04-28`,sessions:594252,converted_sessions:12927,unconverted_sessions:581325,conversion_rate_pct:2.175,converted_sessions_3d_avg:12055.7,matched_tool_calls:25993},{day:`2026-04-29`,sessions:605237,converted_sessions:11511,unconverted_sessions:593726,conversion_rate_pct:1.902,converted_sessions_3d_avg:12296.7,matched_tool_calls:24643},{day:`2026-04-30`,sessions:613113,converted_sessions:12106,unconverted_sessions:601007,conversion_rate_pct:1.975,converted_sessions_3d_avg:12181.3,matched_tool_calls:25980},{day:`2026-05-01`,sessions:606484,converted_sessions:11852,unconverted_sessions:594632,conversion_rate_pct:1.954,converted_sessions_3d_avg:11823,matched_tool_calls:29054},{day:`2026-05-02`,sessions:573817,converted_sessions:10609,unconverted_sessions:563208,conversion_rate_pct:1.849,converted_sessions_3d_avg:11522.3,matched_tool_calls:22708},{day:`2026-05-03`,sessions:581394,converted_sessions:11781,unconverted_sessions:569613,conversion_rate_pct:2.026,converted_sessions_3d_avg:11414,matched_tool_calls:23264},{day:`2026-05-04`,sessions:684317,converted_sessions:10822,unconverted_sessions:673495,conversion_rate_pct:1.581,converted_sessions_3d_avg:11070.7,matched_tool_calls:23295},{day:`2026-05-05`,sessions:662731,converted_sessions:13357,unconverted_sessions:649374,conversion_rate_pct:2.015,converted_sessions_3d_avg:11986.7,matched_tool_calls:26652},{day:`2026-05-06`,sessions:673312,converted_sessions:14255,unconverted_sessions:659057,conversion_rate_pct:2.117,converted_sessions_3d_avg:12811.3,matched_tool_calls:27379},{day:`2026-05-07`,sessions:613965,converted_sessions:16547,unconverted_sessions:597418,conversion_rate_pct:2.695,converted_sessions_3d_avg:14719.7,matched_tool_calls:30446},{day:`2026-05-08`,sessions:582230,converted_sessions:15758,unconverted_sessions:566472,conversion_rate_pct:2.706,converted_sessions_3d_avg:15520,matched_tool_calls:29663},{day:`2026-05-09`,sessions:522930,converted_sessions:14782,unconverted_sessions:508148,conversion_rate_pct:2.827,converted_sessions_3d_avg:15695.7,matched_tool_calls:26636},{day:`2026-05-10`,sessions:548396,converted_sessions:13059,unconverted_sessions:535337,conversion_rate_pct:2.381,converted_sessions_3d_avg:14533,matched_tool_calls:24091},{day:`2026-05-11`,sessions:644907,converted_sessions:18384,unconverted_sessions:626523,conversion_rate_pct:2.851,converted_sessions_3d_avg:15408.3,matched_tool_calls:32007},{day:`2026-05-12`,sessions:627195,converted_sessions:17519,unconverted_sessions:609676,conversion_rate_pct:2.793,converted_sessions_3d_avg:16320.7,matched_tool_calls:34368},{day:`2026-05-13`,sessions:625660,converted_sessions:16677,unconverted_sessions:608983,conversion_rate_pct:2.666,converted_sessions_3d_avg:17526.7,matched_tool_calls:41821},{day:`2026-05-14`,sessions:710411,converted_sessions:15160,unconverted_sessions:695251,conversion_rate_pct:2.134,converted_sessions_3d_avg:16452,matched_tool_calls:24151},{day:`2026-05-15`,sessions:544141,converted_sessions:15998,unconverted_sessions:528143,conversion_rate_pct:2.94,converted_sessions_3d_avg:15945,matched_tool_calls:26936},{day:`2026-05-16`,sessions:522134,converted_sessions:14374,unconverted_sessions:507760,conversion_rate_pct:2.753,converted_sessions_3d_avg:15177.3,matched_tool_calls:24372},{day:`2026-05-17`,sessions:494417,converted_sessions:15267,unconverted_sessions:479150,conversion_rate_pct:3.088,converted_sessions_3d_avg:15213,matched_tool_calls:27416},{day:`2026-05-18`,sessions:580385,converted_sessions:20414,unconverted_sessions:559971,conversion_rate_pct:3.517,converted_sessions_3d_avg:16685,matched_tool_calls:30895},{day:`2026-05-19`,sessions:561519,converted_sessions:17215,unconverted_sessions:544304,conversion_rate_pct:3.066,converted_sessions_3d_avg:17632,matched_tool_calls:27792},{day:`2026-05-20`,sessions:589792,converted_sessions:16876,unconverted_sessions:572916,conversion_rate_pct:2.861,converted_sessions_3d_avg:18168.3,matched_tool_calls:27200},{day:`2026-05-21`,sessions:571400,converted_sessions:17542,unconverted_sessions:553858,conversion_rate_pct:3.07,converted_sessions_3d_avg:17211,matched_tool_calls:30042},{day:`2026-05-22`,sessions:586165,converted_sessions:17111,unconverted_sessions:569054,conversion_rate_pct:2.919,converted_sessions_3d_avg:17176.3,matched_tool_calls:26543},{day:`2026-05-23`,sessions:448294,converted_sessions:13720,unconverted_sessions:434574,conversion_rate_pct:3.06,converted_sessions_3d_avg:16124.3,matched_tool_calls:32241},{day:`2026-05-24`,sessions:461020,converted_sessions:16302,unconverted_sessions:444718,conversion_rate_pct:3.536,converted_sessions_3d_avg:15711,matched_tool_calls:25248},{day:`2026-05-25`,sessions:516295,converted_sessions:19297,unconverted_sessions:496998,conversion_rate_pct:3.738,converted_sessions_3d_avg:16439.7,matched_tool_calls:30237},{day:`2026-05-26`,sessions:560540,converted_sessions:19705,unconverted_sessions:540835,conversion_rate_pct:3.515,converted_sessions_3d_avg:18434.7,matched_tool_calls:32202},{day:`2026-05-27`,sessions:576188,converted_sessions:20301,unconverted_sessions:555887,conversion_rate_pct:3.523,converted_sessions_3d_avg:19767.7,matched_tool_calls:32359},{day:`2026-05-28`,sessions:615798,converted_sessions:19602,unconverted_sessions:596196,conversion_rate_pct:3.183,converted_sessions_3d_avg:19869.3,matched_tool_calls:34692},{day:`2026-05-29`,sessions:614087,converted_sessions:17690,unconverted_sessions:596397,conversion_rate_pct:2.881,converted_sessions_3d_avg:19197.7,matched_tool_calls:33363},{day:`2026-05-30`,sessions:513543,converted_sessions:17036,unconverted_sessions:496507,conversion_rate_pct:3.317,converted_sessions_3d_avg:18109.3,matched_tool_calls:30514},{day:`2026-05-31`,sessions:465526,converted_sessions:17606,unconverted_sessions:447920,conversion_rate_pct:3.782,converted_sessions_3d_avg:17444,matched_tool_calls:29534}]},b={class:`conversion-chart`},ee={class:`conversion-chart__stats`},x=[`viewBox`],S=[`x`,`y`],C={class:`conversion-chart__grid`},w=[`x1`,`x2`,`y1`,`y2`],T=[`x1`,`x2`,`y1`,`y2`],E=[`points`],D=[`points`],O={class:`conversion-chart__dots`},te=[`cx`,`cy`],ne={class:`conversion-chart__axis conversion-chart__axis--left`},k=[`x`,`y`],A=[`x`,`y`],j={class:`conversion-chart__x-axis`},M=[`x`,`y`],N={class:`conversion-chart__peak`},P=[`cx`,`cy`],F=[`x`,`y`],I=1e3,L=520,R=_(n({__name:`SessionConversionChart`,setup(e){let{$slidev:t,$nav:n,$clicksContext:i,$clicks:d,$page:f,$renderContext:g,$frontmatter:_}=h(),v=y.rows.toSorted((e,t)=>e.day.localeCompare(t.day)),R={left:94,right:66,top:62,bottom:94},z=I-R.left-R.right,B=L-R.top-R.bottom;function V(e){let[t,n,r]=e.split(`-`).map(Number);return new Date(Date.UTC(t,n-1,r))}function H(e){if(e<=0)return 1;let t=10**Math.floor(Math.log10(e)),n=e/t;return(n<=2?2:n<=5?5:10)*t}let U=V(v[0].day),W=V(v.at(-1).day),G=U.getTime(),K=Math.max(1,W.getTime()-G),q=Math.max(4,Math.ceil(Math.max(...v.map(e=>e.conversion_rate_pct)))),J=H(Math.max(...v.map(e=>e.converted_sessions_3d_avg)));function Y(e){return R.left+(V(e).getTime()-G)/K*z}function X(e){return R.top+(1-e/q)*B}function re(e){return R.top+(1-e/J)*B}let Z=c(()=>Array.from({length:q+1},(e,t)=>t)),ie=c(()=>v.map(e=>`${Y(e.day).toFixed(1)},${X(e.conversion_rate_pct).toFixed(1)}`).join(` `)),ae=c(()=>v.map(e=>`${Y(e.day).toFixed(1)},${re(e.converted_sessions_3d_avg).toFixed(1)}`).join(` `)),Q=c(()=>{let e=[],t=new Date(Date.UTC(U.getUTCFullYear(),U.getUTCMonth(),1)),n=new Intl.DateTimeFormat(`en`,{month:`short`});for(;t.getTime()<=W.getTime();){let r=R.left+(t.getTime()-G)/K*z;r>=R.left&&r<=R.left+z&&e.push({label:n.format(t),x:r}),t.setUTCMonth(t.getUTCMonth()+1)}return e}),oe=v[0],se=v.at(-1),$=v.reduce((e,t)=>t.conversion_rate_pct>e.conversion_rate_pct?t:e,oe),ce=v.reduce((e,t)=>e+t.converted_sessions,0)/v.reduce((e,t)=>e+t.sessions,0)*100;return(e,t)=>(m(),o(`section`,b,[a(`div`,ee,[a(`div`,null,[t[0]||=a(`span`,null,`overall`,-1),a(`strong`,null,s(ce.toFixed(2))+`%`,1)]),a(`div`,null,[t[1]||=a(`span`,null,`latest`,-1),a(`strong`,null,s(l(se).conversion_rate_pct.toFixed(2))+`%`,1)])]),(m(),o(`svg`,{class:`conversion-chart__svg`,viewBox:`0 0 ${I} ${L}`,role:`img`},[t[2]||=p(``,1),a(`rect`,{x:R.left,y:R.top,width:z,height:B,class:`conversion-chart__plot-bg`},null,8,S),a(`g`,C,[(m(!0),o(u,null,r(Z.value,e=>(m(),o(`line`,{key:`rate-grid-${e}`,x1:R.left,x2:R.left+z,y1:X(e),y2:X(e)},null,8,w))),128)),(m(!0),o(u,null,r(Q.value,e=>(m(),o(`line`,{key:`month-grid-${e.label}`,x1:e.x,x2:e.x,y1:R.top,y2:R.top+B},null,8,T))),128))]),a(`polyline`,{class:`conversion-chart__volume-line`,points:ae.value},null,8,E),a(`polyline`,{class:`conversion-chart__rate-line`,points:ie.value,filter:`url(#conversion-line-glow)`},null,8,D),a(`g`,O,[(m(!0),o(u,null,r(l(v),e=>(m(),o(`circle`,{key:e.day,cx:Y(e.day),cy:X(e.conversion_rate_pct),r:`2.8`},null,8,te))),128))]),a(`g`,ne,[a(`text`,{x:R.left,y:R.top-20},`Conversion rate`,8,k),(m(!0),o(u,null,r(Z.value,e=>(m(),o(`text`,{key:`rate-label-${e}`,x:R.left-14,y:X(e)+4,"text-anchor":`end`},s(e)+`% `,9,A))),128))]),a(`g`,j,[(m(!0),o(u,null,r(Q.value,e=>(m(),o(`text`,{key:`month-label-${e.label}`,x:e.x,y:R.top+B+42,"text-anchor":`middle`},s(e.label),9,M))),128))]),a(`g`,N,[a(`circle`,{cx:Y(l($).day),cy:X(l($).conversion_rate_pct),r:`6`},null,8,P),a(`text`,{x:Y(l($).day)-12,y:X(l($).conversion_rate_pct)-16,"text-anchor":`end`},` peak `+s(l($).conversion_rate_pct.toFixed(2))+`% `,9,F)])],8,x))]))}}),[[`__scopeId`,`data-v-16b93329`]]),z={class:`conversion-chart-slide chart-slide`},B={__name:`slides.md__slidev_12`,setup(n){let{$slidev:r,$nav:o,$clicksContext:s,$clicks:c,$page:u,$renderContext:p,$frontmatter:_}=h();return s.setup(),(n,r)=>{let o=R;return m(),d(v,f(t(l(g)(l(_),11))),{default:i(()=>[a(`div`,z,[r[0]||=a(`header`,{class:`chart-slide__header`},[a(`div`,null,[a(`h1`,null,`Daily session conversion`),a(`h2`,null,`Session → query conversion rate`)])],-1),e(o)])]),_:1},16)}}};export{B as default}; \ No newline at end of file diff --git a/2026/aidevcon-london/assets/md-DpH7A3Br.js b/2026/aidevcon-london/assets/md-DpH7A3Br.js new file mode 100644 index 0000000000000000000000000000000000000000..2579b4e49e8a60d9ba46c506ec8f1799b42e5b32 --- /dev/null +++ b/2026/aidevcon-london/assets/md-DpH7A3Br.js @@ -0,0 +1 @@ +import{D as e,S as t,Z as n,_ as r,gt as i,v as a,vt as o,z as s}from"./modules/shiki-BMQKBaOU.js";import{it as c,rt as l}from"./index-cw2gNXXR.js";import{t as u}from"./default-DcmGGORi.js";var d={__name:`slides.md__slidev_16`,setup(d){let{$slidev:f,$nav:p,$clicksContext:m,$clicks:h,$page:g,$renderContext:_,$frontmatter:v}=c();return m.setup(),(c,d)=>(s(),a(u,o(e(i(l)(i(v),15))),{default:n(()=>[...d[0]||=[r(`h1`,null,`Main Issues with Statefulness`,-1),r(`div`,{class:`statefulness-slide`},[r(`section`,{class:`statefulness-list statefulness-list--accent`},[r(`h2`,null,`Operational coupling`),r(`ul`,null,[r(`li`,null,[r(`strong`,null,`“Sticky” sessions in the load balancer`),r(`ul`,null,[r(`li`,null,`scalability`),r(`li`,null,`fault tolerance`),r(`li`,null,`in-place changes`)])]),r(`li`,null,[r(`strong`,null,`Speculative open connections are expensive`)]),r(`li`,null,[r(`strong`,null,`SSE cut-off times`),t(` on popular hosting platforms`)])])]),r(`section`,{class:`statefulness-list`},[r(`h2`,null,`Protocol ambiguity`),r(`ul`,null,[r(`li`,null,[r(`strong`,null,`Elicitation and Sampling`),t(` require a Server → Client channel to stay open`)]),r(`li`,null,[r(`strong`,null,`Session state is not well defined`),r(`ul`,null,[r(`li`,null,`STDIO lifecycle`),r(`li`,null,`tool list and capability changes`)])]),r(`li`,null,[r(`strong`,null,`Basic analytics`),t(` requires handling sessions`)])])])],-1)]]),_:1},16))}};export{d as default}; \ No newline at end of file diff --git a/2026/aidevcon-london/assets/md-Drr1VWKt.js b/2026/aidevcon-london/assets/md-Drr1VWKt.js new file mode 100644 index 0000000000000000000000000000000000000000..2b3811bc574310f20172f92294a8bb09430bb05a --- /dev/null +++ b/2026/aidevcon-london/assets/md-Drr1VWKt.js @@ -0,0 +1 @@ +import{C as e,D as t,T as n,V as r,Z as i,_ as a,_t as o,b as s,bt as c,g as l,gt as u,p as d,v as f,vt as p,x as m,z as h}from"./modules/shiki-BMQKBaOU.js";import{it as g,rt as _,vt as v}from"./index-cw2gNXXR.js";import{t as y}from"./mcp_weekly_init_tool_calls-DYuMHE2K.js";import{t as b}from"./default-DcmGGORi.js";var x={class:`activity-chart`},S=[`viewBox`],C=[`x`,`y`],w={class:`activity-chart__grid`},T=[`x1`,`x2`,`y1`,`y2`],E=[`x1`,`x2`,`y1`,`y2`],D={class:`activity-chart__bars`},O=[`x`,`y`,`width`,`height`],k=[`points`],A={class:`activity-chart__axis activity-chart__axis--left`},j=[`x`,`y`],ee=[`x`,`y`],te=[`x`,`y`],M={class:`activity-chart__x-axis`},N=[`x`,`y`],P=1200,F=560,I=v(n({__name:`McpWeeklyActivityChart`,setup(e){let{$slidev:t,$nav:n,$clicksContext:i,$clicks:f,$page:p,$renderContext:_,$frontmatter:v}=g(),b=y.rows.toSorted((e,t)=>e.week_start.localeCompare(t.week_start)),I={left:92,right:74,top:42,bottom:62},L=P-I.left-I.right,R=F-I.top-I.bottom,z=Math.max(4,Math.min(11,L/Math.max(1,b.length)*.34));function B(e){let[t,n,r]=e.split(`-`).map(Number);return new Date(Date.UTC(t,n-1,r))}function V(e){if(e<=0)return 1;let t=10**Math.floor(Math.log10(e)),n=e/t;return(n<=2?2:n<=5?5:10)*t}let H=B(b[0].week_start),U=B(b.at(-1).week_start),W=H.getTime(),G=Math.max(1,U.getTime()-W),K=V(Math.max(...b.map(e=>e.init_requests))),q=V(Math.max(...b.map(e=>e.tool_calls)));function J(e){return I.left+(B(e).getTime()-W)/G*L}function Y(e){return I.top+(1-e/K)*R}function X(e){return I.top+(1-e/q)*R}function Z(e){return e>=1e6?`${(e/1e6).toFixed(e>=1e7?0:1)}M`:e>=1e3?`${(e/1e3).toFixed(e>=1e5?0:1)}k`:`${e}`}let Q=l(()=>[0,K*.25,K*.5,K*.75,K]),ne=l(()=>b.map(e=>`${J(e.week_start).toFixed(1)},${X(e.tool_calls).toFixed(1)}`).join(` `)),$=l(()=>{let e=[],t=new Date(Date.UTC(H.getUTCFullYear(),H.getUTCMonth(),1)),n=new Intl.DateTimeFormat(`en`,{month:`short`}),r=0;for(;t.getTime()<=U.getTime();){let i=I.left+(t.getTime()-W)/G*L;r%2==0&&i>=I.left&&i<=I.left+L&&e.push({label:n.format(t),x:i}),t.setUTCMonth(t.getUTCMonth()+1),r+=1}return e});return(e,t)=>(h(),s(`section`,x,[(h(),s(`svg`,{class:`activity-chart__svg`,viewBox:`0 0 ${P} ${F}`,role:`img`},[t[0]||=m(``,1),a(`rect`,{x:I.left,y:I.top,width:L,height:R,class:`activity-chart__plot-bg`},null,8,C),a(`g`,w,[(h(!0),s(d,null,r(Q.value,e=>(h(),s(`line`,{key:`init-grid-${e}`,x1:I.left,x2:I.left+L,y1:Y(e),y2:Y(e)},null,8,T))),128)),(h(!0),s(d,null,r($.value,e=>(h(),s(`line`,{key:`month-grid-${e.label}-${e.x}`,x1:e.x,x2:e.x,y1:I.top,y2:I.top+R},null,8,E))),128))]),a(`g`,D,[(h(!0),s(d,null,r(u(b),e=>(h(),s(`rect`,{key:e.week_start,x:J(e.week_start)-u(z)/2,y:Y(e.init_requests),width:u(z),height:I.top+R-Y(e.init_requests),rx:`2`,class:o({"is-partial":e.partial_week})},null,10,O))),128))]),a(`polyline`,{class:`activity-chart__line`,points:ne.value,filter:`url(#activity-line-glow)`},null,8,k),a(`g`,A,[a(`text`,{x:I.left,y:I.top-18},`Initializations`,8,j),(h(!0),s(d,null,r(Q.value,e=>(h(),s(`text`,{key:`init-label-${e}`,x:I.left-14,y:Y(e)+4,"text-anchor":`end`},c(Z(e)),9,ee))),128))]),a(`text`,{class:`activity-chart__line-label`,x:I.left+L,y:I.top-18,"text-anchor":`end`},` Tool Calls `,8,te),a(`g`,M,[(h(!0),s(d,null,r($.value,e=>(h(),s(`text`,{key:`month-label-${e.label}-${e.x}`,x:e.x,y:I.top+R+38,"text-anchor":`middle`},c(e.label),9,N))),128))])],8,S))]))}}),[[`__scopeId`,`data-v-e613318a`]]),L={class:`weekly-activity-slide chart-slide`},R={__name:`slides.md__slidev_10`,setup(n){let{$slidev:r,$nav:o,$clicksContext:s,$clicks:c,$page:l,$renderContext:d,$frontmatter:m}=g();return s.setup(),(n,r)=>{let o=I;return h(),f(b,p(t(u(_)(u(m),9))),{default:i(()=>[a(`div`,L,[r[0]||=a(`header`,{class:`chart-slide__header`},[a(`div`,null,[a(`h1`,null,`Weekly MCP activity`)])],-1),e(o)])]),_:1},16)}}};export{R as default}; \ No newline at end of file diff --git a/2026/aidevcon-london/assets/md-DsgxFg7L2.js b/2026/aidevcon-london/assets/md-DsgxFg7L2.js new file mode 100644 index 0000000000000000000000000000000000000000..a8bcbe330817d16f3a54712865b07236a03b04c2 --- /dev/null +++ b/2026/aidevcon-london/assets/md-DsgxFg7L2.js @@ -0,0 +1 @@ +import{C as e,D as t,F as n,L as r,T as i,V as a,W as o,Z as s,_ as c,_t as l,b as u,bt as d,ct as f,f as p,g as m,gt as h,p as g,v as _,vt as v,y as ee,z as y}from"./modules/shiki-BMQKBaOU.js";import{it as b,rt as x,vt as S}from"./index-cw2gNXXR.js";import{t as C}from"./default-DcmGGORi.js";import{a as w,i as T,n as E,o as D,r as O,t as k}from"./wrench-MAYTdx4I.js";var A={class:`protocol-card`},j={class:`protocol-card__content`},M={class:`protocol-card__icon`},N={class:`protocol-card__text`},P={key:0},F=S(i({__name:`ProtocolCapabilityCard`,props:{title:{},icon:{},description:{},showDescription:{type:Boolean,default:!0}},setup(e){let{$slidev:t,$nav:n,$clicksContext:r,$clicks:i,$page:a,$renderContext:s,$frontmatter:l}=b(),f=e,p={wrench:k,file:D,message:O,roots:w,sparkles:E,question:T},h=m(()=>p[f.icon]);return(t,n)=>(y(),u(`article`,A,[c(`div`,j,[c(`div`,M,[(y(),_(o(h.value),{"stroke-width":2.25}))]),c(`div`,N,[c(`h3`,null,d(e.title),1),e.description&&e.showDescription?(y(),u(`p`,P,d(e.description),1)):ee(`v-if`,!0)])])]))}}),[[`__scopeId`,`data-v-c2618d1a`]]),I={class:`protocol-grid protocol-grid--server`},L={class:`protocol-process-gap`},R={class:`protocol-arrow-pair`,"aria-hidden":`true`},z={class:`protocol-operation`,"aria-live":`polite`},B={class:`protocol-grid protocol-grid--client`},V=S(i({__name:`ProtocolStack`,props:{showDescriptions:{type:Boolean,default:!1},variant:{default:`current`}},setup(e){let{$slidev:t,$nav:i,$clicksContext:o,$clicks:s,$page:v,$renderContext:ee,$frontmatter:x}=b(),S=e,C=[{id:`tools`,title:`Tools`,icon:`wrench`,description:`Invoke actions in the outside world`,zone:`server`},{id:`resources`,title:`Resources`,icon:`file`,description:`Expose context the model can read`,zone:`server`},{id:`prompts`,title:`Prompts`,icon:`message`,description:`Package reusable instructions`,zone:`server`},{id:`roots`,title:`Roots`,icon:`roots`,description:`Scope filesystem/project boundaries`,zone:`client`},{id:`sampling`,title:`Sampling`,icon:`sparkles`,description:`Let servers request model turns`,zone:`client`},{id:`elicitation`,title:`Elicitation`,icon:`question`,description:`Ask users for missing input`,zone:`client`}],w=C.filter(e=>e.zone===`server`),T=[`roots`,`sampling`],E=e=>P.value&&T.includes(e),D=m(()=>C.filter(e=>e.zone===`client`)),O=[{label:`prompts/list`,phase:`wake`,actor:`client`,channel:`up`,holdChannel:`up`,duration:560},{label:`prompts/list`,phase:`message`,actor:`client`,channel:`up`,holdChannel:`up`,flash:`prompts`,hold:`prompts`},{label:`prompts/GetListResult`,phase:`message`,actor:`client`,channel:`down`,holdChannel:`up`,hold:`prompts`},{label:`ready`,phase:`quiesce`,duration:520},{label:`tools/call`,phase:`wake`,actor:`client`,channel:`up`,holdChannel:`up`,duration:560},{label:`tools/call`,phase:`message`,actor:`client`,channel:`up`,holdChannel:`up`,flash:`tools`,hold:`tools`},{label:`progress/notification`,phase:`message`,actor:`client`,channel:`down`,holdChannel:`up`,hold:`tools`},{label:`progress/notification`,phase:`message`,actor:`client`,channel:`down`,holdChannel:`up`,hold:`tools`},{label:`progress/notification`,phase:`message`,actor:`client`,channel:`down`,holdChannel:`up`,hold:`tools`},{label:`tools/CallToolResult`,phase:`message`,actor:`client`,channel:`down`,holdChannel:`up`,hold:`tools`},{label:`ready`,phase:`quiesce`,duration:520},{label:`sampling/createMessage`,phase:`wake`,actor:`server`,channel:`down`,holdChannel:`down`,duration:560},{label:`sampling/createMessage`,phase:`message`,actor:`server`,channel:`down`,holdChannel:`down`,flash:`sampling`,hold:`sampling`},{label:`result`,phase:`message`,actor:`server`,channel:`up`,holdChannel:`down`,hold:`sampling`},{label:`ready`,phase:`quiesce`,duration:520}],k=f(-1),A=f(0),j=f(!1),M=f(!1),N=[],P=m(()=>S.variant===`simplified`),V=m(()=>P.value?O.filter(e=>e.flash!==`sampling`&&e.hold!==`sampling`):O),H=m(()=>V.value[k.value]),U=m(()=>H.value?.flash),W=m(()=>H.value?.hold),G=m(()=>H.value?.actor),K=m(()=>H.value?.label??`ready`),q=m(()=>H.value?.channel),J=m(()=>H.value?.holdChannel),Y=m(()=>H.value?.phase===`message`),X=m(()=>H.value?.phase===`wake`),Z=m(()=>{if(Y.value){if(q.value===`up`)return`server`;if(q.value===`down`)return`client`}});function Q(){for(;N.length;)window.clearTimeout(N.pop())}function te(e){k.value=e,A.value+=1}function $(e=!0){Q(),M.value=e,j.value=!0,k.value=-1;let t=0;V.value.forEach((e,n)=>{N.push(window.setTimeout(()=>te(n),t)),t+=e.duration??1120}),N.push(window.setTimeout(()=>{k.value=-1,M.value?$(!0):j.value=!1},t+160))}return r(()=>$(!0)),n(Q),(e,t)=>{let n=F;return y(),u(`section`,{class:l([`protocol-stack`,{"protocol-stack--running":j.value,"protocol-stack--wake":X.value,"protocol-stack--message":Y.value,"protocol-stack--channel-up":q.value===`up`,"protocol-stack--channel-down":q.value===`down`,"protocol-stack--hold-up":J.value===`up`,"protocol-stack--hold-down":J.value===`down`,"protocol-stack--simplified":P.value}]),"aria-label":`MCP protocol bidirectional message flow`,onClick:t[2]||=e=>$(!0)},[c(`div`,I,[(y(!0),u(g,null,a(h(w),e=>(y(),_(n,{key:e.id,class:l([`protocol-card-shell`,{"is-flashing":U.value===e.id,"is-on":W.value===e.id}]),title:e.title,icon:e.icon,description:e.description,"show-description":S.showDescriptions},null,8,[`class`,`title`,`icon`,`description`,`show-description`]))),128))]),(y(),u(`button`,{key:`server-label-${A.value}`,class:l([`protocol-label protocol-label--server`,{"is-actor-active":G.value===`server`,"is-message-hit":Z.value===`server`}]),type:`button`,onClick:t[0]||=p(e=>$(!0),[`stop`])},[...t[3]||=[c(`span`,null,`MCP Server`,-1)]],2)),c(`div`,L,[c(`div`,R,[(y(),u(`div`,{key:`up-${A.value}`,class:`protocol-traffic-lane protocol-traffic-lane--up protocol-block-arrow protocol-block-arrow--up protocol-block-arrow--connected`},[...t[4]||=[c(`span`,{class:`protocol-message-dot`,style:{"--dot-delay":`0ms`}},null,-1),c(`span`,{class:`protocol-message-dot`,style:{"--dot-delay":`120ms`}},null,-1),c(`span`,{class:`protocol-message-dot`,style:{"--dot-delay":`240ms`}},null,-1)]])),(y(),u(`div`,{key:`down-${A.value}`,class:l([`protocol-traffic-lane protocol-traffic-lane--down protocol-block-arrow protocol-block-arrow--down`,`protocol-block-arrow--connected`])},[...t[5]||=[c(`span`,{class:`protocol-message-dot`,style:{"--dot-delay":`0ms`}},null,-1),c(`span`,{class:`protocol-message-dot`,style:{"--dot-delay":`120ms`}},null,-1),c(`span`,{class:`protocol-message-dot`,style:{"--dot-delay":`240ms`}},null,-1)]]))]),c(`div`,z,[t[6]||=c(`span`,null,`operation`,-1),c(`strong`,null,d(K.value),1)])]),(y(),u(`button`,{key:`client-label-${A.value}`,class:l([`protocol-label protocol-label--client`,{"is-actor-active":G.value===`client`,"is-message-hit":Z.value===`client`}]),type:`button`,onClick:t[1]||=p(e=>$(!0),[`stop`])},[...t[7]||=[c(`span`,null,`MCP Client`,-1)]],2)),c(`div`,B,[(y(!0),u(g,null,a(D.value,e=>(y(),_(n,{key:e.id,class:l([`protocol-card-shell`,{"is-flashing":U.value===e.id,"is-on":W.value===e.id,"is-removed":E(e.id)}]),title:e.title,icon:e.icon,description:e.description,"show-description":S.showDescriptions},null,8,[`class`,`title`,`icon`,`description`,`show-description`]))),128))])],2)}}}),[[`__scopeId`,`data-v-7ae8d041`]]),H={class:`protocol-diagram`},U={__name:`slides.md__slidev_6`,setup(n){let{$slidev:r,$nav:i,$clicksContext:a,$clicks:o,$page:l,$renderContext:u,$frontmatter:d}=b();return a.setup(),(n,r)=>{let i=V;return y(),_(C,v(t(h(x)(h(d),5))),{default:s(()=>[r[0]||=c(`h1`,null,`Today, MCP design is bi-directional`,-1),c(`div`,H,[e(i)])]),_:1},16)}}};export{U as default}; \ No newline at end of file diff --git a/2026/aidevcon-london/assets/md-DsjicBWs.js b/2026/aidevcon-london/assets/md-DsjicBWs.js new file mode 100644 index 0000000000000000000000000000000000000000..65d1eef594f904c2f8be1711bbce17d0abd7b30c --- /dev/null +++ b/2026/aidevcon-london/assets/md-DsjicBWs.js @@ -0,0 +1 @@ +import{C as e,D as t,Z as n,_ as r,gt as i,v as a,vt as o,z as s}from"./modules/shiki-BMQKBaOU.js";import{it as c,rt as l}from"./index-cw2gNXXR.js";import{t as u}from"./default-DcmGGORi.js";import{t as d}from"./McpSpecTransportTimeline-cqjmY3kA.js";var f={class:`spec-timeline-diagram`},p={__name:`slides.md__slidev_18`,setup(p){let{$slidev:m,$nav:h,$clicksContext:g,$clicks:_,$page:v,$renderContext:y,$frontmatter:b}=c();return g.setup(),(c,p)=>{let m=d;return s(),a(u,o(t(i(l)(i(b),17))),{default:n(()=>[p[0]||=r(`h1`,null,`2026-07-28 Release Candidate`,-1),r(`div`,f,[e(m,{variant:`after`})])]),_:1},16)}}};export{p as default}; \ No newline at end of file diff --git a/2026/aidevcon-london/assets/md-Fa6c-M0R.js b/2026/aidevcon-london/assets/md-Fa6c-M0R.js new file mode 100644 index 0000000000000000000000000000000000000000..f97ba9f781a8cc0082b5193d040f5785262b0405 --- /dev/null +++ b/2026/aidevcon-london/assets/md-Fa6c-M0R.js @@ -0,0 +1 @@ +import{C as e,D as t,F as n,T as r,V as i,Z as a,_ as o,_t as s,b as c,bt as l,ct as u,g as d,gt as f,p,v as m,vt as h,x as g,y as _,z as v}from"./modules/shiki-BMQKBaOU.js";import{it as y,rt as ee,vt as b}from"./index-cw2gNXXR.js";import{t as x}from"./default-DcmGGORi.js";var S={class:`remote-mcp-story__controls`,"aria-label":`Remote MCP animation controls`},C=[`aria-pressed`],te=[`aria-pressed`],ne=[`aria-pressed`],re=[`aria-pressed`],ie={key:0,class:`remote-mcp-story__diagnostics`},ae={key:1,class:`remote-mcp-story__status`,"aria-live":`polite`},oe={class:`remote-mcp-story__canvas`,viewBox:`0 0 1000 470`,role:`img`,"aria-labelledby":`remote-mcp-story-title`,"aria-describedby":`remote-mcp-story-desc`},w=[`d`],se=[`d`],ce=[`d`],le={class:`remote-mcp-story__message-value`,x:`18`,y:`42`},ue=[`transform`],de=[`width`,`height`],fe=[`width`,`height`],pe={class:`remote-mcp-story__role`,x:`18`,y:`28`},me={class:`remote-mcp-story__title`,x:`18`,y:`61`},T={key:0,class:`remote-mcp-story__detail`,x:`18`,y:`88`},he=1500,E=1800,D=b(r({__name:`RemoteMcpLoadBalancerStoryboard`,setup(e){let{$slidev:t,$nav:r,$clicksContext:a,$clicks:f,$page:m,$renderContext:h,$frontmatter:ee}=y(),b=[{id:`client`,role:`endpoint`,title:`Client`,detail:``,x:56,y:180,w:198,h:112},{id:`lb`,role:`remote edge`,title:`Load balancer`,detail:``,x:386,y:185,w:238,h:102},{id:`server-a`,role:`server`,title:`Server 01`,detail:``,x:748,y:72,w:206,h:92},{id:`server-b`,role:`server`,title:`Server 02`,detail:``,x:748,y:190,w:206,h:92},{id:`server-c`,role:`server`,title:`Server 03`,detail:``,x:748,y:296,w:206,h:92}],x=[{id:`client-lb`,from:`client`,to:`lb`,fromAnchor:`right`,toAnchor:`left`},{id:`lb-a`,from:`lb`,to:`server-a`,fromAnchor:`right`,toAnchor:`left`},{id:`lb-b`,from:`lb`,to:`server-b`,fromAnchor:`right`,toAnchor:`left`},{id:`lb-c`,from:`lb`,to:`server-c`,fromAnchor:`right`,toAnchor:`left`}],D=[{id:`initialize-request`,route:[{edgeId:`client-lb`},{edgeId:`lb-b`}],label:`InitializeRequest`,caption:`Client initializes through the load balancer`,tone:`request`},{id:`initialize-result`,route:[{edgeId:`lb-b`,reverse:!0},{edgeId:`client-lb`,reverse:!0}],label:`InitializeResult + Session ID`,caption:`Server responds through the load balancer`,tone:`result`},{id:`initialized-notification`,route:[{edgeId:`client-lb`},{edgeId:`lb-b`}],label:`notifications/initialized`,caption:`Client acknowledges initialization`,tone:`notify`}],O=[{id:`tools-list-request`,route:[{edgeId:`client-lb`},{edgeId:`lb-b`}],label:`tools/list`,caption:`Client asks for available tools`,tone:`request`},{id:`tools-list-result`,route:[{edgeId:`lb-b`,reverse:!0},{edgeId:`client-lb`,reverse:!0}],label:`ListToolsResultResponse`,caption:`Server returns the tool list`,tone:`result`},{id:`prompts-list-request`,route:[{edgeId:`client-lb`},{edgeId:`lb-b`}],label:`prompts/list`,caption:`Client asks for available prompts`,tone:`request`},{id:`prompts-list-result`,route:[{edgeId:`lb-b`,reverse:!0},{edgeId:`client-lb`,reverse:!0}],label:`ListPromptsResultResponse`,caption:`Server returns the prompt list`,tone:`result`}],k=[{id:`tool-call-request`,route:[{edgeId:`client-lb`},{edgeId:`lb-b`}],label:`tools/call`,caption:`Client invokes a tool`,tone:`request`},{id:`tool-call-progress-one`,route:[{edgeId:`lb-b`,reverse:!0},{edgeId:`client-lb`,reverse:!0}],label:`notifications/progress 33%`,caption:`Server reports progress`,tone:`notify`},{id:`tool-call-progress-two`,route:[{edgeId:`lb-b`,reverse:!0},{edgeId:`client-lb`,reverse:!0}],label:`notifications/progress 80%`,caption:`Server reports more progress`,tone:`notify`},{id:`tool-call-result`,route:[{edgeId:`lb-b`,reverse:!0},{edgeId:`client-lb`,reverse:!0}],label:`CallToolResult`,caption:`Server completes the tool call`,tone:`result`}],A=new Map(b.map(e=>[e.id,e])),ge=new Map(x.map(e=>[e.id,e])),j=u(`idle`),M=u(!1),N=u(0),P=u(-1),F=u(0),I=u(!1),L=[],R=0,z=d(()=>j.value===`initialize`?D:j.value===`request`?O:j.value===`tool`?k:[]),B=d(()=>z.value[P.value]),_e=d(()=>j.value!==`idle`),ve=d(()=>M.value||j.value===`initialize`&&(P.value>0||P.value===0&&F.value>=.92)),ye=d(()=>M.value||j.value===`initialize`&&(P.value>1||P.value===1&&F.value>=.92)),V=d(()=>M.value||j.value===`initialize`&&(P.value>2||P.value===2&&F.value>=.92)),be=d(()=>B.value?B.value.caption:j.value===`initialize`?`Initializing session…`:j.value===`request`?`Listing tools and prompts with established session state…`:j.value===`tool`?`Calling a tool with progress notifications…`:M.value?`Initialized: each endpoint now has capability state from the other side.`:`Not initialized: no endpoint capability state has been established.`),xe=d(()=>{if(!H.value)return new Set;let{edge:e,reverse:t,progress:n}=H.value,r=t?e.to:e.from,i=t?e.from:e.to;return n<.18?new Set([r]):n>.82?new Set([i]):new Set}),H=d(()=>{let e=B.value?.route;if(!e?.length)return;let t=F.value*e.length,n=F.value>=1?e.length-1:Math.min(e.length-1,Math.floor(t)),r=e[n],i=ge.get(r.edgeId);if(i)return{edge:i,reverse:r.reverse??!1,progress:F.value>=1?1:t-n}}),U=d(()=>{if(!H.value)return``;let e=Math.max(0,H.value.progress-.28),t=Math.min(1,H.value.progress);return Te(H.value.edge,H.value.reverse,e,t)}),Se=d(()=>Math.round(F.value*60)),Ce=d(()=>B.value?`${P.value+1}/${z.value.length}`:`idle`);function W(e,t){return{x:t===`left`?e.x:e.x+e.w,y:e.y+e.h/2}}function we(e,t=!1){let{a:n,c1:r,c2:i,b:a}=G(e,t);return`M ${n.x} ${n.y} C ${r.x} ${r.y}, ${i.x} ${i.y}, ${a.x} ${a.y}`}function G(e,t=!1){let n=A.get(t?e.to:e.from),r=A.get(t?e.from:e.to),i=W(n,t?e.toAnchor:e.fromAnchor),a=W(r,t?e.fromAnchor:e.toAnchor),o=Math.abs(a.x-i.x),s=a.x>=i.x?1:-1;return{a:i,c1:{x:i.x+s*o*.45,y:i.y},c2:{x:a.x-s*o*.45,y:a.y},b:a}}function K(e,t,n,r,i){let a=1-i;return{x:a**3*e.x+3*a**2*i*t.x+3*a*i**2*n.x+i**3*r.x,y:a**3*e.y+3*a**2*i*t.y+3*a*i**2*n.y+i**3*r.y}}function q(e,t,n,r,i){let a=1-i;return{x:3*a**2*(t.x-e.x)+6*a*i*(n.x-t.x)+3*i**2*(r.x-n.x),y:3*a**2*(t.y-e.y)+6*a*i*(n.y-t.y)+3*i**2*(r.y-n.y)}}function Te(e,t=!1,n,r){let{a:i,c1:a,c2:o,b:s}=G(e,t),c=Math.max(0,Math.min(1,n)),l=Math.max(c+.001,Math.min(1,r)),u=K(i,a,o,s,c),d=K(i,a,o,s,l),f=q(i,a,o,s,c),p=q(i,a,o,s,l),m=l-c,h={x:u.x+f.x*m/3,y:u.y+f.y*m/3},g={x:d.x-p.x*m/3,y:d.y-p.y*m/3};return`M ${u.x} ${u.y} C ${h.x} ${h.y}, ${g.x} ${g.y}, ${d.x} ${d.y}`}function J(){for(;L.length;)window.clearTimeout(L.pop());window.cancelAnimationFrame(R),R=0,F.value=0}function Y(){for(;L.length;)window.clearTimeout(L.pop());window.cancelAnimationFrame(R),R=0}function X(e=performance.now()){let t=performance.now()-e;F.value=Math.min(t/he,1),F.value<1&&(R=window.requestAnimationFrame(()=>X(e)))}function Z(e){J(),j.value=e,P.value=-1,N.value+=1;let t=e===`initialize`?D:e===`request`?O:k;for(let e of t.keys())L.push(window.setTimeout(()=>{P.value=e,F.value=0,N.value+=1,window.cancelAnimationFrame(R),R=window.requestAnimationFrame(()=>X())},e*E));L.push(window.setTimeout(()=>{e===`initialize`&&(M.value=!0),P.value=-1,F.value=0,j.value=`idle`},t.length*E+650))}function Q(e){Y();let t=z.value.length?z.value:D;j.value=j.value===`idle`?`initialize`:j.value,P.value=Math.max(0,Math.min(t.length-1,P.value+e)),F.value=.5,N.value+=1}function $(e){Y(),j.value===`idle`&&(j.value=`initialize`,P.value=0),F.value=Math.max(0,Math.min(1,F.value+e/60)),N.value+=1}function Ee(){J(),j.value=`idle`,M.value=!1,P.value=-1,F.value=0,N.value+=1}return n(J),(e,t)=>(v(),c(`section`,{class:s([`remote-mcp-story`,[`remote-mcp-story--${j.value}`,{"remote-mcp-story--playing":_e.value,"remote-mcp-story--server-knows-client":ve.value,"remote-mcp-story--client-knows-server":ye.value,"remote-mcp-story--locked":V.value,"remote-mcp-story--initialized":M.value}]]),"aria-labelledby":`remote-mcp-story-title`,"aria-describedby":`remote-mcp-story-desc`},[o(`div`,S,[o(`button`,{type:`button`,"aria-pressed":j.value===`initialize`,onClick:t[0]||=e=>Z(`initialize`)},` Initialize `,8,C),o(`button`,{type:`button`,"aria-pressed":j.value===`request`,onClick:t[1]||=e=>Z(`request`)},` Later request `,8,te),o(`button`,{type:`button`,"aria-pressed":j.value===`tool`,onClick:t[2]||=e=>Z(`tool`)},` Tool call `,8,ne),o(`button`,{type:`button`,onClick:Ee},`Reset state`),o(`button`,{type:`button`,"aria-pressed":I.value,onClick:t[3]||=e=>I.value=!I.value},` Diag `,8,re)]),I.value?(v(),c(`div`,ie,[o(`div`,null,[o(`strong`,null,l(j.value),1),o(`span`,null,`step `+l(Ce.value),1),o(`span`,null,`frame `+l(Se.value)+`/60`,1),o(`span`,null,l(Math.round(F.value*100))+`%`,1)]),o(`div`,null,[o(`button`,{type:`button`,onClick:Y},`freeze`),o(`button`,{type:`button`,onClick:t[4]||=e=>Q(-1)},`step −`),o(`button`,{type:`button`,onClick:t[5]||=e=>Q(1)},`step +`),o(`button`,{type:`button`,onClick:t[6]||=e=>$(-5)},`frame −`),o(`button`,{type:`button`,onClick:t[7]||=e=>$(5)},`frame +`)])])):_(`v-if`,!0),B.value?_(`v-if`,!0):(v(),c(`p`,ae,l(be.value),1)),(v(),c(`svg`,oe,[t[10]||=o(`title`,{id:`remote-mcp-story-title`},`Remote MCP through a load balancer`,-1),t[11]||=o(`desc`,{id:`remote-mcp-story-desc`},` A client connects through a load balancer to a pool of MCP servers. The initialize animation shows client capabilities and server capabilities becoming retained state at opposite ends. `,-1),t[12]||=o(`defs`,null,[o(`marker`,{id:`remote-mcp-story-arrow`,markerWidth:`10`,markerHeight:`10`,refX:`8`,refY:`5`,orient:`auto`},[o(`path`,{d:`M 0 0 L 10 5 L 0 10 z`,fill:`rgba(185, 179, 165, 0.42)`})])],-1),(v(),c(p,null,i(x,e=>o(`path`,{key:e.id,class:s([`remote-mcp-story__edge`,{"remote-mcp-story__edge--selected":e.id===`lb-b`}]),d:we(e),"marker-end":`url(#remote-mcp-story-arrow)`},null,10,w)),64)),B.value?(v(),c(`path`,{key:`pulse-glow-${N.value}-${B.value.id}`,class:s([`remote-mcp-story__pulse remote-mcp-story__pulse--glow`,`remote-mcp-story__pulse--${B.value.tone??`request`}`]),d:U.value},null,10,se)):_(`v-if`,!0),B.value?(v(),c(`path`,{key:`pulse-core-${N.value}-${B.value.id}`,class:s([`remote-mcp-story__pulse remote-mcp-story__pulse--core`,`remote-mcp-story__pulse--${B.value.tone??`request`}`]),d:U.value},null,10,ce)):_(`v-if`,!0),B.value?(v(),c(`g`,{key:`label-${N.value}-${B.value.id}`,class:s([`remote-mcp-story__message`,`remote-mcp-story__message--${B.value.tone??`request`}`]),transform:`translate(220 110)`},[t[8]||=o(`rect`,{width:`344`,height:`52`,rx:`14`},null,-1),t[9]||=o(`text`,{class:`remote-mcp-story__message-label`,x:`18`,y:`22`},`in flight`,-1),o(`text`,le,l(B.value.label),1)],2)):_(`v-if`,!0),(v(),c(p,null,i(b,e=>o(`g`,{key:e.id,class:s([`remote-mcp-story__node`,[`remote-mcp-story__node--${e.id}`,{"remote-mcp-story__node--active-server":e.id===`server-b`,"remote-mcp-story__node--endpoint":e.id===`client`||e.id===`server-b`,"remote-mcp-story__node--active-hop":xe.value.has(e.id),"remote-mcp-story__node--locked-endpoint":V.value&&(e.id===`client`||e.id===`server-b`)}]]),transform:`translate(${e.x} ${e.y})`},[o(`rect`,{class:`remote-mcp-story__node-glow`,width:e.w,height:e.h,rx:`16`},null,8,de),o(`rect`,{class:`remote-mcp-story__node-box`,width:e.w,height:e.h,rx:`16`},null,8,fe),o(`text`,pe,l(e.role),1),o(`text`,me,l(e.title),1),e.detail?(v(),c(`text`,T,l(e.detail),1)):_(`v-if`,!0)],10,ue)),64)),t[13]||=g(`client stateserver capabilitiesMCP-Session-Idserver stateclient capabilitiesMCP-Session-Id`,2)]))],2))}}),[[`__scopeId`,`data-v-f98ae323`]]),O={class:`remote-mcp-diagram`},k={__name:`slides.md__slidev_14`,setup(n){let{$slidev:r,$nav:i,$clicksContext:s,$clicks:c,$page:l,$renderContext:u,$frontmatter:d}=y();return s.setup(),(n,r)=>{let i=D;return v(),m(x,h(t(f(ee)(f(d),13))),{default:a(()=>[r[0]||=o(`h1`,null,`Scaling MCP in Production…`,-1),o(`div`,O,[e(i)])]),_:1},16)}}};export{k as default}; \ No newline at end of file diff --git a/2026/aidevcon-london/assets/md-IISVRXyW2.js b/2026/aidevcon-london/assets/md-IISVRXyW2.js new file mode 100644 index 0000000000000000000000000000000000000000..92cb8ff50defaaa284cc903bb81873ca03d56df8 --- /dev/null +++ b/2026/aidevcon-london/assets/md-IISVRXyW2.js @@ -0,0 +1 @@ +import{C as e,D as t,S as n,T as r,V as i,Z as a,_ as o,_t as s,b as c,bt as l,g as u,gt as d,p as f,v as p,vt as m,y as h,z as g}from"./modules/shiki-BMQKBaOU.js";import{it as _,rt as v,vt as y}from"./index-cw2gNXXR.js";import{t as b}from"./default-DcmGGORi.js";var x=JSON.parse(`[{"week_start":"2025-06-30","week_end":"2025-07-06","client_family":"Claude Code","mcp_remote_share_pct":45.6522,"usage_index_0_100":0.0361,"mcp_remote_requests":420,"total_requests":920},{"week_start":"2025-07-07","week_end":"2025-07-13","client_family":"Claude Code","mcp_remote_share_pct":20.8286,"usage_index_0_100":0.0691,"mcp_remote_requests":367,"total_requests":1762},{"week_start":"2025-07-14","week_end":"2025-07-20","client_family":"Claude Code","mcp_remote_share_pct":13.9542,"usage_index_0_100":0.1301,"mcp_remote_requests":463,"total_requests":3318},{"week_start":"2025-07-21","week_end":"2025-07-27","client_family":"Claude Code","mcp_remote_share_pct":20.5397,"usage_index_0_100":0.1046,"mcp_remote_requests":548,"total_requests":2668},{"week_start":"2025-07-28","week_end":"2025-08-03","client_family":"Claude Code","mcp_remote_share_pct":25.4357,"usage_index_0_100":0.1058,"mcp_remote_requests":686,"total_requests":2697},{"week_start":"2025-08-04","week_end":"2025-08-10","client_family":"Claude Code","mcp_remote_share_pct":33.8832,"usage_index_0_100":0.1141,"mcp_remote_requests":986,"total_requests":2910},{"week_start":"2025-08-11","week_end":"2025-08-17","client_family":"Claude Code","mcp_remote_share_pct":26.4989,"usage_index_0_100":0.1059,"mcp_remote_requests":716,"total_requests":2702},{"week_start":"2025-08-18","week_end":"2025-08-24","client_family":"Codex","mcp_remote_share_pct":100.0,"usage_index_0_100":0.0039,"mcp_remote_requests":29,"total_requests":29},{"week_start":"2025-08-18","week_end":"2025-08-24","client_family":"Claude Code","mcp_remote_share_pct":19.9849,"usage_index_0_100":0.1562,"mcp_remote_requests":796,"total_requests":3983},{"week_start":"2025-08-25","week_end":"2025-08-31","client_family":"Codex","mcp_remote_share_pct":100.0,"usage_index_0_100":0.0096,"mcp_remote_requests":71,"total_requests":71},{"week_start":"2025-08-25","week_end":"2025-08-31","client_family":"Claude Code","mcp_remote_share_pct":8.9135,"usage_index_0_100":0.1909,"mcp_remote_requests":434,"total_requests":4869},{"week_start":"2025-09-01","week_end":"2025-09-07","client_family":"Codex","mcp_remote_share_pct":100.0,"usage_index_0_100":0.0153,"mcp_remote_requests":113,"total_requests":113},{"week_start":"2025-09-01","week_end":"2025-09-07","client_family":"Claude Code","mcp_remote_share_pct":1.3818,"usage_index_0_100":0.8201,"mcp_remote_requests":289,"total_requests":20915},{"week_start":"2025-09-08","week_end":"2025-09-14","client_family":"Codex","mcp_remote_share_pct":85.8156,"usage_index_0_100":0.019,"mcp_remote_requests":121,"total_requests":141},{"week_start":"2025-09-08","week_end":"2025-09-14","client_family":"Claude Code","mcp_remote_share_pct":4.4915,"usage_index_0_100":0.3867,"mcp_remote_requests":443,"total_requests":9863},{"week_start":"2025-09-15","week_end":"2025-09-21","client_family":"Codex","mcp_remote_share_pct":100.0,"usage_index_0_100":0.024,"mcp_remote_requests":178,"total_requests":178},{"week_start":"2025-09-15","week_end":"2025-09-21","client_family":"Claude Code","mcp_remote_share_pct":2.8205,"usage_index_0_100":0.2447,"mcp_remote_requests":176,"total_requests":6240},{"week_start":"2025-09-22","week_end":"2025-09-28","client_family":"Codex","mcp_remote_share_pct":100.0,"usage_index_0_100":0.0288,"mcp_remote_requests":213,"total_requests":213},{"week_start":"2025-09-22","week_end":"2025-09-28","client_family":"Claude Code","mcp_remote_share_pct":1.9878,"usage_index_0_100":0.2959,"mcp_remote_requests":150,"total_requests":7546},{"week_start":"2025-09-29","week_end":"2025-10-05","client_family":"Codex","mcp_remote_share_pct":100.0,"usage_index_0_100":0.0228,"mcp_remote_requests":169,"total_requests":169},{"week_start":"2025-09-29","week_end":"2025-10-05","client_family":"Claude Code","mcp_remote_share_pct":4.5252,"usage_index_0_100":0.2816,"mcp_remote_requests":325,"total_requests":7182},{"week_start":"2025-10-06","week_end":"2025-10-12","client_family":"Codex","mcp_remote_share_pct":80.8163,"usage_index_0_100":0.0331,"mcp_remote_requests":198,"total_requests":245},{"week_start":"2025-10-06","week_end":"2025-10-12","client_family":"Claude Code","mcp_remote_share_pct":6.8546,"usage_index_0_100":0.274,"mcp_remote_requests":479,"total_requests":6988},{"week_start":"2025-10-13","week_end":"2025-10-19","client_family":"Codex","mcp_remote_share_pct":74.5495,"usage_index_0_100":0.0599,"mcp_remote_requests":331,"total_requests":444},{"week_start":"2025-10-13","week_end":"2025-10-19","client_family":"Claude Code","mcp_remote_share_pct":4.0043,"usage_index_0_100":0.5797,"mcp_remote_requests":592,"total_requests":14784},{"week_start":"2025-10-20","week_end":"2025-10-26","client_family":"Codex","mcp_remote_share_pct":82.0,"usage_index_0_100":0.0405,"mcp_remote_requests":246,"total_requests":300},{"week_start":"2025-10-20","week_end":"2025-10-26","client_family":"Claude Code","mcp_remote_share_pct":7.1925,"usage_index_0_100":0.2595,"mcp_remote_requests":476,"total_requests":6618},{"week_start":"2025-10-27","week_end":"2025-11-02","client_family":"Codex","mcp_remote_share_pct":83.7398,"usage_index_0_100":0.0498,"mcp_remote_requests":309,"total_requests":369},{"week_start":"2025-10-27","week_end":"2025-11-02","client_family":"Claude Code","mcp_remote_share_pct":6.3919,"usage_index_0_100":0.2816,"mcp_remote_requests":459,"total_requests":7181},{"week_start":"2025-11-03","week_end":"2025-11-09","client_family":"Codex","mcp_remote_share_pct":86.2647,"usage_index_0_100":0.0806,"mcp_remote_requests":515,"total_requests":597},{"week_start":"2025-11-03","week_end":"2025-11-09","client_family":"Claude Code","mcp_remote_share_pct":4.5598,"usage_index_0_100":0.3362,"mcp_remote_requests":391,"total_requests":8575},{"week_start":"2025-11-10","week_end":"2025-11-16","client_family":"Codex","mcp_remote_share_pct":61.4699,"usage_index_0_100":0.0606,"mcp_remote_requests":276,"total_requests":449},{"week_start":"2025-11-10","week_end":"2025-11-16","client_family":"Claude Code","mcp_remote_share_pct":3.1377,"usage_index_0_100":0.3462,"mcp_remote_requests":277,"total_requests":8828},{"week_start":"2025-11-17","week_end":"2025-11-23","client_family":"Codex","mcp_remote_share_pct":51.9393,"usage_index_0_100":0.0801,"mcp_remote_requests":308,"total_requests":593},{"week_start":"2025-11-17","week_end":"2025-11-23","client_family":"Claude Code","mcp_remote_share_pct":3.402,"usage_index_0_100":0.3446,"mcp_remote_requests":299,"total_requests":8789},{"week_start":"2025-11-24","week_end":"2025-11-30","client_family":"Codex","mcp_remote_share_pct":65.6667,"usage_index_0_100":0.081,"mcp_remote_requests":394,"total_requests":600},{"week_start":"2025-11-24","week_end":"2025-11-30","client_family":"Claude Code","mcp_remote_share_pct":3.8193,"usage_index_0_100":0.3029,"mcp_remote_requests":295,"total_requests":7724},{"week_start":"2025-12-01","week_end":"2025-12-07","client_family":"Codex","mcp_remote_share_pct":46.4912,"usage_index_0_100":0.0616,"mcp_remote_requests":212,"total_requests":456},{"week_start":"2025-12-01","week_end":"2025-12-07","client_family":"Claude Code","mcp_remote_share_pct":3.4399,"usage_index_0_100":0.3226,"mcp_remote_requests":283,"total_requests":8227},{"week_start":"2025-12-08","week_end":"2025-12-14","client_family":"Codex","mcp_remote_share_pct":50.9302,"usage_index_0_100":0.0581,"mcp_remote_requests":219,"total_requests":430},{"week_start":"2025-12-08","week_end":"2025-12-14","client_family":"Claude Code","mcp_remote_share_pct":3.9737,"usage_index_0_100":0.3582,"mcp_remote_requests":363,"total_requests":9135},{"week_start":"2025-12-15","week_end":"2025-12-21","client_family":"Codex","mcp_remote_share_pct":58.3333,"usage_index_0_100":0.0713,"mcp_remote_requests":308,"total_requests":528},{"week_start":"2025-12-15","week_end":"2025-12-21","client_family":"Claude Code","mcp_remote_share_pct":15.8336,"usage_index_0_100":0.8088,"mcp_remote_requests":3266,"total_requests":20627},{"week_start":"2025-12-22","week_end":"2025-12-28","client_family":"Codex","mcp_remote_share_pct":61.5016,"usage_index_0_100":0.0845,"mcp_remote_requests":385,"total_requests":626},{"week_start":"2025-12-22","week_end":"2025-12-28","client_family":"Claude Code","mcp_remote_share_pct":7.0602,"usage_index_0_100":0.7831,"mcp_remote_requests":1410,"total_requests":19971},{"week_start":"2025-12-29","week_end":"2026-01-04","client_family":"Codex","mcp_remote_share_pct":76.8102,"usage_index_0_100":0.138,"mcp_remote_requests":785,"total_requests":1022},{"week_start":"2025-12-29","week_end":"2026-01-04","client_family":"Claude Code","mcp_remote_share_pct":1.1904,"usage_index_0_100":1.1891,"mcp_remote_requests":361,"total_requests":30327},{"week_start":"2026-01-05","week_end":"2026-01-11","client_family":"Codex","mcp_remote_share_pct":82.0356,"usage_index_0_100":0.2202,"mcp_remote_requests":1338,"total_requests":1631},{"week_start":"2026-01-05","week_end":"2026-01-11","client_family":"Claude Code","mcp_remote_share_pct":2.3879,"usage_index_0_100":0.7356,"mcp_remote_requests":448,"total_requests":18761},{"week_start":"2026-01-12","week_end":"2026-01-18","client_family":"Codex","mcp_remote_share_pct":57.6029,"usage_index_0_100":0.3312,"mcp_remote_requests":1413,"total_requests":2453},{"week_start":"2026-01-12","week_end":"2026-01-18","client_family":"Claude Code","mcp_remote_share_pct":2.9899,"usage_index_0_100":0.8433,"mcp_remote_requests":643,"total_requests":21506},{"week_start":"2026-01-19","week_end":"2026-01-25","client_family":"Codex","mcp_remote_share_pct":46.4343,"usage_index_0_100":0.5074,"mcp_remote_requests":1745,"total_requests":3758},{"week_start":"2026-01-19","week_end":"2026-01-25","client_family":"Claude Code","mcp_remote_share_pct":9.2554,"usage_index_0_100":2.197,"mcp_remote_requests":5186,"total_requests":56032},{"week_start":"2026-01-26","week_end":"2026-02-01","client_family":"Codex","mcp_remote_share_pct":86.9164,"usage_index_0_100":1.391,"mcp_remote_requests":8955,"total_requests":10303},{"week_start":"2026-01-26","week_end":"2026-02-01","client_family":"Claude Code","mcp_remote_share_pct":0.432,"usage_index_0_100":5.8544,"mcp_remote_requests":645,"total_requests":149307},{"week_start":"2026-02-02","week_end":"2026-02-08","client_family":"Codex","mcp_remote_share_pct":56.1187,"usage_index_0_100":1.7156,"mcp_remote_requests":7131,"total_requests":12707},{"week_start":"2026-02-02","week_end":"2026-02-08","client_family":"Claude Code","mcp_remote_share_pct":0.553,"usage_index_0_100":8.5161,"mcp_remote_requests":1201,"total_requests":217190},{"week_start":"2026-02-09","week_end":"2026-02-15","client_family":"Codex","mcp_remote_share_pct":43.2016,"usage_index_0_100":2.8666,"mcp_remote_requests":9173,"total_requests":21233},{"week_start":"2026-02-09","week_end":"2026-02-15","client_family":"Claude Code","mcp_remote_share_pct":0.0956,"usage_index_0_100":21.7472,"mcp_remote_requests":530,"total_requests":554626},{"week_start":"2026-02-16","week_end":"2026-02-22","client_family":"Codex","mcp_remote_share_pct":59.5964,"usage_index_0_100":2.716,"mcp_remote_requests":11989,"total_requests":20117},{"week_start":"2026-02-16","week_end":"2026-02-22","client_family":"Claude Code","mcp_remote_share_pct":0.1018,"usage_index_0_100":30.1338,"mcp_remote_requests":782,"total_requests":768511},{"week_start":"2026-02-23","week_end":"2026-03-01","client_family":"Codex","mcp_remote_share_pct":43.0898,"usage_index_0_100":4.6929,"mcp_remote_requests":14978,"total_requests":34760},{"week_start":"2026-02-23","week_end":"2026-03-01","client_family":"Claude Code","mcp_remote_share_pct":0.07,"usage_index_0_100":36.4134,"mcp_remote_requests":650,"total_requests":928664},{"week_start":"2026-03-02","week_end":"2026-03-08","client_family":"Codex","mcp_remote_share_pct":23.4336,"usage_index_0_100":8.1471,"mcp_remote_requests":14141,"total_requests":60345},{"week_start":"2026-03-02","week_end":"2026-03-08","client_family":"Claude Code","mcp_remote_share_pct":0.0646,"usage_index_0_100":42.0627,"mcp_remote_requests":693,"total_requests":1072738},{"week_start":"2026-03-09","week_end":"2026-03-15","client_family":"Codex","mcp_remote_share_pct":22.6028,"usage_index_0_100":9.9475,"mcp_remote_requests":16654,"total_requests":73681},{"week_start":"2026-03-09","week_end":"2026-03-15","client_family":"Claude Code","mcp_remote_share_pct":0.0978,"usage_index_0_100":29.3772,"mcp_remote_requests":733,"total_requests":749217},{"week_start":"2026-03-16","week_end":"2026-03-22","client_family":"Codex","mcp_remote_share_pct":27.592,"usage_index_0_100":6.1814,"mcp_remote_requests":12633,"total_requests":45785},{"week_start":"2026-03-16","week_end":"2026-03-22","client_family":"Claude Code","mcp_remote_share_pct":0.3617,"usage_index_0_100":39.4185,"mcp_remote_requests":3636,"total_requests":1005303},{"week_start":"2026-03-23","week_end":"2026-03-29","client_family":"Codex","mcp_remote_share_pct":7.1368,"usage_index_0_100":24.2387,"mcp_remote_requests":12813,"total_requests":179535},{"week_start":"2026-03-23","week_end":"2026-03-29","client_family":"Claude Code","mcp_remote_share_pct":0.6223,"usage_index_0_100":65.3032,"mcp_remote_requests":10364,"total_requests":1665450},{"week_start":"2026-03-30","week_end":"2026-04-05","client_family":"Codex","mcp_remote_share_pct":1.5232,"usage_index_0_100":83.3849,"mcp_remote_requests":9408,"total_requests":617628},{"week_start":"2026-03-30","week_end":"2026-04-05","client_family":"Claude Code","mcp_remote_share_pct":0.0413,"usage_index_0_100":73.7906,"mcp_remote_requests":777,"total_requests":1881906},{"week_start":"2026-04-06","week_end":"2026-04-12","client_family":"Codex","mcp_remote_share_pct":1.056,"usage_index_0_100":100.0,"mcp_remote_requests":7822,"total_requests":740695},{"week_start":"2026-04-06","week_end":"2026-04-12","client_family":"Claude Code","mcp_remote_share_pct":0.0272,"usage_index_0_100":86.2173,"mcp_remote_requests":598,"total_requests":2198828},{"week_start":"2026-04-13","week_end":"2026-04-19","client_family":"Codex","mcp_remote_share_pct":2.0653,"usage_index_0_100":33.2073,"mcp_remote_requests":5080,"total_requests":245965},{"week_start":"2026-04-13","week_end":"2026-04-19","client_family":"Claude Code","mcp_remote_share_pct":0.0198,"usage_index_0_100":89.8738,"mcp_remote_requests":453,"total_requests":2292082},{"week_start":"2026-04-20","week_end":"2026-04-26","client_family":"Codex","mcp_remote_share_pct":18.3692,"usage_index_0_100":5.7636,"mcp_remote_requests":7842,"total_requests":42691},{"week_start":"2026-04-20","week_end":"2026-04-26","client_family":"Claude Code","mcp_remote_share_pct":0.037,"usage_index_0_100":87.7118,"mcp_remote_requests":828,"total_requests":2236944},{"week_start":"2026-04-27","week_end":"2026-05-03","client_family":"Codex","mcp_remote_share_pct":18.6552,"usage_index_0_100":6.2586,"mcp_remote_requests":8648,"total_requests":46357},{"week_start":"2026-04-27","week_end":"2026-05-03","client_family":"Claude Code","mcp_remote_share_pct":0.0363,"usage_index_0_100":91.0938,"mcp_remote_requests":843,"total_requests":2323195},{"week_start":"2026-05-04","week_end":"2026-05-10","client_family":"Codex","mcp_remote_share_pct":16.4166,"usage_index_0_100":8.4681,"mcp_remote_requests":10297,"total_requests":62723},{"week_start":"2026-05-04","week_end":"2026-05-10","client_family":"Claude Code","mcp_remote_share_pct":0.0432,"usage_index_0_100":100.0,"mcp_remote_requests":1101,"total_requests":2550333},{"week_start":"2026-05-11","week_end":"2026-05-17","client_family":"Codex","mcp_remote_share_pct":16.5699,"usage_index_0_100":9.0229,"mcp_remote_requests":11074,"total_requests":66832},{"week_start":"2026-05-11","week_end":"2026-05-17","client_family":"Claude Code","mcp_remote_share_pct":0.0433,"usage_index_0_100":92.1529,"mcp_remote_requests":1017,"total_requests":2350206},{"week_start":"2026-05-18","week_end":"2026-05-24","client_family":"Codex","mcp_remote_share_pct":12.2307,"usage_index_0_100":9.7635,"mcp_remote_requests":8845,"total_requests":72318},{"week_start":"2026-05-18","week_end":"2026-05-24","client_family":"Claude Code","mcp_remote_share_pct":0.0712,"usage_index_0_100":78.9487,"mcp_remote_requests":1433,"total_requests":2013455},{"week_start":"2026-05-25","week_end":"2026-05-31","client_family":"Codex","mcp_remote_share_pct":10.8764,"usage_index_0_100":9.6449,"mcp_remote_requests":7770,"total_requests":71439},{"week_start":"2026-05-25","week_end":"2026-05-31","client_family":"Claude Code","mcp_remote_share_pct":0.0698,"usage_index_0_100":73.4939,"mcp_remote_requests":1308,"total_requests":1874339}]`),S={key:0,class:`traffic-chart__header`},C={class:`traffic-chart__badge`},w=[`viewBox`],ee=[`id`],te=[`id`],ne=[`id`],re=[`x`,`y`],ie={class:`traffic-chart__grid`},ae=[`x1`,`x2`,`y1`,`y2`],oe=[`x1`,`x2`,`y1`,`y2`],se=[`d`,`fill`],ce=[`points`,`stroke`,`filter`],le={class:`traffic-chart__dots`},ue=[`cx`,`cy`],de={class:`traffic-chart__y-axis`},fe=[`x`,`y`],pe={class:`traffic-chart__x-axis`},me=[`x`,`y`],T={key:0,class:`traffic-chart__latest`},E=[`x1`,`x2`,`y1`,`y2`],D=[`cx`,`cy`],O=[`x`,`y`],k=[`x`,`y`],A=[`x`,`y`],j=1200,M=560,N=y(r({__name:`McpRemoteTrafficChart`,props:{client:{},rangeMode:{default:`client`},title:{default:void 0},subtitle:{default:void 0},showHeader:{type:Boolean,default:!0}},setup(e){let{$slidev:t,$nav:n,$clicksContext:r,$clicks:a,$page:d,$renderContext:p,$frontmatter:m}=_(),v=e,y=x,b={left:82,right:42,top:42,bottom:62},N=j-b.left-b.right,P=M-b.top-b.bottom,F=u(()=>v.title??`${v.client}: mcp-remote share`),I=u(()=>v.subtitle?v.subtitle:v.rangeMode===`claude`&&v.client===`Codex`?`Codex plotted on the Claude Code date range`:`Weekly buckets · usage index in background`),L=u(()=>y.filter(e=>e.client_family===v.client).sort((e,t)=>e.week_start.localeCompare(t.week_start))),R=u(()=>y.filter(e=>e.client_family===`Claude Code`).sort((e,t)=>e.week_start.localeCompare(t.week_start))),z=u(()=>v.rangeMode===`claude`?R.value:L.value);function B(e){let[t,n,r]=e.split(`-`).map(Number);return new Date(Date.UTC(t,n-1,r))}let V=u(()=>B(z.value[0]?.week_start??L.value[0]?.week_start)),he=u(()=>B(z.value.at(-1)?.week_start??L.value.at(-1)?.week_start)),H=u(()=>V.value.getTime()),U=u(()=>he.value.getTime()),W=u(()=>Math.max(1,U.value-H.value));function G(e){let t=B(e).getTime();return b.left+(t-H.value)/W.value*N}function K(e){return b.top+(1-e/J.value)*P}function ge(e){return b.top+(1-e/100)*P}let q=u(()=>L.value.filter(e=>{let t=B(e.week_start).getTime();return t>=H.value&&t<=U.value})),J=u(()=>{let e=Math.max(...q.value.map(e=>e.mcp_remote_share_pct),1);return e<=10?10:e<=25?25:e<=50?50:100}),Y=u(()=>J.value===10?[0,2.5,5,7.5,10]:J.value===25?[0,5,10,15,20,25]:J.value===50?[0,10,20,30,40,50]:[0,20,40,60,80,100]);function X(e){return q.value.map(t=>`${G(t.week_start).toFixed(1)},${e(t).toFixed(1)}`).join(` `)}let _e=u(()=>X(e=>K(e.mcp_remote_share_pct))),ve=u(()=>{let e=q.value.map(e=>`${G(e.week_start).toFixed(1)},${ge(e.usage_index_0_100).toFixed(1)}`);if(e.length===0)return``;let t=G(q.value[0].week_start).toFixed(1),n=G(q.value.at(-1).week_start).toFixed(1),r=b.top+P;return`M ${t} ${r} L ${e.join(` L `)} L ${n} ${r} Z`}),Z=u(()=>{let e=[],t=new Date(Date.UTC(V.value.getUTCFullYear(),V.value.getUTCMonth(),1)),n=new Intl.DateTimeFormat(`en`,{month:`short`}),r=0;for(;t.getTime()<=U.value;){let i=b.left+(t.getTime()-H.value)/W.value*N;(r%2==0||t.getTime()>=U.value-1e3*60*60*24*34)&&i>=b.left-1&&i<=b.left+N+1&&e.push({label:n.format(t),x:i}),t.setUTCMonth(t.getUTCMonth()+1),r+=1}return e}),Q=u(()=>q.value.at(-1)),ye=u(()=>q.value.reduce((e,t)=>t.mcp_remote_share_pct>e.mcp_remote_share_pct?t:e,q.value[0])),$=u(()=>`${Q.value?.mcp_remote_share_pct.toFixed(1)??`—`}%`);u(()=>`${ye.value?.mcp_remote_share_pct.toFixed(1)??`—`}%`),u(()=>`${Q.value?.usage_index_0_100.toFixed(1)??`—`}`);let be=u(()=>Q.value?Math.min(b.left+N-16,Math.max(b.left+90,G(Q.value.week_start)-12)):b.left),xe=u(()=>Q.value?Math.max(b.top+30,Math.min(b.top+P-44,K(Q.value.mcp_remote_share_pct)-18)):b.top);return(e,t)=>(g(),c(`section`,{class:s([`traffic-chart`,`traffic-chart--${v.client===`Codex`?`codex`:`claude`}`])},[v.showHeader?(g(),c(`header`,S,[o(`div`,null,[o(`h1`,null,l(F.value),1),o(`p`,null,l(I.value),1)]),o(`div`,C,[t[0]||=o(`span`,null,`mcp-remote share`,-1),o(`strong`,null,l($.value),1)])])):h(`v-if`,!0),(g(),c(`svg`,{class:`traffic-chart__svg`,viewBox:`0 0 ${j} ${M}`,role:`img`},[o(`defs`,null,[o(`linearGradient`,{id:`usage-fill-${v.client.replaceAll(` `,`-`)}-${v.rangeMode}`,x1:`0`,x2:`0`,y1:`0`,y2:`1`},[...t[1]||=[o(`stop`,{offset:`0%`,"stop-color":`rgba(106, 163, 247, 0.42)`},null,-1),o(`stop`,{offset:`100%`,"stop-color":`rgba(106, 163, 247, 0.03)`},null,-1)]],8,ee),o(`linearGradient`,{id:`share-stroke-${v.client.replaceAll(` `,`-`)}-${v.rangeMode}`,x1:`0`,x2:`1`,y1:`0`,y2:`0`},[...t[2]||=[o(`stop`,{offset:`0%`,"stop-color":`#ffc649`},null,-1),o(`stop`,{offset:`100%`,"stop-color":`#f5a400`},null,-1)]],8,te),o(`filter`,{id:`share-glow-${v.client.replaceAll(` `,`-`)}-${v.rangeMode}`,x:`-40%`,y:`-40%`,width:`180%`,height:`180%`},[...t[3]||=[o(`feGaussianBlur`,{stdDeviation:`2`,result:`blur`},null,-1),o(`feMerge`,null,[o(`feMergeNode`,{in:`blur`}),o(`feMergeNode`,{in:`SourceGraphic`})],-1)]],8,ne)]),o(`rect`,{x:b.left,y:b.top,width:N,height:P,class:`traffic-chart__plot-bg`},null,8,re),o(`g`,ie,[(g(!0),c(f,null,i(Y.value,e=>(g(),c(`line`,{key:`share-${e}`,x1:b.left,x2:b.left+N,y1:K(e),y2:K(e)},null,8,ae))),128)),(g(!0),c(f,null,i(Z.value,e=>(g(),c(`line`,{key:`month-line-${e.label}-${e.x}`,x1:e.x,x2:e.x,y1:b.top,y2:b.top+P},null,8,oe))),128))]),o(`path`,{class:`traffic-chart__usage-area`,d:ve.value,fill:`url(#usage-fill-${v.client.replaceAll(` `,`-`)}-${v.rangeMode})`},null,8,se),o(`polyline`,{class:`traffic-chart__share-line`,points:_e.value,stroke:`url(#share-stroke-${v.client.replaceAll(` `,`-`)}-${v.rangeMode})`,filter:`url(#share-glow-${v.client.replaceAll(` `,`-`)}-${v.rangeMode})`},null,8,ce),o(`g`,le,[(g(!0),c(f,null,i(q.value,e=>(g(),c(`circle`,{key:e.week_start,cx:G(e.week_start),cy:K(e.mcp_remote_share_pct),r:`3.5`},null,8,ue))),128))]),o(`g`,de,[(g(!0),c(f,null,i(Y.value,e=>(g(),c(`text`,{key:`label-${e}`,x:b.left-14,y:K(e)+4,"text-anchor":`end`},l(e)+`% `,9,fe))),128))]),o(`g`,pe,[(g(!0),c(f,null,i(Z.value,e=>(g(),c(`text`,{key:`month-${e.label}-${e.x}`,x:e.x,y:b.top+P+38,"text-anchor":`middle`},l(e.label),9,me))),128))]),Q.value?(g(),c(`g`,T,[o(`line`,{x1:G(Q.value.week_start),x2:G(Q.value.week_start),y1:b.top,y2:b.top+P},null,8,E),o(`circle`,{cx:G(Q.value.week_start),cy:K(Q.value.mcp_remote_share_pct),r:`7`},null,8,D),o(`text`,{x:be.value,y:xe.value,"text-anchor":`end`},l($.value),9,O)])):h(`v-if`,!0),o(`text`,{class:`traffic-chart__axis-title`,x:b.left,y:b.top-20},` share of traffic using mcp-remote `,8,k),o(`text`,{class:`traffic-chart__usage-label`,x:b.left+N-4,y:b.top+24,"text-anchor":`end`},` usage index `,8,A)],8,w))],2))}}),[[`__scopeId`,`data-v-3cd4238e`]]),P={class:`traffic-chart-slide chart-slide`},F={__name:`slides.md__slidev_9`,setup(r){let{$slidev:i,$nav:s,$clicksContext:c,$clicks:l,$page:u,$renderContext:f,$frontmatter:h}=_();return c.setup(),(r,i)=>{let s=N;return g(),p(b,m(t(d(v)(d(h),8))),{default:a(()=>[o(`div`,P,[i[0]||=o(`header`,{class:`chart-slide__header`},[o(`div`,null,[o(`h1`,null,`Claude Code`),o(`h2`,null,[n(`Weekly `),o(`code`,null,`mcp-remote`),n(` share · usage index `)])])],-1),e(s,{client:`Claude Code`,showHeader:!1})])]),_:1},16)}}};export{F as default}; \ No newline at end of file diff --git a/2026/aidevcon-london/assets/md-KN7s3Ntv.js b/2026/aidevcon-london/assets/md-KN7s3Ntv.js new file mode 100644 index 0000000000000000000000000000000000000000..4d8f91cdc32e4e041fc38fb3a8776574338a6a4b --- /dev/null +++ b/2026/aidevcon-london/assets/md-KN7s3Ntv.js @@ -0,0 +1 @@ +import{C as e,D as t,Z as n,_ as r,gt as i,v as a,vt as o,z as s}from"./modules/shiki-BMQKBaOU.js";import{it as c,rt as l}from"./index-cw2gNXXR.js";import{t as u}from"./default-DcmGGORi.js";import{t as d}from"./HttpHeaderExample-UM3qS7BW.js";import{t as f}from"./HttpRouteMap-Bng6aSA7.js";var p={class:`http-standardization-problem`},m={__name:`slides.md__slidev_26`,setup(m){let{$slidev:h,$nav:g,$clicksContext:_,$clicks:v,$page:y,$renderContext:b,$frontmatter:x}=c();return _.setup(),(c,m)=>{let h=f,g=d;return s(),a(u,o(t(i(l)(i(x),25))),{default:n(()=>[m[0]||=r(`h1`,null,`SEP-2243: Routable MCP Traffic`,-1),r(`div`,p,[e(h,{mode:`solution`}),e(g,{variant:`solution`})])]),_:1},16)}}};export{m as default}; \ No newline at end of file diff --git a/2026/aidevcon-london/assets/md-SPbwse0y.js b/2026/aidevcon-london/assets/md-SPbwse0y.js new file mode 100644 index 0000000000000000000000000000000000000000..69caf71513b2df64b600b6db0df7a34bdde0fc1d --- /dev/null +++ b/2026/aidevcon-london/assets/md-SPbwse0y.js @@ -0,0 +1 @@ +import{D as e,S as t,Z as n,_ as r,gt as i,v as a,vt as o,z as s}from"./modules/shiki-BMQKBaOU.js";import{it as c,rt as l}from"./index-cw2gNXXR.js";import{t as u}from"./default-DcmGGORi.js";var d={__name:`slides.md__slidev_20`,setup(d){let{$slidev:f,$nav:p,$clicksContext:m,$clicks:h,$page:g,$renderContext:_,$frontmatter:v}=c();return m.setup(),(c,d)=>(s(),a(u,o(e(i(l)(i(v),19))),{default:n(()=>[...d[0]||=[r(`h1`,null,`SEP-2575: Make MCP Stateless`,-1),r(`div`,{class:`stateless-discovery-slide`},[r(`section`,{class:`stateless-discovery-copy`},[r(`h2`,null,`Remove Initialization Handshake`),r(`dl`,{class:`compact-point-list`},[r(`div`,null,[r(`dt`,null,`Handshake Info to Data Layer`),r(`dd`,null,[t(`Version, Capability and Client identity move into the JSON-RPC `),r(`code`,null,`_meta`),t(` envelope on each request/response.`)])]),r(`div`,null,[r(`dt`,null,[t(`New `),r(`code`,null,`server/discover`),t(` endpoint`)]),r(`dd`,null,`Optional Client Probe to share Capability information for compatibility/User Experience reasons.`)]),r(`div`,null,[r(`dt`,null,[t(`New `),r(`code`,null,`subscriptions/listen`),t(` endpoint`)]),r(`dd`,null,`Endpoint to allow Client to initiate a notification stream for Resource Subscriptions or List Changed events`)])])]),r(`section`,{class:`stateless-discovery-json deck-panel`},[r(`div`,{class:`http-json http-json--packet`},[r(`div`,{class:`http-json-line stateless-discovery-json__gap`},`→ request`),r(`div`,{class:`http-json-line`},`{`),r(`div`,{class:`http-json-line http-json-line--indent`},[r(`em`,null,`"jsonrpc"`),t(`: `),r(`strong`,null,`"2.0"`),t(`,`)]),r(`div`,{class:`http-json-line http-json-line--indent`},[r(`em`,null,`"method"`),t(`: `),r(`mark`,null,`"server/discover"`),t(`,`)]),r(`div`,{class:`http-json-line http-json-line--indent`},[r(`em`,null,`"params"`),t(`: {`)]),r(`div`,{class:`http-json-line http-json-line--indent-2`},[r(`mark`,null,`"_meta"`),t(`: {`)]),r(`div`,{class:`http-json-line http-json-line--indent-3`},[r(`em`,null,`"protocolVersion"`),t(`: `),r(`strong`,null,`"2026-07-28"`),t(`,`)]),r(`div`,{class:`http-json-line http-json-line--indent-3`},[r(`em`,null,`"clientInfo"`),t(`: { `),r(`em`,null,`"name"`),t(`: `),r(`strong`,null,`"ExampleClient"`),t(` }`)]),r(`div`,{class:`http-json-line http-json-line--indent-2`},`}`),r(`div`,{class:`http-json-line http-json-line--indent`},`}`),r(`div`,{class:`http-json-line`},`}`),r(`div`,{class:`http-json-line stateless-discovery-json__gap`},`← response`),r(`div`,{class:`http-json-line`},`{`),r(`div`,{class:`http-json-line http-json-line--indent`},[r(`em`,null,`"result"`),t(`: {`)]),r(`div`,{class:`http-json-line http-json-line--indent-2`},[r(`em`,null,`"supportedVersions"`),t(`: [`),r(`strong`,null,`"2026-07-28"`),t(`],`)]),r(`div`,{class:`http-json-line http-json-line--indent-2`},[r(`mark`,null,`"capabilities"`),t(`: {`)]),r(`div`,{class:`http-json-line http-json-line--indent-3`},[r(`em`,null,`"tools"`),t(`: {},`)]),r(`div`,{class:`http-json-line http-json-line--indent-3`},[r(`em`,null,`"resources"`),t(`: {},`)]),r(`div`,{class:`http-json-line http-json-line--indent-3`},[r(`em`,null,`"prompts"`),t(`: {}`)]),r(`div`,{class:`http-json-line http-json-line--indent-2`},`},`),r(`div`,{class:`http-json-line http-json-line--indent-2`},[r(`em`,null,`"serverInfo"`),t(`: { `),r(`em`,null,`"name"`),t(`: `),r(`strong`,null,`"ExampleServer"`),t(` }`)]),r(`div`,{class:`http-json-line http-json-line--indent`},`}`),r(`div`,{class:`http-json-line`},`}`)])])],-1)]]),_:1},16))}};export{d as default}; \ No newline at end of file diff --git a/2026/aidevcon-london/assets/md-uUgHcMX7.js b/2026/aidevcon-london/assets/md-uUgHcMX7.js new file mode 100644 index 0000000000000000000000000000000000000000..4fecffb0af14f414ac8c20a1a6440f6d38daf935 --- /dev/null +++ b/2026/aidevcon-london/assets/md-uUgHcMX7.js @@ -0,0 +1 @@ +import{D as e,Z as t,_ as n,gt as r,v as i,vt as a,z as o}from"./modules/shiki-BMQKBaOU.js";import{it as s,rt as c}from"./index-cw2gNXXR.js";import{t as l}from"./default-DcmGGORi.js";var u={__name:`slides.md__slidev_29`,setup(u){let{$slidev:d,$nav:f,$clicksContext:p,$clicks:m,$page:h,$renderContext:g,$frontmatter:_}=s();return p.setup(),(s,u)=>(o(),i(l,a(e(r(c)(r(_),28))),{default:t(()=>[...u[0]||=[n(`div`,{class:`hackmonty-slide`},[n(`h1`,null,`Hugging Face sponsors Hack Monty`),n(`img`,{src:`images/hackmonty.png`,alt:`Hack Monty`})],-1)]]),_:1},16))}};export{u as default}; \ No newline at end of file diff --git a/2026/aidevcon-london/assets/md-uZ0O8MyL.js b/2026/aidevcon-london/assets/md-uZ0O8MyL.js new file mode 100644 index 0000000000000000000000000000000000000000..ccaa93b30ea3f02a1a15fc1cf4b7f0fff0ed2a73 --- /dev/null +++ b/2026/aidevcon-london/assets/md-uZ0O8MyL.js @@ -0,0 +1 @@ +import{D as e,Z as t,_ as n,gt as r,v as i,vt as a,z as o}from"./modules/shiki-BMQKBaOU.js";import{it as s,rt as c}from"./index-cw2gNXXR.js";import{t as l}from"./default-DcmGGORi.js";var u={__name:`slides.md__slidev_4`,setup(u){let{$slidev:d,$nav:f,$clicksContext:p,$clicks:m,$page:h,$renderContext:g,$frontmatter:_}=s();return p.setup(),(s,u)=>(o(),i(l,a(e(r(c)(r(_),3))),{default:t(()=>[...u[0]||=[n(`div`,{class:`agenda-slide`},[n(`p`,{class:`kicker`},`today`),n(`h1`,null,`Topics`),n(`div`,{class:`agenda-list`},[n(`div`,null,`MCP at Hugging Face`),n(`div`,null,`Client Behaviour and Analytics`),n(`div`,null,`Issues related to MCP implementation`),n(`div`,null,`New! MCP specification changes`)])],-1)]]),_:1},16))}};export{u as default}; \ No newline at end of file diff --git a/2026/aidevcon-london/assets/md-xgwNNhIf.js b/2026/aidevcon-london/assets/md-xgwNNhIf.js new file mode 100644 index 0000000000000000000000000000000000000000..1c98f544722f2362798d66d0cbe33f86c95a821d --- /dev/null +++ b/2026/aidevcon-london/assets/md-xgwNNhIf.js @@ -0,0 +1 @@ +import{D as e,S as t,Z as n,_ as r,gt as i,v as a,vt as o,z as s}from"./modules/shiki-BMQKBaOU.js";import{it as c,rt as l}from"./index-cw2gNXXR.js";import{t as u}from"./default-DcmGGORi.js";var d={__name:`slides.md__slidev_21`,setup(d){let{$slidev:f,$nav:p,$clicksContext:m,$clicks:h,$page:g,$renderContext:_,$frontmatter:v}=c();return m.setup(),(c,d)=>(s(),a(u,o(e(i(l)(i(v),20))),{default:n(()=>[...d[0]||=[r(`h1`,null,`SEP-2459: Cache Control`,-1),r(`div`,{class:`cache-control-slide`},[r(`section`,{class:`cache-control-copy`},[r(`h2`,null,`Cacheable Results`),r(`div`,{class:`compact-point-list`},[r(`div`,null,[r(`strong`,null,`Applies to discovery and reads`),r(`span`,null,[r(`code`,null,`tools/list`),t(`, `),r(`code`,null,`prompts/list`),t(`, `),r(`code`,null,`resources/list`),t(`, `),r(`code`,null,`resources/templates/list`),t(`, and `),r(`code`,null,`resources/read`),t(`.`)])]),r(`div`,null,[r(`strong`,null,[r(`code`,null,`ttlMs`),t(` is freshness`)]),r(`span`,null,[t(`Clients may consider the result fresh until `),r(`code`,null,`received + ttlMs`),t(`; `),r(`code`,null,`0`),t(` means immediately stale.`)])]),r(`div`,null,[r(`strong`,null,`Notifications invalidate`),r(`span`,null,`TTL avoids unnecessary refetches between changes; list-changed notifications make cached results stale immediately.`)])])]),r(`aside`,{class:`cache-scope-table deck-panel`},[r(`div`,{class:`kicker`},`cacheScope`),r(`table`,null,[r(`thead`,null,[r(`tr`,null,[r(`th`,null,`Value`),r(`th`,null,`Meaning`)])]),r(`tbody`,null,[r(`tr`,null,[r(`td`,null,[r(`code`,null,`"public"`)]),r(`td`,null,`Does not contain user-specific data. Any client, gateway, or caching proxy may store and serve it to any user.`)]),r(`tr`,null,[r(`td`,null,[r(`code`,null,`"private"`)]),r(`td`,null,`May contain caller-specific data. Reuse only within the same authorization context; never share across access tokens.`)])])])])],-1)]]),_:1},16))}};export{d as default}; \ No newline at end of file diff --git a/2026/aidevcon-london/assets/slidev/404-DNBeJd0_.js b/2026/aidevcon-london/assets/slidev/404-DNBeJd0_.js new file mode 100644 index 0000000000000000000000000000000000000000..dfd1f9eeb017be86d07ac8b2e5a320f2e8f5a6c6 --- /dev/null +++ b/2026/aidevcon-london/assets/slidev/404-DNBeJd0_.js @@ -0,0 +1 @@ +import{S as e,T as t,U as n,Z as r,_ as i,b as a,bt as o,g as s,gt as c,v as l,y as u,z as d}from"../modules/shiki-BMQKBaOU.js";import{V as f}from"../modules/vue-DcLb0Un4.js";import{_ as p,vt as m}from"../index-cw2gNXXR.js";var h={class:`grid justify-center text-center pt-15% gap-5`},g={class:`text-2xl`},_={class:`op-60`},v={class:`mt-3 flex flex-col gap-2 max-w-xs mx-auto w-full`},y=m(t({__name:`404`,setup(t){let m=/\d+/,{currentRoute:y}=f(),{total:b}=p(),x=s(()=>{let e=y.value.path.match(m);if(e){let t=+e[0];if(t>0&&t<=b.value)return t}return null});return(t,s)=>{let f=n(`RouterLink`);return d(),a(`div`,h,[i(`div`,null,[s[2]||=i(`h1`,{class:`text-9xl font-light`},` 404 `,-1),i(`p`,g,[s[0]||=e(` Page `,-1),i(`code`,_,o(c(y).path),1),s[1]||=e(` not found `,-1)])]),i(`div`,v,[x.value===1?u(`v-if`,!0):(d(),l(f,{key:0,to:`/`,class:`page-link`},{default:r(()=>[...s[3]||=[e(` Go Home `,-1)]]),_:1})),x.value?(d(),l(f,{key:1,to:`/${x.value}`,class:`page-link`},{default:r(()=>[e(` Go to Slide `+o(x.value),1)]),_:1},8,[`to`])):u(`v-if`,!0)])])}}}),[[`__scopeId`,`data-v-014f0510`]]);export{y as default}; \ No newline at end of file diff --git a/2026/aidevcon-london/assets/slidev/DrawingControls-DwNaXGu8.js b/2026/aidevcon-london/assets/slidev/DrawingControls-DwNaXGu8.js new file mode 100644 index 0000000000000000000000000000000000000000..87b78a3c076b37baef7f6861f0eff29ffd12254f --- /dev/null +++ b/2026/aidevcon-london/assets/slidev/DrawingControls-DwNaXGu8.js @@ -0,0 +1 @@ +import{n as e}from"../rolldown-runtime-QTnfLwEv.js";import{C as t,H as n,Q as r,T as i,V as a,Z as o,_ as s,_t as c,b as l,bt as u,ct as d,gt as f,l as p,p as m,r as h,u as g,v as _,y as v,yt as y,z as b}from"../modules/shiki-BMQKBaOU.js";import{h as x,u as S}from"../modules/vue-DcLb0Un4.js";import{t as C}from"../useDrawings-BkOkFJPM.js";import{t as w}from"./IconButton-Cs_ae-Io.js";import{p as T}from"./shortcuts-C6gnGEp7.js";var E=i({__name:`Draggable`,props:{storageKey:{},initial:{}},setup(e){let t=e,r=d(null),i=t.initial??{x:0,y:0},{style:a}=S(r,{initialValue:t.storageKey?x(t.storageKey,i):d(i)});return(e,t)=>(b(),l(`div`,{ref_key:`el`,ref:r,class:`fixed`,style:y(f(a))},[n(e.$slots,`default`)],4))}}),D={class:`flex bg-main p-2`},O={class:`inline-block w-7 text-center`},k={class:`pt-.5`},A={class:`i-carbon:pin-filled transform -rotate-45`},j={class:`i-carbon:pin`},M={class:`i-carbon:error`},N={class:`i-carbon:close-outline`},P=i({__name:`DrawingControls`,setup(e){let{brush:n,canClear:i,canRedo:x,canUndo:S,clear:P,drauu:F,drawingEnabled:I,drawingMode:L,drawingPinned:R,brushColors:z}=C(),B=d(!1);function V(e){e.preventDefault(),e.stopPropagation(),requestAnimationFrame(()=>{requestAnimationFrame(()=>{B.value=!0})})}function H(e){e.pointerType!==`mouse`&&V(e)}function U(){F.undo()}function W(){F.redo()}let G=`stylus`;function K(e){L.value=e,I.value=!0,e!==`eraseLine`&&(G=e)}function q(e){n.value.color=e,I.value=!0,L.value=G}return(e,d)=>f(I)||f(R)?(b(),_(E,{key:0,class:c([`flex flex-wrap text-xl p-2 gap-1 rounded-md bg-main shadow transition-opacity duration-200 z-nav border border-main`,!f(I)&&f(R)?`opacity-40 hover:opacity-90`:``]),"storage-key":`slidev-drawing-pos`,"initial-x":10,"initial-y":10},{default:o(()=>[t(w,{title:`Draw with stylus`,class:c({shallow:f(L)!==`stylus`}),onClick:d[0]||=e=>K(`stylus`)},{default:o(()=>[...d[14]||=[s(`div`,{class:`i-carbon:pen`},null,-1)]]),_:1},8,[`class`]),t(w,{title:`Draw a line`,class:c({shallow:f(L)!==`line`}),onClick:d[1]||=e=>K(`line`)},{default:o(()=>[...d[15]||=[s(`svg`,{width:`1em`,height:`1em`,class:`-mt-0.5`,preserveAspectRatio:`xMidYMid meet`,viewBox:`0 0 24 24`},[s(`path`,{d:`M21.71 3.29a1 1 0 0 0-1.42 0l-18 18a1 1 0 0 0 0 1.42a1 1 0 0 0 1.42 0l18-18a1 1 0 0 0 0-1.42z`,fill:`currentColor`})],-1)]]),_:1},8,[`class`]),t(w,{title:`Draw an arrow`,class:c({shallow:f(L)!==`arrow`}),onClick:d[2]||=e=>K(`arrow`)},{default:o(()=>[...d[16]||=[s(`div`,{class:`i-carbon:arrow-up-right`},null,-1)]]),_:1},8,[`class`]),t(w,{title:`Draw an ellipse`,class:c({shallow:f(L)!==`ellipse`}),onClick:d[3]||=e=>K(`ellipse`)},{default:o(()=>[...d[17]||=[s(`div`,{class:`i-carbon:radio-button`},null,-1)]]),_:1},8,[`class`]),t(w,{title:`Draw a rectangle`,class:c({shallow:f(L)!==`rectangle`}),onClick:d[4]||=e=>K(`rectangle`)},{default:o(()=>[...d[18]||=[s(`div`,{class:`i-carbon:checkbox`},null,-1)]]),_:1},8,[`class`]),t(w,{title:`Erase`,class:c({shallow:f(L)!==`eraseLine`}),onClick:d[5]||=e=>K(`eraseLine`)},{default:o(()=>[...d[19]||=[s(`div`,{class:`i-carbon:erase`},null,-1)]]),_:1},8,[`class`]),t(T),t(f(h),{shown:B.value,"onUpdate:shown":d[8]||=e=>B.value=e,triggers:[]},{popper:o(()=>[s(`div`,D,[s(`div`,O,u(f(n).size),1),s(`div`,k,[r(s(`input`,{"onUpdate:modelValue":d[6]||=e=>f(n).size=e,type:`range`,min:`1`,max:`15`,onChange:d[7]||=e=>L.value=f(G)},null,544),[[p,f(n).size]])])])]),default:o(()=>[t(w,{title:`Adjust stroke width`,class:c({shallow:f(L)===`eraseLine`}),onClick:V,onPointerdown:H,onPointerup:H,onTouchend:V},{default:o(()=>[...d[20]||=[s(`svg`,{viewBox:`0 0 32 32`,width:`1.2em`,height:`1.2em`},[s(`line`,{x1:`2`,y1:`15`,x2:`22`,y2:`4`,stroke:`currentColor`,"stroke-width":`1`,"stroke-linecap":`round`}),s(`line`,{x1:`2`,y1:`24`,x2:`28`,y2:`10`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`}),s(`line`,{x1:`7`,y1:`31`,x2:`29`,y2:`19`,stroke:`currentColor`,"stroke-width":`3`,"stroke-linecap":`round`})],-1)]]),_:1},8,[`class`])]),_:1},8,[`shown`]),(b(!0),l(m,null,a(f(z),e=>(b(),_(w,{key:e,title:`Set brush color`,class:c(f(n).color===e&&f(L)!==`eraseLine`?`active`:`shallow`),onClick:t=>q(e)},{default:o(()=>[s(`div`,{class:c([`w-6 h-6 transition-all transform border`,f(n).color===e?`rounded-md border-gray-300/50`:`rounded-1/2 scale-85 border-white`]),style:y(f(I)?{background:e}:{borderColor:e})},null,6)]),_:2},1032,[`class`,`onClick`]))),128)),t(T),t(w,{title:`Undo`,class:c({disabled:!f(S)}),onClick:d[9]||=e=>U()},{default:o(()=>[...d[21]||=[s(`div`,{class:`i-carbon:undo`},null,-1)]]),_:1},8,[`class`]),t(w,{title:`Redo`,class:c({disabled:!f(x)}),onClick:d[10]||=e=>W()},{default:o(()=>[...d[22]||=[s(`div`,{class:`i-carbon:redo`},null,-1)]]),_:1},8,[`class`]),t(w,{title:`Delete`,class:c({disabled:!f(i)}),onClick:d[11]||=e=>f(P)()},{default:o(()=>[...d[23]||=[s(`div`,{class:`i-carbon:trash-can`},null,-1)]]),_:1},8,[`class`]),t(T),t(w,{title:f(R)?`Unpin drawing`:`Pin drawing`,class:c({shallow:!f(R)}),onClick:d[12]||=e=>R.value=!f(R)},{default:o(()=>[r(s(`div`,A,null,512),[[g,f(R)]]),r(s(`div`,j,null,512),[[g,!f(R)]])]),_:1},8,[`title`,`class`]),f(I)?(b(),_(w,{key:0,title:f(R)?`Drawing pinned`:`Drawing unpinned`,class:c({shallow:!f(I)}),onClick:d[13]||=e=>I.value=!f(I)},{default:o(()=>[r(s(`div`,M,null,512),[[g,f(R)]]),r(s(`div`,N,null,512),[[g,!f(R)]])]),_:1},8,[`title`,`class`])):v(`v-if`,!0)]),_:1},8,[`class`])):v(`v-if`,!0)}}),F=e({default:()=>I}),I=P;export{F as n,I as t}; \ No newline at end of file diff --git a/2026/aidevcon-london/assets/slidev/DrawingLayer-CB2vihED.js b/2026/aidevcon-london/assets/slidev/DrawingLayer-CB2vihED.js new file mode 100644 index 0000000000000000000000000000000000000000..6be471235de2148ad220d2380995f6002726b7ce --- /dev/null +++ b/2026/aidevcon-london/assets/slidev/DrawingLayer-CB2vihED.js @@ -0,0 +1 @@ +import{F as e,J as t,L as n,T as r,_t as i,b as a,ct as o,gt as s,z as c}from"../modules/shiki-BMQKBaOU.js";import{it as l}from"../index-cw2gNXXR.js";import{t as u}from"../useDrawings-BkOkFJPM.js";var d=r({__name:`DrawingLayer`,setup(r){let{drauu:d,drawingEnabled:f,loadCanvas:p}=u(),m=l().$scale,h=o();return n(()=>{d.mount(h.value,h.value.parentElement),t(m,e=>d.options.coordinateScale=1/e,{immediate:!0}),p()}),e(()=>{d.unmount()}),(e,t)=>(c(),a(`svg`,{ref_key:`svg`,ref:h,class:i([`w-full h-full absolute top-0`,{"pointer-events-none":!s(f),"touch-none":s(f)}])},null,2))}});export{d as default}; \ No newline at end of file diff --git a/2026/aidevcon-london/assets/slidev/DrawingPreview-CvsGsDPT.js b/2026/aidevcon-london/assets/slidev/DrawingPreview-CvsGsDPT.js new file mode 100644 index 0000000000000000000000000000000000000000..a8eb2aee38f34e4059942c09f236ba15c7fbeab5 --- /dev/null +++ b/2026/aidevcon-london/assets/slidev/DrawingPreview-CvsGsDPT.js @@ -0,0 +1 @@ +import{n as e}from"../rolldown-runtime-QTnfLwEv.js";import{T as t,b as n,gt as r,y as i,z as a}from"../modules/shiki-BMQKBaOU.js";import{t as o}from"../useDrawings-BkOkFJPM.js";var s=[`innerHTML`],c=t({__name:`DrawingPreview`,props:{page:{}},setup(e){let{drawingState:t}=o();return(o,c)=>r(t)[e.page]?(a(),n(`svg`,{key:0,class:`w-full h-full absolute top-0 pointer-events-none`,innerHTML:r(t)[e.page]},null,8,s)):i(`v-if`,!0)}}),l=e({default:()=>u}),u=c;export{l as n,u as t}; \ No newline at end of file diff --git a/2026/aidevcon-london/assets/slidev/NoteDisplay-DQz322Ni.js b/2026/aidevcon-london/assets/slidev/NoteDisplay-DQz322Ni.js new file mode 100644 index 0000000000000000000000000000000000000000..fa9114ad51e0ee13660feba5ef8c7a455b3b9f57 --- /dev/null +++ b/2026/aidevcon-london/assets/slidev/NoteDisplay-DQz322Ni.js @@ -0,0 +1 @@ +import{J as e,L as t,N as n,Q as r,T as i,V as a,Y as o,_ as s,_t as c,b as l,bt as u,ct as d,g as f,gt as p,l as m,p as h,yt as g,z as _}from"../modules/shiki-BMQKBaOU.js";import{Ot as v,kt as y,vt as b}from"../index-cw2gNXXR.js";var x=[`title`],S={class:`flex gap-0.2 items-center min-w-16 font-mono mr1`},C={"text-primary":``},w={op50:``,"text-sm":``},T={key:1,op50:``,"flex-auto":``,pl1:``},E={relative:``,"flex-auto":``,h5:``,"font-mono":``,flex:`~`},D=[`min`,`max`],O=b(i({__name:`ClicksSlider`,props:{clicksContext:{},readonly:{type:Boolean},active:{type:Boolean,default:!0}},setup(e){let t=e,n=f(()=>t.clicksContext.total),i=f(()=>v(0,t.clicksContext.clicksStart,n.value)),o=f(()=>n.value-i.value+1),d=f({get(){return t.clicksContext.current>n.value?-1:t.clicksContext.current},set(e){t.clicksContext.current=e}}),b=f(()=>y(i.value,n.value+1));function O(){t.readonly||(d.value<0||d.value>n.value)&&(d.value=0)}return(f,v)=>(_(),l(`div`,{class:c([`flex gap-1 items-center select-none`,o.value&&t.clicksContext.isMounted?``:`op50`]),title:`Clicks in this slide: ${o.value}`},[s(`div`,S,[v[4]||=s(`div`,{class:`i-carbon:cursor-1 text-sm op50`},null,-1),d.value>=0&&d.value!==p(999999)&&e.active?(_(),l(h,{key:0},[v[2]||=s(`div`,{"flex-auto":``},null,-1),s(`span`,C,u(d.value),1),v[3]||=s(`span`,{op25:``,"text-sm":``},`/`,-1),s(`span`,w,u(n.value),1)],64)):(_(),l(`div`,T,u(n.value),1))]),s(`div`,E,[(_(!0),l(h,null,a(b.value,t=>(_(),l(`div`,{key:t,border:`y main`,"of-hidden":``,relative:``,class:c([t===0?`rounded-l border-l`:``,t===n.value?`rounded-r border-r`:``]),style:g({width:o.value>0?`${1/o.value*100}%`:`100%`})},[s(`div`,{absolute:``,"inset-0":``,class:c(t<=d.value&&e.active?`bg-primary op15`:``)},null,2),s(`div`,{class:c([+t==+d.value&&e.active?`text-primary font-bold op100 border-primary`:`op30 border-main`,t===0?`rounded-l`:``,t===n.value?`rounded-r`:`border-r-2`]),"w-full":``,"h-full":``,"text-xs":``,flex:``,"items-center":``,"justify-center":``,"z-1":``},u(t),3)],6))),128)),r(s(`input`,{"onUpdate:modelValue":v[0]||=e=>d.value=e,class:c([`range`,e.readonly?`pointer-events-none`:``]),type:`range`,min:i.value,max:n.value,step:1,absolute:``,"inset-0":``,"z-label":``,op0:``,style:g({"--thumb-width":`${1/(o.value+1)*100}%`}),onMousedown:O,onFocus:v[1]||=e=>e.currentTarget?.blur()},null,46,D),[[m,d.value]])])],10,x))}}),[[`__scopeId`,`data-v-b214048c`]]),k=[`innerHTML`],A=[`textContent`],j=[`textContent`],M=`slidev-note-fade`,N=`slidev-note-click-mark`,P=i({__name:`NoteDisplay`,props:{class:{},noteHtml:{},note:{},highlight:{type:Boolean,default:!0},placeholder:{},clicksContext:{},autoScroll:{type:Boolean}},emits:[`markerDblclick`,`markerClick`],setup(r,{emit:i}){let a=r,p=i,m=f(()=>a.clicksContext!=null&&a.noteHtml?.includes(N)),h=d(null);function g(){if(!h.value||!m.value)return;let e=Array.from(h.value.querySelectorAll(`.${N}`)),t=new Map,n=new Map,r=0;for(let i of e){let e=Number(i.dataset.clicks);t.set(i,e);let a=i,o=i.parentElement;for(;o&&a!==h.value;)n.has(o)||n.set(o,[[null,r]]),n.get(o).push([a,e]),a=o,o=o.parentElement;r=e}let i=new Map;for(let[e,t]of n){let n=!1,r=0;for(let a of Array.from(e.childNodes)){let o=!1;for(;a===t[r+1]?.[0];)o=!0,r++;if(o)continue;let s=a;if(a.nodeType===3){if(!a.textContent?.trim())continue;s=document.createElement(`span`),s.textContent=a.textContent,e.insertBefore(s,a),a.remove()}n||=r===0,i.set(s,t[r][1])}n||(t[0][1]=-1)}return e=>{let r=a.highlight;for(let[t,i]of n)t.classList.toggle(M,r&&!i.some(([t,n])=>n===e));for(let[t,n]of i)t.classList.toggle(M,r&&n!==e);for(let[n,i]of t)n.classList.remove(M),n.classList.toggle(`${N}-past`,r&&ie+1),n.ondblclick=e=>{r&&(p(`markerDblclick`,e,i),!e.defaultPrevented&&(a.clicksContext.current=i,e.stopPropagation(),e.stopImmediatePropagation()))},n.onclick=e=>{r&&p(`markerClick`,e,i)},r&&a.autoScroll&&i===e&&n.scrollIntoView({block:`center`,behavior:`smooth`})}}let v=d();return e(()=>[a.noteHtml,a.highlight],()=>{n(()=>{v.value=g()})},{immediate:!0}),t(()=>{g()}),o(()=>{let e=a.clicksContext?.current??999999;v.value?.(e)}),(e,t)=>r.noteHtml?(_(),l(`div`,{key:0,ref_key:`noteDisplay`,ref:h,class:c([`prose dark:prose-invert overflow-auto outline-none slidev-note`,[a.class,m.value?`slidev-note-with-clicks`:``]]),innerHTML:r.noteHtml},null,10,k)):r.note?(_(),l(`div`,{key:1,class:c([`prose dark:prose-invert overflow-auto outline-none slidev-note`,a.class])},[s(`p`,{textContent:u(r.note)},null,8,A)],2)):(_(),l(`div`,{key:2,class:c([`prose dark:prose-invert overflow-auto outline-none opacity-50 italic select-none slidev-note`,a.class])},[s(`p`,{textContent:u(a.placeholder||`No notes.`)},null,8,j)],2))}});export{O as n,P as t}; \ No newline at end of file diff --git a/2026/aidevcon-london/assets/slidev/NoteEditable-DaV32WGZ.js b/2026/aidevcon-london/assets/slidev/NoteEditable-DaV32WGZ.js new file mode 100644 index 0000000000000000000000000000000000000000..faa4b3e5f5e22456b86ef3210bab46a6978188f6 --- /dev/null +++ b/2026/aidevcon-london/assets/slidev/NoteEditable-DaV32WGZ.js @@ -0,0 +1 @@ +import{J as e,N as t,Q as n,T as r,Y as i,_t as a,b as o,ct as s,d as c,gt as l,l as u,pt as d,v as f,yt as p,z as m}from"../modules/shiki-BMQKBaOU.js";import{O as h,S as g,o as _}from"../modules/vue-DcLb0Un4.js";import{t as v}from"../index-cw2gNXXR.js";import{t as y}from"./NoteDisplay-DQz322Ni.js";var b=[`placeholder`],x=r({__name:`NoteEditable`,props:{no:{type:Number,required:!0},class:{default:``},editing:{default:!1},style:{default:()=>({})},placeholder:{default:`No notes for this slide`},clicksContext:{type:Object},highlight:{default:!0},autoHeight:{default:!1}},emits:[`update:editing`,`markerDblclick`,`markerClick`],setup(r,{emit:x}){let S=r,C=x,w=g(S,`editing`,C,{passive:!0}),{info:T,update:E}=v(d(S,`no`)),D=s(``),O,{ignoreUpdates:k}=h(D,e=>{if(!w.value)return;let t=S.no;clearTimeout(O),O=setTimeout(()=>{E({note:e},t)},500)});e(()=>T.value?.note,(e=``)=>{w.value||(clearTimeout(O),k(()=>{D.value=e}))},{immediate:!0,flush:`sync`});let A=s(),j=s();i(()=>{w.value&&A.value?.focus()}),_(A,()=>{w.value=!1});function M(){!S.autoHeight||!A.value||!w.value||A.value.scrollHeight>A.value.clientHeight&&(A.value.style.height=`${A.value.scrollHeight}px`)}function N(e){w.value&&e.metaKey&&e.key===`s`&&(e.preventDefault(),E({note:D.value},S.no))}return e([D,w],()=>{t(()=>{M()})},{flush:`post`,immediate:!0}),(e,t)=>l(w)?n((m(),o(`textarea`,{key:1,ref_key:`inputEl`,ref:A,"onUpdate:modelValue":t[2]||=e=>D.value=e,class:a([`prose dark:prose-invert resize-none overflow-auto outline-none bg-transparent block border-primary border-2`,S.class]),style:p([{"line-height":`1.75`},[S.style,j.value==null?{}:{height:`${j.value}px`}]]),placeholder:r.placeholder,onKeydown:[t[3]||=c(e=>w.value=!1,[`esc`]),N]},null,46,b)),[[u,D.value]]):(m(),f(y,{key:0,class:a([`border-transparent border-2`,[S.class,D.value?``:`opacity-25 italic select-none`]]),style:p(S.style),note:D.value||r.placeholder,"note-html":l(T)?.noteHTML,"clicks-context":r.clicksContext,"auto-scroll":!r.autoHeight,highlight:S.highlight,onMarkerClick:t[0]||=(e,t)=>C(`markerClick`,e,t),onMarkerDblclick:t[1]||=(e,t)=>C(`markerDblclick`,e,t)},null,8,[`class`,`style`,`note`,`note-html`,`clicks-context`,`auto-scroll`,`highlight`]))}});export{x as t}; \ No newline at end of file diff --git a/2026/aidevcon-london/assets/slidev/SlideContainer-DJlIQWjd.js b/2026/aidevcon-london/assets/slidev/SlideContainer-DJlIQWjd.js new file mode 100644 index 0000000000000000000000000000000000000000..7ab24f56f915dade3cddd27dcf0edbc164e41f82 --- /dev/null +++ b/2026/aidevcon-london/assets/slidev/SlideContainer-DJlIQWjd.js @@ -0,0 +1 @@ +import{H as e,J as t,L as n,R as r,T as i,X as a,Y as o,_ as s,b as c,ct as l,g as u,i as d,ot as f,p,y as m,yt as h,z as g}from"../modules/shiki-BMQKBaOU.js";import{M as _,f as v}from"../modules/vue-DcLb0Un4.js";import{$ as y,Et as b,Tt as x,W as S,_ as C,d as w,dt as T,f as E,ft as D,m as O,u as k,vt as A,wt as j}from"../index-cw2gNXXR.js";var M=f({}),N=[],P=[];w(M,`$syncUp`,!0),w(M,`$syncDown`,!0),w(M,`$paused`,!1),w(M,`$onSet`,e=>N.push(e)),w(M,`$onPatch`,e=>P.push(e)),E(),w(M,`$patch`,async()=>!1);var F=k(M,M,!0),I=window.navigator.userAgent.match(/Chrome\/(\d+)/)?.[1];I&&Number(I);var L=window.navigator.userAgent.match(/Chrome\/(\d+)/)?.[1];L&&Number(L);var R=new class{_screenshotSession=null;getSnapshot(e,t){let n=e+(t?`-dark`:`-light`),r=F.state[n];if(!r)return;let i=y(e);if(i&&r?.revision===i?.meta.slide.revision)return r.image}async saveSnapshot(e,t,n){return!1}async startCapturing(e){return!1}},z=[`id`],B=[`id`],V={class:`slidev-slide-container w-full h-full relative`},H=[`src`],U=l(null),W=A(i({__name:`SlideContainer`,props:{width:{type:Number},meta:{default:()=>({})},isMain:{type:Boolean,default:!1},no:{type:Number,required:!1},useSnapshot:{type:Boolean,default:!1},contentStyle:{type:Object,default:()=>({})}},setup(i){let f=i,{isPrintMode:y}=C(),w=l(null),E=v(w),k=l(null),A=u(()=>f.width??E.width.value),M=u(()=>f.width?f.width/j.value:E.height.value),N=u(()=>S.value&&!y.value?+S.value:Math.min(A.value/b.value,M.value/x.value)),P=u(()=>({...f.contentStyle,height:`${x.value}px`,width:`${b.value}px`,"--slidev-slide-scale":N.value})),F=u(()=>f.width?{width:`${f.width}px`,height:`${f.width/j.value}px`}:{});if(f.isMain){let e=document.documentElement.style;o(()=>e.setProperty(`--slidev-slide-scale`,N.value.toString())),r(()=>e.removeProperty(`--slidev-slide-scale`))}_(D,N),_(T,k),a(()=>{f.isMain&&(U.value=k.value)}),n(()=>{t(()=>f.isMain&&N.value,()=>{d()})});let I=u(()=>{if(!(f.no==null||!f.useSnapshot))return R.getSnapshot(f.no,O.value)});return(t,n)=>I.value?(g(),c(p,{key:1},[m(` Image Snapshot `),s(`div`,V,[s(`img`,{src:I.value,class:`w-full h-full object-cover`,style:h(F.value)},null,12,H),n[0]||=s(`div`,{absolute:``,"bottom-1":``,"right-1":``,"p0.5":``,"text-cyan:75":``,"bg-cyan:10":``,rounded:``,title:`Snapshot`},[s(`div`,{class:`i-carbon-camera`})],-1)])],2112)):(g(),c(`div`,{key:0,id:i.isMain?`slide-container`:void 0,ref_key:`container`,ref:w,class:`slidev-slide-container`,style:h(F.value)},[s(`div`,{id:i.isMain?`slide-content`:void 0,ref_key:`slideElement`,ref:k,class:`slidev-slide-content`,style:h(P.value)},[e(t.$slots,`default`,{},void 0,!0)],12,B),e(t.$slots,`controls`,{},void 0,!0)],12,z))}}),[[`__scopeId`,`data-v-20e025db`]]);export{U as n,W as t}; \ No newline at end of file diff --git a/2026/aidevcon-london/assets/slidev/SlideWrapper-Bygmag9f.js b/2026/aidevcon-london/assets/slidev/SlideWrapper-Bygmag9f.js new file mode 100644 index 0000000000000000000000000000000000000000..c0d294cf57c8c540b7c7b2ff5b319cd62e364c0d --- /dev/null +++ b/2026/aidevcon-london/assets/slidev/SlideWrapper-Bygmag9f.js @@ -0,0 +1 @@ +import{C as e,O as t,T as n,W as r,_t as i,b as a,ct as o,g as s,gt as c,pt as l,v as u,yt as d,z as f}from"../modules/shiki-BMQKBaOU.js";import{M as p}from"../modules/vue-DcLb0Un4.js";import{At as m,a as h,ct as g,lt as _,ot as v,pt as y,st as b,ut as x,vt as S}from"../index-cw2gNXXR.js";var C=[Object.values([])[0],Object.values([])[0]].filter(Boolean),w={render:()=>C.map(e=>t(e))},T=[Object.values([])[0],Object.values([])[0]].filter(Boolean),E={render:()=>T.map(e=>t(e))},D=[Object.values([])[0],Object.values([])[0]].filter(Boolean),O={render:()=>D.map(e=>t(e))},k=[Object.values([])[0],Object.values([])[0]].filter(Boolean),A={render:()=>k.map(e=>t(e))},j=[`data-slidev-no`,`lang`],M=S(n({__name:`SlideWrapper`,props:{clicksContext:{type:Object,required:!0},renderContext:{type:String,default:`slide`},route:{type:Object,required:!0}},setup(t){let n=t,S=s(()=>n.route.meta?.slide?.frontmatter.zoom??1);p(x,n.route),p(g,n.route.meta.slide.frontmatter),p(b,o(n.route.no)),p(_,o(n.renderContext)),p(v,l(n,`clicksContext`)),p(y,S);let C=s(()=>({"user-select":m.selectable?void 0:`none`,"--slidev-slide-zoom-scale":S.value===1?void 0:S.value}));return(o,s)=>(f(),a(`div`,{"data-slidev-no":n.route.no,class:i(c(h)(t.route,[`slide`,`presenter`].includes(n.renderContext)?``:`disable-view-transition`)),style:d(C.value),lang:n.route.meta.slide.frontmatter.lang},[e(c(A)),(f(),u(r(n.route.component))),e(c(O))],14,j))}}),[[`__scopeId`,`data-v-136ada8e`]]);export{E as n,w as r,M as t}; \ No newline at end of file diff --git a/2026/aidevcon-london/assets/slidev/TimerBar-kR_GcbMH.js b/2026/aidevcon-london/assets/slidev/TimerBar-kR_GcbMH.js new file mode 100644 index 0000000000000000000000000000000000000000..ad7b6c3c66c19159c72bf4d1ca354a79d5ca567e --- /dev/null +++ b/2026/aidevcon-london/assets/slidev/TimerBar-kR_GcbMH.js @@ -0,0 +1 @@ +import{C as e,T as t,V as n,Z as r,_t as i,a,b as o,g as s,gt as c,ot as l,p as u,pt as d,y as f,yt as p,z as m}from"../modules/shiki-BMQKBaOU.js";import{F as h}from"../modules/vue-DcLb0Un4.js";import{At as g,_,ht as v,o as y}from"../index-cw2gNXXR.js";var b={class:`relative flex gap-px`},x=t({__name:`CurrentProgressBar`,props:{clicksContext:{},current:{}},setup(t){let l=t,d=_(),h=s(()=>l.clicksContext??d.clicksContext.value),g=s(()=>l.current??d.currentSlideNo.value),{total:v}=d;return(t,s)=>(m(),o(`div`,b,[(m(!0),o(u,null,n(c(v)-1,t=>(m(),o(`div`,{key:t,class:i([`border-x border-b border-main h-4px transition-all`,t[t===g.value?(m(),o(`div`,{key:0,class:`h-full bg-primary op75 transition-all`,style:p({width:`${h.value.total===0?0:h.value.current/(h.value.total+1)*100}%`})},null,4)):f(`v-if`,!0)]),_:2},1024)],6))),128))]))}});function S(){let e=s(()=>g.timer||`stopwatch`),t=s(()=>v(g.duration).seconds),n=h(100,{controls:!0}),r=d(y,`timer`),i=s(()=>r.value?.status),a=s(()=>(n.counter.value,r.value.status===`stopped`||!r.value.startedAt?0:r.value.status===`paused`?r.value.pausedAt-r.value.startedAt:Date.now()-r.value.startedAt)),o=s(()=>a.value/1e3),c=s(()=>o.value/t.value*100),l=s(()=>{if(e.value===`stopwatch`&&(r.value.status===`stopped`||!r.value.startedAt))return{h:``,m:`-`,s:`--`,ms:`-`};let n=e.value===`countdown`?t.value*1e3-a.value:a.value,i=Math.floor(n/1e3/60/60).toString();i===`0`&&(i=``);let o=Math.floor(n/1e3/60%60).toString();i&&(o=o.padStart(2,`0`));let s=Math.floor(n/1e3%60).toString().padStart(2,`0`),c=Math.floor(n%1e3/100).toString();return{h:i,m:o,s,ms:c}});function u(){n.pause(),r.value={status:`stopped`,slides:{},startedAt:0,pausedAt:0}}function f(){r.value&&(r.value?.status===`stopped`?(r.value.status=`running`,r.value.startedAt=Date.now()):r.value.status===`paused`&&(r.value.status=`running`,r.value.startedAt=Date.now()-(r.value.pausedAt-r.value.startedAt)),n.resume())}function p(){r.value.status=`paused`,r.value.pausedAt=Date.now(),n.pause()}function m(){r.value.status===`running`?p():f()}return{state:r,status:i,timer:l,reset:u,toggle:m,resume:f,pause:p,passed:o,percentage:c,duration:t,mode:e}}var C={class:`border-b mt-px border-main relative flex h-4px`},w=t({__name:`TimerBar`,setup(e){let t=l(S()),n=s(()=>t.status===`stopped`?`op50`:t.status===`paused`?`bg-blue`:t.percentage>100?`bg-red`:t.percentage>80?`bg-yellow`:`bg-green`);return(e,r)=>(m(),o(`div`,C,[t.status===`stopped`?f(`v-if`,!0):(m(),o(`div`,{key:0,class:i([`h-4px`,n.value]),style:p({width:`${t.percentage}%`})},null,6)),f(` {{ timesplits }} `)]))}});export{S as n,x as r,w as t}; \ No newline at end of file diff --git a/2026/aidevcon-london/assets/slidev/entry-CH3pAsyP.js b/2026/aidevcon-london/assets/slidev/entry-CH3pAsyP.js new file mode 100644 index 0000000000000000000000000000000000000000..43ff79b79c505e8f52633eda96cc4c4837f15b92 --- /dev/null +++ b/2026/aidevcon-london/assets/slidev/entry-CH3pAsyP.js @@ -0,0 +1 @@ +import{C as e,S as t,U as n,Z as r,_ as i,b as a,z as o}from"../modules/shiki-BMQKBaOU.js";import{vt as s}from"../index-cw2gNXXR.js";var c={},l={class:`h-full w-full flex items-center justify-center gap-5 lt-md:flex-col`};function u(s,c){let u=n(`RouterLink`);return o(),a(`div`,l,[e(u,{to:`/`,class:`page-link`},{default:r(()=>[...c[0]||=[i(`div`,{class:`i-carbon:presentation-file`},null,-1),t(` Slides `,-1)]]),_:1}),e(u,{to:`/presenter`,class:`page-link`},{default:r(()=>[...c[1]||=[i(`div`,{class:`i-carbon:user-speaker`},null,-1),t(` Presenter `,-1)]]),_:1}),e(u,{to:`/notes`,class:`page-link`},{default:r(()=>[...c[2]||=[i(`div`,{class:`i-carbon:catalog`},null,-1),t(` Notes `,-1)]]),_:1}),e(u,{to:`/overview`,class:`page-link`},{default:r(()=>[...c[3]||=[i(`div`,{class:`i-carbon:list-boxes`},null,-1),t(` Overview `,-1)]]),_:1})])}var d=s(c,[[`render`,u],[`__scopeId`,`data-v-d5062f01`]]);export{d as default}; \ No newline at end of file diff --git a/2026/aidevcon-london/assets/slidev/md-BIPMeRIP.js b/2026/aidevcon-london/assets/slidev/md-BIPMeRIP.js new file mode 100644 index 0000000000000000000000000000000000000000..2945db7a1ded4d0c3ab89fec9af47588e17be6e4 --- /dev/null +++ b/2026/aidevcon-london/assets/slidev/md-BIPMeRIP.js @@ -0,0 +1 @@ +import{D as e,H as t,S as n,T as r,Z as i,_ as a,b as o,g as s,gt as c,v as l,vt as u,yt as d,z as f}from"../modules/shiki-BMQKBaOU.js";import{it as p,rt as m}from"../index-cw2gNXXR.js";function h(e){return e.startsWith(`/`)?`./`+e.slice(1):e}function g(e,t=!1){let n=e&&[`#`,`rgb`,`hsl`].some(t=>e.indexOf(t)===0),r={background:n?e:void 0,color:e&&!n?`white`:void 0,backgroundImage:n?void 0:e?t?`linear-gradient(#0005, #0008), url(${h(e)})`:`url("${h(e)}")`:void 0,backgroundRepeat:`no-repeat`,backgroundPosition:`center`,backgroundSize:`cover`};return r.background||delete r.background,r}var _={class:`my-auto w-full`},v=r({__name:`cover`,props:{background:{default:``}},setup(e){let{$slidev:n,$nav:r,$clicksContext:i,$clicks:c,$page:l,$renderContext:u,$frontmatter:m}=p(),h=e,v=s(()=>g(h.background,!0));return(e,n)=>(f(),o(`div`,{class:`slidev-layout cover`,style:d(v.value)},[a(`div`,_,[t(e.$slots,`default`)])],4))}}),y={__name:`slides.md__slidev_1`,setup(t){let{$slidev:r,$nav:o,$clicksContext:s,$clicks:d,$page:h,$renderContext:g,$frontmatter:_}=p();return s.setup(),(t,r)=>(f(),l(v,u(e(c(m)(c(_),0))),{default:i(()=>[...r[0]||=[a(`div`,{class:`title-intro`},[a(`div`,{class:`title-intro-mark`},`MCP`),a(`main`,null,[a(`h1`,null,[n(`Connecting`),a(`br`),n(`Context`)]),a(`h2`,null,`The Future of MCP Transports`),a(`p`,null,`Shaun Smith · Hugging Face · 2026`)])],-1)]]),_:1},16))}};export{y as default}; \ No newline at end of file diff --git a/2026/aidevcon-london/assets/slidev/md-CiAN5L_K.js b/2026/aidevcon-london/assets/slidev/md-CiAN5L_K.js new file mode 100644 index 0000000000000000000000000000000000000000..0652523f193ac470934b65235b50b96c88b3ac7b --- /dev/null +++ b/2026/aidevcon-london/assets/slidev/md-CiAN5L_K.js @@ -0,0 +1 @@ +import{D as e,H as t,S as n,Z as r,_ as i,b as a,gt as o,v as s,vt as c,z as l}from"../modules/shiki-BMQKBaOU.js";import{it as u,rt as d}from"../index-cw2gNXXR.js";var f={class:`slidev-layout section w-full h-full grid`},p={class:`my-auto text-center`},m={__name:`section`,setup(e){let{$slidev:n,$nav:r,$clicksContext:o,$clicks:s,$page:c,$renderContext:d,$frontmatter:m}=u();return(e,n)=>(l(),a(`div`,f,[i(`div`,p,[t(e.$slots,`default`)])]))}},h={__name:`slides.md__slidev_17`,setup(t){let{$slidev:a,$nav:f,$clicksContext:p,$clicks:h,$page:g,$renderContext:_,$frontmatter:v}=u();return p.setup(),(t,a)=>(l(),s(m,c(e(o(d)(o(v),16))),{default:r(()=>[...a[0]||=[i(`h1`,null,[n(`2026-07-28 Specification: `),i(`code`,null,`The Stateless Core`)],-1)]]),_:1},16))}};export{h as default}; \ No newline at end of file diff --git a/2026/aidevcon-london/assets/slidev/notes-B1zxkKYD.js b/2026/aidevcon-london/assets/slidev/notes-B1zxkKYD.js new file mode 100644 index 0000000000000000000000000000000000000000..48b6718ed91b2d057abeae4b870c91ff0b79d9a5 --- /dev/null +++ b/2026/aidevcon-london/assets/slidev/notes-B1zxkKYD.js @@ -0,0 +1 @@ +import{C as e,J as t,S as n,T as r,Z as i,_ as a,b as o,bt as s,ct as c,g as l,gt as u,p as d,yt as f,z as p}from"../modules/shiki-BMQKBaOU.js";import{h as m}from"../modules/vue-DcLb0Un4.js";import{Dt as h,_ as g,o as _,w as v,xt as y,yt as b}from"../index-cw2gNXXR.js";import{t as x}from"./IconButton-Cs_ae-Io.js";import{t as S}from"./Modal-D7y0dmeV.js";import{n as C,t as w}from"./NoteDisplay-DQz322Ni.js";import{r as T,t as E}from"./TimerBar-kR_GcbMH.js";var D={class:`flex my-1`},O={class:`h-full flex flex-col`},k={class:`flex-none border-t border-main`,px3:``,py2:``},A={class:`flex-none border-t border-main`},j={class:`flex gap-1 items-center px-6 py-3`},M={key:0,class:`i-carbon:minimize`},N={key:1,class:`i-carbon:maximize`},P={class:`px2 my-auto`},F={class:`text-lg`},I={class:`opacity-50 text-sm`},L=r({__name:`notes`,setup(r){y({title:`Notes - ${h}`});let{slides:L,total:R}=g(),{isFullscreen:z,toggle:B}=v,V=c(),H=m(`slidev-notes-font-size`,18),U=l(()=>_.page),W=c(!1),G=l(()=>L.value.find(e=>e.no===U.value));t(U,()=>{V.value?.scrollTo({left:0,top:0,behavior:`smooth`}),window.scrollTo({left:0,top:0,behavior:`smooth`})});function K(){H.value+=1}function q(){--H.value}let J=l(()=>{let e=_.clicks,t=_.clicksTotal;return b(c(e),void 0,t)});return(t,r)=>(p(),o(d,null,[e(S,{modelValue:W.value,"onUpdate:modelValue":r[1]||=e=>W.value=e,class:`px-6 py-4 flex flex-col gap-2`},{default:i(()=>[r[3]||=a(`div`,{class:`flex gap-2 text-xl`},[a(`div`,{class:`i-carbon:information my-auto`}),n(` Help `)],-1),r[4]||=a(`div`,{class:`prose dark:prose-invert`},[a(`p`,null,`This is the hands-free live notes viewer.`),a(`p`,null,`It's designed to be used in a separate view or device. The progress is controlled by and auto synced with the main presenter or slide.`)],-1),a(`div`,D,[a(`button`,{class:`slidev-form-button`,onClick:r[0]||=e=>W.value=!1},` Close `)])]),_:1},8,[`modelValue`]),a(`div`,O,[e(T,{"clicks-context":J.value,current:U.value},null,8,[`clicks-context`,`current`]),e(E),a(`div`,{ref_key:`scroller`,ref:V,class:`px-5 py-3 flex-auto h-full overflow-auto`,style:f({fontSize:`${u(H)}px`})},[e(w,{note:G.value?.meta.slide.note,"note-html":G.value?.meta.slide.noteHTML,placeholder:`No notes for Slide ${U.value}.`,"clicks-context":J.value,"auto-scroll":!0},null,8,[`note`,`note-html`,`placeholder`,`clicks-context`])],4),a(`div`,k,[e(C,{"clicks-context":J.value,readonly:``},null,8,[`clicks-context`])]),a(`div`,A,[a(`div`,j,[e(x,{title:u(z)?`Close fullscreen`:`Enter fullscreen`,onClick:u(B)},{default:i(()=>[u(z)?(p(),o(`div`,M)):(p(),o(`div`,N))]),_:1},8,[`title`,`onClick`]),e(x,{title:`Increase font size`,onClick:K},{default:i(()=>[...r[5]||=[a(`div`,{class:`i-carbon:zoom-in`},null,-1)]]),_:1}),e(x,{title:`Decrease font size`,onClick:q},{default:i(()=>[...r[6]||=[a(`div`,{class:`i-carbon:zoom-out`},null,-1)]]),_:1}),e(x,{title:`Edit notes`,to:`/notes-edit`,target:`_blank`},{default:i(()=>[...r[7]||=[a(`div`,{class:`i-carbon:edit`},null,-1)]]),_:1}),e(x,{title:`Help`,class:`rounded-full`,onClick:r[2]||=e=>W.value=!0},{default:i(()=>[...r[8]||=[a(`div`,{class:`i-carbon:help`},null,-1)]]),_:1}),r[9]||=a(`div`,{class:`flex-auto`},null,-1),a(`div`,P,[a(`span`,F,s(U.value),1),a(`span`,I,` / `+s(u(R)),1)])])])])],64))}});export{L as default}; \ No newline at end of file diff --git a/2026/aidevcon-london/assets/slidev/notes-edit-By5o5rlc.js b/2026/aidevcon-london/assets/slidev/notes-edit-By5o5rlc.js new file mode 100644 index 0000000000000000000000000000000000000000..a4a47dfb01ac0c3265935163e6c58208417269a4 --- /dev/null +++ b/2026/aidevcon-london/assets/slidev/notes-edit-By5o5rlc.js @@ -0,0 +1,2 @@ +import{C as e,Q as t,S as n,T as r,Z as i,_ as a,b as o,ct as s,l as c,p as l,z as u}from"../modules/shiki-BMQKBaOU.js";import{D as d}from"../modules/vue-DcLb0Un4.js";import{Dt as f,_ as p,t as m,xt as h}from"../index-cw2gNXXR.js";import{t as g}from"./IconButton-Cs_ae-Io.js";import{t as _}from"./Modal-D7y0dmeV.js";var v={class:`flex my-1`},y={class:`h-full`},b={class:`slidev-glass-effect fixed bottom-5 right-5 rounded-full border border-main`},x=r({__name:`notes-edit`,setup(r){let x=/^---\s*#(\d+)\s*$/;h({title:`Notes Edit - ${f}`});let{slides:S}=p(),C=s(!1),w=s(T(S.value));function T(e){let t=[];for(let n of e)n.meta.slide.note?.trim()&&(t.push(`--- #${n.no}`),t.push(``),t.push(n.meta.slide.note),t.push(``));return t.join(` +`)}function E(e,t){let n=e.split(/^(---\s*#\d+\s*)$/gm);n.forEach((e,r)=>{let i=e.match(x);if(i){let e=Number.parseInt(i[1]),a=n[r+1].trim(),o=t.find(t=>t.no===e);o&&(o.meta.slide.note=a,m(e).update({note:a}))}})}return d(w,e=>{E(e,S.value)},{debounce:300}),(r,s)=>(u(),o(l,null,[e(_,{modelValue:C.value,"onUpdate:modelValue":s[1]||=e=>C.value=e,class:`px-6 py-4 flex flex-col gap-2`},{default:i(()=>[s[4]||=a(`div`,{class:`flex gap-2 text-xl`},[a(`div`,{class:`i-carbon:information my-auto`}),n(` Help `)],-1),s[5]||=a(`div`,{class:`prose dark:prose-invert`},[a(`p`,null,`This is the batch notes editor. You can edit the notes for all the slides at once here.`),a(`p`,null,[n(`The note for each slide are separated by `),a(`code`,null,`--- #[no]`),n(` lines, you might want to keep them while editing.`)])],-1),a(`div`,v,[a(`button`,{class:`slidev-form-button`,onClick:s[0]||=e=>C.value=!1},` Close `)])]),_:1},8,[`modelValue`]),a(`div`,y,[a(`div`,b,[e(g,{title:`Help`,class:`rounded-full`,onClick:s[2]||=e=>C.value=!0},{default:i(()=>[...s[6]||=[a(`div`,{class:`i-carbon:help text-2xl`},null,-1)]]),_:1})]),t(a(`textarea`,{"onUpdate:modelValue":s[3]||=e=>w.value=e,class:`prose dark:prose-invert resize-none p5 outline-none bg-transparent block h-full w-full! max-w-full! max-h-full! min-h-full! min-w-full!`},null,512),[[c,w.value]])])],64))}});export{x as default}; \ No newline at end of file diff --git a/2026/aidevcon-london/assets/slidev/overview-Bk3S41zn.js b/2026/aidevcon-london/assets/slidev/overview-Bk3S41zn.js new file mode 100644 index 0000000000000000000000000000000000000000..503668a467d86affc92f3419de98555dce7782fa --- /dev/null +++ b/2026/aidevcon-london/assets/slidev/overview-Bk3S41zn.js @@ -0,0 +1 @@ +import{C as e,L as t,N as n,T as r,V as i,Z as a,_ as o,_t as s,b as c,bt as l,ct as u,dt as ee,g as d,gt as f,ot as te,p,v as m,y as h,yt as g,z as _}from"../modules/shiki-BMQKBaOU.js";import{Ct as v,Dt as ne,_ as re,at as y,bt as b,et as x,h as ie,m as S,p as ae,xt as oe}from"../index-cw2gNXXR.js";import{t as C}from"./IconButton-Cs_ae-Io.js";import{t as se}from"./DrawingPreview-CvsGsDPT.js";import{n as ce}from"./NoteDisplay-DQz322Ni.js";import{n as le,r as ue}from"../modules/unplugin-icons-CTUR52Kd.js";import{t as w}from"./NoteEditable-DaV32WGZ.js";import{t as T}from"./SlideContainer-DJlIQWjd.js";import{t as E}from"./SlideWrapper-Bygmag9f.js";var D={class:`h-screen w-screen of-hidden flex`},O={class:`grid grid-rows-[auto_max-content] border-r border-main select-none max-h-full h-full`},k={class:`relative`},A={class:`absolute left-0 top-0 bottom-0 w-200 flex flex-col flex-auto items-end group p2 gap-1 max-h-full of-x-visible of-y-auto`,style:{direction:`rtl`}},j=[`onClick`],M={p2:``,border:`t main`},N={class:`select-none w-13 text-right my4 flex flex-col gap-1 items-end`},P={class:`text-3xl op20 mb2`},F=[`onDblclick`],I={class:`py3 mt-0.5 mr--8 ml--4 op0 transition group-hover:op100`},L={key:0,class:`select-none absolute bottom-0 right-0 bg-main rounded-tl p2 op35 text-xs`},R={class:`absolute top-0 right-0 px3 py1.5 border-b border-l rounded-lb bg-main border-main select-none`},z={class:`text-xs op50`},B=450,V=r({__name:`overview`,setup(r){oe({title:`Overview - ${ne}`});let{openInEditor:V,slides:H}=re(),U=te(new Map),W=u([]),G=u(null),K=d(()=>H.value.map(e=>pe(e.meta?.slide?.note||``))),q=d(()=>K.value.reduce((e,t)=>e+t,0)),de=d(()=>H.value.map(e=>Z(e)).reduce((e,t)=>e+t,0)),J=ee(),Y=new WeakMap;function X(e){return Y.has(e)||Y.set(e,b(e,y)),Y.get(e)}function Z(e){return e.meta?.clicks||X(e)?.total}function fe(e){J.value===e?J.value=void 0:J.value=e}function pe(e){let t=e.match(/[\w`'\-\u0392-\u03C9\u00C0-\u00FF\u0600-\u06FF\u0400-\u04FF]+|[\u4E00-\u9FFF\u3400-\u4DBF\uF900-\uFAFF\u3040-\u309F\uAC00-\uD7AF]+/g),n=0;if(!t)return 0;for(let e=0;e=19968?n+=t[e].length:n+=1;return n}function me(e){let t=e.getBoundingClientRect();return t.top>=-20&&t.left>=-20&&t.bottom<=(window.innerHeight||document.documentElement.clientHeight)+20&&t.right<=(window.innerWidth||document.documentElement.clientWidth)+20}function Q(){let e=[];Array.from(U.entries()).forEach(([t,n])=>{me(n)&&e.push(t)}),W.value=e}function $(e){let t=document.createElement(`a`);t.target=`_blank`,t.href=v+e.slice(1),t.click()}function he(e){let t=U.get(e);t&&t.scrollIntoView({behavior:`smooth`,block:`start`})}function ge(e,t,n){let r=X(n);r.current===t?r.current=y:r.current=t,e.preventDefault()}return t(()=>{n(()=>{Q()})}),(t,n)=>{let r=le,u=ue;return _(),c(`div`,D,[o(`nav`,O,[o(`div`,k,[o(`div`,A,[(_(!0),c(p,null,i(f(H),(e,t)=>(_(),c(`div`,{key:e.no,class:`relative`,style:{direction:`ltr`}},[o(`button`,{class:s([`relative transition duration-300 w-8 h-8 rounded hover:bg-active hover:op100`,W.value.includes(t)?`op100 text-primary bg-gray:5`:`op20`]),onClick:e=>he(t)},[o(`div`,null,l(t+1),1)],10,j),e.meta?.slide?.title?(_(),c(`div`,{key:0,class:s([`pointer-events-none select-none absolute left-110% top-50% translate-y--50% ws-nowrap z-label px2 slidev-glass-effect transition duration-400 op0 group-hover:op100`,W.value.includes(t)?`text-primary`:`text-main important-text-op-50`])},l(e.meta?.slide?.title),3)):h(`v-if`,!0)]))),128))])]),o(`div`,M,[f(ae)?(_(),m(C,{key:1,title:f(S)?`Dark mode`:`Light mode`,"pointer-events-none":``,op50:``},{default:a(()=>[f(S)?(_(),m(r,{key:0})):(_(),m(u,{key:1}))]),_:1},8,[`title`])):(_(),m(C,{key:0,title:f(S)?`Switch to light mode theme`:`Switch to dark mode theme`,onClick:n[0]||=e=>f(ie)()},{default:a(()=>[f(S)?(_(),m(r,{key:0})):(_(),m(u,{key:1}))]),_:1},8,[`title`]))])]),o(`main`,{class:`flex-1 h-full of-auto`,style:g(`grid-template-columns: repeat(auto-fit,minmax(${B}px,1fr))`),onScroll:Q},[(_(!0),c(p,null,i(f(H),(t,r)=>(_(),c(`div`,{key:t.no,ref_for:!0,ref:e=>U.set(r,e),class:s([`relative border-t border-main of-hidden flex gap-4 min-h-50 group`,r===0?`pt5`:``])},[o(`div`,N,[o(`div`,P,l(r+1),1),e(C,{class:`mr--3 op0 group-hover:op80`,title:`Play in new tab`,onClick:e=>$(f(x)(t,!1))},{default:a(()=>[...n[2]||=[o(`div`,{class:`i-carbon:presentation-file`},null,-1)]]),_:1},8,[`onClick`]),h(`v-if`,!0)]),o(`div`,{class:`flex flex-col gap-2 my5`,style:g({width:`${B}px`})},[o(`div`,{class:`border rounded border-main overflow-hidden bg-main select-none h-max`,onDblclick:e=>$(f(x)(t,!1))},[(_(),m(T,{key:t.no,width:B,class:`pointer-events-none important:[&_*]:select-none`},{default:a(()=>[e(E,{"clicks-context":X(t),route:t,"render-context":`overview`},null,8,[`clicks-context`,`route`]),e(se,{page:t.no},null,8,[`page`])]),_:2},1024))],40,F),Z(t)?(_(),m(ce,{key:0,active:J.value===t,"clicks-context":X(t),class:`w-full mt-2`,onDblclick:e=>fe(t),onClick:e=>J.value=t},null,8,[`active`,`clicks-context`,`onDblclick`,`onClick`])):h(`v-if`,!0)],4),o(`div`,I,[e(C,{title:`Edit Note`,class:s([`rounded-full w-9 h-9 text-sm`,G.value===t.no?`important:op0`:``]),onClick:e=>G.value=t.no},{default:a(()=>[...n[4]||=[o(`div`,{class:`i-carbon:pen`},null,-1)]]),_:1},8,[`class`,`onClick`])]),e(w,{no:t.no,class:`max-w-250 w-250 text-lg rounded p3`,"auto-height":!0,highlight:J.value===t,editing:G.value===t.no,"clicks-context":X(t),onDblclick:e=>G.value===t.no?null:G.value=t.no,"onUpdate:editing":n[1]||=e=>G.value=null,onMarkerClick:(e,n)=>ge(e,n,t)},null,8,[`no`,`highlight`,`editing`,`clicks-context`,`onDblclick`,`onMarkerClick`]),K.value[r]>0?(_(),c(`div`,L,l(K.value[r])+` words `,1)):h(`v-if`,!0)],2))),128))],36),o(`div`,R,[o(`div`,z,l(f(H).length)+` slides · `+l(de.value+f(H).length-1)+` clicks · `+l(q.value)+` words `,1)])])}}});export{V as default}; \ No newline at end of file diff --git a/2026/aidevcon-london/assets/slidev/play-gDJClcOx.js b/2026/aidevcon-london/assets/slidev/play-gDJClcOx.js new file mode 100644 index 0000000000000000000000000000000000000000..209ef8658e51054b1b6c7c826c0bf5bb59808b09 --- /dev/null +++ b/2026/aidevcon-london/assets/slidev/play-gDJClcOx.js @@ -0,0 +1,2 @@ +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./DrawingControls-DwNaXGu8.js","../rolldown-runtime-QTnfLwEv.js","./shortcuts-C6gnGEp7.js","../index-cw2gNXXR.js","../modules/shiki-BMQKBaOU.js","../modules/shiki-BhczoDnk.css","../modules/vue-DcLb0Un4.js","../index-zlFssJbf.css","./SlideContainer-DJlIQWjd.js","../SlideContainer-DfEYZ3xE.css","./SlideWrapper-Bygmag9f.js","../SlideWrapper-DyDeIrov.css","../useDrawings-BkOkFJPM.js","./DrawingPreview-CvsGsDPT.js","./IconButton-Cs_ae-Io.js","../shortcuts-DEFRQbIv.css","../DrawingControls-Dhbx0szf.css"])))=>i.map(i=>d[i]); +import{C as e,J as t,S as n,T as r,Z as i,_ as a,_t as o,at as s,b as c,ct as l,dt as u,g as d,gt as f,p,rt as m,v as h,y as g,yt as _,z as v}from"../modules/shiki-BMQKBaOU.js";import{S as y,p as b}from"../modules/vue-DcLb0Un4.js";import{At as x,B as S,E as C,M as w,R as T,U as E,X as D,Y as O,_ as k,_t as A,k as j,o as M}from"../index-cw2gNXXR.js";import{t as N}from"../useDrawings-BkOkFJPM.js";import{a as P,c as F,d as I,f as L,l as R,n as z,r as B,s as V,t as H,u as U}from"./shortcuts-C6gnGEp7.js";import{t as W}from"./Modal-D7y0dmeV.js";import{t as G}from"../modules/unplugin-icons-CTUR52Kd.js";import{t as K}from"./SlideContainer-DJlIQWjd.js";var q=2e3;function J(e){let n=d(()=>e.value&&C.value);function r(){document.body.style.cursor=`none`}function i(){document.body.style.cursor=``}let a=null;t(n,e=>{e||(i(),a&&clearTimeout(a),a=null)}),s(()=>{i(),a&&clearTimeout(a),a=null}),b(document.body,[`pointermove`,`pointerdown`],()=>{i(),a&&clearTimeout(a),a=n.value?setTimeout(r,q):null},{passive:!0})}``+new URL(`../logo-BYkHSa_O.png`,import.meta.url).href;var Y={class:`slidev-info-dialog slidev-layout flex flex-col gap-4 text-base`},X=[`innerHTML`],Z=r({__name:`InfoDialog`,props:{modelValue:{default:!1}},emits:[`update:modelValue`],setup(e,{emit:t}){let r=y(e,`modelValue`,t),o=d(()=>typeof x.info==`string`);return(e,t)=>(v(),h(W,{modelValue:f(r),"onUpdate:modelValue":t[0]||=e=>m(r)?r.value=e:null,class:`px-6 py-4`},{default:i(()=>[a(`div`,Y,[o.value?(v(),c(`div`,{key:0,class:`mb-4`,innerHTML:f(x).info},null,8,X)):g(`v-if`,!0),t[1]||=a(`a`,{href:`https://github.com/slidevjs/slidev`,target:`_blank`,class:`!opacity-100 !border-none !text-current`},[a(`div`,{class:`flex gap-1 children:my-auto`},[a(`div`,{class:`opacity-50 text-sm mr-2`},`Powered by`),a(`img`,{class:`w-5 h-5`,src:``+new URL(`../logo-BYkHSa_O.png`,import.meta.url).href,alt:`Slidev logo`}),a(`div`,{style:{color:`#2082A6`}},[a(`b`,null,`Sli`),n(`dev `)])])],-1)])]),_:1},8,[`modelValue`]))}}),Q=r({__name:`Controls`,setup(t){let{isEmbedded:n}=k(),r=!x.drawings.presenterOnly&&!n.value,i=u();r&&A(()=>import(`./DrawingControls-DwNaXGu8.js`).then(e=>e.n).then(e=>i.value=e.default),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]),import.meta.url);let a=u(),o=u();return(t,n)=>(v(),c(p,null,[i.value?(v(),h(f(i),{key:0})):g(`v-if`,!0),e(V),e(F),a.value?(v(),h(f(a),{key:1})):g(`v-if`,!0),o.value?(v(),h(f(o),{key:2,modelValue:f(E),"onUpdate:modelValue":n[0]||=e=>m(E)?E.value=e:null},null,8,[`modelValue`])):g(`v-if`,!0),f(x).info?(v(),h(Z,{key:3,modelValue:f(S),"onUpdate:modelValue":n[1]||=e=>m(S)?S.value=e:null},null,8,[`modelValue`])):g(`v-if`,!0),e(R)],64))}}),$={key:0,class:`absolute top-0 left-0 right-0 bottom-0 pointer-events-none text-xl`},ee=r({__name:`PresenterMouse`,setup(t){return(t,n)=>{let r=G;return f(M).cursor?.style===`cursor`?(v(),c(`div`,$,[e(r,{class:`absolute stroke-white dark:stroke-black`,style:_({left:`${f(M).cursor.x}%`,top:`${f(M).cursor.y}%`,strokeWidth:16})},null,8,[`style`])])):g(`v-if`,!0)}}}),te=r({__name:`play`,setup(t){let{next:n,prev:r,isPrintMode:s,isPlaying:m,isEmbedded:_}=k(),{isDrawing:y}=N(),b=l();function x(e){T.value||e.button===0&&e.target?.id===`slide-container`&&(e.pageX/window.innerWidth>.5?n():r())}L(b),H(),I(),J(d(()=>m.value&&!_.value&&!T.value));let S=d(()=>w.value||T.value),C=u(),E=d(()=>{let e=``;return O.value.brightness!==D.brightness&&(e+=`brightness(${O.value.brightness}) `),O.value.contrast!==D.contrast&&(e+=`contrast(${O.value.contrast}) `),O.value.sepia!==D.sepia&&(e+=`sepia(${O.value.sepia}) `),O.value.hueRotate!==D.hueRotate&&(e+=`hue-rotate(${O.value.hueRotate}deg) `),O.value.invert&&(e+=`invert(1) `),{filter:e}});return(t,n)=>(v(),c(p,null,[a(`div`,{id:`page-root`,ref_key:`root`,ref:b,class:o([`grid`,f(j)?`grid-rows-[1fr_max-content]`:`grid-cols-[1fr_max-content]`])},[e(K,{style:{background:`var(--slidev-slide-container-background, black)`},"is-main":``,"content-style":E.value,onPointerdown:x,onContextmenu:f(U)},{default:i(()=>[e(z,{"render-context":`slide`}),e(ee),e(P)]),controls:i(()=>[f(s)?g(`v-if`,!0):(v(),c(`div`,{key:0,class:o([`absolute bottom-0 left-0 transition duration-300 opacity-0 hover:opacity-100 focus-within:opacity-100 focus-visible:opacity-100`,[S.value?`!opacity-100 right-0`:`opacity-0 p-2`,f(y)?`pointer-events-none`:``]])},[e(B,{persist:S.value},null,8,[`persist`])],2))]),_:1},8,[`content-style`,`onContextmenu`]),C.value&&f(T)?(v(),h(f(C),{key:0,resize:!0})):g(`v-if`,!0)],2),f(s)?g(`v-if`,!0):(v(),h(Q,{key:0})),n[0]||=a(`div`,{id:`twoslash-container`},null,-1)],64))}});export{te as default}; \ No newline at end of file diff --git a/2026/aidevcon-london/assets/slidev/presenter-Dmq3UP5q.js b/2026/aidevcon-london/assets/slidev/presenter-Dmq3UP5q.js new file mode 100644 index 0000000000000000000000000000000000000000..800aa876161c34c2e907672d5cf1e3ebb5f122d5 --- /dev/null +++ b/2026/aidevcon-london/assets/slidev/presenter-Dmq3UP5q.js @@ -0,0 +1 @@ +import{C as e,J as t,L as n,Q as r,S as i,T as a,Y as o,Z as s,_ as c,_t as l,b as u,bt as d,ct as f,dt as p,g as m,gt as h,p as ee,q as g,rt as te,u as _,v,y,yt as ne,z as b}from"../modules/shiki-BMQKBaOU.js";import{_ as re,h as x,p as S,w as C}from"../modules/vue-DcLb0Un4.js";import{Dt as ie,F as ae,H as oe,O as se,P as w,R as ce,S as le,_ as ue,n as T,o as de,vt as E,x as fe,xt as pe,yt as me}from"../index-cw2gNXXR.js";import{t as he}from"../useDrawings-BkOkFJPM.js";import{t as ge}from"./DrawingControls-DwNaXGu8.js";import{t as _e}from"./IconButton-Cs_ae-Io.js";import{a as ve,c as ye,d as be,f as xe,i as Se,l as Ce,n as we,o as Te,r as Ee,s as De,t as Oe,u as ke}from"./shortcuts-C6gnGEp7.js";import{n as Ae,t as D}from"./NoteDisplay-DQz322Ni.js";import{n as O,r as je,t as Me}from"./TimerBar-kR_GcbMH.js";import"./NoteEditable-DaV32WGZ.js";import{t as k}from"./SlideContainer-DJlIQWjd.js";import{t as Ne}from"./SlideWrapper-Bygmag9f.js";var Pe=a({__name:`NoteStatic`,props:{no:{},class:{},clicksContext:{}},setup(e){let t=e,{info:n}=T(t.no);return(r,i)=>(b(),v(D,{class:l(t.class),note:h(n)?.note,"note-html":h(n)?.noteHTML,"clicks-context":e.clicksContext},null,8,[`class`,`note`,`note-html`,`clicks-context`]))}}),A={"h-full":``,"w-full":``},j={key:0,"w-full":``,"h-full":``,flex:`~ col gap-4 items-center justify-center`},Fe=a({__name:`ScreenCaptureMirror`,setup(e){let t=g(`video`),n=p(null),a=p(!1);async function o(){n.value=await navigator.mediaDevices.getDisplayMedia({video:{cursor:`always`},audio:!1,selfBrowserSurface:`include`,preferCurrentTab:!1}),t.value.srcObject=n.value,t.value.play(),a.value=!0,n.value.addEventListener(`inactive`,()=>{t.value.srcObject=null,a.value=!1}),n.value.addEventListener(`ended`,()=>{t.value.srcObject=null,a.value=!1})}return(e,n)=>(b(),u(`div`,A,[r(c(`video`,{ref_key:`video`,ref:t,class:`w-full h-full object-contain`},null,512),[[_,a.value]]),a.value?y(`v-if`,!0):(b(),u(`div`,j,[n[0]||=c(`div`,{op50:``},[i(` Use screen capturing to mirror your main screen back to presenter view.`),c(`br`),i(` Click the button below and `),c(`b`,null,`select your other monitor or window`),i(`. `)],-1),c(`button`,{class:`slidev-form-button`,onClick:o},` Start Screen Mirroring `)]))]))}}),M={class:`w-22px cursor-pointer`},N={class:`group-not-hover:hidden flex flex-col items-center`},P={key:0,class:`i-carbon:pause text-lg`},F={key:1,class:`i-carbon:play`},I={class:`text-3xl px-3 my-auto font-mono`},Ie=a({__name:`TimerInlined`,setup(e){let{status:t,percentage:n,mode:r,timer:i,reset:a,toggle:o}=O(),s=m(()=>t.value===`stopped`?`op50`:t.value===`paused`?`text-blue6 dark:text-blue3`:n.value>100?`text-red6 dark:text-red3`:n.value>80?`text-yellow6 dark:text-yellow3`:`text-green6 dark:text-green3`);return(e,n)=>(b(),u(`div`,{class:l([`group flex items-center justify-center pl-4 select-none`,s.value])},[c(`div`,M,[c(`div`,{class:l([`group-hover:hidden text-2xl`,h(r)===`countdown`?`i-carbon:timer`:`i-carbon:time`])},null,2),c(`div`,N,[c(`div`,{class:`relative op-80 hover:op-100`,onClick:n[0]||=(...e)=>h(o)&&h(o)(...e)},[h(t)===`running`?(b(),u(`div`,P)):(b(),u(`div`,F))]),c(`div`,{class:`op-80 hover:op-100`,onClick:n[1]||=(...e)=>h(a)&&h(a)(...e)},[...n[2]||=[c(`div`,{class:`i-carbon:renew`},null,-1)]])])]),c(`div`,I,[h(i).h?(b(),u(ee,{key:0},[c(`span`,null,d(h(i).h),1),n[3]||=c(`span`,{op50:``},`:`,-1)],64)):y(`v-if`,!0),c(`span`,null,d(h(i).m),1),n[4]||=c(`span`,{op50:``},`:`,-1),c(`span`,null,d(h(i).s),1)])],2))}}),Le={class:`bg-main h-full slidev-presenter grid grid-rows-[max-content_1fr] of-hidden`},Re={flex:`~ gap-4 items-center`,border:`b main`,p1:``},ze={class:`relative grid-section next flex flex-col p-2 lg:p-4`},Be={key:2,class:`h-full flex justify-center items-center`},Ve={key:3,class:`h-full grid grid-rows-[1fr_min-content]`},L=E(a({__name:`presenter`,setup(i){let a=C(),d=f(),g=f(),T=f(),E=f();Oe(),xe(d),be();let{clicksContext:D,currentSlideNo:O,currentSlideRoute:A,hasNext:j,nextRoute:M,slides:N,getPrimaryClicks:P}=ue(),{isDrawing:F}=he();pe({title:`Presenter - ${ie}`}),f(!1);let I=m(()=>N.value.map(e=>{let t=f(0);return{context:me(t,e?.meta.slide?.frontmatter.clicksStart??0,e?.meta.clicks),clicks:t}})),L=m(()=>D.value.currentL.value&&I.value[L.value[0].no-1]);t(L,()=>{R.value&&L.value&&(R.value.clicks.value=L.value[1])},{immediate:!0});let z=x(`slidev-presenter-main-slide-mode`,`slides`),B=x(`slidev-presenter-notes-width`,360),V=x(`slidev-presenter-notes-row-size`,280),He=f(0),H=f(!1),U=f(!1),Ue=f(0),W=f(360),We=f(0),G=f(280),K={minNotesWidth:240,maxNotesWidth:720,minNotesRowSize:160,maxNotesWidthRatio:.7,maxNotesRowHeightRatio:.75},Ge=re(`(min-aspect-ratio: 1/1)`),q=re(`(max-aspect-ratio: 3/5)`),J=m(()=>w.value===1&&Ge.value),Y=m(()=>!(w.value===1&&q.value)),X=m(()=>w.value===1&&!q.value||w.value===2||w.value===3),Ke=m(()=>w.value===1&&!q.value);function qe(e){return Number.isFinite(e)?Math.max(K.minNotesWidth,Math.min(K.maxNotesWidth,Math.round(e))):K.minNotesWidth}function Je(e){let t=g.value;if(!t)return;let n=t.getBoundingClientRect(),r=e-Ue.value,i=qe(J.value?W.value-r:W.value+r),a=Math.round(n.width*K.maxNotesWidthRatio);B.value=Math.min(i,Math.max(K.minNotesWidth,a))}function Z(e){Y.value&&e.button===0&&(e.preventDefault(),Ue.value=e.clientX,W.value=B.value,H.value=!0)}function Q(e){return Number.isFinite(e)?Math.max(K.minNotesRowSize,Math.round(e)):K.minNotesRowSize}function Ye(e){let t=g.value;if(!t)return;let n=t.getBoundingClientRect(),r=e-We.value,i=Ke.value?G.value-r:G.value+r,a=Math.round(n.height*K.maxNotesRowHeightRatio);V.value=Math.min(Q(i),Math.max(K.minNotesRowSize,a))}function Xe(e){if(!X.value||e.button!==0)return;e.preventDefault();let t=w.value===2?d.value?.getBoundingClientRect().height:T.value?.getBoundingClientRect().height;We.value=e.clientY,G.value=Q(t??V.value),U.value=!0}function Ze(){let e=E.value;e&&(He.value=Math.round(e.getBoundingClientRect().height))}function Qe(){H.value=!1,U.value=!1}function $e(){Ze(),et()}S(window,`pointermove`,e=>{H.value&&Je(e.clientX),U.value&&Ye(e.clientY)}),S(window,`pointerup`,Qe),S(window,`pointercancel`,Qe),n(()=>{$e()}),S(window,`resize`,()=>{$e()});function et(){B.value=qe(B.value),V.value=Q(V.value);let e=g.value;if(!e)return;let t=e.getBoundingClientRect(),n=Math.round(t.width*K.maxNotesWidthRatio),r=Math.round(t.height*K.maxNotesRowHeightRatio);B.value=Math.min(B.value,Math.max(K.minNotesWidth,n)),V.value=Math.min(V.value,Math.max(K.minNotesRowSize,r))}let $=p();return n(()=>{let e=Te(),t=C();o(()=>{!e.value||!t.value||F.value||!oe.value?de.cursor=void 0:de.cursor={...e.value,style:fe.value}})}),(t,n)=>(b(),u(ee,null,[c(`div`,Le,[c(`div`,null,[e(je),e(Me)]),c(`div`,{ref_key:`gridContainer`,ref:g,class:l([`grid-container`,`layout${h(w)}`]),style:ne({"--slidev-presenter-notes-width":`${h(B)}px`,"--slidev-presenter-notes-row-size":`${h(V)}px`,"--slidev-presenter-bottom-height":`${He.value}px`})},[y(` Unified vertical resizer for wide layout `),Y.value&&J.value?(b(),u(`div`,{key:0,class:`notes-vertical-resizer`,role:`separator`,"aria-orientation":`vertical`,title:`Resize notes panel`,onPointerdown:Z},null,32)):y(`v-if`,!0),y(` Unified vertical resizer for layout 3 `),Y.value&&h(w)===3?(b(),u(`div`,{key:1,class:`notes-vertical-resizer-left`,role:`separator`,"aria-orientation":`vertical`,title:`Resize notes panel`,onPointerdown:Z},null,32)):y(`v-if`,!0),c(`div`,{ref_key:`main`,ref:d,class:`relative grid-section main flex flex-col`},[c(`div`,Re,[n[3]||=c(`span`,{op50:``,px2:``},`Current`,-1),n[4]||=c(`div`,{"flex-auto":``},null,-1),e(Se,{modelValue:h(z),"onUpdate:modelValue":n[0]||=e=>te(z)?z.value=e:null,options:[{label:`Slides`,value:`slides`},{label:`Screen Mirror`,value:`mirror`}]},null,8,[`modelValue`])]),h(z)===`mirror`?(b(),v(Fe,{key:0})):y(`v-if`,!0),y(` We use v-show here to still infer the clicks context `),r(e(k,{key:`main`,class:`p-2 lg:p-4 flex-auto`,"is-main":``,onContextmenu:h(ke)},{default:s(()=>[e(we,{"render-context":`presenter`}),e(ve)]),_:1},8,[`onContextmenu`]),[[_,h(z)===`slides`]]),(b(),v(Ae,{key:h(A)?.no,"clicks-context":h(P)(h(A)),class:`w-full pb2 px4 flex-none`},null,8,[`clicks-context`]))],512),c(`div`,ze,[X.value&&h(w)===2?(b(),u(`div`,{key:0,class:`notes-row-resizer top-[-6px]`,role:`separator`,"aria-orientation":`horizontal`,title:`Resize notes panel height`,onPointerdown:Xe},null,32)):y(`v-if`,!0),L.value&&R.value?(b(),v(k,{key:`next`},{default:s(()=>[(b(),v(Ne,{key:L.value[0].no,"clicks-context":R.value.context,route:L.value[0],"render-context":`previewNext`},null,8,[`clicks-context`,`route`]))]),_:1})):(b(),u(`div`,Be,[...n[5]||=[c(`div`,{class:`text-gray-500`},` End of the presentation `,-1)]])),n[6]||=c(`div`,{class:`absolute left-0 top-0 bg-main border-b border-r border-main px2 py1 op50 text-sm`},` Next `,-1)]),c(`div`,{ref_key:`noteSection`,ref:T,class:`relative grid-section note overflow-hidden`},[Y.value&&!J.value&&h(w)!==3?(b(),u(`div`,{key:0,class:`notes-resizer right-[-6px]`,role:`separator`,"aria-orientation":`vertical`,title:`Resize notes panel`,onPointerdown:Z},null,32)):y(`v-if`,!0),X.value&&h(w)!==2?(b(),u(`div`,{key:1,class:l([`notes-row-resizer`,Ke.value?`top-[-6px]`:`bottom-[-6px]`]),role:`separator`,"aria-orientation":`horizontal`,title:`Resize notes panel height`,onPointerdown:Xe},null,34)):y(`v-if`,!0),$.value&&h(ce)?(b(),v(h($),{key:2,class:`h-full`})):(b(),u(`div`,Ve,[(b(),v(Pe,{key:`static-${h(O)}`,no:h(O),class:`w-full max-w-full h-full overflow-auto p-2 lg:p-4`,style:ne({fontSize:`${h(ae)}em`}),"clicks-context":h(D)},null,8,[`no`,`style`,`clicks-context`])),n[10]||=c(`div`,{"border-t":``,"border-main":``},null,-1),c(`div`,{class:l([`py-1 px-2 text-sm transition`,h(a)?``:`op25`])},[e(_e,{title:`Increase font size`,onClick:h(se)},{default:s(()=>[...n[7]||=[c(`div`,{class:`i-carbon:zoom-in`},null,-1)]]),_:1},8,[`onClick`]),e(_e,{title:`Decrease font size`,onClick:h(le)},{default:s(()=>[...n[8]||=[c(`div`,{class:`i-carbon:zoom-out`},null,-1)]]),_:1},8,[`onClick`]),y(`v-if`,!0)],2)]))],512),c(`div`,{ref_key:`bottomSection`,ref:E,class:`grid-section bottom flex`},[e(Ee,{persist:!0,class:l([`transition`,h(a)?``:`op25`])},null,8,[`class`]),n[11]||=c(`div`,{"flex-auto":``},null,-1),e(Ie)],512),(b(),v(ge,{key:2}))],6)]),e(ye),e(De),e(Ce)],64))}}),[[`__scopeId`,`data-v-afc5100d`]]);export{L as default}; \ No newline at end of file diff --git a/2026/aidevcon-london/assets/slidev/print-BBsWBbHc.js b/2026/aidevcon-london/assets/slidev/print-BBsWBbHc.js new file mode 100644 index 0000000000000000000000000000000000000000..0b76fc67e7134fa2868a5f4c333d1a7d0ef47ca6 --- /dev/null +++ b/2026/aidevcon-london/assets/slidev/print-BBsWBbHc.js @@ -0,0 +1,5 @@ +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./DrawingPreview-CvsGsDPT.js","../rolldown-runtime-QTnfLwEv.js","../useDrawings-BkOkFJPM.js","../index-cw2gNXXR.js","../modules/shiki-BMQKBaOU.js","../modules/shiki-BhczoDnk.css","../modules/vue-DcLb0Un4.js","../index-zlFssJbf.css"])))=>i.map(i=>d[i]); +import{C as e,L as t,Q as n,T as r,V as i,Y as a,_ as o,_t as s,b as c,dt as l,g as u,gt as d,i as f,ot as p,p as m,q as h,u as g,v as _,y as v,yt as y,z as b}from"../modules/shiki-BMQKBaOU.js";import{M as x}from"../modules/vue-DcLb0Un4.js";import{At as S,Et as C,Q as w,Tt as T,_ as E,_t as D,a as O,at as k,bt as A,dt as j,ft as M,g as N,mt as P,vt as F,wt as I}from"../index-cw2gNXXR.js";import{n as L,r as R,t as z}from"./SlideWrapper-Bygmag9f.js";var B=[`id`],V=F(r({__name:`PrintSlideClick`,props:{nav:{}},setup(t){let n=u(()=>t.nav.currentSlideRoute.value),r=u(()=>({height:`${T.value}px`,width:`${C.value}px`})),i=l();D(()=>import(`./DrawingPreview-CvsGsDPT.js`).then(e=>e.n).then(e=>i.value=e.default),__vite__mapDeps([0,1,2,3,4,5,6,7]),import.meta.url);let a=u(()=>`${n.value.no.toString().padStart(3,`0`)}-${(t.nav.clicks.value+1).toString().padStart(2,`0`)}`);return x(P,p({nav:t.nav,configs:S,themeConfigs:u(()=>S.themeConfig)})),x(j,h(`slide-element`)),(o,l)=>(b(),c(`div`,{id:a.value,ref:`slide-element`,class:`print-slide-container`,style:y(r.value)},[e(d(L)),e(z,{"clicks-context":t.nav.clicksContext.value,class:s(d(O)(n.value)),route:n.value},null,8,[`clicks-context`,`class`,`route`]),i.value?(b(),_(d(i),{key:0,page:n.value.no},null,8,[`page`])):v(`v-if`,!0),e(d(R))],12,B))}}),[[`__scopeId`,`data-v-a72d870e`]]),H=r({__name:`PrintSlide`,props:{hidden:{type:Boolean},route:{}},setup(t){let{isPrintWithClicks:r}=E(),a=A(t.route,()=>r.value?0:k);return(o,s)=>(b(),c(m,null,[n(e(V,{nav:d(N)(t.route,d(a))},null,8,[`nav`]),[[g,!t.hidden]]),d(r)?(b(),c(m,{key:0},[v(` + clicks0.total can be any number >=0 when rendering. + So total-clicksStart can be negative in intermediate states. + `),(b(!0),c(m,null,i(Math.max(0,d(a).total-d(a).clicksStart),e=>n((b(),_(V,{key:e,nav:d(N)(t.route,d(A)(t.route,e+d(a).clicksStart))},null,8,[`nav`])),[[g,!t.hidden]])),128))],64)):v(`v-if`,!0)],64))}}),U={id:`print-content`},W=r({__name:`PrintContainer`,props:{width:{}},setup(e){let t=e,{slides:n,printRange:r}=E(),a=u(()=>t.width),l=u(()=>t.width/I.value),f=u(()=>a.value/l.value),p=u(()=>f.value({"select-none":!S.selectable}));return x(M,p),(e,t)=>(b(),c(`div`,{id:`print-container`,class:s(h.value)},[o(`div`,U,[(b(!0),c(m,null,i(d(r),e=>(b(),_(H,{key:e,route:d(n)[e-1]},null,8,[`route`]))),128))])],2))}}),G={id:`page-root`,class:`grid grid-cols-[1fr_max-content]`},K=r({__name:`print`,setup(n){let{isPrintMode:r}=E();return a(()=>{r?document.body.parentNode.classList.add(`print`):document.body.parentNode.classList.remove(`print`)}),t(()=>{f()}),(t,n)=>(b(),c(`div`,G,[e(W,{class:`w-full h-full`,style:{background:`var(--slidev-slide-container-background, black)`},width:d(w).width.value},null,8,[`width`]),n[0]||=o(`div`,{id:`twoslash-container`},null,-1)]))}});export{K as default}; \ No newline at end of file diff --git a/2026/aidevcon-london/assets/slidev/shortcuts-C6gnGEp7.js b/2026/aidevcon-london/assets/slidev/shortcuts-C6gnGEp7.js new file mode 100644 index 0000000000000000000000000000000000000000..f3b6d1a6fb6e4bfe141ecb6d2d88dba06c64d992 --- /dev/null +++ b/2026/aidevcon-london/assets/slidev/shortcuts-C6gnGEp7.js @@ -0,0 +1,4 @@ +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./DrawingLayer-CB2vihED.js","../index-cw2gNXXR.js","../rolldown-runtime-QTnfLwEv.js","../modules/shiki-BMQKBaOU.js","../modules/shiki-BhczoDnk.css","../modules/vue-DcLb0Un4.js","../index-zlFssJbf.css","../useDrawings-BkOkFJPM.js"])))=>i.map(i=>d[i]); +import{A as e,C as t,D as n,G as r,H as i,J as a,L as o,M as s,Q as c,S as l,T as u,V as d,W as f,Y as p,Z as m,_ as h,_t as g,a as _,b as v,bt as y,c as b,ct as x,d as S,dt as C,f as w,g as T,gt as E,i as D,j as O,l as ee,m as te,n as ne,o as re,p as k,rt as ie,u as ae,v as A,vt as j,y as M,yt as N,z as P}from"../modules/shiki-BMQKBaOU.js";import{C as oe,I as se,N as ce,S as le,V as ue,d as de,n as F,o as fe,p as pe,r as me,s as he,t as I,v as ge,w as _e,y as ve}from"../modules/vue-DcLb0Un4.js";import{$ as ye,A as be,At as L,B as xe,C as Se,Ct as Ce,D as we,E as Te,Et as Ee,G as R,H as De,I as Oe,J as ke,K as Ae,L as je,N as Me,Ot as Ne,P as Pe,Q as Fe,R as Ie,T as Le,Tt as Re,V as z,W as ze,X as B,Y as V,Z as Be,_ as H,_t as Ve,at as He,b as Ue,bt as We,ft as Ge,gt as Ke,h as qe,i as Je,it as Ye,j as Xe,m as Ze,o as Qe,p as $e,q as et,r as tt,t as nt,v as rt,vt as it,w as at,x as ot,y as st,z as U}from"../index-cw2gNXXR.js";import{t as ct}from"../useDrawings-BkOkFJPM.js";import{t as W}from"./IconButton-Cs_ae-Io.js";import{t as lt}from"./DrawingPreview-CvsGsDPT.js";import{n as ut,t as dt}from"./SlideContainer-DJlIQWjd.js";import{n as ft,r as pt,t as mt}from"./SlideWrapper-Bygmag9f.js";var ht={},gt={class:`w-1px opacity-10 bg-current m-1 lg:m-2`};function _t(e,t){return P(),v(`div`,gt)}var vt=it(ht,[[`render`,_t]]);function yt(e){let{next:t,nextSlide:n,prev:r,prevSlide:i}=H(),{isDrawing:a}=ct(),o=x(0),{direction:s,distanceX:c,distanceY:l}=ve(e,{pointerTypes:[`touch`],onSwipeStart(){a.value||(o.value=ce())},onSwipeEnd(){if(!o.value||a.value)return;let e=Math.abs(c.value),u=Math.abs(l.value);e/window.innerWidth>.3||e>75?s.value===`left`?t():r():(u/window.innerHeight>.4||u>200)&&(s.value===`down`?i():n())}})}function bt(){let{request:e,release:t}=oe();a(Be,n=>{n?e(`screen`):t()},{immediate:!0})}var xt=[Object.values([])[0],Object.values([])[0]].filter(Boolean),St,Ct=()=>{if(St)return St;let{next:e,nextSlide:t,prev:n,prevSlide:r,hasNext:i,hasPrev:a,currentPage:o,total:s,isPresenter:c,enterPresenter:l,exitPresenter:u,isEmbedded:d,isPresenterAvailable:f}=H(),{drawingEnabled:p}=ct(),{isFullscreen:m,toggle:h}=at;return St=xt.reduce((e,t)=>t(e),T(()=>[{small:!0,icon:`i-carbon:arrow-left`,label:`Previous Click`,action:n,disabled:!a.value},{small:!0,icon:`i-carbon:arrow-right`,label:`Next Click`,action:e,disabled:!i.value},{small:!0,icon:`i-carbon:arrow-up`,label:`Previous Slide`,action:r,disabled:o.value<=1},{small:!0,icon:`i-carbon:arrow-down`,label:`Next Slide`,action:t,disabled:o.value>=s.value},`separator`,{icon:`i-carbon:text-annotation-toggle`,label:Ie.value?`Hide editor`:`Show editor`,action:()=>Ie.value=!Ie.value,show:!1},{icon:`i-carbon:pen`,label:p.value?`Hide drawing toolbar`:`Show drawing toolbar`,action:()=>p.value=!p.value},{icon:`i-carbon:apps`,label:`Show slide overview`,action:Ae},c.value&&{icon:`i-carbon:presentation-file`,label:`Exit Presenter Mode`,action:u},f.value&&{icon:`i-carbon:user-speaker`,label:`Enter Presenter Mode`,action:l},!d.value&&{icon:m.value?`i-carbon:minimize`:`i-carbon:maximize`,label:m.value?`Close fullscreen`:`Enter fullscreen`,action:h}].filter(Boolean)))},wt=C(null);function Tt(e,t){wt.value={x:e,y:t,items:Ct()}}function Et(){wt.value=null}function Dt(e){if(L.contextMenu!==!0&&L.contextMenu!=null&&L.contextMenu!==`build`||e.shiftKey||e.defaultPrevented)return;let{isEmbedded:t}=H();t.value||(Tt(e.pageX,e.pageY),e.preventDefault(),e.stopPropagation())}var Ot=[`title`,`onClick`],kt=[`onClick`],At={class:`mx-auto flex`},jt={key:0},Mt={class:`w-full text-xs p2`},Nt={class:`text-main text-opacity-50!`},Pt=u({__name:`ContextMenu`,setup(e){let t=x();fe(t,Et),pe(document,`mousedown`,e=>{e.buttons&2&&Et()},{passive:!0,capture:!0});let n=T(()=>L.contextMenu!=null);a(_e(),e=>{e||Et()}),nt(1);let{width:r,height:i}=de(t),o=T(()=>{let e=wt.value?.x;return e?e+r.value>Fe.width.value?Fe.width.value-r.value:e:0}),s=T(()=>{let e=wt.value?.y;return e?e+i.value>Fe.height.value?Fe.height.value-i.value:e:0});return(e,r)=>E(wt)?(P(),v(`div`,{key:0,ref_key:`container`,ref:t,style:N(`left:${o.value}px;top:${s.value}px`),class:`slidev-glass-effect fixed z-context-menu w-60 flex flex-wrap justify-items-start p-1 animate-fade-in animate-duration-100 rounded-md shadow overflow-hidden select-none`,onContextmenu:r[1]||=w(()=>{},[`prevent`]),onClick:r[2]||=(...e)=>E(Et)&&E(Et)(...e)},[(P(!0),v(k,null,d(E(wt).items.value,(e,t)=>(P(),v(k,{key:t},[e===`separator`?(P(),v(`div`,{key:t,class:`w-full my1 border-t border-main`})):e.show??!0?(P(),v(k,{key:1},[e.small?(P(),v(`div`,{key:0,class:g([`p-2 w-[40px] h-[40px] inline-block text-center cursor-pointer rounded flex`,e.disabled?`op40`:`hover:bg-active`]),title:e.label,onClick:e.action},[typeof e.icon==`string`?(P(),v(`div`,{key:0,class:g([e.icon,`text-1.2em ma`])},null,2)):(P(),A(f(e.icon),{key:1}))],10,Ot)):(P(),v(`div`,{key:1,class:g([`w-full grid grid-cols-[35px_1fr] p-2 pl-0 cursor-pointer rounded`,e.disabled?`op40`:`hover:bg-active`]),onClick:e.action},[h(`div`,At,[typeof e.icon==`string`?(P(),v(`div`,{key:0,class:g([e.icon,`text-1.2em ma`])},null,2)):(P(),A(f(e.icon),{key:1}))]),typeof e.label==`string`?(P(),v(`div`,jt,y(e.label),1)):(P(),A(f(e.label),{key:1}))],10,kt))],64)):M(`v-if`,!0)],64))),128)),n.value?M(`v-if`,!0):(P(),v(k,{key:0},[r[6]||=h(`div`,{class:`w-full my1 border-t border-main`},null,-1),h(`div`,Mt,[h(`div`,Nt,[r[3]||=l(` Hold `,-1),r[4]||=h(`kbd`,{class:`border px1 py0.5 border-main rounded text-primary`},`Shift`,-1),r[5]||=l(` and right click to open the native context menu `,-1),M(`v-if`,!0)])])],64))],36)):M(`v-if`,!0)}}),Ft={key:0},It={key:1},Lt={key:2},Rt={key:3},zt={key:4},Bt={key:5},Vt={key:6},Ht={key:7},Ut={key:8},Wt={key:9},Gt={key:10},Kt={key:11},qt={key:12},Jt={key:13},Yt={key:14},Xt={key:15},Zt={key:16},Qt={key:17},$t={key:18},en={key:19},tn={key:20},nn={key:21},rn={key:22},an={key:23},on={key:24},sn={key:25},cn={key:26},ln={key:27},un={key:28},dn=u({__name:`title-renderer`,props:{no:{}},setup(e){let t=e,{$page:n}=Ye(),r=T(()=>+(t.no??n.value));return(e,t)=>(P(),v(`div`,null,[r.value===1?(P(),v(`p`,Ft,`Tessl + MCP`)):r.value===2?(P(),v(`p`,It,`undefined`)):r.value===3?(P(),v(`p`,Lt,`undefined`)):r.value===4?(P(),v(`p`,Rt,`Topics`)):r.value===5?(P(),v(`p`,zt,`MCP At Hugging Face`)):r.value===6?(P(),v(`p`,Bt,`Today, MCP design is bi-directional`)):r.value===7?(P(),v(`p`,Vt,`Current Transports`)):r.value===8?(P(),v(`p`,Ht,`undefined`)):r.value===9?(P(),v(`p`,Ut,`undefined`)):r.value===10?(P(),v(`p`,Wt,`undefined`)):r.value===11?(P(),v(`p`,Gt,`Understanding Activity`)):r.value===12?(P(),v(`p`,Kt,`undefined`)):r.value===13?(P(),v(`p`,qt,`MCP Clients Dataset`)):r.value===14?(P(),v(`p`,Jt,`Scaling MCP in Production…`)):r.value===15?(P(),v(`p`,Yt,`undefined`)):r.value===16?(P(),v(`p`,Xt,`Main Issues with Statefulness`)):r.value===17?(P(),v(`p`,Zt,[...t[0]||=[l(`2026-07-28 Specification: `,-1),h(`code`,null,`The Stateless Core`,-1)]])):r.value===18?(P(),v(`p`,Qt,`2026-07-28 Release Candidate`)):r.value===19?(P(),v(`p`,$t,`SEP-2260, SEP-2257: "Simplifications"`)):r.value===20?(P(),v(`p`,en,`SEP-2575: Make MCP Stateless`)):r.value===21?(P(),v(`p`,tn,`SEP-2459: Cache Control`)):r.value===22?(P(),v(`p`,nn,`SEP-2322: Stateful Elicitations`)):r.value===23?(P(),v(`p`,rn,`SEP-2322: Stateless Elicitations`)):r.value===24?(P(),v(`p`,an,`SEP-2243: HTTP Standardization`)):r.value===25?(P(),v(`p`,on,`SEP-2243: Tool Data in HTTP Headers`)):r.value===26?(P(),v(`p`,sn,`SEP-2243: Routable MCP Traffic`)):r.value===27?(P(),v(`p`,cn,`Scaling MCP in Production`)):r.value===28?(P(),v(`p`,ln,`Migration Path`)):r.value===29?(P(),v(`p`,un,`Hugging Face sponsors Hack Monty`)):M(`v-if`,!0)]))}});function G(e){return Array.isArray?Array.isArray(e):yn(e)===`[object Array]`}function fn(e){if(typeof e==`string`)return e;if(typeof e==`bigint`)return e.toString();let t=e+``;return t==`0`&&1/e==-1/0?`-0`:t}function pn(e){return e==null?``:fn(e)}function K(e){return typeof e==`string`}function mn(e){return typeof e==`number`}function hn(e){return e===!0||e===!1||_n(e)&&yn(e)==`[object Boolean]`}function gn(e){return typeof e==`object`}function _n(e){return gn(e)&&e!==null}function q(e){return e!=null}function vn(e){return!e.trim().length}function yn(e){return e==null?e===void 0?`[object Undefined]`:`[object Null]`:Object.prototype.toString.call(e)}var bn=`Incorrect 'index' type`,xn=e=>`Invalid value for key ${e}`,Sn=e=>`Pattern length exceeds max of ${e}.`,Cn=e=>`Missing ${e} property in key`,wn=e=>`Property 'weight' in key '${e}' must be a positive integer`,Tn=Object.prototype.hasOwnProperty,En=class{constructor(e){this._keys=[],this._keyMap={};let t=0;e.forEach(e=>{let n=Dn(e);this._keys.push(n),this._keyMap[n.id]=n,t+=n.weight}),this._keys.forEach(e=>{e.weight/=t})}get(e){return this._keyMap[e]}keys(){return this._keys}toJSON(){return JSON.stringify(this._keys)}};function Dn(e){let t=null,n=null,r=null,i=1,a=null;if(K(e)||G(e))r=e,t=On(e),n=kn(e);else{if(!Tn.call(e,`name`))throw Error(Cn(`name`));let o=e.name;if(r=o,Tn.call(e,`weight`)&&(i=e.weight,i<=0))throw Error(wn(o));t=On(o),n=kn(o),a=e.getFn}return{path:t,id:n,weight:i,src:r,getFn:a}}function On(e){return G(e)?e:e.split(`.`)}function kn(e){return G(e)?e.join(`.`):e}function An(e,t){let n=[],r=!1,i=(e,t,a,o)=>{if(q(e))if(!t[a])n.push(o===void 0?e:{v:e,i:o});else{let s=e[t[a]];if(!q(s))return;if(a===t.length-1&&(K(s)||mn(s)||hn(s)||typeof s==`bigint`))n.push(o===void 0?pn(s):{v:pn(s),i:o});else if(G(s)){r=!0;for(let e=0,n=s.length;ee.score===t.score?e.idx{this._keysMap[e.id]=t})}create(){this.isCreated||!this.docs.length||(this.isCreated=!0,K(this.docs[0])?this.docs.forEach((e,t)=>{this._addString(e,t)}):this.docs.forEach((e,t)=>{this._addObject(e,t)}),this.norm.clear())}add(e){let t=this.size();K(e)?this._addString(e,t):this._addObject(e,t)}removeAt(e){this.records.splice(e,1);for(let t=e,n=this.size();t=0;--t)this.records.splice(e[t],1);for(let e=0,t=this.records.length;e{let i=t.getFn?t.getFn(e):this.getFn(e,t.path);if(q(i)){if(G(i)){let e=[];for(let t=0,n=i.length;tt),records:this.records}}};function Rn(e,t,{getFn:n=J.getFn,fieldNormWeight:r=J.fieldNormWeight}={}){let i=new Ln({getFn:n,fieldNormWeight:r});return i.setKeys(e.map(Dn)),i.setSources(t),i.create(),i}function zn(e,{getFn:t=J.getFn,fieldNormWeight:n=J.fieldNormWeight}={}){let{keys:r,records:i}=e,a=new Ln({getFn:t,fieldNormWeight:n});return a.setKeys(r),a.setIndexRecords(i),a}function Bn(e=[],t=J.minMatchCharLength){let n=[],r=-1,i=-1,a=0;for(let o=e.length;a=t&&n.push([r,i]),r=-1)}return e[a-1]&&a-r>=t&&n.push([r,a-1]),n}var Vn=32;function Hn(e,t,n,{location:r=J.location,distance:i=J.distance,threshold:a=J.threshold,findAllMatches:o=J.findAllMatches,minMatchCharLength:s=J.minMatchCharLength,includeMatches:c=J.includeMatches,ignoreLocation:l=J.ignoreLocation}={}){if(t.length>Vn)throw Error(Sn(Vn));let u=t.length,d=e.length,f=Math.max(0,Math.min(r,d)),p=a,m=f,h=(e,t)=>{let n=e/u;if(l)return n;let r=Math.abs(f-t);return i?n+r/i:r?1:n},g=s>1||c,_=g?Array(d):[],v;for(;(v=e.indexOf(t,m))>-1;){let e=h(0,v);if(p=Math.min(e,p),m=v+u,g){let e=0;for(;e=a;--r){let i=r-1,o=n[e[i]];if(g&&(_[i]=+!!o),c[r]=(c[r+1]<<1|1)&o,t&&(c[r]|=(y[r+1]|y[r])<<1|1|y[r+1]),c[r]&S&&(b=h(t,i),b<=p)){if(p=b,m=i,m<=f)break;a=Math.max(1,2*f-m)}}if(h(t+1,f)>p)break;y=c}let C={isMatch:m>=0,score:Math.max(.001,b)};if(g){let e=Bn(_,s);e.length?c&&(C.indices=e):C.isMatch=!1}return C}function Un(e){let t={};for(let n=0,r=e.length;ne[0]-t[0]||e[1]-t[1]);let t=[e[0]];for(let n=1,r=e.length;ne.normalize(`NFD`).replace(/[\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08D3-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C04\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D82\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u1885\u1886\u18A9\u1920-\u192B\u1930-\u193B\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ABE\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DF9\u1DFB-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880\uA881\uA8B4-\uA8C5\uA8E0-\uA8F1\uA8FF\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F]/g,``).replace(Kn,e=>Gn[e]):e=>e,Jn=class{constructor(e,{location:t=J.location,threshold:n=J.threshold,distance:r=J.distance,includeMatches:i=J.includeMatches,findAllMatches:a=J.findAllMatches,minMatchCharLength:o=J.minMatchCharLength,isCaseSensitive:s=J.isCaseSensitive,ignoreDiacritics:c=J.ignoreDiacritics,ignoreLocation:l=J.ignoreLocation}={}){if(this.options={location:t,threshold:n,distance:r,includeMatches:i,findAllMatches:a,minMatchCharLength:o,isCaseSensitive:s,ignoreDiacritics:c,ignoreLocation:l},e=s?e:e.toLowerCase(),e=c?qn(e):e,this.pattern=e,this.chunks=[],!this.pattern.length)return;let u=(e,t)=>{this.chunks.push({pattern:e,alphabet:Un(e),startIndex:t})},d=this.pattern.length;if(d>Vn){let e=0,t=d%Vn,n=d-t;for(;e{let{isMatch:m,score:h,indices:g}=Hn(e,t,n,{location:i+p,distance:a,threshold:o,findAllMatches:s,minMatchCharLength:c,includeMatches:r,ignoreLocation:l});m&&(f=!0),d+=h,m&&g&&u.push(...g)});let p={isMatch:f,score:f?d/this.chunks.length:1};return f&&r&&(p.indices=Wn(u)),p}},Y=class{constructor(e){this.pattern=e}static isMultiMatch(e){return Yn(e,this.multiRegex)}static isSingleMatch(e){return Yn(e,this.singleRegex)}search(e){return{isMatch:!1,score:1}}};function Yn(e,t){let n=e.match(t);return n?n[1]:null}var Xn=class extends Y{constructor(e){super(e)}static get type(){return`exact`}static get multiRegex(){return/^="(.*)"$/}static get singleRegex(){return/^=(.*)$/}search(e){let t=e===this.pattern;return{isMatch:t,score:+!t,indices:[0,this.pattern.length-1]}}},Zn=class extends Y{constructor(e){super(e)}static get type(){return`inverse-exact`}static get multiRegex(){return/^!"(.*)"$/}static get singleRegex(){return/^!(.*)$/}search(e){let t=e.indexOf(this.pattern)===-1;return{isMatch:t,score:+!t,indices:[0,e.length-1]}}},Qn=class extends Y{constructor(e){super(e)}static get type(){return`prefix-exact`}static get multiRegex(){return/^\^"(.*)"$/}static get singleRegex(){return/^\^(.*)$/}search(e){let t=e.startsWith(this.pattern);return{isMatch:t,score:+!t,indices:[0,this.pattern.length-1]}}},$n=class extends Y{constructor(e){super(e)}static get type(){return`inverse-prefix-exact`}static get multiRegex(){return/^!\^"(.*)"$/}static get singleRegex(){return/^!\^(.*)$/}search(e){let t=!e.startsWith(this.pattern);return{isMatch:t,score:+!t,indices:[0,e.length-1]}}},er=class extends Y{constructor(e){super(e)}static get type(){return`suffix-exact`}static get multiRegex(){return/^"(.*)"\$$/}static get singleRegex(){return/^(.*)\$$/}search(e){let t=e.endsWith(this.pattern);return{isMatch:t,score:+!t,indices:[e.length-this.pattern.length,e.length-1]}}},tr=class extends Y{constructor(e){super(e)}static get type(){return`inverse-suffix-exact`}static get multiRegex(){return/^!"(.*)"\$$/}static get singleRegex(){return/^!(.*)\$$/}search(e){let t=!e.endsWith(this.pattern);return{isMatch:t,score:+!t,indices:[0,e.length-1]}}},nr=class extends Y{constructor(e,{location:t=J.location,threshold:n=J.threshold,distance:r=J.distance,includeMatches:i=J.includeMatches,findAllMatches:a=J.findAllMatches,minMatchCharLength:o=J.minMatchCharLength,isCaseSensitive:s=J.isCaseSensitive,ignoreDiacritics:c=J.ignoreDiacritics,ignoreLocation:l=J.ignoreLocation}={}){super(e),this._bitapSearch=new Jn(e,{location:t,threshold:n,distance:r,includeMatches:i,findAllMatches:a,minMatchCharLength:o,isCaseSensitive:s,ignoreDiacritics:c,ignoreLocation:l})}static get type(){return`fuzzy`}static get multiRegex(){return/^"(.*)"$/}static get singleRegex(){return/^(.*)$/}search(e){return this._bitapSearch.searchIn(e)}},rr=class extends Y{constructor(e){super(e)}static get type(){return`include`}static get multiRegex(){return/^'"(.*)"$/}static get singleRegex(){return/^'(.*)$/}search(e){let t=0,n,r=[],i=this.pattern.length;for(;(n=e.indexOf(this.pattern,t))>-1;)t=n+i,r.push([n,t-1]);let a=!!r.length;return{isMatch:a,score:+!a,indices:r}}},ir=[Xn,rr,Qn,$n,tr,er,Zn,nr],ar=ir.length,or=`\0`,sr=`|`;function cr(e){let t=[],n=e.length,r=0;for(;r=n)break;let i=r;for(;i=n||e[t]===` `){i++;break}if(e[t]===`$`&&(t+1>=n||e[t+1]===` `)){i+=2;break}}i++}t.push(e.substring(r,i)),r=i}else{for(;i{let n=cr(e.replace(/\u0000/g,`|`).trim()).filter(e=>e&&!!e.trim()),r=[];for(let e=0,i=n.length;e!!(e[hr.AND]||e[hr.OR]),vr=e=>!!e[gr.PATH],yr=e=>!G(e)&&gn(e)&&!_r(e),br=e=>({[hr.AND]:Object.keys(e).map(t=>({[t]:e[t]}))});function xr(e,t,{auto:n=!0}={}){let r=e=>{if(K(e)){let r={keyId:null,pattern:e};return n&&(r.searcher=mr(e,t)),r}let i=Object.keys(e),a=vr(e);if(!a&&i.length>1&&!_r(e))return r(br(e));if(yr(e)){let r=a?e[gr.PATH]:i[0],o=a?e[gr.PATTERN]:e[r];if(!K(o))throw Error(xn(r));let s={keyId:kn(r),pattern:o};return n&&(s.searcher=mr(o,t)),s}let o={children:[],operator:i[0]};return i.forEach(t=>{let n=e[t];G(n)&&n.forEach(e=>{o.children.push(r(e))})}),o};return _r(e)||(e=br(e)),r(e)}function Sr(e,{ignoreFieldNorm:t=J.ignoreFieldNorm}){let n=1;return e.forEach(({key:e,norm:r,score:i})=>{let a=e?e.weight:null;n*=(i===0&&a?2**-52:i)**+((a||1)*(t?1:r))}),n}function Cr(e,{ignoreFieldNorm:t=J.ignoreFieldNorm}){e.forEach(e=>{e.score=Sr(e.matches,{ignoreFieldNorm:t})})}var wr=class{constructor(e){this.limit=e,this.heap=[]}get size(){return this.heap.length}shouldInsert(e){return this.size0;){let n=e-1>>1;if(t[e].score<=t[n].score)break;let r=t[e];t[e]=t[n],t[n]=r,e=n}}_sinkDown(e){let t=this.heap,n=t.length,r=e;do{e=r;let i=2*e+1,a=2*e+2;if(it[r].score&&(r=i),at[r].score&&(r=a),r!==e){let n=t[e];t[e]=t[r],t[r]=n}}while(r!==e)}};function Tr(e,t){let n=e.matches;t.matches=[],q(n)&&n.forEach(e=>{if(!q(e.indices)||!e.indices.length)return;let{indices:n,value:r}=e,i={indices:n,value:r};e.key&&(i.key=e.key.src),e.idx>-1&&(i.refIndex=e.idx),t.matches.push(i)})}function Er(e,t){t.score=e.score}function Dr(e,t,{includeMatches:n=J.includeMatches,includeScore:r=J.includeScore}={}){let i=[];return n&&i.push(Tr),r&&i.push(Er),e.map(e=>{let{idx:n}=e,r={item:t[n],refIndex:n};return i.length&&i.forEach(t=>{t(e,r)}),r})}var Or=/\b\w+\b/g;function kr({isCaseSensitive:e=!1,ignoreDiacritics:t=!1}={}){return{tokenize(n){return e||(n=n.toLowerCase()),t&&(n=qn(n)),n.match(Or)||[]}}}function Ar(e,t,n){let r=new Map,i=new Map,a=0;function o(e,t,o,s){let c=n.tokenize(e);if(!c.length)return;a++;let l=new Map;for(let e of c)l.set(e,(l.get(e)||0)+1);for(let[e,n]of l){let a={docIdx:t,keyIdx:o,subIdx:s,tf:n},c=r.get(e);c||(c=[],r.set(e,c)),c.push(a),i.set(e,(i.get(e)||0)+1)}}for(let n of e){let{i:e,v:r,$:i}=n;if(r!==void 0){o(r,e,-1,-1);continue}if(i)for(let n=0;ne.docIdx!==t),a=r.length-i.length;a>0&&(e.fieldCount-=a,e.df.set(n,(e.df.get(n)||0)-a),i.length===0?(e.terms.delete(n),e.df.delete(n)):e.terms.set(n,i))}}var X=class{constructor(e,t,n){this.options={...J,...t},this.options.useExtendedSearch,this.options.useTokenSearch,this._keyStore=new En(this.options.keys),this._docs=e,this._myIndex=null,this._invertedIndex=null,this.setCollection(e,n),this._lastQuery=null,this._lastSearcher=null}_getSearcher(e){if(this._lastQuery===e)return this._lastSearcher;let t=mr(e,this._invertedIndex?{...this.options,_invertedIndex:this._invertedIndex}:this.options);return this._lastQuery=e,this._lastSearcher=t,t}setCollection(e,t){if(this._docs=e,t&&!(t instanceof Ln))throw Error(bn);if(this._myIndex=t||Rn(this.options.keys,this._docs,{getFn:this.options.getFn,fieldNormWeight:this.options.fieldNormWeight}),this.options.useTokenSearch){let e=kr({isCaseSensitive:this.options.isCaseSensitive,ignoreDiacritics:this.options.ignoreDiacritics});this._invertedIndex=Ar(this._myIndex.records,this._myIndex.keys.length,e)}}add(e){if(q(e)&&(this._docs.push(e),this._myIndex.add(e),this._invertedIndex)){let e=this._myIndex.records[this._myIndex.records.length-1],t=kr({isCaseSensitive:this.options.isCaseSensitive,ignoreDiacritics:this.options.ignoreDiacritics});jr(this._invertedIndex,e,this._myIndex.keys.length,t)}}remove(e=()=>!1){let t=[],n=[];for(let r=0,i=this._docs.length;r=0;--e)this._docs.splice(n[e],1);this._myIndex.removeAll(n)}return t}removeAt(e){this._invertedIndex&&Mr(this._invertedIndex,e);let t=this._docs.splice(e,1)[0];return this._myIndex.removeAt(e),t}getIndex(){return this._myIndex}search(e,t){let{limit:n=-1}=t||{},{includeMatches:r,includeScore:i,shouldSort:a,sortFn:o,ignoreFieldNorm:s}=this.options;if(K(e)&&!e.trim()){let e=this._docs.map((e,t)=>({item:e,refIndex:t}));return mn(n)&&n>-1&&(e=e.slice(0,n)),e}let c=mn(n)&&n>0&&K(e),l;if(c){let t=new wr(n);K(this._docs[0])?this._searchStringList(e,{heap:t,ignoreFieldNorm:s}):this._searchObjectList(e,{heap:t,ignoreFieldNorm:s}),l=t.extractSorted(o)}else l=K(e)?K(this._docs[0])?this._searchStringList(e):this._searchObjectList(e):this._searchLogical(e),Cr(l,{ignoreFieldNorm:s}),a&&l.sort(o),mn(n)&&n>-1&&(l=l.slice(0,n));return Dr(l,this._docs,{includeMatches:r,includeScore:i})}_searchStringList(e,{heap:t,ignoreFieldNorm:n}={}){let r=this._getSearcher(e),{records:i}=this._myIndex,a=t?null:[];return i.forEach(({v:e,i,n:o})=>{if(!q(e))return;let{isMatch:s,score:c,indices:l}=r.searchIn(e);if(s){let r={item:e,idx:i,matches:[{score:c,value:e,norm:o,indices:l}]};t?(r.score=Sr(r.matches,{ignoreFieldNorm:n}),t.shouldInsert(r.score)&&t.insert(r)):a.push(r)}}),a}_searchLogical(e){let t=xr(e,this.options),n=(e,t,r)=>{if(!(`children`in e)){let{keyId:n,searcher:i}=e,a;return n===null?(a=[],this._myIndex.keys.forEach((e,n)=>{a.push(...this._findMatches({key:e,value:t[n],searcher:i}))})):a=this._findMatches({key:this._keyStore.get(n),value:this._myIndex.getValueForItemAtKeyId(t,n),searcher:i}),a&&a.length?[{idx:r,item:t,matches:a}]:[]}let{children:i,operator:a}=e,o=[];for(let e=0,s=i.length;e{if(q(e)){let o=n(t,e,r);o.length&&(i.has(r)||(i.set(r,{idx:r,item:e,matches:[]}),a.push(i.get(r))),o.forEach(({matches:e})=>{i.get(r).matches.push(...e)}))}}),a}_searchObjectList(e,{heap:t,ignoreFieldNorm:n}={}){let r=this._getSearcher(e),{keys:i,records:a}=this._myIndex,o=t?null:[];return a.forEach(({$:e,i:a})=>{if(!q(e))return;let s=[],c=!1,l=!1;if(i.forEach((t,n)=>{let i=this._findMatches({key:t,value:e[n],searcher:r});i.length?(s.push(...i),i[0].hasInverse&&(l=!0)):c=!0}),!(l&&c)&&s.length){let r={idx:a,item:e,matches:s};t?(r.score=Sr(r.matches,{ignoreFieldNorm:n}),t.shouldInsert(r.score)&&t.insert(r)):o.push(r)}}),o}_findMatches({key:e,value:t,searcher:n}){if(!q(t))return[];let r=[];if(G(t))t.forEach(({v:t,i,n:a})=>{if(!q(t))return;let{isMatch:o,score:s,indices:c,hasInverse:l}=n.searchIn(t);o&&r.push({score:s,key:e,value:t,idx:i,norm:a,indices:c,hasInverse:l})});else{let{v:i,n:a}=t,{isMatch:o,score:s,indices:c,hasInverse:l}=n.searchIn(i);o&&r.push({score:s,key:e,value:i,norm:a,indices:c,hasInverse:l})}return r}},Nr=class{static condition(e,t){return t.useTokenSearch}constructor(e,t){this.options=t,this.analyzer=kr({isCaseSensitive:t.isCaseSensitive,ignoreDiacritics:t.ignoreDiacritics});let n=this.analyzer.tokenize(e),{df:r,fieldCount:i}=t._invertedIndex;this.termSearchers=[],this.idfWeights=[];for(let e of n){this.termSearchers.push(new Jn(e,{location:t.location,threshold:t.threshold,distance:t.distance,includeMatches:t.includeMatches,findAllMatches:t.findAllMatches,minMatchCharLength:t.minMatchCharLength,isCaseSensitive:t.isCaseSensitive,ignoreDiacritics:t.ignoreDiacritics,ignoreLocation:!0}));let n=r.get(e)||0,a=Math.log(1+(i-n+.5)/(n+.5));this.idfWeights.push(a)}}searchIn(e){if(!this.termSearchers.length)return{isMatch:!1,score:1};let t=[],n=0,r=0,i=0;for(let a=0;a0?1-n/r:0,o={isMatch:!0,score:Math.max(.001,a)};return this.options.includeMatches&&t.length&&(o.indices=Wn(t)),o}};X.version=`7.3.0`,X.createIndex=Rn,X.parseIndex=zn,X.config=J,X.match=function(e,t,n){return mr(e,{...J,...n}).searchIn(t)},X.parseQuery=xr,pr(dr),pr(Nr),X.use=function(...e){e.forEach(e=>pr(e))};var Pr={class:`bg-main transform`,shadow:`~`,p:`x-4 y-2`,border:`~ transparent rounded dark:main`},Fr=[`value`,`disabled`],Ir={table:``,"w-full":``,"border-collapse":``},Lr=[`border`,`onClick`],Rr={"text-right":``,op50:``,"text-sm":``,"table-cell":``,"py-2":``,"pl-4":``,"pr-3":``,"vertical-middle":``},zr=it(u({__name:`Goto`,setup(e){let n=x(),r=x(),i=x(),o=x(),s=x(``),c=x(0),{go:l,slides:u}=H();function f(e){return e!=null}let p=T(()=>new X(u.value.map(e=>e.meta?.slide).filter(f),{keys:[`no`,`title`],threshold:.3,shouldSort:!0,minMatchCharLength:1})),m=T(()=>s.value.startsWith(`/`)?s.value.substring(1):s.value),_=T(()=>m.value?p.value.search(m.value).map(e=>e.item):[]),b=T(()=>!!_.value.length);function C(){if(b.value){let e=_.value.at(c.value||0);e&&l(e.no)}D()}function D(){s.value=``,U.value=!1}function O(e){e.preventDefault(),c.value++,c.value>=_.value.length&&(c.value=0),te()}function ee(e){e.preventDefault(),c.value--,c.value<=-2&&(c.value=_.value.length-1),te()}function te(){let e=o.value?.[c.value];e&&i.value&&(e.offsetTop+e.offsetHeight>i.value.offsetHeight+i.value.scrollTop?i.value.scrollTo({behavior:`smooth`,top:e.offsetTop+e.offsetHeight-i.value.offsetHeight+1}):e.offsetTop{e?(s.value=``,c.value=0,setTimeout(()=>r.value?.focus(),0)):r.value?.blur()}),a(st,()=>{n.value?.contains(st.value)||D()}),(e,a)=>(P(),v(`div`,{id:`slidev-goto-dialog`,ref_key:`container`,ref:n,class:g([`fixed right-5 transition-all`,E(U)?`top-5`:`-top-20`]),"w-90":``,"max-w-90":``,"min-w-90":``},[h(`div`,Pr,[h(`input`,{id:`slidev-goto-input`,ref_key:`input`,ref:r,value:s.value,type:`text`,disabled:!E(U),class:g([`outline-none bg-transparent`,{"text-red-400":!b.value&&s.value}]),placeholder:`Goto...`,onKeydown:[S(C,[`enter`]),S(D,[`escape`]),S(O,[`down`]),S(ee,[`up`])],onInput:ne},null,42,Fr)]),_.value.length>0?(P(),v(`div`,{key:0,ref_key:`list`,ref:i,class:`autocomplete-list`,shadow:`~`,border:`~ transparent rounded dark:main`},[h(`ul`,Ir,[(P(!0),v(k,null,d(_.value,(e,n)=>(P(),v(`li`,{ref_for:!0,ref_key:`items`,ref:o,key:e.id,role:`button`,tabindex:`0`,"cursor-pointer":``,hover:`op100`,"table-row":``,"items-center":``,border:n===0?void 0:`t main`,class:g(c.value===n?`bg-active op100`:`op80`),onClick:w(t=>re(e.no),[`stop`,`prevent`])},[h(`div`,Rr,y(e.no),1),t(E(dn),{"table-cell":``,"py-2":``,"pr-4":``,"w-full":``,no:e.no},null,8,[`no`])],10,Lr))),128))])],512)):M(`v-if`,!0)],2))}}),[[`__scopeId`,`data-v-2e5f059d`]]),Br=x(1),Vr=T(()=>Ke.value.length),Z=x(0),Hr=x(0);function Ur(){Z.value>Br.value&&--Z.value}function Wr(){Z.valueBr.value){let e=Z.value-Hr.value;eVr.value&&(e=Vr.value),Z.value=e}}var qr=[`onClick`],Jr={class:`text-green font-bold`},Yr={class:`opacity-50`},Xr={key:1,class:`opacity-50`},Zr={class:`fixed top-4 right-4 z-modal text-gray-400 flex flex-col items-center gap-2`},Qr=128,$r=32,ei=u({__name:`QuickOverview`,setup(e){let{currentSlideNo:n,go:r,slides:i}=H();function a(){z.value=!1}function o(e){r(e),a()}function s(e){return e===Z.value}let l=Ue.smaller(`xs`),u=Ue.smaller(`sm`),f=T(()=>l.value?Fe.width.value-Qr:u.value?(Fe.width.value-Qr-$r)/2:300),b=T(()=>Math.floor((Fe.width.value-Qr)/(f.value+$r))),S=x(``);return pe(`keypress`,e=>{if(!z.value){S.value=``;return}if(e.key===`Enter`){e.preventDefault(),S.value?(o(+S.value),S.value=``):o(Z.value);return}let t=Number.parseInt(e.key.replace(/\D/g,``));if(Number.isNaN(t)){S.value=``;return}if(!S.value&&t===0)return;if(S.value+=String(t),+S.value>i.value.length){S.value=``;return}let n=i.value.findIndex(e=>`/${e.no}`===S.value);n!==-1&&(Z.value=n+1),S.value*10>i.value.length&&(o(+S.value),S.value=``)}),p(()=>{Z.value=n.value,Hr.value=b.value}),(e,n)=>(P(),v(k,null,[t(_,{"enter-active-class":`duration-150 ease-out`,"enter-from-class":`opacity-0 scale-102 !backdrop-blur-0px`,"leave-active-class":`duration-200 ease-in`,"leave-to-class":`opacity-0 scale-102 !backdrop-blur-0px`},{default:m(()=>[E(z)?(P(),v(`div`,{key:0,class:`fixed left-0 right-0 top-0 h-[calc(var(--vh,1vh)*100)] z-modal bg-main !bg-opacity-75 p-16 py-20 overflow-y-auto backdrop-blur-5px select-none`,onClick:a},[h(`div`,{class:`grid gap-y-4 gap-x-8 w-full`,style:N(`grid-template-columns: repeat(auto-fit,minmax(${f.value}px,1fr))`)},[(P(!0),v(k,null,d(E(i),(e,n)=>(P(),v(`div`,{key:e.no,class:`relative`},[h(`div`,{class:g([`inline-block border rounded overflow-hidden bg-main hover:border-primary transition`,s(n+1)||E(Z)===n+1?`border-primary`:`border-main`]),onClick:t=>o(e.no)},[(P(),A(dt,{key:e.no,no:e.no,"use-snapshot":!0,width:f.value,class:`pointer-events-none`},{default:m(()=>[t(mt,{"clicks-context":E(We)(e,E(He)),route:e,"render-context":`overview`},null,8,[`clicks-context`,`route`]),t(lt,{page:e.no},null,8,[`page`])]),_:2},1032,[`no`,`width`]))],10,qr),h(`div`,{class:`absolute top-0`,style:N(`left: ${f.value+5}px`)},[S.value&&String(n+1).startsWith(S.value)?(P(),v(k,{key:0},[h(`span`,Jr,y(S.value),1),h(`span`,Yr,y(String(n+1).slice(S.value.length)),1)],64)):(P(),v(`span`,Xr,y(n+1),1))],4)]))),128))],4)])):M(`v-if`,!0)]),_:1}),c(h(`div`,Zr,[t(W,{title:`Close`,class:`text-2xl`,onClick:a},{default:m(()=>[...n[0]||=[h(`div`,{class:`i-carbon:close`},null,-1)]]),_:1}),(P(),A(W,{key:0,as:`a`,title:`Slides Overview`,target:`_blank`,href:`${E(Ce)}overview`,"tab-index":`-1`,class:`text-2xl`},{default:m(()=>[...n[1]||=[h(`div`,{class:`i-carbon:list-boxes`},null,-1)]]),_:1},8,[`href`])),M(`v-if`,!0)],512),[[ae,E(z)]])],64))}});function ti(){let e=ge();return T(()=>{let t=ut.value?.getBoundingClientRect();if(!t)return;let n=(e.x.value-t.left)/t.width*100,r=(e.y.value-t.top)/t.height*100;if(!(n<0||n>100||r<0||r>100))return{x:n,y:r}})}var ni={key:0,class:`absolute top-0 left-0 right-0 bottom-0 pointer-events-none text-xl`},ri=it(u({__name:`LaserPointer`,setup(e){let t=ti(),{isPresenter:n}=H(),r=T(()=>!n.value&&Qe.cursor?.style===`laser`?Qe.cursor:ot.value===`laser`?t.value:null);return o(()=>{p(()=>{document.body.classList.toggle(`slidev-self-laser-active`,ot.value===`laser`&&!!r.value)})}),(e,t)=>r.value?(P(),v(`div`,ni,[h(`div`,{class:`laser-pointer`,style:N({left:`${r.value.x}%`,top:`${r.value.y}%`})},null,4)])):M(`v-if`,!0)}}),[[`__scopeId`,`data-v-9cef461a`]]),ii={render:()=>[]},ai={key:0,class:`bg-main text-main shadow-xl absolute bottom-10 left-0 z-menu py2`,border:`~ main rounded-md`},oi=u({__name:`MenuButton`,props:{modelValue:{default:!1},disabled:{default:!1}},setup(e,{emit:t}){let n=le(e,`modelValue`,t,{passive:!0}),r=x();return fe(r,()=>{n.value=!1}),(t,a)=>(P(),v(`div`,{ref_key:`el`,ref:r,class:`flex relative`},[h(`button`,{class:g({disabled:e.disabled}),onClick:a[0]||=e=>n.value=!E(n)},[i(t.$slots,`button`,{value:E(n),class:g({disabled:e.disabled})})],2),(P(),A(te,null,[E(n)?(P(),v(`div`,ai,[i(t.$slots,`menu`)])):M(`v-if`,!0)],1024))],512))}}),si={border:`~ main rounded`,flex:`~ gap-2 items-center`,relative:``,"h-5":``,"w-5":``,"p0.5":``,"hover:bg-active":``,p1:``},ci=[`disabled`],li=u({__name:`FormCheckbox`,props:O({disabled:{type:Boolean}},{modelValue:{type:Boolean,type:Boolean},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let t=r(e,`modelValue`);return(n,r)=>(P(),v(`div`,si,[h(`div`,{"i-ri-check-line":``,class:g(t.value?``:`op0`)},null,2),c(h(`input`,{"onUpdate:modelValue":r[0]||=e=>t.value=e,type:`checkbox`,absolute:``,"inset-0":``,"opacity-10":``,disabled:e.disabled},null,8,ci),[[b,t.value]])]))}}),ui={"w-30":``,"h-8":``,flex:`~ gap-1 items-center`},di={key:0,"w-1.5":``,"h-1.5":``,"bg-primary":``,rounded:``,absolute:``,"top-0":``,"right--2":``},fi={key:0,"w-1.5":``,"h-1.5":``,"bg-primary":``,rounded:``,absolute:``,"top-0":``,"right--2":``},pi=[`innerHTML`],Q=u({__name:`FormItem`,props:{title:{},nested:{type:[Boolean,Number]},div:{type:Boolean},description:{},dot:{type:Boolean}},emits:[`reset`],setup(e,{emit:t}){let n=t;function r(){n(`reset`)}return(t,n)=>(P(),A(f(e.div?`div`:`label`),{flex:`~ row gap-2 items-center`,"select-none":``},{default:m(()=>[h(`div`,ui,[e.nested?(P(),v(`div`,{key:0,"i-ri-corner-down-right-line":``,op40:``,style:N(typeof e.nested==`number`?{marginLeft:`${e.nested*.5+.5}rem`}:{marginLeft:`0.25rem`})},null,4)):M(`v-if`,!0),e.description?(P(),A(E(ne),{key:2,distance:`10`},{popper:m(()=>[h(`div`,{"text-sm":``,"min-w-90":``,innerHTML:e.description},null,8,pi)]),default:m(()=>[h(`div`,{op75:``,"text-right":``,relative:``,onDblclick:r},[l(y(e.title)+` `,1),e.dot?(P(),v(`div`,fi)):M(`v-if`,!0)],32)]),_:1})):(P(),v(`div`,{key:1,op75:``,relative:``,onDblclick:r},[l(y(e.title)+` `,1),e.dot?(P(),v(`div`,di)):M(`v-if`,!0)],32))]),i(t.$slots,`default`)]),_:3}))}}),mi={relative:``,"h-22px":``},hi={key:0,"pointer-events-none":``,absolute:``,"right-1":``,"top-0.5":``,"text-xs":``,op25:``},gi=u({__name:`FormSlider`,props:O({max:{},min:{},step:{},unit:{},default:{}},{modelValue:{type:Number},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let t=e,n=r(e,`modelValue`);return(r,i)=>(P(),v(k,null,[h(`div`,{relative:``,"h-22px":``,"w-60":``,"flex-auto":``,onDblclick:i[1]||=e=>t.default===void 0?null:n.value=t.default},[c(h(`input`,s({"onUpdate:modelValue":i[0]||=e=>n.value=e,type:`range`,class:`slider`},t,{absolute:``,"bottom-0":``,"left-0":``,"right-0":``,"top-0":``,"z-10":``,"w-full":``,"align-top":``}),null,16),[[ee,n.value,void 0,{number:!0}]]),t.default==null?M(`v-if`,!0):(P(),v(`span`,{key:0,border:`r main`,absolute:``,"bottom-0":``,"top-0":``,"h-full":``,"w-1px":``,op75:``,style:N({left:`${(t.default-e.min)/(e.max-e.min)*100}%`})},null,4))],32),h(`div`,mi,[c(h(`input`,s({"onUpdate:modelValue":i[2]||=e=>n.value=e,type:`number`},t,{border:`~ main rounded`,m0:``,"w-20":``,"bg-gray:5":``,pl2:``,"align-top":``,"text-sm":``}),null,16),[[ee,n.value,void 0,{number:!0}]]),t.unit?(P(),v(`span`,hi,y(t.unit),1)):M(`v-if`,!0)])],64))}}),_i={error:0,client:60,Light:60,Dark:240};function vi(e,t=1){if(_i[e])return yi(_i[e],t);let n=0;for(let t=0;t!t.text||t.color===!1?{}:{color:typeof t.color==`number`?yi(t.color):vi(t.text),background:typeof t.color==`number`?yi(t.color,.1):vi(t.text,.1)}),r=T(()=>{switch(t.size||`sm`){case`sm`:return`px-1.5 text-11px leading-1.6em`}return``});return(a,o)=>(P(),A(f(e.as||`span`),{"ws-nowrap":``,rounded:``,class:g(r.value),style:N(n.value)},{default:m(()=>[i(a.$slots,`default`,{},()=>[h(`span`,{textContent:y(t.text)},null,8,bi)])]),_:3},8,[`class`,`style`]))}}),Si={flex:`~ gap-1 items-center`,rounded:``,"bg-gray:4":``,p1:``,"m--1":``},Ci=u({__name:`SegmentControl`,props:{options:{},modelValue:{}},emits:[`update:modelValue`],setup(e){return(t,n)=>(P(),v(`div`,Si,[(P(!0),v(k,null,d(e.options,n=>(P(),A(xi,{key:n.value,class:g([`px-2 py-1 text-xs font-mono`,n.value===e.modelValue?``:`op50`]),color:n.value===e.modelValue,"aria-pressed":n.value===e.modelValue,size:`none`,text:n.label,as:`button`,onClick:e=>t.$emit(`update:modelValue`,n.value)},null,8,[`class`,`color`,`aria-pressed`,`text`,`onClick`]))),128))]))}}),wi={"text-sm":``,"select-none":``,flex:`~ col gap-1`,"min-w-30":``,px4:``},Ti=u({__name:`Settings`,setup(e){let{isPresenter:n}=H(),{isSupported:r}=oe();return(e,i)=>(P(),v(`div`,wi,[t(Q,{title:`Invert`,dot:E(V).invert!==E(B).invert,onReset:i[1]||=e=>E(V).invert=E(B).invert},{default:m(()=>[t(li,{modelValue:E(V).invert,"onUpdate:modelValue":i[0]||=e=>E(V).invert=e},null,8,[`modelValue`])]),_:1},8,[`dot`]),t(Q,{title:`Brightness`,dot:E(V).brightness!==E(B).brightness,onReset:i[3]||=e=>E(V).brightness=E(B).brightness},{default:m(()=>[t(gi,{modelValue:E(V).brightness,"onUpdate:modelValue":i[2]||=e=>E(V).brightness=e,max:1.5,min:.5,step:.02,default:E(B).brightness},null,8,[`modelValue`,`default`])]),_:1},8,[`dot`]),t(Q,{title:`Contrast`,dot:E(V).contrast!==E(B).contrast,onReset:i[5]||=e=>E(V).contrast=E(B).contrast},{default:m(()=>[t(gi,{modelValue:E(V).contrast,"onUpdate:modelValue":i[4]||=e=>E(V).contrast=e,max:1.5,min:.5,step:.02,default:E(B).contrast},null,8,[`modelValue`,`default`])]),_:1},8,[`dot`]),t(Q,{title:`Saturation`,dot:E(V).saturate!==E(B).saturate,onReset:i[7]||=e=>E(V).saturate=E(B).saturate},{default:m(()=>[t(gi,{modelValue:E(V).saturate,"onUpdate:modelValue":i[6]||=e=>E(V).saturate=e,max:1.5,min:.5,step:.02,default:E(B).saturate},null,8,[`modelValue`,`default`])]),_:1},8,[`dot`]),t(Q,{title:`Sepia`,dot:E(V).sepia!==E(B).sepia,onReset:i[9]||=e=>E(V).sepia=E(B).sepia},{default:m(()=>[t(gi,{modelValue:E(V).sepia,"onUpdate:modelValue":i[8]||=e=>E(V).sepia=e,max:2,min:-2,step:.02,default:E(B).sepia},null,8,[`modelValue`,`default`])]),_:1},8,[`dot`]),t(Q,{title:`Hue Rotate`,dot:E(V).hueRotate!==E(B).hueRotate,onReset:i[11]||=e=>E(V).hueRotate=E(B).hueRotate},{default:m(()=>[t(gi,{modelValue:E(V).hueRotate,"onUpdate:modelValue":i[10]||=e=>E(V).hueRotate=e,max:180,min:-180,step:.1,default:E(B).hueRotate},null,8,[`modelValue`,`default`])]),_:1},8,[`dot`]),i[16]||=h(`div`,{class:`h-1px opacity-5 bg-current w-full my2`},null,-1),t(Q,{title:`Cursor Style`},{default:m(()=>[t(Ci,{modelValue:E(ot),"onUpdate:modelValue":i[12]||=e=>ie(ot)?ot.value=e:null,options:[{label:`Cursor`,value:`cursor`},{label:`Laser`,value:`laser`}]},null,8,[`modelValue`])]),_:1}),E(n)?M(`v-if`,!0):(P(),A(Q,{key:0,title:`Slide Scale`},{default:m(()=>[t(Ci,{modelValue:E(ze),"onUpdate:modelValue":i[13]||=e=>ie(ze)?ze.value=e:null,options:[{label:`Fit`,value:0},{label:`1:1`,value:1}]},null,8,[`modelValue`])]),_:1})),E(r)?(P(),A(Q,{key:1,title:`Wake Lock`},{default:m(()=>[t(li,{modelValue:E(Be),"onUpdate:modelValue":i[14]||=e=>ie(Be)?Be.value=e:null},null,8,[`modelValue`])]),_:1})):M(`v-if`,!0),E(n)?M(`v-if`,!0):(P(),A(Q,{key:2,title:`Hide Idle Cursor`},{default:m(()=>[t(li,{modelValue:E(Te),"onUpdate:modelValue":i[15]||=e=>ie(Te)?Te.value=e:null},null,8,[`modelValue`])]),_:1}))]))}}),Ei={class:`select-list`},Di={class:`title`},Oi={class:`items`},ki=[`onClick`],Ai=it(u({__name:`SelectList`,props:{modelValue:{type:[Object,String,Number,Boolean]},title:{type:String},items:{type:Array}},setup(e,{emit:t}){let n=le(e,`modelValue`,t,{passive:!0});return(t,r)=>(P(),v(`div`,Ei,[h(`div`,Di,y(e.title),1),h(`div`,Oi,[(P(!0),v(k,null,d(e.items,e=>(P(),v(`div`,{key:e.value,class:g([`item`,{active:E(n)===e.value}]),onClick:()=>{n.value=e.value,e.onClick?.()}},[h(`div`,{class:g([`i-carbon:checkmark text-green-500 mya`,{"opacity-0":E(n)!==e.value}])},null,2),h(`div`,{class:g({"opacity-50":E(n)!==e.value})},y(e.display||e.value),3)],10,ki))),128))])]))}}),[[`__scopeId`,`data-v-6cd69f25`]]),ji={"text-sm":``,flex:`~ col gap-2`},Mi={px3:``,"ws-nowrap":``},Ni={"font-bold":``,"text-primary":``},Pi=u({__name:`SyncControls`,setup(e){let{isPresenter:n}=H(),r=T({get:()=>n.value?R.value.presenterReceive:R.value.viewerReceive,set(e){n.value?R.value.presenterReceive=e:R.value.viewerReceive=e}}),i=T({get:()=>n.value?R.value.presenterSend:R.value.viewerSend,set(e){n.value?R.value.presenterSend=e:R.value.viewerSend=e}}),a=T({get:()=>r.value&&i.value?`bidirectional`:r.value&&!i.value?`receive-only`:!r.value&&i.value?`send-only`:`off`,set(e){switch(e){case`bidirectional`:r.value=!0,i.value=!0;break;case`receive-only`:r.value=!0,i.value=!1;break;case`send-only`:r.value=!1,i.value=!0;break;case`off`:r.value=!1,i.value=!1;break}}});return(e,o)=>(P(),A(oi,null,{button:m(()=>[t(W,{title:`Change sync settings`},{default:m(()=>[h(`div`,{class:g([`i-ph:arrow-up-bold mx--1.2 scale-x-80`,i.value?`text-green6 dark:text-green`:`op30`])},null,2),h(`div`,{class:g([`i-ph:arrow-down-bold mx--1.2 scale-x-80`,r.value?`text-green6 dark:text-green`:`op30`])},null,2)]),_:1})]),menu:m(()=>[h(`div`,ji,[h(`div`,Mi,[o[1]||=h(`span`,{op75:``},`Slides navigation syncing for `,-1),h(`span`,Ni,y(E(n)?`presenter`:`viewer`),1)]),o[2]||=h(`div`,{class:`h-1px opacity-10 bg-current w-full`},null,-1),t(Ai,{modelValue:a.value,"onUpdate:modelValue":o[0]||=e=>a.value=e,title:`Sync Mode`,items:[{value:`bidirectional`,display:`Bidirectional Sync`},{value:`receive-only`,display:`Receive Only`},{value:`send-only`,display:`Send Only`},{value:`off`,display:`Disable`}]},null,8,[`modelValue`])])]),_:1}))}}),Fi={key:0,class:`i-carbon:minimize`},Ii={key:1,class:`i-carbon:maximize`},Li={key:0,class:`i-carbon-moon`},Ri={key:1,class:`i-carbon-sun`},zi={key:0,class:`i-carbon-magic-wand-filled color-red-600 dark:color-red-400`},Bi={key:1,class:`i-carbon-magic-wand`},Vi={key:0,class:`i-ph-cursor-fill`},Hi={key:1,class:`i-ph-cursor-duotone`},Ui={key:0,"w-2":``,"h-2":``,"bg-primary":``,"rounded-full":``,absolute:``,"top-0.5":``,"right-0.5":``},Wi={class:`px2 my-auto`},Gi={class:`text-lg`},Ki={class:`opacity-50 text-sm`},qi=u({__name:`NavControls`,props:{persist:{default:!1}},setup(e){let n=e,{currentSlideNo:r,hasNext:i,hasPrev:a,isEmbedded:o,isPresenter:s,isPresenterAvailable:c,next:u,prev:d,total:f,enterPresenter:p,exitPresenter:_}=H(),{brush:b,drawingEnabled:S}=ct(),w=Ue.smaller(`md`),{isFullscreen:D,toggle:O}=at,ee=x();function te(){ee.value&&st.value&&ee.value.contains(st.value)&&st.value.blur()}let ne=T(()=>n.persist?`text-$slidev-controls-foreground bg-transparent`:`rounded-md bg-main shadow-xl border border-main`),re=C();return(e,n)=>(P(),v(`nav`,{ref_key:`root`,ref:ee,class:`flex flex-col`},[h(`div`,{class:g([`flex flex-wrap-reverse text-xl gap-0.5 p-1 lg:p-2`,ne.value]),onMouseleave:te},[E(o)?M(`v-if`,!0):(P(),A(W,{key:0,title:E(D)?`Close fullscreen`:`Enter fullscreen`,onClick:E(O)},{default:m(()=>[E(D)?(P(),v(`div`,Fi)):(P(),v(`div`,Ii))]),_:1},8,[`title`,`onClick`])),t(W,{disabled:!E(a),title:`Go to previous slide`,onClick:E(d)},{default:m(()=>[...n[6]||=[h(`div`,{class:`i-carbon:arrow-left`},null,-1)]]),_:1},8,[`disabled`,`onClick`]),t(W,{disabled:!E(i),title:`Go to next slide`,onClick:E(u)},{default:m(()=>[...n[7]||=[h(`div`,{class:`i-carbon:arrow-right`},null,-1)]]),_:1},8,[`disabled`,`onClick`]),E(o)?M(`v-if`,!0):(P(),A(W,{key:1,title:`Show slide overview`,onClick:n[0]||=e=>E(Ae)()},{default:m(()=>[...n[8]||=[h(`div`,{class:`i-carbon:apps`},null,-1)]]),_:1})),E($e)?M(`v-if`,!0):(P(),A(W,{key:2,title:E(Ze)?`Switch to light mode theme`:`Switch to dark mode theme`,onClick:n[1]||=e=>E(qe)()},{default:m(()=>[E(Ze)?(P(),v(`div`,Li)):(P(),v(`div`,Ri))]),_:1},8,[`title`])),t(vt),E(o)?M(`v-if`,!0):(P(),v(k,{key:3},[!E(s)&&!E(w)&&re.value?(P(),v(k,{key:0},[t(E(re)),t(vt)],64)):M(`v-if`,!0),E(s)?(P(),A(W,{key:1,title:E(ot)===`laser`?E(De)?`Disable laser pointer`:`Enable laser pointer`:E(De)?`Hide presenter cursor`:`Show presenter cursor`,active:E(De),onClick:n[2]||=e=>E(et)()},{default:m(()=>[E(ot)===`laser`?(P(),v(k,{key:0},[E(De)?(P(),v(`div`,zi)):(P(),v(`div`,Bi))],64)):(P(),v(k,{key:1},[E(De)?(P(),v(`div`,Vi)):(P(),v(`div`,Hi))],64))]),_:1},8,[`title`,`active`])):M(`v-if`,!0),!E(L).drawings.presenterOnly||E(s)?(P(),A(W,{key:2,class:`relative`,title:E(S)?`Hide drawing toolbar`:`Show drawing toolbar`,active:E(S),onClick:n[3]||=e=>S.value=!E(S)},{default:m(()=>[n[9]||=h(`div`,{class:`i-carbon:pen`},null,-1),E(S)?(P(),v(`div`,{key:0,class:`absolute left-1 right-1 bottom-0 h-0.7 rounded-full`,style:N({background:E(b).color})},null,4)):M(`v-if`,!0)]),_:1},8,[`title`,`active`])):M(`v-if`,!0),t(vt),E(s)?(P(),A(W,{key:3,title:`Play Mode`,onClick:E(_)},{default:m(()=>[...n[10]||=[h(`div`,{class:`i-carbon:presentation-file`},null,-1)]]),_:1},8,[`onClick`])):M(`v-if`,!0),E(c)?(P(),A(W,{key:4,title:`Presenter Mode`,onClick:E(p)},{default:m(()=>[...n[11]||=[h(`div`,{class:`i-carbon:user-speaker`},null,-1)]]),_:1},8,[`onClick`])):M(`v-if`,!0),M(`v-if`,!0)],64)),(P(),v(k,{key:4},[E(L).download?(P(),A(W,{key:0,title:`Download as PDF`,onClick:E(Je)},{default:m(()=>[...n[13]||=[h(`div`,{class:`i-carbon:download`},null,-1)]]),_:1},8,[`onClick`])):M(`v-if`,!0)],64)),M(`v-if`,!0),!E(s)&&E(L).info&&!E(o)?(P(),A(W,{key:6,title:`Show info`,onClick:n[5]||=e=>xe.value=!E(xe)},{default:m(()=>[...n[15]||=[h(`div`,{class:`i-carbon:information`},null,-1)]]),_:1})):M(`v-if`,!0),E(o)?M(`v-if`,!0):(P(),v(k,{key:7},[t(vt),E(s)?(P(),A(W,{key:0,title:`Toggle Presenter Layout`,class:`aspect-ratio-initial flex items-center`,onClick:E(ke)},{default:m(()=>[n[16]||=h(`div`,{class:`i-carbon:template`},null,-1),l(` `+y(E(Pe)),1)]),_:1},8,[`onClick`])):M(`v-if`,!0),(P(),A(Pi,{key:1})),t(oi,null,{button:m(({value:e})=>[t(W,{title:`More Options`,active:e},{default:m(()=>[n[17]||=h(`div`,{class:`i-carbon:settings-adjust`},null,-1),E(Le)?(P(),v(`div`,Ui)):M(`v-if`,!0)]),_:1},8,[`active`])]),menu:m(()=>[t(Ti)]),_:1})],64)),E(o)?M(`v-if`,!0):(P(),A(vt,{key:8})),h(`div`,Wi,[h(`span`,Gi,y(E(r)),1),h(`span`,Ki,` / `+y(E(f)),1)]),t(E(ii))],34)],512))}}),Ji=new Set,Yi=new Set,Xi=/\/$/;function Zi(e){return e.startsWith(`http`)||e.startsWith(`//`)?e:`${`./`.replace(Xi,``)}${e.startsWith(`/`)?e:`/${e}`}`}function Qi(e){let t=Zi(e);if(Ji.has(t)||Yi.has(t))return;Yi.add(t);let n=new Image;n.onload=()=>{Yi.delete(t),Ji.add(t)},n.onerror=()=>{Yi.delete(t)},n.src=t}function $i(e){let t=e.meta?.slide?.images;if(t?.length)for(let e of t)Qi(e)}function ea(e,t,n,r){let i=L.preloadImages;if(i===!1)return;let a=typeof i==`object`&&i?.ahead||3;p(()=>{let i=e.value,o=r.value;if(!i||!o?.length)return;$i(i),$i(t.value),$i(n.value);let s=i.no-1;for(let e=1;e<=a;e++){let t=s+e;t{let t=r.value,n=setTimeout(()=>{if(t?.length)for(let e of t)$i(e)},3e3);e(()=>clearTimeout(n))})}function ta(){let e=ue(),t=x(!1),n,r,i=typeof document<`u`&&`startViewTransition`in document;return e.beforeResolve((e,a)=>{let o=ye(a.params.no)?.meta,s=ye(e.params.no)?.meta,c=o?.slide?.no,l=s?.slide?.no;if((c!=null&&l!=null&&c!==l&&((c{n=e,r=t}),d,f=new Promise(e=>d=e);return setTimeout(()=>{document.startViewTransition(()=>(d(),u))},50),f}),i&&e.afterEach(()=>{n?.(),r?.()}),t}var na=[`data-drag-id`],$=10,ra=10,ia=`absolute border border-gray bg-gray dark:border-gray-500 dark:bg-gray-800 bg-opacity-30 `,aa=20,oa=u({__name:`DragControl`,props:{data:{}},setup(t){let{dragId:r,zoom:i,autoHeight:a,x0:o,y0:s,width:c,height:l,rotate:u,isArrow:d}=t.data,f=e(Ge,x(1)),m=T(()=>f.value*i.value),{left:_,top:y}=tt(),b=d?-1/0:40,S=T(()=>u.value*Math.PI/180),C=T(()=>Math.sin(S.value)),w=T(()=>Math.cos(S.value)),D=T(()=>c.value*w.value+l.value*C.value),O=T(()=>c.value*C.value+l.value*w.value),ee=T(()=>o.value-D.value/2),te=T(()=>s.value-O.value/2),ne=T(()=>o.value+D.value/2),re=T(()=>s.value+O.value/2),ie=T(()=>d&&c.value<0),ae=T(()=>d&&l.value<0),A=null;function oe(e){if(e.buttons!==1)return;e.preventDefault(),e.stopPropagation();let t=e.target.getBoundingClientRect(),n=c.value*w.value-l.value*C.value,r=c.value*C.value+l.value*w.value,i=c.value*w.value+l.value*C.value,a=-c.value*C.value+l.value*w.value;A={x0:o.value,y0:s.value,width:c.value,height:l.value,rotate:u.value,dx0:e.clientX-(t.left+t.right)/2,dy0:e.clientY-(t.top+t.bottom)/2,ltx:o.value-n/2,lty:s.value-r/2,rtx:o.value+i/2,rty:s.value-a/2,lbx:o.value-i/2,lby:s.value+a/2,rbx:o.value+n/2,rby:s.value+r/2},e.currentTarget.setPointerCapture(e.pointerId)}function ce(e){if(!A||e.buttons!==1)return;e.preventDefault(),e.stopPropagation();let t=(e.clientX-_.value-A.dx0)/m.value,n=(e.clientY-y.value-A.dy0)/m.value;o.value=Ne(t,-D.value/2+ra,Ee.value+D.value/2-ra),s.value=Ne(n,-O.value/2+ra,Re.value+O.value/2-ra)}function le(e){A&&=(e.preventDefault(),e.stopPropagation(),null)}function ue(e,t){return{onPointerdown:oe,onPointermove:n=>{if(!A||n.buttons!==1)return;n.preventDefault(),n.stopPropagation();let r=(n.clientX-_.value)/m.value,i=(n.clientY-y.value)/m.value,{ltx:a,lty:u,rtx:d,rty:f,lbx:p,lby:h,rbx:g,rby:v}=A,x=A.width/A.height,S=Math.max(b,b*x);function T(e,t){if(n.shiftKey){let n=Math.max(e,t*x,S);return{w:n,h:n/x}}else return{w:Math.max(e,b),h:Math.max(t,b)}}if(e)if(t){let{w:e,h:t}=T((g-r)*w.value+(v-i)*C.value,-(g-r)*C.value+(v-i)*w.value);r=g-e*w.value+t*C.value,i=v-e*C.value-t*w.value}else{let{w:e,h:t}=T((d-r)*w.value-(i-f)*C.value,(d-r)*C.value+(i-f)*w.value);r=d-e*w.value-t*C.value,i=f-e*C.value+t*w.value}else if(t){let{w:e,h:t}=T((r-p)*w.value-(h-i)*C.value,(r-p)*C.value+(h-i)*w.value);r=p+e*w.value+t*C.value,i=h+e*C.value-t*w.value}else{let{w:e,h:t}=T((r-a)*w.value+(i-u)*C.value,-(r-a)*C.value+(i-u)*w.value);r=a+e*w.value-t*C.value,i=u+e*C.value+t*w.value}e?t?(o.value=(r+g)/2,s.value=(i+v)/2,c.value=(g-r)*w.value+(v-i)*C.value,l.value=-(g-r)*C.value+(v-i)*w.value):(o.value=(r+d)/2,s.value=(i+f)/2,c.value=(d-r)*w.value-(i-f)*C.value,l.value=(d-r)*C.value+(i-f)*w.value):t?(o.value=(r+p)/2,s.value=(i+h)/2,c.value=(r-p)*w.value-(h-i)*C.value,l.value=(r-p)*C.value+(h-i)*w.value):(o.value=(r+a)/2,s.value=(i+u)/2,c.value=(r-a)*w.value+(i-u)*C.value,l.value=-(r-a)*C.value+(i-u)*w.value)},onPointerup:le,style:{width:`${$}px`,height:`${$}px`,margin:`-${$/2}px`,left:e===ie.value?void 0:`0`,right:e===ie.value?`0`:void 0,top:t===ae.value?void 0:`0`,bottom:t===ae.value?`0`:void 0,cursor:d?`move`:+e+ +t==1?`nesw-resize`:`nwse-resize`,borderRadius:d?`50%`:void 0},class:ia}}function de(e){return{onPointerdown:oe,onPointermove:t=>{if(!A||t.buttons!==1)return;t.preventDefault(),t.stopPropagation();let n=(t.clientX-_.value)/m.value,r=(t.clientY-y.value)/m.value,{ltx:i,lty:a,rtx:u,rty:d,lbx:f,lby:p,rbx:h,rby:g}=A;if(e===`l`){let e=(u+h)/2,t=(d+g)/2;c.value=Math.max((e-n)*w.value+(t-r)*C.value,b),o.value=e-c.value*w.value/2,s.value=t-c.value*C.value/2}else if(e===`r`){let e=(i+f)/2,t=(a+p)/2;c.value=Math.max((n-e)*w.value+(r-t)*C.value,b),o.value=e+c.value*w.value/2,s.value=t+c.value*C.value/2}else if(e===`t`){let e=(f+h)/2,t=(p+g)/2;l.value=Math.max((t-r)*w.value-(e-n)*C.value,b),o.value=e+l.value*C.value/2,s.value=t-l.value*w.value/2}else if(e===`b`){let e=(i+u)/2,t=(a+d)/2;l.value=Math.max((r-t)*w.value-(n-e)*C.value,b),o.value=e-l.value*C.value/2,s.value=t+l.value*w.value/2}},onPointerup:le,style:{width:`${$}px`,height:`${$}px`,margin:`-${$/2}px`,left:e===`l`?`0`:e===`r`?`100%`:`50%`,top:e===`t`?`0`:e===`b`?`100%`:`50%`,cursor:`lr`.includes(e)?`ew-resize`:`ns-resize`,borderRadius:`50%`},class:ia}}function F(){return{onPointerdown:oe,onPointermove:e=>{if(!A||e.buttons!==1)return;e.preventDefault(),e.stopPropagation();let t=(e.clientX-_.value-A.dx0)/m.value-$/4,n=(e.clientY-y.value-A.dy0)/m.value-$/4,r=Math.atan2(n-s.value,t-o.value)*180/Math.PI+90;for(let e of[0,90,180,270,360])if(Math.abs(r-e)<5){r=e%360;break}u.value=r},onPointerup:le,style:{width:`${$}px`,height:`${$}px`,margin:`-${$/2}px`,left:`50%`,top:`-20px`,cursor:`grab`,borderRadius:`50%`},class:ia}}let fe={immediate:!1,immediateCallback:!1},pe=se(()=>{ne.value<=ra||o.value--},aa,fe),me=se(()=>{ee.value>=Ee.value-ra||o.value++},aa,fe),he=se(()=>{re.value<=ra||s.value--},aa,fe),I=se(()=>{te.value>=Re.value-ra||s.value++},aa,fe);return p(()=>{function e(e,t){Me[e].value?t.resume():t.pause()}e(`left`,pe),e(`right`,me),e(`up`,he),e(`down`,I)}),(e,t)=>Number.isFinite(E(o))?(P(),v(`div`,{key:0,id:`drag-control-container`,"data-drag-id":E(r),style:N({position:`absolute`,zIndex:100,left:`${E(i)*(E(o)-Math.abs(E(c))/2)}px`,top:`${E(i)*(E(s)-Math.abs(E(l))/2)}px`,width:`${E(i)*Math.abs(E(c))}px`,height:`${E(i)*Math.abs(E(l))}px`,transformOrigin:`center center`,transform:`rotate(${E(u)}deg)`}),onPointerdown:oe,onPointermove:ce,onPointerup:le},[h(`div`,{class:g([`absolute inset-0 z-nav dark:b-gray-400`,E(d)?``:`b b-dark`])},[E(a)?M(`v-if`,!0):(P(),v(k,{key:0},[h(`div`,j(n(ue(!0,!0))),null,16),h(`div`,j(n(ue(!1,!1))),null,16),E(d)?M(`v-if`,!0):(P(),v(k,{key:0},[h(`div`,j(n(ue(!0,!1))),null,16),h(`div`,j(n(ue(!1,!0))),null,16)],64))],64)),E(d)?M(`v-if`,!0):(P(),v(k,{key:1},[h(`div`,j(n(de(`l`))),null,16),h(`div`,j(n(de(`r`))),null,16),E(a)?M(`v-if`,!0):(P(),v(k,{key:0},[h(`div`,j(n(de(`t`))),null,16),h(`div`,j(n(de(`b`))),null,16)],64)),h(`div`,j(n(F())),null,16),h(`div`,{class:`absolute -top-15px w-0 b b-dashed b-dark dark:b-gray-400`,style:N({left:`calc(50% - 1px)`,height:E(a)?`14px`:`10px`})},null,4)],64))],2)],44,na)):M(`v-if`,!0)}}),sa=it(u({__name:`SlidesShow`,props:{renderContext:{}},setup(e){let{currentSlideRoute:n,currentTransition:r,getPrimaryClicks:i,prevRoute:a,nextRoute:o,slides:l,isPrintMode:u,isPrintWithClicks:h,clicksDirection:g,printRange:_}=H();function y(e){e.meta.preload!==!1&&(e.meta.__preloaded=!0,e.load())}p(()=>{y(n.value),y(a.value),y(o.value)}),p(e=>{let t=l.value,n=setTimeout(()=>{t.forEach(y)},3e3);e(()=>clearTimeout(n))}),ea(n,a,o,l);let b=ta(),x=C();Ve(()=>import(`./DrawingLayer-CB2vihED.js`).then(e=>x.value=e.default),__vite__mapDeps([0,1,2,3,4,5,6,7]),import.meta.url);let S=T(()=>u.value?_.value.map(e=>l.value[e-1]):l.value.filter(e=>e.meta?.__preloaded||e===n.value));function w(){we.value=!0,D()}return(a,o)=>(P(),v(k,null,[M(` Global Bottom `),t(E(ft)),M(` Slides `),(P(),A(f(E(b)&&!E(u)&&!E(we)&&!E(Se)?`div`:re),s(E(we)||E(Se)||E(u)?{}:E(r),{id:`slideshow`,tag:`div`,class:{"slidev-nav-go-forward":E(g)>0,"slidev-nav-go-backward":E(g)<0},onAfterLeave:w}),{default:m(()=>[(P(!0),v(k,null,d(S.value,t=>c((P(),A(mt,{key:t.no,"clicks-context":E(u)&&!E(h)?E(We)(t,E(He)):E(i)(t),route:t,"render-context":e.renderContext},null,8,[`clicks-context`,`route`,`render-context`])),[[ae,t===E(n)]])),128))]),_:1},16,[`class`])),E(rt)?(P(),A(oa,{key:0,data:E(rt)},null,8,[`data`])):M(`v-if`,!0),M(` Global Top `),t(E(pt)),x.value?(P(),A(E(x),{key:1})):M(`v-if`,!0)],64))}}),[[`__scopeId`,`data-v-9b206c59`]]),ca=[Object.values([])[0],Object.values([])[0]].filter(Boolean);function la(){let{go:e,goFirst:t,goLast:n,next:r,nextSlide:i,prev:a,prevSlide:o}=H(),{drawingEnabled:s}=ct(),{escape:c,space:l,shift:u,left:d,right:f,up:p,down:m,enter:h,d:g,g:_,o:v,"`":y}=Me,b={next:r,prev:a,nextSlide:i,prevSlide:o,go:e,goFirst:t,goLast:n,downloadPDF:Je,toggleDark:qe,toggleOverview:Ae,toggleDrawing:()=>s.value=!s.value,escapeOverview:()=>z.value=!1,showGotoDialog:()=>U.value=!U.value},x=I(F(z),F(rt)),S=[{name:`next_space`,key:I(l,F(u)),fn:r,autoRepeat:!0},{name:`prev_space`,key:I(l,u),fn:a,autoRepeat:!0},{name:`next_right`,key:I(f,F(u),x),fn:r,autoRepeat:!0},{name:`prev_left`,key:I(d,F(u),x),fn:a,autoRepeat:!0},{name:`next_page_key`,key:`pageDown`,fn:r,autoRepeat:!0},{name:`prev_page_key`,key:`pageUp`,fn:a,autoRepeat:!0},{name:`next_down`,key:I(m,x),fn:i,autoRepeat:!0},{name:`prev_up`,key:I(p,x),fn:o,autoRepeat:!0},{name:`next_shift`,key:I(f,u),fn:i,autoRepeat:!0},{name:`prev_shift`,key:I(d,u),fn:o,autoRepeat:!0},{name:`toggle_dark`,key:I(g,F(s)),fn:qe},{name:`toggle_overview`,key:I(me(v,y),F(s)),fn:Ae},{name:`hide_overview`,key:I(c,F(s)),fn:()=>z.value=!1},{name:`goto`,key:I(_,F(s)),fn:()=>U.value=!U.value},{name:`next_overview`,key:I(f,z),fn:Wr},{name:`prev_overview`,key:I(d,z),fn:Ur},{name:`up_overview`,key:I(p,z),fn:Gr},{name:`down_overview`,key:I(m,z),fn:Kr},{name:`goto_from_overview`,key:I(h,z),fn:()=>{e(Z.value),z.value=!1}}],C=new Set(S.map(e=>e.name));for(let e of ca)S=e(b,S);if(S.filter(e=>e.name&&C.has(e.name)).length===0){let e=[`========== WARNING ==========`,`defineShortcutsSetup did not return any of the base shortcuts.`,`See https://sli.dev/custom/config-shortcuts.html for migration.`,`If it is intentional, return at least one shortcut with one of the base names (e.g. name:"goto").`].join(` + +`);alert(e),console.warn(e)}return S}function ua(){let{isPrintMode:e}=H(),t=I(F(be),F(Xe),F(e),Oe,F(je)),n=la();new Map(n.map(e=>[e.key,e])).forEach(e=>{e.fn&&r(e.key,e.fn,e.autoRepeat)}),i(`f`,()=>at.toggle());function r(e,n,r=!1){typeof e==`string`&&(e=Me[e]);let i=I(e,t),o=0,s,c=()=>{if(clearTimeout(s),!i.value){o=0;return}r&&(s=setTimeout(c,Math.max(1e3-o*250,150)),o++),n()};return a(i,c,{flush:`sync`})}function i(e,n){return he(e,e=>{t.value&&(e.repeat||n())})}}export{ri as a,zr as c,bt as d,yt as f,Ci as i,Pt as l,sa as n,ti as o,vt as p,qi as r,ei as s,ua as t,Dt as u}; \ No newline at end of file diff --git a/2026/aidevcon-london/assets/useDrawings-BkOkFJPM.js b/2026/aidevcon-london/assets/useDrawings-BkOkFJPM.js new file mode 100644 index 0000000000000000000000000000000000000000..9e85532f905ba0afe6a539c70d3509313e7027aa --- /dev/null +++ b/2026/aidevcon-london/assets/useDrawings-BkOkFJPM.js @@ -0,0 +1 @@ +import{J as e,N as t,ct as n,g as r,it as i,ot as a}from"./modules/shiki-BMQKBaOU.js";import{E as o,h as s}from"./modules/vue-DcLb0Un4.js";import{A as c,At as l,_ as u,c as d,l as f,s as p}from"./index-cw2gNXXR.js";var m=()=>({emit(e,...t){for(let n=this.events[e]||[],r=0,i=n.length;r{this.events[e]=this.events[e]?.filter(e=>t!==e)}}});function h(e,t){return e-t}function g(e){return e<0?-1:1}function _(e){return[Math.abs(e),g(e)]}function v(){let e=()=>((1+Math.random())*65536|0).toString(16).substring(1);return`${e()+e()}-${e()}-${e()}-${e()}-${e()}${e()}${e()}`}var y=2;function b(e,t){let n=document.createElementNS(`http://www.w3.org/2000/svg`,`defs`),r=document.createElementNS(`http://www.w3.org/2000/svg`,`marker`),i=document.createElementNS(`http://www.w3.org/2000/svg`,`path`);return i.setAttribute(`fill`,t),r.setAttribute(`id`,e),r.setAttribute(`viewBox`,`0 -5 10 10`),r.setAttribute(`refX`,`5`),r.setAttribute(`refY`,`0`),r.setAttribute(`markerWidth`,`4`),r.setAttribute(`markerHeight`,`4`),r.setAttribute(`orient`,`auto`),i.setAttribute(`d`,`M0,-5L10,0L0,5`),r.appendChild(i),n.appendChild(r),n}function x(e,t){let n=e.x-t.x,r=e.y-t.y;return n*n+r*r}function S(e,t,n){let r=t.x,i=t.y,a=n.x-r,o=n.y-i;if(a!==0||o!==0){let t=((e.x-r)*a+(e.y-i)*o)/(a*a+o*o);t>1?(r=n.x,i=n.y):t>0&&(r+=a*t,i+=o*t)}return a=e.x-r,o=e.y-i,a*a+o*o}function C(e,t){let n=e[0],r=[n],i;for(let a=1,o=e.length;at&&(r.push(i),n=i);return n!==i&&i&&r.push(i),r}function w(e,t,n,r,i){let a=r,o=0;for(let r=t+1;ra&&(o=r,a=i)}a>r&&(o-t>1&&w(e,t,o,r,i),i.push(e[o]),n-o>1&&w(e,o,n,r,i))}function T(e,t){let n=e.length-1,r=[e[0]];return w(e,0,n,t,r),r.push(e[n]),r}function E(e,t,n=!1){if(e.length<=2)return e;let r=t===void 0?1:t*t;return e=n?e:C(e,r),e=T(e,r),e}var D=class{constructor(e){this.drauu=e,this.event=void 0,this.point=void 0,this.start=void 0,this.el=null}onSelected(e){}onUnselected(){}onStart(e){}onMove(e){return!1}onEnd(e){}get brush(){return this.drauu.brush}get shiftPressed(){return this.drauu.shiftPressed}get altPressed(){return this.drauu.altPressed}get svgElement(){return this.drauu.el}getMousePosition(e){let t=this.drauu.el,n=this.drauu.options.cssZoom??1,r=this.drauu.options.coordinateScale??1,i=this.drauu.options.offset??{x:0,y:0};if(this.drauu.options.coordinateTransform===!1){let t=this.drauu.el.getBoundingClientRect();return{x:(e.pageX/n-t.left+i.x)*r,y:(e.pageY/n-t.top+i.y)*r,pressure:e.pressure}}else{let a=this.drauu.svgPoint;a.x=e.clientX/n+i.x,a.y=e.clientY/n+i.y;let o=a.matrixTransform(t.getScreenCTM()?.inverse());return{x:o.x*r,y:o.y*r,pressure:e.pressure}}}createElement(e,t){let n=document.createElementNS(`http://www.w3.org/2000/svg`,e),r=t?{...this.brush,...t}:this.brush;return n.setAttribute(`fill`,r.fill??`transparent`),n.setAttribute(`stroke`,r.color),n.setAttribute(`stroke-width`,r.size.toString()),n.setAttribute(`stroke-linecap`,`round`),r.dasharray&&n.setAttribute(`stroke-dasharray`,r.dasharray),n}attr(e,t){this.el.setAttribute(e,typeof t==`string`?t:t.toFixed(y))}_setEvent(e){this.event=e,this.point=this.getMousePosition(e)}_eventDown(e){return this._setEvent(e),this.start=this.point,this.onStart(this.point)}_eventMove(e){return this._setEvent(e),this.onMove(this.point)}_eventUp(e){return this._setEvent(e),this.onEnd(this.point)}},O=class e extends D{constructor(...e){super(...e),this.points=[],this.count=0}onStart(e){if(this.el=this.createElement(`path`,{fill:`transparent`}),this.points=[e],this.brush.arrowEnd){this.arrowId=v();let e=b(this.arrowId,this.brush.color);this.el.appendChild(e)}return this.el}onMove(t){return this.el||this.onStart(t),this.points[this.points.length-1]!==t&&(this.points.push(t),this.count+=1),this.count>5&&(this.points=E(this.points,1,!0),this.count=0),this.attr(`d`,e.toSvgData(this.points)),!0}onEnd(){let t=this.el;if(this.el=null,!t)return!1;if(t.setAttribute(`d`,e.toSvgData(E(this.points,1,!0))),!t.getTotalLength()){let{x:e,y:n}=this.points[0],r=this.brush.size/2;t.setAttribute(`d`,`M ${e-r} ${n} a ${r},${r} 0 1,0 ${r*2},0 a ${r},${r} 0 1,0 ${-r*2},0`),t.setAttribute(`fill`,this.brush.color),t.setAttribute(`stroke-width`,`0`)}return!0}static line(e,t){let n=t.x-e.x,r=t.y-e.y;return{length:Math.sqrt(n**2+r**2),angle:Math.atan2(r,n)}}static controlPoint(t,n,r,i){let a=n||t,o=r||t,s=e.line(a,o),c=s.angle+(i?Math.PI:0),l=s.length*.2;return{x:t.x+Math.cos(c)*l,y:t.y+Math.sin(c)*l}}static bezierCommand(t,n,r){let i=e.controlPoint(r[n-1],r[n-2],t),a=e.controlPoint(t,r[n-1],r[n+1],!0);return`C ${i.x.toFixed(y)},${i.y.toFixed(y)} ${a.x.toFixed(y)},${a.y.toFixed(y)} ${t.x.toFixed(y)},${t.y.toFixed(y)}`}static toSvgData(t){return t.reduce((t,n,r,i)=>r===0?`M ${n.x.toFixed(y)},${n.y.toFixed(y)}`:`${t} ${e.bezierCommand(n,r,i)}`,``)}},k=class extends D{onStart(e){return this.el=this.createElement(`ellipse`),this.attr(`cx`,e.x),this.attr(`cy`,e.y),this.el}onMove(e){if(!this.el||!this.start)return!1;let[t,n]=_(e.x-this.start.x),[r,i]=_(e.y-this.start.y);if(this.shiftPressed){let e=Math.min(t,r);t=e,r=e}if(this.altPressed)this.attr(`cx`,this.start.x),this.attr(`cy`,this.start.y),this.attr(`rx`,t),this.attr(`ry`,r);else{let[e,a]=[this.start.x,this.start.x+t*n].sort(h),[o,s]=[this.start.y,this.start.y+r*i].sort(h);this.attr(`cx`,(e+a)/2),this.attr(`cy`,(o+s)/2),this.attr(`rx`,(a-e)/2),this.attr(`ry`,(s-o)/2)}return!0}onEnd(){let e=this.el;if(this.el=null,!e)return!1;try{if(!e.getTotalLength())return!1}catch{return!1}return!0}},A=class extends D{constructor(...e){super(...e),this.pathSubFactor=20,this.pathFragments=[],this._erased=[]}onSelected(e){let t=(e,n)=>{if(e&&e.length)for(let r=0;re.forEach(e=>this.drauu._restoreNode(e)),redo:()=>e.forEach(e=>this.drauu._removeNode(e))}}checkAndEraseElement(){if(this.pathFragments.length)for(let e=0;e!this._erased.includes(e.element))),this._erased.length>0}lineLineIntersect(e,t){let n=e.x1,r=e.x2,i=t.x1,a=t.x2,o=e.y1,s=e.y2,c=t.y1,l=t.y2,u=(n-r)*(c-l)-(o-s)*(i-a),d=(n*s-o*r)*(i-a)-(n-r)*(i*l-c*a),f=(n*s-o*r)*(c-l)-(o-s)*(i*l-c*a),p=(e,t,n)=>e>=t&&e<=n?!0:e>=n&&e<=t;if(u===0)return!1;{let e={x:d/u,y:f/u};return p(e.x,n,r)&&p(e.y,o,s)&&p(e.x,i,a)&&p(e.y,c,l)}}},j=class extends D{onStart(e){if(this.el=this.createElement(`line`,{fill:`transparent`}),this.attr(`x1`,e.x),this.attr(`y1`,e.y),this.attr(`x2`,e.x),this.attr(`y2`,e.y),this.brush.arrowEnd){let e=v(),t=document.createElementNS(`http://www.w3.org/2000/svg`,`g`);return t.append(b(e,this.brush.color)),t.append(this.el),this.attr(`marker-end`,`url(#${e})`),t}return this.el}onMove(e){if(!this.el)return!1;let{x:t,y:n}=e;if(this.shiftPressed){let r=e.x-this.start.x,i=e.y-this.start.y;if(i!==0){let e=r/i;e=Math.round(e),Math.abs(e)<=1?(t=this.start.x+i*e,n=this.start.y+i):(t=this.start.x+r,n=this.start.y)}}return this.altPressed?(this.attr(`x1`,this.start.x*2-t),this.attr(`y1`,this.start.y*2-n),this.attr(`x2`,t),this.attr(`y2`,n)):(this.attr(`x1`,this.start.x),this.attr(`y1`,this.start.y),this.attr(`x2`,t),this.attr(`y2`,n)),!0}onEnd(){let e=this.el;if(this.el=null,!e)return!1;try{if(e.getTotalLength()<5)return!1}catch{return!1}return!0}},M=class extends D{onStart(e){return this.el=this.createElement(`rect`),this.brush.cornerRadius&&(this.attr(`rx`,this.brush.cornerRadius),this.attr(`ry`,this.brush.cornerRadius)),this.attr(`x`,e.x),this.attr(`y`,e.y),this.el}onMove(e){if(!this.el||!this.start)return!1;let[t,n]=_(e.x-this.start.x),[r,i]=_(e.y-this.start.y);if(this.shiftPressed){let e=Math.min(t,r);t=e,r=e}if(this.altPressed)this.attr(`x`,this.start.x-t),this.attr(`y`,this.start.y-r),this.attr(`width`,t*2),this.attr(`height`,r*2);else{let[e,a]=[this.start.x,this.start.x+t*n].sort(h),[o,s]=[this.start.y,this.start.y+r*i].sort(h);this.attr(`x`,e),this.attr(`y`,o),this.attr(`width`,a-e),this.attr(`height`,s-o)}return!0}onEnd(){let e=this.el;if(this.el=null,!e)return!1;try{if(!e.getTotalLength())return!1}catch{return!1}return!0}};function N(e,t,n,r=e=>e){return e*r(.5-t*(.5-n))}function P(e){return[-e[0],-e[1]]}function F(e,t){return[e[0]+t[0],e[1]+t[1]]}function I(e,t){return[e[0]-t[0],e[1]-t[1]]}function L(e,t){return[e[0]*t,e[1]*t]}function R(e,t){return[e[0]/t,e[1]/t]}function z(e){return[e[1],-e[0]]}function B(e,t){return e[0]*t[0]+e[1]*t[1]}function V(e,t){return e[0]===t[0]&&e[1]===t[1]}function H(e){return Math.hypot(e[0],e[1])}function U(e){return e[0]*e[0]+e[1]*e[1]}function W(e,t){return U(I(e,t))}function G(e){return R(e,H(e))}function K(e,t){return Math.hypot(e[1]-t[1],e[0]-t[0])}function q(e,t,n){let r=Math.sin(n),i=Math.cos(n),a=e[0]-t[0],o=e[1]-t[1],s=a*i-o*r,c=a*r+o*i;return[s+t[0],c+t[1]]}function J(e,t,n){return F(e,L(I(t,e),n))}function Y(e,t,n){return F(e,L(t,n))}var{min:X,PI:Z}=Math,Q=.275,$=Z+1e-4;function ee(e,t={}){let{size:n=16,smoothing:r=.5,thinning:i=.5,simulatePressure:a=!0,easing:o=e=>e,start:s={},end:c={},last:l=!1}=t,{cap:u=!0,easing:d=e=>e*(2-e)}=s,{cap:f=!0,easing:p=e=>--e*e*e+1}=c;if(e.length===0||n<=0)return[];let m=e[e.length-1].runningLength,h=s.taper===!1?0:s.taper===!0?Math.max(n,m):s.taper,g=c.taper===!1?0:c.taper===!0?Math.max(n,m):c.taper,_=(n*r)**2,v=[],y=[],b=e.slice(0,10).reduce((e,t)=>{let r=t.pressure;if(a){let i=X(1,t.distance/n);r=X(1,e+(X(1,1-i)-e)*(i*Q))}return(e+r)/2},e[0].pressure),x=N(n,i,e[e.length-1].pressure,o),S,C=e[0].vector,w=e[0].point,T=w,E=w,D=T,O=!1;for(let t=0;t_)&&(v.push(E),w=E),D=F(s,R),(t<=1||W(T,D)>_)&&(y.push(D),T=D),b=r,C=c}let k=e[0].point.slice(0,2),A=e.length>1?e[e.length-1].point.slice(0,2):F(e[0].point,[1,1]),j=[],M=[];if(e.length===1){if(!(h||g)||l){let e=Y(k,G(z(I(k,A))),-(S||x)),t=[];for(let n=1/13,r=n;r<=1;r+=n)t.push(q(e,k,$*2*r));return t}}else{if(!(h||g&&e.length===1))if(u)for(let e=1/13,t=e;t<=1;t+=e){let e=q(y[0],k,$*t);j.push(e)}else{let e=I(v[0],y[0]),t=L(e,.5),n=L(e,.51);j.push(I(k,t),I(k,n),F(k,n),F(k,t))}let t=z(P(e[e.length-1].vector));if(g||h&&e.length===1)M.push(A);else if(f){let e=Y(A,t,x);for(let t=1/29,n=t;n<1;n+=t)M.push(q(e,A,$*3*n))}else M.push(F(A,L(t,x)),F(A,L(t,x*.99)),I(A,L(t,x*.99)),I(A,L(t,x)))}return v.concat(M,y.reverse(),j)}function te(e,t={}){let{streamline:n=.5,size:r=16,last:i=!1}=t;if(e.length===0)return[];let a=.15+(1-n)*.85,o=Array.isArray(e[0])?e:e.map(({x:e,y:t,pressure:n=.5})=>[e,t,n]);if(o.length===2){let e=o[1];o=o.slice(0,-1);for(let t=1;t<5;t++)o.push(J(o[0],e,t/4))}o.length===1&&(o=[...o,[...F(o[0],[1,1]),...o[0].slice(2)]]);let s=[{point:[o[0][0],o[0][1]],pressure:o[0][2]>=0?o[0][2]:.25,vector:[1,1],distance:0,runningLength:0}],c=!1,l=0,u=s[0],d=o.length-1;for(let e=1;e=0?o[e][2]:.5,vector:G(I(u.point,t)),distance:n,runningLength:l},s.push(u)}return s[0].vector=s[1]?.vector||[0,0],s}function ne(e,t={}){return ee(te(e,t),t)}var re=class e extends D{constructor(...e){super(...e),this.points=[]}onStart(e){return this.el=document.createElementNS(`http://www.w3.org/2000/svg`,`path`),this.points=[e],this.attr(`fill`,this.brush.color),this.attr(`d`,this.getSvgData(this.points)),this.el}onMove(e){return this.el||this.onStart(e),this.points[this.points.length-1]!==e&&this.points.push(e),this.attr(`d`,this.getSvgData(this.points)),!0}onEnd(){let e=this.el;return this.el=null,!!e}getSvgData(t){return e.getSvgData(t,this.brush)}static getSvgData(e,t){let n=ne(e,{size:t.size,thinning:.9,simulatePressure:!1,start:{taper:5},end:{taper:5},...t.stylusOptions});if(!n.length)return``;let r=n.reduce((e,[t,n],r,i)=>{let[a,o]=i[(r+1)%i.length];return e.push(t,n,(t+a)/2,(n+o)/2),e},[`M`,...n[0],`Q`]);return r.push(`Z`),r.map(e=>typeof e==`number`?e.toFixed(2):e).join(` `)}};function ie(e){return{draw:new O(e),stylus:new re(e),line:new j(e),rectangle:new M(e),ellipse:new k(e),eraseLine:new A(e)}}var ae=class{constructor(e={}){this.options=e,this.el=null,this.svgPoint=null,this.eventEl=null,this.shiftPressed=!1,this.altPressed=!1,this.drawing=!1,this._emitter=m(),this._originalPointerId=null,this._models=ie(this),this._opStack=[],this._opIndex=0,this._disposables=[],this._elements=[],this.options.brush||(this.options.brush={color:`black`,size:3,mode:`stylus`}),e.el&&this.mount(e.el,e.eventTarget,e.window)}get model(){return this._models[this.mode]}get mounted(){return!!this.el}get mode(){return this.options.brush.mode||`stylus`}set mode(e){this._models[this.mode].onUnselected(),this.options.brush.mode=e,this.model.onSelected(this.el)}get brush(){return this.options.brush}set brush(e){this.options.brush=e}resolveSelector(e){return typeof e==`string`?document.querySelector(e):e||null}mount(e,t,n=window){if(this.el)throw Error(`[drauu] already mounted, unmount previous target first`);if(this.el=this.resolveSelector(e),!this.el)throw Error(`[drauu] target element not found`);if(this.el.tagName.toLocaleLowerCase()!==`svg`)throw Error(`[drauu] can only mount to a SVG element`);if(!this.el.createSVGPoint)throw Error(`[drauu] SVG element must be create by document.createElementNS('http://www.w3.org/2000/svg', 'svg')`);this.svgPoint=this.el.createSVGPoint();let r=this.resolveSelector(t)||this.el,i=this.eventStart.bind(this),a=this.eventMove.bind(this),o=this.eventEnd.bind(this),s=this.eventKeyboard.bind(this),c=this.touchMove.bind(this);r.addEventListener(`pointerdown`,i,{passive:!1}),n.addEventListener(`pointermove`,a,{passive:!1}),n.addEventListener(`pointerup`,o,{passive:!1}),n.addEventListener(`pointercancel`,o,{passive:!1}),n.addEventListener(`keydown`,s,!1),n.addEventListener(`keyup`,s,!1),n.addEventListener(`touchmove`,c,{passive:!1}),this._disposables.push(()=>{r.removeEventListener(`pointerdown`,i),n.removeEventListener(`pointermove`,a),n.removeEventListener(`pointerup`,o),n.removeEventListener(`pointercancel`,o),n.removeEventListener(`keydown`,s,!1),n.removeEventListener(`keyup`,s,!1),n.removeEventListener(`touchmove`,c)}),this._emitter.emit(`mounted`)}unmount(){this._disposables.forEach(e=>e()),this._disposables.length=0,this._elements.length=0,this.el=null,this._emitter.emit(`unmounted`)}on(e,t){return this._emitter.on(e,t)}undo(){return!this.canUndo()||this.drawing?!1:(this._opStack[--this._opIndex].undo(),this._emitter.emit(`changed`),!0)}redo(){return!this.canRedo()||this.drawing?!1:(this._opStack[this._opIndex++].redo(),this._emitter.emit(`changed`),!0)}canRedo(){return this._opIndex0}eventMove(e){!this.acceptsInput(e)||!this.drawing||this.model._eventMove(e)&&(e.stopPropagation(),e.preventDefault(),this._emitter.emit(`changed`))}eventStart(e){this.acceptsInput(e)&&(e.stopPropagation(),e.preventDefault(),this._currentNode&&this.cancel(),this.drawing=!0,this._originalPointerId=e.pointerId,this._emitter.emit(`start`),this._currentNode=this.model._eventDown(e),this._currentNode&&this.mode!==`eraseLine`&&this.el.appendChild(this._currentNode),this._emitter.emit(`changed`))}eventEnd(e){if(!this.acceptsInput(e)||!this.drawing)return;let t=this.model._eventUp(e);if(!t)this.cancel();else if(t===!0){let e=this._currentNode;e&&(this._appendNode(e),this.commit({undo:()=>this._removeNode(e),redo:()=>this._restoreNode(e)}))}else this.commit(t);this.drawing=!1,this._emitter.emit(`end`),this._emitter.emit(`changed`),this._originalPointerId=null}touchMove(e){Array.from(e.touches).some(e=>e.touchType===`stylus`&&e.identifier===this._originalPointerId)&&e.preventDefault()}acceptsInput(e){return(!this.options.acceptsInputTypes||this.options.acceptsInputTypes.includes(e.pointerType))&&!(this._originalPointerId&&this._originalPointerId!==e.pointerId)}eventKeyboard(e){this.shiftPressed===e.shiftKey&&this.altPressed===e.altKey||(this.shiftPressed=e.shiftKey,this.altPressed=e.altKey,this.model.point&&this.model.onMove(this.model.point)&&this._emitter.emit(`changed`))}commit(e){this._opStack.length=this._opIndex,this._opStack.push(e),this._opIndex++;let t=this._currentNode;this._currentNode=void 0,this._emitter.emit(`committed`,t)}clear(){this._opStack.length=0,this._opIndex=0,this._elements=[],this.cancel(),this.el.innerHTML=``,this._emitter.emit(`changed`)}cancel(){this._currentNode&&(this.el.removeChild(this._currentNode),this._currentNode=void 0,this._emitter.emit(`canceled`))}dump(){return this.el.innerHTML}load(e){this.clear(),this.el.innerHTML=e}_appendNode(e){let t=this._elements.at(-1);t?t.after(e):this.el.append(e);let n=this._elements.push(e)-1;e.dataset.drauu_index=n.toString()}_removeNode(e){e.remove(),this._elements[+e.dataset.drauu_index]=null}_restoreNode(e){let t=+e.dataset.drauu_index;this._elements[t]=e;for(let n=t-1;n>=0;n--){let t=this._elements[n];if(t){t.after(e);return}}this.el.prepend(e)}};function oe(e){return new ae(e)}var se=o(()=>{let{currentSlideNo:o,isPresenter:m}=u(),h=[`#ff595e`,`#ffca3a`,`#8ac926`,`#1982c4`,`#6a4c93`,`#ffffff`,`#000000`],g=s(`slidev-drawing-enabled`,!1),_=s(`slidev-drawing-pinned`,!1),v=s(`slidev-drawing-brush`,{color:h[0],size:4,mode:`stylus`}),y=n(!1),b=n(!1),x=n(!1),S=n(!1),C=n(`stylus`),w=r(()=>l.drawings.syncAll||m.value),T=!1,E=r({get(){return C.value},set(e){C.value=e,e===`arrow`?(O.mode=`line`,v.value.arrowEnd=!0):(O.mode=e,v.value.arrowEnd=!1)}}),D=a({brush:v,acceptsInputTypes:r(()=>g.value&&(!l.drawings.presenterOnly||m.value)?void 0:[`pen`]),coordinateTransform:!1}),O=i(oe(D));function k(){O.clear(),w.value&&f(o.value,``)}function A(){x.value=O.canRedo(),b.value=O.canUndo(),S.value=!!O.el?.children.length}function j(e){T=!0;let t=p[e||o.value];t==null?O.clear():O.load(t),A(),T=!1}return O.on(`changed`,()=>{if(A(),!T){let e=O.dump(),t=o.value;(p[t]||``)!==e&&w.value&&f(t,O.dump())}}),d(e=>{T=!0,e[o.value]!=null&&O.load(e[o.value]||``),T=!1,A()}),t(()=>{e(o,()=>{O.mounted&&j()},{immediate:!0})}),O.on(`start`,()=>y.value=!0),O.on(`end`,()=>y.value=!1),window.addEventListener(`keydown`,e=>{if(!g.value||c.value)return;let t=!e.ctrlKey&&!e.altKey&&!e.shiftKey&&!e.metaKey,n=!0;e.code===`KeyZ`&&(e.ctrlKey||e.metaKey)?e.shiftKey?O.redo():O.undo():e.code===`Escape`?g.value=!1:e.code===`KeyL`&&t?E.value=`line`:e.code===`KeyA`&&t?E.value=`arrow`:e.code===`KeyS`&&t?E.value=`stylus`:e.code===`KeyR`&&t?E.value=`rectangle`:e.code===`KeyE`&&t?E.value=`ellipse`:e.code===`KeyC`&&t?k():e.code.startsWith(`Digit`)&&t&&+e.code[5]<=h.length?v.value.color=h[e.code[5]-1]:n=!1,n&&(e.preventDefault(),e.stopPropagation())},!1),{brush:v,brushColors:h,canClear:S,canRedo:x,canUndo:b,clear:k,drauu:O,drauuOptions:D,drawingEnabled:g,drawingMode:E,drawingPinned:_,drawingState:p,isDrawing:y,loadCanvas:j}});export{se as t}; \ No newline at end of file diff --git a/2026/aidevcon-london/index.html b/2026/aidevcon-london/index.html index 313aed9a75e9c5dc3a4cf1cf16acc32b254d5b09..7b8fa786b474585b0688dbc21c5fef566b217524 100644 --- a/2026/aidevcon-london/index.html +++ b/2026/aidevcon-london/index.html @@ -19,12 +19,12 @@ - + - +