diff --git a/assets/js/main.js b/assets/js/main.js index cae5744..4b0fd01 100644 --- a/assets/js/main.js +++ b/assets/js/main.js @@ -1 +1 @@ -(function(Wr){"use strict";function Pr(r,e,n){return n.a=r,n.f=e,n}function c(r){return Pr(2,r,function(e){return function(n){return r(e,n)}})}function D(r){return Pr(3,r,function(e){return function(n){return function(t){return r(e,n,t)}}})}function W(r){return Pr(4,r,function(e){return function(n){return function(t){return function(a){return r(e,n,t,a)}}}})}function ar(r){return Pr(5,r,function(e){return function(n){return function(t){return function(a){return function(u){return r(e,n,t,a,u)}}}}})}function ye(r){return Pr(6,r,function(e){return function(n){return function(t){return function(a){return function(u){return function(i){return r(e,n,t,a,u,i)}}}}}})}function _t(r){return Pr(7,r,function(e){return function(n){return function(t){return function(a){return function(u){return function(i){return function(o){return r(e,n,t,a,u,i,o)}}}}}}})}function bt(r){return Pr(8,r,function(e){return function(n){return function(t){return function(a){return function(u){return function(i){return function(o){return function(s){return r(e,n,t,a,u,i,o,s)}}}}}}}})}function ht(r){return Pr(9,r,function(e){return function(n){return function(t){return function(a){return function(u){return function(i){return function(o){return function(s){return function(f){return r(e,n,t,a,u,i,o,s,f)}}}}}}}}})}function $(r,e,n){return r.a===2?r.f(e,n):r(e)(n)}function v(r,e,n,t){return r.a===3?r.f(e,n,t):r(e)(n)(t)}function F(r,e,n,t,a){return r.a===4?r.f(e,n,t,a):r(e)(n)(t)(a)}function k(r,e,n,t,a,u){return r.a===5?r.f(e,n,t,a,u):r(e)(n)(t)(a)(u)}function an(r,e,n,t,a,u,i){return r.a===6?r.f(e,n,t,a,u,i):r(e)(n)(t)(a)(u)(i)}function mu(r,e,n,t,a,u,i,o){return r.a===7?r.f(e,n,t,a,u,i,o):r(e)(n)(t)(a)(u)(i)(o)}function _u(r,e,n,t,a,u,i,o,s){return r.a===8?r.f(e,n,t,a,u,i,o,s):r(e)(n)(t)(a)(u)(i)(o)(s)}function Jf(r,e,n,t,a,u,i,o,s,f){return r.a===9?r.f(e,n,t,a,u,i,o,s,f):r(e)(n)(t)(a)(u)(i)(o)(s)(f)}function te(r,e){for(var n,t=[],a=un(r,e,0,t);a&&(n=t.pop());a=un(n.a,n.b,0,t));return a}function un(r,e,n,t){if(r===e)return!0;if(typeof r!="object"||r===null||e===null)return typeof r=="function"&&fr(5),!1;if(n>100)return t.push(l(r,e)),!0;r.$<0&&(r=ke(r),e=ke(e));for(var a in r)if(!un(r[a],e[a],n+1,t))return!1;return!0}var bu=c(te),hu=c(function(r,e){return!te(r,e)});function rr(r,e,n){if(typeof r!="object")return r===e?0:r0}),Uf=c(function(r,e){return rr(r,e)>=0}),gu=c(function(r,e){var n=rr(r,e);return n<0?Xt:n?Ji:Zt}),Vr=0,kf={$:"#0"};function l(r,e){return{a:r,b:e}}function Lf(r,e){return{$:"#2",a:r,b:e}}function Of(r,e,n){return{a:r,b:e,c:n}}function Rf(r,e,n){return{$:"#3",a:r,b:e,c:n}}function Hf(r){return r}function If(r){return new String(r)}function j(r,e){var n={};for(var t in r)n[t]=r[t];for(var t in e)n[t]=e[t];return n}var wu=c(C);function C(r,e){if(typeof r=="string")return r+e;if(!r.b)return e;var n=Sr(r.a,e);r=r.b;for(var t=n;r.b;r=r.b)t=t.b=Sr(r.a,e);return n}var p={$:0},zf={$:"[]"};function Sr(r,e){return{$:1,a:r,b:e}}function Wf(r,e){return{$:"::",a:r,b:e}}var Du=c(Sr);function _(r){for(var e=p,n=r.length;n--;)e=Sr(r[n],e);return e}function Pe(r){for(var e=[];r.b;r=r.b)e.push(r.a);return e}var Cu=D(function(r,e,n){for(var t=[];e.b&&n.b;e=e.b,n=n.b)t.push($(r,e.a,n.a));return _(t)}),qf=W(function(r,e,n,t){for(var a=[];e.b&&n.b&&t.b;e=e.b,n=n.b,t=t.b)a.push(v(r,e.a,n.a,t.a));return _(a)}),Qf=ar(function(r,e,n,t,a){for(var u=[];e.b&&n.b&&t.b&&a.b;e=e.b,n=n.b,t=t.b,a=a.b)u.push(F(r,e.a,n.a,t.a,a.a));return _(u)}),Gf=ye(function(r,e,n,t,a,u){for(var i=[];e.b&&n.b&&t.b&&a.b&&u.b;e=e.b,n=n.b,t=t.b,a=a.b,u=u.b)i.push(k(r,e.a,n.a,t.a,a.a,u.a));return _(i)}),Yf=c(function(r,e){return _(Pe(e).sort(function(n,t){return rr(r(n),r(t))}))}),Zf=c(function(r,e){return _(Pe(e).sort(function(n,t){var a=$(r,n,t);return a===Zt?0:a===Xt?-1:1}))}),Bu=[];function Xf(r){return[r]}function ju(r){return r.length}var yu=D(function(r,e,n){for(var t=new Array(r),a=0;a=0;t--)e=$(r,n[t],e);return e}),ev=c(function(r,e){for(var n=e.length,t=new Array(n),a=0;an.length&&(a=n.length);for(var u=t+a,i=new Array(u),o=0;o"}function cv(r){return Dr(!1,r)}function Dr(r,e){if(typeof e=="function")return Me(r,"");if(typeof e=="boolean")return ae(r,e?"True":"False");if(typeof e=="number")return Mu(r,e+"");if(e instanceof String)return Eu(r,"'"+dt(e,!0)+"'");if(typeof e=="string")return St(r,'"'+dt(e,!1)+'"');if(typeof e=="object"&&"$"in e){var n=e.$;if(typeof n=="number")return Me(r,"");if(n[0]==="#"){var a=[];for(var t in e)t!=="$"&&a.push(Dr(r,e[t]));return"("+a.join(",")+")"}if(n==="Set_elm_builtin")return ae(r,"Set")+Ae(r,".fromList")+" "+Dr(r,ki(e));if(n==="RBNode_elm_builtin"||n==="RBEmpty_elm_builtin")return ae(r,"Dict")+Ae(r,".fromList")+" "+Dr(r,ke(e));if(n==="Array_elm_builtin")return ae(r,"Array")+Ae(r,".fromList")+" "+Dr(r,Oi(e));if(n==="::"||n==="[]"){var a="[";for(e.b&&(a+=Dr(r,e.a),e=e.b);e.b;e=e.b)a+=","+Dr(r,e.a);return a+"]"}var a="";for(var u in e)if(u!=="$"){var i=Dr(r,e[u]),o=i[0],s=o==="{"||o==="("||o==="["||o==="<"||o==='"'||i.indexOf(" ")<0;a+=" "+(s?i:"("+i+")")}return ae(r,n)+a}if(typeof DataView=="function"&&e instanceof DataView)return St(r,"<"+e.byteLength+" bytes>");if(typeof File!="undefined"&&e instanceof File)return Me(r,"<"+e.name+">");if(typeof e=="object"){var a=[];for(var f in e){var m=f[0]==="_"?f.slice(1):f;a.push(Ae(r,m)+" = "+Dr(r,e[f]))}return a.length===0?"{}":"{ "+a.join(", ")+" }"}return Me(r,"")}function dt(r,e){var n=r.replace(/\\/g,"\\\\").replace(/\n/g,"\\n").replace(/\t/g,"\\t").replace(/\r/g,"\\r").replace(/\v/g,"\\v").replace(/\0/g,"\\0");return e?n.replace(/\'/g,"\\'"):n.replace(/\"/g,'\\"')}function ae(r,e){return r?"\x1B[96m"+e+"\x1B[0m":e}function Mu(r,e){return r?"\x1B[95m"+e+"\x1B[0m":e}function St(r,e){return r?"\x1B[93m"+e+"\x1B[0m":e}function Eu(r,e){return r?"\x1B[92m"+e+"\x1B[0m":e}function Ae(r,e){return r?"\x1B[37m"+e+"\x1B[0m":e}function Me(r,e){return r?"\x1B[36m"+e+"\x1B[0m":e}function sv(r){return String.fromCharCode(r<10?48+r:55+r)}function fr(r){throw new Error("https://github.com/elm/core/blob/1.0.0/hints/"+r+".md")}function fv(r,e,n,t,a){switch(r){case 0:throw new Error('What node should I take over? In JavaScript I need something like:\n\n Elm.Main.init({\n node: document.getElementById("elm-node")\n })\n\nYou need to do this with any Browser.sandbox or Browser.element program.');case 1:throw new Error("Browser.application programs cannot handle URLs like this:\n\n "+document.location.href+"\n\nWhat is the root? The root of your file system? Try looking at this program with `elm reactor` or some other server.");case 2:var u=e;throw new Error("Problem with the flags given to your Elm program on initialization.\n\n"+u);case 3:var i=e;throw new Error("There can only be one port named `"+i+"`, but your program has multiple.");case 4:var i=e,o=n;throw new Error("Trying to send an unexpected type of value through port `"+i+"`:\n"+o);case 5:throw new Error('Trying to use `(==)` on functions.\nThere is no way to know if functions are "the same" in the Elm sense.\nRead more about this at https://package.elm-lang.org/packages/elm/core/latest/Basics#== which describes why it is this way and what the better version will look like.');case 6:var s=e;throw new Error("Your page is loading multiple Elm scripts with a module named "+s+". Maybe a duplicate script is getting loaded accidentally? If not, rename one of them so I know which is which!");case 8:var s=e,f=n,b=t;throw new Error("TODO in module `"+s+"` "+gt(f)+"\n\n"+b);case 9:var s=e,f=n,m=t,b=a;throw new Error("TODO in module `"+s+"` from the `case` expression "+gt(f)+"\n\nIt received the following value:\n\n "+pt(m).replace("\n","\n ")+"\n\nBut the branch that handles it says:\n\n "+b.replace("\n","\n "));case 10:throw new Error("Bug in https://github.com/elm/virtual-dom/issues");case 11:throw new Error("Cannot perform mod 0. Division by zero error.")}}function gt(r){return r.bo.aF===r.bI.aF?"on line "+r.bo.aF:"on lines "+r.bo.aF+" through "+r.bI.aF}var Tu=c(function(r,e){return r+e}),Fu=c(function(r,e){return r-e}),Vu=c(function(r,e){return r*e}),Ju=c(function(r,e){return r/e}),Uu=c(function(r,e){return r/e|0}),ku=c(Math.pow),Lu=c(function(r,e){return e%r}),Ou=c(function(r,e){var n=e%r;return r===0?fr(11):n>0&&r<0||n<0&&r>0?n+r:n}),vv=Math.PI,lv=Math.E,mv=Math.cos,_v=Math.sin,bv=Math.tan,hv=Math.acos,pv=Math.asin,dv=Math.atan,Sv=c(Math.atan2);function Ru(r){return r}function gv(r){return r|0}function wv(r){return r===1/0||r===-1/0}var Hu=Math.ceil,Iu=Math.floor,Dv=Math.round,Cv=Math.sqrt,wt=Math.log,Bv=isNaN;function zu(r){return!r}var Wu=c(function(r,e){return r&&e}),qu=c(function(r,e){return r||e}),jv=c(function(r,e){return r!==e}),Qu=c(function(r,e){return r+e});function Gu(r){var e=r.charCodeAt(0);return isNaN(e)?T:K(55296<=e&&e<=56319?l(r[0]+r[1],r.slice(2)):l(r[0],r.slice(1)))}var Yu=c(function(r,e){return r+e});function Zu(r){return r.length}var yv=c(function(r,e){for(var n=e.length,t=new Array(n),a=0;a-1}),u$=c(function(r,e){return e.indexOf(r)===0}),$$=c(function(r,e){return e.length>=r.length&&e.lastIndexOf(r)===e.length-r.length}),i$=c(function(r,e){var n=r.length;if(n<1)return p;for(var t=0,a=[];(t=e.indexOf(r,t))>-1;)a.push(t),t=t+n;return _(a)});function Dt(r){return r+""}function o$(r){for(var e=0,n=r.charCodeAt(0),t=n==43||n==45?1:0,a=t;a=e.length)return $r("a LONGER array. Need index "+t+" but only see "+e.length+" entries",e);var f=ur(r.b,e[t]);return br(f)?f:z($(Nt,t,f.a));case 8:if(typeof e!="object"||e===null||Ee(e))return $r("an OBJECT",e);var a=p;for(var u in e)if(e.hasOwnProperty(u)){var f=ur(r.b,e[u]);if(!br(f))return z($(Kt,u,f.a));a=Sr(l(u,f.a),a)}return L(H(a));case 9:for(var i=r.f,o=r.g,s=0;s=0&&e.splice(o,1)}return{subscribe:a,unsubscribe:u}}function vl(r,e){return Tt(r),er[r]={f:W$,u:e,a:q$},mn(r)}var W$=c(function(r,e){return function(n){return r(e(n))}});function q$(r,e){var n=p,t=er[r].u,a=vr(null);er[r].b=a,er[r].c=D(function(i,o,s){return n=o,a});function u(i){var o=$($n,t,i);br(o)||fr(4,r,o.a);for(var s=o.a,f=n;f.b;f=f.b)e(f.a(s))}return{send:u}}function Q$(r){Wr.Elm?Ft(Wr.Elm,r):Wr.Elm=r}function Ft(r,e){for(var n in e)n in r?n=="init"?fr(6):Ft(r[n],e[n]):r[n]=e[n]}function ll(r){Wr.Elm?Vt("Elm",Wr.Elm,r):Wr.Elm=r}function Vt(r,e,n){for(var t in n)t in e?t=="init"?fr(6,r):Vt(r+"."+t,e[t],n[t]):e[t]=n[t]}var Fe,nr=typeof document!="undefined"?document:{};function bn(r,e){r.appendChild(e)}var ml=W(function(r,e,n,t){var a=t.node;return a.parentNode.replaceChild(Er(r,function(){}),a),{}});function hn(r){return{$:0,a:r}}var Jt=c(function(r,e){return c(function(n,t){for(var a=[],u=0;t.b;t=t.b){var i=t.a;u+=i.b||0,a.push(i)}return u+=a.length,{$:1,c:e,d:dn(n),e:a,f:r,b:u}})}),pn=Jt(void 0),Ut=c(function(r,e){return c(function(n,t){for(var a=[],u=0;t.b;t=t.b){var i=t.a;u+=i.b.b||0,a.push(i)}return u+=a.length,{$:2,c:e,d:dn(n),e:a,f:r,b:u}})}),G$=Ut(void 0);function _l(r,e,n,t){return{$:3,d:dn(r),g:e,h:n,i:t}}var bl=c(function(r,e){return{$:4,j:r,k:e,b:1+(e.b||0)}});function Mr(r,e){return{$:5,l:r,m:e,k:void 0}}var hl=c(function(r,e){return Mr([r,e],function(){return r(e)})}),pl=D(function(r,e,n){return Mr([r,e,n],function(){return $(r,e,n)})}),dl=W(function(r,e,n,t){return Mr([r,e,n,t],function(){return v(r,e,n,t)})}),Sl=ar(function(r,e,n,t,a){return Mr([r,e,n,t,a],function(){return F(r,e,n,t,a)})}),gl=ye(function(r,e,n,t,a,u){return Mr([r,e,n,t,a,u],function(){return k(r,e,n,t,a,u)})}),wl=_t(function(r,e,n,t,a,u,i){return Mr([r,e,n,t,a,u,i],function(){return an(r,e,n,t,a,u,i)})}),Dl=bt(function(r,e,n,t,a,u,i,o){return Mr([r,e,n,t,a,u,i,o],function(){return mu(r,e,n,t,a,u,i,o)})}),Cl=ht(function(r,e,n,t,a,u,i,o,s){return Mr([r,e,n,t,a,u,i,o,s],function(){return _u(r,e,n,t,a,u,i,o,s)})}),kt=c(function(r,e){return{$:"a0",n:r,o:e}}),Bl=c(function(r,e){return{$:"a1",n:r,o:e}}),Y$=c(function(r,e){return{$:"a2",n:r,o:e}}),Lt=c(function(r,e){return{$:"a3",n:r,o:e}}),jl=D(function(r,e,n){return{$:"a4",n:e,o:{f:r,o:n}}}),Z$=/^script$/i,X$=/^(on|formAction$)/i,K$=/^\s*j\s*a\s*v\s*a\s*s\s*c\s*r\s*i\s*p\s*t\s*:/i,Ot=/^\s*(j\s*a\s*v\s*a\s*s\s*c\s*r\s*i\s*p\s*t\s*:|d\s*a\s*t\s*a\s*:\s*t\s*e\s*x\s*t\s*\/\s*h\s*t\s*m\s*l\s*(,|;))/i;function Ve(r){return Z$.test(r)?"p":r}function N$(r){return X$.test(r)?"data-"+r:r}function x$(r){return r=="innerHTML"||r=="formAction"?"data-"+r:r}function yl(r){return K$.test(r)?"":r}function ri(r){return Ot.test(r)?"":r}function ei(r){return typeof r=="string"&&Ot.test(r)?"":r}var Pl=c(function(r,e){return e.$==="a0"?$(kt,e.n,ni(r,e.o)):e});function ni(r,e){var n=Mn(e);return{$:e.$,a:n?v(fo,n<3?ti:ai,fe(r),e.a):$(se,r,e.a)}}var ti=c(function(r,e){return l(r(e.a),e.b)}),ai=c(function(r,e){return{I:r(e.I),bp:e.bp,bk:e.bk}});function dn(r){for(var e={};r.b;r=r.b){var n=r.a,t=n.$,a=n.n,u=n.o;if(t==="a2"){a==="className"?Rt(e,a,u):e[a]=u;continue}var i=e[t]||(e[t]={});t==="a3"&&a==="class"?Rt(i,a,u):i[a]=u}return e}function Rt(r,e,n){var t=r[e];r[e]=t?t+" "+n:n}function Er(r,e){var n=r.$;if(n===5)return Er(r.k||(r.k=r.m()),e);if(n===0)return nr.createTextNode(r.a);if(n===4){for(var t=r.k,a=r.j;t.$===4;)typeof a!="object"?a=[a,t.j]:a.push(t.j),t=t.k;var u={j:a,p:e},i=Er(t,u);return i.elm_event_node_ref=u,i}if(n===3){var i=r.h(r.g);return Sn(i,e,r.d),i}var i=r.f?nr.createElementNS(r.f,r.c):nr.createElement(r.c);Fe&&r.c=="a"&&i.addEventListener("click",Fe(i)),Sn(i,e,r.d);for(var o=r.e,s=0;s0&&X(n,1,t,m);return;case 4:for(var b=r.j,d=e.j,h=!1,g=r.k;g.$===4;)h=!0,typeof b!="object"?b=[b,g.j]:b.push(g.j),g=g.k;for(var w=e.k;w.$===4;)h=!0,typeof d!="object"?d=[d,w.j]:d.push(w.j),w=w.k;if(h&&b.length!==d.length){X(n,0,t,e);return}(h?!fi(b,d):b!==d)&&X(n,2,t,d),lr(g,w,n,t+1);return;case 0:r.a!==e.a&&X(n,3,t,e.a);return;case 1:It(r,e,n,t,vi);return;case 2:It(r,e,n,t,li);return;case 3:if(r.h!==e.h){X(n,0,t,e);return}var B=wn(r.d,e.d);B&&X(n,4,t,B);var M=e.i(r.g,e.g);M&&X(n,5,t,M);return}}}function fi(r,e){for(var n=0;no?X(n,6,t,{v:o,i:i-o}):i0||i.length>0||dr)&&X(n,8,t,{w:a,x:i,y:dr})}var zt="_elmW6BL";function $e(r,e,n,t,a,u){var i=r[n];if(!i){i={c:0,z:t,r:a,s:void 0},u.push({r:a,A:i}),r[n]=i;return}if(i.c===1){u.push({r:a,A:i}),i.c=2;var o=[];lr(i.z,t,o,i.r),i.r=a,i.s.s={w:o,A:i};return}$e(r,e,n+zt,t,a,u)}function ie(r,e,n,t,a){var u=r[n];if(!u){var i=X(e,9,a,void 0);r[n]={c:1,z:t,r:a,s:i};return}if(u.c===0){u.c=2;var o=[];lr(t,u.z,o,a),X(e,9,a,{w:o,A:u});return}ie(r,e,n+zt,t,a)}function Wt(r,e,n,t){oe(r,e,n,0,0,e.b,t)}function oe(r,e,n,t,a,u,i){for(var o=n[t],s=o.r;s===a;){var f=o.$;if(f===1)Wt(r,e.k,o.s,i);else if(f===8){o.t=r,o.u=i;var m=o.s.w;m.length>0&&oe(r,e,m,0,a,u,i)}else if(f===9){o.t=r,o.u=i;var b=o.s;if(b){b.A.s=r;var m=b.w;m.length>0&&oe(r,e,m,0,a,u,i)}}else o.t=r,o.u=i;if(t++,!(o=n[t])||(s=o.r)>u)return t}var d=e.$;if(d===4){for(var h=e.k;h.$===4;)h=h.k;return oe(r,h,n,t,a+1,u,r.elm_event_node_ref)}for(var g=e.e,w=r.childNodes,B=0;Bu))return t;a=y}return t}function qt(r,e,n,t){return n.length===0?r:(Wt(r,e,n,t),Je(r,n))}function Je(r,e){for(var n=0;n>r}),Ti=c(function(r,e){return e>>>r}),Fi=function(r){return{$:0,a:r}},Vi=function(r){return{$:1,a:r}},Zt=1,Ji=2,Xt=0,S=Du,Bn=D(function(r,e,n){r:for(;;){if(n.$===-2)return e;var t=n.b,a=n.c,u=n.d,i=n.e,o=r,s=v(r,t,a,v(Bn,r,e,i)),f=u;r=o,e=s,n=f;continue r}}),ke=function(r){return v(Bn,D(function(e,n,t){return $(S,l(e,n),t)}),p,r)},Ui=function(r){return v(Bn,D(function(e,n,t){return $(S,e,t)}),p,r)},ki=function(r){var e=r;return Ui(e)},Le=Au,Li=D(function(r,e,n){var t=n.c,a=n.d,u=c(function(i,o){if(i.$){var f=i.a;return v(Le,r,o,f)}else{var s=i.a;return v(Le,u,o,s)}});return v(Le,u,v(Le,r,e,a),t)}),Oi=function(r){return v(Li,S,p,r)},z=function(r){return{$:1,a:r}},jn=c(function(r,e){return{$:3,a:r,b:e}}),Kt=c(function(r,e){return{$:0,a:r,b:e}}),Nt=c(function(r,e){return{$:1,a:r,b:e}}),L=function(r){return{$:0,a:r}},Ri=function(r){return{$:2,a:r}},ql=1,Ql=Tu,K=function(r){return{$:0,a:r}},T={$:1},Hi=t$,Gl=Wu,Ii=wu,zi=D$,Gr=Dt,mr=c(function(r,e){return $(xu,r,Pe(e))}),Oe=c(function(r,e){return _($(Nu,r,e))}),xt=function(r){return $(mr,"\n ",$(Oe,"\n",r))},V=D(function(r,e,n){r:for(;;)if(n.b){var t=n.a,a=n.b,u=r,i=$(r,t,e),o=a;r=u,e=i,n=o;continue r}else return e}),Jr=function(r){return v(V,c(function(e,n){return n+1}),0,r)},Wi=Cu,Yl=du,Zl=Fu,qi=D(function(r,e,n){r:for(;;)if(rr(r,e)<1){var t=r,a=e-1,u=$(S,e,n);r=t,e=a,n=u;continue r}else return n}),Qi=c(function(r,e){return v(qi,r,e,p)}),Gi=c(function(r,e){return v(Wi,r,$(Qi,0,Jr(e)-1),e)}),Re=f$,ra=function(r){var e=Re(r);return 97<=e&&e<=122},ea=function(r){var e=Re(r);return e<=90&&65<=e},Xl=qu,Yi=function(r){return ra(r)||ea(r)},Zi=function(r){var e=Re(r);return e<=57&&48<=e},Xi=function(r){return ra(r)||ea(r)||Zi(r)},H=function(r){return v(V,S,p,r)},Ki=Gu,Ni=c(function(r,e){return"\n\n("+(Gr(r+1)+(") "+xt(xi(e))))}),xi=function(r){return $(ro,r,p)},ro=c(function(r,e){r:for(;;)switch(r.$){case 0:var n=r.a,i=r.b,t=function(){var w=Ki(n);if(w.$===1)return!1;var B=w.a,M=B.a,y=B.b;return Yi(M)&&$(Hi,Xi,y)}(),a=t?"."+n:"['"+(n+"']"),s=i,f=$(S,a,e);r=s,e=f;continue r;case 1:var u=r.a,i=r.b,o="["+(Gr(u)+"]"),s=i,f=$(S,o,e);r=s,e=f;continue r;case 2:var m=r.a;if(m.b)if(m.b.b){var b=function(){return e.b?"The Json.Decode.oneOf at json"+$(mr,"",H(e)):"Json.Decode.oneOf"}(),g=b+(" failed in the following "+(Gr(Jr(m))+" ways:"));return $(mr,"\n\n",$(S,g,$(Gi,Ni,m)))}else{var i=m.a,s=i,f=e;r=s,e=f;continue r}else return"Ran into a Json.Decode.oneOf with no possibilities"+function(){return e.b?" at json"+$(mr,"",H(e)):"!"}();default:var d=r.a,h=r.b,g=function(){return e.b?"Problem with the value at json"+($(mr,"",H(e))+":\n\n "):"Problem with the given value:\n\n"}();return g+(xt($(zi,4,h))+("\n\n"+d))}}),_r=32,yn=W(function(r,e,n,t){return{$:0,a:r,b:e,c:n,d:t}}),Pn=Bu,na=Hu,Kl=Ju,ta=c(function(r,e){return wt(e)/wt(r)}),Nl=Ru,An=na($(ta,2,_r)),eo=F(yn,0,An,Pn,Pn),aa=yu,no=function(r){return{$:1,a:r}},xl=c(function(r,e){return r(e)}),rm=c(function(r,e){return e(r)}),em=bu,to=Iu,ua=ju,nm=Su,ao=c(function(r,e){return rr(r,e)>0?r:e}),tm=Vu,uo=function(r){return{$:0,a:r}},$a=Pu,$o=c(function(r,e){r:for(;;){var n=$($a,_r,r),t=n.a,a=n.b,u=$(S,uo(t),e);if(a.b){var i=a,o=u;r=i,e=o;continue r}else return H(u)}}),am=function(r){var e=r.a;return e},io=c(function(r,e){r:for(;;){var n=na(e/_r);if(n===1)return $($a,_r,r).a;var t=$($o,r,p),a=n;r=t,e=a;continue r}}),oo=c(function(r,e){if(e.h){var n=e.h*_r,t=to($(ta,_r,n-1)),a=r?H(e.k):e.k,u=$(io,a,e.h);return F(yn,ua(e.j)+n,$(ao,5,t*An),u,e.j)}else return F(yn,ua(e.j),An,Pn,e.j)}),um=Uu,$m=pu,co=ar(function(r,e,n,t,a){r:for(;;){if(e<0)return $(oo,!1,{k:t,h:n/_r|0,j:a});var u=no(v(aa,_r,e,r)),i=r,o=e-_r,s=n,f=$(S,u,t),m=a;r=i,e=o,n=s,t=f,a=m;continue r}}),im=Lu,so=c(function(r,e){if(r<=0)return eo;var n=r%_r,t=v(aa,n,r-n,e),a=r-n-_r;return k(co,e,a,r,p,t)}),om=0,br=function(r){return!r.$},se=d$,fo=S$,fe=v$,Mn=function(r){switch(r.$){case 0:return 0;case 1:return 1;case 2:return 2;default:return 3}},vo=function(r){return{$:1,a:r}},lo=function(r){return{$:0,a:r}},ve=function(r){return r},mo=ve,cm=0,sm=1,ia=ye(function(r,e,n,t,a,u){return{bM:u,bP:e,bX:t,bZ:n,b0:r,b1:a}}),_o=a$,oa=Zu,ca=r$,Ur=c(function(r,e){return r<1?e:v(ca,r,oa(e),e)}),He=i$,Yr=function(r){return r===""},Ie=c(function(r,e){return r<1?"":v(ca,0,r,e)}),bo=o$,sa=ar(function(r,e,n,t,a){if(Yr(a)||$(_o,"@",a))return T;var u=$(He,":",a);if(u.b){if(u.b.b)return T;var i=u.a,o=bo($(Ur,i+1,a));if(o.$===1)return T;var s=o;return K(an(ia,r,$(Ie,i,a),s,e,n,t))}else return K(an(ia,r,a,T,e,n,t))}),fa=W(function(r,e,n,t){if(Yr(t))return T;var a=$(He,"/",t);if(a.b){var u=a.a;return k(sa,r,$(Ur,u,t),e,n,$(Ie,u,t))}else return k(sa,r,"/",e,n,t)}),va=D(function(r,e,n){if(Yr(n))return T;var t=$(He,"?",n);if(t.b){var a=t.a;return F(fa,r,K($(Ur,a+1,n)),e,$(Ie,a,n))}else return F(fa,r,T,e,n)}),la=c(function(r,e){if(Yr(e))return T;var n=$(He,"#",e);if(n.b){var t=n.a;return v(va,r,K($(Ur,t+1,e)),$(Ie,t,e))}else return v(va,r,T,e)}),le=u$,ma=function(r){return $(le,"http://",r)?$(la,0,$(Ur,7,r)):$(le,"https://",r)?$(la,1,$(Ur,8,r)):T},me=function(r){r:for(;;){var e=r,n=e;r=n;continue r}},fm=ve,kr=vr,ho=kr(0),_a=W(function(r,e,n,t){if(t.b){var a=t.a,u=t.b;if(u.b){var i=u.a,o=u.b;if(o.b){var s=o.a,f=o.b;if(f.b){var m=f.a,b=f.b,d=n>500?v(V,r,e,H(b)):F(_a,r,e,n+1,b);return $(r,a,$(r,i,$(r,s,$(r,m,d))))}else return $(r,a,$(r,i,$(r,s,e)))}else return $(r,a,$(r,i,e))}else return $(r,a,e)}else return e}),Lr=D(function(r,e,n){return F(_a,r,e,0,n)}),E=c(function(r,e){return v(Lr,c(function(n,t){return $(S,r(n),t)}),p,e)}),_e=cn,En=c(function(r,e){return $(_e,function(n){return kr(r(n))},e)}),po=D(function(r,e,n){return $(_e,function(t){return $(_e,function(a){return kr($(r,t,a))},n)},e)}),So=function(r){return v(Lr,po(S),kr(p),r)},go=k$,wo=c(function(r,e){var n=e;return jt($(_e,go(r),n))}),Do=D(function(r,e,n){return $(En,function(t){return 0},So($(E,wo(r),e)))}),Co=D(function(r,e,n){return kr(0)}),Bo=c(function(r,e){var n=e;return $(En,r,n)});er.Task=J$(ho,Do,Co,Bo);var ba=mn("Task"),be=c(function(r,e){return ba($(En,r,e))}),jo=Di,yo={$:3},vm=0,he=D(function(r,e,n){return r(e(n))}),Po=y$,Ao=c(function(r,e){return ba($(Po,$(he,$(he,kr,r),z),$(_e,$(he,$(he,kr,r),L),e)))}),Mo=D(function(r,e,n){return{P:e,Q:n,R:r}}),ha=p$,Zr=c(function(r,e){return v(Lr,ha,e,r)}),Tn=m$,Eo=g$,To=F(Eo,Mo,$(Zr,_(["cookiesKept","keepTheme"]),Tn),$(Zr,_(["cookiesKept","keepFont"]),Tn),$(Zr,_(["cookiesKept","keepPrompt"]),Tn)),pe=$n,Fo=ji("focus"),Vo=function(r){return{o:r}},Jo=_$,Uo=$(se,Vo,$(Zr,_(["font","fontSize"]),Jo)),ko=function(r){return{l:r}},Fn=h$,Lo=$(se,ko,$(Zr,_(["prompt","prompt"]),Fn)),Oo=function(r){return{$:4,a:r}},pa=hn,Ro=function(r){return Oo(pa(r))},J=Ro,lm=1,mm=2,_m=3,da=l$,Ho=function(r){var e=$(pe,$(ha,"theme",Fn),r);if(e.$)return da("Error decoding theme field of json");switch(e.a){case"Pit":return fe(0);case"Dim":return fe(1);case"Sky":return fe(2);case"Sun":return fe(3);default:return da("Unknown value found in theme field of json")}},Io=D(function(r,e,n){var t=_([J("Welcome to my website! Pardon the alpha quality for the time being"),J("\nRun `help` to get started")]),a=function(){var u=$(pe,To,r);if(u.$)return{P:!0,Q:!0,R:!0};var i=u.a;return i}();return l({az:"",a:t,n:a,t:function(){if(a.P){var u=$(pe,Uo,r);if(u.$)return{o:20};var i=u.a;return i}else return{o:20}}(),be:n,l:function(){if(a.Q){var u=$(pe,Lo,r);if(u.$)return{l:">"};var i=u.a;return i}else return{l:">"}}(),as:function(){if(a.R){var u=$(pe,Ho(r),r);if(u.$)return 0;var i=u.a;return i}else return 0}(),br:e},$(Ao,function(u){return yo},Fo("init-focus")))}),zo=At,Wo=zo(p),qo=function(r){return Wo},bm=10,Sa=function(r){return{$:0,a:r}},hm=ve,ze=c(function(r,e){return Sa(r+(":"+e))}),Xr=function(r){return $(ze,"background-color",r.D)},Q=c(function(r,e){return $(ze,r,e.D)}),We=Q("border-width"),de=function(r){return $(ze,"color",r.D)},Kr=Q("margin"),Nr=Q("padding"),pm=0,dm=0,Vn=Dt,qe=D(function(r,e,n){return{bs:0,bC:0,af:0,o:0,aE:0,ai:0,H:0,aj:0,ak:0,S:0,T:0,B:0,al:0,J:n,aq:0,at:e,aN:r,D:C(Vn(n),e)}}),R=$(qe,0,"px"),Qo=D(function(r,e,n){return{$:0,a:r,b:e,c:n}}),Go=Qo,Jn=Go,Qe=Jn("span"),Un=D(function(r,e,n){return{$:0,a:r,b:e,c:n}}),xr=c(function(r,e){return $(Lt,N$(r),ri(e))}),Yo=c(function(r,e){r:for(;;)if(e.b){var n=e.a,t=e.b;if(r(n))return!0;var a=r,u=t;r=a,e=u;continue r}else return!1}),Zo=zu,ga=c(function(r,e){return!$(Yo,$(he,Zo,r),e)}),Sm=1,ir=ar(function(r,e,n,t,a){return{$:-1,a:r,b:e,c:n,d:t,e:a}}),kn={$:-2},gm=0,wa=ar(function(r,e,n,t,a){if(a.$===-1&&!a.a){var u=a.a,i=a.b,o=a.c,s=a.d,f=a.e;if(t.$===-1&&!t.a){var m=t.a,b=t.b,d=t.c,h=t.d,g=t.e;return k(ir,0,e,n,k(ir,1,b,d,h,g),k(ir,1,i,o,s,f))}else return k(ir,r,i,o,k(ir,0,e,n,t,s),f)}else if(t.$===-1&&!t.a&&t.d.$===-1&&!t.d.a){var w=t.a,b=t.b,d=t.c,B=t.d,M=B.a,y=B.b,G=B.c,I=B.d,O=B.e,g=t.e;return k(ir,0,b,d,k(ir,1,y,G,I,O),k(ir,1,e,n,g,a))}else return k(ir,r,e,n,t,a)}),Da=gu,Ln=D(function(r,e,n){if(n.$===-2)return k(ir,0,r,e,kn,kn);var t=n.a,a=n.b,u=n.c,i=n.d,o=n.e,s=$(Da,r,a);switch(s){case 0:return k(wa,t,a,u,v(Ln,r,e,i),o);case 1:return k(ir,t,a,e,i,o);default:return k(wa,t,a,u,i,v(Ln,r,e,o))}}),Ca=D(function(r,e,n){var t=v(Ln,r,e,n);if(t.$===-1&&!t.a){var a=t.a,u=t.b,i=t.c,o=t.d,s=t.e;return k(ir,1,u,i,o,s)}else{var f=t;return f}}),Br=function(r){return!r.b},Xo=c(function(r,e){var n=e.a,t=e.b;switch(r.$){case 0:var a=r.a,s=a.c;return Br(s)?l(n,t):l(n,$(S,r,t));case 1:var u=r.b;return $(ga,function(m){var b=m.c;return Br(b)},u)?l(n,t):l(n,$(S,r,t));case 2:var i=r.b;return Br(i)?l(n,t):l(n,$(S,r,t));case 3:return l(n,$(S,r,t));case 4:var s=r.a;return Br(s)?l(n,t):l(n,$(S,r,t));case 5:var s=r.a;return Br(s)?l(n,t):l(n,$(S,r,t));case 6:var o=r.a;return Yr(o.ct)?l(n,t):l(v(Ca,o.cF,o.ct,n),t);case 7:var s=r.a;return Br(s)?l(n,t):l(n,$(S,r,t));case 8:var s=r.a;return Br(s)?l(n,t):l(n,$(S,r,t));default:var f=r.a;return $(ga,function(m){var b=m.b;return Br(b)},f)?l(n,t):l(n,$(S,r,t))}}),Se=kn,Ba=function(r){return{$:6,a:r}},On=c(function(r,e){return e.b?v(Lr,S,e,r):r}),Ko=c(function(r,e){return $(On,$(E,function(n){var t=n.a,a=n.b;return Ba({ct:a,cF:t})},ke(r)),e)}),No=function(r){var e=v(Lr,Xo,l(Se,p),r),n=e.a,t=e.b;return $(Ko,n,t)},xo=function(r){var e=r.cu,n=r.bU,t=r.bQ,a=r.bF;return{bF:a,cu:No(e),bQ:t,bU:n}},Ge=c(function(r,e){if(e.$)return T;var n=e.a;return K(r(n))}),hr=c(function(r,e){if(e.$)return r;var n=e.a;return n}),rc=function(r){return $(hr,"",$(Ge,function(e){return'@charset "'+(e+'"')},r))},ec=W(function(r,e,n,t){r:for(;;)if(n.b)if(n.b.b){var a=n.a,u=n.b,i=r,o=e,s=u,f=t+(r(a)+(e+""));r=i,e=o,n=s,t=f;continue r}else{var a=n.a;return t+(r(a)+"")}else return t}),or=D(function(r,e,n){return F(ec,r,e,n,"")}),ja=function(r){return"("+(r.bK+($(hr,"",$(Ge,Ii(": "),r.D))+")"))},nc=function(r){switch(r){case 0:return"print";case 1:return"screen";default:return"speech"}},ya=function(r){var e=D(function(u,i,o){return u+(" "+$(mr," and ",$(S,nc(i),$(E,ja,o))))});switch(r.$){case 0:var t=r.a;return v(or,ja," and ",t);case 1:var n=r.a,t=r.b;return v(e,"only",n,t);case 2:var n=r.a,t=r.b;return v(e,"not",n,t);default:var a=r.a;return a}},tc=c(function(r,e){return'@import "'+(r+(ya(e)+'"'))}),ac=function(r){var e=r.a,n=r.b;return v(or,tc(e),"\n",n)},uc=function(r){var e=r.a,n=r.b;return"@namespace "+(e+('"'+(n+'"')))},$c=function(r){return v(or,function(e){var n=e;return n+";"},"",r)},ic=Yu,oc=function(r){var e=r;return"::"+e},cc=function(r){switch(r){case 0:return"+";case 1:return"~";case 2:return">";default:return""}},Rn=function(r){switch(r.$){case 0:var e=r.a;return"."+e;case 1:var e=r.a;return"#"+e;case 2:var e=r.a;return":"+e;default:var e=r.a;return"["+(e+"]")}},Pa=function(r){switch(r.$){case 0:var e=r.a,n=r.b;return C(e,v(or,Rn,"",n));case 1:var n=r.a;return Br(n)?"*":v(or,Rn,"",n);default:var e=r.a,n=r.b;return C(e,v(or,Rn,"",n))}},sc=function(r){var e=r.a,n=r.b;return cc(e)+(" "+Pa(n))},fc=function(r){var e=r.a,n=r.b,t=r.c,a=$(S,Pa(e),$(E,sc,n)),u=$(hr,"",$(Ge,oc,t));return $(ic,$(mr," ",a),u)},Aa=function(r){var e=r.a,n=r.b,t=r.c,a=v(or,fc,",",$(S,e,n));return a+("{"+($c(t)+"}"))},vc=function(r){switch(r.$){case 0:var e=r.a;return Aa(e);case 1:var n=r.a,t=r.b,a=v(or,ya,", ",n),u=v(or,Aa,"\n",t);return"@media "+(a+("{"+(u+"}")));case 2:return"TODO";case 3:return"TODO";case 4:return"TODO";case 5:return"TODO";case 6:var i=r.a.ct,o=r.a.cF;return"@keyframes "+(o+("{"+(i+"}")));case 7:return"TODO";case 8:return"TODO";default:return"TODO"}},lc=function(r){var e=r.cu,n=r.bU,t=r.bQ,a=r.bF;return rc(a)+(v(or,ac,"\n",t)+(v(or,uc,"\n",n)+(v(or,vc,"\n",e)+"")))},Hn=function(r){return v(Lr,On,p,r)},ge=c(function(r,e){return Hn($(E,r,e))}),Ma=function(r){return{$:8,a:r}},Ea=function(r){return{$:5,a:r}},Ta=function(r){return{$:4,a:r}},we=D(function(r,e,n){return{$:0,a:r,b:e,c:n}}),Tr=D(function(r,e,n){return{$:0,a:r,b:e,c:n}}),De=function(r){return{$:0,a:r}},In=c(function(r,e){return{$:2,a:r,b:e}}),Fa=function(r){return{$:7,a:r}},Or=c(function(r,e){return{$:1,a:r,b:e}}),zn=c(function(r,e){if(e.b)if(e.b.b){var t=e.a,a=e.b;return $(S,t,$(zn,r,a))}else{var n=e.a;return _([r(n)])}else return e}),Va=c(function(r,e){var n=e.a,t=e.b,a=e.c;return v(Tr,n,t,C(a,_([r])))}),Wn=c(function(r,e){if(e.b)if(e.b.b){var i=e.a,o=e.b;return $(S,i,$(Wn,r,o))}else switch(e.a.$){case 0:var n=e.a.a;return _([De($(Va,r,n))]);case 1:var t=e.a,a=t.a,u=t.b;return _([$(Or,a,$(zn,Va(r),u))]);default:return e}else return e}),Ja=c(function(r,e){if(e.b.b){var a=e.a,u=e.b,t=e.c,i=$(E,r,u),o=r(a);return _([v(Tr,a,u,t),v(Tr,o,i,p)])}else{var n=e.a,t=e.c;return _([v(Tr,n,p,t),v(Tr,r(n),p,p)])}}),mc=c(function(r,e){var n=e.a,t=e.b;return v(we,n,t,K(r))}),_c=c(function(r,e){return $(Ja,mc(r),e)}),bc=c(function(r,e){return{$:2,a:r,b:e}}),hc=c(function(r,e){return{$:0,a:r,b:e}}),Ua=function(r){return{$:1,a:r}},ka=c(function(r,e){switch(e.$){case 0:var n=e.a,a=e.b;return $(hc,n,C(a,_([r])));case 1:var a=e.a;return Ua(C(a,_([r])));default:var t=e.a,a=e.b;return $(bc,t,C(a,_([r])))}}),La=c(function(r,e){if(e.b)if(e.b.b){var u=e.a,i=e.b;return $(S,u,$(La,r,i))}else{var n=e.a,t=n.a,a=n.b;return _([l(t,$(ka,r,a))])}else return p}),pc=c(function(r,e){if(e.b.b){var a=e.a,u=e.b,t=e.c;return v(we,a,$(La,r,u),t)}else{var n=e.a,t=e.c;return v(we,$(ka,r,n),p,t)}}),dc=c(function(r,e){return $(Ja,pc(r),e)}),qn=function(r){r:for(;;)if(r.b)if(r.a.$){var a=r.b,u=a;r=u;continue r}else{var e=r.a.a,n=e.a,t=e.b,a=r.b;return C($(S,n,t),qn(a))}else return p},Qn=ar(function(r,e,n,t,a){return{$:3,a:r,b:e,c:n,d:t,e:a}}),Ye=c(function(r,e){r:for(;;)if(e.b){if(e.b.b)break r;switch(e.a.$){case 0:var I=e.a.a;return $(E,De,r(I));case 1:if(e.a.b.b)if(e.a.b.b.b){var u=e.a,t=u.a,i=u.b,O=i.a,P=i.b,o=$(Ye,r,_([$(Or,t,P)]));if(o.b&&o.a.$===1&&!o.b.b){var s=o.a,f=s.a,m=s.b;return _([$(Or,f,$(S,O,m))])}else{var b=o;return b}}else{var n=e.a,t=n.a,a=n.b,I=a.a;return _([$(Or,t,r(I))])}else break r;case 2:var d=e.a,h=d.a,g=d.b;return _([$(In,h,$(Ye,r,g))]);case 3:var w=e.a,B=w.a,M=w.b,y=w.c,G=w.d,I=w.e;return $(E,F(Qn,B,M,y,G),r(I));case 4:return e;case 5:return e;case 6:return e;case 7:return e;case 8:return e;default:return e}}else return e;var O=e.a,P=e.b;return $(S,O,$(Ye,r,P))}),Gn=Qu,Sc=W(function(r,e,n,t){return{ac:t,ah:n,W:e,an:r}}),Oa=3432918353,Ra=461845907,wm=Pi,Dm=Ei,Cm=Ti,Rr=c(function(r,e){return(e&65535)*r+(((e>>>16)*r&65535)<<16)}),gc=hu,Bm=Ai,Yn=c(function(r,e){return e<>>32-r}),jm=Mi,wc=function(r){var e=r.ah?r.W^$(Rr,Ra,$(Yn,15,$(Rr,Oa,r.ah))):r.W,n=e^r.ac,t=$(Rr,2246822507,n^n>>>16),a=$(Rr,3266489909,t^t>>>13);return(a^a>>>16)>>>0},Dc=Xu,Cc=c(function(r,e){return $(Rr,5,$(Yn,13,r^$(Rr,Ra,$(Yn,15,$(Rr,Oa,e)))))+3864292196}),Bc=c(function(r,e){var n=e.ah|(255&Re(r))<1e3?$(S,y,$(S,i,$(S,m,$(S,w,$(Uc,e-4,B))))):$(S,y,$(S,i,$(S,m,$(S,w,v(Ga,r+1,e-4,B)))))}else break e}else{if(t.a===1)break r;break e}else return n;return n}var M=t.b,y=M.a;return _([y])}),kc=c(function(r,e){return v(Ga,0,r,e)}),Ya=ar(function(r,e,n,t,a){if(a.$)return a;var u=a.a;return k(Qn,r,e,n,t,u)}),Za=c(function(r,e){switch(e.$){case 0:var m=e.a;return $(Or,r,_([m]));case 1:var n=e.a,t=e.b;return $(Or,C(r,n),t);case 2:var a=e.a,u=e.b;return $(In,a,$(E,Za(r),u));case 3:var i=e.a,o=e.b,s=e.c,f=e.d,m=e.e;return k(Qn,i,o,s,f,m);case 4:return e;case 5:return e;case 6:return e;case 7:return e;case 8:return e;default:return e}}),Xn=function(r){var e=r;return e},Xa=W(function(r,e,n,t){var a=function(f){return $(hr,p,Hr(f))},u=$(gr,e,$(hr,p,qa(t))),i=function(){var f=l(N(u),Ec(t));if(!f.a.$&&!f.b.$){var m=f.a.a,b=f.b.a;return C($(kc,Jr(t)-1,t),_([te(b,m)?b:m]))}else return t}(),o=function(f){return Hn($(zn,gr(r),$(E,Zn,$(Ye,n,f))))},s=$(hr,p,$(Ge,o,qa(t)));return C(i,C(a(s),a(u)))}),gr=c(function(r,e){if(r.b)switch(r.a.$){case 0:var n=r.a.a,O=r.b;return $(gr,O,$(Wn,n,e));case 1:var t=r.a,a=t.a,y=t.b,O=r.b;return F(Xa,y,O,dc(a),e);case 2:var u=r.a,i=u.a,o=u.b,O=r.b,s=c(function(P,Y){var pr=P.a,tr=P.b,yr=P.c,sr=Y.a,dr=Y.b,je=Y.c;return v(we,pr,C(tr,$(S,l(i,sr),dr)),Tc(_([je,yr])))}),f=function(P){switch(P.$){case 0:var Y=P.a,pr=Y.a,tr=Y.b,yr=Y.c,sr=$(ge,function(mt){return $(E,s(mt),$(S,pr,tr))},qn(e)),dr=function(){if(sr.b){var mt=sr.a,Vf=sr.b;return _([De(v(Tr,mt,Vf,p))])}else return p}();return $(gr,yr,dr);case 1:var je=P.a,vt=P.b;return $(Ka,je,vt);case 2:var lt=P.a,yf=P.b;return $(Na,lt,yf);case 3:var Pf=P.a,Af=P.b,Mf=P.c,Ef=P.d,Tf=P.e;return $(E,F(Ya,Pf,Af,Mf,Ef),Ze(Tf));case 4:var zr=P.a;return _([Ta(zr)]);case 5:var zr=P.a;return _([Ea(zr)]);case 6:var zr=P.a;return _([Fa(zr)]);case 7:var zr=P.a;return _([Ma(zr)]);default:var Ff=P.a;return Qa(Ff)}};return Hn(C(_([$(gr,O,e)]),$(E,f,$(ge,Xn,o))));case 3:var m=r.a,b=m.a,y=m.b,O=r.b;return F(Xa,y,O,_c(b),e);case 5:var d=r.a.a,O=r.b,h=Wa(d),g="animation-name:"+h,w=$(gr,O,$(Wn,g,e));return $(On,w,_([Ba({ct:d,cF:h})]));case 4:var B=r.a,M=B.a,y=B.b,O=r.b,G=function(){var P=qn(e);if(P.b){var Y=P.a,pr=P.b;return $(E,Vc(M),$(gr,y,Zn(De(v(Tr,Y,pr,p)))))}else return p}();return C($(gr,O,e),G);default:var I=r.a.a,O=r.b;return $(gr,C(I,O),e)}else return e}),Ze=function(r){var e=r.a,n=r.b,t=r.c;return $(gr,t,_([De(v(Tr,e,n,p))]))},Kn=function(r){if(r.b){var e=r.a,n=r.b;return C(Lc(e),Kn(n))}else return p},Ka=c(function(r,e){var n=function(t){return $(E,Za(r),Ze(t))};return $(ge,n,e)}),Na=c(function(r,e){var n=Kn($(ge,Xn,e));return _([$(In,r,n)])}),Lc=function(r){switch(r.$){case 0:var f=r.a;return Ze(f);case 1:var e=r.a,n=r.b;return $(Ka,e,n);case 2:var t=r.a,a=r.b;return $(Na,t,a);case 3:var u=r.a,i=r.b,o=r.c,s=r.d,f=r.e;return $(E,F(Ya,u,i,o,s),Ze(f));case 4:var m=r.a;return _([Ta(m)]);case 5:var m=r.a;return _([Ea(m)]);case 6:var m=r.a;return _([Fa(m)]);case 7:var m=r.a;return _([Ma(m)]);default:var b=r.a;return Qa(b)}},Oc=function(r){var e=r.b9,n=r.bU,t=r.bQ,a=r.bF,u=Kn($(ge,Xn,e));return{bF:a,cu:u,bQ:t,bU:n}},Rc=function(r){return lc(xo(Oc(r)))},ym=ve,Hc=D(function(r,e,n){return{$:0,a:r,b:e,c:n}}),Ic=function(r){return{$:0,a:r}},zc=c(function(r,e){var n=v(we,e,p,T);return _([Ic(v(Hc,n,p,r))])}),Wc=function(r){return{bF:T,bQ:p,bU:p,b9:r}},qc=function(r){return{$:0,a:r}},Nn="\x07",Qc=Ua(_([qc(Nn)])),Gc=function(r){if(r.b){var e=r;return Rc(Wc(_([$(zc,r,Qc)])))}else return""},Yc=function(r){var e=Gc(r),n=$(xr,"","");return v(Un,n,!0,e)},re=W(function(r,e,n,t){return $(r,$(S,Yc(e),n),t)}),Zc=D(function(r,e,n){return F(re,Qe,_([de(r),Xr(e),Nr(R(0)),Kr(R(0)),We(R(0))]),p,_([J(n)]))}),Xc=c(function(r,e){return r+("("+($(mr,",",e)+")"))}),Kc=W(function(r,e,n,t){return{aw:t,ay:n,A:0,aD:e,aI:r,D:$(Xc,"rgba",C($(E,Gr,_([r,e,n])),_([Vn(t)])))}}),Xe=c(function(r,e){return v(Zc,r,F(Kc,0,0,0,0),e)}),xa=function(r){return $(le,"#",r)?r:$(Gn,"#",r)},ru=function(r){return{aw:1,ay:0,A:0,aD:0,aI:0,D:xa(r)}},Nc=Ku,xn=function(r){return v(Nc,S,p,r)},eu=D(function(r,e,n){return e(r(n))}),xc=function(r){return $(Gn,r,"")},x=ku,nu=D(function(r,e,n){r:for(;;)if(e.b){var t=e.a,a=e.b;switch(t){case"0":var u=r-1,i=a,o=n;r=u,e=i,n=o;continue r;case"1":var u=r-1,i=a,o=n+$(x,16,r);r=u,e=i,n=o;continue r;case"2":var u=r-1,i=a,o=n+2*$(x,16,r);r=u,e=i,n=o;continue r;case"3":var u=r-1,i=a,o=n+3*$(x,16,r);r=u,e=i,n=o;continue r;case"4":var u=r-1,i=a,o=n+4*$(x,16,r);r=u,e=i,n=o;continue r;case"5":var u=r-1,i=a,o=n+5*$(x,16,r);r=u,e=i,n=o;continue r;case"6":var u=r-1,i=a,o=n+6*$(x,16,r);r=u,e=i,n=o;continue r;case"7":var u=r-1,i=a,o=n+7*$(x,16,r);r=u,e=i,n=o;continue r;case"8":var u=r-1,i=a,o=n+8*$(x,16,r);r=u,e=i,n=o;continue r;case"9":var u=r-1,i=a,o=n+9*$(x,16,r);r=u,e=i,n=o;continue r;case"a":var u=r-1,i=a,o=n+10*$(x,16,r);r=u,e=i,n=o;continue r;case"b":var u=r-1,i=a,o=n+11*$(x,16,r);r=u,e=i,n=o;continue r;case"c":var u=r-1,i=a,o=n+12*$(x,16,r);r=u,e=i,n=o;continue r;case"d":var u=r-1,i=a,o=n+13*$(x,16,r);r=u,e=i,n=o;continue r;case"e":var u=r-1,i=a,o=n+14*$(x,16,r);r=u,e=i,n=o;continue r;case"f":var u=r-1,i=a,o=n+15*$(x,16,r);r=u,e=i,n=o;continue r;default:var s=t;return z(xc(s)+" is not a valid hexadecimal character.")}}else return L(n)}),rs=c(function(r,e){if(e.$){var t=e.a;return z(t)}else{var n=e.a;return L(r(n))}}),es=c(function(r,e){if(e.$){var t=e.a;return z(r(t))}else{var n=e.a;return L(n)}}),ns=function(r){if(Yr(r))return z("Empty strings are not valid hexadecimal strings.");var e=function(){if($(le,"-",r)){var t=$(hr,p,Hr(xn(r)));return $(rs,Pc,v(nu,Jr(t)-1,t,0))}else return v(nu,oa(r)-1,xn(r),0)}(),n=function(t){return $(mr," ",_(['"'+(r+'"'),"is not a valid hexadecimal string because",t]))};return $(es,n,e)},ts=n$,Ke=ar(function(r,e,n,t,a){var u=e.a,i=e.b,o=n.a,s=n.b,f=t.a,m=t.b,b=a.a,d=a.b,h=$(eu,Ha,$(eu,ts,ns)),g=l(l(h(_([u,i])),h(_([o,s]))),l(h(_([f,m])),h(_([b,d]))));if(!g.a.a.$&&!g.a.b.$&&!g.b.a.$&&!g.b.b.$){var w=g.a,B=w.a.a,M=w.b.a,y=g.b,G=y.a.a,I=y.b.a;return{aw:I/255,ay:G,A:0,aD:M,aI:B,D:xa(r)}}else return ru(r)}),A=function(r){var e=$(le,"#",r)?$(Ur,1,r):r,n=xn(e);r:for(;;)if(n.b&&n.b.b&&n.b.b.b)if(n.b.b.b.b)if(n.b.b.b.b.b)if(n.b.b.b.b.b.b)if(n.b.b.b.b.b.b.b)if(n.b.b.b.b.b.b.b.b&&!n.b.b.b.b.b.b.b.b.b){var d=n.a,Y=n.b,g=Y.a,pr=Y.b,B=pr.a,tr=pr.b,y=tr.a,yr=tr.b,I=yr.a,sr=yr.b,P=sr.a,dr=sr.b,je=dr.a,vt=dr.b,lt=vt.a;return k(Ke,r,l(d,g),l(B,y),l(I,P),l(je,lt))}else break r;else{var d=n.a,h=n.b,g=h.a,w=h.b,B=w.a,M=w.b,y=M.a,G=M.b,I=G.a,O=G.b,P=O.a;return k(Ke,r,l(d,g),l(B,y),l(I,P),l("f","f"))}else break r;else{var t=n.a,s=n.b,u=s.a,f=s.b,o=f.a,m=f.b,b=m.a;return k(Ke,r,l(t,t),l(u,u),l(o,o),l(b,b))}else{var t=n.a,a=n.b,u=a.a,i=a.b,o=i.a;return k(Ke,r,l(t,t),l(u,u),l(o,o),l("f","f"))}else break r;return ru(r)},Ne=function(r){switch(r){case 0:return A("e14433");case 1:return A("#359b54");case 2:return A("#a08016");case 3:return A("#5a77f2");case 4:return A("#cf2ec8");case 5:return A("1894a5");case 6:return A("#f36552");case 7:return A("#3db361");case 8:return A("#b9941a");case 9:return A("#7491f8");case 10:return A("#e54ede");default:return A("#1eabbf")}},as=$$,us=yi,xe=At,U=xe(p),Pm=1,Am=2,Mm=3,Em=4,Tm=5,Fm=0,Vm=6,Jm=7,Um=8,$s=c(function(r,e){return v(Lr,c(function(n,t){return r(n)?$(S,n,t):t}),p,e)}),tu=e$,is=function(r){var e=$(E,tu,$(Oe," ",r)),n=function(){var o=N(e);if(o.$)return z("error in parseInput parsing tokens");switch(o.a){case"help":return L(0);case"clear":return L(1);case"colors":return L(2);case"cookies":return L(3);case"font":return L(4);case"hello":return L(5);case"prompt":return L(6);case"theme":return L(7);case"todo":return L(8);default:var s=o.a;return z(s)}}(),t=function(){var o=Hr(e);if(o.$)return z("error in parseInput parsing tokens");var s=o.a;return L($($s,gc(""),s))}();if(t.$){var i=t.a;return z(i)}else{var a=t.a;if(n.$){var i=n.a;return z(i)}else{var u=n.a;return L({a6:a,ba:u})}}},os=Ci,cs=function(r){return"["+($(mr,",",r)+"]")},q=D(function(r,e,n){var t=function(){switch(r){case 0:return"help";case 1:return"clear";case 2:return"colors";case 3:return"cookies";case 4:return"font";case 5:return"hello";case 6:return"prompt";case 7:return"theme";default:return"todo"}}();return _([J((rr(e,Jr(n))>0?"\nToo few arguments for "+t:rr(e,Jr(n))<0?"\nToo many arguments for "+t:"\nUnexpected arguments "+cs(n))+(". Run `help "+(t+"` for usage")))])}),ss=c(function(r,e){return l(function(){var n=N(e);if(n.$===1)return j(r,{a:p});var t=n.a;return j(r,{a:C(r.a,v(q,1,0,e))})}(),U)}),km=0,fs=c(function(r,e){var n=N(e);return n.$===1?l(j(r,{a:C(r.a,v(q,2,1,e))}),U):n.a==="test"?l(j(r,{a:C(r.a,_([$(Xe,Ne(0),"Red")]))}),U):l(j(r,{a:C(r.a,v(q,2,1,e))}),U)}),rt=function(r){return r?"True":"False"},vs=function(r){return"{ keepFont = "+(rt(r.P)+("\n, keepPrompt = "+(rt(r.Q)+("\n, keepTheme = "+(rt(r.R)+"\n}")))))},et=on,ls=on,rn=function(r){return v(V,c(function(e,n){var t=e.a,a=e.b;return v(B$,t,a,n)}),C$(0),r)},Ce=on,nt=function(r){return rn(_([l("theme",Ce(function(){var e=r.as;switch(e){case 0:return"Pit";case 1:return"Dim";case 2:return"Sky";default:return"Sun"}}())),l("font",rn(_([l("fontSize",ls(r.t.o))]))),l("cookiesKept",rn(_([l("keepTheme",et(r.n.R)),l("keepFont",et(r.n.P)),l("keepPrompt",et(r.n.Q))]))),l("prompt",rn(_([l("prompt",Ce(r.l.l))])))]))},tt=H$("setStorage",ve),wr=function(r){return l(r,xe(_([tt(nt(r))])))},ms=c(function(r,e){var n=N(e);if(n.$===1){var t=j(r,{a:C(r.a,_([J("\n"+vs(r.n))]))});return l(t,xe(_([tt(nt(t))])))}else if(n.a==="set"){var a=function(){var s=Hr(e);if(s.$)return"";var f=s.a,m=Hr(f);if(m.$)return"";var b=m.a;return $(hr,"",N(b))}(),u=function(){var s=Hr(e);if(s.$)return"";var f=s.a;return $(hr,"",N(f))}(),i=r.n;if(a==="")return l(j(r,{a:C(r.a,v(q,3,3,e))}),U);switch(u){case"":return l(j(r,{a:C(r.a,v(q,3,2,e))}),U);case"keepFont":switch(a){case"true":return wr(j(r,{n:j(i,{P:!0})}));case"false":return wr(j(r,{n:j(i,{P:!1})}));default:return l(j(r,{a:C(r.a,v(q,3,3,e))}),U)}case"keepTheme":switch(a){case"true":return wr(j(r,{n:j(i,{R:!0})}));case"false":return wr(j(r,{n:j(i,{R:!1})}));default:return l(j(r,{a:C(r.a,v(q,3,3,e))}),U)}case"keepPrompt":switch(a){case"true":return wr(j(r,{n:j(i,{Q:!0})}));case"false":return wr(j(r,{n:j(i,{Q:!1})}));default:return l(j(r,{a:C(r.a,v(q,3,3,e))}),U)}default:return l(j(r,{a:C(r.a,v(q,3,2,e))}),U)}}else{var o=n.a;return l(j(r,{a:C(r.a,v(q,3,1,e))}),U)}}),_s=c$,bs=c(function(r,e){var n=N(e);if(n.$===1)return l(j(r,{a:C(r.a,v(q,4,1,e))}),U);switch(n.a){case"size":var i=function(){var o=Hr(e);if(o.$)return"";var s=o.a;return $(hr,"",N(s))}(),t=_s(i);if(t.$)switch(i){case"":return l(j(r,{a:C(r.a,_([J("\nfontSize is "+(Vn(r.t.o)+"px"))]))}),U);case"reset":var u=j(r,{a:C(r.a,_([J("\nfontSize reset to 20px")])),t:{o:20}});return wr(u);default:return l(j(r,{a:C(r.a,_([J("\nfontSize "+(i+" not recognised; font size expected"))]))}),U)}else{var a=t.a;if(a>0){var u=j(r,{a:C(r.a,_([J("\nfontSize successfully set to "+(i+"px"))])),t:{o:a}});return wr(u)}else return l(j(r,{a:C(r.a,_([J("\nPlease enter a valid fontSize, a Float greater than 0")]))}),U)}case"reset":var u=j(r,{a:C(r.a,_([J("\nfontSize reset to 20px")])),t:{o:20}});return l(u,xe(_([tt(nt(u))])));default:var i=n.a;return l(j(r,{a:C(r.a,v(q,4,1,e))}),U)}}),hs=c(function(r,e){var n=N(e);return n.$===1?l(j(r,{a:C(r.a,_([J("\nHello World!")]))}),U):l(j(r,{a:C(r.a,v(q,5,0,e))}),U)}),Lm=11,ps=c(function(r,e){return l(j(r,{a:C(r.a,function(){if(Jr(e)<2){var n=N(e);if(n.$===1)return _([J("\n+--------------------------------------------------+\n|help prints this message |\n|help prints more information about |\n+--------------------------------------------------+\nclear clears the screen\ncookies [UNSTABLE] manages cookies\nhello prints hello world message\nfont manages font\nprompt [UNFINISHED] manages prompt\ntheme manages theme\ntodo prints aspirations for the site")]);switch(n.a){case"help":return _([J("\nhelp lists available commands with a short summary\nhelp prints more information about ")]);case"clear":return _([J("\nclear clears the screen")]);case"colors":return _([J("\ncolors "),$(Xe,Ne(11),"[UNIMPLEMENTED]")]);case"cookies":return _([J("\ncookies prints info about the current cookie settings\ncookies set [true|false] sets whether to store a certain cookie\noptions for are:\n keepFont - whether to store fontSize. Default fontSize is 20\n keepPrompt - whether to store prompt. Default prompt is >\n keepTheme - whether to store theme. Default theme is pit")]);case"hello":return _([J("\nhello prints `Hello World!`")]);case"font":return _([J("\nfont size prints info about the current font size\nfont size changes fontSize to if is >0\nfont reset changes fontSize to the default of 20px")]);case"prompt":return _([J("\nprompt prints info about the current prompt\nprompt set sets prompt text to \n is specified in quotes\nprompt color sets prompt color to \n run `colors` to list available colors")]);case"theme":return _([J("\ntheme sets the current theme according to \nOptions for are:\n sun - a theme blinding like the sun\n sky - a toned-down light theme\n dim - a deep and colorful dark theme\n pit - nearly black like the bottom of a pit")]);case"todo":return _([J("\ntodo prints aspirations for the site")]);default:var t=n.a;return v(q,0,1,e)}}else return v(q,0,1,e)}())}),U)}),ds=c(function(r,e){var n=N(e);if(n.$===1)return l(j(r,{a:C(r.a,_([J("\ncurrent prompt is "+r.l.l)]))}),U);var t=n.a,a=r.l;return wr(j(r,{l:j(a,{l:t})}))}),en=c(function(r,e){var n=j(r,{as:e});return wr(n)}),Ss=c(function(r,e){var n=N(e);if(n.$===1)return l(j(r,{a:C(r.a,_([J("\nThe current theme is "+function(){var a=r.as;switch(a){case 3:return"sun";case 2:return"sky";case 1:return"dim";default:return"pit"}}())]))}),U);switch(n.a){case"sun":return $(en,r,3);case"sky":return $(en,r,2);case"dim":return $(en,r,1);case"pit":return $(en,r,0);default:var t=n.a;return l(j(r,{a:C(r.a,v(q,7,1,e))}),U)}}),gs=c(function(r,e){return l(function(){var n=N(e);return n.$===1?j(r,{a:C(r.a,_([J("\nIn no particular order:\n- Implement colors throughout existing methods\n- Something like Neofetch\n- Collect and store feedback in a database\n- Create a style guide for programs involving console colors\n- Modularise the code (to have something more elegant than a single 2k line file)\n\nUpcoming commands to look forward to:\nfunfetch\ncolors test\ncolors set \ntheme save \ntheme load \nfeedback ")]))}):j(r,{a:C(r.a,v(q,8,0,e))})}(),U)}),ws=c(function(r,e){if(e.$){if(e.a==="")return l(r,U);var a=e.a;return l(j(r,{a:C(r.a,_([J("\ncommand "+(a+" not recognised. Run `help` to find a valid command"))]))}),U)}else{var n=e.a.a6,t=e.a.ba;return $(function(){switch(t){case 0:return ps;case 1:return ss;case 2:return fs;case 3:return ms;case 4:return bs;case 5:return hs;case 6:return ds;case 7:return Ss;default:return gs}}(),r,n)}}),Ds=c(function(r,e){if(r.$===1)return e;var n=r.a;return e+(":"+Gr(n))}),au=D(function(r,e,n){if(e.$===1)return n;var t=e.a;return C(n,C(r,t))}),Cs=function(r){var e=function(){var n=r.b0;return n?"https://":"http://"}();return v(au,"#",r.bM,v(au,"?",r.b1,C($(Ds,r.bZ,C(e,r.bP)),r.bX)))},Bs=c(function(r,e){switch(r.$){case 0:var n=r.a;if(n.$){var t=n.a;return l(e,us(t))}else{var a=n.a;return l(e,$(os,e.be,Cs(a)))}case 1:var a=r.a;return l(j(e,{br:a}),U);case 2:var u=r.a;return $(as,"\n",u)?$(ws,j(e,{az:"",a:C(e.a,_([J(te(e.a,p)?"":"\n"),$(Xe,Ne(10),e.l.l),J(tu(u))]))}),is(u)):l(j(e,{az:u}),U);default:return l(e,U)}}),js=b$,ys=c(function(r,e){return{cr:e,cT:r}}),nn=function(r){return{$:0,a:r}},at=c(function(r,e){r:for(;;){if(e.$===-2)return T;var n=e.b,t=e.c,a=e.d,u=e.e,i=$(Da,r,n);switch(i){case 0:var o=r,s=a;r=o,e=s;continue r;case 1:return K(t);default:var o=r,s=u;r=o,e=s;continue r}}}),cr=c(function(r,e){var n=r.b,t=r.c;if(n){var a=$(at,t,e);return a.$?v(Ca,t,Wa(t),e):e}else return e}),ut=c(function(r,e){return $(Y$,x$(r),ei(e))}),Fr=c(function(r,e){var n=e.a,t=e.b,a=e.c;if(t){var u=$(at,a,r);if(u.$)return $(ut,"className",Ce("_unstyled"));var i=u.a;return $(ut,"className",Ce(i))}else return n}),tn=c(function(r,e){var n=e.a,t=e.b,a=e.c;if(t){var u=$(at,a,r);if(u.$)return $(xr,"class","_unstyled");var i=u.a;return $(xr,"class",i)}else return n}),$t=function(r){return G$(Ve(r))},it=c(function(r,e){return $(Ut,r,Ve(e))}),Be=function(r){return pn(Ve(r))},ot=c(function(r,e){return $(Jt,r,Ve(e))}),ee=c(function(r,e){var n=r.a,t=r.b,a=e.a,u=e.b;switch(t.$){case 4:var M=t.a;return l($(S,l(n,M),a),u);case 0:var m=t.a,b=t.b,d=t.c,h=v(V,cr,u,b),i=v(V,ne,l(p,h),d),w=i.a,B=i.b,M=v(Be,m,$(E,Fr(B),b),H(w));return l($(S,l(n,M),a),B);case 1:var f=t.a,m=t.b,b=t.c,d=t.d,h=v(V,cr,u,b),o=v(V,ne,l(p,h),d),w=o.a,B=o.b,M=F(ot,f,m,$(E,Fr(B),b),H(w));return l($(S,l(n,M),a),B);case 2:var m=t.a,b=t.b,d=t.c,h=v(V,cr,u,b),s=v(V,ee,l(p,h),d),w=s.a,B=s.b,M=v($t,m,$(E,Fr(B),b),H(w));return l($(S,l(n,M),a),B);default:var f=t.a,m=t.b,b=t.c,d=t.d,h=v(V,cr,u,b),g=v(V,ee,l(p,h),d),w=g.a,B=g.b,M=F(it,f,m,$(E,Fr(B),b),H(w));return l($(S,l(n,M),a),B)}}),ne=c(function(r,e){var n=e.a,t=e.b;switch(r.$){case 4:var w=r.a;return l($(S,w,n),t);case 0:var s=r.a,f=r.b,m=r.c,b=v(V,cr,t,f),a=v(V,ne,l(p,b),m),h=a.a,g=a.b,w=v(Be,s,$(E,Fr(g),f),H(h));return l($(S,w,n),g);case 1:var o=r.a,s=r.b,f=r.c,m=r.d,b=v(V,cr,t,f),u=v(V,ne,l(p,b),m),h=u.a,g=u.b,w=F(ot,o,s,$(E,tn(g),f),H(h));return l($(S,w,n),g);case 2:var s=r.a,f=r.b,m=r.c,b=v(V,cr,t,f),i=v(V,ee,l(p,b),m),h=i.a,g=i.b,w=v($t,s,$(E,Fr(g),f),H(h));return l($(S,w,n),g);default:var o=r.a,s=r.b,f=r.c,m=r.d,b=v(V,cr,t,f),d=v(V,ee,l(p,b),m),h=d.a,g=d.b,w=F(it,o,s,$(E,tn(g),f),H(h));return l($(S,w,n),g)}}),ct=D(function(r,e,n){r:for(;;){if(n.$===-2)return e;var t=n.b,a=n.c,u=n.d,i=n.e,o=r,s=v(r,t,a,v(ct,r,e,u)),f=i;r=o,e=s,n=f;continue r}}),uu=D(function(r,e,n){return $(mr,e,$(Oe,r,n))}),Ps=D(function(r,e,n){return n+("\n"+v(uu,Nn,e,r))}),As=function(r){return v(ct,Ps,"",r)},$u=c(function(r,e){return v(ct,D(function(n,t,a){return a+("\n"+v(uu,"."+Nn,"#"+(r+("."+t)),n))}),"",e)}),st=c(function(r,e){var n=function(){if(e.$){var a=e.a,u=e.b,i=e.c;return $($u,a,u)+("\n"+$($u,a+" ",i))}else{var t=e.a;return As(t)}}();return v(Be,"span",_([$(xr,"style","display: none;"),$(xr,"class","elm-css-style-wrapper")]),_([v(Be,"style",function(){if(r.$)return p;var t=r.a;return _([$(xr,"nonce",t)])}(),Zn(pa(n)))]))}),Ms=W(function(r,e,n,t){var a=v(V,cr,Se,n),u=v(V,ne,l(p,a),t),i=u.a,o=u.b,s=$(st,r,nn(o)),f=$(E,Fr(o),n);return v(Be,e,f,$(S,s,H(i)))}),Es=c(function(r,e){r:for(;;)if(e.b){var n=e.a,t=n.a,a=e.b;if(te(r,t))return!0;var u=r,i=a;r=u,e=i;continue r}else return!1}),Ts=c(function(r,e){r:for(;;)if(e.b){var n=e.a,t=n.a,a=e.b,u="_"+t;if($(Es,u,a)){var i=u,o=a;r=i,e=o;continue r}else return u}else return r}),iu=D(function(r,e,n){var t=$(Ts,"_",n),a=$(st,r,e);return l(t,a)}),Fs=W(function(r,e,n,t){var a=v(V,cr,Se,n),u=v(V,ee,l(p,a),t),i=u.a,o=u.b,s=v(iu,r,nn(o),i),f=$(E,Fr(o),n);return v($t,e,f,$(S,s,H(i)))}),Vs=ar(function(r,e,n,t,a){var u=v(V,cr,Se,t),i=v(V,ee,l(p,u),a),o=i.a,s=i.b,f=v(iu,r,nn(s),o),m=$(E,tn(s),t);return F(it,e,n,m,$(S,f,H(o)))}),Js=ar(function(r,e,n,t,a){var u=v(V,cr,Se,t),i=v(V,ne,l(p,u),a),o=i.a,s=i.b,f=$(st,r,nn(s)),m=$(E,tn(s),t);return F(ot,e,n,m,$(S,f,H(o)))}),Us=function(r){switch(r.$){case 4:var e=r.a;return e;case 0:var t=r.a,a=r.b,u=r.c;return F(Ms,T,t,a,u);case 1:var n=r.a,t=r.b,a=r.c,u=r.d;return k(Js,T,n,t,a,u);case 2:var t=r.a,a=r.b,u=r.c;return F(Fs,T,t,a,u);default:var n=r.a,t=r.b,a=r.c,u=r.d;return k(Vs,T,n,t,a,u)}},ks=Us,Ls=function(r){return{$:2,a:r}},Os=c(function(r,e){return v(Un,$(ut,r,e),!1,"")}),ou=c(function(r,e){return $(Os,r,Ce(e))}),Rs=ou("id"),Hs=function(r){return l(r,!0)},Is=function(r){return{$:1,a:r}},zs=kt,Ws=c(function(r,e){return v(Un,$(zs,r,e),!1,"")}),qs=c(function(r,e){return $(Ws,r,Is(e))}),Qs=$(Zr,_(["target","value"]),Fn),Gs=function(r){return $(qs,"input",$(se,Hs,$(se,r,Qs)))},Om=0,Rm=1,Ys=Jn("main"),Zs=Q("min-height"),Hm=4,jr=c(function(r,e){r:for(;;){var n=r.as;switch(n){case 0:switch(e){case 0:return A("#120211");case 1:return A("#f3d9f0");case 2:var t=r,a=4;r=t,e=a;continue r;case 3:return A("#380e36");case 4:return A("#e29edc");case 5:return A("#7c2b77");default:return A("#f9ecf7")}case 1:switch(e){case 0:return A("#380e36");case 1:return A("#f7e5f4");case 2:var t=r,a=4;r=t,e=a;continue r;case 3:return A("#5e1c56");case 4:return A("#e8b2e2");case 5:return A("#9d3c98");default:return A("#fbf4fa")}case 2:switch(e){case 0:return A("#f3d9f0");case 1:return A("#380e36");case 2:var t=r,a=4;r=t,e=a;continue r;case 3:return A("#eec6e9");case 4:return A("#7c2b77");case 5:return A("#d575cd");default:return A("#120211")}default:switch(e){case 0:return A("#f9ecf7");case 1:return A("#5a1c56");case 2:var t=r,a=4;r=t,e=a;continue r;case 3:return A("#f3d9f0");case 4:return A("#9d3c98");case 5:return A("#dc8ed5");default:return A("#380e36")}}}}),Im=0,Xs=$(qe,0,"vh"),zm=0,cu=$(qe,0,"vw"),su=Q("width"),Ks=function(r){return $(re,Ys,_([Xr($(jr,r,0)),de($(jr,r,1)),Zs(Xs(100)),su(cu(100)),Kr(R(0)),Nr(R(0))]))},Ns=$(ze,"display","flex"),xs=Q("flex-direction"),rf=Q("flex-start"),ef=Q("flex-wrap"),nf=function(r){return{$:6,a:r}},Ir=c(function(r,e){return Sa(r+(":"+e))}),tf=D(function(r,e,n){r:for(;;)switch(n.$){case 0:var t=n.a,a=$(hr,"",N($(Oe,":",t)));return $(Ir,e,a);case 1:var u=n.a;return $(Ir,e,"elm-css-error-cannot-apply-"+(r+"-with-inapplicable-Style-for-selector"));case 2:var i=n.a;return $(Ir,e,"elm-css-error-cannot-apply-"+(r+"-with-inapplicable-Style-for-combinator"));case 3:var o=n.a;return $(Ir,e,"elm-css-error-cannot-apply-"+(r+"-with-inapplicable-Style-for-pseudo-element setter"));case 4:return $(Ir,e,"elm-css-error-cannot-apply-"+(r+"-with-inapplicable-Style-for-media-query"));case 5:return $(Ir,e,"elm-css-error-cannot-apply-"+(r+"-with-inapplicable-Style-for-keyframes"));default:if(n.a.b)if(n.a.b.b){var h=n.a,g=h.a,w=h.b,m=r,b=e,d=nf(w);r=m,e=b,n=d;continue r}else{var s=n.a,f=s.a,m=r,b=e,d=f;r=m,e=b,n=d;continue r}else return $(Ir,e,"elm-css-error-cannot-apply-"+(r+"-with-empty-Style"))}}),Wm=0,af=v(qe,0,"",0),uf=function(r){return v(tf,"justifyContent","justify-content",r(af))},$f={aA:0,aT:0,D:"nowrap",_:0},of={bc:0,aA:0,D:"row"},cf=function(r){return $(re,Qe,_([Xr($(jr,r,0)),Nr(R(0)),Kr(R(0)),Ns,xs(of),ef($f),uf(rf)]))},sf=Q("flex-grow"),ft=Q("font-size"),fu=Q("height"),ff={q:0,am:0,D:"hidden",aP:0},qm=0,vf=function(r){return{N:0,aU:0,T:0,B:0,aG:0,aW:0,J:r,at:"",aN:0,D:Gr(r)}},lf={aa:0,bA:0,q:0,b:0,g:0,cz:0,bR:0,bf:0,ak:0,S:0,B:0,d:0,c:0,bi:0,aY:0,cJ:0,y:0,aZ:0,cM:0,ap:0,Y:0,u:0,f:0,cV:0,D:"none"},mf=Q("outline-width"),_f=Q("overflow"),bf=Q("resize"),hf=Jn("textarea"),pf=function(r){return $(re,hf,_([de($(jr,r,1)),ft(R(r.t.o)),Nr(R(0)),Kr(R(0)),Xr($(jr,r,0)),We(R(0)),mf(R(0)),fu(R(r.t.o)),bf(lf),_f(ff),sf(vf(100))]))},vu=Q("font-family"),lu={M:0,D:"monospace"},df={D:"pre-wrap",_:0},Sf=Q("white-space"),gf=function(r){return $(re,Qe,_([de($(jr,r,1)),ft(R(r.t.o)),Nr(R(0)),Kr(R(0)),Xr($(jr,r,0)),We(R(0)),su(cu(100)),Sf(df),vu(lu)]))},wf=function(r){return $(re,Qe,_([de($(jr,r,1)),ft(R(r.t.o)),Nr(R(0)),Kr(R(0)),Xr($(jr,r,0)),We(R(0)),fu(R(r.t.o)),vu(lu)]))},Df=ou("value"),Cf=function(r){return v(Ks,r,p,_([v(gf,r,p,r.a),v(cf,r,p,_([v(wf,r,p,_([$(Xe,Ne(10),r.l.l)])),v(pf,r,_([Gs(Ls),Df(r.az),Rs("init-focus")]),p)]))]))},Bf=function(r){return $(ys,"elmskell",_([ks(Cf(r))]))},jf=jo({cB:Io,cG:Vi,cH:Fi,cR:qo,cU:Bs,cW:Bf});Q$({Main:{init:jf(js)(0)}})})(this); +(function(qr){"use strict";function Pr(r,e,n){return n.a=r,n.f=e,n}function i(r){return Pr(2,r,function(e){return function(n){return r(e,n)}})}function D(r){return Pr(3,r,function(e){return function(n){return function(t){return r(e,n,t)}}})}function I(r){return Pr(4,r,function(e){return function(n){return function(t){return function(a){return r(e,n,t,a)}}}})}function ar(r){return Pr(5,r,function(e){return function(n){return function(t){return function(a){return function(u){return r(e,n,t,a,u)}}}}})}function ye(r){return Pr(6,r,function(e){return function(n){return function(t){return function(a){return function(u){return function(o){return r(e,n,t,a,u,o)}}}}}})}function _t(r){return Pr(7,r,function(e){return function(n){return function(t){return function(a){return function(u){return function(o){return function(c){return r(e,n,t,a,u,o,c)}}}}}}})}function bt(r){return Pr(8,r,function(e){return function(n){return function(t){return function(a){return function(u){return function(o){return function(c){return function(s){return r(e,n,t,a,u,o,c,s)}}}}}}}})}function ht(r){return Pr(9,r,function(e){return function(n){return function(t){return function(a){return function(u){return function(o){return function(c){return function(s){return function(f){return r(e,n,t,a,u,o,c,s,f)}}}}}}}}})}function $(r,e,n){return r.a===2?r.f(e,n):r(e)(n)}function v(r,e,n,t){return r.a===3?r.f(e,n,t):r(e)(n)(t)}function J(r,e,n,t,a){return r.a===4?r.f(e,n,t,a):r(e)(n)(t)(a)}function L(r,e,n,t,a,u){return r.a===5?r.f(e,n,t,a,u):r(e)(n)(t)(a)(u)}function tn(r,e,n,t,a,u,o){return r.a===6?r.f(e,n,t,a,u,o):r(e)(n)(t)(a)(u)(o)}function mu(r,e,n,t,a,u,o,c){return r.a===7?r.f(e,n,t,a,u,o,c):r(e)(n)(t)(a)(u)(o)(c)}function _u(r,e,n,t,a,u,o,c,s){return r.a===8?r.f(e,n,t,a,u,o,c,s):r(e)(n)(t)(a)(u)(o)(c)(s)}function Xf(r,e,n,t,a,u,o,c,s,f){return r.a===9?r.f(e,n,t,a,u,o,c,s,f):r(e)(n)(t)(a)(u)(o)(c)(s)(f)}function $e(r,e){for(var n,t=[],a=an(r,e,0,t);a&&(n=t.pop());a=an(n.a,n.b,0,t));return a}function an(r,e,n,t){if(r===e)return!0;if(typeof r!="object"||r===null||e===null)return typeof r=="function"&&fr(5),!1;if(n>100)return t.push(l(r,e)),!0;r.$<0&&(r=Je(r),e=Je(e));for(var a in r)if(!an(r[a],e[a],n+1,t))return!1;return!0}var bu=i($e),hu=i(function(r,e){return!$e(r,e)});function rr(r,e,n){if(typeof r!="object")return r===e?0:r0}),Kf=i(function(r,e){return rr(r,e)>=0}),Su=i(function(r,e){var n=rr(r,e);return n<0?Xt:n?Jo:Zt}),Jr=0,Nf={$:"#0"};function l(r,e){return{a:r,b:e}}function xf(r,e){return{$:"#2",a:r,b:e}}function rv(r,e,n){return{a:r,b:e,c:n}}function ev(r,e,n){return{$:"#3",a:r,b:e,c:n}}function nv(r){return r}function tv(r){return new String(r)}function y(r,e){var n={};for(var t in r)n[t]=r[t];for(var t in e)n[t]=e[t];return n}var wu=i(C);function C(r,e){if(typeof r=="string")return r+e;if(!r.b)return e;var n=gr(r.a,e);r=r.b;for(var t=n;r.b;r=r.b)t=t.b=gr(r.a,e);return n}var p={$:0},av={$:"[]"};function gr(r,e){return{$:1,a:r,b:e}}function uv(r,e){return{$:"::",a:r,b:e}}var Du=i(gr);function _(r){for(var e=p,n=r.length;n--;)e=gr(r[n],e);return e}function Be(r){for(var e=[];r.b;r=r.b)e.push(r.a);return e}var Cu=D(function(r,e,n){for(var t=[];e.b&&n.b;e=e.b,n=n.b)t.push($(r,e.a,n.a));return _(t)}),$v=I(function(r,e,n,t){for(var a=[];e.b&&n.b&&t.b;e=e.b,n=n.b,t=t.b)a.push(v(r,e.a,n.a,t.a));return _(a)}),ov=ar(function(r,e,n,t,a){for(var u=[];e.b&&n.b&&t.b&&a.b;e=e.b,n=n.b,t=t.b,a=a.b)u.push(J(r,e.a,n.a,t.a,a.a));return _(u)}),cv=ye(function(r,e,n,t,a,u){for(var o=[];e.b&&n.b&&t.b&&a.b&&u.b;e=e.b,n=n.b,t=t.b,a=a.b,u=u.b)o.push(L(r,e.a,n.a,t.a,a.a,u.a));return _(o)}),iv=i(function(r,e){return _(Be(e).sort(function(n,t){return rr(r(n),r(t))}))}),sv=i(function(r,e){return _(Be(e).sort(function(n,t){var a=$(r,n,t);return a===Zt?0:a===Xt?-1:1}))}),Tu=[];function fv(r){return[r]}function yu(r){return r.length}var Bu=D(function(r,e,n){for(var t=new Array(r),a=0;a=0;t--)e=$(r,n[t],e);return e}),bv=i(function(r,e){for(var n=e.length,t=new Array(n),a=0;an.length&&(a=n.length);for(var u=t+a,o=new Array(u),c=0;c"}function Cv(r){return Dr(!1,r)}function Dr(r,e){if(typeof e=="function")return je(r,"");if(typeof e=="boolean")return oe(r,e?"True":"False");if(typeof e=="number")return Pu(r,e+"");if(e instanceof String)return Au(r,"'"+dt(e,!0)+"'");if(typeof e=="string")return gt(r,'"'+dt(e,!1)+'"');if(typeof e=="object"&&"$"in e){var n=e.$;if(typeof n=="number")return je(r,"");if(n[0]==="#"){var a=[];for(var t in e)t!=="$"&&a.push(Dr(r,e[t]));return"("+a.join(",")+")"}if(n==="Set_elm_builtin")return oe(r,"Set")+Ee(r,".fromList")+" "+Dr(r,Uo(e));if(n==="RBNode_elm_builtin"||n==="RBEmpty_elm_builtin")return oe(r,"Dict")+Ee(r,".fromList")+" "+Dr(r,Je(e));if(n==="Array_elm_builtin")return oe(r,"Array")+Ee(r,".fromList")+" "+Dr(r,Ho(e));if(n==="::"||n==="[]"){var a="[";for(e.b&&(a+=Dr(r,e.a),e=e.b);e.b;e=e.b)a+=","+Dr(r,e.a);return a+"]"}var a="";for(var u in e)if(u!=="$"){var o=Dr(r,e[u]),c=o[0],s=c==="{"||c==="("||c==="["||c==="<"||c==='"'||o.indexOf(" ")<0;a+=" "+(s?o:"("+o+")")}return oe(r,n)+a}if(typeof DataView=="function"&&e instanceof DataView)return gt(r,"<"+e.byteLength+" bytes>");if(typeof File!="undefined"&&e instanceof File)return je(r,"<"+e.name+">");if(typeof e=="object"){var a=[];for(var f in e){var m=f[0]==="_"?f.slice(1):f;a.push(Ee(r,m)+" = "+Dr(r,e[f]))}return a.length===0?"{}":"{ "+a.join(", ")+" }"}return je(r,"")}function dt(r,e){var n=r.replace(/\\/g,"\\\\").replace(/\n/g,"\\n").replace(/\t/g,"\\t").replace(/\r/g,"\\r").replace(/\v/g,"\\v").replace(/\0/g,"\\0");return e?n.replace(/\'/g,"\\'"):n.replace(/\"/g,'\\"')}function oe(r,e){return r?"\x1B[96m"+e+"\x1B[0m":e}function Pu(r,e){return r?"\x1B[95m"+e+"\x1B[0m":e}function gt(r,e){return r?"\x1B[93m"+e+"\x1B[0m":e}function Au(r,e){return r?"\x1B[92m"+e+"\x1B[0m":e}function Ee(r,e){return r?"\x1B[37m"+e+"\x1B[0m":e}function je(r,e){return r?"\x1B[36m"+e+"\x1B[0m":e}function Tv(r){return String.fromCharCode(r<10?48+r:55+r)}function fr(r){throw new Error("https://github.com/elm/core/blob/1.0.0/hints/"+r+".md")}function yv(r,e,n,t,a){switch(r){case 0:throw new Error('What node should I take over? In JavaScript I need something like:\n\n Elm.Main.init({\n node: document.getElementById("elm-node")\n })\n\nYou need to do this with any Browser.sandbox or Browser.element program.');case 1:throw new Error("Browser.application programs cannot handle URLs like this:\n\n "+document.location.href+"\n\nWhat is the root? The root of your file system? Try looking at this program with `elm reactor` or some other server.");case 2:var u=e;throw new Error("Problem with the flags given to your Elm program on initialization.\n\n"+u);case 3:var o=e;throw new Error("There can only be one port named `"+o+"`, but your program has multiple.");case 4:var o=e,c=n;throw new Error("Trying to send an unexpected type of value through port `"+o+"`:\n"+c);case 5:throw new Error('Trying to use `(==)` on functions.\nThere is no way to know if functions are "the same" in the Elm sense.\nRead more about this at https://package.elm-lang.org/packages/elm/core/latest/Basics#== which describes why it is this way and what the better version will look like.');case 6:var s=e;throw new Error("Your page is loading multiple Elm scripts with a module named "+s+". Maybe a duplicate script is getting loaded accidentally? If not, rename one of them so I know which is which!");case 8:var s=e,f=n,b=t;throw new Error("TODO in module `"+s+"` "+St(f)+"\n\n"+b);case 9:var s=e,f=n,m=t,b=a;throw new Error("TODO in module `"+s+"` from the `case` expression "+St(f)+"\n\nIt received the following value:\n\n "+pt(m).replace("\n","\n ")+"\n\nBut the branch that handles it says:\n\n "+b.replace("\n","\n "));case 10:throw new Error("Bug in https://github.com/elm/virtual-dom/issues");case 11:throw new Error("Cannot perform mod 0. Division by zero error.")}}function St(r){return r.bi.aB===r.bE.aB?"on line "+r.bi.aB:"on lines "+r.bi.aB+" through "+r.bE.aB}var ku=i(function(r,e){return r+e}),Vu=i(function(r,e){return r-e}),Fu=i(function(r,e){return r*e}),Mu=i(function(r,e){return r/e}),Ju=i(function(r,e){return r/e|0}),Lu=i(Math.pow),Uu=i(function(r,e){return e%r}),Ou=i(function(r,e){var n=e%r;return r===0?fr(11):n>0&&r<0||n<0&&r>0?n+r:n}),Bv=Math.PI,Ev=Math.E,jv=Math.cos,Pv=Math.sin,Av=Math.tan,kv=Math.acos,Vv=Math.asin,Fv=Math.atan,Mv=i(Math.atan2);function Hu(r){return r}function Jv(r){return r|0}function Lv(r){return r===1/0||r===-1/0}var Ru=Math.ceil,Gu=Math.floor,Uv=Math.round,Ov=Math.sqrt,wt=Math.log,Hv=isNaN;function zu(r){return!r}var Iu=i(function(r,e){return r&&e}),Wu=i(function(r,e){return r||e}),Rv=i(function(r,e){return r!==e}),qu=i(function(r,e){return r+e});function Yu(r){var e=r.charCodeAt(0);return isNaN(e)?A:G(55296<=e&&e<=56319?l(r[0]+r[1],r.slice(2)):l(r[0],r.slice(1)))}var Qu=i(function(r,e){return r+e});function Zu(r){return r.length}var Gv=i(function(r,e){for(var n=e.length,t=new Array(n),a=0;a-1}),u$=i(function(r,e){return e.indexOf(r)===0}),$$=i(function(r,e){return e.length>=r.length&&e.lastIndexOf(r)===e.length-r.length}),o$=i(function(r,e){var n=r.length;if(n<1)return p;for(var t=0,a=[];(t=e.indexOf(r,t))>-1;)a.push(t),t=t+n;return _(a)});function Dt(r){return r+""}function c$(r){for(var e=0,n=r.charCodeAt(0),t=n==43||n==45?1:0,a=t;a=e.length)return $r("a LONGER array. Need index "+t+" but only see "+e.length+" entries",e);var f=ur(r.b,e[t]);return br(f)?f:W($(Nt,t,f.a));case 8:if(typeof e!="object"||e===null||Pe(e))return $r("an OBJECT",e);var a=p;for(var u in e)if(e.hasOwnProperty(u)){var f=ur(r.b,e[u]);if(!br(f))return W($(Kt,u,f.a));a=gr(l(u,f.a),a)}return U(R(a));case 9:for(var o=r.f,c=r.g,s=0;s=0&&e.splice(c,1)}return{subscribe:a,unsubscribe:u}}function Bl(r,e){return kt(r),er[r]={f:I$,u:e,a:W$},ln(r)}var I$=i(function(r,e){return function(n){return r(e(n))}});function W$(r,e){var n=p,t=er[r].u,a=vr(null);er[r].b=a,er[r].c=D(function(o,c,s){return n=c,a});function u(o){var c=$(un,t,o);br(c)||fr(4,r,c.a);for(var s=c.a,f=n;f.b;f=f.b)e(f.a(s))}return{send:u}}function q$(r){qr.Elm?Vt(qr.Elm,r):qr.Elm=r}function Vt(r,e){for(var n in e)n in r?n=="init"?fr(6):Vt(r[n],e[n]):r[n]=e[n]}function El(r){qr.Elm?Ft("Elm",qr.Elm,r):qr.Elm=r}function Ft(r,e,n){for(var t in n)t in e?t=="init"?fr(6,r):Ft(r+"."+t,e[t],n[t]):e[t]=n[t]}var ke,nr=typeof document!="undefined"?document:{};function _n(r,e){r.appendChild(e)}var jl=I(function(r,e,n,t){var a=t.node;return a.parentNode.replaceChild(Vr(r,function(){}),a),{}});function bn(r){return{$:0,a:r}}var Mt=i(function(r,e){return i(function(n,t){for(var a=[],u=0;t.b;t=t.b){var o=t.a;u+=o.b||0,a.push(o)}return u+=a.length,{$:1,c:e,d:pn(n),e:a,f:r,b:u}})}),hn=Mt(void 0),Jt=i(function(r,e){return i(function(n,t){for(var a=[],u=0;t.b;t=t.b){var o=t.a;u+=o.b.b||0,a.push(o)}return u+=a.length,{$:2,c:e,d:pn(n),e:a,f:r,b:u}})}),Y$=Jt(void 0);function Pl(r,e,n,t){return{$:3,d:pn(r),g:e,h:n,i:t}}var Al=i(function(r,e){return{$:4,j:r,k:e,b:1+(e.b||0)}});function kr(r,e){return{$:5,l:r,m:e,k:void 0}}var kl=i(function(r,e){return kr([r,e],function(){return r(e)})}),Vl=D(function(r,e,n){return kr([r,e,n],function(){return $(r,e,n)})}),Fl=I(function(r,e,n,t){return kr([r,e,n,t],function(){return v(r,e,n,t)})}),Ml=ar(function(r,e,n,t,a){return kr([r,e,n,t,a],function(){return J(r,e,n,t,a)})}),Jl=ye(function(r,e,n,t,a,u){return kr([r,e,n,t,a,u],function(){return L(r,e,n,t,a,u)})}),Ll=_t(function(r,e,n,t,a,u,o){return kr([r,e,n,t,a,u,o],function(){return tn(r,e,n,t,a,u,o)})}),Ul=bt(function(r,e,n,t,a,u,o,c){return kr([r,e,n,t,a,u,o,c],function(){return mu(r,e,n,t,a,u,o,c)})}),Ol=ht(function(r,e,n,t,a,u,o,c,s){return kr([r,e,n,t,a,u,o,c,s],function(){return _u(r,e,n,t,a,u,o,c,s)})}),Lt=i(function(r,e){return{$:"a0",n:r,o:e}}),Hl=i(function(r,e){return{$:"a1",n:r,o:e}}),Q$=i(function(r,e){return{$:"a2",n:r,o:e}}),Ut=i(function(r,e){return{$:"a3",n:r,o:e}}),Rl=D(function(r,e,n){return{$:"a4",n:e,o:{f:r,o:n}}}),Z$=/^script$/i,X$=/^(on|formAction$)/i,K$=/^\s*j\s*a\s*v\s*a\s*s\s*c\s*r\s*i\s*p\s*t\s*:/i,Ot=/^\s*(j\s*a\s*v\s*a\s*s\s*c\s*r\s*i\s*p\s*t\s*:|d\s*a\s*t\s*a\s*:\s*t\s*e\s*x\s*t\s*\/\s*h\s*t\s*m\s*l\s*(,|;))/i;function Ve(r){return Z$.test(r)?"p":r}function N$(r){return X$.test(r)?"data-"+r:r}function x$(r){return r=="innerHTML"||r=="formAction"?"data-"+r:r}function Gl(r){return K$.test(r)?"":r}function ro(r){return Ot.test(r)?"":r}function eo(r){return typeof r=="string"&&Ot.test(r)?"":r}var zl=i(function(r,e){return e.$==="a0"?$(Lt,e.n,no(r,e.o)):e});function no(r,e){var n=Pn(e);return{$:e.$,a:n?v(oa,n<3?to:ao,Xr(r),e.a):$(jn,r,e.a)}}var to=i(function(r,e){return l(r(e.a),e.b)}),ao=i(function(r,e){return{I:r(e.I),bj:e.bj,be:e.be}});function pn(r){for(var e={};r.b;r=r.b){var n=r.a,t=n.$,a=n.n,u=n.o;if(t==="a2"){a==="className"?Ht(e,a,u):e[a]=u;continue}var o=e[t]||(e[t]={});t==="a3"&&a==="class"?Ht(o,a,u):o[a]=u}return e}function Ht(r,e,n){var t=r[e];r[e]=t?t+" "+n:n}function Vr(r,e){var n=r.$;if(n===5)return Vr(r.k||(r.k=r.m()),e);if(n===0)return nr.createTextNode(r.a);if(n===4){for(var t=r.k,a=r.j;t.$===4;)typeof a!="object"?a=[a,t.j]:a.push(t.j),t=t.k;var u={j:a,p:e},o=Vr(t,u);return o.elm_event_node_ref=u,o}if(n===3){var o=r.h(r.g);return dn(o,e,r.d),o}var o=r.f?nr.createElementNS(r.f,r.c):nr.createElement(r.c);ke&&r.c=="a"&&o.addEventListener("click",ke(o)),dn(o,e,r.d);for(var c=r.e,s=0;s0&&K(n,1,t,m);return;case 4:for(var b=r.j,d=e.j,h=!1,S=r.k;S.$===4;)h=!0,typeof b!="object"?b=[b,S.j]:b.push(S.j),S=S.k;for(var w=e.k;w.$===4;)h=!0,typeof d!="object"?d=[d,w.j]:d.push(w.j),w=w.k;if(h&&b.length!==d.length){K(n,0,t,e);return}(h?!fo(b,d):b!==d)&&K(n,2,t,d),lr(S,w,n,t+1);return;case 0:r.a!==e.a&&K(n,3,t,e.a);return;case 1:Gt(r,e,n,t,vo);return;case 2:Gt(r,e,n,t,lo);return;case 3:if(r.h!==e.h){K(n,0,t,e);return}var T=Sn(r.d,e.d);T&&K(n,4,t,T);var P=e.i(r.g,e.g);P&&K(n,5,t,P);return}}}function fo(r,e){for(var n=0;nc?K(n,6,t,{v:c,i:o-c}):o0||o.length>0||dr)&&K(n,8,t,{w:a,x:o,y:dr})}var zt="_elmW6BL";function ie(r,e,n,t,a,u){var o=r[n];if(!o){o={c:0,z:t,r:a,s:void 0},u.push({r:a,A:o}),r[n]=o;return}if(o.c===1){u.push({r:a,A:o}),o.c=2;var c=[];lr(o.z,t,c,o.r),o.r=a,o.s.s={w:c,A:o};return}ie(r,e,n+zt,t,a,u)}function se(r,e,n,t,a){var u=r[n];if(!u){var o=K(e,9,a,void 0);r[n]={c:1,z:t,r:a,s:o};return}if(u.c===0){u.c=2;var c=[];lr(t,u.z,c,a),K(e,9,a,{w:c,A:u});return}se(r,e,n+zt,t,a)}function It(r,e,n,t){fe(r,e,n,0,0,e.b,t)}function fe(r,e,n,t,a,u,o){for(var c=n[t],s=c.r;s===a;){var f=c.$;if(f===1)It(r,e.k,c.s,o);else if(f===8){c.t=r,c.u=o;var m=c.s.w;m.length>0&&fe(r,e,m,0,a,u,o)}else if(f===9){c.t=r,c.u=o;var b=c.s;if(b){b.A.s=r;var m=b.w;m.length>0&&fe(r,e,m,0,a,u,o)}}else c.t=r,c.u=o;if(t++,!(c=n[t])||(s=c.r)>u)return t}var d=e.$;if(d===4){for(var h=e.k;h.$===4;)h=h.k;return fe(r,h,n,t,a+1,u,r.elm_event_node_ref)}for(var S=e.e,w=r.childNodes,T=0;Tu))return t;a=B}return t}function Wt(r,e,n,t){return n.length===0?r:(It(r,e,n,t),Fe(r,n))}function Fe(r,e){for(var n=0;n>r}),Vo=i(function(r,e){return e>>>r}),Fo=function(r){return{$:0,a:r}},Mo=function(r){return{$:1,a:r}},Zt=1,Jo=2,Xt=0,g=Du,Cn=D(function(r,e,n){r:for(;;){if(n.$===-2)return e;var t=n.b,a=n.c,u=n.d,o=n.e,c=r,s=v(r,t,a,v(Cn,r,e,o)),f=u;r=c,e=s,n=f;continue r}}),Je=function(r){return v(Cn,D(function(e,n,t){return $(g,l(e,n),t)}),p,r)},Lo=function(r){return v(Cn,D(function(e,n,t){return $(g,e,t)}),p,r)},Uo=function(r){var e=r;return Lo(e)},Le=ju,Oo=D(function(r,e,n){var t=n.c,a=n.d,u=i(function(o,c){if(o.$){var f=o.a;return v(Le,r,c,f)}else{var s=o.a;return v(Le,u,c,s)}});return v(Le,u,v(Le,r,e,a),t)}),Ho=function(r){return v(Oo,g,p,r)},W=function(r){return{$:1,a:r}},Tn=i(function(r,e){return{$:3,a:r,b:e}}),Kt=i(function(r,e){return{$:0,a:r,b:e}}),Nt=i(function(r,e){return{$:1,a:r,b:e}}),U=function(r){return{$:0,a:r}},Ro=function(r){return{$:2,a:r}},$m=1,om=ku,G=function(r){return{$:0,a:r}},A={$:1},Go=t$,cm=Iu,zo=wu,Io=D$,Zr=Dt,mr=i(function(r,e){return $(xu,r,Be(e))}),Ue=i(function(r,e){return _($(Nu,r,e))}),xt=function(r){return $(mr,"\n ",$(Ue,"\n",r))},V=D(function(r,e,n){r:for(;;)if(n.b){var t=n.a,a=n.b,u=r,o=$(r,t,e),c=a;r=u,e=o,n=c;continue r}else return e}),Lr=function(r){return v(V,i(function(e,n){return n+1}),0,r)},Wo=Cu,im=du,sm=Vu,qo=D(function(r,e,n){r:for(;;)if(rr(r,e)<1){var t=r,a=e-1,u=$(g,e,n);r=t,e=a,n=u;continue r}else return n}),Yo=i(function(r,e){return v(qo,r,e,p)}),Qo=i(function(r,e){return v(Wo,r,$(Yo,0,Lr(e)-1),e)}),Oe=f$,ra=function(r){var e=Oe(r);return 97<=e&&e<=122},ea=function(r){var e=Oe(r);return e<=90&&65<=e},fm=Wu,Zo=function(r){return ra(r)||ea(r)},Xo=function(r){var e=Oe(r);return e<=57&&48<=e},Ko=function(r){return ra(r)||ea(r)||Xo(r)},R=function(r){return v(V,g,p,r)},No=Yu,xo=i(function(r,e){return"\n\n("+(Zr(r+1)+(") "+xt(rc(e))))}),rc=function(r){return $(ec,r,p)},ec=i(function(r,e){r:for(;;)switch(r.$){case 0:var n=r.a,o=r.b,t=function(){var w=No(n);if(w.$===1)return!1;var T=w.a,P=T.a,B=T.b;return Zo(P)&&$(Go,Ko,B)}(),a=t?"."+n:"['"+(n+"']"),s=o,f=$(g,a,e);r=s,e=f;continue r;case 1:var u=r.a,o=r.b,c="["+(Zr(u)+"]"),s=o,f=$(g,c,e);r=s,e=f;continue r;case 2:var m=r.a;if(m.b)if(m.b.b){var b=function(){return e.b?"The Json.Decode.oneOf at json"+$(mr,"",R(e)):"Json.Decode.oneOf"}(),S=b+(" failed in the following "+(Zr(Lr(m))+" ways:"));return $(mr,"\n\n",$(g,S,$(Qo,xo,m)))}else{var o=m.a,s=o,f=e;r=s,e=f;continue r}else return"Ran into a Json.Decode.oneOf with no possibilities"+function(){return e.b?" at json"+$(mr,"",R(e)):"!"}();default:var d=r.a,h=r.b,S=function(){return e.b?"Problem with the value at json"+($(mr,"",R(e))+":\n\n "):"Problem with the given value:\n\n"}();return S+(xt($(Io,4,h))+("\n\n"+d))}}),_r=32,yn=I(function(r,e,n,t){return{$:0,a:r,b:e,c:n,d:t}}),Bn=Tu,na=Ru,vm=Mu,ta=i(function(r,e){return wt(e)/wt(r)}),lm=Hu,En=na($(ta,2,_r)),nc=J(yn,0,En,Bn,Bn),aa=Bu,tc=function(r){return{$:1,a:r}},mm=i(function(r,e){return r(e)}),ac=i(function(r,e){return e(r)}),_m=bu,uc=Gu,ua=yu,bm=gu,$c=i(function(r,e){return rr(r,e)>0?r:e}),hm=Fu,oc=function(r){return{$:0,a:r}},$a=Eu,cc=i(function(r,e){r:for(;;){var n=$($a,_r,r),t=n.a,a=n.b,u=$(g,oc(t),e);if(a.b){var o=a,c=u;r=o,e=c;continue r}else return R(u)}}),pm=function(r){var e=r.a;return e},ic=i(function(r,e){r:for(;;){var n=na(e/_r);if(n===1)return $($a,_r,r).a;var t=$(cc,r,p),a=n;r=t,e=a;continue r}}),sc=i(function(r,e){if(e.l){var n=e.l*_r,t=uc($(ta,_r,n-1)),a=r?R(e.o):e.o,u=$(ic,a,e.l);return J(yn,ua(e.n)+n,$($c,5,t*En),u,e.n)}else return J(yn,ua(e.n),En,Bn,e.n)}),dm=Ju,gm=pu,fc=ar(function(r,e,n,t,a){r:for(;;){if(e<0)return $(sc,!1,{o:t,l:n/_r|0,n:a});var u=tc(v(aa,_r,e,r)),o=r,c=e-_r,s=n,f=$(g,u,t),m=a;r=o,e=c,n=s,t=f,a=m;continue r}}),Sm=Uu,vc=i(function(r,e){if(r<=0)return nc;var n=r%_r,t=v(aa,n,r-n,e),a=r-n-_r;return L(fc,e,a,r,p,t)}),wm=0,br=function(r){return!r.$},jn=g$,oa=S$,Xr=v$,Pn=function(r){switch(r.$){case 0:return 0;case 1:return 1;case 2:return 2;default:return 3}},lc=function(r){return{$:1,a:r}},mc=function(r){return{$:0,a:r}},le=function(r){return r},_c=le,Dm=0,Cm=1,ca=ye(function(r,e,n,t,a,u){return{bK:u,bO:e,bZ:t,b$:n,b4:r,b5:a}}),bc=a$,ia=Zu,sa=r$,Ur=i(function(r,e){return r<1?e:v(sa,r,ia(e),e)}),He=o$,Kr=function(r){return r===""},Re=i(function(r,e){return r<1?"":v(sa,0,r,e)}),hc=c$,fa=ar(function(r,e,n,t,a){if(Kr(a)||$(bc,"@",a))return A;var u=$(He,":",a);if(u.b){if(u.b.b)return A;var o=u.a,c=hc($(Ur,o+1,a));if(c.$===1)return A;var s=c;return G(tn(ca,r,$(Re,o,a),s,e,n,t))}else return G(tn(ca,r,a,A,e,n,t))}),va=I(function(r,e,n,t){if(Kr(t))return A;var a=$(He,"/",t);if(a.b){var u=a.a;return L(fa,r,$(Ur,u,t),e,n,$(Re,u,t))}else return L(fa,r,"/",e,n,t)}),la=D(function(r,e,n){if(Kr(n))return A;var t=$(He,"?",n);if(t.b){var a=t.a;return J(va,r,G($(Ur,a+1,n)),e,$(Re,a,n))}else return J(va,r,A,e,n)}),ma=i(function(r,e){if(Kr(e))return A;var n=$(He,"#",e);if(n.b){var t=n.a;return v(la,r,G($(Ur,t+1,e)),$(Re,t,e))}else return v(la,r,A,e)}),me=u$,_a=function(r){return $(me,"http://",r)?$(ma,0,$(Ur,7,r)):$(me,"https://",r)?$(ma,1,$(Ur,8,r)):A},_e=function(r){r:for(;;){var e=r,n=e;r=n;continue r}},Tm=le,Or=vr,pc=Or(0),ba=I(function(r,e,n,t){if(t.b){var a=t.a,u=t.b;if(u.b){var o=u.a,c=u.b;if(c.b){var s=c.a,f=c.b;if(f.b){var m=f.a,b=f.b,d=n>500?v(V,r,e,R(b)):J(ba,r,e,n+1,b);return $(r,a,$(r,o,$(r,s,$(r,m,d))))}else return $(r,a,$(r,o,$(r,s,e)))}else return $(r,a,$(r,o,e))}else return $(r,a,e)}else return e}),Hr=D(function(r,e,n){return J(ba,r,e,0,n)}),k=i(function(r,e){return v(Hr,i(function(n,t){return $(g,r(n),t)}),p,e)}),be=on,An=i(function(r,e){return $(be,function(n){return Or(r(n))},e)}),dc=D(function(r,e,n){return $(be,function(t){return $(be,function(a){return Or($(r,t,a))},n)},e)}),gc=function(r){return v(Hr,dc(g),Or(p),r)},Sc=L$,wc=i(function(r,e){var n=e;return yt($(be,Sc(r),n))}),Dc=D(function(r,e,n){return $(An,function(t){return 0},gc($(k,wc(r),e)))}),Cc=D(function(r,e,n){return Or(0)}),Tc=i(function(r,e){var n=e;return $(An,r,n)});er.Task=M$(pc,Dc,Cc,Tc);var ha=ln("Task"),he=i(function(r,e){return ha($(An,r,e))}),yc=Co,Bc={$:3},Nr=D(function(r,e,n){return r(e(n))}),Ec=B$,jc=i(function(r,e){return ha($(Ec,$(Nr,$(Nr,Or,r),W),$(be,$(Nr,$(Nr,Or,r),U),e)))}),Pc=I(function(r,e,n,t){return{cF:e,cL:r,b3:t,c9:n}}),Ac=D(function(r,e,n){return{cT:e,cU:n,cV:r}}),kn=m$,kc=oa(ac),pa=p$,Tr=D(function(r,e,n){return $(kc,$(pa,r,e),n)}),Vc=v(Tr,"keepPrompt",kn,v(Tr,"keepFont",kn,v(Tr,"keepTheme",kn,Xr(Ac)))),Fc=function(r){return{cM:r}},Mc=_$,Jc=v(Tr,"fontSize",Mc,Xr(Fc)),Lc=function(r){return{b3:r}},Vn=h$,Uc=v(Tr,"prompt",Vn,Xr(Lc)),Oc=d$,Hc=l$,Rc=i(function(r,e){var n=r(e);if(n.$)return Hc("Constructor not matched");var t=n.a;return Xr(t)}),Gc=function(r){return $(Oc,Rc(r),Vn)},ym=1,Bm=0,Em=2,jm=3,zc=function(r){switch(r){case"Pit":return G(0);case"Dim":return G(1);case"Sky":return G(2);case"Sun":return G(3);default:return A}},Ic=Gc(zc),Wc=v(Tr,"prompt",Uc,v(Tr,"theme",Ic,v(Tr,"cookiesKept",Vc,v(Tr,"font",Jc,Xr(Pc))))),qc=un,pe={cF:{cT:!0,cU:!0,cV:!0},cL:{cM:20},b3:{b3:">"},c9:1},Yc=Bo("focus"),Qc=function(r){return{$:4,a:r}},da=bn,Zc=function(r){return Qc(da(r))},F=Zc,Xc=D(function(r,e,n){var t=function(){var u=$(qc,Wc,r);if(u.$)return pe;var o=u.a;return o}(),a=_([F("Welcome to my website! Pardon the alpha quality for the time being"),F("\nRun `help` to get started")]);return l({av:"",a:a,cF:t.cF,cL:t.cF.cT?t.cL:pe.cL,a8:n,b3:t.cF.cU?t.b3:pe.b3,c9:t.cF.cV?t.c9:pe.c9,bl:e},$(jc,function(u){return Bc},Yc("init-focus")))}),Kc=jt,Nc=Kc(p),xc=function(r){return Nc},Pm=10,ga=function(r){return{$:0,a:r}},Am=le,Ge=i(function(r,e){return ga(r+(":"+e))}),xr=function(r){return $(Ge,"background-color",r.D)},Y=i(function(r,e){return $(Ge,r,e.D)}),ze=Y("border-width"),de=function(r){return $(Ge,"color",r.D)},re=Y("margin"),ee=Y("padding"),km=0,Vm=0,Fn=Dt,Ie=D(function(r,e,n){return{bm:0,bx:0,ac:0,cM:0,aA:0,af:0,H:0,ag:0,ah:0,P:0,Q:0,B:0,ai:0,J:n,an:0,ap:e,aJ:r,D:C(Fn(n),e)}}),H=$(Ie,0,"px"),ri=D(function(r,e,n){return{$:0,a:r,b:e,c:n}}),ei=ri,Mn=ei,We=Mn("span"),Jn=D(function(r,e,n){return{$:0,a:r,b:e,c:n}}),ne=i(function(r,e){return $(Ut,N$(r),ro(e))}),ni=i(function(r,e){r:for(;;)if(e.b){var n=e.a,t=e.b;if(r(n))return!0;var a=r,u=t;r=a,e=u;continue r}else return!1}),ti=zu,Sa=i(function(r,e){return!$(ni,$(Nr,ti,r),e)}),Fm=1,or=ar(function(r,e,n,t,a){return{$:-1,a:r,b:e,c:n,d:t,e:a}}),Ln={$:-2},Mm=0,wa=ar(function(r,e,n,t,a){if(a.$===-1&&!a.a){var u=a.a,o=a.b,c=a.c,s=a.d,f=a.e;if(t.$===-1&&!t.a){var m=t.a,b=t.b,d=t.c,h=t.d,S=t.e;return L(or,0,e,n,L(or,1,b,d,h,S),L(or,1,o,c,s,f))}else return L(or,r,o,c,L(or,0,e,n,t,s),f)}else if(t.$===-1&&!t.a&&t.d.$===-1&&!t.d.a){var w=t.a,b=t.b,d=t.c,T=t.d,P=T.a,B=T.b,Q=T.c,z=T.d,O=T.e,S=t.e;return L(or,0,b,d,L(or,1,B,Q,z,O),L(or,1,e,n,S,a))}else return L(or,r,e,n,t,a)}),Da=Su,Un=D(function(r,e,n){if(n.$===-2)return L(or,0,r,e,Ln,Ln);var t=n.a,a=n.b,u=n.c,o=n.d,c=n.e,s=$(Da,r,a);switch(s){case 0:return L(wa,t,a,u,v(Un,r,e,o),c);case 1:return L(or,t,a,e,o,c);default:return L(wa,t,a,u,o,v(Un,r,e,c))}}),Ca=D(function(r,e,n){var t=v(Un,r,e,n);if(t.$===-1&&!t.a){var a=t.a,u=t.b,o=t.c,c=t.d,s=t.e;return L(or,1,u,o,c,s)}else{var f=t;return f}}),yr=function(r){return!r.b},ai=i(function(r,e){var n=e.a,t=e.b;switch(r.$){case 0:var a=r.a,s=a.c;return yr(s)?l(n,t):l(n,$(g,r,t));case 1:var u=r.b;return $(Sa,function(m){var b=m.c;return yr(b)},u)?l(n,t):l(n,$(g,r,t));case 2:var o=r.b;return yr(o)?l(n,t):l(n,$(g,r,t));case 3:return l(n,$(g,r,t));case 4:var s=r.a;return yr(s)?l(n,t):l(n,$(g,r,t));case 5:var s=r.a;return yr(s)?l(n,t):l(n,$(g,r,t));case 6:var c=r.a;return Kr(c.cG)?l(n,t):l(v(Ca,c.cY,c.cG,n),t);case 7:var s=r.a;return yr(s)?l(n,t):l(n,$(g,r,t));case 8:var s=r.a;return yr(s)?l(n,t):l(n,$(g,r,t));default:var f=r.a;return $(Sa,function(m){var b=m.b;return yr(b)},f)?l(n,t):l(n,$(g,r,t))}}),ge=Ln,Ta=function(r){return{$:6,a:r}},On=i(function(r,e){return e.b?v(Hr,g,e,r):r}),ui=i(function(r,e){return $(On,$(k,function(n){var t=n.a,a=n.b;return Ta({cG:a,cY:t})},Je(r)),e)}),$i=function(r){var e=v(Hr,ai,l(ge,p),r),n=e.a,t=e.b;return $(ui,n,t)},oi=function(r){var e=r.cH,n=r.bW,t=r.bP,a=r.bA;return{bA:a,cH:$i(e),bP:t,bW:n}},qe=i(function(r,e){if(e.$)return A;var n=e.a;return G(r(n))}),hr=i(function(r,e){if(e.$)return r;var n=e.a;return n}),ci=function(r){return $(hr,"",$(qe,function(e){return'@charset "'+(e+'"')},r))},ii=I(function(r,e,n,t){r:for(;;)if(n.b)if(n.b.b){var a=n.a,u=n.b,o=r,c=e,s=u,f=t+(r(a)+(e+""));r=o,e=c,n=s,t=f;continue r}else{var a=n.a;return t+(r(a)+"")}else return t}),cr=D(function(r,e,n){return J(ii,r,e,n,"")}),ya=function(r){return"("+(r.bH+($(hr,"",$(qe,zo(": "),r.D))+")"))},si=function(r){switch(r){case 0:return"print";case 1:return"screen";default:return"speech"}},Ba=function(r){var e=D(function(u,o,c){return u+(" "+$(mr," and ",$(g,si(o),$(k,ya,c))))});switch(r.$){case 0:var t=r.a;return v(cr,ya," and ",t);case 1:var n=r.a,t=r.b;return v(e,"only",n,t);case 2:var n=r.a,t=r.b;return v(e,"not",n,t);default:var a=r.a;return a}},fi=i(function(r,e){return'@import "'+(r+(Ba(e)+'"'))}),vi=function(r){var e=r.a,n=r.b;return v(cr,fi(e),"\n",n)},li=function(r){var e=r.a,n=r.b;return"@namespace "+(e+('"'+(n+'"')))},mi=function(r){return v(cr,function(e){var n=e;return n+";"},"",r)},_i=Qu,bi=function(r){var e=r;return"::"+e},hi=function(r){switch(r){case 0:return"+";case 1:return"~";case 2:return">";default:return""}},Hn=function(r){switch(r.$){case 0:var e=r.a;return"."+e;case 1:var e=r.a;return"#"+e;case 2:var e=r.a;return":"+e;default:var e=r.a;return"["+(e+"]")}},Ea=function(r){switch(r.$){case 0:var e=r.a,n=r.b;return C(e,v(cr,Hn,"",n));case 1:var n=r.a;return yr(n)?"*":v(cr,Hn,"",n);default:var e=r.a,n=r.b;return C(e,v(cr,Hn,"",n))}},pi=function(r){var e=r.a,n=r.b;return hi(e)+(" "+Ea(n))},di=function(r){var e=r.a,n=r.b,t=r.c,a=$(g,Ea(e),$(k,pi,n)),u=$(hr,"",$(qe,bi,t));return $(_i,$(mr," ",a),u)},ja=function(r){var e=r.a,n=r.b,t=r.c,a=v(cr,di,",",$(g,e,n));return a+("{"+(mi(t)+"}"))},gi=function(r){switch(r.$){case 0:var e=r.a;return ja(e);case 1:var n=r.a,t=r.b,a=v(cr,Ba,", ",n),u=v(cr,ja,"\n",t);return"@media "+(a+("{"+(u+"}")));case 2:return"TODO";case 3:return"TODO";case 4:return"TODO";case 5:return"TODO";case 6:var o=r.a.cG,c=r.a.cY;return"@keyframes "+(c+("{"+(o+"}")));case 7:return"TODO";case 8:return"TODO";default:return"TODO"}},Si=function(r){var e=r.cH,n=r.bW,t=r.bP,a=r.bA;return ci(a)+(v(cr,vi,"\n",t)+(v(cr,li,"\n",n)+(v(cr,gi,"\n",e)+"")))},Rn=function(r){return v(Hr,On,p,r)},Se=i(function(r,e){return Rn($(k,r,e))}),Pa=function(r){return{$:8,a:r}},Aa=function(r){return{$:5,a:r}},ka=function(r){return{$:4,a:r}},we=D(function(r,e,n){return{$:0,a:r,b:e,c:n}}),Fr=D(function(r,e,n){return{$:0,a:r,b:e,c:n}}),De=function(r){return{$:0,a:r}},Gn=i(function(r,e){return{$:2,a:r,b:e}}),Va=function(r){return{$:7,a:r}},Rr=i(function(r,e){return{$:1,a:r,b:e}}),zn=i(function(r,e){if(e.b)if(e.b.b){var t=e.a,a=e.b;return $(g,t,$(zn,r,a))}else{var n=e.a;return _([r(n)])}else return e}),Fa=i(function(r,e){var n=e.a,t=e.b,a=e.c;return v(Fr,n,t,C(a,_([r])))}),In=i(function(r,e){if(e.b)if(e.b.b){var o=e.a,c=e.b;return $(g,o,$(In,r,c))}else switch(e.a.$){case 0:var n=e.a.a;return _([De($(Fa,r,n))]);case 1:var t=e.a,a=t.a,u=t.b;return _([$(Rr,a,$(zn,Fa(r),u))]);default:return e}else return e}),Ma=i(function(r,e){if(e.b.b){var a=e.a,u=e.b,t=e.c,o=$(k,r,u),c=r(a);return _([v(Fr,a,u,t),v(Fr,c,o,p)])}else{var n=e.a,t=e.c;return _([v(Fr,n,p,t),v(Fr,r(n),p,p)])}}),wi=i(function(r,e){var n=e.a,t=e.b;return v(we,n,t,G(r))}),Di=i(function(r,e){return $(Ma,wi(r),e)}),Ci=i(function(r,e){return{$:2,a:r,b:e}}),Ti=i(function(r,e){return{$:0,a:r,b:e}}),Ja=function(r){return{$:1,a:r}},La=i(function(r,e){switch(e.$){case 0:var n=e.a,a=e.b;return $(Ti,n,C(a,_([r])));case 1:var a=e.a;return Ja(C(a,_([r])));default:var t=e.a,a=e.b;return $(Ci,t,C(a,_([r])))}}),Ua=i(function(r,e){if(e.b)if(e.b.b){var u=e.a,o=e.b;return $(g,u,$(Ua,r,o))}else{var n=e.a,t=n.a,a=n.b;return _([l(t,$(La,r,a))])}else return p}),yi=i(function(r,e){if(e.b.b){var a=e.a,u=e.b,t=e.c;return v(we,a,$(Ua,r,u),t)}else{var n=e.a,t=e.c;return v(we,$(La,r,n),p,t)}}),Bi=i(function(r,e){return $(Ma,yi(r),e)}),Wn=function(r){r:for(;;)if(r.b)if(r.a.$){var a=r.b,u=a;r=u;continue r}else{var e=r.a.a,n=e.a,t=e.b,a=r.b;return C($(g,n,t),Wn(a))}else return p},qn=ar(function(r,e,n,t,a){return{$:3,a:r,b:e,c:n,d:t,e:a}}),Ye=i(function(r,e){r:for(;;)if(e.b){if(e.b.b)break r;switch(e.a.$){case 0:var z=e.a.a;return $(k,De,r(z));case 1:if(e.a.b.b)if(e.a.b.b.b){var u=e.a,t=u.a,o=u.b,O=o.a,E=o.b,c=$(Ye,r,_([$(Rr,t,E)]));if(c.b&&c.a.$===1&&!c.b.b){var s=c.a,f=s.a,m=s.b;return _([$(Rr,f,$(g,O,m))])}else{var b=c;return b}}else{var n=e.a,t=n.a,a=n.b,z=a.a;return _([$(Rr,t,r(z))])}else break r;case 2:var d=e.a,h=d.a,S=d.b;return _([$(Gn,h,$(Ye,r,S))]);case 3:var w=e.a,T=w.a,P=w.b,B=w.c,Q=w.d,z=w.e;return $(k,J(qn,T,P,B,Q),r(z));case 4:return e;case 5:return e;case 6:return e;case 7:return e;case 8:return e;default:return e}}else return e;var O=e.a,E=e.b;return $(g,O,$(Ye,r,E))}),Yn=qu,Ei=I(function(r,e,n,t){return{_:t,ae:n,T:e,ak:r}}),Oa=3432918353,Ha=461845907,Jm=jo,Lm=ko,Um=Vo,Gr=i(function(r,e){return(e&65535)*r+(((e>>>16)*r&65535)<<16)}),ji=hu,Om=Po,Qn=i(function(r,e){return e<>>32-r}),Hm=Ao,Pi=function(r){var e=r.ae?r.T^$(Gr,Ha,$(Qn,15,$(Gr,Oa,r.ae))):r.T,n=e^r._,t=$(Gr,2246822507,n^n>>>16),a=$(Gr,3266489909,t^t>>>13);return(a^a>>>16)>>>0},Ai=Xu,ki=i(function(r,e){return $(Gr,5,$(Qn,13,r^$(Gr,Ha,$(Qn,15,$(Gr,Oa,e)))))+3864292196}),Vi=i(function(r,e){var n=e.ae|(255&Oe(r))<1e3?$(g,B,$(g,o,$(g,m,$(g,w,$(Ii,e-4,T))))):$(g,B,$(g,o,$(g,m,$(g,w,v(Ya,r+1,e-4,T)))))}else break e}else{if(t.a===1)break r;break e}else return n;return n}var P=t.b,B=P.a;return _([B])}),Wi=i(function(r,e){return v(Ya,0,r,e)}),Qa=ar(function(r,e,n,t,a){if(a.$)return a;var u=a.a;return L(qn,r,e,n,t,u)}),Za=i(function(r,e){switch(e.$){case 0:var m=e.a;return $(Rr,r,_([m]));case 1:var n=e.a,t=e.b;return $(Rr,C(r,n),t);case 2:var a=e.a,u=e.b;return $(Gn,a,$(k,Za(r),u));case 3:var o=e.a,c=e.b,s=e.c,f=e.d,m=e.e;return L(qn,o,c,s,f,m);case 4:return e;case 5:return e;case 6:return e;case 7:return e;case 8:return e;default:return e}}),Xn=function(r){var e=r;return e},Xa=I(function(r,e,n,t){var a=function(f){return $(hr,p,zr(f))},u=$(Sr,e,$(hr,p,Wa(t))),o=function(){var f=l(N(u),Oi(t));if(!f.a.$&&!f.b.$){var m=f.a.a,b=f.b.a;return C($(Wi,Lr(t)-1,t),_([$e(b,m)?b:m]))}else return t}(),c=function(f){return Rn($(zn,Sr(r),$(k,Zn,$(Ye,n,f))))},s=$(hr,p,$(qe,c,Wa(t)));return C(o,C(a(s),a(u)))}),Sr=i(function(r,e){if(r.b)switch(r.a.$){case 0:var n=r.a.a,O=r.b;return $(Sr,O,$(In,n,e));case 1:var t=r.a,a=t.a,B=t.b,O=r.b;return J(Xa,B,O,Bi(a),e);case 2:var u=r.a,o=u.a,c=u.b,O=r.b,s=i(function(E,Z){var pr=E.a,tr=E.b,jr=E.c,sr=Z.a,dr=Z.b,Te=Z.c;return v(we,pr,C(tr,$(g,l(o,sr),dr)),Hi(_([Te,jr])))}),f=function(E){switch(E.$){case 0:var Z=E.a,pr=Z.a,tr=Z.b,jr=Z.c,sr=$(Se,function(mt){return $(k,s(mt),$(g,pr,tr))},Wn(e)),dr=function(){if(sr.b){var mt=sr.a,Zf=sr.b;return _([De(v(Fr,mt,Zf,p))])}else return p}();return $(Sr,jr,dr);case 1:var Te=E.a,vt=E.b;return $(Ka,Te,vt);case 2:var lt=E.a,Gf=E.b;return $(Na,lt,Gf);case 3:var zf=E.a,If=E.b,Wf=E.c,qf=E.d,Yf=E.e;return $(k,J(Qa,zf,If,Wf,qf),Qe(Yf));case 4:var Wr=E.a;return _([ka(Wr)]);case 5:var Wr=E.a;return _([Aa(Wr)]);case 6:var Wr=E.a;return _([Va(Wr)]);case 7:var Wr=E.a;return _([Pa(Wr)]);default:var Qf=E.a;return qa(Qf)}};return Rn(C(_([$(Sr,O,e)]),$(k,f,$(Se,Xn,c))));case 3:var m=r.a,b=m.a,B=m.b,O=r.b;return J(Xa,B,O,Di(b),e);case 5:var d=r.a.a,O=r.b,h=Ia(d),S="animation-name:"+h,w=$(Sr,O,$(In,S,e));return $(On,w,_([Ta({cG:d,cY:h})]));case 4:var T=r.a,P=T.a,B=T.b,O=r.b,Q=function(){var E=Wn(e);if(E.b){var Z=E.a,pr=E.b;return $(k,Gi(P),$(Sr,B,Zn(De(v(Fr,Z,pr,p)))))}else return p}();return C($(Sr,O,e),Q);default:var z=r.a.a,O=r.b;return $(Sr,C(z,O),e)}else return e}),Qe=function(r){var e=r.a,n=r.b,t=r.c;return $(Sr,t,_([De(v(Fr,e,n,p))]))},Kn=function(r){if(r.b){var e=r.a,n=r.b;return C(qi(e),Kn(n))}else return p},Ka=i(function(r,e){var n=function(t){return $(k,Za(r),Qe(t))};return $(Se,n,e)}),Na=i(function(r,e){var n=Kn($(Se,Xn,e));return _([$(Gn,r,n)])}),qi=function(r){switch(r.$){case 0:var f=r.a;return Qe(f);case 1:var e=r.a,n=r.b;return $(Ka,e,n);case 2:var t=r.a,a=r.b;return $(Na,t,a);case 3:var u=r.a,o=r.b,c=r.c,s=r.d,f=r.e;return $(k,J(Qa,u,o,c,s),Qe(f));case 4:var m=r.a;return _([ka(m)]);case 5:var m=r.a;return _([Aa(m)]);case 6:var m=r.a;return _([Va(m)]);case 7:var m=r.a;return _([Pa(m)]);default:var b=r.a;return qa(b)}},Yi=function(r){var e=r.cg,n=r.bW,t=r.bP,a=r.bA,u=Kn($(Se,Xn,e));return{bA:a,cH:u,bP:t,bW:n}},Qi=function(r){return Si(oi(Yi(r)))},Rm=le,Zi=D(function(r,e,n){return{$:0,a:r,b:e,c:n}}),Xi=function(r){return{$:0,a:r}},Ki=i(function(r,e){var n=v(we,e,p,A);return _([Xi(v(Zi,n,p,r))])}),Ni=function(r){return{bA:A,bP:p,bW:p,cg:r}},xi=function(r){return{$:0,a:r}},Nn="\x07",rs=Ja(_([xi(Nn)])),es=function(r){if(r.b){var e=r;return Qi(Ni(_([$(Ki,r,rs)])))}else return""},ns=function(r){var e=es(r),n=$(ne,"","");return v(Jn,n,!0,e)},te=I(function(r,e,n,t){return $(r,$(g,ns(e),n),t)}),ts=D(function(r,e,n){return J(te,We,_([de(r),xr(e),ee(H(0)),re(H(0)),ze(H(0))]),p,_([F(n)]))}),as=i(function(r,e){return r+("("+($(mr,",",e)+")"))}),us=I(function(r,e,n,t){return{as:t,au:n,A:0,az:e,aE:r,D:$(as,"rgba",C($(k,Zr,_([r,e,n])),_([Fn(t)])))}}),Ze=i(function(r,e){return v(ts,r,J(us,0,0,0,0),e)}),xa=function(r){return $(me,"#",r)?r:$(Yn,"#",r)},ru=function(r){return{as:1,au:0,A:0,az:0,aE:0,D:xa(r)}},$s=Ku,xn=function(r){return v($s,g,p,r)},eu=D(function(r,e,n){return e(r(n))}),os=function(r){return $(Yn,r,"")},x=Lu,nu=D(function(r,e,n){r:for(;;)if(e.b){var t=e.a,a=e.b;switch(t){case"0":var u=r-1,o=a,c=n;r=u,e=o,n=c;continue r;case"1":var u=r-1,o=a,c=n+$(x,16,r);r=u,e=o,n=c;continue r;case"2":var u=r-1,o=a,c=n+2*$(x,16,r);r=u,e=o,n=c;continue r;case"3":var u=r-1,o=a,c=n+3*$(x,16,r);r=u,e=o,n=c;continue r;case"4":var u=r-1,o=a,c=n+4*$(x,16,r);r=u,e=o,n=c;continue r;case"5":var u=r-1,o=a,c=n+5*$(x,16,r);r=u,e=o,n=c;continue r;case"6":var u=r-1,o=a,c=n+6*$(x,16,r);r=u,e=o,n=c;continue r;case"7":var u=r-1,o=a,c=n+7*$(x,16,r);r=u,e=o,n=c;continue r;case"8":var u=r-1,o=a,c=n+8*$(x,16,r);r=u,e=o,n=c;continue r;case"9":var u=r-1,o=a,c=n+9*$(x,16,r);r=u,e=o,n=c;continue r;case"a":var u=r-1,o=a,c=n+10*$(x,16,r);r=u,e=o,n=c;continue r;case"b":var u=r-1,o=a,c=n+11*$(x,16,r);r=u,e=o,n=c;continue r;case"c":var u=r-1,o=a,c=n+12*$(x,16,r);r=u,e=o,n=c;continue r;case"d":var u=r-1,o=a,c=n+13*$(x,16,r);r=u,e=o,n=c;continue r;case"e":var u=r-1,o=a,c=n+14*$(x,16,r);r=u,e=o,n=c;continue r;case"f":var u=r-1,o=a,c=n+15*$(x,16,r);r=u,e=o,n=c;continue r;default:var s=t;return W(os(s)+" is not a valid hexadecimal character.")}}else return U(n)}),cs=i(function(r,e){if(e.$){var t=e.a;return W(t)}else{var n=e.a;return U(r(n))}}),is=i(function(r,e){if(e.$){var t=e.a;return W(r(t))}else{var n=e.a;return U(n)}}),ss=function(r){if(Kr(r))return W("Empty strings are not valid hexadecimal strings.");var e=function(){if($(me,"-",r)){var t=$(hr,p,zr(xn(r)));return $(cs,Ji,v(nu,Lr(t)-1,t,0))}else return v(nu,ia(r)-1,xn(r),0)}(),n=function(t){return $(mr," ",_(['"'+(r+'"'),"is not a valid hexadecimal string because",t]))};return $(is,n,e)},fs=n$,Xe=ar(function(r,e,n,t,a){var u=e.a,o=e.b,c=n.a,s=n.b,f=t.a,m=t.b,b=a.a,d=a.b,h=$(eu,Ra,$(eu,fs,ss)),S=l(l(h(_([u,o])),h(_([c,s]))),l(h(_([f,m])),h(_([b,d]))));if(!S.a.a.$&&!S.a.b.$&&!S.b.a.$&&!S.b.b.$){var w=S.a,T=w.a.a,P=w.b.a,B=S.b,Q=B.a.a,z=B.b.a;return{as:z/255,au:Q,A:0,az:P,aE:T,D:xa(r)}}else return ru(r)}),j=function(r){var e=$(me,"#",r)?$(Ur,1,r):r,n=xn(e);r:for(;;)if(n.b&&n.b.b&&n.b.b.b)if(n.b.b.b.b)if(n.b.b.b.b.b)if(n.b.b.b.b.b.b)if(n.b.b.b.b.b.b.b)if(n.b.b.b.b.b.b.b.b&&!n.b.b.b.b.b.b.b.b.b){var d=n.a,Z=n.b,S=Z.a,pr=Z.b,T=pr.a,tr=pr.b,B=tr.a,jr=tr.b,z=jr.a,sr=jr.b,E=sr.a,dr=sr.b,Te=dr.a,vt=dr.b,lt=vt.a;return L(Xe,r,l(d,S),l(T,B),l(z,E),l(Te,lt))}else break r;else{var d=n.a,h=n.b,S=h.a,w=h.b,T=w.a,P=w.b,B=P.a,Q=P.b,z=Q.a,O=Q.b,E=O.a;return L(Xe,r,l(d,S),l(T,B),l(z,E),l("f","f"))}else break r;else{var t=n.a,s=n.b,u=s.a,f=s.b,c=f.a,m=f.b,b=m.a;return L(Xe,r,l(t,t),l(u,u),l(c,c),l(b,b))}else{var t=n.a,a=n.b,u=a.a,o=a.b,c=o.a;return L(Xe,r,l(t,t),l(u,u),l(c,c),l("f","f"))}else break r;return ru(r)},Ke=function(r){switch(r){case 0:return j("e14433");case 1:return j("#359b54");case 2:return j("#a08016");case 3:return j("#5a77f2");case 4:return j("#cf2ec8");case 5:return j("1894a5");case 6:return j("#f36552");case 7:return j("#3db361");case 8:return j("#b9941a");case 9:return j("#7491f8");case 10:return j("#e54ede");default:return j("#1eabbf")}},vs=$$,ls=Eo,Ne=jt,M=Ne(p),Gm=1,zm=2,Im=3,Wm=4,qm=5,Ym=0,Qm=6,Zm=7,Xm=8,ms=i(function(r,e){return v(Hr,i(function(n,t){return r(n)?$(g,n,t):t}),p,e)}),tu=e$,_s=function(r){var e=$(k,tu,$(Ue," ",r)),n=function(){var c=N(e);if(c.$)return W("error in parseInput parsing tokens");switch(c.a){case"help":return U(0);case"clear":return U(1);case"colors":return U(2);case"cookies":return U(3);case"font":return U(4);case"hello":return U(5);case"prompt":return U(6);case"theme":return U(7);case"todo":return U(8);default:var s=c.a;return W(s)}}(),t=function(){var c=zr(e);if(c.$)return W("error in parseInput parsing tokens");var s=c.a;return U($(ms,ji(""),s))}();if(t.$){var o=t.a;return W(o)}else{var a=t.a;if(n.$){var o=n.a;return W(o)}else{var u=n.a;return U({cz:a,cD:u})}}},bs=To,hs=function(r){return"["+($(mr,",",r)+"]")},q=D(function(r,e,n){var t=function(){switch(r){case 0:return"help";case 1:return"clear";case 2:return"colors";case 3:return"cookies";case 4:return"font";case 5:return"hello";case 6:return"prompt";case 7:return"theme";default:return"todo"}}();return _([F((rr(e,Lr(n))>0?"\nToo few arguments for "+t:rr(e,Lr(n))<0?"\nToo many arguments for "+t:"\nUnexpected arguments "+hs(n))+(". Run `help "+(t+"` for usage")))])}),ps=i(function(r,e){return l(function(){var n=N(e);if(n.$===1)return y(r,{a:p});var t=n.a;return y(r,{a:C(r.a,v(q,1,0,e))})}(),M)}),Km=0,ds=i(function(r,e){var n=N(e);return n.$===1?l(y(r,{a:C(r.a,v(q,2,1,e))}),M):n.a==="test"?l(y(r,{a:C(r.a,_([$(Ze,Ke(0),"Red")]))}),M):l(y(r,{a:C(r.a,v(q,2,1,e))}),M)}),rt=function(r){return r?"True":"False"},gs=function(r){return"{ keepFont = "+(rt(r.cT)+("\n, keepPrompt = "+(rt(r.cU)+("\n, keepTheme = "+(rt(r.cV)+"\n}")))))},et=$n,xe=function(r){return v(V,i(function(e,n){var t=e.a,a=e.b;return v(T$,t,a,n)}),C$(0),r)},Br=$n,Ss=function(r){return xe(_([l("tag",Br("CookiesKept")),l("keepTheme",et(r.cV)),l("keepFont",et(r.cT)),l("keepPrompt",et(r.cU))]))},ws=$n,Ds=function(r){return xe(_([l("tag",Br("Font")),l("fontSize",ws(r.cM))]))},Cs=function(r){return xe(_([l("tag",Br("Prompt")),l("prompt",Br(r.b3))]))},Ts=function(r){switch(r){case 0:return"Pit";case 1:return"Dim";case 2:return"Sky";default:return"Sun"}},ys=$(Nr,Br,Ts),Bs=function(r){return xe(_([l("tag",Br("Cookies")),l("font",Ds(r.cL)),l("cookiesKept",Ss(r.cF)),l("theme",ys(r.c9)),l("prompt",Cs(r.b3))]))},nt=function(r){return Bs(y(pe,{cF:r.cF,cL:r.cL,b3:r.b3,c9:r.c9}))},tt=R$("setStorage",le),wr=function(r){return l(r,Ne(_([tt(nt(r))])))},Es=i(function(r,e){var n=N(e);if(n.$===1){var t=y(r,{a:C(r.a,_([F("\n"+gs(r.cF))]))});return l(t,Ne(_([tt(nt(t))])))}else if(n.a==="set"){var a=function(){var s=zr(e);if(s.$)return"";var f=s.a,m=zr(f);if(m.$)return"";var b=m.a;return $(hr,"",N(b))}(),u=function(){var s=zr(e);if(s.$)return"";var f=s.a;return $(hr,"",N(f))}(),o=r.cF;if(a==="")return l(y(r,{a:C(r.a,v(q,3,3,e))}),M);switch(u){case"":return l(y(r,{a:C(r.a,v(q,3,2,e))}),M);case"keepFont":switch(a){case"true":return wr(y(r,{cF:y(o,{cT:!0})}));case"false":return wr(y(r,{cF:y(o,{cT:!1})}));default:return l(y(r,{a:C(r.a,v(q,3,3,e))}),M)}case"keepTheme":switch(a){case"true":return wr(y(r,{cF:y(o,{cV:!0})}));case"false":return wr(y(r,{cF:y(o,{cV:!1})}));default:return l(y(r,{a:C(r.a,v(q,3,3,e))}),M)}case"keepPrompt":switch(a){case"true":return wr(y(r,{cF:y(o,{cU:!0})}));case"false":return wr(y(r,{cF:y(o,{cU:!1})}));default:return l(y(r,{a:C(r.a,v(q,3,3,e))}),M)}default:return l(y(r,{a:C(r.a,v(q,3,2,e))}),M)}}else{var c=n.a;return l(y(r,{a:C(r.a,v(q,3,1,e))}),M)}}),js=i$,Ps=i(function(r,e){var n=N(e);if(n.$===1)return l(y(r,{a:C(r.a,v(q,4,1,e))}),M);switch(n.a){case"size":var o=function(){var c=zr(e);if(c.$)return"";var s=c.a;return $(hr,"",N(s))}(),t=js(o);if(t.$)switch(o){case"":return l(y(r,{a:C(r.a,_([F("\nfontSize is "+(Fn(r.cL.cM)+"px"))]))}),M);case"reset":var u=y(r,{a:C(r.a,_([F("\nfontSize reset to 20px")])),cL:{cM:20}});return wr(u);default:return l(y(r,{a:C(r.a,_([F("\nfontSize "+(o+" not recognised; font size expected"))]))}),M)}else{var a=t.a;if(a>0){var u=y(r,{a:C(r.a,_([F("\nfontSize successfully set to "+(o+"px"))])),cL:{cM:a}});return wr(u)}else return l(y(r,{a:C(r.a,_([F("\nPlease enter a valid fontSize, a Float greater than 0")]))}),M)}case"reset":var u=y(r,{a:C(r.a,_([F("\nfontSize reset to 20px")])),cL:{cM:20}});return l(u,Ne(_([tt(nt(u))])));default:var o=n.a;return l(y(r,{a:C(r.a,v(q,4,1,e))}),M)}}),As=i(function(r,e){var n=N(e);return n.$===1?l(y(r,{a:C(r.a,_([F("\nHello World!")]))}),M):l(y(r,{a:C(r.a,v(q,5,0,e))}),M)}),Nm=11,ks=i(function(r,e){return l(y(r,{a:C(r.a,function(){if(Lr(e)<2){var n=N(e);if(n.$===1)return _([F("\n+--------------------------------------------------+\n|help prints this message |\n|help prints more information about |\n+--------------------------------------------------+\nclear clears the screen\ncookies [UNSTABLE] manages cookies\nhello prints hello world message\nfont manages font\nprompt [UNFINISHED] manages prompt\ntheme manages theme\ntodo prints aspirations for the site")]);switch(n.a){case"help":return _([F("\nhelp lists available commands with a short summary\nhelp prints more information about ")]);case"clear":return _([F("\nclear clears the screen")]);case"colors":return _([F("\ncolors "),$(Ze,Ke(11),"[UNIMPLEMENTED]")]);case"cookies":return _([F("\ncookies prints info about the current cookie settings\ncookies set [true|false] sets whether to store a certain cookie\noptions for are:\n keepFont - whether to store fontSize. Default fontSize is 20\n keepPrompt - whether to store prompt. Default prompt is >\n keepTheme - whether to store theme. Default theme is pit")]);case"hello":return _([F("\nhello prints `Hello World!`")]);case"font":return _([F("\nfont size prints info about the current font size\nfont size changes fontSize to if is >0\nfont reset changes fontSize to the default of 20px")]);case"prompt":return _([F("\nprompt prints info about the current prompt\nprompt set sets prompt text to \n is specified in quotes\nprompt color sets prompt color to \n run `colors` to list available colors")]);case"theme":return _([F("\ntheme sets the current theme according to \nOptions for are:\n sun - a theme blinding like the sun\n sky - a toned-down light theme\n dim - a deep and colorful dark theme\n pit - nearly black like the bottom of a pit")]);case"todo":return _([F("\ntodo prints aspirations for the site")]);default:var t=n.a;return v(q,0,1,e)}}else return v(q,0,1,e)}())}),M)}),Vs=i(function(r,e){var n=N(e);if(n.$===1)return l(y(r,{a:C(r.a,_([F("\ncurrent prompt is "+r.b3.b3)]))}),M);var t=n.a,a=r.b3;return wr(y(r,{b3:y(a,{b3:t})}))}),rn=i(function(r,e){var n=y(r,{c9:e});return wr(n)}),Fs=i(function(r,e){var n=N(e);if(n.$===1)return l(y(r,{a:C(r.a,_([F("\nThe current theme is "+function(){var a=r.c9;switch(a){case 3:return"sun";case 2:return"sky";case 1:return"dim";default:return"pit"}}())]))}),M);switch(n.a){case"sun":return $(rn,r,3);case"sky":return $(rn,r,2);case"dim":return $(rn,r,1);case"pit":return $(rn,r,0);default:var t=n.a;return l(y(r,{a:C(r.a,v(q,7,1,e))}),M)}}),Ms=i(function(r,e){return l(function(){var n=N(e);return n.$===1?y(r,{a:C(r.a,_([F("\nIn no particular order:\n- Implement colors throughout existing methods\n- Something like Neofetch\n- Collect and store feedback in a database\n- Create a style guide for programs involving console colors\n- Modularise the code (to have something more elegant than a single 2k line file)\n\nUpcoming commands to look forward to:\nfunfetch\ncolors test\ncolors set \ntheme save \ntheme load \nfeedback ")]))}):y(r,{a:C(r.a,v(q,8,0,e))})}(),M)}),Js=i(function(r,e){if(e.$){if(e.a==="")return l(r,M);var a=e.a;return l(y(r,{a:C(r.a,_([F("\ncommand "+(a+" not recognised. Run `help` to find a valid command"))]))}),M)}else{var n=e.a.cz,t=e.a.cD;return $(function(){switch(t){case 0:return ks;case 1:return ps;case 2:return ds;case 3:return Es;case 4:return Ps;case 5:return As;case 6:return Vs;case 7:return Fs;default:return Ms}}(),r,n)}}),Ls=i(function(r,e){if(r.$===1)return e;var n=r.a;return e+(":"+Zr(n))}),au=D(function(r,e,n){if(e.$===1)return n;var t=e.a;return C(n,C(r,t))}),Us=function(r){var e=function(){var n=r.b4;return n?"https://":"http://"}();return v(au,"#",r.bK,v(au,"?",r.b5,C($(Ls,r.b$,C(e,r.bO)),r.bZ)))},Os=i(function(r,e){switch(r.$){case 0:var n=r.a;if(n.$){var t=n.a;return l(e,ls(t))}else{var a=n.a;return l(e,$(bs,e.a8,Us(a)))}case 1:var a=r.a;return l(y(e,{bl:a}),M);case 2:var u=r.a;return $(vs,"\n",u)?$(Js,y(e,{av:"",a:C(e.a,_([F($e(e.a,p)?"":"\n"),$(Ze,Ke(10),e.b3.b3),F(tu(u))]))}),_s(u)):l(y(e,{av:u}),M);default:return l(e,M)}}),Hs=b$,Rs=i(function(r,e){return{cB:e,db:r}}),en=function(r){return{$:0,a:r}},at=i(function(r,e){r:for(;;){if(e.$===-2)return A;var n=e.b,t=e.c,a=e.d,u=e.e,o=$(Da,r,n);switch(o){case 0:var c=r,s=a;r=c,e=s;continue r;case 1:return G(t);default:var c=r,s=u;r=c,e=s;continue r}}}),ir=i(function(r,e){var n=r.b,t=r.c;if(n){var a=$(at,t,e);return a.$?v(Ca,t,Ia(t),e):e}else return e}),ut=i(function(r,e){return $(Q$,x$(r),eo(e))}),Mr=i(function(r,e){var n=e.a,t=e.b,a=e.c;if(t){var u=$(at,a,r);if(u.$)return $(ut,"className",Br("_unstyled"));var o=u.a;return $(ut,"className",Br(o))}else return n}),nn=i(function(r,e){var n=e.a,t=e.b,a=e.c;if(t){var u=$(at,a,r);if(u.$)return $(ne,"class","_unstyled");var o=u.a;return $(ne,"class",o)}else return n}),$t=function(r){return Y$(Ve(r))},ot=i(function(r,e){return $(Jt,r,Ve(e))}),Ce=function(r){return hn(Ve(r))},ct=i(function(r,e){return $(Mt,r,Ve(e))}),ae=i(function(r,e){var n=r.a,t=r.b,a=e.a,u=e.b;switch(t.$){case 4:var P=t.a;return l($(g,l(n,P),a),u);case 0:var m=t.a,b=t.b,d=t.c,h=v(V,ir,u,b),o=v(V,ue,l(p,h),d),w=o.a,T=o.b,P=v(Ce,m,$(k,Mr(T),b),R(w));return l($(g,l(n,P),a),T);case 1:var f=t.a,m=t.b,b=t.c,d=t.d,h=v(V,ir,u,b),c=v(V,ue,l(p,h),d),w=c.a,T=c.b,P=J(ct,f,m,$(k,Mr(T),b),R(w));return l($(g,l(n,P),a),T);case 2:var m=t.a,b=t.b,d=t.c,h=v(V,ir,u,b),s=v(V,ae,l(p,h),d),w=s.a,T=s.b,P=v($t,m,$(k,Mr(T),b),R(w));return l($(g,l(n,P),a),T);default:var f=t.a,m=t.b,b=t.c,d=t.d,h=v(V,ir,u,b),S=v(V,ae,l(p,h),d),w=S.a,T=S.b,P=J(ot,f,m,$(k,Mr(T),b),R(w));return l($(g,l(n,P),a),T)}}),ue=i(function(r,e){var n=e.a,t=e.b;switch(r.$){case 4:var w=r.a;return l($(g,w,n),t);case 0:var s=r.a,f=r.b,m=r.c,b=v(V,ir,t,f),a=v(V,ue,l(p,b),m),h=a.a,S=a.b,w=v(Ce,s,$(k,Mr(S),f),R(h));return l($(g,w,n),S);case 1:var c=r.a,s=r.b,f=r.c,m=r.d,b=v(V,ir,t,f),u=v(V,ue,l(p,b),m),h=u.a,S=u.b,w=J(ct,c,s,$(k,nn(S),f),R(h));return l($(g,w,n),S);case 2:var s=r.a,f=r.b,m=r.c,b=v(V,ir,t,f),o=v(V,ae,l(p,b),m),h=o.a,S=o.b,w=v($t,s,$(k,Mr(S),f),R(h));return l($(g,w,n),S);default:var c=r.a,s=r.b,f=r.c,m=r.d,b=v(V,ir,t,f),d=v(V,ae,l(p,b),m),h=d.a,S=d.b,w=J(ot,c,s,$(k,nn(S),f),R(h));return l($(g,w,n),S)}}),it=D(function(r,e,n){r:for(;;){if(n.$===-2)return e;var t=n.b,a=n.c,u=n.d,o=n.e,c=r,s=v(r,t,a,v(it,r,e,u)),f=o;r=c,e=s,n=f;continue r}}),uu=D(function(r,e,n){return $(mr,e,$(Ue,r,n))}),Gs=D(function(r,e,n){return n+("\n"+v(uu,Nn,e,r))}),zs=function(r){return v(it,Gs,"",r)},$u=i(function(r,e){return v(it,D(function(n,t,a){return a+("\n"+v(uu,"."+Nn,"#"+(r+("."+t)),n))}),"",e)}),st=i(function(r,e){var n=function(){if(e.$){var a=e.a,u=e.b,o=e.c;return $($u,a,u)+("\n"+$($u,a+" ",o))}else{var t=e.a;return zs(t)}}();return v(Ce,"span",_([$(ne,"style","display: none;"),$(ne,"class","elm-css-style-wrapper")]),_([v(Ce,"style",function(){if(r.$)return p;var t=r.a;return _([$(ne,"nonce",t)])}(),Zn(da(n)))]))}),Is=I(function(r,e,n,t){var a=v(V,ir,ge,n),u=v(V,ue,l(p,a),t),o=u.a,c=u.b,s=$(st,r,en(c)),f=$(k,Mr(c),n);return v(Ce,e,f,$(g,s,R(o)))}),Ws=i(function(r,e){r:for(;;)if(e.b){var n=e.a,t=n.a,a=e.b;if($e(r,t))return!0;var u=r,o=a;r=u,e=o;continue r}else return!1}),qs=i(function(r,e){r:for(;;)if(e.b){var n=e.a,t=n.a,a=e.b,u="_"+t;if($(Ws,u,a)){var o=u,c=a;r=o,e=c;continue r}else return u}else return r}),ou=D(function(r,e,n){var t=$(qs,"_",n),a=$(st,r,e);return l(t,a)}),Ys=I(function(r,e,n,t){var a=v(V,ir,ge,n),u=v(V,ae,l(p,a),t),o=u.a,c=u.b,s=v(ou,r,en(c),o),f=$(k,Mr(c),n);return v($t,e,f,$(g,s,R(o)))}),Qs=ar(function(r,e,n,t,a){var u=v(V,ir,ge,t),o=v(V,ae,l(p,u),a),c=o.a,s=o.b,f=v(ou,r,en(s),c),m=$(k,nn(s),t);return J(ot,e,n,m,$(g,f,R(c)))}),Zs=ar(function(r,e,n,t,a){var u=v(V,ir,ge,t),o=v(V,ue,l(p,u),a),c=o.a,s=o.b,f=$(st,r,en(s)),m=$(k,nn(s),t);return J(ct,e,n,m,$(g,f,R(c)))}),Xs=function(r){switch(r.$){case 4:var e=r.a;return e;case 0:var t=r.a,a=r.b,u=r.c;return J(Is,A,t,a,u);case 1:var n=r.a,t=r.b,a=r.c,u=r.d;return L(Zs,A,n,t,a,u);case 2:var t=r.a,a=r.b,u=r.c;return J(Ys,A,t,a,u);default:var n=r.a,t=r.b,a=r.c,u=r.d;return L(Qs,A,n,t,a,u)}},Ks=Xs,Ns=function(r){return{$:2,a:r}},xs=i(function(r,e){return v(Jn,$(ut,r,e),!1,"")}),cu=i(function(r,e){return $(xs,r,Br(e))}),rf=cu("id"),ef=function(r){return l(r,!0)},nf=function(r){return{$:1,a:r}},tf=Lt,af=i(function(r,e){return v(Jn,$(tf,r,e),!1,"")}),uf=i(function(r,e){return $(af,r,nf(e))}),$f=i(function(r,e){return v(Hr,pa,e,r)}),of=$($f,_(["target","value"]),Vn),cf=function(r){return $(uf,"input",$(jn,ef,$(jn,r,of)))},xm=0,r_=1,sf=Mn("main"),ff=Y("min-height"),e_=4,Er=i(function(r,e){r:for(;;){var n=r.c9;switch(n){case 0:switch(e){case 0:return j("#120211");case 1:return j("#f3d9f0");case 2:var t=r,a=4;r=t,e=a;continue r;case 3:return j("#380e36");case 4:return j("#e29edc");case 5:return j("#7c2b77");default:return j("#f9ecf7")}case 1:switch(e){case 0:return j("#380e36");case 1:return j("#f7e5f4");case 2:var t=r,a=4;r=t,e=a;continue r;case 3:return j("#5e1c56");case 4:return j("#e8b2e2");case 5:return j("#9d3c98");default:return j("#fbf4fa")}case 2:switch(e){case 0:return j("#f3d9f0");case 1:return j("#380e36");case 2:var t=r,a=4;r=t,e=a;continue r;case 3:return j("#eec6e9");case 4:return j("#7c2b77");case 5:return j("#d575cd");default:return j("#120211")}default:switch(e){case 0:return j("#f9ecf7");case 1:return j("#5a1c56");case 2:var t=r,a=4;r=t,e=a;continue r;case 3:return j("#f3d9f0");case 4:return j("#9d3c98");case 5:return j("#dc8ed5");default:return j("#380e36")}}}}),n_=0,vf=$(Ie,0,"vh"),t_=0,iu=$(Ie,0,"vw"),su=Y("width"),lf=function(r){return $(te,sf,_([xr($(Er,r,0)),de($(Er,r,1)),ff(vf(100)),su(iu(100)),re(H(0)),ee(H(0))]))},mf=$(Ge,"display","flex"),_f=Y("flex-direction"),bf=Y("flex-start"),hf=Y("flex-wrap"),pf=function(r){return{$:6,a:r}},Ir=i(function(r,e){return ga(r+(":"+e))}),df=D(function(r,e,n){r:for(;;)switch(n.$){case 0:var t=n.a,a=$(hr,"",N($(Ue,":",t)));return $(Ir,e,a);case 1:var u=n.a;return $(Ir,e,"elm-css-error-cannot-apply-"+(r+"-with-inapplicable-Style-for-selector"));case 2:var o=n.a;return $(Ir,e,"elm-css-error-cannot-apply-"+(r+"-with-inapplicable-Style-for-combinator"));case 3:var c=n.a;return $(Ir,e,"elm-css-error-cannot-apply-"+(r+"-with-inapplicable-Style-for-pseudo-element setter"));case 4:return $(Ir,e,"elm-css-error-cannot-apply-"+(r+"-with-inapplicable-Style-for-media-query"));case 5:return $(Ir,e,"elm-css-error-cannot-apply-"+(r+"-with-inapplicable-Style-for-keyframes"));default:if(n.a.b)if(n.a.b.b){var h=n.a,S=h.a,w=h.b,m=r,b=e,d=pf(w);r=m,e=b,n=d;continue r}else{var s=n.a,f=s.a,m=r,b=e,d=f;r=m,e=b,n=d;continue r}else return $(Ir,e,"elm-css-error-cannot-apply-"+(r+"-with-empty-Style"))}}),a_=0,gf=v(Ie,0,"",0),Sf=function(r){return v(df,"justifyContent","justify-content",r(gf))},wf={aw:0,aP:0,D:"nowrap",X:0},Df={a6:0,aw:0,D:"row"},Cf=function(r){return $(te,We,_([xr($(Er,r,0)),ee(H(0)),re(H(0)),mf,_f(Df),hf(wf),Sf(bf)]))},Tf=Y("flex-grow"),ft=Y("font-size"),fu=Y("height"),yf={r:0,aj:0,D:"hidden",aL:0},u_=0,Bf=function(r){return{N:0,aQ:0,Q:0,B:0,aC:0,aS:0,J:r,ap:"",aJ:0,D:Zr(r)}},Ef={Y:0,bv:0,r:0,d:0,k:0,cO:0,bQ:0,a9:0,ah:0,P:0,B:0,f:0,e:0,bc:0,aU:0,c0:0,y:0,aV:0,c3:0,am:0,V:0,u:0,j:0,dd:0,D:"none"},jf=Y("outline-width"),Pf=Y("overflow"),Af=Y("resize"),kf=Mn("textarea"),Vf=function(r){return $(te,kf,_([de($(Er,r,1)),ft(H(r.cL.cM)),ee(H(0)),re(H(0)),xr($(Er,r,0)),ze(H(0)),jf(H(0)),fu(H(r.cL.cM)),Af(Ef),Pf(yf),Tf(Bf(100))]))},vu=Y("font-family"),lu={M:0,D:"monospace"},Ff={D:"pre-wrap",X:0},Mf=Y("white-space"),Jf=function(r){return $(te,We,_([de($(Er,r,1)),ft(H(r.cL.cM)),ee(H(0)),re(H(0)),xr($(Er,r,0)),ze(H(0)),su(iu(100)),Mf(Ff),vu(lu)]))},Lf=function(r){return $(te,We,_([de($(Er,r,1)),ft(H(r.cL.cM)),ee(H(0)),re(H(0)),xr($(Er,r,0)),ze(H(0)),fu(H(r.cL.cM)),vu(lu)]))},Uf=cu("value"),Of=function(r){return v(lf,r,p,_([v(Jf,r,p,r.a),v(Cf,r,p,_([v(Lf,r,p,_([$(Ze,Ke(10),r.b3.b3)])),v(Vf,r,_([cf(Ns),Uf(r.av),rf("init-focus")]),p)]))]))},Hf=function(r){return $(Rs,"elmskell",_([Ks(Of(r))]))},Rf=yc({cQ:Xc,cZ:Mo,c_:Fo,c8:xc,dc:Os,de:Hf});q$({Main:{init:Rf(Hs)(0)}})})(this); diff --git a/backend/app/Main.hs b/backend/app/Main.hs index ea2bb08..cc2c199 100644 --- a/backend/app/Main.hs +++ b/backend/app/Main.hs @@ -1,7 +1,8 @@ {-# LANGUAGE DeriveGeneric #-} {-# LANGUAGE OverloadedStrings #-} +module Main (main) where -import Lib +import ElmskellTypes import Data.Text.Lazy (Text) import Network.Wai.Handler.Warp (Port) import Network.Wai.Middleware.RequestLogger (logStdoutDev) @@ -46,6 +47,9 @@ assetsFolder = "/home/mtgmonkey/elmskell/assets" -- MAIN main :: IO () main = do + + generateElmskellTypes + compiledElmAppOrExc <- E.try $ readFile $ assetsFolder ++ compiledElmAppFile :: IO (Either E.IOException String) let compiledElmApp = case compiledElmAppOrExc of Left e -> serverErrorReadFile e diff --git a/backend/hs-server.cabal b/backend/hs-server.cabal index 0eedfc9..3d73eab 100644 --- a/backend/hs-server.cabal +++ b/backend/hs-server.cabal @@ -28,11 +28,12 @@ library src ghc-options: -Wall -Wcompat -Widentities -Wincomplete-record-updates -Wincomplete-uni-patterns -Wmissing-export-lists -Wmissing-home-modules -Wpartial-fields -Wredundant-constraints build-depends: - base >=4.19.2 && <4.20 + aeson >=2.2.3 && <2.3 + , base >=4.19.2 && <4.20 , blaze-html >=0.9.2 && <0.10 , blaze-markup >=0.8.3 && <0.9 , directory >=1.3.8 && <1.4 - , elm-bridge >=0.8.4 && <0.9 + , elm-street >=0.2.2 && <0.3 , http-types >=0.12.4 && <0.13 , scotty ==0.22.* , text >=2.1.1 && <2.2 @@ -50,11 +51,12 @@ executable hs-server-exe app ghc-options: -Wall -Wcompat -Widentities -Wincomplete-record-updates -Wincomplete-uni-patterns -Wmissing-export-lists -Wmissing-home-modules -Wpartial-fields -Wredundant-constraints -threaded -rtsopts -with-rtsopts=-N build-depends: - base >=4.19.2 && <4.20 + aeson >=2.2.3 && <2.3 + , base >=4.19.2 && <4.20 , blaze-html >=0.9.2 && <0.10 , blaze-markup >=0.8.3 && <0.9 , directory >=1.3.8 && <1.4 - , elm-bridge >=0.8.4 && <0.9 + , elm-street >=0.2.2 && <0.3 , hs-server , http-types >=0.12.4 && <0.13 , scotty ==0.22.* @@ -74,11 +76,12 @@ test-suite hs-server-test test ghc-options: -Wall -Wcompat -Widentities -Wincomplete-record-updates -Wincomplete-uni-patterns -Wmissing-export-lists -Wmissing-home-modules -Wpartial-fields -Wredundant-constraints -threaded -rtsopts -with-rtsopts=-N build-depends: - base >=4.19.2 && <4.20 + aeson >=2.2.3 && <2.3 + , base >=4.19.2 && <4.20 , blaze-html >=0.9.2 && <0.10 , blaze-markup >=0.8.3 && <0.9 , directory >=1.3.8 && <1.4 - , elm-bridge >=0.8.4 && <0.9 + , elm-street >=0.2.2 && <0.3 , hs-server , http-types >=0.12.4 && <0.13 , scotty ==0.22.* diff --git a/backend/package.yaml b/backend/package.yaml index 35aa01f..6fecc4f 100644 --- a/backend/package.yaml +++ b/backend/package.yaml @@ -19,10 +19,12 @@ extra-source-files: description: Please see README.md dependencies: +- aeson >= 2.2.3 && < 2.3 - base >= 4.19.2 && < 4.20 - blaze-html >= 0.9.2 && < 0.10 - blaze-markup >= 0.8.3 && < 0.9 - directory >= 1.3.8 && < 1.4 +- elm-street >= 0.2.2 && < 0.3 - http-types >= 0.12.4 && < 0.13 - scotty >= 0.22 && < 0.23 - text >= 2.1.1 && < 2.2 diff --git a/backend/src/ElmskellTypes.hs b/backend/src/ElmskellTypes.hs index 06b3843..94c4500 100644 --- a/backend/src/ElmskellTypes.hs +++ b/backend/src/ElmskellTypes.hs @@ -1,20 +1,106 @@ -{-# LANGUAGE TemplateHaskell #-} +{-# LANGUAGE DataKinds #-} +{-# LANGUAGE DeriveGeneric #-} +{-# LANGUAGE DerivingStrategies #-} +{-# LANGUAGE DerivingVia #-} +{-# LANGUAGE TypeApplications #-} -module ElmskellTypes +module ElmskellTypes (generateElmskellTypes) where -import Elm.Derive -import Elm.Module +import Data.Aeson (ToJSON (..), FromJSON (..)) +import Elm +import GHC.Generics -data Foo - = Foo - { name :: String - , blablub :: Int - } deriving (Show, Eq) +data Font = Font + { fontFontSize :: Float + } deriving (Generic) + deriving (Elm, ToJSON, FromJSON) via ElmStreet Font -deriveBoth defaultOptions ''Foo +data Cookies = Cookies + { cookiesFont :: Font + , cookiesCookiesKept :: CookiesKept + , cookiesTheme :: Theme + , cookiesPrompt :: Prompt + } deriving (Generic) + deriving (Elm, ToJSON, FromJSON) via ElmStreet Cookies -main :: IO () -main = - putStrLn $ makeElmModule "Foo" - [ DefineElm (Proxy :: Proxy Foo) +data Theme + = Pit + | Dim + | Sky + | Sun + deriving (Generic) + deriving (Elm, ToJSON, FromJSON) via ElmStreet Theme + +data CookiesKept = CookiesKept + { cookiesKeptKeepTheme :: Bool + , cookiesKeptKeepFont :: Bool + , cookiesKeptKeepPrompt :: Bool + } deriving (Generic) + deriving (Elm, ToJSON, FromJSON) via ElmStreet CookiesKept + +data Prompt = Prompt + { promptPrompt :: String + } deriving (Generic) + deriving (Elm, ToJSON, FromJSON) via ElmStreet Prompt + +data CoreColor + = Red + | Green + | Yellow + | Blue + | Magenta + | Cyan + | BrightRed + | BrightGreen + | BrightYellow + | BrightBlue + | BrightMagenta + | BrightCyan + deriving (Generic) + deriving (Elm, ToJSON, FromJSON) via ElmStreet CoreColor + +data ThemeColor + = Background + | Foreground + | Cursor + | Black + | White + | BrightBlack + | BrightWhite + deriving (Generic) + deriving (Elm, ToJSON, FromJSON) via ElmStreet ThemeColor + +data Command + = HelpCommand + | ClearCommand + | ColorsCommand + | CookiesCommand + | FontCommand + | HelloCommand + | PromptCommand + | ThemeCommand + | TodoCommand + deriving (Generic) + deriving (Elm, ToJSON, FromJSON) via ElmStreet Command + +data Input = Input + { inputCommand :: Command + , inputArgs :: [String] + } + deriving (Generic) + deriving (Elm, ToJSON, FromJSON) via ElmStreet Input + +type Types = + '[Font + , Cookies + , Theme + , CookiesKept + , Prompt + , CoreColor + , ThemeColor + , Command + , Input ] + +generateElmskellTypes :: IO () +generateElmskellTypes = generateElm @Types $ defaultSettings "frontend/src" ["ElmskellTypes", "Generated"] diff --git a/frontend/elm.json b/frontend/elm.json index 6256f63..de6a82a 100644 --- a/frontend/elm.json +++ b/frontend/elm.json @@ -6,20 +6,24 @@ "elm-version": "0.19.1", "dependencies": { "direct": { + "NoRedInk/elm-json-decode-pipeline": "1.0.1", + "bartavelle/json-helpers": "2.0.2", "elm/browser": "1.0.2", "elm/core": "1.0.5", "elm/html": "1.0.0", "elm/json": "1.1.3", + "elm/time": "1.0.0", "elm/url": "1.0.0", "lobanov/elm-localstorage": "1.0.1", - "rtfeldman/elm-css": "18.0.0" + "rtfeldman/elm-css": "18.0.0", + "rtfeldman/elm-iso8601-date-strings": "1.1.4" }, "indirect": { "elm/bytes": "1.0.8", "elm/file": "1.0.5", "elm/http": "2.0.0", + "elm/parser": "1.1.0", "elm/random": "1.0.0", - "elm/time": "1.0.0", "elm/virtual-dom": "1.0.3", "lobanov/elm-taskport": "2.0.1", "robinheghan/murmur3": "1.0.0", diff --git a/frontend/src/ElmskellTypes/Generated/Decoder.elm b/frontend/src/ElmskellTypes/Generated/Decoder.elm new file mode 100644 index 0000000..ee0d8ed --- /dev/null +++ b/frontend/src/ElmskellTypes/Generated/Decoder.elm @@ -0,0 +1,47 @@ +module ElmskellTypes.Generated.Decoder exposing (..) + +import Iso8601 as Iso +import Json.Decode as D exposing (..) +import Json.Decode.Pipeline as D exposing (required) + +import ElmskellTypes.Generated.ElmStreet exposing (..) +import ElmskellTypes.Generated.Types as T + + +decodeFont : Decoder T.Font +decodeFont = D.succeed T.Font + |> required "fontSize" D.float + +decodeCookies : Decoder T.Cookies +decodeCookies = D.succeed T.Cookies + |> required "font" decodeFont + |> required "cookiesKept" decodeCookiesKept + |> required "theme" decodeTheme + |> required "prompt" decodePrompt + +decodeTheme : Decoder T.Theme +decodeTheme = elmStreetDecodeEnum T.readTheme + +decodeCookiesKept : Decoder T.CookiesKept +decodeCookiesKept = D.succeed T.CookiesKept + |> required "keepTheme" D.bool + |> required "keepFont" D.bool + |> required "keepPrompt" D.bool + +decodePrompt : Decoder T.Prompt +decodePrompt = D.succeed T.Prompt + |> required "prompt" D.string + +decodeCoreColor : Decoder T.CoreColor +decodeCoreColor = elmStreetDecodeEnum T.readCoreColor + +decodeThemeColor : Decoder T.ThemeColor +decodeThemeColor = elmStreetDecodeEnum T.readThemeColor + +decodeCommand : Decoder T.Command +decodeCommand = elmStreetDecodeEnum T.readCommand + +decodeInput : Decoder T.Input +decodeInput = D.succeed T.Input + |> required "command" decodeCommand + |> required "args" (D.list D.string) diff --git a/frontend/src/ElmskellTypes/Generated/ElmStreet.elm b/frontend/src/ElmskellTypes/Generated/ElmStreet.elm new file mode 100644 index 0000000..129371a --- /dev/null +++ b/frontend/src/ElmskellTypes/Generated/ElmStreet.elm @@ -0,0 +1,52 @@ +module ElmskellTypes.Generated.ElmStreet exposing (..) + +import Json.Encode as E exposing (Value) +import Json.Decode as D exposing (Decoder) +import Json.Decode.Pipeline as D exposing (..) + + +elmStreetEncodeMaybe : (a -> Value) -> Maybe a -> Value +elmStreetEncodeMaybe enc = Maybe.withDefault E.null << Maybe.map enc + +elmStreetEncodeEither : (a -> Value) -> (b -> Value) -> Result a b -> Value +elmStreetEncodeEither encA encB res = E.object <| case res of + Err a -> [("Left", encA a)] + Ok b -> [("Right", encB b)] + +elmStreetEncodePair : (a -> Value) -> (b -> Value) -> (a, b) -> Value +elmStreetEncodePair encA encB (a, b) = E.list identity [encA a, encB b] + +elmStreetEncodeTriple : (a -> Value) -> (b -> Value) -> (c -> Value) -> (a, b, c) -> Value +elmStreetEncodeTriple encA encB encC (a, b, c) = E.list identity [encA a, encB b, encC c] + +elmStreetEncodeNonEmpty : (a -> Value) -> (a, List a) -> Value +elmStreetEncodeNonEmpty encA (a, xs) = E.list encA <| a :: xs + +decodeStr : (String -> Maybe a) -> String -> Decoder a +decodeStr readX x = case readX x of + Just a -> D.succeed a + Nothing -> D.fail "Constructor not matched" + +elmStreetDecodeEnum : (String -> Maybe a) -> Decoder a +elmStreetDecodeEnum r = D.andThen (decodeStr r) D.string + +elmStreetDecodeChar : Decoder Char +elmStreetDecodeChar = D.andThen (decodeStr (Maybe.map Tuple.first << String.uncons)) D.string + +elmStreetDecodeEither : Decoder a -> Decoder b -> Decoder (Result a b) +elmStreetDecodeEither decA decB = D.oneOf + [ D.field "Left" (D.map Err decA) + , D.field "Right" (D.map Ok decB) + ] + +elmStreetDecodePair : Decoder a -> Decoder b -> Decoder (a, b) +elmStreetDecodePair decA decB = D.map2 Tuple.pair (D.index 0 decA) (D.index 1 decB) + +elmStreetDecodeTriple : Decoder a -> Decoder b -> Decoder c -> Decoder (a, b, c) +elmStreetDecodeTriple decA decB decC = D.map3 (\a b c -> (a,b,c)) (D.index 0 decA) (D.index 1 decB) (D.index 2 decC) + +elmStreetDecodeNonEmpty : Decoder a -> Decoder (a, List a) +elmStreetDecodeNonEmpty decA = D.list decA |> D.andThen (\xs -> case xs of + h::t -> D.succeed (h, t) + _ -> D.fail "Expecting non-empty array") + diff --git a/frontend/src/ElmskellTypes/Generated/Encoder.elm b/frontend/src/ElmskellTypes/Generated/Encoder.elm new file mode 100644 index 0000000..01ed41e --- /dev/null +++ b/frontend/src/ElmskellTypes/Generated/Encoder.elm @@ -0,0 +1,56 @@ +module ElmskellTypes.Generated.Encoder exposing (..) + +import Iso8601 as Iso +import Json.Encode as E exposing (..) + +import ElmskellTypes.Generated.ElmStreet exposing (..) +import ElmskellTypes.Generated.Types as T + + +encodeFont : T.Font -> Value +encodeFont x = E.object + [ ("tag", E.string "Font") + , ("fontSize", E.float x.fontSize) + ] + +encodeCookies : T.Cookies -> Value +encodeCookies x = E.object + [ ("tag", E.string "Cookies") + , ("font", encodeFont x.font) + , ("cookiesKept", encodeCookiesKept x.cookiesKept) + , ("theme", encodeTheme x.theme) + , ("prompt", encodePrompt x.prompt) + ] + +encodeTheme : T.Theme -> Value +encodeTheme = E.string << T.showTheme + +encodeCookiesKept : T.CookiesKept -> Value +encodeCookiesKept x = E.object + [ ("tag", E.string "CookiesKept") + , ("keepTheme", E.bool x.keepTheme) + , ("keepFont", E.bool x.keepFont) + , ("keepPrompt", E.bool x.keepPrompt) + ] + +encodePrompt : T.Prompt -> Value +encodePrompt x = E.object + [ ("tag", E.string "Prompt") + , ("prompt", E.string x.prompt) + ] + +encodeCoreColor : T.CoreColor -> Value +encodeCoreColor = E.string << T.showCoreColor + +encodeThemeColor : T.ThemeColor -> Value +encodeThemeColor = E.string << T.showThemeColor + +encodeCommand : T.Command -> Value +encodeCommand = E.string << T.showCommand + +encodeInput : T.Input -> Value +encodeInput x = E.object + [ ("tag", E.string "Input") + , ("command", encodeCommand x.command) + , ("args", (E.list E.string) x.args) + ] diff --git a/frontend/src/ElmskellTypes/Generated/Types.elm b/frontend/src/ElmskellTypes/Generated/Types.elm new file mode 100644 index 0000000..18df525 --- /dev/null +++ b/frontend/src/ElmskellTypes/Generated/Types.elm @@ -0,0 +1,200 @@ +module ElmskellTypes.Generated.Types exposing (..) + +import Time exposing (Posix) +import Json.Decode exposing (Value) + + +type alias Font = + { fontSize : Float + } + +type alias Cookies = + { font : Font + , cookiesKept : CookiesKept + , theme : Theme + , prompt : Prompt + } + +type Theme + = Pit + | Dim + | Sky + | Sun + +showTheme : Theme -> String +showTheme x = case x of + Pit -> "Pit" + Dim -> "Dim" + Sky -> "Sky" + Sun -> "Sun" + +readTheme : String -> Maybe Theme +readTheme x = case x of + "Pit" -> Just Pit + "Dim" -> Just Dim + "Sky" -> Just Sky + "Sun" -> Just Sun + _ -> Nothing + +universeTheme : List Theme +universeTheme = [Pit, Dim, Sky, Sun] + +type alias CookiesKept = + { keepTheme : Bool + , keepFont : Bool + , keepPrompt : Bool + } + +type alias Prompt = + { prompt : String + } + +type CoreColor + = Red + | Green + | Yellow + | Blue + | Magenta + | Cyan + | BrightRed + | BrightGreen + | BrightYellow + | BrightBlue + | BrightMagenta + | BrightCyan + +showCoreColor : CoreColor -> String +showCoreColor x = case x of + Red -> "Red" + Green -> "Green" + Yellow -> "Yellow" + Blue -> "Blue" + Magenta -> "Magenta" + Cyan -> "Cyan" + BrightRed -> "BrightRed" + BrightGreen -> "BrightGreen" + BrightYellow -> "BrightYellow" + BrightBlue -> "BrightBlue" + BrightMagenta -> "BrightMagenta" + BrightCyan -> "BrightCyan" + +readCoreColor : String -> Maybe CoreColor +readCoreColor x = case x of + "Red" -> Just Red + "Green" -> Just Green + "Yellow" -> Just Yellow + "Blue" -> Just Blue + "Magenta" -> Just Magenta + "Cyan" -> Just Cyan + "BrightRed" -> Just BrightRed + "BrightGreen" -> Just BrightGreen + "BrightYellow" -> Just BrightYellow + "BrightBlue" -> Just BrightBlue + "BrightMagenta" -> Just BrightMagenta + "BrightCyan" -> Just BrightCyan + _ -> Nothing + +universeCoreColor : List CoreColor +universeCoreColor = [ Red + , Green + , Yellow + , Blue + , Magenta + , Cyan + , BrightRed + , BrightGreen + , BrightYellow + , BrightBlue + , BrightMagenta + , BrightCyan ] + +type ThemeColor + = Background + | Foreground + | Cursor + | Black + | White + | BrightBlack + | BrightWhite + +showThemeColor : ThemeColor -> String +showThemeColor x = case x of + Background -> "Background" + Foreground -> "Foreground" + Cursor -> "Cursor" + Black -> "Black" + White -> "White" + BrightBlack -> "BrightBlack" + BrightWhite -> "BrightWhite" + +readThemeColor : String -> Maybe ThemeColor +readThemeColor x = case x of + "Background" -> Just Background + "Foreground" -> Just Foreground + "Cursor" -> Just Cursor + "Black" -> Just Black + "White" -> Just White + "BrightBlack" -> Just BrightBlack + "BrightWhite" -> Just BrightWhite + _ -> Nothing + +universeThemeColor : List ThemeColor +universeThemeColor = [ Background + , Foreground + , Cursor + , Black + , White + , BrightBlack + , BrightWhite ] + +type Command + = HelpCommand + | ClearCommand + | ColorsCommand + | CookiesCommand + | FontCommand + | HelloCommand + | PromptCommand + | ThemeCommand + | TodoCommand + +showCommand : Command -> String +showCommand x = case x of + HelpCommand -> "HelpCommand" + ClearCommand -> "ClearCommand" + ColorsCommand -> "ColorsCommand" + CookiesCommand -> "CookiesCommand" + FontCommand -> "FontCommand" + HelloCommand -> "HelloCommand" + PromptCommand -> "PromptCommand" + ThemeCommand -> "ThemeCommand" + TodoCommand -> "TodoCommand" + +readCommand : String -> Maybe Command +readCommand x = case x of + "HelpCommand" -> Just HelpCommand + "ClearCommand" -> Just ClearCommand + "ColorsCommand" -> Just ColorsCommand + "CookiesCommand" -> Just CookiesCommand + "FontCommand" -> Just FontCommand + "HelloCommand" -> Just HelloCommand + "PromptCommand" -> Just PromptCommand + "ThemeCommand" -> Just ThemeCommand + "TodoCommand" -> Just TodoCommand + _ -> Nothing + +universeCommand : List Command +universeCommand = [ HelpCommand + , ClearCommand + , ColorsCommand + , CookiesCommand + , FontCommand + , HelloCommand + , PromptCommand + , ThemeCommand + , TodoCommand ] + +type alias Input = + { command : Command + , args : List String + } diff --git a/frontend/src/Main.elm b/frontend/src/Main.elm index 89cc53e..87d43f5 100644 --- a/frontend/src/Main.elm +++ b/frontend/src/Main.elm @@ -4,6 +4,10 @@ import Browser import Browser.Dom as Dom import Browser.Navigation as Nav import Css exposing (..) +import ElmskellTypes.Generated.Decoder exposing (..) +import ElmskellTypes.Generated.ElmStreet exposing (..) +import ElmskellTypes.Generated.Encoder exposing (..) +import ElmskellTypes.Generated.Types exposing (..) import Html.Styled exposing (Attribute, Html, styled, text, toUnstyled) import Html.Styled.Attributes exposing (id, value) import Html.Styled.Events exposing (onInput) @@ -33,23 +37,6 @@ main = -- MODEL -type alias Font = - { fontSize : Float - } - - -type alias CookiesKept = - { keepTheme : Bool - , keepFont : Bool - , keepPrompt : Bool - } - - -type alias Prompt = - { prompt : String - } - - type alias Model = { key : Nav.Key , url : Url.Url @@ -62,6 +49,19 @@ type alias Model = } +defaultCookies : Cookies +defaultCookies = + { font = { fontSize = 20.0 } + , cookiesKept = + { keepTheme = True + , keepFont = True + , keepPrompt = True + } + , theme = Dim + , prompt = { prompt = ">" } + } + + init : E.Value -> Url.Url -> Nav.Key -> ( Model, Cmd Msg ) init flags url key = let @@ -70,53 +70,35 @@ init flags url key = , text "\nRun `help` to get started" ] - cookiesKept = - case D.decodeValue cookiesKeptDecoder flags of - Ok cK -> - cK + localStorage = + case D.decodeValue decodeCookies flags of + Ok cookies -> + cookies Err _ -> - { keepTheme = True - , keepFont = True - , keepPrompt = True - } + defaultCookies in ( { key = key , url = url , theme = - if cookiesKept.keepTheme then - case D.decodeValue (themeDecoder flags) flags of - Ok theme -> - theme - - Err _ -> - Pit + if localStorage.cookiesKept.keepTheme then + localStorage.theme else - Pit + defaultCookies.theme , font = - if cookiesKept.keepFont then - case D.decodeValue fontDecoder flags of - Ok font -> - font - - Err _ -> - { fontSize = 20.0 } + if localStorage.cookiesKept.keepFont then + localStorage.font else - { fontSize = 20.0 } - , cookiesKept = cookiesKept + defaultCookies.font + , cookiesKept = localStorage.cookiesKept , prompt = - if cookiesKept.keepPrompt then - case D.decodeValue promptDecoder flags of - Ok prompt -> - prompt - - Err _ -> - { prompt = ">" } + if localStorage.cookiesKept.keepPrompt then + localStorage.prompt else - { prompt = ">" } + defaultCookies.prompt , content = initContent , cliContent = "" } @@ -182,24 +164,6 @@ update msg model = -- COMMANDS -type Command - = Help - | Clear - | Colors - | Cookies - | FontCommand - | Hello - | PromptCommand - | Theme - | Todo - - -type alias Input = - { command : Command - , args : List String - } - - parseInput : String -> Result String Input parseInput input = let @@ -209,31 +173,31 @@ parseInput input = command = case List.head tokens of Just "help" -> - Ok Help + Ok HelpCommand Just "clear" -> - Ok Clear + Ok ClearCommand Just "colors" -> - Ok Colors + Ok ColorsCommand Just "cookies" -> - Ok Cookies + Ok CookiesCommand Just "font" -> Ok FontCommand Just "hello" -> - Ok Hello + Ok HelloCommand Just "prompt" -> Ok PromptCommand Just "theme" -> - Ok Theme + Ok ThemeCommand Just "todo" -> - Ok Todo + Ok TodoCommand Just trimput -> Err trimput @@ -267,31 +231,31 @@ runCommand model input = case input of Ok { command, args } -> (case command of - Help -> + HelpCommand -> runHelp - Clear -> + ClearCommand -> runClear - Colors -> + ColorsCommand -> runColors - Cookies -> + CookiesCommand -> runCookies FontCommand -> runFont - Hello -> + HelloCommand -> runHello PromptCommand -> runPrompt - Theme -> + ThemeCommand -> runTheme - Todo -> + TodoCommand -> runTodo ) model @@ -308,10 +272,6 @@ runCommand model input = ) - --- COMMANDS - - type alias CommandRunner = Model -> List String -> ( Model, Cmd Msg ) @@ -395,10 +355,10 @@ runHelp model args = [ text "\ntodo prints aspirations for the site" ] Just string -> - wrongArgs Help 1 args + wrongArgs HelpCommand 1 args else - wrongArgs Help 1 args + wrongArgs HelpCommand 1 args ) } , Cmd.none @@ -412,7 +372,7 @@ runClear model args = { model | content = [] } Just string -> - { model | content = model.content ++ wrongArgs Clear 0 args } + { model | content = model.content ++ wrongArgs ClearCommand 0 args } , Cmd.none ) @@ -421,7 +381,7 @@ runColors : CommandRunner runColors model args = case List.head args of Nothing -> - ( { model | content = model.content ++ wrongArgs Colors 1 args }, Cmd.none ) + ( { model | content = model.content ++ wrongArgs ColorsCommand 1 args }, Cmd.none ) Just "test" -> ( { model @@ -433,7 +393,7 @@ runColors model args = ) Just _ -> - ( { model | content = model.content ++ wrongArgs Colors 1 args }, Cmd.none ) + ( { model | content = model.content ++ wrongArgs ColorsCommand 1 args }, Cmd.none ) runCookies : CommandRunner @@ -475,12 +435,12 @@ runCookies model args = "" in if third == "" then - ( { model | content = model.content ++ wrongArgs Cookies 3 args }, Cmd.none ) + ( { model | content = model.content ++ wrongArgs CookiesCommand 3 args }, Cmd.none ) else case second of "" -> - ( { model | content = model.content ++ wrongArgs Cookies 2 args }, Cmd.none ) + ( { model | content = model.content ++ wrongArgs CookiesCommand 2 args }, Cmd.none ) "keepFont" -> case third of @@ -491,7 +451,7 @@ runCookies model args = saveModel { model | cookiesKept = { cookiesKept | keepFont = False } } _ -> - ( { model | content = model.content ++ wrongArgs Cookies 3 args }, Cmd.none ) + ( { model | content = model.content ++ wrongArgs CookiesCommand 3 args }, Cmd.none ) "keepTheme" -> case third of @@ -502,7 +462,7 @@ runCookies model args = saveModel { model | cookiesKept = { cookiesKept | keepTheme = False } } _ -> - ( { model | content = model.content ++ wrongArgs Cookies 3 args }, Cmd.none ) + ( { model | content = model.content ++ wrongArgs CookiesCommand 3 args }, Cmd.none ) "keepPrompt" -> case third of @@ -513,13 +473,13 @@ runCookies model args = saveModel { model | cookiesKept = { cookiesKept | keepPrompt = False } } _ -> - ( { model | content = model.content ++ wrongArgs Cookies 3 args }, Cmd.none ) + ( { model | content = model.content ++ wrongArgs CookiesCommand 3 args }, Cmd.none ) _ -> - ( { model | content = model.content ++ wrongArgs Cookies 2 args }, Cmd.none ) + ( { model | content = model.content ++ wrongArgs CookiesCommand 2 args }, Cmd.none ) Just string -> - ( { model | content = model.content ++ wrongArgs Cookies 1 args }, Cmd.none ) + ( { model | content = model.content ++ wrongArgs CookiesCommand 1 args }, Cmd.none ) runHello : CommandRunner @@ -529,7 +489,7 @@ runHello model args = ( { model | content = model.content ++ [ text "\nHello World!" ] }, Cmd.none ) _ -> - ( { model | content = model.content ++ wrongArgs Hello 0 args }, Cmd.none ) + ( { model | content = model.content ++ wrongArgs HelloCommand 0 args }, Cmd.none ) runFont : CommandRunner @@ -682,7 +642,7 @@ runTheme model args = setTheme model Pit Just string -> - ( { model | content = model.content ++ wrongArgs Theme 1 args }, Cmd.none ) + ( { model | content = model.content ++ wrongArgs ThemeCommand 1 args }, Cmd.none ) runTodo : CommandRunner @@ -711,7 +671,7 @@ runTodo model args = } Just _ -> - { model | content = model.content ++ wrongArgs Todo 0 args } + { model | content = model.content ++ wrongArgs TodoCommand 0 args } , Cmd.none ) @@ -734,31 +694,31 @@ wrongArgs command expected args = let comstr = case command of - Help -> + HelpCommand -> "help" - Clear -> + ClearCommand -> "clear" - Colors -> + ColorsCommand -> "colors" - Cookies -> + CookiesCommand -> "cookies" FontCommand -> "font" - Hello -> + HelloCommand -> "hello" PromptCommand -> "prompt" - Theme -> + ThemeCommand -> "theme" - Todo -> + TodoCommand -> "todo" in [ text @@ -823,88 +783,13 @@ port setStorage : E.Value -> Cmd a encodeModel : Model -> E.Value encodeModel model = - E.object - [ ( "theme" - , E.string <| - case model.theme of - Pit -> - "Pit" - - Dim -> - "Dim" - - Sky -> - "Sky" - - Sun -> - "Sun" - ) - , ( "font" - , E.object - [ ( "fontSize" - , E.float model.font.fontSize - ) - ] - ) - , ( "cookiesKept" - , E.object - [ ( "keepTheme", E.bool model.cookiesKept.keepTheme ) - , ( "keepFont", E.bool model.cookiesKept.keepFont ) - , ( "keepPrompt", E.bool model.cookiesKept.keepPrompt ) - ] - ) - , ( "prompt" - , E.object - [ ( "prompt" - , E.string model.prompt.prompt - ) - ] - ) - ] - - -themeDecoder : E.Value -> D.Decoder Theme -themeDecoder flags = - case D.decodeValue (D.field "theme" D.string) flags of - Ok "Pit" -> - D.succeed Pit - - Ok "Dim" -> - D.succeed Dim - - Ok "Sky" -> - D.succeed Sky - - Ok "Sun" -> - D.succeed Sun - - Ok _ -> - D.fail "Unknown value found in theme field of json" - - Err _ -> - D.fail "Error decoding theme field of json" - - -fontDecoder : D.Decoder Font -fontDecoder = - D.map Font - (D.at [ "font", "fontSize" ] D.float) - - -cookiesKeptDecoder : D.Decoder CookiesKept -cookiesKeptDecoder = - D.map3 CookiesKept - (D.at [ "cookiesKept", "keepTheme" ] D.bool) - (D.at [ "cookiesKept", "keepFont" ] D.bool) - (D.at [ "cookiesKept", "keepPrompt" ] D.bool) - - -promptDecoder : D.Decoder Prompt -promptDecoder = - D.map Prompt - (D.at [ "prompt", "prompt" ] D.string) - - + encodeCookies + { defaultCookies + | font = model.font + , cookiesKept = model.cookiesKept + , theme = model.theme + , prompt = model.prompt + } -- SUBSCRIPTIONS @@ -940,40 +825,6 @@ viewBody model = -- STYLES - - -type Theme - = Pit - | Dim - | Sky - | Sun - - -type CoreColor - = Red - | Green - | Yellow - | Blue - | Magenta - | Cyan - | BrightRed - | BrightGreen - | BrightYellow - | BrightBlue - | BrightMagenta - | BrightCyan - - -type ThemeColor - = Background - | Foreground - | Cursor - | Black - | White - | BrightBlack - | BrightWhite - - allColors : Model -> List Color allColors model = List.map @@ -991,18 +842,16 @@ allColors model = , BrightMagenta , BrightCyan ] - ++ - List.map - (themeColor model) - [ Background - , Foreground - , Cursor - , Black - , White - , BrightBlack - , BrightWhite - ] - + ++ List.map + (themeColor model) + [ Background + , Foreground + , Cursor + , Black + , White + , BrightBlack + , BrightWhite + ] diff --git a/justfile b/justfile index a488b09..123d885 100644 --- a/justfile +++ b/justfile @@ -1,20 +1,17 @@ -help: - echo compile builds both ends - echo produce builds, minifies, optimises both ends - echo run produces before executing the result - echo elm builds the elm - echo haskell builds the haskell - echo format-elm formats the elm - echo produce-elm builds, minifies, optimises the elm - -compile: elm haskell - produce: produce-elm haskell echo "REMEMBER to RESTART elmskell.service TO UPDATE SITE IN PLACE" echo "REMEMBER to RUN sudo iptables-apply -t 60 /etc/iptables/iptables.rules IF YOU HAVEN'T SINCE RESTART" -run: produce - stack exec ~/.local/bin/hs-server-exe +types: haskell + rm -rf frontend/src/ElmskellTypes/Generated + stack exec ~/.local/bin/hs-server-exe + +compile: elm haskell + +run: produce exec + +exec: + stack exec ~/.local/bin/hs-server-exe haskell: cd backend && stack install