From 9dede341e8471be7acc6970635263520a5b84de3 Mon Sep 17 00:00:00 2001 From: mtgmonkey Date: Fri, 25 Apr 2025 20:56:10 -0400 Subject: [PATCH] build with just, upd. todo --- Makefile | 25 - assets/js/main.js | 2 +- assets/js/main.tmp.js | 9714 ----------------------------------------- frontend/src/Main.elm | 72 +- justfile | 34 + shell.nix | 4 + 6 files changed, 84 insertions(+), 9767 deletions(-) delete mode 100644 Makefile delete mode 100644 assets/js/main.tmp.js create mode 100644 justfile diff --git a/Makefile b/Makefile deleted file mode 100644 index d19bb05..0000000 --- a/Makefile +++ /dev/null @@ -1,25 +0,0 @@ -all: frontend backend - -produce: frontend-produce backend - echo REMEMBER to RESTART elmskell.service TO UPDATE SITE IN PLACE - -run: - stack exec ~/.local/bin/hs-server-exe - -backend: - cd backend && stack install - -frontend: frontend-format - cd frontend && elm make src/Main.elm --output=../assets/js/main.js - rm -rf frontend/elm-stuff - -frontend-produce: frontend-format - cd frontend && elm make src/Main.elm --optimize --output=../assets/js/tmp.js - rm -rf frontend/elm-stuff - esbuild assets/js/tmp.js --minify --target=es5 --outfile=assets/js/main.js - rm assets/js/tmp.js - -frontend-format: - elm-format frontend/src/Main.elm --yes - -.PHONY: all produce run start backend frontend frontend-produce frontend-format clean diff --git a/assets/js/main.js b/assets/js/main.js index b81316b..e936f51 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 lt(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 mt(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 _t(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 T(r,e,n,t,a){return r.a===4?r.f(e,n,t,a):r(e)(n)(t)(a)}function J(r,e,n,t,a,u){return r.a===5?r.f(e,n,t,a,u):r(e)(n)(t)(a)(u)}function nn(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 Vf(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=tn(r,e,0,t);a&&(n=t.pop());a=tn(n.a,n.b,0,t));return a}function tn(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(!tn(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 x(r,e,n){if(typeof r!="object")return r===e?0:r0}),Jf=c(function(r,e){return x(r,e)>=0}),wu=c(function(r,e){var n=x(r,e);return n<0?Yt:n?Ji:Gt}),Vr=0,Uf={$:"#0"};function l(r,e){return{a:r,b:e}}function kf(r,e){return{$:"#2",a:r,b:e}}function Lf(r,e,n){return{a:r,b:e,c:n}}function Of(r,e,n){return{$:"#3",a:r,b:e,c:n}}function Rf(r){return r}function Hf(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 gu=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},If={$:"[]"};function Sr(r,e){return{$:1,a:r,b:e}}function zf(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)}),Wf=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(T(r,e.a,n.a,t.a,a.a));return _(u)}),Qf=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(J(r,e.a,n.a,t.a,a.a,u.a));return _(i)}),Gf=c(function(r,e){return _(Pe(e).sort(function(n,t){return x(r(n),r(t))}))}),Yf=c(function(r,e){return _(Pe(e).sort(function(n,t){var a=$(r,n,t);return a===Gt?0:a===Yt?-1:1}))}),Bu=[];function Zf(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}),rv=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 ov(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 Fu(r,"'"+ht(e,!0)+"'");if(typeof e=="string")return pt(r,'"'+ht(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 pt(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 ht(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 pt(r,e){return r?"\x1B[93m"+e+"\x1B[0m":e}function Fu(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 cv(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 sv(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+"` "+dt(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 "+dt(f)+"\n\nIt received the following value:\n\n "+bt(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 dt(r){return r.bo.aF===r.bI.aF?"on line "+r.bo.aF:"on lines "+r.bo.aF+" through "+r.bI.aF}var Eu=c(function(r,e){return r+e}),Tu=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}),fv=Math.PI,vv=Math.E,lv=Math.cos,mv=Math.sin,_v=Math.tan,bv=Math.acos,hv=Math.asin,pv=Math.atan,dv=c(Math.atan2);function Ru(r){return r}function Sv(r){return r|0}function wv(r){return r===1/0||r===-1/0}var Hu=Math.ceil,Iu=Math.floor,gv=Math.round,Dv=Math.sqrt,St=Math.log,Cv=isNaN;function zu(r){return!r}var Wu=c(function(r,e){return r&&e}),qu=c(function(r,e){return r||e}),Bv=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)?E:X(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 jv=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 wt(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($(Xt,t,f.a));case 8:if(typeof e!="object"||e===null||Fe(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($(Zt,u,f.a));a=Sr(l(u,f.a),a)}return k(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 fl(r,e){return Mt(r),rr[r]={f:W$,u:e,a:q$},vn(r)}var W$=c(function(r,e){return function(n){return r(e(n))}});function q$(r,e){var n=p,t=rr[r].u,a=vr(null);rr[r].b=a,rr[r].c=D(function(i,o,s){return n=o,a});function u(i){var o=$(an,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 vl(r){Wr.Elm?Et("Elm",Wr.Elm,r):Wr.Elm=r}function Et(r,e,n){for(var t in n)t in e?t=="init"?fr(6,r):Et(r+"."+t,e[t],n[t]):e[t]=n[t]}var Te,er=typeof document!="undefined"?document:{};function mn(r,e){r.appendChild(e)}var ll=W(function(r,e,n,t){var a=t.node;return a.parentNode.replaceChild(Fr(r,function(){}),a),{}});function _n(r){return{$:0,a:r}}var Tt=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:hn(n),e:a,f:r,b:u}})}),bn=Tt(void 0),Vt=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:hn(n),e:a,f:r,b:u}})}),G$=Vt(void 0);function ml(r,e,n,t){return{$:3,d:hn(r),g:e,h:n,i:t}}var _l=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 bl=c(function(r,e){return Mr([r,e],function(){return r(e)})}),hl=D(function(r,e,n){return Mr([r,e,n],function(){return $(r,e,n)})}),pl=W(function(r,e,n,t){return Mr([r,e,n,t],function(){return v(r,e,n,t)})}),dl=ar(function(r,e,n,t,a){return Mr([r,e,n,t,a],function(){return T(r,e,n,t,a)})}),Sl=ye(function(r,e,n,t,a,u){return Mr([r,e,n,t,a,u],function(){return J(r,e,n,t,a,u)})}),wl=lt(function(r,e,n,t,a,u,i){return Mr([r,e,n,t,a,u,i],function(){return nn(r,e,n,t,a,u,i)})}),gl=mt(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)})}),Dl=_t(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)})}),Jt=c(function(r,e){return{$:"a0",n:r,o:e}}),Cl=c(function(r,e){return{$:"a1",n:r,o:e}}),Y$=c(function(r,e){return{$:"a2",n:r,o:e}}),Ut=c(function(r,e){return{$:"a3",n:r,o:e}}),Bl=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,kt=/^\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 jl(r){return K$.test(r)?"":r}function ri(r){return kt.test(r)?"":r}function ei(r){return typeof r=="string"&&kt.test(r)?"":r}var yl=c(function(r,e){return e.$==="a0"?$(Jt,e.n,ni(r,e.o)):e});function ni(r,e){var n=Pn(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 hn(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"?Lt(e,a,u):e[a]=u;continue}var i=e[t]||(e[t]={});t==="a3"&&a==="class"?Lt(i,a,u):i[a]=u}return e}function Lt(r,e,n){var t=r[e];r[e]=t?t+" "+n:n}function Fr(r,e){var n=r.$;if(n===5)return Fr(r.k||(r.k=r.m()),e);if(n===0)return er.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=Fr(t,u);return i.elm_event_node_ref=u,i}if(n===3){var i=r.h(r.g);return pn(i,e,r.d),i}var i=r.f?er.createElementNS(r.f,r.c):er.createElement(r.c);Te&&r.c=="a"&&i.addEventListener("click",Te(i)),pn(i,e,r.d);for(var o=r.e,s=0;s0&&Z(n,1,t,m);return;case 4:for(var b=r.j,d=e.j,h=!1,w=r.k;w.$===4;)h=!0,typeof b!="object"?b=[b,w.j]:b.push(w.j),w=w.k;for(var g=e.k;g.$===4;)h=!0,typeof d!="object"?d=[d,g.j]:d.push(g.j),g=g.k;if(h&&b.length!==d.length){Z(n,0,t,e);return}(h?!fi(b,d):b!==d)&&Z(n,2,t,d),lr(w,g,n,t+1);return;case 0:r.a!==e.a&&Z(n,3,t,e.a);return;case 1:Rt(r,e,n,t,vi);return;case 2:Rt(r,e,n,t,li);return;case 3:if(r.h!==e.h){Z(n,0,t,e);return}var B=Sn(r.d,e.d);B&&Z(n,4,t,B);var M=e.i(r.g,e.g);M&&Z(n,5,t,M);return}}}function fi(r,e){for(var n=0;no?Z(n,6,t,{v:o,i:i-o}):i0||i.length>0||dr)&&Z(n,8,t,{w:a,x:i,y:dr})}var Ht="_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+Ht,t,a,u)}function ie(r,e,n,t,a){var u=r[n];if(!u){var i=Z(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),Z(e,9,a,{w:o,A:u});return}ie(r,e,n+Ht,t,a)}function It(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)It(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 w=e.e,g=r.childNodes,B=0;Bu))return t;a=y}return t}function zt(r,e,n,t){return n.length===0?r:(It(r,e,n,t),Je(r,n))}function Je(r,e){for(var n=0;n>r}),Ei=c(function(r,e){return e>>>r}),Ti=function(r){return{$:0,a:r}},Vi=function(r){return{$:1,a:r}},Gt=1,Ji=2,Yt=0,S=Du,Dn=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(Dn,r,e,i)),f=u;r=o,e=s,n=f;continue r}}),ke=function(r){return v(Dn,D(function(e,n,t){return $(S,l(e,n),t)}),p,r)},Ui=function(r){return v(Dn,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}},Cn=c(function(r,e){return{$:3,a:r,b:e}}),Zt=c(function(r,e){return{$:0,a:r,b:e}}),Xt=c(function(r,e){return{$:1,a:r,b:e}}),k=function(r){return{$:0,a:r}},Ri=function(r){return{$:2,a:r}},Wl=1,ql=Eu,X=function(r){return{$:0,a:r}},E={$:1},Hi=t$,Ql=Wu,Ii=gu,zi=D$,Gr=wt,mr=c(function(r,e){return $(xu,r,Pe(e))}),Oe=c(function(r,e){return _($(Nu,r,e))}),Kt=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,Gl=du,Yl=Tu,qi=D(function(r,e,n){r:for(;;)if(x(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$,Nt=function(r){var e=Re(r);return 97<=e&&e<=122},xt=function(r){var e=Re(r);return e<=90&&65<=e},Zl=qu,Yi=function(r){return Nt(r)||xt(r)},Zi=function(r){var e=Re(r);return e<=57&&48<=e},Xi=function(r){return Nt(r)||xt(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)+(") "+Kt(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 g=Ki(n);if(g.$===1)return!1;var B=g.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"}(),w=b+(" failed in the following "+(Gr(Jr(m))+" ways:"));return $(mr,"\n\n",$(S,w,$(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,w=function(){return e.b?"Problem with the value at json"+($(mr,"",H(e))+":\n\n "):"Problem with the given value:\n\n"}();return w+(Kt($(zi,4,h))+("\n\n"+d))}}),_r=32,Bn=W(function(r,e,n,t){return{$:0,a:r,b:e,c:n,d:t}}),jn=Bu,ra=Hu,Xl=Ju,ea=c(function(r,e){return St(e)/St(r)}),Kl=Ru,yn=ra($(ea,2,_r)),eo=T(Bn,0,yn,jn,jn),na=yu,no=function(r){return{$:1,a:r}},Nl=c(function(r,e){return r(e)}),xl=c(function(r,e){return e(r)}),rm=bu,to=Iu,ta=ju,em=Su,ao=c(function(r,e){return x(r,e)>0?r:e}),nm=Vu,uo=function(r){return{$:0,a:r}},aa=Pu,$o=c(function(r,e){r:for(;;){var n=$(aa,_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)}}),tm=function(r){var e=r.a;return e},io=c(function(r,e){r:for(;;){var n=ra(e/_r);if(n===1)return $(aa,_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($(ea,_r,n-1)),a=r?H(e.k):e.k,u=$(io,a,e.h);return T(Bn,ta(e.j)+n,$(ao,5,t*yn),u,e.j)}else return T(Bn,ta(e.j),yn,jn,e.j)}),am=Uu,um=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(na,_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}}),$m=Lu,so=c(function(r,e){if(r<=0)return eo;var n=r%_r,t=v(na,n,r-n,e),a=r-n-_r;return J(co,e,a,r,p,t)}),im=0,br=function(r){return!r.$},se=d$,fo=S$,fe=v$,Pn=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,om=0,cm=1,ua=ye(function(r,e,n,t,a,u){return{bM:u,bP:e,bX:t,bZ:n,b0:r,b1:a}}),_o=a$,$a=Zu,ia=r$,Ur=c(function(r,e){return r<1?e:v(ia,r,$a(e),e)}),He=i$,Yr=function(r){return r===""},Ie=c(function(r,e){return r<1?"":v(ia,0,r,e)}),bo=o$,oa=ar(function(r,e,n,t,a){if(Yr(a)||$(_o,"@",a))return E;var u=$(He,":",a);if(u.b){if(u.b.b)return E;var i=u.a,o=bo($(Ur,i+1,a));if(o.$===1)return E;var s=o;return X(nn(ua,r,$(Ie,i,a),s,e,n,t))}else return X(nn(ua,r,a,E,e,n,t))}),ca=W(function(r,e,n,t){if(Yr(t))return E;var a=$(He,"/",t);if(a.b){var u=a.a;return J(oa,r,$(Ur,u,t),e,n,$(Ie,u,t))}else return J(oa,r,"/",e,n,t)}),sa=D(function(r,e,n){if(Yr(n))return E;var t=$(He,"?",n);if(t.b){var a=t.a;return T(ca,r,X($(Ur,a+1,n)),e,$(Ie,a,n))}else return T(ca,r,E,e,n)}),fa=c(function(r,e){if(Yr(e))return E;var n=$(He,"#",e);if(n.b){var t=n.a;return v(sa,r,X($(Ur,t+1,e)),$(Ie,t,e))}else return v(sa,r,E,e)}),le=u$,va=function(r){return $(le,"http://",r)?$(fa,0,$(Ur,7,r)):$(le,"https://",r)?$(fa,1,$(Ur,8,r)):E},me=function(r){r:for(;;){var e=r,n=e;r=n;continue r}},sm=ve,kr=vr,ho=kr(0),la=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)):T(la,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 T(la,r,e,0,n)}),F=c(function(r,e){return v(Lr,c(function(n,t){return $(S,r(n),t)}),p,e)}),_e=$n,An=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)},wo=k$,go=c(function(r,e){var n=e;return Ct($(_e,wo(r),n))}),Do=D(function(r,e,n){return $(An,function(t){return 0},So($(F,go(r),e)))}),Co=D(function(r,e,n){return kr(0)}),Bo=c(function(r,e){var n=e;return $(An,r,n)});rr.Task=J$(ho,Do,Co,Bo);var ma=vn("Task"),be=c(function(r,e){return ma($(An,r,e))}),jo=Di,yo={$:3},fm=0,he=D(function(r,e,n){return r(e(n))}),Po=y$,Ao=c(function(r,e){return ma($(Po,$(he,$(he,kr,r),z),$(_e,$(he,$(he,kr,r),k),e)))}),Mo=D(function(r,e,n){return{P:e,Q:n,R:r}}),_a=p$,Zr=c(function(r,e){return v(Lr,_a,e,r)}),Mn=m$,Fo=w$,Eo=T(Fo,Mo,$(Zr,_(["cookiesKept","keepTheme"]),Mn),$(Zr,_(["cookiesKept","keepFont"]),Mn),$(Zr,_(["cookiesKept","keepPrompt"]),Mn)),pe=an,To=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}},ba=_n,Ro=function(r){return Oo(ba(r))},U=Ro,vm=1,lm=2,mm=3,ha=l$,Ho=function(r){var e=$(pe,$(_a,"theme",Fn),r);if(e.$)return ha("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 ha("Unknown value found in theme field of json")}},Io=D(function(r,e,n){var t=_([U("Welcome to my website! Pardon the alpha quality for the time being"),U("\nRun `help` to get started")]),a=function(){var u=$(pe,Eo,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},To("init-focus")))}),zo=yt,Wo=zo(p),qo=function(r){return Wo},_m=10,pa=function(r){return{$:0,a:r}},bm=ve,ze=c(function(r,e){return pa(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"),hm=0,pm=0,En=wt,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(En(n),e)}}),R=$(qe,0,"px"),Qo=D(function(r,e,n){return{$:0,a:r,b:e,c:n}}),Go=Qo,Tn=Go,Qe=Tn("span"),Vn=D(function(r,e,n){return{$:0,a:r,b:e,c:n}}),xr=c(function(r,e){return $(Ut,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,da=c(function(r,e){return!$(Yo,$(he,Zo,r),e)}),dm=1,ir=ar(function(r,e,n,t,a){return{$:-1,a:r,b:e,c:n,d:t,e:a}}),Jn={$:-2},Sm=0,Sa=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,w=t.e;return J(ir,0,e,n,J(ir,1,b,d,h,w),J(ir,1,i,o,s,f))}else return J(ir,r,i,o,J(ir,0,e,n,t,s),f)}else if(t.$===-1&&!t.a&&t.d.$===-1&&!t.d.a){var g=t.a,b=t.b,d=t.c,B=t.d,M=B.a,y=B.b,Q=B.c,I=B.d,O=B.e,w=t.e;return J(ir,0,b,d,J(ir,1,y,Q,I,O),J(ir,1,e,n,w,a))}else return J(ir,r,e,n,t,a)}),wa=wu,Un=D(function(r,e,n){if(n.$===-2)return J(ir,0,r,e,Jn,Jn);var t=n.a,a=n.b,u=n.c,i=n.d,o=n.e,s=$(wa,r,a);switch(s){case 0:return J(Sa,t,a,u,v(Un,r,e,i),o);case 1:return J(ir,t,a,e,i,o);default:return J(Sa,t,a,u,i,v(Un,r,e,o))}}),ga=D(function(r,e,n){var t=v(Un,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 J(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 $(da,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(ga,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 $(da,function(m){var b=m.b;return Br(b)},f)?l(n,t):l(n,$(S,r,t))}}),Se=Jn,Da=function(r){return{$:6,a:r}},kn=c(function(r,e){return e.b?v(Lr,S,e,r):r}),Ko=c(function(r,e){return $(kn,$(F,function(n){var t=n.a,a=n.b;return Da({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 E;var n=e.a;return X(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 T(ec,r,e,n,"")}),Ca=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"}},Ba=function(r){var e=D(function(u,i,o){return u+(" "+$(mr," and ",$(S,nc(i),$(F,Ca,o))))});switch(r.$){case 0:var t=r.a;return v(or,Ca," 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+(Ba(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""}},Ln=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+"]")}},ja=function(r){switch(r.$){case 0:var e=r.a,n=r.b;return C(e,v(or,Ln,"",n));case 1:var n=r.a;return Br(n)?"*":v(or,Ln,"",n);default:var e=r.a,n=r.b;return C(e,v(or,Ln,"",n))}},sc=function(r){var e=r.a,n=r.b;return cc(e)+(" "+ja(n))},fc=function(r){var e=r.a,n=r.b,t=r.c,a=$(S,ja(e),$(F,sc,n)),u=$(hr,"",$(Ge,oc,t));return $(ic,$(mr," ",a),u)},ya=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 ya(e);case 1:var n=r.a,t=r.b,a=v(or,Ba,", ",n),u=v(or,ya,"\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)+"")))},On=function(r){return v(Lr,kn,p,r)},we=c(function(r,e){return On($(F,r,e))}),Pa=function(r){return{$:8,a:r}},Aa=function(r){return{$:5,a:r}},Ma=function(r){return{$:4,a:r}},ge=D(function(r,e,n){return{$:0,a:r,b:e,c:n}}),Er=D(function(r,e,n){return{$:0,a:r,b:e,c:n}}),De=function(r){return{$:0,a:r}},Rn=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}}),Hn=c(function(r,e){if(e.b)if(e.b.b){var t=e.a,a=e.b;return $(S,t,$(Hn,r,a))}else{var n=e.a;return _([r(n)])}else return e}),Ea=c(function(r,e){var n=e.a,t=e.b,a=e.c;return v(Er,n,t,C(a,_([r])))}),In=c(function(r,e){if(e.b)if(e.b.b){var i=e.a,o=e.b;return $(S,i,$(In,r,o))}else switch(e.a.$){case 0:var n=e.a.a;return _([De($(Ea,r,n))]);case 1:var t=e.a,a=t.a,u=t.b;return _([$(Or,a,$(Hn,Ea(r),u))]);default:return e}else return e}),Ta=c(function(r,e){if(e.b.b){var a=e.a,u=e.b,t=e.c,i=$(F,r,u),o=r(a);return _([v(Er,a,u,t),v(Er,o,i,p)])}else{var n=e.a,t=e.c;return _([v(Er,n,p,t),v(Er,r(n),p,p)])}}),mc=c(function(r,e){var n=e.a,t=e.b;return v(ge,n,t,X(r))}),_c=c(function(r,e){return $(Ta,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}}),Va=function(r){return{$:1,a:r}},Ja=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 Va(C(a,_([r])));default:var t=e.a,a=e.b;return $(bc,t,C(a,_([r])))}}),Ua=c(function(r,e){if(e.b)if(e.b.b){var u=e.a,i=e.b;return $(S,u,$(Ua,r,i))}else{var n=e.a,t=n.a,a=n.b;return _([l(t,$(Ja,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(ge,a,$(Ua,r,u),t)}else{var n=e.a,t=e.c;return v(ge,$(Ja,r,n),p,t)}}),dc=c(function(r,e){return $(Ta,pc(r),e)}),zn=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),zn(a))}else return p},Wn=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 $(F,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,w=d.b;return _([$(Rn,h,$(Ye,r,w))]);case 3:var g=e.a,B=g.a,M=g.b,y=g.c,Q=g.d,I=g.e;return $(F,T(Wn,B,M,y,Q),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))}),qn=Qu,Sc=W(function(r,e,n,t){return{ac:t,ah:n,W:e,an:r}}),ka=3432918353,La=461845907,wm=Pi,gm=Fi,Dm=Ei,Rr=c(function(r,e){return(e&65535)*r+(((e>>>16)*r&65535)<<16)}),wc=hu,Cm=Ai,Qn=c(function(r,e){return e<>>32-r}),Bm=Mi,gc=function(r){var e=r.ah?r.W^$(Rr,La,$(Qn,15,$(Rr,ka,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,$(Qn,13,r^$(Rr,La,$(Qn,15,$(Rr,ka,e)))))+3864292196}),Bc=c(function(r,e){var n=e.ah|(255&Re(r))<1e3?$(S,y,$(S,i,$(S,m,$(S,g,$(Uc,e-4,B))))):$(S,y,$(S,i,$(S,m,$(S,g,v(qa,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(qa,0,r,e)}),Qa=ar(function(r,e,n,t,a){if(a.$)return a;var u=a.a;return J(Wn,r,e,n,t,u)}),Ga=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 $(Rn,a,$(F,Ga(r),u));case 3:var i=e.a,o=e.b,s=e.c,f=e.d,m=e.e;return J(Wn,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}}),Yn=function(r){var e=r;return e},Ya=W(function(r,e,n,t){var a=function(f){return $(hr,p,Hr(f))},u=$(wr,e,$(hr,p,za(t))),i=function(){var f=l(nr(u),Fc(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 On($(Hn,wr(r),$(F,Gn,$(Ye,n,f))))},s=$(hr,p,$(Ge,o,za(t)));return C(i,C(a(s),a(u)))}),wr=c(function(r,e){if(r.b)switch(r.a.$){case 0:var n=r.a.a,O=r.b;return $(wr,O,$(In,n,e));case 1:var t=r.a,a=t.a,y=t.b,O=r.b;return T(Ya,y,O,dc(a),e);case 2:var u=r.a,i=u.a,o=u.b,O=r.b,s=c(function(P,G){var pr=P.a,tr=P.b,yr=P.c,sr=G.a,dr=G.b,je=G.c;return v(ge,pr,C(tr,$(S,l(i,sr),dr)),Ec(_([je,yr])))}),f=function(P){switch(P.$){case 0:var G=P.a,pr=G.a,tr=G.b,yr=G.c,sr=$(we,function(vt){return $(F,s(vt),$(S,pr,tr))},zn(e)),dr=function(){if(sr.b){var vt=sr.a,Tf=sr.b;return _([De(v(Er,vt,Tf,p))])}else return p}();return $(wr,yr,dr);case 1:var je=P.a,st=P.b;return $(Za,je,st);case 2:var ft=P.a,jf=P.b;return $(Xa,ft,jf);case 3:var yf=P.a,Pf=P.b,Af=P.c,Mf=P.d,Ff=P.e;return $(F,T(Qa,yf,Pf,Af,Mf),Ze(Ff));case 4:var zr=P.a;return _([Ma(zr)]);case 5:var zr=P.a;return _([Aa(zr)]);case 6:var zr=P.a;return _([Fa(zr)]);case 7:var zr=P.a;return _([Pa(zr)]);default:var Ef=P.a;return Wa(Ef)}};return On(C(_([$(wr,O,e)]),$(F,f,$(we,Yn,o))));case 3:var m=r.a,b=m.a,y=m.b,O=r.b;return T(Ya,y,O,_c(b),e);case 5:var d=r.a.a,O=r.b,h=Ia(d),w="animation-name:"+h,g=$(wr,O,$(In,w,e));return $(kn,g,_([Da({ct:d,cF:h})]));case 4:var B=r.a,M=B.a,y=B.b,O=r.b,Q=function(){var P=zn(e);if(P.b){var G=P.a,pr=P.b;return $(F,Vc(M),$(wr,y,Gn(De(v(Er,G,pr,p)))))}else return p}();return C($(wr,O,e),Q);default:var I=r.a.a,O=r.b;return $(wr,C(I,O),e)}else return e}),Ze=function(r){var e=r.a,n=r.b,t=r.c;return $(wr,t,_([De(v(Er,e,n,p))]))},Zn=function(r){if(r.b){var e=r.a,n=r.b;return C(Lc(e),Zn(n))}else return p},Za=c(function(r,e){var n=function(t){return $(F,Ga(r),Ze(t))};return $(we,n,e)}),Xa=c(function(r,e){var n=Zn($(we,Yn,e));return _([$(Rn,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 $(Za,e,n);case 2:var t=r.a,a=r.b;return $(Xa,t,a);case 3:var u=r.a,i=r.b,o=r.c,s=r.d,f=r.e;return $(F,T(Qa,u,i,o,s),Ze(f));case 4:var m=r.a;return _([Ma(m)]);case 5:var m=r.a;return _([Aa(m)]);case 6:var m=r.a;return _([Fa(m)]);case 7:var m=r.a;return _([Pa(m)]);default:var b=r.a;return Wa(b)}},Oc=function(r){var e=r.b9,n=r.bU,t=r.bQ,a=r.bF,u=Zn($(we,Yn,e));return{bF:a,cu:u,bQ:t,bU:n}},Rc=function(r){return lc(xo(Oc(r)))},jm=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(ge,e,p,E);return _([Ic(v(Hc,n,p,r))])}),Wc=function(r){return{bF:E,bQ:p,bU:p,b9:r}},qc=function(r){return{$:0,a:r}},Xn="\x07",Qc=Va(_([qc(Xn)])),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(Vn,n,!0,e)},re=W(function(r,e,n,t){return $(r,$(S,Yc(e),n),t)}),Zc=D(function(r,e,n){return T(re,Qe,_([de(r),Xr(e),Nr(R(0)),Kr(R(0)),We(R(0))]),p,_([U(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($(F,Gr,_([r,e,n])),_([En(t)])))}}),Ka=c(function(r,e){return v(Zc,r,T(Kc,0,0,0,0),e)}),Na=function(r){return $(le,"#",r)?r:$(qn,"#",r)},xa=function(r){return{aw:1,ay:0,A:0,aD:0,aI:0,D:Na(r)}},Nc=Ku,Kn=function(r){return v(Nc,S,p,r)},ru=D(function(r,e,n){return e(r(n))}),xc=function(r){return $(qn,r,"")},K=ku,eu=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+$(K,16,r);r=u,e=i,n=o;continue r;case"2":var u=r-1,i=a,o=n+2*$(K,16,r);r=u,e=i,n=o;continue r;case"3":var u=r-1,i=a,o=n+3*$(K,16,r);r=u,e=i,n=o;continue r;case"4":var u=r-1,i=a,o=n+4*$(K,16,r);r=u,e=i,n=o;continue r;case"5":var u=r-1,i=a,o=n+5*$(K,16,r);r=u,e=i,n=o;continue r;case"6":var u=r-1,i=a,o=n+6*$(K,16,r);r=u,e=i,n=o;continue r;case"7":var u=r-1,i=a,o=n+7*$(K,16,r);r=u,e=i,n=o;continue r;case"8":var u=r-1,i=a,o=n+8*$(K,16,r);r=u,e=i,n=o;continue r;case"9":var u=r-1,i=a,o=n+9*$(K,16,r);r=u,e=i,n=o;continue r;case"a":var u=r-1,i=a,o=n+10*$(K,16,r);r=u,e=i,n=o;continue r;case"b":var u=r-1,i=a,o=n+11*$(K,16,r);r=u,e=i,n=o;continue r;case"c":var u=r-1,i=a,o=n+12*$(K,16,r);r=u,e=i,n=o;continue r;case"d":var u=r-1,i=a,o=n+13*$(K,16,r);r=u,e=i,n=o;continue r;case"e":var u=r-1,i=a,o=n+14*$(K,16,r);r=u,e=i,n=o;continue r;case"f":var u=r-1,i=a,o=n+15*$(K,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 k(n)}),rs=c(function(r,e){if(e.$){var t=e.a;return z(t)}else{var n=e.a;return k(r(n))}}),es=c(function(r,e){if(e.$){var t=e.a;return z(r(t))}else{var n=e.a;return k(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(Kn(r)));return $(rs,Pc,v(eu,Jr(t)-1,t,0))}else return v(eu,$a(r)-1,Kn(r),0)}(),n=function(t){return $(mr," ",_(['"'+(r+'"'),"is not a valid hexadecimal string because",t]))};return $(es,n,e)},ts=n$,Xe=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=$(ru,Oa,$(ru,ts,ns)),w=l(l(h(_([u,i])),h(_([o,s]))),l(h(_([f,m])),h(_([b,d]))));if(!w.a.a.$&&!w.a.b.$&&!w.b.a.$&&!w.b.b.$){var g=w.a,B=g.a.a,M=g.b.a,y=w.b,Q=y.a.a,I=y.b.a;return{aw:I/255,ay:Q,A:0,aD:M,aI:B,D:Na(r)}}else return xa(r)}),A=function(r){var e=$(le,"#",r)?$(Ur,1,r):r,n=Kn(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,G=n.b,w=G.a,pr=G.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,st=dr.b,ft=st.a;return J(Xe,r,l(d,w),l(B,y),l(I,P),l(je,ft))}else break r;else{var d=n.a,h=n.b,w=h.a,g=h.b,B=g.a,M=g.b,y=M.a,Q=M.b,I=Q.a,O=Q.b,P=O.a;return J(Xe,r,l(d,w),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 J(Xe,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 J(Xe,r,l(t,t),l(u,u),l(o,o),l("f","f"))}else break r;return xa(r)},nu=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,Ke=yt,L=Ke(p),ym=1,Pm=2,Am=3,Mm=4,Fm=0,Em=5,Tm=6,Vm=7,$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=$(F,tu,$(Oe," ",r)),n=function(){var o=nr(e);if(o.$)return z("error in parseInput parsing tokens");switch(o.a){case"help":return k(0);case"clear":return k(1);case"cookies":return k(2);case"font":return k(3);case"hello":return k(4);case"prompt":return k(5);case"theme":return k(6);case"todo":return k(7);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 k($($s,wc(""),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 k({a6:a,ba:u})}}},os=Ci,cs=function(r){return"["+($(mr,",",r)+"]")},N=D(function(r,e,n){var t=function(){switch(r){case 0:return"help";case 1:return"clear";case 2:return"cookies";case 3:return"font";case 4:return"hello";case 5:return"prompt";case 6:return"theme";default:return"todo"}}();return _([U((x(e,Jr(n))>0?"\nToo few arguments for "+t:x(e,Jr(n))<0?"\nToo many arguments for "+t:"\nUnexpected arguments "+cs(n))+(". Run `help "+(t+"` for usage")))])}),ss=c(function(r,e){var n=nr(e);if(n.$===1)return j(r,{a:p});var t=n.a;return j(r,{a:C(r.a,v(N,1,0,e))})}),Nn=function(r){return r?"True":"False"},fs=function(r){return"{ keepFont = "+(Nn(r.P)+("\n, keepPrompt = "+(Nn(r.Q)+("\n, keepTheme = "+(Nn(r.R)+"\n}")))))},xn=un,vs=un,Ne=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=un,rt=function(r){return Ne(_([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",Ne(_([l("fontSize",vs(r.t.o))]))),l("cookiesKept",Ne(_([l("keepTheme",xn(r.n.R)),l("keepFont",xn(r.n.P)),l("keepPrompt",xn(r.n.Q))]))),l("prompt",Ne(_([l("prompt",Ce(r.l.l))])))]))},et=H$("setStorage",ve),gr=function(r){return l(r,Ke(_([et(rt(r))])))},ls=c(function(r,e){var n=nr(e);if(n.$===1){var t=j(r,{a:C(r.a,_([U("\n"+fs(r.n))]))});return l(t,Ke(_([et(rt(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,"",nr(b))}(),u=function(){var s=Hr(e);if(s.$)return"";var f=s.a;return $(hr,"",nr(f))}(),i=r.n;if(a==="")return l(j(r,{a:C(r.a,v(N,2,3,e))}),L);switch(u){case"":return l(j(r,{a:C(r.a,v(N,2,2,e))}),L);case"keepFont":switch(a){case"true":return gr(j(r,{n:j(i,{P:!0})}));case"false":return gr(j(r,{n:j(i,{P:!1})}));default:return l(j(r,{a:C(r.a,v(N,2,3,e))}),L)}case"keepTheme":switch(a){case"true":return gr(j(r,{n:j(i,{R:!0})}));case"false":return gr(j(r,{n:j(i,{R:!1})}));default:return l(j(r,{a:C(r.a,v(N,2,3,e))}),L)}case"keepPrompt":switch(a){case"true":return gr(j(r,{n:j(i,{Q:!0})}));case"false":return gr(j(r,{n:j(i,{Q:!1})}));default:return l(j(r,{a:C(r.a,v(N,2,3,e))}),L)}default:return l(j(r,{a:C(r.a,v(N,2,2,e))}),L)}}else{var o=n.a;return l(j(r,{a:C(r.a,v(N,2,1,e))}),L)}}),ms=c$,_s=c(function(r,e){var n=nr(e);if(n.$===1)return l(j(r,{a:C(r.a,v(N,3,1,e))}),L);switch(n.a){case"size":var i=function(){var o=Hr(e);if(o.$)return"";var s=o.a;return $(hr,"",nr(s))}(),t=ms(i);if(t.$)switch(i){case"":return l(j(r,{a:C(r.a,_([U("\nfontSize is "+(En(r.t.o)+"px"))]))}),L);case"reset":var u=j(r,{a:C(r.a,_([U("\nfontSize reset to 20px")])),t:{o:20}});return gr(u);default:return l(j(r,{a:C(r.a,_([U("\nfontSize "+(i+" not recognised; font size expected"))]))}),L)}else{var a=t.a;if(a>0){var u=j(r,{a:C(r.a,_([U("\nfontSize successfully set to "+(i+"px"))])),t:{o:a}});return gr(u)}else return l(j(r,{a:C(r.a,_([U("\nPlease enter a valid fontSize, a Float greater than 0")]))}),L)}case"reset":var u=j(r,{a:C(r.a,_([U("\nfontSize reset to 20px")])),t:{o:20}});return l(u,Ke(_([et(rt(u))])));default:var i=n.a;return l(j(r,{a:C(r.a,v(N,3,1,e))}),L)}}),bs=c(function(r,e){var n=nr(e);return n.$===1?l(j(r,{a:C(r.a,_([U("\nHello World!")]))}),L):l(j(r,{a:C(r.a,v(N,4,0,e))}),L)}),hs=c(function(r,e){return j(r,{a:C(r.a,function(){if(Jr(e)<2){var n=nr(e);if(n.$===1)return _([U("\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 _([U("\nhelp lists available commands with a short summary\nhelp prints more information about ")]);case"clear":return _([U("\nclear clears the screen")]);case"cookies":return _([U("\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 _([U("\nhello prints `Hello World!`")]);case"font":return _([U("\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 _([U("\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 _([U("\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 _([U("\ntodo prints aspirations for the site")]);default:var t=n.a;return v(N,0,1,e)}}else return v(N,0,1,e)}())})}),ps=c(function(r,e){var n=nr(e);if(n.$===1)return l(j(r,{a:C(r.a,_([U("\ncurrent prompt is "+r.l.l)]))}),L);var t=n.a,a=r.l;return gr(j(r,{l:j(a,{l:t})}))}),xe=c(function(r,e){var n=j(r,{as:e});return gr(n)}),ds=c(function(r,e){var n=nr(e);if(n.$===1)return l(j(r,{a:C(r.a,_([U("\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"}}())]))}),L);switch(n.a){case"sun":return $(xe,r,3);case"sky":return $(xe,r,2);case"dim":return $(xe,r,1);case"pit":return $(xe,r,0);default:var t=n.a;return l(j(r,{a:C(r.a,v(N,6,1,e))}),L)}}),Ss=c(function(r,e){var n=nr(e);return n.$===1?j(r,{a:C(r.a,_([U("\n--Frontend\n- Implement colors throughout existing methods\n- Implement something like neofetch\n--Glue\n--Backend\n- Collect and store feedback in a database\n- Get an SSL certificate\n- Support https")]))}):j(r,{a:C(r.a,v(N,7,0,e))})}),ws=c(function(r,e){if(e.$){if(e.a==="")return l(r,L);var a=e.a;return l(j(r,{a:C(r.a,_([U("\ncommand "+(a+" not recognised. Run `help` to find a valid command"))]))}),L)}else{var n=e.a.a6,t=e.a.ba;switch(t){case 0:return l($(hs,r,n),L);case 1:return l($(ss,r,n),L);case 2:return $(ls,r,n);case 3:return $(_s,r,n);case 4:return $(bs,r,n);case 5:return $(ps,r,n);case 6:return $(ds,r,n);default:return l($(Ss,r,n),L)}}}),gs=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))}),Ds=function(r){var e=function(){var n=r.b0;return n?"https://":"http://"}();return v(au,"#",r.bM,v(au,"?",r.b1,C($(gs,r.bZ,C(e,r.bP)),r.bX)))},Cs=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,Ds(a)))}case 1:var a=r.a;return l(j(e,{br:a}),L);case 2:var u=r.a;return $(as,"\n",u)?$(ws,j(e,{az:"",a:C(e.a,_([U(te(e.a,p)?"":"\n"),$(Ka,nu(10),e.l.l),U(tu(u))]))}),is(u)):l(j(e,{az:u}),L);default:return l(e,L)}}),Bs=b$,js=c(function(r,e){return{cr:e,cT:r}}),rn=function(r){return{$:0,a:r}},nt=c(function(r,e){r:for(;;){if(e.$===-2)return E;var n=e.b,t=e.c,a=e.d,u=e.e,i=$(wa,r,n);switch(i){case 0:var o=r,s=a;r=o,e=s;continue r;case 1:return X(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=$(nt,t,e);return a.$?v(ga,t,Ia(t),e):e}else return e}),tt=c(function(r,e){return $(Y$,x$(r),ei(e))}),Tr=c(function(r,e){var n=e.a,t=e.b,a=e.c;if(t){var u=$(nt,a,r);if(u.$)return $(tt,"className",Ce("_unstyled"));var i=u.a;return $(tt,"className",Ce(i))}else return n}),en=c(function(r,e){var n=e.a,t=e.b,a=e.c;if(t){var u=$(nt,a,r);if(u.$)return $(xr,"class","_unstyled");var i=u.a;return $(xr,"class",i)}else return n}),at=function(r){return G$(Ve(r))},ut=c(function(r,e){return $(Vt,r,Ve(e))}),Be=function(r){return bn(Ve(r))},$t=c(function(r,e){return $(Tt,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),g=i.a,B=i.b,M=v(Be,m,$(F,Tr(B),b),H(g));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),g=o.a,B=o.b,M=T($t,f,m,$(F,Tr(B),b),H(g));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),g=s.a,B=s.b,M=v(at,m,$(F,Tr(B),b),H(g));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),w=v(V,ee,l(p,h),d),g=w.a,B=w.b,M=T(ut,f,m,$(F,Tr(B),b),H(g));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 g=r.a;return l($(S,g,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,w=a.b,g=v(Be,s,$(F,Tr(w),f),H(h));return l($(S,g,n),w);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,w=u.b,g=T($t,o,s,$(F,en(w),f),H(h));return l($(S,g,n),w);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,w=i.b,g=v(at,s,$(F,Tr(w),f),H(h));return l($(S,g,n),w);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,w=d.b,g=T(ut,o,s,$(F,en(w),f),H(h));return l($(S,g,n),w)}}),it=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(it,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))}),ys=D(function(r,e,n){return n+("\n"+v(uu,Xn,e,r))}),Ps=function(r){return v(it,ys,"",r)},$u=c(function(r,e){return v(it,D(function(n,t,a){return a+("\n"+v(uu,"."+Xn,"#"+(r+("."+t)),n))}),"",e)}),ot=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 Ps(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)])}(),Gn(ba(n)))]))}),As=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=$(ot,r,rn(o)),f=$(F,Tr(o),n);return v(Be,e,f,$(S,s,H(i)))}),Ms=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}),Fs=c(function(r,e){r:for(;;)if(e.b){var n=e.a,t=n.a,a=e.b,u="_"+t;if($(Ms,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=$(Fs,"_",n),a=$(ot,r,e);return l(t,a)}),Es=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,rn(o),i),f=$(F,Tr(o),n);return v(at,e,f,$(S,s,H(i)))}),Ts=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,rn(s),o),m=$(F,en(s),t);return T(ut,e,n,m,$(S,f,H(o)))}),Vs=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=$(ot,r,rn(s)),m=$(F,en(s),t);return T($t,e,n,m,$(S,f,H(o)))}),Js=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 T(As,E,t,a,u);case 1:var n=r.a,t=r.b,a=r.c,u=r.d;return J(Vs,E,n,t,a,u);case 2:var t=r.a,a=r.b,u=r.c;return T(Es,E,t,a,u);default:var n=r.a,t=r.b,a=r.c,u=r.d;return J(Ts,E,n,t,a,u)}},Us=Js,ks=function(r){return{$:2,a:r}},Ls=c(function(r,e){return v(Vn,$(tt,r,e),!1,"")}),ou=c(function(r,e){return $(Ls,r,Ce(e))}),Os=ou("id"),Rs=function(r){return l(r,!0)},Hs=function(r){return{$:1,a:r}},Is=Jt,zs=c(function(r,e){return v(Vn,$(Is,r,e),!1,"")}),Ws=c(function(r,e){return $(zs,r,Hs(e))}),qs=$(Zr,_(["target","value"]),Fn),Qs=function(r){return $(Ws,"input",$(se,Rs,$(se,r,qs)))},Jm=0,Um=1,Gs=Tn("main"),Ys=q("min-height"),km=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")}}}}),Lm=0,Zs=$(qe,0,"vh"),Om=0,cu=$(qe,0,"vw"),su=q("width"),Xs=function(r){return $(re,Gs,_([Xr($(jr,r,0)),de($(jr,r,1)),Ys(Zs(100)),su(cu(100)),Kr(R(0)),Nr(R(0))]))},Ks=$(ze,"display","flex"),Ns=q("flex-direction"),xs=q("flex-start"),rf=q("flex-wrap"),ef=function(r){return{$:6,a:r}},Ir=c(function(r,e){return pa(r+(":"+e))}),nf=D(function(r,e,n){r:for(;;)switch(n.$){case 0:var t=n.a,a=$(hr,"",nr($(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,w=h.a,g=h.b,m=r,b=e,d=ef(g);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"))}}),Rm=0,tf=v(qe,0,"",0),af=function(r){return v(nf,"justifyContent","justify-content",r(tf))},uf={aA:0,aT:0,D:"nowrap",_:0},$f={bc:0,aA:0,D:"row"},of=function(r){return $(re,Qe,_([Xr($(jr,r,0)),Nr(R(0)),Kr(R(0)),Ks,Ns($f),rf(uf),af(xs)]))},cf=q("flex-grow"),ct=q("font-size"),fu=q("height"),sf={q:0,am:0,D:"hidden",aP:0},Hm=0,ff=function(r){return{N:0,aU:0,T:0,B:0,aG:0,aW:0,J:r,at:"",aN:0,D:Gr(r)}},vf={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"},lf=q("outline-width"),mf=q("overflow"),_f=q("resize"),bf=Tn("textarea"),hf=function(r){return $(re,bf,_([de($(jr,r,1)),ct(R(r.t.o)),Nr(R(0)),Kr(R(0)),Xr($(jr,r,0)),We(R(0)),lf(R(0)),fu(R(r.t.o)),_f(vf),mf(sf),cf(ff(100))]))},vu=q("font-family"),lu={M:0,D:"monospace"},pf={D:"pre-wrap",_:0},df=q("white-space"),Sf=function(r){return $(re,Qe,_([de($(jr,r,1)),ct(R(r.t.o)),Nr(R(0)),Kr(R(0)),Xr($(jr,r,0)),We(R(0)),su(cu(100)),df(pf),vu(lu)]))},wf=function(r){return $(re,Qe,_([de($(jr,r,1)),ct(R(r.t.o)),Nr(R(0)),Kr(R(0)),Xr($(jr,r,0)),We(R(0)),fu(R(r.t.o)),vu(lu)]))},gf=ou("value"),Df=function(r){return v(Xs,r,p,_([v(Sf,r,p,r.a),v(of,r,p,_([v(wf,r,p,_([$(Ka,nu(10),r.l.l)])),v(hf,r,_([Qs(ks),gf(r.az),Os("init-focus")]),p)]))]))},Cf=function(r){return $(js,"elmskell",_([Us(Df(r))]))},Bf=jo({cB:Io,cG:Vi,cH:Ti,cR:qo,cU:Cs,cW:Cf});Q$({Main:{init:Bf(Bs)(0)}})})(this); +(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 lt(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 mt(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 _t(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 T(r,e,n,t,a){return r.a===4?r.f(e,n,t,a):r(e)(n)(t)(a)}function J(r,e,n,t,a,u){return r.a===5?r.f(e,n,t,a,u):r(e)(n)(t)(a)(u)}function nn(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 Vf(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=tn(r,e,0,t);a&&(n=t.pop());a=tn(n.a,n.b,0,t));return a}function tn(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(!tn(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 x(r,e,n){if(typeof r!="object")return r===e?0:r0}),Jf=c(function(r,e){return x(r,e)>=0}),gu=c(function(r,e){var n=x(r,e);return n<0?Yt:n?Ji:Gt}),Vr=0,Uf={$:"#0"};function l(r,e){return{a:r,b:e}}function kf(r,e){return{$:"#2",a:r,b:e}}function Of(r,e,n){return{a:r,b:e,c:n}}function Lf(r,e,n){return{$:"#3",a:r,b:e,c:n}}function Rf(r){return r}function Hf(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},If={$:"[]"};function Sr(r,e){return{$:1,a:r,b:e}}function zf(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)}),Wf=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(T(r,e.a,n.a,t.a,a.a));return _(u)}),Qf=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(J(r,e.a,n.a,t.a,a.a,u.a));return _(i)}),Gf=c(function(r,e){return _(Pe(e).sort(function(n,t){return x(r(n),r(t))}))}),Yf=c(function(r,e){return _(Pe(e).sort(function(n,t){var a=$(r,n,t);return a===Gt?0:a===Yt?-1:1}))}),Bu=[];function Zf(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}),rv=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 ov(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,"'"+ht(e,!0)+"'");if(typeof e=="string")return pt(r,'"'+ht(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,Li(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 pt(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 ht(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 pt(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 cv(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 sv(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+"` "+dt(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 "+dt(f)+"\n\nIt received the following value:\n\n "+bt(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 dt(r){return r.bo.aF===r.bI.aF?"on line "+r.bo.aF:"on lines "+r.bo.aF+" through "+r.bI.aF}var Fu=c(function(r,e){return r+e}),Tu=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),Ou=c(function(r,e){return e%r}),Lu=c(function(r,e){var n=e%r;return r===0?fr(11):n>0&&r<0||n<0&&r>0?n+r:n}),fv=Math.PI,vv=Math.E,lv=Math.cos,mv=Math.sin,_v=Math.tan,bv=Math.acos,hv=Math.asin,pv=Math.atan,dv=c(Math.atan2);function Ru(r){return r}function Sv(r){return r|0}function gv(r){return r===1/0||r===-1/0}var Hu=Math.ceil,Iu=Math.floor,wv=Math.round,Dv=Math.sqrt,St=Math.log,Cv=isNaN;function zu(r){return!r}var Wu=c(function(r,e){return r&&e}),qu=c(function(r,e){return r||e}),Bv=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)?F:X(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 jv=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 gt(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($(Xt,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($(Zt,u,f.a));a=Sr(l(u,f.a),a)}return k(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 fl(r,e){return Mt(r),rr[r]={f:W$,u:e,a:q$},vn(r)}var W$=c(function(r,e){return function(n){return r(e(n))}});function q$(r,e){var n=p,t=rr[r].u,a=vr(null);rr[r].b=a,rr[r].c=D(function(i,o,s){return n=o,a});function u(i){var o=$(an,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?Et(Wr.Elm,r):Wr.Elm=r}function Et(r,e){for(var n in e)n in r?n=="init"?fr(6):Et(r[n],e[n]):r[n]=e[n]}function vl(r){Wr.Elm?Ft("Elm",Wr.Elm,r):Wr.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 Te,er=typeof document!="undefined"?document:{};function mn(r,e){r.appendChild(e)}var ll=W(function(r,e,n,t){var a=t.node;return a.parentNode.replaceChild(Er(r,function(){}),a),{}});function _n(r){return{$:0,a:r}}var Tt=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:hn(n),e:a,f:r,b:u}})}),bn=Tt(void 0),Vt=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:hn(n),e:a,f:r,b:u}})}),G$=Vt(void 0);function ml(r,e,n,t){return{$:3,d:hn(r),g:e,h:n,i:t}}var _l=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 bl=c(function(r,e){return Mr([r,e],function(){return r(e)})}),hl=D(function(r,e,n){return Mr([r,e,n],function(){return $(r,e,n)})}),pl=W(function(r,e,n,t){return Mr([r,e,n,t],function(){return v(r,e,n,t)})}),dl=ar(function(r,e,n,t,a){return Mr([r,e,n,t,a],function(){return T(r,e,n,t,a)})}),Sl=ye(function(r,e,n,t,a,u){return Mr([r,e,n,t,a,u],function(){return J(r,e,n,t,a,u)})}),gl=lt(function(r,e,n,t,a,u,i){return Mr([r,e,n,t,a,u,i],function(){return nn(r,e,n,t,a,u,i)})}),wl=mt(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)})}),Dl=_t(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)})}),Jt=c(function(r,e){return{$:"a0",n:r,o:e}}),Cl=c(function(r,e){return{$:"a1",n:r,o:e}}),Y$=c(function(r,e){return{$:"a2",n:r,o:e}}),Ut=c(function(r,e){return{$:"a3",n:r,o:e}}),Bl=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,kt=/^\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 jl(r){return K$.test(r)?"":r}function ri(r){return kt.test(r)?"":r}function ei(r){return typeof r=="string"&&kt.test(r)?"":r}var yl=c(function(r,e){return e.$==="a0"?$(Jt,e.n,ni(r,e.o)):e});function ni(r,e){var n=Pn(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 hn(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"?Ot(e,a,u):e[a]=u;continue}var i=e[t]||(e[t]={});t==="a3"&&a==="class"?Ot(i,a,u):i[a]=u}return e}function Ot(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 er.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 pn(i,e,r.d),i}var i=r.f?er.createElementNS(r.f,r.c):er.createElement(r.c);Te&&r.c=="a"&&i.addEventListener("click",Te(i)),pn(i,e,r.d);for(var o=r.e,s=0;s0&&Z(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){Z(n,0,t,e);return}(h?!fi(b,d):b!==d)&&Z(n,2,t,d),lr(g,w,n,t+1);return;case 0:r.a!==e.a&&Z(n,3,t,e.a);return;case 1:Rt(r,e,n,t,vi);return;case 2:Rt(r,e,n,t,li);return;case 3:if(r.h!==e.h){Z(n,0,t,e);return}var B=Sn(r.d,e.d);B&&Z(n,4,t,B);var M=e.i(r.g,e.g);M&&Z(n,5,t,M);return}}}function fi(r,e){for(var n=0;no?Z(n,6,t,{v:o,i:i-o}):i0||i.length>0||dr)&&Z(n,8,t,{w:a,x:i,y:dr})}var Ht="_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+Ht,t,a,u)}function ie(r,e,n,t,a){var u=r[n];if(!u){var i=Z(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),Z(e,9,a,{w:o,A:u});return}ie(r,e,n+Ht,t,a)}function It(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)It(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 zt(r,e,n,t){return n.length===0?r:(It(r,e,n,t),Je(r,n))}function Je(r,e){for(var n=0;n>r}),Fi=c(function(r,e){return e>>>r}),Ti=function(r){return{$:0,a:r}},Vi=function(r){return{$:1,a:r}},Gt=1,Ji=2,Yt=0,S=Du,Dn=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(Dn,r,e,i)),f=u;r=o,e=s,n=f;continue r}}),ke=function(r){return v(Dn,D(function(e,n,t){return $(S,l(e,n),t)}),p,r)},Ui=function(r){return v(Dn,D(function(e,n,t){return $(S,e,t)}),p,r)},ki=function(r){var e=r;return Ui(e)},Oe=Au,Oi=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(Oe,r,o,f)}else{var s=i.a;return v(Oe,u,o,s)}});return v(Oe,u,v(Oe,r,e,a),t)}),Li=function(r){return v(Oi,S,p,r)},z=function(r){return{$:1,a:r}},Cn=c(function(r,e){return{$:3,a:r,b:e}}),Zt=c(function(r,e){return{$:0,a:r,b:e}}),Xt=c(function(r,e){return{$:1,a:r,b:e}}),k=function(r){return{$:0,a:r}},Ri=function(r){return{$:2,a:r}},Wl=1,ql=Fu,X=function(r){return{$:0,a:r}},F={$:1},Hi=t$,Ql=Wu,Ii=wu,zi=D$,Gr=gt,mr=c(function(r,e){return $(xu,r,Pe(e))}),Le=c(function(r,e){return _($(Nu,r,e))}),Kt=function(r){return $(mr,"\n ",$(Le,"\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,Gl=du,Yl=Tu,qi=D(function(r,e,n){r:for(;;)if(x(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$,Nt=function(r){var e=Re(r);return 97<=e&&e<=122},xt=function(r){var e=Re(r);return e<=90&&65<=e},Zl=qu,Yi=function(r){return Nt(r)||xt(r)},Zi=function(r){var e=Re(r);return e<=57&&48<=e},Xi=function(r){return Nt(r)||xt(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)+(") "+Kt(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+(Kt($(zi,4,h))+("\n\n"+d))}}),_r=32,Bn=W(function(r,e,n,t){return{$:0,a:r,b:e,c:n,d:t}}),jn=Bu,ra=Hu,Xl=Ju,ea=c(function(r,e){return St(e)/St(r)}),Kl=Ru,yn=ra($(ea,2,_r)),eo=T(Bn,0,yn,jn,jn),na=yu,no=function(r){return{$:1,a:r}},Nl=c(function(r,e){return r(e)}),xl=c(function(r,e){return e(r)}),rm=bu,to=Iu,ta=ju,em=Su,ao=c(function(r,e){return x(r,e)>0?r:e}),nm=Vu,uo=function(r){return{$:0,a:r}},aa=Pu,$o=c(function(r,e){r:for(;;){var n=$(aa,_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)}}),tm=function(r){var e=r.a;return e},io=c(function(r,e){r:for(;;){var n=ra(e/_r);if(n===1)return $(aa,_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($(ea,_r,n-1)),a=r?H(e.k):e.k,u=$(io,a,e.h);return T(Bn,ta(e.j)+n,$(ao,5,t*yn),u,e.j)}else return T(Bn,ta(e.j),yn,jn,e.j)}),am=Uu,um=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(na,_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}}),$m=Ou,so=c(function(r,e){if(r<=0)return eo;var n=r%_r,t=v(na,n,r-n,e),a=r-n-_r;return J(co,e,a,r,p,t)}),im=0,br=function(r){return!r.$},se=d$,fo=S$,fe=v$,Pn=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,om=0,cm=1,ua=ye(function(r,e,n,t,a,u){return{bM:u,bP:e,bX:t,bZ:n,b0:r,b1:a}}),_o=a$,$a=Zu,ia=r$,Ur=c(function(r,e){return r<1?e:v(ia,r,$a(e),e)}),He=i$,Yr=function(r){return r===""},Ie=c(function(r,e){return r<1?"":v(ia,0,r,e)}),bo=o$,oa=ar(function(r,e,n,t,a){if(Yr(a)||$(_o,"@",a))return F;var u=$(He,":",a);if(u.b){if(u.b.b)return F;var i=u.a,o=bo($(Ur,i+1,a));if(o.$===1)return F;var s=o;return X(nn(ua,r,$(Ie,i,a),s,e,n,t))}else return X(nn(ua,r,a,F,e,n,t))}),ca=W(function(r,e,n,t){if(Yr(t))return F;var a=$(He,"/",t);if(a.b){var u=a.a;return J(oa,r,$(Ur,u,t),e,n,$(Ie,u,t))}else return J(oa,r,"/",e,n,t)}),sa=D(function(r,e,n){if(Yr(n))return F;var t=$(He,"?",n);if(t.b){var a=t.a;return T(ca,r,X($(Ur,a+1,n)),e,$(Ie,a,n))}else return T(ca,r,F,e,n)}),fa=c(function(r,e){if(Yr(e))return F;var n=$(He,"#",e);if(n.b){var t=n.a;return v(sa,r,X($(Ur,t+1,e)),$(Ie,t,e))}else return v(sa,r,F,e)}),le=u$,va=function(r){return $(le,"http://",r)?$(fa,0,$(Ur,7,r)):$(le,"https://",r)?$(fa,1,$(Ur,8,r)):F},me=function(r){r:for(;;){var e=r,n=e;r=n;continue r}},sm=ve,kr=vr,ho=kr(0),la=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)):T(la,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}),Or=D(function(r,e,n){return T(la,r,e,0,n)}),E=c(function(r,e){return v(Or,c(function(n,t){return $(S,r(n),t)}),p,e)}),_e=$n,An=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(Or,po(S),kr(p),r)},go=k$,wo=c(function(r,e){var n=e;return Ct($(_e,go(r),n))}),Do=D(function(r,e,n){return $(An,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 $(An,r,n)});rr.Task=J$(ho,Do,Co,Bo);var ma=vn("Task"),be=c(function(r,e){return ma($(An,r,e))}),jo=Di,yo={$:3},fm=0,he=D(function(r,e,n){return r(e(n))}),Po=y$,Ao=c(function(r,e){return ma($(Po,$(he,$(he,kr,r),z),$(_e,$(he,$(he,kr,r),k),e)))}),Mo=D(function(r,e,n){return{P:e,Q:n,R:r}}),_a=p$,Zr=c(function(r,e){return v(Or,_a,e,r)}),Mn=m$,Eo=g$,Fo=T(Eo,Mo,$(Zr,_(["cookiesKept","keepTheme"]),Mn),$(Zr,_(["cookiesKept","keepFont"]),Mn),$(Zr,_(["cookiesKept","keepPrompt"]),Mn)),pe=an,To=ji("focus"),Vo=function(r){return{o:r}},Jo=_$,Uo=$(se,Vo,$(Zr,_(["font","fontSize"]),Jo)),ko=function(r){return{l:r}},En=h$,Oo=$(se,ko,$(Zr,_(["prompt","prompt"]),En)),Lo=function(r){return{$:4,a:r}},ba=_n,Ro=function(r){return Lo(ba(r))},U=Ro,vm=1,lm=2,mm=3,ha=l$,Ho=function(r){var e=$(pe,$(_a,"theme",En),r);if(e.$)return ha("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 ha("Unknown value found in theme field of json")}},Io=D(function(r,e,n){var t=_([U("Welcome to my website! Pardon the alpha quality for the time being"),U("\nRun `help` to get started")]),a=function(){var u=$(pe,Fo,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,Oo,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},To("init-focus")))}),zo=yt,Wo=zo(p),qo=function(r){return Wo},_m=10,pa=function(r){return{$:0,a:r}},bm=ve,ze=c(function(r,e){return pa(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"),hm=0,pm=0,Fn=gt,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(Fn(n),e)}}),R=$(qe,0,"px"),Qo=D(function(r,e,n){return{$:0,a:r,b:e,c:n}}),Go=Qo,Tn=Go,Qe=Tn("span"),Vn=D(function(r,e,n){return{$:0,a:r,b:e,c:n}}),xr=c(function(r,e){return $(Ut,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,da=c(function(r,e){return!$(Yo,$(he,Zo,r),e)}),dm=1,ir=ar(function(r,e,n,t,a){return{$:-1,a:r,b:e,c:n,d:t,e:a}}),Jn={$:-2},Sm=0,Sa=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 J(ir,0,e,n,J(ir,1,b,d,h,g),J(ir,1,i,o,s,f))}else return J(ir,r,i,o,J(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,Q=B.c,I=B.d,L=B.e,g=t.e;return J(ir,0,b,d,J(ir,1,y,Q,I,L),J(ir,1,e,n,g,a))}else return J(ir,r,e,n,t,a)}),ga=gu,Un=D(function(r,e,n){if(n.$===-2)return J(ir,0,r,e,Jn,Jn);var t=n.a,a=n.b,u=n.c,i=n.d,o=n.e,s=$(ga,r,a);switch(s){case 0:return J(Sa,t,a,u,v(Un,r,e,i),o);case 1:return J(ir,t,a,e,i,o);default:return J(Sa,t,a,u,i,v(Un,r,e,o))}}),wa=D(function(r,e,n){var t=v(Un,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 J(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 $(da,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(wa,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 $(da,function(m){var b=m.b;return Br(b)},f)?l(n,t):l(n,$(S,r,t))}}),Se=Jn,Da=function(r){return{$:6,a:r}},kn=c(function(r,e){return e.b?v(Or,S,e,r):r}),Ko=c(function(r,e){return $(kn,$(E,function(n){var t=n.a,a=n.b;return Da({ct:a,cF:t})},ke(r)),e)}),No=function(r){var e=v(Or,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 F;var n=e.a;return X(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 T(ec,r,e,n,"")}),Ca=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"}},Ba=function(r){var e=D(function(u,i,o){return u+(" "+$(mr," and ",$(S,nc(i),$(E,Ca,o))))});switch(r.$){case 0:var t=r.a;return v(or,Ca," 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+(Ba(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""}},On=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+"]")}},ja=function(r){switch(r.$){case 0:var e=r.a,n=r.b;return C(e,v(or,On,"",n));case 1:var n=r.a;return Br(n)?"*":v(or,On,"",n);default:var e=r.a,n=r.b;return C(e,v(or,On,"",n))}},sc=function(r){var e=r.a,n=r.b;return cc(e)+(" "+ja(n))},fc=function(r){var e=r.a,n=r.b,t=r.c,a=$(S,ja(e),$(E,sc,n)),u=$(hr,"",$(Ge,oc,t));return $(ic,$(mr," ",a),u)},ya=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 ya(e);case 1:var n=r.a,t=r.b,a=v(or,Ba,", ",n),u=v(or,ya,"\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)+"")))},Ln=function(r){return v(Or,kn,p,r)},ge=c(function(r,e){return Ln($(E,r,e))}),Pa=function(r){return{$:8,a:r}},Aa=function(r){return{$:5,a:r}},Ma=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}},Rn=c(function(r,e){return{$:2,a:r,b:e}}),Ea=function(r){return{$:7,a:r}},Lr=c(function(r,e){return{$:1,a:r,b:e}}),Hn=c(function(r,e){if(e.b)if(e.b.b){var t=e.a,a=e.b;return $(S,t,$(Hn,r,a))}else{var n=e.a;return _([r(n)])}else return e}),Fa=c(function(r,e){var n=e.a,t=e.b,a=e.c;return v(Fr,n,t,C(a,_([r])))}),In=c(function(r,e){if(e.b)if(e.b.b){var i=e.a,o=e.b;return $(S,i,$(In,r,o))}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 _([$(Lr,a,$(Hn,Fa(r),u))]);default:return e}else return e}),Ta=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(Fr,a,u,t),v(Fr,o,i,p)])}else{var n=e.a,t=e.c;return _([v(Fr,n,p,t),v(Fr,r(n),p,p)])}}),mc=c(function(r,e){var n=e.a,t=e.b;return v(we,n,t,X(r))}),_c=c(function(r,e){return $(Ta,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}}),Va=function(r){return{$:1,a:r}},Ja=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 Va(C(a,_([r])));default:var t=e.a,a=e.b;return $(bc,t,C(a,_([r])))}}),Ua=c(function(r,e){if(e.b)if(e.b.b){var u=e.a,i=e.b;return $(S,u,$(Ua,r,i))}else{var n=e.a,t=n.a,a=n.b;return _([l(t,$(Ja,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,$(Ua,r,u),t)}else{var n=e.a,t=e.c;return v(we,$(Ja,r,n),p,t)}}),dc=c(function(r,e){return $(Ta,pc(r),e)}),zn=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),zn(a))}else return p},Wn=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,L=i.a,P=i.b,o=$(Ye,r,_([$(Lr,t,P)]));if(o.b&&o.a.$===1&&!o.b.b){var s=o.a,f=s.a,m=s.b;return _([$(Lr,f,$(S,L,m))])}else{var b=o;return b}}else{var n=e.a,t=n.a,a=n.b,I=a.a;return _([$(Lr,t,r(I))])}else break r;case 2:var d=e.a,h=d.a,g=d.b;return _([$(Rn,h,$(Ye,r,g))]);case 3:var w=e.a,B=w.a,M=w.b,y=w.c,Q=w.d,I=w.e;return $(E,T(Wn,B,M,y,Q),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 L=e.a,P=e.b;return $(S,L,$(Ye,r,P))}),qn=Qu,Sc=W(function(r,e,n,t){return{ac:t,ah:n,W:e,an:r}}),ka=3432918353,Oa=461845907,gm=Pi,wm=Ei,Dm=Fi,Rr=c(function(r,e){return(e&65535)*r+(((e>>>16)*r&65535)<<16)}),gc=hu,Cm=Ai,Qn=c(function(r,e){return e<>>32-r}),Bm=Mi,wc=function(r){var e=r.ah?r.W^$(Rr,Oa,$(Qn,15,$(Rr,ka,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,$(Qn,13,r^$(Rr,Oa,$(Qn,15,$(Rr,ka,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(qa,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(qa,0,r,e)}),Qa=ar(function(r,e,n,t,a){if(a.$)return a;var u=a.a;return J(Wn,r,e,n,t,u)}),Ga=c(function(r,e){switch(e.$){case 0:var m=e.a;return $(Lr,r,_([m]));case 1:var n=e.a,t=e.b;return $(Lr,C(r,n),t);case 2:var a=e.a,u=e.b;return $(Rn,a,$(E,Ga(r),u));case 3:var i=e.a,o=e.b,s=e.c,f=e.d,m=e.e;return J(Wn,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}}),Yn=function(r){var e=r;return e},Ya=W(function(r,e,n,t){var a=function(f){return $(hr,p,Hr(f))},u=$(gr,e,$(hr,p,za(t))),i=function(){var f=l(nr(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 Ln($(Hn,gr(r),$(E,Gn,$(Ye,n,f))))},s=$(hr,p,$(Ge,o,za(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,L=r.b;return $(gr,L,$(In,n,e));case 1:var t=r.a,a=t.a,y=t.b,L=r.b;return T(Ya,y,L,dc(a),e);case 2:var u=r.a,i=u.a,o=u.b,L=r.b,s=c(function(P,G){var pr=P.a,tr=P.b,yr=P.c,sr=G.a,dr=G.b,je=G.c;return v(we,pr,C(tr,$(S,l(i,sr),dr)),Fc(_([je,yr])))}),f=function(P){switch(P.$){case 0:var G=P.a,pr=G.a,tr=G.b,yr=G.c,sr=$(ge,function(vt){return $(E,s(vt),$(S,pr,tr))},zn(e)),dr=function(){if(sr.b){var vt=sr.a,Tf=sr.b;return _([De(v(Fr,vt,Tf,p))])}else return p}();return $(gr,yr,dr);case 1:var je=P.a,st=P.b;return $(Za,je,st);case 2:var ft=P.a,jf=P.b;return $(Xa,ft,jf);case 3:var yf=P.a,Pf=P.b,Af=P.c,Mf=P.d,Ef=P.e;return $(E,T(Qa,yf,Pf,Af,Mf),Ze(Ef));case 4:var zr=P.a;return _([Ma(zr)]);case 5:var zr=P.a;return _([Aa(zr)]);case 6:var zr=P.a;return _([Ea(zr)]);case 7:var zr=P.a;return _([Pa(zr)]);default:var Ff=P.a;return Wa(Ff)}};return Ln(C(_([$(gr,L,e)]),$(E,f,$(ge,Yn,o))));case 3:var m=r.a,b=m.a,y=m.b,L=r.b;return T(Ya,y,L,_c(b),e);case 5:var d=r.a.a,L=r.b,h=Ia(d),g="animation-name:"+h,w=$(gr,L,$(In,g,e));return $(kn,w,_([Da({ct:d,cF:h})]));case 4:var B=r.a,M=B.a,y=B.b,L=r.b,Q=function(){var P=zn(e);if(P.b){var G=P.a,pr=P.b;return $(E,Vc(M),$(gr,y,Gn(De(v(Fr,G,pr,p)))))}else return p}();return C($(gr,L,e),Q);default:var I=r.a.a,L=r.b;return $(gr,C(I,L),e)}else return e}),Ze=function(r){var e=r.a,n=r.b,t=r.c;return $(gr,t,_([De(v(Fr,e,n,p))]))},Zn=function(r){if(r.b){var e=r.a,n=r.b;return C(Oc(e),Zn(n))}else return p},Za=c(function(r,e){var n=function(t){return $(E,Ga(r),Ze(t))};return $(ge,n,e)}),Xa=c(function(r,e){var n=Zn($(ge,Yn,e));return _([$(Rn,r,n)])}),Oc=function(r){switch(r.$){case 0:var f=r.a;return Ze(f);case 1:var e=r.a,n=r.b;return $(Za,e,n);case 2:var t=r.a,a=r.b;return $(Xa,t,a);case 3:var u=r.a,i=r.b,o=r.c,s=r.d,f=r.e;return $(E,T(Qa,u,i,o,s),Ze(f));case 4:var m=r.a;return _([Ma(m)]);case 5:var m=r.a;return _([Aa(m)]);case 6:var m=r.a;return _([Ea(m)]);case 7:var m=r.a;return _([Pa(m)]);default:var b=r.a;return Wa(b)}},Lc=function(r){var e=r.b9,n=r.bU,t=r.bQ,a=r.bF,u=Zn($(ge,Yn,e));return{bF:a,cu:u,bQ:t,bU:n}},Rc=function(r){return lc(xo(Lc(r)))},jm=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,F);return _([Ic(v(Hc,n,p,r))])}),Wc=function(r){return{bF:F,bQ:p,bU:p,b9:r}},qc=function(r){return{$:0,a:r}},Xn="\x07",Qc=Va(_([qc(Xn)])),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(Vn,n,!0,e)},re=W(function(r,e,n,t){return $(r,$(S,Yc(e),n),t)}),Zc=D(function(r,e,n){return T(re,Qe,_([de(r),Xr(e),Nr(R(0)),Kr(R(0)),We(R(0))]),p,_([U(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])),_([Fn(t)])))}}),Ka=c(function(r,e){return v(Zc,r,T(Kc,0,0,0,0),e)}),Na=function(r){return $(le,"#",r)?r:$(qn,"#",r)},xa=function(r){return{aw:1,ay:0,A:0,aD:0,aI:0,D:Na(r)}},Nc=Ku,Kn=function(r){return v(Nc,S,p,r)},ru=D(function(r,e,n){return e(r(n))}),xc=function(r){return $(qn,r,"")},K=ku,eu=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+$(K,16,r);r=u,e=i,n=o;continue r;case"2":var u=r-1,i=a,o=n+2*$(K,16,r);r=u,e=i,n=o;continue r;case"3":var u=r-1,i=a,o=n+3*$(K,16,r);r=u,e=i,n=o;continue r;case"4":var u=r-1,i=a,o=n+4*$(K,16,r);r=u,e=i,n=o;continue r;case"5":var u=r-1,i=a,o=n+5*$(K,16,r);r=u,e=i,n=o;continue r;case"6":var u=r-1,i=a,o=n+6*$(K,16,r);r=u,e=i,n=o;continue r;case"7":var u=r-1,i=a,o=n+7*$(K,16,r);r=u,e=i,n=o;continue r;case"8":var u=r-1,i=a,o=n+8*$(K,16,r);r=u,e=i,n=o;continue r;case"9":var u=r-1,i=a,o=n+9*$(K,16,r);r=u,e=i,n=o;continue r;case"a":var u=r-1,i=a,o=n+10*$(K,16,r);r=u,e=i,n=o;continue r;case"b":var u=r-1,i=a,o=n+11*$(K,16,r);r=u,e=i,n=o;continue r;case"c":var u=r-1,i=a,o=n+12*$(K,16,r);r=u,e=i,n=o;continue r;case"d":var u=r-1,i=a,o=n+13*$(K,16,r);r=u,e=i,n=o;continue r;case"e":var u=r-1,i=a,o=n+14*$(K,16,r);r=u,e=i,n=o;continue r;case"f":var u=r-1,i=a,o=n+15*$(K,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 k(n)}),rs=c(function(r,e){if(e.$){var t=e.a;return z(t)}else{var n=e.a;return k(r(n))}}),es=c(function(r,e){if(e.$){var t=e.a;return z(r(t))}else{var n=e.a;return k(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(Kn(r)));return $(rs,Pc,v(eu,Jr(t)-1,t,0))}else return v(eu,$a(r)-1,Kn(r),0)}(),n=function(t){return $(mr," ",_(['"'+(r+'"'),"is not a valid hexadecimal string because",t]))};return $(es,n,e)},ts=n$,Xe=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=$(ru,La,$(ru,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,Q=y.a.a,I=y.b.a;return{aw:I/255,ay:Q,A:0,aD:M,aI:B,D:Na(r)}}else return xa(r)}),A=function(r){var e=$(le,"#",r)?$(Ur,1,r):r,n=Kn(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,G=n.b,g=G.a,pr=G.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,st=dr.b,ft=st.a;return J(Xe,r,l(d,g),l(B,y),l(I,P),l(je,ft))}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,Q=M.b,I=Q.a,L=Q.b,P=L.a;return J(Xe,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 J(Xe,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 J(Xe,r,l(t,t),l(u,u),l(o,o),l("f","f"))}else break r;return xa(r)},nu=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,Ke=yt,O=Ke(p),ym=1,Pm=2,Am=3,Mm=4,Em=0,Fm=5,Tm=6,Vm=7,$s=c(function(r,e){return v(Or,c(function(n,t){return r(n)?$(S,n,t):t}),p,e)}),tu=e$,is=function(r){var e=$(E,tu,$(Le," ",r)),n=function(){var o=nr(e);if(o.$)return z("error in parseInput parsing tokens");switch(o.a){case"help":return k(0);case"clear":return k(1);case"cookies":return k(2);case"font":return k(3);case"hello":return k(4);case"prompt":return k(5);case"theme":return k(6);case"todo":return k(7);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 k($($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 k({a6:a,ba:u})}}},os=Ci,cs=function(r){return"["+($(mr,",",r)+"]")},N=D(function(r,e,n){var t=function(){switch(r){case 0:return"help";case 1:return"clear";case 2:return"cookies";case 3:return"font";case 4:return"hello";case 5:return"prompt";case 6:return"theme";default:return"todo"}}();return _([U((x(e,Jr(n))>0?"\nToo few arguments for "+t:x(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=nr(e);if(n.$===1)return j(r,{a:p});var t=n.a;return j(r,{a:C(r.a,v(N,1,0,e))})}(),O)}),Nn=function(r){return r?"True":"False"},fs=function(r){return"{ keepFont = "+(Nn(r.P)+("\n, keepPrompt = "+(Nn(r.Q)+("\n, keepTheme = "+(Nn(r.R)+"\n}")))))},xn=un,vs=un,Ne=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=un,rt=function(r){return Ne(_([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",Ne(_([l("fontSize",vs(r.t.o))]))),l("cookiesKept",Ne(_([l("keepTheme",xn(r.n.R)),l("keepFont",xn(r.n.P)),l("keepPrompt",xn(r.n.Q))]))),l("prompt",Ne(_([l("prompt",Ce(r.l.l))])))]))},et=H$("setStorage",ve),wr=function(r){return l(r,Ke(_([et(rt(r))])))},ls=c(function(r,e){var n=nr(e);if(n.$===1){var t=j(r,{a:C(r.a,_([U("\n"+fs(r.n))]))});return l(t,Ke(_([et(rt(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,"",nr(b))}(),u=function(){var s=Hr(e);if(s.$)return"";var f=s.a;return $(hr,"",nr(f))}(),i=r.n;if(a==="")return l(j(r,{a:C(r.a,v(N,2,3,e))}),O);switch(u){case"":return l(j(r,{a:C(r.a,v(N,2,2,e))}),O);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(N,2,3,e))}),O)}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(N,2,3,e))}),O)}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(N,2,3,e))}),O)}default:return l(j(r,{a:C(r.a,v(N,2,2,e))}),O)}}else{var o=n.a;return l(j(r,{a:C(r.a,v(N,2,1,e))}),O)}}),ms=c$,_s=c(function(r,e){var n=nr(e);if(n.$===1)return l(j(r,{a:C(r.a,v(N,3,1,e))}),O);switch(n.a){case"size":var i=function(){var o=Hr(e);if(o.$)return"";var s=o.a;return $(hr,"",nr(s))}(),t=ms(i);if(t.$)switch(i){case"":return l(j(r,{a:C(r.a,_([U("\nfontSize is "+(Fn(r.t.o)+"px"))]))}),O);case"reset":var u=j(r,{a:C(r.a,_([U("\nfontSize reset to 20px")])),t:{o:20}});return wr(u);default:return l(j(r,{a:C(r.a,_([U("\nfontSize "+(i+" not recognised; font size expected"))]))}),O)}else{var a=t.a;if(a>0){var u=j(r,{a:C(r.a,_([U("\nfontSize successfully set to "+(i+"px"))])),t:{o:a}});return wr(u)}else return l(j(r,{a:C(r.a,_([U("\nPlease enter a valid fontSize, a Float greater than 0")]))}),O)}case"reset":var u=j(r,{a:C(r.a,_([U("\nfontSize reset to 20px")])),t:{o:20}});return l(u,Ke(_([et(rt(u))])));default:var i=n.a;return l(j(r,{a:C(r.a,v(N,3,1,e))}),O)}}),bs=c(function(r,e){var n=nr(e);return n.$===1?l(j(r,{a:C(r.a,_([U("\nHello World!")]))}),O):l(j(r,{a:C(r.a,v(N,4,0,e))}),O)}),hs=c(function(r,e){return l(j(r,{a:C(r.a,function(){if(Jr(e)<2){var n=nr(e);if(n.$===1)return _([U("\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 _([U("\nhelp lists available commands with a short summary\nhelp prints more information about ")]);case"clear":return _([U("\nclear clears the screen")]);case"cookies":return _([U("\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 _([U("\nhello prints `Hello World!`")]);case"font":return _([U("\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 _([U("\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 _([U("\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 _([U("\ntodo prints aspirations for the site")]);default:var t=n.a;return v(N,0,1,e)}}else return v(N,0,1,e)}())}),O)}),ps=c(function(r,e){var n=nr(e);if(n.$===1)return l(j(r,{a:C(r.a,_([U("\ncurrent prompt is "+r.l.l)]))}),O);var t=n.a,a=r.l;return wr(j(r,{l:j(a,{l:t})}))}),xe=c(function(r,e){var n=j(r,{as:e});return wr(n)}),ds=c(function(r,e){var n=nr(e);if(n.$===1)return l(j(r,{a:C(r.a,_([U("\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"}}())]))}),O);switch(n.a){case"sun":return $(xe,r,3);case"sky":return $(xe,r,2);case"dim":return $(xe,r,1);case"pit":return $(xe,r,0);default:var t=n.a;return l(j(r,{a:C(r.a,v(N,6,1,e))}),O)}}),Ss=c(function(r,e){return l(function(){var n=nr(e);return n.$===1?j(r,{a:C(r.a,_([U("\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\nUpcoming commands to look forward to:\nfunfetch\ncolors test\ncolors set \ntheme save \ntheme load \nfeedback ")]))}):j(r,{a:C(r.a,v(N,7,0,e))})}(),O)}),gs=c(function(r,e){if(e.$){if(e.a==="")return l(r,O);var a=e.a;return l(j(r,{a:C(r.a,_([U("\ncommand "+(a+" not recognised. Run `help` to find a valid command"))]))}),O)}else{var n=e.a.a6,t=e.a.ba;return $(function(){switch(t){case 0:return hs;case 1:return ss;case 2:return ls;case 3:return _s;case 4:return bs;case 5:return ps;case 6:return ds;default:return Ss}}(),r,n)}}),ws=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))}),Ds=function(r){var e=function(){var n=r.b0;return n?"https://":"http://"}();return v(au,"#",r.bM,v(au,"?",r.b1,C($(ws,r.bZ,C(e,r.bP)),r.bX)))},Cs=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,Ds(a)))}case 1:var a=r.a;return l(j(e,{br:a}),O);case 2:var u=r.a;return $(as,"\n",u)?$(gs,j(e,{az:"",a:C(e.a,_([U(te(e.a,p)?"":"\n"),$(Ka,nu(10),e.l.l),U(tu(u))]))}),is(u)):l(j(e,{az:u}),O);default:return l(e,O)}}),Bs=b$,js=c(function(r,e){return{cr:e,cT:r}}),rn=function(r){return{$:0,a:r}},nt=c(function(r,e){r:for(;;){if(e.$===-2)return F;var n=e.b,t=e.c,a=e.d,u=e.e,i=$(ga,r,n);switch(i){case 0:var o=r,s=a;r=o,e=s;continue r;case 1:return X(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=$(nt,t,e);return a.$?v(wa,t,Ia(t),e):e}else return e}),tt=c(function(r,e){return $(Y$,x$(r),ei(e))}),Tr=c(function(r,e){var n=e.a,t=e.b,a=e.c;if(t){var u=$(nt,a,r);if(u.$)return $(tt,"className",Ce("_unstyled"));var i=u.a;return $(tt,"className",Ce(i))}else return n}),en=c(function(r,e){var n=e.a,t=e.b,a=e.c;if(t){var u=$(nt,a,r);if(u.$)return $(xr,"class","_unstyled");var i=u.a;return $(xr,"class",i)}else return n}),at=function(r){return G$(Ve(r))},ut=c(function(r,e){return $(Vt,r,Ve(e))}),Be=function(r){return bn(Ve(r))},$t=c(function(r,e){return $(Tt,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,Tr(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=T($t,f,m,$(E,Tr(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(at,m,$(E,Tr(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=T(ut,f,m,$(E,Tr(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,Tr(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=T($t,o,s,$(E,en(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(at,s,$(E,Tr(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=T(ut,o,s,$(E,en(g),f),H(h));return l($(S,w,n),g)}}),it=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(it,r,e,u)),f=i;r=o,e=s,n=f;continue r}}),uu=D(function(r,e,n){return $(mr,e,$(Le,r,n))}),ys=D(function(r,e,n){return n+("\n"+v(uu,Xn,e,r))}),Ps=function(r){return v(it,ys,"",r)},$u=c(function(r,e){return v(it,D(function(n,t,a){return a+("\n"+v(uu,"."+Xn,"#"+(r+("."+t)),n))}),"",e)}),ot=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 Ps(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)])}(),Gn(ba(n)))]))}),As=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=$(ot,r,rn(o)),f=$(E,Tr(o),n);return v(Be,e,f,$(S,s,H(i)))}),Ms=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}),Es=c(function(r,e){r:for(;;)if(e.b){var n=e.a,t=n.a,a=e.b,u="_"+t;if($(Ms,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=$(Es,"_",n),a=$(ot,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,rn(o),i),f=$(E,Tr(o),n);return v(at,e,f,$(S,s,H(i)))}),Ts=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,rn(s),o),m=$(E,en(s),t);return T(ut,e,n,m,$(S,f,H(o)))}),Vs=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=$(ot,r,rn(s)),m=$(E,en(s),t);return T($t,e,n,m,$(S,f,H(o)))}),Js=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 T(As,F,t,a,u);case 1:var n=r.a,t=r.b,a=r.c,u=r.d;return J(Vs,F,n,t,a,u);case 2:var t=r.a,a=r.b,u=r.c;return T(Fs,F,t,a,u);default:var n=r.a,t=r.b,a=r.c,u=r.d;return J(Ts,F,n,t,a,u)}},Us=Js,ks=function(r){return{$:2,a:r}},Os=c(function(r,e){return v(Vn,$(tt,r,e),!1,"")}),ou=c(function(r,e){return $(Os,r,Ce(e))}),Ls=ou("id"),Rs=function(r){return l(r,!0)},Hs=function(r){return{$:1,a:r}},Is=Jt,zs=c(function(r,e){return v(Vn,$(Is,r,e),!1,"")}),Ws=c(function(r,e){return $(zs,r,Hs(e))}),qs=$(Zr,_(["target","value"]),En),Qs=function(r){return $(Ws,"input",$(se,Rs,$(se,r,qs)))},Jm=0,Um=1,Gs=Tn("main"),Ys=q("min-height"),km=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")}}}}),Om=0,Zs=$(qe,0,"vh"),Lm=0,cu=$(qe,0,"vw"),su=q("width"),Xs=function(r){return $(re,Gs,_([Xr($(jr,r,0)),de($(jr,r,1)),Ys(Zs(100)),su(cu(100)),Kr(R(0)),Nr(R(0))]))},Ks=$(ze,"display","flex"),Ns=q("flex-direction"),xs=q("flex-start"),rf=q("flex-wrap"),ef=function(r){return{$:6,a:r}},Ir=c(function(r,e){return pa(r+(":"+e))}),nf=D(function(r,e,n){r:for(;;)switch(n.$){case 0:var t=n.a,a=$(hr,"",nr($(Le,":",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=ef(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"))}}),Rm=0,tf=v(qe,0,"",0),af=function(r){return v(nf,"justifyContent","justify-content",r(tf))},uf={aA:0,aT:0,D:"nowrap",_:0},$f={bc:0,aA:0,D:"row"},of=function(r){return $(re,Qe,_([Xr($(jr,r,0)),Nr(R(0)),Kr(R(0)),Ks,Ns($f),rf(uf),af(xs)]))},cf=q("flex-grow"),ct=q("font-size"),fu=q("height"),sf={q:0,am:0,D:"hidden",aP:0},Hm=0,ff=function(r){return{N:0,aU:0,T:0,B:0,aG:0,aW:0,J:r,at:"",aN:0,D:Gr(r)}},vf={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"},lf=q("outline-width"),mf=q("overflow"),_f=q("resize"),bf=Tn("textarea"),hf=function(r){return $(re,bf,_([de($(jr,r,1)),ct(R(r.t.o)),Nr(R(0)),Kr(R(0)),Xr($(jr,r,0)),We(R(0)),lf(R(0)),fu(R(r.t.o)),_f(vf),mf(sf),cf(ff(100))]))},vu=q("font-family"),lu={M:0,D:"monospace"},pf={D:"pre-wrap",_:0},df=q("white-space"),Sf=function(r){return $(re,Qe,_([de($(jr,r,1)),ct(R(r.t.o)),Nr(R(0)),Kr(R(0)),Xr($(jr,r,0)),We(R(0)),su(cu(100)),df(pf),vu(lu)]))},gf=function(r){return $(re,Qe,_([de($(jr,r,1)),ct(R(r.t.o)),Nr(R(0)),Kr(R(0)),Xr($(jr,r,0)),We(R(0)),fu(R(r.t.o)),vu(lu)]))},wf=ou("value"),Df=function(r){return v(Xs,r,p,_([v(Sf,r,p,r.a),v(of,r,p,_([v(gf,r,p,_([$(Ka,nu(10),r.l.l)])),v(hf,r,_([Qs(ks),wf(r.az),Ls("init-focus")]),p)]))]))},Cf=function(r){return $(js,"elmskell",_([Us(Df(r))]))},Bf=jo({cB:Io,cG:Vi,cH:Ti,cR:qo,cU:Cs,cW:Cf});Q$({Main:{init:Bf(Bs)(0)}})})(this); diff --git a/assets/js/main.tmp.js b/assets/js/main.tmp.js deleted file mode 100644 index e378057..0000000 --- a/assets/js/main.tmp.js +++ /dev/null @@ -1,9714 +0,0 @@ -(function(scope){ -'use strict'; - -function F(arity, fun, wrapper) { - wrapper.a = arity; - wrapper.f = fun; - return wrapper; -} - -function F2(fun) { - return F(2, fun, function(a) { return function(b) { return fun(a,b); }; }) -} -function F3(fun) { - return F(3, fun, function(a) { - return function(b) { return function(c) { return fun(a, b, c); }; }; - }); -} -function F4(fun) { - return F(4, fun, function(a) { return function(b) { return function(c) { - return function(d) { return fun(a, b, c, d); }; }; }; - }); -} -function F5(fun) { - return F(5, fun, function(a) { return function(b) { return function(c) { - return function(d) { return function(e) { return fun(a, b, c, d, e); }; }; }; }; - }); -} -function F6(fun) { - return F(6, fun, function(a) { return function(b) { return function(c) { - return function(d) { return function(e) { return function(f) { - return fun(a, b, c, d, e, f); }; }; }; }; }; - }); -} -function F7(fun) { - return F(7, fun, function(a) { return function(b) { return function(c) { - return function(d) { return function(e) { return function(f) { - return function(g) { return fun(a, b, c, d, e, f, g); }; }; }; }; }; }; - }); -} -function F8(fun) { - return F(8, fun, function(a) { return function(b) { return function(c) { - return function(d) { return function(e) { return function(f) { - return function(g) { return function(h) { - return fun(a, b, c, d, e, f, g, h); }; }; }; }; }; }; }; - }); -} -function F9(fun) { - return F(9, fun, function(a) { return function(b) { return function(c) { - return function(d) { return function(e) { return function(f) { - return function(g) { return function(h) { return function(i) { - return fun(a, b, c, d, e, f, g, h, i); }; }; }; }; }; }; }; }; - }); -} - -function A2(fun, a, b) { - return fun.a === 2 ? fun.f(a, b) : fun(a)(b); -} -function A3(fun, a, b, c) { - return fun.a === 3 ? fun.f(a, b, c) : fun(a)(b)(c); -} -function A4(fun, a, b, c, d) { - return fun.a === 4 ? fun.f(a, b, c, d) : fun(a)(b)(c)(d); -} -function A5(fun, a, b, c, d, e) { - return fun.a === 5 ? fun.f(a, b, c, d, e) : fun(a)(b)(c)(d)(e); -} -function A6(fun, a, b, c, d, e, f) { - return fun.a === 6 ? fun.f(a, b, c, d, e, f) : fun(a)(b)(c)(d)(e)(f); -} -function A7(fun, a, b, c, d, e, f, g) { - return fun.a === 7 ? fun.f(a, b, c, d, e, f, g) : fun(a)(b)(c)(d)(e)(f)(g); -} -function A8(fun, a, b, c, d, e, f, g, h) { - return fun.a === 8 ? fun.f(a, b, c, d, e, f, g, h) : fun(a)(b)(c)(d)(e)(f)(g)(h); -} -function A9(fun, a, b, c, d, e, f, g, h, i) { - return fun.a === 9 ? fun.f(a, b, c, d, e, f, g, h, i) : fun(a)(b)(c)(d)(e)(f)(g)(h)(i); -} - - - - -// EQUALITY - -function _Utils_eq(x, y) -{ - for ( - var pair, stack = [], isEqual = _Utils_eqHelp(x, y, 0, stack); - isEqual && (pair = stack.pop()); - isEqual = _Utils_eqHelp(pair.a, pair.b, 0, stack) - ) - {} - - return isEqual; -} - -function _Utils_eqHelp(x, y, depth, stack) -{ - if (x === y) - { - return true; - } - - if (typeof x !== 'object' || x === null || y === null) - { - typeof x === 'function' && _Debug_crash(5); - return false; - } - - if (depth > 100) - { - stack.push(_Utils_Tuple2(x,y)); - return true; - } - - /**_UNUSED/ - if (x.$ === 'Set_elm_builtin') - { - x = $elm$core$Set$toList(x); - y = $elm$core$Set$toList(y); - } - if (x.$ === 'RBNode_elm_builtin' || x.$ === 'RBEmpty_elm_builtin') - { - x = $elm$core$Dict$toList(x); - y = $elm$core$Dict$toList(y); - } - //*/ - - /**/ - if (x.$ < 0) - { - x = $elm$core$Dict$toList(x); - y = $elm$core$Dict$toList(y); - } - //*/ - - for (var key in x) - { - if (!_Utils_eqHelp(x[key], y[key], depth + 1, stack)) - { - return false; - } - } - return true; -} - -var _Utils_equal = F2(_Utils_eq); -var _Utils_notEqual = F2(function(a, b) { return !_Utils_eq(a,b); }); - - - -// COMPARISONS - -// Code in Generate/JavaScript.hs, Basics.js, and List.js depends on -// the particular integer values assigned to LT, EQ, and GT. - -function _Utils_cmp(x, y, ord) -{ - if (typeof x !== 'object') - { - return x === y ? /*EQ*/ 0 : x < y ? /*LT*/ -1 : /*GT*/ 1; - } - - /**_UNUSED/ - if (x instanceof String) - { - var a = x.valueOf(); - var b = y.valueOf(); - return a === b ? 0 : a < b ? -1 : 1; - } - //*/ - - /**/ - if (typeof x.$ === 'undefined') - //*/ - /**_UNUSED/ - if (x.$[0] === '#') - //*/ - { - return (ord = _Utils_cmp(x.a, y.a)) - ? ord - : (ord = _Utils_cmp(x.b, y.b)) - ? ord - : _Utils_cmp(x.c, y.c); - } - - // traverse conses until end of a list or a mismatch - for (; x.b && y.b && !(ord = _Utils_cmp(x.a, y.a)); x = x.b, y = y.b) {} // WHILE_CONSES - return ord || (x.b ? /*GT*/ 1 : y.b ? /*LT*/ -1 : /*EQ*/ 0); -} - -var _Utils_lt = F2(function(a, b) { return _Utils_cmp(a, b) < 0; }); -var _Utils_le = F2(function(a, b) { return _Utils_cmp(a, b) < 1; }); -var _Utils_gt = F2(function(a, b) { return _Utils_cmp(a, b) > 0; }); -var _Utils_ge = F2(function(a, b) { return _Utils_cmp(a, b) >= 0; }); - -var _Utils_compare = F2(function(x, y) -{ - var n = _Utils_cmp(x, y); - return n < 0 ? $elm$core$Basics$LT : n ? $elm$core$Basics$GT : $elm$core$Basics$EQ; -}); - - -// COMMON VALUES - -var _Utils_Tuple0 = 0; -var _Utils_Tuple0_UNUSED = { $: '#0' }; - -function _Utils_Tuple2(a, b) { return { a: a, b: b }; } -function _Utils_Tuple2_UNUSED(a, b) { return { $: '#2', a: a, b: b }; } - -function _Utils_Tuple3(a, b, c) { return { a: a, b: b, c: c }; } -function _Utils_Tuple3_UNUSED(a, b, c) { return { $: '#3', a: a, b: b, c: c }; } - -function _Utils_chr(c) { return c; } -function _Utils_chr_UNUSED(c) { return new String(c); } - - -// RECORDS - -function _Utils_update(oldRecord, updatedFields) -{ - var newRecord = {}; - - for (var key in oldRecord) - { - newRecord[key] = oldRecord[key]; - } - - for (var key in updatedFields) - { - newRecord[key] = updatedFields[key]; - } - - return newRecord; -} - - -// APPEND - -var _Utils_append = F2(_Utils_ap); - -function _Utils_ap(xs, ys) -{ - // append Strings - if (typeof xs === 'string') - { - return xs + ys; - } - - // append Lists - if (!xs.b) - { - return ys; - } - var root = _List_Cons(xs.a, ys); - xs = xs.b - for (var curr = root; xs.b; xs = xs.b) // WHILE_CONS - { - curr = curr.b = _List_Cons(xs.a, ys); - } - return root; -} - - - -var _List_Nil = { $: 0 }; -var _List_Nil_UNUSED = { $: '[]' }; - -function _List_Cons(hd, tl) { return { $: 1, a: hd, b: tl }; } -function _List_Cons_UNUSED(hd, tl) { return { $: '::', a: hd, b: tl }; } - - -var _List_cons = F2(_List_Cons); - -function _List_fromArray(arr) -{ - var out = _List_Nil; - for (var i = arr.length; i--; ) - { - out = _List_Cons(arr[i], out); - } - return out; -} - -function _List_toArray(xs) -{ - for (var out = []; xs.b; xs = xs.b) // WHILE_CONS - { - out.push(xs.a); - } - return out; -} - -var _List_map2 = F3(function(f, xs, ys) -{ - for (var arr = []; xs.b && ys.b; xs = xs.b, ys = ys.b) // WHILE_CONSES - { - arr.push(A2(f, xs.a, ys.a)); - } - return _List_fromArray(arr); -}); - -var _List_map3 = F4(function(f, xs, ys, zs) -{ - for (var arr = []; xs.b && ys.b && zs.b; xs = xs.b, ys = ys.b, zs = zs.b) // WHILE_CONSES - { - arr.push(A3(f, xs.a, ys.a, zs.a)); - } - return _List_fromArray(arr); -}); - -var _List_map4 = F5(function(f, ws, xs, ys, zs) -{ - for (var arr = []; ws.b && xs.b && ys.b && zs.b; ws = ws.b, xs = xs.b, ys = ys.b, zs = zs.b) // WHILE_CONSES - { - arr.push(A4(f, ws.a, xs.a, ys.a, zs.a)); - } - return _List_fromArray(arr); -}); - -var _List_map5 = F6(function(f, vs, ws, xs, ys, zs) -{ - for (var arr = []; vs.b && ws.b && xs.b && ys.b && zs.b; vs = vs.b, ws = ws.b, xs = xs.b, ys = ys.b, zs = zs.b) // WHILE_CONSES - { - arr.push(A5(f, vs.a, ws.a, xs.a, ys.a, zs.a)); - } - return _List_fromArray(arr); -}); - -var _List_sortBy = F2(function(f, xs) -{ - return _List_fromArray(_List_toArray(xs).sort(function(a, b) { - return _Utils_cmp(f(a), f(b)); - })); -}); - -var _List_sortWith = F2(function(f, xs) -{ - return _List_fromArray(_List_toArray(xs).sort(function(a, b) { - var ord = A2(f, a, b); - return ord === $elm$core$Basics$EQ ? 0 : ord === $elm$core$Basics$LT ? -1 : 1; - })); -}); - - - -var _JsArray_empty = []; - -function _JsArray_singleton(value) -{ - return [value]; -} - -function _JsArray_length(array) -{ - return array.length; -} - -var _JsArray_initialize = F3(function(size, offset, func) -{ - var result = new Array(size); - - for (var i = 0; i < size; i++) - { - result[i] = func(offset + i); - } - - return result; -}); - -var _JsArray_initializeFromList = F2(function (max, ls) -{ - var result = new Array(max); - - for (var i = 0; i < max && ls.b; i++) - { - result[i] = ls.a; - ls = ls.b; - } - - result.length = i; - return _Utils_Tuple2(result, ls); -}); - -var _JsArray_unsafeGet = F2(function(index, array) -{ - return array[index]; -}); - -var _JsArray_unsafeSet = F3(function(index, value, array) -{ - var length = array.length; - var result = new Array(length); - - for (var i = 0; i < length; i++) - { - result[i] = array[i]; - } - - result[index] = value; - return result; -}); - -var _JsArray_push = F2(function(value, array) -{ - var length = array.length; - var result = new Array(length + 1); - - for (var i = 0; i < length; i++) - { - result[i] = array[i]; - } - - result[length] = value; - return result; -}); - -var _JsArray_foldl = F3(function(func, acc, array) -{ - var length = array.length; - - for (var i = 0; i < length; i++) - { - acc = A2(func, array[i], acc); - } - - return acc; -}); - -var _JsArray_foldr = F3(function(func, acc, array) -{ - for (var i = array.length - 1; i >= 0; i--) - { - acc = A2(func, array[i], acc); - } - - return acc; -}); - -var _JsArray_map = F2(function(func, array) -{ - var length = array.length; - var result = new Array(length); - - for (var i = 0; i < length; i++) - { - result[i] = func(array[i]); - } - - return result; -}); - -var _JsArray_indexedMap = F3(function(func, offset, array) -{ - var length = array.length; - var result = new Array(length); - - for (var i = 0; i < length; i++) - { - result[i] = A2(func, offset + i, array[i]); - } - - return result; -}); - -var _JsArray_slice = F3(function(from, to, array) -{ - return array.slice(from, to); -}); - -var _JsArray_appendN = F3(function(n, dest, source) -{ - var destLen = dest.length; - var itemsToCopy = n - destLen; - - if (itemsToCopy > source.length) - { - itemsToCopy = source.length; - } - - var size = destLen + itemsToCopy; - var result = new Array(size); - - for (var i = 0; i < destLen; i++) - { - result[i] = dest[i]; - } - - for (var i = 0; i < itemsToCopy; i++) - { - result[i + destLen] = source[i]; - } - - return result; -}); - - - -// LOG - -var _Debug_log = F2(function(tag, value) -{ - return value; -}); - -var _Debug_log_UNUSED = F2(function(tag, value) -{ - console.log(tag + ': ' + _Debug_toString(value)); - return value; -}); - - -// TODOS - -function _Debug_todo(moduleName, region) -{ - return function(message) { - _Debug_crash(8, moduleName, region, message); - }; -} - -function _Debug_todoCase(moduleName, region, value) -{ - return function(message) { - _Debug_crash(9, moduleName, region, value, message); - }; -} - - -// TO STRING - -function _Debug_toString(value) -{ - return ''; -} - -function _Debug_toString_UNUSED(value) -{ - return _Debug_toAnsiString(false, value); -} - -function _Debug_toAnsiString(ansi, value) -{ - if (typeof value === 'function') - { - return _Debug_internalColor(ansi, ''); - } - - if (typeof value === 'boolean') - { - return _Debug_ctorColor(ansi, value ? 'True' : 'False'); - } - - if (typeof value === 'number') - { - return _Debug_numberColor(ansi, value + ''); - } - - if (value instanceof String) - { - return _Debug_charColor(ansi, "'" + _Debug_addSlashes(value, true) + "'"); - } - - if (typeof value === 'string') - { - return _Debug_stringColor(ansi, '"' + _Debug_addSlashes(value, false) + '"'); - } - - if (typeof value === 'object' && '$' in value) - { - var tag = value.$; - - if (typeof tag === 'number') - { - return _Debug_internalColor(ansi, ''); - } - - if (tag[0] === '#') - { - var output = []; - for (var k in value) - { - if (k === '$') continue; - output.push(_Debug_toAnsiString(ansi, value[k])); - } - return '(' + output.join(',') + ')'; - } - - if (tag === 'Set_elm_builtin') - { - return _Debug_ctorColor(ansi, 'Set') - + _Debug_fadeColor(ansi, '.fromList') + ' ' - + _Debug_toAnsiString(ansi, $elm$core$Set$toList(value)); - } - - if (tag === 'RBNode_elm_builtin' || tag === 'RBEmpty_elm_builtin') - { - return _Debug_ctorColor(ansi, 'Dict') - + _Debug_fadeColor(ansi, '.fromList') + ' ' - + _Debug_toAnsiString(ansi, $elm$core$Dict$toList(value)); - } - - if (tag === 'Array_elm_builtin') - { - return _Debug_ctorColor(ansi, 'Array') - + _Debug_fadeColor(ansi, '.fromList') + ' ' - + _Debug_toAnsiString(ansi, $elm$core$Array$toList(value)); - } - - if (tag === '::' || tag === '[]') - { - var output = '['; - - value.b && (output += _Debug_toAnsiString(ansi, value.a), value = value.b) - - for (; value.b; value = value.b) // WHILE_CONS - { - output += ',' + _Debug_toAnsiString(ansi, value.a); - } - return output + ']'; - } - - var output = ''; - for (var i in value) - { - if (i === '$') continue; - var str = _Debug_toAnsiString(ansi, value[i]); - var c0 = str[0]; - var parenless = c0 === '{' || c0 === '(' || c0 === '[' || c0 === '<' || c0 === '"' || str.indexOf(' ') < 0; - output += ' ' + (parenless ? str : '(' + str + ')'); - } - return _Debug_ctorColor(ansi, tag) + output; - } - - if (typeof DataView === 'function' && value instanceof DataView) - { - return _Debug_stringColor(ansi, '<' + value.byteLength + ' bytes>'); - } - - if (typeof File !== 'undefined' && value instanceof File) - { - return _Debug_internalColor(ansi, '<' + value.name + '>'); - } - - if (typeof value === 'object') - { - var output = []; - for (var key in value) - { - var field = key[0] === '_' ? key.slice(1) : key; - output.push(_Debug_fadeColor(ansi, field) + ' = ' + _Debug_toAnsiString(ansi, value[key])); - } - if (output.length === 0) - { - return '{}'; - } - return '{ ' + output.join(', ') + ' }'; - } - - return _Debug_internalColor(ansi, ''); -} - -function _Debug_addSlashes(str, isChar) -{ - var s = str - .replace(/\\/g, '\\\\') - .replace(/\n/g, '\\n') - .replace(/\t/g, '\\t') - .replace(/\r/g, '\\r') - .replace(/\v/g, '\\v') - .replace(/\0/g, '\\0'); - - if (isChar) - { - return s.replace(/\'/g, '\\\''); - } - else - { - return s.replace(/\"/g, '\\"'); - } -} - -function _Debug_ctorColor(ansi, string) -{ - return ansi ? '\x1b[96m' + string + '\x1b[0m' : string; -} - -function _Debug_numberColor(ansi, string) -{ - return ansi ? '\x1b[95m' + string + '\x1b[0m' : string; -} - -function _Debug_stringColor(ansi, string) -{ - return ansi ? '\x1b[93m' + string + '\x1b[0m' : string; -} - -function _Debug_charColor(ansi, string) -{ - return ansi ? '\x1b[92m' + string + '\x1b[0m' : string; -} - -function _Debug_fadeColor(ansi, string) -{ - return ansi ? '\x1b[37m' + string + '\x1b[0m' : string; -} - -function _Debug_internalColor(ansi, string) -{ - return ansi ? '\x1b[36m' + string + '\x1b[0m' : string; -} - -function _Debug_toHexDigit(n) -{ - return String.fromCharCode(n < 10 ? 48 + n : 55 + n); -} - - -// CRASH - - -function _Debug_crash(identifier) -{ - throw new Error('https://github.com/elm/core/blob/1.0.0/hints/' + identifier + '.md'); -} - - -function _Debug_crash_UNUSED(identifier, fact1, fact2, fact3, fact4) -{ - switch(identifier) - { - 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 jsonErrorString = fact1; - throw new Error('Problem with the flags given to your Elm program on initialization.\n\n' + jsonErrorString); - - case 3: - var portName = fact1; - throw new Error('There can only be one port named `' + portName + '`, but your program has multiple.'); - - case 4: - var portName = fact1; - var problem = fact2; - throw new Error('Trying to send an unexpected type of value through port `' + portName + '`:\n' + problem); - - 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 moduleName = fact1; - throw new Error('Your page is loading multiple Elm scripts with a module named ' + moduleName + '. Maybe a duplicate script is getting loaded accidentally? If not, rename one of them so I know which is which!'); - - case 8: - var moduleName = fact1; - var region = fact2; - var message = fact3; - throw new Error('TODO in module `' + moduleName + '` ' + _Debug_regionToString(region) + '\n\n' + message); - - case 9: - var moduleName = fact1; - var region = fact2; - var value = fact3; - var message = fact4; - throw new Error( - 'TODO in module `' + moduleName + '` from the `case` expression ' - + _Debug_regionToString(region) + '\n\nIt received the following value:\n\n ' - + _Debug_toString(value).replace('\n', '\n ') - + '\n\nBut the branch that handles it says:\n\n ' + message.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 _Debug_regionToString(region) -{ - if (region.bo.aF === region.bI.aF) - { - return 'on line ' + region.bo.aF; - } - return 'on lines ' + region.bo.aF + ' through ' + region.bI.aF; -} - - - -// MATH - -var _Basics_add = F2(function(a, b) { return a + b; }); -var _Basics_sub = F2(function(a, b) { return a - b; }); -var _Basics_mul = F2(function(a, b) { return a * b; }); -var _Basics_fdiv = F2(function(a, b) { return a / b; }); -var _Basics_idiv = F2(function(a, b) { return (a / b) | 0; }); -var _Basics_pow = F2(Math.pow); - -var _Basics_remainderBy = F2(function(b, a) { return a % b; }); - -// https://www.microsoft.com/en-us/research/wp-content/uploads/2016/02/divmodnote-letter.pdf -var _Basics_modBy = F2(function(modulus, x) -{ - var answer = x % modulus; - return modulus === 0 - ? _Debug_crash(11) - : - ((answer > 0 && modulus < 0) || (answer < 0 && modulus > 0)) - ? answer + modulus - : answer; -}); - - -// TRIGONOMETRY - -var _Basics_pi = Math.PI; -var _Basics_e = Math.E; -var _Basics_cos = Math.cos; -var _Basics_sin = Math.sin; -var _Basics_tan = Math.tan; -var _Basics_acos = Math.acos; -var _Basics_asin = Math.asin; -var _Basics_atan = Math.atan; -var _Basics_atan2 = F2(Math.atan2); - - -// MORE MATH - -function _Basics_toFloat(x) { return x; } -function _Basics_truncate(n) { return n | 0; } -function _Basics_isInfinite(n) { return n === Infinity || n === -Infinity; } - -var _Basics_ceiling = Math.ceil; -var _Basics_floor = Math.floor; -var _Basics_round = Math.round; -var _Basics_sqrt = Math.sqrt; -var _Basics_log = Math.log; -var _Basics_isNaN = isNaN; - - -// BOOLEANS - -function _Basics_not(bool) { return !bool; } -var _Basics_and = F2(function(a, b) { return a && b; }); -var _Basics_or = F2(function(a, b) { return a || b; }); -var _Basics_xor = F2(function(a, b) { return a !== b; }); - - - -var _String_cons = F2(function(chr, str) -{ - return chr + str; -}); - -function _String_uncons(string) -{ - var word = string.charCodeAt(0); - return !isNaN(word) - ? $elm$core$Maybe$Just( - 0xD800 <= word && word <= 0xDBFF - ? _Utils_Tuple2(_Utils_chr(string[0] + string[1]), string.slice(2)) - : _Utils_Tuple2(_Utils_chr(string[0]), string.slice(1)) - ) - : $elm$core$Maybe$Nothing; -} - -var _String_append = F2(function(a, b) -{ - return a + b; -}); - -function _String_length(str) -{ - return str.length; -} - -var _String_map = F2(function(func, string) -{ - var len = string.length; - var array = new Array(len); - var i = 0; - while (i < len) - { - var word = string.charCodeAt(i); - if (0xD800 <= word && word <= 0xDBFF) - { - array[i] = func(_Utils_chr(string[i] + string[i+1])); - i += 2; - continue; - } - array[i] = func(_Utils_chr(string[i])); - i++; - } - return array.join(''); -}); - -var _String_filter = F2(function(isGood, str) -{ - var arr = []; - var len = str.length; - var i = 0; - while (i < len) - { - var char = str[i]; - var word = str.charCodeAt(i); - i++; - if (0xD800 <= word && word <= 0xDBFF) - { - char += str[i]; - i++; - } - - if (isGood(_Utils_chr(char))) - { - arr.push(char); - } - } - return arr.join(''); -}); - -function _String_reverse(str) -{ - var len = str.length; - var arr = new Array(len); - var i = 0; - while (i < len) - { - var word = str.charCodeAt(i); - if (0xD800 <= word && word <= 0xDBFF) - { - arr[len - i] = str[i + 1]; - i++; - arr[len - i] = str[i - 1]; - i++; - } - else - { - arr[len - i] = str[i]; - i++; - } - } - return arr.join(''); -} - -var _String_foldl = F3(function(func, state, string) -{ - var len = string.length; - var i = 0; - while (i < len) - { - var char = string[i]; - var word = string.charCodeAt(i); - i++; - if (0xD800 <= word && word <= 0xDBFF) - { - char += string[i]; - i++; - } - state = A2(func, _Utils_chr(char), state); - } - return state; -}); - -var _String_foldr = F3(function(func, state, string) -{ - var i = string.length; - while (i--) - { - var char = string[i]; - var word = string.charCodeAt(i); - if (0xDC00 <= word && word <= 0xDFFF) - { - i--; - char = string[i] + char; - } - state = A2(func, _Utils_chr(char), state); - } - return state; -}); - -var _String_split = F2(function(sep, str) -{ - return str.split(sep); -}); - -var _String_join = F2(function(sep, strs) -{ - return strs.join(sep); -}); - -var _String_slice = F3(function(start, end, str) { - return str.slice(start, end); -}); - -function _String_trim(str) -{ - return str.trim(); -} - -function _String_trimLeft(str) -{ - return str.replace(/^\s+/, ''); -} - -function _String_trimRight(str) -{ - return str.replace(/\s+$/, ''); -} - -function _String_words(str) -{ - return _List_fromArray(str.trim().split(/\s+/g)); -} - -function _String_lines(str) -{ - return _List_fromArray(str.split(/\r\n|\r|\n/g)); -} - -function _String_toUpper(str) -{ - return str.toUpperCase(); -} - -function _String_toLower(str) -{ - return str.toLowerCase(); -} - -var _String_any = F2(function(isGood, string) -{ - var i = string.length; - while (i--) - { - var char = string[i]; - var word = string.charCodeAt(i); - if (0xDC00 <= word && word <= 0xDFFF) - { - i--; - char = string[i] + char; - } - if (isGood(_Utils_chr(char))) - { - return true; - } - } - return false; -}); - -var _String_all = F2(function(isGood, string) -{ - var i = string.length; - while (i--) - { - var char = string[i]; - var word = string.charCodeAt(i); - if (0xDC00 <= word && word <= 0xDFFF) - { - i--; - char = string[i] + char; - } - if (!isGood(_Utils_chr(char))) - { - return false; - } - } - return true; -}); - -var _String_contains = F2(function(sub, str) -{ - return str.indexOf(sub) > -1; -}); - -var _String_startsWith = F2(function(sub, str) -{ - return str.indexOf(sub) === 0; -}); - -var _String_endsWith = F2(function(sub, str) -{ - return str.length >= sub.length && - str.lastIndexOf(sub) === str.length - sub.length; -}); - -var _String_indexes = F2(function(sub, str) -{ - var subLen = sub.length; - - if (subLen < 1) - { - return _List_Nil; - } - - var i = 0; - var is = []; - - while ((i = str.indexOf(sub, i)) > -1) - { - is.push(i); - i = i + subLen; - } - - return _List_fromArray(is); -}); - - -// TO STRING - -function _String_fromNumber(number) -{ - return number + ''; -} - - -// INT CONVERSIONS - -function _String_toInt(str) -{ - var total = 0; - var code0 = str.charCodeAt(0); - var start = code0 == 0x2B /* + */ || code0 == 0x2D /* - */ ? 1 : 0; - - for (var i = start; i < str.length; ++i) - { - var code = str.charCodeAt(i); - if (code < 0x30 || 0x39 < code) - { - return $elm$core$Maybe$Nothing; - } - total = 10 * total + code - 0x30; - } - - return i == start - ? $elm$core$Maybe$Nothing - : $elm$core$Maybe$Just(code0 == 0x2D ? -total : total); -} - - -// FLOAT CONVERSIONS - -function _String_toFloat(s) -{ - // check if it is a hex, octal, or binary number - if (s.length === 0 || /[\sxbo]/.test(s)) - { - return $elm$core$Maybe$Nothing; - } - var n = +s; - // faster isNaN check - return n === n ? $elm$core$Maybe$Just(n) : $elm$core$Maybe$Nothing; -} - -function _String_fromList(chars) -{ - return _List_toArray(chars).join(''); -} - - - - -function _Char_toCode(char) -{ - var code = char.charCodeAt(0); - if (0xD800 <= code && code <= 0xDBFF) - { - return (code - 0xD800) * 0x400 + char.charCodeAt(1) - 0xDC00 + 0x10000 - } - return code; -} - -function _Char_fromCode(code) -{ - return _Utils_chr( - (code < 0 || 0x10FFFF < code) - ? '\uFFFD' - : - (code <= 0xFFFF) - ? String.fromCharCode(code) - : - (code -= 0x10000, - String.fromCharCode(Math.floor(code / 0x400) + 0xD800, code % 0x400 + 0xDC00) - ) - ); -} - -function _Char_toUpper(char) -{ - return _Utils_chr(char.toUpperCase()); -} - -function _Char_toLower(char) -{ - return _Utils_chr(char.toLowerCase()); -} - -function _Char_toLocaleUpper(char) -{ - return _Utils_chr(char.toLocaleUpperCase()); -} - -function _Char_toLocaleLower(char) -{ - return _Utils_chr(char.toLocaleLowerCase()); -} - - - -/**_UNUSED/ -function _Json_errorToString(error) -{ - return $elm$json$Json$Decode$errorToString(error); -} -//*/ - - -// CORE DECODERS - -function _Json_succeed(msg) -{ - return { - $: 0, - a: msg - }; -} - -function _Json_fail(msg) -{ - return { - $: 1, - a: msg - }; -} - -function _Json_decodePrim(decoder) -{ - return { $: 2, b: decoder }; -} - -var _Json_decodeInt = _Json_decodePrim(function(value) { - return (typeof value !== 'number') - ? _Json_expecting('an INT', value) - : - (-2147483647 < value && value < 2147483647 && (value | 0) === value) - ? $elm$core$Result$Ok(value) - : - (isFinite(value) && !(value % 1)) - ? $elm$core$Result$Ok(value) - : _Json_expecting('an INT', value); -}); - -var _Json_decodeBool = _Json_decodePrim(function(value) { - return (typeof value === 'boolean') - ? $elm$core$Result$Ok(value) - : _Json_expecting('a BOOL', value); -}); - -var _Json_decodeFloat = _Json_decodePrim(function(value) { - return (typeof value === 'number') - ? $elm$core$Result$Ok(value) - : _Json_expecting('a FLOAT', value); -}); - -var _Json_decodeValue = _Json_decodePrim(function(value) { - return $elm$core$Result$Ok(_Json_wrap(value)); -}); - -var _Json_decodeString = _Json_decodePrim(function(value) { - return (typeof value === 'string') - ? $elm$core$Result$Ok(value) - : (value instanceof String) - ? $elm$core$Result$Ok(value + '') - : _Json_expecting('a STRING', value); -}); - -function _Json_decodeList(decoder) { return { $: 3, b: decoder }; } -function _Json_decodeArray(decoder) { return { $: 4, b: decoder }; } - -function _Json_decodeNull(value) { return { $: 5, c: value }; } - -var _Json_decodeField = F2(function(field, decoder) -{ - return { - $: 6, - d: field, - b: decoder - }; -}); - -var _Json_decodeIndex = F2(function(index, decoder) -{ - return { - $: 7, - e: index, - b: decoder - }; -}); - -function _Json_decodeKeyValuePairs(decoder) -{ - return { - $: 8, - b: decoder - }; -} - -function _Json_mapMany(f, decoders) -{ - return { - $: 9, - f: f, - g: decoders - }; -} - -var _Json_andThen = F2(function(callback, decoder) -{ - return { - $: 10, - b: decoder, - h: callback - }; -}); - -function _Json_oneOf(decoders) -{ - return { - $: 11, - g: decoders - }; -} - - -// DECODING OBJECTS - -var _Json_map1 = F2(function(f, d1) -{ - return _Json_mapMany(f, [d1]); -}); - -var _Json_map2 = F3(function(f, d1, d2) -{ - return _Json_mapMany(f, [d1, d2]); -}); - -var _Json_map3 = F4(function(f, d1, d2, d3) -{ - return _Json_mapMany(f, [d1, d2, d3]); -}); - -var _Json_map4 = F5(function(f, d1, d2, d3, d4) -{ - return _Json_mapMany(f, [d1, d2, d3, d4]); -}); - -var _Json_map5 = F6(function(f, d1, d2, d3, d4, d5) -{ - return _Json_mapMany(f, [d1, d2, d3, d4, d5]); -}); - -var _Json_map6 = F7(function(f, d1, d2, d3, d4, d5, d6) -{ - return _Json_mapMany(f, [d1, d2, d3, d4, d5, d6]); -}); - -var _Json_map7 = F8(function(f, d1, d2, d3, d4, d5, d6, d7) -{ - return _Json_mapMany(f, [d1, d2, d3, d4, d5, d6, d7]); -}); - -var _Json_map8 = F9(function(f, d1, d2, d3, d4, d5, d6, d7, d8) -{ - return _Json_mapMany(f, [d1, d2, d3, d4, d5, d6, d7, d8]); -}); - - -// DECODE - -var _Json_runOnString = F2(function(decoder, string) -{ - try - { - var value = JSON.parse(string); - return _Json_runHelp(decoder, value); - } - catch (e) - { - return $elm$core$Result$Err(A2($elm$json$Json$Decode$Failure, 'This is not valid JSON! ' + e.message, _Json_wrap(string))); - } -}); - -var _Json_run = F2(function(decoder, value) -{ - return _Json_runHelp(decoder, _Json_unwrap(value)); -}); - -function _Json_runHelp(decoder, value) -{ - switch (decoder.$) - { - case 2: - return decoder.b(value); - - case 5: - return (value === null) - ? $elm$core$Result$Ok(decoder.c) - : _Json_expecting('null', value); - - case 3: - if (!_Json_isArray(value)) - { - return _Json_expecting('a LIST', value); - } - return _Json_runArrayDecoder(decoder.b, value, _List_fromArray); - - case 4: - if (!_Json_isArray(value)) - { - return _Json_expecting('an ARRAY', value); - } - return _Json_runArrayDecoder(decoder.b, value, _Json_toElmArray); - - case 6: - var field = decoder.d; - if (typeof value !== 'object' || value === null || !(field in value)) - { - return _Json_expecting('an OBJECT with a field named `' + field + '`', value); - } - var result = _Json_runHelp(decoder.b, value[field]); - return ($elm$core$Result$isOk(result)) ? result : $elm$core$Result$Err(A2($elm$json$Json$Decode$Field, field, result.a)); - - case 7: - var index = decoder.e; - if (!_Json_isArray(value)) - { - return _Json_expecting('an ARRAY', value); - } - if (index >= value.length) - { - return _Json_expecting('a LONGER array. Need index ' + index + ' but only see ' + value.length + ' entries', value); - } - var result = _Json_runHelp(decoder.b, value[index]); - return ($elm$core$Result$isOk(result)) ? result : $elm$core$Result$Err(A2($elm$json$Json$Decode$Index, index, result.a)); - - case 8: - if (typeof value !== 'object' || value === null || _Json_isArray(value)) - { - return _Json_expecting('an OBJECT', value); - } - - var keyValuePairs = _List_Nil; - // TODO test perf of Object.keys and switch when support is good enough - for (var key in value) - { - if (value.hasOwnProperty(key)) - { - var result = _Json_runHelp(decoder.b, value[key]); - if (!$elm$core$Result$isOk(result)) - { - return $elm$core$Result$Err(A2($elm$json$Json$Decode$Field, key, result.a)); - } - keyValuePairs = _List_Cons(_Utils_Tuple2(key, result.a), keyValuePairs); - } - } - return $elm$core$Result$Ok($elm$core$List$reverse(keyValuePairs)); - - case 9: - var answer = decoder.f; - var decoders = decoder.g; - for (var i = 0; i < decoders.length; i++) - { - var result = _Json_runHelp(decoders[i], value); - if (!$elm$core$Result$isOk(result)) - { - return result; - } - answer = answer(result.a); - } - return $elm$core$Result$Ok(answer); - - case 10: - var result = _Json_runHelp(decoder.b, value); - return (!$elm$core$Result$isOk(result)) - ? result - : _Json_runHelp(decoder.h(result.a), value); - - case 11: - var errors = _List_Nil; - for (var temp = decoder.g; temp.b; temp = temp.b) // WHILE_CONS - { - var result = _Json_runHelp(temp.a, value); - if ($elm$core$Result$isOk(result)) - { - return result; - } - errors = _List_Cons(result.a, errors); - } - return $elm$core$Result$Err($elm$json$Json$Decode$OneOf($elm$core$List$reverse(errors))); - - case 1: - return $elm$core$Result$Err(A2($elm$json$Json$Decode$Failure, decoder.a, _Json_wrap(value))); - - case 0: - return $elm$core$Result$Ok(decoder.a); - } -} - -function _Json_runArrayDecoder(decoder, value, toElmValue) -{ - var len = value.length; - var array = new Array(len); - for (var i = 0; i < len; i++) - { - var result = _Json_runHelp(decoder, value[i]); - if (!$elm$core$Result$isOk(result)) - { - return $elm$core$Result$Err(A2($elm$json$Json$Decode$Index, i, result.a)); - } - array[i] = result.a; - } - return $elm$core$Result$Ok(toElmValue(array)); -} - -function _Json_isArray(value) -{ - return Array.isArray(value) || (typeof FileList !== 'undefined' && value instanceof FileList); -} - -function _Json_toElmArray(array) -{ - return A2($elm$core$Array$initialize, array.length, function(i) { return array[i]; }); -} - -function _Json_expecting(type, value) -{ - return $elm$core$Result$Err(A2($elm$json$Json$Decode$Failure, 'Expecting ' + type, _Json_wrap(value))); -} - - -// EQUALITY - -function _Json_equality(x, y) -{ - if (x === y) - { - return true; - } - - if (x.$ !== y.$) - { - return false; - } - - switch (x.$) - { - case 0: - case 1: - return x.a === y.a; - - case 2: - return x.b === y.b; - - case 5: - return x.c === y.c; - - case 3: - case 4: - case 8: - return _Json_equality(x.b, y.b); - - case 6: - return x.d === y.d && _Json_equality(x.b, y.b); - - case 7: - return x.e === y.e && _Json_equality(x.b, y.b); - - case 9: - return x.f === y.f && _Json_listEquality(x.g, y.g); - - case 10: - return x.h === y.h && _Json_equality(x.b, y.b); - - case 11: - return _Json_listEquality(x.g, y.g); - } -} - -function _Json_listEquality(aDecoders, bDecoders) -{ - var len = aDecoders.length; - if (len !== bDecoders.length) - { - return false; - } - for (var i = 0; i < len; i++) - { - if (!_Json_equality(aDecoders[i], bDecoders[i])) - { - return false; - } - } - return true; -} - - -// ENCODE - -var _Json_encode = F2(function(indentLevel, value) -{ - return JSON.stringify(_Json_unwrap(value), null, indentLevel) + ''; -}); - -function _Json_wrap_UNUSED(value) { return { $: 0, a: value }; } -function _Json_unwrap_UNUSED(value) { return value.a; } - -function _Json_wrap(value) { return value; } -function _Json_unwrap(value) { return value; } - -function _Json_emptyArray() { return []; } -function _Json_emptyObject() { return {}; } - -var _Json_addField = F3(function(key, value, object) -{ - object[key] = _Json_unwrap(value); - return object; -}); - -function _Json_addEntry(func) -{ - return F2(function(entry, array) - { - array.push(_Json_unwrap(func(entry))); - return array; - }); -} - -var _Json_encodeNull = _Json_wrap(null); - - - -// TASKS - -function _Scheduler_succeed(value) -{ - return { - $: 0, - a: value - }; -} - -function _Scheduler_fail(error) -{ - return { - $: 1, - a: error - }; -} - -function _Scheduler_binding(callback) -{ - return { - $: 2, - b: callback, - c: null - }; -} - -var _Scheduler_andThen = F2(function(callback, task) -{ - return { - $: 3, - b: callback, - d: task - }; -}); - -var _Scheduler_onError = F2(function(callback, task) -{ - return { - $: 4, - b: callback, - d: task - }; -}); - -function _Scheduler_receive(callback) -{ - return { - $: 5, - b: callback - }; -} - - -// PROCESSES - -var _Scheduler_guid = 0; - -function _Scheduler_rawSpawn(task) -{ - var proc = { - $: 0, - e: _Scheduler_guid++, - f: task, - g: null, - h: [] - }; - - _Scheduler_enqueue(proc); - - return proc; -} - -function _Scheduler_spawn(task) -{ - return _Scheduler_binding(function(callback) { - callback(_Scheduler_succeed(_Scheduler_rawSpawn(task))); - }); -} - -function _Scheduler_rawSend(proc, msg) -{ - proc.h.push(msg); - _Scheduler_enqueue(proc); -} - -var _Scheduler_send = F2(function(proc, msg) -{ - return _Scheduler_binding(function(callback) { - _Scheduler_rawSend(proc, msg); - callback(_Scheduler_succeed(_Utils_Tuple0)); - }); -}); - -function _Scheduler_kill(proc) -{ - return _Scheduler_binding(function(callback) { - var task = proc.f; - if (task.$ === 2 && task.c) - { - task.c(); - } - - proc.f = null; - - callback(_Scheduler_succeed(_Utils_Tuple0)); - }); -} - - -/* STEP PROCESSES - -type alias Process = - { $ : tag - , id : unique_id - , root : Task - , stack : null | { $: SUCCEED | FAIL, a: callback, b: stack } - , mailbox : [msg] - } - -*/ - - -var _Scheduler_working = false; -var _Scheduler_queue = []; - - -function _Scheduler_enqueue(proc) -{ - _Scheduler_queue.push(proc); - if (_Scheduler_working) - { - return; - } - _Scheduler_working = true; - while (proc = _Scheduler_queue.shift()) - { - _Scheduler_step(proc); - } - _Scheduler_working = false; -} - - -function _Scheduler_step(proc) -{ - while (proc.f) - { - var rootTag = proc.f.$; - if (rootTag === 0 || rootTag === 1) - { - while (proc.g && proc.g.$ !== rootTag) - { - proc.g = proc.g.i; - } - if (!proc.g) - { - return; - } - proc.f = proc.g.b(proc.f.a); - proc.g = proc.g.i; - } - else if (rootTag === 2) - { - proc.f.c = proc.f.b(function(newRoot) { - proc.f = newRoot; - _Scheduler_enqueue(proc); - }); - return; - } - else if (rootTag === 5) - { - if (proc.h.length === 0) - { - return; - } - proc.f = proc.f.b(proc.h.shift()); - } - else // if (rootTag === 3 || rootTag === 4) - { - proc.g = { - $: rootTag === 3 ? 0 : 1, - b: proc.f.b, - i: proc.g - }; - proc.f = proc.f.d; - } - } -} - - - -function _Process_sleep(time) -{ - return _Scheduler_binding(function(callback) { - var id = setTimeout(function() { - callback(_Scheduler_succeed(_Utils_Tuple0)); - }, time); - - return function() { clearTimeout(id); }; - }); -} - - - - -// PROGRAMS - - -var _Platform_worker = F4(function(impl, flagDecoder, debugMetadata, args) -{ - return _Platform_initialize( - flagDecoder, - args, - impl.cB, - impl.cU, - impl.cR, - function() { return function() {} } - ); -}); - - - -// INITIALIZE A PROGRAM - - -function _Platform_initialize(flagDecoder, args, init, update, subscriptions, stepperBuilder) -{ - var result = A2(_Json_run, flagDecoder, _Json_wrap(args ? args['flags'] : undefined)); - $elm$core$Result$isOk(result) || _Debug_crash(2 /**_UNUSED/, _Json_errorToString(result.a) /**/); - var managers = {}; - var initPair = init(result.a); - var model = initPair.a; - var stepper = stepperBuilder(sendToApp, model); - var ports = _Platform_setupEffects(managers, sendToApp); - - function sendToApp(msg, viewMetadata) - { - var pair = A2(update, msg, model); - stepper(model = pair.a, viewMetadata); - _Platform_enqueueEffects(managers, pair.b, subscriptions(model)); - } - - _Platform_enqueueEffects(managers, initPair.b, subscriptions(model)); - - return ports ? { ports: ports } : {}; -} - - - -// TRACK PRELOADS -// -// This is used by code in elm/browser and elm/http -// to register any HTTP requests that are triggered by init. -// - - -var _Platform_preload; - - -function _Platform_registerPreload(url) -{ - _Platform_preload.add(url); -} - - - -// EFFECT MANAGERS - - -var _Platform_effectManagers = {}; - - -function _Platform_setupEffects(managers, sendToApp) -{ - var ports; - - // setup all necessary effect managers - for (var key in _Platform_effectManagers) - { - var manager = _Platform_effectManagers[key]; - - if (manager.a) - { - ports = ports || {}; - ports[key] = manager.a(key, sendToApp); - } - - managers[key] = _Platform_instantiateManager(manager, sendToApp); - } - - return ports; -} - - -function _Platform_createManager(init, onEffects, onSelfMsg, cmdMap, subMap) -{ - return { - b: init, - c: onEffects, - d: onSelfMsg, - e: cmdMap, - f: subMap - }; -} - - -function _Platform_instantiateManager(info, sendToApp) -{ - var router = { - g: sendToApp, - h: undefined - }; - - var onEffects = info.c; - var onSelfMsg = info.d; - var cmdMap = info.e; - var subMap = info.f; - - function loop(state) - { - return A2(_Scheduler_andThen, loop, _Scheduler_receive(function(msg) - { - var value = msg.a; - - if (msg.$ === 0) - { - return A3(onSelfMsg, router, value, state); - } - - return cmdMap && subMap - ? A4(onEffects, router, value.i, value.j, state) - : A3(onEffects, router, cmdMap ? value.i : value.j, state); - })); - } - - return router.h = _Scheduler_rawSpawn(A2(_Scheduler_andThen, loop, info.b)); -} - - - -// ROUTING - - -var _Platform_sendToApp = F2(function(router, msg) -{ - return _Scheduler_binding(function(callback) - { - router.g(msg); - callback(_Scheduler_succeed(_Utils_Tuple0)); - }); -}); - - -var _Platform_sendToSelf = F2(function(router, msg) -{ - return A2(_Scheduler_send, router.h, { - $: 0, - a: msg - }); -}); - - - -// BAGS - - -function _Platform_leaf(home) -{ - return function(value) - { - return { - $: 1, - k: home, - l: value - }; - }; -} - - -function _Platform_batch(list) -{ - return { - $: 2, - m: list - }; -} - - -var _Platform_map = F2(function(tagger, bag) -{ - return { - $: 3, - n: tagger, - o: bag - } -}); - - - -// PIPE BAGS INTO EFFECT MANAGERS -// -// Effects must be queued! -// -// Say your init contains a synchronous command, like Time.now or Time.here -// -// - This will produce a batch of effects (FX_1) -// - The synchronous task triggers the subsequent `update` call -// - This will produce a batch of effects (FX_2) -// -// If we just start dispatching FX_2, subscriptions from FX_2 can be processed -// before subscriptions from FX_1. No good! Earlier versions of this code had -// this problem, leading to these reports: -// -// https://github.com/elm/core/issues/980 -// https://github.com/elm/core/pull/981 -// https://github.com/elm/compiler/issues/1776 -// -// The queue is necessary to avoid ordering issues for synchronous commands. - - -// Why use true/false here? Why not just check the length of the queue? -// The goal is to detect "are we currently dispatching effects?" If we -// are, we need to bail and let the ongoing while loop handle things. -// -// Now say the queue has 1 element. When we dequeue the final element, -// the queue will be empty, but we are still actively dispatching effects. -// So you could get queue jumping in a really tricky category of cases. -// -var _Platform_effectsQueue = []; -var _Platform_effectsActive = false; - - -function _Platform_enqueueEffects(managers, cmdBag, subBag) -{ - _Platform_effectsQueue.push({ p: managers, q: cmdBag, r: subBag }); - - if (_Platform_effectsActive) return; - - _Platform_effectsActive = true; - for (var fx; fx = _Platform_effectsQueue.shift(); ) - { - _Platform_dispatchEffects(fx.p, fx.q, fx.r); - } - _Platform_effectsActive = false; -} - - -function _Platform_dispatchEffects(managers, cmdBag, subBag) -{ - var effectsDict = {}; - _Platform_gatherEffects(true, cmdBag, effectsDict, null); - _Platform_gatherEffects(false, subBag, effectsDict, null); - - for (var home in managers) - { - _Scheduler_rawSend(managers[home], { - $: 'fx', - a: effectsDict[home] || { i: _List_Nil, j: _List_Nil } - }); - } -} - - -function _Platform_gatherEffects(isCmd, bag, effectsDict, taggers) -{ - switch (bag.$) - { - case 1: - var home = bag.k; - var effect = _Platform_toEffect(isCmd, home, taggers, bag.l); - effectsDict[home] = _Platform_insert(isCmd, effect, effectsDict[home]); - return; - - case 2: - for (var list = bag.m; list.b; list = list.b) // WHILE_CONS - { - _Platform_gatherEffects(isCmd, list.a, effectsDict, taggers); - } - return; - - case 3: - _Platform_gatherEffects(isCmd, bag.o, effectsDict, { - s: bag.n, - t: taggers - }); - return; - } -} - - -function _Platform_toEffect(isCmd, home, taggers, value) -{ - function applyTaggers(x) - { - for (var temp = taggers; temp; temp = temp.t) - { - x = temp.s(x); - } - return x; - } - - var map = isCmd - ? _Platform_effectManagers[home].e - : _Platform_effectManagers[home].f; - - return A2(map, applyTaggers, value) -} - - -function _Platform_insert(isCmd, newEffect, effects) -{ - effects = effects || { i: _List_Nil, j: _List_Nil }; - - isCmd - ? (effects.i = _List_Cons(newEffect, effects.i)) - : (effects.j = _List_Cons(newEffect, effects.j)); - - return effects; -} - - - -// PORTS - - -function _Platform_checkPortName(name) -{ - if (_Platform_effectManagers[name]) - { - _Debug_crash(3, name) - } -} - - - -// OUTGOING PORTS - - -function _Platform_outgoingPort(name, converter) -{ - _Platform_checkPortName(name); - _Platform_effectManagers[name] = { - e: _Platform_outgoingPortMap, - u: converter, - a: _Platform_setupOutgoingPort - }; - return _Platform_leaf(name); -} - - -var _Platform_outgoingPortMap = F2(function(tagger, value) { return value; }); - - -function _Platform_setupOutgoingPort(name) -{ - var subs = []; - var converter = _Platform_effectManagers[name].u; - - // CREATE MANAGER - - var init = _Process_sleep(0); - - _Platform_effectManagers[name].b = init; - _Platform_effectManagers[name].c = F3(function(router, cmdList, state) - { - for ( ; cmdList.b; cmdList = cmdList.b) // WHILE_CONS - { - // grab a separate reference to subs in case unsubscribe is called - var currentSubs = subs; - var value = _Json_unwrap(converter(cmdList.a)); - for (var i = 0; i < currentSubs.length; i++) - { - currentSubs[i](value); - } - } - return init; - }); - - // PUBLIC API - - function subscribe(callback) - { - subs.push(callback); - } - - function unsubscribe(callback) - { - // copy subs into a new array in case unsubscribe is called within a - // subscribed callback - subs = subs.slice(); - var index = subs.indexOf(callback); - if (index >= 0) - { - subs.splice(index, 1); - } - } - - return { - subscribe: subscribe, - unsubscribe: unsubscribe - }; -} - - - -// INCOMING PORTS - - -function _Platform_incomingPort(name, converter) -{ - _Platform_checkPortName(name); - _Platform_effectManagers[name] = { - f: _Platform_incomingPortMap, - u: converter, - a: _Platform_setupIncomingPort - }; - return _Platform_leaf(name); -} - - -var _Platform_incomingPortMap = F2(function(tagger, finalTagger) -{ - return function(value) - { - return tagger(finalTagger(value)); - }; -}); - - -function _Platform_setupIncomingPort(name, sendToApp) -{ - var subs = _List_Nil; - var converter = _Platform_effectManagers[name].u; - - // CREATE MANAGER - - var init = _Scheduler_succeed(null); - - _Platform_effectManagers[name].b = init; - _Platform_effectManagers[name].c = F3(function(router, subList, state) - { - subs = subList; - return init; - }); - - // PUBLIC API - - function send(incomingValue) - { - var result = A2(_Json_run, converter, _Json_wrap(incomingValue)); - - $elm$core$Result$isOk(result) || _Debug_crash(4, name, result.a); - - var value = result.a; - for (var temp = subs; temp.b; temp = temp.b) // WHILE_CONS - { - sendToApp(temp.a(value)); - } - } - - return { send: send }; -} - - - -// EXPORT ELM MODULES -// -// Have DEBUG and PROD versions so that we can (1) give nicer errors in -// debug mode and (2) not pay for the bits needed for that in prod mode. -// - - -function _Platform_export(exports) -{ - scope['Elm'] - ? _Platform_mergeExportsProd(scope['Elm'], exports) - : scope['Elm'] = exports; -} - - -function _Platform_mergeExportsProd(obj, exports) -{ - for (var name in exports) - { - (name in obj) - ? (name == 'init') - ? _Debug_crash(6) - : _Platform_mergeExportsProd(obj[name], exports[name]) - : (obj[name] = exports[name]); - } -} - - -function _Platform_export_UNUSED(exports) -{ - scope['Elm'] - ? _Platform_mergeExportsDebug('Elm', scope['Elm'], exports) - : scope['Elm'] = exports; -} - - -function _Platform_mergeExportsDebug(moduleName, obj, exports) -{ - for (var name in exports) - { - (name in obj) - ? (name == 'init') - ? _Debug_crash(6, moduleName) - : _Platform_mergeExportsDebug(moduleName + '.' + name, obj[name], exports[name]) - : (obj[name] = exports[name]); - } -} - - - - -// HELPERS - - -var _VirtualDom_divertHrefToApp; - -var _VirtualDom_doc = typeof document !== 'undefined' ? document : {}; - - -function _VirtualDom_appendChild(parent, child) -{ - parent.appendChild(child); -} - -var _VirtualDom_init = F4(function(virtualNode, flagDecoder, debugMetadata, args) -{ - // NOTE: this function needs _Platform_export available to work - - /**/ - var node = args['node']; - //*/ - /**_UNUSED/ - var node = args && args['node'] ? args['node'] : _Debug_crash(0); - //*/ - - node.parentNode.replaceChild( - _VirtualDom_render(virtualNode, function() {}), - node - ); - - return {}; -}); - - - -// TEXT - - -function _VirtualDom_text(string) -{ - return { - $: 0, - a: string - }; -} - - - -// NODE - - -var _VirtualDom_nodeNS = F2(function(namespace, tag) -{ - return F2(function(factList, kidList) - { - for (var kids = [], descendantsCount = 0; kidList.b; kidList = kidList.b) // WHILE_CONS - { - var kid = kidList.a; - descendantsCount += (kid.b || 0); - kids.push(kid); - } - descendantsCount += kids.length; - - return { - $: 1, - c: tag, - d: _VirtualDom_organizeFacts(factList), - e: kids, - f: namespace, - b: descendantsCount - }; - }); -}); - - -var _VirtualDom_node = _VirtualDom_nodeNS(undefined); - - - -// KEYED NODE - - -var _VirtualDom_keyedNodeNS = F2(function(namespace, tag) -{ - return F2(function(factList, kidList) - { - for (var kids = [], descendantsCount = 0; kidList.b; kidList = kidList.b) // WHILE_CONS - { - var kid = kidList.a; - descendantsCount += (kid.b.b || 0); - kids.push(kid); - } - descendantsCount += kids.length; - - return { - $: 2, - c: tag, - d: _VirtualDom_organizeFacts(factList), - e: kids, - f: namespace, - b: descendantsCount - }; - }); -}); - - -var _VirtualDom_keyedNode = _VirtualDom_keyedNodeNS(undefined); - - - -// CUSTOM - - -function _VirtualDom_custom(factList, model, render, diff) -{ - return { - $: 3, - d: _VirtualDom_organizeFacts(factList), - g: model, - h: render, - i: diff - }; -} - - - -// MAP - - -var _VirtualDom_map = F2(function(tagger, node) -{ - return { - $: 4, - j: tagger, - k: node, - b: 1 + (node.b || 0) - }; -}); - - - -// LAZY - - -function _VirtualDom_thunk(refs, thunk) -{ - return { - $: 5, - l: refs, - m: thunk, - k: undefined - }; -} - -var _VirtualDom_lazy = F2(function(func, a) -{ - return _VirtualDom_thunk([func, a], function() { - return func(a); - }); -}); - -var _VirtualDom_lazy2 = F3(function(func, a, b) -{ - return _VirtualDom_thunk([func, a, b], function() { - return A2(func, a, b); - }); -}); - -var _VirtualDom_lazy3 = F4(function(func, a, b, c) -{ - return _VirtualDom_thunk([func, a, b, c], function() { - return A3(func, a, b, c); - }); -}); - -var _VirtualDom_lazy4 = F5(function(func, a, b, c, d) -{ - return _VirtualDom_thunk([func, a, b, c, d], function() { - return A4(func, a, b, c, d); - }); -}); - -var _VirtualDom_lazy5 = F6(function(func, a, b, c, d, e) -{ - return _VirtualDom_thunk([func, a, b, c, d, e], function() { - return A5(func, a, b, c, d, e); - }); -}); - -var _VirtualDom_lazy6 = F7(function(func, a, b, c, d, e, f) -{ - return _VirtualDom_thunk([func, a, b, c, d, e, f], function() { - return A6(func, a, b, c, d, e, f); - }); -}); - -var _VirtualDom_lazy7 = F8(function(func, a, b, c, d, e, f, g) -{ - return _VirtualDom_thunk([func, a, b, c, d, e, f, g], function() { - return A7(func, a, b, c, d, e, f, g); - }); -}); - -var _VirtualDom_lazy8 = F9(function(func, a, b, c, d, e, f, g, h) -{ - return _VirtualDom_thunk([func, a, b, c, d, e, f, g, h], function() { - return A8(func, a, b, c, d, e, f, g, h); - }); -}); - - - -// FACTS - - -var _VirtualDom_on = F2(function(key, handler) -{ - return { - $: 'a0', - n: key, - o: handler - }; -}); -var _VirtualDom_style = F2(function(key, value) -{ - return { - $: 'a1', - n: key, - o: value - }; -}); -var _VirtualDom_property = F2(function(key, value) -{ - return { - $: 'a2', - n: key, - o: value - }; -}); -var _VirtualDom_attribute = F2(function(key, value) -{ - return { - $: 'a3', - n: key, - o: value - }; -}); -var _VirtualDom_attributeNS = F3(function(namespace, key, value) -{ - return { - $: 'a4', - n: key, - o: { f: namespace, o: value } - }; -}); - - - -// XSS ATTACK VECTOR CHECKS -// -// For some reason, tabs can appear in href protocols and it still works. -// So '\tjava\tSCRIPT:alert("!!!")' and 'javascript:alert("!!!")' are the same -// in practice. That is why _VirtualDom_RE_js and _VirtualDom_RE_js_html look -// so freaky. -// -// Pulling the regular expressions out to the top level gives a slight speed -// boost in small benchmarks (4-10%) but hoisting values to reduce allocation -// can be unpredictable in large programs where JIT may have a harder time with -// functions are not fully self-contained. The benefit is more that the js and -// js_html ones are so weird that I prefer to see them near each other. - - -var _VirtualDom_RE_script = /^script$/i; -var _VirtualDom_RE_on_formAction = /^(on|formAction$)/i; -var _VirtualDom_RE_js = /^\s*j\s*a\s*v\s*a\s*s\s*c\s*r\s*i\s*p\s*t\s*:/i; -var _VirtualDom_RE_js_html = /^\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 _VirtualDom_noScript(tag) -{ - return _VirtualDom_RE_script.test(tag) ? 'p' : tag; -} - -function _VirtualDom_noOnOrFormAction(key) -{ - return _VirtualDom_RE_on_formAction.test(key) ? 'data-' + key : key; -} - -function _VirtualDom_noInnerHtmlOrFormAction(key) -{ - return key == 'innerHTML' || key == 'formAction' ? 'data-' + key : key; -} - -function _VirtualDom_noJavaScriptUri(value) -{ - return _VirtualDom_RE_js.test(value) - ? /**/''//*//**_UNUSED/'javascript:alert("This is an XSS vector. Please use ports or web components instead.")'//*/ - : value; -} - -function _VirtualDom_noJavaScriptOrHtmlUri(value) -{ - return _VirtualDom_RE_js_html.test(value) - ? /**/''//*//**_UNUSED/'javascript:alert("This is an XSS vector. Please use ports or web components instead.")'//*/ - : value; -} - -function _VirtualDom_noJavaScriptOrHtmlJson(value) -{ - return (typeof _Json_unwrap(value) === 'string' && _VirtualDom_RE_js_html.test(_Json_unwrap(value))) - ? _Json_wrap( - /**/''//*//**_UNUSED/'javascript:alert("This is an XSS vector. Please use ports or web components instead.")'//*/ - ) : value; -} - - - -// MAP FACTS - - -var _VirtualDom_mapAttribute = F2(function(func, attr) -{ - return (attr.$ === 'a0') - ? A2(_VirtualDom_on, attr.n, _VirtualDom_mapHandler(func, attr.o)) - : attr; -}); - -function _VirtualDom_mapHandler(func, handler) -{ - var tag = $elm$virtual_dom$VirtualDom$toHandlerInt(handler); - - // 0 = Normal - // 1 = MayStopPropagation - // 2 = MayPreventDefault - // 3 = Custom - - return { - $: handler.$, - a: - !tag - ? A2($elm$json$Json$Decode$map, func, handler.a) - : - A3($elm$json$Json$Decode$map2, - tag < 3 - ? _VirtualDom_mapEventTuple - : _VirtualDom_mapEventRecord, - $elm$json$Json$Decode$succeed(func), - handler.a - ) - }; -} - -var _VirtualDom_mapEventTuple = F2(function(func, tuple) -{ - return _Utils_Tuple2(func(tuple.a), tuple.b); -}); - -var _VirtualDom_mapEventRecord = F2(function(func, record) -{ - return { - I: func(record.I), - bp: record.bp, - bk: record.bk - } -}); - - - -// ORGANIZE FACTS - - -function _VirtualDom_organizeFacts(factList) -{ - for (var facts = {}; factList.b; factList = factList.b) // WHILE_CONS - { - var entry = factList.a; - - var tag = entry.$; - var key = entry.n; - var value = entry.o; - - if (tag === 'a2') - { - (key === 'className') - ? _VirtualDom_addClass(facts, key, _Json_unwrap(value)) - : facts[key] = _Json_unwrap(value); - - continue; - } - - var subFacts = facts[tag] || (facts[tag] = {}); - (tag === 'a3' && key === 'class') - ? _VirtualDom_addClass(subFacts, key, value) - : subFacts[key] = value; - } - - return facts; -} - -function _VirtualDom_addClass(object, key, newClass) -{ - var classes = object[key]; - object[key] = classes ? classes + ' ' + newClass : newClass; -} - - - -// RENDER - - -function _VirtualDom_render(vNode, eventNode) -{ - var tag = vNode.$; - - if (tag === 5) - { - return _VirtualDom_render(vNode.k || (vNode.k = vNode.m()), eventNode); - } - - if (tag === 0) - { - return _VirtualDom_doc.createTextNode(vNode.a); - } - - if (tag === 4) - { - var subNode = vNode.k; - var tagger = vNode.j; - - while (subNode.$ === 4) - { - typeof tagger !== 'object' - ? tagger = [tagger, subNode.j] - : tagger.push(subNode.j); - - subNode = subNode.k; - } - - var subEventRoot = { j: tagger, p: eventNode }; - var domNode = _VirtualDom_render(subNode, subEventRoot); - domNode.elm_event_node_ref = subEventRoot; - return domNode; - } - - if (tag === 3) - { - var domNode = vNode.h(vNode.g); - _VirtualDom_applyFacts(domNode, eventNode, vNode.d); - return domNode; - } - - // at this point `tag` must be 1 or 2 - - var domNode = vNode.f - ? _VirtualDom_doc.createElementNS(vNode.f, vNode.c) - : _VirtualDom_doc.createElement(vNode.c); - - if (_VirtualDom_divertHrefToApp && vNode.c == 'a') - { - domNode.addEventListener('click', _VirtualDom_divertHrefToApp(domNode)); - } - - _VirtualDom_applyFacts(domNode, eventNode, vNode.d); - - for (var kids = vNode.e, i = 0; i < kids.length; i++) - { - _VirtualDom_appendChild(domNode, _VirtualDom_render(tag === 1 ? kids[i] : kids[i].b, eventNode)); - } - - return domNode; -} - - - -// APPLY FACTS - - -function _VirtualDom_applyFacts(domNode, eventNode, facts) -{ - for (var key in facts) - { - var value = facts[key]; - - key === 'a1' - ? _VirtualDom_applyStyles(domNode, value) - : - key === 'a0' - ? _VirtualDom_applyEvents(domNode, eventNode, value) - : - key === 'a3' - ? _VirtualDom_applyAttrs(domNode, value) - : - key === 'a4' - ? _VirtualDom_applyAttrsNS(domNode, value) - : - ((key !== 'value' && key !== 'checked') || domNode[key] !== value) && (domNode[key] = value); - } -} - - - -// APPLY STYLES - - -function _VirtualDom_applyStyles(domNode, styles) -{ - var domNodeStyle = domNode.style; - - for (var key in styles) - { - domNodeStyle[key] = styles[key]; - } -} - - - -// APPLY ATTRS - - -function _VirtualDom_applyAttrs(domNode, attrs) -{ - for (var key in attrs) - { - var value = attrs[key]; - typeof value !== 'undefined' - ? domNode.setAttribute(key, value) - : domNode.removeAttribute(key); - } -} - - - -// APPLY NAMESPACED ATTRS - - -function _VirtualDom_applyAttrsNS(domNode, nsAttrs) -{ - for (var key in nsAttrs) - { - var pair = nsAttrs[key]; - var namespace = pair.f; - var value = pair.o; - - typeof value !== 'undefined' - ? domNode.setAttributeNS(namespace, key, value) - : domNode.removeAttributeNS(namespace, key); - } -} - - - -// APPLY EVENTS - - -function _VirtualDom_applyEvents(domNode, eventNode, events) -{ - var allCallbacks = domNode.elmFs || (domNode.elmFs = {}); - - for (var key in events) - { - var newHandler = events[key]; - var oldCallback = allCallbacks[key]; - - if (!newHandler) - { - domNode.removeEventListener(key, oldCallback); - allCallbacks[key] = undefined; - continue; - } - - if (oldCallback) - { - var oldHandler = oldCallback.q; - if (oldHandler.$ === newHandler.$) - { - oldCallback.q = newHandler; - continue; - } - domNode.removeEventListener(key, oldCallback); - } - - oldCallback = _VirtualDom_makeCallback(eventNode, newHandler); - domNode.addEventListener(key, oldCallback, - _VirtualDom_passiveSupported - && { passive: $elm$virtual_dom$VirtualDom$toHandlerInt(newHandler) < 2 } - ); - allCallbacks[key] = oldCallback; - } -} - - - -// PASSIVE EVENTS - - -var _VirtualDom_passiveSupported; - -try -{ - window.addEventListener('t', null, Object.defineProperty({}, 'passive', { - get: function() { _VirtualDom_passiveSupported = true; } - })); -} -catch(e) {} - - - -// EVENT HANDLERS - - -function _VirtualDom_makeCallback(eventNode, initialHandler) -{ - function callback(event) - { - var handler = callback.q; - var result = _Json_runHelp(handler.a, event); - - if (!$elm$core$Result$isOk(result)) - { - return; - } - - var tag = $elm$virtual_dom$VirtualDom$toHandlerInt(handler); - - // 0 = Normal - // 1 = MayStopPropagation - // 2 = MayPreventDefault - // 3 = Custom - - var value = result.a; - var message = !tag ? value : tag < 3 ? value.a : value.I; - var stopPropagation = tag == 1 ? value.b : tag == 3 && value.bp; - var currentEventNode = ( - stopPropagation && event.stopPropagation(), - (tag == 2 ? value.b : tag == 3 && value.bk) && event.preventDefault(), - eventNode - ); - var tagger; - var i; - while (tagger = currentEventNode.j) - { - if (typeof tagger == 'function') - { - message = tagger(message); - } - else - { - for (var i = tagger.length; i--; ) - { - message = tagger[i](message); - } - } - currentEventNode = currentEventNode.p; - } - currentEventNode(message, stopPropagation); // stopPropagation implies isSync - } - - callback.q = initialHandler; - - return callback; -} - -function _VirtualDom_equalEvents(x, y) -{ - return x.$ == y.$ && _Json_equality(x.a, y.a); -} - - - -// DIFF - - -// TODO: Should we do patches like in iOS? -// -// type Patch -// = At Int Patch -// | Batch (List Patch) -// | Change ... -// -// How could it not be better? -// -function _VirtualDom_diff(x, y) -{ - var patches = []; - _VirtualDom_diffHelp(x, y, patches, 0); - return patches; -} - - -function _VirtualDom_pushPatch(patches, type, index, data) -{ - var patch = { - $: type, - r: index, - s: data, - t: undefined, - u: undefined - }; - patches.push(patch); - return patch; -} - - -function _VirtualDom_diffHelp(x, y, patches, index) -{ - if (x === y) - { - return; - } - - var xType = x.$; - var yType = y.$; - - // Bail if you run into different types of nodes. Implies that the - // structure has changed significantly and it's not worth a diff. - if (xType !== yType) - { - if (xType === 1 && yType === 2) - { - y = _VirtualDom_dekey(y); - yType = 1; - } - else - { - _VirtualDom_pushPatch(patches, 0, index, y); - return; - } - } - - // Now we know that both nodes are the same $. - switch (yType) - { - case 5: - var xRefs = x.l; - var yRefs = y.l; - var i = xRefs.length; - var same = i === yRefs.length; - while (same && i--) - { - same = xRefs[i] === yRefs[i]; - } - if (same) - { - y.k = x.k; - return; - } - y.k = y.m(); - var subPatches = []; - _VirtualDom_diffHelp(x.k, y.k, subPatches, 0); - subPatches.length > 0 && _VirtualDom_pushPatch(patches, 1, index, subPatches); - return; - - case 4: - // gather nested taggers - var xTaggers = x.j; - var yTaggers = y.j; - var nesting = false; - - var xSubNode = x.k; - while (xSubNode.$ === 4) - { - nesting = true; - - typeof xTaggers !== 'object' - ? xTaggers = [xTaggers, xSubNode.j] - : xTaggers.push(xSubNode.j); - - xSubNode = xSubNode.k; - } - - var ySubNode = y.k; - while (ySubNode.$ === 4) - { - nesting = true; - - typeof yTaggers !== 'object' - ? yTaggers = [yTaggers, ySubNode.j] - : yTaggers.push(ySubNode.j); - - ySubNode = ySubNode.k; - } - - // Just bail if different numbers of taggers. This implies the - // structure of the virtual DOM has changed. - if (nesting && xTaggers.length !== yTaggers.length) - { - _VirtualDom_pushPatch(patches, 0, index, y); - return; - } - - // check if taggers are "the same" - if (nesting ? !_VirtualDom_pairwiseRefEqual(xTaggers, yTaggers) : xTaggers !== yTaggers) - { - _VirtualDom_pushPatch(patches, 2, index, yTaggers); - } - - // diff everything below the taggers - _VirtualDom_diffHelp(xSubNode, ySubNode, patches, index + 1); - return; - - case 0: - if (x.a !== y.a) - { - _VirtualDom_pushPatch(patches, 3, index, y.a); - } - return; - - case 1: - _VirtualDom_diffNodes(x, y, patches, index, _VirtualDom_diffKids); - return; - - case 2: - _VirtualDom_diffNodes(x, y, patches, index, _VirtualDom_diffKeyedKids); - return; - - case 3: - if (x.h !== y.h) - { - _VirtualDom_pushPatch(patches, 0, index, y); - return; - } - - var factsDiff = _VirtualDom_diffFacts(x.d, y.d); - factsDiff && _VirtualDom_pushPatch(patches, 4, index, factsDiff); - - var patch = y.i(x.g, y.g); - patch && _VirtualDom_pushPatch(patches, 5, index, patch); - - return; - } -} - -// assumes the incoming arrays are the same length -function _VirtualDom_pairwiseRefEqual(as, bs) -{ - for (var i = 0; i < as.length; i++) - { - if (as[i] !== bs[i]) - { - return false; - } - } - - return true; -} - -function _VirtualDom_diffNodes(x, y, patches, index, diffKids) -{ - // Bail if obvious indicators have changed. Implies more serious - // structural changes such that it's not worth it to diff. - if (x.c !== y.c || x.f !== y.f) - { - _VirtualDom_pushPatch(patches, 0, index, y); - return; - } - - var factsDiff = _VirtualDom_diffFacts(x.d, y.d); - factsDiff && _VirtualDom_pushPatch(patches, 4, index, factsDiff); - - diffKids(x, y, patches, index); -} - - - -// DIFF FACTS - - -// TODO Instead of creating a new diff object, it's possible to just test if -// there *is* a diff. During the actual patch, do the diff again and make the -// modifications directly. This way, there's no new allocations. Worth it? -function _VirtualDom_diffFacts(x, y, category) -{ - var diff; - - // look for changes and removals - for (var xKey in x) - { - if (xKey === 'a1' || xKey === 'a0' || xKey === 'a3' || xKey === 'a4') - { - var subDiff = _VirtualDom_diffFacts(x[xKey], y[xKey] || {}, xKey); - if (subDiff) - { - diff = diff || {}; - diff[xKey] = subDiff; - } - continue; - } - - // remove if not in the new facts - if (!(xKey in y)) - { - diff = diff || {}; - diff[xKey] = - !category - ? (typeof x[xKey] === 'string' ? '' : null) - : - (category === 'a1') - ? '' - : - (category === 'a0' || category === 'a3') - ? undefined - : - { f: x[xKey].f, o: undefined }; - - continue; - } - - var xValue = x[xKey]; - var yValue = y[xKey]; - - // reference equal, so don't worry about it - if (xValue === yValue && xKey !== 'value' && xKey !== 'checked' - || category === 'a0' && _VirtualDom_equalEvents(xValue, yValue)) - { - continue; - } - - diff = diff || {}; - diff[xKey] = yValue; - } - - // add new stuff - for (var yKey in y) - { - if (!(yKey in x)) - { - diff = diff || {}; - diff[yKey] = y[yKey]; - } - } - - return diff; -} - - - -// DIFF KIDS - - -function _VirtualDom_diffKids(xParent, yParent, patches, index) -{ - var xKids = xParent.e; - var yKids = yParent.e; - - var xLen = xKids.length; - var yLen = yKids.length; - - // FIGURE OUT IF THERE ARE INSERTS OR REMOVALS - - if (xLen > yLen) - { - _VirtualDom_pushPatch(patches, 6, index, { - v: yLen, - i: xLen - yLen - }); - } - else if (xLen < yLen) - { - _VirtualDom_pushPatch(patches, 7, index, { - v: xLen, - e: yKids - }); - } - - // PAIRWISE DIFF EVERYTHING ELSE - - for (var minLen = xLen < yLen ? xLen : yLen, i = 0; i < minLen; i++) - { - var xKid = xKids[i]; - _VirtualDom_diffHelp(xKid, yKids[i], patches, ++index); - index += xKid.b || 0; - } -} - - - -// KEYED DIFF - - -function _VirtualDom_diffKeyedKids(xParent, yParent, patches, rootIndex) -{ - var localPatches = []; - - var changes = {}; // Dict String Entry - var inserts = []; // Array { index : Int, entry : Entry } - // type Entry = { tag : String, vnode : VNode, index : Int, data : _ } - - var xKids = xParent.e; - var yKids = yParent.e; - var xLen = xKids.length; - var yLen = yKids.length; - var xIndex = 0; - var yIndex = 0; - - var index = rootIndex; - - while (xIndex < xLen && yIndex < yLen) - { - var x = xKids[xIndex]; - var y = yKids[yIndex]; - - var xKey = x.a; - var yKey = y.a; - var xNode = x.b; - var yNode = y.b; - - var newMatch = undefined; - var oldMatch = undefined; - - // check if keys match - - if (xKey === yKey) - { - index++; - _VirtualDom_diffHelp(xNode, yNode, localPatches, index); - index += xNode.b || 0; - - xIndex++; - yIndex++; - continue; - } - - // look ahead 1 to detect insertions and removals. - - var xNext = xKids[xIndex + 1]; - var yNext = yKids[yIndex + 1]; - - if (xNext) - { - var xNextKey = xNext.a; - var xNextNode = xNext.b; - oldMatch = yKey === xNextKey; - } - - if (yNext) - { - var yNextKey = yNext.a; - var yNextNode = yNext.b; - newMatch = xKey === yNextKey; - } - - - // swap x and y - if (newMatch && oldMatch) - { - index++; - _VirtualDom_diffHelp(xNode, yNextNode, localPatches, index); - _VirtualDom_insertNode(changes, localPatches, xKey, yNode, yIndex, inserts); - index += xNode.b || 0; - - index++; - _VirtualDom_removeNode(changes, localPatches, xKey, xNextNode, index); - index += xNextNode.b || 0; - - xIndex += 2; - yIndex += 2; - continue; - } - - // insert y - if (newMatch) - { - index++; - _VirtualDom_insertNode(changes, localPatches, yKey, yNode, yIndex, inserts); - _VirtualDom_diffHelp(xNode, yNextNode, localPatches, index); - index += xNode.b || 0; - - xIndex += 1; - yIndex += 2; - continue; - } - - // remove x - if (oldMatch) - { - index++; - _VirtualDom_removeNode(changes, localPatches, xKey, xNode, index); - index += xNode.b || 0; - - index++; - _VirtualDom_diffHelp(xNextNode, yNode, localPatches, index); - index += xNextNode.b || 0; - - xIndex += 2; - yIndex += 1; - continue; - } - - // remove x, insert y - if (xNext && xNextKey === yNextKey) - { - index++; - _VirtualDom_removeNode(changes, localPatches, xKey, xNode, index); - _VirtualDom_insertNode(changes, localPatches, yKey, yNode, yIndex, inserts); - index += xNode.b || 0; - - index++; - _VirtualDom_diffHelp(xNextNode, yNextNode, localPatches, index); - index += xNextNode.b || 0; - - xIndex += 2; - yIndex += 2; - continue; - } - - break; - } - - // eat up any remaining nodes with removeNode and insertNode - - while (xIndex < xLen) - { - index++; - var x = xKids[xIndex]; - var xNode = x.b; - _VirtualDom_removeNode(changes, localPatches, x.a, xNode, index); - index += xNode.b || 0; - xIndex++; - } - - while (yIndex < yLen) - { - var endInserts = endInserts || []; - var y = yKids[yIndex]; - _VirtualDom_insertNode(changes, localPatches, y.a, y.b, undefined, endInserts); - yIndex++; - } - - if (localPatches.length > 0 || inserts.length > 0 || endInserts) - { - _VirtualDom_pushPatch(patches, 8, rootIndex, { - w: localPatches, - x: inserts, - y: endInserts - }); - } -} - - - -// CHANGES FROM KEYED DIFF - - -var _VirtualDom_POSTFIX = '_elmW6BL'; - - -function _VirtualDom_insertNode(changes, localPatches, key, vnode, yIndex, inserts) -{ - var entry = changes[key]; - - // never seen this key before - if (!entry) - { - entry = { - c: 0, - z: vnode, - r: yIndex, - s: undefined - }; - - inserts.push({ r: yIndex, A: entry }); - changes[key] = entry; - - return; - } - - // this key was removed earlier, a match! - if (entry.c === 1) - { - inserts.push({ r: yIndex, A: entry }); - - entry.c = 2; - var subPatches = []; - _VirtualDom_diffHelp(entry.z, vnode, subPatches, entry.r); - entry.r = yIndex; - entry.s.s = { - w: subPatches, - A: entry - }; - - return; - } - - // this key has already been inserted or moved, a duplicate! - _VirtualDom_insertNode(changes, localPatches, key + _VirtualDom_POSTFIX, vnode, yIndex, inserts); -} - - -function _VirtualDom_removeNode(changes, localPatches, key, vnode, index) -{ - var entry = changes[key]; - - // never seen this key before - if (!entry) - { - var patch = _VirtualDom_pushPatch(localPatches, 9, index, undefined); - - changes[key] = { - c: 1, - z: vnode, - r: index, - s: patch - }; - - return; - } - - // this key was inserted earlier, a match! - if (entry.c === 0) - { - entry.c = 2; - var subPatches = []; - _VirtualDom_diffHelp(vnode, entry.z, subPatches, index); - - _VirtualDom_pushPatch(localPatches, 9, index, { - w: subPatches, - A: entry - }); - - return; - } - - // this key has already been removed or moved, a duplicate! - _VirtualDom_removeNode(changes, localPatches, key + _VirtualDom_POSTFIX, vnode, index); -} - - - -// ADD DOM NODES -// -// Each DOM node has an "index" assigned in order of traversal. It is important -// to minimize our crawl over the actual DOM, so these indexes (along with the -// descendantsCount of virtual nodes) let us skip touching entire subtrees of -// the DOM if we know there are no patches there. - - -function _VirtualDom_addDomNodes(domNode, vNode, patches, eventNode) -{ - _VirtualDom_addDomNodesHelp(domNode, vNode, patches, 0, 0, vNode.b, eventNode); -} - - -// assumes `patches` is non-empty and indexes increase monotonically. -function _VirtualDom_addDomNodesHelp(domNode, vNode, patches, i, low, high, eventNode) -{ - var patch = patches[i]; - var index = patch.r; - - while (index === low) - { - var patchType = patch.$; - - if (patchType === 1) - { - _VirtualDom_addDomNodes(domNode, vNode.k, patch.s, eventNode); - } - else if (patchType === 8) - { - patch.t = domNode; - patch.u = eventNode; - - var subPatches = patch.s.w; - if (subPatches.length > 0) - { - _VirtualDom_addDomNodesHelp(domNode, vNode, subPatches, 0, low, high, eventNode); - } - } - else if (patchType === 9) - { - patch.t = domNode; - patch.u = eventNode; - - var data = patch.s; - if (data) - { - data.A.s = domNode; - var subPatches = data.w; - if (subPatches.length > 0) - { - _VirtualDom_addDomNodesHelp(domNode, vNode, subPatches, 0, low, high, eventNode); - } - } - } - else - { - patch.t = domNode; - patch.u = eventNode; - } - - i++; - - if (!(patch = patches[i]) || (index = patch.r) > high) - { - return i; - } - } - - var tag = vNode.$; - - if (tag === 4) - { - var subNode = vNode.k; - - while (subNode.$ === 4) - { - subNode = subNode.k; - } - - return _VirtualDom_addDomNodesHelp(domNode, subNode, patches, i, low + 1, high, domNode.elm_event_node_ref); - } - - // tag must be 1 or 2 at this point - - var vKids = vNode.e; - var childNodes = domNode.childNodes; - for (var j = 0; j < vKids.length; j++) - { - low++; - var vKid = tag === 1 ? vKids[j] : vKids[j].b; - var nextLow = low + (vKid.b || 0); - if (low <= index && index <= nextLow) - { - i = _VirtualDom_addDomNodesHelp(childNodes[j], vKid, patches, i, low, nextLow, eventNode); - if (!(patch = patches[i]) || (index = patch.r) > high) - { - return i; - } - } - low = nextLow; - } - return i; -} - - - -// APPLY PATCHES - - -function _VirtualDom_applyPatches(rootDomNode, oldVirtualNode, patches, eventNode) -{ - if (patches.length === 0) - { - return rootDomNode; - } - - _VirtualDom_addDomNodes(rootDomNode, oldVirtualNode, patches, eventNode); - return _VirtualDom_applyPatchesHelp(rootDomNode, patches); -} - -function _VirtualDom_applyPatchesHelp(rootDomNode, patches) -{ - for (var i = 0; i < patches.length; i++) - { - var patch = patches[i]; - var localDomNode = patch.t - var newNode = _VirtualDom_applyPatch(localDomNode, patch); - if (localDomNode === rootDomNode) - { - rootDomNode = newNode; - } - } - return rootDomNode; -} - -function _VirtualDom_applyPatch(domNode, patch) -{ - switch (patch.$) - { - case 0: - return _VirtualDom_applyPatchRedraw(domNode, patch.s, patch.u); - - case 4: - _VirtualDom_applyFacts(domNode, patch.u, patch.s); - return domNode; - - case 3: - domNode.replaceData(0, domNode.length, patch.s); - return domNode; - - case 1: - return _VirtualDom_applyPatchesHelp(domNode, patch.s); - - case 2: - if (domNode.elm_event_node_ref) - { - domNode.elm_event_node_ref.j = patch.s; - } - else - { - domNode.elm_event_node_ref = { j: patch.s, p: patch.u }; - } - return domNode; - - case 6: - var data = patch.s; - for (var i = 0; i < data.i; i++) - { - domNode.removeChild(domNode.childNodes[data.v]); - } - return domNode; - - case 7: - var data = patch.s; - var kids = data.e; - var i = data.v; - var theEnd = domNode.childNodes[i]; - for (; i < kids.length; i++) - { - domNode.insertBefore(_VirtualDom_render(kids[i], patch.u), theEnd); - } - return domNode; - - case 9: - var data = patch.s; - if (!data) - { - domNode.parentNode.removeChild(domNode); - return domNode; - } - var entry = data.A; - if (typeof entry.r !== 'undefined') - { - domNode.parentNode.removeChild(domNode); - } - entry.s = _VirtualDom_applyPatchesHelp(domNode, data.w); - return domNode; - - case 8: - return _VirtualDom_applyPatchReorder(domNode, patch); - - case 5: - return patch.s(domNode); - - default: - _Debug_crash(10); // 'Ran into an unknown patch!' - } -} - - -function _VirtualDom_applyPatchRedraw(domNode, vNode, eventNode) -{ - var parentNode = domNode.parentNode; - var newNode = _VirtualDom_render(vNode, eventNode); - - if (!newNode.elm_event_node_ref) - { - newNode.elm_event_node_ref = domNode.elm_event_node_ref; - } - - if (parentNode && newNode !== domNode) - { - parentNode.replaceChild(newNode, domNode); - } - return newNode; -} - - -function _VirtualDom_applyPatchReorder(domNode, patch) -{ - var data = patch.s; - - // remove end inserts - var frag = _VirtualDom_applyPatchReorderEndInsertsHelp(data.y, patch); - - // removals - domNode = _VirtualDom_applyPatchesHelp(domNode, data.w); - - // inserts - var inserts = data.x; - for (var i = 0; i < inserts.length; i++) - { - var insert = inserts[i]; - var entry = insert.A; - var node = entry.c === 2 - ? entry.s - : _VirtualDom_render(entry.z, patch.u); - domNode.insertBefore(node, domNode.childNodes[insert.r]); - } - - // add end inserts - if (frag) - { - _VirtualDom_appendChild(domNode, frag); - } - - return domNode; -} - - -function _VirtualDom_applyPatchReorderEndInsertsHelp(endInserts, patch) -{ - if (!endInserts) - { - return; - } - - var frag = _VirtualDom_doc.createDocumentFragment(); - for (var i = 0; i < endInserts.length; i++) - { - var insert = endInserts[i]; - var entry = insert.A; - _VirtualDom_appendChild(frag, entry.c === 2 - ? entry.s - : _VirtualDom_render(entry.z, patch.u) - ); - } - return frag; -} - - -function _VirtualDom_virtualize(node) -{ - // TEXT NODES - - if (node.nodeType === 3) - { - return _VirtualDom_text(node.textContent); - } - - - // WEIRD NODES - - if (node.nodeType !== 1) - { - return _VirtualDom_text(''); - } - - - // ELEMENT NODES - - var attrList = _List_Nil; - var attrs = node.attributes; - for (var i = attrs.length; i--; ) - { - var attr = attrs[i]; - var name = attr.name; - var value = attr.value; - attrList = _List_Cons( A2(_VirtualDom_attribute, name, value), attrList ); - } - - var tag = node.tagName.toLowerCase(); - var kidList = _List_Nil; - var kids = node.childNodes; - - for (var i = kids.length; i--; ) - { - kidList = _List_Cons(_VirtualDom_virtualize(kids[i]), kidList); - } - return A3(_VirtualDom_node, tag, attrList, kidList); -} - -function _VirtualDom_dekey(keyedNode) -{ - var keyedKids = keyedNode.e; - var len = keyedKids.length; - var kids = new Array(len); - for (var i = 0; i < len; i++) - { - kids[i] = keyedKids[i].b; - } - - return { - $: 1, - c: keyedNode.c, - d: keyedNode.d, - e: kids, - f: keyedNode.f, - b: keyedNode.b - }; -} - - - - -// ELEMENT - - -var _Debugger_element; - -var _Browser_element = _Debugger_element || F4(function(impl, flagDecoder, debugMetadata, args) -{ - return _Platform_initialize( - flagDecoder, - args, - impl.cB, - impl.cU, - impl.cR, - function(sendToApp, initialModel) { - var view = impl.cW; - /**/ - var domNode = args['node']; - //*/ - /**_UNUSED/ - var domNode = args && args['node'] ? args['node'] : _Debug_crash(0); - //*/ - var currNode = _VirtualDom_virtualize(domNode); - - return _Browser_makeAnimator(initialModel, function(model) - { - var nextNode = view(model); - var patches = _VirtualDom_diff(currNode, nextNode); - domNode = _VirtualDom_applyPatches(domNode, currNode, patches, sendToApp); - currNode = nextNode; - }); - } - ); -}); - - - -// DOCUMENT - - -var _Debugger_document; - -var _Browser_document = _Debugger_document || F4(function(impl, flagDecoder, debugMetadata, args) -{ - return _Platform_initialize( - flagDecoder, - args, - impl.cB, - impl.cU, - impl.cR, - function(sendToApp, initialModel) { - var divertHrefToApp = impl.bn && impl.bn(sendToApp) - var view = impl.cW; - var title = _VirtualDom_doc.title; - var bodyNode = _VirtualDom_doc.body; - var currNode = _VirtualDom_virtualize(bodyNode); - return _Browser_makeAnimator(initialModel, function(model) - { - _VirtualDom_divertHrefToApp = divertHrefToApp; - var doc = view(model); - var nextNode = _VirtualDom_node('body')(_List_Nil)(doc.cr); - var patches = _VirtualDom_diff(currNode, nextNode); - bodyNode = _VirtualDom_applyPatches(bodyNode, currNode, patches, sendToApp); - currNode = nextNode; - _VirtualDom_divertHrefToApp = 0; - (title !== doc.cT) && (_VirtualDom_doc.title = title = doc.cT); - }); - } - ); -}); - - - -// ANIMATION - - -var _Browser_cancelAnimationFrame = - typeof cancelAnimationFrame !== 'undefined' - ? cancelAnimationFrame - : function(id) { clearTimeout(id); }; - -var _Browser_requestAnimationFrame = - typeof requestAnimationFrame !== 'undefined' - ? requestAnimationFrame - : function(callback) { return setTimeout(callback, 1000 / 60); }; - - -function _Browser_makeAnimator(model, draw) -{ - draw(model); - - var state = 0; - - function updateIfNeeded() - { - state = state === 1 - ? 0 - : ( _Browser_requestAnimationFrame(updateIfNeeded), draw(model), 1 ); - } - - return function(nextModel, isSync) - { - model = nextModel; - - isSync - ? ( draw(model), - state === 2 && (state = 1) - ) - : ( state === 0 && _Browser_requestAnimationFrame(updateIfNeeded), - state = 2 - ); - }; -} - - - -// APPLICATION - - -function _Browser_application(impl) -{ - var onUrlChange = impl.cG; - var onUrlRequest = impl.cH; - var key = function() { key.a(onUrlChange(_Browser_getUrl())); }; - - return _Browser_document({ - bn: function(sendToApp) - { - key.a = sendToApp; - _Browser_window.addEventListener('popstate', key); - _Browser_window.navigator.userAgent.indexOf('Trident') < 0 || _Browser_window.addEventListener('hashchange', key); - - return F2(function(domNode, event) - { - if (!event.ctrlKey && !event.metaKey && !event.shiftKey && event.button < 1 && !domNode.target && !domNode.hasAttribute('download')) - { - event.preventDefault(); - var href = domNode.href; - var curr = _Browser_getUrl(); - var next = $elm$url$Url$fromString(href).a; - sendToApp(onUrlRequest( - (next - && curr.b0 === next.b0 - && curr.bP === next.bP - && curr.bZ.a === next.bZ.a - ) - ? $elm$browser$Browser$Internal(next) - : $elm$browser$Browser$External(href) - )); - } - }); - }, - cB: function(flags) - { - return A3(impl.cB, flags, _Browser_getUrl(), key); - }, - cW: impl.cW, - cU: impl.cU, - cR: impl.cR - }); -} - -function _Browser_getUrl() -{ - return $elm$url$Url$fromString(_VirtualDom_doc.location.href).a || _Debug_crash(1); -} - -var _Browser_go = F2(function(key, n) -{ - return A2($elm$core$Task$perform, $elm$core$Basics$never, _Scheduler_binding(function() { - n && history.go(n); - key(); - })); -}); - -var _Browser_pushUrl = F2(function(key, url) -{ - return A2($elm$core$Task$perform, $elm$core$Basics$never, _Scheduler_binding(function() { - history.pushState({}, '', url); - key(); - })); -}); - -var _Browser_replaceUrl = F2(function(key, url) -{ - return A2($elm$core$Task$perform, $elm$core$Basics$never, _Scheduler_binding(function() { - history.replaceState({}, '', url); - key(); - })); -}); - - - -// GLOBAL EVENTS - - -var _Browser_fakeNode = { addEventListener: function() {}, removeEventListener: function() {} }; -var _Browser_doc = typeof document !== 'undefined' ? document : _Browser_fakeNode; -var _Browser_window = typeof window !== 'undefined' ? window : _Browser_fakeNode; - -var _Browser_on = F3(function(node, eventName, sendToSelf) -{ - return _Scheduler_spawn(_Scheduler_binding(function(callback) - { - function handler(event) { _Scheduler_rawSpawn(sendToSelf(event)); } - node.addEventListener(eventName, handler, _VirtualDom_passiveSupported && { passive: true }); - return function() { node.removeEventListener(eventName, handler); }; - })); -}); - -var _Browser_decodeEvent = F2(function(decoder, event) -{ - var result = _Json_runHelp(decoder, event); - return $elm$core$Result$isOk(result) ? $elm$core$Maybe$Just(result.a) : $elm$core$Maybe$Nothing; -}); - - - -// PAGE VISIBILITY - - -function _Browser_visibilityInfo() -{ - return (typeof _VirtualDom_doc.hidden !== 'undefined') - ? { cy: 'hidden', cs: 'visibilitychange' } - : - (typeof _VirtualDom_doc.mozHidden !== 'undefined') - ? { cy: 'mozHidden', cs: 'mozvisibilitychange' } - : - (typeof _VirtualDom_doc.msHidden !== 'undefined') - ? { cy: 'msHidden', cs: 'msvisibilitychange' } - : - (typeof _VirtualDom_doc.webkitHidden !== 'undefined') - ? { cy: 'webkitHidden', cs: 'webkitvisibilitychange' } - : { cy: 'hidden', cs: 'visibilitychange' }; -} - - - -// ANIMATION FRAMES - - -function _Browser_rAF() -{ - return _Scheduler_binding(function(callback) - { - var id = _Browser_requestAnimationFrame(function() { - callback(_Scheduler_succeed(Date.now())); - }); - - return function() { - _Browser_cancelAnimationFrame(id); - }; - }); -} - - -function _Browser_now() -{ - return _Scheduler_binding(function(callback) - { - callback(_Scheduler_succeed(Date.now())); - }); -} - - - -// DOM STUFF - - -function _Browser_withNode(id, doStuff) -{ - return _Scheduler_binding(function(callback) - { - _Browser_requestAnimationFrame(function() { - var node = document.getElementById(id); - callback(node - ? _Scheduler_succeed(doStuff(node)) - : _Scheduler_fail($elm$browser$Browser$Dom$NotFound(id)) - ); - }); - }); -} - - -function _Browser_withWindow(doStuff) -{ - return _Scheduler_binding(function(callback) - { - _Browser_requestAnimationFrame(function() { - callback(_Scheduler_succeed(doStuff())); - }); - }); -} - - -// FOCUS and BLUR - - -var _Browser_call = F2(function(functionName, id) -{ - return _Browser_withNode(id, function(node) { - node[functionName](); - return _Utils_Tuple0; - }); -}); - - - -// WINDOW VIEWPORT - - -function _Browser_getViewport() -{ - return { - b7: _Browser_getScene(), - ch: { - cj: _Browser_window.pageXOffset, - ck: _Browser_window.pageYOffset, - ci: _Browser_doc.documentElement.clientWidth, - bO: _Browser_doc.documentElement.clientHeight - } - }; -} - -function _Browser_getScene() -{ - var body = _Browser_doc.body; - var elem = _Browser_doc.documentElement; - return { - ci: Math.max(body.scrollWidth, body.offsetWidth, elem.scrollWidth, elem.offsetWidth, elem.clientWidth), - bO: Math.max(body.scrollHeight, body.offsetHeight, elem.scrollHeight, elem.offsetHeight, elem.clientHeight) - }; -} - -var _Browser_setViewport = F2(function(x, y) -{ - return _Browser_withWindow(function() - { - _Browser_window.scroll(x, y); - return _Utils_Tuple0; - }); -}); - - - -// ELEMENT VIEWPORT - - -function _Browser_getViewportOf(id) -{ - return _Browser_withNode(id, function(node) - { - return { - b7: { - ci: node.scrollWidth, - bO: node.scrollHeight - }, - ch: { - cj: node.scrollLeft, - ck: node.scrollTop, - ci: node.clientWidth, - bO: node.clientHeight - } - }; - }); -} - - -var _Browser_setViewportOf = F3(function(id, x, y) -{ - return _Browser_withNode(id, function(node) - { - node.scrollLeft = x; - node.scrollTop = y; - return _Utils_Tuple0; - }); -}); - - - -// ELEMENT - - -function _Browser_getElement(id) -{ - return _Browser_withNode(id, function(node) - { - var rect = node.getBoundingClientRect(); - var x = _Browser_window.pageXOffset; - var y = _Browser_window.pageYOffset; - return { - b7: _Browser_getScene(), - ch: { - cj: x, - ck: y, - ci: _Browser_doc.documentElement.clientWidth, - bO: _Browser_doc.documentElement.clientHeight - }, - cw: { - cj: x + rect.left, - ck: y + rect.top, - ci: rect.width, - bO: rect.height - } - }; - }); -} - - - -// LOAD and RELOAD - - -function _Browser_reload(skipCache) -{ - return A2($elm$core$Task$perform, $elm$core$Basics$never, _Scheduler_binding(function(callback) - { - _VirtualDom_doc.location.reload(skipCache); - })); -} - -function _Browser_load(url) -{ - return A2($elm$core$Task$perform, $elm$core$Basics$never, _Scheduler_binding(function(callback) - { - try - { - _Browser_window.location = url; - } - catch(err) - { - // Only Firefox can throw a NS_ERROR_MALFORMED_URI exception here. - // Other browsers reload the page, so let's be consistent about that. - _VirtualDom_doc.location.reload(false); - } - })); -} - - - -var _Bitwise_and = F2(function(a, b) -{ - return a & b; -}); - -var _Bitwise_or = F2(function(a, b) -{ - return a | b; -}); - -var _Bitwise_xor = F2(function(a, b) -{ - return a ^ b; -}); - -function _Bitwise_complement(a) -{ - return ~a; -}; - -var _Bitwise_shiftLeftBy = F2(function(offset, a) -{ - return a << offset; -}); - -var _Bitwise_shiftRightBy = F2(function(offset, a) -{ - return a >> offset; -}); - -var _Bitwise_shiftRightZfBy = F2(function(offset, a) -{ - return a >>> offset; -}); -var $author$project$Main$LinkClicked = function (a) { - return {$: 0, a: a}; -}; -var $author$project$Main$UrlChanged = function (a) { - return {$: 1, a: a}; -}; -var $elm$core$Basics$EQ = 1; -var $elm$core$Basics$GT = 2; -var $elm$core$Basics$LT = 0; -var $elm$core$List$cons = _List_cons; -var $elm$core$Dict$foldr = F3( - function (func, acc, t) { - foldr: - while (true) { - if (t.$ === -2) { - return acc; - } else { - var key = t.b; - var value = t.c; - var left = t.d; - var right = t.e; - var $temp$func = func, - $temp$acc = A3( - func, - key, - value, - A3($elm$core$Dict$foldr, func, acc, right)), - $temp$t = left; - func = $temp$func; - acc = $temp$acc; - t = $temp$t; - continue foldr; - } - } - }); -var $elm$core$Dict$toList = function (dict) { - return A3( - $elm$core$Dict$foldr, - F3( - function (key, value, list) { - return A2( - $elm$core$List$cons, - _Utils_Tuple2(key, value), - list); - }), - _List_Nil, - dict); -}; -var $elm$core$Dict$keys = function (dict) { - return A3( - $elm$core$Dict$foldr, - F3( - function (key, value, keyList) { - return A2($elm$core$List$cons, key, keyList); - }), - _List_Nil, - dict); -}; -var $elm$core$Set$toList = function (_v0) { - var dict = _v0; - return $elm$core$Dict$keys(dict); -}; -var $elm$core$Elm$JsArray$foldr = _JsArray_foldr; -var $elm$core$Array$foldr = F3( - function (func, baseCase, _v0) { - var tree = _v0.c; - var tail = _v0.d; - var helper = F2( - function (node, acc) { - if (!node.$) { - var subTree = node.a; - return A3($elm$core$Elm$JsArray$foldr, helper, acc, subTree); - } else { - var values = node.a; - return A3($elm$core$Elm$JsArray$foldr, func, acc, values); - } - }); - return A3( - $elm$core$Elm$JsArray$foldr, - helper, - A3($elm$core$Elm$JsArray$foldr, func, baseCase, tail), - tree); - }); -var $elm$core$Array$toList = function (array) { - return A3($elm$core$Array$foldr, $elm$core$List$cons, _List_Nil, array); -}; -var $elm$core$Result$Err = function (a) { - return {$: 1, a: a}; -}; -var $elm$json$Json$Decode$Failure = F2( - function (a, b) { - return {$: 3, a: a, b: b}; - }); -var $elm$json$Json$Decode$Field = F2( - function (a, b) { - return {$: 0, a: a, b: b}; - }); -var $elm$json$Json$Decode$Index = F2( - function (a, b) { - return {$: 1, a: a, b: b}; - }); -var $elm$core$Result$Ok = function (a) { - return {$: 0, a: a}; -}; -var $elm$json$Json$Decode$OneOf = function (a) { - return {$: 2, a: a}; -}; -var $elm$core$Basics$False = 1; -var $elm$core$Basics$add = _Basics_add; -var $elm$core$Maybe$Just = function (a) { - return {$: 0, a: a}; -}; -var $elm$core$Maybe$Nothing = {$: 1}; -var $elm$core$String$all = _String_all; -var $elm$core$Basics$and = _Basics_and; -var $elm$core$Basics$append = _Utils_append; -var $elm$json$Json$Encode$encode = _Json_encode; -var $elm$core$String$fromInt = _String_fromNumber; -var $elm$core$String$join = F2( - function (sep, chunks) { - return A2( - _String_join, - sep, - _List_toArray(chunks)); - }); -var $elm$core$String$split = F2( - function (sep, string) { - return _List_fromArray( - A2(_String_split, sep, string)); - }); -var $elm$json$Json$Decode$indent = function (str) { - return A2( - $elm$core$String$join, - '\n ', - A2($elm$core$String$split, '\n', str)); -}; -var $elm$core$List$foldl = F3( - function (func, acc, list) { - foldl: - while (true) { - if (!list.b) { - return acc; - } else { - var x = list.a; - var xs = list.b; - var $temp$func = func, - $temp$acc = A2(func, x, acc), - $temp$list = xs; - func = $temp$func; - acc = $temp$acc; - list = $temp$list; - continue foldl; - } - } - }); -var $elm$core$List$length = function (xs) { - return A3( - $elm$core$List$foldl, - F2( - function (_v0, i) { - return i + 1; - }), - 0, - xs); -}; -var $elm$core$List$map2 = _List_map2; -var $elm$core$Basics$le = _Utils_le; -var $elm$core$Basics$sub = _Basics_sub; -var $elm$core$List$rangeHelp = F3( - function (lo, hi, list) { - rangeHelp: - while (true) { - if (_Utils_cmp(lo, hi) < 1) { - var $temp$lo = lo, - $temp$hi = hi - 1, - $temp$list = A2($elm$core$List$cons, hi, list); - lo = $temp$lo; - hi = $temp$hi; - list = $temp$list; - continue rangeHelp; - } else { - return list; - } - } - }); -var $elm$core$List$range = F2( - function (lo, hi) { - return A3($elm$core$List$rangeHelp, lo, hi, _List_Nil); - }); -var $elm$core$List$indexedMap = F2( - function (f, xs) { - return A3( - $elm$core$List$map2, - f, - A2( - $elm$core$List$range, - 0, - $elm$core$List$length(xs) - 1), - xs); - }); -var $elm$core$Char$toCode = _Char_toCode; -var $elm$core$Char$isLower = function (_char) { - var code = $elm$core$Char$toCode(_char); - return (97 <= code) && (code <= 122); -}; -var $elm$core$Char$isUpper = function (_char) { - var code = $elm$core$Char$toCode(_char); - return (code <= 90) && (65 <= code); -}; -var $elm$core$Basics$or = _Basics_or; -var $elm$core$Char$isAlpha = function (_char) { - return $elm$core$Char$isLower(_char) || $elm$core$Char$isUpper(_char); -}; -var $elm$core$Char$isDigit = function (_char) { - var code = $elm$core$Char$toCode(_char); - return (code <= 57) && (48 <= code); -}; -var $elm$core$Char$isAlphaNum = function (_char) { - return $elm$core$Char$isLower(_char) || ($elm$core$Char$isUpper(_char) || $elm$core$Char$isDigit(_char)); -}; -var $elm$core$List$reverse = function (list) { - return A3($elm$core$List$foldl, $elm$core$List$cons, _List_Nil, list); -}; -var $elm$core$String$uncons = _String_uncons; -var $elm$json$Json$Decode$errorOneOf = F2( - function (i, error) { - return '\n\n(' + ($elm$core$String$fromInt(i + 1) + (') ' + $elm$json$Json$Decode$indent( - $elm$json$Json$Decode$errorToString(error)))); - }); -var $elm$json$Json$Decode$errorToString = function (error) { - return A2($elm$json$Json$Decode$errorToStringHelp, error, _List_Nil); -}; -var $elm$json$Json$Decode$errorToStringHelp = F2( - function (error, context) { - errorToStringHelp: - while (true) { - switch (error.$) { - case 0: - var f = error.a; - var err = error.b; - var isSimple = function () { - var _v1 = $elm$core$String$uncons(f); - if (_v1.$ === 1) { - return false; - } else { - var _v2 = _v1.a; - var _char = _v2.a; - var rest = _v2.b; - return $elm$core$Char$isAlpha(_char) && A2($elm$core$String$all, $elm$core$Char$isAlphaNum, rest); - } - }(); - var fieldName = isSimple ? ('.' + f) : ('[\'' + (f + '\']')); - var $temp$error = err, - $temp$context = A2($elm$core$List$cons, fieldName, context); - error = $temp$error; - context = $temp$context; - continue errorToStringHelp; - case 1: - var i = error.a; - var err = error.b; - var indexName = '[' + ($elm$core$String$fromInt(i) + ']'); - var $temp$error = err, - $temp$context = A2($elm$core$List$cons, indexName, context); - error = $temp$error; - context = $temp$context; - continue errorToStringHelp; - case 2: - var errors = error.a; - if (!errors.b) { - return 'Ran into a Json.Decode.oneOf with no possibilities' + function () { - if (!context.b) { - return '!'; - } else { - return ' at json' + A2( - $elm$core$String$join, - '', - $elm$core$List$reverse(context)); - } - }(); - } else { - if (!errors.b.b) { - var err = errors.a; - var $temp$error = err, - $temp$context = context; - error = $temp$error; - context = $temp$context; - continue errorToStringHelp; - } else { - var starter = function () { - if (!context.b) { - return 'Json.Decode.oneOf'; - } else { - return 'The Json.Decode.oneOf at json' + A2( - $elm$core$String$join, - '', - $elm$core$List$reverse(context)); - } - }(); - var introduction = starter + (' failed in the following ' + ($elm$core$String$fromInt( - $elm$core$List$length(errors)) + ' ways:')); - return A2( - $elm$core$String$join, - '\n\n', - A2( - $elm$core$List$cons, - introduction, - A2($elm$core$List$indexedMap, $elm$json$Json$Decode$errorOneOf, errors))); - } - } - default: - var msg = error.a; - var json = error.b; - var introduction = function () { - if (!context.b) { - return 'Problem with the given value:\n\n'; - } else { - return 'Problem with the value at json' + (A2( - $elm$core$String$join, - '', - $elm$core$List$reverse(context)) + ':\n\n '); - } - }(); - return introduction + ($elm$json$Json$Decode$indent( - A2($elm$json$Json$Encode$encode, 4, json)) + ('\n\n' + msg)); - } - } - }); -var $elm$core$Array$branchFactor = 32; -var $elm$core$Array$Array_elm_builtin = F4( - function (a, b, c, d) { - return {$: 0, a: a, b: b, c: c, d: d}; - }); -var $elm$core$Elm$JsArray$empty = _JsArray_empty; -var $elm$core$Basics$ceiling = _Basics_ceiling; -var $elm$core$Basics$fdiv = _Basics_fdiv; -var $elm$core$Basics$logBase = F2( - function (base, number) { - return _Basics_log(number) / _Basics_log(base); - }); -var $elm$core$Basics$toFloat = _Basics_toFloat; -var $elm$core$Array$shiftStep = $elm$core$Basics$ceiling( - A2($elm$core$Basics$logBase, 2, $elm$core$Array$branchFactor)); -var $elm$core$Array$empty = A4($elm$core$Array$Array_elm_builtin, 0, $elm$core$Array$shiftStep, $elm$core$Elm$JsArray$empty, $elm$core$Elm$JsArray$empty); -var $elm$core$Elm$JsArray$initialize = _JsArray_initialize; -var $elm$core$Array$Leaf = function (a) { - return {$: 1, a: a}; -}; -var $elm$core$Basics$apL = F2( - function (f, x) { - return f(x); - }); -var $elm$core$Basics$apR = F2( - function (x, f) { - return f(x); - }); -var $elm$core$Basics$eq = _Utils_equal; -var $elm$core$Basics$floor = _Basics_floor; -var $elm$core$Elm$JsArray$length = _JsArray_length; -var $elm$core$Basics$gt = _Utils_gt; -var $elm$core$Basics$max = F2( - function (x, y) { - return (_Utils_cmp(x, y) > 0) ? x : y; - }); -var $elm$core$Basics$mul = _Basics_mul; -var $elm$core$Array$SubTree = function (a) { - return {$: 0, a: a}; -}; -var $elm$core$Elm$JsArray$initializeFromList = _JsArray_initializeFromList; -var $elm$core$Array$compressNodes = F2( - function (nodes, acc) { - compressNodes: - while (true) { - var _v0 = A2($elm$core$Elm$JsArray$initializeFromList, $elm$core$Array$branchFactor, nodes); - var node = _v0.a; - var remainingNodes = _v0.b; - var newAcc = A2( - $elm$core$List$cons, - $elm$core$Array$SubTree(node), - acc); - if (!remainingNodes.b) { - return $elm$core$List$reverse(newAcc); - } else { - var $temp$nodes = remainingNodes, - $temp$acc = newAcc; - nodes = $temp$nodes; - acc = $temp$acc; - continue compressNodes; - } - } - }); -var $elm$core$Tuple$first = function (_v0) { - var x = _v0.a; - return x; -}; -var $elm$core$Array$treeFromBuilder = F2( - function (nodeList, nodeListSize) { - treeFromBuilder: - while (true) { - var newNodeSize = $elm$core$Basics$ceiling(nodeListSize / $elm$core$Array$branchFactor); - if (newNodeSize === 1) { - return A2($elm$core$Elm$JsArray$initializeFromList, $elm$core$Array$branchFactor, nodeList).a; - } else { - var $temp$nodeList = A2($elm$core$Array$compressNodes, nodeList, _List_Nil), - $temp$nodeListSize = newNodeSize; - nodeList = $temp$nodeList; - nodeListSize = $temp$nodeListSize; - continue treeFromBuilder; - } - } - }); -var $elm$core$Array$builderToArray = F2( - function (reverseNodeList, builder) { - if (!builder.h) { - return A4( - $elm$core$Array$Array_elm_builtin, - $elm$core$Elm$JsArray$length(builder.j), - $elm$core$Array$shiftStep, - $elm$core$Elm$JsArray$empty, - builder.j); - } else { - var treeLen = builder.h * $elm$core$Array$branchFactor; - var depth = $elm$core$Basics$floor( - A2($elm$core$Basics$logBase, $elm$core$Array$branchFactor, treeLen - 1)); - var correctNodeList = reverseNodeList ? $elm$core$List$reverse(builder.k) : builder.k; - var tree = A2($elm$core$Array$treeFromBuilder, correctNodeList, builder.h); - return A4( - $elm$core$Array$Array_elm_builtin, - $elm$core$Elm$JsArray$length(builder.j) + treeLen, - A2($elm$core$Basics$max, 5, depth * $elm$core$Array$shiftStep), - tree, - builder.j); - } - }); -var $elm$core$Basics$idiv = _Basics_idiv; -var $elm$core$Basics$lt = _Utils_lt; -var $elm$core$Array$initializeHelp = F5( - function (fn, fromIndex, len, nodeList, tail) { - initializeHelp: - while (true) { - if (fromIndex < 0) { - return A2( - $elm$core$Array$builderToArray, - false, - {k: nodeList, h: (len / $elm$core$Array$branchFactor) | 0, j: tail}); - } else { - var leaf = $elm$core$Array$Leaf( - A3($elm$core$Elm$JsArray$initialize, $elm$core$Array$branchFactor, fromIndex, fn)); - var $temp$fn = fn, - $temp$fromIndex = fromIndex - $elm$core$Array$branchFactor, - $temp$len = len, - $temp$nodeList = A2($elm$core$List$cons, leaf, nodeList), - $temp$tail = tail; - fn = $temp$fn; - fromIndex = $temp$fromIndex; - len = $temp$len; - nodeList = $temp$nodeList; - tail = $temp$tail; - continue initializeHelp; - } - } - }); -var $elm$core$Basics$remainderBy = _Basics_remainderBy; -var $elm$core$Array$initialize = F2( - function (len, fn) { - if (len <= 0) { - return $elm$core$Array$empty; - } else { - var tailLen = len % $elm$core$Array$branchFactor; - var tail = A3($elm$core$Elm$JsArray$initialize, tailLen, len - tailLen, fn); - var initialFromIndex = (len - tailLen) - $elm$core$Array$branchFactor; - return A5($elm$core$Array$initializeHelp, fn, initialFromIndex, len, _List_Nil, tail); - } - }); -var $elm$core$Basics$True = 0; -var $elm$core$Result$isOk = function (result) { - if (!result.$) { - return true; - } else { - return false; - } -}; -var $elm$json$Json$Decode$map = _Json_map1; -var $elm$json$Json$Decode$map2 = _Json_map2; -var $elm$json$Json$Decode$succeed = _Json_succeed; -var $elm$virtual_dom$VirtualDom$toHandlerInt = function (handler) { - switch (handler.$) { - case 0: - return 0; - case 1: - return 1; - case 2: - return 2; - default: - return 3; - } -}; -var $elm$browser$Browser$External = function (a) { - return {$: 1, a: a}; -}; -var $elm$browser$Browser$Internal = function (a) { - return {$: 0, a: a}; -}; -var $elm$core$Basics$identity = function (x) { - return x; -}; -var $elm$browser$Browser$Dom$NotFound = $elm$core$Basics$identity; -var $elm$url$Url$Http = 0; -var $elm$url$Url$Https = 1; -var $elm$url$Url$Url = F6( - function (protocol, host, port_, path, query, fragment) { - return {bM: fragment, bP: host, bX: path, bZ: port_, b0: protocol, b1: query}; - }); -var $elm$core$String$contains = _String_contains; -var $elm$core$String$length = _String_length; -var $elm$core$String$slice = _String_slice; -var $elm$core$String$dropLeft = F2( - function (n, string) { - return (n < 1) ? string : A3( - $elm$core$String$slice, - n, - $elm$core$String$length(string), - string); - }); -var $elm$core$String$indexes = _String_indexes; -var $elm$core$String$isEmpty = function (string) { - return string === ''; -}; -var $elm$core$String$left = F2( - function (n, string) { - return (n < 1) ? '' : A3($elm$core$String$slice, 0, n, string); - }); -var $elm$core$String$toInt = _String_toInt; -var $elm$url$Url$chompBeforePath = F5( - function (protocol, path, params, frag, str) { - if ($elm$core$String$isEmpty(str) || A2($elm$core$String$contains, '@', str)) { - return $elm$core$Maybe$Nothing; - } else { - var _v0 = A2($elm$core$String$indexes, ':', str); - if (!_v0.b) { - return $elm$core$Maybe$Just( - A6($elm$url$Url$Url, protocol, str, $elm$core$Maybe$Nothing, path, params, frag)); - } else { - if (!_v0.b.b) { - var i = _v0.a; - var _v1 = $elm$core$String$toInt( - A2($elm$core$String$dropLeft, i + 1, str)); - if (_v1.$ === 1) { - return $elm$core$Maybe$Nothing; - } else { - var port_ = _v1; - return $elm$core$Maybe$Just( - A6( - $elm$url$Url$Url, - protocol, - A2($elm$core$String$left, i, str), - port_, - path, - params, - frag)); - } - } else { - return $elm$core$Maybe$Nothing; - } - } - } - }); -var $elm$url$Url$chompBeforeQuery = F4( - function (protocol, params, frag, str) { - if ($elm$core$String$isEmpty(str)) { - return $elm$core$Maybe$Nothing; - } else { - var _v0 = A2($elm$core$String$indexes, '/', str); - if (!_v0.b) { - return A5($elm$url$Url$chompBeforePath, protocol, '/', params, frag, str); - } else { - var i = _v0.a; - return A5( - $elm$url$Url$chompBeforePath, - protocol, - A2($elm$core$String$dropLeft, i, str), - params, - frag, - A2($elm$core$String$left, i, str)); - } - } - }); -var $elm$url$Url$chompBeforeFragment = F3( - function (protocol, frag, str) { - if ($elm$core$String$isEmpty(str)) { - return $elm$core$Maybe$Nothing; - } else { - var _v0 = A2($elm$core$String$indexes, '?', str); - if (!_v0.b) { - return A4($elm$url$Url$chompBeforeQuery, protocol, $elm$core$Maybe$Nothing, frag, str); - } else { - var i = _v0.a; - return A4( - $elm$url$Url$chompBeforeQuery, - protocol, - $elm$core$Maybe$Just( - A2($elm$core$String$dropLeft, i + 1, str)), - frag, - A2($elm$core$String$left, i, str)); - } - } - }); -var $elm$url$Url$chompAfterProtocol = F2( - function (protocol, str) { - if ($elm$core$String$isEmpty(str)) { - return $elm$core$Maybe$Nothing; - } else { - var _v0 = A2($elm$core$String$indexes, '#', str); - if (!_v0.b) { - return A3($elm$url$Url$chompBeforeFragment, protocol, $elm$core$Maybe$Nothing, str); - } else { - var i = _v0.a; - return A3( - $elm$url$Url$chompBeforeFragment, - protocol, - $elm$core$Maybe$Just( - A2($elm$core$String$dropLeft, i + 1, str)), - A2($elm$core$String$left, i, str)); - } - } - }); -var $elm$core$String$startsWith = _String_startsWith; -var $elm$url$Url$fromString = function (str) { - return A2($elm$core$String$startsWith, 'http://', str) ? A2( - $elm$url$Url$chompAfterProtocol, - 0, - A2($elm$core$String$dropLeft, 7, str)) : (A2($elm$core$String$startsWith, 'https://', str) ? A2( - $elm$url$Url$chompAfterProtocol, - 1, - A2($elm$core$String$dropLeft, 8, str)) : $elm$core$Maybe$Nothing); -}; -var $elm$core$Basics$never = function (_v0) { - never: - while (true) { - var nvr = _v0; - var $temp$_v0 = nvr; - _v0 = $temp$_v0; - continue never; - } -}; -var $elm$core$Task$Perform = $elm$core$Basics$identity; -var $elm$core$Task$succeed = _Scheduler_succeed; -var $elm$core$Task$init = $elm$core$Task$succeed(0); -var $elm$core$List$foldrHelper = F4( - function (fn, acc, ctr, ls) { - if (!ls.b) { - return acc; - } else { - var a = ls.a; - var r1 = ls.b; - if (!r1.b) { - return A2(fn, a, acc); - } else { - var b = r1.a; - var r2 = r1.b; - if (!r2.b) { - return A2( - fn, - a, - A2(fn, b, acc)); - } else { - var c = r2.a; - var r3 = r2.b; - if (!r3.b) { - return A2( - fn, - a, - A2( - fn, - b, - A2(fn, c, acc))); - } else { - var d = r3.a; - var r4 = r3.b; - var res = (ctr > 500) ? A3( - $elm$core$List$foldl, - fn, - acc, - $elm$core$List$reverse(r4)) : A4($elm$core$List$foldrHelper, fn, acc, ctr + 1, r4); - return A2( - fn, - a, - A2( - fn, - b, - A2( - fn, - c, - A2(fn, d, res)))); - } - } - } - } - }); -var $elm$core$List$foldr = F3( - function (fn, acc, ls) { - return A4($elm$core$List$foldrHelper, fn, acc, 0, ls); - }); -var $elm$core$List$map = F2( - function (f, xs) { - return A3( - $elm$core$List$foldr, - F2( - function (x, acc) { - return A2( - $elm$core$List$cons, - f(x), - acc); - }), - _List_Nil, - xs); - }); -var $elm$core$Task$andThen = _Scheduler_andThen; -var $elm$core$Task$map = F2( - function (func, taskA) { - return A2( - $elm$core$Task$andThen, - function (a) { - return $elm$core$Task$succeed( - func(a)); - }, - taskA); - }); -var $elm$core$Task$map2 = F3( - function (func, taskA, taskB) { - return A2( - $elm$core$Task$andThen, - function (a) { - return A2( - $elm$core$Task$andThen, - function (b) { - return $elm$core$Task$succeed( - A2(func, a, b)); - }, - taskB); - }, - taskA); - }); -var $elm$core$Task$sequence = function (tasks) { - return A3( - $elm$core$List$foldr, - $elm$core$Task$map2($elm$core$List$cons), - $elm$core$Task$succeed(_List_Nil), - tasks); -}; -var $elm$core$Platform$sendToApp = _Platform_sendToApp; -var $elm$core$Task$spawnCmd = F2( - function (router, _v0) { - var task = _v0; - return _Scheduler_spawn( - A2( - $elm$core$Task$andThen, - $elm$core$Platform$sendToApp(router), - task)); - }); -var $elm$core$Task$onEffects = F3( - function (router, commands, state) { - return A2( - $elm$core$Task$map, - function (_v0) { - return 0; - }, - $elm$core$Task$sequence( - A2( - $elm$core$List$map, - $elm$core$Task$spawnCmd(router), - commands))); - }); -var $elm$core$Task$onSelfMsg = F3( - function (_v0, _v1, _v2) { - return $elm$core$Task$succeed(0); - }); -var $elm$core$Task$cmdMap = F2( - function (tagger, _v0) { - var task = _v0; - return A2($elm$core$Task$map, tagger, task); - }); -_Platform_effectManagers['Task'] = _Platform_createManager($elm$core$Task$init, $elm$core$Task$onEffects, $elm$core$Task$onSelfMsg, $elm$core$Task$cmdMap); -var $elm$core$Task$command = _Platform_leaf('Task'); -var $elm$core$Task$perform = F2( - function (toMessage, task) { - return $elm$core$Task$command( - A2($elm$core$Task$map, toMessage, task)); - }); -var $elm$browser$Browser$application = _Browser_application; -var $author$project$Main$NoInitFocus = {$: 3}; -var $author$project$Main$Pit = 0; -var $elm$core$Basics$composeL = F3( - function (g, f, x) { - return g( - f(x)); - }); -var $elm$core$Task$onError = _Scheduler_onError; -var $elm$core$Task$attempt = F2( - function (resultToMessage, task) { - return $elm$core$Task$command( - A2( - $elm$core$Task$onError, - A2( - $elm$core$Basics$composeL, - A2($elm$core$Basics$composeL, $elm$core$Task$succeed, resultToMessage), - $elm$core$Result$Err), - A2( - $elm$core$Task$andThen, - A2( - $elm$core$Basics$composeL, - A2($elm$core$Basics$composeL, $elm$core$Task$succeed, resultToMessage), - $elm$core$Result$Ok), - task))); - }); -var $author$project$Main$CookiesKept = F3( - function (keepTheme, keepFont, keepPrompt) { - return {P: keepFont, Q: keepPrompt, R: keepTheme}; - }); -var $elm$json$Json$Decode$field = _Json_decodeField; -var $elm$json$Json$Decode$at = F2( - function (fields, decoder) { - return A3($elm$core$List$foldr, $elm$json$Json$Decode$field, decoder, fields); - }); -var $elm$json$Json$Decode$bool = _Json_decodeBool; -var $elm$json$Json$Decode$map3 = _Json_map3; -var $author$project$Main$cookiesKeptDecoder = A4( - $elm$json$Json$Decode$map3, - $author$project$Main$CookiesKept, - A2( - $elm$json$Json$Decode$at, - _List_fromArray( - ['cookiesKept', 'keepTheme']), - $elm$json$Json$Decode$bool), - A2( - $elm$json$Json$Decode$at, - _List_fromArray( - ['cookiesKept', 'keepFont']), - $elm$json$Json$Decode$bool), - A2( - $elm$json$Json$Decode$at, - _List_fromArray( - ['cookiesKept', 'keepPrompt']), - $elm$json$Json$Decode$bool)); -var $elm$json$Json$Decode$decodeValue = _Json_run; -var $elm$browser$Browser$Dom$focus = _Browser_call('focus'); -var $author$project$Main$Font = function (fontSize) { - return {o: fontSize}; -}; -var $elm$json$Json$Decode$float = _Json_decodeFloat; -var $author$project$Main$fontDecoder = A2( - $elm$json$Json$Decode$map, - $author$project$Main$Font, - A2( - $elm$json$Json$Decode$at, - _List_fromArray( - ['font', 'fontSize']), - $elm$json$Json$Decode$float)); -var $author$project$Main$Prompt = function (prompt) { - return {l: prompt}; -}; -var $elm$json$Json$Decode$string = _Json_decodeString; -var $author$project$Main$promptDecoder = A2( - $elm$json$Json$Decode$map, - $author$project$Main$Prompt, - A2( - $elm$json$Json$Decode$at, - _List_fromArray( - ['prompt', 'prompt']), - $elm$json$Json$Decode$string)); -var $rtfeldman$elm_css$VirtualDom$Styled$Unstyled = function (a) { - return {$: 4, a: a}; -}; -var $elm$virtual_dom$VirtualDom$text = _VirtualDom_text; -var $rtfeldman$elm_css$VirtualDom$Styled$text = function (str) { - return $rtfeldman$elm_css$VirtualDom$Styled$Unstyled( - $elm$virtual_dom$VirtualDom$text(str)); -}; -var $rtfeldman$elm_css$Html$Styled$text = $rtfeldman$elm_css$VirtualDom$Styled$text; -var $author$project$Main$Dim = 1; -var $author$project$Main$Sky = 2; -var $author$project$Main$Sun = 3; -var $elm$json$Json$Decode$fail = _Json_fail; -var $author$project$Main$themeDecoder = function (flags) { - var _v0 = A2( - $elm$json$Json$Decode$decodeValue, - A2($elm$json$Json$Decode$field, 'theme', $elm$json$Json$Decode$string), - flags); - if (!_v0.$) { - switch (_v0.a) { - case 'Pit': - return $elm$json$Json$Decode$succeed(0); - case 'Dim': - return $elm$json$Json$Decode$succeed(1); - case 'Sky': - return $elm$json$Json$Decode$succeed(2); - case 'Sun': - return $elm$json$Json$Decode$succeed(3); - default: - return $elm$json$Json$Decode$fail('Unknown value found in theme field of json'); - } - } else { - return $elm$json$Json$Decode$fail('Error decoding theme field of json'); - } -}; -var $author$project$Main$init = F3( - function (flags, url, key) { - var initContent = _List_fromArray( - [ - $rtfeldman$elm_css$Html$Styled$text('Welcome to my website! Pardon the alpha quality for the time being'), - $rtfeldman$elm_css$Html$Styled$text('\nRun `help` to get started') - ]); - var cookiesKept = function () { - var _v4 = A2($elm$json$Json$Decode$decodeValue, $author$project$Main$cookiesKeptDecoder, flags); - if (!_v4.$) { - var cK = _v4.a; - return cK; - } else { - return {P: true, Q: true, R: true}; - } - }(); - return _Utils_Tuple2( - { - az: '', - a: initContent, - n: cookiesKept, - t: function () { - if (cookiesKept.P) { - var _v0 = A2($elm$json$Json$Decode$decodeValue, $author$project$Main$fontDecoder, flags); - if (!_v0.$) { - var font = _v0.a; - return font; - } else { - return {o: 20.0}; - } - } else { - return {o: 20.0}; - } - }(), - be: key, - l: function () { - if (cookiesKept.Q) { - var _v1 = A2($elm$json$Json$Decode$decodeValue, $author$project$Main$promptDecoder, flags); - if (!_v1.$) { - var prompt = _v1.a; - return prompt; - } else { - return {l: '>'}; - } - } else { - return {l: '>'}; - } - }(), - as: function () { - if (cookiesKept.R) { - var _v2 = A2( - $elm$json$Json$Decode$decodeValue, - $author$project$Main$themeDecoder(flags), - flags); - if (!_v2.$) { - var theme = _v2.a; - return theme; - } else { - return 0; - } - } else { - return 0; - } - }(), - br: url - }, - A2( - $elm$core$Task$attempt, - function (_v3) { - return $author$project$Main$NoInitFocus; - }, - $elm$browser$Browser$Dom$focus('init-focus'))); - }); -var $elm$core$Platform$Sub$batch = _Platform_batch; -var $elm$core$Platform$Sub$none = $elm$core$Platform$Sub$batch(_List_Nil); -var $author$project$Main$subscriptions = function (_v0) { - return $elm$core$Platform$Sub$none; -}; -var $author$project$Main$BrightMagenta = 10; -var $rtfeldman$elm_css$Css$Preprocess$AppendProperty = function (a) { - return {$: 0, a: a}; -}; -var $rtfeldman$elm_css$Css$Structure$Property = $elm$core$Basics$identity; -var $rtfeldman$elm_css$Css$property = F2( - function (key, value) { - return $rtfeldman$elm_css$Css$Preprocess$AppendProperty(key + (':' + value)); - }); -var $rtfeldman$elm_css$Css$backgroundColor = function (c) { - return A2($rtfeldman$elm_css$Css$property, 'background-color', c.D); -}; -var $rtfeldman$elm_css$Css$prop1 = F2( - function (key, arg) { - return A2($rtfeldman$elm_css$Css$property, key, arg.D); - }); -var $rtfeldman$elm_css$Css$borderWidth = $rtfeldman$elm_css$Css$prop1('border-width'); -var $rtfeldman$elm_css$Css$color = function (c) { - return A2($rtfeldman$elm_css$Css$property, 'color', c.D); -}; -var $rtfeldman$elm_css$Css$margin = $rtfeldman$elm_css$Css$prop1('margin'); -var $rtfeldman$elm_css$Css$padding = $rtfeldman$elm_css$Css$prop1('padding'); -var $rtfeldman$elm_css$Css$PxUnits = 0; -var $rtfeldman$elm_css$Css$Structure$Compatible = 0; -var $elm$core$String$fromFloat = _String_fromNumber; -var $rtfeldman$elm_css$Css$Internal$lengthConverter = F3( - function (units, unitLabel, numericValue) { - 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: numericValue, - aq: 0, - at: unitLabel, - aN: units, - D: _Utils_ap( - $elm$core$String$fromFloat(numericValue), - unitLabel) - }; - }); -var $rtfeldman$elm_css$Css$px = A2($rtfeldman$elm_css$Css$Internal$lengthConverter, 0, 'px'); -var $rtfeldman$elm_css$VirtualDom$Styled$Node = F3( - function (a, b, c) { - return {$: 0, a: a, b: b, c: c}; - }); -var $rtfeldman$elm_css$VirtualDom$Styled$node = $rtfeldman$elm_css$VirtualDom$Styled$Node; -var $rtfeldman$elm_css$Html$Styled$node = $rtfeldman$elm_css$VirtualDom$Styled$node; -var $rtfeldman$elm_css$Html$Styled$span = $rtfeldman$elm_css$Html$Styled$node('span'); -var $rtfeldman$elm_css$VirtualDom$Styled$Attribute = F3( - function (a, b, c) { - return {$: 0, a: a, b: b, c: c}; - }); -var $elm$virtual_dom$VirtualDom$attribute = F2( - function (key, value) { - return A2( - _VirtualDom_attribute, - _VirtualDom_noOnOrFormAction(key), - _VirtualDom_noJavaScriptOrHtmlUri(value)); - }); -var $elm$core$List$any = F2( - function (isOkay, list) { - any: - while (true) { - if (!list.b) { - return false; - } else { - var x = list.a; - var xs = list.b; - if (isOkay(x)) { - return true; - } else { - var $temp$isOkay = isOkay, - $temp$list = xs; - isOkay = $temp$isOkay; - list = $temp$list; - continue any; - } - } - } - }); -var $elm$core$Basics$not = _Basics_not; -var $elm$core$List$all = F2( - function (isOkay, list) { - return !A2( - $elm$core$List$any, - A2($elm$core$Basics$composeL, $elm$core$Basics$not, isOkay), - list); - }); -var $elm$core$Dict$Black = 1; -var $elm$core$Dict$RBNode_elm_builtin = F5( - function (a, b, c, d, e) { - return {$: -1, a: a, b: b, c: c, d: d, e: e}; - }); -var $elm$core$Dict$RBEmpty_elm_builtin = {$: -2}; -var $elm$core$Dict$Red = 0; -var $elm$core$Dict$balance = F5( - function (color, key, value, left, right) { - if ((right.$ === -1) && (!right.a)) { - var _v1 = right.a; - var rK = right.b; - var rV = right.c; - var rLeft = right.d; - var rRight = right.e; - if ((left.$ === -1) && (!left.a)) { - var _v3 = left.a; - var lK = left.b; - var lV = left.c; - var lLeft = left.d; - var lRight = left.e; - return A5( - $elm$core$Dict$RBNode_elm_builtin, - 0, - key, - value, - A5($elm$core$Dict$RBNode_elm_builtin, 1, lK, lV, lLeft, lRight), - A5($elm$core$Dict$RBNode_elm_builtin, 1, rK, rV, rLeft, rRight)); - } else { - return A5( - $elm$core$Dict$RBNode_elm_builtin, - color, - rK, - rV, - A5($elm$core$Dict$RBNode_elm_builtin, 0, key, value, left, rLeft), - rRight); - } - } else { - if ((((left.$ === -1) && (!left.a)) && (left.d.$ === -1)) && (!left.d.a)) { - var _v5 = left.a; - var lK = left.b; - var lV = left.c; - var _v6 = left.d; - var _v7 = _v6.a; - var llK = _v6.b; - var llV = _v6.c; - var llLeft = _v6.d; - var llRight = _v6.e; - var lRight = left.e; - return A5( - $elm$core$Dict$RBNode_elm_builtin, - 0, - lK, - lV, - A5($elm$core$Dict$RBNode_elm_builtin, 1, llK, llV, llLeft, llRight), - A5($elm$core$Dict$RBNode_elm_builtin, 1, key, value, lRight, right)); - } else { - return A5($elm$core$Dict$RBNode_elm_builtin, color, key, value, left, right); - } - } - }); -var $elm$core$Basics$compare = _Utils_compare; -var $elm$core$Dict$insertHelp = F3( - function (key, value, dict) { - if (dict.$ === -2) { - return A5($elm$core$Dict$RBNode_elm_builtin, 0, key, value, $elm$core$Dict$RBEmpty_elm_builtin, $elm$core$Dict$RBEmpty_elm_builtin); - } else { - var nColor = dict.a; - var nKey = dict.b; - var nValue = dict.c; - var nLeft = dict.d; - var nRight = dict.e; - var _v1 = A2($elm$core$Basics$compare, key, nKey); - switch (_v1) { - case 0: - return A5( - $elm$core$Dict$balance, - nColor, - nKey, - nValue, - A3($elm$core$Dict$insertHelp, key, value, nLeft), - nRight); - case 1: - return A5($elm$core$Dict$RBNode_elm_builtin, nColor, nKey, value, nLeft, nRight); - default: - return A5( - $elm$core$Dict$balance, - nColor, - nKey, - nValue, - nLeft, - A3($elm$core$Dict$insertHelp, key, value, nRight)); - } - } - }); -var $elm$core$Dict$insert = F3( - function (key, value, dict) { - var _v0 = A3($elm$core$Dict$insertHelp, key, value, dict); - if ((_v0.$ === -1) && (!_v0.a)) { - var _v1 = _v0.a; - var k = _v0.b; - var v = _v0.c; - var l = _v0.d; - var r = _v0.e; - return A5($elm$core$Dict$RBNode_elm_builtin, 1, k, v, l, r); - } else { - var x = _v0; - return x; - } - }); -var $elm$core$List$isEmpty = function (xs) { - if (!xs.b) { - return true; - } else { - return false; - } -}; -var $rtfeldman$elm_css$Css$Structure$compactHelp = F2( - function (declaration, _v0) { - var keyframesByName = _v0.a; - var declarations = _v0.b; - switch (declaration.$) { - case 0: - var _v2 = declaration.a; - var properties = _v2.c; - return $elm$core$List$isEmpty(properties) ? _Utils_Tuple2(keyframesByName, declarations) : _Utils_Tuple2( - keyframesByName, - A2($elm$core$List$cons, declaration, declarations)); - case 1: - var styleBlocks = declaration.b; - return A2( - $elm$core$List$all, - function (_v3) { - var properties = _v3.c; - return $elm$core$List$isEmpty(properties); - }, - styleBlocks) ? _Utils_Tuple2(keyframesByName, declarations) : _Utils_Tuple2( - keyframesByName, - A2($elm$core$List$cons, declaration, declarations)); - case 2: - var otherDeclarations = declaration.b; - return $elm$core$List$isEmpty(otherDeclarations) ? _Utils_Tuple2(keyframesByName, declarations) : _Utils_Tuple2( - keyframesByName, - A2($elm$core$List$cons, declaration, declarations)); - case 3: - return _Utils_Tuple2( - keyframesByName, - A2($elm$core$List$cons, declaration, declarations)); - case 4: - var properties = declaration.a; - return $elm$core$List$isEmpty(properties) ? _Utils_Tuple2(keyframesByName, declarations) : _Utils_Tuple2( - keyframesByName, - A2($elm$core$List$cons, declaration, declarations)); - case 5: - var properties = declaration.a; - return $elm$core$List$isEmpty(properties) ? _Utils_Tuple2(keyframesByName, declarations) : _Utils_Tuple2( - keyframesByName, - A2($elm$core$List$cons, declaration, declarations)); - case 6: - var record = declaration.a; - return $elm$core$String$isEmpty(record.ct) ? _Utils_Tuple2(keyframesByName, declarations) : _Utils_Tuple2( - A3($elm$core$Dict$insert, record.cF, record.ct, keyframesByName), - declarations); - case 7: - var properties = declaration.a; - return $elm$core$List$isEmpty(properties) ? _Utils_Tuple2(keyframesByName, declarations) : _Utils_Tuple2( - keyframesByName, - A2($elm$core$List$cons, declaration, declarations)); - case 8: - var properties = declaration.a; - return $elm$core$List$isEmpty(properties) ? _Utils_Tuple2(keyframesByName, declarations) : _Utils_Tuple2( - keyframesByName, - A2($elm$core$List$cons, declaration, declarations)); - default: - var tuples = declaration.a; - return A2( - $elm$core$List$all, - function (_v4) { - var properties = _v4.b; - return $elm$core$List$isEmpty(properties); - }, - tuples) ? _Utils_Tuple2(keyframesByName, declarations) : _Utils_Tuple2( - keyframesByName, - A2($elm$core$List$cons, declaration, declarations)); - } - }); -var $elm$core$Dict$empty = $elm$core$Dict$RBEmpty_elm_builtin; -var $rtfeldman$elm_css$Css$Structure$Keyframes = function (a) { - return {$: 6, a: a}; -}; -var $elm$core$List$append = F2( - function (xs, ys) { - if (!ys.b) { - return xs; - } else { - return A3($elm$core$List$foldr, $elm$core$List$cons, ys, xs); - } - }); -var $rtfeldman$elm_css$Css$Structure$withKeyframeDeclarations = F2( - function (keyframesByName, compactedDeclarations) { - return A2( - $elm$core$List$append, - A2( - $elm$core$List$map, - function (_v0) { - var name = _v0.a; - var decl = _v0.b; - return $rtfeldman$elm_css$Css$Structure$Keyframes( - {ct: decl, cF: name}); - }, - $elm$core$Dict$toList(keyframesByName)), - compactedDeclarations); - }); -var $rtfeldman$elm_css$Css$Structure$compactDeclarations = function (declarations) { - var _v0 = A3( - $elm$core$List$foldr, - $rtfeldman$elm_css$Css$Structure$compactHelp, - _Utils_Tuple2($elm$core$Dict$empty, _List_Nil), - declarations); - var keyframesByName = _v0.a; - var compactedDeclarations = _v0.b; - return A2($rtfeldman$elm_css$Css$Structure$withKeyframeDeclarations, keyframesByName, compactedDeclarations); -}; -var $rtfeldman$elm_css$Css$Structure$compactStylesheet = function (_v0) { - var declarations = _v0.cu; - var namespaces = _v0.bU; - var imports = _v0.bQ; - var charset = _v0.bF; - return { - bF: charset, - cu: $rtfeldman$elm_css$Css$Structure$compactDeclarations(declarations), - bQ: imports, - bU: namespaces - }; -}; -var $elm$core$Maybe$map = F2( - function (f, maybe) { - if (!maybe.$) { - var value = maybe.a; - return $elm$core$Maybe$Just( - f(value)); - } else { - return $elm$core$Maybe$Nothing; - } - }); -var $elm$core$Maybe$withDefault = F2( - function (_default, maybe) { - if (!maybe.$) { - var value = maybe.a; - return value; - } else { - return _default; - } - }); -var $rtfeldman$elm_css$Css$Structure$Output$charsetToString = function (charset) { - return A2( - $elm$core$Maybe$withDefault, - '', - A2( - $elm$core$Maybe$map, - function (str) { - return '@charset \"' + (str + '\"'); - }, - charset)); -}; -var $rtfeldman$elm_css$Css$String$mapJoinHelp = F4( - function (map, sep, strs, result) { - mapJoinHelp: - while (true) { - if (!strs.b) { - return result; - } else { - if (!strs.b.b) { - var first = strs.a; - return result + (map(first) + ''); - } else { - var first = strs.a; - var rest = strs.b; - var $temp$map = map, - $temp$sep = sep, - $temp$strs = rest, - $temp$result = result + (map(first) + (sep + '')); - map = $temp$map; - sep = $temp$sep; - strs = $temp$strs; - result = $temp$result; - continue mapJoinHelp; - } - } - } - }); -var $rtfeldman$elm_css$Css$String$mapJoin = F3( - function (map, sep, strs) { - return A4($rtfeldman$elm_css$Css$String$mapJoinHelp, map, sep, strs, ''); - }); -var $rtfeldman$elm_css$Css$Structure$Output$mediaExpressionToString = function (expression) { - return '(' + (expression.bK + (A2( - $elm$core$Maybe$withDefault, - '', - A2( - $elm$core$Maybe$map, - $elm$core$Basics$append(': '), - expression.D)) + ')')); -}; -var $rtfeldman$elm_css$Css$Structure$Output$mediaTypeToString = function (mediaType) { - switch (mediaType) { - case 0: - return 'print'; - case 1: - return 'screen'; - default: - return 'speech'; - } -}; -var $rtfeldman$elm_css$Css$Structure$Output$mediaQueryToString = function (mediaQuery) { - var prefixWith = F3( - function (str, mediaType, expressions) { - return str + (' ' + A2( - $elm$core$String$join, - ' and ', - A2( - $elm$core$List$cons, - $rtfeldman$elm_css$Css$Structure$Output$mediaTypeToString(mediaType), - A2($elm$core$List$map, $rtfeldman$elm_css$Css$Structure$Output$mediaExpressionToString, expressions)))); - }); - switch (mediaQuery.$) { - case 0: - var expressions = mediaQuery.a; - return A3($rtfeldman$elm_css$Css$String$mapJoin, $rtfeldman$elm_css$Css$Structure$Output$mediaExpressionToString, ' and ', expressions); - case 1: - var mediaType = mediaQuery.a; - var expressions = mediaQuery.b; - return A3(prefixWith, 'only', mediaType, expressions); - case 2: - var mediaType = mediaQuery.a; - var expressions = mediaQuery.b; - return A3(prefixWith, 'not', mediaType, expressions); - default: - var str = mediaQuery.a; - return str; - } -}; -var $rtfeldman$elm_css$Css$Structure$Output$importMediaQueryToString = F2( - function (name, mediaQuery) { - return '@import \"' + (name + ($rtfeldman$elm_css$Css$Structure$Output$mediaQueryToString(mediaQuery) + '\"')); - }); -var $rtfeldman$elm_css$Css$Structure$Output$importToString = function (_v0) { - var name = _v0.a; - var mediaQueries = _v0.b; - return A3( - $rtfeldman$elm_css$Css$String$mapJoin, - $rtfeldman$elm_css$Css$Structure$Output$importMediaQueryToString(name), - '\n', - mediaQueries); -}; -var $rtfeldman$elm_css$Css$Structure$Output$namespaceToString = function (_v0) { - var prefix = _v0.a; - var str = _v0.b; - return '@namespace ' + (prefix + ('\"' + (str + '\"'))); -}; -var $rtfeldman$elm_css$Css$Structure$Output$emitProperties = function (properties) { - return A3( - $rtfeldman$elm_css$Css$String$mapJoin, - function (_v0) { - var prop = _v0; - return prop + ';'; - }, - '', - properties); -}; -var $elm$core$String$append = _String_append; -var $rtfeldman$elm_css$Css$Structure$Output$pseudoElementToString = function (_v0) { - var str = _v0; - return '::' + str; -}; -var $rtfeldman$elm_css$Css$Structure$Output$combinatorToString = function (combinator) { - switch (combinator) { - case 0: - return '+'; - case 1: - return '~'; - case 2: - return '>'; - default: - return ''; - } -}; -var $rtfeldman$elm_css$Css$Structure$Output$repeatableSimpleSelectorToString = function (repeatableSimpleSelector) { - switch (repeatableSimpleSelector.$) { - case 0: - var str = repeatableSimpleSelector.a; - return '.' + str; - case 1: - var str = repeatableSimpleSelector.a; - return '#' + str; - case 2: - var str = repeatableSimpleSelector.a; - return ':' + str; - default: - var str = repeatableSimpleSelector.a; - return '[' + (str + ']'); - } -}; -var $rtfeldman$elm_css$Css$Structure$Output$simpleSelectorSequenceToString = function (simpleSelectorSequence) { - switch (simpleSelectorSequence.$) { - case 0: - var str = simpleSelectorSequence.a; - var repeatableSimpleSelectors = simpleSelectorSequence.b; - return _Utils_ap( - str, - A3($rtfeldman$elm_css$Css$String$mapJoin, $rtfeldman$elm_css$Css$Structure$Output$repeatableSimpleSelectorToString, '', repeatableSimpleSelectors)); - case 1: - var repeatableSimpleSelectors = simpleSelectorSequence.a; - return $elm$core$List$isEmpty(repeatableSimpleSelectors) ? '*' : A3($rtfeldman$elm_css$Css$String$mapJoin, $rtfeldman$elm_css$Css$Structure$Output$repeatableSimpleSelectorToString, '', repeatableSimpleSelectors); - default: - var str = simpleSelectorSequence.a; - var repeatableSimpleSelectors = simpleSelectorSequence.b; - return _Utils_ap( - str, - A3($rtfeldman$elm_css$Css$String$mapJoin, $rtfeldman$elm_css$Css$Structure$Output$repeatableSimpleSelectorToString, '', repeatableSimpleSelectors)); - } -}; -var $rtfeldman$elm_css$Css$Structure$Output$selectorChainToString = function (_v0) { - var combinator = _v0.a; - var sequence = _v0.b; - return $rtfeldman$elm_css$Css$Structure$Output$combinatorToString(combinator) + (' ' + $rtfeldman$elm_css$Css$Structure$Output$simpleSelectorSequenceToString(sequence)); -}; -var $rtfeldman$elm_css$Css$Structure$Output$selectorToString = function (_v0) { - var simpleSelectorSequence = _v0.a; - var chain = _v0.b; - var pseudoElement = _v0.c; - var segments = A2( - $elm$core$List$cons, - $rtfeldman$elm_css$Css$Structure$Output$simpleSelectorSequenceToString(simpleSelectorSequence), - A2($elm$core$List$map, $rtfeldman$elm_css$Css$Structure$Output$selectorChainToString, chain)); - var pseudoElementsString = A2( - $elm$core$Maybe$withDefault, - '', - A2($elm$core$Maybe$map, $rtfeldman$elm_css$Css$Structure$Output$pseudoElementToString, pseudoElement)); - return A2( - $elm$core$String$append, - A2($elm$core$String$join, ' ', segments), - pseudoElementsString); -}; -var $rtfeldman$elm_css$Css$Structure$Output$prettyPrintStyleBlock = function (_v0) { - var firstSelector = _v0.a; - var otherSelectors = _v0.b; - var properties = _v0.c; - var selectorStr = A3( - $rtfeldman$elm_css$Css$String$mapJoin, - $rtfeldman$elm_css$Css$Structure$Output$selectorToString, - ',', - A2($elm$core$List$cons, firstSelector, otherSelectors)); - return selectorStr + ('{' + ($rtfeldman$elm_css$Css$Structure$Output$emitProperties(properties) + '}')); -}; -var $rtfeldman$elm_css$Css$Structure$Output$prettyPrintDeclaration = function (decl) { - switch (decl.$) { - case 0: - var styleBlock = decl.a; - return $rtfeldman$elm_css$Css$Structure$Output$prettyPrintStyleBlock(styleBlock); - case 1: - var mediaQueries = decl.a; - var styleBlocks = decl.b; - var query = A3($rtfeldman$elm_css$Css$String$mapJoin, $rtfeldman$elm_css$Css$Structure$Output$mediaQueryToString, ', ', mediaQueries); - var blocks = A3($rtfeldman$elm_css$Css$String$mapJoin, $rtfeldman$elm_css$Css$Structure$Output$prettyPrintStyleBlock, '\n', styleBlocks); - return '@media ' + (query + ('{' + (blocks + '}'))); - case 2: - return 'TODO'; - case 3: - return 'TODO'; - case 4: - return 'TODO'; - case 5: - return 'TODO'; - case 6: - var declaration = decl.a.ct; - var name = decl.a.cF; - return '@keyframes ' + (name + ('{' + (declaration + '}'))); - case 7: - return 'TODO'; - case 8: - return 'TODO'; - default: - return 'TODO'; - } -}; -var $rtfeldman$elm_css$Css$Structure$Output$prettyPrint = function (_v0) { - var declarations = _v0.cu; - var namespaces = _v0.bU; - var imports = _v0.bQ; - var charset = _v0.bF; - return $rtfeldman$elm_css$Css$Structure$Output$charsetToString(charset) + (A3($rtfeldman$elm_css$Css$String$mapJoin, $rtfeldman$elm_css$Css$Structure$Output$importToString, '\n', imports) + (A3($rtfeldman$elm_css$Css$String$mapJoin, $rtfeldman$elm_css$Css$Structure$Output$namespaceToString, '\n', namespaces) + (A3($rtfeldman$elm_css$Css$String$mapJoin, $rtfeldman$elm_css$Css$Structure$Output$prettyPrintDeclaration, '\n', declarations) + ''))); -}; -var $elm$core$List$concat = function (lists) { - return A3($elm$core$List$foldr, $elm$core$List$append, _List_Nil, lists); -}; -var $elm$core$List$concatMap = F2( - function (f, list) { - return $elm$core$List$concat( - A2($elm$core$List$map, f, list)); - }); -var $rtfeldman$elm_css$Css$Structure$CounterStyle = function (a) { - return {$: 8, a: a}; -}; -var $rtfeldman$elm_css$Css$Structure$FontFace = function (a) { - return {$: 5, a: a}; -}; -var $rtfeldman$elm_css$Css$Structure$PageRule = function (a) { - return {$: 4, a: a}; -}; -var $rtfeldman$elm_css$Css$Structure$Selector = F3( - function (a, b, c) { - return {$: 0, a: a, b: b, c: c}; - }); -var $rtfeldman$elm_css$Css$Structure$StyleBlock = F3( - function (a, b, c) { - return {$: 0, a: a, b: b, c: c}; - }); -var $rtfeldman$elm_css$Css$Structure$StyleBlockDeclaration = function (a) { - return {$: 0, a: a}; -}; -var $rtfeldman$elm_css$Css$Structure$SupportsRule = F2( - function (a, b) { - return {$: 2, a: a, b: b}; - }); -var $rtfeldman$elm_css$Css$Structure$Viewport = function (a) { - return {$: 7, a: a}; -}; -var $rtfeldman$elm_css$Css$Structure$MediaRule = F2( - function (a, b) { - return {$: 1, a: a, b: b}; - }); -var $rtfeldman$elm_css$Css$Structure$mapLast = F2( - function (update, list) { - if (!list.b) { - return list; - } else { - if (!list.b.b) { - var only = list.a; - return _List_fromArray( - [ - update(only) - ]); - } else { - var first = list.a; - var rest = list.b; - return A2( - $elm$core$List$cons, - first, - A2($rtfeldman$elm_css$Css$Structure$mapLast, update, rest)); - } - } - }); -var $rtfeldman$elm_css$Css$Structure$withPropertyAppended = F2( - function (property, _v0) { - var firstSelector = _v0.a; - var otherSelectors = _v0.b; - var properties = _v0.c; - return A3( - $rtfeldman$elm_css$Css$Structure$StyleBlock, - firstSelector, - otherSelectors, - _Utils_ap( - properties, - _List_fromArray( - [property]))); - }); -var $rtfeldman$elm_css$Css$Structure$appendProperty = F2( - function (property, declarations) { - if (!declarations.b) { - return declarations; - } else { - if (!declarations.b.b) { - switch (declarations.a.$) { - case 0: - var styleBlock = declarations.a.a; - return _List_fromArray( - [ - $rtfeldman$elm_css$Css$Structure$StyleBlockDeclaration( - A2($rtfeldman$elm_css$Css$Structure$withPropertyAppended, property, styleBlock)) - ]); - case 1: - var _v1 = declarations.a; - var mediaQueries = _v1.a; - var styleBlocks = _v1.b; - return _List_fromArray( - [ - A2( - $rtfeldman$elm_css$Css$Structure$MediaRule, - mediaQueries, - A2( - $rtfeldman$elm_css$Css$Structure$mapLast, - $rtfeldman$elm_css$Css$Structure$withPropertyAppended(property), - styleBlocks)) - ]); - default: - return declarations; - } - } else { - var first = declarations.a; - var rest = declarations.b; - return A2( - $elm$core$List$cons, - first, - A2($rtfeldman$elm_css$Css$Structure$appendProperty, property, rest)); - } - } - }); -var $rtfeldman$elm_css$Css$Structure$appendToLastSelector = F2( - function (f, styleBlock) { - if (!styleBlock.b.b) { - var only = styleBlock.a; - var properties = styleBlock.c; - return _List_fromArray( - [ - A3($rtfeldman$elm_css$Css$Structure$StyleBlock, only, _List_Nil, properties), - A3( - $rtfeldman$elm_css$Css$Structure$StyleBlock, - f(only), - _List_Nil, - _List_Nil) - ]); - } else { - var first = styleBlock.a; - var rest = styleBlock.b; - var properties = styleBlock.c; - var newRest = A2($elm$core$List$map, f, rest); - var newFirst = f(first); - return _List_fromArray( - [ - A3($rtfeldman$elm_css$Css$Structure$StyleBlock, first, rest, properties), - A3($rtfeldman$elm_css$Css$Structure$StyleBlock, newFirst, newRest, _List_Nil) - ]); - } - }); -var $rtfeldman$elm_css$Css$Structure$applyPseudoElement = F2( - function (pseudo, _v0) { - var sequence = _v0.a; - var selectors = _v0.b; - return A3( - $rtfeldman$elm_css$Css$Structure$Selector, - sequence, - selectors, - $elm$core$Maybe$Just(pseudo)); - }); -var $rtfeldman$elm_css$Css$Structure$appendPseudoElementToLastSelector = F2( - function (pseudo, styleBlock) { - return A2( - $rtfeldman$elm_css$Css$Structure$appendToLastSelector, - $rtfeldman$elm_css$Css$Structure$applyPseudoElement(pseudo), - styleBlock); - }); -var $rtfeldman$elm_css$Css$Structure$CustomSelector = F2( - function (a, b) { - return {$: 2, a: a, b: b}; - }); -var $rtfeldman$elm_css$Css$Structure$TypeSelectorSequence = F2( - function (a, b) { - return {$: 0, a: a, b: b}; - }); -var $rtfeldman$elm_css$Css$Structure$UniversalSelectorSequence = function (a) { - return {$: 1, a: a}; -}; -var $rtfeldman$elm_css$Css$Structure$appendRepeatable = F2( - function (selector, sequence) { - switch (sequence.$) { - case 0: - var typeSelector = sequence.a; - var list = sequence.b; - return A2( - $rtfeldman$elm_css$Css$Structure$TypeSelectorSequence, - typeSelector, - _Utils_ap( - list, - _List_fromArray( - [selector]))); - case 1: - var list = sequence.a; - return $rtfeldman$elm_css$Css$Structure$UniversalSelectorSequence( - _Utils_ap( - list, - _List_fromArray( - [selector]))); - default: - var str = sequence.a; - var list = sequence.b; - return A2( - $rtfeldman$elm_css$Css$Structure$CustomSelector, - str, - _Utils_ap( - list, - _List_fromArray( - [selector]))); - } - }); -var $rtfeldman$elm_css$Css$Structure$appendRepeatableWithCombinator = F2( - function (selector, list) { - if (!list.b) { - return _List_Nil; - } else { - if (!list.b.b) { - var _v1 = list.a; - var combinator = _v1.a; - var sequence = _v1.b; - return _List_fromArray( - [ - _Utils_Tuple2( - combinator, - A2($rtfeldman$elm_css$Css$Structure$appendRepeatable, selector, sequence)) - ]); - } else { - var first = list.a; - var rest = list.b; - return A2( - $elm$core$List$cons, - first, - A2($rtfeldman$elm_css$Css$Structure$appendRepeatableWithCombinator, selector, rest)); - } - } - }); -var $rtfeldman$elm_css$Css$Structure$appendRepeatableSelector = F2( - function (repeatableSimpleSelector, selector) { - if (!selector.b.b) { - var sequence = selector.a; - var pseudoElement = selector.c; - return A3( - $rtfeldman$elm_css$Css$Structure$Selector, - A2($rtfeldman$elm_css$Css$Structure$appendRepeatable, repeatableSimpleSelector, sequence), - _List_Nil, - pseudoElement); - } else { - var firstSelector = selector.a; - var tuples = selector.b; - var pseudoElement = selector.c; - return A3( - $rtfeldman$elm_css$Css$Structure$Selector, - firstSelector, - A2($rtfeldman$elm_css$Css$Structure$appendRepeatableWithCombinator, repeatableSimpleSelector, tuples), - pseudoElement); - } - }); -var $rtfeldman$elm_css$Css$Structure$appendRepeatableToLastSelector = F2( - function (selector, styleBlock) { - return A2( - $rtfeldman$elm_css$Css$Structure$appendToLastSelector, - $rtfeldman$elm_css$Css$Structure$appendRepeatableSelector(selector), - styleBlock); - }); -var $rtfeldman$elm_css$Css$Preprocess$Resolve$collectSelectors = function (declarations) { - collectSelectors: - while (true) { - if (!declarations.b) { - return _List_Nil; - } else { - if (!declarations.a.$) { - var _v1 = declarations.a.a; - var firstSelector = _v1.a; - var otherSelectors = _v1.b; - var rest = declarations.b; - return _Utils_ap( - A2($elm$core$List$cons, firstSelector, otherSelectors), - $rtfeldman$elm_css$Css$Preprocess$Resolve$collectSelectors(rest)); - } else { - var rest = declarations.b; - var $temp$declarations = rest; - declarations = $temp$declarations; - continue collectSelectors; - } - } - } -}; -var $rtfeldman$elm_css$Css$Structure$DocumentRule = F5( - function (a, b, c, d, e) { - return {$: 3, a: a, b: b, c: c, d: d, e: e}; - }); -var $rtfeldman$elm_css$Css$Structure$concatMapLastStyleBlock = F2( - function (update, declarations) { - _v0$12: - while (true) { - if (!declarations.b) { - return declarations; - } else { - if (!declarations.b.b) { - switch (declarations.a.$) { - case 0: - var styleBlock = declarations.a.a; - return A2( - $elm$core$List$map, - $rtfeldman$elm_css$Css$Structure$StyleBlockDeclaration, - update(styleBlock)); - case 1: - if (declarations.a.b.b) { - if (!declarations.a.b.b.b) { - var _v1 = declarations.a; - var mediaQueries = _v1.a; - var _v2 = _v1.b; - var styleBlock = _v2.a; - return _List_fromArray( - [ - A2( - $rtfeldman$elm_css$Css$Structure$MediaRule, - mediaQueries, - update(styleBlock)) - ]); - } else { - var _v3 = declarations.a; - var mediaQueries = _v3.a; - var _v4 = _v3.b; - var first = _v4.a; - var rest = _v4.b; - var _v5 = A2( - $rtfeldman$elm_css$Css$Structure$concatMapLastStyleBlock, - update, - _List_fromArray( - [ - A2($rtfeldman$elm_css$Css$Structure$MediaRule, mediaQueries, rest) - ])); - if ((_v5.b && (_v5.a.$ === 1)) && (!_v5.b.b)) { - var _v6 = _v5.a; - var newMediaQueries = _v6.a; - var newStyleBlocks = _v6.b; - return _List_fromArray( - [ - A2( - $rtfeldman$elm_css$Css$Structure$MediaRule, - newMediaQueries, - A2($elm$core$List$cons, first, newStyleBlocks)) - ]); - } else { - var newDeclarations = _v5; - return newDeclarations; - } - } - } else { - break _v0$12; - } - case 2: - var _v7 = declarations.a; - var str = _v7.a; - var nestedDeclarations = _v7.b; - return _List_fromArray( - [ - A2( - $rtfeldman$elm_css$Css$Structure$SupportsRule, - str, - A2($rtfeldman$elm_css$Css$Structure$concatMapLastStyleBlock, update, nestedDeclarations)) - ]); - case 3: - var _v8 = declarations.a; - var str1 = _v8.a; - var str2 = _v8.b; - var str3 = _v8.c; - var str4 = _v8.d; - var styleBlock = _v8.e; - return A2( - $elm$core$List$map, - A4($rtfeldman$elm_css$Css$Structure$DocumentRule, str1, str2, str3, str4), - update(styleBlock)); - case 4: - return declarations; - case 5: - return declarations; - case 6: - return declarations; - case 7: - return declarations; - case 8: - return declarations; - default: - return declarations; - } - } else { - break _v0$12; - } - } - } - var first = declarations.a; - var rest = declarations.b; - return A2( - $elm$core$List$cons, - first, - A2($rtfeldman$elm_css$Css$Structure$concatMapLastStyleBlock, update, rest)); - }); -var $elm$core$String$cons = _String_cons; -var $robinheghan$murmur3$Murmur3$HashData = F4( - function (shift, seed, hash, charsProcessed) { - return {ac: charsProcessed, ah: hash, W: seed, an: shift}; - }); -var $robinheghan$murmur3$Murmur3$c1 = 3432918353; -var $robinheghan$murmur3$Murmur3$c2 = 461845907; -var $elm$core$Bitwise$and = _Bitwise_and; -var $elm$core$Bitwise$shiftLeftBy = _Bitwise_shiftLeftBy; -var $elm$core$Bitwise$shiftRightZfBy = _Bitwise_shiftRightZfBy; -var $robinheghan$murmur3$Murmur3$multiplyBy = F2( - function (b, a) { - return ((a & 65535) * b) + ((((a >>> 16) * b) & 65535) << 16); - }); -var $elm$core$Basics$neq = _Utils_notEqual; -var $elm$core$Bitwise$or = _Bitwise_or; -var $robinheghan$murmur3$Murmur3$rotlBy = F2( - function (b, a) { - return (a << b) | (a >>> (32 - b)); - }); -var $elm$core$Bitwise$xor = _Bitwise_xor; -var $robinheghan$murmur3$Murmur3$finalize = function (data) { - var acc = (!(!data.ah)) ? (data.W ^ A2( - $robinheghan$murmur3$Murmur3$multiplyBy, - $robinheghan$murmur3$Murmur3$c2, - A2( - $robinheghan$murmur3$Murmur3$rotlBy, - 15, - A2($robinheghan$murmur3$Murmur3$multiplyBy, $robinheghan$murmur3$Murmur3$c1, data.ah)))) : data.W; - var h0 = acc ^ data.ac; - var h1 = A2($robinheghan$murmur3$Murmur3$multiplyBy, 2246822507, h0 ^ (h0 >>> 16)); - var h2 = A2($robinheghan$murmur3$Murmur3$multiplyBy, 3266489909, h1 ^ (h1 >>> 13)); - return (h2 ^ (h2 >>> 16)) >>> 0; -}; -var $elm$core$String$foldl = _String_foldl; -var $robinheghan$murmur3$Murmur3$mix = F2( - function (h1, k1) { - return A2( - $robinheghan$murmur3$Murmur3$multiplyBy, - 5, - A2( - $robinheghan$murmur3$Murmur3$rotlBy, - 13, - h1 ^ A2( - $robinheghan$murmur3$Murmur3$multiplyBy, - $robinheghan$murmur3$Murmur3$c2, - A2( - $robinheghan$murmur3$Murmur3$rotlBy, - 15, - A2($robinheghan$murmur3$Murmur3$multiplyBy, $robinheghan$murmur3$Murmur3$c1, k1))))) + 3864292196; - }); -var $robinheghan$murmur3$Murmur3$hashFold = F2( - function (c, data) { - var res = data.ah | ((255 & $elm$core$Char$toCode(c)) << data.an); - var _v0 = data.an; - if (_v0 === 24) { - return { - ac: data.ac + 1, - ah: 0, - W: A2($robinheghan$murmur3$Murmur3$mix, data.W, res), - an: 0 - }; - } else { - return {ac: data.ac + 1, ah: res, W: data.W, an: data.an + 8}; - } - }); -var $robinheghan$murmur3$Murmur3$hashString = F2( - function (seed, str) { - return $robinheghan$murmur3$Murmur3$finalize( - A3( - $elm$core$String$foldl, - $robinheghan$murmur3$Murmur3$hashFold, - A4($robinheghan$murmur3$Murmur3$HashData, 0, seed, 0, 0), - str)); - }); -var $rtfeldman$elm_css$Hash$initialSeed = 15739; -var $elm$core$String$fromList = _String_fromList; -var $elm$core$Basics$negate = function (n) { - return -n; -}; -var $elm$core$Basics$modBy = _Basics_modBy; -var $rtfeldman$elm_hex$Hex$unsafeToDigit = function (num) { - unsafeToDigit: - while (true) { - switch (num) { - case 0: - return '0'; - case 1: - return '1'; - case 2: - return '2'; - case 3: - return '3'; - case 4: - return '4'; - case 5: - return '5'; - case 6: - return '6'; - case 7: - return '7'; - case 8: - return '8'; - case 9: - return '9'; - case 10: - return 'a'; - case 11: - return 'b'; - case 12: - return 'c'; - case 13: - return 'd'; - case 14: - return 'e'; - case 15: - return 'f'; - default: - var $temp$num = num; - num = $temp$num; - continue unsafeToDigit; - } - } -}; -var $rtfeldman$elm_hex$Hex$unsafePositiveToDigits = F2( - function (digits, num) { - unsafePositiveToDigits: - while (true) { - if (num < 16) { - return A2( - $elm$core$List$cons, - $rtfeldman$elm_hex$Hex$unsafeToDigit(num), - digits); - } else { - var $temp$digits = A2( - $elm$core$List$cons, - $rtfeldman$elm_hex$Hex$unsafeToDigit( - A2($elm$core$Basics$modBy, 16, num)), - digits), - $temp$num = (num / 16) | 0; - digits = $temp$digits; - num = $temp$num; - continue unsafePositiveToDigits; - } - } - }); -var $rtfeldman$elm_hex$Hex$toString = function (num) { - return $elm$core$String$fromList( - (num < 0) ? A2( - $elm$core$List$cons, - '-', - A2($rtfeldman$elm_hex$Hex$unsafePositiveToDigits, _List_Nil, -num)) : A2($rtfeldman$elm_hex$Hex$unsafePositiveToDigits, _List_Nil, num)); -}; -var $rtfeldman$elm_css$Hash$fromString = function (str) { - return A2( - $elm$core$String$cons, - '_', - $rtfeldman$elm_hex$Hex$toString( - A2($robinheghan$murmur3$Murmur3$hashString, $rtfeldman$elm_css$Hash$initialSeed, str))); -}; -var $elm$core$List$head = function (list) { - if (list.b) { - var x = list.a; - var xs = list.b; - return $elm$core$Maybe$Just(x); - } else { - return $elm$core$Maybe$Nothing; - } -}; -var $rtfeldman$elm_css$Css$Preprocess$Resolve$last = function (list) { - last: - while (true) { - if (!list.b) { - return $elm$core$Maybe$Nothing; - } else { - if (!list.b.b) { - var singleton = list.a; - return $elm$core$Maybe$Just(singleton); - } else { - var rest = list.b; - var $temp$list = rest; - list = $temp$list; - continue last; - } - } - } -}; -var $rtfeldman$elm_css$Css$Preprocess$Resolve$lastDeclaration = function (declarations) { - lastDeclaration: - while (true) { - if (!declarations.b) { - return $elm$core$Maybe$Nothing; - } else { - if (!declarations.b.b) { - var x = declarations.a; - return $elm$core$Maybe$Just( - _List_fromArray( - [x])); - } else { - var xs = declarations.b; - var $temp$declarations = xs; - declarations = $temp$declarations; - continue lastDeclaration; - } - } - } -}; -var $rtfeldman$elm_css$Css$Preprocess$Resolve$oneOf = function (maybes) { - oneOf: - while (true) { - if (!maybes.b) { - return $elm$core$Maybe$Nothing; - } else { - var maybe = maybes.a; - var rest = maybes.b; - if (maybe.$ === 1) { - var $temp$maybes = rest; - maybes = $temp$maybes; - continue oneOf; - } else { - return maybe; - } - } - } -}; -var $rtfeldman$elm_css$Css$Structure$FontFeatureValues = function (a) { - return {$: 9, a: a}; -}; -var $rtfeldman$elm_css$Css$Preprocess$Resolve$resolveFontFeatureValues = function (tuples) { - var expandTuples = function (tuplesToExpand) { - if (!tuplesToExpand.b) { - return _List_Nil; - } else { - var properties = tuplesToExpand.a; - var rest = tuplesToExpand.b; - return A2( - $elm$core$List$cons, - properties, - expandTuples(rest)); - } - }; - var newTuples = expandTuples(tuples); - return _List_fromArray( - [ - $rtfeldman$elm_css$Css$Structure$FontFeatureValues(newTuples) - ]); -}; -var $elm$core$List$singleton = function (value) { - return _List_fromArray( - [value]); -}; -var $rtfeldman$elm_css$Css$Structure$styleBlockToMediaRule = F2( - function (mediaQueries, declaration) { - if (!declaration.$) { - var styleBlock = declaration.a; - return A2( - $rtfeldman$elm_css$Css$Structure$MediaRule, - mediaQueries, - _List_fromArray( - [styleBlock])); - } else { - return declaration; - } - }); -var $elm$core$List$tail = function (list) { - if (list.b) { - var x = list.a; - var xs = list.b; - return $elm$core$Maybe$Just(xs); - } else { - return $elm$core$Maybe$Nothing; - } -}; -var $elm$core$List$takeReverse = F3( - function (n, list, kept) { - takeReverse: - while (true) { - if (n <= 0) { - return kept; - } else { - if (!list.b) { - return kept; - } else { - var x = list.a; - var xs = list.b; - var $temp$n = n - 1, - $temp$list = xs, - $temp$kept = A2($elm$core$List$cons, x, kept); - n = $temp$n; - list = $temp$list; - kept = $temp$kept; - continue takeReverse; - } - } - } - }); -var $elm$core$List$takeTailRec = F2( - function (n, list) { - return $elm$core$List$reverse( - A3($elm$core$List$takeReverse, n, list, _List_Nil)); - }); -var $elm$core$List$takeFast = F3( - function (ctr, n, list) { - if (n <= 0) { - return _List_Nil; - } else { - var _v0 = _Utils_Tuple2(n, list); - _v0$1: - while (true) { - _v0$5: - while (true) { - if (!_v0.b.b) { - return list; - } else { - if (_v0.b.b.b) { - switch (_v0.a) { - case 1: - break _v0$1; - case 2: - var _v2 = _v0.b; - var x = _v2.a; - var _v3 = _v2.b; - var y = _v3.a; - return _List_fromArray( - [x, y]); - case 3: - if (_v0.b.b.b.b) { - var _v4 = _v0.b; - var x = _v4.a; - var _v5 = _v4.b; - var y = _v5.a; - var _v6 = _v5.b; - var z = _v6.a; - return _List_fromArray( - [x, y, z]); - } else { - break _v0$5; - } - default: - if (_v0.b.b.b.b && _v0.b.b.b.b.b) { - var _v7 = _v0.b; - var x = _v7.a; - var _v8 = _v7.b; - var y = _v8.a; - var _v9 = _v8.b; - var z = _v9.a; - var _v10 = _v9.b; - var w = _v10.a; - var tl = _v10.b; - return (ctr > 1000) ? A2( - $elm$core$List$cons, - x, - A2( - $elm$core$List$cons, - y, - A2( - $elm$core$List$cons, - z, - A2( - $elm$core$List$cons, - w, - A2($elm$core$List$takeTailRec, n - 4, tl))))) : A2( - $elm$core$List$cons, - x, - A2( - $elm$core$List$cons, - y, - A2( - $elm$core$List$cons, - z, - A2( - $elm$core$List$cons, - w, - A3($elm$core$List$takeFast, ctr + 1, n - 4, tl))))); - } else { - break _v0$5; - } - } - } else { - if (_v0.a === 1) { - break _v0$1; - } else { - break _v0$5; - } - } - } - } - return list; - } - var _v1 = _v0.b; - var x = _v1.a; - return _List_fromArray( - [x]); - } - }); -var $elm$core$List$take = F2( - function (n, list) { - return A3($elm$core$List$takeFast, 0, n, list); - }); -var $rtfeldman$elm_css$Css$Preprocess$Resolve$toDocumentRule = F5( - function (str1, str2, str3, str4, declaration) { - if (!declaration.$) { - var structureStyleBlock = declaration.a; - return A5($rtfeldman$elm_css$Css$Structure$DocumentRule, str1, str2, str3, str4, structureStyleBlock); - } else { - return declaration; - } - }); -var $rtfeldman$elm_css$Css$Preprocess$Resolve$toMediaRule = F2( - function (mediaQueries, declaration) { - switch (declaration.$) { - case 0: - var structureStyleBlock = declaration.a; - return A2( - $rtfeldman$elm_css$Css$Structure$MediaRule, - mediaQueries, - _List_fromArray( - [structureStyleBlock])); - case 1: - var newMediaQueries = declaration.a; - var structureStyleBlocks = declaration.b; - return A2( - $rtfeldman$elm_css$Css$Structure$MediaRule, - _Utils_ap(mediaQueries, newMediaQueries), - structureStyleBlocks); - case 2: - var str = declaration.a; - var declarations = declaration.b; - return A2( - $rtfeldman$elm_css$Css$Structure$SupportsRule, - str, - A2( - $elm$core$List$map, - $rtfeldman$elm_css$Css$Preprocess$Resolve$toMediaRule(mediaQueries), - declarations)); - case 3: - var str1 = declaration.a; - var str2 = declaration.b; - var str3 = declaration.c; - var str4 = declaration.d; - var structureStyleBlock = declaration.e; - return A5($rtfeldman$elm_css$Css$Structure$DocumentRule, str1, str2, str3, str4, structureStyleBlock); - case 4: - return declaration; - case 5: - return declaration; - case 6: - return declaration; - case 7: - return declaration; - case 8: - return declaration; - default: - return declaration; - } - }); -var $rtfeldman$elm_css$Css$Preprocess$unwrapSnippet = function (_v0) { - var declarations = _v0; - return declarations; -}; -var $rtfeldman$elm_css$Css$Preprocess$Resolve$applyNestedStylesToLast = F4( - function (nestedStyles, rest, f, declarations) { - var withoutParent = function (decls) { - return A2( - $elm$core$Maybe$withDefault, - _List_Nil, - $elm$core$List$tail(decls)); - }; - var nextResult = A2( - $rtfeldman$elm_css$Css$Preprocess$Resolve$applyStyles, - rest, - A2( - $elm$core$Maybe$withDefault, - _List_Nil, - $rtfeldman$elm_css$Css$Preprocess$Resolve$lastDeclaration(declarations))); - var newDeclarations = function () { - var _v14 = _Utils_Tuple2( - $elm$core$List$head(nextResult), - $rtfeldman$elm_css$Css$Preprocess$Resolve$last(declarations)); - if ((!_v14.a.$) && (!_v14.b.$)) { - var nextResultParent = _v14.a.a; - var originalParent = _v14.b.a; - return _Utils_ap( - A2( - $elm$core$List$take, - $elm$core$List$length(declarations) - 1, - declarations), - _List_fromArray( - [ - (!_Utils_eq(originalParent, nextResultParent)) ? nextResultParent : originalParent - ])); - } else { - return declarations; - } - }(); - var insertStylesToNestedDecl = function (lastDecl) { - return $elm$core$List$concat( - A2( - $rtfeldman$elm_css$Css$Structure$mapLast, - $rtfeldman$elm_css$Css$Preprocess$Resolve$applyStyles(nestedStyles), - A2( - $elm$core$List$map, - $elm$core$List$singleton, - A2($rtfeldman$elm_css$Css$Structure$concatMapLastStyleBlock, f, lastDecl)))); - }; - var initialResult = A2( - $elm$core$Maybe$withDefault, - _List_Nil, - A2( - $elm$core$Maybe$map, - insertStylesToNestedDecl, - $rtfeldman$elm_css$Css$Preprocess$Resolve$lastDeclaration(declarations))); - return _Utils_ap( - newDeclarations, - _Utils_ap( - withoutParent(initialResult), - withoutParent(nextResult))); - }); -var $rtfeldman$elm_css$Css$Preprocess$Resolve$applyStyles = F2( - function (styles, declarations) { - if (!styles.b) { - return declarations; - } else { - switch (styles.a.$) { - case 0: - var property = styles.a.a; - var rest = styles.b; - return A2( - $rtfeldman$elm_css$Css$Preprocess$Resolve$applyStyles, - rest, - A2($rtfeldman$elm_css$Css$Structure$appendProperty, property, declarations)); - case 1: - var _v4 = styles.a; - var selector = _v4.a; - var nestedStyles = _v4.b; - var rest = styles.b; - return A4( - $rtfeldman$elm_css$Css$Preprocess$Resolve$applyNestedStylesToLast, - nestedStyles, - rest, - $rtfeldman$elm_css$Css$Structure$appendRepeatableToLastSelector(selector), - declarations); - case 2: - var _v5 = styles.a; - var selectorCombinator = _v5.a; - var snippets = _v5.b; - var rest = styles.b; - var chain = F2( - function (_v9, _v10) { - var originalSequence = _v9.a; - var originalTuples = _v9.b; - var originalPseudoElement = _v9.c; - var newSequence = _v10.a; - var newTuples = _v10.b; - var newPseudoElement = _v10.c; - return A3( - $rtfeldman$elm_css$Css$Structure$Selector, - originalSequence, - _Utils_ap( - originalTuples, - A2( - $elm$core$List$cons, - _Utils_Tuple2(selectorCombinator, newSequence), - newTuples)), - $rtfeldman$elm_css$Css$Preprocess$Resolve$oneOf( - _List_fromArray( - [newPseudoElement, originalPseudoElement]))); - }); - var expandDeclaration = function (declaration) { - switch (declaration.$) { - case 0: - var _v7 = declaration.a; - var firstSelector = _v7.a; - var otherSelectors = _v7.b; - var nestedStyles = _v7.c; - var newSelectors = A2( - $elm$core$List$concatMap, - function (originalSelector) { - return A2( - $elm$core$List$map, - chain(originalSelector), - A2($elm$core$List$cons, firstSelector, otherSelectors)); - }, - $rtfeldman$elm_css$Css$Preprocess$Resolve$collectSelectors(declarations)); - var newDeclarations = function () { - if (!newSelectors.b) { - return _List_Nil; - } else { - var first = newSelectors.a; - var remainder = newSelectors.b; - return _List_fromArray( - [ - $rtfeldman$elm_css$Css$Structure$StyleBlockDeclaration( - A3($rtfeldman$elm_css$Css$Structure$StyleBlock, first, remainder, _List_Nil)) - ]); - } - }(); - return A2($rtfeldman$elm_css$Css$Preprocess$Resolve$applyStyles, nestedStyles, newDeclarations); - case 1: - var mediaQueries = declaration.a; - var styleBlocks = declaration.b; - return A2($rtfeldman$elm_css$Css$Preprocess$Resolve$resolveMediaRule, mediaQueries, styleBlocks); - case 2: - var str = declaration.a; - var otherSnippets = declaration.b; - return A2($rtfeldman$elm_css$Css$Preprocess$Resolve$resolveSupportsRule, str, otherSnippets); - case 3: - var str1 = declaration.a; - var str2 = declaration.b; - var str3 = declaration.c; - var str4 = declaration.d; - var styleBlock = declaration.e; - return A2( - $elm$core$List$map, - A4($rtfeldman$elm_css$Css$Preprocess$Resolve$toDocumentRule, str1, str2, str3, str4), - $rtfeldman$elm_css$Css$Preprocess$Resolve$expandStyleBlock(styleBlock)); - case 4: - var properties = declaration.a; - return _List_fromArray( - [ - $rtfeldman$elm_css$Css$Structure$PageRule(properties) - ]); - case 5: - var properties = declaration.a; - return _List_fromArray( - [ - $rtfeldman$elm_css$Css$Structure$FontFace(properties) - ]); - case 6: - var properties = declaration.a; - return _List_fromArray( - [ - $rtfeldman$elm_css$Css$Structure$Viewport(properties) - ]); - case 7: - var properties = declaration.a; - return _List_fromArray( - [ - $rtfeldman$elm_css$Css$Structure$CounterStyle(properties) - ]); - default: - var tuples = declaration.a; - return $rtfeldman$elm_css$Css$Preprocess$Resolve$resolveFontFeatureValues(tuples); - } - }; - return $elm$core$List$concat( - _Utils_ap( - _List_fromArray( - [ - A2($rtfeldman$elm_css$Css$Preprocess$Resolve$applyStyles, rest, declarations) - ]), - A2( - $elm$core$List$map, - expandDeclaration, - A2($elm$core$List$concatMap, $rtfeldman$elm_css$Css$Preprocess$unwrapSnippet, snippets)))); - case 3: - var _v11 = styles.a; - var pseudoElement = _v11.a; - var nestedStyles = _v11.b; - var rest = styles.b; - return A4( - $rtfeldman$elm_css$Css$Preprocess$Resolve$applyNestedStylesToLast, - nestedStyles, - rest, - $rtfeldman$elm_css$Css$Structure$appendPseudoElementToLastSelector(pseudoElement), - declarations); - case 5: - var str = styles.a.a; - var rest = styles.b; - var name = $rtfeldman$elm_css$Hash$fromString(str); - var newProperty = 'animation-name:' + name; - var newDeclarations = A2( - $rtfeldman$elm_css$Css$Preprocess$Resolve$applyStyles, - rest, - A2($rtfeldman$elm_css$Css$Structure$appendProperty, newProperty, declarations)); - return A2( - $elm$core$List$append, - newDeclarations, - _List_fromArray( - [ - $rtfeldman$elm_css$Css$Structure$Keyframes( - {ct: str, cF: name}) - ])); - case 4: - var _v12 = styles.a; - var mediaQueries = _v12.a; - var nestedStyles = _v12.b; - var rest = styles.b; - var extraDeclarations = function () { - var _v13 = $rtfeldman$elm_css$Css$Preprocess$Resolve$collectSelectors(declarations); - if (!_v13.b) { - return _List_Nil; - } else { - var firstSelector = _v13.a; - var otherSelectors = _v13.b; - return A2( - $elm$core$List$map, - $rtfeldman$elm_css$Css$Structure$styleBlockToMediaRule(mediaQueries), - A2( - $rtfeldman$elm_css$Css$Preprocess$Resolve$applyStyles, - nestedStyles, - $elm$core$List$singleton( - $rtfeldman$elm_css$Css$Structure$StyleBlockDeclaration( - A3($rtfeldman$elm_css$Css$Structure$StyleBlock, firstSelector, otherSelectors, _List_Nil))))); - } - }(); - return _Utils_ap( - A2($rtfeldman$elm_css$Css$Preprocess$Resolve$applyStyles, rest, declarations), - extraDeclarations); - default: - var otherStyles = styles.a.a; - var rest = styles.b; - return A2( - $rtfeldman$elm_css$Css$Preprocess$Resolve$applyStyles, - _Utils_ap(otherStyles, rest), - declarations); - } - } - }); -var $rtfeldman$elm_css$Css$Preprocess$Resolve$expandStyleBlock = function (_v2) { - var firstSelector = _v2.a; - var otherSelectors = _v2.b; - var styles = _v2.c; - return A2( - $rtfeldman$elm_css$Css$Preprocess$Resolve$applyStyles, - styles, - _List_fromArray( - [ - $rtfeldman$elm_css$Css$Structure$StyleBlockDeclaration( - A3($rtfeldman$elm_css$Css$Structure$StyleBlock, firstSelector, otherSelectors, _List_Nil)) - ])); -}; -var $rtfeldman$elm_css$Css$Preprocess$Resolve$extract = function (snippetDeclarations) { - if (!snippetDeclarations.b) { - return _List_Nil; - } else { - var first = snippetDeclarations.a; - var rest = snippetDeclarations.b; - return _Utils_ap( - $rtfeldman$elm_css$Css$Preprocess$Resolve$toDeclarations(first), - $rtfeldman$elm_css$Css$Preprocess$Resolve$extract(rest)); - } -}; -var $rtfeldman$elm_css$Css$Preprocess$Resolve$resolveMediaRule = F2( - function (mediaQueries, styleBlocks) { - var handleStyleBlock = function (styleBlock) { - return A2( - $elm$core$List$map, - $rtfeldman$elm_css$Css$Preprocess$Resolve$toMediaRule(mediaQueries), - $rtfeldman$elm_css$Css$Preprocess$Resolve$expandStyleBlock(styleBlock)); - }; - return A2($elm$core$List$concatMap, handleStyleBlock, styleBlocks); - }); -var $rtfeldman$elm_css$Css$Preprocess$Resolve$resolveSupportsRule = F2( - function (str, snippets) { - var declarations = $rtfeldman$elm_css$Css$Preprocess$Resolve$extract( - A2($elm$core$List$concatMap, $rtfeldman$elm_css$Css$Preprocess$unwrapSnippet, snippets)); - return _List_fromArray( - [ - A2($rtfeldman$elm_css$Css$Structure$SupportsRule, str, declarations) - ]); - }); -var $rtfeldman$elm_css$Css$Preprocess$Resolve$toDeclarations = function (snippetDeclaration) { - switch (snippetDeclaration.$) { - case 0: - var styleBlock = snippetDeclaration.a; - return $rtfeldman$elm_css$Css$Preprocess$Resolve$expandStyleBlock(styleBlock); - case 1: - var mediaQueries = snippetDeclaration.a; - var styleBlocks = snippetDeclaration.b; - return A2($rtfeldman$elm_css$Css$Preprocess$Resolve$resolveMediaRule, mediaQueries, styleBlocks); - case 2: - var str = snippetDeclaration.a; - var snippets = snippetDeclaration.b; - return A2($rtfeldman$elm_css$Css$Preprocess$Resolve$resolveSupportsRule, str, snippets); - case 3: - var str1 = snippetDeclaration.a; - var str2 = snippetDeclaration.b; - var str3 = snippetDeclaration.c; - var str4 = snippetDeclaration.d; - var styleBlock = snippetDeclaration.e; - return A2( - $elm$core$List$map, - A4($rtfeldman$elm_css$Css$Preprocess$Resolve$toDocumentRule, str1, str2, str3, str4), - $rtfeldman$elm_css$Css$Preprocess$Resolve$expandStyleBlock(styleBlock)); - case 4: - var properties = snippetDeclaration.a; - return _List_fromArray( - [ - $rtfeldman$elm_css$Css$Structure$PageRule(properties) - ]); - case 5: - var properties = snippetDeclaration.a; - return _List_fromArray( - [ - $rtfeldman$elm_css$Css$Structure$FontFace(properties) - ]); - case 6: - var properties = snippetDeclaration.a; - return _List_fromArray( - [ - $rtfeldman$elm_css$Css$Structure$Viewport(properties) - ]); - case 7: - var properties = snippetDeclaration.a; - return _List_fromArray( - [ - $rtfeldman$elm_css$Css$Structure$CounterStyle(properties) - ]); - default: - var tuples = snippetDeclaration.a; - return $rtfeldman$elm_css$Css$Preprocess$Resolve$resolveFontFeatureValues(tuples); - } -}; -var $rtfeldman$elm_css$Css$Preprocess$Resolve$toStructure = function (_v0) { - var snippets = _v0.b9; - var namespaces = _v0.bU; - var imports = _v0.bQ; - var charset = _v0.bF; - var declarations = $rtfeldman$elm_css$Css$Preprocess$Resolve$extract( - A2($elm$core$List$concatMap, $rtfeldman$elm_css$Css$Preprocess$unwrapSnippet, snippets)); - return {bF: charset, cu: declarations, bQ: imports, bU: namespaces}; -}; -var $rtfeldman$elm_css$Css$Preprocess$Resolve$compile = function (sheet) { - return $rtfeldman$elm_css$Css$Structure$Output$prettyPrint( - $rtfeldman$elm_css$Css$Structure$compactStylesheet( - $rtfeldman$elm_css$Css$Preprocess$Resolve$toStructure(sheet))); -}; -var $rtfeldman$elm_css$Css$Preprocess$Snippet = $elm$core$Basics$identity; -var $rtfeldman$elm_css$Css$Preprocess$StyleBlock = F3( - function (a, b, c) { - return {$: 0, a: a, b: b, c: c}; - }); -var $rtfeldman$elm_css$Css$Preprocess$StyleBlockDeclaration = function (a) { - return {$: 0, a: a}; -}; -var $rtfeldman$elm_css$VirtualDom$Styled$makeSnippet = F2( - function (styles, sequence) { - var selector = A3($rtfeldman$elm_css$Css$Structure$Selector, sequence, _List_Nil, $elm$core$Maybe$Nothing); - return _List_fromArray( - [ - $rtfeldman$elm_css$Css$Preprocess$StyleBlockDeclaration( - A3($rtfeldman$elm_css$Css$Preprocess$StyleBlock, selector, _List_Nil, styles)) - ]); - }); -var $rtfeldman$elm_css$Css$Preprocess$stylesheet = function (snippets) { - return {bF: $elm$core$Maybe$Nothing, bQ: _List_Nil, bU: _List_Nil, b9: snippets}; -}; -var $rtfeldman$elm_css$Css$Structure$ClassSelector = function (a) { - return {$: 0, a: a}; -}; -var $rtfeldman$elm_css$VirtualDom$Styled$classnameStandin = '\u0007'; -var $rtfeldman$elm_css$VirtualDom$Styled$templateSelector = $rtfeldman$elm_css$Css$Structure$UniversalSelectorSequence( - _List_fromArray( - [ - $rtfeldman$elm_css$Css$Structure$ClassSelector($rtfeldman$elm_css$VirtualDom$Styled$classnameStandin) - ])); -var $rtfeldman$elm_css$VirtualDom$Styled$getCssTemplate = function (styles) { - if (!styles.b) { - return ''; - } else { - var otherwise = styles; - return $rtfeldman$elm_css$Css$Preprocess$Resolve$compile( - $rtfeldman$elm_css$Css$Preprocess$stylesheet( - _List_fromArray( - [ - A2($rtfeldman$elm_css$VirtualDom$Styled$makeSnippet, styles, $rtfeldman$elm_css$VirtualDom$Styled$templateSelector) - ]))); - } -}; -var $rtfeldman$elm_css$Html$Styled$Internal$css = function (styles) { - var cssTemplate = $rtfeldman$elm_css$VirtualDom$Styled$getCssTemplate(styles); - var classProperty = A2($elm$virtual_dom$VirtualDom$attribute, '', ''); - return A3($rtfeldman$elm_css$VirtualDom$Styled$Attribute, classProperty, true, cssTemplate); -}; -var $rtfeldman$elm_css$Html$Styled$styled = F4( - function (fn, styles, attrs, children) { - return A2( - fn, - A2( - $elm$core$List$cons, - $rtfeldman$elm_css$Html$Styled$Internal$css(styles), - attrs), - children); - }); -var $author$project$Main$coloredTextWBackground = F3( - function (fgColor, bgColor, string) { - return A4( - $rtfeldman$elm_css$Html$Styled$styled, - $rtfeldman$elm_css$Html$Styled$span, - _List_fromArray( - [ - $rtfeldman$elm_css$Css$color(fgColor), - $rtfeldman$elm_css$Css$backgroundColor(bgColor), - $rtfeldman$elm_css$Css$padding( - $rtfeldman$elm_css$Css$px(0)), - $rtfeldman$elm_css$Css$margin( - $rtfeldman$elm_css$Css$px(0)), - $rtfeldman$elm_css$Css$borderWidth( - $rtfeldman$elm_css$Css$px(0)) - ]), - _List_Nil, - _List_fromArray( - [ - $rtfeldman$elm_css$Html$Styled$text(string) - ])); - }); -var $rtfeldman$elm_css$Css$cssFunction = F2( - function (funcName, args) { - return funcName + ('(' + (A2($elm$core$String$join, ',', args) + ')')); - }); -var $rtfeldman$elm_css$Css$rgba = F4( - function (r, g, b, alpha) { - return { - aw: alpha, - ay: b, - A: 0, - aD: g, - aI: r, - D: A2( - $rtfeldman$elm_css$Css$cssFunction, - 'rgba', - _Utils_ap( - A2( - $elm$core$List$map, - $elm$core$String$fromInt, - _List_fromArray( - [r, g, b])), - _List_fromArray( - [ - $elm$core$String$fromFloat(alpha) - ]))) - }; - }); -var $author$project$Main$coloredText = F2( - function (fgColor, string) { - return A3( - $author$project$Main$coloredTextWBackground, - fgColor, - A4($rtfeldman$elm_css$Css$rgba, 0, 0, 0, 0), - string); - }); -var $rtfeldman$elm_css$Css$withPrecedingHash = function (str) { - return A2($elm$core$String$startsWith, '#', str) ? str : A2($elm$core$String$cons, '#', str); -}; -var $rtfeldman$elm_css$Css$erroneousHex = function (str) { - return { - aw: 1, - ay: 0, - A: 0, - aD: 0, - aI: 0, - D: $rtfeldman$elm_css$Css$withPrecedingHash(str) - }; -}; -var $elm$core$String$foldr = _String_foldr; -var $elm$core$String$toList = function (string) { - return A3($elm$core$String$foldr, $elm$core$List$cons, _List_Nil, string); -}; -var $elm$core$Basics$composeR = F3( - function (f, g, x) { - return g( - f(x)); - }); -var $elm$core$String$fromChar = function (_char) { - return A2($elm$core$String$cons, _char, ''); -}; -var $elm$core$Basics$pow = _Basics_pow; -var $rtfeldman$elm_hex$Hex$fromStringHelp = F3( - function (position, chars, accumulated) { - fromStringHelp: - while (true) { - if (!chars.b) { - return $elm$core$Result$Ok(accumulated); - } else { - var _char = chars.a; - var rest = chars.b; - switch (_char) { - case '0': - var $temp$position = position - 1, - $temp$chars = rest, - $temp$accumulated = accumulated; - position = $temp$position; - chars = $temp$chars; - accumulated = $temp$accumulated; - continue fromStringHelp; - case '1': - var $temp$position = position - 1, - $temp$chars = rest, - $temp$accumulated = accumulated + A2($elm$core$Basics$pow, 16, position); - position = $temp$position; - chars = $temp$chars; - accumulated = $temp$accumulated; - continue fromStringHelp; - case '2': - var $temp$position = position - 1, - $temp$chars = rest, - $temp$accumulated = accumulated + (2 * A2($elm$core$Basics$pow, 16, position)); - position = $temp$position; - chars = $temp$chars; - accumulated = $temp$accumulated; - continue fromStringHelp; - case '3': - var $temp$position = position - 1, - $temp$chars = rest, - $temp$accumulated = accumulated + (3 * A2($elm$core$Basics$pow, 16, position)); - position = $temp$position; - chars = $temp$chars; - accumulated = $temp$accumulated; - continue fromStringHelp; - case '4': - var $temp$position = position - 1, - $temp$chars = rest, - $temp$accumulated = accumulated + (4 * A2($elm$core$Basics$pow, 16, position)); - position = $temp$position; - chars = $temp$chars; - accumulated = $temp$accumulated; - continue fromStringHelp; - case '5': - var $temp$position = position - 1, - $temp$chars = rest, - $temp$accumulated = accumulated + (5 * A2($elm$core$Basics$pow, 16, position)); - position = $temp$position; - chars = $temp$chars; - accumulated = $temp$accumulated; - continue fromStringHelp; - case '6': - var $temp$position = position - 1, - $temp$chars = rest, - $temp$accumulated = accumulated + (6 * A2($elm$core$Basics$pow, 16, position)); - position = $temp$position; - chars = $temp$chars; - accumulated = $temp$accumulated; - continue fromStringHelp; - case '7': - var $temp$position = position - 1, - $temp$chars = rest, - $temp$accumulated = accumulated + (7 * A2($elm$core$Basics$pow, 16, position)); - position = $temp$position; - chars = $temp$chars; - accumulated = $temp$accumulated; - continue fromStringHelp; - case '8': - var $temp$position = position - 1, - $temp$chars = rest, - $temp$accumulated = accumulated + (8 * A2($elm$core$Basics$pow, 16, position)); - position = $temp$position; - chars = $temp$chars; - accumulated = $temp$accumulated; - continue fromStringHelp; - case '9': - var $temp$position = position - 1, - $temp$chars = rest, - $temp$accumulated = accumulated + (9 * A2($elm$core$Basics$pow, 16, position)); - position = $temp$position; - chars = $temp$chars; - accumulated = $temp$accumulated; - continue fromStringHelp; - case 'a': - var $temp$position = position - 1, - $temp$chars = rest, - $temp$accumulated = accumulated + (10 * A2($elm$core$Basics$pow, 16, position)); - position = $temp$position; - chars = $temp$chars; - accumulated = $temp$accumulated; - continue fromStringHelp; - case 'b': - var $temp$position = position - 1, - $temp$chars = rest, - $temp$accumulated = accumulated + (11 * A2($elm$core$Basics$pow, 16, position)); - position = $temp$position; - chars = $temp$chars; - accumulated = $temp$accumulated; - continue fromStringHelp; - case 'c': - var $temp$position = position - 1, - $temp$chars = rest, - $temp$accumulated = accumulated + (12 * A2($elm$core$Basics$pow, 16, position)); - position = $temp$position; - chars = $temp$chars; - accumulated = $temp$accumulated; - continue fromStringHelp; - case 'd': - var $temp$position = position - 1, - $temp$chars = rest, - $temp$accumulated = accumulated + (13 * A2($elm$core$Basics$pow, 16, position)); - position = $temp$position; - chars = $temp$chars; - accumulated = $temp$accumulated; - continue fromStringHelp; - case 'e': - var $temp$position = position - 1, - $temp$chars = rest, - $temp$accumulated = accumulated + (14 * A2($elm$core$Basics$pow, 16, position)); - position = $temp$position; - chars = $temp$chars; - accumulated = $temp$accumulated; - continue fromStringHelp; - case 'f': - var $temp$position = position - 1, - $temp$chars = rest, - $temp$accumulated = accumulated + (15 * A2($elm$core$Basics$pow, 16, position)); - position = $temp$position; - chars = $temp$chars; - accumulated = $temp$accumulated; - continue fromStringHelp; - default: - var nonHex = _char; - return $elm$core$Result$Err( - $elm$core$String$fromChar(nonHex) + ' is not a valid hexadecimal character.'); - } - } - } - }); -var $elm$core$Result$map = F2( - function (func, ra) { - if (!ra.$) { - var a = ra.a; - return $elm$core$Result$Ok( - func(a)); - } else { - var e = ra.a; - return $elm$core$Result$Err(e); - } - }); -var $elm$core$Result$mapError = F2( - function (f, result) { - if (!result.$) { - var v = result.a; - return $elm$core$Result$Ok(v); - } else { - var e = result.a; - return $elm$core$Result$Err( - f(e)); - } - }); -var $rtfeldman$elm_hex$Hex$fromString = function (str) { - if ($elm$core$String$isEmpty(str)) { - return $elm$core$Result$Err('Empty strings are not valid hexadecimal strings.'); - } else { - var result = function () { - if (A2($elm$core$String$startsWith, '-', str)) { - var list = A2( - $elm$core$Maybe$withDefault, - _List_Nil, - $elm$core$List$tail( - $elm$core$String$toList(str))); - return A2( - $elm$core$Result$map, - $elm$core$Basics$negate, - A3( - $rtfeldman$elm_hex$Hex$fromStringHelp, - $elm$core$List$length(list) - 1, - list, - 0)); - } else { - return A3( - $rtfeldman$elm_hex$Hex$fromStringHelp, - $elm$core$String$length(str) - 1, - $elm$core$String$toList(str), - 0); - } - }(); - var formatError = function (err) { - return A2( - $elm$core$String$join, - ' ', - _List_fromArray( - ['\"' + (str + '\"'), 'is not a valid hexadecimal string because', err])); - }; - return A2($elm$core$Result$mapError, formatError, result); - } -}; -var $elm$core$String$toLower = _String_toLower; -var $rtfeldman$elm_css$Css$validHex = F5( - function (str, _v0, _v1, _v2, _v3) { - var r1 = _v0.a; - var r2 = _v0.b; - var g1 = _v1.a; - var g2 = _v1.b; - var b1 = _v2.a; - var b2 = _v2.b; - var a1 = _v3.a; - var a2 = _v3.b; - var toResult = A2( - $elm$core$Basics$composeR, - $elm$core$String$fromList, - A2($elm$core$Basics$composeR, $elm$core$String$toLower, $rtfeldman$elm_hex$Hex$fromString)); - var results = _Utils_Tuple2( - _Utils_Tuple2( - toResult( - _List_fromArray( - [r1, r2])), - toResult( - _List_fromArray( - [g1, g2]))), - _Utils_Tuple2( - toResult( - _List_fromArray( - [b1, b2])), - toResult( - _List_fromArray( - [a1, a2])))); - if ((((!results.a.a.$) && (!results.a.b.$)) && (!results.b.a.$)) && (!results.b.b.$)) { - var _v5 = results.a; - var red = _v5.a.a; - var green = _v5.b.a; - var _v6 = results.b; - var blue = _v6.a.a; - var alpha = _v6.b.a; - return { - aw: alpha / 255, - ay: blue, - A: 0, - aD: green, - aI: red, - D: $rtfeldman$elm_css$Css$withPrecedingHash(str) - }; - } else { - return $rtfeldman$elm_css$Css$erroneousHex(str); - } - }); -var $rtfeldman$elm_css$Css$hex = function (str) { - var withoutHash = A2($elm$core$String$startsWith, '#', str) ? A2($elm$core$String$dropLeft, 1, str) : str; - var _v0 = $elm$core$String$toList(withoutHash); - _v0$4: - while (true) { - if ((_v0.b && _v0.b.b) && _v0.b.b.b) { - if (!_v0.b.b.b.b) { - var r = _v0.a; - var _v1 = _v0.b; - var g = _v1.a; - var _v2 = _v1.b; - var b = _v2.a; - return A5( - $rtfeldman$elm_css$Css$validHex, - str, - _Utils_Tuple2(r, r), - _Utils_Tuple2(g, g), - _Utils_Tuple2(b, b), - _Utils_Tuple2('f', 'f')); - } else { - if (!_v0.b.b.b.b.b) { - var r = _v0.a; - var _v3 = _v0.b; - var g = _v3.a; - var _v4 = _v3.b; - var b = _v4.a; - var _v5 = _v4.b; - var a = _v5.a; - return A5( - $rtfeldman$elm_css$Css$validHex, - str, - _Utils_Tuple2(r, r), - _Utils_Tuple2(g, g), - _Utils_Tuple2(b, b), - _Utils_Tuple2(a, a)); - } else { - if (_v0.b.b.b.b.b.b) { - if (!_v0.b.b.b.b.b.b.b) { - var r1 = _v0.a; - var _v6 = _v0.b; - var r2 = _v6.a; - var _v7 = _v6.b; - var g1 = _v7.a; - var _v8 = _v7.b; - var g2 = _v8.a; - var _v9 = _v8.b; - var b1 = _v9.a; - var _v10 = _v9.b; - var b2 = _v10.a; - return A5( - $rtfeldman$elm_css$Css$validHex, - str, - _Utils_Tuple2(r1, r2), - _Utils_Tuple2(g1, g2), - _Utils_Tuple2(b1, b2), - _Utils_Tuple2('f', 'f')); - } else { - if (_v0.b.b.b.b.b.b.b.b && (!_v0.b.b.b.b.b.b.b.b.b)) { - var r1 = _v0.a; - var _v11 = _v0.b; - var r2 = _v11.a; - var _v12 = _v11.b; - var g1 = _v12.a; - var _v13 = _v12.b; - var g2 = _v13.a; - var _v14 = _v13.b; - var b1 = _v14.a; - var _v15 = _v14.b; - var b2 = _v15.a; - var _v16 = _v15.b; - var a1 = _v16.a; - var _v17 = _v16.b; - var a2 = _v17.a; - return A5( - $rtfeldman$elm_css$Css$validHex, - str, - _Utils_Tuple2(r1, r2), - _Utils_Tuple2(g1, g2), - _Utils_Tuple2(b1, b2), - _Utils_Tuple2(a1, a2)); - } else { - break _v0$4; - } - } - } else { - break _v0$4; - } - } - } - } else { - break _v0$4; - } - } - return $rtfeldman$elm_css$Css$erroneousHex(str); -}; -var $author$project$Main$coreColor = function (color) { - switch (color) { - case 0: - return $rtfeldman$elm_css$Css$hex('e14433'); - case 1: - return $rtfeldman$elm_css$Css$hex('#359b54'); - case 2: - return $rtfeldman$elm_css$Css$hex('#a08016'); - case 3: - return $rtfeldman$elm_css$Css$hex('#5a77f2'); - case 4: - return $rtfeldman$elm_css$Css$hex('#cf2ec8'); - case 5: - return $rtfeldman$elm_css$Css$hex('1894a5'); - case 6: - return $rtfeldman$elm_css$Css$hex('#f36552'); - case 7: - return $rtfeldman$elm_css$Css$hex('#3db361'); - case 8: - return $rtfeldman$elm_css$Css$hex('#b9941a'); - case 9: - return $rtfeldman$elm_css$Css$hex('#7491f8'); - case 10: - return $rtfeldman$elm_css$Css$hex('#e54ede'); - default: - return $rtfeldman$elm_css$Css$hex('#1eabbf'); - } -}; -var $elm$core$String$endsWith = _String_endsWith; -var $elm$browser$Browser$Navigation$load = _Browser_load; -var $elm$core$Platform$Cmd$batch = _Platform_batch; -var $elm$core$Platform$Cmd$none = $elm$core$Platform$Cmd$batch(_List_Nil); -var $author$project$Main$Clear = 1; -var $author$project$Main$Cookies = 2; -var $author$project$Main$FontCommand = 3; -var $author$project$Main$Hello = 4; -var $author$project$Main$Help = 0; -var $author$project$Main$PromptCommand = 5; -var $author$project$Main$Theme = 6; -var $author$project$Main$Todo = 7; -var $elm$core$List$filter = F2( - function (isGood, list) { - return A3( - $elm$core$List$foldr, - F2( - function (x, xs) { - return isGood(x) ? A2($elm$core$List$cons, x, xs) : xs; - }), - _List_Nil, - list); - }); -var $elm$core$String$trim = _String_trim; -var $author$project$Main$parseInput = function (input) { - var tokens = A2( - $elm$core$List$map, - $elm$core$String$trim, - A2($elm$core$String$split, ' ', input)); - var command = function () { - var _v3 = $elm$core$List$head(tokens); - if (!_v3.$) { - switch (_v3.a) { - case 'help': - return $elm$core$Result$Ok(0); - case 'clear': - return $elm$core$Result$Ok(1); - case 'cookies': - return $elm$core$Result$Ok(2); - case 'font': - return $elm$core$Result$Ok(3); - case 'hello': - return $elm$core$Result$Ok(4); - case 'prompt': - return $elm$core$Result$Ok(5); - case 'theme': - return $elm$core$Result$Ok(6); - case 'todo': - return $elm$core$Result$Ok(7); - default: - var trimput = _v3.a; - return $elm$core$Result$Err(trimput); - } - } else { - return $elm$core$Result$Err('error in parseInput parsing tokens'); - } - }(); - var args = function () { - var _v2 = $elm$core$List$tail(tokens); - if (!_v2.$) { - var tail = _v2.a; - return $elm$core$Result$Ok( - A2( - $elm$core$List$filter, - $elm$core$Basics$neq(''), - tail)); - } else { - return $elm$core$Result$Err('error in parseInput parsing tokens'); - } - }(); - if (!args.$) { - var _arguments = args.a; - if (!command.$) { - var cmd = command.a; - return $elm$core$Result$Ok( - {a6: _arguments, ba: cmd}); - } else { - var err = command.a; - return $elm$core$Result$Err(err); - } - } else { - var err = args.a; - return $elm$core$Result$Err(err); - } -}; -var $elm$browser$Browser$Navigation$pushUrl = _Browser_pushUrl; -var $author$project$Main$listToString = function (list) { - return '[' + (A2($elm$core$String$join, ',', list) + ']'); -}; -var $author$project$Main$wrongArgs = F3( - function (command, expected, args) { - var comstr = function () { - switch (command) { - case 0: - return 'help'; - case 1: - return 'clear'; - case 2: - return 'cookies'; - case 3: - return 'font'; - case 4: - return 'hello'; - case 5: - return 'prompt'; - case 6: - return 'theme'; - default: - return 'todo'; - } - }(); - return _List_fromArray( - [ - $rtfeldman$elm_css$Html$Styled$text( - ((_Utils_cmp( - expected, - $elm$core$List$length(args)) > 0) ? ('\nToo few arguments for ' + comstr) : ((_Utils_cmp( - expected, - $elm$core$List$length(args)) < 0) ? ('\nToo many arguments for ' + comstr) : ('\nUnexpected arguments ' + $author$project$Main$listToString(args)))) + ('. Run `help ' + (comstr + '` for usage'))) - ]); - }); -var $author$project$Main$runClear = F2( - function (model, args) { - var _v0 = $elm$core$List$head(args); - if (_v0.$ === 1) { - return _Utils_update( - model, - {a: _List_Nil}); - } else { - var string = _v0.a; - return _Utils_update( - model, - { - a: _Utils_ap( - model.a, - A3($author$project$Main$wrongArgs, 1, 0, args)) - }); - } - }); -var $author$project$Main$boolToString = function (bool) { - if (bool) { - return 'True'; - } else { - return 'False'; - } -}; -var $author$project$Main$cookiesKeptToString = function (cookiesKept) { - return '{ keepFont = ' + ($author$project$Main$boolToString(cookiesKept.P) + ('\n, keepPrompt = ' + ($author$project$Main$boolToString(cookiesKept.Q) + ('\n, keepTheme = ' + ($author$project$Main$boolToString(cookiesKept.R) + '\n}'))))); -}; -var $elm$json$Json$Encode$bool = _Json_wrap; -var $elm$json$Json$Encode$float = _Json_wrap; -var $elm$json$Json$Encode$object = function (pairs) { - return _Json_wrap( - A3( - $elm$core$List$foldl, - F2( - function (_v0, obj) { - var k = _v0.a; - var v = _v0.b; - return A3(_Json_addField, k, v, obj); - }), - _Json_emptyObject(0), - pairs)); -}; -var $elm$json$Json$Encode$string = _Json_wrap; -var $author$project$Main$encodeModel = function (model) { - return $elm$json$Json$Encode$object( - _List_fromArray( - [ - _Utils_Tuple2( - 'theme', - $elm$json$Json$Encode$string( - function () { - var _v0 = model.as; - switch (_v0) { - case 0: - return 'Pit'; - case 1: - return 'Dim'; - case 2: - return 'Sky'; - default: - return 'Sun'; - } - }())), - _Utils_Tuple2( - 'font', - $elm$json$Json$Encode$object( - _List_fromArray( - [ - _Utils_Tuple2( - 'fontSize', - $elm$json$Json$Encode$float(model.t.o)) - ]))), - _Utils_Tuple2( - 'cookiesKept', - $elm$json$Json$Encode$object( - _List_fromArray( - [ - _Utils_Tuple2( - 'keepTheme', - $elm$json$Json$Encode$bool(model.n.R)), - _Utils_Tuple2( - 'keepFont', - $elm$json$Json$Encode$bool(model.n.P)), - _Utils_Tuple2( - 'keepPrompt', - $elm$json$Json$Encode$bool(model.n.Q)) - ]))), - _Utils_Tuple2( - 'prompt', - $elm$json$Json$Encode$object( - _List_fromArray( - [ - _Utils_Tuple2( - 'prompt', - $elm$json$Json$Encode$string(model.l.l)) - ]))) - ])); -}; -var $author$project$Main$setStorage = _Platform_outgoingPort('setStorage', $elm$core$Basics$identity); -var $author$project$Main$saveModel = function (model) { - return _Utils_Tuple2( - model, - $elm$core$Platform$Cmd$batch( - _List_fromArray( - [ - $author$project$Main$setStorage( - $author$project$Main$encodeModel(model)) - ]))); -}; -var $author$project$Main$runCookies = F2( - function (model, args) { - var _v0 = $elm$core$List$head(args); - if (_v0.$ === 1) { - var newModel = _Utils_update( - model, - { - a: _Utils_ap( - model.a, - _List_fromArray( - [ - $rtfeldman$elm_css$Html$Styled$text( - '\n' + $author$project$Main$cookiesKeptToString(model.n)) - ])) - }); - return _Utils_Tuple2( - newModel, - $elm$core$Platform$Cmd$batch( - _List_fromArray( - [ - $author$project$Main$setStorage( - $author$project$Main$encodeModel(newModel)) - ]))); - } else { - if (_v0.a === 'set') { - var third = function () { - var _v6 = $elm$core$List$tail(args); - if (!_v6.$) { - var tail = _v6.a; - var _v7 = $elm$core$List$tail(tail); - if (!_v7.$) { - var tail2 = _v7.a; - return A2( - $elm$core$Maybe$withDefault, - '', - $elm$core$List$head(tail2)); - } else { - return ''; - } - } else { - return ''; - } - }(); - var second = function () { - var _v5 = $elm$core$List$tail(args); - if (!_v5.$) { - var tail = _v5.a; - return A2( - $elm$core$Maybe$withDefault, - '', - $elm$core$List$head(tail)); - } else { - return ''; - } - }(); - var cookiesKept = model.n; - if (third === '') { - return _Utils_Tuple2( - _Utils_update( - model, - { - a: _Utils_ap( - model.a, - A3($author$project$Main$wrongArgs, 2, 3, args)) - }), - $elm$core$Platform$Cmd$none); - } else { - switch (second) { - case '': - return _Utils_Tuple2( - _Utils_update( - model, - { - a: _Utils_ap( - model.a, - A3($author$project$Main$wrongArgs, 2, 2, args)) - }), - $elm$core$Platform$Cmd$none); - case 'keepFont': - switch (third) { - case 'true': - return $author$project$Main$saveModel( - _Utils_update( - model, - { - n: _Utils_update( - cookiesKept, - {P: true}) - })); - case 'false': - return $author$project$Main$saveModel( - _Utils_update( - model, - { - n: _Utils_update( - cookiesKept, - {P: false}) - })); - default: - return _Utils_Tuple2( - _Utils_update( - model, - { - a: _Utils_ap( - model.a, - A3($author$project$Main$wrongArgs, 2, 3, args)) - }), - $elm$core$Platform$Cmd$none); - } - case 'keepTheme': - switch (third) { - case 'true': - return $author$project$Main$saveModel( - _Utils_update( - model, - { - n: _Utils_update( - cookiesKept, - {R: true}) - })); - case 'false': - return $author$project$Main$saveModel( - _Utils_update( - model, - { - n: _Utils_update( - cookiesKept, - {R: false}) - })); - default: - return _Utils_Tuple2( - _Utils_update( - model, - { - a: _Utils_ap( - model.a, - A3($author$project$Main$wrongArgs, 2, 3, args)) - }), - $elm$core$Platform$Cmd$none); - } - case 'keepPrompt': - switch (third) { - case 'true': - return $author$project$Main$saveModel( - _Utils_update( - model, - { - n: _Utils_update( - cookiesKept, - {Q: true}) - })); - case 'false': - return $author$project$Main$saveModel( - _Utils_update( - model, - { - n: _Utils_update( - cookiesKept, - {Q: false}) - })); - default: - return _Utils_Tuple2( - _Utils_update( - model, - { - a: _Utils_ap( - model.a, - A3($author$project$Main$wrongArgs, 2, 3, args)) - }), - $elm$core$Platform$Cmd$none); - } - default: - return _Utils_Tuple2( - _Utils_update( - model, - { - a: _Utils_ap( - model.a, - A3($author$project$Main$wrongArgs, 2, 2, args)) - }), - $elm$core$Platform$Cmd$none); - } - } - } else { - var string = _v0.a; - return _Utils_Tuple2( - _Utils_update( - model, - { - a: _Utils_ap( - model.a, - A3($author$project$Main$wrongArgs, 2, 1, args)) - }), - $elm$core$Platform$Cmd$none); - } - } - }); -var $elm$core$String$toFloat = _String_toFloat; -var $author$project$Main$runFont = F2( - function (model, args) { - var _v0 = $elm$core$List$head(args); - if (_v0.$ === 1) { - return _Utils_Tuple2( - _Utils_update( - model, - { - a: _Utils_ap( - model.a, - A3($author$project$Main$wrongArgs, 3, 1, args)) - }), - $elm$core$Platform$Cmd$none); - } else { - switch (_v0.a) { - case 'size': - var string = function () { - var _v3 = $elm$core$List$tail(args); - if (!_v3.$) { - var tail = _v3.a; - return A2( - $elm$core$Maybe$withDefault, - '', - $elm$core$List$head(tail)); - } else { - return ''; - } - }(); - var fl = $elm$core$String$toFloat(string); - if (!fl.$) { - var _float = fl.a; - if (_float > 0) { - var newModel = _Utils_update( - model, - { - a: _Utils_ap( - model.a, - _List_fromArray( - [ - $rtfeldman$elm_css$Html$Styled$text('\nfontSize successfully set to ' + (string + 'px')) - ])), - t: {o: _float} - }); - return $author$project$Main$saveModel(newModel); - } else { - return _Utils_Tuple2( - _Utils_update( - model, - { - a: _Utils_ap( - model.a, - _List_fromArray( - [ - $rtfeldman$elm_css$Html$Styled$text('\nPlease enter a valid fontSize, a Float greater than 0') - ])) - }), - $elm$core$Platform$Cmd$none); - } - } else { - switch (string) { - case '': - return _Utils_Tuple2( - _Utils_update( - model, - { - a: _Utils_ap( - model.a, - _List_fromArray( - [ - $rtfeldman$elm_css$Html$Styled$text( - '\nfontSize is ' + ($elm$core$String$fromFloat(model.t.o) + 'px')) - ])) - }), - $elm$core$Platform$Cmd$none); - case 'reset': - var newModel = _Utils_update( - model, - { - a: _Utils_ap( - model.a, - _List_fromArray( - [ - $rtfeldman$elm_css$Html$Styled$text('\nfontSize reset to 20px') - ])), - t: {o: 20} - }); - return $author$project$Main$saveModel(newModel); - default: - return _Utils_Tuple2( - _Utils_update( - model, - { - a: _Utils_ap( - model.a, - _List_fromArray( - [ - $rtfeldman$elm_css$Html$Styled$text('\nfontSize ' + (string + ' not recognised; font size expected')) - ])) - }), - $elm$core$Platform$Cmd$none); - } - } - case 'reset': - var newModel = _Utils_update( - model, - { - a: _Utils_ap( - model.a, - _List_fromArray( - [ - $rtfeldman$elm_css$Html$Styled$text('\nfontSize reset to 20px') - ])), - t: {o: 20} - }); - return _Utils_Tuple2( - newModel, - $elm$core$Platform$Cmd$batch( - _List_fromArray( - [ - $author$project$Main$setStorage( - $author$project$Main$encodeModel(newModel)) - ]))); - default: - var string = _v0.a; - return _Utils_Tuple2( - _Utils_update( - model, - { - a: _Utils_ap( - model.a, - A3($author$project$Main$wrongArgs, 3, 1, args)) - }), - $elm$core$Platform$Cmd$none); - } - } - }); -var $author$project$Main$runHello = F2( - function (model, args) { - var _v0 = $elm$core$List$head(args); - if (_v0.$ === 1) { - return _Utils_Tuple2( - _Utils_update( - model, - { - a: _Utils_ap( - model.a, - _List_fromArray( - [ - $rtfeldman$elm_css$Html$Styled$text('\nHello World!') - ])) - }), - $elm$core$Platform$Cmd$none); - } else { - return _Utils_Tuple2( - _Utils_update( - model, - { - a: _Utils_ap( - model.a, - A3($author$project$Main$wrongArgs, 4, 0, args)) - }), - $elm$core$Platform$Cmd$none); - } - }); -var $author$project$Main$runHelp = F2( - function (model, args) { - return _Utils_update( - model, - { - a: _Utils_ap( - model.a, - function () { - if ($elm$core$List$length(args) < 2) { - var _v0 = $elm$core$List$head(args); - if (_v0.$ === 1) { - return _List_fromArray( - [ - $rtfeldman$elm_css$Html$Styled$text('\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')))))))))) - ]); - } else { - switch (_v0.a) { - case 'help': - return _List_fromArray( - [ - $rtfeldman$elm_css$Html$Styled$text('\nhelp lists available commands with a short summary' + '\nhelp prints more information about ') - ]); - case 'clear': - return _List_fromArray( - [ - $rtfeldman$elm_css$Html$Styled$text('\nclear clears the screen') - ]); - case 'cookies': - return _List_fromArray( - [ - $rtfeldman$elm_css$Html$Styled$text('\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 _List_fromArray( - [ - $rtfeldman$elm_css$Html$Styled$text('\nhello prints `Hello World!`') - ]); - case 'font': - return _List_fromArray( - [ - $rtfeldman$elm_css$Html$Styled$text('\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 _List_fromArray( - [ - $rtfeldman$elm_css$Html$Styled$text('\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 _List_fromArray( - [ - $rtfeldman$elm_css$Html$Styled$text('\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 _List_fromArray( - [ - $rtfeldman$elm_css$Html$Styled$text('\ntodo prints aspirations for the site') - ]); - default: - var string = _v0.a; - return A3($author$project$Main$wrongArgs, 0, 1, args); - } - } - } else { - return A3($author$project$Main$wrongArgs, 0, 1, args); - } - }()) - }); - }); -var $author$project$Main$runPrompt = F2( - function (model, args) { - var _v0 = $elm$core$List$head(args); - if (_v0.$ === 1) { - return _Utils_Tuple2( - _Utils_update( - model, - { - a: _Utils_ap( - model.a, - _List_fromArray( - [ - $rtfeldman$elm_css$Html$Styled$text('\ncurrent prompt is ' + model.l.l) - ])) - }), - $elm$core$Platform$Cmd$none); - } else { - var string = _v0.a; - var oldPrompt = model.l; - return $author$project$Main$saveModel( - _Utils_update( - model, - { - l: _Utils_update( - oldPrompt, - {l: string}) - })); - } - }); -var $author$project$Main$setTheme = F2( - function (model, theme) { - var newModel = _Utils_update( - model, - {as: theme}); - return $author$project$Main$saveModel(newModel); - }); -var $author$project$Main$runTheme = F2( - function (model, args) { - var _v0 = $elm$core$List$head(args); - if (_v0.$ === 1) { - return _Utils_Tuple2( - _Utils_update( - model, - { - a: _Utils_ap( - model.a, - _List_fromArray( - [ - $rtfeldman$elm_css$Html$Styled$text( - '\nThe current theme is ' + function () { - var _v1 = model.as; - switch (_v1) { - case 3: - return 'sun'; - case 2: - return 'sky'; - case 1: - return 'dim'; - default: - return 'pit'; - } - }()) - ])) - }), - $elm$core$Platform$Cmd$none); - } else { - switch (_v0.a) { - case 'sun': - return A2($author$project$Main$setTheme, model, 3); - case 'sky': - return A2($author$project$Main$setTheme, model, 2); - case 'dim': - return A2($author$project$Main$setTheme, model, 1); - case 'pit': - return A2($author$project$Main$setTheme, model, 0); - default: - var string = _v0.a; - return _Utils_Tuple2( - _Utils_update( - model, - { - a: _Utils_ap( - model.a, - A3($author$project$Main$wrongArgs, 6, 1, args)) - }), - $elm$core$Platform$Cmd$none); - } - } - }); -var $author$project$Main$runTodo = F2( - function (model, args) { - var _v0 = $elm$core$List$head(args); - if (_v0.$ === 1) { - return _Utils_update( - model, - { - a: _Utils_ap( - model.a, - _List_fromArray( - [ - $rtfeldman$elm_css$Html$Styled$text('\n--Frontend' + ('\n- Implement colors throughout existing methods' + ('\n- Implement something like neofetch' + ('\n--Glue' + ('\n--Backend' + ('\n- Collect and store feedback in a database' + ('\n- Get an SSL certificate' + '\n- Support https'))))))) - ])) - }); - } else { - return _Utils_update( - model, - { - a: _Utils_ap( - model.a, - A3($author$project$Main$wrongArgs, 7, 0, args)) - }); - } - }); -var $author$project$Main$runCommand = F2( - function (model, input) { - if (!input.$) { - var args = input.a.a6; - var command = input.a.ba; - switch (command) { - case 0: - return _Utils_Tuple2( - A2($author$project$Main$runHelp, model, args), - $elm$core$Platform$Cmd$none); - case 1: - return _Utils_Tuple2( - A2($author$project$Main$runClear, model, args), - $elm$core$Platform$Cmd$none); - case 2: - return A2($author$project$Main$runCookies, model, args); - case 3: - return A2($author$project$Main$runFont, model, args); - case 4: - return A2($author$project$Main$runHello, model, args); - case 5: - return A2($author$project$Main$runPrompt, model, args); - case 6: - return A2($author$project$Main$runTheme, model, args); - default: - return _Utils_Tuple2( - A2($author$project$Main$runTodo, model, args), - $elm$core$Platform$Cmd$none); - } - } else { - if (input.a === '') { - return _Utils_Tuple2(model, $elm$core$Platform$Cmd$none); - } else { - var string = input.a; - return _Utils_Tuple2( - _Utils_update( - model, - { - a: _Utils_ap( - model.a, - _List_fromArray( - [ - $rtfeldman$elm_css$Html$Styled$text('\ncommand ' + (string + ' not recognised. Run `help` to find a valid command')) - ])) - }), - $elm$core$Platform$Cmd$none); - } - } - }); -var $elm$url$Url$addPort = F2( - function (maybePort, starter) { - if (maybePort.$ === 1) { - return starter; - } else { - var port_ = maybePort.a; - return starter + (':' + $elm$core$String$fromInt(port_)); - } - }); -var $elm$url$Url$addPrefixed = F3( - function (prefix, maybeSegment, starter) { - if (maybeSegment.$ === 1) { - return starter; - } else { - var segment = maybeSegment.a; - return _Utils_ap( - starter, - _Utils_ap(prefix, segment)); - } - }); -var $elm$url$Url$toString = function (url) { - var http = function () { - var _v0 = url.b0; - if (!_v0) { - return 'http://'; - } else { - return 'https://'; - } - }(); - return A3( - $elm$url$Url$addPrefixed, - '#', - url.bM, - A3( - $elm$url$Url$addPrefixed, - '?', - url.b1, - _Utils_ap( - A2( - $elm$url$Url$addPort, - url.bZ, - _Utils_ap(http, url.bP)), - url.bX))); -}; -var $author$project$Main$update = F2( - function (msg, model) { - switch (msg.$) { - case 0: - var urlRequest = msg.a; - if (!urlRequest.$) { - var url = urlRequest.a; - return _Utils_Tuple2( - model, - A2( - $elm$browser$Browser$Navigation$pushUrl, - model.be, - $elm$url$Url$toString(url))); - } else { - var href = urlRequest.a; - return _Utils_Tuple2( - model, - $elm$browser$Browser$Navigation$load(href)); - } - case 1: - var url = msg.a; - return _Utils_Tuple2( - _Utils_update( - model, - {br: url}), - $elm$core$Platform$Cmd$none); - case 2: - var string = msg.a; - return A2($elm$core$String$endsWith, '\n', string) ? A2( - $author$project$Main$runCommand, - _Utils_update( - model, - { - az: '', - a: _Utils_ap( - model.a, - _List_fromArray( - [ - $rtfeldman$elm_css$Html$Styled$text( - (!_Utils_eq(model.a, _List_Nil)) ? '\n' : ''), - A2( - $author$project$Main$coloredText, - $author$project$Main$coreColor(10), - model.l.l), - $rtfeldman$elm_css$Html$Styled$text( - $elm$core$String$trim(string)) - ])) - }), - $author$project$Main$parseInput(string)) : _Utils_Tuple2( - _Utils_update( - model, - {az: string}), - $elm$core$Platform$Cmd$none); - default: - return _Utils_Tuple2(model, $elm$core$Platform$Cmd$none); - } - }); -var $elm$json$Json$Decode$value = _Json_decodeValue; -var $elm$browser$Browser$Document = F2( - function (title, body) { - return {cr: body, cT: title}; - }); -var $rtfeldman$elm_css$VirtualDom$Styled$UnscopedStyles = function (a) { - return {$: 0, a: a}; -}; -var $elm$core$Dict$get = F2( - function (targetKey, dict) { - get: - while (true) { - if (dict.$ === -2) { - return $elm$core$Maybe$Nothing; - } else { - var key = dict.b; - var value = dict.c; - var left = dict.d; - var right = dict.e; - var _v1 = A2($elm$core$Basics$compare, targetKey, key); - switch (_v1) { - case 0: - var $temp$targetKey = targetKey, - $temp$dict = left; - targetKey = $temp$targetKey; - dict = $temp$dict; - continue get; - case 1: - return $elm$core$Maybe$Just(value); - default: - var $temp$targetKey = targetKey, - $temp$dict = right; - targetKey = $temp$targetKey; - dict = $temp$dict; - continue get; - } - } - } - }); -var $rtfeldman$elm_css$VirtualDom$Styled$accumulateStyles = F2( - function (_v0, styles) { - var isCssStyles = _v0.b; - var cssTemplate = _v0.c; - if (isCssStyles) { - var _v1 = A2($elm$core$Dict$get, cssTemplate, styles); - if (!_v1.$) { - return styles; - } else { - return A3( - $elm$core$Dict$insert, - cssTemplate, - $rtfeldman$elm_css$Hash$fromString(cssTemplate), - styles); - } - } else { - return styles; - } - }); -var $elm$virtual_dom$VirtualDom$property = F2( - function (key, value) { - return A2( - _VirtualDom_property, - _VirtualDom_noInnerHtmlOrFormAction(key), - _VirtualDom_noJavaScriptOrHtmlJson(value)); - }); -var $rtfeldman$elm_css$VirtualDom$Styled$extractUnstyledAttribute = F2( - function (styles, _v0) { - var val = _v0.a; - var isCssStyles = _v0.b; - var cssTemplate = _v0.c; - if (isCssStyles) { - var _v1 = A2($elm$core$Dict$get, cssTemplate, styles); - if (!_v1.$) { - var classname = _v1.a; - return A2( - $elm$virtual_dom$VirtualDom$property, - 'className', - $elm$json$Json$Encode$string(classname)); - } else { - return A2( - $elm$virtual_dom$VirtualDom$property, - 'className', - $elm$json$Json$Encode$string('_unstyled')); - } - } else { - return val; - } - }); -var $rtfeldman$elm_css$VirtualDom$Styled$extractUnstyledAttributeNS = F2( - function (styles, _v0) { - var val = _v0.a; - var isCssStyles = _v0.b; - var cssTemplate = _v0.c; - if (isCssStyles) { - var _v1 = A2($elm$core$Dict$get, cssTemplate, styles); - if (!_v1.$) { - var classname = _v1.a; - return A2($elm$virtual_dom$VirtualDom$attribute, 'class', classname); - } else { - return A2($elm$virtual_dom$VirtualDom$attribute, 'class', '_unstyled'); - } - } else { - return val; - } - }); -var $elm$virtual_dom$VirtualDom$keyedNode = function (tag) { - return _VirtualDom_keyedNode( - _VirtualDom_noScript(tag)); -}; -var $elm$virtual_dom$VirtualDom$keyedNodeNS = F2( - function (namespace, tag) { - return A2( - _VirtualDom_keyedNodeNS, - namespace, - _VirtualDom_noScript(tag)); - }); -var $elm$virtual_dom$VirtualDom$node = function (tag) { - return _VirtualDom_node( - _VirtualDom_noScript(tag)); -}; -var $elm$virtual_dom$VirtualDom$nodeNS = F2( - function (namespace, tag) { - return A2( - _VirtualDom_nodeNS, - namespace, - _VirtualDom_noScript(tag)); - }); -var $rtfeldman$elm_css$VirtualDom$Styled$accumulateKeyedStyledHtml = F2( - function (_v6, _v7) { - var key = _v6.a; - var html = _v6.b; - var pairs = _v7.a; - var styles = _v7.b; - switch (html.$) { - case 4: - var vdom = html.a; - return _Utils_Tuple2( - A2( - $elm$core$List$cons, - _Utils_Tuple2(key, vdom), - pairs), - styles); - case 0: - var elemType = html.a; - var properties = html.b; - var children = html.c; - var combinedStyles = A3($elm$core$List$foldl, $rtfeldman$elm_css$VirtualDom$Styled$accumulateStyles, styles, properties); - var _v9 = A3( - $elm$core$List$foldl, - $rtfeldman$elm_css$VirtualDom$Styled$accumulateStyledHtml, - _Utils_Tuple2(_List_Nil, combinedStyles), - children); - var childNodes = _v9.a; - var finalStyles = _v9.b; - var vdom = A3( - $elm$virtual_dom$VirtualDom$node, - elemType, - A2( - $elm$core$List$map, - $rtfeldman$elm_css$VirtualDom$Styled$extractUnstyledAttribute(finalStyles), - properties), - $elm$core$List$reverse(childNodes)); - return _Utils_Tuple2( - A2( - $elm$core$List$cons, - _Utils_Tuple2(key, vdom), - pairs), - finalStyles); - case 1: - var ns = html.a; - var elemType = html.b; - var properties = html.c; - var children = html.d; - var combinedStyles = A3($elm$core$List$foldl, $rtfeldman$elm_css$VirtualDom$Styled$accumulateStyles, styles, properties); - var _v10 = A3( - $elm$core$List$foldl, - $rtfeldman$elm_css$VirtualDom$Styled$accumulateStyledHtml, - _Utils_Tuple2(_List_Nil, combinedStyles), - children); - var childNodes = _v10.a; - var finalStyles = _v10.b; - var vdom = A4( - $elm$virtual_dom$VirtualDom$nodeNS, - ns, - elemType, - A2( - $elm$core$List$map, - $rtfeldman$elm_css$VirtualDom$Styled$extractUnstyledAttribute(finalStyles), - properties), - $elm$core$List$reverse(childNodes)); - return _Utils_Tuple2( - A2( - $elm$core$List$cons, - _Utils_Tuple2(key, vdom), - pairs), - finalStyles); - case 2: - var elemType = html.a; - var properties = html.b; - var children = html.c; - var combinedStyles = A3($elm$core$List$foldl, $rtfeldman$elm_css$VirtualDom$Styled$accumulateStyles, styles, properties); - var _v11 = A3( - $elm$core$List$foldl, - $rtfeldman$elm_css$VirtualDom$Styled$accumulateKeyedStyledHtml, - _Utils_Tuple2(_List_Nil, combinedStyles), - children); - var childNodes = _v11.a; - var finalStyles = _v11.b; - var vdom = A3( - $elm$virtual_dom$VirtualDom$keyedNode, - elemType, - A2( - $elm$core$List$map, - $rtfeldman$elm_css$VirtualDom$Styled$extractUnstyledAttribute(finalStyles), - properties), - $elm$core$List$reverse(childNodes)); - return _Utils_Tuple2( - A2( - $elm$core$List$cons, - _Utils_Tuple2(key, vdom), - pairs), - finalStyles); - default: - var ns = html.a; - var elemType = html.b; - var properties = html.c; - var children = html.d; - var combinedStyles = A3($elm$core$List$foldl, $rtfeldman$elm_css$VirtualDom$Styled$accumulateStyles, styles, properties); - var _v12 = A3( - $elm$core$List$foldl, - $rtfeldman$elm_css$VirtualDom$Styled$accumulateKeyedStyledHtml, - _Utils_Tuple2(_List_Nil, combinedStyles), - children); - var childNodes = _v12.a; - var finalStyles = _v12.b; - var vdom = A4( - $elm$virtual_dom$VirtualDom$keyedNodeNS, - ns, - elemType, - A2( - $elm$core$List$map, - $rtfeldman$elm_css$VirtualDom$Styled$extractUnstyledAttribute(finalStyles), - properties), - $elm$core$List$reverse(childNodes)); - return _Utils_Tuple2( - A2( - $elm$core$List$cons, - _Utils_Tuple2(key, vdom), - pairs), - finalStyles); - } - }); -var $rtfeldman$elm_css$VirtualDom$Styled$accumulateStyledHtml = F2( - function (html, _v0) { - var nodes = _v0.a; - var styles = _v0.b; - switch (html.$) { - case 4: - var vdomNode = html.a; - return _Utils_Tuple2( - A2($elm$core$List$cons, vdomNode, nodes), - styles); - case 0: - var elemType = html.a; - var properties = html.b; - var children = html.c; - var combinedStyles = A3($elm$core$List$foldl, $rtfeldman$elm_css$VirtualDom$Styled$accumulateStyles, styles, properties); - var _v2 = A3( - $elm$core$List$foldl, - $rtfeldman$elm_css$VirtualDom$Styled$accumulateStyledHtml, - _Utils_Tuple2(_List_Nil, combinedStyles), - children); - var childNodes = _v2.a; - var finalStyles = _v2.b; - var vdomNode = A3( - $elm$virtual_dom$VirtualDom$node, - elemType, - A2( - $elm$core$List$map, - $rtfeldman$elm_css$VirtualDom$Styled$extractUnstyledAttribute(finalStyles), - properties), - $elm$core$List$reverse(childNodes)); - return _Utils_Tuple2( - A2($elm$core$List$cons, vdomNode, nodes), - finalStyles); - case 1: - var ns = html.a; - var elemType = html.b; - var properties = html.c; - var children = html.d; - var combinedStyles = A3($elm$core$List$foldl, $rtfeldman$elm_css$VirtualDom$Styled$accumulateStyles, styles, properties); - var _v3 = A3( - $elm$core$List$foldl, - $rtfeldman$elm_css$VirtualDom$Styled$accumulateStyledHtml, - _Utils_Tuple2(_List_Nil, combinedStyles), - children); - var childNodes = _v3.a; - var finalStyles = _v3.b; - var vdomNode = A4( - $elm$virtual_dom$VirtualDom$nodeNS, - ns, - elemType, - A2( - $elm$core$List$map, - $rtfeldman$elm_css$VirtualDom$Styled$extractUnstyledAttributeNS(finalStyles), - properties), - $elm$core$List$reverse(childNodes)); - return _Utils_Tuple2( - A2($elm$core$List$cons, vdomNode, nodes), - finalStyles); - case 2: - var elemType = html.a; - var properties = html.b; - var children = html.c; - var combinedStyles = A3($elm$core$List$foldl, $rtfeldman$elm_css$VirtualDom$Styled$accumulateStyles, styles, properties); - var _v4 = A3( - $elm$core$List$foldl, - $rtfeldman$elm_css$VirtualDom$Styled$accumulateKeyedStyledHtml, - _Utils_Tuple2(_List_Nil, combinedStyles), - children); - var childNodes = _v4.a; - var finalStyles = _v4.b; - var vdomNode = A3( - $elm$virtual_dom$VirtualDom$keyedNode, - elemType, - A2( - $elm$core$List$map, - $rtfeldman$elm_css$VirtualDom$Styled$extractUnstyledAttribute(finalStyles), - properties), - $elm$core$List$reverse(childNodes)); - return _Utils_Tuple2( - A2($elm$core$List$cons, vdomNode, nodes), - finalStyles); - default: - var ns = html.a; - var elemType = html.b; - var properties = html.c; - var children = html.d; - var combinedStyles = A3($elm$core$List$foldl, $rtfeldman$elm_css$VirtualDom$Styled$accumulateStyles, styles, properties); - var _v5 = A3( - $elm$core$List$foldl, - $rtfeldman$elm_css$VirtualDom$Styled$accumulateKeyedStyledHtml, - _Utils_Tuple2(_List_Nil, combinedStyles), - children); - var childNodes = _v5.a; - var finalStyles = _v5.b; - var vdomNode = A4( - $elm$virtual_dom$VirtualDom$keyedNodeNS, - ns, - elemType, - A2( - $elm$core$List$map, - $rtfeldman$elm_css$VirtualDom$Styled$extractUnstyledAttributeNS(finalStyles), - properties), - $elm$core$List$reverse(childNodes)); - return _Utils_Tuple2( - A2($elm$core$List$cons, vdomNode, nodes), - finalStyles); - } - }); -var $elm$core$Dict$foldl = F3( - function (func, acc, dict) { - foldl: - while (true) { - if (dict.$ === -2) { - return acc; - } else { - var key = dict.b; - var value = dict.c; - var left = dict.d; - var right = dict.e; - var $temp$func = func, - $temp$acc = A3( - func, - key, - value, - A3($elm$core$Dict$foldl, func, acc, left)), - $temp$dict = right; - func = $temp$func; - acc = $temp$acc; - dict = $temp$dict; - continue foldl; - } - } - }); -var $elm$core$String$replace = F3( - function (before, after, string) { - return A2( - $elm$core$String$join, - after, - A2($elm$core$String$split, before, string)); - }); -var $rtfeldman$elm_css$VirtualDom$Styled$styleToDeclaration = F3( - function (template, classname, declaration) { - return declaration + ('\n' + A3($elm$core$String$replace, $rtfeldman$elm_css$VirtualDom$Styled$classnameStandin, classname, template)); - }); -var $rtfeldman$elm_css$VirtualDom$Styled$toDeclaration = function (dict) { - return A3($elm$core$Dict$foldl, $rtfeldman$elm_css$VirtualDom$Styled$styleToDeclaration, '', dict); -}; -var $rtfeldman$elm_css$VirtualDom$Styled$toScopedDeclaration = F2( - function (scopingPrefix, dict) { - return A3( - $elm$core$Dict$foldl, - F3( - function (template, classname, declaration) { - return declaration + ('\n' + A3($elm$core$String$replace, '.' + $rtfeldman$elm_css$VirtualDom$Styled$classnameStandin, '#' + (scopingPrefix + ('.' + classname)), template)); - }), - '', - dict); - }); -var $rtfeldman$elm_css$VirtualDom$Styled$toStyleNode = F2( - function (maybeNonce, accumulatedStyles) { - var cssText = function () { - if (!accumulatedStyles.$) { - var allStyles = accumulatedStyles.a; - return $rtfeldman$elm_css$VirtualDom$Styled$toDeclaration(allStyles); - } else { - var scope = accumulatedStyles.a; - var rootStyles = accumulatedStyles.b; - var descendantStyles = accumulatedStyles.c; - return A2($rtfeldman$elm_css$VirtualDom$Styled$toScopedDeclaration, scope, rootStyles) + ('\n' + A2($rtfeldman$elm_css$VirtualDom$Styled$toScopedDeclaration, scope + ' ', descendantStyles)); - } - }(); - return A3( - $elm$virtual_dom$VirtualDom$node, - 'span', - _List_fromArray( - [ - A2($elm$virtual_dom$VirtualDom$attribute, 'style', 'display: none;'), - A2($elm$virtual_dom$VirtualDom$attribute, 'class', 'elm-css-style-wrapper') - ]), - _List_fromArray( - [ - A3( - $elm$virtual_dom$VirtualDom$node, - 'style', - function () { - if (!maybeNonce.$) { - var nonce = maybeNonce.a; - return _List_fromArray( - [ - A2($elm$virtual_dom$VirtualDom$attribute, 'nonce', nonce) - ]); - } else { - return _List_Nil; - } - }(), - $elm$core$List$singleton( - $elm$virtual_dom$VirtualDom$text(cssText))) - ])); - }); -var $rtfeldman$elm_css$VirtualDom$Styled$unstyle = F4( - function (maybeNonce, elemType, properties, children) { - var initialStyles = A3($elm$core$List$foldl, $rtfeldman$elm_css$VirtualDom$Styled$accumulateStyles, $elm$core$Dict$empty, properties); - var _v0 = A3( - $elm$core$List$foldl, - $rtfeldman$elm_css$VirtualDom$Styled$accumulateStyledHtml, - _Utils_Tuple2(_List_Nil, initialStyles), - children); - var childNodes = _v0.a; - var styles = _v0.b; - var styleNode = A2( - $rtfeldman$elm_css$VirtualDom$Styled$toStyleNode, - maybeNonce, - $rtfeldman$elm_css$VirtualDom$Styled$UnscopedStyles(styles)); - var unstyledProperties = A2( - $elm$core$List$map, - $rtfeldman$elm_css$VirtualDom$Styled$extractUnstyledAttribute(styles), - properties); - return A3( - $elm$virtual_dom$VirtualDom$node, - elemType, - unstyledProperties, - A2( - $elm$core$List$cons, - styleNode, - $elm$core$List$reverse(childNodes))); - }); -var $rtfeldman$elm_css$VirtualDom$Styled$containsKey = F2( - function (key, pairs) { - containsKey: - while (true) { - if (!pairs.b) { - return false; - } else { - var _v1 = pairs.a; - var str = _v1.a; - var rest = pairs.b; - if (_Utils_eq(key, str)) { - return true; - } else { - var $temp$key = key, - $temp$pairs = rest; - key = $temp$key; - pairs = $temp$pairs; - continue containsKey; - } - } - } - }); -var $rtfeldman$elm_css$VirtualDom$Styled$getUnusedKey = F2( - function (_default, pairs) { - getUnusedKey: - while (true) { - if (!pairs.b) { - return _default; - } else { - var _v1 = pairs.a; - var firstKey = _v1.a; - var rest = pairs.b; - var newKey = '_' + firstKey; - if (A2($rtfeldman$elm_css$VirtualDom$Styled$containsKey, newKey, rest)) { - var $temp$default = newKey, - $temp$pairs = rest; - _default = $temp$default; - pairs = $temp$pairs; - continue getUnusedKey; - } else { - return newKey; - } - } - } - }); -var $rtfeldman$elm_css$VirtualDom$Styled$toKeyedStyleNode = F3( - function (maybeNonce, accumulatedStyles, keyedChildNodes) { - var styleNodeKey = A2($rtfeldman$elm_css$VirtualDom$Styled$getUnusedKey, '_', keyedChildNodes); - var finalNode = A2($rtfeldman$elm_css$VirtualDom$Styled$toStyleNode, maybeNonce, accumulatedStyles); - return _Utils_Tuple2(styleNodeKey, finalNode); - }); -var $rtfeldman$elm_css$VirtualDom$Styled$unstyleKeyed = F4( - function (maybeNonce, elemType, properties, keyedChildren) { - var initialStyles = A3($elm$core$List$foldl, $rtfeldman$elm_css$VirtualDom$Styled$accumulateStyles, $elm$core$Dict$empty, properties); - var _v0 = A3( - $elm$core$List$foldl, - $rtfeldman$elm_css$VirtualDom$Styled$accumulateKeyedStyledHtml, - _Utils_Tuple2(_List_Nil, initialStyles), - keyedChildren); - var keyedChildNodes = _v0.a; - var styles = _v0.b; - var keyedStyleNode = A3( - $rtfeldman$elm_css$VirtualDom$Styled$toKeyedStyleNode, - maybeNonce, - $rtfeldman$elm_css$VirtualDom$Styled$UnscopedStyles(styles), - keyedChildNodes); - var unstyledProperties = A2( - $elm$core$List$map, - $rtfeldman$elm_css$VirtualDom$Styled$extractUnstyledAttribute(styles), - properties); - return A3( - $elm$virtual_dom$VirtualDom$keyedNode, - elemType, - unstyledProperties, - A2( - $elm$core$List$cons, - keyedStyleNode, - $elm$core$List$reverse(keyedChildNodes))); - }); -var $rtfeldman$elm_css$VirtualDom$Styled$unstyleKeyedNS = F5( - function (maybeNonce, ns, elemType, properties, keyedChildren) { - var initialStyles = A3($elm$core$List$foldl, $rtfeldman$elm_css$VirtualDom$Styled$accumulateStyles, $elm$core$Dict$empty, properties); - var _v0 = A3( - $elm$core$List$foldl, - $rtfeldman$elm_css$VirtualDom$Styled$accumulateKeyedStyledHtml, - _Utils_Tuple2(_List_Nil, initialStyles), - keyedChildren); - var keyedChildNodes = _v0.a; - var styles = _v0.b; - var keyedStyleNode = A3( - $rtfeldman$elm_css$VirtualDom$Styled$toKeyedStyleNode, - maybeNonce, - $rtfeldman$elm_css$VirtualDom$Styled$UnscopedStyles(styles), - keyedChildNodes); - var unstyledProperties = A2( - $elm$core$List$map, - $rtfeldman$elm_css$VirtualDom$Styled$extractUnstyledAttributeNS(styles), - properties); - return A4( - $elm$virtual_dom$VirtualDom$keyedNodeNS, - ns, - elemType, - unstyledProperties, - A2( - $elm$core$List$cons, - keyedStyleNode, - $elm$core$List$reverse(keyedChildNodes))); - }); -var $rtfeldman$elm_css$VirtualDom$Styled$unstyleNS = F5( - function (maybeNonce, ns, elemType, properties, children) { - var initialStyles = A3($elm$core$List$foldl, $rtfeldman$elm_css$VirtualDom$Styled$accumulateStyles, $elm$core$Dict$empty, properties); - var _v0 = A3( - $elm$core$List$foldl, - $rtfeldman$elm_css$VirtualDom$Styled$accumulateStyledHtml, - _Utils_Tuple2(_List_Nil, initialStyles), - children); - var childNodes = _v0.a; - var styles = _v0.b; - var styleNode = A2( - $rtfeldman$elm_css$VirtualDom$Styled$toStyleNode, - maybeNonce, - $rtfeldman$elm_css$VirtualDom$Styled$UnscopedStyles(styles)); - var unstyledProperties = A2( - $elm$core$List$map, - $rtfeldman$elm_css$VirtualDom$Styled$extractUnstyledAttributeNS(styles), - properties); - return A4( - $elm$virtual_dom$VirtualDom$nodeNS, - ns, - elemType, - unstyledProperties, - A2( - $elm$core$List$cons, - styleNode, - $elm$core$List$reverse(childNodes))); - }); -var $rtfeldman$elm_css$VirtualDom$Styled$toUnstyled = function (vdom) { - switch (vdom.$) { - case 4: - var plainNode = vdom.a; - return plainNode; - case 0: - var elemType = vdom.a; - var properties = vdom.b; - var children = vdom.c; - return A4($rtfeldman$elm_css$VirtualDom$Styled$unstyle, $elm$core$Maybe$Nothing, elemType, properties, children); - case 1: - var ns = vdom.a; - var elemType = vdom.b; - var properties = vdom.c; - var children = vdom.d; - return A5($rtfeldman$elm_css$VirtualDom$Styled$unstyleNS, $elm$core$Maybe$Nothing, ns, elemType, properties, children); - case 2: - var elemType = vdom.a; - var properties = vdom.b; - var children = vdom.c; - return A4($rtfeldman$elm_css$VirtualDom$Styled$unstyleKeyed, $elm$core$Maybe$Nothing, elemType, properties, children); - default: - var ns = vdom.a; - var elemType = vdom.b; - var properties = vdom.c; - var children = vdom.d; - return A5($rtfeldman$elm_css$VirtualDom$Styled$unstyleKeyedNS, $elm$core$Maybe$Nothing, ns, elemType, properties, children); - } -}; -var $rtfeldman$elm_css$Html$Styled$toUnstyled = $rtfeldman$elm_css$VirtualDom$Styled$toUnstyled; -var $author$project$Main$TakeInput = function (a) { - return {$: 2, a: a}; -}; -var $rtfeldman$elm_css$VirtualDom$Styled$property = F2( - function (key, value) { - return A3( - $rtfeldman$elm_css$VirtualDom$Styled$Attribute, - A2($elm$virtual_dom$VirtualDom$property, key, value), - false, - ''); - }); -var $rtfeldman$elm_css$Html$Styled$Attributes$stringProperty = F2( - function (key, string) { - return A2( - $rtfeldman$elm_css$VirtualDom$Styled$property, - key, - $elm$json$Json$Encode$string(string)); - }); -var $rtfeldman$elm_css$Html$Styled$Attributes$id = $rtfeldman$elm_css$Html$Styled$Attributes$stringProperty('id'); -var $rtfeldman$elm_css$Html$Styled$Events$alwaysStop = function (x) { - return _Utils_Tuple2(x, true); -}; -var $elm$virtual_dom$VirtualDom$MayStopPropagation = function (a) { - return {$: 1, a: a}; -}; -var $elm$virtual_dom$VirtualDom$on = _VirtualDom_on; -var $rtfeldman$elm_css$VirtualDom$Styled$on = F2( - function (eventName, handler) { - return A3( - $rtfeldman$elm_css$VirtualDom$Styled$Attribute, - A2($elm$virtual_dom$VirtualDom$on, eventName, handler), - false, - ''); - }); -var $rtfeldman$elm_css$Html$Styled$Events$stopPropagationOn = F2( - function (event, decoder) { - return A2( - $rtfeldman$elm_css$VirtualDom$Styled$on, - event, - $elm$virtual_dom$VirtualDom$MayStopPropagation(decoder)); - }); -var $rtfeldman$elm_css$Html$Styled$Events$targetValue = A2( - $elm$json$Json$Decode$at, - _List_fromArray( - ['target', 'value']), - $elm$json$Json$Decode$string); -var $rtfeldman$elm_css$Html$Styled$Events$onInput = function (tagger) { - return A2( - $rtfeldman$elm_css$Html$Styled$Events$stopPropagationOn, - 'input', - A2( - $elm$json$Json$Decode$map, - $rtfeldman$elm_css$Html$Styled$Events$alwaysStop, - A2($elm$json$Json$Decode$map, tagger, $rtfeldman$elm_css$Html$Styled$Events$targetValue))); -}; -var $author$project$Main$Background = 0; -var $author$project$Main$Foreground = 1; -var $rtfeldman$elm_css$Html$Styled$main_ = $rtfeldman$elm_css$Html$Styled$node('main'); -var $rtfeldman$elm_css$Css$minHeight = $rtfeldman$elm_css$Css$prop1('min-height'); -var $author$project$Main$White = 4; -var $author$project$Main$themeColor = F2( - function (model, color) { - themeColor: - while (true) { - var _v0 = model.as; - switch (_v0) { - case 0: - switch (color) { - case 0: - return $rtfeldman$elm_css$Css$hex('#120211'); - case 1: - return $rtfeldman$elm_css$Css$hex('#f3d9f0'); - case 2: - var $temp$model = model, - $temp$color = 4; - model = $temp$model; - color = $temp$color; - continue themeColor; - case 3: - return $rtfeldman$elm_css$Css$hex('#380e36'); - case 4: - return $rtfeldman$elm_css$Css$hex('#e29edc'); - case 5: - return $rtfeldman$elm_css$Css$hex('#7c2b77'); - default: - return $rtfeldman$elm_css$Css$hex('#f9ecf7'); - } - case 1: - switch (color) { - case 0: - return $rtfeldman$elm_css$Css$hex('#380e36'); - case 1: - return $rtfeldman$elm_css$Css$hex('#f7e5f4'); - case 2: - var $temp$model = model, - $temp$color = 4; - model = $temp$model; - color = $temp$color; - continue themeColor; - case 3: - return $rtfeldman$elm_css$Css$hex('#5e1c56'); - case 4: - return $rtfeldman$elm_css$Css$hex('#e8b2e2'); - case 5: - return $rtfeldman$elm_css$Css$hex('#9d3c98'); - default: - return $rtfeldman$elm_css$Css$hex('#fbf4fa'); - } - case 2: - switch (color) { - case 0: - return $rtfeldman$elm_css$Css$hex('#f3d9f0'); - case 1: - return $rtfeldman$elm_css$Css$hex('#380e36'); - case 2: - var $temp$model = model, - $temp$color = 4; - model = $temp$model; - color = $temp$color; - continue themeColor; - case 3: - return $rtfeldman$elm_css$Css$hex('#eec6e9'); - case 4: - return $rtfeldman$elm_css$Css$hex('#7c2b77'); - case 5: - return $rtfeldman$elm_css$Css$hex('#d575cd'); - default: - return $rtfeldman$elm_css$Css$hex('#120211'); - } - default: - switch (color) { - case 0: - return $rtfeldman$elm_css$Css$hex('#f9ecf7'); - case 1: - return $rtfeldman$elm_css$Css$hex('#5a1c56'); - case 2: - var $temp$model = model, - $temp$color = 4; - model = $temp$model; - color = $temp$color; - continue themeColor; - case 3: - return $rtfeldman$elm_css$Css$hex('#f3d9f0'); - case 4: - return $rtfeldman$elm_css$Css$hex('#9d3c98'); - case 5: - return $rtfeldman$elm_css$Css$hex('#dc8ed5'); - default: - return $rtfeldman$elm_css$Css$hex('#380e36'); - } - } - } - }); -var $rtfeldman$elm_css$Css$VhUnits = 0; -var $rtfeldman$elm_css$Css$vh = A2($rtfeldman$elm_css$Css$Internal$lengthConverter, 0, 'vh'); -var $rtfeldman$elm_css$Css$VwUnits = 0; -var $rtfeldman$elm_css$Css$vw = A2($rtfeldman$elm_css$Css$Internal$lengthConverter, 0, 'vw'); -var $rtfeldman$elm_css$Css$width = $rtfeldman$elm_css$Css$prop1('width'); -var $author$project$Main$styledBody = function (model) { - return A2( - $rtfeldman$elm_css$Html$Styled$styled, - $rtfeldman$elm_css$Html$Styled$main_, - _List_fromArray( - [ - $rtfeldman$elm_css$Css$backgroundColor( - A2($author$project$Main$themeColor, model, 0)), - $rtfeldman$elm_css$Css$color( - A2($author$project$Main$themeColor, model, 1)), - $rtfeldman$elm_css$Css$minHeight( - $rtfeldman$elm_css$Css$vh(100)), - $rtfeldman$elm_css$Css$width( - $rtfeldman$elm_css$Css$vw(100)), - $rtfeldman$elm_css$Css$margin( - $rtfeldman$elm_css$Css$px(0)), - $rtfeldman$elm_css$Css$padding( - $rtfeldman$elm_css$Css$px(0)) - ])); -}; -var $rtfeldman$elm_css$Css$displayFlex = A2($rtfeldman$elm_css$Css$property, 'display', 'flex'); -var $rtfeldman$elm_css$Css$flexDirection = $rtfeldman$elm_css$Css$prop1('flex-direction'); -var $rtfeldman$elm_css$Css$flexStart = $rtfeldman$elm_css$Css$prop1('flex-start'); -var $rtfeldman$elm_css$Css$flexWrap = $rtfeldman$elm_css$Css$prop1('flex-wrap'); -var $rtfeldman$elm_css$Css$Preprocess$ApplyStyles = function (a) { - return {$: 6, a: a}; -}; -var $rtfeldman$elm_css$Css$Internal$property = F2( - function (key, value) { - return $rtfeldman$elm_css$Css$Preprocess$AppendProperty(key + (':' + value)); - }); -var $rtfeldman$elm_css$Css$Internal$getOverloadedProperty = F3( - function (functionName, desiredKey, style) { - getOverloadedProperty: - while (true) { - switch (style.$) { - case 0: - var str = style.a; - var key = A2( - $elm$core$Maybe$withDefault, - '', - $elm$core$List$head( - A2($elm$core$String$split, ':', str))); - return A2($rtfeldman$elm_css$Css$Internal$property, desiredKey, key); - case 1: - var selector = style.a; - return A2($rtfeldman$elm_css$Css$Internal$property, desiredKey, 'elm-css-error-cannot-apply-' + (functionName + '-with-inapplicable-Style-for-selector')); - case 2: - var combinator = style.a; - return A2($rtfeldman$elm_css$Css$Internal$property, desiredKey, 'elm-css-error-cannot-apply-' + (functionName + '-with-inapplicable-Style-for-combinator')); - case 3: - var pseudoElement = style.a; - return A2($rtfeldman$elm_css$Css$Internal$property, desiredKey, 'elm-css-error-cannot-apply-' + (functionName + '-with-inapplicable-Style-for-pseudo-element setter')); - case 4: - return A2($rtfeldman$elm_css$Css$Internal$property, desiredKey, 'elm-css-error-cannot-apply-' + (functionName + '-with-inapplicable-Style-for-media-query')); - case 5: - return A2($rtfeldman$elm_css$Css$Internal$property, desiredKey, 'elm-css-error-cannot-apply-' + (functionName + '-with-inapplicable-Style-for-keyframes')); - default: - if (!style.a.b) { - return A2($rtfeldman$elm_css$Css$Internal$property, desiredKey, 'elm-css-error-cannot-apply-' + (functionName + '-with-empty-Style')); - } else { - if (!style.a.b.b) { - var _v1 = style.a; - var only = _v1.a; - var $temp$functionName = functionName, - $temp$desiredKey = desiredKey, - $temp$style = only; - functionName = $temp$functionName; - desiredKey = $temp$desiredKey; - style = $temp$style; - continue getOverloadedProperty; - } else { - var _v2 = style.a; - var first = _v2.a; - var rest = _v2.b; - var $temp$functionName = functionName, - $temp$desiredKey = desiredKey, - $temp$style = $rtfeldman$elm_css$Css$Preprocess$ApplyStyles(rest); - functionName = $temp$functionName; - desiredKey = $temp$desiredKey; - style = $temp$style; - continue getOverloadedProperty; - } - } - } - } - }); -var $rtfeldman$elm_css$Css$Internal$IncompatibleUnits = 0; -var $rtfeldman$elm_css$Css$Internal$lengthForOverloadedProperty = A3($rtfeldman$elm_css$Css$Internal$lengthConverter, 0, '', 0); -var $rtfeldman$elm_css$Css$justifyContent = function (fn) { - return A3( - $rtfeldman$elm_css$Css$Internal$getOverloadedProperty, - 'justifyContent', - 'justify-content', - fn($rtfeldman$elm_css$Css$Internal$lengthForOverloadedProperty)); -}; -var $rtfeldman$elm_css$Css$noWrap = {aA: 0, aT: 0, D: 'nowrap', _: 0}; -var $rtfeldman$elm_css$Css$row = {bc: 0, aA: 0, D: 'row'}; -var $author$project$Main$styledCL = function (model) { - return A2( - $rtfeldman$elm_css$Html$Styled$styled, - $rtfeldman$elm_css$Html$Styled$span, - _List_fromArray( - [ - $rtfeldman$elm_css$Css$backgroundColor( - A2($author$project$Main$themeColor, model, 0)), - $rtfeldman$elm_css$Css$padding( - $rtfeldman$elm_css$Css$px(0)), - $rtfeldman$elm_css$Css$margin( - $rtfeldman$elm_css$Css$px(0)), - $rtfeldman$elm_css$Css$displayFlex, - $rtfeldman$elm_css$Css$flexDirection($rtfeldman$elm_css$Css$row), - $rtfeldman$elm_css$Css$flexWrap($rtfeldman$elm_css$Css$noWrap), - $rtfeldman$elm_css$Css$justifyContent($rtfeldman$elm_css$Css$flexStart) - ])); -}; -var $rtfeldman$elm_css$Css$flexGrow = $rtfeldman$elm_css$Css$prop1('flex-grow'); -var $rtfeldman$elm_css$Css$fontSize = $rtfeldman$elm_css$Css$prop1('font-size'); -var $rtfeldman$elm_css$Css$height = $rtfeldman$elm_css$Css$prop1('height'); -var $rtfeldman$elm_css$Css$hidden = {q: 0, am: 0, D: 'hidden', aP: 0}; -var $rtfeldman$elm_css$Css$UnitlessInteger = 0; -var $rtfeldman$elm_css$Css$int = function (val) { - return { - N: 0, - aU: 0, - T: 0, - B: 0, - aG: 0, - aW: 0, - J: val, - at: '', - aN: 0, - D: $elm$core$String$fromInt(val) - }; -}; -var $rtfeldman$elm_css$Css$none = {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'}; -var $rtfeldman$elm_css$Css$outlineWidth = $rtfeldman$elm_css$Css$prop1('outline-width'); -var $rtfeldman$elm_css$Css$overflow = $rtfeldman$elm_css$Css$prop1('overflow'); -var $rtfeldman$elm_css$Css$resize = $rtfeldman$elm_css$Css$prop1('resize'); -var $rtfeldman$elm_css$Html$Styled$textarea = $rtfeldman$elm_css$Html$Styled$node('textarea'); -var $author$project$Main$styledCLI = function (model) { - return A2( - $rtfeldman$elm_css$Html$Styled$styled, - $rtfeldman$elm_css$Html$Styled$textarea, - _List_fromArray( - [ - $rtfeldman$elm_css$Css$color( - A2($author$project$Main$themeColor, model, 1)), - $rtfeldman$elm_css$Css$fontSize( - $rtfeldman$elm_css$Css$px(model.t.o)), - $rtfeldman$elm_css$Css$padding( - $rtfeldman$elm_css$Css$px(0)), - $rtfeldman$elm_css$Css$margin( - $rtfeldman$elm_css$Css$px(0)), - $rtfeldman$elm_css$Css$backgroundColor( - A2($author$project$Main$themeColor, model, 0)), - $rtfeldman$elm_css$Css$borderWidth( - $rtfeldman$elm_css$Css$px(0)), - $rtfeldman$elm_css$Css$outlineWidth( - $rtfeldman$elm_css$Css$px(0)), - $rtfeldman$elm_css$Css$height( - $rtfeldman$elm_css$Css$px(model.t.o)), - $rtfeldman$elm_css$Css$resize($rtfeldman$elm_css$Css$none), - $rtfeldman$elm_css$Css$overflow($rtfeldman$elm_css$Css$hidden), - $rtfeldman$elm_css$Css$flexGrow( - $rtfeldman$elm_css$Css$int(100)) - ])); -}; -var $rtfeldman$elm_css$Css$fontFamily = $rtfeldman$elm_css$Css$prop1('font-family'); -var $rtfeldman$elm_css$Css$monospace = {M: 0, D: 'monospace'}; -var $rtfeldman$elm_css$Css$preWrap = {D: 'pre-wrap', _: 0}; -var $rtfeldman$elm_css$Css$whiteSpace = $rtfeldman$elm_css$Css$prop1('white-space'); -var $author$project$Main$styledContent = function (model) { - return A2( - $rtfeldman$elm_css$Html$Styled$styled, - $rtfeldman$elm_css$Html$Styled$span, - _List_fromArray( - [ - $rtfeldman$elm_css$Css$color( - A2($author$project$Main$themeColor, model, 1)), - $rtfeldman$elm_css$Css$fontSize( - $rtfeldman$elm_css$Css$px(model.t.o)), - $rtfeldman$elm_css$Css$padding( - $rtfeldman$elm_css$Css$px(0)), - $rtfeldman$elm_css$Css$margin( - $rtfeldman$elm_css$Css$px(0)), - $rtfeldman$elm_css$Css$backgroundColor( - A2($author$project$Main$themeColor, model, 0)), - $rtfeldman$elm_css$Css$borderWidth( - $rtfeldman$elm_css$Css$px(0)), - $rtfeldman$elm_css$Css$width( - $rtfeldman$elm_css$Css$vw(100)), - $rtfeldman$elm_css$Css$whiteSpace($rtfeldman$elm_css$Css$preWrap), - $rtfeldman$elm_css$Css$fontFamily($rtfeldman$elm_css$Css$monospace) - ])); -}; -var $author$project$Main$styledPrompt = function (model) { - return A2( - $rtfeldman$elm_css$Html$Styled$styled, - $rtfeldman$elm_css$Html$Styled$span, - _List_fromArray( - [ - $rtfeldman$elm_css$Css$color( - A2($author$project$Main$themeColor, model, 1)), - $rtfeldman$elm_css$Css$fontSize( - $rtfeldman$elm_css$Css$px(model.t.o)), - $rtfeldman$elm_css$Css$padding( - $rtfeldman$elm_css$Css$px(0)), - $rtfeldman$elm_css$Css$margin( - $rtfeldman$elm_css$Css$px(0)), - $rtfeldman$elm_css$Css$backgroundColor( - A2($author$project$Main$themeColor, model, 0)), - $rtfeldman$elm_css$Css$borderWidth( - $rtfeldman$elm_css$Css$px(0)), - $rtfeldman$elm_css$Css$height( - $rtfeldman$elm_css$Css$px(model.t.o)), - $rtfeldman$elm_css$Css$fontFamily($rtfeldman$elm_css$Css$monospace) - ])); -}; -var $rtfeldman$elm_css$Html$Styled$Attributes$value = $rtfeldman$elm_css$Html$Styled$Attributes$stringProperty('value'); -var $author$project$Main$viewBody = function (model) { - return A3( - $author$project$Main$styledBody, - model, - _List_Nil, - _List_fromArray( - [ - A3($author$project$Main$styledContent, model, _List_Nil, model.a), - A3( - $author$project$Main$styledCL, - model, - _List_Nil, - _List_fromArray( - [ - A3( - $author$project$Main$styledPrompt, - model, - _List_Nil, - _List_fromArray( - [ - A2( - $author$project$Main$coloredText, - $author$project$Main$coreColor(10), - model.l.l) - ])), - A3( - $author$project$Main$styledCLI, - model, - _List_fromArray( - [ - $rtfeldman$elm_css$Html$Styled$Events$onInput($author$project$Main$TakeInput), - $rtfeldman$elm_css$Html$Styled$Attributes$value(model.az), - $rtfeldman$elm_css$Html$Styled$Attributes$id('init-focus') - ]), - _List_Nil) - ])) - ])); -}; -var $author$project$Main$view = function (model) { - return A2( - $elm$browser$Browser$Document, - 'elmskell', - _List_fromArray( - [ - $rtfeldman$elm_css$Html$Styled$toUnstyled( - $author$project$Main$viewBody(model)) - ])); -}; -var $author$project$Main$main = $elm$browser$Browser$application( - {cB: $author$project$Main$init, cG: $author$project$Main$UrlChanged, cH: $author$project$Main$LinkClicked, cR: $author$project$Main$subscriptions, cU: $author$project$Main$update, cW: $author$project$Main$view}); -_Platform_export({'Main':{'init':$author$project$Main$main($elm$json$Json$Decode$value)(0)}});}(this)); \ No newline at end of file diff --git a/frontend/src/Main.elm b/frontend/src/Main.elm index 614d7bb..bc71b47 100644 --- a/frontend/src/Main.elm +++ b/frontend/src/Main.elm @@ -262,30 +262,33 @@ runCommand : Model -> Result String Input -> ( Model, Cmd Msg ) runCommand model input = case input of Ok { command, args } -> - case command of + (case command of Help -> - ( runHelp model args, Cmd.none ) + runHelp Clear -> - ( runClear model args, Cmd.none ) + runClear Cookies -> - runCookies model args + runCookies FontCommand -> - runFont model args + runFont Hello -> - runHello model args + runHello PromptCommand -> - runPrompt model args + runPrompt Theme -> - runTheme model args + runTheme Todo -> - ( runTodo model args, Cmd.none ) + runTodo + ) + model + args Err "" -> ( model, Cmd.none ) @@ -302,9 +305,13 @@ runCommand model input = -- COMMANDS -runHelp : Model -> List String -> Model +type alias CommandRunner = + Model -> List String -> ( Model, Cmd Msg ) + + +runHelp : CommandRunner runHelp model args = - { model + ( { model | content = model.content ++ (if List.length args < 2 then @@ -383,20 +390,24 @@ runHelp model args = else wrongArgs Help 1 args ) - } + } + , Cmd.none + ) -runClear : Model -> List String -> Model +runClear : CommandRunner runClear model args = - case List.head args of + ( case List.head args of Nothing -> { model | content = [] } Just string -> { model | content = model.content ++ wrongArgs Clear 0 args } + , Cmd.none + ) -runCookies : Model -> List String -> ( Model, Cmd Msg ) +runCookies : CommandRunner runCookies model args = case List.head args of Nothing -> @@ -482,7 +493,7 @@ runCookies model args = ( { model | content = model.content ++ wrongArgs Cookies 1 args }, Cmd.none ) -runHello : Model -> List String -> ( Model, Cmd Msg ) +runHello : CommandRunner runHello model args = case List.head args of Nothing -> @@ -492,7 +503,7 @@ runHello model args = ( { model | content = model.content ++ wrongArgs Hello 0 args }, Cmd.none ) -runFont : Model -> List String -> ( Model, Cmd Msg ) +runFont : CommandRunner runFont model args = case List.head args of Nothing -> @@ -588,7 +599,7 @@ runFont model args = ( { model | content = model.content ++ wrongArgs FontCommand 1 args }, Cmd.none ) -runPrompt : Model -> List String -> ( Model, Cmd Msg ) +runPrompt : CommandRunner runPrompt model args = case List.head args of Nothing -> @@ -602,7 +613,7 @@ runPrompt model args = saveModel { model | prompt = { oldPrompt | prompt = string } } -runTheme : Model -> List String -> ( Model, Cmd Msg ) +runTheme : CommandRunner runTheme model args = case List.head args of Nothing -> @@ -645,27 +656,34 @@ runTheme model args = ( { model | content = model.content ++ wrongArgs Theme 1 args }, Cmd.none ) -runTodo : Model -> List String -> Model +runTodo : CommandRunner runTodo model args = - case List.head args of + ( case List.head args of Nothing -> { model | content = model.content ++ [ text <| - "\n--Frontend" + "\nIn no particular order:" ++ "\n- Implement colors throughout existing methods" - ++ "\n- Implement something like neofetch" - ++ "\n--Glue" - ++ "\n--Backend" + ++ "\n- Something like Neofetch" ++ "\n- Collect and store feedback in a database" - ++ "\n- Get an SSL certificate" - ++ "\n- Support https" + ++ "\n- Create a style guide for programs involving console colors" + ++ "\n" + ++ "\nUpcoming commands to look forward to:" + ++ "\nfunfetch" + ++ "\ncolors test" + ++ "\ncolors set " + ++ "\ntheme save " + ++ "\ntheme load " + ++ "\nfeedback " ] } Just _ -> { model | content = model.content ++ wrongArgs Todo 0 args } + , Cmd.none + ) diff --git a/justfile b/justfile new file mode 100644 index 0000000..a908656 --- /dev/null +++ b/justfile @@ -0,0 +1,34 @@ +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 + +run: produce + stack exec ~/.local/bin/hs-server-exe + +haskell: + cd backend && stack install + +elm: + cd frontend && elm make src/Main.elm --output=../assets/js/main.js + rm -rf frontend/elm-stuff + +produce-elm: + cd frontend && elm make src/Main.elm --optimize --output=tmp.js + mv frontend/tmp.js assets/js/tmp.js + rm -rf frontend/elm-stuff + rm assets/js/main.js + esbuild assets/js/tmp.js --minify --target=es5 --outfile=assets/js/main.js + rm assets/js/tmp.js + +format-elm: + elm-format frontend/src/Main.elm --yes diff --git a/shell.nix b/shell.nix index e08dfc9..15e0b47 100644 --- a/shell.nix +++ b/shell.nix @@ -7,6 +7,9 @@ haskellInputs = [ pkgs.stack ]; + buildTools = [ + pkgs.just + ]; cliTools = [ pkgs.httpie pkgs.ungoogled-chromium @@ -16,6 +19,7 @@ in nativeBuildInputs = [ elmInputs haskellInputs + buildTools cliTools ]; }