const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./md-D5YcP-hv.js","./modules/shiki-CRDHBXw7.js","./rolldown-runtime-hePW80VL.js","./modules/shiki-BrmBd2_v.css","./_plugin-vue_export-helper-BDNMzG2s.js","./slidev/context-Dpnqq1ol.js","./modules/vue-jGGq3ahv.js","./md-CYXxUBJM.css","./md-CmjeJDum.js","./default-A5OOL8XO.js","./DeckFooter-JTMZpkwe.js","./syncState-BY3YUPaY.js","./index-BRVUm3_6.js","./index-Bc3H5Jm0.css","./useDrawings-B5C1Zlkn.js","./DeckFooter-B6vKMo6W.css","./default-DFJXHcku.css","./slidev/VClicks-buBFUjdS.js","./Citation-B3hI67ru.js","./Citation-rca7ok54.css","./md-DnINEusG.js","./section-DhDcEweC.js","./section-BZ9Dfv_4.css","./md-BWa-9V8C2.js","./WidgetFrame-i_n0SXJC.js","./WidgetFrame-Czwyd28V.css","./interactive-B3FqelG7.js","./interactive-BvK9MKgy.css","./md-omGsC3tl.css","./md-DX2Ec6q82.js","./md-DkOhBsH72.js","./slidev/KaTexBlockWrapper-M48-zhMq.js","./md-Pa5cvCqg2.js","./md-Udpkj3Y1.js","./md-CiMC_C1d2.js","./PerceptronPlayground-DauUBgxr.js","./Katex-BuUbKNzG.js","./Katex-CsYFnUYi.css","./PlotLine-C3bT02q3.js","./PlotPoints-DFeqey9j.js","./PlotPoints-CqvvWTZs.css","./PlotLine-BO0rW71G.css","./StepButton-BfWgSKte.js","./StepButton-C1ItLUkw.css","./useRandom-D_d9WpzZ.js","./PerceptronPlayground-BptjbTBP.css","./md-DuoqZThg.js","./md-DfR_9CeO.js","./md-C2mYSVdr.js","./md-DfiJa7pa.js","./md-BNpOqr5d.js","./md-Bja0-0_W.js","./PerceptronVsAdaline-Bwdgu3ts.js","./PerceptronVsAdaline-CYQJDFpa.css","./md-CQsDdwCh.js","./md-CSL0Sr8I.js","./md-DQNDl3y5.js","./md-xJci9bFZ.js","./md-DMN_0eSx.js","./PlotCurve-Cwb1YEav.js","./md-B1xMJw8I.css","./md-Dfk2xxNa.js","./md-SRfUxs1P2.js","./md-Dr4FkHvo2.js","./md-DTjbijE-2.js","./md-DhBL7PRR.css","./md-BEyfrkX32.js","./md-19W9jufa.css","./md-BogGe-l_.js","./slidev/CodeBlockWrapper-ClYx9M-I.js","./modules/unplugin-icons-BOSF4mXp.js","./md-DE5q4xMj.js","./md-C0TTOKVm.js","./md-DQQXWQyl.js","./MLPDiagram-PPnBM4ON.js","./MLPDiagram-Df_yS93F.css","./md-eBbKSq5M2.js","./md-BHHXbQ13.css","./md-Dc2hhIb1.js","./md-DN1adK8J.js","./md-BX47ygGP.css","./md-CskVyE9c2.js","./md-BmlYDvkZ.css","./md-C7U8SGhM.js","./md-DE2QGCpb.css"])))=>i.map(i=>d[i]); import{B as e,Ct as t,P as n,R as r,T as i,Z as a,_ as o,at as s,b as c,dt as l,ft as u,g as d,ht as ee,k as f,lt as p,m as te,mt as m,vt as ne,w as re,y as ie,yt as ae,z as oe}from"./modules/shiki-CRDHBXw7.js";import{t as se}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{A as ce,B as le,D as ue,E as de,L as fe,V as pe,_ as me,a as he,c as ge,g as h,h as _e,j as ve,l as ye}from"./modules/vue-jGGq3ahv.js";import{l as be,y as xe}from"./slidev/context-Dpnqq1ol.js";function Se(e,t,n){return Math.min(n,Math.max(t,e))}function Ce(...e){return Te(e).reduce((e,t)=>e+t,0)}function we(e){return e??=[],Array.isArray(e)?e:[e]}function Te(e){return we(e).flat(1)}function Ee(e){return Array.from(new Set(e))}function De(...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(Oe))}var g={theme:`dl2026`,title:`Basics of Neural Networks`,titleTemplate:`%s - Slidev`,addons:[`dl2026`],remoteAssets:!1,monaco:!0,monacoTypesSource:`local`,monacoTypesAdditionalPackages:[],monacoTypesIgnorePackages:[],monacoRunAdditionalDeps:[],monacoRunUseStrict:!0,download:`./slides.pdf`,export:{},info:`

PGR207 Deep Learning 2026 — Lecture 02

