diff --git a/.gitattributes b/.gitattributes index 236a6d0e4b62fe110ee66a1065e248cbfe88d750..0d3be48a6546a5a707049d7b16857421e2b2eb83 100644 --- a/.gitattributes +++ b/.gitattributes @@ -47,3 +47,4 @@ lecture-01/assets/synthetic-polyp-CIkbWMkW.jpeg filter=lfs diff=lfs merge=lfs -t lecture-02/slides.pdf filter=lfs diff=lfs merge=lfs -text lecture-01/assets/generated-faces-BvUuJNEP.jpeg filter=lfs diff=lfs merge=lfs -text lecture-07/slides.pdf filter=lfs diff=lfs merge=lfs -text +lecture-05/slides.pdf filter=lfs diff=lfs merge=lfs -text diff --git a/lecture-05/404.html b/lecture-05/404.html new file mode 100644 index 0000000000000000000000000000000000000000..34a474fc6b88dbfac2c53a3f658e89b48e51ffdd --- /dev/null +++ b/lecture-05/404.html @@ -0,0 +1,30 @@ + + + + + +Recurrent Neural Networks - Slidev + + + + + + + + + + + + + + + + + + + +
+
+ + + diff --git a/lecture-05/_redirects b/lecture-05/_redirects new file mode 100644 index 0000000000000000000000000000000000000000..bdc8a08e90af7526ac48238e8fbb2f0f26121fa3 --- /dev/null +++ b/lecture-05/_redirects @@ -0,0 +1 @@ +./* ./index.html 200 diff --git a/lecture-05/assets/404-bkedjYjP.css b/lecture-05/assets/404-bkedjYjP.css new file mode 100644 index 0000000000000000000000000000000000000000..0b95cae68cb7a9eeaa0fecc385b94688be2b2945 --- /dev/null +++ b/lecture-05/assets/404-bkedjYjP.css @@ -0,0 +1 @@ +.page-link[data-v-b584852f]{background-color:#9ca3af1a;border-radius:.25rem;padding:.5rem 1rem}.page-link[data-v-b584852f]:hover{background-color:#9ca3af33} diff --git a/lecture-05/assets/Citation-BuY_RPc0.js b/lecture-05/assets/Citation-BuY_RPc0.js new file mode 100644 index 0000000000000000000000000000000000000000..debd5a9ff27ba88a665c21e5a5f1bd4b6fb6e258 --- /dev/null +++ b/lecture-05/assets/Citation-BuY_RPc0.js @@ -0,0 +1 @@ +import{H as e,St as t,b as n,m as r,w as i,x as a,z as o}from"./modules/shiki-CkJq9tSf.js";import{t as s}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{n as c}from"./slidev/context-DnYiQGy6.js";var l={class:`dl-citation`},u=[`href`],d=s(i({__name:`Citation`,props:{source:{},url:{}},setup(i){let{$slidev:s,$nav:d,$clicksContext:f,$clicks:p,$page:m,$renderContext:h,$frontmatter:g}=c(),_=i;return(i,s)=>(o(),n(`span`,l,[_.url?(o(),n(`a`,{key:0,href:_.url,target:`_blank`,rel:`noopener`},t(_.source),9,u)):(o(),n(r,{key:1},[a(t(_.source),1)],64)),e(i.$slots,`default`,{},void 0,!0)]))}}),[[`__scopeId`,`data-v-11a8cabc`]]);export{d as t}; \ No newline at end of file diff --git a/lecture-05/assets/Citation-rca7ok54.css b/lecture-05/assets/Citation-rca7ok54.css new file mode 100644 index 0000000000000000000000000000000000000000..e05f98641af8c02e0c505fbe6d1239942e4d8dd3 --- /dev/null +++ b/lecture-05/assets/Citation-rca7ok54.css @@ -0,0 +1 @@ +.dl-citation[data-v-11a8cabc]{font-size:var(--dl-fs-citation);color:var(--dl-muted)}.dl-citation a[data-v-11a8cabc]{color:inherit;border-bottom:1px dotted} diff --git a/lecture-05/assets/DeckFooter-B6vKMo6W.css b/lecture-05/assets/DeckFooter-B6vKMo6W.css new file mode 100644 index 0000000000000000000000000000000000000000..bd00073f9a4233c8d949a2f8f1202003aec12052 --- /dev/null +++ b/lecture-05/assets/DeckFooter-B6vKMo6W.css @@ -0,0 +1 @@ +.dl-footer[data-v-fe908050]{letter-spacing:.04em;color:var(--dl-muted);pointer-events:none;justify-content:space-between;align-items:center;gap:1rem;font-size:.72rem;display:flex;position:absolute;bottom:1rem;left:3rem;right:3rem}.dl-footer__left[data-v-fe908050]{align-items:center;gap:.4rem;min-width:0;display:flex}.dl-footer__code[data-v-fe908050]{color:var(--dl-accent);font-weight:700}.dl-footer__sep[data-v-fe908050]{opacity:.5}.dl-footer__title[data-v-fe908050]{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dl-footer__right[data-v-fe908050]{font-variant-numeric:tabular-nums;flex-shrink:0} diff --git a/lecture-05/assets/DeckFooter-e6C5A3-W.js b/lecture-05/assets/DeckFooter-e6C5A3-W.js new file mode 100644 index 0000000000000000000000000000000000000000..0f76a2b2e11abaa71aa022ecb536f31da7192c5f --- /dev/null +++ b/lecture-05/assets/DeckFooter-e6C5A3-W.js @@ -0,0 +1 @@ +import{St as e,_ as t,b as n,g as r,vt as i,w as a,y as o,z as s}from"./modules/shiki-CkJq9tSf.js";import{t as c}from"./useNav-D6eKrDQR.js";import{t as l}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{n as u}from"./slidev/context-DnYiQGy6.js";import"./slidev/client-BFvXAbq7.js";var d={class:`dl-footer`},f={class:`dl-footer__left`},p={key:0,class:`dl-footer__code`},m={key:1,class:`dl-footer__sep`},h={key:2},g={key:3,class:`dl-footer__sep`},_={key:4,class:`dl-footer__title`},v={class:`dl-footer__right`},y=l(a({__name:`DeckFooter`,setup(a){let{$slidev:l}=u(),y=c(),b=r(()=>l?.themeConfigs??{}),x=r(()=>b.value.courseCode??``),S=r(()=>b.value.lecture??``),C=r(()=>b.value.lectureTitle??``);return(r,a)=>(s(),n(`footer`,d,[t(`div`,f,[x.value?(s(),n(`span`,p,e(x.value),1)):o(`v-if`,!0),S.value?(s(),n(`span`,m,`·`)):o(`v-if`,!0),S.value?(s(),n(`span`,h,`Lecture `+e(S.value),1)):o(`v-if`,!0),C.value?(s(),n(`span`,g,`·`)):o(`v-if`,!0),C.value?(s(),n(`span`,_,e(C.value),1)):o(`v-if`,!0)]),t(`div`,v,e(i(y).currentPage.value)+` / `+e(i(y).total.value),1)]))}}),[[`__scopeId`,`data-v-fe908050`]]);export{y as t}; \ No newline at end of file diff --git a/lecture-05/assets/DrawingControls-Dhbx0szf.css b/lecture-05/assets/DrawingControls-Dhbx0szf.css new file mode 100644 index 0000000000000000000000000000000000000000..85375579327c847940a8710fedd96a5b987c16c1 --- /dev/null +++ b/lecture-05/assets/DrawingControls-Dhbx0szf.css @@ -0,0 +1 @@ +.v-popper--theme-dropdown .v-popper__arrow-inner{border-color:#9ca3af33} diff --git a/lecture-05/assets/EmbeddingLab-XMgvCUup.css b/lecture-05/assets/EmbeddingLab-XMgvCUup.css new file mode 100644 index 0000000000000000000000000000000000000000..9345e85fc5b8fdd453dad93b8647fb74e24d1f75 --- /dev/null +++ b/lecture-05/assets/EmbeddingLab-XMgvCUup.css @@ -0,0 +1 @@ +.dl-emb[data-v-83e76071]{font-variant-numeric:tabular-nums;align-items:center;gap:1rem;display:flex}.dl-emb__grid[data-v-83e76071]{grid-template-columns:auto auto auto;align-items:center;gap:.18rem .6rem;display:grid}.dl-emb__head[data-v-83e76071]{color:var(--dl-muted);text-transform:uppercase;letter-spacing:.06em;padding-bottom:.15rem;font-size:.68rem}.dl-emb__head--wide[data-v-83e76071]{text-transform:none;letter-spacing:0}.dl-emb__word[data-v-83e76071]{font:inherit;text-align:right;color:var(--dl-body);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;padding:.1rem .35rem;font-size:.82rem}.dl-emb__word[data-v-83e76071]:hover{border-color:var(--dl-accent);color:var(--dl-accent)}.dl-emb__word.is-selected[data-v-83e76071]{color:var(--dl-accent-strong);font-weight:700}.dl-emb__word[data-v-83e76071]:focus-visible{outline:2px solid var(--dl-accent);outline-offset:1px}.dl-emb__onehot[data-v-83e76071]{border:1px solid var(--dl-border);width:1.7rem;height:1.4rem;color:var(--dl-muted);border-radius:3px;place-items:center;font-size:.8rem;display:grid}.dl-emb__onehot.is-hot[data-v-83e76071]{background:var(--dl-accent);border-color:var(--dl-accent);color:#fff;font-weight:700}.dl-emb__row[data-v-83e76071]{border-radius:3px;gap:0;transition:background .15s;display:flex}.dl-emb__row.is-selected[data-v-83e76071]{background:var(--dl-accent-soft);box-shadow:0 0 0 1.5px var(--dl-accent)}.dl-emb__cell[data-v-83e76071]{border:1px solid var(--dl-border);width:2.7rem;height:1.4rem;color:var(--dl-heading);place-items:center;margin-right:-1px;font-size:.76rem;display:grid}.dl-emb__cell.is-out[data-v-83e76071]{border-color:var(--dl-accent);background:var(--dl-accent-soft);font-weight:600}.dl-emb__result[data-v-83e76071]{flex-direction:column;align-items:center;gap:.4rem;display:flex}.dl-emb__arrow[data-v-83e76071]{color:var(--dl-muted);font-size:1.3rem}.dl-emb__out[data-v-83e76071]{display:flex}.dl-emb__outcap[data-v-83e76071]{color:var(--dl-muted);text-align:center;font-size:.72rem;line-height:1.3}.dl-emb__scale[data-v-83e76071]{margin-top:.2rem}.dl-emb__tabs[data-v-83e76071]{flex-wrap:wrap;gap:.3rem;display:flex}.dl-emb__tabs button[data-v-83e76071]{border:1px solid var(--dl-border);color:var(--dl-body);font:inherit;cursor:pointer;background:0 0;border-radius:6px;padding:.22rem .5rem;font-size:.76rem}.dl-emb__tabs button[data-v-83e76071]:hover{border-color:var(--dl-accent);color:var(--dl-accent)}.dl-emb__tabs button.is-selected[data-v-83e76071]{background:var(--dl-accent);border-color:var(--dl-accent);color:#fff}.dl-emb__tabs button[data-v-83e76071]:focus-visible{outline:2px solid var(--dl-accent);outline-offset:2px} diff --git a/lecture-05/assets/EmbeddingLab-XVnfZGjB.js b/lecture-05/assets/EmbeddingLab-XVnfZGjB.js new file mode 100644 index 0000000000000000000000000000000000000000..9f2cfd07b61292527d35b297e6db69df808e5ebe --- /dev/null +++ b/lecture-05/assets/EmbeddingLab-XVnfZGjB.js @@ -0,0 +1 @@ +import{$ as e,S as t,St as n,V as r,_ as i,b as a,g as o,m as s,ut as c,v as l,vt as u,w as d,x as f,y as p,yt as m,z as h}from"./modules/shiki-CkJq9tSf.js";import{t as g}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{n as _}from"./slidev/context-DnYiQGy6.js";import{n as v}from"./useConvolution-mOidZmS_.js";import{n as y}from"./interactive-pqWNz3EB.js";import{t as b}from"./Plot2D-C9URVmMB.js";import{t as x}from"./PlotLabel-BilrlAqg.js";import{t as S}from"./PlotPoints-CeOGnq0p.js";var C={key:0,class:`dl-emb`},w={class:`dl-emb__grid`},T={class:`dl-emb__head dl-emb__head--wide`},E=[`onClick`],D={class:`dl-emb__result`},O={class:`dl-emb__out`},k={class:`dl-emb__outcap`},A={key:0,class:`dl-emb__tabs`},j=[`onClick`],M={class:`dl-emb__scale`},N={class:`dl-emb__scale`},P=g(d({__name:`EmbeddingLab`,props:{mode:{default:`lookup`},vocabulary:{default:2e4},dim:{default:64},hidden:{default:128}},setup(d){let{$slidev:g,$nav:P,$clicksContext:F,$clicks:I,$page:L,$renderContext:R,$frontmatter:z}=_(),B=[{word:`the`,vec:[0,0,0,.9],group:`function`},{word:`a`,vec:[0,.1,0,.8],group:`function`},{word:`movie`,vec:[.1,.9,.1,.1],group:`thing`},{word:`plot`,vec:[0,.8,0,.1],group:`thing`},{word:`ending`,vec:[0,.7,.1,.1],group:`thing`},{word:`great`,vec:[.8,.1,.6,0],group:`positive`},{word:`brilliant`,vec:[.9,0,.8,0],group:`positive`},{word:`awful`,vec:[-.8,.1,.6,0],group:`negative`},{word:`terrible`,vec:[-.9,0,.8,0],group:`negative`}],V={plot:{dx:-10,dy:-9,anchor:`end`},brilliant:{dx:-10,dy:16,anchor:`end`},terrible:{dx:10,dy:16,anchor:`start`}};function H(e){return V[e.word]??(e.vec[0]>.3?{dx:-10,dy:-9,anchor:`end`}:{dx:10,dy:-9,anchor:`start`})}let U=d,W=c(5),G=o(()=>B[W.value]),K=e=>e.toLocaleString(`en-US`),q=o(()=>U.vocabulary*U.hidden),J=o(()=>U.vocabulary*U.dim+U.dim*U.hidden),Y={positive:`var(--dl-accent)`,negative:`var(--dl-danger)`,thing:`var(--dl-heading)`,function:`var(--dl-muted)`},X=o(()=>B.map((e,t)=>({x:e.vec[0],y:e.vec[1],cls:e.group,highlight:t===W.value})));return(o,c)=>{let d=S,g=x,_=b,P=y;return h(),l(P,{"max-width":U.mode===`space`?`34rem`:`40rem`},{controls:e(()=>[U.mode===`space`?(h(),a(`div`,A,[(h(),a(s,null,r(B,(e,t)=>i(`button`,{key:e.word,type:`button`,class:m({"is-selected":t===W.value}),onClick:e=>W.value=t},n(e.word),11,j)),64))])):p(`v-if`,!0)]),readout:e(()=>[U.mode===`lookup`?(h(),a(s,{key:0},[f(` The one-hot column has a single 1, in row `+n(W.value)+` — so the product picks `,1),i(`strong`,null,`row `+n(W.value),1),c[6]||=f(` of E and nothing else. `,-1),c[7]||=i(`code`,null,`nn.Embedding`,-1),c[8]||=f(` skips the multiply and indexes the row directly. `,-1),i(`div`,M,[f(` At real scale, `+n(K(U.vocabulary))+` words into a `+n(U.hidden)+`-unit layer: one-hot needs `+n(K(U.vocabulary))+` × `+n(U.hidden)+` = `,1),i(`strong`,null,n(K(q.value)),1),f(` weights; a `+n(U.dim)+`-wide embedding needs `+n(K(U.vocabulary))+` × `+n(U.dim)+` + `+n(U.dim)+` × `+n(U.hidden)+` = `,1),i(`strong`,null,n(K(J.value)),1),c[5]||=f(`. `,-1)])],64)):(h(),a(s,{key:1},[c[9]||=f(` Nobody wrote these coordinates — they are weights, trained by the same gradient descent as every other layer. `,-1),c[10]||=i(`strong`,null,`great`,-1),c[11]||=f(` and `,-1),c[12]||=i(`strong`,null,`brilliant`,-1),c[13]||=f(` end up beside each other because they did the same job in the training reviews; one-hot puts every pair of words exactly the same distance apart. `,-1),i(`div`,N,` The axes are named here so the picture is readable. In a real `+n(U.dim)+`-dimensional table no single axis means anything you could name. `,1)],64))]),default:e(()=>[U.mode===`lookup`?(h(),a(`div`,C,[i(`div`,w,[c[0]||=i(`div`,{class:`dl-emb__head`},`word`,-1),c[1]||=i(`div`,{class:`dl-emb__head`},`one-hot`,-1),i(`div`,T,`E — the embedding matrix, `+n(B.length)+` × 4`,1),(h(),a(s,null,r(B,(e,t)=>(h(),a(s,{key:e.word},[i(`button`,{type:`button`,class:m([`dl-emb__word`,{"is-selected":t===W.value}]),onClick:e=>W.value=t},n(e.word),11,E),i(`div`,{class:m([`dl-emb__onehot`,{"is-hot":t===W.value}])},n(+(t===W.value)),3),i(`div`,{class:m([`dl-emb__row`,{"is-selected":t===W.value}])},[(h(!0),a(s,null,r(e.vec,(e,t)=>(h(),a(`div`,{key:t,class:`dl-emb__cell`},n(u(v)(e)),1))),128))],2)],64))),64))]),i(`div`,D,[c[4]||=i(`div`,{class:`dl-emb__arrow`,"aria-hidden":`true`},`→`,-1),i(`div`,O,[(h(!0),a(s,null,r(G.value.vec,(e,t)=>(h(),a(`div`,{key:t,class:`dl-emb__cell is-out`},n(u(v)(e)),1))),128))]),i(`div`,k,[c[2]||=f(`the vector for`,-1),c[3]||=i(`br`,null,null,-1),i(`strong`,null,n(G.value.word),1)])])])):(h(),a(s,{key:1},[p(` The same table, read as a map. `),t(_,{"x-domain":[-1.15,1.15],"y-domain":[-.25,1.15],"x-ticks":[-1,-.5,0,.5,1],"y-ticks":[0,.5,1],"x-label":`learned dimension 1`,"y-label":`learned dimension 2`,width:520,height:300},{default:e(()=>[t(d,{points:X.value,radius:6,colors:Y},null,8,[`points`]),(h(),a(s,null,r(B,(e,n)=>t(g,{key:e.word,at:[e.vec[0],e.vec[1]],dx:H(e).dx,dy:H(e).dy,anchor:H(e).anchor,color:Y[e.group],bold:n===W.value,size:12,text:e.word},null,8,[`at`,`dx`,`dy`,`anchor`,`color`,`bold`,`text`])),64))]),_:1})],2112))]),_:1},8,[`max-width`])}}}),[[`__scopeId`,`data-v-83e76071`]]);export{P as t}; \ No newline at end of file diff --git a/lecture-05/assets/GatedCell-BmFrMgAI.js b/lecture-05/assets/GatedCell-BmFrMgAI.js new file mode 100644 index 0000000000000000000000000000000000000000..5dbe271baa1d3fb60018fd058aa18c2f9bc91755 --- /dev/null +++ b/lecture-05/assets/GatedCell-BmFrMgAI.js @@ -0,0 +1 @@ +import{$ as e,S as t,St as n,V as r,X as ee,_ as i,b as a,g as o,m as s,ut as c,v as te,vt as l,w as u,x as d,y as f,yt as p,z as m}from"./modules/shiki-CkJq9tSf.js";import{t as h}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{n as g}from"./slidev/context-DnYiQGy6.js";import{n as _}from"./useConvolution-mOidZmS_.js";import{d as ne,o as re,s as ie}from"./useRecurrence-PhWWMav6.js";import{n as ae}from"./interactive-pqWNz3EB.js";import{t as oe}from"./Katex-TqgxGJEq.js";import{t as se}from"./Slider-Bf0ITYx4.js";import{t as ce}from"./StepButton-BvnaUJaa.js";var le=[`viewBox`],ue=[`x2`],de=[`y`],fe=[`x1`,`x2`],pe=[`x1`,`x2`],me=[`x`,`y`],he=[`y`],ge=[`y2`],_e=[`x`],ve=[`y`],ye=[`x`,`y`],be=[`y`],xe=[`y1`,`y2`],Se=[`x2`,`y2`],Ce=[`x2`,`y2`],we=[`x`],Te=[`y`],Ee=[`x`,`y`],De=[`x`],Oe=[`y`],ke=[`x`,`y`],Ae=[`y`],je=[`y2`],Me=[`x`,`y`],Ne=[`y`],Pe=[`x1`,`x2`],Fe=[`y`],Ie=[`y2`],Le=[`x`],Re=[`y`],ze=[`x`,`y`],Be=[`x1`,`x2`],Ve=[`x`,`y`],He=[`y`],Ue=[`y`],We=[`x1`,`x2`,`y2`],Ge=[`y`],Ke=[`viewBox`],qe=[`y2`],Je=[`x`],Ye=[`x`,`y`],Xe=[`y`],Ze=[`x`,`y`,`width`],Qe=[`x`,`y`],$e=[`y1`,`x2`,`y2`],et=[`y`],tt={class:`dl-gcell__eq dl-math-sm`},v=580,y=272,b=46,x=162,S=56,C=30,w=236,T=180,E=300,D=300,nt=108,O=398,rt=398,k=120,it=470,A=262,j=338,M=470,N=13,P=196,F=300,at=h(u({__name:`GatedCell`,props:{variant:{default:`lstm`}},setup(u){let{$slidev:h,$nav:at,$clicksContext:ot,$clicks:st,$page:ct,$renderContext:lt,$frontmatter:ut}=g(),I=u,L=c(.6),R=c(.9),z=c(.4),B=c(.8),V=c(.7),H=c(.6),U=c(.5),W=c(1),G=c(.4),K=o(()=>ie(L.value,R.value,z.value,B.value,V.value)),q=o(()=>ne(U.value+.9*W.value*H.value)),J=o(()=>re(H.value,G.value,W.value,q.value)),dt=[{key:`forget`,name:`forget gate`,lit:[`cin`,`fgate`,`fmul`,`bus`],latex:`f_t = \\sigma\\!\\left(W_{xf}x_t + W_{hf}h_{t-1} + b_f\\right)`,numeric:()=>`f_t \\cdot c_{t-1} = ${_(R.value)} \\times ${_(L.value)} = ${_(K.value.kept)}`,note:`How much of the old cell state survives. 1 keeps all of it, 0 wipes it. Added to the LSTM in 2000 — the original 1997 cell could not forget.`},{key:`input`,name:`input gate`,lit:[`igate`,`bus`],latex:`i_t = \\sigma\\!\\left(W_{xi}x_t + W_{hi}h_{t-1} + b_i\\right)`,numeric:()=>`i_t = ${_(z.value)}`,note:`How much of the new candidate is allowed in. Note that it decides the amount, not the content.`},{key:`candidate`,name:`candidate`,lit:[`ggate`,`igmul`,`bus`],latex:`\\tilde{c}_t = \\tanh\\!\\left(W_{xc}x_t + W_{hc}h_{t-1} + b_c\\right)`,numeric:()=>`i_t \\cdot \\tilde{c}_t = ${_(z.value)} \\times ${_(B.value)} = ${_(K.value.written)}`,note:`The content: what this step would like to write. tanh, so it is signed — the cell state can be pushed down as well as up.`},{key:`cell`,name:`cell state`,lit:[`cin`,`fmul`,`igmul`,`plus`,`cout`],latex:`c_t = f_t \\odot c_{t-1} + i_t \\odot \\tilde{c}_t`,numeric:()=>`c_t = ${_(K.value.kept)} + ${_(K.value.written)} = ${_(K.value.c)}`,note:`The whole point of the architecture: an addition, not a matrix multiply. Nothing on this path can shrink the gradient by a factor per step.`},{key:`output`,name:`output gate`,lit:[`ogate`,`bus`],latex:`o_t = \\sigma\\!\\left(W_{xo}x_t + W_{ho}h_{t-1} + b_o\\right)`,numeric:()=>`o_t = ${_(V.value)}`,note:`How much of the cell state to expose. The cell can hold something for fifty steps and show it on exactly one of them.`},{key:`hidden`,name:`hidden state`,lit:[`cout`,`ctanh`,`hmul`,`hout`],latex:`h_t = o_t \\odot \\tanh(c_t)`,numeric:()=>`h_t = ${_(V.value)} \\times \\tanh(${_(K.value.c)}) = ${_(K.value.h)}`,note:`What leaves the cell, and the only thing the next layer sees. c_t stays inside.`}],ft=[{key:`update`,name:`update gate`,lit:[`z`],latex:`z_t = \\sigma\\!\\left(W_{xz}x_t + W_{hz}h_{t-1} + b_z\\right)`,numeric:()=>`z_t = ${_(G.value)}`,note:`One gate doing the LSTM’s forget and input jobs at once: whatever is not written is kept, by construction.`},{key:`reset`,name:`reset gate`,lit:[`r`,`cand`],latex:`r_t = \\sigma\\!\\left(W_{xr}x_t + W_{hr}h_{t-1} + b_r\\right)`,numeric:()=>`r_t \\cdot h_{t-1} = ${_(W.value)} \\times ${_(H.value)} = ${_(W.value*H.value)}`,note:`How much of the past the candidate is allowed to read. Drag it to 0: the candidate forgets the sentence so far and answers from this word alone.`},{key:`candidate`,name:`candidate`,lit:[`cand`],latex:`\\tilde{h}_t = \\tanh\\!\\left(W_{xh}x_t + W_{hh}(r_t \\odot h_{t-1}) + b_h\\right)`,numeric:()=>`\\tilde{h}_t = ${_(q.value)}`,note:`The proposed new state. Same shape as h — there is no second state vector in a GRU.`},{key:`blend`,name:`new state`,lit:[`kept`,`written`,`hnew`],latex:`h_t = (1 - z_t) \\odot h_{t-1} + z_t \\odot \\tilde{h}_t`,numeric:()=>`h_t = ${_(1-G.value)} \\times ${_(H.value)} + ${_(G.value)} \\times ${_(q.value)} = ${_(J.value.h)}`,note:`A weighted blend of old and new, and the two weights always sum to 1. Set z to 0 and the state is frozen; set it to 1 and the past is gone.`}],Y=o(()=>I.variant===`lstm`?dt:ft),X=c(-1);ee(()=>I.variant,()=>{X.value=-1});let Z=o(()=>X.value<0?null:Y.value[X.value]),pt=o(()=>X.value>=Y.value.length-1);function mt(){X.value=pt.value?-1:X.value+1}let ht=e=>!Z.value||Z.value.lit.includes(e),gt=e=>Z.value?!Z.value.lit.includes(e):!1;function Q(e){return{"is-dim":gt(e),"is-lit":!!Z.value&&ht(e)}}let _t=e=>e>=0?346:346+e*F/2,vt=e=>Math.abs(e)*F/2,yt=o(()=>[{key:`hprev`,label:`h(t−1)`,value:H.value,tone:`old`},{key:`cand`,label:`candidate`,value:q.value,tone:`new`},{key:`kept`,label:`kept: (1−z)·h(t−1)`,value:J.value.kept,tone:`old`},{key:`written`,label:`written: z·candidate`,value:J.value.written,tone:`new`},{key:`hnew`,label:`h(t)`,value:J.value.h,tone:`result`}]),$=e=>40+e*44+(e>=2?16:0);return(ee,o)=>{let c=se,u=ce,h=oe,g=ae;return m(),te(g,{"max-width":`40rem`},{controls:e(()=>[I.variant===`lstm`?(m(),a(s,{key:0},[t(c,{modelValue:L.value,"onUpdate:modelValue":o[0]||=e=>L.value=e,label:`c(t−1)`,min:-1,max:1,step:.05},null,8,[`modelValue`]),t(c,{modelValue:R.value,"onUpdate:modelValue":o[1]||=e=>R.value=e,label:`forget f`,min:0,max:1,step:.05},null,8,[`modelValue`]),t(c,{modelValue:z.value,"onUpdate:modelValue":o[2]||=e=>z.value=e,label:`input i`,min:0,max:1,step:.05},null,8,[`modelValue`]),t(c,{modelValue:B.value,"onUpdate:modelValue":o[3]||=e=>B.value=e,label:`candidate c̃`,min:-1,max:1,step:.05},null,8,[`modelValue`]),t(c,{modelValue:V.value,"onUpdate:modelValue":o[4]||=e=>V.value=e,label:`output o`,min:0,max:1,step:.05},null,8,[`modelValue`])],64)):(m(),a(s,{key:1},[t(c,{modelValue:H.value,"onUpdate:modelValue":o[5]||=e=>H.value=e,label:`h(t−1)`,min:-1,max:1,step:.05},null,8,[`modelValue`]),t(c,{modelValue:U.value,"onUpdate:modelValue":o[6]||=e=>U.value=e,label:`input drive`,min:-2,max:2,step:.1,precision:1},null,8,[`modelValue`]),t(c,{modelValue:W.value,"onUpdate:modelValue":o[7]||=e=>W.value=e,label:`reset r`,min:0,max:1,step:.05},null,8,[`modelValue`]),t(c,{modelValue:G.value,"onUpdate:modelValue":o[8]||=e=>G.value=e,label:`update z`,min:0,max:1,step:.05},null,8,[`modelValue`])],64)),t(u,{label:pt.value?`Start over`:X.value<0?`Walk the cell`:`Next part`,glyph:`▸`,onClick:mt},null,8,[`label`])]),readout:e(()=>[Z.value?(m(),a(s,{key:0},[i(`div`,tt,[t(h,{expr:Z.value.latex},null,8,[`expr`]),o[18]||=i(`span`,{class:`dl-gcell__arrow`},`→`,-1),t(h,{expr:Z.value.numeric()},null,8,[`expr`])]),i(`div`,null,[i(`strong`,null,n(Z.value.name)+`.`,1),d(` `+n(Z.value.note),1)])],64)):I.variant===`lstm`?(m(),a(s,{key:1},[o[19]||=d(` c`,-1),o[20]||=i(`sub`,null,`t`,-1),d(` = `+n(l(_)(R.value))+`×`+n(l(_)(L.value))+` + `+n(l(_)(z.value))+`×`+n(l(_)(B.value))+` = `,1),i(`strong`,null,n(l(_)(K.value.c)),1),o[21]||=d(`, and h`,-1),o[22]||=i(`sub`,null,`t`,-1),o[23]||=d(` = `,-1),i(`strong`,null,n(l(_)(K.value.h)),1),o[24]||=d(`. Set `,-1),o[25]||=i(`em`,null,`f`,-1),o[26]||=d(` = 1 and `,-1),o[27]||=i(`em`,null,`i`,-1),o[28]||=d(` = 0: the cell state passes through untouched, for as many steps as you like. The gates here are set directly — in a real cell each is its own σ(Wx + Wh + b). `,-1)],64)):(m(),a(s,{key:2},[o[29]||=d(` h`,-1),o[30]||=i(`sub`,null,`t`,-1),d(` = `+n(l(_)(1-G.value))+`×`+n(l(_)(H.value))+` + `+n(l(_)(G.value))+`×`+n(l(_)(q.value))+` = `,1),i(`strong`,null,n(l(_)(J.value.h)),1),o[31]||=d(`. Two gates instead of three, one state instead of two, and the kept and written shares always sum to 1 — so a GRU cannot forget without writing. `,-1)],64))]),default:e(()=>[I.variant===`lstm`?(m(),a(`svg`,{key:0,class:`dl-gcell`,viewBox:`0 0 ${v} ${y}`,preserveAspectRatio:`xMidYMid meet`,role:`img`,"aria-label":`An LSTM memory block: the cell state runs across the top through a multiply by the forget gate and an add of the input gate times the candidate; the hidden state leaves through the output gate`},[o[17]||=i(`defs`,null,[i(`marker`,{id:`dl-gcell-arrow`,viewBox:`0 0 8 8`,refX:`7`,refY:`4`,markerWidth:`5`,markerHeight:`5`,orient:`auto-start-reverse`},[i(`path`,{d:`M0,0 L8,4 L0,8 z`,fill:`currentColor`})])],-1),f(` The cell state: one straight line from edge to edge. `),i(`g`,{class:p([`dl-gcell__highway`,Q(`cin`)])},[i(`line`,{x1:26,y1:b,x2:167,y2:b,"marker-end":`url(#dl-gcell-arrow)`},null,8,ue),i(`text`,{class:`dl-gcell__port`,x:22,y:50,"text-anchor":`end`},[...o[9]||=[d(`c`,-1),i(`tspan`,{class:`dl-gcell__sub`,dy:`3`},`t−1`,-1)]],8,de)],2),i(`line`,{class:p([`dl-gcell__highway-seg`,Q(`fmul`)]),x1:193,y1:b,x2:287,y2:b,"marker-end":`url(#dl-gcell-arrow)`},null,10,fe),i(`g`,{class:p([`dl-gcell__highway`,Q(`cout`)])},[i(`line`,{x1:313,y1:b,x2:520,y2:b,"marker-end":`url(#dl-gcell-arrow)`},null,8,pe),i(`text`,{class:`dl-gcell__port`,x:526,y:50},[...o[10]||=[d(`c`,-1),i(`tspan`,{class:`dl-gcell__sub`,dy:`3`},`t`,-1)]],8,me)],2),f(` forget: × on the highway, fed by a sigmoid `),i(`g`,{class:p(Q(`fmul`))},[i(`circle`,{class:`dl-gcell__node`,cx:T,cy:b,r:N}),i(`text`,{class:`dl-gcell__op`,x:T,y:51,"text-anchor":`middle`},`×`,8,he)],2),i(`line`,{class:p([`dl-gcell__wire`,Q(`fgate`)]),x1:T,y1:x,x2:T,y2:63,"marker-end":`url(#dl-gcell-arrow)`},null,10,ge),i(`g`,{class:p(Q(`fgate`))},[i(`rect`,{class:`dl-gcell__gate`,x:T-S/2,y:x,width:S,height:C,rx:`5`},null,8,_e),i(`text`,{class:`dl-gcell__gatelabel`,x:T,y:181,"text-anchor":`middle`},`σ = `+n(l(_)(R.value)),9,ve),i(`text`,{class:`dl-gcell__gatename`,x:164,y:157,"text-anchor":`end`},[...o[11]||=[d(`f`,-1),i(`tspan`,{class:`dl-gcell__sub`,dy:`3`},`t`,-1)]],8,ye)],2),f(` input × candidate, then + on to the highway `),i(`g`,{class:p(Q(`igmul`))},[i(`circle`,{class:`dl-gcell__node`,cx:D,cy:nt,r:N}),i(`text`,{class:`dl-gcell__op`,x:D,y:113,"text-anchor":`middle`},`×`,8,be),i(`line`,{class:`dl-gcell__wire`,x1:D,y1:95,x2:E,y2:63,"marker-end":`url(#dl-gcell-arrow)`},null,8,xe)],2),i(`line`,{class:p([`dl-gcell__wire`,Q(`igate`)]),x1:A,y1:x,x2:291,y2:117,"marker-end":`url(#dl-gcell-arrow)`},null,10,Se),i(`line`,{class:p([`dl-gcell__wire`,Q(`ggate`)]),x1:j,y1:x,x2:309,y2:117,"marker-end":`url(#dl-gcell-arrow)`},null,10,Ce),i(`g`,{class:p(Q(`igate`))},[i(`rect`,{class:`dl-gcell__gate`,x:A-S/2,y:x,width:S,height:C,rx:`5`},null,8,we),i(`text`,{class:`dl-gcell__gatelabel`,x:A,y:181,"text-anchor":`middle`},`σ = `+n(l(_)(z.value)),9,Te),i(`text`,{class:`dl-gcell__gatename`,x:246,y:157,"text-anchor":`end`},[...o[12]||=[d(`i`,-1),i(`tspan`,{class:`dl-gcell__sub`,dy:`3`},`t`,-1)]],8,Ee)],2),i(`g`,{class:p(Q(`ggate`))},[i(`rect`,{class:`dl-gcell__gate is-tanh`,x:j-S/2,y:x,width:S,height:C,rx:`5`},null,8,De),i(`text`,{class:`dl-gcell__gatelabel`,x:j,y:181,"text-anchor":`middle`},`tanh = `+n(l(_)(B.value)),9,Oe),i(`text`,{class:`dl-gcell__gatename`,x:354,y:157,"text-anchor":`start`},[...o[13]||=[d(`c̃`,-1),i(`tspan`,{class:`dl-gcell__sub`,dy:`3`},`t`,-1)]],8,ke)],2),i(`g`,{class:p(Q(`plus`))},[i(`circle`,{class:`dl-gcell__node is-plus`,cx:E,cy:b,r:N}),i(`text`,{class:`dl-gcell__op`,x:E,y:51,"text-anchor":`middle`},`+`,8,Ae)],2),f(` the branch that becomes h_t `),i(`g`,{class:p(Q(`ctanh`))},[i(`line`,{class:`dl-gcell__wire`,x1:O,y1:b,x2:O,y2:101,"marker-end":`url(#dl-gcell-arrow)`},null,8,je),i(`rect`,{class:`dl-gcell__gate is-tanh`,x:rt-S/2,y:105,width:S,height:C,rx:`5`},null,8,Me),i(`text`,{class:`dl-gcell__gatelabel`,x:rt,y:125,"text-anchor":`middle`},`tanh`,8,Ne)],2),i(`g`,{class:p(Q(`hmul`))},[i(`line`,{class:`dl-gcell__wire`,x1:426,y1:k,x2:453,y2:k,"marker-end":`url(#dl-gcell-arrow)`},null,8,Pe),i(`circle`,{class:`dl-gcell__node`,cx:it,cy:k,r:N}),i(`text`,{class:`dl-gcell__op`,x:it,y:125,"text-anchor":`middle`},`×`,8,Fe)],2),i(`line`,{class:p([`dl-gcell__wire`,Q(`ogate`)]),x1:M,y1:x,x2:M,y2:137,"marker-end":`url(#dl-gcell-arrow)`},null,10,Ie),i(`g`,{class:p(Q(`ogate`))},[i(`rect`,{class:`dl-gcell__gate`,x:M-S/2,y:x,width:S,height:C,rx:`5`},null,8,Le),i(`text`,{class:`dl-gcell__gatelabel`,x:M,y:181,"text-anchor":`middle`},`σ = `+n(l(_)(V.value)),9,Re),i(`text`,{class:`dl-gcell__gatename`,x:454,y:157,"text-anchor":`end`},[...o[14]||=[d(`o`,-1),i(`tspan`,{class:`dl-gcell__sub`,dy:`3`},`t`,-1)]],8,ze)],2),i(`g`,{class:p(Q(`hout`))},[i(`line`,{class:`dl-gcell__wire`,x1:483,y1:k,x2:520,y2:k,"marker-end":`url(#dl-gcell-arrow)`},null,8,Be),i(`text`,{class:`dl-gcell__port`,x:526,y:124},[...o[15]||=[d(`h`,-1),i(`tspan`,{class:`dl-gcell__sub`,dy:`3`},`t`,-1)]],8,Ve)],2),f(` what every gate reads: this step's input and the last hidden state `),i(`g`,{class:p(Q(`bus`))},[i(`rect`,{class:`dl-gcell__inbox`,x:20,y:221,width:112,height:30,rx:`5`},null,8,He),i(`text`,{class:`dl-gcell__inlabel`,x:76,y:240,"text-anchor":`middle`},[...o[16]||=[d(`x`,-1),i(`tspan`,{class:`dl-gcell__sub`,dy:`3`},`t`,-1),i(`tspan`,{dy:`-3`},`, h`,-1),i(`tspan`,{class:`dl-gcell__sub`,dy:`3`},`t−1`,-1)]],8,Ue),i(`line`,{class:`dl-gcell__bus`,x1:132,y1:w,x2:M,y2:w}),(m(!0),a(s,null,r([T,A,j,M],e=>(m(),a(`line`,{key:`stub${e}`,class:`dl-gcell__wire`,x1:e,y1:w,x2:e,y2:196,"marker-end":`url(#dl-gcell-arrow)`},null,8,We))),128))],2),i(`text`,{class:`dl-gcell__caption`,x:26,y:28},`the cell state — a multiply and an add, nothing else`,8,Ge)],8,le)):(m(),a(s,{key:1},[f(` The GRU, as the interpolation it is. `),(m(),a(`svg`,{class:`dl-gcell`,viewBox:`0 0 ${v} ${y}`,preserveAspectRatio:`xMidYMid meet`,role:`img`,"aria-label":`A GRU step shown as bars: the old state and the candidate, each scaled by the update gate, adding up to the new state`},[i(`line`,{class:`dl-gcell__zero`,x1:346,y1:26,x2:346,y2:246},null,8,qe),i(`text`,{class:`dl-gcell__tick`,x:P,y:20,"text-anchor":`middle`},`−1`),i(`text`,{class:`dl-gcell__tick`,x:346,y:20,"text-anchor":`middle`},`0`),i(`text`,{class:`dl-gcell__tick`,x:496,y:20,"text-anchor":`middle`},`+1`,8,Je),(m(!0),a(s,null,r(yt.value,(e,t)=>(m(),a(`g`,{key:e.key,class:p(Q(e.key))},[i(`text`,{class:`dl-gcell__rowlabel`,x:182,y:$(t)+14,"text-anchor":`end`},n(e.label),9,Ye),i(`rect`,{class:`dl-gcell__track`,x:P,y:$(t),width:F,height:20,rx:`3`},null,8,Xe),i(`rect`,{class:p([`dl-gcell__bar`,`is-${e.tone}`]),x:_t(e.value),y:$(t),width:vt(e.value),height:20,rx:`2`},null,10,Ze),i(`text`,{class:`dl-gcell__rowval`,x:508,y:$(t)+14},n(l(_)(e.value)),9,Qe)],2))),128)),i(`line`,{class:`dl-gcell__sep`,x1:40,y1:$(2)-14,x2:536,y2:$(2)-14},null,8,$e),i(`text`,{class:`dl-gcell__caption`,x:40,y:$(2)-20},`the blend`,8,et)],8,Ke))],2112))]),_:1})}}}),[[`__scopeId`,`data-v-bf0d1e22`]]);export{at as t}; \ No newline at end of file diff --git a/lecture-05/assets/GatedCell-CMocJDE5.css b/lecture-05/assets/GatedCell-CMocJDE5.css new file mode 100644 index 0000000000000000000000000000000000000000..82055c2c9e0d16bf5a01bf1693fed624018db747 --- /dev/null +++ b/lecture-05/assets/GatedCell-CMocJDE5.css @@ -0,0 +1 @@ +.dl-gcell[data-v-bf0d1e22]{width:100%;height:100%}.is-dim[data-v-bf0d1e22]{opacity:.2;transition:opacity .25s}.is-lit[data-v-bf0d1e22]{transition:opacity .25s}.dl-gcell__highway line[data-v-bf0d1e22],.dl-gcell__highway-seg[data-v-bf0d1e22]{stroke:var(--dl-accent);stroke-width:3px;color:var(--dl-accent)}.dl-gcell__wire[data-v-bf0d1e22]{stroke:var(--dl-muted);stroke-width:1.5px;color:var(--dl-muted)}.dl-gcell__bus[data-v-bf0d1e22]{stroke:var(--dl-border);stroke-width:2px}.dl-gcell__node[data-v-bf0d1e22]{fill:var(--dl-bg);stroke:var(--dl-heading);stroke-width:1.5px}.dl-gcell__node.is-plus[data-v-bf0d1e22]{stroke:var(--dl-accent)}.dl-gcell__op[data-v-bf0d1e22]{fill:var(--dl-heading);font-size:14px;font-weight:700}.dl-gcell__gate[data-v-bf0d1e22]{fill:var(--dl-accent-soft);stroke:var(--dl-accent);stroke-width:1.2px}.dl-gcell__gate.is-tanh[data-v-bf0d1e22]{fill:var(--dl-surface);stroke:var(--dl-body)}.dl-gcell__gatelabel[data-v-bf0d1e22]{fill:var(--dl-heading);font-variant-numeric:tabular-nums;font-size:11px;font-weight:600}.dl-gcell__gatename[data-v-bf0d1e22]{fill:var(--dl-heading);font-size:12px;font-style:italic;font-weight:600}.dl-gcell__gateval[data-v-bf0d1e22]{fill:var(--dl-accent-strong);font-variant-numeric:tabular-nums;font-size:10.5px;font-weight:600}.dl-gcell__port[data-v-bf0d1e22]{fill:var(--dl-heading);font-size:13px;font-style:italic;font-weight:600}.dl-gcell__sub[data-v-bf0d1e22]{font-size:8.5px;font-style:normal;font-weight:400}.dl-gcell__inbox[data-v-bf0d1e22]{fill:var(--dl-surface);stroke:var(--dl-border);stroke-width:1px}.dl-gcell__inlabel[data-v-bf0d1e22]{fill:var(--dl-heading);font-size:12px;font-style:italic;font-weight:600}.dl-gcell__caption[data-v-bf0d1e22]{fill:var(--dl-muted);font-size:10.5px}.dl-gcell__zero[data-v-bf0d1e22]{stroke:var(--dl-muted);stroke-width:1px;stroke-dasharray:3 4}.dl-gcell__sep[data-v-bf0d1e22]{stroke:var(--dl-border);stroke-width:1px}.dl-gcell__tick[data-v-bf0d1e22]{fill:var(--dl-muted);font-size:10px}.dl-gcell__track[data-v-bf0d1e22]{fill:var(--dl-surface);stroke:var(--dl-border);stroke-width:1px}.dl-gcell__bar[data-v-bf0d1e22]{transition:x .15s,width .15s}.dl-gcell__bar.is-old[data-v-bf0d1e22]{fill:var(--dl-muted)}.dl-gcell__bar.is-new[data-v-bf0d1e22]{fill:var(--dl-accent)}.dl-gcell__bar.is-result[data-v-bf0d1e22]{fill:var(--dl-accent-strong)}.dl-gcell__rowlabel[data-v-bf0d1e22]{fill:var(--dl-heading);font-size:11.5px;font-weight:600}.dl-gcell__rowval[data-v-bf0d1e22]{fill:var(--dl-body);font-variant-numeric:tabular-nums;font-size:11px}.dl-gcell__eq[data-v-bf0d1e22]{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.15rem;display:flex}.dl-gcell__arrow[data-v-bf0d1e22]{color:var(--dl-muted)} diff --git a/lecture-05/assets/GradientFlow-B-uOpJPB.js b/lecture-05/assets/GradientFlow-B-uOpJPB.js new file mode 100644 index 0000000000000000000000000000000000000000..a06b8059aa1399b8d89e6f7a5cc8530a1993d498 --- /dev/null +++ b/lecture-05/assets/GradientFlow-B-uOpJPB.js @@ -0,0 +1 @@ +import{$ as e,S as t,St as n,_ as r,b as i,c as a,et as o,g as s,m as c,ut as l,v as u,vt as d,w as f,x as p,y as m,z as h}from"./modules/shiki-CkJq9tSf.js";import{t as g}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{n as _}from"./slidev/context-DnYiQGy6.js";import{a as v,f as y}from"./useRecurrence-PhWWMav6.js";import{n as b}from"./interactive-pqWNz3EB.js";import{t as x}from"./Slider-Bf0ITYx4.js";import{t as S}from"./Plot2D-C9URVmMB.js";import{t as C}from"./PlotLabel-BilrlAqg.js";import{n as w,t as T}from"./PlotLine-yjOYb3U7.js";var E={key:1,class:`dl-gflow__toggle`},D=5,O=-12,k=4,A=g(f({__name:`GradientFlow`,props:{mode:{default:`decay`},steps:{default:25},w:{default:.6},forget:{default:.99},clip:{type:Boolean,default:!0}},setup(f){let{$slidev:g,$nav:A,$clicksContext:j,$clicks:M,$page:N,$renderContext:P,$frontmatter:F}=_(),I=f,L=l(I.w),R=l(I.forget),z=l(!1),B=Math.log10(D);function V(e,t){return v(e,I.steps).map((e,n)=>{let r=e===0?-13:Math.log10(e);return{x:n,y:t&&r>B?B:r}})}let H=s(()=>V(L.value,z.value&&I.clip)),U=s(()=>V(R.value,!1)),W=s(()=>Math.abs(L.value-1)<1e-9?`hold`:L.value<1?`vanish`:`explode`),G=s(()=>Math.abs(L.value)**Math.min(20,I.steps)),K=s(()=>Math.abs(R.value)**Math.min(20,I.steps)),q=s(()=>y(L.value,.01)),J={0:`⁰`,1:`¹`,2:`²`,3:`³`,4:`⁴`,5:`⁵`,6:`⁶`,7:`⁷`,8:`⁸`,9:`⁹`,"-":`⁻`,"+":``};function Y(e){if(e===0)return`0`;let t=Math.abs(e);if(t>=.001&&t<1)return String(Number(e.toPrecision(2)));if(t>=1&&t<1e4)return String(Number(e.toPrecision(3)));let[n,r]=e.toExponential(1).split(`e`);return`${n} \u00d7 10${[...r].map(e=>J[e]??e).join(``)}`}return(s,l)=>{let f=T,g=w,_=C,v=S,y=x,A=b;return h(),u(A,{"max-width":`34rem`},{controls:e(()=>[t(y,{modelValue:L.value,"onUpdate:modelValue":l[0]||=e=>L.value=e,label:`recurrent weight W`,min:.2,max:1.6,step:.05,precision:2},null,8,[`modelValue`]),I.mode===`gated`?(h(),u(y,{key:0,modelValue:R.value,"onUpdate:modelValue":l[1]||=e=>R.value=e,label:`forget gate f`,min:.8,max:1,step:.005,precision:3},null,8,[`modelValue`])):m(`v-if`,!0),I.clip&&I.mode===`decay`?(h(),i(`label`,E,[o(r(`input`,{"onUpdate:modelValue":l[2]||=e=>z.value=e,type:`checkbox`},null,512),[[a,z.value]]),l[3]||=p(` gradient clipping `,-1)])):m(`v-if`,!0)]),readout:e(()=>[I.mode===`gated`?(h(),i(c,{key:0},[l[4]||=p(` Twenty steps back, the plain recurrence has multiplied by `,-1),r(`strong`,null,n(Y(G.value)),1),l[5]||=p(`; the cell state, by `,-1),r(`strong`,null,n(Y(K.value)),1),l[6]||=p(`. Push `,-1),l[7]||=r(`em`,null,`f`,-1),l[8]||=p(` to 1.000 and the factor is exactly `,-1),l[9]||=r(`strong`,null,`1`,-1),l[10]||=p(` — the gradient reaches the start of the sequence undamaged. `,-1)],64)):W.value===`vanish`?(h(),i(c,{key:1},[l[11]||=r(`strong`,null,`Vanishing.`,-1),p(` Twenty steps back the gradient carries a factor of `+n(L.value.toFixed(2)),1),l[12]||=r(`sup`,null,`20`,-1),l[13]||=p(` = `,-1),r(`strong`,null,n(Y(G.value)),1),l[14]||=p(`. It is still worth 1% of its original size about `,-1),r(`strong`,null,n(q.value),1),l[15]||=p(` steps back — past that, the end of the sentence cannot teach the weights that read its beginning. `,-1)],64)):W.value===`hold`?(h(),i(c,{key:2},[l[16]||=r(`strong`,null,`The knife edge.`,-1),l[17]||=p(` At exactly 1 the gradient neither shrinks nor grows. Nothing keeps a trained weight there, and this is one number out of a whole matrix. `,-1)],64)):(h(),i(c,{key:3},[l[21]||=r(`strong`,null,`Exploding.`,-1),p(` `+n(L.value.toFixed(2)),1),l[22]||=r(`sup`,null,`20`,-1),l[23]||=p(` = `,-1),r(`strong`,null,n(Y(G.value)),1),p(`, and by step `+n(I.steps)+` it is `+n(Y(Math.abs(L.value)**I.steps))+`. One long sequence and the update overshoots — the loss goes to NaN in a single batch. `,1),I.clip?(h(),i(c,{key:0},[l[18]||=p(` Tick `,-1),l[19]||=r(`strong`,null,`gradient clipping`,-1),l[20]||=p(`: the ceiling caps it. Notice it does nothing at all to the vanishing end. `,-1)],64)):m(`v-if`,!0)],64))]),default:e(()=>[t(v,{"x-domain":[0,I.steps],"y-domain":[O,k],"x-ticks":[0,5,10,15,20,25].filter(e=>e<=I.steps),"y-ticks":[-12,-9,-6,-3,0,3],"x-label":`time steps back through the sequence`,"y-label":`log₁₀ of the gradient's size`,width:520,height:290},{default:e(()=>[m(` Unity: the gradient neither grows nor shrinks. `),t(f,{from:[0,0],to:[I.steps,0],color:`var(--dl-muted)`,width:1.2,dashed:``},null,8,[`to`]),z.value&&I.clip&&I.mode===`decay`?(h(),u(f,{key:0,from:[0,d(B)],to:[I.steps,d(B)],color:`var(--dl-danger)`,width:1.2,dashed:``},null,8,[`from`,`to`])):m(`v-if`,!0),t(g,{points:H.value,color:I.mode===`gated`?`var(--dl-danger)`:`var(--dl-accent)`,width:2.6},null,8,[`points`,`color`]),I.mode===`gated`?(h(),u(g,{key:1,points:U.value,color:`var(--dl-accent)`,width:2.6},null,8,[`points`])):m(`v-if`,!0),I.mode===`gated`?(h(),u(_,{key:2,at:[I.steps,U.value[I.steps].y],dx:-6,dy:-10,anchor:`end`,color:`var(--dl-accent)`,text:`LSTM cell state — multiplied by the forget gate`,size:11,bold:``},null,8,[`at`])):m(`v-if`,!0),I.mode===`gated`?(h(),u(_,{key:3,at:[I.steps,Math.min(Math.max(H.value[I.steps].y,-11),3)],dx:-6,dy:22,anchor:`end`,color:`var(--dl-danger)`,text:`plain RNN — multiplied by W`,size:11,bold:``},null,8,[`at`])):m(`v-if`,!0),z.value&&I.clip&&I.mode===`decay`?(h(),u(_,{key:4,at:[1,d(B)],dx:4,dy:-6,color:`var(--dl-danger)`,text:`clipped at ${D}×`,size:11},null,8,[`at`,`text`])):m(`v-if`,!0)]),_:1},8,[`x-domain`,`y-domain`,`x-ticks`])]),_:1})}}}),[[`__scopeId`,`data-v-d7ea900e`]]);export{A as t}; \ No newline at end of file diff --git a/lecture-05/assets/GradientFlow-BJ1pHoOj.css b/lecture-05/assets/GradientFlow-BJ1pHoOj.css new file mode 100644 index 0000000000000000000000000000000000000000..7a4d64ecbb43fded1d2dff63b84be970aeec5209 --- /dev/null +++ b/lecture-05/assets/GradientFlow-BJ1pHoOj.css @@ -0,0 +1 @@ +.dl-gflow__toggle[data-v-d7ea900e]{color:var(--dl-body);cursor:pointer;align-items:center;gap:.35rem;font-size:.82rem;display:inline-flex}.dl-gflow__toggle input[data-v-d7ea900e]{accent-color:var(--dl-accent);cursor:pointer} diff --git a/lecture-05/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 b/lecture-05/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..0acaaff03d4bb7606de02a827aeee338e5a86910 Binary files /dev/null and b/lecture-05/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 differ diff --git a/lecture-05/assets/KaTeX_AMS-Regular-DMm9YOAa.woff b/lecture-05/assets/KaTeX_AMS-Regular-DMm9YOAa.woff new file mode 100644 index 0000000000000000000000000000000000000000..b804d7b33a3fa5b2587d2d1d55006aed678e3eb2 Binary files /dev/null and b/lecture-05/assets/KaTeX_AMS-Regular-DMm9YOAa.woff differ diff --git a/lecture-05/assets/KaTeX_AMS-Regular-DRggAlZN.ttf b/lecture-05/assets/KaTeX_AMS-Regular-DRggAlZN.ttf new file mode 100644 index 0000000000000000000000000000000000000000..c6f9a5e7c03f9e64e9c7b4773a8e37ade8eaf406 Binary files /dev/null and b/lecture-05/assets/KaTeX_AMS-Regular-DRggAlZN.ttf differ diff --git a/lecture-05/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf b/lecture-05/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf new file mode 100644 index 0000000000000000000000000000000000000000..9ff4a5e04421e5107f74c28e27354e0b2a4e7ef8 Binary files /dev/null and b/lecture-05/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf differ diff --git a/lecture-05/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff b/lecture-05/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff new file mode 100644 index 0000000000000000000000000000000000000000..9759710d1d3e16eb10012d56babb73f2479ba9f0 Binary files /dev/null and b/lecture-05/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff differ diff --git a/lecture-05/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 b/lecture-05/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..f390922eceffe1f6dfb81a3dc086a92d98171b02 Binary files /dev/null and b/lecture-05/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 differ diff --git a/lecture-05/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff b/lecture-05/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff new file mode 100644 index 0000000000000000000000000000000000000000..9bdd534fd2beb9b878f0219da9d63ffba56677e2 Binary files /dev/null and b/lecture-05/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff differ diff --git a/lecture-05/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 b/lecture-05/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..75344a1f98e37e2c631e178065854c3a81fb842f Binary files /dev/null and b/lecture-05/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 differ diff --git a/lecture-05/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf b/lecture-05/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf new file mode 100644 index 0000000000000000000000000000000000000000..f522294ff0f3f8c52dfdaef7ebfaa06ebfcfaabf Binary files /dev/null and b/lecture-05/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf differ diff --git a/lecture-05/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf b/lecture-05/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf new file mode 100644 index 0000000000000000000000000000000000000000..4e98259c3b54076d684bf3459baeaeae8dbce97a Binary files /dev/null and b/lecture-05/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf differ diff --git a/lecture-05/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff b/lecture-05/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff new file mode 100644 index 0000000000000000000000000000000000000000..e7730f66275c87c28f26530d89264cffecf90be0 Binary files /dev/null and b/lecture-05/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff differ diff --git a/lecture-05/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 b/lecture-05/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..395f28beac23c7b0f7f3a1e714bd8dac253dd3bc Binary files /dev/null and b/lecture-05/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 differ diff --git a/lecture-05/assets/KaTeX_Fraktur-Regular-CB_wures.ttf b/lecture-05/assets/KaTeX_Fraktur-Regular-CB_wures.ttf new file mode 100644 index 0000000000000000000000000000000000000000..b8461b275fae76efd0d21fd0f1aaa696a5b10f9a Binary files /dev/null and b/lecture-05/assets/KaTeX_Fraktur-Regular-CB_wures.ttf differ diff --git a/lecture-05/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 b/lecture-05/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..735f6948d63c8cc7f8233735bb9c8d843c83d804 Binary files /dev/null and b/lecture-05/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 differ diff --git a/lecture-05/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff b/lecture-05/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff new file mode 100644 index 0000000000000000000000000000000000000000..acab069f90b6fe6301a004e6f8beaf6a0db48bce Binary files /dev/null and b/lecture-05/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff differ diff --git a/lecture-05/assets/KaTeX_Main-Bold-Cx986IdX.woff2 b/lecture-05/assets/KaTeX_Main-Bold-Cx986IdX.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..ab2ad21da6fbe6c171bb869240954d0ead8f68fd Binary files /dev/null and b/lecture-05/assets/KaTeX_Main-Bold-Cx986IdX.woff2 differ diff --git a/lecture-05/assets/KaTeX_Main-Bold-Jm3AIy58.woff b/lecture-05/assets/KaTeX_Main-Bold-Jm3AIy58.woff new file mode 100644 index 0000000000000000000000000000000000000000..f38136ac1cc2dcdc9d9b10b8521487468b1f768c Binary files /dev/null and b/lecture-05/assets/KaTeX_Main-Bold-Jm3AIy58.woff differ diff --git a/lecture-05/assets/KaTeX_Main-Bold-waoOVXN0.ttf b/lecture-05/assets/KaTeX_Main-Bold-waoOVXN0.ttf new file mode 100644 index 0000000000000000000000000000000000000000..4060e627dc341c1854260cbc3f7386e222a4d297 Binary files /dev/null and b/lecture-05/assets/KaTeX_Main-Bold-waoOVXN0.ttf differ diff --git a/lecture-05/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 b/lecture-05/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..5931794de4a2a485fa70099bf2659b145976d043 Binary files /dev/null and b/lecture-05/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 differ diff --git a/lecture-05/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf b/lecture-05/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf new file mode 100644 index 0000000000000000000000000000000000000000..dc007977ee709a236d9e82719cf7d4e5577a81b9 Binary files /dev/null and b/lecture-05/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf differ diff --git a/lecture-05/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff b/lecture-05/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff new file mode 100644 index 0000000000000000000000000000000000000000..67807b0bd4f867853271f5917fb3adf377f93f53 Binary files /dev/null and b/lecture-05/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff differ diff --git a/lecture-05/assets/KaTeX_Main-Italic-3WenGoN9.ttf b/lecture-05/assets/KaTeX_Main-Italic-3WenGoN9.ttf new file mode 100644 index 0000000000000000000000000000000000000000..0e9b0f354ad460202bba554359f5adcc8da666b7 Binary files /dev/null and b/lecture-05/assets/KaTeX_Main-Italic-3WenGoN9.ttf differ diff --git a/lecture-05/assets/KaTeX_Main-Italic-BMLOBm91.woff b/lecture-05/assets/KaTeX_Main-Italic-BMLOBm91.woff new file mode 100644 index 0000000000000000000000000000000000000000..6f43b594b6c1d863a0e3f93b001f8dd503316464 Binary files /dev/null and b/lecture-05/assets/KaTeX_Main-Italic-BMLOBm91.woff differ diff --git a/lecture-05/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 b/lecture-05/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..b50920e138807f385d0b0359f4f0f09891f18406 Binary files /dev/null and b/lecture-05/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 differ diff --git a/lecture-05/assets/KaTeX_Main-Regular-B22Nviop.woff2 b/lecture-05/assets/KaTeX_Main-Regular-B22Nviop.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..eb24a7ba282b03d830fa6c63ee897d92a5188736 Binary files /dev/null and b/lecture-05/assets/KaTeX_Main-Regular-B22Nviop.woff2 differ diff --git a/lecture-05/assets/KaTeX_Main-Regular-Dr94JaBh.woff b/lecture-05/assets/KaTeX_Main-Regular-Dr94JaBh.woff new file mode 100644 index 0000000000000000000000000000000000000000..21f5812968c42392a3eaea9b0c6320870b6b8b38 Binary files /dev/null and b/lecture-05/assets/KaTeX_Main-Regular-Dr94JaBh.woff differ diff --git a/lecture-05/assets/KaTeX_Main-Regular-ypZvNtVU.ttf b/lecture-05/assets/KaTeX_Main-Regular-ypZvNtVU.ttf new file mode 100644 index 0000000000000000000000000000000000000000..dd45e1ed2e18b32c516d9b481ebed3cb8bffa711 Binary files /dev/null and b/lecture-05/assets/KaTeX_Main-Regular-ypZvNtVU.ttf differ diff --git a/lecture-05/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf b/lecture-05/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf new file mode 100644 index 0000000000000000000000000000000000000000..728ce7a1e2cb689df32c3a6c26e1bd072dcf2acb Binary files /dev/null and b/lecture-05/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf differ diff --git a/lecture-05/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 b/lecture-05/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..29657023adc09956249f6295746c8ce4469b50d3 Binary files /dev/null and b/lecture-05/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 differ diff --git a/lecture-05/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff b/lecture-05/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff new file mode 100644 index 0000000000000000000000000000000000000000..0ae390d74c9f665cf8b1e5ea5483395da7513444 Binary files /dev/null and b/lecture-05/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff differ diff --git a/lecture-05/assets/KaTeX_Math-Italic-DA0__PXp.woff b/lecture-05/assets/KaTeX_Math-Italic-DA0__PXp.woff new file mode 100644 index 0000000000000000000000000000000000000000..eb5159d4c1ca83fb92b3190223698427df0e010c Binary files /dev/null and b/lecture-05/assets/KaTeX_Math-Italic-DA0__PXp.woff differ diff --git a/lecture-05/assets/KaTeX_Math-Italic-flOr_0UB.ttf b/lecture-05/assets/KaTeX_Math-Italic-flOr_0UB.ttf new file mode 100644 index 0000000000000000000000000000000000000000..70d559b4e937ca1b805eb39f544cbebe3c58ca6f Binary files /dev/null and b/lecture-05/assets/KaTeX_Math-Italic-flOr_0UB.ttf differ diff --git a/lecture-05/assets/KaTeX_Math-Italic-t53AETM-.woff2 b/lecture-05/assets/KaTeX_Math-Italic-t53AETM-.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..215c143fd7805a5c2b222bd7892a1a2b09610020 Binary files /dev/null and b/lecture-05/assets/KaTeX_Math-Italic-t53AETM-.woff2 differ diff --git a/lecture-05/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf b/lecture-05/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf new file mode 100644 index 0000000000000000000000000000000000000000..2f65a8a3a6d3628d11ea9c26c9077cef672fe427 Binary files /dev/null and b/lecture-05/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf differ diff --git a/lecture-05/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 b/lecture-05/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..cfaa3bda59246b49e94298478d6de3b3208066c8 Binary files /dev/null and b/lecture-05/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 differ diff --git a/lecture-05/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff b/lecture-05/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff new file mode 100644 index 0000000000000000000000000000000000000000..8d47c02d9408d34b2a9d566c0fe0d42bf82fb735 Binary files /dev/null and b/lecture-05/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff differ diff --git a/lecture-05/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 b/lecture-05/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..349c06dc609f896392fd5bc8b364d3bc3efc9330 Binary files /dev/null and b/lecture-05/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 differ diff --git a/lecture-05/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff b/lecture-05/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff new file mode 100644 index 0000000000000000000000000000000000000000..7e02df963621a5e26d53d510f0b4992eebde1c60 Binary files /dev/null and b/lecture-05/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff differ diff --git a/lecture-05/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf b/lecture-05/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf new file mode 100644 index 0000000000000000000000000000000000000000..d5850df98ec19de2eee9ff922ef59586efe471d0 Binary files /dev/null and b/lecture-05/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf differ diff --git a/lecture-05/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf b/lecture-05/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf new file mode 100644 index 0000000000000000000000000000000000000000..537279f6bd2184ed32f1a5168850609147d58ee6 Binary files /dev/null and b/lecture-05/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf differ diff --git a/lecture-05/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff b/lecture-05/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff new file mode 100644 index 0000000000000000000000000000000000000000..31b84829b42edae20d0148eeec0d922dad2108c4 Binary files /dev/null and b/lecture-05/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff differ diff --git a/lecture-05/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 b/lecture-05/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..a90eea85f6f7bded69ff5d40114447a6d8b48cfe Binary files /dev/null and b/lecture-05/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 differ diff --git a/lecture-05/assets/KaTeX_Script-Regular-C5JkGWo-.ttf b/lecture-05/assets/KaTeX_Script-Regular-C5JkGWo-.ttf new file mode 100644 index 0000000000000000000000000000000000000000..fd679bf374af72f2a183b97b40c9c7e9e51fbe5e Binary files /dev/null and b/lecture-05/assets/KaTeX_Script-Regular-C5JkGWo-.ttf differ diff --git a/lecture-05/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 b/lecture-05/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..b3048fc115681ee6c1bc86b0aa158cfbbf59daa3 Binary files /dev/null and b/lecture-05/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 differ diff --git a/lecture-05/assets/KaTeX_Script-Regular-D5yQViql.woff b/lecture-05/assets/KaTeX_Script-Regular-D5yQViql.woff new file mode 100644 index 0000000000000000000000000000000000000000..0e7da821eee0dd05a0a6f0b16c2c1345dc573a84 Binary files /dev/null and b/lecture-05/assets/KaTeX_Script-Regular-D5yQViql.woff differ diff --git a/lecture-05/assets/KaTeX_Size1-Regular-C195tn64.woff b/lecture-05/assets/KaTeX_Size1-Regular-C195tn64.woff new file mode 100644 index 0000000000000000000000000000000000000000..7f292d91184f257054ef77cc1cd3443db757c9cc Binary files /dev/null and b/lecture-05/assets/KaTeX_Size1-Regular-C195tn64.woff differ diff --git a/lecture-05/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf b/lecture-05/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf new file mode 100644 index 0000000000000000000000000000000000000000..871fd7d19d8658f64d8696ed9cdfc82c821ed76d Binary files /dev/null and b/lecture-05/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf differ diff --git a/lecture-05/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 b/lecture-05/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..c5a8462fbfe2c39a7c1857b9e296e62500a8a8a5 Binary files /dev/null and b/lecture-05/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 differ diff --git a/lecture-05/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf b/lecture-05/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf new file mode 100644 index 0000000000000000000000000000000000000000..7a212caf91c0007e826fee2d622bf48acbd30dde Binary files /dev/null and b/lecture-05/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf differ diff --git a/lecture-05/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 b/lecture-05/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..e1bccfe2403a4ed770c1697ae7c15b9e1cd9bc4e Binary files /dev/null and b/lecture-05/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 differ diff --git a/lecture-05/assets/KaTeX_Size2-Regular-oD1tc_U0.woff b/lecture-05/assets/KaTeX_Size2-Regular-oD1tc_U0.woff new file mode 100644 index 0000000000000000000000000000000000000000..d241d9be2d317f7b39b401d96c8b18836acea0fa Binary files /dev/null and b/lecture-05/assets/KaTeX_Size2-Regular-oD1tc_U0.woff differ diff --git a/lecture-05/assets/KaTeX_Size3-Regular-CTq5MqoE.woff b/lecture-05/assets/KaTeX_Size3-Regular-CTq5MqoE.woff new file mode 100644 index 0000000000000000000000000000000000000000..e6e9b658dcf1cd031ac82b6b8f312444c55d4fc0 Binary files /dev/null and b/lecture-05/assets/KaTeX_Size3-Regular-CTq5MqoE.woff differ diff --git a/lecture-05/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf b/lecture-05/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf new file mode 100644 index 0000000000000000000000000000000000000000..00bff3495fa9d2f98c1c9ce436add6a1bcfe87fb Binary files /dev/null and b/lecture-05/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf differ diff --git a/lecture-05/assets/KaTeX_Size4-Regular-BF-4gkZK.woff b/lecture-05/assets/KaTeX_Size4-Regular-BF-4gkZK.woff new file mode 100644 index 0000000000000000000000000000000000000000..e1ec5457664f438ce5a1cc6dd8409bf60ca7804b Binary files /dev/null and b/lecture-05/assets/KaTeX_Size4-Regular-BF-4gkZK.woff differ diff --git a/lecture-05/assets/KaTeX_Size4-Regular-DWFBv043.ttf b/lecture-05/assets/KaTeX_Size4-Regular-DWFBv043.ttf new file mode 100644 index 0000000000000000000000000000000000000000..74f08921f00f71f413ca42c9d1c90202e672ef38 Binary files /dev/null and b/lecture-05/assets/KaTeX_Size4-Regular-DWFBv043.ttf differ diff --git a/lecture-05/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 b/lecture-05/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..680c13085076a2f6c5a7e695935ec3f21cddb65f Binary files /dev/null and b/lecture-05/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 differ diff --git a/lecture-05/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff b/lecture-05/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff new file mode 100644 index 0000000000000000000000000000000000000000..2432419f28936aff53ddfa2a732d027e6a6648fd Binary files /dev/null and b/lecture-05/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff differ diff --git a/lecture-05/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 b/lecture-05/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..771f1af705f5cef5f578b3a1e7d8eff66f9b76b0 Binary files /dev/null and b/lecture-05/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 differ diff --git a/lecture-05/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf b/lecture-05/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf new file mode 100644 index 0000000000000000000000000000000000000000..c83252c5714c71a3e0ec62195884167339a0129b Binary files /dev/null and b/lecture-05/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf differ diff --git a/lecture-05/assets/Katex-CsYFnUYi.css b/lecture-05/assets/Katex-CsYFnUYi.css new file mode 100644 index 0000000000000000000000000000000000000000..744c537939efc87346cda7b6e65188b2daabfd7a --- /dev/null +++ b/lecture-05/assets/Katex-CsYFnUYi.css @@ -0,0 +1 @@ +.dl-katex[data-v-78921b68] .katex{color:var(--dl-heading)}.dl-katex.is-display[data-v-78921b68]{text-align:center;display:block}.dl-katex[data-v-78921b68] .dl-katex-error{color:var(--dl-danger);font-family:ui-monospace,monospace} diff --git a/lecture-05/assets/Katex-TqgxGJEq.js b/lecture-05/assets/Katex-TqgxGJEq.js new file mode 100644 index 0000000000000000000000000000000000000000..7cbc9cc628529fb5d5e512ff1dde9f72025b6654 --- /dev/null +++ b/lecture-05/assets/Katex-TqgxGJEq.js @@ -0,0 +1,257 @@ +import{b as e,g as t,w as n,yt as r,z as i}from"./modules/shiki-CkJq9tSf.js";import{t as a}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{n as o}from"./slidev/context-DnYiQGy6.js";import"./index-CK0S5VQV.js";var s=class e extends Error{constructor(t,n){var r=`KaTeX parse error: `+t,i,a,o=n&&n.loc;if(o&&o.start<=o.end){var s=o.lexer.input;i=o.start,a=o.end,i===s.length?r+=` at end of input: `:r+=` at position `+(i+1)+`: `;var c=s.slice(i,a).replace(/[^]/g,`$&̲`),l=i>15?`…`+s.slice(i-15,i):s.slice(0,i),u=a+15e.replace(c,`-$1`).toLowerCase(),u={"&":`&`,">":`>`,"<":`<`,'"':`"`,"'":`'`},d=/[&><"']/g,f=e=>String(e).replace(d,e=>u[e]),p=e=>e.type===`ordgroup`||e.type===`color`?e.body.length===1?p(e.body[0]):e:e.type===`font`?p(e.body):e,m=new Set([`mathord`,`textord`,`atom`]),h=e=>m.has(p(e).type),g=e=>{var t=/^[\x00-\x20]*([^\\/#?]*?)(:|�*58|�*3a|&colon)/i.exec(e);return t?t[2]!==`:`||!/^[a-zA-Z][a-zA-Z0-9+\-.]*$/.test(t[1])?null:t[1].toLowerCase():`_relative`},_={displayMode:{type:`boolean`,description:`Render math in display mode, which puts the math in display style (so \\int and \\sum are large, for example), and centers the math on the page on its own line.`,cli:`-d, --display-mode`},output:{type:{enum:[`htmlAndMathml`,`html`,`mathml`]},description:`Determines the markup language of the output.`,cli:`-F, --format `},leqno:{type:`boolean`,description:`Render display math in leqno style (left-justified tags).`},fleqn:{type:`boolean`,description:`Render display math flush left.`},throwOnError:{type:`boolean`,default:!0,cli:`-t, --no-throw-on-error`,cliDescription:`Render errors (in the color given by --error-color) instead of throwing a ParseError exception when encountering an error.`},errorColor:{type:`string`,default:`#cc0000`,cli:`-c, --error-color `,cliDescription:`A color string given in the format 'rgb' or 'rrggbb' (no #). This option determines the color of errors rendered by the -t option.`,cliProcessor:e=>`#`+e},macros:{type:`object`,cli:`-m, --macro `,cliDescription:`Define custom macro of the form '\\foo:expansion' (use multiple -m arguments for multiple macros).`,cliDefault:[],cliProcessor:(e,t)=>(t.push(e),t)},minRuleThickness:{type:`number`,description:"Specifies a minimum thickness, in ems, for fraction lines, `\\sqrt` top lines, `{array}` vertical lines, `\\hline`, `\\hdashline`, `\\underline`, `\\overline`, and the borders of `\\fbox`, `\\boxed`, and `\\fcolorbox`.",processor:e=>Math.max(0,e),cli:`--min-rule-thickness `,cliProcessor:parseFloat},colorIsTextColor:{type:`boolean`,description:`Makes \\color behave like LaTeX's 2-argument \\textcolor, instead of LaTeX's one-argument \\color mode change.`,cli:`-b, --color-is-text-color`},strict:{type:[{enum:[`warn`,`ignore`,`error`]},`boolean`,`function`],description:`Turn on strict / LaTeX faithfulness mode, which throws an error if the input uses features that are not supported by LaTeX.`,cli:`-S, --strict`,cliDefault:!1},trust:{type:[`boolean`,`function`],description:`Trust the input, enabling all HTML features such as \\url.`,cli:`-T, --trust`},maxSize:{type:`number`,default:1/0,description:`If non-zero, all user-specified sizes, e.g. in \\rule{500em}{500em}, will be capped to maxSize ems. Otherwise, elements and spaces can be arbitrarily large`,processor:e=>Math.max(0,e),cli:`-s, --max-size `,cliProcessor:parseInt},maxExpand:{type:`number`,default:1e3,description:`Limit the number of macro expansions to the specified number, to prevent e.g. infinite macro loops. If set to Infinity, the macro expander will try to fully expand as in LaTeX.`,processor:e=>Math.max(0,e),cli:`-e, --max-expand `,cliProcessor:e=>e===`Infinity`?1/0:parseInt(e)},globalGroup:{type:`boolean`,cli:!1}};function v(e){if(typeof e!=`string`)return e.enum[0];switch(e){case`boolean`:return!1;case`string`:return``;case`number`:return 0;case`object`:return{};default:throw Error(`Unexpected schema type; settings must declare an explicit default.`)}}function y(e){return Object.prototype.hasOwnProperty.call(e,`default`)&&e.default!==void 0?e.default:v(Array.isArray(e.type)?e.type[0]:e.type)}function b(e,t,n,r){var i=Object.prototype.hasOwnProperty.call(n,t)?n[t]:void 0,a=Object.prototype.hasOwnProperty.call(r,`processor`)?r.processor:void 0;e[t]=i===void 0?y(r):a?a(i):i}var x=class{constructor(e){e===void 0&&(e={}),this.displayMode=void 0,this.output=void 0,this.leqno=void 0,this.fleqn=void 0,this.throwOnError=void 0,this.errorColor=void 0,this.macros=void 0,this.minRuleThickness=void 0,this.colorIsTextColor=void 0,this.strict=void 0,this.trust=void 0,this.maxSize=void 0,this.maxExpand=void 0,this.globalGroup=void 0,e||={};for(var t of Object.keys(_)){var n=_[t];n&&b(this,t,e,n)}}reportNonstrict(e,t,n){var r=this.strict;if(typeof r==`function`&&(r=r(e,t,n)),!(!r||r===`ignore`)){if(r===!0||r===`error`)throw new s(`LaTeX-incompatible input and strict mode is set to 'error': `+(t+` [`+e+`]`),n);r===`warn`?typeof console<`u`&&console.warn(`LaTeX-incompatible input and strict mode is set to 'warn': `+(t+` [`+e+`]`)):typeof console<`u`&&console.warn(`LaTeX-incompatible input and strict mode is set to `+(`unrecognized '`+r+`': `+t+` [`+e+`]`))}}useStrictBehavior(e,t,n){var r=this.strict;if(typeof r==`function`)try{r=r(e,t,n)}catch{r=`error`}return!r||r===`ignore`?!1:r===!0||r===`error`?!0:r===`warn`?(typeof console<`u`&&console.warn(`LaTeX-incompatible input and strict mode is set to 'warn': `+(t+` [`+e+`]`)),!1):(typeof console<`u`&&console.warn(`LaTeX-incompatible input and strict mode is set to `+(`unrecognized '`+r+`': `+t+` [`+e+`]`)),!1)}isTrusted(e){if(`url`in e&&e.url&&!e.protocol){var t=g(e.url);if(t==null)return!1;e.protocol=t}return!!(typeof this.trust==`function`?this.trust(e):this.trust)}},S=class{constructor(e,t,n){this.id=void 0,this.size=void 0,this.cramped=void 0,this.id=e,this.size=t,this.cramped=n}sup(){return ie[ae[this.id]]}sub(){return ie[oe[this.id]]}fracNum(){return ie[se[this.id]]}fracDen(){return ie[ce[this.id]]}cramp(){return ie[le[this.id]]}text(){return ie[ue[this.id]]}isTight(){return this.size>=2}},C=0,w=1,ee=2,T=3,te=4,ne=5,re=6,E=7,ie=[new S(C,0,!1),new S(w,0,!0),new S(ee,1,!1),new S(T,1,!0),new S(te,2,!1),new S(ne,2,!0),new S(re,3,!1),new S(E,3,!0)],ae=[te,ne,te,ne,re,E,re,E],oe=[ne,ne,ne,ne,E,E,E,E],se=[ee,T,te,ne,re,E,re,E],ce=[T,T,ne,ne,E,E,E,E],le=[w,w,T,T,ne,ne,E,E],ue=[C,w,ee,T,ee,T,ee,T],D={DISPLAY:ie[C],TEXT:ie[ee],SCRIPT:ie[te],SCRIPTSCRIPT:ie[re]},de=[{name:`latin`,blocks:[[256,591],[768,879]]},{name:`cyrillic`,blocks:[[1024,1279]]},{name:`armenian`,blocks:[[1328,1423]]},{name:`brahmic`,blocks:[[2304,4255]]},{name:`georgian`,blocks:[[4256,4351]]},{name:`cjk`,blocks:[[12288,12543],[19968,40879],[65280,65376]]},{name:`hangul`,blocks:[[44032,55215]]}];function fe(e){for(var t=0;t=i[0]&&e<=i[1])return n.name}return null}var pe=[];de.forEach(e=>e.blocks.forEach(e=>pe.push(...e)));function me(e){for(var t=0;t=pe[t]&&e<=pe[t+1])return!0;return!1}var O=e=>e+` `+e,he=80,ge=function(e,t){return`M95,`+(622+e+t)+` +c-2.7,0,-7.17,-2.7,-13.5,-8c-5.8,-5.3,-9.5,-10,-9.5,-14 +c0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54 +c44.2,-33.3,65.8,-50.3,66.5,-51c1.3,-1.3,3,-2,5,-2c4.7,0,8.7,3.3,12,10 +s173,378,173,378c0.7,0,35.3,-71,104,-213c68.7,-142,137.5,-285,206.5,-429 +c69,-144,104.5,-217.7,106.5,-221 +l`+e/2.075+` -`+e+` +c5.3,-9.3,12,-14,20,-14 +H400000v`+(40+e)+`H845.2724 +s-225.272,467,-225.272,467s-235,486,-235,486c-2.7,4.7,-9,7,-19,7 +c-6,0,-10,-1,-12,-3s-194,-422,-194,-422s-65,47,-65,47z +M`+(834+e)+` `+t+`h400000v`+(40+e)+`h-400000z`},_e=function(e,t){return`M263,`+(601+e+t)+`c0.7,0,18,39.7,52,119 +c34,79.3,68.167,158.7,102.5,238c34.3,79.3,51.8,119.3,52.5,120 +c340,-704.7,510.7,-1060.3,512,-1067 +l`+e/2.084+` -`+e+` +c4.7,-7.3,11,-11,19,-11 +H40000v`+(40+e)+`H1012.3 +s-271.3,567,-271.3,567c-38.7,80.7,-84,175,-136,283c-52,108,-89.167,185.3,-111.5,232 +c-22.3,46.7,-33.8,70.3,-34.5,71c-4.7,4.7,-12.3,7,-23,7s-12,-1,-12,-1 +s-109,-253,-109,-253c-72.7,-168,-109.3,-252,-110,-252c-10.7,8,-22,16.7,-34,26 +c-22,17.3,-33.3,26,-34,26s-26,-26,-26,-26s76,-59,76,-59s76,-60,76,-60z +M`+(1001+e)+` `+t+`h400000v`+(40+e)+`h-400000z`},ve=function(e,t){return`M983 `+(10+e+t)+` +l`+e/3.13+` -`+e+` +c4,-6.7,10,-10,18,-10 H400000v`+(40+e)+` +H1013.1s-83.4,268,-264.1,840c-180.7,572,-277,876.3,-289,913c-4.7,4.7,-12.7,7,-24,7 +s-12,0,-12,0c-1.3,-3.3,-3.7,-11.7,-7,-25c-35.3,-125.3,-106.7,-373.3,-214,-744 +c-10,12,-21,25,-33,39s-32,39,-32,39c-6,-5.3,-15,-14,-27,-26s25,-30,25,-30 +c26.7,-32.7,52,-63,76,-91s52,-60,52,-60s208,722,208,722 +c56,-175.3,126.3,-397.3,211,-666c84.7,-268.7,153.8,-488.2,207.5,-658.5 +c53.7,-170.3,84.5,-266.8,92.5,-289.5z +M`+(1001+e)+` `+t+`h400000v`+(40+e)+`h-400000z`},ye=function(e,t){return`M424,`+(2398+e+t)+` +c-1.3,-0.7,-38.5,-172,-111.5,-514c-73,-342,-109.8,-513.3,-110.5,-514 +c0,-2,-10.7,14.3,-32,49c-4.7,7.3,-9.8,15.7,-15.5,25c-5.7,9.3,-9.8,16,-12.5,20 +s-5,7,-5,7c-4,-3.3,-8.3,-7.7,-13,-13s-13,-13,-13,-13s76,-122,76,-122s77,-121,77,-121 +s209,968,209,968c0,-2,84.7,-361.7,254,-1079c169.3,-717.3,254.7,-1077.7,256,-1081 +l`+e/4.223+` -`+e+`c4,-6.7,10,-10,18,-10 H400000 +v`+(40+e)+`H1014.6 +s-87.3,378.7,-272.6,1166c-185.3,787.3,-279.3,1182.3,-282,1185 +c-2,6,-10,9,-24,9 +c-8,0,-12,-0.7,-12,-2z M`+(1001+e)+` `+t+` +h400000v`+(40+e)+`h-400000z`},be=function(e,t){return`M473,`+(2713+e+t)+` +c339.3,-1799.3,509.3,-2700,510,-2702 l`+e/5.298+` -`+e+` +c3.3,-7.3,9.3,-11,18,-11 H400000v`+(40+e)+`H1017.7 +s-90.5,478,-276.2,1466c-185.7,988,-279.5,1483,-281.5,1485c-2,6,-10,9,-24,9 +c-8,0,-12,-0.7,-12,-2c0,-1.3,-5.3,-32,-16,-92c-50.7,-293.3,-119.7,-693.3,-207,-1200 +c0,-1.3,-5.3,8.7,-16,30c-10.7,21.3,-21.3,42.7,-32,64s-16,33,-16,33s-26,-26,-26,-26 +s76,-153,76,-153s77,-151,77,-151c0.7,0.7,35.7,202,105,604c67.3,400.7,102,602.7,104, +606zM`+(1001+e)+` `+t+`h400000v`+(40+e)+`H1017.7z`},xe=function(e){var t=e/2;return`M400000 `+e+` H0 L`+t+` 0 l65 45 L145 `+(e-80)+` H400000z`},Se=function(e,t,n){var r=n-54-t-e;return`M702 `+(e+t)+`H400000`+(40+e)+` +H742v`+r+`l-4 4-4 4c-.667.7 -2 1.5-4 2.5s-4.167 1.833-6.5 2.5-5.5 1-9.5 1 +h-12l-28-84c-16.667-52-96.667 -294.333-240-727l-212 -643 -85 170 +c-4-3.333-8.333-7.667-13 -13l-13-13l77-155 77-156c66 199.333 139 419.667 +219 661 l218 661zM702 `+t+`H400000v`+(40+e)+`H742z`},Ce=function(e,t,n){t=1e3*t;var r=``;switch(e){case`sqrtMain`:r=ge(t,he);break;case`sqrtSize1`:r=_e(t,he);break;case`sqrtSize2`:r=ve(t,he);break;case`sqrtSize3`:r=ye(t,he);break;case`sqrtSize4`:r=be(t,he);break;case`sqrtTall`:r=Se(t,he,n)}return r},we=function(e,t){switch(e){case`⎜`:return O(`M291 0 H417 V`+t+` H291z`);case`∣`:return O(`M145 0 H188 V`+t+` H145z`);case`∥`:return O(`M145 0 H188 V`+t+` H145z`)+O(`M367 0 H410 V`+t+` H367z`);case`⎟`:return O(`M457 0 H583 V`+t+` H457z`);case`⎢`:return O(`M319 0 H403 V`+t+` H319z`);case`⎥`:return O(`M263 0 H347 V`+t+` H263z`);case`⎪`:return O(`M384 0 H504 V`+t+` H384z`);case`⏐`:return O(`M312 0 H355 V`+t+` H312z`);case`‖`:return O(`M257 0 H300 V`+t+` H257z`)+O(`M478 0 H521 V`+t+` H478z`);default:return``}},Te={doubleleftarrow:`M262 157 +l10-10c34-36 62.7-77 86-123 3.3-8 5-13.3 5-16 0-5.3-6.7-8-20-8-7.3 + 0-12.2.5-14.5 1.5-2.3 1-4.8 4.5-7.5 10.5-49.3 97.3-121.7 169.3-217 216-28 + 14-57.3 25-88 33-6.7 2-11 3.8-13 5.5-2 1.7-3 4.2-3 7.5s1 5.8 3 7.5 +c2 1.7 6.3 3.5 13 5.5 68 17.3 128.2 47.8 180.5 91.5 52.3 43.7 93.8 96.2 124.5 + 157.5 9.3 8 15.3 12.3 18 13h6c12-.7 18-4 18-10 0-2-1.7-7-5-15-23.3-46-52-87 +-86-123l-10-10h399738v-40H218c328 0 0 0 0 0l-10-8c-26.7-20-65.7-43-117-69 2.7 +-2 6-3.7 10-5 36.7-16 72.3-37.3 107-64l10-8h399782v-40z +m8 0v40h399730v-40zm0 194v40h399730v-40z`,doublerightarrow:`M399738 392l +-10 10c-34 36-62.7 77-86 123-3.3 8-5 13.3-5 16 0 5.3 6.7 8 20 8 7.3 0 12.2-.5 + 14.5-1.5 2.3-1 4.8-4.5 7.5-10.5 49.3-97.3 121.7-169.3 217-216 28-14 57.3-25 88 +-33 6.7-2 11-3.8 13-5.5 2-1.7 3-4.2 3-7.5s-1-5.8-3-7.5c-2-1.7-6.3-3.5-13-5.5-68 +-17.3-128.2-47.8-180.5-91.5-52.3-43.7-93.8-96.2-124.5-157.5-9.3-8-15.3-12.3-18 +-13h-6c-12 .7-18 4-18 10 0 2 1.7 7 5 15 23.3 46 52 87 86 123l10 10H0v40h399782 +c-328 0 0 0 0 0l10 8c26.7 20 65.7 43 117 69-2.7 2-6 3.7-10 5-36.7 16-72.3 37.3 +-107 64l-10 8H0v40zM0 157v40h399730v-40zm0 194v40h399730v-40z`,leftarrow:`M400000 241H110l3-3c68.7-52.7 113.7-120 + 135-202 4-14.7 6-23 6-25 0-7.3-7-11-21-11-8 0-13.2.8-15.5 2.5-2.3 1.7-4.2 5.8 +-5.5 12.5-1.3 4.7-2.7 10.3-4 17-12 48.7-34.8 92-68.5 130S65.3 228.3 18 247 +c-10 4-16 7.7-18 11 0 8.7 6 14.3 18 17 47.3 18.7 87.8 47 121.5 85S196 441.3 208 + 490c.7 2 1.3 5 2 9s1.2 6.7 1.5 8c.3 1.3 1 3.3 2 6s2.2 4.5 3.5 5.5c1.3 1 3.3 + 1.8 6 2.5s6 1 10 1c14 0 21-3.7 21-11 0-2-2-10.3-6-25-20-79.3-65-146.7-135-202 + l-3-3h399890zM100 241v40h399900v-40z`,leftbrace:`M6 548l-6-6v-35l6-11c56-104 135.3-181.3 238-232 57.3-28.7 117 +-45 179-50h399577v120H403c-43.3 7-81 15-113 26-100.7 33-179.7 91-237 174-2.7 + 5-6 9-10 13-.7 1-7.3 1-20 1H6z`,leftbraceunder:`M0 6l6-6h17c12.688 0 19.313.3 20 1 4 4 7.313 8.3 10 13 + 35.313 51.3 80.813 93.8 136.5 127.5 55.688 33.7 117.188 55.8 184.5 66.5.688 + 0 2 .3 4 1 18.688 2.7 76 4.3 172 5h399450v120H429l-6-1c-124.688-8-235-61.7 +-331-161C60.687 138.7 32.312 99.3 7 54L0 41V6z`,leftgroup:`M400000 80 +H435C64 80 168.3 229.4 21 260c-5.9 1.2-18 0-18 0-2 0-3-1-3-3v-38C76 61 257 0 + 435 0h399565z`,leftgroupunder:`M400000 262 +H435C64 262 168.3 112.6 21 82c-5.9-1.2-18 0-18 0-2 0-3 1-3 3v38c76 158 257 219 + 435 219h399565z`,leftharpoon:`M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3 +-3.3 10.2-9.5 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5 +-18.3 3-21-1.3-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7 +-196 228-6.7 4.7-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40z`,leftharpoonplus:`M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3-3.3 10.2-9.5 + 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5-18.3 3-21-1.3 +-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7-196 228-6.7 4.7 +-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40zM0 435v40h400000v-40z +m0 0v40h400000v-40z`,leftharpoondown:`M7 241c-4 4-6.333 8.667-7 14 0 5.333.667 9 2 11s5.333 + 5.333 12 10c90.667 54 156 130 196 228 3.333 10.667 6.333 16.333 9 17 2 .667 5 + 1 9 1h5c10.667 0 16.667-2 18-6 2-2.667 1-9.667-3-21-32-87.333-82.667-157.667 +-152-211l-3-3h399907v-40zM93 281 H400000 v-40L7 241z`,leftharpoondownplus:`M7 435c-4 4-6.3 8.7-7 14 0 5.3.7 9 2 11s5.3 5.3 12 + 10c90.7 54 156 130 196 228 3.3 10.7 6.3 16.3 9 17 2 .7 5 1 9 1h5c10.7 0 16.7 +-2 18-6 2-2.7 1-9.7-3-21-32-87.3-82.7-157.7-152-211l-3-3h399907v-40H7zm93 0 +v40h399900v-40zM0 241v40h399900v-40zm0 0v40h399900v-40z`,lefthook:`M400000 281 H103s-33-11.2-61-33.5S0 197.3 0 164s14.2-61.2 42.5 +-83.5C70.8 58.2 104 47 142 47 c16.7 0 25 6.7 25 20 0 12-8.7 18.7-26 20-40 3.3 +-68.7 15.7-86 37-10 12-15 25.3-15 40 0 22.7 9.8 40.7 29.5 54 19.7 13.3 43.5 21 + 71.5 23h399859zM103 281v-40h399897v40z`,leftlinesegment:O(`M40 281 V428 H0 V94 H40 V241 H400000 v40z`),leftbracketunder:O(`M0 0 h120 V290 H399995 v120 H0z`),leftbracketover:O(`M0 440 h120 V150 H399995 v-120 H0z`),leftmapsto:O(`M40 281 V448H0V74H40V241H400000v40z`),leftToFrom:`M0 147h400000v40H0zm0 214c68 40 115.7 95.7 143 167h22c15.3 0 23 +-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69-70-101l-7-8h399905v-40H95l7-8 +c28.7-32 52-65.7 70-101 10.7-23.3 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 265.3 + 68 321 0 361zm0-174v-40h399900v40zm100 154v40h399900v-40z`,longequal:O(`M0 50 h400000 v40H0z m0 194h40000v40H0z`),midbrace:`M200428 334 +c-100.7-8.3-195.3-44-280-108-55.3-42-101.7-93-139-153l-9-14c-2.7 4-5.7 8.7-9 14 +-53.3 86.7-123.7 153-211 199-66.7 36-137.3 56.3-212 62H0V214h199568c178.3-11.7 + 311.7-78.3 403-201 6-8 9.7-12 11-12 .7-.7 6.7-1 18-1s17.3.3 18 1c1.3 0 5 4 11 + 12 44.7 59.3 101.3 106.3 170 141s145.3 54.3 229 60h199572v120z`,midbraceunder:`M199572 214 +c100.7 8.3 195.3 44 280 108 55.3 42 101.7 93 139 153l9 14c2.7-4 5.7-8.7 9-14 + 53.3-86.7 123.7-153 211-199 66.7-36 137.3-56.3 212-62h199568v120H200432c-178.3 + 11.7-311.7 78.3-403 201-6 8-9.7 12-11 12-.7.7-6.7 1-18 1s-17.3-.3-18-1c-1.3 0 +-5-4-11-12-44.7-59.3-101.3-106.3-170-141s-145.3-54.3-229-60H0V214z`,oiintSize1:`M512.6 71.6c272.6 0 320.3 106.8 320.3 178.2 0 70.8-47.7 177.6 +-320.3 177.6S193.1 320.6 193.1 249.8c0-71.4 46.9-178.2 319.5-178.2z +m368.1 178.2c0-86.4-60.9-215.4-368.1-215.4-306.4 0-367.3 129-367.3 215.4 0 85.8 +60.9 214.8 367.3 214.8 307.2 0 368.1-129 368.1-214.8z`,oiintSize2:`M757.8 100.1c384.7 0 451.1 137.6 451.1 230 0 91.3-66.4 228.8 +-451.1 228.8-386.3 0-452.7-137.5-452.7-228.8 0-92.4 66.4-230 452.7-230z +m502.4 230c0-111.2-82.4-277.2-502.4-277.2s-504 166-504 277.2 +c0 110 84 276 504 276s502.4-166 502.4-276z`,oiiintSize1:`M681.4 71.6c408.9 0 480.5 106.8 480.5 178.2 0 70.8-71.6 177.6 +-480.5 177.6S202.1 320.6 202.1 249.8c0-71.4 70.5-178.2 479.3-178.2z +m525.8 178.2c0-86.4-86.8-215.4-525.7-215.4-437.9 0-524.7 129-524.7 215.4 0 +85.8 86.8 214.8 524.7 214.8 438.9 0 525.7-129 525.7-214.8z`,oiiintSize2:`M1021.2 53c603.6 0 707.8 165.8 707.8 277.2 0 110-104.2 275.8 +-707.8 275.8-606 0-710.2-165.8-710.2-275.8C311 218.8 415.2 53 1021.2 53z +m770.4 277.1c0-131.2-126.4-327.6-770.5-327.6S248.4 198.9 248.4 330.1 +c0 130 128.8 326.4 772.7 326.4s770.5-196.4 770.5-326.4z`,rightarrow:`M0 241v40h399891c-47.3 35.3-84 78-110 128 +-16.7 32-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20 + 11 8 0 13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7 + 39-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85 +-40.5-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5 +-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67 + 151.7 139 205zm0 0v40h399900v-40z`,rightbrace:`M400000 542l +-6 6h-17c-12.7 0-19.3-.3-20-1-4-4-7.3-8.3-10-13-35.3-51.3-80.8-93.8-136.5-127.5 +s-117.2-55.8-184.5-66.5c-.7 0-2-.3-4-1-18.7-2.7-76-4.3-172-5H0V214h399571l6 1 +c124.7 8 235 61.7 331 161 31.3 33.3 59.7 72.7 85 118l7 13v35z`,rightbraceunder:`M399994 0l6 6v35l-6 11c-56 104-135.3 181.3-238 232-57.3 + 28.7-117 45-179 50H-300V214h399897c43.3-7 81-15 113-26 100.7-33 179.7-91 237 +-174 2.7-5 6-9 10-13 .7-1 7.3-1 20-1h17z`,rightgroup:`M0 80h399565c371 0 266.7 149.4 414 180 5.9 1.2 18 0 18 0 2 0 + 3-1 3-3v-38c-76-158-257-219-435-219H0z`,rightgroupunder:`M0 262h399565c371 0 266.7-149.4 414-180 5.9-1.2 18 0 18 + 0 2 0 3 1 3 3v38c-76 158-257 219-435 219H0z`,rightharpoon:`M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3 +-3.7-15.3-11-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2 +-10.7 0-16.7 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58 + 69.2 92 94.5zm0 0v40h399900v-40z`,rightharpoonplus:`M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3-3.7-15.3-11 +-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2-10.7 0-16.7 + 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58 69.2 92 94.5z +m0 0v40h399900v-40z m100 194v40h399900v-40zm0 0v40h399900v-40z`,rightharpoondown:`M399747 511c0 7.3 6.7 11 20 11 8 0 13-.8 15-2.5s4.7-6.8 + 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3 8.5-5.8 9.5 +-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3-64.7 57-92 95 +-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 241v40h399900v-40z`,rightharpoondownplus:`M399747 705c0 7.3 6.7 11 20 11 8 0 13-.8 + 15-2.5s4.7-6.8 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3 + 8.5-5.8 9.5-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3 +-64.7 57-92 95-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 435v40h399900v-40z +m0-194v40h400000v-40zm0 0v40h400000v-40z`,righthook:`M399859 241c-764 0 0 0 0 0 40-3.3 68.7-15.7 86-37 10-12 15-25.3 + 15-40 0-22.7-9.8-40.7-29.5-54-19.7-13.3-43.5-21-71.5-23-17.3-1.3-26-8-26-20 0 +-13.3 8.7-20 26-20 38 0 71 11.2 99 33.5 0 0 7 5.6 21 16.7 14 11.2 21 33.5 21 + 66.8s-14 61.2-42 83.5c-28 22.3-61 33.5-99 33.5L0 241z M0 281v-40h399859v40z`,rightlinesegment:O(`M399960 241 V94 h40 V428 h-40 V281 H0 v-40z`),rightbracketunder:O(`M399995 0 h-120 V290 H0 v120 H400000z`),rightbracketover:O(`M399995 440 h-120 V150 H0 v-120 H399995z`),rightToFrom:`M400000 167c-70.7-42-118-97.7-142-167h-23c-15.3 0-23 .3-23 + 1 0 1.3 5.3 13.7 16 37 18 35.3 41.3 69 70 101l7 8H0v40h399905l-7 8c-28.7 32 +-52 65.7-70 101-10.7 23.3-16 35.7-16 37 0 .7 7.7 1 23 1h23c24-69.3 71.3-125 142 +-167z M100 147v40h399900v-40zM0 341v40h399900v-40z`,twoheadleftarrow:`M0 167c68 40 + 115.7 95.7 143 167h22c15.3 0 23-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69 +-70-101l-7-8h125l9 7c50.7 39.3 85 86 103 140h46c0-4.7-6.3-18.7-19-42-18-35.3 +-40-67.3-66-96l-9-9h399716v-40H284l9-9c26-28.7 48-60.7 66-96 12.7-23.333 19 +-37.333 19-42h-46c-18 54-52.3 100.7-103 140l-9 7H95l7-8c28.7-32 52-65.7 70-101 + 10.7-23.333 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 71.3 68 127 0 167z`,twoheadrightarrow:`M400000 167 +c-68-40-115.7-95.7-143-167h-22c-15.3 0-23 .3-23 1 0 1.3 5.3 13.7 16 37 18 35.3 + 41.3 69 70 101l7 8h-125l-9-7c-50.7-39.3-85-86-103-140h-46c0 4.7 6.3 18.7 19 42 + 18 35.3 40 67.3 66 96l9 9H0v40h399716l-9 9c-26 28.7-48 60.7-66 96-12.7 23.333 +-19 37.333-19 42h46c18-54 52.3-100.7 103-140l9-7h125l-7 8c-28.7 32-52 65.7-70 + 101-10.7 23.333-16 35.7-16 37 0 .7 7.7 1 23 1h22c27.3-71.3 75-127 143-167z`,tilde1:`M200 55.538c-77 0-168 73.953-177 73.953-3 0-7 +-2.175-9-5.437L2 97c-1-2-2-4-2-6 0-4 2-7 5-9l20-12C116 12 171 0 207 0c86 0 + 114 68 191 68 78 0 168-68 177-68 4 0 7 2 9 5l12 19c1 2.175 2 4.35 2 6.525 0 + 4.35-2 7.613-5 9.788l-19 13.05c-92 63.077-116.937 75.308-183 76.128 +-68.267.847-113-73.952-191-73.952z`,tilde2:`M344 55.266c-142 0-300.638 81.316-311.5 86.418 +-8.01 3.762-22.5 10.91-23.5 5.562L1 120c-1-2-1-3-1-4 0-5 3-9 8-10l18.4-9C160.9 + 31.9 283 0 358 0c148 0 188 122 331 122s314-97 326-97c4 0 8 2 10 7l7 21.114 +c1 2.14 1 3.21 1 4.28 0 5.347-3 9.626-7 10.696l-22.3 12.622C852.6 158.372 751 + 181.476 676 181.476c-149 0-189-126.21-332-126.21z`,tilde3:`M786 59C457 59 32 175.242 13 175.242c-6 0-10-3.457 +-11-10.37L.15 138c-1-7 3-12 10-13l19.2-6.4C378.4 40.7 634.3 0 804.3 0c337 0 + 411.8 157 746.8 157 328 0 754-112 773-112 5 0 10 3 11 9l1 14.075c1 8.066-.697 + 16.595-6.697 17.492l-21.052 7.31c-367.9 98.146-609.15 122.696-778.15 122.696 + -338 0-409-156.573-744-156.573z`,tilde4:`M786 58C457 58 32 177.487 13 177.487c-6 0-10-3.345 +-11-10.035L.15 143c-1-7 3-12 10-13l22-6.7C381.2 35 637.15 0 807.15 0c337 0 409 + 177 744 177 328 0 754-127 773-127 5 0 10 3 11 9l1 14.794c1 7.805-3 13.38-9 + 14.495l-20.7 5.574c-366.85 99.79-607.3 139.372-776.3 139.372-338 0-409 + -175.236-744-175.236z`,vec:`M377 20c0-5.333 1.833-10 5.5-14S391 0 397 0c4.667 0 8.667 1.667 12 5 +3.333 2.667 6.667 9 10 19 6.667 24.667 20.333 43.667 41 57 7.333 4.667 11 +10.667 11 18 0 6-1 10-3 12s-6.667 5-14 9c-28.667 14.667-53.667 35.667-75 63 +-1.333 1.333-3.167 3.5-5.5 6.5s-4 4.833-5 5.5c-1 .667-2.5 1.333-4.5 2s-4.333 1 +-7 1c-4.667 0-9.167-1.833-13.5-5.5S337 184 337 178c0-12.667 15.667-32.333 47-59 +H213l-171-1c-8.667-6-13-12.333-13-19 0-4.667 4.333-11.333 13-20h359 +c-16-25.333-24-45-24-59z`,widehat1:`M529 0h5l519 115c5 1 9 5 9 10 0 1-1 2-1 3l-4 22 +c-1 5-5 9-11 9h-2L532 67 19 159h-2c-5 0-9-4-11-9l-5-22c-1-6 2-12 8-13z`,widehat2:`M1181 0h2l1171 176c6 0 10 5 10 11l-2 23c-1 6-5 10 +-11 10h-1L1182 67 15 220h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z`,widehat3:`M1181 0h2l1171 236c6 0 10 5 10 11l-2 23c-1 6-5 10 +-11 10h-1L1182 67 15 280h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z`,widehat4:`M1181 0h2l1171 296c6 0 10 5 10 11l-2 23c-1 6-5 10 +-11 10h-1L1182 67 15 340h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z`,widecheck1:`M529,159h5l519,-115c5,-1,9,-5,9,-10c0,-1,-1,-2,-1,-3l-4,-22c-1, +-5,-5,-9,-11,-9h-2l-512,92l-513,-92h-2c-5,0,-9,4,-11,9l-5,22c-1,6,2,12,8,13z`,widecheck2:`M1181,220h2l1171,-176c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10, +-11,-10h-1l-1168,153l-1167,-153h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z`,widecheck3:`M1181,280h2l1171,-236c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10, +-11,-10h-1l-1168,213l-1167,-213h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z`,widecheck4:`M1181,340h2l1171,-296c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10, +-11,-10h-1l-1168,273l-1167,-273h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z`,baraboveleftarrow:`M400000 620h-399890l3 -3c68.7 -52.7 113.7 -120 135 -202 +c4 -14.7 6 -23 6 -25c0 -7.3 -7 -11 -21 -11c-8 0 -13.2 0.8 -15.5 2.5 +c-2.3 1.7 -4.2 5.8 -5.5 12.5c-1.3 4.7 -2.7 10.3 -4 17c-12 48.7 -34.8 92 -68.5 130 +s-74.2 66.3 -121.5 85c-10 4 -16 7.7 -18 11c0 8.7 6 14.3 18 17c47.3 18.7 87.8 47 +121.5 85s56.5 81.3 68.5 130c0.7 2 1.3 5 2 9s1.2 6.7 1.5 8c0.3 1.3 1 3.3 2 6 +s2.2 4.5 3.5 5.5c1.3 1 3.3 1.8 6 2.5s6 1 10 1c14 0 21 -3.7 21 -11 +c0 -2 -2 -10.3 -6 -25c-20 -79.3 -65 -146.7 -135 -202l-3 -3h399890z +M100 620v40h399900v-40z M0 241v40h399900v-40zM0 241v40h399900v-40z`,rightarrowabovebar:`M0 241v40h399891c-47.3 35.3-84 78-110 128-16.7 32 +-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20 11 8 0 +13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7 39 +-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85-40.5 +-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5 +-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67 +151.7 139 205zm96 379h399894v40H0zm0 0h399904v40H0z`,baraboveshortleftharpoon:`M507,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11 +c1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17 +c2,0.7,5,1,9,1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21 +c-32,-87.3,-82.7,-157.7,-152,-211c0,0,-3,-3,-3,-3l399351,0l0,-40 +c-398570,0,-399437,0,-399437,0z M593 435 v40 H399500 v-40z +M0 281 v-40 H399908 v40z M0 281 v-40 H399908 v40z`,rightharpoonaboveshortbar:`M0,241 l0,40c399126,0,399993,0,399993,0 +c4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199, +-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6 +c-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z +M0 241 v40 H399908 v-40z M0 475 v-40 H399500 v40z M0 475 v-40 H399500 v40z`,shortbaraboveleftharpoon:`M7,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11 +c1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17c2,0.7,5,1,9, +1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21c-32,-87.3,-82.7,-157.7, +-152,-211c0,0,-3,-3,-3,-3l399907,0l0,-40c-399126,0,-399993,0,-399993,0z +M93 435 v40 H400000 v-40z M500 241 v40 H400000 v-40z M500 241 v40 H400000 v-40z`,shortrightharpoonabovebar:`M53,241l0,40c398570,0,399437,0,399437,0 +c4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199, +-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6 +c-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z +M500 241 v40 H399408 v-40z M500 435 v40 H400000 v-40z`},Ee=function(e,t){switch(e){case`lbrack`:return`M403 1759 V84 H666 V0 H319 V1759 v`+t+` v1759 v84 h347 v-84 +H403z M403 1759 V0 H319 V1759 v`+t+` v1759 v84 h84z`;case`rbrack`:return`M347 1759 V0 H0 V84 H263 V1759 v`+t+` v1759 H0 v84 H347z +M347 1759 V0 H263 V1759 v`+t+` v1759 h84z`;case`vert`:return`M145 15 v585 v`+t+` v585 c2.667,10,9.667,15,21,15 +c10,0,16.667,-5,20,-15 v-585 v`+-t+` v-585 c-2.667,-10,-9.667,-15,-21,-15 +c-10,0,-16.667,5,-20,15z M188 15 H145 v585 v`+t+` v585 h43z`;case`doublevert`:return`M145 15 v585 v`+t+` v585 c2.667,10,9.667,15,21,15 +c10,0,16.667,-5,20,-15 v-585 v`+-t+` v-585 c-2.667,-10,-9.667,-15,-21,-15 +c-10,0,-16.667,5,-20,15z M188 15 H145 v585 v`+t+` v585 h43z +M367 15 v585 v`+t+` v585 c2.667,10,9.667,15,21,15 +c10,0,16.667,-5,20,-15 v-585 v`+-t+` v-585 c-2.667,-10,-9.667,-15,-21,-15 +c-10,0,-16.667,5,-20,15z M410 15 H367 v585 v`+t+` v585 h43z`;case`lfloor`:return`M319 602 V0 H403 V602 v`+t+` v1715 h263 v84 H319z +MM319 602 V0 H403 V602 v`+t+` v1715 H319z`;case`rfloor`:return`M319 602 V0 H403 V602 v`+t+` v1799 H0 v-84 H319z +MM319 602 V0 H403 V602 v`+t+` v1715 H319z`;case`lceil`:return`M403 1759 V84 H666 V0 H319 V1759 v`+t+` v602 h84z +M403 1759 V0 H319 V1759 v`+t+` v602 h84z`;case`rceil`:return`M347 1759 V0 H0 V84 H263 V1759 v`+t+` v602 h84z +M347 1759 V0 h-84 V1759 v`+t+` v602 h84z`;case`lparen`:return`M863,9c0,-2,-2,-5,-6,-9c0,0,-17,0,-17,0c-12.7,0,-19.3,0.3,-20,1 +c-5.3,5.3,-10.3,11,-15,17c-242.7,294.7,-395.3,682,-458,1162c-21.3,163.3,-33.3,349, +-36,557 l0,`+(t+84)+`c0.2,6,0,26,0,60c2,159.3,10,310.7,24,454c53.3,528,210, +949.7,470,1265c4.7,6,9.7,11.7,15,17c0.7,0.7,7,1,19,1c0,0,18,0,18,0c4,-4,6,-7,6,-9 +c0,-2.7,-3.3,-8.7,-10,-18c-135.3,-192.7,-235.5,-414.3,-300.5,-665c-65,-250.7,-102.5, +-544.7,-112.5,-882c-2,-104,-3,-167,-3,-189 +l0,-`+(t+92)+`c0,-162.7,5.7,-314,17,-454c20.7,-272,63.7,-513,129,-723c65.3, +-210,155.3,-396.3,270,-559c6.7,-9.3,10,-15.3,10,-18z`;case`rparen`:return`M76,0c-16.7,0,-25,3,-25,9c0,2,2,6.3,6,13c21.3,28.7,42.3,60.3, +63,95c96.7,156.7,172.8,332.5,228.5,527.5c55.7,195,92.8,416.5,111.5,664.5 +c11.3,139.3,17,290.7,17,454c0,28,1.7,43,3.3,45l0,`+(t+9)+` +c-3,4,-3.3,16.7,-3.3,38c0,162,-5.7,313.7,-17,455c-18.7,248,-55.8,469.3,-111.5,664 +c-55.7,194.7,-131.8,370.3,-228.5,527c-20.7,34.7,-41.7,66.3,-63,95c-2,3.3,-4,7,-6,11 +c0,7.3,5.7,11,17,11c0,0,11,0,11,0c9.3,0,14.3,-0.3,15,-1c5.3,-5.3,10.3,-11,15,-17 +c242.7,-294.7,395.3,-681.7,458,-1161c21.3,-164.7,33.3,-350.7,36,-558 +l0,-`+(t+144)+`c-2,-159.3,-10,-310.7,-24,-454c-53.3,-528,-210,-949.7, +-470,-1265c-4.7,-6,-9.7,-11.7,-15,-17c-0.7,-0.7,-6.7,-1,-18,-1z`;default:throw Error(`Unknown stretchy delimiter.`)}};function De(e){return`toText`in e}var Oe=class{constructor(e){this.children=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.children=e,this.classes=[],this.height=0,this.depth=0,this.maxFontSize=0,this.style={}}hasClass(e){return this.classes.includes(e)}toNode(){for(var e=document.createDocumentFragment(),t=0;t{if(De(e))return e.toText();throw Error(`Expected MathDomNode with toText, got `+e.constructor.name)}).join(``)}},ke={pt:1,mm:7227/2540,cm:7227/254,in:72.27,bp:803/800,pc:12,dd:1238/1157,cc:14856/1157,nd:685/642,nc:1370/107,sp:1/65536,px:803/800},Ae={ex:!0,em:!0,mu:!0},je=function(e){return typeof e!=`string`&&(e=e.unit),e in ke||e in Ae||e===`ex`},k=function(e,t){var n;if(e.unit in ke)n=ke[e.unit]/t.fontMetrics().ptPerEm/t.sizeMultiplier;else if(e.unit===`mu`)n=t.fontMetrics().cssEmPerMu;else{var r=t.style.isTight()?t.havingStyle(t.style.text()):t;if(e.unit===`ex`)n=r.fontMetrics().xHeight;else if(e.unit===`em`)n=r.fontMetrics().quad;else throw new s(`Invalid unit: '`+e.unit+`'`);r!==t&&(n*=r.sizeMultiplier/t.sizeMultiplier)}return Math.min(e.number*n,t.maxSize)},A=function(e){return+e.toFixed(4)+`em`},Me=function(e){return e.filter(e=>e).join(` `)},Ne=function(e){var t=``;for(var n of Object.keys(e)){var r=e[n];r!==void 0&&(t+=l(n)+`:`+r+`;`)}return t},Pe=function(e,t,n){if(this.classes=e||[],this.attributes={},this.height=0,this.depth=0,this.maxFontSize=0,this.style=n||{},t){t.style.isTight()&&this.classes.push(`mtight`);var r=t.getColor();r&&(this.style.color=r)}},Fe=function(e){var t=document.createElement(e);t.className=Me(this.classes),Object.assign(t.style,this.style);for(var n of Object.keys(this.attributes))t.setAttribute(n,this.attributes[n]);for(var r=0;r/=\x00-\x1f]/,Le=function(e){var t=`<`+e;this.classes.length&&(t+=` class="`+f(Me(this.classes))+`"`);var n=Ne(this.style);n&&(t+=` style="`+f(n)+`"`);for(var r of Object.keys(this.attributes)){if(Ie.test(r))throw new s(`Invalid attribute name '`+r+`'`);t+=` `+r+`="`+f(this.attributes[r])+`"`}t+=`>`;for(var i=0;i`,t},Re=class{constructor(e,t,n,r){this.children=void 0,this.attributes=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.width=void 0,this.maxFontSize=void 0,this.style=void 0,this.italic=void 0,Pe.call(this,e,n,r),this.children=t||[]}setAttribute(e,t){this.attributes[e]=t}hasClass(e){return this.classes.includes(e)}toNode(){return Fe.call(this,`span`)}toMarkup(){return Le.call(this,`span`)}},ze=class{constructor(e,t,n,r){this.children=void 0,this.attributes=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,Pe.call(this,t,r),this.children=n||[],this.setAttribute(`href`,e)}setAttribute(e,t){this.attributes[e]=t}hasClass(e){return this.classes.includes(e)}toNode(){return Fe.call(this,`a`)}toMarkup(){return Le.call(this,`a`)}},Be=class{constructor(e,t,n){this.src=void 0,this.alt=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.alt=t,this.src=e,this.classes=[`mord`],this.height=0,this.depth=0,this.maxFontSize=0,this.style=n}hasClass(e){return this.classes.includes(e)}toNode(){var e=document.createElement(`img`);return e.src=this.src,e.alt=this.alt,e.className=`mord`,Object.assign(e.style,this.style),e}toMarkup(){var e=``+f(this.alt)+``,e}},Ve={î:`ı̂`,ï:`ı̈`,í:`ı́`,ì:`ı̀`},He=class{constructor(e,t,n,r,i,a,o,s){this.text=void 0,this.height=void 0,this.depth=void 0,this.italic=void 0,this.skew=void 0,this.width=void 0,this.maxFontSize=void 0,this.classes=void 0,this.style=void 0,this.text=e,this.height=t||0,this.depth=n||0,this.italic=r||0,this.skew=i||0,this.width=a||0,this.classes=o||[],this.style=s||{},this.maxFontSize=0;var c=fe(this.text.charCodeAt(0));c&&this.classes.push(c+`_fallback`),/[îïíì]/.test(this.text)&&(this.text=Ve[this.text])}hasClass(e){return this.classes.includes(e)}toNode(){var e=document.createTextNode(this.text),t=null;return this.italic>0&&(t=document.createElement(`span`),t.style.marginRight=A(this.italic)),this.classes.length>0&&(t||=document.createElement(`span`),t.className=Me(this.classes)),Object.keys(this.style).length>0&&(t||=document.createElement(`span`),Object.assign(t.style,this.style)),t?(t.appendChild(e),t):e}toMarkup(){var e=!1,t=`0&&(n+=`margin-right:`+A(this.italic)+`;`),n+=Ne(this.style),n&&(e=!0,t+=` style="`+f(n)+`"`);var r=f(this.text);return e?(t+=`>`,t+=r,t+=``,t):r}},Ue=class{constructor(e,t){this.children=void 0,this.attributes=void 0,this.children=e||[],this.attributes=t||{}}toNode(){var e=document.createElementNS(`http://www.w3.org/2000/svg`,`svg`);for(var t of Object.keys(this.attributes))e.setAttribute(t,this.attributes[t]);for(var n=0;n`;for(var n=0;n`,e}},We=class{constructor(e,t){this.pathName=void 0,this.alternate=void 0,this.pathName=e,this.alternate=t}toNode(){var e=document.createElementNS(`http://www.w3.org/2000/svg`,`path`);return this.alternate?e.setAttribute(`d`,this.alternate):e.setAttribute(`d`,Te[this.pathName]),e}toMarkup(){return this.alternate?``:``}},Ge=class{constructor(e){this.attributes=void 0,this.attributes=e||{}}toNode(){var e=document.createElementNS(`http://www.w3.org/2000/svg`,`line`);for(var t of Object.keys(this.attributes))e.setAttribute(t,this.attributes[t]);return e}toMarkup(){var e=``,e}};function Ke(e){if(e instanceof He)return e;throw Error(`Expected symbolNode but got `+String(e)+`.`)}function qe(e){if(e instanceof Re)return e;throw Error(`Expected span but got `+String(e)+`.`)}var Je=e=>e instanceof Re||e instanceof ze||e instanceof Oe,Ye={"AMS-Regular":{32:[0,0,0,0,.25],65:[0,.68889,0,0,.72222],66:[0,.68889,0,0,.66667],67:[0,.68889,0,0,.72222],68:[0,.68889,0,0,.72222],69:[0,.68889,0,0,.66667],70:[0,.68889,0,0,.61111],71:[0,.68889,0,0,.77778],72:[0,.68889,0,0,.77778],73:[0,.68889,0,0,.38889],74:[.16667,.68889,0,0,.5],75:[0,.68889,0,0,.77778],76:[0,.68889,0,0,.66667],77:[0,.68889,0,0,.94445],78:[0,.68889,0,0,.72222],79:[.16667,.68889,0,0,.77778],80:[0,.68889,0,0,.61111],81:[.16667,.68889,0,0,.77778],82:[0,.68889,0,0,.72222],83:[0,.68889,0,0,.55556],84:[0,.68889,0,0,.66667],85:[0,.68889,0,0,.72222],86:[0,.68889,0,0,.72222],87:[0,.68889,0,0,1],88:[0,.68889,0,0,.72222],89:[0,.68889,0,0,.72222],90:[0,.68889,0,0,.66667],107:[0,.68889,0,0,.55556],160:[0,0,0,0,.25],165:[0,.675,.025,0,.75],174:[.15559,.69224,0,0,.94666],240:[0,.68889,0,0,.55556],295:[0,.68889,0,0,.54028],710:[0,.825,0,0,2.33334],732:[0,.9,0,0,2.33334],770:[0,.825,0,0,2.33334],771:[0,.9,0,0,2.33334],989:[.08167,.58167,0,0,.77778],1008:[0,.43056,.04028,0,.66667],8245:[0,.54986,0,0,.275],8463:[0,.68889,0,0,.54028],8487:[0,.68889,0,0,.72222],8498:[0,.68889,0,0,.55556],8502:[0,.68889,0,0,.66667],8503:[0,.68889,0,0,.44445],8504:[0,.68889,0,0,.66667],8513:[0,.68889,0,0,.63889],8592:[-.03598,.46402,0,0,.5],8594:[-.03598,.46402,0,0,.5],8602:[-.13313,.36687,0,0,1],8603:[-.13313,.36687,0,0,1],8606:[.01354,.52239,0,0,1],8608:[.01354,.52239,0,0,1],8610:[.01354,.52239,0,0,1.11111],8611:[.01354,.52239,0,0,1.11111],8619:[0,.54986,0,0,1],8620:[0,.54986,0,0,1],8621:[-.13313,.37788,0,0,1.38889],8622:[-.13313,.36687,0,0,1],8624:[0,.69224,0,0,.5],8625:[0,.69224,0,0,.5],8630:[0,.43056,0,0,1],8631:[0,.43056,0,0,1],8634:[.08198,.58198,0,0,.77778],8635:[.08198,.58198,0,0,.77778],8638:[.19444,.69224,0,0,.41667],8639:[.19444,.69224,0,0,.41667],8642:[.19444,.69224,0,0,.41667],8643:[.19444,.69224,0,0,.41667],8644:[.1808,.675,0,0,1],8646:[.1808,.675,0,0,1],8647:[.1808,.675,0,0,1],8648:[.19444,.69224,0,0,.83334],8649:[.1808,.675,0,0,1],8650:[.19444,.69224,0,0,.83334],8651:[.01354,.52239,0,0,1],8652:[.01354,.52239,0,0,1],8653:[-.13313,.36687,0,0,1],8654:[-.13313,.36687,0,0,1],8655:[-.13313,.36687,0,0,1],8666:[.13667,.63667,0,0,1],8667:[.13667,.63667,0,0,1],8669:[-.13313,.37788,0,0,1],8672:[-.064,.437,0,0,1.334],8674:[-.064,.437,0,0,1.334],8705:[0,.825,0,0,.5],8708:[0,.68889,0,0,.55556],8709:[.08167,.58167,0,0,.77778],8717:[0,.43056,0,0,.42917],8722:[-.03598,.46402,0,0,.5],8724:[.08198,.69224,0,0,.77778],8726:[.08167,.58167,0,0,.77778],8733:[0,.69224,0,0,.77778],8736:[0,.69224,0,0,.72222],8737:[0,.69224,0,0,.72222],8738:[.03517,.52239,0,0,.72222],8739:[.08167,.58167,0,0,.22222],8740:[.25142,.74111,0,0,.27778],8741:[.08167,.58167,0,0,.38889],8742:[.25142,.74111,0,0,.5],8756:[0,.69224,0,0,.66667],8757:[0,.69224,0,0,.66667],8764:[-.13313,.36687,0,0,.77778],8765:[-.13313,.37788,0,0,.77778],8769:[-.13313,.36687,0,0,.77778],8770:[-.03625,.46375,0,0,.77778],8774:[.30274,.79383,0,0,.77778],8776:[-.01688,.48312,0,0,.77778],8778:[.08167,.58167,0,0,.77778],8782:[.06062,.54986,0,0,.77778],8783:[.06062,.54986,0,0,.77778],8785:[.08198,.58198,0,0,.77778],8786:[.08198,.58198,0,0,.77778],8787:[.08198,.58198,0,0,.77778],8790:[0,.69224,0,0,.77778],8791:[.22958,.72958,0,0,.77778],8796:[.08198,.91667,0,0,.77778],8806:[.25583,.75583,0,0,.77778],8807:[.25583,.75583,0,0,.77778],8808:[.25142,.75726,0,0,.77778],8809:[.25142,.75726,0,0,.77778],8812:[.25583,.75583,0,0,.5],8814:[.20576,.70576,0,0,.77778],8815:[.20576,.70576,0,0,.77778],8816:[.30274,.79383,0,0,.77778],8817:[.30274,.79383,0,0,.77778],8818:[.22958,.72958,0,0,.77778],8819:[.22958,.72958,0,0,.77778],8822:[.1808,.675,0,0,.77778],8823:[.1808,.675,0,0,.77778],8828:[.13667,.63667,0,0,.77778],8829:[.13667,.63667,0,0,.77778],8830:[.22958,.72958,0,0,.77778],8831:[.22958,.72958,0,0,.77778],8832:[.20576,.70576,0,0,.77778],8833:[.20576,.70576,0,0,.77778],8840:[.30274,.79383,0,0,.77778],8841:[.30274,.79383,0,0,.77778],8842:[.13597,.63597,0,0,.77778],8843:[.13597,.63597,0,0,.77778],8847:[.03517,.54986,0,0,.77778],8848:[.03517,.54986,0,0,.77778],8858:[.08198,.58198,0,0,.77778],8859:[.08198,.58198,0,0,.77778],8861:[.08198,.58198,0,0,.77778],8862:[0,.675,0,0,.77778],8863:[0,.675,0,0,.77778],8864:[0,.675,0,0,.77778],8865:[0,.675,0,0,.77778],8872:[0,.69224,0,0,.61111],8873:[0,.69224,0,0,.72222],8874:[0,.69224,0,0,.88889],8876:[0,.68889,0,0,.61111],8877:[0,.68889,0,0,.61111],8878:[0,.68889,0,0,.72222],8879:[0,.68889,0,0,.72222],8882:[.03517,.54986,0,0,.77778],8883:[.03517,.54986,0,0,.77778],8884:[.13667,.63667,0,0,.77778],8885:[.13667,.63667,0,0,.77778],8888:[0,.54986,0,0,1.11111],8890:[.19444,.43056,0,0,.55556],8891:[.19444,.69224,0,0,.61111],8892:[.19444,.69224,0,0,.61111],8901:[0,.54986,0,0,.27778],8903:[.08167,.58167,0,0,.77778],8905:[.08167,.58167,0,0,.77778],8906:[.08167,.58167,0,0,.77778],8907:[0,.69224,0,0,.77778],8908:[0,.69224,0,0,.77778],8909:[-.03598,.46402,0,0,.77778],8910:[0,.54986,0,0,.76042],8911:[0,.54986,0,0,.76042],8912:[.03517,.54986,0,0,.77778],8913:[.03517,.54986,0,0,.77778],8914:[0,.54986,0,0,.66667],8915:[0,.54986,0,0,.66667],8916:[0,.69224,0,0,.66667],8918:[.0391,.5391,0,0,.77778],8919:[.0391,.5391,0,0,.77778],8920:[.03517,.54986,0,0,1.33334],8921:[.03517,.54986,0,0,1.33334],8922:[.38569,.88569,0,0,.77778],8923:[.38569,.88569,0,0,.77778],8926:[.13667,.63667,0,0,.77778],8927:[.13667,.63667,0,0,.77778],8928:[.30274,.79383,0,0,.77778],8929:[.30274,.79383,0,0,.77778],8934:[.23222,.74111,0,0,.77778],8935:[.23222,.74111,0,0,.77778],8936:[.23222,.74111,0,0,.77778],8937:[.23222,.74111,0,0,.77778],8938:[.20576,.70576,0,0,.77778],8939:[.20576,.70576,0,0,.77778],8940:[.30274,.79383,0,0,.77778],8941:[.30274,.79383,0,0,.77778],8994:[.19444,.69224,0,0,.77778],8995:[.19444,.69224,0,0,.77778],9416:[.15559,.69224,0,0,.90222],9484:[0,.69224,0,0,.5],9488:[0,.69224,0,0,.5],9492:[0,.37788,0,0,.5],9496:[0,.37788,0,0,.5],9585:[.19444,.68889,0,0,.88889],9586:[.19444,.74111,0,0,.88889],9632:[0,.675,0,0,.77778],9633:[0,.675,0,0,.77778],9650:[0,.54986,0,0,.72222],9651:[0,.54986,0,0,.72222],9654:[.03517,.54986,0,0,.77778],9660:[0,.54986,0,0,.72222],9661:[0,.54986,0,0,.72222],9664:[.03517,.54986,0,0,.77778],9674:[.11111,.69224,0,0,.66667],9733:[.19444,.69224,0,0,.94445],10003:[0,.69224,0,0,.83334],10016:[0,.69224,0,0,.83334],10731:[.11111,.69224,0,0,.66667],10846:[.19444,.75583,0,0,.61111],10877:[.13667,.63667,0,0,.77778],10878:[.13667,.63667,0,0,.77778],10885:[.25583,.75583,0,0,.77778],10886:[.25583,.75583,0,0,.77778],10887:[.13597,.63597,0,0,.77778],10888:[.13597,.63597,0,0,.77778],10889:[.26167,.75726,0,0,.77778],10890:[.26167,.75726,0,0,.77778],10891:[.48256,.98256,0,0,.77778],10892:[.48256,.98256,0,0,.77778],10901:[.13667,.63667,0,0,.77778],10902:[.13667,.63667,0,0,.77778],10933:[.25142,.75726,0,0,.77778],10934:[.25142,.75726,0,0,.77778],10935:[.26167,.75726,0,0,.77778],10936:[.26167,.75726,0,0,.77778],10937:[.26167,.75726,0,0,.77778],10938:[.26167,.75726,0,0,.77778],10949:[.25583,.75583,0,0,.77778],10950:[.25583,.75583,0,0,.77778],10955:[.28481,.79383,0,0,.77778],10956:[.28481,.79383,0,0,.77778],57350:[.08167,.58167,0,0,.22222],57351:[.08167,.58167,0,0,.38889],57352:[.08167,.58167,0,0,.77778],57353:[0,.43056,.04028,0,.66667],57356:[.25142,.75726,0,0,.77778],57357:[.25142,.75726,0,0,.77778],57358:[.41951,.91951,0,0,.77778],57359:[.30274,.79383,0,0,.77778],57360:[.30274,.79383,0,0,.77778],57361:[.41951,.91951,0,0,.77778],57366:[.25142,.75726,0,0,.77778],57367:[.25142,.75726,0,0,.77778],57368:[.25142,.75726,0,0,.77778],57369:[.25142,.75726,0,0,.77778],57370:[.13597,.63597,0,0,.77778],57371:[.13597,.63597,0,0,.77778]},"Caligraphic-Regular":{32:[0,0,0,0,.25],65:[0,.68333,0,.19445,.79847],66:[0,.68333,.03041,.13889,.65681],67:[0,.68333,.05834,.13889,.52653],68:[0,.68333,.02778,.08334,.77139],69:[0,.68333,.08944,.11111,.52778],70:[0,.68333,.09931,.11111,.71875],71:[.09722,.68333,.0593,.11111,.59487],72:[0,.68333,.00965,.11111,.84452],73:[0,.68333,.07382,0,.54452],74:[.09722,.68333,.18472,.16667,.67778],75:[0,.68333,.01445,.05556,.76195],76:[0,.68333,0,.13889,.68972],77:[0,.68333,0,.13889,1.2009],78:[0,.68333,.14736,.08334,.82049],79:[0,.68333,.02778,.11111,.79611],80:[0,.68333,.08222,.08334,.69556],81:[.09722,.68333,0,.11111,.81667],82:[0,.68333,0,.08334,.8475],83:[0,.68333,.075,.13889,.60556],84:[0,.68333,.25417,0,.54464],85:[0,.68333,.09931,.08334,.62583],86:[0,.68333,.08222,0,.61278],87:[0,.68333,.08222,.08334,.98778],88:[0,.68333,.14643,.13889,.7133],89:[.09722,.68333,.08222,.08334,.66834],90:[0,.68333,.07944,.13889,.72473],160:[0,0,0,0,.25]},"Fraktur-Regular":{32:[0,0,0,0,.25],33:[0,.69141,0,0,.29574],34:[0,.69141,0,0,.21471],38:[0,.69141,0,0,.73786],39:[0,.69141,0,0,.21201],40:[.24982,.74947,0,0,.38865],41:[.24982,.74947,0,0,.38865],42:[0,.62119,0,0,.27764],43:[.08319,.58283,0,0,.75623],44:[0,.10803,0,0,.27764],45:[.08319,.58283,0,0,.75623],46:[0,.10803,0,0,.27764],47:[.24982,.74947,0,0,.50181],48:[0,.47534,0,0,.50181],49:[0,.47534,0,0,.50181],50:[0,.47534,0,0,.50181],51:[.18906,.47534,0,0,.50181],52:[.18906,.47534,0,0,.50181],53:[.18906,.47534,0,0,.50181],54:[0,.69141,0,0,.50181],55:[.18906,.47534,0,0,.50181],56:[0,.69141,0,0,.50181],57:[.18906,.47534,0,0,.50181],58:[0,.47534,0,0,.21606],59:[.12604,.47534,0,0,.21606],61:[-.13099,.36866,0,0,.75623],63:[0,.69141,0,0,.36245],65:[0,.69141,0,0,.7176],66:[0,.69141,0,0,.88397],67:[0,.69141,0,0,.61254],68:[0,.69141,0,0,.83158],69:[0,.69141,0,0,.66278],70:[.12604,.69141,0,0,.61119],71:[0,.69141,0,0,.78539],72:[.06302,.69141,0,0,.7203],73:[0,.69141,0,0,.55448],74:[.12604,.69141,0,0,.55231],75:[0,.69141,0,0,.66845],76:[0,.69141,0,0,.66602],77:[0,.69141,0,0,1.04953],78:[0,.69141,0,0,.83212],79:[0,.69141,0,0,.82699],80:[.18906,.69141,0,0,.82753],81:[.03781,.69141,0,0,.82699],82:[0,.69141,0,0,.82807],83:[0,.69141,0,0,.82861],84:[0,.69141,0,0,.66899],85:[0,.69141,0,0,.64576],86:[0,.69141,0,0,.83131],87:[0,.69141,0,0,1.04602],88:[0,.69141,0,0,.71922],89:[.18906,.69141,0,0,.83293],90:[.12604,.69141,0,0,.60201],91:[.24982,.74947,0,0,.27764],93:[.24982,.74947,0,0,.27764],94:[0,.69141,0,0,.49965],97:[0,.47534,0,0,.50046],98:[0,.69141,0,0,.51315],99:[0,.47534,0,0,.38946],100:[0,.62119,0,0,.49857],101:[0,.47534,0,0,.40053],102:[.18906,.69141,0,0,.32626],103:[.18906,.47534,0,0,.5037],104:[.18906,.69141,0,0,.52126],105:[0,.69141,0,0,.27899],106:[0,.69141,0,0,.28088],107:[0,.69141,0,0,.38946],108:[0,.69141,0,0,.27953],109:[0,.47534,0,0,.76676],110:[0,.47534,0,0,.52666],111:[0,.47534,0,0,.48885],112:[.18906,.52396,0,0,.50046],113:[.18906,.47534,0,0,.48912],114:[0,.47534,0,0,.38919],115:[0,.47534,0,0,.44266],116:[0,.62119,0,0,.33301],117:[0,.47534,0,0,.5172],118:[0,.52396,0,0,.5118],119:[0,.52396,0,0,.77351],120:[.18906,.47534,0,0,.38865],121:[.18906,.47534,0,0,.49884],122:[.18906,.47534,0,0,.39054],160:[0,0,0,0,.25],8216:[0,.69141,0,0,.21471],8217:[0,.69141,0,0,.21471],58112:[0,.62119,0,0,.49749],58113:[0,.62119,0,0,.4983],58114:[.18906,.69141,0,0,.33328],58115:[.18906,.69141,0,0,.32923],58116:[.18906,.47534,0,0,.50343],58117:[0,.69141,0,0,.33301],58118:[0,.62119,0,0,.33409],58119:[0,.47534,0,0,.50073]},"Main-Bold":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.35],34:[0,.69444,0,0,.60278],35:[.19444,.69444,0,0,.95833],36:[.05556,.75,0,0,.575],37:[.05556,.75,0,0,.95833],38:[0,.69444,0,0,.89444],39:[0,.69444,0,0,.31944],40:[.25,.75,0,0,.44722],41:[.25,.75,0,0,.44722],42:[0,.75,0,0,.575],43:[.13333,.63333,0,0,.89444],44:[.19444,.15556,0,0,.31944],45:[0,.44444,0,0,.38333],46:[0,.15556,0,0,.31944],47:[.25,.75,0,0,.575],48:[0,.64444,0,0,.575],49:[0,.64444,0,0,.575],50:[0,.64444,0,0,.575],51:[0,.64444,0,0,.575],52:[0,.64444,0,0,.575],53:[0,.64444,0,0,.575],54:[0,.64444,0,0,.575],55:[0,.64444,0,0,.575],56:[0,.64444,0,0,.575],57:[0,.64444,0,0,.575],58:[0,.44444,0,0,.31944],59:[.19444,.44444,0,0,.31944],60:[.08556,.58556,0,0,.89444],61:[-.10889,.39111,0,0,.89444],62:[.08556,.58556,0,0,.89444],63:[0,.69444,0,0,.54305],64:[0,.69444,0,0,.89444],65:[0,.68611,0,0,.86944],66:[0,.68611,0,0,.81805],67:[0,.68611,0,0,.83055],68:[0,.68611,0,0,.88194],69:[0,.68611,0,0,.75555],70:[0,.68611,0,0,.72361],71:[0,.68611,0,0,.90416],72:[0,.68611,0,0,.9],73:[0,.68611,0,0,.43611],74:[0,.68611,0,0,.59444],75:[0,.68611,0,0,.90138],76:[0,.68611,0,0,.69166],77:[0,.68611,0,0,1.09166],78:[0,.68611,0,0,.9],79:[0,.68611,0,0,.86388],80:[0,.68611,0,0,.78611],81:[.19444,.68611,0,0,.86388],82:[0,.68611,0,0,.8625],83:[0,.68611,0,0,.63889],84:[0,.68611,0,0,.8],85:[0,.68611,0,0,.88472],86:[0,.68611,.01597,0,.86944],87:[0,.68611,.01597,0,1.18888],88:[0,.68611,0,0,.86944],89:[0,.68611,.02875,0,.86944],90:[0,.68611,0,0,.70277],91:[.25,.75,0,0,.31944],92:[.25,.75,0,0,.575],93:[.25,.75,0,0,.31944],94:[0,.69444,0,0,.575],95:[.31,.13444,.03194,0,.575],97:[0,.44444,0,0,.55902],98:[0,.69444,0,0,.63889],99:[0,.44444,0,0,.51111],100:[0,.69444,0,0,.63889],101:[0,.44444,0,0,.52708],102:[0,.69444,.10903,0,.35139],103:[.19444,.44444,.01597,0,.575],104:[0,.69444,0,0,.63889],105:[0,.69444,0,0,.31944],106:[.19444,.69444,0,0,.35139],107:[0,.69444,0,0,.60694],108:[0,.69444,0,0,.31944],109:[0,.44444,0,0,.95833],110:[0,.44444,0,0,.63889],111:[0,.44444,0,0,.575],112:[.19444,.44444,0,0,.63889],113:[.19444,.44444,0,0,.60694],114:[0,.44444,0,0,.47361],115:[0,.44444,0,0,.45361],116:[0,.63492,0,0,.44722],117:[0,.44444,0,0,.63889],118:[0,.44444,.01597,0,.60694],119:[0,.44444,.01597,0,.83055],120:[0,.44444,0,0,.60694],121:[.19444,.44444,.01597,0,.60694],122:[0,.44444,0,0,.51111],123:[.25,.75,0,0,.575],124:[.25,.75,0,0,.31944],125:[.25,.75,0,0,.575],126:[.35,.34444,0,0,.575],160:[0,0,0,0,.25],163:[0,.69444,0,0,.86853],168:[0,.69444,0,0,.575],172:[0,.44444,0,0,.76666],176:[0,.69444,0,0,.86944],177:[.13333,.63333,0,0,.89444],184:[.17014,0,0,0,.51111],198:[0,.68611,0,0,1.04166],215:[.13333,.63333,0,0,.89444],216:[.04861,.73472,0,0,.89444],223:[0,.69444,0,0,.59722],230:[0,.44444,0,0,.83055],247:[.13333,.63333,0,0,.89444],248:[.09722,.54167,0,0,.575],305:[0,.44444,0,0,.31944],338:[0,.68611,0,0,1.16944],339:[0,.44444,0,0,.89444],567:[.19444,.44444,0,0,.35139],710:[0,.69444,0,0,.575],711:[0,.63194,0,0,.575],713:[0,.59611,0,0,.575],714:[0,.69444,0,0,.575],715:[0,.69444,0,0,.575],728:[0,.69444,0,0,.575],729:[0,.69444,0,0,.31944],730:[0,.69444,0,0,.86944],732:[0,.69444,0,0,.575],733:[0,.69444,0,0,.575],915:[0,.68611,0,0,.69166],916:[0,.68611,0,0,.95833],920:[0,.68611,0,0,.89444],923:[0,.68611,0,0,.80555],926:[0,.68611,0,0,.76666],928:[0,.68611,0,0,.9],931:[0,.68611,0,0,.83055],933:[0,.68611,0,0,.89444],934:[0,.68611,0,0,.83055],936:[0,.68611,0,0,.89444],937:[0,.68611,0,0,.83055],8211:[0,.44444,.03194,0,.575],8212:[0,.44444,.03194,0,1.14999],8216:[0,.69444,0,0,.31944],8217:[0,.69444,0,0,.31944],8220:[0,.69444,0,0,.60278],8221:[0,.69444,0,0,.60278],8224:[.19444,.69444,0,0,.51111],8225:[.19444,.69444,0,0,.51111],8242:[0,.55556,0,0,.34444],8407:[0,.72444,.15486,0,.575],8463:[0,.69444,0,0,.66759],8465:[0,.69444,0,0,.83055],8467:[0,.69444,0,0,.47361],8472:[.19444,.44444,0,0,.74027],8476:[0,.69444,0,0,.83055],8501:[0,.69444,0,0,.70277],8592:[-.10889,.39111,0,0,1.14999],8593:[.19444,.69444,0,0,.575],8594:[-.10889,.39111,0,0,1.14999],8595:[.19444,.69444,0,0,.575],8596:[-.10889,.39111,0,0,1.14999],8597:[.25,.75,0,0,.575],8598:[.19444,.69444,0,0,1.14999],8599:[.19444,.69444,0,0,1.14999],8600:[.19444,.69444,0,0,1.14999],8601:[.19444,.69444,0,0,1.14999],8636:[-.10889,.39111,0,0,1.14999],8637:[-.10889,.39111,0,0,1.14999],8640:[-.10889,.39111,0,0,1.14999],8641:[-.10889,.39111,0,0,1.14999],8656:[-.10889,.39111,0,0,1.14999],8657:[.19444,.69444,0,0,.70277],8658:[-.10889,.39111,0,0,1.14999],8659:[.19444,.69444,0,0,.70277],8660:[-.10889,.39111,0,0,1.14999],8661:[.25,.75,0,0,.70277],8704:[0,.69444,0,0,.63889],8706:[0,.69444,.06389,0,.62847],8707:[0,.69444,0,0,.63889],8709:[.05556,.75,0,0,.575],8711:[0,.68611,0,0,.95833],8712:[.08556,.58556,0,0,.76666],8715:[.08556,.58556,0,0,.76666],8722:[.13333,.63333,0,0,.89444],8723:[.13333,.63333,0,0,.89444],8725:[.25,.75,0,0,.575],8726:[.25,.75,0,0,.575],8727:[-.02778,.47222,0,0,.575],8728:[-.02639,.47361,0,0,.575],8729:[-.02639,.47361,0,0,.575],8730:[.18,.82,0,0,.95833],8733:[0,.44444,0,0,.89444],8734:[0,.44444,0,0,1.14999],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.31944],8741:[.25,.75,0,0,.575],8743:[0,.55556,0,0,.76666],8744:[0,.55556,0,0,.76666],8745:[0,.55556,0,0,.76666],8746:[0,.55556,0,0,.76666],8747:[.19444,.69444,.12778,0,.56875],8764:[-.10889,.39111,0,0,.89444],8768:[.19444,.69444,0,0,.31944],8771:[.00222,.50222,0,0,.89444],8773:[.027,.638,0,0,.894],8776:[.02444,.52444,0,0,.89444],8781:[.00222,.50222,0,0,.89444],8801:[.00222,.50222,0,0,.89444],8804:[.19667,.69667,0,0,.89444],8805:[.19667,.69667,0,0,.89444],8810:[.08556,.58556,0,0,1.14999],8811:[.08556,.58556,0,0,1.14999],8826:[.08556,.58556,0,0,.89444],8827:[.08556,.58556,0,0,.89444],8834:[.08556,.58556,0,0,.89444],8835:[.08556,.58556,0,0,.89444],8838:[.19667,.69667,0,0,.89444],8839:[.19667,.69667,0,0,.89444],8846:[0,.55556,0,0,.76666],8849:[.19667,.69667,0,0,.89444],8850:[.19667,.69667,0,0,.89444],8851:[0,.55556,0,0,.76666],8852:[0,.55556,0,0,.76666],8853:[.13333,.63333,0,0,.89444],8854:[.13333,.63333,0,0,.89444],8855:[.13333,.63333,0,0,.89444],8856:[.13333,.63333,0,0,.89444],8857:[.13333,.63333,0,0,.89444],8866:[0,.69444,0,0,.70277],8867:[0,.69444,0,0,.70277],8868:[0,.69444,0,0,.89444],8869:[0,.69444,0,0,.89444],8900:[-.02639,.47361,0,0,.575],8901:[-.02639,.47361,0,0,.31944],8902:[-.02778,.47222,0,0,.575],8968:[.25,.75,0,0,.51111],8969:[.25,.75,0,0,.51111],8970:[.25,.75,0,0,.51111],8971:[.25,.75,0,0,.51111],8994:[-.13889,.36111,0,0,1.14999],8995:[-.13889,.36111,0,0,1.14999],9651:[.19444,.69444,0,0,1.02222],9657:[-.02778,.47222,0,0,.575],9661:[.19444,.69444,0,0,1.02222],9667:[-.02778,.47222,0,0,.575],9711:[.19444,.69444,0,0,1.14999],9824:[.12963,.69444,0,0,.89444],9825:[.12963,.69444,0,0,.89444],9826:[.12963,.69444,0,0,.89444],9827:[.12963,.69444,0,0,.89444],9837:[0,.75,0,0,.44722],9838:[.19444,.69444,0,0,.44722],9839:[.19444,.69444,0,0,.44722],10216:[.25,.75,0,0,.44722],10217:[.25,.75,0,0,.44722],10815:[0,.68611,0,0,.9],10927:[.19667,.69667,0,0,.89444],10928:[.19667,.69667,0,0,.89444],57376:[.19444,.69444,0,0,0]},"Main-BoldItalic":{32:[0,0,0,0,.25],33:[0,.69444,.11417,0,.38611],34:[0,.69444,.07939,0,.62055],35:[.19444,.69444,.06833,0,.94444],37:[.05556,.75,.12861,0,.94444],38:[0,.69444,.08528,0,.88555],39:[0,.69444,.12945,0,.35555],40:[.25,.75,.15806,0,.47333],41:[.25,.75,.03306,0,.47333],42:[0,.75,.14333,0,.59111],43:[.10333,.60333,.03306,0,.88555],44:[.19444,.14722,0,0,.35555],45:[0,.44444,.02611,0,.41444],46:[0,.14722,0,0,.35555],47:[.25,.75,.15806,0,.59111],48:[0,.64444,.13167,0,.59111],49:[0,.64444,.13167,0,.59111],50:[0,.64444,.13167,0,.59111],51:[0,.64444,.13167,0,.59111],52:[.19444,.64444,.13167,0,.59111],53:[0,.64444,.13167,0,.59111],54:[0,.64444,.13167,0,.59111],55:[.19444,.64444,.13167,0,.59111],56:[0,.64444,.13167,0,.59111],57:[0,.64444,.13167,0,.59111],58:[0,.44444,.06695,0,.35555],59:[.19444,.44444,.06695,0,.35555],61:[-.10889,.39111,.06833,0,.88555],63:[0,.69444,.11472,0,.59111],64:[0,.69444,.09208,0,.88555],65:[0,.68611,0,0,.86555],66:[0,.68611,.0992,0,.81666],67:[0,.68611,.14208,0,.82666],68:[0,.68611,.09062,0,.87555],69:[0,.68611,.11431,0,.75666],70:[0,.68611,.12903,0,.72722],71:[0,.68611,.07347,0,.89527],72:[0,.68611,.17208,0,.8961],73:[0,.68611,.15681,0,.47166],74:[0,.68611,.145,0,.61055],75:[0,.68611,.14208,0,.89499],76:[0,.68611,0,0,.69777],77:[0,.68611,.17208,0,1.07277],78:[0,.68611,.17208,0,.8961],79:[0,.68611,.09062,0,.85499],80:[0,.68611,.0992,0,.78721],81:[.19444,.68611,.09062,0,.85499],82:[0,.68611,.02559,0,.85944],83:[0,.68611,.11264,0,.64999],84:[0,.68611,.12903,0,.7961],85:[0,.68611,.17208,0,.88083],86:[0,.68611,.18625,0,.86555],87:[0,.68611,.18625,0,1.15999],88:[0,.68611,.15681,0,.86555],89:[0,.68611,.19803,0,.86555],90:[0,.68611,.14208,0,.70888],91:[.25,.75,.1875,0,.35611],93:[.25,.75,.09972,0,.35611],94:[0,.69444,.06709,0,.59111],95:[.31,.13444,.09811,0,.59111],97:[0,.44444,.09426,0,.59111],98:[0,.69444,.07861,0,.53222],99:[0,.44444,.05222,0,.53222],100:[0,.69444,.10861,0,.59111],101:[0,.44444,.085,0,.53222],102:[.19444,.69444,.21778,0,.4],103:[.19444,.44444,.105,0,.53222],104:[0,.69444,.09426,0,.59111],105:[0,.69326,.11387,0,.35555],106:[.19444,.69326,.1672,0,.35555],107:[0,.69444,.11111,0,.53222],108:[0,.69444,.10861,0,.29666],109:[0,.44444,.09426,0,.94444],110:[0,.44444,.09426,0,.64999],111:[0,.44444,.07861,0,.59111],112:[.19444,.44444,.07861,0,.59111],113:[.19444,.44444,.105,0,.53222],114:[0,.44444,.11111,0,.50167],115:[0,.44444,.08167,0,.48694],116:[0,.63492,.09639,0,.385],117:[0,.44444,.09426,0,.62055],118:[0,.44444,.11111,0,.53222],119:[0,.44444,.11111,0,.76777],120:[0,.44444,.12583,0,.56055],121:[.19444,.44444,.105,0,.56166],122:[0,.44444,.13889,0,.49055],126:[.35,.34444,.11472,0,.59111],160:[0,0,0,0,.25],168:[0,.69444,.11473,0,.59111],176:[0,.69444,0,0,.94888],184:[.17014,0,0,0,.53222],198:[0,.68611,.11431,0,1.02277],216:[.04861,.73472,.09062,0,.88555],223:[.19444,.69444,.09736,0,.665],230:[0,.44444,.085,0,.82666],248:[.09722,.54167,.09458,0,.59111],305:[0,.44444,.09426,0,.35555],338:[0,.68611,.11431,0,1.14054],339:[0,.44444,.085,0,.82666],567:[.19444,.44444,.04611,0,.385],710:[0,.69444,.06709,0,.59111],711:[0,.63194,.08271,0,.59111],713:[0,.59444,.10444,0,.59111],714:[0,.69444,.08528,0,.59111],715:[0,.69444,0,0,.59111],728:[0,.69444,.10333,0,.59111],729:[0,.69444,.12945,0,.35555],730:[0,.69444,0,0,.94888],732:[0,.69444,.11472,0,.59111],733:[0,.69444,.11472,0,.59111],915:[0,.68611,.12903,0,.69777],916:[0,.68611,0,0,.94444],920:[0,.68611,.09062,0,.88555],923:[0,.68611,0,0,.80666],926:[0,.68611,.15092,0,.76777],928:[0,.68611,.17208,0,.8961],931:[0,.68611,.11431,0,.82666],933:[0,.68611,.10778,0,.88555],934:[0,.68611,.05632,0,.82666],936:[0,.68611,.10778,0,.88555],937:[0,.68611,.0992,0,.82666],8211:[0,.44444,.09811,0,.59111],8212:[0,.44444,.09811,0,1.18221],8216:[0,.69444,.12945,0,.35555],8217:[0,.69444,.12945,0,.35555],8220:[0,.69444,.16772,0,.62055],8221:[0,.69444,.07939,0,.62055]},"Main-Italic":{32:[0,0,0,0,.25],33:[0,.69444,.12417,0,.30667],34:[0,.69444,.06961,0,.51444],35:[.19444,.69444,.06616,0,.81777],37:[.05556,.75,.13639,0,.81777],38:[0,.69444,.09694,0,.76666],39:[0,.69444,.12417,0,.30667],40:[.25,.75,.16194,0,.40889],41:[.25,.75,.03694,0,.40889],42:[0,.75,.14917,0,.51111],43:[.05667,.56167,.03694,0,.76666],44:[.19444,.10556,0,0,.30667],45:[0,.43056,.02826,0,.35778],46:[0,.10556,0,0,.30667],47:[.25,.75,.16194,0,.51111],48:[0,.64444,.13556,0,.51111],49:[0,.64444,.13556,0,.51111],50:[0,.64444,.13556,0,.51111],51:[0,.64444,.13556,0,.51111],52:[.19444,.64444,.13556,0,.51111],53:[0,.64444,.13556,0,.51111],54:[0,.64444,.13556,0,.51111],55:[.19444,.64444,.13556,0,.51111],56:[0,.64444,.13556,0,.51111],57:[0,.64444,.13556,0,.51111],58:[0,.43056,.0582,0,.30667],59:[.19444,.43056,.0582,0,.30667],61:[-.13313,.36687,.06616,0,.76666],63:[0,.69444,.1225,0,.51111],64:[0,.69444,.09597,0,.76666],65:[0,.68333,0,0,.74333],66:[0,.68333,.10257,0,.70389],67:[0,.68333,.14528,0,.71555],68:[0,.68333,.09403,0,.755],69:[0,.68333,.12028,0,.67833],70:[0,.68333,.13305,0,.65277],71:[0,.68333,.08722,0,.77361],72:[0,.68333,.16389,0,.74333],73:[0,.68333,.15806,0,.38555],74:[0,.68333,.14028,0,.525],75:[0,.68333,.14528,0,.76888],76:[0,.68333,0,0,.62722],77:[0,.68333,.16389,0,.89666],78:[0,.68333,.16389,0,.74333],79:[0,.68333,.09403,0,.76666],80:[0,.68333,.10257,0,.67833],81:[.19444,.68333,.09403,0,.76666],82:[0,.68333,.03868,0,.72944],83:[0,.68333,.11972,0,.56222],84:[0,.68333,.13305,0,.71555],85:[0,.68333,.16389,0,.74333],86:[0,.68333,.18361,0,.74333],87:[0,.68333,.18361,0,.99888],88:[0,.68333,.15806,0,.74333],89:[0,.68333,.19383,0,.74333],90:[0,.68333,.14528,0,.61333],91:[.25,.75,.1875,0,.30667],93:[.25,.75,.10528,0,.30667],94:[0,.69444,.06646,0,.51111],95:[.31,.12056,.09208,0,.51111],97:[0,.43056,.07671,0,.51111],98:[0,.69444,.06312,0,.46],99:[0,.43056,.05653,0,.46],100:[0,.69444,.10333,0,.51111],101:[0,.43056,.07514,0,.46],102:[.19444,.69444,.21194,0,.30667],103:[.19444,.43056,.08847,0,.46],104:[0,.69444,.07671,0,.51111],105:[0,.65536,.1019,0,.30667],106:[.19444,.65536,.14467,0,.30667],107:[0,.69444,.10764,0,.46],108:[0,.69444,.10333,0,.25555],109:[0,.43056,.07671,0,.81777],110:[0,.43056,.07671,0,.56222],111:[0,.43056,.06312,0,.51111],112:[.19444,.43056,.06312,0,.51111],113:[.19444,.43056,.08847,0,.46],114:[0,.43056,.10764,0,.42166],115:[0,.43056,.08208,0,.40889],116:[0,.61508,.09486,0,.33222],117:[0,.43056,.07671,0,.53666],118:[0,.43056,.10764,0,.46],119:[0,.43056,.10764,0,.66444],120:[0,.43056,.12042,0,.46389],121:[.19444,.43056,.08847,0,.48555],122:[0,.43056,.12292,0,.40889],126:[.35,.31786,.11585,0,.51111],160:[0,0,0,0,.25],168:[0,.66786,.10474,0,.51111],176:[0,.69444,0,0,.83129],184:[.17014,0,0,0,.46],198:[0,.68333,.12028,0,.88277],216:[.04861,.73194,.09403,0,.76666],223:[.19444,.69444,.10514,0,.53666],230:[0,.43056,.07514,0,.71555],248:[.09722,.52778,.09194,0,.51111],338:[0,.68333,.12028,0,.98499],339:[0,.43056,.07514,0,.71555],710:[0,.69444,.06646,0,.51111],711:[0,.62847,.08295,0,.51111],713:[0,.56167,.10333,0,.51111],714:[0,.69444,.09694,0,.51111],715:[0,.69444,0,0,.51111],728:[0,.69444,.10806,0,.51111],729:[0,.66786,.11752,0,.30667],730:[0,.69444,0,0,.83129],732:[0,.66786,.11585,0,.51111],733:[0,.69444,.1225,0,.51111],915:[0,.68333,.13305,0,.62722],916:[0,.68333,0,0,.81777],920:[0,.68333,.09403,0,.76666],923:[0,.68333,0,0,.69222],926:[0,.68333,.15294,0,.66444],928:[0,.68333,.16389,0,.74333],931:[0,.68333,.12028,0,.71555],933:[0,.68333,.11111,0,.76666],934:[0,.68333,.05986,0,.71555],936:[0,.68333,.11111,0,.76666],937:[0,.68333,.10257,0,.71555],8211:[0,.43056,.09208,0,.51111],8212:[0,.43056,.09208,0,1.02222],8216:[0,.69444,.12417,0,.30667],8217:[0,.69444,.12417,0,.30667],8220:[0,.69444,.1685,0,.51444],8221:[0,.69444,.06961,0,.51444],8463:[0,.68889,0,0,.54028]},"Main-Regular":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.27778],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.77778],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.19444,.10556,0,0,.27778],45:[0,.43056,0,0,.33333],46:[0,.10556,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.64444,0,0,.5],49:[0,.64444,0,0,.5],50:[0,.64444,0,0,.5],51:[0,.64444,0,0,.5],52:[0,.64444,0,0,.5],53:[0,.64444,0,0,.5],54:[0,.64444,0,0,.5],55:[0,.64444,0,0,.5],56:[0,.64444,0,0,.5],57:[0,.64444,0,0,.5],58:[0,.43056,0,0,.27778],59:[.19444,.43056,0,0,.27778],60:[.0391,.5391,0,0,.77778],61:[-.13313,.36687,0,0,.77778],62:[.0391,.5391,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.77778],65:[0,.68333,0,0,.75],66:[0,.68333,0,0,.70834],67:[0,.68333,0,0,.72222],68:[0,.68333,0,0,.76389],69:[0,.68333,0,0,.68056],70:[0,.68333,0,0,.65278],71:[0,.68333,0,0,.78472],72:[0,.68333,0,0,.75],73:[0,.68333,0,0,.36111],74:[0,.68333,0,0,.51389],75:[0,.68333,0,0,.77778],76:[0,.68333,0,0,.625],77:[0,.68333,0,0,.91667],78:[0,.68333,0,0,.75],79:[0,.68333,0,0,.77778],80:[0,.68333,0,0,.68056],81:[.19444,.68333,0,0,.77778],82:[0,.68333,0,0,.73611],83:[0,.68333,0,0,.55556],84:[0,.68333,0,0,.72222],85:[0,.68333,0,0,.75],86:[0,.68333,.01389,0,.75],87:[0,.68333,.01389,0,1.02778],88:[0,.68333,0,0,.75],89:[0,.68333,.025,0,.75],90:[0,.68333,0,0,.61111],91:[.25,.75,0,0,.27778],92:[.25,.75,0,0,.5],93:[.25,.75,0,0,.27778],94:[0,.69444,0,0,.5],95:[.31,.12056,.02778,0,.5],97:[0,.43056,0,0,.5],98:[0,.69444,0,0,.55556],99:[0,.43056,0,0,.44445],100:[0,.69444,0,0,.55556],101:[0,.43056,0,0,.44445],102:[0,.69444,.07778,0,.30556],103:[.19444,.43056,.01389,0,.5],104:[0,.69444,0,0,.55556],105:[0,.66786,0,0,.27778],106:[.19444,.66786,0,0,.30556],107:[0,.69444,0,0,.52778],108:[0,.69444,0,0,.27778],109:[0,.43056,0,0,.83334],110:[0,.43056,0,0,.55556],111:[0,.43056,0,0,.5],112:[.19444,.43056,0,0,.55556],113:[.19444,.43056,0,0,.52778],114:[0,.43056,0,0,.39167],115:[0,.43056,0,0,.39445],116:[0,.61508,0,0,.38889],117:[0,.43056,0,0,.55556],118:[0,.43056,.01389,0,.52778],119:[0,.43056,.01389,0,.72222],120:[0,.43056,0,0,.52778],121:[.19444,.43056,.01389,0,.52778],122:[0,.43056,0,0,.44445],123:[.25,.75,0,0,.5],124:[.25,.75,0,0,.27778],125:[.25,.75,0,0,.5],126:[.35,.31786,0,0,.5],160:[0,0,0,0,.25],163:[0,.69444,0,0,.76909],167:[.19444,.69444,0,0,.44445],168:[0,.66786,0,0,.5],172:[0,.43056,0,0,.66667],176:[0,.69444,0,0,.75],177:[.08333,.58333,0,0,.77778],182:[.19444,.69444,0,0,.61111],184:[.17014,0,0,0,.44445],198:[0,.68333,0,0,.90278],215:[.08333,.58333,0,0,.77778],216:[.04861,.73194,0,0,.77778],223:[0,.69444,0,0,.5],230:[0,.43056,0,0,.72222],247:[.08333,.58333,0,0,.77778],248:[.09722,.52778,0,0,.5],305:[0,.43056,0,0,.27778],338:[0,.68333,0,0,1.01389],339:[0,.43056,0,0,.77778],567:[.19444,.43056,0,0,.30556],710:[0,.69444,0,0,.5],711:[0,.62847,0,0,.5],713:[0,.56778,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.66786,0,0,.27778],730:[0,.69444,0,0,.75],732:[0,.66786,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.68333,0,0,.625],916:[0,.68333,0,0,.83334],920:[0,.68333,0,0,.77778],923:[0,.68333,0,0,.69445],926:[0,.68333,0,0,.66667],928:[0,.68333,0,0,.75],931:[0,.68333,0,0,.72222],933:[0,.68333,0,0,.77778],934:[0,.68333,0,0,.72222],936:[0,.68333,0,0,.77778],937:[0,.68333,0,0,.72222],8211:[0,.43056,.02778,0,.5],8212:[0,.43056,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5],8224:[.19444,.69444,0,0,.44445],8225:[.19444,.69444,0,0,.44445],8230:[0,.123,0,0,1.172],8242:[0,.55556,0,0,.275],8407:[0,.71444,.15382,0,.5],8463:[0,.68889,0,0,.54028],8465:[0,.69444,0,0,.72222],8467:[0,.69444,0,.11111,.41667],8472:[.19444,.43056,0,.11111,.63646],8476:[0,.69444,0,0,.72222],8501:[0,.69444,0,0,.61111],8592:[-.13313,.36687,0,0,1],8593:[.19444,.69444,0,0,.5],8594:[-.13313,.36687,0,0,1],8595:[.19444,.69444,0,0,.5],8596:[-.13313,.36687,0,0,1],8597:[.25,.75,0,0,.5],8598:[.19444,.69444,0,0,1],8599:[.19444,.69444,0,0,1],8600:[.19444,.69444,0,0,1],8601:[.19444,.69444,0,0,1],8614:[.011,.511,0,0,1],8617:[.011,.511,0,0,1.126],8618:[.011,.511,0,0,1.126],8636:[-.13313,.36687,0,0,1],8637:[-.13313,.36687,0,0,1],8640:[-.13313,.36687,0,0,1],8641:[-.13313,.36687,0,0,1],8652:[.011,.671,0,0,1],8656:[-.13313,.36687,0,0,1],8657:[.19444,.69444,0,0,.61111],8658:[-.13313,.36687,0,0,1],8659:[.19444,.69444,0,0,.61111],8660:[-.13313,.36687,0,0,1],8661:[.25,.75,0,0,.61111],8704:[0,.69444,0,0,.55556],8706:[0,.69444,.05556,.08334,.5309],8707:[0,.69444,0,0,.55556],8709:[.05556,.75,0,0,.5],8711:[0,.68333,0,0,.83334],8712:[.0391,.5391,0,0,.66667],8715:[.0391,.5391,0,0,.66667],8722:[.08333,.58333,0,0,.77778],8723:[.08333,.58333,0,0,.77778],8725:[.25,.75,0,0,.5],8726:[.25,.75,0,0,.5],8727:[-.03472,.46528,0,0,.5],8728:[-.05555,.44445,0,0,.5],8729:[-.05555,.44445,0,0,.5],8730:[.2,.8,0,0,.83334],8733:[0,.43056,0,0,.77778],8734:[0,.43056,0,0,1],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.27778],8741:[.25,.75,0,0,.5],8743:[0,.55556,0,0,.66667],8744:[0,.55556,0,0,.66667],8745:[0,.55556,0,0,.66667],8746:[0,.55556,0,0,.66667],8747:[.19444,.69444,.11111,0,.41667],8764:[-.13313,.36687,0,0,.77778],8768:[.19444,.69444,0,0,.27778],8771:[-.03625,.46375,0,0,.77778],8773:[-.022,.589,0,0,.778],8776:[-.01688,.48312,0,0,.77778],8781:[-.03625,.46375,0,0,.77778],8784:[-.133,.673,0,0,.778],8801:[-.03625,.46375,0,0,.77778],8804:[.13597,.63597,0,0,.77778],8805:[.13597,.63597,0,0,.77778],8810:[.0391,.5391,0,0,1],8811:[.0391,.5391,0,0,1],8826:[.0391,.5391,0,0,.77778],8827:[.0391,.5391,0,0,.77778],8834:[.0391,.5391,0,0,.77778],8835:[.0391,.5391,0,0,.77778],8838:[.13597,.63597,0,0,.77778],8839:[.13597,.63597,0,0,.77778],8846:[0,.55556,0,0,.66667],8849:[.13597,.63597,0,0,.77778],8850:[.13597,.63597,0,0,.77778],8851:[0,.55556,0,0,.66667],8852:[0,.55556,0,0,.66667],8853:[.08333,.58333,0,0,.77778],8854:[.08333,.58333,0,0,.77778],8855:[.08333,.58333,0,0,.77778],8856:[.08333,.58333,0,0,.77778],8857:[.08333,.58333,0,0,.77778],8866:[0,.69444,0,0,.61111],8867:[0,.69444,0,0,.61111],8868:[0,.69444,0,0,.77778],8869:[0,.69444,0,0,.77778],8872:[.249,.75,0,0,.867],8900:[-.05555,.44445,0,0,.5],8901:[-.05555,.44445,0,0,.27778],8902:[-.03472,.46528,0,0,.5],8904:[.005,.505,0,0,.9],8942:[.03,.903,0,0,.278],8943:[-.19,.313,0,0,1.172],8945:[-.1,.823,0,0,1.282],8968:[.25,.75,0,0,.44445],8969:[.25,.75,0,0,.44445],8970:[.25,.75,0,0,.44445],8971:[.25,.75,0,0,.44445],8994:[-.14236,.35764,0,0,1],8995:[-.14236,.35764,0,0,1],9136:[.244,.744,0,0,.412],9137:[.244,.745,0,0,.412],9651:[.19444,.69444,0,0,.88889],9657:[-.03472,.46528,0,0,.5],9661:[.19444,.69444,0,0,.88889],9667:[-.03472,.46528,0,0,.5],9711:[.19444,.69444,0,0,1],9824:[.12963,.69444,0,0,.77778],9825:[.12963,.69444,0,0,.77778],9826:[.12963,.69444,0,0,.77778],9827:[.12963,.69444,0,0,.77778],9837:[0,.75,0,0,.38889],9838:[.19444,.69444,0,0,.38889],9839:[.19444,.69444,0,0,.38889],10216:[.25,.75,0,0,.38889],10217:[.25,.75,0,0,.38889],10222:[.244,.744,0,0,.412],10223:[.244,.745,0,0,.412],10229:[.011,.511,0,0,1.609],10230:[.011,.511,0,0,1.638],10231:[.011,.511,0,0,1.859],10232:[.024,.525,0,0,1.609],10233:[.024,.525,0,0,1.638],10234:[.024,.525,0,0,1.858],10236:[.011,.511,0,0,1.638],10815:[0,.68333,0,0,.75],10927:[.13597,.63597,0,0,.77778],10928:[.13597,.63597,0,0,.77778],57376:[.19444,.69444,0,0,0]},"Math-BoldItalic":{32:[0,0,0,0,.25],48:[0,.44444,0,0,.575],49:[0,.44444,0,0,.575],50:[0,.44444,0,0,.575],51:[.19444,.44444,0,0,.575],52:[.19444,.44444,0,0,.575],53:[.19444,.44444,0,0,.575],54:[0,.64444,0,0,.575],55:[.19444,.44444,0,0,.575],56:[0,.64444,0,0,.575],57:[.19444,.44444,0,0,.575],65:[0,.68611,0,0,.86944],66:[0,.68611,.04835,0,.8664],67:[0,.68611,.06979,0,.81694],68:[0,.68611,.03194,0,.93812],69:[0,.68611,.05451,0,.81007],70:[0,.68611,.15972,0,.68889],71:[0,.68611,0,0,.88673],72:[0,.68611,.08229,0,.98229],73:[0,.68611,.07778,0,.51111],74:[0,.68611,.10069,0,.63125],75:[0,.68611,.06979,0,.97118],76:[0,.68611,0,0,.75555],77:[0,.68611,.11424,0,1.14201],78:[0,.68611,.11424,0,.95034],79:[0,.68611,.03194,0,.83666],80:[0,.68611,.15972,0,.72309],81:[.19444,.68611,0,0,.86861],82:[0,.68611,.00421,0,.87235],83:[0,.68611,.05382,0,.69271],84:[0,.68611,.15972,0,.63663],85:[0,.68611,.11424,0,.80027],86:[0,.68611,.25555,0,.67778],87:[0,.68611,.15972,0,1.09305],88:[0,.68611,.07778,0,.94722],89:[0,.68611,.25555,0,.67458],90:[0,.68611,.06979,0,.77257],97:[0,.44444,0,0,.63287],98:[0,.69444,0,0,.52083],99:[0,.44444,0,0,.51342],100:[0,.69444,0,0,.60972],101:[0,.44444,0,0,.55361],102:[.19444,.69444,.11042,0,.56806],103:[.19444,.44444,.03704,0,.5449],104:[0,.69444,0,0,.66759],105:[0,.69326,0,0,.4048],106:[.19444,.69326,.0622,0,.47083],107:[0,.69444,.01852,0,.6037],108:[0,.69444,.0088,0,.34815],109:[0,.44444,0,0,1.0324],110:[0,.44444,0,0,.71296],111:[0,.44444,0,0,.58472],112:[.19444,.44444,0,0,.60092],113:[.19444,.44444,.03704,0,.54213],114:[0,.44444,.03194,0,.5287],115:[0,.44444,0,0,.53125],116:[0,.63492,0,0,.41528],117:[0,.44444,0,0,.68102],118:[0,.44444,.03704,0,.56666],119:[0,.44444,.02778,0,.83148],120:[0,.44444,0,0,.65903],121:[.19444,.44444,.03704,0,.59028],122:[0,.44444,.04213,0,.55509],160:[0,0,0,0,.25],915:[0,.68611,.15972,0,.65694],916:[0,.68611,0,0,.95833],920:[0,.68611,.03194,0,.86722],923:[0,.68611,0,0,.80555],926:[0,.68611,.07458,0,.84125],928:[0,.68611,.08229,0,.98229],931:[0,.68611,.05451,0,.88507],933:[0,.68611,.15972,0,.67083],934:[0,.68611,0,0,.76666],936:[0,.68611,.11653,0,.71402],937:[0,.68611,.04835,0,.8789],945:[0,.44444,0,0,.76064],946:[.19444,.69444,.03403,0,.65972],947:[.19444,.44444,.06389,0,.59003],948:[0,.69444,.03819,0,.52222],949:[0,.44444,0,0,.52882],950:[.19444,.69444,.06215,0,.50833],951:[.19444,.44444,.03704,0,.6],952:[0,.69444,.03194,0,.5618],953:[0,.44444,0,0,.41204],954:[0,.44444,0,0,.66759],955:[0,.69444,0,0,.67083],956:[.19444,.44444,0,0,.70787],957:[0,.44444,.06898,0,.57685],958:[.19444,.69444,.03021,0,.50833],959:[0,.44444,0,0,.58472],960:[0,.44444,.03704,0,.68241],961:[.19444,.44444,0,0,.6118],962:[.09722,.44444,.07917,0,.42361],963:[0,.44444,.03704,0,.68588],964:[0,.44444,.13472,0,.52083],965:[0,.44444,.03704,0,.63055],966:[.19444,.44444,0,0,.74722],967:[.19444,.44444,0,0,.71805],968:[.19444,.69444,.03704,0,.75833],969:[0,.44444,.03704,0,.71782],977:[0,.69444,0,0,.69155],981:[.19444,.69444,0,0,.7125],982:[0,.44444,.03194,0,.975],1009:[.19444,.44444,0,0,.6118],1013:[0,.44444,0,0,.48333],57649:[0,.44444,0,0,.39352],57911:[.19444,.44444,0,0,.43889]},"Math-Italic":{32:[0,0,0,0,.25],48:[0,.43056,0,0,.5],49:[0,.43056,0,0,.5],50:[0,.43056,0,0,.5],51:[.19444,.43056,0,0,.5],52:[.19444,.43056,0,0,.5],53:[.19444,.43056,0,0,.5],54:[0,.64444,0,0,.5],55:[.19444,.43056,0,0,.5],56:[0,.64444,0,0,.5],57:[.19444,.43056,0,0,.5],65:[0,.68333,0,.13889,.75],66:[0,.68333,.05017,.08334,.75851],67:[0,.68333,.07153,.08334,.71472],68:[0,.68333,.02778,.05556,.82792],69:[0,.68333,.05764,.08334,.7382],70:[0,.68333,.13889,.08334,.64306],71:[0,.68333,0,.08334,.78625],72:[0,.68333,.08125,.05556,.83125],73:[0,.68333,.07847,.11111,.43958],74:[0,.68333,.09618,.16667,.55451],75:[0,.68333,.07153,.05556,.84931],76:[0,.68333,0,.02778,.68056],77:[0,.68333,.10903,.08334,.97014],78:[0,.68333,.10903,.08334,.80347],79:[0,.68333,.02778,.08334,.76278],80:[0,.68333,.13889,.08334,.64201],81:[.19444,.68333,0,.08334,.79056],82:[0,.68333,.00773,.08334,.75929],83:[0,.68333,.05764,.08334,.6132],84:[0,.68333,.13889,.08334,.58438],85:[0,.68333,.10903,.02778,.68278],86:[0,.68333,.22222,0,.58333],87:[0,.68333,.13889,0,.94445],88:[0,.68333,.07847,.08334,.82847],89:[0,.68333,.22222,0,.58056],90:[0,.68333,.07153,.08334,.68264],97:[0,.43056,0,0,.52859],98:[0,.69444,0,0,.42917],99:[0,.43056,0,.05556,.43276],100:[0,.69444,0,.16667,.52049],101:[0,.43056,0,.05556,.46563],102:[.19444,.69444,.10764,.16667,.48959],103:[.19444,.43056,.03588,.02778,.47697],104:[0,.69444,0,0,.57616],105:[0,.65952,0,0,.34451],106:[.19444,.65952,.05724,0,.41181],107:[0,.69444,.03148,0,.5206],108:[0,.69444,.01968,.08334,.29838],109:[0,.43056,0,0,.87801],110:[0,.43056,0,0,.60023],111:[0,.43056,0,.05556,.48472],112:[.19444,.43056,0,.08334,.50313],113:[.19444,.43056,.03588,.08334,.44641],114:[0,.43056,.02778,.05556,.45116],115:[0,.43056,0,.05556,.46875],116:[0,.61508,0,.08334,.36111],117:[0,.43056,0,.02778,.57246],118:[0,.43056,.03588,.02778,.48472],119:[0,.43056,.02691,.08334,.71592],120:[0,.43056,0,.02778,.57153],121:[.19444,.43056,.03588,.05556,.49028],122:[0,.43056,.04398,.05556,.46505],160:[0,0,0,0,.25],915:[0,.68333,.13889,.08334,.61528],916:[0,.68333,0,.16667,.83334],920:[0,.68333,.02778,.08334,.76278],923:[0,.68333,0,.16667,.69445],926:[0,.68333,.07569,.08334,.74236],928:[0,.68333,.08125,.05556,.83125],931:[0,.68333,.05764,.08334,.77986],933:[0,.68333,.13889,.05556,.58333],934:[0,.68333,0,.08334,.66667],936:[0,.68333,.11,.05556,.61222],937:[0,.68333,.05017,.08334,.7724],945:[0,.43056,.0037,.02778,.6397],946:[.19444,.69444,.05278,.08334,.56563],947:[.19444,.43056,.05556,0,.51773],948:[0,.69444,.03785,.05556,.44444],949:[0,.43056,0,.08334,.46632],950:[.19444,.69444,.07378,.08334,.4375],951:[.19444,.43056,.03588,.05556,.49653],952:[0,.69444,.02778,.08334,.46944],953:[0,.43056,0,.05556,.35394],954:[0,.43056,0,0,.57616],955:[0,.69444,0,0,.58334],956:[.19444,.43056,0,.02778,.60255],957:[0,.43056,.06366,.02778,.49398],958:[.19444,.69444,.04601,.11111,.4375],959:[0,.43056,0,.05556,.48472],960:[0,.43056,.03588,0,.57003],961:[.19444,.43056,0,.08334,.51702],962:[.09722,.43056,.07986,.08334,.36285],963:[0,.43056,.03588,0,.57141],964:[0,.43056,.1132,.02778,.43715],965:[0,.43056,.03588,.02778,.54028],966:[.19444,.43056,0,.08334,.65417],967:[.19444,.43056,0,.05556,.62569],968:[.19444,.69444,.03588,.11111,.65139],969:[0,.43056,.03588,0,.62245],977:[0,.69444,0,.08334,.59144],981:[.19444,.69444,0,.08334,.59583],982:[0,.43056,.02778,0,.82813],1009:[.19444,.43056,0,.08334,.51702],1013:[0,.43056,0,.05556,.4059],57649:[0,.43056,0,.02778,.32246],57911:[.19444,.43056,0,.08334,.38403]},"SansSerif-Bold":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.36667],34:[0,.69444,0,0,.55834],35:[.19444,.69444,0,0,.91667],36:[.05556,.75,0,0,.55],37:[.05556,.75,0,0,1.02912],38:[0,.69444,0,0,.83056],39:[0,.69444,0,0,.30556],40:[.25,.75,0,0,.42778],41:[.25,.75,0,0,.42778],42:[0,.75,0,0,.55],43:[.11667,.61667,0,0,.85556],44:[.10556,.13056,0,0,.30556],45:[0,.45833,0,0,.36667],46:[0,.13056,0,0,.30556],47:[.25,.75,0,0,.55],48:[0,.69444,0,0,.55],49:[0,.69444,0,0,.55],50:[0,.69444,0,0,.55],51:[0,.69444,0,0,.55],52:[0,.69444,0,0,.55],53:[0,.69444,0,0,.55],54:[0,.69444,0,0,.55],55:[0,.69444,0,0,.55],56:[0,.69444,0,0,.55],57:[0,.69444,0,0,.55],58:[0,.45833,0,0,.30556],59:[.10556,.45833,0,0,.30556],61:[-.09375,.40625,0,0,.85556],63:[0,.69444,0,0,.51945],64:[0,.69444,0,0,.73334],65:[0,.69444,0,0,.73334],66:[0,.69444,0,0,.73334],67:[0,.69444,0,0,.70278],68:[0,.69444,0,0,.79445],69:[0,.69444,0,0,.64167],70:[0,.69444,0,0,.61111],71:[0,.69444,0,0,.73334],72:[0,.69444,0,0,.79445],73:[0,.69444,0,0,.33056],74:[0,.69444,0,0,.51945],75:[0,.69444,0,0,.76389],76:[0,.69444,0,0,.58056],77:[0,.69444,0,0,.97778],78:[0,.69444,0,0,.79445],79:[0,.69444,0,0,.79445],80:[0,.69444,0,0,.70278],81:[.10556,.69444,0,0,.79445],82:[0,.69444,0,0,.70278],83:[0,.69444,0,0,.61111],84:[0,.69444,0,0,.73334],85:[0,.69444,0,0,.76389],86:[0,.69444,.01528,0,.73334],87:[0,.69444,.01528,0,1.03889],88:[0,.69444,0,0,.73334],89:[0,.69444,.0275,0,.73334],90:[0,.69444,0,0,.67223],91:[.25,.75,0,0,.34306],93:[.25,.75,0,0,.34306],94:[0,.69444,0,0,.55],95:[.35,.10833,.03056,0,.55],97:[0,.45833,0,0,.525],98:[0,.69444,0,0,.56111],99:[0,.45833,0,0,.48889],100:[0,.69444,0,0,.56111],101:[0,.45833,0,0,.51111],102:[0,.69444,.07639,0,.33611],103:[.19444,.45833,.01528,0,.55],104:[0,.69444,0,0,.56111],105:[0,.69444,0,0,.25556],106:[.19444,.69444,0,0,.28611],107:[0,.69444,0,0,.53056],108:[0,.69444,0,0,.25556],109:[0,.45833,0,0,.86667],110:[0,.45833,0,0,.56111],111:[0,.45833,0,0,.55],112:[.19444,.45833,0,0,.56111],113:[.19444,.45833,0,0,.56111],114:[0,.45833,.01528,0,.37222],115:[0,.45833,0,0,.42167],116:[0,.58929,0,0,.40417],117:[0,.45833,0,0,.56111],118:[0,.45833,.01528,0,.5],119:[0,.45833,.01528,0,.74445],120:[0,.45833,0,0,.5],121:[.19444,.45833,.01528,0,.5],122:[0,.45833,0,0,.47639],126:[.35,.34444,0,0,.55],160:[0,0,0,0,.25],168:[0,.69444,0,0,.55],176:[0,.69444,0,0,.73334],180:[0,.69444,0,0,.55],184:[.17014,0,0,0,.48889],305:[0,.45833,0,0,.25556],567:[.19444,.45833,0,0,.28611],710:[0,.69444,0,0,.55],711:[0,.63542,0,0,.55],713:[0,.63778,0,0,.55],728:[0,.69444,0,0,.55],729:[0,.69444,0,0,.30556],730:[0,.69444,0,0,.73334],732:[0,.69444,0,0,.55],733:[0,.69444,0,0,.55],915:[0,.69444,0,0,.58056],916:[0,.69444,0,0,.91667],920:[0,.69444,0,0,.85556],923:[0,.69444,0,0,.67223],926:[0,.69444,0,0,.73334],928:[0,.69444,0,0,.79445],931:[0,.69444,0,0,.79445],933:[0,.69444,0,0,.85556],934:[0,.69444,0,0,.79445],936:[0,.69444,0,0,.85556],937:[0,.69444,0,0,.79445],8211:[0,.45833,.03056,0,.55],8212:[0,.45833,.03056,0,1.10001],8216:[0,.69444,0,0,.30556],8217:[0,.69444,0,0,.30556],8220:[0,.69444,0,0,.55834],8221:[0,.69444,0,0,.55834]},"SansSerif-Italic":{32:[0,0,0,0,.25],33:[0,.69444,.05733,0,.31945],34:[0,.69444,.00316,0,.5],35:[.19444,.69444,.05087,0,.83334],36:[.05556,.75,.11156,0,.5],37:[.05556,.75,.03126,0,.83334],38:[0,.69444,.03058,0,.75834],39:[0,.69444,.07816,0,.27778],40:[.25,.75,.13164,0,.38889],41:[.25,.75,.02536,0,.38889],42:[0,.75,.11775,0,.5],43:[.08333,.58333,.02536,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,.01946,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,.13164,0,.5],48:[0,.65556,.11156,0,.5],49:[0,.65556,.11156,0,.5],50:[0,.65556,.11156,0,.5],51:[0,.65556,.11156,0,.5],52:[0,.65556,.11156,0,.5],53:[0,.65556,.11156,0,.5],54:[0,.65556,.11156,0,.5],55:[0,.65556,.11156,0,.5],56:[0,.65556,.11156,0,.5],57:[0,.65556,.11156,0,.5],58:[0,.44444,.02502,0,.27778],59:[.125,.44444,.02502,0,.27778],61:[-.13,.37,.05087,0,.77778],63:[0,.69444,.11809,0,.47222],64:[0,.69444,.07555,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,.08293,0,.66667],67:[0,.69444,.11983,0,.63889],68:[0,.69444,.07555,0,.72223],69:[0,.69444,.11983,0,.59722],70:[0,.69444,.13372,0,.56945],71:[0,.69444,.11983,0,.66667],72:[0,.69444,.08094,0,.70834],73:[0,.69444,.13372,0,.27778],74:[0,.69444,.08094,0,.47222],75:[0,.69444,.11983,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,.08094,0,.875],78:[0,.69444,.08094,0,.70834],79:[0,.69444,.07555,0,.73611],80:[0,.69444,.08293,0,.63889],81:[.125,.69444,.07555,0,.73611],82:[0,.69444,.08293,0,.64584],83:[0,.69444,.09205,0,.55556],84:[0,.69444,.13372,0,.68056],85:[0,.69444,.08094,0,.6875],86:[0,.69444,.1615,0,.66667],87:[0,.69444,.1615,0,.94445],88:[0,.69444,.13372,0,.66667],89:[0,.69444,.17261,0,.66667],90:[0,.69444,.11983,0,.61111],91:[.25,.75,.15942,0,.28889],93:[.25,.75,.08719,0,.28889],94:[0,.69444,.0799,0,.5],95:[.35,.09444,.08616,0,.5],97:[0,.44444,.00981,0,.48056],98:[0,.69444,.03057,0,.51667],99:[0,.44444,.08336,0,.44445],100:[0,.69444,.09483,0,.51667],101:[0,.44444,.06778,0,.44445],102:[0,.69444,.21705,0,.30556],103:[.19444,.44444,.10836,0,.5],104:[0,.69444,.01778,0,.51667],105:[0,.67937,.09718,0,.23889],106:[.19444,.67937,.09162,0,.26667],107:[0,.69444,.08336,0,.48889],108:[0,.69444,.09483,0,.23889],109:[0,.44444,.01778,0,.79445],110:[0,.44444,.01778,0,.51667],111:[0,.44444,.06613,0,.5],112:[.19444,.44444,.0389,0,.51667],113:[.19444,.44444,.04169,0,.51667],114:[0,.44444,.10836,0,.34167],115:[0,.44444,.0778,0,.38333],116:[0,.57143,.07225,0,.36111],117:[0,.44444,.04169,0,.51667],118:[0,.44444,.10836,0,.46111],119:[0,.44444,.10836,0,.68334],120:[0,.44444,.09169,0,.46111],121:[.19444,.44444,.10836,0,.46111],122:[0,.44444,.08752,0,.43472],126:[.35,.32659,.08826,0,.5],160:[0,0,0,0,.25],168:[0,.67937,.06385,0,.5],176:[0,.69444,0,0,.73752],184:[.17014,0,0,0,.44445],305:[0,.44444,.04169,0,.23889],567:[.19444,.44444,.04169,0,.26667],710:[0,.69444,.0799,0,.5],711:[0,.63194,.08432,0,.5],713:[0,.60889,.08776,0,.5],714:[0,.69444,.09205,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,.09483,0,.5],729:[0,.67937,.07774,0,.27778],730:[0,.69444,0,0,.73752],732:[0,.67659,.08826,0,.5],733:[0,.69444,.09205,0,.5],915:[0,.69444,.13372,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,.07555,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,.12816,0,.66667],928:[0,.69444,.08094,0,.70834],931:[0,.69444,.11983,0,.72222],933:[0,.69444,.09031,0,.77778],934:[0,.69444,.04603,0,.72222],936:[0,.69444,.09031,0,.77778],937:[0,.69444,.08293,0,.72222],8211:[0,.44444,.08616,0,.5],8212:[0,.44444,.08616,0,1],8216:[0,.69444,.07816,0,.27778],8217:[0,.69444,.07816,0,.27778],8220:[0,.69444,.14205,0,.5],8221:[0,.69444,.00316,0,.5]},"SansSerif-Regular":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.31945],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.75834],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,0,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.65556,0,0,.5],49:[0,.65556,0,0,.5],50:[0,.65556,0,0,.5],51:[0,.65556,0,0,.5],52:[0,.65556,0,0,.5],53:[0,.65556,0,0,.5],54:[0,.65556,0,0,.5],55:[0,.65556,0,0,.5],56:[0,.65556,0,0,.5],57:[0,.65556,0,0,.5],58:[0,.44444,0,0,.27778],59:[.125,.44444,0,0,.27778],61:[-.13,.37,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,0,0,.66667],67:[0,.69444,0,0,.63889],68:[0,.69444,0,0,.72223],69:[0,.69444,0,0,.59722],70:[0,.69444,0,0,.56945],71:[0,.69444,0,0,.66667],72:[0,.69444,0,0,.70834],73:[0,.69444,0,0,.27778],74:[0,.69444,0,0,.47222],75:[0,.69444,0,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,0,0,.875],78:[0,.69444,0,0,.70834],79:[0,.69444,0,0,.73611],80:[0,.69444,0,0,.63889],81:[.125,.69444,0,0,.73611],82:[0,.69444,0,0,.64584],83:[0,.69444,0,0,.55556],84:[0,.69444,0,0,.68056],85:[0,.69444,0,0,.6875],86:[0,.69444,.01389,0,.66667],87:[0,.69444,.01389,0,.94445],88:[0,.69444,0,0,.66667],89:[0,.69444,.025,0,.66667],90:[0,.69444,0,0,.61111],91:[.25,.75,0,0,.28889],93:[.25,.75,0,0,.28889],94:[0,.69444,0,0,.5],95:[.35,.09444,.02778,0,.5],97:[0,.44444,0,0,.48056],98:[0,.69444,0,0,.51667],99:[0,.44444,0,0,.44445],100:[0,.69444,0,0,.51667],101:[0,.44444,0,0,.44445],102:[0,.69444,.06944,0,.30556],103:[.19444,.44444,.01389,0,.5],104:[0,.69444,0,0,.51667],105:[0,.67937,0,0,.23889],106:[.19444,.67937,0,0,.26667],107:[0,.69444,0,0,.48889],108:[0,.69444,0,0,.23889],109:[0,.44444,0,0,.79445],110:[0,.44444,0,0,.51667],111:[0,.44444,0,0,.5],112:[.19444,.44444,0,0,.51667],113:[.19444,.44444,0,0,.51667],114:[0,.44444,.01389,0,.34167],115:[0,.44444,0,0,.38333],116:[0,.57143,0,0,.36111],117:[0,.44444,0,0,.51667],118:[0,.44444,.01389,0,.46111],119:[0,.44444,.01389,0,.68334],120:[0,.44444,0,0,.46111],121:[.19444,.44444,.01389,0,.46111],122:[0,.44444,0,0,.43472],126:[.35,.32659,0,0,.5],160:[0,0,0,0,.25],168:[0,.67937,0,0,.5],176:[0,.69444,0,0,.66667],184:[.17014,0,0,0,.44445],305:[0,.44444,0,0,.23889],567:[.19444,.44444,0,0,.26667],710:[0,.69444,0,0,.5],711:[0,.63194,0,0,.5],713:[0,.60889,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.67937,0,0,.27778],730:[0,.69444,0,0,.66667],732:[0,.67659,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.69444,0,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,0,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,0,0,.66667],928:[0,.69444,0,0,.70834],931:[0,.69444,0,0,.72222],933:[0,.69444,0,0,.77778],934:[0,.69444,0,0,.72222],936:[0,.69444,0,0,.77778],937:[0,.69444,0,0,.72222],8211:[0,.44444,.02778,0,.5],8212:[0,.44444,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5]},"Script-Regular":{32:[0,0,0,0,.25],65:[0,.7,.22925,0,.80253],66:[0,.7,.04087,0,.90757],67:[0,.7,.1689,0,.66619],68:[0,.7,.09371,0,.77443],69:[0,.7,.18583,0,.56162],70:[0,.7,.13634,0,.89544],71:[0,.7,.17322,0,.60961],72:[0,.7,.29694,0,.96919],73:[0,.7,.19189,0,.80907],74:[.27778,.7,.19189,0,1.05159],75:[0,.7,.31259,0,.91364],76:[0,.7,.19189,0,.87373],77:[0,.7,.15981,0,1.08031],78:[0,.7,.3525,0,.9015],79:[0,.7,.08078,0,.73787],80:[0,.7,.08078,0,1.01262],81:[0,.7,.03305,0,.88282],82:[0,.7,.06259,0,.85],83:[0,.7,.19189,0,.86767],84:[0,.7,.29087,0,.74697],85:[0,.7,.25815,0,.79996],86:[0,.7,.27523,0,.62204],87:[0,.7,.27523,0,.80532],88:[0,.7,.26006,0,.94445],89:[0,.7,.2939,0,.70961],90:[0,.7,.24037,0,.8212],160:[0,0,0,0,.25]},"Size1-Regular":{32:[0,0,0,0,.25],40:[.35001,.85,0,0,.45834],41:[.35001,.85,0,0,.45834],47:[.35001,.85,0,0,.57778],91:[.35001,.85,0,0,.41667],92:[.35001,.85,0,0,.57778],93:[.35001,.85,0,0,.41667],123:[.35001,.85,0,0,.58334],125:[.35001,.85,0,0,.58334],160:[0,0,0,0,.25],710:[0,.72222,0,0,.55556],732:[0,.72222,0,0,.55556],770:[0,.72222,0,0,.55556],771:[0,.72222,0,0,.55556],8214:[-99e-5,.601,0,0,.77778],8593:[1e-5,.6,0,0,.66667],8595:[1e-5,.6,0,0,.66667],8657:[1e-5,.6,0,0,.77778],8659:[1e-5,.6,0,0,.77778],8719:[.25001,.75,0,0,.94445],8720:[.25001,.75,0,0,.94445],8721:[.25001,.75,0,0,1.05556],8730:[.35001,.85,0,0,1],8739:[-.00599,.606,0,0,.33333],8741:[-.00599,.606,0,0,.55556],8747:[.30612,.805,.19445,0,.47222],8748:[.306,.805,.19445,0,.47222],8749:[.306,.805,.19445,0,.47222],8750:[.30612,.805,.19445,0,.47222],8896:[.25001,.75,0,0,.83334],8897:[.25001,.75,0,0,.83334],8898:[.25001,.75,0,0,.83334],8899:[.25001,.75,0,0,.83334],8968:[.35001,.85,0,0,.47222],8969:[.35001,.85,0,0,.47222],8970:[.35001,.85,0,0,.47222],8971:[.35001,.85,0,0,.47222],9168:[-99e-5,.601,0,0,.66667],10216:[.35001,.85,0,0,.47222],10217:[.35001,.85,0,0,.47222],10752:[.25001,.75,0,0,1.11111],10753:[.25001,.75,0,0,1.11111],10754:[.25001,.75,0,0,1.11111],10756:[.25001,.75,0,0,.83334],10758:[.25001,.75,0,0,.83334]},"Size2-Regular":{32:[0,0,0,0,.25],40:[.65002,1.15,0,0,.59722],41:[.65002,1.15,0,0,.59722],47:[.65002,1.15,0,0,.81111],91:[.65002,1.15,0,0,.47222],92:[.65002,1.15,0,0,.81111],93:[.65002,1.15,0,0,.47222],123:[.65002,1.15,0,0,.66667],125:[.65002,1.15,0,0,.66667],160:[0,0,0,0,.25],710:[0,.75,0,0,1],732:[0,.75,0,0,1],770:[0,.75,0,0,1],771:[0,.75,0,0,1],8719:[.55001,1.05,0,0,1.27778],8720:[.55001,1.05,0,0,1.27778],8721:[.55001,1.05,0,0,1.44445],8730:[.65002,1.15,0,0,1],8747:[.86225,1.36,.44445,0,.55556],8748:[.862,1.36,.44445,0,.55556],8749:[.862,1.36,.44445,0,.55556],8750:[.86225,1.36,.44445,0,.55556],8896:[.55001,1.05,0,0,1.11111],8897:[.55001,1.05,0,0,1.11111],8898:[.55001,1.05,0,0,1.11111],8899:[.55001,1.05,0,0,1.11111],8968:[.65002,1.15,0,0,.52778],8969:[.65002,1.15,0,0,.52778],8970:[.65002,1.15,0,0,.52778],8971:[.65002,1.15,0,0,.52778],10216:[.65002,1.15,0,0,.61111],10217:[.65002,1.15,0,0,.61111],10752:[.55001,1.05,0,0,1.51112],10753:[.55001,1.05,0,0,1.51112],10754:[.55001,1.05,0,0,1.51112],10756:[.55001,1.05,0,0,1.11111],10758:[.55001,1.05,0,0,1.11111]},"Size3-Regular":{32:[0,0,0,0,.25],40:[.95003,1.45,0,0,.73611],41:[.95003,1.45,0,0,.73611],47:[.95003,1.45,0,0,1.04445],91:[.95003,1.45,0,0,.52778],92:[.95003,1.45,0,0,1.04445],93:[.95003,1.45,0,0,.52778],123:[.95003,1.45,0,0,.75],125:[.95003,1.45,0,0,.75],160:[0,0,0,0,.25],710:[0,.75,0,0,1.44445],732:[0,.75,0,0,1.44445],770:[0,.75,0,0,1.44445],771:[0,.75,0,0,1.44445],8730:[.95003,1.45,0,0,1],8968:[.95003,1.45,0,0,.58334],8969:[.95003,1.45,0,0,.58334],8970:[.95003,1.45,0,0,.58334],8971:[.95003,1.45,0,0,.58334],10216:[.95003,1.45,0,0,.75],10217:[.95003,1.45,0,0,.75]},"Size4-Regular":{32:[0,0,0,0,.25],40:[1.25003,1.75,0,0,.79167],41:[1.25003,1.75,0,0,.79167],47:[1.25003,1.75,0,0,1.27778],91:[1.25003,1.75,0,0,.58334],92:[1.25003,1.75,0,0,1.27778],93:[1.25003,1.75,0,0,.58334],123:[1.25003,1.75,0,0,.80556],125:[1.25003,1.75,0,0,.80556],160:[0,0,0,0,.25],710:[0,.825,0,0,1.8889],732:[0,.825,0,0,1.8889],770:[0,.825,0,0,1.8889],771:[0,.825,0,0,1.8889],8730:[1.25003,1.75,0,0,1],8968:[1.25003,1.75,0,0,.63889],8969:[1.25003,1.75,0,0,.63889],8970:[1.25003,1.75,0,0,.63889],8971:[1.25003,1.75,0,0,.63889],9115:[.64502,1.155,0,0,.875],9116:[1e-5,.6,0,0,.875],9117:[.64502,1.155,0,0,.875],9118:[.64502,1.155,0,0,.875],9119:[1e-5,.6,0,0,.875],9120:[.64502,1.155,0,0,.875],9121:[.64502,1.155,0,0,.66667],9122:[-99e-5,.601,0,0,.66667],9123:[.64502,1.155,0,0,.66667],9124:[.64502,1.155,0,0,.66667],9125:[-99e-5,.601,0,0,.66667],9126:[.64502,1.155,0,0,.66667],9127:[1e-5,.9,0,0,.88889],9128:[.65002,1.15,0,0,.88889],9129:[.90001,0,0,0,.88889],9130:[0,.3,0,0,.88889],9131:[1e-5,.9,0,0,.88889],9132:[.65002,1.15,0,0,.88889],9133:[.90001,0,0,0,.88889],9143:[.88502,.915,0,0,1.05556],10216:[1.25003,1.75,0,0,.80556],10217:[1.25003,1.75,0,0,.80556],57344:[-.00499,.605,0,0,1.05556],57345:[-.00499,.605,0,0,1.05556],57680:[0,.12,0,0,.45],57681:[0,.12,0,0,.45],57682:[0,.12,0,0,.45],57683:[0,.12,0,0,.45]},"Typewriter-Regular":{32:[0,0,0,0,.525],33:[0,.61111,0,0,.525],34:[0,.61111,0,0,.525],35:[0,.61111,0,0,.525],36:[.08333,.69444,0,0,.525],37:[.08333,.69444,0,0,.525],38:[0,.61111,0,0,.525],39:[0,.61111,0,0,.525],40:[.08333,.69444,0,0,.525],41:[.08333,.69444,0,0,.525],42:[0,.52083,0,0,.525],43:[-.08056,.53055,0,0,.525],44:[.13889,.125,0,0,.525],45:[-.08056,.53055,0,0,.525],46:[0,.125,0,0,.525],47:[.08333,.69444,0,0,.525],48:[0,.61111,0,0,.525],49:[0,.61111,0,0,.525],50:[0,.61111,0,0,.525],51:[0,.61111,0,0,.525],52:[0,.61111,0,0,.525],53:[0,.61111,0,0,.525],54:[0,.61111,0,0,.525],55:[0,.61111,0,0,.525],56:[0,.61111,0,0,.525],57:[0,.61111,0,0,.525],58:[0,.43056,0,0,.525],59:[.13889,.43056,0,0,.525],60:[-.05556,.55556,0,0,.525],61:[-.19549,.41562,0,0,.525],62:[-.05556,.55556,0,0,.525],63:[0,.61111,0,0,.525],64:[0,.61111,0,0,.525],65:[0,.61111,0,0,.525],66:[0,.61111,0,0,.525],67:[0,.61111,0,0,.525],68:[0,.61111,0,0,.525],69:[0,.61111,0,0,.525],70:[0,.61111,0,0,.525],71:[0,.61111,0,0,.525],72:[0,.61111,0,0,.525],73:[0,.61111,0,0,.525],74:[0,.61111,0,0,.525],75:[0,.61111,0,0,.525],76:[0,.61111,0,0,.525],77:[0,.61111,0,0,.525],78:[0,.61111,0,0,.525],79:[0,.61111,0,0,.525],80:[0,.61111,0,0,.525],81:[.13889,.61111,0,0,.525],82:[0,.61111,0,0,.525],83:[0,.61111,0,0,.525],84:[0,.61111,0,0,.525],85:[0,.61111,0,0,.525],86:[0,.61111,0,0,.525],87:[0,.61111,0,0,.525],88:[0,.61111,0,0,.525],89:[0,.61111,0,0,.525],90:[0,.61111,0,0,.525],91:[.08333,.69444,0,0,.525],92:[.08333,.69444,0,0,.525],93:[.08333,.69444,0,0,.525],94:[0,.61111,0,0,.525],95:[.09514,0,0,0,.525],96:[0,.61111,0,0,.525],97:[0,.43056,0,0,.525],98:[0,.61111,0,0,.525],99:[0,.43056,0,0,.525],100:[0,.61111,0,0,.525],101:[0,.43056,0,0,.525],102:[0,.61111,0,0,.525],103:[.22222,.43056,0,0,.525],104:[0,.61111,0,0,.525],105:[0,.61111,0,0,.525],106:[.22222,.61111,0,0,.525],107:[0,.61111,0,0,.525],108:[0,.61111,0,0,.525],109:[0,.43056,0,0,.525],110:[0,.43056,0,0,.525],111:[0,.43056,0,0,.525],112:[.22222,.43056,0,0,.525],113:[.22222,.43056,0,0,.525],114:[0,.43056,0,0,.525],115:[0,.43056,0,0,.525],116:[0,.55358,0,0,.525],117:[0,.43056,0,0,.525],118:[0,.43056,0,0,.525],119:[0,.43056,0,0,.525],120:[0,.43056,0,0,.525],121:[.22222,.43056,0,0,.525],122:[0,.43056,0,0,.525],123:[.08333,.69444,0,0,.525],124:[.08333,.69444,0,0,.525],125:[.08333,.69444,0,0,.525],126:[0,.61111,0,0,.525],127:[0,.61111,0,0,.525],160:[0,0,0,0,.525],176:[0,.61111,0,0,.525],184:[.19445,0,0,0,.525],305:[0,.43056,0,0,.525],567:[.22222,.43056,0,0,.525],711:[0,.56597,0,0,.525],713:[0,.56555,0,0,.525],714:[0,.61111,0,0,.525],715:[0,.61111,0,0,.525],728:[0,.61111,0,0,.525],730:[0,.61111,0,0,.525],770:[0,.61111,0,0,.525],771:[0,.61111,0,0,.525],776:[0,.61111,0,0,.525],915:[0,.61111,0,0,.525],916:[0,.61111,0,0,.525],920:[0,.61111,0,0,.525],923:[0,.61111,0,0,.525],926:[0,.61111,0,0,.525],928:[0,.61111,0,0,.525],931:[0,.61111,0,0,.525],933:[0,.61111,0,0,.525],934:[0,.61111,0,0,.525],936:[0,.61111,0,0,.525],937:[0,.61111,0,0,.525],8216:[0,.61111,0,0,.525],8217:[0,.61111,0,0,.525],8242:[0,.61111,0,0,.525],9251:[.11111,.21944,0,0,.525]}},Xe={slant:[.25,.25,.25],space:[0,0,0],stretch:[0,0,0],shrink:[0,0,0],xHeight:[.431,.431,.431],quad:[1,1.171,1.472],extraSpace:[0,0,0],num1:[.677,.732,.925],num2:[.394,.384,.387],num3:[.444,.471,.504],denom1:[.686,.752,1.025],denom2:[.345,.344,.532],sup1:[.413,.503,.504],sup2:[.363,.431,.404],sup3:[.289,.286,.294],sub1:[.15,.143,.2],sub2:[.247,.286,.4],supDrop:[.386,.353,.494],subDrop:[.05,.071,.1],delim1:[2.39,1.7,1.98],delim2:[1.01,1.157,1.42],axisHeight:[.25,.25,.25],defaultRuleThickness:[.04,.049,.049],bigOpSpacing1:[.111,.111,.111],bigOpSpacing2:[.166,.166,.166],bigOpSpacing3:[.2,.2,.2],bigOpSpacing4:[.6,.611,.611],bigOpSpacing5:[.1,.143,.143],sqrtRuleThickness:[.04,.04,.04],ptPerEm:[10,10,10],doubleRuleSep:[.2,.2,.2],arrayRuleWidth:[.04,.04,.04],fboxsep:[.3,.3,.3],fboxrule:[.04,.04,.04]},Ze={Å:`A`,Ð:`D`,Þ:`o`,å:`a`,ð:`d`,þ:`o`,А:`A`,Б:`B`,В:`B`,Г:`F`,Д:`A`,Е:`E`,Ж:`K`,З:`3`,И:`N`,Й:`N`,К:`K`,Л:`N`,М:`M`,Н:`H`,О:`O`,П:`N`,Р:`P`,С:`C`,Т:`T`,У:`y`,Ф:`O`,Х:`X`,Ц:`U`,Ч:`h`,Ш:`W`,Щ:`W`,Ъ:`B`,Ы:`X`,Ь:`B`,Э:`3`,Ю:`X`,Я:`R`,а:`a`,б:`b`,в:`a`,г:`r`,д:`y`,е:`e`,ж:`m`,з:`e`,и:`n`,й:`n`,к:`n`,л:`n`,м:`m`,н:`n`,о:`o`,п:`n`,р:`p`,с:`c`,т:`o`,у:`y`,ф:`b`,х:`x`,ц:`n`,ч:`n`,ш:`w`,щ:`w`,ъ:`a`,ы:`m`,ь:`a`,э:`e`,ю:`m`,я:`r`};function Qe(e,t){Ye[e]=t}function $e(e,t,n){if(!Ye[t])throw Error(`Font metrics not found for font: `+t+`.`);var r=e.charCodeAt(0),i=Ye[t][r];if(!i&&e[0]in Ze&&(r=Ze[e[0]].charCodeAt(0),i=Ye[t][r]),!i&&n===`text`&&me(r)&&(i=Ye[t][77]),i)return{depth:i[0],height:i[1],italic:i[2],skew:i[3],width:i[4]}}var et={};function tt(e){var t=e>=5?0:e>=3?1:2;if(!et[t]){var n=et[t]={cssEmPerMu:Xe.quad[t]/18};for(var r of Object.keys(Xe))n[r]=Xe[r][t]}return et[t]}var j={math:{},text:{}};function M(e,t,n,r,i,a){j[e][i]={font:t,group:n,replace:r},a&&r&&(j[e][r]=j[e][i])}var N=`math`,P=`text`,F=`main`,I=`ams`,L=`accent-token`,R=`bin`,nt=`close`,rt=`inner`,z=`mathord`,B=`op-token`,it=`open`,at=`punct`,V=`rel`,ot=`spacing`,H=`textord`;M(N,F,V,`≡`,`\\equiv`,!0),M(N,F,V,`≺`,`\\prec`,!0),M(N,F,V,`≻`,`\\succ`,!0),M(N,F,V,`∼`,`\\sim`,!0),M(N,F,V,`⊥`,`\\perp`),M(N,F,V,`⪯`,`\\preceq`,!0),M(N,F,V,`⪰`,`\\succeq`,!0),M(N,F,V,`≃`,`\\simeq`,!0),M(N,F,V,`∣`,`\\mid`,!0),M(N,F,V,`≪`,`\\ll`,!0),M(N,F,V,`≫`,`\\gg`,!0),M(N,F,V,`≍`,`\\asymp`,!0),M(N,F,V,`∥`,`\\parallel`),M(N,F,V,`⋈`,`\\bowtie`,!0),M(N,F,V,`⌣`,`\\smile`,!0),M(N,F,V,`⊑`,`\\sqsubseteq`,!0),M(N,F,V,`⊒`,`\\sqsupseteq`,!0),M(N,F,V,`≐`,`\\doteq`,!0),M(N,F,V,`⌢`,`\\frown`,!0),M(N,F,V,`∋`,`\\ni`,!0),M(N,F,V,`∝`,`\\propto`,!0),M(N,F,V,`⊢`,`\\vdash`,!0),M(N,F,V,`⊣`,`\\dashv`,!0),M(N,F,V,`∋`,`\\owns`),M(N,F,at,`.`,`\\ldotp`),M(N,F,at,`⋅`,`\\cdotp`),M(N,F,at,`⋅`,`·`),M(P,F,H,`⋅`,`·`),M(N,F,H,`#`,`\\#`),M(P,F,H,`#`,`\\#`),M(N,F,H,`&`,`\\&`),M(P,F,H,`&`,`\\&`),M(N,F,H,`ℵ`,`\\aleph`,!0),M(N,F,H,`∀`,`\\forall`,!0),M(N,F,H,`ℏ`,`\\hbar`,!0),M(N,F,H,`∃`,`\\exists`,!0),M(N,F,H,`∇`,`\\nabla`,!0),M(N,F,H,`♭`,`\\flat`,!0),M(N,F,H,`ℓ`,`\\ell`,!0),M(N,F,H,`♮`,`\\natural`,!0),M(N,F,H,`♣`,`\\clubsuit`,!0),M(N,F,H,`℘`,`\\wp`,!0),M(N,F,H,`♯`,`\\sharp`,!0),M(N,F,H,`♢`,`\\diamondsuit`,!0),M(N,F,H,`ℜ`,`\\Re`,!0),M(N,F,H,`♡`,`\\heartsuit`,!0),M(N,F,H,`ℑ`,`\\Im`,!0),M(N,F,H,`♠`,`\\spadesuit`,!0),M(N,F,H,`§`,`\\S`,!0),M(P,F,H,`§`,`\\S`),M(N,F,H,`¶`,`\\P`,!0),M(P,F,H,`¶`,`\\P`),M(N,F,H,`†`,`\\dag`),M(P,F,H,`†`,`\\dag`),M(P,F,H,`†`,`\\textdagger`),M(N,F,H,`‡`,`\\ddag`),M(P,F,H,`‡`,`\\ddag`),M(P,F,H,`‡`,`\\textdaggerdbl`),M(N,F,nt,`⎱`,`\\rmoustache`,!0),M(N,F,it,`⎰`,`\\lmoustache`,!0),M(N,F,nt,`⟯`,`\\rgroup`,!0),M(N,F,it,`⟮`,`\\lgroup`,!0),M(N,F,R,`∓`,`\\mp`,!0),M(N,F,R,`⊖`,`\\ominus`,!0),M(N,F,R,`⊎`,`\\uplus`,!0),M(N,F,R,`⊓`,`\\sqcap`,!0),M(N,F,R,`∗`,`\\ast`),M(N,F,R,`⊔`,`\\sqcup`,!0),M(N,F,R,`◯`,`\\bigcirc`,!0),M(N,F,R,`∙`,`\\bullet`,!0),M(N,F,R,`‡`,`\\ddagger`),M(N,F,R,`≀`,`\\wr`,!0),M(N,F,R,`⨿`,`\\amalg`),M(N,F,R,`&`,`\\And`),M(N,F,V,`⟵`,`\\longleftarrow`,!0),M(N,F,V,`⇐`,`\\Leftarrow`,!0),M(N,F,V,`⟸`,`\\Longleftarrow`,!0),M(N,F,V,`⟶`,`\\longrightarrow`,!0),M(N,F,V,`⇒`,`\\Rightarrow`,!0),M(N,F,V,`⟹`,`\\Longrightarrow`,!0),M(N,F,V,`↔`,`\\leftrightarrow`,!0),M(N,F,V,`⟷`,`\\longleftrightarrow`,!0),M(N,F,V,`⇔`,`\\Leftrightarrow`,!0),M(N,F,V,`⟺`,`\\Longleftrightarrow`,!0),M(N,F,V,`↦`,`\\mapsto`,!0),M(N,F,V,`⟼`,`\\longmapsto`,!0),M(N,F,V,`↗`,`\\nearrow`,!0),M(N,F,V,`↩`,`\\hookleftarrow`,!0),M(N,F,V,`↪`,`\\hookrightarrow`,!0),M(N,F,V,`↘`,`\\searrow`,!0),M(N,F,V,`↼`,`\\leftharpoonup`,!0),M(N,F,V,`⇀`,`\\rightharpoonup`,!0),M(N,F,V,`↙`,`\\swarrow`,!0),M(N,F,V,`↽`,`\\leftharpoondown`,!0),M(N,F,V,`⇁`,`\\rightharpoondown`,!0),M(N,F,V,`↖`,`\\nwarrow`,!0),M(N,F,V,`⇌`,`\\rightleftharpoons`,!0),M(N,I,V,`≮`,`\\nless`,!0),M(N,I,V,``,`\\@nleqslant`),M(N,I,V,``,`\\@nleqq`),M(N,I,V,`⪇`,`\\lneq`,!0),M(N,I,V,`≨`,`\\lneqq`,!0),M(N,I,V,``,`\\@lvertneqq`),M(N,I,V,`⋦`,`\\lnsim`,!0),M(N,I,V,`⪉`,`\\lnapprox`,!0),M(N,I,V,`⊀`,`\\nprec`,!0),M(N,I,V,`⋠`,`\\npreceq`,!0),M(N,I,V,`⋨`,`\\precnsim`,!0),M(N,I,V,`⪹`,`\\precnapprox`,!0),M(N,I,V,`≁`,`\\nsim`,!0),M(N,I,V,``,`\\@nshortmid`),M(N,I,V,`∤`,`\\nmid`,!0),M(N,I,V,`⊬`,`\\nvdash`,!0),M(N,I,V,`⊭`,`\\nvDash`,!0),M(N,I,V,`⋪`,`\\ntriangleleft`),M(N,I,V,`⋬`,`\\ntrianglelefteq`,!0),M(N,I,V,`⊊`,`\\subsetneq`,!0),M(N,I,V,``,`\\@varsubsetneq`),M(N,I,V,`⫋`,`\\subsetneqq`,!0),M(N,I,V,``,`\\@varsubsetneqq`),M(N,I,V,`≯`,`\\ngtr`,!0),M(N,I,V,``,`\\@ngeqslant`),M(N,I,V,``,`\\@ngeqq`),M(N,I,V,`⪈`,`\\gneq`,!0),M(N,I,V,`≩`,`\\gneqq`,!0),M(N,I,V,``,`\\@gvertneqq`),M(N,I,V,`⋧`,`\\gnsim`,!0),M(N,I,V,`⪊`,`\\gnapprox`,!0),M(N,I,V,`⊁`,`\\nsucc`,!0),M(N,I,V,`⋡`,`\\nsucceq`,!0),M(N,I,V,`⋩`,`\\succnsim`,!0),M(N,I,V,`⪺`,`\\succnapprox`,!0),M(N,I,V,`≆`,`\\ncong`,!0),M(N,I,V,``,`\\@nshortparallel`),M(N,I,V,`∦`,`\\nparallel`,!0),M(N,I,V,`⊯`,`\\nVDash`,!0),M(N,I,V,`⋫`,`\\ntriangleright`),M(N,I,V,`⋭`,`\\ntrianglerighteq`,!0),M(N,I,V,``,`\\@nsupseteqq`),M(N,I,V,`⊋`,`\\supsetneq`,!0),M(N,I,V,``,`\\@varsupsetneq`),M(N,I,V,`⫌`,`\\supsetneqq`,!0),M(N,I,V,``,`\\@varsupsetneqq`),M(N,I,V,`⊮`,`\\nVdash`,!0),M(N,I,V,`⪵`,`\\precneqq`,!0),M(N,I,V,`⪶`,`\\succneqq`,!0),M(N,I,V,``,`\\@nsubseteqq`),M(N,I,R,`⊴`,`\\unlhd`),M(N,I,R,`⊵`,`\\unrhd`),M(N,I,V,`↚`,`\\nleftarrow`,!0),M(N,I,V,`↛`,`\\nrightarrow`,!0),M(N,I,V,`⇍`,`\\nLeftarrow`,!0),M(N,I,V,`⇏`,`\\nRightarrow`,!0),M(N,I,V,`↮`,`\\nleftrightarrow`,!0),M(N,I,V,`⇎`,`\\nLeftrightarrow`,!0),M(N,I,V,`△`,`\\vartriangle`),M(N,I,H,`ℏ`,`\\hslash`),M(N,I,H,`▽`,`\\triangledown`),M(N,I,H,`◊`,`\\lozenge`),M(N,I,H,`Ⓢ`,`\\circledS`),M(N,I,H,`®`,`\\circledR`),M(P,I,H,`®`,`\\circledR`),M(N,I,H,`∡`,`\\measuredangle`,!0),M(N,I,H,`∄`,`\\nexists`),M(N,I,H,`℧`,`\\mho`),M(N,I,H,`Ⅎ`,`\\Finv`,!0),M(N,I,H,`⅁`,`\\Game`,!0),M(N,I,H,`‵`,`\\backprime`),M(N,I,H,`▲`,`\\blacktriangle`),M(N,I,H,`▼`,`\\blacktriangledown`),M(N,I,H,`■`,`\\blacksquare`),M(N,I,H,`⧫`,`\\blacklozenge`),M(N,I,H,`★`,`\\bigstar`),M(N,I,H,`∢`,`\\sphericalangle`,!0),M(N,I,H,`∁`,`\\complement`,!0),M(N,I,H,`ð`,`\\eth`,!0),M(P,F,H,`ð`,`ð`),M(N,I,H,`╱`,`\\diagup`),M(N,I,H,`╲`,`\\diagdown`),M(N,I,H,`□`,`\\square`),M(N,I,H,`□`,`\\Box`),M(N,I,H,`◊`,`\\Diamond`),M(N,I,H,`¥`,`\\yen`,!0),M(P,I,H,`¥`,`\\yen`,!0),M(N,I,H,`✓`,`\\checkmark`,!0),M(P,I,H,`✓`,`\\checkmark`),M(N,I,H,`ℶ`,`\\beth`,!0),M(N,I,H,`ℸ`,`\\daleth`,!0),M(N,I,H,`ℷ`,`\\gimel`,!0),M(N,I,H,`ϝ`,`\\digamma`,!0),M(N,I,H,`ϰ`,`\\varkappa`),M(N,I,it,`┌`,`\\@ulcorner`,!0),M(N,I,nt,`┐`,`\\@urcorner`,!0),M(N,I,it,`└`,`\\@llcorner`,!0),M(N,I,nt,`┘`,`\\@lrcorner`,!0),M(N,I,V,`≦`,`\\leqq`,!0),M(N,I,V,`⩽`,`\\leqslant`,!0),M(N,I,V,`⪕`,`\\eqslantless`,!0),M(N,I,V,`≲`,`\\lesssim`,!0),M(N,I,V,`⪅`,`\\lessapprox`,!0),M(N,I,V,`≊`,`\\approxeq`,!0),M(N,I,R,`⋖`,`\\lessdot`),M(N,I,V,`⋘`,`\\lll`,!0),M(N,I,V,`≶`,`\\lessgtr`,!0),M(N,I,V,`⋚`,`\\lesseqgtr`,!0),M(N,I,V,`⪋`,`\\lesseqqgtr`,!0),M(N,I,V,`≑`,`\\doteqdot`),M(N,I,V,`≓`,`\\risingdotseq`,!0),M(N,I,V,`≒`,`\\fallingdotseq`,!0),M(N,I,V,`∽`,`\\backsim`,!0),M(N,I,V,`⋍`,`\\backsimeq`,!0),M(N,I,V,`⫅`,`\\subseteqq`,!0),M(N,I,V,`⋐`,`\\Subset`,!0),M(N,I,V,`⊏`,`\\sqsubset`,!0),M(N,I,V,`≼`,`\\preccurlyeq`,!0),M(N,I,V,`⋞`,`\\curlyeqprec`,!0),M(N,I,V,`≾`,`\\precsim`,!0),M(N,I,V,`⪷`,`\\precapprox`,!0),M(N,I,V,`⊲`,`\\vartriangleleft`),M(N,I,V,`⊴`,`\\trianglelefteq`),M(N,I,V,`⊨`,`\\vDash`,!0),M(N,I,V,`⊪`,`\\Vvdash`,!0),M(N,I,V,`⌣`,`\\smallsmile`),M(N,I,V,`⌢`,`\\smallfrown`),M(N,I,V,`≏`,`\\bumpeq`,!0),M(N,I,V,`≎`,`\\Bumpeq`,!0),M(N,I,V,`≧`,`\\geqq`,!0),M(N,I,V,`⩾`,`\\geqslant`,!0),M(N,I,V,`⪖`,`\\eqslantgtr`,!0),M(N,I,V,`≳`,`\\gtrsim`,!0),M(N,I,V,`⪆`,`\\gtrapprox`,!0),M(N,I,R,`⋗`,`\\gtrdot`),M(N,I,V,`⋙`,`\\ggg`,!0),M(N,I,V,`≷`,`\\gtrless`,!0),M(N,I,V,`⋛`,`\\gtreqless`,!0),M(N,I,V,`⪌`,`\\gtreqqless`,!0),M(N,I,V,`≖`,`\\eqcirc`,!0),M(N,I,V,`≗`,`\\circeq`,!0),M(N,I,V,`≜`,`\\triangleq`,!0),M(N,I,V,`∼`,`\\thicksim`),M(N,I,V,`≈`,`\\thickapprox`),M(N,I,V,`⫆`,`\\supseteqq`,!0),M(N,I,V,`⋑`,`\\Supset`,!0),M(N,I,V,`⊐`,`\\sqsupset`,!0),M(N,I,V,`≽`,`\\succcurlyeq`,!0),M(N,I,V,`⋟`,`\\curlyeqsucc`,!0),M(N,I,V,`≿`,`\\succsim`,!0),M(N,I,V,`⪸`,`\\succapprox`,!0),M(N,I,V,`⊳`,`\\vartriangleright`),M(N,I,V,`⊵`,`\\trianglerighteq`),M(N,I,V,`⊩`,`\\Vdash`,!0),M(N,I,V,`∣`,`\\shortmid`),M(N,I,V,`∥`,`\\shortparallel`),M(N,I,V,`≬`,`\\between`,!0),M(N,I,V,`⋔`,`\\pitchfork`,!0),M(N,I,V,`∝`,`\\varpropto`),M(N,I,V,`◀`,`\\blacktriangleleft`),M(N,I,V,`∴`,`\\therefore`,!0),M(N,I,V,`∍`,`\\backepsilon`),M(N,I,V,`▶`,`\\blacktriangleright`),M(N,I,V,`∵`,`\\because`,!0),M(N,I,V,`⋘`,`\\llless`),M(N,I,V,`⋙`,`\\gggtr`),M(N,I,R,`⊲`,`\\lhd`),M(N,I,R,`⊳`,`\\rhd`),M(N,I,V,`≂`,`\\eqsim`,!0),M(N,F,V,`⋈`,`\\Join`),M(N,I,V,`≑`,`\\Doteq`,!0),M(N,I,R,`∔`,`\\dotplus`,!0),M(N,I,R,`∖`,`\\smallsetminus`),M(N,I,R,`⋒`,`\\Cap`,!0),M(N,I,R,`⋓`,`\\Cup`,!0),M(N,I,R,`⩞`,`\\doublebarwedge`,!0),M(N,I,R,`⊟`,`\\boxminus`,!0),M(N,I,R,`⊞`,`\\boxplus`,!0),M(N,I,R,`⋇`,`\\divideontimes`,!0),M(N,I,R,`⋉`,`\\ltimes`,!0),M(N,I,R,`⋊`,`\\rtimes`,!0),M(N,I,R,`⋋`,`\\leftthreetimes`,!0),M(N,I,R,`⋌`,`\\rightthreetimes`,!0),M(N,I,R,`⋏`,`\\curlywedge`,!0),M(N,I,R,`⋎`,`\\curlyvee`,!0),M(N,I,R,`⊝`,`\\circleddash`,!0),M(N,I,R,`⊛`,`\\circledast`,!0),M(N,I,R,`⋅`,`\\centerdot`),M(N,I,R,`⊺`,`\\intercal`,!0),M(N,I,R,`⋒`,`\\doublecap`),M(N,I,R,`⋓`,`\\doublecup`),M(N,I,R,`⊠`,`\\boxtimes`,!0),M(N,I,V,`⇢`,`\\dashrightarrow`,!0),M(N,I,V,`⇠`,`\\dashleftarrow`,!0),M(N,I,V,`⇇`,`\\leftleftarrows`,!0),M(N,I,V,`⇆`,`\\leftrightarrows`,!0),M(N,I,V,`⇚`,`\\Lleftarrow`,!0),M(N,I,V,`↞`,`\\twoheadleftarrow`,!0),M(N,I,V,`↢`,`\\leftarrowtail`,!0),M(N,I,V,`↫`,`\\looparrowleft`,!0),M(N,I,V,`⇋`,`\\leftrightharpoons`,!0),M(N,I,V,`↶`,`\\curvearrowleft`,!0),M(N,I,V,`↺`,`\\circlearrowleft`,!0),M(N,I,V,`↰`,`\\Lsh`,!0),M(N,I,V,`⇈`,`\\upuparrows`,!0),M(N,I,V,`↿`,`\\upharpoonleft`,!0),M(N,I,V,`⇃`,`\\downharpoonleft`,!0),M(N,F,V,`⊶`,`\\origof`,!0),M(N,F,V,`⊷`,`\\imageof`,!0),M(N,I,V,`⊸`,`\\multimap`,!0),M(N,I,V,`↭`,`\\leftrightsquigarrow`,!0),M(N,I,V,`⇉`,`\\rightrightarrows`,!0),M(N,I,V,`⇄`,`\\rightleftarrows`,!0),M(N,I,V,`↠`,`\\twoheadrightarrow`,!0),M(N,I,V,`↣`,`\\rightarrowtail`,!0),M(N,I,V,`↬`,`\\looparrowright`,!0),M(N,I,V,`↷`,`\\curvearrowright`,!0),M(N,I,V,`↻`,`\\circlearrowright`,!0),M(N,I,V,`↱`,`\\Rsh`,!0),M(N,I,V,`⇊`,`\\downdownarrows`,!0),M(N,I,V,`↾`,`\\upharpoonright`,!0),M(N,I,V,`⇂`,`\\downharpoonright`,!0),M(N,I,V,`⇝`,`\\rightsquigarrow`,!0),M(N,I,V,`⇝`,`\\leadsto`),M(N,I,V,`⇛`,`\\Rrightarrow`,!0),M(N,I,V,`↾`,`\\restriction`),M(N,F,H,`‘`,"`"),M(N,F,H,`$`,`\\$`),M(P,F,H,`$`,`\\$`),M(P,F,H,`$`,`\\textdollar`),M(N,F,H,`%`,`\\%`),M(P,F,H,`%`,`\\%`),M(N,F,H,`_`,`\\_`),M(P,F,H,`_`,`\\_`),M(P,F,H,`_`,`\\textunderscore`),M(N,F,H,`∠`,`\\angle`,!0),M(N,F,H,`∞`,`\\infty`,!0),M(N,F,H,`′`,`\\prime`),M(N,F,H,`△`,`\\triangle`),M(N,F,H,`Γ`,`\\Gamma`,!0),M(N,F,H,`Δ`,`\\Delta`,!0),M(N,F,H,`Θ`,`\\Theta`,!0),M(N,F,H,`Λ`,`\\Lambda`,!0),M(N,F,H,`Ξ`,`\\Xi`,!0),M(N,F,H,`Π`,`\\Pi`,!0),M(N,F,H,`Σ`,`\\Sigma`,!0),M(N,F,H,`Υ`,`\\Upsilon`,!0),M(N,F,H,`Φ`,`\\Phi`,!0),M(N,F,H,`Ψ`,`\\Psi`,!0),M(N,F,H,`Ω`,`\\Omega`,!0),M(N,F,H,`A`,`Α`),M(N,F,H,`B`,`Β`),M(N,F,H,`E`,`Ε`),M(N,F,H,`Z`,`Ζ`),M(N,F,H,`H`,`Η`),M(N,F,H,`I`,`Ι`),M(N,F,H,`K`,`Κ`),M(N,F,H,`M`,`Μ`),M(N,F,H,`N`,`Ν`),M(N,F,H,`O`,`Ο`),M(N,F,H,`P`,`Ρ`),M(N,F,H,`T`,`Τ`),M(N,F,H,`X`,`Χ`),M(N,F,H,`¬`,`\\neg`,!0),M(N,F,H,`¬`,`\\lnot`),M(N,F,H,`⊤`,`\\top`),M(N,F,H,`⊥`,`\\bot`),M(N,F,H,`∅`,`\\emptyset`),M(N,I,H,`∅`,`\\varnothing`),M(N,F,z,`α`,`\\alpha`,!0),M(N,F,z,`β`,`\\beta`,!0),M(N,F,z,`γ`,`\\gamma`,!0),M(N,F,z,`δ`,`\\delta`,!0),M(N,F,z,`ϵ`,`\\epsilon`,!0),M(N,F,z,`ζ`,`\\zeta`,!0),M(N,F,z,`η`,`\\eta`,!0),M(N,F,z,`θ`,`\\theta`,!0),M(N,F,z,`ι`,`\\iota`,!0),M(N,F,z,`κ`,`\\kappa`,!0),M(N,F,z,`λ`,`\\lambda`,!0),M(N,F,z,`μ`,`\\mu`,!0),M(N,F,z,`ν`,`\\nu`,!0),M(N,F,z,`ξ`,`\\xi`,!0),M(N,F,z,`ο`,`\\omicron`,!0),M(N,F,z,`π`,`\\pi`,!0),M(N,F,z,`ρ`,`\\rho`,!0),M(N,F,z,`σ`,`\\sigma`,!0),M(N,F,z,`τ`,`\\tau`,!0),M(N,F,z,`υ`,`\\upsilon`,!0),M(N,F,z,`ϕ`,`\\phi`,!0),M(N,F,z,`χ`,`\\chi`,!0),M(N,F,z,`ψ`,`\\psi`,!0),M(N,F,z,`ω`,`\\omega`,!0),M(N,F,z,`ε`,`\\varepsilon`,!0),M(N,F,z,`ϑ`,`\\vartheta`,!0),M(N,F,z,`ϖ`,`\\varpi`,!0),M(N,F,z,`ϱ`,`\\varrho`,!0),M(N,F,z,`ς`,`\\varsigma`,!0),M(N,F,z,`φ`,`\\varphi`,!0),M(N,F,R,`∗`,`*`,!0),M(N,F,R,`+`,`+`),M(N,F,R,`−`,`-`,!0),M(N,F,R,`⋅`,`\\cdot`,!0),M(N,F,R,`∘`,`\\circ`,!0),M(N,F,R,`÷`,`\\div`,!0),M(N,F,R,`±`,`\\pm`,!0),M(N,F,R,`×`,`\\times`,!0),M(N,F,R,`∩`,`\\cap`,!0),M(N,F,R,`∪`,`\\cup`,!0),M(N,F,R,`∖`,`\\setminus`,!0),M(N,F,R,`∧`,`\\land`),M(N,F,R,`∨`,`\\lor`),M(N,F,R,`∧`,`\\wedge`,!0),M(N,F,R,`∨`,`\\vee`,!0),M(N,F,H,`√`,`\\surd`),M(N,F,it,`⟨`,`\\langle`,!0),M(N,F,it,`∣`,`\\lvert`),M(N,F,it,`∥`,`\\lVert`),M(N,F,nt,`?`,`?`),M(N,F,nt,`!`,`!`),M(N,F,nt,`⟩`,`\\rangle`,!0),M(N,F,nt,`∣`,`\\rvert`),M(N,F,nt,`∥`,`\\rVert`),M(N,F,V,`=`,`=`),M(N,F,V,`:`,`:`),M(N,F,V,`≈`,`\\approx`,!0),M(N,F,V,`≅`,`\\cong`,!0),M(N,F,V,`≥`,`\\ge`),M(N,F,V,`≥`,`\\geq`,!0),M(N,F,V,`←`,`\\gets`),M(N,F,V,`>`,`\\gt`,!0),M(N,F,V,`∈`,`\\in`,!0),M(N,F,V,``,`\\@not`),M(N,F,V,`⊂`,`\\subset`,!0),M(N,F,V,`⊃`,`\\supset`,!0),M(N,F,V,`⊆`,`\\subseteq`,!0),M(N,F,V,`⊇`,`\\supseteq`,!0),M(N,I,V,`⊈`,`\\nsubseteq`,!0),M(N,I,V,`⊉`,`\\nsupseteq`,!0),M(N,F,V,`⊨`,`\\models`),M(N,F,V,`←`,`\\leftarrow`,!0),M(N,F,V,`≤`,`\\le`),M(N,F,V,`≤`,`\\leq`,!0),M(N,F,V,`<`,`\\lt`,!0),M(N,F,V,`→`,`\\rightarrow`,!0),M(N,F,V,`→`,`\\to`),M(N,I,V,`≱`,`\\ngeq`,!0),M(N,I,V,`≰`,`\\nleq`,!0),M(N,F,ot,`\xA0`,`\\ `),M(N,F,ot,`\xA0`,`\\space`),M(N,F,ot,`\xA0`,`\\nobreakspace`),M(P,F,ot,`\xA0`,`\\ `),M(P,F,ot,`\xA0`,` `),M(P,F,ot,`\xA0`,`\\space`),M(P,F,ot,`\xA0`,`\\nobreakspace`),M(N,F,ot,``,`\\nobreak`),M(N,F,ot,``,`\\allowbreak`),M(N,F,at,`,`,`,`),M(N,F,at,`;`,`;`),M(N,I,R,`⊼`,`\\barwedge`,!0),M(N,I,R,`⊻`,`\\veebar`,!0),M(N,F,R,`⊙`,`\\odot`,!0),M(N,F,R,`⊕`,`\\oplus`,!0),M(N,F,R,`⊗`,`\\otimes`,!0),M(N,F,H,`∂`,`\\partial`,!0),M(N,F,R,`⊘`,`\\oslash`,!0),M(N,I,R,`⊚`,`\\circledcirc`,!0),M(N,I,R,`⊡`,`\\boxdot`,!0),M(N,F,R,`△`,`\\bigtriangleup`),M(N,F,R,`▽`,`\\bigtriangledown`),M(N,F,R,`†`,`\\dagger`),M(N,F,R,`⋄`,`\\diamond`),M(N,F,R,`⋆`,`\\star`),M(N,F,R,`◃`,`\\triangleleft`),M(N,F,R,`▹`,`\\triangleright`),M(N,F,it,`{`,`\\{`),M(P,F,H,`{`,`\\{`),M(P,F,H,`{`,`\\textbraceleft`),M(N,F,nt,`}`,`\\}`),M(P,F,H,`}`,`\\}`),M(P,F,H,`}`,`\\textbraceright`),M(N,F,it,`{`,`\\lbrace`),M(N,F,nt,`}`,`\\rbrace`),M(N,F,it,`[`,`\\lbrack`,!0),M(P,F,H,`[`,`\\lbrack`,!0),M(N,F,nt,`]`,`\\rbrack`,!0),M(P,F,H,`]`,`\\rbrack`,!0),M(N,F,it,`(`,`\\lparen`,!0),M(N,F,nt,`)`,`\\rparen`,!0),M(P,F,H,`<`,`\\textless`,!0),M(P,F,H,`>`,`\\textgreater`,!0),M(N,F,it,`⌊`,`\\lfloor`,!0),M(N,F,nt,`⌋`,`\\rfloor`,!0),M(N,F,it,`⌈`,`\\lceil`,!0),M(N,F,nt,`⌉`,`\\rceil`,!0),M(N,F,H,`\\`,`\\backslash`),M(N,F,H,`∣`,`|`),M(N,F,H,`∣`,`\\vert`),M(P,F,H,`|`,`\\textbar`,!0),M(N,F,H,`∥`,`\\|`),M(N,F,H,`∥`,`\\Vert`),M(P,F,H,`∥`,`\\textbardbl`),M(P,F,H,`~`,`\\textasciitilde`),M(P,F,H,`\\`,`\\textbackslash`),M(P,F,H,`^`,`\\textasciicircum`),M(N,F,V,`↑`,`\\uparrow`,!0),M(N,F,V,`⇑`,`\\Uparrow`,!0),M(N,F,V,`↓`,`\\downarrow`,!0),M(N,F,V,`⇓`,`\\Downarrow`,!0),M(N,F,V,`↕`,`\\updownarrow`,!0),M(N,F,V,`⇕`,`\\Updownarrow`,!0),M(N,F,B,`∐`,`\\coprod`),M(N,F,B,`⋁`,`\\bigvee`),M(N,F,B,`⋀`,`\\bigwedge`),M(N,F,B,`⨄`,`\\biguplus`),M(N,F,B,`⋂`,`\\bigcap`),M(N,F,B,`⋃`,`\\bigcup`),M(N,F,B,`∫`,`\\int`),M(N,F,B,`∫`,`\\intop`),M(N,F,B,`∬`,`\\iint`),M(N,F,B,`∭`,`\\iiint`),M(N,F,B,`∏`,`\\prod`),M(N,F,B,`∑`,`\\sum`),M(N,F,B,`⨂`,`\\bigotimes`),M(N,F,B,`⨁`,`\\bigoplus`),M(N,F,B,`⨀`,`\\bigodot`),M(N,F,B,`∮`,`\\oint`),M(N,F,B,`∯`,`\\oiint`),M(N,F,B,`∰`,`\\oiiint`),M(N,F,B,`⨆`,`\\bigsqcup`),M(N,F,B,`∫`,`\\smallint`),M(P,F,rt,`…`,`\\textellipsis`),M(N,F,rt,`…`,`\\mathellipsis`),M(P,F,rt,`…`,`\\ldots`,!0),M(N,F,rt,`…`,`\\ldots`,!0),M(N,F,rt,`⋯`,`\\@cdots`,!0),M(N,F,rt,`⋱`,`\\ddots`,!0),M(N,F,H,`⋮`,`\\varvdots`),M(P,F,H,`⋮`,`\\varvdots`),M(N,F,L,`ˊ`,`\\acute`),M(N,F,L,`ˋ`,`\\grave`),M(N,F,L,`¨`,`\\ddot`),M(N,F,L,`~`,`\\tilde`),M(N,F,L,`ˉ`,`\\bar`),M(N,F,L,`˘`,`\\breve`),M(N,F,L,`ˇ`,`\\check`),M(N,F,L,`^`,`\\hat`),M(N,F,L,`⃗`,`\\vec`),M(N,F,L,`˙`,`\\dot`),M(N,F,L,`˚`,`\\mathring`),M(N,F,z,``,`\\@imath`),M(N,F,z,``,`\\@jmath`),M(N,F,H,`ı`,`ı`),M(N,F,H,`ȷ`,`ȷ`),M(P,F,H,`ı`,`\\i`,!0),M(P,F,H,`ȷ`,`\\j`,!0),M(P,F,H,`ß`,`\\ss`,!0),M(P,F,H,`æ`,`\\ae`,!0),M(P,F,H,`œ`,`\\oe`,!0),M(P,F,H,`ø`,`\\o`,!0),M(P,F,H,`Æ`,`\\AE`,!0),M(P,F,H,`Œ`,`\\OE`,!0),M(P,F,H,`Ø`,`\\O`,!0),M(P,F,L,`ˊ`,`\\'`),M(P,F,L,`ˋ`,"\\`"),M(P,F,L,`ˆ`,`\\^`),M(P,F,L,`˜`,`\\~`),M(P,F,L,`ˉ`,`\\=`),M(P,F,L,`˘`,`\\u`),M(P,F,L,`˙`,`\\.`),M(P,F,L,`¸`,`\\c`),M(P,F,L,`˚`,`\\r`),M(P,F,L,`ˇ`,`\\v`),M(P,F,L,`¨`,`\\"`),M(P,F,L,`˝`,`\\H`),M(P,F,L,`◯`,`\\textcircled`);var st={"--":!0,"---":!0,"``":!0,"''":!0};M(P,F,H,`–`,`--`,!0),M(P,F,H,`–`,`\\textendash`),M(P,F,H,`—`,`---`,!0),M(P,F,H,`—`,`\\textemdash`),M(P,F,H,`‘`,"`",!0),M(P,F,H,`‘`,`\\textquoteleft`),M(P,F,H,`’`,`'`,!0),M(P,F,H,`’`,`\\textquoteright`),M(P,F,H,`“`,"``",!0),M(P,F,H,`“`,`\\textquotedblleft`),M(P,F,H,`”`,`''`,!0),M(P,F,H,`”`,`\\textquotedblright`),M(N,F,H,`°`,`\\degree`,!0),M(P,F,H,`°`,`\\degree`),M(P,F,H,`°`,`\\textdegree`,!0),M(N,F,H,`£`,`\\pounds`),M(N,F,H,`£`,`\\mathsterling`,!0),M(P,F,H,`£`,`\\pounds`),M(P,F,H,`£`,`\\textsterling`,!0),M(N,I,H,`✠`,`\\maltese`),M(P,I,H,`✠`,`\\maltese`);for(var ct=`0123456789/@."`,lt=0;lt{var t=e.charCodeAt(0),n=e.charCodeAt(1),r=(t-55296)*1024+(n-56320)+65536;if(119808<=r&&r<120484)return Ft[Math.floor((r-119808)/26)];if(120782<=r&&r<=120831)return It[Math.floor((r-120782)/10)];if(r===120485||r===120486)return Ft[0];if(120486{if(Me(e.classes)!==Me(t.classes)||e.skew!==t.skew||e.maxFontSize!==t.maxFontSize||e.italic!==0&&e.hasClass(`mathnormal`))return!1;if(e.classes.length===1){var n=e.classes[0];if(n===`mbin`||n===`mord`)return!1}for(var r of Object.keys(e.style))if(e.style[r]!==t.style[r])return!1;for(var i of Object.keys(t.style))if(e.style[i]!==t.style[i])return!1;return!0},Wt=e=>{for(var t=0;tt&&(t=a.height),a.depth>n&&(n=a.depth),a.maxFontSize>r&&(r=a.maxFontSize)}e.height=t,e.depth=n,e.maxFontSize=r},G=function(e,t,n,r){var i=new Re(e,t,n,r);return Gt(i),i},Kt=(e,t,n,r)=>new Re(e,t,n,r),qt=function(e,t,n){var r=G([e],[],t);return r.height=Math.max(n||t.fontMetrics().defaultRuleThickness,t.minRuleThickness),r.style.borderBottomWidth=A(r.height),r.maxFontSize=1,r},Jt=function(e,t,n,r){var i=new ze(e,t,n,r);return Gt(i),i},Yt=function(e){var t=new Oe(e);return Gt(t),t},Xt=function(e,t){return e instanceof Oe?G([],[e],t):e},Zt=function(e){if(e.positionType===`individualShift`){for(var t=e.children,n=[t[0]],r=-t[0].shift-t[0].elem.depth,i=r,a=1;a{var n=G([`mspace`],[],t),r=k(e,t);return n.style.marginRight=A(r),n},$t=(e,t,n)=>{var r,i;switch(e){case`amsrm`:r=`AMS`;break;case`textrm`:r=`Main`;break;case`textsf`:r=`SansSerif`;break;case`texttt`:r=`Typewriter`;break;default:r=e}return i=t===`textbf`&&n===`textit`?`BoldItalic`:t===`textbf`?`Bold`:n===`textit`?`Italic`:`Regular`,r+`-`+i},en={mathbf:{variant:`bold`,fontName:`Main-Bold`},mathrm:{variant:`normal`,fontName:`Main-Regular`},textit:{variant:`italic`,fontName:`Main-Italic`},mathit:{variant:`italic`,fontName:`Main-Italic`},mathnormal:{variant:`italic`,fontName:`Math-Italic`},mathsfit:{variant:`sans-serif-italic`,fontName:`SansSerif-Italic`},mathbb:{variant:`double-struck`,fontName:`AMS-Regular`},mathcal:{variant:`script`,fontName:`Caligraphic-Regular`},mathfrak:{variant:`fraktur`,fontName:`Fraktur-Regular`},mathscr:{variant:`script`,fontName:`Script-Regular`},mathsf:{variant:`sans-serif`,fontName:`SansSerif-Regular`},mathtt:{variant:`monospace`,fontName:`Typewriter-Regular`}},tn={vec:[`vec`,.471,.714],oiintSize1:[`oiintSize1`,.957,.499],oiintSize2:[`oiintSize2`,1.472,.659],oiiintSize1:[`oiiintSize1`,1.304,.499],oiiintSize2:[`oiiintSize2`,1.98,.659]},nn=function(e,t){var n=tn[e],r=n[0],i=n[1],a=n[2],o=Kt([`katex-overlay`],[new Ue([new We(r)],{width:A(i),height:A(a),style:`width:`+A(i),viewBox:`0 0 `+1e3*i+` `+1e3*a,preserveAspectRatio:`xMinYMin`})],t);return o.height=a,o.style.height=A(a),o.style.width=A(i),o},q={number:3,unit:`mu`},rn={number:4,unit:`mu`},an={number:5,unit:`mu`},on={mord:{mop:q,mbin:rn,mrel:an,minner:q},mop:{mord:q,mop:q,mrel:an,minner:q},mbin:{mord:rn,mop:rn,mopen:rn,minner:rn},mrel:{mord:an,mop:an,mopen:an,minner:an},mopen:{},mclose:{mop:q,mbin:rn,mrel:an,minner:q},mpunct:{mord:q,mop:q,mrel:an,mopen:q,mclose:q,mpunct:q,minner:q},minner:{mord:q,mop:q,mbin:rn,mrel:an,mopen:q,mpunct:q,minner:q}},sn={mord:{mop:q},mop:{mord:q,mop:q},mbin:{},mrel:{},mopen:{},mclose:{mop:q},mpunct:{},minner:{mop:q}},cn={},ln={},un={};function J(e){for(var t=e.type,n=e.names,r=e.htmlBuilder,i=e.mathmlBuilder,a=0;a{var n=t.classes[0],r=e.classes[0];n===`mbin`&&hn.has(r)?t.classes[0]=`mord`:r===`mbin`&&mn.has(n)&&(e.classes[0]=`mord`)},{node:u},d,f),yn(i,(e,t)=>{var n=Sn(t),r=Sn(e),i=n&&r?e.hasClass(`mtight`)?sn[n]?.[r]:on[n]?.[r]:null;if(i)return Qt(i,c)},{node:u},d,f),i},yn=function(e,t,n,r,i){r&&e.push(r);for(var a=0;an=>{e.splice(t+1,0,n),a++})(a)}r&&e.pop()},bn=function(e){return e instanceof Oe||e instanceof ze||e instanceof Re&&e.hasClass(`enclosing`)?e:null},xn=function(e,t){var n=bn(e);if(n){var r=n.children;if(r.length){if(t===`right`)return xn(r[r.length-1],`right`);if(t===`left`)return xn(r[0],`left`)}}return e},Sn=function(e,t){return e?(t&&(e=xn(e,t)),_n[e.classes[0]]||null):null},Cn=function(e,t){var n=[`nulldelimiter`].concat(e.baseSizingClasses());return G(t.concat(n))},Y=function(e,t,n){if(!e)return G();if(ln[e.type]){var r=ln[e.type](e,t);if(n&&t.size!==n.size){r=G(t.sizingClasses(n),[r],t);var i=t.sizeMultiplier/n.sizeMultiplier;r.height*=i,r.depth*=i}return r}throw new s(`Got group of unknown type: '`+e.type+`'`)};function wn(e,t){var n=G([`katex-base`],e,t),r=G([`katex-strut`]);return r.style.height=A(n.height+n.depth),n.depth&&(r.style.verticalAlign=A(-n.depth)),n.children.unshift(r),n}function Tn(e,t){var n=null;e.length===1&&e[0].type===`tag`&&(n=e[0].tag,e=e[0].body);var r=vn(e,t,`root`),i;r.length===2&&r[1].hasClass(`katex-tag`)&&(i=r.pop());for(var a=[],o=[],s=0;s0&&(a.push(wn(o,t)),o=[]),a.push(r[s]));o.length>0&&a.push(wn(o,t));var l;n?(l=wn(vn(n,t,!0),t),l.classes=[`katex-tag`],a.push(l)):i&&a.push(i);var u=G([`katex-html`],a);if(u.setAttribute(`aria-hidden`,`true`),l){var d=l.children[0];d.style.height=A(u.height+u.depth),u.depth&&(d.style.verticalAlign=A(-u.depth))}return u}function En(e){return new Oe(e)}var X=class{constructor(e,t,n){this.type=void 0,this.attributes=void 0,this.children=void 0,this.classes=void 0,this.type=e,this.attributes={},this.children=t||[],this.classes=n||[]}setAttribute(e,t){this.attributes[e]=t}getAttribute(e){return this.attributes[e]}toNode(){var e=document.createElementNS(`http://www.w3.org/1998/Math/MathML`,this.type);for(var t of Object.entries(this.attributes)){var n=t[0],r=t[1];e.setAttribute(n,r)}this.classes.length>0&&(e.className=Me(this.classes));for(var i=0;i0&&(e+=` class ="`+f(Me(this.classes))+`"`),e+=`>`;for(var i=0;i`,e}toText(){return this.children.map(e=>e.toText()).join(``)}},Dn=class{constructor(e){this.text=void 0,this.text=e}toNode(){return document.createTextNode(this.text)}toMarkup(){return f(this.toText())}toText(){return this.text}},On=class{constructor(e){this.width=void 0,this.character=void 0,this.width=e,this.character=e>=.05555&&e<=.05556?` `:e>=.1666&&e<=.1667?` `:e>=.2222&&e<=.2223?` `:e>=.2777&&e<=.2778?`  `:e>=-.05556&&e<=-.05555?` ⁣`:e>=-.1667&&e<=-.1666?` ⁣`:e>=-.2223&&e<=-.2222?` ⁣`:e>=-.2778&&e<=-.2777?` ⁣`:null}toNode(){if(this.character)return document.createTextNode(this.character);var e=document.createElementNS(`http://www.w3.org/1998/Math/MathML`,`mspace`);return e.setAttribute(`width`,A(this.width)),e}toMarkup(){return this.character?``+this.character+``:``}toText(){return this.character?this.character:` `}},kn=new Set([`\\imath`,`\\jmath`]),An=new Set([`mrow`,`mtable`]),jn=function(e,t,n){var r,i;return j[t][e]&&j[t][e].replace&&e.charCodeAt(0)!==55349&&!(Object.prototype.hasOwnProperty.call(st,e)&&((n==null||(r=n.fontFamily)==null?void 0:r.slice(4,6))===`tt`||(n==null||(i=n.font)==null?void 0:i.slice(4,6))===`tt`))&&(e=j[t][e].replace),new Dn(e)},Mn=function(e){return e.length===1?e[0]:new X(`mrow`,e)},Nn={mathit:`italic`,boldsymbol:e=>e.type===`textord`?`bold`:`bold-italic`,mathbf:`bold`,mathbb:`double-struck`,mathsfit:`sans-serif-italic`,mathfrak:`fraktur`,mathscr:`script`,mathcal:`script`,mathsf:`sans-serif`,mathtt:`monospace`},Pn=(e,t)=>{if(e.mode===`text`){if(t.fontFamily===`texttt`)return`monospace`;if(t.fontFamily===`textsf`)return t.fontShape===`textit`&&t.fontWeight===`textbf`?`sans-serif-bold-italic`:t.fontShape===`textit`?`sans-serif-italic`:t.fontWeight===`textbf`?`bold-sans-serif`:`sans-serif`;if(t.fontShape===`textit`&&t.fontWeight===`textbf`)return`bold-italic`;if(t.fontShape===`textit`)return`italic`;if(t.fontWeight===`textbf`)return`bold`}var n=t.font;if(!n||n===`mathnormal`)return null;var r=e.mode,i=Nn[n];if(i)return typeof i==`function`?i(e):i;var a=e.text;if(kn.has(a))return null;if(j[r][a]){var o=j[r][a].replace;o&&(a=o)}var s=en[n].fontName;return $e(a,s,r)?en[n].variant:null};function Fn(e){if(!e)return!1;if(e.type===`mi`&&e.children.length===1){var t=e.children[0];return t instanceof Dn&&t.text===`.`}if(e.type===`mo`&&e.children.length===1&&e.getAttribute(`separator`)===`true`&&e.getAttribute(`lspace`)===`0em`&&e.getAttribute(`rspace`)===`0em`){var n=e.children[0];return n instanceof Dn&&n.text===`,`}return!1}var In=function(e,t,n){if(e.length===1){var r=Z(e[0],t);return n&&r instanceof X&&r.type===`mo`&&(r.setAttribute(`lspace`,`0em`),r.setAttribute(`rspace`,`0em`)),[r]}for(var i=[],a,o=0;o=1&&(a.type===`mn`||Fn(a))){var c=s.children[0];c instanceof X&&c.type===`mn`&&(c.children=[...a.children,...c.children],i.pop())}else if(a.type===`mi`&&a.children.length===1){var l=a.children[0];if(l instanceof Dn&&l.text===`̸`&&(s.type===`mo`||s.type===`mi`||s.type===`mn`)){var u=s.children[0];u instanceof Dn&&u.text.length>0&&(u.text=u.text.slice(0,1)+`̸`+u.text.slice(1),i.pop())}}}i.push(s),a=s}return i},Ln=function(e,t,n){return Mn(In(e,t,n))},Z=function(e,t){if(!e)return new X(`mrow`);if(un[e.type])return un[e.type](e,t);throw new s(`Got group of unknown type: '`+e.type+`'`)};function Rn(e,t,n,r,i){var a=In(e,n),o=a.length===1&&a[0]instanceof X&&An.has(a[0].type)?a[0]:new X(`mrow`,a),s=new X(`annotation`,[new Dn(t)]);s.setAttribute(`encoding`,`application/x-tex`);var c=new X(`math`,[new X(`semantics`,[o,s])]);return c.setAttribute(`xmlns`,`http://www.w3.org/1998/Math/MathML`),r&&c.setAttribute(`display`,`block`),G([i?`katex`:`katex-mathml`],[c])}var zn=[[1,1,1],[2,1,1],[3,1,1],[4,2,1],[5,2,1],[6,3,1],[7,4,2],[8,6,3],[9,7,6],[10,8,7],[11,10,9]],Bn=[.5,.6,.7,.8,.9,1,1.2,1.44,1.728,2.074,2.488],Vn=function(e,t){return t.size<2?e:zn[e-1][t.size-1]},Hn=class e{constructor(t){this.style=void 0,this.color=void 0,this.size=void 0,this.textSize=void 0,this.phantom=void 0,this.font=void 0,this.fontFamily=void 0,this.fontWeight=void 0,this.fontShape=void 0,this.sizeMultiplier=void 0,this.maxSize=void 0,this.minRuleThickness=void 0,this._fontMetrics=void 0,this.style=t.style,this.color=t.color,this.size=t.size||e.BASESIZE,this.textSize=t.textSize||this.size,this.phantom=!!t.phantom,this.font=t.font||``,this.fontFamily=t.fontFamily||``,this.fontWeight=t.fontWeight||``,this.fontShape=t.fontShape||``,this.sizeMultiplier=Bn[this.size-1],this.maxSize=t.maxSize,this.minRuleThickness=t.minRuleThickness,this._fontMetrics=void 0}extend(t){var n={style:this.style,size:this.size,textSize:this.textSize,color:this.color,phantom:this.phantom,font:this.font,fontFamily:this.fontFamily,fontWeight:this.fontWeight,fontShape:this.fontShape,maxSize:this.maxSize,minRuleThickness:this.minRuleThickness};return Object.assign(n,t),new e(n)}havingStyle(e){return this.style===e?this:this.extend({style:e,size:Vn(this.textSize,e)})}havingCrampedStyle(){return this.havingStyle(this.style.cramp())}havingSize(e){return this.size===e&&this.textSize===e?this:this.extend({style:this.style.text(),size:e,textSize:e,sizeMultiplier:Bn[e-1]})}havingBaseStyle(t){t||=this.style.text();var n=Vn(e.BASESIZE,t);return this.size===n&&this.textSize===e.BASESIZE&&this.style===t?this:this.extend({style:t,size:n})}havingBaseSizing(){var e;switch(this.style.id){case 4:case 5:e=3;break;case 6:case 7:e=1;break;default:e=6}return this.extend({style:this.style.text(),size:e})}withColor(e){return this.extend({color:e})}withPhantom(){return this.extend({phantom:!0})}withFont(e){return this.extend({font:e})}withTextFontFamily(e){return this.extend({fontFamily:e,font:``})}withTextFontWeight(e){return this.extend({fontWeight:e,font:``})}withTextFontShape(e){return this.extend({fontShape:e,font:``})}sizingClasses(e){return e.size===this.size?[]:[`katex-sizing`,`reset-size`+e.size,`size`+this.size]}baseSizingClasses(){return this.size===e.BASESIZE?[]:[`katex-sizing`,`reset-size`+this.size,`size`+e.BASESIZE]}fontMetrics(){return this._fontMetrics||=tt(this.size),this._fontMetrics}getColor(){return this.phantom?`transparent`:this.color}};Hn.BASESIZE=6;var Un=function(e){return new Hn({style:e.displayMode?D.DISPLAY:D.TEXT,maxSize:e.maxSize,minRuleThickness:e.minRuleThickness})},Wn=function(e,t){if(t.displayMode){var n=[`katex-display`];t.leqno&&n.push(`leqno`),t.fleqn&&n.push(`fleqn`),e=G(n,[e])}return e},Gn=function(e,t,n){var r=Un(n),i;return n.output===`mathml`?Rn(e,t,r,n.displayMode,!0):(i=n.output===`html`?G([`katex`],[Tn(e,r)]):G([`katex`],[Rn(e,t,r,n.displayMode,!1),Tn(e,r)]),Wn(i,n))},Kn=function(e,t,n){return Wn(G([`katex`],[Tn(e,Un(n))]),n)},qn={widehat:`^`,widecheck:`ˇ`,widetilde:`~`,utilde:`~`,overleftarrow:`←`,underleftarrow:`←`,xleftarrow:`←`,overrightarrow:`→`,underrightarrow:`→`,xrightarrow:`→`,underbrace:`⏟`,overbrace:`⏞`,underbracket:`⎵`,overbracket:`⎴`,overgroup:`⏠`,undergroup:`⏡`,overleftrightarrow:`↔`,underleftrightarrow:`↔`,xleftrightarrow:`↔`,Overrightarrow:`⇒`,xRightarrow:`⇒`,overleftharpoon:`↼`,xleftharpoonup:`↼`,overrightharpoon:`⇀`,xrightharpoonup:`⇀`,xLeftarrow:`⇐`,xLeftrightarrow:`⇔`,xhookleftarrow:`↩`,xhookrightarrow:`↪`,xmapsto:`↦`,xrightharpoondown:`⇁`,xleftharpoondown:`↽`,xrightleftharpoons:`⇌`,xleftrightharpoons:`⇋`,xtwoheadleftarrow:`↞`,xtwoheadrightarrow:`↠`,xlongequal:`=`,xtofrom:`⇄`,xrightleftarrows:`⇄`,xrightequilibrium:`⇌`,xleftequilibrium:`⇋`,"\\cdrightarrow":`→`,"\\cdleftarrow":`←`,"\\cdlongequal":`=`},Jn=function(e){var t=new X(`mo`,[new Dn(qn[e.replace(/^\\/,``)])]);return t.setAttribute(`stretchy`,`true`),t},Yn={overrightarrow:[[`rightarrow`],.888,522,`xMaxYMin`],overleftarrow:[[`leftarrow`],.888,522,`xMinYMin`],underrightarrow:[[`rightarrow`],.888,522,`xMaxYMin`],underleftarrow:[[`leftarrow`],.888,522,`xMinYMin`],xrightarrow:[[`rightarrow`],1.469,522,`xMaxYMin`],"\\cdrightarrow":[[`rightarrow`],3,522,`xMaxYMin`],xleftarrow:[[`leftarrow`],1.469,522,`xMinYMin`],"\\cdleftarrow":[[`leftarrow`],3,522,`xMinYMin`],Overrightarrow:[[`doublerightarrow`],.888,560,`xMaxYMin`],xRightarrow:[[`doublerightarrow`],1.526,560,`xMaxYMin`],xLeftarrow:[[`doubleleftarrow`],1.526,560,`xMinYMin`],overleftharpoon:[[`leftharpoon`],.888,522,`xMinYMin`],xleftharpoonup:[[`leftharpoon`],.888,522,`xMinYMin`],xleftharpoondown:[[`leftharpoondown`],.888,522,`xMinYMin`],overrightharpoon:[[`rightharpoon`],.888,522,`xMaxYMin`],xrightharpoonup:[[`rightharpoon`],.888,522,`xMaxYMin`],xrightharpoondown:[[`rightharpoondown`],.888,522,`xMaxYMin`],xlongequal:[[`longequal`],.888,334,`xMinYMin`],"\\cdlongequal":[[`longequal`],3,334,`xMinYMin`],xtwoheadleftarrow:[[`twoheadleftarrow`],.888,334,`xMinYMin`],xtwoheadrightarrow:[[`twoheadrightarrow`],.888,334,`xMaxYMin`],overleftrightarrow:[[`leftarrow`,`rightarrow`],.888,522],overbrace:[[`leftbrace`,`midbrace`,`rightbrace`],1.6,548],underbrace:[[`leftbraceunder`,`midbraceunder`,`rightbraceunder`],1.6,548],underleftrightarrow:[[`leftarrow`,`rightarrow`],.888,522],xleftrightarrow:[[`leftarrow`,`rightarrow`],1.75,522],xLeftrightarrow:[[`doubleleftarrow`,`doublerightarrow`],1.75,560],xrightleftharpoons:[[`leftharpoondownplus`,`rightharpoonplus`],1.75,716],xleftrightharpoons:[[`leftharpoonplus`,`rightharpoondownplus`],1.75,716],xhookleftarrow:[[`leftarrow`,`righthook`],1.08,522],xhookrightarrow:[[`lefthook`,`rightarrow`],1.08,522],overlinesegment:[[`leftlinesegment`,`rightlinesegment`],.888,522],underlinesegment:[[`leftlinesegment`,`rightlinesegment`],.888,522],overbracket:[[`leftbracketover`,`rightbracketover`],1.6,440],underbracket:[[`leftbracketunder`,`rightbracketunder`],1.6,410],overgroup:[[`leftgroup`,`rightgroup`],.888,342],undergroup:[[`leftgroupunder`,`rightgroupunder`],.888,342],xmapsto:[[`leftmapsto`,`rightarrow`],1.5,522],xtofrom:[[`leftToFrom`,`rightToFrom`],1.75,528],xrightleftarrows:[[`baraboveleftarrow`,`rightarrowabovebar`],1.75,901],xrightequilibrium:[[`baraboveshortleftharpoon`,`rightharpoonaboveshortbar`],1.75,716],xleftequilibrium:[[`shortbaraboveleftharpoon`,`shortrightharpoonabovebar`],1.75,716]},Xn=new Set([`widehat`,`widecheck`,`widetilde`,`utilde`]),Zn=function(e,t){function n(){var n=4e5,r=e.label.slice(1);if(Xn.has(r)&&`base`in e){var i=e.base.type===`ordgroup`?e.base.body.length:1,a,o,s;if(i>5)r===`widehat`||r===`widecheck`?(a=420,n=2364,s=.42,o=r+`4`):(a=312,n=2340,s=.34,o=`tilde4`);else{var c=[1,1,2,2,3,3][i];r===`widehat`||r===`widecheck`?(n=[0,1062,2364,2364,2364][c],a=[0,239,300,360,420][c],s=[0,.24,.3,.3,.36,.42][c],o=r+c):(n=[0,600,1033,2339,2340][c],a=[0,260,286,306,312][c],s=[0,.26,.286,.3,.306,.34][c],o=`tilde`+c)}return{span:Kt([],[new Ue([new We(o)],{width:`100%`,height:A(s),viewBox:`0 0 `+n+` `+a,preserveAspectRatio:`none`})],t),minWidth:0,height:s}}var l=[],u=Yn[r];if(!u)throw Error(`No SVG data for "`+r+`".`);var d=u[0],f=u[1],p=u[2],m=p/1e3,h=d.length,g,_;if(h===1){if(u.length!==4)throw Error(`Expected 4-tuple for single-path SVG data "`+r+`".`);g=[`hide-tail`],_=[u[3]]}else if(h===2)g=[`halfarrow-left`,`halfarrow-right`],_=[`xMinYMin`,`xMaxYMin`];else if(h===3)g=[`brace-left`,`brace-center`,`brace-right`],_=[`xMinYMin`,`xMidYMin`,`xMaxYMin`];else throw Error(`Correct katexImagesData or update code here to support + `+h+` children.`);for(var v=0;v0&&(i.style.minWidth=A(a)),i},Qn=function(e,t,n,r,i){var a,o=e.height+e.depth+n+r;if(/fbox|color|angl/.test(t)){if(a=G([`katex-stretchy`,t],[],i),t===`fbox`){var s=i.color&&i.getColor();s&&(a.style.borderColor=s)}}else{var c=[];/^[bx]cancel$/.test(t)&&c.push(new Ge({x1:`0`,y1:`0`,x2:`100%`,y2:`100%`,"stroke-width":`0.046em`})),/^x?cancel$/.test(t)&&c.push(new Ge({x1:`0`,y1:`100%`,x2:`100%`,y2:`0`,"stroke-width":`0.046em`})),a=Kt([],[new Ue(c,{width:`100%`,height:A(o)})],i)}return a.height=o,a.style.height=A(o),a},$n=[`bin`,`close`,`inner`,`open`,`punct`,`rel`],er=[`accent-token`,`mathord`,`op-token`,`spacing`,`textord`],tr=new Set($n),nr=new Set(er);function rr(e){return tr.has(e)}function Q(e,t){if(!e||e.type!==t)throw Error(`Expected node of type `+t+`, but got `+(e?`node of type `+e.type:String(e)));return e}function ir(e){var t=ar(e);if(!t)throw Error(`Expected node of symbol group type, but got `+(e?`node of type `+e.type:String(e)));return t}function ar(e){return e.type===`atom`||nr.has(e.type)?e:null}function or(e,t,n){var r=``;for(var i of e.body)if(i.type===`textord`)r+=i.text;else if(n&&i.type===`spacing`&&i.text===` `)r+=` `;else throw new s(t,e);return r}var sr=e=>{if(e instanceof He)return e;if(Je(e)&&e.children.length===1)return sr(e.children[0])},cr=(e,t)=>{var n,r,i;e&&e.type===`supsub`?(r=Q(e.base,`accent`),n=r.base,e.base=n,i=qe(Y(e,t)),e.base=r):(r=Q(e,`accent`),n=r.base);var a=Y(n,t.havingCrampedStyle()),o=r.isShifty&&h(n),s=0;o&&(s=sr(a)?.skew??0);var c=r.label===`\\c`,l=c?a.height+a.depth:Math.min(a.height,t.fontMetrics().xHeight),u;if(r.isStretchy)u=Zn(r,t),u=K({positionType:`firstBaseline`,children:[{type:`elem`,elem:a},{type:`elem`,elem:u,wrapperClasses:[`svg-align`],wrapperStyle:s>0?{width:`calc(100% - `+A(2*s)+`)`,marginLeft:A(2*s)}:void 0}]});else{var d,f;r.label===`\\vec`?(d=nn(`vec`,t),f=tn.vec[1]):(d=Ht({type:`textord`,mode:r.mode,text:r.label},t),d=Ke(d),d.italic=0,f=d.width,c&&(l+=d.depth)),u=G([`accent-body`],[d]);var p=r.label===`\\textcircled`;p&&(u.classes.push(`accent-full`),l=a.height);var m=s;p||(m-=f/2),u.style.left=A(m),r.label===`\\textcircled`&&(u.style.top=`.2em`),u=K({positionType:`firstBaseline`,children:[{type:`elem`,elem:a},{type:`kern`,size:-l},{type:`elem`,elem:u}]})}var g=G([`mord`,`katex-accent`],[u],t);return i?(i.children[0]=g,i.height=Math.max(g.height,i.height),i.classes[0]=`mord`,i):g},lr=(e,t)=>{var n=e.isStretchy?Jn(e.label):new X(`mo`,[jn(e.label,e.mode)]),r=new X(`mover`,[Z(e.base,t),n]);return r.setAttribute(`accent`,`true`),r},ur=new RegExp([`\\acute`,`\\grave`,`\\ddot`,`\\tilde`,`\\bar`,`\\breve`,`\\check`,`\\hat`,`\\vec`,`\\dot`,`\\mathring`].map(e=>`\\`+e).join(`|`));J({type:`accent`,names:[`\\acute`,`\\grave`,`\\ddot`,`\\tilde`,`\\bar`,`\\breve`,`\\check`,`\\hat`,`\\vec`,`\\dot`,`\\mathring`,`\\widecheck`,`\\widehat`,`\\widetilde`,`\\overrightarrow`,`\\overleftarrow`,`\\Overrightarrow`,`\\overleftrightarrow`,`\\overgroup`,`\\overlinesegment`,`\\overleftharpoon`,`\\overrightharpoon`],numArgs:1,handler:(e,t)=>{var n=fn(t[0]),r=!ur.test(e.funcName),i=!r||e.funcName===`\\widehat`||e.funcName===`\\widetilde`||e.funcName===`\\widecheck`;return{type:`accent`,mode:e.parser.mode,label:e.funcName,isStretchy:r,isShifty:i,base:n}},htmlBuilder:cr,mathmlBuilder:lr}),J({type:`accent`,names:[`\\'`,"\\`",`\\^`,`\\~`,`\\=`,`\\u`,`\\.`,`\\"`,`\\c`,`\\r`,`\\H`,`\\v`,`\\textcircled`],numArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:[`primitive`],handler:(e,t)=>{var n=t[0],r=e.parser.mode;return r===`math`&&(e.parser.settings.reportNonstrict(`mathVsTextAccents`,`LaTeX's accent `+e.funcName+` works only in text mode`),r=`text`),{type:`accent`,mode:r,label:e.funcName,isStretchy:!1,isShifty:!0,base:n}}}),J({type:`accentUnder`,names:[`\\underleftarrow`,`\\underrightarrow`,`\\underleftrightarrow`,`\\undergroup`,`\\underlinesegment`,`\\utilde`],numArgs:1,handler:(e,t)=>{var n=e.parser,r=e.funcName,i=t[0];return{type:`accentUnder`,mode:n.mode,label:r,base:i}},htmlBuilder:(e,t)=>{var n=Y(e.base,t),r=Zn(e,t),i=e.label===`\\utilde`?.12:0;return G([`mord`,`accentunder`],[K({positionType:`top`,positionData:n.height,children:[{type:`elem`,elem:r,wrapperClasses:[`svg-align`]},{type:`kern`,size:i},{type:`elem`,elem:n}]})],t)},mathmlBuilder:(e,t)=>{var n=Jn(e.label),r=new X(`munder`,[Z(e.base,t),n]);return r.setAttribute(`accentunder`,`true`),r}});var dr=e=>{var t=new X(`mpadded`,e?[e]:[]);return t.setAttribute(`width`,`+0.6em`),t.setAttribute(`lspace`,`0.3em`),t};J({type:`xArrow`,names:[`\\xleftarrow`,`\\xrightarrow`,`\\xLeftarrow`,`\\xRightarrow`,`\\xleftrightarrow`,`\\xLeftrightarrow`,`\\xhookleftarrow`,`\\xhookrightarrow`,`\\xmapsto`,`\\xrightharpoondown`,`\\xrightharpoonup`,`\\xleftharpoondown`,`\\xleftharpoonup`,`\\xrightleftharpoons`,`\\xleftrightharpoons`,`\\xlongequal`,`\\xtwoheadrightarrow`,`\\xtwoheadleftarrow`,`\\xtofrom`,`\\xrightleftarrows`,`\\xrightequilibrium`,`\\xleftequilibrium`,`\\\\cdrightarrow`,`\\\\cdleftarrow`,`\\\\cdlongequal`],numArgs:1,numOptionalArgs:1,handler(e,t,n){var r=e.parser,i=e.funcName;return{type:`xArrow`,mode:r.mode,label:i,body:t[0],below:n[0]}},htmlBuilder(e,t){var n=t.style,r=t.havingStyle(n.sup()),i=Xt(Y(e.body,r,t),t),a=e.label.slice(0,2)===`\\x`?`x`:`cd`;i.classes.push(a+`-arrow-pad`);var o;e.below&&(r=t.havingStyle(n.sub()),o=Xt(Y(e.below,r,t),t),o.classes.push(a+`-arrow-pad`));var s=Zn(e,t),c=-t.fontMetrics().axisHeight+.5*s.height,l=-t.fontMetrics().axisHeight-.5*s.height-.111;(i.depth>.25||e.label===`\\xleftequilibrium`)&&(l-=i.depth);var u;if(o){var d=-t.fontMetrics().axisHeight+o.height+.5*s.height+.111;u=K({positionType:`individualShift`,children:[{type:`elem`,elem:i,shift:l},{type:`elem`,elem:s,shift:c,wrapperClasses:[`svg-align`]},{type:`elem`,elem:o,shift:d}]})}else u=K({positionType:`individualShift`,children:[{type:`elem`,elem:i,shift:l},{type:`elem`,elem:s,shift:c,wrapperClasses:[`svg-align`]}]});return G([`mrel`,`x-arrow`],[u],t)},mathmlBuilder(e,t){var n=Jn(e.label);n.setAttribute(`minsize`,e.label.charAt(0)===`x`?`1.75em`:`3.0em`);var r;if(e.body){var i=dr(Z(e.body,t));r=e.below?new X(`munderover`,[n,dr(Z(e.below,t)),i]):new X(`mover`,[n,i])}else e.below?r=new X(`munder`,[n,dr(Z(e.below,t))]):(r=dr(),r=new X(`mover`,[n,r]));return r}});function fr(e,t){var n=vn(e.body,t,!0);return G([e.mclass],n,t)}function pr(e,t){var n,r=In(e.body,t);return e.mclass===`minner`?n=new X(`mpadded`,r):e.mclass===`mord`?e.isCharacterBox?(n=r[0],n.type=`mi`):n=new X(`mi`,r):(e.isCharacterBox?(n=r[0],n.type=`mo`):n=new X(`mo`,r),e.mclass===`mbin`?(n.attributes.lspace=`0.22em`,n.attributes.rspace=`0.22em`):e.mclass===`mpunct`?(n.attributes.lspace=`0em`,n.attributes.rspace=`0.17em`):(e.mclass===`mopen`||e.mclass===`mclose`)&&(n.attributes.lspace=`0em`,n.attributes.rspace=`0em`)),n}J({type:`mclass`,names:[`\\mathord`,`\\mathbin`,`\\mathrel`,`\\mathopen`,`\\mathclose`,`\\mathpunct`,`\\mathinner`],numArgs:1,primitive:!0,handler(e,t){var n=e.parser,r=e.funcName,i=t[0];return{type:`mclass`,mode:n.mode,mclass:`m`+r.slice(5),body:pn(i),isCharacterBox:h(i)}},htmlBuilder:fr,mathmlBuilder:pr});var mr=e=>{var t=e.type===`ordgroup`&&e.body.length?e.body[0]:e;return t.type===`atom`&&(t.family===`bin`||t.family===`rel`)?`m`+t.family:`mord`};J({type:`mclass`,names:[`\\@binrel`],numArgs:2,handler(e,t){return{type:`mclass`,mode:e.parser.mode,mclass:mr(t[0]),body:pn(t[1]),isCharacterBox:h(t[1])}}}),J({type:`mclass`,names:[`\\stackrel`,`\\overset`,`\\underset`],numArgs:2,handler(e,t){var n=e.parser,r=e.funcName,i=t[1],a=t[0],o=r===`\\stackrel`?`mrel`:mr(i),s={type:`op`,mode:i.mode,limits:!0,alwaysHandleSupSub:!0,parentIsSupSub:!1,symbol:!1,suppressBaseShift:r!==`\\stackrel`,body:pn(i)},c=r===`\\underset`?{type:`supsub`,mode:a.mode,base:s,sub:a}:{type:`supsub`,mode:a.mode,base:s,sup:a};return{type:`mclass`,mode:n.mode,mclass:o,body:[c],isCharacterBox:h(c)}}}),J({type:`pmb`,names:[`\\pmb`],numArgs:1,allowedInText:!0,handler(e,t){return{type:`pmb`,mode:e.parser.mode,mclass:mr(t[0]),body:pn(t[0])}},htmlBuilder(e,t){var n=vn(e.body,t,!0),r=G([e.mclass],n,t);return r.style.textShadow=`0.02em 0.01em 0.04px`,r},mathmlBuilder(e,t){var n=new X(`mstyle`,In(e.body,t));return n.setAttribute(`style`,`text-shadow: 0.02em 0.01em 0.04px`),n}});var hr={">":`\\\\cdrightarrow`,"<":`\\\\cdleftarrow`,"=":`\\\\cdlongequal`,A:`\\uparrow`,V:`\\downarrow`,"|":`\\Vert`,".":`no arrow`},gr=()=>({type:`styling`,body:[],mode:`math`,style:`display`,resetFont:!0}),_r=e=>e.type===`textord`&&e.text===`@`,vr=(e,t)=>(e.type===`mathord`||e.type===`atom`)&&e.text===t;function yr(e,t,n){var r=hr[e];switch(r){case`\\\\cdrightarrow`:case`\\\\cdleftarrow`:return n.callFunction(r,[t[0]],[t[1]]);case`\\uparrow`:case`\\downarrow`:var i=n.callFunction(`\\\\cdleft`,[t[0]],[]),a={type:`atom`,text:r,mode:`math`,family:`rel`},o={type:`ordgroup`,mode:`math`,body:[i,n.callFunction(`\\Big`,[a],[]),n.callFunction(`\\\\cdright`,[t[1]],[])]};return n.callFunction(`\\\\cdparent`,[o],[]);case`\\\\cdlongequal`:return n.callFunction(`\\\\cdlongequal`,[],[]);case`\\Vert`:return n.callFunction(`\\Big`,[{type:`textord`,text:`\\Vert`,mode:`math`}],[]);default:return{type:`textord`,text:` `,mode:`math`}}}function br(e){var t=[];for(e.gullet.beginGroup(),e.gullet.macros.set(`\\cr`,`\\\\\\relax`),e.gullet.beginGroup();;){t.push(e.parseExpression(!1,`\\\\`)),e.gullet.endGroup(),e.gullet.beginGroup();var n=e.fetch().text;if(n===`&`||n===`\\\\`)e.consume();else if(n===`\\end`){t[t.length-1].length===0&&t.pop();break}else throw new s(`Expected \\\\ or \\cr or \\end`,e.nextToken)}for(var r=[],i=[r],a=0;aAV`.includes(u))for(var f=0;f<2;f++){for(var p=!0,m=l+1;mAV=|." after @`,o[l])}var h={type:`styling`,body:[yr(u,d,e)],mode:`math`,style:`display`,resetFont:!0};r.push(h),c=gr()}a%2==0?r.push(c):r.shift(),r=[],i.push(r)}return e.gullet.endGroup(),e.gullet.endGroup(),{type:`array`,mode:`math`,body:i,arraystretch:1,addJot:!0,rowGaps:[null],cols:Array(i[0].length).fill({type:`align`,align:`c`,pregap:.25,postgap:.25}),colSeparationType:`CD`,hLinesBeforeRow:Array(i.length+1).fill([])}}J({type:`cdlabel`,names:[`\\\\cdleft`,`\\\\cdright`],numArgs:1,handler(e,t){var n=e.parser,r=e.funcName;return{type:`cdlabel`,mode:n.mode,side:r.slice(4),label:t[0]}},htmlBuilder(e,t){var n=t.havingStyle(t.style.sup()),r=Xt(Y(e.label,n,t),t);return r.classes.push(`cd-label-`+e.side),r.style.bottom=A(.8-r.depth),r.height=0,r.depth=0,r},mathmlBuilder(e,t){var n=new X(`mrow`,[Z(e.label,t)]);return n=new X(`mpadded`,[n]),n.setAttribute(`width`,`0`),e.side===`left`&&n.setAttribute(`lspace`,`-1width`),n.setAttribute(`voffset`,`0.7em`),n=new X(`mstyle`,[n]),n.setAttribute(`displaystyle`,`false`),n.setAttribute(`scriptlevel`,`1`),n}}),J({type:`cdlabelparent`,names:[`\\\\cdparent`],numArgs:1,handler(e,t){return{type:`cdlabelparent`,mode:e.parser.mode,fragment:t[0]}},htmlBuilder(e,t){var n=Xt(Y(e.fragment,t),t);return n.classes.push(`cd-vert-arrow`),n},mathmlBuilder(e,t){return new X(`mrow`,[Z(e.fragment,t)])}}),J({type:`textord`,names:[`\\@char`],numArgs:1,allowedInText:!0,handler(e,t){var n=e.parser,r=or(Q(t[0],`ordgroup`),`\\@char has non-numeric argument`),i=parseInt(r),a;if(isNaN(i))throw new s(`\\@char has non-numeric argument `+r);if(i<0||i>=1114111)throw new s(`\\@char with invalid code point `+r);return i<=65535?a=String.fromCharCode(i):(i-=65536,a=String.fromCharCode((i>>10)+55296,(i&1023)+56320)),{type:`textord`,mode:n.mode,text:a}}}),J({type:`color`,names:[`\\textcolor`],numArgs:2,allowedInText:!0,argTypes:[`color`,`original`],handler(e,t){var n=e.parser,r=Q(t[0],`color-token`).color,i=t[1];return{type:`color`,mode:n.mode,color:r,body:pn(i)}},htmlBuilder:(e,t)=>Yt(vn(e.body,t.withColor(e.color),!1)),mathmlBuilder:(e,t)=>{var n=new X(`mstyle`,In(e.body,t.withColor(e.color)));return n.setAttribute(`mathcolor`,e.color),n}}),J({type:`color`,names:[`\\color`],numArgs:1,allowedInText:!0,argTypes:[`color`],handler(e,t){var n=e.parser,r=e.breakOnTokenText,i=Q(t[0],`color-token`).color;n.gullet.macros.set(`\\current@color`,i);var a=n.parseExpression(!0,r);return{type:`color`,mode:n.mode,color:i,body:a}}}),J({type:`cr`,names:[`\\\\`],numArgs:0,numOptionalArgs:0,allowedInText:!0,handler(e,t,n){var r=e.parser,i=r.gullet.future().text===`[`?r.parseSizeGroup(!0):null,a=!r.settings.displayMode||!r.settings.useStrictBehavior(`newLineInDisplayMode`,`In LaTeX, \\\\ or \\newline does nothing in display mode`);return{type:`cr`,mode:r.mode,newLine:a,size:i&&Q(i,`size`).value}},htmlBuilder(e,t){var n=G([`mspace`],[],t);return e.newLine&&(n.classes.push(`katex-newline`),e.size&&(n.style.marginTop=A(k(e.size,t)))),n},mathmlBuilder(e,t){var n=new X(`mspace`);return e.newLine&&(n.setAttribute(`linebreak`,`newline`),e.size&&n.setAttribute(`height`,A(k(e.size,t)))),n}});var xr={"\\global":`\\global`,"\\long":`\\\\globallong`,"\\\\globallong":`\\\\globallong`,"\\def":`\\gdef`,"\\gdef":`\\gdef`,"\\edef":`\\xdef`,"\\xdef":`\\xdef`,"\\let":`\\\\globallet`,"\\futurelet":`\\\\globalfuture`},Sr=e=>{var t=e.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(t))throw new s(`Expected a control sequence`,e);return t},Cr=e=>{var t=e.gullet.popToken();return t.text===`=`&&(t=e.gullet.popToken(),t.text===` `&&(t=e.gullet.popToken())),t},wr=(e,t,n,r)=>{var i=e.gullet.macros.get(n.text);i??=(n.noexpand=!0,{tokens:[n],numArgs:0,unexpandable:!e.gullet.isExpandable(n.text)}),e.gullet.macros.set(t,i,r)};J({type:`internal`,names:[`\\global`,`\\long`,`\\\\globallong`],numArgs:0,allowedInText:!0,handler(e){var t=e.parser,n=e.funcName;t.consumeSpaces();var r=t.fetch();if(xr[r.text])return(n===`\\global`||n===`\\\\globallong`)&&(r.text=xr[r.text]),Q(t.parseFunction(),`internal`);throw new s(`Invalid token after macro prefix`,r)}}),J({type:`internal`,names:[`\\def`,`\\gdef`,`\\edef`,`\\xdef`],numArgs:0,allowedInText:!0,primitive:!0,handler(e){var t=e.parser,n=e.funcName,r=t.gullet.popToken(),i=r.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(i))throw new s(`Expected a control sequence`,r);for(var a=0,o,c=[[]];t.gullet.future().text!==`{`;)if(r=t.gullet.popToken(),r.text===`#`){if(t.gullet.future().text===`{`){o=t.gullet.future(),c[a].push(`{`);break}if(r=t.gullet.popToken(),!/^[1-9]$/.test(r.text))throw new s(`Invalid argument number "`+r.text+`"`);if(parseInt(r.text)!==a+1)throw new s(`Argument number "`+r.text+`" out of order`);a++,c.push([])}else if(r.text===`EOF`)throw new s(`Expected a macro definition`);else c[a].push(r.text);var l=t.gullet.consumeArg().tokens;return o&&l.unshift(o),(n===`\\edef`||n===`\\xdef`)&&(l=t.gullet.expandTokens(l),l.reverse()),t.gullet.macros.set(i,{tokens:l,numArgs:a,delimiters:c},n===xr[n]),{type:`internal`,mode:t.mode}}}),J({type:`internal`,names:[`\\let`,`\\\\globallet`],numArgs:0,allowedInText:!0,primitive:!0,handler(e){var t=e.parser,n=e.funcName,r=Sr(t.gullet.popToken());return t.gullet.consumeSpaces(),wr(t,r,Cr(t),n===`\\\\globallet`),{type:`internal`,mode:t.mode}}}),J({type:`internal`,names:[`\\futurelet`,`\\\\globalfuture`],numArgs:0,allowedInText:!0,primitive:!0,handler(e){var t=e.parser,n=e.funcName,r=Sr(t.gullet.popToken()),i=t.gullet.popToken(),a=t.gullet.popToken();return wr(t,r,a,n===`\\\\globalfuture`),t.gullet.pushToken(a),t.gullet.pushToken(i),{type:`internal`,mode:t.mode}}});var Tr=function(e,t,n){var r=$e(j.math[e]&&j.math[e].replace||e,t,n);if(!r)throw Error(`Unsupported symbol `+e+` and font size `+t+`.`);return r},Er=function(e,t,n,r){var i=n.havingBaseStyle(t),a=G(r.concat(i.sizingClasses(n)),[e],n),o=i.sizeMultiplier/n.sizeMultiplier;return a.height*=o,a.depth*=o,a.maxFontSize=i.sizeMultiplier,a},Dr=function(e,t,n){var r=t.havingBaseStyle(n),i=(1-t.sizeMultiplier/r.sizeMultiplier)*t.fontMetrics().axisHeight;e.classes.push(`delimcenter`),e.style.top=A(i),e.height-=i,e.depth+=i},Or=function(e,t,n,r,i,a){var o=Er(zt(e,`Main-Regular`,i,r),t,r,a);return n&&Dr(o,r,t),o},kr=function(e,t,n,r){return zt(e,`Size`+t+`-Regular`,n,r)},Ar=function(e,t,n,r,i,a){var o=kr(e,t,i,r),s=Er(G([`delimsizing`,`size`+t],[o],r),D.TEXT,r,a);return n&&Dr(s,r,D.TEXT),s},jr=function(e,t,n){return{type:`elem`,elem:G([`delimsizinginner`,t===`Size1-Regular`?`delim-size1`:`delim-size4`],[G([],[zt(e,t,n)])])}},Mr=function(e,t,n){var r=Ye[`Size4-Regular`][e.charCodeAt(0)]?Ye[`Size4-Regular`][e.charCodeAt(0)][4]:Ye[`Size1-Regular`][e.charCodeAt(0)][4],i=Kt([],[new Ue([new We(`inner`,we(e,Math.round(1e3*t)))],{width:A(r),height:A(t),style:`width:`+A(r),viewBox:`0 0 `+1e3*r+` `+Math.round(1e3*t),preserveAspectRatio:`xMinYMin`})],n);return i.height=t,i.style.height=A(t),i.style.width=A(r),{type:`elem`,elem:i}},Nr=.008,Pr={type:`kern`,size:-1*Nr},Fr=new Set([`|`,`\\lvert`,`\\rvert`,`\\vert`]),Ir=new Set([`\\|`,`\\lVert`,`\\rVert`,`\\Vert`]),Lr=function(e,t,n,r,i,a){var o,s,c,l,u=``,d=0;o=c=l=e,s=null;var f=`Size1-Regular`;e===`\\uparrow`?c=l=`⏐`:e===`\\Uparrow`?c=l=`‖`:e===`\\downarrow`?o=c=`⏐`:e===`\\Downarrow`?o=c=`‖`:e===`\\updownarrow`?(o=`\\uparrow`,c=`⏐`,l=`\\downarrow`):e===`\\Updownarrow`?(o=`\\Uparrow`,c=`‖`,l=`\\Downarrow`):Fr.has(e)?(c=`∣`,u=`vert`,d=333):Ir.has(e)?(c=`∥`,u=`doublevert`,d=556):e===`[`||e===`\\lbrack`?(o=`⎡`,c=`⎢`,l=`⎣`,f=`Size4-Regular`,u=`lbrack`,d=667):e===`]`||e===`\\rbrack`?(o=`⎤`,c=`⎥`,l=`⎦`,f=`Size4-Regular`,u=`rbrack`,d=667):e===`\\lfloor`||e===`⌊`?(c=o=`⎢`,l=`⎣`,f=`Size4-Regular`,u=`lfloor`,d=667):e===`\\lceil`||e===`⌈`?(o=`⎡`,c=l=`⎢`,f=`Size4-Regular`,u=`lceil`,d=667):e===`\\rfloor`||e===`⌋`?(c=o=`⎥`,l=`⎦`,f=`Size4-Regular`,u=`rfloor`,d=667):e===`\\rceil`||e===`⌉`?(o=`⎤`,c=l=`⎥`,f=`Size4-Regular`,u=`rceil`,d=667):e===`(`||e===`\\lparen`?(o=`⎛`,c=`⎜`,l=`⎝`,f=`Size4-Regular`,u=`lparen`,d=875):e===`)`||e===`\\rparen`?(o=`⎞`,c=`⎟`,l=`⎠`,f=`Size4-Regular`,u=`rparen`,d=875):e===`\\{`||e===`\\lbrace`?(o=`⎧`,s=`⎨`,l=`⎩`,c=`⎪`,f=`Size4-Regular`):e===`\\}`||e===`\\rbrace`?(o=`⎫`,s=`⎬`,l=`⎭`,c=`⎪`,f=`Size4-Regular`):e===`\\lgroup`||e===`⟮`?(o=`⎧`,l=`⎩`,c=`⎪`,f=`Size4-Regular`):e===`\\rgroup`||e===`⟯`?(o=`⎫`,l=`⎭`,c=`⎪`,f=`Size4-Regular`):e===`\\lmoustache`||e===`⎰`?(o=`⎧`,l=`⎭`,c=`⎪`,f=`Size4-Regular`):(e===`\\rmoustache`||e===`⎱`)&&(o=`⎫`,l=`⎩`,c=`⎪`,f=`Size4-Regular`);var p=Tr(o,f,i),m=p.height+p.depth,h=Tr(c,f,i),g=h.height+h.depth,_=Tr(l,f,i),v=_.height+_.depth,y=0,b=1;if(s!==null){var x=Tr(s,f,i);y=x.height+x.depth,b=2}var S=m+v+y,C=S+Math.max(0,Math.ceil((t-S)/(b*g)))*b*g,w=r.fontMetrics().axisHeight;n&&(w*=r.sizeMultiplier);var ee=C/2-w,T=[];if(u.length>0){var te=C-m-v,ne=Math.round(C*1e3),re=Ee(u,Math.round(te*1e3)),E=new We(u,re),ie=A(d/1e3),ae=A(ne/1e3),oe=Kt([],[new Ue([E],{width:ie,height:ae,viewBox:`0 0 `+d+` `+ne})],r);oe.height=ne/1e3,oe.style.width=ie,oe.style.height=ae,T.push({type:`elem`,elem:oe})}else{if(T.push(jr(l,f,i)),T.push(Pr),s===null){var se=C-m-v+2*Nr;T.push(Mr(c,se,r))}else{var ce=(C-m-v-y)/2+2*Nr;T.push(Mr(c,ce,r)),T.push(Pr),T.push(jr(s,f,i)),T.push(Pr),T.push(Mr(c,ce,r))}T.push(Pr),T.push(jr(o,f,i))}var le=r.havingBaseStyle(D.TEXT);return Er(G([`delimsizing`,`mult`],[K({positionType:`bottom`,positionData:ee,children:T})],le),D.TEXT,r,a)},Rr=80,zr=.08,Br=function(e,t,n,r,i){return Kt([`hide-tail`],[new Ue([new We(e,Ce(e,r,n))],{width:`400em`,height:A(t),viewBox:`0 0 400000 `+n,preserveAspectRatio:`xMinYMin slice`})],i)},Vr=function(e,t){var n=t.havingBaseSizing(),r=Zr(`\\surd`,e*n.sizeMultiplier,Yr,n),i=n.sizeMultiplier,a=Math.max(0,t.minRuleThickness-t.fontMetrics().sqrtRuleThickness),o,s,c,l,u;return r.type===`small`?(l=1e3+1e3*a+Rr,e<1?i=1:e<1.4&&(i=.7),s=(1+a+zr)/i,c=(1+a)/i,o=Br(`sqrtMain`,s,l,a,t),o.style.minWidth=`0.853em`,u=.833/i):r.type===`large`?(l=(1e3+Rr)*Gr[r.size],c=(Gr[r.size]+a)/i,s=(Gr[r.size]+a+zr)/i,o=Br(`sqrtSize`+r.size,s,l,a,t),o.style.minWidth=`1.02em`,u=1/i):(s=e+a+zr,c=e+a,l=Math.floor(1e3*e+a)+Rr,o=Br(`sqrtTall`,s,l,a,t),o.style.minWidth=`0.742em`,u=1.056),o.height=c,o.style.height=A(s),{span:o,advanceWidth:u,ruleWidth:(t.fontMetrics().sqrtRuleThickness+a)*i}},Hr=new Set([`(`,`\\lparen`,`)`,`\\rparen`,`[`,`\\lbrack`,`]`,`\\rbrack`,`\\{`,`\\lbrace`,`\\}`,`\\rbrace`,`\\lfloor`,`\\rfloor`,`⌊`,`⌋`,`\\lceil`,`\\rceil`,`⌈`,`⌉`,`\\surd`]),Ur=new Set([`\\uparrow`,`\\downarrow`,`\\updownarrow`,`\\Uparrow`,`\\Downarrow`,`\\Updownarrow`,`|`,`\\|`,`\\vert`,`\\Vert`,`\\lvert`,`\\rvert`,`\\lVert`,`\\rVert`,`\\lgroup`,`\\rgroup`,`⟮`,`⟯`,`\\lmoustache`,`\\rmoustache`,`⎰`,`⎱`]),Wr=new Set([`<`,`>`,`\\langle`,`\\rangle`,`/`,`\\backslash`,`\\lt`,`\\gt`]),Gr=[0,1.2,1.8,2.4,3],Kr=function(e,t,n,r,i){if(e===`<`||e===`\\lt`||e===`⟨`?e=`\\langle`:(e===`>`||e===`\\gt`||e===`⟩`)&&(e=`\\rangle`),Hr.has(e)||Wr.has(e))return Ar(e,t,!1,n,r,i);if(Ur.has(e))return Lr(e,Gr[t],!1,n,r,i);throw new s(`Illegal delimiter: '`+e+`'`)},qr=[{type:`small`,style:D.SCRIPTSCRIPT},{type:`small`,style:D.SCRIPT},{type:`small`,style:D.TEXT},{type:`large`,size:1},{type:`large`,size:2},{type:`large`,size:3},{type:`large`,size:4}],Jr=[{type:`small`,style:D.SCRIPTSCRIPT},{type:`small`,style:D.SCRIPT},{type:`small`,style:D.TEXT},{type:`stack`}],Yr=[{type:`small`,style:D.SCRIPTSCRIPT},{type:`small`,style:D.SCRIPT},{type:`small`,style:D.TEXT},{type:`large`,size:1},{type:`large`,size:2},{type:`large`,size:3},{type:`large`,size:4},{type:`stack`}],Xr=function(e){if(e.type===`small`)return`Main-Regular`;if(e.type===`large`)return`Size`+e.size+`-Regular`;if(e.type===`stack`)return`Size4-Regular`;var t=e.type;throw Error(`Add support for delim type '`+t+`' here.`)},Zr=function(e,t,n,r){for(var i=Math.min(2,3-r.style.size);it)return a}return n[n.length-1]},Qr=function(e,t,n,r,i,a){e===`<`||e===`\\lt`||e===`⟨`?e=`\\langle`:(e===`>`||e===`\\gt`||e===`⟩`)&&(e=`\\rangle`);var o=Wr.has(e)?qr:Hr.has(e)?Yr:Jr,s=Zr(e,t,o,r);return s.type===`small`?Or(e,s.style,n,r,i,a):s.type===`large`?Ar(e,s.size,n,r,i,a):Lr(e,t,n,r,i,a)},$r=function(e,t,n,r,i,a){var o=r.fontMetrics().axisHeight*r.sizeMultiplier,s=901,c=5/r.fontMetrics().ptPerEm,l=Math.max(t-o,n+o);return Qr(e,Math.max(l/500*s,2*l-c),!0,r,i,a)},ei={"\\bigl":{mclass:`mopen`,size:1},"\\Bigl":{mclass:`mopen`,size:2},"\\biggl":{mclass:`mopen`,size:3},"\\Biggl":{mclass:`mopen`,size:4},"\\bigr":{mclass:`mclose`,size:1},"\\Bigr":{mclass:`mclose`,size:2},"\\biggr":{mclass:`mclose`,size:3},"\\Biggr":{mclass:`mclose`,size:4},"\\bigm":{mclass:`mrel`,size:1},"\\Bigm":{mclass:`mrel`,size:2},"\\biggm":{mclass:`mrel`,size:3},"\\Biggm":{mclass:`mrel`,size:4},"\\big":{mclass:`mord`,size:1},"\\Big":{mclass:`mord`,size:2},"\\bigg":{mclass:`mord`,size:3},"\\Bigg":{mclass:`mord`,size:4}},ti=new Set(`(,\\lparen,),\\rparen,[,\\lbrack,],\\rbrack,\\{,\\lbrace,\\},\\rbrace,\\lfloor,\\rfloor,⌊,⌋,\\lceil,\\rceil,⌈,⌉,<,>,\\langle,⟨,\\rangle,⟩,\\lt,\\gt,\\lvert,\\rvert,\\lVert,\\rVert,\\lgroup,\\rgroup,⟮,⟯,\\lmoustache,\\rmoustache,⎰,⎱,/,\\backslash,|,\\vert,\\|,\\Vert,\\uparrow,\\Uparrow,\\downarrow,\\Downarrow,\\updownarrow,\\Updownarrow,.`.split(`,`));function ni(e){return`isMiddle`in e}function ri(e,t){var n=ar(e);if(n&&ti.has(n.text))return n;throw n?new s(`Invalid delimiter '`+n.text+`' after '`+t.funcName+`'`,e):new s(`Invalid delimiter type '`+e.type+`'`,e)}J({type:`delimsizing`,names:[`\\bigl`,`\\Bigl`,`\\biggl`,`\\Biggl`,`\\bigr`,`\\Bigr`,`\\biggr`,`\\Biggr`,`\\bigm`,`\\Bigm`,`\\biggm`,`\\Biggm`,`\\big`,`\\Big`,`\\bigg`,`\\Bigg`],numArgs:1,argTypes:[`primitive`],handler:(e,t)=>{var n=ri(fn(t[0]),e);return{type:`delimsizing`,mode:e.parser.mode,size:ei[e.funcName].size,mclass:ei[e.funcName].mclass,delim:n.text}},htmlBuilder:(e,t)=>e.delim===`.`?G([e.mclass]):Kr(e.delim,e.size,t,e.mode,[e.mclass]),mathmlBuilder:e=>{var t=[];e.delim!==`.`&&t.push(jn(e.delim,e.mode));var n=new X(`mo`,t);e.mclass===`mopen`||e.mclass===`mclose`?n.setAttribute(`fence`,`true`):n.setAttribute(`fence`,`false`),n.setAttribute(`stretchy`,`true`);var r=A(Gr[e.size]);return n.setAttribute(`minsize`,r),n.setAttribute(`maxsize`,r),n}});function ii(e){if(!e.body)throw Error(`Bug: The leftright ParseNode wasn't fully parsed.`)}J({type:`leftright-right`,names:[`\\right`],numArgs:1,primitive:!0,handler:(e,t)=>{var n=e.parser.gullet.macros.get(`\\current@color`);if(n&&typeof n!=`string`)throw new s(`\\current@color set to non-string in \\right`);return{type:`leftright-right`,mode:e.parser.mode,delim:ri(t[0],e).text,color:n}}}),J({type:`leftright`,names:[`\\left`],numArgs:1,primitive:!0,handler:(e,t)=>{var n=ri(t[0],e),r=e.parser;++r.leftrightDepth;var i=r.parseExpression(!1);--r.leftrightDepth,r.expect(`\\right`,!1);var a=Q(r.parseFunction(),`leftright-right`);return{type:`leftright`,mode:r.mode,body:i,left:n.text,right:a.delim,rightColor:a.color}},htmlBuilder:(e,t)=>{ii(e);for(var n=vn(e.body,t,!0,[`mopen`,`mclose`]),r=0,i=0,a=!1,o=0;o{ii(e);var n=In(e.body,t);if(e.left!==`.`){var r=new X(`mo`,[jn(e.left,e.mode)]);r.setAttribute(`fence`,`true`),n.unshift(r)}if(e.right!==`.`){var i=new X(`mo`,[jn(e.right,e.mode)]);i.setAttribute(`fence`,`true`),e.rightColor&&i.setAttribute(`mathcolor`,e.rightColor),n.push(i)}return Mn(n)}}),J({type:`middle`,names:[`\\middle`],numArgs:1,primitive:!0,handler:(e,t)=>{var n=ri(t[0],e);if(!e.parser.leftrightDepth)throw new s(`\\middle without preceding \\left`,n);return{type:`middle`,mode:e.parser.mode,delim:n.text}},htmlBuilder:(e,t)=>{var n;return e.delim===`.`?n=Cn(t,[]):(n=Kr(e.delim,1,t,e.mode,[]),n.isMiddle={delim:e.delim,options:t}),n},mathmlBuilder:(e,t)=>{var n=new X(`mo`,[e.delim===`\\vert`||e.delim===`|`?jn(`|`,`text`):jn(e.delim,e.mode)]);return n.setAttribute(`fence`,`true`),n.setAttribute(`lspace`,`0.05em`),n.setAttribute(`rspace`,`0.05em`),n}}),J({type:`enclose`,names:[`\\colorbox`],numArgs:2,allowedInText:!0,argTypes:[`color`,`hbox`],handler(e,t,n){var r=e.parser,i=e.funcName,a=Q(t[0],`color-token`).color,o=t[1];return{type:`enclose`,mode:r.mode,label:i,backgroundColor:a,body:o}},htmlBuilder:(e,t)=>{var n=Xt(Y(e.body,t),t),r=e.label.slice(1),i=t.sizeMultiplier,a,o,s=h(e.body);if(r===`sout`)a=G([`katex-stretchy`,`katex-sout`]),a.height=t.fontMetrics().defaultRuleThickness/i,o=-.5*t.fontMetrics().xHeight;else if(r===`phase`){var c=k({number:.6,unit:`pt`},t),l=k({number:.35,unit:`ex`},t),u=t.havingBaseSizing();i/=u.sizeMultiplier;var d=n.height+n.depth+c+l;n.style.paddingLeft=A(d/2+c);var f=Math.floor(1e3*d*i);a=Kt([`hide-tail`],[new Ue([new We(`phase`,xe(f))],{width:`400em`,height:A(f/1e3),viewBox:`0 0 400000 `+f,preserveAspectRatio:`xMinYMin slice`})],t),a.style.height=A(d),o=n.depth+c+l}else{/cancel/.test(r)?s||n.classes.push(`cancel-pad`):r===`angl`?n.classes.push(`anglpad`):n.classes.push(`boxpad`);var p,m,g=0;/box/.test(r)?(g=Math.max(t.fontMetrics().fboxrule,t.minRuleThickness),p=t.fontMetrics().fboxsep+(r===`colorbox`?0:g),m=p):r===`angl`?(g=Math.max(t.fontMetrics().defaultRuleThickness,t.minRuleThickness),p=4*g,m=Math.max(0,.25-n.depth)):(p=s?.2:0,m=p),a=Qn(n,r,p,m,t),/fbox|boxed|fcolorbox/.test(r)?(a.style.borderStyle=`solid`,a.style.borderWidth=A(g)):r===`angl`&&g!==.049&&(a.style.borderTopWidth=A(g),a.style.borderRightWidth=A(g)),o=n.depth+m,e.backgroundColor&&(a.style.backgroundColor=e.backgroundColor,e.borderColor&&(a.style.borderColor=e.borderColor))}var _;if(e.backgroundColor)_=K({positionType:`individualShift`,children:[{type:`elem`,elem:a,shift:o},{type:`elem`,elem:n,shift:0}]});else{var v=/cancel|phase/.test(r)?[`svg-align`]:[];_=K({positionType:`individualShift`,children:[{type:`elem`,elem:n,shift:0},{type:`elem`,elem:a,shift:o,wrapperClasses:v}]})}return/cancel/.test(r)&&(_.height=n.height,_.depth=n.depth),/cancel/.test(r)&&!s?G([`mord`,`cancel-lap`],[_],t):G([`mord`],[_],t)},mathmlBuilder:(e,t)=>{var n,r=new X(e.label.includes(`colorbox`)?`mpadded`:`menclose`,[Z(e.body,t)]);switch(e.label){case`\\cancel`:r.setAttribute(`notation`,`updiagonalstrike`);break;case`\\bcancel`:r.setAttribute(`notation`,`downdiagonalstrike`);break;case`\\phase`:r.setAttribute(`notation`,`phasorangle`);break;case`\\sout`:r.setAttribute(`notation`,`horizontalstrike`);break;case`\\fbox`:r.setAttribute(`notation`,`box`);break;case`\\angl`:r.setAttribute(`notation`,`actuarial`);break;case`\\fcolorbox`:case`\\colorbox`:if(n=t.fontMetrics().fboxsep*t.fontMetrics().ptPerEm,r.setAttribute(`width`,`+`+2*n+`pt`),r.setAttribute(`height`,`+`+2*n+`pt`),r.setAttribute(`lspace`,n+`pt`),r.setAttribute(`voffset`,n+`pt`),e.label===`\\fcolorbox`){var i=Math.max(t.fontMetrics().fboxrule,t.minRuleThickness);r.setAttribute(`style`,`border: `+A(i)+` solid `+e.borderColor)}break;case`\\xcancel`:r.setAttribute(`notation`,`updiagonalstrike downdiagonalstrike`)}return e.backgroundColor&&r.setAttribute(`mathbackground`,e.backgroundColor),r}}),J({type:`enclose`,names:[`\\fcolorbox`],numArgs:3,allowedInText:!0,argTypes:[`color`,`color`,`hbox`],handler(e,t,n){var r=e.parser,i=e.funcName,a=Q(t[0],`color-token`).color,o=Q(t[1],`color-token`).color,s=t[2];return{type:`enclose`,mode:r.mode,label:i,backgroundColor:o,borderColor:a,body:s}}}),J({type:`enclose`,names:[`\\fbox`],numArgs:1,argTypes:[`hbox`],allowedInText:!0,handler(e,t){return{type:`enclose`,mode:e.parser.mode,label:`\\fbox`,body:t[0]}}}),J({type:`enclose`,names:[`\\cancel`,`\\bcancel`,`\\xcancel`,`\\phase`],numArgs:1,handler(e,t){var n=e.parser,r=e.funcName,i=t[0];return{type:`enclose`,mode:n.mode,label:r,body:i}}}),J({type:`enclose`,names:[`\\sout`],numArgs:1,allowedInText:!0,handler(e,t){var n=e.parser,r=e.funcName;n.mode===`math`&&n.settings.reportNonstrict(`mathVsSout`,`LaTeX's \\sout works only in text mode`);var i=t[0];return{type:`enclose`,mode:n.mode,label:r,body:i}}}),J({type:`enclose`,names:[`\\angl`],numArgs:1,argTypes:[`hbox`],allowedInText:!1,handler(e,t){return{type:`enclose`,mode:e.parser.mode,label:`\\angl`,body:t[0]}}});var ai={};function oi(e){for(var t=e.type,n=e.names,r=e.props,i=e.handler,a=e.htmlBuilder,o=e.mathmlBuilder,s={type:t,numArgs:r.numArgs||0,allowedInText:!1,numOptionalArgs:0,handler:i},c=0;c{if(!e.parser.settings.displayMode)throw new s(`{`+e.envName+`} can be used only in display mode.`)},fi=new Set([`gather`,`gather*`]);function pi(e){if(!e.includes(`ed`))return!e.includes(`*`)}function mi(e,t,n){var r=t.hskipBeforeAndAfter,i=t.addJot,a=t.cols,o=t.arraystretch,c=t.colSeparationType,l=t.autoTag,u=t.singleRow,d=t.emptySingleRow,f=t.maxNumCols,p=t.leqno;if(e.gullet.beginGroup(),u||e.gullet.macros.set(`\\cr`,`\\\\\\relax`),!o){var m=e.gullet.expandMacroAsText(`\\arraystretch`);if(m==null)o=1;else if(o=parseFloat(m),!o||o<0)throw new s(`Invalid \\arraystretch: `+m)}e.gullet.beginGroup();var h=[],g=[h],_=[],v=[],y=l==null?void 0:[];function b(){l&&e.gullet.macros.set(`\\@eqnsw`,`1`,!0)}function x(){y&&(e.gullet.macros.get(`\\df@tag`)?(y.push(e.subparse([new li(`\\df@tag`)])),e.gullet.macros.set(`\\df@tag`,void 0,!0)):y.push(!!l&&e.gullet.macros.get(`\\@eqnsw`)===`1`))}for(b(),v.push(ui(e));;){var S=e.parseExpression(!1,u?`\\end`:`\\\\`);e.gullet.endGroup(),e.gullet.beginGroup();var C={type:`ordgroup`,mode:e.mode,body:S};n&&(C={type:`styling`,mode:e.mode,style:n,resetFont:!0,body:[C]}),h.push(C);var w=e.fetch().text;if(w===`&`){if(f&&h.length===f){if(u||c)throw new s(`Too many tab characters: &`,e.nextToken);e.settings.reportNonstrict(`textEnv`,`Too few columns specified in the {array} column argument.`)}e.consume()}else if(w===`\\end`){x(),h.length===1&&C.type===`styling`&&C.body.length===1&&C.body[0].type===`ordgroup`&&C.body[0].body.length===0&&(g.length>1||!d)&&g.pop(),v.length0&&(v+=.25),l.push({pos:v,isDashed:e[t]})}for(y(a[0]),n=0;n0&&(T+=_,Se))for(n=0;n=o)){var he=void 0;(r>0||e.hskipBeforeAndAfter)&&(he=ue?.pregap??f,he!==0&&(E=G([`arraycolsep`],[]),E.style.width=A(he),re.push(E)));var ge=[];for(n=0;n0){for(var Ce=qt(`katex-hline`,t,u),we=qt(`katex-hdashline`,t,u),Te=[{type:`elem`,elem:Se,shift:0}];l.length>0;){var Ee=l.pop(),De=Ee.pos-te;Ee.isDashed?Te.push({type:`elem`,elem:we,shift:De}):Te.push({type:`elem`,elem:Ce,shift:De})}Se=K({positionType:`individualShift`,children:Te})}if(ae.length===0)return G([`mord`],[Se],t);var Oe=G([`katex-tag`],[K({positionType:`individualShift`,children:ae})],t);return Yt([Se,Oe])},_i={c:`center `,l:`left `,r:`right `},vi=function(e,t){for(var n=[],r=new X(`mtd`,[],[`mtr-glue`]),i=new X(`mtd`,[],[`mml-eqn-num`]),a=0;a0){var p=e.cols,m=``,h=!1,g=0,_=p.length;p[0].type===`separator`&&(d+=`top `,g=1),p[p.length-1].type===`separator`&&(d+=`bottom `,--_);for(var v=g;v<_;v++){var y=p[v];y.type===`align`?(f+=_i[y.align],h&&(m+=`none `),h=!0):y.type===`separator`&&(h&&=(m+=y.separator===`|`?`solid `:`dashed `,!1))}l.setAttribute(`columnalign`,f.trim()),/[sd]/.test(m)&&l.setAttribute(`columnlines`,m.trim())}if(e.colSeparationType===`align`){for(var b=e.cols||[],x=``,S=1;S0?`left `:``,d+=w[w.length-1].length>0?`right `:``;for(var ee=1;ee0&&d&&(m=1),n[f]={type:`align`,align:p,pregap:m,postgap:0}}return i.colSeparationType=d?`align`:`alignat`,i};oi({type:`array`,names:[`array`,`darray`],props:{numArgs:1},handler(e,t){var n=(ar(t[0])?[t[0]]:Q(t[0],`ordgroup`).body).map(function(e){var t=ir(e).text;if(`lcr`.includes(t))return{type:`align`,align:t};if(t===`|`)return{type:`separator`,separator:`|`};if(t===`:`)return{type:`separator`,separator:`:`};throw new s(`Unknown column alignment: `+t,e)}),r={cols:n,hskipBeforeAndAfter:!0,maxNumCols:n.length};return mi(e.parser,r,hi(e.envName))},htmlBuilder:gi,mathmlBuilder:vi}),oi({type:`array`,names:[`matrix`,`pmatrix`,`bmatrix`,`Bmatrix`,`vmatrix`,`Vmatrix`,`matrix*`,`pmatrix*`,`bmatrix*`,`Bmatrix*`,`vmatrix*`,`Vmatrix*`],props:{numArgs:0},handler(e){var t={matrix:null,pmatrix:[`(`,`)`],bmatrix:[`[`,`]`],Bmatrix:[`\\{`,`\\}`],vmatrix:[`|`,`|`],Vmatrix:[`\\Vert`,`\\Vert`]}[e.envName.replace(`*`,``)],n=`c`,r={hskipBeforeAndAfter:!1,cols:[{type:`align`,align:n}]};if(e.envName.charAt(e.envName.length-1)===`*`){var i=e.parser;if(i.consumeSpaces(),i.fetch().text===`[`){if(i.consume(),i.consumeSpaces(),n=i.fetch().text,!`lcr`.includes(n))throw new s(`Expected l or c or r`,i.nextToken);i.consume(),i.consumeSpaces(),i.expect(`]`),i.consume(),r.cols=[{type:`align`,align:n}]}}var a=mi(e.parser,r,hi(e.envName)),o=Math.max(0,...a.body.map(e=>e.length));return a.cols=Array(o).fill({type:`align`,align:n}),t?{type:`leftright`,mode:e.mode,body:[a],left:t[0],right:t[1],rightColor:void 0}:a},htmlBuilder:gi,mathmlBuilder:vi}),oi({type:`array`,names:[`smallmatrix`],props:{numArgs:0},handler(e){var t=mi(e.parser,{arraystretch:.5},`script`);return t.colSeparationType=`small`,t},htmlBuilder:gi,mathmlBuilder:vi}),oi({type:`array`,names:[`subarray`],props:{numArgs:1},handler(e,t){var n=(ar(t[0])?[t[0]]:Q(t[0],`ordgroup`).body).map(function(e){var t=ir(e).text;if(`lc`.includes(t))return{type:`align`,align:t};throw new s(`Unknown column alignment: `+t,e)});if(n.length>1)throw new s(`{subarray} can contain only one column`);var r={cols:n,hskipBeforeAndAfter:!1,arraystretch:.5},i=mi(e.parser,r,`script`);if(i.body.length>0&&i.body[0].length>1)throw new s(`{subarray} can contain only one column`);return i},htmlBuilder:gi,mathmlBuilder:vi}),oi({type:`array`,names:[`cases`,`dcases`,`rcases`,`drcases`],props:{numArgs:0},handler(e){var t=mi(e.parser,{arraystretch:1.2,cols:[{type:`align`,align:`l`,pregap:0,postgap:1},{type:`align`,align:`l`,pregap:0,postgap:0}]},hi(e.envName));return{type:`leftright`,mode:e.mode,body:[t],left:e.envName.includes(`r`)?`.`:`\\{`,right:e.envName.includes(`r`)?`\\}`:`.`,rightColor:void 0}},htmlBuilder:gi,mathmlBuilder:vi}),oi({type:`array`,names:[`align`,`align*`,`aligned`,`split`],props:{numArgs:0},handler:yi,htmlBuilder:gi,mathmlBuilder:vi}),oi({type:`array`,names:[`gathered`,`gather`,`gather*`],props:{numArgs:0},handler(e){fi.has(e.envName)&&di(e);var t={cols:[{type:`align`,align:`c`}],addJot:!0,colSeparationType:`gather`,autoTag:pi(e.envName),emptySingleRow:!0,leqno:e.parser.settings.leqno};return mi(e.parser,t,`display`)},htmlBuilder:gi,mathmlBuilder:vi}),oi({type:`array`,names:[`alignat`,`alignat*`,`alignedat`],props:{numArgs:1},handler:yi,htmlBuilder:gi,mathmlBuilder:vi}),oi({type:`array`,names:[`equation`,`equation*`],props:{numArgs:0},handler(e){di(e);var t={autoTag:pi(e.envName),emptySingleRow:!0,singleRow:!0,maxNumCols:1,leqno:e.parser.settings.leqno};return mi(e.parser,t,`display`)},htmlBuilder:gi,mathmlBuilder:vi}),oi({type:`array`,names:[`CD`],props:{numArgs:0},handler(e){return di(e),br(e.parser)},htmlBuilder:gi,mathmlBuilder:vi}),$(`\\nonumber`,`\\gdef\\@eqnsw{0}`),$(`\\notag`,`\\nonumber`),J({type:`text`,names:[`\\hline`,`\\hdashline`],numArgs:0,allowedInText:!0,allowedInMath:!0,handler(e,t){throw new s(e.funcName+` valid only within array environment`)}});var bi=ai;J({type:`environment`,names:[`\\begin`,`\\end`],numArgs:1,argTypes:[`text`],handler(e,t){var n=e.parser,r=e.funcName,i=t[0];if(i.type!==`ordgroup`)throw new s(`Invalid environment name`,i);var a=or(i,`Environment name should contain only text characters and spaces`,!0);if(r===`\\begin`){if(!Object.prototype.hasOwnProperty.call(bi,a))throw new s(`No such environment: `+a,i);var o=bi[a],c=n.parseArguments(`\\begin{`+a+`}`,o),l=c.args,u=c.optArgs,d={mode:n.mode,envName:a,parser:n},f=o.handler(d,l,u);n.expect(`\\end`,!1);var p=n.nextToken,m=Q(n.parseFunction(),`environment`);if(m.name!==a)throw new s(`Mismatch: \\begin{`+a+`} matched by \\end{`+m.name+`}`,p);return f}return{type:`environment`,mode:n.mode,name:a,nameGroup:i}}});var xi=(e,t)=>{var n=e.font,r=t.withFont(n);return Y(e.body,r)},Si=(e,t)=>{var n=e.font,r=t.withFont(n);return Z(e.body,r)},Ci={"\\Bbb":`\\mathbb`,"\\bold":`\\mathbf`,"\\frak":`\\mathfrak`};J({type:`font`,names:[`\\mathrm`,`\\mathit`,`\\mathbf`,`\\mathnormal`,`\\mathsfit`,`\\mathbb`,`\\mathcal`,`\\mathfrak`,`\\mathscr`,`\\mathsf`,`\\mathtt`,`\\Bbb`,`\\bold`,`\\frak`],numArgs:1,allowedInArgument:!0,handler:(e,t)=>{var n=e.parser,r=e.funcName,i=fn(t[0]),a=r in Ci?Ci[r]:r;return{type:`font`,mode:n.mode,font:a.slice(1),body:i}},htmlBuilder:xi,mathmlBuilder:Si}),J({type:`mclass`,names:[`\\boldsymbol`,`\\bm`],numArgs:1,handler:(e,t)=>{var n=e.parser,r=t[0];return{type:`mclass`,mode:n.mode,mclass:mr(r),body:[{type:`font`,mode:n.mode,font:`boldsymbol`,body:r}],isCharacterBox:h(r)}}}),J({type:`font`,names:[`\\rm`,`\\sf`,`\\tt`,`\\bf`,`\\it`,`\\cal`],numArgs:0,allowedInText:!0,handler:(e,t)=>{var n=e.parser,r=e.funcName,i=e.breakOnTokenText,a=n.mode,o=n.parseExpression(!0,i);return{type:`font`,mode:a,font:`math`+r.slice(1),body:{type:`ordgroup`,mode:n.mode,body:o}}}});var wi=(e,t)=>{var n=t.style,r=n.fracNum(),i=n.fracDen(),a=t.havingStyle(r),o=Y(e.numer,a,t);if(e.continued){var s=8.5/t.fontMetrics().ptPerEm,c=3.5/t.fontMetrics().ptPerEm;o.height=o.height0?3*f:7*f,h=t.fontMetrics().denom1):(d>0?(p=t.fontMetrics().num2,m=f):(p=t.fontMetrics().num3,m=3*f),h=t.fontMetrics().denom2);var g;if(u){var _=t.fontMetrics().axisHeight;p-o.depth-(_+.5*d){var n=new X(`mfrac`,[Z(e.numer,t),Z(e.denom,t)]);if(!e.hasBarLine)n.setAttribute(`linethickness`,`0px`);else if(e.barSize){var r=k(e.barSize,t);n.setAttribute(`linethickness`,A(r))}if(e.leftDelim!=null||e.rightDelim!=null){var i=[];if(e.leftDelim!=null){var a=new X(`mo`,[new Dn(e.leftDelim.replace(`\\`,``))]);a.setAttribute(`fence`,`true`),i.push(a)}if(i.push(n),e.rightDelim!=null){var o=new X(`mo`,[new Dn(e.rightDelim.replace(`\\`,``))]);o.setAttribute(`fence`,`true`),i.push(o)}return Mn(i)}return n},Ei=(e,t)=>t?{type:`styling`,mode:e.mode,style:t,body:[e]}:e;J({type:`genfrac`,names:[`\\cfrac`,`\\dfrac`,`\\frac`,`\\tfrac`,`\\dbinom`,`\\binom`,`\\tbinom`,`\\\\atopfrac`,`\\\\bracefrac`,`\\\\brackfrac`],numArgs:2,allowedInArgument:!0,handler:(e,t)=>{var n=e.parser,r=e.funcName,i=t[0],a=t[1],o,s=null,c=null;switch(r){case`\\cfrac`:case`\\dfrac`:case`\\frac`:case`\\tfrac`:o=!0;break;case`\\\\atopfrac`:o=!1;break;case`\\dbinom`:case`\\binom`:case`\\tbinom`:o=!1,s=`(`,c=`)`;break;case`\\\\bracefrac`:o=!1,s=`\\{`,c=`\\}`;break;case`\\\\brackfrac`:o=!1,s=`[`,c=`]`;break;default:throw Error(`Unrecognized genfrac command`)}var l=r===`\\cfrac`,u=null;return l||r.startsWith(`\\d`)?u=`display`:r.startsWith(`\\t`)&&(u=`text`),Ei({type:`genfrac`,mode:n.mode,numer:i,denom:a,continued:l,hasBarLine:o,leftDelim:s,rightDelim:c,barSize:null},u)},htmlBuilder:wi,mathmlBuilder:Ti}),J({type:`infix`,names:[`\\over`,`\\choose`,`\\atop`,`\\brace`,`\\brack`],numArgs:0,infix:!0,handler(e){var t=e.parser,n=e.funcName,r=e.token,i;switch(n){case`\\over`:i=`\\frac`;break;case`\\choose`:i=`\\binom`;break;case`\\atop`:i=`\\\\atopfrac`;break;case`\\brace`:i=`\\\\bracefrac`;break;case`\\brack`:i=`\\\\brackfrac`;break;default:throw Error(`Unrecognized infix genfrac command`)}return{type:`infix`,mode:t.mode,replaceWith:i,token:r}}});var Di=[`display`,`text`,`script`,`scriptscript`],Oi=function(e){var t=null;return e.length>0&&(t=e,t=t===`.`?null:t),t};J({type:`genfrac`,names:[`\\genfrac`],numArgs:6,allowedInArgument:!0,argTypes:[`math`,`math`,`size`,`text`,`math`,`math`],handler(e,t){var n=e.parser,r=t[4],i=t[5],a=fn(t[0]),o=a.type===`atom`&&a.family===`open`?Oi(a.text):null,s=fn(t[1]),c=s.type===`atom`&&s.family===`close`?Oi(s.text):null,l=Q(t[2],`size`),u,d=null;l.isBlank?u=!0:(d=l.value,u=d.number>0);var f=null,p=t[3];if(p.type===`ordgroup`){if(p.body.length>0){var m=Q(p.body[0],`textord`);f=Di[Number(m.text)]}}else p=Q(p,`textord`),f=Di[Number(p.text)];return Ei({type:`genfrac`,mode:n.mode,numer:r,denom:i,continued:!1,hasBarLine:u,barSize:d,leftDelim:o,rightDelim:c},f)}}),J({type:`infix`,names:[`\\above`],numArgs:1,argTypes:[`size`],infix:!0,handler(e,t){var n=e.parser;e.funcName;var r=e.token;return{type:`infix`,mode:n.mode,replaceWith:`\\\\abovefrac`,size:Q(t[0],`size`).value,token:r}}}),J({type:`genfrac`,names:[`\\\\abovefrac`],numArgs:3,argTypes:[`math`,`size`,`math`],handler:(e,t)=>{var n=e.parser;e.funcName;var r=t[0],i=Q(t[1],`infix`).size;if(!i)throw Error(`\\\\abovefrac expected size, but got `+String(i));var a=t[2],o=i.number>0;return{type:`genfrac`,mode:n.mode,numer:r,denom:a,continued:!1,hasBarLine:o,barSize:i,leftDelim:null,rightDelim:null}}});var ki=(e,t)=>{var n=t.style,r,i;e.type===`supsub`?(r=e.sup?Y(e.sup,t.havingStyle(n.sup()),t):Y(e.sub,t.havingStyle(n.sub()),t),i=Q(e.base,`horizBrace`)):i=Q(e,`horizBrace`);var a=Y(i.base,t.havingBaseStyle(D.DISPLAY)),o=Zn(i,t),s=i.isOver?K({positionType:`firstBaseline`,children:[{type:`elem`,elem:a},{type:`kern`,size:.1},{type:`elem`,elem:o,wrapperClasses:[`svg-align`]}]}):K({positionType:`bottom`,positionData:a.depth+.1+o.height,children:[{type:`elem`,elem:o,wrapperClasses:[`svg-align`]},{type:`kern`,size:.1},{type:`elem`,elem:a}]});if(r){var c=G([`minner`,i.isOver?`mover`:`munder`],[s],t);s=i.isOver?K({positionType:`firstBaseline`,children:[{type:`elem`,elem:c},{type:`kern`,size:.2},{type:`elem`,elem:r}]}):K({positionType:`bottom`,positionData:c.depth+.2+r.height+r.depth,children:[{type:`elem`,elem:r},{type:`kern`,size:.2},{type:`elem`,elem:c}]})}return G([`minner`,i.isOver?`mover`:`munder`],[s],t)};J({type:`horizBrace`,names:[`\\overbrace`,`\\underbrace`,`\\overbracket`,`\\underbracket`],numArgs:1,handler(e,t){var n=e.parser,r=e.funcName;return{type:`horizBrace`,mode:n.mode,label:r,isOver:r.includes(`\\over`),base:t[0]}},htmlBuilder:ki,mathmlBuilder:(e,t)=>{var n=Jn(e.label);return new X(e.isOver?`mover`:`munder`,[Z(e.base,t),n])}}),J({type:`href`,names:[`\\href`],numArgs:2,argTypes:[`url`,`original`],allowedInText:!0,handler:(e,t)=>{var n=e.parser,r=t[1],i=Q(t[0],`url`).url;return n.settings.isTrusted({command:`\\href`,url:i})?{type:`href`,mode:n.mode,href:i,body:pn(r)}:n.formatUnsupportedCmd(`\\href`)},htmlBuilder:(e,t)=>{var n=vn(e.body,t,!1);return Jt(e.href,[],n,t)},mathmlBuilder:(e,t)=>{var n=Ln(e.body,t);return n instanceof X||(n=new X(`mrow`,[n])),n.setAttribute(`href`,e.href),n}}),J({type:`href`,names:[`\\url`],numArgs:1,argTypes:[`url`],allowedInText:!0,handler:(e,t)=>{var n=e.parser,r=Q(t[0],`url`).url;if(!n.settings.isTrusted({command:`\\url`,url:r}))return n.formatUnsupportedCmd(`\\url`);for(var i=[],a=0;a{var n=e.parser,r=e.funcName;e.token;var i=Q(t[0],`raw`).string,a=t[1];n.settings.strict&&n.settings.reportNonstrict(`htmlExtension`,`HTML extension is disabled on strict mode`);var o,c={};switch(r){case`\\htmlClass`:c.class=i,o={command:`\\htmlClass`,class:i};break;case`\\htmlId`:c.id=i,o={command:`\\htmlId`,id:i};break;case`\\htmlStyle`:c.style=i,o={command:`\\htmlStyle`,style:i};break;case`\\htmlData`:for(var l=`{,}`,u=[],d=``,f=0;f{var n=vn(e.body,t,!1),r=[`enclosing`];e.attributes.class&&r.push(...e.attributes.class.trim().split(/\s+/));var i=G(r,n,t);for(var a of Object.entries(e.attributes)){var o=a[0],s=a[1];o!==`class`&&i.setAttribute(o,s)}return i},mathmlBuilder:(e,t)=>Ln(e.body,t)}),J({type:`htmlmathml`,names:[`\\html@mathml`],numArgs:2,allowedInArgument:!0,allowedInText:!0,handler:(e,t)=>({type:`htmlmathml`,mode:e.parser.mode,html:pn(t[0]),mathml:pn(t[1])}),htmlBuilder:(e,t)=>Yt(vn(e.html,t,!1)),mathmlBuilder:(e,t)=>Ln(e.mathml,t)});var Ai=function(e){if(/^[-+]? *(\d+(\.\d*)?|\.\d+)$/.test(e))return{number:+e,unit:`bp`};var t=/([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(e);if(!t)throw new s(`Invalid size: '`+e+`' in \\includegraphics`);var n={number:+(t[1]+t[2]),unit:t[3]};if(!je(n))throw new s(`Invalid unit: '`+n.unit+`' in \\includegraphics.`);return n};J({type:`includegraphics`,names:[`\\includegraphics`],numArgs:1,numOptionalArgs:1,argTypes:[`raw`,`url`],allowedInText:!1,handler:(e,t,n)=>{var r=e.parser,i={number:0,unit:`em`},a={number:.9,unit:`em`},o={number:0,unit:`em`},c=``;if(n[0])for(var l=Q(n[0],`raw`).string.split(`,`),u=0;u{var n=k(e.height,t),r=0;e.totalheight.number>0&&(r=k(e.totalheight,t)-n);var i=0;e.width.number>0&&(i=k(e.width,t));var a={height:A(n+r)};i>0&&(a.width=A(i)),r>0&&(a.verticalAlign=A(-r));var o=new Be(e.src,e.alt,a);return o.height=n,o.depth=r,o},mathmlBuilder:(e,t)=>{var n=new X(`mglyph`,[]);n.setAttribute(`alt`,e.alt);var r=k(e.height,t),i=0;if(e.totalheight.number>0&&(i=k(e.totalheight,t)-r,n.setAttribute(`valign`,A(-i))),n.setAttribute(`height`,A(r+i)),e.width.number>0){var a=k(e.width,t);n.setAttribute(`width`,A(a))}return n.setAttribute(`src`,e.src),n}}),J({type:`kern`,names:[`\\kern`,`\\mkern`,`\\hskip`,`\\mskip`],numArgs:1,argTypes:[`size`],primitive:!0,allowedInText:!0,handler(e,t){var n=e.parser,r=e.funcName,i=Q(t[0],`size`);if(n.settings.strict){var a=r[1]===`m`,o=i.value.unit===`mu`;a?(o||n.settings.reportNonstrict(`mathVsTextUnits`,`LaTeX's `+r+` supports only mu units, `+(`not `+i.value.unit+` units`)),n.mode!==`math`&&n.settings.reportNonstrict(`mathVsTextUnits`,`LaTeX's `+r+` works only in math mode`)):o&&n.settings.reportNonstrict(`mathVsTextUnits`,`LaTeX's `+r+` doesn't support mu units`)}return{type:`kern`,mode:n.mode,dimension:i.value}},htmlBuilder(e,t){return Qt(e.dimension,t)},mathmlBuilder(e,t){return new On(k(e.dimension,t))}}),J({type:`lap`,names:[`\\mathllap`,`\\mathrlap`,`\\mathclap`],numArgs:1,allowedInText:!0,handler:(e,t)=>{var n=e.parser,r=e.funcName,i=t[0];return{type:`lap`,mode:n.mode,alignment:r.slice(5),body:i}},htmlBuilder:(e,t)=>{var n;e.alignment===`clap`?(n=G([],[Y(e.body,t)]),n=G([`katex-inner`],[n],t)):n=G([`katex-inner`],[Y(e.body,t)]);var r=G([`katex-fix`],[]),i=G([e.alignment],[n,r],t),a=G([`katex-strut`]);return a.style.height=A(i.height+i.depth),i.depth&&(a.style.verticalAlign=A(-i.depth)),i.children.unshift(a),i=G([`katex-thinbox`],[i],t),G([`mord`,`katex-vbox`],[i],t)},mathmlBuilder:(e,t)=>{var n=new X(`mpadded`,[Z(e.body,t)]);if(e.alignment!==`rlap`){var r=e.alignment===`llap`?`-1`:`-0.5`;n.setAttribute(`lspace`,r+`width`)}return n.setAttribute(`width`,`0px`),n}}),J({type:`styling`,names:[`\\(`,`$`],numArgs:0,allowedInText:!0,allowedInMath:!1,handler(e,t){var n=e.funcName,r=e.parser,i=r.mode;r.switchMode(`math`);var a=n===`\\(`?`\\)`:`$`,o=r.parseExpression(!1,a);return r.expect(a),r.switchMode(i),{type:`styling`,mode:r.mode,style:`text`,resetFont:!0,body:o}}}),J({type:`text`,names:[`\\)`,`\\]`],numArgs:0,allowedInText:!0,allowedInMath:!1,handler(e,t){throw new s(`Mismatched `+e.funcName)}});var ji=(e,t)=>{switch(t.style.size){case D.DISPLAY.size:return e.display;case D.TEXT.size:return e.text;case D.SCRIPT.size:return e.script;case D.SCRIPTSCRIPT.size:return e.scriptscript;default:return e.text}};J({type:`mathchoice`,names:[`\\mathchoice`],numArgs:4,primitive:!0,handler:(e,t)=>({type:`mathchoice`,mode:e.parser.mode,display:pn(t[0]),text:pn(t[1]),script:pn(t[2]),scriptscript:pn(t[3])}),htmlBuilder:(e,t)=>Yt(vn(ji(e,t),t,!1)),mathmlBuilder:(e,t)=>Ln(ji(e,t),t)});var Mi=(e,t,n,r,i,a,o)=>{e=G([],[e]);var s=n&&h(n),c,l;if(t){var u=Y(t,r.havingStyle(i.sup()),r);l={elem:u,kern:Math.max(r.fontMetrics().bigOpSpacing1,r.fontMetrics().bigOpSpacing3-u.depth)}}if(n){var d=Y(n,r.havingStyle(i.sub()),r);c={elem:d,kern:Math.max(r.fontMetrics().bigOpSpacing2,r.fontMetrics().bigOpSpacing4-d.height)}}var f;if(l&&c)f=K({positionType:`bottom`,positionData:r.fontMetrics().bigOpSpacing5+c.elem.height+c.elem.depth+c.kern+e.depth+o,children:[{type:`kern`,size:r.fontMetrics().bigOpSpacing5},{type:`elem`,elem:c.elem,marginLeft:A(-a)},{type:`kern`,size:c.kern},{type:`elem`,elem:e},{type:`kern`,size:l.kern},{type:`elem`,elem:l.elem,marginLeft:A(a)},{type:`kern`,size:r.fontMetrics().bigOpSpacing5}]});else if(c)f=K({positionType:`top`,positionData:e.height-o,children:[{type:`kern`,size:r.fontMetrics().bigOpSpacing5},{type:`elem`,elem:c.elem,marginLeft:A(-a)},{type:`kern`,size:c.kern},{type:`elem`,elem:e}]});else if(l)f=K({positionType:`bottom`,positionData:e.depth+o,children:[{type:`elem`,elem:e},{type:`kern`,size:l.kern},{type:`elem`,elem:l.elem,marginLeft:A(a)},{type:`kern`,size:r.fontMetrics().bigOpSpacing5}]});else return e;var p=[f];if(c&&a!==0&&!s){var m=G([`mspace`],[],r);m.style.marginRight=A(a),p.unshift(m)}return G([`mop`,`op-limits`],p,r)},Ni=new Set([`\\smallint`]),Pi=(e,t)=>{var n,r,i=!1,a;e.type===`supsub`?(n=e.sup,r=e.sub,a=Q(e.base,`op`),i=!0):a=Q(e,`op`);var o=t.style,s=!1;o.size===D.DISPLAY.size&&a.symbol&&!Ni.has(a.name)&&(s=!0);var c,l;if(a.symbol){var u=s?`Size2-Regular`:`Size1-Regular`,d=``;if((a.name===`\\oiint`||a.name===`\\oiiint`)&&(d=a.name.slice(1),a.name=d===`oiint`?`\\iint`:`\\iiint`),c=zt(a.name,u,`math`,t,[`mop`,`op-symbol`,s?`large-op`:`small-op`]),l=c.italic,d.length>0){var f=nn(d+`Size`+(s?`2`:`1`),t);c=K({positionType:`individualShift`,children:[{type:`elem`,elem:c,shift:0},{type:`elem`,elem:f,shift:s?.08:0}]}),a.name=`\\`+d,c.classes.unshift(`mop`),c.italic=l}}else if(a.body){var p=vn(a.body,t,!0);p.length===1&&p[0]instanceof He?(c=p[0],c.classes[0]=`mop`):c=G([`mop`],p,t)}else{for(var m=[],h=1;h{var n;if(e.symbol)n=new X(`mo`,[jn(e.name,e.mode)]),Ni.has(e.name)&&n.setAttribute(`largeop`,`false`);else if(e.body)n=new X(`mo`,In(e.body,t));else{n=new X(`mi`,[new Dn(e.name.slice(1))]);var r=new X(`mo`,[jn(`⁡`,`text`)]);n=e.parentIsSupSub?new X(`mrow`,[n,r]):En([n,r])}return n},Ii={"∏":`\\prod`,"∐":`\\coprod`,"∑":`\\sum`,"⋀":`\\bigwedge`,"⋁":`\\bigvee`,"⋂":`\\bigcap`,"⋃":`\\bigcup`,"⨀":`\\bigodot`,"⨁":`\\bigoplus`,"⨂":`\\bigotimes`,"⨄":`\\biguplus`,"⨆":`\\bigsqcup`};J({type:`op`,names:`\\coprod.\\bigvee.\\bigwedge.\\biguplus.\\bigcap.\\bigcup.\\intop.\\prod.\\sum.\\bigotimes.\\bigoplus.\\bigodot.\\bigsqcup.\\smallint.∏.∐.∑.⋀.⋁.⋂.⋃.⨀.⨁.⨂.⨄.⨆`.split(`.`),numArgs:0,handler:(e,t)=>{var n=e.parser,r=e.funcName;return r.length===1&&(r=Ii[r]),{type:`op`,mode:n.mode,limits:!0,parentIsSupSub:!1,symbol:!0,name:r}},htmlBuilder:Pi,mathmlBuilder:Fi}),J({type:`op`,names:[`\\mathop`],numArgs:1,primitive:!0,handler:(e,t)=>{var n=e.parser,r=t[0];return{type:`op`,mode:n.mode,limits:!1,parentIsSupSub:!1,symbol:!1,body:pn(r)}}});var Li={"∫":`\\int`,"∬":`\\iint`,"∭":`\\iiint`,"∮":`\\oint`,"∯":`\\oiint`,"∰":`\\oiiint`};J({type:`op`,names:`\\arcsin.\\arccos.\\arctan.\\arctg.\\arcctg.\\arg.\\ch.\\cos.\\cosec.\\cosh.\\cot.\\cotg.\\coth.\\csc.\\ctg.\\cth.\\deg.\\dim.\\exp.\\hom.\\ker.\\lg.\\ln.\\log.\\sec.\\sin.\\sinh.\\sh.\\tan.\\tanh.\\tg.\\th`.split(`.`),numArgs:0,handler(e){var t=e.parser,n=e.funcName;return{type:`op`,mode:t.mode,limits:!1,parentIsSupSub:!1,symbol:!1,name:n}}}),J({type:`op`,names:[`\\det`,`\\gcd`,`\\inf`,`\\lim`,`\\max`,`\\min`,`\\Pr`,`\\sup`],numArgs:0,handler(e){var t=e.parser,n=e.funcName;return{type:`op`,mode:t.mode,limits:!0,parentIsSupSub:!1,symbol:!1,name:n}}}),J({type:`op`,names:[`\\int`,`\\iint`,`\\iiint`,`\\oint`,`\\oiint`,`\\oiiint`,`∫`,`∬`,`∭`,`∮`,`∯`,`∰`],numArgs:0,allowedInArgument:!0,handler(e){var t=e.parser,n=e.funcName;return n.length===1&&(n=Li[n]),{type:`op`,mode:t.mode,limits:!1,parentIsSupSub:!1,symbol:!0,name:n}}});var Ri=(e,t)=>{var n,r,i=!1,a;e.type===`supsub`?(n=e.sup,r=e.sub,a=Q(e.base,`operatorname`),i=!0):a=Q(e,`operatorname`);var o;if(a.body.length>0){for(var s=vn(a.body.map(e=>{var t=`text`in e?e.text:void 0;return typeof t==`string`?{type:`textord`,mode:e.mode,text:t}:e}),t.withFont(`mathrm`),!0),c=0;c{var n=e.parser,r=e.funcName,i=t[0];return{type:`operatorname`,mode:n.mode,body:pn(i),alwaysHandleSupSub:r===`\\operatornamewithlimits`,limits:!1,parentIsSupSub:!1}},htmlBuilder:Ri,mathmlBuilder:(e,t)=>{for(var n=In(e.body,t.withFont(`mathrm`)),r=!0,i=0;ie.toText()).join(``))]);var s=new X(`mi`,n);s.setAttribute(`mathvariant`,`normal`);var c=new X(`mo`,[jn(`⁡`,`text`)]);return e.parentIsSupSub?new X(`mrow`,[s,c]):En([s,c])}}),$(`\\operatorname`,`\\@ifstar\\operatornamewithlimits\\operatorname@`),dn({type:`ordgroup`,htmlBuilder(e,t){return e.semisimple?Yt(vn(e.body,t,!1)):G([`mord`],vn(e.body,t,!0),t)},mathmlBuilder(e,t){return Ln(e.body,t,!0)}}),J({type:`overline`,names:[`\\overline`],numArgs:1,handler(e,t){var n=e.parser,r=t[0];return{type:`overline`,mode:n.mode,body:r}},htmlBuilder(e,t){var n=Y(e.body,t.havingCrampedStyle()),r=qt(`overline-line`,t),i=t.fontMetrics().defaultRuleThickness;return G([`mord`,`katex-overline`],[K({positionType:`firstBaseline`,children:[{type:`elem`,elem:n},{type:`kern`,size:3*i},{type:`elem`,elem:r},{type:`kern`,size:i}]})],t)},mathmlBuilder(e,t){var n=new X(`mo`,[new Dn(`‾`)]);n.setAttribute(`stretchy`,`true`);var r=new X(`mover`,[Z(e.body,t),n]);return r.setAttribute(`accent`,`true`),r}}),J({type:`phantom`,names:[`\\phantom`],numArgs:1,allowedInText:!0,handler:(e,t)=>{var n=e.parser,r=t[0];return{type:`phantom`,mode:n.mode,body:pn(r)}},htmlBuilder:(e,t)=>Yt(vn(e.body,t.withPhantom(),!1)),mathmlBuilder:(e,t)=>new X(`mphantom`,In(e.body,t))}),$(`\\hphantom`,`\\smash{\\phantom{#1}}`),J({type:`vphantom`,names:[`\\vphantom`],numArgs:1,allowedInText:!0,handler:(e,t)=>{var n=e.parser,r=t[0];return{type:`vphantom`,mode:n.mode,body:r}},htmlBuilder:(e,t)=>G([`mord`,`rlap`],[G([`katex-inner`],[Y(e.body,t.withPhantom())]),G([`katex-fix`],[])],t),mathmlBuilder:(e,t)=>{var n=new X(`mpadded`,[new X(`mphantom`,In(pn(e.body),t))]);return n.setAttribute(`width`,`0px`),n}}),J({type:`raisebox`,names:[`\\raisebox`],numArgs:2,argTypes:[`size`,`hbox`],allowedInText:!0,handler(e,t){var n=e.parser,r=Q(t[0],`size`).value,i=t[1];return{type:`raisebox`,mode:n.mode,dy:r,body:i}},htmlBuilder(e,t){var n=Y(e.body,t);return K({positionType:`shift`,positionData:-k(e.dy,t),children:[{type:`elem`,elem:n}]})},mathmlBuilder(e,t){var n=new X(`mpadded`,[Z(e.body,t)]),r=e.dy.number+e.dy.unit;return n.setAttribute(`voffset`,r),n}}),J({type:`internal`,names:[`\\relax`],numArgs:0,allowedInText:!0,allowedInArgument:!0,handler(e){return{type:`internal`,mode:e.parser.mode}}}),J({type:`rule`,names:[`\\rule`],numArgs:2,numOptionalArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:[`size`,`size`,`size`],handler(e,t,n){var r=e.parser,i=n[0],a=Q(t[0],`size`),o=Q(t[1],`size`);return{type:`rule`,mode:r.mode,shift:i&&Q(i,`size`).value,width:a.value,height:o.value}},htmlBuilder(e,t){var n=G([`mord`,`katex-rule`],[],t),r=k(e.width,t),i=k(e.height,t),a=e.shift?k(e.shift,t):0;return n.style.borderRightWidth=A(r),n.style.borderTopWidth=A(i),n.style.bottom=A(a),n.width=r,n.height=i+a,n.depth=-a,n.maxFontSize=i*1.125*t.sizeMultiplier,n},mathmlBuilder(e,t){var n=k(e.width,t),r=k(e.height,t),i=e.shift?k(e.shift,t):0,a=t.color&&t.getColor()||`black`,o=new X(`mspace`);o.setAttribute(`mathbackground`,a),o.setAttribute(`width`,A(n)),o.setAttribute(`height`,A(r));var s=new X(`mpadded`,[o]);return i>=0?s.setAttribute(`height`,A(i)):(s.setAttribute(`height`,A(i)),s.setAttribute(`depth`,A(-i))),s.setAttribute(`voffset`,A(i)),s}});function zi(e,t,n){for(var r=vn(e,t,!1),i=t.sizeMultiplier/n.sizeMultiplier,a=0;a{var n=e.breakOnTokenText,r=e.funcName,i=e.parser,a=i.parseExpression(!1,n);return{type:`sizing`,mode:i.mode,size:Bi.indexOf(r)+1,body:a}},htmlBuilder:(e,t)=>{var n=t.havingSize(e.size);return zi(e.body,n,t)},mathmlBuilder:(e,t)=>{var n=t.havingSize(e.size),r=new X(`mstyle`,In(e.body,n));return r.setAttribute(`mathsize`,A(n.sizeMultiplier)),r}}),J({type:`smash`,names:[`\\smash`],numArgs:1,numOptionalArgs:1,allowedInText:!0,handler:(e,t,n)=>{var r=e.parser,i=!1,a=!1,o=n[0]&&Q(n[0],`ordgroup`);if(o)for(var s,c=0;c{var n=G([],[Y(e.body,t)]);if(!e.smashHeight&&!e.smashDepth)return n;if(e.smashHeight&&(n.height=0),e.smashDepth&&(n.depth=0),e.smashHeight&&e.smashDepth)return G([`mord`,`katex-smash`],[n],t);if(n.children)for(var r=0;r{var n=new X(`mpadded`,[Z(e.body,t)]);return e.smashHeight&&n.setAttribute(`height`,`0px`),e.smashDepth&&n.setAttribute(`depth`,`0px`),n}}),J({type:`sqrt`,names:[`\\sqrt`],numArgs:1,numOptionalArgs:1,handler(e,t,n){var r=e.parser,i=n[0],a=t[0];return{type:`sqrt`,mode:r.mode,body:a,index:i}},htmlBuilder(e,t){var n=Y(e.body,t.havingCrampedStyle());n.height===0&&(n.height=t.fontMetrics().xHeight),n=Xt(n,t);var r=t.fontMetrics().defaultRuleThickness,i=r;t.style.idn.height+n.depth+a&&(a=(a+u-n.height-n.depth)/2);var d=s.height-n.height-a-c;n.style.paddingLeft=A(l);var f=K({positionType:`firstBaseline`,children:[{type:`elem`,elem:n,wrapperClasses:[`svg-align`]},{type:`kern`,size:-(n.height+d)},{type:`elem`,elem:s},{type:`kern`,size:c}]});if(e.index){var p=t.havingStyle(D.SCRIPTSCRIPT),m=Y(e.index,p,t);return G([`mord`,`sqrt`],[G([`katex-root`],[K({positionType:`shift`,positionData:-(.6*(f.height-f.depth)),children:[{type:`elem`,elem:m}]})]),f],t)}return G([`mord`,`sqrt`],[f],t)},mathmlBuilder(e,t){var n=e.body,r=e.index;return r?new X(`mroot`,[Z(n,t),Z(r,t)]):new X(`msqrt`,[Z(n,t)])}});var Vi={display:D.DISPLAY,text:D.TEXT,script:D.SCRIPT,scriptscript:D.SCRIPTSCRIPT};function Hi(e){return e in Vi}J({type:`styling`,names:[`\\displaystyle`,`\\textstyle`,`\\scriptstyle`,`\\scriptscriptstyle`],numArgs:0,allowedInText:!0,primitive:!0,handler(e,t){var n=e.breakOnTokenText,r=e.funcName,i=e.parser,a=i.parseExpression(!0,n),o=r.slice(1,r.length-5);if(!Hi(o))throw Error(`Unknown style: `+o);return{type:`styling`,mode:i.mode,style:o,body:a}},htmlBuilder(e,t){var n=Vi[e.style],r=t.havingStyle(n);return e.resetFont&&(r=r.withFont(``)),zi(e.body,r,t)},mathmlBuilder(e,t){var n=Vi[e.style],r=t.havingStyle(n);e.resetFont&&(r=r.withFont(``));var i=new X(`mstyle`,In(e.body,r)),a={display:[`0`,`true`],text:[`0`,`false`],script:[`1`,`false`],scriptscript:[`2`,`false`]}[e.style];return i.setAttribute(`scriptlevel`,a[0]),i.setAttribute(`displaystyle`,a[1]),i}});var Ui=function(e,t){var n=e.base;return n?n.type===`op`?n.limits&&(t.style.size===D.DISPLAY.size||n.alwaysHandleSupSub)?Pi:null:n.type===`operatorname`?n.alwaysHandleSupSub&&(t.style.size===D.DISPLAY.size||n.limits)?Ri:null:n.type===`accent`?h(n.base)?cr:null:n.type===`horizBrace`&&!e.sub===n.isOver?ki:null:null};dn({type:`supsub`,htmlBuilder(e,t){var n=Ui(e,t);if(n)return n(e,t);var r=e.base,i=e.sup,a=e.sub,o=Y(r,t),s,c,l=t.fontMetrics(),u=0,d=0,f=r&&h(r);if(i){var p=t.havingStyle(t.style.sup());s=Y(i,p,t),f||(u=o.height-p.fontMetrics().supDrop*p.sizeMultiplier/t.sizeMultiplier)}if(a){var m=t.havingStyle(t.style.sub());c=Y(a,m,t),f||(d=o.depth+m.fontMetrics().subDrop*m.sizeMultiplier/t.sizeMultiplier)}var g=t.style===D.DISPLAY?l.sup1:t.style.cramped?l.sup3:l.sup2,_=t.sizeMultiplier,v=A(.5/l.ptPerEm/_),y=null;if(c){var b=e.base&&e.base.type===`op`&&e.base.name&&(e.base.name===`\\oiint`||e.base.name===`\\oiiint`);(o instanceof He||b)&&(y=A(-(o.italic??0)))}var x;if(s&&c){u=Math.max(u,g,s.depth+.25*l.xHeight),d=Math.max(d,l.sub2);var S=4*l.defaultRuleThickness;if(u-s.depth-(c.height-d)0&&(u+=C,d-=C)}x=K({positionType:`individualShift`,children:[{type:`elem`,elem:c,shift:d,marginRight:v,marginLeft:y},{type:`elem`,elem:s,shift:-u,marginRight:v}]})}else if(c)d=Math.max(d,l.sub1,c.height-.8*l.xHeight),x=K({positionType:`shift`,positionData:d,children:[{type:`elem`,elem:c,marginLeft:y,marginRight:v}]});else if(s)u=Math.max(u,g,s.depth+.25*l.xHeight),x=K({positionType:`shift`,positionData:-u,children:[{type:`elem`,elem:s,marginRight:v}]});else throw Error(`supsub must have either sup or sub.`);return G([Sn(o,`right`)||`mord`],[o,G([`msupsub`],[x])],t)},mathmlBuilder(e,t){var n=!1,r,i;e.base&&e.base.type===`horizBrace`&&(i=!!e.sup,i===e.base.isOver&&(n=!0,r=e.base.isOver)),e.base&&(e.base.type===`op`||e.base.type===`operatorname`)&&(e.base.parentIsSupSub=!0);var a=[Z(e.base,t)];e.sub&&a.push(Z(e.sub,t)),e.sup&&a.push(Z(e.sup,t));var o;if(n)o=r?`mover`:`munder`;else if(!e.sub){var s=e.base;o=s&&s.type===`op`&&s.limits&&(t.style===D.DISPLAY||s.alwaysHandleSupSub)||s&&s.type===`operatorname`&&s.alwaysHandleSupSub&&(s.limits||t.style===D.DISPLAY)?`mover`:`msup`}else if(e.sup){var c=e.base;o=c&&c.type===`op`&&c.limits&&t.style===D.DISPLAY||c&&c.type===`operatorname`&&c.alwaysHandleSupSub&&(t.style===D.DISPLAY||c.limits)?`munderover`:`msubsup`}else{var l=e.base;o=l&&l.type===`op`&&l.limits&&(t.style===D.DISPLAY||l.alwaysHandleSupSub)||l&&l.type===`operatorname`&&l.alwaysHandleSupSub&&(l.limits||t.style===D.DISPLAY)?`munder`:`msub`}return new X(o,a)}}),dn({type:`atom`,htmlBuilder(e,t){return Bt(e.text,e.mode,t,[`m`+e.family])},mathmlBuilder(e,t){var n=new X(`mo`,[jn(e.text,e.mode)]);if(e.family===`bin`){var r=Pn(e,t);r===`bold-italic`&&n.setAttribute(`mathvariant`,r)}else e.family===`punct`?n.setAttribute(`separator`,`true`):(e.family===`open`||e.family===`close`)&&n.setAttribute(`stretchy`,`false`);return n}});var Wi={mi:`italic`,mn:`normal`,mtext:`normal`};dn({type:`mathord`,htmlBuilder(e,t){return Ht(e,t)},mathmlBuilder(e,t){var n=new X(`mi`,[jn(e.text,e.mode,t)]),r=Pn(e,t)||`italic`;return r!==Wi[n.type]&&n.setAttribute(`mathvariant`,r),n}}),dn({type:`textord`,htmlBuilder(e,t){return Ht(e,t)},mathmlBuilder(e,t){var n=jn(e.text,e.mode,t),r=Pn(e,t)||`normal`,i=e.mode===`text`?new X(`mtext`,[n]):/[0-9]/.test(e.text)?new X(`mn`,[n]):e.text===`\\prime`?new X(`mo`,[n]):new X(`mi`,[n]);return r!==Wi[i.type]&&i.setAttribute(`mathvariant`,r),i}});var Gi=new Map([[`\\nobreak`,`nobreak`],[`\\allowbreak`,`allowbreak`]]),Ki=new Map([[` `,{}],[`\\ `,{}],[`~`,{className:`nobreak`}],[`\\space`,{}],[`\\nobreakspace`,{className:`nobreak`}]]);dn({type:`spacing`,htmlBuilder(e,t){var n=Ki.get(e.text),r=Gi.get(e.text);if(n){var i=n.className||``;if(e.mode===`text`){var a=Ht(e,t);return a.classes.push(i),a}return G([`mspace`,i],[Bt(e.text,e.mode,t)],t)}if(r)return G([`mspace`,r],[],t);throw new s(`Unknown type of space "`+e.text+`"`)},mathmlBuilder(e,t){var n;if(Ki.has(e.text))n=new X(`mtext`,[new Dn(`\xA0`)]);else if(Gi.has(e.text))return new X(`mspace`);else throw new s(`Unknown type of space "`+e.text+`"`);return n}});var qi=()=>{var e=new X(`mtd`,[]);return e.setAttribute(`width`,`50%`),e};dn({type:`tag`,mathmlBuilder(e,t){var n=new X(`mtable`,[new X(`mtr`,[qi(),new X(`mtd`,[Ln(e.body,t)]),qi(),new X(`mtd`,[Ln(e.tag,t)])])]);return n.setAttribute(`width`,`100%`),n}});var Ji={"\\text":void 0,"\\textrm":`textrm`,"\\textsf":`textsf`,"\\texttt":`texttt`,"\\textnormal":`textrm`},Yi={"\\textbf":`textbf`,"\\textmd":`textmd`},Xi={"\\textit":`textit`,"\\textup":`textup`},Zi=(e,t)=>{var n=e.font;return n?Ji[n]?t.withTextFontFamily(Ji[n]):Yi[n]?t.withTextFontWeight(Yi[n]):n===`\\emph`?t.fontShape===`textit`?t.withTextFontShape(`textup`):t.withTextFontShape(`textit`):t.withTextFontShape(Xi[n]):t};J({type:`text`,names:[`\\text`,`\\textrm`,`\\textsf`,`\\texttt`,`\\textnormal`,`\\textbf`,`\\textmd`,`\\textit`,`\\textup`,`\\emph`],numArgs:1,argTypes:[`text`],allowedInArgument:!0,allowedInText:!0,handler(e,t){var n=e.parser,r=e.funcName,i=t[0];return{type:`text`,mode:n.mode,body:pn(i),font:r}},htmlBuilder(e,t){var n=Zi(e,t);return G([`mord`,`text`],vn(e.body,n,!0),n)},mathmlBuilder(e,t){var n=Zi(e,t);return Ln(e.body,n)}}),J({type:`underline`,names:[`\\underline`],numArgs:1,allowedInText:!0,handler(e,t){return{type:`underline`,mode:e.parser.mode,body:t[0]}},htmlBuilder(e,t){var n=Y(e.body,t),r=qt(`underline-line`,t),i=t.fontMetrics().defaultRuleThickness;return G([`mord`,`katex-underline`],[K({positionType:`top`,positionData:n.height,children:[{type:`kern`,size:i},{type:`elem`,elem:r},{type:`kern`,size:3*i},{type:`elem`,elem:n}]})],t)},mathmlBuilder(e,t){var n=new X(`mo`,[new Dn(`‾`)]);n.setAttribute(`stretchy`,`true`);var r=new X(`munder`,[Z(e.body,t),n]);return r.setAttribute(`accentunder`,`true`),r}}),J({type:`vcenter`,names:[`\\vcenter`],numArgs:1,argTypes:[`original`],allowedInText:!1,handler(e,t){return{type:`vcenter`,mode:e.parser.mode,body:t[0]}},htmlBuilder(e,t){var n=Y(e.body,t),r=t.fontMetrics().axisHeight;return K({positionType:`shift`,positionData:.5*(n.height-r-(n.depth+r)),children:[{type:`elem`,elem:n}]})},mathmlBuilder(e,t){return new X(`mrow`,[new X(`mpadded`,[Z(e.body,t)],[`vcenter`])])}}),J({type:`verb`,names:[`\\verb`],numArgs:0,allowedInText:!0,handler(e,t,n){throw new s(`\\verb ended by end of line instead of matching delimiter`)},htmlBuilder(e,t){for(var n=Qi(e),r=[],i=t.havingStyle(t.style.text()),a=0;ae.body.replace(/ /g,e.star?`␣`:`\xA0`),$i=cn,ea=`[ \r + ]`,ta=`\\\\[a-zA-Z@]+`,na=`\\\\[^\ud800-\udfff]`,ra=`(`+ta+`)`+ea+`*`,ia=`\\\\( +|[ \r ]+ +?)[ \r ]*`,aa=`[̀-ͯ]`,oa=RegExp(aa+`+$`),sa=`(`+ea+`+)|`+(ia+`|`)+`([!-\\[\\]-‧‪-퟿豈-￿]`+(aa+`*`)+`|[\ud800-\udbff][\udc00-\udfff]`+(aa+`*`)+`|\\\\verb\\*([^]).*?\\4|\\\\verb([^*a-zA-Z]).*?\\5`+(`|`+ra)+(`|`+na+`)`),ca=class{constructor(e,t){this.input=void 0,this.settings=void 0,this.tokenRegex=void 0,this.catcodes=void 0,this.input=e,this.settings=t,this.tokenRegex=new RegExp(sa,`g`),this.catcodes={"%":14,"~":13}}setCatcode(e,t){this.catcodes[e]=t}lex(){var e=this.input,t=this.tokenRegex.lastIndex;if(t===e.length)return new li(`EOF`,new ci(this,t,t));var n=this.tokenRegex.exec(e);if(n===null||n.index!==t)throw new s(`Unexpected character: '`+e[t]+`'`,new li(e[t],new ci(this,t,t+1)));var r=n[6]||n[3]||(n[2]?`\\ `:` `);if(this.catcodes[r]===14){var i=e.indexOf(` +`,this.tokenRegex.lastIndex);return i===-1?(this.tokenRegex.lastIndex=e.length,this.settings.reportNonstrict(`commentAtEnd`,`% comment has no terminating newline; LaTeX would fail because of commenting the end of math mode (e.g. $)`)):this.tokenRegex.lastIndex=i+1,this.lex()}return new li(r,new ci(this,t,this.tokenRegex.lastIndex))}},la=class{constructor(e,t){e===void 0&&(e={}),t===void 0&&(t={}),this.current=void 0,this.builtins=void 0,this.undefStack=void 0,this.current=t,this.builtins=e,this.undefStack=[]}beginGroup(){this.undefStack.push({})}endGroup(){if(this.undefStack.length===0)throw new s(`Unbalanced namespace destruction: attempt to pop global namespace; please report this as a bug`);var e=this.undefStack.pop();for(var t of Object.keys(e))e[t]===void 0?delete this.current[t]:this.current[t]=e[t]}endGroups(){for(;this.undefStack.length>0;)this.endGroup()}has(e){return Object.prototype.hasOwnProperty.call(this.current,e)||Object.prototype.hasOwnProperty.call(this.builtins,e)}get(e){if(Object.prototype.hasOwnProperty.call(this.current,e))return this.current[e];if(Object.prototype.hasOwnProperty.call(this.builtins,e))return this.builtins[e]}set(e,t,n){if(n===void 0&&(n=!1),n){for(var r=0;r0&&(this.undefStack[this.undefStack.length-1][e]=t)}else{var i=this.undefStack[this.undefStack.length-1];i&&!Object.prototype.hasOwnProperty.call(i,e)&&(i[e]=Object.prototype.hasOwnProperty.call(this.current,e)?this.current[e]:void 0)}t==null?delete this.current[e]:this.current[e]=t}},ua=si;$(`\\noexpand`,function(e){var t=e.popToken();return e.isExpandable(t.text)&&(t.noexpand=!0,t.treatAsRelax=!0),{tokens:[t],numArgs:0}}),$(`\\expandafter`,function(e){var t=e.popToken();return e.expandOnce(!0),{tokens:[t],numArgs:0}}),$(`\\@firstoftwo`,function(e){return{tokens:e.consumeArgs(2)[0],numArgs:0}}),$(`\\@secondoftwo`,function(e){return{tokens:e.consumeArgs(2)[1],numArgs:0}}),$(`\\@ifnextchar`,function(e){var t=e.consumeArgs(3);e.consumeSpaces();var n=e.future();return t[0].length===1&&t[0][0].text===n.text?{tokens:t[1],numArgs:0}:{tokens:t[2],numArgs:0}}),$(`\\@ifstar`,`\\@ifnextchar *{\\@firstoftwo{#1}}`),$(`\\TextOrMath`,function(e){var t=e.consumeArgs(2);return e.mode===`text`?{tokens:t[0],numArgs:0}:{tokens:t[1],numArgs:0}});var da={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,a:10,A:10,b:11,B:11,c:12,C:12,d:13,D:13,e:14,E:14,f:15,F:15};$(`\\char`,function(e){var t=e.popToken(),n,r=0;if(t.text===`'`)n=8,t=e.popToken();else if(t.text===`"`)n=16,t=e.popToken();else if(t.text==="`"){if(t=e.popToken(),t.text[0]===`\\`)r=t.text.charCodeAt(1);else if(t.text===`EOF`)throw new s("\\char` missing argument");else r=t.text.charCodeAt(0)}else n=10;if(n){if(r=da[t.text],r==null||r>=n)throw new s(`Invalid base-`+n+` digit `+t.text);for(var i;(i=da[e.future().text])!=null&&i{var i=e.consumeArg().tokens;if(i.length!==1)throw new s(`\\newcommand's first argument must be a macro name`);var a=i[0].text,o=e.isDefined(a);if(o&&!t)throw new s(`\\newcommand{`+a+`} attempting to redefine `+(a+`; use \\renewcommand`));if(!o&&!n)throw new s(`\\renewcommand{`+a+`} when command `+a+` does not yet exist; use \\newcommand`);var c=0;if(i=e.consumeArg().tokens,i.length===1&&i[0].text===`[`){for(var l=``,u=e.expandNextToken();u.text!==`]`&&u.text!==`EOF`;)l+=u.text,u=e.expandNextToken();if(!l.match(/^\s*[0-9]+\s*$/))throw new s(`Invalid number of arguments: `+l);c=parseInt(l),i=e.consumeArg().tokens}return o&&r||e.macros.set(a,{tokens:i,numArgs:c}),``};$(`\\newcommand`,e=>fa(e,!1,!0,!1)),$(`\\renewcommand`,e=>fa(e,!0,!1,!1)),$(`\\providecommand`,e=>fa(e,!0,!0,!0)),$(`\\message`,e=>{var t=e.consumeArgs(1)[0];return console.log(t.reverse().map(e=>e.text).join(``)),``}),$(`\\errmessage`,e=>{var t=e.consumeArgs(1)[0];return console.error(t.reverse().map(e=>e.text).join(``)),``}),$(`\\show`,e=>{var t=e.popToken(),n=t.text;return console.log(t,e.macros.get(n),$i[n],j.math[n],j.text[n]),``}),$(`\\bgroup`,`{`),$(`\\egroup`,`}`),$(`~`,`\\nobreakspace`),$(`\\lq`,"`"),$(`\\rq`,`'`),$(`\\aa`,`\\r a`),$(`\\AA`,`\\r A`),$(`\\textcopyright`,"\\html@mathml{\\textcircled{c}}{\\char`©}"),$(`\\copyright`,`\\TextOrMath{\\textcopyright}{\\text{\\textcopyright}}`),$(`\\textregistered`,"\\html@mathml{\\textcircled{\\scriptsize R}}{\\char`®}"),$(`ℬ`,`\\mathscr{B}`),$(`ℰ`,`\\mathscr{E}`),$(`ℱ`,`\\mathscr{F}`),$(`ℋ`,`\\mathscr{H}`),$(`ℐ`,`\\mathscr{I}`),$(`ℒ`,`\\mathscr{L}`),$(`ℳ`,`\\mathscr{M}`),$(`ℛ`,`\\mathscr{R}`),$(`ℭ`,`\\mathfrak{C}`),$(`ℌ`,`\\mathfrak{H}`),$(`ℨ`,`\\mathfrak{Z}`),$(`\\Bbbk`,`\\Bbb{k}`),$(`\\llap`,`\\mathllap{\\textrm{#1}}`),$(`\\rlap`,`\\mathrlap{\\textrm{#1}}`),$(`\\clap`,`\\mathclap{\\textrm{#1}}`),$(`\\mathstrut`,`\\vphantom{(}`),$(`\\underbar`,`\\underline{\\text{#1}}`),$(`\\not`,`\\html@mathml{\\mathrel{\\mathrlap\\@not}\\nobreak}{\\char"338}`),$(`\\neq`,"\\html@mathml{\\mathrel{\\not=}}{\\mathrel{\\char`≠}}"),$(`\\ne`,`\\neq`),$(`≠`,`\\neq`),$(`\\notin`,"\\html@mathml{\\mathrel{{\\in}\\mathllap{/\\mskip1mu}}}{\\mathrel{\\char`∉}}"),$(`∉`,`\\notin`),$(`≘`,"\\html@mathml{\\mathrel{=\\kern{-1em}\\raisebox{0.4em}{$\\scriptsize\\frown$}}}{\\mathrel{\\char`≘}}"),$(`≙`,"\\html@mathml{\\stackrel{\\tiny\\wedge}{=}}{\\mathrel{\\char`≘}}"),$(`≚`,"\\html@mathml{\\stackrel{\\tiny\\vee}{=}}{\\mathrel{\\char`≚}}"),$(`≛`,"\\html@mathml{\\stackrel{\\scriptsize\\star}{=}}{\\mathrel{\\char`≛}}"),$(`≝`,"\\html@mathml{\\stackrel{\\tiny\\mathrm{def}}{=}}{\\mathrel{\\char`≝}}"),$(`≞`,"\\html@mathml{\\stackrel{\\tiny\\mathrm{m}}{=}}{\\mathrel{\\char`≞}}"),$(`≟`,"\\html@mathml{\\stackrel{\\tiny?}{=}}{\\mathrel{\\char`≟}}"),$(`⟂`,`\\perp`),$(`‼`,`\\mathclose{!\\mkern-0.8mu!}`),$(`∌`,`\\notni`),$(`⌜`,`\\ulcorner`),$(`⌝`,`\\urcorner`),$(`⌞`,`\\llcorner`),$(`⌟`,`\\lrcorner`),$(`©`,`\\copyright`),$(`®`,`\\textregistered`),$(`\\ulcorner`,`\\html@mathml{\\@ulcorner}{\\mathop{\\char"231c}}`),$(`\\urcorner`,`\\html@mathml{\\@urcorner}{\\mathop{\\char"231d}}`),$(`\\llcorner`,`\\html@mathml{\\@llcorner}{\\mathop{\\char"231e}}`),$(`\\lrcorner`,`\\html@mathml{\\@lrcorner}{\\mathop{\\char"231f}}`),$(`\\vdots`,`{\\varvdots\\rule{0pt}{15pt}}`),$(`⋮`,`\\vdots`),$(`\\varGamma`,`\\mathit{\\Gamma}`),$(`\\varDelta`,`\\mathit{\\Delta}`),$(`\\varTheta`,`\\mathit{\\Theta}`),$(`\\varLambda`,`\\mathit{\\Lambda}`),$(`\\varXi`,`\\mathit{\\Xi}`),$(`\\varPi`,`\\mathit{\\Pi}`),$(`\\varSigma`,`\\mathit{\\Sigma}`),$(`\\varUpsilon`,`\\mathit{\\Upsilon}`),$(`\\varPhi`,`\\mathit{\\Phi}`),$(`\\varPsi`,`\\mathit{\\Psi}`),$(`\\varOmega`,`\\mathit{\\Omega}`),$(`\\substack`,`\\begin{subarray}{c}#1\\end{subarray}`),$(`\\colon`,`\\nobreak\\mskip2mu\\mathpunct{}\\mathchoice{\\mkern-3mu}{\\mkern-3mu}{}{}{:}\\mskip6mu\\relax`),$(`\\boxed`,`\\fbox{$\\displaystyle{#1}$}`),$(`\\iff`,`\\DOTSB\\;\\Longleftrightarrow\\;`),$(`\\implies`,`\\DOTSB\\;\\Longrightarrow\\;`),$(`\\impliedby`,`\\DOTSB\\;\\Longleftarrow\\;`),$(`\\dddot`,`{\\overset{\\raisebox{-0.1ex}{\\normalsize ...}}{#1}}`),$(`\\ddddot`,`{\\overset{\\raisebox{-0.1ex}{\\normalsize ....}}{#1}}`);var pa={",":`\\dotsc`,"\\not":`\\dotsb`,"+":`\\dotsb`,"=":`\\dotsb`,"<":`\\dotsb`,">":`\\dotsb`,"-":`\\dotsb`,"*":`\\dotsb`,":":`\\dotsb`,"\\DOTSB":`\\dotsb`,"\\coprod":`\\dotsb`,"\\bigvee":`\\dotsb`,"\\bigwedge":`\\dotsb`,"\\biguplus":`\\dotsb`,"\\bigcap":`\\dotsb`,"\\bigcup":`\\dotsb`,"\\prod":`\\dotsb`,"\\sum":`\\dotsb`,"\\bigotimes":`\\dotsb`,"\\bigoplus":`\\dotsb`,"\\bigodot":`\\dotsb`,"\\bigsqcup":`\\dotsb`,"\\And":`\\dotsb`,"\\longrightarrow":`\\dotsb`,"\\Longrightarrow":`\\dotsb`,"\\longleftarrow":`\\dotsb`,"\\Longleftarrow":`\\dotsb`,"\\longleftrightarrow":`\\dotsb`,"\\Longleftrightarrow":`\\dotsb`,"\\mapsto":`\\dotsb`,"\\longmapsto":`\\dotsb`,"\\hookrightarrow":`\\dotsb`,"\\doteq":`\\dotsb`,"\\mathbin":`\\dotsb`,"\\mathrel":`\\dotsb`,"\\relbar":`\\dotsb`,"\\Relbar":`\\dotsb`,"\\xrightarrow":`\\dotsb`,"\\xleftarrow":`\\dotsb`,"\\DOTSI":`\\dotsi`,"\\int":`\\dotsi`,"\\oint":`\\dotsi`,"\\iint":`\\dotsi`,"\\iiint":`\\dotsi`,"\\iiiint":`\\dotsi`,"\\idotsint":`\\dotsi`,"\\DOTSX":`\\dotsx`},ma=new Set([`bin`,`rel`]);$(`\\dots`,function(e){var t=`\\dotso`,n=e.expandAfterFuture().text;return n in pa?t=pa[n]:(n.slice(0,4)===`\\not`||n in j.math&&ma.has(j.math[n].group))&&(t=`\\dotsb`),t});var ha={")":!0,"]":!0,"\\rbrack":!0,"\\}":!0,"\\rbrace":!0,"\\rangle":!0,"\\rceil":!0,"\\rfloor":!0,"\\rgroup":!0,"\\rmoustache":!0,"\\right":!0,"\\bigr":!0,"\\biggr":!0,"\\Bigr":!0,"\\Biggr":!0,$:!0,";":!0,".":!0,",":!0};$(`\\dotso`,function(e){return e.future().text in ha?`\\ldots\\,`:`\\ldots`}),$(`\\dotsc`,function(e){var t=e.future().text;return t in ha&&t!==`,`?`\\ldots\\,`:`\\ldots`}),$(`\\cdots`,function(e){return e.future().text in ha?`\\@cdots\\,`:`\\@cdots`}),$(`\\dotsb`,`\\cdots`),$(`\\dotsm`,`\\cdots`),$(`\\dotsi`,`\\!\\cdots`),$(`\\dotsx`,`\\ldots\\,`),$(`\\DOTSI`,`\\relax`),$(`\\DOTSB`,`\\relax`),$(`\\DOTSX`,`\\relax`),$(`\\tmspace`,`\\TextOrMath{\\kern#1#3}{\\mskip#1#2}\\relax`),$(`\\,`,`\\tmspace+{3mu}{.1667em}`),$(`\\thinspace`,`\\,`),$(`\\>`,`\\mskip{4mu}`),$(`\\:`,`\\tmspace+{4mu}{.2222em}`),$(`\\medspace`,`\\:`),$(`\\;`,`\\tmspace+{5mu}{.2777em}`),$(`\\thickspace`,`\\;`),$(`\\!`,`\\tmspace-{3mu}{.1667em}`),$(`\\negthinspace`,`\\!`),$(`\\negmedspace`,`\\tmspace-{4mu}{.2222em}`),$(`\\negthickspace`,`\\tmspace-{5mu}{.277em}`),$(`\\enspace`,`\\kern.5em `),$(`\\enskip`,`\\hskip.5em\\relax`),$(`\\quad`,`\\hskip1em\\relax`),$(`\\qquad`,`\\hskip2em\\relax`),$(`\\tag`,`\\@ifstar\\tag@literal\\tag@paren`),$(`\\tag@paren`,`\\tag@literal{({#1})}`),$(`\\tag@literal`,e=>{if(e.macros.get(`\\df@tag`))throw new s(`Multiple \\tag`);return`\\gdef\\df@tag{\\text{#1}}`}),$(`\\bmod`,`\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}\\mathbin{\\rm mod}\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}`),$(`\\pod`,`\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern8mu}{\\mkern8mu}{\\mkern8mu}(#1)`),$(`\\pmod`,`\\pod{{\\rm mod}\\mkern6mu#1}`),$(`\\mod`,`\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern12mu}{\\mkern12mu}{\\mkern12mu}{\\rm mod}\\,\\,#1`),$(`\\newline`,`\\\\\\relax`),$(`\\TeX`,`\\textrm{\\html@mathml{T\\kern-.1667em\\raisebox{-.5ex}{E}\\kern-.125emX}{TeX}}`);var ga=A(Ye[`Main-Regular`][84][1]-.7*Ye[`Main-Regular`][65][1]);$(`\\LaTeX`,`\\textrm{\\html@mathml{`+(`L\\kern-.36em\\raisebox{`+ga+`}{\\scriptstyle A}`)+`\\kern-.15em\\TeX}{LaTeX}}`),$(`\\KaTeX`,`\\textrm{\\html@mathml{`+(`K\\kern-.17em\\raisebox{`+ga+`}{\\scriptstyle A}`)+`\\kern-.15em\\TeX}{KaTeX}}`),$(`\\hspace`,`\\@ifstar\\@hspacer\\@hspace`),$(`\\@hspace`,`\\hskip #1\\relax`),$(`\\@hspacer`,`\\rule{0pt}{0pt}\\hskip #1\\relax`),$(`\\ordinarycolon`,`:`),$(`\\vcentcolon`,`\\mathrel{\\mathop\\ordinarycolon}`),$(`\\dblcolon`,`\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-.9mu}\\vcentcolon}}{\\mathop{\\char"2237}}`),$(`\\coloneqq`,`\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2254}}`),$(`\\Coloneqq`,`\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2237\\char"3d}}`),$(`\\coloneq`,`\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"3a\\char"2212}}`),$(`\\Coloneq`,`\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"2237\\char"2212}}`),$(`\\eqqcolon`,`\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2255}}`),$(`\\Eqqcolon`,`\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"3d\\char"2237}}`),$(`\\eqcolon`,`\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2239}}`),$(`\\Eqcolon`,`\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"2212\\char"2237}}`),$(`\\colonapprox`,`\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"3a\\char"2248}}`),$(`\\Colonapprox`,`\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"2237\\char"2248}}`),$(`\\colonsim`,`\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"3a\\char"223c}}`),$(`\\Colonsim`,`\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"2237\\char"223c}}`),$(`∷`,`\\dblcolon`),$(`∹`,`\\eqcolon`),$(`≔`,`\\coloneqq`),$(`≕`,`\\eqqcolon`),$(`⩴`,`\\Coloneqq`),$(`\\ratio`,`\\vcentcolon`),$(`\\coloncolon`,`\\dblcolon`),$(`\\colonequals`,`\\coloneqq`),$(`\\coloncolonequals`,`\\Coloneqq`),$(`\\equalscolon`,`\\eqqcolon`),$(`\\equalscoloncolon`,`\\Eqqcolon`),$(`\\colonminus`,`\\coloneq`),$(`\\coloncolonminus`,`\\Coloneq`),$(`\\minuscolon`,`\\eqcolon`),$(`\\minuscoloncolon`,`\\Eqcolon`),$(`\\coloncolonapprox`,`\\Colonapprox`),$(`\\coloncolonsim`,`\\Colonsim`),$(`\\simcolon`,`\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\vcentcolon}`),$(`\\simcoloncolon`,`\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\dblcolon}`),$(`\\approxcolon`,`\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\vcentcolon}`),$(`\\approxcoloncolon`,`\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\dblcolon}`),$(`\\notni`,"\\html@mathml{\\not\\ni}{\\mathrel{\\char`∌}}"),$(`\\limsup`,`\\DOTSB\\operatorname*{lim\\,sup}`),$(`\\liminf`,`\\DOTSB\\operatorname*{lim\\,inf}`),$(`\\injlim`,`\\DOTSB\\operatorname*{inj\\,lim}`),$(`\\projlim`,`\\DOTSB\\operatorname*{proj\\,lim}`),$(`\\varlimsup`,`\\DOTSB\\operatorname*{\\overline{lim}}`),$(`\\varliminf`,`\\DOTSB\\operatorname*{\\underline{lim}}`),$(`\\varinjlim`,`\\DOTSB\\operatorname*{\\underrightarrow{lim}}`),$(`\\varprojlim`,`\\DOTSB\\operatorname*{\\underleftarrow{lim}}`),$(`\\gvertneqq`,`\\html@mathml{\\@gvertneqq}{≩}`),$(`\\lvertneqq`,`\\html@mathml{\\@lvertneqq}{≨}`),$(`\\ngeqq`,`\\html@mathml{\\@ngeqq}{≱}`),$(`\\ngeqslant`,`\\html@mathml{\\@ngeqslant}{≱}`),$(`\\nleqq`,`\\html@mathml{\\@nleqq}{≰}`),$(`\\nleqslant`,`\\html@mathml{\\@nleqslant}{≰}`),$(`\\nshortmid`,`\\html@mathml{\\@nshortmid}{∤}`),$(`\\nshortparallel`,`\\html@mathml{\\@nshortparallel}{∦}`),$(`\\nsubseteqq`,`\\html@mathml{\\@nsubseteqq}{⊈}`),$(`\\nsupseteqq`,`\\html@mathml{\\@nsupseteqq}{⊉}`),$(`\\varsubsetneq`,`\\html@mathml{\\@varsubsetneq}{⊊}`),$(`\\varsubsetneqq`,`\\html@mathml{\\@varsubsetneqq}{⫋}`),$(`\\varsupsetneq`,`\\html@mathml{\\@varsupsetneq}{⊋}`),$(`\\varsupsetneqq`,`\\html@mathml{\\@varsupsetneqq}{⫌}`),$(`\\imath`,`\\html@mathml{\\@imath}{ı}`),$(`\\jmath`,`\\html@mathml{\\@jmath}{ȷ}`),$(`\\llbracket`,"\\html@mathml{\\mathopen{[\\mkern-3.2mu[}}{\\mathopen{\\char`⟦}}"),$(`\\rrbracket`,"\\html@mathml{\\mathclose{]\\mkern-3.2mu]}}{\\mathclose{\\char`⟧}}"),$(`⟦`,`\\llbracket`),$(`⟧`,`\\rrbracket`),$(`\\lBrace`,"\\html@mathml{\\mathopen{\\{\\mkern-3.2mu[}}{\\mathopen{\\char`⦃}}"),$(`\\rBrace`,"\\html@mathml{\\mathclose{]\\mkern-3.2mu\\}}}{\\mathclose{\\char`⦄}}"),$(`⦃`,`\\lBrace`),$(`⦄`,`\\rBrace`),$(`\\minuso`,"\\mathbin{\\html@mathml{{\\mathrlap{\\mathchoice{\\kern{0.145em}}{\\kern{0.145em}}{\\kern{0.1015em}}{\\kern{0.0725em}}\\circ}{-}}}{\\char`⦵}}"),$(`⦵`,`\\minuso`),$(`\\darr`,`\\downarrow`),$(`\\dArr`,`\\Downarrow`),$(`\\Darr`,`\\Downarrow`),$(`\\lang`,`\\langle`),$(`\\rang`,`\\rangle`),$(`\\uarr`,`\\uparrow`),$(`\\uArr`,`\\Uparrow`),$(`\\Uarr`,`\\Uparrow`),$(`\\N`,`\\mathbb{N}`),$(`\\R`,`\\mathbb{R}`),$(`\\Z`,`\\mathbb{Z}`),$(`\\alef`,`\\aleph`),$(`\\alefsym`,`\\aleph`),$(`\\Alpha`,`\\mathrm{A}`),$(`\\Beta`,`\\mathrm{B}`),$(`\\bull`,`\\bullet`),$(`\\Chi`,`\\mathrm{X}`),$(`\\clubs`,`\\clubsuit`),$(`\\cnums`,`\\mathbb{C}`),$(`\\Complex`,`\\mathbb{C}`),$(`\\Dagger`,`\\ddagger`),$(`\\diamonds`,`\\diamondsuit`),$(`\\empty`,`\\emptyset`),$(`\\Epsilon`,`\\mathrm{E}`),$(`\\Eta`,`\\mathrm{H}`),$(`\\exist`,`\\exists`),$(`\\harr`,`\\leftrightarrow`),$(`\\hArr`,`\\Leftrightarrow`),$(`\\Harr`,`\\Leftrightarrow`),$(`\\hearts`,`\\heartsuit`),$(`\\image`,`\\Im`),$(`\\infin`,`\\infty`),$(`\\Iota`,`\\mathrm{I}`),$(`\\isin`,`\\in`),$(`\\Kappa`,`\\mathrm{K}`),$(`\\larr`,`\\leftarrow`),$(`\\lArr`,`\\Leftarrow`),$(`\\Larr`,`\\Leftarrow`),$(`\\lrarr`,`\\leftrightarrow`),$(`\\lrArr`,`\\Leftrightarrow`),$(`\\Lrarr`,`\\Leftrightarrow`),$(`\\Mu`,`\\mathrm{M}`),$(`\\natnums`,`\\mathbb{N}`),$(`\\Nu`,`\\mathrm{N}`),$(`\\Omicron`,`\\mathrm{O}`),$(`\\plusmn`,`\\pm`),$(`\\rarr`,`\\rightarrow`),$(`\\rArr`,`\\Rightarrow`),$(`\\Rarr`,`\\Rightarrow`),$(`\\real`,`\\Re`),$(`\\reals`,`\\mathbb{R}`),$(`\\Reals`,`\\mathbb{R}`),$(`\\Rho`,`\\mathrm{P}`),$(`\\sdot`,`\\cdot`),$(`\\sect`,`\\S`),$(`\\spades`,`\\spadesuit`),$(`\\sub`,`\\subset`),$(`\\sube`,`\\subseteq`),$(`\\supe`,`\\supseteq`),$(`\\Tau`,`\\mathrm{T}`),$(`\\thetasym`,`\\vartheta`),$(`\\weierp`,`\\wp`),$(`\\Zeta`,`\\mathrm{Z}`),$(`\\argmin`,`\\DOTSB\\operatorname*{arg\\,min}`),$(`\\argmax`,`\\DOTSB\\operatorname*{arg\\,max}`),$(`\\plim`,`\\DOTSB\\mathop{\\operatorname{plim}}\\limits`),$(`\\bra`,`\\mathinner{\\langle{#1}|}`),$(`\\ket`,`\\mathinner{|{#1}\\rangle}`),$(`\\braket`,`\\mathinner{\\langle{#1}\\rangle}`),$(`\\Bra`,`\\left\\langle#1\\right|`),$(`\\Ket`,`\\left|#1\\right\\rangle`);var _a=e=>t=>{var n=t.consumeArg().tokens,r=t.consumeArg().tokens,i=t.consumeArg().tokens,a=t.consumeArg().tokens,o=t.macros.get(`|`),s=t.macros.get(`\\|`);t.macros.beginGroup();var c=t=>n=>{e&&(n.macros.set(`|`,o),i.length&&n.macros.set(`\\|`,s));var a=t;return!t&&i.length&&n.future().text===`|`&&(n.popToken(),a=!0),{tokens:a?i:r,numArgs:0}};t.macros.set(`|`,c(!1)),i.length&&t.macros.set(`\\|`,c(!0));var l=t.consumeArg().tokens,u=t.expandTokens([...a,...l,...n]);return t.macros.endGroup(),{tokens:u.reverse(),numArgs:0}};$(`\\bra@ket`,_a(!1)),$(`\\bra@set`,_a(!0)),$(`\\Braket`,`\\bra@ket{\\left\\langle}{\\,\\middle\\vert\\,}{\\,\\middle\\vert\\,}{\\right\\rangle}`),$(`\\Set`,`\\bra@set{\\left\\{\\:}{\\;\\middle\\vert\\;}{\\;\\middle\\Vert\\;}{\\:\\right\\}}`),$(`\\set`,`\\bra@set{\\{\\,}{\\mid}{}{\\,\\}}`),$(`\\angln`,`{\\angl n}`),$(`\\blue`,`\\textcolor{##6495ed}{#1}`),$(`\\orange`,`\\textcolor{##ffa500}{#1}`),$(`\\pink`,`\\textcolor{##ff00af}{#1}`),$(`\\red`,`\\textcolor{##df0030}{#1}`),$(`\\green`,`\\textcolor{##28ae7b}{#1}`),$(`\\gray`,`\\textcolor{gray}{#1}`),$(`\\purple`,`\\textcolor{##9d38bd}{#1}`),$(`\\blueA`,`\\textcolor{##ccfaff}{#1}`),$(`\\blueB`,`\\textcolor{##80f6ff}{#1}`),$(`\\blueC`,`\\textcolor{##63d9ea}{#1}`),$(`\\blueD`,`\\textcolor{##11accd}{#1}`),$(`\\blueE`,`\\textcolor{##0c7f99}{#1}`),$(`\\tealA`,`\\textcolor{##94fff5}{#1}`),$(`\\tealB`,`\\textcolor{##26edd5}{#1}`),$(`\\tealC`,`\\textcolor{##01d1c1}{#1}`),$(`\\tealD`,`\\textcolor{##01a995}{#1}`),$(`\\tealE`,`\\textcolor{##208170}{#1}`),$(`\\greenA`,`\\textcolor{##b6ffb0}{#1}`),$(`\\greenB`,`\\textcolor{##8af281}{#1}`),$(`\\greenC`,`\\textcolor{##74cf70}{#1}`),$(`\\greenD`,`\\textcolor{##1fab54}{#1}`),$(`\\greenE`,`\\textcolor{##0d923f}{#1}`),$(`\\goldA`,`\\textcolor{##ffd0a9}{#1}`),$(`\\goldB`,`\\textcolor{##ffbb71}{#1}`),$(`\\goldC`,`\\textcolor{##ff9c39}{#1}`),$(`\\goldD`,`\\textcolor{##e07d10}{#1}`),$(`\\goldE`,`\\textcolor{##a75a05}{#1}`),$(`\\redA`,`\\textcolor{##fca9a9}{#1}`),$(`\\redB`,`\\textcolor{##ff8482}{#1}`),$(`\\redC`,`\\textcolor{##f9685d}{#1}`),$(`\\redD`,`\\textcolor{##e84d39}{#1}`),$(`\\redE`,`\\textcolor{##bc2612}{#1}`),$(`\\maroonA`,`\\textcolor{##ffbde0}{#1}`),$(`\\maroonB`,`\\textcolor{##ff92c6}{#1}`),$(`\\maroonC`,`\\textcolor{##ed5fa6}{#1}`),$(`\\maroonD`,`\\textcolor{##ca337c}{#1}`),$(`\\maroonE`,`\\textcolor{##9e034e}{#1}`),$(`\\purpleA`,`\\textcolor{##ddd7ff}{#1}`),$(`\\purpleB`,`\\textcolor{##c6b9fc}{#1}`),$(`\\purpleC`,`\\textcolor{##aa87ff}{#1}`),$(`\\purpleD`,`\\textcolor{##7854ab}{#1}`),$(`\\purpleE`,`\\textcolor{##543b78}{#1}`),$(`\\mintA`,`\\textcolor{##f5f9e8}{#1}`),$(`\\mintB`,`\\textcolor{##edf2df}{#1}`),$(`\\mintC`,`\\textcolor{##e0e5cc}{#1}`),$(`\\grayA`,`\\textcolor{##f6f7f7}{#1}`),$(`\\grayB`,`\\textcolor{##f0f1f2}{#1}`),$(`\\grayC`,`\\textcolor{##e3e5e6}{#1}`),$(`\\grayD`,`\\textcolor{##d6d8da}{#1}`),$(`\\grayE`,`\\textcolor{##babec2}{#1}`),$(`\\grayF`,`\\textcolor{##888d93}{#1}`),$(`\\grayG`,`\\textcolor{##626569}{#1}`),$(`\\grayH`,`\\textcolor{##3b3e40}{#1}`),$(`\\grayI`,`\\textcolor{##21242c}{#1}`),$(`\\kaBlue`,`\\textcolor{##314453}{#1}`),$(`\\kaGreen`,`\\textcolor{##71B307}{#1}`);var va={"^":!0,_:!0,"\\limits":!0,"\\nolimits":!0},ya=class{constructor(e,t,n){this.settings=void 0,this.expansionCount=void 0,this.lexer=void 0,this.macros=void 0,this.stack=void 0,this.mode=void 0,this.settings=t,this.expansionCount=0,this.feed(e),this.macros=new la(ua,t.macros),this.mode=n,this.stack=[]}feed(e){this.lexer=new ca(e,this.settings)}switchMode(e){this.mode=e}beginGroup(){this.macros.beginGroup()}endGroup(){this.macros.endGroup()}endGroups(){this.macros.endGroups()}future(){return this.stack.length===0&&this.pushToken(this.lexer.lex()),this.stack[this.stack.length-1]}popToken(){return this.future(),this.stack.pop()}pushToken(e){this.stack.push(e)}pushTokens(e){this.stack.push(...e)}scanArgument(e){var t,n,r;if(e){if(this.consumeSpaces(),this.future().text!==`[`)return null;t=this.popToken();var i=this.consumeArg([`]`]);r=i.tokens,n=i.end}else{var a=this.consumeArg();r=a.tokens,t=a.start,n=a.end}return this.pushToken(new li(`EOF`,n.loc)),this.pushTokens(r),new li(``,ci.range(t,n))}consumeSpaces(){for(;this.future().text===` `;)this.stack.pop()}consumeArg(e){var t=[],n=e&&e.length>0;n||this.consumeSpaces();var r=this.future(),i,a=0,o=0;do{if(i=this.popToken(),t.push(i),i.text===`{`)++a;else if(i.text===`}`){if(--a,a===-1)throw new s(`Extra }`,i)}else if(i.text===`EOF`)throw new s(`Unexpected end of input in a macro argument, expected '`+(e&&n?e[o]:`}`)+`'`,i);if(e&&n){if((a===0||a===1&&e[o]===`{`)&&i.text===e[o]){if(++o,o===e.length){t.splice(-o,o);break}}else o=0}}while(a!==0||n);return r.text===`{`&&t[t.length-1].text===`}`&&(t.pop(),t.shift()),t.reverse(),{tokens:t,start:r,end:i}}consumeArgs(e,t){if(t){if(t.length!==e+1)throw new s(`The length of delimiters doesn't match the number of args!`);for(var n=t[0],r=0;rthis.settings.maxExpand)throw new s(`Too many expansions: infinite loop or need to increase maxExpand setting`)}expandOnce(e){var t=this.popToken(),n=t.text,r=t.noexpand?null:this._getExpansion(n);if(r==null||e&&r.unexpandable){if(e&&r==null&&n[0]===`\\`&&!this.isDefined(n))throw new s(`Undefined control sequence: `+n);return this.pushToken(t),!1}this.countExpansion(1);var i=r.tokens,a=this.consumeArgs(r.numArgs,r.delimiters);if(r.numArgs){i=i.slice();for(var o=i.length-1;o>=0;--o){var c=i[o];if(c.text===`#`){if(o===0)throw new s(`Incomplete placeholder at end of macro body`,c);if(c=i[--o],c.text===`#`)i.splice(o+1,1);else if(/^[1-9]$/.test(c.text))i.splice(o,2,...a[c.text-1]);else throw new s(`Not a valid argument number`,c)}}}return this.pushTokens(i),i.length}expandAfterFuture(){return this.expandOnce(),this.future()}expandNextToken(){for(;;)if(this.expandOnce()===!1){var e=this.stack.pop();return e.treatAsRelax&&(e.text=`\\relax`),e}}expandMacro(e){return this.macros.has(e)?this.expandTokens([new li(e)]):void 0}expandTokens(e){var t=[],n=this.stack.length;for(this.pushTokens(e);this.stack.length>n;)if(this.expandOnce(!0)===!1){var r=this.stack.pop();r.treatAsRelax&&=(r.noexpand=!1,!1),t.push(r)}return this.countExpansion(t.length),t}expandMacroAsText(e){var t=this.expandMacro(e);return t&&t.map(e=>e.text).join(``)}_getExpansion(e){var t=this.macros.get(e);if(t==null)return t;if(e.length===1){var n=this.lexer.catcodes[e];if(n!=null&&n!==13)return}var r=typeof t==`function`?t(this):t;if(typeof r==`string`){var i=0;if(r.includes(`#`))for(var a=r.replace(/##/g,``);a.includes(`#`+(i+1));)++i;for(var o=new ca(r,this.settings),s=[],c=o.lex();c.text!==`EOF`;)s.push(c),c=o.lex();return s.reverse(),{tokens:s,numArgs:i}}return r}isDefined(e){return this.macros.has(e)||Object.prototype.hasOwnProperty.call($i,e)||Object.prototype.hasOwnProperty.call(j.math,e)||Object.prototype.hasOwnProperty.call(j.text,e)||Object.prototype.hasOwnProperty.call(va,e)}isExpandable(e){var t=this.macros.get(e);return t==null?Object.prototype.hasOwnProperty.call($i,e)&&!$i[e].primitive:typeof t==`string`||typeof t==`function`||!t.unexpandable}},ba=/^[₊₋₌₍₎₀₁₂₃₄₅₆₇₈₉ₐₑₕᵢⱼₖₗₘₙₒₚᵣₛₜᵤᵥₓᵦᵧᵨᵩᵪ]/,xa=Object.freeze({"₊":`+`,"₋":`-`,"₌":`=`,"₍":`(`,"₎":`)`,"₀":`0`,"₁":`1`,"₂":`2`,"₃":`3`,"₄":`4`,"₅":`5`,"₆":`6`,"₇":`7`,"₈":`8`,"₉":`9`,ₐ:`a`,ₑ:`e`,ₕ:`h`,ᵢ:`i`,ⱼ:`j`,ₖ:`k`,ₗ:`l`,ₘ:`m`,ₙ:`n`,ₒ:`o`,ₚ:`p`,ᵣ:`r`,ₛ:`s`,ₜ:`t`,ᵤ:`u`,ᵥ:`v`,ₓ:`x`,ᵦ:`β`,ᵧ:`γ`,ᵨ:`ρ`,ᵩ:`ϕ`,ᵪ:`χ`,"⁺":`+`,"⁻":`-`,"⁼":`=`,"⁽":`(`,"⁾":`)`,"⁰":`0`,"¹":`1`,"²":`2`,"³":`3`,"⁴":`4`,"⁵":`5`,"⁶":`6`,"⁷":`7`,"⁸":`8`,"⁹":`9`,ᴬ:`A`,ᴮ:`B`,ᴰ:`D`,ᴱ:`E`,ᴳ:`G`,ᴴ:`H`,ᴵ:`I`,ᴶ:`J`,ᴷ:`K`,ᴸ:`L`,ᴹ:`M`,ᴺ:`N`,ᴼ:`O`,ᴾ:`P`,ᴿ:`R`,ᵀ:`T`,ᵁ:`U`,ⱽ:`V`,ᵂ:`W`,ᵃ:`a`,ᵇ:`b`,ᶜ:`c`,ᵈ:`d`,ᵉ:`e`,ᶠ:`f`,ᵍ:`g`,ʰ:`h`,ⁱ:`i`,ʲ:`j`,ᵏ:`k`,ˡ:`l`,ᵐ:`m`,ⁿ:`n`,ᵒ:`o`,ᵖ:`p`,ʳ:`r`,ˢ:`s`,ᵗ:`t`,ᵘ:`u`,ᵛ:`v`,ʷ:`w`,ˣ:`x`,ʸ:`y`,ᶻ:`z`,ᵝ:`β`,ᵞ:`γ`,ᵟ:`δ`,ᵠ:`ϕ`,ᵡ:`χ`,ᶿ:`θ`}),Sa={"́":{text:`\\'`,math:`\\acute`},"̀":{text:"\\`",math:`\\grave`},"̈":{text:`\\"`,math:`\\ddot`},"̃":{text:`\\~`,math:`\\tilde`},"̄":{text:`\\=`,math:`\\bar`},"̆":{text:`\\u`,math:`\\breve`},"̌":{text:`\\v`,math:`\\check`},"̂":{text:`\\^`,math:`\\hat`},"̇":{text:`\\.`,math:`\\dot`},"̊":{text:`\\r`,math:`\\mathring`},"̋":{text:`\\H`},"̧":{text:`\\c`}},Ca={á:`á`,à:`à`,ä:`ä`,ǟ:`ǟ`,ã:`ã`,ā:`ā`,ă:`ă`,ắ:`ắ`,ằ:`ằ`,ẵ:`ẵ`,ǎ:`ǎ`,â:`â`,ấ:`ấ`,ầ:`ầ`,ẫ:`ẫ`,ȧ:`ȧ`,ǡ:`ǡ`,å:`å`,ǻ:`ǻ`,ḃ:`ḃ`,ć:`ć`,ḉ:`ḉ`,č:`č`,ĉ:`ĉ`,ċ:`ċ`,ç:`ç`,ď:`ď`,ḋ:`ḋ`,ḑ:`ḑ`,é:`é`,è:`è`,ë:`ë`,ẽ:`ẽ`,ē:`ē`,ḗ:`ḗ`,ḕ:`ḕ`,ĕ:`ĕ`,ḝ:`ḝ`,ě:`ě`,ê:`ê`,ế:`ế`,ề:`ề`,ễ:`ễ`,ė:`ė`,ȩ:`ȩ`,ḟ:`ḟ`,ǵ:`ǵ`,ḡ:`ḡ`,ğ:`ğ`,ǧ:`ǧ`,ĝ:`ĝ`,ġ:`ġ`,ģ:`ģ`,ḧ:`ḧ`,ȟ:`ȟ`,ĥ:`ĥ`,ḣ:`ḣ`,ḩ:`ḩ`,í:`í`,ì:`ì`,ï:`ï`,ḯ:`ḯ`,ĩ:`ĩ`,ī:`ī`,ĭ:`ĭ`,ǐ:`ǐ`,î:`î`,ǰ:`ǰ`,ĵ:`ĵ`,ḱ:`ḱ`,ǩ:`ǩ`,ķ:`ķ`,ĺ:`ĺ`,ľ:`ľ`,ļ:`ļ`,ḿ:`ḿ`,ṁ:`ṁ`,ń:`ń`,ǹ:`ǹ`,ñ:`ñ`,ň:`ň`,ṅ:`ṅ`,ņ:`ņ`,ó:`ó`,ò:`ò`,ö:`ö`,ȫ:`ȫ`,õ:`õ`,ṍ:`ṍ`,ṏ:`ṏ`,ȭ:`ȭ`,ō:`ō`,ṓ:`ṓ`,ṑ:`ṑ`,ŏ:`ŏ`,ǒ:`ǒ`,ô:`ô`,ố:`ố`,ồ:`ồ`,ỗ:`ỗ`,ȯ:`ȯ`,ȱ:`ȱ`,ő:`ő`,ṕ:`ṕ`,ṗ:`ṗ`,ŕ:`ŕ`,ř:`ř`,ṙ:`ṙ`,ŗ:`ŗ`,ś:`ś`,ṥ:`ṥ`,š:`š`,ṧ:`ṧ`,ŝ:`ŝ`,ṡ:`ṡ`,ş:`ş`,ẗ:`ẗ`,ť:`ť`,ṫ:`ṫ`,ţ:`ţ`,ú:`ú`,ù:`ù`,ü:`ü`,ǘ:`ǘ`,ǜ:`ǜ`,ǖ:`ǖ`,ǚ:`ǚ`,ũ:`ũ`,ṹ:`ṹ`,ū:`ū`,ṻ:`ṻ`,ŭ:`ŭ`,ǔ:`ǔ`,û:`û`,ů:`ů`,ű:`ű`,ṽ:`ṽ`,ẃ:`ẃ`,ẁ:`ẁ`,ẅ:`ẅ`,ŵ:`ŵ`,ẇ:`ẇ`,ẘ:`ẘ`,ẍ:`ẍ`,ẋ:`ẋ`,ý:`ý`,ỳ:`ỳ`,ÿ:`ÿ`,ỹ:`ỹ`,ȳ:`ȳ`,ŷ:`ŷ`,ẏ:`ẏ`,ẙ:`ẙ`,ź:`ź`,ž:`ž`,ẑ:`ẑ`,ż:`ż`,Á:`Á`,À:`À`,Ä:`Ä`,Ǟ:`Ǟ`,Ã:`Ã`,Ā:`Ā`,Ă:`Ă`,Ắ:`Ắ`,Ằ:`Ằ`,Ẵ:`Ẵ`,Ǎ:`Ǎ`,Â:`Â`,Ấ:`Ấ`,Ầ:`Ầ`,Ẫ:`Ẫ`,Ȧ:`Ȧ`,Ǡ:`Ǡ`,Å:`Å`,Ǻ:`Ǻ`,Ḃ:`Ḃ`,Ć:`Ć`,Ḉ:`Ḉ`,Č:`Č`,Ĉ:`Ĉ`,Ċ:`Ċ`,Ç:`Ç`,Ď:`Ď`,Ḋ:`Ḋ`,Ḑ:`Ḑ`,É:`É`,È:`È`,Ë:`Ë`,Ẽ:`Ẽ`,Ē:`Ē`,Ḗ:`Ḗ`,Ḕ:`Ḕ`,Ĕ:`Ĕ`,Ḝ:`Ḝ`,Ě:`Ě`,Ê:`Ê`,Ế:`Ế`,Ề:`Ề`,Ễ:`Ễ`,Ė:`Ė`,Ȩ:`Ȩ`,Ḟ:`Ḟ`,Ǵ:`Ǵ`,Ḡ:`Ḡ`,Ğ:`Ğ`,Ǧ:`Ǧ`,Ĝ:`Ĝ`,Ġ:`Ġ`,Ģ:`Ģ`,Ḧ:`Ḧ`,Ȟ:`Ȟ`,Ĥ:`Ĥ`,Ḣ:`Ḣ`,Ḩ:`Ḩ`,Í:`Í`,Ì:`Ì`,Ï:`Ï`,Ḯ:`Ḯ`,Ĩ:`Ĩ`,Ī:`Ī`,Ĭ:`Ĭ`,Ǐ:`Ǐ`,Î:`Î`,İ:`İ`,Ĵ:`Ĵ`,Ḱ:`Ḱ`,Ǩ:`Ǩ`,Ķ:`Ķ`,Ĺ:`Ĺ`,Ľ:`Ľ`,Ļ:`Ļ`,Ḿ:`Ḿ`,Ṁ:`Ṁ`,Ń:`Ń`,Ǹ:`Ǹ`,Ñ:`Ñ`,Ň:`Ň`,Ṅ:`Ṅ`,Ņ:`Ņ`,Ó:`Ó`,Ò:`Ò`,Ö:`Ö`,Ȫ:`Ȫ`,Õ:`Õ`,Ṍ:`Ṍ`,Ṏ:`Ṏ`,Ȭ:`Ȭ`,Ō:`Ō`,Ṓ:`Ṓ`,Ṑ:`Ṑ`,Ŏ:`Ŏ`,Ǒ:`Ǒ`,Ô:`Ô`,Ố:`Ố`,Ồ:`Ồ`,Ỗ:`Ỗ`,Ȯ:`Ȯ`,Ȱ:`Ȱ`,Ő:`Ő`,Ṕ:`Ṕ`,Ṗ:`Ṗ`,Ŕ:`Ŕ`,Ř:`Ř`,Ṙ:`Ṙ`,Ŗ:`Ŗ`,Ś:`Ś`,Ṥ:`Ṥ`,Š:`Š`,Ṧ:`Ṧ`,Ŝ:`Ŝ`,Ṡ:`Ṡ`,Ş:`Ş`,Ť:`Ť`,Ṫ:`Ṫ`,Ţ:`Ţ`,Ú:`Ú`,Ù:`Ù`,Ü:`Ü`,Ǘ:`Ǘ`,Ǜ:`Ǜ`,Ǖ:`Ǖ`,Ǚ:`Ǚ`,Ũ:`Ũ`,Ṹ:`Ṹ`,Ū:`Ū`,Ṻ:`Ṻ`,Ŭ:`Ŭ`,Ǔ:`Ǔ`,Û:`Û`,Ů:`Ů`,Ű:`Ű`,Ṽ:`Ṽ`,Ẃ:`Ẃ`,Ẁ:`Ẁ`,Ẅ:`Ẅ`,Ŵ:`Ŵ`,Ẇ:`Ẇ`,Ẍ:`Ẍ`,Ẋ:`Ẋ`,Ý:`Ý`,Ỳ:`Ỳ`,Ÿ:`Ÿ`,Ỹ:`Ỹ`,Ȳ:`Ȳ`,Ŷ:`Ŷ`,Ẏ:`Ẏ`,Ź:`Ź`,Ž:`Ž`,Ẑ:`Ẑ`,Ż:`Ż`,ά:`ά`,ὰ:`ὰ`,ᾱ:`ᾱ`,ᾰ:`ᾰ`,έ:`έ`,ὲ:`ὲ`,ή:`ή`,ὴ:`ὴ`,ί:`ί`,ὶ:`ὶ`,ϊ:`ϊ`,ΐ:`ΐ`,ῒ:`ῒ`,ῑ:`ῑ`,ῐ:`ῐ`,ό:`ό`,ὸ:`ὸ`,ύ:`ύ`,ὺ:`ὺ`,ϋ:`ϋ`,ΰ:`ΰ`,ῢ:`ῢ`,ῡ:`ῡ`,ῠ:`ῠ`,ώ:`ώ`,ὼ:`ὼ`,Ύ:`Ύ`,Ὺ:`Ὺ`,Ϋ:`Ϋ`,Ῡ:`Ῡ`,Ῠ:`Ῠ`,Ώ:`Ώ`,Ὼ:`Ὼ`},wa=class e{constructor(e,t){this.mode=void 0,this.gullet=void 0,this.settings=void 0,this.leftrightDepth=void 0,this.nextToken=void 0,this.mode=`math`,this.gullet=new ya(e,t,this.mode),this.settings=t,this.leftrightDepth=0,this.nextToken=null}expect(e,t){if(t===void 0&&(t=!0),this.fetch().text!==e)throw new s(`Expected '`+e+`', got '`+this.fetch().text+`'`,this.fetch());t&&this.consume()}consume(){this.nextToken=null}fetch(){return this.nextToken??=this.gullet.expandNextToken(),this.nextToken}switchMode(e){this.mode=e,this.gullet.switchMode(e)}parse(){this.settings.globalGroup||this.gullet.beginGroup(),this.settings.colorIsTextColor&&this.gullet.macros.set(`\\color`,`\\textcolor`);try{var e=this.parseExpression(!1);return this.expect(`EOF`),this.settings.globalGroup||this.gullet.endGroup(),e}finally{this.gullet.endGroups()}}subparse(e){var t=this.nextToken;this.consume(),this.gullet.pushToken(new li(`}`)),this.gullet.pushTokens(e);var n=this.parseExpression(!1);return this.expect(`}`),this.nextToken=t,n}parseExpression(t,n){for(var r=[];;){this.mode===`math`&&this.consumeSpaces();var i=this.fetch();if(e.endOfExpression.has(i.text)||n&&i.text===n||t&&$i[i.text]&&$i[i.text].infix)break;var a=this.parseAtom(n);if(!a)break;a.type!==`internal`&&r.push(a)}return this.mode===`text`&&this.formLigatures(r),this.handleInfixNodes(r)}handleInfixNodes(e){for(var t=-1,n,r=0;r=128)this.settings.strict&&(me(t.charCodeAt(0))?this.mode===`math`&&this.settings.reportNonstrict(`unicodeTextInMathMode`,`Unicode text character "`+t[0]+`" used in math mode`,e):this.settings.reportNonstrict(`unknownSymbol`,`Unrecognized Unicode character "`+t[0]+`"`+(` (`+t.charCodeAt(0)+`)`),e)),a={type:`textord`,mode:`text`,loc:ci.range(e),text:t};else return null;if(this.consume(),i)for(var l=0;l{try{return ja.renderToString(p.expr,{displayMode:p.display,throwOnError:!1,output:`html`})}catch{return`${p.expr}`}});return(t,n)=>(i(),e(`span`,{class:r([`dl-katex`,{"is-display":p.display}]),innerHTML:m.value},null,10,Ma))}}),[[`__scopeId`,`data-v-78921b68`]]);export{Na as t}; \ No newline at end of file diff --git a/lecture-05/assets/NoteDisplay-DCBzjb4F.css b/lecture-05/assets/NoteDisplay-DCBzjb4F.css new file mode 100644 index 0000000000000000000000000000000000000000..249a685ef5ff9168a0e2385b2e0bb8802f138a28 --- /dev/null +++ b/lecture-05/assets/NoteDisplay-DCBzjb4F.css @@ -0,0 +1 @@ +.slidev-note :first-child{margin-top:0}.slidev-note{overflow-wrap:anywhere;word-break:break-word} diff --git a/lecture-05/assets/Plot2D-C9URVmMB.js b/lecture-05/assets/Plot2D-C9URVmMB.js new file mode 100644 index 0000000000000000000000000000000000000000..24921e31c2f73ac417d37664c4981de455b72026 --- /dev/null +++ b/lecture-05/assets/Plot2D-C9URVmMB.js @@ -0,0 +1,10 @@ +import{B as e,H as t,K as n,St as r,V as i,_ as a,b as o,g as s,ht as c,k as l,m as u,ut as d,vt as f,w as p,y as m,z as h}from"./modules/shiki-CkJq9tSf.js";import{t as g}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{n as _}from"./slidev/context-DnYiQGy6.js";var v=Symbol(`dl-plot`);function y(){let e=l(v,null);if(!e)throw Error(`This component must be used inside a `);return e}function b(e,t,n=6){if(!Number.isFinite(e)||!Number.isFinite(t)||e===t)return[e];let r=(t-e)/Math.max(n,1),i=10**Math.floor(Math.log10(r)),a=r/i,o=(a>=5?10:a>=2?5:a>=1?2:1)*i,s=[],c=Math.ceil(e/o)*o;for(let e=c;e<=t+o*1e-9;e+=o)s.push(Math.abs(e)=1e5||t<1e-4?e.toExponential(0):String(Number(e.toFixed(6)))}var S=[`viewBox`],C={key:0,class:`dl-plot__grid`},w=[`x1`,`x2`,`y1`,`y2`],T=[`x1`,`x2`,`y1`,`y2`],E={class:`dl-plot__axes`},D=[`x1`,`x2`,`y1`,`y2`],O=[`x1`,`x2`,`y1`,`y2`],k={class:`dl-plot__ticks`},A=[`x1`,`x2`,`y1`,`y2`],j=[`x`,`y`],M=[`x1`,`x2`,`y1`,`y2`],N=[`x`,`y`],P=[`x`,`y`,`width`,`height`],F=[`clip-path`],I=[`x`,`y`],L=[`x`],R=g(p({__name:`Plot2D`,props:{xDomain:{default:()=>[0,1]},yDomain:{default:()=>[0,1]},width:{default:520},height:{default:320},xLabel:{},yLabel:{},xTicks:{default:6},yTicks:{default:5},grid:{type:Boolean,default:!0},originAxes:{type:Boolean,default:!1},padding:{}},setup(l,{expose:p}){let{$slidev:g,$nav:y,$clicksContext:R,$clicks:z,$page:ee,$renderContext:te,$frontmatter:ne}=_(),B=l,V=s(()=>({top:B.padding?.top??14,right:B.padding?.right??16,bottom:B.padding?.bottom??(B.xLabel?42:28),left:B.padding?.left??(B.yLabel?52:40)})),H=s(()=>({x:V.value.left,y:V.value.top,width:Math.max(B.width-V.value.left-V.value.right,1),height:Math.max(B.height-V.value.top-V.value.bottom,1)})),U=e=>{let[t,n]=B.xDomain;return H.value.x+(e-t)/(n-t||1)*H.value.width},W=e=>{let[t,n]=B.yDomain;return H.value.y+(1-(e-t)/(n-t||1))*H.value.height},G=e=>{let[t,n]=B.xDomain;return t+(e-H.value.x)/H.value.width*(n-t)},K=e=>{let[t,n]=B.yDomain;return t+(1-(e-H.value.y)/H.value.height)*(n-t)};e(v,{sx:U,sy:W,ix:G,iy:K,xDomain:c(B,`xDomain`),yDomain:c(B,`yDomain`),inner:H});let q=s(()=>Array.isArray(B.xTicks)?B.xTicks:b(B.xDomain[0],B.xDomain[1],B.xTicks)),J=s(()=>Array.isArray(B.yTicks)?B.yTicks:b(B.yDomain[0],B.yDomain[1],B.yTicks)),Y=s(()=>B.originAxes?W(Math.min(Math.max(0,B.yDomain[0]),B.yDomain[1])):H.value.y+H.value.height),X=s(()=>B.originAxes?U(Math.min(Math.max(0,B.xDomain[0]),B.xDomain[1])):H.value.x),Z=d(null),Q=`dl-plot-clip-${n()}`;function $(e){let t=Z.value;if(!t)return null;let n=t.getBoundingClientRect(),r=(e.clientX-n.left)/n.width*B.width,i=(e.clientY-n.top)/n.height*B.height;return{x:G(r),y:K(i)}}return p({dataAt:$,sx:U,sy:W,ix:G,iy:K}),(e,n)=>(h(),o(`svg`,{ref_key:`svg`,ref:Z,class:`dl-plot`,viewBox:`0 0 ${B.width} ${B.height}`,preserveAspectRatio:`xMidYMid meet`,role:`img`},[B.grid?(h(),o(`g`,C,[(h(!0),o(u,null,i(q.value,e=>(h(),o(`line`,{key:`gx${e}`,x1:U(e),x2:U(e),y1:H.value.y,y2:H.value.y+H.value.height},null,8,w))),128)),(h(!0),o(u,null,i(J.value,e=>(h(),o(`line`,{key:`gy${e}`,x1:H.value.x,x2:H.value.x+H.value.width,y1:W(e),y2:W(e)},null,8,T))),128))])):m(`v-if`,!0),a(`g`,E,[a(`line`,{x1:H.value.x,x2:H.value.x+H.value.width,y1:Y.value,y2:Y.value},null,8,D),a(`line`,{x1:X.value,x2:X.value,y1:H.value.y,y2:H.value.y+H.value.height},null,8,O)]),m(` + Tick *marks* sit on the axis, which may run through the origin; tick + *labels* always sit on the frame edge. Letting labels follow a + through-origin axis buries them in the middle of the data and collides the + two zeros on top of each other. + `),a(`g`,k,[(h(!0),o(u,null,i(q.value,e=>(h(),o(u,{key:`tx${e}`},[a(`line`,{x1:U(e),x2:U(e),y1:Y.value,y2:Y.value+5},null,8,A),a(`text`,{x:U(e),y:H.value.y+H.value.height+17,"text-anchor":`middle`},r(f(x)(e)),9,j)],64))),128)),(h(!0),o(u,null,i(J.value,e=>(h(),o(u,{key:`ty${e}`},[a(`line`,{x1:X.value-5,x2:X.value,y1:W(e),y2:W(e)},null,8,M),a(`text`,{x:H.value.x-9,y:W(e)+4,"text-anchor":`end`},r(f(x)(e)),9,N)],64))),128))]),m(` + Marks are clipped to the plot area. A decision boundary or a diverging + trajectory legitimately runs off the domain, and without this it paints + straight across the rest of the slide. + `),a(`defs`,null,[a(`clipPath`,{id:Q},[a(`rect`,{x:H.value.x,y:H.value.y,width:H.value.width,height:H.value.height},null,8,P)])]),a(`g`,{"clip-path":`url(#${Q})`},[t(e.$slots,`default`,{},void 0,!0)],8,F),m(` Annotations that are allowed to sit outside the axes. `),t(e.$slots,`overlay`,{},void 0,!0),B.xLabel?(h(),o(`text`,{key:1,class:`dl-plot__label`,x:H.value.x+H.value.width/2,y:B.height-6,"text-anchor":`middle`},r(B.xLabel),9,I)):m(`v-if`,!0),B.yLabel?(h(),o(`text`,{key:2,class:`dl-plot__label`,x:-(H.value.y+H.value.height/2),y:13,"text-anchor":`middle`,transform:`rotate(-90)`},r(B.yLabel),9,L)):m(`v-if`,!0)],8,S))}}),[[`__scopeId`,`data-v-515e2759`]]);export{y as n,R as t}; \ No newline at end of file diff --git a/lecture-05/assets/Plot2D-PnRWAKXa.css b/lecture-05/assets/Plot2D-PnRWAKXa.css new file mode 100644 index 0000000000000000000000000000000000000000..6866d7862bae995baa107d646843832f738f1af2 --- /dev/null +++ b/lecture-05/assets/Plot2D-PnRWAKXa.css @@ -0,0 +1 @@ +.dl-plot[data-v-515e2759]{width:100%;height:100%;font-family:inherit;overflow:visible}.dl-plot__grid line[data-v-515e2759]{stroke:var(--dl-border);stroke-width:1px}.dl-plot__axes line[data-v-515e2759]{stroke:var(--dl-muted);stroke-width:1.5px}.dl-plot__ticks line[data-v-515e2759]{stroke:var(--dl-muted);stroke-width:1px}.dl-plot__ticks text[data-v-515e2759]{fill:var(--dl-muted);font-variant-numeric:tabular-nums;font-size:11px}.dl-plot__label[data-v-515e2759]{fill:var(--dl-body);font-size:12px} diff --git a/lecture-05/assets/PlotLabel-BilrlAqg.js b/lecture-05/assets/PlotLabel-BilrlAqg.js new file mode 100644 index 0000000000000000000000000000000000000000..64afc508bcbe6dc341d5b3b27538b644c9b4c724 --- /dev/null +++ b/lecture-05/assets/PlotLabel-BilrlAqg.js @@ -0,0 +1 @@ +import{H as e,St as t,_ as n,b as r,g as i,w as a,x as o,y as s,z as c}from"./modules/shiki-CkJq9tSf.js";import{n as l}from"./slidev/context-DnYiQGy6.js";import{n as u}from"./Plot2D-C9URVmMB.js";var d={class:`dl-plot-label`},f=[`x1`,`y1`,`x2`,`y2`,`stroke`],p=[`x`,`y`,`text-anchor`,`fill`,`font-size`,`font-weight`],m=a({__name:`PlotLabel`,props:{at:{},text:{},dx:{default:8},dy:{default:-8},anchor:{default:`start`},color:{},size:{default:12},leader:{type:Boolean,default:!1},bold:{type:Boolean,default:!1}},setup(a){let{$slidev:m,$nav:h,$clicksContext:g,$clicks:_,$page:v,$renderContext:y,$frontmatter:b}=l(),x=a,S=u(),C=i(()=>({x:S.sx(x.at[0]),y:S.sy(x.at[1])})),w=i(()=>({x:C.value.x+x.dx,y:C.value.y+x.dy}));return(i,a)=>(c(),r(`g`,d,[x.leader?(c(),r(`line`,{key:0,x1:C.value.x,y1:C.value.y,x2:w.value.x-(x.anchor===`end`?-4:4),y2:w.value.y+3,stroke:x.color??`var(--dl-muted)`,"stroke-width":`1`},null,8,f)):s(`v-if`,!0),n(`text`,{x:w.value.x,y:w.value.y,"text-anchor":x.anchor,fill:x.color??`var(--dl-body)`,"font-size":x.size,"font-weight":x.bold?600:400},[e(i.$slots,`default`,{},()=>[o(t(x.text),1)])],8,p)]))}});export{m as t}; \ No newline at end of file diff --git a/lecture-05/assets/PlotLine-yjOYb3U7.js b/lecture-05/assets/PlotLine-yjOYb3U7.js new file mode 100644 index 0000000000000000000000000000000000000000..0fb24e0d6b54d56e95052b9e6d33c316cfbed16f --- /dev/null +++ b/lecture-05/assets/PlotLine-yjOYb3U7.js @@ -0,0 +1 @@ +import{K as e,V as t,_ as n,b as r,g as i,m as a,w as o,xt as s,y as c,z as l}from"./modules/shiki-CkJq9tSf.js";import{n as u}from"./slidev/context-DnYiQGy6.js";import{n as d}from"./Plot2D-C9URVmMB.js";var f={class:`dl-curve`},p=[`d`,`fill`],m=[`d`,`stroke`,`stroke-width`,`stroke-dasharray`],h=o({__name:`PlotCurve`,props:{fn:{},points:{},samples:{default:160},color:{},width:{default:2.5},dashed:{type:Boolean,default:!1},fillTo:{},opacity:{default:1}},setup(e){let{$slidev:n,$nav:o,$clicksContext:h,$clicks:g,$page:_,$renderContext:v,$frontmatter:y}=u(),b=e,x=d(),S=i(()=>{if(b.points)return b.points.map(e=>Array.isArray(e)?{x:e[0],y:e[1]}:e);if(!b.fn)return[];let[e,t]=x.xDomain.value,n=Math.max(b.samples,2),r=[];for(let i=0;i{let[e,t]=x.yDomain.value,n=(t-e)*4,r=[],i=[];for(let a of S.value){if(!(Number.isFinite(a.y)&&a.y>e-n&&a.y1&&r.push(i.join(` `)),i=[];continue}i.push(`${i.length?`L`:`M`}${x.sx(a.x).toFixed(2)},${x.sy(a.y).toFixed(2)}`)}return i.length>1&&r.push(i.join(` `)),r}),w=i(()=>{if(b.fillTo===void 0||!S.value.length)return null;let[e,t]=x.yDomain.value,n=S.value.filter(e=>Number.isFinite(e.y));if(n.length<2)return null;let r=n=>Math.min(Math.max(n,e),t),i=n.map((e,t)=>`${t?`L`:`M`}${x.sx(e.x).toFixed(2)},${x.sy(r(e.y)).toFixed(2)}`).join(` `),a=x.sy(r(b.fillTo)).toFixed(2);return`${i} L${x.sx(n[n.length-1].x).toFixed(2)},${a} L${x.sx(n[0].x).toFixed(2)},${a} Z`});return(e,n)=>(l(),r(`g`,f,[w.value?(l(),r(`path`,{key:0,d:w.value,fill:b.color??`var(--dl-accent)`,style:s({opacity:.12*b.opacity}),stroke:`none`},null,12,p)):c(`v-if`,!0),(l(!0),r(a,null,t(C.value,(e,t)=>(l(),r(`path`,{key:t,d:e,fill:`none`,stroke:b.color??`var(--dl-accent)`,"stroke-width":b.width,"stroke-dasharray":b.dashed?`6 5`:void 0,style:s({opacity:b.opacity}),"stroke-linecap":`round`,"stroke-linejoin":`round`},null,12,m))),128))]))}}),g={key:0},_=[`fill`],v=[`x1`,`y1`,`x2`,`y2`,`stroke`,`stroke-width`,`stroke-dasharray`,`marker-end`],y=o({__name:`PlotLine`,props:{from:{},to:{},color:{},width:{default:2},dashed:{type:Boolean,default:!1},arrow:{type:Boolean,default:!1},opacity:{default:1}},setup(t){let{$slidev:a,$nav:o,$clicksContext:f,$clicks:p,$page:m,$renderContext:h,$frontmatter:y}=u(),b=t,x=d(),S=`dl-arrow-${e()}`,C=i(()=>({x:x.sx(b.from[0]),y:x.sy(b.from[1])})),w=i(()=>({x:x.sx(b.to[0]),y:x.sy(b.to[1])})),T=i(()=>b.color??`var(--dl-heading)`);return(e,t)=>(l(),r(`g`,{class:`dl-line`,style:s({opacity:b.opacity})},[b.arrow?(l(),r(`defs`,g,[n(`marker`,{id:S,markerWidth:`7`,markerHeight:`7`,refX:`6`,refY:`3.5`,orient:`auto`},[n(`path`,{d:`M0,0 L7,3.5 L0,7 Z`,fill:T.value},null,8,_)])])):c(`v-if`,!0),n(`line`,{x1:C.value.x,y1:C.value.y,x2:w.value.x,y2:w.value.y,stroke:T.value,"stroke-width":b.width,"stroke-dasharray":b.dashed?`6 5`:void 0,"marker-end":b.arrow?`url(#${S})`:void 0,"stroke-linecap":`round`},null,8,v)],4))}});export{h as n,y as t}; \ No newline at end of file diff --git a/lecture-05/assets/PlotPoints-CeOGnq0p.js b/lecture-05/assets/PlotPoints-CeOGnq0p.js new file mode 100644 index 0000000000000000000000000000000000000000..bb55077ad334b2561fe8e73cd7f2d82f113fb87b --- /dev/null +++ b/lecture-05/assets/PlotPoints-CeOGnq0p.js @@ -0,0 +1 @@ +import{St as e,V as t,_ as n,b as r,g as i,m as a,w as o,xt as s,y as c,yt as l,z as u}from"./modules/shiki-CkJq9tSf.js";import{t as d}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{n as f}from"./slidev/context-DnYiQGy6.js";import{n as p}from"./Plot2D-C9URVmMB.js";var m={class:`dl-points`},h=[`cx`,`cy`,`r`,`fill`],g=[`d`,`fill`],_=[`x`,`y`],v=d(o({__name:`PlotPoints`,props:{points:{},radius:{default:5},color:{},colors:{},shapes:{},opacity:{default:1}},setup(o){let{$slidev:d,$nav:v,$clicksContext:y,$clicks:b,$page:x,$renderContext:S,$frontmatter:C}=f(),w=o,T=p(),E=i(()=>w.points.map((e,t)=>{let n=String(e.cls??``);return{i:t,cx:T.sx(e.x),cy:T.sy(e.y),shape:w.shapes?.[n]??`circle`,fill:w.colors?.[n]??w.color??`var(--dl-accent)`,highlight:!!e.highlight,label:e.label}}));function D(e,t,n){let r=n*.9;return`M${e-r},${t-r} h${r*2} v${r*2} h${-r*2} Z`}function O(e,t,n){let r=n*1.2;return`M${e},${t-r} L${e+r},${t+r*.8} L${e-r},${t+r*.8} Z`}return(i,o)=>(u(),r(a,null,[c('\n Opacity goes through `style`, never the SVG `opacity` attribute. UnoCSS\n attributify scans source text, so a literal `opacity="0.85"` anywhere in the\n project emits `[opacity~="0.85"]{opacity:0.0085}` — and that CSS rule beats\n the presentation attribute, silently rendering marks all but invisible.\n '),n(`g`,m,[(u(!0),r(a,null,t(E.value,t=>(u(),r(`g`,{key:t.i,style:s({opacity:w.opacity})},[t.shape===`circle`?(u(),r(`circle`,{key:0,cx:t.cx,cy:t.cy,r:w.radius,fill:t.fill,class:l({"is-highlight":t.highlight})},null,10,h)):(u(),r(`path`,{key:1,d:t.shape===`square`?D(t.cx,t.cy,w.radius):O(t.cx,t.cy,w.radius),fill:t.fill,class:l({"is-highlight":t.highlight})},null,10,g)),t.label?(u(),r(`text`,{key:2,x:t.cx+w.radius+4,y:t.cy+4},e(t.label),9,_)):c(`v-if`,!0)],4))),128))])],2112))}}),[[`__scopeId`,`data-v-c681d555`]]);export{v as t}; \ No newline at end of file diff --git a/lecture-05/assets/PlotPoints-CnDINubi.css b/lecture-05/assets/PlotPoints-CnDINubi.css new file mode 100644 index 0000000000000000000000000000000000000000..ef32ea6492ba6a7f870e25c73435123bc5954b2d --- /dev/null +++ b/lecture-05/assets/PlotPoints-CnDINubi.css @@ -0,0 +1 @@ +.dl-points .is-highlight[data-v-c681d555]{stroke:var(--dl-heading);stroke-width:2.5px;paint-order:stroke}.dl-points text[data-v-c681d555]{fill:var(--dl-body);font-size:11px} diff --git a/lecture-05/assets/PollSlide-C7CHIzYm.css b/lecture-05/assets/PollSlide-C7CHIzYm.css new file mode 100644 index 0000000000000000000000000000000000000000..b3093394de288c41a62676784455c5efe27b9a2b --- /dev/null +++ b/lecture-05/assets/PollSlide-C7CHIzYm.css @@ -0,0 +1 @@ +.dl-poll__question[data-v-743a908f]{color:var(--dl-heading);margin-bottom:1.1rem;font-size:1.7rem;font-weight:600}.dl-poll__item[data-v-743a908f]{font-size:var(--dl-fs-body);align-items:baseline;gap:.7rem;margin:.55rem 0;display:flex}.dl-poll__bullet[data-v-743a908f]{background:var(--dl-accent-soft);width:1.5rem;height:1.5rem;color:var(--dl-accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.85rem;font-weight:700;display:inline-flex} diff --git a/lecture-05/assets/PollSlide-DdhNTMpP.js b/lecture-05/assets/PollSlide-DdhNTMpP.js new file mode 100644 index 0000000000000000000000000000000000000000..c48f2f8cd29787aca1057798a30386723f2b0d84 --- /dev/null +++ b/lecture-05/assets/PollSlide-DdhNTMpP.js @@ -0,0 +1 @@ +import{$ as e,S as t,St as n,V as r,_ as i,b as a,m as o,w as s,z as c}from"./modules/shiki-CkJq9tSf.js";import{t as l}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{n as u}from"./slidev/context-DnYiQGy6.js";import{t as d}from"./slidev/VClicks-DLDbGwsQ.js";var f={class:`dl-poll`},p={class:`dl-poll__question`},m=l(s({__name:`PollSlide`,props:{question:{},items:{}},setup(s){let{$slidev:l,$nav:m,$clicksContext:h,$clicks:g,$page:_,$renderContext:v,$frontmatter:y}=u(),b=s;return(s,l)=>{let u=d;return c(),a(`div`,f,[i(`div`,p,n(b.question),1),t(u,null,{default:e(()=>[(c(!0),a(o,null,r(b.items,e=>(c(),a(`div`,{key:e,class:`dl-poll__item`},[l[0]||=i(`span`,{class:`dl-poll__bullet`},`?`,-1),i(`span`,null,n(e),1)]))),128))]),_:1})])}}}),[[`__scopeId`,`data-v-743a908f`]]);export{m as t}; \ No newline at end of file diff --git a/lecture-05/assets/RnnGlyph-DxX0mQto.js b/lecture-05/assets/RnnGlyph-DxX0mQto.js new file mode 100644 index 0000000000000000000000000000000000000000..2c07798f37e8a9ed94cd25b9201817646164105b --- /dev/null +++ b/lecture-05/assets/RnnGlyph-DxX0mQto.js @@ -0,0 +1 @@ +import{H as e,V as t,_ as n,b as r,m as i,w as a,xt as o,y as s,yt as c,z as l}from"./modules/shiki-CkJq9tSf.js";import{t as u}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{n as d}from"./slidev/context-DnYiQGy6.js";var f=[`width`,`height`,`aria-label`],p=[`id`],m={key:0},h=[`x`],g=[`marker-end`],_={key:1},v=[`marker-end`],y=[`marker-end`],b=[`marker-end`],x={key:2},S=[`x`],C=[`d`,`marker-end`],w={key:3},T=[`marker-end`],E={key:4},D=[`cx`,`cy`,`r`],O={key:5},k=[`x`,`y`],A={key:6},j=[`marker-end`],M=[`marker-end`],N={key:0,class:`dl-rglyph__label`},P=u(a({__name:`RnnGlyph`,props:{kind:{},size:{default:64},label:{}},setup(a){let{$slidev:u,$nav:P,$clicksContext:F,$clicks:I,$page:L,$renderContext:R,$frontmatter:z}=d(),B=a,V=[1,.62,.38,.2],H=[{x:72,y:26,near:!0},{x:82,y:36,near:!0},{x:22,y:30,near:!1},{x:30,y:72,near:!1},{x:64,y:78,near:!1}];return(a,u)=>(l(),r(`figure`,{class:`dl-rglyph`,style:o({width:`${B.size}px`})},[(l(),r(`svg`,{viewBox:`0 0 100 100`,width:B.size,height:B.size,role:`img`,"aria-label":B.label??B.kind},[n(`defs`,null,[n(`marker`,{id:`rg-head-${B.kind}`,markerWidth:`6`,markerHeight:`6`,refX:`5`,refY:`3`,orient:`auto`},[...u[0]||=[n(`path`,{d:`M0 0 L6 3 L0 6 z`,class:`dl-rglyph__head`},null,-1)]],8,p)]),B.kind===`sequence`?(l(),r(`g`,m,[(l(),r(i,null,t(3,e=>n(`rect`,{key:e,x:4+(e-1)*32,y:`38`,width:`26`,height:`24`,rx:`3`,class:c([`dl-rglyph__tile`,{"is-accent":e===2}])},null,10,h)),64)),n(`path`,{d:`M8 76 H90`,class:`dl-rglyph__arrow`,"marker-end":`url(#rg-head-${B.kind})`},null,8,g)])):B.kind===`loop`?(l(),r(`g`,_,[u[1]||=n(`rect`,{x:`22`,y:`36`,width:`40`,height:`30`,rx:`5`,class:`dl-rglyph__cell`},null,-1),n(`path`,{d:`M62 44 C 92 30, 92 72, 62 58`,class:`dl-rglyph__loop`,"marker-end":`url(#rg-head-${B.kind})`},null,8,v),n(`path`,{d:`M42 90 V70`,class:`dl-rglyph__arrow`,"marker-end":`url(#rg-head-${B.kind})`},null,8,y),n(`path`,{d:`M42 34 V12`,class:`dl-rglyph__arrow`,"marker-end":`url(#rg-head-${B.kind})`},null,8,b)])):B.kind===`fade`?(l(),r(`g`,x,[(l(),r(i,null,t(V,(e,t)=>n(`g`,{key:t,style:o({opacity:e})},[n(`rect`,{x:64-t*22,y:`34`,width:`18`,height:`30`,rx:`3`,class:`dl-rglyph__cell`},null,8,S),tn(`circle`,{key:t,cx:e.x,cy:e.y,r:e.near?6:5,class:c(e.near?`dl-rglyph__dot is-accent`:`dl-rglyph__dot`)},null,10,D)),64)),u[8]||=n(`path`,{d:`M72 26 L82 36`,class:`dl-rglyph__stroke is-thin`},null,-1)])):B.kind===`shape`?(l(),r(`g`,O,[(l(),r(i,null,t(3,e=>n(`rect`,{key:e,x:22+(e-1)*8,y:20+(e-1)*8,width:`50`,height:`50`,rx:`2`,class:`dl-rglyph__slab`},null,8,k)),64)),u[9]||=n(`text`,{x:`14`,y:`58`,class:`dl-rglyph__t is-sm`,"text-anchor":`middle`},`B`,-1),u[10]||=n(`text`,{x:`63`,y:`98`,class:`dl-rglyph__t is-sm`,"text-anchor":`middle`},`T`,-1),u[11]||=n(`text`,{x:`88`,y:`24`,class:`dl-rglyph__t is-sm`,"text-anchor":`middle`},`F`,-1)])):B.kind===`generate`?(l(),r(`g`,A,[u[12]||=n(`rect`,{x:`8`,y:`34`,width:`34`,height:`28`,rx:`5`,class:`dl-rglyph__cell`},null,-1),n(`path`,{d:`M42 48 H58`,class:`dl-rglyph__arrow`,"marker-end":`url(#rg-head-${B.kind})`},null,8,j),u[13]||=n(`rect`,{x:`62`,y:`36`,width:`28`,height:`24`,rx:`3`,class:`dl-rglyph__tile is-accent`},null,-1),n(`path`,{d:`M76 62 C 76 92, 25 92, 25 66`,class:`dl-rglyph__loop`,"marker-end":`url(#rg-head-${B.kind})`},null,8,M)])):s(`v-if`,!0)],8,f)),a.$slots.default?(l(),r(`figcaption`,N,[e(a.$slots,`default`,{},void 0,!0)])):s(`v-if`,!0)],4))}}),[[`__scopeId`,`data-v-5daa2655`]]);export{P as t}; \ No newline at end of file diff --git a/lecture-05/assets/RnnGlyph-mQaYZGEb.css b/lecture-05/assets/RnnGlyph-mQaYZGEb.css new file mode 100644 index 0000000000000000000000000000000000000000..7fe12b8256aacc931839962649e91d55c4757e39 --- /dev/null +++ b/lecture-05/assets/RnnGlyph-mQaYZGEb.css @@ -0,0 +1 @@ +.dl-rglyph[data-v-5daa2655]{flex-direction:column;align-items:center;margin:0;display:inline-flex}.dl-rglyph__tile[data-v-5daa2655],.dl-rglyph__cell[data-v-5daa2655],.dl-rglyph__slab[data-v-5daa2655]{fill:var(--dl-surface);stroke:var(--dl-body);stroke-width:2px}.dl-rglyph__cell[data-v-5daa2655],.dl-rglyph__tile.is-accent[data-v-5daa2655]{fill:var(--dl-accent-soft);stroke:var(--dl-accent)}.dl-rglyph__slab[data-v-5daa2655]{fill:var(--dl-bg)}.dl-rglyph__arrow[data-v-5daa2655],.dl-rglyph__line[data-v-5daa2655],.dl-rglyph__stroke[data-v-5daa2655],.dl-rglyph__axis[data-v-5daa2655]{fill:none;stroke:var(--dl-body);stroke-width:2.4px}.dl-rglyph__axis[data-v-5daa2655]{stroke:var(--dl-muted);stroke-width:1.6px}.dl-rglyph__stroke.is-thin[data-v-5daa2655]{stroke-width:1.4px;stroke-dasharray:3 2}.dl-rglyph__loop[data-v-5daa2655]{fill:none;stroke:var(--dl-accent);stroke-width:2.4px;stroke-dasharray:4 3}.dl-rglyph__grad[data-v-5daa2655]{fill:none;stroke:var(--dl-danger);stroke-width:2.2px}.dl-rglyph__valve[data-v-5daa2655]{fill:var(--dl-accent-soft);stroke:var(--dl-accent);stroke-width:2.4px}.dl-rglyph__dot[data-v-5daa2655]{fill:var(--dl-muted)}.dl-rglyph__dot.is-accent[data-v-5daa2655]{fill:var(--dl-accent)}.dl-rglyph__head[data-v-5daa2655]{fill:var(--dl-body)}.dl-rglyph__t[data-v-5daa2655]{fill:var(--dl-heading);font-size:15px;font-weight:700}.dl-rglyph__t.is-sm[data-v-5daa2655]{fill:var(--dl-muted);font-size:12px;font-weight:600}.dl-rglyph__label[data-v-5daa2655]{color:var(--dl-body);text-align:center;white-space:nowrap;margin-top:.2rem;font-size:.78rem;font-weight:600} diff --git a/lecture-05/assets/RnnUnroll-BZpPsKMQ.css b/lecture-05/assets/RnnUnroll-BZpPsKMQ.css new file mode 100644 index 0000000000000000000000000000000000000000..52b949add20899a29085a5e67eb9cb8f5bb2a515 --- /dev/null +++ b/lecture-05/assets/RnnUnroll-BZpPsKMQ.css @@ -0,0 +1 @@ +.dl-unroll[data-v-96366cc7]{width:100%;height:100%}.dl-unroll__io[data-v-96366cc7]{fill:var(--dl-surface);stroke:var(--dl-border);stroke-width:1px;transition:fill .2s,stroke .2s}.dl-unroll__io.is-out[data-v-96366cc7]{fill:var(--dl-accent-soft);stroke:var(--dl-accent)}.dl-unroll__cell[data-v-96366cc7]{fill:var(--dl-surface);stroke:var(--dl-body);stroke-width:1.2px;transition:fill .25s,stroke .25s}.dl-unroll__cell.is-done[data-v-96366cc7]{fill:var(--dl-accent-soft);stroke:var(--dl-accent)}.dl-unroll__cell.is-current[data-v-96366cc7]{fill:var(--dl-accent);stroke:var(--dl-accent-strong);stroke-width:2px}.dl-unroll__celllabel[data-v-96366cc7]{fill:var(--dl-heading);font-size:14px;font-weight:600}.dl-unroll__cell.is-current+.dl-unroll__celllabel[data-v-96366cc7]{fill:#fff}.dl-unroll__hval[data-v-96366cc7]{fill:var(--dl-heading);font-variant-numeric:tabular-nums;font-size:9px}.dl-unroll__iolabel[data-v-96366cc7]{fill:var(--dl-heading);font-size:12.5px;font-weight:600}.dl-unroll__val[data-v-96366cc7]{fill:var(--dl-body);font-variant-numeric:tabular-nums;font-size:10px;font-weight:400}.dl-unroll__sub[data-v-96366cc7]{font-size:9px;font-weight:400}.dl-unroll__feed[data-v-96366cc7]{stroke:var(--dl-muted);stroke-width:1.4px;color:var(--dl-muted);transition:stroke .2s}.dl-unroll__feed.is-live[data-v-96366cc7]{stroke:var(--dl-accent-strong);stroke-width:2px;color:var(--dl-accent-strong)}.dl-unroll__state[data-v-96366cc7]{stroke:var(--dl-border);stroke-width:2px;color:var(--dl-border);transition:stroke .2s}.dl-unroll__state.is-live[data-v-96366cc7]{stroke:var(--dl-accent-strong);color:var(--dl-accent-strong)}.dl-unroll__loop[data-v-96366cc7]{stroke:var(--dl-accent);stroke-width:2.2px;color:var(--dl-accent)}.dl-unroll__w[data-v-96366cc7]{fill:var(--dl-muted);font-size:10.5px;font-style:italic}.dl-unroll__w.is-shared[data-v-96366cc7],.dl-unroll__w.is-loop[data-v-96366cc7]{fill:var(--dl-accent);font-weight:600}.dl-unroll__delay[data-v-96366cc7]{fill:var(--dl-muted);font-size:9.5px}.dl-unroll__h0[data-v-96366cc7]{fill:var(--dl-muted);font-variant-numeric:tabular-nums;font-size:11px}.dl-unroll__t[data-v-96366cc7]{fill:var(--dl-muted);font-size:10px}.dl-unroll__eq[data-v-96366cc7]{font-variant-numeric:tabular-nums}.dl-unroll__note[data-v-96366cc7]{color:var(--dl-accent);margin-top:.15rem;display:block} diff --git a/lecture-05/assets/RnnUnroll-qP10abej.js b/lecture-05/assets/RnnUnroll-qP10abej.js new file mode 100644 index 0000000000000000000000000000000000000000..df09d69804bbc78470ba8e164fd3123f55b83bf6 --- /dev/null +++ b/lecture-05/assets/RnnUnroll-qP10abej.js @@ -0,0 +1 @@ +import{$ as e,S as t,St as n,V as ee,_ as r,b as i,g as a,m as o,ut as s,v as te,vt as c,w as l,x as u,y as d,yt as f,z as p}from"./modules/shiki-CkJq9tSf.js";import{t as m}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{n as ne}from"./slidev/context-DnYiQGy6.js";import{n as h}from"./useConvolution-mOidZmS_.js";import{c as re,i as ie,l as ae,r as g,t as oe}from"./useRecurrence-PhWWMav6.js";import{n as se}from"./interactive-pqWNz3EB.js";import{t as ce}from"./StepButton-BvnaUJaa.js";var le=[`viewBox`],ue=[`x`,`y`],de=[`x1`,`y1`,`x2`,`y2`],fe=[`x`,`y`],pe=[`y`],me=[`x`,`y`],he=[`d`],ge=[`x`,`y`],_e=[`x`,`y`],ve=[`x`],ye=[`x1`,`y1`,`x2`,`y2`],be=[`x`,`y`],xe=[`x`,`y`],Se=[`viewBox`,`aria-label`],Ce=[`x1`,`y1`,`x2`,`y2`],we=[`x`,`y`],_=[`x1`,`y1`,`x2`,`y2`],v=[`x`,`y`],y=[`x`],b=[`x`,`y`],x={class:`dl-unroll__sub`,dy:`3`},S={class:`dl-unroll__val`,dy:`-3`},C=[`x1`,`y1`,`x2`,`y2`],w=[`x`,`y`],T=[`x`],E=[`x`,`y`],D={class:`dl-unroll__sub`,dy:`3`},O=[`x`,`y`],k=[`x1`,`y1`,`x2`,`y2`],Te=[`x`,`y`],Ee=[`x`],De=[`x`,`y`],Oe={class:`dl-unroll__sub`,dy:`3`},ke={key:0,class:`dl-unroll__val`,dy:`-3`},Ae=[`x`,`y`],je={class:`dl-unroll__eq`},Me={key:0,class:`dl-unroll__note`},A=118,j=58,M=78,N=46,P=30,F=18,I=92,L=172,Ne=226,R=330,Pe=226,z=96,B=96,Fe=m(l({__name:`RnnUnroll`,props:{steps:{default:4},start:{default:`fold`},values:{type:Boolean,default:!0},weights:{type:Boolean,default:!0},example:{default:`pulse`}},setup(l){let{$slidev:m,$nav:Fe,$clicksContext:Ie,$clicks:Le,$page:Re,$renderContext:ze,$frontmatter:Be}=ne(),V=l,H=a(()=>V.example===`review`),U=a(()=>H.value?g.length:V.steps),W=a(()=>H.value?re(g):Array.from({length:V.steps},(e,t)=>[+(t%2==0)])),G=a(()=>ae(W.value,H.value?ie:oe)),Ve=e=>e.x.every(e=>e===0)&&e.h.some(e=>Math.abs(e)>1e-9),K=s(V.start===`fold`),q=s(-1),J=a(()=>Math.min(q.value,U.value-1)),Y=a(()=>J.value<0?null:G.value[J.value]),He=a(()=>J.value>=U.value-1);function Ue(){K.value=!1,q.value=J.valuee.map(e=>h(e)).join(`, `),We=a(()=>j+(U.value-1)*A+M+30),Z=e=>j+e*A,Q=e=>Z(e)+M/2,$=I;return(a,s)=>{let l=ce,m=se;return p(),te(m,{"max-width":K.value?`24rem`:`46rem`},{controls:e(()=>[t(l,{label:K.value?`Unroll it`:`Fold it back`,glyph:`⇄`,variant:`ghost`,onClick:s[0]||=e=>K.value=!K.value},null,8,[`label`]),t(l,{label:He.value&&!K.value?`Start over`:`Next step`,glyph:`▸`,onClick:Ue},null,8,[`label`])]),readout:e(()=>[K.value?(p(),i(o,{key:0},[s[13]||=u(` One layer, one set of weights, one loop. The loop is not a second layer — it is this layer reading `,-1),s[14]||=r(`strong`,null,`its own previous output`,-1),s[15]||=u(`, one time step later. `,-1)],64)):Y.value?(p(),i(o,{key:1},[r(`span`,je,[u(` t = `+n(Y.value.t)+`: W`,1),s[16]||=r(`sub`,null,`xh`,-1),u(`x = [`+n(X(Y.value.fromInput))+`] + W`,1),s[17]||=r(`sub`,null,`hh`,-1),s[18]||=u(`h`,-1),r(`sub`,null,n(Y.value.t-1),1),u(` = [`+n(X(Y.value.fromState))+`] → h`,1),r(`sub`,null,n(Y.value.t),1),u(` = tanh([`+n(X(Y.value.z))+`]) = [`,1),r(`strong`,null,n(X(Y.value.h)),1),s[19]||=u(`] `,-1)]),Ve(Y.value)?(p(),i(`span`,Me,[...s[20]||=[u(` The input at this step is `,-1),r(`strong`,null,`0`,-1),u(` — and the state is not. That is the memory. `,-1)]])):d(`v-if`,!0)],64)):(p(),i(o,{key:2},[u(n(U.value)+` copies of one layer. Every W`,1),s[21]||=r(`sub`,null,`xh`,-1),s[22]||=u(`, every W`,-1),s[23]||=r(`sub`,null,`hh`,-1),s[24]||=u(`, every W`,-1),s[25]||=r(`sub`,null,`ho`,-1),s[26]||=u(` on this picture is the `,-1),s[27]||=r(`strong`,null,`same matrix`,-1),s[28]||=u(`. Press `,-1),s[29]||=r(`strong`,null,`Next step`,-1),s[30]||=u(`. `,-1)],64))]),default:e(()=>[K.value?(p(),i(`svg`,{key:0,class:`dl-unroll`,viewBox:`0 0 ${R} ${Pe}`,preserveAspectRatio:`xMidYMid meet`,role:`img`,"aria-label":`A recurrent layer drawn folded: one hidden layer whose output is fed back into itself one time step later`},[s[5]||=r(`defs`,null,[r(`marker`,{id:`dl-unroll-arrowf`,viewBox:`0 0 8 8`,refX:`7`,refY:`4`,markerWidth:`5`,markerHeight:`5`,orient:`auto-start-reverse`},[r(`path`,{d:`M0,0 L8,4 L0,8 z`,fill:`currentColor`})])],-1),r(`rect`,{class:`dl-unroll__io`,x:z,y:L,width:B,height:P,rx:`4`}),r(`text`,{class:`dl-unroll__iolabel`,x:144,y:191,"text-anchor":`middle`},`x`,8,ue),r(`line`,{class:`dl-unroll__feed`,x1:144,y1:170,x2:144,y2:c($)+N+4,"marker-end":`url(#dl-unroll-arrowf)`},null,8,de),V.weights?(p(),i(`text`,{key:0,class:`dl-unroll__w`,x:152,y:160},[...s[1]||=[u(`W`,-1),r(`tspan`,{class:`dl-unroll__sub`,dy:`3`},`xh`,-1)]],8,fe)):d(`v-if`,!0),r(`rect`,{class:`dl-unroll__cell`,x:z,y:c($),width:B,height:N,rx:`6`},null,8,pe),r(`text`,{class:`dl-unroll__celllabel`,x:144,y:120,"text-anchor":`middle`},`h`,8,me),d(` The loop: out of the right edge and straight back into it. `),r(`path`,{class:`dl-unroll__loop`,d:`M 192 104 C 254 61, 254 169, 192 126`,fill:`none`,"marker-end":`url(#dl-unroll-arrowf)`},null,8,he),V.weights?(p(),i(`text`,{key:1,class:`dl-unroll__w is-loop`,x:244,y:95},[...s[2]||=[u(`W`,-1),r(`tspan`,{class:`dl-unroll__sub`,dy:`3`},`hh`,-1)]],8,ge)):d(`v-if`,!0),r(`text`,{class:`dl-unroll__delay`,x:244,y:145},[s[3]||=u(`one step `,-1),r(`tspan`,{x:244,dy:`11`},`of delay`,8,ve)],8,_e),r(`line`,{class:`dl-unroll__feed`,x1:144,y1:c($)-2,x2:144,y2:52,"marker-end":`url(#dl-unroll-arrowf)`},null,8,ye),V.weights?(p(),i(`text`,{key:2,class:`dl-unroll__w`,x:152,y:c($)-14},[...s[4]||=[u(`W`,-1),r(`tspan`,{class:`dl-unroll__sub`,dy:`3`},`ho`,-1)]],8,be)):d(`v-if`,!0),r(`rect`,{class:`dl-unroll__io is-out`,x:z,y:F,width:B,height:P,rx:`4`}),r(`text`,{class:`dl-unroll__iolabel`,x:144,y:37,"text-anchor":`middle`},`o`,8,xe)],8,le)):(p(),i(o,{key:1},[d(` The same layer, copied once per time step. `),(p(),i(`svg`,{class:`dl-unroll`,viewBox:`0 0 ${We.value} ${Ne}`,preserveAspectRatio:`xMidYMid meet`,role:`img`,"aria-label":`The same recurrent layer unrolled across ${U.value} time steps, every copy using the same weights`},[s[12]||=r(`defs`,null,[r(`marker`,{id:`dl-unroll-arrowu`,viewBox:`0 0 8 8`,refX:`7`,refY:`4`,markerWidth:`5`,markerHeight:`5`,orient:`auto-start-reverse`},[r(`path`,{d:`M0,0 L8,4 L0,8 z`,fill:`currentColor`})])],-1),d(` h_0, the state the chain starts from: zeros, and worth naming. `),r(`line`,{class:f([`dl-unroll__state`,{"is-live":J.value>=0}]),x1:24,y1:115,x2:Z(0)-3,y2:115,"marker-end":`url(#dl-unroll-arrowu)`},null,10,Ce),r(`text`,{class:`dl-unroll__h0`,x:20,y:119,"text-anchor":`end`},`0`,8,we),(p(!0),i(o,null,ee(U.value,e=>(p(),i(`g`,{key:`col${e}`},[d(` state in from the previous step `),e>1?(p(),i(o,{key:0},[r(`line`,{class:f([`dl-unroll__state`,{"is-live":J.value>=e-1}]),x1:Z(e-2)+M,y1:115,x2:Z(e-1)-3,y2:115,"marker-end":`url(#dl-unroll-arrowu)`},null,10,_),V.weights?(p(),i(`text`,{key:0,class:`dl-unroll__w is-shared`,x:(Z(e-2)+M+Z(e-1))/2,y:107,"text-anchor":`middle`},[...s[6]||=[u(` W`,-1),r(`tspan`,{class:`dl-unroll__sub`,dy:`3`},`hh`,-1)]],8,v)):d(`v-if`,!0)],64)):d(`v-if`,!0),r(`rect`,{class:`dl-unroll__io`,x:Z(e-1),y:L,width:M,height:P,rx:`4`},null,8,y),r(`text`,{class:`dl-unroll__iolabel`,x:Q(e-1),y:191,"text-anchor":`middle`},[H.value?(p(),i(o,{key:0},[u(n(c(g)[e-1]),1)],64)):(p(),i(o,{key:1},[s[7]||=u(` x`,-1),r(`tspan`,x,n(e),1),r(`tspan`,S,` = `+n(W.value[e-1][0]),1)],64))],8,b),r(`line`,{class:f([`dl-unroll__feed`,{"is-live":J.value===e-1}]),x1:Q(e-1),y1:170,x2:Q(e-1),y2:142,"marker-end":`url(#dl-unroll-arrowu)`},null,10,C),V.weights?(p(),i(`text`,{key:1,class:`dl-unroll__w is-shared`,x:Q(e-1)+7,y:158},[...s[8]||=[u(` W`,-1),r(`tspan`,{class:`dl-unroll__sub`,dy:`3`},`xh`,-1)]],8,w)):d(`v-if`,!0),r(`rect`,{class:f([`dl-unroll__cell`,{"is-done":J.value>=e-1,"is-current":J.value===e-1}]),x:Z(e-1),y:I,width:M,height:N,rx:`6`},null,10,T),r(`text`,{class:`dl-unroll__celllabel`,x:Q(e-1),y:I+(V.values?19:28),"text-anchor":`middle`},[s[9]||=u(` h`,-1),r(`tspan`,D,n(e),1)],8,E),V.values&&J.value>=e-1?(p(),i(`text`,{key:2,class:`dl-unroll__hval`,x:Q(e-1),y:127,"text-anchor":`middle`},n(X(G.value[e-1].h)),9,O)):d(`v-if`,!0),r(`line`,{class:f([`dl-unroll__feed`,{"is-live":J.value===e-1}]),x1:Q(e-1),y1:90,x2:Q(e-1),y2:52,"marker-end":`url(#dl-unroll-arrowu)`},null,10,k),V.weights?(p(),i(`text`,{key:3,class:`dl-unroll__w is-shared`,x:Q(e-1)+7,y:78},[...s[10]||=[u(` W`,-1),r(`tspan`,{class:`dl-unroll__sub`,dy:`3`},`ho`,-1)]],8,Te)):d(`v-if`,!0),r(`rect`,{class:f([`dl-unroll__io`,{"is-out":J.value>=e-1}]),x:Z(e-1),y:F,width:M,height:P,rx:`4`},null,10,Ee),r(`text`,{class:`dl-unroll__iolabel`,x:Q(e-1),y:37,"text-anchor":`middle`},[s[11]||=u(` o`,-1),r(`tspan`,Oe,n(e),1),J.value>=e-1?(p(),i(`tspan`,ke,` = `+n(c(h)(G.value[e-1].o[0])),1)):d(`v-if`,!0)],8,De),r(`text`,{class:`dl-unroll__t`,x:Q(e-1),y:220,"text-anchor":`middle`},`t = `+n(e),9,Ae)]))),128))],8,Se))],2112))]),_:1},8,[`max-width`])}}}),[[`__scopeId`,`data-v-96366cc7`]]);export{Fe as t}; \ No newline at end of file diff --git a/lecture-05/assets/SeqToSeqFlow-CnUZ8lrf.js b/lecture-05/assets/SeqToSeqFlow-CnUZ8lrf.js new file mode 100644 index 0000000000000000000000000000000000000000..07117b82c6fb1c191a09a2767a7db3f25cc93f51 --- /dev/null +++ b/lecture-05/assets/SeqToSeqFlow-CnUZ8lrf.js @@ -0,0 +1,5 @@ +import{$ as e,St as t,V as n,_ as r,b as i,g as a,m as o,ut as s,v as c,w as l,x as u,xt as d,y as f,yt as p,z as m}from"./modules/shiki-CkJq9tSf.js";import{t as h}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{n as g}from"./slidev/context-DnYiQGy6.js";import{n as _}from"./interactive-pqWNz3EB.js";import{t as v}from"./Slider-Bf0ITYx4.js";import{t as ee}from"./StepButton-BvnaUJaa.js";var y=[`viewBox`,`aria-label`],b=[`x1`,`y1`,`x2`,`y2`],x=[`x`],S=[`x`,`y`],C=[`y`],w=[`x1`,`y1`,`x2`,`y2`],te=[`x`],ne=[`x`,`y`],re=[`x1`,`y1`,`y2`],ie=[`y1`,`x2`,`y2`],ae=[`y`],oe=[`y`],se=[`x1`,`y1`,`x2`,`y2`,`stroke-width`],T=[`x`,`y`],E=[`x`,`y`],D={key:0,class:`dl-s2s__note`},O=580,ce=254,k=28,A=74,j=34,M=26,N=106,P=184,F=104,I=h(l({__name:`SeqToSeqFlow`,props:{mode:{default:`bottleneck`},contextDim:{default:256}},setup(l){let{$slidev:h,$nav:I,$clicksContext:le,$clicks:ue,$page:de,$renderContext:fe,$frontmatter:pe}=g(),L=l,R=[`Ich`,`habe`,`gestern`,`ein`,`sehr`,`gutes`,`Buch`,`gelesen`],z=[`Ich`,`habe`,`ein`,`Buch`,`gelesen`],B=[`I`,`have`,`read`,`a`,`book`],V=[[.9,.05,.02,.02,.01],[.05,.85,.02,.02,.06],[.02,.1,.01,.02,.85],[.02,.02,.88,.06,.02],[.02,.02,.08,.86,.02]],H=s(4),U=s(-1),W=a(()=>L.mode===`attention`?z:R.slice(0,H.value)),G=a(()=>U.value>=B.length-1);function me(){U.value=G.value?-1:U.value+1}let K=a(()=>U.value<0?null:V[U.value]),q=a(()=>{let e=K.value;if(!e)return null;let t=e.indexOf(Math.max(...e));return{word:z[t],weight:e[t],index:t}});function J(e){return e<=1?0:450/(e-1)}function Y(e){return k+e*J(W.value.length)}function X(e){return k+e*J(B.length)}let Z=e=>Y(e)+A/2,Q=e=>X(e)+A/2,he=O/2-F/2,$=O/2;return(a,s)=>{let l=v,h=ee,g=_;return m(),c(g,{"max-width":`42rem`},{controls:e(()=>[L.mode===`bottleneck`?(m(),c(l,{key:0,modelValue:H.value,"onUpdate:modelValue":s[0]||=e=>H.value=e,label:`words in the source sentence`,min:2,max:R.length,step:1,precision:0},null,8,[`modelValue`,`max`])):(m(),c(h,{key:1,label:G.value?`Start over`:`Next word`,glyph:`▸`,onClick:me},null,8,[`label`]))]),readout:e(()=>[L.mode===`bottleneck`?(m(),i(o,{key:0},[u(t(W.value.length)+` words in, and the context vector is `,1),r(`strong`,null,t(L.contextDim)+` numbers`,1),u(` — the same `+t(L.contextDim)+` it was at two words, and the same it would be at forty. Everything the decoder will ever know about the source has to fit in there, and the first word has to survive `+t(W.value.length-1)+` more updates before the encoder is done. `,1)],64)):q.value?(m(),i(o,{key:1},[s[3]||=u(` Writing `,-1),r(`strong`,null,t(B[U.value]),1),s[4]||=u(`: the decoder reads mostly `,-1),r(`strong`,null,t(q.value.word),1),u(` (`+t(q.value.weight.toFixed(2))+` of the weight). The context for this step is the weighted sum of all `+t(z.length)+` encoder states — a different vector for every output word. `,1),U.value===2?(m(),i(`span`,D,[...s[2]||=[u(` “read” comes from `,-1),r(`em`,null,`gelesen`,-1),u(`, the `,-1),r(`strong`,null,`last`,-1),u(` word of the German sentence. The alignment is not left to right, and nothing told the model that. `,-1)]])):f(`v-if`,!0)],64)):(m(),i(o,{key:2},[u(` No single context vector. At each output step the decoder scores every encoder state, softmaxes the scores into weights, and builds the context it needs right then. `)],64))]),default:e(()=>[(m(),i(`svg`,{class:`dl-s2s`,viewBox:`0 0 ${O} ${ce}`,preserveAspectRatio:`xMidYMid meet`,role:`img`,"aria-label":L.mode===`bottleneck`?`An encoder reading ${W.value.length} words into one context vector of ${L.contextDim} numbers, which the decoder then reads`:`A decoder that recomputes its context vector at every output step as a weighted sum of every encoder state`},[s[1]||=r(`defs`,null,[r(`marker`,{id:`dl-s2s-arrow`,viewBox:`0 0 8 8`,refX:`7`,refY:`4`,markerWidth:`5`,markerHeight:`5`,orient:`auto-start-reverse`},[r(`path`,{d:`M0,0 L8,4 L0,8 z`,fill:`currentColor`})]),f(` + An attention line's stroke-width carries its weight, and a marker sized + in stroke-widths would therefore grow to 30px on the heaviest line. + This one is sized in user units, so every head is the same size. + `),r(`marker`,{id:`dl-s2s-tip`,viewBox:`0 0 8 8`,refX:`7`,refY:`4`,markerWidth:`9`,markerHeight:`9`,markerUnits:`userSpaceOnUse`,orient:`auto-start-reverse`},[r(`path`,{d:`M0,0 L8,4 L0,8 z`,fill:`currentColor`})])],-1),f(` Encoder: one cell per source word, state passed along. `),(m(!0),i(o,null,n(W.value,(e,n)=>(m(),i(`g`,{key:`e${n}`},[n>0?(m(),i(`line`,{key:0,class:`dl-s2s__state`,x1:Y(n-1)+A,y1:201,x2:Y(n)-3,y2:201,"marker-end":`url(#dl-s2s-arrow)`},null,8,b)):f(`v-if`,!0),r(`rect`,{class:`dl-s2s__cell is-enc`,x:Y(n),y:P,width:A,height:j,rx:`5`},null,8,x),r(`text`,{class:`dl-s2s__cellword`,x:Z(n),y:206,"text-anchor":`middle`},t(e),9,S)]))),128)),r(`text`,{class:`dl-s2s__side`,x:k,y:246},`encoder — reads German`,8,C),f(` Decoder `),(m(),i(o,null,n(B,(e,n)=>r(`g`,{key:`d${n}`},[n>0?(m(),i(`line`,{key:0,class:`dl-s2s__state`,x1:X(n-1)+A,y1:43,x2:X(n)-3,y2:43,"marker-end":`url(#dl-s2s-arrow)`},null,8,w)):f(`v-if`,!0),r(`rect`,{class:p([`dl-s2s__cell is-dec`,{"is-current":L.mode===`attention`&&U.value===n,"is-waiting":L.mode===`attention`&&U.value>=0&&U.value!==n}]),x:X(n),y:M,width:A,height:j,rx:`5`},null,10,te),r(`text`,{class:p([`dl-s2s__cellword`,{"is-current":L.mode===`attention`&&U.value===n}]),x:Q(n),y:48,"text-anchor":`middle`},t(e),11,ne)])),64)),r(`text`,{class:`dl-s2s__side`,x:k,y:16},`decoder — writes English`),f(` One fixed vector, whatever the sentence length. `),L.mode===`bottleneck`?(m(),i(o,{key:0},[(m(!0),i(o,null,n(W.value,(e,t)=>(m(),i(`line`,{key:`in${t}`,class:`dl-s2s__squeeze`,x1:Z(t),y1:182,x2:$,y2:145,"marker-end":`url(#dl-s2s-arrow)`},null,8,re))),128)),(m(),i(o,null,n(B,(e,t)=>r(`line`,{key:`out${t}`,class:`dl-s2s__squeeze`,x1:$,y1:104,x2:Q(t),y2:65,"marker-end":`url(#dl-s2s-arrow)`},null,8,ie)),64)),r(`rect`,{class:`dl-s2s__ctx`,x:he,y:N,width:F,height:j,rx:`5`}),r(`text`,{class:`dl-s2s__ctxlabel`,x:$,y:121,"text-anchor":`middle`},`context`,8,ae),r(`text`,{class:`dl-s2s__ctxdim`,x:$,y:133,"text-anchor":`middle`},t(L.contextDim)+` numbers`,9,oe)],64)):(m(),i(o,{key:1},[f(` A fresh context vector per output step, weighted over every encoder state. `),K.value?(m(),i(o,{key:0},[(m(!0),i(o,null,n(K.value,(e,t)=>(m(),i(`line`,{key:`att${t}`,class:`dl-s2s__att`,x1:Z(t),y1:182,x2:Q(U.value),y2:65,"stroke-width":.6+e*7,style:d({opacity:.18+e*.8}),"marker-end":`url(#dl-s2s-tip)`},null,12,se))),128)),(m(!0),i(o,null,n(K.value,(e,n)=>(m(),i(`text`,{key:`attv${n}`,class:p([`dl-s2s__attval`,{"is-top":n===q.value?.index}]),x:Z(n),y:174,"text-anchor":`middle`},t(e.toFixed(2)),11,T))),128))],64)):(m(),i(`text`,{key:1,class:`dl-s2s__hint`,x:O/2,y:128,"text-anchor":`middle`},` press Next word — every output step gets its own context vector `,8,E))],64))],8,y))]),_:1})}}}),[[`__scopeId`,`data-v-a1556c3c`]]);export{I as t}; \ No newline at end of file diff --git a/lecture-05/assets/SeqToSeqFlow-q4UWoD1G.css b/lecture-05/assets/SeqToSeqFlow-q4UWoD1G.css new file mode 100644 index 0000000000000000000000000000000000000000..c923ec69e2b42b693d9309222379b8e0d7117aee --- /dev/null +++ b/lecture-05/assets/SeqToSeqFlow-q4UWoD1G.css @@ -0,0 +1 @@ +.dl-s2s[data-v-a1556c3c]{width:100%;height:100%}.dl-s2s__cell[data-v-a1556c3c]{stroke-width:1.2px;transition:fill .2s,stroke .2s}.dl-s2s__cell.is-enc[data-v-a1556c3c]{fill:var(--dl-surface);stroke:var(--dl-body)}.dl-s2s__cell.is-dec[data-v-a1556c3c]{fill:var(--dl-accent-soft);stroke:var(--dl-accent)}.dl-s2s__cell.is-waiting[data-v-a1556c3c]{fill:var(--dl-bg);stroke:var(--dl-border)}.dl-s2s__cell.is-current[data-v-a1556c3c]{fill:var(--dl-accent);stroke:var(--dl-accent-strong);stroke-width:2px}.dl-s2s__cellword[data-v-a1556c3c]{fill:var(--dl-heading);font-size:13px;font-weight:600}.dl-s2s__cellword.is-current[data-v-a1556c3c]{fill:#fff}.dl-s2s__state[data-v-a1556c3c]{stroke:var(--dl-accent-strong);stroke-width:2px;color:var(--dl-accent-strong)}.dl-s2s__squeeze[data-v-a1556c3c]{stroke:var(--dl-muted);stroke-width:1.3px;color:var(--dl-muted)}.dl-s2s__ctx[data-v-a1556c3c]{fill:var(--dl-accent);stroke:var(--dl-accent-strong);stroke-width:1.5px}.dl-s2s__ctxlabel[data-v-a1556c3c]{fill:#fff;font-size:12px;font-weight:600}.dl-s2s__ctxdim[data-v-a1556c3c]{fill:#fff;font-size:9.5px}.dl-s2s__att[data-v-a1556c3c]{stroke:var(--dl-accent);color:var(--dl-accent);fill:none}.dl-s2s__attval[data-v-a1556c3c]{fill:var(--dl-muted);font-variant-numeric:tabular-nums;font-size:10px}.dl-s2s__attval.is-top[data-v-a1556c3c]{fill:var(--dl-accent-strong);font-weight:700}.dl-s2s__side[data-v-a1556c3c]{fill:var(--dl-muted);letter-spacing:.04em;font-size:10.5px}.dl-s2s__hint[data-v-a1556c3c]{fill:var(--dl-muted);font-size:11.5px}.dl-s2s__note[data-v-a1556c3c]{color:var(--dl-accent);margin-top:.15rem;display:block} diff --git a/lecture-05/assets/SlideWrapper-C4vfVW-k.js b/lecture-05/assets/SlideWrapper-C4vfVW-k.js new file mode 100644 index 0000000000000000000000000000000000000000..46671ef8f93c912d42811419d80011a2713ae546 --- /dev/null +++ b/lecture-05/assets/SlideWrapper-C4vfVW-k.js @@ -0,0 +1,2 @@ +import{D as e,G as t,H as n,L as r,Q as i,R as a,S as o,X as s,Z as c,_ as l,b as u,ct as d,f,g as p,ht as m,i as h,m as ee,ut as g,v as _,vt as v,w as y,xt as b,y as x,yt as S,z as C}from"./modules/shiki-CkJq9tSf.js";import{A as w,Q as T,X as E,Z as D,t as te,tt as O,z as k}from"./useNav-D6eKrDQR.js";import{t as A}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{N as j,p as ne}from"./modules/vue-Dz2ojcKF.js";import{_ as re,d as ie,f as M,g as N,h as P,m as F,n as I,p as L,v as R}from"./slidev/context-DnYiQGy6.js";import{n as z,r as B,t as V}from"./syncState-BCmj5bTl.js";import{a as H,p as U}from"./index-CK0S5VQV.js";import"./slidev/client-BFvXAbq7.js";import{t as W}from"./useDrawings-D53otB4S.js";var G=[`innerHTML`],K=y({__name:`DrawingPreview`,props:{page:{}},setup(e){let{drawingState:t}=W();return(n,r)=>v(t)[e.page]?(C(),u(`svg`,{key:0,class:`w-full h-full absolute top-0 pointer-events-none`,innerHTML:v(t)[e.page]},null,8,G)):x(`v-if`,!0)}}),q=d({}),J=[],Y=[];z(q,`$syncUp`,!0),z(q,`$syncDown`,!0),z(q,`$paused`,!1),z(q,`$onSet`,e=>J.push(e)),z(q,`$onPatch`,e=>Y.push(e)),B(),z(q,`$patch`,async()=>!1);var ae=V(q,q,!0),X=window.navigator.userAgent.match(/Chrome\/(\d+)/)?.[1];X&&Number(X);var Z=window.navigator.userAgent.match(/Chrome\/(\d+)/)?.[1];Z&&Number(Z);var oe=new class{_screenshotSession=null;getSnapshot(e,t){let n=e+(t?`-dark`:`-light`),r=ae.state[n];if(!r)return;let i=k(e);if(i&&r?.revision===i?.meta.slide.revision)return r.image}async saveSnapshot(e,t,n){return!1}async startCapturing(e){return!1}},se=[`id`],ce=[`id`],le={class:`slidev-slide-container w-full h-full relative`},ue=[`src`],Q=g(null),de=A(y({__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(e){let t=e,{isPrintMode:o}=te(),d=g(null),f=ne(d),m=g(null),_=p(()=>t.width??f.width.value),v=p(()=>t.width?t.width/E.value:f.height.value),y=p(()=>w.value&&!o.value?+w.value:Math.min(_.value/T.value,v.value/D.value)),S=p(()=>({...t.contentStyle,height:`${D.value}px`,width:`${T.value}px`,"--slidev-slide-scale":y.value})),O=p(()=>t.width?{width:`${t.width}px`,height:`${t.width/E.value}px`}:{});if(t.isMain){let e=document.documentElement.style;c(()=>e.setProperty(`--slidev-slide-scale`,y.value.toString())),a(()=>e.removeProperty(`--slidev-slide-scale`))}j(re,y),j(N,m),i(()=>{t.isMain&&(Q.value=m.value)}),r(()=>{s(()=>t.isMain&&y.value,()=>{h()})});let k=p(()=>{if(!(t.no==null||!t.useSnapshot))return oe.getSnapshot(t.no,U.value)});return(t,r)=>k.value?(C(),u(ee,{key:1},[x(` Image Snapshot `),l(`div`,le,[l(`img`,{src:k.value,class:`w-full h-full object-cover`,style:b(O.value)},null,12,ue),r[0]||=l(`div`,{absolute:``,"bottom-1":``,"right-1":``,"p0.5":``,"text-cyan:75":``,"bg-cyan:10":``,rounded:``,title:`Snapshot`},[l(`div`,{class:`i-carbon-camera`})],-1)])],2112)):(C(),u(`div`,{key:0,id:e.isMain?`slide-container`:void 0,ref_key:`container`,ref:d,class:`slidev-slide-container`,style:b(O.value)},[l(`div`,{id:e.isMain?`slide-content`:void 0,ref_key:`slideElement`,ref:m,class:`slidev-slide-content`,style:b(S.value)},[n(t.$slots,`default`,{},void 0,!0)],12,ce),n(t.$slots,`controls`,{},void 0,!0)],12,se))}}),[[`__scopeId`,`data-v-0167a76e`]]),fe=Object.assign({}),pe=Object.assign({}),me=Object.assign({}),he=Object.assign({}),ge=Object.assign({}),_e=Object.assign({}),ve={course:{code:`PGR207`,year:2026,title:`Deep Learning`,instructor:`Vajira Thambawita (PhD)`,email:`vajira@simula.no`},space:`DeepLearning-VT/DeepLearning_2026`,repo:`vlbthambawita/DeepLearning`,decks:[{id:`lecture-01`,title:`Introduction to Deep Learning`,subtitle:`Course overview, what deep learning is, and where it is used`,week:1,published:!0,notebook:null,source:`old_slides/2025/Teaching - Deep Leaning - 2025- Lecture 01.pdf`},{id:`lecture-02`,title:`Basics of Neural Networks`,subtitle:`Artificial neurons, the perceptron, Adaline and gradient descent`,week:2,published:!0,notebook:null,source:`old_slides/2025/Teaching - Deep Leaning - 2025 - Lecture 02 .pdf`},{id:`lecture-03`,title:`PyTorch for Deep Learning`,subtitle:`Tensors, autograd, and a fully-connected network on MNIST`,week:3,published:!0,notebook:null,source:null},{id:`lecture-04`,title:`Deep Convolutional Neural Networks`,subtitle:`Locality and weight sharing, the convolution operation, and CNNs in PyTorch`,week:4,published:!0,notebook:null,source:`old_slides/2025/Teaching - Deep Leaning - 2025 - Lecture 03.pdf`},{id:`lecture-05`,title:`Recurrent Neural Networks`,subtitle:`Sequence data, the recurrent layer, LSTM and GRU, and an RNN in PyTorch`,week:6,published:!0,publicNotes:!0,notebook:null,source:`old_slides/2025/Teaching - Deep Leaning - 2025 - Lecture 5_6.pdf`},{id:`lecture-06`,title:`Transformers`,subtitle:`Query, key and value; the original architecture, and what modern transformers changed`,week:7,published:!0,notebook:null,source:`old_slides/2025/Teaching - Deep Leaning - 2025 - Lecture 5_6.pdf`},{id:`lecture-07`,title:`Generative Models and GANs`,subtitle:`Autoencoders, VAEs, the adversarial game — and how diffusion took over`,week:9,published:!0,notebook:null,source:`old_slides/2025/Teaching - Deep Leaning - 2025 - Lecture 07.pdf`}]},ye=[`href`],be=Object.assign({"../../../../../packages/slidev-theme-dl2026/slide-top.vue":A(y({__name:`slide-top`,setup(e){let{$slidev:t,$page:n,$renderContext:r}=I(),i=p(()=>r.value===`slide`&&!t.nav.isPrintMode),a=p(()=>t.themeConfigs?.lecture??``),o=p(()=>t.themeConfigs?.lectureTitle??``),s=p(()=>{let e=n.value,t=`[${a.value?`Lecture ${a.value}, slide ${e}`:`Slide ${e}`}] `,r=[`**Lecture:** ${a.value}${o.value?` — ${o.value}`:``}`,`**Slide:** ${e}`,`**Link:** ${typeof window<`u`?`${window.location.origin}${window.location.pathname}#/${e}`:``}`,``,`**What is wrong?**`,``,``].join(` +`),i=new URLSearchParams({title:t,body:r,labels:`slides`});return`https://github.com/${ve.repo}/issues/new?${i}`});return(e,t)=>i.value?(C(),u(`a`,{key:0,class:`dl-report`,href:s.value,target:`_blank`,rel:`noopener`,title:`Report a problem with this slide on GitHub`,onClick:t[0]||=f(()=>{},[`stop`])},`Report issue`,8,ye)):x(`v-if`,!0)}}),[[`__scopeId`,`data-v-6b2267dc`]])}),xe=Object.assign({}),Se=Object.assign({}),Ce=Object.assign({}),we=Object.assign({}),Te=Object.assign({}),Ee=[Object.values(fe)[0],Object.values(pe)[0],Object.values(me)[0]].filter(Boolean),De={render:()=>Ee.map(t=>e(t))},$=[Object.values(he)[0],Object.values(ge)[0],Object.values(_e)[0]].filter(Boolean),Oe={render:()=>$.map(t=>e(t))},ke=[Object.values(be)[0],Object.values(xe)[0],Object.values(Se)[0]].filter(Boolean),Ae={render:()=>ke.map(t=>e(t))},je=[Object.values(Ce)[0],Object.values(we)[0],Object.values(Te)[0]].filter(Boolean),Me={render:()=>je.map(t=>e(t))},Ne=[`data-slidev-no`,`lang`],Pe=A(y({__name:`SlideWrapper`,props:{clicksContext:{type:Object,required:!0},renderContext:{type:String,default:`slide`},route:{type:Object,required:!0}},setup(e){let n=e,r=p(()=>n.route.meta?.slide?.frontmatter.zoom??1);j(P,n.route),j(L,n.route.meta.slide.frontmatter),j(M,g(n.route.no)),j(F,g(n.renderContext)),j(ie,m(n,`clicksContext`)),j(R,r);let i=p(()=>({"user-select":O.selectable?void 0:`none`,"--slidev-slide-zoom-scale":r.value===1?void 0:r.value}));return(r,a)=>(C(),u(`div`,{"data-slidev-no":n.route.no,class:S(v(H)(e.route,[`slide`,`presenter`].includes(n.renderContext)?``:`disable-view-transition`)),style:b(i.value),lang:n.route.meta.slide.frontmatter.lang},[o(v(Me)),(C(),_(t(n.route.component))),o(v(Ae))],14,Ne))}}),[[`__scopeId`,`data-v-a7136532`]]);export{Q as a,de as i,Oe as n,K as o,De as r,Pe as t}; \ No newline at end of file diff --git a/lecture-05/assets/SlideWrapper-DBNQYNtZ.css b/lecture-05/assets/SlideWrapper-DBNQYNtZ.css new file mode 100644 index 0000000000000000000000000000000000000000..c356c9b2e1a7db70c412549d55971154ace47d6a --- /dev/null +++ b/lecture-05/assets/SlideWrapper-DBNQYNtZ.css @@ -0,0 +1 @@ +.slidev-slide-container[data-v-0167a76e]{width:100%;height:100%;position:relative;overflow:hidden}.slidev-slide-content[data-v-0167a76e]{--slidev-slide-container-scale:var(--slidev-slide-scale);transform:translate(-50%, -50%) scale(var(--slidev-slide-scale));--un-bg-opacity:1;background-color:rgb(255 255 255/var(--un-bg-opacity));position:absolute;top:50%;left:50%;overflow:hidden}.dark .slidev-slide-content[data-v-0167a76e]{--un-bg-opacity:1;background-color:rgb(18 18 18/var(--un-bg-opacity))}.dl-report[data-v-6b2267dc]{z-index:10;letter-spacing:.04em;color:var(--dl-muted);opacity:.55;font-size:.6rem;text-decoration:none;transition:opacity .15s,color .15s;position:absolute;bottom:.2rem;right:3rem}.dl-report[data-v-6b2267dc]:hover,.dl-report[data-v-6b2267dc]:focus-visible{opacity:1;color:var(--dl-accent);text-decoration:underline}.disable-view-transition[data-v-a7136532] *{view-transition-name:none!important}.slidev-page[data-v-a7136532]{--slidev-slide-zoom-scale:1;width:calc(100% / var(--slidev-slide-zoom-scale));height:calc(100% / var(--slidev-slide-zoom-scale));transform-origin:0 0;scale:var(--slidev-slide-zoom-scale);--slidev-slide-scale:calc(var(--slidev-slide-container-scale) * var(--slidev-slide-zoom-scale));position:absolute;inset:0} diff --git a/lecture-05/assets/Slider-BO0rW71G.css b/lecture-05/assets/Slider-BO0rW71G.css new file mode 100644 index 0000000000000000000000000000000000000000..6ac46df0c928ac6d67cf095ecd0f4a83647a6d9f --- /dev/null +++ b/lecture-05/assets/Slider-BO0rW71G.css @@ -0,0 +1 @@ +.dl-slider[data-v-b8762282]{color:var(--dl-body);grid-template-columns:1fr auto;align-items:center;gap:.15rem .6rem;font-size:.82rem;display:grid}.dl-slider.is-disabled[data-v-b8762282]{opacity:.45}.dl-slider__label[data-v-b8762282]{grid-column:1}.dl-slider__value[data-v-b8762282]{text-align:right;font-variant-numeric:tabular-nums;min-width:3.6rem;color:var(--dl-accent);grid-area:1/2/span 2;align-self:center;font-weight:600}.dl-slider__unit[data-v-b8762282]{color:var(--dl-muted);margin-left:.1rem;font-weight:400}.dl-slider input[data-v-b8762282]{width:100%;accent-color:var(--dl-accent);cursor:pointer;grid-column:1}.dl-slider input[data-v-b8762282]:disabled{cursor:not-allowed} diff --git a/lecture-05/assets/Slider-Bf0ITYx4.js b/lecture-05/assets/Slider-Bf0ITYx4.js new file mode 100644 index 0000000000000000000000000000000000000000..3727db300b1e293f8a7546686d2fc46f781cfb3c --- /dev/null +++ b/lecture-05/assets/Slider-Bf0ITYx4.js @@ -0,0 +1 @@ +import{St as e,_ as t,b as n,et as r,g as i,j as a,l as o,q as s,w as c,x as l,y as u,yt as d,z as f}from"./modules/shiki-CkJq9tSf.js";import{t as p}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{n as m}from"./slidev/context-DnYiQGy6.js";var h={key:0,class:`dl-slider__label`},g=[`min`,`max`,`step`,`disabled`],_={class:`dl-slider__value`},v={key:0,class:`dl-slider__unit`},y=p(c({__name:`Slider`,props:a({label:{},min:{default:0},max:{default:1},step:{default:.01},precision:{default:2},unit:{},format:{},disabled:{type:Boolean,default:!1}},{modelValue:{required:!0},modelModifiers:{}}),emits:[`update:modelValue`],setup(a){let{$slidev:c,$nav:p,$clicksContext:y,$clicks:b,$page:x,$renderContext:S,$frontmatter:C}=m(),w=a,T=s(a,`modelValue`),E=i(()=>w.format?w.format(T.value):T.value.toFixed(w.precision)),D=new Set([`ArrowLeft`,`ArrowRight`,`ArrowUp`,`ArrowDown`,`Home`,`End`,`PageUp`,`PageDown`,` `]);function O(e){D.has(e.key)&&e.stopPropagation()}return(i,a)=>(f(),n(`label`,{class:d([`dl-slider`,{"is-disabled":w.disabled}])},[w.label?(f(),n(`span`,h,e(w.label),1)):u(`v-if`,!0),r(t(`input`,{"onUpdate:modelValue":a[0]||=e=>T.value=e,type:`range`,min:w.min,max:w.max,step:w.step,disabled:w.disabled,onKeydown:O},null,40,g),[[o,T.value,void 0,{number:!0}]]),t(`output`,_,[l(e(E.value),1),w.unit?(f(),n(`span`,v,e(w.unit),1)):u(`v-if`,!0)])],2))}}),[[`__scopeId`,`data-v-b8762282`]]);export{y as t}; \ No newline at end of file diff --git a/lecture-05/assets/StepButton-BvnaUJaa.js b/lecture-05/assets/StepButton-BvnaUJaa.js new file mode 100644 index 0000000000000000000000000000000000000000..6603ffad7cc4f2c4916e55659edf67b537071951 --- /dev/null +++ b/lecture-05/assets/StepButton-BvnaUJaa.js @@ -0,0 +1 @@ +import{St as e,b as t,w as n,x as r,y as i,yt as a,z as o}from"./modules/shiki-CkJq9tSf.js";import{t as s}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{n as c}from"./slidev/context-DnYiQGy6.js";var l=[`disabled`],u={key:0,class:`dl-btn__glyph`,"aria-hidden":`true`},d=s(n({__name:`StepButton`,props:{label:{},variant:{default:`primary`},disabled:{type:Boolean,default:!1},glyph:{}},emits:[`click`],setup(n,{emit:s}){let{$slidev:d,$nav:f,$clicksContext:p,$clicks:m,$page:h,$renderContext:g,$frontmatter:_}=c(),v=n,y=s;return(n,s)=>(o(),t(`button`,{type:`button`,class:a([`dl-btn`,`is-${v.variant}`]),disabled:v.disabled,onClick:s[0]||=e=>y(`click`)},[v.glyph?(o(),t(`span`,u,e(v.glyph),1)):i(`v-if`,!0),r(` `+e(v.label),1)],10,l))}}),[[`__scopeId`,`data-v-f82500e8`]]);export{d as t}; \ No newline at end of file diff --git a/lecture-05/assets/StepButton-C1ItLUkw.css b/lecture-05/assets/StepButton-C1ItLUkw.css new file mode 100644 index 0000000000000000000000000000000000000000..ad680d266470a823054f3dd6aa91ee48be253492 --- /dev/null +++ b/lecture-05/assets/StepButton-C1ItLUkw.css @@ -0,0 +1 @@ +.dl-btn[data-v-f82500e8]{font:inherit;cursor:pointer;border:1px solid #0000;border-radius:6px;align-items:center;gap:.35rem;padding:.32rem .75rem;font-size:.82rem;font-weight:600;transition:background .12s,border-color .12s;display:inline-flex}.dl-btn[data-v-f82500e8]:disabled{opacity:.4;cursor:not-allowed}.dl-btn[data-v-f82500e8]:focus-visible{outline:2px solid var(--dl-accent);outline-offset:2px}.is-primary[data-v-f82500e8]{background:var(--dl-accent);color:#fff}.is-primary[data-v-f82500e8]:not(:disabled):hover{background:var(--dl-accent-strong)}.is-ghost[data-v-f82500e8]{border-color:var(--dl-border);color:var(--dl-body);background:0 0}.is-ghost[data-v-f82500e8]:not(:disabled):hover{border-color:var(--dl-accent);color:var(--dl-accent)}.dl-btn__glyph[data-v-f82500e8]{font-family:Apple Color Emoji,Segoe UI Emoji,Noto Color Emoji,sans-serif;font-size:.9em} diff --git a/lecture-05/assets/WordStrip-CSLon2_l.css b/lecture-05/assets/WordStrip-CSLon2_l.css new file mode 100644 index 0000000000000000000000000000000000000000..76d5e47605e9c26edaa743cc75e92eb8350cbdd5 --- /dev/null +++ b/lecture-05/assets/WordStrip-CSLon2_l.css @@ -0,0 +1 @@ +.dl-wordstrip[data-v-3c1d3afa]{width:100%;height:auto;margin:0 auto;font-family:inherit;display:block}.dl-wordstrip__tile[data-v-3c1d3afa]{fill:var(--dl-surface);stroke:var(--dl-border);stroke-width:1.4px}.dl-wordstrip__tile.is-marked[data-v-3c1d3afa]{fill:var(--dl-accent-soft);stroke:var(--dl-accent);stroke-width:2px}.dl-wordstrip__word[data-v-3c1d3afa]{fill:var(--dl-heading);font-size:13px;font-weight:600}.dl-wordstrip__key[data-v-3c1d3afa]{fill:var(--dl-muted);font-size:10px}.dl-wordstrip__track[data-v-3c1d3afa]{fill:var(--dl-surface);stroke:var(--dl-border);stroke-width:.8px}.dl-wordstrip__flag[data-v-3c1d3afa]{fill:var(--dl-body)}.dl-wordstrip__good[data-v-3c1d3afa]{fill:var(--dl-accent)}.dl-wordstrip__bad[data-v-3c1d3afa]{fill:var(--dl-danger)}.dl-wordstrip__zero[data-v-3c1d3afa]{stroke:var(--dl-muted);stroke-width:1px}.dl-wordstrip__arrow[data-v-3c1d3afa]{fill:var(--dl-body);font-size:16px}.dl-wordstrip__verdict.is-good[data-v-3c1d3afa]{fill:var(--dl-accent-soft);stroke:var(--dl-accent);stroke-width:1.6px}.dl-wordstrip__verdict.is-bad[data-v-3c1d3afa]{fill:var(--dl-surface);stroke:var(--dl-danger);stroke-width:1.6px} diff --git a/lecture-05/assets/WordStrip-wEzaLRUv.js b/lecture-05/assets/WordStrip-wEzaLRUv.js new file mode 100644 index 0000000000000000000000000000000000000000..0a061f07ce7ec04ee7ee23275b0d29c95c129052 --- /dev/null +++ b/lecture-05/assets/WordStrip-wEzaLRUv.js @@ -0,0 +1 @@ +import{St as e,V as t,_ as n,b as r,g as i,m as a,vt as o,w as s,xt as c,y as l,yt as u,z as d}from"./modules/shiki-CkJq9tSf.js";import{t as f}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{n as p}from"./slidev/context-DnYiQGy6.js";import{n as m}from"./useConvolution-mOidZmS_.js";import{c as h,i as g,l as _,n as v,r as y,u as b}from"./useRecurrence-PhWWMav6.js";var x=[`viewBox`,`aria-label`],S=[`x`,`y`],C=[`x`,`y`],w=[`x`,`width`],T=[`x`,`y`],E=[`x`,`width`],D=[`x`,`width`],O=[`x`,`width`],k=[`x`,`width`],A=[`x1`,`x2`,`y1`,`y2`],j=[`x`,`y`],M=[`x`,`width`],N=[`x`,`y`],P=[`x`,`y`],F=6,I=6,L=30,R=12,z=f(s({__name:`WordStrip`,props:{review:{default:`B`},state:{type:Boolean,default:!1},verdict:{type:Boolean,default:!1},upto:{},highlight:{},width:{default:520}},setup(s){let{$slidev:f,$nav:z,$clicksContext:B,$clicks:ee,$page:te,$renderContext:ne,$frontmatter:re}=p(),V=s,H=i(()=>V.review===`A`?v:V.review===`B`?y:V.review),U=i(()=>_(h(H.value),g)),W=i(()=>Math.max(0,Math.min(V.upto??H.value.length,H.value.length))),G=i(()=>b(U.value[U.value.length-1].o[0])),K=i(()=>new Set([].concat(V.highlight??[]))),q=i(()=>V.state?64:4),J=i(()=>V.verdict?96:0),Y=i(()=>Math.min(88,(V.width-q.value-J.value-4)/H.value.length)),X=i(()=>Y.value-F),Z=i(()=>V.state?92:42),Q=i(()=>X.value<50?10:13),$=e=>q.value+e*Y.value;return(i,s)=>(d(),r(`svg`,{class:`dl-wordstrip`,viewBox:`0 0 ${V.width} ${Z.value}`,style:c({maxWidth:`${V.width}px`}),role:`img`,"aria-label":`The review “${H.value.join(` `)}”${V.verdict?`, P(positive) = ${o(m)(G.value)}`:``}`},[V.state?(d(),r(a,{key:0},[n(`text`,{class:`dl-wordstrip__key`,x:q.value-8,y:58,"text-anchor":`end`},`not-flag`,8,S),n(`text`,{class:`dl-wordstrip__key`,x:q.value-8,y:84,"text-anchor":`end`},`sentiment`,8,C)],64)):l(`v-if`,!0),(d(!0),r(a,null,t(H.value,(t,i)=>(d(),r(`g`,{key:i,style:c({opacity:i.005?(d(),r(`rect`,{key:0,class:`dl-wordstrip__flag`,x:$(i),y:48,width:X.value*U.value[i].h[0],height:R,rx:`2`},null,8,D)):l(`v-if`,!0),l(` the sentiment, −1 to 1, grows either way from the middle `),n(`rect`,{class:`dl-wordstrip__track`,x:$(i),y:74,width:X.value,height:R,rx:`2`},null,8,O),i.005?(d(),r(`rect`,{key:1,class:u(U.value[i].h[1]>0?`dl-wordstrip__good`:`dl-wordstrip__bad`),x:U.value[i].h[1]>0?$(i)+X.value/2:$(i)+X.value/2*(1+U.value[i].h[1]),y:74,width:X.value/2*Math.abs(U.value[i].h[1]),height:R,rx:`2`},null,10,k)):l(`v-if`,!0),n(`line`,{class:`dl-wordstrip__zero`,x1:$(i)+X.value/2,x2:$(i)+X.value/2,y1:72,y2:88},null,8,A)],64)):l(`v-if`,!0)],4))),128)),V.verdict?(d(),r(`g`,{key:1,style:c({opacity:W.value===H.value.length?1:.35})},[n(`text`,{class:`dl-wordstrip__arrow`,x:V.width-J.value+4,y:26},`→`,8,j),n(`rect`,{class:u(G.value>=.5?`dl-wordstrip__verdict is-good`:`dl-wordstrip__verdict is-bad`),x:V.width-J.value+24,y:I,width:J.value-26,height:L,rx:`4`},null,10,M),n(`text`,{class:`dl-wordstrip__word`,x:V.width-J.value/2+11,y:26,"text-anchor":`middle`},e(W.value===H.value.length?o(m)(G.value):`?`),9,N),n(`text`,{class:`dl-wordstrip__key`,x:V.width-J.value/2+11,y:50,"text-anchor":`middle`},`P(positive)`,8,P)],4)):l(`v-if`,!0)],12,x))}}),[[`__scopeId`,`data-v-3c1d3afa`]]);export{z as t}; \ No newline at end of file diff --git a/lecture-05/assets/_plugin-vue_export-helper-BDNMzG2s.js b/lecture-05/assets/_plugin-vue_export-helper-BDNMzG2s.js new file mode 100644 index 0000000000000000000000000000000000000000..4374bdd01753d5b081492c755ecac84c3c86cba5 --- /dev/null +++ b/lecture-05/assets/_plugin-vue_export-helper-BDNMzG2s.js @@ -0,0 +1 @@ +var e=(e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n};export{e as t}; \ No newline at end of file diff --git a/lecture-05/assets/default-BTjgsdmC.js b/lecture-05/assets/default-BTjgsdmC.js new file mode 100644 index 0000000000000000000000000000000000000000..040ed98a369761b921f70cc191c78a6d9af8d979 --- /dev/null +++ b/lecture-05/assets/default-BTjgsdmC.js @@ -0,0 +1 @@ +import{H as e,S as t,b as n,z as r}from"./modules/shiki-CkJq9tSf.js";import{t as i}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{n as a}from"./slidev/context-DnYiQGy6.js";import{t as o}from"./DeckFooter-e6C5A3-W.js";var s={class:`slidev-layout dl-default`},c=i({__name:`default`,setup(i){let{$slidev:c,$nav:l,$clicksContext:u,$clicks:d,$page:f,$renderContext:p,$frontmatter:m}=a();return(i,a)=>{let c=o;return r(),n(`div`,s,[e(i.$slots,`default`,{},void 0,!0),t(c)])}}},[[`__scopeId`,`data-v-3f3da7ce`]]);export{c as t}; \ No newline at end of file diff --git a/lecture-05/assets/default-DFJXHcku.css b/lecture-05/assets/default-DFJXHcku.css new file mode 100644 index 0000000000000000000000000000000000000000..9701ce2820eb67acfeb00af0d66787fe99a56707 --- /dev/null +++ b/lecture-05/assets/default-DFJXHcku.css @@ -0,0 +1 @@ +.dl-default[data-v-3f3da7ce]{flex-direction:column;justify-content:flex-start;display:flex} diff --git a/lecture-05/assets/entry-Dba4BKje.css b/lecture-05/assets/entry-Dba4BKje.css new file mode 100644 index 0000000000000000000000000000000000000000..d28c41041ebb17c7aba14498b0d27b5100083a75 --- /dev/null +++ b/lecture-05/assets/entry-Dba4BKje.css @@ -0,0 +1 @@ +.page-link[data-v-966650ef]{background-color:#9ca3af1a;border-radius:.25rem;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;min-width:10rem;height:10rem;padding:1rem;display:flex}.page-link[data-v-966650ef]:hover{background-color:#9ca3af33}.page-link>svg[data-v-966650ef]{opacity:.5;font-size:3em} diff --git a/lecture-05/assets/index-CK0S5VQV.js b/lecture-05/assets/index-CK0S5VQV.js new file mode 100644 index 0000000000000000000000000000000000000000..89297962102d9cb830a0a145b08b265c16553ac7 --- /dev/null +++ b/lecture-05/assets/index-CK0S5VQV.js @@ -0,0 +1,46 @@ +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./modules/file-saver-BpWusTEB.js","./rolldown-runtime-hePW80VL.js","./slidev/entry-DXY6sGn2.js","./modules/shiki-CkJq9tSf.js","./modules/shiki-BrmBd2_v.css","./_plugin-vue_export-helper-BDNMzG2s.js","./entry-Dba4BKje.css","./slidev/overview-DBRVMtRn.js","./useNav-D6eKrDQR.js","./modules/vue-Dz2ojcKF.js","./slidev/context-DnYiQGy6.js","./modules/unplugin-icons-CEvhMF8G.js","./slidev/IconButton-CfFb_8Iy.js","./slidev/NoteDisplay-bD5KFX7q.js","./NoteDisplay-DCBzjb4F.css","./SlideWrapper-C4vfVW-k.js","./syncState-BCmj5bTl.js","./slidev/client-BFvXAbq7.js","./useDrawings-D53otB4S.js","./SlideWrapper-DBNQYNtZ.css","./slidev/NoteEditable-BkxEJ73y.js","./overview-BIQ10iVu.css","./slidev/notes-EANQ1CSk.js","./slidev/Modal-Bum_LA_c.js","./slidev/TimerBar-D-Mjxk58.js","./slidev/notes-edit-B1V0z3Sa.js","./slidev/presenter-DSP55QeA.js","./slidev/DrawingControls-DFFYtEqL.js","./slidev/VerticalDivider-E2da-Zpk.js","./DrawingControls-Dhbx0szf.css","./slidev/shortcuts-BKrC-Orl.js","./shortcuts-nRB69a7e.css","./presenter-J5ibmAMh.css","./slidev/play-Btkj4dUi.js","./play-D_7yfuao.css","./slidev/404-sUIBhs09.js","./404-bkedjYjP.css"])))=>i.map(i=>d[i]); +import{r as e}from"./rolldown-runtime-hePW80VL.js";import{F as t,I as n,O as r,P as i,S as a,T as o,U as s,X as c,Z as l,_t as u,at as d,b as f,ct as p,g as m,k as h,m as g,pt as _,rt as v,s as y,t as b,ut as x,vt as S,w as C,y as w,z as T}from"./modules/shiki-CkJq9tSf.js";import{$ as E,A as ee,B as te,G as ne,H as re,Q as D,R as ie,Z as ae,c as oe,et as O,h as se,j as k,l as ce,n as le,p as A,q as j,t as ue,tt as M,w as de,z as fe}from"./useNav-D6eKrDQR.js";import{A as pe,L as me,R as he,S as ge,T as _e,V as ve,f as ye,g as be,i as xe,j as Se,o as Ce,x as we,z as Te}from"./modules/vue-Dz2ojcKF.js";import{a as Ee,c as De,d as Oe,f as ke,g as Ae,i as je,m as Me,o as Ne,p as Pe,r as Fe,s as Ie,u as Le,y as Re}from"./slidev/context-DnYiQGy6.js";import{n as N,r as ze,t as Be}from"./syncState-BCmj5bTl.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),t.credentials=e.crossOrigin===`use-credentials`?`include`:e.crossOrigin===`anonymous`?`omit`:`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})(),x(!1),x(!1);var Ve=new Set([`link`,`style`,`script`,`noscript`]),He=new Set([`title`,`titleTemplate`,`script`,`style`,`noscript`]),Ue=new Set([`base`,`meta`,`link`,`style`,`script`,`noscript`]),We=new Set([`title`,`base`,`htmlAttrs`,`bodyAttrs`,`meta`,`link`,`style`,`script`,`noscript`]),Ge=new Set([`base`,`title`,`titleTemplate`,`bodyAttrs`,`htmlAttrs`,`templateParams`]),Ke=new Set([`key`,`tagPosition`,`tagPriority`,`tagDuplicateStrategy`,`innerHTML`,`textContent`,`processTemplateParams`]),qe=new Set([`templateParams`,`htmlAttrs`,`bodyAttrs`]),Je=new Set([`theme-color`,`google-site-verification`,`author`,`og:locale:alternate`,`og:image`,`og:video`,`og:audio`,`article:author`,`article:tag`,`book:author`,`book:tag`,`twitter:image`]),Ye={critical:-8,high:-1,low:2},Xe=e=>typeof e==`number`?Number.isFinite(e):e;function Ze(e){return e===`__proto__`||e===`constructor`||e===`prototype`}function Qe(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(()=>Qe(e,t,i+1,r))}catch(e){return Promise.reject(e)}}var $e=class{_hooks;constructor(){this._hooks={}}hook(e,t){return!e||typeof t!=`function`?()=>{}:(this._hooks[e]=this._hooks[e]||[],this._hooks[e].push(t),()=>{t&&=(this.removeHook(e,t),void 0)})}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)}}callHook(e,...t){let n=this._hooks[e];if(!(!n||n.length===0))return Qe(n,t,0)}};function et(e){let t=new $e;for(let n in e||{})t.hook(n,e[n]);return t}function tt(e,t,n){if(e.hooks?._hooks?.[t]?.length)return e.hooks?.callHook(t,n)}var nt=/^(?:viewport|description|keywords|robots)$/,rt=[`name`,`property`,`http-equiv`];function it(e){let t=e.indexOf(`:`);if(t===-1)return!1;let n=e.slice(t+1);return Je.has(n)||n.startsWith(`og:image:`)||n.startsWith(`og:video:`)||n.startsWith(`og:audio:`)||n.startsWith(`twitter:image:`)}function at(e){let{props:t,tag:n,key:r}=e;if(Ge.has(n))return n;if(n===`link`){if(t.rel===`canonical`)return`canonical`;if(t.rel===`alternate`&&t.hreflang)return`alternate:${t.hreflang}`}if(t.charset)return`charset`;if(n===`meta`)for(let e of rt){let n=t[e];if(n!==void 0)return`meta:${n}${(typeof n!=`string`||!n.includes(`:`))&&!nt.test(n)&&r?`:key:${r}`:``}`}return r?`${n}:key:${r}`:t.id?`${n}:id:${t.id}`:n===`link`&&t.rel&&t.href?`link:${t.rel}:${t.href}`:He.has(n)&&(e.textContent||e.innerHTML)?`${n}:content:${e.textContent||e.innerHTML}`:void 0}function ot(e){let t=e._h||e._d||e.textContent||e.innerHTML;if(t)return t;let n=Object.keys(e.props).sort(),r=`${e.tag}:`,i=``;for(let t of n)r+=`${i}${t}:${String(e.props[t])}`,i=`,`;return r}function st(e,t,n){if(n===`_resolver`)return e;typeof e==`function`&&(!n||n!==`titleTemplate`&&!n.startsWith(`on`))&&(e=e());let r=t?t(n,e):e;if(Array.isArray(r)){let e;for(let n=0;n/=\x00-\x1F\x7F]/;function lt(e,t){let n=e===`style`,r=n?new Map:new Set,i=e=>{if(e){if(n){let t=e.indexOf(`:`);t>0&&r.set(e.slice(0,t).trim(),e.slice(t+1).trim())}else e.split(` `).forEach(e=>e&&r.add(e))}};if(typeof t==`string`)(n?t.split(`;`):[t]).forEach(i);else if(Array.isArray(t))t.forEach(i);else if(t&&typeof t==`object`)for(let e in t){let a=t[e];a&&a!==`false`&&(n?r.set(e.trim(),String(a)):i(e))}return r}function ut(e,t){if(e.props=e.props||{},!t)return e;if(e.tag===`templateParams`)return e.props=t,e;let n=Ue.has(e.tag)||e.tag===`htmlAttrs`||e.tag===`bodyAttrs`;for(let r in t){if(Ze(r))continue;let i=r.startsWith(`data-`),a=n&&!Ke.has(r),o=a&&!i?r.toLowerCase():r;if(a&&(!o||ct.test(o)))continue;let s=t[r];if(s===null)e.props[o]=null;else if(r===`class`||r===`style`)e.props[r]=lt(r,s);else if(Ke.has(r)){if((r===`textContent`||r===`innerHTML`)&&typeof s==`object`){let n=t.type||`application/json`;(n.endsWith(`json`)||n===`speculationrules`||n===`importmap`)&&(e.props.type=t.type=n,e[r]=JSON.stringify(s))}else e[r]=s}else if(s!==void 0){let t=String(s),n=e.tag===`meta`&&o===`content`;e.props[o]=t===`true`||t===``?i||n?t:!0:!s&&i&&t===`false`?`false`:s}}return e}function dt(e,t){let n;return t.length&&(n=(e,n)=>{for(let r=0;re._w===t._w?e._p-t._p:e._w-t._w,vt=()=>100;function yt(e){for(let t in e)return!1;return!0}var bt=/^tags:|:render/;function xt(e,t){let n=(t[`entries:resolve`]?.length||0)+(t[`entries:normalize`]?.length||0);if(e._h!==n){e._h=n;for(let t of e.entries.values())delete t._tags}}function St(e){for(let t=0;t>10==i._p>>10&&n.tag===`meta`&&it(r)?(e.tagMap.set(r,Object.assign([...Array.isArray(i)?i:[i],n],n)),t=!0):(n._w===i._w?n._p>i._p:n._wt?(typeof e==`string`?e:JSON.stringify(e)).replace(ht,`\\u003C`):typeof e==`string`?e.replace(gt,`<\\/script`):e;n={...n},r&&(n.innerHTML=i(r)),n.textContent&&(n.textContent=i(n.textContent)),n._d=at(n)}e[t++]=n}}return e.length=t,e}function Dt(e,t){let n=t?.tagWeight??e.resolvedOptions._tagWeight??vt,r={tagMap:new Map,tags:[]},i=e.hooks?._hooks||{};xt(e,i);for(let t of e.entries.values())t._pending!==void 0&&(t.input=t._pending,delete t._pending,delete t._tags,delete t._precomputedTags);let a;(i[`entries:resolve`]?.length||i[`entries:normalize`]?.length)&&(a=[...e.entries.values()],i[`entries:resolve`]?.length&&tt(e,`entries:resolve`,{entries:a,...r})),xt(e,i);for(let t of a||e.entries.values()){let a=t._tags;if(!a){if(t._precomputedTags&&n===e.resolvedOptions._tagWeight&&!i[`entries:normalize`]?.length&&!i[`entries:resolve`]?.length&&(!t.options||yt(t.options)))a=t._precomputedTags;else{if(a=mt(t.input,e.resolvedOptions.propResolvers||[]),t.options&&!yt(t.options))for(let e of a)Object.assign(e,t.options);if(i[`entries:normalize`]?.length){let n={tags:a,entry:t};tt(e,`entries:normalize`,n),a=n.tags}for(let e=0;ed(t)?u(t):t,{_static:!0});function Mt(e,t={}){let n=t.head||kt();return n.ssr?n.push(e||{},t):Nt(n,e,t)}function Nt(e,r,a={}){let s=v();if(s&&!s.active)return{patch(){},dispose(){},_i:-1};let c=x(!1);if(a.onRendered&&s){let e=a.onRendered;a={...a,onRendered:t=>s.run(()=>e(t))}}let u;return l(()=>{let t=c.value?{}:st(r,jt);u?u.patch(t):u=e.push(t,a)}),o()&&(t(()=>{u.dispose()}),n(()=>{c.value=!0}),i(()=>{c.value=!1})),u}function Pt(e,t){if(typeof t==`function`&&t.key&&e.plugins.has(t.key))return;let n=typeof t==`function`?t(e):t,r=n.key||String(e.plugins.size+1);if(!e.plugins.get(r)){e.plugins.set(r,n);for(let t in n.hooks||{})e.hooks?.hook(t,n.hooks[t])}}function Ft(e,t={}){let n=!t.document,r=new Map,i={_entryCount:1,_h:0,plugins:new Map,resolvedOptions:t,ssr:n,entries:r,hooks:void 0,render:()=>e(i),use:e=>Pt(i,e),push(e,t){let a=t?._index??i._entryCount++,o=t?{...t}:{};delete o.head,delete o.onRendered,delete o._index;let s={_i:a,input:e,options:o};return r.set(a,s),{_i:a,dispose(){r.delete(a)},patch(e){n?(s.input=e,delete s._tags):s._pending=e,r.has(a)||r.set(a,s)}}}};return t.init?.forEach(e=>e&&i.push(e)),i}var It=Object.assign({}),Lt=Object.assign({}),Rt=Object.assign({}),zt=[Object.values(It)[0],Object.values(Lt)[0],Object.values(Rt)[0]].filter(Boolean),Bt=we(),Vt=be(`slidev-color-schema`,`auto`),Ht=m(()=>M.colorSchema!==`auto`),Ut=m({get(){return Ht.value?M.colorSchema===`dark`:Vt.value===`auto`?Bt.value:Vt.value===`dark`},set(e){Ht.value||(Vt.value=e===Bt.value?`auto`:e?`dark`:`light`)}}),Wt=me(Ut);Se&&c(Ut,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 Gt(){let{isPrintMode:e}=ue();ge(m(()=>e.value?` +@page { + size: ${D.value}px ${ae.value}px; + margin: 0px; +} + +* { + transition: none !important; + transition-duration: 0s !important; +}`:``))}var Kt=Symbol.for(`yaml.alias`),qt=Symbol.for(`yaml.document`),Jt=Symbol.for(`yaml.map`),Yt=Symbol.for(`yaml.pair`),Xt=Symbol.for(`yaml.scalar`),Zt=Symbol.for(`yaml.seq`),P=Symbol.for(`yaml.node.type`),Qt=e=>!!e&&typeof e==`object`&&e[P]===Kt,$t=e=>!!e&&typeof e==`object`&&e[P]===qt,en=e=>!!e&&typeof e==`object`&&e[P]===Jt,F=e=>!!e&&typeof e==`object`&&e[P]===Yt,I=e=>!!e&&typeof e==`object`&&e[P]===Xt,tn=e=>!!e&&typeof e==`object`&&e[P]===Zt;function L(e){if(e&&typeof e==`object`)switch(e[P]){case Jt:case Zt:return!0}return!1}function R(e){if(e&&typeof e==`object`)switch(e[P]){case Kt:case Jt:case Xt:case Zt:return!0}return!1}var nn=e=>(I(e)||L(e))&&!!e.anchor,z=Symbol(`break visit`),rn=Symbol(`skip children`),an=Symbol(`remove node`);function on(e,t){let n=cn(t);$t(e)?sn(null,e.contents,n,Object.freeze([e]))===an&&(e.contents=null):sn(null,e,n,Object.freeze([]))}on.BREAK=z,on.SKIP=rn,on.REMOVE=an;function sn(e,t,n,r){let i=ln(e,t,n,r);if(R(i)||F(i))return un(e,r,i),sn(e,i,n,r);if(typeof i!=`symbol`){if(L(t)){r=Object.freeze(r.concat(t));for(let e=0;eB(e,String(t),n));if(e&&typeof e.toJSON==`function`){if(!n||!nn(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 pn=class{constructor(e){Object.defineProperty(this,P,{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(!$t(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=B(this,``,a);if(typeof r==`function`)for(let{count:e,res:t}of a.anchors.values())r(t,e);return typeof i==`function`?fn(i,{"":o},``,o):o}},mn=class extends pn{constructor(e){super(Kt),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=[],on(e,{Node:(e,t)=>{(Qt(t)||nn(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||=(B(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=hn(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(dn(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 hn(e,t,n){if(Qt(t)){let r=t.resolve(e),i=n&&r&&n.get(r);return i?i.count*i.aliasCount:0}if(L(t)){let r=0;for(let i of t.items){let t=hn(e,i,n);t>r&&(r=t)}return r}if(F(t)){let r=hn(e,t.key,n),i=hn(e,t.value,n);return Math.max(r,i)}return 1}var gn=e=>!e||typeof e!=`function`&&typeof e!=`object`,V=class extends pn{constructor(e){super(Xt),this.value=e}toJSON(e,t){return t?.keep?this.value:B(this.value,e,t)}toString(){return String(this.value)}};V.BLOCK_FOLDED=`BLOCK_FOLDED`,V.BLOCK_LITERAL=`BLOCK_LITERAL`,V.PLAIN=`PLAIN`,V.QUOTE_DOUBLE=`QUOTE_DOUBLE`,V.QUOTE_SINGLE=`QUOTE_SINGLE`;var _n=`tag:yaml.org,2002:`;function vn(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 yn(e,t,n){if($t(e)&&(e=e.contents),R(e))return e;if(F(e)){let t=n.schema[Jt].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??(c.anchor=i(e)),new mn(c.anchor);c={anchor:null,node:null},s.set(e,c)}t?.startsWith(`!!`)&&(t=_n+t.slice(2));let l=vn(e,t,o.tags);if(!l){if(e&&typeof e.toJSON==`function`&&(e=e.toJSON()),!e||typeof e!=`object`){let t=new V(e);return c&&(c.node=t),t}l=e instanceof Map?o[Jt]:Symbol.iterator in Object(e)?o[Zt]:o[Jt]}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 V(e);return t?u.tag=t:l.default||(u.tag=l.tag),c&&(c.node=u),u}function bn(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 yn(r,void 0,{aliasDuplicateObjects:!1,keepUndefined:!1,onAnchor:()=>{throw Error(`This should not happen, please report a bug.`)},schema:e,sourceObjects:new Map})}var xn=e=>e==null||typeof e==`object`&&!!e[Symbol.iterator]().next().done,Sn=class extends pn{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=>R(t)||F(t)?t.clone(e):t),this.range&&(t.range=this.range.slice()),t}addIn(e,t){if(xn(e))this.add(t);else{let[n,...r]=e,i=this.get(n,!0);if(L(i))i.addIn(r,t);else if(i===void 0&&this.schema)this.set(n,bn(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(L(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&&I(i)?i.value:i:L(i)?i.getIn(r,t):void 0}hasAllNullValues(e){return this.items.every(t=>{if(!F(t))return!1;let n=t.value;return n==null||e&&I(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 L(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(L(e))e.setIn(r,t);else if(e===void 0&&this.schema)this.set(n,bn(this.schema,r,t));else throw Error(`Expected YAML collection at ${n}. Remaining path: ${r}`)}}},Cn=e=>e.replace(/^(?!$)(?: $)?/gm,`#`);function wn(e,t){return/^\n+$/.test(e)?e.substring(1):t?e.replace(/^(?! *$)/gm,t):e}var Tn=(e,t,n)=>e.endsWith(` +`)?wn(n,t):n.includes(` +`)?` +`+wn(n,t):(e.endsWith(` `)?``:` `)+n,En=`flow`,Dn=`block`,On=`quoted`;function kn(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=An(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=An(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}),Mn=e=>/^(%|---|\.\.\.)/m.test(e);function Nn(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 Pn(e,t){let n=JSON.stringify(e);if(t.options.doubleQuotedAsJSON)return n;let{implicitKey:r}=t,i=t.options.doubleQuotedMinMultiLineLength,a=t.indent||(Mn(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(Ln,`$&${l}`));let h=!1,g,_=-1;for(g=0;g{i=!0});let s=kn(`${v}${e}${p}`,l,Dn,a);if(!i)return`>${y}\n${l}${s}`}return n=n.replace(/\n+/g,`$&${l}`),`|${y}\n${l}${v}${n}${p}`}function zn(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 In(a,t);if(/^[\n\t ,[\]{}#&*!|>'"%@`]|^[?-]$|^[?-][ \t]|[\n:][ \t]|[ \t]\n|[\n\t ]#|[\n\t :]$/.test(a))return s||u||!a.includes(` +`)?In(a,t):Rn(e,t,n,r);if(!s&&!u&&i!==V.PLAIN&&a.includes(` +`))return Rn(e,t,n,r);if(Mn(a)){if(c===``)return t.forceBlockIndent=!0,Rn(e,t,n,r);if(s&&c===l)return In(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 In(a,t)}return s?d:kn(d,c,En,jn(t,!1))}function Bn(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!==V.QUOTE_DOUBLE&&/[\x00-\x08\x0b-\x1f\x7f-\x9f\u{D800}-\u{DFFF}]/u.test(o.value)&&(s=V.QUOTE_DOUBLE);let c=e=>{switch(e){case V.BLOCK_FOLDED:case V.BLOCK_LITERAL:return i||a?In(o.value,t):Rn(o,t,n,r);case V.QUOTE_DOUBLE:return Pn(o.value,t);case V.QUOTE_SINGLE:return Fn(o.value,t);case V.PLAIN:return zn(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 Vn(e,t){let n=Object.assign({blockQuote:!0,commentString:Cn,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 Hn(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(I(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 Un(e,t,{anchors:n,doc:r}){if(!r.directives)return``;let i=[],a=(I(e)||L(e))&&e.anchor;a&&dn(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 Wn(e,t,n,r){if(F(e))return e.toString(t,n,r);if(Qt(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=R(e)?e:t.doc.createNode(e,{onTagObj:e=>i=e});i??=Hn(t.doc.schema.tags,a);let o=Un(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):I(a)?Bn(a,t,n,r):a.toString(t,n,r);return o?I(a)||s[0]===`{`||s[0]===`[`?`${o} ${s}`:`${o}\n${t.indent}${s}`:s}function Gn({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=R(e)&&e.comment||null;if(d){if(f)throw Error(`With simple keys, key nodes cannot have comments`);if(L(e)||!R(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||L(e)||(I(e)?e.type===V.BLOCK_FOLDED||e.type===V.BLOCK_LITERAL:typeof e==`object`));n=Object.assign({},n,{allNullValues:!1,implicitKey:!p&&(d||!a),indent:s+c});let m=!1,h=!1,g=Wn(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+=Tn(g,n.indent,l(f)):h&&i&&i(),g;m&&(f=null),p?(f&&(g+=Tn(g,n.indent,l(f))),g=`? ${g}\n${s}:`):(g=`${g}:`,f&&(g+=Tn(g,n.indent,l(f))));let _,v,y;R(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&&I(t)&&(n.indentAtStart=g.length+1),h=!1,!u&&c.length>=2&&!n.inFlow&&!p&&tn(t)&&!t.flow&&!t.tag&&!t.anchor&&(n.indent=n.indent.substring(2));let b=!1,x=Wn(t,n,()=>b=!0,()=>h=!0),S=` `;if(f||_||v){if(S=_?` +`:``,v){let e=l(v);S+=`\n${wn(e,n.indent)}`}x===``&&!n.inFlow?S===` +`&&y&&(S=` + +`):S+=`\n${n.indent}`}else if(!p&&L(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===qn||typeof e==`symbol`&&e.description===qn,default:`key`,tag:`tag:yaml.org,2002:merge`,test:/^<<$/,resolve:()=>Object.assign(new V(Symbol(qn)),{addToJSMap:Xn}),stringify:()=>qn},Yn=(e,t)=>(Jn.identify(t)||I(t)&&(!t.type||t.type===V.PLAIN)&&Jn.identify(t.value))&&e?.doc.schema.tags.some(e=>e.tag===Jn.tag&&e.default);function Xn(e,t,n){let r=Qn(e,n);if(tn(r))for(let n of r.items)Zn(e,t,n);else if(Array.isArray(r))for(let n of r)Zn(e,t,n);else Zn(e,t,r)}function Zn(e,t,n){let r=Qn(e,n);if(!en(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 Qn(e,t){return e&&Qt(t)?t.resolve(e.doc,e):t}function $n(e,t,{key:n,value:r}){if(R(n)&&n.addToJSMap)n.addToJSMap(e,t,r);else if(Yn(e,n))Xn(e,t,r);else{let i=B(n,``,e);if(t instanceof Map)t.set(i,B(r,i,e));else if(t instanceof Set)t.add(i);else{let a=er(n,i,e),o=B(r,a,e);a in t?Object.defineProperty(t,a,{value:o,writable:!0,enumerable:!0,configurable:!0}):t[a]=o}}return t}function er(e,t,n){if(t===null)return``;if(typeof t!=`object`)return String(t);if(R(e)&&n?.doc){let t=Vn(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)+`..."`),Kn(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 tr(e,t,n){return new H(yn(e,void 0,n),yn(t,void 0,n))}var H=class e{constructor(e,t=null){Object.defineProperty(this,P,{value:Yt}),this.key=e,this.value=t}clone(t){let{key:n,value:r}=this;return R(n)&&(n=n.clone(t)),R(r)&&(r=r.clone(t)),new e(n,r)}toJSON(e,t){return $n(t,t?.mapAsMap?new Map:{},this)}toString(e,t,n){return e?.doc?Gn(this,e,t,n):JSON.stringify(this)}};function nr(e,t,n){return(t.inFlow??e.flow?ir:rr)(e,t,n)}function rr({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+=Tn(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+=Tn(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}`}return`${f}${o}${d.join(` `)}${o}${p}`}function ar({indent:e,options:{commentString:t}},n,r,i){if(r&&i&&(r=r.replace(/^\n+/,``)),r){let i=wn(t(r),e);n.push(i.trimStart())}}function U(e,t){let n=I(t)?t.value:t;for(let r of e)if(F(r)&&(r.key===t||r.key===n||I(r.key)&&r.key.value===n))return r}var W=class extends Sn{static get tagName(){return`tag:yaml.org,2002:map`}constructor(e){super(Jt,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(tr(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=F(e)?e:!e||typeof e!=`object`||!(`key`in e)?new H(e,e?.value):new H(e.key,e.value);let r=U(this.items,n.key),i=this.schema?.sortMapEntries;if(r){if(!t)throw Error(`Key ${n.key} already set`);I(r.value)&&gn(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=U(this.items,e);return t?this.items.splice(this.items.indexOf(t),1).length>0:!1}get(e,t){let n=U(this.items,e)?.value;return(!t&&I(n)?n.value:n)??void 0}has(e){return!!U(this.items,e)}set(e,t){this.add(new H(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)$n(t,r,e);return r}toString(e,t,n){if(!e)return JSON.stringify(this);for(let e of this.items)if(!F(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})),nr(this,e,{blockItemPrefix:``,flowChars:{start:`{`,end:`}`},itemIndent:e.indent||``,onChompKeep:n,onComment:t})}},or={collection:`map`,default:!0,nodeClass:W,tag:`tag:yaml.org,2002:map`,resolve(e,t){return en(e)||t(`Expected a mapping for this tag`),e},createNode:(e,t,n)=>W.from(e,t,n)},sr=class extends Sn{static get tagName(){return`tag:yaml.org,2002:seq`}constructor(e){super(Zt,e),this.items=[]}add(e){this.items.push(e)}delete(e){let t=cr(e);return typeof t==`number`&&this.items.splice(t,1).length>0}get(e,t){let n=cr(e);if(typeof n!=`number`)return;let r=this.items[n];return!t&&I(r)?r.value:r}has(e){let t=cr(e);return typeof t==`number`&&t=0?t:null}var lr={collection:`seq`,default:!0,nodeClass:sr,tag:`tag:yaml.org,2002:seq`,resolve(e,t){return tn(e)||t(`Expected a sequence for this tag`),e},createNode:(e,t,n)=>sr.from(e,t,n)};function ur(e){return typeof e==`bigint`||Number.isInteger(e)}var dr=({value:e})=>JSON.stringify(e),fr=[{identify:e=>typeof e==`string`,default:!0,tag:`tag:yaml.org,2002:str`,resolve:e=>e,stringify:dr},{identify:e=>e==null,createNode:()=>new V(null),default:!0,tag:`tag:yaml.org,2002:null`,test:/^null$/,resolve:()=>null,stringify:dr},{identify:e=>typeof e==`boolean`,default:!0,tag:`tag:yaml.org,2002:bool`,test:/^true$|^false$/,resolve:e=>e===`true`,stringify:dr},{identify:ur,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})=>ur(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:dr}];[or,lr].concat(fr,{default:!0,tag:``,test:/^/,resolve(e,t){return t(`Unresolved plain scalar ${JSON.stringify(e)}`),e}});function pr(e,t,n){let{replacer:r}=n,i=new sr(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(tr(o,s,n))}return i}var mr=class e extends sr{constructor(){super(),this.add=W.prototype.add.bind(this),this.delete=W.prototype.delete.bind(this),this.get=W.prototype.get.bind(this),this.has=W.prototype.has.bind(this),this.set=W.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(F(e)?(r=B(e.key,``,t),i=B(e.value,r,t)):r=B(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=pr(e,t,n),i=new this;return i.items=r.items,i}};mr.tag=`tag:yaml.org,2002:omap`;var hr=class e extends W{constructor(t){super(t),this.tag=e.tag}add(e){let t;t=F(e)?e:e&&typeof e==`object`&&`key`in e&&`value`in e&&e.value===null?new H(e.key,null):new H(e,null),U(this.items,t.key)||this.items.push(t)}get(e,t){let n=U(this.items,e);return!t&&F(n)?I(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=U(this.items,e);n&&!t?this.items.splice(this.items.indexOf(n),1):!n&&t&&this.items.push(new H(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(tr(e,null,n));return i}};hr.tag=`tag:yaml.org,2002:set`;var gr=Symbol(`break visit`),_r=Symbol(`skip children`),vr=Symbol(`remove item`);function yr(e,t){`type`in e&&e.type===`document`&&(e={start:e.start,value:e.value}),br(Object.freeze([]),e,t)}yr.BREAK=gr,yr.SKIP=_r,yr.REMOVE=vr,yr.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},yr.parentCollection=(e,t)=>{let n=yr.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 br(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;tCr.push(e)),N(G,`$onPatch`,e=>wr.push(e)),ze(),N(G,`$patch`,async()=>!1);var{init:Tr,onPatch:Er,onUpdate:Dr,patch:Or,state:kr}=Be(G,G,!1),K=p({page:0,clicks:0,timer:{status:`stopped`,slides:{},startedAt:0,pausedAt:0}}),Ar=[],jr=[];N(K,`$syncUp`,!0),N(K,`$syncDown`,!0),N(K,`$paused`,!1),N(K,`$onSet`,e=>Ar.push(e)),N(K,`$onPatch`,e=>jr.push(e)),ze(),N(K,`$patch`,async()=>!1);var{init:Mr,onPatch:Nr,onUpdate:Pr,patch:Fr,state:Ir}=Be(K,{page:1,clicks:0,clicksTotal:0,timer:{status:`stopped`,slides:{},startedAt:0,pausedAt:0}});function Lr(){let e=o().appContext.app,t=p({nav:ue(),configs:M,themeConfigs:m(()=>M.themeConfig)});e.provide(Me,x(`none`)),e.provide(Re,t),e.provide(ke,m(()=>t.nav.currentSlideNo)),e.provide(Oe,_(ne()));for(let e of zt)e();let{clicksContext:n,currentSlideNo:r,hasPrimarySlide:i,isNotesViewer:a,isPresenter:s,isPrintMode:l}=ue();Mt({title:E,htmlAttrs:M.htmlAttrs}),Gt(),Mr(`${E} - shared`),Tr(`${E} - drawings`);let u=`${location.origin}_${xr()}`,d=m(()=>s.value?`presenter`:`viewer`);function f(){(s.value?k.value.presenterSend:k.value.viewerSend)&&(a.value||l.value||!s.value&&!Le.includes(location.host.split(`:`)[0])||(Fr(`page`,+r.value),Fr(`clicks`,n.value.current),Fr(`clicksTotal`,n.value.total),Fr(`lastUpdate`,{id:u,type:d.value,time:Date.now()})))}let h=ve();h.afterEach(f),c(n,f),Nr(e=>{(s.value?k.value.presenterReceive:k.value.viewerReceive)&&(!i.value||l.value||e.lastUpdate?.type!==d.value&&(+e.page!=+r.value||+n.value.current!=+e.clicks)&&(A.value=!1,h.replace({path:te(e.page,s.value),query:{...h.currentRoute.value.query,clicks:e.clicks||0}})))})}var Rr=C({__name:`App`,setup(e){return Lr(),l(()=>{for(let[e,t]of Object.entries(O.value))document.body.style.setProperty(e,t.toString())}),(e,t)=>{let n=s(`RouterView`);return T(),f(g,null,[a(n),w(`v-if`,!0)],64)}}});function zr(e,t,n){let r=e.push,i=e;return i.ssr=!1,i.hooks=t,i.dirty=!!i.dirty,i.use=e=>Pt(i,e),i.render=()=>n(i),i.invalidate=()=>{for(let e of i.entries.values())delete e._tags;i.dirty=!0,t.callHook(`entries:updated`,i)},i.push=(n,a)=>{let o=a?.onRendered?t.hook(`dom:rendered`,a.onRendered):void 0,s=r(n,a),c=e.entries.get(s._i);return c&&(c._o=n),i.dirty=!0,t.callHook(`entries:updated`,i),{_i:s._i,patch(e){s.patch(e),i.dirty=!0,t.callHook(`entries:updated`,i)},dispose(){o?.(),e.entries.has(s._i)&&(s.dispose(),i.invalidate())}}},t.hook(`entries:updated`,()=>{i.render()}),i}var Br=/\s+/;function Vr(e={}){return t=>Wr(t,e)}function Hr(e){for(let t of e.entries.values())if(t._pending!==void 0)return!0;return!1}function Ur(e,t){let n={_d:t,_t:t.title,_e:new Map([[`htmlAttrs`,t.documentElement],[`bodyAttrs`,t.body]]),_p:{},_s:{},_l:new Map};for(let e of[...t.body.children,...t.head.children]){let t=e.tagName.toLowerCase();if(!Ue.has(t))continue;let r={innerHTML:e.innerHTML};for(let t of e.getAttributeNames())r[t]=e.getAttribute(t);let i=ut({tag:t,props:{}},r);i.key=e.getAttribute(`data-hid`)||void 0;let a=at(i)||ot(i),o=a,s=1;for(;n._e.has(o);)o=`${a}:${s++}`;n._e.set(o,e)}for(let t of e.entries.values())if(t._o!==void 0){let e=t._o;for(let t of[`bodyAttrs`,`htmlAttrs`]){let r=e[t]?.class;if(typeof r==`string`){let e=n._e.get(t);for(let i of r.split(Br))i&&(n._p[`${t}:attr:class:${i}`]=()=>e.classList.remove(i))}}}return n}function Wr(e,t={}){let n=t.document||e.resolvedOptions.document,r=e._dom,i=!!r&&r._d!==n;if(!n||r&&!i&&!e.dirty&&!Hr(e)||e._du)return!1;let a=n.defaultView;e._du=!0;let o=!1;try{let i=function(e,t,n){d._s[e]=!n&&f[e]||t,delete f[e]},s=function(e,t,n,r,a,o){let s=`${e}:event:${t}`,c=d._l.get(s);if(c&&c[0]===o&&c[1]===n&&c[2]===r){i(s,c[4]);return}c?.[4]();let l=`data-${t}`,u=(e=>r.call(a,e)),f=()=>{o.removeEventListener(n,u),a.getAttribute(l)===``&&a.removeAttribute(l),d._l.get(s)?.[3]===u&&d._l.delete(s)};o.addEventListener(n,u),d._l.set(s,[o,n,r,u,f]),a.setAttribute(l,``),i(s,f,!0)},c=function({id:e,$el:t,tag:n}){let r=n.tag.endsWith(`Attrs`);if(d._e.set(e,t),!r){let r=n.textContent;r!=null&&r!==``&&(r!==t.textContent&&(t.textContent=r),i(`${e}:text`,()=>{t.textContent===r&&(t.textContent=``)},!0));let a=n.innerHTML;a!=null&&a!==``&&(a!==t.innerHTML&&(t.innerHTML=a),i(`${e}:html`,()=>{t.innerHTML===a&&(t.innerHTML=``)},!0));let o=`${e}:el`;i(o,f[o]||(()=>{t?.remove(),d._e.delete(e)}))}for(let r in n.props){let o=n.props[r];if(r[0]===`o`&&r[1]===`n`&&typeof o==`function`){let i=r.slice(2);t?.dataset?.[`${r}fired`]&&o.call(t,new((a?.Event)||Event)(i)),s(e,r,i,o,t,n.tag===`bodyAttrs`&&a?a:t);continue}let c=`${e}:attr:${r}`;if(r===`class`&&o)for(let e of o){let n=`${c}:${e}`;i(n,f[n]||(()=>t.classList.remove(e))),t.classList.contains(e)||t.classList.add(e)}else if(r===`style`&&o)for(let[e,n]of o){let r=`${c}:${e}`;i(r,f[r]||(()=>t.style.removeProperty(e))),t.style.setProperty(e,n)}else o!==!1&&o!==null&&(t.getAttribute(r)!==o&&t.setAttribute(r,o===!0?``:String(o)),i(c,f[c]||(()=>t.removeAttribute(r))))}},l={shouldRender:!0,tags:[]};if(tt(e,`dom:beforeRender`,l),!l.shouldRender)return!1;let u=r;if(u?._d!==n){if(u){for(let e in u._s)u._s[e]();for(let e in u._p)u._p[e]();u._s=u._p={},u._e.clear(),u._l.clear()}u=void 0}u?u._p=u._s:u=Ur(e,n),u._s={};let d=u,f=d._p,p=[],m={};e.dirty=!1;let h=Dt(e,t.tagWeight?{tagWeight:t.tagWeight}:void 0),g=[],_={};for(let e of h){let t=_[e._d]||0,r=(t?`${e._d}:${t}`:e._d)||e._h,a={tag:e,id:r,shouldRender:!0};if(e.tag===`meta`&&e._d&&it(e._d)&&(_[e._d]=t+1),g.push(a),e.tag===`title`){n.title=e.textContent,i(`title:`,()=>n.title=d._t);continue}a.$el=d._e.get(r),a.$el?c(a):Ue.has(e.tag)&&p.push(a)}for(let e of p)e.$el=n.createElement(e.tag.tag),c(e),(m[e.tag.tagPosition||`head`]??=n.createDocumentFragment()).appendChild(e.$el);m.head&&n.head.appendChild(m.head),m.bodyOpen&&n.body.insertBefore(m.bodyOpen,n.body.firstChild),m.bodyClose&&n.body.appendChild(m.bodyClose);for(let e in f)f[e]();e._dom=d,o=!0,tt(e,`dom:rendered`,{renders:g})}catch(t){throw e.dirty=!0,t}finally{e._du=!1}return o&&(e.dirty||Hr(e))&&Wr(e,t),o}var Gr=e=>typeof e.tagPriority==`number`?e.tagPriority:100+(Ye[e.tagPriority]||0);function Kr(e={}){e.document=e.document||(typeof window<`u`?document:void 0);let t=e.render||Vr({document:e.document}),n=zr(Ft(t,{document:e.document,propResolvers:e.propResolvers,_tagWeight:Gr,init:[]}),et(e.hooks),t);return e.plugins?.forEach(e=>n.use(e)),e.init?.forEach(e=>e&&n.push(e)),n}function qr(e={}){let t=Vr(),n,r=0;return n=Kr({render:()=>{let e=++r;setTimeout(()=>{e===r&&t(n)},0)},...e}),n.install=At(n),n}var Jr=Object.assign({}),Yr=Object.assign({}),Xr=Object.assign({}),Zr=[Object.values(Jr)[0],Object.values(Yr)[0],Object.values(Xr)[0]].filter(Boolean);function Qr(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 $r(){let{saveAs:t}=await j(async()=>{let{saveAs:t}=await import(`./modules/file-saver-BpWusTEB.js`).then(t=>e(t.t(),1));return{saveAs:t}},__vite__mapDeps([0,1]),import.meta.url);t(typeof M.download==`string`?M.download:M.exportFilename?`${M.exportFilename}.pdf`:`./slidev-exported.pdf`,`${M.title}.pdf`)}function ei(e,t,n){return(e.instance?.$).provides[t]??n}var ti=/[\s,]+/;function ni(e,t){let n=t.map(e=>`${Fe}${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 ri(){return{install(e){e.directive(`click`,{name:`v-click`,mounted(e,t){let n=ai(e,t,t.value);n!=null&&(e.classList.toggle(De,!0),e.dataset.slidevClicksStart=String(n.start),Number.isFinite(n.end)&&(e.dataset.slidevClicksEnd=String(n.end)),e.watchStopHandle=l(()=>{let t=n.isActive.value,r=n.isCurrent.value,i=t&&!r;n.flagHide?(e.classList.toggle(Ee,t),e.classList.toggle(Ne,t)):e.classList.toggle(Ee,!t),ni(e,n.flagAnimations.value),e.classList.toggle(je,r),e.classList.toggle(Ie,i)}))},unmounted:oi}),e.directive(`after`,{name:`v-after`,mounted(e,t){let n=ai(e,t,`+0`);n!=null&&(e.classList.toggle(De,!0),e.watchStopHandle=l(()=>{let t=n.isActive.value,r=n.isCurrent.value,i=t&&!r;n.flagHide?(e.classList.toggle(Ee,t),e.classList.toggle(Ne,t)):e.classList.toggle(Ee,!t),ni(e,n.flagAnimations.value),e.classList.toggle(je,r),e.classList.toggle(Ie,i)}))},unmounted:oi}),e.directive(`click-hide`,{name:`v-click-hide`,mounted(e,t){let n=ai(e,t,t.value,!0);n!=null&&(e.classList.toggle(De,!0),e.watchStopHandle=l(()=>{let t=n.isActive.value,r=n.isCurrent.value,i=t&&!r;e.classList.toggle(Ee,t),e.classList.toggle(Ne,t),ni(e,n.flagAnimations.value),e.classList.toggle(je,r),e.classList.toggle(Ie,i)}))},unmounted:oi})}}}var ii=new Map;function ai(e,t,n,r=!1){let i=ei(t,Oe)?.value,a=ei(t,Pe);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=m(()=>{if(s.length>0)return s;let e=a?.clickAnimation||M.clickAnimation;return e?e.split(ti).filter(Boolean):[]}),l=i.calculate(n);if(!l)return null;i.register(e,l);let u=m(()=>o?!l.isActive.value:l.isActive.value),d=m(()=>u.value?`shown`:Number.isFinite(l.end)?i.current{setTimeout(t.update,300)},{flush:`post`,immediate:!0});return{...t,stop:n}}function ci(e){return{info:x(fe(e)?.meta.slide??null),update:async()=>{}}}var li={};function ui(e){function t(e){return li[e]??=ci(e)}return{info:m({get(){return t(S(e)).info.value},set(n){t(S(e)).info.value=n}}),update:async(n,r)=>{let i=t(r??S(e)),a=await i.update(n);return a&&(i.info.value=a),a}}}function di(e){return()=>{}}function fi(e,t,n,r=!1){function i(t){return e?ei(e,t):pe(t)}let a=i(Me),o=i(`$$slidev-fontmatter`)??{},s=i(ke),l=m(()=>di(s.value)),u=i(`$$slidev-slide-scale`)??x(1),d=i(`$$slidev-slide-zoom`)??x(1),{left:f,top:p,stop:h}=si(i(`$$slidev-slide-element`)??x()),{isPrintMode:g}=ue(),_=[`slide`,`presenter`].includes(a.value)&&!g.value,v=e?`directive`:`prop`,y=xr(),b;if(Array.isArray(t)?b=t:typeof t==`string`&&t.includes(`,`)?b=t.split(`,`).map(Number):t!=null&&(v=`frontmatter`,y=`${t}`,t=o?.dragPos?.[y],b=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=[h],C=!r&&t!=null&&!Number.isFinite(b?.[3]);b??=[NaN,NaN,0];let w=x(b[2]),T=x(b[0]+b[2]/2),E=x(r?0:b[4]??0),ee=m(()=>E.value*Math.PI/180),te=m(()=>Math.sin(ee.value)),ne=m(()=>Math.cos(ee.value)),re=x(),D=x({left:0,top:0,width:0,height:0}),ie=x(0);function ae(){if(!re.value)return;let e=re.value.getBoundingClientRect();D.value={left:e.left/d.value,top:e.top/d.value,width:e.width/d.value,height:e.height/d.value},ie.value=(D.value.width+D.value.height)/u.value/(Math.abs(te.value)+Math.abs(ne.value))-w.value}S.push(c(w,ae,{flush:`post`}));let oe=x(b[3]??0),O=C?m({get:()=>(C?ie.value:oe.value)||0,set:e=>!C&&(oe.value=e)}):oe,se=x(C?b[1]:b[1]+b[3]/2),k=C?m({get:()=>se.value+O.value/2,set:e=>se.value=e-O.value/2}):se,ce=m(()=>Number.isFinite(T.value)?{position:`absolute`,zIndex:100,left:`${T.value-w.value/2}px`,top:`${k.value-O.value/2}px`,width:`${w.value}px`,height:C?void 0:`${O.value}px`,transformOrigin:`center center`,transform:`rotate(${E.value}deg)`}:{position:`absolute`,zIndex:100});S.push(c([T,k,w,O,E],([e,t,r,i,a])=>{let o=[e-r/2,t-i/2,r].map(Math.round).join();o+=C?v===`directive`?`,NaN`:`,_`:`,${Math.round(i)}`,Math.round(a)!==0&&(o+=`,${Math.round(a)}`),v===`directive`&&(o=`[${o}]`),l.value(y,o,v,n)}));let A={dragId:y,dataSource:v,markdownSource:n,isArrow:r,zoom:d,autoHeight:C,x0:T,y0:k,width:w,height:O,rotate:E,container:re,containerStyle:ce,watchStopHandles:S,dragging:m(()=>le.value===A),mounted(){_&&(ae(),t||setTimeout(()=>{ae(),T.value=(D.value.left+D.value.width/2-f.value)/u.value,k.value=(D.value.top-p.value)/u.value,w.value=D.value.width/u.value,O.value=D.value.height/u.value},100))},unmounted(){_&&A.stopDragging()},startDragging(){_&&(ae(),le.value=A)},stopDragging(){_&&le.value===A&&(le.value=null)}};return S.push(Ce(re,e=>{let t=document.querySelector(`#drag-control-container`);t&&e.target&&t.contains(e.target)||A.stopDragging()}),c(_e(),e=>{e||A.stopDragging()})),A}function pi(){return{install(e){e.directive(`drag`,{name:`v-drag`,created(e,t,n){let r=fi(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(c(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 mi(){return Math.floor(Math.random()*2**31)}var hi=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 gi(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 _i(e,t,n){let r=[];e.forEach(e=>r.push(...e)),gi(r,t,n)}function vi(e,t){return e[0]===t[0]&&e[1]===t[1]}function yi(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)gi(e,s,i);let c=bi(o,a,r);if(i){for(let e of o)gi(e,s,-i);_i(c,s,-i)}return c}function bi(e,t,n){let r=[];for(let t of e){let e=[...t];vi(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 xi(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),yi(e,r,n,i||1)}var Si=class{constructor(e){this.helper=e}fillPolygons(e,t){return this._fillPolygons(e,t)}_fillPolygons(e,t){let n=xi(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 Ci(e){let t=e[0],n=e[1];return Math.sqrt((t[0]-n[0])**2+(t[1]-n[1])**2)}var wi=class extends Si{fillPolygons(e,t){let n=t.hachureGap;n<0&&(n=t.strokeWidth*4),n=Math.max(n,.1);let r=xi(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)Ci([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)}}},Ti=class extends Si{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}},Ei=class{constructor(e){this.helper=e}fillPolygons(e,t){t=Object.assign({},t,{hachureAngle:0});let n=xi(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=Ci(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=Ci(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=Ci(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}return a}function Ri(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)&&(Vi(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}n=l}return t}function zi(e){return Math.PI*e/180}function Bi(e,t,n){return[e*Math.cos(n)-t*Math.sin(n),e*Math.sin(n)+t*Math.cos(n)]}function Vi(e,t,n,r,i,a,o,s,c,l){let u=zi(o),d=[],f=0,p=0,m=0,h=0;if(l)[f,p,m,h]=l;else{[e,t]=Bi(e,t,-u),[n,r]=Bi(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=Vi(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*_],E=[n+S*b,r-C*y],ee=[n,r];if(T[0]=2*w[0]-T[0],T[1]=2*w[1]-T[1],l)return[T,E,ee].concat(d);{d=[T,E,ee].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),_=da(g,l,u,d,f,p,m,1,c);if(!c.disableMultiStroke){let e=da(g,l,u,d,f,p,m,1.5,c);_.push(...e)}return o&&(s?_.push(...X(l,u,l+d*Math.cos(p),u+f*Math.sin(p),c),...X(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 Zi(e,t){let n=Ri(Li(Ii(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(...X(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(...fa(e,n,i,s,c,l,a,t)),a=[c,l];break}case`Z`:r.push(...X(a[0],a[1],i[0],i[1],t)),a=[i[0],i[1]]}return{type:`path`,ops:r}}function Qi(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]+Y(e,t),r[0][1]+Y(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]),$i([m],o)}function ta(e,t){return Y(e,t)}function na(e,t,n){return oa(e,t,n)}function ra(e,t,n,r,i){return X(e,t,n,r,i,!0)}function ia(e){let t=Object.assign({},e);return t.randomizer=void 0,e.seed&&(t.seed=e.seed+1),t}function aa(e){return e.randomizer||=new hi(e.seed||0),e.randomizer.next()}function oa(e,t,n,r=1){return n.roughness*r*(aa(n)*(t-e)+e)}function Y(e,t,n=1){return oa(-e,e,t,n)}function X(e,t,n,r,i,a=!1){let o=a?i.disableMultiStrokeFill:i.disableMultiStroke,s=sa(e,t,n,r,i,!0,!1);if(o)return s;let c=sa(e,t,n,r,i,!0,!0);return s.concat(c)}function sa(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+aa(i)*.2,p=i.bowing*i.maxRandomnessOffset*(r-t)/200,m=i.bowing*i.maxRandomnessOffset*(e-n)/200;p=Y(p,i,l),m=Y(m,i,l);let h=[],g=()=>Y(d,i,l),_=()=>Y(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:Y(u,i,l)),t+(v?0:Y(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 ca(e,t,n){if(!e.length)return[];let r=[];r.push([e[0][0]+Y(t,n),e[0][1]+Y(t,n)]),r.push([e[0][0]+Y(t,n),e[0][1]+Y(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=va(a,o,r),u=va(o,s,r),d=va(s,c,r),f=va(l,u,r),p=va(u,d,r),m=va(f,p,r);ba([a,l,f,m],0,n,i),ba([m,p,d,c],0,n,i)}return i}function xa(e,t){return Sa(e,0,e.length,t)}function Sa(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?(Sa(e,t,l+1,r,a),Sa(e,l,n,r,a)):(a.length||a.push(o),a.push(s)),a}function Ca(e,t=.15,n){let r=[],i=(e.length-1)/3;for(let n=0;n0?Sa(r,0,r.length,n):r}function wa(e,t,n){let r=Ri(Li(Ii(e))),i=[],a=[],o=[0,0],s=[],c=()=>{s.length>=4&&a.push(...Ca(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]])}if(l(),!n)return i;let u=[];for(let e of i){let t=xa(e,n);t.length&&u.push(t)}return u}var Z=`none`,Ta=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 mi()}_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`,[J(e,t,n,r,a)],a)}rectangle(e,t,n,r,i){let a=this._o(i),o=[],s=Gi(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(Qi([i],a)):o.push($i([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=Ji(n,r,a),c=Yi(e,t,a,s);if(a.fill){if(a.fillStyle===`solid`){let n=Yi(e,t,a,s).opset;n.type=`fillPath`,o.push(n)}else o.push($i([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`,[Ui(e,!1,n)],n)}arc(e,t,n,r,i,a,o=!1,s){let c=this._o(s),l=[],u=Xi(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=Xi(e,t,n,r,i,a,!0,!1,o);s.type=`fillPath`,l.push(s)}else l.push(ea(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=Ki(e,n);if(n.fill&&n.fill!==Z){if(n.fillStyle===`solid`){let t=Ki(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(...Ca(ma([r[0],r[0],r[1],r[2]]),10,(1+n.roughness)/2)):t.push(...Ca(ma(r),10,(1+n.roughness)/2))}t.length&&r.push($i([t],n))}}return n.stroke!==Z&&r.push(i),this._d(`curve`,r,n)}polygon(e,t){let n=this._o(t),r=[],i=Ui(e,!0,n);return n.fill&&(n.fillStyle===`solid`?r.push(Qi([e],n)):r.push($i([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=wa(e,1,s),l=Zi(e,n);if(i){if(n.fillStyle===`solid`){if(c.length===1){let t=Zi(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(Qi(c,n))}else r.push($i(c,n))}return a&&(o?c.forEach(e=>{r.push(Ui(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]} `}}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)}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||e.op!==`move`)}},Ea=`http://www.w3.org/2000/svg`,Da=800,Oa=null;function ka(){return Oa||=new Ta().defaultOptions,Oa}function Aa(e,t,n){return{...ka(),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 ja(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 Ma(e,t,n,r,i,a){let o=[],s=n.strokeWidth||2,c=ja(n),l=n.animate===void 0||!!n.animate,u=n.iterations||2,d=+!!n.rtl,f=Aa(`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(Ea,`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 Pa(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]} `}}e.trim()&&t.push(e.trim())}return t}function Fa(){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 Ia=Object.defineProperty,La=(e,t,n)=>t in e?Ia(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Q=(e,t,n)=>(La(e,typeof t==`symbol`?t:t+``,n),n),Ra=class{constructor(e,t){Q(this,`_state`,`unattached`),Q(this,`_config`),Q(this,`_resizing`,!1),Q(this,`_ro`),Q(this,`_seed`,mi()),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){Fa();let e=this._svg=document.createElementNS(Ea,`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)}}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||Da,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`)},Va=[[/^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 Ha(){return{install(e){e.directive(`mark`,{name:`v-mark`,mounted:(e,t)=>{let{isPrintMode:n}=ue(),r=m(()=>{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(Ba[e])return r=Ba[e](r,t),!1;for(let[n,i]of Va){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=za(e,r.value),a=ai(e,t,r.value.at);if(!a){i.show();return}e.watchStopHandle=l(()=>{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||t!==!1&&a.isActive.value,e!=null&&(e?i.show():i.hide())})},unmounted:e=>{e.watchStopHandle?.()}})}}}function Ua(){return{install(e){let t=xe();e.directive(`motion`,{name:`v-motion`,mounted(e,n,r,i){let a=ei(n,Oe),o=ei(n,ke),s=ei(n,Me),{currentPage:l,clicks:u,isPrintMode:d}=ue(),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=`${xr()}-`,_=[];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:a?.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=c([o,l,u].filter(Boolean),()=>{let t=ii.get(e)?.visibilityState.value??`shown`;if(!a?.value||![`slide`,`presenter`].includes(s?.value??``)){let e={...p,...m};for(let{variant:t}of _)Object.assign(e,t);v.set(e)}else if(d.value||o?.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((o?.value??-1)>l.value?p:h)},{immediate:!0})},unmounted(e){e.motionInstance.watchStopHandle()}})}}}var Wa=Object.assign({}),Ga=Object.assign({}),Ka=Object.assign({}),qa=[Object.values(Wa)[0],Object.values(Ga)[0],Object.values(Ka)[0]].filter(Boolean);function Ja(){let e=[];function t(e){if(!M.remote||M.remote===e.query.password)return!0;if(M.remote&&e.query.password===void 0){let e=prompt(`Enter password`);if(M.remote===e)return!0}return e.params.no?{path:`/${e.params.no}`}:{path:``}}return e.push({name:`entry`,path:`/entry`,component:()=>j(()=>import(`./slidev/entry-DXY6sGn2.js`),__vite__mapDeps([2,3,1,4,5,6]),import.meta.url),beforeEnter:t},{name:`overview`,path:`/overview`,component:()=>j(()=>import(`./slidev/overview-DBRVMtRn.js`),__vite__mapDeps([7,3,1,4,8,5,9,10,11,12,13,14,15,16,17,18,19,20,21]),import.meta.url),beforeEnter:t},{name:`notes`,path:`/notes`,component:()=>j(()=>import(`./slidev/notes-EANQ1CSk.js`),__vite__mapDeps([22,3,1,4,8,5,9,10,12,23,13,14,24]),import.meta.url),beforeEnter:t},{name:`notes-edit`,path:`/notes-edit`,component:()=>j(()=>import(`./slidev/notes-edit-B1V0z3Sa.js`),__vite__mapDeps([25,3,1,4,8,5,9,10,12,23]),import.meta.url),beforeEnter:t},{name:`presenter`,path:`/presenter/:no`,component:()=>j(()=>import(`./slidev/presenter-DSP55QeA.js`),__vite__mapDeps([26,3,1,4,8,5,9,10,18,27,12,28,29,13,14,24,15,16,17,19,20,30,31,32]),import.meta.url),beforeEnter:t},{path:`/presenter`,redirect:{path:`/presenter/1`}}),e.push({name:`play`,path:`/:no`,component:()=>j(()=>import(`./slidev/play-Btkj4dUi.js`),__vite__mapDeps([33,3,1,4,8,5,9,10,18,11,23,15,16,17,19,30,12,28,31,34]),import.meta.url)},{path:``,redirect:{path:`/1`}},{path:`/:pathMatch(.*)*`,name:`NotFound`,component:()=>j(()=>import(`./slidev/404-sUIBhs09.js`),__vite__mapDeps([35,3,1,4,8,5,9,10,36]),import.meta.url)}),qa.reduce((e,t)=>t(e),e)}async function Ya(e){function t(){document.documentElement.style.setProperty(`--vh`,`${window.innerHeight*.01}px`)}t(),window.addEventListener(`resize`,t);let n=he({history:Te(`./`),routes:Ja()});e.use(n),e.use(qr()),e.use(ri()),e.use(Ha()),e.use(pi()),e.use(Ua()),e.use(b,{container:`#twoslash-container`});let r={app:e,router:n};for(let e of Zr)await e(r)}async function Xa(){let e=y(Rr);await Ya(e),e.mount(`#app`)}Xa();export{Qr as a,Er as c,Sr as d,Ht as f,Mt as h,$r as i,Or as l,Wt as m,ci as n,Ir as o,Ut as p,si as r,kr as s,ui as t,xr as u}; \ No newline at end of file diff --git a/lecture-05/assets/index-Ca92njKe.css b/lecture-05/assets/index-Ca92njKe.css new file mode 100644 index 0000000000000000000000000000000000000000..a7ff3d262babce191d51a14e6b79265635757c70 --- /dev/null +++ b/lecture-05/assets/index-Ca92njKe.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,[prose=""]{color:var(--un-prose-body);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)),[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] *)),[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] *)),[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] *)),[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(a strong):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(blockquote 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] *)),[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] *)),[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] *)),[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] *)),[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] *)),[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] *)),[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] *)),[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] *)),[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] *)),[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] *)),[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] *)),[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] *)),[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(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(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] *)),[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] *)),[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] *)),[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,[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,[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] *)),[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] *)),[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] *)),[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] *)),[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] *)),[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] *)),[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] *)),[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] *)),[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] *)),[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] *)),[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] *)),[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] *)),[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] *)),[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] *)):before,.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after,[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(a code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h1 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] *)),[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] *)),[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(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(blockquote 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] *)),[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] *)),[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] *)),[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] *)):before,.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after,[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] *)),[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] *)),[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] *)),[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] *)),[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] *)),[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] *)),[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] *)),[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] *)),[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] *)),[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] *)),[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] *)),[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,[prose=""]{font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)),[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] *)),[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(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(ul>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] *)),[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] *)),[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] *)),[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] *)),[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(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h2+*):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(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h4+*):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] *)),[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] *)),[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] *)),[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] *)),[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] *)),[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] *)),[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] *)),[prose=""] :where():not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose,[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-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{--un-bg-opacity:1;background-color:rgb(255 255 255/var(--un-bg-opacity))}.dark .bg-main,.dark .slidev-glass-effect{--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{--un-text-opacity:1;color:rgb(221 221 221/var(--un-text-opacity))}.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 (width>=640px){.container{max-width:640px}}@media (width>=768px){.container{max-width:768px}}@media (width>=1024px){.container{max-width:1024px}}@media (width>=1280px){.container{max-width:1280px}}@media (width>=1536px){.container{max-width:1536px}}: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))}.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}:root{--dl-bg:#fff;--dl-surface:#f7f9fa;--dl-border:#e3e8ea;--dl-heading:#111;--dl-body:#595959;--dl-muted:#8a8a8a;--dl-accent:#0097a7;--dl-accent-soft:#e0f4f6;--dl-accent-strong:#00707c;--dl-danger:#d32f2f;--dl-table-header:#eee;--dl-code-bg:#f6f8fa;--dl-fs-title:4.4rem;--dl-fs-section:3rem;--dl-fs-heading:2.1rem;--dl-fs-body:1.5rem;--dl-fs-secondary:1.17rem;--dl-fs-citation:.85rem}html.dark{--dl-bg:#0d1117;--dl-surface:#161b22;--dl-border:#2a323d;--dl-heading:#f2f5f7;--dl-body:#c2cad2;--dl-muted:#8b949e;--dl-accent:#2ec9d8;--dl-accent-soft:#123236;--dl-accent-strong:#7fe3ee;--dl-danger:#ff7b72;--dl-table-header:#1c2530;--dl-code-bg:#161b22}.slidev-layout{--slidev-code-background:var(--dl-code-bg);background:var(--dl-bg);height:100%;color:var(--dl-body);font-size:var(--dl-fs-body);padding:2.6rem 3rem 3.2rem;line-height:1.5;position:relative}.slidev-layout h1,.slidev-layout h2,.slidev-layout h3,.slidev-layout h4{color:var(--dl-heading);letter-spacing:-.01em;font-weight:600}.slidev-layout h1{font-size:var(--dl-fs-heading);margin-bottom:1.2rem}.slidev-layout h2{margin-bottom:.8rem;font-size:1.7rem}.slidev-layout h3{margin-bottom:.6rem;font-size:1.35rem}.slidev-layout p{margin:.5rem 0}.slidev-layout ul{margin:.4rem 0;padding-left:1.35rem;list-style:outside}.slidev-layout ol{margin:.4rem 0;padding-left:1.6rem;list-style:decimal}.slidev-layout ul ul{list-style:circle}.slidev-layout li{margin:.42rem 0}.slidev-layout li::marker{color:var(--dl-accent)}.slidev-layout a{color:var(--dl-accent);border-bottom:1px solid color-mix(in srgb, var(--dl-accent) 40%, transparent);text-decoration:none;transition:border-color .15s}.slidev-layout a:hover{border-bottom-color:var(--dl-accent)}.slidev-layout strong{color:var(--dl-heading);font-weight:600}.dl-wrong{color:var(--dl-danger);font-weight:600}.dl-secondary{font-size:var(--dl-fs-secondary);color:var(--dl-muted)}.slidev-layout table{border-collapse:collapse;font-size:var(--dl-fs-secondary);width:100%}.slidev-layout table th{background:var(--dl-table-header);color:var(--dl-heading);text-align:left;font-weight:600}.slidev-layout table th,.slidev-layout table td{border:1px solid var(--dl-border);padding:.4rem .7rem}.slidev-layout blockquote{border-left:3px solid var(--dl-accent);background:var(--dl-accent-soft);color:var(--dl-body);margin:.8rem 0;padding:.6rem 1rem}.dl-rule{background:var(--dl-accent);border-radius:2px;width:4.5rem;height:3px}.dl-callout{border-left:3px solid var(--dl-accent);background:var(--dl-accent-soft);border-radius:0 6px 6px 0;padding:.7rem 1rem;font-size:1.05rem}.dl-card{border:1px solid var(--dl-border);background:var(--dl-surface);border-radius:8px;overflow:hidden}.dl-card img{object-fit:cover;width:100%;height:6.2rem;display:block}.dl-card.is-contain img{object-fit:contain;background:var(--dl-bg);padding:.5rem}.dl-card__cap{color:var(--dl-body);padding:.35rem .55rem;font-size:.78rem}.dl-tight{font-size:1.06rem;line-height:1.45}.dl-tight li{margin:.34rem 0}.dl-tight .dl-callout{font-size:1rem}.dl-ledger table{font-size:1.02rem}.dl-ledger table th,.dl-ledger table td{padding:.24rem .6rem}.dl-eq-legend table{font-size:.86rem}.dl-eq-legend table th,.dl-eq-legend table td{padding:.16rem .45rem}.dl-eq-legend table td:first-child{white-space:nowrap}.dl-prompt{color:var(--dl-heading);border-left:3px solid var(--dl-accent);padding-left:.8rem;font-size:1.05rem;font-style:italic}.dl-reveal{color:var(--dl-accent);font-size:1.8rem;font-weight:700}.slidev-layout .katex{color:var(--dl-heading)}.slidev-layout .katex-display>.katex{font-size:1em}.dl-math-sm .katex{font-size:.84em}.dl-math-xs .katex{font-size:.72em}.slidev-code-wrapper{border:1px solid var(--dl-border);border-radius:6px;flex-shrink:0;overflow:hidden}.dl-diagram{width:100%;max-width:41rem;height:auto;font-family:inherit}.dl-dg-box{fill:var(--dl-surface);stroke:var(--dl-border);stroke-width:1.5px}.dl-dg-box.is-accent{fill:var(--dl-accent-soft);stroke:var(--dl-accent)}.dl-dg-box.is-bad{fill:none;stroke:var(--dl-danger);stroke-dasharray:4 3}.dl-dg-net{fill:var(--dl-accent-soft);stroke:var(--dl-accent);stroke-width:1.6px}.dl-dg-net.is-critic{fill:var(--dl-surface);stroke:var(--dl-body)}.dl-dg-op{fill:var(--dl-bg);stroke:var(--dl-heading);stroke-width:1.6px}.dl-dg-lab{fill:var(--dl-heading);font-size:17px;font-style:italic;font-weight:600}.dl-dg-lab.is-sm{font-size:13px;font-style:normal}.dl-dg-in{fill:var(--dl-accent-strong);font-size:13px;font-weight:700}.dl-dg-net.is-critic+.dl-dg-in,.dl-dg-in.is-critic{fill:var(--dl-body)}.dl-dg-small{fill:var(--dl-muted);font-size:11px}.dl-dg-small.is-bad{fill:var(--dl-danger)}.dl-dg-small.is-good{fill:var(--dl-accent-strong)}.dl-dg-arrow{fill:none;stroke:var(--dl-body);stroke-width:1.8px}.dl-dg-head{fill:var(--dl-body)}.dl-dg-loss,.dl-dg-grad{fill:none;stroke:var(--dl-muted);stroke-width:1.4px;stroke-dasharray:3 3}.dl-dg-grad.is-bad{stroke:var(--dl-danger)}.dl-dg-grad.is-good{stroke:var(--dl-accent);stroke-dasharray:none}.dl-dg-split{stroke:var(--dl-border);stroke-width:1px}.dl-diagram.is-sm{max-width:26rem}.dl-diagram.is-xs{max-width:18rem}.dl-dg-bar{fill:var(--dl-muted)}.dl-dg-bar.is-q{fill:var(--dl-accent)}.dl-dg-bar.is-bad{fill:var(--dl-danger)}.dl-dg-fill{fill:var(--dl-accent-soft);stroke:var(--dl-accent);stroke-width:1.4px}.dl-dg-fill.is-muted{fill:var(--dl-surface);stroke:var(--dl-muted)}.dl-dg-fill.is-dashed{stroke-dasharray:4 3}.dl-dg-dot{fill:var(--dl-body)}.dl-dg-dot.is-accent{fill:var(--dl-accent)}.dl-dg-dot.is-bad{fill:var(--dl-danger)}.dl-dg-line{fill:none;stroke:var(--dl-accent);stroke-width:2.2px}.dl-dg-line.is-muted{stroke:var(--dl-muted)}.dl-dg-line.is-bad{stroke:var(--dl-danger)}.dl-dg-emoji{font-size:30px}.dl-dg-lab.is-bad-text{fill:var(--dl-danger)}.dl-diagram.is-sm-h{max-height:11.5rem}.slidev-layout pre.shiki{font-size:.76rem;line-height:1.38}.dl-tight code{white-space:nowrap}.dl-ledger--nums table td:nth-child(2){white-space:nowrap;font-variant-numeric:tabular-nums}.dl-ledger--nums table td:nth-child(3),.dl-ledger--nums table td:nth-child(4),.dl-ledger--nums table th:nth-child(3),.dl-ledger--nums table th:nth-child(4){text-align:right;width:4rem}@font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(./KaTeX_AMS-Regular-BQhdFMY1.woff2)format("woff2"),url(./KaTeX_AMS-Regular-DMm9YOAa.woff)format("woff"),url(./KaTeX_AMS-Regular-DRggAlZN.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(./KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2)format("woff2"),url(./KaTeX_Caligraphic-Bold-BEiXGLvX.woff)format("woff"),url(./KaTeX_Caligraphic-Bold-ATXxdsX0.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(./KaTeX_Caligraphic-Regular-Di6jR-x-.woff2)format("woff2"),url(./KaTeX_Caligraphic-Regular-CTRA-rTL.woff)format("woff"),url(./KaTeX_Caligraphic-Regular-wX97UBjC.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(./KaTeX_Fraktur-Bold-CL6g_b3V.woff2)format("woff2"),url(./KaTeX_Fraktur-Bold-BsDP51OF.woff)format("woff"),url(./KaTeX_Fraktur-Bold-BdnERNNW.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(./KaTeX_Fraktur-Regular-CTYiF6lA.woff2)format("woff2"),url(./KaTeX_Fraktur-Regular-Dxdc4cR9.woff)format("woff"),url(./KaTeX_Fraktur-Regular-CB_wures.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(./KaTeX_Main-Bold-Cx986IdX.woff2)format("woff2"),url(./KaTeX_Main-Bold-Jm3AIy58.woff)format("woff"),url(./KaTeX_Main-Bold-waoOVXN0.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(./KaTeX_Main-BoldItalic-DxDJ3AOS.woff2)format("woff2"),url(./KaTeX_Main-BoldItalic-SpSLRI95.woff)format("woff"),url(./KaTeX_Main-BoldItalic-DzxPMmG6.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(./KaTeX_Main-Italic-NWA7e6Wa.woff2)format("woff2"),url(./KaTeX_Main-Italic-BMLOBm91.woff)format("woff"),url(./KaTeX_Main-Italic-3WenGoN9.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(./KaTeX_Main-Regular-B22Nviop.woff2)format("woff2"),url(./KaTeX_Main-Regular-Dr94JaBh.woff)format("woff"),url(./KaTeX_Main-Regular-ypZvNtVU.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(./KaTeX_Math-BoldItalic-CZnvNsCZ.woff2)format("woff2"),url(./KaTeX_Math-BoldItalic-iY-2wyZ7.woff)format("woff"),url(./KaTeX_Math-BoldItalic-B3XSjfu4.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(./KaTeX_Math-Italic-t53AETM-.woff2)format("woff2"),url(./KaTeX_Math-Italic-DA0__PXp.woff)format("woff"),url(./KaTeX_Math-Italic-flOr_0UB.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:700;src:url(./KaTeX_SansSerif-Bold-D1sUS0GD.woff2)format("woff2"),url(./KaTeX_SansSerif-Bold-DbIhKOiC.woff)format("woff"),url(./KaTeX_SansSerif-Bold-CFMepnvq.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:italic;font-weight:400;src:url(./KaTeX_SansSerif-Italic-C3H0VqGB.woff2)format("woff2"),url(./KaTeX_SansSerif-Italic-DN2j7dab.woff)format("woff"),url(./KaTeX_SansSerif-Italic-YYjJ1zSn.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:400;src:url(./KaTeX_SansSerif-Regular-DDBCnlJ7.woff2)format("woff2"),url(./KaTeX_SansSerif-Regular-CS6fqUqJ.woff)format("woff"),url(./KaTeX_SansSerif-Regular-BNo7hRIc.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(./KaTeX_Script-Regular-D3wIWfF6.woff2)format("woff2"),url(./KaTeX_Script-Regular-D5yQViql.woff)format("woff"),url(./KaTeX_Script-Regular-C5JkGWo-.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(./KaTeX_Size1-Regular-mCD8mA8B.woff2)format("woff2"),url(./KaTeX_Size1-Regular-C195tn64.woff)format("woff"),url(./KaTeX_Size1-Regular-Dbsnue_I.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(./KaTeX_Size2-Regular-Dy4dx90m.woff2)format("woff2"),url(./KaTeX_Size2-Regular-oD1tc_U0.woff)format("woff"),url(./KaTeX_Size2-Regular-B7gKUWhC.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAA4oAA4AAAAAHbQAAA3TAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmAAgRQIDgmcDBEICo1oijYBNgIkA14LMgAEIAWJAAeBHAyBHBvbGiMRdnO0IkRRkiYDgr9KsJ1NUAf2kILNxgUmgqIgq1P89vcbIcmsQbRps3vCcXdYOKSWEPEKgZgQkprQQsxIXUgq0DqpGKmIvrgkeVGtEQD9DzAO29fM9jYhxZEsL2FeURH2JN4MIcTdO049NCVdxQ/w9NrSYFEBKTDKpLKfNkCGDc1RwjZLQcm3vqJ2UW9Xfa3tgAHz6ivp6vgC2yD4/6352ndnN0X0TL7seypkjZlMsjmZnf0Mm5Q+JykRWQBKCVCVPbARPXWyQtb5VgLB6Biq7/Uixcj2WGqdI8tGSgkuRG+t910GKP2D7AQH0DB9FMDW/obJZ8giFI3Wg8Cvevz0M+5m0rTh7XDBlvo9Y4vm13EXmfttwI4mBo1EG15fxJhUiCLbiiyCf/ZA6MFAhg3pGIZGdGIVjtPn6UcMk9A/UUr9PhoNsCENw1APAq0gpH73e+M+0ueyHbabc3vkbcdtzcf/fiy+NxQEjf9ud/ELBHAXJ0nk4z+MXH2Ev/kWyV4k7SkvpPc9Qr38F6RPWnM9cN6DJ0AdD1BhtgABtmoRoFCvPsBAumNm6soZG2Gk5GyVTo2sJncSyp0jQTYoR6WDvTwaaEcHsxHfvuWhHA3a6bN7twRKtcGok6NsCi7jYRrM2jExsUFMxMQYuJbMhuWNOumEJy9hi29Dmg5zMp/A5+hhPG19j1vBrq8JTLr8ki5VLPmG/PynJHVul440bxg5xuymHUFPBshC+nA9I1FmwbRBTNHAcik3Oae0cxKoI3MOriM42UrPe51nsaGxJ+WfXubAsP84aabUlQSJ1IiE0iPETLUU4CATgfXSCSpuRFRmCGbO+wSpAnzaeaCYW1VNEysRtuXCEL1kUFUbbtMv3Tilt/1c11jt3Q5bbMa84cpWipp8Elw3MZhOHsOlwwVUQM3lAR35JiFQbaYCRnMF2lxAWoOg2gyoIV4PouX8HytNIfLhqpJtXB4vjiViUI8IJ7bkC4ikkQvKksnOTKICwnqWSZ9YS5f0WCxmpgjbIq7EJcM4aI2nmhLNY2JIUgOjXZFWBHb+x5oh6cwb0Tv1ackHdKi0I9OO2wE9aogIOn540CCCziyhN+IaejtgAONKznHlHyutPrHGwCx9S6B8kfS4Mfi4Eyv7OU730bT1SCBjt834cXsf43zVjPUqqJjgrjeGnBxSG4aYAKFuVbeCfkDIjAqMb6yLNIbCuvXhMH2/+k2vkNpkORhR59N1CkzoOENvneIosjYmuTxlhUzaGEJQ/iWqx4dmwpmKjrwTiTGTCVozNAYqk/zXOndWxuWSmJkQpJw3pK5KX6QrLt5LATMqpmPAQhkhK6PUjzHUn7E0gHE0kPE0iKkolgkUx9SZmVAdDgpffdyJKg3k7VmzYGCwVXGz/tXmkOIp+vcWs+EMuhhvN0h9uhfzWJziBQmCREGSIFmQIkgVpAnSBRmC//6hkLZwaVhwxlrJSOdqlFtOYxlau9F2QN5Y98xmIAsiM1HVp2VFX+DHHGg6Ecjh3vmqtidX3qHI2qycTk/iwxSt5UzTmEP92ZBnEWTk4Mx8Mpl78ZDokxg/KWb+Q0QkvdKVmq3TMW+RXEgrsziSAfNXFMhDc60N5N9jQzjfO0kBKpUZl0ZmwJ41j/B9Hz6wmRaJB84niNmQrzp9eSlQCDDzazGDdVi3P36VZQ+Jy4f9UBNp+3zTjqI4abaFAm+GShVaXlsGdF3FYzZcDI6cori4kMxUECl9IjJZpzkvitAoxKue+90pDMvcKRxLl53TmOKCmV/xRolNKSqqUxc6LStOETmFOiLZZptlZepcKiAzteG8PEdpnQpbOMNcMsR4RR2Bs0cKFEvSmIjAFcnarqwUL4lDhHmnVkwu1IwshbiCcgvOheZuYyOteufZZwlcTlLgnZ3o/WcYdzZHW/WGaqaVfmTZ1aWCceJjkbZqsfbkOtcFlUZM/jy+hXHDbaUobWqqXaeWobbLO99yG5N3U4wxco0rQGGcOLASFMXeJoham8M+/x6O2WywK2l4HGbq1CoUyC/IZikQhdq3SiuNrvAEj0AVu9x2x3lp/xWzahaxidezFVtdcb5uEnzyl0ZmYiuKI0exvCd4Xc9CV1KB0db00z92wDPde0kukbvZIWN6jUWFTmPIC/Y4UPCm8UfDTFZpZNon1qLFTkBhxzB+FjQRA2Q/YRJT8pQigslMaUpFyAG8TMlXigiqmAZX4xgijKjRlGpLE0GdplRfCaJo0JQaSxNBk6ZmMzcya0FmrcisDdn0Q3HI2sWSppYigmlM1XT/kLQZSNpMJG0WkjYbSZuDpM1F0uYhFc1HxU4m1QJjDK6iL0S5uSj5rgXc3RejEigtcRBtqYPQsiTskmO5vosV+q4VGIKbOkDg0jtRrq+Em1YloaTFar3EGr1EUC8R0kus1Uus00usL97ABr2BjXoDm/QGNhuWtMVBKOwg/i78lT7hBsAvDmwHc/ao3vmUbBmhjeYySZNWvGkfZAgISDSaDo1SVpzGDsAEkF8B+gEapViUoZgUWXcRIGFZNm6gWbAKk0bp0k1MHG9fLYtV4iS2SmLEQFARzRcnf9PUS0LVn05/J9MiRRBU3v2IrvW974v4N00L7ZMk0wXP1409CHo/an8zTRHD3eSJ6m8D4YMkZNl3M79sqeuAsr/m3f+8/yl7A50aiAEJgeBeMWzu7ui9UfUBCe2TIqZIoOd/3/udRBOQidQZUERzb2/VwZN1H/Sju82ew2H2Wfr6qvfVf3hqwDvAIpkQVFy4B9Pe9e4/XvPeceu7h3dvO56iJPf0+A6cqA2ip18ER+iFgggiuOkvj24bby0N9j2UHIkgqIt+sVgfodC4YghLSMjSZbH0VR/6dMDrYJeKHilKTemt6v6kvzvn3/RrdWtr0GoN/xL+Sex/cPYLUpepx9cz/D46UPU5KXgAQa+NDps1v6J3xP1i2HtaDB0M9aX2deA7SYff//+gUCovMmIK/qfsFcOk+4Y5ZN97XlG6zebqtMbKgeRFi51vnxTQYBUik2rS/Cn6PC8ADR8FGxsRPB82dzfND90gIcshOcYUkfjherBz53odpm6TP8txlwOZ71xmfHHOvq053qFF/MRlS3jP0ELudrf2OeN8DHvp6ZceLe8qKYvWz/7yp0u4dKPfli3CYq0O13Ih71mylJ80tOi10On8wi+F4+LWgDPeJ30msSQt9/vkmHq9/Lvo2b461mP801v3W4xTcs6CbvF9UDdrSt+A8OUbpSh55qAUFXWznBBfdeJ8a4d7ugT5tvxUza3h9m4H7ptTqiG4z0g5dc0X29OcGlhpGFMpQo9ytTS+NViZpNdvU4kWx+LKxNY10kQ1yqGXrhe4/1nvP7E+nd5A92TtaRplbHSqoIdOqtRWti+fkB5/n1+/VvCmz12pG1kpQWsfi1ftlBobm0bpngs16CHkbIwdLnParxtTV3QYRlfJ0KFskH7pdN/YDn+yRuSd7sNH3aO0DYPggk6uWuXrfOc+fa3VTxFVvKaNxHsiHmsXyCLIE5yuOeN3/Jdf8HBL/5M6shjyhxHx9BjB1O0+4NLOnjLLSxwO7ukN4jMbOIcD879KLSi6Pk61Oqm2377n8079PXEEQ7cy7OKEC9nbpet118fxweTafpt69x/Bt8UqGzNQt7aelpc44dn5cqhwf71+qKp/Zf/+a0zcizOUWpl/iBcSXip0pplkatCchoH5c5aUM8I7/dWxAej8WicPL1URFZ9BDJelUwEwTkGqUhgSlydVes95YdXvhh9Gfz/aeFWvgVb4tuLbcv4+wLdutVZv/cUonwBD/6eDlE0aSiKK/uoH3+J1wDE/jMVqY2ysGufN84oIXB0sPzy8ollX/LegY74DgJXJR57sn+VGza0x3DnuIgABFM15LmajjjsNlYj+JEZGbuRYcAMOWxFkPN2w6Wd46xo4gVWQR/X4lyI/R6K/YK0110GzudPRW7Y+UOBGTfNNzHeYT0fiH0taunBpq9HEW8OKSaBGj21L0MqenEmNRWBAWDWAk4CpNoEZJ2tTaPFgbQYj8HxtFilErs3BTRwT8uO1NXQaWfIotchmPkAF5mMBAliEmZiOGVgCG9LgRzpscMAOOwowlT3JhusdazXGSC/hxR3UlmWVwWHpOIKheqONvjyhSiTHIkVUco5bnji8m//zL7PKaT1Vl5I6UE609f+gkr6MZKVyKc7zJRmCahLsdlyA5fdQkRSan9LgnnLEyGSkaKJCJog0wAgvepWBt80+1yKln1bMVtCljfNWDueKLsWwaEbBSfSPTEmVRsUcYYMnEjcjeyCZzBXK9E9BYBXLKjOSpUDR+nEV3TFSUdQaz+ot98QxgXwx0GQ+EEUAKB2qZPkQQ0GqFD8UPFMqyaCHM24BZmSGic9EYMagKizOw9Hz50DMrDLrqqLkTAhplMictiCAx5S3BIUQdeJeLnBy2CNtMfz6cV4u8XKoFZQesbf9YZiIERiHjaNodDW6LgcirX/mPnJIkBGDUpTBhSa0EIr38D5hCIszhCM8URGBqImoWjpvpt1ebu/v3Gl3qJfMnNM+9V+kiRFyROTPHQWOcs1dNW94/ukKMPZBvDi55i5CttdeJz84DLngLqjcdwEZ87bFFR8CIG35OAkDVN6VRDZ7aq67NteYqZ2lpT8oYB2CytoBd6VuAx4WgiAsnuj3WohG+LugzXiQRDeM3XYXlULv4dp5VFYC)format("woff2"),url(./KaTeX_Size3-Regular-CTq5MqoE.woff)format("woff"),url(./KaTeX_Size3-Regular-DgpXs0kz.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(./KaTeX_Size4-Regular-Dl5lxZxV.woff2)format("woff2"),url(./KaTeX_Size4-Regular-BF-4gkZK.woff)format("woff"),url(./KaTeX_Size4-Regular-DWFBv043.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(./KaTeX_Typewriter-Regular-CO6r4hn1.woff2)format("woff2"),url(./KaTeX_Typewriter-Regular-C0xS9mPB.woff)format("woff"),url(./KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf)format("truetype")}.katex{text-indent:0;text-rendering:auto;font:1.21em/1.2 KaTeX_Main,Times New Roman,serif;position:relative}.katex *{border-color:currentColor;-ms-high-contrast-adjust:none!important}.katex .katex-version:after{content:"0.18.4"}.katex .katex-mathml{clip-path:inset(50%);border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.katex .katex-html>.katex-newline{display:block}.katex .katex-base{white-space:nowrap;width:min-content;position:relative}.katex .katex-base,.katex .katex-strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .mathsfit,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;table-layout:fixed;display:inline-table}.katex .vlist-r{display:table-row}.katex .vlist{vertical-align:bottom;display:table-cell;position:relative}.katex .vlist>span{height:0;display:block;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{width:0;overflow:hidden}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{vertical-align:bottom;width:2px;min-width:2px;font-size:1px;display:table-cell}.katex .katex-vbox{flex-direction:column;align-items:baseline;display:inline-flex}.katex .katex-thinbox{flex-direction:row;width:0;max-width:0;display:inline-flex}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;width:100%;display:inline-block}.katex .katex-hdashline,.katex .katex-hline,.katex .katex-overline .overline-line,.katex .katex-rule,.katex .katex-underline .underline-line,.katex .mfrac .frac-line{min-height:1px}.katex .mspace{display:inline-block}.katex .katex-smash{line-height:0;display:inline}.katex .clap,.katex .llap,.katex .rlap{width:0;position:relative}.katex .clap>.katex-inner,.katex .llap>.katex-inner,.katex .rlap>.katex-inner{position:absolute}.katex .clap>.katex-fix,.katex .llap>.katex-fix,.katex .rlap>.katex-fix{display:inline-block}.katex .llap>.katex-inner{right:0}.katex .clap>.katex-inner,.katex .rlap>.katex-inner{left:0}.katex .clap>.katex-inner>span{margin-left:-50%;margin-right:50%}.katex .katex-rule{border:0 solid;display:inline-block;position:relative}.katex .katex-hline,.katex .katex-overline .overline-line,.katex .katex-underline .underline-line{border-bottom-style:solid;width:100%;display:inline-block}.katex .katex-hdashline{border-bottom-style:dashed;width:100%;display:inline-block}.katex .sqrt>.katex-root{margin-left:.277778em;margin-right:-.555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .katex-sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .katex-sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .katex-sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .katex-sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .katex-sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .katex-sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .katex-sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .katex-sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .katex-sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .katex-sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .katex-sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .katex-sizing.reset-size2.size1{font-size:.833333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .katex-sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .katex-sizing.reset-size2.size3{font-size:1.16667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .katex-sizing.reset-size2.size4{font-size:1.33333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .katex-sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .katex-sizing.reset-size2.size6{font-size:1.66667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .katex-sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .katex-sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .katex-sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .katex-sizing.reset-size2.size10{font-size:3.45667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .katex-sizing.reset-size2.size11{font-size:4.14667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .katex-sizing.reset-size3.size1{font-size:.714286em}.katex .fontsize-ensurer.reset-size3.size2,.katex .katex-sizing.reset-size3.size2{font-size:.857143em}.katex .fontsize-ensurer.reset-size3.size3,.katex .katex-sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .katex-sizing.reset-size3.size4{font-size:1.14286em}.katex .fontsize-ensurer.reset-size3.size5,.katex .katex-sizing.reset-size3.size5{font-size:1.28571em}.katex .fontsize-ensurer.reset-size3.size6,.katex .katex-sizing.reset-size3.size6{font-size:1.42857em}.katex .fontsize-ensurer.reset-size3.size7,.katex .katex-sizing.reset-size3.size7{font-size:1.71429em}.katex .fontsize-ensurer.reset-size3.size8,.katex .katex-sizing.reset-size3.size8{font-size:2.05714em}.katex .fontsize-ensurer.reset-size3.size9,.katex .katex-sizing.reset-size3.size9{font-size:2.46857em}.katex .fontsize-ensurer.reset-size3.size10,.katex .katex-sizing.reset-size3.size10{font-size:2.96286em}.katex .fontsize-ensurer.reset-size3.size11,.katex .katex-sizing.reset-size3.size11{font-size:3.55429em}.katex .fontsize-ensurer.reset-size4.size1,.katex .katex-sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .katex-sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .katex-sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .katex-sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .katex-sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .katex-sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .katex-sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .katex-sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .katex-sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .katex-sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .katex-sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .katex-sizing.reset-size5.size1{font-size:.555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .katex-sizing.reset-size5.size2{font-size:.666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .katex-sizing.reset-size5.size3{font-size:.777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .katex-sizing.reset-size5.size4{font-size:.888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .katex-sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .katex-sizing.reset-size5.size6{font-size:1.11111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .katex-sizing.reset-size5.size7{font-size:1.33333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .katex-sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .katex-sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .katex-sizing.reset-size5.size10{font-size:2.30444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .katex-sizing.reset-size5.size11{font-size:2.76444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .katex-sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .katex-sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .katex-sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .katex-sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .katex-sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .katex-sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .katex-sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .katex-sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .katex-sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .katex-sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .katex-sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .katex-sizing.reset-size7.size1{font-size:.416667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .katex-sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .katex-sizing.reset-size7.size3{font-size:.583333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .katex-sizing.reset-size7.size4{font-size:.666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .katex-sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .katex-sizing.reset-size7.size6{font-size:.833333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .katex-sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .katex-sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .katex-sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .katex-sizing.reset-size7.size10{font-size:1.72833em}.katex .fontsize-ensurer.reset-size7.size11,.katex .katex-sizing.reset-size7.size11{font-size:2.07333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .katex-sizing.reset-size8.size1{font-size:.347222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .katex-sizing.reset-size8.size2{font-size:.416667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .katex-sizing.reset-size8.size3{font-size:.486111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .katex-sizing.reset-size8.size4{font-size:.555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .katex-sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .katex-sizing.reset-size8.size6{font-size:.694444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .katex-sizing.reset-size8.size7{font-size:.833333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .katex-sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .katex-sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .katex-sizing.reset-size8.size10{font-size:1.44028em}.katex .fontsize-ensurer.reset-size8.size11,.katex .katex-sizing.reset-size8.size11{font-size:1.72778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .katex-sizing.reset-size9.size1{font-size:.289352em}.katex .fontsize-ensurer.reset-size9.size2,.katex .katex-sizing.reset-size9.size2{font-size:.347222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .katex-sizing.reset-size9.size3{font-size:.405093em}.katex .fontsize-ensurer.reset-size9.size4,.katex .katex-sizing.reset-size9.size4{font-size:.462963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .katex-sizing.reset-size9.size5{font-size:.520833em}.katex .fontsize-ensurer.reset-size9.size6,.katex .katex-sizing.reset-size9.size6{font-size:.578704em}.katex .fontsize-ensurer.reset-size9.size7,.katex .katex-sizing.reset-size9.size7{font-size:.694444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .katex-sizing.reset-size9.size8{font-size:.833333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .katex-sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .katex-sizing.reset-size9.size10{font-size:1.20023em}.katex .fontsize-ensurer.reset-size9.size11,.katex .katex-sizing.reset-size9.size11{font-size:1.43981em}.katex .fontsize-ensurer.reset-size10.size1,.katex .katex-sizing.reset-size10.size1{font-size:.24108em}.katex .fontsize-ensurer.reset-size10.size2,.katex .katex-sizing.reset-size10.size2{font-size:.289296em}.katex .fontsize-ensurer.reset-size10.size3,.katex .katex-sizing.reset-size10.size3{font-size:.337512em}.katex .fontsize-ensurer.reset-size10.size4,.katex .katex-sizing.reset-size10.size4{font-size:.385728em}.katex .fontsize-ensurer.reset-size10.size5,.katex .katex-sizing.reset-size10.size5{font-size:.433944em}.katex .fontsize-ensurer.reset-size10.size6,.katex .katex-sizing.reset-size10.size6{font-size:.48216em}.katex .fontsize-ensurer.reset-size10.size7,.katex .katex-sizing.reset-size10.size7{font-size:.578592em}.katex .fontsize-ensurer.reset-size10.size8,.katex .katex-sizing.reset-size10.size8{font-size:.694311em}.katex .fontsize-ensurer.reset-size10.size9,.katex .katex-sizing.reset-size10.size9{font-size:.833173em}.katex .fontsize-ensurer.reset-size10.size10,.katex .katex-sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .katex-sizing.reset-size10.size11{font-size:1.19961em}.katex .fontsize-ensurer.reset-size11.size1,.katex .katex-sizing.reset-size11.size1{font-size:.200965em}.katex .fontsize-ensurer.reset-size11.size2,.katex .katex-sizing.reset-size11.size2{font-size:.241158em}.katex .fontsize-ensurer.reset-size11.size3,.katex .katex-sizing.reset-size11.size3{font-size:.281351em}.katex .fontsize-ensurer.reset-size11.size4,.katex .katex-sizing.reset-size11.size4{font-size:.321543em}.katex .fontsize-ensurer.reset-size11.size5,.katex .katex-sizing.reset-size11.size5{font-size:.361736em}.katex .fontsize-ensurer.reset-size11.size6,.katex .katex-sizing.reset-size11.size6{font-size:.401929em}.katex .fontsize-ensurer.reset-size11.size7,.katex .katex-sizing.reset-size11.size7{font-size:.482315em}.katex .fontsize-ensurer.reset-size11.size8,.katex .katex-sizing.reset-size11.size8{font-size:.578778em}.katex .fontsize-ensurer.reset-size11.size9,.katex .katex-sizing.reset-size11.size9{font-size:.694534em}.katex .fontsize-ensurer.reset-size11.size10,.katex .katex-sizing.reset-size11.size10{font-size:.833601em}.katex .fontsize-ensurer.reset-size11.size11,.katex .katex-sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{width:.12em;display:inline-block}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .katex-accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .katex-accent .accent-body{position:relative}.katex .katex-accent .accent-body:not(.accent-full){width:0}.katex .katex-overlay{display:block}.katex .mtable .vertical-separator{min-width:1px;display:inline-block}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;height:inherit;width:100%;display:block;position:absolute}.katex svg path{stroke:none}.katex svg{fill-rule:nonzero;fill-opacity:1;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1}.katex img{border-style:none;min-width:0;max-width:none;min-height:0;max-height:none}.katex .katex-stretchy{width:100%;display:block;position:relative;overflow:hidden}.katex .katex-stretchy:after,.katex .katex-stretchy:before{content:""}.katex .hide-tail{width:100%;position:relative;overflow:hidden}.katex .halfarrow-left{width:50.2%;position:absolute;left:0;overflow:hidden}.katex .halfarrow-right{width:50.2%;position:absolute;right:0;overflow:hidden}.katex .brace-left{width:25.1%;position:absolute;left:0;overflow:hidden}.katex .brace-center{width:50%;position:absolute;left:25%;overflow:hidden}.katex .brace-right{width:25.1%;position:absolute;right:0;overflow:hidden}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{box-sizing:border-box;border:.04em solid}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .katex-sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{box-sizing:border-box;border-top:.049em solid;border-right:.049em solid;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{text-align:left;display:inline-block;position:absolute;right:calc(50% + .3em)}.katex .cd-label-right{text-align:right;display:inline-block;position:absolute;left:calc(50% + .3em)}.katex-display{text-align:center;margin:1em 0;display:block}.katex-display>.katex{text-align:center;white-space:nowrap;display:block}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.katex-tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.katex-tag{left:0;right:auto}.katex-display.fleqn>.katex{text-align:left;padding-left:2em}body{counter-reset:katexEqnNo mmlEqnNo}.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\: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,[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}.static{position:static}.inset-0,[inset-0=""]{inset:0}[end~="9"]{inset-inline-end:2.25rem}[marker-end~="8"] ::marker{inset-inline-end:2rem}[marker-end~="8"]::marker{inset-inline-end:2rem}.inset-y-0,[inset-y-0=""]{top:0;bottom:0}.-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-18{right:4.5rem}.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-10{top:2.5rem}.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}.z-2{z-index:2}.grid,[grid=""]{display:grid}.grid-cols-\[1\.1fr_1fr\]{grid-template-columns:1.1fr 1fr}.grid-cols-\[1\.25fr_1fr\]{grid-template-columns:1.25fr 1fr}.grid-cols-\[1\.35fr_1fr\]{grid-template-columns:1.35fr 1fr}.grid-cols-\[1\.3fr_1fr\]{grid-template-columns:1.3fr 1fr}.grid-cols-\[1\.45fr_1fr\]{grid-template-columns:1.45fr 1fr}.grid-cols-\[1\.6fr_1fr\]{grid-template-columns:1.6fr 1fr}.grid-cols-\[1\.75fr_1fr\]{grid-template-columns:1.75fr 1fr}.grid-cols-\[19rem_1fr\]{grid-template-columns:19rem 1fr}.grid-cols-\[1fr_1\.15fr\]{grid-template-columns:1fr 1.15fr}.grid-cols-\[1fr_1\.1fr\]{grid-template-columns:1fr 1.1fr}.grid-cols-\[1fr_1\.25fr\]{grid-template-columns:1fr 1.25fr}.grid-cols-\[1fr_1\.2fr\]{grid-template-columns:1fr 1.2fr}.grid-cols-\[1fr_13rem\]{grid-template-columns:1fr 13rem}.grid-cols-\[1fr_15rem\]{grid-template-columns:1fr 15rem}.grid-cols-\[1fr_4\.8rem\]{grid-template-columns:1fr 4.8rem}.grid-cols-\[1fr_5\.5rem\]{grid-template-columns:1fr 5.5rem}.grid-cols-\[1fr_9rem\]{grid-template-columns:1fr 9rem}.grid-cols-\[1fr_max-content\]{grid-template-columns:1fr max-content}.grid-cols-\[2\.1fr_1fr\]{grid-template-columns:2.1fr 1fr}.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}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,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-1{margin-left:.25rem;margin-right:.25rem}.mx-auto{margin-left:auto;margin-right:auto}.my{margin-top:1rem;margin-bottom:1rem}.my-1,.my1{margin-top:.25rem;margin-bottom:.25rem}.my2{margin-top:.5rem;margin-bottom:.5rem}.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-1{margin-left:.25rem}.ml-auto{margin-left:auto}.mr--14px{margin-right:-14px}.mr--4{margin-right:-1rem}.mr-2{margin-right:.5rem}.mr0{margin-right:0}.mr1{margin-right:.25rem}.ms{margin-inline-start:1rem}.mt-1,.mt1{margin-top:.25rem}.mt-10{margin-top:2.5rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-px{margin-top:1px}.block,[block=""]{display:block}.inline-block,[inline-block=""]{display:inline-block}.hidden,[hidden=""],.group:hover .group-hover\:hidden,.group:not(:hover) .group-not-hover\:hidden{display:none}.aspect-ratio-initial{aspect-ratio:initial}[size~="11"]{width:2.75rem;height:2.75rem}[size~="12"]{width:3rem;height:3rem}[size~="190"]{width:47.5rem;height:47.5rem}[size~="290"]{width:72.5rem;height:72.5rem}[size~="56"]{width:14rem;height:14rem}[size~="64"]{width:16rem;height:16rem}.h-\[22px\],.h-22px,[h-22px=""]{height:22px}.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-3\.5{height:.875rem}.h-40{height:10rem}.h-4px{height:4px}.h-5,.h5,[h-5=""]{height:1.25rem}.h-6{height:1.5rem}.h-8,[h-8=""],[h~="8"]{height:2rem}.h-full,[h-full=""]{height:100%}.h-max{height:max-content}.h-screen{height:100vh}.h1,[h~="1"],[h1=""]{height:.25rem}.h3{height:.75rem}.h4{height:1rem}.max-h-full{max-height:100%}.max-h-full\!{max-height:100%!important}.max-w-\[calc\(100\%-3rem\)\]{max-width:calc(100% - 3rem)}.max-w-150{max-width:37.5rem}.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-\[70\%\]{min-width:70%}.min-w-0{min-width:0}.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-\[calc\(100\%-0\.25rem\)\]{width:calc(100% - .25rem)}.w-0{width:0}.w-0\.5,[w-0\.5=""]{width:.125rem}.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{width:62.5rem}.w-3\.5{width:.875rem}.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-88{width:22rem}.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}.w3{width:.75rem}[h~="-1"]{height:-.25rem}[w~="0.8"]{width:.2rem}.flex,[flex=""],[flex~=\~]{display:flex}.inline-flex{display:inline-flex}.flex-1{flex:1}.flex-auto,[flex-auto=""]{flex:auto}.flex-none{flex:none}.flex-shrink,.shrink,[shrink=""]{flex-shrink:1}.flex-grow,.grow{flex-grow:1}[flex~=row]{flex-direction:row}.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-y-1\/2,.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: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-none=""]{touch-action:none}.important\:\[\&_\*\]\:select-none *{-webkit-user-select:none!important;user-select:none!important}.select-none,[select-none=""]{-webkit-user-select:none;user-select:none}.resize{resize:both}.resize-none{resize:none}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center,[flex~=items-center],[items-center=""]{align-items:center}.self-center{align-self:center}.justify-center,[flex~=justify-center],[justify-center=""]{justify-content:center}.justify-between{justify-content:space-between}.justify-items-start{justify-items:start}.gap-0{gap:0}.gap-0\.2{gap:.05rem}.gap-0\.5{gap:.125rem}.gap-1,[flex~=gap-1],[gap-1=""]{gap:.25rem}.gap-10{gap:2.5rem}.gap-2,[flex~=gap-2]{gap:.5rem}.gap-4,[flex~=gap-4]{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.gap-px{gap:1px}.gap-x-4{column-gap:1rem}.gap-x-6{column-gap:1.5rem}.gap-x-8{column-gap:2rem}.gap-y-2{row-gap:.5rem}.gap-y-3{row-gap:.75rem}.gap-y-4{row-gap:1rem}.of-auto,.overflow-auto{overflow:auto}.of-hidden,.overflow-hidden,[of-hidden=""]{overflow:hidden}.of-x-visible{overflow-x:visible}.of-y-auto,.overflow-y-auto{overflow-y:auto}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.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-b-0{border-bottom-width:0}.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}.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}.rounded-tr{border-top-right-radius:.25rem}.rounded-tr-0{border-top-right-radius:0}.\!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~="0.6"]{stroke-width:.6px}[stroke-width~="1"]{stroke-width:1px}[stroke-width~="1.5"]{stroke-width:1.5px}[stroke-width~="2"]{stroke-width:2px}[stroke-width~="3"]{stroke-width:3px}[stroke-width~="7"]{stroke-width:7px}[stroke-width~="9"]{stroke-width:9px}.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))}[stroke~=none]{stroke:none}.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}.p-6px{padding:6px}.p\[0\],[p~="0"]{padding:0}.p\[1\]{padding:1px}.p\[2\]{padding:2px}.p0\.5,[p0\.5=""]{padding:.125rem}.p3{padding:.75rem}.p4{padding:1rem}.p5{padding:1.25rem}[p~="8"]{padding:2rem}.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,.py-4{padding-top:1rem;padding-bottom:1rem}.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{padding-top:.75rem;padding-bottom:.75rem}.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-1,.pl1{padding-left:.25rem}.pl-4,[pl-4=""]{padding-left:1rem}.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%}.pt2{padding-top:.5rem}[pt=""]{padding-top:1rem}.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{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-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}.leading-1em{line-height:1em}.leading-tight{line-height:1.25}.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,[italic=""]{font-style:italic}.tabular-nums,[tabular-nums=""]{--un-numeric-spacing:tabular-nums;font-variant-numeric:var(--un-ordinal) var(--un-slashed-zero) var(--un-numeric-figure) var(--un-numeric-spacing) var(--un-numeric-fraction)}.line-through{text-decoration-line:line-through}.underline,.hover\:underline:hover{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.tab{tab-size:4}.\!opacity-0{opacity:0!important}.\!opacity-100{opacity:1!important}.op-60,.op60{opacity:.6}.op-80,.op80,.opacity-80{opacity:.8}.op0,.opacity-0{opacity:0}.op100,.group:hover .group-hover\:op100{opacity:1}.op15{opacity:.15}.op20,.group:hover .group-hover\:opacity-20{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{opacity:1}.hover\:\!opacity-100:hover{opacity:1!important}.hover\:op-100:hover,.hover\:op100:hover{opacity:1}.hover\:op90:hover{opacity:.9}.hover\:opacity-100:hover{opacity:1}.hover\:opacity-90:hover{opacity:.9}[hover~=op100]:hover,.focus-visible\:opacity-100:focus-visible{opacity:1}.placeholder\:op25::placeholder{opacity:.25}.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=""]{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{--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)}.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)}.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)}.backdrop-filter{-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)}.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}[delay~="8"]{transition-delay:8ms}.ease,[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>=768px){.md\:p-10px{padding:10px}}@media (width>=1024px){.lg\:m-2{margin:.5rem}.lg\:p-2{padding:.5rem}.lg\:p-4{padding:1rem}} diff --git a/lecture-05/assets/interactive-DDMF3hhv.css b/lecture-05/assets/interactive-DDMF3hhv.css new file mode 100644 index 0000000000000000000000000000000000000000..ab140cdb3c244e7377a8a69b6a3308534da33e80 --- /dev/null +++ b/lecture-05/assets/interactive-DDMF3hhv.css @@ -0,0 +1 @@ +.dl-widget[data-v-0f64089e]{flex-direction:column;gap:.6rem;width:100%;height:100%;min-height:0;display:flex}.dl-widget.is-controls-first[data-v-0f64089e]{flex-direction:column-reverse;justify-content:flex-end}.dl-widget__stage[data-v-0f64089e]{flex:auto;justify-content:center;align-items:center;min-height:0;display:flex}.dl-widget__controls[data-v-0f64089e]{flex-wrap:wrap;flex:none;align-items:center;gap:.5rem 1.2rem;display:flex}.dl-widget__controls[data-v-0f64089e]:empty,.dl-widget__readout[data-v-0f64089e]:empty{display:none}.dl-widget__readout[data-v-0f64089e]{color:var(--dl-muted);font-variant-numeric:tabular-nums;flex:none;font-size:.82rem}.dl-interactive[data-v-0c449bbd]{flex-direction:column;display:flex}.dl-interactive__title[data-v-0c449bbd]{margin-bottom:.7rem}.dl-interactive__grid[data-v-0c449bbd]{flex:auto;align-items:stretch;gap:1.6rem;min-height:0;display:flex}.dl-interactive__grid.is-aside-left[data-v-0c449bbd]{flex-direction:row-reverse}.dl-interactive__stage[data-v-0c449bbd]{flex:auto;justify-content:center;align-items:center;min-width:0;display:flex}.dl-interactive__aside[data-v-0c449bbd]{font-size:var(--dl-fs-secondary);flex-grow:0;flex-shrink:0;overflow-y:auto}.dl-interactive__aside[data-v-0c449bbd]:empty{display:none} diff --git a/lecture-05/assets/interactive-pqWNz3EB.js b/lecture-05/assets/interactive-pqWNz3EB.js new file mode 100644 index 0000000000000000000000000000000000000000..597aea6df024b4da5bc5a3af0278a9fe77389ae2 --- /dev/null +++ b/lecture-05/assets/interactive-pqWNz3EB.js @@ -0,0 +1 @@ +import{H as e,S as t,St as n,_ as r,b as i,w as a,xt as o,y as s,yt as c,z as l}from"./modules/shiki-CkJq9tSf.js";import{t as u}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{n as d}from"./slidev/context-DnYiQGy6.js";import{t as f}from"./DeckFooter-e6C5A3-W.js";var p={class:`dl-widget__stage`},m={class:`dl-widget__controls`},h={class:`dl-widget__readout`},g=u(a({__name:`WidgetFrame`,props:{maxWidth:{default:`100%`},controlsFirst:{type:Boolean}},setup(t){let{$slidev:n,$nav:a,$clicksContext:s,$clicks:u,$page:f,$renderContext:g,$frontmatter:_}=d(),v=t;return(t,n)=>(l(),i(`div`,{class:c([`dl-widget`,{"is-controls-first":v.controlsFirst}]),style:o({maxWidth:v.maxWidth})},[r(`div`,p,[e(t.$slots,`default`,{},void 0,!0)]),r(`div`,m,[e(t.$slots,`controls`,{},void 0,!0)]),r(`div`,h,[e(t.$slots,`readout`,{},void 0,!0)])],6))}}),[[`__scopeId`,`data-v-0f64089e`]]),_={class:`slidev-layout dl-interactive`},v={key:0,class:`dl-interactive__title`},y={class:`dl-interactive__stage`},b=u(a({__name:`interactive`,props:{heading:{},asideWidth:{},asideLeft:{type:Boolean}},setup(a){let{$slidev:u,$nav:p,$clicksContext:m,$clicks:h,$page:g,$renderContext:b,$frontmatter:x}=d(),S=a;return(a,u)=>{let d=f;return l(),i(`div`,_,[S.heading?(l(),i(`h1`,v,n(S.heading),1)):s(`v-if`,!0),r(`div`,{class:c([`dl-interactive__grid`,{"is-aside-left":S.asideLeft}])},[r(`div`,y,[e(a.$slots,`default`,{},void 0,!0)]),r(`div`,{class:`dl-interactive__aside`,style:o({flexBasis:S.asideWidth??`17rem`})},[e(a.$slots,`aside`,{},void 0,!0)],4)],2),t(d)])}}}),[[`__scopeId`,`data-v-0c449bbd`]]);export{g as n,b as t}; \ No newline at end of file diff --git a/lecture-05/assets/logo-BYkHSa_O.png b/lecture-05/assets/logo-BYkHSa_O.png new file mode 100644 index 0000000000000000000000000000000000000000..f5b8660126125a3c1b259857293439f9959a3688 Binary files /dev/null and b/lecture-05/assets/logo-BYkHSa_O.png differ diff --git a/lecture-05/assets/md--T5qqbvI2.js b/lecture-05/assets/md--T5qqbvI2.js new file mode 100644 index 0000000000000000000000000000000000000000..03bcb05739bbc58d545bd840e68d10101eadf3fe --- /dev/null +++ b/lecture-05/assets/md--T5qqbvI2.js @@ -0,0 +1 @@ +import{$ as e,E as t,S as n,St as r,V as i,W as a,_ as o,b as s,bt as c,et as l,m as u,v as d,vt as f,w as p,x as m,y as h,z as g}from"./modules/shiki-CkJq9tSf.js";import{t as _}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{n as v,t as y}from"./slidev/context-DnYiQGy6.js";import{t as b}from"./default-BTjgsdmC.js";var x=[`href`],S={key:0,class:`dl-linkcard__icon`},C={class:`dl-linkcard__text`},w={class:`dl-linkcard__title`},T={key:0,class:`dl-linkcard__blurb`},E={class:`dl-linkcard__host`},D=_(p({__name:`LinkCard`,props:{href:{},title:{},blurb:{},icon:{}},setup(e){let{$slidev:t,$nav:n,$clicksContext:i,$clicks:a,$page:c,$renderContext:l,$frontmatter:u}=v(),d=e,p=d.href.replace(/^https?:\/\//,``).replace(/\/.*$/,``);return(e,t)=>(g(),s(`a`,{class:`dl-linkcard`,href:d.href,target:`_blank`,rel:`noopener`},[d.icon?(g(),s(`div`,S,r(d.icon),1)):h(`v-if`,!0),o(`div`,C,[o(`div`,w,r(d.title),1),d.blurb?(g(),s(`div`,T,r(d.blurb),1)):h(`v-if`,!0),o(`div`,E,r(f(p)),1)])],8,x))}}),[[`__scopeId`,`data-v-77ab5d10`]]),O={class:`grid grid-cols-3 gap-4 mt-1`},k={class:`grid grid-cols-[1fr_1.1fr] gap-6 mt-2 items-center`},A={class:`dl-diagram`,viewBox:`0 0 300 104`,role:`img`,"aria-label":`Three runs, each with one thing removed: batch_first, packing, clipping. Each run's accuracy is a question mark to measure.`},j=[`y`],M=[`y`],N=[`d`],P=[`y`],F={__name:`slides.md__slidev_70`,setup(p){let{$slidev:h,$nav:_,$clicksContext:x,$clicks:S,$page:C,$renderContext:w,$frontmatter:T}=v();return x.setup(),(p,h)=>{let _=D,v=a(`click`);return g(),d(b,c(t(f(y)(f(T),69))),{default:e(()=>[h[2]||=o(`h1`,null,`Reading, and the lab`,-1),o(`div`,O,[l((g(),s(`div`,null,[n(_,{href:`https://colah.github.io/posts/2015-08-Understanding-LSTMs/`,title:`Understanding LSTMs`,blurb:`Olah, 2015. The clearest explanation of the gates. Read it once before the lab.`,icon:`📄`})])),[[v]]),l((g(),s(`div`,null,[n(_,{href:`https://karpathy.github.io/2015/05/21/rnn-effectiveness/`,title:`The Unreasonable Effectiveness of RNNs`,blurb:`Karpathy, 2015. A character-level LSTM writing Shakespeare, C code and LaTeX.`,icon:`✍️`})])),[[v]]),l((g(),s(`div`,null,[n(_,{href:`https://pytorch.org/docs/stable/generated/torch.nn.LSTM.html`,title:`nn.LSTM`,blurb:`The shapes, the two bias vectors, and a GRU gate written the other way round.`,icon:`💻`})])),[[v]])]),l((g(),s(`div`,k,[h[1]||=o(`div`,null,[o(`p`,null,[o(`strong`,null,`In the lab.`),m(` Train the review classifier. Then break it on purpose, one change at a time, and report what each change costs. That report is the graded part.`)])],-1),o(`div`,null,[(g(),s(`svg`,A,[h[0]||=o(`defs`,null,[o(`marker`,{id:`l5d-head-lab`,markerWidth:`7`,markerHeight:`7`,refX:`6`,refY:`3.5`,orient:`auto`},[o(`path`,{d:`M0 0 L7 3.5 L0 7 z`,class:`dl-dg-head`})])],-1),(g(),s(u,null,i([`batch_first`,`packing`,`clipping`],(e,t)=>o(`g`,{key:t},[o(`rect`,{class:`dl-dg-box is-bad`,x:`4`,y:4+t*34,width:`130`,height:`26`,rx:`4`},null,8,j),o(`text`,{class:`dl-dg-lab is-sm`,x:`69`,y:22+t*34,"text-anchor":`middle`},`no `+r(e),9,M),o(`path`,{class:`dl-dg-arrow`,d:`M138 ${17+t*34} H180`,"marker-end":`url(#l5d-head-lab)`},null,8,N),o(`text`,{class:`dl-dg-small`,x:`188`,y:22+t*34},`accuracy: ?`,8,P)])),64))]))])])),[[v]])]),_:1},16)}}};export{F as default}; \ No newline at end of file diff --git a/lecture-05/assets/md-3LkMqhww.js b/lecture-05/assets/md-3LkMqhww.js new file mode 100644 index 0000000000000000000000000000000000000000..451019fdf05626c5dd8cf75676c3ab7eb500d6ac --- /dev/null +++ b/lecture-05/assets/md-3LkMqhww.js @@ -0,0 +1 @@ +import{$ as e,E as t,S as n,_ as r,bt as i,v as a,vt as o,x as s,z as c}from"./modules/shiki-CkJq9tSf.js";import{n as l,t as u}from"./slidev/context-DnYiQGy6.js";import{t as d}from"./slidev/VClicks-DLDbGwsQ.js";import{t as f}from"./interactive-pqWNz3EB.js";import{t as p}from"./GatedCell-BmFrMgAI.js";var m={__name:`slides.md__slidev_45`,setup(m){let{$slidev:h,$nav:g,$clicksContext:_,$clicks:v,$page:y,$renderContext:b,$frontmatter:x}=l();return _.setup(),(l,m)=>{let h=p,g=d;return c(),a(f,i(t(o(u)(o(x),44))),{aside:e(t=>[m[1]||=r(`p`,null,`The GRU (gated recurrent unit): one state, two gates.`,-1),n(g,null,{default:e(()=>[...m[0]||=[r(`ul`,null,[r(`li`,null,[s(`The `),r(`strong`,null,`update gate`),s(),r(`span`,{class:`katex`},[r(`span`,{class:`katex-mathml`},[r(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[r(`semantics`,null,[r(`mrow`,null,[r(`mi`,null,`z`)]),r(`annotation`,{encoding:`application/x-tex`},`z`)])])]),r(`span`,{class:`katex-html`,"aria-hidden":`true`},[r(`span`,{class:`katex-base`},[r(`span`,{class:`katex-strut`,style:{height:`0.4306em`}}),r(`span`,{class:`mord mathnormal`,style:{"margin-right":`0.044em`}},`z`)])])]),s(` does the forget and input jobs at once`)]),r(`li`,null,[s(`The `),r(`strong`,null,`reset gate`),s(),r(`span`,{class:`katex`},[r(`span`,{class:`katex-mathml`},[r(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[r(`semantics`,null,[r(`mrow`,null,[r(`mi`,null,`r`)]),r(`annotation`,{encoding:`application/x-tex`},`r`)])])]),r(`span`,{class:`katex-html`,"aria-hidden":`true`},[r(`span`,{class:`katex-base`},[r(`span`,{class:`katex-strut`,style:{height:`0.4306em`}}),r(`span`,{class:`mord mathnormal`,style:{"margin-right":`0.0278em`}},`r`)])])]),s(` sets how much of the past the candidate may read. Drag it to 0`)]),r(`li`,null,[r(`span`,{class:`katex`},[r(`span`,{class:`katex-mathml`},[r(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[r(`semantics`,null,[r(`mrow`,null,[r(`msub`,null,[r(`mi`,null,`h`),r(`mi`,null,`t`)]),r(`mo`,null,`=`),r(`mo`,{stretchy:`false`},`(`),r(`mn`,null,`1`),r(`mo`,null,`−`),r(`mi`,null,`z`),r(`mo`,{stretchy:`false`},`)`),r(`mtext`,null,` `),r(`msub`,null,[r(`mi`,null,`h`),r(`mrow`,null,[r(`mi`,null,`t`),r(`mo`,null,`−`),r(`mn`,null,`1`)])]),r(`mo`,null,`+`),r(`mi`,null,`z`),r(`mtext`,null,` `),r(`msub`,null,[r(`mover`,{accent:`true`},[r(`mi`,null,`h`),r(`mo`,null,`~`)]),r(`mi`,null,`t`)])]),r(`annotation`,{encoding:`application/x-tex`},`h_t = (1-z)\\,h_{t-1} + z\\,\\tilde{h}_t`)])])]),r(`span`,{class:`katex-html`,"aria-hidden":`true`},[r(`span`,{class:`katex-base`},[r(`span`,{class:`katex-strut`,style:{height:`0.8444em`,"vertical-align":`-0.15em`}}),r(`span`,{class:`mord`},[r(`span`,{class:`mord mathnormal`},`h`),r(`span`,{class:`msupsub`},[r(`span`,{class:`vlist-t vlist-t2`},[r(`span`,{class:`vlist-r`},[r(`span`,{class:`vlist`,style:{height:`0.2806em`}},[r(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[r(`span`,{class:`pstrut`,style:{height:`2.7em`}}),r(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[r(`span`,{class:`mord mathnormal mtight`},`t`)])])]),r(`span`,{class:`vlist-s`},`​`)]),r(`span`,{class:`vlist-r`},[r(`span`,{class:`vlist`,style:{height:`0.15em`}},[r(`span`)])])])])]),r(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}}),r(`span`,{class:`mrel`},`=`),r(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}})]),r(`span`,{class:`katex-base`},[r(`span`,{class:`katex-strut`,style:{height:`1em`,"vertical-align":`-0.25em`}}),r(`span`,{class:`mopen`},`(`),r(`span`,{class:`mord`},`1`),r(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}}),r(`span`,{class:`mbin`},`−`),r(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}})]),r(`span`,{class:`katex-base`},[r(`span`,{class:`katex-strut`,style:{height:`1em`,"vertical-align":`-0.25em`}}),r(`span`,{class:`mord mathnormal`,style:{"margin-right":`0.044em`}},`z`),r(`span`,{class:`mclose`},`)`),r(`span`,{class:`mspace`,style:{"margin-right":`0.1667em`}}),r(`span`,{class:`mord`},[r(`span`,{class:`mord mathnormal`},`h`),r(`span`,{class:`msupsub`},[r(`span`,{class:`vlist-t vlist-t2`},[r(`span`,{class:`vlist-r`},[r(`span`,{class:`vlist`,style:{height:`0.3011em`}},[r(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[r(`span`,{class:`pstrut`,style:{height:`2.7em`}}),r(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[r(`span`,{class:`mord mtight`},[r(`span`,{class:`mord mathnormal mtight`},`t`),r(`span`,{class:`mbin mtight`},`−`),r(`span`,{class:`mord mtight`},`1`)])])])]),r(`span`,{class:`vlist-s`},`​`)]),r(`span`,{class:`vlist-r`},[r(`span`,{class:`vlist`,style:{height:`0.2083em`}},[r(`span`)])])])])]),r(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}}),r(`span`,{class:`mbin`},`+`),r(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}})]),r(`span`,{class:`katex-base`},[r(`span`,{class:`katex-strut`,style:{height:`1.0813em`,"vertical-align":`-0.15em`}}),r(`span`,{class:`mord mathnormal`,style:{"margin-right":`0.044em`}},`z`),r(`span`,{class:`mspace`,style:{"margin-right":`0.1667em`}}),r(`span`,{class:`mord`},[r(`span`,{class:`mord katex-accent`},[r(`span`,{class:`vlist-t`},[r(`span`,{class:`vlist-r`},[r(`span`,{class:`vlist`,style:{height:`0.9313em`}},[r(`span`,{style:{top:`-3em`}},[r(`span`,{class:`pstrut`,style:{height:`3em`}}),r(`span`,{class:`mord mathnormal`},`h`)]),r(`span`,{style:{top:`-3.6134em`}},[r(`span`,{class:`pstrut`,style:{height:`3em`}}),r(`span`,{class:`accent-body`,style:{left:`-0.25em`}},[r(`span`,{class:`mord`},`~`)])])])])])]),r(`span`,{class:`msupsub`},[r(`span`,{class:`vlist-t vlist-t2`},[r(`span`,{class:`vlist-r`},[r(`span`,{class:`vlist`,style:{height:`0.2806em`}},[r(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[r(`span`,{class:`pstrut`,style:{height:`2.7em`}}),r(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[r(`span`,{class:`mord mathnormal mtight`},`t`)])])]),r(`span`,{class:`vlist-s`},`​`)]),r(`span`,{class:`vlist-r`},[r(`span`,{class:`vlist`,style:{height:`0.15em`}},[r(`span`)])])])])])])])]),s(`: a blend, and the two shares sum to 1`)])],-1)]]),_:1})]),default:e(()=>[n(h,{variant:`gru`})]),_:1},16)}}};export{m as default}; \ No newline at end of file diff --git a/lecture-05/assets/md-5gvmfigf.js b/lecture-05/assets/md-5gvmfigf.js new file mode 100644 index 0000000000000000000000000000000000000000..1884d1892366e8825d90121c14fc516f57062ee8 --- /dev/null +++ b/lecture-05/assets/md-5gvmfigf.js @@ -0,0 +1 @@ +import{$ as e,E as t,S as n,W as r,_ as i,b as a,bt as o,et as s,v as c,vt as l,x as u,z as d}from"./modules/shiki-CkJq9tSf.js";import{n as f,t as p}from"./slidev/context-DnYiQGy6.js";import{t as m}from"./default-BTjgsdmC.js";import{t as h}from"./slidev/VClicks-DLDbGwsQ.js";var g={class:`grid grid-cols-[1.45fr_1fr] gap-5 mt-1 items-start`},_={class:`dl-ledger dl-tight dl-eq-legend`},v={viewBox:`0 0 300 150`,role:`img`,"aria-label":`Three encoder states feed one context vector; the line from the first is thickest, weight 0.6, the other two have weight 0.2`,style:{width:`100%`,height:`auto`,"font-family":`inherit`}},y={class:`dl-callout`},b={__name:`slides.md__slidev_67`,setup(b){let{$slidev:x,$nav:S,$clicksContext:C,$clicks:w,$page:T,$renderContext:E,$frontmatter:D}=f();return C.setup(),(f,b)=>{let x=h,S=r(`click`);return d(),c(m,o(t(l(p)(l(D),66))),{default:e(()=>[b[3]||=i(`h1`,null,`Reading the equation: attention`,-1),i(`div`,g,[i(`div`,_,[n(x,null,{default:e(()=>[...b[0]||=[i(`table`,null,[i(`thead`,null,[i(`tr`,null,[i(`th`,null,`symbol`),i(`th`,null,`name`),i(`th`,null,`what it is here`),i(`th`,null,`example`)])]),i(`tbody`,null,[i(`tr`,null,[i(`td`,null,[i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`mi`,null,`t`),i(`mo`,{separator:`true`},`,`),i(`mtext`,null,`\xA0`),i(`mi`,null,`i`),i(`mo`,{separator:`true`},`,`),i(`mtext`,null,`\xA0`),i(`mi`,null,`j`)]),i(`annotation`,{encoding:`application/x-tex`},`t,\\ i,\\ j`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.854em`,"vertical-align":`-0.1944em`}}),i(`span`,{class:`mord mathnormal`},`t`),i(`span`,{class:`mpunct`},`,`),i(`span`,{class:`mspace`},`\xA0`),i(`span`,{class:`mspace`,style:{"margin-right":`0.1667em`}}),i(`span`,{class:`mord mathnormal`},`i`),i(`span`,{class:`mpunct`},`,`),i(`span`,{class:`mspace`},`\xA0`),i(`span`,{class:`mspace`,style:{"margin-right":`0.1667em`}}),i(`span`,{class:`mord mathnormal`,style:{"margin-right":`0.0572em`}},`j`)])])])]),i(`td`,null,`indices`),i(`td`,null,[i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`mi`,null,`t`)]),i(`annotation`,{encoding:`application/x-tex`},`t`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.6151em`}}),i(`span`,{class:`mord mathnormal`},`t`)])])]),u(`: output step; `),i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`mi`,null,`i`)]),i(`annotation`,{encoding:`application/x-tex`},`i`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.6595em`}}),i(`span`,{class:`mord mathnormal`},`i`)])])]),u(`, `),i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`mi`,null,`j`)]),i(`annotation`,{encoding:`application/x-tex`},`j`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.854em`,"vertical-align":`-0.1944em`}}),i(`span`,{class:`mord mathnormal`,style:{"margin-right":`0.0572em`}},`j`)])])]),u(`: source positions`)]),i(`td`,null,[i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`mi`,null,`i`),i(`mo`,null,`=`),i(`mn`,null,`1`),i(`mo`,{separator:`true`},`,`),i(`mn`,null,`2`),i(`mo`,{separator:`true`},`,`),i(`mn`,null,`3`)]),i(`annotation`,{encoding:`application/x-tex`},`i = 1, 2, 3`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.6595em`}}),i(`span`,{class:`mord mathnormal`},`i`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}}),i(`span`,{class:`mrel`},`=`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}})]),i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.8389em`,"vertical-align":`-0.1944em`}}),i(`span`,{class:`mord`},`1`),i(`span`,{class:`mpunct`},`,`),i(`span`,{class:`mspace`,style:{"margin-right":`0.1667em`}}),i(`span`,{class:`mord`},`2`),i(`span`,{class:`mpunct`},`,`),i(`span`,{class:`mspace`,style:{"margin-right":`0.1667em`}}),i(`span`,{class:`mord`},`3`)])])])])]),i(`tr`,null,[i(`td`,null,[i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`msub`,null,[i(`mi`,{mathvariant:`bold`},`h`),i(`mi`,null,`i`)])]),i(`annotation`,{encoding:`application/x-tex`},`\\mathbf{h}_i`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.8444em`,"vertical-align":`-0.15em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathbf`},`h`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.3117em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mathnormal mtight`},`i`)])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.15em`}},[i(`span`)])])])])])])])])]),i(`td`,null,`encoder state`),i(`td`,null,[u(`after source word `),i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`mi`,null,`i`)]),i(`annotation`,{encoding:`application/x-tex`},`i`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.6595em`}}),i(`span`,{class:`mord mathnormal`},`i`)])])])]),i(`td`,null,[i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`mo`,{stretchy:`false`},`[`),i(`mn`,null,`1`),i(`mo`,{separator:`true`},`,`),i(`mn`,null,`0`),i(`mo`,{stretchy:`false`},`]`)]),i(`annotation`,{encoding:`application/x-tex`},`[1, 0]`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`1em`,"vertical-align":`-0.25em`}}),i(`span`,{class:`mopen`},`[`),i(`span`,{class:`mord`},`1`),i(`span`,{class:`mpunct`},`,`),i(`span`,{class:`mspace`,style:{"margin-right":`0.1667em`}}),i(`span`,{class:`mord`},`0`),i(`span`,{class:`mclose`},`]`)])])])])]),i(`tr`,null,[i(`td`,null,[i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`msub`,null,[i(`mi`,{mathvariant:`bold`},`s`),i(`mrow`,null,[i(`mi`,null,`t`),i(`mo`,null,`−`),i(`mn`,null,`1`)])])]),i(`annotation`,{encoding:`application/x-tex`},`\\mathbf{s}_{t-1}`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.6528em`,"vertical-align":`-0.2083em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathbf`},`s`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.3011em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mtight`},[i(`span`,{class:`mord mathnormal mtight`},`t`),i(`span`,{class:`mbin mtight`},`−`),i(`span`,{class:`mord mtight`},`1`)])])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.2083em`}},[i(`span`)])])])])])])])])]),i(`td`,null,`decoder state`),i(`td`,null,[u(`before writing word `),i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`mi`,null,`t`)]),i(`annotation`,{encoding:`application/x-tex`},`t`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.6151em`}}),i(`span`,{class:`mord mathnormal`},`t`)])])])]),i(`td`,null,[i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`mo`,{stretchy:`false`},`[`),i(`mn`,null,`1.1`),i(`mo`,{separator:`true`},`,`),i(`mn`,null,`0`),i(`mo`,{stretchy:`false`},`]`)]),i(`annotation`,{encoding:`application/x-tex`},`[1.1, 0]`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`1em`,"vertical-align":`-0.25em`}}),i(`span`,{class:`mopen`},`[`),i(`span`,{class:`mord`},`1.1`),i(`span`,{class:`mpunct`},`,`),i(`span`,{class:`mspace`,style:{"margin-right":`0.1667em`}}),i(`span`,{class:`mord`},`0`),i(`span`,{class:`mclose`},`]`)])])])])]),i(`tr`,null,[i(`td`,null,[i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`mi`,null,`a`),i(`mo`,{stretchy:`false`},`(`),i(`mo`,null,`⋅`),i(`mo`,{separator:`true`},`,`),i(`mo`,null,`⋅`),i(`mo`,{stretchy:`false`},`)`)]),i(`annotation`,{encoding:`application/x-tex`},`a(\\cdot, \\cdot)`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`1em`,"vertical-align":`-0.25em`}}),i(`span`,{class:`mord mathnormal`},`a`),i(`span`,{class:`mopen`},`(`),i(`span`,{class:`mord`},`⋅`),i(`span`,{class:`mpunct`},`,`),i(`span`,{class:`mspace`,style:{"margin-right":`0.1667em`}}),i(`span`,{class:`mord`},`⋅`),i(`span`,{class:`mclose`},`)`)])])])]),i(`td`,null,`score function`),i(`td`,null,`learned network, or dot product`),i(`td`,null,`dot`)]),i(`tr`,null,[i(`td`,null,[i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`msub`,null,[i(`mi`,null,`e`),i(`mrow`,null,[i(`mi`,null,`t`),i(`mo`,{separator:`true`},`,`),i(`mi`,null,`i`)])])]),i(`annotation`,{encoding:`application/x-tex`},`e_{t,i}`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.7167em`,"vertical-align":`-0.2861em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathnormal`},`e`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.3117em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mtight`},[i(`span`,{class:`mord mathnormal mtight`},`t`),i(`span`,{class:`mpunct mtight`},`,`),i(`span`,{class:`mord mathnormal mtight`},`i`)])])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.2861em`}},[i(`span`)])])])])])])])])]),i(`td`,null,`score`),i(`td`,null,[u(`how well word `),i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`mi`,null,`i`)]),i(`annotation`,{encoding:`application/x-tex`},`i`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.6595em`}}),i(`span`,{class:`mord mathnormal`},`i`)])])]),u(` fits step `),i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`mi`,null,`t`)]),i(`annotation`,{encoding:`application/x-tex`},`t`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.6151em`}}),i(`span`,{class:`mord mathnormal`},`t`)])])])]),i(`td`,null,`1.1`)]),i(`tr`,null,[i(`td`,null,[i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`mi`,null,`exp`),i(`mo`,null,`⁡`),i(`mo`,{separator:`true`},`,`),i(`mtext`,null,`\xA0`),i(`msub`,null,[i(`mo`,null,`∑`),i(`mi`,null,`j`)])]),i(`annotation`,{encoding:`application/x-tex`},`\\exp,\\ \\sum_j`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`1.1858em`,"vertical-align":`-0.4358em`}}),i(`span`,{class:`mop`},`exp`),i(`span`,{class:`mpunct`},`,`),i(`span`,{class:`mspace`},`\xA0`),i(`span`,{class:`mspace`,style:{"margin-right":`0.1667em`}}),i(`span`,{class:`mop`},[i(`span`,{class:`mop op-symbol small-op`,style:{position:`relative`,top:`0em`}},`∑`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.162em`}},[i(`span`,{style:{top:`-2.4003em`,"margin-left":`0em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mathnormal mtight`,style:{"margin-right":`0.0572em`}},`j`)])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.4358em`}},[i(`span`)])])])])])])])])]),i(`td`,null,`softmax`),i(`td`,null,`make positive, divide by the total`),i(`td`)]),i(`tr`,null,[i(`td`,null,[i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`msub`,null,[i(`mi`,null,`α`),i(`mrow`,null,[i(`mi`,null,`t`),i(`mo`,{separator:`true`},`,`),i(`mi`,null,`i`)])])]),i(`annotation`,{encoding:`application/x-tex`},`\\alpha_{t,i}`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.7167em`,"vertical-align":`-0.2861em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathnormal`,style:{"margin-right":`0.0037em`}},`α`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.3117em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`-0.0037em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mtight`},[i(`span`,{class:`mord mathnormal mtight`},`t`),i(`span`,{class:`mpunct mtight`},`,`),i(`span`,{class:`mord mathnormal mtight`},`i`)])])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.2861em`}},[i(`span`)])])])])])])])])]),i(`td`,null,`attention weight`),i(`td`,null,[u(`share on word `),i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`mi`,null,`i`)]),i(`annotation`,{encoding:`application/x-tex`},`i`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.6595em`}}),i(`span`,{class:`mord mathnormal`},`i`)])])]),u(`; sum to 1`)]),i(`td`,null,`0.6`)]),i(`tr`,null,[i(`td`,null,[i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`msub`,null,[i(`mi`,{mathvariant:`bold`},`c`),i(`mi`,null,`t`)])]),i(`annotation`,{encoding:`application/x-tex`},`\\mathbf{c}_t`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.5944em`,"vertical-align":`-0.15em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathbf`},`c`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.2806em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mathnormal mtight`},`t`)])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.15em`}},[i(`span`)])])])])])])])])]),i(`td`,null,`context vector`),i(`td`,null,[u(`weighted sum of the `),i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`msub`,null,[i(`mi`,{mathvariant:`bold`},`h`),i(`mi`,null,`i`)])]),i(`annotation`,{encoding:`application/x-tex`},`\\mathbf{h}_i`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.8444em`,"vertical-align":`-0.15em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathbf`},`h`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.3117em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mathnormal mtight`},`i`)])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.15em`}},[i(`span`)])])])])])])])])]),i(`td`,null,[i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`mo`,{stretchy:`false`},`[`),i(`mn`,null,`0.6`),i(`mo`,{separator:`true`},`,`),i(`mn`,null,`0.6`),i(`mo`,{stretchy:`false`},`]`)]),i(`annotation`,{encoding:`application/x-tex`},`[0.6, 0.6]`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`1em`,"vertical-align":`-0.25em`}}),i(`span`,{class:`mopen`},`[`),i(`span`,{class:`mord`},`0.6`),i(`span`,{class:`mpunct`},`,`),i(`span`,{class:`mspace`,style:{"margin-right":`0.1667em`}}),i(`span`,{class:`mord`},`0.6`),i(`span`,{class:`mclose`},`]`)])])])])])])],-1)]]),_:1})]),i(`div`,null,[(d(),a(`svg`,v,[...b[1]||=[i(`rect`,{x:`100`,y:`12`,width:`100`,height:`32`,rx:`6`,fill:`var(--dl-accent-soft)`,stroke:`var(--dl-accent)`,"stroke-width":`1.5`},null,-1),i(`text`,{x:`150`,y:`33`,"text-anchor":`middle`,style:{"font-size":`13px`,fill:`var(--dl-heading)`}},`c = [0.6, 0.6]`,-1),i(`line`,{x1:`50`,y1:`102`,x2:`130`,y2:`46`,stroke:`var(--dl-accent)`,"stroke-width":`9`},null,-1),i(`line`,{x1:`150`,y1:`102`,x2:`150`,y2:`46`,stroke:`var(--dl-accent)`,"stroke-width":`3`},null,-1),i(`line`,{x1:`250`,y1:`102`,x2:`170`,y2:`46`,stroke:`var(--dl-accent)`,"stroke-width":`3`},null,-1),i(`text`,{x:`72`,y:`70`,"text-anchor":`end`,style:{"font-size":`12px`,fill:`var(--dl-body)`}},`0.6`,-1),i(`text`,{x:`158`,y:`78`,style:{"font-size":`12px`,fill:`var(--dl-body)`}},`0.2`,-1),i(`text`,{x:`228`,y:`70`,style:{"font-size":`12px`,fill:`var(--dl-body)`}},`0.2`,-1),i(`rect`,{x:`14`,y:`104`,width:`72`,height:`30`,rx:`6`,fill:`var(--dl-surface)`,stroke:`var(--dl-border)`,"stroke-width":`1.5`},null,-1),i(`text`,{x:`50`,y:`124`,"text-anchor":`middle`,style:{"font-size":`12px`,fill:`var(--dl-body)`}},`h₁ = [1, 0]`,-1),i(`rect`,{x:`114`,y:`104`,width:`72`,height:`30`,rx:`6`,fill:`var(--dl-surface)`,stroke:`var(--dl-border)`,"stroke-width":`1.5`},null,-1),i(`text`,{x:`150`,y:`124`,"text-anchor":`middle`,style:{"font-size":`12px`,fill:`var(--dl-body)`}},`h₂ = [0, 1]`,-1),i(`rect`,{x:`214`,y:`104`,width:`72`,height:`30`,rx:`6`,fill:`var(--dl-surface)`,stroke:`var(--dl-border)`,"stroke-width":`1.5`},null,-1),i(`text`,{x:`250`,y:`124`,"text-anchor":`middle`,style:{"font-size":`12px`,fill:`var(--dl-body)`}},`h₃ = [0, 2]`,-1)]])),s((d(),a(`div`,y,[...b[2]||=[i(`p`,null,[u(`Scores `),i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`msub`,null,[i(`mi`,{mathvariant:`bold`},`s`),i(`mrow`,null,[i(`mi`,null,`t`),i(`mo`,null,`−`),i(`mn`,null,`1`)])]),i(`mo`,null,`⋅`),i(`msub`,null,[i(`mi`,{mathvariant:`bold`},`h`),i(`mi`,null,`i`)])]),i(`annotation`,{encoding:`application/x-tex`},`\\mathbf{s}_{t-1} \\cdot \\mathbf{h}_i`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.6528em`,"vertical-align":`-0.2083em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathbf`},`s`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.3011em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mtight`},[i(`span`,{class:`mord mathnormal mtight`},`t`),i(`span`,{class:`mbin mtight`},`−`),i(`span`,{class:`mord mtight`},`1`)])])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.2083em`}},[i(`span`)])])])])]),i(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}}),i(`span`,{class:`mbin`},`⋅`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}})]),i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.8444em`,"vertical-align":`-0.15em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathbf`},`h`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.3117em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mathnormal mtight`},`i`)])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.15em`}},[i(`span`)])])])])])])])]),u(`: `),i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`mi`,null,`e`),i(`mo`,null,`=`),i(`mn`,null,`1.1`),i(`mo`,{separator:`true`},`,`),i(`mtext`,null,`\xA0`),i(`mn`,null,`0`),i(`mo`,{separator:`true`},`,`),i(`mtext`,null,`\xA0`),i(`mn`,null,`0`)]),i(`annotation`,{encoding:`application/x-tex`},`e = 1.1,\\ 0,\\ 0`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.4306em`}}),i(`span`,{class:`mord mathnormal`},`e`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}}),i(`span`,{class:`mrel`},`=`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}})]),i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.8389em`,"vertical-align":`-0.1944em`}}),i(`span`,{class:`mord`},`1.1`),i(`span`,{class:`mpunct`},`,`),i(`span`,{class:`mspace`},`\xA0`),i(`span`,{class:`mspace`,style:{"margin-right":`0.1667em`}}),i(`span`,{class:`mord`},`0`),i(`span`,{class:`mpunct`},`,`),i(`span`,{class:`mspace`},`\xA0`),i(`span`,{class:`mspace`,style:{"margin-right":`0.1667em`}}),i(`span`,{class:`mord`},`0`)])])]),u(`.`)],-1),i(`p`,null,[i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`msup`,null,[i(`mi`,null,`e`),i(`mn`,null,`1.1`)]),i(`mo`,null,`≈`),i(`mn`,null,`3`)]),i(`annotation`,{encoding:`application/x-tex`},`e^{1.1} \\approx 3`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.8141em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathnormal`},`e`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.8141em`}},[i(`span`,{style:{top:`-3.063em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mtight`},[i(`span`,{class:`mord mtight`},`1.1`)])])])])])])])]),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}}),i(`span`,{class:`mrel`},`≈`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}})]),i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.6444em`}}),i(`span`,{class:`mord`},`3`)])])]),u(`, so`)],-1),i(`p`,null,[i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`mi`,null,`α`),i(`mo`,null,`=`),i(`mstyle`,{scriptlevel:`0`,displaystyle:`false`},[i(`mfrac`,null,[i(`mn`,null,`3`),i(`mn`,null,`5`)])]),i(`mo`,{separator:`true`},`,`),i(`mstyle`,{scriptlevel:`0`,displaystyle:`false`},[i(`mfrac`,null,[i(`mn`,null,`1`),i(`mn`,null,`5`)])]),i(`mo`,{separator:`true`},`,`),i(`mstyle`,{scriptlevel:`0`,displaystyle:`false`},[i(`mfrac`,null,[i(`mn`,null,`1`),i(`mn`,null,`5`)])]),i(`mo`,null,`=`),i(`mn`,null,`0.6`),i(`mo`,{separator:`true`},`,`),i(`mn`,null,`0.2`),i(`mo`,{separator:`true`},`,`),i(`mn`,null,`0.2`)]),i(`annotation`,{encoding:`application/x-tex`},`\\alpha = \\tfrac{3}{5}, \\tfrac{1}{5}, \\tfrac{1}{5} = 0.6, 0.2, 0.2`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.4306em`}}),i(`span`,{class:`mord mathnormal`,style:{"margin-right":`0.0037em`}},`α`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}}),i(`span`,{class:`mrel`},`=`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}})]),i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`1.1901em`,"vertical-align":`-0.345em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mopen nulldelimiter`}),i(`span`,{class:`mfrac`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.8451em`}},[i(`span`,{style:{top:`-2.655em`}},[i(`span`,{class:`pstrut`,style:{height:`3em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mtight`},[i(`span`,{class:`mord mtight`},`5`)])])]),i(`span`,{style:{top:`-3.23em`}},[i(`span`,{class:`pstrut`,style:{height:`3em`}}),i(`span`,{class:`frac-line`,style:{"border-bottom-width":`0.04em`}})]),i(`span`,{style:{top:`-3.394em`}},[i(`span`,{class:`pstrut`,style:{height:`3em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mtight`},[i(`span`,{class:`mord mtight`},`3`)])])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.345em`}},[i(`span`)])])])]),i(`span`,{class:`mclose nulldelimiter`})]),i(`span`,{class:`mpunct`},`,`),i(`span`,{class:`mspace`,style:{"margin-right":`0.1667em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mopen nulldelimiter`}),i(`span`,{class:`mfrac`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.8451em`}},[i(`span`,{style:{top:`-2.655em`}},[i(`span`,{class:`pstrut`,style:{height:`3em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mtight`},[i(`span`,{class:`mord mtight`},`5`)])])]),i(`span`,{style:{top:`-3.23em`}},[i(`span`,{class:`pstrut`,style:{height:`3em`}}),i(`span`,{class:`frac-line`,style:{"border-bottom-width":`0.04em`}})]),i(`span`,{style:{top:`-3.394em`}},[i(`span`,{class:`pstrut`,style:{height:`3em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mtight`},[i(`span`,{class:`mord mtight`},`1`)])])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.345em`}},[i(`span`)])])])]),i(`span`,{class:`mclose nulldelimiter`})]),i(`span`,{class:`mpunct`},`,`),i(`span`,{class:`mspace`,style:{"margin-right":`0.1667em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mopen nulldelimiter`}),i(`span`,{class:`mfrac`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.8451em`}},[i(`span`,{style:{top:`-2.655em`}},[i(`span`,{class:`pstrut`,style:{height:`3em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mtight`},[i(`span`,{class:`mord mtight`},`5`)])])]),i(`span`,{style:{top:`-3.23em`}},[i(`span`,{class:`pstrut`,style:{height:`3em`}}),i(`span`,{class:`frac-line`,style:{"border-bottom-width":`0.04em`}})]),i(`span`,{style:{top:`-3.394em`}},[i(`span`,{class:`pstrut`,style:{height:`3em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mtight`},[i(`span`,{class:`mord mtight`},`1`)])])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.345em`}},[i(`span`)])])])]),i(`span`,{class:`mclose nulldelimiter`})]),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}}),i(`span`,{class:`mrel`},`=`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}})]),i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.8389em`,"vertical-align":`-0.1944em`}}),i(`span`,{class:`mord`},`0.6`),i(`span`,{class:`mpunct`},`,`),i(`span`,{class:`mspace`,style:{"margin-right":`0.1667em`}}),i(`span`,{class:`mord`},`0.2`),i(`span`,{class:`mpunct`},`,`),i(`span`,{class:`mspace`,style:{"margin-right":`0.1667em`}}),i(`span`,{class:`mord`},`0.2`)])])])],-1),i(`p`,null,[i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`msub`,null,[i(`mi`,{mathvariant:`bold`},`c`),i(`mi`,null,`t`)]),i(`mo`,null,`=`),i(`mn`,null,`0.6`),i(`mtext`,null,` `),i(`mo`,{stretchy:`false`},`[`),i(`mn`,null,`1`),i(`mo`,{separator:`true`},`,`),i(`mn`,null,`0`),i(`mo`,{stretchy:`false`},`]`),i(`mo`,null,`+`),i(`mn`,null,`0.2`),i(`mtext`,null,` `),i(`mo`,{stretchy:`false`},`[`),i(`mn`,null,`0`),i(`mo`,{separator:`true`},`,`),i(`mn`,null,`1`),i(`mo`,{stretchy:`false`},`]`),i(`mo`,null,`+`),i(`mn`,null,`0.2`),i(`mtext`,null,` `),i(`mo`,{stretchy:`false`},`[`),i(`mn`,null,`0`),i(`mo`,{separator:`true`},`,`),i(`mn`,null,`2`),i(`mo`,{stretchy:`false`},`]`),i(`mo`,null,`=`),i(`mo`,{stretchy:`false`},`[`),i(`mn`,null,`0.6`),i(`mo`,{separator:`true`},`,`),i(`mn`,null,`0.6`),i(`mo`,{stretchy:`false`},`]`)]),i(`annotation`,{encoding:`application/x-tex`},`\\mathbf{c}_t = 0.6\\,[1, 0] + 0.2\\,[0, 1] + 0.2\\,[0, 2] = [0.6, 0.6]`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.5944em`,"vertical-align":`-0.15em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathbf`},`c`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.2806em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mathnormal mtight`},`t`)])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.15em`}},[i(`span`)])])])])]),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}}),i(`span`,{class:`mrel`},`=`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}})]),i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`1em`,"vertical-align":`-0.25em`}}),i(`span`,{class:`mord`},`0.6`),i(`span`,{class:`mspace`,style:{"margin-right":`0.1667em`}}),i(`span`,{class:`mopen`},`[`),i(`span`,{class:`mord`},`1`),i(`span`,{class:`mpunct`},`,`),i(`span`,{class:`mspace`,style:{"margin-right":`0.1667em`}}),i(`span`,{class:`mord`},`0`),i(`span`,{class:`mclose`},`]`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}}),i(`span`,{class:`mbin`},`+`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}})]),i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`1em`,"vertical-align":`-0.25em`}}),i(`span`,{class:`mord`},`0.2`),i(`span`,{class:`mspace`,style:{"margin-right":`0.1667em`}}),i(`span`,{class:`mopen`},`[`),i(`span`,{class:`mord`},`0`),i(`span`,{class:`mpunct`},`,`),i(`span`,{class:`mspace`,style:{"margin-right":`0.1667em`}}),i(`span`,{class:`mord`},`1`),i(`span`,{class:`mclose`},`]`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}}),i(`span`,{class:`mbin`},`+`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}})]),i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`1em`,"vertical-align":`-0.25em`}}),i(`span`,{class:`mord`},`0.2`),i(`span`,{class:`mspace`,style:{"margin-right":`0.1667em`}}),i(`span`,{class:`mopen`},`[`),i(`span`,{class:`mord`},`0`),i(`span`,{class:`mpunct`},`,`),i(`span`,{class:`mspace`,style:{"margin-right":`0.1667em`}}),i(`span`,{class:`mord`},`2`),i(`span`,{class:`mclose`},`]`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}}),i(`span`,{class:`mrel`},`=`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}})]),i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`1em`,"vertical-align":`-0.25em`}}),i(`span`,{class:`mopen`},`[`),i(`span`,{class:`mord`},`0.6`),i(`span`,{class:`mpunct`},`,`),i(`span`,{class:`mspace`,style:{"margin-right":`0.1667em`}}),i(`span`,{class:`mord`},`0.6`),i(`span`,{class:`mclose`},`]`)])])])],-1)]])),[[S]])])])]),_:1},16)}}};export{b as default}; \ No newline at end of file diff --git a/lecture-05/assets/md-7Q8T-mth.js b/lecture-05/assets/md-7Q8T-mth.js new file mode 100644 index 0000000000000000000000000000000000000000..1d67e002dbe7f9873ed783040d256deb3e9db9c1 --- /dev/null +++ b/lecture-05/assets/md-7Q8T-mth.js @@ -0,0 +1 @@ +import{$ as e,E as t,S as n,_ as r,bt as i,v as a,vt as o,z as s}from"./modules/shiki-CkJq9tSf.js";import{n as c,t as l}from"./slidev/context-DnYiQGy6.js";import{t as u}from"./RnnGlyph-DxX0mQto.js";import{t as d}from"./section-CLxRKQ9Y.js";var f={style:{position:`absolute`,right:`4.5rem`,top:`50%`,transform:`translateY(-50%)`}},p={__name:`slides.md__slidev_48`,setup(p){let{$slidev:m,$nav:h,$clicksContext:g,$clicks:_,$page:v,$renderContext:y,$frontmatter:b}=c();return g.setup(),(c,p)=>{let m=u;return s(),a(d,i(t(o(l)(o(b),47))),{default:e(()=>[p[0]||=r(`h1`,null,`Words into vectors`,-1),p[1]||=r(`p`,null,`Where the input vectors came from.`,-1),r(`div`,f,[n(m,{kind:`map`,size:190})])]),_:1},16)}}};export{p as default}; \ No newline at end of file diff --git a/lecture-05/assets/md-AiBB45tN.js b/lecture-05/assets/md-AiBB45tN.js new file mode 100644 index 0000000000000000000000000000000000000000..8c1d55e74c3d77ba166b7139f65e2111725e3359 --- /dev/null +++ b/lecture-05/assets/md-AiBB45tN.js @@ -0,0 +1 @@ +import{$ as e,E as t,W as n,_ as r,b as i,bt as a,et as o,v as s,vt as c,x as l,z as u}from"./modules/shiki-CkJq9tSf.js";import{n as d,t as f}from"./slidev/context-DnYiQGy6.js";import{t as p}from"./default-BTjgsdmC.js";var m={class:`mt-2 flex justify-center`},h={viewBox:`0 0 640 180`,class:`dl-diagram`,role:`img`,"aria-label":`The cell state 0.6 is multiplied by the forget gate 0.9 to give 0.54, then 0.4 times 0.8 = 0.32 is added to give 0.86; tanh of 0.86 times the output gate 0.7 gives h = 0.49`},g={class:`mt-2 dl-callout`},_={__name:`slides.md__slidev_42`,setup(_){let{$slidev:v,$nav:y,$clicksContext:b,$clicks:x,$page:S,$renderContext:C,$frontmatter:w}=d();return b.setup(),(d,_)=>{let v=n(`click`);return u(),s(p,a(t(c(f)(c(w),41))),{default:e(()=>[_[18]||=r(`h1`,null,`One LSTM step, by hand`,-1),_[19]||=r(`p`,null,[l(`Values from the last slide: `),r(`span`,{class:`katex`},[r(`span`,{class:`katex-mathml`},[r(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[r(`semantics`,null,[r(`mrow`,null,[r(`msub`,null,[r(`mi`,null,`c`),r(`mrow`,null,[r(`mi`,null,`t`),r(`mo`,null,`−`),r(`mn`,null,`1`)])]),r(`mo`,null,`=`),r(`mn`,null,`0.6`)]),r(`annotation`,{encoding:`application/x-tex`},`c_{t-1} = 0.6`)])])]),r(`span`,{class:`katex-html`,"aria-hidden":`true`},[r(`span`,{class:`katex-base`},[r(`span`,{class:`katex-strut`,style:{height:`0.6389em`,"vertical-align":`-0.2083em`}}),r(`span`,{class:`mord`},[r(`span`,{class:`mord mathnormal`},`c`),r(`span`,{class:`msupsub`},[r(`span`,{class:`vlist-t vlist-t2`},[r(`span`,{class:`vlist-r`},[r(`span`,{class:`vlist`,style:{height:`0.3011em`}},[r(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[r(`span`,{class:`pstrut`,style:{height:`2.7em`}}),r(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[r(`span`,{class:`mord mtight`},[r(`span`,{class:`mord mathnormal mtight`},`t`),r(`span`,{class:`mbin mtight`},`−`),r(`span`,{class:`mord mtight`},`1`)])])])]),r(`span`,{class:`vlist-s`},`​`)]),r(`span`,{class:`vlist-r`},[r(`span`,{class:`vlist`,style:{height:`0.2083em`}},[r(`span`)])])])])]),r(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}}),r(`span`,{class:`mrel`},`=`),r(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}})]),r(`span`,{class:`katex-base`},[r(`span`,{class:`katex-strut`,style:{height:`0.6444em`}}),r(`span`,{class:`mord`},`0.6`)])])]),l(`, `),r(`span`,{class:`katex`},[r(`span`,{class:`katex-mathml`},[r(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[r(`semantics`,null,[r(`mrow`,null,[r(`mi`,null,`f`),r(`mo`,null,`=`),r(`mn`,null,`0.9`)]),r(`annotation`,{encoding:`application/x-tex`},`f = 0.9`)])])]),r(`span`,{class:`katex-html`,"aria-hidden":`true`},[r(`span`,{class:`katex-base`},[r(`span`,{class:`katex-strut`,style:{height:`0.8889em`,"vertical-align":`-0.1944em`}}),r(`span`,{class:`mord mathnormal`,style:{"margin-right":`0.1076em`}},`f`),r(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}}),r(`span`,{class:`mrel`},`=`),r(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}})]),r(`span`,{class:`katex-base`},[r(`span`,{class:`katex-strut`,style:{height:`0.6444em`}}),r(`span`,{class:`mord`},`0.9`)])])]),l(`, `),r(`span`,{class:`katex`},[r(`span`,{class:`katex-mathml`},[r(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[r(`semantics`,null,[r(`mrow`,null,[r(`mi`,null,`i`),r(`mo`,null,`=`),r(`mn`,null,`0.4`)]),r(`annotation`,{encoding:`application/x-tex`},`i = 0.4`)])])]),r(`span`,{class:`katex-html`,"aria-hidden":`true`},[r(`span`,{class:`katex-base`},[r(`span`,{class:`katex-strut`,style:{height:`0.6595em`}}),r(`span`,{class:`mord mathnormal`},`i`),r(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}}),r(`span`,{class:`mrel`},`=`),r(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}})]),r(`span`,{class:`katex-base`},[r(`span`,{class:`katex-strut`,style:{height:`0.6444em`}}),r(`span`,{class:`mord`},`0.4`)])])]),l(`, `),r(`span`,{class:`katex`},[r(`span`,{class:`katex-mathml`},[r(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[r(`semantics`,null,[r(`mrow`,null,[r(`mover`,{accent:`true`},[r(`mi`,null,`c`),r(`mo`,null,`~`)]),r(`mo`,null,`=`),r(`mn`,null,`0.8`)]),r(`annotation`,{encoding:`application/x-tex`},`\\tilde{c} = 0.8`)])])]),r(`span`,{class:`katex-html`,"aria-hidden":`true`},[r(`span`,{class:`katex-base`},[r(`span`,{class:`katex-strut`,style:{height:`0.6679em`}}),r(`span`,{class:`mord katex-accent`},[r(`span`,{class:`vlist-t`},[r(`span`,{class:`vlist-r`},[r(`span`,{class:`vlist`,style:{height:`0.6679em`}},[r(`span`,{style:{top:`-3em`}},[r(`span`,{class:`pstrut`,style:{height:`3em`}}),r(`span`,{class:`mord mathnormal`},`c`)]),r(`span`,{style:{top:`-3.35em`}},[r(`span`,{class:`pstrut`,style:{height:`3em`}}),r(`span`,{class:`accent-body`,style:{left:`-0.1944em`}},[r(`span`,{class:`mord`},`~`)])])])])])]),r(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}}),r(`span`,{class:`mrel`},`=`),r(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}})]),r(`span`,{class:`katex-base`},[r(`span`,{class:`katex-strut`,style:{height:`0.6444em`}}),r(`span`,{class:`mord`},`0.8`)])])]),l(`, `),r(`span`,{class:`katex`},[r(`span`,{class:`katex-mathml`},[r(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[r(`semantics`,null,[r(`mrow`,null,[r(`mi`,null,`o`),r(`mo`,null,`=`),r(`mn`,null,`0.7`)]),r(`annotation`,{encoding:`application/x-tex`},`o = 0.7`)])])]),r(`span`,{class:`katex-html`,"aria-hidden":`true`},[r(`span`,{class:`katex-base`},[r(`span`,{class:`katex-strut`,style:{height:`0.4306em`}}),r(`span`,{class:`mord mathnormal`},`o`),r(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}}),r(`span`,{class:`mrel`},`=`),r(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}})]),r(`span`,{class:`katex-base`},[r(`span`,{class:`katex-strut`,style:{height:`0.6444em`}}),r(`span`,{class:`mord`},`0.7`)])])]),l(`.`)],-1),r(`div`,m,[(u(),i(`svg`,h,[_[4]||=r(`defs`,null,[r(`marker`,{id:`l5c-step-arrow`,markerWidth:`6`,markerHeight:`6`,refX:`5`,refY:`3`,orient:`auto`},[r(`path`,{class:`dl-dg-head`,d:`M0 0 L6 3 L0 6 z`})])],-1),_[5]||=r(`text`,{class:`dl-dg-lab is-sm`,x:`2`,y:`55`},[l(`c`),r(`tspan`,{"baseline-shift":`sub`,style:{"font-size":`9px`}},`t−1`),l(` = 0.6`)],-1),_[6]||=r(`path`,{class:`dl-dg-line`,"marker-end":`url(#l5c-step-arrow)`,d:`M70 50 H610`},null,-1),_[7]||=r(`circle`,{class:`dl-dg-op`,cx:`170`,cy:`50`,r:`13`},null,-1),_[8]||=r(`text`,{class:`dl-dg-lab is-sm`,x:`170`,y:`55`,"text-anchor":`middle`},`×`,-1),_[9]||=r(`rect`,{class:`dl-dg-box is-accent`,x:`140`,y:`96`,width:`60`,height:`26`,rx:`4`},null,-1),_[10]||=r(`text`,{class:`dl-dg-in`,x:`170`,y:`114`,"text-anchor":`middle`},`f = 0.9`,-1),_[11]||=r(`path`,{class:`dl-dg-arrow`,"marker-end":`url(#l5c-step-arrow)`,d:`M170 96 V66`},null,-1),_[12]||=r(`circle`,{class:`dl-dg-op`,cx:`320`,cy:`50`,r:`13`},null,-1),_[13]||=r(`text`,{class:`dl-dg-lab is-sm`,x:`320`,y:`55`,"text-anchor":`middle`},`+`,-1),_[14]||=r(`rect`,{class:`dl-dg-box is-accent`,x:`270`,y:`96`,width:`100`,height:`26`,rx:`4`},null,-1),_[15]||=r(`text`,{class:`dl-dg-in`,x:`320`,y:`114`,"text-anchor":`middle`},`i · c̃ = 0.4 × 0.8`,-1),_[16]||=r(`path`,{class:`dl-dg-arrow`,"marker-end":`url(#l5c-step-arrow)`,d:`M320 96 V66`},null,-1),o((u(),i(`g`,null,[..._[0]||=[r(`text`,{class:`dl-dg-lab`,x:`245`,y:`36`,"text-anchor":`middle`},`0.54`,-1),r(`text`,{class:`dl-dg-small`,x:`245`,y:`74`,"text-anchor":`middle`},`kept`,-1)]])),[[v]]),o((u(),i(`g`,null,[..._[1]||=[r(`text`,{class:`dl-dg-small`,x:`320`,y:`140`,"text-anchor":`middle`},`written: 0.32`,-1)]])),[[v]]),o((u(),i(`g`,null,[..._[2]||=[r(`text`,{class:`dl-dg-lab`,x:`395`,y:`36`,"text-anchor":`middle`},`0.86`,-1)]])),[[v]]),o((u(),i(`g`,null,[..._[3]||=[r(`path`,{class:`dl-dg-arrow`,"marker-end":`url(#l5c-step-arrow)`,d:`M450 50 V100 H476`},null,-1),r(`text`,{class:`dl-dg-small`,x:`444`,y:`84`,"text-anchor":`end`},`tanh`,-1),r(`circle`,{class:`dl-dg-op`,cx:`492`,cy:`100`,r:`13`},null,-1),r(`text`,{class:`dl-dg-lab is-sm`,x:`492`,y:`105`,"text-anchor":`middle`},`×`,-1),r(`rect`,{class:`dl-dg-box is-accent`,x:`462`,y:`140`,width:`60`,height:`26`,rx:`4`},null,-1),r(`text`,{class:`dl-dg-in`,x:`492`,y:`158`,"text-anchor":`middle`},`o = 0.7`,-1),r(`path`,{class:`dl-dg-arrow`,"marker-end":`url(#l5c-step-arrow)`,d:`M492 140 V116`},null,-1),r(`path`,{class:`dl-dg-arrow`,"marker-end":`url(#l5c-step-arrow)`,d:`M506 100 H532`},null,-1),r(`text`,{class:`dl-dg-lab`,x:`538`,y:`106`},[l(`h`),r(`tspan`,{"baseline-shift":`sub`,style:{"font-size":`11px`}},`t`),l(` = 0.49`)],-1)]])),[[v]])]))]),o((u(),i(`div`,g,[..._[17]||=[r(`p`,null,[l(`The cell `),r(`strong`,null,`holds`),l(` 0.86 but `),r(`strong`,null,`shows`),l(` 0.49: the output gate decides how much to reveal.`)],-1)]])),[[v]])]),_:1},16)}}};export{_ as default}; \ No newline at end of file diff --git a/lecture-05/assets/md-B0kGJFD3.js b/lecture-05/assets/md-B0kGJFD3.js new file mode 100644 index 0000000000000000000000000000000000000000..0cede2f643e98992a11374bebcf426aa11ee1712 --- /dev/null +++ b/lecture-05/assets/md-B0kGJFD3.js @@ -0,0 +1 @@ +import{$ as e,E as t,W as n,_ as r,b as i,bt as a,et as o,v as s,vt as c,x as l,z as u}from"./modules/shiki-CkJq9tSf.js";import{n as d,t as f}from"./slidev/context-DnYiQGy6.js";import{t as p}from"./default-BTjgsdmC.js";var m={viewBox:`0 0 640 124`,class:`dl-diagram`,style:{"max-height":`7.2rem`},role:`img`,"aria-label":`Step 5 of review B. The old state h4 = 0.964, 0 times W_hh gives 0.482, minus 1.446. The word great = 1, 0 times W_xh gives 0, 1. The two are added, squashed by tanh into h5 = 0.448, minus 0.419, and read out as P(positive) = 0.22`},h={class:`grid grid-cols-2 gap-x-6 gap-y-2 mt-2 dl-math-sm`},g={class:`dl-card`},_={class:`dl-card`},v={class:`dl-card`},y={class:`dl-card`},b={__name:`slides.md__slidev_19`,setup(b){let{$slidev:x,$nav:S,$clicksContext:C,$clicks:w,$page:T,$renderContext:E,$frontmatter:D}=d();return C.setup(),(d,b)=>{let x=n(`click`);return u(),s(p,a(t(c(f)(c(D),18))),{default:e(()=>[b[5]||=r(`h1`,null,[l(`Working it out: review B at `),r(`em`,null,`great`)],-1),(u(),i(`svg`,m,[...b[0]||=[r(`defs`,null,[r(`marker`,{id:`l5b-work-head`,markerWidth:`7`,markerHeight:`7`,refX:`6`,refY:`3.5`,orient:`auto`},[r(`path`,{d:`M0 0 L7 3.5 L0 7 z`,class:`dl-dg-head`})])],-1),r(`rect`,{x:`4`,y:`10`,width:`112`,height:`30`,rx:`5`,class:`dl-dg-box`},null,-1),r(`text`,{x:`60`,y:`30`,"text-anchor":`middle`,class:`dl-dg-lab is-sm`},`h₄ = [0.964, 0]`,-1),r(`path`,{d:`M118 25 H234`,class:`dl-dg-arrow`,"marker-end":`url(#l5b-work-head)`},null,-1),r(`text`,{x:`176`,y:`17`,"text-anchor":`middle`,class:`dl-dg-small`},`2 · × W_hh`,-1),r(`text`,{x:`176`,y:`40`,"text-anchor":`middle`,class:`dl-dg-small is-bad`},`[0.482, −1.446]`,-1),r(`circle`,{cx:`254`,cy:`25`,r:`15`,class:`dl-dg-box`},null,-1),r(`text`,{x:`254`,y:`30`,"text-anchor":`middle`,class:`dl-dg-lab is-sm`},`+`,-1),r(`rect`,{x:`190`,y:`90`,width:`128`,height:`30`,rx:`5`,class:`dl-dg-box`},null,-1),r(`text`,{x:`254`,y:`110`,"text-anchor":`middle`,class:`dl-dg-lab is-sm`},`x₅ = great [1, 0]`,-1),r(`path`,{d:`M254 88 V44`,class:`dl-dg-arrow`,"marker-end":`url(#l5b-work-head)`},null,-1),r(`text`,{x:`262`,y:`62`,class:`dl-dg-small`},`1 · × W_xh`,-1),r(`text`,{x:`262`,y:`78`,class:`dl-dg-small is-good`},`[0, 1]`,-1),r(`path`,{d:`M270 25 H318`,class:`dl-dg-arrow`,"marker-end":`url(#l5b-work-head)`},null,-1),r(`rect`,{x:`320`,y:`10`,width:`64`,height:`30`,rx:`5`,class:`dl-dg-box`},null,-1),r(`text`,{x:`352`,y:`30`,"text-anchor":`middle`,class:`dl-dg-lab is-sm`},`3 · tanh`,-1),r(`path`,{d:`M386 25 H426`,class:`dl-dg-arrow`,"marker-end":`url(#l5b-work-head)`},null,-1),r(`rect`,{x:`428`,y:`10`,width:`150`,height:`30`,rx:`5`,class:`dl-dg-box is-accent`},null,-1),r(`text`,{x:`503`,y:`30`,"text-anchor":`middle`,class:`dl-dg-lab is-sm`},`h₅ = [0.448, −0.419]`,-1),r(`path`,{d:`M503 42 V86`,class:`dl-dg-arrow`,"marker-end":`url(#l5b-work-head)`},null,-1),r(`text`,{x:`511`,y:`68`,class:`dl-dg-small`},`4 · × W_ho, then σ`,-1),r(`rect`,{x:`428`,y:`90`,width:`150`,height:`30`,rx:`5`,class:`dl-dg-box`},null,-1),r(`text`,{x:`503`,y:`110`,"text-anchor":`middle`,class:`dl-dg-lab is-sm`},`P(positive) = 0.22`,-1)]])),r(`div`,h,[o((u(),i(`div`,g,[...b[1]||=[r(`div`,{class:`dl-secondary`},`1 · What the word brings`,-1),r(`p`,null,[r(`span`,{class:`katex`},[r(`span`,{class:`katex-mathml`},[r(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[r(`semantics`,null,[r(`mrow`,null,[r(`msub`,null,[r(`mi`,null,`W`),r(`mrow`,null,[r(`mi`,null,`x`),r(`mi`,null,`h`)])]),r(`msub`,null,[r(`mi`,{mathvariant:`bold`},`x`),r(`mn`,null,`5`)]),r(`mo`,null,`=`),r(`mrow`,null,[r(`mo`,{fence:`true`},`[`),r(`mtable`,{rowspacing:`0.16em`,columnalign:`center center`,columnspacing:`1em`},[r(`mtr`,null,[r(`mtd`,null,[r(`mstyle`,{scriptlevel:`0`,displaystyle:`false`},[r(`mn`,null,`0`)])]),r(`mtd`,null,[r(`mstyle`,{scriptlevel:`0`,displaystyle:`false`},[r(`mn`,null,`2`)])])]),r(`mtr`,null,[r(`mtd`,null,[r(`mstyle`,{scriptlevel:`0`,displaystyle:`false`},[r(`mn`,null,`1`)])]),r(`mtd`,null,[r(`mstyle`,{scriptlevel:`0`,displaystyle:`false`},[r(`mn`,null,`0`)])])])]),r(`mo`,{fence:`true`},`]`)]),r(`mrow`,null,[r(`mo`,{fence:`true`},`[`),r(`mtable`,{rowspacing:`0.16em`,columnalign:`center`,columnspacing:`1em`},[r(`mtr`,null,[r(`mtd`,null,[r(`mstyle`,{scriptlevel:`0`,displaystyle:`false`},[r(`mn`,null,`1`)])])]),r(`mtr`,null,[r(`mtd`,null,[r(`mstyle`,{scriptlevel:`0`,displaystyle:`false`},[r(`mn`,null,`0`)])])])]),r(`mo`,{fence:`true`},`]`)]),r(`mo`,null,`=`),r(`mrow`,null,[r(`mo`,{fence:`true`},`[`),r(`mtable`,{rowspacing:`0.16em`,columnalign:`center`,columnspacing:`1em`},[r(`mtr`,null,[r(`mtd`,null,[r(`mstyle`,{scriptlevel:`0`,displaystyle:`false`},[r(`mn`,null,`0`)])])]),r(`mtr`,null,[r(`mtd`,null,[r(`mstyle`,{scriptlevel:`0`,displaystyle:`false`},[r(`mn`,null,`1`)])])])]),r(`mo`,{fence:`true`},`]`)])]),r(`annotation`,{encoding:`application/x-tex`},`W_{xh}\\mathbf{x}_5 = \\begin{bmatrix} 0 & 2 \\\\ 1 & 0 \\end{bmatrix} \\begin{bmatrix} 1 \\\\ 0 \\end{bmatrix} = \\begin{bmatrix} 0 \\\\ 1 \\end{bmatrix}`)])])]),r(`span`,{class:`katex-html`,"aria-hidden":`true`},[r(`span`,{class:`katex-base`},[r(`span`,{class:`katex-strut`,style:{height:`0.8333em`,"vertical-align":`-0.15em`}}),r(`span`,{class:`mord`},[r(`span`,{class:`mord mathnormal`,style:{"margin-right":`0.1389em`}},`W`),r(`span`,{class:`msupsub`},[r(`span`,{class:`vlist-t vlist-t2`},[r(`span`,{class:`vlist-r`},[r(`span`,{class:`vlist`,style:{height:`0.3361em`}},[r(`span`,{style:{top:`-2.55em`,"margin-left":`-0.1389em`,"margin-right":`0.05em`}},[r(`span`,{class:`pstrut`,style:{height:`2.7em`}}),r(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[r(`span`,{class:`mord mtight`},[r(`span`,{class:`mord mathnormal mtight`},`x`),r(`span`,{class:`mord mathnormal mtight`},`h`)])])])]),r(`span`,{class:`vlist-s`},`​`)]),r(`span`,{class:`vlist-r`},[r(`span`,{class:`vlist`,style:{height:`0.15em`}},[r(`span`)])])])])]),r(`span`,{class:`mord`},[r(`span`,{class:`mord mathbf`},`x`),r(`span`,{class:`msupsub`},[r(`span`,{class:`vlist-t vlist-t2`},[r(`span`,{class:`vlist-r`},[r(`span`,{class:`vlist`,style:{height:`0.3011em`}},[r(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[r(`span`,{class:`pstrut`,style:{height:`2.7em`}}),r(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[r(`span`,{class:`mord mtight`},`5`)])])]),r(`span`,{class:`vlist-s`},`​`)]),r(`span`,{class:`vlist-r`},[r(`span`,{class:`vlist`,style:{height:`0.15em`}},[r(`span`)])])])])]),r(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}}),r(`span`,{class:`mrel`},`=`),r(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}})]),r(`span`,{class:`katex-base`},[r(`span`,{class:`katex-strut`,style:{height:`2.4em`,"vertical-align":`-0.95em`}}),r(`span`,{class:`minner`},[r(`span`,{class:`mopen delimcenter`,style:{top:`0em`}},[r(`span`,{class:`delimsizing size3`},`[`)]),r(`span`,{class:`mord`},[r(`span`,{class:`mtable`},[r(`span`,{class:`col-align-c`},[r(`span`,{class:`vlist-t vlist-t2`},[r(`span`,{class:`vlist-r`},[r(`span`,{class:`vlist`,style:{height:`1.45em`}},[r(`span`,{style:{top:`-3.61em`}},[r(`span`,{class:`pstrut`,style:{height:`3em`}}),r(`span`,{class:`mord`},[r(`span`,{class:`mord`},`0`)])]),r(`span`,{style:{top:`-2.41em`}},[r(`span`,{class:`pstrut`,style:{height:`3em`}}),r(`span`,{class:`mord`},[r(`span`,{class:`mord`},`1`)])])]),r(`span`,{class:`vlist-s`},`​`)]),r(`span`,{class:`vlist-r`},[r(`span`,{class:`vlist`,style:{height:`0.95em`}},[r(`span`)])])])]),r(`span`,{class:`arraycolsep`,style:{width:`0.5em`}}),r(`span`,{class:`arraycolsep`,style:{width:`0.5em`}}),r(`span`,{class:`col-align-c`},[r(`span`,{class:`vlist-t vlist-t2`},[r(`span`,{class:`vlist-r`},[r(`span`,{class:`vlist`,style:{height:`1.45em`}},[r(`span`,{style:{top:`-3.61em`}},[r(`span`,{class:`pstrut`,style:{height:`3em`}}),r(`span`,{class:`mord`},[r(`span`,{class:`mord`},`2`)])]),r(`span`,{style:{top:`-2.41em`}},[r(`span`,{class:`pstrut`,style:{height:`3em`}}),r(`span`,{class:`mord`},[r(`span`,{class:`mord`},`0`)])])]),r(`span`,{class:`vlist-s`},`​`)]),r(`span`,{class:`vlist-r`},[r(`span`,{class:`vlist`,style:{height:`0.95em`}},[r(`span`)])])])])])]),r(`span`,{class:`mclose delimcenter`,style:{top:`0em`}},[r(`span`,{class:`delimsizing size3`},`]`)])]),r(`span`,{class:`mspace`,style:{"margin-right":`0.1667em`}}),r(`span`,{class:`minner`},[r(`span`,{class:`mopen delimcenter`,style:{top:`0em`}},[r(`span`,{class:`delimsizing size3`},`[`)]),r(`span`,{class:`mord`},[r(`span`,{class:`mtable`},[r(`span`,{class:`col-align-c`},[r(`span`,{class:`vlist-t vlist-t2`},[r(`span`,{class:`vlist-r`},[r(`span`,{class:`vlist`,style:{height:`1.45em`}},[r(`span`,{style:{top:`-3.61em`}},[r(`span`,{class:`pstrut`,style:{height:`3em`}}),r(`span`,{class:`mord`},[r(`span`,{class:`mord`},`1`)])]),r(`span`,{style:{top:`-2.41em`}},[r(`span`,{class:`pstrut`,style:{height:`3em`}}),r(`span`,{class:`mord`},[r(`span`,{class:`mord`},`0`)])])]),r(`span`,{class:`vlist-s`},`​`)]),r(`span`,{class:`vlist-r`},[r(`span`,{class:`vlist`,style:{height:`0.95em`}},[r(`span`)])])])])])]),r(`span`,{class:`mclose delimcenter`,style:{top:`0em`}},[r(`span`,{class:`delimsizing size3`},`]`)])]),r(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}}),r(`span`,{class:`mrel`},`=`),r(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}})]),r(`span`,{class:`katex-base`},[r(`span`,{class:`katex-strut`,style:{height:`2.4em`,"vertical-align":`-0.95em`}}),r(`span`,{class:`minner`},[r(`span`,{class:`mopen delimcenter`,style:{top:`0em`}},[r(`span`,{class:`delimsizing size3`},`[`)]),r(`span`,{class:`mord`},[r(`span`,{class:`mtable`},[r(`span`,{class:`col-align-c`},[r(`span`,{class:`vlist-t vlist-t2`},[r(`span`,{class:`vlist-r`},[r(`span`,{class:`vlist`,style:{height:`1.45em`}},[r(`span`,{style:{top:`-3.61em`}},[r(`span`,{class:`pstrut`,style:{height:`3em`}}),r(`span`,{class:`mord`},[r(`span`,{class:`mord`},`0`)])]),r(`span`,{style:{top:`-2.41em`}},[r(`span`,{class:`pstrut`,style:{height:`3em`}}),r(`span`,{class:`mord`},[r(`span`,{class:`mord`},`1`)])])]),r(`span`,{class:`vlist-s`},`​`)]),r(`span`,{class:`vlist-r`},[r(`span`,{class:`vlist`,style:{height:`0.95em`}},[r(`span`)])])])])])]),r(`span`,{class:`mclose delimcenter`,style:{top:`0em`}},[r(`span`,{class:`delimsizing size3`},`]`)])])])])])],-1)]])),[[x]]),o((u(),i(`div`,_,[...b[2]||=[r(`div`,{class:`dl-secondary`},`2 · What the note brings`,-1),r(`p`,null,[r(`span`,{class:`katex`},[r(`span`,{class:`katex-mathml`},[r(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[r(`semantics`,null,[r(`mrow`,null,[r(`msub`,null,[r(`mi`,null,`W`),r(`mrow`,null,[r(`mi`,null,`h`),r(`mi`,null,`h`)])]),r(`msub`,null,[r(`mi`,{mathvariant:`bold`},`h`),r(`mn`,null,`4`)]),r(`mo`,null,`=`),r(`mrow`,null,[r(`mo`,{fence:`true`},`[`),r(`mtable`,{rowspacing:`0.16em`,columnalign:`center center`,columnspacing:`1em`},[r(`mtr`,null,[r(`mtd`,null,[r(`mstyle`,{scriptlevel:`0`,displaystyle:`false`},[r(`mn`,null,`0.5`)])]),r(`mtd`,null,[r(`mstyle`,{scriptlevel:`0`,displaystyle:`false`},[r(`mn`,null,`0`)])])]),r(`mtr`,null,[r(`mtd`,null,[r(`mstyle`,{scriptlevel:`0`,displaystyle:`false`},[r(`mrow`,null,[r(`mo`,null,`−`),r(`mn`,null,`1.5`)])])]),r(`mtd`,null,[r(`mstyle`,{scriptlevel:`0`,displaystyle:`false`},[r(`mn`,null,`0.8`)])])])]),r(`mo`,{fence:`true`},`]`)]),r(`mrow`,null,[r(`mo`,{fence:`true`},`[`),r(`mtable`,{rowspacing:`0.16em`,columnalign:`center`,columnspacing:`1em`},[r(`mtr`,null,[r(`mtd`,null,[r(`mstyle`,{scriptlevel:`0`,displaystyle:`false`},[r(`mn`,null,`0.964`)])])]),r(`mtr`,null,[r(`mtd`,null,[r(`mstyle`,{scriptlevel:`0`,displaystyle:`false`},[r(`mn`,null,`0`)])])])]),r(`mo`,{fence:`true`},`]`)]),r(`mo`,null,`=`),r(`mrow`,null,[r(`mo`,{fence:`true`},`[`),r(`mtable`,{rowspacing:`0.16em`,columnalign:`center`,columnspacing:`1em`},[r(`mtr`,null,[r(`mtd`,null,[r(`mstyle`,{scriptlevel:`0`,displaystyle:`false`},[r(`mn`,null,`0.482`)])])]),r(`mtr`,null,[r(`mtd`,null,[r(`mstyle`,{scriptlevel:`0`,displaystyle:`false`},[r(`mrow`,null,[r(`mo`,null,`−`),r(`mn`,null,`1.446`)])])])])]),r(`mo`,{fence:`true`},`]`)])]),r(`annotation`,{encoding:`application/x-tex`},`W_{hh}\\mathbf{h}_4 = \\begin{bmatrix} 0.5 & 0 \\\\ -1.5 & 0.8 \\end{bmatrix} \\begin{bmatrix} 0.964 \\\\ 0 \\end{bmatrix} = \\begin{bmatrix} 0.482 \\\\ -1.446 \\end{bmatrix}`)])])]),r(`span`,{class:`katex-html`,"aria-hidden":`true`},[r(`span`,{class:`katex-base`},[r(`span`,{class:`katex-strut`,style:{height:`0.8444em`,"vertical-align":`-0.15em`}}),r(`span`,{class:`mord`},[r(`span`,{class:`mord mathnormal`,style:{"margin-right":`0.1389em`}},`W`),r(`span`,{class:`msupsub`},[r(`span`,{class:`vlist-t vlist-t2`},[r(`span`,{class:`vlist-r`},[r(`span`,{class:`vlist`,style:{height:`0.3361em`}},[r(`span`,{style:{top:`-2.55em`,"margin-left":`-0.1389em`,"margin-right":`0.05em`}},[r(`span`,{class:`pstrut`,style:{height:`2.7em`}}),r(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[r(`span`,{class:`mord mtight`},[r(`span`,{class:`mord mathnormal mtight`},`hh`)])])])]),r(`span`,{class:`vlist-s`},`​`)]),r(`span`,{class:`vlist-r`},[r(`span`,{class:`vlist`,style:{height:`0.15em`}},[r(`span`)])])])])]),r(`span`,{class:`mord`},[r(`span`,{class:`mord mathbf`},`h`),r(`span`,{class:`msupsub`},[r(`span`,{class:`vlist-t vlist-t2`},[r(`span`,{class:`vlist-r`},[r(`span`,{class:`vlist`,style:{height:`0.3011em`}},[r(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[r(`span`,{class:`pstrut`,style:{height:`2.7em`}}),r(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[r(`span`,{class:`mord mtight`},`4`)])])]),r(`span`,{class:`vlist-s`},`​`)]),r(`span`,{class:`vlist-r`},[r(`span`,{class:`vlist`,style:{height:`0.15em`}},[r(`span`)])])])])]),r(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}}),r(`span`,{class:`mrel`},`=`),r(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}})]),r(`span`,{class:`katex-base`},[r(`span`,{class:`katex-strut`,style:{height:`2.4em`,"vertical-align":`-0.95em`}}),r(`span`,{class:`minner`},[r(`span`,{class:`mopen delimcenter`,style:{top:`0em`}},[r(`span`,{class:`delimsizing size3`},`[`)]),r(`span`,{class:`mord`},[r(`span`,{class:`mtable`},[r(`span`,{class:`col-align-c`},[r(`span`,{class:`vlist-t vlist-t2`},[r(`span`,{class:`vlist-r`},[r(`span`,{class:`vlist`,style:{height:`1.45em`}},[r(`span`,{style:{top:`-3.61em`}},[r(`span`,{class:`pstrut`,style:{height:`3em`}}),r(`span`,{class:`mord`},[r(`span`,{class:`mord`},`0.5`)])]),r(`span`,{style:{top:`-2.41em`}},[r(`span`,{class:`pstrut`,style:{height:`3em`}}),r(`span`,{class:`mord`},[r(`span`,{class:`mord`},`−`),r(`span`,{class:`mord`},`1.5`)])])]),r(`span`,{class:`vlist-s`},`​`)]),r(`span`,{class:`vlist-r`},[r(`span`,{class:`vlist`,style:{height:`0.95em`}},[r(`span`)])])])]),r(`span`,{class:`arraycolsep`,style:{width:`0.5em`}}),r(`span`,{class:`arraycolsep`,style:{width:`0.5em`}}),r(`span`,{class:`col-align-c`},[r(`span`,{class:`vlist-t vlist-t2`},[r(`span`,{class:`vlist-r`},[r(`span`,{class:`vlist`,style:{height:`1.45em`}},[r(`span`,{style:{top:`-3.61em`}},[r(`span`,{class:`pstrut`,style:{height:`3em`}}),r(`span`,{class:`mord`},[r(`span`,{class:`mord`},`0`)])]),r(`span`,{style:{top:`-2.41em`}},[r(`span`,{class:`pstrut`,style:{height:`3em`}}),r(`span`,{class:`mord`},[r(`span`,{class:`mord`},`0.8`)])])]),r(`span`,{class:`vlist-s`},`​`)]),r(`span`,{class:`vlist-r`},[r(`span`,{class:`vlist`,style:{height:`0.95em`}},[r(`span`)])])])])])]),r(`span`,{class:`mclose delimcenter`,style:{top:`0em`}},[r(`span`,{class:`delimsizing size3`},`]`)])]),r(`span`,{class:`mspace`,style:{"margin-right":`0.1667em`}}),r(`span`,{class:`minner`},[r(`span`,{class:`mopen delimcenter`,style:{top:`0em`}},[r(`span`,{class:`delimsizing size3`},`[`)]),r(`span`,{class:`mord`},[r(`span`,{class:`mtable`},[r(`span`,{class:`col-align-c`},[r(`span`,{class:`vlist-t vlist-t2`},[r(`span`,{class:`vlist-r`},[r(`span`,{class:`vlist`,style:{height:`1.45em`}},[r(`span`,{style:{top:`-3.61em`}},[r(`span`,{class:`pstrut`,style:{height:`3em`}}),r(`span`,{class:`mord`},[r(`span`,{class:`mord`},`0.964`)])]),r(`span`,{style:{top:`-2.41em`}},[r(`span`,{class:`pstrut`,style:{height:`3em`}}),r(`span`,{class:`mord`},[r(`span`,{class:`mord`},`0`)])])]),r(`span`,{class:`vlist-s`},`​`)]),r(`span`,{class:`vlist-r`},[r(`span`,{class:`vlist`,style:{height:`0.95em`}},[r(`span`)])])])])])]),r(`span`,{class:`mclose delimcenter`,style:{top:`0em`}},[r(`span`,{class:`delimsizing size3`},`]`)])]),r(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}}),r(`span`,{class:`mrel`},`=`),r(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}})]),r(`span`,{class:`katex-base`},[r(`span`,{class:`katex-strut`,style:{height:`2.4em`,"vertical-align":`-0.95em`}}),r(`span`,{class:`minner`},[r(`span`,{class:`mopen delimcenter`,style:{top:`0em`}},[r(`span`,{class:`delimsizing size3`},`[`)]),r(`span`,{class:`mord`},[r(`span`,{class:`mtable`},[r(`span`,{class:`col-align-c`},[r(`span`,{class:`vlist-t vlist-t2`},[r(`span`,{class:`vlist-r`},[r(`span`,{class:`vlist`,style:{height:`1.45em`}},[r(`span`,{style:{top:`-3.61em`}},[r(`span`,{class:`pstrut`,style:{height:`3em`}}),r(`span`,{class:`mord`},[r(`span`,{class:`mord`},`0.482`)])]),r(`span`,{style:{top:`-2.41em`}},[r(`span`,{class:`pstrut`,style:{height:`3em`}}),r(`span`,{class:`mord`},[r(`span`,{class:`mord`},`−`),r(`span`,{class:`mord`},`1.446`)])])]),r(`span`,{class:`vlist-s`},`​`)]),r(`span`,{class:`vlist-r`},[r(`span`,{class:`vlist`,style:{height:`0.95em`}},[r(`span`)])])])])])]),r(`span`,{class:`mclose delimcenter`,style:{top:`0em`}},[r(`span`,{class:`delimsizing size3`},`]`)])])])])])],-1)]])),[[x]]),o((u(),i(`div`,v,[...b[3]||=[r(`div`,{class:`dl-secondary`},`3 · Add them (bias 0), then tanh`,-1),r(`p`,null,[r(`span`,{class:`katex`},[r(`span`,{class:`katex-mathml`},[r(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[r(`semantics`,null,[r(`mrow`,null,[r(`msub`,null,[r(`mi`,{mathvariant:`bold`},`h`),r(`mn`,null,`5`)]),r(`mo`,null,`=`),r(`mi`,null,`tanh`),r(`mo`,null,`⁡`),r(`mrow`,null,[r(`mo`,{fence:`true`},`[`),r(`mtable`,{rowspacing:`0.16em`,columnalign:`center`,columnspacing:`1em`},[r(`mtr`,null,[r(`mtd`,null,[r(`mstyle`,{scriptlevel:`0`,displaystyle:`false`},[r(`mrow`,null,[r(`mn`,null,`0`),r(`mo`,null,`+`),r(`mn`,null,`0.482`)])])])]),r(`mtr`,null,[r(`mtd`,null,[r(`mstyle`,{scriptlevel:`0`,displaystyle:`false`},[r(`mrow`,null,[r(`mn`,null,`1`),r(`mo`,null,`−`),r(`mn`,null,`1.446`)])])])])]),r(`mo`,{fence:`true`},`]`)]),r(`mo`,null,`=`),r(`mrow`,null,[r(`mo`,{fence:`true`},`[`),r(`mtable`,{rowspacing:`0.16em`,columnalign:`center`,columnspacing:`1em`},[r(`mtr`,null,[r(`mtd`,null,[r(`mstyle`,{scriptlevel:`0`,displaystyle:`false`},[r(`mn`,null,`0.448`)])])]),r(`mtr`,null,[r(`mtd`,null,[r(`mstyle`,{scriptlevel:`0`,displaystyle:`false`},[r(`mrow`,null,[r(`mo`,null,`−`),r(`mn`,null,`0.419`)])])])])]),r(`mo`,{fence:`true`},`]`)])]),r(`annotation`,{encoding:`application/x-tex`},`\\mathbf{h}_5 = \\tanh \\begin{bmatrix} 0 + 0.482 \\\\ 1 - 1.446 \\end{bmatrix} = \\begin{bmatrix} 0.448 \\\\ -0.419 \\end{bmatrix}`)])])]),r(`span`,{class:`katex-html`,"aria-hidden":`true`},[r(`span`,{class:`katex-base`},[r(`span`,{class:`katex-strut`,style:{height:`0.8444em`,"vertical-align":`-0.15em`}}),r(`span`,{class:`mord`},[r(`span`,{class:`mord mathbf`},`h`),r(`span`,{class:`msupsub`},[r(`span`,{class:`vlist-t vlist-t2`},[r(`span`,{class:`vlist-r`},[r(`span`,{class:`vlist`,style:{height:`0.3011em`}},[r(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[r(`span`,{class:`pstrut`,style:{height:`2.7em`}}),r(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[r(`span`,{class:`mord mtight`},`5`)])])]),r(`span`,{class:`vlist-s`},`​`)]),r(`span`,{class:`vlist-r`},[r(`span`,{class:`vlist`,style:{height:`0.15em`}},[r(`span`)])])])])]),r(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}}),r(`span`,{class:`mrel`},`=`),r(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}})]),r(`span`,{class:`katex-base`},[r(`span`,{class:`katex-strut`,style:{height:`2.4em`,"vertical-align":`-0.95em`}}),r(`span`,{class:`mop`},`tanh`),r(`span`,{class:`mspace`,style:{"margin-right":`0.1667em`}}),r(`span`,{class:`minner`},[r(`span`,{class:`mopen delimcenter`,style:{top:`0em`}},[r(`span`,{class:`delimsizing size3`},`[`)]),r(`span`,{class:`mord`},[r(`span`,{class:`mtable`},[r(`span`,{class:`col-align-c`},[r(`span`,{class:`vlist-t vlist-t2`},[r(`span`,{class:`vlist-r`},[r(`span`,{class:`vlist`,style:{height:`1.45em`}},[r(`span`,{style:{top:`-3.61em`}},[r(`span`,{class:`pstrut`,style:{height:`3em`}}),r(`span`,{class:`mord`},[r(`span`,{class:`mord`},`0`),r(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}}),r(`span`,{class:`mbin`},`+`),r(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}}),r(`span`,{class:`mord`},`0.482`)])]),r(`span`,{style:{top:`-2.41em`}},[r(`span`,{class:`pstrut`,style:{height:`3em`}}),r(`span`,{class:`mord`},[r(`span`,{class:`mord`},`1`),r(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}}),r(`span`,{class:`mbin`},`−`),r(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}}),r(`span`,{class:`mord`},`1.446`)])])]),r(`span`,{class:`vlist-s`},`​`)]),r(`span`,{class:`vlist-r`},[r(`span`,{class:`vlist`,style:{height:`0.95em`}},[r(`span`)])])])])])]),r(`span`,{class:`mclose delimcenter`,style:{top:`0em`}},[r(`span`,{class:`delimsizing size3`},`]`)])]),r(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}}),r(`span`,{class:`mrel`},`=`),r(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}})]),r(`span`,{class:`katex-base`},[r(`span`,{class:`katex-strut`,style:{height:`2.4em`,"vertical-align":`-0.95em`}}),r(`span`,{class:`minner`},[r(`span`,{class:`mopen delimcenter`,style:{top:`0em`}},[r(`span`,{class:`delimsizing size3`},`[`)]),r(`span`,{class:`mord`},[r(`span`,{class:`mtable`},[r(`span`,{class:`col-align-c`},[r(`span`,{class:`vlist-t vlist-t2`},[r(`span`,{class:`vlist-r`},[r(`span`,{class:`vlist`,style:{height:`1.45em`}},[r(`span`,{style:{top:`-3.61em`}},[r(`span`,{class:`pstrut`,style:{height:`3em`}}),r(`span`,{class:`mord`},[r(`span`,{class:`mord`},`0.448`)])]),r(`span`,{style:{top:`-2.41em`}},[r(`span`,{class:`pstrut`,style:{height:`3em`}}),r(`span`,{class:`mord`},[r(`span`,{class:`mord`},`−`),r(`span`,{class:`mord`},`0.419`)])])]),r(`span`,{class:`vlist-s`},`​`)]),r(`span`,{class:`vlist-r`},[r(`span`,{class:`vlist`,style:{height:`0.95em`}},[r(`span`)])])])])])]),r(`span`,{class:`mclose delimcenter`,style:{top:`0em`}},[r(`span`,{class:`delimsizing size3`},`]`)])])])])])],-1)]])),[[x]]),o((u(),i(`div`,y,[...b[4]||=[r(`div`,{class:`dl-secondary`},[l(`4 · Read out with W`),r(`sub`,null,`ho`),l(` = [0, 3], then sigmoid σ`)],-1),r(`p`,null,[r(`span`,{class:`katex`},[r(`span`,{class:`katex-mathml`},[r(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[r(`semantics`,null,[r(`mrow`,null,[r(`msub`,null,[r(`mi`,null,`o`),r(`mn`,null,`5`)]),r(`mo`,null,`=`),r(`mn`,null,`3`),r(`mo`,null,`×`),r(`mo`,{stretchy:`false`},`(`),r(`mo`,null,`−`),r(`mn`,null,`0.419`),r(`mo`,{stretchy:`false`},`)`),r(`mo`,null,`=`),r(`mo`,null,`−`),r(`mn`,null,`1.26`)]),r(`annotation`,{encoding:`application/x-tex`},`o_5 = 3 \\times (-0.419) = -1.26`)])])]),r(`span`,{class:`katex-html`,"aria-hidden":`true`},[r(`span`,{class:`katex-base`},[r(`span`,{class:`katex-strut`,style:{height:`0.5806em`,"vertical-align":`-0.15em`}}),r(`span`,{class:`mord`},[r(`span`,{class:`mord mathnormal`},`o`),r(`span`,{class:`msupsub`},[r(`span`,{class:`vlist-t vlist-t2`},[r(`span`,{class:`vlist-r`},[r(`span`,{class:`vlist`,style:{height:`0.3011em`}},[r(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[r(`span`,{class:`pstrut`,style:{height:`2.7em`}}),r(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[r(`span`,{class:`mord mtight`},`5`)])])]),r(`span`,{class:`vlist-s`},`​`)]),r(`span`,{class:`vlist-r`},[r(`span`,{class:`vlist`,style:{height:`0.15em`}},[r(`span`)])])])])]),r(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}}),r(`span`,{class:`mrel`},`=`),r(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}})]),r(`span`,{class:`katex-base`},[r(`span`,{class:`katex-strut`,style:{height:`0.7278em`,"vertical-align":`-0.0833em`}}),r(`span`,{class:`mord`},`3`),r(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}}),r(`span`,{class:`mbin`},`×`),r(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}})]),r(`span`,{class:`katex-base`},[r(`span`,{class:`katex-strut`,style:{height:`1em`,"vertical-align":`-0.25em`}}),r(`span`,{class:`mopen`},`(`),r(`span`,{class:`mord`},`−`),r(`span`,{class:`mord`},`0.419`),r(`span`,{class:`mclose`},`)`),r(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}}),r(`span`,{class:`mrel`},`=`),r(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}})]),r(`span`,{class:`katex-base`},[r(`span`,{class:`katex-strut`,style:{height:`0.7278em`,"vertical-align":`-0.0833em`}}),r(`span`,{class:`mord`},`−`),r(`span`,{class:`mord`},`1.26`)])])])],-1),r(`p`,null,[r(`span`,{class:`katex`},[r(`span`,{class:`katex-mathml`},[r(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[r(`semantics`,null,[r(`mrow`,null,[r(`mi`,null,`σ`),r(`mo`,{stretchy:`false`},`(`),r(`mo`,null,`−`),r(`mn`,null,`1.26`),r(`mo`,{stretchy:`false`},`)`),r(`mo`,null,`=`),r(`mn`,null,`0.22`)]),r(`annotation`,{encoding:`application/x-tex`},`\\sigma(-1.26) = 0.22`)])])]),r(`span`,{class:`katex-html`,"aria-hidden":`true`},[r(`span`,{class:`katex-base`},[r(`span`,{class:`katex-strut`,style:{height:`1em`,"vertical-align":`-0.25em`}}),r(`span`,{class:`mord mathnormal`,style:{"margin-right":`0.0359em`}},`σ`),r(`span`,{class:`mopen`},`(`),r(`span`,{class:`mord`},`−`),r(`span`,{class:`mord`},`1.26`),r(`span`,{class:`mclose`},`)`),r(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}}),r(`span`,{class:`mrel`},`=`),r(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}})]),r(`span`,{class:`katex-base`},[r(`span`,{class:`katex-strut`,style:{height:`0.6444em`}}),r(`span`,{class:`mord`},`0.22`)])])]),l(`: negative`)],-1)]])),[[x]])])]),_:1},16)}}};export{b as default}; \ No newline at end of file diff --git a/lecture-05/assets/md-B25V1hAf.js b/lecture-05/assets/md-B25V1hAf.js new file mode 100644 index 0000000000000000000000000000000000000000..87b6dfc2ca9ab4ae4bfd131897106c5ffd9d9e9e --- /dev/null +++ b/lecture-05/assets/md-B25V1hAf.js @@ -0,0 +1,7 @@ +import{$ as e,E as t,M as n,S as r,W as i,_ as a,b as o,bt as s,et as c,v as l,vt as u,x as d,z as f}from"./modules/shiki-CkJq9tSf.js";import{n as p,t as m}from"./slidev/context-DnYiQGy6.js";import{t as h}from"./default-BTjgsdmC.js";import{t as g}from"./slidev/VClicks-DLDbGwsQ.js";import{t as _}from"./slidev/CodeBlockWrapper-RJVA2-nu.js";var v={class:`grid grid-cols-2 gap-6 dl-tight`},y={class:`dl-callout`},b={__name:`slides.md__slidev_52`,setup(b){let{$slidev:x,$nav:S,$clicksContext:C,$clicks:w,$page:T,$renderContext:E,$frontmatter:D}=p();return C.setup(),(p,b)=>{let x=_,S=g,C=i(`click`);return f(),l(h,s(t(u(m)(u(D),51))),{default:e(()=>[b[3]||=a(`h1`,null,`Embeddings in code, and where they come from`,-1),b[4]||=a(`div`,{class:`flex justify-center`},[a(`svg`,{viewBox:`0 0 560 56`,class:`dl-diagram is-sm-h`,role:`img`,"aria-label":`Token ids of shape 2 by 5 go into the embedding table of 20 000 by 64 and come out as vectors of shape 2 by 5 by 64`},[a(`defs`,null,[a(`marker`,{id:`l5c-emb-arrow`,markerWidth:`6`,markerHeight:`6`,refX:`5`,refY:`3`,orient:`auto`},[a(`path`,{class:`dl-dg-head`,d:`M0 0 L6 3 L0 6 z`})])]),a(`rect`,{class:`dl-dg-box`,x:`4`,y:`10`,width:`110`,height:`34`,rx:`4`}),a(`text`,{class:`dl-dg-lab is-sm`,x:`59`,y:`32`,"text-anchor":`middle`},`ids (2, 5)`),a(`path`,{class:`dl-dg-arrow`,"marker-end":`url(#l5c-emb-arrow)`,d:`M116 27 H170`}),a(`rect`,{class:`dl-dg-box is-accent`,x:`174`,y:`4`,width:`170`,height:`46`,rx:`4`}),a(`text`,{class:`dl-dg-in`,x:`259`,y:`32`,"text-anchor":`middle`},`table 20 000 × 64`),a(`path`,{class:`dl-dg-arrow`,"marker-end":`url(#l5c-emb-arrow)`,d:`M346 27 H400`}),a(`rect`,{class:`dl-dg-box`,x:`412`,y:`4`,width:`140`,height:`34`,rx:`4`}),a(`rect`,{class:`dl-dg-box`,x:`404`,y:`12`,width:`140`,height:`34`,rx:`4`}),a(`text`,{class:`dl-dg-lab is-sm`,x:`474`,y:`34`,"text-anchor":`middle`},`vectors (2, 5, 64)`)])],-1),r(x,n({lines:!0},{title:``,ranges:[`all`,`1-2`,`4-5`,`6`,`7`,`all`]}),{default:e(()=>[...b[0]||=[a(`pre`,{class:`shiki shiki-themes vitesse-dark vitesse-light slidev-code`,style:{"--shiki-dark":`#dbd7caee`,"--shiki-light":`#393a34`,"--shiki-dark-bg":`#121212`,"--shiki-light-bg":`#ffffff`}},[a(`code`,{class:`language-python`},[a(`span`,{class:`line`},[a(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},`vocab_size`),a(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`,`),a(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},` embed_dim `),a(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`=`),a(`span`,{style:{"--shiki-dark":`#4C9A91`,"--shiki-light":`#2F798A`}},` 20_000`),a(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`,`),a(`span`,{style:{"--shiki-dark":`#4C9A91`,"--shiki-light":`#2F798A`}},` 64`)]),d(` +`),a(`span`,{class:`line`},[a(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},`embed `),a(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`=`),a(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},` nn`),a(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`.`),a(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},`Embedding`),a(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`(`),a(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},`vocab_size`),a(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`,`),a(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},` embed_dim`),a(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`,`),a(`span`,{style:{"--shiki-dark":`#BD976A`,"--shiki-light":`#B07D48`}},` padding_idx`),a(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`=`),a(`span`,{style:{"--shiki-dark":`#4C9A91`,"--shiki-light":`#2F798A`}},`0`),a(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`)`)]),d(` +`),a(`span`,{class:`line`}),d(` +`),a(`span`,{class:`line`},[a(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},`ids `),a(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`=`),a(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},` torch`),a(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`.`),a(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},`tensor`),a(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`([[`),a(`span`,{style:{"--shiki-dark":`#4C9A91`,"--shiki-light":`#2F798A`}},`2`),a(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`,`),a(`span`,{style:{"--shiki-dark":`#4C9A91`,"--shiki-light":`#2F798A`}},` 17`),a(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`,`),a(`span`,{style:{"--shiki-dark":`#4C9A91`,"--shiki-light":`#2F798A`}},` 9`),a(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`,`),a(`span`,{style:{"--shiki-dark":`#4C9A91`,"--shiki-light":`#2F798A`}},` 31`),a(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`,`),a(`span`,{style:{"--shiki-dark":`#4C9A91`,"--shiki-light":`#2F798A`}},` 4217`),a(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`],`),a(`span`,{style:{"--shiki-dark":`#758575DD`,"--shiki-light":`#A0ADA0`}},` # B: the movie was not great`)]),d(` +`),a(`span`,{class:`line`},[a(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},` [`),a(`span`,{style:{"--shiki-dark":`#4C9A91`,"--shiki-light":`#2F798A`}},`2`),a(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`,`),a(`span`,{style:{"--shiki-dark":`#4C9A91`,"--shiki-light":`#2F798A`}},` 17`),a(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`,`),a(`span`,{style:{"--shiki-dark":`#4C9A91`,"--shiki-light":`#2F798A`}},` 9`),a(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`,`),a(`span`,{style:{"--shiki-dark":`#4C9A91`,"--shiki-light":`#2F798A`}},` 4217`),a(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`,`),a(`span`,{style:{"--shiki-dark":`#4C9A91`,"--shiki-light":`#2F798A`}},` 0`),a(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`]])`),a(`span`,{style:{"--shiki-dark":`#758575DD`,"--shiki-light":`#A0ADA0`}},` # A: the movie was great, padded`)]),d(` +`),a(`span`,{class:`line`},[a(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},`vectors `),a(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`=`),a(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},` embed`),a(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`(`),a(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},`ids`),a(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`)`),a(`span`,{style:{"--shiki-dark":`#758575DD`,"--shiki-light":`#A0ADA0`}},` # (2, 5, 64)`)]),d(` +`),a(`span`,{class:`line`},[a(`span`,{style:{"--shiki-dark":`#B8A965`,"--shiki-light":`#998418`}},`print`),a(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`(`),a(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},`embed`),a(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`.`),a(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},`weight`),a(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`.`),a(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},`shape`),a(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`)`),a(`span`,{style:{"--shiki-dark":`#758575DD`,"--shiki-light":`#A0ADA0`}},` # torch.Size([20000, 64])`)])])],-1)]]),_:1},16),a(`div`,v,[a(`div`,null,[r(S,null,{default:e(()=>[...b[1]||=[a(`ul`,null,[a(`li`,null,`Integer ids in, shape (batch, time)`),a(`li`,null,[a(`code`,null,`padding_idx=0`),d(` keeps row 0 at zero`)]),a(`li`,null,`1.28 M learned numbers, starting random`)],-1)]]),_:1})]),c((f(),o(`div`,y,[...b[2]||=[a(`p`,null,[d(`Or start from a table pre-trained on billions of words: `),a(`strong`,null,`word2vec`),d(`, `),a(`strong`,null,`GloVe`),d(`, `),a(`strong`,null,`fastText`),d(`.`)],-1)]])),[[C]])])]),_:1},16)}}};export{b as default}; \ No newline at end of file diff --git a/lecture-05/assets/md-B3lRKuiY2.js b/lecture-05/assets/md-B3lRKuiY2.js new file mode 100644 index 0000000000000000000000000000000000000000..09a8e642631c9403b991bc75675217310c8bd5af --- /dev/null +++ b/lecture-05/assets/md-B3lRKuiY2.js @@ -0,0 +1,7 @@ +import{$ as e,E as t,M as n,S as r,W as i,_ as a,b as o,bt as s,et as c,v as l,vt as u,x as d,z as f}from"./modules/shiki-CkJq9tSf.js";import{n as p,t as m}from"./slidev/context-DnYiQGy6.js";import{t as h}from"./default-BTjgsdmC.js";import{t as g}from"./slidev/CodeBlockWrapper-RJVA2-nu.js";var _={class:`grid grid-cols-[1.35fr_1fr] gap-6 items-start`},v={class:`mt-3 dl-callout`},y={class:`mt-2 dl-math-sm`},b={__name:`slides.md__slidev_35`,setup(b){let{$slidev:x,$nav:S,$clicksContext:C,$clicks:w,$page:T,$renderContext:E,$frontmatter:D}=p();return C.setup(),(p,b)=>{let x=g,S=i(`click`);return f(),l(h,s(t(u(m)(u(D),34))),{default:e(()=>[b[4]||=a(`h1`,null,`Gradient clipping, in one line`,-1),a(`div`,_,[a(`div`,null,[r(x,n({lines:!0},{title:``,ranges:[`all`,`1-3`,`5`,`6`,`7`,`all`]}),{default:e(()=>[...b[0]||=[a(`pre`,{class:`shiki shiki-themes vitesse-dark vitesse-light slidev-code`,style:{"--shiki-dark":`#dbd7caee`,"--shiki-light":`#393a34`,"--shiki-dark-bg":`#121212`,"--shiki-light-bg":`#ffffff`}},[a(`code`,{class:`language-python`},[a(`span`,{class:`line`},[a(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},`logits `),a(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`=`),a(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},` model`),a(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`(`),a(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},`ids`),a(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`,`),a(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},` lengths`),a(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`)`)]),d(` +`),a(`span`,{class:`line`},[a(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},`loss `),a(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`=`),a(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},` loss_fn`),a(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`(`),a(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},`logits`),a(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`,`),a(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},` labels`),a(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`)`)]),d(` +`),a(`span`,{class:`line`},[a(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},`optimiser`),a(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`.`),a(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},`zero_grad`),a(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`()`)]),d(` +`),a(`span`,{class:`line`}),d(` +`),a(`span`,{class:`line`},[a(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},`loss`),a(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`.`),a(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},`backward`),a(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`()`),a(`span`,{style:{"--shiki-dark":`#758575DD`,"--shiki-light":`#A0ADA0`}},` # gradients exist now`)]),d(` +`),a(`span`,{class:`line`},[a(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},`torch`),a(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`.`),a(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},`nn`),a(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`.`),a(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},`utils`),a(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`.`),a(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},`clip_grad_norm_`),a(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`(`),a(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},`model`),a(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`.`),a(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},`parameters`),a(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`(),`),a(`span`,{style:{"--shiki-dark":`#BD976A`,"--shiki-light":`#B07D48`}},` max_norm`),a(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`=`),a(`span`,{style:{"--shiki-dark":`#4C9A91`,"--shiki-light":`#2F798A`}},`1.0`),a(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`)`)]),d(` +`),a(`span`,{class:`line`},[a(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},`optimiser`),a(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`.`),a(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},`step`),a(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`()`),a(`span`,{style:{"--shiki-dark":`#758575DD`,"--shiki-light":`#A0ADA0`}},` # …and are bounded`)])])],-1)]]),_:1},16),c((f(),o(`div`,v,[...b[1]||=[a(`p`,null,[d(`It goes `),a(`strong`,null,`between`),d(),a(`code`,null,`backward()`),d(` and `),a(`code`,null,`step()`),d(`. Before, there is nothing to clip; after, it is too late.`)],-1)]])),[[S]])]),a(`div`,null,[b[3]||=a(`svg`,{viewBox:`0 0 260 150`,class:`dl-diagram is-sm`,role:`img`,"aria-label":`A long gradient arrow of length 900 and the clipped arrow of length 1, pointing the same way`},[a(`defs`,null,[a(`marker`,{id:`l5b-clip-bad`,markerWidth:`7`,markerHeight:`7`,refX:`6`,refY:`3.5`,orient:`auto`},[a(`path`,{d:`M0 0 L7 3.5 L0 7 z`,style:{fill:`var(--dl-danger)`}})]),a(`marker`,{id:`l5b-clip-good`,markerWidth:`7`,markerHeight:`7`,refX:`6`,refY:`3.5`,orient:`auto`},[a(`path`,{d:`M0 0 L7 3.5 L0 7 z`,style:{fill:`var(--dl-accent)`}})])]),a(`circle`,{cx:`30`,cy:`125`,r:`44`,class:`dl-dg-fill is-muted is-dashed`}),a(`path`,{d:`M30 125 L240 22`,class:`dl-dg-grad is-bad`,"marker-end":`url(#l5b-clip-bad)`}),a(`path`,{d:`M30 125 L68 106`,class:`dl-dg-line`,"marker-end":`url(#l5b-clip-good)`}),a(`text`,{x:`236`,y:`44`,"text-anchor":`end`,class:`dl-dg-small is-bad`},`before: length 900`),a(`text`,{x:`80`,y:`128`,class:`dl-dg-small is-good`},`after: length 1`),a(`text`,{x:`30`,y:`72`,"text-anchor":`middle`,class:`dl-dg-small`},`c = 1`)],-1),c((f(),o(`div`,y,[...b[2]||=[a(`p`,null,[d(`If `),a(`span`,{class:`katex`},[a(`span`,{class:`katex-mathml`},[a(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[a(`semantics`,null,[a(`mrow`,null,[a(`mi`,{mathvariant:`normal`},`∥`),a(`mi`,{mathvariant:`bold`},`g`),a(`mi`,{mathvariant:`normal`},`∥`),a(`mo`,null,`>`),a(`mi`,null,`c`)]),a(`annotation`,{encoding:`application/x-tex`},`\\|\\mathbf{g}\\| > c`)])])]),a(`span`,{class:`katex-html`,"aria-hidden":`true`},[a(`span`,{class:`katex-base`},[a(`span`,{class:`katex-strut`,style:{height:`1em`,"vertical-align":`-0.25em`}}),a(`span`,{class:`mord`},`∥`),a(`span`,{class:`mord mathbf`,style:{"margin-right":`0.016em`}},`g`),a(`span`,{class:`mord`},`∥`),a(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}}),a(`span`,{class:`mrel`},`>`),a(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}})]),a(`span`,{class:`katex-base`},[a(`span`,{class:`katex-strut`,style:{height:`0.4306em`}}),a(`span`,{class:`mord mathnormal`},`c`)])])]),d(`, use `),a(`span`,{class:`katex`},[a(`span`,{class:`katex-mathml`},[a(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[a(`semantics`,null,[a(`mrow`,null,[a(`mi`,null,`c`),a(`mo`,null,`⋅`),a(`mi`,{mathvariant:`bold`},`g`),a(`mi`,{mathvariant:`normal`},`/`),a(`mi`,{mathvariant:`normal`},`∥`),a(`mi`,{mathvariant:`bold`},`g`),a(`mi`,{mathvariant:`normal`},`∥`)]),a(`annotation`,{encoding:`application/x-tex`},`c \\cdot \\mathbf{g} / \\|\\mathbf{g}\\|`)])])]),a(`span`,{class:`katex-html`,"aria-hidden":`true`},[a(`span`,{class:`katex-base`},[a(`span`,{class:`katex-strut`,style:{height:`0.4445em`}}),a(`span`,{class:`mord mathnormal`},`c`),a(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}}),a(`span`,{class:`mbin`},`⋅`),a(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}})]),a(`span`,{class:`katex-base`},[a(`span`,{class:`katex-strut`,style:{height:`1em`,"vertical-align":`-0.25em`}}),a(`span`,{class:`mord mathbf`,style:{"margin-right":`0.016em`}},`g`),a(`span`,{class:`mord`},`/∥`),a(`span`,{class:`mord mathbf`,style:{"margin-right":`0.016em`}},`g`),a(`span`,{class:`mord`},`∥`)])])]),d(`: same `),a(`strong`,null,`direction`),d(`, capped `),a(`strong`,null,`length`),d(`.`)],-1)]])),[[S]])])])]),_:1},16)}}};export{b as default}; \ No newline at end of file diff --git a/lecture-05/assets/md-B7MUwfIU.js b/lecture-05/assets/md-B7MUwfIU.js new file mode 100644 index 0000000000000000000000000000000000000000..4bcb1d84f894f3e1a0198e6dce174bd78cf6d055 --- /dev/null +++ b/lecture-05/assets/md-B7MUwfIU.js @@ -0,0 +1 @@ +import{$ as e,E as t,S as n,St as r,V as i,W as a,_ as o,b as s,bt as ee,et as c,g as l,m as u,ut as d,v as f,vt as p,w as te,x as m,y as h,yt as g,z as _}from"./modules/shiki-CkJq9tSf.js";import{t as ne}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{n as v,t as y}from"./slidev/context-DnYiQGy6.js";import{n as re,t as b}from"./interactive-pqWNz3EB.js";var ie=[`viewBox`,`aria-label`],ae=[`x`,`y`],oe=[`x`,`y`],x=[`x`,`y`],S={key:0,class:`dl-seqtask__state`},C=[`x1`,`y1`,`x2`,`y2`],w=[`x`],T=[`x`,`y`],E={class:`dl-seqtask__sub`,dy:`3`},D=[`x1`,`y1`,`x2`,`y2`],O=[`x`],k=[`x`,`y`],A={class:`dl-seqtask__sub`,dy:`3`},j=[`x1`,`y1`,`x2`,`y2`],M=[`x`],N=[`x`,`y`],P={class:`dl-seqtask__sub`,dy:`3`},F=[`x`,`y`],I={key:1,class:`dl-seqtask__split`},se=[`x1`,`y1`,`x2`,`y2`],L=[`x`,`y`],R=[`x`,`y`],z={class:`dl-seqtask__tabs`},B=[`onClick`],V={class:`dl-seqtask__loss`},H=5,U=112,W=46,G=78,K=42,q=34,ce=22,le=96,J=172,ue=232,Y=ne(te({__name:`SequenceTasks`,setup(t){let{$slidev:n,$nav:a,$clicksContext:ee,$clicks:c,$page:p,$renderContext:te,$frontmatter:ne}=v(),y=[{key:`iid`,name:`no recurrence`,inputs:[0,1,2,3,4],outputs:[0,1,2,3,4],recurrent:!1,example:`Ex: five Iris flowers → five class labels. Everything the course has done so far.`,shape:`five independent examples`,loss:`The examples are IID (independent and identically distributed): each one is drawn on its own, from the same data. So shuffling the five columns changes nothing.`},{key:`many-to-one`,name:`many → one`,inputs:[0,1,2,3,4],outputs:[4],recurrent:!0,example:`Ex: the words of a film review → one sentiment label.`,shape:`sequence in, one vector out`,loss:`The loss is computed once, at the last step — but the gradient still reaches every step through the state.`},{key:`one-to-many`,name:`one → many`,inputs:[0],outputs:[0,1,2,3,4],recurrent:!0,example:`Ex: one image → a caption, generated a word at a time.`,shape:`one vector in, sequence out`,loss:`Only step 1 has real input; after that the cell is fed its own previous output.`},{key:`many-to-many`,name:`many → many, in step`,inputs:[0,1,2,3,4],outputs:[0,1,2,3,4],recurrent:!0,example:`Ex: video frames → a label per frame. Or words → a part-of-speech tag per word.`,shape:`aligned sequences, same length`,loss:`One loss term per step, averaged. Step 3 may use everything up to step 3 — and nothing after it.`},{key:`seq2seq`,name:`many → many, delayed`,inputs:[0,1,2],outputs:[3,4],recurrent:!0,split:3,example:`Ex: a sentence in German → a sentence in English. The lengths need not match.`,shape:`encoder, then decoder`,loss:`Nothing is emitted until the whole input has been read — because word 1 of the translation can depend on the last word of the source.`}],b=d(0),Y=l(()=>y[b.value]),X=e=>W+e*U,Z=e=>X(e)+G/2,Q=(e,t)=>e.includes(t),$=l(()=>Y.value.split===void 0?null:X(Y.value.split)-17);return(t,n)=>{let a=re;return _(),f(a,{"max-width":`44rem`},{controls:e(()=>[o(`div`,z,[(_(),s(u,null,i(y,(e,t)=>o(`button`,{key:e.key,type:`button`,class:g({"is-selected":t===b.value}),onClick:e=>b.value=t},r(e.name),11,B)),64))])]),readout:e(()=>[o(`div`,null,[o(`strong`,null,r(Y.value.shape),1),m(` — `+r(Y.value.example),1)]),o(`div`,V,r(Y.value.loss),1)]),default:e(()=>[(_(),s(`svg`,{class:`dl-seqtask`,viewBox:`0 0 596 ${ue}`,preserveAspectRatio:`xMidYMid meet`,role:`img`,"aria-label":`${Y.value.name}: inputs at steps ${Y.value.inputs.map(e=>e+1).join(`, `)}, outputs at steps ${Y.value.outputs.map(e=>e+1).join(`, `)}`},[n[3]||=o(`defs`,null,[o(`marker`,{id:`dl-seqtask-arrow`,viewBox:`0 0 8 8`,refX:`7`,refY:`4`,markerWidth:`5`,markerHeight:`5`,orient:`auto-start-reverse`},[o(`path`,{d:`M0,0 L8,4 L0,8 z`,fill:`currentColor`})])],-1),h(` Row labels, so the three rows are never guessed at. `),o(`text`,{class:`dl-seqtask__row`,x:34,y:43,"text-anchor":`end`},`y`,8,ae),o(`text`,{class:`dl-seqtask__row`,x:34,y:121,"text-anchor":`end`},`h`,8,oe),o(`text`,{class:`dl-seqtask__row`,x:34,y:193,"text-anchor":`end`},`x`,8,x),h(` The state passing from one step to the next: the only new wire in the lecture. `),Y.value.recurrent?(_(),s(`g`,S,[(_(!0),s(u,null,i(4,e=>(_(),s(`line`,{key:`s${e}`,x1:X(e-1)+G,y1:117,x2:X(e)-3,y2:117,"marker-end":`url(#dl-seqtask-arrow)`},null,8,C))),128))])):h(`v-if`,!0),(_(),s(u,null,i(H,e=>o(`g`,{key:`col${e}`},[h(` Input `),o(`rect`,{class:g([`dl-seqtask__io`,{"is-on":Q(Y.value.inputs,e-1)}]),x:X(e-1),y:J,width:G,height:q,rx:`4`},null,10,w),Q(Y.value.inputs,e-1)?(_(),s(`text`,{key:0,class:`dl-seqtask__iolabel`,x:Z(e-1),y:193,"text-anchor":`middle`},[n[0]||=m(`x`,-1),o(`tspan`,E,r(e),1)],8,T)):h(`v-if`,!0),Q(Y.value.inputs,e-1)?(_(),s(`line`,{key:1,class:`dl-seqtask__feed`,x1:Z(e-1),y1:170,x2:Z(e-1),y2:142,"marker-end":`url(#dl-seqtask-arrow)`},null,8,D)):h(`v-if`,!0),h(` The recurrent cell: present at every step, always the same weights. `),o(`rect`,{class:`dl-seqtask__cell`,x:X(e-1),y:le,width:G,height:K,rx:`5`},null,8,O),o(`text`,{class:`dl-seqtask__celllabel`,x:Z(e-1),y:121,"text-anchor":`middle`},[n[1]||=m(` h`,-1),o(`tspan`,A,r(e),1)],8,k),h(` Output `),Q(Y.value.outputs,e-1)?(_(),s(`line`,{key:2,class:`dl-seqtask__feed`,x1:Z(e-1),y1:94,x2:Z(e-1),y2:60,"marker-end":`url(#dl-seqtask-arrow)`},null,8,j)):h(`v-if`,!0),o(`rect`,{class:g([`dl-seqtask__io`,{"is-on":Q(Y.value.outputs,e-1),"is-out":Q(Y.value.outputs,e-1)}]),x:X(e-1),y:ce,width:G,height:q,rx:`4`},null,10,M),Q(Y.value.outputs,e-1)?(_(),s(`text`,{key:3,class:`dl-seqtask__iolabel`,x:Z(e-1),y:43,"text-anchor":`middle`},[n[2]||=m(`y`,-1),o(`tspan`,P,r(e),1)],8,N)):h(`v-if`,!0),o(`text`,{class:`dl-seqtask__t`,x:Z(e-1),y:224,"text-anchor":`middle`},`t = `+r(e),9,F)])),64)),h(` Encoder | decoder `),$.value===null?h(`v-if`,!0):(_(),s(`g`,I,[o(`line`,{x1:$.value,y1:14,x2:$.value,y2:214},null,8,se),o(`text`,{x:$.value-8,y:26,"text-anchor":`end`},`encoder`,8,L),o(`text`,{x:$.value+8,y:26,"text-anchor":`start`},`decoder`,8,R)]))],8,ie))]),_:1})}}}),[[`__scopeId`,`data-v-e72b512e`]]),X={class:`mt-3 dl-secondary`},Z={class:`mt-3 dl-callout`},Q={__name:`slides.md__slidev_12`,setup(r){let{$slidev:i,$nav:l,$clicksContext:u,$clicks:d,$page:te,$renderContext:h,$frontmatter:g}=v();return u.setup(),(r,i)=>{let l=Y,u=a(`click`);return _(),f(b,ee(t(p(y)(p(g),11))),{aside:e(e=>[i[2]||=o(`p`,null,[m(`Five wirings of one cell. What changes: `),o(`strong`,null,`which steps take an input, and which give an output`),m(`.`)],-1),c((_(),s(`div`,X,[...i[0]||=[o(`p`,null,[m(`Start on `),o(`strong`,null,`no recurrence`),m(`: one input, one output. Which one reads review B and gives one label?`)],-1)]])),[[u]]),c((_(),s(`div`,Z,[...i[1]||=[o(`p`,null,[m(`The shape decides where the loss is computed, and what `),o(`code`,null,`forward`),m(` returns.`)],-1)]])),[[u]])]),default:e(()=>[n(l)]),_:1},16)}}};export{Q as default}; \ No newline at end of file diff --git a/lecture-05/assets/md-B7zwjxlr.js b/lecture-05/assets/md-B7zwjxlr.js new file mode 100644 index 0000000000000000000000000000000000000000..4f9f52189afb2a734fb1c59ea5c9058b7686fbff --- /dev/null +++ b/lecture-05/assets/md-B7zwjxlr.js @@ -0,0 +1 @@ +import{$ as e,E as t,V as n,W as r,_ as i,b as a,bt as o,et as s,m as c,v as l,vt as u,x as d,z as f}from"./modules/shiki-CkJq9tSf.js";import{n as p,t as m}from"./slidev/context-DnYiQGy6.js";import{t as h}from"./default-BTjgsdmC.js";var g={viewBox:`0 0 640 190`,class:`dl-diagram`,role:`img`,"aria-label":`Top: review B read word by word, with a window of the last three words, movie was not, used to predict the next word. Bottom: in a long review the word not is fifteen words before great, outside the window of three`},_=[`x`],v={class:`mt-3 dl-callout`},y={__name:`slides.md__slidev_4`,setup(y){let{$slidev:b,$nav:x,$clicksContext:S,$clicks:C,$page:w,$renderContext:T,$frontmatter:E}=p();return S.setup(),(p,y)=>{let b=r(`click`);return f(),l(h,o(t(u(m)(u(E),3))),{default:e(()=>[y[23]||=i(`h1`,null,`One step at a time, through a window`,-1),(f(),a(`svg`,g,[y[8]||=i(`text`,{class:`dl-dg-small`,x:`30`,y:`14`},`Review B`,-1),y[9]||=i(`rect`,{class:`dl-dg-box`,x:`30`,y:`30`,width:`100`,height:`34`,rx:`4`},null,-1),y[10]||=i(`rect`,{class:`dl-dg-box`,x:`146`,y:`30`,width:`100`,height:`34`,rx:`4`},null,-1),y[11]||=i(`rect`,{class:`dl-dg-box`,x:`262`,y:`30`,width:`100`,height:`34`,rx:`4`},null,-1),y[12]||=i(`rect`,{class:`dl-dg-box`,x:`378`,y:`30`,width:`100`,height:`34`,rx:`4`},null,-1),y[13]||=i(`rect`,{class:`dl-dg-box is-accent`,x:`494`,y:`30`,width:`100`,height:`34`,rx:`4`},null,-1),y[14]||=i(`text`,{class:`dl-dg-lab is-sm`,x:`80`,y:`52`,"text-anchor":`middle`},`the`,-1),y[15]||=i(`text`,{class:`dl-dg-lab is-sm`,x:`196`,y:`52`,"text-anchor":`middle`},`movie`,-1),y[16]||=i(`text`,{class:`dl-dg-lab is-sm`,x:`312`,y:`52`,"text-anchor":`middle`},`was`,-1),y[17]||=i(`text`,{class:`dl-dg-lab is-sm`,x:`428`,y:`52`,"text-anchor":`middle`},`not`,-1),y[18]||=i(`text`,{class:`dl-dg-lab is-sm`,x:`544`,y:`52`,"text-anchor":`middle`},`?`,-1),y[19]||=i(`rect`,{class:`dl-dg-line`,x:`140`,y:`24`,width:`344`,height:`46`,rx:`6`},null,-1),y[20]||=i(`text`,{class:`dl-dg-small`,x:`146`,y:`86`},`window of 3`,-1),y[21]||=i(`text`,{class:`dl-dg-small`,x:`544`,y:`86`,"text-anchor":`middle`},`next word`,-1),s((f(),a(`g`,null,[y[0]||=i(`text`,{class:`dl-dg-small`,x:`30`,y:`114`},`5 words, or 500`,-1),y[1]||=i(`rect`,{class:`dl-dg-box is-accent`,x:`30`,y:`124`,width:`50`,height:`28`,rx:`3`},null,-1),y[2]||=i(`text`,{class:`dl-dg-small`,x:`55`,y:`142`,"text-anchor":`middle`},`not`,-1),(f(),a(c,null,n(14,e=>i(`rect`,{key:e,class:`dl-dg-box`,x:60+e*28,y:`124`,width:`22`,height:`28`,rx:`2`},null,8,_)),64)),y[3]||=i(`rect`,{class:`dl-dg-box`,x:`482`,y:`124`,width:`70`,height:`28`,rx:`3`},null,-1),y[4]||=i(`text`,{class:`dl-dg-small`,x:`517`,y:`142`,"text-anchor":`middle`},`great`,-1),y[5]||=i(`rect`,{class:`dl-dg-line`,x:`391`,y:`119`,width:`88`,height:`38`,rx:`4`},null,-1),y[6]||=i(`text`,{class:`dl-dg-small`,x:`395`,y:`174`},`window of 3`,-1),y[7]||=i(`text`,{class:`dl-dg-small is-bad`,x:`30`,y:`174`},`not is 15 words back: outside the window`,-1)])),[[b]])])),y[24]||=i(`p`,null,[d(`A fixed window cannot see a `),i(`em`,null,`not`),d(` further back. And a review can be any length.`)],-1),s((f(),a(`div`,v,[...y[22]||=[i(`p`,null,[d(`Today’s question: keep a `),i(`strong`,null,`running summary`),d(` instead of a window.`)],-1)]])),[[b]])]),_:1},16)}}};export{y as default}; \ No newline at end of file diff --git a/lecture-05/assets/md-BEio9h2a.js b/lecture-05/assets/md-BEio9h2a.js new file mode 100644 index 0000000000000000000000000000000000000000..c7db470580fcf085780303e7924e8a89f9ce84eb --- /dev/null +++ b/lecture-05/assets/md-BEio9h2a.js @@ -0,0 +1 @@ +import{$ as e,E as t,S as n,St as r,V as i,W as a,_ as o,b as s,bt as c,et as l,m as u,v as d,vt as f,x as p,z as m}from"./modules/shiki-CkJq9tSf.js";import{n as h,t as g}from"./slidev/context-DnYiQGy6.js";import{t as _}from"./default-BTjgsdmC.js";import{t as v}from"./slidev/KaTexBlockWrapper-DAxOb9nH.js";var y={class:`grid grid-cols-2 gap-8 mt-1 dl-math-sm`},b={class:`grid grid-cols-[1.1fr_1fr] gap-6 mt-2 items-center`},x={viewBox:`0 0 360 120`,class:`dl-diagram`,style:{"max-height":`8.5rem`},role:`img`,"aria-label":`The same inputs feed four small layers: three sigmoids give the gates f, i and o, one tanh gives the candidate; all four feed the update of c and h`},S=[`d`],C=[`y`],w=[`y`],T=[`y`],E=[`d`],D={class:`dl-callout`},O={__name:`slides.md__slidev_40`,setup(O){let{$slidev:k,$nav:A,$clicksContext:j,$clicks:M,$page:N,$renderContext:P,$frontmatter:F}=h();return j.setup(),(h,O)=>{let k=v,A=a(`click`);return m(),d(_,c(t(f(g)(f(F),39))),{default:e(()=>[O[12]||=o(`h1`,null,`The six equations`,-1),O[13]||=o(`p`,null,`Three gates and a candidate, then two lines that update the states:`,-1),o(`div`,y,[o(`div`,null,[l((m(),s(`div`,null,[n(k,{ranges:[]},{default:e(()=>[...O[0]||=[o(`p`,null,[o(`span`,{class:`katex-display`},[o(`span`,{class:`katex`},[o(`span`,{class:`katex-mathml`},[o(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`,display:`block`},[o(`semantics`,null,[o(`mrow`,null,[o(`msub`,null,[o(`mi`,{mathvariant:`bold`},`f`),o(`mi`,null,`t`)]),o(`mo`,null,`=`),o(`mi`,null,`σ`),o(`mtext`,null,` ⁣`),o(`mrow`,null,[o(`mo`,{fence:`true`},`(`),o(`msub`,null,[o(`mi`,null,`W`),o(`mrow`,null,[o(`mi`,null,`x`),o(`mi`,null,`f`)])]),o(`msub`,null,[o(`mi`,{mathvariant:`bold`},`x`),o(`mi`,null,`t`)]),o(`mo`,null,`+`),o(`msub`,null,[o(`mi`,null,`W`),o(`mrow`,null,[o(`mi`,null,`h`),o(`mi`,null,`f`)])]),o(`msub`,null,[o(`mi`,{mathvariant:`bold`},`h`),o(`mrow`,null,[o(`mi`,null,`t`),o(`mo`,null,`−`),o(`mn`,null,`1`)])]),o(`mo`,null,`+`),o(`msub`,null,[o(`mi`,{mathvariant:`bold`},`b`),o(`mi`,null,`f`)]),o(`mo`,{fence:`true`},`)`)])]),o(`annotation`,{encoding:`application/x-tex`},`\\mathbf{f}_t = \\sigma\\!\\left(W_{xf}\\mathbf{x}_t + W_{hf}\\mathbf{h}_{t-1} + \\mathbf{b}_f\\right)`)])])]),o(`span`,{class:`katex-html`,"aria-hidden":`true`},[o(`span`,{class:`katex-base`},[o(`span`,{class:`katex-strut`,style:{height:`0.8444em`,"vertical-align":`-0.15em`}}),o(`span`,{class:`mord`},[o(`span`,{class:`mord mathbf`,style:{"margin-right":`0.109em`}},`f`),o(`span`,{class:`msupsub`},[o(`span`,{class:`vlist-t vlist-t2`},[o(`span`,{class:`vlist-r`},[o(`span`,{class:`vlist`,style:{height:`0.2806em`}},[o(`span`,{style:{top:`-2.55em`,"margin-left":`-0.109em`,"margin-right":`0.05em`}},[o(`span`,{class:`pstrut`,style:{height:`2.7em`}}),o(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[o(`span`,{class:`mord mathnormal mtight`},`t`)])])]),o(`span`,{class:`vlist-s`},`​`)]),o(`span`,{class:`vlist-r`},[o(`span`,{class:`vlist`,style:{height:`0.15em`}},[o(`span`)])])])])]),o(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}}),o(`span`,{class:`mrel`},`=`),o(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}})]),o(`span`,{class:`katex-base`},[o(`span`,{class:`katex-strut`,style:{height:`1.0361em`,"vertical-align":`-0.2861em`}}),o(`span`,{class:`mord mathnormal`,style:{"margin-right":`0.0359em`}},`σ`),o(`span`,{class:`mspace`,style:{"margin-right":`-0.1667em`}}),o(`span`,{class:`mspace`,style:{"margin-right":`0.1667em`}}),o(`span`,{class:`minner`},[o(`span`,{class:`mopen delimcenter`,style:{top:`0em`}},`(`),o(`span`,{class:`mord`},[o(`span`,{class:`mord mathnormal`,style:{"margin-right":`0.1389em`}},`W`),o(`span`,{class:`msupsub`},[o(`span`,{class:`vlist-t vlist-t2`},[o(`span`,{class:`vlist-r`},[o(`span`,{class:`vlist`,style:{height:`0.3361em`}},[o(`span`,{style:{top:`-2.55em`,"margin-left":`-0.1389em`,"margin-right":`0.05em`}},[o(`span`,{class:`pstrut`,style:{height:`2.7em`}}),o(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[o(`span`,{class:`mord mtight`},[o(`span`,{class:`mord mathnormal mtight`},`x`),o(`span`,{class:`mord mathnormal mtight`,style:{"margin-right":`0.1076em`}},`f`)])])])]),o(`span`,{class:`vlist-s`},`​`)]),o(`span`,{class:`vlist-r`},[o(`span`,{class:`vlist`,style:{height:`0.2861em`}},[o(`span`)])])])])]),o(`span`,{class:`mord`},[o(`span`,{class:`mord mathbf`},`x`),o(`span`,{class:`msupsub`},[o(`span`,{class:`vlist-t vlist-t2`},[o(`span`,{class:`vlist-r`},[o(`span`,{class:`vlist`,style:{height:`0.2806em`}},[o(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[o(`span`,{class:`pstrut`,style:{height:`2.7em`}}),o(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[o(`span`,{class:`mord mathnormal mtight`},`t`)])])]),o(`span`,{class:`vlist-s`},`​`)]),o(`span`,{class:`vlist-r`},[o(`span`,{class:`vlist`,style:{height:`0.15em`}},[o(`span`)])])])])]),o(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}}),o(`span`,{class:`mbin`},`+`),o(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}}),o(`span`,{class:`mord`},[o(`span`,{class:`mord mathnormal`,style:{"margin-right":`0.1389em`}},`W`),o(`span`,{class:`msupsub`},[o(`span`,{class:`vlist-t vlist-t2`},[o(`span`,{class:`vlist-r`},[o(`span`,{class:`vlist`,style:{height:`0.3361em`}},[o(`span`,{style:{top:`-2.55em`,"margin-left":`-0.1389em`,"margin-right":`0.05em`}},[o(`span`,{class:`pstrut`,style:{height:`2.7em`}}),o(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[o(`span`,{class:`mord mtight`},[o(`span`,{class:`mord mathnormal mtight`},`h`),o(`span`,{class:`mord mathnormal mtight`,style:{"margin-right":`0.1076em`}},`f`)])])])]),o(`span`,{class:`vlist-s`},`​`)]),o(`span`,{class:`vlist-r`},[o(`span`,{class:`vlist`,style:{height:`0.2861em`}},[o(`span`)])])])])]),o(`span`,{class:`mord`},[o(`span`,{class:`mord mathbf`},`h`),o(`span`,{class:`msupsub`},[o(`span`,{class:`vlist-t vlist-t2`},[o(`span`,{class:`vlist-r`},[o(`span`,{class:`vlist`,style:{height:`0.3011em`}},[o(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[o(`span`,{class:`pstrut`,style:{height:`2.7em`}}),o(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[o(`span`,{class:`mord mtight`},[o(`span`,{class:`mord mathnormal mtight`},`t`),o(`span`,{class:`mbin mtight`},`−`),o(`span`,{class:`mord mtight`},`1`)])])])]),o(`span`,{class:`vlist-s`},`​`)]),o(`span`,{class:`vlist-r`},[o(`span`,{class:`vlist`,style:{height:`0.2083em`}},[o(`span`)])])])])]),o(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}}),o(`span`,{class:`mbin`},`+`),o(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}}),o(`span`,{class:`mord`},[o(`span`,{class:`mord mathbf`},`b`),o(`span`,{class:`msupsub`},[o(`span`,{class:`vlist-t vlist-t2`},[o(`span`,{class:`vlist-r`},[o(`span`,{class:`vlist`,style:{height:`0.3361em`}},[o(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[o(`span`,{class:`pstrut`,style:{height:`2.7em`}}),o(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[o(`span`,{class:`mord mathnormal mtight`,style:{"margin-right":`0.1076em`}},`f`)])])]),o(`span`,{class:`vlist-s`},`​`)]),o(`span`,{class:`vlist-r`},[o(`span`,{class:`vlist`,style:{height:`0.2861em`}},[o(`span`)])])])])]),o(`span`,{class:`mclose delimcenter`,style:{top:`0em`}},`)`)])])])])])],-1)]]),_:1})])),[[A]]),l((m(),s(`div`,null,[n(k,{ranges:[]},{default:e(()=>[...O[1]||=[o(`p`,null,[o(`span`,{class:`katex-display`},[o(`span`,{class:`katex`},[o(`span`,{class:`katex-mathml`},[o(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`,display:`block`},[o(`semantics`,null,[o(`mrow`,null,[o(`msub`,null,[o(`mi`,{mathvariant:`bold`},`i`),o(`mi`,null,`t`)]),o(`mo`,null,`=`),o(`mi`,null,`σ`),o(`mtext`,null,` ⁣`),o(`mrow`,null,[o(`mo`,{fence:`true`},`(`),o(`msub`,null,[o(`mi`,null,`W`),o(`mrow`,null,[o(`mi`,null,`x`),o(`mi`,null,`i`)])]),o(`msub`,null,[o(`mi`,{mathvariant:`bold`},`x`),o(`mi`,null,`t`)]),o(`mo`,null,`+`),o(`msub`,null,[o(`mi`,null,`W`),o(`mrow`,null,[o(`mi`,null,`h`),o(`mi`,null,`i`)])]),o(`msub`,null,[o(`mi`,{mathvariant:`bold`},`h`),o(`mrow`,null,[o(`mi`,null,`t`),o(`mo`,null,`−`),o(`mn`,null,`1`)])]),o(`mo`,null,`+`),o(`msub`,null,[o(`mi`,{mathvariant:`bold`},`b`),o(`mi`,null,`i`)]),o(`mo`,{fence:`true`},`)`)])]),o(`annotation`,{encoding:`application/x-tex`},`\\mathbf{i}_t = \\sigma\\!\\left(W_{xi}\\mathbf{x}_t + W_{hi}\\mathbf{h}_{t-1} + \\mathbf{b}_i\\right)`)])])]),o(`span`,{class:`katex-html`,"aria-hidden":`true`},[o(`span`,{class:`katex-base`},[o(`span`,{class:`katex-strut`,style:{height:`0.8444em`,"vertical-align":`-0.15em`}}),o(`span`,{class:`mord`},[o(`span`,{class:`mord mathbf`},`i`),o(`span`,{class:`msupsub`},[o(`span`,{class:`vlist-t vlist-t2`},[o(`span`,{class:`vlist-r`},[o(`span`,{class:`vlist`,style:{height:`0.2806em`}},[o(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[o(`span`,{class:`pstrut`,style:{height:`2.7em`}}),o(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[o(`span`,{class:`mord mathnormal mtight`},`t`)])])]),o(`span`,{class:`vlist-s`},`​`)]),o(`span`,{class:`vlist-r`},[o(`span`,{class:`vlist`,style:{height:`0.15em`}},[o(`span`)])])])])]),o(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}}),o(`span`,{class:`mrel`},`=`),o(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}})]),o(`span`,{class:`katex-base`},[o(`span`,{class:`katex-strut`,style:{height:`1em`,"vertical-align":`-0.25em`}}),o(`span`,{class:`mord mathnormal`,style:{"margin-right":`0.0359em`}},`σ`),o(`span`,{class:`mspace`,style:{"margin-right":`-0.1667em`}}),o(`span`,{class:`mspace`,style:{"margin-right":`0.1667em`}}),o(`span`,{class:`minner`},[o(`span`,{class:`mopen delimcenter`,style:{top:`0em`}},`(`),o(`span`,{class:`mord`},[o(`span`,{class:`mord mathnormal`,style:{"margin-right":`0.1389em`}},`W`),o(`span`,{class:`msupsub`},[o(`span`,{class:`vlist-t vlist-t2`},[o(`span`,{class:`vlist-r`},[o(`span`,{class:`vlist`,style:{height:`0.3117em`}},[o(`span`,{style:{top:`-2.55em`,"margin-left":`-0.1389em`,"margin-right":`0.05em`}},[o(`span`,{class:`pstrut`,style:{height:`2.7em`}}),o(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[o(`span`,{class:`mord mtight`},[o(`span`,{class:`mord mathnormal mtight`},`x`),o(`span`,{class:`mord mathnormal mtight`},`i`)])])])]),o(`span`,{class:`vlist-s`},`​`)]),o(`span`,{class:`vlist-r`},[o(`span`,{class:`vlist`,style:{height:`0.15em`}},[o(`span`)])])])])]),o(`span`,{class:`mord`},[o(`span`,{class:`mord mathbf`},`x`),o(`span`,{class:`msupsub`},[o(`span`,{class:`vlist-t vlist-t2`},[o(`span`,{class:`vlist-r`},[o(`span`,{class:`vlist`,style:{height:`0.2806em`}},[o(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[o(`span`,{class:`pstrut`,style:{height:`2.7em`}}),o(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[o(`span`,{class:`mord mathnormal mtight`},`t`)])])]),o(`span`,{class:`vlist-s`},`​`)]),o(`span`,{class:`vlist-r`},[o(`span`,{class:`vlist`,style:{height:`0.15em`}},[o(`span`)])])])])]),o(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}}),o(`span`,{class:`mbin`},`+`),o(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}}),o(`span`,{class:`mord`},[o(`span`,{class:`mord mathnormal`,style:{"margin-right":`0.1389em`}},`W`),o(`span`,{class:`msupsub`},[o(`span`,{class:`vlist-t vlist-t2`},[o(`span`,{class:`vlist-r`},[o(`span`,{class:`vlist`,style:{height:`0.3361em`}},[o(`span`,{style:{top:`-2.55em`,"margin-left":`-0.1389em`,"margin-right":`0.05em`}},[o(`span`,{class:`pstrut`,style:{height:`2.7em`}}),o(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[o(`span`,{class:`mord mtight`},[o(`span`,{class:`mord mathnormal mtight`},`hi`)])])])]),o(`span`,{class:`vlist-s`},`​`)]),o(`span`,{class:`vlist-r`},[o(`span`,{class:`vlist`,style:{height:`0.15em`}},[o(`span`)])])])])]),o(`span`,{class:`mord`},[o(`span`,{class:`mord mathbf`},`h`),o(`span`,{class:`msupsub`},[o(`span`,{class:`vlist-t vlist-t2`},[o(`span`,{class:`vlist-r`},[o(`span`,{class:`vlist`,style:{height:`0.3011em`}},[o(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[o(`span`,{class:`pstrut`,style:{height:`2.7em`}}),o(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[o(`span`,{class:`mord mtight`},[o(`span`,{class:`mord mathnormal mtight`},`t`),o(`span`,{class:`mbin mtight`},`−`),o(`span`,{class:`mord mtight`},`1`)])])])]),o(`span`,{class:`vlist-s`},`​`)]),o(`span`,{class:`vlist-r`},[o(`span`,{class:`vlist`,style:{height:`0.2083em`}},[o(`span`)])])])])]),o(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}}),o(`span`,{class:`mbin`},`+`),o(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}}),o(`span`,{class:`mord`},[o(`span`,{class:`mord mathbf`},`b`),o(`span`,{class:`msupsub`},[o(`span`,{class:`vlist-t vlist-t2`},[o(`span`,{class:`vlist-r`},[o(`span`,{class:`vlist`,style:{height:`0.3117em`}},[o(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[o(`span`,{class:`pstrut`,style:{height:`2.7em`}}),o(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[o(`span`,{class:`mord mathnormal mtight`},`i`)])])]),o(`span`,{class:`vlist-s`},`​`)]),o(`span`,{class:`vlist-r`},[o(`span`,{class:`vlist`,style:{height:`0.15em`}},[o(`span`)])])])])]),o(`span`,{class:`mclose delimcenter`,style:{top:`0em`}},`)`)])])])])])],-1)]]),_:1})])),[[A]]),l((m(),s(`div`,null,[n(k,{ranges:[]},{default:e(()=>[...O[2]||=[o(`p`,null,[o(`span`,{class:`katex-display`},[o(`span`,{class:`katex`},[o(`span`,{class:`katex-mathml`},[o(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`,display:`block`},[o(`semantics`,null,[o(`mrow`,null,[o(`msub`,null,[o(`mover`,{accent:`true`},[o(`mi`,{mathvariant:`bold`},`c`),o(`mo`,null,`~`)]),o(`mi`,null,`t`)]),o(`mo`,null,`=`),o(`mi`,null,`tanh`),o(`mo`,null,`⁡`),o(`mtext`,null,` ⁣`),o(`mrow`,null,[o(`mo`,{fence:`true`},`(`),o(`msub`,null,[o(`mi`,null,`W`),o(`mrow`,null,[o(`mi`,null,`x`),o(`mi`,null,`c`)])]),o(`msub`,null,[o(`mi`,{mathvariant:`bold`},`x`),o(`mi`,null,`t`)]),o(`mo`,null,`+`),o(`msub`,null,[o(`mi`,null,`W`),o(`mrow`,null,[o(`mi`,null,`h`),o(`mi`,null,`c`)])]),o(`msub`,null,[o(`mi`,{mathvariant:`bold`},`h`),o(`mrow`,null,[o(`mi`,null,`t`),o(`mo`,null,`−`),o(`mn`,null,`1`)])]),o(`mo`,null,`+`),o(`msub`,null,[o(`mi`,{mathvariant:`bold`},`b`),o(`mi`,null,`c`)]),o(`mo`,{fence:`true`},`)`)])]),o(`annotation`,{encoding:`application/x-tex`},`\\tilde{\\mathbf{c}}_t = \\tanh\\!\\left(W_{xc}\\mathbf{x}_t + W_{hc}\\mathbf{h}_{t-1} + \\mathbf{b}_c\\right)`)])])]),o(`span`,{class:`katex-html`,"aria-hidden":`true`},[o(`span`,{class:`katex-base`},[o(`span`,{class:`katex-strut`,style:{height:`0.8313em`,"vertical-align":`-0.15em`}}),o(`span`,{class:`mord`},[o(`span`,{class:`mord katex-accent`},[o(`span`,{class:`vlist-t`},[o(`span`,{class:`vlist-r`},[o(`span`,{class:`vlist`,style:{height:`0.6813em`}},[o(`span`,{style:{top:`-3em`}},[o(`span`,{class:`pstrut`,style:{height:`3em`}}),o(`span`,{class:`mord mathbf`},`c`)]),o(`span`,{style:{top:`-3.3634em`}},[o(`span`,{class:`pstrut`,style:{height:`3em`}}),o(`span`,{class:`accent-body`,style:{left:`-0.25em`}},[o(`span`,{class:`mord`},`~`)])])])])])]),o(`span`,{class:`msupsub`},[o(`span`,{class:`vlist-t vlist-t2`},[o(`span`,{class:`vlist-r`},[o(`span`,{class:`vlist`,style:{height:`0.2806em`}},[o(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[o(`span`,{class:`pstrut`,style:{height:`2.7em`}}),o(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[o(`span`,{class:`mord mathnormal mtight`},`t`)])])]),o(`span`,{class:`vlist-s`},`​`)]),o(`span`,{class:`vlist-r`},[o(`span`,{class:`vlist`,style:{height:`0.15em`}},[o(`span`)])])])])]),o(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}}),o(`span`,{class:`mrel`},`=`),o(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}})]),o(`span`,{class:`katex-base`},[o(`span`,{class:`katex-strut`,style:{height:`1em`,"vertical-align":`-0.25em`}}),o(`span`,{class:`mop`},`tanh`),o(`span`,{class:`mspace`,style:{"margin-right":`-0.1667em`}}),o(`span`,{class:`mspace`,style:{"margin-right":`0.1667em`}}),o(`span`,{class:`minner`},[o(`span`,{class:`mopen delimcenter`,style:{top:`0em`}},`(`),o(`span`,{class:`mord`},[o(`span`,{class:`mord mathnormal`,style:{"margin-right":`0.1389em`}},`W`),o(`span`,{class:`msupsub`},[o(`span`,{class:`vlist-t vlist-t2`},[o(`span`,{class:`vlist-r`},[o(`span`,{class:`vlist`,style:{height:`0.1514em`}},[o(`span`,{style:{top:`-2.55em`,"margin-left":`-0.1389em`,"margin-right":`0.05em`}},[o(`span`,{class:`pstrut`,style:{height:`2.7em`}}),o(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[o(`span`,{class:`mord mtight`},[o(`span`,{class:`mord mathnormal mtight`},`x`),o(`span`,{class:`mord mathnormal mtight`},`c`)])])])]),o(`span`,{class:`vlist-s`},`​`)]),o(`span`,{class:`vlist-r`},[o(`span`,{class:`vlist`,style:{height:`0.15em`}},[o(`span`)])])])])]),o(`span`,{class:`mord`},[o(`span`,{class:`mord mathbf`},`x`),o(`span`,{class:`msupsub`},[o(`span`,{class:`vlist-t vlist-t2`},[o(`span`,{class:`vlist-r`},[o(`span`,{class:`vlist`,style:{height:`0.2806em`}},[o(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[o(`span`,{class:`pstrut`,style:{height:`2.7em`}}),o(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[o(`span`,{class:`mord mathnormal mtight`},`t`)])])]),o(`span`,{class:`vlist-s`},`​`)]),o(`span`,{class:`vlist-r`},[o(`span`,{class:`vlist`,style:{height:`0.15em`}},[o(`span`)])])])])]),o(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}}),o(`span`,{class:`mbin`},`+`),o(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}}),o(`span`,{class:`mord`},[o(`span`,{class:`mord mathnormal`,style:{"margin-right":`0.1389em`}},`W`),o(`span`,{class:`msupsub`},[o(`span`,{class:`vlist-t vlist-t2`},[o(`span`,{class:`vlist-r`},[o(`span`,{class:`vlist`,style:{height:`0.3361em`}},[o(`span`,{style:{top:`-2.55em`,"margin-left":`-0.1389em`,"margin-right":`0.05em`}},[o(`span`,{class:`pstrut`,style:{height:`2.7em`}}),o(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[o(`span`,{class:`mord mtight`},[o(`span`,{class:`mord mathnormal mtight`},`h`),o(`span`,{class:`mord mathnormal mtight`},`c`)])])])]),o(`span`,{class:`vlist-s`},`​`)]),o(`span`,{class:`vlist-r`},[o(`span`,{class:`vlist`,style:{height:`0.15em`}},[o(`span`)])])])])]),o(`span`,{class:`mord`},[o(`span`,{class:`mord mathbf`},`h`),o(`span`,{class:`msupsub`},[o(`span`,{class:`vlist-t vlist-t2`},[o(`span`,{class:`vlist-r`},[o(`span`,{class:`vlist`,style:{height:`0.3011em`}},[o(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[o(`span`,{class:`pstrut`,style:{height:`2.7em`}}),o(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[o(`span`,{class:`mord mtight`},[o(`span`,{class:`mord mathnormal mtight`},`t`),o(`span`,{class:`mbin mtight`},`−`),o(`span`,{class:`mord mtight`},`1`)])])])]),o(`span`,{class:`vlist-s`},`​`)]),o(`span`,{class:`vlist-r`},[o(`span`,{class:`vlist`,style:{height:`0.2083em`}},[o(`span`)])])])])]),o(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}}),o(`span`,{class:`mbin`},`+`),o(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}}),o(`span`,{class:`mord`},[o(`span`,{class:`mord mathbf`},`b`),o(`span`,{class:`msupsub`},[o(`span`,{class:`vlist-t vlist-t2`},[o(`span`,{class:`vlist-r`},[o(`span`,{class:`vlist`,style:{height:`0.1514em`}},[o(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[o(`span`,{class:`pstrut`,style:{height:`2.7em`}}),o(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[o(`span`,{class:`mord mathnormal mtight`},`c`)])])]),o(`span`,{class:`vlist-s`},`​`)]),o(`span`,{class:`vlist-r`},[o(`span`,{class:`vlist`,style:{height:`0.15em`}},[o(`span`)])])])])]),o(`span`,{class:`mclose delimcenter`,style:{top:`0em`}},`)`)])])])])])],-1)]]),_:1})])),[[A]])]),o(`div`,null,[l((m(),s(`div`,null,[n(k,{ranges:[]},{default:e(()=>[...O[3]||=[o(`p`,null,[o(`span`,{class:`katex-display`},[o(`span`,{class:`katex`},[o(`span`,{class:`katex-mathml`},[o(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`,display:`block`},[o(`semantics`,null,[o(`mrow`,null,[o(`msub`,null,[o(`mi`,{mathvariant:`bold`},`o`),o(`mi`,null,`t`)]),o(`mo`,null,`=`),o(`mi`,null,`σ`),o(`mtext`,null,` ⁣`),o(`mrow`,null,[o(`mo`,{fence:`true`},`(`),o(`msub`,null,[o(`mi`,null,`W`),o(`mrow`,null,[o(`mi`,null,`x`),o(`mi`,null,`o`)])]),o(`msub`,null,[o(`mi`,{mathvariant:`bold`},`x`),o(`mi`,null,`t`)]),o(`mo`,null,`+`),o(`msub`,null,[o(`mi`,null,`W`),o(`mrow`,null,[o(`mi`,null,`h`),o(`mi`,null,`o`)])]),o(`msub`,null,[o(`mi`,{mathvariant:`bold`},`h`),o(`mrow`,null,[o(`mi`,null,`t`),o(`mo`,null,`−`),o(`mn`,null,`1`)])]),o(`mo`,null,`+`),o(`msub`,null,[o(`mi`,{mathvariant:`bold`},`b`),o(`mi`,null,`o`)]),o(`mo`,{fence:`true`},`)`)])]),o(`annotation`,{encoding:`application/x-tex`},`\\mathbf{o}_t = \\sigma\\!\\left(W_{xo}\\mathbf{x}_t + W_{ho}\\mathbf{h}_{t-1} + \\mathbf{b}_o\\right)`)])])]),o(`span`,{class:`katex-html`,"aria-hidden":`true`},[o(`span`,{class:`katex-base`},[o(`span`,{class:`katex-strut`,style:{height:`0.5944em`,"vertical-align":`-0.15em`}}),o(`span`,{class:`mord`},[o(`span`,{class:`mord mathbf`},`o`),o(`span`,{class:`msupsub`},[o(`span`,{class:`vlist-t vlist-t2`},[o(`span`,{class:`vlist-r`},[o(`span`,{class:`vlist`,style:{height:`0.2806em`}},[o(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[o(`span`,{class:`pstrut`,style:{height:`2.7em`}}),o(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[o(`span`,{class:`mord mathnormal mtight`},`t`)])])]),o(`span`,{class:`vlist-s`},`​`)]),o(`span`,{class:`vlist-r`},[o(`span`,{class:`vlist`,style:{height:`0.15em`}},[o(`span`)])])])])]),o(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}}),o(`span`,{class:`mrel`},`=`),o(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}})]),o(`span`,{class:`katex-base`},[o(`span`,{class:`katex-strut`,style:{height:`1em`,"vertical-align":`-0.25em`}}),o(`span`,{class:`mord mathnormal`,style:{"margin-right":`0.0359em`}},`σ`),o(`span`,{class:`mspace`,style:{"margin-right":`-0.1667em`}}),o(`span`,{class:`mspace`,style:{"margin-right":`0.1667em`}}),o(`span`,{class:`minner`},[o(`span`,{class:`mopen delimcenter`,style:{top:`0em`}},`(`),o(`span`,{class:`mord`},[o(`span`,{class:`mord mathnormal`,style:{"margin-right":`0.1389em`}},`W`),o(`span`,{class:`msupsub`},[o(`span`,{class:`vlist-t vlist-t2`},[o(`span`,{class:`vlist-r`},[o(`span`,{class:`vlist`,style:{height:`0.1514em`}},[o(`span`,{style:{top:`-2.55em`,"margin-left":`-0.1389em`,"margin-right":`0.05em`}},[o(`span`,{class:`pstrut`,style:{height:`2.7em`}}),o(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[o(`span`,{class:`mord mtight`},[o(`span`,{class:`mord mathnormal mtight`},`x`),o(`span`,{class:`mord mathnormal mtight`},`o`)])])])]),o(`span`,{class:`vlist-s`},`​`)]),o(`span`,{class:`vlist-r`},[o(`span`,{class:`vlist`,style:{height:`0.15em`}},[o(`span`)])])])])]),o(`span`,{class:`mord`},[o(`span`,{class:`mord mathbf`},`x`),o(`span`,{class:`msupsub`},[o(`span`,{class:`vlist-t vlist-t2`},[o(`span`,{class:`vlist-r`},[o(`span`,{class:`vlist`,style:{height:`0.2806em`}},[o(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[o(`span`,{class:`pstrut`,style:{height:`2.7em`}}),o(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[o(`span`,{class:`mord mathnormal mtight`},`t`)])])]),o(`span`,{class:`vlist-s`},`​`)]),o(`span`,{class:`vlist-r`},[o(`span`,{class:`vlist`,style:{height:`0.15em`}},[o(`span`)])])])])]),o(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}}),o(`span`,{class:`mbin`},`+`),o(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}}),o(`span`,{class:`mord`},[o(`span`,{class:`mord mathnormal`,style:{"margin-right":`0.1389em`}},`W`),o(`span`,{class:`msupsub`},[o(`span`,{class:`vlist-t vlist-t2`},[o(`span`,{class:`vlist-r`},[o(`span`,{class:`vlist`,style:{height:`0.3361em`}},[o(`span`,{style:{top:`-2.55em`,"margin-left":`-0.1389em`,"margin-right":`0.05em`}},[o(`span`,{class:`pstrut`,style:{height:`2.7em`}}),o(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[o(`span`,{class:`mord mtight`},[o(`span`,{class:`mord mathnormal mtight`},`h`),o(`span`,{class:`mord mathnormal mtight`},`o`)])])])]),o(`span`,{class:`vlist-s`},`​`)]),o(`span`,{class:`vlist-r`},[o(`span`,{class:`vlist`,style:{height:`0.15em`}},[o(`span`)])])])])]),o(`span`,{class:`mord`},[o(`span`,{class:`mord mathbf`},`h`),o(`span`,{class:`msupsub`},[o(`span`,{class:`vlist-t vlist-t2`},[o(`span`,{class:`vlist-r`},[o(`span`,{class:`vlist`,style:{height:`0.3011em`}},[o(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[o(`span`,{class:`pstrut`,style:{height:`2.7em`}}),o(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[o(`span`,{class:`mord mtight`},[o(`span`,{class:`mord mathnormal mtight`},`t`),o(`span`,{class:`mbin mtight`},`−`),o(`span`,{class:`mord mtight`},`1`)])])])]),o(`span`,{class:`vlist-s`},`​`)]),o(`span`,{class:`vlist-r`},[o(`span`,{class:`vlist`,style:{height:`0.2083em`}},[o(`span`)])])])])]),o(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}}),o(`span`,{class:`mbin`},`+`),o(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}}),o(`span`,{class:`mord`},[o(`span`,{class:`mord mathbf`},`b`),o(`span`,{class:`msupsub`},[o(`span`,{class:`vlist-t vlist-t2`},[o(`span`,{class:`vlist-r`},[o(`span`,{class:`vlist`,style:{height:`0.1514em`}},[o(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[o(`span`,{class:`pstrut`,style:{height:`2.7em`}}),o(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[o(`span`,{class:`mord mathnormal mtight`},`o`)])])]),o(`span`,{class:`vlist-s`},`​`)]),o(`span`,{class:`vlist-r`},[o(`span`,{class:`vlist`,style:{height:`0.15em`}},[o(`span`)])])])])]),o(`span`,{class:`mclose delimcenter`,style:{top:`0em`}},`)`)])])])])])],-1)]]),_:1})])),[[A]]),l((m(),s(`div`,null,[n(k,{ranges:[]},{default:e(()=>[...O[4]||=[o(`p`,null,[o(`span`,{class:`katex-display`},[o(`span`,{class:`katex`},[o(`span`,{class:`katex-mathml`},[o(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`,display:`block`},[o(`semantics`,null,[o(`mrow`,null,[o(`msub`,null,[o(`mi`,{mathvariant:`bold`},`c`),o(`mi`,null,`t`)]),o(`mo`,null,`=`),o(`msub`,null,[o(`mi`,{mathvariant:`bold`},`f`),o(`mi`,null,`t`)]),o(`mo`,null,`⊙`),o(`msub`,null,[o(`mi`,{mathvariant:`bold`},`c`),o(`mrow`,null,[o(`mi`,null,`t`),o(`mo`,null,`−`),o(`mn`,null,`1`)])]),o(`mo`,null,`+`),o(`msub`,null,[o(`mi`,{mathvariant:`bold`},`i`),o(`mi`,null,`t`)]),o(`mo`,null,`⊙`),o(`msub`,null,[o(`mover`,{accent:`true`},[o(`mi`,{mathvariant:`bold`},`c`),o(`mo`,null,`~`)]),o(`mi`,null,`t`)])]),o(`annotation`,{encoding:`application/x-tex`},`\\mathbf{c}_t = \\mathbf{f}_t \\odot \\mathbf{c}_{t-1} + \\mathbf{i}_t \\odot \\tilde{\\mathbf{c}}_t`)])])]),o(`span`,{class:`katex-html`,"aria-hidden":`true`},[o(`span`,{class:`katex-base`},[o(`span`,{class:`katex-strut`,style:{height:`0.5944em`,"vertical-align":`-0.15em`}}),o(`span`,{class:`mord`},[o(`span`,{class:`mord mathbf`},`c`),o(`span`,{class:`msupsub`},[o(`span`,{class:`vlist-t vlist-t2`},[o(`span`,{class:`vlist-r`},[o(`span`,{class:`vlist`,style:{height:`0.2806em`}},[o(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[o(`span`,{class:`pstrut`,style:{height:`2.7em`}}),o(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[o(`span`,{class:`mord mathnormal mtight`},`t`)])])]),o(`span`,{class:`vlist-s`},`​`)]),o(`span`,{class:`vlist-r`},[o(`span`,{class:`vlist`,style:{height:`0.15em`}},[o(`span`)])])])])]),o(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}}),o(`span`,{class:`mrel`},`=`),o(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}})]),o(`span`,{class:`katex-base`},[o(`span`,{class:`katex-strut`,style:{height:`0.8444em`,"vertical-align":`-0.15em`}}),o(`span`,{class:`mord`},[o(`span`,{class:`mord mathbf`,style:{"margin-right":`0.109em`}},`f`),o(`span`,{class:`msupsub`},[o(`span`,{class:`vlist-t vlist-t2`},[o(`span`,{class:`vlist-r`},[o(`span`,{class:`vlist`,style:{height:`0.2806em`}},[o(`span`,{style:{top:`-2.55em`,"margin-left":`-0.109em`,"margin-right":`0.05em`}},[o(`span`,{class:`pstrut`,style:{height:`2.7em`}}),o(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[o(`span`,{class:`mord mathnormal mtight`},`t`)])])]),o(`span`,{class:`vlist-s`},`​`)]),o(`span`,{class:`vlist-r`},[o(`span`,{class:`vlist`,style:{height:`0.15em`}},[o(`span`)])])])])]),o(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}}),o(`span`,{class:`mbin`},`⊙`),o(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}})]),o(`span`,{class:`katex-base`},[o(`span`,{class:`katex-strut`,style:{height:`0.7917em`,"vertical-align":`-0.2083em`}}),o(`span`,{class:`mord`},[o(`span`,{class:`mord mathbf`},`c`),o(`span`,{class:`msupsub`},[o(`span`,{class:`vlist-t vlist-t2`},[o(`span`,{class:`vlist-r`},[o(`span`,{class:`vlist`,style:{height:`0.3011em`}},[o(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[o(`span`,{class:`pstrut`,style:{height:`2.7em`}}),o(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[o(`span`,{class:`mord mtight`},[o(`span`,{class:`mord mathnormal mtight`},`t`),o(`span`,{class:`mbin mtight`},`−`),o(`span`,{class:`mord mtight`},`1`)])])])]),o(`span`,{class:`vlist-s`},`​`)]),o(`span`,{class:`vlist-r`},[o(`span`,{class:`vlist`,style:{height:`0.2083em`}},[o(`span`)])])])])]),o(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}}),o(`span`,{class:`mbin`},`+`),o(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}})]),o(`span`,{class:`katex-base`},[o(`span`,{class:`katex-strut`,style:{height:`0.8444em`,"vertical-align":`-0.15em`}}),o(`span`,{class:`mord`},[o(`span`,{class:`mord mathbf`},`i`),o(`span`,{class:`msupsub`},[o(`span`,{class:`vlist-t vlist-t2`},[o(`span`,{class:`vlist-r`},[o(`span`,{class:`vlist`,style:{height:`0.2806em`}},[o(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[o(`span`,{class:`pstrut`,style:{height:`2.7em`}}),o(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[o(`span`,{class:`mord mathnormal mtight`},`t`)])])]),o(`span`,{class:`vlist-s`},`​`)]),o(`span`,{class:`vlist-r`},[o(`span`,{class:`vlist`,style:{height:`0.15em`}},[o(`span`)])])])])]),o(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}}),o(`span`,{class:`mbin`},`⊙`),o(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}})]),o(`span`,{class:`katex-base`},[o(`span`,{class:`katex-strut`,style:{height:`0.8313em`,"vertical-align":`-0.15em`}}),o(`span`,{class:`mord`},[o(`span`,{class:`mord katex-accent`},[o(`span`,{class:`vlist-t`},[o(`span`,{class:`vlist-r`},[o(`span`,{class:`vlist`,style:{height:`0.6813em`}},[o(`span`,{style:{top:`-3em`}},[o(`span`,{class:`pstrut`,style:{height:`3em`}}),o(`span`,{class:`mord mathbf`},`c`)]),o(`span`,{style:{top:`-3.3634em`}},[o(`span`,{class:`pstrut`,style:{height:`3em`}}),o(`span`,{class:`accent-body`,style:{left:`-0.25em`}},[o(`span`,{class:`mord`},`~`)])])])])])]),o(`span`,{class:`msupsub`},[o(`span`,{class:`vlist-t vlist-t2`},[o(`span`,{class:`vlist-r`},[o(`span`,{class:`vlist`,style:{height:`0.2806em`}},[o(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[o(`span`,{class:`pstrut`,style:{height:`2.7em`}}),o(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[o(`span`,{class:`mord mathnormal mtight`},`t`)])])]),o(`span`,{class:`vlist-s`},`​`)]),o(`span`,{class:`vlist-r`},[o(`span`,{class:`vlist`,style:{height:`0.15em`}},[o(`span`)])])])])])])])])])],-1)]]),_:1})])),[[A]]),l((m(),s(`div`,null,[n(k,{ranges:[]},{default:e(()=>[...O[5]||=[o(`p`,null,[o(`span`,{class:`katex-display`},[o(`span`,{class:`katex`},[o(`span`,{class:`katex-mathml`},[o(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`,display:`block`},[o(`semantics`,null,[o(`mrow`,null,[o(`msub`,null,[o(`mi`,{mathvariant:`bold`},`h`),o(`mi`,null,`t`)]),o(`mo`,null,`=`),o(`msub`,null,[o(`mi`,{mathvariant:`bold`},`o`),o(`mi`,null,`t`)]),o(`mo`,null,`⊙`),o(`mi`,null,`tanh`),o(`mo`,null,`⁡`),o(`mo`,{stretchy:`false`},`(`),o(`msub`,null,[o(`mi`,{mathvariant:`bold`},`c`),o(`mi`,null,`t`)]),o(`mo`,{stretchy:`false`},`)`)]),o(`annotation`,{encoding:`application/x-tex`},`\\mathbf{h}_t = \\mathbf{o}_t \\odot \\tanh(\\mathbf{c}_t)`)])])]),o(`span`,{class:`katex-html`,"aria-hidden":`true`},[o(`span`,{class:`katex-base`},[o(`span`,{class:`katex-strut`,style:{height:`0.8444em`,"vertical-align":`-0.15em`}}),o(`span`,{class:`mord`},[o(`span`,{class:`mord mathbf`},`h`),o(`span`,{class:`msupsub`},[o(`span`,{class:`vlist-t vlist-t2`},[o(`span`,{class:`vlist-r`},[o(`span`,{class:`vlist`,style:{height:`0.2806em`}},[o(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[o(`span`,{class:`pstrut`,style:{height:`2.7em`}}),o(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[o(`span`,{class:`mord mathnormal mtight`},`t`)])])]),o(`span`,{class:`vlist-s`},`​`)]),o(`span`,{class:`vlist-r`},[o(`span`,{class:`vlist`,style:{height:`0.15em`}},[o(`span`)])])])])]),o(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}}),o(`span`,{class:`mrel`},`=`),o(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}})]),o(`span`,{class:`katex-base`},[o(`span`,{class:`katex-strut`,style:{height:`0.7333em`,"vertical-align":`-0.15em`}}),o(`span`,{class:`mord`},[o(`span`,{class:`mord mathbf`},`o`),o(`span`,{class:`msupsub`},[o(`span`,{class:`vlist-t vlist-t2`},[o(`span`,{class:`vlist-r`},[o(`span`,{class:`vlist`,style:{height:`0.2806em`}},[o(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[o(`span`,{class:`pstrut`,style:{height:`2.7em`}}),o(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[o(`span`,{class:`mord mathnormal mtight`},`t`)])])]),o(`span`,{class:`vlist-s`},`​`)]),o(`span`,{class:`vlist-r`},[o(`span`,{class:`vlist`,style:{height:`0.15em`}},[o(`span`)])])])])]),o(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}}),o(`span`,{class:`mbin`},`⊙`),o(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}})]),o(`span`,{class:`katex-base`},[o(`span`,{class:`katex-strut`,style:{height:`1em`,"vertical-align":`-0.25em`}}),o(`span`,{class:`mop`},`tanh`),o(`span`,{class:`mopen`},`(`),o(`span`,{class:`mord`},[o(`span`,{class:`mord mathbf`},`c`),o(`span`,{class:`msupsub`},[o(`span`,{class:`vlist-t vlist-t2`},[o(`span`,{class:`vlist-r`},[o(`span`,{class:`vlist`,style:{height:`0.2806em`}},[o(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[o(`span`,{class:`pstrut`,style:{height:`2.7em`}}),o(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[o(`span`,{class:`mord mathnormal mtight`},`t`)])])]),o(`span`,{class:`vlist-s`},`​`)]),o(`span`,{class:`vlist-r`},[o(`span`,{class:`vlist`,style:{height:`0.15em`}},[o(`span`)])])])])]),o(`span`,{class:`mclose`},`)`)])])])])],-1)]]),_:1})])),[[A]])])]),o(`div`,b,[o(`div`,null,[(m(),s(`svg`,x,[O[6]||=o(`defs`,null,[o(`marker`,{id:`l5c-six-arrow`,markerWidth:`6`,markerHeight:`6`,refX:`5`,refY:`3`,orient:`auto`},[o(`path`,{class:`dl-dg-head`,d:`M0 0 L6 3 L0 6 z`})])],-1),O[7]||=o(`rect`,{class:`dl-dg-box`,x:`2`,y:`44`,width:`72`,height:`32`,rx:`4`},null,-1),O[8]||=o(`text`,{class:`dl-dg-lab is-sm`,x:`38`,y:`65`,"text-anchor":`middle`},`x, h`,-1),(m(),s(u,null,i([[`σ`,`f`],[`σ`,`i`],[`tanh`,`c̃`],[`σ`,`o`]],(e,t)=>o(`g`,{key:`l5c-gate${t}`},[o(`path`,{class:`dl-dg-arrow`,"marker-end":`url(#l5c-six-arrow)`,d:`M76 60 L118 ${15+t*30}`},null,8,S),o(`rect`,{class:`dl-dg-box is-accent`,x:`122`,y:4+t*30,width:`58`,height:`22`,rx:`4`},null,8,C),o(`text`,{class:`dl-dg-in`,x:`151`,y:20+t*30,"text-anchor":`middle`},r(e[0]),9,w),o(`text`,{class:`dl-dg-lab is-sm`,x:`192`,y:20+t*30},r(e[1]),9,T),o(`path`,{class:`dl-dg-arrow`,"marker-end":`url(#l5c-six-arrow)`,d:`M210 ${15+t*30} L262 60`},null,8,E)])),64)),O[9]||=o(`rect`,{class:`dl-dg-box`,x:`266`,y:`44`,width:`90`,height:`32`,rx:`4`},null,-1),O[10]||=o(`text`,{class:`dl-dg-lab is-sm`,x:`311`,y:`65`,"text-anchor":`middle`},`c, h`,-1)]))]),l((m(),s(`div`,D,[...O[11]||=[o(`p`,null,[p(`Four of the six are the `),o(`strong`,null,`same layer`),p(`: `),o(`span`,{class:`katex`},[o(`span`,{class:`katex-mathml`},[o(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[o(`semantics`,null,[o(`mrow`,null,[o(`mi`,null,`σ`)]),o(`annotation`,{encoding:`application/x-tex`},`\\sigma`)])])]),o(`span`,{class:`katex-html`,"aria-hidden":`true`},[o(`span`,{class:`katex-base`},[o(`span`,{class:`katex-strut`,style:{height:`0.4306em`}}),o(`span`,{class:`mord mathnormal`,style:{"margin-right":`0.0359em`}},`σ`)])])]),p(` or `),o(`span`,{class:`katex`},[o(`span`,{class:`katex-mathml`},[o(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[o(`semantics`,null,[o(`mrow`,null,[o(`mi`,null,`tanh`),o(`mo`,null,`⁡`)]),o(`annotation`,{encoding:`application/x-tex`},`\\tanh`)])])]),o(`span`,{class:`katex-html`,"aria-hidden":`true`},[o(`span`,{class:`katex-base`},[o(`span`,{class:`katex-strut`,style:{height:`0.6944em`}}),o(`span`,{class:`mop`},`tanh`)])])]),p(` of `),o(`span`,{class:`katex`},[o(`span`,{class:`katex-mathml`},[o(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[o(`semantics`,null,[o(`mrow`,null,[o(`mi`,null,`W`),o(`mi`,null,`x`),o(`mo`,null,`+`),o(`mi`,null,`W`),o(`mi`,null,`h`),o(`mo`,null,`+`),o(`mi`,null,`b`)]),o(`annotation`,{encoding:`application/x-tex`},`Wx + Wh + b`)])])]),o(`span`,{class:`katex-html`,"aria-hidden":`true`},[o(`span`,{class:`katex-base`},[o(`span`,{class:`katex-strut`,style:{height:`0.7667em`,"vertical-align":`-0.0833em`}}),o(`span`,{class:`mord mathnormal`,style:{"margin-right":`0.1389em`}},`W`),o(`span`,{class:`mord mathnormal`},`x`),o(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}}),o(`span`,{class:`mbin`},`+`),o(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}})]),o(`span`,{class:`katex-base`},[o(`span`,{class:`katex-strut`,style:{height:`0.7778em`,"vertical-align":`-0.0833em`}}),o(`span`,{class:`mord mathnormal`,style:{"margin-right":`0.1389em`}},`W`),o(`span`,{class:`mord mathnormal`},`h`),o(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}}),o(`span`,{class:`mbin`},`+`),o(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}})]),o(`span`,{class:`katex-base`},[o(`span`,{class:`katex-strut`,style:{height:`0.6944em`}}),o(`span`,{class:`mord mathnormal`},`b`)])])]),p(`, each with its own weights. Only the last two are new.`)],-1)]])),[[A]])])]),_:1},16)}}};export{O as default}; \ No newline at end of file diff --git a/lecture-05/assets/md-BLLKqkPo.js b/lecture-05/assets/md-BLLKqkPo.js new file mode 100644 index 0000000000000000000000000000000000000000..514b0eae9f110b9d85b816281992629e03a85f15 --- /dev/null +++ b/lecture-05/assets/md-BLLKqkPo.js @@ -0,0 +1 @@ +import{$ as e,E as t,S as n,W as r,_ as i,b as a,bt as o,et as s,v as c,vt as l,x as u,z as d}from"./modules/shiki-CkJq9tSf.js";import{n as f,t as p}from"./slidev/context-DnYiQGy6.js";import{t as m}from"./default-BTjgsdmC.js";import{t as h}from"./PollSlide-DdhNTMpP.js";var g={class:`grid grid-cols-[1.6fr_1fr] gap-6 items-start`},_={class:`mt-4 dl-reveal`},v={class:`mt-2 dl-secondary`},y={__name:`slides.md__slidev_47`,setup(y){let{$slidev:b,$nav:x,$clicksContext:S,$clicks:C,$page:w,$renderContext:T,$frontmatter:E}=f();return S.setup(),(f,y)=>{let b=h,x=r(`click`);return d(),c(m,o(t(l(p)(l(E),46))),{default:e(()=>[i(`div`,g,[i(`div`,null,[n(b,{question:`An LSTM unit runs 50 steps with forget = 1 and input = 0 throughout. What is c₅₀?`,items:[`Zero — it has been multiplied down`,`c₀, unchanged`,`Undefined — the state saturates`,`tanh(c₀)`]})]),y[0]||=i(`div`,{class:`mt-10`},[i(`svg`,{viewBox:`0 0 260 110`,class:`dl-diagram`,role:`img`,"aria-label":`The cell state c-zero passes through fifty steps of multiply by 1 and add 0; what comes out?`},[i(`text`,{class:`dl-dg-lab is-sm`,x:`4`,y:`45`},`c₀`),i(`path`,{class:`dl-dg-line`,d:`M28 40 H200`}),i(`circle`,{class:`dl-dg-op`,cx:`70`,cy:`40`,r:`14`}),i(`text`,{class:`dl-dg-small`,x:`70`,y:`44`,"text-anchor":`middle`},`×1`),i(`circle`,{class:`dl-dg-op`,cx:`120`,cy:`40`,r:`14`}),i(`text`,{class:`dl-dg-small`,x:`120`,y:`44`,"text-anchor":`middle`},`+0`),i(`text`,{class:`dl-dg-small`,x:`160`,y:`44`,"text-anchor":`middle`},`…`),i(`text`,{class:`dl-dg-lab is-sm`,x:`206`,y:`45`},`c₅₀`),i(`text`,{class:`dl-dg-small`,x:`110`,y:`84`,"text-anchor":`middle`},`50 steps: f = 1, i = 0`)])],-1)]),s((d(),a(`div`,_,[...y[1]||=[i(`p`,null,`c₀, unchanged`,-1)]])),[[x]]),s((d(),a(`div`,v,[...y[2]||=[i(`p`,null,[i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`msub`,null,[i(`mi`,null,`c`),i(`mi`,null,`t`)]),i(`mo`,null,`=`),i(`mn`,null,`1`),i(`mo`,null,`⋅`),i(`msub`,null,[i(`mi`,null,`c`),i(`mrow`,null,[i(`mi`,null,`t`),i(`mo`,null,`−`),i(`mn`,null,`1`)])]),i(`mo`,null,`+`),i(`mn`,null,`0`),i(`mo`,null,`⋅`),i(`msub`,null,[i(`mover`,{accent:`true`},[i(`mi`,null,`c`),i(`mo`,null,`~`)]),i(`mi`,null,`t`)]),i(`mo`,null,`=`),i(`msub`,null,[i(`mi`,null,`c`),i(`mrow`,null,[i(`mi`,null,`t`),i(`mo`,null,`−`),i(`mn`,null,`1`)])])]),i(`annotation`,{encoding:`application/x-tex`},`c_t = 1 \\cdot c_{t-1} + 0 \\cdot \\tilde{c}_t = c_{t-1}`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.5806em`,"vertical-align":`-0.15em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathnormal`},`c`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.2806em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mathnormal mtight`},`t`)])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.15em`}},[i(`span`)])])])])]),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}}),i(`span`,{class:`mrel`},`=`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}})]),i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.6444em`}}),i(`span`,{class:`mord`},`1`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}}),i(`span`,{class:`mbin`},`⋅`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}})]),i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.7917em`,"vertical-align":`-0.2083em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathnormal`},`c`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.3011em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mtight`},[i(`span`,{class:`mord mathnormal mtight`},`t`),i(`span`,{class:`mbin mtight`},`−`),i(`span`,{class:`mord mtight`},`1`)])])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.2083em`}},[i(`span`)])])])])]),i(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}}),i(`span`,{class:`mbin`},`+`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}})]),i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.6444em`}}),i(`span`,{class:`mord`},`0`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}}),i(`span`,{class:`mbin`},`⋅`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}})]),i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.8179em`,"vertical-align":`-0.15em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord katex-accent`},[i(`span`,{class:`vlist-t`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.6679em`}},[i(`span`,{style:{top:`-3em`}},[i(`span`,{class:`pstrut`,style:{height:`3em`}}),i(`span`,{class:`mord mathnormal`},`c`)]),i(`span`,{style:{top:`-3.35em`}},[i(`span`,{class:`pstrut`,style:{height:`3em`}}),i(`span`,{class:`accent-body`,style:{left:`-0.1944em`}},[i(`span`,{class:`mord`},`~`)])])])])])]),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.2806em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mathnormal mtight`},`t`)])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.15em`}},[i(`span`)])])])])]),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}}),i(`span`,{class:`mrel`},`=`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}})]),i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.6389em`,"vertical-align":`-0.2083em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathnormal`},`c`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.3011em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mtight`},[i(`span`,{class:`mord mathnormal mtight`},`t`),i(`span`,{class:`mbin mtight`},`−`),i(`span`,{class:`mord mtight`},`1`)])])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.2083em`}},[i(`span`)])])])])])])])]),u(`, fifty times over. The gradient travels back along the same path, multiplied by exactly 1 at each step.`)],-1)]])),[[x]])]),_:1},16)}}};export{y as default}; \ No newline at end of file diff --git a/lecture-05/assets/md-BY6o41T_2.js b/lecture-05/assets/md-BY6o41T_2.js new file mode 100644 index 0000000000000000000000000000000000000000..32960667d0ae8b61f5ab671d79efd01596b7aa9c --- /dev/null +++ b/lecture-05/assets/md-BY6o41T_2.js @@ -0,0 +1 @@ +import{$ as e,E as t,H as n,S as r,St as i,_ as a,b as o,bt as s,v as c,vt as l,w as u,y as d,z as f}from"./modules/shiki-CkJq9tSf.js";import{t as p}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{n as m,t as h}from"./slidev/context-DnYiQGy6.js";import{t as g}from"./WordStrip-wEzaLRUv.js";var _={class:`slidev-layout dl-end`},v={class:`dl-end__body`},y={class:`dl-end__meta`},b={key:0,class:`dl-end__next`},x=[`href`],S=p(u({__name:`end`,props:{email:{},next:{}},setup(e){let{$slidev:t,$nav:r,$clicksContext:s,$clicks:c,$page:l,$renderContext:u,$frontmatter:p}=m(),h=e;return(e,t)=>(f(),o(`div`,_,[a(`div`,v,[n(e.$slots,`default`,{},void 0,!0)]),t[0]||=a(`div`,{class:`dl-rule`},null,-1),a(`div`,y,[h.next?(f(),o(`span`,b,`Next: `+i(h.next),1)):d(`v-if`,!0),h.email?(f(),o(`a`,{key:1,href:`mailto:${h.email}`},i(h.email),9,x)):d(`v-if`,!0)])]))}}),[[`__scopeId`,`data-v-f8d31aa3`]]),C={class:`mx-auto`,style:{width:`460px`}},w={__name:`slides.md__slidev_71`,setup(n){let{$slidev:i,$nav:o,$clicksContext:u,$clicks:d,$page:p,$renderContext:_,$frontmatter:v}=m();return u.setup(),(n,i)=>{let o=g;return f(),c(S,s(t(l(h)(l(v),70))),{default:e(()=>[i[0]||=a(`h1`,null,`To be continued…`,-1),a(`div`,C,[r(o,{review:`B`,state:``,verdict:``,highlight:`not`,width:460})])]),_:1},16)}}};export{w as default}; \ No newline at end of file diff --git a/lecture-05/assets/md-B_efCMCC.js b/lecture-05/assets/md-B_efCMCC.js new file mode 100644 index 0000000000000000000000000000000000000000..becc2a69b07ee199a0403d1f1f943723a4330ccf --- /dev/null +++ b/lecture-05/assets/md-B_efCMCC.js @@ -0,0 +1 @@ +import{$ as e,E as t,S as n,W as r,_ as i,b as a,bt as o,et as s,v as c,vt as l,x as u,z as d}from"./modules/shiki-CkJq9tSf.js";import{n as f,t as p}from"./slidev/context-DnYiQGy6.js";import{t as m}from"./default-BTjgsdmC.js";import{t as h}from"./slidev/VClicks-DLDbGwsQ.js";var g={class:`grid grid-cols-[1.45fr_1fr] gap-5 mt-1 items-start`},_={class:`dl-ledger dl-tight dl-eq-legend`},v={class:`dl-callout`},y={__name:`slides.md__slidev_28`,setup(y){let{$slidev:b,$nav:x,$clicksContext:S,$clicks:C,$page:w,$renderContext:T,$frontmatter:E}=f();return S.setup(),(f,y)=>{let b=h,x=r(`click`);return d(),c(m,o(t(l(p)(l(E),27))),{default:e(()=>[y[3]||=i(`h1`,null,`Reading the equation: the sequence loss`,-1),i(`div`,g,[i(`div`,_,[n(b,null,{default:e(()=>[...y[0]||=[i(`table`,null,[i(`thead`,null,[i(`tr`,null,[i(`th`,null,`symbol`),i(`th`,null,`name`),i(`th`,null,`what it is here`),i(`th`,null,`example`)])]),i(`tbody`,null,[i(`tr`,null,[i(`td`,null,[i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`mi`,null,`L`)]),i(`annotation`,{encoding:`application/x-tex`},`L`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.6833em`}}),i(`span`,{class:`mord mathnormal`},`L`)])])])]),i(`td`,null,`loss`),i(`td`,null,`one per sequence`),i(`td`,null,`0.77`)]),i(`tr`,null,[i(`td`,null,[i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`mi`,{mathvariant:`normal`},`ℓ`)]),i(`annotation`,{encoding:`application/x-tex`},`\\ell`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.6944em`}}),i(`span`,{class:`mord`},`ℓ`)])])])]),i(`td`,null,`per-step loss`),i(`td`,null,[u(`cross-entropy `),i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`mo`,null,`−`),i(`mi`,null,`ln`),i(`mo`,null,`⁡`),i(`mi`,null,`p`)]),i(`annotation`,{encoding:`application/x-tex`},`-\\ln p`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.8889em`,"vertical-align":`-0.1944em`}}),i(`span`,{class:`mord`},`−`),i(`span`,{class:`mspace`,style:{"margin-right":`0.1667em`}}),i(`span`,{class:`mop`},`ln`),i(`span`,{class:`mspace`,style:{"margin-right":`0.1667em`}}),i(`span`,{class:`mord mathnormal`},`p`)])])]),u(`; `),i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`mi`,null,`p`)]),i(`annotation`,{encoding:`application/x-tex`},`p`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.625em`,"vertical-align":`-0.1944em`}}),i(`span`,{class:`mord mathnormal`},`p`)])])]),u(` = chance of the right answer`)]),i(`td`,null,[i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`mo`,null,`−`),i(`mi`,null,`ln`),i(`mo`,null,`⁡`),i(`mn`,null,`0.8`),i(`mo`,null,`=`),i(`mn`,null,`0.22`)]),i(`annotation`,{encoding:`application/x-tex`},`-\\ln 0.8 = 0.22`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.7778em`,"vertical-align":`-0.0833em`}}),i(`span`,{class:`mord`},`−`),i(`span`,{class:`mspace`,style:{"margin-right":`0.1667em`}}),i(`span`,{class:`mop`},`ln`),i(`span`,{class:`mspace`,style:{"margin-right":`0.1667em`}}),i(`span`,{class:`mord`},`0.8`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}}),i(`span`,{class:`mrel`},`=`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}})]),i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.6444em`}}),i(`span`,{class:`mord`},`0.22`)])])])])]),i(`tr`,null,[i(`td`,null,[i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`msub`,null,[i(`mi`,{mathvariant:`bold`},`o`),i(`mi`,null,`t`)]),i(`mo`,{separator:`true`},`,`),i(`mtext`,null,`\xA0`),i(`msub`,null,[i(`mi`,{mathvariant:`bold`},`o`),i(`mi`,null,`T`)])]),i(`annotation`,{encoding:`application/x-tex`},`\\mathbf{o}_t,\\ \\mathbf{o}_T`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.6389em`,"vertical-align":`-0.1944em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathbf`},`o`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.2806em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mathnormal mtight`},`t`)])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.15em`}},[i(`span`)])])])])]),i(`span`,{class:`mpunct`},`,`),i(`span`,{class:`mspace`},`\xA0`),i(`span`,{class:`mspace`,style:{"margin-right":`0.1667em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathbf`},`o`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.3283em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mathnormal mtight`,style:{"margin-right":`0.1389em`}},`T`)])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.15em`}},[i(`span`)])])])])])])])])]),i(`td`,null,`output`),i(`td`,null,[u(`logits at `),i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`mi`,null,`t`)]),i(`annotation`,{encoding:`application/x-tex`},`t`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.6151em`}}),i(`span`,{class:`mord mathnormal`},`t`)])])]),u(`, or at the end`)]),i(`td`,null,[i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`msub`,null,[i(`mi`,null,`o`),i(`mn`,null,`5`)]),i(`mo`,null,`=`),i(`mo`,null,`−`),i(`mn`,null,`1.26`)]),i(`annotation`,{encoding:`application/x-tex`},`o_5 = -1.26`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.5806em`,"vertical-align":`-0.15em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathnormal`},`o`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.3011em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mtight`},`5`)])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.15em`}},[i(`span`)])])])])]),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}}),i(`span`,{class:`mrel`},`=`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}})]),i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.7278em`,"vertical-align":`-0.0833em`}}),i(`span`,{class:`mord`},`−`),i(`span`,{class:`mord`},`1.26`)])])])])]),i(`tr`,null,[i(`td`,null,[i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`mi`,null,`y`),i(`mo`,{separator:`true`},`,`),i(`mtext`,null,`\xA0`),i(`msub`,null,[i(`mi`,null,`y`),i(`mi`,null,`t`)])]),i(`annotation`,{encoding:`application/x-tex`},`y,\\ y_t`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.625em`,"vertical-align":`-0.1944em`}}),i(`span`,{class:`mord mathnormal`,style:{"margin-right":`0.0359em`}},`y`),i(`span`,{class:`mpunct`},`,`),i(`span`,{class:`mspace`},`\xA0`),i(`span`,{class:`mspace`,style:{"margin-right":`0.1667em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathnormal`,style:{"margin-right":`0.0359em`}},`y`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.2806em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`-0.0359em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mathnormal mtight`},`t`)])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.15em`}},[i(`span`)])])])])])])])])]),i(`td`,null,`true label`),i(`td`,null,`data`),i(`td`,null,`negative`)]),i(`tr`,null,[i(`td`,null,[i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`mi`,null,`t`),i(`mo`,{separator:`true`},`,`),i(`mtext`,null,`\xA0`),i(`mi`,null,`T`)]),i(`annotation`,{encoding:`application/x-tex`},`t,\\ T`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.8778em`,"vertical-align":`-0.1944em`}}),i(`span`,{class:`mord mathnormal`},`t`),i(`span`,{class:`mpunct`},`,`),i(`span`,{class:`mspace`},`\xA0`),i(`span`,{class:`mspace`,style:{"margin-right":`0.1667em`}}),i(`span`,{class:`mord mathnormal`,style:{"margin-right":`0.1389em`}},`T`)])])])]),i(`td`,null,`step, sequence length`),i(`td`,null,[i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`mi`,null,`t`)]),i(`annotation`,{encoding:`application/x-tex`},`t`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.6151em`}}),i(`span`,{class:`mord mathnormal`},`t`)])])]),u(` runs from 1 to `),i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`mi`,null,`T`)]),i(`annotation`,{encoding:`application/x-tex`},`T`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.6833em`}}),i(`span`,{class:`mord mathnormal`,style:{"margin-right":`0.1389em`}},`T`)])])])]),i(`td`,null,[i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`mi`,null,`T`),i(`mo`,null,`=`),i(`mn`,null,`3`)]),i(`annotation`,{encoding:`application/x-tex`},`T = 3`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.6833em`}}),i(`span`,{class:`mord mathnormal`,style:{"margin-right":`0.1389em`}},`T`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}}),i(`span`,{class:`mrel`},`=`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}})]),i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.6444em`}}),i(`span`,{class:`mord`},`3`)])])])])]),i(`tr`,null,[i(`td`,null,[i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`msubsup`,null,[i(`mo`,null,`∑`),i(`mrow`,null,[i(`mi`,null,`t`),i(`mo`,null,`=`),i(`mn`,null,`1`)]),i(`mi`,null,`T`)]),i(`mo`,{separator:`true`},`,`),i(`mtext`,null,`\xA0`),i(`mfrac`,null,[i(`mn`,null,`1`),i(`mi`,null,`T`)])]),i(`annotation`,{encoding:`application/x-tex`},`\\sum_{t=1}^{T},\\ \\frac{1}{T}`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`1.3262em`,"vertical-align":`-0.345em`}}),i(`span`,{class:`mop`},[i(`span`,{class:`mop op-symbol small-op`,style:{position:`relative`,top:`0em`}},`∑`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.9812em`}},[i(`span`,{style:{top:`-2.4003em`,"margin-left":`0em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mtight`},[i(`span`,{class:`mord mathnormal mtight`},`t`),i(`span`,{class:`mrel mtight`},`=`),i(`span`,{class:`mord mtight`},`1`)])])]),i(`span`,{style:{top:`-3.2029em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mtight`},[i(`span`,{class:`mord mathnormal mtight`,style:{"margin-right":`0.1389em`}},`T`)])])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.2997em`}},[i(`span`)])])])])]),i(`span`,{class:`mpunct`},`,`),i(`span`,{class:`mspace`},`\xA0`),i(`span`,{class:`mspace`,style:{"margin-right":`0.1667em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mopen nulldelimiter`}),i(`span`,{class:`mfrac`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.8451em`}},[i(`span`,{style:{top:`-2.655em`}},[i(`span`,{class:`pstrut`,style:{height:`3em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mtight`},[i(`span`,{class:`mord mathnormal mtight`,style:{"margin-right":`0.1389em`}},`T`)])])]),i(`span`,{style:{top:`-3.23em`}},[i(`span`,{class:`pstrut`,style:{height:`3em`}}),i(`span`,{class:`frac-line`,style:{"border-bottom-width":`0.04em`}})]),i(`span`,{style:{top:`-3.394em`}},[i(`span`,{class:`pstrut`,style:{height:`3em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mtight`},[i(`span`,{class:`mord mtight`},`1`)])])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.345em`}},[i(`span`)])])])]),i(`span`,{class:`mclose nulldelimiter`})])])])])]),i(`td`,null,`sum, average`),i(`td`,null,[u(`add the `),i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`mi`,null,`T`)]),i(`annotation`,{encoding:`application/x-tex`},`T`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.6833em`}}),i(`span`,{class:`mord mathnormal`,style:{"margin-right":`0.1389em`}},`T`)])])]),u(` losses, divide by `),i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`mi`,null,`T`)]),i(`annotation`,{encoding:`application/x-tex`},`T`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.6833em`}}),i(`span`,{class:`mord mathnormal`,style:{"margin-right":`0.1389em`}},`T`)])])])]),i(`td`,null,[i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`mn`,null,`2.30`),i(`mi`,{mathvariant:`normal`},`/`),i(`mn`,null,`3`)]),i(`annotation`,{encoding:`application/x-tex`},`2.30 / 3`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`1em`,"vertical-align":`-0.25em`}}),i(`span`,{class:`mord`},`2.30/3`)])])])])])])],-1)]]),_:1})]),i(`div`,null,[y[2]||=i(`svg`,{viewBox:`0 0 300 160`,class:`dl-diagram`,role:`img`,"aria-label":`Three bars for the step losses 0.22, 0.69 and 1.39, and a dashed line at their mean, 0.77`},[i(`line`,{x1:`20`,y1:`130`,x2:`290`,y2:`130`,class:`dl-dg-split`}),i(`rect`,{x:`40`,y:`114`,width:`44`,height:`16`,class:`dl-dg-fill`}),i(`rect`,{x:`120`,y:`80`,width:`44`,height:`50`,class:`dl-dg-fill`}),i(`rect`,{x:`200`,y:`30`,width:`44`,height:`100`,class:`dl-dg-fill`}),i(`text`,{x:`62`,y:`108`,"text-anchor":`middle`,class:`dl-dg-small`},`0.22`),i(`text`,{x:`142`,y:`74`,"text-anchor":`middle`,class:`dl-dg-small`},`0.69`),i(`text`,{x:`222`,y:`24`,"text-anchor":`middle`,class:`dl-dg-small`},`1.39`),i(`line`,{x1:`20`,y1:`75`,x2:`290`,y2:`75`,class:`dl-dg-grad is-bad`}),i(`text`,{x:`22`,y:`69`,class:`dl-dg-small is-bad`},`L = 0.77`),i(`text`,{x:`62`,y:`148`,"text-anchor":`middle`,class:`dl-dg-small`},`t = 1`),i(`text`,{x:`142`,y:`148`,"text-anchor":`middle`,class:`dl-dg-small`},`t = 2`),i(`text`,{x:`222`,y:`148`,"text-anchor":`middle`,class:`dl-dg-small`},`t = 3`)],-1),s((d(),a(`div`,v,[...y[1]||=[i(`p`,null,[u(`Next character, `),i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`mi`,null,`T`),i(`mo`,null,`=`),i(`mn`,null,`3`)]),i(`annotation`,{encoding:`application/x-tex`},`T = 3`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.6833em`}}),i(`span`,{class:`mord mathnormal`,style:{"margin-right":`0.1389em`}},`T`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}}),i(`span`,{class:`mrel`},`=`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}})]),i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.6444em`}}),i(`span`,{class:`mord`},`3`)])])]),u(`, `),i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`mi`,null,`p`)]),i(`annotation`,{encoding:`application/x-tex`},`p`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.625em`,"vertical-align":`-0.1944em`}}),i(`span`,{class:`mord mathnormal`},`p`)])])]),u(` = 0.8, 0.5, 0.25: `),i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`mi`,null,`L`),i(`mo`,null,`=`),i(`mo`,{stretchy:`false`},`(`),i(`mn`,null,`0.22`),i(`mo`,null,`+`),i(`mn`,null,`0.69`),i(`mo`,null,`+`),i(`mn`,null,`1.39`),i(`mo`,{stretchy:`false`},`)`),i(`mi`,{mathvariant:`normal`},`/`),i(`mn`,null,`3`),i(`mo`,null,`=`),i(`mn`,null,`0.77`)]),i(`annotation`,{encoding:`application/x-tex`},`L = (0.22 + 0.69 + 1.39) / 3 = 0.77`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.6833em`}}),i(`span`,{class:`mord mathnormal`},`L`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}}),i(`span`,{class:`mrel`},`=`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}})]),i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`1em`,"vertical-align":`-0.25em`}}),i(`span`,{class:`mopen`},`(`),i(`span`,{class:`mord`},`0.22`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}}),i(`span`,{class:`mbin`},`+`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}})]),i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.7278em`,"vertical-align":`-0.0833em`}}),i(`span`,{class:`mord`},`0.69`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}}),i(`span`,{class:`mbin`},`+`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}})]),i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`1em`,"vertical-align":`-0.25em`}}),i(`span`,{class:`mord`},`1.39`),i(`span`,{class:`mclose`},`)`),i(`span`,{class:`mord`},`/3`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}}),i(`span`,{class:`mrel`},`=`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}})]),i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.6444em`}}),i(`span`,{class:`mord`},`0.77`)])])])],-1),i(`p`,null,[u(`Review B (negative): `),i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`mi`,null,`p`),i(`mo`,null,`=`),i(`mn`,null,`1`),i(`mo`,null,`−`),i(`mn`,null,`0.22`),i(`mo`,null,`=`),i(`mn`,null,`0.78`)]),i(`annotation`,{encoding:`application/x-tex`},`p = 1 - 0.22 = 0.78`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.625em`,"vertical-align":`-0.1944em`}}),i(`span`,{class:`mord mathnormal`},`p`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}}),i(`span`,{class:`mrel`},`=`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}})]),i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.7278em`,"vertical-align":`-0.0833em`}}),i(`span`,{class:`mord`},`1`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}}),i(`span`,{class:`mbin`},`−`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}})]),i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.6444em`}}),i(`span`,{class:`mord`},`0.22`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}}),i(`span`,{class:`mrel`},`=`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}})]),i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.6444em`}}),i(`span`,{class:`mord`},`0.78`)])])])],-1),i(`p`,null,[u(`so `),i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`mi`,null,`L`),i(`mo`,null,`=`),i(`mo`,null,`−`),i(`mi`,null,`ln`),i(`mo`,null,`⁡`),i(`mn`,null,`0.78`),i(`mo`,null,`=`),i(`mn`,null,`0.25`)]),i(`annotation`,{encoding:`application/x-tex`},`L = -\\ln 0.78 = 0.25`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.6833em`}}),i(`span`,{class:`mord mathnormal`},`L`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}}),i(`span`,{class:`mrel`},`=`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}})]),i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.7778em`,"vertical-align":`-0.0833em`}}),i(`span`,{class:`mord`},`−`),i(`span`,{class:`mspace`,style:{"margin-right":`0.1667em`}}),i(`span`,{class:`mop`},`ln`),i(`span`,{class:`mspace`,style:{"margin-right":`0.1667em`}}),i(`span`,{class:`mord`},`0.78`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}}),i(`span`,{class:`mrel`},`=`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}})]),i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.6444em`}}),i(`span`,{class:`mord`},`0.25`)])])])],-1)]])),[[x]])])])]),_:1},16)}}};export{y as default}; \ No newline at end of file diff --git a/lecture-05/assets/md-BecCf6zg.js b/lecture-05/assets/md-BecCf6zg.js new file mode 100644 index 0000000000000000000000000000000000000000..77927ab0d7d3de15663f4c18a6fb9543917978c4 --- /dev/null +++ b/lecture-05/assets/md-BecCf6zg.js @@ -0,0 +1 @@ +import{$ as e,E as t,S as n,W as r,_ as i,b as a,bt as o,et as s,v as c,vt as l,x as u,z as d}from"./modules/shiki-CkJq9tSf.js";import{n as f,t as p}from"./slidev/context-DnYiQGy6.js";import{t as m}from"./slidev/VClicks-DLDbGwsQ.js";import{t as h}from"./interactive-pqWNz3EB.js";import{t as g}from"./SeqToSeqFlow-CnUZ8lrf.js";var _={class:`dl-callout`},v={__name:`slides.md__slidev_64`,setup(v){let{$slidev:y,$nav:b,$clicksContext:x,$clicks:S,$page:C,$renderContext:w,$frontmatter:T}=f();return x.setup(),(f,v)=>{let y=g,b=m,x=r(`click`);return d(),c(h,o(t(l(p)(l(T),63))),{aside:e(t=>[v[2]||=i(`p`,null,`Lengths and word order differ, and nothing is written until the whole source is read.`,-1),n(b,null,{default:e(()=>[...v[0]||=[i(`ul`,null,[i(`li`,null,[u(`The `),i(`strong`,null,`encoder`),u(`’s final state, the `),i(`strong`,null,`context vector`),u(`, is all the `),i(`strong`,null,`decoder`),u(` knows`)]),i(`li`,null,`Drag the slider: 2 words or 8, still 256 numbers`)],-1)]]),_:1}),s((d(),a(`div`,_,[...v[1]||=[i(`p`,null,`Eight words into 256 numbers is generous. Forty into the same 256 is the bottleneck.`,-1)]])),[[x]])]),default:e(()=>[n(y)]),_:1},16)}}};export{v as default}; \ No newline at end of file diff --git a/lecture-05/assets/md-BjzzOuTx.js b/lecture-05/assets/md-BjzzOuTx.js new file mode 100644 index 0000000000000000000000000000000000000000..836369b75bf5830af60b9a7b74c0becf6c482abd --- /dev/null +++ b/lecture-05/assets/md-BjzzOuTx.js @@ -0,0 +1 @@ +import{$ as e,E as t,S as n,W as r,_ as i,b as a,bt as o,et as s,v as c,vt as l,x as u,z as d}from"./modules/shiki-CkJq9tSf.js";import{n as f,t as p}from"./slidev/context-DnYiQGy6.js";import{t as m}from"./interactive-pqWNz3EB.js";import{t as h}from"./GatedCell-BmFrMgAI.js";var g={class:`mt-2 dl-callout`},_={class:`mt-2 dl-secondary`},v={__name:`slides.md__slidev_39`,setup(v){let{$slidev:y,$nav:b,$clicksContext:x,$clicks:S,$page:C,$renderContext:w,$frontmatter:T}=f();return x.setup(),(f,v)=>{let y=h,b=r(`click`);return d(),c(m,o(t(l(p)(l(T),38))),{aside:e(e=>[v[2]||=i(`p`,null,[u(`The LSTM (long short-term memory) carries two states. The `),i(`strong`,null,`cell state`),u(),i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`mi`,null,`c`)]),i(`annotation`,{encoding:`application/x-tex`},`c`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.4306em`}}),i(`span`,{class:`mord mathnormal`},`c`)])])]),u(` runs along the top.`)],-1),v[3]||=i(`p`,null,[u(`Press `),i(`strong`,null,`Walk the cell`),u(` for the six parts.`)],-1),s((d(),a(`div`,g,[...v[0]||=[i(`p`,null,[u(`Set `),i(`strong`,null,`forget = 1`),u(`, `),i(`strong`,null,`input = 0`),u(`: `),i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`msub`,null,[i(`mi`,null,`c`),i(`mi`,null,`t`)]),i(`mo`,null,`=`),i(`msub`,null,[i(`mi`,null,`c`),i(`mrow`,null,[i(`mi`,null,`t`),i(`mo`,null,`−`),i(`mn`,null,`1`)])])]),i(`annotation`,{encoding:`application/x-tex`},`c_t = c_{t-1}`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.5806em`,"vertical-align":`-0.15em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathnormal`},`c`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.2806em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mathnormal mtight`},`t`)])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.15em`}},[i(`span`)])])])])]),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}}),i(`span`,{class:`mrel`},`=`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}})]),i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.6389em`,"vertical-align":`-0.2083em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathnormal`},`c`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.3011em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mtight`},[i(`span`,{class:`mord mathnormal mtight`},`t`),i(`span`,{class:`mbin mtight`},`−`),i(`span`,{class:`mord mtight`},`1`)])])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.2083em`}},[i(`span`)])])])])])])])]),u(`, step after step. The envelope stays sealed.`)],-1)]])),[[b]]),s((d(),a(`div`,_,[...v[1]||=[i(`p`,null,`Forget = 0 wipes the past at once. Training learns which.`,-1)]])),[[b]])]),default:e(()=>[n(y)]),_:1},16)}}};export{v as default}; \ No newline at end of file diff --git a/lecture-05/assets/md-BlIlUIaC.js b/lecture-05/assets/md-BlIlUIaC.js new file mode 100644 index 0000000000000000000000000000000000000000..4135074737c625e20ee42985378813968e5f7b6b --- /dev/null +++ b/lecture-05/assets/md-BlIlUIaC.js @@ -0,0 +1 @@ +import{$ as e,E as t,S as n,W as r,_ as i,b as a,bt as o,et as s,v as c,vt as l,x as u,z as d}from"./modules/shiki-CkJq9tSf.js";import{n as f,t as p}from"./slidev/context-DnYiQGy6.js";import{t as m}from"./slidev/VClicks-DLDbGwsQ.js";import{t as h}from"./interactive-pqWNz3EB.js";import{t as g}from"./EmbeddingLab-XVnfZGjB.js";var _={class:`mt-2 dl-secondary`},v={__name:`slides.md__slidev_51`,setup(v){let{$slidev:y,$nav:b,$clicksContext:x,$clicks:S,$page:C,$renderContext:w,$frontmatter:T}=f();return x.setup(),(f,v)=>{let y=g,b=m,x=r(`click`);return d(),c(h,o(t(l(p)(l(T),50))),{aside:e(t=>[v[2]||=i(`p`,null,`In a trained model these coordinates are weights, moved by gradient descent.`,-1),n(b,null,{default:e(()=>[...v[0]||=[i(`ul`,null,[i(`li`,null,[i(`em`,null,`great`),u(` and `),i(`em`,null,`brilliant`),u(` end up together`)]),i(`li`,null,[i(`em`,null,`awful`),u(` and `),i(`em`,null,`terrible`),u(` too, at the far end`)]),i(`li`,null,[i(`em`,null,`the`),u(` and `),i(`em`,null,`a`),u(` sit near zero on both axes`)])],-1)]]),_:1}),s((d(),a(`div`,_,[...v[1]||=[i(`p`,null,`These axes are hand-written for display, not our toy’s. A real table has 64 unnamed axes.`,-1)]])),[[x]])]),default:e(()=>[n(y,{mode:`space`})]),_:1},16)}}};export{v as default}; \ No newline at end of file diff --git a/lecture-05/assets/md-BlJ8G5BD2.js b/lecture-05/assets/md-BlJ8G5BD2.js new file mode 100644 index 0000000000000000000000000000000000000000..62b6e7830a59bf68c75f0c273f310f124e764957 --- /dev/null +++ b/lecture-05/assets/md-BlJ8G5BD2.js @@ -0,0 +1 @@ +import{$ as e,E as t,S as n,W as r,_ as i,b as a,bt as o,et as s,v as c,vt as l,x as u,z as d}from"./modules/shiki-CkJq9tSf.js";import{n as f,t as p}from"./slidev/context-DnYiQGy6.js";import{t as m}from"./default-BTjgsdmC.js";import{t as h}from"./slidev/VClicks-DLDbGwsQ.js";import{t as g}from"./slidev/KaTexBlockWrapper-DAxOb9nH.js";var _={class:`dl-math-sm`},v={class:`grid grid-cols-[1fr_1.2fr] gap-8 mt-1 items-start dl-tight`},y={viewBox:`0 0 330 170`,class:`dl-diagram is-sm`,style:{"max-height":`8rem`},role:`img`,"aria-label":`A 128 by 192 matrix, split into a 64-wide block and a 128-wide block, times a stacked vector of 64 and 128 numbers`},b={class:`mt-2 dl-callout`},x={__name:`slides.md__slidev_20`,setup(x){let{$slidev:S,$nav:C,$clicksContext:w,$clicks:T,$page:E,$renderContext:D,$frontmatter:O}=f();return w.setup(),(f,x)=>{let S=g,C=h,w=r(`click`);return d(),c(m,o(t(l(p)(l(O),19))),{default:e(()=>[x[4]||=i(`h1`,null,`The same equation, one matrix`,-1),x[5]||=i(`p`,null,[u(`Stack word `),i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`msub`,null,[i(`mi`,{mathvariant:`bold`},`x`),i(`mi`,null,`t`)])]),i(`annotation`,{encoding:`application/x-tex`},`\\mathbf{x}_t`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.5944em`,"vertical-align":`-0.15em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathbf`},`x`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.2806em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mathnormal mtight`},`t`)])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.15em`}},[i(`span`)])])])])])])])]),u(` and note `),i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`msub`,null,[i(`mi`,{mathvariant:`bold`},`h`),i(`mrow`,null,[i(`mi`,null,`t`),i(`mo`,null,`−`),i(`mn`,null,`1`)])])]),i(`annotation`,{encoding:`application/x-tex`},`\\mathbf{h}_{t-1}`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.9028em`,"vertical-align":`-0.2083em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathbf`},`h`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.3011em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mtight`},[i(`span`,{class:`mord mathnormal mtight`},`t`),i(`span`,{class:`mbin mtight`},`−`),i(`span`,{class:`mord mtight`},`1`)])])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.2083em`}},[i(`span`)])])])])])])])]),u(` into one vector, and both matrices side by side as `),i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`msub`,null,[i(`mi`,null,`W`),i(`mi`,null,`h`)])]),i(`annotation`,{encoding:`application/x-tex`},`W_h`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.8333em`,"vertical-align":`-0.15em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathnormal`,style:{"margin-right":`0.1389em`}},`W`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.3361em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`-0.1389em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mathnormal mtight`},`h`)])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.15em`}},[i(`span`)])])])])])])])]),u(`. The bias `),i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`msub`,null,[i(`mi`,{mathvariant:`bold`},`b`),i(`mi`,null,`h`)])]),i(`annotation`,{encoding:`application/x-tex`},`\\mathbf{b}_h`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.8444em`,"vertical-align":`-0.15em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathbf`},`b`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.3361em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mathnormal mtight`},`h`)])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.15em`}},[i(`span`)])])])])])])])]),u(` is unchanged:`)],-1),i(`div`,_,[n(S,{ranges:[]},{default:e(()=>[...x[0]||=[i(`p`,null,[i(`span`,{class:`katex-display`},[i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`,display:`block`},[i(`semantics`,null,[i(`mrow`,null,[i(`msub`,null,[i(`mi`,{mathvariant:`bold`},`h`),i(`mi`,null,`t`)]),i(`mo`,null,`=`),i(`mi`,null,`tanh`),i(`mo`,null,`⁡`),i(`mtext`,null,` ⁣`),i(`mrow`,null,[i(`mo`,{fence:`true`},`(`),i(`msub`,null,[i(`mi`,null,`W`),i(`mi`,null,`h`)]),i(`mrow`,null,[i(`mo`,{fence:`true`},`[`),i(`mtable`,{rowspacing:`0.16em`,columnalign:`center`,columnspacing:`1em`},[i(`mtr`,null,[i(`mtd`,null,[i(`mstyle`,{scriptlevel:`0`,displaystyle:`false`},[i(`msub`,null,[i(`mi`,{mathvariant:`bold`},`x`),i(`mi`,null,`t`)])])])]),i(`mtr`,null,[i(`mtd`,null,[i(`mstyle`,{scriptlevel:`0`,displaystyle:`false`},[i(`msub`,null,[i(`mi`,{mathvariant:`bold`},`h`),i(`mrow`,null,[i(`mi`,null,`t`),i(`mo`,null,`−`),i(`mn`,null,`1`)])])])])])]),i(`mo`,{fence:`true`},`]`)]),i(`mo`,null,`+`),i(`msub`,null,[i(`mi`,{mathvariant:`bold`},`b`),i(`mi`,null,`h`)]),i(`mo`,{fence:`true`},`)`)]),i(`mo`,{separator:`true`},`,`),i(`mspace`,{width:`2em`}),i(`msub`,null,[i(`mi`,null,`W`),i(`mi`,null,`h`)]),i(`mo`,null,`=`),i(`mrow`,null,[i(`mo`,{fence:`true`},`[`),i(`mtable`,{rowspacing:`0.16em`,columnalign:`center center`,columnspacing:`1em`},[i(`mtr`,null,[i(`mtd`,null,[i(`mstyle`,{scriptlevel:`0`,displaystyle:`false`},[i(`msub`,null,[i(`mi`,null,`W`),i(`mrow`,null,[i(`mi`,null,`x`),i(`mi`,null,`h`)])])])]),i(`mtd`,null,[i(`mstyle`,{scriptlevel:`0`,displaystyle:`false`},[i(`msub`,null,[i(`mi`,null,`W`),i(`mrow`,null,[i(`mi`,null,`h`),i(`mi`,null,`h`)])])])])])]),i(`mo`,{fence:`true`},`]`)])]),i(`annotation`,{encoding:`application/x-tex`},`\\mathbf{h}_t = \\tanh\\!\\left( W_h \\begin{bmatrix} \\mathbf{x}_t \\\\ \\mathbf{h}_{t-1} \\end{bmatrix} + \\mathbf{b}_h \\right), \\qquad W_h = \\begin{bmatrix} W_{xh} & W_{hh} \\end{bmatrix}`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.8444em`,"vertical-align":`-0.15em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathbf`},`h`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.2806em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mathnormal mtight`},`t`)])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.15em`}},[i(`span`)])])])])]),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}}),i(`span`,{class:`mrel`},`=`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}})]),i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`2.4em`,"vertical-align":`-0.95em`}}),i(`span`,{class:`mop`},`tanh`),i(`span`,{class:`mspace`,style:{"margin-right":`-0.1667em`}}),i(`span`,{class:`mspace`,style:{"margin-right":`0.1667em`}}),i(`span`,{class:`minner`},[i(`span`,{class:`mopen delimcenter`,style:{top:`0em`}},[i(`span`,{class:`delimsizing size3`},`(`)]),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathnormal`,style:{"margin-right":`0.1389em`}},`W`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.3361em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`-0.1389em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mathnormal mtight`},`h`)])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.15em`}},[i(`span`)])])])])]),i(`span`,{class:`mspace`,style:{"margin-right":`0.1667em`}}),i(`span`,{class:`minner`},[i(`span`,{class:`mopen delimcenter`,style:{top:`0em`}},[i(`span`,{class:`delimsizing size3`},`[`)]),i(`span`,{class:`mord`},[i(`span`,{class:`mtable`},[i(`span`,{class:`col-align-c`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`1.45em`}},[i(`span`,{style:{top:`-3.61em`}},[i(`span`,{class:`pstrut`,style:{height:`3em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord`},[i(`span`,{class:`mord mathbf`},`x`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.2806em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mathnormal mtight`},`t`)])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.15em`}},[i(`span`)])])])])])])]),i(`span`,{style:{top:`-2.41em`}},[i(`span`,{class:`pstrut`,style:{height:`3em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord`},[i(`span`,{class:`mord mathbf`},`h`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.3011em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mtight`},[i(`span`,{class:`mord mathnormal mtight`},`t`),i(`span`,{class:`mbin mtight`},`−`),i(`span`,{class:`mord mtight`},`1`)])])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.2083em`}},[i(`span`)])])])])])])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.95em`}},[i(`span`)])])])])])]),i(`span`,{class:`mclose delimcenter`,style:{top:`0em`}},[i(`span`,{class:`delimsizing size3`},`]`)])]),i(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}}),i(`span`,{class:`mbin`},`+`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathbf`},`b`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.3361em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mathnormal mtight`},`h`)])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.15em`}},[i(`span`)])])])])]),i(`span`,{class:`mclose delimcenter`,style:{top:`0em`}},[i(`span`,{class:`delimsizing size3`},`)`)])]),i(`span`,{class:`mspace`,style:{"margin-right":`0.1667em`}}),i(`span`,{class:`mpunct`},`,`),i(`span`,{class:`mspace`,style:{"margin-right":`2em`}}),i(`span`,{class:`mspace`,style:{"margin-right":`0.1667em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathnormal`,style:{"margin-right":`0.1389em`}},`W`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.3361em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`-0.1389em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mathnormal mtight`},`h`)])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.15em`}},[i(`span`)])])])])]),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}}),i(`span`,{class:`mrel`},`=`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}})]),i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`1.2em`,"vertical-align":`-0.35em`}}),i(`span`,{class:`minner`},[i(`span`,{class:`mopen delimcenter`,style:{top:`0em`}},[i(`span`,{class:`delimsizing size1`},`[`)]),i(`span`,{class:`mord`},[i(`span`,{class:`mtable`},[i(`span`,{class:`col-align-c`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.85em`}},[i(`span`,{style:{top:`-3.01em`}},[i(`span`,{class:`pstrut`,style:{height:`3em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord`},[i(`span`,{class:`mord mathnormal`,style:{"margin-right":`0.1389em`}},`W`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.3361em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`-0.1389em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mtight`},[i(`span`,{class:`mord mathnormal mtight`},`x`),i(`span`,{class:`mord mathnormal mtight`},`h`)])])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.15em`}},[i(`span`)])])])])])])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.35em`}},[i(`span`)])])])]),i(`span`,{class:`arraycolsep`,style:{width:`0.5em`}}),i(`span`,{class:`arraycolsep`,style:{width:`0.5em`}}),i(`span`,{class:`col-align-c`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.85em`}},[i(`span`,{style:{top:`-3.01em`}},[i(`span`,{class:`pstrut`,style:{height:`3em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord`},[i(`span`,{class:`mord mathnormal`,style:{"margin-right":`0.1389em`}},`W`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.3361em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`-0.1389em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mtight`},[i(`span`,{class:`mord mathnormal mtight`},`hh`)])])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.15em`}},[i(`span`)])])])])])])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.35em`}},[i(`span`)])])])])])]),i(`span`,{class:`mclose delimcenter`,style:{top:`0em`}},[i(`span`,{class:`delimsizing size1`},`]`)])])])])])])],-1)]]),_:1})]),i(`div`,v,[i(`div`,null,[(d(),a(`svg`,y,[...x[1]||=[i(`rect`,{x:`10`,y:`20`,width:`64`,height:`128`,class:`dl-dg-box`},null,-1),i(`rect`,{x:`74`,y:`20`,width:`128`,height:`128`,class:`dl-dg-box is-accent`},null,-1),i(`text`,{x:`42`,y:`88`,"text-anchor":`middle`,class:`dl-dg-lab is-sm`},`W_xh`,-1),i(`text`,{x:`138`,y:`88`,"text-anchor":`middle`,class:`dl-dg-lab is-sm`},`W_hh`,-1),i(`text`,{x:`42`,y:`14`,"text-anchor":`middle`,class:`dl-dg-small`},`64`,-1),i(`text`,{x:`138`,y:`14`,"text-anchor":`middle`,class:`dl-dg-small`},`128`,-1),i(`text`,{x:`222`,y:`90`,"text-anchor":`middle`,class:`dl-dg-lab`},`×`,-1),i(`rect`,{x:`246`,y:`2`,width:`22`,height:`64`,class:`dl-dg-box`},null,-1),i(`rect`,{x:`246`,y:`66`,width:`22`,height:`100`,class:`dl-dg-box is-accent`},null,-1),i(`text`,{x:`276`,y:`38`,class:`dl-dg-small`},`xₜ`,-1),i(`text`,{x:`276`,y:`120`,class:`dl-dg-small`},`hₜ₋₁`,-1)]]))]),i(`div`,null,[n(C,null,{default:e(()=>[...x[2]||=[i(`ul`,null,[i(`li`,null,[u(`Toy, at `),i(`em`,null,`great`),u(`: `),i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`mrow`,null,[i(`mo`,{fence:`true`},`[`),i(`mtable`,{rowspacing:`0.16em`,columnalign:`center center center center`,columnspacing:`1em`},[i(`mtr`,null,[i(`mtd`,null,[i(`mstyle`,{scriptlevel:`0`,displaystyle:`false`},[i(`mn`,null,`0`)])]),i(`mtd`,null,[i(`mstyle`,{scriptlevel:`0`,displaystyle:`false`},[i(`mn`,null,`2`)])]),i(`mtd`,null,[i(`mstyle`,{scriptlevel:`0`,displaystyle:`false`},[i(`mn`,null,`0.5`)])]),i(`mtd`,null,[i(`mstyle`,{scriptlevel:`0`,displaystyle:`false`},[i(`mn`,null,`0`)])])]),i(`mtr`,null,[i(`mtd`,null,[i(`mstyle`,{scriptlevel:`0`,displaystyle:`false`},[i(`mn`,null,`1`)])]),i(`mtd`,null,[i(`mstyle`,{scriptlevel:`0`,displaystyle:`false`},[i(`mn`,null,`0`)])]),i(`mtd`,null,[i(`mstyle`,{scriptlevel:`0`,displaystyle:`false`},[i(`mrow`,null,[i(`mo`,null,`−`),i(`mn`,null,`1.5`)])])]),i(`mtd`,null,[i(`mstyle`,{scriptlevel:`0`,displaystyle:`false`},[i(`mn`,null,`0.8`)])])])]),i(`mo`,{fence:`true`},`]`)]),i(`mo`,{stretchy:`false`},`[`),i(`mn`,null,`1`),i(`mo`,{separator:`true`},`,`),i(`mn`,null,`0`),i(`mo`,{separator:`true`},`,`),i(`mn`,null,`0.964`),i(`mo`,{separator:`true`},`,`),i(`mn`,null,`0`),i(`msup`,null,[i(`mo`,{stretchy:`false`},`]`),i(`mi`,{mathvariant:`normal`},`⊤`)]),i(`mo`,null,`=`),i(`mo`,{stretchy:`false`},`[`),i(`mn`,null,`0.482`),i(`mo`,{separator:`true`},`,`),i(`mo`,null,`−`),i(`mn`,null,`0.446`),i(`mo`,{stretchy:`false`},`]`)]),i(`annotation`,{encoding:`application/x-tex`},`\\begin{bmatrix} 0 & 2 & 0.5 & 0 \\\\ 1 & 0 & -1.5 & 0.8 \\end{bmatrix} [1, 0, 0.964, 0]^\\top = [0.482, -0.446]`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`2.4em`,"vertical-align":`-0.95em`}}),i(`span`,{class:`minner`},[i(`span`,{class:`mopen delimcenter`,style:{top:`0em`}},[i(`span`,{class:`delimsizing size3`},`[`)]),i(`span`,{class:`mord`},[i(`span`,{class:`mtable`},[i(`span`,{class:`col-align-c`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`1.45em`}},[i(`span`,{style:{top:`-3.61em`}},[i(`span`,{class:`pstrut`,style:{height:`3em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord`},`0`)])]),i(`span`,{style:{top:`-2.41em`}},[i(`span`,{class:`pstrut`,style:{height:`3em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord`},`1`)])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.95em`}},[i(`span`)])])])]),i(`span`,{class:`arraycolsep`,style:{width:`0.5em`}}),i(`span`,{class:`arraycolsep`,style:{width:`0.5em`}}),i(`span`,{class:`col-align-c`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`1.45em`}},[i(`span`,{style:{top:`-3.61em`}},[i(`span`,{class:`pstrut`,style:{height:`3em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord`},`2`)])]),i(`span`,{style:{top:`-2.41em`}},[i(`span`,{class:`pstrut`,style:{height:`3em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord`},`0`)])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.95em`}},[i(`span`)])])])]),i(`span`,{class:`arraycolsep`,style:{width:`0.5em`}}),i(`span`,{class:`arraycolsep`,style:{width:`0.5em`}}),i(`span`,{class:`col-align-c`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`1.45em`}},[i(`span`,{style:{top:`-3.61em`}},[i(`span`,{class:`pstrut`,style:{height:`3em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord`},`0.5`)])]),i(`span`,{style:{top:`-2.41em`}},[i(`span`,{class:`pstrut`,style:{height:`3em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord`},`−`),i(`span`,{class:`mord`},`1.5`)])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.95em`}},[i(`span`)])])])]),i(`span`,{class:`arraycolsep`,style:{width:`0.5em`}}),i(`span`,{class:`arraycolsep`,style:{width:`0.5em`}}),i(`span`,{class:`col-align-c`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`1.45em`}},[i(`span`,{style:{top:`-3.61em`}},[i(`span`,{class:`pstrut`,style:{height:`3em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord`},`0`)])]),i(`span`,{style:{top:`-2.41em`}},[i(`span`,{class:`pstrut`,style:{height:`3em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord`},`0.8`)])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.95em`}},[i(`span`)])])])])])]),i(`span`,{class:`mclose delimcenter`,style:{top:`0em`}},[i(`span`,{class:`delimsizing size3`},`]`)])]),i(`span`,{class:`mspace`,style:{"margin-right":`0.1667em`}}),i(`span`,{class:`mopen`},`[`),i(`span`,{class:`mord`},`1`),i(`span`,{class:`mpunct`},`,`),i(`span`,{class:`mspace`,style:{"margin-right":`0.1667em`}}),i(`span`,{class:`mord`},`0`),i(`span`,{class:`mpunct`},`,`),i(`span`,{class:`mspace`,style:{"margin-right":`0.1667em`}}),i(`span`,{class:`mord`},`0.964`),i(`span`,{class:`mpunct`},`,`),i(`span`,{class:`mspace`,style:{"margin-right":`0.1667em`}}),i(`span`,{class:`mord`},`0`),i(`span`,{class:`mclose`},[i(`span`,{class:`mclose`},`]`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.8491em`}},[i(`span`,{style:{top:`-3.063em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mtight`},`⊤`)])])])])])])]),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}}),i(`span`,{class:`mrel`},`=`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}})]),i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`1em`,"vertical-align":`-0.25em`}}),i(`span`,{class:`mopen`},`[`),i(`span`,{class:`mord`},`0.482`),i(`span`,{class:`mpunct`},`,`),i(`span`,{class:`mspace`,style:{"margin-right":`0.1667em`}}),i(`span`,{class:`mord`},`−`),i(`span`,{class:`mord`},`0.446`),i(`span`,{class:`mclose`},`]`)])])])])],-1)]]),_:1}),s((d(),a(`div`,b,[...x[3]||=[i(`p`,null,[i(`strong`,null,`One dense layer`),u(` reading word and note, joined. Real size: `),i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`mn`,null,`128`),i(`mo`,null,`×`),i(`mn`,null,`192`)]),i(`annotation`,{encoding:`application/x-tex`},`128 \\times 192`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.7278em`,"vertical-align":`-0.0833em`}}),i(`span`,{class:`mord`},`128`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}}),i(`span`,{class:`mbin`},`×`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}})]),i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.6444em`}}),i(`span`,{class:`mord`},`192`)])])]),u(`.`)],-1)]])),[[w]])])])]),_:1},16)}}};export{x as default}; \ No newline at end of file diff --git a/lecture-05/assets/md-BmlYDvkZ.css b/lecture-05/assets/md-BmlYDvkZ.css new file mode 100644 index 0000000000000000000000000000000000000000..8edf6f26ec265be0d5daa66a4657f6f01d2919db --- /dev/null +++ b/lecture-05/assets/md-BmlYDvkZ.css @@ -0,0 +1 @@ +.dl-act__tabs[data-v-5bf26593]{flex-wrap:wrap;gap:.3rem;display:flex}.dl-act__tabs button[data-v-5bf26593]{font:inherit;border:1px solid var(--dl-border);color:var(--dl-body);cursor:pointer;background:0 0;border-radius:5px;padding:.25rem .6rem;font-size:.78rem}.dl-act__tabs button[data-v-5bf26593]:hover{border-color:var(--dl-accent)}.dl-act__tabs button.is-active[data-v-5bf26593]{background:var(--dl-accent);border-color:var(--dl-accent);color:#fff;font-weight:600}.dl-act__probe[data-v-5bf26593]{min-width:11rem}.dl-act__toggle[data-v-5bf26593]{cursor:pointer;align-items:center;gap:.35rem;font-size:.8rem;display:inline-flex}.dl-act__toggle input[data-v-5bf26593]{accent-color:var(--dl-accent)}.dl-act__formula[data-v-5bf26593]{margin-bottom:.25rem;font-size:1.05rem}.dl-act__numbers strong[data-v-5bf26593]{color:var(--dl-heading)}.dl-act__numbers strong.is-dead[data-v-5bf26593]{color:var(--dl-danger)}.dl-act__warn[data-v-5bf26593]{color:var(--dl-danger);margin-left:.5rem}.dl-act__note[data-v-5bf26593]{max-width:60ch;margin:.35rem 0 0;line-height:1.45} diff --git a/lecture-05/assets/md-BovLBUJI.js b/lecture-05/assets/md-BovLBUJI.js new file mode 100644 index 0000000000000000000000000000000000000000..6e3b91807f1d9c2e68d5fbf5c676a7abf2c7230b --- /dev/null +++ b/lecture-05/assets/md-BovLBUJI.js @@ -0,0 +1 @@ +import{$ as e,E as t,S as n,St as r,V as i,W as a,_ as o,b as s,bt as c,et as l,m as u,v as d,vt as f,x as p,yt as m,z as h}from"./modules/shiki-CkJq9tSf.js";import{n as g,t as _}from"./slidev/context-DnYiQGy6.js";import{t as v}from"./default-BTjgsdmC.js";import{t as y}from"./slidev/VClicks-DLDbGwsQ.js";var b={viewBox:`0 0 660 214`,class:`dl-diagram`,role:`img`,"aria-label":`Left, training: the true words the, movie, was, not go in at four steps, and at each step the prediction is compared with the true next word movie, was, not, great, giving four losses. Right, generating: only the goes in; each predicted word is fed back in as the next input, one step at a time`},x=[`x`],S=[`x`],C=[`x`,`textContent`],w=[`d`],T=[`x`],E=[`x`],D=[`d`],O=[`x`],k=[`x`,`textContent`],A=[`d`],j=[`x`],M=[`x`,`textContent`],N=[`d`],P=[`x`],F=[`x`],I=[`d`],L=[`x`],R=[`x`,`textContent`],z=[`d`],B=[`d`],V={class:`dl-tight`},H={__name:`slides.md__slidev_63`,setup(H){let{$slidev:U,$nav:W,$clicksContext:G,$clicks:K,$page:q,$renderContext:J,$frontmatter:Y}=g();return G.setup(),(g,H)=>{let U=y,W=a(`click`);return h(),d(v,c(t(f(_)(f(Y),62))),{default:e(()=>[H[7]||=o(`h1`,null,`Generating one step at a time`,-1),H[8]||=o(`p`,null,`One next-word model, fed in two different ways.`,-1),(h(),s(`svg`,b,[H[2]||=o(`defs`,null,[o(`marker`,{id:`l5f-gen-head`,markerWidth:`7`,markerHeight:`7`,refX:`6`,refY:`3.5`,orient:`auto`},[o(`path`,{class:`dl-dg-head`,d:`M0 0 L7 3.5 L0 7 z`})])],-1),H[3]||=o(`text`,{class:`dl-dg-lab is-sm`,x:`10`,y:`14`},`Training: the true review is known`,-1),(h(),s(u,null,i([`the`,`movie`,`was`,`not`],(e,t)=>o(`g`,{key:`t${t}`},[o(`text`,{class:`dl-dg-small is-good`,x:40+t*74,y:`38`,"text-anchor":`middle`},`loss`,8,x),o(`rect`,{class:`dl-dg-box`,x:12+t*74,y:`46`,width:`56`,height:`24`,rx:`3`},null,8,S),o(`text`,{class:`dl-dg-lab is-sm`,x:40+t*74,y:`63`,"text-anchor":`middle`,textContent:r([`movie`,`was`,`not`,`great`][t])},null,8,C),o(`path`,{class:`dl-dg-arrow`,"marker-end":`url(#l5f-gen-head)`,d:`M${40+t*74} 98 V74`},null,8,w),o(`rect`,{class:`dl-dg-net`,x:16+t*74,y:`100`,width:`48`,height:`30`,rx:`5`},null,8,T),o(`text`,{class:`dl-dg-in`,x:40+t*74,y:`120`,"text-anchor":`middle`},`RNN`,8,E),o(`path`,{class:`dl-dg-arrow`,"marker-end":`url(#l5f-gen-head)`,d:`M${40+t*74} 160 V134`},null,8,D),o(`rect`,{class:`dl-dg-box is-accent`,x:12+t*74,y:`162`,width:`56`,height:`24`,rx:`3`},null,8,O),o(`text`,{class:`dl-dg-lab is-sm`,x:40+t*74,y:`179`,"text-anchor":`middle`,textContent:r(e)},null,8,k)])),64)),(h(),s(u,null,i(3,e=>o(`path`,{key:`th${e}`,class:`dl-dg-line`,"marker-end":`url(#l5f-gen-head)`,d:`M${64+(e-1)*74} 115 H${86+(e-1)*74}`},null,8,A)),64)),H[4]||=o(`text`,{class:`dl-dg-small`,x:`10`,y:`206`},`target: the true next word · input: the true word`,-1),H[5]||=o(`path`,{class:`dl-dg-split`,d:`M322 6 V206`},null,-1),l((h(),s(`g`,null,[H[0]||=o(`text`,{class:`dl-dg-lab is-sm`,x:`336`,y:`14`},`Generating: no true review exists`,-1),(h(),s(u,null,i(4,e=>o(`g`,{key:`g${e}`},[o(`rect`,{class:`dl-dg-box`,x:334+(e-1)*82,y:`46`,width:`60`,height:`24`,rx:`3`},null,8,j),o(`text`,{class:`dl-dg-lab is-sm`,x:364+(e-1)*82,y:`63`,"text-anchor":`middle`,textContent:r([`movie`,`was`,`not`,`great`][e-1])},null,8,M),o(`path`,{class:`dl-dg-arrow`,"marker-end":`url(#l5f-gen-head)`,d:`M${364+(e-1)*82} 98 V74`},null,8,N),o(`rect`,{class:`dl-dg-net`,x:340+(e-1)*82,y:`100`,width:`48`,height:`30`,rx:`5`},null,8,P),o(`text`,{class:`dl-dg-in`,x:364+(e-1)*82,y:`120`,"text-anchor":`middle`},`RNN`,8,F),o(`path`,{class:`dl-dg-arrow`,"marker-end":`url(#l5f-gen-head)`,d:`M${364+(e-1)*82} 160 V134`},null,8,I),o(`rect`,{class:m(e===1?`dl-dg-box is-accent`:`dl-dg-box`),x:334+(e-1)*82,y:`162`,width:`60`,height:`24`,rx:`3`},null,10,L),o(`text`,{class:`dl-dg-lab is-sm`,x:364+(e-1)*82,y:`179`,"text-anchor":`middle`,textContent:r([`the`,`movie`,`was`,`not`][e-1])},null,8,R)])),64)),(h(),s(u,null,i(3,e=>o(`path`,{key:`gh${e}`,class:`dl-dg-line`,"marker-end":`url(#l5f-gen-head)`,d:`M${388+(e-1)*82} 115 H${419+(e-1)*82}`},null,8,z)),64)),(h(),s(u,null,i(3,e=>o(`path`,{key:`gb${e}`,class:`dl-dg-grad is-good`,"marker-end":`url(#l5f-gen-head)`,d:`M${396+(e-1)*82} 58 Q${412+(e-1)*82} 58 ${412+(e-1)*82} 120 Q${412+(e-1)*82} 174 ${420+(e-1)*82} 174`},null,8,B)),64)),H[1]||=o(`text`,{class:`dl-dg-small`,x:`336`,y:`206`},`input: the model's own last guess`,-1)])),[[W,1]])])),o(`div`,V,[n(U,null,{default:e(()=>[...H[6]||=[o(`ul`,null,[o(`li`,null,[o(`strong`,null,`Training`),p(` feeds the `),o(`em`,null,`true`),p(` previous word (`),o(`strong`,null,`teacher forcing`),p(`). All inputs are known, so one forward call covers the review.`)]),o(`li`,null,[o(`strong`,null,`Generating`),p(` feeds its `),o(`em`,null,`own`),p(` last guess. One wrong word changes every later input (`),o(`strong`,null,`exposure bias`),p(`).`)])],-1)]]),_:1})])]),_:1},16)}}};export{H as default}; \ No newline at end of file diff --git a/lecture-05/assets/md-BqMYp0UI.js b/lecture-05/assets/md-BqMYp0UI.js new file mode 100644 index 0000000000000000000000000000000000000000..b3af3290df21a2887bec988e6a56622b99ad56cf --- /dev/null +++ b/lecture-05/assets/md-BqMYp0UI.js @@ -0,0 +1 @@ +import{$ as e,E as t,S as n,St as r,V as i,W as a,_ as o,b as s,bt as c,et as l,m as u,v as d,vt as f,x as p,z as m}from"./modules/shiki-CkJq9tSf.js";import{n as h,t as g}from"./slidev/context-DnYiQGy6.js";import{t as _}from"./slidev/VClicks-DLDbGwsQ.js";import{t as v}from"./interactive-pqWNz3EB.js";import{t as y}from"./EmbeddingLab-XVnfZGjB.js";var b={viewBox:`0 0 280 78`,class:`dl-diagram`,role:`img`,"aria-label":`The toy table: the, movie and was map to 0, 0; not maps to 0, 1; great maps to 1, 0`},x=[`y`],S=[`y`],C=[`y`],w=[`y`],T=[`y`],E={class:`mt-2 dl-callout`},D={__name:`slides.md__slidev_50`,setup(D){let{$slidev:O,$nav:k,$clicksContext:A,$clicks:j,$page:M,$renderContext:N,$frontmatter:P}=h();return A.setup(),(h,D)=>{let O=y,k=_,A=a(`click`);return m(),d(v,c(t(f(g)(f(P),49))),{aside:e(t=>[D[2]||=o(`p`,null,[p(`Our review’s table was `),o(`strong`,null,`set by hand`),p(`:`)],-1),(m(),s(`svg`,b,[(m(),s(u,null,i([[`the, movie, was`,`0`,`0`],[`not`,`0`,`1`],[`great`,`1`,`0`]],(e,t)=>o(`g`,{key:`l5c-toy${t}`},[o(`text`,{class:`dl-dg-small`,x:`132`,y:20+t*24,"text-anchor":`end`},r(e[0]),9,x),o(`rect`,{class:`dl-dg-box is-accent`,x:`142`,y:6+t*24,width:`44`,height:`20`,rx:`2`},null,8,S),o(`rect`,{class:`dl-dg-box is-accent`,x:`190`,y:6+t*24,width:`44`,height:`20`,rx:`2`},null,8,C),o(`text`,{class:`dl-dg-in`,x:`164`,y:21+t*24,"text-anchor":`middle`},r(e[1]),9,w),o(`text`,{class:`dl-dg-in`,x:`212`,y:21+t*24,"text-anchor":`middle`},r(e[2]),9,T)])),64))])),n(k,null,{default:e(()=>[...D[0]||=[o(`ul`,null,[o(`li`,null,[p(`The widget: a `),o(`strong`,null,`different, bigger`),p(` table, 9 words × 4 numbers`)]),o(`li`,null,[p(`Real: 20 000 rows of `),o(`strong`,null,`64 learned`),p(` numbers`)])],-1)]]),_:1}),l((m(),s(`div`,E,[...D[1]||=[o(`p`,null,`One-hot times the table picks a row. So it trains like any layer.`,-1)]])),[[A]])]),default:e(()=>[n(O)]),_:1},16)}}};export{D as default}; \ No newline at end of file diff --git a/lecture-05/assets/md-BwWsYUud.js b/lecture-05/assets/md-BwWsYUud.js new file mode 100644 index 0000000000000000000000000000000000000000..5f79be3d2162b0c2a8ac76148be2060e46d0c073 --- /dev/null +++ b/lecture-05/assets/md-BwWsYUud.js @@ -0,0 +1 @@ +import{$ as e,E as t,S as n,W as r,_ as i,b as a,bt as o,et as s,v as c,vt as l,x as u,z as d}from"./modules/shiki-CkJq9tSf.js";import{n as f,t as p}from"./slidev/context-DnYiQGy6.js";import{t as m}from"./WordStrip-wEzaLRUv.js";import{t as h}from"./default-BTjgsdmC.js";import{t as g}from"./slidev/VClicks-DLDbGwsQ.js";var _={class:`grid grid-cols-[1fr_13rem] gap-8 mt-2 items-center`},v={class:`grid grid-cols-[1fr_5.5rem] gap-2 items-center`},y={class:`mt-4`},b={class:`mt-3 dl-callout`},x={__name:`slides.md__slidev_5`,setup(x){let{$slidev:S,$nav:C,$clicksContext:w,$clicks:T,$page:E,$renderContext:D,$frontmatter:O}=f();return w.setup(),(f,x)=>{let S=m,C=g,w=r(`click`);return d(),c(h,o(t(l(p)(l(O),4))),{default:e(()=>[x[5]||=i(`h1`,null,`Two reviews, one word apart`,-1),i(`div`,_,[i(`div`,null,[i(`div`,v,[n(S,{review:`A`,width:440}),x[0]||=i(`span`,{class:`dl-secondary`},`positive`,-1),n(S,{review:`B`,highlight:`not`,width:440}),x[1]||=i(`span`,{class:`dl-secondary`},`negative`,-1)]),i(`div`,y,[n(C,null,{default:e(()=>[...x[2]||=[i(`ul`,null,[i(`li`,null,`Same words except one. Opposite labels.`),i(`li`,null,[i(`em`,null,`not`),u(` alone means little. It flips the word `),i(`strong`,null,`after`),u(` it.`)]),i(`li`,null,`So the model must carry something from one word to the next.`)],-1)]]),_:1})])]),x[3]||=i(`div`,null,[i(`svg`,{viewBox:`0 0 220 200`,class:`dl-diagram is-xs`,role:`img`,"aria-label":`A toy two-dimensional embedding: the, movie and was at the origin, not at zero one, great at one zero`},[i(`path`,{class:`dl-dg-arrow`,d:`M40 160 H200 M40 160 V20`}),i(`circle`,{class:`dl-dg-dot`,cx:`40`,cy:`160`,r:`5`}),i(`circle`,{class:`dl-dg-dot is-accent`,cx:`40`,cy:`50`,r:`6`}),i(`circle`,{class:`dl-dg-dot`,cx:`150`,cy:`160`,r:`5`}),i(`text`,{class:`dl-dg-small`,x:`48`,y:`128`},`the, movie, was [0, 0]`),i(`text`,{class:`dl-dg-small`,x:`50`,y:`54`},`not [0, 1]`),i(`text`,{class:`dl-dg-small`,x:`150`,y:`148`,"text-anchor":`middle`},`great [1, 0]`),i(`text`,{class:`dl-dg-small`,x:`40`,y:`182`},`dim 1: positive`),i(`text`,{class:`dl-dg-small`,x:`40`,y:`14`},`dim 2: negation`)]),i(`div`,{class:`dl-secondary text-center`},`Toy embedding: two numbers per word`)],-1)]),s((d(),a(`div`,b,[...x[4]||=[i(`p`,null,`These two reviews run through the whole lecture.`,-1)]])),[[w]])]),_:1},16)}}};export{x as default}; \ No newline at end of file diff --git a/lecture-05/assets/md-Bwo4AxQp.js b/lecture-05/assets/md-Bwo4AxQp.js new file mode 100644 index 0000000000000000000000000000000000000000..fbca831bfa71d19ab215b0ce72e8b4e38a45e66a --- /dev/null +++ b/lecture-05/assets/md-Bwo4AxQp.js @@ -0,0 +1 @@ +import{$ as e,E as t,S as n,_ as r,bt as i,v as a,vt as o,x as s,z as c}from"./modules/shiki-CkJq9tSf.js";import{n as l,t as u}from"./slidev/context-DnYiQGy6.js";import{t as d}from"./WordStrip-wEzaLRUv.js";import{t as f}from"./default-BTjgsdmC.js";import{t as p}from"./slidev/VClicks-DLDbGwsQ.js";var m={class:`flex flex-col gap-1 mt-2 mx-auto`,style:{"max-width":`600px`}},h={class:`dl-tight mt-2`},g={__name:`slides.md__slidev_56`,setup(g){let{$slidev:_,$nav:v,$clicksContext:y,$clicks:b,$page:x,$renderContext:S,$frontmatter:C}=l();return y.setup(),(l,g)=>{let _=d,v=p;return c(),a(f,i(t(o(u)(o(C),55))),{default:e(()=>[g[1]||=r(`h1`,null,`Sequences in a batch are not the same length`,-1),g[2]||=r(`p`,null,[s(`A batch is one rectangle. Short reviews are filled up with a reserved `),r(`strong`,null,`pad`),s(` token, id 0.`)],-1),r(`div`,m,[n(_,{review:[`a`,`brilliant`,`film`,`about`,`nothing`,...[,,,].fill(``)],upto:5,width:600},null,8,[`review`]),n(_,{review:[`not`,`worth`,`it`,...[,,,,,].fill(``)],upto:3,width:600},null,8,[`review`]),n(_,{review:[`the`,`movie`,`was`,`not`,`great`,`but`,`well`,`acted`],upto:8,highlight:`not`,width:600}),n(_,{review:[`utterly`,`awful`,...[,,,,,,].fill(``)],upto:2,highlight:`awful`,width:600},null,8,[`review`])]),r(`div`,h,[n(v,null,{default:e(()=>[...g[0]||=[r(`ul`,null,[r(`li`,null,`18 real tokens, 14 pads: nearly half the batch is nothing`),r(`li`,null,[s(`The LSTM runs 8 steps on `),r(`em`,null,`utterly awful`),s(`. Six of them read padding`)]),r(`li`,null,[s(`So `),r(`code`,null,`h_n`),s(` is the state after the padding. The batch must carry its `),r(`strong`,null,`lengths`)])],-1)]]),_:1})])]),_:1},16)}}};export{g as default}; \ No newline at end of file diff --git a/lecture-05/assets/md-BzOKxHOL.js b/lecture-05/assets/md-BzOKxHOL.js new file mode 100644 index 0000000000000000000000000000000000000000..b090153d450ad53306c04a315f37972da2356c1a --- /dev/null +++ b/lecture-05/assets/md-BzOKxHOL.js @@ -0,0 +1 @@ +import{$ as e,E as t,S as n,_ as r,bt as i,v as a,vt as o,z as s}from"./modules/shiki-CkJq9tSf.js";import{n as c,t as l}from"./slidev/context-DnYiQGy6.js";import{t as u}from"./RnnGlyph-DxX0mQto.js";import{t as d}from"./section-CLxRKQ9Y.js";var f={style:{position:`absolute`,right:`4.5rem`,top:`50%`,transform:`translateY(-50%)`}},p={__name:`slides.md__slidev_62`,setup(p){let{$slidev:m,$nav:h,$clicksContext:g,$clicks:_,$page:v,$renderContext:y,$frontmatter:b}=c();return g.setup(),(c,p)=>{let m=u;return s(),a(d,i(t(o(l)(o(b),61))),{default:e(()=>[p[0]||=r(`h1`,null,`Generating, and the wall`,-1),r(`div`,f,[n(m,{kind:`generate`,size:190})])]),_:1},16)}}};export{p as default}; \ No newline at end of file diff --git a/lecture-05/assets/md-C-7Ayaf_.js b/lecture-05/assets/md-C-7Ayaf_.js new file mode 100644 index 0000000000000000000000000000000000000000..4bf9c2930a613c1a0f50a74eefdce85b1f88a332 --- /dev/null +++ b/lecture-05/assets/md-C-7Ayaf_.js @@ -0,0 +1 @@ +import{$ as e,E as t,S as n,_ as r,bt as i,v as a,vt as o,z as s}from"./modules/shiki-CkJq9tSf.js";import{n as c,t as l}from"./slidev/context-DnYiQGy6.js";import{t as u}from"./RnnGlyph-DxX0mQto.js";import{t as d}from"./section-CLxRKQ9Y.js";var f={style:{position:`absolute`,right:`4.5rem`,top:`50%`,transform:`translateY(-50%)`}},p={__name:`slides.md__slidev_3`,setup(p){let{$slidev:m,$nav:h,$clicksContext:g,$clicks:_,$page:v,$renderContext:y,$frontmatter:b}=c();return g.setup(),(c,p)=>{let m=u;return s(),a(d,i(t(o(l)(o(b),2))),{default:e(()=>[p[0]||=r(`h1`,null,`The data changed`,-1),r(`div`,f,[n(m,{kind:`sequence`,size:190})])]),_:1},16)}}};export{p as default}; \ No newline at end of file diff --git a/lecture-05/assets/md-C-FeioU4.js b/lecture-05/assets/md-C-FeioU4.js new file mode 100644 index 0000000000000000000000000000000000000000..dae89c7cde03a1f105fd08e7abafea1625696c24 --- /dev/null +++ b/lecture-05/assets/md-C-FeioU4.js @@ -0,0 +1 @@ +import{$ as e,E as t,S as n,W as r,_ as i,b as a,bt as o,et as s,v as c,vt as l,x as u,z as d}from"./modules/shiki-CkJq9tSf.js";import{n as f,t as p}from"./slidev/context-DnYiQGy6.js";import{t as m}from"./default-BTjgsdmC.js";import{t as h}from"./slidev/VClicks-DLDbGwsQ.js";import{t as g}from"./slidev/KaTexBlockWrapper-DAxOb9nH.js";var _={class:`dl-math-sm`},v={class:`grid grid-cols-[1fr_1.15fr] gap-8 mt-2 items-start dl-tight`},y={class:`mt-2 dl-callout`},b={class:`mt-2 dl-secondary`},x={__name:`slides.md__slidev_17`,setup(x){let{$slidev:S,$nav:C,$clicksContext:w,$clicks:T,$page:E,$renderContext:D,$frontmatter:O}=f();return w.setup(),(f,x)=>{let S=g,C=h,w=r(`click`);return d(),c(m,o(t(l(p)(l(O),16))),{default:e(()=>[x[5]||=i(`h1`,null,`The forward pass, written down`,-1),x[6]||=i(`p`,null,`The new note is a squashed sum of this word and the old note:`,-1),i(`div`,_,[n(S,{ranges:[]},{default:e(()=>[...x[0]||=[i(`p`,null,[i(`span`,{class:`katex-display`},[i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`,display:`block`},[i(`semantics`,null,[i(`mrow`,null,[i(`msub`,null,[i(`mi`,{mathvariant:`bold`},`h`),i(`mi`,null,`t`)]),i(`mo`,null,`=`),i(`mi`,null,`tanh`),i(`mo`,null,`⁡`),i(`mtext`,null,` ⁣`),i(`mrow`,null,[i(`mo`,{fence:`true`},`(`),i(`msub`,null,[i(`mi`,null,`W`),i(`mrow`,null,[i(`mi`,null,`x`),i(`mi`,null,`h`)])]),i(`mtext`,null,` `),i(`msub`,null,[i(`mi`,{mathvariant:`bold`},`x`),i(`mi`,null,`t`)]),i(`mo`,null,`+`),i(`msub`,null,[i(`mi`,null,`W`),i(`mrow`,null,[i(`mi`,null,`h`),i(`mi`,null,`h`)])]),i(`mtext`,null,` `),i(`msub`,null,[i(`mi`,{mathvariant:`bold`},`h`),i(`mrow`,null,[i(`mi`,null,`t`),i(`mo`,null,`−`),i(`mn`,null,`1`)])]),i(`mo`,null,`+`),i(`msub`,null,[i(`mi`,{mathvariant:`bold`},`b`),i(`mi`,null,`h`)]),i(`mo`,{fence:`true`},`)`)]),i(`mspace`,{width:`2em`}),i(`msub`,null,[i(`mi`,{mathvariant:`bold`},`o`),i(`mi`,null,`t`)]),i(`mo`,null,`=`),i(`msub`,null,[i(`mi`,null,`W`),i(`mrow`,null,[i(`mi`,null,`h`),i(`mi`,null,`o`)])]),i(`mtext`,null,` `),i(`msub`,null,[i(`mi`,{mathvariant:`bold`},`h`),i(`mi`,null,`t`)]),i(`mo`,null,`+`),i(`msub`,null,[i(`mi`,{mathvariant:`bold`},`b`),i(`mi`,null,`o`)])]),i(`annotation`,{encoding:`application/x-tex`},`\\mathbf{h}_t = \\tanh\\!\\left(W_{xh}\\,\\mathbf{x}_t + W_{hh}\\,\\mathbf{h}_{t-1} + \\mathbf{b}_h\\right) \\qquad \\mathbf{o}_t = W_{ho}\\,\\mathbf{h}_t + \\mathbf{b}_o`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.8444em`,"vertical-align":`-0.15em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathbf`},`h`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.2806em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mathnormal mtight`},`t`)])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.15em`}},[i(`span`)])])])])]),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}}),i(`span`,{class:`mrel`},`=`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}})]),i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`1em`,"vertical-align":`-0.25em`}}),i(`span`,{class:`mop`},`tanh`),i(`span`,{class:`mspace`,style:{"margin-right":`-0.1667em`}}),i(`span`,{class:`mspace`,style:{"margin-right":`0.1667em`}}),i(`span`,{class:`minner`},[i(`span`,{class:`mopen delimcenter`,style:{top:`0em`}},`(`),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathnormal`,style:{"margin-right":`0.1389em`}},`W`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.3361em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`-0.1389em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mtight`},[i(`span`,{class:`mord mathnormal mtight`},`x`),i(`span`,{class:`mord mathnormal mtight`},`h`)])])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.15em`}},[i(`span`)])])])])]),i(`span`,{class:`mspace`,style:{"margin-right":`0.1667em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathbf`},`x`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.2806em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mathnormal mtight`},`t`)])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.15em`}},[i(`span`)])])])])]),i(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}}),i(`span`,{class:`mbin`},`+`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathnormal`,style:{"margin-right":`0.1389em`}},`W`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.3361em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`-0.1389em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mtight`},[i(`span`,{class:`mord mathnormal mtight`},`hh`)])])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.15em`}},[i(`span`)])])])])]),i(`span`,{class:`mspace`,style:{"margin-right":`0.1667em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathbf`},`h`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.3011em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mtight`},[i(`span`,{class:`mord mathnormal mtight`},`t`),i(`span`,{class:`mbin mtight`},`−`),i(`span`,{class:`mord mtight`},`1`)])])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.2083em`}},[i(`span`)])])])])]),i(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}}),i(`span`,{class:`mbin`},`+`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathbf`},`b`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.3361em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mathnormal mtight`},`h`)])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.15em`}},[i(`span`)])])])])]),i(`span`,{class:`mclose delimcenter`,style:{top:`0em`}},`)`)]),i(`span`,{class:`mspace`,style:{"margin-right":`2em`}}),i(`span`,{class:`mspace`,style:{"margin-right":`0.1667em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathbf`},`o`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.2806em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mathnormal mtight`},`t`)])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.15em`}},[i(`span`)])])])])]),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}}),i(`span`,{class:`mrel`},`=`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}})]),i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.8444em`,"vertical-align":`-0.15em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathnormal`,style:{"margin-right":`0.1389em`}},`W`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.3361em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`-0.1389em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mtight`},[i(`span`,{class:`mord mathnormal mtight`},`h`),i(`span`,{class:`mord mathnormal mtight`},`o`)])])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.15em`}},[i(`span`)])])])])]),i(`span`,{class:`mspace`,style:{"margin-right":`0.1667em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathbf`},`h`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.2806em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mathnormal mtight`},`t`)])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.15em`}},[i(`span`)])])])])]),i(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}}),i(`span`,{class:`mbin`},`+`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}})]),i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.8444em`,"vertical-align":`-0.15em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathbf`},`b`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.1514em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mathnormal mtight`},`o`)])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.15em`}},[i(`span`)])])])])])])])])])],-1)]]),_:1})]),i(`div`,v,[x[4]||=i(`div`,null,[i(`svg`,{viewBox:`0 0 320 170`,class:`dl-diagram is-sm`,role:`img`,"aria-label":`One recurrent cell: the old state comes in from the left, the input from below, the new state leaves to the right and the output goes up`},[i(`defs`,null,[i(`marker`,{id:`l5b-fwd-head`,markerWidth:`7`,markerHeight:`7`,refX:`6`,refY:`3.5`,orient:`auto`},[i(`path`,{d:`M0 0 L7 3.5 L0 7 z`,class:`dl-dg-head`})])]),i(`rect`,{x:`115`,y:`66`,width:`90`,height:`42`,rx:`6`,class:`dl-dg-box is-accent`}),i(`text`,{x:`160`,y:`93`,"text-anchor":`middle`,class:`dl-dg-lab is-sm`},`tanh`),i(`text`,{x:`30`,y:`92`,"text-anchor":`middle`,class:`dl-dg-in`},`hₜ₋₁`),i(`path`,{d:`M52 87 H111`,class:`dl-dg-arrow`,"marker-end":`url(#l5b-fwd-head)`}),i(`text`,{x:`82`,y:`78`,"text-anchor":`middle`,class:`dl-dg-small`},`W_hh`),i(`path`,{d:`M207 87 H266`,class:`dl-dg-arrow`,"marker-end":`url(#l5b-fwd-head)`}),i(`text`,{x:`290`,y:`92`,"text-anchor":`middle`,class:`dl-dg-in`},`hₜ`),i(`text`,{x:`160`,y:`162`,"text-anchor":`middle`,class:`dl-dg-in`},`xₜ`),i(`path`,{d:`M160 146 V112`,class:`dl-dg-arrow`,"marker-end":`url(#l5b-fwd-head)`}),i(`text`,{x:`168`,y:`134`,class:`dl-dg-small`},`W_xh`),i(`path`,{d:`M160 64 V30`,class:`dl-dg-arrow`,"marker-end":`url(#l5b-fwd-head)`}),i(`text`,{x:`168`,y:`50`,class:`dl-dg-small`},`W_ho`),i(`text`,{x:`160`,y:`20`,"text-anchor":`middle`,class:`dl-dg-in`},`oₜ`)])],-1),i(`div`,null,[n(C,null,{default:e(()=>[...x[1]||=[i(`ul`,null,[i(`li`,null,[i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`msub`,null,[i(`mi`,{mathvariant:`bold`},`x`),i(`mi`,null,`t`)])]),i(`annotation`,{encoding:`application/x-tex`},`\\mathbf{x}_t`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.5944em`,"vertical-align":`-0.15em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathbf`},`x`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.2806em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mathnormal mtight`},`t`)])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.15em`}},[i(`span`)])])])])])])])]),u(` — this word’s embedding`)]),i(`li`,null,[i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`msub`,null,[i(`mi`,{mathvariant:`bold`},`h`),i(`mrow`,null,[i(`mi`,null,`t`),i(`mo`,null,`−`),i(`mn`,null,`1`)])])]),i(`annotation`,{encoding:`application/x-tex`},`\\mathbf{h}_{t-1}`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.9028em`,"vertical-align":`-0.2083em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathbf`},`h`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.3011em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mtight`},[i(`span`,{class:`mord mathnormal mtight`},`t`),i(`span`,{class:`mbin mtight`},`−`),i(`span`,{class:`mord mtight`},`1`)])])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.2083em`}},[i(`span`)])])])])])])])]),u(` — the note: `),i(`strong`,null,`all the layer remembers`)]),i(`li`,null,[i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`mi`,null,`tanh`),i(`mo`,null,`⁡`)]),i(`annotation`,{encoding:`application/x-tex`},`\\tanh`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.6944em`}}),i(`span`,{class:`mop`},`tanh`)])])]),u(` keeps `),i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`mi`,{mathvariant:`bold`},`h`)]),i(`annotation`,{encoding:`application/x-tex`},`\\mathbf{h}`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.6944em`}}),i(`span`,{class:`mord mathbf`},`h`)])])]),u(` between −1 and 1`)])],-1)]]),_:1}),s((d(),a(`div`,y,[...x[2]||=[i(`p`,null,`Delete the second term and this is a dense layer.`,-1)]])),[[w]]),s((d(),a(`div`,b,[...x[3]||=[i(`p`,null,[i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`msub`,null,[i(`mi`,{mathvariant:`bold`},`o`),i(`mi`,null,`t`)])]),i(`annotation`,{encoding:`application/x-tex`},`\\mathbf{o}_t`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.5944em`,"vertical-align":`-0.15em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathbf`},`o`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.2806em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mathnormal mtight`},`t`)])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.15em`}},[i(`span`)])])])])])])])]),u(`: logits, with no activation.`)],-1)]])),[[w]])])])]),_:1},16)}}};export{x as default}; \ No newline at end of file diff --git a/lecture-05/assets/md-C0dfuBBV2.js b/lecture-05/assets/md-C0dfuBBV2.js new file mode 100644 index 0000000000000000000000000000000000000000..fe90d5c30b4d8d164c8ee136fbbd8085fe3fe183 --- /dev/null +++ b/lecture-05/assets/md-C0dfuBBV2.js @@ -0,0 +1 @@ +import{$ as e,E as t,S as n,V as r,W as i,_ as a,b as o,bt as s,et as c,m as l,v as u,vt as d,x as f,yt as p,z as m}from"./modules/shiki-CkJq9tSf.js";import{n as h,t as g}from"./slidev/context-DnYiQGy6.js";import{t as _}from"./default-BTjgsdmC.js";import{t as v}from"./RnnGlyph-DxX0mQto.js";var y={class:`grid grid-cols-3 gap-6 mt-2 dl-tight`},b={viewBox:`0 0 120 64`,class:`dl-diagram is-xs`,role:`img`,"aria-label":`A chain of cells with a cut after two of them`},x=[`x`],S={class:`flex justify-center`},C={class:`mt-4 dl-callout`},w={__name:`slides.md__slidev_34`,setup(w){let{$slidev:T,$nav:E,$clicksContext:D,$clicks:O,$page:k,$renderContext:A,$frontmatter:j}=h();return D.setup(),(h,w)=>{let T=v,E=i(`click`);return m(),u(_,s(t(d(g)(d(j),33))),{default:e(()=>[w[9]||=a(`h1`,null,`Three ways out, honestly ranked`,-1),a(`div`,y,[c((m(),o(`div`,null,[...w[0]||=[a(`svg`,{viewBox:`0 0 120 64`,class:`dl-diagram is-xs`,role:`img`,"aria-label":`A tall arrow cut off at a dashed ceiling`},[a(`path`,{d:`M20 58 L100 8`,class:`dl-dg-grad is-bad`}),a(`path`,{d:`M20 58 L60 33`,class:`dl-dg-line`}),a(`path`,{d:`M4 33 H116`,class:`dl-dg-split`,style:{"stroke-dasharray":`4 3`}})],-1),a(`h3`,null,`Gradient clipping`,-1),a(`p`,null,`Cap the gradient’s length.`,-1),a(`div`,{class:`mt-1 dl-secondary`},[a(`p`,null,[f(`Fixes `),a(`strong`,null,`exploding`),f(` only.`)])],-1)]])),[[E]]),c((m(),o(`div`,null,[(m(),o(`svg`,b,[(m(),o(l,null,r(4,e=>a(`g`,{key:e},[a(`rect`,{x:4+(e-1)*30,y:`22`,width:`20`,height:`20`,rx:`3`,class:p(e>2?`dl-dg-box is-accent`:`dl-dg-box`)},null,10,x)])),64)),w[1]||=a(`path`,{d:`M59 10 V54`,class:`dl-dg-grad is-bad`},null,-1)])),w[2]||=a(`h3`,null,`Truncated BPTT`,-1),w[3]||=a(`p`,null,[f(`Backpropagate `),a(`span`,{class:`katex`},[a(`span`,{class:`katex-mathml`},[a(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[a(`semantics`,null,[a(`mrow`,null,[a(`mi`,null,`k`)]),a(`annotation`,{encoding:`application/x-tex`},`k`)])])]),a(`span`,{class:`katex-html`,"aria-hidden":`true`},[a(`span`,{class:`katex-base`},[a(`span`,{class:`katex-strut`,style:{height:`0.6944em`}}),a(`span`,{class:`mord mathnormal`,style:{"margin-right":`0.0315em`}},`k`)])])]),f(` steps, then cut.`)],-1),w[4]||=a(`div`,{class:`mt-1 dl-secondary`},[a(`p`,null,[f(`Nothing beyond `),a(`span`,{class:`katex`},[a(`span`,{class:`katex-mathml`},[a(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[a(`semantics`,null,[a(`mrow`,null,[a(`mi`,null,`k`)]),a(`annotation`,{encoding:`application/x-tex`},`k`)])])]),a(`span`,{class:`katex-html`,"aria-hidden":`true`},[a(`span`,{class:`katex-base`},[a(`span`,{class:`katex-strut`,style:{height:`0.6944em`}}),a(`span`,{class:`mord mathnormal`,style:{"margin-right":`0.0315em`}},`k`)])])]),f(` steps is learned.`)])],-1)])),[[E]]),c((m(),o(`div`,null,[a(`div`,S,[n(T,{kind:`gate`,size:64})]),w[5]||=a(`h3`,null,`Gated cells`,-1),w[6]||=a(`p`,null,[f(`Make the gradient’s path `),a(`strong`,null,`add`),f(`, not multiply.`)],-1),w[7]||=a(`div`,{class:`mt-1 dl-secondary`},[a(`p`,null,`The real fix: the next section.`)],-1)])),[[E]])]),c((m(),o(`div`,C,[...w[8]||=[a(`p`,null,[f(`Use clipping `),a(`strong`,null,`and`),f(` a gated cell. Truncate when a sequence is too long for memory.`)],-1)]])),[[E]])]),_:1},16)}}};export{w as default}; \ No newline at end of file diff --git a/lecture-05/assets/md-C3AcauXK2.js b/lecture-05/assets/md-C3AcauXK2.js new file mode 100644 index 0000000000000000000000000000000000000000..726f7f2f0f6576b73aacbb3b01aef2a598be4bbb --- /dev/null +++ b/lecture-05/assets/md-C3AcauXK2.js @@ -0,0 +1 @@ +import{$ as e,E as t,S as n,V as r,W as i,_ as a,b as o,bt as s,et as c,m as l,v as u,vt as d,x as f,xt as p,z as m}from"./modules/shiki-CkJq9tSf.js";import{n as h,t as g}from"./slidev/context-DnYiQGy6.js";import{t as _}from"./WordStrip-wEzaLRUv.js";import{t as v}from"./default-BTjgsdmC.js";var y={viewBox:`0 0 860 74`,role:`img`,"aria-label":`The gradient reaching each word from the loss at the end: full size at great, 0.8 times smaller per step back, 0.012 at not`,style:{display:`block`,width:`100%`,"max-width":`860px`,height:`auto`,margin:`0 auto`,"font-family":`inherit`}},b=[`x`,`y`,`height`],x={class:`mt-2 dl-callout`},S={class:`mt-2 dl-secondary`},C={__name:`slides.md__slidev_31`,setup(C){let{$slidev:w,$nav:T,$clicksContext:E,$clicks:D,$page:O,$renderContext:k,$frontmatter:A}=h();return E.setup(),(h,C)=>{let w=_,T=i(`click`);return m(),u(v,s(t(d(g)(d(A),30))),{default:e(()=>[C[6]||=a(`h1`,null,`What vanishing feels like`,-1),C[7]||=a(`p`,null,[f(`A long review. The word that decides it, `),a(`em`,null,`not`),f(`, comes 20 steps before `),a(`em`,null,`great`),f(`.`)],-1),n(w,{review:[`not`,`once`,`in`,`the`,`two`,`long`,`hours`,`of`,`this`,`movie`,`with`,`all`,`its`,`stars`,`and`,`all`,`its`,`money`,`was`,`it`,`great`],highlight:`not`,width:860}),c((m(),o(`svg`,y,[(m(),o(l,null,r(21,e=>a(`g`,{key:e,style:p({opacity:.2+.8*.8**(21-e)})},[a(`rect`,{x:4+(e-1)*40.571,y:50-44*.8**(21-e),width:`34.571`,height:Math.max(1.5,44*.8**(21-e)),class:`dl-dg-bar is-bad`},null,8,b)],4)),64)),C[0]||=a(`line`,{x1:`4`,y1:`51`,x2:`856`,y2:`51`,class:`dl-dg-split`},null,-1),C[1]||=a(`text`,{x:`21`,y:`44`,"text-anchor":`middle`,class:`dl-dg-small is-bad`},`0.012`,-1),C[2]||=a(`text`,{x:`833`,y:`66`,"text-anchor":`middle`,class:`dl-dg-small`},`1`,-1),C[3]||=a(`text`,{x:`430`,y:`68`,"text-anchor":`middle`,class:`dl-dg-small`},`← gradient from the loss, × 0.8 per step back`,-1)])),[[T]]),c((m(),o(`div`,x,[...C[4]||=[a(`p`,null,[f(`Simplified: each step back multiplies the gradient by 0.8, the sentiment unit’s self-weight. Twenty steps: `),a(`span`,{class:`katex`},[a(`span`,{class:`katex-mathml`},[a(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[a(`semantics`,null,[a(`mrow`,null,[a(`msup`,null,[a(`mn`,null,`0.8`),a(`mn`,null,`20`)]),a(`mo`,null,`=`),a(`mn`,null,`0.012`)]),a(`annotation`,{encoding:`application/x-tex`},`0.8^{20} = 0.012`)])])]),a(`span`,{class:`katex-html`,"aria-hidden":`true`},[a(`span`,{class:`katex-base`},[a(`span`,{class:`katex-strut`,style:{height:`0.8141em`}}),a(`span`,{class:`mord`},`0.`),a(`span`,{class:`mord`},[a(`span`,{class:`mord`},`8`),a(`span`,{class:`msupsub`},[a(`span`,{class:`vlist-t`},[a(`span`,{class:`vlist-r`},[a(`span`,{class:`vlist`,style:{height:`0.8141em`}},[a(`span`,{style:{top:`-3.063em`,"margin-right":`0.05em`}},[a(`span`,{class:`pstrut`,style:{height:`2.7em`}}),a(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[a(`span`,{class:`mord mtight`},[a(`span`,{class:`mord mtight`},`20`)])])])])])])])]),a(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}}),a(`span`,{class:`mrel`},`=`),a(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}})]),a(`span`,{class:`katex-base`},[a(`span`,{class:`katex-strut`,style:{height:`0.6444em`}}),a(`span`,{class:`mord`},`0.012`)])])]),f(`.`)],-1)]])),[[T]]),c((m(),o(`div`,S,[...C[5]||=[a(`p`,null,[f(`The layer could carry the flag forward. It never `),a(`strong`,null,`receives the training signal`),f(` that says it should.`)],-1)]])),[[T]])]),_:1},16)}}};export{C as default}; \ No newline at end of file diff --git a/lecture-05/assets/md-C6rYsw2P.js b/lecture-05/assets/md-C6rYsw2P.js new file mode 100644 index 0000000000000000000000000000000000000000..8daa640f8fb9579be8c179c4e689f33a55d458db --- /dev/null +++ b/lecture-05/assets/md-C6rYsw2P.js @@ -0,0 +1 @@ +import{$ as e,E as t,V as n,W as r,_ as i,b as a,bt as o,et as s,m as c,v as l,vt as u,x as d,xt as f,z as p}from"./modules/shiki-CkJq9tSf.js";import{n as m,t as h}from"./slidev/context-DnYiQGy6.js";import{t as g}from"./default-BTjgsdmC.js";var _={class:`mt-2 flex justify-center`},v={viewBox:`0 0 640 196`,class:`dl-diagram`,role:`img`,"aria-label":`Top row: the not-flag passes through a chain of states, multiplied at every word, and fades. Bottom row: the flag rides a straight cell-state line in an envelope, with only additions along the way, and arrives intact.`},y=[`d`],b=[`x`],x=[`x`],S=[`cx`],C=[`x`],w=[`x`],T=[`d`],E={class:`mt-2 dl-callout`},D={__name:`slides.md__slidev_38`,setup(D){let{$slidev:O,$nav:k,$clicksContext:A,$clicks:j,$page:M,$renderContext:N,$frontmatter:P}=m();return A.setup(),(m,D)=>{let O=r(`click`);return p(),l(g,o(t(u(h)(u(P),37))),{default:e(()=>[D[12]||=i(`h1`,null,`Stop multiplying, start adding`,-1),D[13]||=i(`p`,null,[d(`A plain RNN (recurrent neural network) `),i(`strong`,null,`rebuilds`),d(` its state at every word. The `),i(`em`,null,`not`),d(`-flag must survive 20 words to reach `),i(`em`,null,`great`),d(`.`)],-1),i(`div`,_,[(p(),a(`svg`,v,[D[6]||=i(`defs`,null,[i(`marker`,{id:`l5c-add-arrow`,markerWidth:`7`,markerHeight:`7`,refX:`6`,refY:`3.5`,orient:`auto`},[i(`path`,{class:`dl-dg-head`,d:`M0 0 L7 3.5 L0 7 z`})])],-1),D[7]||=i(`text`,{class:`dl-dg-small is-bad`,x:`10`,y:`16`},`plain RNN: multiply`,-1),D[8]||=i(`rect`,{class:`dl-dg-box is-accent`,x:`10`,y:`30`,width:`50`,height:`30`,rx:`4`},null,-1),D[9]||=i(`text`,{class:`dl-dg-in`,x:`35`,y:`50`,"text-anchor":`middle`},`not`,-1),(p(),a(c,null,n([1,.7,.45,.28,.15],(e,t)=>i(`g`,{key:`l5c-ch${t}`},[i(`path`,{class:`dl-dg-arrow`,"marker-end":`url(#l5c-add-arrow)`,d:`M${62+t*90} 45 H${94+t*90}`},null,8,y),i(`text`,{class:`dl-dg-small is-bad`,x:78+t*90,y:`34`,"text-anchor":`middle`},`×0.8`,8,b),i(`rect`,{class:`dl-dg-fill`,x:98+t*90,y:`30`,width:`50`,height:`30`,rx:`4`,style:f({opacity:e})},null,12,x)])),64)),D[10]||=i(`text`,{class:`dl-dg-small`,x:`560`,y:`50`},`… 20 words`,-1),s((p(),a(`g`,null,[D[0]||=i(`text`,{class:`dl-dg-small is-good`,x:`10`,y:`106`},`cell state: only add`,-1),D[1]||=i(`rect`,{class:`dl-dg-box is-accent`,x:`10`,y:`130`,width:`50`,height:`30`,rx:`4`},null,-1),D[2]||=i(`text`,{class:`dl-dg-in`,x:`35`,y:`150`,"text-anchor":`middle`},`not`,-1),D[3]||=i(`path`,{class:`dl-dg-line`,d:`M62 145 H550`},null,-1),(p(),a(c,null,n(5,e=>i(`g`,{key:`l5c-pl${e}`},[i(`circle`,{class:`dl-dg-op`,cx:20+e*90,cy:`145`,r:`10`},null,8,S),i(`text`,{class:`dl-dg-lab is-sm`,x:20+e*90,y:`150`,"text-anchor":`middle`},`+`,8,C)])),64)),(p(),a(c,null,n(4,e=>i(`g`,{key:`l5c-env${e}`},[i(`rect`,{class:`dl-dg-box is-accent`,x:51+e*90,y:`136`,width:`28`,height:`18`,rx:`2`},null,8,w),i(`path`,{class:`dl-dg-arrow`,d:`M${51+e*90} 136 L${65+e*90} 147 L${79+e*90} 136`},null,8,T)])),64)),D[4]||=i(`text`,{class:`dl-dg-small`,x:`560`,y:`150`},`… 20 words`,-1),D[5]||=i(`text`,{class:`dl-dg-small is-good`,x:`110`,y:`184`},`factor per word: 1`,-1)])),[[O]])]))]),s((p(),a(`div`,E,[...D[11]||=[i(`p`,null,[d(`But a state that only adds never forgets. So put a `),i(`strong`,null,`learned valve`),d(` on each path: the `),i(`strong`,null,`gates`),d(`.`)],-1)]])),[[O]])]),_:1},16)}}};export{D as default}; \ No newline at end of file diff --git a/lecture-05/assets/md-C7mHCXdU.js b/lecture-05/assets/md-C7mHCXdU.js new file mode 100644 index 0000000000000000000000000000000000000000..799cbc1b1463819ff32a429a3f7e963526b631b3 --- /dev/null +++ b/lecture-05/assets/md-C7mHCXdU.js @@ -0,0 +1 @@ +import{$ as e,E as t,S as n,St as r,V as i,W as a,_ as o,b as s,bt as c,et as l,m as u,v as d,vt as f,x as p,xt as m,z as h}from"./modules/shiki-CkJq9tSf.js";import{n as g,t as _}from"./slidev/context-DnYiQGy6.js";import{t as v}from"./default-BTjgsdmC.js";import{t as y}from"./slidev/KaTexBlockWrapper-DAxOb9nH.js";import{t as b}from"./Citation-BuY_RPc0.js";var x={class:`grid grid-cols-[1.1fr_1fr] gap-6 items-center`},S={class:`dl-math-xs`},C={class:`grid grid-cols-[1fr_9rem] items-center gap-2`},w={class:`grid grid-cols-[1fr_9rem] items-center gap-2`},T={class:`grid grid-cols-[1fr_9rem] items-center gap-2`},E={class:`dl-diagram`,style:{"max-height":`10rem`},viewBox:`0 0 290 196`,role:`img`,"aria-label":`Three stages. Score: encoder states h1, h2, h3 get scores 1.1, 0, 0. Softmax: bars of height 0.6, 0.2, 0.2. Sum: the three feed one context vector with line widths proportional to the weights.`},D=[`x`],O=[`x`],k=[`x`],A=[`x`,`y`,`height`],j=[`x`,`y`],M=[`x1`],N={class:`mt-1`},P={class:`dl-callout`},F={__name:`slides.md__slidev_66`,setup(F){let{$slidev:I,$nav:L,$clicksContext:R,$clicks:z,$page:B,$renderContext:V,$frontmatter:H}=g();return R.setup(),(g,F)=>{let I=y,L=b,R=a(`click`);return h(),d(v,c(t(f(_)(f(H),65))),{default:e(()=>[F[12]||=o(`h1`,null,`Attention, in three lines`,-1),F[13]||=o(`p`,null,`A new context at every output step: a weighted average of encoder states.`,-1),o(`div`,x,[o(`div`,S,[l((h(),s(`div`,C,[o(`div`,null,[n(I,{ranges:[]},{default:e(()=>[...F[0]||=[o(`p`,null,[o(`span`,{class:`katex-display`},[o(`span`,{class:`katex`},[o(`span`,{class:`katex-mathml`},[o(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`,display:`block`},[o(`semantics`,null,[o(`mrow`,null,[o(`msub`,null,[o(`mi`,null,`e`),o(`mrow`,null,[o(`mi`,null,`t`),o(`mo`,{separator:`true`},`,`),o(`mi`,null,`i`)])]),o(`mo`,null,`=`),o(`mi`,null,`a`),o(`mo`,{stretchy:`false`},`(`),o(`msub`,null,[o(`mi`,{mathvariant:`bold`},`s`),o(`mrow`,null,[o(`mi`,null,`t`),o(`mo`,null,`−`),o(`mn`,null,`1`)])]),o(`mo`,{separator:`true`},`,`),o(`mtext`,null,`  `),o(`msub`,null,[o(`mi`,{mathvariant:`bold`},`h`),o(`mi`,null,`i`)]),o(`mo`,{stretchy:`false`},`)`)]),o(`annotation`,{encoding:`application/x-tex`},`e_{t,i} = a(\\mathbf{s}_{t-1},\\; \\mathbf{h}_i)`)])])]),o(`span`,{class:`katex-html`,"aria-hidden":`true`},[o(`span`,{class:`katex-base`},[o(`span`,{class:`katex-strut`,style:{height:`0.7167em`,"vertical-align":`-0.2861em`}}),o(`span`,{class:`mord`},[o(`span`,{class:`mord mathnormal`},`e`),o(`span`,{class:`msupsub`},[o(`span`,{class:`vlist-t vlist-t2`},[o(`span`,{class:`vlist-r`},[o(`span`,{class:`vlist`,style:{height:`0.3117em`}},[o(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[o(`span`,{class:`pstrut`,style:{height:`2.7em`}}),o(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[o(`span`,{class:`mord mtight`},[o(`span`,{class:`mord mathnormal mtight`},`t`),o(`span`,{class:`mpunct mtight`},`,`),o(`span`,{class:`mord mathnormal mtight`},`i`)])])])]),o(`span`,{class:`vlist-s`},`​`)]),o(`span`,{class:`vlist-r`},[o(`span`,{class:`vlist`,style:{height:`0.2861em`}},[o(`span`)])])])])]),o(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}}),o(`span`,{class:`mrel`},`=`),o(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}})]),o(`span`,{class:`katex-base`},[o(`span`,{class:`katex-strut`,style:{height:`1em`,"vertical-align":`-0.25em`}}),o(`span`,{class:`mord mathnormal`},`a`),o(`span`,{class:`mopen`},`(`),o(`span`,{class:`mord`},[o(`span`,{class:`mord mathbf`},`s`),o(`span`,{class:`msupsub`},[o(`span`,{class:`vlist-t vlist-t2`},[o(`span`,{class:`vlist-r`},[o(`span`,{class:`vlist`,style:{height:`0.3011em`}},[o(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[o(`span`,{class:`pstrut`,style:{height:`2.7em`}}),o(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[o(`span`,{class:`mord mtight`},[o(`span`,{class:`mord mathnormal mtight`},`t`),o(`span`,{class:`mbin mtight`},`−`),o(`span`,{class:`mord mtight`},`1`)])])])]),o(`span`,{class:`vlist-s`},`​`)]),o(`span`,{class:`vlist-r`},[o(`span`,{class:`vlist`,style:{height:`0.2083em`}},[o(`span`)])])])])]),o(`span`,{class:`mpunct`},`,`),o(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}}),o(`span`,{class:`mspace`,style:{"margin-right":`0.1667em`}}),o(`span`,{class:`mord`},[o(`span`,{class:`mord mathbf`},`h`),o(`span`,{class:`msupsub`},[o(`span`,{class:`vlist-t vlist-t2`},[o(`span`,{class:`vlist-r`},[o(`span`,{class:`vlist`,style:{height:`0.3117em`}},[o(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[o(`span`,{class:`pstrut`,style:{height:`2.7em`}}),o(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[o(`span`,{class:`mord mathnormal mtight`},`i`)])])]),o(`span`,{class:`vlist-s`},`​`)]),o(`span`,{class:`vlist-r`},[o(`span`,{class:`vlist`,style:{height:`0.15em`}},[o(`span`)])])])])]),o(`span`,{class:`mclose`},`)`)])])])])],-1)]]),_:1})]),F[1]||=o(`div`,{class:`dl-secondary`},[o(`p`,null,[p(`Score each `),o(`span`,{class:`katex`},[o(`span`,{class:`katex-mathml`},[o(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[o(`semantics`,null,[o(`mrow`,null,[o(`msub`,null,[o(`mi`,{mathvariant:`bold`},`h`),o(`mi`,null,`i`)])]),o(`annotation`,{encoding:`application/x-tex`},`\\mathbf{h}_i`)])])]),o(`span`,{class:`katex-html`,"aria-hidden":`true`},[o(`span`,{class:`katex-base`},[o(`span`,{class:`katex-strut`,style:{height:`0.8444em`,"vertical-align":`-0.15em`}}),o(`span`,{class:`mord`},[o(`span`,{class:`mord mathbf`},`h`),o(`span`,{class:`msupsub`},[o(`span`,{class:`vlist-t vlist-t2`},[o(`span`,{class:`vlist-r`},[o(`span`,{class:`vlist`,style:{height:`0.3117em`}},[o(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[o(`span`,{class:`pstrut`,style:{height:`2.7em`}}),o(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[o(`span`,{class:`mord mathnormal mtight`},`i`)])])]),o(`span`,{class:`vlist-s`},`​`)]),o(`span`,{class:`vlist-r`},[o(`span`,{class:`vlist`,style:{height:`0.15em`}},[o(`span`)])])])])])])])])])],-1)])),[[R]]),l((h(),s(`div`,w,[o(`div`,null,[n(I,{ranges:[]},{default:e(()=>[...F[2]||=[o(`p`,null,[o(`span`,{class:`katex-display`},[o(`span`,{class:`katex`},[o(`span`,{class:`katex-mathml`},[o(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`,display:`block`},[o(`semantics`,null,[o(`mrow`,null,[o(`msub`,null,[o(`mi`,null,`α`),o(`mrow`,null,[o(`mi`,null,`t`),o(`mo`,{separator:`true`},`,`),o(`mi`,null,`i`)])]),o(`mo`,null,`=`),o(`mfrac`,null,[o(`mrow`,null,[o(`mi`,null,`exp`),o(`mo`,null,`⁡`),o(`mo`,{stretchy:`false`},`(`),o(`msub`,null,[o(`mi`,null,`e`),o(`mrow`,null,[o(`mi`,null,`t`),o(`mo`,{separator:`true`},`,`),o(`mi`,null,`i`)])]),o(`mo`,{stretchy:`false`},`)`)]),o(`mrow`,null,[o(`munder`,null,[o(`mo`,null,`∑`),o(`mi`,null,`j`)]),o(`mi`,null,`exp`),o(`mo`,null,`⁡`),o(`mo`,{stretchy:`false`},`(`),o(`msub`,null,[o(`mi`,null,`e`),o(`mrow`,null,[o(`mi`,null,`t`),o(`mo`,{separator:`true`},`,`),o(`mi`,null,`j`)])]),o(`mo`,{stretchy:`false`},`)`)])])]),o(`annotation`,{encoding:`application/x-tex`},`\\alpha_{t,i} = \\frac{\\exp(e_{t,i})}{\\sum_j \\exp(e_{t,j})}`)])])]),o(`span`,{class:`katex-html`,"aria-hidden":`true`},[o(`span`,{class:`katex-base`},[o(`span`,{class:`katex-strut`,style:{height:`0.7167em`,"vertical-align":`-0.2861em`}}),o(`span`,{class:`mord`},[o(`span`,{class:`mord mathnormal`,style:{"margin-right":`0.0037em`}},`α`),o(`span`,{class:`msupsub`},[o(`span`,{class:`vlist-t vlist-t2`},[o(`span`,{class:`vlist-r`},[o(`span`,{class:`vlist`,style:{height:`0.3117em`}},[o(`span`,{style:{top:`-2.55em`,"margin-left":`-0.0037em`,"margin-right":`0.05em`}},[o(`span`,{class:`pstrut`,style:{height:`2.7em`}}),o(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[o(`span`,{class:`mord mtight`},[o(`span`,{class:`mord mathnormal mtight`},`t`),o(`span`,{class:`mpunct mtight`},`,`),o(`span`,{class:`mord mathnormal mtight`},`i`)])])])]),o(`span`,{class:`vlist-s`},`​`)]),o(`span`,{class:`vlist-r`},[o(`span`,{class:`vlist`,style:{height:`0.2861em`}},[o(`span`)])])])])]),o(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}}),o(`span`,{class:`mrel`},`=`),o(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}})]),o(`span`,{class:`katex-base`},[o(`span`,{class:`katex-strut`,style:{height:`2.5488em`,"vertical-align":`-1.1218em`}}),o(`span`,{class:`mord`},[o(`span`,{class:`mopen nulldelimiter`}),o(`span`,{class:`mfrac`},[o(`span`,{class:`vlist-t vlist-t2`},[o(`span`,{class:`vlist-r`},[o(`span`,{class:`vlist`,style:{height:`1.427em`}},[o(`span`,{style:{top:`-2.314em`}},[o(`span`,{class:`pstrut`,style:{height:`3em`}}),o(`span`,{class:`mord`},[o(`span`,{class:`mop`},[o(`span`,{class:`mop op-symbol small-op`,style:{position:`relative`,top:`0em`}},`∑`),o(`span`,{class:`msupsub`},[o(`span`,{class:`vlist-t vlist-t2`},[o(`span`,{class:`vlist-r`},[o(`span`,{class:`vlist`,style:{height:`0.162em`}},[o(`span`,{style:{top:`-2.4003em`,"margin-left":`0em`,"margin-right":`0.05em`}},[o(`span`,{class:`pstrut`,style:{height:`2.7em`}}),o(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[o(`span`,{class:`mord mathnormal mtight`,style:{"margin-right":`0.0572em`}},`j`)])])]),o(`span`,{class:`vlist-s`},`​`)]),o(`span`,{class:`vlist-r`},[o(`span`,{class:`vlist`,style:{height:`0.4358em`}},[o(`span`)])])])])]),o(`span`,{class:`mspace`,style:{"margin-right":`0.1667em`}}),o(`span`,{class:`mop`},`exp`),o(`span`,{class:`mopen`},`(`),o(`span`,{class:`mord`},[o(`span`,{class:`mord mathnormal`},`e`),o(`span`,{class:`msupsub`},[o(`span`,{class:`vlist-t vlist-t2`},[o(`span`,{class:`vlist-r`},[o(`span`,{class:`vlist`,style:{height:`0.3117em`}},[o(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[o(`span`,{class:`pstrut`,style:{height:`2.7em`}}),o(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[o(`span`,{class:`mord mtight`},[o(`span`,{class:`mord mathnormal mtight`},`t`),o(`span`,{class:`mpunct mtight`},`,`),o(`span`,{class:`mord mathnormal mtight`,style:{"margin-right":`0.0572em`}},`j`)])])])]),o(`span`,{class:`vlist-s`},`​`)]),o(`span`,{class:`vlist-r`},[o(`span`,{class:`vlist`,style:{height:`0.2861em`}},[o(`span`)])])])])]),o(`span`,{class:`mclose`},`)`)])]),o(`span`,{style:{top:`-3.23em`}},[o(`span`,{class:`pstrut`,style:{height:`3em`}}),o(`span`,{class:`frac-line`,style:{"border-bottom-width":`0.04em`}})]),o(`span`,{style:{top:`-3.677em`}},[o(`span`,{class:`pstrut`,style:{height:`3em`}}),o(`span`,{class:`mord`},[o(`span`,{class:`mop`},`exp`),o(`span`,{class:`mopen`},`(`),o(`span`,{class:`mord`},[o(`span`,{class:`mord mathnormal`},`e`),o(`span`,{class:`msupsub`},[o(`span`,{class:`vlist-t vlist-t2`},[o(`span`,{class:`vlist-r`},[o(`span`,{class:`vlist`,style:{height:`0.3117em`}},[o(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[o(`span`,{class:`pstrut`,style:{height:`2.7em`}}),o(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[o(`span`,{class:`mord mtight`},[o(`span`,{class:`mord mathnormal mtight`},`t`),o(`span`,{class:`mpunct mtight`},`,`),o(`span`,{class:`mord mathnormal mtight`},`i`)])])])]),o(`span`,{class:`vlist-s`},`​`)]),o(`span`,{class:`vlist-r`},[o(`span`,{class:`vlist`,style:{height:`0.2861em`}},[o(`span`)])])])])]),o(`span`,{class:`mclose`},`)`)])])]),o(`span`,{class:`vlist-s`},`​`)]),o(`span`,{class:`vlist-r`},[o(`span`,{class:`vlist`,style:{height:`1.1218em`}},[o(`span`)])])])]),o(`span`,{class:`mclose nulldelimiter`})])])])])])],-1)]]),_:1})]),F[3]||=o(`div`,{class:`dl-secondary`},[o(`p`,null,`Softmax: sums to 1`)],-1)])),[[R]]),l((h(),s(`div`,T,[o(`div`,null,[n(I,{ranges:[]},{default:e(()=>[...F[4]||=[o(`p`,null,[o(`span`,{class:`katex-display`},[o(`span`,{class:`katex`},[o(`span`,{class:`katex-mathml`},[o(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`,display:`block`},[o(`semantics`,null,[o(`mrow`,null,[o(`msub`,null,[o(`mi`,{mathvariant:`bold`},`c`),o(`mi`,null,`t`)]),o(`mo`,null,`=`),o(`munder`,null,[o(`mo`,null,`∑`),o(`mi`,null,`i`)]),o(`msub`,null,[o(`mi`,null,`α`),o(`mrow`,null,[o(`mi`,null,`t`),o(`mo`,{separator:`true`},`,`),o(`mi`,null,`i`)])]),o(`mtext`,null,` `),o(`msub`,null,[o(`mi`,{mathvariant:`bold`},`h`),o(`mi`,null,`i`)])]),o(`annotation`,{encoding:`application/x-tex`},`\\mathbf{c}_t = \\sum_i \\alpha_{t,i}\\,\\mathbf{h}_i`)])])]),o(`span`,{class:`katex-html`,"aria-hidden":`true`},[o(`span`,{class:`katex-base`},[o(`span`,{class:`katex-strut`,style:{height:`0.5944em`,"vertical-align":`-0.15em`}}),o(`span`,{class:`mord`},[o(`span`,{class:`mord mathbf`},`c`),o(`span`,{class:`msupsub`},[o(`span`,{class:`vlist-t vlist-t2`},[o(`span`,{class:`vlist-r`},[o(`span`,{class:`vlist`,style:{height:`0.2806em`}},[o(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[o(`span`,{class:`pstrut`,style:{height:`2.7em`}}),o(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[o(`span`,{class:`mord mathnormal mtight`},`t`)])])]),o(`span`,{class:`vlist-s`},`​`)]),o(`span`,{class:`vlist-r`},[o(`span`,{class:`vlist`,style:{height:`0.15em`}},[o(`span`)])])])])]),o(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}}),o(`span`,{class:`mrel`},`=`),o(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}})]),o(`span`,{class:`katex-base`},[o(`span`,{class:`katex-strut`,style:{height:`2.3277em`,"vertical-align":`-1.2777em`}}),o(`span`,{class:`mop op-limits`},[o(`span`,{class:`vlist-t vlist-t2`},[o(`span`,{class:`vlist-r`},[o(`span`,{class:`vlist`,style:{height:`1.05em`}},[o(`span`,{style:{top:`-1.8723em`,"margin-left":`0em`}},[o(`span`,{class:`pstrut`,style:{height:`3.05em`}}),o(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[o(`span`,{class:`mord mathnormal mtight`},`i`)])]),o(`span`,{style:{top:`-3.05em`}},[o(`span`,{class:`pstrut`,style:{height:`3.05em`}}),o(`span`,null,[o(`span`,{class:`mop op-symbol large-op`},`∑`)])])]),o(`span`,{class:`vlist-s`},`​`)]),o(`span`,{class:`vlist-r`},[o(`span`,{class:`vlist`,style:{height:`1.2777em`}},[o(`span`)])])])]),o(`span`,{class:`mspace`,style:{"margin-right":`0.1667em`}}),o(`span`,{class:`mord`},[o(`span`,{class:`mord mathnormal`,style:{"margin-right":`0.0037em`}},`α`),o(`span`,{class:`msupsub`},[o(`span`,{class:`vlist-t vlist-t2`},[o(`span`,{class:`vlist-r`},[o(`span`,{class:`vlist`,style:{height:`0.3117em`}},[o(`span`,{style:{top:`-2.55em`,"margin-left":`-0.0037em`,"margin-right":`0.05em`}},[o(`span`,{class:`pstrut`,style:{height:`2.7em`}}),o(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[o(`span`,{class:`mord mtight`},[o(`span`,{class:`mord mathnormal mtight`},`t`),o(`span`,{class:`mpunct mtight`},`,`),o(`span`,{class:`mord mathnormal mtight`},`i`)])])])]),o(`span`,{class:`vlist-s`},`​`)]),o(`span`,{class:`vlist-r`},[o(`span`,{class:`vlist`,style:{height:`0.2861em`}},[o(`span`)])])])])]),o(`span`,{class:`mspace`,style:{"margin-right":`0.1667em`}}),o(`span`,{class:`mord`},[o(`span`,{class:`mord mathbf`},`h`),o(`span`,{class:`msupsub`},[o(`span`,{class:`vlist-t vlist-t2`},[o(`span`,{class:`vlist-r`},[o(`span`,{class:`vlist`,style:{height:`0.3117em`}},[o(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[o(`span`,{class:`pstrut`,style:{height:`2.7em`}}),o(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[o(`span`,{class:`mord mathnormal mtight`},`i`)])])]),o(`span`,{class:`vlist-s`},`​`)]),o(`span`,{class:`vlist-r`},[o(`span`,{class:`vlist`,style:{height:`0.15em`}},[o(`span`)])])])])])])])])])],-1)]]),_:1})]),F[5]||=o(`div`,{class:`dl-secondary`},[o(`p`,null,`Weighted sum`)],-1)])),[[R]])]),o(`div`,null,[(h(),s(`svg`,E,[F[6]||=o(`text`,{class:`dl-dg-small`,x:`0`,y:`22`},`score`,-1),F[7]||=o(`text`,{class:`dl-dg-small`,x:`0`,y:`96`},`softmax`,-1),F[8]||=o(`text`,{class:`dl-dg-small`,x:`0`,y:`176`},`sum`,-1),(h(),s(u,null,i([[1.1,.6,`h₁`],[0,.2,`h₂`],[0,.2,`h₃`]],(e,t)=>o(`g`,{key:t},[o(`rect`,{class:`dl-dg-box`,x:80+t*70,y:`6`,width:`56`,height:`24`,rx:`4`},null,8,D),o(`text`,{class:`dl-dg-lab is-sm`,x:108+t*70,y:`23`,"text-anchor":`middle`},r(e[2]),9,O),o(`text`,{class:`dl-dg-small`,x:108+t*70,y:`46`,"text-anchor":`middle`},`e = `+r(e[0]),9,k),o(`rect`,{class:`dl-dg-bar is-q`,x:94+t*70,y:124-e[1]*100,width:`28`,height:e[1]*100},null,8,A),o(`text`,{class:`dl-dg-small`,x:108+t*70,y:118-e[1]*100,"text-anchor":`middle`},r(e[1]),9,j),o(`line`,{x1:108+t*70,y1:`126`,x2:`178`,y2:`160`,class:`dl-dg-arrow`,style:m({strokeWidth:e[1]*14})},null,12,M)])),64)),F[9]||=o(`rect`,{class:`dl-dg-box is-accent`,x:`130`,y:`160`,width:`96`,height:`26`,rx:`4`},null,-1),F[10]||=o(`text`,{class:`dl-dg-lab is-sm`,x:`178`,y:`178`,"text-anchor":`middle`},`c = [0.6, 0.6]`,-1)])),o(`div`,N,[n(L,{source:`Bahdanau, Cho & Bengio, Neural Machine Translation by Jointly Learning to Align and Translate (2014)`,url:`https://arxiv.org/abs/1409.0473`})])])]),l((h(),s(`div`,P,[...F[11]||=[o(`p`,null,`All three steps are differentiable, so the alignment is learned with every other weight.`,-1)]])),[[R]])]),_:1},16)}}};export{F as default}; \ No newline at end of file diff --git a/lecture-05/assets/md-CDNayRGS2.js b/lecture-05/assets/md-CDNayRGS2.js new file mode 100644 index 0000000000000000000000000000000000000000..9eee2328f258d55148989c9fdfe676f2ba1bae10 --- /dev/null +++ b/lecture-05/assets/md-CDNayRGS2.js @@ -0,0 +1 @@ +import{$ as e,E as t,M as n,S as r,St as i,V as a,W as o,_ as s,b as c,bt as l,et as u,g as d,m as f,ut as p,v as m,vt as h,w as ee,x as g,y as _,yt as v,z as y}from"./modules/shiki-CkJq9tSf.js";import{t as te}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{n as b,t as x}from"./slidev/context-DnYiQGy6.js";import{t as S}from"./slidev/VClicks-DLDbGwsQ.js";import{n as ne,t as C}from"./interactive-pqWNz3EB.js";var re=[`viewBox`,`aria-label`],w={class:`dl-wiring__recur`},T=[`d`],E=[`x`,`y`],D={class:`dl-wiring__wsub`,dy:`2.5`},ie=[`x`,`y`,`width`,`height`],ae=[`x`,`y`],oe={key:0,class:`dl-wiring__sup`,dy:`-4`},O=[`dy`],k={key:1,class:`dl-wiring__dir`,dy:`-3`},A=[`x`,`y`],j={class:`dl-wiring__tabs`},M=[`onClick`],N=3,P=142,F=64,I=98,L=8,R=30,z=42,B=16,V=220,H=284,U=te(ee({__name:`RnnWiring`,setup(t){let{$slidev:r,$nav:o,$clicksContext:l,$clicks:u,$page:h,$renderContext:ee,$frontmatter:te}=b(),x={kind:`in`,lanes:[{label:`x`}]},S={kind:`out`,lanes:[{label:`o`}]},C={kind:`hidden`,lanes:[{label:`h`}]},U=[{from:[2,0],to:[1,0]},{from:[1,0],to:[0,0]}],W=[{key:`hh`,name:`hidden → hidden`,rows:[S,C,x],feeds:U,recur:[{from:[1,0],to:[1,0],dir:`fwd`,sub:`hh`}],headline:`The standard RNN — and what nn.RNN implements.`,note:`The state passed forward is the hidden layer itself, so nothing is lost to the bottleneck of an output layer on the way. This is the only one of the three that is still in common use.`},{key:`oh`,name:`output → hidden`,rows:[S,C,x],feeds:U,recur:[{from:[0,0],to:[1,0],dir:`fwd`,sub:`oh`}],headline:`The prediction is fed back in as the next input.`,note:`Everything the past contributes has to fit through o — usually far smaller than h. Cheap to train in parallel when the true outputs are known (teacher forcing), which is why generation models still use it.`},{key:`oo`,name:`output → output`,rows:[S,C,x],feeds:U,recur:[{from:[0,0],to:[0,0],dir:`fwd`,sub:`oo`}],headline:`The recurrence sits entirely in the output layer.`,note:`The hidden layer no longer carries anything across time. Rare on its own; the idea survives inside autoregressive decoders.`},{key:`stacked`,name:`stacked`,rows:[S,{kind:`hidden`,lanes:[{label:`h`,sup:`2`}]},{kind:`hidden`,lanes:[{label:`h`,sup:`1`}]},x],feeds:[{from:[3,0],to:[2,0]},{from:[2,0],to:[1,0]},{from:[1,0],to:[0,0]}],recur:[{from:[2,0],to:[2,0],dir:`fwd`,sub:`hh¹`},{from:[1,0],to:[1,0],dir:`fwd`,sub:`hh²`}],headline:`num_layers=2 — the second layer reads the first layer’s sequence of states.`,note:`Each layer has its own W. Depth here buys abstraction the same way it does in a CNN — layer 1 sees words, layer 2 sees what layer 1 made of them. Two or three layers is normal; twenty is not.`},{key:`bidir`,name:`bidirectional`,rows:[S,{kind:`hidden`,lanes:[{label:`h`,arrow:`→`},{label:`h`,arrow:`←`}]},x],feeds:[{from:[2,0],to:[1,0]},{from:[2,0],to:[1,1]},{from:[1,0],to:[0,0]},{from:[1,1],to:[0,0]}],recur:[{from:[1,0],to:[1,0],dir:`fwd`,sub:``,dy:11},{from:[1,1],to:[1,1],dir:`back`,sub:``,dy:-11}],headline:`bidirectional=True — two separate cells, one reading each way.`,note:`Their states are concatenated, so the output size doubles. Only legal when the whole sequence is available at once — it can classify a finished review, and it cannot predict the next word.`}],G=p(0),K=d(()=>W[G.value]),q=d(()=>K.value.rows);function J(e){let t=q.value.length;return B+e*V/Math.max(t-1,1)}function Y(e){return q.value[e].kind===`hidden`?z:R}let X=e=>F+e*P;function Z(e,t,n){let r=q.value[e].lanes.length,i=(I-(r-1)*L)/r;return X(n)+t*(i+L)}function Q(e){let t=q.value[e].lanes.length;return(I-(t-1)*L)/t}function $(e,t,n){return Z(e,t,n)+Q(e)/2}function se(e,t){let[n,r]=e.from,[i,a]=e.to;return{x1:$(n,r,t),y1:J(n)-2,x2:$(i,a,t),y2:J(i)+Y(i)+5}}function ce(e,t){let[n,r]=e.from,[i,a]=e.to,o=e.dir===`fwd`,s=o?t+1:t-1;if(s<0||s>2)return null;let c=o?Z(n,r,t)+Q(n):Z(n,r,t),l=o?Z(i,a,s)-4:Z(i,a,s)+Q(i)+4,u=e.dy??0,d=J(n)+Y(n)/2+u,f=J(i)+Y(i)/2+u,p=(c+l)/2;return{d:`M ${c} ${d} C ${p} ${d}, ${p} ${f}, ${l} ${f}`,lx:p,ly:Math.min(d,f)-(d===f?8:4)}}let le=d(()=>K.value.recur.flatMap((e,t)=>Array.from({length:N},(n,r)=>{let i=ce(e,r);return i?{...i,sub:e.sub,key:`${t}-${r}`}:null}).filter(e=>e!==null)));return(t,r)=>{let o=ne;return y(),m(o,{"max-width":`38rem`},{controls:e(()=>[s(`div`,j,[(y(),c(f,null,a(W,(e,t)=>s(`button`,{key:e.key,type:`button`,class:v({"is-selected":t===G.value}),onClick:e=>G.value=t},i(e.name),11,M)),64))])]),readout:e(()=>[s(`div`,null,[s(`strong`,null,i(K.value.headline),1)]),s(`div`,null,i(K.value.note),1)]),default:e(()=>[(y(),c(`svg`,{class:`dl-wiring`,viewBox:`0 0 472 ${H}`,preserveAspectRatio:`xMidYMid meet`,role:`img`,"aria-label":`Recurrent wiring: ${K.value.name}. ${K.value.headline}`},[r[1]||=s(`defs`,null,[s(`marker`,{id:`dl-wiring-arrow`,viewBox:`0 0 8 8`,refX:`7`,refY:`4`,markerWidth:`5`,markerHeight:`5`,orient:`auto-start-reverse`},[s(`path`,{d:`M0,0 L8,4 L0,8 z`,fill:`currentColor`})])],-1),_(` Recurrent connections first, so a box always draws over its own wire. `),s(`g`,w,[(y(!0),c(f,null,a(le.value,e=>(y(),c(f,{key:e.key},[s(`path`,{d:e.d,fill:`none`,"marker-end":`url(#dl-wiring-arrow)`},null,8,T),e.sub?(y(),c(`text`,{key:0,x:e.lx,y:e.ly,"text-anchor":`middle`},[r[0]||=g(`W`,-1),s(`tspan`,D,i(e.sub),1)],8,E)):_(`v-if`,!0)],64))),128))]),(y(),c(f,null,a(N,e=>s(`g`,{key:`col${e}`},[(y(!0),c(f,null,a(K.value.feeds,(t,r)=>(y(),c(`line`,n({key:`f${r}`,class:`dl-wiring__feed`},{ref_for:!0},se(t,e-1),{"marker-end":`url(#dl-wiring-arrow)`}),null,16))),128)),(y(!0),c(f,null,a(q.value,(t,n)=>(y(),c(f,{key:`r${n}`},[(y(!0),c(f,null,a(t.lanes,(r,a)=>(y(),c(f,{key:`l${a}`},[s(`rect`,{class:v([`dl-wiring__box`,`is-${t.kind}`]),x:Z(n,a,e-1),y:J(n),width:Q(n),height:Y(n),rx:`5`},null,10,ie),s(`text`,{class:v([`dl-wiring__label`,`is-${t.kind}`]),x:$(n,a,e-1),y:J(n)+Y(n)/2+4.5,"text-anchor":`middle`},[g(i(r.label),1),r.sup?(y(),c(`tspan`,oe,i(r.sup),1)):_(`v-if`,!0),s(`tspan`,{class:`dl-wiring__sub`,dy:r.sup?7:3},i(e),9,O),r.arrow?(y(),c(`tspan`,k,i(r.arrow),1)):_(`v-if`,!0)],10,ae)],64))),128))],64))),128)),s(`text`,{class:`dl-wiring__t`,x:X(e-1)+I/2,y:278,"text-anchor":`middle`},`t = `+i(e),9,A)])),64))],8,re))]),_:1})}}}),[[`__scopeId`,`data-v-b28ec107`]]),W={class:`dl-callout`},G={__name:`slides.md__slidev_25`,setup(n){let{$slidev:i,$nav:a,$clicksContext:d,$clicks:f,$page:p,$renderContext:ee,$frontmatter:_}=b();return d.setup(),(n,i)=>{let a=U,d=S,f=o(`click`);return y(),m(C,l(t(h(x)(h(_),24))),{aside:e(t=>[r(d,null,{default:e(()=>[...i[0]||=[s(`ul`,null,[s(`li`,null,[s(`strong`,null,`hidden → hidden`),g(`: `),s(`code`,null,`nn.RNN`)]),s(`li`,null,[s(`strong`,null,`output → hidden`),g(`: the past squeezed through `),s(`em`,null,`o`)]),s(`li`,null,[s(`strong`,null,`output → output`),g(`: `),s(`em`,null,`h`),g(` carries nothing forward`)]),s(`li`,null,[s(`strong`,null,`stacked`),g(`, `),s(`strong`,null,`bidirectional`),g(`: constructor arguments`)])],-1)]]),_:1}),u((y(),c(`div`,W,[...i[1]||=[s(`p`,null,`Bidirectional needs the whole sequence, so it cannot predict the next word.`,-1)]])),[[f]])]),default:e(()=>[r(a)]),_:1},16)}}};export{G as default}; \ No newline at end of file diff --git a/lecture-05/assets/md-CDT3syIx.css b/lecture-05/assets/md-CDT3syIx.css new file mode 100644 index 0000000000000000000000000000000000000000..13878f4494a6d2c9a58f9a5ee75b24743a28d3e8 --- /dev/null +++ b/lecture-05/assets/md-CDT3syIx.css @@ -0,0 +1 @@ +.dl-seqtask[data-v-e72b512e]{width:100%;height:100%}.dl-seqtask__io[data-v-e72b512e]{fill:var(--dl-bg);stroke:var(--dl-border);stroke-width:1px;stroke-dasharray:4 4;transition:fill .2s,stroke .2s}.dl-seqtask__io.is-on[data-v-e72b512e]{fill:var(--dl-surface);stroke:var(--dl-body);stroke-dasharray:none}.dl-seqtask__io.is-out[data-v-e72b512e]{fill:var(--dl-accent-soft);stroke:var(--dl-accent)}.dl-seqtask__cell[data-v-e72b512e]{fill:var(--dl-accent);stroke:var(--dl-accent-strong);stroke-width:1px}.dl-seqtask__celllabel[data-v-e72b512e]{fill:#fff;font-size:14px;font-weight:600}.dl-seqtask__iolabel[data-v-e72b512e]{fill:var(--dl-heading);font-size:13px;font-weight:600}.dl-seqtask__sub[data-v-e72b512e]{font-size:9px;font-weight:400}.dl-seqtask__feed[data-v-e72b512e]{stroke:var(--dl-muted);stroke-width:1.4px;color:var(--dl-muted)}.dl-seqtask__state line[data-v-e72b512e]{stroke:var(--dl-accent-strong);stroke-width:2.2px;color:var(--dl-accent-strong)}.dl-seqtask__row[data-v-e72b512e]{fill:var(--dl-muted);font-size:12px;font-style:italic}.dl-seqtask__t[data-v-e72b512e]{fill:var(--dl-muted);font-size:10px}.dl-seqtask__split line[data-v-e72b512e]{stroke:var(--dl-heading);stroke-width:1px;stroke-dasharray:3 4}.dl-seqtask__split text[data-v-e72b512e]{fill:var(--dl-muted);letter-spacing:.06em;text-transform:uppercase;font-size:10px}.dl-seqtask__tabs[data-v-e72b512e]{flex-wrap:wrap;gap:.35rem;display:flex}.dl-seqtask__tabs button[data-v-e72b512e]{border:1px solid var(--dl-border);color:var(--dl-body);font:inherit;cursor:pointer;background:0 0;border-radius:6px;padding:.28rem .6rem;font-size:.78rem;transition:background .12s,border-color .12s,color .12s}.dl-seqtask__tabs button[data-v-e72b512e]:hover{border-color:var(--dl-accent);color:var(--dl-accent)}.dl-seqtask__tabs button.is-selected[data-v-e72b512e]{background:var(--dl-accent);border-color:var(--dl-accent);color:#fff}.dl-seqtask__tabs button[data-v-e72b512e]:focus-visible{outline:2px solid var(--dl-accent);outline-offset:2px}.dl-seqtask__loss[data-v-e72b512e]{margin-top:.15rem} diff --git a/lecture-05/assets/md-CIDAYb22.js b/lecture-05/assets/md-CIDAYb22.js new file mode 100644 index 0000000000000000000000000000000000000000..611506b6ad0a04c4c5206f06dcf8882e6c77d1f7 --- /dev/null +++ b/lecture-05/assets/md-CIDAYb22.js @@ -0,0 +1 @@ +import{$ as e,E as t,S as n,W as r,_ as i,b as a,bt as o,et as s,v as c,vt as l,x as u,z as d}from"./modules/shiki-CkJq9tSf.js";import{n as f,t as p}from"./slidev/context-DnYiQGy6.js";import{t as m}from"./default-BTjgsdmC.js";import{t as h}from"./RnnGlyph-DxX0mQto.js";var g={class:`grid grid-cols-4 gap-x-4 gap-y-2 mt-3`},_={class:`flex flex-col items-center text-center gap-1`},v={class:`flex flex-col items-center text-center gap-1`},y={class:`flex flex-col items-center text-center gap-1`},b={class:`flex flex-col items-center text-center gap-1`},x={class:`flex flex-col items-center text-center gap-1`},S={class:`flex flex-col items-center text-center gap-1`},C={class:`flex flex-col items-center text-center gap-1`},w={class:`mt-3 dl-callout`},T={__name:`slides.md__slidev_2`,setup(T){let{$slidev:E,$nav:D,$clicksContext:O,$clicks:k,$page:A,$renderContext:j,$frontmatter:M}=f();return O.setup(),(f,T)=>{let E=h,D=r(`click`);return d(),c(m,o(t(l(p)(l(M),1))),{default:e(()=>[T[8]||=i(`h1`,null,`Today, in seven parts`,-1),T[9]||=i(`p`,null,[u(`Today’s network reads a review of any length `),i(`strong`,null,`one word at a time`),u(`.`)],-1),i(`div`,g,[i(`div`,_,[n(E,{kind:`sequence`,size:64}),T[0]||=i(`span`,{class:`dl-secondary`},`00 Order matters`,-1)]),i(`div`,v,[n(E,{kind:`loop`,size:64}),T[1]||=i(`span`,{class:`dl-secondary`},`01 One cell with a loop`,-1)]),i(`div`,y,[n(E,{kind:`fade`,size:64}),T[2]||=i(`span`,{class:`dl-secondary`},`02 Training through time`,-1)]),i(`div`,b,[n(E,{kind:`gate`,size:64}),T[3]||=i(`span`,{class:`dl-secondary`},`03 Gates that keep the past`,-1)]),i(`div`,x,[n(E,{kind:`map`,size:64}),T[4]||=i(`span`,{class:`dl-secondary`},`04 Words as vectors`,-1)]),i(`div`,S,[n(E,{kind:`shape`,size:64}),T[5]||=i(`span`,{class:`dl-secondary`},`05 The network in PyTorch`,-1)]),i(`div`,C,[n(E,{kind:`generate`,size:64}),T[6]||=i(`span`,{class:`dl-secondary`},`06 Generating text`,-1)])]),s((d(),a(`div`,w,[...T[7]||=[i(`p`,null,`Sections 01 to 03 are the core. Sections 04 and 05 are practice for the lab.`,-1)]])),[[D]])]),_:1},16)}}};export{T as default}; \ No newline at end of file diff --git a/lecture-05/assets/md-CIl6YAgL2.js b/lecture-05/assets/md-CIl6YAgL2.js new file mode 100644 index 0000000000000000000000000000000000000000..99c2b404c2bd6ad1a45f55eb9388583ee88100c7 --- /dev/null +++ b/lecture-05/assets/md-CIl6YAgL2.js @@ -0,0 +1 @@ +import{$ as e,E as t,S as n,W as r,_ as i,b as a,bt as o,et as s,v as c,vt as l,x as u,z as d}from"./modules/shiki-CkJq9tSf.js";import{n as f,t as p}from"./slidev/context-DnYiQGy6.js";import{t as m}from"./slidev/VClicks-DLDbGwsQ.js";import{t as h}from"./interactive-pqWNz3EB.js";import{t as g}from"./GradientFlow-B-uOpJPB.js";var _={class:`mt-2 dl-callout`},v={__name:`slides.md__slidev_32`,setup(v){let{$slidev:y,$nav:b,$clicksContext:x,$clicks:S,$page:C,$renderContext:w,$frontmatter:T}=f();return x.setup(),(f,v)=>{let y=g,b=m,x=r(`click`);return d(),c(h,o(t(l(p)(l(T),31))),{aside:e(t=>[v[2]||=i(`p`,null,[u(`One unit, so `),i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`msub`,null,[i(`mi`,null,`W`),i(`mrow`,null,[i(`mi`,null,`h`),i(`mi`,null,`h`)])])]),i(`annotation`,{encoding:`application/x-tex`},`W_{hh}`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.8333em`,"vertical-align":`-0.15em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathnormal`,style:{"margin-right":`0.1389em`}},`W`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.3361em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`-0.1389em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mtight`},[i(`span`,{class:`mord mathnormal mtight`},`hh`)])])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.15em`}},[i(`span`)])])])])])])])]),u(` is one weight `),i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`mi`,null,`W`)]),i(`annotation`,{encoding:`application/x-tex`},`W`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.6833em`}}),i(`span`,{class:`mord mathnormal`,style:{"margin-right":`0.1389em`}},`W`)])])]),u(`. `),i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`mi`,null,`k`)]),i(`annotation`,{encoding:`application/x-tex`},`k`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.6944em`}}),i(`span`,{class:`mord mathnormal`,style:{"margin-right":`0.0315em`}},`k`)])])]),u(` steps back, the gradient is multiplied by `),i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`msup`,null,[i(`mi`,null,`W`),i(`mi`,null,`k`)])]),i(`annotation`,{encoding:`application/x-tex`},`W^k`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.8491em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathnormal`,style:{"margin-right":`0.1389em`}},`W`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.8491em`}},[i(`span`,{style:{top:`-3.063em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mathnormal mtight`,style:{"margin-right":`0.0315em`}},`k`)])])])])])])])])])]),u(`. It opens on the review’s `),i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`mi`,null,`W`),i(`mo`,null,`=`),i(`mn`,null,`0.8`)]),i(`annotation`,{encoding:`application/x-tex`},`W = 0.8`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.6833em`}}),i(`span`,{class:`mord mathnormal`,style:{"margin-right":`0.1389em`}},`W`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}}),i(`span`,{class:`mrel`},`=`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}})]),i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.6444em`}}),i(`span`,{class:`mord`},`0.8`)])])]),u(`.`)],-1),n(b,null,{default:e(()=>[...v[0]||=[i(`ul`,null,[i(`li`,null,[i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`mi`,null,`W`),i(`mo`,null,`<`),i(`mn`,null,`1`)]),i(`annotation`,{encoding:`application/x-tex`},`W < 1`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.7224em`,"vertical-align":`-0.0391em`}}),i(`span`,{class:`mord mathnormal`,style:{"margin-right":`0.1389em`}},`W`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}}),i(`span`,{class:`mrel`},`<`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}})]),i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.6444em`}}),i(`span`,{class:`mord`},`1`)])])]),u(` → `),i(`strong`,null,`vanishing`)]),i(`li`,null,[i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`mi`,null,`W`),i(`mo`,null,`>`),i(`mn`,null,`1`)]),i(`annotation`,{encoding:`application/x-tex`},`W > 1`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.7224em`,"vertical-align":`-0.0391em`}}),i(`span`,{class:`mord mathnormal`,style:{"margin-right":`0.1389em`}},`W`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}}),i(`span`,{class:`mrel`},`>`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}})]),i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.6444em`}}),i(`span`,{class:`mord`},`1`)])])]),u(` → `),i(`strong`,null,`exploding`)]),i(`li`,null,[i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`mi`,null,`W`),i(`mo`,null,`=`),i(`mn`,null,`1`)]),i(`annotation`,{encoding:`application/x-tex`},`W = 1`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.6833em`}}),i(`span`,{class:`mord mathnormal`,style:{"margin-right":`0.1389em`}},`W`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}}),i(`span`,{class:`mrel`},`=`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}})]),i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.6444em`}}),i(`span`,{class:`mord`},`1`)])])]),u(` → stable, but nothing keeps it there`)])],-1)]]),_:1}),s((d(),a(`div`,_,[...v[1]||=[i(`p`,null,[u(`Drag `),i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`mi`,null,`W`)]),i(`annotation`,{encoding:`application/x-tex`},`W`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.6833em`}}),i(`span`,{class:`mord mathnormal`,style:{"margin-right":`0.1389em`}},`W`)])])]),u(` slowly through 1. There is no safe band — only a point.`)],-1)]])),[[x]])]),default:e(()=>[n(y,{w:.8,steps:20})]),_:1},16)}}};export{v as default}; \ No newline at end of file diff --git a/lecture-05/assets/md-CMjkcqnP.js b/lecture-05/assets/md-CMjkcqnP.js new file mode 100644 index 0000000000000000000000000000000000000000..23cf8b9522d7394172d27e93ca1fb550a8a352fb --- /dev/null +++ b/lecture-05/assets/md-CMjkcqnP.js @@ -0,0 +1 @@ +import{$ as e,E as t,S as n,_ as r,bt as i,v as a,vt as o,z as s}from"./modules/shiki-CkJq9tSf.js";import{n as c,t as l}from"./slidev/context-DnYiQGy6.js";import{t as u}from"./RnnGlyph-DxX0mQto.js";import{t as d}from"./section-CLxRKQ9Y.js";var f={class:`absolute right-18 top-1/2 -translate-y-1/2`},p={__name:`slides.md__slidev_26`,setup(p){let{$slidev:m,$nav:h,$clicksContext:g,$clicks:_,$page:v,$renderContext:y,$frontmatter:b}=c();return g.setup(),(c,p)=>{let m=u;return s(),a(d,i(t(o(l)(o(b),25))),{default:e(()=>[p[0]||=r(`h1`,null,`Training through time`,-1),p[1]||=r(`p`,null,`Why the note fades with every copy.`,-1),r(`div`,f,[n(m,{kind:`fade`,size:190})])]),_:1},16)}}};export{p as default}; \ No newline at end of file diff --git a/lecture-05/assets/md-CMkV1_Ic.js b/lecture-05/assets/md-CMkV1_Ic.js new file mode 100644 index 0000000000000000000000000000000000000000..c82c3b16b5f694c4dc3cd9b06a65217dd6fe1a5f --- /dev/null +++ b/lecture-05/assets/md-CMkV1_Ic.js @@ -0,0 +1 @@ +import{$ as e,E as t,S as n,W as r,_ as i,b as a,bt as o,et as s,v as c,vt as l,x as u,z as d}from"./modules/shiki-CkJq9tSf.js";import{n as f,t as p}from"./slidev/context-DnYiQGy6.js";import{t as m}from"./slidev/VClicks-DLDbGwsQ.js";import{t as h}from"./interactive-pqWNz3EB.js";import{t as g}from"./RnnUnroll-qP10abej.js";var _={class:`mt-1 dl-callout`},v={__name:`slides.md__slidev_15`,setup(v){let{$slidev:y,$nav:b,$clicksContext:x,$clicks:S,$page:C,$renderContext:w,$frontmatter:T}=f();return x.setup(),(f,v)=>{let y=g,b=m,x=r(`click`);return d(),c(h,o(t(l(p)(l(T),14))),{aside:e(t=>[v[2]||=i(`p`,null,[u(`A layer whose `),i(`strong`,null,`output feeds back in`),u(`: a note passed along a row of readers.`)],-1),n(b,null,{default:e(()=>[...v[0]||=[i(`ul`,null,[i(`li`,null,[i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`msub`,null,[i(`mi`,null,`W`),i(`mrow`,null,[i(`mi`,null,`x`),i(`mi`,null,`h`)])])]),i(`annotation`,{encoding:`application/x-tex`},`W_{xh}`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.8333em`,"vertical-align":`-0.15em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathnormal`,style:{"margin-right":`0.1389em`}},`W`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.3361em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`-0.1389em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mtight`},[i(`span`,{class:`mord mathnormal mtight`},`x`),i(`span`,{class:`mord mathnormal mtight`},`h`)])])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.15em`}},[i(`span`)])])])])])])])]),u(` reads this word`)]),i(`li`,null,[i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`msub`,null,[i(`mi`,null,`W`),i(`mrow`,null,[i(`mi`,null,`h`),i(`mi`,null,`h`)])])]),i(`annotation`,{encoding:`application/x-tex`},`W_{hh}`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.8333em`,"vertical-align":`-0.15em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathnormal`,style:{"margin-right":`0.1389em`}},`W`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.3361em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`-0.1389em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mtight`},[i(`span`,{class:`mord mathnormal mtight`},`hh`)])])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.15em`}},[i(`span`)])])])])])])])]),u(` reads the note — the layer’s last output`)]),i(`li`,null,[i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`msub`,null,[i(`mi`,null,`W`),i(`mrow`,null,[i(`mi`,null,`h`),i(`mi`,null,`o`)])])]),i(`annotation`,{encoding:`application/x-tex`},`W_{ho}`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.8333em`,"vertical-align":`-0.15em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathnormal`,style:{"margin-right":`0.1389em`}},`W`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.3361em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`-0.1389em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mtight`},[i(`span`,{class:`mord mathnormal mtight`},`h`),i(`span`,{class:`mord mathnormal mtight`},`o`)])])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.15em`}},[i(`span`)])])])])])])])]),u(` turns the note into an answer`)])],-1)]]),_:1}),s((d(),a(`div`,_,[...v[1]||=[i(`p`,null,`New since the dense layer: one extra matrix, one step of delay.`,-1)]])),[[x]])]),default:e(()=>[n(y,{example:`review`,start:`fold`})]),_:1},16)}}};export{v as default}; \ No newline at end of file diff --git a/lecture-05/assets/md-CPQnUbO5.css b/lecture-05/assets/md-CPQnUbO5.css new file mode 100644 index 0000000000000000000000000000000000000000..67bc40d24df1edfd14609edc4f62523652f0d482 --- /dev/null +++ b/lecture-05/assets/md-CPQnUbO5.css @@ -0,0 +1 @@ +.dl-conv1d[data-v-073fd456]{--cell:2.5rem;grid-template-columns:1.6rem 1fr;align-items:center;gap:.5rem;width:100%;display:grid}.dl-conv1d__label[data-v-073fd456]{color:var(--dl-heading);text-align:right;font-size:1.05rem;font-style:italic;font-weight:600}.dl-conv1d__label .sup[data-v-073fd456]{vertical-align:super;font-size:.7em;font-style:normal}.dl-conv1d__row[data-v-073fd456]{justify-content:center;min-height:2.2rem;display:grid}.dl-cell[data-v-073fd456]{border:1px solid var(--dl-border);font-variant-numeric:tabular-nums;height:2.1rem;color:var(--dl-heading);background:var(--dl-bg);place-items:center;margin-right:-1px;font-size:.95rem;transition:background .2s,border-color .2s;display:grid}.dl-cell.is-pad[data-v-073fd456]{color:var(--dl-muted);background:var(--dl-surface);border-style:dashed}.dl-cell.is-window[data-v-073fd456]{border-color:var(--dl-accent);background:var(--dl-accent-soft);z-index:1;position:relative}.dl-conv1d__kernel[data-v-073fd456]{grid-auto-flow:column;grid-auto-columns:var(--cell);transition:grid-column .25s;display:grid}.dl-conv1d__kernel.is-parked[data-v-073fd456]{opacity:.55}.dl-cell.is-kernel[data-v-073fd456]{border-color:var(--dl-accent);background:var(--dl-accent-soft);color:var(--dl-accent-strong);font-weight:600}.dl-cell.is-out[data-v-073fd456]{border-color:var(--dl-heading);font-weight:600}.dl-cell.is-out.is-empty[data-v-073fd456]{border-color:var(--dl-border);background:0 0;border-style:dashed}.dl-cell.is-out.is-current[data-v-073fd456]{background:var(--dl-accent);border-color:var(--dl-accent);color:#fff}.dl-conv1d__toggle[data-v-073fd456]{color:var(--dl-body);cursor:pointer;align-items:center;gap:.35rem;font-size:.82rem;display:inline-flex}.dl-conv1d__toggle input[data-v-073fd456]{accent-color:var(--dl-accent);cursor:pointer}.dl-conv1d__size[data-v-073fd456]{color:var(--dl-body);margin-top:.2rem} diff --git a/lecture-05/assets/md-CPv-eZzS.js b/lecture-05/assets/md-CPv-eZzS.js new file mode 100644 index 0000000000000000000000000000000000000000..aff80733672dfd2dcbdd6494a8f8599c0280369a --- /dev/null +++ b/lecture-05/assets/md-CPv-eZzS.js @@ -0,0 +1 @@ +import{$ as e,E as t,S as n,_ as r,bt as i,v as a,vt as o,z as s}from"./modules/shiki-CkJq9tSf.js";import{n as c,t as l}from"./slidev/context-DnYiQGy6.js";import{t as u}from"./RnnGlyph-DxX0mQto.js";import{t as d}from"./section-CLxRKQ9Y.js";var f={class:`absolute right-18 top-1/2 -translate-y-1/2`},p={__name:`slides.md__slidev_14`,setup(p){let{$slidev:m,$nav:h,$clicksContext:g,$clicks:_,$page:v,$renderContext:y,$frontmatter:b}=c();return g.setup(),(c,p)=>{let m=u;return s(),a(d,i(t(o(l)(o(b),13))),{default:e(()=>[p[0]||=r(`h1`,null,`The recurrent layer`,-1),p[1]||=r(`p`,null,`One note, passed along a row of readers.`,-1),r(`div`,f,[n(m,{kind:`loop`,size:190})])]),_:1},16)}}};export{p as default}; \ No newline at end of file diff --git a/lecture-05/assets/md-CR6t2myb.js b/lecture-05/assets/md-CR6t2myb.js new file mode 100644 index 0000000000000000000000000000000000000000..96d531e713d3103deb0eb6f77024615a0ea39877 --- /dev/null +++ b/lecture-05/assets/md-CR6t2myb.js @@ -0,0 +1 @@ +import{$ as e,E as t,St as n,V as r,W as i,_ as a,b as o,bt as s,et as c,m as l,v as u,vt as d,x as f,z as p}from"./modules/shiki-CkJq9tSf.js";import{n as m,t as h}from"./slidev/context-DnYiQGy6.js";import{t as g}from"./default-BTjgsdmC.js";var _={class:`dl-diagram mt-2`,viewBox:`0 0 600 168`,role:`img`,"aria-label":`Three shape strips. Default: T 200, B 32, F 64. batch_first=True: B 32, T 200, F 64. The trap: a batch-first tensor read by the default layer becomes T 32, B 200.`},v=[`x`],y=[`x`],b=[`x`],x=[`x`],S=[`x`],C=[`x`],w=[`x`],T=[`x`],E=[`x`],D={class:`mt-2 dl-callout`},O={class:`mt-2 dl-secondary`},k={__name:`slides.md__slidev_54`,setup(k){let{$slidev:A,$nav:j,$clicksContext:M,$clicks:N,$page:P,$renderContext:F,$frontmatter:I}=m();return M.setup(),(m,k)=>{let A=i(`click`);return p(),u(g,s(t(d(h)(d(I),53))),{default:e(()=>[k[7]||=a(`h1`,null,`The shape that causes the most bugs`,-1),k[8]||=a(`p`,null,`32 reviews (B) of 200 words (T), 64 numbers per word (F). Which axis is time?`,-1),(p(),o(`svg`,_,[k[2]||=a(`text`,{class:`dl-dg-lab is-sm`,x:`0`,y:`22`},`default`,-1),k[3]||=a(`text`,{class:`dl-dg-small`,x:`0`,y:`38`},`batch_first=False`,-1),(p(),o(l,null,r([[`T`,`200`],[`B`,`32`],[`F`,`64`]],(e,t)=>a(`g`,{key:`r1${t}`},[a(`rect`,{class:`dl-dg-box`,x:190+t*130,y:`4`,width:`120`,height:`40`,rx:`5`},null,8,v),a(`text`,{class:`dl-dg-lab is-sm`,x:232+t*130,y:`29`,"text-anchor":`middle`},n(e[0]),9,y),a(`text`,{class:`dl-dg-small`,x:262+t*130,y:`29`,"text-anchor":`middle`},n(e[1]),9,b)])),64)),k[4]||=a(`text`,{class:`dl-dg-lab is-sm`,x:`0`,y:`80`},`batch_first=True`,-1),(p(),o(l,null,r([[`B`,`32`],[`T`,`200`],[`F`,`64`]],(e,t)=>a(`g`,{key:`r2${t}`},[a(`rect`,{class:`dl-dg-box is-accent`,x:190+t*130,y:`62`,width:`120`,height:`40`,rx:`5`},null,8,x),a(`text`,{class:`dl-dg-lab is-sm`,x:232+t*130,y:`87`,"text-anchor":`middle`},n(e[0]),9,S),a(`text`,{class:`dl-dg-small`,x:262+t*130,y:`87`,"text-anchor":`middle`},n(e[1]),9,C)])),64)),c((p(),o(`g`,null,[k[0]||=a(`text`,{class:`dl-dg-lab is-sm`,x:`0`,y:`138`},`the trap`,-1),k[1]||=a(`text`,{class:`dl-dg-small is-bad`,x:`0`,y:`154`},`flag left out`,-1),(p(),o(l,null,r([[`T`,`32`],[`B`,`200`],[`F`,`64`]],(e,t)=>a(`g`,{key:`r3${t}`},[a(`rect`,{class:`dl-dg-box is-bad`,x:190+t*130,y:`120`,width:`120`,height:`40`,rx:`5`},null,8,w),a(`text`,{class:`dl-dg-lab is-sm`,x:232+t*130,y:`145`,"text-anchor":`middle`},n(e[0]),9,T),a(`text`,{class:`dl-dg-small is-bad`,x:262+t*130,y:`145`,"text-anchor":`middle`},n(e[1]),9,E)])),64))])),[[A]])])),c((p(),o(`div`,D,[...k[5]||=[a(`p`,null,[f(`Pass `),a(`code`,null,`batch_first=True`),f(`. Without it the model still trains, but reads 32 reviews as 32 time steps, with no error.`)],-1)]])),[[A]]),c((p(),o(`div`,O,[...k[6]||=[a(`p`,null,[f(`Exception: `),a(`code`,null,`h_n`),f(` is always (layers × directions, B, hidden).`)],-1)]])),[[A]])]),_:1},16)}}};export{k as default}; \ No newline at end of file diff --git a/lecture-05/assets/md-CRTXWVRl.js b/lecture-05/assets/md-CRTXWVRl.js new file mode 100644 index 0000000000000000000000000000000000000000..5f8f1d7024b3dd8c177f9de4b8b830b2df617885 --- /dev/null +++ b/lecture-05/assets/md-CRTXWVRl.js @@ -0,0 +1,8 @@ +import{$ as e,E as t,M as n,S as r,St as i,V as a,W as o,_ as s,b as c,bt as l,et as u,m as d,v as f,vt as p,x as m,y as h,yt as g,z as _}from"./modules/shiki-CkJq9tSf.js";import{n as v,t as y}from"./slidev/context-DnYiQGy6.js";import{t as b}from"./default-BTjgsdmC.js";import{t as x}from"./slidev/VClicks-DLDbGwsQ.js";import{t as S}from"./slidev/CodeBlockWrapper-RJVA2-nu.js";var C={class:`grid grid-cols-[1.35fr_1fr] gap-6 items-center`},w={class:`dl-diagram`,viewBox:`0 0 330 160`,role:`img`,"aria-label":`Five LSTM steps over the words the movie was not great. Each step emits a vector; together they are output. The last one is h_n.`},T=[`x`],E=[`d`],D=[`x`],O=[`d`],k=[`x`],A={class:`dl-tight mt-1`},j={class:`mt-2 dl-callout`},M={__name:`slides.md__slidev_55`,setup(M){let{$slidev:N,$nav:P,$clicksContext:F,$clicks:I,$page:L,$renderContext:R,$frontmatter:z}=v();return F.setup(),(v,M)=>{let N=S,P=x,F=o(`click`);return _(),f(b,l(t(p(y)(p(z),54))),{default:e(()=>[M[6]||=s(`h1`,null,[s(`code`,null,`nn.LSTM`),m(` returns two things, and you want one of them`)],-1),s(`div`,C,[s(`div`,null,[r(N,n({lines:!0},{title:``,ranges:[`all`,`1-2`,`4-5`,`7`,`8`,`all`]}),{default:e(()=>[...M[0]||=[s(`pre`,{class:`shiki shiki-themes vitesse-dark vitesse-light slidev-code`,style:{"--shiki-dark":`#dbd7caee`,"--shiki-light":`#393a34`,"--shiki-dark-bg":`#121212`,"--shiki-light-bg":`#ffffff`}},[s(`code`,{class:`language-python`},[s(`span`,{class:`line`},[s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},`lstm `),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`=`),s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},` nn`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`.`),s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},`LSTM`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`(`),s(`span`,{style:{"--shiki-dark":`#BD976A`,"--shiki-light":`#B07D48`}},`input_size`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`=`),s(`span`,{style:{"--shiki-dark":`#4C9A91`,"--shiki-light":`#2F798A`}},`64`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`,`),s(`span`,{style:{"--shiki-dark":`#BD976A`,"--shiki-light":`#B07D48`}},` hidden_size`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`=`),s(`span`,{style:{"--shiki-dark":`#4C9A91`,"--shiki-light":`#2F798A`}},`128`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`,`)]),m(` +`),s(`span`,{class:`line`},[s(`span`,{style:{"--shiki-dark":`#BD976A`,"--shiki-light":`#B07D48`}},` batch_first`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`=`),s(`span`,{style:{"--shiki-dark":`#4D9375`,"--shiki-light":`#1E754F`}},`True`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`)`)]),m(` +`),s(`span`,{class:`line`}),m(` +`),s(`span`,{class:`line`},[s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},`x `),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`=`),s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},` torch`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`.`),s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},`randn`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`(`),s(`span`,{style:{"--shiki-dark":`#4C9A91`,"--shiki-light":`#2F798A`}},`32`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`,`),s(`span`,{style:{"--shiki-dark":`#4C9A91`,"--shiki-light":`#2F798A`}},` 200`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`,`),s(`span`,{style:{"--shiki-dark":`#4C9A91`,"--shiki-light":`#2F798A`}},` 64`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`)`),s(`span`,{style:{"--shiki-dark":`#758575DD`,"--shiki-light":`#A0ADA0`}},` # (B, T, embed)`)]),m(` +`),s(`span`,{class:`line`},[s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},`output`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`,`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},` (`),s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},`h_n`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`,`),s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},` c_n`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`)`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},` =`),s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},` lstm`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`(`),s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},`x`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`)`)]),m(` +`),s(`span`,{class:`line`}),m(` +`),s(`span`,{class:`line`},[s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},`output`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`.`),s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},`shape `),s(`span`,{style:{"--shiki-dark":`#758575DD`,"--shiki-light":`#A0ADA0`}},`# (32, 200, 128): every step`)]),m(` +`),s(`span`,{class:`line`},[s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},`h_n`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`.`),s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},`shape `),s(`span`,{style:{"--shiki-dark":`#758575DD`,"--shiki-light":`#A0ADA0`}},`# (1, 32, 128): the last step`)])])],-1)]]),_:1},16)]),s(`div`,null,[(_(),c(`svg`,w,[M[1]||=s(`defs`,null,[s(`marker`,{id:`l5d-head-two`,markerWidth:`7`,markerHeight:`7`,refX:`6`,refY:`3.5`,orient:`auto`},[s(`path`,{d:`M0 0 L7 3.5 L0 7 z`,class:`dl-dg-head`})])],-1),M[2]||=s(`text`,{class:`dl-dg-small`,x:`10`,y:`12`},`output: one vector per step`,-1),(_(),c(d,null,a([`the`,`movie`,`was`,`not`,`great`],(e,t)=>s(`g`,{key:t},[s(`rect`,{class:g([`dl-dg-box`,t===4?`is-accent`:``]),x:10+t*56,y:`20`,width:`44`,height:`20`,rx:`3`},null,10,T),s(`path`,{class:`dl-dg-arrow`,d:`M${32+t*56} 98 V44`,"marker-end":`url(#l5d-head-two)`},null,8,E),s(`rect`,{class:`dl-dg-net`,x:10+t*56,y:`98`,width:`44`,height:`26`,rx:`5`},null,8,D),t<4?(_(),c(`path`,{key:0,class:`dl-dg-arrow`,d:`M${54+t*56} 111 H${64+t*56}`,"marker-end":`url(#l5d-head-two)`},null,8,O)):h(`v-if`,!0),s(`text`,{class:`dl-dg-small`,x:32+t*56,y:`146`,"text-anchor":`middle`},i(e),9,k)])),64)),M[3]||=s(`text`,{class:`dl-dg-in`,x:`290`,y:`60`},`h_n`,-1)]))])]),s(`div`,A,[r(P,null,{default:e(()=>[...M[4]||=[s(`ul`,null,[s(`li`,null,[s(`strong`,null,`Classify a review`),m(`: take `),s(`code`,null,`h_n[-1]`),m(`, `),s(`code`,null,`(32, 128)`)]),s(`li`,null,[s(`strong`,null,`A label per word`),m(`: take `),s(`code`,null,`output`),m(`, `),s(`code`,null,`(32, 200, 128)`)]),s(`li`,null,[m(`They agree, `),s(`code`,null,`output[:, -1]`),m(` = `),s(`code`,null,`h_n[-1]`),m(`, without padding`)])],-1)]]),_:1})]),u((_(),c(`div`,j,[...M[5]||=[s(`p`,null,[m(`Pick by the `),s(`strong`,null,`task shape`),m(`. Pick wrong, and the shapes can still line up.`)],-1)]])),[[F]])]),_:1},16)}}};export{M as default}; \ No newline at end of file diff --git a/lecture-05/assets/md-CVNvsAUX.js b/lecture-05/assets/md-CVNvsAUX.js new file mode 100644 index 0000000000000000000000000000000000000000..35f9dcb75db35c9907a4998607e5d5d1307077b7 --- /dev/null +++ b/lecture-05/assets/md-CVNvsAUX.js @@ -0,0 +1 @@ +import{$ as e,E as t,S as n,W as r,_ as i,b as a,bt as o,et as s,v as c,vt as l,x as u,z as d}from"./modules/shiki-CkJq9tSf.js";import{n as f,t as p}from"./slidev/context-DnYiQGy6.js";import{t as m}from"./default-BTjgsdmC.js";import{t as h}from"./slidev/VClicks-DLDbGwsQ.js";var g={class:`dl-tight dl-math-sm`},_={class:`mt-3`},v={class:`mt-2 dl-callout`},y={__name:`slides.md__slidev_24`,setup(y){let{$slidev:b,$nav:x,$clicksContext:S,$clicks:C,$page:w,$renderContext:T,$frontmatter:E}=f();return S.setup(),(f,y)=>{let b=h,x=r(`click`);return d(),c(m,o(t(l(p)(l(E),23))),{default:e(()=>[y[3]||=i(`h1`,null,`Your turn — count them`,-1),i(`div`,g,[n(b,null,{default:e(()=>[...y[0]||=[i(`ul`,null,[i(`li`,null,[i(`code`,null,`nn.RNN(64, 128)`),u(` → `),i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`mn`,null,`128`),i(`mo`,null,`⋅`),i(`mn`,null,`64`),i(`mo`,null,`+`),i(`mn`,null,`128`),i(`mo`,null,`⋅`),i(`mn`,null,`128`),i(`mo`,null,`+`),i(`mn`,null,`2`),i(`mo`,null,`⋅`),i(`mn`,null,`128`),i(`mo`,null,`=`),i(`mrow`,null,[i(`mn`,{mathvariant:`bold`},`24`),i(`mtext`,null,` `),i(`mn`,{mathvariant:`bold`},`832`)])]),i(`annotation`,{encoding:`application/x-tex`},`128 \\cdot 64 + 128 \\cdot 128 + 2 \\cdot 128 = \\mathbf{24\\,832}`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.6444em`}}),i(`span`,{class:`mord`},`128`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}}),i(`span`,{class:`mbin`},`⋅`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}})]),i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.7278em`,"vertical-align":`-0.0833em`}}),i(`span`,{class:`mord`},`64`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}}),i(`span`,{class:`mbin`},`+`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}})]),i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.6444em`}}),i(`span`,{class:`mord`},`128`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}}),i(`span`,{class:`mbin`},`⋅`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}})]),i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.7278em`,"vertical-align":`-0.0833em`}}),i(`span`,{class:`mord`},`128`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}}),i(`span`,{class:`mbin`},`+`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}})]),i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.6444em`}}),i(`span`,{class:`mord`},`2`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}}),i(`span`,{class:`mbin`},`⋅`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}})]),i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.6444em`}}),i(`span`,{class:`mord`},`128`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}}),i(`span`,{class:`mrel`},`=`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}})]),i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.6444em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathbf`},`24`),i(`span`,{class:`mspace`,style:{"margin-right":`0.1667em`}}),i(`span`,{class:`mord mathbf`},`832`)])])])])]),i(`li`,null,[i(`code`,null,`nn.LSTM(64, 128)`),u(` → an LSTM (long short-term memory, next section) has four such blocks: `),i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`mn`,{mathvariant:`bold`},`99`),i(`mtext`,null,` `),i(`mn`,{mathvariant:`bold`},`328`)]),i(`annotation`,{encoding:`application/x-tex`},`\\mathbf{99\\,328}`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.6444em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathbf`},`99`),i(`span`,{class:`mspace`,style:{"margin-right":`0.1667em`}}),i(`span`,{class:`mord mathbf`},`328`)])])])])]),i(`li`,null,[i(`code`,null,`nn.GRU(64, 128)`),u(` → a GRU (gated recurrent unit) has three: `),i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`mn`,{mathvariant:`bold`},`74`),i(`mtext`,null,` `),i(`mn`,{mathvariant:`bold`},`496`)]),i(`annotation`,{encoding:`application/x-tex`},`\\mathbf{74\\,496}`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.6444em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathbf`},`74`),i(`span`,{class:`mspace`,style:{"margin-right":`0.1667em`}}),i(`span`,{class:`mord mathbf`},`496`)])])])])]),i(`li`,null,[i(`code`,null,`nn.Embedding(20000, 64)`),u(` → `),i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`mn`,null,`20`),i(`mtext`,null,` `),i(`mn`,null,`000`),i(`mo`,null,`⋅`),i(`mn`,null,`64`),i(`mo`,null,`=`),i(`mrow`,null,[i(`mn`,{mathvariant:`bold`},`1`),i(`mtext`,null,` `),i(`mn`,{mathvariant:`bold`},`280`),i(`mtext`,null,` `),i(`mn`,{mathvariant:`bold`},`000`)])]),i(`annotation`,{encoding:`application/x-tex`},`20\\,000 \\cdot 64 = \\mathbf{1\\,280\\,000}`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.6444em`}}),i(`span`,{class:`mord`},`20`),i(`span`,{class:`mspace`,style:{"margin-right":`0.1667em`}}),i(`span`,{class:`mord`},`000`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}}),i(`span`,{class:`mbin`},`⋅`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}})]),i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.6444em`}}),i(`span`,{class:`mord`},`64`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}}),i(`span`,{class:`mrel`},`=`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}})]),i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.6444em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathbf`},`1`),i(`span`,{class:`mspace`,style:{"margin-right":`0.1667em`}}),i(`span`,{class:`mord mathbf`},`280`),i(`span`,{class:`mspace`,style:{"margin-right":`0.1667em`}}),i(`span`,{class:`mord mathbf`},`000`)])])])])])],-1)]]),_:1})]),s((d(),a(`div`,_,[...y[1]||=[i(`svg`,{viewBox:`0 0 640 74`,class:`dl-diagram`,role:`img`,"aria-label":`The whole classifier as one bar: the embedding is 93 percent, the LSTM 7 percent, the output layer a sliver`},[i(`rect`,{x:`10`,y:`14`,width:`556.7`,height:`30`,class:`dl-dg-bar`}),i(`rect`,{x:`566.7`,y:`14`,width:`43.2`,height:`30`,class:`dl-dg-bar is-q`}),i(`rect`,{x:`609.9`,y:`14`,width:`1.5`,height:`30`,class:`dl-dg-bar is-bad`}),i(`text`,{x:`288`,y:`34`,"text-anchor":`middle`,class:`dl-dg-lab is-sm`,style:{fill:`var(--dl-bg)`}},`embedding 93%`),i(`text`,{x:`588`,y:`64`,"text-anchor":`middle`,class:`dl-dg-small is-good`},`LSTM 7%`),i(`text`,{x:`626`,y:`10`,"text-anchor":`end`,class:`dl-dg-small is-bad`},`head`)],-1)]])),[[x]]),s((d(),a(`div`,v,[...y[2]||=[i(`p`,null,[u(`Embedding + LSTM + `),i(`code`,null,`Linear(128, 2)`),u(` = `),i(`strong`,null,`1 379 586`),u(` weights. The recurrent part we spend the lecture on is 7% of them.`)],-1)]])),[[x]])]),_:1},16)}}};export{y as default}; \ No newline at end of file diff --git a/lecture-05/assets/md-CYXxUBJM.css b/lecture-05/assets/md-CYXxUBJM.css new file mode 100644 index 0000000000000000000000000000000000000000..61e9e4648f6d8b40762f4b0525b8efe486b5c232 --- /dev/null +++ b/lecture-05/assets/md-CYXxUBJM.css @@ -0,0 +1 @@ +.dl-title[data-v-dc59a472]{flex-direction:column;justify-content:center;padding-left:4rem;padding-right:4rem;display:flex}.dl-title__eyebrow[data-v-dc59a472]{font-size:var(--dl-fs-secondary);letter-spacing:.14em;text-transform:uppercase;align-items:center;gap:.9rem;margin-bottom:1.1rem;display:flex}.dl-title__code[data-v-dc59a472]{color:var(--dl-accent);font-weight:700}.dl-title__lecture[data-v-dc59a472]{color:var(--dl-muted)}.dl-title__body[data-v-dc59a472] h1{font-size:var(--dl-fs-title);margin:0;line-height:1.05}.dl-title__body[data-v-dc59a472] p{font-size:var(--dl-fs-body);color:var(--dl-muted);max-width:34ch;margin-top:.7rem}.dl-title__rule[data-v-dc59a472]{margin:1.6rem 0 1.2rem}.dl-title__meta[data-v-dc59a472]{font-size:var(--dl-fs-secondary);line-height:1.7}.dl-title__author[data-v-dc59a472]{color:var(--dl-heading);font-weight:600}.dl-title__email[data-v-dc59a472]{color:var(--dl-accent)}.dl-title__date[data-v-dc59a472]{color:var(--dl-muted)} diff --git a/lecture-05/assets/md-C_lg6i48.js b/lecture-05/assets/md-C_lg6i48.js new file mode 100644 index 0000000000000000000000000000000000000000..a28f71eab0ca6ebdd533fb76ebc6e0eebd7b19e5 --- /dev/null +++ b/lecture-05/assets/md-C_lg6i48.js @@ -0,0 +1 @@ +import{$ as e,E as t,S as n,_ as r,bt as i,v as a,vt as o,z as s}from"./modules/shiki-CkJq9tSf.js";import{n as c,t as l}from"./slidev/context-DnYiQGy6.js";import{t as u}from"./RnnGlyph-DxX0mQto.js";import{t as d}from"./section-CLxRKQ9Y.js";var f={style:{position:`absolute`,right:`4.5rem`,top:`50%`,transform:`translateY(-50%)`}},p={__name:`slides.md__slidev_53`,setup(p){let{$slidev:m,$nav:h,$clicksContext:g,$clicks:_,$page:v,$renderContext:y,$frontmatter:b}=c();return g.setup(),(c,p)=>{let m=u;return s(),a(d,i(t(o(l)(o(b),52))),{default:e(()=>[p[0]||=r(`h1`,null,`An RNN in PyTorch`,-1),p[1]||=r(`p`,null,`The same reviews, 32 at a time.`,-1),r(`div`,f,[n(m,{kind:`shape`,size:190})])]),_:1},16)}}};export{p as default}; \ No newline at end of file diff --git a/lecture-05/assets/md-Ce7WJKoY.js b/lecture-05/assets/md-Ce7WJKoY.js new file mode 100644 index 0000000000000000000000000000000000000000..49029bfe1f88eacc0e04a87ca2d1bb315155bfb8 --- /dev/null +++ b/lecture-05/assets/md-Ce7WJKoY.js @@ -0,0 +1 @@ +import{$ as e,E as t,S as n,W as r,_ as i,b as a,bt as o,et as s,v as c,vt as l,x as u,z as d}from"./modules/shiki-CkJq9tSf.js";import{n as f,t as p}from"./slidev/context-DnYiQGy6.js";import{t as m}from"./default-BTjgsdmC.js";import{t as h}from"./slidev/VClicks-DLDbGwsQ.js";var g={class:`grid grid-cols-[1.25fr_1fr] gap-6 items-center`},_={class:`dl-tight`},v={class:`mt-4 dl-callout`},y={__name:`slides.md__slidev_61`,setup(y){let{$slidev:b,$nav:x,$clicksContext:S,$clicks:C,$page:w,$renderContext:T,$frontmatter:E}=f();return S.setup(),(f,y)=>{let b=h,x=r(`click`);return d(),c(m,o(t(l(p)(l(E),60))),{default:e(()=>[y[3]||=i(`h1`,null,`Four bugs, and what each one looks like`,-1),i(`div`,g,[i(`div`,_,[n(b,null,{default:e(()=>[...y[0]||=[i(`ul`,null,[i(`li`,null,[i(`strong`,null,[i(`code`,null,`batch_first`),u(` left out`)]),u(`: the batch is read as time`)]),i(`li`,null,[i(`strong`,null,`No packing`),u(`: `),i(`code`,null,`h_n`),u(` is read after the padding`)]),i(`li`,null,[i(`strong`,null,`Loss on padding`),u(`, with a label per word: fix with `),i(`code`,null,`ignore_index=0`)]),i(`li`,null,[i(`strong`,null,`No clipping`),u(`: one `),i(`code`,null,`nan`),u(` loss, then every weight is `),i(`code`,null,`nan`)])],-1)]]),_:1})]),y[1]||=i(`div`,null,[i(`svg`,{class:`dl-diagram`,viewBox:`-14 0 294 170`,role:`img`,"aria-label":`A sketch of three loss curves against training steps. The correct model goes lowest. A silent bug flattens out higher. The run without clipping stops at nan.`},[i(`path`,{class:`dl-dg-line is-muted`,d:`M24 10 V146 H272`,style:{"stroke-width":`1.2`}}),i(`text`,{class:`dl-dg-small`,x:`18`,y:`16`,"text-anchor":`end`},`loss`),i(`text`,{class:`dl-dg-small`,x:`272`,y:`162`,"text-anchor":`end`},`steps`),i(`path`,{class:`dl-dg-grad is-good`,d:`M26 24 C 70 90, 120 128, 268 136`,style:{"stroke-width":`2.4`}}),i(`text`,{class:`dl-dg-small is-good`,x:`266`,y:`128`,"text-anchor":`end`},`correct`),i(`path`,{class:`dl-dg-line is-muted`,d:`M26 24 C 70 66, 120 88, 268 92`,style:{"stroke-width":`2.4`}}),i(`text`,{class:`dl-dg-small`,x:`266`,y:`84`,"text-anchor":`end`},`bug`),i(`path`,{class:`dl-dg-grad is-bad`,d:`M26 24 C 50 50, 70 62, 112 66`,style:{"stroke-width":`2.4`,"stroke-dasharray":`none`}}),i(`text`,{class:`dl-dg-small is-bad`,x:`120`,y:`62`},`nan`)])],-1)]),s((d(),a(`div`,v,[...y[2]||=[i(`p`,null,[u(`Three of the four give `),i(`strong`,null,`no error message`),u(`: the loss still falls, just not far enough.`)],-1)]])),[[x]])]),_:1},16)}}};export{y as default}; \ No newline at end of file diff --git a/lecture-05/assets/md-Cizf_KhR.js b/lecture-05/assets/md-Cizf_KhR.js new file mode 100644 index 0000000000000000000000000000000000000000..6f883816d02160abc780a3cb0aac881b48f53281 --- /dev/null +++ b/lecture-05/assets/md-Cizf_KhR.js @@ -0,0 +1 @@ +import{$ as e,E as t,S as n,_ as r,bt as i,v as a,vt as o,z as s}from"./modules/shiki-CkJq9tSf.js";import{n as c,t as l}from"./slidev/context-DnYiQGy6.js";import{t as u}from"./RnnGlyph-DxX0mQto.js";import{t as d}from"./section-CLxRKQ9Y.js";var f={style:{position:`absolute`,right:`4.5rem`,top:`50%`,transform:`translateY(-50%)`}},p={__name:`slides.md__slidev_37`,setup(p){let{$slidev:m,$nav:h,$clicksContext:g,$clicks:_,$page:v,$renderContext:y,$frontmatter:b}=c();return g.setup(),(c,p)=>{let m=u;return s(),a(d,i(t(o(l)(o(b),36))),{default:e(()=>[p[0]||=r(`h1`,null,`Gated cells`,-1),p[1]||=r(`p`,null,`The fix for the fading note: a sealed envelope that only the gates may open.`,-1),r(`div`,f,[n(m,{kind:`gate`,size:190})])]),_:1},16)}}};export{p as default}; \ No newline at end of file diff --git a/lecture-05/assets/md-Cqetyhg_.js b/lecture-05/assets/md-Cqetyhg_.js new file mode 100644 index 0000000000000000000000000000000000000000..7b0c8798578ac01f6b46431cfc83712d7754ba9f --- /dev/null +++ b/lecture-05/assets/md-Cqetyhg_.js @@ -0,0 +1 @@ +import{$ as e,E as t,St as n,V as r,W as i,_ as a,b as o,bt as s,et as c,m as l,v as u,vt as d,x as f,yt as p,z as m}from"./modules/shiki-CkJq9tSf.js";import{n as h,t as g}from"./slidev/context-DnYiQGy6.js";import{t as _}from"./default-BTjgsdmC.js";var v={viewBox:`0 0 600 150`,class:`dl-diagram`,role:`img`,"aria-label":`A fixed window of 200 slots. Review A fills slots 1 to 4 and review B slots 1 to 5; the rest is padding. Great sits in slot 4 for A and slot 5 for B, so different weights read it`},y=[`x`],b=[`x`],x=[`x`,`textContent`],S=[`x`],C=[`x`],w=[`x`,`textContent`],T={class:`mt-2`},E={class:`mt-2 dl-callout`},D={__name:`slides.md__slidev_8`,setup(D){let{$slidev:O,$nav:k,$clicksContext:A,$clicks:j,$page:M,$renderContext:N,$frontmatter:P}=h();return A.setup(),(h,D)=>{let O=i(`click`);return m(),u(_,s(t(d(g)(d(P),7))),{default:e(()=>[D[11]||=a(`h1`,null,`Try it with the network we already have`,-1),(m(),o(`svg`,v,[D[1]||=a(`text`,{class:`dl-dg-small`,x:`60`,y:`14`},`slot 1`,-1),D[2]||=a(`text`,{class:`dl-dg-small`,x:`530`,y:`14`},`slot 200`,-1),D[3]||=a(`text`,{class:`dl-dg-lab is-sm`,x:`20`,y:`43`},`A`,-1),D[4]||=a(`text`,{class:`dl-dg-lab is-sm`,x:`20`,y:`87`},`B`,-1),(m(),o(l,null,r(4,e=>a(`rect`,{key:`a${e}`,class:p(e===4?`dl-dg-box is-accent`:`dl-dg-box`),x:60+(e-1)*62,y:`24`,width:`56`,height:`28`,rx:`3`},null,10,y)),64)),(m(),o(l,null,r(3,e=>a(`rect`,{key:`ap${e}`,class:`dl-dg-fill is-muted is-dashed`,x:308+(e-1)*62,y:`24`,width:`56`,height:`28`,rx:`3`},null,8,b)),64)),D[5]||=a(`rect`,{class:`dl-dg-fill is-muted is-dashed`,x:`530`,y:`24`,width:`56`,height:`28`,rx:`3`},null,-1),(m(),o(l,null,r([`the`,`movie`,`was`,`great`],(e,t)=>a(`text`,{key:`aw${t}`,class:`dl-dg-lab is-sm`,x:88+t*62,y:`43`,"text-anchor":`middle`,textContent:n(e)},null,8,x)),64)),(m(),o(l,null,r(5,e=>a(`rect`,{key:`b${e}`,class:p(e===5?`dl-dg-box is-accent`:`dl-dg-box`),x:60+(e-1)*62,y:`68`,width:`56`,height:`28`,rx:`3`},null,10,S)),64)),(m(),o(l,null,r(2,e=>a(`rect`,{key:`bp${e}`,class:`dl-dg-fill is-muted is-dashed`,x:370+(e-1)*62,y:`68`,width:`56`,height:`28`,rx:`3`},null,8,C)),64)),D[6]||=a(`rect`,{class:`dl-dg-fill is-muted is-dashed`,x:`530`,y:`68`,width:`56`,height:`28`,rx:`3`},null,-1),(m(),o(l,null,r([`the`,`movie`,`was`,`not`,`great`],(e,t)=>a(`text`,{key:`bw${t}`,class:`dl-dg-lab is-sm`,x:88+t*62,y:`87`,"text-anchor":`middle`,textContent:n(e)},null,8,w)),64)),D[7]||=a(`path`,{class:`dl-dg-loss`,d:`M492 38 H526 M492 82 H526`},null,-1),D[8]||=a(`text`,{class:`dl-dg-small`,x:`558`,y:`62`,"text-anchor":`middle`},`pad`,-1),c((m(),o(`g`,null,[...D[0]||=[a(`path`,{class:`dl-dg-loss`,d:`M274 100 V122 M336 100 V122`},null,-1),a(`text`,{class:`dl-dg-small is-bad`,x:`305`,y:`138`,"text-anchor":`middle`},`different weights`,-1)]])),[[O,1]])])),D[12]||=a(`div`,{class:`mt-1 dl-tight`},[a(`p`,null,[f(`Each slot: a `),a(`strong`,null,`one-hot`),f(` vector of 20 000 numbers, all 0 except one 1. So 4 000 000 inputs. Into 256 units: `),a(`strong`,null,`1 024 000 256 weights`),f(`.`)])],-1),c((m(),o(`div`,T,[...D[9]||=[a(`p`,null,[a(`strong`,null,`Position-locked.`),f(),a(`em`,null,`great`),f(` in slots 4 and 5 meets different weights.`)],-1)]])),[[O,1]]),c((m(),o(`div`,E,[...D[10]||=[a(`p`,null,`It tells A from B, but learns each word again at every position.`,-1)]])),[[O,2]])]),_:1},16)}}};export{D as default}; \ No newline at end of file diff --git a/lecture-05/assets/md-CvO3R3mJ.js b/lecture-05/assets/md-CvO3R3mJ.js new file mode 100644 index 0000000000000000000000000000000000000000..654dd4e136fa0579e7a162f846e7e70f48e5570e --- /dev/null +++ b/lecture-05/assets/md-CvO3R3mJ.js @@ -0,0 +1 @@ +import{$ as e,E as t,S as n,W as r,_ as i,b as a,bt as o,et as s,v as c,vt as l,x as u,z as d}from"./modules/shiki-CkJq9tSf.js";import{n as f,t as p}from"./slidev/context-DnYiQGy6.js";import{t as m}from"./default-BTjgsdmC.js";import{t as h}from"./slidev/VClicks-DLDbGwsQ.js";var g={class:`grid grid-cols-[1.45fr_1fr] gap-5 mt-1 items-start`},_={class:`dl-ledger dl-tight dl-eq-legend`},v={viewBox:`0 0 300 140`,role:`img`,"aria-label":`The sigmoid curve with three points: the input gate at 0.40, the output gate at 0.70 and the forget gate at 0.90`,style:{width:`100%`,height:`auto`,"font-family":`inherit`}},y={class:`dl-callout`},b={__name:`slides.md__slidev_41`,setup(b){let{$slidev:x,$nav:S,$clicksContext:C,$clicks:w,$page:T,$renderContext:E,$frontmatter:D}=f();return C.setup(),(f,b)=>{let x=h,S=r(`click`);return d(),c(m,o(t(l(p)(l(D),40))),{default:e(()=>[b[3]||=i(`h1`,null,`Reading the equation: the LSTM cell`,-1),i(`div`,g,[i(`div`,_,[n(x,null,{default:e(()=>[...b[0]||=[i(`table`,null,[i(`thead`,null,[i(`tr`,null,[i(`th`,null,`symbol`),i(`th`,null,`name`),i(`th`,null,`what it is here`),i(`th`,null,`example`)])]),i(`tbody`,null,[i(`tr`,null,[i(`td`,null,[i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`msub`,null,[i(`mi`,{mathvariant:`bold`},`f`),i(`mi`,null,`t`)]),i(`mo`,{separator:`true`},`,`),i(`mtext`,null,`\xA0`),i(`msub`,null,[i(`mi`,{mathvariant:`bold`},`i`),i(`mi`,null,`t`)]),i(`mo`,{separator:`true`},`,`),i(`mtext`,null,`\xA0`),i(`msub`,null,[i(`mi`,{mathvariant:`bold`},`o`),i(`mi`,null,`t`)])]),i(`annotation`,{encoding:`application/x-tex`},`\\mathbf{f}_t,\\ \\mathbf{i}_t,\\ \\mathbf{o}_t`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.8889em`,"vertical-align":`-0.1944em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathbf`,style:{"margin-right":`0.109em`}},`f`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.2806em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`-0.109em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mathnormal mtight`},`t`)])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.15em`}},[i(`span`)])])])])]),i(`span`,{class:`mpunct`},`,`),i(`span`,{class:`mspace`},`\xA0`),i(`span`,{class:`mspace`,style:{"margin-right":`0.1667em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathbf`},`i`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.2806em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mathnormal mtight`},`t`)])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.15em`}},[i(`span`)])])])])]),i(`span`,{class:`mpunct`},`,`),i(`span`,{class:`mspace`},`\xA0`),i(`span`,{class:`mspace`,style:{"margin-right":`0.1667em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathbf`},`o`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.2806em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mathnormal mtight`},`t`)])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.15em`}},[i(`span`)])])])])])])])])]),i(`td`,null,`forget, input, output gates`),i(`td`,null,[u(`fractions in `),i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`mo`,{stretchy:`false`},`(`),i(`mn`,null,`0`),i(`mo`,{separator:`true`},`,`),i(`mn`,null,`1`),i(`mo`,{stretchy:`false`},`)`)]),i(`annotation`,{encoding:`application/x-tex`},`(0, 1)`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`1em`,"vertical-align":`-0.25em`}}),i(`span`,{class:`mopen`},`(`),i(`span`,{class:`mord`},`0`),i(`span`,{class:`mpunct`},`,`),i(`span`,{class:`mspace`,style:{"margin-right":`0.1667em`}}),i(`span`,{class:`mord`},`1`),i(`span`,{class:`mclose`},`)`)])])])]),i(`td`,null,`0.90, 0.40, 0.70`)]),i(`tr`,null,[i(`td`,null,[i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`msub`,null,[i(`mover`,{accent:`true`},[i(`mi`,{mathvariant:`bold`},`c`),i(`mo`,null,`~`)]),i(`mi`,null,`t`)])]),i(`annotation`,{encoding:`application/x-tex`},`\\tilde{\\mathbf{c}}_t`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.8313em`,"vertical-align":`-0.15em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord katex-accent`},[i(`span`,{class:`vlist-t`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.6813em`}},[i(`span`,{style:{top:`-3em`}},[i(`span`,{class:`pstrut`,style:{height:`3em`}}),i(`span`,{class:`mord mathbf`},`c`)]),i(`span`,{style:{top:`-3.3634em`}},[i(`span`,{class:`pstrut`,style:{height:`3em`}}),i(`span`,{class:`accent-body`,style:{left:`-0.25em`}},[i(`span`,{class:`mord`},`~`)])])])])])]),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.2806em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mathnormal mtight`},`t`)])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.15em`}},[i(`span`)])])])])])])])])]),i(`td`,null,`candidate`),i(`td`,null,`content to write`),i(`td`,null,`0.80`)]),i(`tr`,null,[i(`td`,null,[i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`msub`,null,[i(`mi`,{mathvariant:`bold`},`c`),i(`mrow`,null,[i(`mi`,null,`t`),i(`mo`,null,`−`),i(`mn`,null,`1`)])]),i(`mo`,{separator:`true`},`,`),i(`mtext`,null,`\xA0`),i(`msub`,null,[i(`mi`,{mathvariant:`bold`},`c`),i(`mi`,null,`t`)])]),i(`annotation`,{encoding:`application/x-tex`},`\\mathbf{c}_{t-1},\\ \\mathbf{c}_t`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.6528em`,"vertical-align":`-0.2083em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathbf`},`c`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.3011em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mtight`},[i(`span`,{class:`mord mathnormal mtight`},`t`),i(`span`,{class:`mbin mtight`},`−`),i(`span`,{class:`mord mtight`},`1`)])])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.2083em`}},[i(`span`)])])])])]),i(`span`,{class:`mpunct`},`,`),i(`span`,{class:`mspace`},`\xA0`),i(`span`,{class:`mspace`,style:{"margin-right":`0.1667em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathbf`},`c`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.2806em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mathnormal mtight`},`t`)])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.15em`}},[i(`span`)])])])])])])])])]),i(`td`,null,`cell state`),i(`td`,null,`long-term memory`),i(`td`,null,`0.6`)]),i(`tr`,null,[i(`td`,null,[i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`msub`,null,[i(`mi`,{mathvariant:`bold`},`h`),i(`mrow`,null,[i(`mi`,null,`t`),i(`mo`,null,`−`),i(`mn`,null,`1`)])]),i(`mo`,{separator:`true`},`,`),i(`mtext`,null,`\xA0`),i(`msub`,null,[i(`mi`,{mathvariant:`bold`},`h`),i(`mi`,null,`t`)])]),i(`annotation`,{encoding:`application/x-tex`},`\\mathbf{h}_{t-1},\\ \\mathbf{h}_t`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.9028em`,"vertical-align":`-0.2083em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathbf`},`h`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.3011em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mtight`},[i(`span`,{class:`mord mathnormal mtight`},`t`),i(`span`,{class:`mbin mtight`},`−`),i(`span`,{class:`mord mtight`},`1`)])])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.2083em`}},[i(`span`)])])])])]),i(`span`,{class:`mpunct`},`,`),i(`span`,{class:`mspace`},`\xA0`),i(`span`,{class:`mspace`,style:{"margin-right":`0.1667em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathbf`},`h`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.2806em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mathnormal mtight`},`t`)])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.15em`}},[i(`span`)])])])])])])])])]),i(`td`,null,`hidden state`),i(`td`,null,`what the cell shows`),i(`td`,null,`0.5`)]),i(`tr`,null,[i(`td`,null,[i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`msub`,null,[i(`mi`,{mathvariant:`bold`},`x`),i(`mi`,null,`t`)]),i(`mo`,{separator:`true`},`,`),i(`mtext`,null,`\xA0`),i(`mi`,null,`t`)]),i(`annotation`,{encoding:`application/x-tex`},`\\mathbf{x}_t,\\ t`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.8095em`,"vertical-align":`-0.1944em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathbf`},`x`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.2806em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mathnormal mtight`},`t`)])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.15em`}},[i(`span`)])])])])]),i(`span`,{class:`mpunct`},`,`),i(`span`,{class:`mspace`},`\xA0`),i(`span`,{class:`mspace`,style:{"margin-right":`0.1667em`}}),i(`span`,{class:`mord mathnormal`},`t`)])])])]),i(`td`,null,`input, time step`),i(`td`,null,`this step’s data`),i(`td`,null,`1`)]),i(`tr`,null,[i(`td`,null,[i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`msub`,null,[i(`mi`,null,`W`),i(`mrow`,null,[i(`mi`,null,`x`),i(`mo`,null,`⋅`)])]),i(`mo`,{separator:`true`},`,`),i(`mtext`,null,`\xA0`),i(`msub`,null,[i(`mi`,null,`W`),i(`mrow`,null,[i(`mi`,null,`h`),i(`mo`,null,`⋅`)])]),i(`mo`,{separator:`true`},`,`),i(`mtext`,null,`\xA0`),i(`msub`,null,[i(`mi`,{mathvariant:`bold`},`b`),i(`mo`,null,`⋅`)])]),i(`annotation`,{encoding:`application/x-tex`},`W_{x\\cdot},\\ W_{h\\cdot},\\ \\mathbf{b}_\\cdot`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.8889em`,"vertical-align":`-0.1944em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathnormal`,style:{"margin-right":`0.1389em`}},`W`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.1611em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`-0.1389em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mtight`},[i(`span`,{class:`mord mathnormal mtight`},`x`),i(`span`,{class:`mord mtight`},`⋅`)])])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.15em`}},[i(`span`)])])])])]),i(`span`,{class:`mpunct`},`,`),i(`span`,{class:`mspace`},`\xA0`),i(`span`,{class:`mspace`,style:{"margin-right":`0.1667em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathnormal`,style:{"margin-right":`0.1389em`}},`W`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.3361em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`-0.1389em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mtight`},[i(`span`,{class:`mord mathnormal mtight`},`h`),i(`span`,{class:`mord mtight`},`⋅`)])])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.15em`}},[i(`span`)])])])])]),i(`span`,{class:`mpunct`},`,`),i(`span`,{class:`mspace`},`\xA0`),i(`span`,{class:`mspace`,style:{"margin-right":`0.1667em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathbf`},`b`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.1611em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mbin mtight`},`⋅`)])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.15em`}},[i(`span`)])])])])])])])])]),i(`td`,null,`weights, biases`),i(`td`,null,`per gate, learned`),i(`td`,null,[i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`msub`,null,[i(`mi`,null,`W`),i(`mrow`,null,[i(`mi`,null,`x`),i(`mi`,null,`f`)])]),i(`mo`,null,`=`),i(`mn`,null,`1.5`)]),i(`annotation`,{encoding:`application/x-tex`},`W_{xf} = 1.5`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.9694em`,"vertical-align":`-0.2861em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathnormal`,style:{"margin-right":`0.1389em`}},`W`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.3361em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`-0.1389em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mtight`},[i(`span`,{class:`mord mathnormal mtight`},`x`),i(`span`,{class:`mord mathnormal mtight`,style:{"margin-right":`0.1076em`}},`f`)])])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.2861em`}},[i(`span`)])])])])]),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}}),i(`span`,{class:`mrel`},`=`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}})]),i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.6444em`}}),i(`span`,{class:`mord`},`1.5`)])])])])]),i(`tr`,null,[i(`td`,null,[i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`mi`,null,`σ`),i(`mo`,{separator:`true`},`,`),i(`mtext`,null,`\xA0`),i(`mi`,null,`tanh`),i(`mo`,null,`⁡`)]),i(`annotation`,{encoding:`application/x-tex`},`\\sigma,\\ \\tanh`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.8889em`,"vertical-align":`-0.1944em`}}),i(`span`,{class:`mord mathnormal`,style:{"margin-right":`0.0359em`}},`σ`),i(`span`,{class:`mpunct`},`,`),i(`span`,{class:`mspace`},`\xA0`),i(`span`,{class:`mspace`,style:{"margin-right":`0.1667em`}}),i(`span`,{class:`mop`},`tanh`)])])])]),i(`td`,null,`sigmoid, hyperbolic tangent`),i(`td`,null,[u(`into `),i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`mo`,{stretchy:`false`},`(`),i(`mn`,null,`0`),i(`mo`,{separator:`true`},`,`),i(`mn`,null,`1`),i(`mo`,{stretchy:`false`},`)`)]),i(`annotation`,{encoding:`application/x-tex`},`(0, 1)`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`1em`,"vertical-align":`-0.25em`}}),i(`span`,{class:`mopen`},`(`),i(`span`,{class:`mord`},`0`),i(`span`,{class:`mpunct`},`,`),i(`span`,{class:`mspace`,style:{"margin-right":`0.1667em`}}),i(`span`,{class:`mord`},`1`),i(`span`,{class:`mclose`},`)`)])])]),u(` and `),i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`mo`,{stretchy:`false`},`(`),i(`mo`,null,`−`),i(`mn`,null,`1`),i(`mo`,{separator:`true`},`,`),i(`mn`,null,`1`),i(`mo`,{stretchy:`false`},`)`)]),i(`annotation`,{encoding:`application/x-tex`},`(-1, 1)`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`1em`,"vertical-align":`-0.25em`}}),i(`span`,{class:`mopen`},`(`),i(`span`,{class:`mord`},`−`),i(`span`,{class:`mord`},`1`),i(`span`,{class:`mpunct`},`,`),i(`span`,{class:`mspace`,style:{"margin-right":`0.1667em`}}),i(`span`,{class:`mord`},`1`),i(`span`,{class:`mclose`},`)`)])])])]),i(`td`,null,[i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`mi`,null,`σ`),i(`mo`,{stretchy:`false`},`(`),i(`mn`,null,`2.2`),i(`mo`,{stretchy:`false`},`)`),i(`mo`,null,`=`),i(`mn`,null,`0.90`)]),i(`annotation`,{encoding:`application/x-tex`},`\\sigma(2.2) = 0.90`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`1em`,"vertical-align":`-0.25em`}}),i(`span`,{class:`mord mathnormal`,style:{"margin-right":`0.0359em`}},`σ`),i(`span`,{class:`mopen`},`(`),i(`span`,{class:`mord`},`2.2`),i(`span`,{class:`mclose`},`)`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}}),i(`span`,{class:`mrel`},`=`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}})]),i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.6444em`}}),i(`span`,{class:`mord`},`0.90`)])])])])]),i(`tr`,null,[i(`td`,null,[i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`mo`,null,`⊙`)]),i(`annotation`,{encoding:`application/x-tex`},`\\odot`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.6667em`,"vertical-align":`-0.0833em`}}),i(`span`,{class:`mord`},`⊙`)])])])]),i(`td`,null,`element-wise product`),i(`td`,null,`unit by unit`),i(`td`,null,[i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`mn`,null,`0.9`),i(`mo`,null,`×`),i(`mn`,null,`0.6`)]),i(`annotation`,{encoding:`application/x-tex`},`0.9 \\times 0.6`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.7278em`,"vertical-align":`-0.0833em`}}),i(`span`,{class:`mord`},`0.9`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}}),i(`span`,{class:`mbin`},`×`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}})]),i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.6444em`}}),i(`span`,{class:`mord`},`0.6`)])])])])])])],-1)]]),_:1})]),i(`div`,null,[(d(),a(`svg`,v,[...b[1]||=[i(`line`,{x1:`20`,y1:`110`,x2:`280`,y2:`110`,stroke:`var(--dl-border)`,"stroke-width":`1.5`},null,-1),i(`line`,{x1:`20`,y1:`10`,x2:`280`,y2:`10`,stroke:`var(--dl-border)`,"stroke-width":`1`,style:{"stroke-dasharray":`4 4`}},null,-1),i(`line`,{x1:`150`,y1:`10`,x2:`150`,y2:`110`,stroke:`var(--dl-border)`,"stroke-width":`1`},null,-1),i(`path`,{d:`M20.0 108.2 L36.2 107.1 L52.5 105.3 L68.8 102.4 L85.0 98.1 L101.2 91.8 L117.5 83.1 L133.8 72.2 L150.0 60.0 L166.2 47.8 L182.5 36.9 L198.8 28.2 L215.0 21.9 L231.2 17.6 L247.5 14.7 L263.8 12.9 L280.0 11.8`,fill:`none`,stroke:`var(--dl-accent)`,"stroke-width":`2`},null,-1),i(`circle`,{cx:`221.5`,cy:`20.0`,r:`5`,fill:`var(--dl-danger)`},null,-1),i(`text`,{x:`230`,y:`38`,style:{"font-size":`12px`,fill:`var(--dl-body)`}},`f = 0.90`,-1),i(`circle`,{cx:`177.6`,cy:`39.9`,r:`5`,fill:`var(--dl-accent-strong)`},null,-1),i(`text`,{x:`186`,y:`58`,style:{"font-size":`12px`,fill:`var(--dl-body)`}},`o = 0.70`,-1),i(`circle`,{cx:`137.0`,cy:`69.9`,r:`5`,fill:`var(--dl-accent-strong)`},null,-1),i(`text`,{x:`146`,y:`88`,style:{"font-size":`12px`,fill:`var(--dl-body)`}},`i = 0.40`,-1),i(`text`,{x:`150`,y:`128`,"text-anchor":`middle`,style:{"font-size":`12px`,fill:`var(--dl-muted)`}},`0`,-1),i(`text`,{x:`280`,y:`128`,"text-anchor":`end`,style:{"font-size":`12px`,fill:`var(--dl-muted)`}},`input to σ`,-1),i(`text`,{x:`22`,y:`24`,style:{"font-size":`12px`,fill:`var(--dl-muted)`}},`1`,-1)]])),s((d(),a(`div`,y,[...b[2]||=[i(`p`,null,[u(`Forget gate: `),i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`msub`,null,[i(`mi`,null,`x`),i(`mi`,null,`t`)]),i(`mo`,null,`=`),i(`mn`,null,`1`)]),i(`annotation`,{encoding:`application/x-tex`},`x_t = 1`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.5806em`,"vertical-align":`-0.15em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathnormal`},`x`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.2806em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mathnormal mtight`},`t`)])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.15em`}},[i(`span`)])])])])]),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}}),i(`span`,{class:`mrel`},`=`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}})]),i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.6444em`}}),i(`span`,{class:`mord`},`1`)])])]),u(`, `),i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`msub`,null,[i(`mi`,null,`h`),i(`mrow`,null,[i(`mi`,null,`t`),i(`mo`,null,`−`),i(`mn`,null,`1`)])]),i(`mo`,null,`=`),i(`mn`,null,`0.5`)]),i(`annotation`,{encoding:`application/x-tex`},`h_{t-1} = 0.5`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.9028em`,"vertical-align":`-0.2083em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathnormal`},`h`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.3011em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mtight`},[i(`span`,{class:`mord mathnormal mtight`},`t`),i(`span`,{class:`mbin mtight`},`−`),i(`span`,{class:`mord mtight`},`1`)])])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.2083em`}},[i(`span`)])])])])]),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}}),i(`span`,{class:`mrel`},`=`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}})]),i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.6444em`}}),i(`span`,{class:`mord`},`0.5`)])])]),u(`, `),i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`msub`,null,[i(`mi`,null,`W`),i(`mrow`,null,[i(`mi`,null,`x`),i(`mi`,null,`f`)])]),i(`mo`,null,`=`),i(`mn`,null,`1.5`)]),i(`annotation`,{encoding:`application/x-tex`},`W_{xf} = 1.5`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.9694em`,"vertical-align":`-0.2861em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathnormal`,style:{"margin-right":`0.1389em`}},`W`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.3361em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`-0.1389em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mtight`},[i(`span`,{class:`mord mathnormal mtight`},`x`),i(`span`,{class:`mord mathnormal mtight`,style:{"margin-right":`0.1076em`}},`f`)])])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.2861em`}},[i(`span`)])])])])]),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}}),i(`span`,{class:`mrel`},`=`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}})]),i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.6444em`}}),i(`span`,{class:`mord`},`1.5`)])])]),u(`, `),i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`msub`,null,[i(`mi`,null,`W`),i(`mrow`,null,[i(`mi`,null,`h`),i(`mi`,null,`f`)])]),i(`mo`,null,`=`),i(`mn`,null,`0.8`)]),i(`annotation`,{encoding:`application/x-tex`},`W_{hf} = 0.8`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.9694em`,"vertical-align":`-0.2861em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathnormal`,style:{"margin-right":`0.1389em`}},`W`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.3361em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`-0.1389em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mtight`},[i(`span`,{class:`mord mathnormal mtight`},`h`),i(`span`,{class:`mord mathnormal mtight`,style:{"margin-right":`0.1076em`}},`f`)])])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.2861em`}},[i(`span`)])])])])]),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}}),i(`span`,{class:`mrel`},`=`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}})]),i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.6444em`}}),i(`span`,{class:`mord`},`0.8`)])])]),u(`, `),i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`msub`,null,[i(`mi`,null,`b`),i(`mi`,null,`f`)]),i(`mo`,null,`=`),i(`mn`,null,`0.3`)]),i(`annotation`,{encoding:`application/x-tex`},`b_f = 0.3`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.9805em`,"vertical-align":`-0.2861em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathnormal`},`b`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.3361em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mathnormal mtight`,style:{"margin-right":`0.1076em`}},`f`)])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.2861em`}},[i(`span`)])])])])]),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}}),i(`span`,{class:`mrel`},`=`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}})]),i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.6444em`}}),i(`span`,{class:`mord`},`0.3`)])])]),u(`:`)],-1),i(`p`,null,[i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`msub`,null,[i(`mi`,null,`f`),i(`mi`,null,`t`)]),i(`mo`,null,`=`),i(`mi`,null,`σ`),i(`mo`,{stretchy:`false`},`(`),i(`mn`,null,`1.5`),i(`mo`,null,`+`),i(`mn`,null,`0.4`),i(`mo`,null,`+`),i(`mn`,null,`0.3`),i(`mo`,{stretchy:`false`},`)`),i(`mo`,null,`=`),i(`mi`,null,`σ`),i(`mo`,{stretchy:`false`},`(`),i(`mn`,null,`2.2`),i(`mo`,{stretchy:`false`},`)`),i(`mo`,null,`=`),i(`mn`,null,`0.90`)]),i(`annotation`,{encoding:`application/x-tex`},`f_t = \\sigma(1.5 + 0.4 + 0.3) = \\sigma(2.2) = 0.90`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.8889em`,"vertical-align":`-0.1944em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathnormal`,style:{"margin-right":`0.1076em`}},`f`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.2806em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`-0.1076em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mathnormal mtight`},`t`)])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.15em`}},[i(`span`)])])])])]),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}}),i(`span`,{class:`mrel`},`=`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}})]),i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`1em`,"vertical-align":`-0.25em`}}),i(`span`,{class:`mord mathnormal`,style:{"margin-right":`0.0359em`}},`σ`),i(`span`,{class:`mopen`},`(`),i(`span`,{class:`mord`},`1.5`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}}),i(`span`,{class:`mbin`},`+`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}})]),i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.7278em`,"vertical-align":`-0.0833em`}}),i(`span`,{class:`mord`},`0.4`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}}),i(`span`,{class:`mbin`},`+`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}})]),i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`1em`,"vertical-align":`-0.25em`}}),i(`span`,{class:`mord`},`0.3`),i(`span`,{class:`mclose`},`)`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}}),i(`span`,{class:`mrel`},`=`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}})]),i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`1em`,"vertical-align":`-0.25em`}}),i(`span`,{class:`mord mathnormal`,style:{"margin-right":`0.0359em`}},`σ`),i(`span`,{class:`mopen`},`(`),i(`span`,{class:`mord`},`2.2`),i(`span`,{class:`mclose`},`)`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}}),i(`span`,{class:`mrel`},`=`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}})]),i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.6444em`}}),i(`span`,{class:`mord`},`0.90`)])])])],-1),i(`p`,null,[u(`Others: `),i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`mi`,null,`σ`),i(`mo`,{stretchy:`false`},`(`),i(`mo`,null,`−`),i(`mn`,null,`0.4`),i(`mo`,{stretchy:`false`},`)`),i(`mo`,null,`=`),i(`mn`,null,`0.40`),i(`mo`,{separator:`true`},`,`),i(`mtext`,null,`  `),i(`mi`,null,`tanh`),i(`mo`,null,`⁡`),i(`mo`,{stretchy:`false`},`(`),i(`mn`,null,`1.1`),i(`mo`,{stretchy:`false`},`)`),i(`mo`,null,`=`),i(`mn`,null,`0.80`),i(`mo`,{separator:`true`},`,`),i(`mtext`,null,`  `),i(`mi`,null,`σ`),i(`mo`,{stretchy:`false`},`(`),i(`mn`,null,`0.85`),i(`mo`,{stretchy:`false`},`)`),i(`mo`,null,`=`),i(`mn`,null,`0.70`)]),i(`annotation`,{encoding:`application/x-tex`},`\\sigma(-0.4) = 0.40,\\; \\tanh(1.1) = 0.80,\\; \\sigma(0.85) = 0.70`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`1em`,"vertical-align":`-0.25em`}}),i(`span`,{class:`mord mathnormal`,style:{"margin-right":`0.0359em`}},`σ`),i(`span`,{class:`mopen`},`(`),i(`span`,{class:`mord`},`−`),i(`span`,{class:`mord`},`0.4`),i(`span`,{class:`mclose`},`)`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}}),i(`span`,{class:`mrel`},`=`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}})]),i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`1em`,"vertical-align":`-0.25em`}}),i(`span`,{class:`mord`},`0.40`),i(`span`,{class:`mpunct`},`,`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}}),i(`span`,{class:`mspace`,style:{"margin-right":`0.1667em`}}),i(`span`,{class:`mop`},`tanh`),i(`span`,{class:`mopen`},`(`),i(`span`,{class:`mord`},`1.1`),i(`span`,{class:`mclose`},`)`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}}),i(`span`,{class:`mrel`},`=`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}})]),i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`1em`,"vertical-align":`-0.25em`}}),i(`span`,{class:`mord`},`0.80`),i(`span`,{class:`mpunct`},`,`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}}),i(`span`,{class:`mspace`,style:{"margin-right":`0.1667em`}}),i(`span`,{class:`mord mathnormal`,style:{"margin-right":`0.0359em`}},`σ`),i(`span`,{class:`mopen`},`(`),i(`span`,{class:`mord`},`0.85`),i(`span`,{class:`mclose`},`)`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}}),i(`span`,{class:`mrel`},`=`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}})]),i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.6444em`}}),i(`span`,{class:`mord`},`0.70`)])])])],-1)]])),[[S]])])])]),_:1},16)}}};export{b as default}; \ No newline at end of file diff --git a/lecture-05/assets/md-CvQFBWrt.js b/lecture-05/assets/md-CvQFBWrt.js new file mode 100644 index 0000000000000000000000000000000000000000..83302b6a1b84007dcfc038902e350c4eb3f39eac --- /dev/null +++ b/lecture-05/assets/md-CvQFBWrt.js @@ -0,0 +1,25 @@ +import{$ as e,E as t,S as n,St as r,V as i,_ as a,b as o,bt as s,m as c,v as l,vt as u,x as d,y as f,z as p}from"./modules/shiki-CkJq9tSf.js";import{n as m,t as h}from"./slidev/context-DnYiQGy6.js";import{t as g}from"./default-BTjgsdmC.js";import{t as _}from"./slidev/VClicks-DLDbGwsQ.js";import{t as v}from"./slidev/KaTexBlockWrapper-DAxOb9nH.js";var y={class:`dl-math-sm`},b={class:`grid grid-cols-[1fr_1.1fr] gap-8 items-start dl-tight`},x={viewBox:`0 0 320 110`,class:`dl-diagram is-sm`,role:`img`,"aria-label":`The unrolled chain for review B; the gradient runs back from the loss through every copy of W_hh`},S=[`x`],C=[`x`],w=[`d`],T=[`d`],E={__name:`slides.md__slidev_29`,setup(E){let{$slidev:D,$nav:O,$clicksContext:k,$clicks:A,$page:j,$renderContext:M,$frontmatter:N}=m();return k.setup(),(m,E)=>{let D=v,O=_;return p(),l(g,s(t(u(h)(u(N),28))),{default:e(()=>[E[5]||=a(`h1`,null,`Backpropagation through time`,-1),E[6]||=a(`p`,null,[d(`The unrolled chain is a deep feed-forward network, so backpropagation works. One twist: `),a(`strong`,null,[a(`span`,{class:`katex`},[a(`span`,{class:`katex-mathml`},[a(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[a(`semantics`,null,[a(`mrow`,null,[a(`msub`,null,[a(`mi`,null,`W`),a(`mrow`,null,[a(`mi`,null,`h`),a(`mi`,null,`h`)])])]),a(`annotation`,{encoding:`application/x-tex`},`W_{hh}`)])])]),a(`span`,{class:`katex-html`,"aria-hidden":`true`},[a(`span`,{class:`katex-base`},[a(`span`,{class:`katex-strut`,style:{height:`0.8333em`,"vertical-align":`-0.15em`}}),a(`span`,{class:`mord`},[a(`span`,{class:`mord mathnormal`,style:{"margin-right":`0.1389em`}},`W`),a(`span`,{class:`msupsub`},[a(`span`,{class:`vlist-t vlist-t2`},[a(`span`,{class:`vlist-r`},[a(`span`,{class:`vlist`,style:{height:`0.3361em`}},[a(`span`,{style:{top:`-2.55em`,"margin-left":`-0.1389em`,"margin-right":`0.05em`}},[a(`span`,{class:`pstrut`,style:{height:`2.7em`}}),a(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[a(`span`,{class:`mord mtight`},[a(`span`,{class:`mord mathnormal mtight`},`hh`)])])])]),a(`span`,{class:`vlist-s`},`​`)]),a(`span`,{class:`vlist-r`},[a(`span`,{class:`vlist`,style:{height:`0.15em`}},[a(`span`)])])])])])])])]),d(` is used at every step`)]),d(`.`)],-1),a(`div`,y,[n(D,{ranges:[]},{default:e(()=>[...E[0]||=[a(`p`,null,[a(`span`,{class:`katex-display`},[a(`span`,{class:`katex`},[a(`span`,{class:`katex-mathml`},[a(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`,display:`block`},[a(`semantics`,null,[a(`mrow`,null,[a(`mfrac`,null,[a(`mrow`,null,[a(`mi`,{mathvariant:`normal`},`∂`),a(`mi`,null,`L`)]),a(`mrow`,null,[a(`mi`,{mathvariant:`normal`},`∂`),a(`msub`,null,[a(`mi`,null,`W`),a(`mrow`,null,[a(`mi`,null,`h`),a(`mi`,null,`h`)])])])]),a(`mo`,null,`=`),a(`munderover`,null,[a(`mo`,null,`∑`),a(`mrow`,null,[a(`mi`,null,`t`),a(`mo`,null,`=`),a(`mn`,null,`1`)]),a(`mi`,null,`T`)]),a(`mfrac`,null,[a(`mrow`,null,[a(`mi`,{mathvariant:`normal`},`∂`),a(`msub`,null,[a(`mi`,null,`L`),a(`mi`,null,`t`)])]),a(`mrow`,null,[a(`mi`,{mathvariant:`normal`},`∂`),a(`msub`,null,[a(`mi`,{mathvariant:`bold`},`h`),a(`mi`,null,`t`)])])]),a(`mrow`,null,[a(`mo`,{fence:`true`},`(`),a(`munderover`,null,[a(`mo`,null,`∑`),a(`mrow`,null,[a(`mi`,null,`k`),a(`mo`,null,`=`),a(`mn`,null,`1`)]),a(`mi`,null,`t`)]),a(`munder`,null,[a(`munder`,null,[a(`mfrac`,null,[a(`mrow`,null,[a(`mi`,{mathvariant:`normal`},`∂`),a(`msub`,null,[a(`mi`,{mathvariant:`bold`},`h`),a(`mi`,null,`t`)])]),a(`mrow`,null,[a(`mi`,{mathvariant:`normal`},`∂`),a(`msub`,null,[a(`mi`,{mathvariant:`bold`},`h`),a(`mi`,null,`k`)])])]),a(`mo`,{stretchy:`true`},`⏟`)]),a(`mrow`,null,[a(`mtext`,null,`through\xA0`),a(`mi`,null,`t`),a(`mo`,null,`−`),a(`mi`,null,`k`),a(`mtext`,null,`\xA0steps`)])]),a(`mfrac`,null,[a(`mrow`,null,[a(`mi`,{mathvariant:`normal`},`∂`),a(`msub`,null,[a(`mi`,{mathvariant:`bold`},`h`),a(`mi`,null,`k`)])]),a(`mrow`,null,[a(`mi`,{mathvariant:`normal`},`∂`),a(`msub`,null,[a(`mi`,null,`W`),a(`mrow`,null,[a(`mi`,null,`h`),a(`mi`,null,`h`)])])])]),a(`mo`,{fence:`true`},`)`)])]),a(`annotation`,{encoding:`application/x-tex`},`\\frac{\\partial L}{\\partial W_{hh}} = \\sum_{t=1}^{T} \\frac{\\partial L_t}{\\partial \\mathbf{h}_t} \\left( \\sum_{k=1}^{t} \\underbrace{\\frac{\\partial \\mathbf{h}_t}{\\partial \\mathbf{h}_k}}_{\\text{through } t-k \\text{ steps}} \\frac{\\partial \\mathbf{h}_k}{\\partial W_{hh}} \\right)`)])])]),a(`span`,{class:`katex-html`,"aria-hidden":`true`},[a(`span`,{class:`katex-base`},[a(`span`,{class:`katex-strut`,style:{height:`2.2074em`,"vertical-align":`-0.836em`}}),a(`span`,{class:`mord`},[a(`span`,{class:`mopen nulldelimiter`}),a(`span`,{class:`mfrac`},[a(`span`,{class:`vlist-t vlist-t2`},[a(`span`,{class:`vlist-r`},[a(`span`,{class:`vlist`,style:{height:`1.3714em`}},[a(`span`,{style:{top:`-2.314em`}},[a(`span`,{class:`pstrut`,style:{height:`3em`}}),a(`span`,{class:`mord`},[a(`span`,{class:`mord`,style:{"margin-right":`0.0556em`}},`∂`),a(`span`,{class:`mord`},[a(`span`,{class:`mord mathnormal`,style:{"margin-right":`0.1389em`}},`W`),a(`span`,{class:`msupsub`},[a(`span`,{class:`vlist-t vlist-t2`},[a(`span`,{class:`vlist-r`},[a(`span`,{class:`vlist`,style:{height:`0.3361em`}},[a(`span`,{style:{top:`-2.55em`,"margin-left":`-0.1389em`,"margin-right":`0.05em`}},[a(`span`,{class:`pstrut`,style:{height:`2.7em`}}),a(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[a(`span`,{class:`mord mtight`},[a(`span`,{class:`mord mathnormal mtight`},`hh`)])])])]),a(`span`,{class:`vlist-s`},`​`)]),a(`span`,{class:`vlist-r`},[a(`span`,{class:`vlist`,style:{height:`0.15em`}},[a(`span`)])])])])])])]),a(`span`,{style:{top:`-3.23em`}},[a(`span`,{class:`pstrut`,style:{height:`3em`}}),a(`span`,{class:`frac-line`,style:{"border-bottom-width":`0.04em`}})]),a(`span`,{style:{top:`-3.677em`}},[a(`span`,{class:`pstrut`,style:{height:`3em`}}),a(`span`,{class:`mord`},[a(`span`,{class:`mord`,style:{"margin-right":`0.0556em`}},`∂`),a(`span`,{class:`mord mathnormal`},`L`)])])]),a(`span`,{class:`vlist-s`},`​`)]),a(`span`,{class:`vlist-r`},[a(`span`,{class:`vlist`,style:{height:`0.836em`}},[a(`span`)])])])]),a(`span`,{class:`mclose nulldelimiter`})]),a(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}}),a(`span`,{class:`mrel`},`=`),a(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}})]),a(`span`,{class:`katex-base`},[a(`span`,{class:`katex-strut`,style:{height:`4.9562em`,"vertical-align":`-2.3062em`}}),a(`span`,{class:`mop op-limits`},[a(`span`,{class:`vlist-t vlist-t2`},[a(`span`,{class:`vlist-r`},[a(`span`,{class:`vlist`,style:{height:`1.8283em`}},[a(`span`,{style:{top:`-1.8829em`,"margin-left":`0em`}},[a(`span`,{class:`pstrut`,style:{height:`3.05em`}}),a(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[a(`span`,{class:`mord mtight`},[a(`span`,{class:`mord mathnormal mtight`},`t`),a(`span`,{class:`mrel mtight`},`=`),a(`span`,{class:`mord mtight`},`1`)])])]),a(`span`,{style:{top:`-3.05em`}},[a(`span`,{class:`pstrut`,style:{height:`3.05em`}}),a(`span`,null,[a(`span`,{class:`mop op-symbol large-op`},`∑`)])]),a(`span`,{style:{top:`-4.3em`,"margin-left":`0em`}},[a(`span`,{class:`pstrut`,style:{height:`3.05em`}}),a(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[a(`span`,{class:`mord mtight`},[a(`span`,{class:`mord mathnormal mtight`,style:{"margin-right":`0.1389em`}},`T`)])])])]),a(`span`,{class:`vlist-s`},`​`)]),a(`span`,{class:`vlist-r`},[a(`span`,{class:`vlist`,style:{height:`1.2671em`}},[a(`span`)])])])]),a(`span`,{class:`mspace`,style:{"margin-right":`0.1667em`}}),a(`span`,{class:`mord`},[a(`span`,{class:`mopen nulldelimiter`}),a(`span`,{class:`mfrac`},[a(`span`,{class:`vlist-t vlist-t2`},[a(`span`,{class:`vlist-r`},[a(`span`,{class:`vlist`,style:{height:`1.3714em`}},[a(`span`,{style:{top:`-2.314em`}},[a(`span`,{class:`pstrut`,style:{height:`3em`}}),a(`span`,{class:`mord`},[a(`span`,{class:`mord`,style:{"margin-right":`0.0556em`}},`∂`),a(`span`,{class:`mord`},[a(`span`,{class:`mord mathbf`},`h`),a(`span`,{class:`msupsub`},[a(`span`,{class:`vlist-t vlist-t2`},[a(`span`,{class:`vlist-r`},[a(`span`,{class:`vlist`,style:{height:`0.2806em`}},[a(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[a(`span`,{class:`pstrut`,style:{height:`2.7em`}}),a(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[a(`span`,{class:`mord mathnormal mtight`},`t`)])])]),a(`span`,{class:`vlist-s`},`​`)]),a(`span`,{class:`vlist-r`},[a(`span`,{class:`vlist`,style:{height:`0.15em`}},[a(`span`)])])])])])])]),a(`span`,{style:{top:`-3.23em`}},[a(`span`,{class:`pstrut`,style:{height:`3em`}}),a(`span`,{class:`frac-line`,style:{"border-bottom-width":`0.04em`}})]),a(`span`,{style:{top:`-3.677em`}},[a(`span`,{class:`pstrut`,style:{height:`3em`}}),a(`span`,{class:`mord`},[a(`span`,{class:`mord`,style:{"margin-right":`0.0556em`}},`∂`),a(`span`,{class:`mord`},[a(`span`,{class:`mord mathnormal`},`L`),a(`span`,{class:`msupsub`},[a(`span`,{class:`vlist-t vlist-t2`},[a(`span`,{class:`vlist-r`},[a(`span`,{class:`vlist`,style:{height:`0.2806em`}},[a(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[a(`span`,{class:`pstrut`,style:{height:`2.7em`}}),a(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[a(`span`,{class:`mord mathnormal mtight`},`t`)])])]),a(`span`,{class:`vlist-s`},`​`)]),a(`span`,{class:`vlist-r`},[a(`span`,{class:`vlist`,style:{height:`0.15em`}},[a(`span`)])])])])])])])]),a(`span`,{class:`vlist-s`},`​`)]),a(`span`,{class:`vlist-r`},[a(`span`,{class:`vlist`,style:{height:`0.836em`}},[a(`span`)])])])]),a(`span`,{class:`mclose nulldelimiter`})]),a(`span`,{class:`mspace`,style:{"margin-right":`0.1667em`}}),a(`span`,{class:`minner`},[a(`span`,{class:`mopen`},[a(`span`,{class:`delimsizing mult`},[a(`span`,{class:`vlist-t vlist-t2`},[a(`span`,{class:`vlist-r`},[a(`span`,{class:`vlist`,style:{height:`2.65em`}},[a(`span`,{style:{top:`-4.65em`}},[a(`span`,{class:`pstrut`,style:{height:`6.8em`}}),a(`span`,{style:{width:`0.875em`,height:`4.8em`}},[a(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`0.875em`,height:`4.8em`,viewBox:`0 0 875 4800`},[a(`path`,{d:`M863,9c0,-2,-2,-5,-6,-9c0,0,-17,0,-17,0c-12.7,0,-19.3,0.3,-20,1 +c-5.3,5.3,-10.3,11,-15,17c-242.7,294.7,-395.3,682,-458,1162c-21.3,163.3,-33.3,349, +-36,557 l0,1284c0.2,6,0,26,0,60c2,159.3,10,310.7,24,454c53.3,528,210, +949.7,470,1265c4.7,6,9.7,11.7,15,17c0.7,0.7,7,1,19,1c0,0,18,0,18,0c4,-4,6,-7,6,-9 +c0,-2.7,-3.3,-8.7,-10,-18c-135.3,-192.7,-235.5,-414.3,-300.5,-665c-65,-250.7,-102.5, +-544.7,-112.5,-882c-2,-104,-3,-167,-3,-189 +l0,-1292c0,-162.7,5.7,-314,17,-454c20.7,-272,63.7,-513,129,-723c65.3, +-210,155.3,-396.3,270,-559c6.7,-9.3,10,-15.3,10,-18z`})])])])]),a(`span`,{class:`vlist-s`},`​`)]),a(`span`,{class:`vlist-r`},[a(`span`,{class:`vlist`,style:{height:`2.15em`}},[a(`span`)])])])])]),a(`span`,{class:`mop op-limits`},[a(`span`,{class:`vlist-t vlist-t2`},[a(`span`,{class:`vlist-r`},[a(`span`,{class:`vlist`,style:{height:`1.7806em`}},[a(`span`,{style:{top:`-1.8479em`,"margin-left":`0em`}},[a(`span`,{class:`pstrut`,style:{height:`3.05em`}}),a(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[a(`span`,{class:`mord mtight`},[a(`span`,{class:`mord mathnormal mtight`,style:{"margin-right":`0.0315em`}},`k`),a(`span`,{class:`mrel mtight`},`=`),a(`span`,{class:`mord mtight`},`1`)])])]),a(`span`,{style:{top:`-3.05em`}},[a(`span`,{class:`pstrut`,style:{height:`3.05em`}}),a(`span`,null,[a(`span`,{class:`mop op-symbol large-op`},`∑`)])]),a(`span`,{style:{top:`-4.3em`,"margin-left":`0em`}},[a(`span`,{class:`pstrut`,style:{height:`3.05em`}}),a(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[a(`span`,{class:`mord mtight`},[a(`span`,{class:`mord mathnormal mtight`},`t`)])])])]),a(`span`,{class:`vlist-s`},`​`)]),a(`span`,{class:`vlist-r`},[a(`span`,{class:`vlist`,style:{height:`1.3021em`}},[a(`span`)])])])]),a(`span`,{class:`mspace`,style:{"margin-right":`0.1667em`}}),a(`span`,{class:`minner munder`},[a(`span`,{class:`vlist-t vlist-t2`},[a(`span`,{class:`vlist-r`},[a(`span`,{class:`vlist`,style:{height:`1.3714em`}},[a(`span`,{style:{top:`-1.2013em`}},[a(`span`,{class:`pstrut`,style:{height:`3.3714em`}}),a(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[a(`span`,{class:`mord mtight`},[a(`span`,{class:`mord text mtight`},[a(`span`,{class:`mord mtight`},`through\xA0`)]),a(`span`,{class:`mord mathnormal mtight`},`t`),a(`span`,{class:`mbin mtight`},`−`),a(`span`,{class:`mord mathnormal mtight`,style:{"margin-right":`0.0315em`}},`k`),a(`span`,{class:`mord text mtight`},[a(`span`,{class:`mord mtight`},`\xA0steps`)])])])]),a(`span`,{style:{top:`-3.3714em`}},[a(`span`,{class:`pstrut`,style:{height:`3.3714em`}}),a(`span`,{class:`minner munder`},[a(`span`,{class:`vlist-t vlist-t2`},[a(`span`,{class:`vlist-r`},[a(`span`,{class:`vlist`,style:{height:`1.3714em`}},[a(`span`,{class:`svg-align`,style:{top:`-1.8874em`}},[a(`span`,{class:`pstrut`,style:{height:`3.3714em`}}),a(`span`,{class:`katex-stretchy`,style:{height:`0.548em`,"min-width":`1.6em`}},[a(`span`,{class:`brace-left`,style:{height:`0.548em`}},[a(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`400em`,height:`0.548em`,viewBox:`0 0 400000 548`,preserveAspectRatio:`xMinYMin slice`},[a(`path`,{d:`M0 6l6-6h17c12.688 0 19.313.3 20 1 4 4 7.313 8.3 10 13 + 35.313 51.3 80.813 93.8 136.5 127.5 55.688 33.7 117.188 55.8 184.5 66.5.688 + 0 2 .3 4 1 18.688 2.7 76 4.3 172 5h399450v120H429l-6-1c-124.688-8-235-61.7 +-331-161C60.687 138.7 32.312 99.3 7 54L0 41V6z`})])]),a(`span`,{class:`brace-center`,style:{height:`0.548em`}},[a(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`400em`,height:`0.548em`,viewBox:`0 0 400000 548`,preserveAspectRatio:`xMidYMin slice`},[a(`path`,{d:`M199572 214 +c100.7 8.3 195.3 44 280 108 55.3 42 101.7 93 139 153l9 14c2.7-4 5.7-8.7 9-14 + 53.3-86.7 123.7-153 211-199 66.7-36 137.3-56.3 212-62h199568v120H200432c-178.3 + 11.7-311.7 78.3-403 201-6 8-9.7 12-11 12-.7.7-6.7 1-18 1s-17.3-.3-18-1c-1.3 0 +-5-4-11-12-44.7-59.3-101.3-106.3-170-141s-145.3-54.3-229-60H0V214z`})])]),a(`span`,{class:`brace-right`,style:{height:`0.548em`}},[a(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`400em`,height:`0.548em`,viewBox:`0 0 400000 548`,preserveAspectRatio:`xMaxYMin slice`},[a(`path`,{d:`M399994 0l6 6v35l-6 11c-56 104-135.3 181.3-238 232-57.3 + 28.7-117 45-179 50H-300V214h399897c43.3-7 81-15 113-26 100.7-33 179.7-91 237 +-174 2.7-5 6-9 10-13 .7-1 7.3-1 20-1h17z`})])])])]),a(`span`,{style:{top:`-3.3714em`}},[a(`span`,{class:`pstrut`,style:{height:`3.3714em`}}),a(`span`,{class:`mord`},[a(`span`,{class:`mord`},[a(`span`,{class:`mopen nulldelimiter`}),a(`span`,{class:`mfrac`},[a(`span`,{class:`vlist-t vlist-t2`},[a(`span`,{class:`vlist-r`},[a(`span`,{class:`vlist`,style:{height:`1.3714em`}},[a(`span`,{style:{top:`-2.314em`}},[a(`span`,{class:`pstrut`,style:{height:`3em`}}),a(`span`,{class:`mord`},[a(`span`,{class:`mord`,style:{"margin-right":`0.0556em`}},`∂`),a(`span`,{class:`mord`},[a(`span`,{class:`mord mathbf`},`h`),a(`span`,{class:`msupsub`},[a(`span`,{class:`vlist-t vlist-t2`},[a(`span`,{class:`vlist-r`},[a(`span`,{class:`vlist`,style:{height:`0.3361em`}},[a(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[a(`span`,{class:`pstrut`,style:{height:`2.7em`}}),a(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[a(`span`,{class:`mord mathnormal mtight`,style:{"margin-right":`0.0315em`}},`k`)])])]),a(`span`,{class:`vlist-s`},`​`)]),a(`span`,{class:`vlist-r`},[a(`span`,{class:`vlist`,style:{height:`0.15em`}},[a(`span`)])])])])])])]),a(`span`,{style:{top:`-3.23em`}},[a(`span`,{class:`pstrut`,style:{height:`3em`}}),a(`span`,{class:`frac-line`,style:{"border-bottom-width":`0.04em`}})]),a(`span`,{style:{top:`-3.677em`}},[a(`span`,{class:`pstrut`,style:{height:`3em`}}),a(`span`,{class:`mord`},[a(`span`,{class:`mord`,style:{"margin-right":`0.0556em`}},`∂`),a(`span`,{class:`mord`},[a(`span`,{class:`mord mathbf`},`h`),a(`span`,{class:`msupsub`},[a(`span`,{class:`vlist-t vlist-t2`},[a(`span`,{class:`vlist-r`},[a(`span`,{class:`vlist`,style:{height:`0.2806em`}},[a(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[a(`span`,{class:`pstrut`,style:{height:`2.7em`}}),a(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[a(`span`,{class:`mord mathnormal mtight`},`t`)])])]),a(`span`,{class:`vlist-s`},`​`)]),a(`span`,{class:`vlist-r`},[a(`span`,{class:`vlist`,style:{height:`0.15em`}},[a(`span`)])])])])])])])]),a(`span`,{class:`vlist-s`},`​`)]),a(`span`,{class:`vlist-r`},[a(`span`,{class:`vlist`,style:{height:`0.836em`}},[a(`span`)])])])]),a(`span`,{class:`mclose nulldelimiter`})])])])]),a(`span`,{class:`vlist-s`},`​`)]),a(`span`,{class:`vlist-r`},[a(`span`,{class:`vlist`,style:{height:`1.484em`}},[a(`span`)])])])])])]),a(`span`,{class:`vlist-s`},`​`)]),a(`span`,{class:`vlist-r`},[a(`span`,{class:`vlist`,style:{height:`2.3062em`}},[a(`span`)])])])]),a(`span`,{class:`mspace`,style:{"margin-right":`0.1667em`}}),a(`span`,{class:`mord`},[a(`span`,{class:`mopen nulldelimiter`}),a(`span`,{class:`mfrac`},[a(`span`,{class:`vlist-t vlist-t2`},[a(`span`,{class:`vlist-r`},[a(`span`,{class:`vlist`,style:{height:`1.3714em`}},[a(`span`,{style:{top:`-2.314em`}},[a(`span`,{class:`pstrut`,style:{height:`3em`}}),a(`span`,{class:`mord`},[a(`span`,{class:`mord`,style:{"margin-right":`0.0556em`}},`∂`),a(`span`,{class:`mord`},[a(`span`,{class:`mord mathnormal`,style:{"margin-right":`0.1389em`}},`W`),a(`span`,{class:`msupsub`},[a(`span`,{class:`vlist-t vlist-t2`},[a(`span`,{class:`vlist-r`},[a(`span`,{class:`vlist`,style:{height:`0.3361em`}},[a(`span`,{style:{top:`-2.55em`,"margin-left":`-0.1389em`,"margin-right":`0.05em`}},[a(`span`,{class:`pstrut`,style:{height:`2.7em`}}),a(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[a(`span`,{class:`mord mtight`},[a(`span`,{class:`mord mathnormal mtight`},`hh`)])])])]),a(`span`,{class:`vlist-s`},`​`)]),a(`span`,{class:`vlist-r`},[a(`span`,{class:`vlist`,style:{height:`0.15em`}},[a(`span`)])])])])])])]),a(`span`,{style:{top:`-3.23em`}},[a(`span`,{class:`pstrut`,style:{height:`3em`}}),a(`span`,{class:`frac-line`,style:{"border-bottom-width":`0.04em`}})]),a(`span`,{style:{top:`-3.677em`}},[a(`span`,{class:`pstrut`,style:{height:`3em`}}),a(`span`,{class:`mord`},[a(`span`,{class:`mord`,style:{"margin-right":`0.0556em`}},`∂`),a(`span`,{class:`mord`},[a(`span`,{class:`mord mathbf`},`h`),a(`span`,{class:`msupsub`},[a(`span`,{class:`vlist-t vlist-t2`},[a(`span`,{class:`vlist-r`},[a(`span`,{class:`vlist`,style:{height:`0.3361em`}},[a(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[a(`span`,{class:`pstrut`,style:{height:`2.7em`}}),a(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[a(`span`,{class:`mord mathnormal mtight`,style:{"margin-right":`0.0315em`}},`k`)])])]),a(`span`,{class:`vlist-s`},`​`)]),a(`span`,{class:`vlist-r`},[a(`span`,{class:`vlist`,style:{height:`0.15em`}},[a(`span`)])])])])])])])]),a(`span`,{class:`vlist-s`},`​`)]),a(`span`,{class:`vlist-r`},[a(`span`,{class:`vlist`,style:{height:`0.836em`}},[a(`span`)])])])]),a(`span`,{class:`mclose nulldelimiter`})]),a(`span`,{class:`mclose`},[a(`span`,{class:`delimsizing mult`},[a(`span`,{class:`vlist-t vlist-t2`},[a(`span`,{class:`vlist-r`},[a(`span`,{class:`vlist`,style:{height:`2.65em`}},[a(`span`,{style:{top:`-4.65em`}},[a(`span`,{class:`pstrut`,style:{height:`6.8em`}}),a(`span`,{style:{width:`0.875em`,height:`4.8em`}},[a(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`0.875em`,height:`4.8em`,viewBox:`0 0 875 4800`},[a(`path`,{d:`M76,0c-16.7,0,-25,3,-25,9c0,2,2,6.3,6,13c21.3,28.7,42.3,60.3, +63,95c96.7,156.7,172.8,332.5,228.5,527.5c55.7,195,92.8,416.5,111.5,664.5 +c11.3,139.3,17,290.7,17,454c0,28,1.7,43,3.3,45l0,1209 +c-3,4,-3.3,16.7,-3.3,38c0,162,-5.7,313.7,-17,455c-18.7,248,-55.8,469.3,-111.5,664 +c-55.7,194.7,-131.8,370.3,-228.5,527c-20.7,34.7,-41.7,66.3,-63,95c-2,3.3,-4,7,-6,11 +c0,7.3,5.7,11,17,11c0,0,11,0,11,0c9.3,0,14.3,-0.3,15,-1c5.3,-5.3,10.3,-11,15,-17 +c242.7,-294.7,395.3,-681.7,458,-1161c21.3,-164.7,33.3,-350.7,36,-558 +l0,-1344c-2,-159.3,-10,-310.7,-24,-454c-53.3,-528,-210,-949.7, +-470,-1265c-4.7,-6,-9.7,-11.7,-15,-17c-0.7,-0.7,-6.7,-1,-18,-1z`})])])])]),a(`span`,{class:`vlist-s`},`​`)]),a(`span`,{class:`vlist-r`},[a(`span`,{class:`vlist`,style:{height:`2.15em`}},[a(`span`)])])])])])])])])])])],-1)]]),_:1})]),a(`div`,b,[a(`div`,null,[(p(),o(`svg`,x,[E[1]||=a(`defs`,null,[a(`marker`,{id:`l5b-bptt-back`,markerWidth:`7`,markerHeight:`7`,refX:`6`,refY:`3.5`,orient:`auto`},[a(`path`,{d:`M0 0 L7 3.5 L0 7 z`,style:{fill:`var(--dl-danger)`}})])],-1),(p(),o(c,null,i([`the`,`movie`,`was`,`not`,`great`],(e,t)=>a(`g`,{key:t},[a(`rect`,{x:6+t*60,y:`30`,width:`44`,height:`30`,rx:`4`,class:`dl-dg-box is-accent`},null,8,S),a(`text`,{x:28+t*60,y:`98`,"text-anchor":`middle`,class:`dl-dg-small`},r(e),9,C),t<4?(p(),o(`path`,{key:0,d:`M${50+t*60} 40 H${66+t*60}`,class:`dl-dg-arrow`},null,8,w)):f(`v-if`,!0),t<4?(p(),o(`path`,{key:1,d:`M${66+t*60} 54 H${52+t*60}`,class:`dl-dg-grad is-bad`,"marker-end":`url(#l5b-bptt-back)`},null,8,T)):f(`v-if`,!0)])),64)),E[2]||=a(`text`,{x:`268`,y:`20`,"text-anchor":`middle`,class:`dl-dg-small is-bad`},`L`,-1),E[3]||=a(`text`,{x:`128`,y:`20`,"text-anchor":`middle`,class:`dl-dg-small`},`W_hh × 4`,-1)]))]),a(`div`,null,[n(O,null,{default:e(()=>[...E[4]||=[a(`ul`,null,[a(`li`,null,[d(`A `),a(`strong`,null,`sum over every step`),d(`, because the weight was used at every step`)]),a(`li`,null,[d(`Inside it, a factor for travelling back from step `),a(`span`,{class:`katex`},[a(`span`,{class:`katex-mathml`},[a(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[a(`semantics`,null,[a(`mrow`,null,[a(`mi`,null,`t`)]),a(`annotation`,{encoding:`application/x-tex`},`t`)])])]),a(`span`,{class:`katex-html`,"aria-hidden":`true`},[a(`span`,{class:`katex-base`},[a(`span`,{class:`katex-strut`,style:{height:`0.6151em`}}),a(`span`,{class:`mord mathnormal`},`t`)])])]),d(` to step `),a(`span`,{class:`katex`},[a(`span`,{class:`katex-mathml`},[a(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[a(`semantics`,null,[a(`mrow`,null,[a(`mi`,null,`k`)]),a(`annotation`,{encoding:`application/x-tex`},`k`)])])]),a(`span`,{class:`katex-html`,"aria-hidden":`true`},[a(`span`,{class:`katex-base`},[a(`span`,{class:`katex-strut`,style:{height:`0.6944em`}}),a(`span`,{class:`mord mathnormal`,style:{"margin-right":`0.0315em`}},`k`)])])])]),a(`li`,null,[d(`That factor is a `),a(`strong`,null,`product`),d(` of `),a(`span`,{class:`katex`},[a(`span`,{class:`katex-mathml`},[a(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[a(`semantics`,null,[a(`mrow`,null,[a(`mi`,null,`t`),a(`mo`,null,`−`),a(`mi`,null,`k`)]),a(`annotation`,{encoding:`application/x-tex`},`t - k`)])])]),a(`span`,{class:`katex-html`,"aria-hidden":`true`},[a(`span`,{class:`katex-base`},[a(`span`,{class:`katex-strut`,style:{height:`0.6984em`,"vertical-align":`-0.0833em`}}),a(`span`,{class:`mord mathnormal`},`t`),a(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}}),a(`span`,{class:`mbin`},`−`),a(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}})]),a(`span`,{class:`katex-base`},[a(`span`,{class:`katex-strut`,style:{height:`0.6944em`}}),a(`span`,{class:`mord mathnormal`,style:{"margin-right":`0.0315em`}},`k`)])])]),d(` terms: the trouble`)])],-1)]]),_:1})])])]),_:1},16)}}};export{E as default}; \ No newline at end of file diff --git a/lecture-05/assets/md-D98mrS6F.js b/lecture-05/assets/md-D98mrS6F.js new file mode 100644 index 0000000000000000000000000000000000000000..b759ae08fa199bd5562a305108800b8971622d16 --- /dev/null +++ b/lecture-05/assets/md-D98mrS6F.js @@ -0,0 +1 @@ +import{$ as e,E as t,St as n,V as r,W as i,_ as a,b as o,bt as s,et as c,m as l,v as u,vt as d,x as f,yt as p,z as m}from"./modules/shiki-CkJq9tSf.js";import{n as h,t as g}from"./slidev/context-DnYiQGy6.js";import{t as _}from"./default-BTjgsdmC.js";var v={class:`mt-2 flex justify-center`},y={viewBox:`0 0 600 124`,class:`dl-diagram`,role:`img`,"aria-label":`Parameter counts for a layer with 64 inputs and 128 hidden units, drawn to scale: plain RNN 24 832, GRU 74 496, LSTM 99 328`},b=[`y`],x=[`y`,`width`],S=[`x`,`y`],C={class:`mt-2 dl-callout`},w={class:`mt-3 dl-secondary`},T={__name:`slides.md__slidev_46`,setup(T){let{$slidev:E,$nav:D,$clicksContext:O,$clicks:k,$page:A,$renderContext:j,$frontmatter:M}=h();return O.setup(),(h,T)=>{let E=i(`click`);return m(),u(_,s(t(d(g)(d(M),45))),{default:e(()=>[T[3]||=a(`h1`,null,`Which one, and the sign that will catch you`,-1),a(`div`,v,[(m(),o(`svg`,y,[T[0]||=a(`text`,{class:`dl-dg-small`,x:`100`,y:`12`},`weights, 64 → 128`,-1),(m(),o(l,null,r([[`plain RNN`,24832,`24 832`],[`GRU`,74496,`74 496`],[`LSTM`,99328,`99 328`]],(e,t)=>a(`g`,{key:`l5c-par${t}`},[a(`text`,{class:`dl-dg-lab is-sm`,x:`92`,y:40+t*32,"text-anchor":`end`},n(e[0]),9,b),a(`rect`,{class:p(t===0?`dl-dg-bar`:`dl-dg-bar is-q`),x:`100`,y:24+t*32,width:e[1]/99328*380,height:`22`,rx:`2`},null,10,x),a(`text`,{class:`dl-dg-small`,x:108+e[1]/99328*380,y:40+t*32},n(e[2]),9,S)])),64))]))]),c((m(),o(`div`,C,[...T[1]||=[a(`p`,null,[a(`strong`,null,`Pick one and move on.`),f(` LSTM and GRU usually differ by about a point. Both beat the plain RNN on long sequences.`)],-1)]])),[[E]]),c((m(),o(`div`,w,[...T[2]||=[a(`p`,null,[a(`strong`,null,`Sign trap.`),f(` Here `),a(`span`,{class:`katex`},[a(`span`,{class:`katex-mathml`},[a(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[a(`semantics`,null,[a(`mrow`,null,[a(`mi`,null,`z`)]),a(`annotation`,{encoding:`application/x-tex`},`z`)])])]),a(`span`,{class:`katex-html`,"aria-hidden":`true`},[a(`span`,{class:`katex-base`},[a(`span`,{class:`katex-strut`,style:{height:`0.4306em`}}),a(`span`,{class:`mord mathnormal`,style:{"margin-right":`0.044em`}},`z`)])])]),f(` = how much to `),a(`strong`,null,`update`),f(`. In Cho’s paper and `),a(`code`,null,`nn.GRU`),f(`, `),a(`span`,{class:`katex`},[a(`span`,{class:`katex-mathml`},[a(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[a(`semantics`,null,[a(`mrow`,null,[a(`msub`,null,[a(`mi`,null,`h`),a(`mi`,null,`t`)]),a(`mo`,null,`=`),a(`mi`,null,`z`),a(`mtext`,null,` `),a(`msub`,null,[a(`mi`,null,`h`),a(`mrow`,null,[a(`mi`,null,`t`),a(`mo`,null,`−`),a(`mn`,null,`1`)])]),a(`mo`,null,`+`),a(`mo`,{stretchy:`false`},`(`),a(`mn`,null,`1`),a(`mo`,null,`−`),a(`mi`,null,`z`),a(`mo`,{stretchy:`false`},`)`),a(`mtext`,null,` `),a(`msub`,null,[a(`mover`,{accent:`true`},[a(`mi`,null,`h`),a(`mo`,null,`~`)]),a(`mi`,null,`t`)])]),a(`annotation`,{encoding:`application/x-tex`},`h_t = z\\,h_{t-1} + (1-z)\\,\\tilde{h}_t`)])])]),a(`span`,{class:`katex-html`,"aria-hidden":`true`},[a(`span`,{class:`katex-base`},[a(`span`,{class:`katex-strut`,style:{height:`0.8444em`,"vertical-align":`-0.15em`}}),a(`span`,{class:`mord`},[a(`span`,{class:`mord mathnormal`},`h`),a(`span`,{class:`msupsub`},[a(`span`,{class:`vlist-t vlist-t2`},[a(`span`,{class:`vlist-r`},[a(`span`,{class:`vlist`,style:{height:`0.2806em`}},[a(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[a(`span`,{class:`pstrut`,style:{height:`2.7em`}}),a(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[a(`span`,{class:`mord mathnormal mtight`},`t`)])])]),a(`span`,{class:`vlist-s`},`​`)]),a(`span`,{class:`vlist-r`},[a(`span`,{class:`vlist`,style:{height:`0.15em`}},[a(`span`)])])])])]),a(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}}),a(`span`,{class:`mrel`},`=`),a(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}})]),a(`span`,{class:`katex-base`},[a(`span`,{class:`katex-strut`,style:{height:`0.9028em`,"vertical-align":`-0.2083em`}}),a(`span`,{class:`mord mathnormal`,style:{"margin-right":`0.044em`}},`z`),a(`span`,{class:`mspace`,style:{"margin-right":`0.1667em`}}),a(`span`,{class:`mord`},[a(`span`,{class:`mord mathnormal`},`h`),a(`span`,{class:`msupsub`},[a(`span`,{class:`vlist-t vlist-t2`},[a(`span`,{class:`vlist-r`},[a(`span`,{class:`vlist`,style:{height:`0.3011em`}},[a(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[a(`span`,{class:`pstrut`,style:{height:`2.7em`}}),a(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[a(`span`,{class:`mord mtight`},[a(`span`,{class:`mord mathnormal mtight`},`t`),a(`span`,{class:`mbin mtight`},`−`),a(`span`,{class:`mord mtight`},`1`)])])])]),a(`span`,{class:`vlist-s`},`​`)]),a(`span`,{class:`vlist-r`},[a(`span`,{class:`vlist`,style:{height:`0.2083em`}},[a(`span`)])])])])]),a(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}}),a(`span`,{class:`mbin`},`+`),a(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}})]),a(`span`,{class:`katex-base`},[a(`span`,{class:`katex-strut`,style:{height:`1em`,"vertical-align":`-0.25em`}}),a(`span`,{class:`mopen`},`(`),a(`span`,{class:`mord`},`1`),a(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}}),a(`span`,{class:`mbin`},`−`),a(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}})]),a(`span`,{class:`katex-base`},[a(`span`,{class:`katex-strut`,style:{height:`1.1813em`,"vertical-align":`-0.25em`}}),a(`span`,{class:`mord mathnormal`,style:{"margin-right":`0.044em`}},`z`),a(`span`,{class:`mclose`},`)`),a(`span`,{class:`mspace`,style:{"margin-right":`0.1667em`}}),a(`span`,{class:`mord`},[a(`span`,{class:`mord katex-accent`},[a(`span`,{class:`vlist-t`},[a(`span`,{class:`vlist-r`},[a(`span`,{class:`vlist`,style:{height:`0.9313em`}},[a(`span`,{style:{top:`-3em`}},[a(`span`,{class:`pstrut`,style:{height:`3em`}}),a(`span`,{class:`mord mathnormal`},`h`)]),a(`span`,{style:{top:`-3.6134em`}},[a(`span`,{class:`pstrut`,style:{height:`3em`}}),a(`span`,{class:`accent-body`,style:{left:`-0.25em`}},[a(`span`,{class:`mord`},`~`)])])])])])]),a(`span`,{class:`msupsub`},[a(`span`,{class:`vlist-t vlist-t2`},[a(`span`,{class:`vlist-r`},[a(`span`,{class:`vlist`,style:{height:`0.2806em`}},[a(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[a(`span`,{class:`pstrut`,style:{height:`2.7em`}}),a(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[a(`span`,{class:`mord mathnormal mtight`},`t`)])])]),a(`span`,{class:`vlist-s`},`​`)]),a(`span`,{class:`vlist-r`},[a(`span`,{class:`vlist`,style:{height:`0.15em`}},[a(`span`)])])])])])])])]),f(`: `),a(`span`,{class:`katex`},[a(`span`,{class:`katex-mathml`},[a(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[a(`semantics`,null,[a(`mrow`,null,[a(`mi`,null,`z`)]),a(`annotation`,{encoding:`application/x-tex`},`z`)])])]),a(`span`,{class:`katex-html`,"aria-hidden":`true`},[a(`span`,{class:`katex-base`},[a(`span`,{class:`katex-strut`,style:{height:`0.4306em`}}),a(`span`,{class:`mord mathnormal`,style:{"margin-right":`0.044em`}},`z`)])])]),f(` = how much to `),a(`strong`,null,`keep`),f(`.`)],-1)]])),[[E]])]),_:1},16)}}};export{T as default}; \ No newline at end of file diff --git a/lecture-05/assets/md-D9ONtzus2.js b/lecture-05/assets/md-D9ONtzus2.js new file mode 100644 index 0000000000000000000000000000000000000000..0d60a636183ae29ae7698794dff258cfff99ffcf --- /dev/null +++ b/lecture-05/assets/md-D9ONtzus2.js @@ -0,0 +1 @@ +import{$ as e,E as t,S as n,W as r,_ as i,b as a,bt as o,et as s,v as c,vt as l,z as u}from"./modules/shiki-CkJq9tSf.js";import{n as d,t as f}from"./slidev/context-DnYiQGy6.js";import{t as p}from"./default-BTjgsdmC.js";import{t as m}from"./RnnGlyph-DxX0mQto.js";var h={class:`grid grid-cols-4 gap-x-4 gap-y-3 mt-2`},g={class:`flex flex-col items-center text-center gap-1`},_={class:`flex flex-col items-center text-center gap-1`},v={class:`flex flex-col items-center text-center gap-1`},y={class:`flex flex-col items-center text-center gap-1`},b={class:`flex flex-col items-center text-center gap-1`},x={class:`flex flex-col items-center text-center gap-1`},S={class:`flex flex-col items-center text-center gap-1`},C={class:`mt-4 dl-callout`},w={__name:`slides.md__slidev_69`,setup(w){let{$slidev:T,$nav:E,$clicksContext:D,$clicks:O,$page:k,$renderContext:A,$frontmatter:j}=d();return D.setup(),(d,w)=>{let T=m,E=r(`click`);return u(),c(p,o(t(l(f)(l(j),68))),{default:e(()=>[w[8]||=i(`h1`,null,`Where we got to`,-1),i(`div`,h,[s((u(),a(`div`,g,[n(T,{kind:`sequence`,size:56}),w[0]||=i(`span`,{class:`dl-secondary`},`Order matters: carry one state forward`,-1)])),[[E]]),s((u(),a(`div`,_,[n(T,{kind:`loop`,size:56}),w[1]||=i(`span`,{class:`dl-secondary`},`The same weights at every step`,-1)])),[[E]]),s((u(),a(`div`,v,[n(T,{kind:`fade`,size:56}),w[2]||=i(`span`,{class:`dl-secondary`},`The gradient fades: 0.8²⁰ = 0.012`,-1)])),[[E]]),s((u(),a(`div`,y,[n(T,{kind:`gate`,size:56}),w[3]||=i(`span`,{class:`dl-secondary`},`Gates keep an additive path: 0.99²⁰ = 0.82`,-1)])),[[E]]),s((u(),a(`div`,b,[n(T,{kind:`map`,size:56}),w[4]||=i(`span`,{class:`dl-secondary`},`Words become learned vectors`,-1)])),[[E]]),s((u(),a(`div`,x,[n(T,{kind:`shape`,size:56}),w[5]||=i(`span`,{class:`dl-secondary`},`Batch first, pack, clip`,-1)])),[[E]]),s((u(),a(`div`,S,[n(T,{kind:`generate`,size:56}),w[6]||=i(`span`,{class:`dl-secondary`},`Feed outputs back in; attend to the source`,-1)])),[[E]])]),s((u(),a(`div`,C,[...w[7]||=[i(`p`,null,`Two walls. A fixed-size summary: attention fixes it. Time that cannot run in parallel: still open. Each step waits for the last.`,-1)]])),[[E]])]),_:1},16)}}};export{w as default}; \ No newline at end of file diff --git a/lecture-05/assets/md-DE2QGCpb.css b/lecture-05/assets/md-DE2QGCpb.css new file mode 100644 index 0000000000000000000000000000000000000000..5cc79e1fa351b99f8fdea52a83ab73fdc12822e1 --- /dev/null +++ b/lecture-05/assets/md-DE2QGCpb.css @@ -0,0 +1 @@ +.dl-end[data-v-f8d31aa3]{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1.2rem;display:flex}.dl-end__body[data-v-f8d31aa3] h1{font-size:var(--dl-fs-section);margin:0}.dl-end__meta[data-v-f8d31aa3]{font-size:var(--dl-fs-secondary);color:var(--dl-muted);gap:1.4rem;display:flex} diff --git a/lecture-05/assets/md-DJ1fwN8S.js b/lecture-05/assets/md-DJ1fwN8S.js new file mode 100644 index 0000000000000000000000000000000000000000..03342cc37a035a966d0c35468f420a04e28f88b1 --- /dev/null +++ b/lecture-05/assets/md-DJ1fwN8S.js @@ -0,0 +1,8 @@ +import{$ as e,E as t,M as n,S as r,St as i,V as a,W as o,_ as s,b as c,bt as l,et as u,m as d,v as f,vt as p,x as m,yt as h,z as g}from"./modules/shiki-CkJq9tSf.js";import{n as _,t as v}from"./slidev/context-DnYiQGy6.js";import{t as y}from"./default-BTjgsdmC.js";import{t as b}from"./slidev/CodeBlockWrapper-RJVA2-nu.js";var x={class:`grid grid-cols-[1.75fr_1fr] gap-5 items-center`},S={class:`dl-diagram`,viewBox:`0 0 262 172`,role:`img`,"aria-label":`The four reviews sorted by length 8, 5, 3, 2 words, one column per time step 1 to 8. Real tokens are solid, padding red. The last real token of each row is highlighted. Under each step, how many reviews still have a real word: 4, 4, 3, 2, 2, 1, 1, 1.`},C=[`x`,`textContent`],w=[`y`],T=[`x`,`y`],E=[`x`],D={class:`mt-2 dl-callout`},O={__name:`slides.md__slidev_57`,setup(O){let{$slidev:k,$nav:A,$clicksContext:j,$clicks:M,$page:N,$renderContext:P,$frontmatter:F}=_();return j.setup(),(_,O)=>{let k=b,A=o(`click`);return g(),f(y,l(t(p(v)(p(F),56))),{default:e(()=>[O[6]||=s(`h1`,null,`Packing — tell the layer where to stop`,-1),s(`div`,x,[s(`div`,null,[r(k,n({lines:!0},{title:``,ranges:[`all`,`1-4`,`5`,`6-8`,`all`]}),{default:e(()=>[...O[0]||=[s(`pre`,{class:`shiki shiki-themes vitesse-dark vitesse-light slidev-code`,style:{"--shiki-dark":`#dbd7caee`,"--shiki-light":`#393a34`,"--shiki-dark-bg":`#121212`,"--shiki-light-bg":`#ffffff`}},[s(`code`,{class:`language-python`},[s(`span`,{class:`line`},[s(`span`,{style:{"--shiki-dark":`#4D9375`,"--shiki-light":`#1E754F`}},`from`),s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},` torch`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`.`),s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},`nn`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`.`),s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},`utils`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`.`),s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},`rnn `),s(`span`,{style:{"--shiki-dark":`#4D9375`,"--shiki-light":`#1E754F`}},`import`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},` (`)]),m(` +`),s(`span`,{class:`line`},[s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},` pack_padded_sequence`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`,`),s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},` pad_packed_sequence`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`)`)]),m(` +`),s(`span`,{class:`line`},[s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},`packed `),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`=`),s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},` pack_padded_sequence`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`(`),s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},`emb`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`,`),s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},` lengths`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`.`),s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},`cpu`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`(),`)]),m(` +`),s(`span`,{class:`line`},[s(`span`,{style:{"--shiki-dark":`#BD976A`,"--shiki-light":`#B07D48`}},` batch_first`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`=`),s(`span`,{style:{"--shiki-dark":`#4D9375`,"--shiki-light":`#1E754F`}},`True`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`,`),s(`span`,{style:{"--shiki-dark":`#BD976A`,"--shiki-light":`#B07D48`}},` enforce_sorted`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`=`),s(`span`,{style:{"--shiki-dark":`#4D9375`,"--shiki-light":`#1E754F`}},`False`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`)`),s(`span`,{style:{"--shiki-dark":`#758575DD`,"--shiki-light":`#A0ADA0`}},` # sorts for you`)]),m(` +`),s(`span`,{class:`line`},[s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},`packed_out`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`,`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},` (`),s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},`h_n`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`,`),s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},` c_n`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`)`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},` =`),s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},` lstm`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`(`),s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},`packed`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`)`),s(`span`,{style:{"--shiki-dark":`#758575DD`,"--shiki-light":`#A0ADA0`}},` # skips pad steps`)]),m(` +`),s(`span`,{class:`line`},[s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},`output`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`,`),s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},` _ `),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`=`),s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},` pad_packed_sequence`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`(`),s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},`packed_out`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`,`),s(`span`,{style:{"--shiki-dark":`#BD976A`,"--shiki-light":`#B07D48`}},` batch_first`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`=`),s(`span`,{style:{"--shiki-dark":`#4D9375`,"--shiki-light":`#1E754F`}},`True`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`)`)]),m(` +`),s(`span`,{class:`line`},[s(`span`,{style:{"--shiki-dark":`#758575DD`,"--shiki-light":`#A0ADA0`}},`# h_n[-1]: the state after the LAST REAL token of each row`)]),m(` +`),s(`span`,{class:`line`},[s(`span`,{style:{"--shiki-dark":`#758575DD`,"--shiki-light":`#A0ADA0`}},`# output: padded again, with zeros where the padding was`)])])],-1)]]),_:1},16)]),s(`div`,null,[(g(),c(`svg`,S,[O[1]||=s(`text`,{class:`dl-dg-small`,x:`58`,y:`12`,"text-anchor":`end`},`step`,-1),(g(),c(d,null,a(8,e=>s(`text`,{key:`s${e}`,class:`dl-dg-small`,x:74+(e-1)*24,y:`12`,"text-anchor":`middle`,textContent:i(e)},null,8,C)),64)),(g(),c(d,null,a([8,5,3,2],(e,t)=>s(`g`,{key:t},[s(`text`,{class:`dl-dg-small`,x:`58`,y:35+t*24,"text-anchor":`end`},i(e)+` words`,9,w),(g(),c(d,null,a(8,n=>s(`rect`,{key:n,class:h([`dl-dg-box`,[``,`is-accent`,`is-bad`][Math.sign(n-e)+1]]),x:64+(n-1)*24,y:20+t*24,width:`20`,height:`20`,rx:`2`},null,10,T)),64))])),64)),O[2]||=s(`path`,{class:`dl-dg-line`,d:`M62 120 H256`},null,-1),O[3]||=s(`text`,{class:`dl-dg-small`,x:`58`,y:`140`,"text-anchor":`end`},`still going`,-1),(g(),c(d,null,a([4,4,3,2,2,1,1,1],(e,t)=>s(`g`,{key:`n${t}`},[s(`text`,{class:`dl-dg-lab is-sm`,x:74+t*24,y:`140`,"text-anchor":`middle`},i(e),9,E)])),64)),O[4]||=s(`text`,{class:`dl-dg-small`,x:`62`,y:`164`},`stored as batch_sizes`,-1)]))])]),O[7]||=s(`p`,null,[m(`Packing keeps only the real tokens. The bottom row counts `),s(`strong`,null,`how many reviews still have a real word`),m(` at each step. Step 3 has 3: the 2-word review has ended. So each row stops at its own length.`)],-1),u((g(),c(`div`,D,[...O[5]||=[s(`p`,null,[m(`Not an optimisation: without packing, `),s(`code`,null,`h_n`),m(` is the wrong vector for every padded row.`)],-1)]])),[[A]])]),_:1},16)}}};export{O as default}; \ No newline at end of file diff --git a/lecture-05/assets/md-DP9dnXw3.js b/lecture-05/assets/md-DP9dnXw3.js new file mode 100644 index 0000000000000000000000000000000000000000..b7e648c8342d57e649fa268368dcb98391857470 --- /dev/null +++ b/lecture-05/assets/md-DP9dnXw3.js @@ -0,0 +1 @@ +import{$ as e,E as t,S as n,W as r,_ as i,b as a,bt as o,et as s,v as c,vt as l,x as u,z as d}from"./modules/shiki-CkJq9tSf.js";import{n as f,t as p}from"./slidev/context-DnYiQGy6.js";import{t as m}from"./slidev/VClicks-DLDbGwsQ.js";import{t as h}from"./interactive-pqWNz3EB.js";import{t as g}from"./RnnUnroll-qP10abej.js";var _={class:`mt-2 dl-callout`},v={__name:`slides.md__slidev_16`,setup(v){let{$slidev:y,$nav:b,$clicksContext:x,$clicks:S,$page:C,$renderContext:w,$frontmatter:T}=f();return x.setup(),(f,v)=>{let y=g,b=m,x=r(`click`);return d(),c(h,o(t(l(p)(l(T),15))),{aside:e(t=>[v[2]||=i(`p`,null,[i(`strong`,null,`Unrolling`),u(` draws one copy of the layer per word. Press `),i(`strong`,null,`Next step`),u(`.`)],-1),n(b,null,{default:e(()=>[...v[0]||=[i(`ul`,null,[i(`li`,null,[u(`Every `),i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`mi`,null,`W`)]),i(`annotation`,{encoding:`application/x-tex`},`W`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.6833em`}}),i(`span`,{class:`mord mathnormal`,style:{"margin-right":`0.1389em`}},`W`)])])]),u(` here is the `),i(`strong`,null,`same matrix`)]),i(`li`,null,`The chain grows with the review; the weights do not`),i(`li`,null,[i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`msub`,null,[i(`mi`,{mathvariant:`bold`},`h`),i(`mn`,null,`0`)]),i(`mo`,null,`=`),i(`mn`,{mathvariant:`bold`},`0`)]),i(`annotation`,{encoding:`application/x-tex`},`\\mathbf{h}_0 = \\mathbf{0}`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.8444em`,"vertical-align":`-0.15em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathbf`},`h`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.3011em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mtight`},`0`)])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.15em`}},[i(`span`)])])])])]),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}}),i(`span`,{class:`mrel`},`=`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}})]),i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.6444em`}}),i(`span`,{class:`mord mathbf`},`0`)])])]),u(`: the note starts blank`)])],-1)]]),_:1}),s((d(),a(`div`,_,[...v[1]||=[i(`p`,null,[u(`Review A (`),i(`em`,null,`…was great`),u(`) and B (`),i(`em`,null,`…not great`),u(`) both end on `),i(`em`,null,`great`),u(`. Only the note differs.`)],-1)]])),[[x]])]),default:e(()=>[n(y,{example:`review`,start:`unroll`})]),_:1},16)}}};export{v as default}; \ No newline at end of file diff --git a/lecture-05/assets/md-DPb1D2iN2.js b/lecture-05/assets/md-DPb1D2iN2.js new file mode 100644 index 0000000000000000000000000000000000000000..39f237e6321ad01e1b377b2571298add52c1d03f --- /dev/null +++ b/lecture-05/assets/md-DPb1D2iN2.js @@ -0,0 +1 @@ +import{$ as e,E as t,S as n,W as r,_ as i,b as a,bt as o,et as s,v as c,vt as l,x as u,z as d}from"./modules/shiki-CkJq9tSf.js";import{n as f,t as p}from"./slidev/context-DnYiQGy6.js";import{t as m}from"./WordStrip-wEzaLRUv.js";import{t as h}from"./default-BTjgsdmC.js";var g={class:`grid grid-cols-[19rem_1fr] gap-8 mt-1`},_={viewBox:`0 0 330 240`,class:`dl-diagram`,role:`img`,"aria-label":`The average word vector of each review on a plane. A at 0.25, 0; B at 0.2, 0.2. A horizontal line at 0.1 separates them. C and D, the same six words in a different order, both land at 0, 0.17`},v={class:`mt-3`},y={class:`mt-3`},b={class:`grid grid-cols-[1fr_4.8rem] gap-1 items-center mt-1`},x={class:`mt-3 dl-callout`},S={__name:`slides.md__slidev_7`,setup(S){let{$slidev:C,$nav:w,$clicksContext:T,$clicks:E,$page:D,$renderContext:O,$frontmatter:k}=f();return T.setup(),(f,S)=>{let C=m,w=r(`click`);return d(),c(h,o(t(l(p)(l(k),6))),{default:e(()=>[S[16]||=i(`h1`,null,`Averaging loses the order`,-1),i(`div`,g,[i(`div`,null,[(d(),a(`svg`,_,[S[2]||=i(`path`,{class:`dl-dg-arrow`,d:`M50 200 H305 M50 200 V14`},null,-1),S[3]||=i(`text`,{class:`dl-dg-small`,x:`44`,y:`124`,"text-anchor":`end`},`0.1`,-1),S[4]||=i(`text`,{class:`dl-dg-small`,x:`305`,y:`234`,"text-anchor":`end`},`positive →`,-1),S[5]||=i(`text`,{class:`dl-dg-small`,x:`56`,y:`12`},`↑ negation`,-1),S[6]||=i(`circle`,{class:`dl-dg-dot is-accent`,cx:`250`,cy:`200`,r:`6`},null,-1),S[7]||=i(`text`,{class:`dl-dg-small is-good`,x:`250`,y:`188`,"text-anchor":`middle`},`A [0.25, 0]`,-1),S[8]||=i(`circle`,{class:`dl-dg-dot is-bad`,cx:`210`,cy:`40`,r:`6`},null,-1),S[9]||=i(`text`,{class:`dl-dg-small is-bad`,x:`210`,y:`28`,"text-anchor":`middle`},`B [0.2, 0.2]`,-1),s((d(),a(`g`,null,[...S[0]||=[i(`path`,{class:`dl-dg-loss`,d:`M50 120 H305`},null,-1),i(`text`,{class:`dl-dg-small`,x:`300`,y:`113`,"text-anchor":`end`},`any not → negative`,-1)]])),[[w,1]]),s((d(),a(`g`,null,[...S[1]||=[i(`circle`,{class:`dl-dg-dot`,cx:`50`,cy:`67`,r:`6`},null,-1),i(`circle`,{class:`dl-dg-box is-bad`,cx:`50`,cy:`67`,r:`11`},null,-1),i(`text`,{class:`dl-dg-small`,x:`66`,y:`64`},`C, D [0, 0.17]`,-1),i(`text`,{class:`dl-dg-small is-bad`,x:`66`,y:`78`},`wrong for C`,-1)]])),[[w,2]])]))]),i(`div`,null,[S[15]||=i(`p`,null,[u(`A `),i(`strong`,null,`bag of words`),u(` averages the word vectors, so order is lost.`)],-1),s((d(),a(`div`,v,[...S[10]||=[i(`p`,null,`A and B still differ: a line splits them.`,-1)]])),[[w,1]]),s((d(),a(`div`,y,[S[13]||=i(`p`,null,[u(`Add `),i(`em`,null,`bad`),u(` = `),i(`span`,null,`−1, 0`),u(`, and reorder:`)],-1),i(`div`,b,[n(C,{review:[`not`,`bad,`,`the`,`movie`,`was`,`great`],highlight:`not`,width:330}),S[11]||=i(`span`,{class:`dl-secondary`},`C positive`,-1),n(C,{review:[`not`,`great,`,`the`,`movie`,`was`,`bad`],highlight:`not`,width:330}),S[12]||=i(`span`,{class:`dl-secondary`},`D negative`,-1)])])),[[w,2]]),s((d(),a(`div`,x,[...S[14]||=[i(`p`,null,`Same average, opposite labels. No rule on the average can fix that.`,-1)]])),[[w,3]])])])]),_:1},16)}}};export{S as default}; \ No newline at end of file diff --git a/lecture-05/assets/md-DRJqBy-0.js b/lecture-05/assets/md-DRJqBy-0.js new file mode 100644 index 0000000000000000000000000000000000000000..b475fec06dd8a20f6bfeec100a52bcd93653def3 --- /dev/null +++ b/lecture-05/assets/md-DRJqBy-0.js @@ -0,0 +1,14 @@ +import{$ as e,E as t,M as n,S as r,St as i,V as a,W as o,_ as s,b as c,bt as l,et as u,m as d,v as f,vt as p,x as m,y as h,yt as g,z as _}from"./modules/shiki-CkJq9tSf.js";import{n as v,t as y}from"./slidev/context-DnYiQGy6.js";import{t as b}from"./default-BTjgsdmC.js";import{t as x}from"./slidev/CodeBlockWrapper-RJVA2-nu.js";var S={class:`dl-diagram mx-auto mt-1`,viewBox:`0 0 600 56`,style:{"max-height":`3.6rem`},role:`img`,"aria-label":`Forward, loss, backward, clip, step. Clip is the one new step, between backward and step.`},C=[`x`],w=[`x`],T=[`d`],E={class:`mt-1 dl-secondary`},D={__name:`slides.md__slidev_60`,setup(D){let{$slidev:O,$nav:k,$clicksContext:A,$clicks:j,$page:M,$renderContext:N,$frontmatter:P}=v();return A.setup(),(v,D)=>{let O=x,k=o(`click`);return _(),f(b,l(t(p(y)(p(P),59))),{default:e(()=>[D[4]||=s(`h1`,null,`The training loop, with one line added`,-1),r(O,n({lines:!0},{title:``,ranges:[`all`,`1-3`,`6-7`,`8-11`,`12-14`,`all`]}),{default:e(()=>[...D[0]||=[s(`pre`,{class:`shiki shiki-themes vitesse-dark vitesse-light slidev-code`,style:{"--shiki-dark":`#dbd7caee`,"--shiki-light":`#393a34`,"--shiki-dark-bg":`#121212`,"--shiki-light-bg":`#ffffff`}},[s(`code`,{class:`language-python`},[s(`span`,{class:`line`},[s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},`model `),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`=`),s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},` ReviewClassifier`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`(`),s(`span`,{style:{"--shiki-dark":`#BD976A`,"--shiki-light":`#B07D48`}},`vocab_size`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`=`),s(`span`,{style:{"--shiki-dark":`#4C9A91`,"--shiki-light":`#2F798A`}},`20_000`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`).`),s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},`to`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`(`),s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},`device`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`)`)]),m(` +`),s(`span`,{class:`line`},[s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},`loss_fn `),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`=`),s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},` nn`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`.`),s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},`CrossEntropyLoss`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`()`)]),m(` +`),s(`span`,{class:`line`},[s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},`optimiser `),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`=`),s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},` torch`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`.`),s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},`optim`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`.`),s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},`Adam`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`(`),s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},`model`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`.`),s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},`parameters`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`(),`),s(`span`,{style:{"--shiki-dark":`#BD976A`,"--shiki-light":`#B07D48`}},` lr`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`=`),s(`span`,{style:{"--shiki-dark":`#4C9A91`,"--shiki-light":`#2F798A`}},`1e-3`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`)`)]),m(` +`),s(`span`,{class:`line`}),m(` +`),s(`span`,{class:`line`},[s(`span`,{style:{"--shiki-dark":`#4D9375`,"--shiki-light":`#1E754F`}},`for`),s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},` epoch `),s(`span`,{style:{"--shiki-dark":`#4D9375`,"--shiki-light":`#1E754F`}},`in`),s(`span`,{style:{"--shiki-dark":`#B8A965`,"--shiki-light":`#998418`}},` range`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`(`),s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},`epochs`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`):`)]),m(` +`),s(`span`,{class:`line`},[s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},` model`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`.`),s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},`train`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`()`)]),m(` +`),s(`span`,{class:`line`},[s(`span`,{style:{"--shiki-dark":`#4D9375`,"--shiki-light":`#1E754F`}},` for`),s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},` ids`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`,`),s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},` lengths`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`,`),s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},` labels `),s(`span`,{style:{"--shiki-dark":`#4D9375`,"--shiki-light":`#1E754F`}},`in`),s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},` train_loader`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`:`)]),m(` +`),s(`span`,{class:`line`},[s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},` ids`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`,`),s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},` labels `),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`=`),s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},` ids`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`.`),s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},`to`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`(`),s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},`device`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`),`),s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},` labels`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`.`),s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},`to`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`(`),s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},`device`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`)`)]),m(` +`),s(`span`,{class:`line`},[s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},` logits `),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`=`),s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},` model`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`(`),s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},`ids`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`,`),s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},` lengths`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`)`)]),m(` +`),s(`span`,{class:`line`},[s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},` loss `),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`=`),s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},` loss_fn`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`(`),s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},`logits`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`,`),s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},` labels`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`)`)]),m(` +`),s(`span`,{class:`line`},[s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},` optimiser`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`.`),s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},`zero_grad`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`()`)]),m(` +`),s(`span`,{class:`line`},[s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},` loss`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`.`),s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},`backward`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`()`)]),m(` +`),s(`span`,{class:`line`},[s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},` torch`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`.`),s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},`nn`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`.`),s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},`utils`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`.`),s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},`clip_grad_norm_`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`(`),s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},`model`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`.`),s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},`parameters`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`(),`),s(`span`,{style:{"--shiki-dark":`#BD976A`,"--shiki-light":`#B07D48`}},` max_norm`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`=`),s(`span`,{style:{"--shiki-dark":`#4C9A91`,"--shiki-light":`#2F798A`}},`1.0`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`)`)]),m(` +`),s(`span`,{class:`line`},[s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},` optimiser`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`.`),s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},`step`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`()`)])])],-1)]]),_:1},16),(_(),c(`svg`,S,[D[1]||=s(`defs`,null,[s(`marker`,{id:`l5d-head-loop`,markerWidth:`7`,markerHeight:`7`,refX:`6`,refY:`3.5`,orient:`auto`},[s(`path`,{d:`M0 0 L7 3.5 L0 7 z`,class:`dl-dg-head`})])],-1),(_(),c(d,null,a([`forward`,`loss`,`backward`,`clip`,`step`],(e,t)=>s(`g`,{key:t},[s(`rect`,{class:g([`dl-dg-box`,t===3?`is-accent`:``]),x:4+t*120,y:`4`,width:`96`,height:`30`,rx:`5`},null,10,C),s(`text`,{class:`dl-dg-lab is-sm`,x:52+t*120,y:`24`,"text-anchor":`middle`},i(e),9,w),t<4?(_(),c(`path`,{key:0,class:`dl-dg-arrow`,d:`M${102+t*120} 19 H${122+t*120}`,"marker-end":`url(#l5d-head-loop)`},null,8,T)):h(`v-if`,!0)])),64)),D[2]||=s(`text`,{class:`dl-dg-small is-good`,x:`412`,y:`50`,"text-anchor":`middle`},`gradient length ≤ 1.0`,-1)])),u((_(),c(`div`,E,[...D[3]||=[s(`p`,null,`The MLP’s loop, the CNN’s loop and this one differ by one line and one model class.`,-1)]])),[[k]])]),_:1},16)}}};export{D as default}; \ No newline at end of file diff --git a/lecture-05/assets/md-DUhNjFjE.js b/lecture-05/assets/md-DUhNjFjE.js new file mode 100644 index 0000000000000000000000000000000000000000..4e802ef39d3cf43982dd1eb4b671041407ad9b86 --- /dev/null +++ b/lecture-05/assets/md-DUhNjFjE.js @@ -0,0 +1 @@ +import{$ as e,E as t,St as n,V as r,W as i,_ as a,b as o,bt as s,et as c,m as l,v as u,vt as d,yt as f,z as p}from"./modules/shiki-CkJq9tSf.js";import{n as m,t as h}from"./slidev/context-DnYiQGy6.js";import{t as g}from"./default-BTjgsdmC.js";var _={viewBox:`0 0 640 210`,class:`dl-diagram`,role:`img`,"aria-label":`The five words of review B, each read by a cell with the same weights W, and a state h passed from each cell to the next`},v=[`x`],y=[`x`,`textContent`],b=[`d`],x=[`x`],S=[`x`],C=[`d`],w=[`x`],T={class:`mt-2 dl-callout`},E={__name:`slides.md__slidev_10`,setup(E){let{$slidev:D,$nav:O,$clicksContext:k,$clicks:A,$page:j,$renderContext:M,$frontmatter:N}=m();return k.setup(),(m,E)=>{let D=i(`click`);return p(),u(g,s(t(d(h)(d(N),9))),{default:e(()=>[E[6]||=a(`h1`,null,`Two facts about sequences`,-1),E[7]||=a(`p`,null,`CNNs turned two facts about images into wiring. Sequences have two facts too.`,-1),(p(),o(`svg`,_,[E[4]||=a(`defs`,null,[a(`marker`,{id:`l5a-facts-head`,markerWidth:`7`,markerHeight:`7`,refX:`6`,refY:`3.5`,orient:`auto`},[a(`path`,{class:`dl-dg-head`,d:`M0 0 L7 3.5 L0 7 z`})])],-1),(p(),o(l,null,r(5,e=>a(`rect`,{key:e,class:f(e===4?`dl-dg-box is-accent`:`dl-dg-box`),x:20+(e-1)*124,y:`8`,width:`96`,height:`28`,rx:`4`},null,10,v)),64)),(p(),o(l,null,r([`the`,`movie`,`was`,`not`,`great`],(e,t)=>a(`text`,{key:e,class:`dl-dg-lab is-sm`,x:68+t*124,y:`27`,"text-anchor":`middle`,textContent:n(e)},null,8,y)),64)),c((p(),o(`g`,null,[(p(),o(l,null,r(5,e=>a(`path`,{key:`d${e}`,class:`dl-dg-arrow`,"marker-end":`url(#l5a-facts-head)`,d:`M${68+(e-1)*124} 38 V60`},null,8,b)),64)),(p(),o(l,null,r(5,e=>a(`rect`,{key:`c${e}`,class:`dl-dg-net`,x:40+(e-1)*124,y:`64`,width:`56`,height:`34`,rx:`5`},null,8,x)),64)),(p(),o(l,null,r(5,e=>a(`text`,{key:`w${e}`,class:`dl-dg-in`,x:68+(e-1)*124,y:`86`,"text-anchor":`middle`},`W`,8,S)),64)),E[0]||=a(`text`,{class:`dl-dg-lab is-sm`,x:`20`,y:`134`},`1. Same pattern, same meaning, anywhere`,-1),E[1]||=a(`text`,{class:`dl-dg-small is-good`,x:`38`,y:`152`},`→ one set of weights for every position`,-1)])),[[D]]),c((p(),o(`g`,null,[(p(),o(l,null,r(4,e=>a(`path`,{key:`h${e}`,class:`dl-dg-line`,"marker-end":`url(#l5a-facts-head)`,d:`M${98+(e-1)*124} 81 H${160+(e-1)*124}`},null,8,C)),64)),(p(),o(l,null,r(4,e=>a(`text`,{key:`hl${e}`,class:`dl-dg-small is-good`,x:129+(e-1)*124,y:`74`,"text-anchor":`middle`},`h`,8,w)),64)),E[2]||=a(`text`,{class:`dl-dg-lab is-sm`,x:`20`,y:`180`},`2. Earlier words change later ones`,-1),E[3]||=a(`text`,{class:`dl-dg-small is-good`,x:`38`,y:`198`},`→ a state h, carried to the next step`,-1)])),[[D]])])),c((p(),o(`div`,T,[...E[5]||=[a(`p`,null,`Shared weights plus a carried state: that is the whole architecture.`,-1)]])),[[D]])]),_:1},16)}}};export{E as default}; \ No newline at end of file diff --git a/lecture-05/assets/md-DVC75ih2.js b/lecture-05/assets/md-DVC75ih2.js new file mode 100644 index 0000000000000000000000000000000000000000..9a35a3bff369d3ec3bdc45246892e1fe4e84450f --- /dev/null +++ b/lecture-05/assets/md-DVC75ih2.js @@ -0,0 +1 @@ +import{$ as e,E as t,S as n,W as r,_ as i,b as a,bt as o,et as s,v as c,vt as l,x as u,z as d}from"./modules/shiki-CkJq9tSf.js";import{n as f,t as p}from"./slidev/context-DnYiQGy6.js";import{t as m}from"./slidev/VClicks-DLDbGwsQ.js";import{t as h}from"./interactive-pqWNz3EB.js";import{t as g}from"./SeqToSeqFlow-CnUZ8lrf.js";var _={class:`mt-2 dl-callout`},v={__name:`slides.md__slidev_65`,setup(v){let{$slidev:y,$nav:b,$clicksContext:x,$clicks:S,$page:C,$renderContext:w,$frontmatter:T}=f();return x.setup(),(f,v)=>{let y=g,b=m,x=r(`click`);return d(),c(h,o(t(l(p)(l(T),64))),{aside:e(t=>[v[2]||=i(`p`,null,[u(`Keep `),i(`strong`,null,`every`),u(` encoder state, and build a `),i(`strong`,null,`fresh`),u(` context at each output step. Press `),i(`strong`,null,`Next word`),u(`.`)],-1),n(b,null,{default:e(()=>[...v[0]||=[i(`ul`,null,[i(`li`,null,[i(`em`,null,`have`),u(` → the weight sits on `),i(`em`,null,`habe`)]),i(`li`,null,[i(`em`,null,`read`),u(` → on `),i(`em`,null,[i(`strong`,null,`gelesen`)]),u(`, the `),i(`strong`,null,`last`),u(` German word`)]),i(`li`,null,`The alignment is learned, not given`)],-1)]]),_:1}),s((d(),a(`div`,_,[...v[1]||=[i(`p`,null,`No fixed summary to overflow: the decoder looks words up instead of remembering them.`,-1)]])),[[x]])]),default:e(()=>[n(y,{mode:`attention`})]),_:1},16)}}};export{v as default}; \ No newline at end of file diff --git a/lecture-05/assets/md-DbITpZOi.js b/lecture-05/assets/md-DbITpZOi.js new file mode 100644 index 0000000000000000000000000000000000000000..969ac38f94bc830d8eeb5314506819d0310a8f52 --- /dev/null +++ b/lecture-05/assets/md-DbITpZOi.js @@ -0,0 +1 @@ +import{$ as e,E as t,V as n,W as r,_ as i,b as a,bt as o,et as s,m as c,v as l,vt as u,x as d,z as f}from"./modules/shiki-CkJq9tSf.js";import{n as p,t as m}from"./slidev/context-DnYiQGy6.js";import{t as h}from"./default-BTjgsdmC.js";var g={class:`dl-diagram mx-auto`,viewBox:`0 0 600 64`,style:{"max-height":`4.2rem`},role:`img`,"aria-label":`A slab 32 by 200 by 64 becomes a flat 32 by 128 after the LSTM, then 32 by 2 after the linear layer.`},_=[`x`,`y`],v={class:`mt-2 dl-callout`},y={__name:`slides.md__slidev_59`,setup(y){let{$slidev:b,$nav:x,$clicksContext:S,$clicks:C,$page:w,$renderContext:T,$frontmatter:E}=p();return S.setup(),(p,y)=>{let b=r(`click`);return f(),l(h,o(t(u(m)(u(E),58))),{default:e(()=>[y[11]||=i(`h1`,null,`Shapes, end to end`,-1),(f(),a(`svg`,g,[y[0]||=i(`defs`,null,[i(`marker`,{id:`l5d-head-ledger`,markerWidth:`7`,markerHeight:`7`,refX:`6`,refY:`3.5`,orient:`auto`},[i(`path`,{d:`M0 0 L7 3.5 L0 7 z`,class:`dl-dg-head`})])],-1),(f(),a(c,null,n(3,e=>i(`rect`,{key:e,class:`dl-dg-box`,x:10+(e-1)*8,y:4+(e-1)*6,width:`150`,height:`40`,rx:`3`},null,8,_)),64)),y[1]||=i(`text`,{class:`dl-dg-lab is-sm`,x:`101`,y:`40`,"text-anchor":`middle`},`32×200×64`,-1),y[2]||=i(`path`,{class:`dl-dg-arrow`,d:`M182 32 H262`,"marker-end":`url(#l5d-head-ledger)`},null,-1),y[3]||=i(`text`,{class:`dl-dg-small`,x:`222`,y:`24`,"text-anchor":`middle`},`LSTM`,-1),y[4]||=i(`rect`,{class:`dl-dg-box is-accent`,x:`270`,y:`16`,width:`120`,height:`30`,rx:`3`},null,-1),y[5]||=i(`text`,{class:`dl-dg-lab is-sm`,x:`330`,y:`36`,"text-anchor":`middle`},`32×128`,-1),y[6]||=i(`path`,{class:`dl-dg-arrow`,d:`M396 32 H466`,"marker-end":`url(#l5d-head-ledger)`},null,-1),y[7]||=i(`text`,{class:`dl-dg-small`,x:`431`,y:`24`,"text-anchor":`middle`},`Linear`,-1),y[8]||=i(`rect`,{class:`dl-dg-box`,x:`474`,y:`16`,width:`70`,height:`30`,rx:`3`},null,-1),y[9]||=i(`text`,{class:`dl-dg-lab is-sm`,x:`509`,y:`36`,"text-anchor":`middle`},`32×2`,-1)])),y[12]||=i(`div`,{class:`dl-ledger dl-tight`},[i(`table`,null,[i(`thead`,null,[i(`tr`,null,[i(`th`,null,`step`),i(`th`,null,`shape`),i(`th`,null,`what it is`)])]),i(`tbody`,null,[i(`tr`,null,[i(`td`,null,[i(`code`,null,`ids`)]),i(`td`,null,[i(`code`,null,`(32, 200)`)]),i(`td`,null,`padded token ids`)]),i(`tr`,null,[i(`td`,null,[i(`code`,null,`lengths`)]),i(`td`,null,[i(`code`,null,`(32,)`)]),i(`td`,null,`real lengths`)]),i(`tr`,null,[i(`td`,null,[i(`code`,null,`embed(ids)`)]),i(`td`,null,[i(`code`,null,`(32, 200, 64)`)]),i(`td`,null,`a vector per token`)]),i(`tr`,null,[i(`td`,null,[i(`code`,null,`lstm(packed)`),d(` → `),i(`code`,null,`output`)]),i(`td`,null,[d(`packed; unpacked `),i(`code`,null,`(32, ≤200, 128)`)]),i(`td`,null,`state at every step`)]),i(`tr`,null,[i(`td`,null,[i(`code`,null,`lstm(packed)`),d(` → `),i(`code`,null,`h_n`)]),i(`td`,null,[i(`code`,null,`(1, 32, 128)`)]),i(`td`,null,`state after the last real token`)]),i(`tr`,null,[i(`td`,null,[i(`code`,null,`h_n[-1]`)]),i(`td`,null,[i(`code`,null,`(32, 128)`)]),i(`td`,null,`one vector per review`)]),i(`tr`,null,[i(`td`,null,[i(`code`,null,`head(…)`)]),i(`td`,null,[i(`code`,null,`(32, 2)`)]),i(`td`,null,`logits`)])])])],-1),s((f(),a(`div`,v,[...y[10]||=[i(`p`,null,`Test first: push one batch of random ids through the model.`,-1)]])),[[b]])]),_:1},16)}}};export{y as default}; \ No newline at end of file diff --git a/lecture-05/assets/md-Dezw7FrF2.js b/lecture-05/assets/md-Dezw7FrF2.js new file mode 100644 index 0000000000000000000000000000000000000000..b16553ab840c0f37dfd731f43d586a32d9a94194 --- /dev/null +++ b/lecture-05/assets/md-Dezw7FrF2.js @@ -0,0 +1 @@ +import{$ as e,E as t,S as n,St as r,V as i,W as a,_ as o,b as s,bt as c,et as l,m as u,v as d,vt as f,x as p,z as m}from"./modules/shiki-CkJq9tSf.js";import{n as h,t as g}from"./slidev/context-DnYiQGy6.js";import{t as _}from"./default-BTjgsdmC.js";import{t as v}from"./slidev/VClicks-DLDbGwsQ.js";var y={class:`grid grid-cols-2 gap-10 mt-2 dl-tight`},b={viewBox:`0 0 260 70`,class:`dl-diagram`,role:`img`,"aria-label":`A DNA sequence as letter tiles in a row, indexed by position only`},x=[`x`],S=[`x`,`textContent`],C={viewBox:`0 0 260 70`,class:`dl-diagram`,role:`img`,"aria-label":`A time series: samples on a time axis with an uneven gap between two of them`},w=[`cx`,`cy`],T={class:`mt-3 dl-callout`},E={__name:`slides.md__slidev_9`,setup(E){let{$slidev:D,$nav:O,$clicksContext:k,$clicks:A,$page:j,$renderContext:M,$frontmatter:N}=h();return k.setup(),(h,E)=>{let D=v,O=a(`click`);return m(),d(_,c(t(f(g)(f(N),8))),{default:e(()=>[E[12]||=o(`h1`,null,`Sequence, or time series?`,-1),o(`div`,y,[o(`div`,null,[(m(),s(`svg`,b,[(m(),s(u,null,i([`A`,`C`,`G`,`G`,`T`,`T`,`A`],(e,t)=>o(`rect`,{key:t,class:`dl-dg-box`,x:4+t*36,y:`8`,width:`30`,height:`28`,rx:`3`},null,8,x)),64)),(m(),s(u,null,i([`A`,`C`,`G`,`G`,`T`,`T`,`A`],(e,t)=>o(`text`,{key:`t${t}`,class:`dl-dg-lab is-sm`,x:19+t*36,y:`27`,"text-anchor":`middle`,textContent:r(e)},null,8,S)),64)),E[0]||=o(`text`,{class:`dl-dg-small`,x:`4`,y:`56`},`positions only`,-1)])),E[2]||=o(`h3`,null,`Sequence`,-1),E[3]||=o(`p`,null,`Order matters. No clock needed.`,-1),n(D,null,{default:e(()=>[...E[1]||=[o(`ul`,null,[o(`li`,null,`the words of a sentence`),o(`li`,null,`a DNA (genetic code) sequence`)],-1)]]),_:1})]),o(`div`,null,[(m(),s(`svg`,C,[E[4]||=o(`path`,{class:`dl-dg-arrow`,d:`M4 52 H252`},null,-1),E[5]||=o(`path`,{class:`dl-dg-line`,d:`M10 34 L30 22 L50 30 L64 14 L110 26 L126 18 L190 36 L240 24`},null,-1),(m(),s(u,null,i([[10,34],[30,22],[50,30],[64,14],[110,26],[126,18],[190,36],[240,24]],(e,t)=>o(`circle`,{key:t,class:`dl-dg-dot`,cx:e[0],cy:e[1],r:`3`},null,8,w)),64)),E[6]||=o(`text`,{class:`dl-dg-small is-bad`,x:`158`,y:`14`,"text-anchor":`middle`},`gap`,-1),E[7]||=o(`text`,{class:`dl-dg-small`,x:`252`,y:`66`,"text-anchor":`end`},`time →`,-1)])),E[9]||=o(`h3`,null,`Time series`,-1),E[10]||=o(`p`,null,[p(`A sequence on a `),o(`strong`,null,`time`),p(` axis. The gaps are data too.`)],-1),n(D,null,{default:e(()=>[...E[8]||=[o(`ul`,null,[o(`li`,null,`stock prices, one per minute`),o(`li`,null,`speech: 16 000 samples a second`),o(`li`,null,`an ECG (electrocardiogram) trace`)],-1)]]),_:1})])]),l((m(),s(`div`,T,[...E[11]||=[o(`p`,null,`Every time series is a sequence. Today’s models see only positions.`,-1)]])),[[O]])]),_:1},16)}}};export{E as default}; \ No newline at end of file diff --git a/lecture-05/assets/md-Df8WtM05.js b/lecture-05/assets/md-Df8WtM05.js new file mode 100644 index 0000000000000000000000000000000000000000..3f96d38635c1b8c42b9664562c5b22df91fbe3b3 --- /dev/null +++ b/lecture-05/assets/md-Df8WtM05.js @@ -0,0 +1 @@ +import{$ as e,E as t,S as n,St as r,V as i,W as a,_ as o,b as s,bt as c,et as l,m as u,v as d,vt as f,x as p,yt as m,z as h}from"./modules/shiki-CkJq9tSf.js";import{n as g,t as _}from"./slidev/context-DnYiQGy6.js";import{t as v}from"./default-BTjgsdmC.js";import{t as y}from"./slidev/VClicks-DLDbGwsQ.js";var b={viewBox:`0 0 640 196`,class:`dl-diagram`,role:`img`,"aria-label":`Review B as five word tiles is poured into a bag. The same five words in a shuffled order give the same bag. The bag becomes one vector, the average of the five word vectors, 0.2 and 0.2`},x=[`x`],S=[`x`,`textContent`],C=[`x`],w=[`x`,`textContent`],T={class:`dl-tight`},E={class:`mt-2 dl-callout`},D={__name:`slides.md__slidev_6`,setup(D){let{$slidev:O,$nav:k,$clicksContext:A,$clicks:j,$page:M,$renderContext:N,$frontmatter:P}=g();return A.setup(),(g,D)=>{let O=y,k=a(`click`);return h(),d(v,c(t(f(_)(f(P),5))),{default:e(()=>[D[16]||=o(`h1`,null,`A bag of words: keep the words, drop the order`,-1),(h(),s(`svg`,b,[D[4]||=o(`defs`,null,[o(`marker`,{id:`l5a-bag-head`,markerWidth:`7`,markerHeight:`7`,refX:`6`,refY:`3.5`,orient:`auto`},[o(`path`,{class:`dl-dg-head`,d:`M0 0 L7 3.5 L0 7 z`})])],-1),D[5]||=o(`text`,{class:`dl-dg-small`,x:`20`,y:`12`},`review B`,-1),(h(),s(u,null,i(5,e=>o(`rect`,{key:`b${e}`,class:m(e===4?`dl-dg-box is-accent`:`dl-dg-box`),x:20+(e-1)*80,y:`20`,width:`72`,height:`30`,rx:`4`},null,10,x)),64)),(h(),s(u,null,i([`the`,`movie`,`was`,`not`,`great`],(e,t)=>o(`text`,{key:`bw${t}`,class:`dl-dg-lab is-sm`,x:56+t*80,y:`40`,"text-anchor":`middle`,textContent:r(e)},null,8,S)),64)),D[6]||=o(`path`,{class:`dl-dg-arrow`,"marker-end":`url(#l5a-bag-head)`,d:`M424 35 H468`},null,-1),D[7]||=o(`path`,{class:`dl-dg-box`,d:`M492 22 Q540 8 588 22 L612 104 Q540 126 468 104 Z`},null,-1),D[8]||=o(`path`,{class:`dl-dg-line`,d:`M506 22 Q540 32 574 22`},null,-1),D[9]||=o(`text`,{class:`dl-dg-small`,x:`540`,y:`50`,"text-anchor":`middle`},`great`,-1),D[10]||=o(`text`,{class:`dl-dg-small`,x:`506`,y:`68`,"text-anchor":`middle`},`the`,-1),D[11]||=o(`text`,{class:`dl-dg-small is-bad`,x:`570`,y:`72`,"text-anchor":`middle`},`not`,-1),D[12]||=o(`text`,{class:`dl-dg-small`,x:`532`,y:`90`,"text-anchor":`middle`},`movie`,-1),D[13]||=o(`text`,{class:`dl-dg-small`,x:`580`,y:`98`,"text-anchor":`middle`},`was`,-1),l((h(),s(`g`,null,[D[0]||=o(`text`,{class:`dl-dg-small`,x:`20`,y:`74`},`shuffled`,-1),(h(),s(u,null,i(5,e=>o(`rect`,{key:`s${e}`,class:m(e===2?`dl-dg-box is-accent`:`dl-dg-box`),x:20+(e-1)*80,y:`82`,width:`72`,height:`30`,rx:`4`},null,10,C)),64)),(h(),s(u,null,i([`great`,`not`,`was`,`movie`,`the`],(e,t)=>o(`text`,{key:`sw${t}`,class:`dl-dg-lab is-sm`,x:56+t*80,y:`102`,"text-anchor":`middle`,textContent:r(e)},null,8,w)),64)),D[1]||=o(`path`,{class:`dl-dg-arrow`,"marker-end":`url(#l5a-bag-head)`,d:`M424 97 H468`},null,-1),D[2]||=o(`text`,{class:`dl-dg-small is-bad`,x:`446`,y:`124`,"text-anchor":`middle`},`same bag`,-1)])),[[k,1]]),l((h(),s(`g`,null,[...D[3]||=[o(`path`,{class:`dl-dg-arrow`,"marker-end":`url(#l5a-bag-head)`,d:`M540 120 V146`},null,-1),o(`rect`,{class:`dl-dg-box is-accent`,x:`490`,y:`150`,width:`100`,height:`30`,rx:`4`},null,-1),o(`text`,{class:`dl-dg-lab is-sm`,x:`540`,y:`170`,"text-anchor":`middle`},`[0.2, 0.2]`,-1),o(`text`,{class:`dl-dg-small`,x:`20`,y:`152`},`average of the five word vectors:`,-1),o(`text`,{class:`dl-dg-small`,x:`20`,y:`172`},`([0, 0] + [0, 0] + [0, 0] + [0, 1] + [1, 0]) / 5 = [0.2, 0.2]`,-1)]])),[[k,2]])])),o(`div`,T,[n(O,null,{default:e(()=>[...D[14]||=[o(`ul`,null,[o(`li`,null,[p(`In a bag, only `),o(`strong`,null,`which words appear`),p(` survives, not their order.`)]),o(`li`,null,[p(`The bag becomes `),o(`strong`,null,`one vector`),p(`: the average of its word vectors, for any review length.`)])],-1)]]),_:1})]),l((h(),s(`div`,E,[...D[15]||=[o(`p`,null,[p(`A `),o(`strong`,null,`bag of words`),p(`: the simplest text model. Does it keep what `),o(`em`,null,`not`),p(` does?`)],-1)]])),[[k,3]])]),_:1},16)}}};export{D as default}; \ No newline at end of file diff --git a/lecture-05/assets/md-DgzuqNx02.js b/lecture-05/assets/md-DgzuqNx02.js new file mode 100644 index 0000000000000000000000000000000000000000..cce7b98187d9cc14623a78932c6fcb6967134d7c --- /dev/null +++ b/lecture-05/assets/md-DgzuqNx02.js @@ -0,0 +1 @@ +import{$ as e,E as t,S as n,St as r,V as i,W as a,_ as o,b as s,bt as c,c as l,et as u,g as d,m as f,ut as p,v as m,vt as h,w as g,x as _,y as v,yt as y,z as b}from"./modules/shiki-CkJq9tSf.js";import{t as x}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{n as S,t as C}from"./slidev/context-DnYiQGy6.js";import{t as w}from"./slidev/VClicks-DLDbGwsQ.js";import{n as T,t as E}from"./interactive-pqWNz3EB.js";import{t as D}from"./Katex-TqgxGJEq.js";import{t as O}from"./Slider-Bf0ITYx4.js";import{t as k}from"./Plot2D-C9URVmMB.js";import{n as A,t as j}from"./PlotLine-yjOYb3U7.js";import{t as M}from"./PlotPoints-CeOGnq0p.js";var N={class:`dl-act__tabs`,role:`tablist`},P=[`aria-selected`,`onClick`],F={class:`dl-act__toggle`},I={class:`dl-act__formula`},L={class:`dl-act__numbers`},R={key:0,class:`dl-act__warn`},z={class:`dl-act__note`},B=x(g({__name:`ActivationExplorer`,setup(t){let{$slidev:a,$nav:c,$clicksContext:h,$clicks:g,$page:x,$renderContext:C,$frontmatter:w}=S(),E=[{key:`sigmoid`,name:`Sigmoid`,latex:`\\sigma(z) = \\dfrac{1}{1 + e^{-z}}`,fn:e=>1/(1+Math.exp(-e)),d:e=>{let t=1/(1+Math.exp(-e));return t*(1-t)},yDomain:[-.3,1.3],note:`Squashes to (0, 1). The derivative peaks at just 0.25 and vanishes either side — the origin of the vanishing-gradient problem in deep stacks.`},{key:`tanh`,name:`Tanh`,latex:`\\tanh(z) = \\dfrac{e^{z} - e^{-z}}{e^{z} + e^{-z}}`,fn:e=>Math.tanh(e),d:e=>1-Math.tanh(e)**2,yDomain:[-1.4,1.4],note:`Zero-centred, so gradients do not all share a sign. Still saturates, but its derivative reaches 1 rather than 0.25.`},{key:`relu`,name:`ReLU`,latex:`f(z) = \\max(0,\\ z)`,fn:e=>Math.max(0,e),d:e=>+(e>0),yDomain:[-1,4],note:`No saturation for positive input, so the gradient survives depth. Units with permanently negative input never update — the "dying ReLU".`},{key:`leaky`,name:`Leaky ReLU`,latex:`f(z) = \\begin{cases} z & z > 0 \\\\ 0.01z & z \\le 0 \\end{cases}`,fn:e=>e>0?e:.01*e,d:e=>e>0?1:.01,yDomain:[-1,4],note:`Keeps a small slope below zero so a unit can recover.`},{key:`step`,name:`Unit step`,latex:`\\phi(z) = \\begin{cases} 1 & z \\ge 0 \\\\ 0 & z < 0 \\end{cases}`,fn:e=>+(e>=0),d:()=>0,yDomain:[-.3,1.3],note:`What the perceptron uses. Its derivative is zero everywhere it exists, which is exactly why gradient descent cannot train it — and why Adaline switches to a linear activation.`},{key:`linear`,name:`Linear`,latex:`f(z) = z`,fn:e=>e,d:()=>1,yDomain:[-4,4],note:`Adaline's activation. Differentiable and convex under MSE, so gradient descent applies — but stacking linear layers still only gives you a linear model.`}],B=p(E[0].key),V=p(!0),H=p(1.5),U=d(()=>E.find(e=>e.key===B.value)),W=d(()=>U.value.fn(H.value)),G=d(()=>U.value.d(H.value));return(t,a)=>{let c=A,d=j,p=M,h=k,g=O,x=D,S=T;return b(),m(S,{"max-width":`46rem`},{controls:e(()=>[o(`div`,N,[(b(),s(f,null,i(E,e=>o(`button`,{key:e.key,type:`button`,role:`tab`,"aria-selected":e.key===B.value,class:y({"is-active":e.key===B.value}),onClick:t=>B.value=e.key},r(e.name),11,P)),64))]),n(g,{modelValue:H.value,"onUpdate:modelValue":a[0]||=e=>H.value=e,label:`z`,min:-6,max:6,step:.1,precision:1,class:`dl-act__probe`},null,8,[`modelValue`]),o(`label`,F,[u(o(`input`,{"onUpdate:modelValue":a[1]||=e=>V.value=e,type:`checkbox`},null,512),[[l,V.value]]),a[2]||=_(` show derivative `,-1)])]),readout:e(()=>[o(`div`,I,[n(x,{expr:U.value.latex},null,8,[`expr`])]),o(`div`,L,[_(` f(`+r(H.value.toFixed(1))+`) = `,1),o(`strong`,null,r(W.value.toFixed(3)),1),_(` \xA0·\xA0 f′(`+r(H.value.toFixed(1))+`) = `,1),o(`strong`,{class:y({"is-dead":Math.abs(G.value)<.02})},r(G.value.toFixed(3)),3),Math.abs(G.value)<.02?(b(),s(`span`,R,`gradient is effectively dead here`)):v(`v-if`,!0)]),o(`p`,z,r(U.value.note),1)]),default:e(()=>[n(h,{"x-domain":[-6,6],"y-domain":U.value.yDomain,width:560,height:300,"x-label":`z (net input)`,"origin-axes":``},{default:e(()=>[V.value?(b(),m(c,{key:`d-${U.value.key}`,fn:U.value.d,color:`var(--dl-muted)`,width:2,dashed:``},null,8,[`fn`])):v(`v-if`,!0),(b(),m(c,{key:U.value.key,fn:U.value.fn,color:`var(--dl-accent)`,width:3},null,8,[`fn`])),n(d,{from:[H.value,U.value.yDomain[0]],to:[H.value,W.value],color:`var(--dl-border)`,width:1.5,dashed:``},null,8,[`from`,`to`]),n(p,{points:[{x:H.value,y:W.value}],radius:6,color:`var(--dl-accent)`},null,8,[`points`])]),_:1},8,[`y-domain`])]),_:1})}}}),[[`__scopeId`,`data-v-5bf26593`]]),V={class:`mt-2 dl-callout`},H={__name:`slides.md__slidev_33`,setup(r){let{$slidev:i,$nav:l,$clicksContext:d,$clicks:f,$page:p,$renderContext:g,$frontmatter:v}=S();return d.setup(),(r,i)=>{let l=B,d=w,f=a(`click`);return b(),m(E,c(t(h(C)(h(v),32))),{aside:e(t=>[i[2]||=o(`p`,null,[_(`Choose `),o(`strong`,null,`Tanh`),_(` and watch the dashed derivative.`)],-1),n(d,null,{default:e(()=>[...i[0]||=[o(`ul`,null,[o(`li`,null,[_(`It peaks at `),o(`strong`,null,`1`),_(` and falls away either side`)]),o(`li`,null,[_(`A saturated unit has a derivative near `),o(`strong`,null,`zero`)]),o(`li`,null,`Every backward step multiplies by one of these`)],-1)]]),_:1}),u((b(),s(`div`,V,[...i[1]||=[o(`p`,null,[_(`So the real factor is `),o(`span`,{class:`katex`},[o(`span`,{class:`katex-mathml`},[o(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[o(`semantics`,null,[o(`mrow`,null,[o(`mi`,null,`W`),o(`mo`,null,`⋅`),o(`msup`,null,[o(`mrow`,null,[o(`mi`,null,`tanh`),o(`mo`,null,`⁡`)]),o(`mo`,{mathvariant:`normal`,lspace:`0em`,rspace:`0em`},`′`)])]),o(`annotation`,{encoding:`application/x-tex`},`W \\cdot \\tanh'`)])])]),o(`span`,{class:`katex-html`,"aria-hidden":`true`},[o(`span`,{class:`katex-base`},[o(`span`,{class:`katex-strut`,style:{height:`0.6833em`}}),o(`span`,{class:`mord mathnormal`,style:{"margin-right":`0.1389em`}},`W`),o(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}}),o(`span`,{class:`mbin`},`⋅`),o(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}})]),o(`span`,{class:`katex-base`},[o(`span`,{class:`katex-strut`,style:{height:`0.8362em`}}),o(`span`,{class:`mop`},[o(`span`,{class:`mop`},`tanh`),o(`span`,{class:`msupsub`},[o(`span`,{class:`vlist-t`},[o(`span`,{class:`vlist-r`},[o(`span`,{class:`vlist`,style:{height:`0.8362em`}},[o(`span`,{style:{top:`-3.1473em`,"margin-right":`0.05em`}},[o(`span`,{class:`pstrut`,style:{height:`2.7em`}}),o(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[o(`span`,{class:`mord mtight`},[o(`span`,{class:`mord mtight`},`′`)])])])])])])])])])])]),_(`, with `),o(`span`,{class:`katex`},[o(`span`,{class:`katex-mathml`},[o(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[o(`semantics`,null,[o(`mrow`,null,[o(`msup`,null,[o(`mrow`,null,[o(`mi`,null,`tanh`),o(`mo`,null,`⁡`)]),o(`mo`,{mathvariant:`normal`,lspace:`0em`,rspace:`0em`},`′`)]),o(`mo`,null,`≤`),o(`mn`,null,`1`)]),o(`annotation`,{encoding:`application/x-tex`},`\\tanh' \\le 1`)])])]),o(`span`,{class:`katex-html`,"aria-hidden":`true`},[o(`span`,{class:`katex-base`},[o(`span`,{class:`katex-strut`,style:{height:`0.9722em`,"vertical-align":`-0.136em`}}),o(`span`,{class:`mop`},[o(`span`,{class:`mop`},`tanh`),o(`span`,{class:`msupsub`},[o(`span`,{class:`vlist-t`},[o(`span`,{class:`vlist-r`},[o(`span`,{class:`vlist`,style:{height:`0.8362em`}},[o(`span`,{style:{top:`-3.1473em`,"margin-right":`0.05em`}},[o(`span`,{class:`pstrut`,style:{height:`2.7em`}}),o(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[o(`span`,{class:`mord mtight`},[o(`span`,{class:`mord mtight`},`′`)])])])])])])])]),o(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}}),o(`span`,{class:`mrel`},`≤`),o(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}})]),o(`span`,{class:`katex-base`},[o(`span`,{class:`katex-strut`,style:{height:`0.6444em`}}),o(`span`,{class:`mord`},`1`)])])]),_(`. The 0.012 was the optimistic case.`)],-1)]])),[[f]])]),default:e(()=>[n(l)]),_:1},16)}}};export{H as default}; \ No newline at end of file diff --git a/lecture-05/assets/md-DhZ23yU-.css b/lecture-05/assets/md-DhZ23yU-.css new file mode 100644 index 0000000000000000000000000000000000000000..4fa42dfcec45a8be26c0e45f16c3ef5f119f4d31 --- /dev/null +++ b/lecture-05/assets/md-DhZ23yU-.css @@ -0,0 +1 @@ +.dl-linkcard[data-v-77ab5d10]{border:1px solid var(--dl-border);border-left:3px solid var(--dl-accent);background:var(--dl-surface);border-radius:8px;align-items:flex-start;gap:.85rem;padding:.9rem 1rem;text-decoration:none;transition:transform .15s,border-color .15s;display:flex}.dl-linkcard[data-v-77ab5d10]:hover{border-color:var(--dl-accent);transform:translateY(-2px)}.dl-linkcard__icon[data-v-77ab5d10]{font-family:Apple Color Emoji,Segoe UI Emoji,Noto Color Emoji,Twemoji Mozilla,sans-serif;font-size:1.6rem;line-height:1}.dl-linkcard__text[data-v-77ab5d10]{min-width:0}.dl-linkcard__title[data-v-77ab5d10]{color:var(--dl-heading);font-size:1.05rem;font-weight:600}.dl-linkcard__blurb[data-v-77ab5d10]{color:var(--dl-body);margin-top:.15rem;font-size:.9rem}.dl-linkcard__host[data-v-77ab5d10]{color:var(--dl-accent);margin-top:.3rem;font-size:.78rem} diff --git a/lecture-05/assets/md-Dk8UbYt1.js b/lecture-05/assets/md-Dk8UbYt1.js new file mode 100644 index 0000000000000000000000000000000000000000..938e57f6b47be61f40535a289495c858ff9661e8 --- /dev/null +++ b/lecture-05/assets/md-Dk8UbYt1.js @@ -0,0 +1 @@ +import{$ as e,E as t,H as n,S as r,St as i,_ as a,b as o,bt as s,v as c,vt as l,w as u,y as d,z as f}from"./modules/shiki-CkJq9tSf.js";import{t as p}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{n as m,t as h}from"./slidev/context-DnYiQGy6.js";import{t as g}from"./WordStrip-wEzaLRUv.js";var _={class:`slidev-layout dl-title`},v={class:`dl-title__eyebrow`},y={key:0,class:`dl-title__code`},b={key:1,class:`dl-title__lecture`},x={class:`dl-title__body`},S={class:`dl-title__meta`},C={key:0,class:`dl-title__author`},w=[`href`],T={key:2,class:`dl-title__date`},E=p(u({__name:`title`,props:{courseCode:{},lecture:{},author:{},email:{},date:{}},setup(e){let{$slidev:t,$nav:r,$clicksContext:s,$clicks:c,$page:l,$renderContext:u,$frontmatter:p}=m(),h=e;return(e,t)=>(f(),o(`div`,_,[a(`div`,v,[h.courseCode?(f(),o(`span`,y,i(h.courseCode),1)):d(`v-if`,!0),h.lecture?(f(),o(`span`,b,`Lecture `+i(h.lecture),1)):d(`v-if`,!0)]),a(`div`,x,[n(e.$slots,`default`,{},void 0,!0)]),t[0]||=a(`div`,{class:`dl-rule dl-title__rule`},null,-1),a(`div`,S,[h.author?(f(),o(`div`,C,i(h.author),1)):d(`v-if`,!0),h.email?(f(),o(`a`,{key:1,href:`mailto:${h.email}`,class:`dl-title__email`},i(h.email),9,w)):d(`v-if`,!0),h.date?(f(),o(`div`,T,i(h.date),1)):d(`v-if`,!0)])]))}}),[[`__scopeId`,`data-v-dc59a472`]]),D={class:`mt-5`,style:{"max-width":`460px`}},O={__name:`slides.md__slidev_1`,setup(n){let{$slidev:i,$nav:o,$clicksContext:u,$clicks:d,$page:p,$renderContext:_,$frontmatter:v}=m();return u.setup(),(n,i)=>{let o=g;return f(),c(E,s(t(l(h)(l(v),0))),{default:e(()=>[i[0]||=a(`h1`,null,`Recurrent Neural Networks`,-1),i[1]||=a(`p`,null,`Change one word of a review and its meaning flips. Today’s network reads the words in order and keeps a note as it goes.`,-1),a(`div`,D,[r(o,{review:`B`,verdict:``,highlight:`not`,width:460})])]),_:1},16)}}};export{O as default}; \ No newline at end of file diff --git a/lecture-05/assets/md-DmK2acul.css b/lecture-05/assets/md-DmK2acul.css new file mode 100644 index 0000000000000000000000000000000000000000..f417a4f954268cf5eb068c686d5c3f1e41b9e1df --- /dev/null +++ b/lecture-05/assets/md-DmK2acul.css @@ -0,0 +1 @@ +.dl-rtrace[data-v-d72b4fc7]{flex-direction:column;align-items:center;gap:.3rem;width:100%;display:flex}.dl-rtrace__strip[data-v-d72b4fc7]{align-items:center;gap:.3rem;display:flex}.dl-rtrace__key[data-v-d72b4fc7]{text-align:right;width:1.2rem;color:var(--dl-heading);font-size:.95rem;font-style:italic;font-weight:600}.dl-rtrace__cell[data-v-d72b4fc7]{border:1px solid var(--dl-border);font-variant-numeric:tabular-nums;width:4.9rem;height:1.8rem;color:var(--dl-heading);background:var(--dl-bg);border-radius:3px;place-items:center;font-size:.85rem;transition:background .2s,border-color .2s;display:grid}.dl-rtrace__cell.is-state[data-v-d72b4fc7]{font-size:.7rem}.dl-rtrace__cell.is-empty[data-v-d72b4fc7]{background:0 0;border-style:dashed}.dl-rtrace__cell.is-current[data-v-d72b4fc7]{border-color:var(--dl-accent);background:var(--dl-accent-soft);font-weight:600}.dl-rtrace__math[data-v-d72b4fc7] .katex{font-size:.66em}.dl-rtrace__math[data-v-d72b4fc7]{min-height:9.7rem;color:var(--dl-heading);margin-top:.7rem}.dl-rtrace__math[data-v-d72b4fc7] .katex-display{margin:0}.dl-rtrace__note[data-v-d72b4fc7]{color:var(--dl-accent);margin-top:.15rem;display:block} diff --git a/lecture-05/assets/md-DqmbebGS.js b/lecture-05/assets/md-DqmbebGS.js new file mode 100644 index 0000000000000000000000000000000000000000..b32c87ab6bacd9115ff0d46536f8de2aa2e3163a --- /dev/null +++ b/lecture-05/assets/md-DqmbebGS.js @@ -0,0 +1,28 @@ +import{$ as e,E as t,S as n,W as r,_ as i,b as a,bt as o,et as s,v as c,vt as l,x as u,z as d}from"./modules/shiki-CkJq9tSf.js";import{n as f,t as p}from"./slidev/context-DnYiQGy6.js";import{t as m}from"./default-BTjgsdmC.js";import{t as h}from"./slidev/VClicks-DLDbGwsQ.js";import{t as g}from"./slidev/KaTexBlockWrapper-DAxOb9nH.js";var _={class:`dl-math-sm`},v={class:`grid grid-cols-[1fr_1.25fr] gap-8 mt-1 items-start dl-tight`},y={class:`mt-1 dl-math-sm`},b={class:`mt-2 dl-secondary`},x={__name:`slides.md__slidev_23`,setup(x){let{$slidev:S,$nav:C,$clicksContext:w,$clicks:T,$page:E,$renderContext:D,$frontmatter:O}=f();return w.setup(),(f,x)=>{let S=g,C=h,w=r(`click`);return d(),c(m,o(t(l(p)(l(O),22))),{default:e(()=>[x[6]||=i(`h1`,null,`Counting the parameters`,-1),i(`div`,_,[n(S,{ranges:[]},{default:e(()=>[...x[0]||=[i(`p`,null,[i(`span`,{class:`katex-display`},[i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`,display:`block`},[i(`semantics`,null,[i(`mrow`,null,[i(`munder`,null,[i(`munder`,null,[i(`mrow`,null,[i(`msub`,null,[i(`mi`,null,`n`),i(`mi`,null,`h`)]),i(`mo`,null,`×`),i(`msub`,null,[i(`mi`,null,`n`),i(`mi`,null,`x`)])]),i(`mo`,{stretchy:`true`},`⏟`)]),i(`msub`,null,[i(`mi`,null,`W`),i(`mrow`,null,[i(`mi`,null,`x`),i(`mi`,null,`h`)])])]),i(`mo`,null,`+`),i(`munder`,null,[i(`munder`,null,[i(`mrow`,null,[i(`msub`,null,[i(`mi`,null,`n`),i(`mi`,null,`h`)]),i(`mo`,null,`×`),i(`msub`,null,[i(`mi`,null,`n`),i(`mi`,null,`h`)])]),i(`mo`,{stretchy:`true`},`⏟`)]),i(`msub`,null,[i(`mi`,null,`W`),i(`mrow`,null,[i(`mi`,null,`h`),i(`mi`,null,`h`)])])]),i(`mo`,null,`+`),i(`munder`,null,[i(`munder`,null,[i(`msub`,null,[i(`mi`,null,`n`),i(`mi`,null,`h`)]),i(`mo`,{stretchy:`true`},`⏟`)]),i(`msub`,null,[i(`mi`,{mathvariant:`bold`},`b`),i(`mi`,null,`h`)])])]),i(`annotation`,{encoding:`application/x-tex`},`\\underbrace{n_h \\times n_x}_{W_{xh}} + \\underbrace{n_h \\times n_h}_{W_{hh}} + \\underbrace{n_h}_{\\mathbf{b}_h}`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`2.1655em`,"vertical-align":`-1.5822em`}}),i(`span`,{class:`minner munder`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.5833em`}},[i(`span`,{style:{top:`-1.5237em`}},[i(`span`,{class:`pstrut`,style:{height:`3em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mtight`},[i(`span`,{class:`mord mtight`},[i(`span`,{class:`mord mathnormal mtight`,style:{"margin-right":`0.1389em`}},`W`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.3448em`}},[i(`span`,{style:{top:`-2.3488em`,"margin-left":`-0.1389em`,"margin-right":`0.0714em`}},[i(`span`,{class:`pstrut`,style:{height:`2.5em`}}),i(`span`,{class:`katex-sizing reset-size3 size1 mtight`},[i(`span`,{class:`mord mtight`},[i(`span`,{class:`mord mathnormal mtight`},`x`),i(`span`,{class:`mord mathnormal mtight`},`h`)])])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.1512em`}},[i(`span`)])])])])])])])]),i(`span`,{style:{top:`-3em`}},[i(`span`,{class:`pstrut`,style:{height:`3em`}}),i(`span`,{class:`minner munder`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.5833em`}},[i(`span`,{class:`svg-align`,style:{top:`-2.202em`}},[i(`span`,{class:`pstrut`,style:{height:`3em`}}),i(`span`,{class:`katex-stretchy`,style:{height:`0.548em`,"min-width":`1.6em`}},[i(`span`,{class:`brace-left`,style:{height:`0.548em`}},[i(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`400em`,height:`0.548em`,viewBox:`0 0 400000 548`,preserveAspectRatio:`xMinYMin slice`},[i(`path`,{d:`M0 6l6-6h17c12.688 0 19.313.3 20 1 4 4 7.313 8.3 10 13 + 35.313 51.3 80.813 93.8 136.5 127.5 55.688 33.7 117.188 55.8 184.5 66.5.688 + 0 2 .3 4 1 18.688 2.7 76 4.3 172 5h399450v120H429l-6-1c-124.688-8-235-61.7 +-331-161C60.687 138.7 32.312 99.3 7 54L0 41V6z`})])]),i(`span`,{class:`brace-center`,style:{height:`0.548em`}},[i(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`400em`,height:`0.548em`,viewBox:`0 0 400000 548`,preserveAspectRatio:`xMidYMin slice`},[i(`path`,{d:`M199572 214 +c100.7 8.3 195.3 44 280 108 55.3 42 101.7 93 139 153l9 14c2.7-4 5.7-8.7 9-14 + 53.3-86.7 123.7-153 211-199 66.7-36 137.3-56.3 212-62h199568v120H200432c-178.3 + 11.7-311.7 78.3-403 201-6 8-9.7 12-11 12-.7.7-6.7 1-18 1s-17.3-.3-18-1c-1.3 0 +-5-4-11-12-44.7-59.3-101.3-106.3-170-141s-145.3-54.3-229-60H0V214z`})])]),i(`span`,{class:`brace-right`,style:{height:`0.548em`}},[i(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`400em`,height:`0.548em`,viewBox:`0 0 400000 548`,preserveAspectRatio:`xMaxYMin slice`},[i(`path`,{d:`M399994 0l6 6v35l-6 11c-56 104-135.3 181.3-238 232-57.3 + 28.7-117 45-179 50H-300V214h399897c43.3-7 81-15 113-26 100.7-33 179.7-91 237 +-174 2.7-5 6-9 10-13 .7-1 7.3-1 20-1h17z`})])])])]),i(`span`,{style:{top:`-3em`}},[i(`span`,{class:`pstrut`,style:{height:`3em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord`},[i(`span`,{class:`mord mathnormal`},`n`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.3361em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mathnormal mtight`},`h`)])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.15em`}},[i(`span`)])])])])]),i(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}}),i(`span`,{class:`mbin`},`×`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathnormal`},`n`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.1514em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mathnormal mtight`},`x`)])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.15em`}},[i(`span`)])])])])])])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.798em`}},[i(`span`)])])])])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`1.5822em`}},[i(`span`)])])])]),i(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}}),i(`span`,{class:`mbin`},`+`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}})]),i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`2.1655em`,"vertical-align":`-1.5822em`}}),i(`span`,{class:`minner munder`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.5833em`}},[i(`span`,{style:{top:`-1.5237em`}},[i(`span`,{class:`pstrut`,style:{height:`3em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mtight`},[i(`span`,{class:`mord mtight`},[i(`span`,{class:`mord mathnormal mtight`,style:{"margin-right":`0.1389em`}},`W`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.3448em`}},[i(`span`,{style:{top:`-2.3488em`,"margin-left":`-0.1389em`,"margin-right":`0.0714em`}},[i(`span`,{class:`pstrut`,style:{height:`2.5em`}}),i(`span`,{class:`katex-sizing reset-size3 size1 mtight`},[i(`span`,{class:`mord mtight`},[i(`span`,{class:`mord mathnormal mtight`},`hh`)])])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.1512em`}},[i(`span`)])])])])])])])]),i(`span`,{style:{top:`-3em`}},[i(`span`,{class:`pstrut`,style:{height:`3em`}}),i(`span`,{class:`minner munder`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.5833em`}},[i(`span`,{class:`svg-align`,style:{top:`-2.202em`}},[i(`span`,{class:`pstrut`,style:{height:`3em`}}),i(`span`,{class:`katex-stretchy`,style:{height:`0.548em`,"min-width":`1.6em`}},[i(`span`,{class:`brace-left`,style:{height:`0.548em`}},[i(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`400em`,height:`0.548em`,viewBox:`0 0 400000 548`,preserveAspectRatio:`xMinYMin slice`},[i(`path`,{d:`M0 6l6-6h17c12.688 0 19.313.3 20 1 4 4 7.313 8.3 10 13 + 35.313 51.3 80.813 93.8 136.5 127.5 55.688 33.7 117.188 55.8 184.5 66.5.688 + 0 2 .3 4 1 18.688 2.7 76 4.3 172 5h399450v120H429l-6-1c-124.688-8-235-61.7 +-331-161C60.687 138.7 32.312 99.3 7 54L0 41V6z`})])]),i(`span`,{class:`brace-center`,style:{height:`0.548em`}},[i(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`400em`,height:`0.548em`,viewBox:`0 0 400000 548`,preserveAspectRatio:`xMidYMin slice`},[i(`path`,{d:`M199572 214 +c100.7 8.3 195.3 44 280 108 55.3 42 101.7 93 139 153l9 14c2.7-4 5.7-8.7 9-14 + 53.3-86.7 123.7-153 211-199 66.7-36 137.3-56.3 212-62h199568v120H200432c-178.3 + 11.7-311.7 78.3-403 201-6 8-9.7 12-11 12-.7.7-6.7 1-18 1s-17.3-.3-18-1c-1.3 0 +-5-4-11-12-44.7-59.3-101.3-106.3-170-141s-145.3-54.3-229-60H0V214z`})])]),i(`span`,{class:`brace-right`,style:{height:`0.548em`}},[i(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`400em`,height:`0.548em`,viewBox:`0 0 400000 548`,preserveAspectRatio:`xMaxYMin slice`},[i(`path`,{d:`M399994 0l6 6v35l-6 11c-56 104-135.3 181.3-238 232-57.3 + 28.7-117 45-179 50H-300V214h399897c43.3-7 81-15 113-26 100.7-33 179.7-91 237 +-174 2.7-5 6-9 10-13 .7-1 7.3-1 20-1h17z`})])])])]),i(`span`,{style:{top:`-3em`}},[i(`span`,{class:`pstrut`,style:{height:`3em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord`},[i(`span`,{class:`mord mathnormal`},`n`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.3361em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mathnormal mtight`},`h`)])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.15em`}},[i(`span`)])])])])]),i(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}}),i(`span`,{class:`mbin`},`×`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathnormal`},`n`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.3361em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mathnormal mtight`},`h`)])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.15em`}},[i(`span`)])])])])])])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.798em`}},[i(`span`)])])])])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`1.5822em`}},[i(`span`)])])])]),i(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}}),i(`span`,{class:`mbin`},`+`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}})]),i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`2.0205em`,"vertical-align":`-1.59em`}}),i(`span`,{class:`minner munder`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.4306em`}},[i(`span`,{style:{top:`-1.5159em`}},[i(`span`,{class:`pstrut`,style:{height:`3em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mtight`},[i(`span`,{class:`mord mtight`},[i(`span`,{class:`mord mathbf mtight`},`b`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.3448em`}},[i(`span`,{style:{top:`-2.3488em`,"margin-left":`0em`,"margin-right":`0.0714em`}},[i(`span`,{class:`pstrut`,style:{height:`2.5em`}}),i(`span`,{class:`katex-sizing reset-size3 size1 mtight`},[i(`span`,{class:`mord mathnormal mtight`},`h`)])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.1512em`}},[i(`span`)])])])])])])])]),i(`span`,{style:{top:`-3em`}},[i(`span`,{class:`pstrut`,style:{height:`3em`}}),i(`span`,{class:`minner munder`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.4306em`}},[i(`span`,{class:`svg-align`,style:{top:`-2.202em`}},[i(`span`,{class:`pstrut`,style:{height:`3em`}}),i(`span`,{class:`katex-stretchy`,style:{height:`0.548em`,"min-width":`1.6em`}},[i(`span`,{class:`brace-left`,style:{height:`0.548em`}},[i(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`400em`,height:`0.548em`,viewBox:`0 0 400000 548`,preserveAspectRatio:`xMinYMin slice`},[i(`path`,{d:`M0 6l6-6h17c12.688 0 19.313.3 20 1 4 4 7.313 8.3 10 13 + 35.313 51.3 80.813 93.8 136.5 127.5 55.688 33.7 117.188 55.8 184.5 66.5.688 + 0 2 .3 4 1 18.688 2.7 76 4.3 172 5h399450v120H429l-6-1c-124.688-8-235-61.7 +-331-161C60.687 138.7 32.312 99.3 7 54L0 41V6z`})])]),i(`span`,{class:`brace-center`,style:{height:`0.548em`}},[i(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`400em`,height:`0.548em`,viewBox:`0 0 400000 548`,preserveAspectRatio:`xMidYMin slice`},[i(`path`,{d:`M199572 214 +c100.7 8.3 195.3 44 280 108 55.3 42 101.7 93 139 153l9 14c2.7-4 5.7-8.7 9-14 + 53.3-86.7 123.7-153 211-199 66.7-36 137.3-56.3 212-62h199568v120H200432c-178.3 + 11.7-311.7 78.3-403 201-6 8-9.7 12-11 12-.7.7-6.7 1-18 1s-17.3-.3-18-1c-1.3 0 +-5-4-11-12-44.7-59.3-101.3-106.3-170-141s-145.3-54.3-229-60H0V214z`})])]),i(`span`,{class:`brace-right`,style:{height:`0.548em`}},[i(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`400em`,height:`0.548em`,viewBox:`0 0 400000 548`,preserveAspectRatio:`xMaxYMin slice`},[i(`path`,{d:`M399994 0l6 6v35l-6 11c-56 104-135.3 181.3-238 232-57.3 + 28.7-117 45-179 50H-300V214h399897c43.3-7 81-15 113-26 100.7-33 179.7-91 237 +-174 2.7-5 6-9 10-13 .7-1 7.3-1 20-1h17z`})])])])]),i(`span`,{style:{top:`-3em`}},[i(`span`,{class:`pstrut`,style:{height:`3em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord`},[i(`span`,{class:`mord mathnormal`},`n`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.3361em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mathnormal mtight`},`h`)])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.15em`}},[i(`span`)])])])])])])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.798em`}},[i(`span`)])])])])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`1.59em`}},[i(`span`)])])])])])])])])],-1)]]),_:1})]),i(`div`,v,[x[5]||=i(`div`,null,[i(`svg`,{viewBox:`0 0 300 160`,class:`dl-diagram is-sm`,role:`img`,"aria-label":`Drawn to scale: W_xh is 128 by 64, W_hh is 128 by 128, the bias is 128 by 1`},[i(`rect`,{x:`10`,y:`20`,width:`64`,height:`128`,class:`dl-dg-box`}),i(`rect`,{x:`94`,y:`20`,width:`128`,height:`128`,class:`dl-dg-box is-accent`}),i(`rect`,{x:`242`,y:`20`,width:`6`,height:`128`,class:`dl-dg-box`}),i(`text`,{x:`42`,y:`88`,"text-anchor":`middle`,class:`dl-dg-lab is-sm`},`W_xh`),i(`text`,{x:`158`,y:`88`,"text-anchor":`middle`,class:`dl-dg-lab is-sm`},`W_hh`),i(`text`,{x:`256`,y:`88`,class:`dl-dg-lab is-sm`},`b_h`),i(`text`,{x:`42`,y:`12`,"text-anchor":`middle`,class:`dl-dg-small`},`8 192`),i(`text`,{x:`158`,y:`12`,"text-anchor":`middle`,class:`dl-dg-small`},`16 384`),i(`text`,{x:`245`,y:`12`,"text-anchor":`middle`,class:`dl-dg-small`},`128`)])],-1),i(`div`,null,[x[4]||=i(`p`,null,[u(`Input width `),i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`msub`,null,[i(`mi`,null,`n`),i(`mi`,null,`x`)]),i(`mo`,null,`=`),i(`mn`,null,`64`)]),i(`annotation`,{encoding:`application/x-tex`},`n_x = 64`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.5806em`,"vertical-align":`-0.15em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathnormal`},`n`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.1514em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mathnormal mtight`},`x`)])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.15em`}},[i(`span`)])])])])]),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}}),i(`span`,{class:`mrel`},`=`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}})]),i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.6444em`}}),i(`span`,{class:`mord`},`64`)])])]),u(`, `),i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`msub`,null,[i(`mi`,null,`n`),i(`mi`,null,`h`)]),i(`mo`,null,`=`),i(`mn`,null,`128`)]),i(`annotation`,{encoding:`application/x-tex`},`n_h = 128`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.5806em`,"vertical-align":`-0.15em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathnormal`},`n`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.3361em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mathnormal mtight`},`h`)])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.15em`}},[i(`span`)])])])])]),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}}),i(`span`,{class:`mrel`},`=`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}})]),i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.6444em`}}),i(`span`,{class:`mord`},`128`)])])]),u(` hidden units, bias `),i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`msub`,null,[i(`mi`,{mathvariant:`bold`},`b`),i(`mi`,null,`h`)])]),i(`annotation`,{encoding:`application/x-tex`},`\\mathbf{b}_h`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.8444em`,"vertical-align":`-0.15em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathbf`},`b`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.3361em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mathnormal mtight`},`h`)])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.15em`}},[i(`span`)])])])])])])])]),u(`:`)],-1),s((d(),a(`div`,y,[n(S,{ranges:[]},{default:e(()=>[...x[1]||=[i(`p`,null,[i(`span`,{class:`katex-display`},[i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`,display:`block`},[i(`semantics`,null,[i(`mrow`,null,[i(`mn`,null,`128`),i(`mo`,null,`⋅`),i(`mn`,null,`64`),i(`mo`,null,`+`),i(`mn`,null,`128`),i(`mo`,null,`⋅`),i(`mn`,null,`128`),i(`mo`,null,`+`),i(`mn`,null,`128`),i(`mo`,null,`=`),i(`mn`,null,`24`),i(`mtext`,null,` `),i(`mn`,null,`704`)]),i(`annotation`,{encoding:`application/x-tex`},`128 \\cdot 64 + 128 \\cdot 128 + 128 = 24\\,704`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.6444em`}}),i(`span`,{class:`mord`},`128`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}}),i(`span`,{class:`mbin`},`⋅`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}})]),i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.7278em`,"vertical-align":`-0.0833em`}}),i(`span`,{class:`mord`},`64`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}}),i(`span`,{class:`mbin`},`+`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}})]),i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.6444em`}}),i(`span`,{class:`mord`},`128`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}}),i(`span`,{class:`mbin`},`⋅`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}})]),i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.7278em`,"vertical-align":`-0.0833em`}}),i(`span`,{class:`mord`},`128`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}}),i(`span`,{class:`mbin`},`+`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}})]),i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.6444em`}}),i(`span`,{class:`mord`},`128`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}}),i(`span`,{class:`mrel`},`=`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}})]),i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.6444em`}}),i(`span`,{class:`mord`},`24`),i(`span`,{class:`mspace`,style:{"margin-right":`0.1667em`}}),i(`span`,{class:`mord`},`704`)])])])])],-1)]]),_:1})])),[[w]]),n(C,null,{default:e(()=>[...x[2]||=[i(`ul`,null,[i(`li`,null,[i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`mi`,null,`T`)]),i(`annotation`,{encoding:`application/x-tex`},`T`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.6833em`}}),i(`span`,{class:`mord mathnormal`,style:{"margin-right":`0.1389em`}},`T`)])])]),u(),i(`strong`,null,`does not appear`),u(`: a 10-word and a 1000-word review share the weights`)]),i(`li`,null,[i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`msub`,null,[i(`mi`,null,`W`),i(`mrow`,null,[i(`mi`,null,`h`),i(`mi`,null,`h`)])])]),i(`annotation`,{encoding:`application/x-tex`},`W_{hh}`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.8333em`,"vertical-align":`-0.15em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathnormal`,style:{"margin-right":`0.1389em`}},`W`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.3361em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`-0.1389em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mtight`},[i(`span`,{class:`mord mathnormal mtight`},`hh`)])])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.15em`}},[i(`span`)])])])])])])])]),u(` grows with `),i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`msubsup`,null,[i(`mi`,null,`n`),i(`mi`,null,`h`),i(`mn`,null,`2`)])]),i(`annotation`,{encoding:`application/x-tex`},`n_h^2`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`1.0972em`,"vertical-align":`-0.2831em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathnormal`},`n`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.8141em`}},[i(`span`,{style:{top:`-2.4169em`,"margin-left":`0em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mathnormal mtight`},`h`)])]),i(`span`,{style:{top:`-3.063em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mtight`},`2`)])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.2831em`}},[i(`span`)])])])])])])])]),u(`: double the units, four times the weights`)])],-1)]]),_:1}),s((d(),a(`div`,b,[...x[3]||=[i(`p`,null,[i(`code`,null,`nn.RNN`),u(` prints `),i(`strong`,null,`24 832`),u(`: PyTorch keeps two bias vectors.`)],-1)]])),[[w]])])])]),_:1},16)}}};export{x as default}; \ No newline at end of file diff --git a/lecture-05/assets/md-Dxv-GtNy2.js b/lecture-05/assets/md-Dxv-GtNy2.js new file mode 100644 index 0000000000000000000000000000000000000000..adac8ccbfd3d35f19e2f95e32d3ce19a2587c6c6 --- /dev/null +++ b/lecture-05/assets/md-Dxv-GtNy2.js @@ -0,0 +1,28 @@ +import{$ as e,E as t,S as n,W as r,_ as i,b as a,bt as o,et as s,v as c,vt as l,x as u,z as d}from"./modules/shiki-CkJq9tSf.js";import{n as f,t as p}from"./slidev/context-DnYiQGy6.js";import{t as m}from"./default-BTjgsdmC.js";import{t as h}from"./slidev/VClicks-DLDbGwsQ.js";var g={class:`grid grid-cols-[1.45fr_1fr] gap-5 mt-1 items-start`},_={class:`dl-ledger dl-tight dl-eq-legend`},v={class:`dl-callout`},y={__name:`slides.md__slidev_30`,setup(y){let{$slidev:b,$nav:x,$clicksContext:S,$clicks:C,$page:w,$renderContext:T,$frontmatter:E}=f();return S.setup(),(f,y)=>{let b=h,x=r(`click`);return d(),c(m,o(t(l(p)(l(E),29))),{default:e(()=>[y[3]||=i(`h1`,null,`Reading the equation: backpropagation through time`,-1),i(`div`,g,[i(`div`,_,[n(b,null,{default:e(()=>[...y[0]||=[i(`table`,null,[i(`thead`,null,[i(`tr`,null,[i(`th`,null,`symbol`),i(`th`,null,`name`),i(`th`,null,`what it is here`),i(`th`,null,`example`)])]),i(`tbody`,null,[i(`tr`,null,[i(`td`,null,[i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`mi`,null,`L`),i(`mo`,{separator:`true`},`,`),i(`mtext`,null,`\xA0`),i(`msub`,null,[i(`mi`,null,`L`),i(`mi`,null,`t`)])]),i(`annotation`,{encoding:`application/x-tex`},`L,\\ L_t`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.8778em`,"vertical-align":`-0.1944em`}}),i(`span`,{class:`mord mathnormal`},`L`),i(`span`,{class:`mpunct`},`,`),i(`span`,{class:`mspace`},`\xA0`),i(`span`,{class:`mspace`,style:{"margin-right":`0.1667em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathnormal`},`L`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.2806em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mathnormal mtight`},`t`)])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.15em`}},[i(`span`)])])])])])])])])]),i(`td`,null,[u(`loss, step-`),i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`mi`,null,`t`)]),i(`annotation`,{encoding:`application/x-tex`},`t`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.6151em`}}),i(`span`,{class:`mord mathnormal`},`t`)])])]),u(` loss`)]),i(`td`,null,[i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`mi`,null,`L`),i(`mo`,null,`=`),i(`msub`,null,[i(`mo`,null,`∑`),i(`mi`,null,`t`)]),i(`msub`,null,[i(`mi`,null,`L`),i(`mi`,null,`t`)])]),i(`annotation`,{encoding:`application/x-tex`},`L = \\sum_t L_t`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.6833em`}}),i(`span`,{class:`mord mathnormal`},`L`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}}),i(`span`,{class:`mrel`},`=`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}})]),i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`1.0497em`,"vertical-align":`-0.2997em`}}),i(`span`,{class:`mop`},[i(`span`,{class:`mop op-symbol small-op`,style:{position:`relative`,top:`0em`}},`∑`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.1308em`}},[i(`span`,{style:{top:`-2.4003em`,"margin-left":`0em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mathnormal mtight`},`t`)])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.2997em`}},[i(`span`)])])])])]),i(`span`,{class:`mspace`,style:{"margin-right":`0.1667em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathnormal`},`L`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.2806em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mathnormal mtight`},`t`)])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.15em`}},[i(`span`)])])])])])])])])]),i(`td`,null,[i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`mi`,null,`L`),i(`mo`,null,`=`),i(`msub`,null,[i(`mi`,null,`L`),i(`mn`,null,`3`)]),i(`mo`,null,`=`),i(`msub`,null,[i(`mi`,null,`h`),i(`mn`,null,`3`)])]),i(`annotation`,{encoding:`application/x-tex`},`L = L_3 = h_3`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.6833em`}}),i(`span`,{class:`mord mathnormal`},`L`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}}),i(`span`,{class:`mrel`},`=`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}})]),i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.8333em`,"vertical-align":`-0.15em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathnormal`},`L`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.3011em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mtight`},`3`)])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.15em`}},[i(`span`)])])])])]),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}}),i(`span`,{class:`mrel`},`=`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}})]),i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.8444em`,"vertical-align":`-0.15em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathnormal`},`h`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.3011em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mtight`},`3`)])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.15em`}},[i(`span`)])])])])])])])])])]),i(`tr`,null,[i(`td`,null,[i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`mi`,{mathvariant:`normal`},`∂`),i(`mi`,null,`L`),i(`mi`,{mathvariant:`normal`},`/`),i(`mi`,{mathvariant:`normal`},`∂`),i(`msub`,null,[i(`mi`,null,`W`),i(`mrow`,null,[i(`mi`,null,`h`),i(`mi`,null,`h`)])])]),i(`annotation`,{encoding:`application/x-tex`},`\\partial L / \\partial W_{hh}`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`1em`,"vertical-align":`-0.25em`}}),i(`span`,{class:`mord`,style:{"margin-right":`0.0556em`}},`∂`),i(`span`,{class:`mord mathnormal`},`L`),i(`span`,{class:`mord`},`/`),i(`span`,{class:`mord`,style:{"margin-right":`0.0556em`}},`∂`),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathnormal`,style:{"margin-right":`0.1389em`}},`W`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.3361em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`-0.1389em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mtight`},[i(`span`,{class:`mord mathnormal mtight`},`hh`)])])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.15em`}},[i(`span`)])])])])])])])])]),i(`td`,null,`gradient`),i(`td`,null,[u(`slope of `),i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`mi`,null,`L`)]),i(`annotation`,{encoding:`application/x-tex`},`L`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.6833em`}}),i(`span`,{class:`mord mathnormal`},`L`)])])]),u(` in `),i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`msub`,null,[i(`mi`,null,`W`),i(`mrow`,null,[i(`mi`,null,`h`),i(`mi`,null,`h`)])])]),i(`annotation`,{encoding:`application/x-tex`},`W_{hh}`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.8333em`,"vertical-align":`-0.15em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathnormal`,style:{"margin-right":`0.1389em`}},`W`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.3361em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`-0.1389em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mtight`},[i(`span`,{class:`mord mathnormal mtight`},`hh`)])])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.15em`}},[i(`span`)])])])])])])])])]),i(`td`,null,`1.0`)]),i(`tr`,null,[i(`td`,null,[i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`msub`,null,[i(`mi`,null,`W`),i(`mrow`,null,[i(`mi`,null,`h`),i(`mi`,null,`h`)])])]),i(`annotation`,{encoding:`application/x-tex`},`W_{hh}`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.8333em`,"vertical-align":`-0.15em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathnormal`,style:{"margin-right":`0.1389em`}},`W`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.3361em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`-0.1389em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mtight`},[i(`span`,{class:`mord mathnormal mtight`},`hh`)])])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.15em`}},[i(`span`)])])])])])])])])]),i(`td`,null,`recurrent weight`),i(`td`,null,`learned; used every step`),i(`td`,null,`0.5`)]),i(`tr`,null,[i(`td`,null,[i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`msub`,null,[i(`mi`,{mathvariant:`bold`},`h`),i(`mi`,null,`t`)]),i(`mo`,{separator:`true`},`,`),i(`mtext`,null,`\xA0`),i(`msub`,null,[i(`mi`,{mathvariant:`bold`},`h`),i(`mi`,null,`k`)])]),i(`annotation`,{encoding:`application/x-tex`},`\\mathbf{h}_t,\\ \\mathbf{h}_k`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.8889em`,"vertical-align":`-0.1944em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathbf`},`h`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.2806em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mathnormal mtight`},`t`)])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.15em`}},[i(`span`)])])])])]),i(`span`,{class:`mpunct`},`,`),i(`span`,{class:`mspace`},`\xA0`),i(`span`,{class:`mspace`,style:{"margin-right":`0.1667em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathbf`},`h`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.3361em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mathnormal mtight`,style:{"margin-right":`0.0315em`}},`k`)])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.15em`}},[i(`span`)])])])])])])])])]),i(`td`,null,`hidden states`),i(`td`,null,[u(`at step `),i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`mi`,null,`t`)]),i(`annotation`,{encoding:`application/x-tex`},`t`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.6151em`}}),i(`span`,{class:`mord mathnormal`},`t`)])])]),u(`, earlier step `),i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`mi`,null,`k`)]),i(`annotation`,{encoding:`application/x-tex`},`k`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.6944em`}}),i(`span`,{class:`mord mathnormal`,style:{"margin-right":`0.0315em`}},`k`)])])])]),i(`td`,null,[i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`msub`,null,[i(`mi`,null,`h`),i(`mn`,null,`1`)]),i(`mo`,null,`=`),i(`mn`,null,`1`)]),i(`annotation`,{encoding:`application/x-tex`},`h_1 = 1`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.8444em`,"vertical-align":`-0.15em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathnormal`},`h`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.3011em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mtight`},`1`)])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.15em`}},[i(`span`)])])])])]),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}}),i(`span`,{class:`mrel`},`=`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}})]),i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.6444em`}}),i(`span`,{class:`mord`},`1`)])])])])]),i(`tr`,null,[i(`td`,null,[i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`msubsup`,null,[i(`mo`,null,`∑`),i(`mrow`,null,[i(`mi`,null,`t`),i(`mo`,null,`=`),i(`mn`,null,`1`)]),i(`mi`,null,`T`)]),i(`mo`,{separator:`true`},`,`),i(`mtext`,null,`\xA0`),i(`msubsup`,null,[i(`mo`,null,`∑`),i(`mrow`,null,[i(`mi`,null,`k`),i(`mo`,null,`=`),i(`mn`,null,`1`)]),i(`mi`,null,`t`)])]),i(`annotation`,{encoding:`application/x-tex`},`\\sum_{t=1}^{T},\\ \\sum_{k=1}^{t}`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`1.2809em`,"vertical-align":`-0.2997em`}}),i(`span`,{class:`mop`},[i(`span`,{class:`mop op-symbol small-op`,style:{position:`relative`,top:`0em`}},`∑`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.9812em`}},[i(`span`,{style:{top:`-2.4003em`,"margin-left":`0em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mtight`},[i(`span`,{class:`mord mathnormal mtight`},`t`),i(`span`,{class:`mrel mtight`},`=`),i(`span`,{class:`mord mtight`},`1`)])])]),i(`span`,{style:{top:`-3.2029em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mtight`},[i(`span`,{class:`mord mathnormal mtight`,style:{"margin-right":`0.1389em`}},`T`)])])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.2997em`}},[i(`span`)])])])])]),i(`span`,{class:`mpunct`},`,`),i(`span`,{class:`mspace`},`\xA0`),i(`span`,{class:`mspace`,style:{"margin-right":`0.1667em`}}),i(`span`,{class:`mop`},[i(`span`,{class:`mop op-symbol small-op`,style:{position:`relative`,top:`0em`}},`∑`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.9335em`}},[i(`span`,{style:{top:`-2.4003em`,"margin-left":`0em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mtight`},[i(`span`,{class:`mord mathnormal mtight`,style:{"margin-right":`0.0315em`}},`k`),i(`span`,{class:`mrel mtight`},`=`),i(`span`,{class:`mord mtight`},`1`)])])]),i(`span`,{style:{top:`-3.2029em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mtight`},[i(`span`,{class:`mord mathnormal mtight`},`t`)])])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.2997em`}},[i(`span`)])])])])])])])])]),i(`td`,null,`sums`),i(`td`,null,[u(`over `),i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`mi`,null,`t`)]),i(`annotation`,{encoding:`application/x-tex`},`t`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.6151em`}}),i(`span`,{class:`mord mathnormal`},`t`)])])]),u(`, then over `),i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`mi`,null,`k`),i(`mo`,null,`≤`),i(`mi`,null,`t`)]),i(`annotation`,{encoding:`application/x-tex`},`k \\le t`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.8304em`,"vertical-align":`-0.136em`}}),i(`span`,{class:`mord mathnormal`,style:{"margin-right":`0.0315em`}},`k`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}}),i(`span`,{class:`mrel`},`≤`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}})]),i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.6151em`}}),i(`span`,{class:`mord mathnormal`},`t`)])])])]),i(`td`,null,[i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`mi`,null,`T`),i(`mo`,null,`=`),i(`mn`,null,`3`)]),i(`annotation`,{encoding:`application/x-tex`},`T = 3`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.6833em`}}),i(`span`,{class:`mord mathnormal`,style:{"margin-right":`0.1389em`}},`T`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}}),i(`span`,{class:`mrel`},`=`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}})]),i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.6444em`}}),i(`span`,{class:`mord`},`3`)])])])])]),i(`tr`,null,[i(`td`,null,[i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`mi`,{mathvariant:`normal`},`∂`),i(`msub`,null,[i(`mi`,null,`L`),i(`mi`,null,`t`)]),i(`mi`,{mathvariant:`normal`},`/`),i(`mi`,{mathvariant:`normal`},`∂`),i(`msub`,null,[i(`mi`,{mathvariant:`bold`},`h`),i(`mi`,null,`t`)])]),i(`annotation`,{encoding:`application/x-tex`},`\\partial L_t / \\partial \\mathbf{h}_t`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`1em`,"vertical-align":`-0.25em`}}),i(`span`,{class:`mord`,style:{"margin-right":`0.0556em`}},`∂`),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathnormal`},`L`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.2806em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mathnormal mtight`},`t`)])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.15em`}},[i(`span`)])])])])]),i(`span`,{class:`mord`},`/`),i(`span`,{class:`mord`,style:{"margin-right":`0.0556em`}},`∂`),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathbf`},`h`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.2806em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mathnormal mtight`},`t`)])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.15em`}},[i(`span`)])])])])])])])])]),i(`td`,null,`state gradient`),i(`td`,null,[u(`slope of `),i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`msub`,null,[i(`mi`,null,`L`),i(`mi`,null,`t`)])]),i(`annotation`,{encoding:`application/x-tex`},`L_t`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.8333em`,"vertical-align":`-0.15em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathnormal`},`L`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.2806em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mathnormal mtight`},`t`)])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.15em`}},[i(`span`)])])])])])])])]),u(` in `),i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`msub`,null,[i(`mi`,{mathvariant:`bold`},`h`),i(`mi`,null,`t`)])]),i(`annotation`,{encoding:`application/x-tex`},`\\mathbf{h}_t`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.8444em`,"vertical-align":`-0.15em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathbf`},`h`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.2806em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mathnormal mtight`},`t`)])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.15em`}},[i(`span`)])])])])])])])])]),i(`td`,null,`1`)]),i(`tr`,null,[i(`td`,null,[i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`mi`,{mathvariant:`normal`},`∂`),i(`msub`,null,[i(`mi`,{mathvariant:`bold`},`h`),i(`mi`,null,`t`)]),i(`mi`,{mathvariant:`normal`},`/`),i(`mi`,{mathvariant:`normal`},`∂`),i(`msub`,null,[i(`mi`,{mathvariant:`bold`},`h`),i(`mi`,null,`k`)])]),i(`annotation`,{encoding:`application/x-tex`},`\\partial \\mathbf{h}_t / \\partial \\mathbf{h}_k`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`1em`,"vertical-align":`-0.25em`}}),i(`span`,{class:`mord`,style:{"margin-right":`0.0556em`}},`∂`),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathbf`},`h`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.2806em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mathnormal mtight`},`t`)])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.15em`}},[i(`span`)])])])])]),i(`span`,{class:`mord`},`/`),i(`span`,{class:`mord`,style:{"margin-right":`0.0556em`}},`∂`),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathbf`},`h`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.3361em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mathnormal mtight`,style:{"margin-right":`0.0315em`}},`k`)])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.15em`}},[i(`span`)])])])])])])])])]),i(`td`,null,`Jacobian`),i(`td`,null,[u(`factor for `),i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`mi`,null,`t`),i(`mo`,null,`−`),i(`mi`,null,`k`)]),i(`annotation`,{encoding:`application/x-tex`},`t - k`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.6984em`,"vertical-align":`-0.0833em`}}),i(`span`,{class:`mord mathnormal`},`t`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}}),i(`span`,{class:`mbin`},`−`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}})]),i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.6944em`}}),i(`span`,{class:`mord mathnormal`,style:{"margin-right":`0.0315em`}},`k`)])])]),u(` steps back`)]),i(`td`,null,[i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`msup`,null,[i(`mn`,null,`0.5`),i(`mrow`,null,[i(`mtext`,null,` `),i(`mi`,null,`t`),i(`mo`,null,`−`),i(`mi`,null,`k`)])])]),i(`annotation`,{encoding:`application/x-tex`},`0.5^{\\,t-k}`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.8491em`}}),i(`span`,{class:`mord`},`0.`),i(`span`,{class:`mord`},[i(`span`,{class:`mord`},`5`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.8491em`}},[i(`span`,{style:{top:`-3.063em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mtight`},[i(`span`,{class:`mspace mtight`,style:{"margin-right":`0.1952em`}}),i(`span`,{class:`mord mathnormal mtight`},`t`),i(`span`,{class:`mbin mtight`},`−`),i(`span`,{class:`mord mathnormal mtight`,style:{"margin-right":`0.0315em`}},`k`)])])])])])])])])])])])])]),i(`tr`,null,[i(`td`,null,[i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`mi`,{mathvariant:`normal`},`∂`),i(`msub`,null,[i(`mi`,{mathvariant:`bold`},`h`),i(`mi`,null,`k`)]),i(`mi`,{mathvariant:`normal`},`/`),i(`mi`,{mathvariant:`normal`},`∂`),i(`msub`,null,[i(`mi`,null,`W`),i(`mrow`,null,[i(`mi`,null,`h`),i(`mi`,null,`h`)])])]),i(`annotation`,{encoding:`application/x-tex`},`\\partial \\mathbf{h}_k / \\partial W_{hh}`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`1em`,"vertical-align":`-0.25em`}}),i(`span`,{class:`mord`,style:{"margin-right":`0.0556em`}},`∂`),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathbf`},`h`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.3361em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mathnormal mtight`,style:{"margin-right":`0.0315em`}},`k`)])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.15em`}},[i(`span`)])])])])]),i(`span`,{class:`mord`},`/`),i(`span`,{class:`mord`,style:{"margin-right":`0.0556em`}},`∂`),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathnormal`,style:{"margin-right":`0.1389em`}},`W`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.3361em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`-0.1389em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mtight`},[i(`span`,{class:`mord mathnormal mtight`},`hh`)])])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.15em`}},[i(`span`)])])])])])])])])]),i(`td`,null,`local gradient`),i(`td`,null,[u(`step `),i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`mi`,null,`k`)]),i(`annotation`,{encoding:`application/x-tex`},`k`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.6944em`}}),i(`span`,{class:`mord mathnormal`,style:{"margin-right":`0.0315em`}},`k`)])])]),u(` alone`)]),i(`td`,null,[i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`msub`,null,[i(`mi`,null,`h`),i(`mrow`,null,[i(`mi`,null,`k`),i(`mo`,null,`−`),i(`mn`,null,`1`)])])]),i(`annotation`,{encoding:`application/x-tex`},`h_{k-1}`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.9028em`,"vertical-align":`-0.2083em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathnormal`},`h`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.3361em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mtight`},[i(`span`,{class:`mord mathnormal mtight`,style:{"margin-right":`0.0315em`}},`k`),i(`span`,{class:`mbin mtight`},`−`),i(`span`,{class:`mord mtight`},`1`)])])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.2083em`}},[i(`span`)])])])])])])])])])])])],-1)]]),_:1})]),i(`div`,null,[y[2]||=i(`svg`,{viewBox:`0 0 300 130`,class:`dl-diagram`,role:`img`,"aria-label":`A chain h1 equal to 1, h2 equal to 0.5, h3 equal to 0.25; the gradient travels back from h3 with factor 1, then 0.5, then 0.25`},[i(`defs`,null,[i(`marker`,{id:`l5b-rd3-fwd`,markerWidth:`7`,markerHeight:`7`,refX:`6`,refY:`3.5`,orient:`auto`},[i(`path`,{d:`M0 0 L7 3.5 L0 7 z`,class:`dl-dg-head`})]),i(`marker`,{id:`l5b-rd3-back`,markerWidth:`7`,markerHeight:`7`,refX:`6`,refY:`3.5`,orient:`auto`},[i(`path`,{d:`M0 0 L7 3.5 L0 7 z`,style:{fill:`var(--dl-danger)`}})])]),i(`rect`,{x:`10`,y:`30`,width:`72`,height:`34`,rx:`6`,class:`dl-dg-box`}),i(`text`,{x:`46`,y:`52`,"text-anchor":`middle`,class:`dl-dg-lab is-sm`},`h₁ = 1`),i(`rect`,{x:`114`,y:`30`,width:`72`,height:`34`,rx:`6`,class:`dl-dg-box`}),i(`text`,{x:`150`,y:`52`,"text-anchor":`middle`,class:`dl-dg-lab is-sm`},`h₂ = 0.5`),i(`rect`,{x:`218`,y:`30`,width:`74`,height:`34`,rx:`6`,class:`dl-dg-box is-accent`}),i(`text`,{x:`255`,y:`52`,"text-anchor":`middle`,class:`dl-dg-lab is-sm`},`h₃ = 0.25`),i(`path`,{d:`M84 40 H110`,class:`dl-dg-arrow`,"marker-end":`url(#l5b-rd3-fwd)`}),i(`path`,{d:`M188 40 H214`,class:`dl-dg-arrow`,"marker-end":`url(#l5b-rd3-fwd)`}),i(`path`,{d:`M214 56 H188`,class:`dl-dg-grad is-bad`,"marker-end":`url(#l5b-rd3-back)`}),i(`path`,{d:`M110 56 H84`,class:`dl-dg-grad is-bad`,"marker-end":`url(#l5b-rd3-back)`}),i(`text`,{x:`46`,y:`88`,"text-anchor":`middle`,class:`dl-dg-small is-bad`},`× 0.25`),i(`text`,{x:`150`,y:`88`,"text-anchor":`middle`,class:`dl-dg-small is-bad`},`× 0.5`),i(`text`,{x:`255`,y:`88`,"text-anchor":`middle`,class:`dl-dg-small is-bad`},`× 1`),i(`text`,{x:`150`,y:`118`,"text-anchor":`middle`,class:`dl-dg-small`},`factor ∂h₃/∂hₖ`)],-1),s((d(),a(`div`,v,[...y[1]||=[i(`p`,null,[u(`One unit, no `),i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`mi`,null,`tanh`),i(`mo`,null,`⁡`)]),i(`annotation`,{encoding:`application/x-tex`},`\\tanh`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.6944em`}}),i(`span`,{class:`mop`},`tanh`)])])]),u(`, `),i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`msub`,null,[i(`mi`,null,`W`),i(`mrow`,null,[i(`mi`,null,`h`),i(`mi`,null,`h`)])]),i(`mo`,null,`=`),i(`mn`,null,`0.5`)]),i(`annotation`,{encoding:`application/x-tex`},`W_{hh} = 0.5`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.8333em`,"vertical-align":`-0.15em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathnormal`,style:{"margin-right":`0.1389em`}},`W`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.3361em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`-0.1389em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mtight`},[i(`span`,{class:`mord mathnormal mtight`},`hh`)])])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.15em`}},[i(`span`)])])])])]),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}}),i(`span`,{class:`mrel`},`=`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}})]),i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.6444em`}}),i(`span`,{class:`mord`},`0.5`)])])]),u(`, inputs `),i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`mn`,null,`1`),i(`mo`,{separator:`true`},`,`),i(`mn`,null,`0`),i(`mo`,{separator:`true`},`,`),i(`mn`,null,`0`)]),i(`annotation`,{encoding:`application/x-tex`},`1, 0, 0`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.8389em`,"vertical-align":`-0.1944em`}}),i(`span`,{class:`mord`},`1`),i(`span`,{class:`mpunct`},`,`),i(`span`,{class:`mspace`,style:{"margin-right":`0.1667em`}}),i(`span`,{class:`mord`},`0`),i(`span`,{class:`mpunct`},`,`),i(`span`,{class:`mspace`,style:{"margin-right":`0.1667em`}}),i(`span`,{class:`mord`},`0`)])])]),u(`:`)],-1),i(`p`,null,[i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`mfrac`,null,[i(`mrow`,null,[i(`mi`,{mathvariant:`normal`},`∂`),i(`mi`,null,`L`)]),i(`mrow`,null,[i(`mi`,{mathvariant:`normal`},`∂`),i(`msub`,null,[i(`mi`,null,`W`),i(`mrow`,null,[i(`mi`,null,`h`),i(`mi`,null,`h`)])])])]),i(`mo`,null,`=`),i(`munder`,null,[i(`munder`,null,[i(`mrow`,null,[i(`mn`,null,`0.25`),i(`mo`,null,`⋅`),i(`mn`,null,`0`)]),i(`mo`,{stretchy:`true`},`⏟`)]),i(`mrow`,null,[i(`mi`,null,`k`),i(`mo`,null,`=`),i(`mn`,null,`1`)])]),i(`mo`,null,`+`),i(`munder`,null,[i(`munder`,null,[i(`mrow`,null,[i(`mn`,null,`0.5`),i(`mo`,null,`⋅`),i(`mn`,null,`1`)]),i(`mo`,{stretchy:`true`},`⏟`)]),i(`mrow`,null,[i(`mi`,null,`k`),i(`mo`,null,`=`),i(`mn`,null,`2`)])]),i(`mo`,null,`+`),i(`munder`,null,[i(`munder`,null,[i(`mrow`,null,[i(`mn`,null,`1`),i(`mo`,null,`⋅`),i(`mn`,null,`0.5`)]),i(`mo`,{stretchy:`true`},`⏟`)]),i(`mrow`,null,[i(`mi`,null,`k`),i(`mo`,null,`=`),i(`mn`,null,`3`)])]),i(`mo`,null,`=`),i(`mn`,null,`1.0`)]),i(`annotation`,{encoding:`application/x-tex`},`\\frac{\\partial L}{\\partial W_{hh}} = \\underbrace{0.25 \\cdot 0}_{k=1} + \\underbrace{0.5 \\cdot 1}_{k=2} + \\underbrace{1 \\cdot 0.5}_{k=3} = 1.0`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`1.331em`,"vertical-align":`-0.4509em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mopen nulldelimiter`}),i(`span`,{class:`mfrac`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.8801em`}},[i(`span`,{style:{top:`-2.655em`}},[i(`span`,{class:`pstrut`,style:{height:`3em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mtight`},[i(`span`,{class:`mord mtight`,style:{"margin-right":`0.0556em`}},`∂`),i(`span`,{class:`mord mtight`},[i(`span`,{class:`mord mathnormal mtight`,style:{"margin-right":`0.1389em`}},`W`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.3448em`}},[i(`span`,{style:{top:`-2.3488em`,"margin-left":`-0.1389em`,"margin-right":`0.0714em`}},[i(`span`,{class:`pstrut`,style:{height:`2.5em`}}),i(`span`,{class:`katex-sizing reset-size3 size1 mtight`},[i(`span`,{class:`mord mtight`},[i(`span`,{class:`mord mathnormal mtight`},`hh`)])])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.1512em`}},[i(`span`)])])])])])])])]),i(`span`,{style:{top:`-3.23em`}},[i(`span`,{class:`pstrut`,style:{height:`3em`}}),i(`span`,{class:`frac-line`,style:{"border-bottom-width":`0.04em`}})]),i(`span`,{style:{top:`-3.394em`}},[i(`span`,{class:`pstrut`,style:{height:`3em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mtight`},[i(`span`,{class:`mord mtight`,style:{"margin-right":`0.0556em`}},`∂`),i(`span`,{class:`mord mathnormal mtight`},`L`)])])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.4509em`}},[i(`span`)])])])]),i(`span`,{class:`mclose nulldelimiter`})]),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}}),i(`span`,{class:`mrel`},`=`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}})]),i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`1.9785em`,"vertical-align":`-1.3341em`}}),i(`span`,{class:`minner munder`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.6444em`}},[i(`span`,{style:{top:`-1.6659em`}},[i(`span`,{class:`pstrut`,style:{height:`3em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mtight`},[i(`span`,{class:`mord mathnormal mtight`,style:{"margin-right":`0.0315em`}},`k`),i(`span`,{class:`mrel mtight`},`=`),i(`span`,{class:`mord mtight`},`1`)])])]),i(`span`,{style:{top:`-3em`}},[i(`span`,{class:`pstrut`,style:{height:`3em`}}),i(`span`,{class:`minner munder`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.6444em`}},[i(`span`,{class:`svg-align`,style:{top:`-2.352em`}},[i(`span`,{class:`pstrut`,style:{height:`3em`}}),i(`span`,{class:`katex-stretchy`,style:{height:`0.548em`,"min-width":`1.6em`}},[i(`span`,{class:`brace-left`,style:{height:`0.548em`}},[i(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`400em`,height:`0.548em`,viewBox:`0 0 400000 548`,preserveAspectRatio:`xMinYMin slice`},[i(`path`,{d:`M0 6l6-6h17c12.688 0 19.313.3 20 1 4 4 7.313 8.3 10 13 + 35.313 51.3 80.813 93.8 136.5 127.5 55.688 33.7 117.188 55.8 184.5 66.5.688 + 0 2 .3 4 1 18.688 2.7 76 4.3 172 5h399450v120H429l-6-1c-124.688-8-235-61.7 +-331-161C60.687 138.7 32.312 99.3 7 54L0 41V6z`})])]),i(`span`,{class:`brace-center`,style:{height:`0.548em`}},[i(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`400em`,height:`0.548em`,viewBox:`0 0 400000 548`,preserveAspectRatio:`xMidYMin slice`},[i(`path`,{d:`M199572 214 +c100.7 8.3 195.3 44 280 108 55.3 42 101.7 93 139 153l9 14c2.7-4 5.7-8.7 9-14 + 53.3-86.7 123.7-153 211-199 66.7-36 137.3-56.3 212-62h199568v120H200432c-178.3 + 11.7-311.7 78.3-403 201-6 8-9.7 12-11 12-.7.7-6.7 1-18 1s-17.3-.3-18-1c-1.3 0 +-5-4-11-12-44.7-59.3-101.3-106.3-170-141s-145.3-54.3-229-60H0V214z`})])]),i(`span`,{class:`brace-right`,style:{height:`0.548em`}},[i(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`400em`,height:`0.548em`,viewBox:`0 0 400000 548`,preserveAspectRatio:`xMaxYMin slice`},[i(`path`,{d:`M399994 0l6 6v35l-6 11c-56 104-135.3 181.3-238 232-57.3 + 28.7-117 45-179 50H-300V214h399897c43.3-7 81-15 113-26 100.7-33 179.7-91 237 +-174 2.7-5 6-9 10-13 .7-1 7.3-1 20-1h17z`})])])])]),i(`span`,{style:{top:`-3em`}},[i(`span`,{class:`pstrut`,style:{height:`3em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord`},`0.25`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}}),i(`span`,{class:`mbin`},`⋅`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}}),i(`span`,{class:`mord`},`0`)])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.648em`}},[i(`span`)])])])])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`1.3341em`}},[i(`span`)])])])]),i(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}}),i(`span`,{class:`mbin`},`+`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}})]),i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`1.9785em`,"vertical-align":`-1.3341em`}}),i(`span`,{class:`minner munder`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.6444em`}},[i(`span`,{style:{top:`-1.6659em`}},[i(`span`,{class:`pstrut`,style:{height:`3em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mtight`},[i(`span`,{class:`mord mathnormal mtight`,style:{"margin-right":`0.0315em`}},`k`),i(`span`,{class:`mrel mtight`},`=`),i(`span`,{class:`mord mtight`},`2`)])])]),i(`span`,{style:{top:`-3em`}},[i(`span`,{class:`pstrut`,style:{height:`3em`}}),i(`span`,{class:`minner munder`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.6444em`}},[i(`span`,{class:`svg-align`,style:{top:`-2.352em`}},[i(`span`,{class:`pstrut`,style:{height:`3em`}}),i(`span`,{class:`katex-stretchy`,style:{height:`0.548em`,"min-width":`1.6em`}},[i(`span`,{class:`brace-left`,style:{height:`0.548em`}},[i(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`400em`,height:`0.548em`,viewBox:`0 0 400000 548`,preserveAspectRatio:`xMinYMin slice`},[i(`path`,{d:`M0 6l6-6h17c12.688 0 19.313.3 20 1 4 4 7.313 8.3 10 13 + 35.313 51.3 80.813 93.8 136.5 127.5 55.688 33.7 117.188 55.8 184.5 66.5.688 + 0 2 .3 4 1 18.688 2.7 76 4.3 172 5h399450v120H429l-6-1c-124.688-8-235-61.7 +-331-161C60.687 138.7 32.312 99.3 7 54L0 41V6z`})])]),i(`span`,{class:`brace-center`,style:{height:`0.548em`}},[i(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`400em`,height:`0.548em`,viewBox:`0 0 400000 548`,preserveAspectRatio:`xMidYMin slice`},[i(`path`,{d:`M199572 214 +c100.7 8.3 195.3 44 280 108 55.3 42 101.7 93 139 153l9 14c2.7-4 5.7-8.7 9-14 + 53.3-86.7 123.7-153 211-199 66.7-36 137.3-56.3 212-62h199568v120H200432c-178.3 + 11.7-311.7 78.3-403 201-6 8-9.7 12-11 12-.7.7-6.7 1-18 1s-17.3-.3-18-1c-1.3 0 +-5-4-11-12-44.7-59.3-101.3-106.3-170-141s-145.3-54.3-229-60H0V214z`})])]),i(`span`,{class:`brace-right`,style:{height:`0.548em`}},[i(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`400em`,height:`0.548em`,viewBox:`0 0 400000 548`,preserveAspectRatio:`xMaxYMin slice`},[i(`path`,{d:`M399994 0l6 6v35l-6 11c-56 104-135.3 181.3-238 232-57.3 + 28.7-117 45-179 50H-300V214h399897c43.3-7 81-15 113-26 100.7-33 179.7-91 237 +-174 2.7-5 6-9 10-13 .7-1 7.3-1 20-1h17z`})])])])]),i(`span`,{style:{top:`-3em`}},[i(`span`,{class:`pstrut`,style:{height:`3em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord`},`0.5`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}}),i(`span`,{class:`mbin`},`⋅`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}}),i(`span`,{class:`mord`},`1`)])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.648em`}},[i(`span`)])])])])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`1.3341em`}},[i(`span`)])])])]),i(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}}),i(`span`,{class:`mbin`},`+`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}})]),i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`1.9785em`,"vertical-align":`-1.3341em`}}),i(`span`,{class:`minner munder`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.6444em`}},[i(`span`,{style:{top:`-1.6659em`}},[i(`span`,{class:`pstrut`,style:{height:`3em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mtight`},[i(`span`,{class:`mord mathnormal mtight`,style:{"margin-right":`0.0315em`}},`k`),i(`span`,{class:`mrel mtight`},`=`),i(`span`,{class:`mord mtight`},`3`)])])]),i(`span`,{style:{top:`-3em`}},[i(`span`,{class:`pstrut`,style:{height:`3em`}}),i(`span`,{class:`minner munder`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.6444em`}},[i(`span`,{class:`svg-align`,style:{top:`-2.352em`}},[i(`span`,{class:`pstrut`,style:{height:`3em`}}),i(`span`,{class:`katex-stretchy`,style:{height:`0.548em`,"min-width":`1.6em`}},[i(`span`,{class:`brace-left`,style:{height:`0.548em`}},[i(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`400em`,height:`0.548em`,viewBox:`0 0 400000 548`,preserveAspectRatio:`xMinYMin slice`},[i(`path`,{d:`M0 6l6-6h17c12.688 0 19.313.3 20 1 4 4 7.313 8.3 10 13 + 35.313 51.3 80.813 93.8 136.5 127.5 55.688 33.7 117.188 55.8 184.5 66.5.688 + 0 2 .3 4 1 18.688 2.7 76 4.3 172 5h399450v120H429l-6-1c-124.688-8-235-61.7 +-331-161C60.687 138.7 32.312 99.3 7 54L0 41V6z`})])]),i(`span`,{class:`brace-center`,style:{height:`0.548em`}},[i(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`400em`,height:`0.548em`,viewBox:`0 0 400000 548`,preserveAspectRatio:`xMidYMin slice`},[i(`path`,{d:`M199572 214 +c100.7 8.3 195.3 44 280 108 55.3 42 101.7 93 139 153l9 14c2.7-4 5.7-8.7 9-14 + 53.3-86.7 123.7-153 211-199 66.7-36 137.3-56.3 212-62h199568v120H200432c-178.3 + 11.7-311.7 78.3-403 201-6 8-9.7 12-11 12-.7.7-6.7 1-18 1s-17.3-.3-18-1c-1.3 0 +-5-4-11-12-44.7-59.3-101.3-106.3-170-141s-145.3-54.3-229-60H0V214z`})])]),i(`span`,{class:`brace-right`,style:{height:`0.548em`}},[i(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`400em`,height:`0.548em`,viewBox:`0 0 400000 548`,preserveAspectRatio:`xMaxYMin slice`},[i(`path`,{d:`M399994 0l6 6v35l-6 11c-56 104-135.3 181.3-238 232-57.3 + 28.7-117 45-179 50H-300V214h399897c43.3-7 81-15 113-26 100.7-33 179.7-91 237 +-174 2.7-5 6-9 10-13 .7-1 7.3-1 20-1h17z`})])])])]),i(`span`,{style:{top:`-3em`}},[i(`span`,{class:`pstrut`,style:{height:`3em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord`},`1`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}}),i(`span`,{class:`mbin`},`⋅`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}}),i(`span`,{class:`mord`},`0.5`)])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.648em`}},[i(`span`)])])])])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`1.3341em`}},[i(`span`)])])])]),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}}),i(`span`,{class:`mrel`},`=`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}})]),i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.6444em`}}),i(`span`,{class:`mord`},`1.0`)])])])],-1),i(`p`,null,[u(`Check: `),i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`msub`,null,[i(`mi`,null,`h`),i(`mn`,null,`3`)]),i(`mo`,null,`=`),i(`msubsup`,null,[i(`mi`,null,`W`),i(`mrow`,null,[i(`mi`,null,`h`),i(`mi`,null,`h`)]),i(`mn`,null,`2`)])]),i(`annotation`,{encoding:`application/x-tex`},`h_3 = W_{hh}^2`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.8444em`,"vertical-align":`-0.15em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathnormal`},`h`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.3011em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mtight`},`3`)])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.15em`}},[i(`span`)])])])])]),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}}),i(`span`,{class:`mrel`},`=`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}})]),i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`1.0972em`,"vertical-align":`-0.2831em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathnormal`,style:{"margin-right":`0.1389em`}},`W`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.8141em`}},[i(`span`,{style:{top:`-2.4169em`,"margin-left":`-0.1389em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mtight`},[i(`span`,{class:`mord mathnormal mtight`},`hh`)])])]),i(`span`,{style:{top:`-3.063em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mtight`},`2`)])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.2831em`}},[i(`span`)])])])])])])])]),u(`, slope `),i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`mn`,null,`2`),i(`msub`,null,[i(`mi`,null,`W`),i(`mrow`,null,[i(`mi`,null,`h`),i(`mi`,null,`h`)])]),i(`mo`,null,`=`),i(`mn`,null,`1.0`)]),i(`annotation`,{encoding:`application/x-tex`},`2 W_{hh} = 1.0`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.8333em`,"vertical-align":`-0.15em`}}),i(`span`,{class:`mord`},`2`),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathnormal`,style:{"margin-right":`0.1389em`}},`W`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.3361em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`-0.1389em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mtight`},[i(`span`,{class:`mord mathnormal mtight`},`hh`)])])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.15em`}},[i(`span`)])])])])]),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}}),i(`span`,{class:`mrel`},`=`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}})]),i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.6444em`}}),i(`span`,{class:`mord`},`1.0`)])])]),u(`.`)],-1)]])),[[x]])])])]),_:1},16)}}};export{y as default}; \ No newline at end of file diff --git a/lecture-05/assets/md-EhM3ZaYZ.js b/lecture-05/assets/md-EhM3ZaYZ.js new file mode 100644 index 0000000000000000000000000000000000000000..1e00969c3e039f6c86257bd1dc88c2fc36f29162 --- /dev/null +++ b/lecture-05/assets/md-EhM3ZaYZ.js @@ -0,0 +1 @@ +import{$ as e,E as t,S as n,W as r,_ as i,b as a,bt as o,et as s,v as c,vt as l,x as u,z as d}from"./modules/shiki-CkJq9tSf.js";import{n as f,t as p}from"./slidev/context-DnYiQGy6.js";import{t as m}from"./default-BTjgsdmC.js";import{t as h}from"./slidev/VClicks-DLDbGwsQ.js";var g={class:`grid grid-cols-[1.45fr_1fr] gap-5 mt-1 items-start`},_={class:`dl-ledger dl-tight dl-eq-legend`},v={class:`mt-2 dl-callout`},y={__name:`slides.md__slidev_18`,setup(y){let{$slidev:b,$nav:x,$clicksContext:S,$clicks:C,$page:w,$renderContext:T,$frontmatter:E}=f();return S.setup(),(f,y)=>{let b=h,x=r(`click`);return d(),c(m,o(t(l(p)(l(E),17))),{default:e(()=>[y[4]||=i(`h1`,null,`Reading the equation: one recurrent step`,-1),i(`div`,g,[i(`div`,_,[n(b,null,{default:e(()=>[...y[0]||=[i(`table`,null,[i(`thead`,null,[i(`tr`,null,[i(`th`,null,`symbol`),i(`th`,null,`name`),i(`th`,null,`what it is here`),i(`th`,null,`review B`)])]),i(`tbody`,null,[i(`tr`,null,[i(`td`,null,[i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`mi`,null,`t`)]),i(`annotation`,{encoding:`application/x-tex`},`t`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.6151em`}}),i(`span`,{class:`mord mathnormal`},`t`)])])])]),i(`td`,null,`time step`),i(`td`,null,[u(`which word, 1 to `),i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`mi`,null,`T`)]),i(`annotation`,{encoding:`application/x-tex`},`T`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.6833em`}}),i(`span`,{class:`mord mathnormal`,style:{"margin-right":`0.1389em`}},`T`)])])])]),i(`td`,null,[u(`5, `),i(`em`,null,`great`)])]),i(`tr`,null,[i(`td`,null,[i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`msub`,null,[i(`mi`,{mathvariant:`bold`},`x`),i(`mi`,null,`t`)])]),i(`annotation`,{encoding:`application/x-tex`},`\\mathbf{x}_t`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.5944em`,"vertical-align":`-0.15em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathbf`},`x`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.2806em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mathnormal mtight`},`t`)])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.15em`}},[i(`span`)])])])])])])])])]),i(`td`,null,`input`),i(`td`,null,`this word’s embedding; data`),i(`td`,null,[i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`msub`,null,[i(`mi`,{mathvariant:`bold`},`x`),i(`mn`,null,`5`)]),i(`mo`,null,`=`),i(`mo`,{stretchy:`false`},`[`),i(`mn`,null,`1`),i(`mo`,{separator:`true`},`,`),i(`mn`,null,`0`),i(`mo`,{stretchy:`false`},`]`)]),i(`annotation`,{encoding:`application/x-tex`},`\\mathbf{x}_5 = [1, 0]`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.5944em`,"vertical-align":`-0.15em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathbf`},`x`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.3011em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mtight`},`5`)])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.15em`}},[i(`span`)])])])])]),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}}),i(`span`,{class:`mrel`},`=`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}})]),i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`1em`,"vertical-align":`-0.25em`}}),i(`span`,{class:`mopen`},`[`),i(`span`,{class:`mord`},`1`),i(`span`,{class:`mpunct`},`,`),i(`span`,{class:`mspace`,style:{"margin-right":`0.1667em`}}),i(`span`,{class:`mord`},`0`),i(`span`,{class:`mclose`},`]`)])])])])]),i(`tr`,null,[i(`td`,null,[i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`msub`,null,[i(`mi`,{mathvariant:`bold`},`h`),i(`mrow`,null,[i(`mi`,null,`t`),i(`mo`,null,`−`),i(`mn`,null,`1`)])])]),i(`annotation`,{encoding:`application/x-tex`},`\\mathbf{h}_{t-1}`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.9028em`,"vertical-align":`-0.2083em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathbf`},`h`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.3011em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mtight`},[i(`span`,{class:`mord mathnormal mtight`},`t`),i(`span`,{class:`mbin mtight`},`−`),i(`span`,{class:`mord mtight`},`1`)])])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.2083em`}},[i(`span`)])])])])])])])])]),i(`td`,null,`previous hidden state`),i(`td`,null,`the note so far`),i(`td`,null,[i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`msub`,null,[i(`mi`,{mathvariant:`bold`},`h`),i(`mn`,null,`4`)]),i(`mo`,null,`=`),i(`mo`,{stretchy:`false`},`[`),i(`mn`,null,`0.964`),i(`mo`,{separator:`true`},`,`),i(`mn`,null,`0`),i(`mo`,{stretchy:`false`},`]`)]),i(`annotation`,{encoding:`application/x-tex`},`\\mathbf{h}_4 = [0.964, 0]`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.8444em`,"vertical-align":`-0.15em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathbf`},`h`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.3011em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mtight`},`4`)])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.15em`}},[i(`span`)])])])])]),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}}),i(`span`,{class:`mrel`},`=`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}})]),i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`1em`,"vertical-align":`-0.25em`}}),i(`span`,{class:`mopen`},`[`),i(`span`,{class:`mord`},`0.964`),i(`span`,{class:`mpunct`},`,`),i(`span`,{class:`mspace`,style:{"margin-right":`0.1667em`}}),i(`span`,{class:`mord`},`0`),i(`span`,{class:`mclose`},`]`)])])])])]),i(`tr`,null,[i(`td`,null,[i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`msub`,null,[i(`mi`,null,`W`),i(`mrow`,null,[i(`mi`,null,`x`),i(`mi`,null,`h`)])]),i(`mo`,{separator:`true`},`,`),i(`mtext`,null,`\xA0`),i(`msub`,null,[i(`mi`,null,`W`),i(`mrow`,null,[i(`mi`,null,`h`),i(`mi`,null,`h`)])])]),i(`annotation`,{encoding:`application/x-tex`},`W_{xh},\\ W_{hh}`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.8778em`,"vertical-align":`-0.1944em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathnormal`,style:{"margin-right":`0.1389em`}},`W`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.3361em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`-0.1389em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mtight`},[i(`span`,{class:`mord mathnormal mtight`},`x`),i(`span`,{class:`mord mathnormal mtight`},`h`)])])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.15em`}},[i(`span`)])])])])]),i(`span`,{class:`mpunct`},`,`),i(`span`,{class:`mspace`},`\xA0`),i(`span`,{class:`mspace`,style:{"margin-right":`0.1667em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathnormal`,style:{"margin-right":`0.1389em`}},`W`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.3361em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`-0.1389em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mtight`},[i(`span`,{class:`mord mathnormal mtight`},`hh`)])])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.15em`}},[i(`span`)])])])])])])])])]),i(`td`,null,`input, recurrent weights`),i(`td`,null,[i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`msub`,null,[i(`mi`,null,`n`),i(`mi`,null,`h`)]),i(`mo`,null,`×`),i(`msub`,null,[i(`mi`,null,`n`),i(`mi`,null,`x`)])]),i(`annotation`,{encoding:`application/x-tex`},`n_h \\times n_x`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.7333em`,"vertical-align":`-0.15em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathnormal`},`n`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.3361em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mathnormal mtight`},`h`)])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.15em`}},[i(`span`)])])])])]),i(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}}),i(`span`,{class:`mbin`},`×`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}})]),i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.5806em`,"vertical-align":`-0.15em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathnormal`},`n`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.1514em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mathnormal mtight`},`x`)])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.15em`}},[i(`span`)])])])])])])])]),u(`, `),i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`msub`,null,[i(`mi`,null,`n`),i(`mi`,null,`h`)]),i(`mo`,null,`×`),i(`msub`,null,[i(`mi`,null,`n`),i(`mi`,null,`h`)])]),i(`annotation`,{encoding:`application/x-tex`},`n_h \\times n_h`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.7333em`,"vertical-align":`-0.15em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathnormal`},`n`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.3361em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mathnormal mtight`},`h`)])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.15em`}},[i(`span`)])])])])]),i(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}}),i(`span`,{class:`mbin`},`×`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}})]),i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.5806em`,"vertical-align":`-0.15em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathnormal`},`n`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.3361em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mathnormal mtight`},`h`)])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.15em`}},[i(`span`)])])])])])])])]),u(`; learned`)]),i(`td`,null,[u(`both `),i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`mn`,null,`2`),i(`mo`,null,`×`),i(`mn`,null,`2`)]),i(`annotation`,{encoding:`application/x-tex`},`2 \\times 2`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.7278em`,"vertical-align":`-0.0833em`}}),i(`span`,{class:`mord`},`2`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}}),i(`span`,{class:`mbin`},`×`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2222em`}})]),i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.6444em`}}),i(`span`,{class:`mord`},`2`)])])])])]),i(`tr`,null,[i(`td`,null,[i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`msub`,null,[i(`mi`,{mathvariant:`bold`},`b`),i(`mi`,null,`h`)]),i(`mo`,{separator:`true`},`,`),i(`mtext`,null,`\xA0`),i(`msub`,null,[i(`mi`,{mathvariant:`bold`},`b`),i(`mi`,null,`o`)])]),i(`annotation`,{encoding:`application/x-tex`},`\\mathbf{b}_h,\\ \\mathbf{b}_o`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.8889em`,"vertical-align":`-0.1944em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathbf`},`b`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.3361em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mathnormal mtight`},`h`)])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.15em`}},[i(`span`)])])])])]),i(`span`,{class:`mpunct`},`,`),i(`span`,{class:`mspace`},`\xA0`),i(`span`,{class:`mspace`,style:{"margin-right":`0.1667em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathbf`},`b`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.1514em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mathnormal mtight`},`o`)])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.15em`}},[i(`span`)])])])])])])])])]),i(`td`,null,`biases`),i(`td`,null,`one per unit; learned`),i(`td`,null,`0 here`)]),i(`tr`,null,[i(`td`,null,[i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`mi`,null,`tanh`),i(`mo`,null,`⁡`)]),i(`annotation`,{encoding:`application/x-tex`},`\\tanh`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.6944em`}}),i(`span`,{class:`mop`},`tanh`)])])])]),i(`td`,null,`hyperbolic tangent`),i(`td`,null,[u(`squashes into `),i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`mo`,{stretchy:`false`},`(`),i(`mo`,null,`−`),i(`mn`,null,`1`),i(`mo`,{separator:`true`},`,`),i(`mn`,null,`1`),i(`mo`,{stretchy:`false`},`)`)]),i(`annotation`,{encoding:`application/x-tex`},`(-1, 1)`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`1em`,"vertical-align":`-0.25em`}}),i(`span`,{class:`mopen`},`(`),i(`span`,{class:`mord`},`−`),i(`span`,{class:`mord`},`1`),i(`span`,{class:`mpunct`},`,`),i(`span`,{class:`mspace`,style:{"margin-right":`0.1667em`}}),i(`span`,{class:`mord`},`1`),i(`span`,{class:`mclose`},`)`)])])])]),i(`td`,null,[i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`mi`,null,`tanh`),i(`mo`,null,`⁡`),i(`mn`,null,`0.482`),i(`mo`,null,`=`),i(`mn`,null,`0.448`)]),i(`annotation`,{encoding:`application/x-tex`},`\\tanh 0.482 = 0.448`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.6944em`}}),i(`span`,{class:`mop`},`tanh`),i(`span`,{class:`mspace`,style:{"margin-right":`0.1667em`}}),i(`span`,{class:`mord`},`0.482`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}}),i(`span`,{class:`mrel`},`=`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}})]),i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.6444em`}}),i(`span`,{class:`mord`},`0.448`)])])])])]),i(`tr`,null,[i(`td`,null,[i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`msub`,null,[i(`mi`,{mathvariant:`bold`},`h`),i(`mi`,null,`t`)])]),i(`annotation`,{encoding:`application/x-tex`},`\\mathbf{h}_t`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.8444em`,"vertical-align":`-0.15em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathbf`},`h`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.2806em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mathnormal mtight`},`t`)])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.15em`}},[i(`span`)])])])])])])])])]),i(`td`,null,`hidden state`),i(`td`,null,`the new note`),i(`td`,null,[i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`msub`,null,[i(`mi`,{mathvariant:`bold`},`h`),i(`mn`,null,`5`)]),i(`mo`,null,`=`),i(`mo`,{stretchy:`false`},`[`),i(`mn`,null,`0.448`),i(`mo`,{separator:`true`},`,`),i(`mo`,null,`−`),i(`mn`,null,`0.419`),i(`mo`,{stretchy:`false`},`]`)]),i(`annotation`,{encoding:`application/x-tex`},`\\mathbf{h}_5 = [0.448, -0.419]`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.8444em`,"vertical-align":`-0.15em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathbf`},`h`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.3011em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mtight`},`5`)])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.15em`}},[i(`span`)])])])])]),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}}),i(`span`,{class:`mrel`},`=`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}})]),i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`1em`,"vertical-align":`-0.25em`}}),i(`span`,{class:`mopen`},`[`),i(`span`,{class:`mord`},`0.448`),i(`span`,{class:`mpunct`},`,`),i(`span`,{class:`mspace`,style:{"margin-right":`0.1667em`}}),i(`span`,{class:`mord`},`−`),i(`span`,{class:`mord`},`0.419`),i(`span`,{class:`mclose`},`]`)])])])])]),i(`tr`,null,[i(`td`,null,[i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`msub`,null,[i(`mi`,{mathvariant:`bold`},`o`),i(`mi`,null,`t`)]),i(`mo`,{separator:`true`},`,`),i(`mtext`,null,`\xA0`),i(`msub`,null,[i(`mi`,null,`W`),i(`mrow`,null,[i(`mi`,null,`h`),i(`mi`,null,`o`)])])]),i(`annotation`,{encoding:`application/x-tex`},`\\mathbf{o}_t,\\ W_{ho}`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.8778em`,"vertical-align":`-0.1944em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathbf`},`o`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.2806em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mathnormal mtight`},`t`)])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.15em`}},[i(`span`)])])])])]),i(`span`,{class:`mpunct`},`,`),i(`span`,{class:`mspace`},`\xA0`),i(`span`,{class:`mspace`,style:{"margin-right":`0.1667em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathnormal`,style:{"margin-right":`0.1389em`}},`W`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.3361em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`-0.1389em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mtight`},[i(`span`,{class:`mord mathnormal mtight`},`h`),i(`span`,{class:`mord mathnormal mtight`},`o`)])])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.15em`}},[i(`span`)])])])])])])])])]),i(`td`,null,`output, its weights`),i(`td`,null,[u(`logit; `),i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`msub`,null,[i(`mi`,null,`W`),i(`mrow`,null,[i(`mi`,null,`h`),i(`mi`,null,`o`)])]),i(`mo`,null,`=`),i(`mo`,{stretchy:`false`},`[`),i(`mn`,null,`0`),i(`mo`,{separator:`true`},`,`),i(`mn`,null,`3`),i(`mo`,{stretchy:`false`},`]`)]),i(`annotation`,{encoding:`application/x-tex`},`W_{ho} = [0, 3]`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.8333em`,"vertical-align":`-0.15em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathnormal`,style:{"margin-right":`0.1389em`}},`W`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.3361em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`-0.1389em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mtight`},[i(`span`,{class:`mord mathnormal mtight`},`h`),i(`span`,{class:`mord mathnormal mtight`},`o`)])])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.15em`}},[i(`span`)])])])])]),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}}),i(`span`,{class:`mrel`},`=`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}})]),i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`1em`,"vertical-align":`-0.25em`}}),i(`span`,{class:`mopen`},`[`),i(`span`,{class:`mord`},`0`),i(`span`,{class:`mpunct`},`,`),i(`span`,{class:`mspace`,style:{"margin-right":`0.1667em`}}),i(`span`,{class:`mord`},`3`),i(`span`,{class:`mclose`},`]`)])])])]),i(`td`,null,[i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`mo`,null,`−`),i(`mn`,null,`1.26`)]),i(`annotation`,{encoding:`application/x-tex`},`-1.26`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.7278em`,"vertical-align":`-0.0833em`}}),i(`span`,{class:`mord`},`−`),i(`span`,{class:`mord`},`1.26`)])])])])])])],-1)]]),_:1})]),i(`div`,null,[y[2]||=i(`svg`,{viewBox:`0 0 300 120`,class:`dl-diagram`,role:`img`,"aria-label":`Step 5: the state after not, 0.964 and 0, and the input great go into the new state 0.448 and minus 0.419`},[i(`defs`,null,[i(`marker`,{id:`l5b-rd1-head`,markerWidth:`7`,markerHeight:`7`,refX:`6`,refY:`3.5`,orient:`auto`},[i(`path`,{d:`M0 0 L7 3.5 L0 7 z`,class:`dl-dg-head`})])]),i(`rect`,{x:`6`,y:`34`,width:`104`,height:`36`,rx:`6`,class:`dl-dg-box`}),i(`text`,{x:`58`,y:`57`,"text-anchor":`middle`,class:`dl-dg-lab is-sm`},`h₄ [0.964, 0]`),i(`path`,{d:`M112 52 H160`,class:`dl-dg-arrow`,"marker-end":`url(#l5b-rd1-head)`}),i(`text`,{x:`136`,y:`44`,"text-anchor":`middle`,class:`dl-dg-small`},`W_hh`),i(`rect`,{x:`164`,y:`34`,width:`130`,height:`36`,rx:`6`,class:`dl-dg-box is-accent`}),i(`text`,{x:`229`,y:`57`,"text-anchor":`middle`,class:`dl-dg-lab is-sm`},`h₅ [0.448, −0.419]`),i(`text`,{x:`229`,y:`114`,"text-anchor":`middle`,class:`dl-dg-in`},`great [1, 0]`),i(`path`,{d:`M229 100 V74`,class:`dl-dg-arrow`,"marker-end":`url(#l5b-rd1-head)`}),i(`text`,{x:`237`,y:`90`,class:`dl-dg-small`},`W_xh`)],-1),y[3]||=i(`div`,{class:`mt-1 dl-math-xs`},[i(`p`,null,[i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`msub`,null,[i(`mi`,null,`W`),i(`mrow`,null,[i(`mi`,null,`x`),i(`mi`,null,`h`)])]),i(`mo`,null,`=`),i(`mrow`,null,[i(`mo`,{fence:`true`},`[`),i(`mtable`,{rowspacing:`0.16em`,columnalign:`center center`,columnspacing:`1em`},[i(`mtr`,null,[i(`mtd`,null,[i(`mstyle`,{scriptlevel:`0`,displaystyle:`false`},[i(`mn`,null,`0`)])]),i(`mtd`,null,[i(`mstyle`,{scriptlevel:`0`,displaystyle:`false`},[i(`mn`,null,`2`)])])]),i(`mtr`,null,[i(`mtd`,null,[i(`mstyle`,{scriptlevel:`0`,displaystyle:`false`},[i(`mn`,null,`1`)])]),i(`mtd`,null,[i(`mstyle`,{scriptlevel:`0`,displaystyle:`false`},[i(`mn`,null,`0`)])])])]),i(`mo`,{fence:`true`},`]`)])]),i(`annotation`,{encoding:`application/x-tex`},`W_{xh} = \\begin{bmatrix} 0 & 2 \\\\ 1 & 0 \\end{bmatrix}`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.8333em`,"vertical-align":`-0.15em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathnormal`,style:{"margin-right":`0.1389em`}},`W`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.3361em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`-0.1389em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mtight`},[i(`span`,{class:`mord mathnormal mtight`},`x`),i(`span`,{class:`mord mathnormal mtight`},`h`)])])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.15em`}},[i(`span`)])])])])]),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}}),i(`span`,{class:`mrel`},`=`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}})]),i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`2.4em`,"vertical-align":`-0.95em`}}),i(`span`,{class:`minner`},[i(`span`,{class:`mopen delimcenter`,style:{top:`0em`}},[i(`span`,{class:`delimsizing size3`},`[`)]),i(`span`,{class:`mord`},[i(`span`,{class:`mtable`},[i(`span`,{class:`col-align-c`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`1.45em`}},[i(`span`,{style:{top:`-3.61em`}},[i(`span`,{class:`pstrut`,style:{height:`3em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord`},`0`)])]),i(`span`,{style:{top:`-2.41em`}},[i(`span`,{class:`pstrut`,style:{height:`3em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord`},`1`)])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.95em`}},[i(`span`)])])])]),i(`span`,{class:`arraycolsep`,style:{width:`0.5em`}}),i(`span`,{class:`arraycolsep`,style:{width:`0.5em`}}),i(`span`,{class:`col-align-c`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`1.45em`}},[i(`span`,{style:{top:`-3.61em`}},[i(`span`,{class:`pstrut`,style:{height:`3em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord`},`2`)])]),i(`span`,{style:{top:`-2.41em`}},[i(`span`,{class:`pstrut`,style:{height:`3em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord`},`0`)])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.95em`}},[i(`span`)])])])])])]),i(`span`,{class:`mclose delimcenter`,style:{top:`0em`}},[i(`span`,{class:`delimsizing size3`},`]`)])])])])]),u(`, `),i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`msub`,null,[i(`mi`,null,`W`),i(`mrow`,null,[i(`mi`,null,`h`),i(`mi`,null,`h`)])]),i(`mo`,null,`=`),i(`mrow`,null,[i(`mo`,{fence:`true`},`[`),i(`mtable`,{rowspacing:`0.16em`,columnalign:`center center`,columnspacing:`1em`},[i(`mtr`,null,[i(`mtd`,null,[i(`mstyle`,{scriptlevel:`0`,displaystyle:`false`},[i(`mn`,null,`0.5`)])]),i(`mtd`,null,[i(`mstyle`,{scriptlevel:`0`,displaystyle:`false`},[i(`mn`,null,`0`)])])]),i(`mtr`,null,[i(`mtd`,null,[i(`mstyle`,{scriptlevel:`0`,displaystyle:`false`},[i(`mrow`,null,[i(`mo`,null,`−`),i(`mn`,null,`1.5`)])])]),i(`mtd`,null,[i(`mstyle`,{scriptlevel:`0`,displaystyle:`false`},[i(`mn`,null,`0.8`)])])])]),i(`mo`,{fence:`true`},`]`)])]),i(`annotation`,{encoding:`application/x-tex`},`W_{hh} = \\begin{bmatrix} 0.5 & 0 \\\\ -1.5 & 0.8 \\end{bmatrix}`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.8333em`,"vertical-align":`-0.15em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathnormal`,style:{"margin-right":`0.1389em`}},`W`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.3361em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`-0.1389em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mtight`},[i(`span`,{class:`mord mathnormal mtight`},`hh`)])])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.15em`}},[i(`span`)])])])])]),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}}),i(`span`,{class:`mrel`},`=`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}})]),i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`2.4em`,"vertical-align":`-0.95em`}}),i(`span`,{class:`minner`},[i(`span`,{class:`mopen delimcenter`,style:{top:`0em`}},[i(`span`,{class:`delimsizing size3`},`[`)]),i(`span`,{class:`mord`},[i(`span`,{class:`mtable`},[i(`span`,{class:`col-align-c`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`1.45em`}},[i(`span`,{style:{top:`-3.61em`}},[i(`span`,{class:`pstrut`,style:{height:`3em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord`},`0.5`)])]),i(`span`,{style:{top:`-2.41em`}},[i(`span`,{class:`pstrut`,style:{height:`3em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord`},`−`),i(`span`,{class:`mord`},`1.5`)])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.95em`}},[i(`span`)])])])]),i(`span`,{class:`arraycolsep`,style:{width:`0.5em`}}),i(`span`,{class:`arraycolsep`,style:{width:`0.5em`}}),i(`span`,{class:`col-align-c`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`1.45em`}},[i(`span`,{style:{top:`-3.61em`}},[i(`span`,{class:`pstrut`,style:{height:`3em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord`},`0`)])]),i(`span`,{style:{top:`-2.41em`}},[i(`span`,{class:`pstrut`,style:{height:`3em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord`},`0.8`)])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.95em`}},[i(`span`)])])])])])]),i(`span`,{class:`mclose delimcenter`,style:{top:`0em`}},[i(`span`,{class:`delimsizing size3`},`]`)])])])])]),u(`, `),i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`msub`,null,[i(`mi`,{mathvariant:`bold`},`b`),i(`mi`,null,`h`)]),i(`mo`,null,`=`),i(`mn`,{mathvariant:`bold`},`0`)]),i(`annotation`,{encoding:`application/x-tex`},`\\mathbf{b}_h = \\mathbf{0}`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.8444em`,"vertical-align":`-0.15em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathbf`},`b`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.3361em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mathnormal mtight`},`h`)])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.15em`}},[i(`span`)])])])])]),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}}),i(`span`,{class:`mrel`},`=`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}})]),i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.6444em`}}),i(`span`,{class:`mord mathbf`},`0`)])])])])],-1),s((d(),a(`div`,v,[...y[1]||=[i(`p`,null,[u(`Result: `),i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`msub`,null,[i(`mi`,{mathvariant:`bold`},`h`),i(`mn`,null,`5`)]),i(`mo`,null,`=`),i(`mo`,{stretchy:`false`},`[`),i(`mn`,null,`0.448`),i(`mo`,{separator:`true`},`,`),i(`mo`,null,`−`),i(`mn`,null,`0.419`),i(`mo`,{stretchy:`false`},`]`)]),i(`annotation`,{encoding:`application/x-tex`},`\\mathbf{h}_5 = [0.448, -0.419]`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.8444em`,"vertical-align":`-0.15em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathbf`},`h`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.3011em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mtight`},`5`)])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.15em`}},[i(`span`)])])])])]),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}}),i(`span`,{class:`mrel`},`=`),i(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}})]),i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`1em`,"vertical-align":`-0.25em`}}),i(`span`,{class:`mopen`},`[`),i(`span`,{class:`mord`},`0.448`),i(`span`,{class:`mpunct`},`,`),i(`span`,{class:`mspace`,style:{"margin-right":`0.1667em`}}),i(`span`,{class:`mord`},`−`),i(`span`,{class:`mord`},`0.419`),i(`span`,{class:`mclose`},`]`)])])]),u(`. The next slide works it out, one step per click.`)],-1)]])),[[x]])])])]),_:1},16)}}};export{y as default}; \ No newline at end of file diff --git a/lecture-05/assets/md-GuP5bC9D2.js b/lecture-05/assets/md-GuP5bC9D2.js new file mode 100644 index 0000000000000000000000000000000000000000..74bae0bcfbc7f186a04c76aec745247e3c26b651 --- /dev/null +++ b/lecture-05/assets/md-GuP5bC9D2.js @@ -0,0 +1 @@ +import{$ as e,E as t,S as n,St as r,V as i,W as a,_ as o,b as s,bt as c,et as l,m as u,v as d,vt as f,x as p,y as m,z as h}from"./modules/shiki-CkJq9tSf.js";import{n as g,t as _}from"./slidev/context-DnYiQGy6.js";import{t as v}from"./default-BTjgsdmC.js";import{t as y}from"./slidev/VClicks-DLDbGwsQ.js";var b={class:`dl-diagram mx-auto mt-2`,viewBox:`0 0 600 150`,style:{"max-height":`9.5rem`},role:`img`,"aria-label":`Against clock time: the RNN computes one step per tick, five ticks for five words. A CNN or an attention sum computes all five positions in the first tick.`},x=[`x`],S=[`x`],C=[`d`],w=[`x`,`y`],T=[`x`],E={class:`dl-tight mt-2`},D={class:`mt-2 dl-callout`},O={__name:`slides.md__slidev_68`,setup(O){let{$slidev:k,$nav:A,$clicksContext:j,$clicks:M,$page:N,$renderContext:P,$frontmatter:F}=g();return j.setup(),(g,O)=>{let k=y,A=a(`click`);return h(),d(v,c(t(f(_)(f(F),67))),{default:e(()=>[O[7]||=o(`h1`,null,`The other wall — and this one attention does not fix`,-1),O[8]||=o(`p`,null,[o(`span`,{class:`katex`},[o(`span`,{class:`katex-mathml`},[o(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[o(`semantics`,null,[o(`mrow`,null,[o(`msub`,null,[o(`mi`,{mathvariant:`bold`},`h`),o(`mi`,null,`t`)])]),o(`annotation`,{encoding:`application/x-tex`},`\\mathbf{h}_t`)])])]),o(`span`,{class:`katex-html`,"aria-hidden":`true`},[o(`span`,{class:`katex-base`},[o(`span`,{class:`katex-strut`,style:{height:`0.8444em`,"vertical-align":`-0.15em`}}),o(`span`,{class:`mord`},[o(`span`,{class:`mord mathbf`},`h`),o(`span`,{class:`msupsub`},[o(`span`,{class:`vlist-t vlist-t2`},[o(`span`,{class:`vlist-r`},[o(`span`,{class:`vlist`,style:{height:`0.2806em`}},[o(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[o(`span`,{class:`pstrut`,style:{height:`2.7em`}}),o(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[o(`span`,{class:`mord mathnormal mtight`},`t`)])])]),o(`span`,{class:`vlist-s`},`​`)]),o(`span`,{class:`vlist-r`},[o(`span`,{class:`vlist`,style:{height:`0.15em`}},[o(`span`)])])])])])])])]),p(` needs `),o(`span`,{class:`katex`},[o(`span`,{class:`katex-mathml`},[o(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[o(`semantics`,null,[o(`mrow`,null,[o(`msub`,null,[o(`mi`,{mathvariant:`bold`},`h`),o(`mrow`,null,[o(`mi`,null,`t`),o(`mo`,null,`−`),o(`mn`,null,`1`)])])]),o(`annotation`,{encoding:`application/x-tex`},`\\mathbf{h}_{t-1}`)])])]),o(`span`,{class:`katex-html`,"aria-hidden":`true`},[o(`span`,{class:`katex-base`},[o(`span`,{class:`katex-strut`,style:{height:`0.9028em`,"vertical-align":`-0.2083em`}}),o(`span`,{class:`mord`},[o(`span`,{class:`mord mathbf`},`h`),o(`span`,{class:`msupsub`},[o(`span`,{class:`vlist-t vlist-t2`},[o(`span`,{class:`vlist-r`},[o(`span`,{class:`vlist`,style:{height:`0.3011em`}},[o(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[o(`span`,{class:`pstrut`,style:{height:`2.7em`}}),o(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[o(`span`,{class:`mord mtight`},[o(`span`,{class:`mord mathnormal mtight`},`t`),o(`span`,{class:`mbin mtight`},`−`),o(`span`,{class:`mord mtight`},`1`)])])])]),o(`span`,{class:`vlist-s`},`​`)]),o(`span`,{class:`vlist-r`},[o(`span`,{class:`vlist`,style:{height:`0.2083em`}},[o(`span`)])])])])])])])]),p(`, so the steps `),o(`strong`,null,`cannot`),p(` run in parallel.`)],-1),(h(),s(`svg`,b,[O[0]||=o(`defs`,null,[o(`marker`,{id:`l5d-head-wall`,markerWidth:`7`,markerHeight:`7`,refX:`6`,refY:`3.5`,orient:`auto`},[o(`path`,{d:`M0 0 L7 3.5 L0 7 z`,class:`dl-dg-head`})])],-1),O[1]||=o(`text`,{class:`dl-dg-lab is-sm`,x:`0`,y:`34`},`RNN`,-1),(h(),s(u,null,i(5,e=>o(`g`,{key:`r${e}`},[o(`rect`,{class:`dl-dg-net`,x:130+(e-1)*94,y:`16`,width:`56`,height:`28`,rx:`5`},null,8,x),o(`text`,{class:`dl-dg-small`,x:158+(e-1)*94,y:`34`,"text-anchor":`middle`},`h`+r(e),9,S),e<5?(h(),s(`path`,{key:0,class:`dl-dg-arrow`,d:`M${186+(e-1)*94} 30 H${222+(e-1)*94}`,"marker-end":`url(#l5d-head-wall)`},null,8,C)):m(`v-if`,!0)])),64)),O[2]||=o(`text`,{class:`dl-dg-lab is-sm`,x:`0`,y:`80`},`CNN, attention`,-1),(h(),s(u,null,i(5,e=>o(`g`,{key:`p${e}`},[o(`rect`,{class:`dl-dg-box is-accent`,x:130+(e-1)*5,y:58+(e-1)*5,width:`56`,height:`28`,rx:`5`},null,8,w)])),64)),O[3]||=o(`text`,{class:`dl-dg-small`,x:`222`,y:`84`},`all at once`,-1),O[4]||=o(`path`,{class:`dl-dg-line is-muted`,d:`M130 124 H590`},null,-1),(h(),s(u,null,i(5,e=>o(`g`,{key:`t${e}`},[o(`text`,{class:`dl-dg-small`,x:158+(e-1)*94,y:`142`,"text-anchor":`middle`},`tick `+r(e),9,T)])),64))])),o(`div`,E,[n(k,null,{default:e(()=>[...O[5]||=[o(`ul`,null,[o(`li`,null,`200 tokens: 200 matrix multiplies, one after another`),o(`li`,null,`The batch runs in parallel. Time cannot`),o(`li`,null,`More hardware does not shorten the chain`)],-1)]]),_:1})]),l((h(),s(`div`,D,[...O[6]||=[o(`p`,null,`Attention fixed the bottleneck. But the encoder and decoder are still RNNs: one step at a time.`,-1)]])),[[A]])]),_:1},16)}}};export{O as default}; \ No newline at end of file diff --git a/lecture-05/assets/md-IPFWf0bW.js b/lecture-05/assets/md-IPFWf0bW.js new file mode 100644 index 0000000000000000000000000000000000000000..26dc44000e17d71e64f15ae65588c516c826fdcc --- /dev/null +++ b/lecture-05/assets/md-IPFWf0bW.js @@ -0,0 +1 @@ +import{$ as e,E as t,S as n,St as r,V as i,W as a,_ as o,b as s,bt as c,et as l,g as u,m as d,ut as f,v as p,vt as m,w as ee,x as h,y as g,yt as _,z as v}from"./modules/shiki-CkJq9tSf.js";import{t as y}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{n as b,t as x}from"./slidev/context-DnYiQGy6.js";import{n as S}from"./useConvolution-mOidZmS_.js";import{c as C,i as w,l as te,r as T,t as ne,u as E}from"./useRecurrence-PhWWMav6.js";import{t as D}from"./slidev/VClicks-DLDbGwsQ.js";import{n as O,t as k}from"./interactive-pqWNz3EB.js";import{t as A}from"./Katex-TqgxGJEq.js";import{t as j}from"./StepButton-BvnaUJaa.js";var M={class:`dl-rtrace`},N={class:`dl-rtrace__strip`},P={class:`dl-rtrace__strip`},F={class:`dl-rtrace__math`},I={key:0},L={key:1,class:`dl-rtrace__note`},R={key:2,class:`dl-rtrace__note`},z={key:3,class:`dl-rtrace__note`},B=4,V=y(ee({__name:`RnnStepTrace`,props:{steps:{default:4},example:{default:`pulse`}},setup(t){let{$slidev:a,$nav:c,$clicksContext:l,$clicks:ee,$page:y,$renderContext:x,$frontmatter:D}=b(),k=t,V=u(()=>k.example===`review`),H=u(()=>V.value?w:ne),U=u(()=>V.value?T.length:k.steps),W=u(()=>V.value?C(T):Array.from({length:k.steps},(e,t)=>[+(t%2==0)])),G=u(()=>V.value?T:W.value.map(e=>String(e[0]))),K=u(()=>te(W.value,H.value)),q=f(0),J=f(1),Y=u(()=>K.value[Math.min(q.value,U.value-1)]),X=u(()=>q.value===U.value-1&&J.value===B);function re(){if(J.value`\\begin{bmatrix}${e.map(e=>S(e)).join(` \\\\ `)}\\end{bmatrix}`,$=e=>`\\begin{bmatrix}${e.map(e=>e.map(e=>S(e)).join(` & `)).join(` \\\\ `)}\\end{bmatrix}`,ie=u(()=>{let e=Y.value,t=e.t;return`\\begin{aligned} ${[`h_{${t}} &= \\tanh\\!\\left(W_{xh}\\,x_{${t}} + W_{hh}\\,h_{${t-1}} + b_h\\right)`,`&= \\tanh\\!\\left(${$(H.value.wxh)}${Q(e.x)} + ${$(H.value.whh)}${Q(e.hPrev)}\\right)`,`&= \\tanh\\!\\left(${Q(e.fromInput)} + ${Q(e.fromState)}\\right)`,`&= \\tanh${Q(e.z)} = \\mathbf{${Q(e.h)}}`].slice(0,J.value).join(` \\\\[4pt] `)} \\end{aligned}`}),ae=[`one rule, and it is the same rule at every step — only x and h carry a t`,`the numbers: the same two matrices as every other step, and b = 0 here`,`what this step’s input brought, beside what everything before it brought`,`add them, squash with tanh — and that is the state the next step will read`],oe=u(()=>ae[J.value-1]);return(t,a)=>{let c=A,l=j,u=O;return v(),p(u,{"max-width":`42rem`},{controls:e(()=>[n(l,{label:X.value?`Start over`:`Next line`,glyph:`▸`,onClick:a[0]||=e=>X.value?Z():re()},null,8,[`label`]),n(l,{label:`Reset`,variant:`ghost`,glyph:`↺`,onClick:Z})]),readout:e(()=>[a[16]||=h(` Step `,-1),o(`strong`,null,r(Y.value.t),1),h(` of `+r(U.value)+`, line `+r(J.value)+` of `+r(B)+` — `+r(oe.value)+`. `,1),J.value===B&&!V.value?(v(),s(`span`,I,[a[3]||=h(` The output is then o`,-1),o(`sub`,null,r(Y.value.t),1),a[4]||=h(` = W`,-1),a[5]||=o(`sub`,null,`ho`,-1),a[6]||=h(`h`,-1),o(`sub`,null,r(Y.value.t),1),a[7]||=h(` = `,-1),o(`strong`,null,r(m(S)(Y.value.o[0])),1),a[8]||=h(`. `,-1)])):g(`v-if`,!0),J.value===B&&V.value&&Y.value.t===U.value?(v(),s(`span`,L,[h(` Last word read: ŷ = σ(3 × `+r(m(S)(Y.value.h[1]))+`) = `,1),o(`strong`,null,r(m(S)(m(E)(Y.value.o[0]))),1),a[9]||=h(` — negative. Without `,-1),a[10]||=o(`em`,null,`not`,-1),a[11]||=h(`, the same weights give 0.91. `,-1)])):J.value===B&&V.value&&G.value[q.value]===`not`?(v(),s(`span`,R,[...a[12]||=[h(` The first unit is now a flag: “a `,-1),o(`em`,null,`not`,-1),h(` just happened”. `,-1)]])):g(`v-if`,!0),J.value===B&&!V.value&&Y.value.x[0]===0?(v(),s(`span`,z,[a[13]||=h(` x`,-1),o(`sub`,null,r(Y.value.t),1),a[14]||=h(` = 0, and h`,-1),o(`sub`,null,r(Y.value.t),1),a[15]||=h(` ≠ 0. Every number in it came from earlier steps. `,-1)])):g(`v-if`,!0)]),default:e(()=>[o(`div`,M,[g(` The sequence, with the step being derived marked. `),o(`div`,N,[a[1]||=o(`div`,{class:`dl-rtrace__key`},`x`,-1),(v(!0),s(d,null,i(G.value,(e,t)=>(v(),s(`div`,{key:`x${t}`,class:_([`dl-rtrace__cell`,{"is-current":t===q.value}])},r(e),3))),128))]),o(`div`,P,[a[2]||=o(`div`,{class:`dl-rtrace__key`},`h`,-1),(v(!0),s(d,null,i(K.value,(e,t)=>(v(),s(`div`,{key:`h${t}`,class:_([`dl-rtrace__cell is-state`,{"is-current":t===q.value,"is-empty":t>q.value||t===q.value&&J.valueq.value||t===q.value&&J.value{let u=V,d=D,f=a(`click`);return v(),p(k,c(t(m(x)(m(_),20))),{aside:e(t=>[i[2]||=o(`p`,null,[h(`Review B, one word per step, with the toy weights. Press `),o(`strong`,null,`Next line`),h(`:`)],-1),n(d,null,{default:e(()=>[...i[0]||=[o(`ul`,null,[o(`li`,null,[h(`the rule, with `),o(`span`,{class:`katex`},[o(`span`,{class:`katex-mathml`},[o(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[o(`semantics`,null,[o(`mrow`,null,[o(`mi`,null,`t`)]),o(`annotation`,{encoding:`application/x-tex`},`t`)])])]),o(`span`,{class:`katex-html`,"aria-hidden":`true`},[o(`span`,{class:`katex-base`},[o(`span`,{class:`katex-strut`,style:{height:`0.6151em`}}),o(`span`,{class:`mord mathnormal`},`t`)])])]),h(` fixed`)]),o(`li`,null,`the numbers: the same two matrices at every step`),o(`li`,null,[h(`what `),o(`strong`,null,`this word`),h(` brought, beside what `),o(`strong`,null,`the note`),h(` brought`)]),o(`li`,null,`add, squash, done`)],-1)]]),_:1}),l((v(),s(`div`,H,[...i[1]||=[o(`p`,null,[h(`Line 3 at `),o(`em`,null,`great`),h(` is the one to be able to produce unaided.`)],-1)]])),[[f]])]),default:e(()=>[n(u,{example:`review`})]),_:1},16)}}};export{U as default}; \ No newline at end of file diff --git a/lecture-05/assets/md-UKvkYPy6.js b/lecture-05/assets/md-UKvkYPy6.js new file mode 100644 index 0000000000000000000000000000000000000000..b5951cf8dd8acb8b1ec04e59703de0f33e294457 --- /dev/null +++ b/lecture-05/assets/md-UKvkYPy6.js @@ -0,0 +1 @@ +import{$ as e,E as t,S as n,W as r,_ as i,b as a,bt as o,et as s,v as c,vt as l,x as u,z as d}from"./modules/shiki-CkJq9tSf.js";import{n as f,t as p}from"./slidev/context-DnYiQGy6.js";import{t as m}from"./WordStrip-wEzaLRUv.js";import{t as h}from"./default-BTjgsdmC.js";import{t as g}from"./slidev/VClicks-DLDbGwsQ.js";var _={class:`grid grid-cols-2 gap-8 mt-3 dl-tight`},v={class:`dl-callout`},y={__name:`slides.md__slidev_22`,setup(y){let{$slidev:b,$nav:x,$clicksContext:S,$clicks:C,$page:w,$renderContext:T,$frontmatter:E}=f();return S.setup(),(f,y)=>{let b=m,x=g,S=r(`click`);return d(),c(h,o(t(l(p)(l(E),21))),{default:e(()=>[y[2]||=i(`h1`,null,`What the state actually is`,-1),n(b,{review:`B`,state:``,verdict:``,highlight:`not`,upto:l(C)+3,width:640},null,8,[`upto`]),i(`div`,_,[i(`div`,null,[n(x,null,{default:e(()=>[...y[0]||=[i(`ul`,null,[i(`li`,null,[i(`strong`,null,`Unit 1, the not-flag:`),u(` 0 until `),i(`em`,null,`not`),u(`, then 0.964`)]),i(`li`,null,[i(`strong`,null,`Unit 2, the sentiment:`),u(),i(`em`,null,`great`),u(` pushes it `),i(`strong`,null,`down`),u(`, to −0.419`)]),i(`li`,null,[u(`The wire: `),i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`mo`,null,`−`),i(`mn`,null,`1.5`)]),i(`annotation`,{encoding:`application/x-tex`},`-1.5`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.7278em`,"vertical-align":`-0.0833em`}}),i(`span`,{class:`mord`},`−`),i(`span`,{class:`mord`},`1.5`)])])]),u(` in `),i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`msub`,null,[i(`mi`,null,`W`),i(`mrow`,null,[i(`mi`,null,`h`),i(`mi`,null,`h`)])])]),i(`annotation`,{encoding:`application/x-tex`},`W_{hh}`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.8333em`,"vertical-align":`-0.15em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathnormal`,style:{"margin-right":`0.1389em`}},`W`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.3361em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`-0.1389em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mtight`},[i(`span`,{class:`mord mathnormal mtight`},`hh`)])])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.15em`}},[i(`span`)])])])])])])])]),u(` carries the flag into the sentiment`)])],-1)]]),_:1})]),i(`div`,null,[s((d(),a(`div`,v,[...y[1]||=[i(`p`,null,[i(`span`,{class:`katex`},[i(`span`,{class:`katex-mathml`},[i(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[i(`semantics`,null,[i(`mrow`,null,[i(`msub`,null,[i(`mi`,{mathvariant:`bold`},`h`),i(`mi`,null,`t`)])]),i(`annotation`,{encoding:`application/x-tex`},`\\mathbf{h}_t`)])])]),i(`span`,{class:`katex-html`,"aria-hidden":`true`},[i(`span`,{class:`katex-base`},[i(`span`,{class:`katex-strut`,style:{height:`0.8444em`,"vertical-align":`-0.15em`}}),i(`span`,{class:`mord`},[i(`span`,{class:`mord mathbf`},`h`),i(`span`,{class:`msupsub`},[i(`span`,{class:`vlist-t vlist-t2`},[i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.2806em`}},[i(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[i(`span`,{class:`pstrut`,style:{height:`2.7em`}}),i(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[i(`span`,{class:`mord mathnormal mtight`},`t`)])])]),i(`span`,{class:`vlist-s`},`​`)]),i(`span`,{class:`vlist-r`},[i(`span`,{class:`vlist`,style:{height:`0.15em`}},[i(`span`)])])])])])])])]),u(` is a `),i(`strong`,null,`fixed-size summary`),u(`: 2 numbers here, 128 in a real layer, after 3 words or 300. It must throw information away.`)],-1)]])),[[S]])])])]),_:1},16)}}};export{y as default}; \ No newline at end of file diff --git a/lecture-05/assets/md-WXzmuIAG.js b/lecture-05/assets/md-WXzmuIAG.js new file mode 100644 index 0000000000000000000000000000000000000000..d402aa62c2ebb2b4885d62e68d0f4a8a4a4e7d02 --- /dev/null +++ b/lecture-05/assets/md-WXzmuIAG.js @@ -0,0 +1 @@ +import{$ as e,E as t,S as n,W as r,_ as i,b as a,bt as o,et as s,v as c,vt as l,z as u}from"./modules/shiki-CkJq9tSf.js";import{n as d,t as f}from"./slidev/context-DnYiQGy6.js";import{t as p}from"./default-BTjgsdmC.js";import{t as m}from"./PollSlide-DdhNTMpP.js";var h={class:`grid grid-cols-[1fr_15rem] gap-6 items-start`},g={class:`mt-3 dl-reveal`},_={class:`mt-2 dl-secondary`},v={__name:`slides.md__slidev_13`,setup(v){let{$slidev:y,$nav:b,$clicksContext:x,$clicks:S,$page:C,$renderContext:w,$frontmatter:T}=d();return x.setup(),(d,v)=>{let y=m,b=r(`click`);return u(),c(p,o(t(l(f)(l(T),12))),{default:e(()=>[i(`div`,h,[i(`div`,null,[n(y,{question:`You train a sentiment model on 200-word reviews. At test time a 340-word review arrives. Which model just broke?`,items:[`The flattened MLP (multi-layer perceptron): its input layer has a fixed width`,`The 1D CNN: its filters have a fixed size`,`The RNN (recurrent neural network): it has a fixed number of time steps`,`All three`]})]),i(`div`,null,[v[2]||=i(`svg`,{viewBox:`0 0 240 110`,class:`dl-diagram`,role:`img`,"aria-label":`Training reviews are 200 words long; the test review is 340 words long`},[i(`text`,{class:`dl-dg-small`,x:`4`,y:`16`},`training: 200 words`),i(`rect`,{class:`dl-dg-fill is-muted`,x:`4`,y:`24`,width:`118`,height:`22`,rx:`3`}),i(`text`,{class:`dl-dg-small`,x:`4`,y:`72`},`test: 340 words`),i(`rect`,{class:`dl-dg-fill`,x:`4`,y:`80`,width:`200`,height:`22`,rx:`3`}),i(`path`,{class:`dl-dg-loss`,d:`M122 20 V106`})],-1),s((u(),a(`div`,g,[...v[0]||=[i(`p`,null,`The MLP`,-1)]])),[[b]]),s((u(),a(`div`,_,[...v[1]||=[i(`p`,null,`A filter slides, so a CNN takes any length. An RNN’s loop runs as many times as you ask. Only the flattened dense layer has a width built into its weights.`,-1)]])),[[b]])])])]),_:1},16)}}};export{v as default}; \ No newline at end of file diff --git a/lecture-05/assets/md-YBf2HP0I2.js b/lecture-05/assets/md-YBf2HP0I2.js new file mode 100644 index 0000000000000000000000000000000000000000..a933fbe701baab09506a3e8fbfa3cf0a30e7f4e3 --- /dev/null +++ b/lecture-05/assets/md-YBf2HP0I2.js @@ -0,0 +1,7 @@ +import{$ as e,E as t,M as n,S as r,V as i,_ as a,b as o,bt as s,m as c,v as l,vt as u,x as d,z as f}from"./modules/shiki-CkJq9tSf.js";import{n as p,t as m}from"./slidev/context-DnYiQGy6.js";import{t as h}from"./default-BTjgsdmC.js";import{t as g}from"./slidev/VClicks-DLDbGwsQ.js";import{t as _}from"./slidev/CodeBlockWrapper-RJVA2-nu.js";var v={class:`grid grid-cols-[1.3fr_1fr] gap-6 items-start`},y={viewBox:`0 0 330 110`,class:`dl-diagram is-sm`,role:`img`,"aria-label":`Three chunks of cells: the state flows forward through all of them; the gradient flows back only inside each chunk, and stops at the detach cuts`},b=[`x`],x=[`d`],S={class:`dl-tight`},C={__name:`slides.md__slidev_36`,setup(C){let{$slidev:w,$nav:T,$clicksContext:E,$clicks:D,$page:O,$renderContext:k,$frontmatter:A}=p();return E.setup(),(p,C)=>{let w=_,T=g;return f(),l(h,s(t(u(m)(u(A),35))),{default:e(()=>[C[9]||=a(`h1`,null,`Truncated backpropagation through time`,-1),C[10]||=a(`p`,null,`A 100 000-character book is one sequence, and 100 000 steps of activations do not fit in memory.`,-1),a(`div`,v,[a(`div`,null,[r(w,n({lines:!0},{title:``,ranges:[`all`,`3`,`4-5`,`6`,`all`]}),{default:e(()=>[...C[0]||=[a(`pre`,{class:`shiki shiki-themes vitesse-dark vitesse-light slidev-code`,style:{"--shiki-dark":`#dbd7caee`,"--shiki-light":`#393a34`,"--shiki-dark-bg":`#121212`,"--shiki-light-bg":`#ffffff`}},[a(`code`,{class:`language-python`},[a(`span`,{class:`line`},[a(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},`hidden `),a(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`=`),a(`span`,{style:{"--shiki-dark":`#4D9375`,"--shiki-light":`#1E754F`}},` None`)]),d(` +`),a(`span`,{class:`line`},[a(`span`,{style:{"--shiki-dark":`#4D9375`,"--shiki-light":`#1E754F`}},`for`),a(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},` chunk `),a(`span`,{style:{"--shiki-dark":`#4D9375`,"--shiki-light":`#1E754F`}},`in`),a(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},` chunks_of`),a(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`(`),a(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},`book`),a(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`,`),a(`span`,{style:{"--shiki-dark":`#BD976A`,"--shiki-light":`#B07D48`}},` size`),a(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`=`),a(`span`,{style:{"--shiki-dark":`#4C9A91`,"--shiki-light":`#2F798A`}},`128`),a(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`):`),a(`span`,{style:{"--shiki-dark":`#758575DD`,"--shiki-light":`#A0ADA0`}},` # 128 steps`)]),d(` +`),a(`span`,{class:`line`},[a(`span`,{style:{"--shiki-dark":`#4D9375`,"--shiki-light":`#1E754F`}},` if`),a(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},` hidden `),a(`span`,{style:{"--shiki-dark":`#CB7676`,"--shiki-light":`#AB5959`}},`is`),a(`span`,{style:{"--shiki-dark":`#CB7676`,"--shiki-light":`#AB5959`}},` not`),a(`span`,{style:{"--shiki-dark":`#4D9375`,"--shiki-light":`#1E754F`}},` None`),a(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`:`)]),d(` +`),a(`span`,{class:`line`},[a(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},` hidden `),a(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`=`),a(`span`,{style:{"--shiki-dark":`#B8A965`,"--shiki-light":`#998418`}},` tuple`),a(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`(`),a(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},`h`),a(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`.`),a(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},`detach`),a(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`()`),a(`span`,{style:{"--shiki-dark":`#4D9375`,"--shiki-light":`#1E754F`}},` for`),a(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},` h `),a(`span`,{style:{"--shiki-dark":`#4D9375`,"--shiki-light":`#1E754F`}},`in`),a(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},` hidden`),a(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`)`)]),d(` +`),a(`span`,{class:`line`},[a(`span`,{style:{"--shiki-dark":`#758575DD`,"--shiki-light":`#A0ADA0`}},` # keep the values, cut the graph`)]),d(` +`),a(`span`,{class:`line`},[a(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},` logits`),a(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`,`),a(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},` hidden `),a(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`=`),a(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},` model`),a(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`(`),a(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},`chunk`),a(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`,`),a(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},` hidden`),a(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`)`)]),d(` +`),a(`span`,{class:`line`},[a(`span`,{style:{"--shiki-dark":`#C99076`,"--shiki-light":`#A65E2B`}},` ...`),a(`span`,{style:{"--shiki-dark":`#758575DD`,"--shiki-light":`#A0ADA0`}},` # loss, backward, step`)])])],-1)]]),_:1},16)]),a(`div`,null,[(f(),o(`svg`,y,[C[1]||=a(`defs`,null,[a(`marker`,{id:`l5b-tb-back`,markerWidth:`7`,markerHeight:`7`,refX:`6`,refY:`3.5`,orient:`auto`},[a(`path`,{d:`M0 0 L7 3.5 L0 7 z`,style:{fill:`var(--dl-danger)`}})])],-1),C[2]||=a(`path`,{d:`M8 44 H322`,class:`dl-dg-line`},null,-1),(f(),o(c,null,i(9,e=>a(`g`,{key:e},[a(`rect`,{x:10+(e-1)*35+Math.floor((e-1)/3)*8,y:`34`,width:`22`,height:`20`,rx:`3`,class:`dl-dg-box is-accent`},null,8,b)])),64)),(f(),o(c,null,i(3,e=>a(`g`,{key:`c${e}`},[a(`path`,{d:`M${76+(e-1)*113} 70 H${22+(e-1)*113}`,class:`dl-dg-grad is-bad`,"marker-end":`url(#l5b-tb-back)`},null,8,x)])),64)),C[3]||=a(`path`,{d:`M112 18 V90`,class:`dl-dg-split`,style:{"stroke-dasharray":`4 3`}},null,-1),C[4]||=a(`path`,{d:`M225 18 V90`,class:`dl-dg-split`,style:{"stroke-dasharray":`4 3`}},null,-1),C[5]||=a(`text`,{x:`112`,y:`12`,"text-anchor":`middle`,class:`dl-dg-small`},`detach()`,-1),C[6]||=a(`text`,{x:`225`,y:`12`,"text-anchor":`middle`,class:`dl-dg-small`},`detach()`,-1),C[7]||=a(`text`,{x:`165`,y:`104`,"text-anchor":`middle`,class:`dl-dg-small is-bad`},`gradient: inside one chunk only`,-1)]))])]),a(`div`,S,[r(T,null,{default:e(()=>[...C[8]||=[a(`ul`,null,[a(`li`,null,[d(`The state still flows `),a(`strong`,null,`forward`),d(` across chunks: the model’s context is not cut`)]),a(`li`,null,[d(`Only the `),a(`strong`,null,`gradient`),d(` stops at the boundary. That is what `),a(`code`,null,`detach()`),d(` does`)]),a(`li`,null,[d(`Forget the `),a(`code`,null,`detach`),d(` and the graph grows until the run runs out of memory`)])],-1)]]),_:1})])]),_:1},16)}}};export{C as default}; \ No newline at end of file diff --git a/lecture-05/assets/md-_2u5jvtc.js b/lecture-05/assets/md-_2u5jvtc.js new file mode 100644 index 0000000000000000000000000000000000000000..d080d6c5edec64441cde73b921f918996e7fb46c --- /dev/null +++ b/lecture-05/assets/md-_2u5jvtc.js @@ -0,0 +1 @@ +import{$ as e,E as t,S as n,V as r,W as i,_ as a,b as o,bt as s,et as c,m as l,v as u,vt as d,x as f,y as p,yt as m,z as h}from"./modules/shiki-CkJq9tSf.js";import{n as g,t as _}from"./slidev/context-DnYiQGy6.js";import{t as v}from"./default-BTjgsdmC.js";import{t as y}from"./slidev/KaTexBlockWrapper-DAxOb9nH.js";var b={class:`grid grid-cols-2 gap-10 mt-1 dl-tight`},x={viewBox:`0 0 300 76`,class:`dl-diagram is-sm`,role:`img`,"aria-label":`Five cells in a chain; only the last one feeds a loss`},S=[`x`],C=[`d`],w={class:`dl-math-sm`},T={viewBox:`0 0 300 76`,class:`dl-diagram is-sm`,role:`img`,"aria-label":`Five cells in a chain; every one feeds its own loss`},E=[`x`],D=[`d`],O=[`d`],k=[`x`],A={class:`dl-math-sm`},j={class:`mt-3 dl-callout`},M={__name:`slides.md__slidev_27`,setup(M){let{$slidev:N,$nav:P,$clicksContext:F,$clicks:I,$page:L,$renderContext:R,$frontmatter:z}=g();return F.setup(),(g,M)=>{let N=y,P=i(`click`);return h(),u(v,s(t(d(_)(d(z),26))),{default:e(()=>[M[9]||=a(`h1`,null,`The loss for a whole sequence`,-1),a(`div`,b,[a(`div`,null,[M[4]||=a(`h3`,null,`One label per review`,-1),(h(),o(`svg`,x,[(h(),o(l,null,r(5,e=>a(`g`,{key:e},[a(`rect`,{x:6+(e-1)*58,y:`34`,width:`40`,height:`28`,rx:`4`,class:m(e===5?`dl-dg-box is-accent`:`dl-dg-box`)},null,10,S),e<5?(h(),o(`path`,{key:0,d:`M${46+(e-1)*58} 48 H${64+(e-1)*58}`,class:`dl-dg-arrow`},null,8,C)):p(`v-if`,!0)])),64)),M[0]||=a(`path`,{d:`M258 32 V18`,class:`dl-dg-loss`},null,-1),M[1]||=a(`text`,{x:`258`,y:`12`,"text-anchor":`middle`,class:`dl-dg-small is-bad`},`ℓ`,-1)])),a(`div`,w,[n(N,{ranges:[]},{default:e(()=>[...M[2]||=[a(`p`,null,[a(`span`,{class:`katex-display`},[a(`span`,{class:`katex`},[a(`span`,{class:`katex-mathml`},[a(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`,display:`block`},[a(`semantics`,null,[a(`mrow`,null,[a(`mi`,null,`L`),a(`mo`,null,`=`),a(`mi`,{mathvariant:`normal`},`ℓ`),a(`mtext`,null,` ⁣`),a(`mrow`,null,[a(`mo`,{fence:`true`},`(`),a(`msub`,null,[a(`mi`,{mathvariant:`bold`},`o`),a(`mi`,null,`T`)]),a(`mo`,{separator:`true`},`,`),a(`mtext`,null,`  `),a(`mi`,null,`y`),a(`mo`,{fence:`true`},`)`)])]),a(`annotation`,{encoding:`application/x-tex`},`L = \\ell\\!\\left(\\mathbf{o}_T,\\; y\\right)`)])])]),a(`span`,{class:`katex-html`,"aria-hidden":`true`},[a(`span`,{class:`katex-base`},[a(`span`,{class:`katex-strut`,style:{height:`0.6833em`}}),a(`span`,{class:`mord mathnormal`},`L`),a(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}}),a(`span`,{class:`mrel`},`=`),a(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}})]),a(`span`,{class:`katex-base`},[a(`span`,{class:`katex-strut`,style:{height:`1em`,"vertical-align":`-0.25em`}}),a(`span`,{class:`mord`},`ℓ`),a(`span`,{class:`mspace`,style:{"margin-right":`-0.1667em`}}),a(`span`,{class:`mspace`,style:{"margin-right":`0.1667em`}}),a(`span`,{class:`minner`},[a(`span`,{class:`mopen delimcenter`,style:{top:`0em`}},`(`),a(`span`,{class:`mord`},[a(`span`,{class:`mord mathbf`},`o`),a(`span`,{class:`msupsub`},[a(`span`,{class:`vlist-t vlist-t2`},[a(`span`,{class:`vlist-r`},[a(`span`,{class:`vlist`,style:{height:`0.3283em`}},[a(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[a(`span`,{class:`pstrut`,style:{height:`2.7em`}}),a(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[a(`span`,{class:`mord mathnormal mtight`,style:{"margin-right":`0.1389em`}},`T`)])])]),a(`span`,{class:`vlist-s`},`​`)]),a(`span`,{class:`vlist-r`},[a(`span`,{class:`vlist`,style:{height:`0.15em`}},[a(`span`)])])])])]),a(`span`,{class:`mpunct`},`,`),a(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}}),a(`span`,{class:`mspace`,style:{"margin-right":`0.1667em`}}),a(`span`,{class:`mord mathnormal`,style:{"margin-right":`0.0359em`}},`y`),a(`span`,{class:`mclose delimcenter`,style:{top:`0em`}},`)`)])])])])])],-1)]]),_:1})]),c((h(),o(`div`,null,[...M[3]||=[a(`p`,null,[f(`One term, at the last word. Review B: `),a(`span`,{class:`katex`},[a(`span`,{class:`katex-mathml`},[a(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[a(`semantics`,null,[a(`mrow`,null,[a(`mi`,{mathvariant:`normal`},`ℓ`),a(`mo`,null,`=`),a(`mo`,null,`−`),a(`mi`,null,`ln`),a(`mo`,null,`⁡`),a(`mn`,null,`0.78`),a(`mo`,null,`=`),a(`mn`,null,`0.25`)]),a(`annotation`,{encoding:`application/x-tex`},`\\ell = -\\ln 0.78 = 0.25`)])])]),a(`span`,{class:`katex-html`,"aria-hidden":`true`},[a(`span`,{class:`katex-base`},[a(`span`,{class:`katex-strut`,style:{height:`0.6944em`}}),a(`span`,{class:`mord`},`ℓ`),a(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}}),a(`span`,{class:`mrel`},`=`),a(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}})]),a(`span`,{class:`katex-base`},[a(`span`,{class:`katex-strut`,style:{height:`0.7778em`,"vertical-align":`-0.0833em`}}),a(`span`,{class:`mord`},`−`),a(`span`,{class:`mspace`,style:{"margin-right":`0.1667em`}}),a(`span`,{class:`mop`},`ln`),a(`span`,{class:`mspace`,style:{"margin-right":`0.1667em`}}),a(`span`,{class:`mord`},`0.78`),a(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}}),a(`span`,{class:`mrel`},`=`),a(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}})]),a(`span`,{class:`katex-base`},[a(`span`,{class:`katex-strut`,style:{height:`0.6444em`}}),a(`span`,{class:`mord`},`0.25`)])])]),f(`.`)],-1)]])),[[P]])]),a(`div`,null,[M[7]||=a(`h3`,null,`One label per word`,-1),(h(),o(`svg`,T,[(h(),o(l,null,r(5,e=>a(`g`,{key:e},[a(`rect`,{x:6+(e-1)*58,y:`34`,width:`40`,height:`28`,rx:`4`,class:`dl-dg-box is-accent`},null,8,E),e<5?(h(),o(`path`,{key:0,d:`M${46+(e-1)*58} 48 H${64+(e-1)*58}`,class:`dl-dg-arrow`},null,8,D)):p(`v-if`,!0),a(`path`,{d:`M${26+(e-1)*58} 32 V18`,class:`dl-dg-loss`},null,8,O),a(`text`,{x:26+(e-1)*58,y:`12`,"text-anchor":`middle`,class:`dl-dg-small is-bad`},`ℓ`,8,k)])),64))])),a(`div`,A,[n(N,{ranges:[]},{default:e(()=>[...M[5]||=[a(`p`,null,[a(`span`,{class:`katex-display`},[a(`span`,{class:`katex`},[a(`span`,{class:`katex-mathml`},[a(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`,display:`block`},[a(`semantics`,null,[a(`mrow`,null,[a(`mi`,null,`L`),a(`mo`,null,`=`),a(`mfrac`,null,[a(`mn`,null,`1`),a(`mi`,null,`T`)]),a(`munderover`,null,[a(`mo`,null,`∑`),a(`mrow`,null,[a(`mi`,null,`t`),a(`mo`,null,`=`),a(`mn`,null,`1`)]),a(`mi`,null,`T`)]),a(`mi`,{mathvariant:`normal`},`ℓ`),a(`mtext`,null,` ⁣`),a(`mrow`,null,[a(`mo`,{fence:`true`},`(`),a(`msub`,null,[a(`mi`,{mathvariant:`bold`},`o`),a(`mi`,null,`t`)]),a(`mo`,{separator:`true`},`,`),a(`mtext`,null,`  `),a(`msub`,null,[a(`mi`,null,`y`),a(`mi`,null,`t`)]),a(`mo`,{fence:`true`},`)`)])]),a(`annotation`,{encoding:`application/x-tex`},`L = \\frac{1}{T}\\sum_{t=1}^{T} \\ell\\!\\left(\\mathbf{o}_t,\\; y_t\\right)`)])])]),a(`span`,{class:`katex-html`,"aria-hidden":`true`},[a(`span`,{class:`katex-base`},[a(`span`,{class:`katex-strut`,style:{height:`0.6833em`}}),a(`span`,{class:`mord mathnormal`},`L`),a(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}}),a(`span`,{class:`mrel`},`=`),a(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}})]),a(`span`,{class:`katex-base`},[a(`span`,{class:`katex-strut`,style:{height:`3.0954em`,"vertical-align":`-1.2671em`}}),a(`span`,{class:`mord`},[a(`span`,{class:`mopen nulldelimiter`}),a(`span`,{class:`mfrac`},[a(`span`,{class:`vlist-t vlist-t2`},[a(`span`,{class:`vlist-r`},[a(`span`,{class:`vlist`,style:{height:`1.3214em`}},[a(`span`,{style:{top:`-2.314em`}},[a(`span`,{class:`pstrut`,style:{height:`3em`}}),a(`span`,{class:`mord`},[a(`span`,{class:`mord mathnormal`,style:{"margin-right":`0.1389em`}},`T`)])]),a(`span`,{style:{top:`-3.23em`}},[a(`span`,{class:`pstrut`,style:{height:`3em`}}),a(`span`,{class:`frac-line`,style:{"border-bottom-width":`0.04em`}})]),a(`span`,{style:{top:`-3.677em`}},[a(`span`,{class:`pstrut`,style:{height:`3em`}}),a(`span`,{class:`mord`},[a(`span`,{class:`mord`},`1`)])])]),a(`span`,{class:`vlist-s`},`​`)]),a(`span`,{class:`vlist-r`},[a(`span`,{class:`vlist`,style:{height:`0.686em`}},[a(`span`)])])])]),a(`span`,{class:`mclose nulldelimiter`})]),a(`span`,{class:`mspace`,style:{"margin-right":`0.1667em`}}),a(`span`,{class:`mop op-limits`},[a(`span`,{class:`vlist-t vlist-t2`},[a(`span`,{class:`vlist-r`},[a(`span`,{class:`vlist`,style:{height:`1.8283em`}},[a(`span`,{style:{top:`-1.8829em`,"margin-left":`0em`}},[a(`span`,{class:`pstrut`,style:{height:`3.05em`}}),a(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[a(`span`,{class:`mord mtight`},[a(`span`,{class:`mord mathnormal mtight`},`t`),a(`span`,{class:`mrel mtight`},`=`),a(`span`,{class:`mord mtight`},`1`)])])]),a(`span`,{style:{top:`-3.05em`}},[a(`span`,{class:`pstrut`,style:{height:`3.05em`}}),a(`span`,null,[a(`span`,{class:`mop op-symbol large-op`},`∑`)])]),a(`span`,{style:{top:`-4.3em`,"margin-left":`0em`}},[a(`span`,{class:`pstrut`,style:{height:`3.05em`}}),a(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[a(`span`,{class:`mord mtight`},[a(`span`,{class:`mord mathnormal mtight`,style:{"margin-right":`0.1389em`}},`T`)])])])]),a(`span`,{class:`vlist-s`},`​`)]),a(`span`,{class:`vlist-r`},[a(`span`,{class:`vlist`,style:{height:`1.2671em`}},[a(`span`)])])])]),a(`span`,{class:`mspace`,style:{"margin-right":`0.1667em`}}),a(`span`,{class:`mord`},`ℓ`),a(`span`,{class:`mspace`,style:{"margin-right":`-0.1667em`}}),a(`span`,{class:`mspace`,style:{"margin-right":`0.1667em`}}),a(`span`,{class:`minner`},[a(`span`,{class:`mopen delimcenter`,style:{top:`0em`}},`(`),a(`span`,{class:`mord`},[a(`span`,{class:`mord mathbf`},`o`),a(`span`,{class:`msupsub`},[a(`span`,{class:`vlist-t vlist-t2`},[a(`span`,{class:`vlist-r`},[a(`span`,{class:`vlist`,style:{height:`0.2806em`}},[a(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[a(`span`,{class:`pstrut`,style:{height:`2.7em`}}),a(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[a(`span`,{class:`mord mathnormal mtight`},`t`)])])]),a(`span`,{class:`vlist-s`},`​`)]),a(`span`,{class:`vlist-r`},[a(`span`,{class:`vlist`,style:{height:`0.15em`}},[a(`span`)])])])])]),a(`span`,{class:`mpunct`},`,`),a(`span`,{class:`mspace`,style:{"margin-right":`0.2778em`}}),a(`span`,{class:`mspace`,style:{"margin-right":`0.1667em`}}),a(`span`,{class:`mord`},[a(`span`,{class:`mord mathnormal`,style:{"margin-right":`0.0359em`}},`y`),a(`span`,{class:`msupsub`},[a(`span`,{class:`vlist-t vlist-t2`},[a(`span`,{class:`vlist-r`},[a(`span`,{class:`vlist`,style:{height:`0.2806em`}},[a(`span`,{style:{top:`-2.55em`,"margin-left":`-0.0359em`,"margin-right":`0.05em`}},[a(`span`,{class:`pstrut`,style:{height:`2.7em`}}),a(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[a(`span`,{class:`mord mathnormal mtight`},`t`)])])]),a(`span`,{class:`vlist-s`},`​`)]),a(`span`,{class:`vlist-r`},[a(`span`,{class:`vlist`,style:{height:`0.15em`}},[a(`span`)])])])])]),a(`span`,{class:`mclose delimcenter`,style:{top:`0em`}},`)`)])])])])])],-1)]]),_:1})]),c((h(),o(`div`,null,[...M[6]||=[a(`p`,null,[a(`span`,{class:`katex`},[a(`span`,{class:`katex-mathml`},[a(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[a(`semantics`,null,[a(`mrow`,null,[a(`mi`,null,`T`)]),a(`annotation`,{encoding:`application/x-tex`},`T`)])])]),a(`span`,{class:`katex-html`,"aria-hidden":`true`},[a(`span`,{class:`katex-base`},[a(`span`,{class:`katex-strut`,style:{height:`0.6833em`}}),a(`span`,{class:`mord mathnormal`,style:{"margin-right":`0.1389em`}},`T`)])])]),f(` terms, averaged. Each is a cross-entropy.`)],-1)]])),[[P]])])]),c((h(),o(`div`,j,[...M[8]||=[a(`p`,null,[f(`Either way, `),a(`strong`,null,`one`),f(` set of weights receives gradient from `),a(`strong`,null,`every`),f(` term.`)],-1)]])),[[P]])]),_:1},16)}}};export{M as default}; \ No newline at end of file diff --git a/lecture-05/assets/md-g3K1jpTn.css b/lecture-05/assets/md-g3K1jpTn.css new file mode 100644 index 0000000000000000000000000000000000000000..cca1f841870d61eaeb7d321e090250db8c0f290e --- /dev/null +++ b/lecture-05/assets/md-g3K1jpTn.css @@ -0,0 +1 @@ +.dl-wiring[data-v-b28ec107]{width:100%;height:100%}.dl-wiring__box[data-v-b28ec107]{stroke-width:1.2px;transition:fill .2s}.dl-wiring__box.is-in[data-v-b28ec107]{fill:var(--dl-surface);stroke:var(--dl-border)}.dl-wiring__box.is-hidden[data-v-b28ec107]{fill:var(--dl-accent);stroke:var(--dl-accent-strong)}.dl-wiring__box.is-out[data-v-b28ec107]{fill:var(--dl-accent-soft);stroke:var(--dl-accent)}.dl-wiring__label[data-v-b28ec107]{fill:var(--dl-heading);font-size:13px;font-weight:600}.dl-wiring__label.is-hidden[data-v-b28ec107]{fill:#fff}.dl-wiring__sub[data-v-b28ec107],.dl-wiring__sup[data-v-b28ec107]{font-size:9px;font-weight:400}.dl-wiring__dir[data-v-b28ec107]{font-size:10px;font-weight:400}.dl-wiring__feed[data-v-b28ec107]{stroke:var(--dl-muted);stroke-width:1.4px;color:var(--dl-muted)}.dl-wiring__recur path[data-v-b28ec107]{stroke:var(--dl-accent-strong);stroke-width:2.2px;color:var(--dl-accent-strong)}.dl-wiring__recur text[data-v-b28ec107]{fill:var(--dl-accent-strong);font-size:10.5px;font-style:italic;font-weight:600}.dl-wiring__wsub[data-v-b28ec107]{font-size:8px;font-style:normal}.dl-wiring__t[data-v-b28ec107]{fill:var(--dl-muted);font-size:10px}.dl-wiring__tabs[data-v-b28ec107]{flex-wrap:wrap;gap:.35rem;display:flex}.dl-wiring__tabs button[data-v-b28ec107]{border:1px solid var(--dl-border);color:var(--dl-body);font:inherit;cursor:pointer;background:0 0;border-radius:6px;padding:.28rem .6rem;font-size:.78rem;transition:background .12s,border-color .12s,color .12s}.dl-wiring__tabs button[data-v-b28ec107]:hover{border-color:var(--dl-accent);color:var(--dl-accent)}.dl-wiring__tabs button.is-selected[data-v-b28ec107]{background:var(--dl-accent);border-color:var(--dl-accent);color:#fff}.dl-wiring__tabs button[data-v-b28ec107]:focus-visible{outline:2px solid var(--dl-accent);outline-offset:2px} diff --git a/lecture-05/assets/md-jZup7ibE.js b/lecture-05/assets/md-jZup7ibE.js new file mode 100644 index 0000000000000000000000000000000000000000..a060f7c4ef17daf461fcde5f72ad3a516ee3de15 --- /dev/null +++ b/lecture-05/assets/md-jZup7ibE.js @@ -0,0 +1 @@ +import{$ as e,E as t,S as n,St as r,V as i,W as a,_ as o,b as s,bt as c,et as l,m as u,v as d,vt as f,x as p,yt as m,z as h}from"./modules/shiki-CkJq9tSf.js";import{n as g,t as _}from"./slidev/context-DnYiQGy6.js";import{t as v}from"./default-BTjgsdmC.js";import{t as y}from"./Citation-BuY_RPc0.js";var b={class:`mt-3 flex justify-center`},x={viewBox:`0 0 640 120`,class:`dl-diagram`,role:`img`,"aria-label":`A timeline: 1991, the vanishing gradient described; 1997, the LSTM with an additive cell state; 2000, the forget gate added; 2014, the GRU`},S=[`cx`],C=[`x`],w=[`x`],T=[`x`],E={class:`mt-3 dl-callout`},D={class:`mt-4 dl-secondary`},O={class:`mt-4`},k={__name:`slides.md__slidev_44`,setup(k){let{$slidev:A,$nav:j,$clicksContext:M,$clicks:N,$page:P,$renderContext:F,$frontmatter:I}=g();return M.setup(),(g,k)=>{let A=y,j=a(`click`);return h(),d(v,c(t(f(_)(f(I),43))),{default:e(()=>[k[3]||=o(`h1`,null,`Where the LSTM came from`,-1),o(`div`,b,[(h(),s(`svg`,x,[k[0]||=o(`path`,{class:`dl-dg-line is-muted`,d:`M30 50 H620`},null,-1),(h(),s(u,null,i([[60,`1991`,`vanishing gradient`,`described`],[210,`1997`,`LSTM: additive`,`cell state`],[300,`2000`,`forget gate`,`added`],[560,`2014`,`GRU:`,`fewer parts`]],(e,t)=>o(`g`,{key:`l5c-year${t}`},[o(`circle`,{class:m(t===2?`dl-dg-dot is-accent`:`dl-dg-dot`),cx:e[0],cy:`50`,r:`7`},null,10,S),o(`text`,{class:`dl-dg-lab is-sm`,x:e[0],y:`30`,"text-anchor":`middle`},r(e[1]),9,C),o(`text`,{class:m(t===2?`dl-dg-small is-good`:`dl-dg-small`),x:e[0],y:`80`,"text-anchor":`middle`},r(e[2]),11,w),o(`text`,{class:m(t===2?`dl-dg-small is-good`:`dl-dg-small`),x:e[0],y:`96`,"text-anchor":`middle`},r(e[3]),11,T)])),64))]))]),l((h(),s(`div`,E,[...k[1]||=[o(`p`,null,[p(`The 1997 cell could write and read, but `),o(`strong`,null,`never clear`),p(`. On a long stream its state filled up and stopped changing. The forget gate came three years later.`)],-1)]])),[[j]]),l((h(),s(`div`,D,[...k[2]||=[o(`p`,null,`For about twenty years, the LSTM was the standard model for sequences.`,-1)]])),[[j]]),o(`div`,O,[n(A,{source:`Hochreiter & Schmidhuber, Long Short-Term Memory (1997); Gers et al., Learning to Forget (2000)`,url:`https://www.bioinf.jku.at/publications/older/2604.pdf`})])]),_:1},16)}}};export{k as default}; \ No newline at end of file diff --git a/lecture-05/assets/md-qvplHM3t.js b/lecture-05/assets/md-qvplHM3t.js new file mode 100644 index 0000000000000000000000000000000000000000..54d1617cb7a83f5d7bc162c7addc926acff12229 --- /dev/null +++ b/lecture-05/assets/md-qvplHM3t.js @@ -0,0 +1 @@ +import{$ as e,E as t,S as n,W as r,_ as i,b as a,bt as o,et as s,v as c,vt as l,x as u,z as d}from"./modules/shiki-CkJq9tSf.js";import{n as f,t as p}from"./slidev/context-DnYiQGy6.js";import{t as m}from"./interactive-pqWNz3EB.js";import{t as h}from"./GradientFlow-B-uOpJPB.js";var g={viewBox:`0 0 300 128`,class:`dl-diagram mt-2`,role:`img`,"aria-label":`Two bars on the same scale from 0 to 1: the plain RNN keeps 0.8 to the power 20, which is 0.012, a sliver; the LSTM cell state keeps 0.99 to the power 20, which is 0.82`},_={class:`mt-2 dl-callout`},v={__name:`slides.md__slidev_43`,setup(v){let{$slidev:y,$nav:b,$clicksContext:x,$clicks:S,$page:C,$renderContext:w,$frontmatter:T}=f();return x.setup(),(f,v)=>{let y=h,b=r(`click`);return d(),c(m,o(t(l(p)(l(T),42))),{aside:e(e=>[v[3]||=i(`p`,null,[u(`The long review: `),i(`em`,null,`not`),u(` sits 20 words before `),i(`em`,null,`great`),u(`. How much gradient gets back to it?`)],-1),(d(),a(`svg`,g,[s((d(),a(`g`,null,[...v[0]||=[i(`text`,{class:`dl-dg-small`,x:`0`,y:`14`},`plain RNN, 0.8²⁰`,-1),i(`rect`,{class:`dl-dg-box`,x:`0`,y:`22`,width:`190`,height:`26`,rx:`3`},null,-1),i(`rect`,{class:`dl-dg-bar is-bad`,x:`0`,y:`22`,width:`2.3`,height:`26`},null,-1),i(`text`,{x:`200`,y:`45`,style:{"font-size":`26px`,"font-weight":`700`,fill:`var(--dl-danger)`}},`0.012`,-1)]])),[[b]]),s((d(),a(`g`,null,[...v[1]||=[i(`text`,{class:`dl-dg-small`,x:`0`,y:`80`},`LSTM cell state, 0.99²⁰`,-1),i(`rect`,{class:`dl-dg-box`,x:`0`,y:`88`,width:`190`,height:`26`,rx:`3`},null,-1),i(`rect`,{class:`dl-dg-bar is-q`,x:`0`,y:`88`,width:`155.8`,height:`26`},null,-1),i(`text`,{x:`200`,y:`111`,style:{"font-size":`26px`,"font-weight":`700`,fill:`var(--dl-accent-strong)`}},`0.82`,-1)]])),[[b]])])),s((d(),a(`div`,_,[...v[2]||=[i(`p`,null,`The note fades with every copy. The sealed envelope arrives almost intact.`,-1)]])),[[b]])]),default:e(()=>[n(y,{mode:`gated`,w:.8,forget:.99,steps:20})]),_:1},16)}}};export{v as default}; \ No newline at end of file diff --git a/lecture-05/assets/md-uzEiJc6_.js b/lecture-05/assets/md-uzEiJc6_.js new file mode 100644 index 0000000000000000000000000000000000000000..b0bbf568ae413affcb7a6ed0e2c5349037928a71 --- /dev/null +++ b/lecture-05/assets/md-uzEiJc6_.js @@ -0,0 +1 @@ +import{$ as e,E as t,St as n,V as r,W as i,_ as a,b as o,bt as s,et as c,m as l,v as u,vt as d,x as f,z as p}from"./modules/shiki-CkJq9tSf.js";import{n as m,t as h}from"./slidev/context-DnYiQGy6.js";import{t as g}from"./default-BTjgsdmC.js";var _={class:`mt-2 flex justify-center`},v={viewBox:`0 0 640 176`,class:`dl-diagram`,role:`img`,"aria-label":`Left: words numbered by index on a line, aardvark 96, brilliant 2103, great 4217, which invents an order. Right: one-hot vectors as the corners of a triangle, every pair the same distance apart.`},y=[`cx`],b=[`x`],x=[`x`],S={class:`mt-2 dl-callout`},C={__name:`slides.md__slidev_49`,setup(C){let{$slidev:w,$nav:T,$clicksContext:E,$clicks:D,$page:O,$renderContext:k,$frontmatter:A}=m();return E.setup(),(m,C)=>{let w=i(`click`);return p(),u(g,s(t(d(h)(d(A),48))),{default:e(()=>[C[6]||=a(`h1`,null,`A word is not a number`,-1),C[7]||=a(`p`,null,[a(`span`,{class:`katex`},[a(`span`,{class:`katex-mathml`},[a(`math`,{xmlns:`http://www.w3.org/1998/Math/MathML`},[a(`semantics`,null,[a(`mrow`,null,[a(`msub`,null,[a(`mi`,null,`W`),a(`mrow`,null,[a(`mi`,null,`x`),a(`mi`,null,`h`)])]),a(`msub`,null,[a(`mi`,{mathvariant:`bold`},`x`),a(`mi`,null,`t`)])]),a(`annotation`,{encoding:`application/x-tex`},`W_{xh}\\mathbf{x}_t`)])])]),a(`span`,{class:`katex-html`,"aria-hidden":`true`},[a(`span`,{class:`katex-base`},[a(`span`,{class:`katex-strut`,style:{height:`0.8333em`,"vertical-align":`-0.15em`}}),a(`span`,{class:`mord`},[a(`span`,{class:`mord mathnormal`,style:{"margin-right":`0.1389em`}},`W`),a(`span`,{class:`msupsub`},[a(`span`,{class:`vlist-t vlist-t2`},[a(`span`,{class:`vlist-r`},[a(`span`,{class:`vlist`,style:{height:`0.3361em`}},[a(`span`,{style:{top:`-2.55em`,"margin-left":`-0.1389em`,"margin-right":`0.05em`}},[a(`span`,{class:`pstrut`,style:{height:`2.7em`}}),a(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[a(`span`,{class:`mord mtight`},[a(`span`,{class:`mord mathnormal mtight`},`x`),a(`span`,{class:`mord mathnormal mtight`},`h`)])])])]),a(`span`,{class:`vlist-s`},`​`)]),a(`span`,{class:`vlist-r`},[a(`span`,{class:`vlist`,style:{height:`0.15em`}},[a(`span`)])])])])]),a(`span`,{class:`mord`},[a(`span`,{class:`mord mathbf`},`x`),a(`span`,{class:`msupsub`},[a(`span`,{class:`vlist-t vlist-t2`},[a(`span`,{class:`vlist-r`},[a(`span`,{class:`vlist`,style:{height:`0.2806em`}},[a(`span`,{style:{top:`-2.55em`,"margin-left":`0em`,"margin-right":`0.05em`}},[a(`span`,{class:`pstrut`,style:{height:`2.7em`}}),a(`span`,{class:`katex-sizing reset-size6 size3 mtight`},[a(`span`,{class:`mord mathnormal mtight`},`t`)])])]),a(`span`,{class:`vlist-s`},`​`)]),a(`span`,{class:`vlist-r`},[a(`span`,{class:`vlist`,style:{height:`0.15em`}},[a(`span`)])])])])])])])]),f(` needs a vector. Two first tries, for 20 000 words:`)],-1),a(`div`,_,[(p(),o(`svg`,v,[C[1]||=a(`text`,{class:`dl-dg-lab is-sm`,x:`150`,y:`16`,"text-anchor":`middle`},`index: one number`,-1),C[2]||=a(`path`,{class:`dl-dg-line is-muted`,d:`M14 90 H290`},null,-1),(p(),o(l,null,r([[34,`aardvark`,`96`],[130,`brilliant`,`2 103`],[250,`great`,`4 217`]],(e,t)=>a(`g`,{key:`l5c-idx${t}`},[a(`circle`,{class:`dl-dg-dot`,cx:e[0],cy:`90`,r:`6`},null,8,y),a(`text`,{class:`dl-dg-small`,x:e[0],y:`70`,"text-anchor":`middle`},n(e[1]),9,b),a(`text`,{class:`dl-dg-small`,x:e[0],y:`112`,"text-anchor":`middle`},n(e[2]),9,x)])),64)),C[3]||=a(`text`,{class:`dl-dg-small is-bad`,x:`150`,y:`160`,"text-anchor":`middle`},`great "bigger" than brilliant?`,-1),C[4]||=a(`line`,{class:`dl-dg-split`,x1:`320`,y1:`4`,x2:`320`,y2:`170`},null,-1),c((p(),o(`g`,null,[...C[0]||=[a(`text`,{class:`dl-dg-lab is-sm`,x:`480`,y:`16`,"text-anchor":`middle`},`one-hot: 20 000 numbers`,-1),a(`path`,{class:`dl-dg-line is-muted`,d:`M480 38 L410 128 L550 128 Z`},null,-1),a(`circle`,{class:`dl-dg-dot`,cx:`480`,cy:`38`,r:`6`},null,-1),a(`circle`,{class:`dl-dg-dot`,cx:`410`,cy:`128`,r:`6`},null,-1),a(`circle`,{class:`dl-dg-dot`,cx:`550`,cy:`128`,r:`6`},null,-1),a(`text`,{class:`dl-dg-small`,x:`494`,y:`42`},`great`,-1),a(`text`,{class:`dl-dg-small`,x:`396`,y:`132`,"text-anchor":`end`},`brilliant`,-1),a(`text`,{class:`dl-dg-small`,x:`564`,y:`132`},`aardvark`,-1),a(`text`,{class:`dl-dg-small is-bad`,x:`480`,y:`160`,"text-anchor":`middle`},`every pair equally far apart`,-1)]])),[[w]])]))]),c((p(),o(`div`,S,[...C[5]||=[a(`p`,null,[f(`Neither knows that `),a(`em`,null,`great`),f(` and `),a(`em`,null,`brilliant`),f(` mean almost the same. We want a short vector per word, with `),a(`strong`,null,`similar words close together`),f(`.`)],-1)]])),[[w]])]),_:1},16)}}};export{C as default}; \ No newline at end of file diff --git a/lecture-05/assets/md-wfJFHbE2.js b/lecture-05/assets/md-wfJFHbE2.js new file mode 100644 index 0000000000000000000000000000000000000000..a8293bbca67629246262ac8b8baaef4203bad245 --- /dev/null +++ b/lecture-05/assets/md-wfJFHbE2.js @@ -0,0 +1 @@ +import{$ as e,E as t,R as n,S as r,St as i,V as a,W as o,X as s,_ as c,b as l,bt as u,c as d,et as f,g as p,m,ut as h,v as g,vt as _,w as v,x as y,xt as b,y as x,yt as S,z as C}from"./modules/shiki-CkJq9tSf.js";import{t as w}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{n as T,t as E}from"./slidev/context-DnYiQGy6.js";import{n as D,r as ee,t as te}from"./useConvolution-mOidZmS_.js";import{t as ne}from"./slidev/VClicks-DLDbGwsQ.js";import{n as re,t as O}from"./interactive-pqWNz3EB.js";import{t as k}from"./Katex-TqgxGJEq.js";import{t as A}from"./Slider-Bf0ITYx4.js";import{t as j}from"./StepButton-BvnaUJaa.js";var M={class:`dl-conv1d`},N={class:`dl-conv1d__label`},P={key:0,class:`sup`},ie={class:`dl-conv1d__label`},F={key:0,class:`sup`},I={key:2,class:`dl-conv1d__toggle`},L={key:0,class:`dl-math-sm`},R={key:1},z={key:2,class:`dl-conv1d__size dl-math-sm`},B=w(v({__name:`Conv1DLab`,props:{input:{default:()=>[3,2,1,7,1,2,5,4]},kernel:{default:()=>[.5,.75,1,.25]},padding:{default:0},stride:{default:1},flip:{type:Boolean,default:!1},controls:{default:()=>[]},formula:{type:Boolean,default:!1},complete:{type:Boolean,default:!1}},setup(t){let{$slidev:o,$nav:u,$clicksContext:v,$clicks:w,$page:E,$renderContext:ne,$frontmatter:O}=T(),B=t,V=h(B.padding),H=h(B.stride),U=h(B.flip),W=p(()=>te(B.input,B.kernel,{padding:V.value,stride:H.value,flip:U.value})),G=h(B.complete?2**53-1:-1),K=h(null),q=p(()=>W.value.steps.length),J=p(()=>Math.min(G.value,q.value-1)),Y=p(()=>J.value<0?null:W.value.steps[J.value]),ae=p(()=>J.value>=q.value-1);s([V,H,U],()=>oe());function X(){K.value!==null&&(clearInterval(K.value),K.value=null)}n(X);function oe(){X(),G.value=B.complete?q.value-1:-1}function se(){J.value{if(J.value>=q.value-1){X();return}G.value=J.value+1},700)}let Q=e=>B.controls.includes(e),ce=p(()=>Y.value?Y.value.start+1:1);function le(e){return e*H.value+Math.ceil(B.kernel.length/2)}let $=p(()=>W.value.padded.length);function ue(e){return e=V.value+B.input.length}function de(e){return Y.value!==null&&e>=Y.value.start&&e{if(!Y.value)return``;let e=Y.value.taps.map(e=>`${D(e.x)}\\times ${D(e.w)}`).join(` + `);return`y[${Y.value.index}] = ${e} = ${D(Y.value.sum)}`}),pe=p(()=>{let e=B.input.length,t=B.kernel.length,n=V.value,r=H.value;return`o = \\left\\lfloor\\frac{${e} + 2\\times ${n} - ${t}}{${r}}\\right\\rfloor + 1 = ${ee(e,t,n,r)}`});return(t,n)=>{let o=j,s=A,u=k,p=re;return C(),g(p,{"max-width":`46rem`},{controls:e(()=>[r(o,{label:ae.value?`Start over`:`Next output`,glyph:`▸`,onClick:se},null,8,[`label`]),r(o,{label:`Run`,variant:`ghost`,glyph:`▶`,onClick:Z}),Q(`padding`)?(C(),g(s,{key:0,modelValue:V.value,"onUpdate:modelValue":n[0]||=e=>V.value=e,label:`padding p`,min:0,max:4,step:1,precision:0},null,8,[`modelValue`])):x(`v-if`,!0),Q(`stride`)?(C(),g(s,{key:1,modelValue:H.value,"onUpdate:modelValue":n[1]||=e=>H.value=e,label:`stride s`,min:1,max:4,step:1,precision:0},null,8,[`modelValue`])):x(`v-if`,!0),Q(`flip`)?(C(),l(`label`,I,[f(c(`input`,{"onUpdate:modelValue":n[2]||=e=>U.value=e,type:`checkbox`},null,512),[[d,U.value]]),n[6]||=y(` rotate the kernel first `,-1)])):x(`v-if`,!0)]),readout:e(()=>[Y.value?(C(),l(`div`,L,[r(u,{expr:fe.value},null,8,[`expr`])])):(C(),l(`div`,R,[y(i(q.value)+` output `+i(q.value===1?`element`:`elements`)+` for this n = `+i(B.input.length)+`, m = `+i(B.kernel.length)+`, p = `+i(V.value)+`, s = `+i(H.value)+`. Press `,1),n[7]||=c(`strong`,null,`Next output`,-1),n[8]||=y(`. `,-1)])),B.formula?(C(),l(`div`,z,[r(u,{expr:pe.value},null,8,[`expr`])])):x(`v-if`,!0)]),default:e(()=>[c(`div`,M,[x(` Input row, in padded coordinates. `),c(`div`,N,[n[3]||=y(`x`,-1),V.value>0?(C(),l(`span`,P,`p`)):x(`v-if`,!0)]),c(`div`,{class:`dl-conv1d__row`,style:b({gridTemplateColumns:`repeat(${$.value}, var(--cell))`})},[(C(!0),l(m,null,a(W.value.padded,(e,t)=>(C(),l(`div`,{key:`x${t}`,class:S([`dl-cell`,{"is-pad":ue(t),"is-window":de(t)}])},i(_(D)(e)),3))),128))],4),x(` Kernel, positioned under the window it is currently reading. `),c(`div`,ie,[n[4]||=y(`w`,-1),U.value?(C(),l(`span`,F,`r`)):x(`v-if`,!0)]),c(`div`,{class:`dl-conv1d__row`,style:b({gridTemplateColumns:`repeat(${$.value}, var(--cell))`})},[c(`div`,{class:S([`dl-conv1d__kernel`,{"is-parked":Y.value===null}]),style:b({gridColumn:`${ce.value} / span ${B.kernel.length}`})},[(C(!0),l(m,null,a(W.value.kernel,(e,t)=>(C(),l(`div`,{key:`w${t}`,class:`dl-cell is-kernel`},i(_(D)(e)),1))),128))],6)],4),x(` Output row, each element under the centre of its own window. `),n[5]||=c(`div`,{class:`dl-conv1d__label`},`y`,-1),c(`div`,{class:`dl-conv1d__row`,style:b({gridTemplateColumns:`repeat(${$.value}, var(--cell))`})},[(C(!0),l(m,null,a(W.value.output,(e,t)=>(C(),l(`div`,{key:`y${t}`,class:S([`dl-cell is-out`,{"is-empty":t>J.value,"is-current":t===J.value}]),style:b({gridColumn:le(t)})},i(t>J.value?``:_(D)(e)),7))),128))],4)])]),_:1})}}}),[[`__scopeId`,`data-v-073fd456`]]),V={viewBox:`0 0 260 84`,class:`dl-diagram mt-1`,role:`img`,"aria-label":`Order of computation. Convolution: five outputs, all computed in round 1. Recurrent layer: five steps in a chain, computed in rounds 1 to 5`},H=[`x`],U=[`x`],W=[`x`],G=[`x`,`textContent`],K=[`d`],q={__name:`slides.md__slidev_11`,setup(n){let{$slidev:s,$nav:d,$clicksContext:p,$clicks:h,$page:v,$renderContext:b,$frontmatter:x}=T();return p.setup(),(n,s)=>{let d=B,p=ne,h=o(`click`);return C(),g(O,u(t(_(E)(_(x),10))),{aside:e(t=>[r(p,null,{default:e(()=>[...s[0]||=[c(`ul`,null,[c(`li`,null,[c(`strong`,null,`Parallel`),y(`: each output needs only nearby words, so all are computed at once`)]),c(`li`,null,[c(`strong`,null,`Limited`),y(` reach: nothing from 60 words ago`)]),c(`li`,null,[y(`A recurrent layer: step 5 waits for step 4, so steps run `),c(`strong`,null,`one after another`),y(`. But the state reaches any distance.`)])],-1)]]),_:1}),f((C(),l(`svg`,V,[s[1]||=c(`defs`,null,[c(`marker`,{id:`l5a-par-head`,markerWidth:`7`,markerHeight:`7`,refX:`6`,refY:`3.5`,orient:`auto`},[c(`path`,{class:`dl-dg-head`,d:`M0 0 L7 3.5 L0 7 z`})])],-1),s[2]||=c(`text`,{class:`dl-dg-small`,x:`0`,y:`24`},`conv`,-1),(C(),l(m,null,a(5,e=>c(`rect`,{key:`c${e}`,class:`dl-dg-box is-accent`,x:64+(e-1)*40,y:`8`,width:`28`,height:`24`,rx:`3`},null,8,H)),64)),(C(),l(m,null,a(5,e=>c(`text`,{key:`ct${e}`,class:`dl-dg-lab is-sm`,x:78+(e-1)*40,y:`25`,"text-anchor":`middle`},`1`,8,U)),64)),s[3]||=c(`text`,{class:`dl-dg-small`,x:`0`,y:`66`},`recurrent`,-1),(C(),l(m,null,a(5,e=>c(`rect`,{key:`r${e}`,class:`dl-dg-box`,x:64+(e-1)*40,y:`50`,width:`28`,height:`24`,rx:`3`},null,8,W)),64)),(C(),l(m,null,a(5,e=>c(`text`,{key:`rt${e}`,class:`dl-dg-lab is-sm`,x:78+(e-1)*40,y:`67`,"text-anchor":`middle`,textContent:i(e)},null,8,G)),64)),(C(),l(m,null,a(4,e=>c(`path`,{key:`ra${e}`,class:`dl-dg-arrow`,"marker-end":`url(#l5a-par-head)`,d:`M${93+(e-1)*40} 62 H${103+(e-1)*40}`},null,8,K)),64)),s[4]||=c(`text`,{class:`dl-dg-small`,x:`260`,y:`44`,"text-anchor":`end`},`number = round it is computed in`,-1)])),[[h,3]])]),default:e(()=>[r(d,{controls:[`padding`,`stride`]})]),_:1},16)}}};export{q as default}; \ No newline at end of file diff --git a/lecture-05/assets/md-zQ2hlk4v.js b/lecture-05/assets/md-zQ2hlk4v.js new file mode 100644 index 0000000000000000000000000000000000000000..fe6a8e191456345f3205ac282b8281be013cbe5f --- /dev/null +++ b/lecture-05/assets/md-zQ2hlk4v.js @@ -0,0 +1,14 @@ +import{$ as e,E as t,M as n,S as r,St as i,V as a,W as o,_ as s,b as c,bt as l,et as u,m as d,v as f,vt as p,x as m,yt as h,z as g}from"./modules/shiki-CkJq9tSf.js";import{n as _,t as v}from"./slidev/context-DnYiQGy6.js";import{t as y}from"./default-BTjgsdmC.js";import{t as b}from"./slidev/CodeBlockWrapper-RJVA2-nu.js";var x={class:`grid grid-cols-[2.1fr_1fr] gap-4 items-center`},S={class:`dl-diagram`,style:{"max-height":`14rem`},viewBox:`0 0 200 250`,role:`img`,"aria-label":`Shape strip: ids 32 by 200, embedding, 32 by 200 by 64, LSTM, 32 by 128, linear, 32 by 2.`},C=[`x`,`y`,`width`],w=[`y`],T=[`y`],E=[`d`],D=[`y`],O={class:`mt-2 dl-secondary`},k={__name:`slides.md__slidev_58`,setup(k){let{$slidev:A,$nav:j,$clicksContext:M,$clicks:N,$page:P,$renderContext:F,$frontmatter:I}=_();return M.setup(),(_,k)=>{let A=b,j=o(`click`);return g(),f(y,l(t(p(v)(p(I),57))),{default:e(()=>[k[3]||=s(`h1`,null,`The model`,-1),s(`div`,x,[s(`div`,null,[r(A,n({lines:!0},{title:``,ranges:[`all`,`4-5`,`6-7`,`10`,`11-14`,`all`]}),{default:e(()=>[...k[0]||=[s(`pre`,{class:`shiki shiki-themes vitesse-dark vitesse-light slidev-code`,style:{"--shiki-dark":`#dbd7caee`,"--shiki-light":`#393a34`,"--shiki-dark-bg":`#121212`,"--shiki-light-bg":`#ffffff`}},[s(`code`,{class:`language-python`},[s(`span`,{class:`line`},[s(`span`,{style:{"--shiki-dark":`#CB7676`,"--shiki-light":`#AB5959`}},`class`),s(`span`,{style:{"--shiki-dark":`#5DA994`,"--shiki-light":`#2E8F82`}},` ReviewClassifier`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`(`),s(`span`,{style:{"--shiki-dark":`#80A665`,"--shiki-light":`#59873A`}},`nn`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`.`),s(`span`,{style:{"--shiki-dark":`#80A665`,"--shiki-light":`#59873A`}},`Module`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`):`)]),m(` +`),s(`span`,{class:`line`},[s(`span`,{style:{"--shiki-dark":`#CB7676`,"--shiki-light":`#AB5959`}},` def`),s(`span`,{style:{"--shiki-dark":`#B8A965`,"--shiki-light":`#998418`}},` __init__`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`(`),s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},`self`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`,`),s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},` vocab_size`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`,`),s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},` embed`),s(`span`,{style:{"--shiki-dark":`#CB7676`,"--shiki-light":`#AB5959`}},`=`),s(`span`,{style:{"--shiki-dark":`#4C9A91`,"--shiki-light":`#2F798A`}},`64`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`,`),s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},` hidden`),s(`span`,{style:{"--shiki-dark":`#CB7676`,"--shiki-light":`#AB5959`}},`=`),s(`span`,{style:{"--shiki-dark":`#4C9A91`,"--shiki-light":`#2F798A`}},`128`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`):`)]),m(` +`),s(`span`,{class:`line`},[s(`span`,{style:{"--shiki-dark":`#B8A965`,"--shiki-light":`#998418`}},` super`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`().`),s(`span`,{style:{"--shiki-dark":`#B8A965`,"--shiki-light":`#998418`}},`__init__`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`()`)]),m(` +`),s(`span`,{class:`line`},[s(`span`,{style:{"--shiki-dark":`#C99076`,"--shiki-light":`#A65E2B`}},` self`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`.`),s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},`embed `),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`=`),s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},` nn`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`.`),s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},`Embedding`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`(`),s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},`vocab_size`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`,`),s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},` embed`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`,`),s(`span`,{style:{"--shiki-dark":`#BD976A`,"--shiki-light":`#B07D48`}},` padding_idx`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`=`),s(`span`,{style:{"--shiki-dark":`#4C9A91`,"--shiki-light":`#2F798A`}},`0`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`)`)]),m(` +`),s(`span`,{class:`line`},[s(`span`,{style:{"--shiki-dark":`#C99076`,"--shiki-light":`#A65E2B`}},` self`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`.`),s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},`lstm `),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`=`),s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},` nn`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`.`),s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},`LSTM`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`(`),s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},`embed`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`,`),s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},` hidden`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`,`),s(`span`,{style:{"--shiki-dark":`#BD976A`,"--shiki-light":`#B07D48`}},` batch_first`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`=`),s(`span`,{style:{"--shiki-dark":`#4D9375`,"--shiki-light":`#1E754F`}},`True`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`)`)]),m(` +`),s(`span`,{class:`line`},[s(`span`,{style:{"--shiki-dark":`#C99076`,"--shiki-light":`#A65E2B`}},` self`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`.`),s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},`drop `),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`=`),s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},` nn`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`.`),s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},`Dropout`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`(`),s(`span`,{style:{"--shiki-dark":`#4C9A91`,"--shiki-light":`#2F798A`}},`0.3`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`)`)]),m(` +`),s(`span`,{class:`line`},[s(`span`,{style:{"--shiki-dark":`#C99076`,"--shiki-light":`#A65E2B`}},` self`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`.`),s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},`head `),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`=`),s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},` nn`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`.`),s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},`Linear`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`(`),s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},`hidden`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`,`),s(`span`,{style:{"--shiki-dark":`#4C9A91`,"--shiki-light":`#2F798A`}},` 2`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`)`),s(`span`,{style:{"--shiki-dark":`#758575DD`,"--shiki-light":`#A0ADA0`}},` # logits`)]),m(` +`),s(`span`,{class:`line`}),m(` +`),s(`span`,{class:`line`},[s(`span`,{style:{"--shiki-dark":`#CB7676`,"--shiki-light":`#AB5959`}},` def`),s(`span`,{style:{"--shiki-dark":`#80A665`,"--shiki-light":`#59873A`}},` forward`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`(`),s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},`self`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`,`),s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},` ids`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`,`),s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},` lengths`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`):`)]),m(` +`),s(`span`,{class:`line`},[s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},` emb `),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`=`),s(`span`,{style:{"--shiki-dark":`#C99076`,"--shiki-light":`#A65E2B`}},` self`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`.`),s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},`embed`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`(`),s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},`ids`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`)`),s(`span`,{style:{"--shiki-dark":`#758575DD`,"--shiki-light":`#A0ADA0`}},` # (B, T, 64)`)]),m(` +`),s(`span`,{class:`line`},[s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},` packed `),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`=`),s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},` pack_padded_sequence`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`(`),s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},`emb`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`,`),s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},` lengths`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`.`),s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},`cpu`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`(),`)]),m(` +`),s(`span`,{class:`line`},[s(`span`,{style:{"--shiki-dark":`#BD976A`,"--shiki-light":`#B07D48`}},` batch_first`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`=`),s(`span`,{style:{"--shiki-dark":`#4D9375`,"--shiki-light":`#1E754F`}},`True`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`,`),s(`span`,{style:{"--shiki-dark":`#BD976A`,"--shiki-light":`#B07D48`}},` enforce_sorted`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`=`),s(`span`,{style:{"--shiki-dark":`#4D9375`,"--shiki-light":`#1E754F`}},`False`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`)`)]),m(` +`),s(`span`,{class:`line`},[s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},` _`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`,`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},` (`),s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},`h_n`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`,`),s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},` _`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`)`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},` =`),s(`span`,{style:{"--shiki-dark":`#C99076`,"--shiki-light":`#A65E2B`}},` self`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`.`),s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},`lstm`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`(`),s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},`packed`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`)`),s(`span`,{style:{"--shiki-dark":`#758575DD`,"--shiki-light":`#A0ADA0`}},` # (1, B, 128)`)]),m(` +`),s(`span`,{class:`line`},[s(`span`,{style:{"--shiki-dark":`#4D9375`,"--shiki-light":`#1E754F`}},` return`),s(`span`,{style:{"--shiki-dark":`#C99076`,"--shiki-light":`#A65E2B`}},` self`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`.`),s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},`head`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`(`),s(`span`,{style:{"--shiki-dark":`#C99076`,"--shiki-light":`#A65E2B`}},`self`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`.`),s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},`drop`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`(`),s(`span`,{style:{"--shiki-dark":`#DBD7CAEE`,"--shiki-light":`#393A34`}},`h_n`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`[`),s(`span`,{style:{"--shiki-dark":`#CB7676`,"--shiki-light":`#AB5959`}},`-`),s(`span`,{style:{"--shiki-dark":`#4C9A91`,"--shiki-light":`#2F798A`}},`1`),s(`span`,{style:{"--shiki-dark":`#666666`,"--shiki-light":`#999999`}},`]))`),s(`span`,{style:{"--shiki-dark":`#758575DD`,"--shiki-light":`#A0ADA0`}},` # (B, 2)`)])])],-1)]]),_:1},16)]),s(`div`,null,[(g(),c(`svg`,S,[k[1]||=s(`defs`,null,[s(`marker`,{id:`l5d-head-model`,markerWidth:`7`,markerHeight:`7`,refX:`6`,refY:`3.5`,orient:`auto`},[s(`path`,{d:`M0 0 L7 3.5 L0 7 z`,class:`dl-dg-head`})])],-1),(g(),c(d,null,a([[`ids`,`(32, 200)`,150],[`emb`,`(32, 200, 64)`,180],[`h_n[-1]`,`(32, 128)`,100],[`logits`,`(32, 2)`,64]],(e,t)=>s(`g`,{key:t},[s(`rect`,{class:h([`dl-dg-box`,t===2?`is-accent`:``]),x:100-e[2]/2,y:4+t*66,width:e[2],height:`34`,rx:`4`},null,10,C),s(`text`,{class:`dl-dg-small`,x:`100`,y:18+t*66,"text-anchor":`middle`},i(e[0]),9,w),s(`text`,{class:`dl-dg-lab is-sm`,x:`100`,y:33+t*66,"text-anchor":`middle`},i(e[1]),9,T)])),64)),(g(),c(d,null,a([`Embedding`,`LSTM, packed`,`Linear`],(e,t)=>s(`g`,{key:`o${t}`},[s(`path`,{class:`dl-dg-arrow`,d:`M100 ${40+t*66} V${66+t*66}`,"marker-end":`url(#l5d-head-model)`},null,8,E),s(`text`,{class:`dl-dg-small`,x:`108`,y:57+t*66},i(e),9,D)])),64))]))])]),u((g(),c(`div`,O,[...k[2]||=[s(`p`,null,[m(`Three layers. The only new line is the `),s(`code`,null,`pack`),m(`. `),s(`code`,null,`h_n[-1]`),m(` is the last layer’s final state, so it stays right with `),s(`code`,null,`num_layers=2`),m(`.`)],-1)]])),[[j]])]),_:1},16)}}};export{k as default}; \ No newline at end of file diff --git a/lecture-05/assets/modules/file-saver-BpWusTEB.js b/lecture-05/assets/modules/file-saver-BpWusTEB.js new file mode 100644 index 0000000000000000000000000000000000000000..d51ba687ddb2a77bc46265ef5845f6be048ed538 --- /dev/null +++ b/lecture-05/assets/modules/file-saver-BpWusTEB.js @@ -0,0 +1 @@ +import{t as e}from"../rolldown-runtime-hePW80VL.js";var t=e(((e,t)=>{(function(t,n){typeof define==`function`&&define.amd?define([],n):e===void 0?(n(),t.FileSaver={exports:{}}.exports):n()})(e,function(){function e(e,t){return t===void 0?t={autoBom:!1}:typeof t!=`object`&&(console.warn(`Deprecated: Expected third argument to be a object`),t={autoBom:!t}),t.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(e.type)?new Blob([``,e],{type:e.type}):e}function n(e,t,n){var r=new XMLHttpRequest;r.open(`GET`,e),r.responseType=`blob`,r.onload=function(){s(r.response,t,n)},r.onerror=function(){console.error(`could not download file`)},r.send()}function r(e){var t=new XMLHttpRequest;t.open(`HEAD`,e,!1);try{t.send()}catch{}return 200<=t.status&&299>=t.status}function i(e){try{e.dispatchEvent(new MouseEvent(`click`))}catch{var t=document.createEvent(`MouseEvents`);t.initMouseEvent(`click`,!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),e.dispatchEvent(t)}}var a=typeof window==`object`&&window.window===window?window:typeof self==`object`&&self.self===self?self:typeof global==`object`&&global.global===global?global:void 0,o=a.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),s=a.saveAs||(typeof window!=`object`||window!==a?function(){}:`download`in HTMLAnchorElement.prototype&&!o?function(e,t,o){var s=a.URL||a.webkitURL,c=document.createElement(`a`);t=t||e.name||`download`,c.download=t,c.rel=`noopener`,typeof e==`string`?(c.href=e,c.origin===location.origin?i(c):r(c.href)?n(e,t,o):i(c,c.target=`_blank`)):(c.href=s.createObjectURL(e),setTimeout(function(){s.revokeObjectURL(c.href)},4e4),setTimeout(function(){i(c)},0))}:`msSaveOrOpenBlob`in navigator?function(t,a,o){if(a=a||t.name||`download`,typeof t!=`string`)navigator.msSaveOrOpenBlob(e(t,o),a);else if(r(t))n(t,a,o);else{var s=document.createElement(`a`);s.href=t,s.target=`_blank`,setTimeout(function(){i(s)})}}:function(e,t,r,i){if(i||=open(``,`_blank`),i&&(i.document.title=i.document.body.innerText=`downloading...`),typeof e==`string`)return n(e,t,r);var s=e.type===`application/octet-stream`,c=/constructor/i.test(a.HTMLElement)||a.safari,l=/CriOS\/[\d]+/.test(navigator.userAgent);if((l||s&&c||o)&&typeof FileReader<`u`){var u=new FileReader;u.onloadend=function(){var e=u.result;e=l?e:e.replace(/^data:[^;]*;/,`data:attachment/file;`),i?i.location.href=e:location=e,i=null},u.readAsDataURL(e)}else{var d=a.URL||a.webkitURL,f=d.createObjectURL(e);i?i.location=f:location.href=f,i=null,setTimeout(function(){d.revokeObjectURL(f)},4e4)}});a.saveAs=s.saveAs=s,t!==void 0&&(t.exports=s)})}));export{t}; \ No newline at end of file diff --git a/lecture-05/assets/modules/shiki-BrmBd2_v.css b/lecture-05/assets/modules/shiki-BrmBd2_v.css new file mode 100644 index 0000000000000000000000000000000000000000..be27a11806f53e2a186afcc8baba6c680d0e3ce3 --- /dev/null +++ b/lecture-05/assets/modules/shiki-BrmBd2_v.css @@ -0,0 +1 @@ +.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}.resize-observer[data-v-b329ee4c]{z-index:-1;pointer-events:none;opacity:0;background-color:#0000;border:none;width:100%;height:100%;display:block;position:absolute;top:0;left:0;overflow:hidden}.resize-observer[data-v-b329ee4c] object{pointer-events:none;z-index:-1;width:100%;height:100%;display:block;position:absolute;top:0;left:0;overflow:hidden}.v-popper__popper{z-index:10000;outline:none;top:0;left:0}.v-popper__popper.v-popper__popper--hidden{visibility:hidden;opacity:0;pointer-events:none;transition:opacity .15s,visibility .15s}.v-popper__popper.v-popper__popper--shown{visibility:visible;opacity:1;transition:opacity .15s}.v-popper__popper.v-popper__popper--skip-transition,.v-popper__popper.v-popper__popper--skip-transition>.v-popper__wrapper{transition:none!important}.v-popper__backdrop{width:100%;height:100%;display:none;position:absolute;top:0;left:0}.v-popper__inner{box-sizing:border-box;position:relative;overflow-y:auto}.v-popper__inner>div{z-index:1;max-width:inherit;max-height:inherit;position:relative}.v-popper__arrow-container{width:10px;height:10px;position:absolute}.v-popper__popper--arrow-overflow .v-popper__arrow-container,.v-popper__popper--no-positioning .v-popper__arrow-container{display:none}.v-popper__arrow-inner,.v-popper__arrow-outer{border-style:solid;width:0;height:0;position:absolute;top:0;left:0}.v-popper__arrow-inner{visibility:hidden;border-width:7px}.v-popper__arrow-outer{border-width:6px}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-inner{left:-2px}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-outer,.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-outer{left:-1px}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-outer{border-bottom-width:0;border-bottom-color:#0000!important;border-left-color:#0000!important;border-right-color:#0000!important}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-inner{top:-2px}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-container{top:0}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-outer{border-top-width:0;border-top-color:#0000!important;border-left-color:#0000!important;border-right-color:#0000!important}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-inner{top:-4px}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-outer{top:-6px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-inner{top:-2px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-outer,.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-outer{top:-1px}.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-outer{border-left-width:0;border-top-color:#0000!important;border-bottom-color:#0000!important;border-left-color:#0000!important}.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-inner{left:-4px}.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-outer{left:-6px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-container{right:-10px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-outer{border-right-width:0;border-top-color:#0000!important;border-bottom-color:#0000!important;border-right-color:#0000!important}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-inner{left:-2px}.v-popper--theme-tooltip .v-popper__inner{color:#fff;background:#000c;border-radius:6px;padding:7px 12px 6px}.v-popper--theme-tooltip .v-popper__arrow-outer{border-color:#000c}.v-popper--theme-dropdown .v-popper__inner{color:#000;background:#fff;border:1px solid #ddd;border-radius:6px;box-shadow:0 6px 30px #0000001a}.v-popper--theme-dropdown .v-popper__arrow-inner{visibility:visible;border-color:#fff}.v-popper--theme-dropdown .v-popper__arrow-outer{border-color:#ddd}:root{--twoslash-border-color:#8888;--twoslash-underline-color:currentColor;--twoslash-highlighted-border:#c37d0d50;--twoslash-highlighted-bg:#c37d0d20;--twoslash-popup-bg:#f8f8f8;--twoslash-popup-color:inherit;--twoslash-popup-shadow:#00000014 0px 1px 4px;--twoslash-docs-color:#888;--twoslash-docs-font:sans-serif;--twoslash-code-font:inherit;--twoslash-code-font-size:1em;--twoslash-matched-color:inherit;--twoslash-unmatched-color:#888;--twoslash-cursor-color:#8888;--twoslash-error-color:#d45656;--twoslash-error-bg:#d4565620;--twoslash-warn-color:#c37d0d;--twoslash-warn-bg:#c37d0d20;--twoslash-tag-color:#3772cf;--twoslash-tag-bg:#3772cf20;--twoslash-tag-warn-color:var(--twoslash-warn-color);--twoslash-tag-warn-bg:var(--twoslash-warn-bg);--twoslash-tag-annotate-color:#1ba673;--twoslash-tag-annotate-bg:#1ba67320}@media (prefers-reduced-motion:reduce){.twoslash *{transition:none!important}}.twoslash:hover .twoslash-hover{border-color:var(--twoslash-underline-color)}.twoslash .twoslash-hover{border-bottom:1px dotted #0000;transition:border-color .3s;position:relative}.twoslash .twoslash-popup-container{opacity:0;background:var(--twoslash-popup-bg);color:var(--twoslash-popup-color);border:1px solid var(--twoslash-border-color);pointer-events:none;z-index:10;-webkit-user-select:none;user-select:none;text-align:left;box-shadow:var(--twoslash-popup-shadow);border-radius:4px;flex-direction:column;transition:opacity .3s;display:inline-flex;position:absolute;transform:translateY(1.1em)}.twoslash .twoslash-query-persisted .twoslash-popup-container{z-index:9;transform:translateY(1.5em)}.twoslash .twoslash-hover:hover .twoslash-popup-container,.twoslash .twoslash-error-hover:hover .twoslash-popup-container,.twoslash .twoslash-query-persisted .twoslash-popup-container,.twoslash .twoslash-query-line .twoslash-popup-container{opacity:1;pointer-events:auto}.twoslash .twoslash-popup-container:hover{-webkit-user-select:auto;user-select:auto}.twoslash .twoslash-popup-arrow{border-top:1px solid var(--twoslash-border-color);border-right:1px solid var(--twoslash-border-color);background:var(--twoslash-popup-bg);pointer-events:none;width:6px;height:6px;position:absolute;top:-4px;left:1em;transform:rotate(-45deg)}.twoslash .twoslash-popup-code,.twoslash .twoslash-popup-error,.twoslash .twoslash-popup-docs{padding:6px 8px!important}.twoslash .twoslash-popup-code{font-family:var(--twoslash-code-font);font-size:var(--twoslash-code-font-size)}.twoslash .twoslash-popup-docs{color:var(--twoslash-docs-color);font-family:var(--twoslash-docs-font);border-top:1px solid var(--twoslash-border-color);font-size:.8em}.twoslash .twoslash-popup-error{color:var(--twoslash-error-color);background-color:var(--twoslash-error-bg);font-family:var(--twoslash-docs-font);font-size:.8em}.twoslash .twoslash-popup-docs-tags{font-family:var(--twoslash-docs-font);flex-direction:column;display:flex}.twoslash .twoslash-popup-docs-tags,.twoslash .twoslash-popup-docs-tag-name{margin-right:.5em}.twoslash .twoslash-popup-docs-tag-name{font-family:var(--twoslash-code-font)}.twoslash .twoslash-query-line .twoslash-popup-container{margin-bottom:1.4em;position:relative;transform:translateY(.6em)}.twoslash .twoslash-error-line{background-color:var(--twoslash-error-bg);border-left:3px solid var(--twoslash-error-color);color:var(--twoslash-error-color);width:max-content;min-width:100%;margin:.2em 0;padding:6px 12px;position:relative}.twoslash .twoslash-error-line.twoslash-error-level-warning{background-color:var(--twoslash-warn-bg);border-left:3px solid var(--twoslash-warn-color);color:var(--twoslash-warn-color)}.twoslash .twoslash-error{background:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%206%203'%20enable-background%3D'new%200%200%206%203'%20height%3D'3'%20width%3D'6'%3E%3Cg%20fill%3D'%23c94824'%3E%3Cpolygon%20points%3D'5.5%2C0%202.5%2C3%201.1%2C3%204.1%2C0'%2F%3E%3Cpolygon%20points%3D'4%2C0%206%2C2%206%2C0.6%205.4%2C0'%2F%3E%3Cpolygon%20points%3D'0%2C2%201%2C3%202.4%2C3%200%2C0.6'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") 0 100% repeat-x;padding-bottom:2px}.twoslash .twoslash-error.twoslash-error-level-warning{background:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%206%203'%20enable-background%3D'new%200%200%206%203'%20height%3D'3'%20width%3D'6'%3E%3Cg%20fill%3D'%23c37d0d'%3E%3Cpolygon%20points%3D'5.5%2C0%202.5%2C3%201.1%2C3%204.1%2C0'%2F%3E%3Cpolygon%20points%3D'4%2C0%206%2C2%206%2C0.6%205.4%2C0'%2F%3E%3Cpolygon%20points%3D'0%2C2%201%2C3%202.4%2C3%200%2C0.6'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") 0 100% repeat-x;padding-bottom:2px}.twoslash .twoslash-completion-cursor{position:relative}.twoslash .twoslash-completion-cursor .twoslash-completion-list{-webkit-user-select:none;user-select:none;z-index:8;box-shadow:var(--twoslash-popup-shadow);background:var(--twoslash-popup-bg);border:1px solid var(--twoslash-border-color);margin:3px 0 0 -1px;display:inline-block;position:absolute;top:0;left:0;transform:translateY(1.2em)}.twoslash-completion-list{flex-direction:column;gap:4px;width:240px;padding:4px;font-size:.8rem;display:flex}.twoslash-completion-list:hover{-webkit-user-select:auto;user-select:auto}.twoslash-completion-list:before{background-color:var(--twoslash-cursor-color);content:" ";width:2px;height:1.4em;position:absolute;top:-1.6em;left:-1px}.twoslash-completion-list li{align-items:center;gap:.25em;line-height:1em;display:flex;overflow:hidden}.twoslash-completion-list li span.twoslash-completions-unmatched{color:var(--twoslash-unmatched-color)}.twoslash-completion-list .deprecated{opacity:.5;text-decoration:line-through}.twoslash-completion-list li span.twoslash-completions-matched{color:var(--twoslash-matched-color)}.twoslash-highlighted{background-color:var(--twoslash-highlighted-bg);border:1px solid var(--twoslash-highlighted-border);border-radius:4px;margin:-1px -3px;padding:1px 2px}.twoslash-completion-list .twoslash-completions-icon{color:var(--twoslash-unmatched-color);flex:none;width:1em}.twoslash .twoslash-tag-line{background-color:var(--twoslash-tag-bg);border-left:3px solid var(--twoslash-tag-color);color:var(--twoslash-tag-color);align-items:center;gap:.3em;width:max-content;min-width:100%;margin:.2em 0;padding:6px 10px;display:flex;position:relative}.twoslash .twoslash-tag-line .twoslash-tag-icon{width:1.1em;color:inherit}.twoslash .twoslash-tag-line.twoslash-tag-error-line{background-color:var(--twoslash-error-bg);border-left:3px solid var(--twoslash-error-color);color:var(--twoslash-error-color)}.twoslash .twoslash-tag-line.twoslash-tag-warn-line{background-color:var(--twoslash-tag-warn-bg);border-left:3px solid var(--twoslash-tag-warn-color);color:var(--twoslash-tag-warn-color)}.twoslash .twoslash-tag-line.twoslash-tag-annotate-line{background-color:var(--twoslash-tag-annotate-bg);border-left:3px solid var(--twoslash-tag-annotate-color);color:var(--twoslash-tag-annotate-color)}:root{--twoslash-popup-bg:var(--vp-c-bg,inherit);--twoslash-popup-color:var(--vp-c-text-1);--twoslash-docs-color:var(--vp-c-text-1);--twoslash-docs-font:var(--vp-font-family-base);--twoslash-code-font:var(--vp-font-family-mono);--twoslash-code-size:var(--vp-code-font-size);--twoslash-underline-color:#8888;--twoslash-border-color:var(--vp-c-border);--twoslash-cursor-color:var(--vp-c-brand);--twoslash-matched-color:var(--vp-c-brand);--twoslash-unmatched-color:var(--vp-c-text-2)}.v-popper--theme-twoslash{z-index:calc(var(--vp-z-index-local-nav) - 1)}.v-popper--theme-twoslash .v-popper__inner{background:var(--twoslash-popup-bg);color:var(--twoslash-popup-color);border-color:var(--twoslash-border-color)}.v-popper--theme-twoslash .v-popper__arrow-outer{border-color:var(--twoslash-border-color)}.v-popper--theme-twoslash .v-popper__arrow-inner{border-color:var(--twoslash-popup-bg)}.twoslash-popup-container{transform:translateY(1.5em)}.twoslash-query-persisted .twoslash-popup-container{transform:translateY(1.8em)}.twoslash .v-popper{display:inline-block}.twoslash-completion-list .twoslash-completions-icon{color:var(--twoslash-unmatched-color)!important}.twoslash-floating .twoslash-popup-code{width:fit-content;min-width:100%;max-width:600px;line-height:var(--vp-code-line-height);font-size:var(--twoslash-code-size);white-space:pre-wrap;padding:6px 12px;transition:color .5s;display:block}.twoslash-floating .twoslash-popup-docs,.twoslash-floating .twoslash-popup-error{font-family:var(--twoslash-docs-font);text-wrap:balance;max-width:700px;max-height:500px;font-size:.9em;overflow:hidden auto;padding:12px!important}.twoslash-floating .twoslash-popup-docs p:first-child,.twoslash-floating .twoslash-popup-error p:first-child{margin-top:0}.twoslash-floating .twoslash-popup-docs p:last-child,.twoslash-floating .twoslash-popup-error p:last-child{margin-bottom:0}.twoslash-floating .twoslash-popup-docs{border-top:1px solid var(--twoslash-border-color);color:var(--twoslash-docs-color)}.twoslash-floating .twoslash-popup-error{color:var(--twoslash-error-color)}.twoslash-floating .twoslash-popup-error.twoslash-error-level-warning{color:var(--twoslash-warn-color)}.twoslash-floating .twoslash-popup-docs p,.twoslash-floating .twoslash-popup-error p{text-wrap:balance;margin:6px 0}.twoslash-floating .twoslash-popup-docs pre .twoslash-floating .twoslash-popup-error pre{background-color:var(--vp-code-block-bg);border-radius:8px;margin:6px -2px;padding:12px;overflow-x:auto}.twoslash-floating .twoslash-popup-docs-tags{flex-direction:column;display:flex;padding:8px 12px!important}.twoslash-floating .twoslash-popup-docs-tags .twoslash-popup-docs-tag-name{font-family:var(--twoslash-code-font);color:var(--twoslash-unmatched-color);margin-right:.5em}.twoslash-completion-cursor{background:var(--twoslash-cursor-color);-webkit-user-select:none;user-select:none;width:2px;height:1.2em;margin-bottom:-.2em;display:inline-block}.twoslash-floating.twoslash-completion .v-popper__arrow-container{display:none}.twoslash-floating.twoslash-completion .twoslash-completion-list{font-family:var(--twoslash-code-font);padding:6px;font-size:var(--twoslash-code-size)!important}.twoslash-floating.twoslash-completion .twoslash-completion-list li{padding:3px 0}.twoslash-error:empty,.twoslash-error-empty{vertical-align:middle;min-width:.55em;min-height:1.2em;display:inline-block} diff --git a/lecture-05/assets/modules/shiki-CkJq9tSf.js b/lecture-05/assets/modules/shiki-CkJq9tSf.js new file mode 100644 index 0000000000000000000000000000000000000000..66bba9a2b31ebbb407582bf32182f39de642607f --- /dev/null +++ b/lecture-05/assets/modules/shiki-CkJq9tSf.js @@ -0,0 +1,10 @@ +import{n as e}from"../rolldown-runtime-hePW80VL.js";function t(e){let t=Object.create(null);for(let n of e.split(`,`))t[n]=1;return e=>e in t}var n={},r=[],i=()=>{},a=()=>!1,o=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),s=e=>e.startsWith(`onUpdate:`),c=Object.assign,l=(e,t)=>{let n=e.indexOf(t);n>-1&&e.splice(n,1)},u=Object.prototype.hasOwnProperty,d=(e,t)=>u.call(e,t),f=Array.isArray,p=e=>C(e)===`[object Map]`,m=e=>C(e)===`[object Set]`,h=e=>C(e)===`[object Date]`,g=e=>C(e)===`[object RegExp]`,_=e=>typeof e==`function`,v=e=>typeof e==`string`,y=e=>typeof e==`symbol`,b=e=>typeof e==`object`&&!!e,x=e=>(b(e)||_(e))&&_(e.then)&&_(e.catch),S=Object.prototype.toString,C=e=>S.call(e),w=e=>C(e).slice(8,-1),T=e=>C(e)===`[object Object]`,E=e=>v(e)&&e!==`NaN`&&e[0]!==`-`&&``+parseInt(e,10)===e,D=t(`,key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted`),ee=t(`bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo`),te=e=>{let t=Object.create(null);return(n=>t[n]||(t[n]=e(n)))},O=/-\w/g,k=te(e=>e.replace(O,e=>e.slice(1).toUpperCase())),ne=/\B([A-Z])/g,A=te(e=>e.replace(ne,`-$1`).toLowerCase()),re=te(e=>e.charAt(0).toUpperCase()+e.slice(1)),j=te(e=>e?`on${re(e)}`:``),M=(e,t)=>!Object.is(e,t),ie=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:r,value:n})},oe=e=>{let t=parseFloat(e);return isNaN(t)?e:t},se=e=>{let t=v(e)?Number(e):NaN;return isNaN(t)?e:t},ce,le=()=>ce||=typeof globalThis<`u`?globalThis:typeof self<`u`?self:typeof window<`u`?window:typeof global<`u`?global:{};function ue(e,t){return e+JSON.stringify(t,(e,t)=>typeof t==`function`?t.toString():t)}var de=t(`Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,console,Error,Symbol`);function fe(e){if(f(e)){let t={};for(let n=0;n{if(e){let n=e.split(me);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function _e(e){let t=``;if(v(e))t=e;else if(f(e))for(let n=0;nje(e,t))}var Ne=e=>!!(e&&e.__v_isRef===!0),Pe=e=>v(e)?e:e==null?``:f(e)||b(e)&&(e.toString===S||!_(e.toString))?Ne(e)?Pe(e.value):JSON.stringify(e,Fe,2):String(e),Fe=(e,t)=>Ne(t)?Fe(e,t.value):p(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((e,[t,n],r)=>(e[Ie(t,r)+` =>`]=n,e),{})}:m(t)?{[`Set(${t.size})`]:[...t.values()].map(e=>Ie(e))}:y(t)?Ie(t):b(t)&&!f(t)&&!T(t)?String(t):t,Ie=(e,t=``)=>y(e)?`Symbol(${e.description??t})`:e;function Le(e){return e==null?`initial`:typeof e==`string`?e===``?` `:e:String(e)}var N,Re=class{constructor(e=!1){this.detached=e,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this._warnOnRun=!0,this.__v_skip=!0,!e&&N&&(N.active?(this.parent=N,this.index=(N.scopes||(N.scopes=[])).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let e,t;if(this.scopes){let n=this.scopes.slice();for(e=0,t=n.length;e0&&--this._on===0){if(N===this)N=this.prevScope;else{let e=N;for(;e;){if(e.prevScope===this){e.prevScope=this.prevScope;break}e=e.prevScope}}this.prevScope=void 0}}stop(e){if(this._active){this._active=!1;let t,n;for(t=0,n=this.effects.length;t0)return;if(Ke){let e=Ke;for(Ke=void 0;e;){let t=e.next;e.next=void 0,e.flags&=-9,e=t}}let e;for(;Ge;){let t=Ge;for(Ge=void 0;t;){let n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(t){e||=t}t=n}}if(e)throw e}function Xe(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function Ze(e){let t,n=e.depsTail,r=n;for(;r;){let e=r.prevDep;r.version===-1?(r===n&&(n=e),et(r),tt(r)):t=r,r.dep.activeLink=r.prevActiveLink,r.prevActiveLink=void 0,r=e}e.deps=t,e.depsTail=n}function Qe(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&($e(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function $e(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===lt)||(e.globalVersion=lt,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!Qe(e))))return;e.flags|=2;let t=e.dep,n=P,r=it;P=e,it=!0;try{Xe(e);let n=e.fn(e._value);(t.version===0||M(n,e._value))&&(e.flags|=128,e._value=n,t.version++)}catch(e){throw t.version++,e}finally{P=n,it=r,Ze(e),e.flags&=-3}}function et(e,t=!1){let{dep:n,prevSub:r,nextSub:i}=e;if(r&&(r.nextSub=i,e.prevSub=void 0),i&&(i.prevSub=r,e.nextSub=void 0),n.subs===e&&(n.subs=r,!r&&n.computed)){n.computed.flags&=-5;for(let e=n.computed.deps;e;e=e.nextDep)et(e,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function tt(e){let{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}function nt(e,t){e.effect instanceof Ue&&(e=e.effect.fn);let n=new Ue(e);t&&c(n,t);try{n.run()}catch(e){throw n.stop(),e}let r=n.run.bind(n);return r.effect=n,r}function rt(e){e.effect.stop()}var it=!0,at=[];function ot(){at.push(it),it=!1}function st(){let e=at.pop();it=e===void 0||e}function ct(e){let{cleanup:t}=e;if(e.cleanup=void 0,t){let e=P;P=void 0;try{t()}finally{P=e}}}var lt=0,ut=class{constructor(e,t){this.sub=e,this.dep=t,this.version=t.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}},dt=class{constructor(e){this.computed=e,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(e){if(!P||!it||P===this.computed)return;let t=this.activeLink;if(t===void 0||t.sub!==P)t=this.activeLink=new ut(P,this),P.deps?(t.prevDep=P.depsTail,P.depsTail.nextDep=t,P.depsTail=t):P.deps=P.depsTail=t,ft(t);else if(t.version===-1&&(t.version=this.version,t.nextDep)){let e=t.nextDep;e.prevDep=t.prevDep,t.prevDep&&(t.prevDep.nextDep=e),t.prevDep=P.depsTail,t.nextDep=void 0,P.depsTail.nextDep=t,P.depsTail=t,P.deps===t&&(P.deps=e)}return t}trigger(e){this.version++,lt++,this.notify(e)}notify(e){Je();try{for(let e=this.subs;e;e=e.prevSub)e.sub.notify()&&e.sub.dep.notify()}finally{Ye()}}};function ft(e){if(e.dep.sc++,e.sub.flags&4){let t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let e=t.deps;e;e=e.nextDep)ft(e)}let n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}var pt=new WeakMap,mt=Symbol(``),ht=Symbol(``),gt=Symbol(``);function _t(e,t,n){if(it&&P){let t=pt.get(e);t||pt.set(e,t=new Map);let r=t.get(n);r||(t.set(n,r=new dt),r.map=t,r.key=n),r.track()}}function vt(e,t,n,r,i,a){let o=pt.get(e);if(!o){lt++;return}let s=e=>{e&&e.trigger()};if(Je(),t===`clear`)o.forEach(s);else{let i=f(e),a=i&&E(n);if(i&&n===`length`){let e=Number(r);o.forEach((t,n)=>{(n===`length`||n===gt||!y(n)&&n>=e)&&s(t)})}else switch((n!==void 0||o.has(void 0))&&s(o.get(n)),a&&s(o.get(gt)),t){case`add`:i?a&&s(o.get(`length`)):(s(o.get(mt)),p(e)&&s(o.get(ht)));break;case`delete`:i||(s(o.get(mt)),p(e)&&s(o.get(ht)));break;case`set`:p(e)&&s(o.get(mt))}}Ye()}function yt(e,t){let n=pt.get(e);return n&&n.get(t)}function bt(e){let t=F(e);return t===e?t:(_t(t,`iterate`,gt),ln(e)?t:t.map(fn))}function xt(e){return _t(e=F(e),`iterate`,gt),e}function St(e,t){return cn(e)?pn(sn(e)?fn(t):t):fn(t)}var Ct={__proto__:null,[Symbol.iterator](){return wt(this,Symbol.iterator,e=>St(this,e))},concat(...e){return bt(this).concat(...e.map(e=>f(e)?bt(e):e))},entries(){return wt(this,`entries`,e=>(e[1]=St(this,e[1]),e))},every(e,t){return Et(this,`every`,e,t,void 0,arguments)},filter(e,t){return Et(this,`filter`,e,t,e=>e.map(e=>St(this,e)),arguments)},find(e,t){return Et(this,`find`,e,t,e=>St(this,e),arguments)},findIndex(e,t){return Et(this,`findIndex`,e,t,void 0,arguments)},findLast(e,t){return Et(this,`findLast`,e,t,e=>St(this,e),arguments)},findLastIndex(e,t){return Et(this,`findLastIndex`,e,t,void 0,arguments)},forEach(e,t){return Et(this,`forEach`,e,t,void 0,arguments)},includes(...e){return Ot(this,`includes`,e)},indexOf(...e){return Ot(this,`indexOf`,e)},join(e){return bt(this).join(e)},lastIndexOf(...e){return Ot(this,`lastIndexOf`,e)},map(e,t){return Et(this,`map`,e,t,void 0,arguments)},pop(){return kt(this,`pop`)},push(...e){return kt(this,`push`,e)},reduce(e,...t){return Dt(this,`reduce`,e,t)},reduceRight(e,...t){return Dt(this,`reduceRight`,e,t)},shift(){return kt(this,`shift`)},some(e,t){return Et(this,`some`,e,t,void 0,arguments)},splice(...e){return kt(this,`splice`,e)},toReversed(){return bt(this).toReversed()},toSorted(e){return bt(this).toSorted(e)},toSpliced(...e){return bt(this).toSpliced(...e)},unshift(...e){return kt(this,`unshift`,e)},values(){return wt(this,`values`,e=>St(this,e))}};function wt(e,t,n){let r=xt(e),i=r[t]();return r!==e&&!ln(e)&&(i._next=i.next,i.next=()=>{let e=i._next();return e.done||(e.value=n(e.value)),e}),i}var Tt=Array.prototype;function Et(e,t,n,r,i,a){let o=xt(e),s=o!==e&&!ln(e),c=o[t];if(c!==Tt[t]){let t=c.apply(e,a);return s?fn(t):t}let l=n;o!==e&&(s?l=function(t,r){return n.call(this,St(e,t),r,e)}:n.length>2&&(l=function(t,r){return n.call(this,t,r,e)}));let u=c.call(o,l,r);return s&&i?i(u):u}function Dt(e,t,n,r){let i=xt(e),a=i!==e&&!ln(e),o=n,s=!1;i!==e&&(a?(s=r.length===0,o=function(t,r,i){return s&&(s=!1,t=St(e,t)),n.call(this,t,St(e,r),i,e)}):n.length>3&&(o=function(t,r,i){return n.call(this,t,r,i,e)}));let c=i[t](o,...r);return s?St(e,c):c}function Ot(e,t,n){let r=F(e);_t(r,`iterate`,gt);let i=r[t](...n);return(i===-1||i===!1)&&un(n[0])?(n[0]=F(n[0]),r[t](...n)):i}function kt(e,t,n=[]){ot(),Je();let r=F(e)[t].apply(e,n);return Ye(),st(),r}var At=t(`__proto__,__v_isRef,__isVue`),jt=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!==`arguments`&&e!==`caller`).map(e=>Symbol[e]).filter(y));function Mt(e){y(e)||(e=String(e));let t=F(this);return _t(t,`has`,e),t.hasOwnProperty(e)}var Nt=class{constructor(e=!1,t=!1){this._isReadonly=e,this._isShallow=t}get(e,t,n){if(t===`__v_skip`)return e.__v_skip;let r=this._isReadonly,i=this._isShallow;if(t===`__v_isReactive`)return!r;if(t===`__v_isReadonly`)return r;if(t===`__v_isShallow`)return i;if(t===`__v_raw`)return n===(r?i?$t:Qt:i?Zt:Xt).get(e)||Object.getPrototypeOf(e)===Object.getPrototypeOf(n)?e:void 0;let a=f(e);if(!r){let e;if(a&&(e=Ct[t]))return e;if(t===`hasOwnProperty`)return Mt}let o=Reflect.get(e,t,I(e)?e:n);if((y(t)?jt.has(t):At(t))||(r||_t(e,`get`,t),i))return o;if(I(o)){let e=a&&E(t)?o:o.value;return r&&b(e)?rn(e):e}return b(o)?r?rn(o):tn(o):o}},Pt=class extends Nt{constructor(e=!1){super(!1,e)}set(e,t,n,r){let i=e[t],a=f(e)&&E(t);if(!this._isShallow){let e=cn(i);if(!ln(n)&&!cn(n)&&(i=F(i),n=F(n)),!a&&I(i)&&!I(n))return e||(i.value=n),!0}let o=a?Number(t)e,Vt=e=>Reflect.getPrototypeOf(e);function Ht(e,t,n){return function(...r){let i=this.__v_raw,a=F(i),o=p(a),s=e===`entries`||e===Symbol.iterator&&o,l=e===`keys`&&o,u=i[e](...r),d=n?Bt:t?pn:fn;return!t&&_t(a,`iterate`,l?ht:mt),c(Object.create(u),{next(){let{value:e,done:t}=u.next();return t?{value:e,done:t}:{value:s?[d(e[0]),d(e[1])]:d(e),done:t}}})}}function Ut(e){return function(...t){return e===`delete`?!1:e===`clear`?void 0:this}}function Wt(e,t){let n={get(n){let r=this.__v_raw,i=F(r),a=F(n);e||(M(n,a)&&_t(i,`get`,n),_t(i,`get`,a));let{has:o}=Vt(i),s=t?Bt:e?pn:fn;if(o.call(i,n))return s(r.get(n));if(o.call(i,a))return s(r.get(a));r!==i&&r.get(n)},get size(){let t=this.__v_raw;return!e&&_t(F(t),`iterate`,mt),t.size},has(t){let n=this.__v_raw,r=F(n),i=F(t);return e||(M(t,i)&&_t(r,`has`,t),_t(r,`has`,i)),t===i?n.has(t):n.has(t)||n.has(i)},forEach(n,r){let i=this,a=i.__v_raw,o=F(a),s=t?Bt:e?pn:fn;return!e&&_t(o,`iterate`,mt),a.forEach((e,t)=>n.call(r,s(e),s(t),i))}};return c(n,e?{add:Ut(`add`),set:Ut(`set`),delete:Ut(`delete`),clear:Ut(`clear`)}:{add(e){let n=F(this),r=Vt(n),i=F(e),a=!t&&!ln(e)&&!cn(e)?i:e;return r.has.call(n,a)||M(e,a)&&r.has.call(n,e)||M(i,a)&&r.has.call(n,i)||(n.add(a),vt(n,`add`,a,a)),this},set(e,n){!t&&!ln(n)&&!cn(n)&&(n=F(n));let r=F(this),{has:i,get:a}=Vt(r),o=i.call(r,e);o||=(e=F(e),i.call(r,e));let s=a.call(r,e);return r.set(e,n),o?M(n,s)&&vt(r,`set`,e,n,s):vt(r,`add`,e,n),this},delete(e){let t=F(this),{has:n,get:r}=Vt(t),i=n.call(t,e);i||=(e=F(e),n.call(t,e));let a=r?r.call(t,e):void 0,o=t.delete(e);return i&&vt(t,`delete`,e,void 0,a),o},clear(){let e=F(this),t=e.size!==0,n=e.clear();return t&&vt(e,`clear`,void 0,void 0,void 0),n}}),[`keys`,`values`,`entries`,Symbol.iterator].forEach(r=>{n[r]=Ht(r,e,t)}),n}function Gt(e,t){let n=Wt(e,t);return(t,r,i)=>r===`__v_isReactive`?!e:r===`__v_isReadonly`?e:r===`__v_raw`?t:Reflect.get(d(n,r)&&r in t?n:t,r,i)}var Kt={get:Gt(!1,!1)},qt={get:Gt(!1,!0)},Jt={get:Gt(!0,!1)},Yt={get:Gt(!0,!0)},Xt=new WeakMap,Zt=new WeakMap,Qt=new WeakMap,$t=new WeakMap;function en(e){switch(e){case`Object`:case`Array`:return 1;case`Map`:case`Set`:case`WeakMap`:case`WeakSet`:return 2;default:return 0}}function tn(e){return cn(e)?e:on(e,!1,It,Kt,Xt)}function nn(e){return on(e,!1,Rt,qt,Zt)}function rn(e){return on(e,!0,Lt,Jt,Qt)}function an(e){return on(e,!0,zt,Yt,$t)}function on(e,t,n,r,i){if(!b(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;let a=i.get(e);if(a)return a;let o=en(w(e));if(o===0)return e;let s=new Proxy(e,o===2?r:n);return i.set(e,s),s}function sn(e){return cn(e)?sn(e.__v_raw):!!(e&&e.__v_isReactive)}function cn(e){return!!(e&&e.__v_isReadonly)}function ln(e){return!!(e&&e.__v_isShallow)}function un(e){return e?!!e.__v_raw:!1}function F(e){let t=e&&e.__v_raw;return t?F(t):e}function dn(e){return!d(e,`__v_skip`)&&Object.isExtensible(e)&&ae(e,`__v_skip`,!0),e}var fn=e=>b(e)?tn(e):e,pn=e=>b(e)?rn(e):e;function I(e){return e?e.__v_isRef===!0:!1}function mn(e){return gn(e,!1)}function hn(e){return gn(e,!0)}function gn(e,t){return I(e)?e:new _n(e,t)}var _n=class{constructor(e,t){this.dep=new dt,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=t?e:F(e),this._value=t?e:fn(e),this.__v_isShallow=t}get value(){return this.dep.track(),this._value}set value(e){let t=this._rawValue,n=this.__v_isShallow||ln(e)||cn(e);e=n?e:F(e),M(e,t)&&(this._rawValue=e,this._value=n?e:fn(e),this.dep.trigger())}};function vn(e){e.dep&&e.dep.trigger()}function yn(e){return I(e)?e.value:e}function bn(e){return _(e)?e():yn(e)}var xn={get:(e,t,n)=>t===`__v_raw`?e:yn(Reflect.get(e,t,n)),set:(e,t,n,r)=>{let i=e[t];return I(i)&&!I(n)?(i.value=n,!0):Reflect.set(e,t,n,r)}};function Sn(e){return sn(e)?e:new Proxy(e,xn)}var Cn=class{constructor(e){this.__v_isRef=!0,this._value=void 0;let t=this.dep=new dt,{get:n,set:r}=e(t.track.bind(t),t.trigger.bind(t));this._get=n,this._set=r}get value(){return this._value=this._get()}set value(e){this._set(e)}};function wn(e){return new Cn(e)}function Tn(e){let t=f(e)?Array(e.length):{};for(let n in e)t[n]=kn(e,n);return t}var En=class{constructor(e,t,n){this._object=e,this._defaultValue=n,this.__v_isRef=!0,this._value=void 0,this._key=y(t)?t:String(t),this._raw=F(e);let r=!0,i=e;if(!f(e)||y(this._key)||!E(this._key))do r=!un(i)||ln(i);while(r&&(i=i.__v_raw));this._shallow=r}get value(){let e=this._object[this._key];return this._shallow&&(e=yn(e)),this._value=e===void 0?this._defaultValue:e}set value(e){if(this._shallow&&I(this._raw[this._key])){let t=this._object[this._key];if(I(t)){t.value=e;return}}this._object[this._key]=e}get dep(){return yt(this._raw,this._key)}},Dn=class{constructor(e){this._getter=e,this.__v_isRef=!0,this.__v_isReadonly=!0,this._value=void 0}get value(){return this._value=this._getter()}};function On(e,t,n){return I(e)?e:_(e)?new Dn(e):b(e)&&arguments.length>1?kn(e,t,n):mn(e)}function kn(e,t,n){return new En(e,t,n)}var An=class{constructor(e,t,n){this.fn=e,this.setter=t,this._value=void 0,this.dep=new dt(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=lt-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!t,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&&P!==this)return qe(this,!0),!0}get value(){let e=this.dep.track();return $e(this),e&&(e.version=this.dep.version),this._value}set value(e){this.setter&&this.setter(e)}};function jn(e,t,n=!1){let r,i;return _(e)?r=e:(r=e.get,i=e.set),new An(r,i,n)}var Mn={GET:`get`,HAS:`has`,ITERATE:`iterate`},Nn={SET:`set`,ADD:`add`,DELETE:`delete`,CLEAR:`clear`},Pn={},Fn=new WeakMap,In=void 0;function Ln(){return In}function Rn(e,t=!1,n=In){if(n){let t=Fn.get(n);t||Fn.set(n,t=[]),t.push(e)}}function zn(e,t,r=n){let{immediate:a,deep:o,once:s,scheduler:c,augmentJob:u,call:d}=r,p=e=>o?e:ln(e)||o===!1||o===0?Bn(e,1):Bn(e),m,h,g,v,y=!1,b=!1;if(I(e)?(h=()=>e.value,y=ln(e)):sn(e)?(h=()=>p(e),y=!0):f(e)?(b=!0,y=e.some(e=>sn(e)||ln(e)),h=()=>e.map(e=>{if(I(e))return e.value;if(sn(e))return p(e);if(_(e))return d?d(e,2):e()})):h=_(e)?t?d?()=>d(e,2):e:()=>{if(g){ot();try{g()}finally{st()}}let t=In;In=m;try{return d?d(e,3,[v]):e(v)}finally{In=t}}:i,t&&o){let e=h,t=o===!0?1/0:o;h=()=>Bn(e(),t)}let x=Be(),S=()=>{m.stop(),x&&x.active&&l(x.effects,m)};if(s&&t){let e=t;t=(...t)=>{let n=e(...t);return S(),n}}let C=b?Array(e.length).fill(Pn):Pn,w=e=>{if(!(!(m.flags&1)||!m.dirty&&!e)){if(t){let n=m.run();if(e||o||y||(b?n.some((e,t)=>M(e,C[t])):M(n,C))){g&&g();let e=In;In=m;try{let e=[n,C===Pn?void 0:b&&C[0]===Pn?[]:C,v];C=n,d?d(t,3,e):t(...e)}finally{In=e}}}else m.run()}};return u&&u(w),m=new Ue(h),m.scheduler=c?()=>c(w,!1):w,v=e=>Rn(e,!1,m),g=m.onStop=()=>{let e=Fn.get(m);if(e){if(d)d(e,4);else for(let t of e)t();Fn.delete(m)}},t?a?w(!0):C=m.run():c?c(w.bind(null,!0),!0):m.run(),S.pause=m.pause.bind(m),S.resume=m.resume.bind(m),S.stop=S,S}function Bn(e,t=1/0,n){if(t<=0||!b(e)||e.__v_skip||(n||=new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,I(e))Bn(e.value,t,n);else if(f(e))for(let r=0;r{Bn(e,t,n)});else if(T(e)){for(let r in e)Bn(e[r],t,n);for(let r of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,r)&&Bn(e[r],t,n)}return e}var Vn=[];function Hn(e){Vn.push(e)}function Un(){Vn.pop()}function Wn(e,t){}var Gn={SETUP_FUNCTION:0,0:`SETUP_FUNCTION`,RENDER_FUNCTION:1,1:`RENDER_FUNCTION`,NATIVE_EVENT_HANDLER:5,5:`NATIVE_EVENT_HANDLER`,COMPONENT_EVENT_HANDLER:6,6:`COMPONENT_EVENT_HANDLER`,VNODE_HOOK:7,7:`VNODE_HOOK`,DIRECTIVE_HOOK:8,8:`DIRECTIVE_HOOK`,TRANSITION_HOOK:9,9:`TRANSITION_HOOK`,APP_ERROR_HANDLER:10,10:`APP_ERROR_HANDLER`,APP_WARN_HANDLER:11,11:`APP_WARN_HANDLER`,FUNCTION_REF:12,12:`FUNCTION_REF`,ASYNC_COMPONENT_LOADER:13,13:`ASYNC_COMPONENT_LOADER`,SCHEDULER:14,14:`SCHEDULER`,COMPONENT_UPDATE:15,15:`COMPONENT_UPDATE`,APP_UNMOUNT_CLEANUP:16,16:`APP_UNMOUNT_CLEANUP`},Kn={sp:`serverPrefetch hook`,bc:`beforeCreate hook`,c:`created hook`,bm:`beforeMount hook`,m:`mounted hook`,bu:`beforeUpdate hook`,u:`updated`,bum:`beforeUnmount hook`,um:`unmounted hook`,a:`activated hook`,da:`deactivated hook`,ec:`errorCaptured hook`,rtc:`renderTracked hook`,rtg:`renderTriggered hook`,0:`setup function`,1:`render function`,2:`watcher getter`,3:`watcher callback`,4:`watcher cleanup function`,5:`native event handler`,6:`component event handler`,7:`vnode hook`,8:`directive hook`,9:`transition hook`,10:`app errorHandler`,11:`app warnHandler`,12:`ref function`,13:`async component loader`,14:`scheduler flush`,15:`component update`,16:`app unmount cleanup function`};function qn(e,t,n,r){try{return r?e(...r):e()}catch(e){Yn(e,t,n)}}function Jn(e,t,n,r){if(_(e)){let i=qn(e,t,n,r);return i&&x(i)&&i.catch(e=>{Yn(e,t,n)}),i}if(f(e)){let i=[];for(let a=0;a>>1,i=Zn[r],a=dr(i);a=dr(n)?Zn.push(e):Zn.splice(ar(t),0,e),e.flags|=1,sr()}}function sr(){rr||=nr.then(fr)}function cr(e){if(!f(e))er&&e.id===-1?er.splice(tr+1,0,e):e.flags&1||($n.push(e),e.flags|=1);else for(let t=0;tdr(e)-dr(t));if($n.length=0,er){for(let t=0;te.id==null?e.flags&2?-1:1/0:e.id;function fr(e){try{for(Qn=0;Qnpr.emit(e,...t)),mr=[]):typeof window<`u`&&window.HTMLElement&&!(window.navigator?.userAgent)?.includes(`jsdom`)?((t.__VUE_DEVTOOLS_HOOK_REPLAY__=t.__VUE_DEVTOOLS_HOOK_REPLAY__||[]).push(e=>{hr(e,t)}),setTimeout(()=>{pr||(t.__VUE_DEVTOOLS_HOOK_REPLAY__=null,mr=[])},3e3)):mr=[]}var L=null,gr=null;function _r(e){let t=L;return L=e,gr=e&&e.type.__scopeId||null,t}function vr(e){gr=e}function yr(){gr=null}var br=e=>xr;function xr(e,t=L,n){if(!t||e._n)return e;let r=(...n)=>{r._d&&xs(-1);let i=_r(t),a=gs.length,o;try{o=e(...n)}finally{for(let e=gs.length;e>a;e--)ys();_r(i),r._d&&xs(1)}return o};return r._n=!0,r._c=!0,r._d=!0,r}function Sr(e,t){if(L===null)return e;let r=cc(L),i=e.dirs||=[];for(let e=0;e1)return n&&_(t)?t.call(r&&r.proxy):t}}function Er(){return!!(Gs()||uo)}var Dr=Symbol.for(`v-scx`),Or=()=>Tr(Dr);function kr(e,t){return Nr(e,null,t)}function Ar(e,t){return Nr(e,null,{flush:`post`})}function jr(e,t){return Nr(e,null,{flush:`sync`})}function Mr(e,t,n){return Nr(e,t,n)}function Nr(e,t,r=n){let{immediate:a,deep:o,flush:s,once:l}=r,u=c({},r),d=t&&a||!t&&s!==`post`,f;if(Zs){if(s===`sync`){let e=Or();f=e.__watcherHandles||=[]}else if(!d){let e=()=>{};return e.stop=i,e.resume=i,e.pause=i,e}}let p=H;u.call=(e,t,n)=>Jn(e,p,t,n);let m=!1;s===`post`?u.scheduler=e=>{R(e,p&&p.suspense)}:s!==`sync`&&(m=!0,u.scheduler=(e,t)=>{t?e():or(e)}),u.augmentJob=e=>{t&&(e.flags|=4),m&&(e.flags|=2,p&&(e.id=p.uid,e.i=p))};let h=zn(e,t,u);return Zs&&(f?f.push(h):d&&h()),h}function Pr(e,t,n){let r=this.proxy,i=v(e)?e.includes(`.`)?Fr(r,e):()=>r[e]:e.bind(r,r),a;_(t)?a=t:(a=t.handler,n=t);let o=Js(this),s=Nr(i,a.bind(r),n);return o(),s}function Fr(e,t){let n=t.split(`.`);return()=>{let t=e;for(let e=0;ee.__isTeleport,zr=e=>e&&(e.disabled||e.disabled===``),Br=e=>e&&(e.defer||e.defer===``),Vr=e=>typeof SVGElement<`u`&&e instanceof SVGElement,Hr=e=>typeof MathMLElement==`function`&&e instanceof MathMLElement,Ur=(e,t)=>{let n=e&&e.to;return v(n)?t?t(n):null:n},Wr={name:`Teleport`,__isTeleport:!0,process(e,t,n,r,i,a,o,s,c,l){let{mc:u,pc:d,pbc:f,o:{insert:p,querySelector:m,createText:h,createComment:g,parentNode:_}}=l,v=zr(t.props),{dynamicChildren:y}=t,b=(e,t,n)=>{e.shapeFlag&16&&u(e.children,t,n,i,a,o,s,c)},x=(e=t)=>{let n=zr(e.props),r=e.target=Ur(e.props,m),a=Yr(r,e,h,p);r&&(o!==`svg`&&Vr(r)?o=`svg`:o!==`mathml`&&Hr(r)&&(o=`mathml`),i&&i.isCE&&(i.ce._teleportTargets||(i.ce._teleportTargets=new Set)).add(r),n||(b(e,r,a),Jr(e,!1)))},S=e=>{let t=()=>{if(Ir.get(e)===t){if(Ir.delete(e),zr(e.props)){let t=_(e.el)||n;b(e,t,e.anchor),Jr(e,!0)}x(e)}};Ir.set(e,t),R(t,a)};if(e==null){let e=t.el=h(``),i=t.anchor=h(``);if(p(e,n,r),p(i,n,r),Br(t.props)||a&&a.pendingBranch){S(t);return}v&&(b(t,n,i),Jr(t,!0)),x()}else{t.el=e.el;let r=t.anchor=e.anchor,u=Ir.get(e);if(u){u.flags|=8,Ir.delete(e),S(t);return}t.targetStart=e.targetStart;let p=t.target=e.target,h=t.targetAnchor=e.targetAnchor,g=zr(e.props),_=g?n:p,b=g?r:h;if(o===`svg`||Vr(p)?o=`svg`:(o===`mathml`||Hr(p))&&(o=`mathml`),y?(f(e.dynamicChildren,y,_,i,a,o,s),Xo(e,t,!0)):c||d(e,t,_,b,i,a,o,s,!1),v)g?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):Gr(t,n,r,l,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){let e=Ur(t.props,m);e&&(t.target=e,Gr(t,e,null,l,0))}else g&&Gr(t,p,h,l,1);Jr(t,v)}},remove(e,t,n,{um:r,o:{remove:i}},a){let{shapeFlag:o,children:s,anchor:c,targetStart:l,targetAnchor:u,target:d,props:f}=e,p=zr(f),m=a||!p,h=Ir.get(e);if(h&&(h.flags|=8,Ir.delete(e)),d&&(i(l),i(u)),a&&i(c),!h&&(p||d)&&o&16)for(let e=0;e{e.isMounted=!0}),sa(()=>{e.isUnmounting=!0}),e}var $r=[Function,Array],ei={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:$r,onEnter:$r,onAfterEnter:$r,onEnterCancelled:$r,onBeforeLeave:$r,onLeave:$r,onAfterLeave:$r,onLeaveCancelled:$r,onBeforeAppear:$r,onAppear:$r,onAfterAppear:$r,onAppearCancelled:$r},ti=e=>{let t=e.subTree;return t.component?ti(t.component):t},ni={name:`BaseTransition`,props:ei,setup(e,{slots:t}){let n=Gs(),r=Qr();return()=>{let i=t.default&&ui(t.default(),!0),a=i&&i.length?ri(i):n.subTree?Is():void 0;if(!a)return;let o=F(e),{mode:s}=o;if(r.isLeaving)return si(a);let c=ci(a);if(!c)return si(a);let l=oi(c,o,r,n,e=>l=e);c.type!==B&&li(c,l);let u=n.subTree&&ci(n.subTree);if(u&&u.type!==B&&!Es(u,c)&&ti(n).type!==B){let e=oi(u,o,r,n);if(li(u,e),s===`out-in`&&c.type!==B)return r.isLeaving=!0,e.afterLeave=()=>{r.isLeaving=!1,n.job.flags&8||n.update(),delete e.afterLeave,u=void 0},si(a);s===`in-out`&&c.type!==B?e.delayLeave=(e,t,n)=>{let i=ai(r,u);i[String(u.key)]=u,e[Xr]=()=>{t(),e[Xr]=void 0,delete l.delayedLeave,u=void 0},l.delayedLeave=()=>{n(),delete l.delayedLeave,u=void 0}}:u=void 0}else u&&=void 0;return a}}};function ri(e){let t=e[0];if(e.length>1){for(let n of e)if(n.type!==B){t=n;break}}return t}var ii=ni;function ai(e,t){let{leavingVNodes:n}=e,r=n.get(t.type);return r||(r=Object.create(null),n.set(t.type,r)),r}function oi(e,t,n,r,i){let{appear:a,mode:o,persisted:s=!1,onBeforeEnter:c,onEnter:l,onAfterEnter:u,onEnterCancelled:d,onBeforeLeave:p,onLeave:m,onAfterLeave:h,onLeaveCancelled:g,onBeforeAppear:_,onAppear:v,onAfterAppear:y,onAppearCancelled:b}=t,x=String(e.key),S=ai(n,e),C=(e,t)=>{e&&Jn(e,r,9,t)},w=(e,t)=>{let n=t[1];C(e,t),f(e)?e.every(e=>e.length<=1)&&n():e.length<=1&&n()},T={mode:o,persisted:s,beforeEnter(t){let r=c;if(!n.isMounted){if(a)r=_||c;else return}t[Xr]&&t[Xr](!0);let i=S[x];i&&Es(e,i)&&i.el[Xr]&&i.el[Xr](),C(r,[t])},enter(t){if(S[x]===e)return;let r=l,i=u,o=d;if(!n.isMounted){if(a)r=v||l,i=y||u,o=b||d;else return}let s=!1;t[Zr]=e=>{s||(s=!0,C(e?o:i,[t]),T.delayedLeave&&T.delayedLeave(),t[Zr]=void 0)};let c=t[Zr].bind(null,!1);r?w(r,[t,c]):c()},leave(t,r){let i=String(e.key);if(t[Zr]&&t[Zr](!0),n.isUnmounting)return r();C(p,[t]);let a=!1;t[Xr]=n=>{a||(a=!0,r(),C(n?g:h,[t]),t[Xr]=void 0,S[i]===e&&delete S[i])};let o=t[Xr].bind(null,!1);S[i]=e,m?w(m,[t,o]):o()},clone(e){let a=oi(e,t,n,r,i);return i&&i(a),a}};return T}function si(e){if(Ki(e))return e=Ns(e),e.children=null,e}function ci(e){if(!Ki(e))return Rr(e.type)&&e.children?ri(e.children):e;if(e.component)return e.component.subTree;let{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&_(n.default))return n.default()}}function li(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;let n=e.component.subTree;li(Rr(n.type)&&ci(n)||n,t)}else e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function ui(e,t=!1,n){let r=[],i=0;for(let a=0;a1)for(let e=0;er.value,set:e=>r.value=e})}return r}function hi(e,t){let n;return!!((n=Object.getOwnPropertyDescriptor(e,t))&&!n.configurable)}var gi=new WeakMap;function _i(e,t,r,i,o=!1){if(f(e)){e.forEach((e,n)=>_i(e,t&&(f(t)?t[n]:t),r,i,o));return}if(Ui(i)&&!o){i.shapeFlag&512&&i.type.__asyncResolved&&i.component.subTree.component&&_i(e,t,r,i.component.subTree);return}let s=i.shapeFlag&4?cc(i.component):i.el,c=o?null:s,{i:u,r:p}=e,m=t&&t.r,h=u.refs===n?u.refs={}:u.refs,g=u.setupState,y=F(g),b=g===n?a:e=>!hi(h,e)&&d(y,e),x=(e,t)=>!(t&&hi(h,t));if(m!=null&&m!==p){if(vi(t),v(m))h[m]=null,b(m)&&(g[m]=null);else if(I(m)){let e=t;x(m,e.k)&&(m.value=null),e.k&&(h[e.k]=null)}}if(_(p))qn(p,u,12,[c,h]);else{let t=v(p),n=I(p);if(t||n){let i=()=>{if(e.f){let n=t?b(p)?g[p]:h[p]:x(p)||!e.k?p.value:h[e.k];if(o)f(n)&&l(n,s);else if(f(n))n.includes(s)||n.push(s);else if(t)h[p]=[s],b(p)&&(g[p]=h[p]);else{let t=[s];x(p,e.k)&&(p.value=t),e.k&&(h[e.k]=t)}}else t?(h[p]=c,b(p)&&(g[p]=c)):n&&(x(p,e.k)&&(p.value=c),e.k&&(h[e.k]=c))};if(c){let t=()=>{i(),gi.delete(e)};t.id=-1,gi.set(e,t),R(t,r)}else vi(e),i()}}}function vi(e){let t=gi.get(e);t&&(t.flags|=8,gi.delete(e))}var yi=!1,bi=()=>{yi||=(console.error(`Hydration completed but contains mismatches.`),!0)},xi=e=>e.namespaceURI.includes(`svg`)&&e.tagName!==`foreignObject`,Si=e=>e.namespaceURI.includes(`MathML`),Ci=e=>{if(e.nodeType===1){if(xi(e))return`svg`;if(Si(e))return`mathml`}},wi=e=>e.nodeType===8;function Ti(e){let{mt:t,p:n,o:{patchProp:r,createText:i,nextSibling:a,parentNode:s,remove:c,insert:l,createComment:u}}=e,d=(e,t)=>{if(!t.hasChildNodes()){n(null,e,t),ur(),t._vnode=e;return}f(t.firstChild,e,null,null,null),ur(),t._vnode=e},f=(n,r,o,c,u,d=!1)=>{d||=!!r.dynamicChildren;let b=wi(n)&&n.data===`[`,x=()=>g(n,r,o,c,u,b),{type:S,ref:C,shapeFlag:w,patchFlag:T}=r,E=n.nodeType;r.el=n,T===-2&&(d=!1,r.dynamicChildren=null);let D=null;switch(S){case ms:E===3?(n.data!==r.children&&(bi(),n.data=r.children),D=a(n)):r.children===``?(l(r.el=i(``),s(n),n),D=n):D=x();break;case B:y(n)?(D=a(n),v(r.el=n.content.firstChild,n,o)):D=E!==8||b?x():a(n);break;case hs:if(b&&(n=a(n),E=n.nodeType),E===1||E===3){D=n;let e=!r.children.length;for(let t=0;t{s||=!!t.dynamicChildren;let{type:l,dynamicProps:u,props:d,patchFlag:f,shapeFlag:p,dirs:h,transition:g}=t,_=l===`input`||l===`option`,b=!!u;if(_||b||f!==-1){h&&Cr(t,null,n,`created`);let l=!1;if(y(e)){l=Yo(null,g)&&n&&n.vnode.props&&n.vnode.props.appear;let r=e.content.firstChild;if(l){let e=r.getAttribute(`class`);e&&(r.$cls=e),g.beforeEnter(r)}v(r,e,n),t.el=e=r}if(p&16&&!(d&&(d.innerHTML||d.textContent))){let r=m(e.firstChild,t,e,n,i,a,s);for(r&&!Ai(e,1)&&bi();r;){let e=r;r=r.nextSibling,c(e)}}else if(p&8){let n=t.children;n[0]===` +`&&(e.tagName===`PRE`||e.tagName===`TEXTAREA`)&&(n=n.slice(1));let{textContent:r}=e;r!==n&&r!==n.replace(/\r\n|\r/g,` +`)&&(Ai(e,0)||bi(),e.textContent=t.children)}if(d){if(_||b||!s||f&48){let t=e.tagName.includes(`-`),i=e.namespaceURI.includes(`svg`)?`svg`:e.namespaceURI.includes(`MathML`)?`mathml`:void 0;for(let a in d)if(_&&(a.endsWith(`value`)||a===`indeterminate`)||o(a)&&!D(a)||a[0]===`.`||t&&!D(a)||u&&u.includes(a)){if(Di(e,a,d[a]))continue;r(e,a,null,d[a],i,n)}}else if(d.onClick)r(e,`onClick`,null,d.onClick,void 0,n);else if(f&4&&sn(d.style))for(let e in d.style)d.style[e]}let x;(x=d&&d.onVnodeBeforeMount)&&Vs(x,n,t),h&&Cr(t,null,n,`beforeMount`),((x=d&&d.onVnodeMounted)||h||l)&&ds(()=>{x&&Vs(x,n,t),l&&g.enter(e),h&&Cr(t,null,n,`mounted`)},i)}return e.nextSibling},m=(e,t,r,o,s,c,u)=>{u||=!!t.dynamicChildren;let d=t.children,p=d.length,m=!1;for(let t=0;t{let{slotScopeIds:c}=t;c&&(i=i?i.concat(c):c);let d=s(e),f=m(a(e),t,d,n,r,i,o);return f&&wi(f)&&f.data===`]`?a(t.anchor=f):(bi(),l(t.anchor=u(`]`),d,f),f)},g=(e,t,r,i,o,l)=>{if(Mi(e,t)||bi(),t.el=null,l){let t=_(e);for(;;){let n=a(e);if(n&&n!==t)c(n);else break}}let u=a(e),d=s(e);return c(e),n(null,t,d,u,r,i,Ci(d),o),r&&(r.vnode.el=t.el,To(r,t.el)),u},_=(e,t=`[`,n=`]`)=>{let r=0;for(;e;)if(e=a(e),e&&wi(e)&&(e.data===t&&r++,e.data===n)){if(r===0)return a(e);r--}return e},v=(e,t,n)=>{let r=t.parentNode;r&&r.replaceChild(e,t);let i=n;for(;i;)i.vnode.el===t&&(i.vnode.el=i.subTree.el=e),i=i.parent},y=e=>e.nodeType===1&&e.tagName===`TEMPLATE`;return[d,f]}var Ei=new Set([`src`,`srcset`,`href`,`poster`]);function Di(e,t,n){return Ei.has(t)?e.getAttribute(t)===(n==null?null:`${n}`):!1}var Oi=`data-allow-mismatch`,ki={0:`text`,1:`children`,2:`class`,3:`style`,4:`attribute`};function Ai(e,t){if(t===0||t===1)for(;e&&!e.hasAttribute(Oi);)e=e.parentElement;return ji(e&&e.getAttribute(Oi),t)}function ji(e,t){if(e==null)return!1;if(e===``)return!0;{let n=e.split(`,`);return t===0&&n.includes(`children`)?!0:n.includes(ki[t])}}function Mi(e,t){return Ai(e.parentElement,1)||Ni(e)||Pi(t)}function Ni(e){return e.nodeType===1&&ji(e.getAttribute(Oi),1)}function Pi({props:e}){let t=e&&e[Oi];return typeof t==`string`&&ji(t,1)}var Fi=le().requestIdleCallback||(e=>setTimeout(e,1)),Ii=le().cancelIdleCallback||(e=>clearTimeout(e)),Li=(e=1e4)=>t=>{let n=Fi(t,{timeout:e});return()=>Ii(n)};function Ri(e){let{top:t,left:n,bottom:r,right:i}=e.getBoundingClientRect(),{innerHeight:a,innerWidth:o}=window;return(t>0&&t0&&r0&&n0&&i(t,n)=>{let r=new IntersectionObserver(e=>{for(let n of e)if(n.isIntersecting){r.disconnect(),t();break}},e);return n(e=>{if(e instanceof Element){if(Ri(e))return t(),r.disconnect(),!1;r.observe(e)}}),()=>r.disconnect()},Bi=e=>t=>{if(e){let n=matchMedia(e);if(n.matches)t();else return n.addEventListener(`change`,t,{once:!0}),()=>n.removeEventListener(`change`,t)}},Vi=(e=[])=>(t,n)=>{v(e)&&(e=[e]);let r=!1,i=e=>{r||(r=!0,a(),t(),e.target.dispatchEvent(new e.constructor(e.type,e)))},a=()=>{n(t=>{for(let n of e)t.removeEventListener(n,i)})};return n(t=>{for(let n of e)t.addEventListener(n,i,{once:!0})}),a};function Hi(e,t){if(wi(e)&&e.data===`[`){let n=1,r=e.nextSibling;for(;r;){if(r.nodeType===1){if(t(r)===!1)break}else if(wi(r)){if(r.data===`]`){if(--n===0)break}else r.data===`[`&&n++}r=r.nextSibling}}else t(e)}var Ui=e=>!!e.type.__asyncLoader;function Wi(e){_(e)&&(e={loader:e});let{loader:t,loadingComponent:n,errorComponent:r,delay:i=200,hydrate:a,timeout:o,suspensible:s=!0,onError:c}=e,l=null,u,d=0,f=()=>(d++,l=null,p()),p=()=>{let e;return l||(e=l=t().catch(e=>{if(e=e instanceof Error?e:Error(String(e)),c)return new Promise((t,n)=>{c(e,()=>t(f()),()=>n(e),d+1)});throw e}).then(t=>e!==l&&l?l:(t&&(t.__esModule||t[Symbol.toStringTag]===`Module`)&&(t=t.default),u=t,t)))};return di({name:`AsyncComponentWrapper`,__asyncLoader:p,__asyncHydrate(e,t,n){let r=e.isConnected,i=!1;(t.bu||=[]).push(()=>i=!0);let o=()=>{i||!e.parentNode||r&&!e.isConnected||n()},s=a?()=>{let n=a(o,t=>Hi(e,t));n&&(t.bum||=[]).push(n)}:o;u?s():p().then(()=>!t.isUnmounted&&s())},get __asyncResolved(){return u},setup(){let e=H;if(pi(e),u)return()=>Gi(u,e);let t=t=>{l=null,Yn(t,e,13,!r)};if(s&&e.suspense||Zs)return p().then(t=>()=>Gi(t,e)).catch(e=>(t(e),()=>r?V(r,{error:e}):null));let a=mn(!1),c=mn(),d=mn(!!i),f,m;return ca(()=>{f!=null&&clearTimeout(f),m!=null&&clearTimeout(m)}),i&&(m=setTimeout(()=>{e.isUnmounted||(d.value=!1)},i)),o!=null&&(f=setTimeout(()=>{if(!e.isUnmounted&&!a.value&&!c.value){let e=Error(`Async component timed out after ${o}ms.`);t(e),c.value=e}},o)),p().then(()=>{e.isUnmounted||(a.value=!0,e.parent&&Ki(e.parent.vnode)&&e.parent.update())}).catch(n=>{if(e.isUnmounted){l=null;return}t(n),c.value=n}),()=>{if(a.value&&u)return Gi(u,e);if(c.value&&r)return V(r,{error:c.value});if(n&&!d.value)return Gi(n,e)}}})}function Gi(e,t){let{ref:n,props:r,children:i,ce:a}=t.vnode,o=V(e,r,i);return o.ref=n,o.ce=a,delete t.vnode.ce,o}var Ki=e=>e.type.__isKeepAlive,qi={name:`KeepAlive`,__isKeepAlive:!0,props:{include:[String,RegExp,Array],exclude:[String,RegExp,Array],max:[String,Number]},setup(e,{slots:t}){let n=Gs(),r=n.ctx;if(!r.renderer)return()=>{let e=t.default&&t.default();return e&&e.length===1?e[0]:e};let i=new Map,a=new Set,o=null,s=n.suspense,{renderer:{p:c,m:l,um:u,o:{createElement:d}}}=r,f=d(`div`);r.activate=(e,t,n,r,i)=>{let a=e.component;l(e,t,n,0,s),c(a.vnode,e,t,n,a,s,r,e.slotScopeIds,i),R(()=>{a.isDeactivated=!1,a.a&&ie(a.a);let t=e.props&&e.props.onVnodeMounted;t&&Vs(t,a.parent,e)},s)},r.deactivate=e=>{let t=e.component;$o(t.m),$o(t.a),l(e,f,null,1,s),R(()=>{t.da&&ie(t.da);let n=e.props&&e.props.onVnodeUnmounted;n&&Vs(n,t.parent,e),t.isDeactivated=!0},s)};function p(e){$i(e),u(e,n,s,!0)}function m(e){i.forEach((t,n)=>{let r=lc(Ui(t)?t.type.__asyncResolved||{}:t.type);r&&!e(r)&&h(n)})}function h(e){let t=i.get(e);t&&(!o||!Es(t,o))?p(t):o&&$i(o),i.delete(e),a.delete(e)}Mr(()=>[e.include,e.exclude],([e,t])=>{e&&m(t=>Ji(e,t)),t&&m(e=>!Ji(t,e))},{flush:`post`,deep:!0});let g=null,_=()=>{g!=null&&(ts(n.subTree.type)?R(()=>{i.set(g,ea(n.subTree))},n.subTree.suspense):i.set(g,ea(n.subTree)))};return ia(_),oa(_),sa(()=>{i.forEach(e=>{let{subTree:t,suspense:r}=n,i=ea(t);if(e.type===i.type&&e.key===i.key){$i(i);let e=i.component.da;e&&R(e,r);return}p(e)})}),()=>{if(g=null,!t.default)return o=null;let n=t.default(),r=n[0];if(n.length>1)return o=null,n;if(!Ts(r)||!(r.shapeFlag&4)&&!(r.shapeFlag&128))return o=null,r;let s=ea(r);if(s.type===B)return o=null,s;let c=s.type,l=lc(Ui(s)?s.type.__asyncResolved||{}:c),{include:u,exclude:d,max:f}=e;if(u&&(!l||!Ji(u,l))||d&&l&&Ji(d,l))return s.shapeFlag&=-257,o=s,r;let p=s.key==null?c:s.key,m=i.get(p);return s.el&&(s=Ns(s),r.shapeFlag&128&&(r.ssContent=s)),g=p,m?(s.el=m.el,s.component=m.component,s.transition&&li(s,s.transition),s.shapeFlag|=512,a.delete(p),a.add(p)):(a.add(p),f&&a.size>parseInt(f,10)&&h(a.values().next().value)),s.shapeFlag|=256,o=s,ts(r.type)?r:s}}};function Ji(e,t){return f(e)?e.some(e=>Ji(e,t)):v(e)?e.split(`,`).includes(t):g(e)?(e.lastIndex=0,e.test(t)):!1}function Yi(e,t){Zi(e,`a`,t)}function Xi(e,t){Zi(e,`da`,t)}function Zi(e,t,n=H){let r=e.__wdc||=()=>{let t=n;for(;t;){if(t.isDeactivated)return;t=t.parent}return e()};if(ta(t,r,n),n){let e=n.parent;for(;e&&e.parent;)Ki(e.parent.vnode)&&Qi(r,t,n,e),e=e.parent}}function Qi(e,t,n,r){let i=ta(t,e,r,!0);ca(()=>{l(r[t],i)},n)}function $i(e){e.shapeFlag&=-257,e.shapeFlag&=-513}function ea(e){return e.shapeFlag&128?e.ssContent:e}function ta(e,t,n=H,r=!1){if(n){let i=n[e]||(n[e]=[]),a=t.__weh||=(...r)=>{ot();let i=Js(n),a=Jn(t,n,e,r);return i(),st(),a};return r?i.unshift(a):i.push(a),a}}var na=e=>(t,n=H)=>{(!Zs||e===`sp`)&&ta(e,(...e)=>t(...e),n)},ra=na(`bm`),ia=na(`m`),aa=na(`bu`),oa=na(`u`),sa=na(`bum`),ca=na(`um`),la=na(`sp`),ua=na(`rtg`),da=na(`rtc`);function fa(e,t=H){ta(`ec`,e,t)}var pa=`components`,ma=`directives`;function ha(e,t){return ya(pa,e,!0,t)||e}var ga=Symbol.for(`v-ndc`);function _a(e){return v(e)?ya(pa,e,!1)||e:e||ga}function va(e){return ya(ma,e)}function ya(e,t,n=!0,r=!1){let i=L||H;if(i){let n=i.type;if(e===pa){let e=lc(n,!1);if(e&&(e===t||e===k(t)||e===re(k(t))))return n}let a=ba(i[e]||n[e],t)||ba(i.appContext[e],t);return!a&&r?n:a}}function ba(e,t){return e&&(e[t]||e[k(t)]||e[re(k(t))])}function xa(e,t,n,r){let i,a=n&&n[r],o=f(e);if(o||v(e)){let n=o&&sn(e),r=!1,s=!1;n&&(r=!ln(e),s=cn(e),e=xt(e)),i=Array(e.length);for(let n=0,o=e.length;nt(e,n,void 0,a&&a[n]));else{let n=Object.keys(e);i=Array(n.length);for(let r=0,o=n.length;r{let t=r.fn(...e);return t&&(t.key=r.key),t}:r.fn)}return e}function Ca(e,t,n,r,i,a){if(n??={},L.ce||L.parent&&Ui(L.parent)&&L.parent.ce){let e=a!=null&&n.key==null?c({},n,{key:a}):n,i=Object.keys(e).length>0;return t!=="default"&&(e.name=t),vs(),ws(z,null,[V(`slot`,e,r&&r())],i?-2:64)}let o=e[t];o&&o._c&&(o._d=!1);let s=gs.length;vs();let l;try{let i=o&&wa(o(n)),s=n.key||a||i&&i.key;l=ws(z,{key:(s&&!y(s)?s:`_${t}`)+(!i&&r?`_fb`:``)},i||(r?r():[]),i&&e._===1?64:-2)}catch(e){for(let e=gs.length;e>s;e--)ys();throw e}finally{o&&o._c&&(o._d=!0)}return!i&&l.scopeId&&(l.slotScopeIds=[l.scopeId+`-s`]),l}function wa(e){return e.some(e=>!Ts(e)||!(e.type===B||e.type===z&&!wa(e.children)))?e:null}function Ta(e,t){let n={};for(let r in e)n[t&&/[A-Z]/.test(r)?`on:${r}`:j(r)]=e[r];return n}var Ea=e=>e?Xs(e)?cc(e):Ea(e.parent):null,Da=c(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>Ea(e.parent),$root:e=>Ea(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Za(e),$forceUpdate:e=>e.f||=()=>{or(e.update)},$nextTick:e=>e.n||=ir.bind(e.proxy),$watch:e=>Pr.bind(e)}),Oa=(e,t)=>e!==n&&!e.__isScriptSetup&&d(e,t),ka={get({_:e},t){if(t===`__v_skip`)return!0;let{ctx:r,setupState:i,data:a,props:o,accessCache:s,type:c,appContext:l}=e;if(t[0]!==`$`){let e=s[t];if(e!==void 0)switch(e){case 1:return i[t];case 2:return a[t];case 4:return r[t];case 3:return o[t]}else if(Oa(i,t))return s[t]=1,i[t];else if(a!==n&&d(a,t))return s[t]=2,a[t];else if(d(o,t))return s[t]=3,o[t];else if(r!==n&&d(r,t))return s[t]=4,r[t];else Ka&&(s[t]=0)}let u=Da[t],f,p;if(u)return t===`$attrs`&&_t(e.attrs,`get`,``),u(e);if((f=c.__cssModules)&&(f=f[t]))return f;if(r!==n&&d(r,t))return s[t]=4,r[t];if(p=l.config.globalProperties,d(p,t))return p[t]},set({_:e},t,r){let{data:i,setupState:a,ctx:o}=e;return Oa(a,t)?(a[t]=r,!0):i!==n&&d(i,t)?(i[t]=r,!0):d(e.props,t)||t[0]===`$`&&t.slice(1)in e?!1:(o[t]=r,!0)},has({_:{data:e,setupState:t,accessCache:r,ctx:i,appContext:a,props:o,type:s}},c){let l;return!!(r[c]||e!==n&&c[0]!==`$`&&d(e,c)||Oa(t,c)||d(o,c)||d(i,c)||d(Da,c)||d(a.config.globalProperties,c)||(l=s.__cssModules)&&l[c])},defineProperty(e,t,n){return n.get==null?d(n,`value`)&&this.set(e,t,n.value,null):e._.accessCache[t]=0,Reflect.defineProperty(e,t,n)}},Aa=c({},ka,{get(e,t){if(t!==Symbol.unscopables)return ka.get(e,t,e)},has(e,t){return t[0]!==`_`&&!de(t)}});function ja(){return null}function Ma(){return null}function Na(e){}function Pa(e){}function Fa(){return null}function Ia(){}function La(e,t){return null}function Ra(){return Ba(`useSlots`).slots}function za(){return Ba(`useAttrs`).attrs}function Ba(e){let t=Gs();return t.setupContext||=sc(t)}function Va(e){return f(e)?e.reduce((e,t)=>(e[t]=null,e),{}):e}function Ha(e,t){let n=Va(e);for(let e in t){if(e.startsWith(`__skip`))continue;let r=n[e];r?f(r)||_(r)?r=n[e]={type:r,default:t[e]}:r.default=t[e]:r===null&&(r=n[e]={default:t[e]}),r&&t[`__skip_${e}`]&&(r.skipFactory=!0)}return n}function Ua(e,t){return!e||!t?e||t:f(e)&&f(t)?e.concat(t):c({},Va(e),Va(t))}function Wa(e,t){let n={};for(let r in e)t.includes(r)||Object.defineProperty(n,r,{enumerable:!0,get:()=>e[r]});return n}function Ga(e){let t=Gs(),n=Zs,r=e();Ys(),n&&qs(!1);let i=()=>{Js(t),n&&qs(!0)},a=()=>{Gs()!==t&&t.scope.off(),Ys(),n&&qs(!1)};return x(r)&&(r=r.catch(e=>{throw i(),Promise.resolve().then(()=>Promise.resolve().then(a)),e})),[r,()=>{i(),Promise.resolve().then(a)}]}var Ka=!0;function qa(e){let t=Za(e),n=e.proxy,r=e.ctx;Ka=!1,t.beforeCreate&&Ya(t.beforeCreate,e,`bc`);let{data:a,computed:o,methods:s,watch:c,provide:l,inject:u,created:d,beforeMount:p,mounted:m,beforeUpdate:h,updated:g,activated:v,deactivated:y,beforeDestroy:x,beforeUnmount:S,destroyed:C,unmounted:w,render:T,renderTracked:E,renderTriggered:D,errorCaptured:ee,serverPrefetch:te,expose:O,inheritAttrs:k,components:ne,directives:A,filters:re}=t;if(u&&Ja(u,r,null),s)for(let e in s){let t=s[e];_(t)&&(r[e]=t.bind(n))}if(a){let t=a.call(n,n);b(t)&&(e.data=tn(t))}if(Ka=!0,o)for(let e in o){let t=o[e],a=dc({get:_(t)?t.bind(n,n):_(t.get)?t.get.bind(n,n):i,set:!_(t)&&_(t.set)?t.set.bind(n):i});Object.defineProperty(r,e,{enumerable:!0,configurable:!0,get:()=>a.value,set:e=>a.value=e})}if(c)for(let e in c)Xa(c[e],r,n,e);if(l){let e=_(l)?l.call(n):l;Reflect.ownKeys(e).forEach(t=>{wr(t,e[t])})}d&&Ya(d,e,`c`);function j(e,t){f(t)?t.forEach(t=>e(t.bind(n))):t&&e(t.bind(n))}if(j(ra,p),j(ia,m),j(aa,h),j(oa,g),j(Yi,v),j(Xi,y),j(fa,ee),j(da,E),j(ua,D),j(sa,S),j(ca,w),j(la,te),f(O)){if(O.length){let t=e.exposed||={};O.forEach(e=>{Object.defineProperty(t,e,{get:()=>n[e],set:t=>n[e]=t,enumerable:!0})})}else e.exposed||={}}T&&e.render===i&&(e.render=T),k!=null&&(e.inheritAttrs=k),ne&&(e.components=ne),A&&(e.directives=A),te&&pi(e)}function Ja(e,t,n=i){f(e)&&(e=no(e));for(let n in e){let r=e[n],i;i=b(r)?`default`in r?Tr(r.from||n,r.default,!0):Tr(r.from||n):Tr(r),I(i)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>i.value,set:e=>i.value=e}):t[n]=i}}function Ya(e,t,n){Jn(f(e)?e.map(e=>e.bind(t.proxy)):e.bind(t.proxy),t,n)}function Xa(e,t,n,r){let i=r.includes(`.`)?Fr(n,r):()=>n[r];if(v(e)){let n=t[e];_(n)&&Mr(i,n)}else if(_(e))Mr(i,e.bind(n));else if(b(e)){if(f(e))e.forEach(e=>Xa(e,t,n,r));else{let r=_(e.handler)?e.handler.bind(n):t[e.handler];_(r)&&Mr(i,r,e)}}}function Za(e){let t=e.type,{mixins:n,extends:r}=t,{mixins:i,optionsCache:a,config:{optionMergeStrategies:o}}=e.appContext,s=a.get(t),c;return s?c=s:!i.length&&!n&&!r?c=t:(c={},i.length&&i.forEach(e=>Qa(c,e,o,!0)),Qa(c,t,o)),b(t)&&a.set(t,c),c}function Qa(e,t,n,r=!1){let{mixins:i,extends:a}=t;a&&Qa(e,a,n,!0),i&&i.forEach(t=>Qa(e,t,n,!0));for(let i in t)if(!(r&&i===`expose`)){let r=$a[i]||n&&n[i];e[i]=r?r(e[i],t[i]):t[i]}return e}var $a={data:eo,props:ao,emits:ao,methods:io,computed:io,beforeCreate:ro,created:ro,beforeMount:ro,mounted:ro,beforeUpdate:ro,updated:ro,beforeDestroy:ro,beforeUnmount:ro,destroyed:ro,unmounted:ro,activated:ro,deactivated:ro,errorCaptured:ro,serverPrefetch:ro,components:io,directives:io,watch:oo,provide:eo,inject:to};function eo(e,t){return t?e?function(){return c(_(e)?e.call(this,this):e,_(t)?t.call(this,this):t)}:t:e}function to(e,t){return io(no(e),no(t))}function no(e){if(f(e)){let t={};for(let n=0;n{let l,u=n,d;return jr(()=>{let t=e[a];M(l,t)&&(l=t,c())}),{get(){return s(),r.get?r.get(l):l},set(e){let s=r.set?r.set(e):e;if(!M(s,l)&&!(u!==n&&M(e,u)))return;let f=i.vnode.props,p=!!(f&&(t in f||a in f||o in f)&&(`onUpdate:${t}`in f||`onUpdate:${a}`in f||`onUpdate:${o}`in f));p||(l=e,c()),i.emit(`update:${t}`,s),M(e,u)&&(M(e,s)&&!M(s,d)||p&&u!==n&&!M(s,l))&&c(),u=e,d=s}}});return c[Symbol.iterator]=()=>{let e=0;return{next(){return e<2?{value:e++?s||n:c,done:!1}:{done:!0}}}},c}var po=(e,t)=>t===`modelValue`||t===`model-value`?e.modelModifiers:e[`${t}Modifiers`]||e[`${k(t)}Modifiers`]||e[`${A(t)}Modifiers`];function mo(e,t,...r){if(e.isUnmounted)return;let i=e.vnode.props||n,a=r,o=t.startsWith(`update:`),s=o&&po(i,t.slice(7));s&&(s.trim&&(a=r.map(e=>v(e)?e.trim():e)),s.number&&(a=r.map(oe)));let c,l=i[c=j(t)]||i[c=j(k(t))];!l&&o&&(l=i[c=j(A(t))]),l&&Jn(l,e,6,a);let u=i[c+`Once`];if(u){if(!e.emitted)e.emitted={};else if(e.emitted[c])return;e.emitted[c]=!0,Jn(u,e,6,a)}}var ho=new WeakMap;function go(e,t,n=!1){let r=n?ho:t.emitsCache,i=r.get(e);if(i!==void 0)return i;let a=e.emits,o={},s=!1;if(!_(e)){let r=e=>{let n=go(e,t,!0);n&&(s=!0,c(o,n))};!n&&t.mixins.length&&t.mixins.forEach(r),e.extends&&r(e.extends),e.mixins&&e.mixins.forEach(r)}return!a&&!s?(b(e)&&r.set(e,null),null):(f(a)?a.forEach(e=>o[e]=null):c(o,a),b(e)&&r.set(e,o),o)}function _o(e,t){return!e||!o(t)?!1:(t=t.slice(2),t=t===`Once`?t:t.replace(/Once$/,``),d(e,t[0].toLowerCase()+t.slice(1))||d(e,A(t))||d(e,t))}function vo(e){let{type:t,vnode:n,proxy:r,withProxy:i,propsOptions:[a],slots:o,attrs:c,emit:l,render:u,renderCache:d,props:f,data:p,setupState:m,ctx:h,inheritAttrs:g}=e,_=_r(e),v,y;try{if(n.shapeFlag&4){let e=i||r,t=e;v=Ls(u.call(t,e,d,f,m,p,h)),y=c}else{let e=t;v=Ls(e.length>1?e(f,{attrs:c,slots:o,emit:l}):e(f,null)),y=t.props?c:bo(c)}}catch(t){gs.length=0,Yn(t,e,1),v=V(B)}let b=v;if(y&&g!==!1){let e=Object.keys(y),{shapeFlag:t}=b;e.length&&t&7&&(a&&e.some(s)&&(y=xo(y,a)),b=Ns(b,y,!1,!0))}return n.dirs&&(b=Ns(b,null,!1,!0),b.dirs=b.dirs?b.dirs.concat(n.dirs):n.dirs),n.transition&&li(Rr(b.type)&&ci(b)||b,n.transition),v=b,_r(_),v}function yo(e,t=!0){let n;for(let t=0;t{let t;for(let n in e)(n===`class`||n===`style`||o(n))&&((t||={})[n]=e[n]);return t},xo=(e,t)=>{let n={};for(let r in e)(!s(r)||!(r.slice(9)in t))&&(n[r]=e[r]);return n};function So(e,t,n){let{props:r,children:i,component:a}=e,{props:o,children:s,patchFlag:c}=t,l=a.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&c>=0){if(c&1024)return!0;if(c&16)return r?Co(r,o,l):!!o;if(c&8){let e=t.dynamicProps;for(let t=0;tObject.create(Eo),Oo=e=>Object.getPrototypeOf(e)===Eo;function ko(e,t,n,r=!1){let i={},a=Do();e.propsDefaults=Object.create(null),jo(e,t,i,a);for(let t in e.propsOptions[0])t in i||(i[t]=void 0);e.props=n?r?i:nn(i):e.type.props?i:a,e.attrs=a}function Ao(e,t,n,r){let{props:i,attrs:a,vnode:{patchFlag:o}}=e,s=F(i),[c]=e.propsOptions,l=!1;if((r||o>0)&&!(o&16)){if(o&8){let n=e.vnode.dynamicProps;for(let r=0;r{p=!0;let[n,r]=Po(e,t,!0);c(l,n),r&&u.push(...r)};!i&&t.mixins.length&&t.mixins.forEach(n),e.extends&&n(e.extends),e.mixins&&e.mixins.forEach(n)}if(!s&&!p)return b(e)&&a.set(e,r),r;if(f(s))for(let e=0;ee===`_`||e===`_ctx`||e===`$stable`,Lo=e=>f(e)?e.map(Ls):[Ls(e)],Ro=(e,t,n)=>{if(t._n)return t;let r=xr((...e)=>Lo(t(...e)),n);return r._c=!1,r},zo=(e,t,n)=>{let r=e._ctx;for(let n in e){if(Io(n))continue;let i=e[n];if(_(i))t[n]=Ro(n,i,r);else if(i!=null){let e=Lo(i);t[n]=()=>e}}},Bo=(e,t)=>{let n=Lo(t);e.slots.default=()=>n},Vo=(e,t,n)=>{for(let r in t)(n||!Io(r))&&(e[r]=t[r])},Ho=(e,t,n)=>{let r=e.slots=Do();if(e.vnode.shapeFlag&32){let e=t._;e?(Vo(r,t,n),n&&ae(r,`_`,e,!0)):zo(t,r)}else t&&Bo(e,t)},Uo=(e,t,r)=>{let{vnode:i,slots:a}=e,o=!0,s=n;if(i.shapeFlag&32){let e=t._;e?r&&e===1?o=!1:Vo(a,t,r):(o=!t.$stable,zo(t,a)),s=t}else t&&(Bo(e,t),s={default:1});if(o)for(let e in a)!Io(e)&&s[e]==null&&delete a[e]},R=ds;function Wo(e){return Ko(e)}function Go(e){return Ko(e,Ti)}function Ko(e,t){let a=le();a.__VUE__=!0;let{insert:o,remove:s,patchProp:c,createElement:l,createText:u,createComment:d,setText:f,setElementText:p,parentNode:m,nextSibling:h,setScopeId:g=i,insertStaticContent:_}=e,v=(e,t,n,r=null,i=null,a=null,o=void 0,s=null,c=!!t.dynamicChildren)=>{if(e===t)return;e&&!Es(e,t)&&(r=ge(e),de(e,i,a,!0),e=null),t.patchFlag===-2&&(c=!1,t.dynamicChildren=null);let{type:l,ref:u,shapeFlag:d}=t;switch(l){case ms:y(e,t,n,r);break;case B:b(e,t,n,r);break;case hs:e??x(t,n,r,o);break;case z:ne(e,t,n,r,i,a,o,s,c);break;default:d&1?w(e,t,n,r,i,a,o,s,c):d&6?A(e,t,n,r,i,a,o,s,c):(d&64||d&128)&&l.process(e,t,n,r,i,a,o,s,c,ye)}u!=null&&i?_i(u,e&&e.ref,a,t||e,!t):u==null&&e&&e.ref!=null&&_i(e.ref,null,a,e,!0)},y=(e,t,n,r)=>{if(e==null)o(t.el=u(t.children),n,r);else{let n=t.el=e.el;t.children!==e.children&&f(n,t.children)}},b=(e,t,n,r)=>{e==null?o(t.el=d(t.children||``),n,r):t.el=e.el},x=(e,t,n,r)=>{[e.el,e.anchor]=_(e.children,t,n,r,e.el,e.anchor)},S=({el:e,anchor:t},n,r)=>{let i;for(;e&&e!==t;)i=h(e),o(e,n,r),e=i;o(t,n,r)},C=({el:e,anchor:t})=>{let n;for(;e&&e!==t;)n=h(e),s(e),e=n;s(t)},w=(e,t,n,r,i,a,o,s,c)=>{if(t.type===`svg`?o=`svg`:t.type===`math`&&(o=`mathml`),e==null)T(t,n,r,i,a,o,s,c);else{let n=e.el&&e.el._isVueCE?e.el:null;try{n&&n._beginPatch(),te(e,t,i,a,o,s,c)}finally{n&&n._endPatch()}}},T=(e,t,n,r,i,a,s,u)=>{let d,f,{props:m,shapeFlag:h,transition:g,dirs:_}=e;if(d=e.el=l(e.type,a,m&&m.is,m),h&8?p(d,e.children):h&16&&ee(e.children,d,null,r,i,qo(e,a),s,u),_&&Cr(e,null,r,`created`),E(d,e,e.scopeId,s,r),m){for(let e in m)e!==`value`&&!D(e)&&c(d,e,null,m[e],a,r);`value`in m&&c(d,`value`,null,m.value,a),(f=m.onVnodeBeforeMount)&&Vs(f,r,e)}_&&Cr(e,null,r,`beforeMount`);let v=Yo(i,g);v&&g.beforeEnter(d),o(d,t,n),((f=m&&m.onVnodeMounted)||v||_)&&R(()=>{try{f&&Vs(f,r,e),v&&g.enter(d),_&&Cr(e,null,r,`mounted`)}finally{}},i)},E=(e,t,n,r,i)=>{if(n&&g(e,n),r)for(let t=0;t{for(let l=c;l{let l=t.el=e.el,{patchFlag:u,dynamicChildren:d,dirs:f}=t;u|=e.patchFlag&16;let m=e.props||n,h=t.props||n,g;if(r&&Jo(r,!1),(g=h.onVnodeBeforeUpdate)&&Vs(g,r,t,e),f&&Cr(t,e,r,`beforeUpdate`),r&&Jo(r,!0),d&&(!e.dynamicChildren||e.dynamicChildren.length!==d.length)&&(u=0,s=!1,d=null),(m.innerHTML&&h.innerHTML==null||m.textContent&&h.textContent==null)&&p(l,``),d?O(e.dynamicChildren,d,l,r,i,qo(t,a),o):s||oe(e,t,l,null,r,i,qo(t,a),o,!1),u>0){if(u&16)k(l,m,h,r,a);else if(u&2&&m.class!==h.class&&c(l,`class`,null,h.class,a),u&4&&c(l,`style`,m.style,h.style,a),u&8){let e=t.dynamicProps;for(let t=0;t{g&&Vs(g,r,t,e),f&&Cr(t,e,r,`updated`)},i)},O=(e,t,n,r,i,a,o)=>{for(let s=0;s{if(t!==r){if(t!==n)for(let n in t)!D(n)&&!(n in r)&&c(e,n,t[n],null,a,i);for(let n in r){if(D(n))continue;let o=r[n],s=t[n];o!==s&&n!==`value`&&c(e,n,s,o,a,i)}`value`in r&&c(e,`value`,t.value,r.value,a)}},ne=(e,t,n,r,i,a,s,c,l)=>{let d=t.el=e?e.el:u(``),f=t.anchor=e?e.anchor:u(``),{patchFlag:p,dynamicChildren:m,slotScopeIds:h}=t;h&&(c=c?c.concat(h):h),e==null?(o(d,n,r),o(f,n,r),ee(t.children||[],n,f,i,a,s,c,l)):p>0&&p&64&&m&&e.dynamicChildren&&e.dynamicChildren.length===m.length?(O(e.dynamicChildren,m,n,i,a,s,c),(t.key!=null||i&&t===i.subTree)&&Xo(e,t,!0)):oe(e,t,n,f,i,a,s,c,l)},A=(e,t,n,r,i,a,o,s,c)=>{t.slotScopeIds=s,e==null?t.shapeFlag&512?i.ctx.activate(t,n,r,o,c):re(t,n,r,i,a,o,c):j(e,t,c)},re=(e,t,n,r,i,a,o)=>{let s=e.component=Ws(e,r,i);if(Ki(e)&&(s.ctx.renderer=ye),Qs(s,!1,o),s.asyncDep){if(i&&i.registerDep(s,M,o),!e.el){let r=s.subTree=V(B);b(null,r,t,n),e.placeholder=r.el}}else M(s,e,t,n,i,a,o)},j=(e,t,n)=>{let r=t.component=e.component;if(So(e,t,n)){if(r.asyncDep&&!r.asyncResolved){ae(r,t,n);return}r.next=t,r.update()}else t.el=e.el,r.vnode=t},M=(e,t,n,r,i,a,o)=>{let s=()=>{if(e.isMounted){let{next:t,bu:n,u:r,parent:s,vnode:c}=e;{let n=Qo(e);if(n){t&&(t.el=c.el,ae(e,t,o)),n.asyncDep.then(()=>{R(()=>{e.isUnmounted||l()},i)});return}}let u=t,d;Jo(e,!1),t?(t.el=c.el,ae(e,t,o)):t=c,n&&ie(n),(d=t.props&&t.props.onVnodeBeforeUpdate)&&Vs(d,s,t,c),Jo(e,!0);let f=vo(e),p=e.subTree;e.subTree=f,v(p,f,m(p.el),ge(p),e,i,a),t.el=f.el,u===null&&To(e,f.el),r&&R(r,i),(d=t.props&&t.props.onVnodeUpdated)&&R(()=>Vs(d,s,t,c),i)}else{let o,{el:s,props:c}=t,{bm:l,m:u,parent:d,root:f,type:p}=e,m=Ui(t);if(Jo(e,!1),l&&ie(l),!m&&(o=c&&c.onVnodeBeforeMount)&&Vs(o,d,t),Jo(e,!0),s&&xe){let t=()=>{e.subTree=vo(e),xe(s,e.subTree,e,i,null)};m&&p.__asyncHydrate?p.__asyncHydrate(s,e,t):t()}else{f.ce&&f.ce._hasShadowRoot()&&f.ce._injectChildStyle(p,e.parent?e.parent.type:void 0);let o=e.subTree=vo(e);v(null,o,n,r,e,i,a),t.el=o.el}if(u&&R(u,i),!m&&(o=c&&c.onVnodeMounted)){let e=t;R(()=>Vs(o,d,e),i)}(t.shapeFlag&256||d&&Ui(d.vnode)&&d.vnode.shapeFlag&256)&&e.a&&R(e.a,i),e.isMounted=!0,t=n=r=null}};e.scope.on();let c=e.effect=new Ue(s);e.scope.off();let l=e.update=c.run.bind(c),u=e.job=c.runIfDirty.bind(c);u.i=e,u.id=e.uid,c.scheduler=()=>or(u),Jo(e,!0),l()},ae=(e,t,n)=>{t.component=e;let r=e.vnode.props;e.vnode=t,e.next=null,Ao(e,t.props,r,n),Uo(e,t.children,n),ot(),lr(e),st()},oe=(e,t,n,r,i,a,o,s,c=!1)=>{let l=e&&e.children,u=e?e.shapeFlag:0,d=t.children,{patchFlag:f,shapeFlag:m}=t;if(f>0){if(f&128){ce(l,d,n,r,i,a,o,s,c);return}if(f&256){se(l,d,n,r,i,a,o,s,c);return}}m&8?(u&16&&he(l,i,a),d!==l&&p(n,d)):u&16?m&16?ce(l,d,n,r,i,a,o,s,c):he(l,i,a,!0):(u&8&&p(n,``),m&16&&ee(d,n,r,i,a,o,s,c))},se=(e,t,n,i,a,o,s,c,l)=>{e||=r,t||=r;let u=e.length,d=t.length,f=Math.min(u,d),p;for(p=0;pd?he(e,a,o,!0,!1,f):ee(t,n,i,a,o,s,c,l,f)},ce=(e,t,n,i,a,o,s,c,l)=>{let u=0,d=t.length,f=e.length-1,p=d-1;for(;u<=f&&u<=p;){let r=e[u],i=t[u]=l?Rs(t[u]):Ls(t[u]);if(Es(r,i))v(r,i,n,null,a,o,s,c,l);else break;u++}for(;u<=f&&u<=p;){let r=e[f],i=t[p]=l?Rs(t[p]):Ls(t[p]);if(Es(r,i))v(r,i,n,null,a,o,s,c,l);else break;f--,p--}if(u>f){if(u<=p){let e=p+1,r=ep)for(;u<=f;)de(e[u],a,o,!0),u++;else{let m=u,h=u,g=new Map;for(u=h;u<=p;u++){let e=t[u]=l?Rs(t[u]):Ls(t[u]);e.key!=null&&g.set(e.key,u)}let _,y=0,b=p-h+1,x=!1,S=0,C=Array(b);for(u=0;u=b){de(r,a,o,!0);continue}let i;if(r.key!=null)i=g.get(r.key);else for(_=h;_<=p;_++)if(C[_-h]===0&&Es(r,t[_])){i=_;break}i===void 0?de(r,a,o,!0):(C[i-h]=u+1,i>=S?S=i:x=!0,v(r,t[i],n,null,a,o,s,c,l),y++)}let w=x?Zo(C):r;for(_=w.length-1,u=b-1;u>=0;u--){let e=h+u,r=t[e],f=t[e+1],p=e+1{let{el:a,type:c,transition:l,children:u,shapeFlag:d}=e;if(d&6){ue(e.component.subTree,t,n,r);return}if(d&128){e.suspense.move(t,n,r);return}if(d&64){c.move(e,t,n,ye);return}if(c===z){o(a,t,n);for(let e=0;el.enter(a),i));else{let{leave:r,delayLeave:i,afterLeave:c}=l,u=()=>{e.ctx.isUnmounted?s(a):o(a,t,n)},d=()=>{let e=a._isLeaving||!!a[Xr];a._isLeaving&&a[Xr](!0),l.persisted&&!e?u():r(a,()=>{u(),c&&c()})};i?i(a,u,d):d()}}else o(a,t,n)},de=(e,t,n,r=!1,i=!1)=>{let{type:a,props:o,ref:s,children:c,dynamicChildren:l,shapeFlag:u,patchFlag:d,dirs:f,cacheIndex:p,memo:m}=e;if(d===-2&&(i=!1),s!=null&&(ot(),_i(s,null,n,e,!0),st()),p!=null&&(t.renderCache[p]=void 0),u&256){t.ctx.deactivate(e);return}let h=u&1&&f,g=!Ui(e),_;if(g&&(_=o&&o.onVnodeBeforeUnmount)&&Vs(_,t,e),u&6)me(e.component,n,r);else{if(u&128){e.suspense.unmount(n,r);return}h&&Cr(e,null,t,`beforeUnmount`),u&64?e.type.remove(e,t,n,ye,r):l&&!l.hasOnce&&(a!==z||d>0&&d&64)?he(l,t,n,!1,!0):(a===z&&d&384||!i&&u&16)&&he(c,t,n),r&&fe(e)}let v=m!=null&&p==null;(g&&(_=o&&o.onVnodeUnmounted)||h||v)&&R(()=>{_&&Vs(_,t,e),h&&Cr(e,null,t,`unmounted`),v&&(e.el=null)},n)},fe=e=>{let{type:t,el:n,anchor:r,transition:i}=e;if(t===z){pe(n,r);return}if(t===hs){C(e);return}let a=()=>{s(n),i&&!i.persisted&&i.afterLeave&&i.afterLeave()};if(e.shapeFlag&1&&i&&!i.persisted){let{leave:t,delayLeave:r}=i,o=()=>t(n,a);r?r(e.el,a,o):o()}else a()},pe=(e,t)=>{let n;for(;e!==t;)n=h(e),s(e),e=n;s(t)},me=(e,t,n)=>{let{bum:r,scope:i,job:a,subTree:o,um:s,m:c,a:l}=e;$o(c),$o(l),r&&ie(r),i.stop(),a&&(a.flags|=8,de(o,e,t,n)),s&&R(s,t),R(()=>{e.isUnmounted=!0},t)},he=(e,t,n,r=!1,i=!1,a=0)=>{for(let o=a;o{if(e.shapeFlag&6)return ge(e.component.subTree);if(e.shapeFlag&128)return e.suspense.next();let t=h(e.anchor||e.el),n=t&&t[Lr];return n?h(n):t},_e=!1,ve=(e,t,n)=>{let r;e==null?t._vnode&&(de(t._vnode,null,null,!0),r=t._vnode.component):v(t._vnode||null,e,t,null,null,null,n),t._vnode=e,_e||=(_e=!0,lr(r),ur(),!1)},ye={p:v,um:de,m:ue,r:fe,mt:re,mc:ee,pc:oe,pbc:O,n:ge,o:e},be,xe;return t&&([be,xe]=t(ye)),{render:ve,hydrate:be,createApp:lo(ve,be)}}function qo({type:e,props:t},n){return n===`svg`&&e===`foreignObject`||n===`mathml`&&e===`annotation-xml`&&t&&t.encoding&&t.encoding.includes(`html`)?void 0:n}function Jo({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Yo(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Xo(e,t,n=!1){let r=e.children,i=t.children;if(f(r)&&f(i))for(let e=0;e>1,e[n[s]]0&&(t[r]=n[a-1]),n[a]=r)}}for(a=n.length,o=n[a-1];a-->0;)n[a]=o,o=t[o];return n}function Qo(e){let t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Qo(t)}function $o(e){if(e)for(let t=0;te.__isSuspense,ns=0,rs={name:`Suspense`,__isSuspense:!0,process(e,t,n,r,i,a,o,s,c,l){if(e==null)as(t,n,r,i,a,o,s,c,l);else{if(a&&a.deps>0&&!e.suspense.isInFallback){t.suspense=e.suspense,t.suspense.vnode=t,t.el=e.el;return}os(e,t,n,r,i,o,s,c,l)}},hydrate:cs,normalize:ls};function is(e,t){let n=e.props&&e.props[t];_(n)&&n()}function as(e,t,n,r,i,a,o,s,c){let{p:l,o:{createElement:u}}=c,d=u(`div`),f=e.suspense=ss(e,i,r,t,d,n,a,o,s,c);l(null,f.pendingBranch=e.ssContent,d,null,r,f,a,o),f.deps>0?(is(e,`onPending`),is(e,`onFallback`),l(null,e.ssFallback,t,n,r,null,a,o),fs(f,e.ssFallback)):f.resolve(!1,!0)}function os(e,t,n,r,i,a,o,s,{p:c,um:l,o:{createElement:u}}){let d=t.suspense=e.suspense;d.vnode=t,t.el=e.el;let f=t.ssContent,p=t.ssFallback,{activeBranch:m,pendingBranch:h,isInFallback:g,isHydrating:_}=d;if(h)d.pendingBranch=f,Es(h,f)?(c(h,f,d.hiddenContainer,null,i,d,a,o,s),d.deps<=0?d.resolve():g&&(_||(c(m,p,n,r,i,null,a,o,s),fs(d,p)))):(d.pendingId=ns++,_?(d.isHydrating=!1,d.activeBranch=h):l(h,i,d),d.deps=0,d.effects.length=0,d.hiddenContainer=u(`div`),g?(c(null,f,d.hiddenContainer,null,i,d,a,o,s),d.deps<=0?d.resolve():(c(m,p,n,r,i,null,a,o,s),fs(d,p))):m&&Es(m,f)?(c(m,f,n,r,i,d,a,o,s),d.resolve(!0)):(c(null,f,d.hiddenContainer,null,i,d,a,o,s),d.deps<=0&&d.resolve()));else if(m&&Es(m,f))c(m,f,n,r,i,d,a,o,s),fs(d,f);else if(is(t,`onPending`),d.pendingBranch=f,d.pendingId=f.shapeFlag&512?f.component.suspenseId:ns++,c(null,f,d.hiddenContainer,null,i,d,a,o,s),d.deps<=0)d.resolve();else{let{timeout:e,pendingId:t}=d;e>0?setTimeout(()=>{d.pendingId===t&&d.fallback(p)},e):e===0&&d.fallback(p)}}function ss(e,t,n,r,i,a,o,s,c,l,u=!1){let{p:d,m:f,um:p,n:m,o:{parentNode:h,remove:g}}=l,_,v=ps(e);v&&t&&t.pendingBranch&&(_=t.pendingId,t.deps++);let y=e.props?se(e.props.timeout):void 0,b=a,x={vnode:e,parent:t,parentComponent:n,namespace:o,container:r,hiddenContainer:i,deps:0,pendingId:ns++,timeout:typeof y==`number`?y:-1,activeBranch:null,isFallbackMountPending:!1,pendingBranch:null,isInFallback:!u,isHydrating:u,isUnmounted:!1,effects:[],resolve(e=!1,n=!1){let{vnode:r,activeBranch:i,pendingBranch:o,pendingId:s,effects:c,parentComponent:l,container:u,isInFallback:d}=x,g=!1;if(x.isHydrating)x.isHydrating=!1;else if(!e){g=i&&o.transition&&o.transition.mode===`out-in`;let e=!1;g&&(i.transition.afterLeave=()=>{s===x.pendingId&&(f(o,u,a===b&&!e?m(i):a,0),cr(c),d&&r.ssFallback&&(r.ssFallback.el=null))}),i&&!x.isFallbackMountPending&&(h(i.el)===u&&(a=m(i),e=!0),p(i,l,x,!0),!g&&d&&r.ssFallback&&R(()=>r.ssFallback.el=null,x)),g||f(o,u,a,0)}x.isFallbackMountPending=!1,fs(x,o),x.pendingBranch=null,x.isInFallback=!1;let y=x.parent,S=!1;for(;y;){if(y.pendingBranch){for(let e=0;e{x.isFallbackMountPending=!1,x.isInFallback&&(d(null,e,i,o,r,null,a,s,c),fs(x,e))},u=e.transition&&e.transition.mode===`out-in`;u&&(x.isFallbackMountPending=!0,n.transition.afterLeave=l),x.isInFallback=!0,p(n,r,null,!0),u||l()},move(e,t,n){x.activeBranch&&f(x.activeBranch,e,t,n),x.container=e},next(){return x.activeBranch&&m(x.activeBranch)},registerDep(e,t,n){let r=!!x.pendingBranch;r&&x.deps++;let i=e.vnode.el;e.asyncDep.catch(t=>{Yn(t,e,0)}).then(a=>{if(e.isUnmounted||x.isUnmounted||x.pendingId!==e.suspenseId)return;Ys(),e.asyncResolved=!0;let{vnode:s}=e;ec(e,a,!1),i&&(s.el=i);let c=!i&&e.subTree.el;t(e,s,h(i||e.subTree.el),i?null:m(e.subTree),x,o,n),c&&(s.placeholder=null,g(c)),To(e,s.el),r&&--x.deps===0&&x.resolve()})},unmount(e,t){x.isUnmounted=!0,x.activeBranch&&p(x.activeBranch,n,e,t),x.pendingBranch&&p(x.pendingBranch,n,e,t)}};return x}function cs(e,t,n,r,i,a,o,s,c){let l=t.suspense=ss(t,r,n,e.parentNode,document.createElement(`div`),null,i,a,o,s,!0),u=c(e,l.pendingBranch=t.ssContent,n,l,a,o);return l.deps===0&&l.resolve(!1,!0),u}function ls(e){let{shapeFlag:t,children:n}=e,r=t&32;e.ssContent=us(r?n.default:n),e.ssFallback=r?us(n.fallback):V(B)}function us(e){let t;if(_(e)){let n=bs&&e._c;n&&(e._d=!1,vs()),e=e(),n&&(e._d=!0,t=_s,ys())}return f(e)&&(e=yo(e)),e=Ls(e),t&&!e.dynamicChildren&&(e.dynamicChildren=t.filter(t=>t!==e)),e}function ds(e,t){t&&t.pendingBranch?f(e)?t.effects.push(...e):t.effects.push(e):cr(e)}function fs(e,t){e.activeBranch=t;let{vnode:n,parentComponent:r}=e,i=t.el;for(;!i&&t.component;)t=t.component.subTree,i=t.el;n.el=i,r&&r.subTree===n&&(r.vnode.el=i,To(r,i))}function ps(e){let t=e.props&&e.props.suspensible;return t!=null&&t!==!1}var z=Symbol.for(`v-fgt`),ms=Symbol.for(`v-txt`),B=Symbol.for(`v-cmt`),hs=Symbol.for(`v-stc`),gs=[],_s=null;function vs(e=!1){gs.push(_s=e?null:[])}function ys(){gs.pop(),_s=gs[gs.length-1]||null}var bs=1;function xs(e,t=!1){bs+=e,e<0&&_s&&t&&(_s.hasOnce=!0)}function Ss(e){return e.dynamicChildren=bs>0?_s||r:null,ys(),bs>0&&_s&&_s.push(e),e}function Cs(e,t,n,r,i,a){return Ss(As(e,t,n,r,i,a,!0))}function ws(e,t,n,r,i){return Ss(V(e,t,n,r,i,!0))}function Ts(e){return e?e.__v_isVNode===!0:!1}function Es(e,t){return e.type===t.type&&e.key===t.key}function Ds(e){}var Os=({key:e})=>e??null,ks=({ref:e,ref_key:t,ref_for:n})=>(typeof e==`number`&&(e=``+e),e==null?null:v(e)||I(e)||_(e)?{i:L,r:e,k:t,f:!!n}:e);function As(e,t=null,n=null,r=0,i=null,a=e===z?0:1,o=!1,s=!1){let c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Os(t),ref:t&&ks(t),scopeId:gr,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:a,patchFlag:r,dynamicProps:i,dynamicChildren:null,appContext:null,ctx:L};return s?(zs(c,n),a&128&&e.normalize(c)):n&&(c.shapeFlag|=v(n)?8:16),bs>0&&!o&&_s&&(c.patchFlag>0||a&6)&&c.patchFlag!==32&&_s.push(c),c}var V=js;function js(e,t=null,n=null,r=0,i=null,a=!1){if((!e||e===ga)&&(e=B),Ts(e)){let r=Ns(e,t,!0);return n&&zs(r,n),bs>0&&!a&&_s&&(r.shapeFlag&6?_s[_s.indexOf(e)]=r:_s.push(r)),r.patchFlag=-2,r}if(uc(e)&&(e=e.__vccOpts),t){t=Ms(t);let{class:e,style:n}=t;e&&!v(e)&&(t.class=_e(e)),b(n)&&(un(n)&&!f(n)&&(n=c({},n)),t.style=fe(n))}let o=v(e)?1:ts(e)?128:Rr(e)?64:b(e)?4:_(e)?2:0;return As(e,t,n,r,i,o,a,!0)}function Ms(e){return e?un(e)||Oo(e)?c({},e):e:null}function Ns(e,t,n=!1,r=!1){let{props:i,ref:a,patchFlag:o,children:s,transition:c}=e,l=t?Bs(i||{},t):i,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:l,key:l&&Os(l),ref:t&&t.ref?n&&a?f(a)?a.concat(ks(t)):[a,ks(t)]:ks(t):a,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:s,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==z?o===-1?16:o|16:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:c,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Ns(e.ssContent),ssFallback:e.ssFallback&&Ns(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return c&&r&&li(u,c.clone(u)),u}function Ps(e=` `,t=0){return V(ms,null,e,t)}function Fs(e,t){let n=V(hs,null,e);return n.staticCount=t,n}function Is(e=``,t=!1){return t?(vs(),ws(B,null,e)):V(B,null,e)}function Ls(e){return e==null||typeof e==`boolean`?V(B):f(e)?V(z,null,e.slice()):Ts(e)?Rs(e):V(ms,null,String(e))}function Rs(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Ns(e)}function zs(e,t){let n=0,{shapeFlag:r}=e;if(t==null)t=null;else if(f(t))n=16;else if(typeof t==`object`){if(r&65){let n=t.default;n&&(n._c&&(n._d=!1),zs(e,n()),n._c&&(n._d=!0));return}{n=32;let r=t._;!r&&!Oo(t)?t._ctx=L:r===3&&L&&(L.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}}else if(_(t)){if(r&65){zs(e,{default:t});return}t={default:t,_ctx:L},n=32}else t=String(t),r&64?(n=16,t=[Ps(t)]):n=8;e.children=t,e.shapeFlag|=n}function Bs(...e){let t={};for(let n=0;nH||L,Ks,qs;{let e=le(),t=(t,n)=>{let r;return(r=e[t])||(r=e[t]=[]),r.push(n),e=>{r.length>1?r.forEach(t=>t(e)):r[0](e)}};Ks=t(`__VUE_INSTANCE_SETTERS__`,e=>H=e),qs=t(`__VUE_SSR_SETTERS__`,e=>Zs=e)}var Js=e=>{let t=H;return Ks(e),e.scope.on(),()=>{e.scope.off(),Ks(t)}},Ys=()=>{H&&H.scope.off(),Ks(null)};function Xs(e){return e.vnode.shapeFlag&4}var Zs=!1;function Qs(e,t=!1,n=!1){t&&qs(t);let{props:r,children:i}=e.vnode,a=Xs(e);ko(e,r,a,t),Ho(e,i,n||t);let o=a?$s(e,t):void 0;return t&&qs(!1),o}function $s(e,t){let n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,ka);let{setup:r}=n;if(r){ot();let n=e.setupContext=r.length>1?sc(e):null,i=Js(e),a=qn(r,e,0,[e.props,n]),o=x(a);if(st(),i(),(o||e.sp)&&!Ui(e)&&pi(e),o){if(a.then(Ys,Ys),t)return a.then(n=>{qs(!0);try{ec(e,n,t)}finally{qs(!1)}}).catch(t=>{Yn(t,e,0)});e.asyncDep=a}else ec(e,a,t)}else ac(e,t)}function ec(e,t,n){_(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:b(t)&&(e.setupState=Sn(t)),ac(e,n)}var tc,nc;function rc(e){tc=e,nc=e=>{e.render._rc&&(e.withProxy=new Proxy(e.ctx,Aa))}}var ic=()=>!tc;function ac(e,t,n){let r=e.type;if(!e.render){if(!t&&tc&&!r.render){let t=r.template||Za(e).template;if(t){let{isCustomElement:n,compilerOptions:i}=e.appContext.config,{delimiters:a,compilerOptions:o}=r,s=c(c({isCustomElement:n,delimiters:a},i),o);r.render=tc(t,s)}}e.render=r.render||i,nc&&nc(e)}{let t=Js(e);ot();try{qa(e)}finally{st(),t()}}}var oc={get(e,t){return _t(e,`get`,``),e[t]}};function sc(e){return{attrs:new Proxy(e.attrs,oc),slots:e.slots,emit:e.emit,expose:t=>{e.exposed=t||{}}}}function cc(e){return e.exposed?e.exposeProxy||=new Proxy(Sn(dn(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Da)return Da[n](e)},has(e,t){return t in e||t in Da}}):e.proxy}function lc(e,t=!0){return _(e)?e.displayName||e.name:e.name||t&&e.__name}function uc(e){return _(e)&&`__vccOpts`in e}var dc=(e,t)=>jn(e,t,Zs);function fc(e,t,n){try{xs(-1);let r=arguments.length;return r===2?b(t)&&!f(t)?Ts(t)?V(e,null,[t]):V(e,t):V(e,null,t):(r>3?n=Array.prototype.slice.call(arguments,2):r===3&&Ts(n)&&(n=[n]),V(e,t,n))}finally{xs(1)}}function pc(){}function mc(e,t,n,r){let i=n[r];if(i&&hc(i,e))return i;let a=t();return a.memo=e.slice(),a.cacheIndex=r,n[r]=a}function hc(e,t){let n=e.memo;if(n.length!=t.length)return!1;for(let e=0;e0&&_s&&_s.push(e),!0}var gc=`3.5.41`,_c=i,vc=Kn,yc=pr,bc=hr,xc={createComponentInstance:Ws,setupComponent:Qs,renderComponentRoot:vo,setCurrentRenderingInstance:_r,isVNode:Ts,normalizeVNode:Ls,getComponentPublicInstance:cc,ensureValidVNode:wa,pushWarningContext:Hn,popWarningContext:Un},Sc=e({BaseTransition:()=>ii,BaseTransitionPropsValidators:()=>ei,Comment:()=>B,DeprecationTypes:()=>null,EffectScope:()=>Re,ErrorCodes:()=>Gn,ErrorTypeStrings:()=>vc,Fragment:()=>z,KeepAlive:()=>qi,ReactiveEffect:()=>Ue,Static:()=>hs,Suspense:()=>rs,Teleport:()=>qr,Text:()=>ms,TrackOpTypes:()=>Mn,Transition:()=>Ic,TransitionGroup:()=>Gl,TriggerOpTypes:()=>Nn,VueElement:()=>Ll,assertNumber:()=>Wn,callWithAsyncErrorHandling:()=>Jn,callWithErrorHandling:()=>qn,camelize:()=>k,capitalize:()=>re,cloneVNode:()=>Ns,compatUtils:()=>null,computed:()=>dc,createApp:()=>Du,createBlock:()=>ws,createCommentVNode:()=>Is,createElementBlock:()=>Cs,createElementVNode:()=>As,createHydrationRenderer:()=>Go,createPropsRestProxy:()=>Wa,createRenderer:()=>Wo,createSSRApp:()=>Ou,createSlots:()=>Sa,createStaticVNode:()=>Fs,createTextVNode:()=>Ps,createVNode:()=>V,customRef:()=>wn,defineAsyncComponent:()=>Wi,defineComponent:()=>di,defineCustomElement:()=>Pl,defineEmits:()=>Ma,defineExpose:()=>Na,defineModel:()=>Ia,defineOptions:()=>Pa,defineProps:()=>ja,defineSSRCustomElement:()=>Fl,defineSlots:()=>Fa,devtools:()=>yc,effect:()=>nt,effectScope:()=>ze,getCurrentInstance:()=>Gs,getCurrentScope:()=>Be,getCurrentWatcher:()=>Ln,getTransitionRawChildren:()=>ui,guardReactiveProps:()=>Ms,h:()=>fc,handleError:()=>Yn,hasInjectionContext:()=>Er,hydrate:()=>Eu,hydrateOnIdle:()=>Li,hydrateOnInteraction:()=>Vi,hydrateOnMediaQuery:()=>Bi,hydrateOnVisible:()=>zi,initCustomFormatter:()=>pc,initDirectivesForSSR:()=>Mu,inject:()=>Tr,isMemoSame:()=>hc,isProxy:()=>un,isReactive:()=>sn,isReadonly:()=>cn,isRef:()=>I,isRuntimeOnly:()=>ic,isShallow:()=>ln,isVNode:()=>Ts,markRaw:()=>dn,mergeDefaults:()=>Ha,mergeModels:()=>Ua,mergeProps:()=>Bs,nextTick:()=>ir,nodeOps:()=>Ac,normalizeClass:()=>_e,normalizeProps:()=>ve,normalizeStyle:()=>fe,onActivated:()=>Yi,onBeforeMount:()=>ra,onBeforeUnmount:()=>sa,onBeforeUpdate:()=>aa,onDeactivated:()=>Xi,onErrorCaptured:()=>fa,onMounted:()=>ia,onRenderTracked:()=>da,onRenderTriggered:()=>ua,onScopeDispose:()=>Ve,onServerPrefetch:()=>la,onUnmounted:()=>ca,onUpdated:()=>oa,onWatcherCleanup:()=>Rn,openBlock:()=>vs,patchProp:()=>Al,popScopeId:()=>yr,provide:()=>wr,proxyRefs:()=>Sn,pushScopeId:()=>vr,queuePostFlushCb:()=>cr,reactive:()=>tn,readonly:()=>rn,ref:()=>mn,registerRuntimeCompiler:()=>rc,render:()=>Tu,renderList:()=>xa,renderSlot:()=>Ca,resolveComponent:()=>ha,resolveDirective:()=>va,resolveDynamicComponent:()=>_a,resolveFilter:()=>null,resolveTransitionHooks:()=>oi,setBlockTracking:()=>xs,setDevtoolsHook:()=>bc,setTransitionHooks:()=>li,shallowReactive:()=>nn,shallowReadonly:()=>an,shallowRef:()=>hn,ssrContextKey:()=>Dr,ssrUtils:()=>xc,stop:()=>rt,toDisplayString:()=>Pe,toHandlerKey:()=>j,toHandlers:()=>Ta,toRaw:()=>F,toRef:()=>On,toRefs:()=>Tn,toValue:()=>bn,transformVNodeArgs:()=>Ds,triggerRef:()=>vn,unref:()=>yn,useAttrs:()=>za,useCssModule:()=>Bl,useCssVars:()=>il,useHost:()=>Rl,useId:()=>fi,useModel:()=>fo,useSSRContext:()=>Or,useShadowRoot:()=>zl,useSlots:()=>Ra,useTemplateRef:()=>mi,useTransitionState:()=>Qr,vModelCheckbox:()=>iu,vModelDynamic:()=>du,vModelRadio:()=>ou,vModelSelect:()=>su,vModelText:()=>ru,vShow:()=>el,version:()=>gc,warn:()=>_c,watch:()=>Mr,watchEffect:()=>kr,watchPostEffect:()=>Ar,watchSyncEffect:()=>jr,withAsyncContext:()=>Ga,withCtx:()=>xr,withDefaults:()=>La,withDirectives:()=>Sr,withKeys:()=>yu,withMemo:()=>mc,withModifiers:()=>_u,withScopeId:()=>br}),Cc=void 0,wc=typeof window<`u`&&window.trustedTypes;if(wc)try{Cc=wc.createPolicy(`vue`,{createHTML:e=>e})}catch{}var Tc=Cc?e=>Cc.createHTML(e):e=>e,Ec=`http://www.w3.org/2000/svg`,Dc=`http://www.w3.org/1998/Math/MathML`,Oc=typeof document<`u`?document:null,kc=Oc&&Oc.createElement(`template`),Ac={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{let t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,r)=>{let i=t===`svg`?Oc.createElementNS(Ec,e):t===`mathml`?Oc.createElementNS(Dc,e):n?Oc.createElement(e,{is:n}):Oc.createElement(e);return e===`select`&&r&&r.multiple!=null&&i.setAttribute(`multiple`,r.multiple),i},createText:e=>Oc.createTextNode(e),createComment:e=>Oc.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Oc.querySelector(e),setScopeId(e,t){e.setAttribute(t,``)},insertStaticContent(e,t,n,r,i,a){let o=n?n.previousSibling:t.lastChild;if(i&&(i===a||i.nextSibling))for(;t.insertBefore(i.cloneNode(!0),n),!(i===a||!(i=i.nextSibling)););else{kc.innerHTML=Tc(r===`svg`?`${e}`:r===`mathml`?`${e}`:e);let i=kc.content;if(r===`svg`||r===`mathml`){let e=i.firstChild;for(;e.firstChild;)i.appendChild(e.firstChild);i.removeChild(e)}t.insertBefore(i,n)}return[o?o.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},jc=`transition`,Mc=`animation`,Nc=Symbol(`_vtc`),Pc={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},Fc=c({},ei,Pc),Ic=(e=>(e.displayName=`Transition`,e.props=Fc,e))((e,{slots:t})=>fc(ii,zc(e),t)),Lc=(e,t=[])=>{f(e)?e.forEach(e=>e(...t)):e&&e(...t)},Rc=e=>e?f(e)?e.some(e=>e.length>1):e.length>1:!1;function zc(e){let t={};for(let n in e)n in Pc||(t[n]=e[n]);if(e.css===!1)return t;let{name:n=`v`,type:r,duration:i,enterFromClass:a=`${n}-enter-from`,enterActiveClass:o=`${n}-enter-active`,enterToClass:s=`${n}-enter-to`,appearFromClass:l=a,appearActiveClass:u=o,appearToClass:d=s,leaveFromClass:f=`${n}-leave-from`,leaveActiveClass:p=`${n}-leave-active`,leaveToClass:m=`${n}-leave-to`}=e,h=Bc(i),g=h&&h[0],_=h&&h[1],{onBeforeEnter:v,onEnter:y,onEnterCancelled:b,onLeave:x,onLeaveCancelled:S,onBeforeAppear:C=v,onAppear:w=y,onAppearCancelled:T=b}=t,E=(e,t,n,r)=>{e._enterCancelled=r,Uc(e,t?d:s),Uc(e,t?u:o),n&&n()},D=(e,t)=>{e._isLeaving=!1,Uc(e,f),Uc(e,m),Uc(e,p),t&&t()},ee=e=>(t,n)=>{let i=e?w:y,o=()=>E(t,e,n);Lc(i,[t,o]),Wc(()=>{Uc(t,e?l:a),Hc(t,e?d:s),Rc(i)||Kc(t,r,g,o)})};return c(t,{onBeforeEnter(e){Lc(v,[e]),Hc(e,a),Hc(e,o)},onBeforeAppear(e){Lc(C,[e]),Hc(e,l),Hc(e,u)},onEnter:ee(!1),onAppear:ee(!0),onLeave(e,t){e._isLeaving=!0;let n=()=>D(e,t);Hc(e,f),e._enterCancelled?(Hc(e,p),Xc(e)):(Xc(e),Hc(e,p)),Wc(()=>{e._isLeaving&&(Uc(e,f),Hc(e,m),Rc(x)||Kc(e,r,_,n))}),Lc(x,[e,n])},onEnterCancelled(e){E(e,!1,void 0,!0),Lc(b,[e])},onAppearCancelled(e){E(e,!0,void 0,!0),Lc(T,[e])},onLeaveCancelled(e){D(e),Lc(S,[e])}})}function Bc(e){if(e==null)return null;if(b(e))return[Vc(e.enter),Vc(e.leave)];{let t=Vc(e);return[t,t]}}function Vc(e){return se(e)}function Hc(e,t){t.split(/\s+/).forEach(t=>t&&e.classList.add(t)),(e[Nc]||(e[Nc]=new Set)).add(t)}function Uc(e,t){t.split(/\s+/).forEach(t=>t&&e.classList.remove(t));let n=e[Nc];n&&(n.delete(t),n.size||(e[Nc]=void 0))}function Wc(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}var Gc=0;function Kc(e,t,n,r){let i=e._endId=++Gc,a=()=>{i===e._endId&&r()};if(n!=null)return setTimeout(a,n);let{type:o,timeout:s,propCount:c}=qc(e,t);if(!o)return r();let l=o+`end`,u=0,d=()=>{e.removeEventListener(l,f),a()},f=t=>{t.target===e&&++u>=c&&d()};setTimeout(()=>{u(n[e]||``).split(`, `),i=r(`${jc}Delay`),a=r(`${jc}Duration`),o=Jc(i,a),s=r(`${Mc}Delay`),c=r(`${Mc}Duration`),l=Jc(s,c),u=null,d=0,f=0;t===jc?o>0&&(u=jc,d=o,f=a.length):t===Mc?l>0&&(u=Mc,d=l,f=c.length):(d=Math.max(o,l),u=d>0?o>l?jc:Mc:null,f=u?u===jc?a.length:c.length:0);let p=u===jc&&/\b(?:transform|all)(?:,|$)/.test(r(`${jc}Property`).toString());return{type:u,timeout:d,propCount:f,hasTransform:p}}function Jc(e,t){for(;e.lengthYc(t)+Yc(e[n])))}function Yc(e){return e===`auto`?0:Number(e.slice(0,-1).replace(`,`,`.`))*1e3}function Xc(e){return(e?e.ownerDocument:document).body.offsetHeight}function Zc(e,t,n){let r=e[Nc];r&&(t=(t?[t,...r]:[...r]).join(` `)),t==null?e.removeAttribute(`class`):n?e.setAttribute(`class`,t):e.className=t}var Qc=Symbol(`_vod`),$c=Symbol(`_vsh`),el={name:`show`,beforeMount(e,{value:t},{transition:n}){e[Qc]=e.style.display===`none`?``:e.style.display,n&&t?n.beforeEnter(e):tl(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:r}){!t!=!n&&(r?t?(r.beforeEnter(e),tl(e,!0),r.enter(e)):r.leave(e,()=>{tl(e,!1)}):tl(e,t))},beforeUnmount(e,{value:t}){tl(e,t)}};function tl(e,t){e.style.display=t?e[Qc]:`none`,e[$c]=!t}function nl(){el.getSSRProps=({value:e})=>{if(!e)return{style:{display:`none`}}}}var rl=Symbol(``);function il(e){let t=Gs();if(!t)return;let n=t.ut=(n=e(t.proxy))=>{Array.from(document.querySelectorAll(`[data-v-owner="${t.uid}"]`)).forEach(e=>ol(e,n))},r=()=>{let r=e(t.proxy);t.ce?ol(t.ce,r):al(t.subTree,r),n(r)};aa(()=>{cr(r)}),ia(()=>{Mr(r,i,{flush:`post`});let e=new MutationObserver(r);e.observe(t.subTree.el.parentNode,{childList:!0}),ca(()=>e.disconnect())})}function al(e,t){if(e.shapeFlag&128){let n=e.suspense;e=n.activeBranch,n.pendingBranch&&!n.isHydrating&&n.effects.push(()=>{al(n.activeBranch,t)})}for(;e.component;)e=e.component.subTree;if(e.shapeFlag&1&&e.el)ol(e.el,t);else if(e.type===z)e.children.forEach(e=>al(e,t));else if(e.type===hs){let{el:n,anchor:r}=e;for(;n&&(ol(n,t),n!==r);)n=n.nextSibling}}function ol(e,t){if(e.nodeType===1){let n=e.style,r=``;for(let e in t){let i=Le(t[e]);n.setProperty(`--${e}`,i),r+=`--${e}: ${i};`}n[rl]=r}}var sl=/(?:^|;)\s*display\s*:/;function cl(e,t,n){let r=e.style,i=v(n),a=!1;if(n&&!i){if(t){if(v(t))for(let e of t.split(`;`)){let t=e.slice(0,e.indexOf(`:`)).trim();n[t]??ul(r,t,``)}else for(let e in t)n[e]??ul(r,e,``)}for(let i in n){i===`display`&&(a=!0);let o=n[i];o==null?ul(r,i,``):ml(e,i,!v(t)&&t?t[i]:void 0,o)||ul(r,i,o)}}else if(i){if(t!==n){let e=r[rl];e&&(n+=`;`+e),r.cssText=n,a=sl.test(n)}}else t&&e.removeAttribute(`style`);Qc in e&&(e[Qc]=a?r.display:``,e[$c]&&(r.display=`none`))}var ll=/\s*!important$/;function ul(e,t,n){if(f(n))n.forEach(n=>ul(e,t,n));else if(n??=``,t.startsWith(`--`))e.setProperty(t,n);else{let r=pl(e,t);ll.test(n)?e.setProperty(A(r),n.replace(ll,``),`important`):e[r]=n}}var dl=[`Webkit`,`Moz`,`ms`],fl={};function pl(e,t){let n=fl[t];if(n)return n;let r=k(t);if(r!==`filter`&&r in e)return fl[t]=r;r=re(r);for(let n=0;nTl||=(El.then(()=>Tl=0),Date.now());function Ol(e,t){let n=e=>{if(!e._vts)e._vts=Date.now();else if(e._vts<=n.attached)return;let r=n.value;if(f(r)){let n=e.stopImmediatePropagation;e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0};let i=r.slice(),a=[e];for(let n=0;ne.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Al=(e,t,n,r,i,a)=>{let c=i===`svg`;t===`class`?Zc(e,r,c):t===`style`?cl(e,n,r):o(t)?s(t)||xl(e,t,n,r,a):(t[0]===`.`?(t=t.slice(1),!0):t[0]===`^`?(t=t.slice(1),!1):jl(e,t,r,c))?(_l(e,t,r),!e.tagName.includes(`-`)&&(t===`value`||t===`checked`||t===`selected`)&&gl(e,t,r,c,a,t!==`value`)):e._isVueCE&&(Ml(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!v(r)))?_l(e,k(t),r,a,t):(t===`true-value`?e._trueValue=r:t===`false-value`&&(e._falseValue=r),gl(e,t,r,c))};function jl(e,t,n,r){if(r)return!!(t===`innerHTML`||t===`textContent`||t in e&&kl(t)&&_(n));if(t===`spellcheck`||t===`draggable`||t===`translate`||t===`autocorrect`||t===`sandbox`&&e.tagName===`IFRAME`||t===`form`||t===`list`&&e.tagName===`INPUT`||t===`type`&&e.tagName===`TEXTAREA`)return!1;if(t===`width`||t===`height`){let t=e.tagName;if(t===`IMG`||t===`VIDEO`||t===`CANVAS`||t===`SOURCE`)return!1}return kl(t)&&v(n)?!1:t in e}function Ml(e,t){let n=e._def.props;if(!n)return!1;let r=k(t);return Array.isArray(n)?n.some(e=>k(e)===r):Object.keys(n).some(e=>k(e)===r)}var Nl={};function Pl(e,t,n){let r=di(e,t);T(r)&&(r=c({},r,t));class i extends Ll{constructor(e){super(r,e,n)}}return i.def=r,i}var Fl=((e,t)=>Pl(e,t,Ou)),Il=typeof HTMLElement<`u`?HTMLElement:class{},Ll=class e extends Il{constructor(e,t={},n=Du){super(),this._def=e,this._props=t,this._createApp=n,this._isVueCE=!0,this._instance=null,this._app=null,this._nonce=this._def.nonce,this._connected=!1,this._resolved=!1,this._patching=!1,this._dirty=!1,this._numberProps=null,this._styleChildren=new WeakSet,this._styleAnchors=new WeakMap,this._ob=null,this.shadowRoot&&n!==Du?this._root=this.shadowRoot:e.shadowRoot===!1?this._root=this:(this.attachShadow(c({},e.shadowRootOptions,{mode:`open`})),this._root=this.shadowRoot)}connectedCallback(){if(!this.isConnected)return;!this.shadowRoot&&!this._resolved&&this._parseSlots(),this._connected=!0;let t=this;for(;t&&=t.assignedSlot||t.parentNode||t.host;)if(t instanceof e){this._parent=t;break}this._instance||(this._resolved?this._mount(this._def):t&&t._pendingResolve?this._pendingResolve=t._pendingResolve.then(()=>{if(this._pendingResolve=void 0,this.isConnected)return this._resolveDef()}):this._resolveDef())}_setParent(e=this._parent){e&&(this._instance.parent=e._instance,this._inheritParentContext(e))}_inheritParentContext(e=this._parent){e&&this._app&&Object.setPrototypeOf(this._app._context.provides,e._instance.provides)}disconnectedCallback(){this._connected=!1,ir(()=>{this._connected||(this._ob&&=(this._ob.disconnect(),null),this._app&&this._app.unmount(),this._instance&&(this._instance.ce=void 0),this._app=this._instance=null,this._teleportTargets&&=(this._teleportTargets.clear(),void 0))})}_processMutations(e){for(let t of e)this._setAttr(t.attributeName)}_resolveDef(){if(this._pendingResolve)return this._pendingResolve;for(let e=0;e{this._resolved=!0,this._pendingResolve=void 0;let{props:n,styles:r}=e,i;if(n&&!f(n))for(let e in n){let t=n[e];(t===Number||t&&t.type===Number)&&(e in this._props&&(this._props[e]=se(this._props[e])),(i||=Object.create(null))[k(e)]=!0)}this._numberProps=i,this._resolveProps(e),this.shadowRoot&&this._applyStyles(r),this._mount(e)},t=this._def.__asyncLoader;if(t)return this._pendingResolve=t().then(t=>{t.configureApp=this._def.configureApp,e(this._def=t,!0)}),this._pendingResolve;e(this._def)}_mount(e){this._app=this._createApp(e),this._inheritParentContext(),e.configureApp&&e.configureApp(this._app),this._app._ceVNode=this._createVNode(),this._app.mount(this._root);let t=this._instance&&this._instance.exposed;if(t)for(let e in t)d(this,e)||Object.defineProperty(this,e,{get:()=>yn(t[e])})}_resolveProps(e){let{props:t}=e,n=f(t)?t:Object.keys(t||{});for(let e of Object.keys(this))e[0]!==`_`&&n.includes(e)&&this._setProp(e,this[e]);for(let e of n.map(k))Object.defineProperty(this,e,{get(){return this._getProp(e)},set(t){this._setProp(e,t,!0,!this._patching)}})}_setAttr(e){if(e.startsWith(`data-v-`))return;let t=this.hasAttribute(e),n=t?this.getAttribute(e):Nl,r=k(e);t&&this._numberProps&&this._numberProps[r]&&(n=se(n)),this._setProp(r,n,!1,!0)}_getProp(e){return this._props[e]}_setProp(e,t,n=!0,r=!1){if(t!==this._props[e]&&(this._dirty=!0,t===Nl?delete this._props[e]:(this._props[e]=t,e===`key`&&this._app&&(this._app._ceVNode.key=t)),r&&this._instance&&this._update(),n)){let n=this._ob;n&&(this._processMutations(n.takeRecords()),n.disconnect()),t===!0?this.setAttribute(A(e),``):typeof t==`string`||typeof t==`number`?this.setAttribute(A(e),t+``):t||this.removeAttribute(A(e)),n&&n.observe(this,{attributes:!0})}}_update(){let e=this._createVNode();this._app&&(e.appContext=this._app._context),Tu(e,this._root)}_createVNode(){let e={};this.shadowRoot||(e.onVnodeMounted=e.onVnodeUpdated=this._renderSlots.bind(this));let t=V(this._def,c(e,this._props));return this._instance||(t.ce=e=>{this._instance=e,e.ce=this,e.isCE=!0;let t=(e,t)=>{this.dispatchEvent(new CustomEvent(e,T(t[0])?c({detail:t},t[0]):{detail:t}))};e.emit=(e,...n)=>{t(e,n),A(e)!==e&&t(A(e),n)},this._setParent()}),t}_applyStyles(e,t,n){if(!e)return;if(t){if(t===this._def||this._styleChildren.has(t))return;this._styleChildren.add(t)}let r=this._nonce,i=this.shadowRoot,a=n?this._getStyleAnchor(n)||this._getStyleAnchor(this._def):this._getRootStyleInsertionAnchor(i),o=null;for(let s=e.length-1;s>=0;s--){let c=document.createElement(`style`);r&&c.setAttribute(`nonce`,r),c.textContent=e[s],i.insertBefore(c,o||a),o=c,s===0&&(n||this._styleAnchors.set(this._def,c),t&&this._styleAnchors.set(t,c))}}_getStyleAnchor(e){if(!e)return null;let t=this._styleAnchors.get(e);return t&&t.parentNode===this.shadowRoot?t:(t&&this._styleAnchors.delete(e),null)}_getRootStyleInsertionAnchor(e){for(let t=0;t(delete e.props.mode,e))({name:`TransitionGroup`,props:c({},Fc,{tag:String,moveClass:String}),setup(e,{slots:t}){let n=Gs(),r=Qr(),i,a;return oa(()=>{if(!i.length)return;let t=e.moveClass||`${e.name||`v`}-move`;if(!Xl(i[0].el,n.vnode.el,t)){i=[];return}i.forEach(Kl),i.forEach(ql);let r=i.filter(Jl);Xc(n.vnode.el),r.forEach(e=>{let n=e.el,r=n.style;Hc(n,t),r.transform=r.webkitTransform=r.transitionDuration=``;let i=n[Ul]=e=>{e&&e.target!==n||(!e||e.propertyName.endsWith(`transform`))&&(n.removeEventListener(`transitionend`,i),n[Ul]=null,Uc(n,t))};n.addEventListener(`transitionend`,i)}),i=[]}),()=>{let o=F(e),s=zc(o),c=o.tag||z;if(i=[],a)for(let e=0;e{e.split(/\s+/).forEach(e=>e&&r.classList.remove(e))}),n.split(/\s+/).forEach(e=>e&&r.classList.add(e)),r.style.display=`none`;let a=t.nodeType===1?t:t.parentNode;a.appendChild(r);let{hasTransform:o}=qc(r);return a.removeChild(r),o}var Zl=e=>{let t=e.props[`onUpdate:modelValue`]||!1;return f(t)?e=>ie(t,e):t};function Ql(e){e.target.composing=!0}function $l(e){let t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event(`input`)))}var eu=Symbol(`_assign`),tu=Symbol(`_initialValue`);function nu(e,t,n){return t&&(e=e.trim()),n&&(e=oe(e)),e}var ru={created(e,{modifiers:{lazy:t,trim:n,number:r}},i){e.parentNode&&(e.type===`text`?e[tu]=e.defaultValue.replace(/[\r\n]/g,``):e.type===`textarea`&&(e[tu]=e.defaultValue.replace(/\r\n?/g,` +`))),e[eu]=Zl(i);let a=r||i.props&&i.props.type===`number`;vl(e,t?`change`:`input`,t=>{t.target.composing||e[eu](nu(e.value,n,a))}),(n||a)&&vl(e,`change`,()=>{e.value=nu(e.value,n,a)}),t||(vl(e,`compositionstart`,Ql),vl(e,`compositionend`,$l),vl(e,`change`,$l))},mounted(e,{value:t,modifiers:{trim:n,number:r}}){let i=t??``,a=e[tu];delete e[tu],a!==void 0&&(e.type===`text`||e.type===`textarea`)&&e.value!==a?e[eu](nu(e.value,n,r)):e.value=i},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:r,trim:i,number:a}},o){if(e[eu]=Zl(o),e.composing)return;let s=(a||e.type===`number`)&&!/^0\d/.test(e.value)?oe(e.value):e.value,c=t??``;if(s===c)return;let l=e.getRootNode();(l instanceof Document||l instanceof ShadowRoot)&&l.activeElement===e&&e.type!==`range`&&(r&&t===n||i&&e.value.trim()===c)||(e.value=c)}},iu={deep:!0,created(e,t,n){e[eu]=Zl(n),vl(e,`change`,()=>{let t=e._modelValue,n=lu(e),r=e.checked,i=e[eu];if(f(t)){let e=Me(t,n),a=e!==-1;if(r&&!a)i(t.concat(n));else if(!r&&a){let n=[...t];n.splice(e,1),i(n)}}else if(m(t)){let e=new Set(t);r?e.add(n):e.delete(n),i(e)}else i(uu(e,r))})},mounted:au,beforeUpdate(e,t,n){e[eu]=Zl(n),au(e,t,n)}};function au(e,{value:t,oldValue:n},r){e._modelValue=t;let i;if(f(t))i=Me(t,r.props.value)>-1;else if(m(t))i=t.has(r.props.value);else{if(t===n)return;i=je(t,uu(e,!0))}e.checked!==i&&(e.checked=i)}var ou={created(e,{value:t},n){e.checked=je(t,n.props.value),e[eu]=Zl(n),vl(e,`change`,()=>{e[eu](lu(e))})},beforeUpdate(e,{value:t,oldValue:n},r){e[eu]=Zl(r),t!==n&&(e.checked=je(t,r.props.value))}},su={deep:!0,created(e,{value:t,modifiers:{number:n}},r){e._modelValue=t,vl(e,`change`,()=>{let t=Array.prototype.filter.call(e.options,e=>e.selected).map(e=>n?oe(lu(e)):lu(e));e[eu](e.multiple?m(e._modelValue)?new Set(t):t:t[0]),e._assigning=!0,ir(()=>{e._assigning=!1})}),e[eu]=Zl(r)},mounted(e,{value:t}){cu(e,t)},beforeUpdate(e,{value:t},n){e._modelValue=t,e[eu]=Zl(n)},updated(e,{value:t}){e._assigning||cu(e,t)}};function cu(e,t){let n=e.multiple,r=f(t);if(!(n&&!r&&!m(t))){for(let i=0,a=e.options.length;iString(e)===String(o)):Me(t,o)>-1}else a.selected=t.has(o)}else if(je(lu(a),t)){e.selectedIndex!==i&&(e.selectedIndex=i);return}}!n&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function lu(e){return`_value`in e?e._value:e.value}function uu(e,t){let n=t?`_trueValue`:`_falseValue`;return n in e?e[n]:t}var du={created(e,t,n){pu(e,t,n,null,`created`)},mounted(e,t,n){pu(e,t,n,null,`mounted`)},beforeUpdate(e,t,n,r){pu(e,t,n,r,`beforeUpdate`)},updated(e,t,n,r){pu(e,t,n,r,`updated`)}};function fu(e,t){switch(e){case`SELECT`:return su;case`TEXTAREA`:return ru;default:switch(t){case`checkbox`:return iu;case`radio`:return ou;default:return ru}}}function pu(e,t,n,r,i){let a=fu(e.tagName,n.props&&n.props.type)[i];a&&a(e,t,n,r)}function mu(){ru.getSSRProps=({value:e})=>({value:e}),ou.getSSRProps=({value:e},t)=>{if(t.props&&je(t.props.value,e))return{checked:!0}},iu.getSSRProps=({value:e},t)=>{if(f(e)){if(t.props&&Me(e,t.props.value)>-1)return{checked:!0}}else if(m(e)){if(t.props&&e.has(t.props.value))return{checked:!0}}else if(e)return{checked:!0}},du.getSSRProps=(e,t)=>{if(typeof t.type!=`string`)return;let n=fu(t.type.toUpperCase(),t.props&&t.props.type);if(n.getSSRProps)return n.getSSRProps(e,t)}}var hu=[`ctrl`,`shift`,`alt`,`meta`],gu={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>`button`in e&&e.button!==0,middle:e=>`button`in e&&e.button!==1,right:e=>`button`in e&&e.button!==2,exact:(e,t)=>hu.some(n=>e[`${n}Key`]&&!t.includes(n))},_u=(e,t)=>{if(!e)return e;let n=e._withMods||={},r=t.join(`.`);return n[r]||(n[r]=((n,...r)=>{for(let e=0;e{let n=e._withKeys||={},r=t.join(`.`);return n[r]||(n[r]=(n=>{if(!(`key`in n))return;let r=A(n.key);if(t.some(e=>e===r||vu[e]===r))return e(n)}))},bu=c({patchProp:Al},Ac),xu,Su=!1;function Cu(){return xu||=Wo(bu)}function wu(){return xu=Su?xu:Go(bu),Su=!0,xu}var Tu=((...e)=>{Cu().render(...e)}),Eu=((...e)=>{wu().hydrate(...e)}),Du=((...e)=>{let t=Cu().createApp(...e),{mount:n}=t;return t.mount=e=>{let r=Au(e);if(!r)return;let i=t._component;!_(i)&&!i.render&&!i.template&&(i.template=r.innerHTML),r.nodeType===1&&(r.textContent=``);let a=n(r,!1,ku(r));return r instanceof Element&&(r.removeAttribute(`v-cloak`),r.setAttribute(`data-v-app`,``)),a},t}),Ou=((...e)=>{let t=wu().createApp(...e),{mount:n}=t;return t.mount=e=>{let t=Au(e);if(t)return n(t,!0,ku(t))},t});function ku(e){if(e instanceof SVGElement)return`svg`;if(typeof MathMLElement==`function`&&e instanceof MathMLElement)return`mathml`}function Au(e){return v(e)?document.querySelector(e):e}var ju=!1,Mu=()=>{ju||(ju=!0,mu(),nl())},Nu=Symbol(``),Pu=Symbol(``),Fu=Symbol(``),Iu=Symbol(``),Lu=Symbol(``),Ru=Symbol(``),zu=Symbol(``),Bu=Symbol(``),Vu=Symbol(``),Hu=Symbol(``),Uu=Symbol(``),Wu=Symbol(``),Gu=Symbol(``),Ku=Symbol(``),qu=Symbol(``),Ju=Symbol(``),Yu=Symbol(``),Xu=Symbol(``),Zu=Symbol(``),Qu=Symbol(``),$u=Symbol(``),ed=Symbol(``),td=Symbol(``),nd=Symbol(``),rd=Symbol(``),id=Symbol(``),ad=Symbol(``),od=Symbol(``),sd=Symbol(``),cd=Symbol(``),ld=Symbol(``),ud=Symbol(``),dd=Symbol(``),fd=Symbol(``),pd=Symbol(``),md=Symbol(``),hd=Symbol(``),gd=Symbol(``),_d=Symbol(``),vd={[Nu]:`Fragment`,[Pu]:`Teleport`,[Fu]:`Suspense`,[Iu]:`KeepAlive`,[Lu]:`BaseTransition`,[Ru]:`openBlock`,[zu]:`createBlock`,[Bu]:`createElementBlock`,[Vu]:`createVNode`,[Hu]:`createElementVNode`,[Uu]:`createCommentVNode`,[Wu]:`createTextVNode`,[Gu]:`createStaticVNode`,[Ku]:`resolveComponent`,[qu]:`resolveDynamicComponent`,[Ju]:`resolveDirective`,[Yu]:`resolveFilter`,[Xu]:`withDirectives`,[Zu]:`renderList`,[Qu]:`renderSlot`,[$u]:`createSlots`,[ed]:`toDisplayString`,[td]:`mergeProps`,[nd]:`normalizeClass`,[rd]:`normalizeStyle`,[id]:`normalizeProps`,[ad]:`guardReactiveProps`,[od]:`toHandlers`,[sd]:`camelize`,[cd]:`capitalize`,[ld]:`toHandlerKey`,[ud]:`setBlockTracking`,[dd]:`pushScopeId`,[fd]:`popScopeId`,[pd]:`withCtx`,[md]:`unref`,[hd]:`isRef`,[gd]:`withMemo`,[_d]:`isMemoSame`};function yd(e){Object.getOwnPropertySymbols(e).forEach(t=>{vd[t]=e[t]})}var bd={start:{line:1,column:1,offset:0},end:{line:1,column:1,offset:0},source:``};function xd(e,t=``){return{type:0,source:t,children:e,helpers:new Set,components:[],directives:[],hoists:[],imports:[],cached:[],temps:0,codegenNode:void 0,loc:bd}}function Sd(e,t,n,r,i,a,o,s=!1,c=!1,l=!1,u=bd){return e&&(s?(e.helper(Ru),e.helper(jd(e.inSSR,l))):e.helper(Ad(e.inSSR,l)),o&&e.helper(Xu)),{type:13,tag:t,props:n,children:r,patchFlag:i,dynamicProps:a,directives:o,isBlock:s,disableTracking:c,isComponent:l,loc:u}}function Cd(e,t=bd){return{type:17,loc:t,elements:e}}function wd(e,t=bd){return{type:15,loc:t,properties:e}}function U(e,t){return{type:16,loc:bd,key:v(e)?W(e,!0):e,value:t}}function W(e,t=!1,n=bd,r=0){return{type:4,loc:n,content:e,isStatic:t,constType:t?3:r}}function Td(e,t=bd){return{type:8,loc:t,children:e}}function G(e,t=[],n=bd){return{type:14,loc:n,callee:e,arguments:t}}function Ed(e,t=void 0,n=!1,r=!1,i=bd){return{type:18,params:e,returns:t,newline:n,isSlot:r,loc:i}}function Dd(e,t,n,r=!0){return{type:19,test:e,consequent:t,alternate:n,newline:r,loc:bd}}function Od(e,t,n=!1,r=!1){return{type:20,index:e,value:t,needPauseTracking:n,inVOnce:r,needArraySpread:!1,loc:bd}}function kd(e){return{type:21,body:e,loc:bd}}function Ad(e,t){return e||t?Vu:Hu}function jd(e,t){return e||t?zu:Bu}function Md(e,{helper:t,removeHelper:n,inSSR:r}){e.isBlock||(e.isBlock=!0,n(Ad(r,e.isComponent)),t(Ru),t(jd(r,e.isComponent)))}var Nd=new Uint8Array([123,123]),Pd=new Uint8Array([125,125]);function Fd(e){return e>=97&&e<=122||e>=65&&e<=90}function Id(e){return e===32||e===10||e===9||e===12||e===13}function Ld(e){return e===47||e===62||Id(e)}function Rd(e){let t=new Uint8Array(e.length);for(let n=0;n100){let t=-1,n=r;for(;t+1>>1;this.newlines[r]=0;t--)if(e>this.newlines[t]){i=t;break}return i>=0&&(t=i+2,n=e-this.newlines[i]),{column:n,line:t,offset:e}}peek(){return this.buffer.charCodeAt(this.index+1)}stateText(e){e===60?(this.index>this.sectionStart&&this.cbs.ontext(this.sectionStart,this.index),this.state=5,this.sectionStart=this.index):!this.inVPre&&e===this.delimiterOpen[0]&&(this.state=2,this.delimiterIndex=0,this.stateInterpolationOpen(e))}stateInterpolationOpen(e){if(e===this.delimiterOpen[this.delimiterIndex]){if(this.delimiterIndex===this.delimiterOpen.length-1){let e=this.index+1-this.delimiterOpen.length;e>this.sectionStart&&this.cbs.ontext(this.sectionStart,e),this.state=3,this.sectionStart=e}else this.delimiterIndex++}else this.inRCDATA?(this.state=32,this.stateInRCDATA(e)):(this.state=1,this.stateText(e))}stateInterpolation(e){e===this.delimiterClose[0]&&(this.state=4,this.delimiterIndex=0,this.stateInterpolationClose(e))}stateInterpolationClose(e){e===this.delimiterClose[this.delimiterIndex]?this.delimiterIndex===this.delimiterClose.length-1?(this.cbs.oninterpolation(this.sectionStart,this.index+1),this.state=this.inRCDATA?32:1,this.sectionStart=this.index+1):this.delimiterIndex++:(this.state=3,this.stateInterpolation(e))}stateSpecialStartSequence(e){let t=this.sequenceIndex===this.currentSequence.length;if(!(t?Ld(e):(e|32)===this.currentSequence[this.sequenceIndex]))this.inRCDATA=!1;else if(!t){this.sequenceIndex++;return}this.sequenceIndex=0,this.state=6,this.stateInTagName(e)}stateInRCDATA(e){if(this.sequenceIndex===this.currentSequence.length){if(e===62||Id(e)){let t=this.index-this.currentSequence.length;if(this.sectionStart=e||(this.state===28?this.currentSequence===zd.CdataEnd?this.cbs.oncdata(this.sectionStart,e):this.cbs.oncomment(this.sectionStart,e):this.state===6||this.state===11||this.state===18||this.state===17||this.state===12||this.state===13||this.state===14||this.state===15||this.state===16||this.state===20||this.state===19||this.state===21||this.state===9||this.cbs.ontext(this.sectionStart,e))}emitCodePoint(e,t){}};function Vd(e,{compatConfig:t}){let n=t&&t[e];return e===`MODE`?n||3:n}function Hd(e,t){let n=Vd(`MODE`,t),r=Vd(e,t);return n===3?r===!0:r!==!1}function Ud(e,t,n,...r){return Hd(e,t)}function Wd(e){throw e}function Gd(e){}function K(e,t,n,r){let i=`https://vuejs.org/error-reference/#compiler-${e}`,a=SyntaxError(String(i));return a.code=e,a.loc=t,a}var Kd=e=>e.type===4&&e.isStatic;function qd(e){switch(e){case`Teleport`:case`teleport`:return Pu;case`Suspense`:case`suspense`:return Fu;case`KeepAlive`:case`keep-alive`:return Iu;case`BaseTransition`:case`base-transition`:return Lu}}var Jd=/^$|^\d|[^\$\w\xA0-\uFFFF]/,Yd=e=>!Jd.test(e),Xd=/[A-Za-z_$\xA0-\uFFFF]/,Zd=/[\.\?\w$\xA0-\uFFFF]/,Qd=/\s+[.[]\s*|\s*[.[]\s+/g,$d=e=>e.type===4?e.content:e.loc.source,ef=e=>{let t=$d(e).trim().replace(Qd,e=>e.trim()),n=0,r=[],i=0,a=0,o=null;for(let e=0;e|^\s*(?:async\s+)?function(?:\s+[\w$]+)?\s*\(/,nf=e=>tf.test($d(e));function rf(e,t,n=!1){for(let r=0;re.type===7&&e.name===`bind`&&(!e.arg||e.arg.type!==4||!e.arg.isStatic))}function cf(e){return e.type===5||e.type===2}function lf(e){return e.type===7&&e.name===`pre`}function uf(e){return e.type===7&&e.name===`slot`}function df(e){return e.type===1&&e.tagType===3}function ff(e){return e.type===1&&e.tagType===2}var pf=new Set([id,ad]);function mf(e,t=[]){if(e&&!v(e)&&e.type===14){let n=e.callee;if(!v(n)&&pf.has(n))return mf(e.arguments[0],t.concat(e))}return[e,t]}function hf(e,t,n){if(e.type!==13&&gf(e,t))return;let r,i=e.type===13?e.props:e.arguments[2],a=[],o;if(i&&!v(i)&&i.type===14){let e=mf(i);i=e[0],a=e[1],o=a[a.length-1]}if(i==null||v(i))r=wd([t]);else if(i.type===14){let e=i.arguments[0];!v(e)&&e.type===15?_f(t,e)||e.properties.unshift(t):i.callee===od?r=G(n.helper(td),[wd([t]),i]):i.arguments.unshift(wd([t])),!r&&(r=i)}else i.type===15?(_f(t,i)||i.properties.unshift(t),r=i):(r=G(n.helper(td),[wd([t]),i]),o&&o.callee===ad&&(o=a[a.length-2]));e.type===13?o?o.arguments[0]=r:e.props=r:o?o.arguments[0]=r:e.arguments[2]=r}function gf(e,t){var n,r,i;if(t.key.type!==4||t.key.content!==`key`)return!1;let a=e.arguments[2];if(a&&!v(a)){let[e]=mf(a);if(e&&!v(e)&&e.type===15&&_f(t,e))return!0}return(n=e.arguments)[2]||(n[2]=`{}`),(r=e.arguments)[3]||(r[3]=`undefined`),(i=e.arguments)[4]||(i[4]=`undefined`),e.arguments[5]=t.value,!0}function _f(e,t){let n=!1;if(e.key.type===4){let r=e.key.content;n=t.properties.some(e=>e.key.type===4&&e.key.content===r)}return n}function vf(e,t){return`_${t}_${e.replace(/[^\w]/g,(t,n)=>t===`-`?`_`:e.charCodeAt(n).toString())}`}function yf(e){return e.type===14&&e.callee===gd?e.arguments[1].returns:e}var bf=/([\s\S]*?)\s+(?:in|of)\s+(\S[\s\S]*)/;function xf(e){for(let t=0;t0,isVoidTag:a,isPreTag:a,isIgnoreNewlineTag:a,isCustomElement:a,onError:Wd,onWarn:Gd,comments:!1,prefixIdentifiers:!1},q=wf,Tf=null,Ef=``,Df=null,J=null,Of=``,kf=-1,Af=-1,jf=0,Mf=!1,Nf=null,Y=[],X=new Bd(Y,{onerr:tp,ontext(e,t){Rf(Z(e,t),e,t)},ontextentity(e,t,n){Rf(e,t,n)},oninterpolation(e,t){if(Mf)return Rf(Z(e,t),e,t);let n=e+X.delimiterOpen.length,r=t-X.delimiterClose.length;for(;Id(Ef.charCodeAt(n));)n++;for(;Id(Ef.charCodeAt(r-1));)r--;let i=Z(n,r);i.includes(`&`)&&(i=q.decodeEntities(i,!1)),Xf({type:5,content:ep(i,!1,Q(n,r)),loc:Q(e,t)})},onopentagname(e,t){let n=Z(e,t);Df={type:1,tag:n,ns:q.getNamespace(n,Y[0],q.ns),tagType:0,props:[],children:[],loc:Q(e-1,t),codegenNode:void 0}},onopentagend(e){Lf(e)},onclosetag(e,t){let n=Z(e,t);if(!q.isVoidTag(n)){let r=!1;for(let e=0;e0&&tp(24,Y[0].loc.start.offset);for(let n=0;n<=e;n++)zf(Y.shift(),t,n(e.type===7?e.rawName:e.name)===n)&&tp(2,t)},onattribend(e,t){if(Df&&J){if(Qf(J.loc,t),e!==0){if(Of.includes(`&`)&&(Of=q.decodeEntities(Of,!0)),J.type===6)J.name===`class`&&(Of=Yf(Of).trim()),e===1&&!Of&&tp(13,t),J.value={type:2,content:Of,loc:e===1?Q(kf,Af):Q(kf-1,Af+1)},X.inSFCRoot&&Df.tag===`template`&&J.name===`lang`&&Of&&Of!==`html`&&X.enterRCDATA(Rd(`e.content===`sync`))>-1&&Ud(`COMPILER_V_BIND_SYNC`,q,J.loc,J.arg.loc.source)&&(J.name=`model`,J.modifiers.splice(e,1))}}(J.type!==7||J.name!==`pre`)&&Df.props.push(J)}Of=``,kf=Af=-1},oncomment(e,t){q.comments&&Xf({type:3,content:Z(e,t),loc:Q(e-4,t+3)})},onend(){let e=Ef.length;for(let t=0;t{let i=t.start.offset+n;return ep(e,!1,Q(i,i+e.length),0,+!!r)},s={source:o(a.trim(),n.indexOf(a,i.length)),value:void 0,key:void 0,index:void 0,finalized:!1},c=i.trim().replace(Ff,``).trim(),l=i.indexOf(c),u=c.match(Pf);if(u){c=c.replace(Pf,``).trim();let e=u[1].trim(),t;if(e&&(t=n.indexOf(e,l+c.length),s.key=o(e,t,!0)),u[2]){let r=u[2].trim();r&&(s.index=o(r,n.indexOf(r,s.key?t+e.length:l+c.length),!0))}}return c&&(s.value=o(c,l,!0)),s}function Z(e,t){return Ef.slice(e,t)}function Lf(e){X.inSFCRoot&&(Df.innerLoc=Q(e+1,e+1)),Xf(Df);let{tag:t,ns:n}=Df;n===0&&q.isPreTag(t)&&jf++,q.isVoidTag(t)?zf(Df,e):(Y.unshift(Df),(n===1||n===2)&&(X.inXML=!0)),Df=null}function Rf(e,t,n){{let t=Y[0]&&Y[0].tag;t!==`script`&&t!==`style`&&e.includes(`&`)&&(e=q.decodeEntities(e,!1))}let r=Y[0]||Tf,i=r.children[r.children.length-1];i&&i.type===2?(i.content+=e,Qf(i.loc,n)):r.children.push({type:2,content:e,loc:Q(t,n)})}function zf(e,t,n=!1){n?Qf(e.loc,Vf(t,60)):Qf(e.loc,Bf(t,62)+1),X.inSFCRoot&&(e.children.length?e.innerLoc.end=c({},e.children[e.children.length-1].loc.end):e.innerLoc.end=c({},e.innerLoc.start),e.innerLoc.source=Z(e.innerLoc.start.offset,e.innerLoc.end.offset));let{tag:r,ns:i,children:a}=e;if(Mf||(r===`slot`?e.tagType=2:Uf(e)?e.tagType=3:Wf(e)&&(e.tagType=1)),X.inRCDATA||(e.children=qf(a)),i===0&&q.isIgnoreNewlineTag(r)){let e=a[0];e&&e.type===2&&(e.content=e.content.replace(/^\r?\n/,``))}i===0&&q.isPreTag(r)&&jf--,Nf===e&&(Mf=X.inVPre=!1,Nf=null),X.inXML&&(Y[0]?Y[0].ns:q.ns)===0&&(X.inXML=!1);{let t=e.props;if(!X.inSFCRoot&&Hd(`COMPILER_NATIVE_TEMPLATE`,q)&&e.tag===`template`&&!Uf(e)){let t=Y[0]||Tf,n=t.children.indexOf(e);t.children.splice(n,1,...e.children)}let n=t.find(e=>e.type===6&&e.name===`inline-template`);n&&Ud(`COMPILER_INLINE_TEMPLATE`,q,n.loc)&&e.children.length&&(n.value={type:2,content:Z(e.children[0].loc.start.offset,e.children[e.children.length-1].loc.end.offset),loc:n.loc})}}function Bf(e,t){let n=e;for(;Ef.charCodeAt(n)!==t&&n=0;)n--;return n}var Hf=new Set([`if`,`else`,`else-if`,`for`,`slot`]);function Uf({tag:e,props:t}){if(e===`template`){for(let e=0;e64&&e<91}var Kf=/\r\n/g;function qf(e){let t=q.whitespace!==`preserve`,n=!1;for(let r=0;re.type!==3);return t.length===1&&t[0].type===1&&!ff(t[0])?t[0]:null}function op(e,t,n,r=!1,i=!1){let{children:a}=e,o=[];for(let t=0;t0){if(e>=2){s.codegenNode.patchFlag=-1,o.push(s);continue}}else{let e=s.codegenNode;if(e.type===13){let t=e.patchFlag;if((t===void 0||t===512||t===1)&&up(s,n)>=2){let t=dp(s);t&&(e.props=n.hoist(t))}e.dynamicProps&&=n.hoist(e.dynamicProps)}}}else if(s.type===12&&(r?0:sp(s,n))>=2){s.codegenNode.type===14&&s.codegenNode.arguments.length>0&&s.codegenNode.arguments.push(`-1`),o.push(s);continue}if(s.type===1){let t=s.tagType===1;t&&n.scopes.vSlot++,op(s,e,n,!1,i),t&&n.scopes.vSlot--}else if(s.type===11)op(s,e,n,s.children.length===1,!0);else if(s.type===9)for(let t=0;te.key===t||e.key.content===t);return n&&n.value}}o.length&&n.transformHoist&&n.transformHoist(a,n,e)}function sp(e,t){let{constantCache:n}=t;switch(e.type){case 1:if(e.tagType!==0)return 0;let r=n.get(e);if(r!==void 0)return r;let i=e.codegenNode;if(i.type!==13||i.isBlock&&e.tag!==`svg`&&e.tag!==`foreignObject`&&e.tag!==`math`)return 0;if(i.patchFlag===void 0){let r=3,a=up(e,t);if(a===0)return n.set(e,0),0;a1)for(let i=0;in&&(D.childIndex--,D.onNodeRemoved()),D.parent.children.splice(n,1)},onNodeRemoved:i,addIdentifiers(e){},removeIdentifiers(e){},hoist(e){v(e)&&(e=W(e)),D.hoists.push(e);let t=W(`_hoisted_${D.hoists.length}`,!1,e.loc,2);return t.hoisted=e,t},cache(e,t=!1,n=!1){let r=Od(D.cached.length,e,t,n);return D.cached.push(r),r}};return D.filters=new Set,D}function pp(e,t){let n=fp(e,t);gp(e,n),t.hoistStatic&&ip(e,n),t.ssr||mp(e,n),e.helpers=new Set([...n.helpers.keys()]),e.components=[...n.components],e.directives=[...n.directives],e.imports=n.imports,e.hoists=n.hoists,e.temps=n.temps,e.cached=n.cached,e.transformed=!0,e.filters=[...n.filters]}function mp(e,t){let{helper:n}=t,{children:r}=e;if(r.length===1){let n=ap(e);if(n&&n.codegenNode){let r=n.codegenNode;r.type===13&&Md(r,t),e.codegenNode=r}else e.codegenNode=r[0]}else r.length>1&&(e.codegenNode=Sd(t,n(Nu),void 0,e.children,64,void 0,void 0,!0,void 0,!1))}function hp(e,t){let n=0,r=()=>{n--};for(;nt===e:t=>e.test(t);return(e,r)=>{if(e.type===1){let{props:i}=e;if(e.tagType===3&&i.some(uf))return;let a=[];for(let o=0;o`${vd[e]}: _${vd[e]}`;function bp(e,{mode:t=`function`,prefixIdentifiers:n=t===`module`,sourceMap:r=!1,filename:i=`template.vue.html`,scopeId:a=null,optimizeImports:o=!1,runtimeGlobalName:s=`Vue`,runtimeModuleName:c=`vue`,ssrRuntimeModuleName:l=`vue/server-renderer`,ssr:u=!1,isTS:d=!1,inSSR:f=!1}){let p={mode:t,prefixIdentifiers:n,sourceMap:r,filename:i,scopeId:a,optimizeImports:o,runtimeGlobalName:s,runtimeModuleName:c,ssrRuntimeModuleName:l,ssr:u,isTS:d,inSSR:f,source:e.source,code:``,column:1,line:1,offset:0,indentLevel:0,pure:!1,map:void 0,helper(e){return`_${vd[e]}`},push(e,t=-2,n){p.code+=e},indent(){m(++p.indentLevel)},deindent(e=!1){e?--p.indentLevel:m(--p.indentLevel)},newline(){m(p.indentLevel)}};function m(e){p.push(` +`+` `.repeat(e),0)}return p}function xp(e,t={}){let n=bp(e,t);t.onContextCreated&&t.onContextCreated(n);let{mode:r,push:i,prefixIdentifiers:a,indent:o,deindent:s,newline:c,scopeId:l,ssr:u}=n,d=Array.from(e.helpers),f=d.length>0,p=!a&&r!==`module`;if(Sp(e,n),i(`function ${u?`ssrRender`:`render`}(${(u?[`_ctx`,`_push`,`_parent`,`_attrs`]:[`_ctx`,`_cache`]).join(`, `)}) {`),o(),p&&(i(`with (_ctx) {`),o(),f&&(i(`const { ${d.map(yp).join(`, `)} } = _Vue +`,-1),c())),e.components.length&&(Cp(e.components,`component`,n),(e.directives.length||e.temps>0)&&c()),e.directives.length&&(Cp(e.directives,`directive`,n),e.temps>0&&c()),e.filters&&e.filters.length&&(c(),Cp(e.filters,`filter`,n),c()),e.temps>0){i(`let `);for(let t=0;t0?`, `:``}_temp${t}`)}return(e.components.length||e.directives.length||e.temps)&&(i(` +`,0),c()),u||i(`return `),e.codegenNode?Dp(e.codegenNode,n):i(`null`),p&&(s(),i(`}`)),s(),i(`}`),{ast:e,code:n.code,preamble:``,map:n.map?n.map.toJSON():void 0}}function Sp(e,t){let{ssr:n,prefixIdentifiers:r,push:i,newline:a,runtimeModuleName:o,runtimeGlobalName:s,ssrRuntimeModuleName:c}=t,l=s,u=Array.from(e.helpers);u.length>0&&(i(`const _Vue = ${l} +`,-1),e.hoists.length&&i(`const { ${[Vu,Hu,Uu,Wu,Gu].filter(e=>u.includes(e)).map(yp).join(`, `)} } = _Vue +`,-1)),wp(e.hoists,t),a(),i(`return `)}function Cp(e,t,{helper:n,push:r,newline:i,isTS:a}){let o=n(t===`filter`?Yu:t===`component`?Ku:Ju);for(let n=0;n3||!1;t.push(`[`),n&&t.indent(),Ep(e,t,n),n&&t.deindent(),t.push(`]`)}function Ep(e,t,n=!1,r=!0){let{push:i,newline:a}=t;for(let o=0;oe||`null`)}function Ip(e,t){let{push:n,helper:r,pure:i}=t,a=v(e.callee)?e.callee:r(e.callee);i&&n(vp),n(a+`(`,-2,e),Ep(e.arguments,t),n(`)`)}function Lp(e,t){let{push:n,indent:r,deindent:i,newline:a}=t,{properties:o}=e;if(!o.length){n(`{}`,-2,e);return}let s=o.length>1||!1;n(s?`{`:`{ `),s&&r();for(let e=0;e `),(c||s)&&(n(`{`),r()),o?(c&&n(`return `),f(o)?Tp(o,t):Dp(o,t)):s&&Dp(s,t),(c||s)&&(i(),n(`}`)),l&&(e.isNonScopedSlot&&n(`, undefined, true`),n(`)`))}function Bp(e,t){let{test:n,consequent:r,alternate:i,newline:a}=e,{push:o,indent:s,deindent:c,newline:l}=t;if(n.type===4){let e=!Yd(n.content);e&&o(`(`),kp(n,t),e&&o(`)`)}else o(`(`),Dp(n,t),o(`)`);a&&s(),t.indentLevel++,a||o(` `),o(`? `),Dp(r,t),t.indentLevel--,a&&l(),a||o(` `),o(`: `);let u=i.type===19;u||t.indentLevel++,Dp(i,t),u||t.indentLevel--,a&&c(!0)}function Vp(e,t){let{push:n,helper:r,indent:i,deindent:a,newline:o}=t,{needPauseTracking:s,needArraySpread:c}=e;c&&n(`[...(`),n(`_cache[${e.index}] || (`),s&&(i(),n(`${r(ud)}(-1`),e.inVOnce&&n(`, true`),n(`),`),o(),n(`(`)),n(`_cache[${e.index}] = `),Dp(e.value,t),s&&(n(`).cacheIndex = ${e.index},`),o(),n(`${r(ud)}(1),`),o(),n(`_cache[${e.index}]`),a()),n(`)`),c&&n(`)]`)}RegExp(`\\b`+`arguments,await,break,case,catch,class,const,continue,debugger,default,delete,do,else,export,extends,finally,for,function,if,import,let,new,return,super,switch,throw,try,var,void,while,with,yield`.split(`,`).join(`\\b|\\b`)+`\\b`);var Hp=_p(/^(?:if|else|else-if)$/,(e,t,n)=>Up(e,t,n,(e,t,r)=>{let i=n.parent.children,a=i.indexOf(e),o=0;for(;a-->=0;){let e=i[a];e&&e.type===9&&(o+=e.branches.length)}return()=>{if(r)e.codegenNode=Gp(t,o,n);else{let r=qp(e.codegenNode);r.alternate=Gp(t,o+e.branches.length-1,n)}}}));function Up(e,t,n,r){if(t.name!==`else`&&(!t.exp||!t.exp.content.trim())){let r=t.exp?t.exp.loc:e.loc;n.onError(K(28,t.loc)),t.exp=W(`true`,!1,r)}if(t.name===`if`){let i=Wp(e,t),a={type:9,loc:Zf(e.loc),branches:[i]};if(n.replaceNode(a),r)return r(a,i,!0)}else{let i=n.parent.children,a=i.indexOf(e);for(;a-->=-1;){let o=i[a];if(o&&Cf(o)){n.removeNode(o);continue}if(o&&o.type===9){(t.name===`else-if`||t.name===`else`)&&o.branches[o.branches.length-1].condition===void 0&&n.onError(K(30,e.loc)),n.removeNode();let i=Wp(e,t);o.branches.push(i);let a=r&&r(o,i,!1);gp(i,n),a&&a(),n.currentNode=null}else n.onError(K(30,e.loc));break}}}function Wp(e,t){let n=e.tagType===3;return{type:10,loc:e.loc,condition:t.name===`else`?void 0:t.exp,children:n&&!rf(e,`for`)?e.children:[e],userKey:af(e,`key`),isTemplateIf:n}}function Gp(e,t,n){return e.condition?Dd(e.condition,Kp(e,t,n),G(n.helper(Uu),[`""`,`true`])):Kp(e,t,n)}function Kp(e,t,n){let{helper:r}=n,i=U(`key`,W(`${t}`,!1,bd,2)),{children:a}=e,o=a[0];if(a.length!==1||o.type!==1){if(a.length===1&&o.type===11){let e=o.codegenNode;return hf(e,i,n),e}return Sd(n,r(Nu),wd([i]),a,64,void 0,void 0,!0,!1,!1,e.loc)}{let e=o.codegenNode,t=yf(e);return t.type===13&&Md(t,n),hf(t,i,n),e}}function qp(e){for(;;)if(e.type===19){if(e.alternate.type===19)e=e.alternate;else return e}else e.type===20&&(e=e.value)}var Jp=_p(`for`,(e,t,n)=>{let{helper:r,removeHelper:i}=n;return Yp(e,t,n,t=>{let a=G(r(Zu),[t.source]),o=df(e),s=rf(e,`memo`),c=af(e,`key`,!1,!0);c&&c.type;let l=c&&(c.type===6?c.value?W(c.value.content,!0):void 0:c.exp),u=l?U(`key`,l):null,d=t.source.type===4&&t.source.constType>0,f=d?64:c?128:256;return t.codegenNode=Sd(n,r(Nu),void 0,a,f,void 0,void 0,!0,!d,!1,e.loc),()=>{let c,{children:f}=t,p=f.length!==1||f[0].type!==1,m=ff(e)?e:o&&e.children.length===1&&ff(e.children[0])?e.children[0]:null;if(m)c=m.codegenNode,o&&u&&hf(c,u,n);else if(p)c=Sd(n,r(Nu),u?wd([u]):void 0,e.children,64,void 0,void 0,!0,void 0,!1);else{c=f[0].codegenNode,o&&u&&hf(c,u,n);let e=!d||c.isBlockRequired===!0;c.isBlock!==e&&(c.isBlock?(i(Ru),i(jd(n.inSSR,c.isComponent))):i(Ad(n.inSSR,c.isComponent))),c.isBlock=e,c.isBlock?(r(Ru),r(jd(n.inSSR,c.isComponent))):(r(Ad(n.inSSR,c.isComponent)),c.needsPatch&&(c.patchFlag=(c.patchFlag??0)|512))}if(s){let e=Ed(Zp(t.parseResult,[W(`_cached`)]));e.body=kd([Td([`const _memo = (`,s.exp,`)`]),Td([`if (_cached && _cached.el`,...l?[` && _cached.key === `,l]:[],` && ${n.helperString(_d)}(_cached, _memo)) return _cached`]),Td([`const _item = `,c]),W(`_item.memo = _memo`),W(`return _item`)]),a.arguments.push(e,W(`_cache`),W(String(n.cached.length))),n.cached.push(null)}else a.arguments.push(Ed(Zp(t.parseResult),c,!0))}})});function Yp(e,t,n,r){if(!t.exp){n.onError(K(31,t.loc));return}let i=t.forParseResult;if(!i){n.onError(K(32,t.loc));return}Xp(i,n);let{addIdentifiers:a,removeIdentifiers:o,scopes:s}=n,{source:c,value:l,key:u,index:d}=i,f={type:11,loc:t.loc,source:c,valueAlias:l,keyAlias:u,objectIndexAlias:d,parseResult:i,children:df(e)?e.children:[e]};n.replaceNode(f),s.vFor++;let p=r&&r(f);return()=>{s.vFor--,p&&p()}}function Xp(e,t){e.finalized||=!0}function Zp({value:e,key:t,index:n},r=[]){return Qp([e,t,n,...r])}function Qp(e){let t=e.length;for(;t--&&!e[t];);return e.slice(0,t+1).map((e,t)=>e||W(`_`.repeat(t+1),!1))}var $p=W(`undefined`,!1),em=(e,t)=>{if(e.type===1&&(e.tagType===1||e.tagType===3)){let n=rf(e,`slot`);if(n)return n.exp,t.scopes.vSlot++,()=>{t.scopes.vSlot--}}},tm=(e,t,n,r)=>Ed(e,n,!1,!0,n.length?n[0].loc:r);function nm(e,t,n=tm){t.helper(pd);let{children:r,loc:i}=e,a=[],o=[],s=t.scopes.vSlot>0||t.scopes.vFor>0,c=rf(e,`slot`,!0);if(c){let{arg:e,exp:t}=c;e&&!Kd(e)&&(s=!0),a.push(U(e||W(`default`,!0),n(t,void 0,r,i)))}let l=!1,u=!1,d=[],f=new Set,p=0;for(let e=0;e{let a=n(e,void 0,r,i);return t.compatConfig&&(a.isNonScopedSlot=!0),U(`default`,a)};l?d.length&&!d.every(Sf)&&(u?t.onError(K(39,d[0].loc)):a.push(e(void 0,d))):a.push(e(void 0,r))}let m=s?2:im(e.children)?3:1,h=wd(a.concat(U(`_`,W(m+``,!1))),i);return o.length&&(h=G(t.helper($u),[h,Cd(o)])),{slots:h,hasDynamicSlots:s}}function rm(e,t,n){let r=[U(`name`,e),U(`fn`,t)];return n!=null&&r.push(U(`key`,W(String(n),!0))),wd(r)}function im(e){for(let t=0;tfunction(){if(e=t.currentNode,e.type!==1||e.tagType!==0&&e.tagType!==1)return;let{tag:n,props:r}=e,i=e.tagType===1,a=i?sm(e,t):`"${n}"`,o=b(a)&&a.callee===qu,s,c,l=0,u,d,f,p=!1,m=!1,h=o||a===Pu||a===Fu||!i&&(n===`svg`||n===`foreignObject`||n===`math`);if(r.length>0){let n=cm(e,t,void 0,i,o);s=n.props,l=n.patchFlag,d=n.dynamicPropNames,p=n.needsPatch,m=n.isBlockRequired;let r=n.directives;f=r&&r.length?Cd(r.map(e=>dm(e,t))):void 0,n.shouldUseBlock&&(h=!0)}if(e.children.length>0){if(a===Iu&&(h=!0,l|=1024),i&&a!==Pu&&a!==Iu){let{slots:n,hasDynamicSlots:r}=nm(e,t);c=n,r&&(l|=1024)}else if(e.children.length===1&&a!==Pu){let n=e.children[0],r=n.type,i=r===5||r===8;i&&sp(n,t)===0&&(l|=1),c=i||r===2?n:e.children}else c=e.children}d&&d.length&&(u=fm(d));let g=e.codegenNode=Sd(t,a,s,c,l===0?void 0:l,u,f,!!h,!1,i,e.loc);p&&=l===0||l===32,p&&(g.needsPatch=!0),m&&(g.isBlockRequired=!0)};function sm(e,t,n=!1){let{tag:r}=e,i=pm(r),a=af(e,`is`,!1,!0);if(a){if(i||Hd(`COMPILER_IS_ON_ELEMENT`,t)){let e;if(a.type===6?e=a.value&&W(a.value.content,!0):(e=a.exp,e||=W(`is`,!1,a.arg.loc)),e)return G(t.helper(qu),[e])}else a.type===6&&a.value.content.startsWith(`vue:`)&&(r=a.value.content.slice(4))}let o=qd(r)||t.isBuiltInComponent(r);return o?(n||t.helper(o),o):(t.helper(Ku),t.components.add(r),vf(r,`component`))}function cm(e,t,n=e.props,r,i,a=!1){let{tag:s,loc:c,children:l}=e,u=[],d=[],f=[],p=l.length>0,m=!1,h=!1,g=0,_=!1,v=!1,b=!1,x=!1,S=!1,C=!1,w=[],T=e=>{u.length&&(d.push(wd(lm(u),c)),u=[]),e&&d.push(e)},E=()=>{t.scopes.vFor>0&&u.push(U(W(`ref_for`,!0),W(`true`)))},te=({key:e,value:n})=>{if(Kd(e)){let a=e.content,s=o(a);if(s&&(!r||i)&&a.toLowerCase()!==`onclick`&&a!==`onUpdate:modelValue`&&!D(a)&&(x=!0),s&&D(a)&&(C=!0),a===`ref`&&(_=!0),s&&n.type===14&&(n=n.arguments[0]),n.type===20||(n.type===4||n.type===8)&&sp(n,t)>0)return;a===`class`?v=!0:a===`style`?b=!0:a!==`ref`&&a!==`key`&&!w.includes(a)&&w.push(a),r&&(a===`class`||a===`style`)&&!w.includes(a)&&w.push(a)}else S=!0};for(let i=0;ie.content===`prop`)&&(g|=32);let C=t.directiveTransforms[n];if(C){let{props:n,needRuntime:r}=C(o,e,t);!a&&n.forEach(te),x&&i&&!Kd(i)?T(wd(n,c)):u.push(...n),r&&(f.push(o),y(r)&&am.set(o,r))}else ee(n)||(f.push(o),p&&(m=!0,h=!0))}}let O;d.length?(T(),O=d.length>1?G(t.helper(td),d,c):d[0]):u.length&&(O=wd(lm(u),c)),S?g|=16:(v&&!r&&(g|=2),b&&!r&&(g|=4),w.length&&(g|=8),x&&(g|=32));let ne=(g===0||g===32)&&(_||C||f.length>0);if(!m&&ne&&(g|=512),!t.inSSR&&O)switch(O.type){case 15:let e=-1,n=-1,r=!1;for(let t=0;tU(e,t)),i))}return Cd(n,e.loc)}function fm(e){let t=`[`;for(let n=0,r=e.length;n{if(ff(e)){let{children:n,loc:r}=e,{slotName:i,slotProps:a}=hm(e,t),o=[t.prefixIdentifiers?`_ctx.$slots`:`$slots`,i,`{}`,`undefined`,`true`],s=2;a&&(o[2]=a,s=3),n.length&&(o[3]=Ed([],n,!1,!1,r),s=4),t.scopeId&&!t.slotted&&(s=5),o.splice(s),e.codegenNode=G(t.helper(Qu),o,r)}};function hm(e,t){let n=`"default"`,r,i=[];for(let t=0;t0){let{props:n,directives:a}=cm(e,t,i,!1,!1);r=n,a.length&&t.onError(K(36,a[0].loc))}return{slotName:n,slotProps:r}}var gm=(e,t,n,r)=>{let{loc:i,modifiers:a,arg:o}=e;!e.exp&&!a.length&&n.onError(K(35,i));let s;if(o.type===4){if(o.isStatic){let e=o.content;e.startsWith(`vue:`)&&(e=`vnode-${e.slice(4)}`),s=W(t.tagType!==0||e.startsWith(`vnode`)||!/[A-Z]/.test(e)?j(k(e)):`on:${e}`,!0,o.loc)}else s=Td([`${n.helperString(ld)}(`,o,`)`])}else s=o,s.children.unshift(`${n.helperString(ld)}(`),s.children.push(`)`);let c=e.exp;c&&!c.content.trim()&&(c=void 0);let l=n.cacheHandlers&&!c&&!n.inVOnce;if(c){let e=ef(c),t=!(e||nf(c)),n=c.content.includes(`;`);(t||l&&e)&&(c=Td([`${t?`$event`:`(...args)`} => ${n?`{`:`(`}`,c,n?`}`:`)`]))}let u={props:[U(s,c||W(`() => {}`,!1,i))]};return r&&(u=r(u)),l&&(u.props[0].value=n.cache(u.props[0].value)),u.props.forEach(e=>e.key.isHandlerKey=!0),u},_m=(e,t,n)=>{let{modifiers:r,loc:i}=e,a=e.arg,{exp:o}=e;return o&&o.type===4&&!o.content.trim()&&(o=void 0),a.type===4?a.isStatic||(a.content=a.content?`${a.content} || ""`:`""`):(a.children.unshift(`(`),a.children.push(`) || ""`)),r.some(e=>e.content===`camel`)&&(a.type===4?a.content=a.isStatic?k(a.content):`${n.helperString(sd)}(${a.content})`:(a.children.unshift(`${n.helperString(sd)}(`),a.children.push(`)`))),n.inSSR||(r.some(e=>e.content===`prop`)&&vm(a,`.`),r.some(e=>e.content===`attr`)&&vm(a,`^`)),{props:[U(a,o)]}},vm=(e,t)=>{e.type===4?e.content=e.isStatic?t+e.content:`\`${t}\${${e.content}}\``:(e.children.unshift(`'${t}' + (`),e.children.push(`)`))},ym=(e,t)=>{if(e.type===0||e.type===1||e.type===11||e.type===10)return()=>{let n=e.children,r,i=!1;for(let e=0;ee.type===7&&!t.directiveTransforms[e.name])&&e.tag!==`template`)))for(let e=0;e{if(e.type===1&&rf(e,`once`,!0))return bm.has(e)||t.inVOnce||t.inSSR?void 0:(bm.add(e),t.inVOnce=!0,t.helper(ud),()=>{t.inVOnce=!1;let e=t.currentNode;e.codegenNode&&=t.cache(e.codegenNode,!0,!0)})},Sm=(e,t,n)=>{let{exp:r,arg:i}=e;if(!r)return n.onError(K(41,e.loc)),Cm();let a=r.loc.source.trim(),o=r.type===4?r.content:a,s=n.bindingMetadata[a];if(s===`props`||s===`props-aliased`)return n.onError(K(44,r.loc)),Cm();if(s===`literal-const`||s===`setup-const`)return n.onError(K(45,r.loc)),Cm();if(!o.trim()||!ef(r))return n.onError(K(42,r.loc)),Cm();let c=i||W(`modelValue`,!0),l=i?Kd(i)?`onUpdate:${k(i.content)}`:Td([`"onUpdate:" + `,i]):`onUpdate:modelValue`,u;u=Td([`${n.isTS?`($event: any)`:`$event`} => ((`,r,`) = $event)`]);let d=[U(c,e.exp),U(l,u)];if(e.modifiers.length&&t.tagType===1){let t=e.modifiers.map(e=>e.content).map(e=>(Yd(e)?e:JSON.stringify(e))+`: true`).join(`, `),n=i?Kd(i)?`${i.content}Modifiers`:Td([i,` + "Modifiers"`]):`modelModifiers`;d.push(U(n,W(`{ ${t} }`,!1,e.loc,2)))}return Cm(d)};function Cm(e=[]){return{props:e}}var wm=/[\w).+\-_$\]]/,Tm=(e,t)=>{Hd(`COMPILER_FILTERS`,t)&&(e.type===5?Em(e.content,t):e.type===1&&e.props.forEach(e=>{e.type===7&&e.name!==`for`&&e.exp&&Em(e.exp,t)}))};function Em(e,t){if(e.type===4)Dm(e,t);else for(let n=0;n=0&&(t=n.charAt(e),t===` `);e--);(!t||!wm.test(t))&&(o=!0)}}m===void 0?m=n.slice(0,p).trim():u!==0&&g();function g(){h.push(n.slice(u,p).trim()),u=p+1}if(h.length){for(p=0;p{if(e.type===1){let n=rf(e,`memo`);return!n||km.has(e)||t.inSSR?void 0:(km.add(e),()=>{let r=e.codegenNode||t.currentNode.codegenNode;r&&r.type===13&&(e.tagType!==1&&Md(r,t),e.codegenNode=G(t.helper(gd),[n.exp,Ed(void 0,r),`_cache`,String(t.cached.length)]),t.cached.push(null))})}},jm=(e,t)=>{if(e.type===1){for(let n of e.props)if(n.type===7&&n.name===`bind`&&(!n.exp||n.exp.type===4&&!n.exp.content.trim())&&n.arg){let e=n.arg;if(e.type!==4||!e.isStatic)t.onError(K(53,e.loc)),n.exp=W(``,!0,e.loc);else{let t=k(e.content);(Xd.test(t[0])||t[0]===`-`)&&(n.exp=W(t,!1,e.loc))}}}};function Mm(e){return[[jm,xm,Hp,Am,Jp,Tm,mm,om,em,ym],{on:gm,bind:_m,model:Sm}]}function Nm(e,t={}){let n=t.onError||Wd,r=t.mode===`module`;t.prefixIdentifiers===!0?n(K(48)):r&&n(K(49)),t.cacheHandlers&&n(K(50)),t.scopeId&&!r&&n(K(51));let i=c({},t,{prefixIdentifiers:!1}),a=v(e)?rp(e,i):e,[o,s]=Mm();return pp(a,c({},i,{nodeTransforms:[...o,...t.nodeTransforms||[]],directiveTransforms:c({},s,t.directiveTransforms||{})})),xp(a,i)}var Pm=()=>({props:[]}),Fm=Symbol(``),Im=Symbol(``),Lm=Symbol(``),Rm=Symbol(``),zm=Symbol(``),Bm=Symbol(``),Vm=Symbol(``),Hm=Symbol(``),Um=Symbol(``),Wm=Symbol(``);yd({[Fm]:`vModelRadio`,[Im]:`vModelCheckbox`,[Lm]:`vModelText`,[Rm]:`vModelSelect`,[zm]:`vModelDynamic`,[Bm]:`withModifiers`,[Vm]:`withKeys`,[Hm]:`vShow`,[Um]:`Transition`,[Wm]:`TransitionGroup`});var Gm;function Km(e,t=!1){return Gm||=document.createElement(`div`),t?(Gm.innerHTML=`
`,Gm.children[0].getAttribute(`foo`)):(Gm.innerHTML=e,Gm.textContent)}var qm={parseMode:`html`,isVoidTag:Ee,isNativeTag:e=>Ce(e)||we(e)||Te(e),isPreTag:e=>e===`pre`,isIgnoreNewlineTag:e=>e===`pre`||e===`textarea`,decodeEntities:Km,isBuiltInComponent:e=>{if(e===`Transition`||e===`transition`)return Um;if(e===`TransitionGroup`||e===`transition-group`)return Wm},getNamespace(e,t,n){let r=t?t.ns:n;if(t&&r===2){if(t.tag===`annotation-xml`){if(e===`svg`)return 1;t.props.some(e=>e.type===6&&e.name===`encoding`&&e.value!=null&&(e.value.content===`text/html`||e.value.content===`application/xhtml+xml`))&&(r=0)}else/^m(?:[ions]|text)$/.test(t.tag)&&e!==`mglyph`&&e!==`malignmark`&&(r=0)}else t&&r===1&&(t.tag===`foreignObject`||t.tag===`desc`||t.tag===`title`)&&(r=0);if(r===0){if(e===`svg`)return 1;if(e===`math`)return 2}return r}},Jm=e=>{e.type===1&&e.props.forEach((t,n)=>{t.type===6&&t.name===`style`&&t.value&&(e.props[n]={type:7,name:`bind`,arg:W(`style`,!0,t.loc),exp:Ym(t.value.content,t.loc),modifiers:[],loc:t.loc})})},Ym=(e,t)=>{let n=ge(e);return W(JSON.stringify(n),!1,t,3)};function Xm(e,t){return K(e,t,void 0)}var Zm=(e,t,n)=>{let{exp:r,loc:i}=e;return r||n.onError(Xm(54,i)),t.children.length&&(n.onError(Xm(55,i)),t.children.length=0),{props:[U(W(`innerHTML`,!0,i),r||W(``,!0))]}},Qm=(e,t,n)=>{let{exp:r,loc:i}=e;return r||n.onError(Xm(56,i)),t.children.length&&(n.onError(Xm(57,i)),t.children.length=0),{props:[U(W(`textContent`,!0),r?sp(r,n)>0?r:G(n.helperString(ed),[r],i):W(``,!0))]}},$m=(e,t,n)=>{let r=Sm(e,t,n);if(!r.props.length||t.tagType===1)return r;e.arg&&n.onError(Xm(59,e.arg.loc));let{tag:i}=t,a=n.isCustomElement(i);if(i===`input`||i===`textarea`||i===`select`||a){let o=Lm,s=!1;if(i===`input`||a){let r=af(t,`type`);if(r){if(r.type===7)o=zm;else if(r.value)switch(r.value.content){case`radio`:o=Fm;break;case`checkbox`:o=Im;break;case`file`:s=!0,n.onError(Xm(60,e.loc))}}else sf(t)&&(o=zm)}else i===`select`&&(o=Rm);s||(r.needRuntime=n.helper(o))}else n.onError(Xm(58,e.loc));return r.props=r.props.filter(e=>e.key.type!==4||e.key.content!==`modelValue`),r},eh=t(`passive,once,capture`),th=t(`stop,prevent,self,ctrl,shift,alt,meta,exact,middle`),nh=t(`left,right`),rh=t(`onkeyup,onkeydown,onkeypress`),ih=(e,t,n,r)=>{let i=[],a=[],o=[];for(let s=0;sKd(e)&&e.content.toLowerCase()===`onclick`?W(t,!0):e.type===4?e:Td([`(`,e,`) === "onClick" ? "${t}" : (`,e,`)`]),oh=(e,t,n)=>gm(e,t,n,t=>{let{modifiers:r}=e;if(!r.length)return t;let{key:i,value:a}=t.props[0],{keyModifiers:o,nonKeyModifiers:s,eventOptionModifiers:c}=ih(i,r,n,e.loc);if(s.includes(`right`)&&(i=ah(i,`onContextmenu`)),s.includes(`middle`)&&(i=ah(i,`onMouseup`)),s.length&&(a=G(n.helper(Bm),[a,JSON.stringify(s)])),o.length&&(!Kd(i)||rh(i.content.toLowerCase()))&&(a=G(n.helper(Vm),[a,JSON.stringify(o)])),c.length){let e=c.map(re).join(``);i=Kd(i)?W(`${i.content}${e}`,!0):Td([`(`,i,`) + "${e}"`])}return{props:[U(i,a)]}}),sh=(e,t,n)=>{let{exp:r,loc:i}=e;return r||n.onError(Xm(62,i)),{props:[],needRuntime:n.helper(Hm)}},ch=(e,t)=>{e.type===1&&e.tagType===0&&(e.tag===`script`||e.tag===`style`)&&t.removeNode()},lh=[Jm],uh={cloak:Pm,html:Zm,text:Qm,model:$m,on:oh,show:sh};function dh(e,t={}){return Nm(e,c({},qm,t,{nodeTransforms:[ch,...lh,...t.nodeTransforms||[]],directiveTransforms:c({},uh,t.directiveTransforms||{}),transformHoist:null}))}var fh=Object.create(null);function ph(e,t){if(!v(e)){if(e.nodeType)e=e.innerHTML;else return i}let n=ue(e,t),r=fh[n];if(r)return r;if(e[0]===`#`){let t=document.querySelector(e);e=t?t.innerHTML:``}let a=c({hoistStatic:!0,onError:void 0,onWarn:i},t);!a.isCustomElement&&typeof customElements<`u`&&(a.isCustomElement=e=>!!customElements.get(e));let{code:o}=dh(e,a),s=Function(`Vue`,o)(Sc);return s._rc=!0,fh[n]=s}rc(ph);var mh=[`top`,`right`,`bottom`,`left`],hh=[`start`,`end`],gh=mh.reduce((e,t)=>e.concat(t,t+`-`+hh[0],t+`-`+hh[1]),[]),_h=Math.min,vh=Math.max,yh={left:`right`,right:`left`,bottom:`top`,top:`bottom`};function bh(e,t,n){return vh(e,_h(t,n))}function xh(e,t){return typeof e==`function`?e(t):e}function Sh(e){return e.split(`-`)[0]}function Ch(e){return e.split(`-`)[1]}function wh(e){return e===`x`?`y`:`x`}function Th(e){return e===`y`?`height`:`width`}function Eh(e){let t=e[0];return t===`t`||t===`b`?`y`:`x`}function Dh(e){return wh(Eh(e))}function Oh(e,t,n){n===void 0&&(n=!1);let r=Ch(e),i=Dh(e),a=Th(i),o=i===`x`?r===(n?`end`:`start`)?`right`:`left`:r===`start`?`bottom`:`top`;return t.reference[a]>t.floating[a]&&(o=Lh(o)),[o,Lh(o)]}function kh(e){let t=Lh(e);return[Ah(e),t,Ah(t)]}function Ah(e){return e.includes(`start`)?e.replace(`start`,`end`):e.replace(`end`,`start`)}var jh=[`left`,`right`],Mh=[`right`,`left`],Nh=[`top`,`bottom`],Ph=[`bottom`,`top`];function Fh(e,t,n){switch(e){case`top`:case`bottom`:return n?t?Mh:jh:t?jh:Mh;case`left`:case`right`:return t?Nh:Ph;default:return[]}}function Ih(e,t,n,r){let i=Ch(e),a=Fh(Sh(e),n===`start`,r);return i&&(a=a.map(e=>e+`-`+i),t&&(a=a.concat(a.map(Ah)))),a}function Lh(e){let t=Sh(e);return yh[t]+e.slice(t.length)}function Rh(e){return{top:e.top??0,right:e.right??0,bottom:e.bottom??0,left:e.left??0}}function zh(e){return typeof e==`number`?{top:e,right:e,bottom:e,left:e}:Rh(e)}function Bh(e){let{x:t,y:n,width:r,height:i}=e;return{width:r,height:i,top:n,left:t,right:t+r,bottom:n+i,x:t,y:n}}function Vh(e,t,n){let{reference:r,floating:i}=e,a=Eh(t),o=Dh(t),s=Th(o),c=Sh(t),l=a===`y`,u=r.x+r.width/2-i.width/2,d=r.y+r.height/2-i.height/2,f=r[s]/2-i[s]/2,p;switch(c){case`top`:p={x:u,y:r.y-i.height};break;case`bottom`:p={x:u,y:r.y+r.height};break;case`right`:p={x:r.x+r.width,y:d};break;case`left`:p={x:r.x-i.width,y:d};break;default:p={x:r.x,y:r.y}}let m=Ch(t);return m&&(p[o]+=f*(m===`end`?1:-1)*(n&&l?-1:1)),p}async function Hh(e,t){t===void 0&&(t={});let{x:n,y:r,platform:i,rects:a,elements:o,strategy:s}=e,{boundary:c=`clippingAncestors`,rootBoundary:l=`viewport`,elementContext:u=`floating`,altBoundary:d=!1,padding:f=0}=xh(t,e),p=zh(f),m=o[d?u===`floating`?`reference`:`floating`:u],h=Bh(await i.getClippingRect({element:await(i.isElement==null?void 0:i.isElement(m))??!0?m:m.contextElement||await(i.getDocumentElement==null?void 0:i.getDocumentElement(o.floating)),boundary:c,rootBoundary:l,strategy:s})),g=u===`floating`?{x:n,y:r,width:a.floating.width,height:a.floating.height}:a.reference,_=await(i.getOffsetParent==null?void 0:i.getOffsetParent(o.floating)),v=await(i.isElement==null?void 0:i.isElement(_))&&await(i.getScale==null?void 0:i.getScale(_))||{x:1,y:1},y=Bh(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:o,rect:g,offsetParent:_,strategy:s}):g);return{top:(h.top-y.top+p.top)/v.y,bottom:(y.bottom-h.bottom+p.bottom)/v.y,left:(h.left-y.left+p.left)/v.x,right:(y.right-h.right+p.right)/v.x}}var Uh=50,Wh=async(e,t,n)=>{let{placement:r=`bottom`,strategy:i=`absolute`,middleware:a=[],platform:o}=n,s=o.detectOverflow?o:{...o,detectOverflow:Hh},c=await(o.isRTL==null?void 0:o.isRTL(t)),l=await o.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:d}=Vh(l,r,c),f=r,p=0,m={};for(let n=0;n({name:`arrow`,options:e,async fn(t){let{x:n,y:r,placement:i,rects:a,platform:o,elements:s,middlewareData:c}=t,{element:l,padding:u=0}=xh(e,t)||{};if(l==null)return{};let d=zh(u),f={x:n,y:r},p=Dh(i),m=Th(p),h=await o.getDimensions(l),g=p===`y`,_=g?`top`:`left`,v=g?`bottom`:`right`,y=g?`clientHeight`:`clientWidth`,b=a.reference[m]+a.reference[p]-f[p]-a.floating[m],x=f[p]-a.reference[p],S=await(o.getOffsetParent==null?void 0:o.getOffsetParent(l)),C=S?S[y]:0;(!C||!await(o.isElement==null?void 0:o.isElement(S)))&&(C=s.floating[y]||a.floating[m]);let w=b/2-x/2,T=C/2-h[m]/2-1,E=_h(d[_],T),D=_h(d[v],T),ee=C-h[m]-D,te=C/2-h[m]/2+w,O=bh(E,te,ee),k=!c.arrow&&Ch(i)!=null&&te!==O&&a.reference[m]/2-(teCh(t)===e),...n.filter(t=>Ch(t)!==e)]:n.filter(e=>Sh(e)===e)).filter(n=>!e||Ch(n)===e||(t?Ah(n)!==n:!1))}var qh=function(e){return e===void 0&&(e={}),{name:`autoPlacement`,options:e,async fn(t){let{rects:n,middlewareData:r,placement:i,platform:a,elements:o}=t,{crossAxis:s=!1,alignment:c,allowedPlacements:l=gh,autoAlignment:u=!0,...d}=xh(e,t),f=c!==void 0||l===gh?Kh(c||null,u,l):l,p=r.autoPlacement?.index||0,m=f[p];if(m==null)return{};if(i!==m)return{reset:{placement:f[0]}};let h=await a.detectOverflow(t,d),g=Oh(m,n,await(a.isRTL==null?void 0:a.isRTL(o.floating))),_=[h[Sh(m)],h[g[0]],h[g[1]]],v=[...r.autoPlacement?.overflows||[],{placement:m,overflows:_}],y=f[p+1];if(y)return{data:{index:p+1,overflows:v},reset:{placement:y}};let b=v.map(e=>{let t=Ch(e.placement);return[e.placement,t&&s?e.overflows.slice(0,2).reduce((e,t)=>e+t,0):e.overflows[0],e.overflows]}).sort((e,t)=>e[1]-t[1]),x=b.filter(e=>e[2].slice(0,Ch(e[0])?2:3).every(e=>e<=0))[0]?.[0]||b[0][0];return x===i?{}:{data:{index:p+1,overflows:v},reset:{placement:x}}}}},Jh=function(e){return e===void 0&&(e={}),{name:`flip`,options:e,async fn(t){var n;let{placement:r,middlewareData:i,rects:a,initialPlacement:o,platform:s,elements:c}=t,{mainAxis:l=!0,crossAxis:u=!0,fallbackPlacements:d,fallbackStrategy:f=`bestFit`,fallbackAxisSideDirection:p=`none`,flipAlignment:m=!0,...h}=xh(e,t);if((n=i.arrow)!=null&&n.alignmentOffset)return{};let g=Sh(r),_=Eh(o),v=Sh(o)===o,y=await(s.isRTL==null?void 0:s.isRTL(c.floating)),b=d||(v||!m?[Lh(o)]:kh(o)),x=p!==`none`;!d&&x&&b.push(...Ih(o,m,p,y));let S=[o,...b],C=await s.detectOverflow(t,h),w=[],T=i.flip?.overflows||[];if(l&&w.push(C[g]),u){let e=Oh(r,a,y);w.push(C[e[0]],C[e[1]])}if(T=[...T,{placement:r,overflows:w}],!w.every(e=>e<=0)){let e=(i.flip?.index||0)+1,t=S[e];if(t&&(u!==`alignment`||_===Eh(t)||T.every(e=>Eh(e.placement)!==_||e.overflows[0]>0)))return{data:{index:e,overflows:T},reset:{placement:t}};let n=T.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0]?.placement;if(!n)switch(f){case`bestFit`:{let e=T.filter(e=>{if(x){let t=Eh(e.placement);return t===_||t===`y`}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0]?.[0];e&&(n=e);break}case`initialPlacement`:n=o}if(r!==n)return{reset:{placement:n}}}return{}}}},Yh=new Set([`left`,`top`]);async function Xh(e,t){let{placement:n,platform:r,elements:i}=e,a=await(r.isRTL==null?void 0:r.isRTL(i.floating)),o=Sh(n),s=Ch(n),c=Eh(n)===`y`,l=Yh.has(o)?-1:1,u=a&&c?-1:1,d=xh(t,e),{mainAxis:f,crossAxis:p,alignmentAxis:m}=typeof d==`number`?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:d.mainAxis||0,crossAxis:d.crossAxis||0,alignmentAxis:d.alignmentAxis};return s&&typeof m==`number`&&(p=s===`end`?m*-1:m),c?{x:p*u,y:f*l}:{x:f*l,y:p*u}}var Zh=function(e){return e===void 0&&(e=0),{name:`offset`,options:e,async fn(t){var n;let{x:r,y:i,placement:a,middlewareData:o}=t,s=await Xh(t,e);return a===o.offset?.placement&&(n=o.arrow)!=null&&n.alignmentOffset?{}:{x:r+s.x,y:i+s.y,data:{...s,placement:a}}}}},Qh=function(e){return e===void 0&&(e={}),{name:`shift`,options:e,async fn(t){let{x:n,y:r,placement:i,platform:a}=t,{mainAxis:o=!0,crossAxis:s=!1,limiter:c={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...l}=xh(e,t),u={x:n,y:r},d=await a.detectOverflow(t,l),f=Eh(i),p=wh(f),m=u[p],h=u[f],g=(e,t)=>bh(t+d[e===`y`?`top`:`left`],t,t-d[e===`y`?`bottom`:`right`]);o&&(m=g(p,m)),s&&(h=g(f,h));let _=c.fn({...t,[p]:m,[f]:h});return{..._,data:{x:_.x-n,y:_.y-r,enabled:{[p]:o,[f]:s}}}}}},$h=function(e){return e===void 0&&(e={}),{name:`size`,options:e,async fn(t){let{placement:n,rects:r,platform:i,elements:a}=t,{apply:o=()=>{},...s}=xh(e,t),c=await i.detectOverflow(t,s),l=Sh(n),u=Ch(n),d=Eh(n)===`y`,{width:f,height:p}=r.floating,m,h;l===`top`||l===`bottom`?(m=l,h=u===(await(i.isRTL==null?void 0:i.isRTL(a.floating))?`start`:`end`)?`left`:`right`):(h=l,m=u===`end`?`top`:`bottom`);let g=p-c.top-c.bottom,_=f-c.left-c.right,v=_h(p-c[m],g),y=_h(f-c[h],_),b=t.middlewareData.shift,x=!b,S=v,C=y;b!=null&&b.enabled.x&&(C=_),b!=null&&b.enabled.y&&(S=g),x&&!u&&(d?C=f-2*vh(c.left,c.right):S=p-2*vh(c.top,c.bottom)),await o({...t,availableWidth:C,availableHeight:S});let w=await i.getDimensions(a.floating);return f!==w.width||p!==w.height?{reset:{rects:!0}}:{}}}};function eg(e){return e.ownerDocument?.defaultView||window}function tg(e){return eg(e).getComputedStyle(e)}var ng=Math.min,rg=Math.max,ig=Math.round;function ag(e){let t=tg(e),n=parseFloat(t.width),r=parseFloat(t.height),i=e.offsetWidth,a=e.offsetHeight,o=ig(n)!==i||ig(r)!==a;return o&&(n=i,r=a),{width:n,height:r,fallback:o}}function og(e){return dg(e)?(e.nodeName||``).toLowerCase():``}var sg;function cg(){if(sg)return sg;let e=navigator.userAgentData;return e&&Array.isArray(e.brands)?(sg=e.brands.map((e=>e.brand+`/`+e.version)).join(` `),sg):navigator.userAgent}function lg(e){return e instanceof eg(e).HTMLElement}function ug(e){return e instanceof eg(e).Element}function dg(e){return e instanceof eg(e).Node}function fg(e){return typeof ShadowRoot>`u`?!1:e instanceof eg(e).ShadowRoot||e instanceof ShadowRoot}function pg(e){let{overflow:t,overflowX:n,overflowY:r,display:i}=tg(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&![`inline`,`contents`].includes(i)}function mg(e){return[`table`,`td`,`th`].includes(og(e))}function hg(e){let t=/firefox/i.test(cg()),n=tg(e),r=n.backdropFilter||n.WebkitBackdropFilter;return n.transform!==`none`||n.perspective!==`none`||!!r&&r!==`none`||t&&n.willChange===`filter`||t&&!!n.filter&&n.filter!==`none`||[`transform`,`perspective`].some((e=>n.willChange.includes(e)))||[`paint`,`layout`,`strict`,`content`].some((e=>{let t=n.contain;return t!=null&&t.includes(e)}))}function gg(){return!/^((?!chrome|android).)*safari/i.test(cg())}function _g(e){return[`html`,`body`,`#document`].includes(og(e))}function vg(e){return ug(e)?e:e.contextElement}var yg={x:1,y:1};function bg(e){let t=vg(e);if(!lg(t))return yg;let n=t.getBoundingClientRect(),{width:r,height:i,fallback:a}=ag(t),o=(a?ig(n.width):n.width)/r,s=(a?ig(n.height):n.height)/i;return o&&Number.isFinite(o)||(o=1),s&&Number.isFinite(s)||(s=1),{x:o,y:s}}function xg(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);let i=e.getBoundingClientRect(),a=vg(e),o=yg;t&&(r?ug(r)&&(o=bg(r)):o=bg(e));let s=a?eg(a):window,c=!gg()&&n,l=(i.left+(c&&s.visualViewport?.offsetLeft||0))/o.x,u=(i.top+(c&&s.visualViewport?.offsetTop||0))/o.y,d=i.width/o.x,f=i.height/o.y;if(a){let e=eg(a),t=r&&ug(r)?eg(r):r,n=e.frameElement;for(;n&&r&&t!==e;){let e=bg(n),t=n.getBoundingClientRect(),r=getComputedStyle(n);t.x+=(n.clientLeft+parseFloat(r.paddingLeft))*e.x,t.y+=(n.clientTop+parseFloat(r.paddingTop))*e.y,l*=e.x,u*=e.y,d*=e.x,f*=e.y,l+=t.x,u+=t.y,n=eg(n).frameElement}}return{width:d,height:f,top:u,right:l+d,bottom:u+f,left:l,x:l,y:u}}function Sg(e){return((dg(e)?e.ownerDocument:e.document)||window.document).documentElement}function Cg(e){return ug(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function wg(e){return xg(Sg(e)).left+Cg(e).scrollLeft}function Tg(e){if(og(e)===`html`)return e;let t=e.assignedSlot||e.parentNode||fg(e)&&e.host||Sg(e);return fg(t)?t.host:t}function Eg(e){let t=Tg(e);return _g(t)?t.ownerDocument.body:lg(t)&&pg(t)?t:Eg(t)}function Dg(e,t){t===void 0&&(t=[]);let n=Eg(e),r=n===e.ownerDocument?.body,i=eg(n);return r?t.concat(i,i.visualViewport||[],pg(n)?n:[]):t.concat(n,Dg(n))}function Og(e,t,n){return t===`viewport`?Bh(function(e,t){let n=eg(e),r=Sg(e),i=n.visualViewport,a=r.clientWidth,o=r.clientHeight,s=0,c=0;if(i){a=i.width,o=i.height;let e=gg();(e||!e&&t===`fixed`)&&(s=i.offsetLeft,c=i.offsetTop)}return{width:a,height:o,x:s,y:c}}(e,n)):ug(t)?Bh(function(e,t){let n=xg(e,!0,t===`fixed`),r=n.top+e.clientTop,i=n.left+e.clientLeft,a=lg(e)?bg(e):{x:1,y:1};return{width:e.clientWidth*a.x,height:e.clientHeight*a.y,x:i*a.x,y:r*a.y}}(t,n)):Bh(function(e){let t=Sg(e),n=Cg(e),r=e.ownerDocument.body,i=rg(t.scrollWidth,t.clientWidth,r.scrollWidth,r.clientWidth),a=rg(t.scrollHeight,t.clientHeight,r.scrollHeight,r.clientHeight),o=-n.scrollLeft+wg(e),s=-n.scrollTop;return tg(r).direction===`rtl`&&(o+=rg(t.clientWidth,r.clientWidth)-i),{width:i,height:a,x:o,y:s}}(Sg(e)))}function kg(e){return lg(e)&&tg(e).position!==`fixed`?e.offsetParent:null}function Ag(e){let t=eg(e),n=kg(e);for(;n&&mg(n)&&tg(n).position===`static`;)n=kg(n);return n&&(og(n)===`html`||og(n)===`body`&&tg(n).position===`static`&&!hg(n))?t:n||function(e){let t=Tg(e);for(;lg(t)&&!_g(t);){if(hg(t))return t;t=Tg(t)}return null}(e)||t}function jg(e,t,n){let r=lg(t),i=Sg(t),a=xg(e,!0,n===`fixed`,t),o={scrollLeft:0,scrollTop:0},s={x:0,y:0};if(r||!r&&n!==`fixed`){if((og(t)!==`body`||pg(i))&&(o=Cg(t)),lg(t)){let e=xg(t,!0);s.x=e.x+t.clientLeft,s.y=e.y+t.clientTop}else i&&(s.x=wg(i))}return{x:a.left+o.scrollLeft-s.x,y:a.top+o.scrollTop-s.y,width:a.width,height:a.height}}var Mg={getClippingRect:function(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e,a=[...n===`clippingAncestors`?function(e,t){let n=t.get(e);if(n)return n;let r=Dg(e).filter((e=>ug(e)&&og(e)!==`body`)),i=null,a=tg(e).position===`fixed`,o=a?Tg(e):e;for(;ug(o)&&!_g(o);){let e=tg(o),t=hg(o);(a?t||i:t||e.position!==`static`||!i||![`absolute`,`fixed`].includes(i.position))?i=e:r=r.filter((e=>e!==o)),o=Tg(o)}return t.set(e,r),r}(t,this._c):[].concat(n),r],o=a[0],s=a.reduce(((e,n)=>{let r=Og(t,n,i);return e.top=rg(r.top,e.top),e.right=ng(r.right,e.right),e.bottom=ng(r.bottom,e.bottom),e.left=rg(r.left,e.left),e}),Og(t,o,i));return{width:s.right-s.left,height:s.bottom-s.top,x:s.left,y:s.top}},convertOffsetParentRelativeRectToViewportRelativeRect:function(e){let{rect:t,offsetParent:n,strategy:r}=e,i=lg(n),a=Sg(n);if(n===a)return t;let o={scrollLeft:0,scrollTop:0},s={x:1,y:1},c={x:0,y:0};if((i||!i&&r!==`fixed`)&&((og(n)!==`body`||pg(a))&&(o=Cg(n)),lg(n))){let e=xg(n);s=bg(n),c.x=e.x+n.clientLeft,c.y=e.y+n.clientTop}return{width:t.width*s.x,height:t.height*s.y,x:t.x*s.x-o.scrollLeft*s.x+c.x,y:t.y*s.y-o.scrollTop*s.y+c.y}},isElement:ug,getDimensions:function(e){return lg(e)?ag(e):e.getBoundingClientRect()},getOffsetParent:Ag,getDocumentElement:Sg,getScale:bg,async getElementRects(e){let{reference:t,floating:n,strategy:r}=e,i=this.getOffsetParent||Ag,a=this.getDimensions;return{reference:jg(t,await i(n),r),floating:{x:0,y:0,...await a(n)}}},getClientRects:e=>Array.from(e.getClientRects()),isRTL:e=>tg(e).direction===`rtl`},Ng=(e,t,n)=>{let r=new Map,i={platform:Mg,...n},a={...i.platform,_c:r};return Wh(e,t,{...i,platform:a})};function Pg(e,t){for(let n in t)Object.prototype.hasOwnProperty.call(t,n)&&(typeof t[n]==`object`&&e[n]?Pg(e[n],t[n]):e[n]=t[n])}var Fg={disabled:!1,distance:5,skidding:0,container:`body`,boundary:void 0,instantMove:!1,disposeTimeout:150,popperTriggers:[],strategy:`absolute`,preventOverflow:!0,flip:!0,shift:!0,overflowPadding:0,arrowPadding:0,arrowOverflow:!0,autoHideOnMousedown:!1,themes:{tooltip:{placement:`top`,triggers:[`hover`,`focus`,`touch`],hideTriggers:e=>[...e,`click`],delay:{show:200,hide:0},handleResize:!1,html:!1,loadingContent:`...`},dropdown:{placement:`bottom`,triggers:[`click`],delay:0,handleResize:!0,autoHide:!0},menu:{$extend:`dropdown`,triggers:[`hover`,`focus`],popperTriggers:[`hover`],delay:{show:0,hide:400}}}};function Ig(e,t){let n=Fg.themes[e]||{},r;do r=n[t],typeof r>`u`?n.$extend?n=Fg.themes[n.$extend]||{}:(n=null,r=Fg[t]):n=null;while(n);return r}function Lg(e){let t=[e],n=Fg.themes[e]||{};do n.$extend&&!n.$resetCss?(t.push(n.$extend),n=Fg.themes[n.$extend]||{}):n=null;while(n);return t.map(e=>`v-popper--theme-${e}`)}function Rg(e){let t=[e],n=Fg.themes[e]||{};do n.$extend?(t.push(n.$extend),n=Fg.themes[n.$extend]||{}):n=null;while(n);return t}var zg=!1;if(typeof window<`u`){zg=!1;try{let e=Object.defineProperty({},"passive",{get(){zg=!0}});window.addEventListener(`test`,null,e)}catch{}}var Bg=!1;typeof window<`u`&&typeof navigator<`u`&&(Bg=/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream);var Vg=[`auto`,`top`,`bottom`,`left`,`right`].reduce((e,t)=>e.concat([t,`${t}-start`,`${t}-end`]),[]),Hg={hover:`mouseenter`,focus:`focus`,click:`click`,touch:`touchstart`,pointer:`pointerdown`},Ug={hover:`mouseleave`,focus:`blur`,click:`click`,touch:`touchend`,pointer:`pointerup`};function Wg(e,t){let n=e.indexOf(t);n!==-1&&e.splice(n,1)}function Gg(){return new Promise(e=>requestAnimationFrame(()=>{requestAnimationFrame(e)}))}var Kg=[],qg=null,Jg={};function Yg(e){let t=Jg[e];return t||=Jg[e]=[],t}var Xg=function(){};typeof window<`u`&&(Xg=window.Element);function $(e){return function(t){return Ig(t.theme,e)}}var Zg=`__floating-vue__popper`,Qg=()=>di({name:`VPopper`,provide(){return{[Zg]:{parentPopper:this}}},inject:{[Zg]:{default:null}},props:{theme:{type:String,required:!0},targetNodes:{type:Function,required:!0},referenceNode:{type:Function,default:null},popperNode:{type:Function,required:!0},shown:{type:Boolean,default:!1},showGroup:{type:String,default:null},ariaId:{default:null},disabled:{type:Boolean,default:$(`disabled`)},positioningDisabled:{type:Boolean,default:$(`positioningDisabled`)},placement:{type:String,default:$(`placement`),validator:e=>Vg.includes(e)},delay:{type:[String,Number,Object],default:$(`delay`)},distance:{type:[Number,String],default:$(`distance`)},skidding:{type:[Number,String],default:$(`skidding`)},triggers:{type:Array,default:$(`triggers`)},showTriggers:{type:[Array,Function],default:$(`showTriggers`)},hideTriggers:{type:[Array,Function],default:$(`hideTriggers`)},popperTriggers:{type:Array,default:$(`popperTriggers`)},popperShowTriggers:{type:[Array,Function],default:$(`popperShowTriggers`)},popperHideTriggers:{type:[Array,Function],default:$(`popperHideTriggers`)},container:{type:[String,Object,Xg,Boolean],default:$(`container`)},boundary:{type:[String,Xg],default:$(`boundary`)},strategy:{type:String,validator:e=>[`absolute`,`fixed`].includes(e),default:$(`strategy`)},autoHide:{type:[Boolean,Function],default:$(`autoHide`)},handleResize:{type:Boolean,default:$(`handleResize`)},instantMove:{type:Boolean,default:$(`instantMove`)},eagerMount:{type:Boolean,default:$(`eagerMount`)},popperClass:{type:[String,Array,Object],default:$(`popperClass`)},computeTransformOrigin:{type:Boolean,default:$(`computeTransformOrigin`)},autoMinSize:{type:Boolean,default:$(`autoMinSize`)},autoSize:{type:[Boolean,String],default:$(`autoSize`)},autoMaxSize:{type:Boolean,default:$(`autoMaxSize`)},autoBoundaryMaxSize:{type:Boolean,default:$(`autoBoundaryMaxSize`)},preventOverflow:{type:Boolean,default:$(`preventOverflow`)},overflowPadding:{type:[Number,String],default:$(`overflowPadding`)},arrowPadding:{type:[Number,String],default:$(`arrowPadding`)},arrowOverflow:{type:Boolean,default:$(`arrowOverflow`)},flip:{type:Boolean,default:$(`flip`)},shift:{type:Boolean,default:$(`shift`)},shiftCrossAxis:{type:Boolean,default:$(`shiftCrossAxis`)},noAutoFocus:{type:Boolean,default:$(`noAutoFocus`)},disposeTimeout:{type:Number,default:$(`disposeTimeout`)}},emits:{show:()=>!0,hide:()=>!0,"update:shown":e=>!0,"apply-show":()=>!0,"apply-hide":()=>!0,"close-group":()=>!0,"close-directive":()=>!0,"auto-hide":()=>!0,resize:()=>!0},data(){return{isShown:!1,isMounted:!1,skipTransition:!1,classes:{showFrom:!1,showTo:!1,hideFrom:!1,hideTo:!0},result:{x:0,y:0,placement:``,strategy:this.strategy,arrow:{x:0,y:0,centerOffset:0},transformOrigin:null},randomId:`popper_${[Math.random(),Date.now()].map(e=>e.toString(36).substring(2,10)).join(`_`)}`,shownChildren:new Set,lastAutoHide:!0,pendingHide:!1,containsGlobalTarget:!1,isDisposed:!0,mouseDownContains:!1}},computed:{popperId(){return this.ariaId==null?this.randomId:this.ariaId},shouldMountContent(){return this.eagerMount||this.isMounted},slotData(){return{popperId:this.popperId,isShown:this.isShown,shouldMountContent:this.shouldMountContent,skipTransition:this.skipTransition,autoHide:typeof this.autoHide==`function`?this.lastAutoHide:this.autoHide,show:this.show,hide:this.hide,handleResize:this.handleResize,onResize:this.onResize,classes:{...this.classes,popperClass:this.popperClass},result:this.positioningDisabled?null:this.result,attrs:this.$attrs}},parentPopper(){return this[Zg]?.parentPopper},hasPopperShowTriggerHover(){return this.popperTriggers?.includes(`hover`)||this.popperShowTriggers?.includes(`hover`)}},watch:{shown:`$_autoShowHide`,disabled(e){e?this.dispose():this.init()},async container(){this.isShown&&(this.$_ensureTeleport(),await this.$_computePosition())},triggers:{handler:`$_refreshListeners`,deep:!0},positioningDisabled:`$_refreshListeners`,...[`placement`,`distance`,`skidding`,`boundary`,`strategy`,`overflowPadding`,`arrowPadding`,`preventOverflow`,`shift`,`shiftCrossAxis`,`flip`].reduce((e,t)=>(e[t]=`$_computePosition`,e),{})},created(){this.autoMinSize&&console.warn('[floating-vue] `autoMinSize` option is deprecated. Use `autoSize="min"` instead.'),this.autoMaxSize&&console.warn("[floating-vue] `autoMaxSize` option is deprecated. Use `autoBoundaryMaxSize` instead.")},mounted(){this.init(),this.$_detachPopperNode()},activated(){this.$_autoShowHide()},deactivated(){this.hide()},beforeUnmount(){this.dispose()},methods:{show({event:e=null,skipDelay:t=!1,force:n=!1}={}){var r;(r=this.parentPopper)!=null&&r.lockedChild&&this.parentPopper.lockedChild!==this||(this.pendingHide=!1,(n||!this.disabled)&&(this.parentPopper?.lockedChild===this&&(this.parentPopper.lockedChild=null),this.$_scheduleShow(e,t),this.$emit(`show`),this.$_showFrameLocked=!0,requestAnimationFrame(()=>{this.$_showFrameLocked=!1})),this.$emit(`update:shown`,!0))},hide({event:e=null,skipDelay:t=!1}={}){if(!this.$_hideInProgress){if(this.shownChildren.size>0){this.pendingHide=!0;return}if(this.hasPopperShowTriggerHover&&this.$_isAimingPopper()){this.parentPopper&&(this.parentPopper.lockedChild=this,clearTimeout(this.parentPopper.lockedChildTimer),this.parentPopper.lockedChildTimer=setTimeout(()=>{this.parentPopper.lockedChild===this&&(this.parentPopper.lockedChild.hide({skipDelay:t}),this.parentPopper.lockedChild=null)},1e3));return}this.parentPopper?.lockedChild===this&&(this.parentPopper.lockedChild=null),this.pendingHide=!1,this.$_scheduleHide(e,t),this.$emit(`hide`),this.$emit(`update:shown`,!1)}},init(){this.isDisposed&&(this.isDisposed=!1,this.isMounted=!1,this.$_events=[],this.$_preventShow=!1,this.$_referenceNode=this.referenceNode?.call(this)??this.$el,this.$_targetNodes=this.targetNodes().filter(e=>e.nodeType===e.ELEMENT_NODE),this.$_popperNode=this.popperNode(),this.$_innerNode=this.$_popperNode.querySelector(`.v-popper__inner`),this.$_arrowNode=this.$_popperNode.querySelector(`.v-popper__arrow-container`),this.$_swapTargetAttrs(`title`,`data-original-title`),this.$_detachPopperNode(),this.triggers.length&&this.$_addEventListeners(),this.shown&&this.show())},dispose(){this.isDisposed||(this.isDisposed=!0,this.$_removeEventListeners(),this.hide({skipDelay:!0}),this.$_detachPopperNode(),this.isMounted=!1,this.isShown=!1,this.$_updateParentShownChildren(!1),this.$_swapTargetAttrs(`data-original-title`,`title`))},async onResize(){this.isShown&&(await this.$_computePosition(),this.$emit(`resize`))},async $_computePosition(){if(this.isDisposed||this.positioningDisabled)return;let e={strategy:this.strategy,middleware:[]};(this.distance||this.skidding)&&e.middleware.push(Zh({mainAxis:this.distance,crossAxis:this.skidding}));let t=this.placement.startsWith(`auto`);if(t?e.middleware.push(qh({alignment:this.placement.split(`-`)[1]??``})):e.placement=this.placement,this.preventOverflow&&(this.shift&&e.middleware.push(Qh({padding:this.overflowPadding,boundary:this.boundary,crossAxis:this.shiftCrossAxis})),!t&&this.flip&&e.middleware.push(Jh({padding:this.overflowPadding,boundary:this.boundary}))),e.middleware.push(Gh({element:this.$_arrowNode,padding:this.arrowPadding})),this.arrowOverflow&&e.middleware.push({name:`arrowOverflow`,fn:({placement:e,rects:t,middlewareData:n})=>{let r,{centerOffset:i}=n.arrow;return r=e.startsWith(`top`)||e.startsWith(`bottom`)?Math.abs(i)>t.reference.width/2:Math.abs(i)>t.reference.height/2,{data:{overflow:r}}}}),this.autoMinSize||this.autoSize){let t=this.autoSize?this.autoSize:this.autoMinSize?`min`:null;e.middleware.push({name:`autoSize`,fn:({rects:e,placement:n,middlewareData:r})=>{var i;if((i=r.autoSize)!=null&&i.skip)return{};let a,o;return n.startsWith(`top`)||n.startsWith(`bottom`)?a=e.reference.width:o=e.reference.height,this.$_innerNode.style[t===`min`?`minWidth`:t===`max`?`maxWidth`:`width`]=a==null?null:`${a}px`,this.$_innerNode.style[t===`min`?`minHeight`:t===`max`?`maxHeight`:`height`]=o==null?null:`${o}px`,{data:{skip:!0},reset:{rects:!0}}}})}(this.autoMaxSize||this.autoBoundaryMaxSize)&&(this.$_innerNode.style.maxWidth=null,this.$_innerNode.style.maxHeight=null,e.middleware.push($h({boundary:this.boundary,padding:this.overflowPadding,apply:({availableWidth:e,availableHeight:t})=>{this.$_innerNode.style.maxWidth=e==null?null:`${e}px`,this.$_innerNode.style.maxHeight=t==null?null:`${t}px`}})));let n=await Ng(this.$_referenceNode,this.$_popperNode,e);Object.assign(this.result,{x:n.x,y:n.y,placement:n.placement,strategy:n.strategy,arrow:{...n.middlewareData.arrow,...n.middlewareData.arrowOverflow}})},$_scheduleShow(e,t=!1){if(this.$_updateParentShownChildren(!0),this.$_hideInProgress=!1,clearTimeout(this.$_scheduleTimer),qg&&this.instantMove&&qg.instantMove&&qg!==this.parentPopper){qg.$_applyHide(!0),this.$_applyShow(!0);return}t?this.$_applyShow():this.$_scheduleTimer=setTimeout(this.$_applyShow.bind(this),this.$_computeDelay(`show`))},$_scheduleHide(e,t=!1){if(this.shownChildren.size>0){this.pendingHide=!0;return}this.$_updateParentShownChildren(!1),this.$_hideInProgress=!0,clearTimeout(this.$_scheduleTimer),this.isShown&&(qg=this),t?this.$_applyHide():this.$_scheduleTimer=setTimeout(this.$_applyHide.bind(this),this.$_computeDelay(`hide`))},$_computeDelay(e){let t=this.delay;return parseInt(t&&t[e]||t||0)},async $_applyShow(e=!1){clearTimeout(this.$_disposeTimer),clearTimeout(this.$_scheduleTimer),this.skipTransition=e,!this.isShown&&(this.$_ensureTeleport(),await Gg(),await this.$_computePosition(),await this.$_applyShowEffect(),this.positioningDisabled||this.$_registerEventListeners([...Dg(this.$_referenceNode),...Dg(this.$_popperNode)],`scroll`,()=>{this.$_computePosition()}))},async $_applyShowEffect(){if(this.$_hideInProgress)return;if(this.computeTransformOrigin){let e=this.$_referenceNode.getBoundingClientRect(),t=this.$_popperNode.querySelector(`.v-popper__wrapper`),n=t.parentNode.getBoundingClientRect(),r=e.x+e.width/2-(n.left+t.offsetLeft),i=e.y+e.height/2-(n.top+t.offsetTop);this.result.transformOrigin=`${r}px ${i}px`}this.isShown=!0,this.$_applyAttrsToTarget({"aria-describedby":this.popperId,"data-popper-shown":``});let e=this.showGroup;if(e){let t;for(let n=0;n0){this.pendingHide=!0,this.$_hideInProgress=!1;return}if(clearTimeout(this.$_scheduleTimer),!this.isShown)return;this.skipTransition=e,Wg(Kg,this),Kg.length===0&&document.body.classList.remove(`v-popper--some-open`);for(let e of Rg(this.theme)){let t=Yg(e);Wg(t,this),t.length===0&&document.body.classList.remove(`v-popper--some-open--${e}`)}qg===this&&(qg=null),this.isShown=!1,this.$_applyAttrsToTarget({"aria-describedby":void 0,"data-popper-shown":void 0}),clearTimeout(this.$_disposeTimer);let t=this.disposeTimeout;t!==null&&(this.$_disposeTimer=setTimeout(()=>{this.$_popperNode&&(this.$_detachPopperNode(),this.isMounted=!1)},t)),this.$_removeEventListeners(`scroll`),this.$emit(`apply-hide`),this.classes.showFrom=!1,this.classes.showTo=!1,this.classes.hideFrom=!0,this.classes.hideTo=!1,await Gg(),this.classes.hideFrom=!1,this.classes.hideTo=!0},$_autoShowHide(){this.shown?this.show():this.hide()},$_ensureTeleport(){if(this.isDisposed)return;let e=this.container;if(typeof e==`string`?e=window.document.querySelector(e):e===!1&&(e=this.$_targetNodes[0].parentNode),!e)throw Error(`No container for popover: `+this.container);e.appendChild(this.$_popperNode),this.isMounted=!0},$_addEventListeners(){let e=e=>{this.isShown&&!this.$_hideInProgress||(e.usedByTooltip=!0,!this.$_preventShow&&this.show({event:e}))};this.$_registerTriggerListeners(this.$_targetNodes,Hg,this.triggers,this.showTriggers,e),this.$_registerTriggerListeners([this.$_popperNode],Hg,this.popperTriggers,this.popperShowTriggers,e);let t=e=>{e.usedByTooltip||this.hide({event:e})};this.$_registerTriggerListeners(this.$_targetNodes,Ug,this.triggers,this.hideTriggers,t),this.$_registerTriggerListeners([this.$_popperNode],Ug,this.popperTriggers,this.popperHideTriggers,t)},$_registerEventListeners(e,t,n){this.$_events.push({targetNodes:e,eventType:t,handler:n}),e.forEach(e=>e.addEventListener(t,n,zg?{passive:!0}:void 0))},$_registerTriggerListeners(e,t,n,r,i){let a=n;r!=null&&(a=typeof r==`function`?r(a):r),a.forEach(n=>{let r=t[n];r&&this.$_registerEventListeners(e,r,i)})},$_removeEventListeners(e){let t=[];this.$_events.forEach(n=>{let{targetNodes:r,eventType:i,handler:a}=n;!e||e===i?r.forEach(e=>e.removeEventListener(i,a)):t.push(n)}),this.$_events=t},$_refreshListeners(){this.isDisposed||(this.$_removeEventListeners(),this.$_addEventListeners())},$_handleGlobalClose(e,t=!1){this.$_showFrameLocked||(this.hide({event:e}),e.closePopover?this.$emit(`close-directive`):this.$emit(`auto-hide`),t&&(this.$_preventShow=!0,setTimeout(()=>{this.$_preventShow=!1},300)))},$_detachPopperNode(){this.$_popperNode.parentNode&&this.$_popperNode.parentNode.removeChild(this.$_popperNode)},$_swapTargetAttrs(e,t){for(let n of this.$_targetNodes){let r=n.getAttribute(e);r&&(n.removeAttribute(e),n.setAttribute(t,r))}},$_applyAttrsToTarget(e){for(let t of this.$_targetNodes)for(let n in e){let r=e[n];r==null?t.removeAttribute(n):t.setAttribute(n,r)}},$_updateParentShownChildren(e){let t=this.parentPopper;for(;t;)e?t.shownChildren.add(this.randomId):(t.shownChildren.delete(this.randomId),t.pendingHide&&t.hide()),t=t.parentPopper},$_isAimingPopper(){let e=this.$_referenceNode.getBoundingClientRect();if(s_>=e.left&&s_<=e.right&&c_>=e.top&&c_<=e.bottom){let e=this.$_popperNode.getBoundingClientRect(),t=s_-a_,n=c_-o_,r=e.left+e.width/2-a_+(e.top+e.height/2)-o_+e.width+e.height,i=a_+t*r,a=o_+n*r;return l_(a_,o_,i,a,e.left,e.top,e.left,e.bottom)||l_(a_,o_,i,a,e.left,e.top,e.right,e.top)||l_(a_,o_,i,a,e.right,e.top,e.right,e.bottom)||l_(a_,o_,i,a,e.left,e.bottom,e.right,e.bottom)}return!1}},render(){return this.$slots.default(this.slotData)}});if(typeof document<`u`&&typeof window<`u`){if(Bg){let e=!zg||{passive:!0,capture:!0};document.addEventListener(`touchstart`,e=>$g(e,!0),e),document.addEventListener(`touchend`,e=>e_(e,!0),e)}else window.addEventListener(`mousedown`,e=>$g(e,!1),!0),window.addEventListener(`click`,e=>e_(e,!1),!0);window.addEventListener(`resize`,i_)}function $g(e,t){if(Fg.autoHideOnMousedown)t_(e,t);else for(let t=0;t=0;r--){let i=Kg[r];try{let r=i.containsGlobalTarget=i.mouseDownContains||i.popperNode().contains(e.target);i.pendingHide=!1,requestAnimationFrame(()=>{if(i.pendingHide=!1,!n[i.randomId]&&n_(i,r,e)){if(i.$_handleGlobalClose(e,t),!e.closeAllPopover&&e.closePopover&&r){let e=i.parentPopper;for(;e;)n[e.randomId]=!0,e=e.parentPopper;return}let a=i.parentPopper;for(;a&&n_(a,a.containsGlobalTarget,e);)a.$_handleGlobalClose(e,t),a=a.parentPopper}})}catch{}}}function n_(e,t,n){return n.closeAllPopover||n.closePopover&&t||r_(e,n)&&!t}function r_(e,t){if(typeof e.autoHide==`function`){let n=e.autoHide(t);return e.lastAutoHide=n,n}return e.autoHide}function i_(){for(let e=0;e{a_=s_,o_=c_,s_=e.clientX,c_=e.clientY},zg?{passive:!0}:void 0);function l_(e,t,n,r,i,a,o,s){let c=((o-i)*(t-a)-(s-a)*(e-i))/((s-a)*(n-e)-(o-i)*(r-t)),l=((n-e)*(t-a)-(r-t)*(e-i))/((s-a)*(n-e)-(o-i)*(r-t));return c>=0&&c<=1&&l>=0&&l<=1}var u_={extends:Qg()},d_=(e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n};function f_(e,t,n,r,i,a){return vs(),Cs(`div`,{ref:`reference`,class:_e([`v-popper`,{"v-popper--shown":e.slotData.isShown}])},[Ca(e.$slots,`default`,ve(Ms(e.slotData)))],2)}var p_=d_(u_,[[`render`,f_]]);function m_(){var e=window.navigator.userAgent,t=e.indexOf(`MSIE `);if(t>0)return parseInt(e.substring(t+5,e.indexOf(`.`,t)),10);if(e.indexOf(`Trident/`)>0){var n=e.indexOf(`rv:`);return parseInt(e.substring(n+3,e.indexOf(`.`,n)),10)}var r=e.indexOf(`Edge/`);return r>0?parseInt(e.substring(r+5,e.indexOf(`.`,r)),10):-1}var h_;function g_(){g_.init||(g_.init=!0,h_=m_()!==-1)}var __={name:`ResizeObserver`,props:{emitOnMount:{type:Boolean,default:!1},ignoreWidth:{type:Boolean,default:!1},ignoreHeight:{type:Boolean,default:!1}},emits:[`notify`],mounted(){g_(),ir(()=>{this._w=this.$el.offsetWidth,this._h=this.$el.offsetHeight,this.emitOnMount&&this.emitSize()});let e=document.createElement(`object`);this._resizeObject=e,e.setAttribute(`aria-hidden`,`true`),e.setAttribute(`tabindex`,-1),e.onload=this.addResizeHandlers,e.type=`text/html`,h_&&this.$el.appendChild(e),e.data=`about:blank`,h_||this.$el.appendChild(e)},beforeUnmount(){this.removeResizeHandlers()},methods:{compareAndNotify(){(!this.ignoreWidth&&this._w!==this.$el.offsetWidth||!this.ignoreHeight&&this._h!==this.$el.offsetHeight)&&(this._w=this.$el.offsetWidth,this._h=this.$el.offsetHeight,this.emitSize())},emitSize(){this.$emit(`notify`,{width:this._w,height:this._h})},addResizeHandlers(){this._resizeObject.contentDocument.defaultView.addEventListener(`resize`,this.compareAndNotify),this.compareAndNotify()},removeResizeHandlers(){this._resizeObject&&this._resizeObject.onload&&(!h_&&this._resizeObject.contentDocument&&this._resizeObject.contentDocument.defaultView.removeEventListener(`resize`,this.compareAndNotify),this.$el.removeChild(this._resizeObject),this._resizeObject.onload=null,this._resizeObject=null)}}},v_=br(`data-v-b329ee4c`);vr(`data-v-b329ee4c`);var y_={class:`resize-observer`,tabindex:`-1`};yr(),__.render=v_((e,t,n,r,i,a)=>(vs(),ws(`div`,y_))),__.__scopeId=`data-v-b329ee4c`,__.__file=`src/components/ResizeObserver.vue`;var b_=(e=`theme`)=>({computed:{themeClass(){return Lg(this[e])}}}),x_=di({name:`VPopperContent`,components:{ResizeObserver:__},mixins:[b_()],props:{popperId:String,theme:String,shown:Boolean,mounted:Boolean,skipTransition:Boolean,autoHide:Boolean,handleResize:Boolean,classes:Object,result:Object},emits:[`hide`,`resize`],methods:{toPx(e){return e!=null&&!isNaN(e)?`${e}px`:null}}}),S_=[`id`,`aria-hidden`,`tabindex`,`data-popper-placement`],C_={ref:`inner`,class:`v-popper__inner`},w_=[As(`div`,{class:`v-popper__arrow-outer`},null,-1),As(`div`,{class:`v-popper__arrow-inner`},null,-1)];function T_(e,t,n,r,i,a){let o=ha(`ResizeObserver`);return vs(),Cs(`div`,{id:e.popperId,ref:`popover`,class:_e([`v-popper__popper`,[e.themeClass,e.classes.popperClass,{"v-popper__popper--shown":e.shown,"v-popper__popper--hidden":!e.shown,"v-popper__popper--show-from":e.classes.showFrom,"v-popper__popper--show-to":e.classes.showTo,"v-popper__popper--hide-from":e.classes.hideFrom,"v-popper__popper--hide-to":e.classes.hideTo,"v-popper__popper--skip-transition":e.skipTransition,"v-popper__popper--arrow-overflow":e.result&&e.result.arrow.overflow,"v-popper__popper--no-positioning":!e.result}]]),style:fe(e.result?{position:e.result.strategy,transform:`translate3d(${Math.round(e.result.x)}px,${Math.round(e.result.y)}px,0)`}:void 0),"aria-hidden":e.shown?`false`:`true`,tabindex:e.autoHide?0:void 0,"data-popper-placement":e.result?e.result.placement:void 0,onKeyup:t[2]||=yu(t=>e.autoHide&&e.$emit(`hide`),[`esc`])},[As(`div`,{class:`v-popper__backdrop`,onClick:t[0]||=t=>e.autoHide&&e.$emit(`hide`)}),As(`div`,{class:`v-popper__wrapper`,style:fe(e.result?{transformOrigin:e.result.transformOrigin}:void 0)},[As(`div`,C_,[e.mounted?(vs(),Cs(z,{key:0},[As(`div`,null,[Ca(e.$slots,`default`)]),e.handleResize?(vs(),ws(o,{key:0,onNotify:t[1]||=t=>e.$emit(`resize`,t)})):Is(``,!0)],64)):Is(``,!0)],512),As(`div`,{ref:`arrow`,class:`v-popper__arrow-container`,style:fe(e.result?{left:e.toPx(e.result.arrow.x),top:e.toPx(e.result.arrow.y)}:void 0)},w_,4)],4)],46,S_)}var E_=d_(x_,[[`render`,T_]]),D_={methods:{show(...e){return this.$refs.popper.show(...e)},hide(...e){return this.$refs.popper.hide(...e)},dispose(...e){return this.$refs.popper.dispose(...e)},onResize(...e){return this.$refs.popper.onResize(...e)}}},O_=function(){};typeof window<`u`&&(O_=window.Element);var k_=di({name:`VPopperWrapper`,components:{Popper:p_,PopperContent:E_},mixins:[D_,b_(`finalTheme`)],props:{theme:{type:String,default:null},referenceNode:{type:Function,default:null},shown:{type:Boolean,default:!1},showGroup:{type:String,default:null},ariaId:{default:null},disabled:{type:Boolean,default:void 0},positioningDisabled:{type:Boolean,default:void 0},placement:{type:String,default:void 0},delay:{type:[String,Number,Object],default:void 0},distance:{type:[Number,String],default:void 0},skidding:{type:[Number,String],default:void 0},triggers:{type:Array,default:void 0},showTriggers:{type:[Array,Function],default:void 0},hideTriggers:{type:[Array,Function],default:void 0},popperTriggers:{type:Array,default:void 0},popperShowTriggers:{type:[Array,Function],default:void 0},popperHideTriggers:{type:[Array,Function],default:void 0},container:{type:[String,Object,O_,Boolean],default:void 0},boundary:{type:[String,O_],default:void 0},strategy:{type:String,default:void 0},autoHide:{type:[Boolean,Function],default:void 0},handleResize:{type:Boolean,default:void 0},instantMove:{type:Boolean,default:void 0},eagerMount:{type:Boolean,default:void 0},popperClass:{type:[String,Array,Object],default:void 0},computeTransformOrigin:{type:Boolean,default:void 0},autoMinSize:{type:Boolean,default:void 0},autoSize:{type:[Boolean,String],default:void 0},autoMaxSize:{type:Boolean,default:void 0},autoBoundaryMaxSize:{type:Boolean,default:void 0},preventOverflow:{type:Boolean,default:void 0},overflowPadding:{type:[Number,String],default:void 0},arrowPadding:{type:[Number,String],default:void 0},arrowOverflow:{type:Boolean,default:void 0},flip:{type:Boolean,default:void 0},shift:{type:Boolean,default:void 0},shiftCrossAxis:{type:Boolean,default:void 0},noAutoFocus:{type:Boolean,default:void 0},disposeTimeout:{type:Number,default:void 0}},emits:{show:()=>!0,hide:()=>!0,"update:shown":e=>!0,"apply-show":()=>!0,"apply-hide":()=>!0,"close-group":()=>!0,"close-directive":()=>!0,"auto-hide":()=>!0,resize:()=>!0},computed:{finalTheme(){return this.theme??this.$options.vPopperTheme}},methods:{getTargetNodes(){return Array.from(this.$el.children).filter(e=>e!==this.$refs.popperContent.$el)}}});function A_(e,t,n,r,i,a){let o=ha(`PopperContent`),s=ha(`Popper`);return vs(),ws(s,Bs({ref:`popper`},e.$props,{theme:e.finalTheme,"target-nodes":e.getTargetNodes,"popper-node":()=>e.$refs.popperContent.$el,class:[e.themeClass],onShow:t[0]||=()=>e.$emit(`show`),onHide:t[1]||=()=>e.$emit(`hide`),"onUpdate:shown":t[2]||=t=>e.$emit(`update:shown`,t),onApplyShow:t[3]||=()=>e.$emit(`apply-show`),onApplyHide:t[4]||=()=>e.$emit(`apply-hide`),onCloseGroup:t[5]||=()=>e.$emit(`close-group`),onCloseDirective:t[6]||=()=>e.$emit(`close-directive`),onAutoHide:t[7]||=()=>e.$emit(`auto-hide`),onResize:t[8]||=()=>e.$emit(`resize`)}),{default:xr(({popperId:t,isShown:n,shouldMountContent:r,skipTransition:i,autoHide:a,show:s,hide:c,handleResize:l,onResize:u,classes:d,result:f})=>[Ca(e.$slots,`default`,{shown:n,show:s,hide:c}),V(o,{ref:`popperContent`,"popper-id":t,theme:e.finalTheme,shown:n,mounted:r,"skip-transition":i,"auto-hide":a,"handle-resize":l,classes:d,result:f,onHide:c,onResize:u},{default:xr(()=>[Ca(e.$slots,`popper`,{shown:n,hide:c})]),_:2},1032,[`popper-id`,`theme`,`shown`,`mounted`,`skip-transition`,`auto-hide`,`handle-resize`,`classes`,`result`,`onHide`,`onResize`])]),_:3},16,[`theme`,`target-nodes`,`popper-node`,`class`])}var j_=d_(k_,[[`render`,A_]]),M_={...j_,name:`VDropdown`,vPopperTheme:`dropdown`},N_={...j_,name:`VMenu`,vPopperTheme:`menu`},P_={...j_,name:`VTooltip`,vPopperTheme:`tooltip`},F_=di({name:`VTooltipDirective`,components:{Popper:Qg(),PopperContent:E_},mixins:[D_],inheritAttrs:!1,props:{theme:{type:String,default:`tooltip`},html:{type:Boolean,default:e=>Ig(e.theme,`html`)},content:{type:[String,Number,Function],default:null},loadingContent:{type:String,default:e=>Ig(e.theme,`loadingContent`)},targetNodes:{type:Function,required:!0}},data(){return{asyncContent:null}},computed:{isContentAsync(){return typeof this.content==`function`},loading(){return this.isContentAsync&&this.asyncContent==null},finalContent(){return this.isContentAsync?this.loading?this.loadingContent:this.asyncContent:this.content}},watch:{content:{handler(){this.fetchContent(!0)},immediate:!0},async finalContent(){await this.$nextTick(),this.$refs.popper.onResize()}},created(){this.$_fetchId=0},methods:{fetchContent(e){if(typeof this.content==`function`&&this.$_isShown&&(e||!this.$_loading&&this.asyncContent==null)){this.asyncContent=null,this.$_loading=!0;let e=++this.$_fetchId,t=this.content(this);t.then?t.then(t=>this.onResult(e,t)):this.onResult(e,t)}},onResult(e,t){e===this.$_fetchId&&(this.$_loading=!1,this.asyncContent=t)},onShow(){this.$_isShown=!0,this.fetchContent()},onHide(){this.$_isShown=!1}}}),I_=[`innerHTML`],L_=[`textContent`];function R_(e,t,n,r,i,a){let o=ha(`PopperContent`),s=ha(`Popper`);return vs(),ws(s,Bs({ref:`popper`},e.$attrs,{theme:e.theme,"target-nodes":e.targetNodes,"popper-node":()=>e.$refs.popperContent.$el,onApplyShow:e.onShow,onApplyHide:e.onHide}),{default:xr(({popperId:t,isShown:n,shouldMountContent:r,skipTransition:i,autoHide:a,hide:s,handleResize:c,onResize:l,classes:u,result:d})=>[V(o,{ref:`popperContent`,class:_e({"v-popper--tooltip-loading":e.loading}),"popper-id":t,theme:e.theme,shown:n,mounted:r,"skip-transition":i,"auto-hide":a,"handle-resize":c,classes:u,result:d,onHide:s,onResize:l},{default:xr(()=>[e.html?(vs(),Cs(`div`,{key:0,innerHTML:e.finalContent},null,8,I_)):(vs(),Cs(`div`,{key:1,textContent:Pe(e.finalContent)},null,8,L_))]),_:2},1032,[`class`,`popper-id`,`theme`,`shown`,`mounted`,`skip-transition`,`auto-hide`,`handle-resize`,`classes`,`result`,`onHide`,`onResize`])]),_:1},16,[`theme`,`target-nodes`,`popper-node`,`onApplyShow`,`onApplyHide`])}var z_=d_(F_,[[`render`,R_]]),B_=`v-popper--has-tooltip`;function V_(e,t){let n=e.placement;if(!n&&t)for(let e of Vg)t[e]&&(n=e);return n||=Ig(e.theme||`tooltip`,`placement`),n}function H_(e,t,n){let r,i=typeof t;return r=i===`string`?{content:t}:t&&i===`object`?t:{content:!1},r.placement=V_(r,n),r.targetNodes=()=>[e],r.referenceNode=()=>e,r}var U_,W_,G_=0;function K_(){if(U_)return;W_=mn([]),U_=Du({name:`VTooltipDirectiveApp`,setup(){return{directives:W_}},render(){return this.directives.map(e=>fc(z_,{...e.options,shown:e.shown||e.options.shown,key:e.id}))},devtools:{hide:!0}});let e=document.createElement(`div`);document.body.appendChild(e),U_.mount(e)}function q_(e,t,n){K_();let r=mn(H_(e,t,n)),i=mn(!1),a={id:G_++,options:r,shown:i};return W_.value.push(a),e.classList&&e.classList.add(B_),e.$_popper={options:r,item:a,show(){i.value=!0},hide(){i.value=!1}}}function J_(e){if(e.$_popper){let t=W_.value.indexOf(e.$_popper.item);t!==-1&&W_.value.splice(t,1),delete e.$_popper,delete e.$_popperOldShown,delete e.$_popperMountTarget}e.classList&&e.classList.remove(B_)}function Y_(e,{value:t,modifiers:n}){let r=H_(e,t,n);if(!r.content||Ig(r.theme||`tooltip`,`disabled`))J_(e);else{let i;e.$_popper?(i=e.$_popper,i.options.value=r):i=q_(e,t,n),typeof t.shown<`u`&&t.shown!==e.$_popperOldShown&&(e.$_popperOldShown=t.shown,t.shown?i.show():i.hide())}}var X_={beforeMount:Y_,updated:Y_,beforeUnmount(e){J_(e)}};function Z_(e){e.addEventListener(`mousedown`,$_),e.addEventListener(`click`,$_),e.addEventListener(`touchstart`,ev,zg?{passive:!0}:!1)}function Q_(e){e.removeEventListener(`mousedown`,$_),e.removeEventListener(`click`,$_),e.removeEventListener(`touchstart`,ev),e.removeEventListener(`touchend`,tv),e.removeEventListener(`touchcancel`,nv)}function $_(e){let t=e.currentTarget;e.closePopover=!t.$_vclosepopover_touch,e.closeAllPopover=t.$_closePopoverModifiers&&!!t.$_closePopoverModifiers.all}function ev(e){if(e.changedTouches.length===1){let t=e.currentTarget;t.$_vclosepopover_touch=!0,t.$_vclosepopover_touchPoint=e.changedTouches[0],t.addEventListener(`touchend`,tv),t.addEventListener(`touchcancel`,nv)}}function tv(e){let t=e.currentTarget;if(t.$_vclosepopover_touch=!1,e.changedTouches.length===1){let n=e.changedTouches[0],r=t.$_vclosepopover_touchPoint;e.closePopover=Math.abs(n.screenY-r.screenY)<20&&Math.abs(n.screenX-r.screenX)<20,e.closeAllPopover=t.$_closePopoverModifiers&&!!t.$_closePopoverModifiers.all}}function nv(e){let t=e.currentTarget;t.$_vclosepopover_touch=!1}var rv={beforeMount(e,{value:t,modifiers:n}){e.$_closePopoverModifiers=n,(typeof t>`u`||t)&&Z_(e)},updated(e,{value:t,oldValue:n,modifiers:r}){e.$_closePopoverModifiers=r,t!==n&&(typeof t>`u`||t?Z_(e):Q_(e))},beforeUnmount(e){Q_(e)}},iv=M_,av=P_;function ov(e,t={}){e.$_vTooltipInstalled||(e.$_vTooltipInstalled=!0,Pg(Fg,t),e.directive(`tooltip`,X_),e.directive(`close-popper`,rv),e.component(`VTooltip`,P_),e.component(`VDropdown`,M_),e.component(`VMenu`,N_))}var sv={version:`5.2.2`,install:ov,options:Fg},cv=typeof navigator<`u`&&/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent),lv={install:(e,t={})=>{if(typeof window<`u`&&(window.addEventListener(`vitepress:codeGroupTabActivate`,i_,{passive:!0}),window.addEventListener(`click`,e=>{e.composedPath().some(e=>e?.classList?.contains?.(`vp-code-group`)||e?.classList?.contains?.(`tabs`))&&i_()},{passive:!0}),!cv)){let t=!1;window.addEventListener(`mousedown`,()=>{t=!0},{passive:!0}),window.addEventListener(`mouseup`,()=>{t=!1},{passive:!0});let n=e.component;e.component=function(...e){let r=n.apply(this,e);if(e.length>=2&&e[0]===`VMenu`)try{let n=e[1].components.Popper.extends,r=n.methods.show;n.methods.show=function(...e){if(!t)return r.apply(this,e)};let i=n.methods.hide;n.methods.hide=function(...e){if(!t)return i.apply(this,e)}}catch(e){console.error(`Failed to patch FloatingVue`,e)}return r}}e.use(sv,{strategy:`fixed`,...t,themes:{...t.themes,twoslash:{$extend:`dropdown`,triggers:cv?[`touch`]:[`hover`,`touch`],popperTriggers:cv?[`touch`]:[`hover`,`touch`],placement:`bottom-start`,overflowPadding:10,delay:{show:200,hide:0},handleResize:!1,autoHide:!0,noAutoFocus:!0,instantMove:!0,flip:!1,arrowPadding:8,autoBoundaryMaxSize:!0,...t.themes?.twoslash??{}},"twoslash-query":{$extend:`twoslash`,triggers:[`click`],popperTriggers:[`click`],autoHide:!1,noAutoFocus:!0,...t.themes?.[`twoslash-query`]??{}},"twoslash-completion":{$extend:`twoslash-query`,triggers:[`click`],popperTriggers:[`click`],autoHide:!1,noAutoFocus:!0,distance:0,arrowOverflow:!0,...t.themes?.[`twoslash-completion`]??{}}}})}};export{xr as $,Ts as A,wr as B,Wi as C,fc as D,Ms as E,sa as F,_a as G,Ca as H,Xi as I,Ra as J,fi as K,ia as L,Bs as M,ir as N,Er as O,Yi as P,jr as Q,ca as R,V as S,Pe as St,Gs as T,ha as U,xa as V,va as W,Mr as X,mi as Y,kr as Z,As as _,bn as _t,Ic as a,I as at,Cs as b,ve as bt,iu as c,tn as ct,yu as d,nn as dt,Sr as et,_u as f,an as ft,dc as g,Tn as gt,qi as h,On as ht,i_ as i,cn as it,Ua as j,Tr as k,ru as l,rn as lt,z as m,F as mt,av as n,ze as nt,Gl as o,dn as ot,B as p,hn as pt,fo as q,iv as r,Be as rt,Du as s,Ve as st,lv as t,wn as tt,el as u,mn as ut,ws as v,yn as vt,di as w,Ps as x,fe as xt,Is as y,_e as yt,vs as z}; \ No newline at end of file diff --git a/lecture-05/assets/modules/unplugin-icons-CEvhMF8G.js b/lecture-05/assets/modules/unplugin-icons-CEvhMF8G.js new file mode 100644 index 0000000000000000000000000000000000000000..dcdc67d8b3453fb6e744ae86a5dfc0c43b1469d5 --- /dev/null +++ b/lecture-05/assets/modules/unplugin-icons-CEvhMF8G.js @@ -0,0 +1 @@ +import{_ as e,b as t,ot as n,z as r}from"./shiki-CkJq9tSf.js";var i={class:`slidev-icon`,viewBox:`0 0 256 256`,width:`1.2em`,height:`1.2em`};function a(n,a){return r(),t(`svg`,i,[...a[0]||=[e(`path`,{fill:`currentColor`,d:`M200 32h-36.26a47.92 47.92 0 0 0-71.48 0H56a16 16 0 0 0-16 16v168a16 16 0 0 0 16 16h144a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16m-72 0a32 32 0 0 1 32 32H96a32 32 0 0 1 32-32m72 184H56V48h26.75A47.9 47.9 0 0 0 80 64v8a8 8 0 0 0 8 8h80a8 8 0 0 0 8-8v-8a47.9 47.9 0 0 0-2.75-16H200Z`},null,-1)]])}var o=n({name:`ph-clipboard`,render:a}),s={class:`slidev-icon`,viewBox:`0 0 256 256`,width:`1.2em`,height:`1.2em`};function c(n,i){return r(),t(`svg`,s,[...i[0]||=[e(`path`,{fill:`currentColor`,d:`M173.66 98.34a8 8 0 0 1 0 11.32l-56 56a8 8 0 0 1-11.32 0l-24-24a8 8 0 0 1 11.32-11.32L112 148.69l50.34-50.35a8 8 0 0 1 11.32 0M232 128A104 104 0 1 1 128 24a104.11 104.11 0 0 1 104 104m-16 0a88 88 0 1 0-88 88a88.1 88.1 0 0 0 88-88`},null,-1)]])}var l=n({name:`ph-check-circle`,render:c}),u={class:`slidev-icon`,viewBox:`0 0 32 32`,width:`1.2em`,height:`1.2em`};function d(n,i){return r(),t(`svg`,u,[...i[0]||=[e(`path`,{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`},null,-1)]])}var f=n({name:`carbon-sun`,render:d}),p={class:`slidev-icon`,viewBox:`0 0 32 32`,width:`1.2em`,height:`1.2em`};function m(n,i){return r(),t(`svg`,p,[...i[0]||=[e(`path`,{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`},null,-1)]])}var h=n({name:`carbon-moon`,render:m}),g={class:`slidev-icon`,viewBox:`0 0 256 256`,width:`1.2em`,height:`1.2em`};function _(n,i){return r(),t(`svg`,g,[...i[0]||=[e(`path`,{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`},null,-1)]])}var v=n({name:`ph-cursor-fill`,render:_});export{o as a,l as i,h as n,f as r,v as t}; \ No newline at end of file diff --git a/lecture-05/assets/modules/vue-Dz2ojcKF.js b/lecture-05/assets/modules/vue-Dz2ojcKF.js new file mode 100644 index 0000000000000000000000000000000000000000..d57a1303014bc1744c0d5b204065cda98eca8cc6 --- /dev/null +++ b/lecture-05/assets/modules/vue-Dz2ojcKF.js @@ -0,0 +1,5 @@ +import{B as e,D as t,J as n,L as r,N as i,O as a,R as o,T as s,X as c,Z as l,_t as u,at as d,ct as f,dt as p,ft as m,g as h,gt as g,ht as _,k as v,lt as y,m as b,mt as x,nt as S,pt as C,rt as w,st as T,tt as E,ut as D,vt as O,w as k}from"./shiki-CkJq9tSf.js";function ee(e){return typeof e==`object`||`displayName`in e||`props`in e||`__vccOpts`in e}function A(e){return e.__esModule||e[Symbol.toStringTag]===`Module`||e.default&&ee(e.default)}var j=Object.assign;function te(e,t){let n={};for(let r in t){let i=t[r];n[r]=M(i)?i.map(e):e(i)}return n}var ne=()=>{},M=Array.isArray;function re(e,t){let n={};for(let r in e)n[r]=r in t?t[r]:e[r];return n}var ie=Symbol(``);function N(e,t){return j(Error(),{type:e,[ie]:!0},t)}function P(e,t){return e instanceof Error&&ie in e&&(t==null||!!(e.type&t))}var ae=Symbol(``),oe=Symbol(``),se=Symbol(``),ce=Symbol(``),le=Symbol(``);function ue(){return v(se)}function de(e){return v(ce)}var fe=typeof document<`u`,pe=/#/g,me=/&/g,he=/\//g,ge=/=/g,_e=/\?/g,ve=/\+/g,ye=/%5B/g,be=/%5D/g,F=/%5E/g,xe=/%60/g,Se=/%7B/g,Ce=/%7C/g,we=/%7D/g,Te=/%20/g;function Ee(e){return e==null?``:encodeURI(``+e).replace(Ce,`|`).replace(ye,`[`).replace(be,`]`)}function De(e){return Ee(e).replace(Se,`{`).replace(we,`}`).replace(F,`^`)}function Oe(e){return Ee(e).replace(ve,`%2B`).replace(Te,`+`).replace(pe,`%23`).replace(me,`%26`).replace(xe,"`").replace(Se,`{`).replace(we,`}`).replace(F,`^`)}function ke(e){return Oe(e).replace(ge,`%3D`)}function Ae(e){return Ee(e).replace(pe,`%23`).replace(_e,`%3F`)}function je(e){return Ae(e).replace(he,`%2F`)}function Me(e){if(e==null)return null;try{return decodeURIComponent(``+e)}catch{}return``+e}var Ne=/\/$/,Pe=e=>e.replace(Ne,``);function Fe(e,t,n=`/`){let r,i={},a=``,o=``,s=t.indexOf(`#`),c=t.indexOf(`?`);return c=s>=0&&c>s?-1:c,c>=0&&(r=t.slice(0,c),a=t.slice(c,s>0?s:t.length),i=e(a.slice(1))),s>=0&&(r||=t.slice(0,s),o=t.slice(s,t.length)),r=Ue(r??t,n),{fullPath:r+a+o,path:r,query:i,hash:Me(o)}}function Ie(e,t){let n=t.query?e(t.query):``;return t.path+(n&&`?`)+n+(t.hash||``)}function Le(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||`/`}function Re(e,t,n){let r=t.matched.length-1,i=n.matched.length-1;return r>-1&&r===i&&ze(t.matched[r],n.matched[i])&&Be(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function ze(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function Be(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var n in e)if(!Ve(e[n],t[n]))return!1;return!0}function Ve(e,t){return M(e)?He(e,t):M(t)?He(t,e):(e&&e.valueOf())===(t&&t.valueOf())}function He(e,t){return M(t)?e.length===t.length&&e.every((e,n)=>e===t[n]):e.length===1&&e[0]===t}function Ue(e,t){if(e.startsWith(`/`))return e;if(!e)return t;let n=t.split(`/`),r=e.split(`/`),i=r[r.length-1];(i===`..`||i===`.`)&&r.push(``);let a=n.length-1,o,s;for(o=0;o1&&a--;else break}return n.slice(0,a).join(`/`)+`/`+r.slice(o).join(`/`)}var I={path:`/`,name:void 0,params:{},query:{},hash:``,fullPath:`/`,matched:[],meta:{},redirectedFrom:void 0};function We(e){if(!e){if(fe){let t=document.querySelector(`base`);e=t&&t.getAttribute(`href`)||`/`,e=e.replace(/^\w+:\/\/[^/]+/,``)}else e=`/`}return e[0]!==`/`&&e[0]!==`#`&&(e=`/`+e),Pe(e)}var Ge=/^[^#]+#/;function Ke(e,t){return e.replace(Ge,`#`)+t}function qe(e,t){let n=document.documentElement.getBoundingClientRect(),r=e.getBoundingClientRect();return{behavior:t.behavior,left:r.left-n.left-(t.left||0),top:r.top-n.top-(t.top||0)}}var Je=()=>({left:window.scrollX,top:window.scrollY});function Ye(e){let t;if(`el`in e){let n=e.el,r=typeof n==`string`&&n.startsWith(`#`),i=typeof n==`string`?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!i)return;t=qe(i,e)}else t=e;`scrollBehavior`in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left==null?window.scrollX:t.left,t.top==null?window.scrollY:t.top)}function Xe(e,t){return(history.state?history.state.position-t:-1)+e}var Ze=new Map;function Qe(e,t){Ze.set(e,t)}function $e(e){let t=Ze.get(e);return Ze.delete(e),t}function et(e){return typeof e==`string`||e&&typeof e==`object`}function tt(e){return typeof e==`string`||typeof e==`symbol`}function nt(e){let t={};if(e===``||e===`?`)return t;let n=(e[0]===`?`?e.slice(1):e).split(`&`);for(let e=0;ee&&Oe(e)):[r&&Oe(r)]).forEach(e=>{e!==void 0&&(t+=(t.length?`&`:``)+n,e!=null&&(t+=`=`+e))})}return t}function it(e){let t={};for(let n in e){let r=e[n];r!==void 0&&(t[n]=M(r)?r.map(e=>e==null?null:``+e):r==null?r:``+r)}return t}function at(){let e=[];function t(t){return e.push(t),()=>{let n=e.indexOf(t);n>-1&&e.splice(n,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function L(e,t,n,r,i,a=e=>e()){let o=r&&(r.enterCallbacks[i]=r.enterCallbacks[i]||[]);return()=>new Promise((s,c)=>{let l=e=>{e===!1?c(N(4,{from:n,to:t})):e instanceof Error?c(e):et(e)?c(N(2,{from:t,to:e})):(o&&r.enterCallbacks[i]===o&&typeof e==`function`&&o.push(e),s())},u=a(()=>e.call(r&&r.instances[i],t,n,l)),d=Promise.resolve(u);e.length<3&&(d=d.then(l)),d.catch(e=>c(e))})}function ot(e,t,n,r,i=e=>e()){let a=[];for(let o of e)for(let e in o.components){let s=o.components[e];if(!(t!==`beforeRouteEnter`&&!o.instances[e])){if(ee(s)){let c=(s.__vccOpts||s)[t];c&&a.push(L(c,n,r,o,e,i))}else{let c=s();a.push(()=>c.then(a=>{if(!a)throw Error(`Couldn't resolve component "${e}" at "${o.path}"`);let s=A(a)?a.default:a;o.mods[e]=a,o.components[e]=s;let c=(s.__vccOpts||s)[t];return c&&L(c,n,r,o,e,i)()}))}}}return a}function st(e,t){let n=[],r=[],i=[],a=Math.max(t.matched.length,e.matched.length);for(let o=0;oze(e,a))?r.push(a):n.push(a));let s=e.matched[o];s&&(t.matched.find(e=>ze(e,s))||i.push(s))}return[n,r,i]}var ct=()=>location.protocol+`//`+location.host;function lt(e,t){let{pathname:n,search:r,hash:i}=t,a=e.indexOf(`#`);if(a>-1){let t=i.includes(e.slice(a))?e.slice(a).length:1,n=i.slice(t);return n[0]!==`/`&&(n=`/`+n),Le(n,``)}return Le(n,e)+r+i}function ut(e,t,n,r){let i=[],a=[],o=null,s=({state:a})=>{let s=lt(e,location),c=n.value,l=t.value,u=0;if(a){if(n.value=s,t.value=a,o&&o===c){o=null;return}u=l?a.position-l.position:0}else r(s);i.forEach(e=>{e(n.value,c,{delta:u,type:`pop`,direction:u?u>0?`forward`:`back`:``})})};function c(){o=n.value}function l(e){i.push(e);let t=()=>{let t=i.indexOf(e);t>-1&&i.splice(t,1)};return a.push(t),t}function u(){if(document.visibilityState===`hidden`){let{history:e}=window;if(!e.state)return;e.replaceState(j({},e.state,{scroll:Je()}),``)}}function d(){for(let e of a)e();a=[],window.removeEventListener(`popstate`,s),window.removeEventListener(`pagehide`,u),document.removeEventListener(`visibilitychange`,u)}return window.addEventListener(`popstate`,s),window.addEventListener(`pagehide`,u),document.addEventListener(`visibilitychange`,u),{pauseListeners:c,listen:l,destroy:d}}function dt(e,t,n,r=!1,i=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:i?Je():null}}function ft(e){let{history:t,location:n}=window,r={value:lt(e,n)},i={value:t.state};i.value||a(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function a(r,a,o){let s=e.indexOf(`#`),c=s>-1?(n.host&&document.querySelector(`base`)?e:e.slice(s))+r:ct()+e+r;try{t[o?`replaceState`:`pushState`](a,``,c),i.value=a}catch(e){console.error(e),n[o?`replace`:`assign`](c)}}function o(e,n){a(e,j({},t.state,dt(i.value.back,e,i.value.forward,!0),n,{position:i.value.position}),!0),r.value=e}function s(e,n){let o=j({},i.value,t.state,{forward:e,scroll:Je()});a(o.current,o,!0),a(e,j({},dt(r.value,e,null),{position:o.position+1},n),!1),r.value=e}return{location:r,state:i,push:s,replace:o}}function pt(e){e=We(e);let t=ft(e),n=ut(e,t.state,t.location,t.replace);function r(e,t=!0){t||n.pauseListeners(),history.go(e)}let i=j({location:``,base:e,go:r,createHref:Ke.bind(null,e)},t,n);return Object.defineProperty(i,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(i,"state",{enumerable:!0,get:()=>t.state.value}),i}function mt(e){return e=location.host?e||location.pathname+location.search:``,e.includes(`#`)||(e+=`#`),pt(e)}var ht={type:0,value:``},gt=/[a-zA-Z0-9_]/;function _t(e){if(!e)return[[]];if(e===`/`)return[[ht]];if(!e.startsWith(`/`))throw Error(`Invalid path "${e}"`);function t(e){throw Error(`ERR (${n})/"${l}": ${e}`)}let n=0,r=n,i=[],a;function o(){a&&i.push(a),a=[]}let s=0,c,l=``,u=``;function d(){l&&=(n===0?a.push({type:0,value:l}):n===1||n===2||n===3?(a.length>1&&(c===`*`||c===`+`)&&t(`A repeatable param (${l}) must be alone in its segment. eg: '/:ids+.`),a.push({type:1,value:l,regexp:u,repeatable:c===`*`||c===`+`,optional:c===`*`||c===`?`})):t(`Invalid state to consume buffer`),``)}function f(){l+=c}for(;st.length?t.length===1&&t[0]===80?1:-1:0}function Ct(e,t){let n=0,r=e.score,i=t.score;for(;n0&&t[t.length-1]<0}var Tt={strict:!1,end:!0,sensitive:!1};function Et(e,t,n){let r=j(xt(_t(e.path),n),{record:e,parent:t,children:[],alias:[]});return t&&!r.record.aliasOf==!t.record.aliasOf&&t.children.push(r),r}function Dt(e,t){let n=[],r=new Map;t=re(Tt,t);function i(e){return r.get(e)}function a(e,n,r){let i=!r,s=kt(e);s.aliasOf=r&&r.record;let l=re(t,e),u=[s];if(`alias`in e){let t=typeof e.alias==`string`?[e.alias]:e.alias;for(let e of t)u.push(kt(j({},s,{components:r?r.record.components:s.components,path:e,aliasOf:r?r.record:s})))}let d,f;for(let t of u){let{path:u}=t;if(n&&u[0]!==`/`){let e=n.record.path,r=e[e.length-1]===`/`?``:`/`;t.path=n.record.path+(u&&r+u)}if(d=Et(t,n,l),r?r.alias.push(d):(f||=d,f!==d&&f.alias.push(d),i&&e.name&&!jt(d)&&o(e.name)),Ft(d)&&c(d),s.children){let e=s.children;for(let t=0;t{o(f)}:ne}function o(e){if(tt(e)){let t=r.get(e);t&&(r.delete(e),n.splice(n.indexOf(t),1),t.children.forEach(o),t.alias.forEach(o))}else{let t=n.indexOf(e);t>-1&&(n.splice(t,1),e.record.name&&r.delete(e.record.name),e.children.forEach(o),e.alias.forEach(o))}}function s(){return n}function c(e){let t=Nt(e,n);n.splice(t,0,e),e.record.name&&!jt(e)&&r.set(e.record.name,e)}function l(e,t){let i,a={},o,s;if(`name`in e&&e.name){if(i=r.get(e.name),!i)throw N(1,{location:e});s=i.record.name,a=j(Ot(t.params,i.keys.filter(e=>!e.optional).concat(i.parent?i.parent.keys.filter(e=>e.optional):[]).map(e=>e.name)),e.params&&Ot(e.params,i.keys.map(e=>e.name))),o=i.stringify(a)}else if(e.path!=null)o=e.path,i=n.find(e=>e.re.test(o)),i&&(a=i.parse(o),s=i.record.name,i.keys.forEach(e=>{e.optional&&!a[e.name]&&delete a[e.name]}));else{if(i=t.name?r.get(t.name):n.find(e=>e.re.test(t.path)),!i)throw N(1,{location:e,currentLocation:t});s=i.record.name,a=j({},t.params,e.params),o=i.stringify(a)}let c=[],l=i;for(;l;)c.unshift(l.record),l=l.parent;return{name:s,path:o,params:a,matched:c,meta:Mt(c)}}e.forEach(e=>a(e));function u(){n.length=0,r.clear()}return{addRoute:a,resolve:l,removeRoute:o,clearRoutes:u,getRoutes:s,getRecordMatcher:i}}function Ot(e,t){let n={};for(let r of t)r in e&&(n[r]=e[r]);return n}function kt(e){let t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:At(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:`components`in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,"mods",{value:{}}),t}function At(e){let t={},n=e.props||!1;if(`component`in e)t.default=n;else for(let r in e.components)t[r]=typeof n==`object`?n[r]:n;return t}function jt(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function Mt(e){return e.reduce((e,t)=>j(e,t.meta),{})}function Nt(e,t){let n=0,r=t.length;for(;n!==r;){let i=n+r>>1;Ct(e,t[i])<0?r=i:n=i+1}let i=Pt(e);return i&&(r=t.lastIndexOf(i,r-1)),r}function Pt(e){let t=e;for(;t=t.parent;)if(Ft(t)&&Ct(e,t)===0)return t}function Ft({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function It(e){let t=v(se),n=v(ce),r=h(()=>{let n=O(e.to);return t.resolve(n)}),i=h(()=>{let{matched:e}=r.value,{length:t}=e,i=e[t-1],a=n.matched;if(!i||!a.length)return-1;let o=a.findIndex(ze.bind(null,i));if(o>-1)return o;let s=Vt(e[t-2]);return t>1&&Vt(i)===s&&a[a.length-1].path!==s?a.findIndex(ze.bind(null,e[t-2])):o}),a=h(()=>i.value>-1&&Bt(n.params,r.value.params)),o=h(()=>i.value>-1&&i.value===n.matched.length-1&&Be(n.params,r.value.params));function s(n={}){if(zt(n)){let n=t[O(e.replace)?`replace`:`push`](O(e.to)).catch(ne);return e.viewTransition&&typeof document<`u`&&`startViewTransition`in document&&document.startViewTransition(()=>n),n}return Promise.resolve()}return{route:r,href:h(()=>r.value.href),isActive:a,isExactActive:o,navigate:s}}function Lt(e){return e.length===1?e[0]:e}var Rt=k({name:`RouterLink`,compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:`page`},viewTransition:Boolean},useLink:It,setup(e,{slots:n}){let r=f(It(e)),{options:i}=v(se),a=h(()=>({[Ht(e.activeClass,i.linkActiveClass,`router-link-active`)]:r.isActive,[Ht(e.exactActiveClass,i.linkExactActiveClass,`router-link-exact-active`)]:r.isExactActive}));return()=>{let i=n.default&&Lt(n.default(r));return e.custom?i:t(`a`,{"aria-current":r.isExactActive?e.ariaCurrentValue:null,href:r.href,onClick:r.navigate,class:a.value},i)}}});function zt(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&(e.button===void 0||e.button===0)){if(e.currentTarget&&e.currentTarget.getAttribute){let t=e.currentTarget.getAttribute(`target`);if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function Bt(e,t){for(let n in t){let r=t[n],i=e[n];if(typeof r==`string`){if(r!==i)return!1}else if(!M(i)||i.length!==r.length||r.some((e,t)=>e.valueOf()!==i[t].valueOf()))return!1}return!0}function Vt(e){return e?e.aliasOf?e.aliasOf.path:e.path:``}var Ht=(e,t,n)=>e??t??n,Ut=k({name:`RouterView`,inheritAttrs:!1,props:{name:{type:String,default:`default`},route:Object},compatConfig:{MODE:3},setup(n,{attrs:r,slots:i}){let a=v(le),o=h(()=>n.route||a.value),s=v(oe,0),l=h(()=>{let e=O(s),{matched:t}=o.value,n;for(;(n=t[e])&&!n.components;)e++;return e}),u=h(()=>o.value.matched[l.value]);e(oe,h(()=>l.value+1)),e(ae,u),e(le,o);let d=D();return c(()=>[d.value,u.value,n.name],([e,t,n],[r,i,a])=>{t&&(t.instances[n]=e,i&&i!==t&&e&&e===r&&(t.leaveGuards.size||(t.leaveGuards=i.leaveGuards),t.updateGuards.size||(t.updateGuards=i.updateGuards))),e&&t&&(!i||!ze(t,i)||!r)&&(t.enterCallbacks[n]||[]).forEach(t=>t(e))},{flush:`post`}),()=>{let e=o.value,a=n.name,s=u.value,c=s&&s.components[a];if(!c)return Wt(i.default,{Component:c,route:e});let l=s.props[a],f=l?l===!0?e.params:typeof l==`function`?l(e):l:null,p=t(c,j({},f,r,{onVnodeUnmounted:e=>{e.component.isUnmounted&&(s.instances[a]=null)},ref:d}));return Wt(i.default,{Component:p,route:e})||p}}});function Wt(e,t){if(!e)return null;let n=e(t);return n.length===1?n[0]:n}var Gt=Ut;function Kt(e){let t=Dt(e.routes,e),n=e.parseQuery||nt,r=e.stringifyQuery||rt,a=e.history,o=at(),s=at(),c=at(),l=C(I),u=I;fe&&e.scrollBehavior&&`scrollRestoration`in history&&(history.scrollRestoration=`manual`);let d=te.bind(null,e=>``+e),f=te.bind(null,je),m=te.bind(null,Me);function h(e,n){let r,i;return tt(e)?(r=t.getRecordMatcher(e),i=n):i=e,t.addRoute(i,r)}function g(e){let n=t.getRecordMatcher(e);n&&t.removeRoute(n)}function _(){return t.getRoutes().map(e=>e.record)}function v(e){return!!t.getRecordMatcher(e)}function y(e,i){if(i=j({},i||l.value),typeof e==`string`){let r=Fe(n,e,i.path),o=t.resolve({path:r.path},i),s=a.createHref(r.fullPath);return j(r,o,{params:m(o.params),redirectedFrom:void 0,href:s})}let o;if(e.path!=null)o=j({},e,{path:Fe(n,e.path,i.path).path});else{let t=j({},e.params);for(let e in t)t[e]??delete t[e];o=j({},e,{params:f(t)}),i.params=f(i.params)}let s=t.resolve(o,i),c=e.hash||``;s.params=d(m(s.params));let u=Ie(r,j({},e,{hash:De(c),path:s.path})),p=a.createHref(u);return j({fullPath:u,hash:c,query:r===rt?it(e.query):e.query||{}},s,{redirectedFrom:void 0,href:p})}function b(e){return typeof e==`string`?Fe(n,e,l.value.path):j({},e)}function x(e,t){if(u!==e)return N(8,{from:t,to:e})}function S(e){return E(e)}function w(e){return S(j(b(e),{replace:!0}))}function T(e,t){let n=e.matched[e.matched.length-1];if(n&&n.redirect){let{redirect:r}=n,i=typeof r==`function`?r(e,t):r;return typeof i==`string`&&(i=i.includes(`?`)||i.includes(`#`)?i=b(i):{path:i},i.params={}),j({query:e.query,hash:e.hash,params:i.path==null?e.params:{}},i)}}function E(e,t){let n=u=y(e),i=l.value,a=e.state,o=e.force,s=e.replace===!0,c=T(n,i);if(c)return E(j(b(c),{state:typeof c==`object`?j({},a,c.state):a,force:o,replace:s}),t||n);let d=n;d.redirectedFrom=t;let f;return!o&&Re(r,i,n)&&(f=N(16,{to:d,from:i}),ge(i,i,!0,!1)),(f?Promise.resolve(f):ee(d,i)).catch(e=>P(e)?P(e,2)?e:he(e):pe(e,d,i)).then(e=>{if(e){if(P(e,2))return E(j({replace:s},b(e.to),{state:typeof e.to==`object`?j({},a,e.to.state):a,force:o}),t||d)}else e=re(d,i,!0,s,a);return A(d,i,e),e})}function D(e,t){let n=x(e,t);return n?Promise.reject(n):Promise.resolve()}function k(e){let t=ye.values().next().value;return t&&typeof t.runWithContext==`function`?t.runWithContext(e):e()}function ee(e,t){let n,[r,i,a]=st(e,t);n=ot(r.reverse(),`beforeRouteLeave`,e,t);for(let i of r)i.leaveGuards.forEach(r=>{n.push(L(r,e,t))});let c=D.bind(null,e,t);return n.push(c),F(n).then(()=>{n=[];for(let r of o.list())n.push(L(r,e,t));return n.push(c),F(n)}).then(()=>{n=ot(i,`beforeRouteUpdate`,e,t);for(let r of i)r.updateGuards.forEach(r=>{n.push(L(r,e,t))});return n.push(c),F(n)}).then(()=>{n=[];for(let r of a)if(r.beforeEnter){if(M(r.beforeEnter))for(let i of r.beforeEnter)n.push(L(i,e,t));else n.push(L(r.beforeEnter,e,t))}return n.push(c),F(n)}).then(()=>(e.matched.forEach(e=>e.enterCallbacks={}),n=ot(a,`beforeRouteEnter`,e,t,k),n.push(c),F(n))).then(()=>{n=[];for(let r of s.list())n.push(L(r,e,t));return n.push(c),F(n)}).catch(e=>P(e,8)?e:Promise.reject(e))}function A(e,t,n){c.list().forEach(r=>k(()=>r(e,t,n)))}function re(e,t,n,r,i){let o=x(e,t);if(o)return o;let s=t===I,c=fe?history.state:{};n&&(r||s?a.replace(e.fullPath,j({scroll:s&&c&&c.scroll},i)):a.push(e.fullPath,i)),l.value=e,ge(e,t,n,s),he()}let ie;function ae(){ie||=a.listen((e,t,n)=>{if(!be.listening)return;let r=y(e),i=T(r,be.currentRoute.value);if(i){E(j(i,{replace:!0,force:!0}),r).catch(ne);return}u=r;let o=l.value;fe&&Qe(Xe(o.fullPath,n.delta),Je()),ee(r,o).catch(e=>P(e,12)?e:P(e,2)?(E(j(b(e.to),{force:!0}),r).then(e=>{P(e,20)&&!n.delta&&n.type===`pop`&&a.go(-1,!1)}).catch(ne),Promise.reject()):(n.delta&&a.go(-n.delta,!1),pe(e,r,o))).then(e=>{e||=re(r,o,!1),e&&(n.delta&&!P(e,8)?a.go(-n.delta,!1):n.type===`pop`&&P(e,20)&&a.go(-1,!1)),A(r,o,e)}).catch(ne)})}let oe=at(),ue=at(),de;function pe(e,t,n){he(e);let r=ue.list();return r.length?r.forEach(r=>r(e,t,n)):console.error(e),Promise.reject(e)}function me(){return de&&l.value!==I?Promise.resolve():new Promise((e,t)=>{oe.add([e,t])})}function he(e){return de||(de=!e,ae(),oe.list().forEach(([t,n])=>e?n(e):t()),oe.reset()),e}function ge(t,n,r,a){let{scrollBehavior:o}=e;if(!fe||!o)return Promise.resolve();let s=!r&&$e(Xe(t.fullPath,0))||(a||!r)&&history.state&&history.state.scroll||null;return i().then(()=>o(t,n,s)).then(e=>t===l.value&&e&&Ye(e)).catch(e=>t===l.value&&pe(e,t,n))}let _e=e=>a.go(e),ve,ye=new Set,be={currentRoute:l,listening:!0,addRoute:h,removeRoute:g,clearRoutes:t.clearRoutes,hasRoute:v,getRoutes:_,resolve:y,options:e,push:S,replace:w,go:_e,back:()=>_e(-1),forward:()=>_e(1),beforeEach:o.add,beforeResolve:s.add,afterEach:c.add,onError:ue.add,isReady:me,install(e){e.component(`RouterLink`,Rt),e.component(`RouterView`,Gt),e.config.globalProperties.$router=be,Object.defineProperty(e.config.globalProperties,"$route",{enumerable:!0,get:()=>O(l)}),fe&&!ve&&l.value===I&&(ve=!0,S(a.location).catch(e=>{}));let t={};for(let e in I)Object.defineProperty(t,e,{get:()=>l.value[e],enumerable:!0});e.provide(se,be),e.provide(ce,p(t)),e.provide(le,l);let n=e.unmount;ye.add(e),e.unmount=function(){ye.delete(e),ye.size<1&&(u=I,ie&&ie(),ie=null,l.value=I,ve=!1,de=!1),n()}}};function F(e){return e.reduce((e,t)=>e.then(()=>k(t)),Promise.resolve())}return be}function R(e,t){return w()?(T(e,t),!0):!1}var qt=new WeakMap,Jt=(...e)=>{let t=e[0],n=s()?.proxy??w();if(n==null&&!a())throw Error(`injectLocal must be called in setup`);return n&&qt.has(n)&&t in qt.get(n)?qt.get(n)[t]:v(...e)};function Yt(t,n){let r=s()?.proxy??w();if(r==null)throw Error(`provideLocal must be called in setup`);qt.has(r)||qt.set(r,Object.create(null));let i=qt.get(r);return i[t]=n,e(t,n)}var z=typeof window<`u`&&typeof document<`u`;typeof WorkerGlobalScope<`u`&&globalThis instanceof WorkerGlobalScope;var Xt=e=>e!==void 0,Zt=e=>e!=null,Qt=Object.prototype.toString,$t=e=>Qt.call(e)===`[object Object]`,en=()=>+Date.now(),B=()=>{},tn=nn();function nn(){var e,t;return z&&!!((e=window)!=null&&(e=e.navigator)!=null&&e.userAgent)&&(/iP(?:ad|hone|od)/.test(window.navigator.userAgent)||((t=window)==null||(t=t.navigator)==null?void 0:t.maxTouchPoints)>2&&/iPad|Macintosh/.test(window?.navigator.userAgent))}function rn(...e){if(e.length!==1)return _(...e);let t=e[0];return typeof t==`function`?y(E(()=>({get:t,set:B}))):D(t)}function an(e,t){function n(...n){return new Promise((r,i)=>{Promise.resolve(e(()=>t.apply(this,n),{fn:t,thisArg:this,args:n})).then(r).catch(i)})}return`cancel`in e&&Object.assign(n,{cancel:e.cancel,flush:e.flush,isPending:e.isPending}),n}var on=e=>e();function sn(e,t={}){let n,r,i=B,a=B,o=C(!1),s=e=>{clearTimeout(e),i(),i=B},c;return Object.assign(l=>{let d=u(e),f=u(t.maxWait);return n&&s(n),d<=0||f!==void 0&&f<=0?(r&&=(s(r),void 0),o.value=!1,Promise.resolve(l())):(o.value=!0,new Promise((e,u)=>{i=t.rejectOnCancel?u:e,a=e,c=l,f&&!r&&(r=setTimeout(()=>{n&&s(n),r=void 0,o.value=!1,e(c())},f)),n=setTimeout(()=>{r&&s(r),r=void 0,o.value=!1,e(l())},d)}))},{cancel:()=>{n&&=(s(n),void 0),r&&=(s(r),void 0),o.value=!1,a=B},flush:()=>{if(o.value){n&&=(clearTimeout(n),void 0),r&&=(clearTimeout(r),void 0),o.value=!1;let e=a;i=B,a=B,e(c())}},isPending:m(o)})}function cn(e=on,t={}){let{initialState:n=`active`}=t,r=rn(n===`active`);function i(){r.value=!1}function a(){r.value=!0}return{isActive:m(r),pause:i,resume:a,eventFilter:(...t)=>{r.value&&e(...t)}}}function ln(e){let t;function n(){return t||=e(),t}return n.reset=async()=>{let e=t;t=void 0,e&&await e},n}function un(e,t){if(typeof e==`number`)return e+t;let n=e.match(/^-?\d+\.?\d*/)?.[0]||``,r=e.slice(n.length),i=Number.parseFloat(n)+t;return Number.isNaN(i)?e:i+r}function dn(e){return e.endsWith(`rem`)?Number.parseFloat(e)*16:Number.parseFloat(e)}function fn(e,t,n=!1){return Object.fromEntries(Object.entries(e).filter(([e,r])=>(!n||r!==void 0)&&!t.includes(e)))}function pn(e){return Array.isArray(e)?e:[e]}function mn(e){return e||s()}function hn(e){if(!z)return e;let t=0,n,r,i=()=>{--t,r&&t<=0&&(r.stop(),n=void 0,r=void 0)};return((...a)=>(t+=1,r||(r=S(!0),n=r.run(()=>e(...a))),R(i),n))}function gn(e,t,n={}){let{eventFilter:r=on,...i}=n;return c(e,an(r,t),i)}function _n(e,t,n={}){let{eventFilter:r,initialState:i=`active`,...a}=n,{eventFilter:o,pause:s,resume:c,isActive:l}=cn(r,{initialState:i});return{stop:gn(e,t,{...a,eventFilter:o}),pause:s,resume:c,isActive:l}}function vn(e,t={}){if(!d(e))return g(e);let n=Array.isArray(e.value)?Array.from({length:e.value.length}):{};for(let r in e.value)n[r]=E(()=>({get(){return e.value[r]},set(n){if(u(t.replaceRef)??!0){if(Array.isArray(e.value)){let t=[...e.value];t[r]=n,e.value=t}else{let t={...e.value,[r]:n};Object.setPrototypeOf(t,Object.getPrototypeOf(e.value)),e.value=t}}else e.value[r]=n}}));return n}function V(e,t=!0,n){mn(n)?r(e,n):t?e():i(e)}function yn(e,t=1e3,n={}){let{immediate:r=!0,immediateCallback:i=!1}=n,a=null,o=C(!1);function s(){a&&=(clearInterval(a),null)}function l(){o.value=!1,s()}function f(){let n=u(t);n<=0||(o.value=!0,i&&e(),s(),o.value&&(a=setInterval(e,n)))}return r&&z&&f(),(d(t)||typeof t==`function`)&&R(c(t,()=>{o.value&&z&&f()})),R(l),{isActive:m(o),pause:l,resume:f}}function bn(e=1e3,t={}){let{controls:n=!1,immediate:r=!0,callback:i}=t,a=C(0),o=()=>a.value+=1,s=()=>{a.value=0},c=yn(i?()=>{o(),i(a.value)}:o,e,{immediate:r});return n?{counter:m(a),reset:s,...c}:m(a)}function xn(e,t,n={}){let{immediate:r=!0,immediateCallback:i=!1}=n,a=C(!1),o;function s(){o&&=(clearTimeout(o),void 0)}function c(){a.value=!1,s()}function l(...n){i&&e(),s(),a.value=!0,o=setTimeout(()=>{a.value=!1,o=void 0,e(...n)},u(t))}return r&&(a.value=!0,z&&l()),R(c),{isPending:m(a),start:l,stop:c}}function Sn(e=!1,t={}){let{truthyValue:n=!0,falsyValue:r=!1}=t,i=d(e),a=C(e);function o(e){if(arguments.length)return a.value=e,a.value;{let e=u(n);return a.value=a.value===e?u(r):e,a.value}}return i?o:[a,o]}function Cn(e,t,n={}){let{debounce:r=0,maxWait:i=void 0,...a}=n;return gn(e,t,{...a,eventFilter:sn(r,{maxWait:i})})}var wn=Cn;function Tn(e,t,n={}){let{eventFilter:r=on,...i}=n,a=an(r,t),o,s,l;if(i.flush===`sync`){let t=!1;s=()=>{},o=e=>{t=!0,e(),t=!1},l=c(e,(...e)=>{t||a(...e)},i)}else{let t=[],n=0,r=0;s=()=>{n=r},t.push(c(e,()=>{r++},{...i,flush:`sync`})),o=e=>{let t=r;e(),n+=r-t},t.push(c(e,(...e)=>{let t=n>0&&n===r;n=0,r=0,!t&&a(...e)},i)),l=()=>{t.forEach(e=>e())}}return{stop:l,ignoreUpdates:o,ignorePrevAsyncUpdates:s}}var En=Tn;function Dn(e,t,n){return c(e,t,{...n,immediate:!0})}function On(e,t,n){let r=c(e,(e,a,o)=>{e&&(n?.once&&i(()=>r()),t(e,a,o))},{...n,once:!1});return r}var H=z?window:void 0,kn=z?window.document:void 0,An=z?window.navigator:void 0;z&&window.location;function U(e){let t=u(e);return t?.$el??t}function W(...e){let t=(e,t,n,r)=>(e.addEventListener(t,n,r),()=>e.removeEventListener(t,n,r)),n=h(()=>{let t=pn(u(e[0])).filter(e=>e!=null);return t.every(e=>typeof e!=`string`)?t:void 0});return Dn(()=>[n.value?.map(e=>U(e))??[H].filter(e=>e!=null),pn(u(n.value?e[1]:e[0])),pn(O(n.value?e[2]:e[1])),u(n.value?e[3]:e[2])],([e,n,r,i],a,o)=>{if(!e?.length||!n?.length||!r?.length)return;let s=$t(i)?{...i}:i,c=e.flatMap(e=>n.flatMap(n=>r.map(r=>t(e,n,r,s))));o(()=>{c.forEach(e=>e())})},{flush:`post`})}var jn=!1;function Mn(e,t,n={}){let{window:r=H,ignore:i=[],capture:a=!0,detectIframe:o=!1,controls:s=!1}=n;if(!r)return s?{stop:B,cancel:B,trigger:B}:B;if(tn&&!jn){jn=!0;let e={passive:!0};Array.from(r.document.body.children).forEach(t=>t.addEventListener(`click`,B,e)),r.document.documentElement.addEventListener(`click`,B,e)}let c=!0,l=e=>u(i).some(t=>{if(typeof t==`string`)return Array.from(r.document.querySelectorAll(t)).some(t=>t===e.target||e.composedPath().includes(t));{let n=U(t);return n&&(e.target===n||e.composedPath().includes(n))}});function d(e){let t=u(e);return t&&t.$.subTree.shapeFlag===16}function f(e,t){let n=u(e),r=n.$.subTree&&n.$.subTree.children;return r==null||!Array.isArray(r)?!1:r.some(e=>e.el===t.target||t.composedPath().includes(e.el))}let p=n=>{let r=U(e);if(n.target!=null&&!(!(r instanceof Element)&&d(e)&&f(e,n))&&!(!r||r===n.target||n.composedPath().includes(r))){if(`detail`in n&&n.detail===0&&(c=!l(n)),!c){c=!0;return}t(n)}},m=!1,h=[W(r,`click`,e=>{m||(m=!0,setTimeout(()=>{m=!1},0),p(e))},{passive:!0,capture:a}),W(r,`pointerdown`,t=>{let n=U(e);c=!l(t)&&!!(n&&!t.composedPath().includes(n))},{passive:!0}),o&&W(r,`blur`,n=>{setTimeout(()=>{let i=U(e),a=r.document.activeElement;for(;a?.shadowRoot;)a=a.shadowRoot.activeElement;a?.tagName===`IFRAME`&&!i?.contains(r.document.activeElement)&&t(n)},0)},{passive:!0})].filter(Boolean),g=()=>h.forEach(e=>e());return s?{stop:g,cancel:()=>{c=!1},trigger:e=>{c=!0,p(e),c=!1}}:g}function Nn(){let e=C(!1),t=s();return t&&r(()=>{e.value=!0},t),e}function G(e){let t=Nn();return h(()=>(t.value,!!e()))}function Pn(e,t,n={}){let{window:r=H,...i}=n,a,o=G(()=>r&&`MutationObserver`in r),s=()=>{a&&=(a.disconnect(),void 0)},l=c(h(()=>{let t=pn(u(e)).map(U).filter(Zt);return new Set(t)}),e=>{s(),o.value&&e.size&&(a=new MutationObserver(t),e.forEach(e=>a.observe(e,i)))},{immediate:!0,flush:`post`}),d=()=>a?.takeRecords(),f=()=>{l(),s()};return R(f),{isSupported:o,stop:f,takeRecords:d}}function Fn(e,t,n={}){let{window:r=H,document:i=r?.document,flush:a=`sync`}=n;if(!r||!i)return B;let o,s=e=>{o?.(),o=e},c=l(()=>{let n=U(e);if(n){let{stop:e}=Pn(i,e=>{e.map(e=>[...e.removedNodes]).flat().some(e=>e===n||e.contains(n))&&t(e)},{window:r,childList:!0,subtree:!0});s(e)}},{flush:a}),u=()=>{c(),s()};return R(u),u}function In(e){return typeof e==`function`?e:typeof e==`string`?t=>t.key===e:Array.isArray(e)?t=>e.includes(t.key):()=>!0}function Ln(...e){let t,n,r={};e.length===3?(t=e[0],n=e[1],r=e[2]):e.length===2?typeof e[1]==`object`?(t=!0,n=e[0],r=e[1]):(t=e[0],n=e[1]):(t=!0,n=e[0]);let{target:i=H,eventName:a=`keydown`,passive:o=!1,dedupe:s=!1}=r,c=In(t);return W(i,a,e=>{e.repeat&&u(s)||c(e)&&n(e)},o)}function Rn(e={}){let{window:t=H,deep:n=!0,triggerOnRemoval:r=!1}=e,i=e.document??t?.document,a=()=>{let e=i?.activeElement;if(n)for(var t;e?.shadowRoot;)e=e==null||(t=e.shadowRoot)==null?void 0:t.activeElement;return e},o=C(),s=()=>{o.value=a()};if(t){let e={capture:!0,passive:!0};W(t,`blur`,e=>{e.relatedTarget===null&&s()},e),W(t,`focus`,s,e)}return r&&Fn(o,s,{document:i}),s(),o}var zn=Symbol(`vueuse-ssr-width`);function Bn(){let e=a()?Jt(zn,null):null;return typeof e==`number`?e:void 0}function K(e,t={}){let{window:n=H,ssrWidth:r=Bn()}=t,i=G(()=>n&&`matchMedia`in n&&typeof n.matchMedia==`function`),a=C(typeof r==`number`),o=C(),s=C(!1);return l(()=>{if(a.value){a.value=!i.value;let t=u(e).split(`,`);s.value=t.some(e=>{let t=e.includes(`not all`),n=e.match(/\(\s*min-width:\s*(-?\d+(?:\.\d*)?[a-z]+\s*)\)/),i=e.match(/\(\s*max-width:\s*(-?\d+(?:\.\d*)?[a-z]+\s*)\)/),a=!!(n||i);return n&&a&&(a=r>=dn(n[1])),i&&a&&(a=r<=dn(i[1])),t?!a:a});return}i.value&&(o.value=n.matchMedia(u(e)),s.value=o.value.matches)}),W(o,`change`,e=>{s.value=e.matches},{passive:!0}),h(()=>s.value)}var Vn={sm:640,md:768,lg:1024,xl:1280,"2xl":1536};function Hn(e,t={}){function n(t,n){let r=u(e[u(t)]);return n!=null&&(r=un(r,n)),typeof r==`number`&&(r=`${r}px`),r}let{window:r=H,strategy:i=`min-width`,ssrWidth:a=Bn()}=t,o=typeof a==`number`,s=o?C(!1):{value:!0};o&&V(()=>s.value=!!r);function c(e,t){return!s.value&&o?e===`min`?a>=dn(t):a<=dn(t):r?r.matchMedia(`(${e}-width: ${t})`).matches:!1}let l=e=>K(()=>`(min-width: ${n(e)})`,t),d=e=>K(()=>`(max-width: ${n(e)})`,t),f=Object.keys(e).reduce((e,t)=>(Object.defineProperty(e,t,{get:()=>i===`min-width`?l(t):d(t),enumerable:!0,configurable:!0}),e),{});function p(){let t=Object.keys(e).map(e=>[e,f[e],dn(n(e))]).sort((e,t)=>e[2]-t[2]);return h(()=>t.filter(([,e])=>e.value).map(([e])=>e))}return Object.assign(f,{greaterOrEqual:l,smallerOrEqual:d,greater(e){return K(()=>`(min-width: ${n(e,.1)})`,t)},smaller(e){return K(()=>`(max-width: ${n(e,-.1)})`,t)},between(e,r){return K(()=>`(min-width: ${n(e)}) and (max-width: ${n(r,-.1)})`,t)},isGreater(e){return c(`min`,n(e,.1))},isGreaterOrEqual(e){return c(`min`,n(e))},isSmaller(e){return c(`max`,n(e,-.1))},isSmallerOrEqual(e){return c(`max`,n(e))},isInBetween(e,t){return c(`min`,n(e))&&c(`max`,n(t,-.1))},current:p,active(){let e=p();return h(()=>e.value.length===0?``:e.value.at(i===`min-width`?-1:0))}})}function Un(e,t={}){let{controls:n=!1,navigator:r=An}=t,i=G(()=>r&&`permissions`in r),a=C(),o=typeof e==`string`?{name:e}:e,s=C(),c=()=>{s.value=a.value?.state??`prompt`};W(a,`change`,c,{passive:!0});let l=ln(async()=>{if(i.value){if(!a.value)try{a.value=await r.permissions.query(o)}catch{a.value=void 0}finally{c()}if(n)return x(a.value)}});return l(),n?{state:s,isSupported:i,query:l}:s}function Wn(e={}){let{navigator:t=An,read:n=!1,source:r,copiedDuring:i=1500,legacy:a=!1}=e,o=G(()=>t&&`clipboard`in t),s=Un(`clipboard-read`),c=Un(`clipboard-write`),l=h(()=>o.value||a),d=C(``),f=C(!1),p=C(!1),g=xn(()=>f.value=!1,i,{immediate:!1}),_=0;async function v(){let e=!(o.value&&w(s.value));if(!e)try{d.value=await t.clipboard.readText()}catch{e=!0}e&&(d.value=S())}l.value&&n&&W([`copy`,`cut`],v,{passive:!0});async function y(e){let n=e??u(r);if(l.value&&n!=null){p.value=!0;let e=!(o.value&&w(c.value));if(!e)try{let e=b(n);await t.clipboard.write([e])}catch{e=!0}if(e){if(typeof n==`string`)d.value=n,x(n);else{let e=++_,t=await n();t!=null&&e===_&&(d.value=t,x(t))}}f.value=!0,g.start(),p.value=!1}}function b(e){return typeof e==`string`?(d.value=e,new ClipboardItem({"text/plain":e})):new ClipboardItem({"text/plain":e().then((e=``)=>(d.value=e,new Blob([e],{type:`text/plain`})))})}function x(e){let t=document.createElement(`textarea`);t.value=e,t.style.position=`absolute`,t.style.opacity=`0`,t.setAttribute(`readonly`,``),document.body.appendChild(t),t.select(),document.execCommand(`copy`),t.remove()}function S(){var e,t;return((e=document)==null||(t=e.getSelection)==null||(t=t.call(e))==null?void 0:t.toString())??``}function w(e){return e===`granted`||e===`prompt`}return{copyPending:m(p),isSupported:l,text:m(d),copied:m(f),copy:y}}function Gn(e){return JSON.parse(JSON.stringify(e))}var Kn=typeof globalThis<`u`?globalThis:typeof window<`u`?window:typeof global<`u`?global:typeof self<`u`?self:{},qn=`__vueuse_ssr_handlers__`,Jn=Yn();function Yn(){return qn in Kn||(Kn[qn]=Kn[qn]||{}),Kn[qn]}function Xn(e,t){return Jn[e]||t}function Zn(e){return K(`(prefers-color-scheme: dark)`,e)}function Qn(e){return e==null?`any`:e instanceof Set?`set`:e instanceof Map?`map`:e instanceof Date?`date`:typeof e==`boolean`?`boolean`:typeof e==`string`?`string`:typeof e==`object`?`object`:Number.isNaN(e)?`any`:`number`}var $n={boolean:{read:e=>e===`true`,write:e=>String(e)},object:{read:e=>JSON.parse(e),write:e=>JSON.stringify(e)},number:{read:e=>Number.parseFloat(e),write:e=>String(e)},any:{read:e=>e,write:e=>String(e)},string:{read:e=>e,write:e=>String(e)},map:{read:e=>new Map(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e.entries()))},set:{read:e=>new Set(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e))},date:{read:e=>new Date(e),write:e=>e.toISOString()}},er=`vueuse-storage`;function tr(e,t,n,r={}){let{flush:a=`pre`,deep:o=!0,listenToStorageChanges:s=!0,writeDefaults:l=!0,mergeDefaults:d=!1,shallow:f,window:p=H,eventFilter:m,onError:g=e=>{console.error(e)},initOnMounted:_}=r,v=(f?C:D)(typeof t==`function`?t():t),y=h(()=>u(e));if(!n)try{n=Xn(`getDefaultStorage`,()=>H?.localStorage)()}catch(e){g(e)}if(!n)return v;let b=u(t),x=Qn(b),S=r.serializer??$n[x],{pause:w,resume:T}=_n(v,e=>k(e),{flush:a,deep:o,eventFilter:m});c(y,()=>A(),{flush:a});let E=!1;p&&s&&(n instanceof Storage?W(p,`storage`,e=>{_&&!E||A(e)},{passive:!0}):W(p,er,e=>{_&&!E||j(e)})),_?V(()=>{E=!0,A()}):A();function O(e,t){if(p){let r={key:y.value,oldValue:e,newValue:t,storageArea:n};p.dispatchEvent(n instanceof Storage?new StorageEvent(`storage`,r):new CustomEvent(er,{detail:r}))}}function k(e){try{let t=n.getItem(y.value);if(e==null)O(t,null),n.removeItem(y.value);else{let r=S.write(e);t!==r&&(n.setItem(y.value,r),O(t,r))}}catch(e){g(e)}}function ee(e){let t=e?e.newValue:n.getItem(y.value);if(t==null)return l&&b!=null&&n.setItem(y.value,S.write(b)),b;if(!e&&d){let e=S.read(t);return typeof d==`function`?d(e,b):x===`object`&&!Array.isArray(e)?{...b,...e}:e}return typeof t==`string`?S.read(t):t}function A(e){if(!(e&&e.storageArea!==n)){if(e&&e.key==null){v.value=b;return}if(!(e&&e.key!==y.value)){w();try{let t=S.write(v.value);(e===void 0||e?.newValue!==t)&&(v.value=ee(e))}catch(e){g(e)}finally{e?i(T):T()}}}}function j(e){A(e.detail)}return v}function nr(e={}){let{document:t=kn}=e;if(!t)return C(`visible`);let n=C(t.visibilityState);return W(t,`visibilitychange`,()=>{n.value=t.visibilityState},{passive:!0}),n}var rr={speed:2,margin:30,direction:`both`};function ir(e){e.scrollLeft>e.scrollWidth-e.clientWidth&&(e.scrollLeft=Math.max(0,e.scrollWidth-e.clientWidth)),e.scrollTop>e.scrollHeight-e.clientHeight&&(e.scrollTop=Math.max(0,e.scrollHeight-e.clientHeight))}function ar(e,t={}){let{pointerTypes:n,preventDefault:r,stopPropagation:i,exact:a,onMove:o,onEnd:s,onStart:l,initialValue:d,axis:f=`both`,draggingElement:p=H,containerElement:m,handle:g=e,buttons:_=[0],restrictInView:v,autoScroll:y=!1}=t,b=D(u(d)??{x:0,y:0}),x=D(),S=e=>!n||n.includes(e.pointerType),C=e=>{u(r)&&e.preventDefault(),u(i)&&e.stopPropagation()},w=u(y),T=typeof w==`object`?{speed:u(w.speed)??rr.speed,margin:u(w.margin)??rr.margin,direction:w.direction??rr.direction}:rr,E=e=>typeof e==`number`?[e,e]:[e.x,e.y],O=(e,t,n)=>{let{clientWidth:r,clientHeight:i,scrollLeft:a,scrollTop:o,scrollWidth:s,scrollHeight:c}=e,[l,u]=E(T.margin),[d,f]=E(T.speed),p=0,m=0;(T.direction===`x`||T.direction===`both`)&&(n.x0?p=-d:n.x+t.width>r-l&&a0?m=-f:n.y+t.height>i-u&&o{let t=u(m);t&&!k&&(k=setInterval(()=>{let n=u(e).getBoundingClientRect(),{x:r,y:i}=b.value,a={x:r-t.scrollLeft,y:i-t.scrollTop};a.x>=0&&a.y>=0&&(O(t,n,a),a.x+=t.scrollLeft,a.y+=t.scrollTop,b.value=a)},1e3/60))},A=()=>{k&&=(clearInterval(k),null)},j=(e,t,n,r)=>{let[i,a]=typeof n==`number`?[n,n]:[n.x,n.y],{clientWidth:o,clientHeight:s}=t;return e.xo-i||e.ys-a};u(y)&&c(b,()=>{if(u(t.disabled)||!x.value)return;let n=u(m);if(!n)return;let r=u(e).getBoundingClientRect(),{x:i,y:a}=b.value,o={x:i-n.scrollLeft,y:a-n.scrollTop};j(o,n,T.margin,r)?ee():A()});let te=n=>{var r;if(!u(_).includes(n.button)||u(t.disabled)||!S(n)||u(a)&&n.target!==u(e))return;let i=u(m),o=i==null||(r=i.getBoundingClientRect)==null?void 0:r.call(i),s=u(e).getBoundingClientRect(),c={x:n.clientX-(i?s.left-o.left+(y?0:i.scrollLeft):s.left),y:n.clientY-(i?s.top-o.top+(y?0:i.scrollTop):s.top)};l?.(c,n)!==!1&&(x.value=c,C(n))},ne=n=>{if(u(t.disabled)||!S(n)||!x.value)return;let r=u(m);r instanceof HTMLElement&&ir(r);let i=u(e).getBoundingClientRect(),{x:a,y:s}=b.value;if((f===`x`||f===`both`)&&(a=n.clientX-x.value.x,r&&(a=Math.min(Math.max(0,a),r.scrollWidth-i.width))),(f===`y`||f===`both`)&&(s=n.clientY-x.value.y,r&&(s=Math.min(Math.max(0,s),r.scrollHeight-i.height))),u(y)&&r&&(k===null&&O(r,i,{x:a,y:s}),a+=r.scrollLeft,s+=r.scrollTop),r&&(v||y)){if(f!==`y`){let e=a-r.scrollLeft;e<0?a=r.scrollLeft:e>r.clientWidth-i.width&&(a=r.clientWidth-i.width+r.scrollLeft)}if(f!==`x`){let e=s-r.scrollTop;e<0?s=r.scrollTop:e>r.clientHeight-i.height&&(s=r.clientHeight-i.height+r.scrollTop)}}b.value={x:a,y:s},o?.(b.value,n),C(n)},M=e=>{u(t.disabled)||!S(e)||x.value&&(x.value=void 0,y&&A(),s?.(b.value,e),C(e))};if(z){let e=()=>({capture:t.capture??!0,passive:!u(r)});W(g,`pointerdown`,te,e),W(p,`pointermove`,ne,e),W(p,[`pointerup`,`pointercancel`],M,e)}return{...vn(b),position:b,isDragging:h(()=>!!x.value),style:h(()=>` + left: ${b.value.x}px; + top: ${b.value.y}px; + ${y?`text-wrap: nowrap;`:``} + `)}}function or(e,t,n={}){let{window:r=H,...i}=n,a,o=G(()=>r&&`ResizeObserver`in r),s=()=>{a&&=(a.disconnect(),void 0)},l=c(h(()=>{let t=u(e);return Array.isArray(t)?t.map(e=>U(e)):[U(t)]}),e=>{if(s(),o.value&&r){a=new ResizeObserver(t);for(let t of e)t&&a.observe(t,i)}},{immediate:!0,flush:`post`}),d=()=>{s(),l()};return R(d),{isSupported:o,stop:d}}function sr(e,t={}){let{reset:n=!0,windowResize:r=!0,windowScroll:i=!0,immediate:a=!0,updateTiming:o=`sync`}=t,s=C(0),l=C(0),u=C(0),d=C(0),f=C(0),p=C(0),m=C(0),h=C(0);function g(){let t=U(e);if(!t){n&&(s.value=0,l.value=0,u.value=0,d.value=0,f.value=0,p.value=0,m.value=0,h.value=0);return}let r=t.getBoundingClientRect();s.value=r.height,l.value=r.bottom,u.value=r.left,d.value=r.right,f.value=r.top,p.value=r.width,m.value=r.x,h.value=r.y}function _(){o===`sync`?g():o===`next-frame`&&requestAnimationFrame(()=>g())}return or(e,_),c(()=>U(e),e=>!e&&_()),Pn(e,_,{attributeFilter:[`style`,`class`]}),i&&W(`scroll`,_,{capture:!0,passive:!0}),r&&W(`resize`,_,{passive:!0}),V(()=>{a&&_()}),{height:s,bottom:l,left:u,right:d,top:f,width:p,x:m,y:h,update:_}}function cr(e,t={width:0,height:0},n={}){let{window:r=H,box:i=`content-box`}=n,a=h(()=>{var t;return(t=U(e))==null||(t=t.namespaceURI)==null?void 0:t.includes(`svg`)}),o=C(t.width),s=C(t.height),{stop:l}=or(e,([t])=>{let n=i===`border-box`?t.borderBoxSize:i===`content-box`?t.contentBoxSize:t.devicePixelContentBoxSize;if(r&&a.value){let t=U(e);if(t){let e=t.getBoundingClientRect();o.value=e.width,s.value=e.height}}else if(n){let e=pn(n);o.value=e.reduce((e,{inlineSize:t})=>e+t,0),s.value=e.reduce((e,{blockSize:t})=>e+t,0)}else o.value=t.contentRect.width,s.value=t.contentRect.height},n);V(()=>{let n=U(e);if(n&&`offsetWidth`in n){if(i===`content-box`&&r){let e=r.getComputedStyle(n),t=Number.parseFloat(e.paddingLeft)+Number.parseFloat(e.paddingRight),i=Number.parseFloat(e.paddingTop)+Number.parseFloat(e.paddingBottom),a=Number.parseFloat(e.borderLeftWidth)+Number.parseFloat(e.borderRightWidth),c=Number.parseFloat(e.borderTopWidth)+Number.parseFloat(e.borderBottomWidth);o.value=n.offsetWidth-t-a,s.value=n.offsetHeight-i-c}else o.value=n.offsetWidth,s.value=n.offsetHeight}else n&&(o.value=t.width,s.value=t.height)});let u=c(()=>U(e),e=>{o.value=e?t.width:0,s.value=e?t.height:0});function d(){l(),u()}return{width:o,height:s,stop:d}}var lr=[`fullscreenchange`,`webkitfullscreenchange`,`webkitendfullscreen`,`mozfullscreenchange`,`MSFullscreenChange`];function ur(e,t={}){let{document:n=kn,autoExit:r=!1}=t,i=h(()=>U(e)??n?.documentElement),a=C(!1),o=h(()=>[`requestFullscreen`,`webkitRequestFullscreen`,`webkitEnterFullscreen`,`webkitEnterFullScreen`,`webkitRequestFullScreen`,`mozRequestFullScreen`,`msRequestFullscreen`].find(e=>n&&e in n||i.value&&e in i.value)),s=h(()=>[`exitFullscreen`,`webkitExitFullscreen`,`webkitExitFullScreen`,`webkitCancelFullScreen`,`mozCancelFullScreen`,`msExitFullscreen`].find(e=>n&&e in n||i.value&&e in i.value)),c=h(()=>[`fullScreen`,`webkitIsFullScreen`,`webkitDisplayingFullscreen`,`mozFullScreen`,`msFullscreenElement`].find(e=>n&&e in n||i.value&&e in i.value)),l=[`fullscreenElement`,`webkitFullscreenElement`,`mozFullScreenElement`,`msFullscreenElement`].find(e=>n&&e in n),u=G(()=>i.value&&n&&o.value!==void 0&&s.value!==void 0&&c.value!==void 0),d=()=>l?n?.[l]===i.value:!1,f=()=>{if(c.value){if(n&&n[c.value]!=null)return n[c.value];{let e=i.value;if(e?.[c.value]!=null)return!!e[c.value]}}return!1};async function p(){if(!(!u.value||!a.value)){if(s.value){if(n?.[s.value]!=null)await n[s.value]();else{let e=i.value;e?.[s.value]!=null&&await e[s.value]()}}a.value=!1}}async function m(){if(!u.value||a.value)return;f()&&await p();let e=i.value;o.value&&e?.[o.value]!=null&&(await e[o.value](),a.value=!0)}async function g(){await(a.value?p():m())}let _=()=>{let e=f();(!e||e&&d())&&(a.value=e)},v={capture:!1,passive:!0};return W(n,lr,_,v),W(()=>U(i),lr,_,v),V(_,!1),r&&R(p),{isSupported:u,isFullscreen:a,enter:m,exit:p,toggle:g}}function dr(e,t,n={}){let{window:r=H}=n;return tr(e,t,r?.localStorage,n)}var fr={ctrl:`control`,command:`meta`,cmd:`meta`,option:`alt`,up:`arrowup`,down:`arrowdown`,left:`arrowleft`,right:`arrowright`};function pr(e={}){let{reactive:t=!1,target:n=H,aliasMap:r=fr,passive:i=!0,onEventFired:a=B}=e,o=f(new Set),s={toJSON(){return{}},current:o},c=t?f(s):s,l=new Set,d=new Map([[`Meta`,l],[`Shift`,new Set],[`Alt`,new Set]]),p=new Set;function m(e,n){e in c&&(t?c[e]=n:c[e].value=n)}function g(){o.clear();for(let e of p)m(e,!1)}function _(e,t,n){if(!(!e||typeof t.getModifierState!=`function`)){for(let[e,r]of d)if(t.getModifierState(e)){n.forEach(e=>r.add(e));break}}}function v(e,t){if(e)return;let n=`${t[0].toUpperCase()}${t.slice(1)}`,r=d.get(n);if(![`shift`,`alt`].includes(t)||!r)return;let i=Array.from(r),a=i.indexOf(t);i.forEach((e,t)=>{t>=a&&(o.delete(e),m(e,!1))}),r.clear()}function y(e,t){let n=e.key?.toLowerCase(),r=[e.code?.toLowerCase(),n].filter(Boolean);if(n){n&&(t?o.add(n):o.delete(n));for(let e of r)p.add(e),m(e,t);_(t,e,[...o,...r]),v(t,n),n===`meta`&&!t&&(l.forEach(e=>{o.delete(e),m(e,!1)}),l.clear())}}W(n,`keydown`,e=>(y(e,!0),a(e)),{passive:i}),W(n,`keyup`,e=>(y(e,!1),a(e)),{passive:i}),W(`blur`,g,{passive:i}),W(`focus`,g,{passive:i});let b=new Proxy(c,{get(e,n,i){if(typeof n!=`string`)return Reflect.get(e,n,i);if(n=n.toLowerCase(),n in r&&(n=r[n]),!(n in c)){if(/[+_-]/.test(n)){let e=n.split(/[+_-]/g).map(e=>e.trim());c[n]=h(()=>e.map(e=>u(b[e])).every(Boolean))}else c[n]=C(!1)}let a=Reflect.get(e,n,i);return t?u(a):a}});return b}var mr={page:e=>[e.pageX,e.pageY],client:e=>[e.clientX,e.clientY],screen:e=>[e.screenX,e.screenY],movement:e=>e instanceof MouseEvent?[e.movementX,e.movementY]:null};function hr(e={}){let{type:t=`page`,touch:n=!0,resetOnTouchEnds:r=!1,initialValue:i={x:0,y:0},window:a=H,target:o=a,scroll:s=!0,eventFilter:c}=e,l=null,u=0,d=0,f=C(i.x),p=C(i.y),m=C(null),h=typeof t==`function`?t:mr[t],g=e=>{let t=h(e);l=e,t&&([f.value,p.value]=t,m.value=`mouse`),a&&(u=a.scrollX,d=a.scrollY)},_=e=>{if(e.touches.length>0){let t=h(e.touches[0]);t&&([f.value,p.value]=t,m.value=`touch`)}},v=()=>{if(!l||!a)return;let e=h(l);l instanceof MouseEvent&&e&&(f.value=e[0]+a.scrollX-u,p.value=e[1]+a.scrollY-d)},y=()=>{f.value=i.x,p.value=i.y},b=c?e=>c(()=>g(e),{}):e=>g(e),x=c?e=>c(()=>_(e),{}):e=>_(e),S=c?()=>c(()=>v(),{}):()=>v();if(o){let e={passive:!0};W(o,[`mousemove`,`dragover`],b,e),n&&t!==`movement`&&(W(o,[`touchstart`,`touchmove`],x,e),r&&W(o,`touchend`,y,e)),s&&t===`page`&&W(a,`scroll`,S,e)}return{x:f,y:p,sourceType:m}}function gr(e,t={}){let n=rn(e),{threshold:r=50,onSwipe:i,onSwipeEnd:a,onSwipeStart:o,disableTextSelect:s=!1}=t,c=f({x:0,y:0}),l=(e,t)=>{c.x=e,c.y=t},u=f({x:0,y:0}),d=(e,t)=>{u.x=e,u.y=t},p=h(()=>c.x-u.x),g=h(()=>c.y-u.y),{max:_,abs:v}=Math,b=h(()=>_(v(p.value),v(g.value))>=r),x=C(!1),S=C(!1),w=h(()=>b.value?v(p.value)>v(g.value)?p.value>0?`left`:`right`:g.value>0?`up`:`down`:`none`),T=e=>{let n=e.buttons===0,r=e.buttons===1;return t.pointerTypes?.includes(e.pointerType)??(n||r)??!0},E={passive:!0},D=[W(e,`pointerdown`,e=>{if(!T(e))return;S.value=!0,e.target?.setPointerCapture(e.pointerId);let{clientX:t,clientY:n}=e;l(t,n),d(t,n),o?.(e)},E),W(e,`pointermove`,e=>{if(!T(e)||!S.value)return;let{clientX:t,clientY:n}=e;d(t,n),!x.value&&b.value&&(x.value=!0),x.value&&i?.(e)},E),W(e,[`pointerup`,`pointercancel`],e=>{T(e)&&(x.value&&a?.(e,w.value),S.value=!1,x.value=!1)},E)];return V(()=>{var e;if((e=n.value)==null||(e=e.style)==null||e.setProperty(`touch-action`,`pan-y`),s){var t,r,i;(t=n.value)==null||(t=t.style)==null||t.setProperty(`-webkit-user-select`,`none`),(r=n.value)==null||(r=r.style)==null||r.setProperty(`-ms-user-select`,`none`),(i=n.value)==null||(i=i.style)==null||i.setProperty(`user-select`,`none`)}}),{isSwiping:m(x),direction:m(w),posStart:y(c),posEnd:y(u),distanceX:p,distanceY:g,stop:()=>D.forEach(e=>e())}}var _r=0,vr=new WeakMap;function yr(e,t={}){let n=C(!1),{document:r=kn,immediate:i=!0,manual:a=!1,id:o=`vueuse_styletag_${++_r}`}=t,s=C(e),l=()=>{},u=()=>{if(!r)return;let e=r.getElementById(o)||r.createElement(`style`);e.isConnected||(e.id=o,t.nonce&&(e.nonce=t.nonce),t.media&&(e.media=t.media),r.head.appendChild(e)),!n.value&&(vr.set(e,(vr.get(e)??0)+1),l=c(s,t=>{e.textContent=t},{immediate:!0}),n.value=!0)},d=()=>{if(!r||!n.value)return;l();let e=r.getElementById(o);if(e){let t=(vr.get(e)??1)-1;t<=0?(vr.delete(e),r.head.removeChild(e)):vr.set(e,t)}n.value=!1};return i&&!a&&V(u),a||R(d),{id:o,css:s,unload:d,load:u,isLoaded:m(n)}}function br(e,t,n,r={}){var a,o;let{clone:l=!1,passive:u=!1,eventName:d,deep:f=!1,defaultValue:p,shouldEmit:m}=r,g=s(),_=n||g?.emit||(g==null||(a=g.$emit)==null?void 0:a.bind(g))||(g==null||(o=g.proxy)==null||(o=o.$emit)==null?void 0:o.bind(g?.proxy)),v=d;t||=`modelValue`,v||=`update:${t.toString()}`;let y=e=>l?typeof l==`function`?l(e):Gn(e):e,b=()=>Xt(e[t])?y(e[t]):p,x=e=>{m?m(e)&&_(v,e):_(v,e)};if(u){let n=D(b()),r=!1;return c(()=>e[t],e=>{r||(r=!0,n.value=y(e),i(()=>r=!1))}),c(n,n=>{!r&&(n!==e[t]||f)&&x(n)},{deep:f}),n}return h({get(){return b()},set(e){x(e)}})}function xr(e={}){let{navigator:t=An,document:n=kn}=e,r=C(!1),i=C(null),a=nr({document:n}),o=G(()=>t&&`wakeLock`in t),s=h(()=>!!i.value&&a.value===`visible`);o.value&&(W(i,`release`,()=>{r.value=i.value?.type??!1},{passive:!0}),On(()=>a.value===`visible`&&n?.visibilityState===`visible`&&r.value,e=>{r.value=!1,c(e)}));async function c(e){await i.value?.release(),i.value=o.value?await t.wakeLock.request(e):null}async function l(e){a.value===`visible`?await c(e):r.value=e}async function u(){r.value=!1;let e=i.value;i.value=null,await e?.release()}return R(()=>{u()}),{sentinel:i,isSupported:o,isActive:s,request:l,forceRequest:c,release:u}}function Sr(e={}){let{window:t=H}=e;if(!t)return C(!1);let n=C(t.document.hasFocus()),r={passive:!0};return W(t,`blur`,()=>{n.value=!1},r),W(t,`focus`,()=>{n.value=!0},r),n}function Cr(e={}){let{window:t=H,initialWidth:n=1/0,initialHeight:r=1/0,listenOrientation:i=!0,includeScrollbar:a=!0,type:o=`inner`}=e,s=C(n),l=C(r),u=()=>{if(t){if(o===`outer`)s.value=t.outerWidth,l.value=t.outerHeight;else if(o===`visual`&&t.visualViewport){let{width:e,height:n,scale:r}=t.visualViewport;s.value=Math.round(e*r),l.value=Math.round(n*r)}else a?(s.value=t.innerWidth,l.value=t.innerHeight):(s.value=t.document.documentElement.clientWidth,l.value=t.document.documentElement.clientHeight)}};u(),V(u);let d={passive:!0};return W(`resize`,u,d),t&&o===`visual`&&t.visualViewport&&W(t.visualViewport,`resize`,u,d),i&&c(K(`(orientation: portrait)`),()=>u()),{width:s,height:l}}function wr(e){if(typeof e!=`object`||!e)return!1;let t=Object.getPrototypeOf(e);return t!==null&&t!==Object.prototype&&Object.getPrototypeOf(t)!==null||Symbol.iterator in e?!1:Symbol.toStringTag in e?Object.prototype.toString.call(e)===`[object Module]`:!0}function Tr(e,t,n=`.`,r){if(!wr(t))return Tr(e,{},n,r);let i={...t};for(let t of Object.keys(e)){if(t===`__proto__`||t===`constructor`)continue;let a=e[t];a!=null&&(r&&r(i,t,a,n)||(i[t]=Array.isArray(a)&&Array.isArray(i[t])?[...a,...i[t]]:wr(a)&&wr(i[t])?Tr(a,i[t],(n?`${n}.`:``)+t.toString(),r):a))}return i}function Er(e){return(...t)=>t.reduce((t,n)=>Tr(t,n,``,e),{})}var Dr=Er();function Or(e){return w()?(T(e),!0):!1}var kr=typeof window<`u`&&typeof document<`u`;typeof WorkerGlobalScope<`u`&&globalThis instanceof WorkerGlobalScope;var Ar=e=>e!=null,jr=Object.prototype.toString,Mr=e=>jr.call(e)===`[object Object]`,Nr=()=>{};function Pr(e){return Array.isArray(e)?e:[e]}function Fr(e){return e||s()}function Ir(e,t){Fr(t)&&o(e,t)}function Lr(e,t,n){return c(e,t,{...n,immediate:!0})}var Rr=kr?window:void 0;kr&&window.document,kr&&window.navigator,kr&&window.location;function zr(e){let t=u(e);return t?.$el??t}function q(...e){let t=[],n=()=>{t.forEach(e=>e()),t.length=0},r=(e,t,n,r)=>(e.addEventListener(t,n,r),()=>e.removeEventListener(t,n,r)),i=h(()=>{let t=Pr(u(e[0])).filter(e=>e!=null);return t.every(e=>typeof e!=`string`)?t:void 0}),a=Lr(()=>[i.value?.map(e=>zr(e))??[Rr].filter(e=>e!=null),Pr(u(i.value?e[1]:e[0])),Pr(O(i.value?e[2]:e[1])),u(i.value?e[3]:e[2])],([e,i,a,o])=>{if(n(),!e?.length||!i?.length||!a?.length)return;let s=Mr(o)?{...o}:o;t.push(...e.flatMap(e=>i.flatMap(t=>a.map(n=>r(e,t,n,s)))))},{flush:`post`});return Or(n),()=>{a(),n()}}function Br(){let e=C(!1),t=s();return t&&r(()=>{e.value=!0},t),e}function Vr(e){let t=Br();return h(()=>(t.value,!!e()))}function Hr(e,t,n={}){let{root:r,rootMargin:i=`0px`,threshold:a=0,window:o=Rr,immediate:s=!0}=n,l=Vr(()=>o&&`IntersectionObserver`in o),d=h(()=>Pr(u(e)).map(zr).filter(Ar)),f=Nr,p=C(s),m=l.value?c(()=>[d.value,zr(r),p.value],([e,n])=>{if(f(),!p.value||!e.length)return;let r=new IntersectionObserver(t,{root:zr(n),rootMargin:i,threshold:a});e.forEach(e=>e&&r.observe(e)),f=()=>{r.disconnect(),f=Nr}},{immediate:s,flush:`post`}):Nr,g=()=>{f(),m(),p.value=!1};return Or(g),{isSupported:l,isActive:p,pause(){f(),p.value=!1},resume(){p.value=!0},stop:g}}var Ur=1/60*1e3,Wr=typeof performance<`u`?()=>performance.now():()=>Date.now(),Gr=typeof window<`u`?e=>window.requestAnimationFrame(e):e=>setTimeout(()=>e(Wr()),Ur);function Kr(e){let t=[],n=[],r=0,i=!1,a=!1,o=new WeakSet,s={schedule:(e,a=!1,s=!1)=>{let c=s&&i,l=c?t:n;return a&&o.add(e),l.indexOf(e)===-1&&(l.push(e),c&&i&&(r=t.length)),e},cancel:e=>{let t=n.indexOf(e);t!==-1&&n.splice(t,1),o.delete(e)},process:c=>{if(i){a=!0;return}if(i=!0,[t,n]=[n,t],n.length=0,r=t.length,r)for(let n=0;n(e[t]=Kr(()=>Yr=!0),e),{}),ei=Qr.reduce((e,t)=>{let n=$r[t];return e[t]=(e,t=!1,r=!1)=>(Yr||ii(),n.schedule(e,t,r)),e},{}),ti=Qr.reduce((e,t)=>(e[t]=$r[t].cancel,e),{});Qr.reduce((e,t)=>(e[t]=()=>$r[t].process(Zr),e),{});var ni=e=>$r[e].process(Zr),ri=e=>{Yr=!1,Zr.delta=Jr?Ur:Math.max(Math.min(e-Zr.timestamp,qr),1),Zr.timestamp=e,Xr=!0,Qr.forEach(ni),Xr=!1,Yr&&(Jr=!1,Gr(ri))},ii=()=>{Yr=!0,Jr=!0,Xr||Gr(ri)},ai=()=>Zr;function oi(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`)for(var i=0,r=Object.getOwnPropertySymbols(e);iMath.min(Math.max(n,e),t),ci=.001,li=.01,ui=.05;function di({duration:e=800,bounce:t=.25,velocity:n=0,mass:r=1}){let i,a,o=1-t;o=si(ui,1,o),e=si(li,10,e/1e3),o<1?(i=t=>{let r=t*o,i=r*e,a=r-n,s=mi(t,o),c=Math.exp(-i);return ci-a/s*c},a=t=>{let r=t*o*e,a=r*n+n,s=o**2*t**2*e,c=Math.exp(-r),l=mi(t**2,o);return(-i(t)+ci>0?-1:1)*((a-s)*c)/l}):(i=t=>-.001+Math.exp(-t*e)*((t-n)*e+1),a=t=>Math.exp(-t*e)*((n-t)*(e*e)));let s=5/e,c=pi(i,a,s);if(e*=1e3,isNaN(c))return{stiffness:100,damping:10,duration:e};{let t=c**2*r;return{stiffness:t,damping:o*2*Math.sqrt(r*t),duration:e}}}var fi=12;function pi(e,t,n){let r=n;for(let n=1;ne[t]!==void 0)}function vi(e){let t=Object.assign({velocity:0,stiffness:100,damping:10,mass:1,isResolvedFromDuration:!1},e);if(!_i(e,gi)&&_i(e,hi)){let n=di(e);t=Object.assign(Object.assign(Object.assign({},t),n),{velocity:0,mass:1}),t.isResolvedFromDuration=!0}return t}function yi(e){var{from:t=0,to:n=1,restSpeed:r=2,restDelta:i}=e,a=oi(e,[`from`,`to`,`restSpeed`,`restDelta`]);let o={done:!1,value:t},{stiffness:s,damping:c,mass:l,velocity:u,duration:d,isResolvedFromDuration:f}=vi(a),p=bi,m=bi;function h(){let e=u?-(u/1e3):0,r=n-t,a=c/(2*Math.sqrt(s*l)),o=Math.sqrt(s/l)/1e3;if(i===void 0&&(i=Math.min(Math.abs(n-t)/100,.4)),a<1){let t=mi(o,a);p=i=>{let s=Math.exp(-a*o*i);return n-s*((e+a*o*r)/t*Math.sin(t*i)+r*Math.cos(t*i))},m=n=>{let i=Math.exp(-a*o*n);return a*o*i*(Math.sin(t*n)*(e+a*o*r)/t+r*Math.cos(t*n))-i*(Math.cos(t*n)*(e+a*o*r)-t*r*Math.sin(t*n))}}else if(a===1)p=t=>n-Math.exp(-o*t)*(r+(e+o*r)*t);else{let t=o*Math.sqrt(a*a-1);p=i=>{let s=Math.exp(-a*o*i),c=Math.min(t*i,300);return n-s*((e+a*o*r)*Math.sinh(c)+t*r*Math.cosh(c))/t}}}return h(),{next:e=>{let t=p(e);if(f)o.done=e>=d;else{let a=m(e)*1e3,s=Math.abs(a)<=r,c=Math.abs(n-t)<=i;o.done=s&&c}return o.value=o.done?n:t,o},flipTarget:()=>{u=-u,[t,n]=[n,t],h()}}}yi.needsInterpolation=(e,t)=>typeof e==`string`||typeof t==`string`;var bi=e=>0,xi=(e,t,n)=>{let r=t-e;return r===0?1:(n-e)/r},Si=(e,t,n)=>-n*e+n*t+e,Ci=(e,t)=>n=>Math.max(Math.min(n,t),e),wi=e=>e%1?Number(e.toFixed(5)):e,Ti=/(-)?([\d]*\.?[\d])+/g,Ei=/(#[0-9a-f]{6}|#[0-9a-f]{3}|#(?:[0-9a-f]{2}){2,4}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2}(-?[\d\.]+%?)\s*[\,\/]?\s*[\d\.]*%?\))/gi,Di=/^(#[0-9a-f]{3}|#(?:[0-9a-f]{2}){2,4}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2}(-?[\d\.]+%?)\s*[\,\/]?\s*[\d\.]*%?\))$/i;function Oi(e){return typeof e==`string`}var ki={test:e=>typeof e==`number`,parse:parseFloat,transform:e=>e},Ai=Object.assign(Object.assign({},ki),{transform:Ci(0,1)}),ji=Object.assign(Object.assign({},ki),{default:1}),Mi=e=>({test:t=>Oi(t)&&t.endsWith(e)&&t.split(` `).length===1,parse:parseFloat,transform:t=>`${t}${e}`}),J=Mi(`deg`),Ni=Mi(`%`),Y=Mi(`px`),Pi=Object.assign(Object.assign({},Ni),{parse:e=>Ni.parse(e)/100,transform:e=>Ni.transform(e*100)}),Fi=(e,t)=>n=>!!(Oi(n)&&Di.test(n)&&n.startsWith(e)||t&&Object.prototype.hasOwnProperty.call(n,t)),Ii=(e,t,n)=>r=>{if(!Oi(r))return r;let[i,a,o,s]=r.match(Ti);return{[e]:parseFloat(i),[t]:parseFloat(a),[n]:parseFloat(o),alpha:s===void 0?1:parseFloat(s)}},X={test:Fi(`hsl`,`hue`),parse:Ii(`hue`,`saturation`,`lightness`),transform:({hue:e,saturation:t,lightness:n,alpha:r=1})=>`hsla(`+Math.round(e)+`, `+Ni.transform(wi(t))+`, `+Ni.transform(wi(n))+`, `+wi(Ai.transform(r))+`)`},Li=Ci(0,255),Ri=Object.assign(Object.assign({},ki),{transform:e=>Math.round(Li(e))}),Z={test:Fi(`rgb`,`red`),parse:Ii(`red`,`green`,`blue`),transform:({red:e,green:t,blue:n,alpha:r=1})=>`rgba(`+Ri.transform(e)+`, `+Ri.transform(t)+`, `+Ri.transform(n)+`, `+wi(Ai.transform(r))+`)`};function zi(e){let t=``,n=``,r=``,i=``;return e.length>5?(t=e.substr(1,2),n=e.substr(3,2),r=e.substr(5,2),i=e.substr(7,2)):(t=e.substr(1,1),n=e.substr(2,1),r=e.substr(3,1),i=e.substr(4,1),t+=t,n+=n,r+=r,i+=i),{red:parseInt(t,16),green:parseInt(n,16),blue:parseInt(r,16),alpha:i?parseInt(i,16)/255:1}}var Bi={test:Fi(`#`),parse:zi,transform:Z.transform},Q={test:e=>Z.test(e)||Bi.test(e)||X.test(e),parse:e=>Z.test(e)?Z.parse(e):X.test(e)?X.parse(e):Bi.parse(e),transform:e=>Oi(e)?e:e.hasOwnProperty(`red`)?Z.transform(e):X.transform(e)},Vi="${c}",Hi="${n}";function Ui(e){return isNaN(e)&&Oi(e)&&(e.match(Ti)?.length??0)+(e.match(Ei)?.length??0)>0}function Wi(e){typeof e==`number`&&(e=`${e}`);let t=[],n=0,r=e.match(Ei);r&&(n=r.length,e=e.replace(Ei,Vi),t.push(...r.map(Q.parse)));let i=e.match(Ti);return i&&(e=e.replace(Ti,Hi),t.push(...i.map(ki.parse))),{values:t,numColors:n,tokenised:e}}function Gi(e){return Wi(e).values}function Ki(e){let{values:t,numColors:n,tokenised:r}=Wi(e),i=t.length;return e=>{let t=r;for(let r=0;rtypeof e==`number`?0:e;function Ji(e){let t=Gi(e);return Ki(e)(t.map(qi))}var Yi={test:Ui,parse:Gi,createTransformer:Ki,getAnimatableNone:Ji},Xi=new Set([`brightness`,`contrast`,`saturate`,`opacity`]);function Zi(e){let[t,n]=e.slice(0,-1).split(`(`);if(t===`drop-shadow`)return e;let[r]=n.match(Ti)||[];if(!r)return e;let i=n.replace(r,``),a=+!!Xi.has(t);return r!==n&&(a*=100),t+`(`+a+i+`)`}var Qi=/([a-z-]*)\(.*?\)/g,$i=Object.assign(Object.assign({},Yi),{getAnimatableNone:e=>{let t=e.match(Qi);return t?t.map(Zi).join(` `):e}});function ea(e,t,n){return n<0&&(n+=1),n>1&&--n,n<1/6?e+(t-e)*6*n:n<1/2?t:n<2/3?e+(t-e)*(2/3-n)*6:e}function ta({hue:e,saturation:t,lightness:n,alpha:r}){e/=360,t/=100,n/=100;let i=0,a=0,o=0;if(!t)i=a=o=n;else{let r=n<.5?n*(1+t):n+t-n*t,s=2*n-r;i=ea(s,r,e+1/3),a=ea(s,r,e),o=ea(s,r,e-1/3)}return{red:Math.round(i*255),green:Math.round(a*255),blue:Math.round(o*255),alpha:r}}var na=(e,t,n)=>{let r=e*e,i=t*t;return Math.sqrt(Math.max(0,n*(i-r)+r))},ra=[Bi,Z,X],ia=e=>ra.find(t=>t.test(e)),aa=e=>`'${e}' is not an animatable color. Use the equivalent color code instead.`,oa=(e,t)=>{let n=ia(e),r=ia(t);aa(e),aa(t);let i=n.parse(e),a=r.parse(t);n===X&&(i=ta(i),n=Z),r===X&&(a=ta(a),r=Z);let o=Object.assign({},i);return e=>{for(let t in o)t!==`alpha`&&(o[t]=na(i[t],a[t],e));return o.alpha=Si(i.alpha,a.alpha,e),n.transform(o)}},sa=e=>typeof e==`number`,ca=(e,t)=>n=>t(e(n)),la=(...e)=>e.reduce(ca);function ua(e,t){return sa(e)?n=>Si(e,t,n):Q.test(e)?oa(e,t):ma(e,t)}var da=(e,t)=>{let n=[...e],r=n.length,i=e.map((e,n)=>ua(e,t[n]));return e=>{for(let t=0;t{let n=Object.assign(Object.assign({},e),t),r={};for(let i in n)e[i]!==void 0&&t[i]!==void 0&&(r[i]=ua(e[i],t[i]));return e=>{for(let t in r)n[t]=r[t](e);return n}};function pa(e){let t=Yi.parse(e),n=t.length,r=0,i=0,a=0;for(let e=0;e{let n=Yi.createTransformer(t),r=pa(e),i=pa(t);return r.numHSL===i.numHSL&&r.numRGB===i.numRGB&&r.numNumbers>=i.numNumbers?la(da(r.parsed,i.parsed),n):(`${e}${t}`,n=>`${n>0?t:e}`)},ha=(e,t)=>n=>Si(e,t,n);function ga(e){if(typeof e==`number`)return ha;if(typeof e==`string`)return Q.test(e)?oa:ma;if(Array.isArray(e))return da;if(typeof e==`object`)return fa}function _a(e,t,n){let r=[],i=n||ga(e[0]),a=e.length-1;for(let n=0;nn(xi(e,t,r))}function ya(e,t){let n=e.length,r=n-1;return i=>{let a=0,o=!1;if(i<=e[0]?o=!0:i>=e[r]&&(a=r-1,o=!0),!o){let t=1;for(;ti||t===r);t++);a=t-1}let s=xi(e[a],e[a+1],i);return t[a](s)}}function ba(e,t,{clamp:n=!0,ease:r,mixer:i}={}){let a=e.length;t.length,!r||!Array.isArray(r)||(r.length,a-1),e[0]>e[a-1]&&(e=[].concat(e),t=[].concat(t),e.reverse(),t.reverse());let o=_a(t,r,i),s=a===2?va(e,o):ya(e,o);return n?t=>s(si(e[0],e[a-1],t)):s}var xa=e=>t=>1-e(1-t),Sa=e=>t=>t<=.5?e(2*t)/2:(2-e(2*(1-t)))/2,Ca=e=>t=>t**+e,wa=e=>t=>t*t*((e+1)*t-e),Ta=e=>{let t=wa(e);return e=>(e*=2)<1?.5*t(e):.5*(2-2**(-10*(e-1)))},Ea=1.525,Da=4/11,Oa=8/11,ka=9/10,Aa=e=>e,ja=Ca(2),Ma=xa(ja),Na=Sa(ja),Pa=e=>1-Math.sin(Math.acos(e)),Fa=xa(Pa),Ia=Sa(Fa),La=wa(Ea),Ra=xa(La),za=Sa(La),Ba=Ta(Ea),Va=4356/361,Ha=35442/1805,Ua=16061/1805,Wa=e=>{if(e===1||e===0)return e;let t=e*e;return ee<.5?.5*(1-Wa(1-e*2)):.5*Wa(e*2-1)+.5;function qa(e,t){return e.map(()=>t||Na).splice(0,e.length-1)}function Ja(e){let t=e.length;return e.map((e,n)=>n===0?0:n/(t-1))}function Ya(e,t){return e.map(e=>e*t)}function Xa({from:e=0,to:t=1,ease:n,offset:r,duration:i=300}){let a={done:!1,value:e},o=Array.isArray(t)?t:[e,t],s=Ya(r&&r.length===o.length?r:Ja(o),i);function c(){return ba(s,o,{ease:Array.isArray(n)?n:qa(o,n)})}let l=c();return{next:e=>(a.value=l(e),a.done=e>=i,a),flipTarget:()=>{o.reverse(),l=c()}}}function Za({velocity:e=0,from:t=0,power:n=.8,timeConstant:r=350,restDelta:i=.5,modifyTarget:a}){let o={done:!1,value:t},s=n*e,c=t+s,l=a===void 0?c:a(c);return l!==c&&(s=l-t),{next:e=>{let t=-s*Math.exp(-e/r);return o.done=!(t>i||t<-i),o.value=o.done?l:l+t,o},flipTarget:()=>{}}}var Qa={keyframes:Xa,spring:yi,decay:Za};function $a(e){if(Array.isArray(e.to))return Xa;if(Qa[e.type])return Qa[e.type];let t=new Set(Object.keys(e));return t.has(`ease`)||t.has(`duration`)&&!t.has(`dampingRatio`)?Xa:t.has(`dampingRatio`)||t.has(`stiffness`)||t.has(`mass`)||t.has(`damping`)||t.has(`restSpeed`)||t.has(`restDelta`)?yi:Xa}function eo(e,t,n=0){return e-t-n}function to(e,t,n=0,r=!0){return r?eo(t+-e,t,n):t-(e-t)+n}function no(e,t,n,r){return r?e>=t+n:e<=-n}var ro=e=>{let t=({delta:t})=>e(t);return{start:()=>ei.update(t,!0),stop:()=>ti.update(t)}};function io(e){var t,{from:n,autoplay:r=!0,driver:i=ro,elapsed:a=0,repeat:o=0,repeatType:s=`loop`,repeatDelay:c=0,onPlay:l,onStop:u,onComplete:d,onRepeat:f,onUpdate:p}=e,m=oi(e,[`from`,`autoplay`,`driver`,`elapsed`,`repeat`,`repeatType`,`repeatDelay`,`onPlay`,`onStop`,`onComplete`,`onRepeat`,`onUpdate`]);let{to:h}=m,g,_=0,v=m.duration,y,b=!1,x=!0,S,C=$a(m);(t=C).needsInterpolation?.call(t,n,h)&&(S=ba([0,100],[n,h],{clamp:!1}),n=0,h=100);let w=C(Object.assign(Object.assign({},m),{from:n,to:h}));function T(){_++,s===`reverse`?(x=_%2==0,a=to(a,v,c,x)):(a=eo(a,v,c),s===`mirror`&&w.flipTarget()),b=!1,f&&f()}function E(){g.stop(),d&&d()}function D(e){if(x||(e=-e),a+=e,!b){let e=w.next(Math.max(0,a));y=e.value,S&&(y=S(y)),b=x?e.done:a<=0}p?.(y),b&&(_===0&&(v??=a),_{u?.(),g.stop()}}}function ao(e,t){return t?1e3/t*e:0}function oo({from:e=0,velocity:t=0,min:n,max:r,power:i=.8,timeConstant:a=750,bounceStiffness:o=500,bounceDamping:s=10,restDelta:c=1,modifyTarget:l,driver:u,onUpdate:d,onComplete:f,onStop:p}){let m;function h(e){return n!==void 0&&er}function g(e){return n===void 0?r:r===void 0||Math.abs(n-e){var n;d?.(t),(n=e.onUpdate)==null||n.call(e,t)},onComplete:f,onStop:p}))}function v(e){_(Object.assign({type:`spring`,stiffness:o,damping:s,restDelta:c},e))}if(h(e))v({from:e,velocity:t,to:g(e)});else{let r=i*t+e;l!==void 0&&(r=l(r));let o=g(r),s=o===n?-1:1,u,d;_({type:`decay`,from:e,velocity:t,timeConstant:a,power:i,restDelta:c,modifyTarget:l,onUpdate:h(r)?e=>{u=d,d=e,t=ao(e-u,ai().delta),(s===1&&e>o||s===-1&&em?.stop()}}var so=(e,t)=>1-3*t+3*e,co=(e,t)=>3*t-6*e,lo=e=>3*e,uo=(e,t,n)=>((so(t,n)*e+co(t,n))*e+lo(t))*e,fo=(e,t,n)=>3*so(t,n)*e*e+2*co(t,n)*e+lo(t),po=1e-7,mo=10;function ho(e,t,n,r,i){let a,o,s=0;do o=t+(n-t)/2,a=uo(o,r,i)-e,a>0?n=o:t=o;while(Math.abs(a)>po&&++s=_o?vo(t,s,e,n):c===0?s:ho(t,r,r+bo,e,n)}return e=>e===0||e===1?e:uo(a(e),t,r)}var So={},Co=class{subscriptions=new Set;add(e){return this.subscriptions.add(e),()=>this.subscriptions.delete(e)}notify(e,t,n){if(this.subscriptions.size)for(let r of this.subscriptions)r(e,t,n)}clear(){this.subscriptions.clear()}};function wo(e){return!Number.isNaN(Number.parseFloat(e))}var To=class{current;prev;timeDelta=0;lastUpdated=0;updateSubscribers=new Co;stopAnimation;canTrackVelocity=!1;constructor(e){this.prev=this.current=e,this.canTrackVelocity=wo(this.current)}onChange(e){return this.updateSubscribers.add(e)}clearListeners(){this.updateSubscribers.clear()}set(e){this.updateAndNotify(e)}updateAndNotify=e=>{this.prev=this.current,this.current=e;let{delta:t,timestamp:n}=ai();this.lastUpdated!==n&&(this.timeDelta=t,this.lastUpdated=n),ei.postRender(this.scheduleVelocityCheck),this.updateSubscribers.notify(this.current)};get(){return this.current}getPrevious(){return this.prev}getVelocity(){return this.canTrackVelocity?ao(Number.parseFloat(this.current)-Number.parseFloat(this.prev),this.timeDelta):0}scheduleVelocityCheck=()=>ei.postRender(this.velocityCheck);velocityCheck=({timestamp:e})=>{this.canTrackVelocity||=wo(this.current),e!==this.lastUpdated&&(this.prev=this.current)};start(e){return this.stop(),new Promise(t=>{let{stop:n}=e(t);this.stopAnimation=n}).then(()=>this.clearAnimation())}stop(){this.stopAnimation&&this.stopAnimation(),this.clearAnimation()}isAnimating(){return!!this.stopAnimation}clearAnimation(){this.stopAnimation=null}destroy(){this.updateSubscribers.clear(),this.stop()}};function Eo(e){return new To(e)}var{isArray:Do}=Array;function Oo(){let e=D({}),t=t=>{let n=t=>{e.value[t]&&(e.value[t].stop(),e.value[t].destroy(),delete e.value[t])};t?Do(t)?t.forEach(n):n(t):Object.keys(e.value).forEach(n)};return Ir(t),{motionValues:e,get:(t,n,r)=>{if(e.value[t])return e.value[t];let i=Eo(n);return i.onChange(e=>r[t]=e),e.value[t]=i,i},stop:t}}function ko(e){return Array.isArray(e)}function $(){return{type:`spring`,stiffness:500,damping:25,restDelta:.5,restSpeed:10}}function Ao(e){return{type:`spring`,stiffness:550,damping:e===0?2*Math.sqrt(550):30,restDelta:.01,restSpeed:10}}function jo(e){return{type:`spring`,stiffness:550,damping:e===0?100:30,restDelta:.01,restSpeed:10}}function Mo(){return{type:`keyframes`,ease:`linear`,duration:300}}function No(e){return{type:`keyframes`,duration:800,values:e}}var Po={default:jo,x:$,y:$,z:$,rotate:$,rotateX:$,rotateY:$,rotateZ:$,scaleX:Ao,scaleY:Ao,scale:Ao,backgroundColor:Mo,color:Mo,opacity:Mo};function Fo(e,t){let n;return n=ko(t)?No:Po[e]||Po.default,{to:t,...n(t)}}var Io={...ki,transform:Math.round},Lo={color:Q,backgroundColor:Q,outlineColor:Q,fill:Q,stroke:Q,borderColor:Q,borderTopColor:Q,borderRightColor:Q,borderBottomColor:Q,borderLeftColor:Q,borderWidth:Y,borderTopWidth:Y,borderRightWidth:Y,borderBottomWidth:Y,borderLeftWidth:Y,borderRadius:Y,radius:Y,borderTopLeftRadius:Y,borderTopRightRadius:Y,borderBottomRightRadius:Y,borderBottomLeftRadius:Y,width:Y,maxWidth:Y,height:Y,maxHeight:Y,size:Y,top:Y,right:Y,bottom:Y,left:Y,padding:Y,paddingTop:Y,paddingRight:Y,paddingBottom:Y,paddingLeft:Y,margin:Y,marginTop:Y,marginRight:Y,marginBottom:Y,marginLeft:Y,rotate:J,rotateX:J,rotateY:J,rotateZ:J,scale:ji,scaleX:ji,scaleY:ji,scaleZ:ji,skew:J,skewX:J,skewY:J,distance:Y,translateX:Y,translateY:Y,translateZ:Y,x:Y,y:Y,z:Y,perspective:Y,transformPerspective:Y,opacity:Ai,originX:Pi,originY:Pi,originZ:Y,zIndex:Io,filter:$i,WebkitFilter:$i,fillOpacity:Ai,strokeOpacity:Ai,numOctaves:Io},Ro=e=>Lo[e];function zo(e,t){return t&&typeof e==`number`&&t.transform?t.transform(e):e}function Bo(e,t){let n=Ro(e);return n!==$i&&(n=Yi),n.getAnimatableNone?n.getAnimatableNone(t):void 0}var Vo={linear:Aa,easeIn:ja,easeInOut:Na,easeOut:Ma,circIn:Pa,circInOut:Ia,circOut:Fa,backIn:La,backInOut:za,backOut:Ra,anticipate:Ba,bounceIn:Ga,bounceInOut:Ka,bounceOut:Wa};function Ho(e){if(Array.isArray(e)){let[t,n,r,i]=e;return xo(t,n,r,i)}return typeof e==`string`?Vo[e]:e}function Uo(e){return Array.isArray(e)&&typeof e[0]!=`number`}function Wo(e,t){return e!==`zIndex`&&!!(typeof t==`number`||Array.isArray(t)||typeof t==`string`&&Yi.test(t)&&!t.startsWith(`url(`))}function Go(e){return Array.isArray(e.to)&&e.to[0]===null&&(e.to=[...e.to],e.to[0]=e.from),e}function Ko({ease:e,times:t,delay:n,...r}){let i={...r};return t&&(i.offset=t),e&&(i.ease=Uo(e)?e.map(Ho):Ho(e)),n&&(i.elapsed=-n),i}function qo(e,t,n){return Array.isArray(t.to)&&(e.duration||(e.duration=800)),Go(t),Jo(e)||(e={...e,...Fo(n,t.to)}),{...t,...Ko(e)}}function Jo({delay:e,repeat:t,repeatType:n,repeatDelay:r,from:i,...a}){return!!Object.keys(a).length}function Yo(e,t){return e[t]||e.default||e}function Xo(e,t,n,r,i){let a=Yo(r,e),o=a.from===null||a.from===void 0?t.get():a.from,s=Wo(e,n);o===`none`&&s&&typeof n==`string`&&(o=Bo(e,n));let c=Wo(e,o);function l(s){let c={from:o,to:n,velocity:r.velocity?r.velocity:t.getVelocity(),onUpdate:e=>t.set(e)};return a.type===`inertia`||a.type===`decay`?oo({...c,...a}):io({...qo(a,c,e),onUpdate:e=>{c.onUpdate(e),a.onUpdate&&a.onUpdate(e)},onComplete:()=>{i&&i(),s&&s()}})}function u(e){return t.set(n),i&&i(),e&&e(),{stop:()=>{}}}return!c||!s||a.type===!1?u:l}function Zo(){let{motionValues:e,stop:t,get:n}=Oo();return{motionValues:e,stop:t,push:(e,t,r,i={},a)=>{let o=r[e],s=n(e,o,r);if(i&&i.immediate){s.set(t);return}let c=Xo(e,s,t,i,a);s.start(c)}}}function Qo(e,t={},{motionValues:n,push:r,stop:i}=Zo()){let a=O(t),o=D(!1);c(n,e=>{o.value=Object.values(e).filter(e=>e.isAnimating()).length>0},{immediate:!0,deep:!0});let s=e=>{if(!a||!a[e])throw Error(`The variant ${e} does not exist.`);return a[e]},l=t=>{typeof t==`string`&&(t=s(t));let n=Object.entries(t).map(([n,i])=>{if(n!==`transition`)return new Promise(a=>r(n,i,e,t.transition||Fo(n,t[n]),a))}).filter(Boolean);async function i(){await Promise.all(n),t.transition?.onComplete?.()}return Promise.all([i()])};return{isAnimating:o,apply:l,set:t=>{let n=Mr(t)?t:s(t);Object.entries(n).forEach(([t,n])=>{t!==`transition`&&r(t,n,e,{immediate:!0})})},leave:async e=>{let t;if(a&&(a.leave&&(t=a.leave),!a.leave&&a.initial&&(t=a.initial)),!t){e();return}await l(t),e()},stop:i}}var $o=typeof window<`u`,es=()=>$o&&(window.onpointerdown===null||void 0),ts=()=>$o&&(window.ontouchstart===null||void 0),ns=()=>$o&&(window.onmousedown===null||void 0);function rs({target:e,state:t,variants:n,apply:r}){let i=O(n),a=D(!1),o=D(!1),s=D(!1),l=h(()=>{let e=[...Object.keys(t.value||{})];return i?(i.hovered&&(e=[...e,...Object.keys(i.hovered)]),i.tapped&&(e=[...e,...Object.keys(i.tapped)]),i.focused&&(e=[...e,...Object.keys(i.focused)]),e):e}),u=h(()=>{let e={};Object.assign(e,t.value),a.value&&i.hovered&&Object.assign(e,i.hovered),o.value&&i.tapped&&Object.assign(e,i.tapped),s.value&&i.focused&&Object.assign(e,i.focused);for(let t in e)l.value.includes(t)||delete e[t];return e});i.hovered&&(q(e,`mouseenter`,()=>a.value=!0),q(e,`mouseleave`,()=>{a.value=!1,o.value=!1})),i.tapped&&(ns()&&(q(e,`mousedown`,()=>o.value=!0),q(e,`mouseup`,()=>o.value=!1)),es()&&(q(e,`pointerdown`,()=>o.value=!0),q(e,`pointerup`,()=>o.value=!1)),ts()&&(q(e,`touchstart`,()=>o.value=!0),q(e,`touchend`,()=>o.value=!1))),i.focused&&(q(e,`focus`,()=>s.value=!0),q(e,`blur`,()=>s.value=!1)),c([a,o,s],()=>{r(u.value)})}function is({set:e,target:t,variants:n,variant:r}){let i=O(n);c(()=>t,()=>{i&&(i.initial&&(e(`initial`),r.value=`initial`),i.enter&&(r.value=`enter`))},{immediate:!0,flush:`pre`})}function as({state:e,apply:t}){c(e,e=>{e&&t(e)},{immediate:!0})}function os({target:e,variants:t,variant:n}){let r=O(t);r&&(r.visible||r.visibleOnce)&&Hr(e,([{isIntersecting:e}])=>{r.visible?n.value=e?`visible`:`initial`:r.visibleOnce&&(e&&n.value!==`visibleOnce`?n.value=`visibleOnce`:n.value||=`initial`)})}function ss(e,t={syncVariants:!0,lifeCycleHooks:!0,visibilityHooks:!0,eventListeners:!0}){t.lifeCycleHooks&&is(e),t.syncVariants&&as(e),t.visibilityHooks&&os(e),t.eventListeners&&rs(e)}function cs(e={}){let t=f({...e}),n=D({});return c(t,()=>{let e={};for(let[n,r]of Object.entries(t))e[n]=zo(r,Ro(n));n.value=e},{immediate:!0,deep:!0}),{state:t,style:n}}function ls(e,t){c(()=>zr(e),e=>{e&&t(e)},{immediate:!0})}var us={x:`translateX`,y:`translateY`,z:`translateZ`};function ds(e={},t=!0){let n=f({...e}),r=D(``);return c(n,e=>{let n=``,i=!1;if(t&&(e.x||e.y||e.z)){let t=[e.x||0,e.y||0,e.z||0].map(e=>zo(e,Y)).join(`,`);n+=`translate3d(${t}) `,i=!0}for(let[r,i]of Object.entries(e)){if(t&&(r===`x`||r===`y`||r===`z`))continue;let e=zo(i,Ro(r));n+=`${us[r]||r}(${e}) `}t&&!i&&(n+=`translateZ(0px) `),r.value=n.trim()},{immediate:!0,deep:!0}),{state:n,transform:r}}var fs=[``,`X`,`Y`,`Z`],ps=[`perspective`,`translate`,`scale`,`rotate`,`skew`],ms=[`transformPerspective`,`x`,`y`,`z`];ps.forEach(e=>{fs.forEach(t=>{let n=e+t;ms.push(n)})});var hs=new Set(ms);function gs(e){return hs.has(e)}var _s=new Set([`originX`,`originY`,`originZ`]);function vs(e){return _s.has(e)}function ys(e){let t={},n={};return Object.entries(e).forEach(([e,r])=>{gs(e)||vs(e)?t[e]=r:n[e]=r}),{transform:t,style:n}}function bs(e){let{transform:t,style:n}=ys(e),{transform:r}=ds(t),{style:i}=cs(n);return r.value&&(i.value.transform=r.value),i.value}function xs(e,t){let n,r,{state:i,style:a}=cs();return ls(e,e=>{r=e;for(let t of Object.keys(Lo))e.style[t]===null||e.style[t]===``||gs(t)||vs(t)||(i[t]=e.style[t]);n&&Object.entries(n).forEach(([t,n])=>e.style[t]=n),t&&t(i)}),c(a,e=>{if(!r){n=e;return}for(let t in e)r.style[t]=e[t]},{immediate:!0}),{style:i}}function Ss(e){let t=e.trim().split(/\) |\)/);if(t.length===1)return{};let n=e=>e.endsWith(`px`)||e.endsWith(`deg`)?Number.parseFloat(e):Number.isNaN(Number(e))?Number(e):e;return t.reduce((e,t)=>{if(!t)return e;let[r,i]=t.split(`(`),a=i.split(`,`).map(e=>n(e.endsWith(`)`)?e.replace(`)`,``):e.trim())),o=a.length===1?a[0]:a;return{...e,[r]:o}},{})}function Cs(e,t){Object.entries(Ss(t)).forEach(([t,n])=>{let r=[`x`,`y`,`z`];if(t===`translate3d`){if(n===0){r.forEach(t=>e[t]=0);return}n.forEach((t,n)=>e[r[n]]=t);return}if(n=Number.parseFloat(`${n}`),t===`translateX`){e.x=n;return}if(t===`translateY`){e.y=n;return}if(t===`translateZ`){e.z=n;return}e[t]=n})}function ws(e,t){let n,r,{state:i,transform:a}=ds();return ls(e,e=>{r=e,e.style.transform&&Cs(i,e.style.transform),n&&(e.style.transform=n),t&&t(i)}),c(a,e=>{if(!r){n=e;return}r.style.transform=e},{immediate:!0}),{transform:i}}function Ts(e){return Object.entries(e)}function Es(e,t){let n=f({}),r=e=>Object.entries(e).forEach(([e,t])=>n[e]=t),{style:i}=xs(e,r),{transform:a}=ws(e,r);return c(n,e=>{Ts(e).forEach(([e,t])=>{let n=gs(e)?a:i;n[e]&&n[e]===t||(n[e]=t)})},{immediate:!0,deep:!0}),ls(e,()=>t&&r(t)),{motionProperties:n,style:i,transform:a}}function Ds(e={}){let t=O(e),n=D();return{state:h(()=>{if(n.value)return t[n.value]}),variant:n}}function Os(e,t={},n){let{motionProperties:r}=Es(e),{variant:i,state:a}=Ds(t),o={target:e,variant:i,variants:t,state:a,motionProperties:r,...Qo(r,t)};return ss(o,n),o}var ks=[`delay`,`duration`],As=[`initial`,`enter`,`leave`,`visible`,`visible-once`,`visibleOnce`,`hovered`,`tapped`,`focused`,...ks];function js(e){return ks.includes(e)}function Ms(e,t){let n=e.props?e.props:e.data&&e.data.attrs?e.data.attrs:{};if(n){n.variants&&Mr(n.variants)&&(t.value={...t.value,...n.variants});for(let e of As)if(!(!n||!n[e])){if(js(e)&&typeof n[e]==`number`){for(let r of[`enter`,`visible`,`visibleOnce`]){let i=t.value[r];i!=null&&(i.transition??={},i.transition[e]=n[e])}continue}if(Mr(n[e])){let r=n[e];e===`visible-once`&&(e=`visibleOnce`),t.value[e]=r}}}}function Ns(e,t=!1){return{created:(n,r,i)=>{let a=r.value&&typeof r.value==`string`?r.value:i.key;a&&So[a]&&So[a].stop();let o=t?structuredClone(x(e)||{}):e||{},s=D(o);typeof r.value==`object`&&(s.value=r.value),Ms(i,s);let c=Os(n,s,{eventListeners:!0,lifeCycleHooks:!0,syncVariants:!0,visibilityHooks:!1});n.motionInstance=c,a&&(So[a]=c)},mounted:(e,t,n)=>{e.motionInstance&&os(e.motionInstance)},getSSRProps(t,n){let{initial:r}=t.value||n&&n?.props||{};r=O(r);let i=Dr({},e?.initial||{},r||{});if(!(!i||Object.keys(i).length===0))return{style:bs(i)}}}}var Ps={__proto__:null,fade:{initial:{opacity:0},enter:{opacity:1}},fadeVisible:{initial:{opacity:0},visible:{opacity:1}},fadeVisibleOnce:{initial:{opacity:0},visibleOnce:{opacity:1}},pop:{initial:{scale:0,opacity:0},enter:{scale:1,opacity:1}},popVisible:{initial:{scale:0,opacity:0},visible:{scale:1,opacity:1}},popVisibleOnce:{initial:{scale:0,opacity:0},visibleOnce:{scale:1,opacity:1}},rollBottom:{initial:{y:100,rotate:90,opacity:0},enter:{y:0,rotate:0,opacity:1}},rollLeft:{initial:{x:-100,rotate:90,opacity:0},enter:{x:0,rotate:0,opacity:1}},rollRight:{initial:{x:100,rotate:-90,opacity:0},enter:{x:0,rotate:0,opacity:1}},rollTop:{initial:{y:-100,rotate:-90,opacity:0},enter:{y:0,rotate:0,opacity:1}},rollVisibleBottom:{initial:{y:100,rotate:90,opacity:0},visible:{y:0,rotate:0,opacity:1}},rollVisibleLeft:{initial:{x:-100,rotate:90,opacity:0},visible:{x:0,rotate:0,opacity:1}},rollVisibleOnceBottom:{initial:{y:100,rotate:90,opacity:0},visibleOnce:{y:0,rotate:0,opacity:1}},rollVisibleOnceLeft:{initial:{x:-100,rotate:90,opacity:0},visibleOnce:{x:0,rotate:0,opacity:1}},rollVisibleOnceRight:{initial:{x:100,rotate:-90,opacity:0},visibleOnce:{x:0,rotate:0,opacity:1}},rollVisibleOnceTop:{initial:{y:-100,rotate:-90,opacity:0},visibleOnce:{y:0,rotate:0,opacity:1}},rollVisibleRight:{initial:{x:100,rotate:-90,opacity:0},visible:{x:0,rotate:0,opacity:1}},rollVisibleTop:{initial:{y:-100,rotate:-90,opacity:0},visible:{y:0,rotate:0,opacity:1}},slideBottom:{initial:{y:100,opacity:0},enter:{y:0,opacity:1}},slideLeft:{initial:{x:-100,opacity:0},enter:{x:0,opacity:1}},slideRight:{initial:{x:100,opacity:0},enter:{x:0,opacity:1}},slideTop:{initial:{y:-100,opacity:0},enter:{y:0,opacity:1}},slideVisibleBottom:{initial:{y:100,opacity:0},visible:{y:0,opacity:1}},slideVisibleLeft:{initial:{x:-100,opacity:0},visible:{x:0,opacity:1}},slideVisibleOnceBottom:{initial:{y:100,opacity:0},visibleOnce:{y:0,opacity:1}},slideVisibleOnceLeft:{initial:{x:-100,opacity:0},visibleOnce:{x:0,opacity:1}},slideVisibleOnceRight:{initial:{x:100,opacity:0},visibleOnce:{x:0,opacity:1}},slideVisibleOnceTop:{initial:{y:-100,opacity:0},visibleOnce:{y:0,opacity:1}},slideVisibleRight:{initial:{x:100,opacity:0},visible:{x:0,opacity:1}},slideVisibleTop:{initial:{y:-100,opacity:0},visible:{y:0,opacity:1}}},Fs=Symbol(``),Is={preset:{type:String,required:!1},instance:{type:Object,required:!1},variants:{type:Object,required:!1},initial:{type:Object,required:!1},enter:{type:Object,required:!1},leave:{type:Object,required:!1},visible:{type:Object,required:!1},visibleOnce:{type:Object,required:!1},hovered:{type:Object,required:!1},tapped:{type:Object,required:!1},focused:{type:Object,required:!1},delay:{type:[Number,String],required:!1},duration:{type:[Number,String],required:!1}};function Ls(e){return Object.prototype.toString.call(e)===`[object Object]`}function Rs(e){if(Array.isArray(e))return e.map(Rs);if(Ls(e)){let t={};for(let n in e)t[n]=Rs(e[n]);return t}return e}function zs(e){let t=f({}),n=v(Fs,{}),r=h(()=>e.preset==null?{}:n!=null&&e.preset in n?structuredClone(x(n)[e.preset]):e.preset in Ps?structuredClone(Ps[e.preset]):{}),i=h(()=>({initial:e.initial,enter:e.enter,leave:e.leave,visible:e.visible,visibleOnce:e.visibleOnce,hovered:e.hovered,tapped:e.tapped,focused:e.focused}));function a(e,t){for(let n of[`delay`,`duration`]){if(t[n]==null)continue;let r=Number.parseInt(t[n]);for(let t of[`enter`,`visible`,`visibleOnce`]){let i=e[t];i!=null&&(i.transition??={},i.transition[n]=r)}}return e}let o=h(()=>a({...Dr({},i.value,r.value,e.variants||{})},e));function s(e,n,r){e.props??={},e.props.style??={},e.props.style={...e.props.style,...r};let i=a(Rs(o.value),e.props);return e.props.onVnodeMounted=({el:e})=>{t[n]=Os(e,i)},e.props.onVnodeUpdated=({el:e})=>{let r=bs(t[n].state);for(let[t,n]of Object.entries(r))e.style[t]=n},e}return{motionConfig:o,setNodeInstance:s}}k({name:`Motion`,props:{...Is,is:{type:[String,Object],default:`div`}},setup(e){let r=n(),{motionConfig:i,setNodeInstance:a}=zs(e);return()=>{let n=bs(i.value.initial||{}),o=t(e.is,void 0,r);return a(o,0,n),o}}}),k({name:`MotionGroup`,props:{...Is,is:{type:[String,Object],required:!1}},setup(e){let r=n(),{motionConfig:i,setNodeInstance:a}=zs(e);return()=>{let n=bs(i.value.initial||{}),o=r.default?.()||[];for(let e=0;ee.every(e=>u(e)))}var Vs=Bs;function Hs(e){return h(()=>!u(e))}var Us=Hs;function Ws(...e){return h(()=>e.some(e=>u(e)))}var Gs=Ws;export{Jt as A,de as B,br as C,hn as D,Cr as E,bn as F,yn as I,Sn as L,fn as M,Yt as N,wn as O,en as P,Kt as R,yr as S,Sr as T,ue as V,pr as _,Vn as a,gr as b,Rn as c,ar as d,sr as f,dr as g,ur as h,Ns as i,z as j,En as k,Hn as l,W as m,Us as n,Mn as o,cr as p,Gs as r,Ln as s,Vs as t,Wn as u,K as v,xr as w,Zn as x,hr as y,mt as z}; \ No newline at end of file diff --git a/lecture-05/assets/overview-BIQ10iVu.css b/lecture-05/assets/overview-BIQ10iVu.css new file mode 100644 index 0000000000000000000000000000000000000000..5ac480cef2330ef92e6970e4ce48338b846b6bd0 --- /dev/null +++ b/lecture-05/assets/overview-BIQ10iVu.css @@ -0,0 +1 @@ +.overview-slide-block:hover .overview-slide-action[data-v-47f32601]{opacity:.6}.overview-slide-action[data-v-47f32601]:hover{opacity:.8} diff --git a/lecture-05/assets/play-D_7yfuao.css b/lecture-05/assets/play-D_7yfuao.css new file mode 100644 index 0000000000000000000000000000000000000000..397d386dd314e2c98360c571f82fe57cf792b617 --- /dev/null +++ b/lecture-05/assets/play-D_7yfuao.css @@ -0,0 +1 @@ +.slidev-info-dialog{max-width:37.5rem;padding:1rem!important} diff --git a/lecture-05/assets/presenter-J5ibmAMh.css b/lecture-05/assets/presenter-J5ibmAMh.css new file mode 100644 index 0000000000000000000000000000000000000000..894310ab10e45ab878c88c883d0863829e21b29e --- /dev/null +++ b/lecture-05/assets/presenter-J5ibmAMh.css @@ -0,0 +1 @@ +.slidev-presenter[data-v-e7a794bf]{--slidev-controls-foreground:current}.grid-container[data-v-e7a794bf]{--slidev-presenter-notes-width:360px;--slidev-presenter-notes-row-size:280px;background-color:#9ca3af33;flex:1;gap:1px;display:grid;position:relative;overflow:hidden}.grid-container.layout1[data-v-e7a794bf]{grid-template-columns:var(--slidev-presenter-notes-width) minmax(0, 1fr);grid-template-rows:minmax(0, 2fr) minmax(0, var(--slidev-presenter-notes-row-size)) min-content;grid-template-areas:"main main""note next""bottom bottom"}.grid-container.layout2[data-v-e7a794bf]{grid-template-columns:var(--slidev-presenter-notes-width) minmax(0, 1fr);grid-template-rows:minmax(0, var(--slidev-presenter-notes-row-size)) minmax(0, 1fr) min-content;grid-template-areas:"note main""note next""bottom bottom"}@media (aspect-ratio<=3/5){.grid-container.layout1[data-v-e7a794bf]{grid-template:"main"2fr"note"1fr"next"1fr"bottom"min-content/1fr}}@media (aspect-ratio>=1){.grid-container.layout1[data-v-e7a794bf]{grid-template-columns:minmax(0, 1fr) minmax(0, 1.1fr) var(--slidev-presenter-notes-width);grid-template-rows:minmax(0, 1fr) minmax(0, var(--slidev-presenter-notes-row-size)) min-content;grid-template-areas:"main main next""main main note""bottom bottom bottom"}}.grid-container.layout3[data-v-e7a794bf]{grid-template-columns:var(--slidev-presenter-notes-width) minmax(0, 1fr);grid-template-rows:minmax(0, var(--slidev-presenter-notes-row-size)) minmax(0, 1fr) min-content;grid-template-areas:"note next""main next""bottom bottom"}.grid-section[data-v-e7a794bf]{--un-bg-opacity:1;background-color:rgb(255 255 255/var(--un-bg-opacity))}.dark .grid-section[data-v-e7a794bf]{--un-bg-opacity:1;background-color:rgb(18 18 18/var(--un-bg-opacity))}.grid-section.top[data-v-e7a794bf]{grid-area:top}.grid-section.main[data-v-e7a794bf]{grid-area:main}.grid-section.next[data-v-e7a794bf]{grid-area:next}.grid-section.note[data-v-e7a794bf]{grid-area:note}.grid-section.bottom[data-v-e7a794bf]{grid-area:bottom}.notes-resizer[data-v-e7a794bf]{cursor:col-resize;z-index:10;touch-action:none;width:12px;height:100%;position:absolute;top:0}.notes-resizer[data-v-e7a794bf]:before{content:"";opacity:.2;background-color:currentColor;width:1px;height:100%;position:absolute;top:0;left:50%;transform:translate(-50%)}.notes-row-resizer[data-v-e7a794bf]{cursor:row-resize;z-index:10;touch-action:none;width:100%;height:12px;position:absolute;left:0}.notes-row-resizer[data-v-e7a794bf]:before{content:"";opacity:.2;background-color:currentColor;width:100%;height:1px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.notes-vertical-resizer[data-v-e7a794bf]{right:var(--slidev-presenter-notes-width);top:0;bottom:var(--slidev-presenter-bottom-height,0px);cursor:col-resize;z-index:10;touch-action:none;width:12px;position:absolute;transform:translate(50%)}.notes-vertical-resizer[data-v-e7a794bf]:before{content:"";width:1px;height:100%;position:absolute;top:0;left:50%;transform:translate(-50%)}.notes-vertical-resizer-left[data-v-e7a794bf]{left:var(--slidev-presenter-notes-width);top:0;bottom:var(--slidev-presenter-bottom-height,0px);cursor:col-resize;z-index:10;touch-action:none;width:12px;position:absolute;transform:translate(-50%)}.notes-vertical-resizer-left[data-v-e7a794bf]:before{content:"";width:1px;height:100%;position:absolute;top:0;left:50%;transform:translate(-50%)} diff --git a/lecture-05/assets/rolldown-runtime-hePW80VL.js b/lecture-05/assets/rolldown-runtime-hePW80VL.js new file mode 100644 index 0000000000000000000000000000000000000000..19803821aea2e74c5c1a9c81c33bbad26f2ac631 --- /dev/null +++ b/lecture-05/assets/rolldown-runtime-hePW80VL.js @@ -0,0 +1 @@ +var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),s=(e,n)=>{let r={};for(var i in e)t(r,i,{get:e[i],enumerable:!0});return n||t(r,Symbol.toStringTag,{value:`Module`}),r},c=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;li[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},l=(n,r,o)=>(o=n==null?{}:e(i(n)),c(r||!n||!n.__esModule||!a.call(n,`default`)?t(o,`default`,{value:n,enumerable:!0}):o,n));export{s as n,l as r,o as t}; \ No newline at end of file diff --git a/lecture-05/assets/section-BZ9Dfv_4.css b/lecture-05/assets/section-BZ9Dfv_4.css new file mode 100644 index 0000000000000000000000000000000000000000..d27ca99afbadaf5a880bb2ca13a5955a547e6164 --- /dev/null +++ b/lecture-05/assets/section-BZ9Dfv_4.css @@ -0,0 +1 @@ +.dl-section[data-v-833128c2]{background:var(--dl-surface);flex-direction:column;justify-content:center;padding-left:4rem;display:flex}.dl-section__index[data-v-833128c2]{font-size:var(--dl-fs-secondary);letter-spacing:.2em;color:var(--dl-accent);margin-bottom:.8rem;font-weight:700}.dl-section__body[data-v-833128c2] h1,.dl-section__body[data-v-833128c2] h2{font-size:var(--dl-fs-section);margin:0;line-height:1.1}.dl-section__body[data-v-833128c2] p{color:var(--dl-muted);max-width:46ch;margin-top:.6rem}.dl-section__rule[data-v-833128c2]{margin-top:1.4rem} diff --git a/lecture-05/assets/section-CLxRKQ9Y.js b/lecture-05/assets/section-CLxRKQ9Y.js new file mode 100644 index 0000000000000000000000000000000000000000..111d00904307647dee0f4af899cffa4b9cb41bfd --- /dev/null +++ b/lecture-05/assets/section-CLxRKQ9Y.js @@ -0,0 +1 @@ +import{H as e,St as t,_ as n,b as r,w as i,y as a,z as o}from"./modules/shiki-CkJq9tSf.js";import{t as s}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{n as c}from"./slidev/context-DnYiQGy6.js";var l={class:`slidev-layout dl-section`},u={key:0,class:`dl-section__index`},d={class:`dl-section__body`},f=s(i({__name:`section`,props:{index:{}},setup(i){let{$slidev:s,$nav:f,$clicksContext:p,$clicks:m,$page:h,$renderContext:g,$frontmatter:_}=c(),v=i;return(i,s)=>(o(),r(`div`,l,[v.index?(o(),r(`div`,u,t(v.index),1)):a(`v-if`,!0),n(`div`,d,[e(i.$slots,`default`,{},void 0,!0)]),s[0]||=n(`div`,{class:`dl-rule dl-section__rule`},null,-1)]))}}),[[`__scopeId`,`data-v-833128c2`]]);export{f as t}; \ No newline at end of file diff --git a/lecture-05/assets/shortcuts-nRB69a7e.css b/lecture-05/assets/shortcuts-nRB69a7e.css new file mode 100644 index 0000000000000000000000000000000000000000..e7e39cdb869e4b320cccd3cb3ea85ebffcf1274d --- /dev/null +++ b/lecture-05/assets/shortcuts-nRB69a7e.css @@ -0,0 +1 @@ +.autocomplete-list[data-v-61e41ebd]{--un-bg-opacity:1;background-color:rgb(255 255 255/var(--un-bg-opacity));max-height:calc(100vh - 100px);margin-top:.25rem;overflow:auto}.dark .autocomplete-list[data-v-61e41ebd]{--un-bg-opacity:1;background-color:rgb(18 18 18/var(--un-bg-opacity))}.autocomplete[data-v-61e41ebd]{cursor:pointer}.laser-pointer[data-v-1d1438ab]{background:radial-gradient(circle,#ff5050 0%,#ff0000f2 55%,#ff00001a 100%);border-radius:9999px;width:6px;height:6px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 10px #ff0000e6,0 0 22px #ff00008c}.slidev-self-laser-active .slidev-slide-container{cursor:none}.slider{appearance:none;opacity:.7;-webkit-transition:all .2s;background-color:#9ca3af0d;border-width:1px;border-color:#9ca3af33;border-radius:.25rem;outline:none;height:22px;transition:opacity .2s;overflow:hidden}.slider:hover{opacity:1}.slider::-webkit-slider-thumb{appearance:none;background:var(--slidev-theme-primary);cursor:pointer;z-index:10;width:5px;height:22px}.slider::-moz-range-thumb{background:var(--slidev-theme-primary);cursor:pointer;z-index:10;width:5px;height:22px}.item[data-v-aa3b28a6]{cursor:default;white-space:nowrap;border-radius:.25rem;gap:.25rem;padding:.25rem .5rem;display:flex}.item[data-v-aa3b28a6]:hover{--un-bg-opacity:.1;background-color:rgb(156 163 175/var(--un-bg-opacity))}.title[data-v-aa3b28a6]{-webkit-user-select:none;user-select:none;text-wrap:nowrap;opacity:.75;padding:.25rem .75rem;font-size:.875rem;font-weight:700;line-height:1.25rem}#slideshow[data-v-835d2635]{height:100%} diff --git a/lecture-05/assets/slidev/404-sUIBhs09.js b/lecture-05/assets/slidev/404-sUIBhs09.js new file mode 100644 index 0000000000000000000000000000000000000000..7b895a0d846d6c7e8142795497e53c587ccd8e03 --- /dev/null +++ b/lecture-05/assets/slidev/404-sUIBhs09.js @@ -0,0 +1 @@ +import{$ as e,St as t,U as n,_ as r,b as i,g as a,v as o,vt as s,w as c,x as l,y as u,z as d}from"../modules/shiki-CkJq9tSf.js";import{t as f}from"../useNav-D6eKrDQR.js";import{t as p}from"../_plugin-vue_export-helper-BDNMzG2s.js";import{V as m}from"../modules/vue-Dz2ojcKF.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=p(c({__name:`404`,setup(c){let p=/\d+/,{currentRoute:y}=m(),{total:b}=f(),x=a(()=>{let e=y.value.path.match(p);if(e){let t=+e[0];if(t>0&&t<=b.value)return t}return null});return(a,c)=>{let f=n(`RouterLink`);return d(),i(`div`,h,[r(`div`,null,[c[2]||=r(`h1`,{class:`text-9xl font-light`},` 404 `,-1),r(`p`,g,[c[0]||=l(` Page `,-1),r(`code`,_,t(s(y).path),1),c[1]||=l(` not found `,-1)])]),r(`div`,v,[x.value===1?u(`v-if`,!0):(d(),o(f,{key:0,to:`/`,class:`page-link`},{default:e(()=>[...c[3]||=[l(` Go Home `,-1)]]),_:1})),x.value?(d(),o(f,{key:1,to:`/${x.value}`,class:`page-link`},{default:e(()=>[l(` Go to Slide `+t(x.value),1)]),_:1},8,[`to`])):u(`v-if`,!0)])])}}}),[[`__scopeId`,`data-v-b584852f`]]);export{y as default}; \ No newline at end of file diff --git a/lecture-05/assets/slidev/CodeBlockWrapper-RJVA2-nu.js b/lecture-05/assets/slidev/CodeBlockWrapper-RJVA2-nu.js new file mode 100644 index 0000000000000000000000000000000000000000..410b11e2c4055f7f10b857e1f9ca9657562fb5b4 --- /dev/null +++ b/lecture-05/assets/slidev/CodeBlockWrapper-RJVA2-nu.js @@ -0,0 +1 @@ +import{H as e,L as t,R as n,S as r,St as i,Z as a,_ as o,b as s,g as c,k as l,ut as u,v as d,vt as f,w as p,xt as m,y as h,yt as g,z as _}from"../modules/shiki-CkJq9tSf.js";import{tt as v}from"../useNav-D6eKrDQR.js";import{u as y}from"../modules/vue-Dz2ojcKF.js";import{a as b,l as x,n as S}from"./context-DnYiQGy6.js";import{d as C,u as w}from"../index-CK0S5VQV.js";import{a as T,i as E}from"../modules/unplugin-icons-CEvhMF8G.js";var D=p({__name:`TitleIcon`,props:{title:{}},setup(e){let t={pnpm:`i-vscode-icons:file-type-light-pnpm`,npm:`i-vscode-icons:file-type-npm`,yarn:`i-vscode-icons:file-type-yarn`,bun:`i-vscode-icons:file-type-bun`,deno:`i-vscode-icons:file-type-deno`,vue:`i-vscode-icons:file-type-vue`,svelte:`i-vscode-icons:file-type-svelte`,angular:`i-vscode-icons:file-type-angular`,react:`i-vscode-icons:file-type-reactjs`,next:`i-vscode-icons:file-type-light-next`,nuxt:`i-vscode-icons:file-type-nuxt`,solid:`logos:solidjs-icon`,astro:`i-vscode-icons:file-type-light-astro`,rollup:`i-vscode-icons:file-type-rollup`,webpack:`i-vscode-icons:file-type-webpack`,vite:`i-vscode-icons:file-type-vite`,esbuild:`i-vscode-icons:file-type-esbuild`,"package.json":`i-vscode-icons:file-type-node`,"tsconfig.json":`i-vscode-icons:file-type-tsconfig`,".npmrc":`i-vscode-icons:file-type-npm`,".editorconfig":`i-vscode-icons:file-type-editorconfig`,".eslintrc":`i-vscode-icons:file-type-eslint`,".eslintignore":`i-vscode-icons:file-type-eslint`,"eslint.config":`i-vscode-icons:file-type-eslint`,".gitignore":`i-vscode-icons:file-type-git`,".gitattributes":`i-vscode-icons:file-type-git`,".env":`i-vscode-icons:file-type-dotenv`,".env.example":`i-vscode-icons:file-type-dotenv`,".vscode":`i-vscode-icons:file-type-vscode`,"tailwind.config":`vscode-icons:file-type-tailwind`,"uno.config":`i-vscode-icons:file-type-unocss`,"unocss.config":`i-vscode-icons:file-type-unocss`,".oxlintrc":`i-vscode-icons:file-type-oxlint`,"vue.config":`i-vscode-icons:file-type-vueconfig`,".mts":`i-vscode-icons:file-type-typescript`,".cts":`i-vscode-icons:file-type-typescript`,".ts":`i-vscode-icons:file-type-typescript`,".tsx":`i-vscode-icons:file-type-typescript`,".mjs":`i-vscode-icons:file-type-js`,".cjs":`i-vscode-icons:file-type-js`,".json":`i-vscode-icons:file-type-json`,".js":`i-vscode-icons:file-type-js`,".jsx":`i-vscode-icons:file-type-js`,".md":`i-vscode-icons:file-type-markdown`,".py":`i-vscode-icons:file-type-python`,".ico":`i-vscode-icons:file-type-favicon`,".html":`i-vscode-icons:file-type-html`,".css":`i-vscode-icons:file-type-css`,".scss":`i-vscode-icons:file-type-scss`,".yml":`i-vscode-icons:file-type-light-yaml`,".yaml":`i-vscode-icons:file-type-light-yaml`,".php":`i-vscode-icons:file-type-php`,".svg":`i-vscode-icons:file-type-svg`};function n(e){let n=e.match(/~([^~]+)~/g);if(n&&n.length>0)return n[0].slice(1,-1);let r=Object.keys(t).sort((e,t)=>t.length-e.length);for(let n of r)if(e.toLowerCase().includes(n.toLowerCase()))return t[n];return``}return(t,r)=>n(e.title)?(_(),s(`div`,{key:0,class:g([`w-3.5 h-3.5 relative`,n(e.title)])},null,2)):h(`v-if`,!0)}}),O=[`data-title`],k={key:0,class:`slidev-code-block-title`},A={class:`leading-1em`},j=[`title`],M=p({__name:`CodeBlockWrapper`,props:{ranges:{type:Array,default:()=>[]},finally:{type:[String,Number],default:`last`},startLine:{type:Number,default:1},lines:{type:Boolean,default:v.lineNumbers},at:{type:[String,Number],default:`+1`},maxHeight:{type:String,default:void 0},title:{type:String,default:``}},setup(p){let M=p,{$frontmatter:N,$clicksContext:P}=S(),F=c(()=>N?.codeCopy??v.codeCopy),I=u(),L=w();n(()=>{P.unregister(L)}),a(()=>{I.value?.classList.toggle(`slidev-code-line-numbers`,M.lines)}),t(()=>{if(!P||!M.ranges?.length)return;let e=P.calculateSince(M.at,M.ranges.length-1);P.register(L,e);let t=c(()=>e?Math.max(0,P.current-e.start+1):x),n=c(()=>M.finally===`last`?M.ranges.at(-1):M.finally.toString());a(()=>{if(!I.value)return;let e=M.ranges[t.value]??n.value,r=e===`hide`;I.value.classList.toggle(b,r),r&&(e=M.ranges[t.value+1]??n.value);let i=I.value.querySelector(`.shiki`),a=Array.from(i.querySelectorAll(`code > .line`)),o=a.length;if(C(e,o,M.startLine,e=>[a[e]]),M.maxHeight){let e=Array.from(i.querySelectorAll(`.line.highlighted`));e.reduce((e,t)=>t.offsetHeight+e,0)>I.value.offsetHeight?e[0].scrollIntoView({behavior:`smooth`,block:`start`}):e.length>0&&e[Math.round((e.length-1)/2)].scrollIntoView({behavior:`smooth`,block:`center`})}})});let{copied:R,copy:z}=y();function B(){let e=I.value?.querySelector(`.slidev-code`)?.textContent;e&&z(e)}let V=l(`activeTitle`,null),H=c(()=>V===null&&M.title);return(t,n)=>{let a=E,c=T;return _(),s(`div`,{ref_key:`el`,ref:I,class:g([`slidev-code-wrapper relative group`,{"slidev-code-line-numbers":M.lines,active:f(V)===p.title}]),style:m({"max-height":M.maxHeight,"overflow-y":M.maxHeight?`scroll`:void 0,"--start":M.startLine}),"data-title":p.title},[H.value?(_(),s(`div`,k,[r(D,{title:p.title},null,8,[`title`]),o(`div`,A,i(p.title.replace(/~([^~]+)~/g,``).trim()),1)])):h(`v-if`,!0),e(t.$slots,`default`),F.value?(_(),s(`button`,{key:1,class:g([`slidev-code-copy absolute right-0 transition opacity-0 group-hover:opacity-20 hover:!opacity-100`,H.value?`top-10`:`top-0`]),title:f(R)?`Copied`:`Copy`,onClick:n[0]||=e=>B()},[f(R)?(_(),d(a,{key:0,class:`p-2 w-8 h-8`})):(_(),d(c,{key:1,class:`p-2 w-8 h-8`}))],10,j)):h(`v-if`,!0)],14,O)}}});export{M as t}; \ No newline at end of file diff --git a/lecture-05/assets/slidev/DrawingControls-DFFYtEqL.js b/lecture-05/assets/slidev/DrawingControls-DFFYtEqL.js new file mode 100644 index 0000000000000000000000000000000000000000..aef433e6065c179785adc2030955cab9356674e2 --- /dev/null +++ b/lecture-05/assets/slidev/DrawingControls-DFFYtEqL.js @@ -0,0 +1 @@ +import{n as e}from"../rolldown-runtime-hePW80VL.js";import{$ as t,H as n,S as r,St as i,V as a,_ as o,b as s,et as c,l,m as u,r as d,u as f,ut as p,v as m,vt as h,w as g,xt as _,y as v,yt as y,z as b}from"../modules/shiki-CkJq9tSf.js";import{d as x,g as S}from"../modules/vue-Dz2ojcKF.js";import{t as C}from"../useDrawings-D53otB4S.js";import{t as w}from"./IconButton-CfFb_8Iy.js";import{t as T}from"./VerticalDivider-E2da-Zpk.js";var E=g({__name:`Draggable`,props:{storageKey:{},initial:{}},setup(e){let t=e,r=p(null),i=t.initial??{x:0,y:0},a=t.storageKey?S(t.storageKey,i):p(i),{style:o}=x(r,{initialValue:a});return(e,t)=>(b(),s(`div`,{ref_key:`el`,ref:r,class:`fixed`,style:_(h(o))},[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=g({__name:`DrawingControls`,setup(e){let{brush:n,canClear:g,canRedo:x,canUndo:S,clear:P,drauu:F,drawingEnabled:I,drawingMode:L,drawingPinned:R,brushColors:z}=C(),B=p(!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,p)=>h(I)||h(R)?(b(),m(E,{key:0,class:y([`flex flex-wrap text-xl p-2 gap-1 rounded-md bg-main shadow transition-opacity duration-200 z-nav border border-main`,!h(I)&&h(R)?`opacity-40 hover:opacity-90`:``]),"storage-key":`slidev-drawing-pos`,"initial-x":10,"initial-y":10},{default:t(()=>[r(w,{title:`Draw with stylus`,class:y({shallow:h(L)!==`stylus`}),onClick:p[0]||=e=>K(`stylus`)},{default:t(()=>[...p[14]||=[o(`div`,{class:`i-carbon:pen`},null,-1)]]),_:1},8,[`class`]),r(w,{title:`Draw a line`,class:y({shallow:h(L)!==`line`}),onClick:p[1]||=e=>K(`line`)},{default:t(()=>[...p[15]||=[o(`svg`,{width:`1em`,height:`1em`,class:`-mt-0.5`,preserveAspectRatio:`xMidYMid meet`,viewBox:`0 0 24 24`},[o(`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`]),r(w,{title:`Draw an arrow`,class:y({shallow:h(L)!==`arrow`}),onClick:p[2]||=e=>K(`arrow`)},{default:t(()=>[...p[16]||=[o(`div`,{class:`i-carbon:arrow-up-right`},null,-1)]]),_:1},8,[`class`]),r(w,{title:`Draw an ellipse`,class:y({shallow:h(L)!==`ellipse`}),onClick:p[3]||=e=>K(`ellipse`)},{default:t(()=>[...p[17]||=[o(`div`,{class:`i-carbon:radio-button`},null,-1)]]),_:1},8,[`class`]),r(w,{title:`Draw a rectangle`,class:y({shallow:h(L)!==`rectangle`}),onClick:p[4]||=e=>K(`rectangle`)},{default:t(()=>[...p[18]||=[o(`div`,{class:`i-carbon:checkbox`},null,-1)]]),_:1},8,[`class`]),r(w,{title:`Erase`,class:y({shallow:h(L)!==`eraseLine`}),onClick:p[5]||=e=>K(`eraseLine`)},{default:t(()=>[...p[19]||=[o(`div`,{class:`i-carbon:erase`},null,-1)]]),_:1},8,[`class`]),r(T),r(h(d),{shown:B.value,"onUpdate:shown":p[8]||=e=>B.value=e,triggers:[]},{popper:t(()=>[o(`div`,D,[o(`div`,O,i(h(n).size),1),o(`div`,k,[c(o(`input`,{"onUpdate:modelValue":p[6]||=e=>h(n).size=e,type:`range`,min:`1`,max:`15`,onChange:p[7]||=e=>L.value=h(G)},null,544),[[l,h(n).size]])])])]),default:t(()=>[r(w,{title:`Adjust stroke width`,class:y({shallow:h(L)===`eraseLine`}),onClick:V,onPointerdown:H,onPointerup:H,onTouchend:V},{default:t(()=>[...p[20]||=[o(`svg`,{viewBox:`0 0 32 32`,width:`1.2em`,height:`1.2em`},[o(`line`,{x1:`2`,y1:`15`,x2:`22`,y2:`4`,stroke:`currentColor`,"stroke-width":`1`,"stroke-linecap":`round`}),o(`line`,{x1:`2`,y1:`24`,x2:`28`,y2:`10`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`}),o(`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),s(u,null,a(h(z),e=>(b(),m(w,{key:e,title:`Set brush color`,class:y(h(n).color===e&&h(L)!==`eraseLine`?`active`:`shallow`),onClick:t=>q(e)},{default:t(()=>[o(`div`,{class:y([`w-6 h-6 transition-all transform border`,h(n).color===e?`rounded-md border-gray-300/50`:`rounded-1/2 scale-85 border-white`]),style:_(h(I)?{background:e}:{borderColor:e})},null,6)]),_:2},1032,[`class`,`onClick`]))),128)),r(T),r(w,{title:`Undo`,class:y({disabled:!h(S)}),onClick:p[9]||=e=>U()},{default:t(()=>[...p[21]||=[o(`div`,{class:`i-carbon:undo`},null,-1)]]),_:1},8,[`class`]),r(w,{title:`Redo`,class:y({disabled:!h(x)}),onClick:p[10]||=e=>W()},{default:t(()=>[...p[22]||=[o(`div`,{class:`i-carbon:redo`},null,-1)]]),_:1},8,[`class`]),r(w,{title:`Delete`,class:y({disabled:!h(g)}),onClick:p[11]||=e=>h(P)()},{default:t(()=>[...p[23]||=[o(`div`,{class:`i-carbon:trash-can`},null,-1)]]),_:1},8,[`class`]),r(T),r(w,{title:h(R)?`Unpin drawing`:`Pin drawing`,class:y({shallow:!h(R)}),onClick:p[12]||=e=>R.value=!h(R)},{default:t(()=>[c(o(`div`,A,null,512),[[f,h(R)]]),c(o(`div`,j,null,512),[[f,!h(R)]])]),_:1},8,[`title`,`class`]),h(I)?(b(),m(w,{key:0,title:h(R)?`Drawing pinned`:`Drawing unpinned`,class:y({shallow:!h(I)}),onClick:p[13]||=e=>I.value=!h(I)},{default:t(()=>[c(o(`div`,M,null,512),[[f,h(R)]]),c(o(`div`,N,null,512),[[f,!h(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/lecture-05/assets/slidev/DrawingLayer-CrKUWGL0.js b/lecture-05/assets/slidev/DrawingLayer-CrKUWGL0.js new file mode 100644 index 0000000000000000000000000000000000000000..3a7c790b3e57903bb8ff65d751eb3af871506b4a --- /dev/null +++ b/lecture-05/assets/slidev/DrawingLayer-CrKUWGL0.js @@ -0,0 +1 @@ +import{F as e,L as t,X as n,b as r,ut as i,vt as a,w as o,yt as s,z as c}from"../modules/shiki-CkJq9tSf.js";import{n as l}from"./context-DnYiQGy6.js";import{t as u}from"../useDrawings-D53otB4S.js";var d=o({__name:`DrawingLayer`,setup(o){let{drauu:d,drawingEnabled:f,loadCanvas:p}=u(),m=l().$scale,h=i();return t(()=>{d.mount(h.value,h.value.parentElement),n(m,e=>d.options.coordinateScale=1/e,{immediate:!0}),p()}),e(()=>{d.unmount()}),(e,t)=>(c(),r(`svg`,{ref_key:`svg`,ref:h,class:s([`w-full h-full absolute top-0`,{"pointer-events-none":!a(f),"touch-none":a(f)}])},null,2))}});export{d as default}; \ No newline at end of file diff --git a/lecture-05/assets/slidev/IconButton-CfFb_8Iy.js b/lecture-05/assets/slidev/IconButton-CfFb_8Iy.js new file mode 100644 index 0000000000000000000000000000000000000000..a0be87eec9e494ed43ac9f9af201a07a0c6791bd --- /dev/null +++ b/lecture-05/assets/slidev/IconButton-CfFb_8Iy.js @@ -0,0 +1 @@ +import{$ as e,G as t,H as n,St as r,_ as i,g as a,v as o,w as s,yt as c,z as l}from"../modules/shiki-CkJq9tSf.js";var u={class:`sr-only`},d=s({__name:`IconButton`,props:{title:{},icon:{},as:{},to:{},disabled:{type:Boolean},active:{type:Boolean}},setup(s){let d=s,f=a(()=>d.as||(d.to?`router-link`:`button`));return(a,d)=>(l(),o(t(f.value),{class:c([`slidev-icon-btn`,{disabled:s.disabled,active:s.active}]),title:s.title,to:s.to},{default:e(()=>[i(`span`,u,r(s.title),1),n(a.$slots,`default`,{},()=>[i(`div`,{class:c(s.icon)},null,2)])]),_:3},8,[`class`,`title`,`to`]))}});export{d as t}; \ No newline at end of file diff --git a/lecture-05/assets/slidev/KaTexBlockWrapper-DAxOb9nH.js b/lecture-05/assets/slidev/KaTexBlockWrapper-DAxOb9nH.js new file mode 100644 index 0000000000000000000000000000000000000000..e3cdc5fc4990204d0b1a359913fb6dee24fa6fe2 --- /dev/null +++ b/lecture-05/assets/slidev/KaTexBlockWrapper-DAxOb9nH.js @@ -0,0 +1 @@ +import{H as e,L as t,R as n,Z as r,b as i,g as a,ut as o,w as s,z as c}from"../modules/shiki-CkJq9tSf.js";import{H as l}from"../useNav-D6eKrDQR.js";import{a as u,c as d,l as f,n as p}from"./context-DnYiQGy6.js";import{u as m}from"../index-CK0S5VQV.js";var h=`.mtable > [class*=col-align]`,g=`:scope > .vlist-t > .vlist-r > .vlist > span > .mord`;function _(e){let t=Array.from(e.querySelectorAll(h)).filter(e=>!e.parentElement?.closest(h)),n=[];for(let e of t)Array.from(e.querySelectorAll(g)).forEach((e,t)=>{e&&(Array.isArray(n[t])?n[t].push(e):n[t]=[e])});return n}var v=s({__name:`KaTexBlockWrapper`,props:{ranges:{type:Array,default:()=>[]},finally:{type:[String,Number],default:`last`},startLine:{type:Number,default:1},at:{type:[String,Number],default:`+1`}},setup(s){let h=s,{$clicksContext:g}=p(),v=o(),y=m();return n(()=>{g.unregister(y)}),t(()=>{if(!g||!h.ranges?.length)return;let e=g.calculateSince(h.at,h.ranges.length-1);g.register(y,e);let t=a(()=>e?Math.max(0,g.current-e.start+1):f),n=a(()=>h.finally===`last`?h.ranges.at(-1):h.finally.toString());r(()=>{if(!v.value)return;let e=h.ranges[t.value]??n.value,r=e===`hide`;v.value.classList.toggle(u,r),r&&(e=h.ranges[t.value+1]??n.value);let i=_(v.value);if(!i.length)return;let a=h.startLine,o=l(i.length+a-1,e);i.forEach((e,t)=>{let n=o.includes(t+a);e.forEach(e=>{e.classList.toggle(d,!0),e.classList.toggle(`highlighted`,n),e.classList.toggle(`dishonored`,!n)})})})}),(t,n)=>(c(),i(`div`,{ref_key:`el`,ref:v,class:`slidev-katex-wrapper`},[e(t.$slots,`default`)],512))}});export{v as t}; \ No newline at end of file diff --git a/lecture-05/assets/slidev/Modal-Bum_LA_c.js b/lecture-05/assets/slidev/Modal-Bum_LA_c.js new file mode 100644 index 0000000000000000000000000000000000000000..27188bf6ecd545d7108a920fd7fbb13ad6326f74 --- /dev/null +++ b/lecture-05/assets/slidev/Modal-Bum_LA_c.js @@ -0,0 +1 @@ +import{H as e,_ as t,b as n,h as r,v as i,vt as a,w as o,y as s,yt as c,z as l}from"../modules/shiki-CkJq9tSf.js";import{C as u}from"../modules/vue-Dz2ojcKF.js";var d={key:0,class:`fixed top-0 bottom-0 left-0 right-0 grid z-modal`},f=o({__name:`Modal`,props:{modelValue:{default:!1},class:{default:``}},emits:[`update:modelValue`],setup(o,{emit:f}){let p=o,m=u(p,`modelValue`,f);function h(){m.value=!1}return(o,u)=>(l(),i(r,null,[a(m)?(l(),n(`div`,d,[t(`div`,{bg:`black opacity-80`,class:`absolute top-0 bottom-0 left-0 right-0 -z-1`,onClick:u[0]||=e=>h()}),t(`div`,{class:c([`m-auto rounded-md bg-main shadow`,p.class]),"dark:border":`~ main`},[e(o.$slots,`default`)],2)])):s(`v-if`,!0)],1024))}});export{f as t}; \ No newline at end of file diff --git a/lecture-05/assets/slidev/NoteDisplay-bD5KFX7q.js b/lecture-05/assets/slidev/NoteDisplay-bD5KFX7q.js new file mode 100644 index 0000000000000000000000000000000000000000..fc70d1b6e2a2cdb22e56e792952c345100d9fc37 --- /dev/null +++ b/lecture-05/assets/slidev/NoteDisplay-bD5KFX7q.js @@ -0,0 +1 @@ +import{L as e,N as t,St as n,V as r,X as i,Z as a,_ as o,at as s,b as c,g as l,m as u,ut as d,vt as f,w as p,xt as m,y as h,yt as g,z as _}from"../modules/shiki-CkJq9tSf.js";import{nt as v,rt as y}from"../useNav-D6eKrDQR.js";import{l as b}from"./context-DnYiQGy6.js";var x=[`title`],S={key:0,"flex-auto":``},C={"text-primary":``},w={op50:``,"text-sm":``},T={key:0,absolute:``,"inset-y-0":``,"right-0":``,"w-0.5":``,"bg-primary":``,"z-1":``},E=p({__name:`ClicksSlider`,props:{clicksContext:{},readonly:{type:Boolean},active:{type:Boolean,default:!0},resettable:{type:Boolean},compact:{type:Boolean},attached:{type:Boolean}},emits:[`activate`,`reset`],setup(e,{emit:t}){let i=e,a=t,p=l(()=>i.clicksContext.total),E=l(()=>v(0,i.clicksContext.clicksStart,p.value)),D=l(()=>p.value-E.value+1),O=l({get(){return i.resettable&&!i.active||i.clicksContext.current>p.value?-1:i.clicksContext.current},set(e){if(i.resettable&&e<0){a(`reset`),i.clicksContext.current=b;return}a(`activate`),i.clicksContext.current=e}}),k=l(()=>i.resettable&&O.value<0),A=l(()=>y(E.value,p.value+1)),j=d(),M;function N(e){let t=j.value.getBoundingClientRect();return(e.clientX-t.left)/Math.max(1,t.width)}function P(e,t){if(i.readonly||!j.value||!t&&!(e.buttons&1))return;let n=N(e);if(i.resettable&&n<0){O.value=-1;return}let r=v(0,n,t?.999999:1)*D.value,a=v(0,O.value-E.value,D.value-1),o=t?E.value+Math.floor(r):O.value;!t&&r>=a+1.5?o=E.value+Math.floor(r-.5):!t&&r(_(),c(`div`,{class:g([`flex gap-1 select-none`,[e.attached?`items-end`:`items-center`,D.value&&i.clicksContext.isMounted?``:`op50`]]),title:`Clicks in this slide: ${D.value}`},[o(`div`,{class:g([`flex items-center font-mono`,[e.compact?`gap-1 min-w-0 mr0`:`gap-0.2 min-w-16 mr1`,e.attached?`h-[22px]`:``]])},[o(`div`,{class:g([`i-carbon:cursor-1 text-sm op50`,e.compact?`ml-1`:``])},null,2),O.value>=0&&O.value!==f(999999)&&e.active?(_(),c(u,{key:0},[e.compact?h(`v-if`,!0):(_(),c(`div`,S)),o(`span`,null,[o(`span`,C,n(O.value),1),a[2]||=o(`span`,{op25:``,"text-sm":``},`/`,-1),o(`span`,w,n(p.value),1)])],64)):(_(),c(`div`,{key:1,op50:``,class:g(e.compact?``:`flex-auto pl1`)},[o(`span`,{class:g(e.compact?`inline-block text-center`:``),style:m(e.compact?{width:`${String(p.value).length*2+1}ch`,marginLeft:`-0.25ch`}:void 0)},n(p.value),7)],2))],2),o(`div`,{ref_key:`sliderEl`,ref:j,relative:``,"flex-auto":``,"font-mono":``,flex:`~`,"touch-none":``,class:g([e.attached?`h-[22px]`:`h5`,k.value?`op80`:``]),onPointerdownCapture:F,onPointermove:I,onPointerup:a[0]||=e=>s(M)?M.value=void 0:M=void 0,onPointercancel:a[1]||=e=>s(M)?M.value=void 0:M=void 0},[(_(!0),c(u,null,r(A.value,t=>(_(),c(`div`,{key:t,border:`y main`,"of-hidden":``,relative:``,class:g([t===0?`border-l`:``,t===0?e.attached?`rounded-tl`:`rounded-l`:``,t===p.value?`border-r`:``,t===p.value&&+t!=+O.value?e.attached?`rounded-tr`:`rounded-r`:``,e.attached?`border-b-0`:``]),style:m({width:D.value>0?`${1/D.value*100}%`:`100%`})},[o(`div`,{absolute:``,"inset-0":``,class:g(t<=O.value&&e.active?`bg-primary op15`:``)},null,2),+t==+O.value&&e.active?(_(),c(`div`,T)):h(`v-if`,!0),o(`div`,{class:g([+t==+O.value&&e.active?`text-primary font-bold op100`:`op30`,t===p.value?``:`border-r-2 border-main`]),"w-full":``,"h-full":``,"text-xs":``,flex:``,"items-center":``,"justify-center":``,"z-1":``},n(t),3)],6))),128))],34)],10,x))}}),D=[`innerHTML`],O=[`textContent`],k=[`textContent`],A=`slidev-note-fade`,j=`slidev-note-click-mark`,M=p({__name:`NoteDisplay`,props:{class:{},noteHtml:{},note:{},highlight:{type:Boolean,default:!0},placeholder:{},clicksContext:{},autoScroll:{type:Boolean}},emits:[`markerDblclick`,`markerClick`],setup(r,{emit:s}){let u=r,f=s,p=l(()=>u.clicksContext!=null&&u.noteHtml?.includes(j)),m=d(null);function h(){if(!m.value||!p.value)return;let e=Array.from(m.value.querySelectorAll(`.${j}`)),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!==m.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=u.highlight;for(let[t,i]of n)t.classList.toggle(A,r&&!i.some(([t,n])=>n===e));for(let[t,n]of i)t.classList.toggle(A,r&&n!==e);for(let[n,i]of t)n.classList.remove(A),n.classList.toggle(`${j}-past`,r&&ie+1),n.ondblclick=e=>{r&&(f(`markerDblclick`,e,i),!e.defaultPrevented&&(u.clicksContext.current=i,e.stopPropagation(),e.stopImmediatePropagation()))},n.onclick=e=>{r&&f(`markerClick`,e,i)},r&&u.autoScroll&&i===e&&n.scrollIntoView({block:`center`,behavior:`smooth`})}}let v=d();return i(()=>[u.noteHtml,u.highlight],()=>{t(()=>{v.value=h()})},{immediate:!0}),e(()=>{h()}),a(()=>{let e=u.clicksContext?.current??999999;v.value?.(e)}),(e,t)=>r.noteHtml?(_(),c(`div`,{key:0,ref_key:`noteDisplay`,ref:m,class:g([`prose dark:prose-invert overflow-auto outline-none slidev-note`,[u.class,p.value?`slidev-note-with-clicks`:``]]),innerHTML:r.noteHtml},null,10,D)):r.note?(_(),c(`div`,{key:1,class:g([`prose dark:prose-invert overflow-auto outline-none slidev-note`,u.class])},[o(`p`,{textContent:n(r.note)},null,8,O)],2)):(_(),c(`div`,{key:2,class:g([`prose dark:prose-invert overflow-auto outline-none opacity-50 italic select-none slidev-note`,u.class])},[o(`p`,{textContent:n(u.placeholder||`No notes.`)},null,8,k)],2))}});export{E as n,M as t}; \ No newline at end of file diff --git a/lecture-05/assets/slidev/NoteEditable-BkxEJ73y.js b/lecture-05/assets/slidev/NoteEditable-BkxEJ73y.js new file mode 100644 index 0000000000000000000000000000000000000000..db4424ef94739e979fef3088437e061e53d369d6 --- /dev/null +++ b/lecture-05/assets/slidev/NoteEditable-BkxEJ73y.js @@ -0,0 +1 @@ +import{N as e,X as t,Z as n,b as r,d as i,et as a,ht as o,l as s,ut as c,v as l,vt as u,w as d,xt as f,yt as p,z as m}from"../modules/shiki-CkJq9tSf.js";import{C as h,k as g,o as _}from"../modules/vue-Dz2ojcKF.js";import{t as v}from"../index-CK0S5VQV.js";import{t as y}from"./NoteDisplay-bD5KFX7q.js";var b=[`placeholder`],x=d({__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(d,{emit:x}){let S=d,C=x,w=h(S,`editing`,C,{passive:!0}),{info:T,update:E}=v(o(S,`no`)),D=c(``),O,{ignoreUpdates:k}=g(D,e=>{if(!w.value)return;let t=S.no;clearTimeout(O),O=setTimeout(()=>{E({note:e},t)},500)});t(()=>T.value?.note,(e=``)=>{w.value||(clearTimeout(O),k(()=>{D.value=e}))},{immediate:!0,flush:`sync`});let A=c(),j=c();n(()=>{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 t([D,w],()=>{e(()=>{M()})},{flush:`post`,immediate:!0}),(e,t)=>u(w)?a((m(),r(`textarea`,{key:1,ref_key:`inputEl`,ref:A,"onUpdate:modelValue":t[2]||=e=>D.value=e,class:p([`prose dark:prose-invert resize-none overflow-auto outline-none bg-transparent block border-primary border-2 slidev-note placeholder:op25`,[S.class,D.value?``:`italic`]]),style:f([S.style,j.value==null?{}:{height:`${j.value}px`}]),placeholder:d.placeholder,onKeydown:[t[3]||=i(e=>w.value=!1,[`esc`]),N]},null,46,b)),[[s,D.value]]):(m(),l(y,{key:0,class:p([`border-transparent border-2`,[S.class,D.value?``:`opacity-25 italic select-none`]]),style:f(S.style),note:D.value||d.placeholder,"note-html":u(T)?.noteHTML,"clicks-context":d.clicksContext,"auto-scroll":!d.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/lecture-05/assets/slidev/TimerBar-D-Mjxk58.js b/lecture-05/assets/slidev/TimerBar-D-Mjxk58.js new file mode 100644 index 0000000000000000000000000000000000000000..6a779870c2d6a005bf9e64f0771b3f95468d9fd0 --- /dev/null +++ b/lecture-05/assets/slidev/TimerBar-D-Mjxk58.js @@ -0,0 +1 @@ +import{$ as e,S as t,V as n,a as r,b as i,ct as a,g as o,ht as s,m as c,vt as l,w as u,xt as d,y as f,yt as p,z as m}from"../modules/shiki-CkJq9tSf.js";import{U as h,t as g,tt as _}from"../useNav-D6eKrDQR.js";import{F as v}from"../modules/vue-Dz2ojcKF.js";import{o as y}from"../index-CK0S5VQV.js";var b={class:`relative flex gap-px`},x=u({__name:`CurrentProgressBar`,props:{clicksContext:{},current:{}},setup(a){let s=a,u=g(),h=o(()=>s.clicksContext??u.clicksContext.value),_=o(()=>s.current??u.currentSlideNo.value),{total:v}=u;return(a,o)=>(m(),i(`div`,b,[(m(!0),i(c,null,n(l(v)-1,n=>(m(),i(`div`,{key:n,class:p([`border-x border-b border-main h-4px transition-all`,n<_.value?`bg-primary border-primary`:``]),style:d({width:`${1/(l(v)-1)*100}%`})},[t(r,{name:`fade`},{default:e(()=>[n===_.value?(m(),i(`div`,{key:0,class:`h-full bg-primary op75 transition-all`,style:d({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=o(()=>_.timer||`stopwatch`),t=o(()=>h(_.duration).seconds),n=v(100,{controls:!0}),r=s(y,`timer`),i=o(()=>r.value?.status),a=o(()=>(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)),c=o(()=>a.value/1e3),l=o(()=>c.value/t.value*100),u=o(()=>{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 d(){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:u,reset:d,toggle:m,resume:f,pause:p,passed:c,percentage:l,duration:t,mode:e}}var C={class:`border-b mt-px border-main relative flex h-4px`},w=u({__name:`TimerBar`,setup(e){let t=a(S()),n=o(()=>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(),i(`div`,C,[t.status===`stopped`?f(`v-if`,!0):(m(),i(`div`,{key:0,class:p([`h-4px`,n.value]),style:d({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/lecture-05/assets/slidev/VClicks-DLDbGwsQ.js b/lecture-05/assets/slidev/VClicks-DLDbGwsQ.js new file mode 100644 index 0000000000000000000000000000000000000000..ffa20c144883219f77df9fd60eec41d85c1c6f2c --- /dev/null +++ b/lecture-05/assets/slidev/VClicks-DLDbGwsQ.js @@ -0,0 +1 @@ +import{A as e,D as t,L as n,R as r,S as i,W as a,et as o,m as s,p as c,v as l,w as u,z as d}from"../modules/shiki-CkJq9tSf.js";import{K as f,it as p}from"../useNav-D6eKrDQR.js";import{n as m}from"./context-DnYiQGy6.js";import{u as h}from"../index-CK0S5VQV.js";var g=u({__name:`VClickGap`,props:{size:{type:[String,Number],default:1}},setup(e){let t=e,{$clicksContext:i}=m(),a=h(),o=+t.size;return Number.isNaN(o)&&(console.warn(`[slidev] Invalid size for VClickGap: ${t.size}`),o=1),n(()=>{let e=i.currentOffset+o-1;i.register(a,{max:e,delta:o})}),r(()=>{i.unregister(a)}),(e,t)=>(d(),l(s))}}),_=[`ul`,`ol`],v=/[\s,]+/,y=u({props:{depth:{type:[Number,String],default:1},every:{type:[Number,String],default:1},at:{type:[Number,String],default:`+1`},hide:{type:Boolean,default:!1},fade:{type:Boolean,default:!1},animation:{type:[String,Array],default:void 0},handleSpecialElements:{type:Boolean,default:!0}},render(){let n=+this.every,r=f(this.at),s=typeof r==`string`,l=this.$slots.default?.();if(r==null||!l)return l;let u=a(`click`),d=(e,t)=>{let n={hide:this.hide};return typeof this.animation==`string`?this.animation.split(v).forEach(e=>{e&&(n[e]=!0)}):Array.isArray(this.animation)&&this.animation.forEach(e=>n[e]=!0),this.fade&&(n.fade=!0),o(e,[[u,t,``,n]])},m=t=>t.flatMap(t=>e(t)&&typeof t.type==`symbol`&&Array.isArray(t.children)?m(t.children):[t]);l=m(p(l));let h=(n,r=1)=>m(n).map(n=>{if(!e(n))return n;if(_.includes(n.type)&&Array.isArray(n.children)){let e=x(n.children,r+1);return t(n,{},e)}return t(n)}),y=1,b=0,x=(i,a=1)=>m(i).map(i=>{if(!e(i)||i.type===c)return i;let o=+r+Math.ceil(y++/n)-1,l;l=a<+this.depth&&Array.isArray(i.children)?t(i,{},h(i.children,a)):t(i);let u=o-b;return b=o,d(l,s?u>=0?`+${u}`:`${u}`:o)}),S=()=>i(g,{size:+r+Math.ceil((y-1)/n)-1-b});if(this.handleSpecialElements){if(l.length===1&&_.includes(l[0].type)&&Array.isArray(l[0].children))return t(l[0],{},[...x(l[0].children),S()]);if(l.length===1&&l[0].type===`table`){let n=l[0];if(Array.isArray(n.children))return t(n,{},n.children.map(n=>e(n)?n.type===`tbody`&&Array.isArray(n.children)?t(n,{},[...x(n.children),S()]):t(n):n))}}return[...x(l),S()]}});export{y as t}; \ No newline at end of file diff --git a/lecture-05/assets/slidev/VerticalDivider-E2da-Zpk.js b/lecture-05/assets/slidev/VerticalDivider-E2da-Zpk.js new file mode 100644 index 0000000000000000000000000000000000000000..37e7c5214f253f233bcd5e796956be681f881870 --- /dev/null +++ b/lecture-05/assets/slidev/VerticalDivider-E2da-Zpk.js @@ -0,0 +1 @@ +import{b as e,z as t}from"../modules/shiki-CkJq9tSf.js";import{t as n}from"../_plugin-vue_export-helper-BDNMzG2s.js";var r={},i={class:`w-1px opacity-10 bg-current m-1 lg:m-2`};function a(n,r){return t(),e(`div`,i)}var o=n(r,[[`render`,a]]);export{o as t}; \ No newline at end of file diff --git a/lecture-05/assets/slidev/client-BFvXAbq7.js b/lecture-05/assets/slidev/client-BFvXAbq7.js new file mode 100644 index 0000000000000000000000000000000000000000..d1cff98af80d23eba77cc6cbbc12511a24f431d4 --- /dev/null +++ b/lecture-05/assets/slidev/client-BFvXAbq7.js @@ -0,0 +1 @@ +import"../useNav-D6eKrDQR.js";import"./context-DnYiQGy6.js";import"../syncState-BCmj5bTl.js";import"../index-CK0S5VQV.js";import"../useDrawings-D53otB4S.js"; \ No newline at end of file diff --git a/lecture-05/assets/slidev/context-DnYiQGy6.js b/lecture-05/assets/slidev/context-DnYiQGy6.js new file mode 100644 index 0000000000000000000000000000000000000000..ad118088fde5d081c6c52f2bbf0b73b66771aa9f --- /dev/null +++ b/lecture-05/assets/slidev/context-DnYiQGy6.js @@ -0,0 +1 @@ +import{g as e,ht as t,ut as n}from"../modules/shiki-CkJq9tSf.js";import{A as r,M as i}from"../modules/vue-Dz2ojcKF.js";var a=`$$slidev-clicks-context`,o=`$$slidev-page`,s=`$$slidev-slide-element`,c=`$$slidev-slide-scale`,l=`$$slidev-context`,u=`$$slidev-route`,d=`$$slidev-render-context`,f=`$$slidev-fontmatter`,p=`$$slidev-slide-zoom`,m=`slidev-vclick-target`,h=`slidev-vclick-hidden`,g=`slidev-vclick-hidden-explicitly`,_=`slidev-vclick-current`,v=`slidev-vclick-prior`,y=`slidev-vclick-anim-`,b=999999,x=[`localhost`,`127.0.0.1`],S=[`clicks`,`clicksStart`,`disabled`,`hide`,`hideInToc`,`layout`,`level`,`preload`,`routeAlias`,`src`,`title`,`transition`,`zoom`,`dragPos`,`lang`,`clickAnimation`],C=[...S,`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`,`pwa`,`seoMeta`,`notesAutoRuby`,`magicMoveDuration`,`preloadImages`];function w(){let i=r(l),s=t(i,`nav`),m=r(a).value,h=t(m,`current`),g=r(o),_=r(d),v=r(f,{});return{$slidev:i,$nav:s,$clicksContext:m,$clicks:h,$page:g,$route:r(u,void 0),$renderContext:_,$frontmatter:v,$scale:r(c,n(1)),$zoom:r(p,e(()=>1))}}function T(e,t){return{...i(e,t===0?C:S),frontmatter:e}}export{c as _,h as a,m as c,a as d,o as f,s as g,u as h,_ as i,b as l,d as m,w as n,g as o,f as p,y as r,v as s,T as t,x as u,p as v,l as y}; \ No newline at end of file diff --git a/lecture-05/assets/slidev/entry-DXY6sGn2.js b/lecture-05/assets/slidev/entry-DXY6sGn2.js new file mode 100644 index 0000000000000000000000000000000000000000..8b3f16e62967a4dea0cb42cf5c49e5b996af8318 --- /dev/null +++ b/lecture-05/assets/slidev/entry-DXY6sGn2.js @@ -0,0 +1 @@ +import{$ as e,S as t,U as n,_ as r,b as i,x as a,z as o}from"../modules/shiki-CkJq9tSf.js";import{t as s}from"../_plugin-vue_export-helper-BDNMzG2s.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(),i(`div`,l,[t(u,{to:`/`,class:`page-link`},{default:e(()=>[...c[0]||=[r(`div`,{class:`i-carbon:presentation-file`},null,-1),a(` Slides `,-1)]]),_:1}),t(u,{to:`/presenter`,class:`page-link`},{default:e(()=>[...c[1]||=[r(`div`,{class:`i-carbon:user-speaker`},null,-1),a(` Presenter `,-1)]]),_:1}),t(u,{to:`/notes`,class:`page-link`},{default:e(()=>[...c[2]||=[r(`div`,{class:`i-carbon:catalog`},null,-1),a(` Notes `,-1)]]),_:1}),t(u,{to:`/overview`,class:`page-link`},{default:e(()=>[...c[3]||=[r(`div`,{class:`i-carbon:list-boxes`},null,-1),a(` Overview `,-1)]]),_:1})])}var d=s(c,[[`render`,u],[`__scopeId`,`data-v-966650ef`]]);export{d as default}; \ No newline at end of file diff --git a/lecture-05/assets/slidev/notes-EANQ1CSk.js b/lecture-05/assets/slidev/notes-EANQ1CSk.js new file mode 100644 index 0000000000000000000000000000000000000000..5968b7e1338a63073f466209380c3b6858928653 --- /dev/null +++ b/lecture-05/assets/slidev/notes-EANQ1CSk.js @@ -0,0 +1 @@ +import{$ as e,S as t,St as n,X as r,_ as i,b as a,g as o,m as s,ut as c,vt as l,w as u,x as d,xt as f,z as p}from"../modules/shiki-CkJq9tSf.js";import{$ as m,W as h,t as g,u as _}from"../useNav-D6eKrDQR.js";import{g as v}from"../modules/vue-Dz2ojcKF.js";import{h as y,o as b}from"../index-CK0S5VQV.js";import{t as x}from"./IconButton-CfFb_8Iy.js";import{t as S}from"./Modal-Bum_LA_c.js";import{n as C,t as w}from"./NoteDisplay-bD5KFX7q.js";import{r as T,t as E}from"./TimerBar-D-Mjxk58.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=u({__name:`notes`,setup(u){y({title:`Notes - ${m}`});let{slides:L,total:R}=g(),{isFullscreen:z,toggle:B}=_,V=c(),H=v(`slidev-notes-font-size`,18),U=o(()=>b.page),W=c(!1),G=o(()=>L.value.find(e=>e.no===U.value));r(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=o(()=>{let e=b.clicks,t=b.clicksTotal;return h(c(e),void 0,t)});return(r,o)=>(p(),a(s,null,[t(S,{modelValue:W.value,"onUpdate:modelValue":o[1]||=e=>W.value=e,class:`px-6 py-4 flex flex-col gap-2`},{default:e(()=>[o[3]||=i(`div`,{class:`flex gap-2 text-xl`},[i(`div`,{class:`i-carbon:information my-auto`}),d(` Help `)],-1),o[4]||=i(`div`,{class:`prose dark:prose-invert`},[i(`p`,null,`This is the hands-free live notes viewer.`),i(`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),i(`div`,D,[i(`button`,{class:`slidev-form-button`,onClick:o[0]||=e=>W.value=!1},` Close `)])]),_:1},8,[`modelValue`]),i(`div`,O,[t(T,{"clicks-context":J.value,current:U.value},null,8,[`clicks-context`,`current`]),t(E),i(`div`,{ref_key:`scroller`,ref:V,class:`px-5 py-3 flex-auto h-full overflow-auto`,style:f({fontSize:`${l(H)}px`})},[t(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),i(`div`,k,[t(C,{"clicks-context":J.value,readonly:``},null,8,[`clicks-context`])]),i(`div`,A,[i(`div`,j,[t(x,{title:l(z)?`Close fullscreen`:`Enter fullscreen`,onClick:l(B)},{default:e(()=>[l(z)?(p(),a(`div`,M)):(p(),a(`div`,N))]),_:1},8,[`title`,`onClick`]),t(x,{title:`Increase font size`,onClick:K},{default:e(()=>[...o[5]||=[i(`div`,{class:`i-carbon:zoom-in`},null,-1)]]),_:1}),t(x,{title:`Decrease font size`,onClick:q},{default:e(()=>[...o[6]||=[i(`div`,{class:`i-carbon:zoom-out`},null,-1)]]),_:1}),t(x,{title:`Edit notes`,to:`/notes-edit`,target:`_blank`},{default:e(()=>[...o[7]||=[i(`div`,{class:`i-carbon:edit`},null,-1)]]),_:1}),t(x,{title:`Help`,class:`rounded-full`,onClick:o[2]||=e=>W.value=!0},{default:e(()=>[...o[8]||=[i(`div`,{class:`i-carbon:help`},null,-1)]]),_:1}),o[9]||=i(`div`,{class:`flex-auto`},null,-1),i(`div`,P,[i(`span`,F,n(U.value),1),i(`span`,I,` / `+n(l(R)),1)])])])])],64))}});export{L as default}; \ No newline at end of file diff --git a/lecture-05/assets/slidev/notes-edit-B1V0z3Sa.js b/lecture-05/assets/slidev/notes-edit-B1V0z3Sa.js new file mode 100644 index 0000000000000000000000000000000000000000..95aa5d8d5a2b93688206a79cd8db75e2c28e1a9a --- /dev/null +++ b/lecture-05/assets/slidev/notes-edit-B1V0z3Sa.js @@ -0,0 +1,2 @@ +import{$ as e,S as t,_ as n,b as r,et as i,l as a,m as o,ut as s,w as c,x as l,z as u}from"../modules/shiki-CkJq9tSf.js";import{$ as d,t as f}from"../useNav-D6eKrDQR.js";import{O as p}from"../modules/vue-Dz2ojcKF.js";import{h as m,t as h}from"../index-CK0S5VQV.js";import{t as g}from"./IconButton-CfFb_8Iy.js";import{t as _}from"./Modal-Bum_LA_c.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=c({__name:`notes-edit`,setup(c){let x=/^---\s*#(\d+)\s*$/;m({title:`Notes Edit - ${d}`});let{slides:S}=f(),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,h(e).update({note:a}))}})}return p(w,e=>{E(e,S.value)},{debounce:300}),(s,c)=>(u(),r(o,null,[t(_,{modelValue:C.value,"onUpdate:modelValue":c[1]||=e=>C.value=e,class:`px-6 py-4 flex flex-col gap-2`},{default:e(()=>[c[4]||=n(`div`,{class:`flex gap-2 text-xl`},[n(`div`,{class:`i-carbon:information my-auto`}),l(` Help `)],-1),c[5]||=n(`div`,{class:`prose dark:prose-invert`},[n(`p`,null,`This is the batch notes editor. You can edit the notes for all the slides at once here.`),n(`p`,null,[l(`The note for each slide are separated by `),n(`code`,null,`--- #[no]`),l(` lines, you might want to keep them while editing.`)])],-1),n(`div`,v,[n(`button`,{class:`slidev-form-button`,onClick:c[0]||=e=>C.value=!1},` Close `)])]),_:1},8,[`modelValue`]),n(`div`,y,[n(`div`,b,[t(g,{title:`Help`,class:`rounded-full`,onClick:c[2]||=e=>C.value=!0},{default:e(()=>[...c[6]||=[n(`div`,{class:`i-carbon:help text-2xl`},null,-1)]]),_:1})]),i(n(`textarea`,{"onUpdate:modelValue":c[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),[[a,w.value]])])],64))}});export{x as default}; \ No newline at end of file diff --git a/lecture-05/assets/slidev/overview-DBRVMtRn.js b/lecture-05/assets/slidev/overview-DBRVMtRn.js new file mode 100644 index 0000000000000000000000000000000000000000..59aaa27e570fa7d3b9d1baf7a18441d80d5ad665 --- /dev/null +++ b/lecture-05/assets/slidev/overview-DBRVMtRn.js @@ -0,0 +1 @@ +import{$ as e,L as t,N as n,R as r,S as i,St as a,V as o,_ as s,b as c,ct as l,g as u,m as d,pt as ee,ut as f,v as p,vt as m,w as te,xt as h,y as g,yt as _,z as v}from"../modules/shiki-CkJq9tSf.js";import{$ as ne,B as y,G as re,R as b,X as ie,Y as x,t as ae}from"../useNav-D6eKrDQR.js";import{t as S}from"../_plugin-vue_export-helper-BDNMzG2s.js";import{B as oe,V as se}from"../modules/vue-Dz2ojcKF.js";import{l as C}from"./context-DnYiQGy6.js";import{f as ce,h as le,m as ue,p as w}from"../index-CK0S5VQV.js";import{n as de,r as fe}from"../modules/unplugin-icons-CEvhMF8G.js";import{t as T}from"./IconButton-CfFb_8Iy.js";import{n as E}from"./NoteDisplay-bD5KFX7q.js";import{i as pe,o as me,t as he}from"../SlideWrapper-C4vfVW-k.js";import{t as ge}from"./NoteEditable-BkxEJ73y.js";var _e={class:`h-screen w-screen of-hidden flex`},ve={key:0,class:`grid grid-rows-[auto_max-content] border-r border-main select-none max-h-full h-full`},ye={class:`relative`},be={class:`absolute left-0 top-0 bottom-0 w-200 flex flex-col flex-auto items-end group p-6px md:p-10px gap-1 max-h-full of-x-visible of-y-auto`,style:{direction:`rtl`}},xe=[`onClick`],Se={p2:``,border:`t main`},Ce={class:`flex flex-col gap-1 mx-1 items-end`},we={key:0,class:`flex items-end gap-2`},Te=[`onClick`],Ee=[`onDblclick`],De={key:2,class:`select-none absolute bottom-0 right-0 bg-main rounded-tl p2 op35 text-xs`},Oe={key:1,class:`absolute z-2 top-0 right-0 px3 py1.5 border-b border-l rounded-lb bg-main/80 backdrop-blur border-main select-none`},ke={class:`text-xs op50`},D=450,O=S(te({__name:`overview`,setup(te){le({title:`Overview - ${ne}`});let S=oe(),O=se(),{openInEditor:Ae,slides:k,isEmbedded:A}=ae(),j=u(()=>S.query.mode===`preview`),M=u(()=>j.value&&A.value),N=u(()=>j.value?M.value?Math.max(0,b.width.value-16):Math.min(900,Math.max(320,b.width.value-160)):D),je=u(()=>N.value/ie.value),P=l(new Map),F=l(new Map),I=f([]),L=f(),R=f(null),z=0,B,V,H=u(()=>k.value.map(e=>Fe(e.meta?.slide?.note||``))),Me=u(()=>H.value.reduce((e,t)=>e+t,0)),Ne=u(()=>k.value.map(e=>K(e)).reduce((e,t)=>e+t,0)),Pe=u(()=>String(Math.max(1,k.value.length)).length),U=ee(),W=new WeakMap;function G(e){return W.has(e)||W.set(e,re(e,C)),W.get(e)}function K(e){return e.meta?.clicks||G(e)?.total}function q(e){U.value===e?U.value=void 0:U.value=e}function Fe(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 J(){let e=window.innerHeight||document.documentElement.clientHeight,t,n=[];for(let[r,i]of P.entries()){let a=i.getBoundingClientRect(),o=Math.max(0,Math.min(a.bottom,e)-Math.max(a.top,0));o!==0&&(o>=a.height&&n.push(r),(!t||o>t.visibleHeight)&&(t={idx:r,visibleHeight:o}))}I.value=n.length?n:t?[t.idx]:[]}function Y(e){let t=document.createElement(`a`);t.target=`_blank`,t.href=x+e.slice(1),t.click()}function Ie(e){let t=new URL(x+e.slice(1),location.href).href;if(A.value){window.parent.postMessage({target:`slidev`,sender:`slidev`,type:`open-external`,url:t},`*`);return}Y(e)}function Le(e){let t=P.get(e);t&&t.scrollIntoView({behavior:`smooth`,block:`start`})}function X(e){let t=F.get(e)||P.get(e);if(!t||!L.value)return null;let n=L.value.getBoundingClientRect();return t.getBoundingClientRect().top-n.top+L.value.scrollTop}function Z(e){if(!L.value||k.value.length===0)return;let t=Math.min(Math.max(e,1),k.value.length),n=Math.floor(t)-1,r=t-(n+1),i=X(n),a=X(n+1);if(i==null)return;let o=i+(a==null?0:(a-i)*r)-L.value.clientHeight*.5;Math.abs(L.value.scrollTop-o)<1||L.value.scrollTo({top:o})}function Re(){let e=S.query.slideNo,t=Number(Array.isArray(e)?e[0]:e);return Number.isFinite(t)&&t>0?t:void 0}function Q(e){if(!M.value)return;let t=Number(e.toFixed(3)).toString();S.query.slideNo!==t&&O.replace({query:{...S.query,slideNo:t}})}function ze(){if(!L.value||k.value.length===0)return null;let e=L.value.scrollTop+L.value.clientHeight*.5,t=k.value.map((e,t)=>X(t)).filter(e=>e!=null);if(t.length===0)return null;if(t.length===1||e<=t[0])return 1;for(let n=1;n{V=void 0;let e=B;B=void 0,e!=null&&(Q(e),!(Date.now()0&&(z=Date.now()+300,B=void 0,Q(t),Z(t))}function He(e,t,n){let r=G(n);r.current=r.current===t?C:t,e.preventDefault()}function Ue(e,t){if(e.ctrlKey||e.metaKey){e.preventDefault(),Ie(y(t,!1));return}let n=t.meta?.slide;n&&window.parent.postMessage({target:`slidev`,type:`command`,command:`goto`,args:[n.filepath,n.sourceIndex]},`*`)}return t(()=>{window.addEventListener(`message`,$);let e=M.value?Re():void 0;e!=null&&(z=Date.now()+300,Z(e)),n(()=>{e!=null&&Z(e),J()})}),r(()=>{window.removeEventListener(`message`,$),V&&clearTimeout(V)}),(t,n)=>{let r=de,l=fe;return v(),c(`div`,_e,[m(A)?g(`v-if`,!0):(v(),c(`nav`,ve,[s(`div`,ye,[s(`div`,be,[(v(!0),c(d,null,o(m(k),(e,t)=>(v(),c(`div`,{key:e.no,class:`relative`,style:{direction:`ltr`}},[s(`button`,{class:_([`relative transition duration-300 w-8 h-8 rounded hover:bg-active hover:op100`,I.value.includes(t)?`op100 text-primary bg-gray:5`:`op20`]),onClick:e=>Le(t)},[s(`div`,null,a(t+1),1)],10,xe),e.meta?.slide?.title?(v(),c(`div`,{key:0,class:_([`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`,I.value.includes(t)?`text-primary`:`text-main important-text-op-50`])},a(e.meta?.slide?.title),3)):g(`v-if`,!0)]))),128))])]),s(`div`,Se,[m(ce)?(v(),p(T,{key:1,title:m(w)?`Dark mode`:`Light mode`,"pointer-events-none":``,op50:``},{default:e(()=>[m(w)?(v(),p(r,{key:0})):(v(),p(l,{key:1}))]),_:1},8,[`title`])):(v(),p(T,{key:0,title:m(w)?`Switch to light mode theme`:`Switch to dark mode theme`,onClick:n[0]||=e=>m(ue)()},{default:e(()=>[m(w)?(v(),p(r,{key:0})):(v(),p(l,{key:1}))]),_:1},8,[`title`]))])])),s(`main`,{ref_key:`scroller`,ref:L,class:`flex-1 h-full of-auto`,style:h(`grid-template-columns: repeat(auto-fit,minmax(${D}px,1fr))`),onScroll:Ve},[(v(!0),c(d,null,o(m(k),(t,r)=>(v(),c(`div`,{key:t.no,ref_for:!0,ref:e=>P.set(r,e),class:_([`overview-slide-block relative of-hidden flex gap-4 min-h-50`,[r===0&&!M.value?`pt2`:``,M.value?`justify-center`:`border-t border-main`]])},[M.value?g(`v-if`,!0):(v(),c(`div`,{key:0,class:_([`select-none text-right my5 flex flex-col justify-between items-end`,j.value?`w-9`:`w-13`]),style:h({height:`${je.value}px`})},[s(`div`,{class:`self-center text-3xl op20 mb2 text-center mr--14px tabular-nums`,style:h({width:`${Pe.value}ch`})},a(r+1),5),s(`div`,Ce,[i(T,{class:_([`overview-slide-action mr--4 op0`,j.value?`text-lg`:``]),title:`Play in new tab`,onClick:e=>Y(m(y)(t,!1))},{default:e(()=>[...n[4]||=[s(`div`,{class:`i-carbon:presentation-file`},null,-1)]]),_:1},8,[`class`,`onClick`]),g(`v-if`,!0)])],6)),s(`div`,{class:_([`flex flex-col`,M.value?`my1 gap-0`:`my5 gap-2`]),style:h({width:`${N.value}px`})},[M.value?(v(),c(`div`,we,[s(`button`,{type:`button`,class:`select-none pl-1 text-lg leading-tight op60 tabular-nums hover:op90 hover:underline underline-offset-2`,onClick:e=>Ue(e,t)},a(r+1),9,Te),K(t)?(v(),p(E,{key:0,active:U.value===t,"clicks-context":G(t),resettable:``,compact:``,attached:``,class:`ml-auto w-88 min-w-[70%] max-w-[calc(100%-3rem)]`,onDblclick:e=>q(t),onActivate:e=>U.value=t,onReset:n[1]||=e=>U.value=void 0},null,8,[`active`,`clicks-context`,`onDblclick`,`onActivate`])):g(`v-if`,!0)])):g(`v-if`,!0),s(`div`,{ref_for:!0,ref:e=>F.set(r,e),class:_([`border rounded border-main overflow-hidden bg-main h-max`,[M.value&&K(t)?`rounded-tr-0`:``,M.value?``:`select-none`]]),onDblclick:e=>!M.value&&Y(m(y)(t,!1))},[(v(),p(pe,{key:t.no,width:N.value,class:_(M.value?``:`pointer-events-none important:[&_*]:select-none`)},{default:e(()=>[i(he,{"clicks-context":G(t),route:t,"render-context":`overview`},null,8,[`clicks-context`,`route`]),i(me,{page:t.no},null,8,[`page`])]),_:2},1032,[`width`,`class`]))],42,Ee),K(t)&&!M.value?(v(),p(E,{key:1,active:U.value===t,"clicks-context":G(t),resettable:``,class:_([`ml-1 w-[calc(100%-0.25rem)]`,j.value?``:`mt-2`]),onDblclick:e=>q(t),onActivate:e=>U.value=t,onReset:n[2]||=e=>U.value=void 0},null,8,[`active`,`clicks-context`,`class`,`onDblclick`,`onActivate`])):g(`v-if`,!0)],6),j.value?g(`v-if`,!0):(v(),p(ge,{key:1,no:t.no,class:`relative z-1 max-w-250 w-250 text-lg rounded p3`,"auto-height":!0,highlight:U.value===t,editing:R.value===t.no,"clicks-context":G(t),onDblclick:e=>R.value===t.no?null:R.value=t.no,"onUpdate:editing":n[3]||=e=>R.value=null,onMarkerClick:(e,n)=>He(e,n,t)},null,8,[`no`,`highlight`,`editing`,`clicks-context`,`onDblclick`,`onMarkerClick`])),!j.value&&H.value[r]>0?(v(),c(`div`,De,a(H.value[r])+` words `,1)):g(`v-if`,!0)],2))),128))],36),m(A)?g(`v-if`,!0):(v(),c(`div`,Oe,[s(`div`,ke,a(m(k).length)+` slides · `+a(Ne.value+m(k).length-1)+` clicks · `+a(Me.value)+` words `,1)]))])}}}),[[`__scopeId`,`data-v-47f32601`]]);export{O as default}; \ No newline at end of file diff --git a/lecture-05/assets/slidev/play-Btkj4dUi.js b/lecture-05/assets/slidev/play-Btkj4dUi.js new file mode 100644 index 0000000000000000000000000000000000000000..795a1ffcf393ebe8f8937b5cabe6d2b1058b697e --- /dev/null +++ b/lecture-05/assets/slidev/play-Btkj4dUi.js @@ -0,0 +1,2 @@ +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./DrawingControls-DFFYtEqL.js","../rolldown-runtime-hePW80VL.js","../modules/shiki-CkJq9tSf.js","../modules/shiki-BrmBd2_v.css","../modules/vue-Dz2ojcKF.js","../useDrawings-D53otB4S.js","../useNav-D6eKrDQR.js","../_plugin-vue_export-helper-BDNMzG2s.js","./context-DnYiQGy6.js","../index-CK0S5VQV.js","../syncState-BCmj5bTl.js","../index-Ca92njKe.css","./IconButton-CfFb_8Iy.js","./VerticalDivider-E2da-Zpk.js","../DrawingControls-Dhbx0szf.css"])))=>i.map(i=>d[i]); +import{$ as e,S as t,X as n,_ as r,at as i,b as a,g as o,m as s,pt as c,st as l,ut as u,v as d,vt as f,w as p,x as m,xt as h,y as g,yt as _,z as v}from"../modules/shiki-CkJq9tSf.js";import{E as y,F as b,I as x,f as S,h as C,k as w,q as T,t as E,tt as D,v as O,w as k}from"../useNav-D6eKrDQR.js";import{C as A,m as j}from"../modules/vue-Dz2ojcKF.js";import{o as M}from"../index-CK0S5VQV.js";import{t as N}from"../useDrawings-D53otB4S.js";import{t as P}from"../modules/unplugin-icons-CEvhMF8G.js";import{t as F}from"./Modal-Bum_LA_c.js";import{i as I}from"../SlideWrapper-C4vfVW-k.js";import{a as L,c as R,d as z,f as B,l as V,n as H,r as U,s as W,t as G,u as K}from"./shortcuts-BKrC-Orl.js";var q=2e3;function J(e){let t=o(()=>e.value&&S.value);function r(){document.body.style.cursor=`none`}function i(){document.body.style.cursor=``}let a=null;n(t,e=>{e||(i(),a&&clearTimeout(a),a=null)}),l(()=>{i(),a&&clearTimeout(a),a=null}),j(document.body,[`pointermove`,`pointerdown`],()=>{i(),a&&clearTimeout(a),a=t.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=p({__name:`InfoDialog`,props:{modelValue:{default:!1}},emits:[`update:modelValue`],setup(t,{emit:n}){let s=A(t,`modelValue`,n),c=o(()=>typeof D.info==`string`);return(t,n)=>(v(),d(F,{modelValue:f(s),"onUpdate:modelValue":n[0]||=e=>i(s)?s.value=e:null,class:`px-6 py-4`},{default:e(()=>[r(`div`,Y,[c.value?(v(),a(`div`,{key:0,class:`mb-4`,innerHTML:f(D).info},null,8,X)):g(`v-if`,!0),n[1]||=r(`a`,{href:`https://github.com/slidevjs/slidev`,target:`_blank`,class:`!opacity-100 !border-none !text-current`},[r(`div`,{class:`flex gap-1 children:my-auto`},[r(`div`,{class:`opacity-50 text-sm mr-2`},`Powered by`),r(`img`,{class:`w-5 h-5`,src:``+new URL(`../logo-BYkHSa_O.png`,import.meta.url).href,alt:`Slidev logo`}),r(`div`,{style:{color:`#2082A6`}},[r(`b`,null,`Sli`),m(`dev `)])])],-1)])]),_:1},8,[`modelValue`]))}}),Q=p({__name:`Controls`,setup(e){let{isEmbedded:n}=E(),r=!D.drawings.presenterOnly&&!n.value,o=c();r&&T(()=>import(`./DrawingControls-DFFYtEqL.js`).then(e=>e.n).then(e=>o.value=e.default),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14]),import.meta.url);let l=c(),u=c();return(e,n)=>(v(),a(s,null,[o.value?(v(),d(f(o),{key:0})):g(`v-if`,!0),t(W),t(R),l.value?(v(),d(f(l),{key:1})):g(`v-if`,!0),u.value?(v(),d(f(u),{key:2,modelValue:f(w),"onUpdate:modelValue":n[0]||=e=>i(w)?w.value=e:null},null,8,[`modelValue`])):g(`v-if`,!0),f(D).info?(v(),d(Z,{key:3,modelValue:f(y),"onUpdate:modelValue":n[1]||=e=>i(y)?y.value=e:null},null,8,[`modelValue`])):g(`v-if`,!0),t(V)],64))}}),$={key:0,class:`absolute top-0 left-0 right-0 bottom-0 pointer-events-none text-xl`},ee=p({__name:`PresenterMouse`,setup(e){return(e,n)=>{let r=P;return f(M).cursor?.style===`cursor`?(v(),a(`div`,$,[t(r,{class:`absolute stroke-white dark:stroke-black`,style:h({left:`${f(M).cursor.x}%`,top:`${f(M).cursor.y}%`,strokeWidth:16})},null,8,[`style`])])):g(`v-if`,!0)}}}),te=p({__name:`play`,setup(n){let{next:i,prev:l,isPrintMode:p,isPlaying:m,isEmbedded:h}=E(),{isDrawing:y}=N(),S=u();function w(e){k.value||e.button===0&&e.target?.id===`slide-container`&&(e.pageX/window.innerWidth>.5?i():l())}B(S),G(),z(),J(o(()=>m.value&&!h.value&&!k.value));let T=o(()=>O.value||k.value),D=c(),A=o(()=>{let e=``;return b.value.brightness!==x.brightness&&(e+=`brightness(${b.value.brightness}) `),b.value.contrast!==x.contrast&&(e+=`contrast(${b.value.contrast}) `),b.value.sepia!==x.sepia&&(e+=`sepia(${b.value.sepia}) `),b.value.hueRotate!==x.hueRotate&&(e+=`hue-rotate(${b.value.hueRotate}deg) `),b.value.invert&&(e+=`invert(1) `),{filter:e}});return(n,i)=>(v(),a(s,null,[r(`div`,{id:`page-root`,ref_key:`root`,ref:S,class:_([`grid`,f(C)?`grid-rows-[1fr_max-content]`:`grid-cols-[1fr_max-content]`])},[t(I,{style:{background:`var(--slidev-slide-container-background, black)`},"is-main":``,"content-style":A.value,onPointerdown:w,onContextmenu:f(K)},{default:e(()=>[t(H,{"render-context":`slide`}),t(ee),t(L)]),controls:e(()=>[f(p)?g(`v-if`,!0):(v(),a(`div`,{key:0,class:_([`absolute bottom-0 left-0 transition duration-300 opacity-0 hover:opacity-100 focus-within:opacity-100 focus-visible:opacity-100`,[T.value?`!opacity-100 right-0`:`opacity-0 p-2`,f(y)?`pointer-events-none`:``]])},[t(U,{persist:T.value},null,8,[`persist`])],2))]),_:1},8,[`content-style`,`onContextmenu`]),D.value&&f(k)?(v(),d(f(D),{key:0,resize:!0})):g(`v-if`,!0)],2),f(p)?g(`v-if`,!0):(v(),d(Q,{key:0})),i[0]||=r(`div`,{id:`twoslash-container`},null,-1)],64))}});export{te as default}; \ No newline at end of file diff --git a/lecture-05/assets/slidev/presenter-DSP55QeA.js b/lecture-05/assets/slidev/presenter-DSP55QeA.js new file mode 100644 index 0000000000000000000000000000000000000000..ce4d00cf2a197d3ae5082cae7f9c9b3ab4c2578d --- /dev/null +++ b/lecture-05/assets/slidev/presenter-DSP55QeA.js @@ -0,0 +1 @@ +import{$ as e,L as t,S as n,St as r,X as i,Y as a,Z as o,_ as s,at as c,b as l,et as u,g as d,m as f,pt as p,u as m,ut as h,v as g,vt as _,w as v,x as y,xt as b,y as x,yt as S,z as C}from"../modules/shiki-CkJq9tSf.js";import{$ as ee,O as te,W as ne,a as re,b as w,m as ie,o as ae,t as oe,w as se,x as ce}from"../useNav-D6eKrDQR.js";import{t as T}from"../_plugin-vue_export-helper-BDNMzG2s.js";import{T as le,g as E,m as D,v as O}from"../modules/vue-Dz2ojcKF.js";import{h as ue,n as k,o as A}from"../index-CK0S5VQV.js";import{t as de}from"../useDrawings-D53otB4S.js";import{t as fe}from"./DrawingControls-DFFYtEqL.js";import{t as j}from"./IconButton-CfFb_8Iy.js";import{n as pe,t as M}from"./NoteDisplay-bD5KFX7q.js";import{n as N,r as me,t as he}from"./TimerBar-D-Mjxk58.js";import{i as ge,t as _e}from"../SlideWrapper-C4vfVW-k.js";import"./NoteEditable-BkxEJ73y.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-BKrC-Orl.js";var Ae=v({__name:`NoteStatic`,props:{no:{},class:{},clicksContext:{}},setup(e){let t=e,{info:n}=k(t.no);return(r,i)=>(C(),g(M,{class:S(t.class),note:_(n)?.note,"note-html":_(n)?.noteHTML,"clicks-context":e.clicksContext},null,8,[`class`,`note`,`note-html`,`clicks-context`]))}}),P={"h-full":``,"w-full":``},je={key:0,"w-full":``,"h-full":``,flex:`~ col gap-4 items-center justify-center`},Me=v({__name:`ScreenCaptureMirror`,setup(e){let t=a(`video`),n=p(null),r=p(!1);async function i(){n.value=await navigator.mediaDevices.getDisplayMedia({video:{cursor:`always`},audio:!1,selfBrowserSurface:`include`,preferCurrentTab:!1}),t.value.srcObject=n.value,t.value.play(),r.value=!0,n.value.addEventListener(`inactive`,()=>{t.value.srcObject=null,r.value=!1}),n.value.addEventListener(`ended`,()=>{t.value.srcObject=null,r.value=!1})}return(e,n)=>(C(),l(`div`,P,[u(s(`video`,{ref_key:`video`,ref:t,class:`w-full h-full object-contain`},null,512),[[m,r.value]]),r.value?x(`v-if`,!0):(C(),l(`div`,je,[n[0]||=s(`div`,{op50:``},[y(` Use screen capturing to mirror your main screen back to presenter view.`),s(`br`),y(` Click the button below and `),s(`b`,null,`select your other monitor or window`),y(`. `)],-1),s(`button`,{class:`slidev-form-button`,onClick:i},` Start Screen Mirroring `)]))]))}}),Ne={class:`w-22px cursor-pointer`},Pe={class:`group-not-hover:hidden flex flex-col items-center`},Fe={key:0,class:`i-carbon:pause text-lg`},Ie={key:1,class:`i-carbon:play`},Le={class:`text-3xl px-3 my-auto font-mono`},Re=v({__name:`TimerInlined`,setup(e){let{status:t,percentage:n,mode:i,timer:a,reset:o,toggle:c}=N(),u=d(()=>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)=>(C(),l(`div`,{class:S([`group flex items-center justify-center pl-4 select-none`,u.value])},[s(`div`,Ne,[s(`div`,{class:S([`group-hover:hidden text-2xl`,_(i)===`countdown`?`i-carbon:timer`:`i-carbon:time`])},null,2),s(`div`,Pe,[s(`div`,{class:`relative op-80 hover:op-100`,onClick:n[0]||=(...e)=>_(c)&&_(c)(...e)},[_(t)===`running`?(C(),l(`div`,Fe)):(C(),l(`div`,Ie))]),s(`div`,{class:`op-80 hover:op-100`,onClick:n[1]||=(...e)=>_(o)&&_(o)(...e)},[...n[2]||=[s(`div`,{class:`i-carbon:renew`},null,-1)]])])]),s(`div`,Le,[_(a).h?(C(),l(f,{key:0},[s(`span`,null,r(_(a).h),1),n[3]||=s(`span`,{op50:``},`:`,-1)],64)):x(`v-if`,!0),s(`span`,null,r(_(a).m),1),n[4]||=s(`span`,{op50:``},`:`,-1),s(`span`,null,r(_(a).s),1)])],2))}}),ze={class:`bg-main h-full slidev-presenter grid grid-rows-[max-content_1fr] of-hidden`},Be={flex:`~ gap-4 items-center`,border:`b main`,p1:``},Ve={class:`relative grid-section next flex flex-col p-2 lg:p-4`},He={key:2,class:`h-full flex justify-center items-center`},Ue={key:3,class:`h-full grid grid-rows-[1fr_min-content]`},F=T(v({__name:`presenter`,setup(r){let a=le(),v=h(),y=h(),T=h(),k=h();Oe(),xe(v),be();let{clicksContext:M,currentSlideNo:N,currentSlideRoute:P,hasNext:je,nextRoute:Ne,slides:Pe,getPrimaryClicks:Fe}=oe(),{isDrawing:Ie}=de();ue({title:`Presenter - ${ee}`}),h(!1);let Le=d(()=>Pe.value.map(e=>{let t=h(0);return{context:ne(t,e?.meta.slide?.frontmatter.clicksStart??0,e?.meta.clicks),clicks:t}})),F=d(()=>M.value.currentF.value&&Le.value[F.value[0].no-1]);i(F,()=>{I.value&&F.value&&(I.value.clicks.value=F.value[1])},{immediate:!0});let L=E(`slidev-presenter-main-slide-mode`,`slides`),R=E(`slidev-presenter-notes-width`,360),z=E(`slidev-presenter-notes-row-size`,280),B=h(0),V=h(!1),H=h(!1),U=h(0),W=h(360),We=h(0),G=h(280),K={minNotesWidth:240,maxNotesWidth:720,minNotesRowSize:160,maxNotesWidthRatio:.7,maxNotesRowHeightRatio:.75},Ge=O(`(min-aspect-ratio: 1/1)`),q=O(`(max-aspect-ratio: 3/5)`),J=d(()=>w.value===1&&Ge.value),Y=d(()=>!(w.value===1&&q.value)),X=d(()=>w.value===1&&!q.value||w.value===2||w.value===3),Ke=d(()=>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=y.value;if(!t)return;let n=t.getBoundingClientRect(),r=e-U.value,i=qe(J.value?W.value-r:W.value+r),a=Math.round(n.width*K.maxNotesWidthRatio);R.value=Math.min(i,Math.max(K.minNotesWidth,a))}function Z(e){Y.value&&e.button===0&&(e.preventDefault(),U.value=e.clientX,W.value=R.value,V.value=!0)}function Q(e){return Number.isFinite(e)?Math.max(K.minNotesRowSize,Math.round(e)):K.minNotesRowSize}function Ye(e){let t=y.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);z.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?v.value?.getBoundingClientRect().height:T.value?.getBoundingClientRect().height;We.value=e.clientY,G.value=Q(t??z.value),H.value=!0}function Ze(){let e=k.value;e&&(B.value=Math.round(e.getBoundingClientRect().height))}function Qe(){V.value=!1,H.value=!1}function $e(){Ze(),et()}D(window,`pointermove`,e=>{V.value&&Je(e.clientX),H.value&&Ye(e.clientY)}),D(window,`pointerup`,Qe),D(window,`pointercancel`,Qe),t(()=>{$e()}),D(window,`resize`,()=>{$e()});function et(){R.value=qe(R.value),z.value=Q(z.value);let e=y.value;if(!e)return;let t=e.getBoundingClientRect(),n=Math.round(t.width*K.maxNotesWidthRatio),r=Math.round(t.height*K.maxNotesRowHeightRatio);R.value=Math.min(R.value,Math.max(K.minNotesWidth,n)),z.value=Math.min(z.value,Math.max(K.minNotesRowSize,r))}let $=p();return t(()=>{let e=Te(),t=le();o(()=>{!e.value||!t.value||Ie.value||!te.value?A.cursor=void 0:A.cursor={...e.value,style:re.value}})}),(t,r)=>(C(),l(f,null,[s(`div`,ze,[s(`div`,null,[n(me),n(he)]),s(`div`,{ref_key:`gridContainer`,ref:y,class:S([`grid-container`,`layout${_(w)}`]),style:b({"--slidev-presenter-notes-width":`${_(R)}px`,"--slidev-presenter-notes-row-size":`${_(z)}px`,"--slidev-presenter-bottom-height":`${B.value}px`})},[x(` Unified vertical resizer for wide layout `),Y.value&&J.value?(C(),l(`div`,{key:0,class:`notes-vertical-resizer`,role:`separator`,"aria-orientation":`vertical`,title:`Resize notes panel`,onPointerdown:Z},null,32)):x(`v-if`,!0),x(` Unified vertical resizer for layout 3 `),Y.value&&_(w)===3?(C(),l(`div`,{key:1,class:`notes-vertical-resizer-left`,role:`separator`,"aria-orientation":`vertical`,title:`Resize notes panel`,onPointerdown:Z},null,32)):x(`v-if`,!0),s(`div`,{ref_key:`main`,ref:v,class:`relative grid-section main flex flex-col`},[s(`div`,Be,[r[3]||=s(`span`,{op50:``,px2:``},`Current`,-1),r[4]||=s(`div`,{"flex-auto":``},null,-1),n(Se,{modelValue:_(L),"onUpdate:modelValue":r[0]||=e=>c(L)?L.value=e:null,options:[{label:`Slides`,value:`slides`},{label:`Screen Mirror`,value:`mirror`}]},null,8,[`modelValue`])]),_(L)===`mirror`?(C(),g(Me,{key:0})):x(`v-if`,!0),x(` We use v-show here to still infer the clicks context `),u(n(ge,{key:`main`,class:`p-2 lg:p-4 flex-auto`,"is-main":``,onContextmenu:_(ke)},{default:e(()=>[n(we,{"render-context":`presenter`}),n(ve)]),_:1},8,[`onContextmenu`]),[[m,_(L)===`slides`]]),(C(),g(pe,{key:_(P)?.no,"clicks-context":_(Fe)(_(P)),class:`w-full pb2 px4 flex-none`},null,8,[`clicks-context`]))],512),s(`div`,Ve,[X.value&&_(w)===2?(C(),l(`div`,{key:0,class:`notes-row-resizer top-[-6px]`,role:`separator`,"aria-orientation":`horizontal`,title:`Resize notes panel height`,onPointerdown:Xe},null,32)):x(`v-if`,!0),F.value&&I.value?(C(),g(ge,{key:`next`},{default:e(()=>[(C(),g(_e,{key:F.value[0].no,"clicks-context":I.value.context,route:F.value[0],"render-context":`previewNext`},null,8,[`clicks-context`,`route`]))]),_:1})):(C(),l(`div`,He,[...r[5]||=[s(`div`,{class:`text-gray-500`},` End of the presentation `,-1)]])),r[6]||=s(`div`,{class:`absolute left-0 top-0 bg-main border-b border-r border-main px2 py1 op50 text-sm`},` Next `,-1)]),s(`div`,{ref_key:`noteSection`,ref:T,class:`relative grid-section note overflow-hidden`},[Y.value&&!J.value&&_(w)!==3?(C(),l(`div`,{key:0,class:`notes-resizer right-[-6px]`,role:`separator`,"aria-orientation":`vertical`,title:`Resize notes panel`,onPointerdown:Z},null,32)):x(`v-if`,!0),X.value&&_(w)!==2?(C(),l(`div`,{key:1,class:S([`notes-row-resizer`,Ke.value?`top-[-6px]`:`bottom-[-6px]`]),role:`separator`,"aria-orientation":`horizontal`,title:`Resize notes panel height`,onPointerdown:Xe},null,34)):x(`v-if`,!0),$.value&&_(se)?(C(),g(_($),{key:2,class:`h-full`})):(C(),l(`div`,Ue,[(C(),g(Ae,{key:`static-${_(N)}`,no:_(N),class:`w-full max-w-full h-full overflow-auto p-2 lg:p-4`,style:b({fontSize:`${_(ce)}em`}),"clicks-context":_(M)},null,8,[`no`,`style`,`clicks-context`])),r[10]||=s(`div`,{"border-t":``,"border-main":``},null,-1),s(`div`,{class:S([`py-1 px-2 text-sm transition`,_(a)?``:`op25`])},[n(j,{title:`Increase font size`,onClick:_(ie)},{default:e(()=>[...r[7]||=[s(`div`,{class:`i-carbon:zoom-in`},null,-1)]]),_:1},8,[`onClick`]),n(j,{title:`Decrease font size`,onClick:_(ae)},{default:e(()=>[...r[8]||=[s(`div`,{class:`i-carbon:zoom-out`},null,-1)]]),_:1},8,[`onClick`]),x(`v-if`,!0)],2)]))],512),s(`div`,{ref_key:`bottomSection`,ref:k,class:`grid-section bottom flex`},[n(Ee,{persist:!0,class:S([`transition`,_(a)?``:`op25`])},null,8,[`class`]),r[11]||=s(`div`,{"flex-auto":``},null,-1),n(Re)],512),(C(),g(fe,{key:2}))],6)]),n(ye),n(De),n(Ce)],64))}}),[[`__scopeId`,`data-v-e7a794bf`]]);export{F as default}; \ No newline at end of file diff --git a/lecture-05/assets/slidev/shortcuts-BKrC-Orl.js b/lecture-05/assets/slidev/shortcuts-BKrC-Orl.js new file mode 100644 index 0000000000000000000000000000000000000000..9ebe3af087437759116833571d419cf7bccb9940 --- /dev/null +++ b/lecture-05/assets/slidev/shortcuts-BKrC-Orl.js @@ -0,0 +1,4 @@ +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./DrawingLayer-CrKUWGL0.js","../modules/shiki-CkJq9tSf.js","../rolldown-runtime-hePW80VL.js","../modules/shiki-BrmBd2_v.css","./context-DnYiQGy6.js","../modules/vue-Dz2ojcKF.js","../useDrawings-D53otB4S.js","../useNav-D6eKrDQR.js","../_plugin-vue_export-helper-BDNMzG2s.js","../index-CK0S5VQV.js","../syncState-BCmj5bTl.js","../index-Ca92njKe.css"])))=>i.map(i=>d[i]); +import{$ as e,E as t,G as n,H as r,L as i,M as a,S as o,St as s,V as c,X as l,Z as u,_ as d,a as f,at as p,b as m,bt as h,c as g,d as _,et as v,f as y,g as b,h as x,i as S,j as C,k as w,l as T,m as E,n as ee,o as te,pt as ne,q as re,u as ie,ut as D,v as O,vt as k,w as A,x as j,xt as M,y as N,yt as P,z as F}from"../modules/shiki-CkJq9tSf.js";import{A as ae,C as oe,D as I,E as se,F as L,G as ce,I as R,L as le,M as ue,N as de,O as fe,P as pe,Q as me,R as he,S as ge,T as z,V as _e,Y as ve,Z as ye,_ as be,a as xe,b as Se,d as Ce,f as we,g as Te,i as Ee,j as B,n as De,nt as Oe,p as ke,q as Ae,r as je,s as Me,t as V,tt as H,u as Ne,w as Pe,y as Fe,z as Ie}from"../useNav-D6eKrDQR.js";import{t as Le}from"../_plugin-vue_export-helper-BDNMzG2s.js";import{C as Re,I as ze,P as Be,T as Ve,V as He,b as Ue,f as We,m as Ge,n as U,o as Ke,r as qe,s as Je,t as W,w as Ye,y as Xe}from"../modules/vue-Dz2ojcKF.js";import{_ as Ze,l as Qe,n as $e}from"./context-DnYiQGy6.js";import{f as et,i as tt,m as nt,o as rt,p as it,r as at,t as ot}from"../index-CK0S5VQV.js";import{t as st}from"../useDrawings-D53otB4S.js";import{t as G}from"./IconButton-CfFb_8Iy.js";import{t as ct}from"./VerticalDivider-E2da-Zpk.js";import{a as lt,i as ut,n as dt,o as ft,r as pt,t as mt}from"../SlideWrapper-C4vfVW-k.js";function ht(e){let{next:t,nextSlide:n,prev:r,prevSlide:i}=V(),{isDrawing:a}=st(),o=D(0),{direction:s,distanceX:c,distanceY:l}=Ue(e,{pointerTypes:[`touch`],onSwipeStart(){a.value||(o.value=Be())},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 gt(){let{request:e,release:t}=Ye();l(le,n=>{n?e(`screen`):t()},{immediate:!0})}var _t=Object.assign({}),vt=Object.assign({}),yt=Object.assign({}),bt=[Object.values(_t)[0],Object.values(vt)[0],Object.values(yt)[0]].filter(Boolean),xt,St=()=>{if(xt)return xt;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}=V(),{drawingEnabled:p}=st(),{isFullscreen:m,toggle:h}=Ne;return xt=bt.reduce((e,t)=>t(e),b(()=>[{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:Pe.value?`Hide editor`:`Show editor`,action:()=>Pe.value=!Pe.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:ue},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)))},Ct=ne(null);function wt(e,t){Ct.value={x:e,y:t,items:St()}}function Tt(){Ct.value=null}function Et(e){if(H.contextMenu!==!0&&H.contextMenu!=null&&H.contextMenu!==`build`||e.shiftKey||e.defaultPrevented)return;let{isEmbedded:t}=V();t.value||(wt(e.pageX,e.pageY),e.preventDefault(),e.stopPropagation())}var Dt=[`title`,`onClick`],Ot=[`onClick`],kt={class:`mx-auto flex`},At={key:0},jt={class:`w-full text-xs p2`},Mt={class:`text-main text-opacity-50!`},Nt=A({__name:`ContextMenu`,setup(e){let t=D();Ke(t,Tt),Ge(document,`mousedown`,e=>{e.buttons&2&&Tt()},{passive:!0,capture:!0});let r=b(()=>H.contextMenu!=null),i=Ve();l(i,e=>{e||Tt()}),ot(1);let{width:a,height:o}=We(t),u=b(()=>{let e=Ct.value?.x;return e?e+a.value>he.width.value?he.width.value-a.value:e:0}),f=b(()=>{let e=Ct.value?.y;return e?e+o.value>he.height.value?he.height.value-o.value:e:0});return(e,i)=>k(Ct)?(F(),m(`div`,{key:0,ref_key:`container`,ref:t,style:M(`left:${u.value}px;top:${f.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:i[1]||=y(()=>{},[`prevent`]),onClick:i[2]||=(...e)=>k(Tt)&&k(Tt)(...e)},[(F(!0),m(E,null,c(k(Ct).items.value,(e,t)=>(F(),m(E,{key:t},[e===`separator`?(F(),m(`div`,{key:t,class:`w-full my1 border-t border-main`})):e.show??!0?(F(),m(E,{key:1},[e.small?(F(),m(`div`,{key:0,class:P([`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`?(F(),m(`div`,{key:0,class:P([e.icon,`text-1.2em ma`])},null,2)):(F(),O(n(e.icon),{key:1}))],10,Dt)):(F(),m(`div`,{key:1,class:P([`w-full grid grid-cols-[35px_1fr] p-2 pl-0 cursor-pointer rounded`,e.disabled?`op40`:`hover:bg-active`]),onClick:e.action},[d(`div`,kt,[typeof e.icon==`string`?(F(),m(`div`,{key:0,class:P([e.icon,`text-1.2em ma`])},null,2)):(F(),O(n(e.icon),{key:1}))]),typeof e.label==`string`?(F(),m(`div`,At,s(e.label),1)):(F(),O(n(e.label),{key:1}))],10,Ot))],64)):N(`v-if`,!0)],64))),128)),r.value?N(`v-if`,!0):(F(),m(E,{key:0},[i[6]||=d(`div`,{class:`w-full my1 border-t border-main`},null,-1),d(`div`,jt,[d(`div`,Mt,[i[3]||=j(` Hold `,-1),i[4]||=d(`kbd`,{class:`border px1 py0.5 border-main rounded text-primary`},`Shift`,-1),i[5]||=j(` and right click to open the native context menu `,-1),N(`v-if`,!0)])])],64))],36)):N(`v-if`,!0)}});function K(e){return Array.isArray?Array.isArray(e):Vt(e)===`[object Array]`}function Pt(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 Ft(e){return e==null?``:Pt(e)}function q(e){return typeof e==`string`}function It(e){return typeof e==`number`}function Lt(e){return e===!0||e===!1||zt(e)&&Vt(e)==`[object Boolean]`}function Rt(e){return typeof e==`object`}function zt(e){return Rt(e)&&e!==null}function J(e){return e!=null}function Bt(e){return!e.trim().length}function Vt(e){return e==null?e===void 0?`[object Undefined]`:`[object Null]`:Object.prototype.toString.call(e)}var Ht=`Incorrect 'index' type`,Ut=`Invalid doc index: must be a non-negative integer within the bounds of the docs array`,Wt=e=>`Invalid value for key ${e}`,Gt=e=>`Pattern length exceeds max of ${e}.`,Kt=e=>`Missing ${e} property in key`,qt=e=>`Property 'weight' in key '${e}' must be a positive integer`,Jt=`Fuse.match does not support useTokenSearch: token search requires corpus-level statistics (df, fieldCount) that a one-off string comparison does not have. Use new Fuse(...).search(...) instead.`,Yt=Object.prototype.hasOwnProperty,Xt=class{constructor(e){this._keys=[],this._keyMap={};let t=0;e.forEach(e=>{let n=Zt(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 Zt(e){let t=null,n=null,r=null,i=1,a=null;if(q(e)||K(e))r=e,t=Qt(e),n=$t(e);else{if(!Yt.call(e,`name`))throw Error(Kt(`name`));let o=e.name;if(r=o,Yt.call(e,`weight`)&&e.weight!==void 0&&(i=e.weight,i<=0))throw Error(qt($t(o)));t=Qt(o),n=$t(o),a=e.getFn??null}return{path:t,id:n,weight:i,src:r,getFn:a}}function Qt(e){return K(e)?e:e.split(`.`)}function $t(e){return K(e)?e.join(`.`):e}function en(e,t){let n=[],r=!1,i=(e,t,a,o)=>{if(J(e)){if(!t[a])n.push(o===void 0?e:{v:e,i:o});else{let s=e[t[a]];if(!J(s))return;if(a===t.length-1&&(q(s)||It(s)||Lt(s)||typeof s==`bigint`))n.push(o===void 0?Ft(s):{v:Ft(s),i:o});else if(K(s)){r=!0;for(let e=0,n=s.length;ee.score===t.score?e.idx=9&&e<=13||e===32||e===160}function sn(e=1,t=3){let n=new Map,r=10**t;return{get(t){let i=0,a=!1;for(let e=0;e{this._keysMap[e.id]=t})}create(){if(this.isCreated||!this.docs.length)return;this.isCreated=!0;let e=this.docs.length;this.records=Array(e);let t=0;if(q(this.docs[0]))for(let n=0;ne&&--this.records[t].i}removeAll(e){let t=new Set;for(let n of e)Number.isInteger(n)&&n>=0&&t.add(n);if(t.size===0)return;this.records=this.records.filter(e=>!t.has(e.i));let n=Array.from(t).sort((e,t)=>e-t);for(let e of this.records){let t=0,r=n.length;for(;t>>1;n[i]t),records:this.records}}};function ln(e,t,{getFn:n=Y.getFn,fieldNormWeight:r=Y.fieldNormWeight}={}){let i=new cn({getFn:n,fieldNormWeight:r});return i.setKeys(e.map(Zt)),i.setSources(t),i.create(),i}function un(e,{getFn:t=Y.getFn,fieldNormWeight:n=Y.fieldNormWeight}={}){let{keys:r,records:i}=e,a=new cn({getFn:t,fieldNormWeight:n});return a.setKeys(r),a.setIndexRecords(i),a}function dn(e=[],t=Y.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}function fn(e,t,n,{location:r=Y.location,distance:i=Y.distance,threshold:a=Y.threshold,findAllMatches:o=Y.findAllMatches,minMatchCharLength:s=Y.minMatchCharLength,includeMatches:c=Y.includeMatches,ignoreLocation:l=Y.ignoreLocation}={}){if(t.length>32)throw Error(Gt(32));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(c[r]=(c[r+1]<<1|1)&o,t&&(c[r]|=(y[r+1]|y[r])<<1|1|y[r+1]),c[r]&C&&(b=h(t,i),b<=p)){if(p=b,m=i,x=t,m<=f)break;a=Math.max(1,2*f-m)}}if(h(t+1,f)>p)break;y=c}if(g&&m>=0){let t=Math.min(d-1,m+u-1+x);for(let r=m;r<=t;r+=1)n[e[r]]&&(_[r]=1)}let w={isMatch:m>=0,score:Math.max(.001,b)};if(g){let e=dn(_,s);e.length?c&&(w.indices=e):w.isMatch=!1}return w}function pn(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(gn,e=>hn[e]):e=>e,vn=class{constructor(e,{location:t=Y.location,threshold:n=Y.threshold,distance:r=Y.distance,includeMatches:i=Y.includeMatches,findAllMatches:a=Y.findAllMatches,minMatchCharLength:o=Y.minMatchCharLength,isCaseSensitive:s=Y.isCaseSensitive,ignoreDiacritics:c=Y.ignoreDiacritics,ignoreLocation:l=Y.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?_n(e):e,this.pattern=e,this.chunks=[],!this.pattern.length)return;let u=(e,t)=>{this.chunks.push({pattern:e,alphabet:pn(e),startIndex:t})},d=this.pattern.length;if(d>32){let e=0,t=d%32,n=d-t;for(;e{let{isMatch:m,score:h,indices:g}=fn(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=mn(u)),p}},yn=new Set([`fuzzy`,`include`]);function bn(e){return e.startsWith(`inverse`)}var xn=[{type:`exact`,multiRegex:/^="(.*)"$/,singleRegex:/^=(.*)$/,create:e=>({type:`exact`,search(t){let n=t===e;return{isMatch:n,score:+!n,indices:[0,e.length-1]}}})},{type:`include`,multiRegex:/^'"(.*)"$/,singleRegex:/^'(.*)$/,create:e=>({type:`include`,search(t){let n=0,r,i=[],a=e.length;for(;(r=t.indexOf(e,n))>-1;)n=r+a,i.push([r,n-1]);let o=!!i.length;return{isMatch:o,score:+!o,indices:i}}})},{type:`prefix-exact`,multiRegex:/^\^"(.*)"$/,singleRegex:/^\^(.*)$/,create:e=>({type:`prefix-exact`,search(t){let n=t.startsWith(e);return{isMatch:n,score:+!n,indices:[0,e.length-1]}}})},{type:`inverse-prefix-exact`,multiRegex:/^!\^"(.*)"$/,singleRegex:/^!\^(.*)$/,create:e=>({type:`inverse-prefix-exact`,search(t){let n=!t.startsWith(e);return{isMatch:n,score:+!n,indices:[0,t.length-1]}}})},{type:`inverse-suffix-exact`,multiRegex:/^!"(.*)"\$$/,singleRegex:/^!(.*)\$$/,create:e=>({type:`inverse-suffix-exact`,search(t){let n=!t.endsWith(e);return{isMatch:n,score:+!n,indices:[0,t.length-1]}}})},{type:`suffix-exact`,multiRegex:/^"(.*)"\$$/,singleRegex:/^(.*)\$$/,create:e=>({type:`suffix-exact`,search(t){let n=t.endsWith(e);return{isMatch:n,score:+!n,indices:[t.length-e.length,t.length-1]}}})},{type:`inverse-exact`,multiRegex:/^!"(.*)"$/,singleRegex:/^!(.*)$/,create:e=>({type:`inverse-exact`,search(t){let n=t.indexOf(e)===-1;return{isMatch:n,score:+!n,indices:[0,t.length-1]}}})},{type:`fuzzy`,multiRegex:/^"(.*)"$/,singleRegex:/^(.*)$/,create:(e,t={})=>{let n=new vn(e,{location:t.location??Y.location,threshold:t.threshold??Y.threshold,distance:t.distance??Y.distance,includeMatches:t.includeMatches??Y.includeMatches,findAllMatches:t.findAllMatches??Y.findAllMatches,minMatchCharLength:t.minMatchCharLength??Y.minMatchCharLength,isCaseSensitive:t.isCaseSensitive??Y.isCaseSensitive,ignoreDiacritics:t.ignoreDiacritics??Y.ignoreDiacritics,ignoreLocation:t.ignoreLocation??Y.ignoreLocation});return{type:`fuzzy`,search(e){return n.searchIn(e)}}}}],Sn=xn.length,Cn=`\0`,wn=`|`;function Tn(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=Tn(e.replace(/\u0000/g,`|`).trim()).filter(e=>e&&!!e.trim()),r=[];for(let e=0,i=n.length;e!!(e[Mn.AND]||e[Mn.OR]),Fn=e=>!!e[Nn.PATH],In=e=>!K(e)&&Rt(e)&&!Pn(e),Ln=e=>({[Mn.AND]:Object.keys(e).map(t=>({[t]:e[t]}))});function Rn(e,t,{auto:n=!0}={}){let r=e=>{if(q(e)){let r={keyId:null,pattern:e};return n&&(r.searcher=jn(e,t)),r}let i=Object.keys(e),a=Fn(e);if(!a&&i.length>1&&!Pn(e))return r(Ln(e));if(In(e)){let r=a?e[Nn.PATH]:i[0],o=a?e[Nn.PATTERN]:e[r];if(!q(o))throw Error(Wt(r));let s={keyId:$t(r),pattern:o};return n&&(s.searcher=jn(o,t)),s}let o={children:[],operator:i[0]};return i.forEach(t=>{let n=e[t];K(n)&&n.forEach(e=>{o.children.push(r(e))})}),o};return Pn(e)||(e=Ln(e)),r(e)}function zn(e,{ignoreFieldNorm:t=Y.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 Bn(e,{ignoreFieldNorm:t=Y.ignoreFieldNorm}){e.forEach(e=>{e.score=zn(e.matches,{ignoreFieldNorm:t})})}var Vn=class{constructor(e,t){this.limit=e,this.heap=[],this.comparator=t}get size(){return this.heap.length}insert(e){this.size0;){let n=e-1>>1;if(this.comparator(t[e],t[n])<=0)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(i0&&(r=i),a0&&(r=a),r!==e){let n=t[e];t[e]=t[r],t[r]=n}}while(r!==e)}};function Hn(e){let t=[];return e.matches.forEach(e=>{if(!J(e.indices)||!e.indices.length)return;let n={indices:e.indices,value:e.value};e.key&&(n.key=e.key.id),e.idx>-1&&(n.refIndex=e.idx),t.push(n)}),t}function Un(e,t,{includeMatches:n=Y.includeMatches,includeScore:r=Y.includeScore}={}){return e.map(e=>{let{idx:i}=e,a={item:t[i],refIndex:i};return n&&(a.matches=Hn(e)),r&&(a.score=e.score),a})}var Wn=/[\p{L}\p{M}\p{N}_]+/gu,Gn=new WeakSet;function Kn(e){Gn.has(e)||(Gn.add(e),console.warn(`[Fuse] tokenize regex ${e} lacks the global flag; only the first match per text will be returned. Add the 'g' flag.`))}function qn(e){if(typeof e==`function`){let t=!1;return n=>{let r=e(n);if(!t&&(t=!0,!Array.isArray(r)||r.some(e=>typeof e!=`string`)))throw Error(`[Fuse] tokenize function must return string[]; received ${Array.isArray(r)?`array containing non-strings`:typeof r}.`);return r}}return e instanceof RegExp?(e.global||Kn(e),t=>t.match(e)||[]):e=>e.match(Wn)||[]}function Jn({isCaseSensitive:e=!1,ignoreDiacritics:t=!1,tokenize:n}={}){let r=qn(n);return{tokenize(n){return e||(n=n.toLowerCase()),t&&(n=_n(n)),r(n)}}}var Yn=class{static condition(e,t){return t.useTokenSearch}constructor(e,t){this.options=t,this.analyzer=Jn({isCaseSensitive:t.isCaseSensitive,ignoreDiacritics:t.ignoreDiacritics,tokenize:t.tokenize});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 vn(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)}this.combineAll=t.tokenMatch===`all`,this.numTerms=this.termSearchers.length,this.useMask=this.numTerms<=31}searchIn(e){if(!this.termSearchers.length)return{isMatch:!1,score:1};let t=[],n=0,r=0,i=0,a=0,o=this.combineAll&&!this.useMask?new Set:null;for(let s=0;s0?1-n/r:0,c={isMatch:!0,score:Math.max(.001,s)};return this.options.includeMatches&&t.length&&(c.indices=mn(t)),this.combineAll&&(this.useMask?c.matchedMask=a:c.matchedTerms=o,c.termCount=this.numTerms),c}};function Xn(e,t,n,r){let i=r.tokenize(t);if(!i.length)return;e.fieldCount++,e.docFieldCount.set(n,(e.docFieldCount.get(n)||0)+1);let a=new Set(i),o=e.docTermFieldHits.get(n);o||(o=new Map,e.docTermFieldHits.set(n,o));for(let t of a)o.set(t,(o.get(t)||0)+1),e.df.set(t,(e.df.get(t)||0)+1)}function Zn(e,t,n,r){let{i,v:a,$:o}=t;if(a!==void 0){Xn(e,a,i,r);return}if(o)for(let t=0;te-t);for(let t of n)er(e,t);let r=e=>{let t=0,r=n.length;for(;t>>1;n[i]i?r(t):t,n);e.docFieldCount=a;let o=new Map;for(let[t,n]of e.docTermFieldHits)o.set(t>i?r(t):t,n);e.docTermFieldHits=o}var nr=class{constructor(e,t,n){this.options={...Y,...t},this.options.useExtendedSearch,this.options.useTokenSearch,this._keyStore=new Xt(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=jn(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 cn))throw Error(Ht);if(this._myIndex=t||ln(this.options.keys,this._docs,{getFn:this.options.getFn,fieldNormWeight:this.options.fieldNormWeight}),this.options.useTokenSearch){let e=Jn({isCaseSensitive:this.options.isCaseSensitive,ignoreDiacritics:this.options.ignoreDiacritics,tokenize:this.options.tokenize});this._invertedIndex=Qn(this._myIndex.records,this._myIndex.keys.length,e)}this._invalidateSearcherCache()}add(e){if(!J(e))return;this._docs.push(e);let t=this._myIndex.add(e,this._docs.length-1);if(this._invertedIndex&&t){let e=Jn({isCaseSensitive:this.options.isCaseSensitive,ignoreDiacritics:this.options.ignoreDiacritics,tokenize:this.options.tokenize});$n(this._invertedIndex,t,this._myIndex.keys.length,e)}this._invalidateSearcherCache()}remove(e=()=>!1){let t=[],n=[];for(let r=0,i=this._docs.length;r!e.has(n)),this._myIndex.removeAll(n),this._invalidateSearcherCache()}return t}removeAt(e){if(!Number.isInteger(e)||e<0||e>=this._docs.length)throw Error(Ut);this._invertedIndex&&tr(this._invertedIndex,[e]);let t=this._docs.splice(e,1)[0];return this._myIndex.removeAt(e),this._invalidateSearcherCache(),t}_invalidateSearcherCache(){this._lastQuery=null,this._lastSearcher=null}getIndex(){return this._myIndex}_normalizedKeys(){return this._myIndex.keys.map(e=>this._keyStore.get(e.id)||e)}search(e,t){let{limit:n=-1}=t||{},{includeMatches:r,includeScore:i,shouldSort:a,sortFn:o,ignoreFieldNorm:s}=this.options;if(q(e)&&!e.trim()){let e=this._docs.map((e,t)=>({item:e,refIndex:t}));return It(n)&&n>-1&&(e=e.slice(0,n)),e}let c=a&&It(n)&&n>0&&q(e),l=o,u=(e,t)=>l(e,t)||e.idx-t.idx,d;if(c){let t=new Vn(n,u);q(this._docs[0])?this._searchStringList(e,{heap:t,ignoreFieldNorm:s}):this._searchObjectList(e,{heap:t,ignoreFieldNorm:s}),d=t.extractSorted()}else d=q(e)?q(this._docs[0])?this._searchStringList(e):this._searchObjectList(e):this._searchLogical(e),Bn(d,{ignoreFieldNorm:s}),a&&d.sort(q(e)?u:l),It(n)&&n>-1&&(d=d.slice(0,n));return Un(d,this._docs,{includeMatches:r,includeScore:i})}_searchStringList(e,{heap:t,ignoreFieldNorm:n}={}){let r=this._getSearcher(e),i=this.options.useTokenSearch&&this.options.tokenMatch===`all`,{records:a}=this._myIndex,o=t?null:[];return a.forEach(({v:e,i:a,n:s})=>{if(!J(e))return;let c=r.searchIn(e);if(c.isMatch){let r={score:c.score,value:e,norm:s,indices:c.indices};i&&(r.matchedMask=c.matchedMask,r.matchedTerms=c.matchedTerms,r.termCount=c.termCount);let l=[r];if(!i||this._coversAllTokens(l)){let r={item:e,idx:a,matches:l};t?(r.score=zn(r.matches,{ignoreFieldNorm:n}),t.insert(r)):o.push(r)}}}),o}_searchLogical(e){let t=Rn(e,this.options),n=this._normalizedKeys(),r=(e,t,i)=>{if(!(`children`in e)){let{keyId:r,searcher:a}=e,o;return r===null?(o=[],n.forEach((e,n)=>{o.push(...this._findMatches({key:e,value:t[n],searcher:a}))})):o=this._findMatches({key:this._keyStore.get(r),value:this._myIndex.getValueForItemAtKeyId(t,r),searcher:a}),o&&o.length?[{idx:i,item:t,matches:o}]:[]}let{children:a,operator:o}=e,s=[];for(let e=0,n=a.length;e{if(J(e)){let i=r(t,e,n);i.length&&(a.has(n)||(a.set(n,{idx:n,item:e,matches:[]}),o.push(a.get(n))),i.forEach(({matches:e})=>{a.get(n).matches.push(...e)}))}}),o}_searchObjectList(e,{heap:t,ignoreFieldNorm:n}={}){let r=this._getSearcher(e),i=this.options.useTokenSearch&&this.options.tokenMatch===`all`,{records:a}=this._myIndex,o=this._normalizedKeys(),s=t?null:[];return a.forEach(({$:e,i:a})=>{if(!J(e))return;let c=[],l=!1,u=!1;if(o.forEach((t,n)=>{let i=this._findMatches({key:t,value:e[n],searcher:r});i.length?(c.push(...i),i[0].hasInverse&&(u=!0)):l=!0}),!(u&&l)&&c.length&&(!i||this._coversAllTokens(c))){let r={idx:a,item:e,matches:c};t?(r.score=zn(r.matches,{ignoreFieldNorm:n}),t.insert(r)):s.push(r)}}),s}_findMatches({key:e,value:t,searcher:n}){if(!J(t))return[];let r=[];if(K(t))t.forEach(({v:t,i,n:a})=>{if(!J(t))return;let o=n.searchIn(t);if(o.isMatch){let n={score:o.score,key:e,value:t,idx:i,norm:a,indices:o.indices,hasInverse:o.hasInverse};o.termCount!==void 0&&(n.matchedMask=o.matchedMask,n.matchedTerms=o.matchedTerms,n.termCount=o.termCount),r.push(n)}});else{let{v:i,n:a}=t,o=n.searchIn(i);if(o.isMatch){let t={score:o.score,key:e,value:i,norm:a,indices:o.indices,hasInverse:o.hasInverse};o.termCount!==void 0&&(t.matchedMask=o.matchedMask,t.matchedTerms=o.matchedTerms,t.termCount=o.termCount),r.push(t)}}return r}_coversAllTokens(e){let t=e.length?e[0].termCount:void 0;if(t===void 0)return!0;if(t<=31){let n=0;for(let t=0;tAn(e))};var rr=nr,ir={key:0},ar={key:1},or={key:2},sr={key:3},cr={key:4},lr={key:5},ur={key:6},dr={key:7},fr={key:8},pr={key:9},mr={key:10},hr={key:11},gr={key:12},_r={key:13},vr={key:14},yr={key:15},br={key:16},xr={key:17},Sr={key:18},Cr={key:19},wr={key:20},Tr={key:21},Er={key:22},Dr={key:23},Or={key:24},kr={key:25},Ar={key:26},jr={key:27},Mr={key:28},Nr={key:29},Pr={key:30},Fr={key:31},Ir={key:32},Lr={key:33},Rr={key:34},zr={key:35},Br={key:36},Vr={key:37},Hr={key:38},Ur={key:39},Wr={key:40},Gr={key:41},Kr={key:42},qr={key:43},Jr={key:44},Yr={key:45},Xr={key:46},Zr={key:47},Qr={key:48},$r={key:49},ei={key:50},ti={key:51},ni={key:52},ri={key:53},ii={key:54},ai={key:55},oi={key:56},si={key:57},ci={key:58},li={key:59},ui={key:60},di={key:61},fi={key:62},pi={key:63},mi={key:64},hi={key:65},gi={key:66},_i={key:67},vi={key:68},yi={key:69},bi={key:70},xi=A({__name:`title-renderer`,props:{no:{}},setup(e){let t=e,{$page:n}=$e(),r=b(()=>+(t.no??n.value));return(e,t)=>(F(),m(`div`,null,[r.value===1?(F(),m(`p`,ir,`Recurrent Neural Networks`)):r.value===2?(F(),m(`p`,ar,`Today, in seven parts`)):r.value===3?(F(),m(`p`,or,`The data changed`)):r.value===4?(F(),m(`p`,sr,`One step at a time, through a window`)):r.value===5?(F(),m(`p`,cr,`Two reviews, one word apart`)):r.value===6?(F(),m(`p`,lr,`A bag of words: keep the words, drop the order`)):r.value===7?(F(),m(`p`,ur,`Averaging loses the order`)):r.value===8?(F(),m(`p`,dr,`Try it with the network we already have`)):r.value===9?(F(),m(`p`,fr,`Sequence, or time series?`)):r.value===10?(F(),m(`p`,pr,`Two facts about sequences`)):r.value===11?(F(),m(`p`,mr,`An aside — a convolution can read a sequence too`)):r.value===12?(F(),m(`p`,hr,`Which shapes does a sequence problem come in?`)):r.value===13?(F(),m(`p`,gr,`Poll: which model just broke?`)):r.value===14?(F(),m(`p`,_r,`The recurrent layer`)):r.value===15?(F(),m(`p`,vr,`One new wire`)):r.value===16?(F(),m(`p`,yr,`The same layer, once per step`)):r.value===17?(F(),m(`p`,br,`The forward pass, written down`)):r.value===18?(F(),m(`p`,xr,`Reading the equation: one recurrent step`)):r.value===19?(F(),m(`p`,Sr,`Working it out: review B at great`)):r.value===20?(F(),m(`p`,Cr,`The same equation, one matrix`)):r.value===21?(F(),m(`p`,wr,`One step, by hand`)):r.value===22?(F(),m(`p`,Tr,`What the state actually is`)):r.value===23?(F(),m(`p`,Er,`Counting the parameters`)):r.value===24?(F(),m(`p`,Dr,`Your turn — count them`)):r.value===25?(F(),m(`p`,Or,`Five ways to wire it`)):r.value===26?(F(),m(`p`,kr,`Training through time`)):r.value===27?(F(),m(`p`,Ar,`The loss for a whole sequence`)):r.value===28?(F(),m(`p`,jr,`Reading the equation: the sequence loss`)):r.value===29?(F(),m(`p`,Mr,`Backpropagation through time`)):r.value===30?(F(),m(`p`,Nr,`Reading the equation: backpropagation through time`)):r.value===31?(F(),m(`p`,Pr,`What vanishing feels like`)):r.value===32?(F(),m(`p`,Fr,`One number, raised to a power`)):r.value===33?(F(),m(`p`,Ir,`And tanh is not helping`)):r.value===34?(F(),m(`p`,Lr,`Three ways out, honestly ranked`)):r.value===35?(F(),m(`p`,Rr,`Gradient clipping, in one line`)):r.value===36?(F(),m(`p`,zr,`Truncated backpropagation through time`)):r.value===37?(F(),m(`p`,Br,`Gated cells`)):r.value===38?(F(),m(`p`,Vr,`Stop multiplying, start adding`)):r.value===39?(F(),m(`p`,Hr,`The LSTM memory block`)):r.value===40?(F(),m(`p`,Ur,`The six equations`)):r.value===41?(F(),m(`p`,Wr,`Reading the equation: the LSTM cell`)):r.value===42?(F(),m(`p`,Gr,`One LSTM step, by hand`)):r.value===43?(F(),m(`p`,Kr,`The highway, against the chain`)):r.value===44?(F(),m(`p`,qr,`Where the LSTM came from`)):r.value===45?(F(),m(`p`,Jr,`The GRU — same idea, fewer parts`)):r.value===46?(F(),m(`p`,Yr,`Which one, and the sign that will catch you`)):r.value===47?(F(),m(`p`,Xr,`undefined`)):r.value===48?(F(),m(`p`,Zr,`Words into vectors`)):r.value===49?(F(),m(`p`,Qr,`A word is not a number`)):r.value===50?(F(),m(`p`,$r,`An embedding is a lookup table`)):r.value===51?(F(),m(`p`,ei,`What it learns is a geometry`)):r.value===52?(F(),m(`p`,ti,`Embeddings in code, and where they come from`)):r.value===53?(F(),m(`p`,ni,`An RNN in PyTorch`)):r.value===54?(F(),m(`p`,ri,`The shape that causes the most bugs`)):r.value===55?(F(),m(`p`,ii,`nn.LSTM returns two things, and you want one of them`)):r.value===56?(F(),m(`p`,ai,`Sequences in a batch are not the same length`)):r.value===57?(F(),m(`p`,oi,`Packing — tell the layer where to stop`)):r.value===58?(F(),m(`p`,si,`The model`)):r.value===59?(F(),m(`p`,ci,`Shapes, end to end`)):r.value===60?(F(),m(`p`,li,`The training loop, with one line added`)):r.value===61?(F(),m(`p`,ui,`Four bugs, and what each one looks like`)):r.value===62?(F(),m(`p`,di,`Generating, and the wall`)):r.value===63?(F(),m(`p`,fi,`Generating one step at a time`)):r.value===64?(F(),m(`p`,pi,`One sequence in, another out`)):r.value===65?(F(),m(`p`,mi,`Attention — stop choosing in advance`)):r.value===66?(F(),m(`p`,hi,`Attention, in three lines`)):r.value===67?(F(),m(`p`,gi,`Reading the equation: attention`)):r.value===68?(F(),m(`p`,_i,`The other wall — and this one attention does not fix`)):r.value===69?(F(),m(`p`,vi,`Where we got to`)):r.value===70?(F(),m(`p`,yi,`Reading, and the lab`)):r.value===71?(F(),m(`p`,bi,`To be continued…`)):N(`v-if`,!0)]))}}),Si={class:`bg-main transform`,shadow:`~`,p:`x-4 y-2`,border:`~ transparent rounded dark:main`},Ci=[`value`,`disabled`],wi={table:``,"w-full":``,"border-collapse":``},Ti=[`border`,`onClick`],Ei={"text-right":``,op50:``,"text-sm":``,"table-cell":``,"py-2":``,"pl-4":``,"pr-3":``,"vertical-middle":``},Di=Le(A({__name:`Goto`,setup(e){let t=D(),n=D(),r=D(),i=D(),a=D(``),u=D(0),{go:f,slides:p}=V();function h(e){return e!=null}let g=b(()=>new rr(p.value.map(e=>e.meta?.slide).filter(h),{keys:[`no`,`title`],threshold:.3,shouldSort:!0,minMatchCharLength:1})),v=b(()=>a.value.startsWith(`/`)?a.value.substring(1):a.value),x=b(()=>v.value?g.value.search(v.value).map(e=>e.item):[]),S=b(()=>!!x.value.length);function C(){if(S.value){let e=x.value.at(u.value||0);e&&f(e.no)}w()}function w(){a.value=``,z.value=!1}function T(e){e.preventDefault(),u.value++,u.value>=x.value.length&&(u.value=0),te()}function ee(e){e.preventDefault(),u.value--,u.value<=-2&&(u.value=x.value.length-1),te()}function te(){let e=i.value?.[u.value];e&&r.value&&(e.offsetTop+e.offsetHeight>r.value.offsetHeight+r.value.scrollTop?r.value.scrollTo({behavior:`smooth`,top:e.offsetTop+e.offsetHeight-r.value.offsetHeight+1}):e.offsetTop{e?(a.value=``,u.value=0,setTimeout(()=>n.value?.focus(),0)):n.value?.blur()}),l(je,()=>{t.value?.contains(je.value)||w()}),(e,l)=>(F(),m(`div`,{id:`slidev-goto-dialog`,ref_key:`container`,ref:t,class:P([`fixed right-5 transition-all`,k(z)?`top-5`:`-top-20 op0 pointer-events-none`]),"w-90":``,"max-w-90":``,"min-w-90":``},[d(`div`,Si,[d(`input`,{id:`slidev-goto-input`,ref_key:`input`,ref:n,value:a.value,type:`text`,disabled:!k(z),class:P([`outline-none bg-transparent`,{"text-red-400":!S.value&&a.value}]),placeholder:`Goto...`,onKeydown:[_(C,[`enter`]),_(w,[`escape`]),_(T,[`down`]),_(ee,[`up`])],onInput:ne},null,42,Ci)]),k(z)&&x.value.length>0?(F(),m(`div`,{key:0,ref_key:`list`,ref:r,class:`autocomplete-list`,shadow:`~`,border:`~ transparent rounded dark:main`},[d(`ul`,wi,[(F(!0),m(E,null,c(x.value,(e,t)=>(F(),m(`li`,{ref_for:!0,ref_key:`items`,ref:i,key:e.id,role:`button`,tabindex:`0`,"cursor-pointer":``,hover:`op100`,"table-row":``,"items-center":``,border:t===0?void 0:`t main`,class:P(u.value===t?`bg-active op100`:`op80`),onClick:y(t=>re(e.no),[`stop`,`prevent`])},[d(`div`,Ei,s(e.no),1),o(k(xi),{"table-cell":``,"py-2":``,"pr-4":``,"w-full":``,no:e.no},null,8,[`no`])],10,Ti))),128))])],512)):N(`v-if`,!0)],2))}}),[[`__scopeId`,`data-v-61e41ebd`]]),Oi=D(1),ki=b(()=>_e.value.length),X=D(0),Ai=D(0);function ji(){X.value>Oi.value&&--X.value}function Mi(){X.valueOi.value){let e=X.value-Ai.value;eki.value&&(e=ki.value),X.value=e}}var Fi=[`onClick`],Ii={class:`text-green font-bold`},Li={class:`opacity-50`},Ri={key:1,class:`opacity-50`},zi={class:`fixed top-4 right-4 z-modal text-gray-400 flex flex-col items-center gap-2`},Bi=128,Vi=32,Hi=A({__name:`QuickOverview`,setup(t){let{currentSlideNo:n,go:r,slides:i}=V();function a(){I.value=!1}function l(e){r(e),a()}function p(e){return e===X.value}let h=Ee.smaller(`xs`),g=Ee.smaller(`sm`),_=b(()=>h.value?he.width.value-Bi:g.value?(he.width.value-Bi-Vi)/2:300),y=b(()=>Math.floor((he.width.value-Bi)/(_.value+Vi))),x=D(``);return Ge(`keypress`,e=>{if(!I.value){x.value=``;return}if(e.key===`Enter`){e.preventDefault(),x.value?(l(+x.value),x.value=``):l(X.value);return}let t=Number.parseInt(e.key.replace(/\D/g,``));if(Number.isNaN(t)){x.value=``;return}if(!x.value&&t===0)return;if(x.value+=String(t),+x.value>i.value.length){x.value=``;return}let n=i.value.findIndex(e=>`/${e.no}`===x.value);n!==-1&&(X.value=n+1),x.value*10>i.value.length&&(l(+x.value),x.value=``)}),u(()=>{X.value=n.value,Ai.value=y.value}),(t,n)=>(F(),m(E,null,[o(f,{"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:e(()=>[k(I)?(F(),m(`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},[d(`div`,{class:`grid gap-y-4 gap-x-8 w-full`,style:M(`grid-template-columns: repeat(auto-fit,minmax(${_.value}px,1fr))`)},[(F(!0),m(E,null,c(k(i),(t,n)=>(F(),m(`div`,{key:t.no,class:`relative`},[d(`div`,{class:P([`inline-block border rounded overflow-hidden bg-main hover:border-primary transition`,p(n+1)||k(X)===n+1?`border-primary`:`border-main`]),onClick:e=>l(t.no)},[(F(),O(ut,{key:t.no,no:t.no,"use-snapshot":!0,width:_.value,class:`pointer-events-none`},{default:e(()=>[o(mt,{"clicks-context":k(ce)(t,k(Qe)),route:t,"render-context":`overview`},null,8,[`clicks-context`,`route`]),o(ft,{page:t.no},null,8,[`page`])]),_:2},1032,[`no`,`width`]))],10,Fi),d(`div`,{class:`absolute top-0`,style:M(`left: ${_.value+5}px`)},[x.value&&String(n+1).startsWith(x.value)?(F(),m(E,{key:0},[d(`span`,Ii,s(x.value),1),d(`span`,Li,s(String(n+1).slice(x.value.length)),1)],64)):(F(),m(`span`,Ri,s(n+1),1))],4)]))),128))],4)])):N(`v-if`,!0)]),_:1}),v(d(`div`,zi,[o(G,{title:`Close`,class:`text-2xl`,onClick:a},{default:e(()=>[...n[0]||=[d(`div`,{class:`i-carbon:close`},null,-1)]]),_:1}),(F(),O(G,{key:0,as:`a`,title:`Slides Overview`,target:`_blank`,href:`${k(ve)}overview`,"tab-index":`-1`,class:`text-2xl`},{default:e(()=>[...n[1]||=[d(`div`,{class:`i-carbon:list-boxes`},null,-1)]]),_:1},8,[`href`])),N(`v-if`,!0)],512),[[ie,k(I)]])],64))}});function Ui(){let e=Xe();return b(()=>{let t=lt.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 Wi={key:0,class:`absolute top-0 left-0 right-0 bottom-0 pointer-events-none text-xl`},Gi=Le(A({__name:`LaserPointer`,setup(e){let t=Ui(),{isPresenter:n}=V(),r=b(()=>!n.value&&rt.cursor?.style===`laser`?rt.cursor:xe.value===`laser`?t.value:null);return i(()=>{u(()=>{document.body.classList.toggle(`slidev-self-laser-active`,xe.value===`laser`&&!!r.value)})}),(e,t)=>r.value?(F(),m(`div`,Wi,[d(`div`,{class:`laser-pointer`,style:M({left:`${r.value.x}%`,top:`${r.value.y}%`})},null,4)])):N(`v-if`,!0)}}),[[`__scopeId`,`data-v-1d1438ab`]]),Ki={render:()=>[]},qi={key:0,class:`bg-main text-main shadow-xl absolute bottom-10 left-0 z-menu py2`,border:`~ main rounded-md`},Ji=A({__name:`MenuButton`,props:{modelValue:{default:!1},disabled:{default:!1}},setup(e,{emit:t}){let n=Re(e,`modelValue`,t,{passive:!0}),i=D();return Ke(i,()=>{n.value=!1}),(t,a)=>(F(),m(`div`,{ref_key:`el`,ref:i,class:`flex relative`},[d(`button`,{class:P({disabled:e.disabled}),onClick:a[0]||=e=>n.value=!k(n)},[r(t.$slots,`button`,{value:k(n),class:P({disabled:e.disabled})})],2),(F(),O(x,null,[k(n)?(F(),m(`div`,qi,[r(t.$slots,`menu`)])):N(`v-if`,!0)],1024))],512))}}),Yi={border:`~ main rounded`,flex:`~ gap-2 items-center`,relative:``,"h-5":``,"w-5":``,"p0.5":``,"hover:bg-active":``,p1:``},Xi=[`disabled`],Zi=A({__name:`FormCheckbox`,props:C({disabled:{type:Boolean}},{modelValue:{type:Boolean,type:Boolean},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let t=re(e,`modelValue`);return(n,r)=>(F(),m(`div`,Yi,[d(`div`,{"i-ri-check-line":``,class:P(t.value?``:`op0`)},null,2),v(d(`input`,{"onUpdate:modelValue":r[0]||=e=>t.value=e,type:`checkbox`,absolute:``,"inset-0":``,"opacity-10":``,disabled:e.disabled},null,8,Xi),[[g,t.value]])]))}}),Qi={"w-30":``,"h-8":``,flex:`~ gap-1 items-center`},$i={key:0,"w-1.5":``,"h-1.5":``,"bg-primary":``,rounded:``,absolute:``,"top-0":``,"right--2":``},ea={key:0,"w-1.5":``,"h-1.5":``,"bg-primary":``,rounded:``,absolute:``,"top-0":``,"right--2":``},ta=[`innerHTML`],Z=A({__name:`FormItem`,props:{title:{},nested:{type:[Boolean,Number]},div:{type:Boolean},description:{},dot:{type:Boolean}},emits:[`reset`],setup(t,{emit:i}){let a=i;function o(){a(`reset`)}return(i,a)=>(F(),O(n(t.div?`div`:`label`),{flex:`~ row gap-2 items-center`,"select-none":``},{default:e(()=>[d(`div`,Qi,[t.nested?(F(),m(`div`,{key:0,"i-ri-corner-down-right-line":``,op40:``,style:M(typeof t.nested==`number`?{marginLeft:`${t.nested*.5+.5}rem`}:{marginLeft:`0.25rem`})},null,4)):N(`v-if`,!0),t.description?(F(),O(k(ee),{key:2,distance:`10`},{popper:e(()=>[d(`div`,{"text-sm":``,"min-w-90":``,innerHTML:t.description},null,8,ta)]),default:e(()=>[d(`div`,{op75:``,"text-right":``,relative:``,onDblclick:o},[j(s(t.title)+` `,1),t.dot?(F(),m(`div`,ea)):N(`v-if`,!0)],32)]),_:1})):(F(),m(`div`,{key:1,op75:``,relative:``,onDblclick:o},[j(s(t.title)+` `,1),t.dot?(F(),m(`div`,$i)):N(`v-if`,!0)],32))]),r(i.$slots,`default`)]),_:3}))}}),na={relative:``,"h-22px":``},ra={key:0,"pointer-events-none":``,absolute:``,"right-1":``,"top-0.5":``,"text-xs":``,op25:``},ia=A({__name:`FormSlider`,props:C({max:{},min:{},step:{},unit:{},default:{}},{modelValue:{type:Number},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let t=e,n=re(e,`modelValue`);return(r,i)=>(F(),m(E,null,[d(`div`,{relative:``,"h-22px":``,"w-60":``,"flex-auto":``,onDblclick:i[1]||=e=>t.default===void 0?null:n.value=t.default},[v(d(`input`,a({"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),[[T,n.value,void 0,{number:!0}]]),t.default==null?N(`v-if`,!0):(F(),m(`span`,{key:0,border:`r main`,absolute:``,"bottom-0":``,"top-0":``,"h-full":``,"w-1px":``,op75:``,style:M({left:`${(t.default-e.min)/(e.max-e.min)*100}%`})},null,4))],32),d(`div`,na,[v(d(`input`,a({"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),[[T,n.value,void 0,{number:!0}]]),t.unit?(F(),m(`span`,ra,s(t.unit),1)):N(`v-if`,!0)])],64))}}),aa={error:0,client:60,Light:60,Dark:240};function oa(e,t=1){if(aa[e])return sa(aa[e],t);let n=0;for(let t=0;t!i.text||i.color===!1?{}:{color:typeof i.color==`number`?sa(i.color):oa(i.text),background:typeof i.color==`number`?sa(i.color,.1):oa(i.text,.1)}),o=b(()=>(i.size||`sm`)===`sm`?`px-1.5 text-11px leading-1.6em`:``);return(c,l)=>(F(),O(n(t.as||`span`),{"ws-nowrap":``,rounded:``,class:P(o.value),style:M(a.value)},{default:e(()=>[r(c.$slots,`default`,{},()=>[d(`span`,{textContent:s(i.text)},null,8,ca)])]),_:3},8,[`class`,`style`]))}}),ua={flex:`~ gap-1 items-center`,rounded:``,"bg-gray:4":``,p1:``,"m--1":``},da=A({__name:`SegmentControl`,props:{options:{},modelValue:{}},emits:[`update:modelValue`],setup(e){return(t,n)=>(F(),m(`div`,ua,[(F(!0),m(E,null,c(e.options,n=>(F(),O(la,{key:n.value,class:P([`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))]))}}),fa={"text-sm":``,"select-none":``,flex:`~ col gap-1`,"min-w-30":``,px4:``},pa=A({__name:`Settings`,setup(t){let{isPresenter:n}=V(),{isSupported:r}=Ye();return(t,i)=>(F(),m(`div`,fa,[o(Z,{title:`Invert`,dot:k(L).invert!==k(R).invert,onReset:i[1]||=e=>k(L).invert=k(R).invert},{default:e(()=>[o(Zi,{modelValue:k(L).invert,"onUpdate:modelValue":i[0]||=e=>k(L).invert=e},null,8,[`modelValue`])]),_:1},8,[`dot`]),o(Z,{title:`Brightness`,dot:k(L).brightness!==k(R).brightness,onReset:i[3]||=e=>k(L).brightness=k(R).brightness},{default:e(()=>[o(ia,{modelValue:k(L).brightness,"onUpdate:modelValue":i[2]||=e=>k(L).brightness=e,max:1.5,min:.5,step:.02,default:k(R).brightness},null,8,[`modelValue`,`default`])]),_:1},8,[`dot`]),o(Z,{title:`Contrast`,dot:k(L).contrast!==k(R).contrast,onReset:i[5]||=e=>k(L).contrast=k(R).contrast},{default:e(()=>[o(ia,{modelValue:k(L).contrast,"onUpdate:modelValue":i[4]||=e=>k(L).contrast=e,max:1.5,min:.5,step:.02,default:k(R).contrast},null,8,[`modelValue`,`default`])]),_:1},8,[`dot`]),o(Z,{title:`Saturation`,dot:k(L).saturate!==k(R).saturate,onReset:i[7]||=e=>k(L).saturate=k(R).saturate},{default:e(()=>[o(ia,{modelValue:k(L).saturate,"onUpdate:modelValue":i[6]||=e=>k(L).saturate=e,max:1.5,min:.5,step:.02,default:k(R).saturate},null,8,[`modelValue`,`default`])]),_:1},8,[`dot`]),o(Z,{title:`Sepia`,dot:k(L).sepia!==k(R).sepia,onReset:i[9]||=e=>k(L).sepia=k(R).sepia},{default:e(()=>[o(ia,{modelValue:k(L).sepia,"onUpdate:modelValue":i[8]||=e=>k(L).sepia=e,max:2,min:-2,step:.02,default:k(R).sepia},null,8,[`modelValue`,`default`])]),_:1},8,[`dot`]),o(Z,{title:`Hue Rotate`,dot:k(L).hueRotate!==k(R).hueRotate,onReset:i[11]||=e=>k(L).hueRotate=k(R).hueRotate},{default:e(()=>[o(ia,{modelValue:k(L).hueRotate,"onUpdate:modelValue":i[10]||=e=>k(L).hueRotate=e,max:180,min:-180,step:.1,default:k(R).hueRotate},null,8,[`modelValue`,`default`])]),_:1},8,[`dot`]),i[16]||=d(`div`,{class:`h-1px opacity-5 bg-current w-full my2`},null,-1),o(Z,{title:`Cursor Style`},{default:e(()=>[o(da,{modelValue:k(xe),"onUpdate:modelValue":i[12]||=e=>p(xe)?xe.value=e:null,options:[{label:`Cursor`,value:`cursor`},{label:`Laser`,value:`laser`}]},null,8,[`modelValue`])]),_:1}),k(n)?N(`v-if`,!0):(F(),O(Z,{key:0,title:`Slide Scale`},{default:e(()=>[o(da,{modelValue:k(ae),"onUpdate:modelValue":i[13]||=e=>p(ae)?ae.value=e:null,options:[{label:`Fit`,value:0},{label:`1:1`,value:1}]},null,8,[`modelValue`])]),_:1})),k(r)?(F(),O(Z,{key:1,title:`Wake Lock`},{default:e(()=>[o(Zi,{modelValue:k(le),"onUpdate:modelValue":i[14]||=e=>p(le)?le.value=e:null},null,8,[`modelValue`])]),_:1})):N(`v-if`,!0),k(n)?N(`v-if`,!0):(F(),O(Z,{key:2,title:`Hide Idle Cursor`},{default:e(()=>[o(Zi,{modelValue:k(we),"onUpdate:modelValue":i[15]||=e=>p(we)?we.value=e:null},null,8,[`modelValue`])]),_:1}))]))}}),ma={class:`select-list`},ha={class:`title`},ga={class:`items`},_a=[`onClick`],va=Le(A({__name:`SelectList`,props:{modelValue:{type:[Object,String,Number,Boolean]},title:{type:String},items:{type:Array}},setup(e,{emit:t}){let n=Re(e,`modelValue`,t,{passive:!0});return(t,r)=>(F(),m(`div`,ma,[d(`div`,ha,s(e.title),1),d(`div`,ga,[(F(!0),m(E,null,c(e.items,e=>(F(),m(`div`,{key:e.value,class:P([`item`,{active:k(n)===e.value}]),onClick:()=>{n.value=e.value,e.onClick?.()}},[d(`div`,{class:P([`i-carbon:checkmark text-green-500 mya`,{"opacity-0":k(n)!==e.value}])},null,2),d(`div`,{class:P({"opacity-50":k(n)!==e.value})},s(e.display||e.value),3)],10,_a))),128))])]))}}),[[`__scopeId`,`data-v-aa3b28a6`]]),ya={"text-sm":``,flex:`~ col gap-2`},ba={px3:``,"ws-nowrap":``},xa={"font-bold":``,"text-primary":``},Sa=A({__name:`SyncControls`,setup(t){let{isPresenter:n}=V(),r=b({get:()=>n.value?B.value.presenterReceive:B.value.viewerReceive,set(e){n.value?B.value.presenterReceive=e:B.value.viewerReceive=e}}),i=b({get:()=>n.value?B.value.presenterSend:B.value.viewerSend,set(e){n.value?B.value.presenterSend=e:B.value.viewerSend=e}}),a=b({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}}});return(t,c)=>(F(),O(Ji,null,{button:e(()=>[o(G,{title:`Change sync settings`},{default:e(()=>[d(`div`,{class:P([`i-ph:arrow-up-bold mx--1.2 scale-x-80`,i.value?`text-green6 dark:text-green`:`op30`])},null,2),d(`div`,{class:P([`i-ph:arrow-down-bold mx--1.2 scale-x-80`,r.value?`text-green6 dark:text-green`:`op30`])},null,2)]),_:1})]),menu:e(()=>[d(`div`,ya,[d(`div`,ba,[c[1]||=d(`span`,{op75:``},`Slides navigation syncing for `,-1),d(`span`,xa,s(k(n)?`presenter`:`viewer`),1)]),c[2]||=d(`div`,{class:`h-1px opacity-10 bg-current w-full`},null,-1),o(va,{modelValue:a.value,"onUpdate:modelValue":c[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}))}}),Ca={key:0,class:`i-carbon:minimize`},wa={key:1,class:`i-carbon:maximize`},Ta={key:0,class:`i-carbon-moon`},Ea={key:1,class:`i-carbon-sun`},Da={key:0,class:`i-carbon-magic-wand-filled color-red-600 dark:color-red-400`},Oa={key:1,class:`i-carbon-magic-wand`},ka={key:0,class:`i-ph-cursor-fill`},Aa={key:1,class:`i-ph-cursor-duotone`},ja={key:0,"w-2":``,"h-2":``,"bg-primary":``,"rounded-full":``,absolute:``,"top-0.5":``,"right-0.5":``},Ma={class:`px2 my-auto`},Na={class:`text-lg`},Pa={class:`opacity-50 text-sm`},Fa=A({__name:`NavControls`,props:{persist:{default:!1}},setup(t){let n=t,{currentSlideNo:r,hasNext:i,hasPrev:a,isEmbedded:c,isPresenter:l,isPresenterAvailable:u,next:f,prev:p,total:h,enterPresenter:g,exitPresenter:_}=V(),{brush:v,drawingEnabled:y}=st(),x=Ee.smaller(`md`),{isFullscreen:S,toggle:C}=Ne,w=D();function T(){w.value&&je.value&&w.value.contains(je.value)&&je.value.blur()}let ee=b(()=>n.persist?`text-$slidev-controls-foreground bg-transparent`:`rounded-md bg-main shadow-xl border border-main`),te=ne();return(t,n)=>(F(),m(`nav`,{ref_key:`root`,ref:w,class:`flex flex-col`},[d(`div`,{class:P([`flex flex-wrap-reverse text-xl gap-0.5 p-1 lg:p-2`,ee.value]),onMouseleave:T},[k(c)?N(`v-if`,!0):(F(),O(G,{key:0,title:k(S)?`Close fullscreen`:`Enter fullscreen`,onClick:k(C)},{default:e(()=>[k(S)?(F(),m(`div`,Ca)):(F(),m(`div`,wa))]),_:1},8,[`title`,`onClick`])),o(G,{disabled:!k(a),title:`Go to previous slide`,onClick:k(p)},{default:e(()=>[...n[6]||=[d(`div`,{class:`i-carbon:arrow-left`},null,-1)]]),_:1},8,[`disabled`,`onClick`]),o(G,{disabled:!k(i),title:`Go to next slide`,onClick:k(f)},{default:e(()=>[...n[7]||=[d(`div`,{class:`i-carbon:arrow-right`},null,-1)]]),_:1},8,[`disabled`,`onClick`]),k(c)?N(`v-if`,!0):(F(),O(G,{key:1,title:`Show slide overview`,onClick:n[0]||=e=>k(ue)()},{default:e(()=>[...n[8]||=[d(`div`,{class:`i-carbon:apps`},null,-1)]]),_:1})),k(et)?N(`v-if`,!0):(F(),O(G,{key:2,title:k(it)?`Switch to light mode theme`:`Switch to dark mode theme`,onClick:n[1]||=e=>k(nt)()},{default:e(()=>[k(it)?(F(),m(`div`,Ta)):(F(),m(`div`,Ea))]),_:1},8,[`title`])),o(ct),k(c)?N(`v-if`,!0):(F(),m(E,{key:3},[!k(l)&&!k(x)&&te.value?(F(),m(E,{key:0},[o(k(te)),o(ct)],64)):N(`v-if`,!0),k(l)?(F(),O(G,{key:1,title:k(xe)===`laser`?k(fe)?`Disable laser pointer`:`Enable laser pointer`:k(fe)?`Hide presenter cursor`:`Show presenter cursor`,active:k(fe),onClick:n[2]||=e=>k(de)()},{default:e(()=>[k(xe)===`laser`?(F(),m(E,{key:0},[k(fe)?(F(),m(`div`,Da)):(F(),m(`div`,Oa))],64)):(F(),m(E,{key:1},[k(fe)?(F(),m(`div`,ka)):(F(),m(`div`,Aa))],64))]),_:1},8,[`title`,`active`])):N(`v-if`,!0),!k(H).drawings.presenterOnly||k(l)?(F(),O(G,{key:2,class:`relative`,title:k(y)?`Hide drawing toolbar`:`Show drawing toolbar`,active:k(y),onClick:n[3]||=e=>y.value=!k(y)},{default:e(()=>[n[9]||=d(`div`,{class:`i-carbon:pen`},null,-1),k(y)?(F(),m(`div`,{key:0,class:`absolute left-1 right-1 bottom-0 h-0.7 rounded-full`,style:M({background:k(v).color})},null,4)):N(`v-if`,!0)]),_:1},8,[`title`,`active`])):N(`v-if`,!0),o(ct),k(l)?(F(),O(G,{key:3,title:`Play Mode`,onClick:k(_)},{default:e(()=>[...n[10]||=[d(`div`,{class:`i-carbon:presentation-file`},null,-1)]]),_:1},8,[`onClick`])):N(`v-if`,!0),k(u)?(F(),O(G,{key:4,title:`Presenter Mode`,onClick:k(g)},{default:e(()=>[...n[11]||=[d(`div`,{class:`i-carbon:user-speaker`},null,-1)]]),_:1},8,[`onClick`])):N(`v-if`,!0),N(`v-if`,!0)],64)),(F(),m(E,{key:4},[k(H).download?(F(),O(G,{key:0,title:`Download as PDF`,onClick:k(tt)},{default:e(()=>[...n[13]||=[d(`div`,{class:`i-carbon:download`},null,-1)]]),_:1},8,[`onClick`])):N(`v-if`,!0)],64)),N(`v-if`,!0),!k(l)&&k(H).info&&!k(c)?(F(),O(G,{key:6,title:`Show info`,onClick:n[5]||=e=>se.value=!k(se)},{default:e(()=>[...n[15]||=[d(`div`,{class:`i-carbon:information`},null,-1)]]),_:1})):N(`v-if`,!0),k(c)?N(`v-if`,!0):(F(),m(E,{key:7},[o(ct),k(l)?(F(),O(G,{key:0,title:`Toggle Presenter Layout`,class:`aspect-ratio-initial flex items-center`,onClick:k(pe)},{default:e(()=>[n[16]||=d(`div`,{class:`i-carbon:template`},null,-1),j(` `+s(k(Se)),1)]),_:1},8,[`onClick`])):N(`v-if`,!0),(F(),O(Sa,{key:1})),o(Ji,null,{button:e(({value:t})=>[o(G,{title:`More Options`,active:t},{default:e(()=>[n[17]||=d(`div`,{class:`i-carbon:settings-adjust`},null,-1),k(Ce)?(F(),m(`div`,ja)):N(`v-if`,!0)]),_:1},8,[`active`])]),menu:e(()=>[o(pa)]),_:1})],64)),k(c)?N(`v-if`,!0):(F(),O(ct,{key:8})),d(`div`,Ma,[d(`span`,Na,s(k(r)),1),d(`span`,Pa,` / `+s(k(h)),1)]),o(k(Ki))],34)],512))}}),Ia=new Set,La=new Set,Ra=/\/$/;function za(e){return e.startsWith(`http`)||e.startsWith(`//`)?e:`${`./`.replace(Ra,``)}${e.startsWith(`/`)?e:`/${e}`}`}var Ba=2,Va=new Map,Ha=D(0),Ua=D(0),Wa=b(()=>Ua.value===0?1:Ha.value/Ua.value);b(()=>Wa.value>=1);function Ga(e){let t=za(e);if(Ia.has(t)||La.has(t))return;La.add(t);let n=new Image;n.onload=()=>{La.delete(t),Ia.add(t),Va.delete(t),Ha.value=Ia.size},n.onerror=()=>{La.delete(t);let n=Va.get(t)??0;n{let e=r.value;if(!e?.length)return;let t=new Set;for(let n of e)for(let e of n.meta?.slide?.images??[])t.add(za(e));Ua.value=t.size}),u(()=>{let i=e.value,o=r.value;if(!i||!o?.length)return;Ka(i),Ka(t.value),Ka(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)Ka(e)},3e3);e(()=>clearTimeout(n))})}function Ja(){let e=He(),t=D(!1),n,r,i=typeof document<`u`&&`startViewTransition`in document;return e.beforeResolve((e,a)=>{let o=Ie(a.params.no)?.meta,s=Ie(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 Ya=[`data-drag-id`],Q=10,$=10,Xa=`absolute border border-gray bg-gray dark:border-gray-500 dark:bg-gray-800 bg-opacity-30 `,Za=20,Qa=A({__name:`DragControl`,props:{data:{}},setup(e){let{dragId:n,zoom:r,autoHeight:i,x0:a,y0:o,width:s,height:c,rotate:l,isArrow:f}=e.data,p=w(Ze,D(1)),g=b(()=>p.value*r.value),{left:_,top:v}=at(),y=f?-1/0:40,x=b(()=>l.value*Math.PI/180),S=b(()=>Math.sin(x.value)),C=b(()=>Math.cos(x.value)),T=b(()=>s.value*C.value+c.value*S.value),ee=b(()=>s.value*S.value+c.value*C.value),te=b(()=>a.value-T.value/2),ne=b(()=>o.value-ee.value/2),re=b(()=>a.value+T.value/2),ie=b(()=>o.value+ee.value/2),O=b(()=>f&&s.value<0),A=b(()=>f&&c.value<0),j=null;function ae(e){if(e.buttons!==1)return;e.preventDefault(),e.stopPropagation();let t=e.target.getBoundingClientRect(),n=s.value*C.value-c.value*S.value,r=s.value*S.value+c.value*C.value,i=s.value*C.value+c.value*S.value,u=-s.value*S.value+c.value*C.value;j={x0:a.value,y0:o.value,width:s.value,height:c.value,rotate:l.value,dx0:e.clientX-(t.left+t.right)/2,dy0:e.clientY-(t.top+t.bottom)/2,ltx:a.value-n/2,lty:o.value-r/2,rtx:a.value+i/2,rty:o.value-u/2,lbx:a.value-i/2,lby:o.value+u/2,rbx:a.value+n/2,rby:o.value+r/2},e.currentTarget.setPointerCapture(e.pointerId)}function oe(e){if(!j||e.buttons!==1)return;e.preventDefault(),e.stopPropagation();let t=(e.clientX-_.value-j.dx0)/g.value,n=(e.clientY-v.value-j.dy0)/g.value;a.value=Oe(t,-T.value/2+$,me.value+T.value/2-$),o.value=Oe(n,-ee.value/2+$,ye.value+ee.value/2-$)}function I(e){j&&=(e.preventDefault(),e.stopPropagation(),null)}function se(e,t){return{onPointerdown:ae,onPointermove:n=>{if(!j||n.buttons!==1)return;n.preventDefault(),n.stopPropagation();let r=(n.clientX-_.value)/g.value,i=(n.clientY-v.value)/g.value,{ltx:l,lty:u,rtx:d,rty:f,lbx:p,lby:m,rbx:h,rby:b}=j,x=j.width/j.height,w=Math.max(y,y*x);function T(e,t){if(n.shiftKey){let n=Math.max(e,t*x,w);return{w:n,h:n/x}}return{w:Math.max(e,y),h:Math.max(t,y)}}if(e){if(t){let{w:e,h:t}=T((h-r)*C.value+(b-i)*S.value,-(h-r)*S.value+(b-i)*C.value);r=h-e*C.value+t*S.value,i=b-e*S.value-t*C.value}else{let{w:e,h:t}=T((d-r)*C.value-(i-f)*S.value,(d-r)*S.value+(i-f)*C.value);r=d-e*C.value-t*S.value,i=f-e*S.value+t*C.value}}else if(t){let{w:e,h:t}=T((r-p)*C.value-(m-i)*S.value,(r-p)*S.value+(m-i)*C.value);r=p+e*C.value+t*S.value,i=m+e*S.value-t*C.value}else{let{w:e,h:t}=T((r-l)*C.value+(i-u)*S.value,-(r-l)*S.value+(i-u)*C.value);r=l+e*C.value-t*S.value,i=u+e*S.value+t*C.value}e?t?(a.value=(r+h)/2,o.value=(i+b)/2,s.value=(h-r)*C.value+(b-i)*S.value,c.value=-(h-r)*S.value+(b-i)*C.value):(a.value=(r+d)/2,o.value=(i+f)/2,s.value=(d-r)*C.value-(i-f)*S.value,c.value=(d-r)*S.value+(i-f)*C.value):t?(a.value=(r+p)/2,o.value=(i+m)/2,s.value=(r-p)*C.value-(m-i)*S.value,c.value=(r-p)*S.value+(m-i)*C.value):(a.value=(r+l)/2,o.value=(i+u)/2,s.value=(r-l)*C.value+(i-u)*S.value,c.value=-(r-l)*S.value+(i-u)*C.value)},onPointerup:I,style:{width:`${Q}px`,height:`${Q}px`,margin:`-${Q/2}px`,left:e===O.value?void 0:`0`,right:e===O.value?`0`:void 0,top:t===A.value?void 0:`0`,bottom:t===A.value?`0`:void 0,cursor:f?`move`:+e+ +t==1?`nesw-resize`:`nwse-resize`,borderRadius:f?`50%`:void 0},class:Xa}}function L(e){return{onPointerdown:ae,onPointermove:t=>{if(!j||t.buttons!==1)return;t.preventDefault(),t.stopPropagation();let n=(t.clientX-_.value)/g.value,r=(t.clientY-v.value)/g.value,{ltx:i,lty:l,rtx:u,rty:d,lbx:f,lby:p,rbx:m,rby:h}=j;if(e===`l`){let e=(u+m)/2,t=(d+h)/2;s.value=Math.max((e-n)*C.value+(t-r)*S.value,y),a.value=e-s.value*C.value/2,o.value=t-s.value*S.value/2}else if(e===`r`){let e=(i+f)/2,t=(l+p)/2;s.value=Math.max((n-e)*C.value+(r-t)*S.value,y),a.value=e+s.value*C.value/2,o.value=t+s.value*S.value/2}else if(e===`t`){let e=(f+m)/2,t=(p+h)/2;c.value=Math.max((t-r)*C.value-(e-n)*S.value,y),a.value=e+c.value*S.value/2,o.value=t-c.value*C.value/2}else if(e===`b`){let e=(i+u)/2,t=(l+d)/2;c.value=Math.max((r-t)*C.value-(n-e)*S.value,y),a.value=e-c.value*S.value/2,o.value=t+c.value*C.value/2}},onPointerup:I,style:{width:`${Q}px`,height:`${Q}px`,margin:`-${Q/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:Xa}}function ce(){return{onPointerdown:ae,onPointermove:e=>{if(!j||e.buttons!==1)return;e.preventDefault(),e.stopPropagation();let t=(e.clientX-_.value-j.dx0)/g.value-Q/4,n=(e.clientY-v.value-j.dy0)/g.value-Q/4,r=Math.atan2(n-o.value,t-a.value)*180/Math.PI+90;for(let e of[0,90,180,270,360])if(Math.abs(r-e)<5){r=e%360;break}l.value=r},onPointerup:I,style:{width:`${Q}px`,height:`${Q}px`,margin:`-${Q/2}px`,left:`50%`,top:`-20px`,cursor:`grab`,borderRadius:`50%`},class:Xa}}let R={immediate:!1,immediateCallback:!1},le=ze(()=>{re.value<=$||a.value--},Za,R),ue=ze(()=>{te.value>=me.value-$||a.value++},Za,R),de=ze(()=>{ie.value<=$||o.value--},Za,R),fe=ze(()=>{ne.value>=ye.value-$||o.value++},Za,R);return u(()=>{function e(e,t){Fe[e].value?t.resume():t.pause()}e(`left`,le),e(`right`,ue),e(`up`,de),e(`down`,fe)}),(e,u)=>Number.isFinite(k(a))?(F(),m(`div`,{key:0,id:`drag-control-container`,"data-drag-id":k(n),style:M({position:`absolute`,zIndex:100,left:`${k(r)*(k(a)-Math.abs(k(s))/2)}px`,top:`${k(r)*(k(o)-Math.abs(k(c))/2)}px`,width:`${k(r)*Math.abs(k(s))}px`,height:`${k(r)*Math.abs(k(c))}px`,transformOrigin:`center center`,transform:`rotate(${k(l)}deg)`}),onPointerdown:ae,onPointermove:oe,onPointerup:I},[d(`div`,{class:P([`absolute inset-0 z-nav dark:b-gray-400`,k(f)?``:`b b-dark`])},[k(i)?N(`v-if`,!0):(F(),m(E,{key:0},[d(`div`,h(t(se(!0,!0))),null,16),d(`div`,h(t(se(!1,!1))),null,16),k(f)?N(`v-if`,!0):(F(),m(E,{key:0},[d(`div`,h(t(se(!0,!1))),null,16),d(`div`,h(t(se(!1,!0))),null,16)],64))],64)),k(f)?N(`v-if`,!0):(F(),m(E,{key:1},[d(`div`,h(t(L(`l`))),null,16),d(`div`,h(t(L(`r`))),null,16),k(i)?N(`v-if`,!0):(F(),m(E,{key:0},[d(`div`,h(t(L(`t`))),null,16),d(`div`,h(t(L(`b`))),null,16)],64)),d(`div`,h(t(ce())),null,16),d(`div`,{class:`absolute -top-15px w-0 b b-dashed b-dark dark:b-gray-400`,style:M({left:`calc(50% - 1px)`,height:k(i)?`14px`:`10px`})},null,4)],64))],2)],44,Ya)):N(`v-if`,!0)}}),$a=Le(A({__name:`SlidesShow`,props:{renderContext:{}},setup(t){let{currentSlideRoute:r,currentTransition:i,getPrimaryClicks:s,prevRoute:l,nextRoute:d,slides:f,isPrintMode:p,isPrintWithClicks:h,clicksDirection:g,printRange:_}=V();function y(e){e.meta.preload!==!1&&(e.meta.__preloaded=!0,e.load())}u(()=>{y(r.value),y(l.value),y(d.value)}),u(e=>{let t=f.value,n=setTimeout(()=>{t.forEach(y)},3e3);e(()=>clearTimeout(n))}),qa(r,l,d,f);let x=Ja(),C=ne();Ae(()=>import(`./DrawingLayer-CrKUWGL0.js`).then(e=>C.value=e.default),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11]),import.meta.url);let w=b(()=>p.value?_.value.map(e=>f.value[e-1]):f.value.filter(e=>e.meta?.__preloaded||e===r.value));function T(){ke.value=!0,S()}return(l,u)=>(F(),m(E,null,[N(` Global Bottom `),o(k(dt)),N(` Slides `),(F(),O(n(k(x)&&!k(p)&&!k(ke)&&!k(Me)?`div`:te),a(k(ke)||k(Me)||k(p)?{}:k(i),{id:`slideshow`,tag:`div`,class:{"slidev-nav-go-forward":k(g)>0,"slidev-nav-go-backward":k(g)<0},onAfterLeave:T}),{default:e(()=>[(F(!0),m(E,null,c(w.value,e=>v((F(),O(mt,{key:e.no,"clicks-context":k(p)&&!k(h)?k(ce)(e,k(Qe)):k(s)(e),route:e,"render-context":t.renderContext},null,8,[`clicks-context`,`route`,`render-context`])),[[ie,e===k(r)]])),128))]),_:1},16,[`class`])),k(De)?(F(),O(Qa,{key:0,data:k(De)},null,8,[`data`])):N(`v-if`,!0),N(` Global Top `),o(k(pt)),C.value?(F(),O(k(C),{key:1})):N(`v-if`,!0)],64))}}),[[`__scopeId`,`data-v-835d2635`]]),eo=Object.assign({}),to=Object.assign({}),no=Object.assign({}),ro=[Object.values(eo)[0],Object.values(to)[0],Object.values(no)[0]].filter(Boolean);function io(){let{go:e,goFirst:t,goLast:n,next:r,nextSlide:i,prev:a,prevSlide:o}=V(),{drawingEnabled:s}=st(),{escape:c,space:l,shift:u,left:d,right:f,up:p,down:m,enter:h,d:g,g:_,o:v,"`":y}=Fe,b={next:r,prev:a,nextSlide:i,prevSlide:o,go:e,goFirst:t,goLast:n,downloadPDF:tt,toggleDark:nt,toggleOverview:ue,toggleDrawing:()=>s.value=!s.value,escapeOverview:()=>I.value=!1,showGotoDialog:()=>z.value=!z.value},x=W(U(I),U(De)),S=[{name:`next_space`,key:W(l,U(u)),fn:r,autoRepeat:!0},{name:`prev_space`,key:W(l,u),fn:a,autoRepeat:!0},{name:`next_right`,key:W(f,U(u),x),fn:r,autoRepeat:!0},{name:`prev_left`,key:W(d,U(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:W(m,x),fn:i,autoRepeat:!0},{name:`prev_up`,key:W(p,x),fn:o,autoRepeat:!0},{name:`next_shift`,key:W(f,u),fn:i,autoRepeat:!0},{name:`prev_shift`,key:W(d,u),fn:o,autoRepeat:!0},{name:`toggle_dark`,key:W(g,U(s)),fn:nt},{name:`toggle_overview`,key:W(qe(v,y),U(s)),fn:ue},{name:`hide_overview`,key:W(c,U(s)),fn:()=>I.value=!1},{name:`goto`,key:W(_,U(s)),fn:()=>z.value=!z.value},{name:`next_overview`,key:W(f,I),fn:Mi},{name:`prev_overview`,key:W(d,I),fn:ji},{name:`up_overview`,key:W(p,I),fn:Ni},{name:`down_overview`,key:W(m,I),fn:Pi},{name:`goto_from_overview`,key:W(h,I),fn:()=>{e(X.value),I.value=!1}}],C=new Set(S.map(e=>e.name));for(let e of ro)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 ao(){let{isPrintMode:e}=V(),t=W(U(Te),U(be),U(e),ge,U(oe)),n=io();new Map(n.map(e=>[e.key,e])).forEach(e=>{e.fn&&r(e.key,e.fn,e.autoRepeat)}),i(`f`,()=>Ne.toggle());function r(e,n,r=!1){typeof e==`string`&&(e=Fe[e]);let i=W(e,t),a=0,o,s=()=>{if(clearTimeout(o),!i.value){a=0;return}r&&(o=setTimeout(s,Math.max(1e3-a*250,150)),a++),n()};return l(i,s,{flush:`sync`})}function i(e,n){return Je(e,e=>{t.value&&(e.repeat||n())})}}export{Gi as a,Di as c,gt as d,ht as f,da as i,Nt as l,$a as n,Ui as o,Fa as r,Hi as s,ao as t,Et as u}; \ No newline at end of file diff --git a/lecture-05/assets/syncState-BCmj5bTl.js b/lecture-05/assets/syncState-BCmj5bTl.js new file mode 100644 index 0000000000000000000000000000000000000000..d5d1537543430632166e19e4dfd4d4671cbe9680 --- /dev/null +++ b/lecture-05/assets/syncState-BCmj5bTl.js @@ -0,0 +1 @@ +import{X as e,ct as t,mt as n,ut as r}from"./modules/shiki-CkJq9tSf.js";function i(){return Math.random().toString(36).replace(/[^a-z]+/g,``).substr(2,10)}function a(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!1})}var o=t([{channels:[],enabled:!0,init(e,t,r,i=!1){let a;if(!i)a=new BroadcastChannel(e),a.addEventListener(`message`,e=>t(e.data)),this.channels.push(a);else if(i){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,r=!1)=>{this.enabled&&(!i&&a&&!r&&a.postMessage(n(t)),i&&!r&&window.localStorage.setItem(e,JSON.stringify(t)))}},disable(){this.enabled=!1,this.channels.forEach(e=>e.close()),this.listener&&window.removeEventListener(`storage`,this.listener)}}]),s=new Map,c=r({});function l(r,i,a=!1){let l=[],u=!1,d=!1,f,p,m=t(i);function h(e){l.push(e)}function g(e,t){m[e]!==t&&(clearTimeout(f),u=!0,m[e]=t,f=setTimeout(()=>u=!1,0))}function _(e){u||(clearTimeout(p),d=!0,Object.entries(e).forEach(([e,t])=>{m[e]=t}),p=setTimeout(()=>d=!1,0))}function v(t){s.set(t,{onUpdate:_,persist:a,state:m}),c.value[t]=o.map(e=>e.init(t,_,m,a)).filter(e=>!!e);function r(){c.value[t].forEach(e=>e?.(n(m),d)),u||l.forEach(e=>e(m))}e(m,r,{deep:!0})}return{init:v,onPatch:h,onUpdate:_,patch:g,state:m}}export{a as n,i as r,l as t}; \ No newline at end of file diff --git a/lecture-05/assets/useConvolution-mOidZmS_.js b/lecture-05/assets/useConvolution-mOidZmS_.js new file mode 100644 index 0000000000000000000000000000000000000000..cfefea2d01223c84fc9174982aaba6fd0656324a --- /dev/null +++ b/lecture-05/assets/useConvolution-mOidZmS_.js @@ -0,0 +1 @@ +function e(e,t,n,r){return Math.max(0,Math.floor((e+2*n-t)/r)+1)}function t(e,t){return[...Array.from({length:t},()=>0),...e,...Array.from({length:t},()=>0)]}function n(n,r,i={}){let{padding:a=0,stride:o=1,flip:s=!1}=i,c=s?[...r].reverse():[...r],l=t(n,a),u=e(n.length,r.length,a,o),d=Array.from({length:u},(e,t)=>{let r=t*o,i=c.map((e,t)=>({at:r+t,x:l[r+t]??0,w:e,isPad:r+t=a+n.length}));return{index:t,start:r,taps:i,sum:i.reduce((e,t)=>e+t.x*t.w,0)}});return{padded:l,kernel:c,steps:d,output:d.map(e=>e.sum)}}function r(e,t=2){let n=Number(e.toFixed(t));return Object.is(n,-0)?`0`:String(n)}export{r as n,e as r,n as t}; \ No newline at end of file diff --git a/lecture-05/assets/useDrawings-D53otB4S.js b/lecture-05/assets/useDrawings-D53otB4S.js new file mode 100644 index 0000000000000000000000000000000000000000..adbb39b7f1866597d29d4abacb978fd6ca7c772a --- /dev/null +++ b/lecture-05/assets/useDrawings-D53otB4S.js @@ -0,0 +1 @@ +import{N as e,X as t,ct as n,g as r,ot as i,ut as a}from"./modules/shiki-CkJq9tSf.js";import{g as o,t as s,tt as c}from"./useNav-D6eKrDQR.js";import{D as l,g as u}from"./modules/vue-Dz2ojcKF.js";import{c as d,l as f,s as p}from"./index-CK0S5VQV.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}}{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||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=l(()=>{let{currentSlideNo:l,isPresenter:m}=s(),h=[`#ff595e`,`#ffca3a`,`#8ac926`,`#1982c4`,`#6a4c93`,`#ffffff`,`#000000`],g=u(`slidev-drawing-enabled`,!1),_=u(`slidev-drawing-pinned`,!1),v=u(`slidev-drawing-brush`,{color:h[0],size:4,mode:`stylus`}),y=a(!1),b=a(!1),x=a(!1),S=a(!1),C=a(`stylus`),w=r(()=>c.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=n({brush:v,acceptsInputTypes:r(()=>g.value&&(!c.drawings.presenterOnly||m.value)?void 0:[`pen`]),coordinateTransform:!1}),O=i(oe(D));function k(){O.clear(),w.value&&f(l.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||l.value];t==null?O.clear():O.load(t),A(),T=!1}return O.on(`changed`,()=>{if(A(),!T){let e=O.dump(),t=l.value;(p[t]||``)!==e&&w.value&&f(t,O.dump())}}),d(e=>{T=!0,e[l.value]!=null&&O.load(e[l.value]||``),T=!1,A()}),e(()=>{t(l,()=>{O.mounted&&j()},{immediate:!0})}),O.on(`start`,()=>y.value=!0),O.on(`end`,()=>y.value=!1),window.addEventListener(`keydown`,e=>{if(!g.value||o.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/lecture-05/assets/useNav-D6eKrDQR.js b/lecture-05/assets/useNav-D6eKrDQR.js new file mode 100644 index 0000000000000000000000000000000000000000..17abf7b99bea61d6fce6f688aa9df2a8571b30d8 --- /dev/null +++ b/lecture-05/assets/useNav-D6eKrDQR.js @@ -0,0 +1,1490 @@ +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./md-Dk8UbYt1.js","./modules/shiki-CkJq9tSf.js","./rolldown-runtime-hePW80VL.js","./modules/shiki-BrmBd2_v.css","./_plugin-vue_export-helper-BDNMzG2s.js","./slidev/context-DnYiQGy6.js","./modules/vue-Dz2ojcKF.js","./WordStrip-wEzaLRUv.js","./useConvolution-mOidZmS_.js","./useRecurrence-PhWWMav6.js","./WordStrip-CSLon2_l.css","./md-CYXxUBJM.css","./md-CIDAYb22.js","./default-BTjgsdmC.js","./DeckFooter-e6C5A3-W.js","./slidev/client-BFvXAbq7.js","./syncState-BCmj5bTl.js","./index-CK0S5VQV.js","./index-Ca92njKe.css","./useDrawings-D53otB4S.js","./DeckFooter-B6vKMo6W.css","./default-DFJXHcku.css","./RnnGlyph-DxX0mQto.js","./RnnGlyph-mQaYZGEb.css","./md-C-7Ayaf_.js","./section-CLxRKQ9Y.js","./section-BZ9Dfv_4.css","./md-B7zwjxlr.js","./md-BwWsYUud.js","./slidev/VClicks-DLDbGwsQ.js","./md-Df8WtM05.js","./md-DPb1D2iN2.js","./md-Cqetyhg_.js","./md-Dezw7FrF2.js","./md-DUhNjFjE.js","./md-wfJFHbE2.js","./interactive-pqWNz3EB.js","./interactive-DDMF3hhv.css","./Katex-TqgxGJEq.js","./Katex-CsYFnUYi.css","./Slider-Bf0ITYx4.js","./Slider-BO0rW71G.css","./StepButton-BvnaUJaa.js","./StepButton-C1ItLUkw.css","./md-CPQnUbO5.css","./md-B7MUwfIU.js","./md-CDT3syIx.css","./md-WXzmuIAG.js","./PollSlide-DdhNTMpP.js","./PollSlide-C7CHIzYm.css","./md-CPv-eZzS.js","./md-CMkV1_Ic.js","./RnnUnroll-qP10abej.js","./RnnUnroll-BZpPsKMQ.css","./md-DP9dnXw3.js","./md-C-FeioU4.js","./slidev/KaTexBlockWrapper-DAxOb9nH.js","./md-EhM3ZaYZ.js","./md-B0kGJFD3.js","./md-BlJ8G5BD2.js","./md-IPFWf0bW.js","./md-DmK2acul.css","./md-UKvkYPy6.js","./md-DqmbebGS.js","./md-CVNvsAUX.js","./md-CDNayRGS2.js","./md-g3K1jpTn.css","./md-CMjkcqnP.js","./md-_2u5jvtc.js","./md-B_efCMCC.js","./md-CvQFBWrt.js","./md-Dxv-GtNy2.js","./md-C3AcauXK2.js","./md-CIl6YAgL2.js","./GradientFlow-B-uOpJPB.js","./Plot2D-C9URVmMB.js","./Plot2D-PnRWAKXa.css","./PlotLabel-BilrlAqg.js","./PlotLine-yjOYb3U7.js","./GradientFlow-BJ1pHoOj.css","./md-DgzuqNx02.js","./PlotPoints-CeOGnq0p.js","./PlotPoints-CnDINubi.css","./md-BmlYDvkZ.css","./md-C0dfuBBV2.js","./md-B3lRKuiY2.js","./slidev/CodeBlockWrapper-RJVA2-nu.js","./modules/unplugin-icons-CEvhMF8G.js","./md-YBf2HP0I2.js","./md-Cizf_KhR.js","./md-C6rYsw2P.js","./md-BjzzOuTx.js","./GatedCell-BmFrMgAI.js","./GatedCell-CMocJDE5.css","./md-BEio9h2a.js","./md-CvO3R3mJ.js","./md-AiBB45tN.js","./md-qvplHM3t.js","./md-jZup7ibE.js","./Citation-BuY_RPc0.js","./Citation-rca7ok54.css","./md-3LkMqhww.js","./md-D98mrS6F.js","./md-BLLKqkPo.js","./md-7Q8T-mth.js","./md-uzEiJc6_.js","./md-BqMYp0UI.js","./EmbeddingLab-XVnfZGjB.js","./EmbeddingLab-XMgvCUup.css","./md-BlIlUIaC.js","./md-B25V1hAf.js","./md-C_lg6i48.js","./md-CR6t2myb.js","./md-CRTXWVRl.js","./md-Bwo4AxQp.js","./md-DJ1fwN8S.js","./md-zQ2hlk4v.js","./md-DbITpZOi.js","./md-DRJqBy-0.js","./md-Ce7WJKoY.js","./md-BzOKxHOL.js","./md-BovLBUJI.js","./md-BecCf6zg.js","./SeqToSeqFlow-CnUZ8lrf.js","./SeqToSeqFlow-q4UWoD1G.css","./md-DVC75ih2.js","./md-C7mHCXdU.js","./md-5gvmfigf.js","./md-GuP5bC9D2.js","./md-D9ONtzus2.js","./md--T5qqbvI2.js","./md-DhZ23yU-.css","./md-BY6o41T_2.js","./md-DE2QGCpb.css"])))=>i.map(i=>d[i]); +import{C as e,L as t,N as n,O as r,R as i,St as a,X as o,_ as s,_t as c,b as l,ct as u,dt as d,g as f,it as ee,m as te,mt as p,pt as ne,ut as m,vt as re,w as ie,y as ae,z as oe}from"./modules/shiki-CkJq9tSf.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-Dz2ojcKF.js";import{l as be,y as xe}from"./slidev/context-DnYiQGy6.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:`Recurrent 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 05

+`,highlighter:`shiki`,twoslash:!0,lineNumbers:!1,colorSchema:`auto`,routerMode:`hash`,aspectRatio:1.7777777777777777,canvasWidth:980,exportFilename:``,selectable:!1,themeConfig:{courseCode:`PGR207`,lecture:`05`,lectureTitle:`Recurrent 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:`05`,email:`vajira@simula.no`,slidesTitle:`Recurrent Neural Networks - Slidev`},Ae=`build`,je=f(()=>g.aspectRatio),Me=f(()=>g.canvasWidth),Ne=f(()=>Math.ceil(Me.value/je.value)),Pe=f(()=>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,n=0,r){let a=m(!1),o=new Map,s=new Map,c={get current(){return Se(+e.value,n,c.total)},set current(t){e.value=a.value?Se(t,n,c.total):t},clicksStart:n,get relativeSizeMap(){return o},get maxMap(){return s},get isMounted(){return a.value},setup(){t(()=>{a.value=!0,s=d(s),ee(e)||(c.current=e.value)}),i(()=>{a.value=!1,o=new Map,s=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:f(()=>c.current-r),isCurrent:f(()=>c.current===r),isActive:f(()=>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:f(()=>c.current-i),isCurrent:f(()=>c.current===i),isActive:f(()=>i<=c.current&&c.currentc(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(e,t){return oe(),l(`div`,Je,a(`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=ie({__name:`SlideLoading`,setup(e){let n=m(!1);return t(()=>{setTimeout(()=>{n.value=!0},200)}),(e,t)=>(oe(),l(`div`,Xe,[n.value?(oe(),l(te,{key:0},[t[0]||=s(`div`,{class:`i-svg-spinners-90-ring-with-bg text-xl`},null,-1),t[1]||=s(`div`,null,`Loading slide...`,-1)],64)):ae(`v-if`,!0)]))}}),Qe=u({theme:`dl2026`,addons:[`dl2026`],title:`Recurrent Neural Networks`,info:`PGR207 Deep Learning 2026 — Lecture 05`,author:`Vajira Thambawita`,routerMode:`hash`,transition:`slide-left`,mdc:!0,themeConfig:{courseCode:`PGR207`,lecture:`05`,lectureTitle:`Recurrent Neural Networks`},layout:`title`,courseCode:`PGR207`,lecture:`05`,email:`vajira@simula.no`}),$e=d({get layout(){return Qe.layout},get transition(){return Qe.transition},get class(){return Qe.class},get clicks(){return Qe.clicks},get name(){return Qe.name},get preload(){return Qe.preload},slide:{content:``,revision:`-rcoc5l`,frontmatterRaw:`theme: dl2026 +addons: + - dl2026 +title: Recurrent Neural Networks +info: PGR207 Deep Learning 2026 — Lecture 05 +author: Vajira Thambawita +routerMode: hash +transition: slide-left +mdc: true +themeConfig: + courseCode: PGR207 + lecture: "05" + lectureTitle: Recurrent Neural Networks +layout: title +courseCode: PGR207 +lecture: "05" +email: vajira@simula.no +`,note:``,title:`Recurrent Neural Networks`,index:0,noteHTML:`

One session. The arc: the data changed, so the layer has to change; the change +is a single feedback connection; that connection is what lets the network read a +sequence of any length, and also what makes it hard to train.

+

The picture is the running example, review B: "the movie was not great". The +0.22 on the right is P(positive) from the small two-unit network we build by hand +in section 01 — negative, as it should be. Do not explain it now; say "by the +end of section 01 you can compute that number yourself".

+

What the room already knows: the MLP and the neuron, gradient descent, PyTorch +training loops, CNNs, cross-entropy, Adam, and generative models. Nothing here +depends on anything the room has not seen. Attention appears in section 06, in +its original recurrent form only.

+

Do not rush section 02. Vanishing gradients are the reason LSTM and GRU exist, +and a student who has only been told "gradients vanish" cannot see why the fixes +are shaped the way they are.

+

Sections 04 and 05 (embeddings, PyTorch) are the compressible ones if the session +runs late — the lab covers them. Today ends on two walls a recurrent network hits.

+`,images:[],raw:``,frontmatter:Qe,filepath:``,start:0,sourceIndex:0,id:0,no:1},__clicksContext:null,__preloaded:!1}),et=u({layout:`default`,title:`Today, in seven parts`}),tt=d({get layout(){return et.layout},get transition(){return et.transition},get class(){return et.class},get clicks(){return et.clicks},get name(){return et.name},get preload(){return et.preload},slide:{content:``,revision:`qqtzf2`,frontmatterRaw:`layout: default +title: Today, in seven parts +`,note:``,title:`Today, in seven parts`,index:1,noteHTML:`

The glyph grid is the map of today, and the same seven glyphs come back on the +section dividers and on the recap. Point at three of them: the loop (section 01, +the one new wire), the fading arrows (section 02, why it is hard to train), and the +valve (section 03, the fix). Those three sections are the lecture — the click +says so. Sections 04 and 05 can shrink to one slide each if time is short — the +lab carries them.

+`,images:[],raw:``,frontmatter:et,filepath:``,start:52,sourceIndex:1,id:1,no:2},__clicksContext:null,__preloaded:!1}),nt=u({layout:`section`,index:`00`}),rt=d({get layout(){return nt.layout},get transition(){return nt.transition},get class(){return nt.class},get clicks(){return nt.clicks},get name(){return nt.name},get preload(){return nt.preload},slide:{content:``,revision:`-27j51c`,frontmatterRaw:`layout: section +index: "00" +`,note:``,title:`The data changed`,level:1,index:2,noteHTML:`

Section 00, about fifteen minutes. The glyph: word tiles in a row, read left to +right. The middle tile is marked — one word that changes the others.

+

What this section has to land, in order: text is written one token after another; +a fixed window does not fit text; averaging the words loses the order; and two +facts about sequences that become the recurrent layer.

+`,images:[],raw:``,frontmatter:nt,filepath:``,start:107,sourceIndex:2,id:2,no:3},__clicksContext:null,__preloaded:!1}),y=u({layout:`default`,title:`One step at a time, through a window`}),it=d({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:`-5kizf4`,frontmatterRaw:`layout: default +title: One step at a time, through a window +`,note:``,title:`One step at a time, through a window`,index:3,noteHTML:`

Start with a model that reads text through a fixed window, the way a 1-D +convolution does. Top row: review B, one word after another, and a window of three +words. To guess the next word it sees "movie was not" and nothing else.

+

Click. Two things break the window for text.

+
    +
  1. Length. A review is 5 words or 500. A window wide enough for every review is +mostly padding for most reviews.
  2. +
  3. Distance. "not" at the start can change a word much later. Here it is 15 words +back, and the window of three cannot see it. Make the window 16 wide and the +next review puts "not" 30 words back.
  4. +
+

Then the callout, which is the question the whole deck answers: carry a running +summary forward — one small vector, updated after every word — instead of a +window. Section 01 builds that summary; the rest of the deck is about training it.

+

At the end of the deck we come back here: generating text one word at a time is +the same idea, predict the next word from the ones before it, with the running +summary in place of the window.

+`,images:[],raw:``,frontmatter:y,filepath:``,start:127,sourceIndex:3,id:3,no:4},__clicksContext:null,__preloaded:!1}),b=u({layout:`default`,title:`Two reviews, one word apart`}),at=d({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:`t6ozlo`,frontmatterRaw:`layout: default +title: Two reviews, one word apart +`,note:``,title:`Two reviews, one word apart`,index:4,noteHTML:`

The point: this is the running example. Two reviews, the same words except +one, with opposite labels. Write both on the board and leave them there for the +whole session.

+

On screen: review A, "the movie was great" — positive. Review B, "the movie +was not great" — negative. The word strips show them tile by tile, with "not" +highlighted in B.

+

The right-hand picture is the toy embedding: each word becomes two numbers. +Dimension 1 means "a positive word", dimension 2 means "a negation word". The, +movie and was carry no sentiment, so they sit at [0, 0]; great is [1, 0]; not +is [0, 1]. Real embeddings have 64 or more dimensions and are learned — section +04 shows where they come from. Here we set them by hand so the arithmetic fits +on the board.

+

Click: "Same words except one. Opposite labels." Point at the "not" tile in +strip B — it is the only difference.

+

Click 2: before this one appears, get the room to say what "not" does. It has +no sentiment of its own; it changes the meaning of what comes after it. That is +exactly what a model of single words cannot see.

+

Click 3: so the model has to carry something from one word to the next. That +sentence is the motivation for everything that follows.

+

Click 4: the callout — these two reviews run through the whole lecture. Every +section comes back to them, with the same picture.

+

An older pair makes the same point and is worth saying aloud: "dog bites man" +(page 14) and "man bites dog" (front page) — identical words, different news.

+`,images:[],raw:``,frontmatter:b,filepath:``,start:191,sourceIndex:4,id:4,no:5},__clicksContext:null,__preloaded:!1}),x=u({layout:`default`,title:`A bag of words: keep the words, drop the order`}),ot=d({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:`uiy0gq`,frontmatterRaw:`layout: default +title: "A bag of words: keep the words, drop the order" +`,note:``,title:`A bag of words: keep the words, drop the order`,index:5,noteHTML:`

The point: before testing it, name the simplest way to read text with the +networks the room already has. A bag of words throws away the order of the +words and keeps only which words appear. The next slide tests whether that is +enough for our two reviews.

+

On screen: the top row is review B, word by word. The arrow pours the five words +into a bag; inside the bag they have no order any more. "not" is drawn in red in +the bag because it is the word whose position matters.

+

Click: the second row is the same five words shuffled — "great not was movie +the". It goes into exactly the same bag. That is the definition: two reviews with +the same words, in any order, are the same bag.

+

Click 2: the bag becomes one vector. With the toy embedding, the, movie and was +are [0, 0], not is [0, 1] and great is [1, 0]. Add the five vectors and divide by +five: ([0, 0] + [0, 0] + [0, 0] + [0, 1] + [1, 0]) / 5 = [1, 1] / 5 = [0.2, 0.2]. +That one vector is what a classifier sees. A 4-word review and a 400-word review +both become two numbers, so a plain dense layer can read either.

+

Click 3: the callout. A bag of words is the simplest text model, and it is a +strong baseline in practice. The question for the next slide: it keeps the +word "not", but does it keep what "not" does to the word after it?

+

Variants worth naming if asked: instead of averaging embeddings, the classic +version counts each word of the vocabulary (a vector of 20 000 counts). The +order is lost either way.

+`,images:[],raw:``,frontmatter:x,filepath:``,start:279,sourceIndex:5,id:5,no:6},__clicksContext:null,__preloaded:!1}),S=u({layout:`default`,title:`Averaging loses the order`}),st=d({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:`8t4gf5`,frontmatterRaw:`layout: default +title: Averaging loses the order +`,note:``,title:`Averaging loses the order`,index:6,noteHTML:`

The arithmetic, for the board. The, movie, was are [0, 0]; not is [0, 1]; great +is [1, 0]. +A: (0 + 0 + 0 + [1, 0]) / 4 = [0.25, 0]. +B: ([0, 1] + [1, 0]) / 5 = [0.2, 0.2].

+

Be honest about click 1: on this pair, averaging works. The two points are +different, and a line at "dimension 2 = 0.1" separates them. But look at what that +line has learned: "a review with a not anywhere in it is negative". That is a +rule about which words occur, not about what not does to the word after it.

+

Click 2 breaks the rule. Add one word, bad = [−1, 0] (a negative word). Then +C = "not bad, the movie was great" is positive, and D = "not great, the movie +was bad" is negative. Same six words, so the same average: +([0, 1] + [−1, 0] + [1, 0]) / 6 = [0, 1/6] = [0, 0.17]. +One point, two opposite labels. No classifier that only sees the average — linear +or not — can label both correctly. And the "any not" rule from click 1 gets C +wrong.

+

A second weakness, for the notes: the average dilutes. In a 500-word review the +not contributes 1/500 of the average, so the signal shrinks with length.

+

What survives: averaging keeps which words occur. It loses the order, and so it +loses which word modifies which.

+`,images:[],raw:``,frontmatter:S,filepath:``,start:365,sourceIndex:6,id:6,no:7},__clicksContext:null,__preloaded:!1}),C=u({layout:`default`,title:`Try it with the network we already have`}),ct=d({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:`-2bnuct`,frontmatterRaw:`layout: default +title: Try it with the network we already have +`,note:``,title:`Try it with the network we already have`,index:7,noteHTML:`

The point: try the tool the room already has — flatten a review into one long +vector and feed it to a dense layer, exactly as with MNIST. It works on A and +B, but it is huge and it learns every word again at every position.

+

On screen: a window of 200 slots, one word per slot. Review A fills slots 1 to +4, review B slots 1 to 5; the dashed boxes are padding. The highlighted box is +great: slot 4 in A, slot 5 in B.

+

Do the arithmetic in the text aloud. A one-hot vector is 20 000 numbers, all +zero except a single 1 at the word's index. 200 slots x 20 000 = 4 000 000 +inputs. One dense layer of 256 units: 4 000 000 x 256 + 256 biases = +1 024 000 256 weights. A billion, before the second layer and before anything +has been learned.

+

Click: two things appear together — the red marks under slots 4 and 5 in the +picture ("different weights"), and the "Position-locked" line. great sits in +slot 4 in A and slot 5 in B, so different columns of weights read it. The layer +must learn great, and not-before-great, separately at every one of the 200 +positions. This is the complaint that led to CNNs, with "pixel" replaced by +"position", and the answer is the same: share the weights.

+

Click 2: the callout. Be fair to it: unlike the average on the last slide, the +window keeps the order, so it can tell A from B. But it learns each word again +at every position.

+

The slide shows the worst problem (position-locking); say the other two aloud.

+
    +
  1. Fixed length. Every review must be exactly 200 words. Longer ones are cut — +and the cut can remove the word that carries the label. Short ones are +padded, and review A is 196 slots of padding out of 200.
  2. +
  3. Size. Even with a 64-number embedding instead of one-hot (200 x 64 = 12 800 +inputs), the dense layer is 12 800 x 256 + 256 = 3.28 M weights, plus +1.28 M for the embedding. The LSTM classifier we build in section 05 +(embedding 20 000 x 64, LSTM 64 to 128, a linear head to 2 classes) has +1 379 586 ≈ 1.38 M parameters in total — and that number does not change +when the review gets longer.
  4. +
+`,images:[],raw:``,frontmatter:C,filepath:``,start:455,sourceIndex:7,id:7,no:8},__clicksContext:null,__preloaded:!1}),w=u({layout:`default`,title:`Sequence, or time series?`}),lt=d({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:`cwwkeg`,frontmatterRaw:`layout: default +title: Sequence, or time series? +`,note:``,title:`Sequence, or time series?`,index:8,noteHTML:`

The point: a vocabulary check. A sequence is anything where order matters; a +time series is a sequence on a time axis, where the gaps are data too. The +models today see only positions.

+

On screen: the left picture has positions and nothing else — DNA letters in a +row. The right one has a time axis, and the uneven gap between two samples +(marked in red) is itself information.

+

Click: "the words of a sentence" — our reviews are this kind.

+

Click 2: "a DNA (genetic code) sequence" — order matters, no clock.

+

Click 3: "stock prices, one per minute" — a time series with regular sampling.

+

Click 4: "speech: 16 000 samples a second" — also regular, but very long.

+

Click 5: "an ECG (electrocardiogram) trace" — the heart's electrical signal, +for anyone with clinical interests.

+

Click 6: the callout. Every time series is a sequence, but today's models see +only positions.

+

That distinction matters for one practical reason: with a time series you often +have to decide what to do about irregular sampling and missing steps. A plain +RNN silently treats "one step" as "one row of the tensor", whatever the real +gap was. A patient's vitals, sampled whenever a nurse comes by, is the classic +case. Mention it; do not solve it.

+

More examples if the room wants them: the moves of a chess game (a sequence, no +clock that matters).

+

Short slide: a minute or two.

+`,images:[],raw:``,frontmatter:w,filepath:``,start:541,sourceIndex:8,id:8,no:9},__clicksContext:null,__preloaded:!1}),T=u({layout:`default`,title:`Two facts about sequences`}),ut=d({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:`56or83`,frontmatterRaw:`layout: default +title: Two facts about sequences +`,note:``,title:`Two facts about sequences`,index:9,noteHTML:`

CNNs did this for images: things are local, and things repeat. Repetition +became parameter sharing — one filter slid over every position. Locality does +not carry over: a sentence is not a neighbourhood, it is an order. Say that in one +breath; it is the only CNN recap the section needs.

+

Click 1, fact one: "not great" is negative at word 4 and at word 140. So one set +of weights W should read every position — the same W in every box. This fixes +the position-locked window from two slides back.

+

Click 2, fact two: what came earlier changes what a later word means. So +something has to be carried from each position to the one after it: the state h, +one small vector passed along the row. It is the running summary from +"One step at a time, through a window".

+

The picture is the recurrent network unrolled over review B, before we have +named it. Section 01 opens on exactly this drawing, folded into one cell with a +loop. A good image for the room: the state is a note passed along a row of +people. Each person reads one word, updates the note, and passes it on.

+

Write the two facts on the board; the rest of the lecture refers back to them by +number.

+`,images:[],raw:``,frontmatter:T,filepath:``,start:635,sourceIndex:9,id:9,no:10},__clicksContext:null,__preloaded:!1}),E=u({layout:`interactive`,heading:`An aside — a convolution can read a sequence too`,title:`An aside — a convolution can read a sequence too`,"aside-width":`19rem`}),dt=d({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:`85y92c`,frontmatterRaw:`layout: interactive +heading: An aside — a convolution can read a sequence too +title: An aside — a convolution can read a sequence too +aside-width: 19rem +`,note:``,title:`An aside — a convolution can read a sequence too`,index:10,noteHTML:`

The point: this slide exists so nobody leaves believing recurrence is the only +way to read a sequence. A 1-D convolution reads one too — in parallel, but only +as far as its filter reaches.

+

On screen: the 1-D convolution widget, with the axis read as time. One filter +slides along the input and every output uses the same weights — weight sharing +across positions, which already fixes the position-locking problem from the +dense-layer slide. Try the padding and stride controls: padding keeps the +output as long as the input, stride 2 halves it.

+

Click: "Parallel". Each output of the convolution depends only on the few input +words under the filter, and the input is all known in advance. No output needs +another output, so a GPU computes all of them at the same time.

+

Click 2: the reach is limited. The filter's reach is its receptive field: +stacking layers widens it, but it is always a fixed number of positions. If the +"not" is 60 words back, outside the reach, the output never sees it.

+

Click 3: a recurrent layer makes the opposite trade, and the small picture shows it. The +number in each box is the round in which that output can be computed. The +convolution's five outputs are all computed in round 1. The recurrent layer's step 5 needs +the state from step 4, which needs step 3, and so on, so the five steps take five +rounds, one after another. A 500-word review takes 500 rounds, however big the +GPU is. What the RNN gets in return: the state is passed along the whole chain, +so a word from any distance back can still affect the output. Plant the flag for +the last section: this waiting is the second wall at the end of today.

+

If someone offers n-grams: yes, a bigram catches "not good", and that is +exactly what a 1-D convolution with a width-2 filter learns. It will not catch +"not, by any stretch of the imagination, good". Unlimited distance is what +recurrence buys.

+

WaveNet and ByteNet are convolutional; so is most on-device audio.

+`,images:[],raw:``,frontmatter:E,filepath:``,start:697,sourceIndex:10,id:10,no:11},__clicksContext:null,__preloaded:!1}),D=u({layout:`interactive`,heading:`Which shapes does a sequence problem come in?`,title:`Which shapes does a sequence problem come in?`,"aside-width":`16rem`}),ft=d({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:`-83nn6`,frontmatterRaw:`layout: interactive +heading: Which shapes does a sequence problem come in? +title: Which shapes does a sequence problem come in? +aside-width: 16rem +`,note:``,title:`Which shapes does a sequence problem come in?`,index:11,noteHTML:`

Start on the first tab, "no recurrence". Its caption uses the word IID: +independent and identically distributed. Independent means one example tells you +nothing about the next one; identically distributed means they all come from the +same data. Five Iris flowers are IID, so their order does not matter and +shuffling them changes nothing. The five words of a review are not: shuffle them +and the meaning changes. Everything else in this lecture is about data that is +not IID along the time axis.

+

Click through all five and read the examples. Then ask which one the review +classifier is: many to one — five words in, one label out. Autocomplete is many to +many, in step, shifted by one: predict the next word from the ones before it.

+

The encoder-decoder tab is what the last section of the lecture is about +(translating review B into Norwegian). Flag it and move on.

+`,images:[],raw:``,frontmatter:D,filepath:``,start:768,sourceIndex:11,id:11,no:12},__clicksContext:null,__preloaded:!1}),O=u({layout:`default`,title:`Poll: which model just broke?`}),pt=d({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:`-7ild8l`,frontmatterRaw:`layout: default +title: "Poll: which model just broke?" +`,note:``,title:`Poll: which model just broke?`,index:12,noteHTML:`

Hands up for each before revealing. The picture: the dashed line is where the +training reviews end; the test review runs past it.

+

Option 3 catches people who have not yet realised there is one cell rather than T +cells — which is exactly what the next section shows. The unrolled picture on +"Two facts about sequences" had five boxes, but they were the same W five times.

+

Option 2 is the one to discuss: the 1D CNN's filters do not break, but if its last +layer flattens the feature map into a dense head, that head breaks for the same +reason as the MLP. Global pooling over time is the usual fix.

+`,images:[],raw:``,frontmatter:O,filepath:``,start:812,sourceIndex:12,id:12,no:13},__clicksContext:null,__preloaded:!1}),k=u({layout:`section`,index:`01`}),mt=d({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:`-mzuc3r`,frontmatterRaw:`layout: section +index: "01" +`,note:``,title:`The recurrent layer`,level:1,index:13,noteHTML:`

Section 01 is the lecture, part 1. Never cut it. About 25 minutes.

+

The glyph is a cell whose output curls back into its own input: the state. It +comes back on the overview and the recap, so name it now: "this loop is the whole +idea of the lecture".

+

The metaphor for the whole section: a row of people pass a note along. Each one +reads one word of the review, updates the note, and passes it on. The last person +reads the note and says positive or negative. The note is the hidden state.

+`,images:[],raw:``,frontmatter:k,filepath:``,start:870,sourceIndex:13,id:13,no:14},__clicksContext:null,__preloaded:!1}),A=u({layout:`interactive`,heading:`One new wire`,title:`One new wire`,"aside-width":`17rem`}),ht=d({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:`cqu7he`,frontmatterRaw:`layout: interactive +heading: One new wire +title: One new wire +aside-width: 17rem +`,note:``,title:`One new wire`,index:14,noteHTML:`

The point: a recurrent layer is an ordinary layer with one new wire — its +output feeds back in as an input at the next step.

+

On screen: the widget starts folded. Press nothing yet; let them look at the +loop. The box is one hidden layer, the word comes in from below, and the +output of the layer comes back round into itself.

+

The single most common misreading is that the loop is a second layer or a +memory buffer sitting beside the network. It is neither: it is the same units, +reading the values they held one step ago. In the toy network there are two +units; in the code later there are 128.

+

The note metaphor in the aside: each reader gets one word of review B ("the +movie was not great") and the note from the person before. They write a new +note and pass it on.

+

Click: W_xh reads this word — how the reader reads the word.

+

Click 2: W_hh reads the note, which is the layer's own last output — how they +read the old note.

+

Click 3: W_ho turns the note into an answer — the output layer.

+

Click 4: the callout. Compared with the dense layer, the only thing new is one +extra matrix (W_hh) and one step of delay. "One step of delay" is worth +repeating: without the delay the definition would be circular.

+`,images:[],raw:``,frontmatter:A,filepath:``,start:893,sourceIndex:14,id:14,no:15},__clicksContext:null,__preloaded:!1}),j=u({layout:`interactive`,heading:`The same layer, once per step`,title:`The same layer, once per step`,"aside-width":`18rem`}),gt=d({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:`-xfp1ds`,frontmatterRaw:`layout: interactive +heading: The same layer, once per step +title: The same layer, once per step +aside-width: 18rem +`,note:``,title:`The same layer, once per step`,index:15,noteHTML:`

The point: unrolling draws one copy of the layer per word. It is the same layer +with the same weights, used once per step.

+

On screen: the widget starts unrolled. Press "Fold it back" and "Unroll it" a +couple of times. Folded is the network; unrolled is the computation. Students +who only ever see one of the two pictures get a specific wrong idea from each: +a memory cell, or five layers with five sets of weights.

+

Click: every W in the unrolled picture is the same matrix — the copies share +it.

+

Click 2: the chain grows with the review; the weights do not. A 1000-word +review is a longer chain, not a bigger model.

+

Click 3: h_0 = 0 — the note starts blank. If someone asks whether h_0 could be +learned: yes, and it sometimes is. Zeros is the default and it is nearly always +fine.

+

Now press "Next step" and walk through review B. "the", "movie", "was" embed as +[0, 0], so the note stays [0, 0]. "not" sets the first unit: h = [0.96, 0]. +"great" arrives with the note already marked, and the state becomes +[0.45, -0.42]. In review A the same "great" arrives with a blank note and gives +[0, 0.76].

+

Click 4: the callout. A and B are the two running reviews: A is "the movie was +great" (positive), B is "the movie was not great" (negative). Both end on the +word great, so at that last step they give the same input x = [1, 0] to the same +weights. The only difference is the note that arrives with it: blank [0, 0] in +A, the not-flag [0.96, 0] in B. Same word, same weights, different note, +opposite answer.

+`,images:[],raw:``,frontmatter:j,filepath:``,start:949,sourceIndex:15,id:15,no:16},__clicksContext:null,__preloaded:!1}),M=u({layout:`default`,title:`The forward pass, written down`}),_t=d({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:`a7j9g6`,frontmatterRaw:`layout: default +title: The forward pass, written down +`,note:``,title:`The forward pass, written down`,index:16,noteHTML:`

The point: the whole recurrent layer is one equation. The new note is a +squashed sum of this word and the old note.

+

Read it aloud in words first: "h_t equals tanh of W_xh times x_t, plus W_hh +times h_{t-1}, plus a bias b_h" — the new state is a squashed sum of what I am +looking at and what I already knew. The output is "o_t equals W_ho times h_t +plus b_o".

+

On screen: the picture is the same sentence. Old note h_{t-1} in from the left +through W_hh, word x_t in from below through W_xh, the tanh box in the middle, +new note h_t out to the right, and the output o_t going up through W_ho.

+

Nothing on this slide is new mathematics. W_xh x + b is a dense layer; the tanh +is the familiar activation; the only new symbol is W_hh h_{t-1}. Say that +explicitly — it lowers the temperature of the slide considerably.

+

Click: x_t is this word's embedding.

+

Click 2: h_{t-1} is the note — all the layer remembers. Nothing else about the +earlier words survives.

+

Click 3: tanh keeps h between -1 and 1. Why tanh rather than ReLU: h is fed +back into itself, so an unbounded activation can compound to infinity over 200 +steps. tanh keeps the state bounded. It is also part of why the gradients +vanish, which is section 02's problem.

+

Click 4: the callout. Delete the second term, W_hh h_{t-1}, and this is a dense +layer.

+

Click 5: o_t is logits, with no activation. For the review we only use the last +one, o_T, and turn it into a probability with a sigmoid, as in binary +cross-entropy. The next slide names every symbol and puts numbers in.

+`,images:[],raw:``,frontmatter:M,filepath:``,start:1009,sourceIndex:16,id:16,no:17},__clicksContext:null,__preloaded:!1}),N=u({layout:`default`,title:`Reading the equation: one recurrent step`}),vt=d({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:`pnsk0t`,frontmatterRaw:`layout: default +title: "Reading the equation: one recurrent step" +`,note:``,title:`Reading the equation: one recurrent step`,index:17,noteHTML:`

Read the legend top to bottom as one sentence: at step t, take this word x_t and +the note h_{t-1}, mix them with two learned matrices, add a bias, squash with +tanh. That gives the new note h_t. The output o_t is a plain dense layer on top.

+

Say which symbols are learned: W_xh, W_hh, W_ho and the two biases. x_t is data. +h_t is neither — it is computed, fresh, for every review.

+

Where h_4 comes from (one step earlier, at "not", t = 4): x_4 = [0, 1]. +W_xh x_4 = [00 + 21, 10 + 01] = [2, 0]. h_3 = [0, 0], so W_hh h_3 = [0, 0]. +h_4 = tanh([2, 0]) = [0.964, 0]. That is the value in the legend's h_{t-1} row.

+

Click 9: the callout gives the result of step 5, h_5 = [0.448, -0.419]. Do not +compute it here; the next slide does it one step per click.

+

The -1.446 is the heart of it: it is the not-flag, travelling through the -1.5 +wire, and it beats the +1 that "great" brought on its own.

+

Shapes to say out loud: in the code slides n_x = 64 and n_h = 128, so W_xh is +128 x 64 and W_hh is 128 x 128. Here n_x = 2 and n_h = 2 so it fits on paper.

+`,images:[],raw:``,frontmatter:N,filepath:``,start:1109,sourceIndex:17,id:17,no:18},__clicksContext:null,__preloaded:!1}),P=u({layout:`default`,title:`Working it out: review B at great`}),yt=d({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:`r4py96`,frontmatterRaw:`layout: default +title: "Working it out: review B at great" +`,note:``,title:`Working it out: review B at great`,index:18,noteHTML:`

The point: the arithmetic of one recurrent step, at the moment that matters — +review B reaching "great" with the note left by "not". Four small steps, one per +click, each a matrix times a vector the room can check by hand. All numbers are +checked in Python.

+

On screen: the picture is the recipe, numbered in the same order as the cards. +The old note h_4 comes in from the left, the word "great" from below. Each is +multiplied by its own weight matrix (steps 1 and 2), the two results are added +and squashed by tanh (step 3), and the new note h_5 is read out as a +probability (step 4).

+

Click: step 1, what the word brings. x_5 = [1, 0]. Multiply each row of W_xh by +x_5: row 1 is 01 + 20 = 0, row 2 is 11 + 00 = 1. So the word brings [0, 1]: +on its own, "great" pushes the sentiment unit up by 1.

+

Click 2: step 2, what the note brings. h_4 = [0.964, 0] (computed at "not", on +the previous slide). Row 1 of W_hh: 0.50.964 + 00 = 0.482. Row 2: -1.50.964 + +0.80 = -1.446. So the note brings [0.482, -1.446]. The -1.446 is the not-flag +travelling through the -1.5 wire.

+

Click 3: step 3, add and squash. Add the two vectors and the bias (zero here): +[0 + 0.482, 1 - 1.446] = [0.482, -0.446]. Apply tanh to each number: +tanh(0.482) = 0.448 and tanh(-0.446) = -0.419. So h_5 = [0.448, -0.419]. The +sentiment unit is negative: the note's -1.446 beat the word's +1.

+

Click 4: step 4, read out. W_ho = [0, 3] reads only the sentiment unit: +00.448 + 3(-0.419) = -1.256, about -1.26. The sigmoid turns this logit into a +probability: sigmoid(-1.26) = 1 / (1 + e^1.26) = 0.22. P(positive) = 0.22, so +review B is read as negative.

+

For contrast, say review A aloud: it reaches "great" with a blank note [0, 0], +so step 2 brings [0, 0], h_5 = tanh([0, 1]) = [0, 0.762], and +sigmoid(3 * 0.762) = 0.91: positive. Same word, same weights, different note.

+`,images:[],raw:``,frontmatter:P,filepath:``,start:1190,sourceIndex:18,id:18,no:19},__clicksContext:null,__preloaded:!1}),F=u({layout:`default`,title:`The same equation, one matrix`}),bt=d({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:`rrc2lz`,frontmatterRaw:`layout: default +title: The same equation, one matrix +`,note:``,title:`The same equation, one matrix`,index:19,noteHTML:`

Input x_t, previous state h_{t-1} and bias b_h are as before; the only new +symbol is W_h, the two weight matrices placed side by side.

+

It is easy to call this "another way of writing the same" and leave it there. +This is why it is worth writing: it turns the gate equations on the LSTM slides into one +matrix multiply, which is also exactly what nn.LSTM does — one weight_ih and one +weight_hh per layer, not eight.

+

The toy example: the 2 x 4 matrix is W_xh and W_hh side by side. Times +[1, 0, 0.964, 0] (great, then the note after "not"): +row 1: 01 + 20 + 0.50.964 + 00 = 0.482 +row 2: 11 + 00 - 1.50.964 + 0.80 = -0.446 +The same sum as the previous slide, before the tanh.

+

128 x 192: 128 rows because there are 128 units, 192 columns because 64 + 128. +The drawing is to scale. Have them check it.

+`,images:[],raw:``,frontmatter:F,filepath:``,start:1296,sourceIndex:19,id:19,no:20},__clicksContext:null,__preloaded:!1}),I=u({layout:`interactive`,heading:`One step, by hand`,title:`One step, by hand`,"aside-width":`17rem`}),xt=d({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:`mlh7b1`,frontmatterRaw:`layout: interactive +heading: One step, by hand +title: One step, by hand +aside-width: 17rem +`,note:``,title:`One step, by hand`,index:20,noteHTML:`

Click through "the", "movie", "was" quickly: every line is zeros, and that is +fine — those words carry no sentiment in the toy embedding.

+

At "not", stop on line 3: the word brings [2, 0], the note brings [0, 0]. Line 4 +gives [0.96, 0]. The first unit is now a flag.

+

Then hand "great" to the room: ask for the two vectors on line 3 before pressing. +The answer is [0, 1] from the word and [0.48, -1.45] from the note. The note wins, +and the sentiment ends at -0.42. The readout gives P(positive) = 0.22.

+

Do not skip this widget because the numbers look small. Nobody who cannot do this +can debug an RNN.

+`,images:[],raw:``,frontmatter:I,filepath:``,start:1365,sourceIndex:20,id:20,no:21},__clicksContext:null,__preloaded:!1}),L=u({layout:`default`,title:`What the state actually is`}),St=d({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:`-u7je4i`,frontmatterRaw:`layout: default +title: What the state actually is +`,note:``,title:`What the state actually is`,index:21,noteHTML:`

The strip builds with the clicks. At click 0 three words are read and both bars +are empty. Click 1 reads "not": the flag bar fills to 0.964. Click 2 reads +"great": the sentiment bar goes red, to -0.419, and P(positive) = 0.22.

+

Compare review A, "the movie was great": the flag never rises, "great" gives +h = [0, 0.762] and P(positive) = sigmoid(3 * 0.762) = 0.91. Same word, opposite +answer, because the note was different.

+

Be honest about the toy: these weights were set by hand so each unit has a name. +A trained network spreads the job over many units, and nobody labels them.

+

The callout is the most important idea in the section. Recurrence does not give a +network unlimited memory; it gives it a fixed budget and makes it learn what to +keep. Gates (section 03) are a better way of choosing. The attention slide in the +last section is refusing to throw anything away.

+`,images:[],raw:``,frontmatter:L,filepath:``,start:1408,sourceIndex:21,id:21,no:22},__clicksContext:null,__preloaded:!1}),R=u({layout:`default`,title:`Counting the parameters`}),Ct=d({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:`-sbyrza`,frontmatterRaw:`layout: default +title: Counting the parameters +`,note:``,title:`Counting the parameters`,index:22,noteHTML:`

The point: count the weights of a recurrent layer, and notice that the length +of the review does not appear in the count.

+

On screen: the formula reads "n_h times n_x for W_xh, plus n_h times n_h for +W_hh, plus n_h for the bias b_h". The drawing is to scale: one pixel per row +and column. W_xh is 128 x 64 = 8 192, W_hh is the big square, 128 x 128 = +16 384, and the bias is a thin 128 x 1 strip.

+

Click: the sum with our sizes, n_x = 64 and n_h = 128: +128 x 64 + 128 x 128 + 128 = 8 192 + 16 384 + 128 = 24 704.

+

Click 2: T does not appear. A 10-word and a 1000-word review share the same +weights. Same argument as for CNNs, where an image's height and width do not +appear in a convolution's parameter count. Weight sharing always buys this.

+

Click 3: W_hh grows with n_h squared — double the units, four times the +weights. Ask the room first what happens if you double the hidden size. That is +why 128 and 256 are common and 4096 is not.

+

Click 4: nn.RNN prints 24 832. This saves a lab question every year. nn.RNN +keeps bias_ih and bias_hh, which only ever appear as a sum — mathematically +redundant, kept for the fast GPU (cuDNN) kernels. A student who counts by hand +and then calls sum(p.numel()) gets a number that is n_h = 128 too big and +assumes they are wrong. They are not: 24 704 + 128 = 24 832.

+`,images:[],raw:``,frontmatter:R,filepath:``,start:1459,sourceIndex:22,id:22,no:23},__clicksContext:null,__preloaded:!1}),z=u({layout:`default`,title:`Your turn — count them`}),wt=d({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:`eczvk1`,frontmatterRaw:`layout: default +title: Your turn — count them +`,note:``,title:`Your turn — count them`,index:23,noteHTML:`

The point: an exercise. Count the layers of the classifier we build later, and +discover that the recurrent part is only 7% of the weights.

+

Do the first row together, let them race the rest. Reveal each row after the +room has had a go.

+

Click: nn.RNN(64, 128) = 128 x 64 + 128 x 128 + 2 x 128 = 24 832, with the two +PyTorch bias vectors from the last slide.

+

Click 2: nn.LSTM(64, 128) = 99 328. Be precise about "blocks": an LSTM has +three gates (input, forget, output) plus a candidate, so four blocks of the +RNN's size: 4 x 24 832 = 99 328. "Four gates" is a common slip — there are +three gates. The LSTM itself is the next section.

+

Click 3: nn.GRU(64, 128) = 74 496. A GRU has two gates (update, reset) plus a +candidate: 3 x 24 832 = 74 496.

+

Click 4: nn.Embedding(20000, 64) = 20 000 x 64 = 1 280 000 — a vocabulary of +20 000 words, 64 numbers each.

+

Click 5: the bar — the whole classifier drawn to scale. 1 280 000 / 1 379 586 = +92.8% embedding; 99 328 / 1 379 586 = 7.2% LSTM; and Linear(128, 2) = +128 x 2 + 2 = 258 weights, 0.02%, the sliver at the right.

+

Click 6: the callout. 1 280 000 + 99 328 + 258 = 1 379 586. The recurrent part +we spend the lecture on is 7% of them.

+

A CNN shows the same imbalance the other way round — most of its weights in one +dense head. Where a model's parameters live is rarely where its ideas live. The +93% also explains why pre-trained embeddings mattered so much: it is the part +of the model with the most to learn and the least supervision.

+`,images:[],raw:``,frontmatter:z,filepath:``,start:1541,sourceIndex:23,id:23,no:24},__clicksContext:null,__preloaded:!1}),B=u({layout:`interactive`,heading:`Five ways to wire it`,title:`Five ways to wire it`,"aside-width":`21rem`}),Tt=d({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:`-qu9nj3`,frontmatterRaw:`layout: interactive +heading: Five ways to wire it +title: Five ways to wire it +aside-width: 21rem +`,note:``,title:`Five ways to wire it`,index:24,noteHTML:`

The point: the recurrence can come from different places, and one cell can be +reused by stacking or by reading both directions. nn.RNN uses hidden to hidden.

+

On screen: the wiring widget, with one tab per wiring: hidden → hidden, output +→ hidden, output → output, stacked, bidirectional. All three recurrent arrows +drawn at once on one figure is unreadable, so take them one tab at a time and +say which one nn.RNN uses. Walk the first three tabs, then the last two.

+

Click: hidden → hidden, as in nn.RNN. In the note picture, it passes the whole +note on.

+

Click 2: output → hidden passes only the reader's one-word verdict, so +everything the past contributes is squeezed through the output layer, which is +usually far smaller than h. Its upside, shown in the widget's note: it is cheap +to train in parallel when the true outputs are known (teacher forcing).

+

Click 3: output → output, the third tab. Only the previous output feeds the next +output; the hidden layer carries nothing across time. Rare on its own — the idea +survives in models that generate one word at a time and feed each word back in.

+

Click 4: stacked and bidirectional are constructor arguments (num_layers, +bidirectional=True). Stacked: one recurrent layer's states are the next one's +inputs. Bidirectional: a second row of readers going right to left, and the two +notes are joined at each word. Concatenation, not addition, is how the two +directions combine — so the output width doubles and the head has to know that.

+

Click 5: the callout. Bidirectional needs the whole sequence first, so it +cannot predict the next word. That is why it is fine for review B — the whole +review is there before we classify it — and wrong for generating text.

+

The bidirectional caveat catches people out in their own projects: they add +bidirectional=True to a language model, the loss collapses to nothing, and it +takes an afternoon to realise the model can see the answer.

+`,images:[],raw:``,frontmatter:B,filepath:``,start:1615,sourceIndex:24,id:24,no:25},__clicksContext:null,__preloaded:!1}),V=u({layout:`section`,index:`02`}),Et=d({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:`-20iu3b`,frontmatterRaw:`layout: section +index: "02" +`,note:``,title:`Training through time`,level:1,index:25,noteHTML:`

Section 02 is the lecture, part 2. Never cut it. About 25 minutes.

+

The glyph: a chain of cells with a gradient arrow running back from the loss, +fainter at every step. Keep the note metaphor going: the training signal is a +message passed back down the row, and every person who copies it makes the copy +fainter.

+

The number to aim at is 0.012, on "What vanishing feels like". Section 03 answers +it with 0.82.

+`,images:[],raw:``,frontmatter:V,filepath:``,start:1677,sourceIndex:25,id:25,no:26},__clicksContext:null,__preloaded:!1}),H=u({layout:`default`,title:`The loss for a whole sequence`}),Dt=d({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:`-4xw25k`,frontmatterRaw:`layout: default +title: The loss for a whole sequence +`,note:``,title:`The loss for a whole sequence`,index:26,noteHTML:`

The point: nothing new about the loss itself — it is cross-entropy, once or T +times. What is new is that one weight matrix now receives gradient from T +different places.

+

On screen, left: one label per review. Five cells in a chain, and only the last +one feeds a loss. Read the equation as "L equals the loss of the last output +o_T against the label y".

+

On screen, right: one label per word. Every cell feeds its own loss. Read it as +"L equals one over T times the sum, over every step t, of the loss of o_t +against y_t". Per-word labels: a tag on every word, or the next character in a +text model.

+

Click: the left box — one term, at the last word. Review B: the label is +negative and the toy network says P(positive) = 0.22, so the chance it gave the +right answer is 0.78, and the loss is -ln 0.78 = 0.25. (Checked: +sigmoid(3 x -0.419) = 0.222; -ln(0.778) = 0.251.)

+

Click 2: the right box — T terms, averaged, and each is a cross-entropy. +Mention the averaging: sum and mean differ by a factor of T, which changes the +effective learning rate. PyTorch's default is mean, and with padded batches +"mean over what" becomes a real question — the padding slide in the PyTorch +section.

+

Click 3: the callout. Either way, one set of weights receives gradient from +every term. The next slide names every symbol in these two equations.

+`,images:[],raw:``,frontmatter:H,filepath:``,start:1700,sourceIndex:26,id:26,no:27},__clicksContext:null,__preloaded:!1}),U=u({layout:`default`,title:`Reading the equation: the sequence loss`}),Ot=d({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:`-ax5re7`,frontmatterRaw:`layout: default +title: "Reading the equation: the sequence loss" +`,note:``,title:`Reading the equation: the sequence loss`,index:27,noteHTML:`

The legend has nothing new in it except the index t. The loss l is +cross-entropy: minus the log of the probability the model gave the right class. +o_t are the logits at step t; y_t is the right answer at step t.

+

Two worked examples. Character by character: the model is fairly sure at step 1 +(0.8), unsure at step 2 (0.5), and mostly wrong at step 3 (0.25). The worst step +costs the most: 1.39 of the 2.30 total. Averaging gives 0.77. The sum is ln 10 = +2.30 exactly, because 0.8 x 0.5 x 0.25 = 0.1 — a nice check if someone asks.

+

Review B, one label: o_5 = -1.26, sigmoid gives P(positive) = 0.22. The right +answer is negative, with probability 0.78. Loss 0.25. With one label, T plays no +part: the average over one term is that term.

+

Sum versus mean: PyTorch's cross_entropy averages by default. With padded batches +the question "average over what?" becomes real; that is the padding slide in the +PyTorch section.

+`,images:[],raw:``,frontmatter:U,filepath:``,start:1797,sourceIndex:27,id:27,no:28},__clicksContext:null,__preloaded:!1}),W=u({layout:`default`,title:`Backpropagation through time`}),kt=d({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:`77rlng`,frontmatterRaw:`layout: default +title: Backpropagation through time +`,note:``,title:`Backpropagation through time`,index:28,noteHTML:`

The point: the unrolled network is just a deep feed-forward network, so +ordinary backpropagation trains it. The one twist is that W_hh is shared by +every step, and that twist is where the trouble starts.

+

Backpropagation through time is often shortened to BPTT. Do not derive this. +Point at three things: the outer sum, the inner sum, and the Jacobian in the +middle.

+

On screen: the equation reads "the gradient of the loss with respect to W_hh is +a sum over every time step t; for each one, a sum over every earlier step k of: +how the loss at t depends on h_t, times how h_t depends on h_k, times how h_k +depends on W_hh directly." The underbrace marks the middle factor as the trip +back through t - k steps.

+

The picture is review B: five copies of the cell, the loss L at the end, and the +gradient running back through each W_hh arrow (four of them, hence "W_hh x 4"). +Every red arrow is one factor in the product.

+

Click: the outer sum. W_hh was used at every step, so its gradient collects a +contribution from every step — the same rule as any shared weight, like a +convolution filter used at every position.

+

Click 2: the inner factor dh_t/dh_k, the cost of travelling back from step t to +step k. Point at the underbrace.

+

Click 3: that factor is a product of t - k terms — that is the trouble. The +Jacobian is the whole story:

+

dh_t/dh_k = prod_{j=k+1..t} diag(tanh'(z_j)) W_hh^T

+

Write that on the board. It is a product of (t - k) copies of the same matrix, +each pre-multiplied by a diagonal of tanh derivatives, every one of which is at +most 1. The legend slide works it for one unit; "What vanishing feels like" puts +it on a long review.

+`,images:[],raw:``,frontmatter:W,filepath:``,start:1871,sourceIndex:28,id:28,no:29},__clicksContext:null,__preloaded:!1}),G=u({layout:`default`,title:`Reading the equation: backpropagation through time`}),At=d({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:`3ta3xt`,frontmatterRaw:`layout: default +title: "Reading the equation: backpropagation through time" +`,note:``,title:`Reading the equation: backpropagation through time`,index:29,noteHTML:`

This example is deliberately smaller than the review: one hidden unit, no tanh, +so the chain rule fits on one line. The review comes back on the next slide.

+

One hidden unit, no tanh, so h_t = W_hh h_{t-1} + x_t. Inputs 1, 0, 0 give +h_1 = 1, h_2 = 0.5, h_3 = 0.25. The loss is just L = h_3, so only the t = 3 term +of the outer sum is non-zero, and dL_3/dh_3 = 1.

+

The inner sum has one term per use of W_hh, k = 1, 2, 3. Each term is +(factor for travelling back from step 3 to step k) x (direct effect at step k): +k = 1: 0.5^2 x h_0 = 0.25 x 0 = 0 +k = 2: 0.5^1 x h_1 = 0.5 x 1 = 0.5 +k = 3: 0.5^0 x h_2 = 1 x 0.5 = 0.5 +Total 1.0. The check on the slide is the point: h_3 = W_hh^2 as a function of the +weight, its derivative is 2 W_hh = 1.0, and the sum over k is the chain rule +doing exactly that bookkeeping.

+

The red factors are 1, 0.5, 0.25: a power of W_hh. With 40 steps instead of 3 that +is 0.5^40, about 1e-12.

+

With a real tanh RNN, each factor also carries tanh'(z), which is at most 1, and +W_hh is a matrix, so the factor is a matrix product. Do not go further than that.

+`,images:[],raw:``,frontmatter:G,filepath:``,start:1957,sourceIndex:29,id:29,no:30},__clicksContext:null,__preloaded:!1}),K=u({layout:`default`,title:`What vanishing feels like`}),jt=d({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:`-1ij0p`,frontmatterRaw:`layout: default +title: What vanishing feels like +`,note:``,title:`What vanishing feels like`,index:30,noteHTML:`

The point: on a long review the word that decides the label is 20 steps before +the end, and the training signal that would teach the network to remember it +arrives at about 1% strength. Forward the state could carry it; backward the +learning signal cannot survive the trip.

+

On screen: a 21-word review. "not" is the first word, highlighted; "great" is +the last. The loss sits after "great", so the gradient has to travel 20 steps +back to reach "not".

+

Click: the bar chart under the words — the gradient reaching each word from the +loss. The bars are to scale: 0.8^k for k steps back, so "great" gets 1, five +words back 0.33, ten back 0.11, and "not" 0.012. Use the note metaphor: going +backwards, the loss passes a correction down the row. Every person copies it and +the copy is fainter. Twenty copies later, the person who read "not" gets 1% of +the message.

+

Click 2: the callout names the simplification: each step back multiplies by 0.8, +the sentiment unit's self-weight, and 0.8^20 = 0.012.

+

Click 3: the punchline. The layer could carry the flag forward; it never +receives the training signal that says it should.

+

Be honest — this is a simplification, and say so if asked:

+
    +
  • The real factor per step is a 2 x 2 matrix: diag(tanh'(z)) W_hh. tanh' is at +most 1, so the real factor is smaller, not larger. Computed for this exact +review with the toy weights, the sentiment-to-sentiment entry of dh_21/dh_1 is +about 2e-5 with tanh' included, against 0.8^20 = 0.012 without it.
  • +
  • There are cross-terms: the flag reaches the sentiment through the -1.5 wire. +The flag-to-sentiment entry is about 0.06 without tanh', and 0.002 with it. +So 0.012 is the optimistic number. The next two slides make the general case.
  • +
+

The toy network also forgets forwards: its flag halves at every word (self-weight +0.5), so on this review it says P(positive) = 0.91 — wrong. Training would have to +change W_hh to hold the flag. The point of the slide is that the gradient that +would ask for that change arrives at 1% strength or less.

+

The classic version of this (Olah's): "I grew up in France ... [forty words] ... +so I speak fluent French." The word that decides the answer is forty steps back. +A plain RNN is big enough to represent it; it never receives the signal to learn +it. Fix the backward path and the forward one takes care of itself.

+`,images:[],raw:``,frontmatter:K,filepath:``,start:2047,sourceIndex:30,id:30,no:31},__clicksContext:null,__preloaded:!1}),q=u({layout:`interactive`,heading:`One number, raised to a power`,title:`One number, raised to a power`,"aside-width":`19rem`}),Mt=d({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:`hm4s8g`,frontmatterRaw:`layout: interactive +heading: One number, raised to a power +title: One number, raised to a power +aside-width: 19rem +`,note:``,title:`One number, raised to a power`,index:31,noteHTML:`

The point: with one unit the backward factor is a single weight W raised to the +power of the distance, so the damage is exponential in distance — and only +W = 1 exactly is safe.

+

On screen: the GradientFlow widget. It opens on the review's number: W = 0.8, +twenty steps, and the readout says 0.8^20 = 0.012. The chart shows the gradient +strength against steps back on a log axis: a straight line whose slope is +log W, so the damage is exponential in the distance, not linear. The aside says +the same in words: k steps back, the gradient is multiplied by W^k.

+

Click: W < 1 means vanishing. Drag W down and watch the line tilt steeper. Ask +how far back a 0.9 weight reaches at 1% strength: about 43 steps. At 0.6, nine. +At 0.8, twenty — exactly the review.

+

Click 2: W > 1 means exploding. Drag above 1 and the line climbs instead. +Exploding happens, but it announces itself with a NaN (not a number); vanishing +is silent.

+

Click 3: W = 1 is stable, but nothing in training keeps the weight there.

+

Click 4: the callout — drag W slowly through 1 so the room sees the line swing +from falling to rising. There is no safe band, only a point.

+

Then say the part that makes it worse: the real factor is W times tanh'(z), and +tanh' is at most 1 and usually well under it. So the effective W is smaller than +the weight, and vanishing is the common case by a wide margin.

+

Tick gradient clipping with W above 1 and point out that the vanishing end of the +chart does not move at all: clipping fixes exploding, never vanishing.

+`,images:[],raw:``,frontmatter:q,filepath:``,start:2125,sourceIndex:31,id:31,no:32},__clicksContext:null,__preloaded:!1}),J=u({layout:`interactive`,heading:`And tanh is not helping`,title:`And tanh is not helping`,"aside-width":`19rem`}),Nt=d({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:`p5gb2r`,frontmatterRaw:`layout: interactive +heading: And tanh is not helping +title: And tanh is not helping +aside-width: 19rem +`,note:``,title:`And tanh is not helping`,index:32,noteHTML:`

The point: the real factor per step is W times tanh', and tanh' is at most 1 — +so the activation itself shrinks the gradient further, and a confident unit +passes almost nothing back.

+

On screen: the ActivationExplorer widget. Choose Tanh. The solid curve is tanh, +the dashed curve is its derivative. The vanishing-gradient story is usually told +about depth; this widget shows the same fact about length.

+

Click: the derivative peaks at 1, at input 0, and falls away on both sides. +Point at the top of the dashed curve.

+

Click 2: a saturated unit — one whose input is far from 0, so tanh sits near ++1 or -1 — has a derivative near zero. Move along the flat part of the curve.

+

Click 3: every backward step multiplies by one of these derivatives, once per +step, so the shrinking compounds.

+

Click 4: the callout. The real factor is W times tanh', with tanh' at most 1, so +the 0.012 on the long review was the optimistic case.

+

Tie it to the review: after "not" the flag unit sits at 0.964, where tanh' is +1 - 0.964^2 = 0.07. A unit that is sure of itself passes almost no gradient back. +What keeps the state stable is what kills the gradient.

+

The obvious question — why not ReLU, whose derivative is exactly 1 — has a good +answer: people do, and it works with careful initialisation (IRNN), but an +unbounded activation fed back into itself for 200 steps also explodes forwards, not +just backwards. tanh is the safe default and gating is the real fix.

+`,images:[],raw:``,frontmatter:J,filepath:``,start:2185,sourceIndex:32,id:32,no:33},__clicksContext:null,__preloaded:!1}),Y=u({layout:`default`,title:`Three ways out, honestly ranked`}),Pt=d({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:`-vu8f0s`,frontmatterRaw:`layout: default +title: Three ways out, honestly ranked +`,note:``,title:`Three ways out, honestly ranked`,index:33,noteHTML:`

The point: there are three standard responses to the gradient problem, and they +are not equals. Being explicit about the ranking matters: a list of three fixes +side by side invites a student to pick one.

+

On screen: three columns, each revealed on its own click, each with a small +picture. Nothing is visible but the heading at first.

+

Click: gradient clipping. The picture is a tall red arrow cut off at a dashed +ceiling; the accent part below the line is what survives. Cap the gradient's +length. It fixes exploding only — a gradient that is already tiny is never above +the cap. Clipping is not a hack: it is standard in essentially every recurrent +training script.

+

Click 2: truncated BPTT (backpropagation through time, from the "Backpropagation +through time" slide). The picture is a chain of four cells with a red cut after +the second. Backpropagate k steps, then cut; nothing beyond k steps is learned. +Truncation is a memory and compute decision first and a gradient decision second. +It is the last slide of this section.

+

Click 3: gated cells, with the gate emblem. Make the gradient's path add instead +of multiply. This is the real fix and the next section. Gating is the only one of +the three that touches the 0.012: section 03 turns it into 0.82.

+

Click 4: the callout gives the practical rule. Use clipping and a gated cell +together; truncate only when a sequence is too long for memory.

+`,images:[],raw:``,frontmatter:Y,filepath:``,start:2244,sourceIndex:33,id:33,no:34},__clicksContext:null,__preloaded:!1}),Ft=u({layout:`default`,title:`Gradient clipping, in one line`}),It=d({get layout(){return Ft.layout},get transition(){return Ft.transition},get class(){return Ft.class},get clicks(){return Ft.clicks},get name(){return Ft.name},get preload(){return Ft.preload},slide:{content:``,revision:`waxy1x`,frontmatterRaw:`layout: default +title: Gradient clipping, in one line +`,note:``,title:`Gradient clipping, in one line`,index:34,noteHTML:`

The point: clipping is one line of code, and the only way to get it wrong is to +put it in the wrong place — between backward() and step(), nowhere else.

+

On screen: a training step on the left, and on the right a picture of what +clipping does. The picture: a gradient of length 900 (red) with cap c = 1 +becomes length 1 (accent), pointing exactly where it did. The dashed circle is +every vector of length 1.

+

Click: lines 1-3 — the forward pass, the loss, and zero_grad(). Nothing new.

+

Click 2: line 5, loss.backward(). Only now do the gradients exist.

+

Click 3: line 6, clip_grad_norm_ with max_norm=1.0. It rescales all the +gradients together so their combined length is at most 1.

+

Click 4: line 7, optimiser.step() — it uses the gradients, which are now bounded.

+

Click 5: the whole block again. Read the order top to bottom once more.

+

Click 6: the callout. It goes between backward() and step(): before, there is +nothing to clip; after, it is too late. The placement is the bug students +actually write. Say it twice.

+

Click 7: the rule as a formula. Read it: "if the length of g is bigger than c, +replace g by c times g divided by its length". Symbols: g is the gradient of all +parameters, stacked into one long vector; ||g|| is its length; c is the cap, +max_norm in the code. Dividing by the length makes a vector of length 1, and +multiplying by c makes it length c — same direction, capped length. With the +picture's numbers: 1 x g / 900 has length 1.

+

Norm clipping, not value clipping: clip_grad_value_ exists and clamps each +component independently, which changes the direction of the update. Almost nobody +wants that.

+

max_norm between 0.25 and 5 is the usual range, and 1.0 is a fine default. If +clipping fires on every batch, the learning rate is too high — clipping is a +safety device for rare spikes, not a way to train.

+`,images:[],raw:``,frontmatter:Ft,filepath:``,start:2343,sourceIndex:34,id:34,no:35},__clicksContext:null,__preloaded:!1}),Lt=u({layout:`default`,title:`Truncated backpropagation through time`}),Rt=d({get layout(){return Lt.layout},get transition(){return Lt.transition},get class(){return Lt.class},get clicks(){return Lt.clicks},get name(){return Lt.name},get preload(){return Lt.preload},slide:{content:``,revision:`lbbvzc`,frontmatterRaw:`layout: default +title: Truncated backpropagation through time +`,note:``,title:`Truncated backpropagation through time`,index:35,noteHTML:`

The point: a very long sequence cannot be backpropagated in one go, so it is cut +into chunks. Truncated BPTT truncates learning, not memory: the state still +crosses every chunk boundary, only the gradient stops.

+

On screen: the problem in one line — a 100 000-character book is one sequence, +and 100 000 steps of activations do not fit in memory. Left, the loop over +chunks of 128 steps. Right, the picture: the accent line is the state, flowing +forward through every chunk. The red arrows are the gradient, flowing back only +inside each chunk of 128 steps. The dashed cuts are the detach() calls.

+

Click: line 3 — skip the cut on the very first chunk, when there is no state yet.

+

Click 2: lines 4-5 — detach the state: keep the values, cut the graph. detach() +returns a tensor sharing the same storage with no graph history. The tuple is +there because an LSTM's state is a pair, (h, c) — next section.

+

Click 3: line 6 — run the model on the chunk, starting from the carried-over +state, and get the new state back.

+

Click 4: the whole loop again; the loss, backward and step happen once per chunk.

+

Click 5: the state still flows forward across chunks, so the model's context is +not cut. This is the thing to get right. In the note metaphor: the note keeps +being passed along the whole row, but a correction only travels back as far as +the start of the current chunk.

+

Click 6: only the gradient stops at the boundary — that is what detach() does. +Point at the dashed lines.

+

Click 7: forget the detach and the graph grows across every chunk until the run +runs out of memory. This is also the answer to "why is my loop using more memory +every iteration" for anyone who ever accumulates losses in a list.

+

k = 128 or 256 is typical for character models. It is a memory decision.

+`,images:[],raw:``,frontmatter:Lt,filepath:``,start:2439,sourceIndex:35,id:35,no:36},__clicksContext:null,__preloaded:!1}),zt=u({layout:`section`,index:`03`}),Bt=d({get layout(){return zt.layout},get transition(){return zt.transition},get class(){return zt.class},get clicks(){return zt.clicks},get name(){return zt.name},get preload(){return zt.preload},slide:{content:``,revision:`bv7knv`,frontmatterRaw:`layout: section +index: "03" +`,note:``,title:`Gated cells`,level:1,index:36,noteHTML:`

Section 03 is the third part of the lecture proper, with section 01 and 02. Do +not compress it: it holds the payoff slide, "The highway, against the chain".

+

The glyph is a valve on a line. It comes back on the overview and the recap. +Say the metaphor out loud once more: the state is a note passed along a row of +people; in section 02 it got fainter with every copy. This section puts the +important part of the note in a sealed envelope that only the gates open.

+`,images:[],raw:``,frontmatter:zt,filepath:``,start:2537,sourceIndex:36,id:36,no:37},__clicksContext:null,__preloaded:!1}),Vt=u({layout:`default`,title:`Stop multiplying, start adding`}),Ht=d({get layout(){return Vt.layout},get transition(){return Vt.transition},get class(){return Vt.class},get clicks(){return Vt.clicks},get name(){return Vt.name},get preload(){return Vt.preload},slide:{content:``,revision:`1ebgku`,frontmatterRaw:`layout: default +title: Stop multiplying, start adding +`,note:``,title:`Stop multiplying, start adding`,index:37,noteHTML:`

Derive the architecture rather than presenting it. Students who meet the LSTM as +six equations memorise six equations; students who watch "additive path, then gate +it" can rebuild them.

+

Top row: the plain RNN. h_t = tanh(W_hh h_{t-1} + ...), so going back k words +multiplies the gradient by W_hh (and by tanh') k times. With the sentiment unit's +self-weight 0.8, that is section 02's 0.8^20 = 0.012. The boxes fade: the note +gets fainter with every copy.

+

Click: the bottom row. If instead the state were carried and only added to, +c_t = c_{t-1} + something, then dc_t / dc_{t-1} = 1 and the gradient walks back +twenty words unchanged. The envelope is the same envelope at every step.

+

Click: the callout. A pure sum never forgets anything, so it fills up. The fix is +a valve, learned, on each path: that is the next slide.

+

If the room has met a residual (skip) connection, it is the same additive trick. +Say so in one sentence; do not lean on it.

+`,images:[],raw:``,frontmatter:Vt,filepath:``,start:2558,sourceIndex:37,id:37,no:38},__clicksContext:null,__preloaded:!1}),Ut=u({layout:`interactive`,heading:`The LSTM memory block`,title:`The LSTM memory block`,"aside-width":`21rem`}),Wt=d({get layout(){return Ut.layout},get transition(){return Ut.transition},get class(){return Ut.class},get clicks(){return Ut.clicks},get name(){return Ut.name},get preload(){return Ut.preload},slide:{content:``,revision:`w597ul`,frontmatterRaw:`layout: interactive +heading: The LSTM memory block +title: The LSTM memory block +aside-width: 21rem +`,note:``,title:`The LSTM memory block`,index:38,noteHTML:`

Walk all six, reading each equation as it lights up. Then drive the two extremes +from the aside. They take ten seconds each and they are what the room remembers.

+

Say clearly that the sliders set the gate values. In a real cell each gate is +its own sigma(Wx + Wh + b): a small dense layer with a sigmoid. There +are three gates (forget, input, output) plus the candidate, which is the same +kind of layer with tanh. Four weight sets: that is the "4x" in the parameter +count.

+

The gate is per unit, not per layer. With 128 units there are 128 independent +forget decisions every step, and in a trained model they genuinely differ: some +units hold values for hundreds of steps, most for two or three.

+

Running example, in words only: on the unit that holds the not-flag, a trained +cell can keep the forget gate near 1 from "not" until "great". The flag then +arrives intact. We have not set LSTM weights for the review, so give no numbers +for it.

+`,images:[],raw:``,frontmatter:Ut,filepath:``,start:2631,sourceIndex:38,id:38,no:39},__clicksContext:null,__preloaded:!1}),Gt=u({layout:`default`,title:`The six equations`}),Kt=d({get layout(){return Gt.layout},get transition(){return Gt.transition},get class(){return Gt.class},get clicks(){return Gt.clicks},get name(){return Gt.name},get preload(){return Gt.preload},slide:{content:``,revision:`o52ly`,frontmatterRaw:`layout: default +title: The six equations +`,note:``,title:`The six equations`,index:39,noteHTML:`

The point: the LSTM looks like six equations, but four of them are the same +layer with different weights. Only the last two — the updates of c and h — are +new ideas.

+

On screen: at first only the heading, the line "three gates and a candidate, +then two lines that update the states", and the picture underneath. The picture +is the same point drawn: one input (x, h), four boxes of the same shape — three +sigmoids giving the gates f, i and o, one tanh giving the candidate c~ — then +all four feed the update of c and h.

+

Reveal the equations in order and say what changes each time: the first four +are identical in form and differ only in their weights and their activation.

+

Click: the forget gate. Read it: "f at step t is the sigmoid of W_xf times x_t, +plus W_hf times the previous h, plus a bias." Point at the first sigma box.

+

Click 2: the input gate i_t — the same shape, its own weights.

+

Click 3: the candidate c~_t — the same shape again, but with tanh. Sigmoid for a +gate because a gate is a fraction in (0, 1); tanh for the candidate because +content should be signed.

+

Click 4: the output gate o_t, top of the right column — the fourth copy.

+

Click 5: the cell update. "c_t is f_t times the old c, plus i_t times the +candidate." Keep a fraction of the old memory, add a fraction of the new +content. The odot is elementwise, not a matrix product: every gate decision is +per unit.

+

Click 6: the output. "h_t is o_t times tanh of c_t" — squash the memory, then +let the output gate decide how much of it to show.

+

Click 7: the callout. Four of the six are the same layer, sigma or tanh of +Wx + Wh + b, each with its own weights. That is why the parameter count is +exactly 4x the plain RNN's, and why nn.LSTM stores one weight_ih of shape +(4H, input) rather than four matrices.

+

Every symbol is named on the next slide, "Reading the equation: the LSTM cell".

+`,images:[],raw:``,frontmatter:Gt,filepath:``,start:2680,sourceIndex:39,id:39,no:40},__clicksContext:null,__preloaded:!1}),qt=u({layout:`default`,title:`Reading the equation: the LSTM cell`}),Jt=d({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:`f3dowj`,frontmatterRaw:`layout: default +title: "Reading the equation: the LSTM cell" +`,note:``,title:`Reading the equation: the LSTM cell`,index:40,noteHTML:`

Eight rows, because the six equations share most of their symbols. Group them as +you read: three gates, one candidate, two states, one input, one set of weights per +gate, two squashing functions, one new operator.

+

The subscript dot in W_x., W_h., b. stands for the gate's letter: W_xf, W_xi, +W_xc, W_xo and so on. Four input matrices, four recurrent matrices, four biases +(three gates plus the candidate), which is why the parameter count is 4x the plain +RNN's.

+

The worked example shows where the next slide's numbers come from. The next +slide starts from f = 0.9, i = 0.4, c~ = 0.8, o = 0.7 (the GatedCell widget's +defaults); this one shows that each is just sigma or tanh of a weighted sum. Do +the forget gate in full and only quote the other three pre-activations. Checked: +sigma(2.2) = 0.900, sigma(-0.4) = 0.401, tanh(1.1) = 0.800, sigma(0.85) = 0.701.

+

The odot row is the one students get wrong: it multiplies matching entries, unit +by unit. c_t = f_t odot c_{t-1} means "each unit keeps its own fraction of its own +memory".

+

Two letters clash with earlier slides: o_t here is the output GATE, not an output +of the plain RNN, and W_ho here is the gate's recurrent weight, not the output +layer. The literature uses the same letters for both; say it once.

+`,images:[],raw:``,frontmatter:qt,filepath:``,start:2800,sourceIndex:40,id:40,no:41},__clicksContext:null,__preloaded:!1}),Yt=u({layout:`default`,title:`One LSTM step, by hand`}),Xt=d({get layout(){return Yt.layout},get transition(){return Yt.transition},get class(){return Yt.class},get clicks(){return Yt.clicks},get name(){return Yt.name},get preload(){return Yt.preload},slide:{content:``,revision:`vx1z5e`,frontmatterRaw:`layout: default +title: One LSTM step, by hand +`,note:``,title:`One LSTM step, by hand`,index:41,noteHTML:`

Have them do it on paper while you click, then check against the GatedCell widget +("The LSTM memory block"): the numbers are the widget's defaults, so it works.

+

The four clicks, in order: +kept f x c_{t-1} = 0.9 x 0.6 = 0.54 +written i x c~ = 0.4 x 0.8 = 0.32 +cell c_t = 0.54 + 0.32 = 0.86 +shown h_t = o x tanh(c_t) = 0.7 x tanh(0.86) = 0.7 x 0.696 = 0.49 +(checked in Python: 0.4874.)

+

The distinction between what the cell holds and what it shows is the job of +the output gate, and it is the part of the LSTM that students most often cannot +explain. This slide is where it gets explained.

+

Running example, in words: if this unit held the not-flag, the "kept" line is +what carries it from word to word. With f near 1, almost all of it survives each +word. The output gate can keep it hidden until "great" arrives. Do not put numbers +on that: we have not set LSTM weights for the review.

+`,images:[],raw:``,frontmatter:Yt,filepath:``,start:2883,sourceIndex:41,id:41,no:42},__clicksContext:null,__preloaded:!1}),Zt=u({layout:`interactive`,heading:`The highway, against the chain`,title:`The highway, against the chain`,"aside-width":`20rem`}),Qt=d({get layout(){return Zt.layout},get transition(){return Zt.transition},get class(){return Zt.class},get clicks(){return Zt.clicks},get name(){return Zt.name},get preload(){return Zt.preload},slide:{content:``,revision:`-e5ewy3`,frontmatterRaw:`layout: interactive +heading: The highway, against the chain +title: The highway, against the chain +aside-width: 20rem +`,note:``,title:`The highway, against the chain`,index:42,noteHTML:`

THE PAYOFF. This is the slide the whole deck is built for: slow down.

+

Say out loud: it is not magic. A learned forget gate, held near 1, replaces the +fixed weight 0.8.

+

Ask the question first and let it sit. Then click: 0.012, the number from section +02 ("What vanishing feels like"), drawn as a bar on a 0-to-1 scale. It is a +sliver. Click: 0.82 on the same scale. Leave both on screen and say the two +numbers out loud, side by side.

+

Checked in Python: 0.8^20 = 0.0115 (the widget's readout says 0.0115; the slide +rounds to 0.012), 0.99^20 = 0.818. The bars are to scale: 190 px = 1.

+

The chart: red is the plain recurrence, multiplied by W = 0.8 per word back; teal +is the cell state, multiplied by f = 0.99. Then push f to 1.000 on the slider: +the factor is exactly 1 at any distance.

+

The secondary line is the honest version and it matters: LSTMs do not abolish +vanishing gradients. They make the decay rate a learned, per-unit, per-step +quantity. An LSTM whose forget gates all learn 0.5 vanishes as fast as anything +else.

+

This is also why forget-gate biases are often initialised to 1 or 2: it starts +the gate open, so the highway is clear before training has learned anything. +Worth saying for anyone who reads implementations.

+`,images:[],raw:``,frontmatter:Zt,filepath:``,start:2964,sourceIndex:42,id:42,no:43},__clicksContext:null,__preloaded:!1}),$t=u({layout:`default`,title:`Where the LSTM came from`}),en=d({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:`-8n4yp9`,frontmatterRaw:`layout: default +title: Where the LSTM came from +`,note:``,title:`Where the LSTM came from`,index:43,noteHTML:`

Short and cited. The history is +worth one minute for one reason: the forget gate was not in the original design, +which is a useful antidote to reading an architecture as if every part were +inevitable.

+

1991: Hochreiter's diploma thesis already described the vanishing gradient. +1997: Hochreiter and Schmidhuber built the LSTM to fix it. At its centre is the +"constant error carousel", the 1997 paper's own name for the additive cell state. +It is a better name than "highway". +2000: Gers, Schmidhuber and Cummins added the forget gate. Without it the state +saturated on long streams: it filled up and stopped changing. Today it is the +most important gate of the three. +2014: the GRU, two slides on.

+

What came after the LSTM starts at the end of this lecture (attention, in its +2014 recurrent form) and continues in a later lecture; do not open it here.

+`,images:[],raw:``,frontmatter:$t,filepath:``,start:3027,sourceIndex:43,id:43,no:44},__clicksContext:null,__preloaded:!1}),tn=u({layout:`interactive`,heading:`The GRU — same idea, fewer parts`,title:`The GRU — same idea, fewer parts`,"aside-width":`20rem`}),nn=d({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:`nbx2cf`,frontmatterRaw:`layout: interactive +heading: The GRU — same idea, fewer parts +title: The GRU — same idea, fewer parts +aside-width: 20rem +`,note:``,title:`The GRU — same idea, fewer parts`,index:44,noteHTML:`

The point: the GRU is the same gating idea with fewer parts — one state instead +of two, two gates instead of three — and it works about as well.

+

On screen: the GatedCell widget in its GRU variant: a slider for each gate, bars +for the old state, the candidate and the new state. The aside: the GRU (gated +recurrent unit) has one state and two gates.

+

Click: the update gate z does the forget and input jobs at once. One number +decides both how much to keep and how much to write.

+

Click 2: the reset gate r sets how much of the past the candidate may read. Drive +the reset gate to 0 now: the candidate bar jumps, because it has stopped reading +the state.

+

Click 3: the blend. Read it: "h_t is (1 - z) times the old h, plus z times the +candidate." The two shares sum to 1. Now drive z to 0 and 1 in turn: at 0 the +state is frozen, at 1 it is totally overwritten.

+

The structural consequence worth naming: an LSTM can forget without writing +(f = 0, i = 0) and a GRU cannot, because its kept and written shares are tied. +In practice this costs almost nothing, and the GRU has a quarter fewer weights +(three weight sets instead of four).

+

Cho et al., 2014. The way the blend is written here (z = how much to update) +follows Chung et al., 2014; the next slide shows why that matters.

+`,images:[],raw:``,frontmatter:tn,filepath:``,start:3082,sourceIndex:44,id:44,no:45},__clicksContext:null,__preloaded:!1}),rn=u({layout:`default`,title:`Which one, and the sign that will catch you`}),an=d({get layout(){return rn.layout},get transition(){return rn.transition},get class(){return rn.class},get clicks(){return rn.clicks},get name(){return rn.name},get preload(){return rn.preload},slide:{content:``,revision:`d41ge4`,frontmatterRaw:`layout: default +title: Which one, and the sign that will catch you +`,note:``,title:`Which one, and the sign that will catch you`,index:45,noteHTML:`

The bars are the parameter count to scale: one weight set for the plain RNN +(64x128 + 128x128 + 2x128 = 24 832, with PyTorch's two bias vectors), three for +the GRU (74 496), four for the LSTM (99 328). Checked in Python.

+

The callout: benchmarks have argued about LSTM versus GRU since 2014 and the +answer is "it depends, by about a point". If pressed: GRU trains faster and is +usually equal on small data; LSTM has a small edge on very long dependencies and +on language modelling. Neither difference is worth an afternoon.

+

The sign trap is the thing they will actually hit, and only if they check an +implementation against a paper, which is what a good student does. These slides +(and the GatedCell widget) write h_t = (1 - z) h_{t-1} + z h~, as Chung et al. +(2014) and many textbooks do. Cho et al. (2014), the GRU paper itself, write +h_t = z h_{t-1} + (1 - z) h~, and PyTorch's nn.GRU follows Cho: +h_t = (1 - z) * n_t + z * h_{t-1}. Same model; the gate means the opposite.

+

(An earlier version of this deck had this backwards, saying Cho used the update +convention. Fixed in the 2026-10-04 rework.)

+`,images:[],raw:``,frontmatter:rn,filepath:``,start:3132,sourceIndex:45,id:45,no:46},__clicksContext:null,__preloaded:!1}),on=u({layout:`default`}),sn=d({get layout(){return on.layout},get transition(){return on.transition},get class(){return on.class},get clicks(){return on.clicks},get name(){return on.name},get preload(){return on.preload},slide:{content:``,revision:`-pg6srq`,frontmatterRaw:`layout: default +`,note:``,index:46,noteHTML:`

Hands up for each. Option 4 is the popular wrong answer: tanh is applied on the +way out to h, never to c itself. That confusion is worth naming out loud.

+

Option 3 is the 1997 cell's real problem, but it came from input that kept +being added. With input = 0 nothing is added, so nothing fills up.

+

This is the sealed envelope with both gates shut: nothing gets in, nothing leaks +out. That is the whole reason the architecture exists.

+`,images:[],raw:``,frontmatter:on,filepath:``,start:3185,sourceIndex:46,id:46,no:47},__clicksContext:null,__preloaded:!1}),cn=u({layout:`section`,index:`04`}),ln=d({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:`8te5ms`,frontmatterRaw:`layout: section +index: "04" +`,note:``,title:`Words into vectors`,level:1,index:47,noteHTML:`

Section 04 is compressible. If you are behind, show "An embedding is a lookup +table" only: our toy table was hand-set, a real one is learned, 64 numbers per +word. The lab covers the code.

+

The glyph: words as points on a plane. Similar words sit close together. It comes +back on the overview and the recap.

+`,images:[],raw:``,frontmatter:cn,filepath:``,start:3244,sourceIndex:47,id:47,no:48},__clicksContext:null,__preloaded:!1}),un=u({layout:`default`,title:`A word is not a number`}),dn=d({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:`-302zw8`,frontmatterRaw:`layout: default +title: A word is not a number +`,note:``,title:`A word is not a number`,index:48,noteHTML:`

Left: index it. great -> 4 217. One number per word, and arithmetic on it is +nonsense. It says 4 217 is "more" than 2 103, and it puts great between whatever +words happen to be numbered 4 216 and 4 218. This is what a student's first +tokeniser produces, and it is the tensor they then feed straight into a Linear +layer by mistake.

+

Click: one-hot it, the usual answer. A 20 000-long vector, 19 999 zeros and one

+
    +
  1. Honest: no false order. But every pair of words is exactly sqrt(2) apart, so +great and brilliant are as different as great and aardvark. One-hot throws away +every relationship between words before the model sees anything. It is also what +made the dense layer cost a billion weights on "Try it with the network we +already have" in section 00.
  2. +
+

The callout sets up the next slide: our toy review already used two hand-set +numbers per word. The question is where real ones come from.

+`,images:[],raw:``,frontmatter:un,filepath:``,start:3264,sourceIndex:48,id:48,no:49},__clicksContext:null,__preloaded:!1}),fn=u({layout:`interactive`,heading:`An embedding is a lookup table`,title:`An embedding is a lookup table`,"aside-width":`19rem`}),pn=d({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:`-rvb0ek`,frontmatterRaw:`layout: interactive +heading: An embedding is a lookup table +title: An embedding is a lookup table +aside-width: 19rem +`,note:``,title:`An embedding is a lookup table`,index:49,noteHTML:`

Start with the toy table in the aside: it is the one from the start of the lecture, two numbers +per word, "positive word" and "negation word", written by hand so every number +could be checked. Say plainly: that was for teaching. In a real model those rows +are weights, learned like any other, and there are 64 numbers per word, not 2.

+

Then the widget, and say it out loud: it is a different, bigger table, nine words +and four numbers each, chosen to look like a learned one. It does not contain our +"not" row.

+

Click a few words and let them watch the highlighted row move. The claim to make +unmissable: one-hot times a matrix IS row selection, so the "lookup table" and +the "linear layer" descriptions are the same object. E is V x d: V rows (the +vocabulary size), d columns (the embedding width), with d much smaller than V.

+

Which also answers "how does it learn?": the same way every other weight matrix +does. The gradient reaching E is non-zero only in the rows for words that were in +the batch, which is why embedding gradients are sparse.

+`,images:[],raw:``,frontmatter:fn,filepath:``,start:3323,sourceIndex:49,id:49,no:50},__clicksContext:null,__preloaded:!1}),mn=u({layout:`interactive`,heading:`What it learns is a geometry`,title:`What it learns is a geometry`,"aside-width":`21rem`}),hn=d({get layout(){return mn.layout},get transition(){return mn.transition},get class(){return mn.class},get clicks(){return mn.clicks},get name(){return mn.name},get preload(){return mn.preload},slide:{content:``,revision:`ohcl7u`,frontmatterRaw:`layout: interactive +heading: What it learns is a geometry +title: What it learns is a geometry +aside-width: 21rem +`,note:``,title:`What it learns is a geometry`,index:50,noteHTML:`

The point: an embedding table is not a list of arbitrary codes; after training, +words that are used alike sit near each other, and that geometry is what the +model has learned.

+

On screen: the EmbeddingLab widget in "space" mode — each word is a dot in two +dimensions. The aside opens with the key fact: in a trained model these +coordinates are weights, moved by gradient descent like any other.

+

Click: great and brilliant end up together. Point at the pair in the widget.

+

Click 2: awful and terrible too, at the far end of the same axis.

+

Click 3: the and a sit near zero on both axes — they carry neither sentiment nor +meaning about films.

+

Click 4: the honest caveat in the secondary line, and it matters. The widget's +axes, "sentiment" and "is a film noun", are hand-written to look like a trained +table; they are not the toy review's axes ("positive word", "negation word"), and +this is not the same table. A real table has 64 unnamed axes. Do not let anyone +leave thinking dimension 1 is "sentiment" in a real model.

+

The useful consequence: a word the model saw twice can inherit from a word it saw +a thousand times, because they sit near each other. That is what "extraction of +salient features" means when textbooks list it as a benefit.

+

For the running example: in a trained table, "not" would end up somewhere of its +own, away from the sentiment words, because what it does is flip them, not carry +a sentiment of its own. Say that as an expectation, not a measured fact.

+`,images:[],raw:``,frontmatter:mn,filepath:``,start:3379,sourceIndex:50,id:50,no:51},__clicksContext:null,__preloaded:!1}),gn=u({layout:`default`,title:`Embeddings in code, and where they come from`}),_n=d({get layout(){return gn.layout},get transition(){return gn.transition},get class(){return gn.class},get clicks(){return gn.clicks},get name(){return gn.name},get preload(){return gn.preload},slide:{content:``,revision:`nf4v06`,frontmatterRaw:`layout: default +title: Embeddings in code, and where they come from +`,note:``,title:`Embeddings in code, and where they come from`,index:51,noteHTML:`

The point: an embedding layer is a lookup table — integer ids in, one learned +row of 64 numbers per id out — and it is usually most of the model's weights.

+

On screen: the shape picture across the top. Token ids of shape (2, 5) go into +the table of 20 000 x 64 and come out as vectors of shape (2, 5, 64). Below, the +code that does it, with the two reviews as a batch.

+

Click: lines 1-2 — the table: 20 000 words, 64 numbers each. padding_idx is the +practical line. Row 0 is pinned at zero and gets no gradient. Without it the pad +row drifts during training and quietly contributes to every short sequence in +the batch.

+

Click 2: lines 4-5 — the two reviews as ids. Review B is the first row; review +A is one word shorter, so it is padded with id 0 to length 5. The ids are made up +(a real tokeniser assigns them); 4217 is "great", the same number as on "A word +is not a number".

+

Click 3: line 6 — the lookup. (B, T) in, (B, T, d) out: batch 2, time 5, width 64.

+

Click 4: line 7 — the table itself is a weight matrix of shape (20000, 64).

+

Click 5: the whole block again.

+

Click 6: integer ids in, shape (batch, time) — no one-hot vectors anywhere.

+

Click 7: padding_idx=0 keeps row 0 at zero, as on line 2.

+

Click 8: 1.28 M learned numbers, starting random. 20 000 x 64 = 1 280 000. Put an +LSTM(64, 128) and the Linear(128, 2) head on top and the embedding is 92.8% of +all the weights (1 280 000 of 1 379 586, the same classifier as section 05).

+

Click 9: the callout — or start from a table pre-trained on billions of words. +Pre-trained tables (word2vec 2013, GloVe 2014, fastText 2016) were the transfer +learning of language models from 2013 to 2018, the same idea as starting a +network from pre-trained weights. The words came pre-trained but the model +reading them did not.

+`,images:[],raw:``,frontmatter:gn,filepath:``,start:3438,sourceIndex:51,id:51,no:52},__clicksContext:null,__preloaded:!1}),vn=u({layout:`section`,index:`05`}),yn=d({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:`rylktj`,frontmatterRaw:`layout: section +index: "05" +`,note:``,title:`An RNN in PyTorch`,level:1,index:52,noteHTML:`

Section 06 is compressible: the lab covers all of it. If you are behind, show +"Shapes, end to end" and "Four bugs, and what each one looks like", and send the +rest to the lab.

+

The glyph is a stack of slabs with three sizes marked, B, T and F: one padded +batch of reviews. It is the picture behind every slide in this section.

+`,images:[],raw:``,frontmatter:vn,filepath:``,start:3533,sourceIndex:52,id:52,no:53},__clicksContext:null,__preloaded:!1}),bn=u({layout:`default`,title:`The shape that causes the most bugs`}),xn=d({get layout(){return bn.layout},get transition(){return bn.transition},get class(){return bn.class},get clicks(){return bn.clicks},get name(){return bn.name},get preload(){return bn.preload},slide:{content:``,revision:`-26tb9h`,frontmatterRaw:`layout: default +title: The shape that causes the most bugs +`,note:``,title:`The shape that causes the most bugs`,index:53,noteHTML:`

This is the single most expensive line in the lecture. Say it, write it on the +board, and say it again when the code slide comes up.

+

Ask the question first, then click to the red row. The failure mode: a +(B, T, F) tensor fed to a batch_first=False layer is read as T = 32 steps of a +batch of 200 "reviews", each "review" being one word position across the batch. +The loss goes down — it is still learning something — and the accuracy is +nonsense.

+

Why the default is time-first at all: it is convenient for cuDNN, the NVIDIA GPU +library that runs the LSTM loop. Batch-first matches every other PyTorch layer, +and nn.Embedding's output.

+

The h_n exception catches people who then try to be consistent about it.

+`,images:[],raw:``,frontmatter:bn,filepath:``,start:3553,sourceIndex:53,id:53,no:54},__clicksContext:null,__preloaded:!1}),Sn=u({layout:`default`,title:`nn.LSTM returns two things, and you want one of them`}),Cn=d({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:`cdjd7f`,frontmatterRaw:`layout: default +title: nn.LSTM returns two things, and you want one of them +`,note:``,title:`nn.LSTM returns two things, and you want one of them`,index:54,noteHTML:`

The point: nn.LSTM hands back two things, and which one you keep depends on the +task shape. Classifying a review needs one vector per review; tagging every word +needs one vector per word.

+

On screen: the code on the left, and on the right the same code as a picture — +five LSTM steps over review B, each with an output vector on top. output is all +five of them; h_n is the last one, drawn in the accent colour.

+

Click: the first two lines light up. One LSTM layer, 64 numbers in per word (the +embedding size), 128 numbers of state. batch_first=True means the batch is the +first axis, which is how our data loader hands it over.

+

Click 2: lines 4–5. A fake batch: 32 reviews, 200 steps, 64 numbers per step, so +(B, T, embed). The call returns output and a tuple (h_n, c_n).

+

Click 3: line 7. output is (32, 200, 128): the state at every one of the 200 +steps, for every review. That is the row of five vectors in the picture.

+

Click 4: line 8. h_n is (1, 32, 128): only the last step. The leading 1 is the +number of layers (times directions); with num_layers=2 it would be 2.

+

Click 5: the whole block again. Ask the room which of the two they would hand to +a classifier head before the bullets answer it.

+

Click 6: classify a review — take h_n[-1], shape (32, 128). The [-1] picks the +last layer, so it stays correct if you stack layers later.

+

Click 7: a label per word — take output, (32, 200, 128), and put a head on every +step.

+

Click 8: the two agree: output[:, -1] equals h_n[-1], as long as nothing is +padded. Have them check it as an assertion in the lab: +torch.allclose(output[:, -1, :], h_n[-1]). It is true, and the "when nothing is +padded" caveat is the whole subject of the next two slides.

+

Click 9: the callout. Pick by the task shape. This points back to "Which shapes +does a sequence problem come in?": classifying a review is many to one, a tag +per word is many to many. Pick the wrong one and the shapes can still line up +after a reshape, so nothing crashes — the model just learns the wrong thing.

+

c_n is the cell state and you almost never touch it — except to pass it back in +when continuing a sequence, as in truncated backpropagation through time.

+

nn.RNN and nn.GRU return (output, h_n): one tensor, not a tuple. Only the LSTM +hands back two states, because only the LSTM has two.

+`,images:[],raw:``,frontmatter:Sn,filepath:``,start:3617,sourceIndex:54,id:54,no:55},__clicksContext:null,__preloaded:!1}),wn=u({layout:`default`,title:`Sequences in a batch are not the same length`}),Tn=d({get layout(){return wn.layout},get transition(){return wn.transition},get class(){return wn.class},get clicks(){return wn.clicks},get name(){return wn.name},get preload(){return wn.preload},slide:{content:``,revision:`nkpnnl`,frontmatterRaw:`layout: default +title: Sequences in a batch are not the same length +`,note:``,title:`Sequences in a batch are not the same length`,index:55,noteHTML:`

The point: a batch is one rectangle, but reviews have different lengths. The +gaps get filled with a pad token, and unless the model is told the real lengths, +it reads the padding as if it were words.

+

On screen: four reviews as rows of word tiles, padded out to 8 slots. Faint +tiles are padding. The third row is the long one: our review B with three more +words ("but well acted"). Lengths are 5, 3, 8 and 2. In the tensor each tile is +an integer id; the pad id is 0 by convention, and nn.Embedding(padding_idx=0) +keeps its vector at zero.

+

Click: count it. 18 real tokens out of 32 slots, 14 pads — nearly half the batch +is nothing.

+

Click 2: draw attention to the last row, "utterly awful". The LSTM runs all 8 +steps on it: two real words, then six steps reading padding.

+

Click 3: so h_n is the state after six updates on a token that means nothing. +Nothing crashes; the model just gets a worse feature vector for every short +review in every batch. That is why the batch has to carry its lengths: a length +tensor is part of the batch, and the collate function has to build it.

+

This is the single most common reason a student's RNN scores worse than their +bag-of-words baseline.

+

If asked how to waste less: sorting a batch by length reduces the padding a lot. +Bucketing by length reduces it further.

+`,images:[],raw:``,frontmatter:wn,filepath:``,start:3727,sourceIndex:55,id:55,no:56},__clicksContext:null,__preloaded:!1}),En=u({layout:`default`,title:`Packing — tell the layer where to stop`}),Dn=d({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:`-hlla1l`,frontmatterRaw:`layout: default +title: Packing — tell the layer where to stop +`,note:``,title:`Packing — tell the layer where to stop`,index:56,noteHTML:`

The point: packing tells the LSTM where each review really ends, so it stops +each row at its own length. Without it, h_n is the wrong vector for every padded +row.

+

On screen: the code on the left. On the right, the same four reviews sorted by +length, 8, 5, 3, 2 words, with one column per time step (numbered along the +top). The accent cell in each row is the last real token — where h_n is now +read; the red cells after it are padding.

+

The bottom row is the part people ask about. Read it column by column: under +each step, count the rows that still have a real (not red) token in that +column. +Steps 1 and 2: all four reviews have a word, so 4 and 4. +Step 3: the 2-word review ("utterly awful") has ended, so 3. +Steps 4 and 5: the 3-word review has ended too, so 2 and 2. +Steps 6, 7 and 8: only the 8-word review is left, so 1, 1, 1. +That row, 4, 4, 3, 2, 2, 1, 1, 1, is exactly what a PackedSequence stores in +its batch_sizes field. At each step the LSTM processes only that many rows, so +it never reads a pad token. The numbers add up to 18, the real tokens in the +batch. Sorting by length is what makes the rows still going always the top +ones.

+

Click: lines 1–4. Import the two helpers and pack the embedded batch with its +lengths. enforce_sorted=False is the modern convenience; older code sorts the +batch by length by hand and then has to unsort the outputs. Show them the flag +exists. lengths must be on the CPU — a real error message people hit and do not +expect.

+

Click 2: line 5. The LSTM takes the packed batch directly and skips the pad +steps. Nothing else about the call changes.

+

Click 3: lines 6–8. h_n[-1] is now the state after the last real token of each +row. output comes back as a PackedSequence; pad_packed_sequence turns it into a +padded tensor again, with zeros where the padding was.

+

Click 4: the whole block again — five lines of code, and only one of them is +the LSTM.

+

Click 5: the callout. This is not an optimisation; it is a correctness fix.

+

For a many-to-many model you could skip packing and mask the loss instead, and +that is a legitimate choice. For many-to-one you cannot: there is nothing to +mask, the damage is already inside h_n.

+`,images:[],raw:``,frontmatter:En,filepath:``,start:3785,sourceIndex:56,id:56,no:57},__clicksContext:null,__preloaded:!1}),On=u({layout:`default`,title:`The model`}),kn=d({get layout(){return On.layout},get transition(){return On.transition},get class(){return On.class},get clicks(){return On.clicks},get name(){return On.name},get preload(){return On.preload},slide:{content:``,revision:`35cveb`,frontmatterRaw:`layout: default +title: The model +`,note:``,title:`The model`,index:57,noteHTML:`

The point: the whole review classifier is three layers — embedding, LSTM, +linear — and the only new line compared with an MLP or CNN is the pack.

+

On screen: the model class on the left, and on the right a shape strip: ids +(32, 200), Embedding, emb (32, 200, 64), LSTM packed, h_n[-1] (32, 128) in the +accent colour, Linear, logits (32, 2). The 200 disappears at the LSTM. That is +where the sequence becomes a vector.

+

Click: lines 4–5. The embedding turns each id into 64 numbers; padding_idx=0 +keeps the pad token's vector at zero. The LSTM reads 64 and keeps 128 numbers of +state, batch first.

+

Click 2: lines 6–7. Dropout of 0.3, and a linear head to 2 logits, positive and +negative. The dropout sits on the final state, between the recurrence and the +head — the same place as in the CNN, for the same reason.

+

Click 3: line 10. Read the shape comment aloud: (B, T, 64). Every shape comment +on this slide is checkable and they should check them.

+

Click 4: lines 11–14. Pack with the lengths, run the LSTM, keep only h_n, +(1, B, 128). Take h_n[-1], dropout, head: (B, 2).

+

Click 5: the whole class again; point at the shape strip and walk down it once.

+

Click 6: the note underneath. Three layers, and the only new line is the pack. +h_n[-1] is the last layer's final state, so the code stays right with +num_layers=2.

+

Dropout inside the recurrence needs care: dropping a different set of units +every step destroys the state. nn.LSTM's own dropout= argument applies between +stacked layers, not across time, and it does nothing at all with num_layers=1 +(PyTorch warns about this).

+

No softmax, because CrossEntropyLoss applies it — the same trap as for CNNs.

+`,images:[],raw:``,frontmatter:On,filepath:``,start:3886,sourceIndex:57,id:57,no:58},__clicksContext:null,__preloaded:!1}),An=u({layout:`default`,title:`Shapes, end to end`}),jn=d({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:`-y5dhbo`,frontmatterRaw:`layout: default +title: Shapes, end to end +`,note:``,title:`Shapes, end to end`,index:58,noteHTML:`

This is a shape ledger for a sequence model: write every tensor's shape down. +The strip on top is the same story in three boxes: the T axis of 200 disappears +at the LSTM.

+

The output row: with packed input, output is a PackedSequence, not a tensor. +pad_packed_sequence turns it back into (32, T, 128), where T is the longest +review in this batch — 200 only if some review fills the padding. This model +never uses output (it reads h_n), so the row is there to stop someone indexing +output[:, -1] and silently reading padding.

+

The check: +model = ReviewClassifier(20_000) +ids = torch.randint(1, 20_000, (32, 200)) +lengths = torch.randint(5, 201, (32,)) +print(model(ids, lengths).shape) # torch.Size([32, 2])

+

Four lines, and they catch every shape mistake on this slide.

+

Note which dimension is 200 and which is 32 at every row, and that 200 disappears +after h_n — that is where the sequence becomes a vector.

+`,images:[],raw:``,frontmatter:An,filepath:``,start:3980,sourceIndex:58,id:58,no:59},__clicksContext:null,__preloaded:!1}),Mn=u({layout:`default`,title:`The training loop, with one line added`}),Nn=d({get layout(){return Mn.layout},get transition(){return Mn.transition},get class(){return Mn.class},get clicks(){return Mn.clicks},get name(){return Mn.name},get preload(){return Mn.preload},slide:{content:``,revision:`kce5u0`,frontmatterRaw:`layout: default +title: The training loop, with one line added +`,note:``,title:`The training loop, with one line added`,index:59,noteHTML:`

The point: the training loop is the same one used for MLPs and CNNs. A new +architecture is a new nn.Module, plus one line: gradient clipping.

+

On screen: the loop, and under it a strip — forward, loss, backward, clip, step +— with clip in the accent colour and "gradient length ≤ 1.0" under it.

+

Click: lines 1–3. The model, CrossEntropyLoss, Adam with learning rate 1e-3. +Nothing here is specific to sequences.

+

Click 2: lines 6–7. model.train() and the loader. The loader now yields three +things: ids, lengths and labels. lengths stays on the CPU deliberately — +pack_padded_sequence requires it, and the model does the .cpu() itself, so this +loop does not have to care.

+

Click 3: lines 8–11. Move ids and labels to the device, forward with the +lengths, compute the loss, zero the gradients. Familiar.

+

Click 4: lines 12–14. backward, then the clip, then step. The clip line is the +only addition ("Gradient clipping, in one line" in section 03), and it is the one +that keeps a recurrent run from dying on its first long batch. It sits between +backward() and step(), which the strip shows: it rescales the whole gradient so +its length is at most 1.0, after the gradients exist and before the weights +move.

+

Click 5: the whole loop again. Ask: which line would you delete to make this a +CNN loop? Only the clip, and the lengths argument.

+

Click 6: the note. The MLP's loop, the CNN's loop and this one differ by one line +and one model class.

+`,images:[],raw:``,frontmatter:Mn,filepath:``,start:4048,sourceIndex:59,id:59,no:60},__clicksContext:null,__preloaded:!1}),Pn=u({layout:`default`,title:`Four bugs, and what each one looks like`}),Fn=d({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:`ilk7j9`,frontmatterRaw:`layout: default +title: Four bugs, and what each one looks like +`,note:``,title:`Four bugs, and what each one looks like`,index:60,noteHTML:`

The point: this slide is the lab's FAQ, written in advance. Four bugs everyone +makes, and three of them give no error message at all.

+

On screen: the bullets on the left reveal one bug per click. The plot on the +right is a sketch, not a measured run: the green curve is the correct model and +goes lowest; the grey "bug" curve is what any of the three silent bugs looks +like — it trains, it flattens out, just higher; the red curve is the run without +clipping, which stops at nan.

+

Click: batch_first left out. The LSTM defaults to (T, B, features), so the model +reads 32 reviews as 32 time steps and still trains.

+

Click 2: no packing. h_n is the state after the padding, so every short review +gets a worse feature vector.

+

Click 3: loss on padding. The slide says when: a label per word (many to many), +as in tagging or next-word prediction. Our review classifier has one label per +review, so its labels are never padding — this bug waits for the generation +model. nn.CrossEntropyLoss(ignore_index=0) is the one-argument fix, and it is +why the pad id is conventionally 0 and conventionally reserved. Without it the +model spends most of its capacity predicting the pad token.

+

Click 4: no clipping. Point at the red curve. Once a nan reaches the weights, +nothing recovers — every later forward pass is nan. If a run goes to nan, +restart it; do not wait.

+

Click 5: the callout. Three of the four give no error message: the loss still +falls, just not far enough. The habit that catches all three silent ones: print +your shapes, and check h_n against lengths.

+`,images:[],raw:``,frontmatter:Pn,filepath:``,start:4125,sourceIndex:60,id:60,no:61},__clicksContext:null,__preloaded:!1}),In=u({layout:`section`,index:`06`}),Ln=d({get layout(){return In.layout},get transition(){return In.transition},get class(){return In.class},get clicks(){return In.clicks},get name(){return In.name},get preload(){return In.preload},slide:{content:``,revision:`-3r5ql6`,frontmatterRaw:`layout: section +index: "06" +`,note:``,title:`Generating, and the wall`,level:1,index:61,noteHTML:`

Section 06. The first slide closes the loop with the window slide in section 00; +the rest is the encoder–decoder, attention in its 2014 form, and the one problem attention does +not fix. Compressible after the generation slide if time is short: show +"One sequence in, another out", "The other wall" and the recap.

+

The glyph: a cell writes one tile, and the tile curls back in as the next input.

+`,images:[],raw:``,frontmatter:In,filepath:``,start:4201,sourceIndex:61,id:61,no:62},__clicksContext:null,__preloaded:!1}),Rn=u({layout:`default`,title:`Generating one step at a time`}),zn=d({get layout(){return Rn.layout},get transition(){return Rn.transition},get class(){return Rn.class},get clicks(){return Rn.clicks},get name(){return Rn.name},get preload(){return Rn.preload},slide:{content:``,revision:`b4j5gd`,frontmatterRaw:`layout: default +title: Generating one step at a time +`,note:``,title:`Generating one step at a time`,index:62,noteHTML:`

The point: an RNN that predicts the next word is used in two different ways. +At training time it is fed the true review; at generation time it is fed its +own guesses. This closes the loop with the window slide in section 00: predict +the next word from the ones before it, with the state in place of the window.

+

On screen, left panel (training). Read it bottom to top. The bottom row is the +input at each step: the true words of review B, "the movie was not". The middle +row is the same RNN cell at four steps, with the state passed along to the +right. The top row is the target: the true next word at each step, "movie was +not great". The model's prediction at each step is compared with that target, +which gives one cross-entropy loss per step (the "loss" labels). The four +losses are averaged into the loss for the review.

+

Click: the right panel (generating). Now there is no true review; we want the +model to write one. We give it only the first word, "the" (the accent tile). It +predicts a next word, here "movie". The dashed curve shows that guess fed back +in as the input of the next step. Then it predicts "was", feeds it back, and so +on. Each step must wait for the guess of the step before, so generation runs +one word at a time.

+

Click 2: training uses the true previous word as input. This has a name, +teacher forcing: like a teacher who corrects you after every word, so a mistake +at step 2 does not affect the input of step 3. Because every input is known +before we start, nn.LSTM processes the whole review in one forward call and +computes the loss for every step at once.

+

Click 3: generating uses the model's own last guess. The model never saw its +own mistakes during training, so one wrong word puts it in a situation it was +not trained on, and the error carries into every later step. That mismatch +between training and generating is called exposure bias, and it is why long +generated text drifts. Scheduled sampling, which mixes in the model's own +predictions during training with rising probability, is the classic fix.

+

How the next word is chosen, if the room asks: the output at each step is a +softmax over the vocabulary. Always taking the most likely word (argmax) is +repetitive; sampling from softmax(logits / temperature) is the usual knob.

+`,images:[],raw:``,frontmatter:Rn,filepath:``,start:4219,sourceIndex:62,id:62,no:63},__clicksContext:null,__preloaded:!1}),Bn=u({layout:`interactive`,heading:`One sequence in, another out`,title:`One sequence in, another out`,"aside-width":`21rem`}),Vn=d({get layout(){return Bn.layout},get transition(){return Bn.transition},get class(){return Bn.class},get clicks(){return Bn.clicks},get name(){return Bn.name},get preload(){return Bn.preload},slide:{content:``,revision:`-ie1sc4`,frontmatterRaw:`layout: interactive +heading: One sequence in, another out +title: One sequence in, another out +aside-width: 21rem +`,note:``,title:`One sequence in, another out`,index:63,noteHTML:`

The point: an encoder–decoder squeezes the whole source sentence into one +context vector of fixed size. That size does not grow with the sentence, and +that is the bottleneck.

+

On screen: the widget. Bottom row: the encoder, an RNN that reads the German +source sentence. Top row: the decoder, a second RNN that writes the English +target one word at a time, exactly as on the previous slide — but starting from +the encoder's final state instead of from zero. In the middle, the context box: +256 numbers. The slider sets how many words are in the source, from 2 to 8.

+

Before the clicks: read the aside's first line. Lengths and word order differ +between the languages, and nothing is written until the whole source is read.

+

Click: the encoder's final state, the context vector, is all the decoder knows +about the source.

+

Click 2: drag the slider from 2 to 8 slowly and say the number out loud each +time: still 256. That is the whole slide. The readout also says how many more +updates the first word has to survive before the encoder is done.

+

Click 3: the callout. Eight words into 256 numbers is generous. Forty into the +same 256 is the bottleneck.

+

The second half of the argument, which the picture cannot show: the first word of +the source has to survive every later update of the encoder state before the +decoder sees anything. Long sources lose their beginnings — the vanishing note +from section 03 again.

+

Cho et al. measured it in 2014 — translation quality (BLEU score) falls off +sharply past about 20 source words. The fix was published the same year.

+`,images:[],raw:``,frontmatter:Bn,filepath:``,start:4317,sourceIndex:63,id:63,no:64},__clicksContext:null,__preloaded:!1}),Hn=u({layout:`interactive`,heading:`Attention — stop choosing in advance`,title:`Attention — stop choosing in advance`,"aside-width":`20rem`}),Un=d({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:`-qr7qwu`,frontmatterRaw:`layout: interactive +heading: Attention — stop choosing in advance +title: Attention — stop choosing in advance +aside-width: 20rem +`,note:``,title:`Attention — stop choosing in advance`,index:64,noteHTML:`

The point: attention drops the single fixed summary. The decoder keeps every +encoder state and builds a fresh context for each word it writes.

+

On screen: the same widget in attention mode, on "Ich habe ein Buch gelesen" → +"I have read a book". Each press of Next word writes one English word; the +weights over the five German encoder states appear above them, and the readout +says which German word gets most of the weight.

+

Press Next word once: writing "I", the weight is 0.90 on "Ich". Then press again +for "have" before the first click.

+

Click: "have" — the weight sits on "habe", 0.85.

+

Press Next word to reach "read".

+

Click 2: "read" — 0.85 of the weight on "gelesen", the last German word. Stop +here. The German verb is at the end of the clause and the English one is in the +middle; the attention lines cross, and the crossing is the evidence that the +model is not just copying word order.

+

Click 3: the alignment is learned, not given. Nobody told the model that "read" +goes with "gelesen". Press on through "a" (0.88 on "ein") and "book" (0.86 on +"Buch") if there is time.

+

Click 4: the callout. No fixed summary to overflow: the decoder looks words up +instead of remembering them.

+

This is Bahdanau, Cho & Bengio, 2014 — attention added to a recurrent +encoder–decoder. The recurrence is still there: the encoder is an RNN and the +decoder is an RNN. Attention only changes what the decoder reads at each step.

+

Do not spend the mathematics here — the next slide is three lines.

+`,images:[],raw:``,frontmatter:Hn,filepath:``,start:4378,sourceIndex:64,id:64,no:65},__clicksContext:null,__preloaded:!1}),Wn=u({layout:`default`,title:`Attention, in three lines`}),Gn=d({get layout(){return Wn.layout},get transition(){return Wn.transition},get class(){return Wn.class},get clicks(){return Wn.clicks},get name(){return Wn.name},get preload(){return Wn.preload},slide:{content:``,revision:`-53jfz8`,frontmatterRaw:`layout: default +title: Attention, in three lines +`,note:``,title:`Attention, in three lines`,index:65,noteHTML:`

The point: attention is three lines of maths — score, softmax, weighted sum — +and all three are differentiable, so the alignment is learned like any other +weight.

+

On screen: the heading says it in words — a new context at every output step, a +weighted average of encoder states. The equations reveal one at a time on the +left. The picture on the right is the worked example from the next slide, drawn +as the three stages: scores 1.1, 0, 0; softmax weights 0.6, 0.2, 0.2 as bars; +the three states feeding one context vector [0.6, 0.6], with line widths +proportional to the weights.

+

Click: the score. "e t i equals a of s t minus 1 and h i": for output step t, +score each encoder state h_i against the decoder's state before writing, +s_{t-1}. The score function a is a small MLP (multi-layer perceptron) in the 2014 +paper; later papers often use a plain dot product, which is what the worked +example on the next slide does.

+

Click 2: the softmax. "alpha t i is e to the score, divided by the sum of e to +every score." The weights are positive and add up to 1 across the source words. +In the picture: 1.1, 0, 0 become 0.6, 0.2, 0.2.

+

Click 3: the weighted sum. "c t is the sum over i of alpha t i times h i." The +context for this step is mostly h_1, a little of the others.

+

Click 4: the callout — the one thing to point at. Everything on this slide is +differentiable, so the alignment is learned by the same gradient descent as the +rest. Nobody supplies alignments.

+

Three lines, then stop. Do not go further than this today. "The other wall" names +the problem attention does not fix.

+`,images:[],raw:``,frontmatter:Wn,filepath:``,start:4442,sourceIndex:65,id:65,no:66},__clicksContext:null,__preloaded:!1}),Kn=u({layout:`default`,title:`Reading the equation: attention`}),qn=d({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:`72s4gl`,frontmatterRaw:`layout: default +title: "Reading the equation: attention" +`,note:``,title:`Reading the equation: attention`,index:66,noteHTML:`

Three source words, two-number states, so it fits on paper. The decoder state +s_{t-1} = [1.1, 0] points the same way as h_1, so h_1 gets the high score.

+

Score: dot products s . h_i = 1.1, 0, 0. +Softmax: exp gives 3.0, 1, 1 (e^1.1 = 3.004); total 5; weights 0.6, 0.2, 0.2. +Weighted sum: 0.6 [1, 0] + 0.2 [0, 1] + 0.2 [0, 2] = [0.6, 0.6]. +(Exactly: 0.6003, 0.1998, 0.1998, and c = [0.600, 0.600].)

+

Connect it to the widget two slides back: writing "read", the weight on +"gelesen" was 0.85. That number is one alpha_{t,i}, computed exactly like this.

+

Two clashes of letters to name out loud. c_t here is the context vector, not the +LSTM's cell state — the 2014 paper and the LSTM paper both chose c. And s is the +decoder's hidden state; it is called s only so it is not confused with the +encoder's h.

+

The index j only appears inside the sum in the softmax: it runs over all source +positions, so the denominator is the same for every i. That is why the weights +add up to 1.

+`,images:[],raw:``,frontmatter:Kn,filepath:``,start:4558,sourceIndex:66,id:66,no:67},__clicksContext:null,__preloaded:!1}),X=u({layout:`default`,title:`The other wall — and this one attention does not fix`}),Jn=d({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:`ltjrla`,frontmatterRaw:`layout: default +title: The other wall — and this one attention does not fix +`,note:``,title:`The other wall — and this one attention does not fix`,index:67,noteHTML:`

The point: there is a second wall, and attention does not fix it. h_t needs +h_{t-1}, so the steps of a recurrent network cannot run in parallel. Spend two +minutes; this slide explains why recurrent models were set aside.

+

On screen: against clock time. The top row is the RNN: one state per tick, h1 to +h5, five ticks for five words, because h2 needs h1. The bottom row is a +convolution, or an attention weighted sum on its own: every position computed in +the first tick — the stacked boxes, "all at once".

+

Click: 200 tokens means 200 matrix multiplies, one after another.

+

Click 2: the batch runs in parallel — 32 reviews at once is fine. Time cannot: +step 7 of every review waits for step 6.

+

Click 3: more hardware does not shorten the chain. A bigger GPU makes each step +faster, not the number of steps smaller.

+

Click 4: the callout. Attention fixed the bottleneck, but the encoder and decoder +are still RNNs: one step at a time.

+

Both walls matter, and they are different: the bottleneck is about what the model +can represent, and attention fixed it in 2014. Parallelism is about what a GPU can +train, and it is the reason recurrent models were abandoned rather than improved. +Scale needed parallelism, and recurrence cannot provide it.

+

The 2017 paper that removed the recurrence and kept only the attention is called +"Attention Is All You Need". This wall is why that paper matters. Name the wall +and stop: every step waits for the one before.

+

If someone asks what recurrent models are still good for: very long or streaming +sequences, small on-device models, and the state-space revival — Mamba and +similar models are recurrent networks with a computation that can run in +parallel during training.

+`,images:[],raw:``,frontmatter:X,filepath:``,start:4640,sourceIndex:67,id:67,no:68},__clicksContext:null,__preloaded:!1}),Yn=u({layout:`default`,title:`Where we got to`}),Xn=d({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:`ezrics`,frontmatterRaw:`layout: default +title: Where we got to +`,note:``,title:`Where we got to`,index:68,noteHTML:`

One glyph per section, in the order of the lecture. Point at each one and ask the +room for its sentence before you click it in.

+

Sequence: order matters and lengths vary, so keep one state and carry it forward. +Loop: one cell, its weights shared across every step. +Fade: the gradient back to "not" 20 steps away is scaled by 0.8^20 = 0.012. +Gate: the LSTM's forget gate of 0.99 keeps 0.99^20 = 0.82 of it. +Map: the 2-number word vectors were a toy; real ones are learned, 64 numbers or +more. +Shape: batch_first=True, pack the padded batch, clip the gradient. +Generate: feed the output back in to write text; let the decoder look back at +every encoder state with attention.

+

The last callout names both walls. The first is fixed; the second, steps that +must run one after another, is still open at the end of today.

+`,images:[],raw:``,frontmatter:Yn,filepath:``,start:4727,sourceIndex:68,id:68,no:69},__clicksContext:null,__preloaded:!1}),Zn=u({layout:`default`,title:`Reading, and the lab`}),Qn=d({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:`-4oan5o`,frontmatterRaw:`layout: default +title: Reading, and the lab +`,note:``,title:`Reading, and the lab`,index:69,noteHTML:`

The point: three things to read, and the lab — where the bugs from this lecture +get made on purpose.

+

On screen: three link cards, then the lab description with a small picture on +the right: three runs, each with one thing removed — no batch_first, no packing, +no clipping — and each run's accuracy a question mark to measure.

+

Click: Olah, "Understanding LSTMs" (2015). The clearest explanation of the +gates; read it once before the lab.

+

Click 2: Karpathy, "The Unreasonable Effectiveness of RNNs" (2015). A +character-level LSTM writing Shakespeare, C code and LaTeX — the generation +slide, at scale.

+

Click 3: the nn.LSTM documentation. Worth reading for the shapes, the two bias +vectors, and the GRU gate written the other way round.

+

Click 4: the lab. Train the review classifier, then break it on purpose, one +change at a time, and report what each change costs. That report is the graded +part. The deliberate-breakage exercise is the point. A student who has watched +batch_first quietly cost them accuracy never forgets it, and no amount of +saying it from the front achieves that.

+

The three runs on the right are three of the bugs from "Four bugs, and what each +one looks like": two silent ones, and clipping, the loud one. Each run changes +exactly one thing against a working baseline.

+

Practicalities — dataset, deadline, what to hand in — belong on the course page.

+`,images:[],raw:``,frontmatter:Zn,filepath:``,start:4790,sourceIndex:69,id:69,no:70},__clicksContext:null,__preloaded:!1}),$n=u({layout:`end`,email:`vajira@simula.no`}),er=d({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:`-w7qfsi`,frontmatterRaw:`layout: end +email: vajira@simula.no +`,note:``,title:`To be continued…`,level:1,index:70,noteHTML:`

The running example, one last time: "the movie was not great", the not-flag +switching on at "not", the sentiment going negative at "great", and P(positive) += 0.22. Two numbers of state carried that across the review.

+

Leave time for questions. A likely one: "if attention is so good, why keep the +RNN at all?" — answer it with the second wall: the attention still sits inside +an RNN, so every step still waits for the one before.

+`,images:[],raw:``,frontmatter:$n,filepath:``,start:4881,sourceIndex:70,id:70,no:71},__clicksContext:null,__preloaded:!1}),Z=Array(71),Q=(t,n)=>e({loader:n,delay:300,loadingComponent:Ze,errorComponent:v,onError:e=>console.error(`Failed to load slide `+(t+1),e)}),tr=async()=>{try{return Z[0]??=await _(()=>import(`./md-Dk8UbYt1.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),v}},nr=async()=>{try{return Z[1]??=await _(()=>import(`./md-CIDAYb22.js`),__vite__mapDeps([12,1,2,3,5,6,13,4,14,15,16,17,18,19,20,21,22,23]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),v}},rr=async()=>{try{return Z[2]??=await _(()=>import(`./md-C-7Ayaf_.js`),__vite__mapDeps([24,1,2,3,5,6,22,4,23,25,26]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),v}},ir=async()=>{try{return Z[3]??=await _(()=>import(`./md-B7zwjxlr.js`),__vite__mapDeps([27,1,2,3,5,6,13,4,14,15,16,17,18,19,20,21]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),v}},ar=async()=>{try{return Z[4]??=await _(()=>import(`./md-BwWsYUud.js`),__vite__mapDeps([28,1,2,3,5,6,7,4,8,9,10,13,14,15,16,17,18,19,20,21,29]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),v}},or=async()=>{try{return Z[5]??=await _(()=>import(`./md-Df8WtM05.js`),__vite__mapDeps([30,1,2,3,5,6,13,4,14,15,16,17,18,19,20,21,29]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),v}},sr=async()=>{try{return Z[6]??=await _(()=>import(`./md-DPb1D2iN2.js`),__vite__mapDeps([31,1,2,3,5,6,7,4,8,9,10,13,14,15,16,17,18,19,20,21]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),v}},cr=async()=>{try{return Z[7]??=await _(()=>import(`./md-Cqetyhg_.js`),__vite__mapDeps([32,1,2,3,5,6,13,4,14,15,16,17,18,19,20,21]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),v}},lr=async()=>{try{return Z[8]??=await _(()=>import(`./md-Dezw7FrF2.js`),__vite__mapDeps([33,1,2,3,5,6,13,4,14,15,16,17,18,19,20,21,29]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),v}},ur=async()=>{try{return Z[9]??=await _(()=>import(`./md-DUhNjFjE.js`),__vite__mapDeps([34,1,2,3,5,6,13,4,14,15,16,17,18,19,20,21]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),v}},dr=async()=>{try{return Z[10]??=await _(()=>import(`./md-wfJFHbE2.js`),__vite__mapDeps([35,1,2,3,4,5,6,8,29,17,16,18,36,14,15,19,20,37,38,39,40,41,42,43,44]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),v}},fr=async()=>{try{return Z[11]??=await _(()=>import(`./md-B7MUwfIU.js`),__vite__mapDeps([45,1,2,3,4,5,6,36,14,15,16,17,18,19,20,37,46]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),v}},pr=async()=>{try{return Z[12]??=await _(()=>import(`./md-WXzmuIAG.js`),__vite__mapDeps([47,1,2,3,5,6,13,4,14,15,16,17,18,19,20,21,48,29,49]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),v}},mr=async()=>{try{return Z[13]??=await _(()=>import(`./md-CPv-eZzS.js`),__vite__mapDeps([50,1,2,3,5,6,22,4,23,25,26]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),v}},hr=async()=>{try{return Z[14]??=await _(()=>import(`./md-CMkV1_Ic.js`),__vite__mapDeps([51,1,2,3,5,6,29,17,16,18,36,4,14,15,19,20,37,52,8,9,42,43,53]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),v}},gr=async()=>{try{return Z[15]??=await _(()=>import(`./md-DP9dnXw3.js`),__vite__mapDeps([54,1,2,3,5,6,29,17,16,18,36,4,14,15,19,20,37,52,8,9,42,43,53]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),v}},_r=async()=>{try{return Z[16]??=await _(()=>import(`./md-C-FeioU4.js`),__vite__mapDeps([55,1,2,3,5,6,13,4,14,15,16,17,18,19,20,21,29,56]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),v}},vr=async()=>{try{return Z[17]??=await _(()=>import(`./md-EhM3ZaYZ.js`),__vite__mapDeps([57,1,2,3,5,6,13,4,14,15,16,17,18,19,20,21,29]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),v}},yr=async()=>{try{return Z[18]??=await _(()=>import(`./md-B0kGJFD3.js`),__vite__mapDeps([58,1,2,3,5,6,13,4,14,15,16,17,18,19,20,21]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),v}},br=async()=>{try{return Z[19]??=await _(()=>import(`./md-BlJ8G5BD2.js`),__vite__mapDeps([59,1,2,3,5,6,13,4,14,15,16,17,18,19,20,21,29,56]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),v}},xr=async()=>{try{return Z[20]??=await _(()=>import(`./md-IPFWf0bW.js`),__vite__mapDeps([60,1,2,3,4,5,6,8,9,29,17,16,18,36,14,15,19,20,37,38,39,42,43,61]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),v}},Sr=async()=>{try{return Z[21]??=await _(()=>import(`./md-UKvkYPy6.js`),__vite__mapDeps([62,1,2,3,5,6,7,4,8,9,10,13,14,15,16,17,18,19,20,21,29]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),v}},Cr=async()=>{try{return Z[22]??=await _(()=>import(`./md-DqmbebGS.js`),__vite__mapDeps([63,1,2,3,5,6,13,4,14,15,16,17,18,19,20,21,29,56]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),v}},wr=async()=>{try{return Z[23]??=await _(()=>import(`./md-CVNvsAUX.js`),__vite__mapDeps([64,1,2,3,5,6,13,4,14,15,16,17,18,19,20,21,29]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),v}},Tr=async()=>{try{return Z[24]??=await _(()=>import(`./md-CDNayRGS2.js`),__vite__mapDeps([65,1,2,3,4,5,6,29,17,16,18,36,14,15,19,20,37,66]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),v}},Er=async()=>{try{return Z[25]??=await _(()=>import(`./md-CMjkcqnP.js`),__vite__mapDeps([67,1,2,3,5,6,22,4,23,25,26]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),v}},Dr=async()=>{try{return Z[26]??=await _(()=>import(`./md-_2u5jvtc.js`),__vite__mapDeps([68,1,2,3,5,6,13,4,14,15,16,17,18,19,20,21,56]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),v}},Or=async()=>{try{return Z[27]??=await _(()=>import(`./md-B_efCMCC.js`),__vite__mapDeps([69,1,2,3,5,6,13,4,14,15,16,17,18,19,20,21,29]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),v}},kr=async()=>{try{return Z[28]??=await _(()=>import(`./md-CvQFBWrt.js`),__vite__mapDeps([70,1,2,3,5,6,13,4,14,15,16,17,18,19,20,21,29,56]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),v}},Ar=async()=>{try{return Z[29]??=await _(()=>import(`./md-Dxv-GtNy2.js`),__vite__mapDeps([71,1,2,3,5,6,13,4,14,15,16,17,18,19,20,21,29]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),v}},jr=async()=>{try{return Z[30]??=await _(()=>import(`./md-C3AcauXK2.js`),__vite__mapDeps([72,1,2,3,5,6,7,4,8,9,10,13,14,15,16,17,18,19,20,21]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),v}},Mr=async()=>{try{return Z[31]??=await _(()=>import(`./md-CIl6YAgL2.js`),__vite__mapDeps([73,1,2,3,5,6,29,17,16,18,36,4,14,15,19,20,37,74,9,40,41,75,76,77,78,79]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),v}},Nr=async()=>{try{return Z[32]??=await _(()=>import(`./md-DgzuqNx02.js`),__vite__mapDeps([80,1,2,3,4,5,6,29,17,16,18,36,14,15,19,20,37,38,39,40,41,75,76,78,81,82,83]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),v}},Pr=async()=>{try{return Z[33]??=await _(()=>import(`./md-C0dfuBBV2.js`),__vite__mapDeps([84,1,2,3,5,6,13,4,14,15,16,17,18,19,20,21,22,23]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),v}},Fr=async()=>{try{return Z[34]??=await _(()=>import(`./md-B3lRKuiY2.js`),__vite__mapDeps([85,1,2,3,5,6,13,4,14,15,16,17,18,19,20,21,86,87]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),v}},Ir=async()=>{try{return Z[35]??=await _(()=>import(`./md-YBf2HP0I2.js`),__vite__mapDeps([88,1,2,3,5,6,13,4,14,15,16,17,18,19,20,21,29,86,87]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),v}},Lr=async()=>{try{return Z[36]??=await _(()=>import(`./md-Cizf_KhR.js`),__vite__mapDeps([89,1,2,3,5,6,22,4,23,25,26]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),v}},Rr=async()=>{try{return Z[37]??=await _(()=>import(`./md-C6rYsw2P.js`),__vite__mapDeps([90,1,2,3,5,6,13,4,14,15,16,17,18,19,20,21]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),v}},zr=async()=>{try{return Z[38]??=await _(()=>import(`./md-BjzzOuTx.js`),__vite__mapDeps([91,1,2,3,5,6,36,4,14,15,16,17,18,19,20,37,92,8,9,38,39,40,41,42,43,93]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),v}},Br=async()=>{try{return Z[39]??=await _(()=>import(`./md-BEio9h2a.js`),__vite__mapDeps([94,1,2,3,5,6,13,4,14,15,16,17,18,19,20,21,56]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),v}},Vr=async()=>{try{return Z[40]??=await _(()=>import(`./md-CvO3R3mJ.js`),__vite__mapDeps([95,1,2,3,5,6,13,4,14,15,16,17,18,19,20,21,29]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),v}},Hr=async()=>{try{return Z[41]??=await _(()=>import(`./md-AiBB45tN.js`),__vite__mapDeps([96,1,2,3,5,6,13,4,14,15,16,17,18,19,20,21]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),v}},Ur=async()=>{try{return Z[42]??=await _(()=>import(`./md-qvplHM3t.js`),__vite__mapDeps([97,1,2,3,5,6,36,4,14,15,16,17,18,19,20,37,74,9,40,41,75,76,77,78,79]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),v}},Wr=async()=>{try{return Z[43]??=await _(()=>import(`./md-jZup7ibE.js`),__vite__mapDeps([98,1,2,3,5,6,13,4,14,15,16,17,18,19,20,21,99,100]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),v}},Gr=async()=>{try{return Z[44]??=await _(()=>import(`./md-3LkMqhww.js`),__vite__mapDeps([101,1,2,3,5,6,29,17,16,18,36,4,14,15,19,20,37,92,8,9,38,39,40,41,42,43,93]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),v}},Kr=async()=>{try{return Z[45]??=await _(()=>import(`./md-D98mrS6F.js`),__vite__mapDeps([102,1,2,3,5,6,13,4,14,15,16,17,18,19,20,21]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),v}},qr=async()=>{try{return Z[46]??=await _(()=>import(`./md-BLLKqkPo.js`),__vite__mapDeps([103,1,2,3,5,6,13,4,14,15,16,17,18,19,20,21,48,29,49]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),v}},Jr=async()=>{try{return Z[47]??=await _(()=>import(`./md-7Q8T-mth.js`),__vite__mapDeps([104,1,2,3,5,6,22,4,23,25,26]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),v}},Yr=async()=>{try{return Z[48]??=await _(()=>import(`./md-uzEiJc6_.js`),__vite__mapDeps([105,1,2,3,5,6,13,4,14,15,16,17,18,19,20,21]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),v}},Xr=async()=>{try{return Z[49]??=await _(()=>import(`./md-BqMYp0UI.js`),__vite__mapDeps([106,1,2,3,5,6,29,17,16,18,36,4,14,15,19,20,37,107,8,75,76,77,81,82,108]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),v}},Zr=async()=>{try{return Z[50]??=await _(()=>import(`./md-BlIlUIaC.js`),__vite__mapDeps([109,1,2,3,5,6,29,17,16,18,36,4,14,15,19,20,37,107,8,75,76,77,81,82,108]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),v}},Qr=async()=>{try{return Z[51]??=await _(()=>import(`./md-B25V1hAf.js`),__vite__mapDeps([110,1,2,3,5,6,13,4,14,15,16,17,18,19,20,21,29,86,87]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),v}},$r=async()=>{try{return Z[52]??=await _(()=>import(`./md-C_lg6i48.js`),__vite__mapDeps([111,1,2,3,5,6,22,4,23,25,26]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),v}},ei=async()=>{try{return Z[53]??=await _(()=>import(`./md-CR6t2myb.js`),__vite__mapDeps([112,1,2,3,5,6,13,4,14,15,16,17,18,19,20,21]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),v}},ti=async()=>{try{return Z[54]??=await _(()=>import(`./md-CRTXWVRl.js`),__vite__mapDeps([113,1,2,3,5,6,13,4,14,15,16,17,18,19,20,21,29,86,87]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),v}},ni=async()=>{try{return Z[55]??=await _(()=>import(`./md-Bwo4AxQp.js`),__vite__mapDeps([114,1,2,3,5,6,7,4,8,9,10,13,14,15,16,17,18,19,20,21,29]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),v}},ri=async()=>{try{return Z[56]??=await _(()=>import(`./md-DJ1fwN8S.js`),__vite__mapDeps([115,1,2,3,5,6,13,4,14,15,16,17,18,19,20,21,86,87]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),v}},ii=async()=>{try{return Z[57]??=await _(()=>import(`./md-zQ2hlk4v.js`),__vite__mapDeps([116,1,2,3,5,6,13,4,14,15,16,17,18,19,20,21,86,87]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),v}},ai=async()=>{try{return Z[58]??=await _(()=>import(`./md-DbITpZOi.js`),__vite__mapDeps([117,1,2,3,5,6,13,4,14,15,16,17,18,19,20,21]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),v}},oi=async()=>{try{return Z[59]??=await _(()=>import(`./md-DRJqBy-0.js`),__vite__mapDeps([118,1,2,3,5,6,13,4,14,15,16,17,18,19,20,21,86,87]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),v}},si=async()=>{try{return Z[60]??=await _(()=>import(`./md-Ce7WJKoY.js`),__vite__mapDeps([119,1,2,3,5,6,13,4,14,15,16,17,18,19,20,21,29]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),v}},ci=async()=>{try{return Z[61]??=await _(()=>import(`./md-BzOKxHOL.js`),__vite__mapDeps([120,1,2,3,5,6,22,4,23,25,26]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),v}},li=async()=>{try{return Z[62]??=await _(()=>import(`./md-BovLBUJI.js`),__vite__mapDeps([121,1,2,3,5,6,13,4,14,15,16,17,18,19,20,21,29]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),v}},ui=async()=>{try{return Z[63]??=await _(()=>import(`./md-BecCf6zg.js`),__vite__mapDeps([122,1,2,3,5,6,29,17,16,18,36,4,14,15,19,20,37,123,40,41,42,43,124]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),v}},di=async()=>{try{return Z[64]??=await _(()=>import(`./md-DVC75ih2.js`),__vite__mapDeps([125,1,2,3,5,6,29,17,16,18,36,4,14,15,19,20,37,123,40,41,42,43,124]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),v}},fi=async()=>{try{return Z[65]??=await _(()=>import(`./md-C7mHCXdU.js`),__vite__mapDeps([126,1,2,3,5,6,13,4,14,15,16,17,18,19,20,21,56,99,100]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),v}},pi=async()=>{try{return Z[66]??=await _(()=>import(`./md-5gvmfigf.js`),__vite__mapDeps([127,1,2,3,5,6,13,4,14,15,16,17,18,19,20,21,29]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),v}},mi=async()=>{try{return Z[67]??=await _(()=>import(`./md-GuP5bC9D2.js`),__vite__mapDeps([128,1,2,3,5,6,13,4,14,15,16,17,18,19,20,21,29]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),v}},hi=async()=>{try{return Z[68]??=await _(()=>import(`./md-D9ONtzus2.js`),__vite__mapDeps([129,1,2,3,5,6,13,4,14,15,16,17,18,19,20,21,22,23]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),v}},gi=async()=>{try{return Z[69]??=await _(()=>import(`./md--T5qqbvI2.js`),__vite__mapDeps([130,1,2,3,4,5,6,13,14,15,16,17,18,19,20,21,131]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),v}},_i=async()=>{try{return Z[70]??=await _(()=>import(`./md-BY6o41T_2.js`),__vite__mapDeps([132,1,2,3,4,5,6,7,8,9,10,133]),import.meta.url)}catch(e){return console.error(`slide failed to load`,e),v}},vi=[{no:1,meta:$e,load:tr,component:Q(0,tr)},{no:2,meta:tt,load:nr,component:Q(1,nr)},{no:3,meta:rt,load:rr,component:Q(2,rr)},{no:4,meta:it,load:ir,component:Q(3,ir)},{no:5,meta:at,load:ar,component:Q(4,ar)},{no:6,meta:ot,load:or,component:Q(5,or)},{no:7,meta:st,load:sr,component:Q(6,sr)},{no:8,meta:ct,load:cr,component:Q(7,cr)},{no:9,meta:lt,load:lr,component:Q(8,lr)},{no:10,meta:ut,load:ur,component:Q(9,ur)},{no:11,meta:dt,load:dr,component:Q(10,dr)},{no:12,meta:ft,load:fr,component:Q(11,fr)},{no:13,meta:pt,load:pr,component:Q(12,pr)},{no:14,meta:mt,load:mr,component:Q(13,mr)},{no:15,meta:ht,load:hr,component:Q(14,hr)},{no:16,meta:gt,load:gr,component:Q(15,gr)},{no:17,meta:_t,load:_r,component:Q(16,_r)},{no:18,meta:vt,load:vr,component:Q(17,vr)},{no:19,meta:yt,load:yr,component:Q(18,yr)},{no:20,meta:bt,load:br,component:Q(19,br)},{no:21,meta:xt,load:xr,component:Q(20,xr)},{no:22,meta:St,load:Sr,component:Q(21,Sr)},{no:23,meta:Ct,load:Cr,component:Q(22,Cr)},{no:24,meta:wt,load:wr,component:Q(23,wr)},{no:25,meta:Tt,load:Tr,component:Q(24,Tr)},{no:26,meta:Et,load:Er,component:Q(25,Er)},{no:27,meta:Dt,load:Dr,component:Q(26,Dr)},{no:28,meta:Ot,load:Or,component:Q(27,Or)},{no:29,meta:kt,load:kr,component:Q(28,kr)},{no:30,meta:At,load:Ar,component:Q(29,Ar)},{no:31,meta:jt,load:jr,component:Q(30,jr)},{no:32,meta:Mt,load:Mr,component:Q(31,Mr)},{no:33,meta:Nt,load:Nr,component:Q(32,Nr)},{no:34,meta:Pt,load:Pr,component:Q(33,Pr)},{no:35,meta:It,load:Fr,component:Q(34,Fr)},{no:36,meta:Rt,load:Ir,component:Q(35,Ir)},{no:37,meta:Bt,load:Lr,component:Q(36,Lr)},{no:38,meta:Ht,load:Rr,component:Q(37,Rr)},{no:39,meta:Wt,load:zr,component:Q(38,zr)},{no:40,meta:Kt,load:Br,component:Q(39,Br)},{no:41,meta:Jt,load:Vr,component:Q(40,Vr)},{no:42,meta:Xt,load:Hr,component:Q(41,Hr)},{no:43,meta:Qt,load:Ur,component:Q(42,Ur)},{no:44,meta:en,load:Wr,component:Q(43,Wr)},{no:45,meta:nn,load:Gr,component:Q(44,Gr)},{no:46,meta:an,load:Kr,component:Q(45,Kr)},{no:47,meta:sn,load:qr,component:Q(46,qr)},{no:48,meta:ln,load:Jr,component:Q(47,Jr)},{no:49,meta:dn,load:Yr,component:Q(48,Yr)},{no:50,meta:pn,load:Xr,component:Q(49,Xr)},{no:51,meta:hn,load:Zr,component:Q(50,Zr)},{no:52,meta:_n,load:Qr,component:Q(51,Qr)},{no:53,meta:yn,load:$r,component:Q(52,$r)},{no:54,meta:xn,load:ei,component:Q(53,ei)},{no:55,meta:Cn,load:ti,component:Q(54,ti)},{no:56,meta:Tn,load:ni,component:Q(55,ni)},{no:57,meta:Dn,load:ri,component:Q(56,ri)},{no:58,meta:kn,load:ii,component:Q(57,ii)},{no:59,meta:jn,load:ai,component:Q(58,ai)},{no:60,meta:Nn,load:oi,component:Q(59,oi)},{no:61,meta:Fn,load:si,component:Q(60,si)},{no:62,meta:Ln,load:ci,component:Q(61,ci)},{no:63,meta:zn,load:li,component:Q(62,li)},{no:64,meta:Vn,load:ui,component:Q(63,ui)},{no:65,meta:Un,load:di,component:Q(64,di)},{no:66,meta:Gn,load:fi,component:Q(65,fi)},{no:67,meta:qn,load:pi,component:Q(66,pi)},{no:68,meta:Jn,load:mi,component:Q(67,mi)},{no:69,meta:Xn,load:hi,component:Q(68,hi)},{no:70,meta:Qn,load:gi,component:Q(69,gi)},{no:71,meta:er,load:_i,component:Q(70,_i)}],$=ne(vi);function yi(e,t,{mode:r=`replace`}={}){let i=pe();return f({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[re(r)]({query:{...i.currentRoute.value.query,[e]:`${a}`===t?void 0:a}})})}})}function bi(e,t,n=!1){let r=e.meta.slide?.frontmatter.routeAlias??e.no;return n?`/export/${r}`:t?`/presenter/${r}`:`/${r}`}function xi(e){return $.value.find(t=>t.no===+e||t.meta.slide?.frontmatter.routeAlias===e)}function Si(e,t,n=!1){return(typeof e==`number`||typeof e==`string`)&&(e=xi(e)),bi(e,t,n)}var Ci={"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 wi(e,t=!1){if(!e||(typeof e==`string`&&(e={name:e}),!e.name))return;let n=e.name.includes(`|`)?e.name:Ci[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 Ti(e,t,n){let r=e>0?n?.meta?.transition:t?.meta?.transition;return r||=g.transition||void 0,wi(r,e<0)}var Ei=m(!1),Di=m(!1),Oi=m(!1),ki=m(!1),Ai=m(!1),ji=m(!1),Mi=m(!0),Ni=u(new Set),Pi=f(()=>Ni.size>0),Fi=ye({xs:460,...he}),Ii=de(),Li=me(),Ri=f(()=>Ii.height.value-Ii.width.value/je.value>120),zi=_e(ve?document.body:null),Bi=ge(),Vi=f(()=>[`INPUT`,`TEXTAREA`].includes(Bi.value?.tagName||``)),Hi=f(()=>[`BUTTON`,`A`].includes(Bi.value?.tagName||``));h(`slidev-camera`,`default`,{listenToStorageChanges:!1}),h(`slidev-mic`,`default`,{listenToStorageChanges:!1});var Ui=h(`slidev-scale`,0),Wi=h(`slidev-wake-lock`,!0),Gi=h(`slidev-hide-cursor-idle`,!0);h(`slidev-skip-export-pdf-tip`,!1),h(`slidev-export-capture-delay`,400,{listenToStorageChanges:!1});var Ki=h(`slidev-presenter-cursor`,!0,{listenToStorageChanges:!1}),qi=h(`slidev-cursor-style`,`cursor`,{listenToStorageChanges:!1});function Ji(){Ki.value=!Ki.value}var Yi=h(`slidev-show-editor`,!1,{listenToStorageChanges:!1}),Xi=h(`slidev-editor-vertical`,!1,{listenToStorageChanges:!1}),Zi=h(`slidev-editor-width`,ve?window.innerWidth*.4:318,{listenToStorageChanges:!1}),Qi=h(`slidev-editor-height`,ve?window.innerHeight*.4:300,{listenToStorageChanges:!1}),$i=ne(null),ea=h(`slidev-presenter-font-size`,1,{listenToStorageChanges:!1}),ta=h(`slidev-presenter-layout`,1,{listenToStorageChanges:!1}),na={invert:!1,contrast:1,brightness:1,hueRotate:0,saturate:1,sepia:0},ra=h(`slidev-viewer-css-filter`,na,{listenToStorageChanges:!1,mergeDefaults:!0,deep:!0}),ia=f(()=>Object.keys(na).some(e=>ra.value[e]!==na[e]));function aa(){ta.value+=1,ta.value>3&&(ta.value=1)}function oa(){ea.value=Math.min(2,ea.value+.1)}function sa(){ea.value=Math.max(.5,ea.value-.1)}var ca=fe(ki),la=h(`slidev-sync-directions`,{viewerSend:!0,viewerReceive:!0,presenterSend:!0,presenterReceive:!0},{listenToStorageChanges:!1,mergeDefaults:!0});function ua(e,t,n=1){let r=t.meta.slide.level??n;r&&r>n&&e.length>0?ua(e[e.length-1].children,t,n+1):e.push({no:t.no,children:[],level:n,titleLevel:r,path:Si(t.meta.slide?.frontmatter?.routeAlias??t.no,!1),hideInToc:!!t.meta?.slide?.frontmatter?.hideInToc,title:t.meta?.slide?.title})}function da(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=da(a.children,t,a.active||a.hasActiveParent,a,i)),r&&(a.active||a.activeParent)&&(r.activeParent=!0),a})}function fa(e,t=1){return e.filter(e=>!e.hideInToc).map(e=>({...e,children:fa(e.children,t+1)}))}function pa(e,t,n){let r=f(()=>e.value.filter(e=>e.meta?.slide?.title).reduce((e,t)=>(ua(e,t),e),[])),i=f(()=>da(r.value,n.value,void 0,void 0,t));return f(()=>fa(i.value))}function ma(e,t,n=m(0),r,i,a){let s=f(()=>$.value.length),c=m(0),l=m(0),u=f(()=>Si(e.value,r.value)),d=f(()=>e.value.no),ee=f(()=>e.value.meta?.layout||(d.value===1?`cover`:`default`)),te=f(()=>e.value.meta.slide.frontmatter),p=f(()=>t.value.current),ne=f(()=>t.value.clicksStart),re=f(()=>t.value.total),ie=f(()=>$.value[Math.min($.value.length,d.value+1)-1]),ae=f(()=>$.value[Math.max(1,d.value-1)-1]),oe=f(()=>d.value<$.value.length||p.valued.value>1||p.value>0),ce=f(()=>i.value?void 0:Ti(c.value,e.value,ae.value));o(e,(e,t)=>{c.value=e.no-t.no});async function le(e){return!1}let ue=pa($,d,e);async function de(){l.value=1,re.value<=n.value?await pe():n.value+=1}async function fe(){l.value=-1,n.value<=ne.value?await me(!0):--n.value}async function pe(e=!1){l.value=1,d.value<$.value.length&&await h(d.value+1,e&&!i.value?be:void 0)}async function me(e=!1){l.value=-1,d.value>1&&await h(d.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){Ai.value=!1;let o=d.value!==e,s=t!==n.value,c=xi(e)?.meta,l=c?.slide?.frontmatter.clicksStart??0;t=Se(t,l,c?.__clicksContext?.total??999999),(i||o||s)&&await a?.push({path:Si(e,r.value,a.currentRoute.value.name===`export`),query:{...a.currentRoute.value.query,clicks:t===0?void 0:t.toString(),embedded:location.search.includes(`embedded`)?`true`:void 0}})}function _e(){a?.push({path:Si(d.value,!0),query:{...a.currentRoute.value.query}})}function ve(){a?.push({path:Si(d.value,!1),query:{...a.currentRoute.value.query}})}return{slides:$,total:s,currentPath:u,currentSlideNo:d,currentPage:d,currentSlideRoute:e,currentLayout:ee,currentFrontmatter:te,currentTransition:ce,clicksDirection:l,nextRoute:ie,prevRoute:ae,clicksContext:t,clicks:p,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 ha=ue(()=>{let e=pe(),t=le(),n=f(()=>(e?.currentRoute?.value?.query,new URLSearchParams(location.search))),r=f(()=>n.value.has(`print`)||t.name===`export`),i=m(n.value.get(`print`)===`clicks`),a=f(()=>n.value.has(`embedded`)),o=f(()=>t.name===`play`),s=f(()=>t.name===`presenter`),c=f(()=>t.name===`notes`),l=f(()=>!s.value&&(!g.remote||n.value.get(`password`)===g.remote)),u=f(()=>!!t.params.no),d=f(()=>u.value?xi(t.params.no)?.no??1:1),ee=f(()=>$.value[d.value-1]),te=m(Ke($.value.length,t?.query?.range)),p=yi(`clicks`,`0`),ne=f(()=>ie(ee.value)),re=f({get(){let e=+(p.value||0);return Number.isNaN(e)&&(e=0),e},set(e){Ai.value=!1,p.value=e.toString()}});function ie(e){if(e?.meta?.__clicksContext)return e.meta.__clicksContext;let t=e.no,n=He(f({get(){return d.value===t?Math.max(+(p.value??0),n.clicksStart):d.value>t?be:n.clicksStart},set(e){d.value===t&&(p.value=e.toString())}}),e?.meta.slide?.frontmatter.clicksStart??0,e?.meta.clicks);return e?.meta&&(e.meta.__clicksContext=n),n}return{router:e,currentRoute:f(()=>t),isPrintMode:r,isPrintWithClicks:i,isEmbedded:a,isPlaying:o,isPresenter:s,isNotesViewer:c,isPresenterAvailable:l,hasPrimarySlide:u,currentSlideNo:d,currentSlideRoute:ee,clicksContext:ne,queryClicksRaw:p,queryClicks:re,printRange:te,getPrimaryClicks:ie}}),ga=ue(()=>{let e=ha(),t=pe(),n=ma(e.currentSlideRoute,e.clicksContext,e.queryClicks,e.isPresenter,e.isPrintMode,t);return o([n.total,e.currentRoute],async()=>{let t=e.currentRoute.value.params.no;e.hasPrimarySlide.value&&!xi(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 _a(){let e=ga(),t=r()?ce(xe,void 0):void 0;if(!t)return e;let n=p(t).nav;return{...e,...n}}export{Fe as $,Ui as A,Si as B,Pi as C,ki as D,Di as E,ra as F,Ue as G,Ke as H,na as I,Ae as J,Be as K,Wi as L,ca as M,Ji as N,Ki as O,aa as P,Me as Q,Ii as R,Mi as S,Oi as T,Ge as U,$ as V,He as W,je as X,Ie as Y,Ne as Z,Hi as _,qi as a,ta as b,Qi as c,ia as d,Pe as et,Gi as f,Vi as g,Xi as h,Fi as i,we as it,la as j,Ei as k,Zi as l,oa as m,$i as n,Se as nt,sa as o,Ai as p,_ as q,Bi as r,De as rt,ji as s,_a as t,g as tt,zi as u,Ri as v,Yi as w,ea as x,Li as y,xi as z}; \ No newline at end of file diff --git a/lecture-05/assets/useRecurrence-PhWWMav6.js b/lecture-05/assets/useRecurrence-PhWWMav6.js new file mode 100644 index 0000000000000000000000000000000000000000..4c439c27be84ca1979d13fc64b9f111d5f65af31 --- /dev/null +++ b/lecture-05/assets/useRecurrence-PhWWMav6.js @@ -0,0 +1 @@ +function e(e,t){return e.map(e=>e.reduce((e,n,r)=>e+n*(t[r]??0),0))}function t(...e){let t=Math.max(...e.map(e=>e.length));return Array.from({length:t},(t,n)=>e.reduce((e,t)=>e+(t[n]??0),0))}function n(e){return Array.from({length:e},()=>0)}var r=e=>1/(1+Math.exp(-e)),i=e=>Math.tanh(e),a={wxh:[[1],[-.5]],whh:[[.5,-.5],[.5,.5]],who:[[1,1]],bh:[0,0],bo:[0]},o={the:[0,0],movie:[0,0],was:[0,0],not:[0,1],great:[1,0]},s=[`the`,`movie`,`was`,`great`],c=[`the`,`movie`,`was`,`not`,`great`],l={wxh:[[0,2],[1,0]],whh:[[.5,0],[-1.5,.8]],who:[[0,3]],bh:[0,0],bo:[0]};function u(e){return e.map(e=>o[e]??[0,0])}function d(r,o=a){let s=o.whh.length,c=n(s),l=[];for(let[n,a]of r.entries()){let r=c,s=e(o.wxh,a),u=e(o.whh,r),d=t(s,u,o.bh);c=d.map(i),l.push({t:n+1,x:a,hPrev:r,fromInput:s,fromState:u,z:d,h:c,o:t(e(o.who,c),o.bo)})}return l}function f(e,t,n,r,a){let o=t*e,s=n*r,c=o+s;return{f:t,i:n,g:r,o:a,cPrev:e,c,h:a*i(c),kept:o,written:s}}function p(e,t,n,r){let i=(1-t)*e,a=t*r;return{z:t,r:n,cand:r,hPrev:e,h:i+a,kept:i,written:a}}function m(e,t){return Array.from({length:t+1},(t,n)=>Math.abs(e)**n)}function h(e,t=.01){let n=Math.abs(e);return n>=1?null:n===0?0:Math.floor(Math.log(t)/Math.log(n))}export{m as a,u as c,i as d,h as f,l as i,d as l,s as n,p as o,c as r,f as s,a as t,r as u}; \ No newline at end of file diff --git a/lecture-05/index.html b/lecture-05/index.html new file mode 100644 index 0000000000000000000000000000000000000000..34a474fc6b88dbfac2c53a3f658e89b48e51ffdd --- /dev/null +++ b/lecture-05/index.html @@ -0,0 +1,30 @@ + + + + + +Recurrent Neural Networks - Slidev + + + + + + + + + + + + + + + + + + + +
+
+ + + diff --git a/lecture-05/slides.pdf b/lecture-05/slides.pdf new file mode 100644 index 0000000000000000000000000000000000000000..61871dec16d74546c2b98d9c431093b8ff865a31 --- /dev/null +++ b/lecture-05/slides.pdf @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:837729e36a66074e90addab5185dbf0fe307c9956e0921605da755c01c83605b +size 3832768