(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)}})();var e=[`rock`,`paper`,`scissors`],t={rock:`scissors`,paper:`rock`,scissors:`paper`},n=e=>document.getElementById(e),r=new URLSearchParams(location.search),i=r.get(`models`)===`local`?`/models/`:`hub`,a=Number(r.get(`frame`)??384),o=600,s=Number(r.get(`tokens`)??128),c={vision:r.get(`vision`)??`q8`,decoder:r.get(`decoder`)??`q8`},l=.45,u=.1,d={rock:`✊`,paper:`✋`,scissors:`✌️`,none:`·`},f=new Worker(new URL(new URL(`worker-8R7nd9yW.js`,import.meta.url).href,``+import.meta.url),{type:`module`}),p=1,m=new Map,h=null;f.onmessage=e=>{let t=e.data;t.type===`read`?(m.get(t.id)?.(t),m.delete(t.id)):t.type===`error`?v(`d1 failed: ${t.message.split(` `)[0]}`,!0):h?.(t)};var g=e=>f.postMessage(e);function _(e){let t=p++;return new Promise(n=>{m.set(t,n),g({type:`read`,id:t,frame:e})})}function v(e,t=!1){n(`status`).textContent=e,n(`status`).className=t?`error`:`muted`}function y(){return new Promise(e=>{n(`progress`).hidden=!1,v(`Downloading d1-3B (about 3.8 GB, cached after the first time)…`),h=t=>{t.type===`progress`&&t.total&&(n(`progress`).firstElementChild.style.width=`${100*t.loaded/t.total}%`),t.type===`loaded`&&(n(`progress`).hidden=!0,v(`d1 is ready (${(t.ms/1e3).toFixed(0)} s to load).`),e())},g({type:`load`,source:i,imageTokens:s,dtype:c})})}var b=n(`video`),x=document.createElement(`canvas`);async function S(){b.srcObject=await navigator.mediaDevices.getUserMedia({video:{width:640,height:480,facingMode:`user`},audio:!1}),await b.play(),n(`cam-off`).hidden=!0}function C(){let e=Math.min(1,a/Math.max(b.videoWidth,b.videoHeight)),t=Math.round(b.videoWidth*e),n=Math.round(b.videoHeight*e);x.width=t,x.height=n;let r=x.getContext(`2d`,{willReadFrequently:!0});return r.setTransform(-1,0,0,1,t,0),r.drawImage(b,0,0,t,n),{data:r.getImageData(0,0,t,n).data,width:t,height:n}}function w(t){let r=[...e,`none`].map(e=>`
`).join(``);n(`meter`).innerHTML=r,n(`read-info`).textContent=`read in ${Math.round(t.ms)} ms · ${t.tokens} tokens`}var T=e=>{let[[t,n],[,r]]=Object.entries(e.probabilities).sort((e,t)=>t[1]-e[1]);return[t,n,n-r]},E=!1;async function D(){for(E=!0;E;)O?await new Promise(e=>setTimeout(e,100)):w(await _(C()))}var O=!1,k=0,A=0,j=0,M=e=>new Promise(t=>setTimeout(t,e));function N(e){n(`card`).className=e?`card up`:`card down`,n(`card-face`).textContent=e?d[e]:`?`}async function P(){if(O)return;O=!0,n(`play`).disabled=!0,n(`result`).textContent=``;let r=e[Math.floor(Math.random()*3)];N(null);let i=n(`beat`);i.hidden=!1;for(let e of[`Rock…`,`Paper…`,`Scissors…`])i.textContent=e,await M(o);i.textContent=`Shoot!`;let a=_(C());i.textContent=`d1 is looking…`;let s=await a;w(s),N(r);let[c,f,p]=T(s);if(c===`none`||f