`,highlighter:`shiki`,twoslash:!0,lineNumbers:!1,colorSchema:`auto`,routerMode:`hash`,aspectRatio:1.7777777777777777,canvasWidth:980,exportFilename:``,selectable:!1,themeConfig:{courseCode:`PGR207`,lecture:`02`,lectureTitle:`Basics of Neural Networks`},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:[`"Source Serif 4"`,`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`,`Source Serif 4`,`JetBrains Mono`],provider:`google`,local:[],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:`Vajira Thambawita`,record:`dev`,css:`unocss`,presenter:!0,browserExporter:`dev`,htmlAttrs:{},transition:`slide-left`,editor:!0,mcp:!0,contextMenu:null,wakeLock:!0,pwa:!1,mdc:!0,comark:!1,seoMeta:{},notesAutoRuby:{},duration:`30min`,timer:`stopwatch`,magicMoveDuration:800,preloadImages:!0,clickAnimation:``,layout:`title`,courseCode:`PGR207`,lecture:`02`,email:`vajira@simula.no`,slidesTitle:`Basics of Neural Networks - Slidev`},Ae=`build`,je=d(()=>g.aspectRatio),Me=d(()=>g.canvasWidth),Ne=d(()=>Math.ceil(Me.value/je.value)),Pe=d(()=>ke(g.themeConfig||{},(e,t)=>[`--slidev-theme-${e}`,t])),Fe=g.slidesTitle,Ie=`./#/`,Le=`modulepreload`,Re=function(e,t){return new URL(e,t).href},ze={},_=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}))))}function s(e){return import.meta.resolve?import.meta.resolve(e):new URL(e,import.meta.url).href}r=o(t.map(t=>{if(t=Re(t,n),t=s(t),t in ze)return;ze[t]=!0;let r=t.endsWith(`.css`);for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}let i=document.createElement(`link`);if(i.rel=r?`stylesheet`:Le,r||(i.as=`script`),i.crossOrigin=``,i.href=t,a&&i.setAttribute(`nonce`,a),document.head.appendChild(i),r)return new Promise((e,n)=>{i.addEventListener(`load`,e),i.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)})};function Be(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 Ve(e){return Array.isArray(e)?[Be(e[0]),Be(e[1])]:null}function He(e,t=0,n){let i=l(!1),a=new Map,o=new Map,c={get current(){return Se(+e.value,t,c.total)},set current(n){e.value=i.value?Se(n,t,c.total):n},clicksStart:t,get relativeSizeMap(){return a},get maxMap(){return o},get isMounted(){return i.value},setup(){r(()=>{i.value=!0,o=u(o),s(e)||(c.current=e.value)}),oe(()=>{i.value=!1,a=new Map,o=new Map})},calculateSince(e,t=1){let n=Be(e);if(n==null)return null;let r,i,a;if(typeof n==`string`){let e=c.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:d(()=>c.current-r),isCurrent:d(()=>c.current===r),isActive:d(()=>c.current>=r)}},calculateRange(e){let t=Ve(e);if(t==null)return null;let[n,r]=t,i,a,o;return typeof n==`string`?(i=c.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:d(()=>c.current-i),isCurrent:d(()=>c.current===i),isActive:d(()=>i<=c.current&&c.currentne(t),e=>{r.value=Math.max(e,n)}),He(r,n,e?.meta?.clicks)}var We=/[a-z]/i;function Ge(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(!We.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 Ke(e,t){if(!t||t===`all`||t===`*`)return De(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(...De(+t,i?+i+1:e+1))}return Ee(n).filter(t=>t<=e).sort((e,t)=>e-t)}var qe={},Je={class:`px-4 py-10 text-center text-red-700 dark:text-red-500 font-bold font-mono`};function Ye(n,r){return e(),c(`div`,Je,t(`Failed to fetch this slide. Please check your network connection.`))}var v=se(qe,[[`render`,Ye]]),Xe={class:`h-full w-full flex items-center justify-center gap-2 slidev-slide-loading`},Ze=i({__name:`SlideLoading`,setup(t){let n=l(!1);return r(()=>{setTimeout(()=>{n.value=!0},200)}),(t,r)=>(e(),c(`div`,Xe,[n.value?(e(),c(te,{key:0},[r[0]||=o(`div`,{class:`i-svg-spinners-90-ring-with-bg text-xl`},null,-1),r[1]||=o(`div`,null,`Loading slide...`,-1)],64)):ie(`v-if`,!0)]))}}),y=p({theme:`dl2026`,addons:[`dl2026`],title:`Basics of Neural Networks`,info:`PGR207 Deep Learning 2026 — Lecture 02`,author:`Vajira Thambawita`,routerMode:`hash`,transition:`slide-left`,mdc:!0,themeConfig:{courseCode:`PGR207`,lecture:`02`,lectureTitle:`Basics of Neural Networks`},layout:`title`,courseCode:`PGR207`,lecture:`02`,email:`vajira@simula.no`}),Qe=u({get layout(){return y.layout},get transition(){return y.transition},get class(){return y.class},get clicks(){return y.clicks},get name(){return y.name},get preload(){return y.preload},slide:{content:``,revision:`-fvs3dx`,frontmatterRaw:`theme: dl2026 addons: - dl2026 title: Basics of Neural Networks info: PGR207 Deep Learning 2026 — Lecture 02 author: Vajira Thambawita routerMode: hash transition: slide-left mdc: true themeConfig: courseCode: PGR207 lecture: "02" lectureTitle: Basics of Neural Networks layout: title courseCode: PGR207 lecture: "02" email: vajira@simula.no `,note:``,title:`Basics of Neural Networks`,index:0,noteHTML:``,images:[],raw:``,frontmatter:y,filepath:``,start:0,sourceIndex:0,id:0,no:1},__clicksContext:null,__preloaded:!1}),b=p({layout:`default`,title:`Outline`}),$e=u({get layout(){return b.layout},get transition(){return b.transition},get class(){return b.class},get clicks(){return b.clicks},get name(){return b.name},get preload(){return b.preload},slide:{content:``,revision:`-hl1sv`,frontmatterRaw:`layout: default title: Outline `,note:``,title:`Outline`,index:1,noteHTML:``,images:[],raw:``,frontmatter:b,filepath:``,start:29,sourceIndex:1,id:1,no:2},__clicksContext:null,__preloaded:!1}),x=p({layout:`section`,index:`01`}),et=u({get layout(){return x.layout},get transition(){return x.transition},get class(){return x.class},get clicks(){return x.clicks},get name(){return x.name},get preload(){return x.preload},slide:{content:``,revision:`-7anjdt`,frontmatterRaw:`layout: section index: "01" `,note:``,title:`Artificial neurons`,level:1,index:2,noteHTML:``,images:[],raw:``,frontmatter:x,filepath:``,start:47,sourceIndex:2,id:2,no:3},__clicksContext:null,__preloaded:!1}),S=p({layout:`interactive`,title:`The biological neuron`,"aside-width":`16rem`}),tt=u({get layout(){return S.layout},get transition(){return S.transition},get class(){return S.class},get clicks(){return S.clicks},get name(){return S.name},get preload(){return S.preload},slide:{content:``,revision:`v4bbfd`,frontmatterRaw:`layout: interactive title: The biological neuron aside-width: 16rem `,note:``,title:`The biological neuron`,index:3,noteHTML:``,images:[],raw:``,frontmatter:S,filepath:``,start:54,sourceIndex:3,id:3,no:4},__clicksContext:null,__preloaded:!1}),C=p({layout:`default`,title:`History of the artificial neuron`}),nt=u({get layout(){return C.layout},get transition(){return C.transition},get class(){return C.class},get clicks(){return C.clicks},get name(){return C.name},get preload(){return C.preload},slide:{content:``,revision:`lqqr5f`,frontmatterRaw:`layout: default title: History of the artificial neuron `,note:``,title:`History of the artificial neuron`,index:4,noteHTML:``,images:[],raw:``,frontmatter:C,filepath:``,start:69,sourceIndex:4,id:4,no:5},__clicksContext:null,__preloaded:!1}),w=p({layout:`default`,title:`A sample dataset to explain the notation`}),rt=u({get layout(){return w.layout},get transition(){return w.transition},get class(){return w.class},get clicks(){return w.clicks},get name(){return w.name},get preload(){return w.preload},slide:{content:``,revision:`bppmbc`,frontmatterRaw:`layout: default title: A sample dataset to explain the notation `,note:``,title:`A sample dataset to explain the notation`,index:5,noteHTML:``,images:[],raw:``,frontmatter:w,filepath:``,start:104,sourceIndex:5,id:5,no:6},__clicksContext:null,__preloaded:!1}),T=p({layout:`default`,title:`The formal definition of an artificial neuron`}),it=u({get layout(){return T.layout},get transition(){return T.transition},get class(){return T.class},get clicks(){return T.clicks},get name(){return T.name},get preload(){return T.preload},slide:{content:``,revision:`xui7wk`,frontmatterRaw:`layout: default title: The formal definition of an artificial neuron `,note:``,title:`The formal definition of an artificial neuron`,index:6,noteHTML:``,images:[],raw:``,frontmatter:T,filepath:``,start:149,sourceIndex:6,id:6,no:7},__clicksContext:null,__preloaded:!1}),E=p({layout:`default`,title:`From threshold to bias`}),at=u({get layout(){return E.layout},get transition(){return E.transition},get class(){return E.class},get clicks(){return E.clicks},get name(){return E.name},get preload(){return E.preload},slide:{content:``,revision:`fqglak`,frontmatterRaw:`layout: default title: From threshold to bias `,note:``,title:`From threshold to bias`,index:7,noteHTML:``,images:[],raw:``,frontmatter:E,filepath:``,start:194,sourceIndex:7,id:7,no:8},__clicksContext:null,__preloaded:!1}),D=p({layout:`interactive`,title:`The decision function of the perceptron`,"aside-width":`17rem`}),ot=u({get layout(){return D.layout},get transition(){return D.transition},get class(){return D.class},get clicks(){return D.clicks},get name(){return D.name},get preload(){return D.preload},slide:{content:``,revision:`g4j459`,frontmatterRaw:`layout: interactive title: The decision function of the perceptron aside-width: 17rem `,note:``,title:`The decision function of the perceptron`,index:8,noteHTML:``,images:[],raw:``,frontmatter:D,filepath:``,start:241,sourceIndex:8,id:8,no:9},__clicksContext:null,__preloaded:!1}),O=p({layout:`default`,title:`The perceptron learning rule`}),st=u({get layout(){return O.layout},get transition(){return O.transition},get class(){return O.class},get clicks(){return O.clicks},get name(){return O.name},get preload(){return O.preload},slide:{content:``,revision:`o86u1u`,frontmatterRaw:`layout: default title: The perceptron learning rule `,note:``,title:`The perceptron learning rule`,index:9,noteHTML:``,images:[],raw:``,frontmatter:O,filepath:``,start:257,sourceIndex:9,id:9,no:10},__clicksContext:null,__preloaded:!1}),k=p({layout:`default`,title:`Example (1/2) — correct predictions`}),ct=u({get layout(){return k.layout},get transition(){return k.transition},get class(){return k.class},get clicks(){return k.clicks},get name(){return k.name},get preload(){return k.preload},slide:{content:``,revision:`-7hesin`,frontmatterRaw:`layout: default title: Example (1/2) — correct predictions `,note:``,title:`Example (1/2) — correct predictions`,index:10,noteHTML:``,images:[],raw:``,frontmatter:k,filepath:``,start:288,sourceIndex:10,id:10,no:11},__clicksContext:null,__preloaded:!1}),A=p({layout:`default`,title:`Example (2/2) — wrong predictions`}),lt=u({get layout(){return A.layout},get transition(){return A.transition},get class(){return A.class},get clicks(){return A.clicks},get name(){return A.name},get preload(){return A.preload},slide:{content:``,revision:`jpri2y`,frontmatterRaw:`layout: default title: Example (2/2) — wrong predictions `,note:``,title:`Example (2/2) — wrong predictions`,index:11,noteHTML:``,images:[],raw:``,frontmatter:A,filepath:``,start:321,sourceIndex:11,id:11,no:12},__clicksContext:null,__preloaded:!1}),j=p({layout:`default`,title:`The size of the correction`}),ut=u({get layout(){return j.layout},get transition(){return j.transition},get class(){return j.class},get clicks(){return j.clicks},get name(){return j.name},get preload(){return j.preload},slide:{content:``,revision:`-y8hj28`,frontmatterRaw:`layout: default title: The size of the correction `,note:``,title:`The size of the correction`,index:12,noteHTML:``,images:[],raw:``,frontmatter:j,filepath:``,start:348,sourceIndex:12,id:12,no:13},__clicksContext:null,__preloaded:!1}),M=p({layout:`interactive`,title:`The perceptron learning rule, running`,"aside-width":`17rem`}),dt=u({get layout(){return M.layout},get transition(){return M.transition},get class(){return M.class},get clicks(){return M.clicks},get name(){return M.name},get preload(){return M.preload},slide:{content:``,revision:`avae6g`,frontmatterRaw:`layout: interactive title: The perceptron learning rule, running aside-width: 17rem `,note:``,title:`The perceptron learning rule, running`,index:13,noteHTML:``,images:[],raw:``,frontmatter:M,filepath:``,start:392,sourceIndex:13,id:13,no:14},__clicksContext:null,__preloaded:!1}),N=p({layout:`default`,title:`The big picture`}),ft=u({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:`lcaffh`,frontmatterRaw:`layout: default title: The big picture `,note:``,title:`The big picture`,index:14,noteHTML:``,images:[],raw:``,frontmatter:N,filepath:``,start:408,sourceIndex:14,id:14,no:15},__clicksContext:null,__preloaded:!1}),P=p({layout:`section`,index:`02`}),pt=u({get layout(){return P.layout},get transition(){return P.transition},get class(){return P.class},get clicks(){return P.clicks},get name(){return P.name},get preload(){return P.preload},slide:{content:``,revision:`lqrz54`,frontmatterRaw:`layout: section index: "02" `,note:``,title:`ADAptive LInear NEuron`,level:1,index:15,noteHTML:``,images:[],raw:``,frontmatter:P,filepath:``,start:441,sourceIndex:15,id:15,no:16},__clicksContext:null,__preloaded:!1}),mt=p({layout:`default`,title:`ADALINE`}),ht=u({get layout(){return mt.layout},get transition(){return mt.transition},get class(){return mt.class},get clicks(){return mt.clicks},get name(){return mt.name},get preload(){return mt.preload},slide:{content:``,revision:`4w32n7`,frontmatterRaw:`layout: default title: ADALINE `,note:``,title:`ADALINE`,index:16,noteHTML:``,images:[],raw:``,frontmatter:mt,filepath:``,start:448,sourceIndex:16,id:16,no:17},__clicksContext:null,__preloaded:!1}),F=p({layout:`interactive`,title:`Perceptron vs Adaline`,"aside-width":`16rem`}),gt=u({get layout(){return F.layout},get transition(){return F.transition},get class(){return F.class},get clicks(){return F.clicks},get name(){return F.name},get preload(){return F.preload},slide:{content:``,revision:`-8sh2ki`,frontmatterRaw:`layout: interactive title: Perceptron vs Adaline aside-width: 16rem `,note:``,title:`Perceptron vs Adaline`,index:17,noteHTML:``,images:[],raw:``,frontmatter:F,filepath:``,start:466,sourceIndex:17,id:17,no:18},__clicksContext:null,__preloaded:!1}),I=p({layout:`default`,title:`Minimising the loss function`}),_t=u({get layout(){return I.layout},get transition(){return I.transition},get class(){return I.class},get clicks(){return I.clicks},get name(){return I.name},get preload(){return I.preload},slide:{content:``,revision:`3na4c6`,frontmatterRaw:`layout: default title: Minimising the loss function `,note:``,title:`Minimising the loss function`,index:18,noteHTML:``,images:[],raw:``,frontmatter:I,filepath:``,start:481,sourceIndex:18,id:18,no:19},__clicksContext:null,__preloaded:!1}),L=p({layout:`interactive`,title:`How gradient descent works`,"aside-width":`16rem`}),vt=u({get layout(){return L.layout},get transition(){return L.transition},get class(){return L.class},get clicks(){return L.clicks},get name(){return L.name},get preload(){return L.preload},slide:{content:``,revision:`-nxq58k`,frontmatterRaw:`layout: interactive title: How gradient descent works aside-width: 16rem `,note:``,title:`How gradient descent works`,index:19,noteHTML:``,images:[],raw:``,frontmatter:L,filepath:``,start:517,sourceIndex:19,id:19,no:20},__clicksContext:null,__preloaded:!1}),R=p({layout:`default`,title:`The update, written out`}),yt=u({get layout(){return R.layout},get transition(){return R.transition},get class(){return R.class},get clicks(){return R.clicks},get name(){return R.name},get preload(){return R.preload},slide:{content:``,revision:`qoa22a`,frontmatterRaw:`layout: default title: The update, written out `,note:``,title:`The update, written out`,index:20,noteHTML:``,images:[],raw:``,frontmatter:R,filepath:``,start:533,sourceIndex:20,id:20,no:21},__clicksContext:null,__preloaded:!1}),z=p({layout:`default`,title:`How do we calculate the MSE derivative?`}),bt=u({get layout(){return z.layout},get transition(){return z.transition},get class(){return z.class},get clicks(){return z.clicks},get name(){return z.name},get preload(){return z.preload},slide:{content:``,revision:`pajkfk`,frontmatterRaw:`layout: default title: How do we calculate the MSE derivative? `,note:``,title:`How do we calculate the MSE derivative?`,index:21,noteHTML:``,images:[],raw:``,frontmatter:z,filepath:``,start:575,sourceIndex:21,id:21,no:22},__clicksContext:null,__preloaded:!1}),B=p({layout:`default`,title:`Why Adaline`}),xt=u({get layout(){return B.layout},get transition(){return B.transition},get class(){return B.class},get clicks(){return B.clicks},get name(){return B.name},get preload(){return B.preload},slide:{content:``,revision:`-1yo1dy`,frontmatterRaw:`layout: default title: Why Adaline `,note:``,title:`Why Adaline`,index:22,noteHTML:``,images:[],raw:``,frontmatter:B,filepath:``,start:623,sourceIndex:22,id:22,no:23},__clicksContext:null,__preloaded:!1}),V=p({layout:`interactive`,title:`Feature scaling — standardisation`,"aside-width":`17rem`}),St=u({get layout(){return V.layout},get transition(){return V.transition},get class(){return V.class},get clicks(){return V.clicks},get name(){return V.name},get preload(){return V.preload},slide:{content:``,revision:`evgpi9`,frontmatterRaw:`layout: interactive title: Feature scaling — standardisation aside-width: 17rem `,note:``,title:`Feature scaling — standardisation`,index:23,noteHTML:``,images:[],raw:``,frontmatter:V,filepath:``,start:644,sourceIndex:23,id:23,no:24},__clicksContext:null,__preloaded:!1}),H=p({layout:`interactive`,title:`Large-scale ML and stochastic gradient descent`,"aside-width":`23rem`}),Ct=u({get layout(){return H.layout},get transition(){return H.transition},get class(){return H.class},get clicks(){return H.clicks},get name(){return H.name},get preload(){return H.preload},slide:{content:``,revision:`59q9iz`,frontmatterRaw:`layout: interactive title: Large-scale ML and stochastic gradient descent aside-width: 23rem `,note:``,title:`Large-scale ML and stochastic gradient descent`,index:24,noteHTML:``,images:[],raw:``,frontmatter:H,filepath:``,start:659,sourceIndex:24,id:24,no:25},__clicksContext:null,__preloaded:!1}),U=p({layout:`default`,title:`The perceptron, in code`}),wt=u({get layout(){return U.layout},get transition(){return U.transition},get class(){return U.class},get clicks(){return U.clicks},get name(){return U.name},get preload(){return U.preload},slide:{content:``,revision:`2vtl7j`,frontmatterRaw:`layout: default title: The perceptron, in code `,note:``,title:`The perceptron, in code`,index:25,noteHTML:``,images:[],raw:``,frontmatter:U,filepath:``,start:683,sourceIndex:25,id:25,no:26},__clicksContext:null,__preloaded:!1}),W=p({layout:`default`,title:`Adaline, in code`}),Tt=u({get layout(){return W.layout},get transition(){return W.transition},get class(){return W.class},get clicks(){return W.clicks},get name(){return W.name},get preload(){return W.preload},slide:{content:``,revision:`-l92o4g`,frontmatterRaw:`layout: default title: Adaline, in code `,note:``,title:`Adaline, in code`,index:26,noteHTML:``,images:[],raw:``,frontmatter:W,filepath:``,start:715,sourceIndex:26,id:26,no:27},__clicksContext:null,__preloaded:!1}),G=p({layout:`section`,index:`03`}),Et=u({get layout(){return G.layout},get transition(){return G.transition},get class(){return G.class},get clicks(){return G.clicks},get name(){return G.name},get preload(){return G.preload},slide:{content:``,revision:`ms5bbi`,frontmatterRaw:`layout: section index: "03" `,note:``,title:`Implementing a multilayer ANN from scratch`,level:1,index:27,noteHTML:``,images:[],raw:``,frontmatter:G,filepath:``,start:743,sourceIndex:27,id:27,no:28},__clicksContext:null,__preloaded:!1}),K=p({layout:`interactive`,title:`The multilayer perceptron`,"aside-width":`17rem`}),Dt=u({get layout(){return K.layout},get transition(){return K.transition},get class(){return K.class},get clicks(){return K.clicks},get name(){return K.name},get preload(){return K.preload},slide:{content:``,revision:`-aqp3wv`,frontmatterRaw:`layout: interactive title: The multilayer perceptron aside-width: 17rem `,note:``,title:`The multilayer perceptron`,index:28,noteHTML:``,images:[],raw:``,frontmatter:K,filepath:``,start:750,sourceIndex:28,id:28,no:29},__clicksContext:null,__preloaded:!1}),q=p({layout:`interactive`,title:`One-hot representation`,"aside-width":`15rem`}),Ot=u({get layout(){return q.layout},get transition(){return q.transition},get class(){return q.class},get clicks(){return q.clicks},get name(){return q.name},get preload(){return q.preload},slide:{content:``,revision:`b1i3qz`,frontmatterRaw:`layout: interactive title: One-hot representation aside-width: 15rem `,note:``,title:`One-hot representation`,index:29,noteHTML:``,images:[],raw:``,frontmatter:q,filepath:``,start:766,sourceIndex:29,id:29,no:30},__clicksContext:null,__preloaded:!1}),J=p({layout:`interactive`,title:`The MLP learning procedure`,"aside-width":`16rem`}),kt=u({get layout(){return J.layout},get transition(){return J.transition},get class(){return J.class},get clicks(){return J.clicks},get name(){return J.name},get preload(){return J.preload},slide:{content:``,revision:`fhhrme`,frontmatterRaw:`layout: interactive title: The MLP learning procedure aside-width: 16rem `,note:``,title:`The MLP learning procedure`,index:30,noteHTML:``,images:[],raw:``,frontmatter:J,filepath:``,start:779,sourceIndex:30,id:30,no:31},__clicksContext:null,__preloaded:!1}),Y=p({layout:`figure`,title:`Example — labelling handwritten digits`}),At=u({get layout(){return Y.layout},get transition(){return Y.transition},get class(){return Y.class},get clicks(){return Y.clicks},get name(){return Y.name},get preload(){return Y.preload},slide:{content:``,revision:`-gb4pzp`,frontmatterRaw:`layout: figure title: Example — labelling handwritten digits `,note:``,title:`Example — labelling handwritten digits`,index:31,noteHTML:``,images:[`./figures/mnist-digits.jpeg`],raw:``,frontmatter:Y,filepath:``,start:803,sourceIndex:31,id:31,no:32},__clicksContext:null,__preloaded:!1}),jt=p({layout:`interactive`,title:`Backpropagation`,"aside-width":`20rem`}),Mt=u({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:`1udby8`,frontmatterRaw:`layout: interactive title: Backpropagation aside-width: 20rem `,note:``,title:`Backpropagation`,index:32,noteHTML:``,images:[],raw:``,frontmatter:jt,filepath:``,start:818,sourceIndex:32,id:32,no:33},__clicksContext:null,__preloaded:!1}),X=p({layout:`end`,email:`vajira@simula.no`,next:`PyTorch for Deep Learning`}),Nt=u({get layout(){return X.layout},get transition(){return X.transition},get class(){return X.class},get clicks(){return X.clicks},get name(){return X.name},get preload(){return X.preload},slide:{content:``,revision:`ufsc9z`,frontmatterRaw:`layout: end email: vajira@simula.no next: PyTorch for Deep Learning `,note:``,title:`To be continued…`,level:1,index:33,noteHTML:``,images:[],raw:``,frontmatter:X,filepath:``,start:835,sourceIndex:33,id:33,no:34},__clicksContext:null,__preloaded:!1}),Z=Array(34),Q=(e,t)=>re({loader:t,delay:300,loadingComponent:Ze,errorComponent:v,onError:t=>console.error(`Failed to load slide `+(e+1),t)}),Pt=async()=>{try{return Z[0]??=await _(()=>import(`./md-D5YcP-hv.js`),__vite__mapDeps([0,1,2,3,4,5,6,7]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),v}},Ft=async()=>{try{return Z[1]??=await _(()=>import(`./md-CmjeJDum.js`),__vite__mapDeps([8,1,2,3,5,6,9,4,10,11,12,13,14,15,16,17,18,19]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),v}},It=async()=>{try{return Z[2]??=await _(()=>import(`./md-DnINEusG.js`),__vite__mapDeps([20,1,2,3,5,6,21,4,22]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),v}},Lt=async()=>{try{return Z[3]??=await _(()=>import(`./md-BWa-9V8C2.js`),__vite__mapDeps([23,1,2,3,4,5,6,24,25,26,10,11,12,13,14,15,27,28]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),v}},Rt=async()=>{try{return Z[4]??=await _(()=>import(`./md-DX2Ec6q82.js`),__vite__mapDeps([29,1,2,3,5,6,9,4,10,11,12,13,14,15,16,18,19]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),v}},zt=async()=>{try{return Z[5]??=await _(()=>import(`./md-DkOhBsH72.js`),__vite__mapDeps([30,1,2,3,5,6,31,12,11,13,9,4,10,14,15,16,17]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),v}},Bt=async()=>{try{return Z[6]??=await _(()=>import(`./md-Pa5cvCqg2.js`),__vite__mapDeps([32,1,2,3,5,6,31,12,11,13,9,4,10,14,15,16]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),v}},Vt=async()=>{try{return Z[7]??=await _(()=>import(`./md-Udpkj3Y1.js`),__vite__mapDeps([33,1,2,3,5,6,31,12,11,13,9,4,10,14,15,16]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),v}},Ht=async()=>{try{return Z[8]??=await _(()=>import(`./md-CiMC_C1d2.js`),__vite__mapDeps([34,1,2,3,5,6,35,4,24,25,36,12,11,13,37,38,39,40,41,42,43,44,45,26,10,14,15,27]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),v}},Ut=async()=>{try{return Z[9]??=await _(()=>import(`./md-DuoqZThg.js`),__vite__mapDeps([46,1,2,3,5,6,31,12,11,13,9,4,10,14,15,16]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),v}},Wt=async()=>{try{return Z[10]??=await _(()=>import(`./md-DfR_9CeO.js`),__vite__mapDeps([47,1,2,3,5,6,31,12,11,13,9,4,10,14,15,16]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),v}},Gt=async()=>{try{return Z[11]??=await _(()=>import(`./md-C2mYSVdr.js`),__vite__mapDeps([48,1,2,3,5,6,31,12,11,13,9,4,10,14,15,16]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),v}},Kt=async()=>{try{return Z[12]??=await _(()=>import(`./md-DfiJa7pa.js`),__vite__mapDeps([49,1,2,3,5,6,31,12,11,13,9,4,10,14,15,16]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),v}},qt=async()=>{try{return Z[13]??=await _(()=>import(`./md-BNpOqr5d.js`),__vite__mapDeps([50,1,2,3,5,6,35,4,24,25,36,12,11,13,37,38,39,40,41,42,43,44,45,26,10,14,15,27]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),v}},Jt=async()=>{try{return Z[14]??=await _(()=>import(`./md-Bja0-0_W.js`),__vite__mapDeps([51,1,2,3,5,6,9,4,10,11,12,13,14,15,16,52,24,25,53,17]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),v}},Yt=async()=>{try{return Z[15]??=await _(()=>import(`./md-CQsDdwCh.js`),__vite__mapDeps([54,1,2,3,5,6,21,4,22]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),v}},Xt=async()=>{try{return Z[16]??=await _(()=>import(`./md-CSL0Sr8I.js`),__vite__mapDeps([55,1,2,3,5,6,9,4,10,11,12,13,14,15,16,17]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),v}},Zt=async()=>{try{return Z[17]??=await _(()=>import(`./md-DQNDl3y5.js`),__vite__mapDeps([56,1,2,3,5,6,26,4,10,11,12,13,14,15,27,52,24,25,53]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),v}},Qt=async()=>{try{return Z[18]??=await _(()=>import(`./md-xJci9bFZ.js`),__vite__mapDeps([57,1,2,3,5,6,31,12,11,13,9,4,10,14,15,16,17]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),v}},$t=async()=>{try{return Z[19]??=await _(()=>import(`./md-DMN_0eSx.js`),__vite__mapDeps([58,1,2,3,4,5,6,24,25,36,12,11,13,37,38,39,40,41,42,43,26,10,14,15,27,59,60]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),v}},en=async()=>{try{return Z[20]??=await _(()=>import(`./md-Dfk2xxNa.js`),__vite__mapDeps([61,1,2,3,5,6,31,12,11,13,9,4,10,14,15,16]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),v}},tn=async()=>{try{return Z[21]??=await _(()=>import(`./md-SRfUxs1P2.js`),__vite__mapDeps([62,1,2,3,5,6,31,12,11,13,9,4,10,14,15,16]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),v}},nn=async()=>{try{return Z[22]??=await _(()=>import(`./md-Dr4FkHvo2.js`),__vite__mapDeps([63,1,2,3,5,6,9,4,10,11,12,13,14,15,16,17]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),v}},rn=async()=>{try{return Z[23]??=await _(()=>import(`./md-DTjbijE-2.js`),__vite__mapDeps([64,1,2,3,4,5,6,31,12,11,13,24,25,36,37,42,43,39,40,44,26,10,14,15,27,65]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),v}},an=async()=>{try{return Z[24]??=await _(()=>import(`./md-BEyfrkX32.js`),__vite__mapDeps([66,1,2,3,4,5,6,31,12,11,13,24,25,42,43,39,40,44,26,10,14,15,27,59,67]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),v}},on=async()=>{try{return Z[25]??=await _(()=>import(`./md-BogGe-l_.js`),__vite__mapDeps([68,1,2,3,5,6,9,4,10,11,12,13,14,15,16,18,19,69,70]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),v}},sn=async()=>{try{return Z[26]??=await _(()=>import(`./md-DE5q4xMj.js`),__vite__mapDeps([71,1,2,3,5,6,9,4,10,11,12,13,14,15,16,69,70]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),v}},cn=async()=>{try{return Z[27]??=await _(()=>import(`./md-C0TTOKVm.js`),__vite__mapDeps([72,1,2,3,5,6,21,4,22]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),v}},ln=async()=>{try{return Z[28]??=await _(()=>import(`./md-DQQXWQyl.js`),__vite__mapDeps([73,1,2,3,5,6,26,4,10,11,12,13,14,15,27,74,24,25,42,43,75]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),v}},un=async()=>{try{return Z[29]??=await _(()=>import(`./md-eBbKSq5M2.js`),__vite__mapDeps([76,1,2,3,4,5,6,24,25,26,10,11,12,13,14,15,27,77]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),v}},dn=async()=>{try{return Z[30]??=await _(()=>import(`./md-Dc2hhIb1.js`),__vite__mapDeps([78,1,2,3,5,6,26,4,10,11,12,13,14,15,27,17,74,24,25,42,43,75]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),v}},fn=async()=>{try{return Z[31]??=await _(()=>import(`./md-DN1adK8J.js`),__vite__mapDeps([79,1,2,3,4,5,6,10,11,12,13,14,15,18,19,80]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),v}},pn=async()=>{try{return Z[32]??=await _(()=>import(`./md-CskVyE9c2.js`),__vite__mapDeps([81,1,2,3,4,5,6,24,25,36,12,11,13,37,38,39,40,41,26,10,14,15,27,59,82]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),v}},mn=async()=>{try{return Z[33]??=await _(()=>import(`./md-C7U8SGhM.js`),__vite__mapDeps([83,1,2,3,4,5,6,84]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),v}},hn=[{no:1,meta:Qe,load:Pt,component:Q(0,Pt)},{no:2,meta:$e,load:Ft,component:Q(1,Ft)},{no:3,meta:et,load:It,component:Q(2,It)},{no:4,meta:tt,load:Lt,component:Q(3,Lt)},{no:5,meta:nt,load:Rt,component:Q(4,Rt)},{no:6,meta:rt,load:zt,component:Q(5,zt)},{no:7,meta:it,load:Bt,component:Q(6,Bt)},{no:8,meta:at,load:Vt,component:Q(7,Vt)},{no:9,meta:ot,load:Ht,component:Q(8,Ht)},{no:10,meta:st,load:Ut,component:Q(9,Ut)},{no:11,meta:ct,load:Wt,component:Q(10,Wt)},{no:12,meta:lt,load:Gt,component:Q(11,Gt)},{no:13,meta:ut,load:Kt,component:Q(12,Kt)},{no:14,meta:dt,load:qt,component:Q(13,qt)},{no:15,meta:ft,load:Jt,component:Q(14,Jt)},{no:16,meta:pt,load:Yt,component:Q(15,Yt)},{no:17,meta:ht,load:Xt,component:Q(16,Xt)},{no:18,meta:gt,load:Zt,component:Q(17,Zt)},{no:19,meta:_t,load:Qt,component:Q(18,Qt)},{no:20,meta:vt,load:$t,component:Q(19,$t)},{no:21,meta:yt,load:en,component:Q(20,en)},{no:22,meta:bt,load:tn,component:Q(21,tn)},{no:23,meta:xt,load:nn,component:Q(22,nn)},{no:24,meta:St,load:rn,component:Q(23,rn)},{no:25,meta:Ct,load:an,component:Q(24,an)},{no:26,meta:wt,load:on,component:Q(25,on)},{no:27,meta:Tt,load:sn,component:Q(26,sn)},{no:28,meta:Et,load:cn,component:Q(27,cn)},{no:29,meta:Dt,load:ln,component:Q(28,ln)},{no:30,meta:Ot,load:un,component:Q(29,un)},{no:31,meta:kt,load:dn,component:Q(30,dn)},{no:32,meta:At,load:fn,component:Q(31,fn)},{no:33,meta:Mt,load:pn,component:Q(32,pn)},{no:34,meta:Nt,load:mn,component:Q(33,mn)}],$=m(hn);function gn(e,t,{mode:r=`replace`}={}){let i=pe();return d({get(){let n=i.currentRoute.value.query[e];return n==null?t??null:Array.isArray(n)?n.filter(Boolean):n},set(a){n(()=>{(i.currentRoute.value.query[e]??t?.toString())!==a.toString()&&i[ae(r)]({query:{...i.currentRoute.value.query,[e]:`${a}`===t?void 0:a}})})}})}function _n(e,t,n=!1){let r=e.meta.slide?.frontmatter.routeAlias??e.no;return n?`/export/${r}`:t?`/presenter/${r}`:`/${r}`}function vn(e){return $.value.find(t=>t.no===+e||t.meta.slide?.frontmatter.routeAlias===e)}function yn(e,t,n=!1){return(typeof e==`number`||typeof e==`string`)&&(e=vn(e)),_n(e,t,n)}var bn={"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 xn(e,t=!1){if(!e||(typeof e==`string`&&(e={name:e}),!e.name))return;let n=e.name.includes(`|`)?e.name:bn[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 Sn(e,t,n){let r=e>0?n?.meta?.transition:t?.meta?.transition;return r||=g.transition||void 0,xn(r,e<0)}var Cn=l(!1),wn=l(!1),Tn=l(!1),En=l(!1),Dn=l(!1),On=l(!1),kn=l(!0),An=p(new Set),jn=d(()=>An.size>0),Mn=ye({xs:460,...he}),Nn=de(),Pn=me(),Fn=d(()=>Nn.height.value-Nn.width.value/je.value>120),In=_e(ve?document.body:null),Ln=ge(),Rn=d(()=>[`INPUT`,`TEXTAREA`].includes(Ln.value?.tagName||``)),zn=d(()=>[`BUTTON`,`A`].includes(Ln.value?.tagName||``));h(`slidev-camera`,`default`,{listenToStorageChanges:!1}),h(`slidev-mic`,`default`,{listenToStorageChanges:!1});var Bn=h(`slidev-scale`,0),Vn=h(`slidev-wake-lock`,!0),Hn=h(`slidev-hide-cursor-idle`,!0);h(`slidev-skip-export-pdf-tip`,!1),h(`slidev-export-capture-delay`,400,{listenToStorageChanges:!1});var Un=h(`slidev-presenter-cursor`,!0,{listenToStorageChanges:!1}),Wn=h(`slidev-cursor-style`,`cursor`,{listenToStorageChanges:!1});function Gn(){Un.value=!Un.value}var Kn=h(`slidev-show-editor`,!1,{listenToStorageChanges:!1}),qn=h(`slidev-editor-vertical`,!1,{listenToStorageChanges:!1}),Jn=h(`slidev-editor-width`,ve?window.innerWidth*.4:318,{listenToStorageChanges:!1}),Yn=h(`slidev-editor-height`,ve?window.innerHeight*.4:300,{listenToStorageChanges:!1}),Xn=m(null),Zn=h(`slidev-presenter-font-size`,1,{listenToStorageChanges:!1}),Qn=h(`slidev-presenter-layout`,1,{listenToStorageChanges:!1}),$n={invert:!1,contrast:1,brightness:1,hueRotate:0,saturate:1,sepia:0},er=h(`slidev-viewer-css-filter`,$n,{listenToStorageChanges:!1,mergeDefaults:!0,deep:!0}),tr=d(()=>Object.keys($n).some(e=>er.value[e]!==$n[e]));function nr(){Qn.value+=1,Qn.value>3&&(Qn.value=1)}function rr(){Zn.value=Math.min(2,Zn.value+.1)}function ir(){Zn.value=Math.max(.5,Zn.value-.1)}var ar=fe(En),or=h(`slidev-sync-directions`,{viewerSend:!0,viewerReceive:!0,presenterSend:!0,presenterReceive:!0},{listenToStorageChanges:!1,mergeDefaults:!0});function sr(e,t,n=1){let r=t.meta.slide.level??n;r&&r>n&&e.length>0?sr(e[e.length-1].children,t,n+1):e.push({no:t.no,children:[],level:n,titleLevel:r,path:yn(t.meta.slide?.frontmatter?.routeAlias??t.no,!1),hideInToc:!!t.meta?.slide?.frontmatter?.hideInToc,title:t.meta?.slide?.title})}function cr(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=cr(a.children,t,a.active||a.hasActiveParent,a,i)),r&&(a.active||a.activeParent)&&(r.activeParent=!0),a})}function lr(e,t=1){return e.filter(e=>!e.hideInToc).map(e=>({...e,children:lr(e.children,t+1)}))}function ur(e,t,n){let r=d(()=>e.value.filter(e=>e.meta?.slide?.title).reduce((e,t)=>(sr(e,t),e),[])),i=d(()=>cr(r.value,n.value,void 0,void 0,t));return d(()=>lr(i.value))}function dr(e,t,n=l(0),r,i,o){let s=d(()=>$.value.length),c=l(0),u=l(0),ee=d(()=>yn(e.value,r.value)),f=d(()=>e.value.no),p=d(()=>e.value.meta?.layout||(f.value===1?`cover`:`default`)),te=d(()=>e.value.meta.slide.frontmatter),m=d(()=>t.value.current),ne=d(()=>t.value.clicksStart),re=d(()=>t.value.total),ie=d(()=>$.value[Math.min($.value.length,f.value+1)-1]),ae=d(()=>$.value[Math.max(1,f.value-1)-1]),oe=d(()=>f.value<$.value.length||m.valuef.value>1||m.value>0),ce=d(()=>i.value?void 0:Sn(c.value,e.value,ae.value));a(e,(e,t)=>{c.value=e.no-t.no});async function le(e){return!1}let ue=ur($,f,e);async function de(){u.value=1,re.value<=n.value?await pe():n.value+=1}async function fe(){u.value=-1,n.value<=ne.value?await me(!0):--n.value}async function pe(e=!1){u.value=1,f.value<$.value.length&&await h(f.value+1,e&&!i.value?be:void 0)}async function me(e=!1){u.value=-1,f.value>1&&await h(f.value-1,e&&!i.value?be:void 0)}function he(){return h(1)}function ge(){return h(s.value)}async function h(e,t=0,i=!1){Dn.value=!1;let a=f.value!==e,s=t!==n.value,c=vn(e)?.meta,l=c?.slide?.frontmatter.clicksStart??0;t=Se(t,l,c?.__clicksContext?.total??999999),(i||a||s)&&await o?.push({path:yn(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 _e(){o?.push({path:yn(f.value,!0),query:{...o.currentRoute.value.query}})}function ve(){o?.push({path:yn(f.value,!1),query:{...o.currentRoute.value.query}})}return{slides:$,total:s,currentPath:ee,currentSlideNo:f,currentPage:f,currentSlideRoute:e,currentLayout:p,currentFrontmatter:te,currentTransition:ce,clicksDirection:u,nextRoute:ie,prevRoute:ae,clicksContext:t,clicks:m,clicksStart:ne,clicksTotal:re,hasNext:oe,hasPrev:se,tocTree:ue,navDirection:c,openInEditor:le,next:de,prev:fe,go:h,goLast:ge,goFirst:he,nextSlide:pe,prevSlide:me,enterPresenter:_e,exitPresenter:ve}}var fr=ue(()=>{let e=pe(),t=le(),n=d(()=>(e?.currentRoute?.value?.query,new URLSearchParams(location.search))),r=d(()=>n.value.has(`print`)||t.name===`export`),i=l(n.value.get(`print`)===`clicks`),a=d(()=>n.value.has(`embedded`)),o=d(()=>t.name===`play`),s=d(()=>t.name===`presenter`),c=d(()=>t.name===`notes`),u=d(()=>!s.value&&(!g.remote||n.value.get(`password`)===g.remote)),ee=d(()=>!!t.params.no),f=d(()=>ee.value?vn(t.params.no)?.no??1:1),p=d(()=>$.value[f.value-1]),te=l(Ke($.value.length,t?.query?.range)),m=gn(`clicks`,`0`),ne=d(()=>ie(p.value)),re=d({get(){let e=+(m.value||0);return Number.isNaN(e)&&(e=0),e},set(e){Dn.value=!1,m.value=e.toString()}});function ie(e){if(e?.meta?.__clicksContext)return e.meta.__clicksContext;let t=e.no,n=He(d({get(){return f.value===t?Math.max(+(m.value??0),n.clicksStart):f.value>t?be:n.clicksStart},set(e){f.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:d(()=>t),isPrintMode:r,isPrintWithClicks:i,isEmbedded:a,isPlaying:o,isPresenter:s,isNotesViewer:c,isPresenterAvailable:u,hasPrimarySlide:ee,currentSlideNo:f,currentSlideRoute:p,clicksContext:ne,queryClicksRaw:m,queryClicks:re,printRange:te,getPrimaryClicks:ie}}),pr=ue(()=>{let e=fr(),t=pe(),n=dr(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&&!vn(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}});function mr(){let e=pr(),t=f()?ce(xe,void 0):void 0;if(!t)return e;let n=ee(t).nav;return{...e,...n}}export{Fe as $,Bn as A,yn as B,jn as C,En as D,wn as E,er as F,Ue as G,Ke as H,$n as I,Ae as J,Be as K,Vn as L,ar as M,Gn as N,Un as O,nr as P,Me as Q,Nn as R,kn as S,Tn as T,Ge as U,$ as V,He as W,je as X,Ie as Y,Ne as Z,zn as _,Wn as a,Qn as b,Yn as c,tr as d,Pe as et,Hn as f,Rn as g,qn as h,Mn as i,we as it,or as j,Cn as k,Jn as l,rr as m,Xn as n,Se as nt,ir as o,Dn as p,_ as q,Ln as r,De as rt,On as s,mr as t,g as tt,In as u,Fn as v,Kn as w,Zn as x,Pn as y,vn as z};